Способ кодирования изображения, способ декодирования изображения, устройство кодирования изображения, устройство декодирования изображения и устройство кодирования и декодирования изображения

Иллюстрации

Показать все

Изобретение относится к области кодирования и декодирования изображения. Техническим результатом является способ кодирования изображения и способ декодирования изображения, каждый из которых способен уменьшать объем обработки при одновременном подавлении ухудшения эффективности кодирования. Способ кодирования изображения с использованием арифметического кодирования содержит: выполнение арифметического кодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в блоке целевых коэффициентов большим чем 1, при этом блок целевых коэффициентов получают разделением целевого блока кодирования, который получают преобразованием входного изображения в коэффициенты в частотной области; и выполнение арифметического кодирования над вторым флагом, который указывает, является ли абсолютное значение большим чем 2, при этом при выполнении арифметического кодирования над первым флагом и выполнении арифметического кодирования над вторым флагом определяют, включает ли в себя непосредственно предшествующий блок коэффициентов, который был кодирован непосредственно перед блоком целевых коэффициентов, коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом кодировании над первым флагом, и контекст, подлежащий использованию в арифметическом кодировании над вторым флагом, выбирают на основе результата определения. 5 н. и 6 з.п. ф-лы, 64 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящее изобретение относится к способам кодирования изображения и способам декодирования изображения.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

[0002] В последние годы, с быстрым продвижением цифровых технологий видео аппаратуры, появилось больше возможностей для сжатия-кодирования видеосигналов (временных последовательностей движущихся изображений) и записи результирующих видеосигналов на носитель записи, такой как цифровой универсальный диск (DVD) или жесткий диск, или распределения их по сети. Примером стандартов кодирования изображения является H.264/AVC (MPEG-4 AVC). Стандарт высокоэффективного кодирования изображения (HEVC) был недавно исследован в качестве стандарта нового поколения (см., например, непатентный документ 1).

ПЕРЕЧЕНЬ ССЫЛОК

НЕПАТЕНТНАЯ ЛИТЕРАТУРА

[0003] [Непатентный документ 1] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 Apr. - 7 May 2012 JCTVC-11003_d4.doc, High efficiency video coding (HEVC) text specification draft 7 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v5.zip

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

ТЕХНИЧЕСКАЯ ЗАДАЧА

[0004] Для такого способа кодирования изображения и способа декодирования изображения требовалось уменьшить объем обработки при одновременном подавлении ухудшения эффективности кодирования.

[0005] Настоящее изобретение обеспечивает способ кодирования изображения и способ декодирования изображения, каждый из которых способен уменьшать объем обработки при одновременном подавлении ухудшения эффективности кодирования.

РЕШЕНИЕ ЗАДАЧИ

[0006] Для решения вышеуказанной задачи согласно аспекту настоящего изобретения предложен способ кодирования изображения с использованием арифметического кодирования, причем способ кодирования изображения, включает в себя: выполнение арифметического кодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов большим чем 1; и выполнение арифметического кодирования над вторым флагом, который указывает, является ли абсолютное значение большим чем 2, при этом при выполнении арифметического кодирования над первым флагом и выполнении арифметического кодирования над вторым флагом определяется, включает ли в себя непосредственно предшествующий блок коэффициентов, который был кодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом кодировании над первым флагом и контекст, подлежащий использованию в арифметическом кодировании над вторым флагом выбираются на основе результата определения.

[0007] Эти общие и специфические аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.

ПРЕДПОЧТИТЕЛЬНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ

[0008] Настоящее изобретение обеспечивает способ кодирования изображения и способ декодирования изображения, каждый из которых способен уменьшать объем обработки при одновременном подавлении ухудшения эффективности кодирования.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0009]

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

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

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

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

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

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

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

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

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

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

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

Фиг. 12 - таблица, показывающая пример количеств контекстов согласно варианту осуществления 1.

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

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

