Устройство обработки изображения, способ обработки изображения и программа

Иллюстрации

Показать все

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

Реферат

УРОВЕНЬ ТЕХНИКИ

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

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

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

В последние годы устройство кодирования или устройство декодирования, которое основано на MPEG (Группа экспертов движущегося изображения) или тому подобном, получило широкое использование при распространении информации в станциях широковещательной передачи или тому подобном и приеме информации в обычном доме. Устройство кодирования или устройство декодирования обрабатывает информацию изображения как цифровой сигнал и в контексте эффективной передачи и накоплении информации при этом сжимает информацию изображения, используя ортогональное преобразование, такое как дискретное косинусное преобразование, и компенсацию движения, используя избыточность, присущую информации изображения.

Таким образом, широкое распространение получило устройство кодирования, которое кодирует информацию изображения путем кодирования, используя, например, MPEG, Н.26х или тому подобное, применяя ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Кархунена-Лоэва, и компенсацию движения. Кроме того, широкое распространение получило устройство декодирования, которое используется для приема кодированных данных (потока битов), полученных устройством кодирования через сетевую среду, такую как спутниковая широковещательная передача, кабельное телевидение или Интернет, или используется для воспроизведения кодированных данных, записанных на носитель записи, такой как оптический диск, магнитный диск или запоминающее устройство типа «флэш».

Например, MPEG2 (ISO/IEC 13818-2) определено как кодирование изображения общего использования и часто применяется в настоящее время в широком диапазоне в профессиональных и бытовых областях применения как стандарт, используемый как для изображений с чересстрочной разверткой (чересстрочные изображения), так и для изображений с последовательной разверткой (прогрессивные изображения), а также для изображений со стандартным разрешением и изображений высокой четкости. При использовании сжатия MPEG2 количество кодов (скорость передачи битов) 4-8 Мбит/с присваивают чересстрочным изображениям со стандартным разрешением, например, имеющим размер 720 пикселей по горизонтали ×480 пикселей по вертикали, и количество кодов от 18-22 Мбит/с присваивают изображениям с чересстрочной разверткой, с высоким разрешением, имеющим размер 1920×1088 пикселей, при этом могут быть реализованы высокая степень сжатия и удовлетворительное качество изображения.

MPEG2 в основном используют при высококачественном кодировании, которое пригодно для широковещательной передачи, но такое кодирование не способно обеспечить кодирование с количеством кодов (скоростью передачи битов) меньшим, чем у MPEG1, то есть, со степенью сжатия более высокой, чем у MPEG1. По мере распространения мобильных телефонов в будущем возникнет большая потребность в таком кодировании, и, соответственно, была создана стандартизация кодирования MPEG4. Что касается кодирования изображения, в декабре 1998 г. эта спецификация была принята в качестве международного стандарта ISO/IEC 14496-2.

В последние годы в контексте кодирования изображения для видеоконференции был принят стандарт H.26L (ITU-T Q6/16 VCEG). Известно, что при использовании Н.264 количество арифметических операций для кодирования и декодирования увеличивается по сравнению с известным кодированием, таким как MPEG2 или MPEG4, но реализуется более высокая эффективность кодирования.

Как часть действий по разработке MPEG4 в марте 2003 г. был принят стандарт, в котором H.26L используется как основа и в который была внедрена функция, которая не поддерживается H.26L и которая позволяет обеспечить более высокую эффективность кодирования, в виде обобщенной модели видеокодирования с улучшенной степенью сжатия, и который применяется как международный стандарт Н.264 и MPEG-4 Часть 10 (усовершенствованное видеокодирование) (ниже называется просто Н.264/AVC или AVC).

В соответствии с AVC во время компенсации движения, когда формируется прогнозируемое изображение, множество изображений могут быть обозначены как опорные изображения.

В устройстве декодирования AVC изображения после декодирования (декодированные изображения), включающие в себя изображения, используемые как опорные изображения, сохраняют в буфере, который называется DPB (буфер декодированных кадров).

