Устройство обработки изображений и способ
Иллюстрации
Показать всеГруппа изобретений относится к технологиям кодирования/декодирования данных изображения. Техническим результатом является повышение качества изображения посредством использования матрицы квантования, содержащей коэффициенты, имеющие одинаковое значение. Предложено устройство кодирования данных изображения. Устройство содержит модуль квантования для квантования блока с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, с использованием матрицы квантования, содержащей коэффициенты, имеющие одинаковое значение. Устройство также содержит модуль кодирования для кодирования коэффициентов блока с пропуском ортогонального преобразования, квантованного блоком квантования. 2 н. и 9 з.п. ф-лы, 44 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений и, в частности, к устройству и способу обработки изображений, обеспечивающим уменьшение ухудшения изображения.
Уровень техники
В последние годы, чтобы эффективно выполнять передачу и хранение информации, начали широко использоваться устройства, в которых изображение подвергается кодированию со сжатием, использующему систему кодирования, обращающуюся с информацией изображения как с цифровой информацией, и в этом случае сжатие изображения посредством ортогонального преобразования, такого как дискретное косинусное преобразование и т.п., и компенсация движения, пользуются преимуществом избыточности, которая является признаком информации изображения. Примерами такой системы кодирования являются Moving Picture Experts Group (MPEG) и другие.
В частности, MPEG2 (ISO/IEC 13818-2) определяется как универсальная система кодирования изображения и является стандартом, охватывающим как изображения с чересстрочной разверткой, так и изображения с прогрессивной развертки, а также изображения со стандартной разрешающей способностью и изображения высокой четкости. Например, MPEG2 сегодня широко используется в широком диапазоне применений для профессионального и потребительского использования. Используя способ сжатия MPEG2, в случае, когда изображение с чересстрочной разверткой со стандартной разрешающей способностью имеет 720×480 пикселей, объем кода (битовая скорость) составляет 4-8 Мбит/с. Используя способ сжатия MPEG2, в случае, когда изображение с чересстрочной разверткой со стандартной разрешающей способностью имеет 1920×1088 пикселей, объем кода (битовая скорость) составляет 18-22 Мбит/с. Благодаря этому, можно реализовывать высокий коэффициент сжатия и прекрасное качество изображения.
MPEG2 используется, в основном, для кодирования изображения с высоким качеством, пригодного, главным образом, для вещания, и он был несовместим с системами кодирования с объемом кодирования (битовой скоростью) ниже, чем для MPEG1, то есть с более высоким коэффициентом сжатия. При широком распространении использования мобильных терминалов, ожидается, что в будущем спрос на такую систему кодирования будет расти, и в ответ на это была осуществлена стандартизация системы кодирования MPEG4. Что касается системы кодирования изображения, то технические требования к ней были утверждена в качестве международного стандарта ISO/IEC 14496-2 в декабре 1998 г.
Дополнительно, в последние годы прогрессировала стандартизация стандарта, названного H.26L (ITU-T (International Telecommunication Union Telecommunication Standardization Sector, сектор стандартизации в области электросвязи Международного союза электросвязи) Q6/16 VCEG (Video Coding Expert Group, группа экспертов по видеокодированию)), задачей которого, в первую очередь, было кодирование изображений для видеоконференций. Для H.26L известно, что хотя для кодирования и декодирования требуется больший объем вычислений по сравнению с традиционной системой кодирования, такой как MPEG2 или MPEG4, в этом стандарте реализуется повышенная эффективность кодирования. Кроме того, в настоящее время, как часть деятельности по MPEG4, стандартизация, содержащая функцию, которая не поддерживается H.26L, с помощью этого стандарта H.26L, взятого в качестве основы, чтобы достигнуть более высокой эффективности кодирования, была выполнена как Joint Model of Enhanced-Compression Video Coding (совместная модель видеокодирования с улучшенным сжатием).
Что касается календарного графика стандартизации, то международный стандарт под названием Н.264 и MPEG-4 Часть 10 (Advanced Video Coding, здесь далее упоминаемый как Н.264/AVC) был принят в марте 2003 г.
Дополнительно, в качестве расширения H.264/AVC в феврале 2005 г. была завершена стандартизация FRExt (Fidelity Range Extension), содержащего инструменты кодирования, необходимые для коммерческого использования, такие как RGB, 4:2:2 или 4:4:4, а также 8x8 DCT и матрицы квантования, определенные в MPEG-2. Соответственно, была принята система кодирования, способная, используя H.264/AVC, хорошо представлять шумы пленки, содержащиеся в кинофильмах, которая будет использоваться в широком диапазоне применений, таких как диски Blu-Ray (зарегистрированная торговая марка).
Однако в наше время возросла потребность кодирования с повышенным коэффициентом сжатия, требующимся для сжатия изображения, имеющего приблизительно 4000×2000 пикселей, что в четыре раза больше, чем у изображения высокой четкости, или для распространения изображений с высоким разрешением в среде с ограниченной пропускной способностью передачи, такой как Интернет. По этой причине в VCEG (Video Coding Expert Group, экспертная группа по видеокодированию) под руководством ITU-T, описанной выше, непрерывно проводились исследования по повышению эффективности кодирования.
Поэтому в настоящее время для дальнейшего повышения эффективности кодирования по сравнению с Н.264/AVC группой Joint Collaboration Team-Video Coding (JCTVC), которая является совместной группой по стандартизации ITU-T и ISO/IEC (например, смотрите непатентный документ 1), проводится стандартизация системы кодирования под названием High Efficiency Video Coding (видеокодирование с высокой эффективностью) (HEVC).
Однако в стандарте HEVC, раскрытом в непатентном документе 1, используется технология под названием "Intra Transform Skipping" (пропуск внутрикадрового преобразования) (смотрите, например, непатентный документ 2).
То есть сначала в набор параметров последовательности (Sequence Parameter Set, SPS) передается флаг, указывающий, может ли в последовательности применяться Transform Skip (упоминаемый также как "пропуск ортогонального преобразования").
Когда значение равно 1, можно применять TransformSkip к блокам 4×4 ортогонального преобразования яркости и цветности.
Флаг, относящийся к включению/выключению TransformSkip, передается в каждый блок.
В отношении блока, к которому применяется TransformSkip, в энтропийном кодировании, квантовании, процессе контурной фильтрации и т.д. изменений не происходит.
Перечень литературы
Непатентный документ
Непатентный документ 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "Working Draft 4 of High-Efficiency Video Coding", JCTVC-F803_d2, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Турин, IT, 14-22 июля 2011 г.
Непатентный документ 2: Cuiling Lan, Jizheng Xu, Gary J. Sullivan, Feng Wu, "Intra transform skipping", JCTVC-I0408, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 119th Meeting: Женева, CH, 27 апреля - 7 мая 2012 г.
Раскрытие изобретения
Проблемы, решаемые изобретением
Однако коэффициент блока, к которому применяется TransformSkip, является значением, относящимся к пространственному домену, коэффициент блока, к которому TransformSkip не применяется, является значением, связанным с частотным доменом, и, таким образом, обе характеристики отличаются друг от друга.
По этой причине, когда процесс кодирования выполняется на обоих блоках, к которому TransformSkip применяется и к которому TransformSkip не применяется, без учета различий в этих характеристиках, существует проблема ухудшения эффективности кодирования.
Настоящее раскрытие сделано с учетом такой ситуации и обеспечивает уменьшение ухудшения качества изображения из-за процессов кодирования/декодирования.
Решения проблем
В соответствии с другим вариантом настоящего раскрытия, обеспечивается устройство обработки изображения, содержащее:
модуль квантования, использующий весовой коэффициент, применяемый к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, для квантования блока с пропуском ортогонального преобразования; и
модуль кодирования для кодирования блока с пропуском ортогонального преобразования, квантованного модулем квантования.
Модуль квантования может использовать один весовой коэффициент.
Модуль квантования может квантовать блок с пропуском ортогонального преобразования размером 4×4, используя весовой коэффициент. Устройство обработки изображения может дополнительно содержать модуль передачи для передачи в качестве набора параметров картинки информации разрешения пропуска, указывающую, разрешен ли пропуск процесса ортогонального преобразования.
Модуль передачи может дополнительно передавать весовой коэффициент.
Модуль квантования может квантовать блок без пропуска ортогонального преобразования, в котором процесс ортогонального преобразования выполняется, с использованием матрицы квантования, отличной от матрицы весовых коэффициентов, полученной при выполнении матричной обработки весового коэффициента.
Устройство обработки изображения может дополнительно содержать модуль передачи для модулирования кодированных данных, полученных при выполнении квантования блоком квантования и кодирования блоком кодирования данных изображения для передачи кодированных данных в качестве сигнала передачи.
Устройство обработки изображения может дополнительно содержать мультиплексор для мультиплексирования кодированных данных, полученных при выполнении квантования блоком квантования и кодирования блоком кодирования данных изображения, с кодированными аудиоданными.
Устройство обработки изображения может дополнительно содержать модуль получения изображения для получения изображения объекта для генерирования данных изображения, при этом модуль квантования выполнен с возможностью квантования блока данных изображения с пропуском ортогонального преобразования, полученного путем получения изображения модулем получения изображения.
Устройство обработки изображения может дополнительно содержать модуль аудиокодека для кодирования и декодирования аудиоданных.
Устройство обработки изображения может дополнительно содержать модуль записи для записи кодированных данных, полученных при выполнении квантования модулем квантования и кодирования модулем кодирования данных изображения, на носитель записи данных.
В соответствии с вариантом настоящего раскрытия, обеспечивается способ обработки изображения, содержащий этапы, на которых: используют весовой коэффициент, применяемый к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается для квантования блока с пропуском ортогонального преобразования; и кодируют коэффициент квантованного блока с пропуском ортогонального преобразования.
В другом варианте настоящего раскрытия блок с пропуском ортогонального преобразования квантуется, с использованием весового коэффициента, применяемого к блоку с пропуском ортогонального преобразования, при этом процесс ортогонального преобразования пропускается, и коэффициент квантованного блока с пропуском ортогонального преобразования кодируется.
Дополнительно, устройство обработки изображения, описанное выше, может быть независимым устройством или может быть внутренним блоком, образующим устройство кодирования изображения.
Преимущества изобретения
В соответствии с настоящим раскрытием, можно кодировать изображение. В частности, можно уменьшить снижение качества изображения, возникающее при кодировании/декодировании.
Краткое описание чертежей
Фиг. 1 - блок-схема примера основной конфигурации устройства кодирования изображения.
Фиг. 2 - пример конфигурации блока кодирования.
Фиг. 3 - пример передачи матрицы квантования.
Фиг. 4 - пример набора параметров последовательности.
Фиг. 5 - пример набора параметров последовательности, соответствующего фиг. 4.
Фиг. 6 - пример набора параметров кадра.
Фиг. 7 - пример набора параметров кадра, соответствующего фиг. 6.
Фиг. 8 - пример состояния квантования..
Фиг. 9 - пример набора параметров последовательности.
Фиг. 10 - пример набора параметров последовательности, соответствующего фиг. 9.
Фиг. 11 - пример набора параметров кадра.
Фиг. 12 - пример набора параметров кадра, соответствующего фиг. 11.
Фиг. 13 - блок-схема примера основной конфигурации пропуска ортогонального преобразования и т.п.
Фиг. 14 - блок-схема последовательности выполнения операций примера процесса кодирования.
Фиг. 15 - блок-схема последовательности выполнения операций примера процесса управления пропуском ортогонального преобразования.
Фиг. 16 - блок-схема последовательности выполнения операций примера процесса ортогонального преобразования.
Фиг. 17 - блок-схема последовательности выполнения операций примера процесса квантования.
Фиг. 18 - блок-схема последовательности выполнения операций примера процесса фильтрации удаления блочности.
Фиг. 19 - блок-схема примера основной конфигурации устройства декодирования изображения.
Фиг. 20 - блок-схема примера основной конфигурации блока с пропуском инверсного ортогонального преобразования или т.п.
Фиг. 21 - блок-схема последовательности выполнения операций примера процесса декодирования.
Фиг. 22 - блок-схема последовательности выполнения операций примера процесса инверсного квантования.
Фиг. 23 - блок-схема последовательности выполнения операций примера процесса инверсного ортогонального преобразования.
Фиг. 24 - другой пример набора параметров последовательности.
Фиг. 25 - пример набора параметров кадра.
Фиг. 26 - блок-схема последовательности выполнения операций примера процесса генерирования информации разрешения пропуска.
Фиг. 27 - блок-схема последовательности выполнения операций примера процесса приема информации разрешения пропуска.
Фиг. 28 - пример системы кодирования мультипроекционного изображения.
Фиг. 29 - блок-схема примера основной конфигурации устройства кодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 30 - блок-схема примера основной конфигурации устройства декодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 31 - пример системы кодирования иерархического изображения.
Фиг. 32 - блок-схема примера основной конфигурации устройства кодирования иерархического изображения, к которому применяется настоящая технология.
Фиг. 32 - пример основной конфигурации устройства декодирования иерархического изображения, к которому применяется настоящая технология.
Фиг. 34 - блок-схема примера основной конфигурации компьютера.
Фиг. 35 - блок-схема примера схематичной конфигурации телевизионного устройства.
Фиг. 36 - блок-схема примера схематичной конфигурации мобильного телефона.
Фиг. 37 - блок-схема примера схематичной конфигурации устройства записи и воспроизведения.
Фиг. 38 - блок-схема примера схематичной конфигурации устройства получения изображения.
Фиг. 39 - блок-схема примера использования масштабируемого кодирования.
Фиг. 40 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 41 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 42 - блок-схема примера основной конфигурации видеокомбайна.
Фиг. 43 - блок-схема примера схематичной конфигурации видеопроцессора.
Фиг. 44 - блок-схема другого примера схематичной конфигурации видеопроцессора.
Осуществление изобретения
Здесь далее будут описаны способы выполнения настоящего раскрытия (здесь далее упоминаемые как варианты осуществления). Дополнительно, описание будет сделано в следующем порядке.
1. Первый вариант осуществления (устройство кодирования изображения)
2. Второй вариант осуществления (устройство декодирования изображений)
3. Третий вариант осуществления (управление передачей информации разрешения пропуска)
4. Четвертый вариант осуществления (устройство кодирования мультипроекционного изображения/устройство декодирования мультипроекционного изображения)
5. Пятый вариант осуществления (устройство кодирования иерархического изображения/декодирования иерархического изображения)
6. Шестой вариант осуществления (компьютер)
7. Седьмой вариант осуществления (пример применения)
8. Восьмой вариант осуществления (пример применения масштабируемого кодирования)
9. Девятый вариант осуществления (комплект/блок/модуль/процессор)
1. Первый вариант осуществления
Устройство кодирования изображения
На фиг. 1 представлена блок-схема примера основной конфигурации устройства кодирования изображения.
Устройство 100 кодирования изображения, показанное на фиг. 1, кодирует данные изображения, используя процесс предсказания, например, системы видеокодирования высокой эффективности (HEVC) или совместимой с ней системы.
В примере, показанном на фиг. 1, устройство 100 кодирования изображения содержит аналогово-цифровой (A/D) преобразователь 101, буфер 102 перегруппировки экрана, модуль 103 вычислений, модуль 104 ортогонального преобразования, модуль 105 квантования, модуль 106 кодирования без потерь, накопительный буфер 107, модуль 108 инверсного квантования и модуль 109 инверсного ортогонального преобразования. Кроме того, устройство 100 кодирования изображения содержит модуль 110 вычислений, фильтр 111 удаления блочности, кадровую память 112, модуль 113 выбора, модуль 114 внутрикадрового предсказания, модуль 115 предсказания/компенсации движения, модуль 116 выбора изображения предсказания и модуль 117 управления скоростью.
Устройство 100 кодирования изображений дополнительно содержит модуль 121 пропуска ортогонального преобразования.
A/D-преобразователь 101 выполняет аналогово-цифровое преобразование входных данных изображения, подает данные изображения (цифровые данные), полученные посредством преобразования, в буфер 102 перегруппировки экрана и сохраняет в нем данные изображения. Буфер 102 перегруппировки экрана перегруппирует изображения кадров, хранящиеся в порядке отображения, в порядок следования кадров для кодирования, соответствующий группе структуре картинки (GOP), и подает изображение, в котором порядок кадров перегруппирован, на модуль 103 вычислений. Кроме того, буфер 102 перегруппировки экрана подает изображение, для которого порядок кадров перегруппирован, на модуль 114 внутрикадрового предсказания и модуль 115 предсказания/компенсации движения.
Модуль 103 вычислений вычитает предсказанное изображение, полученное от модуля 114 внутрикадрового предсказания или модуля 115 предсказания/компенсации через модуль 116 выбора предсказанного изображения, из изображения, считанного из буфера 102 перегруппировки экрана, и выводит разностную информацию на модуль 104 ортогонального преобразования. Например, в случае изображения, для которого выполняется внутрикадровое кодирование, модуль 103 вычислений вычитает из изображения, считанного из буфера 102 перегруппировки экрана, предсказанное изображение, полученное от модуля 114 внутрикадрового предсказания. Дополнительно, в случае изображения, для которого выполняется межкадровое кодирование, модуль 103 вычислений, например, вычитает предсказанное изображение, поданное от модуля 115 предсказания/компенсации движения, из изображения, считанного из буфера 102 перегруппировки экрана.
Модуль 104 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование и преобразование Карунена-Лоэва, для разностной информации, поданной от модуля 103 вычислений, и подает его коэффициент преобразования на модуль 105 квантования.
Модуль 105 квантования квантует коэффициент преобразования, поданный от модуля 104 ортогонального преобразования. Модуль 105 квантования устанавливает параметр квантования, основываясь на информации, касающейся целевого значения объема кодирования, поданной от модуля 117 управления скоростью, и выполняет его квантование. Модуль 105 квантования подает квантованный коэффициент преобразования на модуль 106 кодирования без потерь.
Модуль 106 кодирования без потерь, используя любую систему кодирования, кодирует коэффициент преобразования, квантованный модулем 105 квантования. Поскольку данные коэффициента квантуются под управлением модуля 117 управления скоростью, объем его кодирования является целевым значением, установленным модулем 117 управления скоростью (или аппроксимированным целевым значением).
Кроме того, модуль 106 кодирования без потерь получает информацию, указывающую режим внутрикадрового предсказания и т.п., от модуля 114 внутрикадрового предсказания и получает информацию, указывающую режим межкадрового предсказания, или разностную информацию вектора движения от модуля 115 предсказания/компенсации движения.
Модуль 106 кодирования без потерь кодирует эти различные фрагменты информации в соответствии с системой кодирования, чтобы содержать (мультиплексировать) различные фрагменты информации как часть информации заголовка кодированных данных (упоминаемых также как кодированный поток). Модуль 106 кодирования без потерь подает кодированные данные, полученные кодированием, в накопительный буфер 107 и накапливает в нем кодированные данные.
Например, система кодирования модуля 106 кодирования без потерь выполняет кодирование переменной длины или арифметическое кодирование. Например, кодирование переменной длины содержит контекстно адаптированное кодирование переменной длины (Context-Adaptive Variable Length Coding, CAVLC) и т.п., определенное в системе H.264/AVC. Примером арифметического кодирования является контекстно адаптированное двоичное арифметическое кодирование (Context-Adaptive Binary Arithmetic Coding, CABAC) и т.п.
Накопительный буфер 107 временно хранит кодированные данные, поданные от модуля 106 кодирования без потерь. Накопительный буфер 107 выводит хранящиеся кодированные данные, например, на устройство записи (носитель записи) или на путь прохождения передачи, не показанный в последней части, с заданной синхронизацией. То есть накопительный буфер 107 является также блоком передачи для передачи кодированных данных.
Коэффициент преобразования, квантованный модулем 105 квантования, также подается на модуль 108 инверсного квантования. Модуль 108 инверсного квантования инверсно квантует квантованный коэффициент преобразования согласно способу, соответствующему квантованию модулем 105 квантования. Модуль 108 инверсного квантования подает полученный коэффициент преобразования на модуль 109 инверсного ортогонального преобразования.
Модуль 109 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициента преобразования, поданного от модуля 108 инверсного квантования, способом, соответствующим процессу ортогонального преобразования, выполняемому модулем 104 ортогонального преобразования. Выходной результат, полученный посредством процесса инверсного ортогонального преобразования (восстановленная разностная информация), подается на модуль 110 вычислений.
Модуль 110 вычислений добавляет предсказанное изображение, поданное от модуля 114 внутрикадрового предсказания или от модуля 115 предсказания/компенсации движения через модуль 116 выбора предсказанного изображения, к восстановленной разностной информации, являющейся результатом процесса инверсного ортогонального преобразования, полученным от модуля 109 инверсного ортогонального преобразования, создавая, таким образом, локально декодированное изображение (декодированное изображение). Декодированное изображение подается на фильтр 111 удаления блочности или в кадровую память 112.
Фильтр 111 удаления блочности соответственно выполняет процесс фильтрации удаления блочности декодированного изображения, поданного от модуля 110 вычислений. Например, фильтр 111 удаления блочности выполняет процесс фильтрации удаления блочности декодированного изображения, чтобы удалить блочное искажение декодированного изображения.
Фильтр 111 удаления блочности подает результат процесса фильтрации (декодированное изображение после процесса фильтрации) в кадровую память 112. Дополнительно, как описано выше, декодированное изображение с выхода модуля 110 вычислений может подаваться в кадровую память 112, не проходя через фильтр 111 удаления блочности. То есть возможно пропустить процесс фильтрации, выполняемый фильтром 111 удаления блочности.
Кадровая память 112 сохраняет декодированное изображение, которое должно быть подано, и подает хранящееся декодированное изображение в качестве опорного изображения на модуль 113 выбора в заданный момент времени.
Модуль 113 выбора выбирает место назначения для подачи опорного изображения, подаваемого из кадровой памяти 112. Например, в случае межкадрового предсказания модуль 113 выбора подает опорное изображение из кадровой памяти 112 на модуль 115 предсказания/компенсации движения.
Модуль 114 внутрикадрового предсказания выполняет внутрикадровое предсказание (предсказание в пределах экрана), чтобы сформировать предсказанное изображение, используя пиксельное значение внутри текущей картинки, которая является опорным изображением, подаваемым из кадровой памяти 112 через модуль 113 выбора. Модуль 114 внутрикадрового предсказания выполняет внутрикадровое предсказание во множестве режимов внутрикадрового предсказания, подготовленных заранее.
Модуль 114 внутрикадрового предсказания генерирует предсказанное изображение, используя все возможные режимы внутрикадрового предсказания, и оценивает значение функции стоимости каждого предсказанного изображения, используя входное изображение, поданное из буфера 102 перегруппировки экрана, чтобы выбрать оптимальный режим. Когда оптимальный режим выбран как режим внутрикадрового предсказания, модуль 114 внутрикадрового предсказания подает сгенерированное предсказанное изображение в оптимальном режиме на переключатель 116 выбора предсказанного изображения.
Кроме того, как описано выше, модуль 114 внутрикадрового предсказания соответственно подает информацию о режиме внутрикадрового предсказания, указывающую принятый режим внутрикадрового предсказания, на модуль 106 кодирования без потерь, чтобы кодировать поданную информацию о режиме внутрикадрового предсказания.
Модуль 115 предсказания/компенсации движения выполняет предсказание движения (межкадровое предсказание), используя входное изображение, поданное из буфера 102 перегруппировки экрана, и опорное изображение, поданное из кадровой памяти 112 через модуль 113 выбора. Модуль 115 предсказания/компенсации движения выполняет процесс компенсации движения в соответствии с обнаруженным вектором движения и генерирует предсказанное изображение (информацию о межкадрового предсказанном изображении). Модуль 115 предсказания/компенсации движения выполняет такое межкадровое предсказание во множестве подготовленных заранее режимов межкадрового предсказания.
Модуль 115 предсказания/компенсации движения генерирует предсказанное изображение во всех возможных режимах межкадрового предсказания. Модуль 115 предсказания/компенсации движения оценивает значение функции стоимости каждого предсказанного изображения, используя входное изображение, поданное из буфера 102 перегруппировки экрана, и информацию сгенерированного разностного вектора движения, чтобы выбрать оптимальный режим. Когда оптимальный режим межкадрового предсказания выбран, модуль 115 предсказания/компенсации движения подает сгенерированное предсказанное изображение в оптимальном режиме на модуль 116 выбора предсказанного изображения.
Модуль 115 предсказания/компенсации движения подает информацию, указывающую принятый режим межкадрового предсказания, информацию, требующуюся для выполнения процесса в режиме межкадрового предсказания во время декодирования кодированных данных и т.п., на модуль 106 кодирования без потерь и кодирует поданную информацию. Например, требуемая информация может содержать информацию о сгенерированном разностном векторе движения, флаг, указывающий индекс вектора предсказания движения в качестве информации о предсказании вектора движения и т.п.
Модуль 116 выбора предсказанного изображения выбирает источник подачи предсказанного изображения, которое должно подаваться на модуль 103 вычислений или на модуль 110 вычислений. Например, в случае внутрикадрового кодирования модуль 116 выбора предсказанного изображения выбирает модуль 114 внутрикадрового предсказания в качестве источника подачи предсказанного изображения и подает предсказанное изображение, подаваемое от модуля 114 внутрикадрового предсказания, на модуль 103 вычислений или на модуль 110 вычислений. Кроме того, в случае межкадрового кодирования модуль 116 выбора предсказанного изображения выбирает модуль 115 предсказания/компенсации движения в качестве источника подачи предсказанного изображения и подает предсказанное изображение, которое должно подаваться от модуля 115 предсказания/компенсации движения на модуль 103 вычислений или на модуль 110 вычислений.
На основе объема кодирования кодированных данных, накопленных в накопительном буфере 107, модуль 117 управления скоростью управляет скоростью операции квантования модуля 105 квантования, так что переполнение или неполное заполнение не происходит.
Модуль 121 пропуска ортогонального преобразования управляет выполнением процесса ортогонального преобразования в модуле 104 ортогонального преобразования. Кроме того, в соответствии с управлением модуль 121 пропуска ортогонального преобразования управляет процессом квантования через модуль 105 квантования, процессом инверсного квантования через модуль 108 инверсного квантования, процессом инверсного ортогонального преобразования через модуль 109 инверсного ортогонального преобразования и процессом фильтрации удаления блочности через фильтр 111 удаления блочности. Дополнительно, модуль 121 пропуска ортогонального преобразования подает необходимую информацию о пропуске процесса ортогонального преобразования и информацию о квантовании или фильтре удаления блочности на модуль 106 кодирования без потерь и передает поданную информацию из накопительного буфера 107 на сторону декодирования.
Модуль кодирования
В системе AVC описывается иерархическая структура, содержащая макроблок и субмакроблок. Однако размер макромодуля 16 пикселей × 16 пикселей совершенно непригоден для большого кадра изображения, такого как кадр со сверхвысокой разрешающей способностью (UHD; 4000 пикселей × 2000 пикселей), который будет предметом системы кодирования следующего поколения.
Таким образом, например, кодируемый блок (CU) описывается в системе HEVC, показанной на фиг. 2.
CU также называют блоком дерева кодирования (СТВ) и он является частичной областью изображения в блоке картинки, который выполняет ту же самую роль, что и макроблок в системе AVC. Последний имеет фиксированный размер 16x16 пикселей, тогда как размер первого не фиксирован и, таким образом, описывается в информации о сжатии изображения в каждой последовательности.
Например, в наборе параметров последовательности (Sequence Parameter Set, SPS), содержащемся в кодированных данных, которые должны выводиться, определяются максимальный размер (LCU (Largest Coding Unit, наибольший модуль кодирования)) и минимальный размер (SCU (Smallest Coding Unit, наименьший модуль кодирования)) блока CU.
Каждый LCU может дополнительно делиться на меньшие CU, устанавливая флаг split_flag=1 внутри диапазона, не падающего ниже размера SCU. В примере, показанном на фиг. 2, размер LCU равен 128×128 пикселей, тогда как максимальная иерархическая глубина составляет 5. CU с размером 2N×2N пикселей делится на CU с размером N×N пикселей, которые находятся в иерархии на один уровень ниже, когда значение флага split_flag равно "1".
Дополнительно, CU делится на блок предсказания (PU), являющийся областью (частичной областью изображения в блоке картинки), которая должна быть блоком обработки для внутрикадрового или межкадрового предсказания, и делится также на блок преобразования (TU), являющийся областью (частичной областью изображения в блоке картинки), которая должна быть блоком обработки для ортогонального преобразования. В настоящее время система HEVC может выполнять 16×16 и 32×32 ортогональных преобразований в дополнение к ортогональным преобразованиям 4×4 и 8×8.
Как и в упомянутой выше системе HEVC, в случае системы кодирования, в которой CU определяется и различные типы обработки выполняются для CU как блока, считается, что макроблок в системе AVC соответствует LCU, а блок (субблок) соответствует CU. Кроме того, считается, что блок компенсации движения в системе AVC соответствует PU. Однако, поскольку CU имеет иерархическую структуру, размер LCU на самом верхнем уровне обычно устанавливается большим, чем макроблок в системе AVC, например, 128×128 пикселей.
Поэтому здесь далее предполагается, что LCU также содержит макроблок в системе AVC и CU также содержит блок (субблок) в системе AVC. То есть термин "блок", используемый в последующем описании, указывает любую частичную область внутри картинки и не ограничивается размерами, формой, характеристиками блока и т.д. Другими словами, любая область (блок обработки), например, TU, PU, SCU, CU, LCU, субблок, макроблок или срез, содержится в понятии "блок". Естественно, частичные области (блоки обработки), отличные от этих областей, также содержатся в этом определении. Описание, по мере необходимости, соответственно приводится для случая ограничения размеров или блока обработки.
Далее будут описаны основные технические элементы, связанные с настоящей технологией.
Матрица квантования
Как и в AVC, квантование коэффициента ортогонального преобразования выполняется для каждого процессорного модуля ортогонального преобразования в HEVC. Матрица квантования используется для квантования, но матрица квантования подготавливается для каждого размера процессорного блока ортогонального преобразования. Однако, например, когда передается большая матрица квантования, такая как матрица 16×6 или матрица 32×32, существует проблема, что эффективность кодирования снижается.
Здесь, как показано на фиг. 3, большая матрица квантования (или матрица квантования больше заданного размера), например, матрица 16×16 или матрица 32×32 передается в размере 8×8 и дискретизация повышается посредством удержания нулевого порядка, которое должно применяться к каждому размеру ортогонального преобразования. Дополнительно, отдельно в матрицу, к которой применяется повышающая дискретизация, передается постоянная составляющая (DC).
В HEVC, как показано на фиг. 4-7, информация о матрице квантования (Scaling List, список масштабирования) передается в набор параметров последовательности (SPS) или в набор параметров картинки (PPS). На фиг. 4 и 5 показаны примеры набора параметров последовательности. На фиг. 6 и 7 показаны примеры набора параметров картинки.
Фильтр удаления блочности
Как и в AVC, в HEVC фильтр удаления блочности определяется в контуре компенсации движения. Фильтр удаления блочности выполняет процесс фильтрации для уменьшения блочного искажения, происходящего на границах блоков.
То есть при фильтрации удаления блочности обнаруживаются границы блока, а тип или сила фильтрации, смещение и т.п. определяются, основываясь на параметрах квантования и т.п. на границах блока, выполняя, таким образом, процесс фильтрации.
Выбор режима
Однако, чтобы достигнуть более высокой эффективности кодирования в системах кодирования AVC и HEVC, важно выбрать соответствующий режим предсказания.
В качестве примера способа выбора может использоваться способ, который реализуется в эталонном программном обеспечении под названием "совместная модель"(JM) в H.264/MPEG-4/AVC (которое доступно по адресу http://iphome.hhi.de/suehring/tml/index.htm).
Программное обеспечение JM позволяет выбрать способ принятия решения о режиме из двух режимов, режима высокой сложности, High Complexity Mode, и режима низкой сложности, Low Complexity Mode, которые будут описаны ниже. В любом из режимов вычисляется значение функции стоимости для каждого режима предсказания "Mode" и режим предсказания, минимизирующий значение функции стоимости, выбирается в качестве оптимального режима для блока или макроблока.
В режиме высокой сложности функция стоимости выражается следующим уравнением (1).
Здесь, "Ω" представляет универсальный набор возможных режимов для кодирования блока или макроблока и "D" представляет энергетическую разницу между декодированным изображением и входным изображением, когда кодирование выполняется в режиме предсказания. "λ" представляет множитель Лагранжа, заданный как функция параметра квантования. "R" представляет общий объем