RU2419244C2 - Выбор кодовой таблицы переменной длины на основе статистики типа блоков для кодирования коэффициентов уточнения - Google Patents
Выбор кодовой таблицы переменной длины на основе статистики типа блоков для кодирования коэффициентов уточнения Download PDFInfo
- Publication number
- RU2419244C2 RU2419244C2 RU2009129976/09A RU2009129976A RU2419244C2 RU 2419244 C2 RU2419244 C2 RU 2419244C2 RU 2009129976/09 A RU2009129976/09 A RU 2009129976/09A RU 2009129976 A RU2009129976 A RU 2009129976A RU 2419244 C2 RU2419244 C2 RU 2419244C2
- Authority
- RU
- Russia
- Prior art keywords
- video
- vlc
- type
- video blocks
- coding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относится к цифровому кодированию видео и, в частности, к кодированию с переменной длиной (VLC) коэффициентов преобразования в расширенных уровнях схемы масштабируемого кодирования видео (SVC). Техническим результатом является повышение эффективности кодирования видео. Указанный технический результат достигается тем, что определяют первое соотношение, связанное с первым типом видеоблока; определяют второе соотношение, связанное со вторым типом видеоблока, причем первое и второе соотношения основаны на символах, указывающих, изменились ли знаки коэффициентов уточнения или остались теми же относительно соответствующих коэффициентов предыдущего уровня в схеме SVC. Выбирают первую таблицу VLC из множества таблиц VLC для использования в кодировании видеоблока первого типа на основе первого соотношения и вторую таблицу VLC из множества таблиц VLC для использования в кодировании видеоблока второго типа на основе второго соотношения и кодируют видеоблоки первого типа на основе первой таблицы VLC, а видеоблоки второго типа на основе второй таблицы VLC. 4 н. и 19 з.п. ф-лы, 7 ил., 2 табл.
Description
Эта заявка заявляет преимущество следующей предварительной заявки США, все содержимое которой включено в нее по ссылке:
U.S. Provisional Application No. 60883741, filed January 5, 2007.
Область техники, к которой относится изобретение
Это раскрытие относится к цифровому кодированию видео и, особенно, к кодированию с переменной длиной (VLC) коэффициентов преобразования в расширенных уровнях схемы масштабируемого кодирования видео (SVC).
Уровень техники
Возможности цифрового видео могут быть включены в широкий спектр устройств, включая системы цифрового телевидения, цифровые системы прямого вещания, беспроводные устройства связи, беспроводные системы вещания, персональные электронные помощники (PDA), ноутбуки или настольные компьютеры, цифровые камеры, цифровые записывающие устройства, игровые видеоустройства, игровые видеоконсоли, сотовые или спутниковые радиотелефоны и т.п. Цифровые видеоустройства реализуют такие технологии сжатия видео, как MPEG-2, MPEG-4 или H.264/MPEG-4, Часть 10, Усовершенствованное кодирование видео (AVC), чтобы передавать и принимать цифровое видео более эффективно. Технологии сжатия видео выполняют пространственное и временное предсказание, чтобы уменьшить или удалить избыточность, присущую видеофрагментам.
В кодировании видео сжатие видео часто включает пространственное предсказание, оценку движения и компенсацию движения. Внутреннее кодирование основывается на пространственном предсказании, чтобы уменьшить или удалить пространственную избыточность между видеоблоками в рамках данного кадра. Интеркодирование основывается на временном предсказании, чтобы уменьшить или удалить временную избыточность между видеоблоками последовательных видеокадров видеофрагмента. Для интеркодирования видеокодер выполняет оценку движения, чтобы отслеживать движение соответствия видеоблоков между двумя или более смежными кадрами. Оценка движения генерирует векторы движения, которые указывают на перемещения видеоблоков относительно соответствующих видеоблоков предсказания в одном или более опорных кадрах. Компенсация движения использует упомянутые векторы движения, чтобы сгенерировать видеоблоки предсказания из опорного кадра. После компенсации движения, остаточный видеоблок формируется вычитанием видеоблока предсказания из исходного видеоблока, подлежащего кодированию.
Видеокодер обычно применяет процессы преобразования, квантования и кодирования коэффициентов преобразования для дальнейшего уменьшения скорости передачи битов, ассоциированной с коммуникацией остаточного блока. Кодирование коэффициентов преобразования остаточных блоков может привести к применению кодов с переменной длиной для дальнейшего сжатия коэффициентов, полученных путем операций преобразования и квантования. Например, таблица кодирования с переменной длиной (VLC) может использоваться для нахождения соответствия различных наборов коэффициентов кодовым словам переменной длины таким образом, что способствует эффективности кодирования. Разные таблицы VLC могут использоваться для разного видеоконтента. Видеодекодер выполняет обратные VLC операции, чтобы реконструировать коэффициенты, и затем выполнить обратное преобразование этих коэффициентов, чтобы реконструировать видеоинформацию. Видеодекодер может декодировать видеоинформацию на основе информации движения и остаточной информации, связанной с видеоблоками.
Некоторое видеокодирование использует технологии масштабирования. Например, масштабируемое видеокодирование (SVC) относится к видеокодированию, в котором используются базовый уровень и один или более масштабируемых расширенных уровней. Для SVC базовый уровень обычно переносит видеоданные с базовым уровнем качества. Один или более расширенных уровней переносят дополнительные видеоданные для поддержки высших пространственных, временных и/или SNR уровней. Базовый уровень может передаваться таким образом, что является более надежным, чем передача расширенных уровней. Расширенные уровни могут добавлять пространственное разрешение в кадры базового уровня, или могут добавлять дополнительные кадры, чтобы увеличить общую скорость передачи кадров. В одном примере наиболее надежные участки модулированного сигнала могут использоваться для передачи базового уровня, в то время как менее надежные участки модулированного сигнала могут использоваться для передачи расширенных уровней. Расширенные уровни могут определять разные типы коэффициентов, рассматриваемые как коэффициенты значимости и коэффициенты уточнения.
Сущность изобретения
В целом, это раскрытие описывает технологии для кодирования расширенного уровня в схеме масштабируемого кодирования видео (SVC). Упомянутые технологии предусматривают выбор таблиц кодирования с переменной длиной (VLC) во время процессов кодирования и декодирования. Упомянутые технологии могут использоваться в кодировании блоков коэффициентов преобразования и могут быть особенно полезны в кодировании VLC коэффициентов уточнения блоков расширенного уровня схемы SVC. Коэффициенты уточнения относятся к коэффициентам расширенного уровня, для которого соответствующие коэффициенты предыдущего уровня в схеме SVC имели ненулевые значения. Кодирование VLC коэффициентов уточнения может выполняться отдельно от кодирования VLC коэффициентов значимости, которые относятся к коэффициентам расширенного уровня, для которого соответствующие коэффициенты предыдущего уровня в схеме SVC имеют нулевые значения.
Согласно технологии этого раскрытия таблицы VLC выбираются для разных типов видеоблоков, например внутренних блоков и интерблоков. Таблицы могут выбираться один раз для каждого кадра видеоинформации или могут быть выбраны один раз для других типов кодированных блоков (как один раз на часть видеоинформации или один раз на уровень FGS кадра). Таблицы VLC для разных типов видеоблоков могут выбираться на основе статистики, связанной с ранее кодированными блоками. Например, таблица VLC для внутренних блоков может выбираться на основе статистики, связанной с ранее кодированными внутренними блоками. Подобным образом, таблица VLC для интерблоков может выбираться на основе статистики, связанной с ранее кодированными интерблоками. В одном примере упомянутая статистика для каждого типа видеоблока может содержать соотношение числа коэффициентов уточнения в ранее кодированных блоках, которые имеют то же значение знака относительно числа коэффициентов уточнения в ранее кодированных блоках, которые имеют обратное значение знака. На основе этого соотношения таблицы VLC могут выбираться для кодирования коэффициентов уточнения, связанных с блоками данного кадра, и когда встречается следующий кадр, это соотношение может быть вычислено снова, чтобы способствовать выборам таблицы VLC для этого кадра.
В одном примере это раскрытие предусматривает способ кодирования расширенного уровня схемы SVC, содержащий этапы, на которых определяют первую статистику, связанную с первым типом видеоблока, определяют вторую статистику, связанную со вторым типом видеоблока, выбирают таблицу VLC из множества таблиц VLC для использования в кодировании первого типа видеоблока на основе первой статистики, выбирают вторую таблицу VLC из множества таблиц VLC для использования в кодировании второго типа видеоблока на основе второй статистики, кодируют видеоблоки первого типа на основе первой таблицы VLC и кодируют видеоблоки второго типа на основе второй таблицы VLC.
В другом примере это раскрытие предусматривает устройство, которое кодирует расширенный уровень схемы SVC, причем упомянутое устройство содержит блок статистики, который определяет первую статистику, связанную с первым типом видеоблока, и определяет вторую статистику, связанную со вторым типом видеоблока, блок выбора таблицы, который выбирает первую таблицу VLC из множества таблиц VLC для использования в кодировании первого типа видеоблока на основе первой статистики и выбирает вторую таблицу VLC из множества таблиц VLC для использования в кодировании второго типа видеоблока на основе второй статистики, и блок кодирования, который кодирует видеоблоки первого типа на основе первой таблицы VLC и кодирует видеоблоки второго типа на основе второй таблицы VLC.
В другом примере это раскрытие предусматривает устройство, которое кодирует расширенный уровень схемы SVC, причем упомянутое устройство содержит средство для определения статистики, которое определяет первую статистику, связанную с первым типом видеоблока, и определяет вторую статистику, связанную со вторым типом видеоблока, средство для выбора, которое выбирает первую таблицу VLC из множества таблиц VLC для использования в кодировании первого типа видеоблока на основе первой статистики и выбирает вторую таблицу VLC из множества таблиц VLC для использования в кодировании второго типа видеоблока на основе второй статистики, и средство для кодирования, которое кодирует видеоблоки первого типа на основе первой таблицы VLC и кодирует видеоблоки второго типа на основе второй таблицы VLC.
Технологии, рассматриваемые в этом раскрытии, могут реализовываться в оборудовании, программном обеспечении, встроенном программном обеспечении или любой их комбинации. При реализации в программном обеспечении это программное обеспечение может выполняться в одном или более процессорах, таких как микропроцессор, специализированная интегральная схема (ASIC), программируемая вентильная матрица (FPGA) или цифровой сигнальный процессор (DSP). Программное обеспечение, которое выполняет упомянутые технологии, может первоначально храниться на машиночитаемом носителе и загружаться, и выполняться в процессоре.
Соответственно это раскрытие также предусматривает машиночитаемый носитель, содержащий инструкции, которые после выполнения в устройстве видеокодирования предписывают упомянутому устройству кодировать расширенный уровень схемы SVC, причем упомянутые инструкции предписывают упомянутому устройству определять первую статистику, связанную с первым типом видеоблока, определять вторую статистику, связанную со вторым типом видеоблока, выбирать первую таблицу VLC из множества таблиц VLC для использования в кодировании первого типа видеоблока на основе первой статистики, выбирать вторую таблицу VLC из множества таблиц VLC для использования в кодировании второго типа видеоблока на основе второй статистики, кодировать видеоблоки первого типа на основе первой таблицы VLC и кодировать видеоблоки второго типа на основе второй таблицы VLC.
В некоторых случаях упомянутый машиночитаемый носитель может стать частью компьютерного программного продукта, который может продаваться производителям и/или использоваться в устройстве видеокодирования. Этот компьютерный программный продукт может включать машиночитаемый носитель, и в некоторых случаях может также включать упаковочные материалы.
В других случаях эти раскрытия могут быть направлены на схему, такую как интегральная схема, набор микросхем, специализированная интегральная схема (ASIC), программируемая вентильная матрица (FPGA), логика или различные их комбинации, сконфигурированные для выполнения одной или более технологий, описанных здесь.
Подробности одного или более аспектов этого раскрытия излагаются в сопроводительных чертежах и описании ниже. Другие признаки, задачи и преимущества технологий, описанных в этом раскрытии, будут очевидны из описания и чертежей и из формулы изобретения.
Краткое описание чертежей
ФИГ.1 - иллюстративная блок-схема, иллюстрирующая систему кодирования и декодирования видео.
ФИГ.2 - концептуальная схема, иллюстрирующая видеокадры базового уровня и расширенный уровень масштабируемого потока битов видео.
ФИГ.3 - блок-схема, иллюстрирующая пример видеокодера в соответствии с этим раскрытием.
ФИГ.4 - блок-схема, иллюстрирующая пример видеодекодера в соответствии с этим раскрытием.
ФИГ.5 - иллюстративная блок-схема блока кодирования с переменной длиной (VLC).
ФИГ.6 - иллюстративная блок-схема блока декодирования VLC.
ФИГ.7 - схема последовательности операций, иллюстрирующая технологию VLC для кодирования с переменной длиной в соответствии с этим раскрытием.
Подробное описание
Это раскрытие описывает технологию для кодирования расширенного уровня в схеме масштабируемого кодирования видео (SVC). Эта технология предусматривает выбор таблиц кодирования с переменной длиной (VLC) в кодере и в декодере. А именно технологии выбора таблицы VLC аналогичны в том, что выбор таблицы VLC выполняется в кодере, чтобы кодировать информацию, и в декодере, чтобы декодировать информацию. Технологии могут использоваться в кодировании коэффициентов преобразования, и особенно полезны в кодировании с переменной длиной коэффициентов уточнения расширенного уровня схемы SVC. Коэффициенты уточнения относятся к коэффициентам расширенного уровня, для которых соответствующие коэффициенты предыдущего уровня в схеме SVC имели ненулевые значения. В отличие от них коэффициенты значимости относятся к коэффициентам расширенного уровня, для которых соответствующие коэффициенты предыдущего уровня в схеме SVC имеют нулевые значения. Кодирование с переменной длиной коэффициентов уточнения может выполняться отдельно от кодирования с переменной длиной коэффициентов значимости.
Согласно технологиям этого раскрытия таблицы VLC выбираются для разных типов видеоблоков, например внутренних блоков и интерблоков. Таблицы могут выбираться один раз на кодированный блок, например, один раз на кадр, один раз на часть видеоинформации, один раз на уровень FGS кадра. Таблицы VLC для разных типов видеоблоков могут выбираться на основе статистики, связанной с ранее кодированными блоками. Например, таблица VLC для внутренних блоков может выбираться на основе статистики, связанной с ранее кодированными внутренними блоками, и таблица VLC для интерблоков может выбираться на основе статистики, связанной с ранее кодированными интерблоками.
В одном примере упомянутая статистика для каждого типа видеоблока может содержать соотношение числа коэффициентов уточнения в ранее кодированных блоках того типа блоков, которые имеют то же значение знака относительно числа коэффициентов уточнения в ранее кодированных блоках того типа блоков, которые имеют обратное значение знака. На основе соотношения для каждого типа блоков (внутренних и интер) первая таблица VLC может выбираться для кодирования коэффициентов уточнения, связанных с внутренними блоками данного кадра, и вторая таблица VLC может выбираться для кодирования коэффициентов уточнения, связанных с интерблоками данного кадра. Когда встречается следующий кадр, эти соотношения могут быть вычислены снова, чтобы способствовать выборам таблицы VLC для этого кадра.
ФИГ.1 - блок-схема, иллюстрирующая систему 10 кодирования и декодирования видео. Как показано на ФИГ.1, система 10 включает устройство источника 2, которое передает кодированное видео на приемное устройство 6 по каналу 15 связи. Устройство источника 2 может включать видеоисточник 11, видеокодер 12 и модулятор/передатчик 14. Приемное устройство 6 может включать приемник/демодулятор 16, видеодекодер 18 и устройство 20 дисплея. Система 10 может конфигурироваться для применения технологий для кодирования VLC видеоинформации, связанной с расширенным уровнем в схеме SVC.
Кодирование SVC относится к видеокодированию, в котором используется базовый уровень и один или более масштабируемых расширенных уровней. Для SVC базовый уровень обычно передает видеоданные с базовым уровнем качества. Один или более расширенных уровней передают дополнительные видеоданные для поддержки высших пространственного, временного и/или сигнал/шум (SNR) уровней. Расширенные уровни могут быть определены относительно ранее кодированного уровня. Расширенные уровни определяют по меньшей мере два разных типа коэффициентов, называемых как коэффициенты значимости и коэффициенты уточнения. Коэффициенты уточнения могут определять значения относительно соответствующих значений ранее кодированного уровня. Кадры расширенных уровней иногда только включают часть от общего числа видеоблоков на базовом уровне или предыдущем расширенном уровне, например, только тех блоков, для которых расширение выполняется.
Коэффициенты значимости относятся к коэффициентам, для которых соответствующие коэффициенты на предыдущем уровне имеют нулевые значения. Коэффициенты уточнения относятся к коэффициентам, для которых соответствующие коэффициенты на предыдущем уровне имели ненулевые значения на предыдущем уровне. Кодирование с переменной длиной расширенных уровней обычно включает подход с двумя проходами. Первый проход выполняется, чтобы кодировать с переменной длиной коэффициенты значимости, и другой проход выполняется, чтобы кодировать с переменной длиной коэффициенты уточнения. Технологии этого раскрытия особенно полезны для кодирования с переменной длиной коэффициентов уточнения, хотя это раскрытие необязательно ограничено в этом отношении.
Согласно технологии этого раскрытия разные таблицы VLC выбираются для разных типов видеоблоков. Например, первая таблица VLC может выбираться для кодирования коэффициентов уточнения внутренних блоков, и вторая таблица VLC может выбираться для кодирования коэффициентов уточнения интерблоков. Внутренние блоки относятся к блокам, которые кодируются на основе блоков внутри того данного кодированного блока. Интерблоки относятся к блокам, которые кодируются на основе блоков другого кодированного блока.
Выборы таблицы VLC могут быть на основе статистики, связанной с ранее кодированными блоками. Например, таблица VLC для внутренних блоков может выбираться на основе статистики, связанной с ранее кодированными внутренними блоками, и таблица VLC для интерблоков может выбираться на основе статистики, связанной с ранее кодированными интерблоками. Таблицы VLC могут выбираться один раз на кодированный блок так, как один раз на кадр видеоинформации, один раз на часть видеоинформации или один раз на уровень FGS. FGS означает мелкоячеистую масштабируемость сигнал/шум и объясняется более подробно ниже.
Упомянутая статистика для каждого типа видеоблока может содержать соотношение числа коэффициентов уточнения в ранее кодированных блоках, которые имеют то же значение знака относительно числа коэффициентов уточнения в ранее кодированных блоках, которые имеют обратное значение знака. На основе соотношения для каждого типа блока, т.е. этого соотношения для внутренних блоков и этого соотношения для интерблоков, первая и вторая таблицы VLC могут выбираться для кодирования коэффициентов уточнения, связанных с внутренними блоками и интерблоками данного кадра (или другого кодированного блока) соответственно. Когда следующий кадр (или другой кодированный блок) встречается, эти соотношения могут быть вычислены снова, чтобы способствовать обновленному выбору таблицы VLC.
В примере на ФИГ.1, канал 15 связи может содержать любую беспроводную или проводную среду связи, такую как радиочастотный (RF) спектр, или одну или более физических линий передачи или любое объединение беспроводной и проводной среды. Канал 15 связи может формировать часть сети на основе пакетов, такой как локальная сеть, широкомасштабная сеть или такая глобальная сеть, как Интернет. Канал 15 связи в целом представляет любую подходящую среду связи или набор разных сред связи для передачи видеоданных от устройства источника 2 на приемное устройство 6.
Устройство источника 2 генерирует кодированные видеоданные для передачи на приемное устройство 6. В некоторых случаях, однако, устройства 2, 6 могут работать в основном симметричным образом. Например, каждое из устройств 2, 6 может включать компоненты видеокодирования и декодирования. Таким образом, система 10 может поддерживать одностороннюю или двухстороннюю передачу видео между видеоустройствами 2, 6, например, для потокового видео, видеовещания или видеотелефонии.
Видеоисточник 11 устройства источника 2 может включать устройство захвата видео, такое как видеокамера, видеоархив, содержащий ранее захваченное видео, или видеоканал от видеоконтента провайдера. В качестве еще одной альтернативы, видеоисточник 11 может генерировать данные на основе компьютерной графики как источник видео или объединение реального видео и видео, сгенерированного на компьютере. В некоторых случаях, если видеоисточник 11 - видеокамера, устройство источника 2 и приемное устройство 6 могут формировать так называемые телефоны с камерой или видеотелефоны. В каждом случае, захваченное, заранее захваченное или сгенерированное на компьютере видео может быть кодировано видеокодером 12 для передачи от устройства 2 источника видео на видеодекодер 18 приемного устройства 6 видео через модулятор/передатчик 14, канал 15 связи и приемник/демодулятор 16. Процессы кодирования и декодирования видео могут реализовывать описанные здесь технологии выбора таблицы VLC для улучшения упомянутых процессов. Устройство 20 дисплея отображает декодированные видеоданные пользователю и может содержать любые различные виды устройства дисплея, такие как электронно-лучевая трубка, жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства дисплея.
Видеокодер 12 и видеодекодер 18 могут конфигурироваться для поддержки SVC для пространственного, временного и/или отношения сигнал/шум (SNR) масштабирования. В некоторых аспектах видеокодер 12 и видеодекодер 18 могут конфигурироваться для поддержки мелкоячеистой масштабируемости (FGS) кодирования для SVC. Кодер 12 и декодер 18 могут поддерживать различные степени масштабируемости поддержкой кодирования, передачи и декодирования базового уровня и один или более масштабируемых расширенных уровней. Снова, для масштабируемого видеокодирования, базовый уровень передает видеоданные с базовым уровнем качества. Один или более расширенных уровней переносят дополнительные данные для поддержки высших пространственного, временного и/или SNR уровней. Базовый уровень может передаваться таким образом, который является более надежным для передачи расширенных уровней. Например, наиболее надежные участки модулированного сигнала могут использоваться, чтобы передавать базовый уровень, в то время как менее надежные участки модулированного сигнала могут использоваться, чтобы передавать расширенные уровни.
Для того чтобы поддерживать SVC видеокодер 12 может включать кодер 22 базового уровня и один или более кодеров 24 расширенного уровня для выполнения кодирования базового уровня и одного или более расширенных уровней соответственно. Технологии этого раскрытия, которые включают выбор таблицы VLC, применимы к кодированию видеоблоков расширенных уровней в SVC. Более конкретно, технологии этого раскрытия применимы к кодированию VLC коэффициентов уточнения видеоблоков расширенных уровней, хотя это раскрытие необязательно ограничено в этом отношении.
Видеодекодер 18 может включать объединенный базовый/расширенный декодер, который декодирует видеоблоки, связанные как с базовым, так и с расширенным уровнями. Декодер 18 видео может декодировать видеоблоки, связанные как с базовым, так и с расширенным уровнями, и объединять декодированное видео, чтобы реконструировать кадры видеофрагмента. Устройство 20 дисплея принимает декодированную видеопоследовательность и представляет эту видеопоследовательность пользователю.
Видеокодер 12 и видеодекодер 18 могут работать в соответствии со стандартами сжатия видео, такими как MPEG-2, MPEG-4, ITU-T H.263 или ITU-T H.264/MPEG-4, Часть 10, Усовершенствованное кодирование видео (AVC). Хотя это не показано на ФИГ.1, в некоторых аспектах видеокодер 12 и видеодекодер 18 могут, каждый, быть интегрированы с аудиокодером и декодером и могут включать соответствующие блоки мультиплексирования-демультиплексирования (MUX-DEMUX) или другое оборудование и программное обеспечение, чтобы управлять кодированием как аудио, так и видео в общем потоке данных или отдельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу ITU H.223 мультиплексирования, или другим протоколам, таким как протокол передачи дейтаграмм пользователя (UDP).
Стандарт H.264/MPEG-4 (AVC) был сформулирован ITU-T Экспертной группой по вопросам видеокодирования (VCEG) совместно с ISO/IEC Экспертной группой по вопросам движущегося изображения (MPEG) как продукт коллективного партнерства, известного как Совместная группа видео (JVT). В некоторых аспектах технологии, описанные в этом раскрытии, могут применяться к устройствам, которые в целом соответствуют стандарту H.264. Стандарт H.264 описан в Рекомендации ITU-T H.264, Усовершенствованное кодирование видео для общих аудиовизуальных служб, Исследовательской группой ITU-T, и датированной мартом, 2005, который может упоминаться здесь как стандарт H.264 или спецификация H.264, или стандарт или спецификация H.264/AVC.
Совместная группа видео (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, и Mathias Wien, "Joint Draft 6: Scalable Video Coding," JVT-S 201, апрель 2006, Geneva, и в Совместном проекте 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, и Mathias Wien, "Joint Draft 9 of SVC Amendment," JVT-V 201, январь 2007, Marrakech, Morocco.
В некоторых аспектах, для видео вещания, технологии, описанные в этом раскрытии, могут применяться к расширенному видеокодированию H.264 для доставки видеоуслуг в реальном времени в наземных мобильных мультимедийных многоадресных (TM3) системах с использованием Спецификации радиоинтерфейса только по прямому каналу (FLO), "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast," будет опубликован в качестве Технического стандарта TIA-1099 ("FLO Specification"). А именно канал 15 связи может содержать беспроводной информационный канал, используемый для трансляции беспроводной видеоинформации согласно Спецификации FLO или т.п. Спецификация FLO включает примеры, определяющие синтаксис и семантику потока битов и процессы декодирования, подходящие для Радио интерфейса FLO. Альтернативно видео может транслироваться в соответствии с другими стандартами, такими как DVB-H (цифровое видеовещание - передвижное), ISDB-T (цифровое вещание интегрированных служб - наземное) или DMB (цифровое медиавещание). Таким образом, устройство источника 2 может быть мобильным беспроводным терминалом, потоковым сервером видео или сервером вещания видео. Однако технологии, описанные в этом раскрытии, не ограничены каким-либо конкретным типом вещания, широковещания или системой точка-точка. В случае вещания устройство источника 2 может транслировать несколько каналов видеоданных многим приемным устройствам, каждое из которых может быть схоже с приемным устройством 6 на ФИГ.1.
Видеокодер 12 и видеодекодер 18, каждый, могут реализовываться как один или более микропроцессоров, цифровых сигнальных процессоров (DSP), специализированных интегральных схем (ASIC), программируемых вентильных матриц (FPGA), дискретная логика, программное обеспечение, оборудование, встроенное программное обеспечение или в любой их комбинации. Каждый из видеокодер 12 и видеодекодер 18 может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть объединенного кодера/декодера (CODEC) в соответствующем мобильном устройстве, абонентском устройстве, вещательном устройстве, сервере или т.п. В дополнение устройство источника 2 и приемное устройство 6, каждое, может включать соответствующие компоненты модуляции, демодуляции, преобразования частоты, фильтрации и усиления для передачи и приема кодированного видео, как применимо, включая радиочастотные (RF) беспроводные компоненты и антенны, достаточные для поддержки беспроводной связи. Для простоты иллюстрации, однако, такие компоненты резюмируются как модулятор/передатчик 14 устройства источника 2 и приемник/демодулятор 16 приемного устройства 6 на ФИГ.1.
Видеопоследовательность включает серии видеокадров. Видеокодер 12 обрабатывает блоки пикселов (или блоки трансформированных коэффициентов) в рамках отдельных видеокадров для того, чтобы кодировать видеоданные. Видеоблоки могут иметь фиксированные или переменные размеры и могут отличаться в размере в соответствии с конкретным стандартом кодирования. В некоторых случаях каждый видеокадр - кодированный блок, в то время как в других случаях, каждый видеокадр может быть разбит, включает серии частей, которые формируют кодированные блоки. Каждая часть может включать серии макроблоков, которые могут быть организованы в субблоки. В качестве примера, стандарт 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 для компонентов яркости и соответствующие масштабируемые размеры для компонентов цветности.
Меньшие видеоблоки могут обеспечить лучшее разрешение и могут использоваться для мест видеокадра, которые включают высшие уровни детализации. В целом, макроблоки (MB) и различные субблоки могут рассматриваться как видеоблоки. В дополнение, части могут рассматриваться как серии видеоблоков, как блоки MB и/или субблоки. Как отмечено, каждая часть может быть независимо декодируемым блоком видеокадра.
Следующие технологии - внутреннее или интеркодирование с предсказанием, дополнительное кодирование - могут применяться к передаваемому потоку битов. Эти дополнительные технологии кодирования могут включать технологии преобразования (такие как целочисленное преобразование 4×4 или 8×8, используемое в стандарте H.264/AVC, или дискретное косинус-преобразование DCT) и кодирование с переменной длиной. Блоки коэффициентов преобразования могут упоминаться как видеоблоки. Другими словами, термин "видеоблок" относится к блоку видеоданных независимо от домена информации. Таким образом, видеоблоки могут быть в домене пикселей или домене преобразованных коэффициентов. Применение выбора таблицы VLC и кодирования VLC будет в целом рассмотрено в этом раскрытии по отношению к блокам коэффициентов преобразования.
Это раскрытие предусматривает технологии для кодирования с переменной длиной коэффициентов уточнения. Кроме того, коэффициенты уточнения относятся к коэффициентам, которые имели ненулевые значения на предыдущем уровне, тогда как коэффициенты значимости относятся к коэффициентам, которые имеют нулевые значения на предыдущем уровне. В соответствии с этим раскрытием кодер 12 и декодер 18 выбирают разные таблицы VLC для разных типов видеоблоков. Например, кодер 12 и декодер 18 могут выбрать первую таблицу VLC для кодирования коэффициентов уточнения внутренних блоков и могут выбрать вторую таблицу VLC для кодирования коэффициентов уточнения интерблоков. Выбор таблиц VLC кодером 12 и декодером 18 может осуществляться на основе статистики, связанной с ранее кодированными блоками. Например, таблица VLC для внутренних блоков может выбираться на основе статистики, связанной с ранее кодированными внутренними блоками, и таблица VLC для интерблоков может выбираться на основе статистики, связанной с ранее кодированными интерблоками. Таким образом, кодер 12 и декодер 18 могут выполнять взаимные способы, которые кодируют расширенный уровень в схеме SVC. Как используется здесь, термин кодирования в целом относится к по меньшей мере части процессов либо кодирования, либо декодирования. Видеокодер 12 кодирует данные, в то время как видеодекодер 18 декодирует данные.
Таблицы VLC сами могут назначать кодовые слова различным наборам коэффициентов преобразования. Наборы коэффициентов с нулевыми значениями могут быть представлены длинами серий нулей, и таблицы могут назначать более вероятные длины серий более коротким кадрам VLC. Подобным образом, таблицы VLC могут назначать менее вероятные длины серий более длинным кодам VLC. Таким образом, выбор кодов из таблицы VLC может улучшить эффективность кодирования. Альтернативно разные образцы коэффициентов, таких как образцы кодированных блоков, могут назначаться разным кодовым словам переменной длины, с более вероятными образцами, назначаемыми более коротким кодовым словам, и менее вероятными образцами, назначаемыми более длинным кодовым словам.
Формирование таблицы VLC само могло бы также быть основано на статистике предыдущего кодирования, но в большинстве случаев используются статистические таблицы VLC. В случае статической таблицы VLC, кодер 12 и декодер 18 просто выбирают соответствующую таблицу VLC из набора возможных таблиц для кодирования коэффициентов уточнения внутренних блоков и выбирают другую соответствующую таблицу VLC из набора возможных таблиц для кодирования коэффициентов уточнения интерблоков. Независимо от того, являются ли таблицы VLC статическими или сформированными динамически, обновления таблиц VLC могут осуществляться при желании.
ФИГ.2 - схема, иллюстрирующая видеокадры в рамках базового уровня 17 и расширенного уровня 18 масштабируемого видеопотока битов. Как отмечено выше, упомянутые технологии этого раскрытия применимы к кодированию данных расширенных уровней. Базовый уровень 17 может содержать поток битов, содержащий кодированные видеоданные, которые представляют первый уровень пространственной, временной или SNR масштабируемости.
Расширенный уровень 18 может содержать поток битов, содержащий кодированные видеоданные, которые представляют второй уровень пространственной, временной или SNR масштабируемости. Хотя показан единственный расширенный уровень, несколько расширенных уровней может использоваться в некоторых случаях. Поток битов расширенного уровня может быть декодируемым только в сочетании с базовым уровнем (или предыдущим расширенным уровнем, если существует много расширенных уровней). Расширенный уровень 18 содержит ссылки на декодированные видеоданные в базовом уровне 17. Такие ссылки могут использоваться либо в домене преобразования, либо в домене пикселей, чтобы сгенерировать конечные декодированные видеоданные.
Базовый уровень 17 и расширенный уровень 18 могут содержать внутренние (I), интер (P) и двухнаправленные (B) кадры. Внутренние кадры могут включать все внутреннекодированные видеоблоки. Кадры I и P могут включать по меньшей мере некоторые интеркодированные видеоблоки (интерблоки), но могут также включать некоторые внутреннекодированные блоки (внутренние блоки). Разные кадры расширенного уровня 17 не требуют включения всех видеоблоков на базовом уровне 17. Кадры P в расширенном уровне 18 полагаются на ссылки на кадры P на базовом уровне 17. Благодаря декодированию кадров на расширенном уровне 18 и базовом уровне 17 видеодекодер способен увеличить видеокачество декодированного видео. Например, базовый уровень 17 может включать видео, кодированное при минимальной частоте смены кадров, например 15 кадров в секунду, тогда как расширенный уровень 18 может включать видео, кодированное при высшей частоте смены кадров, например 30 кадров в секунду. Для поддержки кодирования с разными уровнями качества базовый уровень 17 и расширенный уровень 18 могут быть кодированы с высшим параметром квантования (QP) и низшим QP соответственно. Кроме того, базовый уровень 17 может передаваться таким образом, что более надежно, чем передача расширенного уровня 18. В качестве примера, наиболее надежные участки модулированного сигнала могут использоваться, чтобы передавать базовый уровень 17, в то время как менее надежные участки модулированного сигнала могут использоваться, чтобы передавать расширенный уровень 18. Иллюстрация на ФИГ.2 является просто иллюстративной, поскольку базовый и расширенный уровни могут быть определены многими разными способами.
ФИГ.3 - блок-схема, иллюстрирующая пример видеокодера 50, который включает блок 46 VLC, чтобы кодировать данные в соответствии с этим раскрытием. Видеокодер 50 ФИГ.3 может соответствовать кодеру 24 расширенного уровня устройства источника 2 ФИГ.1. А именно компоненты кодирования базового уровня не показаны на ФИГ.3 для простоты. Поэтому видеокодер 50 может считаться кодером расширенного уровня. Альтернативно иллюстрированные компоненты видеокодера 50 также могли реализовываться в объединении с модулями или блоками базового уровня кодирования, например, в кодере на основе схемы пирамиды, который поддерживает масштабируемое видеокодирование базового уровня и расширенного уровня.
Видеокодер 50 может выполнять внутреннее и интеркодирование блоков в рамках видеокадров. Внутреннее кодирование основывается на пространственном предсказании, чтобы уменьшить или удалить пространственную избыточность видео в рамках данного кадра. Интеркодирование основывается на временном предсказании, чтобы уменьшить или удалить временную избыточность видео в рамках смежных кадров видеофрагмента. Для интеркодирования видеокодер 50 выполняет оценку движения, чтобы отслеживать движение сопоставляемых видеоблоков между двумя или более смежными кадрами. Для внутреннего кодирования пространственное предсказание используется, чтобы выявить другие блоки в кадре, которые близко соответствуют кодируемому блоку. Компоненты внутреннего кодирования, пространственного предсказания не иллюстрированы на ФИГ.3.
Как показано на ФИГ.3, видеокодер 50 принимает текущий видеоблок 31 (например, видеоблок расширенного уровня) в рамках видеокадра, предназначенного для кодирования. В примере на ФИГ.3, видеокодер 50 включает блок 33 оценки движения, хранилище 35 опорного кадра, блок 37 компенсации движения, блок 39 преобразования блоков, блок 41 квантования, блок 42 обратного квантования, блок 44 обратного преобразования и блок 46 VLC. Разблокирующий фильтр (не показан) также может быть включен для фильтрации границ блоков, чтобы устранять продукты блочности. Видеокодер 50 также включает сумматор 48 и сумматор 51. ФИГ.3 иллюстрирует компоненты временного предсказания видеокодера 50 для интеркодирования видеоблоков. Хотя не показаны на ФИГ.3 для простоты иллюстрации, видеокодер 50 также может включать компоненты пространственного предсказания для внутреннего кодирования некоторых видеоблоков. Компоненты пространственного предсказания, однако, обычно используются только для кодирования базового уровня.
Блок 33 оценки движения сравнивает видеоблок 31 с блоками в одном или более смежных видеокадрах, чтобы сгенерировать один или более векторы движения. Смежный кадр или кадры могут быть получены из хранилища 35 опорного кадра, которое может содержать любой тип памяти или устройство хранения данных для хранения видеоблоков, реконструированных из ранее кодированных блоков. Оценка движения может выполняться для блоков переменных размеров, например 16×16, 16×8, 8×16, 8×8 или меньших размеров блоков. Блок 33 оценки движения выявляет блок в смежном кадре, который наиболее близко соответствует текущему видеоблоку 31, например, на основе модели расхождения скорости, и определяет смещение между блоками. На этой основе блок 33 оценки движения производит вектор движения (MV) (или много векторов MV в случае двухнаправленного предсказания), который указывает амплитуду и траекторию смещения между текущим видеоблоком 31 и предиктивным блоком, используемым для кодирования текущего видеоблока 31.
Векторы движения могут иметь точность в половину или четверть пиксела или даже более высокую точность, позволяя видеокодеру 50 отслеживать движение с высшим разрешением, чем позиции целого писксела, и получать лучший предикционный блок. Когда используются векторы движения с дробными значениями пикселов, операции интерполяции осуществляются в блоке 37 компенсации движения. Блок 33 оценки движения может выявить лучший вектор движения для видеоблока, используя модель искажения скорости. Используя результирующий вектор движения, блок 37 компенсации движения формирует видеоблок предсказания путем компенсации движения.
Видеокодер 50 формирует остаточный видеоблок вычитанием видеоблока предсказания, полученного блоком 37 компенсации движения, из первоначального, текущего видеоблока 31 в сумматоре 48. Блок 39 преобразования блоков применяет такое преобразование, как дискретное косинус-преобразование (DCT), к остаточному блоку, производя коэффициенты остаточного блока преобразования. Блок 41 квантования квантует коэффициенты остаточного блока преобразования, чтобы далее уменьшить скорость передачи битов. Сумматор 49A принимает информацию коэффициентов базового уровня, например от кодера базового уровня (не показан), и находится между блоком 39 преобразования блоков и блоком 41 квантования для подачи этой информации коэффициентов базового уровня в кодирование расширенного уровня. В особенности, сумматор 49A вычитает информацию коэффициентов базового уровня из выходных данных блока 39 преобразования блоков. Аналогичным образом, сумматор 49B, который находится между блоком 44 обратного преобразования и блоком 42 обратного квантования, также принимает информацию коэффициентов базового уровня от кодера базового уровня (не показан). Сумматор 49B добавляет информацию коэффициентов базового уровня обратно на выход блока 42 обратного квантования.
Кодирование с пространственным предсказанием работает очень похоже на кодирование с временным предсказанием. Однако, тогда как кодирование с временным предсказанием основывается на блоках смежных кадров (или других кодированных блоках) для выполнения кодирования, пространственное предсказание основывается на блоках в рамках общего кадра (другой кодированный блок) для выполнения кодирования. Кодирование с пространственным предсказанием кодирует внутренние блоки, в то время как кодирование с временным предсказанием кодирует интерблоки. Снова компоненты пространственного предсказания не показаны на ФИГ.3 для простоты.
Блок 46 VLC кодирует квантованные коэффициенты преобразования в соответствии с методологией кодирования с переменной длиной, чтобы еще больше уменьшить скорость передачи битов передаваемой информации. В особенности, блок 46 VLC применяет технологии этого раскрытия, чтобы кодировать коэффициенты уточнения расширенного уровня. Блок 46 VLC может включать таблицы VLC, которые отображают наборы коэффициентов в кодовые слова переменной длины.
Выбор таблицы VLC блоком 46 VLC выполняется на основе информации, собранной для ранее кодированных кадров. Кроме того, таблицы VLC выбираются для разных типов видеоблоков, например внутренних блоков и интерблоков. Блок 46 VLC может выбирать таблицы VLC один раз на кодированный блок, например один раз на кадр, один раз на часть видео информации или один раз на уровень FGS кадра. Таблицы VLC для разных типов видеоблоков могут выбираться на основе статистики, связанной с ранее кодированными блоками. Например, блок 46 VLC может выбирать таблицу VLC для внутренних блоков на основе статистики, связанной с ранее кодированными внутренними блоками, и блок 46 VLC может выбирать таблицу VLC для интерблоков на основе статистики, связанной с ранее кодированными интерблоками. В этом случае упомянутая статистика, связанная с ранее кодированными блоками, может содержать среднее число ненулевых коэффициентов с такими ранее кодированными блоками.
Следуя кодированию с переменной длиной, кодированное видео может передаваться на другое устройство. В дополнение блок 42 обратного квантования и блок 44 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы реконструировать остаточный блок. Сумматор 51 добавляет реконструированный остаточный блок к предикционному блоку компенсации движения, полученного блоком 37 компенсации движения, чтобы произвести реконструированный видеоблок для хранения в хранилище 35 опорного кадра. Реконструированный видеоблок используется блоком 33 оценки движения и блоком 37 компенсации движения, чтобы кодировать блок в следующем видеокадре.
ФИГ.4 - блок-схема, иллюстрирующая пример видеодекодера 60, который может соответствовать видеодекодеру 18 ФИГ.1 или декодеру другого устройства. Видеодекодер 60 включает блок 52A VLC для информации расширенного уровня, который выполняет аналогичную функцию блока 46 VLC ФИГ.3. А именно, как блок 46 VLC, блок 52A VLC кодирует коэффициенты уточнения расширенного уровня.
Видеодекодер 60 может также включать другой блок 52B VLC для информации базового уровня. Блок 55 внутреннего предсказания может, если требуется, выполнять любое пространственное декодирование видеоблоков базового уровня, и выходные данные блока 55 внутреннего предсказания могут предоставляться на сумматор 53. Путь расширенного уровня может включать блок 56A обратного квантования, и путь базового уровня может включать блок 56B обратного квантования. Информация путей базового уровня и расширенного уровня может быть объединена сумматором 57.
Видеодекодер 60 может выполнять внутреннее и интердекодирование блоков в рамках видеокадров. В примере на ФИГ.4, видеодекодер 60 включает блоки 52A и 52B VLC (упоминаемые выше), блок 54 компенсации движения, блоки 56A и 56B обратного квантования, блок 58 обратного преобразования и хранилище 62 опорных кадров. Видеодекодер 60 также включает сумматор 64. Если требуется, то видеодекодер 60 также может включать фильтр разблокирования (не показан), который фильтрует выходные данные сумматора 64. Снова сумматор 57 объединяет информацию в путях базового уровня и расширенного уровня, и блок 55 внутреннего предсказания и сумматор 53 способствуют любому пространственному декодированию видеоблоков базового уровня.
В соответствии с этим раскрытием, блок 52A VLC принимает кодированный видеопоток битов и применяет технологии кодирования VLC, описанные в этом раскрытии. В особенности, для коэффициентов уточнения, блок 52A VLC может выбирать таблицы VLC для разных типов видеоблоков на основе информации, собранной для ранее кодированных кадров. Блок 52A VLC может выбирать таблицы VLC один раз на кодированный блок, например один раз на кадр, один раз на часть видео информации, один раз на уровень FGS кадра. Таблицы VLC для разных типов видеоблоков могут выбираться на основе статистики, связанной с ранее кодированными блоками. Например, блок 52A VLC может выбирать таблицы VLC для внутренних блоков на основе статистики, связанной с ранее кодированными внутренними блоками, и блок 52A VLC может выбирать таблицы VLC для интерблоков на основе статистики, связанной с ранее кодированными интерблоками.
Следуя декодированию, выполняемому блоком 52A VLC, блок 54 компенсации движения принимает векторы движения и один или более реконструированных опорных кадров из хранилища 62 опорных кадров. Блок 56A обратного квантования осуществляет обратное квантование, т.е. деквантует квантованные коэффициенты блока. Следуя объединению информации расширенного и базового уровня посредством сумматора 57, блок 58 обратного преобразования применяет обратное преобразование, например обратное преобразование DCT, к коэффициентам, чтобы произвести остаточные блоки. Блок 54 компенсации движения производит блоки компенсации движения, которые суммируются сумматором 64 с остаточными блоками, чтобы сформировать декодированные блоки. По желанию, разблокирующий фильтр может также применяться для фильтрации декодированных блоков, чтобы удалить продукты блочности. Фильтрованные блоки затем размещаются в хранилище 62 опорных кадров, которое предоставляет опорные блоки из компенсации движения и также производит декодированное видео на устройство отображения (как устройство 20 на ФИГ.1).
ФИГ.5 - блок-схема, иллюстрирующая иллюстративный блок 46 VLC, который может соответствовать блоку, показанному на ФИГ.3. Блок 46 VLC включает модуль 72 кодирования, модуль 74 статистики, модуль 76 выбора таблицы и таблицы 78 VLC. Таблицы 78 VLC, в общем, относятся к таблицам, которые могут храниться в любом местоположении, например локально или вне чипа в отдельной ячейке памяти. Таблицы 78 VLC могут обновляться, периодически, по желанию.
Модуль 72 кодирования кодирует коэффициенты уточнения и коэффициенты значимости в отдельных проходах кодирования. Выбор таблицы блоком 46 VLC для кодирования коэффициентов, связанных с разными видеоблоками, может выполняться на основе информации, собранной для ранее кодированных кадров. Например, модуль 74 статистики может выполнять статистический анализ ранее кодированных кадров, чтобы способствовать выбору таблицы модулем 76 выбора таблицы.
Модуль 74 статистики определяет первую статистику, связанную с первым типом видеоблока (такого как внутренний блок), и определяет вторую статистику, связанную со вторым типом видеоблока (такого как интерблок). Модуль 76 выбора таблицы выбирает первую таблицу VLC из множества таблиц 78 VLC для использования в кодировании первого типа видеоблока на основе первой статистики. В дополнение модуль 76 выбора таблицы выбирает вторую таблицу VLC из множества таблиц 78 VLC для использования в кодировании видеоблока второго типа на основе второй статистики. Модуль 72 кодирования кодирует видеоблоки первого типа на основе первой таблицы VLC и кодирует видеоблоки второго типа на основе второй таблицы VLC.
Технологии, описанные здесь, могут выполняться по отношению к коэффициентам уточнения, которые могут кодироваться в отдельных проходах кодирования относительно упомянутых коэффициентов значимости. Коэффициенты уточнения могут иметь фиксированные значения -1, 0 и 1, которые могут кодироваться двумя битами информации. Первый бит может указывать, равен коэффициент 0 или нет, и второй бит может указывать, тот же знак (обозначенный как Sn) у коэффициента уточнения (coeff_ref_dir_flag=0) или другой (coeff_ref_dir_flag=l), чем знак (обозначенный как sn-1) соответствующего коэффициента предыдущего уровня. Предыдущий уровень обозначается как sn-1. Если знак текущего коэффициента тот же, что и у коэффициента предыдущего уровня, тогда coeff_ref_dir_flag=0, и если знак текущего коэффициента отличается от знака коэффициента предыдущего уровня, тогда coeff_ref_dir_flag=l. Два бита уточнения могут быть объединены в алфавит трех символов уточнения следующим образом, как показано в таблице 1:
ТАБЛИЦА 1 | ||
coeff_ref_flag | coeff_ref_dir_flag | ref_symbol |
0 | - | 0 |
1 | 0 | 1 |
1 | 1 | 2 |
Альтернативно другая схема также могла бы использоваться, чтобы кодировать коэффициенты уточнения, не отходя от технологии этого раскрытия.
Таблицы 78 VLC могут содержать кодовые слова переменной длины, которые отображаются в различные наборы коэффициентов, которые могут определяться символами, флагами или другими типами битов. Таблицы 78 VLC могут обновляться по желанию. Любое число таблиц может включаться в таблицы 88 VLC. В некоторых случаях две таблицы используются, хотя больше таблиц могло бы быть включено. В любом случае модуль 72 кодирования может иметь доступ к разным таблицам VLC для разных типов видеоблоков. Модуль 74 статистики и модуль 76 выбора таблицы определяют, какую таблицу VLC следует использовать для каждого типа видеоблока, предназначенного для кодирования.
В таблице 2 представлен один пример таблицы VLC, которая могла бы использоваться для кодирования коэффициентов уточнения.
ТАБЛИЦА 2 | ||
Группа опорных символов | Кодовая длина | Кодовое слово |
{0,0,0} | 1 | 1 |
{0,0,1} | 4 | 0011 |
{0,0,2} | 5 | 00101 |
{0,1,0} | 3 | 011 |
{0,1,1} | 6 | 000101 |
{0,1,2} | 8 | 00000101 |
{0,2,0} | 5 | 00100 |
{0,2,1} | 7 | 0000101 |
{0,2,2} | 9 | 000000101 |
{1,0,0} | 3 | 010 |
{1,0,1} | 6 | 000100 |
{1,0,2} | 8 | 00000100 |
{1,1,0} | 6 | 000011 |
{1,1,1} | 9 | 000000100 |
{1,1,2} | 10 | 0000000011 |
{1,2,0} | 7 | 0000100 |
{1,2,1} | 10 | 0000000010 |
{1,2,2} | 12 | 000000000011 |
{2,0,0} | 5 | 00011 |
{2,0,1} | 7 | 0000011 |
{2,0,2} | 9 | 000000011 |
{2,1,0} | 8 | 00000011 |
{2,1,1} | 10 | 0000000001 |
{2,1,2} | 12 | 000000000010 |
{2,2,0} | 9 | 000000010 |
{2,2,1} | 12 | 000000000001 |
{2,2,2} | 12 | 000000000000 |
Как показано в таблице 2, различные наборы коэффициентов уточнения (как определено в таблице 1) могут отображаются в разные кодовые слова переменной длины. В таблице 2 также перечисляются соответствующие длины битов, связанных с разными кодовыми словами. Отображения кодовых слов в различные наборы коэффициентов уточнения могут различаться в разных таблицах VLC. Соответственно путем выбора соответствующей таблицы может быть получено эффективное кодирование. В соответствии с этим раскрытием для каждого кодированного блока (например, каждый кадр, часть или уровень FGS) модуль 76 выбора таблицы блока 46 VLC выбирает первую таблицу VLC для внутренних блоков и выбирает вторую таблицу VLC для интерблоков. Выбор таблицы может быть на основе статистики, связанной с ранее кодированными внутренними блоками и ранее кодированными интерблоками. Модуль 72 кодирования блока 46 VLC затем использует выбранную таблицу в процессе VLC.
Упомянутая статистика для каждого типа видеоблока может аккумулироваться и анализироваться модулем 74 статистики. В качестве примера, упомянутая статистика для каждого типа видеоблока может содержать соотношение числа коэффициентов уточнения в ранее кодированных блоках, которые имеют то же значение знака относительно числа коэффициентов уточнения в ранее кодированных блоках, которые имеют обратное значение знака. На основе этого соотношения для каждого типа видеоблока модуль 76 выбора таблицы может выбрать таблицу VLC для кодирования коэффициентов уточнения, связанных с этим типом блока данного кадра. Когда следующий кадр (или другой кодированный блок) поступает, блок 46 VLC может повторно вычислить эти соотношения для каждого типа блока, чтобы способствовать выбору таблиц VLC для этого кадра (или других кодированных блоков).
Символ 1 уточнения из таблицы 1 соответствует сценарию, где символ уточнения имеет то же значение знака относительно упомянутого символа на предыдущем уровне (или базовом уровне). Символ 2 уточнения из таблицы 1 соответствует сценарию, где символ уточнения имеет инвертированное значение знака относительно упомянутого символа на предыдущем уровне (или базовом уровне). Другими словами, символ 1 означает "сохранить тот же знак", и символ 2 означает "инвертировать знак" относительно знака соответствующего коэффициента на предыдущем уровне.
Эффективность кодирования в кодировании SVC может быть улучшена, когда выбор таблицы VLC основывается на соотношении опорных символов ref_symbols 1 и 2. Пусть s(1) и s(2) соответственно обозначают номер символов 1 и 2 уточнения, собранных в процессе кодирования. Значения для s(1) и s(2) могли бы определяться скользящими окнами кадров или могли бы аккумулироваться в течение полной видеопоследовательности. В любом случае соотношение r может быть вычислено несколькими путями. Например, может быть вычислено соотношение r = (Smax-Smin)/Smax, где smax=max(s(1),s(2)) и Smin=min(s(1),s(2)). Альтернативно может использоваться соотношение r=s(1)/(s(1)+s(2)). В каждом из этих случаев, для каждого квантованного значения r, значение RQ может быть определено как равное floor(m*r), где m - некоторый номер больше, чем 1. Разные таблицы VLC могут назначаться в зависимости от того, выше или ниже соотношение r значения RQ.
ФИГ.6 - блок-схема, иллюстрирующая иллюстративный блок 52A VLC, который может соответствовать блоку, показанному на ФИГ.4. Блок 52A VLC выполняет обратные функции декодирования относительно кодирования, которое выполняется блоком 46 VLC. Таким образом, тогда как блок 46 VLC принимает квантованные остаточные коэффициенты и генерирует поток битов, блок 52A VLC принимает поток битов и генерирует квантованные остаточные коэффициенты. Блок 52A VLC включает модуль 82 декодирования, модуль статистики 84, модуль 86 выбора таблицы и набор таблиц 88 VLC. Как в блоке 46, таблицы 88 VLC блока 52A в общем относятся к таблицам, которые могут храниться в любом местоположении, например, локально или вне в отдельной ячейке памяти. Таблицы 88 VLC могут обновляться периодически, по желанию. Любое число таблиц может быть включено в таблицы 88 VLC. В некоторых случаях используются две таблицы, хотя больше таблиц могли быть включены.
Блок 82 декодирования VLC может выполнять отдельные проходы декодирования для коэффициентов значимости и коэффициентов уточнения. Технологии этого раскрытия могут быть применимы к кодированию либо только коэффициентов уточнения, либо могли бы использоваться как для уточнения, так и для коэффициентов значимости. Декодирование, осуществляемое блоком 52A VLC, является обратным кодированию, осуществляемому блоком 46 VLC.
Выбор таблицы блоком 52A VLC для декодирования коэффициентов, связанных с разными видеоблоками, может выполняться на основе информации, собранной для ранее кодированных блоков, например из ранее кодированных кадров. Например, модуль 84 статистики может выполнять статистический анализ ранее декодированных кадров, чтобы способствовать выбору таблицы посредством модуля 86 выбора таблицы. В особенности, модуль 84 статистики определяет первую статистику, связанную с первым типом видеоблока (таким как внутренний блок), и определяет вторую статистику, связанную со вторым типом видеоблока (таким как интерблок). Модуль 86 выбора таблицы выбирает первую таблицу VLC из множества таблиц 88 VLC для использования в кодировании первого типа видеоблока на основе первой статистики. В дополнение модуль 86 выбора таблицы выбирает вторую таблицу VLC из множества таблиц 88 VLC для использования в кодировании второго типа видеоблока на основе второй статистики. Модуль 82 декодирования декодирует видеоблоки первого типа на основе первой таблицы VLC и декодирует видеоблоки второго типа на основе второй таблицы VLC.
Таблица 2 выше может также рассматриваться как одна из таблиц 88 VLC. Однако, тогда как таблицы 78 VLC (ФИГ.5) отображают наборы коэффициентов в кодовые слова переменной длины, таблицы 88 VLC (ФИГ.6) отображают кодовые слова переменной длины обратно в наборы коэффициентов. Таким образом, декодирование, выполняемое блоком 52A VLC, может рассматриваться являющимся обратным кодированию, осуществляемому блоком 46 VLC.
ФИГ.7 - схема последовательности операций, иллюстрирующая технологию кодирования для кодирования с переменной длиной коэффициентов (например, обычно коэффициентов уточнения) расширенного уровня в соответствии с этим раскрытием. Процесс кодирования на ФИГ.7 применяется как для кодирования, так и для декодирования. Как показано на ФИГ.7, модуль 74, 84 статистики определяет статистику ранее кодированных внутренних блоков (91). Например, модуль 74, 84 статистики может вычислять для ранее кодированных внутренних блоков соотношение символов уточнения, имеющих то же значение знака относительно символов уточнения, имеющих инвертированное значение знака. В дополнение модуль 74, 84 статистики может определить статистику ранее кодированных интерблоков (92), например, путем вычисления для ранее кодированных интерблоков соотношения символов уточнения, имеющих то же значение знака относительно символов уточнения, имеющих инвертированное значение знака.
Модуль 76, 86 выбора таблицы выбирает таблицу кодирования для внутренних блоков на основе статистики ранее кодированных внутренних блоков (93). Таблица кодирования для внутренних блоков, например, может выбираться на основе значения соотношения, связанного с внутренними блоками. В дополнение модуль 76, 86 выбора таблицы выбирает таблицу кодирования для интерблоков на основе статистики ранее кодированных интерблоков (94). Таблица кодирования для интерблоков может выбираться на основе значения соотношения, связанного с интерблоками.
Модуль 82, 84 кодирования кодирует внутренние блоки, используя выбранную таблицу кодирования для внутренних блоков (95), и кодирует интерблоки, используя выбранную таблицу кодирования для интерблоков (96). В особенности, блок 82, 84 кодирования выполняет табличный поиск, используя выбранные таблицы кодирования для разных типов блоков. Процесс может повторяться для каждого кодированного блока (97). Кодированные блоки могут быть видеокадрами, частями видеокадров, уровнями FGS или т.п.
Технологии, описанные здесь, могут реализовываться в оборудовании, программном обеспечении, встроенном программном обеспечении или любой их комбинации. Любые признаки, описанные как блоки или компоненты, могут реализовываться вместе в интегрированном логическом устройстве или отдельно как дискретные, но логические устройства в рабочем состоянии. При реализации в программном обеспечении упомянутые технологии могут реализовываться по меньшей мере в части машиночитаемым носителем, содержащим инструкции, которые, когда выполнены, выполняют один или более способов, описанных выше. Упомянутый машиночитаемый носитель может стать частью компьютерного программного продукта, который может включать упаковочные материалы. Упомянутый машиночитаемый носитель может содержать такое оперативное запоминающее устройство (RAM), как синхронное динамическое оперативное запоминающее устройство (SDRAM), память только для чтения (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемая программируемая память только для чтения (EEPROM), FLASH память, магнитный или оптический носитель для хранения данных т.п. Эти технологии дополнительно или альтернативно могут реализовываться по меньшей мере в части машиночитаемой средой связи, которая переносит или передает код в форме инструкций или структур данных и которая может быть доступна, читаема и/или выполняема компьютером.
Этот код может выполняться одним или более процессорами, такими как одним или более цифровыми сигнальными процессорами (DSP), микропроцессорами общего назначения, специализированными интегральными схемами (ASIC), логическими матрицами с эксплуатационным программированием (FPGA) или другими эквивалентными интегрированными или дискретными логическими схемами. Соответственно, термин "процессор," как используемый здесь, может относиться к любой вышеизложенной структуре или любой другой структуре, подходящей для реализации технологий, описанных здесь. В дополнение, в некоторых аспектах, функциональные возможности, описанные здесь, могут предоставляться в рамках выделенных блоков программного обеспечения или блоков оборудования, конфигурированных для кодирования и декодирования или включенных в объединенном видеокодере-декодере (CODEC).
При реализации в оборудовании, это раскрытие может быть направлено на схему, такую как интегральная схема, набор микросхем специализированной интегральной схемы (ASIC), программируемая вентильная матрица (FPGA), логика или различные их комбинации, сконфигурированные для выполнения одной или более технологий, описанных здесь.
Различные варианты осуществления изобретения были описаны. Эти и другие варианты осуществления находятся в пределах объема следующей формулы изобретения.
Claims (23)
1. Способ кодирования расширенного уровня схемы масштабируемого видеокодирования (SVC), содержащий этапы, на которых определяют первое соотношение, связанное с первым типом видеоблока; определяют второе соотношение, связанное со вторым типом видеоблока, причем первое и второе соотношения основаны на символах, указывающих, изменились ли знаки коэффициентов уточнения или остались теми же относительно соответствующих коэффициентов предыдущего уровня в схеме SVC; выбирают первую таблицу кодирования переменной длины (VLC) из множества таблиц VLC для использования в кодировании видеоблока первого типа на основе первого соотношения; выбирают вторую таблицу VLC из множества таблиц VLC для использования в кодировании видеоблока второго типа на основе второго соотношения; кодируют видеоблоки первого типа на основе первой таблицы VLC; и кодируют видеоблоки второго типа на основе второй таблицы VLC.
2. Способ по п.1, в котором этап, на котором кодируют видеоблоки первого типа на основе первой таблицы VLC, заключается в кодировании видеоблоков первого типа на основе первой таблицы VLC; и этап, на котором кодируют видеоблоки второго типа на основе второй таблицы VLC, заключается в кодировании видеоблоков второго типа на основе второй таблицы VLC.
3. Способ по п.1, в котором этап, на котором кодируют видеоблоки первого типа на основе первой таблицы VLC, заключается в декодировании видеоблоков первого типа на основе первой таблицы VLC; и этап, на котором кодируют видеоблоки второго типа на основе второй таблицы VLC, заключается в декодировании видеоблоков второго типа на основе второй таблицы VLC.
4. Способ по п.1, в котором этап, на котором кодируют видеоблоки первого типа на основе первой таблицы VLC, заключается в выполнении табличного поиска с использованием первой таблицы VLC; и этап, на котором кодируют видеоблоки второго типа на основе второй таблицы VLC, заключается в выполнении табличного поиска с использованием второй таблицы VLC.
5. Способ по п.1, в котором первый тип видеоблока содержит внутреннекодированный видеоблок, и второй тип видеоблока содержит интеркодированный видеоблок.
6. Способ по п.1, в котором видеоблоки сгруппированы в кадры, причем упомянутый способ повторяют для каждого из этих кадров.
7. Способ по п.1, причем этот способ выполняют по отношению к коэффициентам уточнения расширенного уровня, при этом этап, на котором кодируют видеоблоки первого типа на основе первой таблицы VLC, заключается в кодировании коэффициентов уточнения, связанных с видеоблоками первого типа; и этап, на котором кодируют видеоблоки второго типа на основе второй таблицы VLC, заключается в кодировании коэффициентов уточнения, связанных с видеоблоками второго типа.
8. Способ по п.7, в котором первое и второе соотношения являются соотношениями символов, указывающими, имеют ли ранее кодированные коэффициенты уточнения то же значение знака или инвертированное значение знака относительно ранее кодированных коэффициентов уточнения предыдущего уровня в схеме SVC.
9. Устройство, которое кодирует расширенный уровень схемы масштабируемого видеокодирования (SVC), содержащее модуль статистики, который определяет первое соотношение, связанное с первым типом видеоблока, и определяет второе соотношение, связанное со вторым типом видеоблока, причем первое и второе соотношения основаны на символах, указывающих, изменились ли знаки коэффициентов уточнения или остались теми же относительно соответствующих коэффициентов предыдущего уровня в схеме SVC; модуль выбора таблицы, который выбирает первую таблицу кодирования переменной длины (VLC) из множества таблиц VLC для использования в кодировании видеоблока первого типа на основе первого соотношения и выбирает вторую таблицу VLC из множества таблиц VLC для использования в кодировании видеоблока второго типа на основе второго соотношения; и модуль кодирования, который кодирует видеоблоки первого типа на основе первой таблицы VLC и кодирует видеоблоки второго типа на основе второй таблицы VLC.
10. Устройство по п.9, в котором модуль кодирования содержит модуль кодирования, который кодирует видеоблоки первого типа на основе первой таблицы VLC и кодирует видеоблоки второго типа на основе второй таблицы VLC.
11. Устройство по п.9, в котором модуль кодирования выполняет табличный поиск с использованием первой таблицы VLC для кодирования видеоблоков первого типа; и выполняет табличный поиск с использованием второй таблицы VLC для кодирования видеоблоков второго типа.
12. Устройство по п.9, в котором первый тип видеоблока содержит внутреннекодированный видеоблок и второй тип видеоблока содержит интеркодированный видеоблок.
13. Устройство по п.9, в котором видеоблоки сгруппированы в кадры, причем для каждого из этих кадров модуль статистики определяет первое и второе соотношения; модуль выбора таблицы выбирает первую и вторую таблицы VLC; и модуль кодирования кодирует видеоблоки первого и второго типов на основе выбранных первой и второй таблиц VLC.
14. Устройство по п.9, причем упомянутое устройство кодирует коэффициенты уточнения расширенного уровня, в котором модуль кодирования кодирует коэффициенты уточнения, связанные с видеоблоками первого типа на основе первой таблицы VLC; и кодирует коэффициенты уточнения, связанные с видеоблоками второго типа на основе второй таблицы VLC.
15. Устройство по п.9, в котором первое и второе соотношения являются соотношениями символов, указывающими, имеют ли ранее кодированные коэффициенты уточнения то же значение знака или инвертированное значение знака относительно ранее кодированных коэффициентов уточнения предыдущего уровня в схеме SVC.
16. Устройство по п.9, причем упомянутое устройство содержит по меньшей мере одно из следующего: интегральную схему, содержащую модуль статистики, модуль выбора таблицы и модуль кодирования; и беспроводное устройство связи, содержащее модуль статистики, модуль выбора таблицы и модуль кодирования.
17. Машиночитаемый носитель, содержащий инструкции, которые, при выполнении в устройстве кодирования видео, предписывают упомянутому устройству кодировать расширенный уровень схемы масштабируемого видеокодирования (SVC), причем инструкции предписывают упомянутому устройству определять первое соотношение, связанное с первым типом видеоблока; определять второе соотношение, связанное со вторым типом видеоблока, причем первое и второе соотношения основаны на символах, указывающих, изменились ли знаки коэффициентов уточнения или остались теми же относительно соответствующих коэффициентов предыдущего уровня в схеме SVC; выбирать первую таблицу кодирования переменной длины (VLC) из множества таблиц VLC для использования в кодировании видеоблока первого типа на основе первого соотношения; выбирать вторую таблицу VLC из множества таблиц VLC для использования в кодировании видеоблока второго типа на основе второго соотношения; кодировать видеоблоки первого типа на основе первой таблицы VLC; и кодировать видеоблоки второго типа на основе второй таблицы VLC.
18. Устройство, которое кодирует расширенный уровень схемы масштабируемого видеокодирования (SVC), содержащее средство для определения статистики, которое определяет первое соотношение, связанное с первым типом видеоблока, и определяет второе соотношение, связанное со вторым типом видеоблока; средство для выбора, которое выбирает первую таблицу кодирования переменной длины (VLC) из множества таблиц VLC для использования в кодировании видеоблока первого типа на основе первого соотношения и выбирает вторую таблицу VLC из множества таблиц VLC для использования в кодировании видеоблока второго типа на основе второго соотношения; и средство для кодирования, которое кодирует видеоблоки первого типа на основе первой таблицы VLC и кодирует видеоблоки второго типа на основе второй таблицы VLC.
19. Устройство по п.18, в котором средство для кодирования кодирует видеоблоки первого типа на основе первой таблицы VLC; и кодирует видеоблоки второго типа на основе второй таблицы VLC.
20. Устройство по п.18, в котором упомянутое средство для кодирования выполняет табличный поиск для видеоблоков первого типа с использованием первой таблицы VLC и выполняет табличный поиск для видеоблоков второго типа с использованием второй таблицы VLC.
21. Устройство по п.18, в котором первый тип видеоблока содержит внутреннекодированный видеоблок и второй тип видеоблока содержит интеркодированный видеоблок.
22. Устройство по п.18, в котором видеоблоки сгруппированы в кадры, причем для каждого из этих кадров упомянутое средство для определения определяет первое и второе соотношения; упомянутое средство для выбора выбирает первую и вторую таблицы VLC; и упомянутое средство для кодирования кодирует видеоблоки первого и второго типов на основе выбранных первой и второй таблиц VLC.
23. Устройство по п.18, в котором упомянутое устройство кодирует коэффициенты уточнения расширенного уровня, причем упомянутое средство для кодирования кодирует коэффициенты уточнения, связанные с видеоблоками первого типа, на основе первой таблицы VLC и кодирует коэффициенты уточнения, связанные с видеоблоками второго типа, на основе второй таблицы VLC, и причем первое и второе соотношения являются соотношениями символов, указывающими, имеют ли ранее кодированные коэффициенты уточнения то же значение знака или инвертированное значение знака относительно ранее кодированных коэффициентов уточнения предыдущего уровня в схеме SVC.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US88374107P | 2007-01-05 | 2007-01-05 | |
US60/883,741 | 2007-01-05 | ||
US11/868,017 US8565314B2 (en) | 2006-10-12 | 2007-10-05 | Variable length coding table selection based on block type statistics for refinement coefficient coding |
US11/868,017 | 2007-10-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2009129976A RU2009129976A (ru) | 2011-02-10 |
RU2419244C2 true RU2419244C2 (ru) | 2011-05-20 |
Family
ID=39166946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2009129976/09A RU2419244C2 (ru) | 2007-01-05 | 2008-01-04 | Выбор кодовой таблицы переменной длины на основе статистики типа блоков для кодирования коэффициентов уточнения |
Country Status (10)
Country | Link |
---|---|
US (1) | US8565314B2 (ru) |
EP (1) | EP2103137A1 (ru) |
JP (1) | JP5096492B2 (ru) |
KR (1) | KR101067308B1 (ru) |
CN (1) | CN101578870B (ru) |
BR (1) | BRPI0806304A2 (ru) |
CA (1) | CA2673875C (ru) |
RU (1) | RU2419244C2 (ru) |
TW (1) | TWI397320B (ru) |
WO (1) | WO2008086197A1 (ru) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2580082C2 (ru) * | 2011-06-30 | 2016-04-10 | Квэлкомм Инкорпорейтед | Сигнализация элементов синтаксиса для коэффициентов преобразования для поднаборов единицы кодирования на уровне листьев |
US9445120B2 (en) | 2011-04-12 | 2016-09-13 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US9456214B2 (en) | 2011-08-03 | 2016-09-27 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus |
RU2601192C2 (ru) * | 2011-05-27 | 2016-10-27 | Сан Пэтент Траст | Способ кодирования видео, устройство кодирования видео, способ декодирования видео, устройство декодирования видео и устройство кодирования/декодирования видео |
US9609356B2 (en) | 2011-05-31 | 2017-03-28 | Sun Patent Trust | Moving picture coding method and apparatus with candidate motion vectors |
US9615107B2 (en) | 2011-05-27 | 2017-04-04 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US9826249B2 (en) | 2011-05-24 | 2017-11-21 | Velos Media, Llc | Decoding method and apparatuses with candidate motion vectors |
US9900613B2 (en) | 2011-05-31 | 2018-02-20 | Sun Patent Trust | Image coding and decoding system using candidate motion vectors |
US10887585B2 (en) | 2011-06-30 | 2021-01-05 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
US11218708B2 (en) | 2011-10-19 | 2022-01-04 | Sun Patent Trust | Picture decoding method for decoding using a merging candidate selected from a first merging candidate derived using a first derivation process and a second merging candidate derived using a second derivation process |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2455011C (en) | 2004-01-09 | 2011-04-05 | Suncor Energy Inc. | Bituminous froth inline steam injection processing |
US8393561B2 (en) | 2005-11-09 | 2013-03-12 | Suncor Energy Inc. | Method and apparatus for creating a slurry |
US8552891B2 (en) * | 2006-05-27 | 2013-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel data interfacing using combined coding and recording medium therefor |
US8325819B2 (en) * | 2006-10-12 | 2012-12-04 | Qualcomm Incorporated | Variable length coding table selection based on video block type for refinement coefficient coding |
US9319700B2 (en) * | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
US8599926B2 (en) * | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
WO2008110999A2 (en) * | 2007-03-13 | 2008-09-18 | Nokia Corporation | System and method for video encoding and decoding |
EP2193661A4 (en) * | 2007-06-27 | 2011-10-19 | Thomson Licensing | METHOD AND APPARATUS FOR ENCODING AND / OR DECODING VIDEO DATA USING RESIDUAL PREDICTION OF IMPROVING LAYER FOR SCALABILITY OF BINARY DEPTH |
CA2640514A1 (en) | 2008-09-18 | 2010-03-18 | Kyle Alan Bruggencate | Method and apparatus for processing an ore feed |
EP3101897B1 (en) * | 2010-04-09 | 2021-10-20 | Xylene Holding S.A. | Moving image encoding device and method, moving image decoding device and method, bitstream |
EP2559244B1 (en) | 2010-04-13 | 2017-08-02 | GE Video Compression, LLC | Coding of significance maps and transform coefficient blocks |
KR20110124161A (ko) * | 2010-05-10 | 2011-11-16 | 삼성전자주식회사 | 계층 부호화 영상의 송수신 방법 및 장치 |
US9025661B2 (en) | 2010-10-01 | 2015-05-05 | Qualcomm Incorporated | Indicating intra-prediction mode selection for video coding |
US20120163471A1 (en) * | 2010-12-23 | 2012-06-28 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US8913662B2 (en) | 2011-01-06 | 2014-12-16 | Qualcomm Incorporated | Indicating intra-prediction mode selection for video coding using CABAC |
US10080016B2 (en) * | 2011-01-14 | 2018-09-18 | Sony Corporation | Codeword space reduction for intra chroma mode signaling for HEVC |
US20120195366A1 (en) * | 2011-02-01 | 2012-08-02 | Mediatek Singapore Pte. Ltd. | Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes |
US8373583B2 (en) * | 2011-04-12 | 2013-02-12 | Intel Corporation | Compression producing output exhibiting compression ratio that is at least equal to desired compression ratio |
US9516316B2 (en) * | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
KR102001415B1 (ko) | 2012-06-01 | 2019-07-18 | 삼성전자주식회사 | 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템 |
EP2901693A4 (en) * | 2012-09-28 | 2016-04-27 | Intel Corp | BETWEEN SHIFTS INTRA-PREDICTION MODE |
US9992493B2 (en) * | 2013-04-01 | 2018-06-05 | Qualcomm Incorporated | Inter-layer reference picture restriction for high level syntax-only scalable video coding |
US10003807B2 (en) | 2015-06-22 | 2018-06-19 | Cisco Technology, Inc. | Block-based video coding using a mixture of square and rectangular blocks |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
US10009620B2 (en) | 2015-06-22 | 2018-06-26 | Cisco Technology, Inc. | Combined coding of split information and other block-level parameters for video coding/decoding |
US11496747B2 (en) * | 2017-03-22 | 2022-11-08 | Qualcomm Incorporated | Intra-prediction mode propagation |
JP7414975B2 (ja) * | 2019-10-03 | 2024-01-16 | 華為技術有限公司 | 幾何学的パーティション・モードのためのコーディング・プロセス |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982437A (en) * | 1992-10-26 | 1999-11-09 | Sony Corporation | Coding method and system, and decoding method and system |
JPH06225279A (ja) | 1992-10-26 | 1994-08-12 | Sony Corp | 符号化方法、復号化方法、符号化装置及び復号化装置 |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
TW224553B (en) | 1993-03-01 | 1994-06-01 | Sony Co Ltd | Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture |
KR0155784B1 (ko) * | 1993-12-16 | 1998-12-15 | 김광호 | 영상데이타의 적응형 가변장 부호화/복호화방법 |
KR970009408B1 (ko) * | 1994-01-18 | 1997-06-13 | 대우전자 주식회사 | 인터/인트라 테이블 선택 회로 |
CA2156889C (en) | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
JP2951861B2 (ja) | 1994-12-28 | 1999-09-20 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
KR0178198B1 (ko) | 1995-03-28 | 1999-05-01 | 배순훈 | 영상 신호 부호화 장치 |
KR100209410B1 (ko) * | 1995-03-28 | 1999-07-15 | 전주범 | 영상 신호 부호화 장치 |
US6571019B1 (en) * | 1995-10-26 | 2003-05-27 | Hyundai Curitel, Inc | Apparatus and method of encoding/decoding a coded block pattern |
US5835145A (en) * | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
JP3263807B2 (ja) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
JP3189876B2 (ja) * | 1997-06-09 | 2001-07-16 | 日本電気株式会社 | 可変長符号復号化回路 |
JPH11242573A (ja) | 1998-02-25 | 1999-09-07 | Canon Inc | 情報処理装置、情報処理方法、及び、記憶媒体 |
JP3132456B2 (ja) | 1998-03-05 | 2001-02-05 | 日本電気株式会社 | 階層的画像符号化方式、及び階層的画像復号方式 |
US6275531B1 (en) * | 1998-07-23 | 2001-08-14 | Optivision, Inc. | Scalable video coding method and apparatus |
JP2000059234A (ja) * | 1998-08-10 | 2000-02-25 | Mitsubishi Electric Corp | 可変長符号処理装置 |
US6980597B1 (en) * | 1998-12-04 | 2005-12-27 | General Instrument Corporation | Fine granularity scalability using bit plane coding of transform coefficients |
JP2001094982A (ja) | 1999-09-20 | 2001-04-06 | Nippon Telegr & Teleph Corp <Ntt> | 階層的画像符号化方法及びその装置と、その方法の実現に用いられるプログラム記録媒体と、階層的画像復号方法及びその装置と、その方法の実現に用いられるプログラム記録媒体 |
US6700933B1 (en) * | 2000-02-15 | 2004-03-02 | Microsoft Corporation | System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (PFGS) video coding |
JP2001308715A (ja) * | 2000-04-20 | 2001-11-02 | Mitsubishi Electric Corp | 可変長符号化装置および可変長復号装置 |
KR100856398B1 (ko) | 2000-05-17 | 2008-09-04 | 삼성전자주식회사 | 복수 매핑 테이블을 이용한 가변장 부호화 및 복호화방법과 그 장치 |
US6501397B1 (en) * | 2000-05-25 | 2002-12-31 | Koninklijke Philips Electronics N.V. | Bit-plane dependent signal compression |
JP2002058028A (ja) | 2000-08-09 | 2002-02-22 | Sony Corp | 画像符号化装置および方法、画像復号装置および方法、ならびに画像処理装置 |
US7035337B2 (en) * | 2000-11-29 | 2006-04-25 | Sony Corporation | Stream processing apparatus |
WO2003036979A1 (en) * | 2001-10-26 | 2003-05-01 | Koninklijke Philips Electronics N.V. | Spatial scalable compression scheme using adaptive content filtering |
ES2610430T3 (es) | 2001-12-17 | 2017-04-27 | Microsoft Technology Licensing, Llc | Codificación por omisión de macrobloques |
DE60347000C5 (de) | 2002-01-22 | 2020-08-06 | Nokia Technologies Oy | Codierungstransformationskoeffizienten in bild-/videocodierern und/oder -decodierern |
US6690307B2 (en) * | 2002-01-22 | 2004-02-10 | Nokia Corporation | Adaptive variable length coding of digital video |
KR101010722B1 (ko) | 2002-04-02 | 2011-01-24 | 노키아 코포레이션 | 영상의 코딩 변환 계수/비디오 인코더 및/또는 디코더 |
KR100491445B1 (ko) | 2002-04-12 | 2005-05-25 | 한국과학기술원 | Mpeg-4 fgs 비디오를 위한 사각영역 기반형의선택적 향상기법에 의한 부호화/복호화 방법 및 장치 |
US6795584B2 (en) | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
US7369706B2 (en) * | 2003-01-06 | 2008-05-06 | Matsushita Electric Industrial Co., Ltd. | Image-data processing device, image-data processing method, image-data distributing device and image-data transmitting system |
US20040179606A1 (en) * | 2003-02-21 | 2004-09-16 | Jian Zhou | Method for transcoding fine-granular-scalability enhancement layer of video to minimized spatial variations |
US7830963B2 (en) * | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
KR101117586B1 (ko) * | 2003-12-03 | 2012-02-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Mpeg-2 시스템에서 향상된 범위성 지원을 위한 시스템및 방법 |
US20050201629A1 (en) | 2004-03-09 | 2005-09-15 | Nokia Corporation | Method and system for scalable binarization of video data |
US7664176B2 (en) * | 2004-07-09 | 2010-02-16 | Nokia Corporation | Method and system for entropy decoding for scalable video bit stream |
KR100592049B1 (ko) | 2004-07-16 | 2006-06-20 | 에스케이 텔레콤주식회사 | 멀티미디어 링백톤 서비스를 위한 단말기 및 단말기의제어 방법 |
TWI243615B (en) | 2004-10-11 | 2005-11-11 | Ind Tech Res Inst | System for enhancing compression ratio of scalable video coding and method thereof |
US20060078049A1 (en) * | 2004-10-13 | 2006-04-13 | Nokia Corporation | Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability |
WO2006067712A1 (en) | 2004-12-22 | 2006-06-29 | Koninklijke Philips Electronics N.V. | Scalable coding |
KR100679035B1 (ko) | 2005-01-04 | 2007-02-06 | 삼성전자주식회사 | 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더 |
US20060153294A1 (en) * | 2005-01-12 | 2006-07-13 | Nokia Corporation | Inter-layer coefficient coding for scalable video coding |
US20090129467A1 (en) * | 2005-04-08 | 2009-05-21 | Agency For Science, Technology And Research | Method for Encoding at Least One Digital Picture, Encoder, Computer Program Product |
US20060233255A1 (en) * | 2005-04-13 | 2006-10-19 | Nokia Corporation | Fine granularity scalability (FGS) coding efficiency enhancements |
JP4495034B2 (ja) * | 2005-06-01 | 2010-06-30 | パナソニック株式会社 | 可変長符号化方式および可変長符号化装置 |
WO2007035070A1 (en) | 2005-09-26 | 2007-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method |
US7348903B2 (en) * | 2005-09-26 | 2008-03-25 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method |
CN100466739C (zh) * | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
KR100736096B1 (ko) | 2005-12-12 | 2007-07-06 | 삼성전자주식회사 | 비디오 신호를 그룹별로 인코딩 및 디코딩하는 방법 및장치 |
US8599926B2 (en) * | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
US9319700B2 (en) * | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
US8325819B2 (en) * | 2006-10-12 | 2012-12-04 | Qualcomm Incorporated | Variable length coding table selection based on video block type for refinement coefficient coding |
US8942292B2 (en) | 2006-10-13 | 2015-01-27 | Qualcomm Incorporated | Efficient significant coefficients coding in scalable video codecs |
-
2007
- 2007-10-05 US US11/868,017 patent/US8565314B2/en not_active Expired - Fee Related
-
2008
- 2008-01-04 JP JP2009544991A patent/JP5096492B2/ja not_active Expired - Fee Related
- 2008-01-04 WO PCT/US2008/050261 patent/WO2008086197A1/en active Application Filing
- 2008-01-04 CA CA2673875A patent/CA2673875C/en not_active Expired - Fee Related
- 2008-01-04 RU RU2009129976/09A patent/RU2419244C2/ru not_active IP Right Cessation
- 2008-01-04 KR KR1020097013370A patent/KR101067308B1/ko not_active IP Right Cessation
- 2008-01-04 CN CN2008800016498A patent/CN101578870B/zh not_active Expired - Fee Related
- 2008-01-04 BR BRPI0806304-4A patent/BRPI0806304A2/pt not_active IP Right Cessation
- 2008-01-04 EP EP08705706A patent/EP2103137A1/en not_active Withdrawn
- 2008-01-07 TW TW097100640A patent/TWI397320B/zh not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
KARCZEWICZ M. et al, Improved Refinement Coefficient Coding, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-U132, 21 ST MEETING: HANGZHOU, 20-27 October 2006. SHIMA M., Modified VLC for refinement pass, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-S031, 19TH MEETING: GENEVA, 31 31 March - 7 April 2006. YE Y. et al, Improvements to FGS layer Variable Length Coder, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-S066, 19TH MEETING: GENEVA, 31 March - 7 April 2006. SHIMA M., CE1: Complexity reduction for adaptive VLC, GENEVA, ISO, 10 January 2006. RIDGE J. et al, CE8: VLCs for SVC, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-Q040-L 17TH MEETING: NICE, 14-21 October 2005. RIDGE J. AND KARCZEWICZ M., Variable length codes for SVC, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-P056, 16-TH JVT MEETING, POZDAN, 24 July 2005 - 29 July 2005. * |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9872036B2 (en) | 2011-04-12 | 2018-01-16 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US9445120B2 (en) | 2011-04-12 | 2016-09-13 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US11917186B2 (en) | 2011-04-12 | 2024-02-27 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US11356694B2 (en) | 2011-04-12 | 2022-06-07 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US11012705B2 (en) | 2011-04-12 | 2021-05-18 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US10609406B2 (en) | 2011-04-12 | 2020-03-31 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US10536712B2 (en) | 2011-04-12 | 2020-01-14 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US10382774B2 (en) | 2011-04-12 | 2019-08-13 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US10178404B2 (en) | 2011-04-12 | 2019-01-08 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus |
US11228784B2 (en) | 2011-05-24 | 2022-01-18 | Velos Media, Llc | Decoding method and apparatuses with candidate motion vectors |
US10129564B2 (en) | 2011-05-24 | 2018-11-13 | Velos Media, LCC | Decoding method and apparatuses with candidate motion vectors |
US9826249B2 (en) | 2011-05-24 | 2017-11-21 | Velos Media, Llc | Decoding method and apparatuses with candidate motion vectors |
US10484708B2 (en) | 2011-05-24 | 2019-11-19 | Velos Media, Llc | Decoding method and apparatuses with candidate motion vectors |
US10595023B2 (en) | 2011-05-27 | 2020-03-17 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US11115664B2 (en) | 2011-05-27 | 2021-09-07 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
RU2601192C2 (ru) * | 2011-05-27 | 2016-10-27 | Сан Пэтент Траст | Способ кодирования видео, устройство кодирования видео, способ декодирования видео, устройство декодирования видео и устройство кодирования/декодирования видео |
US11979582B2 (en) | 2011-05-27 | 2024-05-07 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US11575930B2 (en) | 2011-05-27 | 2023-02-07 | Sun Patent Trust | Coding method and apparatus with candidate motion vectors |
US10200714B2 (en) | 2011-05-27 | 2019-02-05 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
US10212450B2 (en) | 2011-05-27 | 2019-02-19 | Sun Patent Trust | Coding method and apparatus with candidate motion vectors |
US11895324B2 (en) | 2011-05-27 | 2024-02-06 | Sun Patent Trust | Coding method and apparatus with candidate motion vectors |
US9723322B2 (en) | 2011-05-27 | 2017-08-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
US10721474B2 (en) | 2011-05-27 | 2020-07-21 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US11076170B2 (en) | 2011-05-27 | 2021-07-27 | Sun Patent Trust | Coding method and apparatus with candidate motion vectors |
US9883199B2 (en) | 2011-05-27 | 2018-01-30 | Sun Patent Trust | Coding method and apparatus with candidate motion vectors |
US9615107B2 (en) | 2011-05-27 | 2017-04-04 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US11570444B2 (en) | 2011-05-27 | 2023-01-31 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
US10034001B2 (en) | 2011-05-27 | 2018-07-24 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US9838695B2 (en) | 2011-05-27 | 2017-12-05 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US10708598B2 (en) | 2011-05-27 | 2020-07-07 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
US9900613B2 (en) | 2011-05-31 | 2018-02-20 | Sun Patent Trust | Image coding and decoding system using candidate motion vectors |
US10652573B2 (en) | 2011-05-31 | 2020-05-12 | Sun Patent Trust | Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device |
US10951911B2 (en) | 2011-05-31 | 2021-03-16 | Velos Media, Llc | Image decoding method and image decoding apparatus using candidate motion vectors |
US11509928B2 (en) | 2011-05-31 | 2022-11-22 | Sun Patent Trust | Derivation method and apparatuses with candidate motion vectors |
US11057639B2 (en) | 2011-05-31 | 2021-07-06 | Sun Patent Trust | Derivation method and apparatuses with candidate motion vectors |
US11917192B2 (en) | 2011-05-31 | 2024-02-27 | Sun Patent Trust | Derivation method and apparatuses with candidate motion vectors |
US10412404B2 (en) | 2011-05-31 | 2019-09-10 | Velos Media, Llc | Image decoding method and image decoding apparatus using candidate motion vectors |
US11949903B2 (en) | 2011-05-31 | 2024-04-02 | Sun Patent Trust | Image decoding method and image decoding apparatus using candidate motion vectors |
US9819961B2 (en) | 2011-05-31 | 2017-11-14 | Sun Patent Trust | Decoding method and apparatuses with candidate motion vectors |
US10645413B2 (en) | 2011-05-31 | 2020-05-05 | Sun Patent Trust | Derivation method and apparatuses with candidate motion vectors |
US11368710B2 (en) | 2011-05-31 | 2022-06-21 | Velos Media, Llc | Image decoding method and image decoding apparatus using candidate motion vectors |
US9609356B2 (en) | 2011-05-31 | 2017-03-28 | Sun Patent Trust | Moving picture coding method and apparatus with candidate motion vectors |
US10887585B2 (en) | 2011-06-30 | 2021-01-05 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
RU2580082C2 (ru) * | 2011-06-30 | 2016-04-10 | Квэлкомм Инкорпорейтед | Сигнализация элементов синтаксиса для коэффициентов преобразования для поднаборов единицы кодирования на уровне листьев |
US11553202B2 (en) | 2011-08-03 | 2023-01-10 | Sun Patent Trust | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus |
US9456214B2 (en) | 2011-08-03 | 2016-09-27 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus |
US10440387B2 (en) | 2011-08-03 | 2019-10-08 | Sun Patent Trust | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus |
US10284872B2 (en) | 2011-08-03 | 2019-05-07 | Sun Patent Trust | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus |
US10129561B2 (en) | 2011-08-03 | 2018-11-13 | Sun Patent Trust | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus |
US11979598B2 (en) | 2011-08-03 | 2024-05-07 | Sun Patent Trust | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus |
US11647208B2 (en) | 2011-10-19 | 2023-05-09 | Sun Patent Trust | Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus |
US11218708B2 (en) | 2011-10-19 | 2022-01-04 | Sun Patent Trust | Picture decoding method for decoding using a merging candidate selected from a first merging candidate derived using a first derivation process and a second merging candidate derived using a second derivation process |
US12120324B2 (en) | 2011-10-19 | 2024-10-15 | Sun Patent Trust | Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2010516116A (ja) | 2010-05-13 |
CN101578870A (zh) | 2009-11-11 |
BRPI0806304A2 (pt) | 2011-09-06 |
CA2673875A1 (en) | 2008-07-17 |
CN101578870B (zh) | 2013-05-08 |
TW200840370A (en) | 2008-10-01 |
RU2009129976A (ru) | 2011-02-10 |
JP5096492B2 (ja) | 2012-12-12 |
US20080089424A1 (en) | 2008-04-17 |
KR101067308B1 (ko) | 2011-09-23 |
CA2673875C (en) | 2013-07-09 |
US8565314B2 (en) | 2013-10-22 |
EP2103137A1 (en) | 2009-09-23 |
WO2008086197A1 (en) | 2008-07-17 |
KR20090094327A (ko) | 2009-09-04 |
TWI397320B (zh) | 2013-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2419244C2 (ru) | Выбор кодовой таблицы переменной длины на основе статистики типа блоков для кодирования коэффициентов уточнения | |
JP5307017B2 (ja) | リファインメント係数符号化のためのビデオブロックに基づいた可変長符号化テーブル選択 | |
RU2409004C1 (ru) | Методы кодирования переменной длины для структур кодированных блоков | |
CA2677973C (en) | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers | |
KR101057600B1 (ko) | 대응 변환 계수 값들의 이력에 기초한 정제 계수 코딩 | |
RU2409003C1 (ru) | Выбор таблицы кодирования с переменной длиной на основании типа видеоблока для совершенствования кодирования коэффициентов | |
RU2420910C2 (ru) | Кодирование коэффициентов уточнения, основанное на предыстории соответствующих значений коэффициентов преобразования |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20150105 |