Выявление грубых ошибок при воспроизведении видеофайлов

1. Методы выявления грубых ошибок

 

1.1 Обзор

 

Методы выявления грубых ошибок (ВГО) при воспроизведении видеофайлов предназначены для достижения независящего от платформы, автоматизированного способа измерения передачи содержания и для оценки эффективности воспроизведения видеофайлов.

 

ВГО работает непосредственно с видеофайлами, маркируя каждый кадр визуальными идентификаторами. Эти идентификаторы состоят из массива цветовых блоков, который кодирует порядковое число, отображающее заданный порядок представления. Чтобы произвести ВГО, видеофайл воспроизводится через тестируемую систему и результаты фиксируются. При анализе файла сбора данных, ВГО сравнивает полученные результаты с ожидаемой последовательностью порядковых чисел, чтобы определить, не были ли какие-нибудь файлы удалены, дублированы или представлены вне последовательности.

 

1.2 Кодирование ВГО

 

1.2.1 Средства измерения ВГО

 

При подготовке видеоматериала к выявлению грубых ошибок, ВГО заменяет часть видеоданных в каждом кадре. Область идентификатора кадра является прямоугольником, ограниченным левым верхним и нижним правым углами, и может размещаться в любом месте кадра. Область содержит массив цветовых блоков (или отдельный цвет), представляющий порядковое число для каждого кадра, полученного из кодека ВГО. Порядковые числа кадра начинаются с нуля и увеличиваются на единицу для каждого кадра. В процессе декодирования, ВГО просматривает цветовые блоки в пределах заданной области, чтобы определить закодированное порядковое число.

 

Алгоритм ВГО создает идентификаторы кадра из комбинаций максимальных и минимальных значений для каждого канала в указанном цветовом пространстве.

 

Эти значения представлены в виде углов в диаграмме полного цветового пространства:

 

 

Значения колеблются от наименее значимого до наиболее значимого канала. Для цветового пространства RGB порядком следования каналов является BGR, отражая наиболее общий порядок байтов для хранения этого формата. Для форматов YUV, ВГО использует YUV в качестве порядка следования каналов.

 

Например, для RGB24 используется следующая последовательность из 8 значений:



 

Каждый цвет в пространстве значений идентификатора кадра представлен своим порядковым числом. Как описано выше, для каждого кадра порядковые числа увеличиваются на единицу. Например, первый кадр в последовательности представлен черным цветом, в то время как третий кадр представлен зеленым. Использование только полностью насыщенных каналов для кодирования идентификаторов кадра дает ВГО возможность работать с различными уровнями снижения качества изображения, обусловленного сжатием, цифроаналоговым преобразованием и изменением цветового пространства.

 

Если номер кадра больше, чем доступная область идентификаторов кадра, выбранный идентификатор является коэффициентом номера кадра и определяет длину последовательности идентификаторов, согласно следующей формуле:

 

 

где «o» - порядковое число ВГО, «f» - текущий кадр исходного файла и «s» - величина последовательности идентификатора ВГО

 

Массивы составного идентификатора кадра могут быть созданы посредством выделения нескольких областей с последовательностью цветов ВГО. Массивы идентификаторов делят общий размер идентификатора запрашиваемого кадра по номеру определенных дополнительных маркеров. Для составных идентификаторов верхняя левая область представляет наименее значимую часть порядкового числа. Значимость порядкового числа возрастает от левого к правому и от верхнего к нижнему, в нижней правой области представлена наиболее значимая часть порядкового числа. Каждая область идентификатора кадра отображает однозначное число с основным номером, равным величине последовательности ВГО. Например, RGB24 является базой 8. Следующая диаграмма показывает составной идентификатор кадра ВГО:

 

 

Порядковое число, представленное составным идентификатором, определяется в соответствии со следующей формулой:

 

 

где «o» - порядковое число ВГО, «r» - общее количество областей, образующих составной идентификатор, «vn» - значение каждой индивидуальной области (слева направо и сверху вниз), и «s» - общее значение последовательности индивидуального идентификатора

 

Составные идентификаторы позволяют определить большие номера уникальных порядковых чисел кадра. Это обеспечивает более точные результаты для больших видеороликов. Например, последовательность, маркированная 8 уникальными идентификаторами кадра, может быть обнаружена максимум 7-ю последовательно удаленными кадрами, начиная с 8 кадра будет повторяться первое значение.

 

1.2.2 Размер и размещение идентификатора кадра

 

Идентификаторы кадра могут быть размещены в любом месте кадра. Верхний левый угол установлен по умолчанию. Однако в некоторых конфигурациях целесообразно убрать маркер из угла. Например, устройства видеозахвата могут обрезать или сжать контуры захваченного изображения. Новые координаты могут использоваться при проведении анализа, если процесс захвата изменяет местоположение или размер идентификаторов кадра.

 

