Устройство кодирования изображений, способ кодирования изображений, устройство декодирования изображений, способ декодирования изображений и носитель хранения данных

Иллюстрации

Показать все

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

Реферат

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

[0001] Настоящее изобретение относится к устройству кодирования изображений, способу кодирования изображений, устройству декодирования изображений, способу декодирования изображений и носителю хранения данных. Более конкретно, настоящее изобретение относится к способу кодирования/декодирования матрицы квантования в изображении.

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

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

[0003] Касательно H.264, элементы матрицы квантования сканируются в направлении от элемента в верхнем левом углу двумерной матрицы квантования, который соответствует низкочастотному компоненту, к элементу в нижнем правом углу, который соответствует высокочастотному компоненту. Например, при кодировании двумерной матрицы квантования, проиллюстрированной на фиг. 6A, используется способ сканирования, называемый зигзагообразным сканированием, проиллюстрированный на фиг. 13A. Согласно этой обработке, матрица квантования компонуется в одномерную матрицу, проиллюстрированную на фиг. 6B. Затем, вычисляется разность между элементом, который должен быть кодирован в матрице, и ее предыдущем элементом, и получается матрица значений разностей, проиллюстрированная на фиг. 6D. Дополнительно, значения разностей кодируются в качестве дельта-шкалы посредством способа, называемого кодированием экспоненциальным кодом Голомба со знаком, проиллюстрированного на фиг. 5A. Например, если разность между элементом в матрице и ее предыдущим элементом равна 0, кодируется двоичный код 1. Если разность равна -2, кодируется двоичный код 00101.

[0004] Тем не менее, касательно зигзагообразного сканирования, используемого в H.264, поскольку элементы матрицы квантования сканируются в диагональном направлении, объем кода матрицы квантования увеличивается в зависимости от характеристик матрицы квантования.

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

[0005] Настоящее изобретение направлено на реализацию высокоэффективного кодирования/декодирования матриц квантования посредством введения однонаправленного способа сканирования, такого как горизонтальное/вертикальное сканирование при кодировании матриц квантования.

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

[0007] Согласно примерному варианту осуществления настоящего изобретения, объем кода, необходимого при кодировании матриц квантования, может быть уменьшен, и становится возможным высокоэффективное кодирование/декодирование.

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

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

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

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

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

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

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

Фиг. 5A иллюстрирует пример таблицы кодирования с симметрией "плюс-минус".

Фиг. 5B иллюстрирует пример таблицы кодирования с асимметрией "плюс-минус".

Фиг. 6A иллюстрирует пример матрицы квантования.

Фиг. 6B иллюстрирует пример матрицы квантования.

Фиг. 6C иллюстрирует пример матрицы квантования.

Фиг. 6D иллюстрирует пример матрицы разностей.

Фиг. 6E иллюстрирует пример матрицы разностей.

Фиг. 7 иллюстрирует пример кодирования матрицы квантования.

Фиг. 8A иллюстрирует пример структуры потока битов.

Фиг. 8B иллюстрирует пример структуры потока битов.

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

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

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

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

Фиг. 13A иллюстрирует пример способа сканирования и способа вычисления разностей коэффициентов матрицы квантования.

Фиг. 13B иллюстрирует пример способа сканирования и способа вычисления разностей коэффициентов матрицы квантования.

Фиг. 13C иллюстрирует пример способа сканирования и способа вычисления разностей коэффициентов матрицы квантования.

Фиг. 13D иллюстрирует пример способа сканирования и способа вычисления разностей коэффициентов матрицы квантования.

Фиг. 13E иллюстрирует пример способа сканирования и способа вычисления разностей коэффициентов матрицы квантования.

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

Фиг. 15 иллюстрирует пример кодирования матрицы квантования согласно пятому и шестому примерным вариантам осуществления.

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

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

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

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

Фиг. 17B иллюстрирует пример матрицы разностей согласно пятому и шестому примерным вариантам осуществления.

Фиг. 17C иллюстрирует пример матрицы разностей согласно пятому и шестому примерным вариантам осуществления.

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

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

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

Фиг. 19A иллюстрирует пример матрицы квантования согласно седьмому и восьмому примерным вариантам осуществления.

Фиг. 19B иллюстрирует пример матрицы разностей согласно седьмому и восьмому примерным вариантам осуществления.

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

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

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

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

