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

Иллюстрации

Показать все

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

Реферат

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

[0001] Настоящее изобретение относится к способу кодирования изображений, устройству кодирования изображений, способу декодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений, и в частности, к способу кодирования изображений, устройству кодирования изображений, способу декодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений для выполнения арифметического кодирования или арифметического декодирования над параметром адаптивного смещения выборок (SAO).

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

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

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

[СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК]

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

[0004] [NPL 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 April-7 May 2012, JCTVC-I0602_CDTexts_r2.doc, BoG report on integrated text of SAO adoptions on top of JCTVC-I0030, http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0602-v3.zip

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

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

[0005] В традиционной методике при кодировании и декодировании изображения желательна ускоренная обработка.

[0006] Здесь настоящее изобретение предоставляет способ кодирования изображений и способ декодирования изображений, в которых обработку можно ускорить.

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

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

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

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

[ПОЛЕЗНЫЕ РЕЗУЛЬТАТЫ ИЗОБРЕТЕНИЯ]

[0010] С помощью способа кодирования изображений, устройства кодирования изображений, способа декодирования изображений, устройства декодирования изображений и устройства кодирования и декодирования изображений в соответствии с настоящим изобретением можно ускорить обработку.

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

[0011] Фиг. 1 - блок-схема, иллюстрирующая примерную конфигурацию устройства кодирования изображений в соответствии с Вариантом 1 осуществления.

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

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

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

Фиг. 5 - блок-схема алгоритма, указывающая примерные процессы в узле кодирования параметров SAO в соответствии с Вариантом 1 осуществления.

Фиг. 6A - блок-схема алгоритма, указывающая примерные процессы в узле кодирования sao_offset в соответствии с Вариантом 1 осуществления.

Фиг. 6B - блок-схема алгоритма, указывающая примерные процессы в узле кодирования sao_offset в соответствии с Разновидностью 2 Варианта 1 осуществления.

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

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

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

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

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

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

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

Фиг. 14 - блок-схема алгоритма, указывающая примерные процессы в узле декодирования параметров SAO в соответствии с Вариантом 2 осуществления.

Фиг. 15A - блок-схема алгоритма, указывающая примерные процессы в узле декодирования sao_offset в соответствии с Вариантом 2 осуществления.

Фиг. 15B - блок-схема алгоритма, указывающая примерные процессы в узле декодирования sao_offset в соответствии с Разновидностью 2 Варианта 2 осуществления.

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

Фиг. 17 иллюстрирует общую конфигурацию системы цифрового вещания.

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

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

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

Фиг. 21A иллюстрирует пример сотового телефона.

Фиг. 21B иллюстрирует блок-схему примера конфигурации сотового телефона.

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

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

Фиг. 24 подробнее иллюстрирует то, как видеопоток сохраняется в потоке пакетов PES.

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

Фиг. 26 иллюстрирует структуру данных PMT.

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

Фиг. 28 иллюстрирует внутреннюю структуру информации об атрибутах потока.

Фиг. 29 иллюстрирует этапы для идентификации видеоданных.

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

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

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

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

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

Фиг. 34B иллюстрирует пример конфигурации для совместного использования модуля в узле обработки сигналов.

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

[0012] (Сведения, на которых основывается настоящее изобретение)

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

[0013] Как описано выше, в соответствии с текущим стандартом HEVC в процессе SAO, который является процессом смещения, выполняется арифметическое кодирование над значением смещения, и значение смещения добавляется в поток двоичных сигналов. Точнее говоря, в арифметическом кодировании по стандарту HEVC сигнал, который должен быть кодирован (например, значение смещения SAO), преобразуется из недвоичного сигнала в строку бинов, и арифметическое кодирование выполняется над строкой бинов.

[0014] Арифметическое кодирование имеет два типа: (1) контекстное арифметическое кодирование, в котором арифметическое кодирование выполняется с использованием адаптивной вероятности появления символа; и (2) обходное арифметическое кодирование, в котором арифметическое кодирование выполняется путем установления вероятности появления символа, например, в 50%.

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

[0016] (2) В отличие от этого в обходном арифметическом кодировании арифметическое кодирование выполняется над сигналом, который должен быть кодирован, путем установления вероятности появления символа, например, в 50% без использования какого-либо контекста. Таким образом, обходное арифметическое кодирование не требует загрузки и обновления контекста.

[0017] Традиционно устройство кодирования изображений выполняет контекстное арифметическое кодирование над значением смещения SAO. Причина в том, что вероятность появления символа у строки бинов, указывающей значение смещения SAO, скорее всего, имеет некое отклонение в соответствии со стандартом HEVC (NPL 1). Когда вероятность появления символа имеет отклонение, уменьшение эффективности кодирования можно остановить с использованием контекстного арифметического кодирования.

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

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

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

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

[0022] Таким образом, способ кодирования изображений с этой конфигурацией дает возможность ускорения обработки без снижения эффективности кодирования.

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

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

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

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

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

[0028] Варианты осуществления в соответствии с настоящим изобретением будут описываться со ссылкой на чертежи.

[0029] Описанные ниже варианты осуществления указывают специфические или общие примеры настоящего изобретения. Значения, формы, материалы, составляющие элементы, положения и соединения составляющих элементов, этапы и порядки этапов, указанные в Вариантах осуществления, являются примерами и не ограничивают настоящее изобретение. Составляющие элементы в Вариантах осуществления, которые не описываются в независимых пунктах формулы изобретения, которые описывают самую общую идею настоящего изобретения, описываются как произвольные составляющие элементы.

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

Устройство кодирования изображений и способ кодирования изображений в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 1-9.

[0031] <1-1. КОНФИГУРАЦИЯ УСТРОЙСТВА>

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

[0032] Устройство 100 кодирования изображений является устройством, которое кодирует изображение, которое должно быть введено (входное изображение), по блокам для формирования потока двоичных сигналов (кодированного потока двоичных сигналов).

[0033] Как проиллюстрировано на фиг. 1, устройство 100 кодирования изображений включает в себя узел 101 разбиения на блоки, узел 102 вычитания, узел 103 преобразования, узел 104 кодирования переменной длины (узел энтропийного кодирования), узел 105 обратного преобразования, узел 106 сложения, узел 107 обработки SAO, узел 110 кодирования параметров SAO, память 108 кадров и узел 109 предсказания.

[0034] Узел 101 разбиения на блоки разбивает входное изображение на блоки, которые должны предсказываться и включают в себя пиксели. Блоки, которые будут предсказываться, являются блоками переменного размера. Например, минимальный размер блоков составляет 4×4 пикселя, а максимальный размер блоков составляет 32×32 пикселя.

[0035] Узел 102 вычитания вычитает блок предсказания, предсказанный узлом 109 предсказания, который будет описан позже, из каждого из блоков, которые должны предсказываться, чтобы вычислить разностный блок. Узел 103 преобразования преобразует разностный блок из области изображения в частотную область, чтобы вывести частотные коэффициенты, и квантует эти частотные коэффициенты. Квантованные частотные коэффициенты в дальнейшем будут называться квантованными коэффициентами.

[0036] Узел 104 кодирования переменной длины выполняет энтропийное кодирование над квантованными коэффициентами, выводимыми из узла 103 преобразования, и различной информацией, необходимой для декодирования (информация о разбиении для блоков, которые должны предсказываться, тип предсказания, вектор движения, режим предсказания (режим внутреннего предсказания), квантованный параметр и т.п.), чтобы сформировать поток двоичных сигналов.

[0037] Узел 105 обратного преобразования выполняет обратное квантование для преобразования квантованных коэффициентов, выводимых из узла 103 преобразования, в частотные коэффициенты и выполняет обратное преобразование для преобразования частотных коэффициентов из частотной области в область изображения, чтобы вывести восстановленный разностный блок. Узел 106 сложения складывает блок предсказания, предсказанный узлом 109 предсказания, который будет описан позже, с восстановленным разностным блоком, выведенным узлом 105 обратного преобразования, чтобы сформировать восстановленный блок.

[0038] Узел 107 обработки SAO выполняет процесс SAO (процесс смещения) над восстановленным блоком для добавления к значению пикселя у каждого пикселя, включенного в восстановленный блок, значения смещения SAO, соответствующего категории (классу), которой принадлежит пиксель, что будет описываться позже. Поскольку процесс, выполняемый узлом 103 преобразования, является необратимым процессом, возникает ошибка между каждым из блоков, которые должны предсказываться во входном изображении, и восстановленным блоком. Значение смещения SAO является значением для исправления ошибки и устанавливается на каждую категорию.

[0039] Узел 110 кодирования параметров SAO выполняет кодирование переменной длины над различными параметрами, которые должны использоваться в процессе SAO, и добавляет параметры в поток двоичных сигналов, выводимый из узла 104 кодирования переменной длины. Вариант 1 осуществления в качестве параметров SAO приводит sao_offset, указывающее значение смещения SAO, и sao_type_idx, указывающее категорию значения смещения SAO.

[0040] Фиг. 2 - блок-схема, иллюстрирующая примерную конфигурацию узла 110 кодирования параметров SAO. Как проиллюстрировано на фиг. 2, узел 110 кодирования параметров SAO включает в себя узел 111 кодирования sao_type_idx и узел 112 кодирования sao_offset.

[0041] Узел 111 кодирования sao_type_idx выполняет арифметическое кодирование над sao_type_idx, указывающим категорию у sao_offset. Здесь sao_offset классифицируется на две категории: значение смещения по границе, определенное в соответствии с состоянием окружающих пикселей; и значение смещения по диапазону, определенное в соответствии с областью, которой принадлежит значение пикселя у пикселя.

[0042] Узел 112 кодирования sao_offset выполняет арифметическое кодирование над sao_offset. Фиг. 3 - блок-схема, иллюстрирующая примерную конфигурацию узла 112 кодирования sao_offset.

[0043] Как проиллюстрировано на фиг. 3, узел 112 кодирования sao_offset включает в себя узел 113 преобразования sao_offset в двоичную форму, узел 114 переключения арифметического кодирования, узел 115 арифметического кодирования контекста 0, узел 116 арифметического кодирования контекста 1 и узел 117 обходного арифметического кодирования.

[0044] Узел 113 преобразования sao_offset в двоичную форму преобразует sao_offset, которое является недвоичным сигналом, в двоичную форму (преобразует sao_offset в сигнал, представляющий 0 и 1). Узел 114 переключения арифметического кодирования переключает способ арифметического кодирования, который должен быть применен к sao_offset. Узел 115 арифметического кодирования контекста 0 выполняет арифметическое кодирование контекста 0 с использованием первого контекста (контекста 0). Узел 116 арифметического кодирования контекста 1 выполняет арифметическое кодирование контекста 1 с использованием второго контекста (контекста 1). Узел 117 обходного арифметического кодирования выполняет обходное арифметическое кодирование с использованием постоянной вероятности.

[0045] Память 108 кадров включает в себя некое запоминающее устройство, например оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM).

