Оценивание качества видео с рассмотрением искажений перехода сцен

Иллюстрации

Показать все

Изобретение относится к технологиям измерения качества видео. Техническим результатом является обнаружение искажения перехода сцен в битовом потоке без восстановления видео, когда обнаружено, что блок имеет искажение перехода сцен. Предложен способ оценки качества видео, соответствующего битовому потоку. Способ включает в себя этап, на котором осуществляют доступ к битовому потоку, включающему в себя кодированные снимки. Далее согласно способу выбирают потенциальный снимок перехода сцен из кодированных снимков. Этап выбора содержит, по меньшей мере, этап выбора внутреннего снимка в качестве потенциального снимка перехода сцен, если сжатые данные для по меньшей мере одного блока во внутреннем снимке потеряны. Выбирают снимок, ссылающийся на потерянный снимок, в качестве потенциального снимка перехода сцен. 3 н. и 13 з.п. ф-лы, 21 ил.

Реферат

Область техники, к которой относится изобретение

Данное изобретение относится к измерению качества видео и более подробно к способу и устройству для определения метрики объективного качества видео.

Уровень техники изобретения

С развитием сетей IP стала популярной передача видео по проводным и беспроводным сетям IP (например, услуга IPTV). В отличие от традиционной передачи видео по кабельным сетям, доставка видео по сетям IP менее надежна. Следовательно, в дополнение к потере качества из-за видеосжатия, качество видео дополнительно снижается, когда видео передается по сетям IP. Удачный инструмент моделирования качества видео должен оценивать снижение качества, вызванное ухудшением передачи по сети (например, потерей пакетов, задержкой передачи и дрожанием передачи), в дополнение к снижению качества, вызванному видеосжатием.

Сущность изобретения

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

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

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

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

Краткое описание чертежей

Фиг. 1A является графическим примером, изображающим снимок с искажениями перехода сцен в кадре перехода сцен, Фиг. 1B является графическим примером, изображающим снимок без искажений перехода сцен, и Фиг. 1C является графическим примером, изображающим снимок с искажениями перехода сцен в кадре, который не является кадром перехода сцен.

Фиг. 2A и 2B являются графическими примерами, изображающими то, как искажения перехода сцен относятся к переходам сцен, в соответствии с одним вариантом осуществления представленных принципов действия.

Фиг. 3 является блок-схемой, изображающей пример моделирования качества видео, в соответствии с одним вариантом осуществления представленных принципов.

Фиг. 4 является блок-схемой, изображающей пример обнаружения искажения перехода сцен, в соответствии с одним вариантом осуществления представленных принципов.

Фиг. 5 является графическим изображением, изображающим то, как высчитывать переменную nloss.

Фиг. 6A и 6C являются графическими примерами, изображающими то, как переменная pk_num меняется в зависимости от индекса кадра, а Фиг. 6B и 6D являются графическими примерами, изображающими то, как переменная bytes_num меняется в зависимости от индекса кадра, в соответствии с одним вариантом осуществления представленных принципов действия.

Фиг. 7 является блок-схемой, изображающей пример определения потенциальных местоположений искажений перехода сцен, в соответствии с одним вариантом осуществления представленных принципов действия.

Фиг. 8 является графическим примером, изображающим снимок с 99 макроблоками.

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

Фиг. 10 является блок-схемой, изображающей пример обнаружения перехода сцен, в соответствии с одним вариантом осуществления представленных принципов действия.

Фиг. 11A и 11B являются графическими примерами, изображающими то, как соседние I-кадры используются для обнаружения искажения, в соответствии с одним вариантом осуществления представленных принципов действия.

Фиг. 12 является блок-схемой, изображающей пример устройства наблюдения за качеством видео, в соответствии с одним вариантом осуществления представленных принципов действия.

Фиг. 13 является блок-схемой, изображающей пример системы обработки видео, которая может использоваться с одним или более вариантами реализации.

Подробное описание

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

Представленные варианты осуществления относятся к моделям объективного качества видео, которые оценивают качество видео (1) без восстановления видео; и (2) с частично восстановленным видео. В частности, представленные принципы действия рассматривают конкретный тип искажений, который наблюдается около перехода сцен, обозначенный как искажение перехода сцен.

Большинство существующих стандартов видеосжатия, например, H.264 и MPEG-2, используют макроблок (MB) в качестве основного компонента кодирования. Таким образом, следующие варианты осуществления используют макроблок в качестве основного компонента обработки. Однако принципы действия могут быть адаптированы к использованию блоков различных размеров, например, блока 8×8, блока 16×8, блока 32×32 и блока 64×64.

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

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

