Зависимый от режима коэффициент сканирования и преобразование направления для разных форматов дискретизации цвета

Иллюстрации

Показать все

Изобретение относится к кодированию и декодированию данных. Техническим результатом является повышение качества изображения при кодировании и декодировании данных. Способ содержит этапы, на которых: прогнозируют яркостные и/или цветоразностные отсчеты изображения на основе других соответствующих опорных отсчетов, полученных из этого же изображения согласно режиму прогнозирования; определяют разности между отсчетами и соответствующими прогнозируемыми отсчетами; разлагают на частотные составляющие обнаруженные разности для блока отсчетов; выбирают схемы сканирования из группы двух или более схем-кандидатов сканирования; на этапе выбора выбирают схему горизонтального сканирования применительно к группе преимущественно вертикальных режимов прогнозирования, выбирают схему вертикального сканирования применительно к группе преимущественно горизонтальных режимов прогнозирования и выбирают схему диагонального сканирования применительно к другим режимам прогнозирования и кодируют разложенные на частотные составляющие разностные данные в порядке коэффициентов разложения на частотные составляющие согласно выбранной схеме сканирования. 6 н. и 7 з.п. ф-лы, 52 ил.

Реферат

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

Настоящее изобретение относится к технике кодирования и декодирования данных.

Описание уровня техники

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

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

Современные видео кодеки (кодеры-декодеры), такие как применяемые в стандарте усовершенствованного видео кодирования H.264/MPEG-4 Advanced Video Coding (AVC) обеспечивают сжатие данных главным образом путем кодирования только разностей между последовательными видео кадрами. Эти кодеки используют регулярную матрицу так называемых макроблоков, каждый из которых используется в качестве области сравнения с соответствующим макроблоком в предыдущем видео кадре, а область изображения в пределах макроблока затем кодируют в соответствии со степенью движения, обнаруженного между соответствующими текущим и предыдущим макроблоками в видео последовательности или между соседствующими макроблоками в одном кадре видео последовательности.

Алгоритм высокоэффективного видео кодирования (High Efficiency Video Coding (HEVC)), известный также как Н.265 или MPEG-H Part 2, предлагается в качестве развития стандарта H.264/MPEG-4 AVC. Целью алгоритма HEVC является повышение качества изображения и удвоение коэффициента сжатия данных по сравнению со стандартом Н.264, а также масштабируемость от разрешения 128×96 пикселей к разрешению 7680×4320 пикселей, что грубо эквивалентно скоростям передачи данных в пределах от 128 кбит/с до 800 Мбит/с.

Согласно алгоритму HEVC для бытовой аппаратуры предложена так называемая блочная структура (профиль) 4:2:0, в которой объем данных, используемый для каждого канала цветности, составляет одну четверть объема данных яркостного канала. Это обусловлено тем, что субъективно люди более чувствительны к вариациям яркости, чем к вариациям цвета, так что можно использовать более сильное сжатие и/или передачу меньшего объема информации в каналах цветности без субъективно воспринимаемой потери качества.

Алгоритм HEVC заменяет макроблоки, применяемые в существующих стандартах Н.264 и MPEG, более гибкой схемой на основе единиц кодирования (coding unit (CU)), представляющих собой структуры переменного размера.

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

Каждая единица CU содержит одну или более единиц прогнозирования (prediction unit (PU)) типа внутрикадрового или межкадрового прогнозирования для блоков переменного размера и одну или более единиц преобразования (transform unit (TU)), содержащих коэффициенты для преобразования и квантования пространственных блоков.

Более того, блоки единиц PU и TU предусмотрены для каждого из трех каналов; канала luma (Y), представляющего собой канал светимости или канал яркости, его можно также считать полутоновым или черно-белым каналом, и двух цветоразностных (chroma) каналов или каналов цветности; Cb и Cr. Эти каналы несут информацию о цвете для полутонового или черно-белого изображения, передаваемого яркостным каналом. Термины «Y, luminance и luma», т.е. яркость, канал яркости, в настоящей заявке используются взаимозаменяемо, и аналогично термины «Cb и Cr, chrominance и chroma», т.е. «цветоразностный, цветность, канал цветности» используются взаимозаменяемо, где это больше подходит, отметим, что термины «chrominance» или «chroma» могут быть использованы обобщенно для обозначения «один из или оба канала Cr и Cb», а в случае обсуждения конкретного цветоразностного канала, он будет идентифицирован термином Cb или Cr.