Фиг. 15A - таблица, показывающая пример отношений соответствия между структурным элементом (бином) остатка, префикса и суффикса согласно варианту осуществления 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 33A - блок-схема последовательности операций способа декодирования изображения согласно варианту осуществления 2.

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

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

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

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

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

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

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

Фиг. 40 - общая конфигурация системы предоставления контента для реализации услуг распространения контента.

Фиг. 41 - общая конфигурация цифровой широковещательной системы.

Фиг. 42 - блок-схема, иллюстрирующая пример конфигурации телевизора.

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

Фиг. 44 показывает пример конфигурации носителя записи, которым является оптический диск.

Фиг. 45A показывает пример сотового телефона.

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

Фиг. 46 иллюстрирует структуру мультиплексированных данных.

Фиг. 47 схематично показывает, каким образом каждый поток мультиплексирован в мультиплексированных данных.

Фиг. 48 более подробно показывает, как видеопоток сохранен в потоке PES-пакетов.

Фиг. 49 показывает структуру пакетов TS и исходных пакетов в мультиплексированных данных.

Фиг. 50 показывает структуру данных РМТ.

Фиг. 51 показывает внутреннюю структуру информации мультиплексированных данных.

Фиг. 52 показывает внутреннюю структуру информации атрибутов потока.

Фиг. 53 показывает этапы для идентификации видео данных.

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

Фиг. 55 показывает конфигурацию для переключения между частотами возбуждения.

Фиг. 56 показывает этапы для идентификации видео данных и переключения между частотами возбуждения.

Фиг. 57 показывает пример справочной таблицы, в которой стандарты видео данных ассоциированы с частотами возбуждения.

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

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

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

[0010] Базовые знания, формирующие основу настоящего изобретения

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

[0011] Способ кодирования изображения в соответствии с настоящим стандартом HEVC (см., например, непатентный документ 1) включает в себя этап предсказания кодированного изображения, этап вычисления разности между предсказанным изображением и целевым изображением, этап преобразования результирующего дифференциального изображение в коэффициенты частоты и этап выполнения арифметического кодирования над коэффициентами частоты. В арифметическом кодировании, коэффициенты в блоке коэффициентов, подлежащем кодированию (блоке коэффициентов кодирования), кодируются последовательно в порядке от коэффициента более высокой частоты к компоненту более низкой частоты. Здесь контекст выбирается в соответствии с кодированным коэффициентом, и арифметическое кодирование выполняется над коэффициентом, подлежащем кодированию (коэффициентом кодирования), в соответствии с вероятностью появления символа, определяемой на основе выбранного контекста.

[0012] В обычном изображении коэффициент с более низкочастотным компонентом, вероятно, будет иметь большее значение. Поэтому, возможно, будет вызвана вероятность возникновения символа, имеющего смещение, путем определения контекста со ссылкой на кодированный коэффициент (коэффициент с более высокой частотой, чем частота коэффициента кодирования). Например, если кодированный коэффициент (коэффициент с более высокой частотой, чем частота коэффициента кодирования) имеет большое значение, то существует высокая вероятность того, что коэффициент кодирования также имеет большое значение. Поэтому устройство кодирования изображения может уменьшить результирующую величину кодирования с использованием контекста для большого значения. В настоящем стандарте HEVC, подсчитывается количество кодированных коэффициентов, каждый из которых имеет абсолютное значение 2 или более, и контекст для коэффициента кодирования определяется в соответствии с количеством.

[0013] Однако авторы изобретения обнаружили, что традиционный способ кодирования изображений требует подсчитывать количество кодированных коэффициентов, каждый из которых имеет абсолютное значение 2 или более, и, следовательно, должен иметь обработку для подсчета и резистор, который хранит значение счета.