После маскирования ошибок все еще могут восприниматься визуальные искажения. На Фиг. 1A-1C изображены примерные декодированные снимки, в которых некоторые пакеты кодированного битового потока потеряны в течение передачи. В этих примерах способ временного маскирования ошибок используется в декодере для маскирования потерянных макроблоков. В частности, расположенные по соседству макроблоки в предыдущем кадре копируются в потерянные макроблоки.

На Фиг. 1A потери пакетов, например, из-за ошибок передачи, возникают в кадре перехода сцен (то есть первом кадре в новой сцене). Из-за резкого изменения содержимого между текущим кадром и предыдущим кадром (по отношению к другой сцене), маскированный снимок содержит область, которая выделяется в маскированном снимке. То есть данная область имеет совсем другую текстуру по отношению к своим соседним макроблокам. Таким образом, данная область будет легко воспринята как визуальное искажение. Для простоты обозначения данный тип искажений вблизи снимка перехода сцен упоминается как искажение перехода сцен.

Напротив, на Фиг. 1B изображен другой снимок, расположенный внутри сцены. Так как потерянное содержимое в текущих кадрах схоже с содержимым расположенных в том же положении макроблоков в предыдущем кадре, который используется для маскирования текущего кадра, то временное маскирование ошибок работает должным образом, и на Фиг. 1B едва ли можно воспринять визуальные искажения.

Следует заметить, что искажения перехода сцен не обязательно могут возникать в первом кадре сцены. Скорее их можно увидеть в кадре перехода сцен или после потерянного кадра перехода сцен, как изображено в примерах на Фиг. 2A и 2B.

В примере на Фиг. 2A снимки 210 и 220 принадлежат различным сценам. Снимок 210 принят правильно, а снимок 220 является частично принятым кадром перехода сцен. Принятые части снимка 220 декодируются должным образом, при этом потерянные части маскируются расположенными в том же положении макроблоками из снимка 210. Когда присутствует существенное изменение между снимками 210 и 220, то маскированный снимок 220 будет иметь искажения перехода сцен. Таким образом, в данном примере, искажения перехода сцен возникают в кадре перехода сцен.

В примере на Фиг. 2B снимки 250 и 260 принадлежат одной сцене, а снимки 270 и 280 принадлежат другой сцене. В течение сжатия снимок 270 используется в качестве эталона для снимка 280 для компенсации движения. В течение передачи сжатые данные, соответствующие снимкам 260 и 270, потеряны. Для маскирования потерянных снимков в декодере декодированный снимок 250 может быть скопирован в снимки 260 и 270.

Сжатые данные для снимка 280 приняты правильно. Но так как он ссылается на снимок 270, который сейчас является копией декодированного снимка 250 из другой сцены, декодированный снимок 280 может также иметь искажения перехода сцен. Таким образом, искажения перехода сцен могут возникнуть после потерянного кадра (270) перехода сцен, в данном примере во втором кадре сцены. Следует заметить, что искажения перехода сцен могут также возникнуть и в других местоположениях сцены. Примерный снимок с искажениями перехода сцен, которые возникают после кадра перехода сцен, описан на Фиг. 1C.

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

В примере, изображенном на Фиг. 1A, расположенные по соседству блоки (то есть MV=0) в предыдущем кадре используются для маскирования потерянных блоков в текущем кадре. Другие способы временного маскирования ошибок могут использовать блоки с другими векторами движения и могут осуществлять обработку в различных компонентах обработки, например, на уровне снимков или на уровне пикселей. Следует заметить, что искажения перехода сцен могут возникнуть вблизи перехода сцен для любого способа временного маскирования ошибок.

В примерах, изображенных на Фиг. 1A и 1C, можно увидеть, что искажения перехода сцен оказывают сильное негативное воздействие на воспринимаемое качество видео. Таким образом, чтобы точно предсказать объективное качество видео, важно измерить действие от искажений перехода сцен при моделировании качества видео.

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

Очевидно, проблема обнаружения искажения перехода сцен для моделирования качества видео отличается от традиционной проблемы обнаружения кадра перехода сцен, которая обычно решается в пиксельной области и имеет доступ к снимкам.

