Устройство видеокодирования, устройство видеодекодирования, способ видеокодирования, способ видеодекодирования и программа

Иллюстрации

Показать все

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

Реферат

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

Настоящее изобретение относится к устройству видеокодирования и устройству видеодекодирования, которые используют кодирование ИКМ (импульсно-кодовая модуляция).

Уровень техники

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

Примером типа блока, который не подвергается процессу преобразования и процессу энтропийного кодирования, является импульсно-кодовая модуляция (ИКМ), описанная в непатентной литературе (NPL) 1. Термин «тип блока» означает тип кодирования (нижеупомянутое внутреннее предсказание, внешнее предсказание и ИКМ), используемый для блока.

Устройство видеокодирования, описанное в NPL 1, имеет конструкцию, показанную на фиг. 14. Устройство видеокодирования, показанное на фиг. 14, ниже в данном документе упоминается как типовое устройство видеокодирования.

Ниже описаны конструкция и работа типового устройства видеокодирования, которое принимает каждый кадр оцифрованного видео в качестве ввода, и выводит битовый поток, со ссылкой на фиг. 14.

Устройство видеокодирования, показанное на фиг. 14, включает в себя преобразователь/квантователь 102, энтропийный кодер 103, обратный преобразователь/обратный квантователь 104, буфер 105, предсказатель 106, кодер 107 ИКМ, декодер 108 ИКМ, селектор 109 мультиплексных данных, мультиплексор 110, переключатель 121 и переключатель 122.

Устройство видеокодирования, показанное на фиг. 14, делит каждый кадр на блоки размером 16×16 пикселей, называемые макроблоками (MB), и кодирует каждый MB последовательно в левой верхней части кадра. В AVC (усовершенствованное видеокодирование), описанном в NPL 1, каждый MB дополнительно делится на блоки размером 4×4 пикселя и кодируется каждый блок размером 4×4 пикселя.

Фиг. 15 представляет собой пояснительную диаграмму, изображающую пример деления блоков в случае, когда кадр имеет пространственное разрешение QCIF (четверть-CIF (общий промежуточный формат)). Нижеследующее описывает работу каждого узла, в то же время для упрощения сосредотачивая внимание только на пиксельных значениях яркости.

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

Сигнал внутреннего предсказания представляет собой сигнал предсказания, генерируемый на основе изображения восстановленного видеокадра, которое имеет такое же время отображения, что и текущий видеокадр, и сохраняется в буфере 105. Ссылаясь на 8.3.1 Процесс предсказания Intra_4×4 для отсчетов яркости, 8.3.2 Процесс предсказания Intra_8×8 для отсчетов яркости и 8.3.3 Процесс предсказания Intra_16×16 для отсчетов яркости в NPL 1, доступно внутреннее предсказание для трех размеров блока, т.е. Intra_4×4, Intra_8×8 и Intra_16×16.

Intra_4×4 и Intra_8×8 представляют собой соответственно внутреннее предсказание размера блока 4×4 и размера блока 8×8, как понятно из (a) и (c) на фиг. 16. Каждый кружок (o) на чертеже представляет эталонный пиксель, используемый для внутреннего предсказания, т.е. пиксель восстановленного видеокадра, имеющего такое же время отображения, что и текущий видеокадр.

При внутреннем предсказании Intra_4×4 восстановленные периферийные пиксели непосредственно устанавливаются в качестве эталонных пикселей и используются для заполнения (экстраполяции) по девяти направлениям, показанным на (b) на фиг. 16, и образуют сигнал предсказания. При внутреннем предсказании Intra_8×8 пиксели, полученные посредством сглаживания периферийных пикселей изображения восстановленного видеокадра при помощи фильтров нижних частот (1/2, 1/4, 1/2), показанных под правой стрелкой на (с) на фиг. 16, устанавливаются в качестве эталонных сигналов и используются для экстраполяции по девяти направлениям, показанным на (b) на фиг. 16, и образуют сигнал предсказания.

