Многоуровневая структура кодированного битового потока

Иллюстрации

Показать все

Изобретение относится к цифровому кодированию видеоданных и, более конкретно, к кодированию информации заголовка блока видеопоследовательности. Техническим результатом является обеспечение уровневой структуры кодированного битового потока, которая использует корреляцию в информации заголовка между видеоблоками кодируемого единичного элемента видеоданных. Указанный технический результат достигается тем, что видеокодер отделяет информацию заголовка видеоблоков слоя (или другого кодированного единичного элемента данных) от остаточной информации видеоблоков упомянутого слоя и выполняет кодирование длин серий в отношении информации заголовка видеоблоков для лучшего использования корреляции информации заголовка между блоками упомянутого слоя. После кодирования информации заголовка блоков упомянутого слоя видеокодер кодирует остаточную информацию для каждого из блоков упомянутого слоя и передает кодированную информацию заголовка в качестве первой последовательности битов и передает кодированную остаточную информацию в качестве второй последовательности битов. 8 н. и 70 з.п. ф-лы, 12 ил.

Реферат

Настоящая заявка испрашивает приоритет на основании предварительной заявки на патент US № 60/979734, поданной 12 октября 2007 г., содержание которой в полном объеме включено в данный документ посредством ссылки.

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

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

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

Функциональные возможности цифрового видео могут быть использованы в обширном наборе устройств, включая цифровое телевидение, системы цифрового прямого вещания, устройства беспроводной связи, системы беспроводного вещания, персональный цифровой секретарь (PDA), портативный переносной компьютер или настольный компьютер, цифровые камеры, цифровые записывающие устройства, устройства для видеоигр, приставки для видеоигр, сотовые и спутниковые радиотелефоны и другие подобные устройства. Для более эффективной передачи и приема видеоданных цифровые видеоустройства используют технологии сжатия видеоданных, такие как MPEG-2, MPEG-4 или H264/MPEG-4, Part 10, обычно называемые расширенным кодированием видеоданных (AVC). Технологии сжатия видеоданных выполняют пространственное и временное предсказание для снижения или исключения избыточности, присущей видеопоследовательностям.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 7А-7С - иллюстрируют примерные структуры кодированного битового потока.

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

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

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

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

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

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

Информация заголовка для некоторого количества блоков кодируемого единичного элемента данных может быть пространственно коррелированна. Другими словами, некоторое количество блоков слоя (или другого кодируемого единичного элемента данных) может включать в себя аналогичную информацию заголовка блока, то есть один или более одинаковых синтаксических элементов заголовка. Например, некоторое количество блоков упомянутого слоя может иметь одинаковый тип блока, одинаковый дельта-QP и так далее. Используя преимущество такой корреляции, энторпийным кодером может быть достигнута большая эффективность кодирования. Если энтропийный кодер использует арифметическое кодирование, такая корреляция обычно используется посредством формирования контекстов арифметического кодирования, основанных на значениях одинаковых синтаксических элементов соседних блоков. Если энтропийный кодер использует кодирование с переменной длиной (кодового слова) (VLC), такая корреляция обычно используется посредством предсказания значения текущего синтаксического элемента относительно значений того же самого синтаксического элемента соседних блоков. Поскольку традиционный видеокодер кодирует видеоблоки упомянутого слоя в режиме «блок за блоком», то традиционный видеокодер может не иметь возможности использовать полностью корреляцию информации заголовка между блоками упомянутого слоя. Это, в частности, справедливо для случая, когда энтропийный кодер использует кодирование с переменной длиной. Используя синтаксический элемент заголовка для типа блока, в качестве примера, даже если некоторое количество последовательных блоков имеет одинаковый тип блока, традиционный видеокодер, работающий в режиме VLC, может посылать 1-битный флаг для каждого блока для указания того, что тип блока является тем же самым, что и предыдущего блока. Таким образом, традиционный видеокодер, использующий VLC, может кодировать, по меньшей мере, один бит на один блок и на один синтаксический элемент для использования корреляции информации заголовка между блоками упомянутого слоя.

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

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