Примерный способ 300 моделирования качества видео с рассмотрением искажений перехода сцен изображен на Фиг. 3. Искажения, происходящие вследствие потерянных данных, например, те, которые описаны на Фиг. 1A и 2A, обозначаются как первоначальные видимые искажения. Кроме того, тип искажений из первого принятого снимка в сцене, например, тех, которые описаны на Фиг. 1С. и 2B, также классифицируются как первоначальные видимые искажения.

Если блок, имеющий первоначальные видимые искажения, используется в качестве эталонного, например, для внутреннего предсказания или взаимного предсказания, первоначальные видимые искажения могут распространяться в пространстве или во времени на другие макроблоки в одном и том же или других снимках через предсказание. Такие распространенные искажения обозначаются как распространенные видимые искажения.

В способе 300 битовый поток видео вводится на этапе 310 и затем должно быть оценено объективное качество видео, соответствующее битовому потоку. На этапе 320 высчитывается уровень первоначального видимого искажения. Первоначальное видимое искажение может включать в себя искажения перехода сцен и другие искажения. Уровень первоначальных видимых искажений может быть оценен из типа искажения, типа кадра и другого уровня кадра или из признаков на уровне MB, полученных из битового потока. В одном варианте осуществления, если в макроблоке обнаружено искажение перехода сцен, то уровень первоначального видимого искажения для макроблока устанавливается в самый высокий уровень искажения (то есть в более низкий уровень качества).

На этапе 330 высчитывается уровень распространенного искажения. Например, если макроблок отмечен как имеющий искажение перехода сцен, то уровни распространенного искажения всех других пикселей, ссылающихся на данный макроблок, также будут установлены в самый высокий уровень искажения. На этапе 340 алгоритм объединения пространственно-временных искажений может использоваться для преобразования различных типов искажений в одну объективную MOS (Mean Opinion Score (Среднюю Экспертную Оценку)), которая оценивает полное визуальное качество видео, соответствующее введенному битовому потоку. На этапе 350 выводится оцененная MOS.

На Фиг. 4 изображен примерный способ 400 обнаружения искажения перехода сцен. На этапе 410 осуществляется сканирование битового потока для определения потенциальных местоположений для искажений перехода сцен. После того как потенциальные местоположения определены, на этапе 420 осуществляется определение, существуют ли искажения перехода сцен в потенциальном местоположении.

Следует заметить, что может использоваться только этап 420 для обнаружения кадра перехода сцен на уровне битового потока, например, в случае отсутствия потерь пакетов. Это можно использовать для получения границ сцены, которые необходимы, когда следует определить признаки на уровне сцены. Когда этап 420 используется отдельно, каждый кадр может расцениваться в качестве потенциального снимка перехода сцен, или может быть указано, какие кадры нужно рассматривать в качестве потенциальных местоположений.

В нижеследующем этапы определения потенциальных местоположений искажений перехода сцен и обнаружения местоположений искажений перехода сцен обсуждаются более подробно.

Определение потенциальных местоположений искажений перехода сцен

Как обсуждалось на Фиг. 2A и 2B, искажения перехода сцен возникают в частично принятых кадрах перехода сцен или в кадрах, ссылающихся на потерянные кадры перехода сцен. Таким образом, кадры с или вблизи потерянных пакетов могут расцениваться в качестве потенциальных местоположений искажений перехода сцен.

В одном варианте осуществления при синтаксическом анализе битового потока номера принятых пакетов, количество потерянных пакетов и количество принятых байтов для каждого кадра получаются на основе временных меток, например, временных меток RTP и временных меток PES MPEG 2 или синтаксического элемента «frame_num» в сжатом битовом потоке, а также записываются типы кадров декодируемых кадров. Полученные номера пакетов, количество байтов и типы кадров могут использоваться для уточнения определения потенциального местоположения искажения.

В нижеследующем с использованием RFC3984 для H.264 по RTP в качестве примерного транспортного протокола изображается то, как определить потенциальные местоположения искажений перехода сцен.

Для каждого принятого пакета RTP на основе временной метки может быть определено, какому видеокадру он принадлежит. То есть, видеопакеты, имеющие одну и ту же временную метку, расцениваются как принадлежащие одному и тому же видеокадру. Для видеокадра i, который принят частично или полностью, записываются следующие переменные:

(1) порядковый номер первого принятого пакета RTP, принадлежащего кадру i, обозначаемый как sns(i),

(2) порядковый номер последнего принятого пакета RTP для кадра i, обозначаемый как sne(i), и