Подробное описание вариантов осуществления

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

[0012] В контексте настоящего описания изобретения, способ сканирования для двумерной матрицы, проиллюстрированный на фиг. 13B, называется горизонтальным сканированием, а способ сканирования для двумерной матрицы, проиллюстрированный на фиг. 13D, называется вертикальным сканированием.

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

[0014] На фиг. 1, модуль 101 разделения на блоки разделяет входное изображение на множество блоков.

[0015] Модуль 102 прогнозирования выполняет прогнозирование каждого блока, разделенного посредством модуля 101 разделения на блоки в единицах блоков, определяет способ прогнозирования, вычисляет значения разностей согласно определенному способу прогнозирования и дополнительно вычисляет ошибки прогнозирования. Если внутренний кадр движущегося изображения или неподвижного изображения должен быть обработан, выполняется внутреннее прогнозирование. Если внешний кадр движущегося изображения должен быть обработан, выполняется прогнозирование с компенсацией движения, а также внутреннее прогнозирование. Внутреннее прогнозирование, в общем, реализуется посредством выбора оптимального способа прогнозирования из множества способов при вычислении прогнозированных значений из данных соседних пикселов.

[0016] Модуль 103 преобразования выполняет ортогональное преобразование для ошибок прогнозирования каждого блока. Модуль 103 преобразования выполняет ортогональное преобразование в единицах блоков, чтобы вычислять коэффициенты преобразования. Размер блока является размером входного блока или размером, полученным посредством дополнительной сегментации входного блока. В нижеприведенном описании, блок, который должен быть преобразован посредством ортогонального преобразования, называется блоком преобразования. Хотя способ ортогонального преобразования не ограничивается, может использоваться дискретное косинусное преобразование или преобразование Адамара. Дополнительно, согласно настоящему варианту осуществления, ошибка прогнозирования в единицах блоков 8×8 пикселов разделяется на две части в длину и в ширину, и результирующий блок преобразования в 4×4 пиксела используется в ортогональном преобразовании, чтобы упрощать описание. Тем не менее, размер и форма блока преобразования не ограничены таким примером. Например, ортогональное преобразование может выполняться посредством использования блока преобразования с идентичным размером блока или блока преобразования, полученного посредством разделения блока на меньшие части, чем получается, когда блок разделяется на две части в длину и в ширину.

[0017] Модуль 106 хранения матриц квантования формирует и сохраняет матрицы квантования. Способ формирования матриц квантования, которые сохраняются в модуле 106 хранения матриц квантования, не ограничивается. Таким образом, это могут быть матрицы квантования, вводимые пользователем, матрицы квантования, вычисленные из характеристик входного изображения, или матрицы квантования, указанные заранее в качестве начальных значений. Согласно настоящему варианту осуществления, формируется и сохраняется двумерная матрица квантования, соответствующая блоку преобразования 4×4 пикселов, проиллюстрированная на фиг. 6A.

[0018] Модуль 104 квантования квантует коэффициенты преобразования с использованием матриц квантования, сохраненных в модуле 106 хранения матриц квантования. Коэффициенты квантования получаются посредством этого процесса квантования.

[0019] Модуль 105 кодирования коэффициентов кодирует коэффициенты квантования, полученные таким образом, и формирует кодированные данные коэффициентов квантования. Хотя способ кодирования не ограничивается, может использоваться такое кодирование, как кодирование методом Хаффмана и арифметическое кодирование.

[0020] Модуль 109 сканирования матриц квантования сканирует двумерные матрицы квантования, сохраненные в модуле 106 хранения матриц квантования, вычисляет разность каждого элемента и компонует ее в одномерных матрицах. Согласно настоящему примерному варианту осуществления, разность, скомпонованная в этой одномерной матрице, называется матрицей разностей.

[0021] Модуль 107 кодирования матриц квантования кодирует матрицы разностей (одномерные матрицы), скомпонованные посредством модуля 109 сканирования матриц квантования, и формирует кодированные данные матриц квантования. Модуль 108 интегрирующего кодирования формирует информацию заголовка, а также коды, которые ассоциированы с прогнозированием или преобразованием, и также интегрирует кодированные данные коэффициентов квантования, сформированные посредством модуля 105 кодирования коэффициентов, и кодированные данные матриц квантования, сформированные посредством модуля 107 кодирования матриц квантования. Код, ассоциированный с прогнозированием или преобразованием, представляет собой, например, код, ассоциированный с выбором способа прогнозирования или разделением блока преобразования.