[0046] Узел 109 предсказания формирует блок предсказания посредством внешнего предсказания или внутреннего предсказания. При внешнем предсказании узел 109 предсказания выводит вектор движения, используя блок, который должен предсказываться, и формирует блок предсказания, используя выведенный вектор движения и восстановленный блок, полученный в процессе SAO и сохраненный в памяти 108 кадров. При внутреннем предсказании узел 109 предсказания формирует блок предсказания, используя восстановленный блок, полученный в процессе SAO и сохраненный в памяти 108 кадров, в соответствии с режимом предсказания.

[0047] <1-2 ОБЩИЕ ОПЕРАЦИИ>

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

[0048] В устройстве 100 кодирования изображений узел 101 разбиения на блоки сначала разбивает входное изображение на блоки, которые должны предсказываться, и последовательно выводит эти блоки в узел 102 вычитания и узел 109 предсказания (этап S101). Блоки, которые должны предсказываться, имеют переменный размер в соответствии с Вариантом 1 осуществления. Входное изображение разбивается с использованием признаков изображения. Минимальный размер блоков, которые должны предсказываться, равен 4 пикселям по горизонтали × 4 пикселя по вертикали в соответствии с Вариантом 1 осуществления. Кроме того, максимальный размер блоков, которые должны предсказываться, равен 32 пикселям по горизонтали Ч 32 пикселя по вертикали в соответствии с Вариантом 1 осуществления.

