Обеспечение информации точности в устройстве кодирования изображения, способ и программа кодирования изображения, устройство декодирования изображения и способ и программа декодирования изображения
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в повышении качества изображения. Устройство кодирования изображения содержит модуль предсказания, сконфигурированный, чтобы выполнять предсказание для принятого изображения, чтобы генерировать ошибки предсказания на основе предсказанного изображения; модуль преобразования, сконфигурированный, чтобы выполнять ортогональное преобразование в отношении ошибок предсказания, чтобы генерировать коэффициенты преобразования; модуль квантования, сконфигурированный, чтобы выполнять квантование в отношении упомянутых коэффициентов преобразования, чтобы генерировать коэффициенты квантования; первый модуль кодирования, сконфигурированный, чтобы закодировать коэффициенты квантования; второй модуль кодирования, сконфигурированный, чтобы закодировать информацию, указывающую по меньшей мере одно из диапазона, в котором берутся коэффициенты преобразования, и диапазона, в котором берутся коэффициенты квантования. 6 н. и 19 з.п. ф-лы, 25 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к устройству кодирования изображения, способу и программе кодирования изображения, устройству декодирования изображения, и способу и программе декодирования изображения.
УРОВЕНЬ ТЕХНИКИ
[0002] В качестве схемы кодирования для записи сжатия движущихся изображений, известен H.264/MPEG-4 AVC (в дальнейшем названный H.264) (NPL 1: ITU-T H.264 (06/2011) Усовершенствованное кодирование видео для обобщенных аудиовизуальных услуг). В H.264 определено множество профилей, которые определяют пределы в технологии кодировании. Например, профиль High 10 соответствуют изображению глубины в битах в пределах от 8 битов до 10 битов.
[0003] В последние годы были начаты действия, чтобы достигнуть международной стандартизации схемы кодирования с более высокой эффективностью в качестве преемника H.264. Между Международной организацией по Стандартизации (ISO)/Международной Электротехнической Комиссией (IEC) и Сектором Стандартизации Телекоммуникаций Международного Телекоммуникационного Союза (ITU-T) была основана Объединенная Совместная Команда по Кодированию видео (JCT-VC). В JCT-VC стандартизация схемы кодирования высокоэффективного кодирования видео (HEVC) (в дальнейшем, сокращенной как HEVC) находится в стадии реализации.
[0004] Профиль Main 10, который соответствуют изображению глубины в битах в пределах от 8 битов до 10 битов, определен также в HEVC (NPL2: JCT-VC contributions JCTVC-K1003_v10.doc Internet<http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/>).
[0005] В HEVC при обработке ортогонального преобразования компенсация движения или подобное, посредством уменьшения арифметической точности в соответствии с битовой глубиной изображения, акцент делается на легкости реализации. Например, выражение (1), представленное ниже, является одним из выражений вычисления, используемых для обработки компенсации движения в отношении десятичного пикселя, при компенсации движения для сигналов цветности.
[Математическое выражение 1]
(1)
[0006] Нужно отметить, что в выражении (1) "shift1" представляет битовую глубину цветности минус 8, и ">>" представляет сдвиг битов вправо.
[0007] В выражении (1) "Bij" представляет промежуточные значения для вычисления пикселя цветности в целочисленной пиксельной позиции и "ab0,0" представляет пиксель цветности в десятичной пиксельной позиции, соответственно. Выражение (1) включает в себя обработку сдвига битов вправо на "shift1", которое всегда зависит от битовой глубины. Поэтому диапазон значения, которое может представлять промежуточное значение "ab0,0", является постоянным независимо от битовой глубины изображения. Так как вводится такая арифметическая обработка, предполагается, что в HEVC стоимость реализации аппаратного обеспечения не увеличивается, даже когда поддерживается изображение более высокой битовой глубины. Напротив, посредством арифметической операции, представленной обработкой сдвига битов, описанной выше, арифметическая точность уменьшается в случае изображений высокой битовой глубины. Поэтому имеется проблема, заключающаяся в том, что не улучшается качество изображения.
Список цитат
Непатентная литература
[0008] : ITU-T H.264 (06/2011) Advancedvideo coding for generic audiovisual servicesnplcit 2 : JCT-VC contributions JCTVC-K1003_v10.doc Internet <http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/>
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0009] Настоящее изобретение было сделано, чтобы решить проблемы, описанные выше. Настоящее изобретение достигает кодирования и декодирования, которые поддерживают как процесс кодирования, который не зависит от битовой глубины изображений и который поддерживает некоторую точность даже в случае высокой битовой глубины, так и процесс кодирования, который зависит от битовой глубины изображений и который делает акцент на легкости реализации посредством уменьшения арифметической точности в случае высокой битовой глубины.
[0010] Соответственно, устройство кодирования изображения согласно аспекту настоящего изобретения включает в себя модуль предсказания, сконфигурированный, чтобы выполнить предсказание для принятого изображения для каждого блока на основе закодированных пикселей, чтобы генерировать ошибки предсказания; модуль преобразования и квантования, сконфигурированный, чтобы выполнить ортогональное преобразование и квантование в отношении ошибок предсказания, чтобы генерировать коэффициенты квантования; модуль кодирования коэффициентов, сконфигурированный, чтобы закодировать коэффициенты квантования; модуль генерирования информации арифметической точности, сконфигурированный, чтобы генерировать информацию выбора арифметической точности, представляющую выбор арифметической точности по меньшей мере одного из предсказания, ортогонального преобразования, и квантования; и модуль кодирования арифметической точности, сконфигурированный, чтобы закодировать информацию выбора арифметической точности.
[0011] Согласно другому аспекту настоящего изобретения устройство декодирования изображения включает в себя модуль декодирования коэффициентов, сконфигурированный, чтобы декодировать закодированные коэффициенты квантования, из принятого битового потока, чтобы восстановить коэффициенты квантования; модуль обратного квантования и обратного преобразования, сконфигурированный, чтобы выполнить обратное квантование и выполнить обратное ортогональное преобразование в отношении коэффициентов квантования, чтобы восстановить ошибки предсказания; модуль восстановления изображений, сконфигурированный, чтобы выполнить предсказание на основании декодированных пикселей, генерировать изображение предсказания, и восстановить изображение, декодированное на основе изображения предсказания и ошибок предсказания; и модуль декодирования информации арифметической точности, сконфигурированный, чтобы декодировать информацию выбора арифметической точности, представляющую выбор арифметической точности по меньшей мере одного из обратного квантования, обратного ортогонального преобразования и предсказания, из битового потока.
[0012] Дополнительные признаки настоящего изобретения станут очевидными из нижеследующего описания примерных вариантов осуществления со ссылками на приложенные чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0013] [Фиг. 1] Фиг. 1 является блок-схемой, иллюстрирующей конфигурацию устройства кодирования изображения согласно первому варианту осуществления.
[Фиг. 2] Фиг. 2 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования изображения согласно второму варианту осуществления.
[Фиг. 3] Фиг. 3 является блок-схемой, иллюстрирующей конфигурацию устройства кодирования изображения согласно третьему варианту осуществления.
[Фиг. 4] Фиг. 4 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования изображения согласно четвертому варианту осуществления.
[Фиг. 5] Фиг. 5 является последовательностью операций, иллюстрирующей процесс кодирования изображения, выполняемый устройством кодирования изображения согласно первому варианту осуществления.
[Фиг. 6] Фиг. 6 является последовательностью операций, иллюстрирующей процесс декодирования изображения, выполняемый устройством декодирования изображения согласно второму варианту осуществления.
[Фиг. 7] Фиг. 7 является последовательностью операций, иллюстрирующей процесс кодирования изображения, выполняемый устройством кодирования изображения согласно третьему варианту осуществления.
[Фиг. 8] Фиг. 8 является последовательностью операций, иллюстрирующей процесс декодирования изображения, выполняемый устройством декодирования изображения согласно четвертому варианту осуществления.
[Фиг. 9] Фиг. 9 является блок-схемой, иллюстрирующей конфигурацию устройства кодирования изображения согласно пятому варианту осуществления.
[Фиг. 10] Фиг. 10 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования изображения согласно шестому варианту осуществления.
[Фиг. 11] Фиг. 11 является блок-схемой, иллюстрирующей другую конфигурацию устройства кодирования изображения согласно пятому варианту осуществления.
[Фиг. 12] Фиг. 12 является блок-схемой, иллюстрирующей другую конфигурацию устройства декодирования изображения согласно шестому варианту осуществления.
[Фиг. 13] Фиг. 13 является последовательностью операций, иллюстрирующей процесс кодирования изображения, выполняемый устройством кодирования изображения согласно пятому варианту осуществления.
[Фиг. 14] Фиг. 14 является последовательностью операций, иллюстрирующей процесс декодирования изображения, выполненный устройством декодирования изображения согласно шестому варианту осуществления.
[Фиг. 15] Фиг. 15 является другой последовательностью операций, иллюстрирующей процесс кодирования изображения, выполняемый устройством кодирования изображения согласно пятому варианту осуществления.
[Фиг. 16] Фиг. 16 является другой последовательностью операций, иллюстрирующей процесс декодирования изображения, выполненный устройством декодирования изображения согласно шестому варианту осуществления.
[Фиг. 17A] Фиг. 17A является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в первом варианте осуществления, и декодируемого во втором варианте осуществления.
[Фиг. 17B] Фиг. 17B является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в первом варианте осуществления, и декодируемого во втором варианте осуществления.
[Фиг. 18A] Фиг. 18A является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в третьем варианте осуществления, и декодируемого в четвертом варианте осуществления.
[Фиг. 18B] Фиг. 18B является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в третьем варианте осуществления, и декодируемого в четвертом варианте осуществления.
[Фиг. 19A] Фиг. 19A является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в пятом варианте осуществления, и декодируемого в шестом варианте осуществления.
[Фиг. 19B] Фиг. 19B является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в пятом варианте осуществления, и декодируемого в шестом варианте осуществления.
[Фиг. 19C] Фиг. 19C является диаграммой, иллюстрирующей пример конфигурации битового потока, сгенерированного в пятом варианте осуществления, и декодируемого в шестом варианте осуществления.
[Фиг. 20] Фиг. 20 является блок-схемой, иллюстрирующей пример конфигурации аппаратного обеспечения компьютера, который применим к устройству кодирования изображения и устройству декодирования согласно варианту осуществления настоящего изобретения.
[Фиг. 21] Фиг. 21 является диаграммой, иллюстрирующей отношения между информацией диапазона, битовой глубиной изображения, и диапазоном, который может быть взят как коэффициент квантования в первом и втором вариантах осуществления.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0014] В дальнейшем со ссылками на приложенные чертежи изобретение настоящей заявки описано подробно на основании вариантов осуществления. Конфигурации, иллюстрированные в нижеследующих вариантах осуществления, являются просто примерами, и настоящее изобретение не ограничено иллюстрированными конфигурациями.
Первый вариант осуществления
[0015] Ниже варианты осуществления настоящего изобретения описаны со ссылками на чертежи. Фиг. 1 является блок-схемой, иллюстрирующей устройство кодирования изображения согласно первому варианту осуществления. На фиг. 1 терминал 101 принимает данные изображения.
[0016] Модуль 102 ввода анализирует битовую глубину данных изображения, введенных в него, и делит данные изображения на единицы квадратных блоков. Модуль 103 генерирования информации арифметической точности преобразования и квантования генерирует информацию выбора арифметической точности преобразования и квантования, которая описана ниже. В то же время модуль 103 генерирования информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования, представляющую арифметическую точность обработки преобразования и квантования, выполняемой в модуле 106 преобразования и квантования и обработки обратного квантования и обратного преобразования, выполняемой в модуле 107 обратного квантования и обратного преобразования. Модуль 104 кодирования заголовка кодирует информацию, необходимую для декодирования битового потока, такую как информация битовой глубины изображения, чтобы генерировать кодовые данные заголовка.
[0017] Модуль 105 предсказания выполняет внутреннее предсказание, которое является внутрикадровым предсказанием, внешним предсказанием, которое является предсказанием между кадрами, или подобным, обращаясь к памяти 109 кадров, в единицах разделенных квадратных блоков, и генерирует информацию предсказания, представляющую способ предсказания и ошибку предсказания. Модуль 106 преобразования и квантования вычисляет коэффициент преобразования посредством выполнения, для каждого блока, ортогонального преобразования в отношении ошибки предсказания, сгенерированной модулем 105 предсказания, и вычисляет коэффициент квантования посредством выполнения квантования в отношении коэффициента преобразования. Модуль 107 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, сгенерированного модулем 106 преобразования и квантования, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования.
[0018] Модуль 108 восстановления изображений выполняет внутреннее предсказание, внешнее предсказание или подобное, обращаясь к памяти 109 кадров на основе информации предсказания, сгенерированной модулем 105 предсказания, и генерирует изображение восстановления на основе ошибки предсказания, сгенерированной модулем 107 обратного квантования и обратного преобразования. Память 109 кадров хранит изображения, восстановленные модулем 108 восстановления изображений. Модуль 110 кодирования блоков генерирует кодовые данные блока посредством кодирования информации предсказания, сгенерированной модулем 105 предсказания, и коэффициент квантования, сгенерированный модулем 106 преобразования и квантования. Модуль 11 кодирования интеграции формирует битовый поток на основе сгенерированных кодовых данных заголовка и кодовых данных блока, и выводит сформированный битовый поток. Терминал 112 выводит битовый поток, сгенерированный модулем 11 кодирования интеграции, вовне.
[0019] Операция кодирования изображения, выполняемая в вышеописанном устройстве кодирования изображения, описана ниже. В первом варианте осуществления устройство кодирования изображения конфигурируется, чтобы принять движущиеся данные изображения в единицах кадров. Однако устройство кодирования изображения может конфигурироваться, чтобы принять данные неподвижного изображения для одного кадра.
[0020] Данные изображения для одного кадра, принятого через терминал 101, вводятся к модулю 102 ввода. В первом варианте осуществления данные изображения 10-битовой глубины вводятся к устройству кодирования изображения. Однако битовая глубина данных изображения ввода не ограничена этим. Модуль 102 ввода анализирует битовую глубину принятых данных изображения и выводит информацию битовой глубины к модулю 103 генерирования информации арифметической точности преобразования и квантования и модулю 104 кодирования заголовка. Однако информация битовой глубины может быть отдельно предоставлена от внешней стороны и введена в модуль 103 генерирования информации арифметической точности преобразования и квантования и модуль 104 кодирования заголовка. Кроме того, принятые данные изображения разделяют на единицы квадратных блоков и выводят к модулю 103 предсказания.
[0021] Модуль 103 генерирования информации арифметической точности преобразования и квантования определяет, должна ли быть выполнена обработка преобразования и квантования, которая дает приоритет легкости реализации посредством регулировки арифметической точности в соответствии с битовой глубиной, или обработка преобразования и квантования, которая поддерживает постоянную арифметическую точность независимо от битовой глубины, и устанавливает информацию, представляющую результат определения, как информацию выбора арифметической точности преобразования и квантования. В дальнейшем первая обработка преобразования и квантования, в которой арифметическая точность отрегулирована согласно битовой глубине, будет упоминаться как ориентированная на реализацию обработка преобразования и квантования, и последняя обработка преобразования и квантования, в которой арифметическая точность поддерживается постоянной, будет упоминаться как ориентированная на точность обработка преобразования и квантования. В первом варианте осуществления информация выбора арифметической точности преобразования и квантования установлена в "0", когда выбрана первая ориентированная на реализацию обработка преобразования и квантования, и информация выбора арифметической точности преобразования и квантования установлена в "1", когда выбрана последняя ориентированная на точность обработка преобразования и квантования. Однако комбинация выбранной обработки преобразования и квантования и информация выбора арифметической точности преобразования и квантования не ограничена этим. Кроме того, способ для определения информации выбора арифметической точности преобразования и квантования практически не ограничен. Информация выбора арифметической точности преобразования и квантования может быть определена до обработки кодирования до применения приложения, в котором должны использоваться устройство кодирования и соответствующее устройство декодирования. Альтернативно, информация выбора арифметической точности преобразования и квантования может быть выбрана пользователем, который не иллюстрирован. Например, в случае, когда предполагается, что устройство кодирования согласно первому варианту осуществления используется в приложении, в котором акцент делается на арифметической точности, информация выбора арифметической точности преобразования и квантования устанавливается в "1". Между тем, например, в случае, когда предполагается, что устройство кодирования не используется в таком приложении, информация выбора арифметической точности преобразования и квантования устанавливается в "0".
[0022] Затем модуль 103 генерирования информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования на основе вышеупомянутой информации выбора арифметической точности преобразования и квантования и информации битовой глубины, принятой от модуля 102 ввода. Когда информация выбора арифметической точности преобразования и квантования представляет "1", значение разности между битовой глубиной изображения и опорной битовой глубиной, которая является 8-битовой глубиной, используется в качестве информации арифметической точности преобразования и квантования. В первом варианте осуществления, так как битовая глубина изображения является 10-битовой глубиной, информация арифметической точности преобразования и квантования установлена в "2". Кроме того, когда информация выбора арифметической точности преобразования и квантования представляет "0", "0" устанавливается в качестве информации арифметической точности преобразования и квантования. Однако комбинация этого значения и значения информации арифметической точности преобразования и квантования не ограничены упомянутым выше примером. Любая комбинация возможна, пока информация арифметической точности преобразования и квантования может представлять, что арифметическая точность обработки преобразования и квантования увеличена, когда битовая глубина изображения больше чем опорная битовая глубина.
[0023] Сгенерированная информация арифметической точности преобразования и квантования выводится к модулю 104 кодирования заголовка, и сгенерированная информация арифметической точности преобразования и квантования выводится к модулю 106 преобразования и квантования и модулю 107 обратного квантования и обратного преобразования.
[0024] Модуль 104 кодирования заголовка кодирует информацию, необходимую для декодирования, такую как информация битовой глубины, принятую от модуля 102 ввода, и информацию выбора арифметической точности преобразования и квантования, принятую от модуля 103 генерирования информации арифметической точности преобразования и квантования, чтобы генерировать кодовые данные заголовка. Кодовые данные заголовка соответствуют части заголовка битового потока. Сгенерированные кодовые данные заголовка выводятся к модулю 111 кодирования интеграции.
[0025] Данные изображения, разделенные на единицы блоков модулем 102 ввода, вводятся в модуль 103 предсказания. Модуль 105 предсказания выполняет предсказание в единицах блоков посредством подходящего обращения к закодированным пикселям, сохраненным в памяти 109 кадров, и генерирует изображение предсказания. Ошибка предсказания генерируется как разность между изображением ввода и изображением предсказания для каждого блока, и сгенерированная ошибка предсказания вводится в модуль 106 преобразования и квантования. Кроме того, модуль 105 предсказания генерирует информацию, необходимую для предсказания, такую как вектор движения, режим предсказания и т.п., в качестве информации предсказания, и выводит сгенерированную информацию предсказания к модулю 108 восстановления изображений и модулю 110 кодирования блоков.
[0026] Модуль 106 преобразования и квантования сначала принимает информацию арифметической точности преобразования и квантования от модуля 103 генерирования информации арифметической точности преобразования и квантования, и определяет арифметическую точность в обработке преобразования и квантования. В первом варианте осуществления на основании таблицы, проиллюстрированной на фиг. 21, диапазон, который может быть взят в качестве каждого из арифметического результата одномерного ортогонального преобразования в каждом из горизонтального и вертикального направлений и обработки квантования, определен в качестве арифметической точности. Однако комбинация информации арифметической точности преобразования и квантования и диапазона, который может быть взят каждого арифметического результата, не ограничена упомянутым выше примером. В первом варианте осуществления, так как информация арифметической точности преобразования и квантования имеет значение "0" или "2", введена, каждый арифметический результат изменяется от -32768 до 32767 или от -131072 до 131071. Хотя обработка для случая, когда каждый арифметический результат превышает вышеупомянутый диапазон, конкретно не ограничена, результат может быть настроен в пределах вышеупомянутого диапазона посредством выполнения обработки обрезанием или обработки сдвига битов.
[0027] Затем на основании арифметической точности, определенной как описано выше, модуль 106 преобразования и квантования выполняет ортогональное преобразование в отношении ошибки предсказания, принятой от модуля 105 предсказания, чтобы генерировать коэффициент преобразования. Кроме того, модуль 106 преобразования и квантования выполняет квантование в отношении коэффициента преобразования, чтобы генерировать коэффициент квантования. Затем модуль 106 преобразования и квантования выводит сгенерированный коэффициент квантования к модулю 107 обратного квантования и обратного преобразования и модулю 110 кодирования блоков.
[0028] Подобно модулю 106 преобразования и квантования модуль 107 обратного квантования и обратного преобразования сначала принимает информацию арифметической точности преобразования и квантования от модуля 103 генерирования информации арифметической точности преобразования и квантования, и определяет арифметическую точность при обработке обратного преобразования и обратного квантования. В первом варианте осуществления, подобно модулю 106 преобразования и квантования, на основании таблицы, иллюстрированной на фиг. 21, модуль 107 обратного квантования и обратного преобразования определяет диапазон, который может быть взят в качестве каждого арифметического результата обработки обратного квантования и обработки одномерного ортогонального преобразования в каждом из вертикального и горизонтального направлений в качестве арифметической точности.
[0029] Затем модуль 107 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, принятого от модуля 106 преобразования и квантования, на основе арифметической точности, определенной как описано выше, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования. Затем модуль 107 обратного квантования и обратного преобразования выводит восстановленную ошибку предсказания к модулю 108 восстановления изображений.
[0030] Модуль 108 восстановления изображений генерирует изображение предсказания, соответственно, обращаясь к памяти 109 кадров, на основе информации предсказания, принятой от модуля 105 предсказания, и генерирует изображение восстановления на основании сгенерированного изображения предсказания и ошибки предсказания, принятой от модуля 107 обратного квантования и обратного преобразования. Затем модуль 108 восстановления изображений выводит сгенерированное изображение восстановления к памяти 109 кадров, и изображение восстановления сохраняется в память 109 кадров.
[0031] Модуль 110 кодирования блоков энтропийно кодирует, в единицах блоков, коэффициент квантования, принятый от модуля 106 преобразования и квантования, и информацию предсказания, принятую от модуля 105 предсказания, чтобы генерировать кодовые данные блока. Хотя способ энтропийного кодирования конкретно не определен, кодирование Голомба, арифметическое кодирование, кодирование Хаффмана или подобное могут использоваться. Затем модуль 110 кодирования блоков выводит сгенерированные кодовые данные блока к модулю 111 кодирования интеграции.
[0032] Модуль 11 кодирования интеграции формирует битовый поток посредством мультиплексирования кодовых данных заголовка, которые сгенерированы до обработки кодирования в единицах блоков и приняты от модуля 104 кодирования заголовка, и кодовых данных блока, принятых от модуля 1110 кодирования блоков. Наконец, битовый поток, сформированный модулем 11 кодирования интеграции, выводится через терминал 112 во вне.
[0033] Фиг. 17A иллюстрирует пример битового потока, сгенерированного в первом варианте осуществления. Информация выбора арифметической точности преобразования и квантования скомпонована как код информации выбора арифметической точности преобразования и квантования в пределах заголовка любого одного из последовательности, картинки и т.п. Точно так же, информация битовой глубины также скомпонована как код информации глубины в битах в пределах заголовка одного из последовательности, картинки и т.п.
[0034] Однако битовый поток необязательно конфигурируется как описано выше. Как иллюстрировано на фиг. 17B, вместо того, чтобы кодировать код информации выбора арифметической точности преобразования и квантования, соответствующий профиль может быть определен, и этот определенный профиль может быть закодирован как код информации профиля. Например, предполагается, что существуют 10-битовый профиль Main и 10-битовый профиль Main высокой точности, и эта информация выбора арифметической точности преобразования и квантования 10-битового профиля Main и информация выбора арифметической точности преобразования и квантования 10-битового профиля Main высокой точности установлены в "0" и "1", соответственно. Таким образом, диапазон, который может быть взят в качестве каждого арифметического результата обработки преобразования и квантования, является постоянным независимо от битовой глубины изображения в случае 10-битового профиля Main, тогда как диапазон, который может быть взят в качестве каждого арифметического результата обработки преобразования и квантования, отличается в зависимости от битовой глубины изображения в случае 10-битового профиля Main высокой точности. В таком случае, когда информация выбора арифметической точности преобразования и квантования представляет "0", код, представляющий 10-битовый профиль Main, может быть закодирован как код информации профиля. Напротив, когда информация выбора арифметической точности преобразования и квантования представляет "1", код, представляющий 10-битовый профиль Main высокой точности, может быть закодирован как код информации профиля.
[0035] Фиг. 5 является последовательностью операций, иллюстрирующей процесс кодирования изображения, выполняемый устройством кодирования изображения согласно первому варианту осуществления.
[0036] На этапе S501 модуль 102 ввода анализирует битовую глубину принятых данных изображения, чтобы генерировать информацию битовой глубины. На этапе S502 модуль 103 генерирования информации арифметической точности преобразования и квантования генерирует информацию выбора арифметической точности преобразования и квантования для того, чтобы выбрать информацию арифметической точности преобразования и квантования, представляющую арифметическую точность в обработке преобразования и квантования. На этапе S503 модуль 103 генерирования информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования на основании информации выбора арифметической точности преобразования и квантования, сгенерированной на этапе S502, и информации битовой глубины, сгенерированной на этапе S501. На этапе S504 модуль 104 кодирования заголовка генерирует кодовые данные заголовка посредством кодирования информации, необходимой для декодирования, такой как информация битовой глубины, сгенерированная на этапе S501, и информация выбора арифметической точности преобразования и квантования, сгенерированная на этапе S502.
[0037] На этапе S505 модуль 11 кодирования интеграции формирует часть заголовка битового потока на основе кодовых данных заголовка, сгенерированных на этапе S504, и выводит эту часть заголовка. На этапе S506 модуль 102 ввода отделяет квадратные блоки от принятых данных изображения, и модуль 105 предсказания выполняет предсказание данных изображения для каждого отделенного блока, чтобы генерировать изображение предсказания. В качестве разности между принятыми данными изображения и изображением предсказания для каждого блока генерируется ошибка предсказания. Кроме того, информация, необходимая для предсказания, такая как вектор движения, режим предсказания и т.п., генерируется как информация предсказания.
[0038] На этапе S507 модуль 106 преобразования и квантования сначала определяют арифметическую точность в обработке преобразования и квантования на основе информации арифметической точности преобразования и квантования, сгенерированной на этапе S503. Затем на основе определенной арифметической точности модуль 106 преобразования и квантования генерирует коэффициент преобразования посредством выполнения ортогонального преобразования в отношении ошибки предсказания, сгенерированной на этапе S506, и генерирует коэффициент квантования посредством выполнения квантования в отношении сгенерированного коэффициента преобразования. Аналогично этапу S507 на этапе S508 модуль 107 обратного квантования и обратного преобразования сначала определяет арифметическую точность в обработке обратного квантования и обратного преобразования на основе информации арифметической точности преобразования и квантования, сгенерированной на этапе S503. Затем модуль 107 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, сгенерированного на этапе S507, на основе определенной арифметической точности, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования.
[0039] На этапе S509 модуль 108 восстановления изображений генерирует изображение предсказания, соответственно, обращаясь к памяти 109 кадров, на основе информации предсказания, сгенерированной на этапе S506. Затем модуль 108 восстановления изображений генерирует изображение восстановления на основании сгенерированного изображения предсказания и ошибки предсказания, восстановленной на этапе S508, и сгенерированное изображение восстановления сохраняют в память 109 кадров. На этапе S510 модуль 110 кодирования блоков кодирует информацию предсказания, сгенерированную на этапе S506, и коэффициент квантования, сгенерированный на этапе S507, чтобы генерировать кодовые данные блока. Кроме того, модуль 11 кодирования интеграции генерирует битовый поток, включающий в себя различные кодовые данные. На этапе S511 устройство кодирования изображения определяет, было ли кодирование всех блоков в пределах кадра закончено. Если кодирование всех блоков в пределах кадра было закончено, процесс кодирования завершается. Напротив, если кодирование всех блоков в пределах кадра не было закончено, процесс возвращается на этап S506, чтобы выполнить обработку для следующего блока.
[0040] С конфигурацией и операцией, описанной выше, в частности, посредством кодирования информации выбора арифметической точности преобразования и квантования на этапе S504, может генерироваться битовый поток, для которого переключение между процессами кодирования, имеющими различную арифметическую точность или различные затраты реализации, может быть выполнено согласно спецификациям, требуемым для приложения.
[0041] В вышеупомянутом описании для первого варианта осуществления процесс кодирования выполняется в порядке этапов S508, S509 и S510. Однако процесс кодирования не обязательно выполняется в этом порядке пока этап S510 не выполняется раньше, чем этап S507.
[0042] Кроме того, в первом варианте осуществления только обработка преобразования и квантования на этапах S507 и S508 изменяется на основе информации выбора арифметической точности преобразования и квантования. Однако обработка кодирования на этапе S510 может также быть изменена в соответствии с изменением в диапазоне коэффициента квантования. В таком случае информация выбора арифметической точности преобразования и квантования или информация арифметической точности преобразования и квантования также вводится к модулю 110 кодирования блоков. В этом случае, так как оптимальный способ энтропийного кодирования может быть выбран в соответствии с диапазоном коэффициента квантования, кодирование с более высокой эффективностью может быть достигнуто.
[0043] В случае, когда данные изображения, которые должны быть закодированы, имеют 8-битовую глубину, может быть опущен код информации выбора арифметической точности преобразования и квантования. Таким образом, в случае 8-битовой глубины, так как информация арифметической точности преобразования и квантования уникально установлена в "0", избыточный код может быть удален.
[0044] Кроме того, в первом варианте осуществления диапазон, который может быть взят в качестве каждого арифметического результата одномерного ортогонального преобразования в каждом из горизонтального и вертикального направлений и обработки квантования, определяется в качестве арифметической точности. Однако арифметическая точность не обязательно определена так, как описано выше. Например, модуль 106 преобразования и квантования может вычислить арифметическую точность в пределах диапазона от -2(15+aq) до 2(15+aq)-1, где "aq" представляет информацию арифметической точности преобразования и квантования.
[0045] Кроме того, информа