[0014] Для того чтобы решить вышеуказанную проблему, в соответствии с аспектом настоящего изобретения предложен способ кодирования изображения с использованием арифметического кодирования, причем способ кодирования изображения включает в себя: выполнение арифметического кодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов большим чем 1; и выполнение арифметического кодирования над вторым флагом, указывающим, является ли абсолютное значение большем чем 2, при этом при выполнении арифметического кодирования над первым флагом и выполнении арифметического кодирования над вторым флагом определяется, включает ли в себя непосредственно предшествующий блок коэффициентов, который был кодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом кодировании над первым флагом и контекст, подлежащий использованию в арифметическом кодировании над вторым флагом выбираются на основе результата определения.

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

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

[0017] Таким образом, способ кодирования изображения может уменьшить объем обработки путем выполнения выбора текста на основе переменной, которая была использована в другой обработке.

[0018] Например, также возможно, что способ кодирования изображения дополнительно включает в себя преобразование в двоичное представление (бинаризацию) остатка в соответствии с таблицей преобразования, назначенной параметром бинаризации из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше чем два, причем остаток является значением, полученным путем вычитания 3 из абсолютного значения, при этом параметр бинаризации определяется в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, и при этом переменная является параметром бинаризации.

[0019] Например, дополнительно возможно, что пороговое значение равно 1.

[0020] В соответствии с другим аспектом настоящего изобретения предложен способ декодирования изображения с использованием арифметического декодирования, причем способ декодирования изображения включает в себя: выполнение арифметического декодирования над первым флагом, который указывает, является ли абсолютное значение целевого коэффициента в целевом блоке коэффициентов большим чем 1; и выполнение арифметического декодирования над вторым флагом, который указывает, является ли абсолютное значение большим чем 2, при этом при выполнении арифметического декодирования над первым флагом и выполнении арифметического декодирования над вторым флагом определяется, включает ли в себя непосредственно предшествующий блок коэффициентов, который был декодирован непосредственно перед целевым блоком коэффициентов, коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, и контекст, подлежащий использованию в арифметическом декодировании над первым флагом и контекст, подлежащий использованию в арифметическом декодировании над вторым флагом выбираются на основе результата определения.

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

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

[0023] Таким путем способ декодирования изображения может уменьшить объем обработки, выполняя выбор текста на основе переменной, которая была использована в другой обработке.

[0024] Например, также возможно, что способ декодирования изображения дополнительно включает в себя: преобразование остатка в многозначную величину в соответствии с таблицей преобразования, назначенной параметром бинаризации, из числа множества таблиц преобразования, когда абсолютное значение целевого коэффициента больше чем 2, при этом остаток является значением, полученным путем вычитания 3 из абсолютного значения; и определение параметра бинаризации в соответствии с тем, включает ли в себя непосредственно предшествующий блок коэффициентов коэффициент, имеющий абсолютное значение, большее, чем пороговое значение, при этом переменная является параметром бинаризации.

[0025] Например, дополнительно возможно, что пороговое значение равно 1.

[0026] Согласно еще одному аспекту настоящего изобретения, предложено устройство кодирования изображения, которое выполняет арифметическое кодирование, причем устройство кодирования изображения содержит: схему управления и средство хранения, доступное из схемы управления, при этом схема управления исполняет способ кодирования изображения по пункту 1 формулы изобретения.

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

[0028] Согласно еще одному аспекту настоящего изобретения, предложено устройство декодирования изображения, которое выполняет арифметическое декодирование, причем устройство декодирования изображения включает в себя: схему управления и средство хранения, доступное из схемы управления, причем схема управления исполняет способ декодирования изображения по пункту 5 формулы изобретения.

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

[0030] Согласно еще одному аспекту настоящего изобретения, предложено устройство кодирования и декодирования изображения, включающее в себя вышеописанные устройство кодирования изображения и устройство декодирования изображения.

[0031] Эти общие и конкретные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.

[0032] Далее, некоторые примерные варианты осуществления устройства кодирования изображения и устройства декодирования изображения описаны со ссылкой на прилагаемые чертежи.