(3) количество потерянных пакетов RTP между первым и последним принятыми пакетами RTP для кадра i, обозначаемое как nloss(i).

Порядковый номер задается в заголовке протокола RTP, и он увеличивается на единицу каждый пакет RTP. Таким образом, nloss(i) высчитывается посредством подсчитывания количества потерянных пакетов RTP, порядковые номера которых находятся между sns(i) и sne(i), на основе прерывности порядковых номеров. Пример высчитывания nloss(i) изображен на Фиг. 5. В данном примере, sns(i)=105 и sne(i)=110. Между начальным пакетом (с порядковым номером 105) и конечным пакетом (с порядковым номером 110) для кадра i, потеряны пакеты с порядковыми номерами 107 и 109. Таким образом, nloss(i)=2 в данном примере.

Параметр pk_num(i) задается для оценивания количества пакетов, переданных для кадра i, и он может быть высчитан следующим образом:

pk_num(i)=[sne(i)-sne(i-k)]/k, (1)

где кадр i-k является кадром непосредственно перед кадром i (т.е. другие кадры между кадрами i и i-k потеряны). Для кадра i, имеющего потери пакетов или имеющий потерянный непосредственно предшествующий кадр(ы), высчитывание параметра pk_num_avg(i) осуществляется посредством усреднения pk_num предыдущих (не-I) кадров в окне переменной длительности длиною N (например, N=6), то есть pk_num_avg (i) задается в качестве среднего (оцененного) количества переданных пакетов, предшествующих текущему кадру:

pk num avg(i) = 1 N ∑ j pk num(j) , кадр j ∈ окну переменной длительности. (2)

Кроме того, среднее количество байтов на пакет (bytes_numpacket(i)) может быть высчитано посредством усреднения количества байтов в принятых пакетах непосредственно предыдущих кадров в окне переменной длительности из N кадров. Параметр bytes_num(i) задается для оценивания количества байтов, переданных для кадра i, и он может быть высчитан следующим образом:

bytes_num(i)=bytesrecvd(i)+[nloss(i)+sns(i)-sne(i-k)-1]*bytes_numpacket(i)/k, (3)

где bytesrecvd(i) является количеством байтов, принятых для кадра i, а [nloss(i)+sns(i)-sne(i-k)-1]*bytes_numpacket(i)/k является оцененным количеством потерянных байтов для кадра i. Следует заметить, что Уравнение (3) разработано в частности, для протокола RTP. Когда используются другие транспортные протоколы, то Уравнение (3) должно быть отрегулировано, например, посредством регулирования оцененного количества потерянных пакетов.

Параметр bytes_num_avg(i) задается в качестве среднего (оцененного) количества переданных байтов, предшествующих текущему кадру, и он может быть высчитан посредством усреднения bytes_num предыдущих (не-I) кадров в окне переменной длительности, то есть

bytes num avg(i) = 1 N ∑ j bytes num(j) , кадр j ∈ окну переменной длительности. (4)

Как обсуждалось выше, окно переменной длительности может использоваться для высчитывания pk_num_avg, bytes_numpacket и bytes_num_avg. Следует заметить, что снимки, содержащиеся в окне переменной длительности, являются полностью или частично принятыми (то есть они не потеряны полностью). Когда снимки в видеопоследовательности в целом имеют одно и то же пространственное разрешение, pk_num для кадра сильно зависит от содержимого снимка и типа кадра, используемого для сжатия. Например, P-кадр видео QCIF может соответствовать одному пакету, а I-кадру может потребоваться больше битов и таким образом он соответствует большему количеству пакетов, как изображено на Фиг. 6A.

Как показано на Фиг. 2A, искажения перехода сцен могут возникнуть в частично принятом кадре перехода сцен. Так как кадр перехода сцен обычно кодируется в качестве I-кадра, то частично принятый I-кадр может быть отмечен в качестве потенциального местоположения для искажений перехода сцен, и его индекс кадра записывается в качестве idx(k), где k указывает, что кадр является k-м потенциальным местоположением.

Кадр перехода сцен может также кодироваться как не внутренний (например, P-кадр). Искажения перехода сцен могут также возникнуть в таком кадре, когда он принят частично. Кадр может также содержать искажения перехода сцен, если он ссылается на потерянный кадр перехода сцен, как обсуждалось на Фиг. 2B. В этих сценариях параметры, обсужденные выше, могут использоваться для более точного определения того, должен ли кадр быть потенциальным местоположением.

