Область техники, к которой относится изобретение
Настоящее изобретение имеет отношение к устройству для кодирования цифровых сигналов изображений, устройству для декодирования цифровых сигналов изображений, способу кодирования цифровых сигналов изображений и способу декодирования цифровых сигналов изображений, используемых для технологии кодирования и сжатия изображений или технологии передачи данных сжатых изображений.
Уровень техники
Система кодирования видеосигналов международного стандарта, такая как MPEG или ITU-T H.26x (например, стандарт "Information Technology Coding of Audio-Visual Objects Part 10: Advanced Video Coding", ISO/IEC 14496-10, 2003 (в дальнейшем называемый непатентным документом 1)), традиционно основывается на использовании стандартизированного формата входного сигнала, называемого форматом 4:2:0. Формат 4:2:0 является форматом, в котором цветовой сигнал динамического изображения в виде компонентов RGB или подобном виде преобразовывается в компонент яркости (Y) и два компонента цветности (Cb, Cr), и количество отсчетов компонента цветности уменьшается на половину от количества компонентов яркости как в горизонтальном, так и в вертикальном направлениях. Компонент цветности визуально различается меньше, чем компонент яркости. В соответствии с этим традиционная система кодирования видеосигнала международного стандарта была основана на предпосылке, что количество первоначальной информации, которая должна быть закодирована, сокращается посредством субдискретизации компонентов цветности перед выполнением кодирования, как упомянуто выше. При кодировании видеосигналов для деловых целей, таких как широковещание видео, может использоваться формат 4:2:2 с субдискретизацией компонентов Cb и Cr для уменьшения количества отсчетов компонентов на половину от количества отсчетов компонента яркости только в горизонтальном направлении. Таким образом, цветовое разрешение в вертикальном направлении становится равным яркости, таким образом, увеличивая цветовую воспроизводимость по сравнению с форматом 4:2:0. С другой стороны, недавний рост разрешения и количества оттенков видеоизображения сопровождался исследованиями системы для выполнения кодирования посредством поддержки количества отсчетов, равного количеству компонентов яркости, без субдискретизации компонентов цветности. Формат, в котором количества отсчетов компонентов яркости и цветности полностью равны, называют форматом 4:4:4. Традиционный формат 4:2:0 был ограничен определениями компонентов Y, Cb и Cr цветового пространства вследствие предпосылки субдискретизации компонентов цветности. Однако в случае формата 4:4:4, поскольку нет различия в соотношении количества отсчетов между цветовыми компонентами, могут непосредственно использоваться компоненты R, G и B в дополнение к компонентам Y, Cb и Cr, и может использоваться множество определений цветового пространства. Примером системы кодирования видеосигнала, нацеленной на формат 4:4:4, является публикация Woo-Shik Kim, Dae-Sung Cho и Hyun Mun Kim, "INTER-PLANE PREDICTION FOR RGB VIDEO CODING", ICIP 2004, October 2004 (в дальнейшем называемая непатентным документом 2).
В формате 4:2:0 кодирования AVC из непатентного документа 1 в области макроблока, составленного из компонентов яркости с размером 16×16 пикселей, соответствующие компоненты цветности являются блоками с размером 8×8 пикселей для обоих компонентов Cb и Cr. При предсказании с компенсацией движения в формате 4:2:0 мультиплексируются информация о размере блока, которая становится элементом предсказания с компенсацией движения только для компонентов яркости, информация опорного изображения, используемая для предсказания, и информации вектора движения каждого блока, и предсказание с компенсацией движения выполняется для компонентов цветности с помощью той же самой информации, как и для компонентов яркости. Формат 4:2:0 имеет такие характеристики в определении цветового пространства, что почти все элементы структурной информации об изображении интегрированы в компонент (текстуры) яркости, для компонента цветности видимость искажений ниже, чем для компонента яркости, и вклад в воспроизводимость видеосигнала является малым, и предсказание и кодирование в формате 4:2:0 основывается на таких характеристиках формата. С другой стороны, в случае формата 4:4:4 три цветовых компонента несут одинаковую информацию о текстуре. Система для выполнения предсказания с компенсацией движения на основе режима предсказания с интер-кодированием, информации опорного изображения и информации вектора движения, зависящих только от одного компонента, не обязательно является оптимальным способом в формате 4:4:4, где цветовые компоненты вносят равные вклады в представление структуры сигнала изображения. Таким образом, система кодирования, предназначенная для формата 4:2:0, выполняет обработку сигналов, отличающуюся от системы кодирования, предназначенной для формата 4:4:4, для выполнения оптимального кодирования, и определения элементов информации, мультиплексированных в закодированном битовом потоке, также являются другими. В результате, чтобы создать устройство для декодирования, способное декодировать сжатые видеоданные во множестве различных форматов, должна быть использована конструкция, в которой битовые потоки для сигналов форматов воспринимаются индивидуально, и, таким образом, конструкция устройства становится неэффективной.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Поэтому задача настоящего изобретения состоит в том, чтобы обеспечить способ формирования битового потока для обеспечения совместимости между битовым потоком, закодированным в пространстве Y, Cb и Cr, как в случае традиционного формата 4:2:0, и битовым потоком, не имеющий различия в соотношении количества отсчетов между цветовыми компонентами, как в случае формата 4:4:4, и полученным посредством сжатия видеосигнала, имеющего свободное определение цветового пространства, и способ декодирования.
Устройство для кодирования динамического изображения, которое принимает, сжимает и кодирует цифровой сигнал динамического изображения, содержит: первый блок определения режима предсказания с интра-кодированием для выполнения предсказания с интра-кодированием над компонентом сигнала, соответствующим компоненту яркости, в случае, когда формат цветности входного сигнала динамического изображения является форматом 4:2:0 или 4:2:2; второй блок определения режима предсказания с интра-кодированием для выполнения предсказания с интра-кодированием над компонентом сигнала, соответствующим компоненту цветности, в случае, когда формат цветности входного сигнала динамического изображения является форматом 4:2:0 или 4:2:2; блок кодирования с переменной длиной для кодирования с переменной длиной первого режима предсказания с интра-кодированием, определенного посредством первого блока определения режима предсказания с интра-кодированием, или второго режима предсказания с интра-кодированием, определенного посредством второго блока определения режима предсказания с интра-кодированием; первый блок формирования изображения предсказания с интра-кодированием для формирования первого изображения предсказания с интра-кодированием на основе первого режима предсказания с интра-кодированием; второй блок формирования изображения предсказания с интра-кодированием для формирования второго изображения предсказания с интра-кодированием на основе второго режима предсказания с интра-кодированием; и блок кодирования для выполнения преобразования и кодирования над сигналом ошибки предсказания, полученным как разность между первым изображением предсказания с интра-кодированием или вторым изображением предсказания с интра-кодированием и соответствующими сигналами цветовых компонентов, включенными во входной сигнал динамического изображения. На основе управляющего сигнала для обеспечения типа формата цветности входного сигнала динамического изображения в случае формата цветности 4:2:0 или 4:2:2 первый блок определения режима предсказания с интра-кодированием и первый блок формирования изображения предсказания с интра-кодированием применяются к компоненту яркости входного сигнала динамического изображения и второй блок определения режима предсказания с интра-кодированием и второй блок формирования изображения предсказания с интра-кодированием применяются к компоненту цветности входного сигнала динамического изображения. В случае формата цветности 4:4:4 первый блок определения режима предсказания с интра-кодированием и первый блок формирования изображения предсказания с интра-кодированием применяются ко всем цветовым компонентам входного сигнала динамического изображения для выполнения кодирования; и блок кодирования с переменной длиной мультиплексирует управляющий сигнал как данные кодирования, которые должны быть применены к элементу последовательности динамического изображения в битовом потоке.
Кодирование/декодирование могут быть совместно выполнены для множества различных форматов цветности, таких как форматы 4:2:0, 4:2:2 и 4:4:4, посредством эффективной конфигурации устройства, и может быть увеличена взаимная совместимость между закодированными видеоданными.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На сопроводительных чертежах:
фиг.1 - пояснительная схема, показывающая соотношение между последовательностью, изображением, секцией и макроблоком;
фиг.2 - пояснительная схема, показывающая процесс общего кодирования;
фиг.3 - пояснительная схема, показывающая процесс независимого кодирования;
фиг.4 - блок-схема, показывающая конфигурацию устройства для кодирования в соответствии с первым вариантом воплощения настоящего изобретения;
фиг.5 - пояснительные схемы, показывающие режимы предсказания с интра-кодированием для размера N×N (N=4 или 8);
фиг.6 - пояснительные схемы, показывающие режимы предсказания с интра-кодированием для размера 16×16;
фиг.7 - пояснительные схемы, показывающие режимы предсказания с интра-кодированием для компонентов Cb/Cr в форматах 4:2:0/4:2:2;
фиг.8A-8H - пояснительные схемы, показывающие единичные элементы макроблоков;
фиг.9 - пояснительные схемы, показывающие процессы формирования предсказанного изображения с компенсацией движения для компонента Y в форматах 4:2:0/4:2:2 и для формата 4:4:4;
фиг.10 - пояснительная схема, показывающая процесс формирования предсказанного изображения с компенсацией движения для компонентов Cb/Cr в форматах 4:2:0/4:2:2;
фиг.11 - пояснительные схемы, показывающие процессы кодирования разности предсказания для компонента Y в форматах 4:2:0 и 4:2:2;
фиг.12 - пояснительные схемы, показывающие процессы кодирования разности предсказания для компонентов Cb/Cr в форматах 4:2:0 и 4:2:2;
фиг.13 - пояснительная схема, показывающая битовый поток;
фиг.14 - пояснительная схема, показывающая структуру секции;
фиг.15A и 15B - пояснительные схемы, показывающие секцию в формате 4:4:4, закодированную с помощью общего и независимого кодирования;
фиг.16 - блок-схема, показывающая конфигурацию устройства для декодирования в соответствии с первым вариантом воплощения настоящего изобретения;
фиг.17 - пояснительная схема, показывающая внутренний процесс уровня макроблока для блока декодирования с переменной длиной;
фиг.18 - пояснительная схема, показывающая переключение предсказания с интра-кодированием в соответствии с форматом цветности в компонентах Cb/Cr;
фиг.19 - пояснительная схема, показывающая переключение компенсации движения в соответствии с форматом цветности в компонентах Cb/Cr;
фиг.20 - пояснительная схема, показывающая процесс кодирования разности предсказания для компонента Y в форматах 4:2:0, 4:2:2 и для формата 4:4:4;
фиг.21A и 21B - пояснительные схемы, показывающие процессы кодирования разности предсказания для компонентов Cb/Cr в форматах 4:2:0 и 4:2:2;
фиг.22 - пояснительная схема, показывающая внутреннюю конфигурацию блока декодирования разности предсказания для компонентов C1 и C2; и
фиг.23 - пояснительные схемы, показывающие форматы.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Первый вариант воплощения
Первый вариант воплощения настоящего изобретения имеет отношение к устройству для кодирования, которое принимает один из видеосигналов в формате цветности 4:2:0 или 4:2:2, определенный в цветовом пространстве (Y, Cb и Cr), и видеосигнал в формате цветности 4:4:4, определенный в цветовом пространстве (R, G и B), (Y, Cb и Cr) или (X, Y и Z), для выполнения видеокодирования и выдает битовый поток, и к устройству для декодирования, которое принимает закодированный битовый поток, сформированный посредством устройства для кодирования, чтобы восстановить сигнал изображения. Ниже в описании три цветовых компонента будут в общем случае называться компонентами (C0, C1 и C2), и в случае форматов цветности 4:2:0 и 4:2:2 компоненты C0, C1 и C2 будут соответственно рассматриваться как компонент Y, компонент Cb и компонент Cr.
Как показано на фиг.1, устройство для кодирования первого варианта воплощения настоящего изобретения принимает видеосигнал, представленный как последовательные во времени данные экранной информации (в дальнейшем называемые изображением), определенные посредством элементов кадров или полей через последовательную дискретизацию. Элемент данных, включающий в себя выстроенные последовательно во времени изображения, называется последовательностью. Последовательность может быть разделена на некоторые группы изображений (GOP). Группа изображений (GOP) используются с целью обеспечения выполнения декодирования, начиная с произвольной начальной группы изображений (GOP), независимо от других групп изображений (GOP) и произвольного доступа к битовому потоку. Изображение также разделено на квадратные блоки, называемые макроблоками, и к нему применяются процессы предсказания, преобразования или квантования на уровне макроблоков, чтобы выполнить сжатие видеоизображения. Элемент, сформированный посредством объединения множества макроблоков, называется секцией. Секция представляет собой элемент данных, который будет закодирован или декодирован независимо от другой секции. Например, при обработке видеосигналов с разрешением, равным или большим разрешения телевидения высокой четкости (HDTV), в режиме реального времени разделение на секции выполняется для параллельного кодирования или декодирования разделенных секций, и, таким образом, сокращается время вычисления. Когда битовый поток передается через линию, имеющую высокий коэффициент ошибок, даже если некоторая секция разрушена под влиянием ошибки и декодированное изображение искажается, правильный процесс декодирования восстанавливается со следующей секции. В общем случае на границе секции не может использоваться предсказание с использованием зависимости сигнала со смежной секцией. Таким образом, по мере увеличения количества секций увеличивается гибкость параллельного процесса и устойчивость к ошибкам, в то время как производительность кодирования уменьшается.
Макроблок в случае каждого из форматов цветности 4:2:0, 4:2:2 или 4:4:4 определен как блок пикселей с размерами W=H=16, как показано на фиг.23. Чтобы выполнить сжатие видеосигнала через процесс предсказания, преобразования или квантования по макроблокам, закодированные данные макроблока, мультиплексированные в битовом потоке, главным образом содержат два типа информации. Один из них является типом вспомогательной информации, отличающейся от непосредственно видеосигнала, такой как режим предсказания, информация предсказания движения или параметр квантования, и эти элементы информации вместе называются заголовком макроблока. Другой из них является непосредственно информация видеосигнала. В соответствии с первым вариантом воплощения настоящего изобретения видеосигнал, который должен быть закодирован, представляет собой сжатые данные сигнала ошибки предсказания, полученные в результате выполнения предсказания, преобразования или квантования на основе информации заголовка макроблока и представленные в квантованном виде с коэффициентом преобразования. Таким образом, в дальнейшем видеосигнал будет называться данными коэффициентов квантования.
В дальнейшем процесс кодирования сигналов трех цветовых компонентов одного кадра или одного поля на основе общего заголовка макроблока будет называться "процессом общего кодирования", а процесс кодирования сигналов трех цветовых компонентов одного кадра или одного поля на основе индивидуальных независимых заголовков макроблока будет называться "процессом независимого кодирования". Аналогично процесс декодирования данных изображения из битового потока, полученного посредством кодирования сигналов трех цветовых компонентов одного кадра или одного поля на основе общего заголовка макроблока, будет называться "процессом общего декодирования", а процесс декодирования данных изображения из битового потока, полученного посредством кодирования сигналов трех цветовых компонентов одного кадра или одного поля на основе индивидуальных независимых заголовков макроблока, будет называться "процессом независимого декодирования". Устройство для кодирования первого варианта воплощения настоящего изобретения выполнено с возможностью кодировать сигнал цветности 4:4:4 через процесс, выбранный из процесса общего кодирования и процесса независимого кодирования. В процессе общего кодирования три цветовых компонента одного кадра или одного поля вместе определяются как одно изображение, и изображение разделяется на макроблоки, которые объединяют три цветовых компонента (фиг.2). На фиг.2 и в описании ниже три цветовых компонента будут называться компонентами C0, C1 и C2. С другой стороны, в процессе независимого кодирования входной видеосигнал одного кадра или одного поля разделяется на три цветовых компонента, каждый определяется как изображение, и каждое изображение разделяется на макроблоки, содержащие цветовые компоненты сигнала (фиг.3). Другими словами, макроблок, который должен быть подвергнут процессу общего кодирования, содержит отсчет (пиксель) с тремя цветовыми компонентами C0, C1 и C2, в то время как макроблок, который должен быть подвергнут процессу независимого кодирования, содержит отсчет (пиксель) только с одним из компонентов C0, C1 и C2. В соответствии с устройством для кодирования первого варианта воплощения настоящего изобретения определение макроблока на фиг.2 всегда используется для форматов цветности 4:2:0 и 4:2:2, и используется процесс кодирования, эквивалентный "процессу общего кодирования" или "процессу общего декодирования".
Устройство для кодирования
Фиг.4 показывает конфигурацию устройства для кодирования в соответствии с первым вариантом воплощения настоящего изобретения. В дальнейшем информация для назначения формата цветности входного видеосигнала, который должен быть закодирован, будет называться информацией 1 идентификации формата цветности, и информация идентификации, указывающая, какое кодирование выполнено - через процесс общего кодирования или через процесс независимого кодирования - будет называться информацией 2 идентификации общего кодирования/независимого кодирования.
Входной видеосигнал 3 сначала разделяется на данные макроблоков, показанные на фиг.2 или 3, на основе информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования/независимого кодирования. В соответствии с информацией 4 указания только интра-кодирования процесс предсказания с интра-кодированием (блок 5 определения режима предсказания с интра-кодированием для компонента C0, блок 6 определения режима предсказания с интра-кодированием для компонентов C1/C2, блок 7 формирования изображения предсказания с интра-кодированием для компонента C0 и блок 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2) и процесс предсказания с компенсацией движения (блок 9 обнаружения движения для компонента C0, блок 10 обнаружения движения для компонентов C1/C2 10, блок 11 компенсации движения для компонента C0 и блок 12 компенсации движения для компонентов C1/C2) выполняются, чтобы выбрать наиболее эффективный для кодирования макроблока режим предсказания (блок 14 выбора режима кодирования), разность предсказания преобразовывается или квантуется (блок 18 кодирования разности предсказания для компонента C0, блок 19 кодирования разности предсказания для компонента C1 и блок 20 кодирования разности предсказания для компонента C2) и вспомогательная информация, такая как режим предсказания или информация о движении, и квантованный коэффициент преобразования кодируются с переменной длиной для формирования битового потока 30 (блок 27 кодирования с переменной длиной). Квантованный коэффициент преобразования локально декодируется (блок 24 локального декодирования для компонента C0, блок 25 локального декодирования для компонента C1 и блок 26 локального декодирования для компонента C2), и предсказанное изображение, полученное на основе вспомогательной информации, и данные опорного изображения суммируются для получения локального декодированного изображения. В случае необходимости выполняется фильтрация устранения блочности (блок 28 фильтра устранения блочности) для подавления искажения на границах блоков, сопровождающего квантование, и затем локальное декодированное изображение сохраняется в памяти 13 кадров и/или памяти 12 строк для использования в последующих процессах предсказания. Когда информация 4 указания только интра-кодирования указывает "выполнение только интра-кодирования", будет выполняться только процесс предсказания с интра-кодированием без выполнения процесса предсказания с компенсацией движения.
Далее будут подробно описаны признаки первого варианта воплощения настоящего изобретения, то есть процесс предсказания с интра-кодированием, процесс предсказания с компенсацией движения, процесс кодирования разности предсказания и процесс кодирования с переменной длиной (и полученная в результате конфигурация битового потока), которые выполняют переключение процессов на основе информации 1 идентификации формата цветности, информации 2 идентификации общего кодирования/независимого кодирования, информации 4 указания только интра-кодирования и т.п.
(1) Процесс предсказания с интра-кодированием
Процесс предсказания с интра-кодированием выполняется посредством блока 5 определения режима предсказания с интра-кодированием для компонента C0, блока 6 определения режима предсказания с интра-кодированием для компонентов C1/C2, блока 7 формирования изображения предсказания с интра-кодированием для компонента C0 и блока 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2, показанных на фиг.4.
В случае форматов цветности 4:2:0 и 4:2:2 для сигнала компонента Y режим 100 предсказания с интра-кодированием для компонента C0 определяется посредством блока 5 определения режима предсказания с интра-кодированием для компонента C0. В этом случае имеется три выбираемых типа режимов: режим предсказания с интра-кодированием с размером 4×4, режим предсказания с интра-кодированием с размером 8×8 и режим предсказания с интра-кодированием с размером 16×16. Для режима предсказания с интра-кодированием с размером 4×4 и режима предсказания с интра-кодированием с размером 8×8 макроблок разделяется на блоки с размером 4×4 пикселей или 8×8 пикселей, и пространственное предсказание с использованием близкого опорного пикселя выполняется для каждого блока, как показано на фиг.5. У этого способа предсказания имеется девять вариантов. Информация о том, какой из этих девяти способов использовался для выполнения предсказания, кодируется как один элемент вспомогательной информации в виде режима предсказания с интра-кодированием. Пиксели, заключенные в прямоугольник с размером 4×4 на фиг.5, являются пикселями, которые должны быть предсказаны, и пиксель, выделенный наклонной штриховкой, является опорным пикселем для формирования предсказанного изображения. Стрелка указывает направление, в котором опорный пиксель воздействует на предсказанное значение. В режиме 2 среднее значение опорных пикселей является предсказанным значением. Фиг.5 показывает пример блока с размером 4×4. Для блока с размером 8×8 пикселей определен аналогичный режим. Через пространственное предсказание, имеющее показанную выше направленность, может быть выполнено эффективное предсказание для структурной информации изображения, такого как контур предмета или шаблон текстуры.
Режим предсказания с интра-кодированием с размером 16×16 используется как режим выполнения предсказания с интра-кодированием для блоков с размером 16×16 без подразделения макроблоков (фиг.6). В этом случае могут быть выбраны четыре типа способов пространственного предсказания, показанные на фиг.6. Этот режим эффективен как режим с увеличением эффектов предсказания посредством малого количества вспомогательной информации для участка изображения, где изображение является однородным.
Для компонентов Cb и Cr посредством блока 6 определения режима предсказания с интра-кодированием для компонентов C1/C2 определяется режим 101 предсказания с интра-кодированием для компонентов C1/C2, отличающийся от компонента Y. (Режимы, соответствующие компонентам C1 и C2, являются режимами 101a и 101b соответственно. Следует отметить, что режимы 101a и 101b всегда равны по значению в случае форматов 4:2:0 и 4:2:2 и один из режимов 101a и 101b мультиплексируется в битовом потоке. Декодер устанавливает декодированные значения как режимы 101a и 101b.) Фиг.7 показывает режимы предсказания с интра-кодированием для компонентов Cb и Cr, которые могут быть выбраны в случае форматов цветности 4:2:0 и 4:2:2. Фиг.7 показывают случай формата 4:2:0, и те же самые режимы используются для формата 4:2:2. Из этих четырех режимов только для режима 0 эквивалентный участок макроблока для компонентов Cb и Cr (блок с размером 8Ч8 пикселей в случае формата 4:2:0 и блок с размером 8×16 пикселей в случае формата 4:2:2) разделяется на блоки с размером 4×4, и предсказывается среднее значение от сторон для блоков с размером 4×4. Например, для блока с размером 4×4 в верхней левой части усредняются все 8 пикселей участков "a" и "x" или усредняются 4 пикселя участков "a" или "x", и одно из этих средних значений используется в качестве предсказанного значения. Для режимов 1, 2 и 3, как в случае, показанном на фиг.5 и 6, выполняется пространственное предсказание, имеющее направленность. В случае форматов цветности 4:2:0 и 4:2:2 элементы структурной информации, такие как текстура изображения, интегрируются в компонент Y, в то время как для компонентов Cb и Cr, которые являются сигналами компонента цветности, не сохраняется никакая структурная информация изображения. В соответствии с этим эффективное предсказание выполняется посредством описанного выше простого режима предсказания.
В случае формата цветности 4:4:4 компоненты C0, C1 и C2 не установлены как компоненты Y, Cb или Cr, а информация о структуре изображения, эквивалентная компоненту Y, содержится в каждом цветовом компоненте в цветовом пространстве R, G, B. Таким образом, удовлетворительная эффективность предсказания не может быть получена посредством предсказания для компонентов Cb и Cr. Таким образом, в соответствии с устройством для кодирования первого варианта воплощения настоящего изобретения в случае формата цветности 4:4:4 для компонентов C0, C1 и C2 режим предсказания с интра-кодированием выбирается посредством процесса, эквивалентного блоку 5 выбора режима предсказания с интра-кодированием для компонента C0. Более определенно, если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", компоненты C0, C1 и C2 предсказываются только в одном общем режиме предсказания с интра-кодированием. С другой стороны, если информация идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", компоненты C0, C1 и C2 предсказываются в индивидуально полученных режимах предсказания с интра-кодированием. Другими словами, если формат цветности является форматом 4:4:4, и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", все компоненты C0, C1 и C2 подвергаются предсказанию с интра-кодированием в режиме 100 предсказания с интра-кодированием для компонента C0. Если формат цветности является форматом 4:4:4 и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", компоненты C1 и C2 подвергаются предсказанию с интра-кодированием в режимах 101a и 101b предсказания с интра-кодированием для компонентов C1 и C2, полученных независимо от компонента C0 из режима предсказания с интра-кодированием, соответствующего компоненту C0, показанного на фиг.5 или 6.
В соответствии с конфигурацией устройства для кодирования, показанного на фиг.4, если формат цветности является форматом 4:4:4, и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", режим предсказания определяется для компонента C0 посредством блока 5 определения режима предсказания с интра-кодированием для компонента C0, и режим предсказания для компонента C0 используется напрямую или в комбинации с блоком 6 определения режима предсказания с интра-кодированием для компонентов C1/C2 для определения только одного режима предсказания с интра-кодированием, оптимального для всех компонентов C0, C1 и C2. Если формат цветности является форматом 4:4:4 и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", режим предсказания определяется для компонента C0 посредством блока 5 определения режима предсказания с интра-кодированием для компонента C0, и оптимальные режимы предсказания с интра-кодированием определяются индивидуально для компонентов C1 и C2 посредством блока 6 определения режима предсказания с интра-кодированием для компонентов C1/C2.
Во всех процессах режима предсказания с интра-кодированием значение периферийного пикселя, который становится опорным пикселем, должно являться локальным декодированным изображением, не подвергнутым фильтрации устранения блочности. Таким образом, значение пикселя перед процессом фильтрации устранения блочности, полученное посредством суммирования сигнала 17b локально декодированной разности предсказания, который является выходной информацией блока 24 локального декодирования для компонента C0, блока 25 локального декодирования для компонента C1 и блока 26 локального декодирования для компонента C2, и предсказанного изображения 34, сохраняется в памяти 29 строк для использования для предсказания с интра-кодированием.
На основе режимов предсказания с интра-кодированием соответствующих цветовых компонентов, определенных через упомянутый выше процесс, предсказанные изображения формируются посредством блока 7 формирования изображения предсказания с интра-кодированием для компонента C0 и блока 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2. Для блока 7 формирования изображения предсказания с интра-кодированием для компонента C0 и блока 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2 используются общие с устройством для декодирования элементы, и, таким образом, подробное описание работы будет дано при описании устройства для декодирования.
(2) Процесс предсказания с компенсацией движения
Процесс предсказания с компенсацией движения выполняется посредством блока 9 обнаружения движения для компонента C0, блока 10 обнаружения движения для компонентов C1/C2, блока 11 компенсации движения для компонента C0 и блока 12 компенсации движения для компонентов C1/C2, показанных на фиг.4.
В случае форматов цветности 4:2:0 и 4:2:2 для сигнала компонента Y информация о движении определяется посредством блока 9 обнаружения движения для компонента C0. Информация о движении содержит индекс опорного изображения для указания, какое опорное изображение из данных опорных изображений, сохраненных в памяти 13 кадров, используется для предсказания, и вектор движения, применяемый к опорному изображению, обозначенному посредством индекса опорного изображения.
В блоке 9 обнаружения движения для компонента C0 опорное изображение выбирается из данных опорных изображений предсказания с компенсацией движения, сохраненных в памяти 13 кадров, для выполнения процесса предсказания с компенсацией движения по элементам макроблоков для компонента Y. В памяти 13 кадров сохраняется множество данных опорных изображений для непосредственно предшествующего времени или для множества прошедших/будущих моментов времени, и оптимальное опорное изображение выбирается среди этих данных по элементам макроблоков для выполнения предсказания движения. Имеется семь подготовленных типов размеров блока, которые становятся единичными элементами, для фактического выполнения предсказания с компенсацией движения. Во-первых, как показано на фиг.8A-8D, для макроблоков выбираются любые из размеров 16×16, 16×8, 8×16 и 8×8. Далее, когда выбран размер 8×8, для каждого блока с размером 8×8, как показано на фиг.8E-8H, выбирается любой из размеров 8×8, 8×4, 4×8 и 4×4. Для всех или некоторых размеров блока/размеров подблока на фиг.8A-8H, для вектора движения в пределах предопределенного диапазона поиска и для одного или более пригодных для использования опорных изображений выполняется процесс предсказания с компенсацией движения для каждого макроблока, чтобы получить информацию 102 о движении (вектор движения и индекс опорного изображения) для компонента Y. Для компонентов Cb и Cr используются тот же самый индекс опорного изображения, как и для компонента Y, и вектор движения для компонента Y, чтобы получить информацию 103 о движении для компонентов Cb/Cr (в частности, информация соответствует соотношению количества отсчетов для компонента Y и компонентов Cb и Cr и получается посредством масштабирования вектора движения компонента Y). Этот процесс выполняется посредством блока 10 обнаружения движения для компонентов C1/C2.
Следует отметить, что способы формирования подходящих претендентов для изображений предсказания с компенсацией движения, которые должны быть оценены посредством блока обнаружения движения, и предсказанных изображений, которые должны быть сформированы посредством блока компенсации движения, отличаются для компонента Y и компонентов Cb и Cr в следующем.
Для компонента Y создается не только пиксель (целочисленный пиксель) для позиции, фактически введенной в устройство для кодирования, но также и виртуальные пиксели для позиции 1/2 пикселя, которая является средней точкой между целочисленными пикселями, и пиксели для позиции 1/4 пикселя, которая является средней точкой между 1/2 пикселями, через процесс интерполяции для использования для формирования предсказанных изображений. Эта ситуация показана на фиг.9. На фиг.9, чтобы получить значение пикселя для позиции 1/2 пикселя, используются данные окружающих его 6 пикселей для выполнения фильтрации интерполяции, и, таким образом, получается значение пикселя. Чтобы получить значение пикселя для позиции 1/4 пикселя, используются 2 окружающих его пикселя для выполнения линейной интерполяции через процесс усреднения, и, таким образом, получается значение пикселя. Вектор движения представлен с использованием точности до 1/4 пикселя. С другой стороны, при формировании предсказанного изображения для компонентов Cb и Cr, как показано на фиг.10, значение пикселя для позиции пикселя, обозначенной вектором движения, полученным в результате масштабирования соответствующего вектора движения компонента Y, вычисляется из значений целочисленных пикселей его 4 соседей через процесс взвешенной линейной интерполяции в соответствии с расстоянием между пикселями.
В случае формата 4:4:4 информация о структуре изображения, эквивалентная компоненту Y, содержится в каждом цветовом компоненте в цветовом пространстве R, G, B, в то время как компоненты C0, C1 и C2 не установлены как компоненты Y, Cb или Cr. Таким образом, удовлетворительная эффективность предсказания не может быть получена посредством формирования предсказанного изображения для компонентов Cb и Cr. Таким образом, в соответствии с устройством для кодирования первого варианта воплощения в случае формата цветности 4:4:4 подходящий претендент для предсказанного изображения или предсказанное изображение формируются через процесс блока 9 обнаружения движения компонента C0 и блока 11 компенсации движения компонента C0 вместе с компонентами C0, C1 и C2 для получения информации о движении. Более определенно, если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", только общая информация 102 о движении получается для компонентов C0, C1 и C2. Процесс масштабирования не выполняется, когда вектор движения заданного цветового компонента применяется к другому компоненту, как в случае форматов 4:2:0 и 4:2:2. С другой стороны, если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", каждая информация о движении получается независимо для компонентов C0, C1 и C2. В соответствии с конфигурацией устройства для кодирования на фиг.4, если формат цветности является форматом 4:4:4 и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", информация 102 о движении компонента C0 определяется для компонента C0 посредством блока 9 обнаружения движения для компонента C0. Для компонентов C1 и C2 напрямую используется информация о движении для компонента C0, или в сочетании только один элемент информации 102 о движении, оптимальный для всех компонентов C0, C1 и C2, определяется посредством использования блока 10 обнаружения движения для компонентов C1/C2. Если формат цветности является форматом 4:4:4 и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", информация 102 о движении для компонента C0 определяется посредством блока 9 обнаружения движения для компонента C0. Для компонентов C1 и C2 определяются индивидуальные элементы оптимальной информации 103a и 103b о движении посредством блока 10 обнаружения движения для компонентов C1/C2.
На основе информации о движении, определенной для каждого цветового компонента через упомянутый выше процесс, предсказанные изображения формируются посредством блока 11 компенсации движения для компонента C0 и блока 12 компенсации движения для компонентов C1/C2. Поскольку для блока 11 компенсации движения для компонента C0 и блока 12 компенсации движения для компонентов C1/C2 используются общие с устройством для декодирования элементы, подробное описание работы будет дано при описании устройства для декодирования.
(3) Процесс кодирования разности предсказания
Оптимальный режим предсказания с интра-кодированием, полученный в результате процесса предсказания с интра-кодированием, и его предсказанное изображение, а также оптимальная информация о движении (вектор движения/индекс опорного изображения), полученная в результате процесса предсказания с компенсацией движения, и ее предсказанное изображение оцениваются посредством блока 14 выбора режима кодирования для выбора оптимального режима 15 кодирования. Если режим 15 кодирования является предсказанием с интра-кодированием, вычисляется разность между входным видеосигналом 3 и изображением предсказания с интра-кодированием посредством вычитателя 16 для получения сигнала 17a разности предсказания. Если режим 15 кодирования является предсказанием с компенсацией движения, вычисляется разность между входным видеосигналом 3 и изображением предсказания с компенсацией движения посредством вычитателя 16 для получения сигнала 17a разности предсказания.
Полученный сигнал 17a разности предсказания преобразовывается или квантуется посредством блока 18 кодирования разности предсказания для компонента C0, блока 19 кодирования разности предсказания для компонента C1 и блока 20 кодирования разности предсказания для компонента C2, чтобы сжать информацию. В блоке 19 кодирования разности предсказания для компонента C1 и блоке 20 кодирования разности предсказания для компонента C2 процесс для компонентов C1/C2 переключается в соответствии с информацией 1 идентификации формата цветности и информацией 2 идентификации общего кодирования/независимого кодирования.
Для компонента Y в случае форматов цветности 4:2:0 и 4:2:2 и компонента C0 в случае формата цветности 4:4:4 процессы кодирования разности предсказания на фиг.11 выполняются посредством блока 18 кодирования разности предсказания для компонента C0. Сначала в соответствии с процессом, если режим 15 кодирования является режимом предсказания с интра-кодированием с размером 8×8 или выбран режим для выполнения над сигналом 17a разности предсказания целочисленного преобразования по блокам с размером 8×8, выполняется целочисленное преобразование по блокам с размером 8×8, при котором макроблок разделяется на четыре части, и выполняется процесс квантования в соответствии с параметром 32 квантования для получения данных 21 коэффициентов квантования. Если режим 15 кодирования отличается от упомянутого выше, сначала выполняется целочисленное преобразование по блокам с размером 4×4. Затем, если режим 15 кодирования является режимом предсказания с интра-кодированием с размером 16×16, только DC-компоненты коэффициентов преобразования блоков с размером 4×4 объединяются для составления блоков с размером 4×4, и выполняется преобразование Адамара. Для DC-компонента квантование выполняется для коэффициента преобразования Адамара в соответствии с параметром 32 квантования, и процессы квантования выполняются индивидуально для 15 AC-компонентов оставшихся блоков с размером 4×4. Если режим 15 кодирования не является режимом предсказания с интра-кодированием с размером 16×16, процесс квантования выполняется одновременно для 16 коэффициентов преобразования в соответствии с параметром 32 квантования.
Для компонента Cb в случае форматов цветности 4:2:0 и 4:2:2 и для компонента C1 в случае формата цветности 4:4:4 процесс кодирования разности предсказания выполняется посредством блока 19 кодирования разности предсказания для компонента C1. В этом случае, поскольку кодирование разности предсказания выполняется через процессы, показанные на фиг.12, когда форматы цветности являются форматами 4:2:0 и 4:2:2, и через процессы, показанные на фиг.11, когда формат цветности является форматом 4:4:4, ниже будет описан только процесс в случае форматов цветности 4:2:0 и 4:2:2. В соответствии с этим процессом независимо от режима 15 кодирования сигнал компонента Cb макроблока разделяется на блоки с размером 4×4 для выполнения целочисленного преобразования, и процесс квантования выполняется в соответствии с параметром 32 квантования для получения данных 22 коэффициентов квантования. Сначала выполняется целочисленное преобразование по блокам с размером 4×4, и затем DC-компоненты блоков с размером 4×4 объединяются для составления блоков с размером 2×2 (при формате цветности 4:2:0) или блоков с размером 2×4 (при формате цветности 4:2:2), и, таким образом, выполняется преобразование Адамара. Для DC-компонента квантование выполняется для коэффициента преобразования Адамара в соответствии с параметром 32 квантования, и процесс квантования выполняется индивидуально для 15 AC-компонентов оставшихся блоков с размером 4×4 в соответствии с параметром 32 квантования.
Для компонента Cr в случае форматов цветности 4:2:0 и 4:2:2 и для компонента C2 в случае формата цветности 4:4:4 процесс кодирования разности предсказания выполняется посредством блока 20 кодирования разности предсказания для компонента C2. В этом случае кодирование разности предсказания выполняется через процессы, показанные на фиг.12, когда форматы цветности являются форматами 4:2:0 и 4:2:2, и через процессы, показанные на фиг.11, когда формат цветности является форматом 4:4:4, для получения на выходе данных 23 коэффициентов квантования.
Для каждого цветового компонента в результате квантования определяется информации шаблона закодированного блока (CBP), показывающая, имеется ли допустимый (отличный от нуля) коэффициент в блоках с размером 8x8, и снова мультиплексируется как один элемент информации элемента макроблока в битовом потоке. Определение шаблона закодированного блока (CBP) зависит от информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования/независимого кодирования, и подробности будут описаны при описании устройства для декодирования.
(4) Процесс кодирования с переменной длиной
В качестве элементов информации заголовка на уровне последовательности информация 1 идентификации формата цветности, информация 2 идентификации общего кодирования/независимого кодирования, информация 4 указания только интра-кодирования и информация 31 о размере изображения подаются на вход блока 27 кодирования с переменной длиной. Когда информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", на вход подается информация идентификации цветового компонента, указывающая, какому цветовому компоненту принадлежит кодируемое в настоящий момент изображение, и на основе информации к началу кодируемой в настоящий момент секции добавляется флаг 33 идентификации цветового компонента. В соответствии с этим на стороне устройства для декодирования можно определить, закодированные данные какого цветового компонента содержит принятая секция. В качестве закодированных данных уровня макроблока режим 15 кодирования, режим 100/101 предсказания с интра-кодированием, информация 102/103 о движении, параметр 32 квантования, информация 104 указания размера преобразованного блока и данные 21/22/23 коэффициентов квантования подаются на вход и подвергаются статистическому кодированию с помощью кодирования по алгоритму Хаффмана или арифметического кодирования для мультиплексирования в битовом потоке 30. Битовый поток 30 формируется в виде пакетов из элементов данных секции, в которых собраны один или множество макроблоков (в кодировании AVC это также называется пакетизацией уровня NAL), для выдачи на выходе.
Фиг.13 показывает весь битовый поток 30. Информация 1 идентификации формата цветности, информация 2 идентификации общего кодирования/независимого кодирования, информация 4 указания только интра-кодирования и информация 31 о размере изображения мультиплексированы в наборе параметров последовательности (SPS), который представляет собой информацию заголовка уровня последовательности. Поскольку информация 2 идентификации общего кодирования/независимого кодирования необходима только тогда, когда формат цветности является форматом 4:4:4, она мультиплексируется только тогда, когда информация 1 идентификации формата цветности указывает формат 4:4:4. Начальное значение параметра 32 квантования, используемое в начале изображения, мультиплексируется в наборе параметров изображения (PPS), который представляет собой информацию заголовка уровня изображения. Закодированные данные изображения мультиплексированы в секции или более малом элементе, и форматы данных изменяются, как показано на фиг.14 и 15A и 15B, в соответствии со значением информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования/независимого кодирования.
Когда информация 1 идентификации формата цветности указывает, что форматы цветности являются форматами 4:2:0 и 4:2:2, получается структура секции, показанная на фиг.14. На фиг.14 SH - это заголовок секции, MB - данные кодирования макроблока, MBH - заголовок макроблока и Tx - данные коэффициентов квантования для компонента x. В этом случае в конфигурации, показанной на фиг.2, секция содержит данные кодирования макроблока, состоящие из пикселей компонентов Y, Cb и Cr в соответствии с соотношением количества отсчетов для формата цветности, заголовок MBH содержит тип макроблока, эквивалентный режиму 15 кодирования. Если тип макроблока указывает режим предсказания с интра-кодированием, то содержатся режим 100 предсказания с интра-кодированием для компонента C0, то есть для компонента Y, общий режим 101 предсказания с интра-кодированием для компонентов C1 и C2, то есть для компонентов Cb и Cr, и параметр 32 квантования, используемый для квантования/обратного квантования данных коэффициентов квантования. Если тип макроблока указывает режим предсказания с компенсацией движения (интер-кодирование), то содержится информация 102 о движении (вектор движения и индекс опорного изображения) для компонента C0, то есть для компонента Y, и параметр 32 квантования, используемый для квантования/обратного квантования данных коэффициентов квантования.
Когда информация 1 идентификации формата цветности указывает, что формат цветности является форматом 4:4:4, получается структура секции, показанная на фиг.15A и 15B, в соответствии со значением информации 2 идентификации общего кодирования/независимого кодирования. Если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования" (фиг.15A), в конфигурации, показанной на фиг.2, секция содержит данные кодирования макроблока, состоящие из пикселей компонентов C0, C1 и C2 в соответствии с соотношением количества отсчетов для формата цветности, и заголовок MBH содержит тип макроблока, эквивалентный режиму 15 кодирования. Если тип макроблока указывает режим предсказания с интра-кодированием, то содержатся режим 100 предсказания с интра-кодированием, общий для всех компонентов C0, C1 и C2, и параметр 32 квантования, используемый для квантования/обратного квантования данных коэффициентов квантования. Если тип макроблока указывает режим предсказания с компенсацией движения (интер-кодирование), то содержатся информация 103 о движении (вектор движения и индекс опорного изображения), общая для всех компонентов C0, C1 и C2, и параметр 32 квантования, используемый для квантования/обратного квантования данных коэффициентов квантования.
Если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования" (фиг.15B), в конфигурации, показанной на фиг.3, секция содержит данные кодирования макроблока, состоящие из пикселей одного цветового компонента (k) из цветовых компонентов C0, C1 и C2. В качестве информации, указывающей, каким из цветовых компонентов C0, C1 и C2 является компонент Ck, к началу секции добавляется флаг 33 идентификации цветового компонента. Заголовок MBH содержит тип макроблока, эквивалентный режиму 15 кодирования. Если тип макроблока указывает режим предсказания с интра-кодированием, то содержатся режим 100 предсказания с интра-кодированием для компонента Ck и параметр 32 квантования, используемый для квантования/обратного квантования данных коэффициентов квантования. Если тип макроблока указывает режим предсказания с компенсацией движения (интер-кодирование), то содержатся информация 102 о движении (вектор движения и индекс опорного изображения) для компонента Ck и параметр 32 квантования, используемый для квантования/обратного квантования данных коэффициентов квантования.
Хотя это не показано, в случае необходимости может быть вставлено уникальное слово (разделитель элементов доступа кодирования AVC, начальный код изображения в стандарте MPEG-2 или начальный код плоскости видеообъекта (VOP) в стандарте MPEG-4), указывающее разрыв между элементами доступа (одним изображением, когда форматы цветности являются форматами 4:2:0 и 4:2:2 или выполняется процесс общего кодирования, и тремя изображениями, когда выполняется процесс независимого кодирования).
При конфигурации битового потока, даже когда для блоков закодированы множество различных форматов цветности, таких как 4:2:0, 4:2:2 и 4:4:4, способ для обнаружения/формирования закодированного режима предсказания или информация о движении и семантика закодированных данных могут быть сделаны общими. Таким образом, конфигурация устройства для кодирования может быть сделана эффективной. Кроме того, поскольку закодированные видеоданные множества различных форматов цветности, таких как 4:2:0, 4:2:2 и 4:4:4, могут быть представлены битовым потоком единого формата, битовый поток 30, выводимый из устройства для кодирования первого варианта воплощения, может удовлетворить высокой взаимной совместимости в системе передачи/записи для обработки множества различных форматов цветности.
Устройство для кодирования на фиг.4 выполнено с возможностью управлять процессом кодирования на основе информации 4 указания только интра-кодирования. Информация 4 указания только интра-кодирования представляет собой сигнал для указания, следует ли выполнять процесс предсказания с направлением во времени на основе предсказания с компенсацией движения посредством устройства для кодирования. Если сигнал указывает "только интра-кодирование", для всех изображений входного видеосигнала 3 выполняется закрытое в пределах кадра кодирование (кодирование предсказания только с интра-кодированием) без выполнения предсказания с направлением во времени, основанного на предсказании с компенсацией движения. Одновременно отключается фильтр устранения блочности в блоке кодирования изображения. Если информация 4 указания только интра-кодирования указывает "не только интра-кодирование", для изображений входного видеосигнала 3 выполняется кодирование с использованием всех корреляций в кадре и между кадрами посредством использования также предсказания с направлением во времени, основанного на предсказании с компенсацией движения. Информация 4 указания только интра-кодирования добавляется к набору параметров последовательности, который будет мультиплексирован в битовом потоке 30 посредством блока 27 кодирования с переменной длиной. В соответствии с этим устройство для декодирования, которое принимает битовый поток 30, может распознать только интра-кодирование битового потока 30 посредством декодирования информации 4 указания только интра-кодирования из набора параметров последовательности и проверки ее значения. Таким образом, если было применено только интра-кодирование, количество вычислений устройства для декодирования может быть уменьшено без выполнения процесса фильтрации устранения блочности. Если информация 4 указания только интра-кодирования указывает "только интра-кодирование", предсказание с компенсацией движения не выполняется, и, таким образом, опорное изображение не записывается в память 13 кадров. При такой конфигурации уменьшается доступ к памяти.
Устройство для кодирования также выполнено с возможностью управлять процессом кодирования на основе информации 31 размера кадра входного видеосигнала 3. Информация 31 о размере кадра указывает количество макроблоков в изображении входного видеосигнала 3. Если это значение превышает предопределенное пороговое значение, устанавливается верхний предел количества макроблоков, включенных в секцию, и выполняется проверка, чтобы не включать в секцию больше макроблоков. В частности, информация 31 о размере кадра подается на вход блока 27 кодирования с переменной длиной. Блок 27 кодирования с переменной длиной устанавливает значение верхнего предела для количества макроблоков, включенных в секцию, на основе информации 31 о размере кадра. Блок 27 кодирования с переменной длиной заранее подсчитывает количество закодированных макроблоков и закрывает пакет данных секции, чтобы формировать последующие макроблоки в пакет как данные новой секции, когда количество макроблоков, включенных в секцию, достигает значения верхнего предела. Информация 31 о размере кадра добавляется к набору параметров последовательности, который будет мультиплексирован в битовом потоке 30 посредством блока 27 кодирования с переменной длиной. В соответствии с этим, когда размер кадра входного видеосигнала 3 является большим (высокое пространственное разрешение), устройство для кодирования и устройство для декодирования могут определять элементы, которые будут обрабатываться параллельно и выполнять равномерное распределение задач.
Устройство для декодирования
Фиг.16 показывает конфигурацию устройства для декодирования в соответствии с первым вариантом воплощения. Устройство для декодирования на фиг.16 выполнено с возможностью принимать битовый поток 30 и переключать внутренний процесс декодирования на основе информации 1 идентификации формата цветности, содержащейся в битовом потоке, и декодирует закодированные данные множества различных форматов цветности.
Входной битовый поток 30 сначала подвергается процессу декодирования с переменной длиной (блок 200 декодирования с переменной длиной), и информация 1 идентификации формата цветности, информация 2 идентификации общего кодирования/независимого кодирования, информация 4 указания только интра-кодирования и информация 31 о размере кадра декодируются как элементы информации старшего заголовка, которые будут сохраняться во время декодирования последовательности. Затем данные каждого макроблока декодируются на основе структур секций, показанных на фиг.14 и 15A и 15B, определяемых посредством информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования/независимого кодирования, и структуры макроблока, показанной на фиг.2 или 3. При декодировании макроблоков сначала в соответствии с декодированным режимом 15 кодирования выполняются процесс формирования изображения предсказания с интра-кодированием (блок 7 формирования изображения предсказания с интра-кодированием для компонента C0 и блок 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2) и процесс компенсации движения (блок 11 компенсации движения для компонента C0 и блок 12 компенсации движения для компонентов C1/C2), чтобы сформировать предсказанное изображение макроблока. Процесс обратного квантования/обратного целочисленного преобразования выполняется для данных коэффициентов квантования, декодированных как части закодированных данных макроблока, для декодирования сигнала 17b разности предсказания (блок 24 декодирования разности предсказания для компонента C0, блок 25 декодирования разности предсказания для компонента C1 и блок 26 декодирования разности предсказания для компонента C2). Затем предсказанное изображение 34 и сигнал 17b разности предсказания суммируются вместе для получения временного декодированного изображения. При необходимости выполняется фильтрация устранения блочности (блок 28 фильтра устранения блочности) для подавления искажения на границах блоков, сопровождающего квантование, и затем декодированное изображение сохраняется в памяти 201 кадров и/или памяти 202 строк для использования для последующих процессов формирования предсказанных изображений. Когда информация 4 указания только интра-кодирования указывает "выполнение только интра-кодирования", выполняется процесс формирования изображения предсказания только с интра-кодированием без выполнения процесса компенсации движения.
Далее будут подробно описаны процесс декодирования с переменной длиной, процесс формирования изображения предсказания с интра-кодированием, процесс компенсации движения и процесс декодирования разности предсказания, переключаемые на основе информации 1 идентификации формата цветности, информации 2 идентификации общего кодирования/независимого кодирования и информации 4 указания только интра-кодирования, которые являются признаками первого варианта воплощения.
(1) Процесс декодирования с переменной длиной
Битовый поток 30 подается на вход блока 200 декодирования с переменной длиной, и анализируется старший заголовок, такой как набор параметров последовательности или набор параметров изображения на фиг.13. Через этот процесс декодируются информация 1 идентификации формата цветности, информация 2 идентификации общего кодирования/независимого кодирования, информация 4 указания только интра-кодирования и информация 31 о размере изображения. Информация 2 идентификации общего кодирования/независимого кодирования извлекается из битового потока 30 только тогда, когда информация 1 идентификации формата цветности указывает формат цветности 4:4:4. Эти параметры сохраняются во внутренней памяти блока 200 декодирования с переменной длиной во время декодирования последовательности.
Затем декодируется элемент уровня NAL секции. Сначала, только когда информация 1 идентификации формата цветности указывает формат цветности 4:4:4 и информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс независимого кодирования", декодируется флаг 33 идентификации цветового компонента для распознавания, закодированные данные какого цветового компонента содержит текущая секция. Затем декодируется заголовок секции, и процесс переходит к декодированию закодированных данных макроблока, принадлежащих секции.
Со ссылкой на фиг.17 будет описан массив кодированных данных макроблока и последовательность процесса анализа/декодирования. Декодирование макроблока выполняется следующим образом.
(a) Сначала, как показано на фиг.14 и 15A и 15B, декодируется тип макроблока (переменная mb_type на фиг.17), эквивалентный режиму 15 кодирования.
(b) В переключателе SW1 оценивается переменная mb_type. Если переменная mb_type указывает режим PCM (режим прямого мультиплексирования значения пикселя в битовом потоке без сжатия), несжатые данные, эквивалентные количеству пикселей в макроблоке, извлекаются непосредственно из битового потока, и процесс декодирования макроблока заканчивается.
(c) В переключателе SW1 переменная mb_type не указывает режим PCM. В переключателе SW2 оценивается, указывает ли переменная mb_type режим выполнения предсказания с компенсацией движения на основе размера блока, равного или меньшего чем 8×8, декодируется тип субмакроблока (sub_mb_type), равный или меньше чем 8×8, и декодируется информация о движении (вектор движения/индекс опорного изображения) каждого подблока. Далее переход к переключателю SW4.
(d) В переключателе SW2 переменная mb_type не удовлетворяет условиям пункта (c). В переключателе SW3 оценивается переменная mb_type. Если блоки с размером 8×8 могут быть выбраны как размер блока преобразования сигнала 17b разности предсказания в режиме интер-кодирования, декодируется информация 104 указания размера преобразованного блока, и декодируется информация о движении. В случае декодирования информации о движении декодирование выполняется следующим образом на основе информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования/независимого кодирования. Далее переход к переключателю SW4.
(1) Когда формат цветности является форматом 4:2:0 или 4:2:2, информация о движении, которая должна быть декодирована, декодируется как информация 102 о движении для компонента C0.
(2) Когда формат цветности является форматом 4:4:4 и процесс является процессом общего кодирования, информация о движении, которая должна быть декодирована, декодируется как элементы информации 102 и 103 о движения, используемые совместно для компонентов C0, C1 и C2.
(3) Когда формат цветности является форматом 4:4:4 и процесс является процессом независимого кодирования, информация о движении, которая должна быть декодирована, декодируется как информация о движении, используемая для компонента Ck, обозначенного посредством флага 33 идентификации цветового компонента.
(e) В переключателе SW2 переменная mb_type не удовлетворяет условиям пункта (c). В переключателе SW3 оценивается переменная mb_type. Если режим является режимом предсказания с интра-кодированием с размером 4×4 или 8×8, определяется информация режима предсказания с интра-кодированием. В случае декодирования информации режима предсказания с интра-кодированием декодирование выполняется следующим образом на основе информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования/независимого кодирования. Далее переход к переключателю SW4.
(1) Когда формат цветности является форматом 4:2:0 или 4:2:2, режим 100 предсказания с интра-кодированием для компонента C0, определенный по элементам блоков с размером 4×4 или 8×8, декодируется для компонента Y, и независимо закодированный режим 101 предсказания с интра-кодированием для компонентов C1/C2 декодируется для компонентов Cb/Cr.
(2) Когда формат цветности является форматом 4:4:4 и процесс является процессом общего кодирования, информация режима предсказания с интра-кодированием, которая должна быть декодирована, декодируется как элементы информации 100 и 101 режима предсказания с интра-кодированием, используемые совместно для компонентов C0, C1 и C2.
(3) Когда формат цветности является форматом 4:4:4 и процесс является процессом независимого кодирования, информация режима предсказания с интра-кодированием, которая должна быть декодирована, декодируется как информация режима предсказания с интра-кодированием, используемая для компонента Ck, обозначенного посредством флага 33 идентификации цветового компонента.
(f) В переключателе SW3 переменная mb_type не удовлетворяет условиям пунктов (d) или (e). В переключателе SW4 оценивается переменная mb_type. Если режим является режимом предсказания с интра-кодированием с размером 16×16, декодируется режим предсказания с интра-кодированием с размером 16×16, включенный в переменную mb_type. Затем, если информация 1 идентификации формата цветности указывает формат цветности 4:2:0 или 4:2:2, в соответствии с подпунктом (1) пункта (e) декодируется режим 101 предсказания с интра-кодированием для компонентов C1/C2, независимый от компонента Y. Затем декодируется параметр квантования.
(g) Если переменная mb_type не удовлетворяет условиям пункта (f) в переключателе SW4, декодируется шаблон закодированного блока (CBP). На основе значения шаблона закодированного блока (CBP) результаты декодирования данных коэффициентов квантования все устанавливаются в значение 0 для блоков с размером 8×8, указывая, что все коэффициенты равны 0. Если шаблон закодированного блока (CBP) указывает, что имеется допустимый коэффициент в одном из блоков с размером 8×8 в макроблоке (переключатель SW5), то декодируется параметр квантования. Если информация 1 идентификации формата цветности указывает формат цветности 4:2:0 или 4:2:2, шаблон закодированного блока (CBP), который должен быть декодирован, декодируется как информация для определения присутствия данных допустимых коэффициентов для четырех блоков с размером 8×8 для компонентов яркости и блоков с размером 8×8 для N (N=2 для формата 4:2:0, N=4 для формата 4:2:2) компонентов цветности. Если информация 1 идентификации формата цветности указывает формат цветности 4:4:4 и если информация 2 идентификации общего кодирования/независимого кодирования указывает "общее кодирование", шаблон закодированного блока (CBP) декодируется как информация для определения, имеется ли допустимый коэффициент в одном из блоков с размером 8×8 в одном и том же пространстве компонентов C0, C1 и C2 для четырех блоков с размером 8×8. Если информация 2 идентификации общего кодирования/независимого кодирования указывает "независимое кодирование", шаблон закодированного блока (CBP) декодируется для каждого компонента C0, C1 и C2 как информация того же самого определения, как для компонента яркости, когда формат цветности является форматом 4:2:0 или 4:2:2.
(h) Данные коэффициентов квантования декодируются для макроблока, параметр квантования которого был декодирован. В этом случае данные Tx коэффициентов квантования декодируются в соответствии со структурами данных секции и макроблока, показанными на фиг.14 и 15A и 15B, определенными на основе информации 1 идентификации формата цветности и информации 2 идентификации общего кодирования / независимого кодирования.
(2) Процесс формирования изображения предсказания с интра-кодированием
Процесс формирования изображения предсказания с интра-кодированием выполняется посредством блока 7 формирования изображения предсказания с интра-кодированием для компонента C0 и блока 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2, показанных на фиг.16. Эти блоки являются общими с устройством кодирования, показанным на фиг.4.
В случае форматов цветности 4:2:0 и 4:2:2 для сигнала компонента Y предсказанное изображение формируется на основе режима 100 предсказания с интра-кодированием для компонента C0, предоставленного от блока 200 декодирования с переменной длиной, посредством блока 7 формирования изображения с интра-кодированием для компонента C0. Для режима 100 предсказания с интра-кодированием для компонента C0 имеется три выбираемых типа режимов: режим предсказания с интра-кодированием с размером 4×4, режим предсказания с интра-кодированием с размером 8×8 и режим предсказания с интра-кодированием с размером 16×16. Для режима предсказания с интра-кодированием с размером 4×4 и режима предсказания с интра-кодированием с размером 8×8 макроблок разделяется на блоки с размером 4×4 пикселя или 8×8 пикселей, и для каждого блока выполняется пространственное предсказание с использованием ближнего опорного пикселя, как показано на фиг.5, для формирования предсказанного изображения. У этого способа формирования предсказанного изображения имеется девять вариантов. Информация о том, какой из этих девяти способов использован для формирования предсказанного изображения, представляется в виде режима 100 предсказания с интра-кодированием для компонента C0 для блока 7 формирования изображения предсказания с интра-кодированием для компонента C0. Фиг.5 показывают пример блока с размером 4×4. Для блока с размером 8×8 пикселей определяется аналогичный режим. Эффекты способа пространственного предсказания, имеющего такую направленность, описаны выше.
Имеется режим предсказания с интра-кодированием с размером 16×16 как режим выполнения предсказания с интра-кодированием для блоков с размером 16×16, не разделенных на какие-либо макроблоки (фиг.6). В этом случае способ формирования предсказанного изображения выбирается из четырех типов способов пространственного предсказания, показанных на фиг.6. Эффекты этого режима пространственного предсказания описаны выше.
Для компонентов Cb и Cr посредством блока 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2 формируется изображение предсказания с интра-кодированием независимо от компонента Y. Фиг.18 показывает внутреннюю конфигурацию блока 8 формирования изображения предсказания с интра-кодированием для компонентов C1/C2 первого варианта воплощения. Если информация 1 идентификации формата цветности указывает формат цветности 4:2:0 или 4:2:2, режим 101 предсказания с интра-кодированием для компонентов C1/C2 указывает один из четырех типов режимов, показанных на фиг.7. На основе количества блоков цели формирования изображения предсказания процесс выполняет переход к блоку 8a формирования изображения предсказания с интра-кодированием для компонентов Cb/Cr в формате 4:2:0 или к блоку 8b формирования изображения предсказания с интра-кодированием для компонентов Cb/Cr в формате 4:2:2 в соответствии с форматом цветности. В случае формата цветности 4:4:4, поскольку режим 101 предсказания с интра-кодированием для компонентов C1/C2 имеет точно такое же определение, как режим предсказания с интра-кодированием для компонента C0, для обработки компонента Y процесс переходит к блоку 8c формирования изображения предсказания с интра-кодированием для компонента Y. Блок 8c формирования изображения предсказания с интра-кодированием для компонента Y может быть сконфигурирован посредством использования существенно тех же самых элементов, как у блока 7 формирования изображения предсказания с интра-кодированием для компонента C0. Однако отличие состоит в том, что формирование предсказанного изображения выполняется для обоих компонентов C1 и C2, если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", и формирование предсказанного изображения выполняется для режима (101a или 101b) предсказания с интра-кодированием, соответствующего только компоненту Ck, обозначенному посредством флага 33 идентификации цветового компонента, в случае "процесса независимого кодирования".
Во всех процессах формирования изображения предсказания с интра-кодированием значение периферийного пикселя, который становится опорным пикселем, должно являться декодированным изображением, не подвергнутым фильтрации устранения блочности. Таким образом, значение пикселя перед процессом фильтрации устранения блочности, полученное посредством суммирования декодированного сигнала 17b разности предсказания, который является выходной информацией блока 24 декодирования разности предсказания для компонента C0, блока 25 декодирования разности предсказания для компонента C1 и блока 26 декодирования разности предсказания для компонента C2, и предсказанного изображения 34, сохраняется в памяти 202 строк для использования для формирования изображения предсказания с интра-кодированием.
(3) Процесс компенсации движения
Процесс компенсации движения выполняется посредством блока 11 компенсации движения для компонента C0 и блока 12 компенсации движения для компонентов C1/C2, показанных на фиг.16. Эти блоки являются общими с устройством для кодирования, показанным на фиг.4.
В случае форматов цветности 4:2:0 и 4:2:2 сигнал компонента Y формируется посредством блока 11 компенсации движения для компонента C0 на основе информации 102 о движении для компонента Y, декодированной как часть закодированных данных макроблока. Информация о движении содержит индекс опорного изображения, указывающий, какое опорное изображение используется из данных одного или более опорных изображений, сохраненных в памяти 201 кадров, и вектор движения, примененный к опорному изображению, обозначенному посредством индекса опорного изображения.
Информация 102 о движении для компонента Y декодируется в соответствии с семью типами размеров блока, которые становятся единичными элементами предсказания с компенсацией движения, показанными на фиг.8A-8H. То, какой из размеров блока на фиг.8A-8H использован для выполнения компенсации движения, определяется посредством режима 15 кодирования и подтипом макроблока (sub_mb_type), описанных при описании процесса декодирования с переменной длиной. Информация 102 о движении для компонента Y выделяется для блока, который становится единичным элементом компенсации движения, и вектор движения применяется к опорному изображению, обозначенному посредством индекса опорного изображения из памяти 201 кадров, для получения предсказанного изображения. Для компонентов Cb и Cr, как показано на фиг.17, в блоке 200 декодирования с переменной длиной выделяется тот же самый индекс опорного изображения, как для компонента Y, и вектор движения для компонента Y используется для получения информации 103 о движении для компонентов Cb/Cr (в частности, получаемой посредством масштабирования вектора движения для компонента Y с помощью соотношения количества отсчетов для компонентов Y, Cb и Cr).
Как описано выше с помощью фиг.9 и 10, способ формирования предсказанного изображения в блоке компенсации движения различается между компонентом Y и компонентами Cb/Cr. Процесс компенсации движения для компонентов Cb/Cr выполняется посредством блока 12 компенсации движения для компонентов C1/C2.
Фиг.19 показывает внутреннюю конфигурацию блока 12 компенсации движения для компонентов C1/C2 первого варианта воплощения. Если информация 1 идентификации формата цветности указывает формат цветности 4:2:0 или 4:2:2, информация 103 о движении для компонентов Cb/Cr формируется посредством блока 200 декодирования с переменной длиной на основе информации 102 о движении для компонента C0, то есть компонента Y, как описано выше, для подачи на вход блока 12 компенсации движения для компонентов C1/C2. На основе количества блоков цели формирования предсказанного изображения процесс выполняет переход к блоку 12a компенсации движения для компонентов Cb/Cr в формате 4:2:0 или к блоку 12b компенсации движения для компонентов Cb/Cr в формате 4:2:2 в соответствии с форматом цветности. В случае формата цветности 4:4:4, поскольку информация 103 компенсации движения для компонентов Cb/Cr имеет точно такое же определение, как информация 102 компенсации движения для компонента Y, для обработки компонента Y процесс переходит к блоку 12c компенсации движения для компонента Y. Блок 12c компенсации движения для компонента Y может быть сконфигурирован посредством использования существенно тех же самых элементов, как у блока 11 компенсации движения для компонента C0. Однако отличие состоит в том, что формирование предсказанного изображения выполняется для обоих компонентов C1 и C2, если информация 2 идентификации общего кодирования/независимого кодирования указывает "процесс общего кодирования", и формирование предсказанного изображения выполняется для информации (103a или 103b) о движении, соответствующей только компоненту Ck, обозначенному посредством флага 33 идентификации цветового компонента, в случае "процесса независимого кодирования”.
(4) Процесс декодирования разности предсказания
Процесс декодирования разности предсказания выполняется посредством блока 24 декодирования разности предсказания для компонента C0, блока 25 декодирования разности предсказания для компонента C1 и блока 26 декодирования разности предсказания для компонента C2, показанных на фиг.16. Они являются общими с блоком 24 локального декодирования для компонента C0, блоком 25 локального декодирования для компонента C1 и блоком 26 локального декодирования для компонента C2 из устройства для кодирования, показанного на фиг.4.
Процесс декодирования разности предсказания представляет собой процесс для восстановления сигнала 17b разности предсказания посредством выполнения обратного квантования/обратного преобразования для данных 21-23 коэффициентов квантования компонентов C0-C2 для каждого макроблока, выдаваемого из блока 200 декодирования с переменной длиной. В блоке 25 локального декодирования для компонента C1 и блоке 26 локального декодирования для компонента C2 процесс для компонентов C1/C2 переключается в соответствии с информацией 1 идентификации формата цветности и информацией 2 идентификации общего кодирования/независимого кодирования.
Для компонента Y в случае форматов цветности 4:2:0 и 4:2:2 и для компонента C0 в случае формата цветности 4:4:4 процесс декодирования разности предсказания, показанный на фиг.20, выполняется посредством блока 24 декодирования разности предсказания для компонента C0. Сначала в соответствии с процессом, если режим 15 кодирования является режимом предсказания с интра-кодированием с размером 8×8 или информация 104 указания размера преобразованного блока указывает целочисленное преобразование по блокам с размером 8×8, данные 21 коэффициентов квантования обрабатываются по блокам с размером 8×8, где макроблок разделяется на четыре части. После того как обратный процесс квантования выполнен в соответствии с параметром 32 квантования по блокам с размером 8×8, выполняется обратное целочисленное преобразование по блокам с размером 8×8 для получения восстановленного значения 17b сигнала 17a разности предсказания.
Если режим 15 кодирования отличается от упомянутого выше, процесс переключается на основе того, является ли режим 15 кодирования режимом предсказания с интра-кодированием с размером 16×16. В случае режима предсказания с интра-кодированием с размером 16×16 сначала выполняется обратный процесс квантования для коэффициента преобразования только DC-компонентов коэффициентов преобразования блоков с размером 4×4 из данных 21 коэффициентов квантования в соответствии с параметром 32 квантования и затем выполняется обратное преобразование Адамара с размером 4×4. В соответствии с этим получается восстановленное значение DC-компонента блоков с размером 4×4 макроблока. Также выполняется обратное квантование для оставшихся 15 AC-коэффициентов в соответствии с параметром 32 квантования, и коэффициенты обратного квантования единичного элемента блока с размером 4×4 могут быть получены при комбинации с полученным DC-компонентом. Наконец, посредством выполнения над ними обратного целочисленного преобразования с размером 4×4 восстанавливается сигнал 17b разности предсказания.
Если режим 15 кодирования не является режимом предсказания с интра-кодированием с размером 16×16, обратное квантование/обратное целочисленное преобразование выполняется для каждого блока с размером 4×4 для восстановления сигнала 17b разности предсказания.
Для компонентов Cb и Cr в случае форматов цветности 4:2:0 и 4:2:2 и для C1 и C2 в случае формата цветности 4:4:4 процессы декодирования разности предсказания выполняются в блоке 25 декодирования разности предсказания для компонента C1 и блоке 26 декодирования разности предсказания для компонента C2.
Для компонентов Cb и Cr в случае форматов цветности 4:2:0 и 4:2:2 процесс декодирования разности предсказания выполняется на основе последовательности, показанной на фиг.21A и 21B. Различие между форматами 4:2:0 и 4:2:2 состоит в том, является ли размер единичного элемента для выполнения преобразования Адамара блоком 2×2 или блоком 2×4. Сначала собираются только DC-компоненты коэффициента преобразования блоков с размером 4×4 для составления блока, который будет подвергнут обратному преобразованию Адамара, и обратное преобразование Адамара выполняется после обратного квантования. Для оставшихся 15 AC-компонентов обратное квантование выполняется индивидуально, и обратное целочисленное преобразование с размером 4×4 выполняется после комбинации с DC-компонентами. Таким образом, восстанавливается сигнал 17b разности предсказания.
Фиг.22 показывает внутренние конфигурации блока 25 декодирования разности предсказания для компонента C1 и блока 26 декодирования разности предсказания для компонента C2. Процессы для компонентов Cb и Cr в случае форматов цветности 4:2:0 и 4:2:2 описаны отдельно на фиг.22 как блок 25a декодирования разности предсказания для компонентов Cb или Cr в формате 4:2:0 и блок 25b декодирования разности предсказания для компонентов Cb или Cr в формате 4:2:2, но различие в сущности обработки описано выше. В случае формата цветности 4:4:4, поскольку данные 22 и 23 коэффициентов квантования для компонентов C1/C2 закодированы точно тем же самым способом, как данные 21 коэффициентов квантования для компонента Y в форматах 4:2:0 и 4:2:2, процесс переходит к блоку 25c декодирования разности предсказания для компонента Y. Блок 25c декодирования разности предсказания для компонента Y может быть сконфигурирован посредством использования того же самого элемента, как блок 24 декодирования разности предсказания для компонента C0.
Если информация 4 указания только интра-кодирования указывает "только интра-кодирование", все изображения битового потока 30 закодированы посредством выполнения закрытого кодирования (предсказания только с интра-кодированием) в кадре без выполнения предсказания с направлением во времени, основанного на предсказании с компенсацией движения. Таким образом, процесс блока 28 фильтра устранения блочности отключается. В соответствии с этим в устройстве для декодирования, которое принимает битовый поток 30, процесс фильтра устранения блочности не выполняется в случае только интра-кодирования, и, таким образом, количество вычислений устройства для декодирования может быть уменьшено. Кроме того, если информация 4 указания только интра-кодирования указывает "только интра-кодирование", поскольку предсказание с компенсацией движения не выполняется, опорное изображение не записывается в память 201 кадров. С этой конфигурацией сокращается доступ к памяти.
Устройство для декодирования первого варианта воплощения было описано посредством конфигурации, в которой декодирование выполняется при приеме битового потока 30, выдаваемого от устройства для кодирования. Однако, поскольку устройство для кодирования выдает битовый поток в соответствии с форматом битового потока 30, битовые потоки, выводимые из устройства для кодирования, которое выполняет кодирование посредством использования только формата цветности 4:2:0, или устройств для кодирования различных спецификаций, использующих только формат цветности 4:2:2 или два формата цветности 4:2:0 и 4:2:2, могут быть правильно декодированы.
В соответствии с устройствами для кодирования и декодирования первого варианта воплощения для множества различных форматов цветности, таких как 4:2:0, 4:2:2 и 4:4:4, могут быть совместно выполнены кодирование и декодирование через эффективную конфигурацию устройства и может быть увеличена взаимная совместимость закодированных видеоданных.
Первый вариант воплощения был описан посредством случая, в котором цветовые пространства форматов цветности 4:2:0 и 4:2:2 являются пространством компонентов Y, Cb и Cr. Однако при использовании других цветовых пространств, таких как Y, Pb и Pr, могут быть достигнуты те же самые эффекты.
Изобретение относится к устройству кодирования/декодирования цифровых сигналов изображений. Техническим результатом является увеличение взаимной совместимости между закодированными видеоданными различных форматов цветности 4:2:0, 4:2:2 и 4:4:4. Предложено кодирование и декодирование выполнять однородно для множества форматов цветности. На основе управляющего сигнала обеспечения типа формата цветности входного сигнала динамического изображения в случае формата цветности 4:2:0 или 4:2:2 первый блок определения режима предсказания с интра-кодированием и первый блок формирования изображения предсказания с интра-кодированием применяют к компоненту яркости входного сигнала динамического изображения, и второй блок определения режима предсказания с интра-кодированием и второй блок формирования изображения предсказания с интра-кодированием применяют к компоненту цветности. В случае формата цветности 4:4:4 первый блок определения режима предсказания с интра-кодированием и первый блок формирования изображения предсказания с интра-кодированием применяют ко всем цветовыми компонентами для выполнения кодирования, и блок кодирования с переменной длиной мультиплексирует управляющий сигнал как данные кодирования, которые должны быть применены к элементу последовательности динамического изображения, в битовом потоке. 8 н. и 4 з.п. ф-лы, 25 ил.
1. Устройство для кодирования динамического изображения для выполнения кодирования со сжатием на основе ввода цифрового сигнала динамического изображения, содержащее:
первый блок определения режима предсказания с интракодированием для выполнения предсказания с интракодированием над компонентом сигнала, соответствующим компоненту яркости, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй блок определения режима предсказания с интракодированием для выполнения предсказания с интракодированием над компонентом сигнала, соответствующим компоненту цветности, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
блок кодирования с переменной длиной для кодирования с переменной длиной одного элемента множества, состоящего из первого режима предсказания с интракодированием, определенного посредством первого блока определения режима предсказания с интракодированием, и второго режима предсказания с интракодированием, определенного посредством второго блока определения режима предсказания с интракодированием;
первый блок формирования изображения предсказания с интракодированием для формирования первого изображения предсказания с интракодированием на основе первого режима предсказания с интракодированием;
второй блок формирования изображения предсказания с интракодированием для формирования второго изображения предсказания с интракодированием на основе второго режима предсказания с интракодированием и
блок кодирования для выполнения преобразования и кодирования над сигналом ошибки предсказания, полученным как разность между одним элементом множества, состоящего из первого изображения предсказания с интракодированием и второго изображения предсказания с интракодированием, и соответствующими сигналами цветовых компонентов, включенными во входной сигнал динамического изображения, причем
на основе управляющего сигнала для обеспечения типа формата цветности входного сигнала динамического изображения в случае, когда формат цветности является одним из форматов 4:2:0 и 4:2:2, первый блок определения режима предсказания с интракодированием и первый блок формирования изображения предсказания с интракодированием применяются к компоненту яркости входного сигнала динамического изображения и второй блок определения режима предсказания с интракодированием и второй блок формирования изображения предсказания с интракодированием применяются к компоненту цветности входного сигнала динамического изображения;
в случае, когда формат цветности является форматом 4:4:4, первый блок определения режима предсказания с интракодированием и первый блок формирования изображения предсказания с интракодированием применяются ко всем цветовым компонентам входного сигнала динамического изображения для выполнения кодирования; и
блок кодирования с переменной длиной мультиплексирует в битовом потоке управляющий сигнал как данные кодирования, которые должны быть применены к элементу последовательности динамического изображения.
2. Устройство для кодирования динамического изображения по п.1, в котором: в случае, когда формат цветности является форматом 4:4:4, когда другой управляющий сигнал, делающий различие между общим кодированием и независимым кодированием, указывает общее кодирование, первый блок определения режима предсказания с интракодированием оценивает часть или все цветовые компоненты, включенные во входной сигнал динамического изображения, и определяет первый режим предсказания с интракодированием, который должен быть получен как режим предсказания, общий для всех цветовых компонентов, включенных во входной сигнал динамического изображения; и когда другой управляющий сигнал указывает независимое кодирование, первый блок определения режима предсказания с интракодированием оценивает сигналы соответствующих цветовых компонентов, включенных во входной сигнал динамического изображения, и определяет первый режим предсказания с интракодированием независимо для каждого из цветовых компонентов для выполнения кодирования.
3. Устройство для кодирования динамического изображения для выполнения кодирования со сжатием на основе ввода цифрового сигнала динамического изображения, содержащее:
первый блок обнаружения движения для определения первой информации о движении относительно компонента сигнала, соответствующего компоненту яркости, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй блок обнаружения движения для определения второй информации о движении относительно компонента сигнала, соответствующего компоненту цветности, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
блок кодирования с переменной длиной для кодирования с переменной длиной первой информации о движении, определенной посредством первого блока обнаружения движения;
первый блок компенсации движения для формирования первого изображения предсказания с интракодированием на основе первой информации о движении;
второй блок компенсации движения для формирования второго изображения предсказания с интракодированием на основе второй информации о движении и
блок кодирования для выполнения преобразования и кодирования над сигналом ошибки предсказания, полученным как разность между одним элементом множества, состоящего из первого изображения предсказания с интракодированием и второго изображения предсказания с интракодированием, и соответствующим сигналом цветового компонента, включенным во входной сигнал динамического изображения, причем
на основе управляющего сигнала для обеспечения типа формата цветности входного сигнала динамического изображения в случае, когда формат цветности является одним из форматов 4:2:0 и 4:2:2, первый блок обнаружения движения и первый блок компенсации движения применяются к компоненту яркости входного сигнала динамического изображения, и второй блок обнаружения движения и второй блок компенсации движения применяются к компоненту цветности входного сигнала динамического изображения;
в случае, когда формат цветности является форматом 4:4:4, первый блок обнаружения движения и первый блок компенсации движения применяются ко всем цветовым компонентам входного сигнала динамического изображения для выполнения кодирования и
блок кодирования с переменной длиной мультиплексирует в битовом потоке управляющий сигнал как данные кодирования, которые должны быть применены к элементу последовательности динамического изображения.
4. Устройство для кодирования динамического изображения по п.3, в котором: в случае, когда формат цветности является форматом 4:4:4, когда другой управляющий сигнал, делающий различие между общим кодированием и независимым кодированием, указывает общее кодирование, первый блок обнаружения движения оценивает часть или все цветовые компоненты, включенные во входной сигнал динамического изображения, и определяет первую информацию о движении как информацию о движении, общую для всех цветовых компонентов, включенных во входной сигнал динамического изображения; и когда другой управляющий сигнал указывает независимое кодирование, первый блок обнаружения движения оценивает сигналы соответствующих цветовых компонентов, включенных во входной сигнал динамического изображения, и определяет первую информацию о движении независимо для каждого из цветовых компонентов.
5. Устройство для декодирования динамического изображения для декодирования цифрового сигнала динамического изображения на основе ввода битового потока, сформированного посредством выполнения над сигналом цифрового динамического изображения кодирования со сжатием, причем устройство для декодирования динамического изображения содержит:
первый блок формирования изображения предсказания с интракодированием для формирования первого изображения предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту яркости, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй блок формирования изображения предсказания с интракодированием для формирования второго изображения предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту цветности, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
блок декодирования с переменной длиной для декодирования информации идентификации формата цветности, включенной во входной битовый поток в качестве информации относительно элемента последовательности динамического изображения, информация идентификации формата цветности указывает тип формата цветности сжатого и закодированного сигнала динамического изображения, анализа входного битового потока на уровне макроблоков на основе информации идентификации формата цветности и декодирования данных коэффициентов квантования, включенных во входной битовый поток, данные коэффициентов квантования получаются посредством преобразования и кодирования сигнала ошибки предсказания либо между первым режимом предсказания с интракодированием, используемым для формирования первого изображения предсказания с интракодированием, и первым изображением предсказания с интракодированием либо между вторым режимом предсказания с интракодированием, используемым для формирования второго изображения предсказания с интракодированием, и вторым изображением предсказания с интракодированием; и
блок декодирования сигнала ошибки предсказания для декодирования данных коэффициентов квантования в сигнал ошибки предсказания посредством обратного квантования и обратного преобразования данных коэффициентов квантования, причем
в случае, когда информация идентификации формата цветности указывает, что формат цветности является одним из форматов 4:2:0 и 4:2:2, изображение предсказания с интракодированием компонента яркости формируется на основе первого блока формирования изображения предсказания с интракодированием и первого режима предсказания с интракодированием и изображение предсказания с интракодированием компонента цветности формируется на основе второго блока формирования изображения предсказания с интракодированием и второго режима предсказания с интракодированием;
в случае, когда информация идентификации формата цветности указывает, что формат цветности является форматом 4:4:4, изображение предсказания с интракодированием всех цветовых компонентов формируется на основе первого блока формирования изображения предсказания с интракодированием и первого режима предсказания с интракодированием; и
сигнал динамического изображения декодируется посредством суммирования сформированного изображения предсказания с интракодированием с выходной информацией блока декодирования сигнала ошибки предсказания.
6. Устройство для декодирования динамического изображения по п.5, в котором: в случае, когда формат цветности является форматом 4:4:4, блок декодирования с переменной длиной дополнительно декодирует (как информацию об элементе последовательности динамического изображения) сигнал идентификации общего кодирования/независимого кодирования, который делает различие между общим кодированием и независимым кодированием; в случае, когда сигнал идентификации общего кодирования/независимого кодирования указывает общее кодирование, блок декодирования с переменной длиной декодирует общий режим предсказания в качестве первого режима предсказания с интракодированием относительно сигналов всех цветовых компонентов, включенных в сигнал динамического изображения, который должен быть декодирован; и в случае, когда сигнал идентификации общего кодирования/независимого кодирования указывает независимое кодирование, блок декодирования с переменной длиной декодирует независимый режим предсказания в качестве первого режима предсказания с интракодированием относительно каждого из сигналов соответствующих цветовых компонентов, включенных в данные динамического изображения, которые должны быть декодированы.
7. Устройство для декодирования динамического изображения для декодирования цифрового сигнала динамического изображения на основе ввода битового потока, сформированного посредством выполнения над цифровым сигналом динамического изображения кодирования со сжатием, причем устройство для декодирования динамического изображения содержит:
первый блок компенсации движения для формирования первого изображения предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту яркости, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй блок компенсации движения для формирования второго изображения предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту цветности, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
блок декодирования с переменной длиной для декодирования информации идентификации формата цветности, включенной во входной битовый поток в качестве информации относительно элемента последовательности динамического изображения, информация идентификации формата цветности указывает тип формата цветности сжатого и закодированного сигнала динамического изображения, анализа входного битового потока на уровне макроблоков на основе информации идентификации формата цветности и декодирования данных коэффициентов квантования, включенных во входной битовый поток, данные коэффициентов квантования получаются посредством преобразования и кодирования сигнала ошибки предсказания либо между первой информацией о движении, используемой для формирования первого изображения предсказания с интракодированием, и первым изображением предсказания с интракодированием либо между второй информацией о движении, используемой для формирования второго изображения предсказания с интракодированием, и вторым изображением предсказания с интракодированием; и
блок декодирования сигнала ошибки предсказания для декодирования данных коэффициентов квантования в сигнал ошибки предсказания посредством обратного квантования и обратного преобразования данных коэффициентов квантования, причем:
в случае, когда информация идентификации формата цветности указывает, что формат цветности является одним из форматов 4:2:0 и 4:2:2, значение декодирования второй информации о движении формируется на основе первой информации о движении, изображение предсказания с интракодированием для компонента яркости формируется на основе первого блока компенсации движения и первой информации о движении и изображение предсказания с интракодированием для компонента цветности формируется на основе второго блока компенсации движения и второй информации о движении;
в случае, когда информация идентификации формата цветности указывает, что формат цветности является форматом 4:4:4, изображение предсказания с интракодированием для всех цветовых компонентов формируется на основе первого блока компенсации движения и первой информации о движении; и
сигнал динамического изображения декодируется посредством суммирования сформированного изображения предсказания с интракодированием с выходной информацией блока декодирования сигнала ошибки предсказания.
8. Устройство для декодирования динамического изображения по п.7, в котором: в случае, когда формат цветности является форматом 4:4:4, блок декодирования с переменной длиной дополнительно декодирует (как информацию об элементе последовательности динамического изображения) сигнал идентификации общего кодирования/независимого кодирования, который делает различие между общим кодированием и независимым кодированием; в случае, когда сигнал идентификации общего кодирования/независимого кодирования указывает общее кодирование, блок декодирования с переменной длиной декодирует общую информацию о движении в качестве первой информации о движении относительно сигналов всех цветовых компонентов, включенных в сигнал динамического изображения, который должен быть декодирован; и в случае, когда сигнал идентификации общего кодирования/независимого кодирования указывает независимое кодирование, блок декодирования с переменной длиной декодирует независимую информацию движения в качестве первой информации о движении относительно каждого из сигналов соответствующих цветовых компонентов, включенных в данные динамического изображения, которые должны быть декодированы.
9. Способ кодирования динамического изображения для выполнения кодирования со сжатием на основе ввода цифрового сигнала динамического изображения, содержащий:
первый этап определения режима предсказания с интракодированием, на котором выполняют предсказание с интракодированием над компонентом сигнала, соответствующим компоненту яркости, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй этап определения режима предсказания с интракодированием, на котором выполняют предсказание с интракодированием над компонентом сигнала, соответствующим компоненту цветности, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
этап кодирования с переменной длиной, на котором кодируют с переменной длиной один элемент множества, состоящего из первого режима предсказания с интракодированием, определенного посредством первого этапа определения режима предсказания с интракодированием, и второго режима предсказания с интракодированием, определенного посредством второго этапа определения режима предсказания с интракодированием;
первый этап формирования изображения предсказания с интракодированием, на котором формируют первое изображение предсказания с интракодированием на основе первого режима предсказания с интракодированием;
второй этап формирования изображения предсказания с интракодированием, на котором формируют второе изображение предсказания с интракодированием на основе второго режима предсказания с интракодированием; и
этап кодирования, на котором выполняют преобразование и кодирование над сигналом ошибки предсказания, полученным как разность между одним элементом множества, состоящего из первого изображения предсказания с интракодированием и второго изображения предсказания с интракодированием, и соответствующими сигналами цветовых компонентов, включенными во входной сигнал динамического изображения, причем
на основе управляющего сигнала для обеспечения типа формата цветности входного сигнала динамического изображения в случае, когда формат цветности является одним из форматов 4:2:0 и 4:2:2, первый этап определения режима предсказания с интракодированием и первый этап формирования изображения предсказания с интракодированием применяются к компоненту яркости входного сигнала динамического изображения и второй этап определения режима предсказания с интракодированием и второй этап формирования изображения предсказания с интракодированием применяются к компоненту цветности входного сигнала динамического изображения;
в случае, когда формат цветности является форматом 4:4:4, первый этап определения режима предсказания с интракодированием и первый этап формирования изображения предсказания с интракодированием применяются ко всем цветовым компонентам входного сигнала динамического изображения для выполнения кодирования; и
на этапе кодирования с переменной длиной мультиплексируют в битовом потоке управляющий сигнал как данные кодирования, которые должны быть применены к элементу последовательности динамического изображения.
10. Способ кодирования динамического изображения для выполнения кодирования со сжатием на основе ввода цифрового сигнала динамического изображения, содержащий:
первый этап обнаружения движения, на котором определяют первую информацию о движении относительно компонента сигнала, соответствующего компоненту яркости, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй этап обнаружения движения, на котором определяют вторую информацию о движении относительно компонента сигнала, соответствующего компоненту цветности, в случае, когда формат цветности входного сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
этап кодирования с переменной длиной, на котором кодируют с переменной длиной первую информацию о движении, определенную посредством первого этапа обнаружения движения;
первый этап компенсации движения, на котором формируют первое изображение предсказания с интракодированием на основе первой информации о движении;
второй этап компенсации движения, на котором формируют второе изображение предсказания с интракодированием на основе второй информации о движении; и
этап кодирования, на котором выполняют преобразование и кодирование над сигналом ошибки предсказания, полученным как разность между одним элементом множества, состоящего из первого изображения предсказания с интракодированием и второго изображения предсказания с интракодированием, и соответствующим сигналом цветового компонента, включенным во входной сигнал динамического изображения, причем:
на основе управляющего сигнала для обеспечения типа формата цветности входного сигнала динамического изображения в случае, когда формат цветности является одним из форматов 4:2:0 и 4:2:2, первый этап обнаружения движения и первый этап компенсации движения применяются к компоненту яркости входного сигнала динамического изображения и второй этап обнаружения движения и второй этап компенсации движения применяются к компоненту цветности входного сигнала динамического изображения;
в случае, когда формат цветности является форматом 4:4:4, первый этап обнаружения движения и первый этап компенсации движения применяются ко всем цветовым компонентам входного сигнала динамического изображения для выполнения кодирования; и
на этапе кодирования с переменной длиной мультиплексируют в битовом потоке управляющий сигнал как данные кодирования, которые должны быть применены к элементу последовательности динамического изображения.
11. Способ декодирования динамического изображения для декодирования цифрового сигнала динамического изображения на основе ввода битового потока, сформированного посредством выполнения над сигналом цифрового динамического изображения кодирования со сжатием, причем способ декодирования динамического изображения содержит:
первый этап формирования изображения предсказания с интракодированием, на котором формируют первое изображение предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту яркости, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй этап формирования изображения предсказания с интракодированием, на котором формируют второе изображение предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту цветности, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
этап декодирования с переменной длиной, на котором декодируют информацию идентификации формата цветности, включенную во входной битовый поток в качестве информации относительно элемента последовательности динамического изображения, информация идентификации формата цветности указывает тип формата цветности сжатого и закодированного сигнала динамического изображения, анализируют входной битовый поток на уровне макроблоков на основе информации идентификации формата цветности и декодируют данные коэффициентов квантования, включенные во входной битовый поток, данные коэффициентов квантования получаются посредством преобразования и кодирования сигнала ошибки предсказания либо между первым режимом предсказания с интракодированием, используемым для формирования первого изображения предсказания с интракодированием, и первым изображением предсказания с интракодированием, либо между вторым режимом предсказания с интракодированием, используемым для формирования второго изображения предсказания с интракодированием, и вторым изображением предсказания с интракодированием; и
этап декодирования сигнала ошибки предсказания, на котором декодируют данные коэффициентов квантования в сигнал ошибки предсказания посредством обратного квантования и обратного преобразования данных коэффициентов квантования, причем
в случае, когда информация идентификации формата цветности указывает, что формат цветности является одним из форматов 4:2:0 и 4:2:2, изображение предсказания с интракодированием компонента яркости формируется на основе первого этапа формирования изображения предсказания с интракодированием и первого режима предсказания с интракодированием, и изображение предсказания с интракодированием компонента цветности формируется на основе второго этапа формирования изображения предсказания с интракодированием и второго режима предсказания с интракодированием;
в случае, когда информация идентификации формата цветности указывает, что формат цветности является форматом 4:4:4, изображение предсказания с интракодированием всех цветовых компонентов формируется на основе первого этапа формирования изображения предсказания с интракодированием и первого режима предсказания с интракодированием; и
сигнал динамического изображения декодируется посредством суммирования сформированного изображения предсказания с интракодированием с выходной информацией этапа декодирования сигнала ошибки предсказания.
12. Способ декодирования динамического изображения для декодирования цифрового сигнала динамического изображения на основе ввода битового потока, сформированного посредством выполнения над сигналом цифрового динамического изображения кодирования со сжатием, способ декодирования динамического изображения содержит:
первый этап компенсации движения, на котором формируют первое изображение предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту яркости, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
второй этап компенсации движения, на котором формируют второе изображение предсказания с интракодированием относительно компонента сигнала, соответствующего компоненту цветности, в случае, когда формат цветности сигнала динамического изображения является одним из форматов 4:2:0 и 4:2:2;
этап декодирования с переменной длиной, на котором декодируют информацию идентификации формата цветности, включенную во входной битовый поток в качестве информации относительно элемента последовательности динамического изображения, информация идентификации формата цветности указывает тип формата цветности сжатого и закодированного сигнала динамического изображения, анализируют входной битовый поток на уровне макроблоков на основе информации идентификации формата цветности и декодируют данные коэффициентов квантования, включенные во входной битовый поток, данные коэффициентов квантования получаются посредством преобразования и кодирования сигнала ошибки предсказания либо между первой информацией о движении, используемой для формирования первого изображения предсказания с интракодированием и первым изображением предсказания с интракодированием, либо между второй информацией о движении, используемой для формирования второго изображения предсказания с интракодированием, и вторым изображением предсказания с интракодированием; и
этап декодирования сигнала ошибки предсказания, на котором декодируют данные коэффициентов квантования в сигнал ошибки предсказания посредством обратного квантования и обратного преобразования данных коэффициентов квантования, причем
в случае, когда информация идентификации формата цветности указывает, что формат цветности является одним из форматов 4:2:0 и 4:2:2, значение декодирования второй информации о движении формируется на основе первой информации о движении, изображение предсказания с интракодированием для компонента яркости формируется на основе первого этапа компенсации движения и первой информации о движении и изображение предсказания с интракодированием для компонента цветности формируется на основе второго этапа компенсации движения и второй информации о движении;
в случае, когда информация идентификации формата цветности указывает, что формат цветности является форматом 4:4:4, изображение предсказания с интракодированием для всех цветовых компонентов формируется на основе первого этапа компенсации движения и первой информации о движении; и
сигнал динамического изображения декодируется посредством суммирования сформированного изображения предсказания с интракодированием с выходной информацией, полученной на этапе декодирования сигнала ошибки предсказания.
WO 2006071037 A1, 06.07.2006 | |||
RU 2005107478 A, 27.07.2006 | |||
US 2004028128 A1, 12.02.2004 | |||
US 6081622 A, 27.06.2000 | |||
WO 2006112992 A1, 26.10.2006 | |||
US 6259741 B1, 10.07.2001 | |||
US 2005053294 A1, 10.03.2005. |
Авторы
Даты
2010-09-27—Публикация
2009-03-19—Подача