В DPB изображение, которое является опорным в течение короткого срока, помечается как краткосрочный опорный кадр (используется для ссылки в течение краткого срока), изображение, которое является опорным в течение длительного срока, помечается как долгосрочный опорный кадр (используется для ссылки в течение длительного срока), и изображение, которое не является опорным, помечается как не опорный кадр (не используемое для ссылки).

Изображения (декодированные изображения), хранящиеся в DPB, сортируют в порядке изображения и выводят (считывают) в моменты времени, обозначенные заранее.

Размер DPB определяется по профилю и уровню и задается количеством битов, а не количеством изображений.

Таким образом, количество изображений, которое может быть сохранено в DPB, изменяется в зависимости от кадров изображений или тому подобного даже на одном и том же профиле и уровне.

Например, в основном профиле, уровень 4, размер MaxDPB для DPB задается выражением MaxDPB=12288,0×1024 байтов.

Таким образом, в основном профиле, уровень 4, например, когда изображение в формате YUV 4:2:0 с размером 1440 пикселей по горизонтали ×1088 пикселей по вертикали представляет собой изображение, которое должно быть кодировано (текущее изображение в процессе кодирования), DPB может сохранять максимум пять изображений.

Кроме того, в основном профиле, уровень 4, например, когда изображение в формате YUV 4:2:0 с размером 1920 пикселей по горизонтали ×1088 пикселей по вертикали представляет собой текущее изображение в процессе кодирования, DPB может сохранять максимум четыре изображения.

В устройстве кодирования AVC, учитывая размер DPB в устройстве декодирования, кодирование должно быть выполнено в порядке вывода, в котором изображения выводят из DPB, или таким образом, чтобы не возникало противоречия в изображении, которое является опорным при формировании прогнозируемого изображения.

При управлении DPB известны два типа процесса управления памятью - типа скользящего окна и процесса адаптивного управления памятью (например, Shinya Kakuno, Yoshihiro Kikuchi, and Teruhiko Suzuki, "Impress Standard Textbook Series Third Revised Edition H.264/AVC Textbook", Impress Corporation).

В процессе управления памятью типа скользящего окна DPB управляют в соответствии с подходом FIFO (первым прибыл - первым обслужен), и изображения, хранящиеся в DPB, выводят в порядке возрастания frame_num (становятся неопорными изображениями).

Таким образом, в процессе управления памятью типа скользящего окна кадр I (внутрикадровое), кадр Р (прогнозируемое) и кадр Bs, который представляет собой подлежащий ссылке кадр В (двунаправленное прогнозируемое), хранятся в DPB как краткосрочные опорные изображения.

Затем, после того как будет сохранено такое количество опорных кадров, которое может содержаться в DPB, самый ранний (самый старый) краткосрочный опорный кадр среди краткосрочных опорных кадров, хранящихся в DPB, выводится.

Когда долгосрочные опорные изображения хранятся в DPB, процесс управления памятью типа скользящего окна не влияет на долгосрочные опорные изображения, хранящиеся в DPB. Таким образом, в процессе управления памятью типа скользящего окна только краткосрочными опорными изображения среди опорных кадров управляют с использованием подхода FIFO.

В процессе адаптивного управления памятью изображениями, сохраненными в DPB, управляют, используя команду, которая называется ММСО (операция административного управления памятью).

В соответствии с командой ММСО для опорных кадров, хранящихся в DPB, краткосрочные опорные изображения устанавливают как неопорные изображения, или индекс долгосрочного кадра для управления долгосрочными опорными изображениями присваивают каждый из краткосрочных опорных кадров. Таким образом, краткосрочные опорные изображения могут быть установлены как долгосрочные опорные изображения, при этом может быть установлено максимальное значение индекса долгосрочного кадра, или все опорные изображения могут быть установлены как неопорные изображения.