На Фиг. 6A-6D посредством примеров изображено то, как использовать обсуждаемые выше параметры для идентификации потенциальных местоположений искажений перехода сцен. Кадры могут быть упорядочены в порядке декодирования или порядке отображения. Во всех примерах на Фиг. 6A-6D, кадры 60 и 120 являются кадрами перехода сцен в исходном видео.

В примерах Фиг. 6A и 6B, кадры 47, 109, 137, 235 и 271 полностью потеряны, а кадры 120 и 210 приняты частично. Для кадров 49, 110, 138, 236, 272, 120 и 210 pk_num(i) может быть сравнен с pk_num_avg(i). Когда pk_num(i) намного больше, чем pk_num_avg(i), например 3, кадр i может быть идентифицирован в качестве потенциального кадра перехода сцен в декодированном видео. В примере на Фиг. 6A кадр 120 идентифицирован в качестве потенциального местоположения искажения перехода сцен.

Сравнение может также быть сделано между bytes_num(i) и bytes_num_avg(i). Если bytes_num(i) намного больше, чем bytes_num_avg(i), то кадр i может быть идентифицирован в качестве потенциального кадра перехода сцен в декодированном видео. В примере на Фиг. 6B, кадр 120 снова идентифицируется в качестве потенциального местоположения.

В примерах на Фиг. 6C и 6D кадр 120 перехода сцен потерян полностью. Для следующего за ним кадра 121 pk_num(i) может быть сравнен с pk_num_avg(i) в примере на Фиг. 6C, 3. Таким образом, кадр 120 не идентифицируется в качестве потенциального местоположения искажения перехода сцен. Напротив, при сравнении bytes_num(i) с bytes_num_avg(i), 3 и кадр 120 идентифицируется в качестве потенциального местоположения.

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

На Фиг. 7 изображен примерный способ 700 определения потенциальных местоположений искажений перехода сцен, которые будут записаны в наборе данных, обозначенном как {idx(k)}. На этапе 710 осуществляется инициализация процесса посредством установки k=0. Затем на этапе 720 осуществляется синтаксический анализ введенного битового потока для получения типа кадра и переменных sns, sne, nloss, bytes_numpacket и bytesrecvd для текущего кадра.

На этапе 730 осуществляется определение, присутствует ли потеря пакетов. Когда кадр потерян полностью, следующий за ним самый близкий кадр, который не потерян полностью, исследуется для определения того, является ли он потенциальным местоположением искажения перехода сцен. Когда кадр принят частично (т.е. некоторые, но не все, пакеты кадра потеряны), то данный кадр исследуется для определения, является ли он потенциальным местоположением искажения перехода сцен.

Если имеет место потеря пакетов, то осуществляется проверка того, является ли текущий кадр ВНУТРЕННИМ (INTRA) кадром. Если текущий кадр является ВНУТРЕННИМ (INTRA) кадром, текущий кадр расценивается в качестве потенциального местоположения перехода сцен и управление переходит на этап 780. Иначе высчитываются pk_num и pk_num_avg, например, как описано в Уравнениях (1) и (2), на этапе 740. На этапе 750 осуществляется проверка выполнения неравенства pk_num>T1*pk_num_avg. Если неравенство выполняется, то текущий кадр расценивается в качестве потенциального кадра для искажений перехода сцен и управление переходит на этап 780.

Иначе, на этапе 760 высчитываются bytes_num и bytes_num_avg, например, как описано в Уравнениях (3) и (4). На этапе 770 осуществляется проверка выполнения неравенства bytes_num>T2*bytes_num_avg. Если неравенство выполняется, то текущий кадр расценивается в качестве потенциального кадра для искажений перехода сцен, и индекс текущего кадра записывается в качестве idx(k), и k увеличивается на единицу на этапе 780. Иначе, управление переходит на этап 790, на котором осуществляется проверка того, выполнен ли полностью синтаксический анализ битового потока. Если синтаксический анализ выполнен полностью, то управление переходит на последний этап 799. Иначе, управление возвращается на этап 720.

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

Обнаружение местоположений искажений перехода сцен

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

Когда размер кадра используется для обнаружения местоположений искажений перехода сцен, то высчитывается разность между количеством байтов принятых (частично или полностью) P-кадров до и после потенциального положения перехода сцен. Если разность превышает пороговую величину, например, в три раза больше или меньше, то потенциальный кадр перехода сцен определяется в качестве кадра перехода сцен.