[0049] Узел 109 предсказания в устройстве 100 кодирования изображений формирует блок предсказания, используя блоки, которые должны предсказываться, и восстановленный блок, сохраненный в памяти 108 кадров (этап S102).

[0050] Узел 102 вычитания в устройстве 100 кодирования изображений вычитает блок предсказания из каждого из блоков, которые должны предсказываться, чтобы сформировать разностный блок (этап S103).

[0051] Узел 103 преобразования в устройстве 100 кодирования изображений преобразует разностный блок в частотные коэффициенты и преобразует частотные коэффициенты в квантованные коэффициенты (этап S104).

[0052] Узел 105 обратного преобразования в устройстве 100 кодирования изображений обратно квантует квантованные коэффициенты, чтобы вывести частотные коэффициенты, и преобразует частотные коэффициенты из частотной области в область изображения, чтобы сформировать восстановленный разностный блок (этап S105).

[0053] Узел 106 сложения в устройстве 100 кодирования изображений складывает блок предсказания с восстановленным разностным блоком, чтобы сформировать восстановленный блок (этап S106).

[0054] Узел 107 обработки SAO в устройстве 100 кодирования изображений выполняет процесс SAO (этап S107). Узел 107 обработки SAO сначала определяет параметры SAO, которые должны использоваться для процесса SAO. В Варианте 1 осуществления параметрами SAO являются sao_offset, указывающее значение смещения SAO, и sao_type_idx, указывающее категорию значения смещения SAO. Узел 107 обработки SAO складывает значение смещения SAO со значением пикселя у каждого пикселя, включенного в восстановленный блок, и сохраняет в памяти 108 кадров восстановленный блок, к которому добавляются значения смещения SAO. В процессе SAO каждый из пикселей, включенных в восстановленный блок, классифицируется по категориям, и для каждой из тех категорий выводится значение смещения SAO. Способы для классификации пикселей многочисленны. Таким образом, используется параметр sao_type_idx, указывающий категорию значения смещения SAO.