В общем случае единицы PU считаются независимыми от канала, за исключением того, что единица PU имеет яркостную составляющую и составляющую цветности. В общем случае это означает, что отсчеты, формирующие часть единицы PU для каждого канала, представляют одну и ту же область изображения, так что имеет место фиксированное соотношение между единицами PU для указанных трех каналов. Например, для видео в формате 4:2:0 единица PU размером 8×8 для яркостного канала всегда имеет соответствующую ей единицу PU размером 4×4 для цветоразностного канала, причем цветоразностные составляющие единицы PU представляют ту же самую область, что и яркостная составляющая, но содержат меньшее число пикселей вследствие субдискретизированной природы цветоразностных данных в формате 4:2:0 по сравнению с яркостными данными для видео в формате 4:2:0. Два цветоразностных канала совместно используют информацию внутрикадрового прогнозирования; а все три канала совместно используют информацию межкадрового прогнозирования. Аналогично, в структуре единицы TU также имеет место фиксированное соотношение между указанными тремя каналами.

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

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

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

Соответствующие аспекты или признаки настоящего изобретения определены в прилагаемой Формуле изобретения.

Следует понимать, что и предшествующее общее описание, и последующее подробное описание являются всего лишь примерами и никак не ограничивают предлагаемую технологию.

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

Более полное представление о настоящем изобретении и множестве его преимуществ может быть легко получено и стать более понятным из последующего подробного описания, рассматриваемого в сочетании с прилагаемыми чертежами, на которых:

фиг. 1 схематично иллюстрирует систему передачи и приема аудио/видео (A/V) данных с использованием сжатия и расширения видеоданных;

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

фиг. 3 схематично иллюстрирует систему хранения аудио/видео данных с использованием сжатия и расширения видеоданных;

фиг. 4 схематично иллюстрирует видеокамеру, использующую сжатие видеоданных;

фиг. 5 представляет упрощенную общую схему устройства для сжатия и расширения видеоданных;

фиг. 6 схематично иллюстрирует генерирование изображений прогнозирования;

фиг. 7 схематично иллюстрирует наибольшую единицу кодирования (LCU);

фиг. 8 схематично иллюстрирует группу из четырех единиц кодирования (CU);

фиг. 9 и 10 схематично иллюстрируют разбиение единиц кодирования, показанных на фиг. 8, на меньшие единицы кодирования;

фиг. 11 схематично иллюстрирует матрицу единиц прогнозирования (PU);

фиг. 12 схематично иллюстрирует матрицу единиц преобразования (TU);

фиг. 13 схематично иллюстрирует частично кодированное изображение;

фиг. 14 схематично иллюстрирует набор возможных направлений внутрикадрового прогнозирования;

фиг. 15 схематично иллюстрирует группу режимов прогнозирования;

фиг. 16 схематично иллюстрирует диагональное сканирование вверх - вправо;

фиг. 17 схематично иллюстрирует устройство сжатия видеоданных;

фиг. 18а и 18b схематично иллюстрируют возможные размеры блоков;

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

фиг. 20 схематично иллюстрирует ситуацию, когда совмещенную информацию из одного цветоразностного канала используют в отношении другого цветоразностного канала;

фиг. 21 схематично иллюстрирует пиксели, используемые для режима LM-CHROMA mode;

фиг. 22 схематично иллюстрирует набор направлений прогнозирования яркостного канала;

фиг. 23 схематично иллюстрирует направления, показанные на фиг. 22, применительно к горизонтально разреженному цветоразностному каналу;

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

фиг. 25-28 схематично иллюстрируют интерполяцию пикселей яркостного и цветоразностных каналов;

фиг. 29а и 29b схематично иллюстрируют таблицы параметров квантования для форматов (профилей) 4:2:0 и 4:2:2 соответственно;

фиг. 30 и 31 схематично иллюстрируют таблицы вариаций квантования;

фиг. 32 схематично иллюстрирует схему для модификации углового шага;

фиг. 33 схематично иллюстрирует модификацию угловых шагов;

фиг. 34 и 35 иллюстрируют схемы сканирования;