Аналогично Intra_16×16 представляет собой внутреннее предсказание размера блока 16×16, как понятно из (a) на фиг. 17. Каждый кружок (o) на чертеже представляет эталонный пиксель, используемый для внутреннего предсказания, т.е. пиксель восстановленного видеокадра, имеющего это же время отображения, что и текущий видеокадр, как на фиг. 16. При внутреннем предсказании Intra_16×16 периферийные пиксели восстановленного изображения непосредственно устанавливаются в качестве эталонных пикселей и используются для экстраполяции по четырем направлениям, показанным на (b) на фиг. 17, и образуют сигнал предсказания.

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

Сигнал межкадрового предсказания представляет собой сигнал предсказания, генерируемый из изображения восстановленного видеокадра, который имеет время отображения, отличающееся от времени отображения, которое имеет текущий видеокадр, и сохраняется в буфере 105. Ниже в данном документе MB и блок, кодируемый с использованием сигнала межкадрового предсказания, упоминаются соответственно как внешний MB и внешний блок. Размер блока внешнего предсказания (размер блока внешнего предсказания) может выбираться, например, из 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 и 4×4.

Фиг. 18 представляет собой пояснительную диаграмму, изображающую пример межкадрового предсказания, использующего размер блока 16×16. Вектор движения MV=(mvx, mvy), показанный на фиг. 18, представляет собой параметр предсказания межкадрового предсказания, который указывает величину параллельного перемещения блока межкадрового предсказания (сигнала межкадрового предсказания) эталонного видеокадра относительно блока, подлежащего кодированию. В AVC параметры предсказания межкадрового предсказания включают в себя не только направление межкадрового предсказания, представляющее направление эталонного видеокадра сигнала межкадрового предсказания относительно видеокадра, подлежащего кодированию блока, подлежащего кодированию, но также индекс эталонного видеокадра для идентификации эталонного видеокадра, используемого для межкадрового предсказания блока, подлежащего кодированию. Это потому, что в AVC множество эталонных видеокадров, хранимых в буфере 105, могут использоваться для межкадрового предсказания.

Межкадровое предсказание описывается более подробно в 8.4 Процесс внешнего предсказания в NPL 1.

Кодируемый видеокадр, включающий в себя только внутренние MB, называется I-видеокадром. Кодируемый видеокадр, включающий в себя не только внутренние MB, но также внешние MB, называется P-видеокадр. Кодируемый видеокадр, включающий в себя внешние MB, которые используют не только один эталонный видеокадр, но два эталонных видеокадра одновременно для межкадрового предсказания, называется B-видеокадром. В B-видеокадре межкадровое предсказание, в котором направление эталонного видеокадра сигнала межкадрового предсказания относительно видеокадра, подлежащего кодированию, блока, подлежащего кодированию, направлено в прошлое, называется прямым предсказанием, межкадровое предсказание, в котором направление эталонного видеокадра сигнала межкадрового предсказания относительно видеокадра, подлежащего кодированию, блока, подлежащего кодированию, направлено в будущее, называется обратным предсказанием, и межкадровое предсказание, включающее как прошлое, так и будущее, называется двунаправленным предсказанием. Направление межкадрового предсказания (направление внешнего предсказания) представляет собой параметр предсказания межкадрового предсказания.

Преобразователь/квантователь 102 преобразует по частоте изображение (изображение ошибки предсказания), из которого был вычтен сигнал предсказания.

Преобразователь/квантователь 102 дополнительно квантует преобразованное по частоте изображение ошибки предсказания (коэффициент преобразования частоты) с заданной шириной Qs шага квантования. Ниже в данном документе квантованный коэффициент преобразования частоты упоминается как значение квантования преобразования.

Энтропийный кодер 103 энтропийно кодирует параметры предсказания и значение квантования преобразования. Параметры предсказания представляют собой информацию, относящуюся к MB и предсказанию блока, такую как тип блока (внутреннее предсказание, внешнее предсказание и ИКМ), размер блока внутреннего предсказания, направление внутреннего предсказания, размер блока внешнего предсказания и вектор движения, упоминаемые выше.

