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

Иллюстрации

Показать все

Изобретение относится к области кодирования цифрового видео, и в частности к масштабируемому видеокодированию с высокой степенью детализации (FGS-видеокодированию), в котором используют выровненные с циклом фрагменты (CAF). Техническим результатом является повышение эффективности видеокодирования, основанного на циклах кодирования коэффициентов блоков FGS-видеоданных и синтаксических элементов, а также снижения числа фрагментов и объема служебной информации. Указанный технический результат достигается тем, что фрагменты могут быть выровнены с циклом так, чтобы начало рабочих данных каждого из фрагментов практически совпадало с началом одного из циклов. Некоторые циклы могут управляться с помощью векторного режима, чтобы сканировать для предварительно определенной позиции в рамках блока перед перемещением к другому блоку. Таким образом, число циклов может быть уменьшено, сокращая число фрагментов и ассоциативно связанный объем служебной информации. CAF могут быть энтропийно кодированы независимо друг от друга, так чтобы каждый из фрагментов мог быть легко доступен и декодирован без ожидания декодирования других фрагментов, что обеспечивает параллельное декодирование и одновременную обработку таких фрагментов. 8 н. и 60 з.п. ф-лы, 14 ил., 8 табл.

Реферат

Данная заявка испрашивает приоритет предварительной заявки США №60/830891, поданной 13 июля 2006 года, предварительной заявки США №60/866999, поданной 22 ноября 2006 года, и предварительной заявки США №60/917542, поданной 11 мая 2007 года, содержимое каждой из которых полностью включено в данный документ по ссылке.

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

Данное раскрытие относится к видеокодированию, и более конкретно к масштабируемому кодированию цифрового видео.

Уровень техники

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

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

Раскрытие изобретения

В общем, изобретение направлено на методики FGS-видеокодирования, которые используют выровненные с циклом фрагменты (CAF). Методики FGS-видеокодирования позволяют осуществлять основанное на циклах кодирование коэффициентов блоков FGS-видеоданных и синтаксических элементов и инкапсулировать результирующие циклы кодирования в фрагментах для передачи через сетевые передающие модули, такие как модули уровня абстрагирования от сети (NAL). В соответствии с данным раскрытием фрагменты могут быть выровненными с циклом с тем, чтобы начало каждого из фрагментов фактически совпадало с началом одного из циклов. Таким образом, циклы кодирования могут быть легко доступны через отдельные фрагменты.

Каждый из циклов может представлять, по меньшей мере, часть зигзагообразного порядка сканирования одного или более блоков коэффициентов преобразования. По меньшей мере, некоторые из циклов могут охватывать коэффициенты кодирования, ассоциативно связанные с множеством блоков. Блоки FGS-видеоданных могут формировать часть FGS-серии последовательных макроблоков видеоданных. В некоторых аспектах FGS-серией последовательных макроблоков может быть серия последовательных макроблоков с постепенным уточнением (PR), хотя изобретение не ограничено в этом отношении. По меньшей мере, некоторые из циклов могут контролироваться с помощью команды векторного режима, чтобы сканировать для предварительно определенной позиции сканирования в рамках каждого из блоков перед перемещением к другому одному из блоков. Таким образом, число циклов, требуемое для того, чтобы обходить блоки, может быть уменьшено, приводя к снижению числа фрагментов и снижению объема служебной информации.

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

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

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

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

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

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

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

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

Фиг.1 - это блок-схема, иллюстрирующая систему кодирования и декодирования видео.

Фиг.2 - это схема, иллюстрирующая многослойное FGS-кодирование потока битов видео.

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

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

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

Фиг.6 - это схема, иллюстрирующая инкапсуляцию циклов кодирования в обычных фрагментах для передачи через модули уровня абстрагирования от сети (NAL).

Фиг.7 - это схема, иллюстрирующая инкапсуляцию циклов кодирования в выровненных с циклом фрагментах (CAF) для передачи через модули уровня абстрагирования от сети (NAL).

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

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

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

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

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

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

Фиг.14 - это схема, иллюстрирующая влияние ошибки по пакетам для обычных фрагментов и CAF.

Осуществление изобретения