фиг. 36 схематично иллюстрирует выбор схемы сканирования в соответствии с режимом прогнозирования;

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

фиг. 38 схематично иллюстрирует устройство для выбора схемы сканирования;

фиг. 39 схематично иллюстрирует устройство для выбора преобразования с разложением на частотные составляющие;

фиг. 40 схематично иллюстрирует устройство для кодирования в стандарте САВАС;

фиг. 41А - 41D схематично иллюстрируют предложенное ранее назначение по соседству; и

фиг. 42А - 45 схематично иллюстрируют контекстно-переменное назначение согласно вариантам настоящего изобретения.

Описание вариантов

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

Все, что относится к устройству сжатия и/или расширения данных, которое будет рассмотрено ниже, может быть реализовано в аппаратуре, в программном обеспечении, исполняемом в устройстве обработки данных общего назначения, таком как компьютер общего назначения, в программируемой аппаратуре, такой как специализированная интегральная схема (application specific integrated circuit (ASIC)) или программируемая пользователем вентильная матрица (field programmable gate array (FPGA)), либо посредством сочетания этих компонентов. Когда варианты реализованы посредством загружаемого программного обеспечения и/или встроенного программного обеспечения, следует понимать, что такое загружаемое и/или встроенное программное обеспечение, а также энергонезависимые носители записи, на которых хранится или другим способом распространяется это загружаемое и/или встроенное программное обеспечение, считаются вариантами настоящего изобретения.

Фиг. 1 схематично иллюстрирует систему передачи и приема аудио/видео данных с использованием сжатия и расширения видеоданных.

Входной аудио/видео сигнал 10 поступает в устройство 20 сжатия видеоданных, осуществляющее сжатие по меньшей мере видео составляющей аудио/видео сигнала 10 для передачи по линии 30 передачи данных, такой как кабельная линия, оптоволоконная линия, беспроводная линия передачи или аналогичная линия. Сжатый сигнал обрабатывает устройство 40 расширения данных для получения выходного аудио/видео сигнала 50. В обратном направлении устройство 60 сжатия данных осуществляет сжатие аудио/видео сигнала для передачи по линии 30 передачи данных в устройство 70 расширения данных.

Указанные устройство 20 сжатия данных и устройство 70 расширения данных могут, таким образом, образовать один узел линии связи. Указанные устройство 40 расширения данных и устройство 60 расширения данных могут образовать другой узел линии связи. Безусловно, в случаях, когда линия связи является однонаправленной, только одному из узлов будет нужно устройство сжатия данных и только одному другому узлу потребуется устройство расширения данных.

Фиг. 2 схематично иллюстрирует систему отображения видео, использующую расширение видеоданных. В частности, сжатый аудио/видео сигнал 100 обрабатывают в устройстве 110 расширения данных для получения расширенного сигнала, который может быть представлен на экране устройства 120 отображения. Указанное устройство 110 расширения данных может быть реализовано в виде интегральной части устройства 120 отображения, например, может быть выполнено в одном общем корпусе с устройством отображения. В альтернативном варианте, такое устройство 110 расширения данных может быть выполнено в виде (например) так называемой приставки (set top box (STB)), отметим что выражение "set-top" («верхний», «устанавливаемый сверху») совсем не означает требования, чтобы приставка располагалась в какой-либо конкретной ориентации или позиции относительно устройства 120 отображения; это просто термин, используемый в технике для обозначения устройства, соединяемого с дисплеем в качестве периферийного устройства.

Фиг. 3 схематично иллюстрирует систему хранения аудио/видео данных, использующую сжатие и расширение видео данных. Входной аудио/видео сигнал 130 поступает в устройство 140 сжатия данных, генерирующее сжатый сигнал для сохранения в запоминающем устройстве 150, таком как магнитный дисковод, оптический дисковод, магнитофон, твердотельное запоминающее устройство, например, полупроводниковое запоминающее устройство, или другое запоминающее устройство. Для воспроизведения сжатые данные считывают из запоминающего устройства 150 и передают в устройство 160 расширения данных для осуществления расширения данных с целью получения выходного аудио/видео сигнала 170.

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