[0033] Каждый из примерных вариантов осуществления, описанных ниже, показывает конкретный пример настоящего изобретения. Численные значения, формы, материалы, структурные элементы, расположение и соединение структурных элементов, этапов, порядок обработки этапов и т.д., представленные в следующих примерных вариантах осуществления, являются лишь примерами и, следовательно, не ограничивают настоящее изобретение. Поэтому среди структурных элементов в следующих примерных вариантах осуществления структурные элементы, не упомянутые в любом из независимых пунктов формулы изобретения, описываются как произвольные структурные элементы.

[0034] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 1)

В варианте осуществления 1 описан вариант осуществления устройства кодирования изображения.

[0035] <ОБЩАЯ СТРУКТУРА>

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

[0036] Устройство 100 кодирования изображения, показанное на фиг. 1, кодирует входное изображение 121, чтобы генерировать кодированный поток 125 (кодированный битовый поток). Устройство 100 кодирования изображения включает в себя модуль 101 разделения на блоки кодирования, модуль 102 вычитания, модуль 103 преобразования, модуль 104 кодирования c переменной длиной слова, модуль 105 обратного преобразования, модуль 106 суммирования, память 107 кадров и модуль 108 предсказания.

[0037] <ОБРАБОТКА (ОБЩИЕ СВЕДЕНИЯ)>

Далее, со ссылкой на фиг. 2 описывается общий поток кодирования.

[0038] (ЭТАП S101)

Модуль 101 разделения на блоки кодирования делит входное изображение 121 на блоки, подлежащие кодированию (блоки кодирования), 122, и последовательно подает блоки 122 кодирования как на модуль 102 вычитания, так и на модуль 108 предсказания. Здесь каждый из блоков 122 кодирования имеет переменный размер, и модуль 101 разделения на блоки кодирования, таким образом, обращается к особенностям входного изображения 121, чтобы разделить входное изображение 121 на блоки 122 кодирования. Например, один блок 122 кодирования имеет минимально горизонтальные 4 пикселя х вертикальные 4 пикселя и максимально горизонтальные 32 пикселя х вертикальные 32 пикселя.

[0039] (ЭТАП S102)

Модуль 108 предсказания генерирует блок 129 предсказания с использованием блока 122 кодирования и декодированного изображения 128, сохраненного в памяти 107 кадров.

[0040] (ЭТАП S103)

Модуль 102 вычитания генерирует дифференциальный блок 123, который представляет собой разность между блоком 122 кодирования и блоком 129 предсказания.

[0041] (ЭТАП S104)

Модуль 103 преобразования преобразует дифференциальный блок 123 в коэффициенты 124 частоты.

[0042] (ЭТАП S105)

Модуль 104 кодирования c переменной длиной слова выполняет кодирование переменной длины над коэффициентами 124 частоты для генерации кодированного потока 125.

[0043] (ЭТАП S106)

Модуль 105 обратного преобразования преобразует коэффициенты 124 частоты в пиксельные данные для восстановления дифференциального блока 126.

[0044] (ЭТАП S107)

Модуль 106 суммирования суммирует восстановленный дифференциальный блок 126 и блок 129 предсказания вместе для генерации декодированного блока 127 и сохраняет, в качестве декодированного изображения 128, генерированный декодированный блок 127 в памяти 107 кадров.

[0045] (ЭТАП S108)

Обработка от этапа S102 до этапа S107 повторяется, пока все блоки кодирования в целевом изображении, подлежащем кодированию, не будут закодированы.

[0046] Ниже более подробно описан модуль 104 кодирования c переменной длиной слова.

[0047] <СТРУКТУРА МОДУЛЯ 104 КОДИРОВАНИЯ C ПЕРЕМЕННОЙ ДЛИНОЙ СЛОВА>

Фиг. 3 - это блок-схема, показывающая структуру модуля 104 кодирования c переменной длиной слова.

[0048] В настоящем варианте осуществления модуль 104 кодирования c переменной длиной слова кодирует целевой коэффициент 124 частоты (в дальнейшем упоминается также просто, как "коэффициент") на основе пяти параметров: significant_flag, greater1_flag, greater2_flag, остаток и sign_flag.