Обратный преобразователь/обратный квантователь 104 обратно квантует значение квантования преобразования с шириной Qs шага квантования. Обратный преобразователь/обратный квантователь 104 дополнительно обратно преобразует по частоте коэффициент преобразования частоты, полученный посредством обратного квантования. Сигнал предсказания добавляется к восстановленному изображению ошибки предсказания, полученному обратным преобразованием частоты, и результат подается на переключатель 122.

Селектор 109 мультиплексных данных контролирует количество входных данных энтропийного кодера 103, соответствующих MB, подлежащему кодированию. В случае, когда энтропийный кодер 103 способен энтропийно кодировать входные данные в течение времени обработки MB, селектор 109 мультиплексных данных выбирает выходные данные энтропийного кодера 103 и вызывает подачу выбранных данных на мультиплексор 110 через переключатель 121. Селектор 109 мультиплексных данных дополнительно выбирает выходные данные обратного преобразователя/обратного квантователя 104 и вызывает подачу выбранных данных в буфер 105 через переключатель 122.

В случае, когда энтропийный кодер 103 не способен энтропийно кодировать входные данные в течение времени обработки MB, селектор 109 мультиплексных данных выбирает выходные данные кодера 107 ИКМ, полученные посредством кодирования ИКМ видео MB, и вызывает подачу выбранных данных на мультиплексор 110 через переключатель 121. Селектор 109 мультиплексных данных дополнительно выбирает выходные данные декодера 108 ИКМ, полученные посредством декодирования ИКМ выходных данных кодера 107 ИКМ, и вызывает подачу выбранных данных в буфер 105 через переключатель 122.

Буфер 105 сохраняет восстановленное изображение, подаваемое через переключатель 122. Восстановленное изображение на кадр упоминается как восстановленный видеокадр.

Мультиплексор 110 мультиплексирует выходные данные энтропийного кодера 103 и кодера 107 ИКМ и выводит результат мультиплексирования.

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

Список ссылок

Патентная литература

PTL 1: выложенная заявка на патент Японии № 2004-135251.

Непатентная литература

NPL 1: Усовершенствованное видеокодирование ISO/IEC 14496-10 (Международной организации по стандартизации/Международной электротехнической комиссии).

NPL 2: «Test Model under Consideration», Document: JCTVC-B205, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting: Geneva, CH, 21-28 July, 2010.

NPL 3: W.-J. Chen, X. Wang, and M. Karczewicz, «CE5 Improved coding of inter prediction mode with LCEC», JCTVC-D370.

NPL 4: S. Liu, Y.-W. Huang, S. Lei, «Remove Partition Size NxN», JCTVC-D432.

Сущность изобретения

Техническая проблема

Типовой метод, описанный выше, гарантирует некоторое время обработки для устройства видеокодирования или устройства видеодекодирования посредством использования, в MB, ИКМ, которая не включает в себя процесс преобразования и процесс энтропийного кодирования.

Однако типовой метод, описанный выше, основывается на видеокодировании, которое использует MB фиксированного размера единицы кодирования (размер CU). Следовательно, как описано в NPL 2, когда типовой метод, описанный выше, применяется к видеокодированию (ниже в данном документе упоминаемому как схема исследуемой тестовой модели (схема TMuC)), которая использует единицы кодирования (блоки дерева кодирования (CTB)) структуры квадродерева, показанной на фиг. 19, где размер CU является переменным, и информация (заголовок ИКМ), указывающий ИКМ, встраивается в выходной битовый поток в CTB всех уровней (т.е. всех глубин), существует проблема, что отношение количества битов заголовка ИКМ, включенного в битовый поток, увеличивается, и поэтому понижается качество сжатого видео.