Фиг. 4 схематично иллюстрирует видеокамеру, использующую сжатие видеоданных. На фиг. 4 устройство 180 считывания изображения, такое как формирователь сигналов изображения на основе приборов с зарядовой связью (ПЗС) (charge coupled device (CCD)) с соответствующей электронной схемой управления и считывания информации генерирует видеосигнал, передаваемый в устройство 190 сжатия данных. Микрофон (или множество микрофонов) 200 генерирует аудио сигнал для передачи в устройство 190 сжатия данных. Это устройство 190 сжатия данных генерирует сжатый аудио/видео сигнал 210 для сохранения и/или передачи (на схеме показано обобщенно в виде модуля 220).

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

Фиг. 5 представляет упрощенную общую схему устройства для сжатия и расширения видеоданных.

Контроллер 343 управляет всеми операциями устройства и, в частности, применительно к режиму сжатия данных управляет процедурой пробного кодирования (будет рассмотрена ниже) с целью выбора различных режимов работы (размеров блоков единиц CU, единиц PU и единиц TU).

Последовательные изображения из состава входного видеосигнала 300 поступают в сумматор 310 и в модуль 320 прогнозирования изображения. Этот модуль 320 прогнозирования изображения ниже будет рассмотрен более подробно со ссылками на фиг. 6. Сумматор 310 на самом деле выполняет вычитание (отрицательное суммирование), т.е. принимает входной видеосигнал 300 на свой вход "+" и выходной сигнал модуля 320 прогнозирования изображения на свой вход так, что происходит вычитание прогнозируемого изображения из входного изображения. В результате происходит генерация так называемого сигнала 330 остаточного изображения, представляющего разность между реальным и прогнозируемым изображениями.

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

Данные 330 остаточного изображения поступают в преобразовательный 340 модуль, осуществляющий дискретное косинусное преобразование (discrete cosine transform (DCT)) этих данных остаточного изображения. Способ такого преобразования DCT сам по себе хорошо известен и потому не будет здесь описан подробно. Однако способы, используемые в предлагаемом устройстве, содержат ряд аспектов, которые будут более подробно описаны ниже. В частности, это относится к выбору различных блоков данных, к которым применяется преобразование DCT. Эти вопросы будут рассмотрены ниже со ссылками на фиг. 7-12. В некоторых вариантах могут быть избирательно использованы различные способы преобразования с разложением на частотные составляющие (frequency-separation transform) вместо преобразования DCT, в системе известной под названием «зависящее от режима направленное преобразование» (MDDT (Mode Dependent Directional Transform)), которая будет рассмотрена ниже. Сейчас будет предполагаться, что используется преобразование DCT.

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

Модуль 360 сканирования применяет процедуру сканирования данных. Целью процедуры сканирования является переупорядочение квантованных преобразованных данных, чтобы собрать вместе как можно большее число ненулевых квантованных коэффициентов преобразования, и, безусловно, собрать также вместе как можно большее число нулевых квантованных коэффициентов преобразования. Такой подход может позволить эффективно применить так называемое кодирование длин серий или аналогичные способы. Таким образом, процедура сканирования содержит выбор коэффициентов из совокупности квантованных преобразованных данных и, в частности, из блока коэффициентов, соответствующего блоку данных изображения, которые были преобразованы и квантованы, в соответствии с «порядком сканирования» или схемой сканирования таким образом, чтобы (а) все коэффициенты были выбраны по одному разу как часть процедуры сканирования, и (b) сканирование позволило бы реализовать желаемое переупорядочение. Одним из примеров порядка сканирования, который способен дать полезные результаты, является так называемый диагональный порядок сканирования вверх - вправо. В некоторых вариантах может быть использована так называемая система «зависящего от режима сканирования коэффициентов» (MDCS (Mode Dependent Coefficient Scanning)), так что схема сканирования может изменяться от блока к блоку. Такая конфигурация будет рассмотрена более подробно ниже. В настоящий момент предполагается, что используется схема диагонального сканирования вверх - вправо.