В случае AVC, компенсацию движения опорных кадров, хранящихся в DPB, выполняют таким образом, что выполняют межкадровое прогнозирование для формирования прогнозируемого изображения. Межкадровое прогнозирование кадра В (включая кадр Bs) может использовать максимальный из двух опорных кадров. Межкадровое прогнозирование с использованием этих двух опорных кадров соответственно называется прогнозированием L0 (список 0) и прогнозированием L1 (список 1).

Для кадра В (включая кадр Bs) при межкадровом прогнозировании используется либо прогнозирование L0, либо прогнозирование L1, или как прогнозирование L0, так и прогнозирование L1 одновременно. Для кадра Р в качестве межкадрового прогнозирования используется только прогнозирование L0.

При межкадровом прогнозировании опорными изображениями, на которые опираются при формировании прогнозируемого изображения, управляют на основе списка опорных кадров.

В списке опорных кадров номер опорного кадра (индекс ссылки) для обозначения опорного кадра, к которому обращаются при формировании прогнозируемого изображения, присваивают каждому из опорных кадров, хранящихся в DPB.

Когда текущее изображение в процесс декодирования, которое представляет собой изображение, которое должно быть декодировано (и текущее изображение в процессе кодирования), представляет собой кадр Р, как описано выше, поскольку используется только прогнозирование L0 в качестве межкадрового прогнозирования для кадра Р, присвоение номера опорного кадра выполняют только для прогнозирования L0.

Когда текущее изображение в процессе декодирования представляет собой кадр В (включая в себя кадр Bs), как описано выше, поскольку используются как прогнозирование L0, так и прогнозирование L1 в качестве межкадрового прогнозирования для кадра В, присвоение номера опорного кадра выполняют как для прогнозирования L0, так и для прогнозирования L1.

Номер опорного кадра для прогнозирования L0 также называется индексом L0, а номер опорного кадра для прогнозирования L1 также называется индексом L1.

Когда текущее изображение в процессе декодирования представляет собой кадр Р, при принятом по умолчанию AVC (заранее установленное значение), для опорных кадров, хранящихся в DPB, меньший номер опорного кадра (индекс L0) присваивают более позднему опорному изображению в порядке декодирования.

Номер опорного кадра представляет собой целое число, равное или большее 0, и минимальное его значение равно 0. Таким образом, когда текущее изображение в процессе декодирования представляет собой кадр Р, для индекса L0 0 присваивают опорному кадру, который декодируют непосредственно перед текущим изображением в процессе декодирования.

Когда текущее изображение в процессе декодирования представляет собой кадр В (включая кадр Bs), при принятом по умолчанию AVC, для опорных кадров, хранящихся в DPB, номер опорного кадра (индекс L0 и индекс L1) присваивают в порядке РОС (подсчет порядка изображения), то есть в порядке изображения.

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

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

Присвоение номера опорного кадра (индекс L0 и индекс L1) при принятом по умолчанию AVC выполняют для каждого из краткосрочных опорных кадров. Присвоение номера опорного кадра для долгосрочного опорного кадра выполняют после назначения номера опорного кадра для краткосрочного опорного кадра.

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

В случае AVC присвоение номера опорного кадра может быть выполнено произвольно, используя команду, называемую изменением порядка в списке опорных кадров (ниже также называется командой RPLR), в дополнение к описанному выше принятому по умолчанию способу.

После того как присвоение номера опорного кадра будет выполнено, используя команду PvPLR, когда существует опорный кадр, которому не присвоен номер опорного кадра, номер опорного кадра присваивают опорному кадру, используя принятый по умолчанию способ.

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

В последние годы были созданы стереоскопические изображения, которые можно просматривать стереоскопически, в дополнение к двумерным изображениям.

Для изображения стереоскопических изображений применяют специальное устройство (ниже называемое стереоскопическим устройством). В таком стереоскопическом устройстве, например, используется система стереоскопического кадра IP (интегральная фотография), которая была разработана NHK (Japan Broadcasting Corporation).