Идентификаторы кадра ВГО должны составлять 5% от ширины видеоролика или больше, если цифроаналоговые преобразования являются частью тестируемой системы.

 

Например, для видеофайла в разрешении DVD (720 на 480 пикселей) должны использоваться блоки размером 36 на 36 пикселей и выше. Некоторые устройства видеозахвата, такие как видеокарты с ТВ-выходом начального уровня, могут внести в изображение существенные шумы и сжатие контура. Таким образом, для этих приложений необходимо использовать блоки большего размера. Следите за тем, чтобы размеры цветового блока были как можно меньше относительно разрешения видеофайла. Это позволит свести к минимуму влияние цветового блока на сжатие используемого кодека. Несмотря на то, что шаблон ВГО может охватить полностью весь кадр, делать этого не рекомендуется, поскольку полученные результаты могут отличаться от реальных. Кроме того, в таком случае будет сложно оценить степень влияния данной ошибки, которая напрямую связана с видеоконтентом, на конечного пользователя. (Например, отдельные вырезанные кадры могут быть более заметны в динамичных сценах или при быстром перемещении камеры.) Однако это может быть уместным в определенных ситуациях, когда требуется автоматическая генерация контента.

 

Следующая диаграмма описывает алгоритм реализации ВГО:

 

 

 

1.2.3 Управляющие кадры

 

Для составных последовательностей идентификаторов кадра последнее порядковое число в области высокого порядка зарезервировано для специальных управляющих кадров (т.е. белый для цветового пространства RGB24.) При обнаружении управляющего кадра оставшаяся часть идентификатора считается параметром, определяющим тип кадра и доступные опции.

 

ВГО определяет один управляющий кадр, запуск идентификатора последовательности. Дополнительные управляющие кадры зарезервированы для использования в специфических реализациях ВГО. Запуск идентификатора последовательности определяется только для идентификаторов размером не менее двух областей в ширину и двух областей в высоту. Самый правый столбец должен быть белым, тогда как оставшиеся колонки должны отличаться по принципу от наиболее до наименее значимых цветовых каналов в ряду. Следующая диаграмма демонстрирует запуск идентификатора последовательности для массива размером 3x3 в цветовом пространстве RGB24:

 

 

 

При обнаружении запуска идентификатора последовательности, ВГО сбрасывает на ноль последовательность порядковых чисел и увеличивает значение счетчика, обозначающего текущую последовательность. Запуск маркеров последовательности имеет две базовые функции. Первое, что нужно определить, – это рабочая область для операции сбора данных. Например, дополнительное содержимое может быть добавлено к началу исходного ролика для теста потокового видео, чтобы предоставить время для запуска процесса сбора данных. Маркеры запуска могут быть использованы для сигнала о запуске тестового содержимого, поэтому только эта область видеоролика отмечается ВГО. Данный процесс представлен на диаграмме:

 

 

 

 

Запуск идентификаторов последовательности позволяет объединить несколько видеороликов различных типов в один, больший тестовый ролик, который оценивается самостоятельно, как показано ниже:

 

 

Использование нескольких роликов различных типов содержания позволяет устойчивым видеотестам не ставить одну тестируемую систему выше другой.

 

1.2.4 Обработка видео с чересстрочной развёрткой

 

Операции ВГО определяются по кадру, исходя из каждого нового изменения цвета, а не развертки, в соответствующем сегменте изображения. При работе с чересстрочными форматами точность границы поля обеспечивается проверкой построчного сканирования, где произошла ошибка в захватываемом файле с построчной развёрткой. Этот метод поддерживает видеоформаты с более чем двумя вертикальными полями. Это также дает ВГО возможность работать одинаково как с построчным и чересстрочным контентом и технологиями отображения, упрощая преобразования между обоими типами и не заботясь о влиянии на последовательность ВГО.

 

1.3 Декодирование ВГО

 

1.3.1 Анализ ВГО

 

ВГО считывает подготовленные файлы мультимедиа, собирая образцы значений в пределах определенной области идентификатора кадра. Этот материал является типичным файлом захвата, в который записывается видео из тестируемой системы. Выбранные пиксели проверяются ВГО, чтобы определить, какой идентификатор кадра (при его наличии) представлен в заданной области.

 

Во время анализа процесса, ВГО отбирает запрашиваемую область тестовых роликов для последовательности идентификатора кадра. В ходе выполнения некоторых операций видеозахвата (например, при записи на диск непосредственно из видеопамяти) точное положение идентификатора кадра сохраняется, однако часто возникает необходимость коррекции координат между этапами кодирования и декодирования.

 

ВГО делит запрошенную область образца на заданное число подобластей (9 для массива 3x3), извлекая среднее арифметическое значение цвета в каждой подобласти:

 

 

 