[0049] significant_flag - это флаг, указывающий, равен ли 0 соответствующий коэффициент. Если significant_flag имеет значение 0, это означает, что коэффициент равен 0. Если significant_flag имеет значение 1, это означает, что коэффициент не равен 0.

[0050] greater1_flag существует только тогда, когда significant_flag имеет значение 1 (другими словами, коэффициент не равен 0). greater1_flag указывает, является ли абсолютное значение коэффициента равным 2 или более (другими словами, больше чем 1). Если greater1_flag имеет значение 0, это означает, что абсолютное значение равно 1. Если greater1_flag имеет значение 1, это означает, что абсолютное значение равно 2 или более.

[0051] greater2_flag существует только тогда, когда greater1_flag имеет значение 1 (другими словами, коэффициент имеет абсолютное значение 2 или больше). greater2_flag указывает, является ли абсолютное значение коэффициента равным 3 или более (другими словами, больше чем 2). Если greater2_flag имеет значение 0, это означает, что абсолютное значение равно 2. Если greater2_flag имеет значение 1, это означает, что абсолютное значение равно 3 или более.

[0052] Остаток существует только тогда, когда greater2_flag имеет значение 1 (другими словами, абсолютное значение равно 3 или более). Остаток указывает значение, полученное путем вычитания 3 из абсолютного значения.

[0053] sign_flag существует только тогда, когда significant_flag имеет значение 1 (другими словами, коэффициент не равен 0). sign_flag указывает, имеет ли коэффициент отрицательное значение (другими словами, является ли значение коэффициента отрицательным или положительным). Если sign_flag имеет значение 0, это означает, что коэффициент имеет положительное значение. Если sign_flag имеет значение 1, это означает, что коэффициент имеет отрицательное значение.

[0054] Как показано на фиг. 3, модуль 104 кодирования c переменной длиной слова включает в себя модуль 131 разделения на блоки коэффициентов, модуль 132 кодирования significant_flag, модуль 133 кодирования уровня и модуль 134 кодирования sign_flag.

[0055] Модуль 132 кодирования significant_flag кодирует significant_flag. Модуль 133 кодирования уровня кодирует greater1_flag, greater2_flag и остаток. Модуль 134 кодирования sign_flag кодирует sign_flag.

[0056] <ОБРАБОТКА (КОДИРОВАНИЕ ПЕРЕМЕННОЙ ДЛИНЫ)>

Далее, со ссылкой на фиг. 4, описывается поток кодирования c переменной длиной слова.

[0057] (ЭТАП S121)

Модуль 131 разделения на блоки коэффициентов делит целевой блок кодирования (коэффициенты 124 частоты) на блоки коэффициентов, каждый из которых имеет 4 пикселя х 4 пикселя (далее также упоминается как "4×4 блоки коэффициентов"). Более конкретно, когда целевой блок кодирования имеет размер 32х32, то модуль 131 разделения на блоки коэффициентов делит его горизонтально на 8 частей и вертикально на 8 частей. Когда целевой блок кодирования имеет размер 4×4, модуль 131 разделения на блоки коэффициентов не делит такой блок. Последующая обработка от этапа S122 до этапа S124 выполняется для каждого из блоков коэффициентов. Блоки коэффициентов обрабатываются последовательно в порядке от блока коэффициентов, имеющего более высокий компонент, к блоку коэффициентов, имеющему более низкий компонент.

[0058] (ЭТАП S122)

Модуль 132 кодирования significant_flag кодирует significant_flag каждого из коэффициентов, включенных в целевой блок коэффициентов.

[0059] (ЭТАП S123)

Модуль 133 кодирования уровня кодирует greater1_flag, greater2_flag и остаток каждого из коэффициентов, включенных в целевой блок коэффициентов.

[0060] (ЭТАП S124)