Фиг. 1 представляет собой блок-схему, иллюстрирующую систему 10 кодирования и декодирования видеоданных. Как показано на фиг. 1, система 10 включает в себя устройство-источник 12, которое передает кодированные видеоданные приемному устройству 14 посредством канала 16 связи. Канал 16 связи может содержать любую беспроводную или проводную среду передачи данных, например радиочастотный (RF) спектр, или одну или более физических линий передачи данных, или любую комбинацию беспроводной и проводной сред передачи данных. Канал 16 связи может образовывать часть сети пакетной передачи данных, такой как локальная сеть, широкомасштабная сеть или глобальная сеть, такая как Интернет. Канал 16 связи в целом представляет любую подходящую среду связи, или набор различных сред связи, для передачи кодированных видеоданных от устройства-источника 12 к приемному устройству 14.

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

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

Каждый видеоблок, часто называемый макроблоком (MB), может быть скомпонован в подблоки. В качестве примера, стандарт Н.264 согласно международному союзу электросвязи - сектору телекоммуникаций (ITU-T) поддерживает внутриблочное предсказание в различных размерах блока, таких как 16×16, 8×8, 4×4 для компонентов яркости, и 8×8 для компонентов цветности, а также внутриблочное предсказание в различных размерах блока, таких как 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 и 4×4 для компонентов яркости и в соответствующих масштабированных размерах для компонентов цветности. Видеоблоки меньших размеров могут обеспечить лучшее разрешение и могут быть использованы для тех местоположений видеокадра, которые имеют более высокие уровни детализации. В общем, макроблоки (MB) и различные подблоки могут рассматриваться в качестве видеоблоков. Таким образом, MB могут рассматриваться в качестве видеоблоков, и, в случае деления на разделы или подразделы, MB могут сами рассматриваться в качестве определяющих наборы видеоблоков. В дополнение, слой может рассматриваться в качестве набора видеоблоков, например, набора MB и/или подблоков. Как это уже было отмечено, каждый слой может представлять собой независимо декодируемый единичный элемент данных видеокадра. Если видеокадр представляет собой кодируемый единичный элемент данных (а не слой), то видеокадр также может рассматриваться в качестве набора видеоблоков, например набора MB и/или подблоков.

Вслед за внутриблочным или межблочным предсказанием видеоблоков, видеокодер 20 может выполнить некоторое количество операций над видеоблоками. Как это будет далее описано более подробно со ссылкой на фиг. 2, эти дополнительные операции могут включать в себя операции преобразования (например, преобразование с целыми числами для размеров 4×4 или 8×8 согласно H.264/AVC или дискретное косинусное преобразование (DCT)), операции квантования и операции энтропийного кодирования (например, кодирование с переменной длиной (кодового слова) (VLC), бинарное арифметическое кодирование или другая методика энтропийного кодирования).

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

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

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

В некоторых случаях, видеокодер 20 может кодировать и передать уровень заголовка слоя в структуре кодированного уровневого битового потока до кодирования и передачи соответствующего остаточного уровня упомянутого слоя. В других случаях, однако, видеокодер 20 может кодировать и передать уровень заголовка слоя в структуре кодированного уровневого битового потока после кодирования и передачи соответствующего остаточного уровня упомянутого слоя. В любом случае, видеокодер 20 может дополнительно кодировать идентификатор, который указывает местоположение, в котором кодированная уровневая структура битового потока переходит от уровня заголовка к остаточному уровню или от остаточного уровня к уровню заголовка. Устройство-источник 12 передает кодированные видеоданные приемному устройству посредством передатчика 22.

Приемное устройство 14 может включать в себя приемник 24, видеодекодер 26 и устройство 28 отображения. Приемник 24 принимает кодированный уровневый битовый поток видеоданных от устройства-источника 12 посредством канала 16. Видеодекодер 26 декодирует уровневый битовый поток видеоданных для получения информации заголовка для блоков слоя и остаточной информации для блоков слоя. Видеодекодер 26 может идентифицировать уровень заголовка и остаточный уровень, используя идентификатор, находящийся в уровневом битовом потоке, который указывает местоположение перехода от уровня заголовка к остаточному уровню. Видеодекодер 26 устанавливает связь информации заголовка (например, синтаксические элементы заголовка) с остаточной информацией каждого из блоков слоя. Видеодекодер 26 восстанавливает видеоблоки упомянутого слоя с помощью формирования блока предсказания для каждого из блоков с использованием информации заголовка и объединения блока предсказания с соответствующей остаточной информацией блока. Приемное устройство 14 может отображать реконструированные видеоблоки пользователю с помощью устройства 28 отображения. Устройство 28 отображения может содержать любое из разнообразных устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), дисплей на основе светоизлучающих диодов (LED), дисплей на основе органических LED или другой тип устройства отображения.

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

