УСТРОЙСТВО, СПОСОБ, СЧИТЫВАЕМЫЙ КОМПЬЮТЕРОМ НОСИТЕЛЬ ЗАПИСИ С ПРОГРАММОЙ КОДИРОВАНИЯ ДВИЖУЩИХСЯ ИЗОБРАЖЕНИЙ ДЛЯ КОДИРОВАНИЯ ДВИЖУЩИХСЯ ИЗОБРАЖЕНИЙ
APPARATUS, A METHOD, A COMPUTER-READABLE RECORDING MEDIUM WITH A MOVING IMAGE ENCODING PROGRAM FOR ENCODING MOVING IMAGES

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Настоящее изобретение относится к технологии кодирования и декодирования движущихся изображений и, в частности, к технологии кодирования и декодирования движущихся изображений, используя кодирование с предсказанием параметра квантования.
В стандартах цифрового кодирования движущихся изображений, таких как MPEG-2 Part2 (далее именуется как MPEG-2) или MPEG-4 Part10/Н.264 (далее именуется как AVC), каждое изображение разделяется на блоки, имеющие определенный размер, осуществляется кодирование блоков и передается параметр квантования, который показывает величину дискретности квантования, соответствующую сигналу ошибки предсказания (или просто - сигналу изображения). Базируясь на изменяемом управлении на стороне кодирования параметром квантования в единицах блока заранее заданного размера, можно управлять величиной кода и обеспечить повышение субъективного качества изображения.
В качестве управления параметром квантования, при котором обеспечивается повышение субъективного качества изображения, часто используется адаптивное квантование. При адаптивном квантовании проводится изменение дискретности квантования в зависимости от активности каждого отдельного макроблока таким образом, что квантование проводится при меньшей величине дискретности в однородных областях изображения, где легко визуально распознаются искажения, и квантование проводится при более высокой величине дискретности в сложных частях изображения, в которых визуальное распознавание искажений относительно затруднено. То есть, в макроблоке с высокой активностью, для которого число битов, назначаемых во время кодирования, имеет тенденцию к повышению, параметр квантования изменяется так, что задается большой масштаб квантования. И в результате этого улучшается субъективное качество изображения, при этом управление проводится так, что число битов в данных кодированного изображения уменьшается, насколько это возможно.
В MPEG-2 определяется, является или не является параметр квантования последнего блока по порядку кодирования/декодирования тем же самым, что и параметр квантования блока, являющегося объектом кодирования, и в случае, когда параметр квантования последнего блока не является тем же самым, что и параметр квантования блока, являющегося объектом кодирования, передается параметр квантования. В AVC проводится разностное кодирование параметра квантования блока, являющегося объектом кодирования, используя в качестве предсказанной величины параметр квантования последнего блока по порядку кодирования/декодирования. Такое решение основывается на том факте, что управление величиной кода обычно проводится в порядке кодирования, поэтому параметр квантования последнего по порядку блока кодирования является наиболее близким к параметру квантования блока кодирования, и целью здесь является подавление объема информации передаваемого параметра квантования.
СПИСОК ССЫЛОК
ПАТЕНТНАЯ ЛИТЕРАТУРА
[Патентная литература 1] Выложенная японская заявка на патент №2011-91772
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
При известном управлении параметром квантования величина кода параметра квантования уменьшается за счет того, что параметр квантования кодированного блока с левой стороны принимается в качестве предсказанного параметра квантования, вычисляется разность между этим параметром и параметром квантования кодируемого блока, и проводится кодирование вычисленного в результате разностного параметра квантования. Однако в зависимости от контента в кадре изображения, например, в случае, как показывается на Фиг. 8, когда характерные особенности изображения в кодируемом блоке и изображения в кодированном блоке с левой от него стороны различаются, разность между параметрами квантования, вычисленная при адаптивном квантовании, становится большой. В этом случае, если только предсказание параметра квантования осуществляется однозначно по блоку, примыкающего слева к кодируемому блоку, разностный параметр квантования становится большим и, соответственно, возникает проблема того, что величина кода увеличивается.
Кроме того, параметры квантования, вычисленные на базе управления величиной кода, обычно следуют в растровом порядке сканирования, начиная с верхнего левого угла кадра изображения и по направлению к его нижнему правому углу, поэтому если размер блока, являющегося объектом кодирования, становится небольшим, то промежуток обработки слоев между собой увеличивается. По этой причине в случае, когда для предсказания используется параметр квантования кодированного блока, к которому сверху примыкает кодируемый блок, эти блоки являются смежными, однако промежутки обработки при управлении величиной кода отдалены друг от друга. Поэтому нельзя утверждать, что параметры квантования, вычисленные на базе управления величиной кода, непременно станут одинаковыми или близкими по величине в блоке, являющемся объектом кодирования, и в кодированном блоке, который примыкает сверху к блоку, являющемуся объектом кодирования. Это приводит в результате к такой проблеме, что нельзя будет говорить о возможности уменьшения величины кода разностного параметра квантования.
Настоящее изобретение разработано с позиции этих обстоятельств, а целью настоящего изобретения является предоставление технологии, обеспечивающей повышение эффективности кодирования за счет снижения величины кода параметра квантования.
Для решения проблемы, описанной выше, устройство кодирования движущихся изображений, в соответствии с одной особенностью настоящего изобретения, представляет собой устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером. Это устройство кодирования движущихся изображений содержит: блок вычисления параметров квантования (110), который вычисляет параметр квантования второго блока; блок вывода предсказанных параметров квантования (114), который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; блок генерации разностных параметров квантования (111), который генерирует разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и блок кодирования (112), который кодирует разностный параметр квантования второго блока. Упомянутый блок вывода предсказанных параметров квантования (114) задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Другой особенностью настоящего изобретения также является устройство кодирования движущихся изображений. Это устройство представляет собой устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока кодирования разделением блока, который получается разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с заранее заданным размером. Упомянутое устройство содержит: блок вычисления параметров квантования (110), который вычисляет параметр квантования блока кодирования; блок вывода предсказанных параметров квантования (114), который выводит предсказанный параметр квантования блока кодирования, используя параметры квантования соседних кодированных блоков, примыкающих к блоку кодирования; блок генерации разностных параметров квантования (111), который генерирует разностный параметр квантования блока кодирования из разности между параметром квантования блока кодирования и предсказанным параметром квантования блока кодирования; и блок кодирования (112), который кодирует разностный параметр квантования блока кодирования. В случае, когда положение, в котором находится соседний блок, примыкающий к блоку кодирования в заранее заданном направлении блока кодирования, выходит за границу блока, имеющего заранее заданный размер, то блок вывода предсказанных параметров квантования (114) выводит предсказанный параметр квантования блока кодирования, используя параметры квантования других кодированных блоков, которые отличны от соседнего блока, примыкающего к блоку кодирования в заранее заданном направлении.
Еще одной особенностью настоящего изобретения является способ кодирования движущихся изображений. Этот способ представляет собой способ кодирования движущихся изображений, в котором кодируются движущиеся изображения в единицах блока разделением первого блока, который получается разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с заранее заданным размером. Упомянутый способ содержит: этап вычисления параметров квантования, на котором вычисляется параметр квантования второго блока; этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; этап генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и этап кодирования, на котором кодируется разностный параметр квантования второго блока. При этом на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Устройство декодирования движущихся изображений, в соответствии с одной особенностью настоящего изобретения, представляет собой устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером. Упомянутое устройство декодирования движущихся изображений содержит: блок декодирования (202), который выделяет разностный параметр квантования второго блока декодированием битового потока; блок вывода предсказанных параметров квантования (205), который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и блок генерации параметров квантования (203), который генерирует параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока. Упомянутый блок вывода предсказанных параметров квантования (205) задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Другой особенностью настоящего изобретения также является устройство декодирования движущихся изображений. Это устройство представляет собой устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются в единицах блока кодирования разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с определенным размером. Упомянутое устройство содержит: блок декодирования (202), который выделяет разностный параметр квантования блока декодирования декодированием битового потока в единицах блока декодирования; блок вывода предсказанных параметров квантования (205), который выводит предсказанный параметр квантования блока декодирования в соответствии с режимом предсказания блока декодирования, используя параметры квантования декодированных соседних блоков, примыкающих к блоку декодирования; и блок генерации параметров квантования (203), который генерирует параметр квантования блока декодирования суммированием разностного параметра квантования блока декодирования и предсказанного параметра квантования блока декодирования. В случае, когда положение, в котором находится соседний блок, примыкающий к блоку декодирования в заранее заданном направлении блока декодирования, выходит за границу блока, имеющего заранее заданный размер, то блок вывода предсказанных параметров квантования (205) выводит предсказанный параметр квантования блока декодирования, используя параметры квантования других декодированных блоков, которые отличны от соседнего блока, примыкающего к блоку декодирования в заранее заданном направлении.
Еще одной особенностью настоящего изобретения является способ декодирования движущихся изображений. Этот способ представляет собой способ декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером. Упомянутый способ содержит: этап декодирования, на котором выделяется разностный параметр квантования второго блока декодированием битового потока; этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и этап генерации параметров квантования, на котором генерируется параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока. На этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Кроме того, любая комбинация описанных выше составляющих элементов и комбинации, полученные преобразованием формулировки настоящего изобретения в способ, устройство, систему, носитель записи, компьютерную программу и прочее, также действительны в качестве особенностей настоящего изобретения.
В соответствии с настоящим изобретением, можно обеспечить повышение эффективности кодирования за счет снижения величины кода параметра квантования.
КРАТКОЕ ОПИСАНИЕ ФИГУР ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема, показывающая конфигурацию устройства кодирования движущихся изображений, которое использует способ вывода предсказанного параметра квантования, в соответствии с примером осуществления.
Фиг. 2 - блок-схема, показывающая конфигурацию устройства декодирования движущихся изображений, которое использует способ вывода предсказанного параметра квантования, в соответствии с примером осуществления.
Фиг. 3 - график для объяснения управления величиной кода в кадре изображения в стандарте MPEG-2 ТМ5.
Фиг. 4 - изображение, которое показывает способ предсказания параметра квантования в стандарте Н.264.
Фиг. 5 - изображение, которое показывает пример последовательности кодирования в случае, когда используется кодирование иерархического дерева.
Фиг. 6 - изображение, которое показывает предсказание параметра квантования верхнего левого блока кодирования внутри блока дерева, разделенного кодированием иерархического дерева.
Фиг. 7 - изображение, которое показывает пример последовательности кодирования внутри блока дерева, разделенного кодированием иерархического дерева.
Фиг. 8 - изображение, которое показывает пример, где в левом блоке и в верхнем левом блоке из числа кодированных блоков, примыкающих к блоку, который является объектом кодирования, содержатся характерные рисунки.
Фиг. 9 - график, который объясняет положения блоков кодирования, примыкающих сверху и снизу в управлении величиной кода внутри кадра изображения в стандарте MPEG-2 ТМ5.
Фиг. 10 - схема, которая показывает пример таблицы кодирования разностного параметра квантования со знаком экспоненциальным кодом Голомба.
Фиг. 11 - изображение, которое показывает взаимосвязь между блоком дерева, являющимся объектом кодирования, и кодированными блоками дерева.
Фиг. 12 - изображение, которое показывает взаимосвязь между кодированным блоком и блоком кодирования внутри блока дерева, разделенного иерархическим кодированием дерева.
Фиг. 13 - изображение, которое показывает начальные ссылки для предсказанного параметра квантования блока кодирования, в соответствии с первым примером осуществления.
Фиг. 14 - изображение, которое показывает пример, где параметры квантования примыкающих кодированных блоков представлены как начальные ссылки для предсказанного параметра квантования блока кодирования.
Фиг. 15 - блок-схема, которая объясняет работу блока вывода предсказанных параметров квантования, в соответствии с первым примером осуществления.
Фиг. 16 - блок-схема, которая объясняет другой вариант работы блока вывода предсказанных параметров квантования, в соответствии с первым примером осуществления.
Фиг. 17 - изображение, которое показывает начальные ссылки для предсказанного параметра квантования блока кодирования, в соответствии со вторым примером осуществления.
Фиг. 18 - блок-схема, которая объясняет работу блока вывода предсказанных параметров квантования, в соответствии со вторым примером осуществления.
Фиг. 19 - изображение, которое показывает начальные ссылки для предсказанного параметра квантования блока кодирования, в соответствии со вторым примером осуществления.
Фиг. 20 - блок-схема, которая объясняет работу блока вывода предсказанных параметров квантования, в соответствии со вторым примером осуществления.
Фиг. 21 - изображение, которое показывает начальные ссылки для предсказанного параметра квантования блока кодирования, в соответствии с третьим примером осуществления.
Фиг. 22 - блок-схема, которая объясняет работу блока вывода предсказанных параметров квантования, в соответствии с третьим примером осуществления.
Фиг. 23 - изображение, которое показывает начальные ссылки для предсказанного параметра квантования блока кодирования, в соответствии с четвертым примером осуществления.
Фиг. 24 - блок-схема, которая объясняет работу блока вывода предсказанных параметров квантования, в соответствии с четвертым примером осуществления.
Фиг. 25 - изображение, которое объясняет пример группы квантования.
Фиг. 26 - изображение, которое объясняет пример предсказания параметра квантования в блоках группы квантования.
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В примерах осуществления настоящего изобретения для снижения величины кода параметра квантования кодируемого блока, обрабатываемого при кодировании движущихся изображений, где каждое изображение разделяется на прямоугольные блоки, которые имеют заранее заданный размер, а затем эти блоки разделяются на один или несколько блоков кодирования, при этом квантование и кодирование выполняется в единицах блока кодирования, предоставляется технология управления величиной кода для проведения кодирования блока выводом оптимального предсказанного параметра квантования из информации кодирования примыкающих к нему уже кодированных блоков и вычисления разности с предсказанным параметром квантования.
Далее будут описаны устройство кодирования движущихся изображений 100 и устройство декодирования движущихся изображений 200, применимые для реализации настоящего изобретения. На Фиг. 1 представлена блок-схема, которая показывает конфигурацию устройства кодирования движущихся изображений 100, реализующего один пример настоящего изобретения. Устройство кодирования движущихся изображений 100 состоит из памяти изображений 101, блока генерации остаточных сигналов 102, блока ортогонального преобразования и квантования 103, блока генерации второго битового потока 104, блока деквантования и обратного ортогонального преобразования 105, блока суперпозиции сигналов декодированных изображений 106, памяти декодированных изображений 107, блока генерации предсказанных изображений 108, блока вычисления активности 109, блока вычисления параметров квантования 110, блока генерации разностных параметров квантования 111, блока генерации первого битового потока 112, памяти информации кодирования 113, блока вывода предсказанных параметров квантования 114 и блока мультиплексирования битовых потоков 115. Кроме того, сплошные толстые стрелки, соединяющие блоки между собой, показывают потоки сигналов изображений, а тонкие сплошные стрелки показывают потоки сигналов параметров для управления кодированием.
В памяти изображений 101 временно записываются сигналы изображений, являющихся объектом кодирования, которые поступают во время формирования/воспроизведения изображений. Память изображений 101 пересылает записанные в ней сигналы изображений, являющихся объектом кодирования, на блок генерации остаточных сигналов 102, блок генерации предсказанных изображений 108 и блок вычисления активности 109 в единицах заданного блока пикселей. В этом случае, изображения, записанные во время формирования/воспроизведения изображений, сортируются в порядке кодирования и выдаются из памяти изображений 101 в единицах блока пикселей.
Блок генерации остаточных сигналов 102 генерирует сигнал остатка, полученный операцией вычисления разности между сигналом кодируемого изображения и сигналом предсказания, генерируемым блоком генерации предсказанных изображений 108, и передает сигнал остатка на блок ортогонального преобразования и квантования 103.
Блок ортогонального преобразования и квантования 103 генерирует ортогонально преобразованный и квантованный остаточный сигнал выполнением операции ортогонального преобразования и квантования сигнала, полученного в результате вычитания, и пересылает ортогонально преобразованный и квантованный остаточный сигнал на блок генерации второго битового потока 104 и блок деквантования и обратного ортогонального преобразования 105.
Блок генерации второго битового потока 104 генерирует второй битовый поток энтропийным кодированием ортогонально преобразованного и квантованного остаточного сигнала в соответствии с определенными синтаксическими правилами, и пересылает второй битовый поток на блок мультиплексирования битовых потоков 115.
Блок деквантования и обратного ортогонального преобразования 105 вычисляет остаточный сигнал выполнением деквантования и обратного ортогонального преобразования ортогонально преобразованного и квантованного остаточного сигнала, который передается из блока ортогонального преобразования и квантования 103, и пересылает остаточный сигнал на блок суперпозиции сигналов декодированных изображений 106.
Блок суперпозиции сигналов декодированных изображений 106 генерирует декодированные изображения суперпозицией сигнала предсказанного изображения, генерируемого блоком генерации предсказанных изображений 108, и остаточного сигнала, полученного блоком деквантования и обратного ортогонального преобразования 105, и сохраняет декодированные изображения в памяти декодированных изображений 107. Кроме того, может быть выполнен процесс фильтрации для снижения искажений, таких как блочные искажения, которые возникают при кодировании декодированных изображений, а результат фильтрации может быть сохранен в памяти декодированных изображений 107. В этом случае, когда это необходимо, в памяти информации кодирования 113 записывается предсказанная информация кодирования, такая как флаг идентификации информации фильтра постобработки, такого как фильтр деблокирования.
Используя сигнал изображения, пересылаемого из памяти изображений 101, и сигнал декодированного изображения, пересылаемого из памяти декодированных изображений 107, блок генерации предсказанных изображений 108 выполняет внутрикадровое предсказание (интрапредсказание) или межкадровое предсказание (интерпредсказание), базируясь на определенном режиме предсказания, и генерирует сигналы предсказанного изображения. Интрапредсказание должно генерировать сигналы предсказанного изображения, используя сигналы пикселей кодируемого блока, которые получаются разделением сигналов изображений, пересылаемых из памяти изображений 101 в единицах заранее заданного блока, и сигналы пикселей, которые пересылаются из памяти декодированных изображений 107, соседних кодированных блоков, примыкающих к кодируемому блоку, который находится в том же самом кадре изображения, что и кодируемый блок. Интерпредсказание должно генерировать сигналы предсказанного изображения выполнением блочного согласования между кадром кодирования и опорным кадром, вычислением величины движения, называемой вектором движения, и выполнением компенсации движения из опорного кадра, базируясь на этой величине движения. За опорный кадр принимается кодированный кадр, который хранится в памяти декодированных изображений 107 и который отстоит на несколько кадров от начала или от конца в последовательности времени кадров (кадры кодирования) блока, являющегося объектом кодирования, полученного разделением в единицах блока заранее заданного размера сигнала изображения, передаваемого из памяти изображений 101. Сигнал предсказанного изображения, сгенерированный подобным образом, пересылается на блок генерации остаточных сигналов 102. Когда это необходимо, в памяти информации кодирования 113 сохраняется кодирующая информация, такая как вектор движения, полученный блоком генерации предсказанных изображений 108. Кроме того, в случае, когда возможен выбор нескольких режимов предсказания, блок генерации предсказанных изображений 108 определяет оптимальный режим предсказания оцениванием, например, величины искажений между сгенерированным сигналом предсказанного изображения и сигналом исходного изображения, выбирает сигнал предсказанного изображения, сгенерированного предсказанием на базе определенного оптимального режима предсказания, и пересылает сигнал предсказанного изображения на блок генерации остаточных сигналов 102. В случае, когда режим предсказания является режимом интрапредсказания, то режим интрапредсказания пересылается в память информации кодирования 113 и блок генерации первого кодированного битового потока 112.
Блок вычисления активности 109 вычисляет активность, которая является коэффициентом, показывающим сложность или гладкость изображения в блоке, являющегося объектом кодирования, который пересылается из памяти изображений 101, и пересылает вычисленную активность на блок вычисления параметров квантования 110. Подробная конфигурация и работа блока вычисления активности 109 будут описаны ниже в примерах осуществления.
Блок вычисления параметров квантования 110 вычисляет параметр квантования блока, являющегося объектом кодирования, используя для этого величину активности, вычисленную блоком вычисления активности 109, и пересылает этот параметр квантования на блок генерации разностных параметров квантования 111 и память информации кодирования 113. Подробная конфигурация и работа блока вычисления параметров квантования 110 будут описаны ниже в примерах осуществления.
Блок генерации разностных параметров квантования 111 вычисляет разностный параметр квантования вычитанием предсказанного параметра квантования, определенного блоком вывода предсказанных параметров квантования 114, из параметра квантования, определенного блоком вычисления параметров квантования 110, и пересылает разностный параметр квантования на блок генерации первого битового потока 112.
Блок генерации первого битового потока 112 генерирует первый битовый поток кодированием разностного параметра квантования, вычисленного блоком генерации разностных параметров квантования 111 в соответствии с определенными синтаксическими правилами, и пересылает первый битовый поток на блок мультиплексирования битовых потоков 115.
В памяти информации кодирования 113 записывается параметр квантования блока, кодирование которого закончилось. Кроме того, в качестве информации, требуемой для кодирования следующего блока, являющегося объектом кодирования, записывается также информация кодирования, генерируемая блоком генерации предсказанных изображений 108, такая как режим предсказания или вектор движения, хотя эта связь и не показана на Фиг. 1. Кроме того, когда это необходимо, также записывается информация кодирования, генерируемая в единицах изображения или слоя.
Блок вывода предсказанных параметров квантования 114 выводит предсказанный параметр квантования, используя информацию кодирования или параметры квантования соседних кодированных блоков, примыкающих к блоку, являющегося объектом кодирования, и пересылает предсказанный параметр квантования на блок генерации разностных параметров квантования 111. Подробная конфигурация и работа блока вывода предсказанных параметров квантования 114 будет описана ниже в примерах осуществления.
Блок мультиплексирования битовых потоков 115 мультиплексирует первый и второй кодированные битовые потоки в соответствии с определенными синтаксическими правилами и выдает битовый поток.
На Фиг. 2 представлена блок-схема, которая показывает конфигурацию устройства декодирования движущихся изображений 200, в соответствии с одним примером осуществления, соответствующего устройству кодирования движущихся изображений 100, представленному на Фиг. 1. Устройство декодирования движущихся изображений 200 этого примера осуществления содержит блок разделения битовых потоков 201, блок декодирования первого битового потока 202, блок генерации параметров квантования 203, память информации кодирования 204, блок вывода предсказанных параметров квантования 205, блок декодирования второго битового потока 206, блок деквантования и обратного ортогонального преобразования 207, блок суперпозиции сигналов декодируемых изображений 208, блок генерации предсказанных изображений 209 и память декодированных изображений 210. Кроме того, аналогично устройству кодирования движущихся изображений 100, представленному на Фиг. 1, толстые сплошные стрелки, соединяющие блоки между собой, показывают потоки сигналов изображений, а тонкие сплошные стрелки показывают потоки сигналов параметров, которые управляют кодированием.
Поскольку процесс декодирования в устройстве декодирования движущихся изображений 200, представленном на Фиг. 2, соответствует процессу декодирования, происходящему внутри устройства кодирования движущихся изображений 100, представленного на Фиг. 1, то конфигурация соответствующего блока деквантования и обратного ортогонального преобразования 207, блока суперпозиции сигналов декодированных изображений 208, блока генерации предсказанных изображений 209, памяти декодированных изображений 210 и памяти информации кодирования 204, показанных на Фиг. 2, имеют функции, соответствующие каждой конфигурации блока деквантования и обратного ортогонального преобразования 105, блока суперпозиции сигналов декодированных изображений 106, блока генерации предсказанных изображений 108, памяти декодированных изображений 107 и памяти информации кодирования 113 устройства кодирования движущихся изображений 100, представленного на Фиг. 1.
Битовый поток, подаваемый на блок разделения битовых потоков 201, разделяется в соответствии с определенными синтаксическими правилами, а разделенные битовые потоки пересылаются на блок декодирования первого битового потока 202 и блок декодирования второго битового потока 206.
Блок декодирования первого битового потока 202 декодирует поступивший битовый поток и выдает информацию кодирования, относящуюся к режиму предсказания, вектору движения, разностному параметру квантования и проч., выдает разностный параметр квантования на блок генерации параметров квантования 203 и записывает информацию кодирования в памяти информации кодирования 204.
Блок генерации параметров квантования 203 вычисляет параметр квантования суммированием разностного параметра квантования, переданного из блока декодирования первого битового потока 202, и параметра квантования, выведенного блоком вывода предсказанных параметров квантования 205, и пересылает этот параметр квантования на блок деквантования и обратного ортогонального преобразования 207 и в память информации кодирования 204.
В памяти информации кодирования 113 записывается параметр квантования декодированного блока, декодирование которого закончилось. Кроме того, при необходимости, записывается не только информация кодирования блоковой единицы, декодированная блоком декодирования первого битового потока 202, но также информация кодирования, сгенерированная в единицах кадра изображения или слоя. Кроме того, на блок генерации предсказанных изображений 209 пересылается информация кодирования, такая, например, как режим предсказания при декодировании или вектор движения, хотя эта связь и не показана на Фиг. 2.
Блок вывода предсказанных параметров квантования 205 выводит предсказанный параметр квантования, используя информацию кодирования и параметры квантования декодированных блоков, примыкающих к окрестности декодируемого блока, и пересылает предсказанный параметр квантования на блок генерации параметров квантования 203. Блок вывода предсказанных параметров квантования 205 имеет ту же самую функцию, что у блока вывода предсказанных параметров квантования 114 устройства кодирования движущихся изображений 100, и его подробная конфигурация и работа будут описаны в примерах осуществления ниже.
Блок декодирования второго битового потока 206 вычисляет ортогонально преобразованный и квантованный остаточный сигнал декодированием поступившего битового потока, и пересылает ортогонально преобразованный и квантованный остаточный сигнал на блок деквантования и обратного ортогонального преобразования 207.
Блок деквантования и обратного ортогонального преобразования 207 выполняет обратное ортогональное преобразование и деквантование ортогонально преобразованного и квантованного остаточного сигнала, декодированного блоком декодирования второго битового потока 206, используя параметр квантования, генерируемый блоком генерации параметров квантования 203, тем самым получая обратно ортогонально-преобразованный и деквантованный остаточный сигнал.
Блок суперпозиции сигналов декодированных изображений 208 генерирует декодированный сигнал изображения суперпозицией сигнала предсказанного изображения, генерируемого блоком генерации предсказанных изображений 209, и остаточного сигнала, полученного обратным ортогональным преобразованием и деквантованием блока деквантования и обратного ортогонального преобразования 207, выдает сигнал декодированного изображения и сохраняет сигнал декодированного изображения в памяти декодированных изображений 210. При записи сигналов декодированных изображений в памяти декодированных изображений 210 может быть проведен процесс фильтрации декодированных изображений для снижения искажений, таких как блочные искажения, которые возникают при кодировании изображений, а результат фильтрации может быть сохранен в памяти декодированных изображений 210.
Блок генерации предсказанных изображений 209 генерирует сигнал предсказанного изображения из сигнала декодированного изображения, которое пересылается из памяти декодированных изображений 210, базируясь на информации кодирования, такой как режим предсказания или вектор движения, декодированной блоком декодирования второго битового потока 206, и информации кодирования из памяти информации кодирования 204, и пересылает сигнал предсказанного изображения на блок суперпозиции сигналов декодированных изображений 208.
Далее будет подробно описываться способ вывода предсказанного параметра квантования, который обычно выполняется в устройстве кодирования движущихся изображений 100 в различных его блоках 120, окруженных толстой пунктирной линией, в частности, в блоке вывода предсказанных параметров квантования 114, и в устройстве декодирования движущихся изображений 200 в различных его блоках 220, окруженных толстой пунктирной линией, в частности, в блоке вывода предсказанных параметров квантования 205.
Сначала будет описана работа каждого блока из различных блоков 120, окруженных толстой пунктирной линией, в устройстве кодирования движущихся изображений 100 настоящего примера осуществления. В различных блоках 120 в качестве блока кодирования принимается блок пикселей, содержащий заранее заданное число пикселей единичного размера, пересылаемых из памяти изображений 101, и определяется параметр квантования для последующего квантования этого блока. Этот параметр квантования определяется, в основном, алгоритмом управления величиной кода и адаптивного квантования. Сначала, будет описан алгоритм адаптивного квантования в блоке вычисления активности 109.
Обычно визуальная характеристика человека определяется тем, что его глаза чувствительны к низкочастотным компонентам с незначительным числом переходов. Исходя из этого, блоком вычисления активности 109 активность, представляющая сложность или гладкость изображения в определенных единичных блоках, вычисляется так, что квантование проводится меньшими единичными блоками в однородных областях, в которых легко визуально распознаются искажения, и квантование проводится более крупными единичными блоками в сложных областях изображения, в которых искажения визуально распознаются сравнительно трудно.
В качестве примера активности может быть упомянуто вычисление с использованием величины дисперсии пикселей в блоке кодирования, описанное в стандарте MPEG-2 TestModel5 (ТМ5). Дисперсия является величиной, которая показывает степень отклонения от среднего значения пикселей, образующих каждое изображение в блоке. Дисперсия уменьшается, когда изображение в блоке становится более однородным (уменьшается изменение яркости), и возрастает, когда сложность изображения увеличивается (увеличивается изменение яркости), и поэтому дисперсия используется в качестве активности блока. Если значение пикселя внутри блока представить как р(x, y), то активность (act) блока будет вычисляться по следующему выражению.
[Выражение 1]
Здесь BLK является общим числом пикселей в блоке кодирования, a p_mean является средним значением пикселей внутри блока.
Кроме того, не ограничиваясь дисперсией, описанной выше, можно также вычислить абсолютное значение разностей между пикселем к блоке кодирования и пикселями, которые примыкают к пикселю в горизонтальном и вертикальном направлениях, и взять полную сумму в блоке, не ограничиваясь дисперсией описанной выше. Также и в этом случае полная сумма будет меньше, когда изображение является однородным, и будет больше в сложной части изображения с большим числом краев. Поэтому это тоже может использоваться в качестве активности. Здесь вычисление проводится по следующему выражению.
[Выражение 2]
Активность act, вычисленная подобным образом, пересылается на блок вычисления параметров квантования 110.
Далее будет описано управление величиной кода. В устройстве кодирования движущихся изображений 100, в соответствии с настоящим примером осуществления, не предполагается наличие специального блока для реализации алгоритма управления величиной кода, однако при управлении величиной кода определяется параметр квантования блока кодирования, базируясь на величине сгенерированного кода, и поэтому следующее далее объяснение будет дано в предположении, что блок вычисления параметров квантования 10 имеет эту функцию управления.
Целью управления величиной кода является приблизительное согласование величины сгенерированного кода заранее заданной единицы, такой как кадр, с требуемой величиной кода. В случае, когда устанавливается, что величина сгенерированного кода кодированного блока будет больше, чем требуемая величина кода, то к блокам, которые должны вслед за этим кодироваться, применяется относительно грубое квантование, а в случае, когда устанавливается, что величина сгенерированного кода кодированного блока будет меньше, чем требуемая величина кода, то к блокам, которые должны вслед за этим кодироваться, применяется относительно мелкое квантование.
Далее со ссылками на Фиг. 3 будет описан конкретный алгоритм управления величиной кода.
Сначала для каждого кадра определяется требуемая величина кода (Т). В общем, Т определяется так, что удовлетворяется соотношение I-изображение > Р-изображение > опорное В-изображение > не опорное В-изображение. Например, в случае, когда требуемая битовая частота движущихся изображений составляет 5 Мбит/с, а число I-изображений в секунду, число Р-изображений в секунду, число опорных В-изображений в секунду и число не опорных В-изображений в секунду составляет соответственно 1, 3, 11 и 15, и принимая, что требуемая величина кода соответствующего типа изображения есть Ti, Тр, Tbr и Tb, то в случае, когда требуется управлять величиной кода так, чтобы удовлетворялось соотношение Ti : Тр : Tbr : Tb=4:3:2:1, для управления величиной кода задаются соответственно Ti=400 кбит, Тр=300 кбит, Tbr=200 кбит и Tb=100 кбит. Однако такое разделение величины кодов по различным типам изображения не оказывает влияния на сущность настоящего изобретения.
Затем будет описано управление величиной кода в кадре. Если принять, что число блоков, которые являются единицами, определяющими параметры квантования, есть N, величина сгенерированного кода есть В, а битовая разность с требуемой величиной кода есть D, то удовлетворяется следующее выражение.
[Выражение 3]
Здесь j является номером по порядку обработки при кодировании блоков кодирования, a D(0) является начальным значением разности с требуемой величиной кода.
Параметр квантования bQP, получаемый в результате управления величиной кода, определяется следующим образом.
[Выражение 4]
Здесь r является коэффициентом пропорциональности, который преобразует разность требуемой величины кода в параметр квантования. Этот коэффициент пропорциональности r определяется в соответствии с возможными для использования параметрами квантования.
Блок вычисления параметров квантования 110 изменяет параметр квантования блока кодирования, вычисленный при управлении величиной кода, используя активность act, вычисленную для каждого блока кодирования блоком вычисления активности 109. Поскольку параметр квантования вычисляется для каждого блока кодирования, то параметр квантования будет здесь далее выражаться как bQP, опуская при этом номер по порядку в последовательности кодирования параметра квантования, базируясь на управлении величиной кода.
Блок вычисления параметров квантования 110 записывает среднюю активность в кадре, кодированном последним, в виде avg_act, и вычисляет нормализованную активность Nact блока кодирования, используя следующее выражение.
[Выражение 5]
Здесь коэффициент 2 в приведенном выше выражении является величиной, которая указывает динамический диапазон параметра квантования, а нормализованная активность Nact, которая при этом вычисляется, находится в диапазоне от 0.5 до 2.0.
Кроме того, для получения avg_act может быть перед процессом кодирования заранее вычислена активность для всех блоков в кадре и среднее значение этих активностей может быть задано в качестве средней активности avg_act. Кроме того, средняя активность avg_act может быть сохранена в памяти информации кодирования 113, и в случае необходимости блок вычисления параметров квантования 110 может также вывести среднюю активность avg_act из памяти информации кодирования 113.
Умножив, как показывается в следующем выражении, вычисленную нормализованную активность Nact на параметр квантования bQP, являющийся опорной величиной параметра, будет получен параметр квантования QP блока кодирования.
[Выражение 6]
Далее, хотя bQP представляет собой параметр квантования блочной единицы, который вычислен на базе управления величиной кода, как было описано выше, однако возможно также использование параметра квантования, представляющего слой или кадр, содержащий блок кодирования, как фиксированную величину. Кроме того, может быть использован средний параметр квантования кадра, кодированного последним, и настоящий пример осуществления не ограничивается этими частными способами вычисления.
Параметр квантования блока кодирования, вычисленный подобным образом, пересылается в память информации кодирования 113 и блок генерации разностных параметров квантования 111.
В памяти информации кодирования 113 записывается не только параметр квантования, вычисленный блоком вычисления параметров квантования 110, и параметр квантования последнего блока кодирования, который уже кодирован, но также и кодирующая информация, такая как кодируемый вектор движения или режим предсказания блока кодирования. В соответствии с необходимостью, информация кодирования предоставляется каждому блоку устройства кодирования.
Блок вывода предсказанных параметров квантования 114 выводит предсказанный параметр квантования для эффективного кодирования и передачи параметра квантования блока кодирования, используя информацию кодирования или параметры квантования соседних кодированных блоков, расположенных вокруг блока, являющегося объектом кодирования, из памяти информации кодирования 113.
Чтобы эффективно кодировать и передавать параметр квантования, будет более целесообразно, чем кодирование параметра квантования как такового, взять разность между этим параметром квантования и параметром квантования кодированного блока (разностный параметр квантования), а затем кодировать и передавать полученный разностный параметр квантования. С точки зрения управления величиной кода, принимая во внимание, что параметр квантования последнего кодированного блока в последовательности кодирования является предсказанным параметром квантования, в этом случае уменьшается величина передаваемого разностного параметра квантования, и соответственно уменьшается величина кода. С другой стороны, с точки зрения адаптивного квантования, изображения во многих случаях является теми же самыми или похожими, поскольку блок кодирования и соседние блоки, находящиеся вокруг блока кодирования, примыкают друг к другу. По этой причине, активность блоков, примыкающих к блоку кодирования, имеет величину, которая близка к активности этого блока кодирования. Соответственно, принимая, что параметр квантования соседнего блока является предсказанным параметром квантования, величина передаваемого разностного параметра квантования уменьшается, и соответственно уменьшается величина кода. По этой причине, как показывается на Фиг. 4, в стандарте Н.264 принимается способ кодирования и передачи разностного параметра квантования, в котором единица передачи параметра квантования для макроблока (группа пикселей 16×16) фиксирована, в качестве предсказанного параметра квантования принимается параметр квантования примыкающего слева блока, который кодирован перед либо немедленно перед блоком кодирования в растровом порядке сканирования, и берется разность между параметром квантования блока кодирования и предсказанным параметром квантования. Иными словами, когда в стандарте Н.264 используется управление величиной кода, то стандарте Н.264 оптимизирован для предсказания параметра квантования. Однако в стандарте Н.264 не проводится кодирование иерархического дерева, которое будет описано позднее. В этом случае, самый последний блок является блоком слева, за исключением левого края изображения. Следовательно, поскольку в качестве предсказанного параметра квантования используется параметр квантования примыкающего блока, можно также сказать, что когда в стандарте Н.264 проводится адаптивное квантование, то предсказание в стандарте Н.264 оптимизировано только приблизительно. По этой причине, как в стандарте Н.264, в случае такой конфигурации, когда единица передачи параметра квантования фиксирована и не проводится кодирование иерархического дерева, можно сказать, что оптимальным блоком для предсказания параметра квантования является последний кодированный перед этим блок.
Однако в случае, когда проводится кодирование иерархического дерева, и если в качестве предсказанного параметра квантования используется параметр квантования последнего кодированного перед этим блока, как в стандарте Н.264, то этим оптимизируется управление величиной кода. Но в случае, когда передается параметр квантования, используя адаптивное квантование, оптимальная предсказанная величина не будет получена. Поэтому возникает проблема того, что резко возрастает величина кода разностного параметра квантования.
Здесь будет описано кодирование иерархического дерева. Кодирование иерархического дерева, упоминаемое здесь, определяет глубину, которая указывает соответствующую единицу кодирования в единицах блока дерева (здесь - блоки 64×64) и проводится кодирование в единицах блока кодирования, при определенной выше глубине. Исходя из этого, можно проводить кодирование, определив оптимальную глубину, которая зависит от степени детализации изображения, что в значительной степени повышает эффективность кодирования.
На Фиг. 5 представлена последовательность кодирования в структуре кодирования иерархического дерева. Как показывается на верхнем рисунке на Фиг. 5, кадр изображения равномерно разделяется на квадратные единицы одинакового, заранее заданного размера. Такая единица называется блоком дерева и задается в качестве базовой единицы управления адресацией для специфицирования блока кодирования и декодирования в изображении. Для оптимизации процесса кодирования блок дерева может в случае необходимости состоять, в соответствии с характерным рисунком изображения, из блоков меньшего размера, полученных иерархическим разбиением блока дерева на четыре блока. Иерархическая структура блоков, полученная разделением блока на блоки меньших размеров, как описано выше, называется древовидной структурой блоков, а разделенный блок называется блоком кодирования (ЕК: единица кодирования) и задается в качестве базовой единицы обработки, когда проводится кодирование или декодирование. Нижний рисунок на Фиг. 5 представляет собой пример, в котором блок дерева разделяется на четыре ЕК, а каждая из трех ЕК, исключая нижнюю левую ЕК, разделяется далее на четыре части. В настоящем примере осуществления принимается, что параметр квантования задается в единицах ЕК. Блок дерева является также блоком кодирования максимального размера.
В таком кодировании иерархического дерева параметр квантования блока кодирования, кодированного самым последним, и параметр квантования блока, примыкающего к нему слева, могут быть не одинаковыми, поскольку последовательность кодирования отличается от растрового порядка сканирования (слева направо), как в Н.264 на Фиг. 4. Например, в качестве примера кодирования иерархического дерева, как показывается на Фиг. 6, верхний левый блок кодирования (заштрихованный прямоугольник на Фиг. 6) в кодируемом блоке дерева из числа разделенных блоков блока дерева, примыкающих слева, используется для предсказания параметр квантования нижнего правого кодированного блока (серый прямоугольник на Фиг. 6), кодированного самым последним. Кроме того, как показывается на Фиг, 7, в нижнем левом блоке кодирования (заштрихованный прямоугольник на Фиг. 7) в блоке дерева, являющемся объектом кодирования, используется для предсказания параметр квантования блока (серый прямоугольник на Фиг. 7), который разделен внутри того же самого блока дерева и кодируется самым последним. По этой причине, просто предсказанием параметра квантования из последнего кодированного блока может быть проведено предсказание, оптимизированное для управления величиной кода, но предсказание, подходящее для адаптивного квантования, не может быть проведено, поскольку при разделении блока расстояние между блоками увеличивается. Поэтому эффективность кодирования уменьшается, поскольку величина кода разностного параметра квантования возрастает.
Кроме того, если принять, что параметр квантования блока, примыкающего слева, однозначно задается так же, как предсказанный параметр квантования в стандарте Н.264, то в случае, как, например, показанном на Фиг. 8, это влияет на каждый параметр квантования, поскольку характерные особенности изображения блока кодирования отличается от характерных особенностей изображения блока, примыкающего слева, и при этом, поскольку разностный параметр квантования принимает большое значение, то величина сгенерированного кода также увеличивается. Поэтому возникает опасность того, что эффективное кодирование и эффективная передача станут невозможными.
В качестве средства решения этой проблемы может быть рассмотрен способ, в котором предсказанный параметр квантования не выбирается однозначно из блока, примыкающего слева, а в качестве предсказанного параметра квантования принимается параметр квантования уже кодированного блока, примыкающего сверху.
Однако в случае, когда параметр квантования предсказывается из блока, примыкающего сверху за границей блока дерева, и если принять во внимание, что вычисление параметра квантования базируется на управлении размером кода, то блок, примыкающий сверху, позволяет получать параметр квантования, который вычисляется в значительно более поздний момент времени относительно блока кодирования, и поэтому, как показывается на Фиг. 9, соотношение между порядком обработки i блока, примыкающего сверху, и порядком обработки j блока кодирования имеет в терминах порядка кодирования вид i << j, даже если блок, примыкающий сверху, и блок кодирования являются на изображении смежными между собой. Поэтому, рассматривая проблему с позиции управления величиной кода, нельзя утверждать, что корреляция между параметром квантования блока кодирования и параметром квантования блока, примыкающего сверху, непременно является высокой.
Далее, в случае, когда для повышения быстродействия процесса декодирования проводится параллельная обработка каждого слоя блока дерева, то для предсказания не может быть использован параметр квантования примыкающего сверху блока, который выходит за границу блока дерева. Поэтому возникает опасность того, что станет невозможно эффективное кодирование и передача при обращении к блоку, примыкающему сверху за границей блока дерева.
Отсюда следует, что блок вывода предсказанных параметров квантования 114, в соответствии с примером осуществления настоящего изобретения, выводит оптимальный предсказанный параметр квантования из примыкающих к нему кодированных блоков без использования для предсказания параметров квантования соседних блоков блока дерева, примыкающих сверху к блоку кодирования, улучшая тем самым эффективность вычисления величины сгенерированного кода разностного параметра квантования.
Блок вывода предсказанных параметров квантования 114 выводит предсказанный параметр квантования из положения блока кодирования и параметров квантования соседних кодированных блоков вокруг блока кодирования, которые передаются из памяти информации кодирования 113. Подробности работы блока вывода предсказанных параметров квантования 114 будут описаны в примере осуществления ниже.
Блок генерации разностных параметров квантования 111 вычисляет разностный параметр квантования вычитанием предсказанного параметра квантования, который выведен блоком вывода предсказанных параметров квантования 114, из параметра квантования блока кодирования, который вычислен блоком вычисления параметров квантования 110. Также и во время декодирования, таким же самым образом, что и во время кодирования, выводится предсказанный параметр квантования из примыкающего к нему декодированного блока. Поэтому заданием разностного параметра кодирования, как объекта кодирования, можно уменьшить величину кода параметра квантования, не внося противоречия между кодированием и декодированием. Вычисленный разностный параметр квантования пересылается на блок генерации первого битового потока 112.
Блок генерации первого битового потока 112 генерирует первый битовый поток кодирования энтропийным кодированием разностного параметра квантования, который вычислен блоком генерации разностных параметров квантования 111, в соответствии с определенными синтаксическими правилами. На Фиг. 10 показывается пример таблицы кодирующего преобразования, используемой для энтропийного кодирования разностного параметра квантования. Это таблица представляет собой известное экспоненциальное кодирование Голомба со знаком, и в данном случае, чем меньше становится абсолютное значение разностного параметра квантования, тем короче будет длина задаваемого кода. В общем случае, когда кадр изображения разделяется на блоки, примыкающие к нему блоки имеют подобные изображения. Поэтому активности являются близкими по величине и вычисленные параметры квантования блоков также являются по величине близкими. По этой причине, 0 является наивысшей частотой возникновения разностного параметра квантования, и частота возникновения разностного параметра квантования имеет тенденцию к уменьшению по мере того, как его абсолютное значение возрастает. Также эта особенность отображается в таблице, показанной на Фиг. 10, тем, что для больших значений частоты генерации назначается короткая длина кода. Если предсказывается, что величина предсказанного параметра квантования будет близка к величине параметра квантования блока кодирования, то вычисляется разностный параметр квантования, близкий к 0. Соответственно, становится возможным уменьшить величину генерируемого кода. Блок генерации первого битового потока 112 выделяет битовый поток кодов, соответствующий разностному параметру квантования из таблицы, показанной на Фиг. 10, и пересылает битовый поток кодов на блок мультиплексирования битовых потоков 115.
Далее будет описана работа каждого блока из различных блоков 220, окруженных толстой пунктирной линией, в устройстве декодирования движущихся изображений 200, соответствующем устройству кодирования движущихся изображений 100 настоящего изобретения, которое было описано ранее.
В различных блоках 220, разностный параметр квантования, декодированный блоком декодирования первого битового потока 202, сначала подается на блок генерации параметров квантования 203. Кроме того, когда это необходимо, в памяти информации кодирования 204 сохраняется кодирующая информация, отличная от разностного параметра квантования.
Блок генерации параметров квантования 203 вычисляет параметр квантования блока декодирования суммированием разностного параметра квантования, пересылаемого из блока декодирования первого битового потока 202, и параметра квантования, выведенного блоком вывода предсказанных параметров квантования 205, и пересылает полученный параметр квантования на блок деквантования и обратного ортогонального преобразования 207 и память информации кодирования 204.
В памяти информации кодирования 204 записывается параметр квантования декодированного блока. Кроме того, когда это необходимо, записывается не только кодирующая информация блочной единицы, декодированная блоком декодирования первого битового потока 202, но также и информация кодирования, сгенерированная в единицах кадра изображения или слоя.
Блок вывода предсказанных параметров квантования 205 выводит предсказанный параметр квантования, используя информацию кодирования или параметры квантования декодированных блоков, которые примыкают к блоку декодирования, и пересылает предсказанный параметр квантования на блок генерации параметров квантования 203. Параметр квантования, вычисленный блоком генерации параметров квантования 203, записывается в памяти информации кодирования 204. При выводе предсказанного параметра квантования следующего блока декодирования определяются примыкающие декодированные блоки, которые расположены вокруг блока декодирования, и из памяти информации кодирования 204 выбираются параметры квантования этих соседних блоков. Параметры квантования этих соседних декодированных блоков, полученные подобным образом, являются теми же самыми, что и параметры квантования, которые блок вывода предсказанных параметров квантования 114 устройства кодирования движущихся изображений 100 выбирает из памяти информации кодирования 113. Поскольку блок вывода предсказанных параметров квантования 205 имеет ту же самую функцию, что и блок вывода предсказанных параметров квантования 114 устройства кодирования движущихся изображений 100, то выводится такой же самый предсказанный параметр квантования, что и во время кодирования, если параметры квантования примыкающих блоков, выбираемые из памяти информации кодирования 204, являются теми же самыми.
В блоке вывода предсказанных параметров квантования 205 выполняется тот же самый процесс, за исключением замены примыкающих кодированных блоков на примыкающие декодированные блоки. Соответственно, объяснение предсказания параметров квантования будет опущено.
Таким образом, предсказанный параметр квантования, выведенный на стороне кодирования, выводится также и на стороне декодирования, не внося никаких противоречий.
В настоящем примере осуществления в случае, когда проводится вывод предсказанного параметра квантования, примыкающие блоки, к которым обращается блок вывода предсказанных параметров квантования 114 устройства кодирования движущихся изображений 100, являются кодированными блоками, а примыкающие блоки, к которым обращается блок вывода предсказанных параметров квантования 205 устройства декодирования движущихся изображений 200, являются декодированными блоками. Кодированный блок, к которому происходит обращение на стороне кодирования, является блоком, который локально декодирован для следующего кодирования при кодировании, и является тем же самым, что и декодированный блок, к которому происходит обращение на стороне декодирования. Поэтому функции блоков вывода предсказанных параметров квантования 114 и 205 являются одинаковыми, и предсказанные параметры квантования, выведенные блоками вывода предсказанных параметров квантования 114 и 205, также являются одинаковыми. В последующих примерах осуществления будет описан вывод предсказанного параметра квантования на стороне кодирования, как общая функция, без различения процессов кодирования или декодирования.
Далее будут описаны подробности способа вывода предсказанного параметра квантования, который одинаково реализуется блоками вывода предсказанных параметров квантования 114 и 205.
[Первый пример осуществления]
Здесь будет подробно описана работа блока вывода предсказанных параметров квантования 114, в соответствии с первым примером осуществления. В первом примере осуществления, в случае, когда блок, являющийся объектом кодирования, примыкает к блоку дерева сверху, то запрещается использование для предсказания параметра квантования кодированного блока внутри блока дерева сверху, который значительно отстоит от кодируемого блока по порядку кодирования, однако для предсказания используется параметр квантования кодированного блока в блоке дерева, примыкающего слева, хотя и являющийся прошлым по времени блоком в последовательности кодирования, но не в такой степени, как блок дерева сверху.
Как показывается на Фиг. 11, кодирование осуществляется в порядке растрового сканирования в направлении от верхней левой части к нижней правой части кадра изображения, в единицах блока дерева. Блок дерева, являющийся объектом кодирования, показан на Фиг. 11 заштрихованным прямоугольником, а кодированные блоки дерева показаны на Фиг. 11 в виде серых прямоугольников. Поскольку кодирование иерархического дерева проводится в соответствии с условиями кодирования внутри блока дерева, то блок кодирования разделяется на части, имеющие размер меньший, чем блок дерева, или равный ему, и поэтому блок кодирования внутри кодируемого блока дерева и кодированный блок внутри блока дерева сверху хотя и примыкают друг к другу, но значительно отдалены по времени один от другого в последовательности кодирования. По этой причине, нельзя сказать, что параметр квантования блока кодирования и параметр квантования кодированного блока внутри блока дерева сверху имеют близкие значения, поскольку параметры квантования, вычисленные на базе управления величиной кода, вычисляются в последовательности кодирования. Исходя из этого, в первом примере осуществления блок дерева сверху не используется для предсказания параметра квантования, а используется только блок дерева слева, который находится ближе по времени в последовательности кодирования.
Кроме того, как показывается на Фиг. 12, если принять, что заштрихованный прямоугольник на Фиг. 12 является блоком кодирования внутри блока дерева, то тонкая сплошная линия будет показывать последовательность кодирования, а блоки, кодированные перед этим блоком кодирования, будут показаны на Фиг. 12 в виде серых квадратов. Внутри одного и того же блока дерева блок кодирования и кодированный блок не разделены друг от друга в терминах последовательности кодирования, а характерные особенности изображения во многих случаях является теми же самыми или похожими, поэтому внутри одного и того же блока дерева можно эффективно использовать для предсказания параметр квантования кодированного блока сверху. В этом первом примере осуществления, более предпочтительно использование для предсказания примыкающих кодированных блоков, чем кодированных блоков, которые близки по времени в последовательности кодирования.
На Фиг. 13 широкими стрелками показываются направления, по которым каждый блок кодирования внутри разделенного блока дерева обращается к каждому кодированному блоку. На Фиг. 13 тонкой сплошной линией показывается последовательность кодирования, а блок кодирования отдает приоритет примыкающему кодированному блоку перед кодированным блоком, который в последовательности кодирования находится ближе к блоку кодирования. Блоки BLK0 и BLK1, которые расположены на верхней стороне блока дерева на Фиг. 13, являются границей блока дерева сверху. Соответственно, параметр квантования кодированного блока, примыкающего сверху, не используется для предсказания, а используется только параметр квантования кодированного блока, примыкающего слева. В блоках BLK2 и BLK3 кодированные блоки, примыкающие сверху, находятся внутри одного и того же блока дерева. Соответственно, для предсказания используются параметр квантования кодированного блока сверху и параметр квантования кодированного блока слева.
На Фиг. 14 показывается расположение блока кодирования и примыкающих к его окрестности кодированных блоков, которые определены в соответствии с настоящим примером осуществления. В настоящем примере осуществления для удобства объяснения каждый из блоков показан одинаковыми по размеру, однако в случае проведения оптимального предсказания движения, например, изменением размера блоков в предсказании движения, размер блоков может изменяться, и расположение блоков может быть реализовано заданием верхней левой точки блока кодирования в качестве опорной точки, и выбором блоков, которые примыкают к блоку кодирования.
Символы QPx (х=L, A, AL), показанные на фиг. 14, описывают параметры квантования уже кодированных блоков, примыкающих к блоку кодирования. Блок вывода предсказанных параметров квантования 114 определяет предсказанный параметр квантования блока квантования в соответствии со значениями параметров квантования блоков, показанных на Фиг. 14, которые примыкают слева и сверху.
Далее будет подробно описана работа блока вывода предсказанных параметров квантования 114. На Фиг. 15 представлена блок-схема, которая показывает работу блока вывода предсказанных параметров квантования 114, в соответствии с первым примером осуществления.
Сначала выводится информация положения блока кодирования, который является объектом кодирования (S100). Для определения информации положения этого блока кодирования вычисляется верхнее левое положение блока дерева, содержащего блок кодирования, приняв в качестве опорной точки верхнюю левую части кадра изображения, и затем из верхнего левого положения блока дерева вычисляется положение блока кодирования. После этого определяется, примыкает или не примыкает блок кодирования к блоку дерева сверху (S101).
В случае, когда блок кодирования примыкает к блоку дерева сверху (Да в S101), то есть, в случае, когда блок кодирования расположен на верхней стороне блока дерева, то блок, примыкающий сверху, содержится внутри верхнего блока дерева. Соответственно, поскольку блок, примыкающий сверху, находится за границей блока дерева, то блок, примыкающий сверху, не используется для предсказания параметра квантования. Здесь заметим, что параметр квантования всегда имеет положительное значение, и в случае, когда блок, примыкающий сверху, не используется для предсказания, то параметр квантования QPA блока, примыкающего сверху, задается равным 0 (S102).
С другой стороны, в случае, когда блок кодирования не примыкает к блоку дерева сверху (Нет в S101), то есть в случае, когда блок, примыкающий сверху, расположен внутри того же самого блока дерева, что и блок кодирования, по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPA соответствующего блока, примыкающего сверху, и пересылается на блок вывода предсказанных параметров квантования 114 (S103).
Далее определяется, существует или не существует кодированный блок, примыкающий к блоку кодирования слева (S104). В случае, когда существует кодированный блок, примыкающий слева (Да в S104), то по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPL соответствующего блока, примыкающего слева, и пересылается на блок вывода предсказанных параметров квантования 114 (S105). В случае, когда не существует блок, примыкающий слева (Нет в S104), параметр квантования QPL блока, примыкающего слева, задается равным 0 (S106).
Затем определяется, являются или не являются параметры квантования блоков, примыкающих слева и сверху, вместе положительными (S107). В случае, когда оба параметра квантования блоков, примыкающих слева и сверху, являются оба положительными (Да в S107), то существуют оба блока, примыкающие слева и справа. Соответственно, в качестве предсказанного параметра квантования задается среднее значение параметров квантования блоков, примыкающих слева и сверху (S111). С другой стороны, если ни один из параметров квантования блоков, примыкающих слева и сверху, не являются положительными (Нет в S107), то есть, если параметр квантования по меньшей мере одного из блоков, примыкающих слева и сверху, является равным 0, то по меньшей мере один из блоков, примыкающих слева и сверху, не существует. В этом случае, процесс переходит к S108.
Затем определяется, являются или не являются равными 0 оба параметра квантования блоков, примыкающих слева и сверху (S108). То есть, если оба параметра квантования блоков, примыкающих слева и сверху, равняются 0, то ни один из блоков, примыкающих слева и сверху, не существует. Соответственно, нельзя будет ссылаться на параметры квантования блоков, примыкающих слева и сверху, как на предсказанные параметры квантования. Поэтому, в качестве предсказанного параметра квантования кодируемого блока задается параметр квантования (prevQP) блока, кодированного перед или сразу же перед кодированием блока, являющегося объектом кодирования. Кроме того, в случае, когда блоком кодирования является блок на верхней левой стороне изображения, то блоки, примыкающие слева и сверху, и блок, кодированный перед или сразу же перед блоком, являющимся объектом кодирования, не существуют. Соответственно, в качестве предсказанного параметра квантования принимается параметр квантования изображения или слоя (S109). В случае, когда блок, примыкающий слева, или блок, примыкающий сверху, существует, то в качестве предсказанного параметра квантования принимается один из параметров квантования, который является положительным (S110). Предсказанный параметр квантования, вычисленный подобным образом, пересылается на блок генерации разностных параметров квантования 111.
Кроме того, блок вывода предсказанных параметров квантования 114 может определять также предсказанный параметр квантования из параметров квантования блока, примыкающего слева, блока, примыкающего сверху, и блока, примыкающего сверху слева, которые окружают блок кодирования, показанный на Фиг. 14. Отличие от способа, описанного выше, состоит в том, что параметрам квантования блоков, примыкающих сверху и слева, присваиваются веса, базируясь на полученном в результате определения предсказанного параметра квантования, и выведенное значение задается в качестве предсказанного параметра квантования.
На Фиг. 16 представлена блок-схема, показывающая работу блока вывода предсказанных параметров квантования 114. Поскольку процессы от S200 до S210 в блок-схеме, представленной на Фиг. 16, являются теми же самыми, что и процессы от S100 до S110 в блок-схеме, представленной на Фиг. 15, которая описана выше, то их объяснение будет опущено. Соответственно, последующее объяснение будет дано для случая, когда параметры квантования блоков, примыкающих как слева, так и сверху, являются положительными (Да в S207) при определении того, являются или не являются параметры квантования блоков, примыкающих слева и сверху, оба положительными (S207). В случае, когда оба параметра квантования блоков, примыкающих как слева, так и сверху, являются положительными, то оба блока - примыкающие слева и сверху существуют. В этом случае, блок, примыкающий сверху слева, также существует. Соответственно, по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPL соответствующего блока, примыкающего сверху слева, и пересылается на блок вывода предсказанных параметров квантования 114 (S211).
Затем определяется, совпадают или не совпадают между собой параметр квантования QPL блока, примыкающего слева, и параметр квантования QPAL блока, примыкающего сверху слева (S212). В случае, когда QPL и QPAL совпадают друг с другом, то принимая, что весовой коэффициент параметра квантования блока, примыкающего сверху, есть FA, а весовой коэффициент параметра квантования блока, примыкающего слева, есть FL, весовой коэффициент параметра квантования блока, примыкающего сверху, задается таким большим, чтобы удовлетворялось соотношение FA>FL (S213). Например, FA задается равным 3, a FL задается равным 1. В этом случае, рассматривая в качестве примера распределение параметра квантования, показанное на Фиг. 8, можно сказать, что имеет смысл задать весовой коэффициент параметра квантования блока, примыкающего сверху, таким, чтобы он был большим. Кроме того, даже в случае, когда QPA совпадает с QPL и QPAL, это не создает проблемы, поскольку параметры квантования всех примыкающих блоков являются одинаковыми. В случае, когда QPL и QPAL не совпадают между собой, то процесс переходит к S214 для определения того, совпадают или не совпадают между собой QPA и QPAL (S214). В случае, когда QPA и QPAL совпадают между собой, весовой коэффициент параметра квантования блока, примыкающего слева, задается таким большим, чтобы удовлетворялось соотношение FA<FL (S215). Например, FA задается равным 1, a FL задается равным 3. В случае, когда QPA и QPAL не совпадают между собой, FA и FL задаются с одинаковыми весовыми коэффициентами, и весовые коэффициенты параметров квантования блоков, примыкающих слева и сверху, выравниваются (S216). В этом случае, параметры квантования всех блоков - блока, примыкающего слева, блока, примыкающего сверху, и блока, примыкающего сверху слева, являются различными, поэтому невозможно определить достаточные условия для задания весового коэффициента одного из QPL и QPA большого по величине. Исходя из этого, в качестве предсказанного параметра квантования задается среднее значение QPL и QPA, и определенные значения всех весовых коэффициентов становятся одинаковыми. Например, FA задается равным 2 и FL задается равным 2. Предсказанный параметр квантования predQP выводится из определенного таким способом весового коэффициента и каждого параметра квантования, используя следующее выражение (S217).
[Выражение 7]
Здесь знаменатель приведенного выражения представляет собой FA+FL, а 2 в числителе представляет собой значение (FA+FL)/2, прибавленное для округления. Предсказанный параметр квантования, выведенный подобным образом, пересылается на блок генерации разностных параметров квантования 111.
Вместо определения в S212 того, являются или не являются QPL и QPAL одинаковыми, и определения в S214 того, являются или не являются QPA и QPAL одинаковыми, как показывается на Фиг. 16, левый или верхний параметр квантования может также быть выбран в качестве предсказанного параметра квантования, задав как ΔL - абсолютное значение разности между параметром квантования блока, примыкающего слева, и параметром квантования блока, примыкающего слева сверху, а как ΔА - абсолютное значение разности между параметром квантования блока, примыкающего сверху, и параметром квантования блока, примыкающего слева сверху, и сравнив ΔL и ΔА между собой.
В блоке кодирования и в уже кодированных блоках, примыкающих к этому блоку кодирования, ΔL указывает абсолютное значение разности между параметром квантования блока, примыкающего к нему слева, и параметром квантования блока, примыкающего к нему слева сверху, а ΔА указывает абсолютное значение разности между параметром квантования блока, примыкающего сверху, и параметром квантования блока, примыкающего слева сверху, и соответственно ΔL и ΔА представляются следующими выражениями.
[Выражение 8]
[Выражение 9]
В случае, когда ΔА становится больше, чем ΔL, разность между QPA и QPAL является большой. В этом случае предполагается, что гладкость или сложность изображения между блоком, примыкающим сверху, и блоком, примыкающим сверху слева, отличается от гладкости или сложности изображения между блоком, примыкающим слева, и блоком, примыкающим сверху слева (изменение является большим). Соответственно, предполагается, что в блоке кодирования и в уже кодированных блоках, примыкающих к этому блоку кодирования, возникает разность параметров квантования между двумя левыми блоками (блок, примыкающий слева, и блок, примыкающий сверху слева) и двумя правыми блоками (блок кодирования и блок, примыкающий сверху), и по этой причине выносится суждение, что параметр квантования блока кодирования ближе к параметру квантования блока, примыкающего сверху, чем к параметру квантования блока, примыкающего слева.
В случае процесса декодирования реализуется эквивалентная обработка изменением ссылочной цифры блока вывода предсказанных параметров квантования из 114 на 205 и ссылочной цифры памяти информации кодирования из 113 на 204 и изменением назначенной пересылки предсказанного параметра квантования из блока генерации разностных параметров квантования 111 на блок генерации параметров квантования 203.
[Второй пример осуществления]
Далее будет описана работа блоков вывода предсказанных параметров квантования 114 и 205, в соответствии со вторым примером осуществления. Здесь будет описываться процесс кодирования. Однако в случае процесса декодирования реализуется эквивалентная обработка изменением ссылочных цифр блоков вывода предсказанных параметров декодирования из 114 на 205 и ссылочных цифр памяти информации кодирования из 113 на 204, а также изменением назначенной пересылки предсказанного параметра квантования из блока генерации разностных параметров квантования 111 на блок генерации параметров квантования 203. Во втором примере осуществления, как и в первом примере осуществления, для предсказания используются параметры квантования кодированных блоков, примыкающих сверху и слева к блоку, являющемуся объектом кодирования. С другой стороны, отличие от первого примера осуществления состоит в том, что когда блок кодирования примыкает к блоку дерева слева, то запрещается использование для предсказания параметра квантования кодированного блока в блоке дерева слева, таким же самым образом, как и в случае, когда блок кодирования примыкает к блоку дерева сверху. Причиной этого является следующее. Вычисление параметра квантования блока кодирования проводится, базируясь на последовательности кодирования при управлении кодированием. Соответственно, промежутки процесса кодирования между блоками дерева отдалены по времени друг от друга по сравнению с промежутками процесса кодирования внутри блока дерева. В этом случае, даже если блоки кодирования примыкают друг к другу в промежутке между блоками дерева, параметры квантования блоков кодирования, вычисленные на базе управления величиной кода, не обязательно принимают близкие значения.
Соответственно, они могут не подходить в качестве предсказанных параметров квантования. Поэтому во втором примере осуществления, когда блок кодирования, являющийся объектом кодирования или декодирования, примыкает к блоку дерева слева или сверху, то параметр квантования кодированного блока в блоке дерева слева или сверху на используется для предсказания, а используется после того, как он будет заменен параметром квантования блока, кодированного перед или сразу же перед блоком кодирования, являющимся объектом кодирования, в последовательности кодирования.
На Фиг. 17 широкими стрелками показываются направления, в котором каждый из блоков кодирования в разделенном блоке дерева обращается к кодированному блоку. Тонкими сплошными линиями на Фиг. 17 указывается последовательность кодирования, а блок кодирования в принципе использует параметр квантования кодированного блока, который примыкает к нему внутри блока дерева, содержащего этот блок кодирования. Поскольку блок BLK0, расположенный на верхней стороне блока дерева на Фиг. 18, соприкасается с границами блоков дерева слева и сверху, то для предсказания используются параметры квантования блоков, кодированных перед или сразу же перед блоком кодирования, являющимся объектом кодирования, после их замены параметрами квантования кодированных блоков, примыкающих к нему слева и сверху. Поскольку блок BLK1 соприкасается с границей блока дерева сверху, то параметр квантования кодированного блока, который примыкает сверху, для предсказания не используется, а заменяется параметром квантования блока, кодированного перед или сразу же перед блоком кодирования, являющимся объектом кодирования, и этот параметр квантования используется для предсказания совместно с параметром квантования кодированного блока, который примыкает слева. Поскольку блок BLK2 соприкасается с границей блока дерева слева, то параметр квантования кодированного блока, который примыкает слева, для предсказания не используется, а заменяется параметром квантования блока, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования, и этот параметр квантования используется для предсказания совместно с параметром квантования кодированного блока, который примыкает сверху. Поскольку в блоке BLK3 кодированные блоки, примыкающие слева и сверху, находятся внутри одного и того же блока дерева, то для предсказания используются параметр квантования кодированного блока сверху и параметр квантования кодированного блока слева.
На Фиг. 18 представлена блок-схема, показывающая работу блока вывода предсказанных параметров квантования 114, в соответствии со вторым примером осуществления.
Сначала выводится информация положения блока кодирования, который является объектом кодирования (S300). Для определения информации положения этого блока кодирования вычисляется верхнее левое положение блока дерева, содержащего блок кодирования, приняв в качестве опорной точки верхнюю левую части кадра изображения, и затем из верхнего левого положения блока дерева вычисляется положение блока кодирования. После этого определяется, примыкает или не примыкает блок кодирования к блоку дерева сверху (S301). В случае, когда блок кодирования примыкает к блоку дерева сверху (Да в S301), то есть, в случае, когда блок кодирования расположен на верхней стороне блока дерева, то блок, примыкающий сверху, содержится внутри верхнего блока дерева. Соответственно, поскольку блок, примыкающий сверху, находится за границей блока дерева, то блок, примыкающий сверху, не используется для предсказания параметра квантования, и в качестве QPA задается параметр квантования prevQP блока кодирования, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования (S302).
С другой стороны, в случае, когда блок кодирования не примыкает к блоку дерева сверху (Нет в S301), то есть в случае, когда блок, примыкающий сверху, расположен внутри того же самого блока дерева, что и блок кодирования, по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPA соответствующего блока, примыкающего сверху, и пересылается на блок вывода предсказанных параметров квантования 114 (S303).
Далее определяется, примыкает или не примыкает блок кодирования к блоку дерева слева (S304). В случае, когда блок кодирования примыкает к блоку дерева слева (Да в S104), то есть, в случае, когда блок кодирования расположен с левой стороны блока дерева, то блок, примыкающий слева, включается в блок дерева слева. Соответственно, поскольку блок, примыкающий слева, находится за границей блока дерева, то блок, примыкающий слева, не используется для предсказания параметра квантования, в качестве QPL задается параметр квантования prevQP блока кодирования, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования (S305).
С другой стороны, в случае, когда блок кодирования не примыкает к блоку дерева слева (Нет в S304), то есть в случае, когда блок, примыкающий слева, расположен внутри того же самого блока дерева, что и блок кодирования, то по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая хранится в памяти информации кодирования 113, выводится параметр квантования QPL соответствующего блока, примыкающего слева, и пересылается на блок вывода предсказанных параметров квантования 114 (S306). Наконец, среднее значение параметров квантования блоков, примыкающих слева и сверху, задается в качестве предсказанного параметра квантования (S307). Предсказанный параметр квантования, вычисленный подобным образом, пересылается на блок генерации разностных параметров квантования 111.
Во втором примере осуществления в случае, когда блоки, примыкающие слева и сверху, находятся за границей блоков дерева, каждый параметр квантования используется в качестве параметра квантования блока кодирования, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования. Поэтому можно еще больше, чем в первом примере осуществления, уменьшить объем вычислений при определении величины параметра квантования, поскольку с необходимостью существуют ненулевые значения.
[Третий пример осуществления]
Далее будет описываться работа блоков вывода предсказанных параметров квантования 114 и 205, в соответствии с третьим примером осуществления. Здесь будет описан процесс кодирования. Однако в случае процесса декодирования реализуется эквивалентная обработка изменением кодирования на декодирование, изменением ссылочных цифр блок вывода предсказанных параметров квантования из 114 на 205, ссылочных цифр памяти информации кодирования из 113 на 204 и изменением назначенной пересылки выданного предсказанного параметра квантования из блока генерации разностных параметров квантования 111 на блок генерации параметров квантования 203. Отличие от первого примера осуществления состоит в том, что когда блок кодирования, который кодируется или декодируется, примыкает к блоку дерева слева, то запрещается использование для предсказания параметра квантования кодированного блока в блоке дерева слева таким же самым образом, как и в случае, когда блок кодирования примыкает к блоку дерева сверху. То есть, использование для предсказания параметра квантования кодированного блока кодирования за границей блока дерева, ограничивается только тогда, когда в блоке дерева блок кодирования, который кодируется первым по времени в последовательности кодирования, использует параметры квантования блоков, кодированных перед или сразу же перед блоком кодирования, являющимся объектом кодирования.
На Фиг. 19 толстыми стрелками показываются направления, в котором каждый из блоков кодирования в разделенном блоке дерева обращается к кодированному блоку. Тонкими сплошными линиями на Фиг. 19 указывается последовательность кодирования, а блок кодирования использует параметр квантования кодированного блока, который примыкает к нему внутри блока дерева, содержащего блок кодирования.
Поскольку блок BLK0, расположенный на верхней стороне блока дерева на Фиг. 19, соприкасается с границами блоков дерева слева и сверху, то для предсказания используются только параметры квантования блоков, кодированных перед или сразу же перед блоком кодирования, являющимся объектом кодирования. Поскольку блок BLK1 соприкасается с границей блока дерева сверху, то параметр квантования кодированного блока, который примыкает сверху, для предсказания не используется, а для предсказания используется только параметр квантования кодированного блока, который примыкает к нему слева. Поскольку блок BLK2 соприкасается с границей блока дерева слева, то параметр квантования кодированного блока, который примыкает слева, для предсказания не используется, а для предсказания используется только параметр квантования кодированного блока, который примыкает к нему сверху. Поскольку в блоке BLK3 кодированные блоки, примыкающие к нему слева и сверху, находятся внутри одного и того же блока дерева, то для предсказания используется параметр квантования кодированного блока сверху и параметр квантования кодированного блока слева.
На Фиг. 20 представлена блок-схема, показывающая работу блока вывода предсказанных параметров квантования 114, в соответствии с третьим примером осуществления. Поскольку S400-S403 и S407-S411 в блок-схеме, представленной на Фиг. 20, являются теми же самыми, что и S100-S103 и S107-S111, показанные на Фиг. 15 в первом примере осуществления, то соответствующие объяснения будут опущены и будет описано только отличие от S404 после того, как определяется, примыкает или не примыкает блок кодирования к блоку дерева сверху.
После определения того, примыкают или не примыкают блок кодирования и блок дерева сверху друг к другу, определяется, примыкает или не примыкает блок кодирования к блоку дерева слева (S404). В случае, когда блок кодирования примыкает к блоку дерева слева (да в S404), то есть, в случае, когда блок кодирования расположен на левой стороне блока дерева, блок, который примыкает слева, включается в блок дерева слева. Соответственно, поскольку блок, примыкающий слева, находится за границей блока дерева, то блок, который примыкает слева, не используется для предсказания параметра квантования. Здесь, принимая во внимание, что параметр квантования всегда имеет положительное значение, то в случае, когда примыкающий слева блок не используется для предсказания, параметр квантования QPL блока, примыкающего слева, задается равным 0 (S405). С другой стороны, в случае, когда блок кодирования не примыкает к блоку дерева слева (Нет в S404), то есть, в случае, когда блок, примыкающий слева, расположен в том же самом блоке дерева, что и блок кодирования, то по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPL соответствующего блока, примыкающего слева, и пересылается на блок вывода предсказанных параметров квантования 114 (S406). Подобным образом, предсказанный параметр квантования выводится из параметров квантования блоков, примыкающих слева и сверху, и этот предсказанный параметр квантования пересылается на блок генерации разностных параметров квантования 111.
[Четвертый пример осуществления]
Далее будет описана работа блоков вывода предсказанных параметров квантования 114 и 205, в соответствии с четвертым примером осуществления. Здесь будет описан процесс кодирования. Однако в случае процесса декодирования реализуется эквивалентная обработка изменением кодирования на декодирование, изменением ссылочных цифр блок вывода предсказанных параметров квантования из 114 на 205, ссылочных цифр памяти информации кодирования из 113 на 204 и изменением места назначенной пересылки выданного предсказанного параметра квантования из блока генерации разностных параметров квантования 111 на блок генерации параметров квантования 203. В четвертом примере осуществления, в случае, когда блок кодирования, являющийся объектом кодирования или декодирования, примыкает к блоку дерева слева или сверху, запрещается использование для предсказания параметра квантования кодированного блока в блоке дерева слева или сверху. В принципе, для предсказания используется параметр квантования кодированного блока, примыкающего слева. В случае, когда блок кодирования, примыкающий слева, не существует или находится за границей блока дерева, то для предсказания используется параметр квантования блока, кодированного перед или сразу же перед блоком кодирования, являющимся объектом кодирования.
На Фиг. 21 толстыми стрелками показываются направления, в котором каждый из блоков кодирования в разделенном блоке дерева обращается к кодированному блоку. Тонкими сплошными линиями на Фиг. 21 указывается последовательность кодирования, а блок кодирования использует параметр квантования кодированного блока, примыкающего слева, внутри блока дерева, который содержит блок кодирования.
Поскольку блок BLK0, расположенный на верхней стороне блока дерева на Фиг. 21, соприкасается с границами блоков дерева слева и сверху, то для предсказания используются параметры квантования блоков, кодированных перед или сразу же перед блоком кодирования, являющимся объектом кодирования. Что касается блоков BLK1 и BLK3, то кодированный блок, примыкающий слева, находится внутри того же самого блока дерева. Соответственно, для предсказания используется параметр квантования кодированного блока, примыкающего слева. Блок BLK2 соприкасается с границей блока дерева слева. Соответственно, параметр квантования кодированного блока, который примыкает слева, для предсказания не используется, а для предсказания используется параметр квантования блока, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования.
На Фиг. 22 представлена блок-схема, показывающая работу блока вывода предсказанных параметров квантования 114, в соответствии с четвертым примером осуществления. Сначала выводится информация положения блока кодирования, который является объектом кодирования (S500). Для определения информации положения этого блока кодирования вычисляется верхнее левое положение блока дерева, содержащего блок кодирования, приняв в качестве опорной точки верхнюю левую части кадра изображения, и затем из верхнего левого положения блока дерева вычисляется положение блока кодирования. После этого определяется, примыкает или не примыкает блок кодирования к блоку дерева слева (S501). В случае, когда блок кодирования примыкает к блоку дерева слева (Да в S501), то есть, в случае, когда блок кодирования расположен на левой стороне блока дерева, то блок, примыкающий слева, содержится внутри левого блока дерева. Соответственно, поскольку блок, примыкающий слева, находится за границей блока дерева, то блок, примыкающий слева, не используется для предсказания параметра квантования, и в качестве предсказанного параметра квантования задается параметр квантования prevQP блока кодирования, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования (S502). С другой стороны, в случае, когда блок кодирования не примыкает к блоку дерева слева (Нет в S501), то есть в случае, когда блок, примыкающий слева, расположен внутри того же самого блока дерева, что и блок кодирования, по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPL блока, примыкающего слева, и параметр квантования QPL задается в качестве параметра квантования (S503). Предсказанный параметр квантования, выведенный подобным образом, пересылается на блок генерации разностных параметров квантования 111.
В четвертом примере осуществления для предсказания в принципе используется параметр квантования кодированного блока, примыкающего слева к блоку кодирования, поэтому становится возможным уменьшить размер схемы, поскольку процесс определения упрощается по сравнению с предыдущими примерами осуществления.
[Пятый пример осуществления]
Далее будет описываться работа блоков вывода предсказанных параметров квантования 114 и 205, в соответствии с пятым примером осуществления. Здесь будет описан процесс кодирования. Однако в случае процесса декодирования реализуется эквивалентная обработка изменением кодирования на декодирование, изменением ссылочных цифр блок вывода предсказанных параметров квантования из 114 на 205, ссылочных цифр памяти информации кодирования из 113 на 204 и изменением назначенной пересылки выданного предсказанного параметра квантования из блока генерации разностных параметров квантования 111 на блок генерации параметров квантования 203. Пятый пример осуществления является комбинацией первого и второго примеров осуществления. В случае, когда блок кодирования, являющийся объектом кодирования или декодирования, примыкает к блоку дерева слева, то для предсказания допускается использование параметра квантования кодированного блока в блоке дерева, примыкающего слева. В случае, когда блок кодирования примыкает к блоку дерева сверху, то использование для предсказания параметра квантования кодированного блока кодирования внутри блока дерева сверху запрещается, и вместо параметра квантования кодированного блока внутри блока дерева для предсказания используется параметр квантования блока, кодированного перед или сразу же перед блоком кодирования, являющимся объектом кодирования.
На Фиг. 23 толстыми стрелками показываются направления, в котором каждый из блоков кодирования в разделенном блоке дерева обращается к кодированному блоку. Тонкими сплошными линиями на Фиг. 23 указывается последовательность кодирования, а блок кодирования, являющийся объектом кодирования, отдает приоритет примыкающему кодированному блоку перед кодированным блоком, который в последовательности кодирования находится ближе к блоку кодирования.
Поскольку BLK0 и BLK1, которые расположены на верхней стороне блока дерева на Фиг. 23, соприкасаются с границей блока дерева сверху, то параметр квантования кодированного блока, который примыкает сверху, для предсказания на используется, а вместо этого для предсказания используется параметр квантования блока, кодированного перед или сразу же перед блоком кодирования, являющимся объектом кодирования, совместно с параметром квантования кодированного блока, который примыкает слева. Поскольку в блоках BLK2 и BLK3 кодированные блоки, примыкающие слева и сверху, находятся внутри одного и того же блока дерева, то для предсказания используются параметр квантования кодированного блока сверху и параметр квантования кодированного блока слева.
Далее будет подробно описана работа блока вывода предсказанных параметров квантования 114, в соответствии с пятым примером осуществления. На Фиг. 24 представлена блок-схема, показывающая работу блока вывода предсказанных параметров квантования 114, в соответствии с пятым примером осуществления.
Сначала выводится информация положения блока кодирования, который является объектом кодирования (S600). Для определения информации положения этого блока кодирования вычисляется верхнее левое положение блока дерева, содержащего блок кодирования, приняв в качестве опорной точки верхнюю левую части кадра изображения, и затем из верхнего левого положения блока дерева вычисляется положение блока кодирования. После этого определяется, примыкает или не примыкает блок кодирования к блоку дерева сверху (S601). В случае, когда блок кодирования примыкает к блоку дерева сверху (Да в S601), то есть, в случае, когда блок кодирования расположен на верхней стороне блока дерева, то блок, примыкающий сверху, содержится внутри верхнего блока дерева. Соответственно, поскольку блок, примыкающий сверху, находится за границей блока дерева, то блок, примыкающий сверху, не используется для предсказания параметра квантования, и в качестве QPA задается параметр квантования prevQP блока кодирования, кодированного перед или сразу же перед блоком кодирования, являющегося объектом кодирования (S602).
С другой стороны, в случае, когда блок кодирования не примыкает к блоку дерева сверху (Нет в S601), то есть в случае, когда блок, примыкающий сверху, расположен внутри того же самого блока дерева, что и блок кодирования, по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPA соответствующего блока, примыкающего сверху, и пересылается на блок вывода предсказанных параметров квантования 114 (S603).
Далее определяется, существует или не существует кодированный блок, примыкающий к блоку дерева слева (S604). В случае, когда существует блок, примыкающий к блоку дерева слева (Да в S604), то по информации опорного положения блока кодирования сверху слева, обратившись к соответствующей области, которая записана в памяти информации кодирования 113, выводится параметр квантования QPL соответствующего блока, примыкающего сверху слева, и пересылается на блок вывода предсказанных параметров квантования 114 (S605). В случае, когда нет блока, примыкающего слева (Нет в S604), то параметр квантования QPL блока, примыкающего слева, задается равным 0 (S606).
Затем определяется, является или не является параметр квантования блока, примыкающего слева, положительным (S607). В случае, если параметр квантования блока, примыкающего слева, является положительным (Да в S607), то блок, примыкающий слева, существует. Соответственно, в качестве предсказанного параметра квантования задается среднее значение параметров квантования блоков, примыкающих слева и сверху (S608). С другой стороны, если параметр квантования блока, примыкающего слева, не является положительным (Нет в S607), то есть, если параметр квантования блока, примыкающего слева, является равным 0, то блок, примыкающий слева, не существует. В этом случае, в качестве предсказанного параметра квантования задается QPA (S609). Предсказанный параметр квантования, вычисленный подобным образом, пересылается на блок генерации разностных параметров квантования 111.
В соответствии с устройством кодирования движущихся изображений настоящего примера осуществления, параметр квантования, кодированный для каждого блока, являющегося объектом кодирования, выводится предсказанием оптимального предсказанного параметра квантования, используя информацию кодирования и параметров квантования соседних кодированных блоков, а для проведения кодирования берется разность между параметром квантования и предсказанным параметром квантования. В результате, можно улучшить эффективность кодирования, поскольку величина кода параметра квантования снижается без изменения качества изображения.
Кроме того, поскольку возможно использование функции предсказания параметра квантования, которая является общей как на стороне кодирования, так и на стороне декодирования, то можно уменьшить размер схемы. Это определяется тем, что примыкающий кодированный блок становится блоком, который локально декодируется для предсказания следующего блока кодирования на стороне кодирования и, соответственно, определение предсказания параметров квантования реализуется так, что это не приводит к несогласованности между стороной кодирования и стороной декодирования.
В приведенном выше объяснении предсказание параметров квантования проводилось так, что за единицу принимался блок кодирования. Однако если число блоков кодирования, имеющих небольшие размеры, будет увеличивается из-за увеличения числа разделений в блоке дерева, то назначенная величина кода, приходящегося на блок кодирования в управлении величиной кода, становится тоже небольшой. В этом случае параметр квантования может быть вычислен неправильно. Кроме того, возрастает требуемый объем памяти в памяти информации кодирования 113 и 204, имеющееся соответственно в устройстве кодирования движущихся изображений 100 и устройстве декодирования движущихся изображений 200, в которой во время кодирования и декодирования записывается информация кодирования, такая как параметры квантования. Потому в качестве единицы кодирования и передачи параметров квантования может быть заново задан блок, называемый группой квантования, и предсказание параметров квантования может быть проведено в единицах таких блоков
Группа квантования представляет собой блок, определенный в соответствии с размером блока дерева, а этот размер выражается как величина, полученная умножением длины боковой стороны блока в блоке дерева в 1/2n раз (n - целое число больше 0). То есть, величина, когда битовая длина боковой стороны блока в блоке дерева сдвигается вправо на n бит, становится длиной боковой стороны группы квантования. Поскольку эта величина, так же как в древовидной структуре, определяется размером блока, то имеется высокая степень подобия с блоком дерева. Кроме того, поскольку блок дерева разделяется на части одинакового размера, то может быть упрощено управление и считывание параметров квантования, записанных в памяти информации кодирования 113 и 204.
На Фиг. 25 показывается пример, в котором блок дерева разделяется на древовидную структуру блоков. Размер блока дерева задается равным 64×64, и этот блок дерева иерархически разделяется на четыре части. В разделении от первого до третьего проводится разделение на блоки кодирования соответственно 32×32 блока (прямоугольники, заполненные точками, на Фиг. 25), разделение на блоки кодирования 16×16 блоков (заштрихованные прямоугольники на Фиг. 25) и разделение на блоки кодирования 8×8 блоков (пустые прямоугольники на Фиг. 25). Здесь, принимая, что группой квантования является прямоугольный блок 16×16, группы квантования выражаются на Фиг. 25 толстой пунктирной линией, а предсказание параметров квантования проводится в единицах группы квантования.
Когда размер блока, являющийся объектом кодирования, будет больше, чем, например, размер блока группы квантования (32×32 блока), блок кодирования, представленный, например, на Фиг. 25 как прямоугольник, заполненный точками, разделяется на четыре части группой квантования. Хотя блок кодирования разделяется группой квантования на четыре части, число параметров квантования блока кодирования равно 1. Поэтому в случае, когда размер блока кодирования будет больше, чем размер группы квантования, то кодируется и передается разностный параметр квантования после предсказания параметра квантования блока кодирования, и тот же самый параметр квантования записывается в областях памяти информации кодирования 113 и 204, соответствующих каждой группе квантования, разделенной на четыре части. Хотя в памяти информации кодирования 113 и 204 параметры квантования дублируются, однако становится легче обращаться к параметрам квантования соседних кодированных блоков при предсказании параметров квантования.
Когда размер блока, являющегося объектом кодирования, является таким же самым, что и блочный размер группы квантования (16×16 блоков), предсказание параметров квантования выполняется таким же самым образом, что и в случае предсказания параметров квантования в единицах блока кодирования, описанного выше.
Когда размер блока, являющегося объектом кодирования, будет меньше, чем, например, блочный размер группы квантования (8×8 блоков), то в случае блока кодирования, представленного как пустой квадрат на Фиг. 25, в группу квантования включаются четыре блока кодирования. В этом случае блоки кодирования в группе квантования не имеют раздельных параметров квантования, а имеют один общий параметр квантования на всю группу квантования. Используя этот параметр квантования, кодируется каждый блок кодирования. Кроме того, хотя существует, например, способ вычисления среднего значения, выбрав один из параметров квантования четырех блоков кодирования в группе квантования в качестве репрезентативного значения параметра квантования группы квантования, настоящее изобретение не ограничено этим частным случаем.
На Фиг. 26 представлен пример предсказания параметра квантования в случае, когда блок кодирования будет меньше, чем блочный размер группы квантования. Заштрихованный прямоугольник, показанный на Фиг. 26, показывает блок, являющийся объектом кодирования, серый прямоугольник показывает кодированный блок, который используется в предсказании параметра квантования группой квантования, содержащей блоки кодирования, а тонкая сплошная линия показывает последовательность кодирования. Предсказание параметров квантования проводится, базируясь на положении пикселя в верхнем левом углу обрабатываемой группы квантования. В случае, когда для предсказания используется параметр квантования кодированного блока, примыкающего сверху, то в заштрихованном прямоугольнике, показанном на Фиг. 26, вычисляется положение примыкающего кодированного блока, содержащего пиксель, который примыкает к пикселю над пикселем в верхнем левом углу группы квантования, содержащей блок, который является объектом кодирования, и из памяти информации кодирования 113 и 204 вызывается параметр квантования, записанный по адресу, который соответствует этому положению. Аналогично, в случае, когда для предсказания используется параметр квантования кодированного блока, примыкающего слева, то вычисляется положение кодированного блока, содержащего пиксель, который примыкает к пикселю, следующего слева от верхнего левого пикселя группы квантования, содержащей блок, который является объектом кодирования, и из памяти информации кодирования 113 и 204 вызывается параметр квантования, записанный по адресу, который соответствует этому положению. К случае, когда кодированные блоки примыкающие слева и сверху к пикселю в верхнем левом углу группы квантования, содержащей блок, который является объектом кодирования, находятся за границей блока дерева, используется параметр квантования кодированного блока, который кодирован перед или сразу же перед блоком, который является объектом кодирования. Поэтому адреса в памяти, по которым записываются сохраняемые параметры квантования в памяти информации кодирования 113 и 204 при кодировании, хранятся временно, и параметр квантования, записанный по адресу, соответствующему положению перед или сразу же перед блоком, который является объектом кодирования, вызывается из памяти информации кодирования 113 и 204. Таким образом, можно предсказать параметр квантования блока, который является объектом кодирования.
Как было описано выше, предсказание параметров квантования в единицах группы квантования может быть проведено таким же самым образом, что и предсказание параметров квантования в единицах блока кодирования, описанных выше.
Кроме того, размер блока группы квантования может быть непосредственно описан в информации заголовка битового потока или может быть описан как размер блока группы квантования величиной битового сдвига, указывающего на то, изменяется или не изменяется размер блока дерева в 1/2n раза (n является целым более 0). Например, в информации заголовка кадра изображения определяется флаг cu_qp_delta_enable_flag, указывающий на то, выполнять или не выполнять предсказание параметра квантования в единицах кадра изображения, описывать или не описывать разностный параметр квантования в битовом потоке, и передавать или не передавать битовый поток, а также в битовом потоке описывается параметр diff_cu_qp_delta_depth, который определяет размер группы квантования только в случае, когда флаг cu_qp_delta_enable_flag достоверен (задается равным 1). В случае, когда размер блока дерева выражается как 2n, размер группы квантования будет выражаться через возведение в степень 2 значения, полученного вычитанием из экспоненты n параметра diff_cu_qp_delta_depth в качестве экспоненты. Кроме того, размер группы квантования при кодировании и декодировании, вместо явного описания размера группы квантования, в частности, в битовом потоке, может быть определен неявно.
Битовый поток движущихся изображений, выдаваемый из устройства кодирования движущихся изображений примеров осуществления, описанных выше, имеет определенный формат данных, так что возможно декодирование в соответствии со способом кодирования, используемым в примере осуществления, а устройство декодирования движущихся изображений, соответствующее устройству кодирования движущихся изображений, может декодировать битовый поток этого определенного формата данных.
В случае, когда для обмена битовыми потоками между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений используется проводная или беспроводная сеть, битовые потоки могут быть переданы после их преобразования в формат данных, удобный для режима передачи по каналу связи. В этом случае, предоставляется устройство передачи движущихся изображений, которое преобразует выходные битовые потоки из устройства кодирования движущихся изображений в кодированные данные с форматом данных, подходящим для режима передачи по каналу связи, и передает преобразованные битовые потоки через сеть, а приемное устройство движущихся изображений, которое получает кодированные данные через эту сеть, восстанавливает кодированные данные в битовые потоки, и пересылает восстановленные битовые потоки на устройство декодирования движущихся изображений.
Устройство передачи движущихся изображений содержит память, которая буферизирует битовый поток, выдаваемый из устройства кодирования движущихся изображений, блок пакетирования, которые формирует пакеты битовых потоков, и блок передачи, который передает пакетированные кодированные данные через сеть. Приемное устройство движущихся изображений содержит приемный блок, который принимает пакетированные кодированные данные через сеть, память, которая буферизирует принятые кодированные данные, и блок пакетирования, который формирует пакеты кодированных данных, генерирует битовые потоки и пересылает эти битовые потоки на устройство декодирования движущихся изображений.
Описанная выше обработка относится к кодированию и декодированию, и может быть реализована как устройство передачи, хранения и приема, используя аппаратные средства, а также может быть реализована микропрограммными средствами, зашитыми, например, в ПЗУ (постоянное запоминающее устройство) или флэш-память, или программными средствами, например, компьютера. Эти микропрограммы и программы, реализованные программно, могут быть записаны на носителе записи, который может считываться компьютером, могут быть предоставлены от сервера через проводную или беспроводную сеть, или могут быть предоставлены как данные вещания, такого как наземное вещание или цифровое спутниковое вещание.
Выше настоящее изобретение было описано на базе примеров реализации. Эти примеры реализации являются иллюстративными, и специалистам в данной области техники будет понятно, что могут быть выполнены различные модификации комбинаций соответствующих составляющих элементов или соответствующих процессов и такие модификации подпадают под технический объем настоящего изобретения.
Пункт 1. Устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок вычисления параметров квантования, который вычисляет параметр квантования второго блока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
блок генерации разностных параметров квантования, который генерирует разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
блок кодирования, который кодирует разностный параметр квантования второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Пункт 2. Устройство кодирования движущихся изображений, в соответствии с пунктом 1, отличающееся тем, что
блок вывода предсказанных параметров квантования задает среднее значение первого и второго параметров квантования в качестве предсказанного параметра квантования.
Пункт 3. Устройство кодирования движущихся изображений, в соответствии с пунктом 1 или 2, отличающееся тем, что
информация размера второго блока описывается в битовом потоке.
Пункт 4. Устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока кодирования разделением блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с заранее заданным размером, при этом устройство содержит:
блок вычисления параметров квантования, который вычисляет параметр квантования блока кодирования;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования блока кодирования, используя параметры квантования соседних кодированных блоков, примыкающих к блоку кодирования;
блок генерации разностных параметров квантования, который генерирует разностный параметр квантования блока кодирования из разности между параметром квантования блока кодирования и предсказанным параметром квантования блока кодирования; и
блок кодирования, который кодирует разностный параметр квантования блока кодирования, при этом
в случае, когда положение, в котором находится соседний блок, примыкающий к блоку кодирования в заранее заданном направлении блока кодирования, выходит за границу блока, имеющего заранее заданный размер, то блок вывода предсказанных параметров квантования выводит предсказанный параметр квантования блока кодирования, используя параметры квантования других кодированных блоков, которые отличны от соседнего блока, примыкающего к блоку кодирования в заранее заданном направлении.
Пункт 5. Способ кодирования движущихся изображений, в котором кодируются движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с заранее заданным размером, при этом способ включает:
этап вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этап генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этап кодирования, на котором кодируется разностный параметр квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Пункт 6. Программа кодирования движущихся изображений для кодирования движущихся изображений в единицах блока разделением первого блока, который получается разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с заранее заданным размером, при этом программа обеспечивает исполнение компьютером:
этапа вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этапа вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этапа генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этапа кодирования, на котором кодируется разностный параметр квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Пункт 7. Устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок декодирования, который выделяет разностный параметр квантования второго блока декодированием битового потока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
блок генерации параметров квантования, который генерирует параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Пункт 8. Устройство декодирования движущихся изображений, в соответствии с пунктом 7, отличающееся тем, что блок вывода предсказанных параметров квантования задает среднее значение первого и второго параметра квантования в качестве предсказанного параметра квантования.
Пункт 9. Устройство декодирования движущихся изображений, в соответствии с пунктом 7 или 8, отличающееся тем, что из битового потока выделяется информация размера второго блока и задается в качестве размера второго блока.
Пункт 10. Устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются в единицах блока кодирования разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько блоков кодирования с определенным размером, при этом устройство содержит:
блок декодирования, который выделяет разностный параметр квантования блока декодирования декодированием битового потока в единицах блока декодирования;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования блока декодирования в соответствии с режимом предсказания блока декодирования, используя параметры квантования декодированных соседних блоков, примыкающих к блок декодирования; и
блок генерации параметров квантования, который генерирует параметр квантования блока декодирования суммированием разностного параметра квантования блока декодирования и предсказанного параметра квантования блока декодирования, при этом в случае, когда положение, в котором находится соседний блок, примыкающий к блоку декодирования в заранее заданном направлении блока декодирования, выходит за границу блока, имеющего заранее заданный размер, то блок вывода предсказанных параметров квантования выводит предсказанный параметр квантования блока декодирования, используя параметры квантования других декодированных блоков, которые отличны от соседнего блока, примыкающего к блоку декодирования в заранее заданном направлении.
Пункт 11. Способ декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом способ включает:
этап декодирования, на котором выделяется разностный параметр квантования второго блока декодированием битового потока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
этап генерации параметров квантования, на котором генерируется параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Пункт 12. Программа декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом программа обеспечивает исполнение компьютером:
этапа декодирования, на котором выделяется разностный параметр квантования второго блока декодированием битового потока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
этап генерации параметров квантования, на котором генерируется параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, декодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок вычисления параметров квантования, который вычисляет параметр квантования второго блока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
блок генерации разностных параметров квантования, который генерирует разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
блок кодирования, который кодирует разностный параметр квантования второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок декодирования, который выделяет разностный параметр квантования второго блока декодированием битового потока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
блок генерации параметров квантования, который генерирует параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Способ декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом способ включает:
этап декодирования, на котором выделяется разностный параметр квантования второго блока декодированием битового потока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
этап генерации параметров квантования, на котором генерируется параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Устройство передачи, содержащее:
блок формирования пакетов, который получает данные кодирования формированием пакетов битового потока, кодированного с использованием способа кодирования движущихся изображений для кодирования движущихся изображений в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером; и
блок передачи, который передает пакетированные кодированные данные, при этом способ кодирования движущихся изображений включает:
этап вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этап генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этап кодирования, на котором кодируется разностный параметр квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Способ передачи, включающий:
этап формирования пакетов для получения данных кодирования формированием пакетов битового потока, кодированного с использованием способа кодирования движущихся изображений для кодирования движущихся изображений в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером; и этап передачи для передачи пакетированных кодированных данных, при этом способ кодирования движущихся изображений включает:
этап вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этап генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этап кодирования, на котором кодируется разностный параметр квантования второго блока, и
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Приемное устройство, которое декодирует битовый поток, в котором движущиеся изображения кодированы в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
приемный блок, который принимает пакетированные кодированные данные через сеть;
блок формирования пакетов, который формирует пакеты принятых данных кодирования и генерирует битовый поток;
блок декодирования, который декодирует битовый поток и выделяет разностный параметр квантования второго блока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока суммированием разностного параметра квантования и предсказанного параметра второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока, используя первый и второй параметры квантования.
Устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок декодирования, который выделяет разностный параметр квантования второго блока декодированием битового потока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
блок генерации параметров квантования, который генерирует параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводит среднее из первого и второго параметров квантования в качестве предсказанного параметра квантования второго блока.
Способ декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом способ включает:
этап декодирования, на котором выделяется разностный параметр квантования второго блока декодированием битового потока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
этап генерации параметров квантования, на котором генерируется параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится среднее из первого и второго параметров квантования в качестве предсказанного параметра квантования второго блока.
Считываемый компьютером носитель записи с программой декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один из несколько вторых блоков с заранее заданным размером, при этом программа обеспечивает исполнение компьютером:
этапа декодирования, на котором выделяется разностный параметр квантования второго блока декодированием битового потока;
этапа вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху; и
этапа генерации параметров квантования, на котором генерируется параметр квантования второго блока суммированием разностного параметра квантования второго блока и предсказанного параметра квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, декодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится среднее из первого и второго параметров квантования в качестве предсказанного параметра квантования второго блока.
Устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок вычисления параметров квантования, который вычисляет параметр квантования второго блока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
блок генерации разностных параметров квантования, который генерирует разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
блок кодирования, который кодирует разностный параметр квантования второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок,_выходит за границу первого блока, и выводит в качестве предсказанного параметра квантования второго блока среднее значение первого и второго параметров квантования.
Способ кодирования движущихся изображений, заключающийся в кодировании движущихся изображений в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков кодирования с заранее заданным размером, при этом способ включает:
этап вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этап генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этап кодирования, на котором кодируется разностный параметр квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится в качестве предсказанного параметра квантования второго блока среднее значение первого и второго параметров квантования.
Считываемый компьютером носитель записи с программой кодирования движущихся изображений для кодирования движущихся изображений в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом программа обеспечивает исполнение компьютером:
этапа вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этапа вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этапа генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этапа кодирования, на котором кодируется разностный параметр квантования второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится в качестве предсказанного параметра квантования второго блока среднее значение первого и второго параметров квантования.
Устройство декодирования движущихся изображений, которое декодирует битовый поток, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений в первых блоках с заранее заданными размерами, по меньшей мере, на один второй блок, при этом устройство содержит:
блок декодирования, который выделяет информацию размера блока для вывода предсказанного параметра квантования и разностный параметр квантования, по меньшей мере, одного второго блока декодированием битового потока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования, по меньшей мере, одного второго блока, используя параметры квантования третьего блока, примыкающего, по меньшей мере, к одному второму блоку слева, и того блока, примыкающего, по меньшей мере, к одному второму блоку сверху; и
блок генерации параметров квантования, который генерирует параметр квантования, по меньшей мере, одного второго блока суммированием разностного параметра квантования, по меньшей мере, одного второго блока и предсказанного параметра квантования, по меньшей мере, одного второго блока, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за левую границу первого блока, задает параметр квантования пятого блока, кодированного, по меньшей мере, перед одним вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за левую границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за верхнюю границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за верхнюю границу первого блока, и выводит предсказанный параметр квантования, по меньшей мере, одного второго блока для каждого размера на основе информации размера блока, используя первый и второй параметры квантования.
Способ декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений в первых блоках с заранее заданными размерами, по меньшей мере, на один второй блок, при этом способ включает:
этап декодирования, на котором выделяется информация размера блока для вывода предсказанного параметра квантования и разностный параметр квантования, по меньшей мере, одного второго блока декодированием битового потока;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования, по меньшей мере, одного второго блока, используя параметры квантования третьего блока, примыкающего, по меньшей мере, к одному второму блоку слева, и четвертого блока, примыкающего, по меньшей мере, к одному второму блоку сверху; и
этап генерации параметров квантования, на котором генерируется параметр квантования, по меньшей мере, одного второго блока суммированием разностного параметра квантования, по меньшей мере, одного второго блока и предсказанного параметра квантования, по меньшей мере, одного второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за левую границу первого блока, задается параметр квантования пятого блока, кодированного, по меньшей мере, перед одним вторым блоком, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за левую границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за верхнюю границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за верхнюю границу первого блока, и выводится предсказанный параметр квантования, по меньшей мере, одного второго блока для каждого размера на основе информации размера блока, используя первый и второй параметры квантования.
Считываемый компьютером носитель записи с программой декодирования движущихся изображений для декодирования битового потока, в котором движущиеся изображения кодируются разделением первого блока, получаемого разделением каждого кадра движущихся изображений в первых блоках с заранее заданными размерами, по меньшей мере, на один второй блок, при этом программа обеспечивает исполнение компьютером:
этапа декодирования, на котором выделяется информация размера блока для вывода предсказанного параметра квантования и разностный параметр квантования, по меньшей мере, одного второго блока декодированием битового потока;
этапа вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования, по меньшей мере, одного второго блока, используя параметры квантования третьего блока, примыкающего, по меньшей мере, к одному второму блоку слева, и четвертого блока, примыкающего, по меньшей мере, к одному второму блоку сверху; и
этапа генерации параметров квантования, на котором генерируется параметр квантования, по меньшей мере, одного второго блока суммированием разностного параметра квантования, по меньшей мере, одного второго блока и предсказанного параметра квантования, по меньшей мере, одного второго блока, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за левую границу первого блока, задается параметр квантования пятого блока, декодированного, по меньшей мере, перед одним вторым блоком, в качестве_первого параметра квантования, когда положение, в котором находится третий блок, выходит за левую границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за верхнюю границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за верхнюю границу первого блока, и выводится предсказанный параметр квантования, по меньшей мере, одного второго блока для каждого размера на основе информации размера блока, используя первый и второй параметры квантования.
Устройство кодирования движущихся изображений, которое кодирует движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом устройство содержит:
блок вычисления параметров квантования, который вычисляет параметр квантования второго блока;
блок вывода предсказанных параметров квантования, который выводит предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
блок генерации разностных параметров квантования, который генерирует разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
блок кодирования, который кодирует разностный параметр квантования второго блока и информацию размера блока для вывода предсказанного параметра квантования, при этом
блок вывода предсказанных параметров квантования задает параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задает параметр квантования пятого блока, кодированного перед вторым блоком в порядке кодирования, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задает параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задает параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок,_выходит за границу первого блока, и выводит предсказанный параметр квантования второго блока для каждого размера на основе информации размера блока, используя первый и второй параметры квантования.
Способ кодирования движущихся изображений, в котором кодируются движущиеся изображения в единицах блока разделением первого блока, получаемого разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом способ включает в себя:
этап вычисления параметров квантования, на котором вычисляется параметр квантования второго блоки;
этап вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этап генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этап кодирования, на котором кодируются разностный параметр квантования второго блока и информация размера блока для вывода предсказанного параметра квантования, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком в порядке кодирования, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границу первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока для каждого размера на основе информации размера блока, используя первый и второй параметры квантования.
Считываемый компьютером носитель записи с программой кодирования движущихся изображений для кодирования движущихся изображений в единицах блока разделением первого блока, который получается разделением каждого кадра движущихся изображений, на один или несколько вторых блоков с заранее заданным размером, при этом программа обеспечивает исполнение компьютером:
этапа вычисления параметров квантования, на котором вычисляется параметр квантования второго блока;
этапа вывода предсказанных параметров квантования, на котором выводится предсказанный параметр квантования второго блока, используя параметры квантования третьего блока, примыкающего ко второму блоку слева, и четвертого блока, примыкающего ко второму блоку сверху;
этапа генерации разностных параметров квантования, на котором генерируется разностный параметр квантования второго блока из разности между параметром квантования второго блока и предсказанным параметром квантования второго блока; и
этапа кодирования, на котором кодируются разностный параметр квантования второго блока и информация размера блока для вывода предсказанного параметра квантования, при этом
на этапе вывода предсказанных параметров квантования задается параметр квантования третьего блока в качестве первого параметра квантования, когда положение, в котором находится третий блок, не выходит за границу первого блока, задается параметр квантования пятого блока, кодированного перед вторым блоком в порядке кодирования, в качестве первого параметра квантования, когда положение, в котором находится третий блок, выходит за границ первого блока, задается параметр квантования четвертого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, не выходит за границу первого блока, задается параметр квантования пятого блока в качестве второго параметра квантования, когда положение, в котором находится четвертый блок, выходит за границу первого блока, и выводится предсказанный параметр квантования второго блока для каждого размера на основе информации размера блока, используя первый и второй параметры квантования.
ОПИСАНИЕ ССЫЛОЧНЫХ ЦИФР
100 - устройство кодирования движущихся изображений; 101 - память изображений, 102 - блок генерации остаточных сигналов; 103 - блок ортогонального преобразования и квантования; 104 - блок генерации второго битового потока; 105 - блок деквантования и обратного ортогонального преобразования; 106 - блок суперпозиции сигналов декодированных изображений; 107 - память декодированных изображений; 109 - блок вычисления активности; 110 - блок вычисления параметров квантования; 111 - блок генерации разностных параметров квантования; 112 - блок генерации первого битового потока; 113 - память информации кодирования; 114 - блок вывода предсказанных параметров квантования; 115 - блок мультиплексирования битовых потоков; 200 - устройство декодирования движущихся изображений; 201 - блок разделения битовых потоков; 202 - блок декодирования первого битового потока; 203 - блок генерации параметров квантования; 204 - память информации кодирования; 205 - блок вывода предсказанных параметров квантования; 206 - блок декодирования второго битового потока; 207 - блок деквантования и обратного ортогонального преобразования; 208 - блок суперпозиции сигналов декодированных изображений; 209 - блок генерации предсказанных изображений; 210 - память декодированных изображений
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение может быть применено в технологии кодирования движущихся изображений, используя кодирование предсказанных параметров квантования.