В общем, изобретение направлено на методики FGS-видеокодирования, которые используют выровненные с циклом фрагменты (CAF). Методики FGS-видеокодирования могут выполнять основанное на циклах кодирование коэффициентов блоков FGS-видеоданных и синтаксических элементов и инкапсулировать результирующие циклы кодирования в фрагментах для передачи через сетевые передающие модули, такие как модули уровня абстрагирования от сети (NAL). В соответствии с данным изобретением фрагменты могут быть выровненными с циклом с тем, чтобы начало каждого из фрагментов практически совпадало с началом одного из циклов. Таким образом, циклы кодирования могут быть легко доступны через отдельные фрагменты.

Каждый из циклов может представлять, по меньшей мере, часть зигзагообразного порядка сканирования одного или более блоков коэффициентов преобразования. По меньшей мере, некоторые из циклов могут охватывать коэффициенты кодирования, ассоциативно связанные с множеством блоков. Блоки FGS-видеоданных могут формировать часть FGS-серии последовательных макроблоков видеоданных. В некоторых аспектах FGS-серией последовательных макроблоков может быть серия последовательных макроблоков с постепенным уточнением (PR), хотя методики, описанные в данном изобретении, не обязательно ограничены PR-сериями последовательных макроблоков. По меньшей мере, некоторые из циклов могут контролироваться с помощью команды векторного режима, чтобы сканировать для предварительно определенной позиции сканирования в рамках каждого из блока перед перемещением к другому одному из блоков. Таким образом, число циклов, требуемое для того, чтобы обходить блоки, может быть уменьшено, приводя к снижению числа фрагментов и снижению объема служебной информации.

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

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

Фиг.1 - это блок-схема, иллюстрирующая систему 10 кодирования и декодирования видео. Как показано на Фиг. 1, система 10 включает в себя исходное устройство 12, которое передает кодированное видео в целевое устройство 14 через канал 16 передачи. Исходное устройство 12 может включать в себя устройство 18 источника видео и видеокодер 20. Целевое устройство 14 может включать в себя видеодекодер 22 и устройство 24 отображения видео. Каналом 16 передачи может быть проводная или беспроводная среда связи либо любая комбинация проводных и беспроводных сред. Исходное устройство 12 формирует видео для передачи в целевое устройство 14. В некоторых случаях, тем не менее, устройства 12, 14 могут работать практически симметричным способом. Например, каждое из устройств 12, 14 может включать в себя компоненты кодирования и декодирования видео. Следовательно, система 10 может поддерживать одностороннюю и двухстороннюю передачу видео между видеоустройствами 12, 14, к примеру, для потоковой передачи видео, широковещательной передачи видео или видеотелефонии.

Видеоисточник 18 может включать в себя устройство видеозахвата, такое как одна или более видеокамер, видеоархив, содержащий ранее захваченное видео, или передачу видео вживую от поставщика видеосодержимого. В качестве дополнительной альтернативы, видеоисточник 18 может формировать основанные на компьютерной графике данные в качестве исходного видео или комбинацию живого видео и сформированного компьютером видео. В любом случае захваченное, предварительно захваченное или сформированное компьютером видео может быть кодировано посредством видеокодера 20 для передачи из устройства 12 источника видео в устройство 14 назначения видео через канал 16 передачи. Дисплейное устройство 24 может включать в себя любое из множества дисплейных устройств, к примеру, жидкокристаллический дисплей (LCD), плазменный дисплей или дисплей на органических светодиодах (OLED).

Видеокодер 20 и видеодекодер 26 могут быть выполнены с возможностью поддерживать видеокодирование с масштабируемостью отношения "сигнал-шум" (SNR) с высокой степенью детализации (FGS). Например, кодер 20 и декодер 26 могут поддерживать различные степени масштабируемости для поддержки кодирования, передачи и декодирования масштабируемых улучшающих слоев в FGS-формате. Для масштабируемого кодирования базовый слой переносит видеоданные с минимальным уровнем качества. Один или более улучшающих слоев переносят дополнительный поток битов, чтобы поддерживать уровни более высокого качества. Следовательно, информация улучшающего слоя может быть предусмотрена с тем, чтобы поддерживать масштабируемость отношения "сигнал-шум" (SNR). Помимо этого, в некоторых случаях дополнительный поток битов, переносимый посредством одного или более улучшающих слоев, может поддерживать улучшенную пространственную масштабируемость и/или улучшенную временную масштабируемость.