[0022] Далее описывается операция кодирования изображения, выполняемая посредством вышеописанного устройства кодирования изображений. Согласно настоящему варианту осуществления, хотя данные движущихся изображений вводятся в единицах кадров, также могут вводиться данные неподвижных изображений одного кадра. Дополнительно, согласно настоящему варианту осуществления, чтобы упрощать описание, описывается только обработка кодирования с внутренним прогнозированием. Тем не менее, настоящее изобретение также может применяться к обработке кодирования с внешним прогнозированием. Согласно настоящему варианту осуществления, хотя модуль 101 разделения на блоки разделяет входное изображение на блоки 8×8 пикселов, размер блоков не ограничивается таким примером.

[0023] Затем, кодирование элементов матриц квантования выполняется перед кодированием изображения. Во-первых, модуль 106 хранения матриц квантования формирует матрицы квантования. Матрицы квантования определяются согласно размеру блока, который кодируется. Способ определения элемента матриц квантования не ограничивается. Например, может использоваться предварительно определенное начальное значение, либо может использоваться значение, которое задается отдельно. Дополнительно, значение может быть сформировано и задано согласно характеристикам изображения.

[0024] Матрица квантования, сформированная таким образом, сохраняется в модуле 106 хранения матриц квантования. Фиг. 6A иллюстрирует пример матрицы квантования, которая соответствует блоку преобразования 4×4 пикселов. Обведенный полужирным кадр 600 представляет матрицу квантования. Чтобы упрощать описание, матрица квантования имеет размер 16 пикселов, что соответствует блоку преобразования 4×4 пикселов, и каждая ячейка матрицы представляет элемент. Согласно настоящему варианту осуществления, хотя матрица квантования, проиллюстрированная на фиг. 6A, сохраняется в двумерной матрице, элементы в матрице квантования не ограничены таким примером. Например, если блок преобразования 8×8 пикселов должен быть использован в дополнение к размеру блока по настоящему варианту осуществления, должна быть сохранена другая матрица квантования, которая соответствует блоку преобразования 8×8 пикселов.

[0025] Модуль 109 сканирования матриц квантования считывает двумерные матрицы квантования, сохраненные в модуле 106 хранения матриц квантования по порядку, сканирует каждый элемент, вычисляет разность и компонует элементы в одномерных матрицах. Согласно настоящему варианту осуществления, используется вертикальное сканирование, проиллюстрированное на фиг. 13D, и разность между элементом и его предыдущим элементом вычисляется для каждого элемента в порядке сканирования. Тем не менее, способ сканирования и способ вычисления разности не ограничены таким примером. Горизонтальное сканирование, проиллюстрированное на фиг. 13B, может использоваться в качестве способа сканирования, и разность между элементом и его предыдущим элементом может быть вычислена для каждого элемента в порядке сканирования. Дополнительно, при использовании способа сканирования, проиллюстрированного на фиг. 13B, разность, связанная с элементами в левом конце, может быть вычислена посредством получения разности между верхними элементами, как проиллюстрировано на фиг. 13C. Таким образом, разность между элементом и его предыдущим элементом вычисляется так, как выполняется на фиг. 13B, за исключением элементов в левом конце. Дополнительно, при использовании способа сканирования, проиллюстрированного на фиг. 13D, разность, связанная с элементами в начале, может быть вычислена посредством получения разности между левыми элементами, как проиллюстрировано на фиг. 13E. Таким образом, разность между элементом и его предыдущим элементом вычисляется так, как выполняется на фиг. 13D, за исключением элементов в начале. Согласно настоящему варианту осуществления, двумерная матрица квантования, проиллюстрированная на фиг. 6A, сканируется с использованием вертикального сканирования, проиллюстрированного на фиг. 13D, и вычисляется разность между каждым элементом и его предыдущим элементом, и формируется матрица разностей, проиллюстрированная на фиг. 6E. Дополнительно, значение разности, которое соответствует первому элементу матрицы, получается посредством вычисления разности между значением первого элемента и предварительно определенным начальным значением. Согласно настоящему варианту осуществления, хотя начальное значение задается равным 8, произвольное значение может использоваться в качестве начального значения, или значение самого первого элемента может быть кодировано.