Данные изображения для стереоскопических изображений составлены из данных изображения, снятых с множества точек съемки (данные изображения для изображений, снятых с множества точек). Таким образом, может быть реализовано так называемое "многообзорное телевидение", в котором, поскольку используется большое количество точек обзора и точки обзора расположены в широком диапазоне, объект можно просматривать из разных направлений.

Что касается стереоскопических изображений, стереоскопическое изображение, имеющее наименьшее количество точек обзора, представляет собой 3D (трехмерное) изображение (стереоизображение), снятое из двух точек. Данные изображения 3D изображения включают в себя данные изображения для левого глаза (ниже также называется изображением L (левое)), которое представляет собой изображение, наблюдаемое левым глазом, и данные изображения для правого глаза (ниже также называется изображением R (правое)), которое представляет собой изображение, наблюдаемое правым глазом.

Поток стереоскопических изображений, включающих в себя 3D изображение, составлен из потока множества изображений, когда один и тот же объект просматривают с множества разных точек обзора, то есть, поток изображений, полученных с множества точек обзора, отличающихся друг от друга. В качестве технологии кодирования и декодирования потока стереоскопических изображений, составляющих поток изображений, снятых с множества точек обзора, известно MVC (кодирование видеоданных для множества точек обзора), но устройство декодирования MVC не нашло широкого использования.

В настоящее время широкое применение нашло устройство декодирования AVC, с помощью которого декодируют содержание двумерных изображений. Существует все больший спрос на устройство декодирования AVC, позволяющее декодировать содержимое 3D изображений, количество которых будет увеличиваться в будущем.

Следовательно, рассматривается способ, в котором изображения из изображения L и изображения R, составляющие 3D изображение, располагают поочередно для кодирования двух потоков - потока изображения L и потока изображения R, в виде одного потока, называемого последовательностью кадров, используя AVC.

В этом случае, кодированные данные, которые получают путем кодирования последовательности кадров с помощью AVC, могут быть декодированы с помощью устройства декодирования AVC, получившего широкое использование.

В то же время, как описано выше, поскольку размер DPB устройства декодирования AVC определен по профилю и уровню, ограниченное количество кадров может быть сохранено в DPB.

В последовательности кадров, поскольку кадры изображения L и изображения R расположены поочередно, кадр непосредственно перед текущим кадром, находящимся в процессе декодирования (текущий кадр, находящийся в процессе кодирования), представляет собой кадр, снятый с точки обзора, отличающейся от текущего кадра, находящегося в процессе декодирования, в порядке РОС.

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

Таким образом, в случае межкадрового прогнозирования желательно, чтобы кадр, который снят с той же точки обзора, что и текущий кадр, в процессе декодирования, и расположен ближе всего к текущему кадру, находящемуся в процессе декодирования, в порядке РОС, можно было использовать в качестве опорного кадра.

Однако среди кадров, которые могут использоваться как опорные кадры, кадр, который снят с той же точки съемки, что и текущий кадр, находящийся в процессе декодирования, и который расположен ближе всего к текущему кадру, находящемуся в процессе декодирования, в порядке РОС, представляет собой кадр, следующий на два изображения вперед (или назад) от текущего кадра, находящегося в процессе декодирования, в порядке РОС, даже если кадр не является самым дальним от текущего кадра, находящегося в процессе декодирования.

По этой причине в случае процесса управления памятью типа скользящего окна, когда DPB с ограниченным количеством сохраняемых кадров управляют, используя подход FIFO, среди кадров, которые могут представлять собой опорные кадры, кадр, который был снят с той же точки съемки, что и текущий кадр, находящийся в процессе декодирования, и является ближайшим к текущему кадру, находящемуся в процессе декодирования, в порядке РОС, может быть уже выведен из DPB таким, что этот кадр невозможно сделать опорным при формировании прогнозируемого изображения текущего кадра, находящегося в процессе декодирования. В этом случае, эффективность кодирования может быть ухудшена.

Таким образом, желательно улучшить эффективность кодирования.

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

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