[0055] Узел 110 кодирования параметров SAO в устройстве 100 кодирования изображений выполняет кодирование переменной длины над параметром SAO и добавляет этот параметр в поток двоичных сигналов, выводимый из узла 104 кодирования переменной длины (этап S108). Подробности узла 110 кодирования параметров SAO будут описываться позже.

[0056] Узел 104 кодирования переменной длины в устройстве 100 кодирования изображений выполняет кодирование переменной длины над квантованными коэффициентами, выводимыми из узла 103 преобразования, чтобы вывести поток двоичных сигналов (этап S109).

[0057] Устройство 100 кодирования изображений повторно выполняет Этапы S102 - S109 до тех пор, пока не завершится кодирование всех блоков входного изображения, которые должны предсказываться (этап S110).

[0058] <1-2-1. ОПЕРАЦИИ УЗЛА КОДИРОВАНИЯ ПАРАМЕТРОВ SAO>

Операции узла 110 кодирования параметров SAO в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 5.

[0059] Фиг. 5 - блок-схема алгоритма, указывающая примерные процессы узла 110 кодирования параметров SAO, и подробно описывает Этап S108 из фиг. 4.

[0060] Узел 111 кодирования sao_type_idx в узле 110 кодирования параметров SAO кодирует sao_type_idx (этап S111).

[0061] Узел 112 кодирования sao_offset в узле 110 кодирования параметров SAO кодирует sao_offset (этап S112).

[0062] <1-2-2. ОПЕРАЦИИ УЗЛА КОДИРОВАНИЯ SAO_OFFSET>

Операции узла 112 кодирования sao_offset в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 6A. Фиг. 6A - блок-схема алгоритма, указывающая примерные процессы в узле 112 кодирования sao_offset.

[0063] Узел 113 преобразования sao_offset в двоичную форму в узле 112 кодирования sao_offset преобразует sao_offset из недвоичного сигнала в строку бинов (этап S121).