Модуль 134 кодирования sign_flag кодирует sign_flag каждого из коэффициентов, включенных в целевой блок коэффициентов.

[0061] (ЭТАП S125)

Обработка от этапа S122 до этапа S124 повторяется, пока все блоки коэффициентов в целевом блоке кодирования не будут обработаны.

[0062] Ниже приведено более подробное описание модуля 133 кодирования уровня.

[0063] <СТРУКТУРА МОДУЛЯ 133 КОДИРОВАНИЯ УРОВНЯ>

Фиг. 5 - это блок-схема, показывающая структуру модуля 133 кодирования уровня. Как показано на фиг. 5, модуль 133 кодирования уровня включает в себя модуль 141 установки greater1_flag, модуль 142 установки greater2_flag, модуль 143 установки остатка, модуль 144 обновления параметра бинаризации, модуль 145 выбора наборов контекста, память 146 greater1_flag, модуль 147 выбора контекста greater1_flag, память 148 контекста greater1_flag, модуль 149 выбора контекста greater2_flag, память 150 контекста greater2_flag, модуль 151 арифметического кодирования и модуль 152 бинаризации остатка. Модуль 152 бинаризации остатка включает в себя модуль 153 определения префикса-суффикса, модуль 154 вывода структурного элемента (бина) суффикса 154 и модуль 155 вывода бина префикса.

[0064] Модуль 133 кодирования уровня сначала выбирает соответствующие наборы контекста, подлежащие использованию в арифметическом кодировании над greater1_flag и greater2_flag. Затем модуль 133 кодирования уровня кодирует greater1_flag, greater2_flag и остаток последовательно в порядке. Перед арифметическим кодированием модуль 133 кодирования уровня преобразует остаток от многозначного сигнала в бинаризованный сигнал (бин). При этом модуль 133 кодирования уровня адаптивно изменяет длину бинаризованного сигнала (бина) на основе параметра бинаризации (cParam). Модуль 133 кодирования уровня также использует этот параметр бинаризации, чтобы адаптивно выбирать наборы контекста.

[0065] <ОБРАБОТКА (КОДИРОВАНИЕ УРОВНЯ)>

Далее, со ссылкой на фиг. 6-9, поток кодирования, выполняемого модулем 133 кодирования уровня, описывается более подробно. Фиг. 6 - это блок-схема последовательности операций кодирования, выполняемого модулем 133 кодирования уровня.

[0066] (ЭТАП S141)

Модуль 145 выбора наборов контекста устанавливает соответствующие количества наборов контекста, подлежащие использованию в арифметическом кодировании над greater1_flag и greater2_flag. Этот этап будет описан ниже более подробно.

[0067] (ЭТАП S142)

Модуль 144 обновления параметра бинаризации инициализирует параметр бинаризации (cParam) в 0. На этом этапе cParam устанавливается в 0 в начале целевого 4×4 блока коэффициентов. Следует отметить, что этапы S141 и S142 выполняются один раз для целевого блока коэффициентов. Однако следующие этапы с этапа S143 выполняются для каждого из коэффициентов.

[0068] (ЭТАП S143)

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

[0069] (ЭТАП S151)

Модуль 141 установки greater1_flag определяет, является ли абсолютное значение целевого коэффициента (коэффициента, подлежащего обработке) равным 1 или более. Если абсолютное значение равно 1 или более, то greater1_flag кодируется на этапах S152 - S154. Если абсолютное значение равно 0, greater1_flag не кодируется.

[0070] (ЭТАП S152)

Если абсолютное значение целевого коэффициента равно 2 или более, то модуль 141 установки greater1_flag устанавливает greater1_flag в 1. Если абсолютное значение равно 1, то модуль 141 установки устанавливает greater1_flag в 0.

[0071] (ЭТАП S153)

Модуль 147 выбора контекста greater1_flag устанавливает количество контекстов на основе количества наборов контекста, выбранного на этапе S141. Этот этап будет описан ниже более подробно.