В соответствии с описанными выше вариантами выполнения, декодированное изображение, получаемое путем кодирования кадров, составляющих последовательность кадров, в которой расположены поочередно кадры, относящиеся к первому и второму изображениям, имеющим несоответствие и составляющим 3D (трехмерное) изображение, и путем выполнения локального декодирования, сохраняют в средстве хранения данных в качестве опорного кадра для формирования прогнозируемого изображения, предназначенного для использования при выполняемом позже по времени предиктивном кодировании. Управление сохранением для управления сохранением опорного кадра в средстве хранения данных выполняют так, чтобы из кадров, кодированных по времени раньше, чем текущий кадр, находящийся в процессе кодирования, который является кадром, подлежащим кодированию, и потенциально являющихся опорными кадрами, в средстве хранения данных, сохранялся кадр, относящийся к тому изображению из первого изображения и второго изображения, которое получено с той же точки наблюдения, что и текущий кадр, находящийся в процессе кодирования и расположенный в порядке изображения ближе всего к текущему кадру, находящемуся в процессе кодирования.

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

Программа может быть передана через среду передачи или может быть записана на носителе записи и предоставлена.

В соответствии с вариантами выполнения изобретения, возможно улучшить эффективность кодирования.

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

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

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

На фиг.3 показана схема, иллюстрирующая последовательность кадров.

На фиг.4 показана схема, представляющая пример структуры GOP.

На фиг.5 показана схема, представляющая пример взаимосвязи опорных кадров.

На фиг.6 показана схема, иллюстрирующая состояние DPB, когда последовательность кадров кодируют/декодируют, используя AVC.

На фиг.7 показана схема, иллюстрирующая случай, когда эффективность кодирования ухудшается, когда DPB управляют, используя только процесс управления памятью типа скользящего окна.

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

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

На фиг.10 показана схема, иллюстрирующая первое управление сохранением.

На фиг.11 показана схема, иллюстрирующая состояние DPB, когда вырабатывают команду ММСО, а последовательность кадров кодируют/декодируют, используя AVC.

На фиг.12 показана схема, иллюстрирующая выработку команды RPLR, которую выполняют вместе с выработкой команды ММСО, в качестве первого управления сохранением.

На фиг.13 показана схема, иллюстрирующая состояние DPB, когда вырабатывают команду ММСО и команду RPLR, и последовательность кадров кодируют/декодируют, используя AVC.

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

На фиг.15 показана схема, представляющая состояние запоминающего устройства 49 кадра, соответствующего DPB, когда обработку выполняют для декодирования кодированных данных.

На фиг.16 показана схема, иллюстрирующая второе управление сохранением.

На фиг.17 показана схема, иллюстрирующая состояние DPB, когда вырабатывают команду ММСО, и последовательность кадров кодируют/декодируют, используя AVC.

На фиг.18 показана схема, иллюстрирующая выработку команды RPLR, которую выполняют вместе с выработкой команды ММСО, в качестве второго управления сохранением.

На фиг.19 показана схема, иллюстрирующая состояние DPB, когда вырабатывают команду ММСО и команду RPLR, и последовательность кадров кодируют/декодируют, используя AVC.

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Ниже будет описан случай, в котором вариант выполнения изобретения применяют для AVC после пояснения AVC в качестве предварительного этапа.

Устройство кодирования AVC

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

Как показано на фиг.1, устройство кодирования включает в себя модуль 11 A/D (аналогово-цифрового) преобразования, буфер 12 сортировки экрана, арифметический модуль 13, модуль 14 ортогонального преобразования, модуль 15 квантования, инвертируемый модуль 16 кодирования, буфер 17 накопления, модуль 18 обратного квантования, модуль 19 обратного ортогонального преобразования, арифметический модуль 20, фильтр 21 устранения блоков в изображении, запоминающее устройство 22 кадра, переключатель 23, модуль 24 прогнозирования внутри кадра, модуль 25 детектирования/компенсации движения, модуль 26 выбора прогнозируемого изображения и модуль 27 управления скоростью.