Видеокодер 20 и видеодекодер 26 могут работать согласно такому стандарту видеосжатия, как MPEG-2, MPEG-4, ITU-T H.263 или ITU-T H.264/MPEG-4 улучшенное видеокодирование (AVC). Более конкретно, видеокодер 20 и видеодекодер 26 могут быть выполнены с возможностью реализовывать дополнения таких стандартов для масштабируемого видеокодирования (SVC). Хотя не показано на Фиг. 1, в некоторых аспектах видеокодер 20 и видеодекодер 22 могут быть интегрированы с аудио-кодером и декодером соответственно, и включать в себя соответствующие модули MUX-DEMUX либо другие аппаратные средства и программное обеспечение, чтобы обрабатывать кодирование аудио и видео в общем потоке данных или отдельных потоках данных. Если применимо, модули MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).

Стандарт H.264/MPEG-4 (AVC) сформулирован посредством Экспертной группы в области кодирования видео (VCEG) ITU-T совместно с Экспертной группой по киноизображению (MPEG) ISO/IEC как продукт коллективного партнерского проекта, известного как Объединенная группа по видеостандартам (JVT). В некоторых аспектах методики, описанные в данном изобретении, могут быть применены для того, чтобы реализовать дополнения по масштабируемости видео с низкой сложностью для устройств, которые в иных отношениях соответствуют стандарту H.264. Например, дополнения масштабируемости видео могут представлять потенциальные модификации в будущие версии или дополнения стандарта H.264 или других стандартов. Стандарт H.264 описан в ITU-T Recommendation H.264 "Advanced video coding for generic audiovisual services" посредством Исследовательской группы ITU-T, и датирован мартом 2005 года, который может упоминаться в данном документе как стандарт H.264 или спецификация H.264 либо стандарт или спецификация H.264/AVC.

Объединенная группа по видеостандартам (JVT) продолжает работать над дополнением по масштабируемому видеокодированию (SVC) в H.264/MPEG-4 AVC. Спецификация H.264/MPEG-4AVC и развивающегося дополнения SVC приводится в форме совместного проекта (JD). Объединенная модель масштабируемого видео (JSVM), созданная посредством JVT, реализует средства для использования в масштабируемом видео, которые могут быть использованы в рамках системы 10 для различных задач кодирования, описанных в данном изобретении. Подробную информацию, касающуюся одного примера системы кодирования с масштабируемостью SNR с высокой степенью детализации (FGS), можно найти в документах Совместного проекта, к примеру, в Joint Draft 6 (SVC JD6), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz и Mathias Wien, "Joint Draft 6: Scalable Video Coding", JVT-S 201, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, апрель 2006 года, Женева, и в Joint Draft 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz и Mathias Wien, "Joint Draft 9 of SVC Amendment", JVT-V 201, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, январь 2007, Марракеш, Марокко.

Видеокодер 20 может быть выполнен с возможностью формировать FGS-серии последовательных макроблоков, к примеру, в соответствии с документами JD дополнения SVC к стандарту H.264/MPEG-4 AVC. В некоторых аспектах FGS-сериями последовательных макроблоков могут быть серии последовательных макроблоков с постепенным уточнением (PR). FGS-серия последовательных макроблоков может отсекаться почти произвольно. По мере того как видеодекодер 22 принимает и декодирует больше битов из FGS-серии последовательных макроблоков, он формирует лучшее качество видео. FGS-кодирование в JSVM спроектировано таким образом, что улучшение качества видео равномерно распределено по всему видеокадру, в отличие от концентрации только в рамках определенной пространственной области кадра. Сложность кодирования и декодирования в FGS-серии последовательных макроблоков может быть высокой в отношении требований по вычислениям и памяти. Помимо этого, процесс декодирования для FGS-серии последовательных макроблоков, как указано в документах JD, может быть комплексным.

В некоторых аспектах для широковещательной передачи видео данное изобретение предполагает применение к улучшенному видеокодированию H.264 для доставки видеоуслуг реального времени в системах наземной многоадресной передачи мобильного мультимедиа (TM3), использующих спецификацию радиоинтерфейса только прямой линии связи (FLO), "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast", которая должна быть опубликована как Технический стандарт TIA-1099 ("FLO Specification"). Спецификация FLO включает в себя примеры, задающие синтаксис и семантику потока битов и процессы декодирования, подходящие для радиоинтерфейса FLO. Альтернативно, видео может передаваться в широковещательном режиме согласно другим стандартам, таким как DVB-H (цифровая широковещательная передача видео для карманных устройств), ISDB-T (комплексные службы цифровой наземной широковещательной передачи) или DMB (цифровая широковещательная передача мультимедиа). Следовательно, исходным устройством 12 может быть мобильный беспроводной терминал, такой как мобильный беспроводной радиотелефон, сервер потоковой передачи видео и сервер широковещательной передачи видео. Тем не менее, методики, описанные в данном изобретении, не ограничены каким-либо конкретным типом системы широковещательной, многоадресной передачи или передачи "точка-точка".