[0064] Вариант 1 осуществления описывает случай, где sao_offset принимает значения от 0 до 7. Фиг. 7 - таблица, указывающая соответствие между недвоичными сигналами и строками бинов. Как видно из фиг. 7, количество последовательных "1" от начала каждой строки бинов равно значению, указанному недвоичным сигналом. Кроме того, "0" добавляется в конец, когда недвоичный сигнал находится между 0 и 6. Когда недвоичный сигнал равен 7, то есть максимальному числу, никакого "0" в конец не добавляется. Здесь binIdx является индексом бина (одного разряда), включенного в строку бинов. Первым значением binIdx является 0, а последующие значения увеличиваются на 1. Строка бинов выводится в узел 114 переключения арифметического кодирования последовательно от бина, чей binIdx равен 0.

[0065] Узел 114 переключения арифметического кодирования в узле 112 кодирования sao_offset определяет значение binIdx (этапы S122, S124 и S126).

[0066] Когда значение равно 0 (Да на этапе S122), узел 114 переключения арифметического кодирования выводит бин в узел 115 арифметического кодирования контекста 0. Узел 115 арифметического кодирования контекста 0 выполняет контекстное арифметическое кодирование с использованием контекста 0 (этап S123).

[0067] Когда значение равно 1 (Нет на этапе S122 и Да на этапе S124), узел 114 переключения арифметического кодирования выводит бин в узел 116 арифметического кодирования контекста 1. Узел 116 арифметического кодирования контекста 1 выполняет контекстное арифметическое кодирование с использованием контекста 1 (этап S125).

[0068] Когда значение не равно ни 0, ни 1 (Нет на этапе S122 и Нет на этапе S124), узел 114 переключения арифметического кодирования выводит бин в узел 117 обходного арифметического кодирования. Узел 117 обходного арифметического кодирования выполняет обходное арифметическое кодирование (этап S126).

[0069] Поскольку узел 117 обходного арифметического кодирования не использует никакой контекст, узел 112 кодирования sao_offset в целом использует два типа контекстов в соответствии с Вариантом 1 осуществления.

[0070] Узел 112 кодирования sao_offset повторяет процессы с Этапа 122 по Этап 127 до тех пор, пока не завершится обработка всех бинов, включенных в строку бинов (этап S127).

[0071] <1-3. ПРЕИМУЩЕСТВА, РАЗНОВИДНОСТИ И Т.П.>

Устройство 100 кодирования изображений в соответствии с Вариантом 1 осуществления может ускорить обработку путем выполнения обходного арифметического кодирования над бинами во второй половине sao_offset. Точнее говоря, в соответствии с Вариантом 1 осуществления не контекстное арифметическое кодирование, а обходное арифметическое кодирование выполняется над бинами, чей binIdx равен 2 или выше. Как описано выше, обходное арифметическое кодирование не требует загрузки и обновления никакого контекста. Таким образом, арифметическое кодирование над значением смещения SAO у блока, который должен предсказываться, может начинаться без ожидания завершения арифметического кодирования над другим значением смещения SAO, и обработку можно ускорить.

[0072] Кроме того, вероятности появления символов (вероятности появления 1) у binIdx с 1 по 6 в соответствии со стандартом HEVC (NPTL 1), который изучается в настоящее время, почти одинаковы, но не равны 50% и имеют отклонение. Другими словами, при наличии binIdx после binIdx1 (когда sao_offset равно 1 или выше), случаи часто делятся на случай, где binIdx1 равен 0 без какого-либо binIdx2 и после (sao_offset равно 1), и случай, где все binIdx с 1 по 6 равны 1 (sao_offset равно 7).

[0073] Однако авторы изобретения обнаружили, что в результате эксперимента для кодирования binIdx с 1 по 6 с постоянной вероятностью появления символа в 50% эффективность кодирования почти не ухудшается. В частности, эксперимент показал, что sao_offset часто указывает промежуточное значение (от 2 до 6), и вероятности появления символов у binIdx с 1 по 6 близки к 50%. Таким образом, обработку для подавления уменьшения эффективности кодирования можно ускорить, используя не контекстное арифметическое кодирование, а обходное арифметическое кодирование над binIdx после binIdx2.

[0074] <1-3-1. РАЗНОВИДНОСТИ>