Целевое изображение кодирования (движущееся изображение) подают последовательно в модуль 11 A/D преобразования в порядке изображения.

Когда подаваемое изображение представляет собой аналоговый сигнал, модуль 11 A/D преобразования выполняет A/D преобразование аналогового сигнала и подает цифровой сигнал в буфер 12 сортировки экрана.

Буфер 12 сортировки экрана временно сохраняет изображения, полученные из модуля 11 A/D преобразования, и эти изображения считывают в соответствии со структурой GOP (группа изображений), определенной заранее, для сортировки изображений, которые расположены в порядке изображения, в порядке кодирования (порядке декодирования).

Изображения, считываемые из буфера 12 сортировки экрана, подают в арифметический модуль 13, модуль 24 прогнозирования внутри кадра и модуль 25 детектирования/компенсации движения.

В арифметический модуль 13 подают изображения из буфера 12 сортировки экрана и также подают прогнозируемое изображение, сформированное модулем 24 прогнозирования внутри кадра или модулем 25 детектирования/компенсации движения из модуля 26 выбора прогнозируемого изображения.

Когда каждое изображение считывают из буфера 12 сортировки экрана как текущее изображение, находящееся в процессе кодирования, в соответствии с необходимостью, арифметический модуль 13 рассчитывает значение пикселей прогнозируемого изображения, подаваемого из модуля 26 выбора прогнозируемого изображения по значению пикселя (каждого блока) текущего изображения, находящегося в процессе кодирования, и подает это значение пикселя в модуль 14 ортогонального преобразования.

Модуль 14 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Кархунена-Лоэва, для (значения пикселя или значения после вычитания, полученного в результате вычитания прогнозируемого изображения) текущего изображения, находящегося в процессе кодирования, из арифметического модуля 13, и подает полученный в результате коэффициент преобразования в модуль 15 квантования.

Модуль 15 квантования выполняет квантование коэффициента преобразования, подаваемого из модуля 14 ортогонального преобразования, и подает полученное в результате квантованное значение в модуль 16 инвертируемого кодирования.

Модуль 16 инвертируемого кодирования выполняет инвертированное кодирование, такое как кодирование переменной длины (например, CAVLC (контекстно-адаптивное кодирование с переменной длиной) или тому подобное) или арифметическое кодирование (например, САВАС (контекстно-адаптивное двоичное арифметическое кодирование) или тому подобное) для квантованного значения из модуля 15 квантования и подает полученные в результате кодированные данные в буфер 17 накопления.

В модуль 16 инвертируемого кодирования подают квантованные значения из модуля 15 квантования, а также подают информацию, обозначающую прогнозирование внутри кадров, которое было выполнено, из модуля 24 прогнозирования внутри кадров в блоках или макроблоках, в соответствии с необходимостью, и вектор движения и информацию, обозначающую режим межкадрового прогнозирования в блоках или макроблоках, из модуля 25 детектирования/компенсации движения, в соответствии с необходимостью.

Модуль 16 инвертируемого кодирования кодирует информацию, обозначающую прогнозирование внутри кадров, которое было выполнено, из модуля 24 прогнозирования внутри кадров, или вектор движения и информацию или тому подобное, указывающую режим межкадрового прогнозирования, полученную из модуля 25 детектирования/компенсации движения, так, что она может быть включена в заголовок или тому подобное кодированных данных.

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

Буфер 17 накопления временно сохраняет кодированные данные из модуля 16 инвертируемого кодирования и выводит кодированные данные с заданной скоростью.

Кодированные данные, выводимые из буфера 17 накопления, передают через путь передачи или записывают на носителе записи.

Квантованное значение, получаемое модулем 15 квантования, подают в модуль 16 инвертируемого кодирования и также в модуль 18 обратного квантования и подвергают локальному декодированию в модуле 18 обратного квантования, модуле 19 обратного ортогонального преобразования и в арифметическом модуле 20.

