ОБЕСПЕЧЕНИЕ ИНФОРМАЦИИ ТОЧНОСТИ В УСТРОЙСТВЕ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ И ПРОГРАММА КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ И ПРОГРАММА ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ
PROVIDING INFORMATION ACCURACY IN IMAGE ENCODING DEVICE, METHOD AND PROGRAM FOR IMAGE ENCODING, IMAGE DECODING DEVICE AND METHOD AND PROGRAM FOR IMAGE DECODING

ОБЛАСТЬ ТЕХНИКИ
[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, и ">>" представляет сдвиг битов вправо.
ij
0,0
0,0
[0007] В выражении (1) "B" представляет промежуточные значения для вычисления пикселя цветности в целочисленной пиксельной позиции и "ab" представляет пиксель цветности в десятичной пиксельной позиции, соответственно. Выражение (1) включает в себя обработку сдвига битов вправо на "shift1", которое всегда зависит от битовой глубины. Поэтому диапазон значения, которое может представлять промежуточное значение "ab", является постоянным независимо от битовой глубины изображения. Так как вводится такая арифметическая обработка, предполагается, что в 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", избыточный код может быть удален.
(15+aq)
(15+aq)
[0044] Кроме того, в первом варианте осуществления диапазон, который может быть взят в качестве каждого арифметического результата одномерного ортогонального преобразования в каждом из горизонтального и вертикального направлений и обработки квантования, определяется в качестве арифметической точности. Однако, арифметическая точность не обязательно определена так, как описано выше. Например, модуль 106 преобразования и квантования может вычислить арифметическую точность в пределах диапазона от -2 до 2-1, где "aq" представляет информацию арифметической точности преобразования и квантования.
[0045] Кроме того, информация выбора арифметической точности преобразования и квантования вышеупомянутого 10-битового профиля Main всегда устанавливается в "0". Однако, в случае вышеупомянутого 10-битового профиля Main высокой точности, код информации выбора арифметической точности преобразования и квантования может быть предоставлен так, чтобы информация выбора арифметической точности преобразования и квантования могла быть выбрана между "0" и "1". С этой конфигурацией выбор арифметической точности может быть выполнен даже для профиля высокой точности.
[0046] В первом варианте осуществления на этапе S508, иллюстрированном на фиг. 5, арифметическая точность в обработке обратного квантования и обратного преобразования определена на основе информации арифметической точности преобразования и квантования, сгенерированной на этапе S503. Однако, арифметическая точность может быть определена на основе арифметической точности, вычисленной на этапе S507.
[0047] Кроме того, в вышеупомянутом описании битовый поток, сгенерированный в первом варианте осуществления, закодирован в порядке кода информации выбора арифметической точности преобразования и квантования и кода информации битовой глубины (глубины в битах), как иллюстрировано на фиг. 17A. Однако, кодирование не обязательно выполняется в этом порядке.
Второй вариант осуществления
[0048] Фиг. 2 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования изображения согласно второму варианту осуществления. Во втором варианте осуществления декодирование битового потока, сгенерированного в первом варианте осуществления, будет объяснено посредством примера.
[0049] Терминал 201 принимает битовый поток. Модуль 202 отделения и декодирования отделяет кодовые данные заголовка, которые являются информацией относительно обработки декодирования, и кодовые данные блока, которые являются информацией каждого блока, включая коэффициент квантования и информацию предсказания, из битового потока, и выводит отделенные кодовые данные заголовка и кодовые данные блока к последующим модулям. Модуль 203 декодирования заголовка декодирует кодовые данные заголовка, чтобы восстановить информацию относительно обработки декодирования. Модуль 204 установки информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования, представляющую арифметическую точность, в обработке обратного квантования и обратного преобразования, используемой модулем 206 обратного квантования и обратного преобразования. Модуль 205 декодирования блоков декодирует кодовые данные блока, чтобы восстановить коэффициент квантования и информацию предсказания.
[0050] Модуль 206 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, восстановленном модулем 205 декодирования блоков, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования. Модуль 207 восстановления изображений выполняет внутреннее предсказание, внешнее предсказание или подобное, обращаясь к памяти 208 кадров, на основе информации предсказания, восстановленной модулем 205 декодирования блоков, и генерирует данные изображения восстановления на основе ошибки предсказания, сгенерированной модулем 206 обратного квантования и обратного преобразования. Память 208 кадров хранит данные изображения, восстановленные блоком 207 восстановления изображений. Терминал 209 выводит восстановленные данные изображения во вне.
[0051] Операция декодирования изображения, выполненная вышеописанным устройством декодирования изображения, описана ниже. Во втором варианте осуществления декодируют битовый поток, сгенерированный в первом варианте осуществления.
[0052] Со ссылками на фиг. 2 битовый поток, принятый через терминал 201, вводится в модуль 202 отделения и декодирования. Во втором варианте осуществления битовый поток, иллюстрированный на фиг. 17A, вводится в устройство декодирования изображения. Модуль 202 отделения и декодирования отделяет кодовые данные заголовка, которые являются информацией относительно обработки декодирования, и кодовые данные блока, которые являются информацией каждого блока, из принятого битового потока, и выводит отделенные кодовые данные заголовка и кодовые данные блока к последующим модулям. Кодовые данные заголовка выводятся к модулю 203 декодирования заголовка, и кодовые данные блока выводятся к модулю 205 декодирования блоков. Модуль 203 декодирования заголовка декодирует информацию, необходимую для декодирования, из кодовых данных заголовка, принятых от модуля 202 отделения и декодирования, и восстанавливает информацию выбора арифметической точности преобразования и квантования и информацию битовой глубины. Модуль 203 декодирования заголовка выводит восстановленную информацию выбора арифметической точности преобразования и квантования и информацию битовой глубины к модулю 204 установления информации арифметической точности преобразования и квантования.
[0053] Модуль 204 установки информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования на основе информации выбора арифметической точности преобразования и квантования и информации битовой глубины, принятой от модуля 203 декодирования заголовка. Во втором варианте осуществления, подобно модулю 103 генерирования информации арифметической точности преобразования и квантования в первом варианте осуществления, в случае, когда информация выбора арифметической точности преобразования и квантования представляет "1", значение разности между информацией битовой глубины и опорной битовой глубиной, которая является 8-битовой глубиной, используется в качестве информации арифметической точности преобразования и квантования. Так как битовый поток, сгенерированный в первом варианте осуществления, получают посредством кодирования 10-битового изображения, информация битовой глубины во втором варианте осуществления также представляет 10-битовую глубину. Таким образом, информация арифметической точности преобразования и квантования устанавливается в "2". Напротив, в случае, когда информация выбора арифметической точности преобразования и квантования представляет "0", "0" устанавливается в качестве информации арифметической точности преобразования и квантования. Однако, подобно первому варианту осуществления, комбинация информации выбора арифметической точности преобразования и квантования и информации арифметической точности преобразования и квантования не ограничена примером, представленным выше. Сгенерированная информация арифметической точности преобразования и квантования выводится к модулю 206 обратного квантования и обратного преобразования.
[0054] Между тем, модуль 205 декодирования блоков декодирует кодовые данные блока, принятые от модуля 202 отделения и декодирования, чтобы восстановить коэффициент квантования и информацию предсказания. Модуль 205 декодирования блоков выводит восстановленный коэффициент квантования и информацию предсказания к модулю 206 обратного квантования и обратного преобразования и модулю 207 восстановления изображений, соответственно. Подобно модулю 107 обратного квантования и обратного преобразования в первом варианте осуществления модуль 206 обратного квантования и обратного преобразования сначала определяет арифметическую точность в обработке обратного квантования и обратного преобразования на основе информации арифметической точности преобразования и квантования, принятой посредством модуля 204 установки информации арифметической точности преобразования и квантования. Во втором варианте осуществления, подобно модулю 107 обратного квантования и обратного преобразования в первом варианте осуществления, модуль 206 обратного квантования и обратного преобразования определяет диапазон, который может быть взят арифметической обработкой, такой как обработка обратного квантования и одномерная обработка ортогонального преобразования в каждом из вертикального и горизонтального направлений, в качестве арифметической точности на основе таблицы, иллюстрированной на фиг. 21.
[0055] Кроме того, модуль 206 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, принятого от модуля 205 декодирования блоков, на основе арифметической точности, определенной как описано выше, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования. Модуль 206 обратного квантования и обратного преобразования выводит восстановленную ошибку предсказания к модулю 207 восстановления изображений.
[0056] Модуль 207 восстановления изображений генерирует изображение предсказания, соответственно обращаясь к памяти 208 кадров, на основе информации предсказания, принятой от модуля 205 декодирования блоков, и генерирует изображение восстановления на основе сгенерированного изображения предсказания и ошибки предсказания, принятой от модуля 206 обратного квантования и обратного преобразования. Модуль 207 восстановления изображений выводит восстановленные данные изображения к памяти 208 кадров, и данные изображения сохраняют в памяти 208 кадров. Восстановленные данные изображения также выводятся через терминал 209 во вне.
[0057] Фиг. 6 является последовательностью операций, иллюстрирующей процесс декодирования изображения, выполняемый устройством декодирования изображения согласно второму варианту осуществления.
[0058] На этапе S601 модуль 202 отделения и декодирования отделяют кодовые данные заголовка, которые являются информацией относительно обработки декодирования, из принятого битового потока. На этапе S602 модуль 203 декодирования заголовка декодирует информацию, необходимую для декодирования, из кодовых данных заголовка, отделенных на этапе S601, и восстанавливает информацию выбора арифметической точности преобразования и квантования и информацию битовой глубины. На этапе S603 модуль 204 установки информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования на основе информации выбора арифметической точности преобразования и квантования и информации битовой глубины, восстановленной на этапе S602. На этапе S604 модуль 206 обратного квантования и обратного преобразования определяют арифметическую точность в обработке обратного квантования и обратного преобразования на основе информации арифметической точности преобразования и квантования, сгенерированной на этапе S603. На этапе S605 модуль 205 декодирования блоков декодирует кодовые данные блока, которые отделены как кодовые данные каждого блока из битового потока модулем 202 отделения и декодирования, и восстанавливают коэффициент квантования и информацию предсказания.
[0059] На этапе S606 модуль 206 обратного квантования и обратного преобразования восстанавливают коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, сгенерированного на этапе S605, на основе арифметической точности, определенной на этапе S604, и восстанавливают ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования. На этапе S607 модуль 207 восстановления изображений генерирует изображение предсказания, соответственно обращаясь к памяти 208 кадров, на основе информации предсказания, восстановленной на этапе S605. Затем модуль 207 восстановления изображений генерирует изображение восстановления на основе сгенерированного изображения предсказания и ошибки предсказания, восстановленной на этапе S606, и изображение восстановления сохраняют в память 208 кадров. Восстановленные данные изображения также выводятся через терминал 209 во вне. На этапе S608 устройство декодирования изображения определяет, было ли декодирование всех блоков в пределах кадра закончено. Если декодирование всех блоков в пределах кадра было закончено, процесс декодирования завершается. Напротив, если декодирование всех блоков в пределах кадра не было закончено, процесс возвращается на этап S605, чтобы выполнить обработку для следующего блока.
[0060] С конфигурацией и операцией, описанной выше, в частности посредством декодирования информации выбора арифметической точности преобразования и квантования на этапе S602, может быть декодирован битовый поток, для которого процессы декодирования, имеющие различную арифметическую точность или различные затраты реализации, могут быть выполнены согласно спецификациям, требуемым для приложения, сгенерированного в первом варианте осуществления.
[0061] В вышеупомянутом описании для второго варианта осуществления ввод битового потока в устройство декодирования изображения получают посредством индивидуального кодирования информации выбора арифметической точности преобразования и квантования, иллюстрированного на фиг. 17A. Однако, принятый битовый поток не обязательно конфигурируется так, как описано выше. Например, как иллюстрировано на фиг. 17B, вместо того, чтобы кодировать информацию выбора арифметической точности преобразования и квантования, код информации профиля, представляющий соответствующий профиль, может быть закодирован. В этом случае модуль 204 установки информации арифметической точности преобразования и квантования генерирует информацию арифметической точности преобразования и квантования на основе кода информации профиля и информация битовой глубины.
[0062] Кроме того, в вышеупомянутом описании для второго варианта осуществления только обработка обратного квантования и обратного преобразования на этапе S606 изменяется на основе информации выбора арифметической точности преобразования и квантования. Однако, обработка декодирования на этапе S605 может также быть изменена в соответствии с изменением в диапазоне коэффициента квантования. В таком случае информация выбора арифметической точности преобразования и квантования или информация арифметической точности преобразования и квантования вводится также в модуль 205 декодирования блоков. Поэтому обработка декодирования, выполненная модулем 205 декодирования блоков, должна соответствовать обработке кодирования, выполненной модулем 110 кодирования блоков, в первом варианте осуществления. В этом случае, так как оптимальный способ энтропийного декодирования может быть выбран в соответствии с диапазоном коэффициента квантования, декодирование закодированного битового потока может быть выполнено более эффективно.
Третий вариант осуществления
[0063] Фиг. 3 является блок-схемой, иллюстрирующей устройство кодирования изображения согласно третьему варианту осуществления. На фиг. 3 модули, имеющие функции, подобные таковым в первом варианте осуществления, иллюстрированном на фиг. 1, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных модулей будет опущено.
[0064] Модуль 323 генерирования информации арифметической точности компенсации движения генерирует информацию выбора арифметической точности компенсации движения, которая описана ниже. Модуль 323 генерирования информации арифметической точности компенсации движения также генерирует информацию арифметической точности компенсации движения, представляющую арифметическую точность обработки компенсации движения, используемой модулем 305 предсказания. Модуль 304 кодирования заголовка генерирует кодовые данные заголовка посредством кодирования информации, необходимой для декодирования битового потока, такой как информация битовой глубины изображения. Модуль 304 кодирования заголовка отличается от модуля 104 кодирования заголовка в первом варианте осуществления кодированием информации выбора арифметической точности компенсации движения, которая описана ниже, вместо информации выбора арифметической точности преобразования и квантования.
[0065] Модуль 305 предсказания выполняет внутреннее предсказание, которое является предсказанием внутри кадра, внешним предсказанием, которое является предсказанием между кадрами, или подобным, обращаясь к памяти 109 кадров, в единицах разделенных квадратных блоков, и генерирует информацию предсказания, которая представляет способ предсказания и ошибку предсказания. Модуль 305 предсказания отличается от модуля 105 предсказания в первом варианте осуществления приемом информации арифметической точности компенсации движения и выполнением внешнего предсказания на основе принятой информации арифметической точности компенсации движения.
[0066] Модуль 306 преобразования и квантования вычисляет коэффициент преобразования посредством выполнения, для каждого блока, ортогонального преобразования в отношении ошибки предсказания, сгенерированной модулем 305 предсказания, и вычисляет коэффициент квантования посредством выполнения квантования в отношении коэффициента преобразования. Модуль 306 преобразования и квантования отличается от модуля 106 преобразования и квантования в первом варианте осуществления выполнением обработки преобразования и квантования при постоянной арифметической точности без приема информации арифметической точности преобразования и квантования.
[0067] Модуль 307 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, сгенерированного модулем 306 преобразования и квантования, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования. Модуль 307 обратного квантования и обратного преобразования отличается модуля 107 обратного квантования и обратного преобразования в первом варианте осуществления выполнением обработки обратного квантования и обратного преобразования при постоянной арифметической точности без приема информации арифметической точности преобразования и квантования.
[0068] Модуль 308 восстановления изображений выполняет внутреннее предсказание, внешнее предсказание или подобное, обращаясь к памяти 109 кадров на основе информации предсказания, сгенерированной модулем 306 предсказания, и генерирует изображение восстановления на основе ошибки предсказания, сгенерированной модулем 307 обратного квантования и обратного преобразования. Модуль 308 восстановления изображений отличается от блока 108 восстановления изображений в первом варианте осуществления приемом информации арифметической точности компенсации движения и выполнением внешнего предсказания на основе принятой информации арифметической точности компенсации движения.
[0069] Операция кодирования изображения, выполненная вышеописанным устройством кодирования изображения, описана ниже.
[0070] Модуль 102 ввода анализирует битовую глубину принятых данных изображения и информацию битовой глубины выводит к модулю 323 генерирования информации арифметической точности компенсации движения и модулю 304 кодирования заголовка. Однако, информация битовой глубины может быть отдельно предоставлена извне и введена в модуль 323 генерирования информации арифметической точности компенсации движения и модуль 304 кодирования заголовка. Кроме того, принятые данные изображения разделяются на единицы квадратных блоков и выводятся к модулю 305 предсказания.
[0071] Модуль 323 генерирования информации арифметической точности компенсации движения определяет, должна ли обработка компенсации движения, которая дает приоритет легкости реализации посредством регулировки арифметической точности согласно битовой глубине, или обработка компенсации движения, которая поддерживает постоянную арифметическую точность независимо от битовой глубины, быть выполнена, и устанавливает информацию, представляющую результат определения в качестве информации выбора арифметической точности компенсации движения. В дальнейшем первая обработка компенсации движения, в которой арифметическая точность отрегулирована согласно битовой глубине, будет упоминаться как ориентированная на реализацию обработка компенсации движения, и последняя обработка компенсации движения, в которой арифметическая точность поддерживается постоянной, будет упоминаться как ориентированная на точность обработка компенсации движения. В третьем варианте осуществления в случае, когда ориентированная на реализацию обработка компенсации движения выбрана, информация выбора арифметической точности компенсации движения устанавливается в "0". Между тем, в случае, когда ориентированная на точность обработка компенсации движения выбрана, информация выбора арифметической точности компенсации движения устанавливается в "1". Однако, комбинация выбранной обработки компенсации движения и информации выбора арифметической точности компенсации движения не ограничена упомянутым выше примером. Кроме того, способ для того, чтобы определить информацию выбора арифметической точности компенсации движения конкретно не ограничен. Информация выбора арифметической точности компенсации движения может быть определена до обработки кодирования с предвидением приложения, в котором должны использоваться устройство кодирования и соответствующее устройство декодирования. Альтернативно, информация выбора арифметической точности компенсации движения может быть выбрана пользователем, который не иллюстрирован. Например, в случае, когда предполагается, что устройство кодирования согласно третьему варианту осуществления используется в приложении, в котором акцент делается на арифметической точности, информация выбора арифметической точности компенсации движения устанавливается в "1". Между тем, например, в случае, когда предполагается, что устройство кодирования не используется в таком приложении, информация выбора арифметической точности компенсации движения устанавливается в "0".
[0072] Затем модуль 323 генерирования информации арифметической точности компенсации движения генерирует информацию арифметической точности компенсации движения на основе информации выбора арифметической точности компенсации движения, описанной выше, и информации битовой глубины, принятой от модуля 102 ввода. Когда информация выбора арифметической точности компенсации движения представляет "0", значение разности между битовой глубиной изображения и опорной битовой глубиной, которая является 8-битовой глубиной, используется в качестве информации арифметической точности компенсации движения. В третьем варианте осуществления, так как битовая глубина изображения является 10-битовой глубиной, информация арифметической точности компенсации движения устанавливается в "2". Между тем, когда информация выбора арифметической точности компенсации движения представляет "1", информация арифметической точности компенсации движения устанавливается в "0". Однако, комбинация этого значения и значения информации арифметической точности компенсации движения не ограничены упомянутым выше примером. Любая комбинация возможна, пока информация арифметической точности компенсации движения может представлять, что арифметическая точность обработки компенсации движения увеличивается, когда битовая глубина изображения больше, чем опорная битовая глубина.
[0073] Сгенерированная информация выбора арифметической точности компенсации движения выводится к модулю 304 кодирования заголовка, и сгенерированная информация арифметической точности компенсации движения выводится к модулю 305 предсказания и модулю 308 восстановления изображений.
[0074] Модуль 304 кодирования заголовка кодирует информацию, необходимую для декодирования, такую как информация битовой глубины, принятая от модуля 102 ввода, и информация выбора арифметической точности компенсации движения, принятая от модуля 323 генерирования информации арифметической точности компенсации движения, и генерирует кодовые данные заголовка. Сгенерированные кодовые данные заголовка соответствуют части заголовка битового потока. Модуль 304 кодирования заголовка выводит сгенерированные кодовые данные заголовка к модулю 111 кодирования интеграции.
[0075] Между тем, модуль 305 предсказания принимает данные изображения, которые разделены на единицы блоков модулем 102 ввода, и информацию арифметической точности компенсации движения, сгенерированную модулем 323 генерирования информации арифметической точности компенсации движения. Затем модуль 305 предсказания выполняет предсказание в единицах блоков, и генерирует информацию предсказания, представляющую способ предсказания, такую как внутреннее предсказание, которое является предсказанием внутри кадра, межкадровым предсказанием, которое является предсказанием между кадрами, или подобным. Способ для того, чтобы генерировать информацию предсказания, конкретно не ограничен. Способ для того, чтобы генерировать информацию предсказания, может быть определен на основе подобия между закодированным пикселем, сохраненным в памяти 109 кадров и пикселем в пределах блока, который должен быть закодирован. Альтернативно, способ для того, чтобы генерировать информацию предсказания, может быть определен на основе статистической информации изображения. Модуль 305 предсказания выводит способ предсказания к модулю 308 восстановления изображений и модулю 110 кодирования блоков. Затем изображение предсказания генерируется, соответственно обращаясь к закодированному пикселю, сохраненному в памяти 109 кадров, на основе сгенерированной информации предсказания. При генерировании изображения предсказания в случае, когда блок, который должен быть закодирован, был подвергнут кодированию с внешним предсказанием, выполняется обработка компенсации движения, основанная на информации арифметической точности компенсации движения. Более конкретно, в третьем варианте осуществления одно из выражений вычисления, используемых для обработки компенсации движения в отношении десятичного пикселя, при компенсации движения для сигналов цветности, представленных посредством выражения (1), представлено выражением (2):
[Математическое выражение 2]
(2)
[0076] Нужно отметить, что в выражении (2), "shift" представляет информацию арифметической точности компенсации движения, и ">>" представляет сдвиг битов вправо.
ij
0,0
0,0
[0077] В выражении (2), подобно выражению (1), "B" и "ab" представляют промежуточные значения для вычисления пикселя цветности в целочисленной пиксельной позиции и пикселя цветности в десятичной пиксельной позиции, соответственно. В выражении (2) обработка сдвига битов вправо на "shift" основана на информации арифметической точности компенсации движения. Поэтому в случае, когда ориентированная на реализацию обработка компенсации движения выбрана модулем 323 генерирования информации арифметической точности компенсации движения, так как обработка сдвига битов вправо, которая зависит от битовой глубины, включена в выражение (2), значение, которое может быть взято как промежуточное значение "ab", является постоянным независимо от битовой глубины изображения. Напротив, в случае, когда ориентированная на точность компенсация движения выбрана модулем 323 генерирования информации арифметической точности компенсации движения, значение "shift" в выражении (2) всегда поддерживается равным 0, и обработка сдвига битов вправо не выполняется. Поэтому обработка, поддерживающая арифметическую точность, может быть выполнена.
[0078] Наконец, модуль 305 предсказания генерирует ошибку предсказания как разность между принятым изображением для каждого блока и генерируемым изображением предсказания, и выводит сгенерированную ошибку предсказания к модулю 306 преобразования и квантования.
[0079] Модуль 306 преобразования и квантования генерирует коэффициент преобразования посредством выполнения ортогонального преобразования в отношении ошибки предсказания, принятой от модуля 305 предсказания, и генерирует коэффициент квантования посредством выполнения квантования в отношении коэффициента преобразования. Модуль 306 преобразования и квантования выводит сгенерированный коэффициент квантования к модулю 307 307 обратного квантования и обратного преобразования и модулю 110 кодирования блоков.
[0080] Модуль 307 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, принятого от модуля 306 преобразования и квантования, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования. Модуль 307 обратного квантования и обратного преобразования выводит восстановленную ошибку предсказания к модулю 308 восстановления изображений.
[0081] Модуль 308 восстановления изображений генерирует изображение предсказания, соответственно обращаясь к памяти 109 кадров, на основе информации предсказания, принятой от модуля 305 предсказания и информации арифметической точности компенсации движения, принятой от модуля 323 генерирования информации арифметической точности компенсации движения. При генерировании изображения предсказания в случае, когда блок, который должен быть закодирован, был подвергнут кодированию с внешним предсказанием, выполняется обработка компенсация движения, основанная на информации арифметической точности компенсации движения. Более конкретно, подобно модулю 305 предсказания, модуль 308 восстановления изображений выполняет обработку компенсации движения, например, согласно выражению (2).
[0082] Затем модуль 308 восстановления изображений генерирует изображение восстановления на основе сгенерированного изображения предсказания и ошибки предсказания, принятой от модуля 307 обратного квантования и обратного преобразования. Модуль 308 восстановления изображений выводит сгенерированное изображение восстановления к памяти 109 кадров, и изображение восстановления сохраняется в памяти 109 кадров.
[0083] Фиг. 18A иллюстрирует пример битового потока, сгенерированного в третьем варианте осуществления. Информация выбора арифметической точности компенсации движения компонуется как код информации выбора арифметической точности компенсации движения в пределах заголовка любого одного из последовательности, картинки и т.п. Аналогично, информация битовой глубины также компонуется как код информации глубины в битах в пределах заголовка любого одного из последовательности, картинки и т.п.
[0084] Однако, битовый поток не обязательно конфигурируется как описано выше. Как иллюстрировано на фиг. 18B, вместо того, чтобы кодировать код информации выбора арифметической точности компенсации движения, соответствующий профиль может быть определен, и этот определенный профиль может быть закодирован как код информации профиля. Например, предполагается, что существуют 10-битовый профиль Main и 10-битовый профиль Main высокой точности, и информация выбора арифметической точности компенсации движения 10-битового профиля Main и информация выбора арифметической точности компенсации движения 10-битового профиля Main высокой точности представляют "0" и "1", соответственно. Таким образом, ориентированная на реализацию обработка компенсации движения выбирается для 10-битового профиля Main, и ориентированная на точность обработка компенсации движения выбирается для 10-битового профиля Main высокой точности. В этом случае, когда информация выбора арифметической точности компенсации движения представляет "0", код, представляющий 10-битовый профиль Main, может быть закодирован как код информации профиля. Между тем, когда информация выбора арифметической точности компенсации движения представляет "1", код, представляющий 10-битовый профиль Main высокой точности, может быть закодирован как код информации профиля.
[0085] Фиг. 7 является последовательностью операций, иллюстрирующей процесс кодирования, выполняемый устройством кодирования изображения согласно третьему варианту осуществления. Этапы, имеющие функции, подобные таковым в первом варианте осуществления, иллюстрированном на фиг. 5, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных этапов будет опущено.
[0086] На этапе S722 модуль 323 генерирования информации арифметической точности компенсации движения генерирует информацию выбора арифметической точности компенсации движения для того, чтобы выбрать информацию арифметической точности компенсации движения, представляющую арифметическую точность при обработке компенсации движения. В третьем варианте осуществления информация выбора арифметической точности компенсации движения устанавливается в "0", когда ориентированная на реализацию обработка компенсации движения выбрана, и информация выбора арифметической точности компенсации движения устанавливается в "1", когда ориентированная на точность обработка компенсации движения выбрана.
[0087] На этапе S723 модуль 323 генерирования информации арифметической точности компенсации движения генерирует информацию арифметической точности компенсации движения на основе информации выбора арифметической точности компенсации движения, сгенерированной на этапе S722, и информации битовой глубины, сгенерированной на этапе S501. На этапе S704 модуль 304 кодирования заголовка кодирует информацию, необходимую для декодирования, такую как информацию битовой глубины, сгенерированную на этапе S501, и информацию выбора арифметической точности компенсации движения, сгенерированную на этапе S502, чтобы генерировать кодовые данные заголовка.
[0088] На этапе S706 модуль 102 ввода отделяет квадратные блоки из принятых данных изображения, и модуль 305 предсказания выполняет предсказание в единицах блоков для данных изображения каждого отделенного блока. Кроме того, модуль 305 предсказания генерирует информацию предсказания, представляющую способ предсказания, такой как внутреннее предсказание, которое является внутрикадровым предсказанием, внешнее предсказание, такое как предсказание между кадрами, или подобное. Затем модуль 305 предсказания генерирует изображение предсказания, соответственно обращаясь к закодированному пикселю, сохраненному в памяти 109 кадров, на основе сгенерированной информации предсказания. При генерировании изображения предсказания в случае, когда блок, который должен быть закодирован, был подвергнут кодированию внешнего предсказания, выполняется обработка компенсации движения на основании информации арифметической точности компенсации движения, сгенерированной на этапе S723. Более конкретно, выполняется обработка компенсации движения, представленная посредством выражения (2). Модуль 305 предсказания также генерирует ошибку предсказания как разность между принятыми данными изображения и изображением предсказания для каждого блока.
[0089] На этапе S707 модуль 306 преобразования и квантования генерирует коэффициент преобразования посредством выполнения ортогонального преобразования в отношении ошибки предсказания, сгенерированной на этапе S706, и генерируют коэффициент квантования посредством выполнения квантования в отношении сгенерированного коэффициента преобразования. На этапе S708 модуль 307 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, сгенерированного на этапе S707, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования.
[0090] На этапе S709 модуль 308 восстановления изображений генерирует изображение предсказания, соответственно обращаясь к памяти 109 кадров, на основе информации предсказания, сгенерированной на этапе S706. При генерировании изображения предсказания в случае, когда блок, который должен быть закодирован, был подвергнут кодированию внешнего предсказания, выполняется обработка компенсации движения на основании информации арифметической точности компенсации движения, сгенерированной на этапе S723. Более конкретно, аналогично этапу S706 выполняется обработка компенсации движения, представленная посредством выражения (2). Затем модуль 308 восстановления изображений генерирует изображение восстановления на основе сгенерированного изображения предсказания и ошибки предсказания, восстановленной на этапе S708, и сгенерированное изображение восстановления сохраняется в памяти 109 кадров. На этапе S711 устройство кодирования изображения определяет, было ли кодирование всех блоков в пределах кадра закончено. Если кодирование всех блоков в пределах кадра было закончено, процесс кодирования завершается. Напротив, если кодирование всех блоков в пределах кадра не было завершено, процесс возвращается на этап S706, чтобы выполнить кодирование следующего блока.
[0091] С конфигурацией и работой, описанной выше, в частности, посредством кодирования информации выбора арифметической точности компенсации движения на этапе S704, может генерироваться битовый поток, для которого переключение между процессами кодирования, имеющих различную арифметическую точность или различные затраты реализации, может быть выполнено согласно спецификациям, требуемым для приложения.
[0092] В вышеупомянутом описании для третьего варианта осуществления процесс кодирования выполняется в порядке этапов S708, S709 и S510. Однако, процесс кодирования не обязательно выполняется в этом порядке до тех пор пока этап S510 не будет выполнен ранее чем этап S707.
[0093] Кроме того, в случае, когда данные изображения, которые должны быть закодированы, имеют 8-битовую глубину, код информации выбора арифметической точности компенсации движения может быть опущен. То есть, в случае, когда данные изображения, которые должны быть закодированы, имеют 8-битовую глубину, так как информация арифметической точности компенсации движения уникально устанавливается в "0", избыточный код может быть удален.
[0094] Кроме того, информация выбора арифметической точности компенсации движения 10-битового профиля Main всегда устанавливается в "0". Однако, для 10-битового профиля Main высокой точности код информации выбора арифметической точности компенсации движения может быть предоставлен так, чтобы информация выбора арифметической точности компенсации движения могла быть выбрана между "0" и "1". С этой конфигурацией выбор арифметической точности может быть выполнен даже для профиля высокой точности.
[0095] Кроме того, в вышеупомянутом описании битовый поток, сгенерированный в третьем варианте осуществления, кодируется в порядке кода информации выбора арифметической точности компенсации движения и кода информации глубины в битах, как иллюстрировано на фиг. 18A. Однако, кодирование не обязательно выполняется в этом порядке.
Четвертый вариант осуществления
[0096] Фиг. 4 является блок-схемой, иллюстрирующей устройство декодирования изображения согласно четвертому варианту осуществления. На фиг. 4 модули, имеющие функции, подобные таковым во втором варианте осуществления, иллюстрированном на фиг. 2, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных модулей будет опущено. В четвертом варианте осуществления декодирование битового потока, сгенерированного в третьем варианте осуществления, будет объяснено посредством примера.
[0097] Модуль 403 декодирования заголовка декодирует кодовые данные заголовка, которые были отделены из битового потока, чтобы восстановить информацию относительно обработки декодирования. Модуль 424 установки информации арифметической точности компенсации движения генерирует информацию арифметической точности компенсации движения, представляющую арифметическую точность при обработке компенсации движения, которая будет использоваться модулем 407 восстановления изображений. Модуль 406 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, восстановленном модулем 205 декодирования блоков, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования. Модуль 406 обратного квантования и обратного преобразования отличается от модуля 206 обратного квантования и обратного преобразования во втором варианте осуществления выполнением обработки обратного квантования и обратного преобразования при постоянной арифметической точности без приема информации арифметической точности преобразования и квантования.
[0098] Модуль 407 восстановления изображений выполняет внутреннее предсказание, внешнее предсказание или подобное, обращаясь к памяти 208 кадров, на основе информации предсказания, восстановленной модулем 205 декодирования блоков, и генерирует изображение восстановления на основе ошибки предсказания, сгенерированной модулем 406 обратного квантования и обратного преобразования. Модуль 407 восстановления изображений отличается от модуля 207 восстановления изображений во втором варианте осуществления приемом информации арифметической точности компенсации движения и выполнением внешнего предсказания на основе принятой информации арифметической точности компенсации движения.
[0099] Операция декодирования изображения, выполняемая устройством декодирования изображения, описана ниже. В четвертом варианте осуществления декодируется битовый поток, сгенерированный в третьем варианте осуществления.
[0100] Модуль 403 декодирования заголовка декодирует информацию, необходимую для декодирования, из кодовых данных заголовка, принятых от модуля 202 отделения и декодирования, чтобы восстановить информацию выбора арифметической точности компенсации движения и информацию битовой глубины. Модуль 403 декодирования заголовка выводит восстановленную информацию выбора арифметической точности компенсации движения и информацию битовой глубины к модулю 424 установки информации арифметической точности компенсации движения.
[0101] Модуль 424 установки информации арифметической точности компенсации движения генерирует информацию арифметической точности компенсации движения на основе информации выбора арифметической точности компенсации движения и информации битовой глубины, принятой от модуля 403 декодирования заголовка. В четвертом варианте осуществления подобно модулю 323 генерирования информации арифметической точности компенсации движения в третьем варианте осуществления, значение разности между информацией битовой глубины и опорной битовой глубиной, которая является 8-битовой глубиной, используется в качестве информации арифметической точности компенсации движения, когда информация выбора арифметической точности компенсации движения представляет "0". Так как битовый поток, сгенерированный в третьем варианте осуществления, получен посредством кодирования 10-битового изображения, информация битовой глубины в четвертом варианте осуществления также представляет 10-битовую глубину. Поэтому информация арифметической точности компенсации движения устанавливается в "2". Напротив, когда информация выбора арифметической точности компенсации движения представляет "1", "0" устанавливается в качестве информации арифметической точности компенсации движения. Однако, как в третьем варианте осуществления, комбинация информации выбора арифметической точности компенсации движения и информации арифметической точности компенсации движения не ограничена упомянутым выше примером. Модуль 424 установки информации арифметической точности компенсации движения выводит сгенерированную информацию арифметической точности компенсации движения к модулю 407 восстановления изображений.
[0102] Модуль 406 обратного квантования и обратного преобразования восстанавливает коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, принятого от модуля 205 декодирования блоков, и восстанавливает ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования. Модуль 406 обратного квантования и обратного преобразования выводит восстановленную ошибку предсказания к модулю 407 восстановления изображений.
[0103] Модуль 407 восстановления изображений генерирует изображение предсказания, соответственно обращаясь к памяти 208 кадров, на основе информации предсказания, принятой от модуля 205 декодирования блоков, и информации арифметической точности компенсации движения, принятой от модуля 424 установки информации арифметической точности компенсации движения. При генерировании изображения предсказания в случае, когда блок, который должен быть декодирован, был подвергнут кодированию внешнего предсказания, выполняется обработка компенсации движения на основании информации арифметической точности компенсации движения. Более конкретно, выполняется обработка компенсации движения, представленная посредством выражения (2). Модуль 407 восстановления изображений генерирует изображение восстановления на основе сгенерированного изображения предсказания и ошибки предсказания, принятой от модуля 406 обратного квантования и обратного преобразования. Модуль 407 восстановления изображений выводит сгенерированное изображение восстановления к памяти 208 кадров, и изображение восстановления сохраняется в памяти 208 кадров.
[0104] Фиг. 8 является последовательностью операций, иллюстрирующей процесс декодирования, выполняемый устройством декодирования изображения согласно четвертому варианту осуществления. Этапы, имеющие функции, подобные таковым во втором варианте осуществления, иллюстрированном на фиг. 6, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных этапов будет опущено.
[0105] На этапе S802 модуль 403 декодирования заголовка декодирует информацию, необходимую для декодирования, из кодовых данных заголовка, отделенных на этапе S601, чтобы генерировать информацию выбора арифметической точности компенсации движения и информацию битовой глубины. На этапе S823 модуль 424 установки информации арифметической точности компенсации движения генерирует информацию арифметической точности компенсации движения на основе информации выбора арифметической точности компенсации движения и информации битовой глубины, которые были восстановлены на этапе S802. На этапе S824 модуль 407 восстановления изображений определяет арифметическую точность в последующей обработке компенсации движения на основе информации арифметической точности компенсации движения, сгенерированной на этапе S823. На этапе S806 модуль 406 обратного квантования и обратного преобразования восстанавливают коэффициент преобразования посредством выполнения обратного квантования в отношении коэффициента квантования, сгенерированного на этапе S605, и восстанавливают ошибку предсказания посредством выполнения обратного ортогонального преобразования в отношении восстановленного коэффициента преобразования.
[0106] На этапе S807 модуль 407 восстановления изображений генерирует изображение предсказания, соответственно обращаясь к памяти 208 кадров, на основе информации предсказания, восстановленной на этапе S605. При генерировании изображения предсказания в случае, когда блок, который должен быть декодирован, был подвергнут кодированию с внешним предсказанием, выполняется обработка компенсации движения на основании информации компенсации движения, определенной на этапе S824. Более конкретно, выполняется обработка компенсации движения, представленная посредством выражения (2). Затем модуль 407 восстановления изображений генерирует данные изображения восстановления на основе сгенерированного изображения предсказания и изображения предсказания, восстановленного на этапе S806, и сгенерированные данные изображения восстановления сохраняются в память 208 кадров. Данные изображения восстановления также выводятся через терминал 209.
[0107] С конфигурацией и работой, описанными выше, в частности посредством декодирования информации выбора арифметической точности компенсации движения на этапе S802, может быть декодирован битовый поток, для которого процессы декодирования, имеющие различную арифметическую точность или различные затраты реализации, могут быть выполнены согласно спецификациям, требуемым для приложения, сгенерированного в третьем варианте осуществления.
[0108] В вышеупомянутом описании для четвертого варианта осуществления ввод битового потока к устройству декодирования изображения получают посредством независимого кодирования информации выбора арифметической точности компенсации движения, иллюстрированной на фиг. 18A. Однако, битовый поток не обязательно конфигурируется так как описано выше. Например, как иллюстрировано на фиг. 18B, вместо того, чтобы кодировать код информации выбора арифметической точности компенсации движения, код информации профиля, представляющий соответствующий профиль, может быть закодирован. В этом случае модуль 424 установки информации арифметической точности компенсации движения генерирует информацию арифметической точности компенсации движения на основе кода информации профиля и информации битовой глубины.
Пятый вариант осуществления
[0109] Фиг. 9 является блок-схемой, иллюстрирующей устройство кодирования изображения согласно пятому варианту осуществления. На фиг. 9 модули, имеющие функции, подобные таковым в первом варианте осуществления, иллюстрированном на фиг. 1 и третьем варианте осуществления, иллюстрированном на фиг. 3, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных модулей будет опущено.
[0110] Модуль 902 ввода анализирует битовую глубину принятых данных изображения и делит данные изображения на квадратные блоки. Модуль 902 ввода отличается от модуля 102 ввода в первом варианте осуществления выведением информации битовой глубины также к модулю 323 генерирования информации арифметической точности компенсации движения. Модуль 904 кодирования заголовка кодирует информацию, необходимую для декодирования битового потока, такую как информация битовой глубины изображения, чтобы сгенерировать кодовые данные заголовка.
[0111] Операция кодирования изображения, выполняемая устройством кодирования изображения, описана ниже.
[0112] Модуль 902 ввода анализирует битовую глубину принятых данных изображения и информацию битовой глубины выводит к модулю 323 генерирования информации арифметической точности компенсации движения, модулю 103 генерирования информации арифметической точности преобразования и квантования и модулю 904 кодирования заголовка. Однако, информация битовой глубины может быть отдельно предоставлена от внешней стороны и введена в модуль 323 генерирования информации арифметической точности компенсации движения, модуль 103 генерирования информации арифметической точности преобразования и квантования и модуль 904 кодирования заголовка. Кроме того, модуль 902 ввода делит принятые данные изображения на квадратные блоки, и выводит разделенные квадратные блоки к модулю 305 предсказания.
[0113] Модуль 904 кодирования заголовка сначала принимает информацию битовой глубины от модуля 902 ввода, принимает информацию выбора арифметической точности компенсации движения от модуля 323 генерирования информации арифметической точности компенсации движения, и принимает информацию выбора арифметической точности преобразования и квантования от модуля 103 генерирования информации выбора арифметической точности преобразования и квантования. Затем модуль 904 кодирования заголовка генерирует кодовые данные заголовка посредством кодирования информации, необходимой для декодирования, такой как вышеупомянутая принятая информация. Кодовые данные заголовка соответствуют части заголовка битового потока и выводятся к модулю 111 кодирования интеграции.
[0114] Фиг. 19A иллюстрирует пример битового потока, сгенерированного в пятом варианте осуществления. Информация выбора арифметической точности преобразования и квантования и информация выбора арифметической точности компенсации движения скомпонованы как код информации выбора арифметической точности преобразования и квантования и код информации выбора арифметической точности компенсации движения, соответственно, в пределах заголовка любого одного из последовательности, картинки и т.п. Кроме того, информация битовой глубины скомпонована как код информации битовой глубины в пределах заголовка любого одного из последовательности, картинки и т.п.
[0115] Однако, битовый поток не обязательно конфигурируется как описано выше. Как иллюстрировано на фиг. 19B, вместо того, чтобы кодировать код информации выбора арифметической точности компенсации движения и код информации выбора арифметической точности преобразования и квантования, может быть определен соответствующий профиль, и этот определенный профиль может быть закодирован как код информации профиля. Например, предполагается, что 10-битовый профиль Main и 10-битовый профиль Main высокой точности существуют, что информация арифметической точности преобразования и квантования и информация выбора арифметической точности компенсации движения 10-битового профиля Main установлены в "0" и "0", соответственно, и эти информация выбора арифметической точности преобразования и квантования и информация выбора арифметической точности компенсации движения 10-битового профиля Main высокой точности установлены в "1" и "1", соответственно. Таким образом, ориентированная на реализацию обработка преобразования и квантования и ориентированная на реализацию обработка компенсации движения выбраны для 10-битового профиля Main, и ориентированная на точность обработка преобразования и квантования и ориентированная на точность обработка компенсации движения выбрана для 10-битового профиля Main высокой точности. В этом случае, когда каждая из информации выбора арифметической точности преобразования и квантования и информации выбора арифметической точности компенсации движения представляет "0", код, представляющий 10-битовый профиль Main, может быть закодирован как код информации профиля. Между тем, когда каждая из информации выбора арифметической точности преобразования и квантования и информации выбора арифметической точности компенсации движения представляет "1", код, представляющий 10-битовый профиль Main высокой точности, может быть закодирован как код информации профиля.
[0116] Фиг. 13 является последовательностью операций, иллюстрирующей процесс кодирования, выполняемый устройством кодирования изображения согласно пятому варианту осуществления. Этапы, имеющие функции, подобные таковым в первом варианте осуществления, иллюстрированном на фиг. 5, и третьем варианте осуществления, иллюстрированном на фиг. 7, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных этапов будет опущено.
[0117] На этапе S1301 модуль 902 ввода анализирует битовую глубину принятых данных изображения, и генерирует информацию битовой глубины. На этапе S1304 модуль 904 кодирования заголовка кодирует информацию, необходимую для декодирования, чтобы сгенерировать кодовые данные заголовка. Информация, необходимая для декодирования, включает в себя информацию битовой глубины, сгенерированную на этапе S1301, информацию выбора арифметической точности преобразования и квантования, сгенерированную на этапе S502, и информацию выбора арифметической точности компенсации движения, сгенерированную на этапе S722.
[0118] С конфигурацией и операцией, описанной выше, в частности, информация относительно арифметической точности при обработке кодирования, сгенерированной на этапах S502 и S722, кодируется на этапе S1304. Поэтому может генерироваться битовый поток, для которого переключение между процессами кодирования, имеющими различную арифметическую точность или различные затраты на реализацию, может быть выполнено согласно спецификациям, требуемым для приложения.
[0119] Хотя в вышеупомянутом описании для пятого варианта осуществления процесс кодирования выполняется в порядке этапов S508, S709 и S510, процесс кодирования не обязательно выполняется в этом порядке пока этап S510 не выполняется ранее чем этап S507.
[0120] Кроме того, в случае, когда данные изображения, которые должны быть закодированы, имеют 8-битовую глубину, код информации выбора арифметической точности преобразования и квантования и код информации выбора арифметической точности компенсации движения может быть опущен. Таким образом, в случае 8-битовой глубины, так как каждое из информации арифметической точности преобразования и квантования и информации арифметической точности компенсации движения уникально установлены, чтобы быть равными 0, избыточный код может быть устранен.
[0121] Кроме того, в случае вышеупомянутого 10-битового профиля Main высокой точности код информации выбора арифметической точности преобразования и квантования и код информации выбора арифметической точности компенсации движения могут быть предоставлены так, чтобы выбор между "0" и "1" мог быть выполнен. Поэтому, выбор арифметической точности может быть выполнен даже для профиля высокой точности.
[0122] В вышеупомянутом описании для пятого варианта осуществления арифметическая точность в обработке обратного квантования и обратного преобразования определяется на этапе S508, иллюстрированном на фиг. 13, на основании информации арифметической точности преобразования и квантования, сгенерированной на этапе S503. Однако, очевидно, что может использоваться арифметическая точность, вычисленная на этапе S507.
[0123] Кроме того, в вышеупомянутом описании битовый поток, сгенерированный в пятом варианте осуществления, кодируется в порядке код информации выбора арифметической точности преобразования и квантования, код информации выбора арифметической точности компенсации движения, и код информации битовой глубины, как иллюстрировано на фиг. 19A. Однако, кодирование не обязательно выполняется в этом порядке.
[0124] Кроме того, в вышеупомянутом описании для пятого варианта осуществления, модуль 323 генерирования информации арифметической точности компенсации движения и модуль 103 генерирования информации арифметической точности преобразования и квантования предоставлены независимо. Однако, только модуль 1143 генерирования информации арифметической точности может конфигурироваться, как иллюстрировано на фиг. 11. В этом случае информация арифметической точности, сгенерированная модулем 1143 генерирования информации арифметической точности, вводится в модуль 1105 предсказания, модуль 1106 преобразования и квантования, модуль 1107 обратного квантования и обратного преобразования, и модуль 1108 восстановления изображений, и выполняется обработка на основании введенной информации арифметической точности. Кроме того, модуль 1104 кодирования заголовка кодирует информацию выбора арифметической точности и информацию битовой глубины.
[0125] Кроме того, в этом случае процесс кодирования передачи выполняется так как иллюстрировано последовательностью операций на Фиг. 15. На фиг. 15 на этапе S1501, аналогично этапу S501, модуль 1101 ввода анализирует битовую глубину. На этапе S1542 генерируется информация выбора арифметической точности относительно каждой из обработки преобразования и квантования и обработки компенсации движения. На этапе S1543 генерируется информация арифметической точности относительно каждой из обработки преобразования и квантования и обработки компенсации движения. На этапе S1504 кодируется информация выбора арифметической точности. На этапах S1506 и S1509 обработка компенсации движения выполняется на основе информации арифметической точности, сгенерированной на этапе S1543. На этапе S1507 обработка преобразования и квантования выполняется на основе информации арифметической точности, сгенерированной на этапе S1543. На этапе S1508 обработка обратного квантования и обратного преобразования выполняется на основе информации арифметической точности, сгенерированной на этапе S1543.
[0126] Как описано выше, вместо использования информации арифметической точности преобразования и квантования и информации арифметической точности компенсации движения для обработки преобразования и квантования и обработки компенсации движения, соответственно, общая информация арифметической точности может использоваться.
[0127] В этом случае пример сгенерированного битового потока иллюстрирован на фиг. 19C. Информация выбора арифметической точности скомпонована как код информации выбора арифметической точности в пределах заголовка любого одного из последовательности, картинки и т.п. Кроме того, как в вариантах осуществления, описанных выше, вместо того, чтобы кодировать информацию выбора арифметической точности как код информации выбора арифметической точности, может быть определен соответствующий профиль, и этот определенный профиль может быть закодирован в качестве информации профиля. В этом случае пример сгенерированного битового потока иллюстрирован на фиг. 19B.
Шестой вариант осуществления
[0128] Фиг. 10 является блок-схемой, иллюстрирующей устройство декодирования изображения согласно шестому варианту осуществления. На фиг. 10 модули, имеющие функции, подобные таковым во втором варианте осуществления, иллюстрированном на фиг. 2, и четвертом варианте осуществления, иллюстрированном на фиг. 4, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных модулей будет опущено.
[0129] Модуль 1003 декодирования заголовка декодирует кодовые данные заголовка, отделенные из битового потока, и восстанавливает информацию относительно обработки декодирования.
[0130] Операция декодирования изображения, выполняемая вышеописанным устройством декодирования изображения, описана ниже. В шестом варианте осуществления декодируют битовый поток, сгенерированный в пятом варианте осуществления.
[0131] Модуль 1003 декодирования заголовка декодирует информацию, необходимую для декодирования из кодовых данных заголовка, принятых от модуля 202 отделения и декодирования, чтобы восстановить информацию выбора арифметической точности компенсации движения, информацию выбора арифметической точности преобразования и квантования, и информацию битовой глубины. Восстановленная информация выбора арифметической точности компенсации движения выводится к модулю 424 установки информации арифметической точности компенсации движения, и восстановленная информация арифметической точности преобразования и квантования выводится к модулю 204 установки информации арифметической точности преобразования и квантования. Кроме того, восстановленная информация битовой глубины выводится к модулю 204 установки информации арифметической точности преобразования и квантования и модулю 424 установки информации арифметической точности компенсации движения.
[0132] Фиг. 14 является последовательностью операций, иллюстрирующей процесс декодирования, выполняемый устройством декодирования изображения согласно шестому варианту осуществления. Этапы, имеющие функции, подобные таковым во втором варианте осуществления, иллюстрированном на фиг. 6, и четвертом варианте осуществления, иллюстрированном на фиг. 8, будут упомянуты с теми же самыми ссылочными позициями, и объяснение этих подобных этапов будет опущено.
[0133] На этапе S1402 модуль 1003 декодирования заголовка декодирует информацию, необходимую для декодирования, из кодовых данных заголовка, отделенных на этапе S601, чтобы восстановить информацию выбора арифметической точности компенсации движения, информацию выбора арифметической точности преобразования и квантования и информацию битовой глубины.
[0134] С конфигурацией и операцией, описанной выше, в частности, декодирование информации выбора арифметической точности компенсации движения и информации арифметической точности преобразования и квантования относительно обработки декодирования может быть выполнено на этапе S1402. Поэтому битовый поток, для которого процессы декодирования, имеющие различную арифметическую точность или различные затраты реализации, могут быть выполнены согласно спецификациям, требуемым для приложения, сгенерированного в пятом варианте осуществления, может быть декодирован.
[0135] В вышеупомянутом описании для шестого варианта осуществления ввод битового потока в устройство декодирования изображения получают посредством индивидуального кодирования информации выбора арифметической точности преобразования и квантования и информации выбора арифметической точности компенсации движения, иллюстрированных на фиг. 19A. Однако, битовый поток не обязательно конфигурируется как описано выше. Например, как иллюстрировано на фиг. 19B, вместо того, чтобы кодировать код информации выбора арифметической точности преобразования и квантования и код информации выбора арифметической точности компенсации движения, может быть закодирован код информации профиля, представляющий соответствующий профиль. В этом случае модуль 424 установки информации арифметической точности компенсации движения и модуль 204 установки информации арифметической точности преобразования и квантования генерируют информацию арифметической точности компенсации движения и информацию арифметической точности преобразования и квантования на основе кода информации профиля и информации битовой глубины.
[0136] Кроме того, хотя модуль 204 установки информации арифметической точности преобразования и квантования и модуль 424 установки информации арифметической точности компенсации движения независимо предоставлены в шестом варианте осуществления, только модуль 1244 установки информации арифметической точности может быть обеспечен, как иллюстрировано на фиг. 12. В этом случае информация арифметической точности, установленная модулем 1244 установки информации арифметической точности, вводится в модуль 1206 обратного квантования и обратного преобразования и модуль 1207 восстановления изображений, и выполняется обработка на основании информации арифметической точности ввода.
[0137] Кроме того, в этом случае процесс декодирования передачи выполняется, как иллюстрировано последовательностью операций на Фиг. 16. На фиг. 16 на этапе S1602 декодируется информация выбора арифметической точности. На этапе S1643 восстанавливается информация арифметической точности относительно каждой из обработки обратного квантования и обратного преобразования и обработки компенсации движения. На этапе S1644 информация арифметической точности относительно каждой из обработки обратного квантования и обратного преобразования и обработки компенсации движения восстанавливается и определяется на основе восстановленной информации арифметической точности. На этапах S1606 и S1607 обработка обратного квантования и обратного преобразования и обработка компенсации движения выполняются в соответствии с соответствующей информацией арифметической точности, определенной на этапе S1644. Как описано выше, вместо использования информации арифметической точности преобразования и квантования и информации арифметической точности компенсации движения для обработки преобразования и квантования и обработки компенсации движения, соответственно, общая информация арифметической точности может использоваться.
[0138] В этом случае пример принятого битового потока иллюстрирован на фиг. 19C, и информация выбора арифметической точности преобразования и квантования и информация выбора арифметической точности компенсации движения индивидуально кодируются. Однако, битовый поток не обязательно конфигурируется так, как описано выше. Как в предшествующих вариантах осуществления, вместо того, чтобы кодировать информацию выбора арифметической точности как код информации выбора арифметической точности, соответствующий профиль может быть закодирован в качестве информации профиля. В этом случае пример принятого битового потока иллюстрирован на фиг. 19B.
Седьмой вариант осуществления
[0139] В предшествующих вариантах осуществления были предоставлены объяснения при условии, что модули обработки, иллюстрированные на фиг. 1, 2, 3, 4, 9, 10, 11, и 12, конфигурируются как аппаратное обеспечение. Однако, обработка выполняемая модулями обработки, иллюстрированными на фиг. 1, 2, 3, 4, 9, 10, 11, и 12, может конфигурироваться как компьютерные программы.
[0140] Фиг. 20 является блок-схемой, иллюстрирующей пример конфигурации аппаратного обеспечения компьютера, который применим к устройству отображения изображения согласно каждому из предшествующих вариантов осуществления.
[0141] Центральный процессор (CPU) 2001 управляет всем компьютером, используя компьютерную программу и данные, хранящиеся в памяти с произвольным доступом (RAM) 2002 и памяти только для считывания (ROM) 2003, и выполняет процессы, описанные как выполняемые устройствами обработки изображения согласно предшествующим вариантам осуществления. Таким образом, центральный процессор 2001 функционирует как модули обработки, иллюстрированные на фиг. 1, 2, 3, 4, 9, 10, 11 и 12.
[0142] RAM 2002 включает в себя область для того, чтобы временно хранить компьютерную программу и данные, загруженные от внешнего устройства хранения 2006, данные, внешне приобретенные через интерфейс (I/F), и т.п. RAM 2002 также включает в себя рабочую область, которая будет использоваться, когда центральный процессор 2001 выполняет различные процессы. Таким образом, например, RAM 2002 может использоваться как память кадров или может соответственно обеспечить другие различные области.
[0143] ROM 2003 хранит данные установки, программу загрузки, и т.п. компьютера. Модуль 2004 операций включает в себя клавиатуру, мышь, и т.п. Когда пользователь компьютера управляет модулем 2004 операций, различные инструкции могут быть введены к центральному процессору 2001. Модуль 2005 вывода отображает результат обработки центральным процессором 2001. Кроме того, модуль 2005 вывода включает в себя, например, жидкокристаллический дисплей.
[0144] Внешнее устройство 2006 хранения является массовым устройством хранения информации, представленным устройством накопителя на жестких дисках. Операционная система (OS) и компьютерная программа для того, чтобы вынудить центральный процессор 2001 реализовать функции блоков, иллюстрированных на фиг. 1, 2, 3, 4, 9, 10, 11, и 12, сохранены во внешнем устройстве хранения 2006. Различные данные изображения, которые должны быть обработаны, могут также храниться во внешнем устройстве 2006 хранения.
[0145] Компьютерная программа и данные, хранящиеся во внешнем устройстве 2006 хранения, соответственно загружаются в RAM 2002 под управлением центрального процессора 2001 и становится целями, которые должны быть обработаны центральным процессором 2001. Сеть, такая как локальная сеть (LAN) или Интернет, или устройство, такое как устройство проецирования или устройство отображения, могут быть связаны с интерфейсом (I/F) 2007. Компьютер способен получать и посылать различные типы информации через I/F 2007. Шина 2008 соединяет вышеописанные блоки.
[0146] Операция, сконфигурированный как описано выше, управляет работой, описанной в отношении последовательностей операций, описанных выше, главным образом посредством центрального процессора 2001.
[0147] Кроме того, настоящее изобретение может также быть реализовано обработкой, описанной ниже, то есть, обработкой для обеспечения программного обеспечения (программы), реализующей функции предшествующих вариантов осуществления, системе или устройству через сеть или различным запоминающим носителям и вынуждая компьютер (или центральный процессор, микропроцессорный блок (MPU), или подобное) системы или устройства считывать и выполнять программу.
[0148] Согласно настоящему изобретению посредством кодирования и посредством декодирования, которые поддерживают и то и другое, может реализоваться процесс кодирования, который поддерживает постоянную точность даже при высокой битовой глубине независимо от битовой глубины изображения, и процесс кодирования, который зависит от битовой глубины, уменьшая арифметическую точность так, чтобы легкость реализации была подчеркнута. Следовательно, переключение между этими процессами кодирования может быть выполнено согласно спецификациям, требуемым для приложения.
[0149] В то время как настоящее изобретение было описано со ссылками на примерные варианты осуществления, нужно понимать, что изобретение не ограничено раскрытыми примерными вариантами осуществления. Объем охраны нижеследующей формулы изобретения должен получить самую широкую интерпретацию, чтобы охватить все такие модификации и эквивалентные структуры и функции.
[0150] Эта заявка испрашивает приоритет японской патентной заявки № 2012-287785, поданной 28 декабря 2012, которая тем самым полностью включена в настоящее описание по ссылке.