В данном случае максимальный CTB упоминается как наибольший блок дерева кодирования (LCTB), и минимальный CTB упоминается как наименьший блок дерева кодирования (SCTB). В данном описании блок, соответствующий CTB, упоминается как единица кодирования CU). Кроме того, понятие единицы предсказания (PU) (см. фиг. 20) в качестве единицы предсказания для CU вводится в схеме TMuC. Фиг. 20 представляет собой пояснительную диаграмму для описания PU, где только квадраты из числа форм, показанных на фиг. 20, поддерживаются в качестве размера блока внутреннего предсказания.

NPL 3 описывает улучшения в сигнализации внешнего предсказания. NPL 4 описывает улучшения в сигнализации внешнего предсказания и внутреннего предсказания.

Для решения проблемы типового метода, описанного выше, принимается во внимание вопрос, что ИКМ может выбираться в CU более высокого уровня, чтобы гарантировать некоторое время обработки для устройства видеокодирования или устройства видеодекодирования. CU более высокого уровня представляет собой CU с меньшим значением глубины, как можно видеть на фиг.19. Количество CU более высокого уровня на кадр меньше, так как больше их размер блока. Так как количество CU более высокого уровня меньше, может уменьшаться пропорция количества битов заголовка ИКМ, включенных в битовый поток.

В настоящем изобретении проблема решается посредством ограничения глубины CU, для которой передается заголовок ИКМ, при видеокодировании, основанном на кодировании ИКМ. Т.е. в настоящем изобретении размер CU, для которого передается заголовок ИКМ, ограничивается заданным размером.

Решение проблемы

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

Устройство видеодекодирования согласно настоящему изобретению включает в себя средство демультиплексирования для демультиплексирования битового потока, включающего в себя информацию о размере блока ИКМ; средство определения размера блока ИКМ для определения размера блока ИКМ, в отношении которого заголовок ИКМ синтаксически анализируется на основе информации о размере блока ИКМ, демультиплексированной средством демультиплексирования; средство синтаксического анализа заголовка ИКМ для синтаксического анализа из битового потока заголовка ИКМ, в блоке с размером блока ИКМ, определенным средством определения размера блока ИКМ; средство энтропийного декодирования для энтропийного декодирования преобразованных данных изображения, включенных в битовый поток; средство обратного преобразования для обратного преобразования преобразованных данных, энтропийно декодированных средством энтропийного декодирования; средство декодирования ИКМ для декодирования посредством декодирования ИКМ данных ИКМ изображения в битовом потоке; и средство управления декодированием для управления средством энтропийного декодирования и средством декодирования ИКМ, основываясь на заголовке ИКМ, синтаксически проанализированным средством синтаксического анализа заголовка ИКМ.

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

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

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

Программа видеодекодирования согласно настоящему изобретению вызывает исполнение компьютером процесса демультиплексирования для демультиплексирования битового потока, включающего в себя информацию о размере блока ИКМ; процесса определения размера блока ИКМ для определения размера блока ИКМ для синтаксического анализа заголовка ИКМ, основываясь на демультиплексированной информации о размере блока ИКМ; процесса синтаксического анализа заголовка ИКМ для синтаксического анализа заголовка ИКМ из битового потока в блоке с определенным размером блока ИКМ; и процесса управления процессом энтропийного декодирования и процесса декодирования ИКМ, основанного на синтаксически проанализированном заголовке ИКМ: причем вызывается исполнение компьютером процесса энтропийного декодирования преобразованных данных изображения в битовом потоке и обратного преобразования энтропийно декодированных преобразованных данных при управлении процессом энтропийного декодирования, и вызывается исполнение компьютером процесса декодирования посредством декодирования ИКМ данных ИКМ изображения в битовом потоке при управлении процессом декодирования ИКМ.

Полезные эффекты изобретения

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

Кроме того, согласно настоящему изобретению может быть повышена функциональная совместимость устройства видеокодирования и устройства видеодекодирования посредством встраивания в битовый поток информации о размере единицы кодирования ИКМ для сигнализации заданного размера на устройство видеодекодирования.

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