Видеокодер 20 и видеодекодер 22 могут быть реализованы как один или более микропроцессоров, процессоров цифровых сигналов, специализированных интегральных схем (ASIC), программируемых пользователем матричных БИС (FPGA), дискретная логика, программное обеспечение, аппаратные средства, микропрограммное обеспечение или любые комбинации вышеозначенного. Каждый из видеокодера 20 и видеодекодера 22 может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть комбинированного кодера/декодера (CODEC) в соответствующем абонентском устройстве, широковещательном устройстве, сервере и т.п. Помимо этого, устройство 12 источника видео и устройство 14 назначения видео могут включать в себя соответствующие компоненты модуляции, демодуляции, частотного преобразования, фильтрации и усилителя для передачи и приема кодированного видео, в зависимости от необходимости, включая радиочастотные (RF) беспроводные компоненты и антенны. Тем не менее, для упрощения иллюстрации эти компоненты не показаны на Фиг. 1.

Видеопоследовательность включает в себя серии видеокадров. Видеокодер 20 оперирует с блоками пикселов в рамках отдельных видеокадров, чтобы кодировать видеоданные. Видеоблоки могут иметь фиксированный или изменяющийся размер и могут отличаться в размере согласно заданному стандарту кодирования. В качестве примера, стандарт ITU-T H.264 поддерживает внутреннее прогнозирование для различных размеров блоков, таких как 16 на 16, 8 на 8, 4 на 4 для компонентов сигнала яркости и 8×8 для компонентов сигнала цветности, а также взаимное прогнозирование для различных размеров блоков, таких как 16 на 16, 16 на 8, 8 на 16, 8 на 8, 8 на 4, 4 на 8 и 4 на 4 для компонентов сигнала яркости и соответствующие масштабированные размеры для компонентов сигнала цветности. Меньшие видеоблоки могут предоставлять лучшее разрешение и могут быть использованы для позиций видеокадра, которые включают в себя более высокий уровень детальности. После прогнозирования преобразование может быть выполнено для остаточного блока 8×8 или остаточного блока 4×4 и дополнительное преобразование может быть применено к DC-коэффициентам блоков 4×4 для компонентов сигнала цветности или компонентов сигнала яркости, если используется режим прогнозирования intra_16×16.

Фиг. 2 - это схема, иллюстрирующая многослойное FGS-кодирование потока битов видео. Как показано на Фиг. 2, FGS-кодирование потока битов видео приводит к базовому слою 30 и одному или более улучшающих слоев 32A-32N (совместно слоям 32). Базовый слой 30 включает в себя серию кадров 34A-34N, которые кодируют поток битов видео с минимальным уровнем качества для данной скорости передачи битов. Каждый из улучшающих слоев 32 предоставляет дополнительную информацию по потокам передачи битов, которая может быть использована посредством декодера 26, чтобы постепенно повышать начальное качество, предоставляемое посредством базового слоя 30. Число улучшающих слоев 32, обрабатываемых посредством видеодекодера 22, зависит от числа улучшающих слоев, передаваемых посредством исходного устройства 12 и принимаемых посредством устройства 14 назначения, к примеру, данного состояния канала или других ограничений.

В общем, каждый соответствующий улучшающий слой 32A-32N или его часть, которая обрабатывается посредством декодера 22, пошагово добавляет качество видео, получаемое из базового слоя 30, в отношении SNR, в соответствии с настоящим изобретением. Улучшающие слои 32A-32N также могут быть применены для пространственной и/или временной масштабируемости. Вместо обработки каждого улучшающего слоя 32A-32N полностью как дискретного улучшающего слоя, система 10 может предоставлять возможность кодирования, передачи и обработки улучшающих слоев масштабируемости с помощью обобщенного FGS-подхода. Таким образом, SNR может быть масштабироваться с высокой степенью детализации, предлагая непрерывные улучшения качества при частичном декодировании улучшающих слоев. Улучшающие слои 32A-32N могут быть иерархическими в том смысле, что слои предлагают постепенно улучшающееся качество по мере того, как они декодируются. Декодирование всех улучшающих слоев, к примеру, создает максимальное качество, тогда как декодирование только первого улучшающего слоя создает шаговое увеличение качества относительно декодирования только базового слоя.