Таким образом, модуль 18 обратного квантования выполняет обратное квантование значения, получаемого из модуля 15 квантования, в коэффициент преобразования и подает этот коэффициент преобразования в модуль 19 обратного ортогонального преобразования.

Модуль 19 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициента преобразования из модуля 18 обратного квантования и подает полученные в результате данные в арифметический модуль 20.

Арифметический модуль 20 добавляет значение пикселя прогнозируемого изображения, подаваемого из модуля 26 выбора прогнозируемого изображения, к данным, подаваемым из модуля 19 обратного ортогонального преобразования, в соответствии с необходимостью, получает декодированное изображение путем декодирования части (блока) текущего изображения, находящегося в процессе кодирования, которое должно быть выполнено, в арифметическом модуле 13, в модуле 14 ортогонального преобразования и в модуле 15 квантования, и подает декодированное изображение в фильтр 21 устранения блоков в изображении.

Фильтр 21 устранения блоков в изображении фильтрует декодированное изображение из арифметического модуля 20 для удаления (уменьшения) искажений в виде блоков, генерируемых в декодированном изображении, и подает полученное в результате декодированное изображение в запоминающее устройство 22 кадра.

Запоминающее устройство 22 кадра сохраняет декодированное изображение, полученное из фильтра 21 устранения блоков в изображении как (часть) опорный кадр, к которому обращаются при формировании прогнозируемого изображения, для использования при следующем по времени позже предиктивном кодировании (кодирование, при котором прогнозируемое изображение вычитают в арифметическом модуле 13).

Локальное декодирование, выполняемое модулем 18 обратного квантования, модулем 19 обратного ортогонального преобразования и арифметическим модулем 20, выполняют для кадра I, кадра Р и кадра Bs, которые представляют собой потенциально опорные изображения, способные стать опорными изображениями. В запоминающем устройстве 22 кадра сохраняют декодированные изображения для кадра I, кадра Р и кадра Bs.

Переключатель 23 выбирает модуль 24 прогнозирования внутри кадра или модуль 25 детектирования/компенсации движения. Опорный кадр, сохраненный в запоминающем устройстве 22 кадра, подают в один модуль из модуля 24 прогнозирования внутри кадра и модуля 25 детектирования/компенсации движения, выбранный переключателем 23.

Когда текущее изображение, находящееся в процессе кодирования, представляет собой кадр I, кадр Р или кадр В (включая кадр Bs), которые могут быть прогнозированы внутри кадра, модуль 24 прогнозирования внутри кадра считывает декодированное изображение, которое представляет собой опорный кадр, и часть текущего изображения, находящегося в процессе кодирования, которое уже было подвергнуто локальному декодированию, из запоминающего устройства 22 кадра через переключатель 23. Затем модуль 24 прогнозирования внутри кадра формирует прогнозируемое изображение из пикселей в непосредственной близости к участку (блоку) декодируемого изображения, которое должно быть обработано арифметическим модулем 13, и подает это прогнозируемое изображение в модуль 26 выбора прогнозируемого изображения.

Модуль 24 прогнозирования внутри кадра рассчитывает ошибку прогнозирования прогнозируемого изображения, формируемого из декодируемого изображения относительно текущего изображения, находящегося в процессе кодирования, из буфера 12 сортировки экрана, и подает ошибку прогнозирования в модуль 26 выбора прогнозируемого изображения вместе с прогнозируемым изображением.

Когда текущее изображение, находящееся в процессе кодирования, представляет собой кадр Р или кадр В (включая кадр Bs), которое может быть спрогнозировано между кадрами, модуль 25 детектирования/компенсации движения считывает из запоминающего устройства 22 кадра через переключатель 23 изображение, которое представляет собой опорный кадр и которое было кодировано раньше, чем текущее изображение, находящееся в процессе кодирования, и подвергает его локальному декодированию.

Модуль 25 детектирования/компенсации движения детектирует вектор движения между текущим изображением, находящимся в процессе кодирования, и опорным