Фиг. 1 представляет собой блок-схему устройства видеокодирования в примерном варианте 1 осуществления.

Фиг. 2 представляет собой пояснительную диаграмму списка 1, указывающего заголовок ИКМ в синтаксисе PU.

Фиг. 3 представляет собой пояснительную диаграмму списка 2, указывающего информацию о размере единицы кодирования ИКМ в наборе параметров последовательности.

Фиг. 4 представляет собой блок-схему последовательности действий, изображающую операцию записи заголовка ИКМ.

Фиг. 5 представляет собой блок-схему устройства видеодекодирования в примерном варианте 2 осуществления.

Фиг. 6 представляет собой блок-схему последовательности действий, изображающую операцию синтаксического анализа заголовка ИКМ.

Фиг. 7 представляет собой пояснительную диаграмму списка 3, указывающего информацию о размере единицы кодирования ИКМ в наборе параметров видеокадра.

Фиг. 8 представляет собой пояснительную диаграмму списка 4, указывающую информацию о размере единицы кодирования ИКМ в заголовке слайса.

Фиг. 9 представляет собой пояснительную диаграмму списка 1, указывающую заголовок ИКМ в синтаксисе PU в примерном варианте 3 осуществления.

Фиг. 10 представляет собой блок-схему последовательности действий, изображающую операцию синтаксического анализа заголовка ИКМ в примерном варианте 3 осуществления.

Фиг. 11 представляет собой блок-схему, изображающую конструктивный пример системы обработки информации, способной реализовать функции устройства видеокодирования и устройства видеодекодирования согласно настоящему изобретению.

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

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

Фиг. 14 представляет собой блок-схему типового устройства видеокодирования.

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

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

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

Фиг. 18 представляет собой пояснительную диаграмму, изображающую пример межкадрового предсказания, использующего размер блока 16×16 в качестве примера.

Фиг. 19 представляет собой пояснительную диаграмму для описания CTB.

Фиг. 20 представляет собой пояснительную диаграмму для описания PU.

Описание вариантов осуществления

Примерный вариант 1 осуществления

Примерный вариант 1 осуществления изображает устройство видеокодирования, включающее в себя средство для выбора выходных данных средства энтропийного кодирования или средства кодирования ИКМ в размере CU, устанавливаемым извне; средство для встраивания заголовка ИКМ в битовый поток в размере CU, устанавливаемым извне; и средство для встраивания в битовый поток информации, относящейся к размеру единицы кодирования ИКМ для сигнализации размера CU, устанавливаемого извне, на устройство видеодекодирования.

Чтобы обеспечить описание, используя конкретные примеры, в данном примерном варианте осуществления предполагается, что размер CU, для которого встраивается заголовок ИКМ в битовый поток, больше или равен размеру единицы кодирования ИКМ, устанавливаемому извне (pcmCodingUnitSize). Также предполагается, что доступными размерами единицы кодирования являются 128, 64, 32, 16 и 8, и pcmCodingUnitSize равен 16. Также предполагается, что информация, относящаяся к размеру единицы кодирования ИКМ, равна логарифму по основанию 2 значения, полученного делением размера единицы кодирования ИКМ на минимальный размер единицы кодирования, как описано ниже. Следовательно, в данном примерном варианте осуществления размерами блока, соответствующими размерам CU, для которых заголовок ИКМ встраивается в битовый поток, являются 128×128, 64×64, 32×32 и 16×16. Кроме того, конкретным значением информации, относящейся к размеру CU, встраиваемой в битовый поток, является 1 (=log2(16/8)).