С другой стороны, замечено, что изменение остаточной энергии предсказания часто оказывается больше, когда присутствует изменение сцены. В целом, остаточная энергия предсказания P-кадра и B-кадра не имеют один и тот же порядок амплитуды, и остаточная энергия предсказания B-кадра менее надежна для указания информации видео содержимого, чем остаточная энергия предсказания P-кадра. Таким образом, предпочтительнее использование остаточной энергии P-кадров.

На Фиг. 8 изображен примерный снимок 800, содержащий 11·9=99 макроблоков. Для каждого макроблока, указанного его местоположением (m, n), коэффициент остаточной энергии высчитывается из деквантованных коэффициентов преобразования. В одном варианте осуществления коэффициент остаточной энергии высчитывается следующим образом e m , n = ∑ p = 1 16 ∑ q = 1 16 X p , q 2 ( m , n ) , где Xp,q(m,n) является деквантованным коэффициентом преобразования в местоположении (p,q) внутри макроблока (m, n). В другом варианте осуществления только коэффициенты AC используются для высчитывания коэффициента остаточной энергии, то есть e m , n = ∑ p = 1 16 ∑ q = 1 16 X p , q 2 ( m , n ) − X 1,1 2 ( m , n ) .

В другом варианте осуществления, когда используется преобразование 4×4, коэффициент остаточной энергии может быть высчитан следующим образом e m , n = ∑ u = 1 16 ( ∑ v = 2 16 X u , v 2 ( m , n ) + α X u ,1 2 ( m , n ) ) , где Xu,1(m, n) представляет собой коэффициент DC, а Xu,v(m, n) (v=2, …, 16) представляет собой коэффициенты AC для u-го блока 4×4, и α является весовым коэффициентом для коэффициентов DC. Следует заметить, что в макроблоке 16×16 находится шестнадцать блоков 4×4, и в каждом блоке 4×4 находится шестнадцать коэффициентов преобразования. Тогда коэффициенты остаточной энергии предсказания для снимка могут быть представлены матрицей:

E = [ e 1,1 e 1,2 e 1,3 ... e 2,1 e 2,2 e 2,3 ... e 3,1 e 3,2 e 3,3 ... ... ... ... ... ] .

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

Матрица с мерами разности для k-го потенциального местоположения кадра может быть представлена следующим образом:

Δ E k = [ Δ e 1,1, k Δ e 1,2, k Δ e 1,3, k ... Δ e 2,1, k Δ e 2,2, k Δ e 2,3, k ... Δ e 3,1, k Δ e 3,2, k Δ e 3,3, k ... ... ... ... ... ] ,

где Δem,n,k является мерой разности, высчитанной для k-го потенциального местоположения в макроблоке (m, n). Суммируя разность по всем макроблокам в кадре, мера разности для потенциального местоположения кадра может быть высчитана следующим образом D k = ∑ m ∑ n Δ e m , n , k .

Для ускорения вычисления можно также использовать поднабор макроблоков для вычисления Dk. Например, можно использовать каждую вторую строку макроблоков или каждый второй столбец макроблоков при высчитывании.

В одном варианте осуществления Δem,n,k может быть высчитан как разность между двумя P-кадрами, самыми близкими к потенциальному местоположению: один непосредственно перед потенциальным местоположением и другой непосредственно после него. На Фиг. 9A и 9B снимки 910 и 920, или снимки 950 и 960 могут использоваться для высчитывания Δem,n,k посредством применения вычитания между коэффициентами остаточной энергии предсказания в макроблоке (m,n) в обоих снимках.

Параметр Δem,n,k также может быть высчитан посредством применения разности фильтра Гаусса (DoG) к большему количеству снимков, например, фильтр DoG с 10-ю точками может использоваться с центром фильтра, расположенным в потенциальном местоположении искажения перехода сцен. Возвращаясь к Фиг. 9A и 9B, могут использоваться снимки 910-915 и 920-925 на Фиг. 9A или снимки 950-955 и 960-965 на Фиг. 9B. Для местоположения (m, n) каждого макроблока разность функции фильтрации Гаусса применяется к em,n окна кадров для получения параметра Δem,n,k.

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

Также для обнаружения искажения перехода сцен могут использоваться векторы движения. Например, для указания уровня движения могут высчитываться средняя амплитуда векторов движения, отклонение векторов движения и гистограмма векторов движения внутри окна кадров. Векторы движения P-кадров являются предпочтительными для о