Выбор таблицы кодирования с переменной длиной на основании типа видеоблока для совершенствования кодирования коэффициентов
Иллюстрации
Показать всеИзобретение относится к цифровому кодированию видео и, более конкретно, кодированию с переменной длиной (VLC) коэффициентов преобразования в уровнях расширения схемы масштабируемого кодирования видео (SVC). Техническим результатом является повышение эффективности кодирования коэффициентов преобразования и, в частности, при кодировании с переменной длиной коэффициентов детализации уровня расширения схемы SVC. Указанный технический результат достигается тем, что информация передается с устройства кодера на устройство декодера, которая идентифицирует - какие таблицы кодирования с переменной длиной должны использоваться для декодирования двух или более различных типов видео блоков. Информация может быть передана однажды за кадр (или другую кодированную единицу) и может идентифицировать первую таблицу, которая должна использоваться для интра-кодированных блоков, и вторую таблицу, которая должна использоваться для интер-кодированных блоков соответствующего кадра; декодер выполняет выбор таблицы на основании этой информации и декодирует различные типы видео блоков, используя выбранную таблицу для каждого типа блока. 4 н. и 21 з.п. ф-лы, 8 ил., 1 табл.
Реферат
[0001] Настоящая заявка испрашивает приоритет следующих предварительных заявок на патент США, все содержание каждой из которых включается здесь по ссылке:
предварительная заявка на патент США № 60/829,274, поданная 12 октября 2006,
предварительная заявка на патент США № 60/883,741, поданная 5 января 2007, и
предварительная заявка на патент США № 60/829,276, поданная 12 октября 2006.
Область техники, к которой относится изобретение
[0002] Это раскрытие относится к цифровому кодированию видео и, более конкретно, кодированию с переменной длиной (VLC) коэффициентов преобразования в уровнях расширения схемы масштабируемого кодирования видео (SVC).
Уровень техники
[0003] Цифровые возможности видео могут быть включены в широкий диапазон устройств, включая цифровые телевизоры, системы цифрового прямого вещания, устройства беспроводной связи, системы беспроводного вещания, персональные цифровые ассистенты (PDA), портативные или настольные компьютеры, цифровые камеры, цифровые устройства записи, устройства видеоигр, пульты компьютерных игр, сотовые или спутниковые радиотелефоны и т.п. Цифровые видеоустройства реализуют методики сжатия видеосигнала, такие как MPEG-2, MPEG-4 или H.264/MPEG-4, часть 10, Усовершенствованное Кодирование Видео (УВК, AVC), чтобы передавать и принимать цифровое видео более эффективно. Методики сжатия видеосигнала выполняют пространственное и временное предсказание, чтобы сократить или удалить избыточность, свойственную видеопоследовательностям.
[0004] При кодировании видео сжатие видео часто включает в себя пространственное предсказание, оценку движения и компенсацию движения. Интракодирование полагается на пространственное предсказание, чтобы уменьшить или удалить пространственную избыточность между видеоблоками в пределах заданного видеокадра. Интеркодирование полагается на временное предсказание, чтобы уменьшить или удалить временную избыточность между видеоблоками последовательных видеокадров видеопоследовательности. Для интеркодирования видеокодер выполняет оценку движения, чтобы отследить движение совпадающих видеоблоков между двумя или более смежными кадрами. Оценка движения генерирует векторы движения, которые указывают смещение видеоблоков относительно соответствующих блоков видео предсказания в одном или более опорных кадрах. Компенсация движения использует векторы движения, чтобы сгенерировать блоки видео предсказания из опорного кадра. После компенсации движения остаточный видеоблок формируется посредством вычитания блока видео предсказания из первоначального видеоблока, который должен быть закодирован.
[0005] Видеокодер обычно применяет процессы преобразования, квантования и кодирования с переменной длиной (КПД, VLC), чтобы дополнительно уменьшить скорость передачи в битах, ассоциированную с передачей остаточного блока. VLC остаточных блоков включает применение кодов переменной длины, чтобы дополнительно сжать остаточные коэффициенты, сформированные операциями квантования и преобразования. Например, таблица VLC может быть использована для согласования различных наборов коэффициентов с кодовым словом переменной длины способом, который способствует эффективности кодирования. Различные таблицы VLC могут использоваться для различного видеоконтента. Видеодекодер выполняет обратные операции VLC, чтобы восстановить коэффициенты, и затем выполняет обратное преобразование этих коэффициентов. Видеодекодер может декодировать видеоинформацию на основании информации движения и остаточной информации, ассоциированной с видеоблоками.
[0006] Некоторое видеокодирование использует масштабируемые методики. Например, масштабируемое кодирование видео (SVC) относится к кодированию видео, в котором используются базовый уровень и один или более масштабируемых уровней расширения. Для SVC базовый уровень обычно несет видеоданные с базовым уровнем качества. Один или более уровней расширения несут дополнительные видеоданные, чтобы поддержать более высокие пространственный, временной и/или SNR уровни. Базовый уровень может быть передан способом, который более надежен, чем передача уровней расширения. Уровни расширения могут добавить пространственное разрешение к кадрам базового уровня или могут добавить дополнительные кадры, чтобы увеличить полную частоту следования кадров. В одном примере наиболее надежные части модулированного сигнала могут быть использованы для передачи базового уровня, в то время как менее надежные части модулированного сигнала могут быть использованы для передачи уровней расширения. Уровни расширения могут определять различные типы коэффициентов, называемых существенными коэффициентами и коэффициентами усовершенствования (детализации).
Сущность изобретения
[0007] В целом, это раскрытие описывает способы кодирования уровня расширения в схеме масштабируемого кодирования видео (SVC). Эти способы предусматривают выбор таблиц кодирования с переменной длиной (VLC) в декодере способом, который способствует упрощению вычислений. Эти способы могут использоваться при кодировании коэффициентов преобразования и особенно полезны в VLC коэффициентов детализации уровня расширения в схеме SVC. Коэффициенты детализации относятся к коэффициентам уровня расширения, для которого соответствующие коэффициенты предыдущего уровня в схеме SVC имели ненулевые значения. Кодирование с переменной длиной коэффициентов детализации может быть выполнено отдельно от кодирования с переменной длиной существенных коэффициентов, которые относятся к коэффициентам уровня расширения, для которого соответствующие коэффициенты предыдущего уровня в схеме SVC имели значения нуля.
[0008] Согласно способам этого раскрытия информация передается от устройства кодера на устройство декодера, которое идентифицирует, какие таблицы VLC должны использоваться для декодирования двух или более различных типов видеоблоков. Информация может быть передана однажды за кадр (или другую кодированную единицу, такую как срез (slice) или уровень FGS кадра) и может идентифицировать первую таблицу, которая должна использоваться для интракодированных (внутрикодированных) блоков, и вторую таблицу, которая должна использоваться для интеркодированных блоков соответствующего кадра. Декодер выполняет выбор таблицы VLC на основе этой информации и декодирует видеоблоки, используя выбранные таблицы VLC. Кроме того, в некоторых случаях кодер и декодер имеют соглашение относительно таблиц, которые должны использоваться для различных типов блоков. В этом случае таблицы, которые используются, являются зависимыми от типа блока, но никакая дополнительная информация не должна быть передана от кодера на декодер, так как у кодера и декодера есть соглашение.
[0009] В одном примере это раскрытие обеспечивает способ кодирования уровня расширения в схеме SVC, причем способ содержит этапы: кодирование коэффициентов, ассоциированных с видеоблоками уровня расширения, на основании таблиц кодирования с переменной длиной, генерирование информации, идентифицирующей первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков, передачу информации, представляющей кодированные коэффициенты, к устройству декодирования и передачу информации, идентифицирующей первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков.
[0010] В другом примере это раскрытие обеспечивает способ кодирования уровня расширения для схемы SVC, причем способ содержит этапы: прием информации, представляющей закодированные коэффициенты, ассоциированные с видеоблоками уровня расширения, прием информации, идентифицирующей первую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования первого типа видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования второго типа видеоблоков, выбор таблиц для декодирования информации, представляющей кодированные коэффициенты, на основании информации, идентифицирующей первую и вторую таблицу кодирования с переменной длиной, которая должна использоваться, и декодирование информации, представляющей закодированные коэффициенты, на основании выбранных таблиц.
[0011] В другом примере это раскрытие обеспечивает устройство, которое кодирует уровень расширения в схеме SVC, причем устройство содержит: кодер, который кодирует коэффициенты, ассоциированные с видеоблоками уровня расширения, на основании таблиц кодирования с переменной длиной и генерирует информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков, и передатчик, который передает информацию, представляющую закодированные коэффициенты, и передает информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблока.
[0012] В другом примере это раскрытие обеспечивает устройство, которое кодирует уровень расширения схемы SVC, причем устройство содержит: приемник, который принимает информацию, представляющую закодированные коэффициенты, ассоциированные с видеоблоками уровня расширения, и принимает информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования первого типа видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования второго типа видеоблоков, и декодер, который выбирает таблицы для декодирования этой информации, представляющей кодированные коэффициенты, на основании информации, идентифицирующей первую и вторую таблицу кодирования с переменной длиной, которая должна использоваться, и декодирует информацию, представляющую закодированные коэффициенты, на основании выбранных таблиц.
[0013] В другом примере это раскрытие обеспечивает устройство, которое кодирует уровень расширения схемы SVC, причем устройство содержит: средство для кодирования коэффициентов, ассоциированных с видеоблоками уровня расширения, на основании таблиц кодирования с переменной длиной, в котором средство для кодирования генерирует информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков, и средство для передачи информации, представляющей закодированные коэффициенты, к устройству декодирования, при этом средство для передачи передает информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков.
[0014] В другом примере это раскрытие обеспечивает устройство, которое кодирует уровень расширения схемы SVC, причем устройство содержит средство для приема закодированных коэффициентов, ассоциированных с видеоблоками уровня расширения, причем средство для приема также принимает информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования первого типа видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования второго типа видеоблоков, средство для выбора таблиц для декодирования информации, представляющей закодированные коэффициенты, на основании информации, идентифицирующей первую и вторую таблицу кодирования с переменной длиной, которая должна использоваться, и средство для декодирования информации, представляющей закодированные коэффициенты, на основании выбранных таблиц.
[0015] Способы, описанные в этом раскрытии, могут быть реализованы в аппаратном обеспечении, программном обеспечении, программно-аппаратном обеспечении или любой их комбинации. При реализации в программном обеспечении программное обеспечение может быть выполнено в одном или более процессорах, таких как микропроцессор, специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA) или цифровой процессор сигналов (DSP). Программное обеспечение, которое выполняет эти способы, может быть первоначально сохранено в считываемом компьютером носителе и загружено и выполнено в процессоре.
[0016] Соответственно, это раскрытие также рассматривает считываемые компьютером носители, содержащие команды, которые после выполнения в устройстве кодирования видео заставляют устройство кодировать уровень расширения схемы SVC, при этом команды заставляют устройство кодировать коэффициенты, ассоциированные с видеоблоками уровня расширения, на основании таблиц кодирования с переменной длиной, генерировать информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблока, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблока, передавать информацию, представляющую закодированные коэффициенты, к устройству декодирования и передавать информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблока, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблока.
[0017] Кроме того, это раскрытие также рассматривает считываемые компьютером носители, содержащие команды, которые после выполнения в устройстве кодирования видео, заставляют это устройство кодировать уровень расширения схемы SVC, в котором после приема информации, представляющей закодированные коэффициенты, ассоциированные с видеоблоками уровня расширения, и приема информации, идентифицирующей первую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования первого типа видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования второго типа видеоблоков, команды заставляют это устройство выбирать таблицы для декодирования информации, представляющей закодированные коэффициенты, на основании информации, идентифицирующей первую и вторую таблицу кодирования с переменной длиной, которая должна использоваться, и декодировать информацию, представляющую закодированные коэффициенты, на основании выбранных таблиц.
[0018] В некоторых случаях считываемый компьютером носитель может быть частью компьютерного программного продукта, который может быть продан изготовителям и/или использоваться в устройстве кодирования видео. Компьютерный программный продукт может включать в себя считываемый компьютером носитель, и в некоторых случаях может также включать в себя упаковочные материалы.
[0019] Это раскрытие может также относиться к схеме, такой как интегральная схема, набор специализированных интегральных схем (ASIC), программируемая пользователем вентильная матрица (FPGA), логика или различные их комбинации, сконфигурированные, чтобы выполнить один или более способов, описанных здесь. Соответственно, это раскрытие также рассматривает схему, конфигурированную для кодирования уровня расширения схемы SVC, причем эта схема конфигурируется, чтобы кодировать коэффициенты, ассоциированные с видеоблоками уровня расширения, на основании таблиц кодирования с переменной длиной, генерировать информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков, передавать информацию, представляющую закодированные коэффициенты, к устройству декодирования, и передавать информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать первый тип видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна использоваться устройством декодирования, чтобы декодировать второй тип видеоблоков.
[0020] Это раскрытие также рассматривает схему, конфигурированную для кодирования уровня расширения схемы масштабируемого кодирования видео (SVC), при этом схема конфигурируется, чтобы принимать информацию, представляющую кодированные коэффициенты, ассоциированные с видеоблоками уровня расширения, принимать информацию, идентифицирующую первую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования первого типа видеоблоков, и вторую таблицу кодирования с переменной длиной, которая должна быть использована для декодирования второго типа видеоблоков, выбирать таблицы для декодирования информации, представляющей закодированные коэффициенты, на основании информации, идентифицирующей первую и вторую таблицу кодирования с переменной длиной, которая должна использоваться, и декодирования информации, представляющей закодированные коэффициенты, на основании выбранных таблиц.
[0021] Кроме того, это раскрытие рассматривает схему, конфигурированную для кодирования уровня расширения схемы SVC, причем схема конфигурируется, чтобы принимать информацию, представляющую закодированные коэффициенты, ассоциированные с видеоблоками уровня расширения, выбирать различные таблицы кодирования с переменной длиной, которые должны быть использованы для декодирования информации, на основании типов блока, ассоциированных с видеоблоками, в соответствии с соглашением, установленным кодером, декодировать информацию, представляющую закодированные коэффициенты, на основании выбранных таблиц.
[0022] Подробности одного или более аспектов раскрытия формулируются в сопроводительных чертежах и описании, приведенном ниже. Другие признаки, задачи и преимущества методик, описанных в этом раскрытии, будут очевидны из описания и чертежей и из формулы изобретения.
Краткое описание чертежей
[0023] Фиг.1 - примерная блок-схема, иллюстрирующая систему кодирования и декодирования видео.
[0024] Фиг.2 - концептуальная диаграмма, иллюстрирующая видеокадры базового уровня и уровня расширения масштабируемого битового потока видео.
[0025] Фиг.3 - блок-схема, иллюстрирующая пример видеокодера, совместимого с настоящим изобретением.
[0026] Фиг.4 - блок-схема, иллюстрирующая пример видеодекодера, совместимого с настоящим изобретением.
[0027] Фиг.5 - примерная блок-схема модуля кодирования с кодированием с переменной длиной (VLC).
[0028] Фиг.6 - примерная блок-схема модуля декодирования VLC.
[0029] Фиг.7 - схема последовательности операций, иллюстрирующая методику VLC для кодирования с переменной длиной, совместимую с настоящим изобретением.
[0030] Фиг.8 - схема последовательности операций, иллюстрирующая методику VLC для декодирования с переменной длиной, совместимую с настоящим изобретением.
Подробное описание
[0031] Это раскрытие описывает методики для кодирования уровня расширения в схеме масштабируемого кодирования видео (SVC). Эти методики предусматривают выбор таблиц кодирования с переменной длиной (VLC) в декодере способом, который улучшает простоту вычислений. Эти методики могут использоваться при кодировании коэффициентов преобразования и особенно полезны при кодировании с переменной длиной коэффициентов детализации уровня расширения схемы SVC. Коэффициенты детализации относятся к коэффициентам уровня расширения, для которого соответствующие коэффициенты предыдущего уровня в схеме SVC имеют ненулевые значения. Кодирование с переменной длиной коэффициентов детализации может быть выполнено отдельно от кодирования с переменной длиной существенных коэффициентов (например, для которого соответствующие коэффициенты предыдущего уровня в схеме SVC имеют нулевые значения).
[0032] Согласно методикам этого раскрытия информация, идентифицирующая, какие таблицы VLC должны использоваться для декодирования двух или более различных типов видеоблоков, передается с устройства кодера на устройство декодера. Эта информация может быть передана однажды за кадр (или другую кодированную единицу) и может идентифицировать первую таблицу, которая должна использоваться для интракодированных блоков, и вторую таблицы, которая должна использоваться для интеркодированных блоков соответствующего кадра. Декодер выполняет выбор таблицы на основе этой информации и декодирует видеоблоки, используя выбранные таблицы.
[0033] В устройстве кодера выбор таблицы VLC для кодирования различных видеоблоков может быть выполнен на основании информации, собранной для ранее или в настоящее время кодируемых кадров. Например, статистический анализ ранее закодированных кадров может быть выполнен, чтобы облегчить выбор таблицы в устройстве кодера. Такого в вычислительном отношении интенсивного анализа, однако, можно избежать в устройстве декодера. Вместо этого информация, идентифицирующая таблицы, которые должны быть выбраны для первого и второго типов видеоблоков, например интракодированный блок и интеркодированные блоки, может быть передана с устройства кодера на устройство декодера. Устройство декодера может использовать эту переданную информацию, чтобы облегчить надлежащие выборы таблицы. Альтернативно, в некоторых случаях кодер и декодер могут иметь соглашение относительно таблиц, которые должны использоваться для различных типов блоков. В этом случае таблицы, которые используются, являются зависимыми от типа блока, но никакая дополнительная информация не должна быть передана с кодера на декодер, так как кодер и декодер имеют соглашение.
[0034] Выбранные таблицы в кодере могут очень зависеть от уровня квантования, используемого в процессе кодирования. Уровень используемого квантования, в свою очередь, может зависеть от типа видеоблока. Так как уровень квантования, используемый в кодере, является обычно неизвестным на декодере, информация относительно типа видеоблока обеспечивает полезный механизм для выбора таблицы в декодере. В частности, так как уровень квантования может зависеть от типа видеоблока, выбор таблицы VLC в декодере на основании типа видеоблока может быть полезным. Таблицы VLC идентифицируются для декодера для различных типов видеоблока, и декодер может определить тип, ассоциированный с соответствующим видеоблоком, и использовать соответствующую таблицу VLC, чтобы декодировать этот соответствующий видеоблок.
[0035] Фиг.1 показывает блок-схему, иллюстрирующую систему 10 кодирования и декодирования видео. Как показано на Фиг.1, система 10 включает в себя устройство 12 источника, которое передает кодированное видео на устройство 16 приема по каналу 15 связи. Устройство 12 источника может включать в себя источник 20 видео, видеокодер 22 и модулятор/передатчик 24. Устройство 16 приема может включать в себя приемник/демодулятор 26, видеодекодер 28 и устройство 30 отображения. Система 10 может быть конфигурирована, чтобы применять методики для кодирования с переменной длиной (VLC) видеоинформации, ассоциированной с уровнем расширения, в схеме масштабируемого кодирования видео (SVC).
[0036] SVC относится к кодированию видео, в котором используются базовый уровень и один или более масштабируемых уровней расширения. Для SVC базовый уровень обычно несет видеоданные с базовым уровнем качества. Один или более уровней расширения несут дополнительные видеоданные, чтобы поддержать более высокий пространственный, временной и/или сигнал-к-шуму SNR уровни. Уровни расширения могут быть определены относительно ранее закодированного уровня. Уровни расширения определяют по меньшей мере два различных типа коэффициентов, называемых существенными коэффициентами и коэффициентами детализации (улучшения). Коэффициенты детализации могут определять значения относительно соответствующих значений ранее кодированного уровня. Кадры уровней расширения иногда включают в себя только часть общего количества видеоблоков в базовом уровне или предыдущем уровне расширения, например только те блоки, для которых выполняется расширение.
[0037] Существенные коэффициенты относятся к коэффициентам, для которых соответствующие коэффициенты в предыдущем уровне имели нулевые значения. Коэффициенты детализации относятся к коэффициентам, для которых соответствующие коэффициенты в предыдущем уровне имели ненулевые значения в предыдущем уровне. Кодирование с переменной длиной уровней расширения обычно использует подход с двумя проходами. Первый проход выполняется для кодирования длинами серий существенных коэффициентов, и другой проход выполняется, чтобы закодировать коэффициенты детализации. Методики этого раскрытия особенно полезны для кодирования с переменной длиной коэффициентов детализации, хотя настоящее раскрытие не обязательно ограничивается в этом отношении.
[0038] Согласно методикам этого раскрытия информация передается от устройства 12 источника на устройство 16 приема, которое идентифицирует, какие таблицы VLC должны использоваться для декодирования двух или более различных типов видеоблоков. Информация может быть передана однажды за кадр (или другую кодированную единицу), и может идентифицировать первую таблицу, которая должна использоваться для интракодированных блоков, и вторую таблицу, которая должна использоваться для интеркодированных блоков соответствующего кадра. Эта информация может содержать один или более битов, которые идентифицируют первую таблицу VLC для интракодированных блоков, и один или более битов, которые идентифицируют вторую таблицу VLC для интеркодированных блоков. Видео декодер 28 устройства 16 приема выполняет выбор таблицы на основании этой информации и декодирует видеоблоки, используя выбранные таблицы. Снова, однако, в некоторых случаях кодер 22 и декодер 28 могут иметь соглашение относительно таблиц, которые должны использоваться для различных типов блоков. В этом случае таблицы, которые используются, являются зависимыми от типа блока, но никакая дополнительная информация не должна быть передана от устройства 12 источника на устройство 16 приема, так как кодер 22 и декодер 28 имеют соглашение.
[0039] В примере на Фиг.1 канал 15 связи может содержать любой беспроводной или проводной носитель связи, такой как радиочастотного (РЧ) спектра или одну или более физических линий передачи, или любую комбинацию беспроводного или проводного носителей. Канал 15 связи может быть частью основанной на пакетной передаче сети, такой как локальная сеть, широкомасштабная сеть или глобальная сеть, такая как Интернет. Канал 15 связи обычно представляет собой любой подходящий коммуникационный носитель или «коллекцию» различных коммуникационных носителей для передачи видеоданных от устройства 12 источника на устройство 16 приема. Канал 15 связи может включать в себя различные базовые станции или другие компоненты, чтобы облегчить передачу от устройства 12 источника к устройству 16 приема.
[0040] Устройство 12 источника и устройство 16 приема могут содержать любое из широкого разнообразия устройств беспроводной связи, таких как беспроводные цифровые телевизоры, телефонные трубки устройства беспроводной связи, персональные цифровые ассистенты (PDA), беспроводной портативный или настольный компьютеры, беспроводные цифровые камеры, беспроводные цифровые устройства записи, беспроводные устройства видео игр, беспроводные консоли компьютерных игр, сотовые или спутниковые радиотелефоны и т.п.
[0041] Устройство 12 источника генерирует кодированные видеоданные для передачи на устройство 16 приема. В некоторых случаях, однако, устройства 12, 16 могут работать по существу симметричным способом. Например, каждое из устройств 12, 16 может включать в себя компоненты кодирования и декодирования видео. Следовательно, система 10 может поддержать одностороннюю или двухстороннюю передачу видео между видео устройствами 12, 16, например, для потоковой передачи видео, радиовещания видео или видео телефонии.
[0042] Источник 20 видео из устройства 12 источника может включать в себя устройство захвата видео, такое как видео камера, видео архив, содержащий ранее захваченное видео или видео передачу от поставщика видео контента. В качестве другой альтернативы источник 20 видео может генерировать основанные на компьютерной графике данные в качестве исходного видео или комбинацию видео в реальном масштабе времени и генерируемого компьютером видео. В некоторых случаях, если источник 20 видео является видео камерой, устройство 12 источника и устройство 16 приема могут сформировать так называемые телефоны с камерами или видеотелефоны. В каждом случае захваченное, предварительно захваченное или сгенерированное компьютером видео может быть закодировано видеокодером 22 для передачи от устройства 12 источника видео на видеодекодер 28 устройства 16 приема видео через модулятор/передатчик 22, канал 15 связи и приемник/демодулятор 26. Процессы кодирования и декодирования видео могут реализовать способы кодирования длинами серий, описанные здесь, чтобы улучшить эти процессы. Устройство 30 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как электронно-лучевая трубка, дисплей на жидких кристаллах (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения.
[0043] Видеокодер 22 и видеодекодер 28 могут быть конфигурированы, чтобы поддерживать SVC для пространственной, временной и/или отношения сигнал-шум (SNR) масштабируемости. В некоторых аспектах видеокодер 22 и видеодекодер 28 могут быть конфигурированы, чтобы поддержать кодирование с мелкой степенью детализации SNR масштабируемости (FGS), для SVC. Кодер 22 и декодер 28 могут поддерживать различные степени масштабируемости посредством поддержки кодирования, передачи и декодирования базового уровня и одного или более масштабируемых уровней расширения. Снова для масштабируемого кодирования видео базовый уровень несет видеоданные с базовым уровнем качества. Один или более уровней расширения несут дополнительные данные, чтобы поддерживать более высокий пространственный, временной и/или SNR уровни. Базовый уровень может быть передан способом, который более надежен, чем передача уровней расширения. Например, самые надежные части модулированного сигнала могут быть использованы для передачи базового уровня, в то время как менее надежные части модулированного сигнала могут быть использованы для передачи уровней расширения.
[0044] Чтобы поддержать SVC, видеокодер 22 может включать в себя кодер 32 базового уровня и один или более кодеров 34 уровня расширения, чтобы выполнить кодирование базового уровня и одного или более уровней расширения соответственно. Методики этого раскрытия, которые используют выбор таблицы VLC, применимы к кодированию видеоблоков уровней расширения в SVC.
[0045] Видеодекодер 28 может включать в себя объединенный декодер базового уровня/уровня расширения, который декодирует блоки видео и базового уровня и уровня расширения. Видеодекодер 28 может декодировать видеоблоки, ассоциированные и с базовым и с расширением уровнями, и комбинировать декодированное видео, чтобы восстановить кадры видео последовательности. Устройство 30 отображения принимает декодированную видео последовательность и представляет видео последовательность пользователю.
[0046] Видеокодер 22 и видеодекодер 28 могут работать согласно стандарту сжатия видео, такому как MPEG-2, MPEG-4, Н.263 ITU-T или ITU-T H.264/MPEG-4, Часть 10, Усовершенствованное Кодирование Видео (AVC). Хотя и не показано на Фиг.1, в некоторых аспектах видеокодер 22 и видеодекодер 28 могут быть, каждый, интегрированы с аудио кодером и декодером и могут включать в себя соответствующие модули MUX-DEMUX или другое аппаратное обеспечение и программное обеспечение для обработки кодирования и аудио и видео в общем потоке данных или отдельных потоках данных. Если применимо, модули MUX-DEMUX может соответствовать протоколу мультиплексора Н.223 ITU или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).
[0047] Стандарт H.264/MPEG-4 (AVC) был сформулирован Группой Экспертов Кодирования Видео (VCEG) ITU-T вместе с Группой Экспертов по Движущимся Изображениям ISO/IEC (MPEG) в качестве продукта коллективного партнерства, известного как Объединенная Видео Группа (JVT). В некоторых аспектах методики, описанные в этом раскрытии, могут быть применены к устройствам, которые обычно соответствуют стандарту H.264. Стандарт H.264 описывается в Рекомендации H.264 ITU-T, Усовершенствованное Кодирование Видео для универсальных аудиовизуальных служб, посредством Исследовательской Группы ITU-T, датированной мартом 2005, который может быть назван здесь как стандарт H.264 или спецификация H.264 или стандарт или спецификация H.264/AVC.
[0048] Объединенная Видео Группа (JVT) продолжает работать по расширению SVC на H.264/MPEG-4 AVC. Спецификация развивающегося расширения SVC находится в форме Объединенного Проекта (JD). Объединенная Масштабируемая Видео Модель (JSVM), созданная JVT, реализует инструментальные средства для использования в масштабируемом видео, которое может использоваться в системе 10 для различных задач кодирования, описанных в этом раскрытии. Подробная информация относительно кодирования масштабируемости SNR с мелкой степенью детализации (FGS) может быть найдена в документах Объединенного Проекта и, в частности, в Объединенном Проекте 6 (SVC JD6), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 6: Scalable Video Coding," JVT-S 201, April 2006, Geneva, и в Joint Draft 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 9 of SVC Amendment," JVT-V 201, January 2007, Marrakech, Morocco.
[0049] В некоторых аспектах для вещания видео методики, описанные в этом раскрытии, могут быть применены к Улучшенному кодированию видео H.264 для того, чтобы предоставить службы видео реального времени в системах наземного мобильного мультимедийного мультивещания (TM3), используя Спецификацию Эфирного Интерфейса Только Прямой Линии Связи (FLO), "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast," опубликованная как Technical Standard TIA-1099 ("Спецификация FLO"). То есть канал 15 связи может содержать беспроводный информационный канал, используемый для беспроводного вещания видеоинформации согласно Спецификации FLO, или подобное. Спецификация FLO включает в себя примеры, определяющие синтаксис и семантику битового потока и процессы декодирования, подходящие для эфирного интерфейса FLO. Альтернативно, видео может быть передано согласно другим стандартам, таким как DVB-H (вещание цифрового видео на портативные устройства), ISDB-T (наземное цифровое вещание интегрированных служб) или DMB (вещание цифровой аудиовизуальной информации). Следовательно, устройство 12 источника может быть мобильным беспроводным терминалом, сервером потоковой передачи видео или сервером вещания видео. Однако методики, описанные в этом раскрытии, не ограничиваются конкретным типо