Как показано на фиг. 1, устройство видеокодирования в данном примерном варианте осуществления включает в себя преобразователь/квантователь 102, энтропийный кодер 103, обратный преобразователь/обратный квантователь 104, буфер 105, предсказатель 106, кодер 107 ИКМ, декодер 108 ИКМ, селектор 109 мультиплексных данных, мультиплексор 110, переключатель 121 и переключатель 122 аналогично типовому устройству видеокодирования, показанному на фиг. 14. Устройство видеокодирования в данном примерном варианте осуществления, показанном на фиг. 1, отличается от устройства видеокодирования, показанного на фиг. 14, тем, что pcmCodingUnitSize подается на селектор 109 мультиплексных данных, чтобы передавать заголовок ИКМ в размере CU, который больше или равен pcmCodingUnitSize, и pcmCodingUnitSize также подается на мультиплексор 110, чтобы сигнализировать pcmCodingUnitSize на устройство видеодекодирования.

Сигнал предсказания, подаваемый от предсказателя 106, вычитается из входного видео размера CU, и результат вводится в преобразователь/квантователь 102.

Преобразователь/квантователь 102 преобразует по частоте изображение (изображение ошибки предсказания), из которого был вычтен сигнал предсказания.

Преобразователь/квантователь 102 дополнительно квантует преобразованное по частоте изображение ошибки предсказания (коэффициент преобразования частоты) с шириной Qs шага квантования.

Энтропийный кодер 103 энтропийно кодирует split_coding_unit_flag (см. фиг. 19) для сигнализации размера CU, параметров предсказания, подаваемых с предсказателя 106, и значения квантования преобразования, подаваемого с преобразователя/квантователя 102. Параметрами предсказания являются информация, относящаяся к предсказанию CU, подлежащей кодированию, такой как тип блока (внутреннее предсказание, внешнее предсказание и ИКМ), размер блока внутреннего предсказания, направление внутреннего предсказания, размер блока внешнего предсказания и вектор движения.

Основываясь на pcmCodingUnitSize, установленным извне посредством селектора 109 мультиплексных данных, энтропийный кодер 103 в данном примерном варианте осуществления энтропийно кодирует синтаксис pcm_flag, который указывает ВКЛ/ВЫКЛ кодирования ИКМ, в качестве ВЫКЛ в случае, когда CU, подлежащая кодированию, имеет размер, который больше или равен pcmCodingUnitSize, и также имеет режим предсказания внутреннего предсказания.

Обратный преобразователь/обратный квантователь 104 обратно квантует значение квантования преобразования с шириной Qs шага квантования. Обратный преобразователь/обратный квантователь 104 дополнительно обратно преобразует по частоте коэффициент преобразования частоты, полученный обратным квантованием. Сигнал предсказания добавляется к восстановленному изображению ошибки предсказания, полученному обратным преобразованием частоты, и результат подается на переключатель 122.

Селектор 109 мультиплексных данных контролирует количество входных данных энтропийного кодера 103, соответствующих CU, подлежащей кодированию, которая больше или равна pcmCodingUnitSize. В случае, когда энтропийный кодер 103 способен энтропийно кодировать входные данные в течение времени обработки CU, подлежащей кодированию, которая больше или равна pcmCodingUnitSize, селектор 109 мультиплексных данных выбирает выходные данные энтропийного кодера 103 и вызывает подачу выбранных данных на мультиплексор 110 через переключатель 121. Селектор 109 мультиплексных данных дополнительно выбирает выходные данные обратного преобразователя/обратного квантователя 104 и вызывает подачу выбранных данных в буфер 105 через переключатель 122.

В случае, когда энтропийный кодер 103 не способен энтропийно кодировать входные данные в течение времени обработки CU, подлежащей кодированию, селектор 109 мультиплексных данных сначала вызывает энтропийное кодирование и вывод энтропийным кодером 103 информации, указывающей, что CU, которая больше или равна pcmCodingUnitSize, кодируется посредством кодирования ИКМ. Подробно селектор 109 мультиплексных данных вызывает энтропийное кодирование и вывод энтропийным кодером 103 синтаксиса mode_table_idx или синтаксиса pred_mode, который указывает тип блока, в качестве внутреннего предсказания, и энтропийное кодирование и вывод синтаксиса pcm_flag, который указывает ВКЛ/ВЫКЛ кодирования ИКМ, в качестве ВКЛ в заголовке PU в CU.