Фиг. 3 - это схема, иллюстрирующая зигзагообразное сканирование блочных коэффициентов в блоках 46A-46C для FGS-кодирования видеокадров. FGS-серия последовательных макроблоков, такая как PR-серия последовательных макроблоков в SVC может быть сформирована с помощью основанного на циклах кодирования вместо основанного на блоках кодирования коэффициентов преобразования. Основанное на циклах кодирование в блоках уменьшает пространственную концентрацию SNR-улучшений в видеокадре. В каждом цикле FGS-сконфигурированный видеокодер 20 кодирует самое большее один ненулевой коэффициент в блоке коэффициентов преобразования и переходит к следующему блоку. Как показано на Фиг. 3 и 4, в цикле 0 видеокодер 20 сначала кодирует флаг кодированного блока (CBF) в первом блоке 46A, т.е. блоке 0. Если блок 0 содержит ненулевые значимые коэффициенты, видеокодер 20 кодирует один или более коэффициентов из того же блока до тех пор, пока он не закончит кодирование первого значимого коэффициента в зигзагообразном порядке сканирования, проиллюстрированном на Фиг. 3. Этот процесс продолжается до тех пор, пока все блоки, к примеру, в видеокадре или части видеокадра не отсканированы. Видеокодер 20 переходит к следующему циклу кодирования, циклу 1. Если коэффициентом в позиции сканирования цикла является уточняющий коэффициент, видеокодер 20 кодирует только этот уточняющий коэффициент и перемещается к следующему блоку.

В примере по Фиг. 3 предполагается, что блоки 46A, 46B и 46C являются первыми тремя блоками в FGS-серии последовательных макроблоков улучшающего слоя видеокадра. В этом примере каждый блок 46A, 46B, 46C представляется как блок 4-на-4 коэффициентов преобразования. Блоки 46A, 46B и 46C показаны в области преобразования. Как следствие, каждое число или переменная в блоке 46A, 46B, 46C является квантованным коэффициентом, который должен быть кодирован посредством энтропийного кодирования без потерь. Коэффициент с меткой, начинающейся с буквы "S", к примеру, как указано посредством ссылки с номером 41 в блоке 46A, является ненулевым значимым коэффициентом. Поскольку этот блок 46A находится в улучшающем слое масштабируемости FGS SNR, для каждого коэффициента в блоке есть соответствующие коэффициенты в базовом слое.

Для ненулевого значимого коэффициента его значение является ненулевым, и его соответствующий коэффициент базового слоя является нулевым. Например, коэффициент S0, 1 соответствует ненулевому значимому коэффициенту в блоке 0 с индексом зигзагообразного сканирования 1. Коэффициент, помеченный как 0 - это нулевой коэффициент, и его соответствующий коэффициент базового слоя также является нулевым. Коэффициент с меткой, начинающейся с буквы "R", к примеру, как указано посредством ссылки с номером 43 в блоке 46A, является уточняющим коэффициентом с соответствующим коэффициентом базового слоя, который является ненулевым, т.е. значимым. Значение уточняющего коэффициента может быть либо нулевым, либо ненулевым. Например, коэффициент R2, 2, как указано посредством ссылки с номером 43, является уточняющим коэффициентом в блоке 2 с индексом зигзагообразного сканирования 2. При классификации коэффициентов FGS-серии последовательных макроблоков улучшающего слоя таблица значимости зачастую используется. Эта таблица указывает позиции коэффициентов, которые уже стали значимыми в базовом слое. Коэффициенты в этих позициях улучшающего слоя являются уточняющими коэффициентами.

