ОЦЕНИВАНИЕ КАЧЕСТВА ВИДЕО С РАССМОТРЕНИЕМ ИСКАЖЕНИЙ ПЕРЕХОДА СЦЕН
VIDEO QUALITY ASSESSMENT CONSIDERING SCENE CUT ARTIFACTS

Область техники, к которой относится изобретение
Данное изобретение относится к измерению качества видео и более подробно к способу и устройству для определения метрики объективного качества видео.
Уровень техники изобретения
С развитием сетей IP стала популярной передача видео по проводным и беспроводным сетям IP (например, услуга IPTV). В отличие от традиционной передачи видео по кабельным сетям, доставка видео по сетям IP менее надежна. Следовательно, в дополнение к потере качества из-за видеосжатия, качество видео дополнительно снижается, когда видео передается по сетям IP. Удачный инструмент моделирования качества видео должен оценивать снижение качества, вызванное ухудшением передачи по сети (например, потерей пакетов, задержкой передачи и дрожанием передачи), в дополнение к снижению качества, вызванному видеосжатием.
Сущность изобретения
Согласно общему аспекту осуществляется доступ к битовому потоку, включающему в себя кодированные снимки, и осуществляется определение снимка перехода сцен в битовом потоке с использованием информации из битового потока, без декодирования битового потока для извлечения пиксельной информации.
Согласно другому общему аспекту осуществляется доступ к битовому потоку, включающему в себя кодированные снимки, и осуществляется определение соответствующих мер разности в ответ на, по меньшей мере, одно из размеров кадров, остатков предсказания и векторов движения среди набора снимков из битового потока, причем набор снимков включает в себя, по меньшей мере, один из потенциального снимка перехода сцен, снимка, предшествующего потенциальному снимку перехода сцен, и снимка, следующего за потенциальным снимком перехода сцен. Потенциальный снимок перехода сцен определяется в качестве снимка перехода сцен, если одна или более из мер разности превышают свои соответствующие предварительно определенные пороговые величины.
Согласно другому общему аспекту осуществляется доступ к битовому потоку, включающему в себя кодированные снимки. Внутренний снимок выбирается в качестве потенциального снимка перехода сцен, если сжатые данные для, по меньшей мере, одного блока во внутреннем снимке потеряны, либо снимок, ссылающийся на потерянный снимок, выбирается в качестве потенциального снимка перехода сцен. Осуществляется определение соответствующих мер разности в ответ на, по меньшей мере, одно из размеров кадров, остатков предсказания и векторов движения среди набора снимков из битового потока, при этом набор снимков включает в себя, по меньшей мере, один из потенциального снимка перехода сцен, снимка, предшествующего потенциальному снимку перехода сцен, и снимка, следующего за потенциальным снимком перехода сцен. Потенциальный снимок перехода сцен определяется в качестве снимка перехода сцен, если одна или более из мер разности превышают свои соответствующие предварительно определенные пороговые величины.
Подробности одного или более вариантов реализации излагаются на сопроводительных чертежах и в описании ниже. Даже если варианты реализации описаны одним конкретным образом, следует понимать, что они могут быть сконфигурированы или воплощены различными образами. Например, вариант реализации может быть выполнен как способ, или воплощен как устройство, такое как, например, устройство, сконфигурированное с возможностью выполнения набора действий, или устройство, хранящее команды для выполнения набора действий, или воплощен в сигнале. Другие аспекты и признаки станут очевидными из последующего подробного описания, рассматриваемого совместно с сопроводительные чертежами, и формулы изобретения.
Краткое описание чертежей
Фиг. 1A является графическим примером, изображающим снимок с искажениями перехода сцен в кадре перехода сцен, Фиг. 1B является графическим примером, изображающим снимок без искажений перехода сцен, и Фиг. 1C является графическим примером, изображающим снимок с искажениями перехода сцен в кадре, который не является кадром перехода сцен.
Фиг. 2A и 2B являются графическими примерами, изображающими то, как искажения перехода сцен относятся к переходам сцен, в соответствии с одним вариантом осуществления представленных принципов действия.
Фиг. 3 является блок-схемой, изображающей пример моделирования качества видео, в соответствии с одним вариантом осуществления представленных принципов.
Фиг. 4 является блок-схемой, изображающей пример обнаружения искажения перехода сцен, в соответствии с одним вариантом осуществления представленных принципов.
loss
Фиг. 5 является графическим изображением, изображающим то, как высчитывать переменную n.
Фиг. 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, который принят частично или полностью, записываются следующие переменные:
s
(1) порядковый номер первого принятого пакета RTP, принадлежащего кадру i, обозначаемый как sn(i),
e
(2) порядковый номер последнего принятого пакета RTP для кадра i, обозначаемый как sn(i), и
loss
(3) количество потерянных пакетов RTP между первым и последним принятыми пакетами RTP для кадра i, обозначаемое как n(i).
loss
s
e
loss
s
e
loss
Порядковый номер задается в заголовке протокола RTP, и он увеличивается на единицу каждый пакет RTP. Таким образом, n(i) высчитывается посредством подсчитывания количества потерянных пакетов RTP, порядковые номера которых находятся между sn(i) и sn(i), на основе прерывности порядковых номеров. Пример высчитывания n(i) изображен на Фиг. 5. В данном примере, sn(i)=105 и sn(i)=110. Между начальным пакетом (с порядковым номером 105) и конечным пакетом (с порядковым номером 110) для кадра i, потеряны пакеты с порядковыми номерами 107 и 109. Таким образом, n(i)=2 в данном примере.
Параметр pk_num(i) задается для оценивания количества пакетов, переданных для кадра i, и он может быть высчитан следующим образом:
e
e
pk_num(i)=[sn(i)-sn(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) задается в качестве среднего (оцененного) количества переданных пакетов, предшествующих текущему кадру:
<mrow><msub><mrow><mtext>pk</mtext></mrow><mrow><msub><mrow><mtext>num</mtext></mrow><mrow><mtext>avg(i)</mtext></mrow></msub></mrow></msub><mo>=</mo><mfrac><mtext>1</mtext><mtext>N</mtext></mfrac><mstyle displaystyle="true"><munder><mo>∑</mo><mtext>j</mtext></munder><mrow><msub><mrow><mtext>pk</mtext></mrow><mrow><mtext>num(j)</mtext></mrow></msub></mrow></mstyle></mrow>
, кадр j ∈ окну переменной длительности. (2)
packet
Кроме того, среднее количество байтов на пакет (bytes_num(i)) может быть высчитано посредством усреднения количества байтов в принятых пакетах непосредственно предыдущих кадров в окне переменной длительности из N кадров. Параметр bytes_num(i) задается для оценивания количества байтов, переданных для кадра i, и он может быть высчитан следующим образом:
recvd
loss
s
e
packet
bytes_num(i)=bytes(i)+[n(i)+sn(i)-sn(i-k)-1]*bytes_num(i)/k, (3)
recvd
loss
s
e
packet
где bytes(i) является количеством байтов, принятых для кадра i, а [n(i)+sn(i)-sn(i-k)-1]*bytes_num(i)/k является оцененным количеством потерянных байтов для кадра i. Следует заметить, что Уравнение (3) разработано в частности, для протокола RTP. Когда используются другие транспортные протоколы, то Уравнение (3) должно быть отрегулировано, например, посредством регулирования оцененного количества потерянных пакетов.
Параметр bytes_num_avg(i) задается в качестве среднего (оцененного) количества переданных байтов, предшествующих текущему кадру, и он может быть высчитан посредством усреднения bytes_num предыдущих (не-I) кадров в окне переменной длительности, то есть
<mrow><msub><mrow><mtext>bytes</mtext></mrow><mrow><msub><mrow><mtext>num</mtext></mrow><mrow><mtext>avg(i)</mtext></mrow></msub></mrow></msub><mo>=</mo><mfrac><mtext>1</mtext><mtext>N</mtext></mfrac><mstyle displaystyle="true"><munder><mo>∑</mo><mtext>j</mtext></munder><mrow><msub><mrow><mtext>bytes</mtext></mrow><mrow><mtext>num(j)</mtext></mrow></msub></mrow></mstyle></mrow>
, кадр j ∈ окну переменной длительности. (4)
packet
Как обсуждалось выше, окно переменной длительности может использоваться для высчитывания pk_num_avg, bytes_num и 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 идентифицируется в качестве потенциального местоположения.
В целом, замечено, что способ с использованием оцененного количества переданных байтов имеет лучшую производительность, чем способ с использованием оцененного количества переданных пакетов.
s
e
loss
packet
recvd
На Фиг. 7 изображен примерный способ 700 определения потенциальных местоположений искажений перехода сцен, которые будут записаны в наборе данных, обозначенном как {idx(k)}. На этапе 710 осуществляется инициализация процесса посредством установки k=0. Затем на этапе 720 осуществляется синтаксический анализ введенного битового потока для получения типа кадра и переменных sn, sn, n, bytes_num и bytes для текущего кадра.
На этапе 730 осуществляется определение, присутствует ли потеря пакетов. Когда кадр потерян полностью, следующий за ним самый близкий кадр, который не потерян полностью, исследуется для определения того, является ли он потенциальным местоположением искажения перехода сцен. Когда кадр принят частично (т.е. некоторые, но не все, пакеты кадра потеряны), то данный кадр исследуется для определения, является ли он потенциальным местоположением искажения перехода сцен.
1
Если имеет место потеря пакетов, то осуществляется проверка того, является ли текущий кадр ВНУТРЕННИМ (INTRA) кадром. Если текущий кадр является ВНУТРЕННИМ (INTRA) кадром, текущий кадр расценивается в качестве потенциального местоположения перехода сцен и управление переходит на этап 780. Иначе высчитываются pk_num и pk_num_avg, например, как описано в Уравнениях (1) и (2), на этапе 740. На этапе 750 осуществляется проверка выполнения неравенства pk_num>T*pk_num_avg. Если неравенство выполняется, то текущий кадр расценивается в качестве потенциального кадра для искажений перехода сцен и управление переходит на этап 780.
2
Иначе, на этапе 760 высчитываются bytes_num и bytes_num_avg, например, как описано в Уравнениях (3) и (4). На этапе 770 осуществляется проверка выполнения неравенства bytes_num>T*bytes_num_avg. Если неравенство выполняется, то текущий кадр расценивается в качестве потенциального кадра для искажений перехода сцен, и индекс текущего кадра записывается в качестве idx(k), и k увеличивается на единицу на этапе 780. Иначе, управление переходит на этап 790, на котором осуществляется проверка того, выполнен ли полностью синтаксический анализ битового потока. Если синтаксический анализ выполнен полностью, то управление переходит на последний этап 799. Иначе, управление возвращается на этап 720.
На Фиг. 7 для определения потенциальных местоположений используются как оцененное количество переданных пакетов, так и оцененное количество переданных байтов. В другом варианте реализации эти два способа могут быть исследованы в другом порядке или могут быть применены по отдельности.
Обнаружение местоположений искажений перехода сцен
Искажения перехода сцен могут быть обнаружены после того, как определен набор {idx(k)} потенциальных местоположений. В предложенных вариантах осуществления используются информация на уровне пакетов (такая как размер кадра) и информация битового потока (такая как остатки предсказания и векторы движения) при обнаружении искажений перехода сцен. Обнаружение искажений перехода сцен может быть выполнено без восстановления видео, то есть без восстановления пиксельной информации из видео. Следует заметить, что битовый поток может частично декодироваться для получения информации о видео, например, остатков предсказания и векторов движения.
Когда размер кадра используется для обнаружения местоположений искажений перехода сцен, то высчитывается разность между количеством байтов принятых (частично или полностью) P-кадров до и после потенциального положения перехода сцен. Если разность превышает пороговую величину, например, в три раза больше или меньше, то потенциальный кадр перехода сцен определяется в качестве кадра перехода сцен.
С другой стороны, замечено, что изменение остаточной энергии предсказания часто оказывается больше, когда присутствует изменение сцены. В целом, остаточная энергия предсказания P-кадра и B-кадра не имеют один и тот же порядок амплитуды, и остаточная энергия предсказания B-кадра менее надежна для указания информации видео содержимого, чем остаточная энергия предсказания P-кадра. Таким образом, предпочтительнее использование остаточной энергии P-кадров.
<mrow><msub><mi>e</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>16</mn></mrow></munderover><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>16</mn></mrow></munderover><mrow><msubsup><mi>X</mi><mrow><mi>p</mi><mo>,</mo><mi>q</mi></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow></mstyle></mrow>
<mrow><msub><mi>e</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>p</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>16</mn></mrow></munderover><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>16</mn></mrow></munderover><mrow><msubsup><mi>X</mi><mrow><mi>p</mi><mo>,</mo><mi>q</mi></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow></mstyle><mo>−</mo><msubsup><mi>X</mi><mrow><mn>1,1</mn></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow>
p,q
На Фиг. 8 изображен примерный снимок 800, содержащий 11·9=99 макроблоков. Для каждого макроблока, указанного его местоположением (m, n), коэффициент остаточной энергии высчитывается из деквантованных коэффициентов преобразования. В одном варианте осуществления коэффициент остаточной энергии высчитывается следующим образом
, где X(m,n) является деквантованным коэффициентом преобразования в местоположении (p,q) внутри макроблока (m, n). В другом варианте осуществления только коэффициенты AC используются для высчитывания коэффициента остаточной энергии, то есть
.
<mrow><msub><mi>e</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>16</mn></mrow></munderover><mrow><mo stretchy="false">(</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>v</mi><mo>=</mo><mn>2</mn></mrow><mrow><mn>16</mn></mrow></munderover><mrow><msubsup><mi>X</mi><mrow><mi>u</mi><mo>,</mo><mi>v</mi></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mstyle></mrow></mstyle><mo>+</mo><mi>α</mi><msubsup><mi>X</mi><mrow><mi>u</mi><mn>,1</mn></mrow><mn>2</mn></msubsup><mo stretchy="false">(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow>
u,1
u,v
В другом варианте осуществления, когда используется преобразование 4×4, коэффициент остаточной энергии может быть высчитан следующим образом
, где X(m, n) представляет собой коэффициент DC, а X(m, n) (v=2, …, 16) представляет собой коэффициенты AC для u-го блока 4×4, и α является весовым коэффициентом для коэффициентов DC. Следует заметить, что в макроблоке 16×16 находится шестнадцать блоков 4×4, и в каждом блоке 4×4 находится шестнадцать коэффициентов преобразования. Тогда коэффициенты остаточной энергии предсказания для снимка могут быть представлены матрицей:
<mrow><mi>E</mi><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><msub><mi>e</mi><mrow><mn>1,1</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>e</mi><mrow><mn>1,2</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>e</mi><mrow><mn>1,3</mn></mrow></msub></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>e</mi><mrow><mn>2,1</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>e</mi><mrow><mn>2,2</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>e</mi><mrow><mn>2,3</mn></mrow></msub></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>e</mi><mrow><mn>3,1</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>e</mi><mrow><mn>3,2</mn></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>e</mi><mrow><mn>3,3</mn></mrow></msub></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>...</mn></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow>
.
Когда вместо макроблока используются другие единицы кодирования, то вычисление остаточной энергия предсказания может быть легко адаптировано.
Матрица с мерами разности для k-го потенциального местоположения кадра может быть представлена следующим образом:
<mrow><mi>Δ</mi><msub><mi>E</mi><mi>k</mi></msub><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>1,1,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>1,2,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>1,3,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>2,1,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>2,2,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>2,3,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>3,1,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>3,2,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mn>3,3,</mn><mi>k</mi></mrow></msub></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr><mtr><mtd><mrow><mn>...</mn></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd><mtd><mrow><mn>...</mn></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow>
,
m,n,k
<mrow><msub><mi>D</mi><mi>k</mi></msub><mo>=</mo><mstyle displaystyle="true"><munder><mo>∑</mo><mi>m</mi></munder><mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mi>n</mi></munder><mrow><mi>Δ</mi><msub><mi>e</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub></mrow></mstyle></mrow></mstyle></mrow>
где Δe является мерой разности, высчитанной для k-го потенциального местоположения в макроблоке (m, n). Суммируя разность по всем макроблокам в кадре, мера разности для потенциального местоположения кадра может быть высчитана следующим образом
.
k
Для ускорения вычисления можно также использовать поднабор макроблоков для вычисления D. Например, можно использовать каждую вторую строку макроблоков или каждый второй столбец макроблоков при высчитывании.
m,n,k
m,n,k
В одном варианте осуществления Δe может быть высчитан как разность между двумя P-кадрами, самыми близкими к потенциальному местоположению: один непосредственно перед потенциальным местоположением и другой непосредственно после него. На Фиг. 9A и 9B снимки 910 и 920, или снимки 950 и 960 могут использоваться для высчитывания Δe посредством применения вычитания между коэффициентами остаточной энергии предсказания в макроблоке (m,n) в обоих снимках.
m,n,k
m,n
m,n,k
Параметр Δe также может быть высчитан посредством применения разности фильтра Гаусса (DoG) к большему количеству снимков, например, фильтр DoG с 10-ю точками может использоваться с центром фильтра, расположенным в потенциальном местоположении искажения перехода сцен. Возвращаясь к Фиг. 9A и 9B, могут использоваться снимки 910-915 и 920-925 на Фиг. 9A или снимки 950-955 и 960-965 на Фиг. 9B. Для местоположения (m, n) каждого макроблока разность функции фильтрации Гаусса применяется к e окна кадров для получения параметра Δe.
Когда разность, высчитанная с использованием остаточной энергии предсказания, превышает пороговую величину, то потенциальный кадр может быть обнаружен как имеющий искажения перехода сцен.
Также для обнаружения искажения перехода сцен могут использоваться векторы движения. Например, для указания уровня движения могут высчитываться средняя амплитуда векторов движения, отклонение векторов движения и гистограмма векторов движения внутри окна кадров. Векторы движения P-кадров являются предпочтительными для обнаружения искажения перехода сцен. Если разность уровней движения превышает пороговую величину, то потенциальное положение перехода сцен может быть определено в качестве кадра перехода сцен.
С использованием таких признаков, как размер кадра, остаточная энергия предсказания и вектор движения, кадр перехода сцен может быть обнаружен в декодируемом видео в потенциальном местоположении. Если в декодируемом видео обнаружено изменение сцены, то потенциальное местоположение обнаруживается как имеющее искажения перехода сцен. Более подробно, потерянные макроблоки обнаруженного кадра перехода сцен отмечаются как имеющие искажения перехода сцен, если потенциальное местоположение соответствует частично потерянному кадру перехода сцен, и макроблоки, ссылающиеся на потерянный кадр перехода сцен, отмечаются как имеющие искажения перехода сцен, если потенциальное местоположение соответствует P- или B-кадру, ссылающемуся на потерянный кадр перехода сцен.
Следует заметить, что переходы сцен в исходном видео могут перекрываться или могут не перекрываться с переходами сцен, видимыми в декодированном видео. Как обсуждалось ранее, для примера, изображенного на Фиг. 2B, изменение сцены наблюдается в снимке 280 в декодированном видео, в то время как сцена изменяется в снимке 270 в исходном видео.
Кадры в и вблизи потенциальных местоположений могут использоваться для высчитывания изменения размера кадров, изменения остаточной энергии предсказания и изменения движения, как изображено в примерах на Фиг. 9A и 9B. Когда потенциальное местоположение соответствует частично принятому кадру 905 перехода сцен, могут использоваться P-кадры (910…915 и 920…925), окружающие потенциальное местоположение. Когда потенциальное местоположение соответствует кадру, ссылающемуся на потерянный кадр 940 перехода сцен, то могут использоваться P-кадры (950…955 и 960…965), окружающие потерянный кадр. Когда потенциальное местоположение соответствует P-кадру, то для высчитывания разности остаточной энергии предсказания может использоваться непосредственно потенциальное местоположение (960). Следует заметить, что различные количества снимков могут использоваться для вычисления изменений в размерах кадров, остатках предсказания и уровнях движения.
На Фиг. 10 изображен примерный способ 1000 обнаружения кадров перехода сцен из потенциальных местоположений. На этапе 1005 осуществляется инициализация процесса посредством установки y=0. На этапе 1010 выбираются P-кадры вблизи потенциального местоположения, и осуществляется синтаксический анализ остатков предсказания, размеров кадров и векторов движения.
На этапе 1020 высчитывается мера разности размеров кадров для потенциального местоположения кадра. На этапе 1025 осуществляется проверка, имеет ли место большое изменение размеров кадров в потенциальном местоположении, например, посредством сравнения его с пороговой величиной. Если разность меньше пороговой величины, то управление переходит на этап 1030.
k
k
3
3
Иначе, для тех P-кадров, которые выбраны на этапе 1010, коэффициент остаточной энергии предсказания высчитывается для отдельных макроблоков на этапе 1030. Затем на этапе 1040 мера разности высчитывается для отдельных местоположений макроблоков для указания изменения в остаточной энергии предсказания, и мера разности остаточной энергии предсказания для потенциального местоположения кадра может быть высчитана на этапе 1050. На этапе 1060 осуществляется проверка, имеет ли место большое изменение остаточной энергии предсказания в потенциальном местоположении. В одном варианте осуществления, если D является большим, например, D>T, где T является пороговой величиной, то потенциальное местоположение обнаруживается в качестве кадра перехода сцен в декодированном видео, и управление переходит на этап 1080.
Иначе, на этапе 1065 осуществляется высчитывание меры разности движения для потенциального местоположения. На этапе 1070 осуществляется проверка, присутствует ли большое изменение движения в потенциальном местоположении. Если присутствует большая разница, то управление переходит на этап 1080.
На этапе 1080 индекс соответствующего кадра записывается в качестве {idx′(y)} и y увеличивается на единицу, где y указывает то, что кадр является y-м обнаруженным кадром перехода сцен в декодированном видео. На этапе 1090 осуществляется определение того, все ли потенциальные местоположения обработаны. Если все потенциальные местоположения обработаны, то управление переходит на конечный этап 1099. Иначе, управление возвращается на этап 1010.
4
4
В другом варианте осуществления, когда потенциальный кадр перехода сцен является I-кадром (735), то высчитывается разность остаточной энергии предсказания между снимком и предшествующим I-кадром. Разность остаточной энергии предсказания высчитывается с использованием энергии правильно принятых MB в снимке и расположенных по соседству MB в предыдущем I-кадре. Если разность между коэффициентами энергии в T раз больше наибольшего коэффициента энергии (например, T=1/3), то потенциальный I-кадр обнаруживается в качестве кадра перехода сцен в декодированном видео. Это полезно, когда необходимо определить искажения перехода сцен потенциального кадра перехода сцен прежде, чем декодер приступит к декодированию следующего снимка, то есть информация следующих снимков еще не доступна во время обнаружения искажений.
Следует заметить, что упомянутые признаки можно рассматривать в различных порядках. Например, можно изучать эффективность каждого признака посредством обучения большого набора видеопоследовательностей при различных условиях кодирования/передачи. На основе результатов обучения можно выбрать порядок признаков на основе условий кодирования/передачи и видео содержимого. Можно также принять решение проверять только один или два самых эффективных признака, чтобы ускорить обнаружение искажения перехода сцен.
1
2
3
4
В способах 900 и 1000 используются различные пороговые величины, например, T, T, T и T. Эти пороговые величины могут быть адаптивны, например, к свойствам снимка или другим условиям.
В другом варианте осуществления, когда дополнительная вычислительная сложность станет возможной, то некоторые I-снимки можно будет восстановить. В целом, пиксельная информация может лучше отражать содержимое текстуры, чем параметры, подвергаемые синтаксическому анализу из битового потока (например, остатки предсказания и векторы движения), и таким образом, использование восстановленных I-снимков для обнаружения перехода сцен может улучшить точность обнаружения. Поскольку декодирование I-кадра не является столь затратным в вычислительном отношении как декодирование P- или B-кадров, то данная улучшенная точность обнаружения происходит за счет малых издержек на вычислительную служебную информацию.
На Фиг. 11 на примере изображено, как смежные I-кадры могут использоваться для обнаружения перехода сцен. Для примера, изображенного на Фиг. 11A, когда потенциальный кадр перехода сцен (1120) является частично принятым I-кадром, принятая часть кадра может декодироваться должным образом в пиксельную область, так как он не ссылается на другие кадры. Схожим образом смежные I-кадры (1110, 1130) могут также декодироваться в пиксельную область (то есть снимки восстанавливаются) без большой сложности декодирования. После того как I-кадры восстановлены, могут применяться способы традиционного обнаружения перехода сцен, например, посредством сравнения разности гистограммы яркости между частично декодированными пикселями кадра (1120) и расположенными по соседству пикселями смежных I-кадров (1110, 1130).
Для примера, изображенного на Фиг. 11B, потенциальный кадр (1160) перехода сцен может быть полностью потерян. В данном случае, если разность признака изображения (например, разность гистограммы) между смежными I-кадрами (1150, 1170) мала, то потенциальное местоположение может быть идентифицировано как не являющееся местоположением перехода сцен. Особенно справедливо это для сценария IPTV, где длина GOP обычно составляет 0,5 или 1 секунду, в течение которых множество изменений сцены маловероятны.
Использование восстановленных I-кадров для обнаружения искажений перехода сцен может иметь ограниченное использование, когда расстояние между I-кадрами является большим. Например, в сценарии потока видео мобильной связи, длина GOP может составлять 5 секунд, и скорость кадров может составлять всего лишь 15 кадр/с. Поэтому расстояние между потенциальным местоположением перехода сцен и предыдущим I-кадром является слишком большим для получения устойчивой производительности обнаружения.
Вариант осуществления, в котором осуществляется декодирование некоторых I-снимков, может использоваться в сочетании с вариантом осуществления на уровне битового потока (например, способ 1000), чтобы дополнять друг друга. В одном варианте осуществления то, когда они должны быть применены вместе, может быть решено исходя из конфигурации кодирования (например, разрешения, скорости кадров).
Существующие принципы действия могут использоваться в устройстве наблюдения за качеством видео для измерения качества видео. Например, устройство наблюдения за качеством видео может обнаруживать и измерять искажения перехода сцен и другие типы искажений, и оно может также рассматривать искажения, вызванные распространением, для обеспечения общей метрики качества.
На Фиг. 12 изображена блок-схема примерного устройства 1200 наблюдения за качеством видео. Ввод устройства 1200 может включать в себя транспортный поток, который содержит битовый поток. Ввод может быть выполнен в других форматах, которые содержит битовый поток.
Демультиплексор 1205 получает информацию уровня пакетов, например количество пакетов, количество байтов, размеры кадров, из битового потока. Декодер 1210 синтаксически анализирует введенный поток для получения большей информации, например, типа кадра, остатков предсказания и векторов движения. Декодер 1210 может восстанавливать или может не восстанавливать снимки. В других вариантах осуществления декодер может выполнять функции демультиплексора.
С использованием декодированной информации потенциальные местоположения искажений перехода сцен обнаруживаются в обнаружителе 1220 потенциальных искажений перехода сцен, в котором может использоваться способ 700. Для обнаруженных потенциальных местоположений обнаружитель 1230 искажения перехода сцен определяет, присутствуют ли переходы сцен в декодированном видео, поэтому определяет, содержат ли потенциальные местоположения искажений переход сцен. Например, когда обнаруженный кадр перехода сцен является частично потерянным I-кадром, то потерянный макроблок в кадре обнаруживается как имеющий искажение перехода сцен. В другом примере, когда обнаруженный кадр перехода сцен ссылается на потерянный кадр перехода сцен, то макроблок, который ссылается на потерянный кадр перехода сцен, обнаруживается как имеющий искажение перехода сцен. Способ 1000 может использоваться обнаружителем 1230 перехода сцен.
После того как искажения перехода сцен обнаружены на уровне макроблока, предсказатель 1240 качества ставит оценку качества в соответствие искажению. Предсказатель 1240 качества может рассматривать другие типы искажений, и он также может рассматривать искажения, вызванные распространением ошибок.
На Фиг. 13 изображена система или устройство 1300 передачи видео, к которым могут быть применены описанные выше признаки и принципы действия. Процессор 1305 обрабатывает видео, а кодер 1310 кодирует видео. Битовый поток, сгенерированный от кодера, передается в декодер 1330 через распределительную сеть 1320. Устройство наблюдения за качеством видео может использоваться в различных каскадах.
В одном варианте осуществления устройство наблюдения за качеством видео 1340 может использоваться создателем содержимого. Например, оцененное качество видео может использоваться кодером при принятии решения по параметрам кодирования, таким как решение по режиму или назначение битовой скорости. В другом примере, после того как видео закодировано, создатель содержимого использует устройство наблюдения за качеством видео для наблюдения за качеством кодированного видео. Если метрика качества не удовлетворяет предварительно заданному уровню качества, то создатель содержимого может выбрать повторное кодирование видео для улучшения качества видео. Создатель содержимого может также присваивать ранг кодированному видео на основе качества и загружает содержимое соответственно.
В другом варианте осуществления устройство 1350 наблюдения за качеством видео может использоваться распределителем содержимого. Устройство наблюдения за качеством видео может быть помещено в распределительную сеть. Устройство наблюдения за качеством видео высчитывает метрики качества и сообщает их распределителю содержимого. На основе обратной связи от устройства наблюдения за качеством видео, распределитель содержимого может улучшать предоставляемую услугу посредством регулирования выделения ширины полосы пропускания и может управлять доступом.
Распределитель содержимого может также отправлять обратную связь создателю содержимого для регулирования кодирования. Следует заметить, что улучшение качества кодирования в кодере, возможно, не обязательно улучшит качество на стороне декодера, так как кодированное видео высокого качества обычно требует большей ширины полосы пропускания и оставляет меньше ширины полосы пропускания для защиты передачи. Таким образом, чтобы достигнуть оптимального качества в декодере, следует рассматривать баланс между битовой скоростью кодирования и шириной полосы пропускания для защиты канала.
В другом варианте осуществления устройство 1360 наблюдения за качеством видео может использоваться пользовательским устройством. Например, когда пользовательское устройство осуществляет поиск видео в Интернете, результат поиска может возвратить множество видеозаписей или множество ссылок на видеозаписи, соответствующие запрашиваемому видео содержимому. Видеозаписи в результатах поиска могут иметь различные уровни качества. Устройство наблюдения за качеством видео может высчитать метрики качества для этих видеозаписей и принять решение по выбору, какое видео сохранить. В другом примере пользователь может иметь доступ к нескольким методикам маскирования ошибок. Устройство наблюдения за качеством видео может высчитать метрики качества для различных методик маскирования ошибок и автоматически на основе рассчитанных метрик качества выбрать, какую методику маскирования использовать.
Варианты реализации, описанные в данном документе, могут быть реализованы, например, в способе или процессе, устройстве, программе программного обеспечения, потоке данных или сигнале. Несмотря на то что обсуждение происходило только в контексте одной формы варианта реализации (например, обсуждался только способ), такой обсужденный вариант реализации признаков может также быть реализован в других формах (например, устройстве или программе). Устройство может быть реализовано, например, в соответствующем аппаратном обеспечении, программном обеспечении и встроенном микропрограммном обеспечении. Способы могут быть реализованы, например, в устройстве, таком как, например, процессор, который относится к устройствам обработки в целом, включающим в себя, например, компьютер, микропроцессор, интегральную схему или устройство программируемой логики. Процессоры также включают в себя осуществляющие связь устройства, такие как, например, компьютеры, сотовые телефоны, переносные/персональные цифровые секретари («PDA» (portable/personal digital assistants)) и другие устройства, которые способствуют осуществлению передачи информации между конечными пользователями.
Варианты реализации различных процессов и признаков, описанных в данном документе, могут быть воплощены посредством множества различного оборудования или приложений, в частности, например, оборудования или приложений, относящихся к кодированию данных, декодированию данных, обнаружению искажений перехода сцен, измерению качества и наблюдением за качеством. Примеры такого оборудования включают в себя кодер, декодер, постпроцессор, обрабатывающий вывод из декодера, препроцессор, предоставляющий ввод в кодер, видеокодер, видеодекодер, видеокодек, веб-сервер, телевизионную абонентскую приставку, портативный компьютер, персональный компьютер, сотовый телефон, PDA, игровую приставку и другие осуществляющие связь устройства. Также должно быть понятно, что упомянутое оборудование может быть мобильным и даже установленным на передвижное транспортное средство.
Дополнительно, способы могут быть реализованы посредством команд, выполняемых процессором, и такие команды (и/или значения данных, созданные вариантом реализации), могут быть сохранены на читаемом процессором носителе, таком как, например, интегральная схема, носитель программного обеспечения или другое устройство хранения, такое как, например, жесткий диск, компактная дискета («CD» (compact diskette)), оптический диск (такой как, например, DVD, часто называемый цифровым универсальным диском или цифровым видеодиском), запоминающее устройство с произвольным доступом («RAM» (random access memory)), или постоянное запоминающее устройство («ROM» (read-only memory)). Команды могут формировать прикладную программу, материально воплощенную на читаемом процессором носителе. Команды могут быть выполнены, например, в аппаратном обеспечении, встроенном микропрограммном обеспечении, программном обеспечении или в их сочетании. Команды могут встречаться, например, в операционной системе, отдельном приложении или их сочетании. Поэтому процессор может быть охарактеризован в качестве, например, устройства, сконфигурированного с возможностью выполнения процесса, так и устройства, которое включает в себя читаемый процессором носитель (такой как устройство хранения), имеющий команды для выполнения процесса. Дополнительно, читаемый процессором носитель может хранить, в дополнение к или вместо команд, значения данных, созданные вариантом реализации.
Как должно быть очевидно специалисту в уровне техники, варианты реализации могут создавать множество сигналов, с форматом для переноса информации, которая может, например, храниться или передаваться. Информация может включать в себя, например, команды для выполнения способа, или данные, созданные одним из описанных вариантов реализации. Например, сигнал может иметь формат для переноса в качестве данных правила для записи или считывания синтаксиса описанного варианта осуществления, либо переноса в качестве данных фактических значений синтаксиса, записанных описанным вариантом осуществления. Такой сигнал может иметь формат, например, электромагнитной волны (например, с использованием части радиочастот спектра), или сигнала основной полосы. Форматирование может включать в себя, например, кодирование потока данных и модулирование несущей с помощью кодированного потока данных. Информация, которую несет сигнал, может быть, например, аналоговой или цифровой информацией. Сигнал может передаваться по множеству известных различных проводных или беспроводных линий связи. Сигнал может храниться на читаемом процессором носителе.
Было описано некоторое количество вариантов реализации. Однако следует понимать, что могут быть сделаны различные модификации. Например, элементы различных вариантов реализации могут быть объединены, дополнены, изменены или удалены для создания других вариантов реализации. Дополнительно, специалисту в уровне техники должно быть понятно, что раскрытые структуры и процессы могут быть заменены другими, и получившиеся варианты реализации будут выполнять, по меньшей мере, по существу ту же самую функцию(и), по меньшей мере, по существу тем же самым образом для достижения, по меньшей мере, по существу того же самого технического результата(ов), что и раскрытые варианты реализации. Таким образом, эти и другие варианты реализации учитываются в данном документе.