Хотя обходное арифметическое кодирование выполняется над бинами после binIdx2 в соответствии с Вариантом 1 осуществления, обработка этим не ограничивается.

[0075] Фиг. 8 - таблица, указывающая соответствие между бинами, включенными в binIdx, и арифметическим кодированием, которое будет применено. На фиг. 8 "Вариант 1 осуществления" указывает соответствие между бинами, описанными в Варианте 1 осуществления, и арифметическим кодированием, которое должно быть применено. Кроме того, "Контекст 0" указывает контекстное арифметическое кодирование с использованием контекста 0. "Контекст 1" указывает контекстное арифметическое кодирование с использованием контекста 1. "Обходное" указывает обходное арифметическое кодирование.

[0076] "Изменение 1" на фиг. 8 указывает Разновидность 1. В соответствии с Разновидностью 1, контекстное арифметическое кодирование выполняется над бином в binIdx0, а обходное арифметическое кодирование выполняется над бинами после binIdx1. Кроме того, в соответствии с Разновидностью 1 узел 112 кодирования sao_offset на фиг. 2 должен включать в себя только узел 113 преобразования sao_offset в двоичную форму, узел 114 переключения арифметического кодирования, узел 115 арифметического кодирования контекста 0 и узел 117 обходного арифметического кодирования. Другими словами, узел 112 кодирования sao_offset не должен включать в себя узел 116 арифметического кодирования контекста 1.

[0077] "Изменение 2" на фиг. 8 указывает Разновидность 2. В Разновидности 2 обходное арифметическое кодирование выполняется над каждым из бинов в binIdx, как показано на фиг. 8.

[0078] Фиг. 6B - блок-схема алгоритма, указывающая примерные процессы (способ кодирования изображений) в узле 112 кодирования sao_offset в соответствии с Разновидностью 2. На фиг. 6B sao_offset преобразуется в двоичную форму (этап S121 для преобразования значения смещения в строку бинов), и обходное арифметическое кодирование выполняется над всеми бинами, включенными в sao_offset (этапы S126 и S127 для выполнения обходного арифметического кодирования). Поскольку обходное арифметическое кодирование выполняется над всеми бинами, обработка может быть самой быстрой в Разновидности 2.

[0079] Кроме того, в соответствии с Разновидностью 2 узел 112 кодирования sao_offset на фиг. 2 должен включать в себя только узел 113 преобразования sao_offset в двоичную форму и узел 117 обходного арифметического кодирования. Другими словами, узел 112 кодирования sao_offset не должен включать в себя узел 115 арифметического кодирования контекста 0 и узел 116 арифметического кодирования контекста 1.

[0080] Хотя и не проиллюстрировано, приемлемо выполнять контекстное арифметическое кодирование над binIdx с 0 по 2 и обходное арифметическое кодирование над binIdx после binIdx3.

[0081] <1-3-2. РЕЗУЛЬТАТ ЭКСПЕРИМЕНТА ПО ЭФФЕКТИВНОСТИ КОДИРОВАНИЯ>

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

[0082] Фиг. 9 показывает результат сравнения между эффективностью кодирования, полученной путем выполнения арифметического кодирования над значением смещения SAO в соответствии с текущим стандартом HEVC (NPL 1), и эффективностью кодирования в соответствии с Вариантом 1 осуществления и Разновидностью 1. Условия эксперимента придерживаются общих условий эксперимента в структуре стандарта HEVC.

[0083] Чем больше значение, тем ниже эффективность кодирования. Отрицательное значение указывает повышение эффективности кодирования.

[0084] Как показано в "Варианте 1 осуществления" из фиг. 9, значения, указывающие результат сравнения, колеблются между -0,1% и 0,1%. Это указывает, что эффективность кодирования для кодирования binIdx2 - binIdx6 у значения смещения SAO почти одинакова между контекстным арифметическим кодированием и обходным арифметическим кодированием.

[0085] Хотя эффективность кодирования у Разновидности 1 ниже, чем у Варианта 1 осуществления, как видно из "Изменения 1" на фиг. 9, результаты колеблются между 0 и 0,1%, и эффективность кодирования почти одинакова.

[0