Видеокодер 20, как описано в данном документе, может рассматриваться как предоставляющий дополнение в энтропийный кодер, используемый при кодировании базового слоя, такой как энтропийный кодер, предполагаемый посредством стандарта ITU-T H.264. В частности, блочное секционирование, преобразование и квантование, используемое посредством видеокодера 20 в улучшающем слое, аналогично этим операциям, используемым в базовом слое. Чтобы более эффективно кодировать нули, синтаксические элементы, такие как флаг кодированного блока (CBF) и конец блока (EOB), могут быть использованы. Аналогичные синтаксические элементы также используются в кодировании базового слоя. CBF отправляется один раз для каждого блока и указывает наличие ненулевого значимого коэффициента в каждом блоке. Если CBF равно 0, нет ненулевых значимых коэффициентов; в противном случае есть, по меньшей мере, один ненулевой значимый коэффициент. Флаг EOB используется для того, чтобы указать то, является ли только что кодированный ненулевой значимый коэффициент последним ненулевым значимым коэффициентом в порядке сканирования.

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

Фиг. 4 - это схема, иллюстрирующая один пример основанного на циклах кодирования коэффициентов и синтаксических элементов в FGS-серии последовательных макроблоков для видеоблоков 46A-46C, размещающихся в зигзагообразном порядке сканирования. В некоторых аспектах данного изобретения FGS-серией последовательных макроблоков может быть PR-серия последовательных макроблоков, хотя методики, описанные в данном изобретении, не обязательно ограничены применением PR-серий последовательных макроблоков.

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

Как показано на Фиг. 4, для цикла 0, CBF (CBF0, CBF1, CBF2) отправляется один раз для каждого блока 46A, 46B, 46B и указывает то, что имеется ненулевой значимый коэффициент в блоке. Например, CBF0/1 соответствует первому блоку 0 и указывает то, что имеется ненулевой значимый коэффициент в блоке. Помимо этого, нулевой коэффициент 0 и ненулевой коэффициент S0, 1 из блока 0, который соответствует ненулевому значимому коэффициенту в блоке 0 с индексом зигзагообразного сканирования 1, отправляются в цикле 0. CBF 1/0, тем не менее, соответствует второму блоку (блоку 1) и указывает то, что нет ненулевых значимых коэффициентов в блоке. Следовательно, отсутствуют коэффициенты, отправленные для блока 1 в последующих циклах. Цикл 0 дополнительно включает в себя CBF2/1, указывающий то, что блок 2 включает в себя ненулевой значимый коэффициент, S2, 0, и сам коэффициент S2, 0.

Цикл 1 включает в себя флаг EOB (EOB2/0) для блока 2, указывающий то, только что кодированный ненулевой значимый коэффициент в цикле 0, т.е. S2, 0, не является последним ненулевым значимым коэффициентом в порядке сканирования. В оставшихся циклах кодирование блоков продолжается так, чтобы следовать зигзагообразному порядку сканирования, и включает в себя такие синтаксические элементы, как CBF и EOB, при необходимости. Процесс продолжается для циклов 2-15 в зигзагообразном порядке сканирования, где каждый цикл соответствует одному событию в виде стрелки на блок-схеме Фиг. 4. Пример по Фиг. 3, 4 и 5 относится к первым трем блокам 4×4 в улучшающем слое видеокадра для целей иллюстрации. Тем не менее, общая схема, проиллюстрированная на Фиг. 4-6, может быть применима к блокам больших размеров, а также большему числу блоков, охватывающих видеокадр или часть видеокадра.

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

Если к потокам битов из различных циклов можно напрямую осуществлять доступ, блок может быть полностью декодирован и затем обработан способом, аналогичным основанной на блоках обработке в базовом слое. Следовательно, способность легко осуществлять доступ к потокам битов из различных циклов может помогать в уменьшении сложности процесса кодирования FGS-серий последовательных макроблоков. В соответствии с примерным аспектом данного изобретения видеокодер 20 может быть выполнен с возможностью выполнять основанное на циклах кодирование коэффициентов блоков FGS-видеоданных и инкапсулировать результирующие циклы кодирования в фрагменты для передачи через сетевые передающие модули, такие как модули уровня абстрагирования от сети (NAL). Чтобы обеспечить простой доступ к потокам битов из различных циклов, фрагменты могут быть выровненными с циклом с тем, чтобы начало каждого из фрагментов практически совпадало с началом одного из циклов. Таким образом, потоки битов, ассоциативно связанные с отдельными циклами кодирования, могут быть легко доступны через фрагменты.

Совместный проект дополнения SVC к стандарту H.264/MPEG-4 AVC задает единицу данных, называемую "фрагмент", которая содержит частичный FGS-слой. Фрагменты могут быть ис