УСТРОЙСТВО, СПОСОБ И ПРОГРАММА КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ДИНАМИЧЕСКИХ ИЗОБРАЖЕНИЙ С ПРЕДСКАЗАНИЕМ
DEVICE, METHOD AND PROGRAM FOR CODING AND DECODING DYNAMIC PREDICTION IMAGES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к устройству, способу и программе видеокодирования с предсказанием и к устройству, способу и программе видеодекодирования с предсказанием и, в частности, к устройству, способу и программе видеокодирования с предсказанием и к устройству, способу и программе видеодекодирования с предсказанием, связанными с интеркадровым предсказанием, эффективным для случайного доступа.
УРОВЕНЬ ТЕХНИКИ
Технологии сжатия используются для эффективной передачи и хранения данных. Технологии согласно MPEG1-4 и H.261-H.264 широко используются для сжатия видео данных.
В этих технологиях сжатия, целевое изображение, предназначенное для кодирования, делится на множество блоков, которые затем подвергаются кодированию и декодированию. Способы кодирования с предсказанием, как описано ниже, используются для расширения эффективности кодирования. При интракадровом кодировании с предсказанием, предсказанный сигнал генерируется с использованием декодированного сигнала соседнего изображения (декодированный сигнал из данных изображений, сжатых в прошлом), присутствующего в том же кадре как целевой блок, и затем разностный сигнал, получаемый посредством вычитания предсказанного сигнала из сигнала целевого блока, кодируется. При интеркадровом кодировании с предсказанием осуществляется поиск смещения сигнала со ссылкой на восстановленный сигнал изображения, присутствующий в кадре, отличающемся от целевого блока, предсказанный сигнал генерируется с компенсацией для смещения, и разностный сигнал, получаемый посредством вычитания предсказанного сигнала из сигнала целевого блока, кодируется. Восстановленное изображение, используемое для ссылки для поиска движения и компенсации, называется как опорное изображение.
При двунаправленном интеркадровом предсказании, ссылка может быть сделана не только на прошлые изображения в порядке времени вывода, но также на будущие изображения, следующие за целевым изображением в порядке времени вывода (при условии, если будущие изображения кодируются перед целевым изображением и предварительно воспроизводятся). Предсказанный сигнал, получаемый из прошлого изображения, и предсказанный сигнал, получаемый из будущего изображения, может быть усреднен, для предоставления эффективного предсказания вновь появляемого объекта на изображении и для уменьшения шума, включаемого в два предсказанных сигнала.
Кроме того, при интеркадровом кодировании с предсказанием H.264, предсказанный сигнал для целевого блока выбирается путем выполнения поиска движения со ссылкой на множество опорных изображений, которые ранее были кодированы и затем воспроизведены, и посредством определения сигнала изображения с наименьшей ошибкой как оптимального предсказанного сигнала. Разница вычисляется между пиксельным сигналом целевого блока и этим оптимальным предсказанным сигналом, который затем подвергается дискретному косинусному преобразованию, квантованию и энтропийному кодированию. В то же время, информация касательно опорного изображения и области, из которой получается оптимальный предсказанный сигнал для целевого блока (который будет соответственно называться как «опорный индекс» и «вектор движения»), также кодируются. В H.264 четыре или пять восстановленных изображений хранятся как опорные изображения в памяти кадров или буфере декодированных изображений.
Интеркадровое кодирование с предсказанием позволяет эффективное кодирование со сжатием посредством использования преимущества корреляции между изображениями, однако зависимость между кадрами предотвращается для того, чтобы позволить просмотр видеопрограммы с середины, как например, при переключении между каналами ТВ. Точки, не имеющие зависимости между кадрами, в сжатом битовом потоке видео последовательности называются как «точки случайного доступа». Кроме переключения каналов, точки случайного доступа могут также использоваться в случаях редактирования видео последовательности и соединения сжатых данных различных видеопоследовательностей. В традиционной технологии, «чистые точки случайного доступа» предоставляются как точки случайного доступа. Чистые точки случайного доступа определяются посредством чистых изображений случайного доступа (которые будут называться здесь далее как CRA-изображения (clean random access pictures)) типа единицы сетевого уровня абстракции (Network Abstraction Layer, NAL). Один битовый поток может включать в себя множество CRA-изображений, и устройство видеодекодирования с предсказанием может начинать декодирование с любой чистой точки случайного доступа.
В описанных вариантах осуществления, типы изображений, связанных с CRA-изображением, определяются следующим образом (смотрите Фиг. 10).
Прошлое изображение: изображение, декодированное перед CRA-изображением и предшествующее CRA-изображению в порядке вывода.
Запаздывающее изображение: изображение, декодированное перед CRA-изображением, но следующее за CRA-изображением в порядке вывода.
Ведущее изображение: изображение, декодированное после CRA-изображения, но предшествующее CRA-изображению в порядке вывода.
Нормальное изображение: изображение, декодированное после CRA-изображения и следующее за CRA-изображением в порядке вывода.
Поскольку CRA-изображение определяется как изображение, ограничиваемое только интракадровым предсказанием, оно снабжается всей информацией, необходимой для декодирования, и может правильно декодироваться без ссылки на какое-либо другое изображение. Каждое нормальное изображение, следующее за CRA-изображением, определяется так, что интеркадровое предсказание от прошлого изображения, запаздывающего изображения или ведущего изображения запрещается.
Декодирование битового потока от CRA-изображения и нормальных изображений правильно декодируются без ошибок при интеркадровом предсказании. Однако, ведущие изображения, которые декодируются после CRA-изображения, могут или не могут правильно декодироваться без ошибок при интеркадровом предсказании. Другими словами, имеются правильно декодированные ведущие изображения, в то время как имеются неправильно декодированные ведущие изображения.
Термин «правильно декодированное» здесь означает, что декодированное изображение является тем же изображением, как изображение, получаемое при операции декодирования битового потока не от CRA-изображения, но вместо этого от головной части битового потока. При декодировании от CRA-изображения, изображение (например, запаздывающее изображение), предшествующее CRA-изображению в порядке декодирования, не декодировано и не существует в буфере декодированных изображений. Поэтому следующее изображение, интеркадровое предсказание которого осуществляется прямо или косвенно с использованием изображения, предшествующего CRA-изображению в порядке декодирования, может включать ошибку декодирования.
СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК
НЕ ПАТЕНТНАЯ ЛИТЕРАТУРА
Не патентная литература 1: Benjamin Bross et al., «High efficiency video coding (HEVC) text specification draft 7», Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, CH, 27 April - 7 May 2012 (Бенджамин Бросс и др., «Высокоэффективное видеокодирование (HEVC), спецификации, проект, версия 7», Общая совместная группа по видеокодированию (JCT-VC), Международный союз электросвязи - сектор телекоммуникаций (ITU-T) SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 9-е Заседание: Женева, CH, 27 апреля - 7 мая 2012 года.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Как было описано выше, когда устройство видеодекодирования с предсказанием начинает декодирование от точки случайного доступа, имеется возможность существования неправильно декодированного изображения, и неправильно декодированное изображение не должно использоваться для последующего декодирования. С другой стороны, в случае, когда существует правильно декодированное изображение, правильно декодированное изображение может использоваться для последующего декодирования. Поскольку традиционные технологии не имеют способа для определения того, от какого изображения, следующего за точкой случайного доступа в порядке декодирования, следует отказываться, все ведущие изображения обрабатываются как изображения, которые не могут быть правильно декодированы и таким образом отбрасываются. Однако некоторые из этих изображений могут в действительности могут быть декодированы и могут вносить вклад в улучшение характеристик предсказания последующих изображений; поэтому отбрасывание всех ведущих изображений как неправильно декодированных изображений нежелательно.
Поэтому задачей настоящего изобретения является позволить идентификацию декодируемого изображения, для того чтобы сделать декодируемое изображение доступным в качестве опорного изображения для последующего изображения, таким образом способствуя улучшению характеристик предсказания.
РЕШЕНИЕ ПРОБЛЕМЫ
Устройство видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения содержит: средство ввода, которое осуществляет ввод множества изображений, составляющих видеопоследовательность; средство кодирования, которое кодирует изображения посредством способа либо интракадрового предсказания или интеркадрового предсказания для генерирования данных сжатых изображений и которое также кодирует информацию порядка вывода каждого изображения и информацию о типе изображения каждого изображения, причем данные сжатого изображения генерируются для включения изображения, служащего точкой случайного доступа; средство восстановления, которое декодирует данные сжатого изображения для восстановления изображений; средство хранения изображений, которое хранит одно или более восстановленных изображений как опорные изображения, предназначенные для использования для кодирования последующего изображения; и средство управления, которое определяет тип изображения и управляет средством хранения изображений, на основе определения типа изображения, при этом средство управления помечает каждое из изображений как одно из трех типов, определенных ниже: 1) CRA-изображение: изображение, которое отличается тем, что изображение типа 2, следующее за CRA-изображением, может правильно декодироваться, когда декодирование начинается от CRA-изображения; 2) изображение типа 1: изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, которое не подвергается списку опорных изображений, включающих в себя по меньшей мере одно опорное изображение, помеченное как изображение типа 1, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования, для выполнения интеркадрового предсказания; 3) изображение типа 2: изображение, которое имеет список опорных изображений, для выполнения интеркадрового предсказания, и которое отличается тем, что каждое опорное изображение в списке опорных изображений помечается либо как изображение типа 2 либо как CRA-изображение и декодируется после CRA-изображения, связанного с упомянутым изображением.
Способ видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является способом видеокодирования с предсказанием, выполняемым устройством видеокодирования с предсказанием, содержащий этапы: этап ввода, на котором вводят множество изображений, составляющих видеопоследовательность; этап кодирования, на котором кодируют изображения посредством способа либо интракадрового предсказания либо интеркадрового предсказания для генерирования данных сжатых изображений, включающих в себя изображение, служащее в качестве точки случайного доступа, и также кодируют информацию порядка вывода каждого изображения и информацию о типе изображения каждого изображения; этап восстановления, на котором декодируют данные сжатых изображений для восстановления изображений; этап хранения изображений, на котором сохраняют одно или более восстановленных изображений в качестве опорных изображений, предназначенных для использования для кодирования последующего изображения; и этап управления, на котором определяют тип изображения и управляют этапом хранения изображений, на основе упомянутого определенного типа изображения, при этом этап управления далее содержит устройство видеокодирования с предсказанием, помечающее каждое из изображений как одно из трех типов, определенных ниже: 1) CRA-изображение: изображение, которое отличается тем, что изображение типа 2, следующее за CRA-изображением, может правильно декодироваться, когда декодирование начинается от CRA-изображения; 2) изображение типа 1: изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, помеченное как изображение типа 1, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение типа 2: изображение, которое имеет список опорных изображений, для выполнения интеркадрового предсказания, и которое отличается тем, что каждое опорное изображение в списке опорных изображений помечается либо как изображение типа 2 либо как CRA-изображение и декодируется после связанного CRA-изображения.
Программа видеокодирования с предсказанием в соответствии с настоящим изобретением является программой видеокодирования с предсказанием, позволяющей компьютеру функционировать как: средство ввода, которое вводит множество изображений, составляющих видеопоследовательность; средство кодирования, которое кодирует изображения посредством способа либо интракадрового предсказания либо интеркадрового предсказания для генерирования данных сжатых изображений, включающих в себя изображение, служащее в качестве точки случайного доступа и которое также кодирует информацию порядка вывода каждого изображения и информацию о типе изображения каждого изображения; средство восстановления, которое декодирует данные сжатых изображений для восстановления изображений; средство хранения изображений, которое осуществляет хранение одного или более восстановленных изображений в качестве опорных изображений, предназначенных для использования для кодирования последующего изображения; и средство управления, которое осуществляет определение типа изображения и управление средством хранения изображений, на основе результата упомянутого определения, при этом средство управления помечает каждое из изображений как одно из трех типов, определенных ниже: 1) CRA-изображение: изображение, которое отличается тем, что изображение типа 2, следующее за CRA-изображением, может правильно декодироваться, когда декодирование начинается от CRA-изображения; 2) изображение типа 1: изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, помеченное как изображение типа 1, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение типа 2: изображение, которое имеет список опорных изображений для выполнения интеркадрового предсказания, и которое отличается тем, что каждое опорное изображение в списке опорных изображений помечается либо как изображение типа 2 либо как CRA-изображение и декодируется после CRA-изображения, связанного с упомянутым изображением.
Устройство видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является устройством видеодекодирования с предсказанием, которое содержит: средство ввода, которое осуществляет ввод, для множества изображений, составляющих видеопоследовательность, данных сжатых изображений, включающих в себя изображение случайного доступа и кодированные данные, указывающие порядок вывода каждого изображения и тип изображения каждого изображения, получающиеся в результате кодирования посредством либо интракадрового предсказания либо интеркадрового предсказания; средство восстановления, которое декодирует данные сжатых изображений и упомянутые кодированные данные для восстановления изображений, информации порядка вывода и информации типа изображений для вывода; средство хранения изображений, которое хранит одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для декодирования последующего изображения; и средство управления, которое управляет средством восстановления на основе типа изображения, при этом каждое изображение помечается типом изображения как одним из трех типов, определенных ниже: 1) CRA-изображение: изображение, которое отличается тем, что изображение типа 2, следующее за CRA-изображением, может правильно декодироваться, когда декодирование начинается от CRA-изображения; 2) изображение типа 1: изображение, которое декодируется после связанного CRA-изображения и выводится перед упомянутым связанным CRA-изображением, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, помеченное как изображение типа 1, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение типа 2: изображение, которое имеет список опорных изображений, для выполнения интеркадрового предсказания, и которое отличается тем, что каждое опорное изображение в списке опорных изображений помечается как изображение типа 2 или как CRA-изображение и декодируется после связанного CRA-изображения; и при этом средство восстановления продолжает, в течение периода сразу перед обработкой следующего CRA-изображения, процесс декодирования, так что когда декодирование кодированных данных начинается от CRA-изображения, упомянутое средство восстановления декодирует изображение, помеченное как изображение типа 2, и пропускает декодирование изображения, помеченного как изображение типа 1.
Способ видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является способом видеодекодирования с предсказанием, выполняемым посредством устройства видеодекодирования с предсказанием, который содержит этапы: этап ввода, на котором вводят данные сжатых изображений, включающие в себя изображение случайного доступа и кодированные данные, указывающие порядок вывода каждого изображения и тип изображения каждого изображения, получающиеся в результате кодирования посредством либо интракадрового предсказания либо интеркадрового предсказания для множества изображений, составляющих видеопоследовательность; этап восстановления, на котором декодируют данные сжатых изображений и упомянутые кодированные данные для восстановления изображений, информации порядка вывода и информации типа изображений; этап хранения изображений, на котором сохраняют одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для декодирования последующего изображения; и этап управления, на котором управляют этапом восстановления, на основе типа изображения, при этом каждое изображение помечается типом изображения как одним из трех типов, определенных ниже: 1) CRA-изображение: изображение, которое отличается тем, что изображение типа 2, следующее за CRA-изображением, может правильно декодироваться, когда декодирование начинается от CRA-изображения; 2) изображение типа 1: изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, помеченное как изображение типа 1, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение типа 2: изображение, которое имеет список опорных изображений, для выполнения интеркадрового предсказания, и которое отличается тем, что каждое опорное изображение в списке опорных изображений помечается либо как изображение типа 2 либо как CRA-изображение и декодируется после CRA-изображения, связанного с упомянутым изображением; и при этом на этапе восстановления устройство видеодекодирования с предсказанием продолжает, в течение периода сразу перед обработкой следующего CRA-изображения, процесс декодирования, так что когда декодирование кодированных данных начинается от CRA-изображения, упомянутое устройство видеодекодирования с предсказанием декодирует изображение, помеченное как изображение типа 2, и пропускает декодирование изображения, помеченного как изображение типа 1.
Программа видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является программой видеодекодирования с предсказанием, которая позволяет компьютеру функционировать как: средство ввода, которое вводит данные сжатых изображений, включающие в себя изображение случайного доступа и кодированные данные, указывающие порядок вывода каждого изображения и тип изображения каждого изображения, получающиеся в результате кодирования посредством либо интракадрового предсказания либо интеркадрового предсказания для множества изображений, составляющих видеопоследовательность; средство восстановления, которое декодирует данные сжатых изображений и упомянутые кодированные данные для восстановления изображений, информации порядка вывода и информации типа изображений; средство хранения изображений, которое осуществляет хранение одного или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для декодирования последующего изображения; и средство управления, которое управляет средством восстановления, на основе типа изображения, при этом каждое изображение помечается типом изображения как одним из трех типов, определенных ниже: 1) CRA-изображение: изображение, которое отличается тем, что изображение типа 2, следующее за CRA-изображением, может правильно декодироваться, когда декодирование начинается от CRA-изображения; 2) изображение типа 1: изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, помеченное как изображение типа 1, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение типа 2: изображение, которое имеет список опорных изображений, для выполнения интеркадрового предсказания, и которое отличается тем, что каждое опорное изображение в списке опорных изображений помечается либо как изображение типа 2 либо как CRA-изображение и декодируется после CRA-изображения, связанного с упомянутым изображением; и при этом средство восстановления продолжает, в течение периода сразу перед обработкой следующего CRA-изображения, процесс декодирования, так что когда декодирование кодированных данных начинается от CRA-изображения, упомянутое средство восстановления декодирует изображение, помеченное как изображение типа 2, и пропускает декодирование изображения, помеченного как изображение типа 1.
Следует отметить здесь, что устройство, способ и программа видеокодирования с предсказанием и устройство, способ и программа видеодекодирования с предсказанием в соответствии с вариантами осуществления настоящего изобретения могут также осуществляться с использованием режимов, как описано ниже.
Другое устройство видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является устройством видеокодирования с предсказанием, которое содержит: средство ввода, которое осуществляет ввод множества изображений, составляющих видеопоследовательность; средство кодирования, которое кодирует упомянутые изображения посредством способа либо интракадрового предсказания либо интеркадрового предсказания для генерирования данных сжатых изображений, включающих в себя изображение, служащее в качестве точки случайного доступа, и которое также кодирует информацию порядка вывода каждого изображения; средство восстановления, которое декодирует данные сжатых изображений для восстановления изображений; средство хранения изображений, которое хранит одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для кодирования последующего изображения; и средство управления, которое управляет средством хранения изображений, при этом средство управление управляет и классифицирует каждое из изображений на три типа, определенных ниже: 1) CRA-изображение, от которого начинается декодирование кодированных данных; 2) изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением и выводится перед упомянутым связанным CRA-изображением, которое не подвергается процессу декодирования средством восстановления и не хранится в средстве хранения изображений или выводится, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, не подвергнутое процессу декодирования средством восстановления, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение, которое декодируется средством восстановления и хранится в средстве хранения изображений для ссылки по необходимости, и которое отличается тем, что упомянутое изображение имеет список опорных изображений для выполнения интеркадрового предсказания, и тем, что каждое опорное изображение в списке опорных изображений декодируется средством восстановления и декодируется после CRA-изображения, связанного с упомянутым изображением.
Другой способ видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является способом видеокодирования с предсказанием, выполняемым посредством устройства видеокодирования с предсказанием, который содержит этапы: этап ввода, на котором вводят множество изображений, составляющих видеопоследовательность; этап кодирования, на котором кодируют упомянутые изображения посредством способа либо интракадрового предсказания либо интеркадрового предсказания для генерирования данных сжатых изображений, включающих в себя изображение, служащее в качестве точки случайного доступа, и также кодируют информацию порядка вывода каждого изображения; этап восстановления, на котором декодируют данные сжатых изображений для восстановления изображений; этап хранения изображений, на котором сохраняют одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для кодирования последующего изображения; и этап управления, на котором управляют этапом хранения изображений, при этом на этапе управления устройство видеокодирования с предсказанием управляет и классифицирует каждое из изображений на три типа, определенных ниже: 1) CRA-изображение, от которого начинается декодирование кодированных данных; 2) изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, которое не подвергается процессу декодирования посредством этапа восстановления и не сохраняется на этапе хранения изображений или выводится, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение не подвергнутое процессу декодирования посредством этапа восстановления, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение, которое декодируется посредством этапа восстановления и сохраняется на этапе хранения изображений для ссылки по необходимости, и которое отличается тем, что упомянутое изображение имеет список опорных изображений для выполнения интеркадрового предсказания, и тем, что каждое опорное изображение в списке опорных изображений декодируется посредством этапа восстановления и декодируется после CRA-изображения, связанного с упомянутым изображением.
Другая программа видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является программой видеокодирования с предсказанием, которая позволяет компьютеру функционировать как: средство ввода, которое осуществляет ввод множества изображений, составляющих видеопоследовательность; средство кодирования, которое кодирует упомянутые изображения посредством способа либо интракадрового предсказания либо интеркадрового предсказания для генерирования данных сжатых изображений, включающих в себя изображение, служащее в качестве точки случайного доступа, и которое также кодирует информацию порядка вывода каждого изображения; средство восстановления, которое декодирует данные сжатых изображений для восстановления изображений; средство хранения изображений, которое хранит одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для кодирования последующего изображения; и средство управления, которое управляет средством хранения изображений, при этом средство управление управляет и классифицирует каждое из изображений на три типа, определенных ниже: 1) CRA-изображение, от которого начинается декодирование кодированных данных; 2) изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и которое выводится перед упомянутым связанным CRA-изображением, которое не подвергается процессу декодирования средством восстановления и не хранится в средстве хранения изображений или выводится, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение не подвергнутое процессу декодирования средством восстановления, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение, которое декодируется средством восстановления и хранится в средстве хранения изображений для ссылки по необходимости, и которое отличается тем, что упомянутое изображение имеет список опорных изображений для выполнения интеркадрового предсказания, и тем, что каждое опорное изображение в списке опорных изображений декодируется средством восстановления и декодируется после CRA-изображения, связанного с упомянутым изображением.
Другое устройство видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является устройством видеодекодирования с предсказанием, которое содержит: средство ввода, которое осуществляет ввод данных сжатых изображений, включающих в себя изображение случайного доступа и кодированные данные, указывающие порядок вывода каждого изображения, получающиеся в результате кодирования посредством либо интракадрового предсказания либо интеркадрового предсказания для множества изображений, составляющих видеопоследовательность; средство восстановления, которое декодирует данные сжатых изображений и упомянутые кодированные данные для восстановления изображений и информации порядка вывода; средство хранения изображений, которое хранит одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для декодирования последующего изображения; и средство управления, которое управляет средством восстановления, при этом средство управления управляет и классифицирует каждое изображение на три типа, определенные ниже: 1) CRA-изображение, от которого начинается декодирование кодированных данных; 2) изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, которое не подвергается процессу декодирования средством восстановления и не хранится в средстве хранения изображений или выводится, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, которое не подвергается процессу декодирования средством восстановления, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение, которое декодируется средством восстановления и хранится в средстве хранения изображений для ссылки по необходимости, и которое отличается тем, что упомянутое изображение имеет список опорных изображений для выполнения интеркадрового предсказания, и тем, что каждое опорное изображение в списке опорных изображений декодируется средством восстановления и декодируется после CRA-изображения, связанного с упомянутым изображением; и при этом средство восстановления продолжает, в течение периода сразу перед обработкой следующего CRA-изображения, процесс декодирования, так что когда декодирование кодированных данных начинается от CRA-изображения, связанного с упомянутым изображением, причем упомянутое средство восстановления определяет, сохранено ли в средстве хранения изображений каждое опорное изображение в списке опорных изображений для целевого изображения, что если каждое опорное изображение в списке опорных изображений сохранено, то средство восстановления декодирует целевое изображение, и что если одно или более опорных изображений в списке опорных изображений не сохранены, то средство восстановления пропускает декодирование целевого изображения.
Другой способ видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является способом видеодекодирования с предсказанием, выполняемым устройством видеодекодирования с предсказанием, содержащим этапы: этап ввода, на котором вводят данные сжатых изображений, включающие в себя изображение случайного доступа и кодированные данные, указывающие порядок вывода каждого изображения, получающиеся в результате кодирования либо посредством интракадрового предсказания либо интеркадрового предсказания для множества изображений, составляющих видеопоследовательность; этап восстановления, на котором декодируют данные сжатых изображений и упомянутые кодированные данные для восстановления изображений и информации порядка вывода; этап хранения изображений, на котором сохраняют одно или более из упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для декодирования последующего изображения; и этап управления, на котором управляют этапом восстановления, при этом на этапе управления устройство видеодекодирования с предсказанием управляет и классифицирует каждое изображение на три типа, определенные ниже: 1) CRA-изображение, от которого начинается декодирование кодированных данных; 2) изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и выводится перед упомянутым связанным CRA-изображением, которое не подвергается процессу декодирования посредством этапа восстановления и не сохраняется на этапе хранения изображений или выводится, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, которое не подвергается процессу декодирования посредством этапа восстановления, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение, которое декодируется посредством этапа восстановления и сохраняется на этапе хранения изображений для ссылки по необходимости, и которое отличается тем, что упомянутое изображение имеет список опорных изображений для выполнения интеркадрового предсказания, и тем, что каждое опорное изображение в списке опорных изображений декодируется посредством этапа восстановления и декодируется после CRA-изображения, связанного с упомянутым изображением; при этом на этапе восстановления устройство видеодекодирования с предсказанием продолжает, в течение периода сразу перед обработкой следующего CRA-изображения, процесс декодирования, так что когда декодирование кодированных данных начинается от связанного CRA-изображения, упомянутое устройство видеодекодирования с предсказанием определяет, сохраняется ли на этапе хранения изображений каждое опорное изображение в списке опорных изображений для целевого изображения, что если каждое опорное изображение в списке опорных изображений сохраняется, то устройство видеодекодирования с предсказанием декодирует целевое изображение, и что если одно или более опорных изображений в списке опорных изображений не сохраняется, то устройство видеодекодирования с предсказанием пропускает декодирование целевого изображения.
Другая программа видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения является программой видеодекодирования с предсказанием, которая позволяет компьютеру функционировать как: средство ввода, которое осуществляет ввод данных сжатых изображений, включающих в себя изображение случайного доступа и кодированные данные, указывающие порядок вывода каждого изображения, получающиеся в результате кодирования посредством либо интракадрового предсказания либо интеркадрового предсказания для множества изображений, составляющих видеопоследовательность; средство восстановления, которое декодирует данные сжатых изображений и упомянутые кодированные данные для восстановления изображений и информации порядка вывода; средство хранения изображений, которое хранит одно или более упомянутых восстановленных изображений в качестве опорных изображений, предназначенных для использования для декодирования последующего изображения; и средство управления, которое управляет средством восстановления, при этом средство управления управляет и классифицирует каждое изображение на три типа, определенные ниже: 1) CRA-изображение, от которого начинается декодирование кодированных данных; 2) изображение, которое декодируется после CRA-изображения, связанного с упомянутым изображением, и которое выводится перед упомянутым связанным CRA-изображением, которое не подвергается процессу декодирования средством восстановления и которое не хранится в средстве хранения изображений или выводится, и которое имеет список опорных изображений для выполнения интеркадрового предсказания, причем список опорных изображений включает в себя по меньшей мере одно опорное изображение, которое не подвергается процессу декодирования средством восстановления, или по меньшей мере одно опорное изображение, предшествующее упомянутому связанному CRA-изображению в порядке декодирования; 3) изображение, которое декодируется средством восстановления и хранится в средстве хранения изображений для ссылки по необходимости, и которое отличается тем, что упомянутое изображение имеет список опорных изображений для выполнения интеркадрового предсказания, и тем, что каждое опорное изображение в списке опорных изображений декодируется средством восстановления и декодируется после CRA-изображения, связанного с упомянутым изображением; и при этом средство восстановления продолжает, в течение периода сразу перед обработкой следующего CRA-изображения, процесс декодирования, так что когда декодирование кодированных данных начинается от CRA-изображения, связанного с упомянутым изображением, упомянутое средство восстановления определяет, сохранено ли в средстве хранения изображений каждое опорное изображение в списке опорных изображений для целевого изображения, что если каждое опорное изображение в списке опорных изображений сохранено, то средство восстановления декодирует целевое изображение, и что если одно или более опорных изображений в списке опорных изображений не сохранено, то средство восстановления пропускает декодирование целевого изображения.
ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения позволяют распознавание декодируемого изображения для того, чтобы сделать декодируемое изображение доступным в качестве опорного изображения для последующего изображения, таким образом, способствуя улучшению характеристик предсказания. Более конкретно, когда декодирование начинается от CRA-изображения на ведущей стороне битового потока, устройство видеодекодирования с предсказанием способно выявить, может ли конкретное изображение быть правильно декодировано (посредством использования метки или посредством сравнения с набором опорных изображений). По этой причине, устройство видеодекодирования с предсказанием может выбирать и отбрасывать только не декодируемое изображение (вместо отбрасывания всех ведущих изображений) для того, чтобы сделать декодируемое изображение доступным в качестве опорного изображения для последующего изображения, таким образом, способствуя улучшению характеристик предсказания.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является блок-схемой, изображающей устройство видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2 является блок-схемой, изображающей устройство видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 3 является чертежом для пояснения синтаксических элементов в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 4 является блок-схемой, изображающей способ видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5 является блок-схемой, изображающей способ видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6 является чертежом, изображающим конфигурацию аппаратного обеспечения компьютера для выполнения программы, хранящейся на запоминающем носителе.
Фиг. 7 является общим видом компьютера для выполнения программы, хранящейся на запоминающем носителе.
Фиг. 8 является блок-схемой, изображающей пример конфигурации программы видеокодирования с предсказанием.
Фиг. 9 является блок-схемой, изображающей пример конфигурации программы видеодекодирования с предсказанием.
Фиг. 10 является чертежом для пояснения уровня техники настоящего изобретения.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения будут описаны ниже с использованием Фиг. 1-9.
[ОБ УСТРОЙСТВЕ ВИДЕОКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ]
Фиг. 1 является функциональной блок-схемой, изображающей конфигурацию устройства 100 видеокодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения. Как показано на Фиг. 1, устройство 100 видеокодирования с предсказанием обеспечивается терминалом 101 ввода, устройством 102 деления на блоки, генератором 103 предсказываемого сигнала, памятью 104 кадров, вычитателем 105, преобразователем 106, квантователем 107, деквантователем 108, обратным преобразователем 109, сумматором 110, энтропийным кодером 111, терминалом 112 вывода, терминалом 113 ввода и устройством 114 управления памятью кадров (или устройством управления буфером) как функциональная конфигурация. Операции соответствующих функциональных блоков будут описаны в операции устройства 100 видеокодирования с предсказанием ниже. Преобразователь 106 и квантователь 107 соответствуют средствам кодирования, и деквантователь 108, обратный преобразователь 109 и сумматор 110 соответствуют средствам декодирования.
Операция устройства 100 видеокодирования с предсказанием, конфигурируемого как описано выше, будет описана ниже. Видеосигнал, состоящий из множества изображений, подается на терминал 101 ввода. Изображение цели кодирования делится на множество областей посредством устройства 102 деления на блоки. В настоящем варианте осуществления целевое изображение делится на блоки, каждый из которых составляет 8х8 пикселей, но оно может делиться на блоки любого размера или формы, отличающихся от вышеупомянутого. Затем генерируется предсказанный сигнал для области как цели процесса кодирования (которая будет называться здесь далее как целевой блок). В настоящем варианте осуществления используется два типа способов предсказания. А именно, имеются интеркадровое предсказание и интракадровое предсказание.
При интеркадровом предсказании, восстанавливаемые изображения, которые были кодированы и после этого предварительно восстановлены, используются как опорные изображения, и информация движения для предоставления предсказываемому сигналу наименьшей ошибки от целевого блока определяется из опорных изображений. Упомянутый процесс называется детектированием движения. В зависимости от ситуации, целевой блок может также подвергаться субделению на субобласти для определения способа интеркадрового предсказания для каждой из субобластей. В этом случае, наиболее эффективный способ деления для всего целевого блока и информация движения каждой субобласти определяются из разнообразных способов деления. В варианте осуществления в соответствии с настоящим вариантом осуществления, упомянутая операция осуществляется в генераторе 103 предсказываемого сигнала, целевой блок подается через линию L102, и опорные изображения подаются через линию L104. Опорные изображения, предназначенные для использования здесь, являются множеством изображений, которые были кодированы и восстановлены в прошлом. Подробности использования опорных изображений являются такими же, как в способах MPEG-2 или 4 и H.264, которые являются традиционными технологиями. Как только информация движения и способ деления субобластей определяются, как ранее описано, информация движения и способ деления субобластей подаются через линию L112 на энтропийный кодер 111 чтобы быть кодированными посредством него, и затем кодированные данные выводятся с помощью терминала 112 вывода. Информация, указывающая, с какого опорного изображения из множества опорных изображений предсказываемый сигнал получается (такая информация называется «опорный индекс») также передается через линию L112 на энтропийный кодер 111. В варианте осуществления в соответствии с настоящим изобретением, четыре или пять восстановленных изображений хранятся в памяти 104 кадров, чтобы быть использованы как опорные изображения. Генератор 103 предсказываемого сигнала получает сигналы опорных изображений из памяти 104 кадров, на основе опорных изображений и информации движения, соответствующей способу деления субобластей и каждой субобласти, и генерирует предсказываемый сигнал. Предсказываемый сигнал с интеркадровым предсказанием таким способом подается через линию L103 на вычитатель 105.
При интракадровом предсказании, предсказываемый сигнал с интракадровым предсказанием генерируется с использованием восстановленных значений пикселей, пространственно смежных целевому блоку. В особенности, генератор 103 предсказываемого сигнала получает сигналы восстановленных пикселей в том же кадре из памяти 104 кадров и экстраполирует эти сигналы для генерирования предсказываемого сигнала с интракадровым предсказанием. Информация, указывающая способ экстраполяции, подается через линию L112 на энтропийный кодер 111, чтобы быть кодированной посредством него, и затем кодированные данные выводятся от терминала 112 вывода. Предсказываемый сигнал с интракадровым предсказанием, генерируемый таким способом, подается на вычитатель 105. Способ генерирования предсказываемого сигнала с интракадровым предсказанием в генераторе 103 предсказываемого сигнала является такими же, как способ H.264, являющийся традиционной технологией. Предсказываемый сигнал с наименьшей ошибкой выбирается из предсказываемого сигнала с интеркадровым предсказанием и предсказываемого сигнала с интракадровым предсказанием, получаемого как описано выше, и выбранный предсказываемый сигнал подается на вычитатель 105.
Поскольку не имеется изображений перед первым изображением, все его целевые блоки обрабатываются с помощью интракадрового предсказания. Для переключения каналов ТВ, целевые блоки регулярно определяемые как точки случайного доступа, обрабатываются посредством интракадрового предсказания. Эти изображения называются внутренними кадрами и также называются IDR-изображениями в H.264.
Вычитатель 105 вычитает предсказываемый сигнал (подаваемый через линию L103) от сигнала от целевого блока (подаваемого через линию L102) для генерирования остаточного сигнала. Упомянутый остаточный сигнал преобразуется посредством дискретного косинусного преобразования посредством преобразователя 106 для получения коэффициентов преобразования, которые квантуются посредством квантователя 107. Окончательно, энтропийный кодер 111 кодирует квантованные коэффициенты преобразования, и кодированные данные выводятся наряду с информацией о способе предсказания от терминала 112 вывода.
Для интракадрового предсказания или интеркадрового предсказания последующего целевого блока, сигнал целевого блока, который является сжатым, подвергается обратной обработке для восстановления. А именно, квантованные коэффициенты преобразования подвергаются обратному квантованию посредством обратного квантователя 108 и затем преобразуются посредством обратного дискретного косинусного преобразования посредством обратного преобразователя 109, для восстановления остаточного сигнала. Сумматор 110 добавляет восстановленный сигнал к предсказываемому сигналу, подаваемому через линию L103, для восстановления сигнала целевого блока, и восстановленный сигнал хранится в памяти 104 кадров. В настоящем варианте осуществления используется преобразователь 106 и обратный преобразователь 109, но также возможно использовать обработку другого преобразования вместо этих преобразователей. В зависимости от ситуаций, преобразователь 106 и обратный преобразователь 109 могут быть пропущены.
Память 104 кадров является конечным устройством хранения и не является возможным хранить все восстановленные изображения. Только восстановленные изображения, предназначенные для использования для кодирования последующего изображения, хранятся в памяти 104 кадров. Блоком для управления этой памятью 104 кадров является устройство 114 управления памятью кадров. Устройство 114 управления памятью управляет памятью 104 кадров через линию L115 для того, чтобы удалять ненужное изображение (например, старое изображение) из N восстановленных изображений в памяти 104 кадров (где N равно 4 в варианте осуществления, но N может быть заранее определенным целым числом) и, таким образом, позволять хранение самого последнего восстановленного изображения как опорного изображения. Устройство 114 управления памятью кадров также принимает информацию порядка вывода каждого изображения и тип кодирования каждого изображения (кодирование с интракадровым предсказанием, кодирование с интеркадровым предсказанием или кодирование с двунаправленным предсказанием) от терминала 113 ввода, и опорный индекс через линию L112, и устройство 114 управления памятью кадров работает на основе этих частей информации.
В то же время информация порядка вывода каждого изображения и информация о типе блока NAL, описываемого ниже, подаются через линию L114 на энтропийный кодер 111 в соответствии с необходимостью, для того, чтобы таким образом подвергнуться кодированию, и кодированные данные выводятся наряду с данными сжатого изображения. Информация порядка вывода является сопровождающей на каждом изображении и может быть информацией, указывающей порядок изображения или время вывода изображения, или опорное время вывода (временная ссылка) изображения. В настоящем варианте осуществления значение информации порядка вывода прямо преобразуется в двоичный код. Операция устройства 114 управления памятью кадров в настоящем варианте осуществления будет описана позже.
[ОБ УСТРОЙСТВЕ ВИДЕОДЕКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ]
Далее устройство видеодекодирования с предсказанием в соответствии с настоящим изобретением будет описано. Фиг. 2 является функциональной блок-схемой, изображающей конфигурацию устройства 200 видеодекодирования с предсказанием в соответствии с вариантом осуществления настоящего изобретения. Как показано на Фиг. 2, устройство 200 видеодекодирования с предсказанием обеспечивается терминалом 201 ввода, устройством 202 анализа данных, деквантователем 203, обратным преобразователем 204, сумматором 205, генератором 208 предсказываемого сигнала, памятью 207 кадров, терминалом 206 вывода, устройством 209 управления памятью кадров, контроллером 210, коммутатором 211 как функциональная конфигурация. Операции соответствующих функциональных блоков будут описаны в операции устройства 200 видеодекодирования с предсказанием ниже. Деквантователь 203 и обратный преобразователь 204 соответствуют средствам декодирования. Средства, связанные с декодированием, не ограничиваются исключительно деквантователем 203 и обратным преобразователем 204, но могут быть любыми другими средствами. Кроме того, средства, связанные с декодированием, могут конфигурироваться деквантователем 203 только, исключая обратный преобразователь 204.
Операция устройства 200 видеодекодирования с предсказанием будет описана ниже. Сжатые данные, получающиеся в результате кодирования со сжатием посредством вышеупомянутого способа посредством устройства 100 видеокодирования с предсказанием, поступают на вход через терминал 201 ввода. Эти сжатые данные содержат остаточный сигнал, получающийся от кодирования с предсказанием каждого целевого блока, получаемого посредством деления изображения на множество блоков, и информации, связанной с генерированием предсказываемого сигнала. Информация, связанная с генерированием предсказываемого сигнала включает в себя информацию о делении на блоки (размер блока), информацию движения, вышеумомянутый опорный индекс и информацию о типе блока NAL в случае интеркадрового предсказания, или информацию о способе экстраполяции от восстановленных окружающих пикселей в случае интракадрового предсказания.
Устройство 202 анализа данных извлекает остаточный сигнал из целевого блока, упомянутую информацию, связанную с генерированием предсказываемого сигнала, параметр квантования и информацию порядка вывода изображения из сжатых данных. Остаточный сигнал целевого блока подвергается обратному квантованию на основе параметра квантования (подаваемого через линии L202 и L211) посредством деквантователя 203. Результат преобразуется посредством обратного дискретного косинусного преобразования посредством обратного преобразователя 204.
Далее информация, связанная с генерированием предсказываемого сигнала подается через линию L206b на генератор 208 предсказываемого сигнала. Генератор 208 предсказываемого сигнала получает доступ к памяти 207 кадров на основании информации, связанной с генерированием предсказываемого сигнала, для получения опорного сигнала из множества опорных изображений (через линию L207) и генерирования предсказываемого сигнала. Предсказываемый сигнал подается через линию L208 на сумматор 205, сумматор 205 добавляет предсказываемый сигнал к восстанавливаемому остаточному сигналу для воспроизведения сигнала целевого блока, и сигнал целевого блока выводится через линию L205 от терминала 206 вывода и одновременно сохраняется в памяти 207 кадров.
Восстановленные изображения, предназначенные для использования для декодирования и воспроизведения последующего изображения, хранятся в памяти 207 кадров. Устройство 209 управления памятью кадров управляет памятью 207 кадров через линию L209a. Память 207 кадров управляется так, что нежелательное изображение (например, самое старое изображение) удаляется из N восстановленных изображений, хранящихся (где N равно 4 в варианте осуществления, но N может быть любым заранее определенным целым числом) чтобы позволить хранение самого последнего восстановленного изображения как опорного изображения.
Контроллер 210 работает на основе информации порядка вывода целевого изображения и информации о типе кодирования и типе блока NAL изображения, кото изображения, которые подаются на контроллер 210 через линию L206a. В другой ситуации, контроллер 210 может работать на основе опорного индекса, подаваемого через линию L206a, и информации о кадрах, подаваемой через линию L209b и хранящуюся в памяти кадров. Операция контроллера 210 в соответствии с настоящим изобретением будет описана ниже.
Коммутатор 211 управляется через линию L210 посредством контроллера 210 и работает так, чтобы пропускать декодирование конкретных кадров в зависимости от условий. Операция коммутатора 211 в соответствии с настоящим изобретением будет описана ниже.
Фиг. 3 изображает синтаксические элементы 500 битового потока. Синтаксические элементы 500 битового потока состоят из множества синтаксических элементов, необходимых для декодирования каждого изображения (510, 520 и т.д.). В синтаксисе изображения, внимание фокусируется на трех элементах, указанных ниже.
Тип блока уровня сетевой адаптации (Network adaptation layer unit type, NUT) или тип (530) блока NAL.
Подсчет вывода изображений (Picture output count, POC) (540).
Набор опорных изображений (Reference picture set, RPS) (550).
1) NUT включает в себя информацию о типе изображения. Следует отметить, что настоящее изобретение может использовать другое средство для сигнализирования типа изображения. В настоящем варианте осуществления каждое изображение отмечается как один из трех видов типов блоков NAL. Типами блоков NAL являются RAS, CRA и не RAS, как будет описано далее ниже.
Изображение, помеченное как RAS (random access skip - пропуск случайного доступа) изображение пропускается, для того чтобы не выводиться, когда декодирование начинается от CRA-изображения, связанного с RAS изображением. С другой стороны, когда предшествующее CRA-изображение не является первым изображением битового потока (или кода декодирование не начинается от предшествующего CRA-изображения), устройство 200 видеодекодирования с предсказанием рассматривает RAS-изображение как не RAS-изображение и конфигурируется для декодирования и вывода RAS-изображения в соответствии с командой вывода упомянутого изображения.
Изображение, помеченное как CRA (clean random access - чистый случайный доступ) изображение указывает, что когда декодирование начинается от CRA-изображения, связанного с CRA-изображением, любое изображение кроме RAS-изображения, может быть декодировано без ошибки.
Изображение, помеченное как не RAS-изображение, предполагается декодируемым посредством устройства 200 видеодекодирования с предсказанием и выводится в соответствии командой вывода изображения. Каждое CRA-изображение предполагается являющимся не RAS-изображением, если не установлено иначе.
2) POC включает в себя информацию порядка выходного изображения.
3) RPS включает в себя информацию опорных изображений, используемых для интеркадрового предсказания текущего изображения. Любое опорное изображение в буфере декодированных изображений (decoded picture buffer, DPB), не существующее в RPS, не может использоваться как опорное изображение для декодирования с предсказанием текущим изображением или каким-либо изображением.
Настоящий вариант осуществления имеет следующие функциональные возможности об RPS, для обеспечения, кода декодирование битового потока начинается от CRA-изображения, правильного декодирования каждого не RAS-изображения.
Функциональная возможность 1: касаясь RPS, используемого ведущим изображением, когда одно или более опорных изображений (или по меньшей мере одно опорное изображение) являются RAS-изображениями или когда они выводятся после CRA-изображения, связанного с упомянутым изображением, ведущее изображение должно полагаться RAS-изображением.
Функциональная возможность 2: каждое опорное изображение в RPS, используемым не RAS-изображением, должно полагаться как опорное изображение не RAS-изображения и опорное изображение, декодируемое после CRA-изображения, связанного с упомянутым изображением.
Поскольку в настоящем варианте осуществления каждое нормальное изображение обрабатывается как не RAS-изображение, любое изображение, не удовлетворяющее функциональным возможностям 1 и 2, не позволяется в битовом потоке. Однако настоящее изобретение не ограничивается только ведущим изображением, описанным в функциональной возможности 1, но может в равной степени применяться к каждому изображению. Касаясь функциональной возможности 2, настоящее изобретение может также применяться к ситуации, где опорные изображения ограничиваются только ведущими изображениями.
[ХАРАКТЕРНАЯ ОПЕРАЦИЯ В УСТРОЙСТВЕ 100 ВИДЕОКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ]
Операция устройства 100 видеокодирования с предсказанием для генерирования битового потока с вышеупомянутыми функциональными возможностями, являющимися пунктом настоящего изобретения, будет описана со ссылкой на Фиг. 4. Устройство 100 видеокодирования с предсказанием помещает CRA-изображения в фиксированный период в битовый поток для осуществления случайного доступа. Все изображения, следующие за одним входным CRA-изображением в порядке кодирования, являются связанными с входным CRA-изображением и кодируются в соответствии с этапами, приведенными ниже, перед тем, как следующее CRA-изображение помещается в битовый поток.
На этапе 620 определяется, являются ли RAS-изображениями одно или более опорных изображений в RPS упомянутого изображения (то есть целевого изображения для кодирования). Когда одно или более опорных изображений в RPS целевого изображения являются RAS-изображениями (ДА), процесс переходит на этап 650; если нет (НЕТ), то процесс переходит на этап 630.
На этапе 630 определяется, выводятся ли одно или более опорных изображений в RPS упомянутого целевого изображения перед CRA-изображением, связанным с упомянутым целевым изображением. Когда одно или более опорных изображений в RPS упомянутого целевого изображения выводятся перед CRA-изображением, связанным с упомянутым целевым изображением в порядке кодирования (ДА), тогда процесс переходит на этап 650; если нет (НЕТ), то процесс переходит на этап 640.
На этапе 650, POC упомянутого целевого изображения сравнивается с POC CRA-изображения, связанного с упомянутым целевым изображением, таким образом, осуществляется проверка, является ли целевое изображение ведущим изображением. Когда POC упомянутого целевого изображения является меньше, чем POC CRA-изображения, связанного с упомянутым целевым изображением, тогда упомянутое целевое изображение определяется как ведущее изображение (ДА) и затем процесс переходит на этап 670. Иначе упомянутое целевое изображение определяется не как ведущее изображение (НЕТ); однако определение на этапе 620 и этапе 630 должно быть (ДА) только для ведущих изображений, и результат определния, что упомянутое целевое изображение не является ведущим изображением (НЕТ), является ненормальным; поэтому, процесс переходит на этап 660 для вывода сообщения об ошибке и затем переходит на этап 680. После вывода сообщения об ошибке на этапе 660, обработка Фиг. 4 может завершаться как ненормальное завершение.
На этапе 670 упомянутое целевое изображение кодируется как RAS-изображение, и информация, указывающая, что упомянутое целевое изображение является RAS-изображением (тип блока NAL: RAS), кодируется. Затем процесс переходит на этап 680.
На этапе 640, упомянутое целевое изображение кодируется как не RAS-изображение, и информация, указывающая, что упомянутое целевое изображение является не RAS-изображением (тип блока NAL: не RAS), кодируется. Затем процесс переходит на этап 680. Отмечается здесь, что CRA-изображения включаются в не RAS-изображения, если не заявляется иначе.
На этапах 640 и 670, информация, указывающая, что упомянутое целевое изображение является RAS-изображением или не RAS-изображением, не должна всегда кодироваться, но, вместо кодирования вышеупомянутой информации, является ли упомянутое целевое изображение RAS-изображением или не RAS-изображением, может определяться посредством сравнения между списком опорных изображений каждого изображения и изображениями, хранящимися в памяти 104 кадров.
На этапе 680 устройство 100 видеокодирования с предсказанием определяет, имеется ли дальнейшее изображение для кодирования; если имеется (ДА), то процесс возвращается на этап 620 для повторения обработки; если нет (НЕТ), то обработка Фиг. 4 завершается.
Последовательная обработка, описанная выше, соответствует обработке полного устройства 100 видеокодирования с предсказанием на Фиг. 1, и среди других, процессы определения на этапах 620, 630 и 650 выполняются устройством 114 управления памятью кадров.
[ХАРАКТЕРНАЯ ОПЕРАЦИЯ В УСТРОЙСТВЕ 200 ВИДЕОДЕКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ]
Устройство 200 видеодекодирования с предсказанием настоящего изобретения работает различно, когда процесс декодирования начинается от CRA-изображения как первого изображения битового потока, от того, когда первое изображение битового потока является не CRA-изображением. Этот процесс декодирования возвращается на нормальный процесс декодирования после декодирования следующего CRA-изображения.
Операция устройства 200 видеокодирования с предсказанием для декодирования битового потока с вышеупомянутыми функциональными возможностями настоящего изобретения будет описана с использованием Фиг. 5.
На этапе 710 устройство 200 видеодекодирования с предсказанием определяет, на основании типа блока NAL, является ли первое изображение битового потока (то есть, первое изображение при начале декодирования битового потока) CRA-изображением. Когда первое изображение не является CRA-изображением (НЕТ), тогда процесс переходит на этап 780, где устройство 200 видеодекодирования с предсказанием декодирует каждое изображение в соответствии с нормальной операцией. А именно, на этом этапе 780 RAS-изображение рассматривается как не RAS-изображение и декодируется и выводится в соответствии с командой в упомянутом изображении в соответствии с нормальной операцией. С другой стороны, когда упомянутое первое изображение битового потока является CRA-изображением на этапе 710 (ДА), тогда процесс переходит на этап 720.
Обработка с этапа 720 до этапа 770 повторно выполняется для всех изображений, в течение периода сразу перед началом декодирования следующего CRA-изображения, и после этого обработка возвращается к нормальному процессу декодирования на этапе 780. Обработка с этапа 720 по этап 770 будет описана ниже.
На этапе 720 устройство 200 видеодекодирования с предсказанием определяет, является ли упомянутое изображение (то есть, целевое изображение для декодирования) правильно декодируемым, при начале декодирования упомянутого целевого изображения. Поскольку битовый поток в настоящем варианте осуществления имеет функциональные возможности 1 и 2, описанные выше, устройство 200 видеодекодирования с предсказанием может определять, может ли упомянутое целевое изображение быть правильно декодируемым, с использованием по меньшей мере одного из двух способов ниже. Первым способом является способом проверки метки типа блока NAL упомянутого целевого изображения. Если упомянутое целевое изображение помечено как RAS-изображение, то устройство 200 видеодекодирования с предсказанием может определять, что упомянутое целевое изображение не может быть правильно декодированным. Вторым способом является способ, в котором устройство 200 видеодекодирования с предсказанием сравнивает опорные изображения в DPB со списком опорных изображений RPS упомянутого целевого изображения. Если какое-либо одно из опорных изображений в RPS упомянутого целевого изображения не существует в DPB, то устройство 200 видеодекодирования с предсказанием может определить, что упомянутое целевое изображение не может быть правильно декодированным. Когда устройство 200 видеодекодирования с предсказанием определяет, что упомянутое целевое изображение может быть правильно декодированным (ДА), с использованием по меньшей мере одного из первый и второй способы, как описано выше, тогда процесс переходит на этап 730; когда устройство 200 видеодекодирования с предсказанием определяет, что упомянутое целевое изображение не может быть правильно декодированным (НЕТ), тогда процесс переходит на этап 750.
На этапе 730 устройство 200 видеодекодирования с предсказанием декодирует и выводит упомянутое целевое изображение в соответствии с командой в упомянутом целевом изображении. Это также применяется к CRA-изображению. После этого процесс переходит на этап 740.
На этапе 750, упомянутое устройство сравнивает POC упомянутого целевого изображения с POC CRA-изображения, связанного с упомянутым целевым изображением, таким образом, определяя, является ли целевое изображение ведущим изображением. Когда POC упомянутого целевого изображения является меньше, чем POC CRA-изображения, связанного с упомянутым целевым изображением (ДА), тогда упомянутое целевое изображение определяется как ведущее изображение, и процесс переходит на этап 770, описанный ниже. Иначе (НЕТ) упомянутое целевое изображение не является ведущим изображением и может вызвать ошибку; поэтому, процесс переходит на этап 760, где устройство 200 видеодекодирования с предсказанием выводит сообщение об ошибке и продолжает на этапе 740. После вывода сообщения об ошибке на этапе 760 обработка Фиг. 5 может завершаться как ненормальное завершение. Следует отметить, как описано выше, что определение на этапе 750 необходимо только, когда функциональная возможность 1 ограничивается только ведущими изображениями.
На этапе 770, устройство 200 видеодекодирования с предсказанием пропускает декодирование упомянутого целевого изображения посредством того, что не подвергает декодированию упомянутое целевое изображение, и выполняет необходимый вспомогательный процесс, как описано ниже. Необходимый вспомогательный процесс здесь может быть, например, процессом отметки упомянутого целевого изображения как пропущенного, с меткой, указывающей, что «упомянутое изображение является недоступным как опорный кадр и таким образом не выводится». Затем процесс переходит на этап 740.
На этапе 740, устройство 200 видеодекодирования с предсказанием определяет, является ли следующее изображение, предназначенное для декодирования, CRA-изображением, и когда следующее изображение не является CRA-изображением (НЕТ), тогда упомянутое устройство возвращается на этап 720 для повторения упомянутой обработки. С другой стороны, когда следующее изображение является CRA-изображением (ДА), тогда процесс декодирования в соответствии с настоящим изобретением (процесс декодирования со случайным доступом) больше не является необходимым после следующего CRA-изображения, и поэтому процесс переходит на этап 780 для перемещения на процесс нормального декодирования (процесс декодирования каждого изображения и его вывода в соответствии с информацией порядка вывода).
Последовательная обработка, описанная выше, соответствует обработке полного устройства 200 видеодекодирования с предсказанием на Фиг. 2, и среди других определения на этапах 720 и 750 и управления на этапах 730 и 770 осуществляются контроллером 210.
В соответствии с настоящим вариантом осуществления как описано выше, устройство 200 видеодекодирования с предсказанием способно детектировать, может ли определенное изображение быть правильно декодированным (посредством использования метки или посредством сравнения с множеством опорных изображений), когда декодирование начинается от CRA-изображения на головной части битового потока. По этой причине устройство 200 видеодекодирования с предсказанием может выбирать и отбрасывать только изображение, которое не может быть декодировано, вместо отбрасывания всех ведущих изображений, чтобы позволить декодируемому изображению быть использованным как опорное изображение для последующего изображения, таким образом, способствуя улучшению характеристик предсказания.
При назначении типа RAS блока NAL изображениям, устройство 100 видеокодирования с предсказанием генерирует правильно декодируемые изображения и недекодируемые изображения. С другой стороны устройство 200 видеодекодирования с предсказанием не выводит недекодируемые изображения. Это делает временные интервалы между выходными изображениями, которые могут действовать на выходную скорость кадров. Существование интервалов вывода является неблагоприятным для некоторых систем. В настоящем варианте осуществления, устройство 100 видеокодирования с предсказанием уведомляет устройство 200 видеодекодирования с предсказанием о том, имеются ли интервалы, связанные с RAS-изображениями, как дополнительная информация посредством флага в заголовке CRA-изображения или в синтаксисе применимости видео (video usability syntax, VUI). Устройство 200 видеодекодирования с предсказанием, принимая этот флаг, может выбирать, имеется ли предназначенное для вывода ведущее изображение с интервалом, которое может быть правильно декодировано.
Как другое средство, отличающееся от упомянутого выше, дальнейшее ограничение может быть установлено над битовым потоком для того, чтобы предотвратить интервал на RAS-изображении, которое выводится после CRA-изображения. А именно, упомянутый битовый поток может размещаться так, чтобы непрерывно выводиться без интервалов на RAS-изображениях.
Как еще одно средство, устройство 200 видеодекодирования с предсказанием может определять, что ведущее изображение не RAS декодируется, но не выводится, независимо от другой дополнительной информации от устройства 100 видеокодирования с предсказанием или от информации порядка вывода упомянутого изображения.
В настоящем варианте осуществления упомянутые метки типов блока NAL (RAS, CRA, не RAS) детектируются и используются посредством устройства 200 видеодекодирования с предсказанием, но метки типов блока NAL могут детектироваться и использоваться для выполнения обработки для отбрасывания RAS-изображения, когда декодирование начинается от точки случайного доступа, в других устройствах (например, сервер, соответствующие сетевые элементы и т.д.) в сети. Это может сберегать ширину полосы сети.
В настоящем варианте осуществления, каждый битовый поток может включать в себя большое число CRA-изображений, и имеются RAS-изображения, связанные с соответствующими CRA-изображениями. Когда второе CRA-изображение в порядке декодирования следует за первым CRA-изображением, RPS вышеупомянутого второго CRA-изображения не разрешается для включения какого-либо опорного изображения, декодированного перед первым CRA-изображением. Это обеспечивает то, что когда первое CRA-изображение является первым изображением битового потока, тогда RAS-изображение второго CRA-изображения декодируется.
[О ПРОГРАММЕ ВИДЕОКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ И ПРОГРАММЕ ВИДЕОДЕКОДИРОВАНИЯ С ПРЕДСКАЗАНИЕМ]
Упомянутое изобретение устройства 100 видеокодирования с предсказанием может также интерпретироваться как изобретение программы видеокодирования с предсказанием, для позволения компьютеру функционировать как устройство 100 видеокодирования с предсказанием. Подобным образом упомянутое изобретение устройства 200 видеодекодирования с предсказанием может также интерпретироваться как изобретение программы видеодекодирования с предсказанием, для позволения компьютеру функционировать как устройство 200 видеодекодирования с предсказанием.
Программа видеокодирования с предсказанием и программа видеодекодирования с предсказанием предоставляются, например, как хранящиеся на запоминающем носителе. Примеры такого носителя для хранения информации включают в себя гибкие диски, компакт-диски (CD-ROM), устройства памяти USB, цифровые диски универсального назначения (DVD), полупроводниковые устройства памяти и т.д.
Фиг. 8 изображает модули программы видеокодирования с предсказанием для позволения компьютеру функционировать как устройство 100 видеокодирования с предсказанием. Как показано на Фиг. 8, программа P100 видеокодирования с предсказанием снабжается входным модулем P101, модулем P102 кодирования, модулем P103 восстановления, модулем P104 хранения изображений и модулем P105 управления.
Фиг. 9 изображает модули программы видеодекодирования с предсказанием для позволения компьютеру функционировать как устройство 200 видеодекодирования с предсказанием. Как показано на Фиг. 9, программа P200 видеодекодирования с предсказанием снабжается входным модулем P201, модулем P202 восстановления, модулем P203 хранения изображений и модулем P204 управления.
Программа P100 видеокодирования с предсказанием и программа P200 видеодекодирования с предсказанием, конфигурируемые как описано выше, могут храниться на запоминающем носителе 10, показанном на фигурах Фиг. 6 и Фиг. 7, и выполняются посредством компьютера 30, описанного ниже.
Фиг. 6 является чертежом, изображающим конфигурацию аппаратного обеспечения компьютера для выполнения программы, хранящейся на запоминающем носителе, и Фиг. 7 представляет собой общий вид компьютера для выполнения программы, хранящейся на запоминающем носителе. Упомянутый компьютер содержит DVD-плеер, телевизионную абонентскую приставку (set-top box), сотовый телефон и т.д., снабжается центральным процессором (CPU) и конфигурируется для выполнения обработки и управления посредством программного обеспечения.
Как показано на Фиг. 6, компьютер 30 снабжается читающим устройством 12, таким как блок дисковода гибких дисков, блок дисковода компакт дисков (CD-ROM), оперативной памятью (RAM) 14, на которой операционная система является резидентной, памятью 16 для хранения программ, хранящихся на запоминающем носителе 10, блоком 18 монитора подобно дисплею, мышью 20 и клавиатурой 22 как устройства ввода, коммуникационным устройством 24 для передачи и приема данных или т.п., и центральным процессором (CPU) 26 для управления выполнением программ. Когда запоминающий носитель 10 помещается в читающее устройство 12, тогда упомянутый компьютер 30 становится доступным для программы видеокодирования с предсказанием, хранящейся на запоминающем носителе 10, через читающее устройство 12, и становится возможным работать как устройство видеокодирования с предсказанием, в соответствии с настоящим изобретением, через выполнение программы видеокодирования с предсказанием. Подобным образом, когда запоминающий носитель 10 помещается в читающее устройство 12, тогда упомянутый компьютер 30 становится доступным для программы видеодекодирования с предсказанием, хранящейся на запоминающем носителе 10, через читающее устройство 12, и становится возможным работать как устройство видеодекодирования с предсказанием, в соответствии с настоящим изобретением, через выполнение программы видеодекодирования с предсказанием.
Как показано на Фиг. 7, программа видеокодирования с предсказанием или программа видеодекодирования с предсказанием может одна предоставляться в форме сигнала 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: устройство управления памятью кадров; 210: контроллер; P100: программа видеокодирования с предсказанием; P101: входной модуль; P102: модуль кодирования; P103: модуль восстановления; P104: модуль хранения изображений; P105: модуль управления; P200: программа видеодекодирования с предсказанием; P201: входной модуль; P202: модуль восстановления; P203: модуль хранения изображений; P204: модуль управления.