[0072] (ЭТАП S154)

Модуль 151 арифметического кодирования загружает контекст, подлежащий использованию (контекст использования) из памяти 148 контекста greater1_flag на основе количества контекстов, выбранных на этапе S153, и затем выполняет арифметическое кодирование над greater1_flag с использованием контекста. Кроме того, модуль 151 арифметического кодирования сохраняет контекст, который был обновлен в арифметическом кодировании, обратно в то же место в памяти 148 контекста greater1_flag.

[0073] (ЭТАП S155)

Обработка от этапа S151 до этапа S155 повторяется, пока все коэффициенты целевого блока 4×4 коэффициентов не будут обработаны.

[0074] В результате, greater1_flag соответствующих коэффициентов закодированы в целевом блоке коэффициентов.

[0075] (ЭТАП S144)

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

[0076] (ЭТАП S161)

Модуль 142 установки greater2_flag определяет, равно ли абсолютное значение целевого коэффициента 2 или более. Если абсолютное значение равно 2 или более, то greater2_flag кодируется на этапах от S162 до S165. Если абсолютное значение равно 1 или меньше, greater2_flag не кодируется.

[0077] (ЭТАП S162)

Если абсолютное значение целевого коэффициента равно 3 или более, то модуль 142 установки greater2_flag устанавливает greater2_flag в 1. Если абсолютное значение равно 2, то модуль 142 установки greater2_flag устанавливает greater2_flag в 0.

[0078] (ЭТАП S163)

Модуль 149 выбора контекста greater2_flag устанавливает количество наборов контекста, выбранное на этапе S141, как количество контекстов. В отличие от greater1_flag, количество наборов контекста для greater2_flag непосредственно устанавливается как количество контекстов. Другими словами, одиночный набор контекста для greater2_flag включает в себя только один контекст.

[0079] (ЭТАП S164)

Модуль 151 арифметического кодирования загружает контекст, подлежащий использованию (контекст использования), из памяти 150 контекста greater2_flag на основе количества контекстов, выбранного на этапе S150, и затем выполняет арифметическое кодирование над greater2_flag с использованием контекста. Кроме того, модуль 151 арифметического кодирования сохраняет контекст, который был обновлен в арифметическом кодировании, обратно в том же месте в памяти 150 контекста greater2_flag.

[0080] (ЭТАП S165)

Обработка от этапа S161 к этапу S164 повторяется, пока все коэффициенты целевого 4×4 блока коэффициентов не будут обработаны.

[0081] В результате, greater2_flag соответствующих коэффициентов в целевом блоке коэффициентов закодированы.

[0082] (ЭТАП S145)

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

[0083] (ЭТАП S171)

Модуль 143 установки остатка определяет, равно ли абсолютное значение целевого коэффициента 3 или больше. Если абсолютное значение равно 3 или больше, то остаток кодируется на этапах от S172 до S175. Если абсолютное значение равно 2 или меньше, остаток не кодируется.

[0084] (ЭТАП S172)

Модуль 143 установки остатка вычисляет числовое значение путем вычитания 3 из абсолютного значения целевого коэффициента и устанавливает числовое значение в качестве остатка (многозначный сигнал).

[0085] (ЭТАП S173)

Модуль 152 бинаризации остатка преобразует многозначный сигнал остатка в бинаризованный сигнал. Этот этап будет описан ниже более подробно.

[0086] (ЭТАП S174)

Модуль 151 арифметического кодирования выполняет арифметическое кодирование над остатком. В отличие от greater1_flag и greater2_flag, остаток применяется с обходным арифметическим кодированием, которое не использует никакого контекста.

[0087] (ЭТАП S175)

Модуль 144 обновления параметра бинаризации инициализирует параметр бинаризации (cParam). Этот этап будет описан ниже более подробно.

[0088] (ЭТАП S176)

Обработка от этапа S171 до этапа S175 повторяется, пока все коэффициенты в целевом блоке коэффи