После сканирования коэффициенты передают в модуль 370 энтропийного кодирования (ЕЕ). Здесь также могут быть использованы разнообразные виды энтропийного кодирования. Два примера представляют варианты так называемой системы САВАС (контекстно-адаптивное двоичное арифметическое кодирование (Context Adaptive Binary Arithmetic Coding)) и варианты так называемой системы CAVLC (контекстно-адаптивное кодирование в коде переменной длины (Context Adaptive Variable-Length Coding)). В общем случае считается, что система САВАС обладает большей эффективностью, и некоторые исследования показали, что можно добиться уменьшения объема кодированных выходных данных на 10-20% при сопоставимом качестве изображения по сравнению с системой CAVLC. Однако считается, что система CAVLC имеет намного более низкий уровень сложности (с точки зрения реализации), чем система САВАС. Отметим, что процедура сканирования и процедура энтропийного кодирования показаны как раздельные процедуры, однако на деле их можно объединить или осуществлять совместно. Иными словами, считывание данных в модуле энтропийного кодирования может происходить в порядке сканирования. Подобные же соображения применимы также к соответствующим обратным процедурам, которые будут рассмотрены ниже. Отметим, что текущие документы по алгоритму HEVC, рассматриваемые на момент подачи настоящей заявки, уже не содержат возможности применения модуля кодирования коэффициентов для системы CAVLC.

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

Однако имеется также обратный путь, поскольку работа самого модуля 320 прогнозирования зависит от расширенной версии сжатых выходных данных.

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

Процедура энтропийного кодирования, выполняемая модулем 370 энтропийного кодирования, считается кодированием «без потерь», иными словами, она может быть обращена для получения точно тех же данных, какие первоначально поступили в модуль 370 энтропийного кодирования. Таким образом, обратный путь может быть реализован прежде стадии энтропийного кодирования. Действительно, процедура сканирования, выполняемая модулем 360 сканирования, также считается сканированием без потерь, однако в рассматриваемом варианте обратный путь 390 проходит от выхода модуля 350 квантования к входу комплементарного ему модуля 420 обратного квантования.

В общем случае, модуль 410 энтропийного декодирования, модуль 400 обратного сканирования, модуль 420 обратного квантования и модуль 430 обратного преобразования выполняют соответствующие обратные функции для модуля 370 энтропийного кодирования, модуля 360 сканирования, модуля 350 квантования и преобразовательного модуля 340. Далее будет продолжено обсуждение процедуры сжатия данных; процедура расширения входного сжатого видеосигнала будет отдельно рассмотрена ниже.

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

Сигнал 440 изображения суммируют, в сумматоре 450, с выходным сигналом модуля 320 прогнозирования для генерирования реконструированного выходного изображения 460. Оно составляет один из входных сигналов для модуля 320 прогнозирования изображения, как будет описано ниже.

Обратимся теперь к процедуре, применяемой для расширения принятого сжатого видеосигнала 470, этот сигнал поступает в модуль 410 энтропийного декодирования и из этого модуля в цепочку, составленную из модуля 400 обратного сканирования, модуля 420 обратного квантования и модуля 430 обратного преобразования, перед суммированием с выходным сигналом модуля 320 прогнозирования изображения в сумматоре 450. Прямо говоря, выходной сигнал 460 сумматора 450 образует выходной расширенный видеосигнал 480. На практике, перед тем как передать этот сигнал на выход может быть применена дополнительная фильтрация.

Таким образом, устройства, показанные на фиг. 5 и 6, могут действовать как устройство сжатия данных или как устройства расширения данных. Функции этих двух типов устройств очень сильно перекрываются. Модуль 360 сканирования и модуль 370 энтропийного кодирования не используются в режиме расширения данных, а работа модуля 320 прогнозирования (который будет подробно рассмотрен ниже) и других модулей зависит от информации о режиме и параметрах, содержащейся в или иным образом ассоциированной с принимаемым сжатым потоком битов данных, но не генерируемой самими модулями.

Фиг. 6 схематично иллюстрирует генерацию прогнозируемых изображений и, в частности, работу модуля 320 прогнозирования изображения.

Имеются два основных режима прогнозирования: так называемое внутрикадровое прогнозирование и так называемое межкадровое прогнозирование или прогнозирование с компенсацией движения (motion-compensated (МС)).

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

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

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

Реальное прогнозирование в системе внутрикадрового кодирования осуществляется на основе блоков изображения, принимаемых как часть сигнала 460, иными словами прогнозирование основано на кодированных-декодированных блоках изображения, чтобы точно такое же прогнозирование можно было выполнить в устройстве расширения данных. Однако селектор 520 внутрикадрового режима может выделить данные для управления модулем 530 внутрикадрового прогнозирования изображения из входного видеосигнала 300.

