Кодирование и декодирование данных
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в повышении качества изображения. Устройство декодирования видеоданных содержит: деквантователь, выполненный с возможностью деквантования массива значений кодированных видеоданных посредством применения к каждому значению данных параметра деквантования, с тем чтобы сгенерировать соответствующие значения деквантованных данных; блок обратного частотного преобразования, выполненный с возможностью применения к значениям деквантованных данных обратного частотного преобразования; и блок определения, выполненный с возможностью определения, применим ли к массиву значений кодированных видеоданных режим "пропуска преобразования"; причем при определении посредством блока определения, что режим "пропуска преобразования" к массиву значений кодированных видеоданных неприменим, блок определения выполнен с возможностью управления деквантователем для применения параметров деквантования, которые могут быть различными для различных значений данных в массиве значений кодированных данных в соответствии с позицией каждого значения данных в массиве, и управления блоком обратного частотного преобразования для применения к значениям деквантованных данных обратного частотного преобразования. 8 н. и 23 з.п. ф-лы, 30 ил.
Реферат
Область техники, к которой относится изобретение
Изобретение относится к кодированию и декодированию данных.
Уровень техники
Приводимое здесь описание "предшествующего уровня техники" имеет своей целью общее представление контекста раскрываемого изобретения. Работа названных в настоящей заявке изобретателей, в той мере, в которой она описывается в этом разделе "Предшествующий уровень техники", также как те аспекты описания, которые не могут быть иным образом квалифицированы как предшествующий уровень техники во время подачи заявки, ни явно, ни подразумеваемым образом не признаются в качестве предшествующего уровня техники в отношении настоящего раскрываемого изобретения.
Существует несколько систем сжатия и разуплотнения видеоданных, которые включают в себя преобразование видеоданные в представлении в частотной области, квантование коэффициентов частотной области и затем применение к квантованным коэффициентам некоторой формы энтропийного кодирования.
Преобразование в пространственно-частотную область на стороне кодера соответствует обратному преобразованию на стороне декодера. Приводимые в качестве примера преобразования включают в себя так называемое дискретное косинусное преобразование (DCT) и так называемое дискретное синусное преобразование (DST). В некоторых примерах эти преобразования выполняются посредством матричного умножения массива входных отсчетов (получаемых из видеоданных, подлежащих кодированию) на матрицу коэффициентов преобразования, генерируя данные, преобразованные по частоте. Преобразованные по частоте данные преобразуются в обратном направлении в данные отсчетов, из которых можно получить выходные видеоданные посредством матричного умножения массива данных, преобразованных по частоте, на матрицу коэффициентов обратного преобразования.
Некоторые стандарты и проекты стандартов, такие как так называемые стандарты Высокоэффективного кодирования видеоданных (HEVC-стандарты), определяют режимы кодирования и декодирования, в которых фактически не используется пространственно-частотное преобразование. Они иногда упоминаются как режимы "пропуска преобразования" или "пропуска преобразования-квантования" ("пропуска trans-quant", где "trans-quant" представляет собой сокращение для "преобразования и квантования").
Раскрытие изобретения
Один аспект этого раскрываемого изобретения определен пунктом (1) формулы изобретения.
Дополнительные соответствующие аспекты и признаки определены в прилагаемой формуле изобретения.
Следует понимать, что как вышеприведенное общее описание, так и нижеследующее детализированное описание приводятся в качестве примера, но не в качестве ограничения, настоящего раскрываемого изобретения.
Краткое описание чертежей
Более полное понимание раскрываемого изобретения и многих из сопутствующих его преимуществ легко получить, когда оно станет лучше осмыслено при обращении к нижеследующему детализированному описанию вариантов воплощения изобретения при рассмотрении его в связи с прилагаемыми чертежами, на которых:
на фиг. 1 схематически проиллюстрирована система передачи и приема аудио/видео - (A/V) данных, использующая сжатие и разуплотнение видеоданных;
на фиг. 2 схематически проиллюстрирована система отображения видеоданных, использующая разуплотнение видеоданных;
на фиг. 3 схематически проиллюстрирована система хранения аудио/видео данных, использующая сжатие и разуплотнение видеоданных;
на фиг. 4а схематически проиллюстрирована видеокамера, использующая сжатие видеоданных;
на фиг. 4b схематически более подробно проиллюстрирована приводимая в качестве примера видеокамера;
на фиг. 4с схематически проиллюстрирована другая приводимая в качестве примера видеокамера;
на фиг. 4d и 4е схематически проиллюстрированы носители данных;
на фиг. 5 приводится обзорная схема аппарата сжатия и разуплотнения видеоданных;
на фиг. 6 схематически проиллюстрировано генерирование предсказанных изображений;
на фиг. 7 схематически проиллюстрирован наибольший элемент кодирования (LCU-элемент);
на фиг. 8 схематически проиллюстрирован набор из четырех элементов кодирования (CU-элементов);
на фиг. 9 и 10 схематически проиллюстрированы элементы кодирования, показанные на фиг. 8, подразделенные на более мелкие элементы кодирования;
на фиг. 11 схематически проиллюстрирован массив элементов предсказания (PU-элементов);
на фиг. 12 схематически проиллюстрирован массив элементов преобразования (TU-элементов);
на фиг. 13 схематически проиллюстрировано использование списков масштабирования;
на фиг. 14 схематически проиллюстрирована часть кодера и/или декодера;
на фиг. 15 схематически проиллюстрирован массив отсчетов;
на фиг. 16 схематически проиллюстрирован массив частотно разнесенных коэффициентов;
на фиг. 17 схематически проиллюстрирована тенденция внутри массива, показанного на фиг. 16;
на фиг. 18 схематически проиллюстрировано обратное сканирование;
на фиг. 19 схематически проиллюстрирована тенденция внутри списка масштабирования;
на фиг. 20 схематически проиллюстрирована погрешность изображения;
фиг. 21 представляет собой эскизную блок-схему алгоритма, на которой проиллюстрирована часть операции кодирования;
фиг. 22 представляет собой эскизную блок-схему алгоритма, на которой проиллюстрирована часть операции декодирования;
на фиг. 23 схематически проиллюстрирована часть кодера и/или декодера;
фиг. 24 представляет собой эскизную блок-схему алгоритма, на которой проиллюстрирована часть операции кодирования и/или декодирования;
на фиг. 25 схематически проиллюстрирована часть кодера и/или декодера; и
фиг. 26 представляет собой эскизную блок-схему алгоритма, на которой проиллюстрирована часть операции кодирования и/или декодирования.
Описание вариантов воплощения изобретения
Обратимся теперь к чертежам, на которых фиг. 1-4е приводятся для того, чтобы дать схематические иллюстрации аппарата или систем, использующих аппарат сжатия и/или разуплотнения данных, который будет описан ниже в связи с вариантами воплощения изобретения.
Все аппараты сжатия и/или разуплотнения данных, которые будут описаны ниже, могут быть реализованы аппаратными средствами, программными средствами, исполняемыми на универсальном аппарате для обработки данных, таком как универсальный компьютер, в виде программируемых аппаратных средств, таких как специализированная интегральная схема (ASIC) или вентильная матрица с эксплуатационным программированием (FPGA-матрица) или в виде их сочетания. В случаях, при которых варианты воплощения изобретения реализуются посредством программных средств и/или микропрограммных средств, следует понимать, что такие программные средства и/или микропрограммные средства и некратковременные машиночитаемые среды хранения данных, посредством которых (сред) такие программные средства и/или микропрограммные средства хранятся или предоставляются иным образом, рассматриваются в качестве вариантов воплощения изобретения.
На фиг. 1 схематически проиллюстрирована система передачи и приема аудио/видео - данных, использующая сжатие и разуплотнение видеоданных.
Входной аудио/видео сигнал (10) подается в аппарат (20) сжатия видеоданных, который осуществляет сжатие, по меньшей мере, видеокомпонента аудио/видео сигнала (10) для передачи по тракту (30) передачи, такому как кабель, оптическое волокно, линия беспроводной связи или тому подобное. Сжатый сигнал обрабатывается аппаратом (40) разуплотнения таким образом, чтобы предоставить выходной аудио/видео сигнал (50). Для обратного канала, аппарат (60) сжатия осуществляет сжатие аудио/видео сигнала для передачи по тракту (30) передачи к аппарату (70) разуплотнения.
Аппарат (20) сжатия и аппарат (70) разуплотнения могут, следовательно, образовать один узел линии передачи данных. Аппарат (40) разуплотнения и аппарат (60) могут образовать другой узел линии передачи данных. Конечно, в случаях, при которых линия передачи данных является однонаправленной, только один из узлов потребовал бы аппарата сжатия, а другой узел потребовал бы только аппарата разуплотнения.
На фиг. 2 схематически проиллюстрирована система отображения видеоданных, использующая разуплотнение видеоданных. В частности, сжатый аудио/видео сигнал (100) обрабатывается аппаратом (110) разуплотнения таким образом, чтобы предоставить разуплотненный сигнал, который может быть отображен на устройстве (120) отображения. Аппарат (110) разуплотнения мог бы быть реализован как составная часть устройства (120) отображения, например, будучи предусмотренным внутри того же самого корпуса, что и устройство отображения. В качестве альтернативы, аппарат (110) разуплотнения мог бы быть предусмотрен в виде (например) так называемой телевизионной абонентской приставки (STB), причем отметим, что выражение "приставка" не подразумевает требования того, чтобы этот блок располагался в каких бы то ни было конкретных ориентации или положении по отношению к устройству (120) отображения; это просто термин, используемый в данной области техники для обозначения устройства, которое может быть подсоединено к устройству отображения как периферийное устройство.
На фиг. 3 схематически проиллюстрирована система хранения аудио/видео данных, использующая сжатие и разуплотнение видеоданных. Входной аудио/видео сигнал (130) подается в аппарат (140) сжатия, который генерирует сжатый сигнал для хранения в запоминающем устройстве (150), таком как устройство на магнитных дисках, устройство на оптических дисках, устройство на магнитных лентах, твердотельное запоминающее устройство, такое как полупроводниковое запоминающее устройство или другое запоминающее устройство. Для воспроизведения, сжатые данные считываются с запоминающего устройства (150) и передаются в аппарат (160) разуплотнения, предназначенный для разуплотнения, предоставляющего выходной аудио/видео сигнал (170).
Следует понимать, что этот сжатый или закодированный сигнал, и запоминающая среда или носитель данных, хранящие этот сигнал, рассматриваются как варианты воплощения изобретения (см. фиг. 4d и 4е, описываемые ниже).
На фиг. 4а схематически проиллюстрирована видеокамера, использующая сжатие видеоданных. На фиг. 4а, устройство (180) ввода изображения, такое как формирователь изображения, основанный на приборе с зарядовой связью (CCD-приборе), и связанная с ним управляющая и считывающая электронная аппаратура, генерирует видеосигнал, который передается в аппарат (190) сжатия. Микрофон (или множественные микрофоны) (200) генерирует аудиосигнал, подлежащий передаче в аппарат (190) сжатия. Аппарат (190) сжатия генерирует сжатый аудио/видео сигнал (210), подлежащий сохранению и/или передаче (что показано в общем виде как некоторая схематическая стадия (220)).
Технологии, которые будут описаны ниже, относятся, главным образом, к сжатию видеоданных. Следует понимать, что для того, чтобы сгенерировать сжатый аудио/видео сигнал, сжатия аудиоданных в сочетании с описываемыми технологиями сжатия видеоданных можно использовать многие существующие технологии. Соответственно отдельное обсуждение сжатия аудиоданных не приводится. Следует также понимать, что скорость передачи данных, связанная с видеоданными, в частности видеоданными студийного качества, является обычно гораздо более высокой, чем скорость передачи данных, связанная с аудиоданными (будь то сжатыми или несжатыми). Следовательно, следует понимать, что для формирования сжатого аудио/видео сигнала сжатые видеоданные могли бы сопровождаться несжатыми аудиоданными. Следует, кроме того, понимать, что, хотя настоящие примеры (показанные на фиг. 1-4е) относятся к аудио/видео данным, технологии, которые будут описаны ниже, могут найти свое применение в системе, которая касается (то есть, осуществляет сжатие, разуплотнение, хранение, отображение и/или передачу) просто видеоданных. То есть варианты воплощения изобретения могут применяться к сжатию видеоданных, совсем необязательно имея при этом какую бы то ни было связанную с ним обработку аудиоданных.
На фиг. 4b схематически более подробно проиллюстрирован приводимый в качестве примера аппарат (183) видеокамеры. Те признаки, которые имеют общие номера с фиг. 4а, далее описываться не будут. Фиг. 4b представляет собой пример фотокамеры, показанной на фиг. 4а (в случае, при котором блок (220), показанный на фиг. 4а, предоставляет возможность по хранению данных), в которой сжатые данные сначала буферизируются в буфере (221) а затем сохраняются в запоминающей среде (222), такой как магнитный диск, оптический диск, флэш-память, так называемый накопитель на твердотельном диске (SSD-накопитель) или тому подобное. Отметим, что устройство, показанное на фиг. 4b, может быть реализовано в виде единственного (физического) блока (182).
На фиг. 4 схематически проиллюстрирована другая приводимая в качестве примера видеокамера, в которой, вместо устройства хранения данных, показанного на фиг. 4b, предусмотрен сетевой интерфейс (223) для того, чтобы позволить передавать сжатые данные другому блоку (не показанному на чертеже). Сетевой интерфейс (223) может также позволить видеокамере принимать входные данные, такие как управляющие данные. Отметим, что устройство, показанное на фиг. 4b, может быть реализовано в виде единственного (физического) блока (183).
На фиг. 4d и 4е схематически проиллюстрированы носители данных, например, для использования в качестве запоминающей среды (222) и несущие на себе сжатые данные, которые были сжаты в соответствии с технологиями сжатия, описанными в настоящей заявке. На фиг. 4d показан схематический пример съемной энергонезависимой запоминающей среды (225), реализованной в виде твердотельной памяти, такой как флэш-память. На фиг. 4е показан схематический пример съемной энергонезависимой запоминающей среды (226), реализованной в виде дискового носителя информации, такого как оптический диск.
На фиг. 5 приводится обзорная схема аппарата сжатия и разуплотнения видеоданных.
Следующие одно за другим изображения входного видеосигнала (300) подаются в сумматор (310) и в предсказатель (320) изображения. Предсказатель (320) изображения будет описан ниже более подробно со ссылкой на фиг.6. Сумматор (310) фактически выполняет операцию вычитания (отрицательного сложения), заключающуюся в том, что он принимает входной видеосигнал (300) на вход "+", а выходной сигнал предсказателя (320) изображения - на вход так, что предсказанное изображение вычитается из входного изображения. В результате должен быть сгенерирован так называемый сигнал (330) разностного изображения, представляющий разность между фактическим и спрогнозированным изображениями.
Одна причина, по которой генерируется сигнал разностного изображения заключается в следующем. Описываемые технологии кодирования данных, то есть, технологии, подлежащие применению к сигналу разностного изображения, имеют тенденцию работать более эффективно в том случае, когда в изображении, подлежащем кодированию, меньше "энергии". Здесь, термин "эффективно" относится к генерированию малого количества закодированных данных; для некоторого конкретного уровня качества изображения, желательно (и считается "эффективным") генерировать так столь мало данных, сколько является практически возможным. Ссылка на "энергию" в разностном изображении относится к количеству информации, содержащейся в разностном изображении. Если бы предсказанное изображение было идентично реальному изображению, то разность между этими двумя изображениями (то есть, разностное изображение) содержало бы нулевую информацию (нулевую энергию), и ее было бы очень просто закодировать в малое количество закодированных данных. Вообще говоря, если можно заставить процесс предсказания работать достаточно хорошо, то ожидается, что данные разностного изображения будут содержать меньше информации (меньше энергии) чем входное изображение и, таким образом, их будет проще закодировать в малое количество закодированных данных.
Данные (330) разностного изображения подаются в блок (340) преобразования, который генерирует получаемое посредством дискретного косинусного преобразования (DCT-преобразования) представление данных разностного изображения. Сама технология дискретного косинусного преобразования хорошо известна и не будет здесь описываться подробно. Однако существуют аспекты этих технологий, используемые в настоящем аппарате, которые будет описаны ниже более подробно.
Отметим, что в некоторых вариантах воплощения изобретения, вместо дискретного косинусного преобразования используется дискретное синусное преобразование (DST-преобразование). В других вариантах воплощения изобретения, могло бы не использоваться никакого преобразования. Это может быть сделано избирательным образом, так, чтобы стадия преобразования, в действительности, обходилась, например, под управлением команды или режима "пропуска преобразования".
Выходные данные с блока (340) преобразования, которые, иначе говоря, представляют собой набор коэффициентов преобразования для каждого преобразованного блока данных изображения, подаются в квантователь (350). В области сжатия видеоданных известны различные технологии квантования, располагающиеся в диапазоне от простого умножения на масштабный множитель квантования до применения сложных поисковых таблиц под управлением параметра квантования. Общая цель является двоякой. Во-первых, процесс квантования уменьшает количество возможных значений преобразованных данных. Во-вторых, процесс квантования может повысить вероятность того, что значения преобразованных данных являются нулем. Обе этих цели могут сделать функционирование процесса энтропийного кодирования более эффективным при генерировании небольших количеств сжатых видеоданных.
Контроллер (345) управляет работой блока (340) преобразования и работой квантователя (350) (и соответствующих им блоков обратных процессов) в соответствии с технологиями, которые будут дополнительно рассмотрены ниже. Отметим, что контроллер (345) может также управлять другими аспектами работы аппарата, показанного на фиг.5.
Процесс сканирования данных применяется блоком (360) сканирования. Цель процесса сканирования заключается в том, чтобы переупорядочить квантованные преобразованные данные таким образом, чтобы собрать столько, сколько возможно, ненулевых квантованных преобразованных коэффициентов вместе, и, конечно же, следовательно, собрать вместе столько, сколько возможно, коэффициентов, имеющих нулевое значение. Эти признаки могут позволить эффективно применять так называемое кодирование длин серий или подобные ему технологии. Так, процесс сканирования включает в себя выбор коэффициентов из квантованных преобразованных данных, и, в частности, из блока коэффициентов, соответствующего блоку данных изображения, который был преобразован и квантован, в соответствии с "порядком сканирования", такой, чтобы (а) все коэффициенты выбирались однократно как часть этого сканирования, и (b) это сканирование приводило к обеспечению требуемого переупорядочения. Один пример порядка сканирования, который может приводить к полезным результатам, представляет собой так называемый зигзагообразный порядок сканирования.
Отсканированные коэффициенты затем передаются в энтропийный кодер (ЕЕ) (370). И вновь, могут быть использованы различные типы энтропийного кодирования. Двумя примерами являются варианты системы так называемого САВАС-кодирования (Контекстно зависимого адаптивного бинарного арифметического кодирования) и варианты системы так называемого CAVLC-кодирования (Контекстно зависимого адаптивного кодирования с переменной длиной кодового слова). В общих чертах, считается, что САВАС-кодирование обеспечивает более высокую эффективность, и в некоторых исследованиях было показано, что оно обеспечило снижение на 10-20% количества закодированных выходных данных для сопоставимого качества изображения по сравнению с CAVLC-кодированием. Однако, считается, что 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) обратного преобразования, прежде, чем быть просуммированным, сумматором (450), с выходными данными предсказателя (320) изображения. Простыми словами, выход (460) сумматора (450) формирует выходной разуплотненный видеосигнал (480). На практике, перед тем, как этот сигнал выводится, к нему может быть применено дополнительное фильтрование.
Соответственно, на фиг. 5 приведен пример аппарата декодирования видеоданных, действующего таким образом, чтобы декодировать массив значений закодированных видеоданных, причем аппарат содержит: деквантователь, сконфигурированный таким образом, чтобы осуществлять деквантование массива значений закодированных видеоданных, применяя к каждому значению данных некоторый параметр деквантования, так, чтобы сгенерировать соответствующие значения деквантованных данных; и блок обратного частотного преобразования, сконфигурированный таким образом, чтобы применять обратное частотное преобразование к значениям деквантованных данных. На фиг. 5 также приведен пример аппарата кодирования видеоданных, действующего таким образом, чтобы кодировать массив значений входных видеоданных в режиме "пропуска преобразования" и, если требуется, то в режиме "отсутствия пропуска преобразования" (рассматриваемого дополнительно ниже), причем аппарат содержит: частотный преобразователь, сконфигурированный таким образом, чтобы применять частотное преобразование к значениям входных видеоданных для того, чтобы сгенерировать массив значений частотно преобразованных входных данных; и квантователь, сконфигурированный таким образом, чтобы осуществлять квантование значений частотно преобразованных входных данных, применяя некоторый параметр квантования к каждому значению частотно преобразованных входных данных для того, чтобы сгенерировать соответствующие значения квантованных данных. Отметим, что выражение "если требуется" используется для того, чтобы указать, что аппарат может действовать в режиме "пропуска преобразования", и режиме "отсутствия пропуска преобразования", где выбор режима производится на поблочной основе (например, от элемента преобразования к элементу преобразования) или другой основе, или может представлять собой аппарат, который не действует в режиме "отсутствия пропуска преобразования".
На фиг. 6 схематически проиллюстрировано генерирование предсказанных изображений, и, в частности, работа предсказателя (320) изображения.
Имеется два основных режима предсказания: так называемое внутрикадровое предсказание и так называемое межкадровое предсказание или предсказание с компенсацией движения (МС-предсказание).
Во внутрикадровом предсказании предсказание содержания блока изображения основывается на данных из того же самого изображения. Это соответствует так называемому I-кадровому кодированию в других технологиях сжатия видеосигнала. В отличие от I-кадрового кодирования, где все изображение кодируется внутрикадровым образом, в настоящих вариантах воплощения изобретения выбор между внутрикадровым кодированием и межкадровым кодированием может быть сделан на поблочной основе, хотя в других вариантах воплощения изобретения этот выбор по-прежнему делается на покадровой основе.
В предсказании с компенсацией движения используется информация движения, которая пытается определять первоисточник, на другом смежном или соседнем изображении, для детали изображения подлежащей кодированию на текущем изображении. Соответственно, в идеальном примере, содержание блока данных изображения на предсказанном изображении может быть закодировано очень просто как ссылка (вектор движения), указывающая на соответствующий блок в том же самом или немного другом положении на смежном изображении.
Возвратимся к фиг. 6, на которой показаны два устройства предсказания изображения (соответствующие внутрикадровому и межкадровому предсказанию), результаты которых выбираются мультиплексором (500) под управлением сигнала (510) режима таким образом, чтобы предоставлять блоки предсказанного изображения для подачи на сумматоры (310) и (450). Этот выбор производится в зависимости от того, какой выбор дает самую низкую "энергию" (которую, как было сказано выше, можно рассматривать как информационное содержимое, требующее кодирование), и об этом выборе сообщается кодеру в потоке закодированных выходных данных. Энергию изображения, в этом контексте, можно определить, например, осуществляя пробное вычитание некоторой области двух вариантов предсказанного изображения из входного изображения, возводя в квадрат каждое пиксельное значение изображения разности, суммируя эти возведенные в квадрат значения, и определяя то, какая из этих двух версий имеет своим результатом более низкое среднеквадратическое значение для изображения разности, относящегося к этой области изображения.
Действующее предсказание, в системе внутрикадрового кодирования, производится на основе блоков изображения, получаемых как часть сигнала (460), что означает, что предсказание основывается на закодированных-декодированных блоках изображения для того, чтобы точно такое же предсказание могло быть сделано в аппарате разуплотнения. Однако, данные для управления функционированием внутрикадрового предсказателя (530) могут быть получены из входного видеосигнала (300) переключателем (520) внутрикадрового режима.
Для межкадрового предсказания, предсказатель (540) с компенсацией движения (МС-предсказатель) использует информацию о движении, такую как векторы движения, получаемую блоком (550) оценки движения из входного видеосигнала (300). Эти векторы движения применяются к обработанной версии восстановленного изображения (460) предсказателем (540) с компенсацией движения таким образом, чтобы сгенерировать блоки межкадрового предсказания.
Теперь опишем обработку, применяемую к сигналу (460). Во-первых, этот сигнал фильтруется фильтровальным блоком (560). Это включает в себя применение фильтра "устранения блочности" для того, чтобы удалить или, по меньшей мере, способствовать снижению эффектов основанной на блоках обработки, осуществляемой блоком (340) преобразования, и последующих операций. Кроме того, применяется адаптивный фильтр в цепи обратной связи, использующий коэффициенты, полученные посредством обработки восстановленного сигнала (460) и входного видеосигнала (300). Адаптивный фильтр в цепи обратной связи представляет собой тип фильтра, который, используя известные технологии, применяет к подлежащим фильтрованию данным коэффициенты адаптивного фильтра. То есть коэффициенты фильтра могут различаться в зависимости от разнообразных факторов. Данные, определяющие то, какие коэффициенты фильтра надлежит использовать, включаются как часть в состав потока закодированных выходных данных.
Фильтрованные выходные данные из фильтровального блока (560) фактически образуют выходной видеосигнал (480). Они также буферизируются в одном или более устройствах (570) запоминания изображений; хранение последовательных изображений является требованием обработки для предсказания с компенсацией движения, и, в частности, генерирования векторов движения. Для сохранения по требованиям хранения, хранящиеся изображения в устройствах (570) запоминания изображений, могут храниться в сжатой форме и затем разуплотняться для использования при генерировании векторов движения. Для этой конкретной цели, может быть использована любая известная система сжатия/разуплотнения. Хранящиеся изображения передаются на интерполяционный фильтр (580), который генерирует версию с более высоким разрешением хранящихся изображений; в этом примере генерируются промежуточные отсчеты (подотсчеты) таким образом, чтобы разрешение интерполированного изображения, которое выводится интерполяционным фильтром (580) являлось восьмикратным (по каждому измерению) разрешением изображений, хранящихся в устройствах (570) запоминания изображений. Интерполированные изображения передаются, в качестве входных данных в блок (550) оценки движения и также в предсказатель (540) с компенсацией движения.
В вариантах воплощения изобретения, предусматривается дополнительная необязательная стадия, которая заключается в том, чтобы, используя блок (600) перемножения, умножать значения данных входного видеосигнала на множитель, составляющий четыре (на самом деле, просто сдвигая значения данных влево на два разряда), и применять соответствующую операцию деления (сдвиг вправо на два разряда) на выходе из аппарата, используя блок деления или блок (610) сдвига вправо. Таким образом, сдвиг влево и сдвиг вправо изменяет данные исключительно для внутренней работы аппарата. Эта мера может обеспечить более высокую точность вычисления внутри аппарата, поскольку уменьшается влияние любых погрешностей округления данных.
Теперь опишем способ, которым изображение разделяется для обработки сжатия. На базовом уровне, изображение, подлежащее сжатию, рассматривается как массив блоков отсчетов. Для целей данного обсуждения, наибольшее такой рассматриваемый блок представляет собой так называемый наибольший элемент кодирования (LCU-элемент) (700) (смотри фиг.7), который представляет квадратный массив из 64×64 отсчетов. Здесь, обсуждение относится к отсчетам яркости. В зависимости от режима цветности, такого как 4 : 4: 4, 4 : 2 : 2, 4 : 2 : 0 или 4 : 4 : 4 : 4 ("GBR" ("зеленый - синий - красный") плюс данные цвета фона), будут различаться количества соответствующих отсчетов сигнала цветности, соответствующих яркостному блоку.
Опишем три основных типа блоков: элементы кодирования, элементы предсказания и элементы преобразования. В общих чертах, рекурсивное подразбиение наибольших элементов кодирования позволяет разделить входное изображение таким образом, чтобы как размеры блока, так и параметры кодирования блока (такие как, режимы предсказания или разностного кодирования) могли быть заданы в соответствии с конкретными характеристиками кодируемого изображения.
Наибольший элемент кодирования может быть подразделен на так называемые элементы кодирования (CU-элементы). Элементы кодирования всегда являются квадратными и имеют размер между 8×8 отсчетов и полным размером наибольшего элемента (700) кодирования. Элементы кодирования могут быть организованы как своего рода древовидная структура, так, чтобы первое подразбиение могло иметь место таким образом, как показано на фиг. 8, давая элементы (710) кодирования, состоящие из 32×32 отсчетов; последующие подразбиения могут затем производиться на избирательной основе таким образом, чтобы давать некоторые элементы (720) кодирования, состоящие из 16×16 отсчетов (смотри фиг. 9) и, потенциально, некоторые элементы (730) кодирования, состоящие из 8×8 отсчетов (смотри фиг. 10). В целом, этот процесс может обеспечить древовидную структуру контекстно-адаптирующегося кодирования CU-блоков, каждый из которых может быть таким большим, как наибольший элемент кодирования, или таким малым, как 8×8 отсчетов. Кодирование выходных видеоданных происходит на основе структуры элементов кодирования.
На фиг. 11 схематически проиллюстрирован массив элементов предсказания (PU-элементов). Элемент предсказания представляет собой базовый элемент для переноса информации, касающейся процессов предсказания изображения, или, другими словами, дополнительных данных, добавляемых к данным энтропийно закодированного разностного изображения для того, чтобы сформировать выходной видеосигнал из аппарата, показанного на фиг. 5. Вообще говоря, элементы предсказания не ограничены тем, чтобы быть квадратными по форме. Они могут принимать и другие формы, в частности, прямоугольные формы, образующие половину одного из квадратных элементов кодирования, до тех пор, пока элемент кодирования больше, чем минимальный размер (8×8). Цель состоит в том, чтобы позволить границе примыкающих друг к другу элементов предсказания совпадать (настолько близко, насколько это возможно) с границей реальных объектов на изображении, так, чтобы к различным реальным объектам могли быть применены различные параметры предсказания. Каждый элемент кодирования может содержать один или более элементов предсказания.
На фиг. 12 схематически проиллюстр