[0026] Модуль 107 кодирования матриц квантования считывает матрицы разностей из модуля 109 сканирования матриц квантования по порядку, кодирует матрицы разностей и формирует кодированные данные матриц квантования. Согласно настоящему варианту осуществления, матрицы разностей кодируются посредством использования таблицы кодирования, проиллюстрированной на фиг. 5A. Тем не менее, таблица кодирования не ограничивается таким примером, и, например, может использоваться таблица кодирования, проиллюстрированная на фиг. 5B.

[0027] Фиг. 7 иллюстрирует пример результата, полученного посредством вычисления матрицы разностей матрицы квантования, проиллюстрированной на фиг. 6A, с использованием способов сканирования на фиг. 13A и 13D, и кодирования матрицы разностей с использованием таблицы кодирования, проиллюстрированной на фиг. 5A. Столбцы элемента на фиг. 7 представляют результаты, полученные из сканирования каждого элемента в матрице квантования, проиллюстрированной на фиг. 6A, и столбцы значения разности представляют значение разности между элементом и предварительно определенным начальным значением 8 или предыдущим элементом. Столбцы кода зигзагообразного сканирования представляют коды в случае, если используется зигзагообразное сканирование традиционного способа, проиллюстрированного на фиг. 13A, и требуется всего 68 битов. С другой стороны, столбцы кода вертикального сканирования представляют коды в случае, если используется вертикальное сканирование, проиллюстрированное на фиг. 13D, и требуется всего 60 битов. Таким образом, посредством использования вертикального сканирования, идентичная матрица квантования может быть кодирована с меньшим объемом кода. Кодированные данные матриц квантования, сформированных таким образом, вводятся в модуль 108 интегрирующего кодирования. Модуль 108 интегрирующего кодирования кодирует информацию заголовка, необходимую при кодировании данных изображений, и интегрирует кодированные данные матриц квантования.

[0028] После этого выполняется кодирование данных изображений. Когда данные изображений одного кадра вводятся в модуль 101 разделения на блоки, он разделяется на единицы блоков 8×8 пикселов. Разделенные данные изображений вводятся в модуль 102 прогнозирования.

[0029] Модуль 102 прогнозирования выполняет прогнозирование в единицах блоков, чтобы формировать ошибки прогнозирования. Модуль 103 преобразования разделяет ошибки прогнозирования, сформированные посредством модуля 102 прогнозирования, на блоки с размером блока преобразования, и выполняет ортогональное преобразование, чтобы получать коэффициенты преобразования. Затем, полученные коэффициенты преобразования вводятся в модуль 104 квантования. Согласно настоящему варианту осуществления, ошибки прогнозирования в единицах блоков 8×8 пикселов разделяются на единицы блоков преобразования 4×4 пикселов, чтобы выполнять ортогональное преобразование.

[0030] Снова ссылаясь на фиг. 1, модуль 104 квантования квантует вывод коэффициентов преобразования из модуля 103 преобразования посредством использования матриц квантования, сохраненных в модуле 106 хранения матриц квантования, и формирует коэффициенты квантования. Сформированные коэффициенты квантования вводятся в модуль 105 кодирования коэффициентов.

[0031] Модуль 105 кодирования коэффициентов кодирует коэффициенты квантования, сформированные посредством модуля 104 квантования, формирует кодированные данные коэффициентов квантования и выводит сформированные кодированные данные коэффициентов квантования в модуль 108 интегрирующего кодирования. Модуль 108 интегрирующего кодирования формирует коды, ассоциированные с прогнозированием и преобразованием в единицах блоков, интегрирует коды в единицах блоков и кодированные данные коэффициентов квантования, сформированные посредством модуля 105 кодирования коэффициентов, вместе с кодированными данными заголовка, и формирует поток битов. Затем, модуль 108 интегрирующего кодирования выводит сформированный поток битов.

[0032] Фиг. 8A иллюстрирует пример потока битов, который выводится согласно первому примерному варианту осуществления. Заголовок последовательности включает в себя кодированные данные матриц квантования и в силу этого включает в себя результаты кодирования каждого элемента. Тем не менее, позиция кодированных данных не ограничивается таким примером. Например, кодированные данные могут быть включены в часть заголовка изображения или другие части заголовка. Дополнительно, если изменение в матрице квантования должно выполняться в одной последовательности, матрица квантования может быть обновлена посредством нового кодирования матрицы квантования. В таком случае, может перезаписываться вся матрица квантования. Дополнительно, если указаны способ сканирования и размер блока преобразования матрицы квантования, которая должна быть перезаписана, часть матрицы квантования может быть изменена согласно указанию.