Затем выравниваются по байтам выходные биты энтропийного кодера 103. Подробно энтропийный кодер 103 подает заданное количество синтаксиса pcm_alignment_zero_bit на мультиплексор 110. Кроме того, механизм кодирования энтропийного кодера 103 инициализируется для последующего кодирования.

После того как механизм кодирования будет инициализирован, кодер 107 ИКМ кодирует посредством кодирования ИКМ входное видео CU. Выходные данные pcm_sample_luma[i] яркости кодера 107 ИКМ имеют длину в битах пикселя bit_depth_luma яркости входного видео. В данном случае i (0≤i≤255) представляет собой индекс в порядке растрового сканирования в блоке CU. Аналогично, выходные данные pcm_sample_chroma[i] (i: 0≤i≤128) цветовой разности кодера 107 ИКМ имеют длину в битах пикселя bit_depth_chroma цветовой разности выходного видео.

После того как входное видео CU будет кодировано посредством кодирования ИКМ, декодер 108 ИКМ декодирует посредством декодирования ИКМ pcm_sample_luma[i] и pcm_sample_chroma[i].

После декодирования ИКМ селектор 109 мультиплексных данных выбирает выходные данные кодера 107 ИКМ и вызывает подачу выбранных данных на мультиплексор 110 через переключатель 121.

Наконец, селектор 109 мультиплексных данных выбирает выходные данные декодера 108 ИКМ и вызывает подачу выбранных данных в буфер 105 через переключатель 122.

При соответствии спецификации функций, категорий и дескрипторов синтаксиса в NPL 1 и 4.1.10 Синтаксис единицы предсказания в NPL 2, вышеупомянутый синтаксис mode_table_idx, синтаксис pred_mode, синтаксис pcm_flag и синтаксис pcm_alignment_zero_bit могут сигнализироваться так, как представлено в списке 1, показанном на фиг. 2. В списке 1 переменная pcm_unit_flag, которая представляет собой условие сигнализации синтаксиса pcm_alignment_zero_bit, равна ВКЛ только в случае, когда сигнализируется синтаксис pcm_flag для ВКЛ кодирования ИКМ. В противном случае переменная pcm_unit_flag равна ВЫКЛ. Этот примерный вариант осуществления имеет особенность, что в списке 1 синтаксис pcm_flag сигнализируется только в заголовке PU в CU размера, большего или равного pcmCodingUnitSize в соответствии с условием «if(currPredUnitSize >=pcmCodingUnitSize)».

Мультиплексор 110 мультиплексирует информацию (max_pcm_coding_unit_hierarchy_depth), относящуюся к размеру единицы кодирования ИКМ, и выходные данные энтропийного кодера 103 и кодера 107 ИКМ и выводит результат мультиплексирования. При соответствии с 4.1.2 Синтаксис RBSP набора параметров последовательности в NPL 2, синтаксис max_pcm_coding_unit_hierarchy_depth (логарифм по основанию 2 значения, полученного делением размера единицы кодирования ИКМ на минимальный размер единицы кодирования, «1» в данном примерном варианте осуществления) мультиплексируется вслед за синтаксисом log2_min_coding_unit_size_minus3 и синтаксисом max_coding_unit_hierarchy_depth набора параметров последовательности, как представлено в списке 2, показанном на фиг. 3. В данном случае max_pcm_coding_unit_hierarchy_depth может называться min_pcm_coding_unit_hierarchy_depth. Синтаксис log2_min_coding_unit_size_minus3 и синтаксис max_coding_unit_hierarchy_depth представляют собой информацию для определения размера SCU (MinCodingUnitSize) и размер LCU (MaxCodingUnitSize) соответственно. MinCodingUnitSize и MaxCodingUnitSize вычисляются соответственно следующим образом:

MinCodingUnitSize = 1 << (log2_min_coding_unit_size_minus3 + 3)

MaxCodingUnitSize = 1 << (log2_min_coding_unit_size_minus3 + 3 + max_coding_unit_hierarchy_depth)

