Получение режима внутреннего прогнозирования для цветоразностных значений
Иллюстрации
Показать всеИзобретение относится к области кодирования декодирования данных. Технический результат - обеспечение меньшей степени сжатия в каналах цветности. Способ декодирования видео, в котором выборки яркости и цветности прогнозируют по другим соответствующим опорным выборкам в соответствии с направлением прогнозирования, ассоциированным с текущей выборкой, подлежащей прогнозированию, при этом выборки цветности имеют более низкую горизонтальную и/или вертикальную частоту выборки, чем выборки яркости, так, что отношение горизонтального разрешения яркости к горизонтальному разрешению цветности отличается от отношения вертикального разрешения яркости к вертикальному разрешению цветности так, что блок выборок яркости имеет другое соотношение размеров, чем соответствующий блок выборок цветности; содержит этапы, на которых: обнаруживают первое направление прогнозирования, определенное в отношении первой сетки с первым соотношением размеров, в отношении набора текущих выборок, подлежащих прогнозированию; и применяют отображение направления к направлению прогнозирования для генерирования второго направления прогнозирования, определенного в отношении второй сетки с другим соотношением размеров. 6 н. и 27 з.п. ф-лы, 45 ил.
Реферат
Область техники, к которой относится изобретение
Данное раскрытие относится к кодированию и декодированию данных.
Уровень техники
Описание "Уровня техники", представленное здесь, предназначено для общего представления контекста раскрытия. Работа названных в настоящее время авторов изобретения, в той степени, как она описана в этом разделе "Предшествующий уровень техники", так же, как и аспекты описания, которые, не могут быть квалифицированы, как предшествующий уровень техники во время подачи, ни в явном виде, ни скрыто не допущены, как предшествующий уровень техники, против настоящего раскрытия.
Существует несколько систем кодирования и декодирования видеоданных, в которых используется преобразование видеоданных в представление в области частоты, квантование коэффициентов в области частоты и затем применение определенной формы энтропийного кодирования для квантованных коэффициентов. Это позволяет достичь сжатия видеоданных. Соответствующая технология декодирования или разворачивания данных применяется для восстановления реконструированной версии оригинальных видеоданных.
Используемые в настоящее время видеокодеки (декодеры - кодеры), такие как используются в H.264/MPEG-4 Усовершенствованное видеокодирование (AVC) обеспечивают сжатие данных, в основном, только благодаря кодированию разности между последовательными видеокадрами. В таких кодеках используются регулярные массивы так называемых макроблоков, каждый из которых используется в качестве области сравнения с соответствующим макроблоком в предыдущем видеокадре, и область изображения в макроблоке затем кодируют в соответствии со степенью движения, определенной между соответствующими текущими и предыдущими макроблоками в последовательности видеоданных, или между соседними макроблоками в пределах одного кадра последовательности видеоданных.
Высокоэффективной кодирование видеоданных (HEVC), также известное как Н.265 или MPEG-H Часть 2, является предложенным преемником для H.264/MPEG-4 AVC. Для HEVC предполагается улучшение качества видеоизображения и удвоение степени сжатия данных по сравнению с Н.264, и обеспечение возможности масштабирования от 128×96 до 7680×4320 пикселей разрешения, что приблизительно эквивалентно скоростям передачи битов в диапазоне от 128 кбит/с до 800 Мбит/с.
В HEVC так называемая структура блока 4:2:0 предложена для оборудования потребителя, в которой объем данных, используемый в каждом канале цветности, составляет одну четверть канала яркости. Это связано с тем, что субъективно люди в большей степени чувствительны к вариациям яркости, чем к вариациям цвета, и, таким образом, возможно использовать большую степень сжатия и/или меньше информации в каналах цветности без субъективной потери качества.
HEVC заменяет макроблоки, определенные в существующих стандартах Н.264 и MPEG, более гибкой схемой на основе модулей кодирования (CU), которые представляют собой структуры переменного размера.
Следовательно, при кодировании данных изображения в видеокадрах, размеры CU можно выбирать в соответствии с кажущейся сложностью изображения или детектируемыми уровнями движения, вместо использования равномерно распределенных макроблоков. Следовательно, может быть достигнута гораздо большая степень сжатия в областях, в которых присутствует мало движения между кадрами, и с малыми вариациями в пределах кадра, в то время как лучшее качество изображения может быть сохранено в областях с большим движением между кадрами движения или с большей сложностью изображения.
Каждый CU содержит один или больше модулей прогнозирования (PU) с переменным размером блока, либо для прогнозирования внутри кадра, или для прогнозирования между кадрами, и один или больше модулей преобразования (TU), которые содержат коэффициенты для пространственного преобразования блоков и квантования.
Кроме того, блоки PU и TU предусмотрены для каждого из трех каналов; яркости (Y), который представляет яркость или канал яркости, и который можно рассматривать как канал серой шкалы, и два цветоразностных канала или канала цветности (chroma); Cb и Cr. Эти каналы обеспечивают цвет для изображения серой шкалы канала яркости. Термины Y, яркость и luma используются взаимозаменяемо в данном описании, и аналогично термины Cb и Cr цветности и chroma используются здесь взаимозаменяемо, соответственно, с учетом того, что термины цветность или 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А и 18В схематично представлены возможные размеры блока;
на фиг. 19 схематично показано использование совместно размещенной информации из блоков цветности и яркости;
на фиг. 20 схематично показана ситуация, в которой совместно размещенная информация из одного канала цветности используется относительно другого канала цветности;
на фиг. 21 схематично показаны пиксели используемые для режима LM-ЦВЕТНОСТИ;
на фиг. 22 схематично показан набор направлений прогнозирования яркости;
на фиг. 23 схематично показаны направления для фиг. 22, в применении к горизонтальному прореженному каналу цветности;
на фиг. 24 схематично показаны направления для фиг. 22, отображенные на прямоугольную матрицу пикселей цветности;
на фиг. 25-28 схематично представлена интерполяция пикселя яркости и цветности;
на фиг. 29А и 29В схематично представлены таблицы параметров квантования для 4:2:0 и 4:2:2 соответственно;
на фиг. 30 и 31 схематично представлены таблицы изменения квантования;
на фиг. 32 схематично представлена компоновка для модификации углового шага;
на фиг. 33 схематично показано изменение угловых шагов;
на фиг. 34 и 35 схематично представлены структуры развертки;
на фиг. 36 схематично представлен выбор структуры развертки в соответствии с режимом прогнозирования;
на фиг. 37 схематично представлен выбор структуры развертки в соответствии с режим прогнозирования для прямоугольного блока цветности;
на фиг. 38 схематично представлена компоновка для выбора структуры развертки;
на фиг. 39 схематично представлена компоновка для выбора преобразования с разделением по частоте;
на фиг. 40 схематично представлен кодер САВАС;
на фиг. 41A-41D схематично представлено предложенное ранее выделение по-соседству; и
на фиг. 42А - 45 схематично представлено выделение переменной контекста в соответствии с вариантами осуществления раскрытия.
Осуществление изобретения
Рассматривая теперь чертежи, фиг. 1-4 предусмотрены для предоставления схематичной иллюстрации устройства или систем с использованием устройства сжатия и/или распаковки, которое описано ниже в связи с вариантами осуществления раскрытия.
Все из устройств сжатия и/или распаковки данных, которые будут описаны ниже, могут быть воплощены в виде аппаратных средств, в виде программного обеспечения, работающего в устройстве обработки данных общего назначения, таком как компьютер общего назначения, в виде программируемых аппаратных средств, таких как специализированная интегральная схема (ASIC) или программируемая пользователем вентильная матрица (FPGA) или как их комбинации. В случаях когда варианты осуществления воплощены в виде программных средств и/или встроенного программного обеспечения, следует понимать, что такие программное средство и/или встроенное программное обеспечение, и энергонезависимые носители для сохранения данных, на которых такие программное средство и/или встроенное программное обеспечение сохранены или по-другому предусмотрены, рассматриваются как варианты осуществления настоящего раскрытия.
На фиг. 1 схематично иллюстрируется система передачи и приема аудио/видеоданных, использующая сжатие и распаковку видеоданных.
Входной аудио/видеосигнал 10 подают в устройство 20 сжатия видеоданных, которое сжимает, по меньшей мере, видеокомпонент аудио/видеосигнала 10 для передачи по маршруту 30 передачи, такому как кабель, оптическое волокно, беспроводное соединение и т.п. Сжатый сигнал обрабатывается устройством 40 распаковки, для предоставления выходного аудио/видеосигнала 50. Для обратного пути, устройство 60 сжатия сжимает аудио/видеосигнал для передачи вдоль маршрута 30 передачи в устройство 70 распаковки.
Устройство 20 сжатия и устройство 70 распаковки поэтому могут формировать один узел соединения передачи. Устройство 40 распаковки и устройство 60 распаковки могут формировать другой узел соединения передачи. Конечно, в случаях когда соединение передачи является однонаправленным, только в одном из узлов могло бы потребоваться устройство сжатия, и в другом узле могло бы потребоваться только устройство для распаковки.
На фиг. 2 схематично иллюстрируется система отображения видеоизображения, в которой используется распаковка видеоданных. В частности, сжатый аудио/видеосигнал 100 обрабатывают в устройстве ПО распаковки для получения распакованного сигнала, который может отображаться на дисплее 120. Устройство ПО распаковки может быть воплощено как единая часть дисплея 120, например, может быть установлено в том же корпусе, что и устройство дисплея. В качестве альтернативы устройство 110 распаковки может быть предусмотрено как (например) так называемая телевизионная приставка (STB), следует отметить, что выражение "телевизионная приставка" не подразумевает требования того, чтобы приставка была установлена в какой-либо конкретной ориентации или положении относительно дисплея 120; это просто термин, используемый в данной области техники для обозначения устройства, которое может быть подключено к дисплею как периферийное устройство.
На фиг. 3 схематично иллюстрируется система сохранения аудио/видеоданных, в которой используются сжатие и распаковка видеоданных. Входной аудио/видеосигнал 130 поступает в устройство 140 сжатия, которое генерирует сжатый сигнал для сохранения устройством 150 сохранения, таким как устройство магнитного диска, устройство оптического диска, устройство на магнитной ленте, твердотельное устройство сохранения данных, такое как полупроводниковое запоминающее устройство или другое устройство сохранения. Для повторного воспроизведения сжатые данные считывают из устройства 150 сохранения и передают в устройство 160 распаковки для распаковки, для получения выходного аудио/видеосигнала 170.
Следует понимать, что сжатый или кодированный сигнал и носитель сохранения информации, на котором содержится такой сигнал, рассматриваются как варианты осуществления настоящего раскрытия.
На фиг. 4 схематично иллюстрируется видеокамера, в которой используется сжатие видеоданных. На фиг. 4 устройство изображения съемки 180, такое как датчик изображения на основе прибора с зарядовой связью (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 преобразования, который генерирует представление дискретного косинусного преобразования (DCT) данных остаточного изображения. Сама по себе технология DCT хорошо известна и не будет подробно описана здесь. Существуют, однако аспекты технологий, используемых в настоящем устройстве, которые будут более подробно описаны ниже, в частности, в отношении выбора разных блоков данных, в которых применяется операция DCT. Они будут описаны со ссылкой на фиг. 7-12, представленные ниже. В некоторых вариантах осуществления другое преобразование разделения частоты может избирательно использоваться вместо DCT в системе, известной как MDDT (направленное преобразование, зависимое от режима), которое будет описано ниже. Пока предполагается, что используется преобразование DCT.
Выход модуля 340 преобразования, который можно представить как набор коэффициентов DCT для каждого преобразованного блока данных изображения, подают в блок 350 квантования. Различные технологии квантования известны в области сжатия видеоданных, в диапазоне от простого умножения на коэффициент масштабирования квантования до применения сложных справочных таблиц под управлением параметра квантования. Общая цель является двойной. Во-первых, процесс квантования уменьшает количество возможных значений преобразованных данных. Во-вторых, процесс квантования позволяет увеличить вероятность того, что значения преобразованных данных равны нулю. Оба эти эффекта могут обеспечить более эффективную работу процесса энтропийного кодирования, который будет описан ниже, при генерировании малых объемов сжатых видеоданных.
Процесс развертки данных применяется модулем 360 развертки. Назначение процесса развертки состоит в том, чтобы изменить порядок квантованных преобразованных данных, так, чтобы собрать вместе как можно большее количество ненулевых квантованных преобразованных коэффициентов, и, конечно, потому, чтобы собрать вместе как можно больше коэффициентов со значением ноль. Эти свойства могут обеспечить так называемое неравномерное кодирование или аналогичные технологии, которые будут применены эффективно. Таким образом, процесс развертки подразумевает выбор коэффициентов из квантованных преобразованных данных, и, в частности, из блока коэффициентов, соответствующего блоку данных изображения, который был преобразован и квантован, в соответствии с "порядком развертки" таким образом, что (а), все коэффициенты выбирают один раз как часть развертки, и (b) развертка проявляет тенденцию предоставления требуемого изменения порядка. Один пример порядка развертки, которая может проявлять тенденцию получения полезных результатов, представляет собой так называемый порядок диагональной развертки сверху вправо. В некоторых вариантах осуществления может использоваться так называемая система MDC (развертка коэффициента зависимости от режима), таким образом, что структура развертки может изменяться от блока до блока. Такие компоновки будут более подробно описаны ниже. Теперь предполагается, что используется диагональная развертка сверху вправо.
Коэффициенты, полученные в результате развертки, затем передают в энтропийный кодер 370 (ЕЕ). И снова, могут использоваться различные типы энтропийного кодирования. Два примера представляют собой вариант так называемой системы CAB АС (адаптивное к контексту двоичное арифметическое кодирование) и варианты так называемой системы CAVLC (адаптивное к контексту кодирование переменной длины). В общем, САВАС рассматривается как обеспечивающее лучшую эффективность, и в некоторых исследованиях было показано, что оно обеспечивает уменьшение на 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, который выполняет обратную операцию модуля 360 развертки. Обратное квантование и процесс обратного преобразования выполняются модулями 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 прогнозирования изображения.
Существуют два основных режима прогнозирования так называемое прогнозирование внутри изображения и так называемое прогнозирование между изображениями, или с компенсацией движения (МС).
Прогнозирование внутри изображения основывает прогнозирование содержания блока изображения данных в пределах одного изображения. Это соответствует, так называемому, кодированию I-кадра в других технологиях сжатия видеоданных. В отличие от кодирования I-кадра, в случае когда все изображение кодируют внутри изображения, в настоящих вариантах осуществления выбор между кодированием внутри изображения и между изображениями может быть выполнен на основе от блока к блоку, хотя в других вариантах осуществления раскрытия выбор все еще делают на основе от изображения к изображению.
Прогнозирование с компенсацией движения представляет собой пример прогнозирования изображения между изображениями, и в нем используется информация о движении, которая стремится определить источник в другом соседнем или расположенном рядом изображении, детали изображения, которые должны быть кодированы в текущем изображении. В соответствии с этим в идеальном примере, содержание блока данных изображения в прогнозируемом изображении может быть кодировано очень просто как опорное изображение (вектор движения), указывающий на соответствующий блок в том же или несколько отличающемся положении в расположенном рядом изображении.
Возвращаясь к фиг. 6, здесь показаны две компоновки прогнозирования изображения (соответствующие прогнозированию внутри и прогнозированию между изображениями), результаты которых выбирают с помощью мультиплексора 500 под управлением сигнала 510 режима, так, чтобы обеспечить блоки прогнозируемого изображения для передачи в сумматоры 310 и 450. Выбор делают в зависимости от того, какой выбор дает самую низкую "энергию" (которая, как описано выше, может рассматриваться как объем информации, требующей кодирования), и выбор передают в кодер в пределах кодированного выходного потока данных. Энергия изображения, в этом контексте, может быть детектирована, например, при выполнении пробного вычитания в области из двух версий прогнозируемого изображения из входного изображения, возведении в квадрат каждого значения пикселя изображения разности, суммировании возведенных в квадрат значений и идентификации, какая из этих двух версий приводит к повышению значения низкого среднеквадратичного изображения разности, относящегося к этой области изображения.
Фактическое прогнозирование в системе кодирования внутри изображения выполняется на основе блоков изображения, принятых как часть сигнала 460, то есть прогнозирование основано на кодированных - декодированных блоках изображения для того, чтобы точно такое же прогнозирование можно было выполнить в устройстве распаковки. Однако данные могут быть выведены из входного видеосигнала 300 с помощью селектора 520 режима внутри изображения, для управления операцией блока 530 прогнозирования изображения внутри изображения.
Для прогнозирования между изображениями блок 540 прогнозирования с компенсированным движение (МС) использует информацию о движении, такую как векторы движения, выведенные блоком 550 оценки движения из входного видеосигнала 300. Такие векторы движения применяют к обрабатываемой версии реконструированного изображения 460 с помощью блока 540 прогнозирования компенсированного движения, для генерирования блоков прогнозирования между изображениями.
Обработка, применяемая для сигнала 460, будет описана ниже. Вначале сигнал фильтруют с помощью модуля 560 фильтра, который будет описан более подробно ниже. Это улучшает применение фильтра "удаления блоков", для удаления или, по меньшей мере, проявления тенденции к уменьшению эффектов обработки на основе блока, выполняемой модулем 340 преобразования и при последующих операциях. Фильтр, адаптивный к выборке смещения (SAO) (более подробно описан ниже) также может использоваться. Кроме того, адаптивный контурный фильтр применяют, используя коэффициенты, выведенные при обработке реконструированного сигнала 460 и входного видеосигнала 300. Адаптивный контурный фильтр представляет собой фильтр такого типа, который, используя известные технологии, применяет адаптивные коэффициенты фильтра к данным, которые должны быть отфильтрованы. То есть коэффициенты фильтра могут изменяться в зависимости от различных факторов. Данные, определяющие, какие коэффициенты фильтра следует использовать, включены как часть кодированного выходного потока данных.
Адаптивная фильтрация представляет фильтрацию в контуре для восстановления изображения. LCU может быть отфильтрован, используя вплоть до 16 фильтров, с выбором фильтра и выводом статуса включено/выключено ALF в отношении каждого CU в пределах LCU. В настоящее время управление выполняется на уровне LCU, а не на уровне CU.
Отфильтрованный выход из модуля 560 фильтра фактически формирует выходной видеосигнал 480, когда устройство работает как устройство сжатия. Его также помещают в буфер в одном или больше хранилищ 570 изображения или кадра; сохранение последующих изображений является необходимым при обработке компенсированного прогнозирования движения, и, в частности, при генерировании векторов движения. Для сохранения в соответствии с требованиями к сохранению сохраненные изображения в хранилищах 570 изображения могут содержаться в сжатой форме и затем могут быть распакованы для использования при генерировании векторов движения. С этой конкретной целью может использоваться любая известная система сжатия/распаковки. Сохраненные изображения пропускают в фильтр 580 интерполяции, который генерирует более высокую версию разрешения сохраненных изображений; в этом примере промежуточные выборки (подвыборки) генерируют так, что разрешение интерполированного изображения выводят с помощью фильтра 580 интерполяции, которое составляет 4-кратное (в каждом измерении) значение, чем у канала яркости для схемы 4:2:0, является 8 кратным для канала яркости (в каждом измерении), чем у изображений, сохраняемых в хранилищах 570 изображении, для каналов цветности по схеме 4:2:0. Интерполированные изображения пропускают на вход блока 550 оценки движения и также блока 540 прогнозирования компенсированного движения.
В вариантах осуществления раскрытия предусмотрен дополнительный необязательный этап, который предназначен для умножения значения данных входного видеосигнала на коэффициент четыре, используя множитель 600 (эффективно просто сдвигающий данные на два бита), и применения соответствующей операции деления (сдвиг вправо на два бита) на выходе устройства, используя делитель или модуль 610 сдвига вправо. Таким образом, сдвиг влево и сдвиг вправо изменяют данные просто для внутренней операции устройства. Эта мера может обеспечить более высокую точность расчета внутри устройства, поскольку уменьшается эффект каких-либо ошибок, связанных с округлением данных.
Способ, в соответствии с которым данные разделяют для обработки сжатия, будет описан ниже. На основном уровне изображение, которое предназначено для сжатия, рассматривают как массив блоков из выборок. Для назначения настоящего описания наибольший такой рассматриваемый блок представляет собой так называемый наибольший модуль 700 кодирования (LCU), который представляет собой квадратный массив обычно из 64×64 выборок (размер LCU можно конфигурировать с помощью кодера, вплоть до максимального размера, такого как определено документами HEVC). Здесь описание относится к выборкам яркости. В зависимости от режима цветности, такого как 4:4:4, 4:2:2, 4:2:0 или 4:4:4:4 (данные GBR "плюс" данные ключа), существует разное количество соответствующих выборок цветности, соответствующих блоку яркости.
Ниже будут описаны три основных типа блоков: модули кодирования, модули прогнозирования и модули преобразования. В общих чертах, рекурсивное подразделение LCU позволяет вводить изображение, которое должно быть разделено, таким способом, что как размеры блока, так и параметры кодирования блока (такие как режимы прогнозирования или остаточного кодирования) могут быть установлены в соответствии с определенными характеристиками изображения, предназначенного для кодирования.
LCU может быть подразделен на так называемые модули кодирования (CU). Модули кодирования всегда являются квадратными и имеют размер от 8×8 выборок до полного размера LCU 700. Модули кодирования могут быть размещены в виде, своего рода, структуры дерева, таким образом, что первое подразделение может происходить, как показано на фиг. 8, при котором делят модули 710 кодирования из 32×32 выборок; и затем могут произойти последующие подразделения на избирательной основе, для того, чтобы подать некоторые модули кодирования 720 из 16×16 выборок (фиг. 9) и потенциально некоторые модули 730 кодирования размером 8×8 выборок (фиг. 10). В целом, этот процесс может обеспечить структуру дерева кодирования с адаптацией к содержанию из блоков CU, каждый из которых может быть настолько большим, как LCU, или настолько малым, как 8×8 выборок. Кодирование выходных видеоданных происходит на основе структуры модуля кодирования, то есть кодируют один LCU, и затем обработка переходит в следующий LCU, и так далее.
На фиг. 11 схематично иллюстрируется массив из модулей прогнозирования (PU). Модуль прогнозирования представляет собой основной модуль для переноса информации, отн