[0033] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей обработку кодирования изображений, выполняемую посредством устройства кодирования изображений согласно первому примерному варианту осуществления. На этапе S901, модуль 106 хранения матриц квантования формирует матрицы квантования.

[0034] На этапе S902, модуль 109 сканирования матриц квантования сканирует матрицы квантования, сформированные на этапе S901, вычисляет разность между элементами и формирует матрицы разностей. Согласно настоящему варианту осуществления, матрица квантования, проиллюстрированная на фиг. 6A, сканируется с использованием способа сканирования, проиллюстрированного на фиг. 13D, и формируется матрица разностей, проиллюстрированная на фиг. 6E. Тем не менее, матрицы квантования и способ сканирования не ограничены такими примерами.

[0035] На этапе S903, модуль 107 кодирования матриц квантования кодирует матрицы разностей, сформированные на этапе S902. Согласно настоящему варианту осуществления, модуль 107 кодирования матриц квантования кодирует матрицы разностей, проиллюстрированные на фиг. 6E, с использованием таблицы кодирования, проиллюстрированной на фиг. 5A. Тем не менее, таблица кодирования не ограничивается такой таблицей.

[0036] На этапе S904, модуль 108 интегрирующего кодирования кодирует и выводит часть заголовка потока битов. На этапе S905, модуль 101 разделения на блоки разделяет входное изображение в единице кадра на единицу блока. На этапе S906, модуль 102 прогнозирования выполняет прогнозирование в единицах блоков и формирует ошибки прогнозирования.

[0037] На этапе S907, модуль 103 преобразования разделяет ошибки прогнозирования, сформированные на этапе S906, на блоки с размером блока преобразования, выполняет ортогональное преобразование и формирует коэффициенты преобразования. На этапе S908, модуль 104 квантования формирует коэффициенты квантования посредством квантования коэффициентов преобразования, сформированных на этапе S907, с использованием матриц квантования, сформированных на этапе S901 и сохраненных в модуле 106 хранения матриц квантования.

[0038] На этапе S909, модуль 105 кодирования коэффициентов кодирует коэффициенты квантования, сформированные на этапе S908, и формирует кодированные данные коэффициентов квантования. На этапе S910, устройство кодирования изображений определяет то, завершено или нет кодирование всех блоков преобразования в блоке, Если кодирование всех блоков преобразования завершено ("Да" на этапе S910), обработка переходит к этапу S911. Если кодирование всех блоков преобразования еще не завершено ("Нет" на этапе S910), обработка возвращается к этапу S907, и обрабатывается следующий блок преобразования.

[0039] На этапе S911, устройство кодирования изображений определяет то, завершено или нет кодирование всех блоков. Если кодирование всех блоков завершено ("Да" на этапе S911), устройство кодирования изображений прекращает все операции, и затем обработка завершается. Если кодирование всех блоков еще не завершено ("Нет" на этапе S911), обработка возвращается к этапу S905, и обрабатывается следующий блок.

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

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

[0042] Дополнительно, согласно настоящему варианту осуществления, хотя используются блок 8×8 пикселов и блок преобразования 4×4 пикселов, настоящее изобретение не ограничено такими примерами. Например, размер блока может составлять 16×16 пикселов или 32×32 пиксела. Дополнительно, форма блока не ограничивается квадратом, и, например, может использоваться прямоугольник в 16×8 пикселов.

[0043] Дополнительно, хотя размер блока преобразования составляет половину размера блока в длину и в ширину в настоящем варианте осуществления, размер блока преобразования может быть идентичным размеру блока или еще меньшим, чем половина размера блока в длину и в ширину.

[0044] Дополнительно, согласно настоящему варианту осуществления, матрицы разностей формируются, а затем кодируются. Тем не менее, модуль 107 кодирования матриц квантования может непосредственно вычислять значения разностей из матриц квантования с использованием предварительно определенного способа сканирования и кодировать значения разностей. В таком случае, модуль 109 сканирования матриц квантования не требуется.

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