где «v» - выборочное значение цвета, «xmin» - горизонтальный минимум, «xmax» - горизонтальный максимум, «ymin» - вертикальный минимум, «ymax» - вертикальный максимум и «с» - функция, которая возвращает значение цвета пикселя, указанного при его горизонтальном и вертикальном положении в буфере кадров

 

Заполнение контура вокруг каждой из подобластей может быть также установлено; обычно окантовка шириной один-два пикселя должна исключаться, чтобы свести к минимуму эффект размытия или падения яркости на среднее арифметическое значение цвета. Практический минимальный размер каждой области определяется следующими двумя формулами:

 

 

 

где «xmin» - горизонтальный минимум, «xmax» - горизонтальный максимум, «h» - число горизонтальных областей и «ph» - объем горизонтального заполнения

 

где «ymin» - горизонтальный минимум, «ymax» - горизонтальный максимум, «v» - число вертикальных областей и «pv» - объем вертикального заполнения

 

Следующая формула определяет выборочную проверку пикселей с заполнением контура:

 

 

 

где «v» - выборочное значение цвета, «xmin» - горизонтальный минимум, «xmax» - горизонтальный максимум, «ymin» - вертикальный минимум, «ymax» - вертикальный максимум, «ph» - объем горизонтального заполнения, «pv» - объем вертикального заполнения и «с» - функция, которая возвращает значение цвета пикселя, указанного при его горизонтальном и вертикальном положении в буфере кадров

 

После того, как получено среднее арифметическое значение цвета для каждой области, выбирается ближайшее соответствующее порядковое число на основе цвета таблицы порядковых чисел для указанного цветового пространства. Для составных последовательностей ближайшая операция сравнения выполняется для каждой области.

 

 

 

 

Следующая диаграмма описывает процедуру анализа ВГО:

 

 

 

1.3.2 Выявление ошибок

 

ВГО может обнаружить три типа ошибок на уровне кадра: удаленные, дублированные и выпадающие из последовательности видеокадры. Такие ошибки называют «грубыми». Таким образом, если кадры не входят в какую-нибудь из предыдущих категорий, они могут быть определены как «неизвестные». Ошибки определяются по отношению между декодированным порядковым числом текущего кадра и порядковым числом предыдущего кадра.

 

Поскольку предполагается, что порядковые числа будут увеличены на единицу для каждого кадра, порядковое число больше на единицу обозначает удаленные кадры:

 

 

 

где «d» - удаленные кадры, «f» - порядковое число текущего кадра и «p» - порядковое число предыдущего кадра

 

Если порядковое число текущего кадра равно порядковому числу предыдущего кадра, значит, кадр дублирован:

 

 

где «r» - дублированные кадры, «f» - порядковое число текущего кадра и «p» - порядковое число предыдущего кадра

 

Кадры, которые меньше предыдущего кадра, но не более чем на общую длину последовательности изображений, определяются как кадры вне последовательности:

 

 

где «о» - кадры вне последовательности, «f» - порядковое число текущего кадра, «p» - порядковое число предыдущего кадра и «s» - длина последовательности изображений

 

Кадры, которые больше предыдущего кадра, более чем на общую длину последовательности, или меньше текущего кадра более чем на общую длину последовательности, определяются как неизвестные:

 

где «u» - неизвестные кадры, «f» - порядковое число текущего кадра, «p» - порядковое число предыдущего кадра и «s» - длина последовательности изображений

 

Кроме того, кадры могут быть маркированы как неизвестные и по другим причинам, например, кадры, подвергшиеся обработке до того, как был зарегистрирован запуск маркера последовательности (см. 1.2.3).

 

1.3.3 Последовательность действий по выявлению грубых ошибок

 

Типичная последовательность действий для выявления грубых ошибок отображена в следующей диаграмме:

 

 

Сначала ВГО маркирует несжатые исходные ролики идентификаторами кадров. Затем ролики объединяются, масштабируются и кодируются в используемом для теста формате. Сжатые ролики воспроизводятся через тестируемую систему, и результаты фиксируются. (В процессе видеозахвата обычно генерируется другой несжатый файл. Иногда этот файл дублирует сжатый или повторно сжатый, как часто бывает с приложениями PVR.) Затем ВГО обрабатывает результирующий файл захвата и выдает результаты теста.

 

1.3.4 Временное выравнивание

 

Временное выравнивание – это процесс добавления и удаления кадров из файлов захвата таким образом, чтобы они соответствовали длине исходного ролика. Этот процесс используется в качестве этапа предварительной обработки для инструментов качества воспроизведения видео, кадр за кадром осуществляя сравнения, проверяя, совпадают ли намеченные кадры из файла сбора данных с соответствующими кадрами из исходного файла.

 