Для межкадрового прогнозирования модуль 540 прогнозирования с компенсацией движения (МС) использует информацию движения, такую как векторы движения, полученные модулем 550 оценки движения из входного видеосигнала 300. Эти векторы движения применяют к обработанной версии реконструированного изображения 460 посредством модуля 540 прогнозирования с компенсацией движения для генерации блоков в режиме межкадрового прогнозирования.

Далее будет рассмотрена процедура обработки, применяемая к сигналу 460. Сначала сигнал фильтруют посредством фильтрующего модуля 560, который будет подробно рассмотрен ниже. Такая фильтрация содержит применение «деблокирующего» фильтра для устранения или по меньшей мере попыток устранения эффектов поблочной обработки, осуществляемой преобразовательным модулем 340, и последующих операций. Может быть применен также нелинейный фильтр с адаптивными сдвигами в зависимости от отсчетов (sample adaptive offsetting (SAO)) (будет дополнительно рассмотрен ниже). Кроме того, применяется адаптивный контурный фильтр с использованием коэффициентов, полученных посредством обработки реконструированного сигнала 460 и входного видеосигнала 300. Адаптивный контурный фильтр представляет собой тип фильтра, который, используя известные способы, применяет коэффициенты адаптивной фильтрации к данным, подлежащим фильтрации. Иными словами, коэффициенты фильтрации могут изменяться в зависимости от различных факторов. Данные, определяющие, какие именно коэффициенты фильтрации использовать, входят составной частью в кодированный выходной поток битов данных.

Адаптивная фильтрация представляет собой фильтрацию в контуре для восстановления изображения. Единицу LCU можно фильтровать с использованием до 16 фильтров, причем выбор фильтра и состояние включено/выключено адаптивного контурного фильтра (ALF) определяют для каждой единицы CU в составе единицы LCU. Сегодня управление осуществляется на уровне единиц LCU, а не на уровне единиц CU.

Фильтрованные выходные данные от фильтрующего модуля 560 на деле составляют выходной видеосигнал 480, когда устройство работает в качестве устройства сжатия данных. Эти данные подвергают также буферизации в одном или нескольких запоминающих устройств 570 для изображений или кадров; сохранение последовательных изображений является требованием прогнозирования с компенсацией движения и, в частности, генерации векторов движения. Для экономии места в запоминающих устройствах изображения, сохраняемые в этих запоминающих устройствах 570, можно держать в сжатом виде и затем расширять для использования при генерации векторов движения. Для этой конкретной цели можно использовать любую известную систему сжатия/расширения данных. Сохраняемые изображения передают в интерполяционный фильтр 580, который генерирует обладающую повышенным разрешением версию сохраняемых изображений; в этом примере промежуточные отсчеты (суб-отсчеты) генерируют таким образом, чтобы разрешение интерполированного изображения на выходе интерполяционного фильтра 580 в 4 раза (по каждой координате) превосходило разрешение изображений, хранящихся в запоминающих устройствах 570, для яркостного канала в формате (профиле) 4:2:0 и в 8 раз (по каждой координате) превосходило разрешение изображений, хранящихся в запоминающих устройствах 570, для цветоразностных каналов в формате (профиле) 4:2:0. Интерполированные изображения передают в качестве входных данных в модуль 550 оценки движения и также в модуль 540 прогнозирования с компенсацией движения.

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

Сейчас будет рассмотрен способ секционирования изображения для сжимающей обработки. На базовом уровне изображение, подлежащее сжатию, рассматривают в виде матрицы блоков, составленных из отсчетов. Для целей настоящего обсуждения наибольший такой блок для рассмотрения представляет собой так называемую наибольшую единицу кодирования (LCU) 700, которая является квадратной матрицей, содержащей обычно 64×64 отсчетов (размер единицы LCU является конфигурируемым посредством модуля кодирования, вплоть до максимального размера, определенного в документах стандарта HEVC). Здесь обсуждение относится к отсчетам яркости. В зависимости от цветоразностного формата (профиля), такого как 4:4:4, 4:2:2, 4:2:0 или 4:4:4:4 (цветностная информация (GBR) плюс ключевые данные), будет иметь место различное число цветоразностных отсчетов, соответствующих яркостному блоку.

Будут рассмотрены три основных вида блоков: един