[0046] Дополнительно, согласно настоящему варианту осуществления, хотя описывается случай только с одной матрицей квантования, матрица квантования не обязательно одна. Например, если различные матрицы квантования предоставляются для яркости/цветности, может использоваться общий способ сканирования матриц квантования, или может предоставляться другой способ сканирования.

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

[0048] На фиг. 2, модуль 201 декодирования/разделения декодирует информацию заголовка входного потока битов, разделяет необходимые коды из потока битов и выводит разделенные коды на последующие стадии. Модуль 201 декодирования/разделения выполняет обратную операцию относительно операции, выполняемой посредством модуля 108 интегрирующего кодирования, проиллюстрированного на фиг. 1. Модуль 206 декодирования матриц квантования декодирует кодированные данные матриц квантования из информации заголовка потока битов и формирует матрицы разностей.

[0049] Модуль 208 обратного сканирования матриц квантования воспроизводит матрицы квантования посредством выполнения обратного сканирования матриц разностей, сформированных посредством модуля 206 декодирования матриц квантования. Модуль 208 обратного сканирования матриц квантования выполняет обратную операцию относительно операции, выполняемой посредством модуля 109 сканирования матриц квантования, проиллюстрированного на фиг. 1. Модуль 207 хранения матриц квантования сохраняет матрицы квантования, воспроизведенные посредством модуля 208 обратного сканирования матриц квантования.

[0050] С другой стороны, модуль 202 декодирования коэффициентов декодирует коэффициенты квантования из кода, разделенного посредством модуля 201 декодирования/разделения, и воспроизводит коэффициенты квантования. Модуль 203 обратного квантования выполняет обратное квантование коэффициентов квантования посредством использования матриц квантования, сохраненных в модуле 207 хранения матриц квантования, и воспроизводит коэффициенты преобразования. Модуль 204 обратного преобразования выполняет обратное ортогональное преобразование, которое является обратной операцией относительно операции, выполняемой посредством модуля 103 преобразования, проиллюстрированного на фиг. 1, и воспроизводит ошибки прогнозирования. Модуль 205 переконфигурирования прогнозирования воспроизводит блочные данные изображений из воспроизведенных ошибок прогнозирования и уже декодированных данных соседних изображений.

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

[0052] Касательно иллюстрации на фиг. 2, поток битов одного кадра вводится в модуль 201 декодирования/разделения, и декодируется информация заголовка, необходимая при воспроизведении изображения. Дополнительно, коды, используемые на последующих стадиях, отделяются от информации заголовка и выводятся. Кодированные данные матриц квантования, включенные в информацию заголовка, вводятся в модуль 206 декодирования матриц квантования, и воспроизводятся одномерные матрицы разностей. Согласно настоящему варианту осуществления, посредством использования таблицы декодирования, проиллюстрированной на фиг. 5A, декодируется значение разности каждого элемента матриц квантования, и воспроизводятся матрицы разностей. Тем не менее, таблица декодирования не ограничивается таблицей, проиллюстрированной на фиг. 5A. Воспроизведенные матрицы разностей вводятся в модуль 208 обратного сканирования матриц квантования.

[0053] Модуль 208 обратного сканирования матриц квантования вычисляет каждый элемент матриц квантования из каждого значения разности во входных матрицах разностей, выполняет обратное сканирование и воспроизводит двумерные матрицы квантования. Воспроизведенные матрицы квантования вводятся в и сохраняются в модуле 207 хранения матриц квантования. Дополнительно, из кодов, разделенных посредством модуля 201 декодирования/разделения, кодированные данные коэффициентов квантования вводятся в модуль 202 декодирования коэффициентов. Дополнительно, модуль 202 декодирования коэффициентов декодирует кодированные данные коэффициентов квантования для каждого блока преобразования, воспроизводит коэффициенты квантования и выводит воспроизведенные коэффициенты квантования в модуль 203 обратного квантования.

[0054] Модуль 203 обратного квантования вводит коэффициенты квантования, воспроизведенные посредством модуля 202 декодирования коэффициентов, и матрицы квантования, сохраненные в модуле 207 хранения матриц квантования. Затем, модуль 203 обратного квантования выполняет обратное квантование посредством использования матриц квантования, воспроизводит коэффициенты преобразования и выводит воспроизведенные коэффициенты преобразования в модуль 204 обратного преобразования. Модуль 204 обратного преобразования выполняет обратное ортогональное преобразование, которое является обратной операцией относительно операции, выполняемой посредством моду