УСТРОЙСТВО КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, СПОСОБ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, ПРОГРАММА КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ, СПОСОБ ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ И ПРОГРАММА ДЕКОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ С ПРЕДСКАЗАНИЕМ
MOVING IMAGE PREDICTIVE ENCODING DEVICE, MOVING IMAGE PREDICTIVE ENCODING METHOD, MOVING IMAGE PREDICTIVE CODING PROGRAM, MOVING IMAGE PREDICTIVE DECODING DEVICE, MOVING IMAGE PREDICTIVE DECODING METHOD AND MOVING IMAGE PREDICTIVE DECODING PROGRAM

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству, способу и программе кодирования видео с предсказанием и устройству, способу и программе декодирования видео с предсказанием.
Уровень техники
Технологии кодирования со сжатием используются для эффективной передачи и хранения видеоданных. Системы MPEG1-MPEG4 (Экспертной группы по кинематографии) и H.261-H.264 широко используются для видео.
В этих системах кодирования изображение, как целевой объект кодирования, делится на множество блоков, и каждый блок подвергается процессу кодирования/декодирования. Способы кодирования с предсказанием, как описано ниже, используются для повышения эффективности кодирования. При кодировании с внутрикадровом предсказанием кодируется предсказанный сигнал. Предсказанный сигнал генерируется с использованием сигнала соседнего ранее воспроизведенного изображения (сигнала восстановленного изображения из ранее кодированных данных изображения) в этом же кадре, что и целевой блок, и разностного сигнала, полученного посредством вычитания предсказанного сигнала из сигнала целевого блока. При кодировании с межкадровым предсказанием выполняется поиск сигнала смещения со ссылкой на ранее воспроизведенный сигнал изображения в кадре, отличном от целевого блока. Предсказанный сигнал генерируется с компенсацией для сигнала смещения, идентифицированного при поиске, и кодируется разностный сигнал, полученный посредством вычитания предсказанного сигнала из сигнала целевого блока. Ранее воспроизведенный сигнал изображения, используемый в качестве опорного для поиска и компенсации движения, называется опорным изображением.
При двунаправленном межкадровом предсказании ссылка может делаться не только на прошлые изображения, которые должны отображаться перед целевым изображением в порядке времени отображения, но также на будущие изображения, подлежащие отображению после целевого изображения (при условии, что будущие изображения должны кодироваться перед целевым изображением и предварительно воспроизводятся). Затем усредняется предсказанный сигнал, полученный из прошлого изображения, и предсказанный сигнал, полученный из будущего изображения, что обеспечивает эффекты обеспечения эффективного предсказания для сигнала вновь появляющегося объекта и уменьшения шума, включенного в два предсказанных сигнала.
Кроме того, при кодировании с межкадровым предсказанием H.264 предсказанный сигнал для целевого блока создается со ссылкой на множество опорных изображений, ранее кодированных и воспроизведенных, и сигнал изображения с наименьшей ошибкой выбирается в качестве оптимального предсказанного сигнала посредством поиска движения. Затем вычисляется разность между пиксельным сигналом целевого блока и этим оптимальным предсказываемым сигналом, и разность подвергается дискретному косинусному преобразованию, квантованию и энтропийному кодированию. Одновременно часть информации опорного изображения, из которого получен оптимальный предсказанный сигнал для целевого блока (опорный индекс), и часть информации области в опорном изображении, из которого получен оптимальный предсказанный сигнал (вектор движения), также кодируются вместе. В H.264 четыре или пять воспроизводимых изображений сохраняются в качестве опорных изображений в памяти кадров. В настоящем описании изобретения предполагается, что память кадров включает в себя так называемый буфер воспроизводимого изображения (буфер декодируемого изображения).
Кодирование с межкадровым предсказанием позволяет получить эффективное кодирование со сжатием посредством использования корреляции между изображениями, но устраняется зависимость между кадрами, чтобы предоставить возможность просмотра из середины видеопрограммы, как например, может произойти, когда зритель переключает телевизионные (ТВ) каналы. Точка без зависимости между кадрами в сжатом битовом потоке видеопоследовательности упоминается в данном документе как «точка произвольного доступа». Кроме переключения ТВ-каналов точки произвольного доступа также необходимы в случаях редактирования видеопоследовательности и соединении сжатых данных разных видеопоследовательностей. В H.264 назначаются изображения IDR, т.е. назначенные изображения мгновенного обновления декодирования (IDR), которые кодируются посредством вышеупомянутого способа кодирования с внутрикадровым предсказанием, и в тоже время, воспроизводимые изображения, хранимые в памяти кадров, устанавливаются как ненужные, так что воспроизводимые изображения не используются для опорных изображений, таким образом, в значительной степени освобождается память кадров (или обновляется память кадров). Этот процесс называется «обновление памяти», и также называется «обновление памяти кадров» или «обновление буфера», в некоторых случаях.
Фиг. 11(А) представляет собой схематическое представление, изображающее структуру предсказания видео с движением, включающего в себя изображение IDR. Множество изображений 901, 902, … 909, показанных на фиг. 11(А), представляет собой часть последовательности изображений, составляющих видеопоследовательность. Каждое изображение также может называться «видеокадром» или «кадром». Каждая стрелка указывает направление предсказания. Например, для изображения 902 предсказанный сигнал получается с использованием изображений 903, 905 в качестве опорных изображений, как указано начальными точками двух стрелок, направленных на изображение 902. Предполагается, что изображение 901 на фиг. 11(А) кодируется со ссылкой на последние изображения, не показанные на фиг. 11(А). Затем изображения 902, 903 и 904 кодируются с использованием вышеупомянутого способа кодирования с двунаправленным предсказанием, чтобы повысить степень сжатия. Конкретно, изображение 905 сначала кодируется и воспроизводится, и затем изображение 903 кодируется со ссылкой на ранее воспроизведенные изображения 901 и 905 (стрелка от изображения 901 опускается на фиг. 11(А)). После этого, каждое из изображений 902 и 904 кодируется с использованием трех воспроизведенных изображений 901, 905 и 903 в качестве опорных изображений (стрелка от изображения 901 опускается на фиг. 11(А)). Аналогично, изображения 906, 907 и 908 кодируются со ссылкой на изображения 905 и 909. Сжатые данные изображений, которые кодируются (или сжимаются) таким образом, передаются или сохраняются в порядке, как описано на фиг. 11(В). Соответствие или зависимость между сжатыми данными на фиг. 11(В) и изображениями на фиг. 11(А) указано общими идентификаторами, такими как P1, IDR5 и B3. Например, сжатые данные 910 представляют собой сжатые данные изображений 901, обозначенные этим же идентификатором «Р1», и сжатые данные 911 представляют собой сжатые данные изображений 905, обозначенные этим же идентификатором «IDR5».
Теперь, принимая во внимание произвольный доступ, рассматривается случай, когда выполняется кодирование с внутрикадровым предсказанием, в то же время, назначая изображение 905 в качестве изображения IDR. В данном случае, в соответствии с правилом IDR в H.264 непосредственно после воспроизведения изображения 905 посредством декодирования сжатых данных 911 (или, возможно, непосредственно перед началом декодирования сжатых данных 911), все опорные изображения, хранимые в памяти кадров (т.е. прошлые воспроизведенные изображения, включая изображение 901), устанавливаются как ненужные, так что они не используются в качестве опорных изображений. В результате, изображению 901 на фиг. 11(А) запрещается быть опорным изображением, и оно становится недоступным для ссылки при кодировании изображений 902, 903 и 904. Обработка, связанная с изображением IDR, как описано выше, например, описывается в непатентной литературе 1 ниже.
Список ссылок
Патентная литература
Патентная литература 1: Международная публикация WO 2005/006763 A1
Непатентная литература
Непатентная литература 1: Iain E.G. Richardson, «H.264 and MREG-4 Video Compression», John Wiley & Sons, 2003, section 6.4.2.
Раскрытие изобретения
Техническая проблема
Так как введение изображений IDR приводит к исключению опорных изображений, доступных для использования в вышеприведенном предсказании, не является осуществимым эффективное кодирование изображений перед изображением IDR в порядке отображения изображений (изображения 902, 903 и 904 в примере на фиг. 11(А)). Чтобы решить эту проблему, в патентной литературе 1 описывается способ задержки момента времени обновления памяти кадров (т.е. момента времени установления опорных изображений в памяти кадров в качестве ненужных) до тех пор, пока не произойдет выполнение кодирования изображения, подлежащего кодированию после изображения IDR. Если задерживается момент времени обновления памяти кадров, изображение 901 остается в памяти кадров в момент выполнения кодирования изображений 902, 903 и 904 на фиг. 11(А), и, поэтому, доступна ссылка на изображение 901 при кодировании изображений 902, 903 и 904, чтобы сделать возможным его эффективное кодирование.
В патентной литературе 1 описываются способы, описанные ниже, в качестве способов задержки момента времени обновления памяти.
Способ 1: добавить информацию о количестве изображений, подлежащих задержке, к каждому изображению IDR.
Способ 2: добавить к сжатым данным каждого изображения сигнал, который инструктирует выполнение обновления памяти (флаг), причем сигнал соответствует моменту времени выполнения обновления памяти.
Способ 3: определить P-изображение (однонаправленно предсказанное изображение), появляющийся первым после каждого изображения IDR, в качестве момента времени обновления.
Однако вышеописанные способы имеют следующие недостатки.
Недостаток 1: вышеописанный способ 1 имеет такое неудобство, что при редактировании видеопоследовательности, отбрасываются некоторые изображения из множества изображений, и другие изображения присоединяются или вставляются, чтобы сделать неуместной «информацию о количестве изображений, подлежащих задержке», которая добавляется к каждому изображению IDR, вызывая неправильное функционирование.
Недостаток 2: вышеописанный способ 2 имеет такое неудобство, что аналогично случаю использования флага, если сжатые данные соответствующего изображения удаляются посредством редактирования видеопоследовательности, теряется флаг, добавленный к удаленным сжатым данным, вызывая неправильное функционирование.
Недостаток 3: вышеописанный способ 3 имеет такое неудобство, что, так как знак (триггер) обновления памяти ограничивается P-изображениями, становится недоступным кодирование другими способами. Например, изображение в момент смены сцены не может кодироваться посредством внутрикадрового предсказания (I-изображение).
«Неправильное функционирование», как описывается в данном документе, означает, что сбой при выполнении обновления памяти при соответствующем моменте времени вызывает состояние, в котором нет опорного изображения, необходимого для декодирования последующих данных в памяти кадров и, следовательно, последующее изображение не может быть правильно воспроизведено.
Задачей настоящего изобретения является решение вышеупомянутой проблемы для достижения эффективного кодирования со сжатием изображений перед и после изображения в точке произвольного доступа и, одновременно, устранения неудобств, связанных с недостатками обычной технологии.
Решение проблемы
Чтобы выполнить вышеупомянутую задачу, устройство кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения представляет собой устройство кодирования видео с предсказанием, содержащее: средство ввода, которое принимает ввод множества изображений, составляющих видеопоследовательность; средство кодирования, которое кодирует каждое введенное изображение посредством способа внутрикадрового предсказания или межкадрового предсказания для генерирования сжатых данных изображений, включающих в себя изображение произвольного доступа, служащее в качестве изображения для произвольного доступа, и которое кодирует данные об информации о порядке отображения каждого изображения; средство восстановления, которое декодирует сгенерированные таким образом сжатые данные изображений для восстановления воспроизводимого изображения; средство хранения изображений, которое сохраняет восстановленное таким образом воспроизводимое изображение, в качестве опорного изображения, подлежащего использованию для кодирования последующего изображения; и средство управления памятью, которое управляет средством хранения изображений, в котором после завершения процесса кодирования для генерирования изображения произвольного доступа средство управления памятью обновляет средство хранения изображений посредством установления каждого опорного изображения, хранимого в средстве хранения изображений, за исключением изображения произвольного доступа, в качестве ненужного непосредственно перед или непосредственно после первого кодирования изображения с большей информацией о порядке отображения, чем информация о порядке отображения изображения произвольного доступа.
При кодировании информации о порядке отображения по меньшей мере одного целевого объекта кодирования, который включает в себя изображение, которое имеет информацию о порядке отображения, большую, чем информация о порядке отображения изображения произвольного доступа, и становится первым целевым объектом кодирования после завершения процесса кодирования для генерирования изображения произвольного доступа, средство кодирования может кодировать разностное значение между информацией о порядке отображения по меньшей мере одного целевого объекта кодирования и информацией о порядке отображения изображения произвольного доступа.
При кодировании информации о порядке отображения каждого изображения в последовательности от изображения, которое становится следующим целевым объектом кодирования после изображения произвольного доступа, до изображения, имеющего большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа, и которое становится первым целевым объектом кодирования после завершения процесса кодирования для генерирования изображения произвольного доступа, средство кодирования может кодировать разностное значение между информацией о порядке отображения каждого изображения и информацией о порядке отображения изображения произвольного доступа.
Устройство декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения представляет собой устройство декодирования видео с предсказанием, содержащее: средство ввода, которое принимает ввод сжатых данных изображений, включающих в себя изображение произвольного доступа, служащее в качестве изображения для произвольного доступа, которые были получены посредством кодирования каждого из множества изображений, составляющих видеопоследовательность посредством способа внутрикадрового предсказания или межкадрового предсказания, и кодированные данные порядка отображения, полученные посредством кодирования данных, обеспечивающих информацию о порядке отображения каждого из изображений; средство восстановления, которое декодирует сжатые данные изображений для восстановления воспроизводимого изображения, и которое декодирует кодированные данные порядка отображения для восстановления его информации о порядке отображения; средство хранения изображений, которое сохраняет воспроизводимое изображение, восстановленный таким образом, в качестве опорного изображения, подлежащего использованию для декодирования последующего изображения; и средство управления памятью, которое управляет средством хранения изображений, в котором после завершения процесса декодирования для декодирования изображения произвольного доступа средство управления памятью обновляет средство хранения изображений посредством установления каждого опорного изображения, хранимого в средстве хранения изображений, за исключением декодированного изображения произвольного доступа, в качестве ненужного непосредственно перед или непосредственно после первого декодирования изображения, имеющего большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа.
При декодировании информации о порядке отображения по меньшей мере одного целевого изображения декодирования, который имеет большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа, и которое становится первым целевым объектом декодирования после завершения процесса декодирования для декодирования изображения произвольного доступа, средство восстановления может восстанавливать информацию о порядке отображения целевого изображения декодирования посредством добавления разностного значения к информации о порядке отображения изображения произвольного доступа. Разностное значение может представлять разность между информацией о порядке отображения целевого изображения декодирования и информацией о порядке отображения изображения произвольного доступа. Информация о порядке отображения целевого изображения декодирования может быть получена посредством декодирования кодированных данных порядка отображения целевого изображения декодирования.
При декодировании информации о порядке отображения каждого изображения в последовательности от изображения, которое становится следующим целевым объектом декодирования после изображения произвольного доступа, до изображения, имеющего большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа, и которое становится первым целевым объектом декодирования после завершения процесса декодирования для генерирования изображения произвольного доступа, средство восстановления может восстанавливать информацию о порядке отображения каждого изображения посредством добавления разностного значения к информации о порядке отображения изображения произвольного доступа. Разностное значение может представлять разность между информацией о порядке отображения каждого изображения и информацией о порядке отображения изображения произвольного доступа. Информация о порядке отображения каждого изображения может быть получена посредством декодирования кодированных данных порядка отображения каждого изображения.
Способ кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения представляет собой способ кодирования видео с предсказанием, подлежащий выполнению устройством кодирования видео с предсказанием со средством хранения изображений для сохранения опорного изображения, подлежащего использованию для кодирования последующего изображения, содержащий: этап ввода принятия ввода множества изображений, составляющих видеопоследовательность; этап кодирования для кодирования каждого из введенных изображений посредством способа внутрикадрового предсказания или межкадрового предсказания для генерирования сжатых данных изображений, включающих в себя изображение произвольного доступа, служащее в качестве изображения для произвольного доступа, и кодирования данных об информации о порядке отображения каждого из изображений; этап восстановления для декодирования сгенерированных таким образом сжатых данных изображений для восстановления воспроизводимого изображения; этап сохранения изображений для сохранения восстановленного таким образом воспроизводимого изображения в качестве опорного изображения, подлежащего использованию для кодирования последующего изображения; и этап управления памятью для управления средством хранения изображений, в котором после завершения процесса кодирования для генерирования изображения произвольного доступа на этапе управления памятью устройство кодирования видео с предсказанием обновляет средство хранения изображений посредством установления каждого опорного изображения, хранимого в средстве хранения изображений, за исключением изображения произвольного доступа, в качестве ненужного непосредственно перед или непосредственно после кодирования изображения, имеющего большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа.
На этапе кодирования устройство кодирования видео с предсказанием может кодировать разностное значение. Разностное значение может кодироваться в качестве данных, обеспечивающих информацию о порядке отображения по меньшей мере одного целевого изображения кодирования. По меньшей мере одно целевое изображение кодирования может иметь большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа и может стать первым целевым изображением кодирования после завершения процесса кодирования для генерирования изображения произвольного доступа. Разностное значение может представлять разность между информацией о порядке отображения целевого изображения кодирования и информацией о порядке отображения изображения произвольного доступа.
На этапе кодирования, когда каждое изображение кодирования в последовательности от изображения, которое становится следующим целевым объектом кодирования после изображения произвольного доступа, до изображения, которое имеет большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа, и становится первым целевым объектом кодирования после завершения процесса кодирования для генерирования изображения произвольного доступа, устройство кодирования видео с предсказанием может кодировать разностное значение. Разностное значение может кодироваться в качестве данных, обеспечивающих информацию о порядке отображения каждого изображения. Разностное значение может представлять разность между информацией о порядке отображения каждого изображения и информацией о порядке отображения изображения произвольного доступа.
Способ декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения представляет собой способ декодирования видео с предсказанием, подлежащий выполнению устройством декодирования видео с предсказанием со средством хранения изображений для сохранения опорного изображения, подлежащего использованию для декодирования последующего изображения, содержащее: этап ввода принятия ввода сжатых данных изображений, включающих в себя изображение произвольного доступа, служащее в качестве изображения для произвольного доступа, которое было получено посредством кодирования каждого из множества изображений, составляющих видеопоследовательность, посредством способа внутрикадрового предсказания или межкадрового предсказания, и кодированных данных порядка отображения, полученных посредством кодирования данных об информации о порядке отображения каждого из изображений; этап восстановления для декодирования сжатых данных изображений для восстановления воспроизводимого изображения и декодирования кодированных данных порядка отображения для восстановления их информации о порядке отображения; этап сохранения изображений для сохранения восстановленного таким образом воспроизводимого изображения в качестве опорного изображения, подлежащего использованию для декодирования последующего изображения, в средстве хранения изображений; и этап управления памятью для управления средством хранения изображений, в котором после завершения процесса декодирования для декодирования изображения произвольного доступа, на этапе управления памятью, устройство декодирования видео с предсказанием обновляет средство хранения изображений посредством установления каждого опорного изображения, сохраненного в средстве хранения изображений, за исключением изображения произвольного доступа, в качестве ненужного непосредственно перед или непосредственно после декодирования изображения, которое имеет большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа.
На этапе восстановления для информации о порядке отображения по меньшей мере одного целевого объекта декодирования, включающего в себя изображение, которое имеет большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа, и которое становится первым целевым объектом декодирования после завершения процесса декодирования для декодирования изображения произвольного доступа, устройство декодирования видео с предсказанием может восстанавливать информацию о порядке отображения целевого изображения декодирования посредством добавления разностного значения к информации о порядке отображения изображения произвольного доступа. Разностное значение может представлять разность между информацией о порядке отображения целевого изображения декодирования и информацией о порядке отображения изображения произвольного доступа. Информация о порядке отображения целевого изображения декодирования может быть получена посредством декодирования кодированных данных порядка отображения целевого изображения декодирования.
На этапе восстановления при декодировании информации о порядке отображения каждого изображения в последовательности от изображения, которое становится следующим целевым объектом декодирования после изображения произвольного доступа, до изображения, имеющего большую информацию о порядке отображения, чем информация о порядке отображения изображения произвольного доступа, и которое становится первым целевым объектом декодирования после завершения процесса декодирования для генерирования изображения произвольного доступа, устройство декодирования видео с предсказанием может восстанавливать информацию о порядке отображения каждого изображения посредством добавления разностного значения к информации о порядке отображения изображения произвольного доступа. Разностное значение может представлять разность между информацией о порядке отображения каждого изображения и информацией о порядке отображения изображения произвольного доступа. Информация о порядке отображения каждого изображения может получаться посредством декодирования кодированных данных порядка отображения каждого изображения.
Программа кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения представляет собой программу кодирования видео с предсказанием, позволяющую компьютеру работать в качестве: средства ввода, которое принимает ввод множества изображений, составляющих видеопоследовательность; средства кодирования, которое кодирует каждое введенное изображение посредством способа внутрикадрового предсказания или межкадрового предсказания для генерирования сжатых данных изображений, включающих в себя изображение произвольного доступа, служащее в качестве изображения для произвольного доступа, и которое кодирует данные об информации о порядке отображения каждого из изображений; средства восстановления, которое декодирует сгенерированные таким образом сжатые данные изображений для восстановления воспроизводимого изображения; средства хранения изображений, которое сохраняет восстановленное таким образом воспроизводимое изображение, в качестве опорного изображения, подлежащего использованию для кодирования последующего изображения; и средства управления памятью, которое управляет средством хранения изображений, причем, после завершения процесса кодирования для генерирования изображения произвольного доступа средство управления памятью обновляет средство хранения изображений посредством установления каждого опорного изображения, сохраненного в средстве хранения изображений, за исключением изображения произвольного доступа, в качестве ненужного непосредственно перед или непосредственно после кодирования изображения с большей информацией о порядке отображения, чем информация о порядке отображения изображения произвольного доступа.
Программа декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения представляет собой программу декодирования видео с предсказанием, позволяющую компьютеру работать в качестве: средства ввода, которое принимает ввод сжатых данных изображений, включающих в себя изображение произвольного доступа, служащее в качестве изображения для произвольного доступа, которое было получено посредством кодирования каждого из множества изображений, составляющих видеопоследовательность, посредством способа внутрикадрового предсказания или межкадрового предсказания, и кодированные данные порядка отображения, полученные посредством кодирования данных об информации о порядке отображения каждого из изображений; средства восстановления, которое декодирует сжатые данные изображений для восстановления воспроизводимого изображения, и которое декодирует кодированные данные порядка отображения для восстановления его информации о порядке отображения; средства хранения изображений, которое сохраняет восстановленное таким образом воспроизводимое изображение в качестве опорного изображения, подлежащего использованию для декодирования последующего изображения; и средства управления памятью, которое управляет средством хранения изображений, в котором после завершения процесса декодирования для декодирования изображения произвольного доступа, средство управления памятью обновляет средство хранения изображений посредством установления каждого опорного изображения, сохраненного в средстве хранения изображений, за исключением изображения произвольного доступа, в качестве ненужного непосредственно перед или непосредственно после декодирования изображения с большей информацией о порядке отображения, чем информация о порядке отображения изображения произвольного доступа.
Настоящее изобретение, описанное выше, обеспечивает эффективное кодирование со сжатием изображений перед и после изображения, которое представляет собой точку произвольного доступа, и, одновременно, устраняет неудобства, связанные с недостатками технологии предшествующего уровня техники.
Полезные эффекты изобретения
Настоящее изобретение использует информацию, указывающую порядок отображения, сопутствующую каждому соответствующему изображению, образующему видеопоследовательность, или данные изображения, кодированного со сжатием (которые упоминаются ниже в данном документе как «информация о порядке отображения» (соответствующая моменту времени отображения, информации о временном опорном сигнале, временному опорному сигналу или т.п. в известной технологии) для установления момента времени обновления памяти. Обновление памяти может осуществляться после изображения с внутрикадровым предсказанием (интра-кадра) в точке произвольного доступа для достижения эффективного кодирования со сжатием изображений перед и после изображения произвольного доступа в порядке отображения и, одновременно, устранения неудобств, связанных с недостатками известной технологии, как описано ниже.
Конкретно, информация о порядке отображения сопровождает каждое изображение, и, поэтому, нет необходимости передавать новую информацию (флаг), таким образом, устраняется недостаток 2 обычной технологии.
Когда редактируется видеопоследовательность (например, чтобы отбросить некоторые изображения или присоединить другие изображения), соответствующим образом устанавливается информация о порядке отображения каждого изображения, формирующего видеопоследовательность, чтобы не вызывать неправильное функционирование, что устраняет недостаток 1 обычной технологии.
Кроме того, момент времени обновления памяти настоящим изобретением не ограничивается P-изображениями и не зависит от типов кодирования изображений (I-изображения, P-изображения или B-изображения), и, поэтому, обработка может выполняться согласно типу кодирования с наилучшей эффективностью кодирования, независимо от необходимости обновления памяти, что устраняет недостаток 3 обычной технологии.
Краткое описание чертежей
Фиг. 1 - функциональная блок-схема, изображающая конфигурацию устройства кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 2 - функциональная блок-схема, изображающая конфигурацию устройства декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 3 - блок-схема последовательности операций способа кодирования/декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 4 - схематичный вид для объяснения способа кодирования/декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения, изображенному на фиг. 3.
Фиг. 5 - блок-схема последовательности операций способа кодирования/декодирования видео с предсказанием согласно другому примерному варианту осуществления настоящего изобретения.
Фиг. 6 - схематичный вид для объяснения способа кодирования/декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения, изображенного на фиг. 5.
Фиг. 7 изображает аппаратную конфигурацию компьютера для выполнения программы, записанной на носителе записи.
Фиг. 8 - схематичный вид компьютера для выполнения программы, записанной на носителе записи.
Фиг. 9 - блок-схема, изображающая пример конфигурации программы кодирования видео с предсказанием.
Фиг. 10 - блок-схема, изображающая пример конфигурации программы декодирования видео с предсказанием.
Фиг. 11 - схематичный вид, изображающий структуру предсказания обычного способа кодирования/декодирования видео с предсказанием.
Осуществление изобретения
Варианты осуществления настоящего изобретения описываются ниже с использованием фиг. 1-10.
Устройство кодирования видео с предсказанием
Фиг. 1 представляет собой функциональную блок-схему, изображающую конфигурацию устройства 100 кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения. Как показано на фиг. 1, устройство 100 кодирования видео с предсказанием обеспечивается функциональными компонентами терминала 101 ввода, блочного делителя 102, генератора 103 предсказанного сигнала, памяти 104 кадров, вычитателя 105, преобразователя 106, квантователя 107, деквантователя 108, обратного преобразователя 109, сумматора 110, энтропийного кодера 111, терминала 112 вывода, терминала 113 ввода и узла 114 управления памятью кадров. Работа соответствующих функциональных компонентов описывается в описанной ниже работе устройства 100 кодирования видео с предсказанием.
Ниже описывается работа устройства 100 кодирования видео с предсказанием. Видеосигнал видеопоследовательности, состоящей из множества изображений в качестве целевых объектов для процесса кодирования, подается на терминал 101 ввода, и блочный делитель 102 делит каждое изображение на множество областей. В настоящем варианте осуществления каждое изображение делится на множество блоков, причем каждый состоит из 8×8 пикселей, но он может делиться на блоки любого размера или формы блока, кроме вышеописанных. Затем для целевого объекта блока в качестве объекта, подлежащего кодированию (который ниже в данном документе упоминается как «целевой блок»), генерируется предсказанный сигнал посредством описанного ниже способа предсказания. В настоящем варианте осуществления доступными способами предсказания являются два типа способов предсказания, межкадровое предсказание и внутрикадровое предсказание, и двунаправленное межкадровое предсказание, описанное в известном уровне техники, также применимо к межкадровому предсказанию. Ниже суммированы соответствующие основные операции межкадрового предсказания и внутрикадрового предсказания.
При межкадровом предсказании воспроизводимое изображение, ранее кодированное и затем восстановленное, используется в качестве опорного изображения, и информация о движении (например, вектор движения) получается из опорного изображения для обеспечения предсказанного сигнала с наименьшей ошибкой для целевого блока. Этот процесс называется «обнаружением движения». В некоторых случаях целевой блок может подразделяться на малые области, и способ межкадрового предсказания может определяться для целевого объекта каждой подразделенной малой области. В таких случаях наиболее эффективный способ деления определяется из числа многочисленных способов деления. Определенный способ деления используется для подразделения целевого блока на малые области, и определяется информация о движении каждой малой области для всего целевого блока. В настоящем варианте осуществления межкадровое предсказание осуществляется посредством генератора 103 предсказанного сигнала. Целевой блок подается по линии L102 на генератор 103 предсказанного сигнала, тогда как опорное изображение подается по линии L104 на генератор 103 предсказанного сигнала. Что касается опорного изображения, множество изображений, ранее кодированных и затем восстановленных, используется в качестве опорных изображений. Их подробности являются такими же, что и у любого в способах MPEG-2, MPEG-4 и H.264, которые представляют собой обычные технологии. Информация об определенном способе деления, используемая для определения малых областей, и информация о движении каждой малой области посылаются от генератора 103 предсказанного сигнала по линии L112 на энтропийный кодер 111. Энтропийный кодер 111 кодирует информацию о движении определенного способа деления и информацию о движении каждой малой области, и кодированные данные посылаются по линии L111 с терминала 112 вывода. Информация, указывающая, из какого опорного изображения из множества опорных изображений получают предсказанный сигнал (опорный индекс), также посылается от генератора 103 предсказанного сигнала по линии L112 на энтропийный кодер 111. Информация указания опорного изображения кодируется энтропийным кодером 111, и затем кодированные данные посылаются по линии L111 с терминала 112 вывода. В настоящем варианте осуществления, в качестве примера, четыре или пять воспроизводимых изображений сохраняются в памяти 104 кадров и используются в качестве опорных изображений. Генератор 103 предсказанного сигнала получает опорное изображение из памяти 104 кадров, основанный на способе деления малых областей, и опорное изображение и информацию о движения для каждой малой области, и генерирует предсказанный сигнал из опорного изображения и информации о движении (который называется «межкадрово предсказываемым сигналом» в том смысле, что он является предсказываемым сигналом, полученным посредством межкадрового предсказания). Межкадрово предсказанный сигнал, генерируемый таким образом, посылается по линии L103 на вычитатель 105 и на сумматор 110 для описанной ниже обработки.
С другой стороны, внутрикадровое предсказание предназначено для генерирования внутрикадрово предсказанного сигнала, используя ранее воспроизведенные пиксельные значения, пространственно соседние целевому блоку. Конкретно, генератор 103 предсказанного сигнала получает ранее воспроизведенные пиксельные сигналы в этом же кадре из памяти 104 кадров и генерирует предсказанный сигнал посредством экстраполяции ранее воспроизведенных пиксельных сигналов (который называется «внутрикадрово предсказываемым сигналом» в том смысле, что он является предсказываемым сигналом, полученным посредством внутрикадрового предсказания). Сгенерированный таким образом внутрикадрово предсказанный сигнал посылается от генератора 103 предсказанного сигнала по линии L103 на вычитатель 105. Способ генерирования внутрикадрово предсказанного сигнала в генераторе 103 предсказанного сигнала является тем же, что и способ H.264, который является обычной технологией. Информация, указывающая способ экстраполяции во внутрикадровом предсказании, посылается от генератора 103 предсказанного сигнала по линии L112 на энтропийный кодер 111, где она кодируется энтропийным кодером 111, и кодированные данные посылаются с терминала 112 вывода.
Вышеупомянутое суммирует соответствующие основные операции межкадрового предсказания и внутрикадрового предсказания. На практике, для каждого целевого блока предсказанный сигнал с наименьшей ошибкой выбирается из межкадрово и внутрикадрово предсказанных сигналов, получаемых так, как описано выше, и посылается от генератора 103 предсказанного сигнала по линии L103 на вычитатель 105.
Так как нет предыдущего изображения для первого изображения, подлежащего кодированию, все целевые блоки в первом изображении обрабатываются посредством внутрикадрового предсказания. При подготовке к переключению ТВ-каналов все целевые блоки в некотором изображении периодически обрабатываются как точка произвольного доступа посредством внутрикадрового предсказания. Такие изображения называются интра-кадрами, и в H.264 они называются изображениями IDR.
Вычитатель 105 вычитает предсказанный сигнал, принятый по линии L103, из сигнала целевого блока, принятого по линии L102, и генерирует остаточный сигнал. Этот остаточный сигнал преобразуется посредством дискретного косинусного преобразования преобразователем 106, и каждый из коэффициентов преобразования квантуется квантователем 107. Наконец, квантованные коэффициенты преобразования кодируются энтропийным кодером 111, и результирующие кодированные данные посылаются вместе с информацией о способе предсказания по линии L111 с терминала 112 вывода.
С другой стороны, для внутрикадрового предсказания или межкадрового предсказания для последующего целевого блока квантованные коэффициенты преобразования (кодированные данные целевого блока) деквантуются деквантователем 108, и после этого коэффициенты преобразования обратно преобразуются посредством обратного дискретного косинусного преобразования обратным преобразователем 109, таким образом восстанавливая остаточный сигнал. Затем сумматор 110 добавляет восстановленный остаточный сигнал к предсказываемому сигналу, посылаемому по линии L103, для воспроизведения сигнала целевого блока, и полученный таким образом воспроизводимый сигнал сохраняется в памяти 104 кадров. Настоящий вариант осуществления применяет преобразователь 106 и обратный преобразователь 109, но любой другой процесс преобразования может применяться вместо этих. Кроме того, преобразователь 106 и обратный преобразователь 109 могут быть исключены в некоторых случаях.
Емкость памяти 104 кадров ограничена, и фактически нельзя сохранить все воспроизводимые изображения. По этой причине, только воспроизводимые изображения, используемые для кодирования последующего изображения, сохраняются в памяти 104 кадров. Узлом для управления памятью 104 кадров является узел 114 управления памятью кадров. Узел 114 управления памятью кадров управляет памятью 104 кадров так, что самое старое воспроизводимое изображение удаляется из N (например, N=4) воспроизводимых изображений, хранимых в памяти 104 кадров, чтобы предоставить возможность самому последнему воспроизводимому изображению, используемому в качестве опорного изображения, сохраняться в памяти 104 кадров. Фактически, узел 114 управления памятью кадров принимает ввод информации о порядке отображения каждого изображения и информации о типе для кодирования каждого изображения (кодирование с внутрикадровым предсказанием, кодирование с межкадровым предсказанием или кодирование с двунаправленным предсказанием) с терминала 113 ввода, и узел 114 управления памятью кадров работает на основе этих порций информации. В этот момент времени информация о порядке отображения каждого изображения посылается с узла 114 управления памятью кадров по линии L114 на энтропийный кодер 111, где она кодируется энтропийным кодером 111. Кодированная таким образом информация о порядке отображения посылается вместе с кодированными данными изображения по линии L111 с терминала 112 вывода. Информация о порядке отображения представляет собой информацию, которая сопровождает каждое изображение, и может быть информацией, указывающей порядок изображения, или информацией, указывающей момент времени отображения изображения (например, опорный момент времени отображения изображения (временной опорный сигнал)). В настоящем варианте осуществления, например, сама информация о порядке отображения кодируется посредством двоичного кодирования. Ниже описывается способ управления посредством узла 114 управления памятью кадров.
Устройство декодирования видео с предсказанием
Ниже описывается устройство декодирования видео с предсказанием согласно настоящему изобретению. Фиг. 2 представляет собой функциональную блок-схему, изображающую конфигурацию устройства 200 декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения. Как показано на фиг. 2, устройство 200 декодирования видео с предсказанием обеспечивается функциональными компонентами терминала 201 ввода, анализатора 202 данных, деквантователя 203, обратного преобразователя 204, сумматора 205, генератора 208 предсказанного сигнала, памяти 207 кадров, терминала 206 вывода и узлом 209 управления памятью кадров. Работа соответствующего функционального компонента описывается в работе описанного ниже устройства 200 декодирования видео с предсказанием. Средства, связанные с декодированием, не всегда должны ограничиваться деквантователем 203 и обратным преобразователем 204. В других вариантах осуществления может применяться любое средство кроме этих. В некоторых примерных вариантах осуществления средства, связанные с декодированием, могут состоять только из деквантователя 203 без обратного преобразователя 204.
Ниже описывается работа устройства 200 декодирования видео с предсказанием. Сжатые данные, полученные вышеупомянутым способом кодирования, подаются через терминал 201 ввода. Эти сжатые данные содержат остаточный сигнал целевого блока, информацию генерирования сигнала предсказания, описывающую генерирование предсказанного сигнала, параметр квантования, информацию о порядке отображения изображения и информацию о типе кодирования, указывающую тип кодирования изображения. Среди них, информация генерирования сигнала предсказания, например, в случае межкадрового предсказания, содержит информацию о делении блока (информацию о способе деления малой области (например, размер блока или т.п.)), информацию о движении каждой малой области и опорный индекс. В случае внутрикадрового предсказания информация генерирования сигнала предсказания содержит информацию о способе экстраполяции.
Анализатор 202 данных выделяет остаточный сигнал целевого блока, информацию генерирования сигнала предсказания, связанную с генерированием предсказанного сигнала, параметр квантования, информацию о порядке отображения изображения и информацию о типе кодирования, указывающую тип кодирования изображения, из введенных сжатых данных. Среди них, остаточный сигнал целевого блока и параметр квантования подаются по линии L202 на деквантователь 203, деквантователь 203 деквантует остаточный сигнал целевого блока на основе параметра квантования, и обратный преобразователь 204 обратно преобразует результат деквантования посредством обратного дискретного косинусного преобразования. Остаточный сигнал, восстановленный таким образом, посылается по линии L204 на сумматор 205.
С другой стороны, извлеченная информация генерирования сигнала предсказания, описывающая генерирование предсказанного сигнала, посылается по линии L206b на генератор 208 предсказанного сигнала. Генератор 208 предсказанного сигнала получает соответствующее опорное изображение из множества опорных изображений, сохраненных в памяти 207 кадров, основываясь на информации генерирования сигнала предсказания, описывающей генерирование предсказанного сигнала, и генерирует предсказанный сигнал на основе соответствующего опорного изображения. Генерируемый таким образом предсказанный сигнал посылается по линии L208 на сумматор 205, и сумматор 205 добавляет предсказанный сигнал к восстановленному остаточному сигналу, чтобы воспроизвести сигнал целевого блока. Сигнал воспроизводимого таким образом целевого блока выводится по линии L205 с терминала 206 вывода и, одновременно, сохраняется в качестве воспроизводимого изображения в памяти 207 кадров.
Воспроизводимые изображения, используемые для декодирования или воспроизведения последующего изображения, сохраняются в памяти 207 кадров. Узел 209 управления памятью кадров управляет памятью 207 кадров так, что самое старое воспроизводимое изображение удаляется из N (которым является N=4 в качестве примера в данном документе, но может быть любым заданным целым числом). Самое старое воспроизводимое изображение, сохраненное в памяти 207 кадров, удаляется, чтобы дать возможность сохранить самое последнее воспроизводимое изображение, используемое в качестве опорного изображения, в памяти 207 кадров. Узел 209 управления памятью кадров работает на основе информации о порядке отображения целевого изображения и информации о типе кодирования изображения, которые подаются по линии L206a. Ниже описывается способ управления посредством узла 209 управления памятью кадров.
Интра-кадр (внутрикадрово предсказанное изображение), служащий в качестве точки произвольного доступа, называется изображением IDR (мгновенного обновления декодирования) в H.264, и это название происходит из того факта, что память кадров (буфер декодера) обновляется немедленно после кодирования или декодирования изображения IDR. В противоположность этому, настоящее изобретение выполняет обновление памяти кадров после временного ожидания (или задержки), вместо выполнения обновления памяти кадров непосредственно после кодирования или декодирования интра-кадра в качестве точки произвольного доступа (или непосредственно перед кодированием или декодированием). Таким образом, в настоящем изобретении это изображение называется изображением DDR (отложенное обновление декодера или задержанное обновление декодера). Как подробно описано ниже, момент времени обновления памяти кадров определяется на основе сравнения между информацией о порядке отображения изображения DDR и информацией о порядке отображения изображения в качестве целевого объекта для обработки (кодирования или декодирования) (который упоминается ниже в данном документе как «целевое изображение обработки»).
Характеристические операции обработки способа кодирования видео с предсказанием и способа декодирования видео с предсказанием
Операции способа кодирования видео с предсказанием и способа декодирования видео с предсказанием согласно настоящему изобретению описываются ниже с использованием фиг. 3 и 4. Фиг. 3 представляет собой блок-схему последовательности операций способа кодирования/декодирования видео с предсказанием согласно настоящему варианту осуществления. Фиг. 3 описывается ниже в качестве способа кодирования видео. Однако фиг. 3 также применима к способу декодирования видео.
Сначала описываются значения переменных, используемых на фиг. 3. TR означает информацию о порядке отображения, TR_DDR означает информацию о порядке отображения изображения DDR, TR_CUR означает информацию о порядке отображения целевого изображения обработки в представляющей интерес точке или в момент времени обработки целевого изображения обработки, так что целевым изображением обработки является текущее целевое изображение, и RP означает переменную состояния, указывающую, находится ли обновление памяти 104 кадров в ожидании. Случай RP=1 указывает состояние, в котором после того как изображение DDR станет целевым объектом обработки, обновление памяти 104 кадров еще не было выполнено (т.е. состояние, в котором обновление памяти кадров находится в ожидании), и случай RP=0 указывает состояние, в котором обновление памяти 104 кадров уже было выполнено, или состояние, в котором процесс обновления не является необходимым.
На фиг. 3 в начале кодирования видеосигнала сначала TR_DDR и RP инициализируются в 0 (этап 301). Этап 302 предназначен для проверки, является ли RP=1, и является ли TR_CUR целевого изображения обработки больше TR_DDR изображения DDR. Когда эти условия выполняются, указывается, что обновление памяти кадров находится в ожидании, и что целевым изображением обработки является изображение в последовательности изображений после изображения DDR, и, таким образом, выполняется процесс обновления памяти 104 кадров (т.е. процесс установления опорных изображений, сохраненных в памяти 104 кадров, в качестве ненужных) (этап 303). Однако отмечается, что опорные изображения, сохраненные в памяти 104 кадров, которые устанавливаются как ненужные, представляют собой только опорные изображения с информацией TR о порядке отображения меньшей, чем информация о порядке отображения самого последнего изображения DDR (TR_DDR). Самое последнее изображение DDR (или изображение, кодированное с внутрикадровым предсказанием), сохраненное в памяти 104 кадров, не устанавливается ненужным. После завершения процесса обновления, как описано выше, переменная RP состояния устанавливается на RP=0.
С другой стороны, когда вышеупомянутые условия не выполняются на этапе 302, работа переходит на этап 304 для проверки, является ли текущее целевое изображение обработки изображением DDR. Предполагается в устройстве 100 кодирования видео с предсказанием, что информация о типе кодирования изображения (DDR, кодирование с межкадровым предсказанием или кодирование с двунаправленным предсказанием) подается через терминал 113 ввода на фиг. 1 с устройства управления (не показано). Когда на этапе 304 определяется, что текущим целевым изображением обработки является изображение DDR, этап 305 выполняется для установления информации TR_CUR о порядке отображения текущего целевого изображения обработки на TR_DDR и установления переменной RP состояния на RP=1, и затем работа переходит на этап 306. С другой стороны, когда условие не выполняется на этапе 304, работа переходит на этап 306.
Этап 306 предназначен для получения воспроизводимого изображения, соответствующего целевому изображению обработки. На данном этапе целевое изображение обработки кодируется для получения сжатых данных, которые сжимаются способом кодирования, описанным со ссылкой на фиг. 1, и сжатые данные затем декодируются для получения воспроизводимого изображения (воспроизводимого изображения, соответствующего целевому изображению обработки). Сжатые данные, полученные посредством кодирования, посылаются вне устройства 100 кодирования видео с предсказанием. Альтернативно, сжатые данные могут сохраняться в памяти (не показана), которая может быть включена в устройство 100 кодирования видео с предсказанием. Следующий этап 307 предназначен для определения, должно ли воспроизводимое изображение, соответствующее целевому изображению обработки, использоваться в качестве опорного изображения в последующем процессе. Это определение выполняется на основе типа кодирования изображения. Предполагается в настоящем варианте осуществления, что изображение DDR, изображение, кодированное с однонаправленным предсказанием, и конкретное изображение, кодированное с двунаправленным предсказанием, все, определяются для использования в качестве опорных изображений, которые сохраняются. Однако отмечается, что настоящее изобретение не ограничивается этими типами кодирования или способом определения.
Когда на этапе 307 определяется, что воспроизводимое изображение не используется в качестве опорного изображения, воспроизводимое изображение не сохраняется в памяти 104 кадров, и работа переходит на этап 309. С другой стороны, если на этапе 307 определяется, что воспроизводимое изображение используется в качестве опорного изображения, выполняется этап 308 для сохранения воспроизводимого изображения в памяти 104 кадров, и затем работа переходит на этап 309.
На этапе 309 определяется, имеется ли следующее изображение (необработанное изображение), и если имеется следующее изображение, работа возвращается на этап 302 для повторения обработки этапов 302-308 для следующего изображения. Процессы этапов 302-308 выполняются циклически до тех пор, пока не будет обработано последнее изображение. Таким образом, после завершения обработки для всех изображений завершается обработка по фиг. 3.
Посредством вышеописанной обработки фиг. 3 после завершения обработки изображения произвольного доступа (самого последнего изображения DDR в данном документе), память 104 кадров обновляется в момент времени обработки изображения, имеющего информацию о порядке отображения (TR) большую, чем TR_DDR (фактически на этапе 303 перед процессом этапа 306). Момент времени обновления памяти кадров может быть в любой момент времени после завершения обработки изображения произвольного доступа (самого последнего изображения DDR в данном документе) при обработке изображения с информацией TR о порядке отображения большей, чем TR_DDR, и может происходить непосредственно после процесса этапа 306.
Вышеупомянутая обработка по фиг. 3 соответствует общей обработке устройства 100 кодирования видео с предсказанием на фиг. 1, и, в частности, процессы этапов 302-305 выполняются узлом 114 управления памятью кадров.
Фиг. 3 была описана как способ кодирования видео, но также применима к обработке способа декодирования видео. При выполнении обработки декодирования этап 301 дополнительно включает в себя прием данных кодированного со сжатием изображения (битового потока). Информация о порядке отображения и тип кодирования целевого изображения извлекаются из данных, и операции этапов 302-305 осуществляются таким же способом, что и выше. При выполнении процесса декодирования этап 306 осуществляет процесс декодирования сжатых данных целевого изображения для восстановления изображения. Процессы этапа 307 и последующие этапы являются такими же, что и описанные выше. Эта обработка соответствует общей обработке устройства 200 декодирования видео с предсказанием на фиг. 2, и, в частности, процессы этапов 302-305 осуществляются узлом 209 управления памятью кадров.
Фиг. 4 является схематичным представлением для объяснения обработки способа кодирования/декодирования видео с предсказанием согласно настоящему варианту осуществления. Изображения 401-409, показанные на фиг. 4, представляют собой некоторые из последовательности изображений, составляющих видеопоследовательность, и изображение 401 указывает состояние, в котором имеется n изображений перед ним. Поэтому, как показано в области 418 на фиг. 4, информация TR о порядке отображения изображения 401 представлена посредством (n+1). Так как предполагается, что настоящий вариант осуществления выполняет обработку кодирования/декодирования, включающую в себя двунаправленное предсказание, фиг. 4 изображает состояние, в котором сначала обрабатывается изображение 402 с TR=(n+5), и после этого обрабатываются изображения 403, 404 и 405, которые, как предполагается, отображаются перед изображением 402. По этой же причине, изображение 403 с порядком отображения (n+3) обрабатывается перед изображением 404 с порядком отображения (n+2). Этот порядок является таким же, что и на фиг. 11(В). Отмечается, что под «обработать изображение» в данном документе понимается «кодировать или декодировать изображение».
Идентификаторы, записанные в кадрах изображений 401-409 на фиг. 4, имеют следующие значения. А именно, «P» означает изображение, кодированное посредством однонаправленного предсказания, «DDR» означает изображение, кодированное как изображение DDR, и каждый из «В» и «b» означает изображение, кодированное посредством двунаправленного предсказания. Изображения за исключением тех, которые указаны строчной буквой «b» (т.е. изображения, указанные прописными буквами B, P и DDR), все, как предполагается, используются в качестве опорных изображений. Значение RP для каждого изображения в области 420 и значение TR_DDR в области 419 на фиг. 4 представляют собой значения непосредственно после завершения обработки для каждого изображения, но не являются значениями в начале обработки для каждого изображения (т.е. в момент времени входа в этап 302 на фиг. 3). Например, RP=0 в начале обработки для изображения 402, но RP=1 непосредственно после завершения обработки для изображения 402.
При обработке изображения 401, так как изображение 401 не является изображением DDR, то результатом является RP=0. TR_DDR, соответствующее изображению 401, может принимать любое значение, за исключением того, что устанавливается значение, сохраненное предшествующей обработкой. Так как изображение 401, указанное прописными буквами P1, используется в качестве опорного изображения, оно сохраняется в памяти кадров.
Ниже описывается обработка изображения 402 со ссылкой на фиг. 3. В данный момент воспроизводимое изображение P1 сохраняется в памяти кадров, как показано в области 410 на нижней строке на фиг. 4. Так как RP=0 в момент начала обработки изображения 402, этап 302 приводит к отрицательному определению, и работа переходит на этап 304. Так как изображение 402 представляет собой изображение DDR, этап 304 приводит к положительному определению, и этап 305 осуществляется для установки RP=1 и TR_DDR=n+5. Так как изображение 402 используется в качестве опорного изображения, оно сохраняется в памяти кадров.
В момент начала обработки следующего изображения 403, как показано в области 411 на фиг. 4, изображения P1 и DDR5 сохраняются в памяти кадров. В этот момент RP=1, но порядок TR(n+3) отображения изображения 403 меньше, чем TR_DDR(n+5), и изображение 403 не является изображением DDR; поэтому, этапы 302, 304 приводят к отрицательному определению, и изображение 403 кодируется или декодируется как есть (этап 306). Так как изображение 403 используется в качестве опорного изображения, оно сохраняется в памяти кадров.
В случае обработки изображений 404 и 405 обновление памяти кадров все еще находится в состоянии ожидания (RP=1). Так изображения 404 и 405 не используются в качестве опорных изображений, изображения 404 и 405 не сохраняются в памяти кадров, как показано в областях 412, 413 на фиг. 4, тогда как изображения P1, DDR5 и B3 остаются сохраненными в ней.
RP=1 в момент начала обработки изображения 406; так как информация TR(n+9) о порядке отображения изображения 406 больше TR_DDD(n+5), этап 302 приводит к положительному определению, и этап 303 осуществляется для установления опорных кадров в качестве ненужных для обновления памяти кадров и установления RP=0. Опорные кадры, установленные как ненужные в данный момент, представляют собой только опорные кадры с информацией TR о порядке отображения меньшей, чем информация самого последнего изображения 402 DDR, за исключением самого последнего изображения 402 DDR. Поэтому, как показано в области 414 на фиг. 4, освобождаются области хранения изображения P1 и изображения B3 в памяти кадров, в результате чего только изображение DDR5 остается сохраненным. Изображение 406, которое используется в качестве опорного изображения, сохраняется в памяти кадров после завершения обработки изображения 406, как показано в области 415 на фиг. 4, и после этого управление обновлением памяти кадров выполняется таким же образом, как описано выше.
Так как опорное изображение в памяти кадров (изображение P1 на фиг. 4) не установлено в качестве ненужного, непосредственно после или непосредственно перед обработкой изображения 402 DDR, как описано выше, ссылка может быть сделана на изображение P1 при обработке изображений 403, 404 и 405, обрабатываемых после изображения 402 DDR, и это способствует повышению эффективности кодирования. Так как самое последнее изображение 402 DDR (изображение DDR5) не установлено в качестве ненужного при выполнении обновления памяти кадров после обработки изображения 402 DDR, самое последнее изображение 402 DDR (изображение DDR5) может использоваться в качестве опорного изображения при обработке последующих изображений 407, 408 и 409.
Как описано выше, настоящий вариант осуществления использует информацию о порядке отображения, включенную в каждое соответствующее изображение для установления момента времени обновления памяти, которое выполняется после обработки изображения с внутрикадровым предсказанием (изображения DDR), служащего в качестве точки произвольного доступа. Момент времени обновления памяти основывается на информации о порядке отображения, таким образом, достигается эффективное кодирование со сжатием изображений перед и после изображения произвольного доступа. Это также устраняет неудобства, связанные с недостатками обычной технологии, как описано ниже.
А именно, так как информация о порядке отображения всегда включается в каждое соответствующее изображение, нет необходимости передавать новую информацию (флаг), что устраняет недостаток 2 обычной технологии. Кроме того, в случае редактирования видеосигнала (например, чтобы отбросить некоторые изображения или присоединить другие изображения), части информации о порядке отображения соответствующих изображений, составляющих видеосигнал, также устанавливаются соответствующим образом, чтобы не вызывать неправильное функционирование, что устраняет недостаток 1 обычной технологии. Кроме того, так как момент времени обновления памяти согласно настоящему изобретению не ограничивается P-изображениями, и не зависит от типов кодирования изображений (I-изображения, P-изображения и B-изображения), каждое изображение обрабатывается согласно типу кодирования с наибольшей эффективностью кодирования, независимо от необходимости обновления памяти, что устраняет недостаток 3 обычной технологии.
Вариант осуществления примера модификации
Вышеописанные варианты осуществления описывают обработку в случае, когда информация о порядке отображения каждого изображения кодировалась как «абсолютное значение». В другом варианте осуществления информация о порядке отображения каждого изображения кодируется как «разностное значение», чтобы повысить эффективность кодирования. Ниже описывается вариант осуществления, в котором информация о порядке отображения кодируется как «разностное значение», в качестве примера модификации.
Фиг. 5 изображает блок-схему последовательности операций примера модификации способа кодирования/декодирования видео с предсказанием. В данном варианте осуществления информация о порядке отображения каждого изображения кодируется следующим образом. А именно, для каждого изображения, которое становится целевым объектом обработки во время ожидания обновления памяти кадров (т.е. RP=1), кодируется разностное значение между информацией о порядке отображения целевого изображения и информацией о порядке отображения изображения DDR. С другой стороны, для каждого изображения, которое становится целевым объектом обработки в момент времени, когда обновление памяти 104 кадров уже было выполнено, или в момент времени, когда процесс обновления не требуется (т.е. RP=0), его информация о порядке отображения кодируется любым способом. Например, может кодироваться разность из информации о порядке отображения изображения DDR, или может кодироваться разность из информации о порядке отображения непосредственно предшествующего изображения в порядке кодирования.
При работе примера модификации, фиг. 5 описывается ниже как способ декодирования видео, но понятно, что фиг. 5 также применима к способу кодирования видео. Этап 501 на фиг. 5 предназначен для приема данных кодированного со сжатием изображения, введенных в устройство 200 декодирования видео с предсказанием, и выделения из данных разностного значения (delta_TR) информации о порядке отображения целевого изображения и информации о типе кодирования изображения. Одновременно TR_DDD и RP инициализируются в 0.
Следующий этап 502 предназначен для проверки, является ли RP=1. Если выполняется это условие, то это означает, что обновление памяти кадров находится в состояние ожидания, и, таким образом, работа переходит на этап 503. Этап 503 предназначен для установления информации TR_CUR о порядке отображения текущего целевого изображения обработки на сумму TR_DDR и delta_TR.
Затем этап 504 предназначен для проверки, является ли TR_CUR больше TR_DDR. Если это условие выполняется, то это означает, что обновление памяти кадров находится в состоянии ожидания (RP=1), и что целевым изображением обработки является изображение после изображения DDR в порядке отображения, и, таким образом, выполняется процесс обновления памяти 207 кадров (т.е. процесс установления опорных изображений, сохраненных в памяти 207 кадров, в качестве ненужных) (этап 505). Однако опорные изображения, установленные в качестве ненужных, представляют собой только опорные изображения с информацией TR о порядке отображения меньшей, чем информация о порядке отображения самого последнего изображения DDR (TR_DDR). Самое последнее изображение DDR (или изображение, кодированное с внутрикадровым предсказанием) не устанавливается в качестве ненужного. После завершения процесса обновления, как описано выше, переменная RP состояния устанавливается на RP=0. После этого работа переходит на нижеописанный этап 507. Когда вышеописанный этап 504 приводит к отрицательному определению, работа также переходит на этап 507.
С другой стороны, когда этап 502 приводит к отрицательному определению (т.е. RP=0), работа переходит на этап 506, устанавливая TR_CUR на сумму информации TR_PREV о порядке отображения ранее обработанного изображения и delta_TR, и затем работа переходит на этап 507.
Этап 507 предназначен для проверки, является ли текущее целевое изображение обработки изображением DDR. Устройство 200 декодирования видео с предсказанием может получить информацию о типе кодирования изображения (DDR, кодирование с межкадровым предсказанием или кодирование с двунаправленным предсказанием) из кодированных со сжатием данных, введенных извне.
Когда определяется на этапе 507, что текущим целевым изображением обработки является изображение DDR, этап 508 выполняется для установления информации TR_CUR о порядке отображения текущего целевого изображения обработки на TR_DDR и установления переменной RP состояния на RP=1, и затем работа переходит на этап 509. С другой стороны, когда условие не выполняется на этапе 507, работа переходит на этап 509.
Этап 509 предназначен для получения воспроизводимого изображения, соответствующего целевому изображению обработки. В данном случае, воспроизводимое изображение, соответствующее целевому изображению обработки, получается посредством декодирования сжатых данных целевого изображения обработки посредством способа декодирования, описанного со ссылкой на фиг. 2. Воспроизводимое изображение, получаемое в данном документе, посылается, например, за пределы устройства 200 декодирования видео с предсказанием. Следующий этап 510 предназначен для определения, должно ли воспроизводимое изображение, соответствующее целевому изображению обработки, использоваться в качестве опорного изображения при последующей обработке. Это определение выполняется на основе типа кодирования изображения. В данном случае, изображение DDR, изображение, кодированное с однонаправленным предсказанием, и конкретное изображение, кодированное с двунаправленным предсказанием, все, определяются как опорные изображения. Однако отмечается, что настоящее изобретение не ограничивается этими типами кодирования или способом определения.
Когда на этапе 510 определяется, что воспроизводимое изображение не используется в качестве опорного изображения, работа переходит на этап 512 без сохранения воспроизводимого изображения в памяти 207 кадров. С другой стороны, если на этапе 510 определяется, что воспроизводимое изображение используется в качестве опорного изображения, этап 511 выполняется для сохранения воспроизводимого изображения в памяти 207 кадров, и затем последовательность операций переходит на этап 512.
Этап 512 предназначен для установления TR_CUR на TR_PREV для последующего процесса этапа 506, и затем работа переходит на этап 513. Этап 513 предназначен для определения, имеется ли следующее изображение (необработанное изображение), и, если имеется следующее изображение, работа возвращается на этап 502 для повторения процессов этапов 502-512 для следующего изображения. Процессы этапов 502-512 выполняются данным образом циклически до последнего изображения, и после завершения обработки всех изображений завершается обработка по фиг. 5.
Посредством вышеописанной операции обработки по фиг. 5, после завершения обработки изображения произвольного доступа (самого последнего изображения DDR), память кадров обновляется в момент времени, когда обрабатывается изображение, имеющее информацию TR о порядке отображения, которая больше TR_DDR, (фактически, на этапе 505 перед процессом этапа 509). Момент времени обновления памяти кадров может быть в любой момент после завершения обработки изображения произвольного доступа (самого последнего изображения DDR в данном документе), при обработке изображения с информацией TR о порядке отображения, которая больше TR_DDR, и может представлять собой момент времени непосредственно после процесса этапа 509.
Вышеупомянутая обработка по фиг. 5 соответствует общей обработке устройства 200 декодирования видео с предсказанием на фиг.2, и, в частности, этапы 502-508 выполняются узлом 209 управления памятью кадров.
Работа по фиг. 5 была описана в качестве способа декодирования видео, но она также применима к обработке способа кодирования видео. В случае выполнения обработки кодирования, этап 503 предназначен для получения delta_TR из разности между TR_CUR и TR_DDR, и этап 506 предназначен для определения delta_TR из разности между TR_CUR и TR_PREV с последующим энтропийным кодированием. Кроме того, этап 509 предназначен для кодирования целевого изображения и затем декодирования изображения. Эта обработка соответствует общей обработке устройства 100 кодирования видео с предсказанием на фиг. 1 и, в частности, процессы этапов 502-508 выполняются узлом 114 управления памятью кадров.
Фиг. 6 является схематичным представлением для объяснения обработки способа кодирования/декодирования видео с предсказанием согласно варианту осуществления примера модифицирования. Изображения 601-609, показанные на фиг. 6, представляют собой некоторые из последовательности изображений, составляющих видеопоследовательность, и показывают такую же обработку, что и для изображений 401-409, описанных со ссылкой на фиг. 4. Однако фиг. 6 включает в себя delta_TR, показанную в области 621, в дополнение к областям на фиг. 4. Как видно из области 621, определение delta_TR является разным в зависимости от значения RP в начале процесса кодирования целевого изображения (значение RP предыдущего изображения). А именно, в процессах кодирования изображений 603-606 delta_TR получается как разностное значение между TR и TR_DDR каждого изображения. В процессах кодирования изображения 607 и последующих изображений, delta_TR получается как разностное значение между TR целевого изображения и TR изображения непосредственно перед целевым изображением. Например, TR изображения 607 вычитается из TR изображения 606 для получения delta_TR изображения 607. С другой стороны, когда информация TR о порядке отображения восстанавливается из разностного значения delta_TR в процессе декодирования каждого изображения, информация TR о порядке отображения восстанавливается посредством добавления разностного значения delta_TR, полученного посредством декодирования сжатых данных разностного значения, к TR_DDR. Обработка после этого такая же, что и обработка на фиг. 4 и, таким образом, опускается в данном документе.
На фиг. 6, даже если изображения 603-605 пропущены в результате редактирования, так как информация TR о порядке отображения изображения 606 определяется из TR_DDR, она может корректно восстанавливаться как TR=delta_TR+TR_DDR=4+(n+5)=n+9, и обновление памяти кадров может управляться без неправильного функционирования. Если delta_TR каждого изображения получается как разностное значение между информацией о порядке отображения изображения и информацией о порядке отображения изображения непосредственно перед ним в порядке декодирования, и если изображение 603 пропущено, информация о порядке отображения не может корректно воспроизводиться, и обновление памяти кадров будет выполняться в момент времени изображения 605 (хотя, первоначально, моментом времени изображения 606 является корректный момент времени).
В случае, когда вариант осуществления по фиг. 6 применяется к процессу кодирования видео, при кодировании информации о порядке отображения каждого изображения (изображений 603-606) и ожидании обновления памяти кадров после завершения обработки изображения произвольного доступа (самого последнего изображения DDR в данном документе), разностное значение delta_TR между информацией TR о порядке отображения текущего изображения и информацией TR_DDR о порядке отображения изображения DDR может кодироваться вместо кодирования информации TR о порядке отображения самого текущего изображения, чтобы, таким образом, корректно декодировать момент времени обновления памяти кадров. По этой причине, даже если потеряно изображение, ожидающее обновления памяти кадров, можно избежать неправильного функционирования, что обеспечивает эффект высокой устойчивости к ошибкам.
В качестве еще другого примера, разностное значение delta_TR может кодироваться для по меньшей мере одного изображения, которое включает в себя изображение, для которого информация TR о порядке отображения больше TR_DDR (изображение 606 на фиг. 6), и которое поступает после изображения произвольного доступа (самого последнего изображения DDR в данном документе). А именно, при кодировании информации о порядке отображения по меньшей мере одного изображения, которое имеет информацию TR о порядке отображения больше TR_DDR (изображение 606 на фиг. 6), и которое поступает после изображения произвольного доступа (самого последнего изображения DDR в данном документе), разностное значение delta_TR между информацией TR о порядке отображения относящегося изображения и информацией TR_DDR о порядке отображения изображения DDR может кодироваться, вместо кодирования информации TR о порядке отображения самого относящегося к ней изображения.
Программа кодирования видео с предсказанием и программа декодирования видео с предсказанием
Изобретение устройства кодирования видео с предсказанием также может интерпретироваться как изобретение программы кодирования видео с предсказанием для управления компьютером так, чтобы он функционировал в качестве устройства кодирования видео с предсказанием. Аналогично, изобретение устройства декодирования видео с предсказанием также может интерпретироваться как изобретение программы декодирования видео с предсказанием для управления компьютером так, чтобы он функционировал в качестве устройства декодирования видео с предсказанием.
Программа кодирования видео с предсказанием и программа декодирования видео с предсказанием обеспечиваются, например, как сохраненные на носителе записи. Примеры таких носителей записи включают в себя такие носители записи, как гибкие диски, компакт-диски (CD-ROM) и цифровые многофункциональные диски (DVD), или такие носители записи, как постоянные запоминающие устройства (ROM) или полупроводниковая память или т.п.
Фиг. 9 изображает модули программы кодирования видео с предсказанием для управления компьютером так, чтобы он функционировал в качестве устройства кодирования видео с предсказанием. Как показано на фиг. 9, программа P100 кодирования видео с предсказанием обеспечивается модулем P101 ввода, модулем P102 кодирования, модулем P103 восстановления, модулем P104 хранения изображений и модулем P105 управления памятью.
Фиг. 10 изображает модули программы декодирования видео с предсказанием для управления компьютером так, чтобы он функционировал в качестве устройства декодирования видео с предсказанием. Как показано на фиг. 10, программа P200 декодирования видео с предсказанием обеспечивается модулем P201 ввода, модулем P202 восстановления, модулем P203 хранения изображений и модулем P204 управления памятью.
Программа P100 кодирования видео с предсказанием и программа P200 декодирования видео с предсказанием, сконфигурированные так, как описано выше, могут храниться на носителе 10 записи, показанном на фиг. 8, и исполняться компьютером 30, описанным ниже.
Фиг. 7 изображает аппаратную конфигурацию компьютера для исполнения программы, записанной на носителе записи, и фиг. 8 представляет собой схематичный вид компьютера для исполнения программы, хранимой на носителе записи. Компьютером может быть DVD-плейер, телевизионная абонентская приставка, сотовый телефон и т.д., которые обеспечены центральным блоком обработки (CPU) и выполнены с возможностью выполнения обработки и управления с использованием программного обеспечения.
Как показано на фиг. 7, компьютер 30 может обеспечиваться устройством 12 чтения, таким как блок привода гибкого диска, блок привода компакт-диска или блок привода DVD, оперативной памятью (RAM) 14, в которой постоянно находится операционная система, памятью 16 для хранения программ и данных, которая может также или альтернативно храниться где-то в другом месте, таком как на носителе 10 записи, блоком 18 монитора, подобным дисплею, мышью 20 и клавиатурой 22 в качестве устройств ввода, устройством 24 связи для передачи и приема данных или т.п. и CPU 26 для управления исполнением программ. Например, когда носитель 10 записи вставляется в устройство 12 чтения, компьютеру 30 обеспечивается доступ к программе кодирования видео с предсказанием, хранимой на носителе 10 записи, посредством устройства 12 чтения и он становится способным работать в качестве устройства кодирования видео с предсказанием согласно настоящему изобретению, основываясь на программе кодирования видео с предсказанием. Аналогично, в другом примере, когда носитель 10 записи вставляется в устройство 12 чтения, компьютеру 30 обеспечивается доступ к программе декодирования видео с предсказанием, хранимой на носителе 10 записи, посредством устройства 12 чтения, и он становится способным работать в качестве устройства декодирования видео с предсказанием согласно настоящему изобретению, основываясь на программе декодирования видео с предсказанием.
Как показано на фиг. 8, программа кодирования видео с предсказанием или программа декодирования видео с предсказанием может обеспечиваться в виде сигнала 40 данных компьютера, наложенного на несущую волну, передаваемого по сети. В данном случае, компьютер 30 может исполнять программу, после того как программа кодирования видео с предсказанием или программа декодирования видео с предсказанием, принятая устройством 24 связи, будет сохранена в памяти 16.
Список ссылочных позиций
10: носитель записи; 30: компьютер; 100: устройство кодирования видео с предсказанием; 101: терминал ввода; 102: блочный делитель; 103: генератор предсказанного сигнала; 104: память кадров; 105: вычитатель; 106: преобразователь; 107: квантователь; 108: деквантователь; 109: обратный преобразователь; 110: сумматор; 111: энтропийный кодер; 112: терминал вывода; 113: терминал ввода; 114: узел управления памятью кадров; 200: устройство декодирования видео с предсказанием; 201: терминал ввода; 202: анализатор данных; 203: деквантователь; 204: обратный преобразователь; 205: сумматор; 206: терминал вывода; 207: память кадров; 208: генератор предсказанного сигнала; 209: узел управления памятью кадров; P100: программа кодирования видео с предсказанием; P101: модуль ввода; P102: модуль кодирования; P103: модуль восстановления; P104: модуль хранения изображений; P105: модуль управления памятью; P200: программа декодирования видео с предсказанием; P201: модуль ввода; P202: модуль восстановления; P203: модуль хранения изображений; P204: модуль управления памятью.