Видеокодер 20 и видеодекодер 26 могут работать в соответствии со стандартом сжатия видеоданных, таким как стандарт экспертной группы по вопросам движущегося изображения (MPEG)-2, MPEG-4, ITU-T H.263 или ITU-T 264/MPEG-4, Part 10, расширенное кодирование видеоданных (AVC). Несмотря на то, что это не показано на фиг. 1, в некоторых аспектах видеокодер 20 и видеодекодер 26 могут быть каждый объединены с аудиокодером и аудиодекодером соответственно и могут включать в себя соответствующие устройства MUX-DEMUX или другое аппаратное обеспечение и программное обеспечение для того, чтобы кодировать и аудиоданные и видеоданные в общем потоке данных или раздельных потоках данных. Таким образом, устройство-источник 12 и приемное устройство 14 могут работать с мультимедийными данными. Если это применимо, то устройства MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, например пользовательскому протоколу дейтаграмм (UDP).

Стандарт AVC H.264/MPEG-4 был сформулирован экспертной группой по кодированию видеоданных (VCEG) ITU-T вместе с MPEG ISO/IEC в результате коллективного сотрудничества, известного как объединенная группа по вопросам видео (JVT). В некоторых аспектах, способы, описанные в настоящем раскрытии, могут быть применены к устройствам, которые в целом соответствуют стандарту H.264. Стандарт H.264 описывается группой по изучению ITU-T в рекомендации ITU-T к H.264, расширенном кодировании видеоданных для общих аудиовизуальных услуг, от марта 2005 г., который может упоминаться в данном документе как стандарт H.264 или спецификация H.264 либо как стандарт или спецификация H.264/AVC.

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

В некоторых аспектах, для широковещательной передачи видео, способы, описанные в настоящем раскрытии, могут быть применены к расширенному H.264 кодированию видеоданных для предоставления услуг видео в реальном времени в системах наземной мобильной многоадресной передачи мультимедийных данных (TM3), использующих спецификацию радиоинтерфейса, предназначенную только для прямых линий связи (FLO), «Forward Link Only (FLO) Air Interface Specification», опубликованную в июле 2007 г. в качестве технического стандарта TIA-1099 («FLO Specification»). То есть канал 16 связи может включать в себя беспроводной информационный канал, используемый для беспроводной трансляции видеоинформации в соответствии с FLO Specification, или подобный. FLO Specification включает в себя примеры, определяющие синтаксис и семантику битового потока, а также процессы декодирования, подходящие для радиоинтерфейса FLO.

Альтернативно, видео может транслироваться в соответствии с другими стандартами, например DVB-H (трансляция цифрового видео для портативных компьютеров), ISDB-T (цифровое вещание с интегрированными услугами для наземных систем связи) или DMB (цифровое мультимедийное вещание). Следовательно, устройство-источник 12 может быть мобильным беспроводным терминалом, сервером потокового видео или сервером трансляции видео. Тем не менее, способы, описанные в настоящем раскрытии, не ограничиваются каким-либо определенным типом систем широковещательной передачи, многоадресной передачи или систем типа «точка-точка». В случае с широковещательной передачей, устройство-источник 12 может осуществлять широковещательную передачу нескольких каналов видеоданных множеству приемных устройств, каждое из которых может быть аналогичным приемному устройству 14, представленному на фиг. 1. Таким образом, несмотря на то, что на фиг. 1 показано одно приемное устройство 14, в случае с широковещательной передачей видео, устройство-источник 12 обычно осуществляет широковещательную передачу виде