Для выполнения временного выравнивания, ВГО использует выходные данные от проведения анализа до создания нового видеофайла. При обнаружении удаленных файлов, копии предыдущего кадра вводятся в новый файл и обозначаются пропущенными порядковыми числами. Некоторые дублированные кадры просто удаляются. Неизвестные кадры в начале ролика (см. 1.2.3) также удаляются.

 

 

 

Поскольку удаленные кадры содержат содержимое, которое не было показано на экране, невозможно гарантировать отличный показатель качества видео для файлов захвата, которые были временно сконфигурированы ВГО. Удаление дублированных кадров обычно не оказывает влияния на показатель качества.

 

Временное выравнивание файлов сбора данных, содержащих видеокадры вне последовательности, не может быть выполнено в точности.

 

2. Приложение для ВГО видеоматериалов

 

Intel разработал приложение для выявления грубых ошибок при воспроизведении видеофайлов в качестве справочной реализации методологии ВГО (см. выше).

 

Приложение ВГО обладает функциями инструментария и выявления ошибок и использует простые идентификаторы кадра или массивы цветового блока размером 3х3 (графический режим с высоким разрешением). Запуск маркеров последовательности и временное выравнивание поддерживаются для графического режима с высоким разрешением.

 

Приложение ВГО производит усредненную оценку мнений (УОМ), основанные на исследованиях Intel. (баллы УОМ отражают мнение конечного пользователя о качестве предоставления содержимого.) Следующая таблица описывает баллы УОМ, поставленные приложением ВГО:

 

 

 

Приложение ВГО может исказить исходные ролики путем добавления в них определенного числа грубых ошибок. Данная функция полезна для создания тестовых мультимедиа для субъективных оценок (исследования, предназначенные для сопоставления восприятия конечными пользователями плавности воспроизведения с объективными оценками ВГО).

 

Приложение ВГО поставляется в рамках лицензии на свободное распространение материалов в двоичном формате. Пока право собственности ВГО сохраняется за Intel, ВГО может свободно перераспределяться.

 

3. Преимущества ВГО

3.1 Автоматизация

 

Автоматизированные инструменты являются намного более эффективными, чем дорогой и трудоемкий ручной анализ видеоэкспертами. Подгонка объективных показателей под мнения конечного пользователя позволяет такому инструменту, как ВГО, оценить ожидаемую квалификацию пользователя. Это намного облегчает интерактивное тестирование во время процесса разработки, когда можно быстро оценить небольшие пошаговые изменения в тестируемой системе. Анализ экспертов может впоследствии использоваться в качестве средство выходного контроля основных модификаций продукции.

 

Помимо автоматического выявления ошибок кадрового уровня, идентификаторы кадра ВГО предоставляют способ иным образом понять разницу в идентичных кадрах, что является сложной задачей для справочных инструментов. Например, последовательность черных кадров может содержать удаленные кадры, которые очень трудно обнаружить даже эксперту. Крайне сложно определить удаленные или дублированные кадры в сценах с очень низкой динамикой или в некоторых видах анимации.

 

3.2 Независимость платформы

 

Поскольку ВГО работает непосредственно с файлами видеозахвата, оно обеспечивает высокий уровень независимости платформы. Например, можно сравнить влияние на возможности конечного пользователя различных технологий воспроизведения, сетевого транспорта, операционных систем, потоковых приложений, мультимедийных проигрывателей и форматов сжатия. Подготовка исполняемых видеоданных устраняет зависимость от определенных типов файлов, видеоформатов или контейнеров. Содержимое может быть подвержено перекодированию, масштабированию или захвату из аналогового источника и при этом еще обрабатываться средствами ВГО.

 

3.3 Независимость содержимого

 

Методология ВГО не зависит от содержимого. Так как ВГО всегда ищет одни и те же идентификаторы кадра, независимо от тестируемого видео, довольно просто автоматизировать тестирование большого количества видеороликов. Для сравнения ровности воспроизведения роликов с одним типом содержимого и роликов с другим типом содержимого калибровки не требуется.

 

3.4 Эффективность и простота применения

 

ВГО значительно быстрее, чем справочные средства для измерения и оценки качества воспроизведения видео. Анализ идентификатора кадра является операцией устройства ввода/вывода (для несжатых видеофайлов). Например, при наличии небольшого массива из 4 дисков, видео со стандартным разрешением может быть обработано в 20 раз быстрее реального времени воспроизведения или еще быстрее. (Два часа кинофильма обрабатываются за шесть минут.) ВГО способен быстро определить, корректно ли передается ожидаемое содержимое, перед тем как видеоклипы с высоким разрешением подвергнутся более подробному анализу.

 

4. Загрузить приложение

 

 Video Error Gross Detection [1,2 MБ EXE]

 

For more complete information about compiler optimizations, see our Optimization Notice.