Синтаксис max_coding_unit_hierarchy_depth и MinCodingUnitSize имеют следующую зависимость:

max_pcm_coding_unit_hierarchy_depth = log2(pcmCodingUnitSize/MinCodingUnitSize)

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

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

Как показано на фиг. 4, в случае неспособности энтропийного кодирования в течение времени обработки CU, подлежащей кодированию, энтропийный кодер 103 энтропийно кодирует тип блока в качестве внутреннего предсказания на этапе S101. Т.е. энтропийный кодер 103 энтропийно кодирует синтаксис mode_table_idx или синтаксис pred_mode в качестве внутреннего предсказания. На этапе S102 энтропийный кодер 103 энтропийно кодирует заголовок ИКМ. Подробно энтропийный кодер 103 энтропийно кодирует синтаксис pcm_flag как ВКЛ. На этапе S103 энтропийный кодер 103 выравнивает по байтам выходные биты посредством подачи заданного количества синтаксиса pcm_alignment_zero_bit на мультиплексор 110. Т.е. энтропийный кодер 103 выводит заданное количество синтаксиса pcm_alignment_zero_bit. Энтропийный кодер 103 также инициализирует механизм кодирования. На этапе S104 кодер 107 ИКМ кодирует посредством кодирования ИКМ входное видео CU.

Устройство видеокодирования в данном примерном варианте осуществления включает в себя: средство выбора мультиплексных данных для выбора выходных данных средства энтропийного кодирования или средства кодирования ИКМ в размере единицы кодирования, устанавливаемой извне; и средство мультиплексирования для встраивания в битовый поток заголовка ИКМ в размере единицы кодирования, устанавливаемой извне. Поэтому отношение количества битов заголовка ИКМ в битовом потоке может сохраняться низким, и может поддерживаться качество сжатого видео, в то же время гарантируя некоторое время обработки для устройства видеокодирования.

Кроме того, средство мультиплексирования встраивает в битовый поток информацию о размере единицы кодирования ИКМ для сигнализации размера CU, устанавливаемого извне, на устройство видеодекодирования, где информация о размере CU может быть выражена, например, посредством разности глубины относительно глубины LCU или SCU. Например, в случае выражения относительно глубины LCU (LCU_depth) размер CU заданной глубины может быть выражен как 1/2(глубина - LCU_depth) размера LCU (1/4(глубина - LCU_depth) при преобразовании в размер блока). В случае выражения относительно глубины SCU (SCU_depth) размер CU заданной глубины может быть выражен как 2(SCU_depth - глубина), умноженный на размер SCU (умноженный на 4(SCU_depth - глубина) при преобразовании в размер блока).

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

Устройство видеокодирования в данном примерном варианте осуществления включает в себя средство для встраивания в битовый поток информации, относящейся к размеру единицы кодирования, для которой обеспечивается заголовок ИКМ, чтобы иметь возможность синтаксического анализа заголовка ИКМ из битового потока и переключения между средством энтропийного декодирования и средством декодирования ИКМ, выполняемого в равной степени и при видеодекодировании. Таким образом может быть повышена функциональная совместимость устройства видеокодирования и устройства видеодекодирования.

Примерный вариант 2 осуществления

Примерный вариант 2 осуществления изображает устройство видеодекодирования, которое декодирует битовый поток, генерируемый устройством видеокодирования в примерном варианте 1 осуществления.

Устройство видеодекодирования в данном примерном варианте осуществления включает в себя средство для демультиплексирования информации о размере единицы кодирования ИКМ, мультиплексированной в битовом потоке; средство размера блока для определения заданного размера блока, в отношении которого синтаксически анализируется заголовок ИКМ, основываясь на демультиплексированной информации о размере единицы кодирования ИКМ; средство синтаксического анализа для синтаксического анализа заголовка ИКМ из битового потока в размере единицы кодирования, определенном средством размера блока; и средство управления декодированием для управления средством энтропийного декодирования и средством