УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
IMAGE PROCESSING DEVICE AND METHOD

Область техники, к которой относится изобретение
Настоящее раскрываемое изобретение относится к устройству и способу обработки изображений, а более конкретно к устройству и способу обработки изображений, сконфигурированным таким образом, чтобы сделать возможным повышение эффективности кодирования при кодировании или декодировании вектора движения (MV вектора) на изображении с множественными видами.
В последнее время, в целях высокоэффективной передачи и накопления информации при цифровой обработке информации изображения, широкое распространение получили устройства для "сжатия" и кодирования изображения, в которых принята схема кодирования с цифровой обработкой информации изображения и выполнением "сжатия" посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсации движения с использованием избыточности, специфической для информации изображения. Примерами таких схем кодирования является стандарт Н.264, MPEG-4 (Экспертной группы по вопросам движущегося изображения (MPEG)) Часть 10 (Advanced Video Coding (Усовершенствованное кодирование видеоданных)) (в дальнейшем именуемый как H.264/AVC) и ему подобные.
В результате этого, в целях повышения эффективности кодирования по сравнению со стандартом H.264/AVC, в настоящее время группой Joint Collaborative Team on Video Coding (JCTVC) (Совместной объединенной группой по кодированию видеоданных), которая является совместной организацией Сектора стандартизации в области телекоммуникаций Международного союза по телекоммуникациям (International Telecommunication Union Telecommunication Standardization Sector (ITU-T)) и Международной организации по стандартизации (International Organization for Standardization (ISO))/Международной электротехнической комиссии (International Electrotechnical Commission (IEC)) ведутся работы по стандартизации схемы кодирования, именуемой как высокоэффективное кодирование видеоданных (HEVC-кодирование).
В имеющемся на текущий момент времени проекте HEVC-кодирования исследуются схемы для повышения производительности кодирования неосновного вида посредством изменения уровня элемента кодирования (CU-элемента) как трехмерного (3D) расширения (непатентный документ 1).
В качестве одного инструмента для такого рода схемы имеется Предсказание движения, осуществляемое между видами (IVMP-предсказание), при котором в качестве кандидатов для предсказанного вектора неосновного вида служат закодированные векторы других видов.
Список упоминаемых документов
Непатентный документ
Непатентный документ 1: Gerhard Tech, Krzysztof Wegner, Ying Chen, Sehoon Yea, "3D-HEVC Test Model Description draft 1" (Герхард Тек, Кржижтоф Вегнер, Йинг Чен, Сехун Йеа "Проект 1 описания тестовой модели 3D-HEVC (Высокоэффективного кодирования для трехмерных видеоданных)"), JCT3V-A1005_d0, Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 1th Meeting (1-ое заседание Совместной объединенной группы по разработке расширения для кодирования трехмерных видеоданных, созданной Сектором стандартизации в области телекоммуникаций Международного союза по телекоммуникациям (исследовательской группой 16, WP 3) и Международной организацией по стандартизации/Международной электротехнической комиссией (Объединенным техническим комитетом 1/Подкомитетом 29/Рабочей группой 11)): Стокгольм, Швеция, 16-20 Июля 2012 г.
Раскрытие изобретения
Техническая задача
Однако в IVMP-предсказании имеется возможность задавать вектор движения некоторого опорного элемента предсказания (PU-элемента) в качестве кандидата для предсказанного вектора текущего элемента предсказания только тогда, когда порядковый номер отсчета видеокадров (РОС-номер) опорного изображения для вектора движения текущего элемента предсказания является одинаковым с РОС-номером опорного изображения для вектора движения опорного элемента предсказания на виде, отличном от текущего вида.
Настоящее раскрываемое изобретение было сделано ввиду вышеизложенных обстоятельств и позволяет повысить эффективность кодирования при кодировании или декодировании вектора движения на неосновном виде.
Решение задачи
Устройство обработки изображений, соответствующее первому аспекту настоящего раскрываемого изобретения, включает в себя секцию генерирования предсказанного вектора, сконфигурированную таким образом, чтобы генерировать предсказанный вектор для использования при кодировании вектора движения (MV) текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока, секцию кодирования вектора движения, сконфигурированную таким образом, чтобы кодировать вектор движения текущего блока, используя предсказанный вектор, сгенерированный секцией генерирования предсказанного вектора, и секцию кодирования, сконфигурированную таким образом, чтобы генерировать закодированный поток данных, кодируя изображение в элементах, имеющих иерархическую структуру.
Секция генерирования предсказанного вектора может генерировать предсказанный вектор, масштабируя вектор движения опорного блока в соответствии с порядковым номером отсчета видеокадров (РОС-номером) опорного изображения для текущего блока и РОС-номером опорного изображения для опорного блока и используя отмасштабированный вектор движения в качестве кандидата для предсказанного вектора.
В состав устройства может быть дополнительно включена передающая секция, сконфигурированная таким образом, чтобы передавать вектор движения текущего блока, закодированный секцией кодирования вектора движения, и закодированный поток данных, сгенерированный секцией кодирования.
Первый способ обработки изображений, соответствующий настоящему раскрываемому изобретению, включает в себя этапы, на которых: генерируют, посредством устройства обработки изображений, предсказанный вектор для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока, кодируют, посредством устройства обработки изображений, вектор движения текущего блока, используя сгенерированный предсказанный вектор, и генерируют, посредством устройства обработки изображений, закодированный поток данных, кодируя изображение в элементах, имеющих иерархическую структуру.
Второе устройство обработки изображений, соответствующее настоящему раскрываемому изобретению, включает в себя: секцию генерирования предсказанного вектора, сконфигурированную таким образом, чтобы генерировать предсказанный вектор для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока, секцию декодирования вектора движения, сконфигурированную таким образом, чтобы декодировать вектор движения текущего блока, используя предсказанный вектор, сгенерированный секцией генерирования предсказанного вектора, и секцию декодирования, сконфигурированную таким образом, чтобы генерировать изображение, декодируя закодированный поток данных, закодированный в элементах, имеющих иерархическую структуру.
Секция генерирования предсказанного вектора может генерировать предсказанный вектор, масштабируя вектор движения опорного блока в соответствии с РОС-номером опорного изображения для текущего блока и РОС-номером опорного изображения для опорного блока и используя отмасштабированный вектор движения в качестве кандидата для предсказанного вектора.
В состав устройства может быть дополнительно включена принимающая секция, сконфигурированная таким образом, чтобы принимать закодированный поток данных и закодированный вектор движения текущего блока.
Способ обработки изображений, соответствующий второму аспекту настоящего раскрываемого изобретения, включает в себя этапы, на которых: генерируют, посредством устройства обработки изображений, предсказанный вектор для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока, декодируют, посредством устройства обработки изображений, вектор движения текущего блока, используя сгенерированный предсказанный вектор, и генерируют, посредством устройства обработки изображений, изображение, декодируя закодированный поток данных, закодированный в элементах, имеющих иерархическую структуру.
В первом аспекте настоящего раскрываемого изобретения предсказанный вектор для использования при кодировании вектора движения текущего блока генерируют, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока. В результате этого, кодируют вектор движения текущего блока, используя сгенерированный предсказанный вектор, и генерируют закодированный поток данных, кодируя изображение в элементах, имеющих иерархическую структуру.
Во втором аспекте настоящего раскрываемого изобретения предсказанный вектор генерируют для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока.
Кроме того, вышеописанное устройство обработки изображений может представлять собой независимое устройство или внутренний блок, составляющий одно устройство кодирования изображений или устройство декодирования изображений.
Полезные результаты изобретения
В соответствии с первым аспектом настоящего раскрываемого изобретения имеется возможность кодировать изображение. В частности, имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
В соответствии со вторым аспектом настоящего раскрываемого изобретения имеется возможность декодировать изображение. В частности, имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
Краткое описание чертежей
Фиг. 1 представляет собой схему, на которой в качестве традиционной технологии проиллюстрировано IVMP-предсказание (Предсказание движения, осуществляемое между видами).
Фиг. 2 представляет собой схему, на которой в качестве традиционной технологии проиллюстрировано IVMP-предсказание.
Фиг. 3 представляет собой схему, на которой проиллюстрирован набросок настоящей технологии.
Фиг. 4 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации кодера, составляющего устройство кодирования изображений с множественными видами, в котором применена настоящая технология.
Фиг. 5 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции предсказания/компенсации движения.
Фиг. 6 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции предсказания вектора в режиме усовершенствованного предсказания вектора движения (AMVP-предсказания).
Фиг. 7 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции генерирования предсказанного вектора.
Фиг. 8 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса кодирования.
Фиг. 9 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс предсказания/компенсации движения.
Фиг. 10 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс предсказания вектора в режиме AMVP-предсказания.
Фиг. 11 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс генерирования непространственно предсказанного вектора.
Фиг. 12 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс генерирования предсказанного вектора L0.
Фиг. 13 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс генерирования предсказанного вектора L1.
Фиг. 14 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации декодера, составляющего устройство декодирования изображений с множественными видами, в котором применена настоящая технология.
Фиг. 15 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции компенсации движения.
Фиг. 16 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции предсказания вектора в режиме AMVP-предсказания.
Фиг. 17 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции генерирования предсказанного вектора.
Фиг. 18 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса декодирования.
Фиг. 19 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс компенсации движения.
Фиг. 20 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс предсказания вектора в режиме AMVP-предсказания.
Фиг. 21 представляет собой блок-схему алгоритма, на которой проиллюстрирован процесс генерирования непространственно предсказанного вектора.
Фиг. 22 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации компьютера.
Фиг. 23 представляет собой структурную схему, на которой проиллюстрирован пример схематической конфигурации телевизионного устройства.
Фиг. 24 представляет собой структурную схему, на которой проиллюстрирован пример схематической конфигурации мобильного телефона.
Фиг. 25 представляет собой структурную схему, на которой проиллюстрирован пример схематической конфигурации устройства записи/воспроизведения.
Фиг. 26 представляет собой структурную схему, на которой проиллюстрирован пример схематической конфигурации устройства ввода изображения.
Фиг. 27 представляет собой структурную схему, на которой проиллюстрирован пример использования масштабируемого кодирования видеоинформации.
Фиг. 28 представляет собой структурную схему, на которой проиллюстрирован другой пример использования масштабируемого кодирования видеоинформации.
Фиг. 29 представляет собой структурную схему, на которой проиллюстрирован еще один другой пример использования масштабируемого кодирования видеоинформации.
Фиг. 30 представляет собой структурную схему, на которой проиллюстрирован пример схематической конфигурации видеокомплекта.
Фиг. 31 представляет собой структурную схему, на которой проиллюстрирован пример схематической конфигурации видеопроцессора.
Фиг. 32 представляет собой структурную схему, на которой проиллюстрирован другой пример схематической конфигурации видеопроцессора.
Фиг. 33 представляет собой пояснительную схему, на которой проиллюстрирована конфигурация системы воспроизведения контента.
Фиг. 34 представляет собой пояснительную схему, на которой проиллюстрирован поток данных в системе воспроизведения контента.
Фиг. 35 представляет собой пояснительную схему, на которой проиллюстрирован конкретный пример описания представления мультимедиа (MPD-описания).
Фиг. 36 представляет собой функциональную структурную схему, на которой проиллюстрирована конфигурация сервера контента, который (сервер) относится к системе воспроизведения контента.
Фиг. 37 представляет собой функциональную структурную схему, на которой проиллюстрирована конфигурация устройства воспроизведения контента, которое (устройство) относится к системе воспроизведения контента.
Фиг. 38 представляет собой функциональную структурную схему, на которой проиллюстрирована конфигурация сервера контента, который (сервер) относится к системе воспроизведения контента.
Фиг. 39 представляет собой блок-схему последовательности операций, на которой проиллюстрирован пример процесса обмена информацией, осуществляемого каждым устройством системы беспроводной связи.
Фиг. 40 представляет собой блок-схему последовательности операций, на которой проиллюстрирован пример процесса обмена информацией, осуществляемого каждым устройством системы беспроводной связи.
Фиг. 41 представляет собой схему, на которой схематично проиллюстрирован пример конфигурации формата кадра данных, подлежащего передаче и приему в ходе процесса обмена информацией каждым устройством системы беспроводной связи.
Фиг. 42 представляет собой блок-схему последовательности операций, на которой проиллюстрирован пример процесса обмена информацией, осуществляемого каждым устройством системы беспроводной связи.
Осуществление изобретения
Далее будут описаны способы (именуемые в дальнейшем как варианты реализации изобретения) для осуществления настоящего раскрываемого изобретения. Кроме того, описание будет даваться в нижеследующем порядке.
1. Краткие обзоры традиционной технологии и данной технологии
2. Первый вариант реализации изобретения (устройство кодирования изображений с множественными видами),
3. Второй вариант реализации изобретения (устройство декодирования изображений с множественными видами),
4. Третий вариант реализации изобретения (компьютер)
5. Пример применения
6. Пример применения масштабируемого кодирования
7. Шестой вариант реализации изобретения (комплект/звено/модуль/процессор)
8. Пример применения системы воспроизведения контента по стандарту MPEG (Экспертной группы по вопросам движущегося изображения) «Динамическая адаптивная потоковая передача данных по Протоколу передачи гипертекста (HTTP-протоколу)» (DASH)
9. Пример применения системы беспроводной связи стандарта Wi-Fi (беспроводного доступа с высоким качеством передачи данных)
1. Краткие обзоры традиционной технологии и данной технологии
Описание традиционной технологии
В качестве одной схемы повышения производительности кодирования неосновного вида существует IVMP-предсказание (Предсказание движения, осуществляемое между видами), в котором кандидатом для предсказанного вектора этого неосновного вида служит закодированный вектор другого вида.
IVMP-предсказание будет описано со ссылкой на Фиг. 1. В примере, показанном на Фиг. 1, вертикальная ось представляет вид, вид (V0) представляет некоторый основной вид, а вид (VI) представляет некоторый неосновной вид. Горизонтальная ось представляет моменты времени: с Т1 по Т4.
Основной вид (V0) уже закодирован. Тогда, выполняются предсказание и компенсация движения текущего элемента предсказания (Curr PU) изображения в момент (Т3) времени на неосновном виде (V1), и получаются векторы движения в направлениях L0 и L1. При этом, РОС-номер изображения на момент (Т1) времени для того же самого вида (V1) представляет собой Ref 1 (Ref РОС=1), РОС-номер изображения на момент (Т2) времени представляет собой Ref 0 (Ref РОС=0), и РОС-номер изображения на момент (Т4) времени представляет собой Ref 0 (Ref РОС=0).
Вектор движения для направления L0 полученного текущего элемента предсказания указывает изображение с Ref 0 (Ref РОС=0), относящееся к моменту (Т2) времени, а вектор движения для направления L1 указывает изображение с Ref 0 (Ref РОС=0), относящееся к моменту (Т4) времени.
В IVMP-предсказании имеется возможность, в качестве кандидата для предсказанного вектора, получаемого во время кодирования, добавить вектор движения текущего элемента предсказания к вектору движения, закодированному на основном виде, в дополнение к вектору движения, служащему в качестве кандидата в традиционном AMVP-предсказании.
L0
L1
Таким образом, поскольку имеется корреляция в движении на основном виде (V0) и неосновном виде (V1), каждый из векторов (MV и MV) движения опорного элемента предсказания (Cor PU (Корреспондирующего элемента предсказания)) на основном виде (V0), относящемся к тому же самому моменту времени, может служить для текущего элемента предсказания на неосновном виде (V1) в качестве одного кандидата для предсказанного вектора. При этом, опорный элемент предсказания на основном виде (V0) относится к элементу предсказания в положении, сдвинутом на некоторый вектор разницы от положения, одинакового с положением элемента предсказания на изображении неосновного вида, после того, как этот вектор разницы найден из векторов движения элементов предсказания, расположенных вокруг текущего элемента предсказания (то есть соседних элементов предсказания, которые соседствуют с текущим элементом предсказания).
L0
L1
Однако, как проиллюстрировано на Фиг. 1, это имеет место только в случае, при котором моменты (Т2 и Т4) времени изображения, в которые осуществляется ссылка на векторы (MV и MV) движения опорного элемента предсказания на основном виде (V0), являются теми же самыми, что и моменты (Т2 и Т4) времени изображения, в которые осуществляется ссылка на вектор движения текущего элемента предсказания на неосновном виде (V1).
Таким образом, имеется возможность назначить вектор движения опорного элемента предсказания в качестве кандидата для предсказанного вектора движения текущего элемента предсказания только в том случае, когда Ref РОС (Ref 0) для текущего элемента предсказания является одинаковым с Ref РОС (Ref 0) для опорного элемента предсказания.
L0
L1
Соответственно, как проиллюстрировано на Фиг. 2, принимается во внимание случай, при котором каждый из ReFIdx L0 (Индекса опорного видеокадра в направлении L0) и ReFIdx L1 (Индекса опорного видеокадра в направлении L1) векторов (MV и MV) движения опорного элемента предсказания для момента (Т3) времени на основном виде (V0) представляет собой 0.
L1
L1
В этом случае, когда ReFIdx L0 для вектора движения текущего элемента предсказания для момента (Т3) времени на неосновном виде (V1) представляет собой 1, а ReFIdx L1 представляет собой 0, Ref РОС предсказанного вектора PMV L1 (предсказанного вектора движения для направления L1) текущего элемента предсказания является тем же самым, что и Ref РОС вектора (MV) движения опорного элемента предсказания. Следовательно, вектор (MV) движения опорного элемента предсказания для момента (Т3) времени на основном виде (V0) может быть использован в качестве кандидата для предсказанного вектора текущего элемента предсказания.
L0
L0
L0
Однако, поскольку Ref РОС для предсказанного вектора PMV L0 текущего элемента предсказания отличается от Ref РОС для вектора (MV) движения опорного элемента предсказания, то вектор (MV) движения опорного элемента предсказания является непригодным ("ложь") и вектор (MV) движения опорного элемента предсказания не назначается в качестве предсказанного вектора. Таким образом, имеется корреляция между видом и неосновным видом, как это описано выше, но эффективность кодирования снижена, потому что трудно сгенерировать предсказанный вектор, имеющий высокую корреляцию.
Поэтому, в данной технологии, в том случае, когда Ref РОС (Ref 0) для текущего элемента предсказания отличается от Ref РОС (Ref 0) для опорного элемента предсказания на другом виде, осуществляется масштабирование вектора движения опорного элемента предсказания, и в качестве кандидата для предсказанного вектора текущего элемента предсказания служит этот масштабированный вектор движения.
L0
L0
L0
L0
Например, в примере, показанном на Фиг. 3, как и в примере, показанном на Фиг. 2, Ref РОС для предсказанного вектора PMV L0 текущего элемента предсказания отличается от Ref РОС для вектора (MV) движения опорного элемента предсказания. Следовательно, в данной технологии, вектор (MV) движения опорного элемента предсказания масштабируется в соответствии с пунктами назначения ссылки для текущего элемента предсказания и опорного элемента предсказания. Таким образом, вектор (MV) движения опорного элемента предсказания масштабируется в соответствии с расстоянием между номерами Ref РОС текущего элемента предсказания и опорного элемента предсказания, и этот вычисленный вектор (MV) движения, используется в качестве кандидата для предсказанного вектора текущего элемента предсказания.
Благодаря этому, имеется возможность повысить эффективность кодирования вектора движения, поскольку может быть сгенерирован предсказанный вектор, имеющий высокую корреляцию.
Таким образом, поскольку характеристики камеры немного отличаются на различных видах, то видеокадры, на которые должна осуществляться ссылка, могут быть различными даже для векторов движения одного и того же объекта. В этом случае, имеется значительный эффект в части повышения эффективности кодирования, потому что векторы движения, имеющие высокую корреляцию, можно отмасштабировать и использовать, не превращая эти векторы движения в непригодные.
2. Первый вариант реализации изобретения
Пример конфигурации устройства кодирования изображений с множественными видами
На Фиг. 4 проиллюстрирована конфигурация одного варианта реализации кодера, составляющего устройство кодирования изображений с множественными видами, в котором применено настоящее раскрываемое изобретение.
Устройство кодирования изображений с множественными видами включает в себя, например, кодеры: с 11-1 по 11-М, для кодирования изображений с множественными видами.
Кодер (11-1) кодирует изображение, такое как вводимое изображение с множественными видами, по схеме HEVC-кодирования (Высокоэффективного кодирования видеоданных). Например, в кодер (11-1) вводится, в качестве входного изображения, некоторое цветное изображение неосновного вида кадрового элемента, и кодер (11-1) кодирует это цветное изображение неосновного вида.
Например, кодеры (11-М) и (11-N) для кодирования цветных изображений других видов (включающих в себя основной вид) кадровых элементов также сконфигурированы подобно кодеру (11-1). В дополнение к этому, в случае, когда имеется также кодер для кодирования изображения с информацией о насыщенности цвета так же как и цветного изображения, этот кодер сконфигурирован подобно кодеру (11-1).
Кодер (11-1) сконфигурирован таким образом, чтобы включать в себя секцию (21) аналого-цифрового преобразования, буфер (22) переупорядочивания видеокадров, вычислительную секцию (23), секцию (24) ортогонального преобразования, секцию (25) квантования, секцию (26) кодирования без потерь, накопительный буфер (27), секцию (28) процесса, обратного квантованию, секцию (29) обратного ортогонального преобразования и вычислительную секцию. Кроме того, кодер (11-1) сконфигурирован таким образом, чтобы включать в себя внутрицикловой фильтр (31), буфер (32-1) декодированных видеокадров (DPB-буфер), секцию (33) предсказания, осуществляемого внутри видеокадра, секцию (34) предсказания/компенсации движения, секцию (35) выбора предсказанного изображения, и память (36-1) векторов движения.
Видеокадр цветного изображения неосновного вида, которое представляет собой изображение (движущееся изображение), подлежащее кодированию, последовательно предоставляется секции (21) аналого-цифрового преобразования в порядке отображения.
В случае, когда изображение, предоставляемое секции (21) аналого-цифрового преобразования, представляет собой аналоговый сигнал, секция (22) аналого-цифрового преобразования преобразует аналоговый сигнал в соответствии с аналого-цифровым преобразованием и предоставляет преобразованный аналоговый сигнал буферу (112) переупорядочивания видеокадров.
Например, данные о порядке кодирования предоставляются буферу (22) переупорядочивания видеокадров, в качестве информации о кодировании, из секции синтаксического кодирования, относящейся к предшествующей стадии, (не проиллюстрированной на чертеже) или аналогичной ей. Буфер (22) переупорядочивания видеокадров временно хранит видеокадр, полученный из секции (21) аналого-цифрового преобразования и считывает видеокадр в соответствии со структурой группы видеокадров (GOP-группы), указанной в поступившем порядке кодирования, так что выполняется процесс переупорядочения последовательности видеокадров от порядка отображения в порядок кодирования (порядок декодирования).
Видеокадр, считанный из буфера (22) переупорядочивания видеокадров, предоставляется вычислительной секции (23), секции (33) предсказания, осуществляемого внутри видеокадра, и секции (34) предсказания/компенсации движения.
В дополнение к предоставлению изображения из буфера (22) переупорядочивания видеокадров, вычислительной секции (23) предоставляется, из секции (35) выбора предсказанного изображения, предсказанное изображение, сгенерированное секцией (33) предсказания, осуществляемого внутри видеокадра, или секцией (34) предсказания/компенсации движения.
Вычислительная секция (23) назначает видеокадр, считанный из буфера (22) переупорядочивания видеокадров, в качестве видеокадра-объекта обработки, который представляет собой видеокадр, подлежащий кодированию, и вслед за этим назначает макроблок (наибольший элемент кодирования (LCU-элемент)), образующий этот видеокадр-объект обработки, в качестве блока-объекта обработки, подлежащего кодированию.
После этого, вычислительная секция (23) выполняет кодирование с предсказанием после вычисления значения разности посредством вычитания пиксельного значения предсказанного изображения, предоставляемого из секции (35) выбора предсказанного изображения, из пиксельного значения блока-объекта обработки, если это необходимо, и предоставляет результат кодирования с предсказанием в секцию (24) ортогонального преобразования.
Секция (24) ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразования Карунена-Лоэва (Karhunen-Loeve), используя в качестве элемента элемент преобразования (TU-элемент), над блоком-объектом обработки, поступившим из вычислительной секции (23), (разностью, полученной посредством вычитания предсказанного изображения или пиксельного значения этого блока), и предоставляет полученный в результате этого коэффициент преобразования в секцию (115) квантования.
Секция (25) квантования осуществляет квантование коэффициента преобразования, предоставленного из секции (24) ортогонального преобразования, и предоставляет полученное в результате этого значение квантования в секцию (26) кодирования без потерь.
Секция (26) кодирования без потерь выполняет над значением квантования, поступившим из секции (25) квантования, кодирование без потерь, такое как кодирование с переменной длиной кодового слова (например, Контекстно зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC-кодирование) или тому подобное) или арифметическое кодирование (например, Контекстно зависимое адаптивное бинарное арифметическое кодирование (САВАС-кодирование) или тому подобное), и предоставляет полученные в результате этого закодированные данные в накопительный буфер (27).
Кроме того, в дополнение к предоставлению значения квантования из секции (25) квантования, в секцию (26) кодирования без потерь предоставляется информация заголовка, входящая в состав заголовка закодированных данных из секции (33) предсказания, осуществляемого внутри видеокадра, или секции (34) предсказания/компенсации движения.
Секция (26) кодирования без потерь кодирует информацию заголовка, поступившую из секции (33) предсказания, осуществляемого внутри видеокадра, или секции (34) предсказания/компенсации движения, и включает закодированную информацию заголовка в заголовок закодированных данных.
Накопительный буфер (27) временно хранит закодированные данные, поступившие из секции (26) кодирования без потерь, и выводит эти хранящиеся закодированные данные с некоторой предварительно заданной скоростью передачи данных. Кроме того, накопительный буфер (27) функционирует в качестве передающей секции.
Закодированные данные, выводимые из накопительного буфера (27), мультиплексируются с закодированными данными другого вида, закодированного другим кодером (11-М) или ему подобным, и мультиплексированные закодированные данные передаются на устройство декодирования изображений с множественными видами, как это будет описано позже.
Значение квантования, полученное секцией (25) квантования, предоставляется секции (28) процесса, обратного квантованию, так же как и секции (26) кодирования без потерь, и в секции (28) процесса, обратного квантованию, секции (29) обратного ортогонального преобразования и вычислительной секции (30) выполняется локальное декодирование.
Таким образом, секция (28) процесса, обратного квантованию, осуществляет процесс, обратный квантованию, над значением квантования, поступившим из секции (25) квантования, получая коэффициент преобразования, и предоставляет коэффициент преобразования в секцию (29) обратного ортогонального преобразования.
Секция (29) обратного ортогонального преобразования выполняет обратное ортогональное преобразование над коэффициентом преобразования, поступившим из секции (28) процесса, обратного квантованию, и предоставляет преобразованный коэффициент преобразования в вычислительную секцию (30).
Вычислительная секция (30) получает декодированное изображение, в котором блок-объект обработки декодирован (локально декодирован) посредством суммирования пиксельного значения предсказанного изображения, предоставляемого из секции (35) выбора предсказанного изображения, с данными, предоставляемыми из секции (29) обратного ортогонального преобразования, если это необходимо, и предоставляет полученное декодированное изображение внутрицикловому фильтру (31).
Внутрицикловой фильтр (31) составлен, например, из фильтра устранения блочности. Кроме того, например, в случае, когда принята схема HEVC (Высокоэффективного кодирования видеоданных), внутрицикловой фильтр (31) составлен из фильтра устранения блочности и фильтра адаптивного смещения (адаптивного смещения выборки (SAO-смещения)). Внутрицикловой фильтр (31) удаляет (уменьшает) искажение блочности (видимую блочность структуры видеоизображения), имеющее место на декодированном изображении, фильтруя декодированное изображение, поступающее из вычислительной секции (30), и предоставляет декодированное изображение после удаления (уменьшения) этого искажения в DPB-буфер (32-1) (буфер декодированных видеокадров). Кроме того, внутрицикловой фильтр (31) предоставляет декодированное изображение, которое еще не было отфильтровано, секции (33) предсказания, осуществляемого внутри видеокадра.
Здесь, DPB-буфер (32-1) хранит декодированное изображение, поступающее из внутрициклового фильтра (31), то есть видеокадр цветного изображения неосновного вида, закодированного в кодере (11-1) и локально декодированного, в качестве (кандидата для) опорного видеокадра, на который должна осуществляться ссылка при генерировании предсказанного изображения, подлежащего использованию в ходе кодирования с предсказанием (кодировании, в ходе которого вычислительной секцией (23) выполняется вычитание предсказанного изображения), выполняемого в более позднее время. Кроме того, осуществляется совместное использование DPB-буфера (32-1) с кодером (11-М) другого вида.
Кроме того, локальное декодирование, осуществляемое секцией (28) процесса, обратного квантованию, секцией (29) обратного ортогонального преобразования и вычислительной секцией (30), например, выполняется, имея своей целью 1-й Ρ -видеокадры, которые представляют собой видеокадры, на которые возможна ссылка, способные служить в качестве опорных видеокадров. В DPB-буфере (32-1) хранятся декодированные изображения 1-й Ρ -видеокадров.
Секция (33) предсказания, осуществляемого внутри видеокадра, и секция (34) предсказания/компенсации движения выполняют процесс предсказания в элементах, представляющих собой элементы предсказания, выступающих в качестве блока-объекта обработки.
В случае, когда блок-объект обработки представляет собой I-видеокадр, Р-видеокадр или В-видеокадр (в том числе Bs-видеокадры), получаемые посредством внутрикадрового предсказания (предсказания, осуществляемого внутри видеокадра), секция (33) предсказания, осуществляемого внутри видеокадра, считывает из блока-объекта обработки, поступающего из внутрициклового фильтра (31) некоторый уже декодированный участок (декодированное изображение). После этого, секция (33) предсказания, осуществляемого внутри видеокадра, назначает часть декодированного изображения видеокадра-объекта обработки, считываемого из внутрициклового фильтра (31), в качестве предсказанного изображения блока-объекта обработки на видеокадре-объекте обработки, предоставляемом из буфера (22) переупорядочивания видеокадров.
Далее, секция (33) предсказания, осуществляемого внутри видеокадра, получает "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки, используя это предсказанное изображение, то есть "стоимость" кодирования, требующуюся для того, чтобы закодировать разность или тому подобное для предсказанного изображения в блоке-объекте обработки, и предоставляет полученную "стоимость" кодирования наряду с предсказанным изображением в секцию (35) выбора предсказанного изображения.
Секция (34) предсказания/компенсации движения выполняет процесс предсказания вектора в режиме AMVP (Усовершенствованного предсказания вектора движения), и процесс предсказания вектора в режиме M/S (режиме слияния/пропуска) в случае, когда видеокадр-объект обработки представляет собой предсказанный (Р)-видеокадр или двунаправлено предсказанный (В)-видеокадр, получаемый посредством межкадрового предсказания.
Секция (34) предсказания/компенсации движения считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-1), в качестве видеокадров-кандидатов (кандидатов для опорного видеокадра межкадрового предсказания).
В дополнение к этому, секция (34) предсказания/компенсации движения считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-N), предусмотренного в кодере (например, кодере (11-N)) другого вида, в качестве видеокадров-кандидатов (кандидатов для опорного видеокадра предсказания, осуществляемого между видами).
Кроме того, DPB-буфер (32-N) хранит видеокадр цветного изображения другого вида, закодированный в кодере (11-N) и локально декодированный, в качестве (кандидата для) опорного видеокадра, на который должна осуществляться ссылка при генерировании предсказанного изображения для использования в ходе кодирования с предсказанием, подлежащего выполнению в более позднее время.
Секция (34) предсказания/компенсации движения определяет вектор сдвига (вектор движения), представляющий перемещение, служащее сдвигом между блоком-объектом обработки и корреспондирующим ему блоком (блоком, имеющим самую малую сумму абсолютных разностей (SAD-сумму) по отношению к блоку-объекту обработки) видеокадра-кандидата, корреспондирующего блоку-объекту обработки, посредством оценки движения (ME) (определения движения) с использованием блока-объекта обработки на видеокадре-объекте обработки, поступающем из буфера (22) переупорядочивания видеокадров, и видеокадра-кандидата в случае режима AMVP-предсказания. При этом в качестве этого определенного вектора движения выступает межкадровый вектор движения, представляющий временной сдвиг, и вектор движения между видами, представляющий сдвиг между видами.
Секция (34) предсказания/компенсации движения генерирует предсказанное изображение, выполняя компенсацию движения для компенсирования сдвига на величину перемещения для видеокадра-кандидата, поступившего из DPB-буфера (32-1) или (32-N), в соответствии с вектором движения блока-объекта обработки.
Таким образом, секция (34) предсказания/компенсации движения получает, в качестве предсказанного изображения, корреспондирующий блок, который представляет собой блок (область) в положении, перемещенном (сдвинутом) в соответствии с вектором движения блока-объекта обработки от положения блока-объекта обработки на видеокадре кандидате.
В дополнение к этому, секция (34) предсказания/компенсации движения назначает этот вектор движения в качестве кандидата для предсказанного вектора для кодирования с использованием пространственно соседних блоков, примыкающих к нему на том же самом видеокадре. Секция (34) предсказания/компенсации движения считывает из памяти (36-1) векторов движения векторы движения корреспондирующих блоков, ассоциативно связанных посредством векторов движения на видеокадрах, относящихся к другим моментам времени, того же самого вида, и назначает считанные векторы движения в качестве кандидатов для предсказанного вектора. Секция (34) предсказания/компенсации движения считывает из памяти (36-N) векторов движения, в которой хранятся векторы движения других видов, векторы движения опорных блоков на других видах, относящихся к одному и тому же моменту времени, и назначает считанные векторы движения в качестве кандидатов для предсказанного вектора.
Кроме того, здесь, опорный блок (Cor PU (Корреспондирующий элемент предсказания), показанный на Фиг. 1) на другом виде представляет собой блок в положении, сдвинутом на некоторый вектор разницы от положения, одинакового с положением блока-объекта обработки на изображении этого другого вида после того, как вектор разницы найден из числа векторов движения соседних блоков, примыкающих к периферии блока-объекта обработки (Curr PU (текущий элемент предсказания, показанный на Фиг. 1).
С другой стороны, в случае режима M/S секция (34) предсказания/компенсации движения назначает кандидата для вектора движения, используя пространственно соседние блоки, примыкающие к нему на том же самом видеокадре. Секция (34) предсказания/компенсации движения считывает из памяти (36-1) векторов движения векторы движения, корреспондирующих блоков, ассоциативно связанных посредством векторов движения на видеокадрах, относящихся к другим моментам времени, того же самого вида, и назначает считанные векторы движения в качестве кандидатов для вектора движения. Секция (34) предсказания/компенсации движения считывает из памяти (36-N) векторов движения, в которой хранятся векторы движения других видов, векторы движения опорных блоков на других видах, относящихся к одному и тому же моменту времени, и назначает считанные векторы движения в качестве кандидатов для вектора движения. Секция (34) предсказания/компенсации движения генерирует видеокадры-кандидаты, используя этих кандидатов для вектора движения.
После этого, секция (34) предсказания/компенсации движения получает "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки, используя предсказанное изображение, для каждого видеокадра-кандидата для использования при генерировании предсказанного изображения, каждого кандидата для вектора движения, каждого кандидата для предсказанного вектора, каждого режима межкадрового предсказания (в том числе режима предсказания, осуществляемого между видами) с переменным размером блока, или каждого режима M/S.
Секция (34) предсказания/компенсации движения предоставляет предсказанное изображение и "стоимость" кодирования, полученные в оптимальном режиме межкадрового предсказания, секции (35) выбора предсказанного изображения, назначая в качестве оптимального режима межкадрового предсказания, который является наилучшим режимом межкадрового предсказания, режим межкадрового предсказания или режим предсказания, осуществляемый между видами, имеющие самую низкую стоимость кодирования.
Секция (34) предсказания/компенсации движения получает отличие от вектора движения, назначая, в качестве предсказанного вектора, кандидата для предсказанного вектора в оптимальном режиме межкадрового предсказания, и предоставляет полученное отличие, в качестве информации о векторе движения, в секцию (26) кодирования без потерь наряду с индексом предсказанного вектора. В дополнение к этому, секция (34) предсказания/компенсации движения сохраняет вектор движения на момент оптимального режима межкадрового предсказания в памяти (36-1) векторов движения.
Секция (35) выбора предсказанного изображения выбирает из предсказанных изображений, поступающих из секции (33) предсказания, осуществляемого внутри видеокадра, и секции (34) предсказания/компенсации движения, предсказанное изображение, имеющее более низкую "стоимость" кодирования, и предоставляет выбранное предсказанное изображение вычислительным секциям (23) и (30).
При этом, секция (33) предсказания, осуществляемого внутри видеокадра, предоставляет информацию о внутрикадровом предсказании, в качестве информации заголовка, в секцию (26) кодирования без потерь. Секция (34) предсказания/компенсации движения предоставляет информацию о межкадровом предсказании (информацию о векторе движения или тому подобном), в качестве информации заголовка, в секцию (26) кодирования без потерь.
Секция (26) кодирования без потерь выбирает информацию заголовка из одной, генерирующей предсказанное изображение, имеющей более низкую "стоимость" кодирования в информации заголовка, из секции (33) предсказания, осуществляемого внутри видеокадра и секции (34) предсказания/компенсации движения, и включает выбранную информацию заголовка в состав заголовка закодированных данных.
Память (36-1) векторов движения сохраняет вектор движения, определенный в секции (34) предсказания/компенсации движения, в качестве (кандидат для) вектора движения, на который должна осуществляться ссылка при генерировании предсказанного вектора для кодирования вектора движения, которое (кодирование) подлежит исполнению в более позднее время. Кроме того, осуществляется совместное использование памяти (36-1) векторов движения с кодером (11-М) другого вида.
Кроме того, в кодере (11-N), имеющем другой вид, предусмотрена память (36-N) векторов движения, и она хранит вектор движения, определенный в кодере (11-N) в качестве (кандидата для) вектора движения, на который должна осуществляться ссылка при генерировании предсказанного вектора для кодирования вектора движения, которое (кодирование) подлежит исполнению в более позднее время. Осуществляется совместное использование памяти (36-N) векторов движения с секцией (34) предсказания/компенсации движения или кодером (11-М) другого вида.
Конфигурация секции предсказания/компенсации движения
Фиг. 5 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции предсказания/компенсации движения, показанной на Фиг. 4.
В примере, показанном на Фиг. 5, секция (34) предсказания/компенсации движения сконфигурирована таким образом, чтобы включать в себя секцию (51) генерирования режима предсказания движения, секцию (52) автоматического генерирования индекса опорного изображения, секцию (53) предсказания вектора в режиме AMVP-предсказания, секцию (54) предсказания вектора в режиме M/S и секцию (55) определения режима.
Секция (51) генерирования режима предсказания движения генерирует режимы предсказания движения, такие как режим межкадрового предсказания, режим слияния и режим пропуска. Секция (51) генерирования режима предсказания движения предоставляет информацию, указывающую режим межкадрового предсказания и индекс опорного изображения (Ref index), в секцию (53) предсказания вектора в режиме AMVP-предсказания. Секция (51) генерирования режима предсказания движения предоставляет информацию о режиме слияния или режиме пропуска (режиме M/S) в секцию (52) автоматического генерирования индекса опорного изображения.
Секция (52) автоматического генерирования индекса опорного изображения автоматически генерирует индекс опорного изображения и предоставляет сгенерированный индекс опорного изображения (Ref index), наряду с информацией о режиме слияния или режиме пропуска, поступающей из секции (51) генерирования режима предсказания движения, в секцию (54) предсказания вектора в режиме M/S.
Секция (53) предсказания вектора в режиме AMVP-предсказания считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-1) или (32-N) в соответствии с режимом предсказания, сообщенным из секции (51) генерирования режима предсказания движения, и индексом опорного изображения, в качестве видеокадров-кандидатов.
Секция (53) предсказания вектора в режиме AMVP-предсказания определяет вектор движения, представляющий перемещение, служащее сдвигом между блоком- объектом обработки и корреспондирующим блоком, корреспондирующим блоку-объекту обработки на видеокадре-кандидате, посредством определения движения с использованием блока-объекта обработки на видеокадре-объекте обработки, поступающем из буфера (22) переупорядочивания видеокадров, и видеокадром-кандидатом. Секция (53) предсказания вектора в режиме AMVP-предсказания генерирует предсказанное изображение, выполняя компенсацию движения для компенсирования сдвига на величину перемещения для видеокадра-кандидата, поступившего из DPB-буфера (32-1) или (32-N), в соответствии с вектором движения блока-объекта обработки.
Секция (53) предсказания вектора в режиме AMVP-предсказания назначает этот вектор движения в качестве кандидата для предсказанного вектора для кодирования с использованием пространственно соседних блоков, примыкающих к нему на том же самом видеокадре. Секция (34) предсказания/компенсации движения считывает из памяти (36-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида, и назначает считанные векторы движения в качестве кандидатов для предсказанного вектора. Секция (53) предсказания вектора в режиме AMVP-предсказания считывает из памяти (36-N) векторов движения, в котором хранятся векторы движения для других видов, векторы движения опорных блоков на других видах, относящихся к тому же самому моменту времени, и назначает считанные векторы движения в качестве кандидатов для предсказанного вектора.
Секция (53) предсказания вектора в режиме AMVP-предсказания получает "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки, используя предсказанное изображение для каждого видеокадра-кандидата для использования при генерировании предсказанного изображения, каждого кандидата для вектора движения, каждого кандидата для предсказанного вектора или каждого режима межкадрового предсказания с переменным размером блока, основываясь на исходном изображении из буфера (22) переупорядочивания видеокадров. Секция (53) предсказания вектора в режиме AMVP-предсказания предоставляет оптимальную "стоимость" кодирования из числа полученных "стоимостей" кодирования, в качестве "стоимости" режима, в секцию (55) определения режима. При этом, секция (53) предсказания вектора в режиме AMVP-предсказания назначает кандидата для предсказанного вектора на момент оптимальной "стоимости" кодирования в качестве предсказанного вектора, получает отличие от вектора движения, и кодирует это отличие (Mvd) вектора движения и индекс (Mv index (Индекс вектора движения)) предсказанного вектора в качестве информации о векторе движения.
Секция (54) предсказания вектора в режиме M/S считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-1) или (32-N) в соответствии с режимом и индексом опорного изображения, сообщенными из секции (52) автоматического генерирования индекса опорного изображения, в качестве видеокадров-кандидатов.
В дополнение к этому, секция (54) предсказания вектора в режиме M/S назначает кандидата для вектора движения, используя пространственно соседние блоки, примыкающие к нему на том же самом видеокадре. Секция (54) предсказания вектора в режиме M/S считывает из памяти (36-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида, и назначает считанные векторы движения в качестве кандидатов для предсказанного вектора. Секция (54) предсказания вектора в режиме M/S считывает из памяти (36-N) векторов движения, в которой хранятся векторы движения для других видов, векторы движения опорных блоков на других видах, относящихся к тому же самому моменту времени, и назначает считанные векторы движения в качестве кандидатов для вектора движения. Секция (54) предсказания вектора в режиме M/S, используя кандидатов для вектора движения, генерирует видеокадр-кандидат.
Секция (54) предсказания вектора в режиме M/S получает "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки, используя предсказанное изображение, для каждого видеокадра-кандидата для использования при генерировании предсказанного изображения, каждого кандидата для вектора движения или каждого режима M/S, основываясь на исходном изображении из буфера (22) переупорядочивания видеокадров. Секция (54) предсказания вектора в режиме M/S предоставляет оптимальную "стоимость" кодирования из числа этих полученных "стоимостей" кодирования, в качестве "стоимости" режима, в секцию (55) определения режима. В дополнение к этому секция (54) предсказания вектора в режиме M/S кодирует в качестве информации о векторе движения индекс слияния, указывающий вектор движения.
Секция (55) определения режима обращается к "стоимостям" кодирования, сообщаемым из секции (53) предсказания вектора в режиме AMVP-предсказания и секции (54) предсказания вектора в режиме M/S, и определяет режим межкадрового предсказания или режим предсказания, осуществляемый между видами, имеющий самую низкую "стоимость" кодирования в качестве оптимального режима предсказания, который представляет собой наилучший режим предсказания движения. Секция (55) определения режима возвращает результат определения оптимального режима предсказания в секцию (53) предсказания вектора в режиме AMVP-предсказания и секцию (54) предсказания вектора в режиме M/S.
Секция (53) предсказания вектора в режиме AMVP-предсказания, основываясь на результате определения, поступившем из секции (55) определения режима, предоставляет предсказанное изображение (pred. image) и "стоимость" кодирования, полученные в оптимальном режиме предсказания, в секцию (35) выбора предсказанного изображения. Секция (53) предсказания вектора в режиме AMVP-предсказания предоставляет информацию о режиме межкадрового предсказания (inter mode), определенном в качестве оптимального режима предсказания, индекс опорного изображения (Ref index), и закодированную информацию о векторе движения в секцию (26) кодирования без потерь.
Секция (54) предсказания вектора в режиме M/S основываясь на результате определения, поступившем из секции (55) определения режима, предоставляет предсказанное изображение (pred. image) и "стоимость" кодирования, полученные в оптимальном режиме предсказания, в секцию (35) выбора предсказанного изображения. В дополнение к этому, секция (54) предсказания вектора в режиме M/S предоставляет информацию о режиме предсказания (режиме M/S), определенном в качестве оптимального режима предсказания, и закодированную информацию о векторе движения в секцию (26) кодирования без потерь. При этом, информация о векторе движения, относящемся к оптимальной "стоимости" кодирования временно сохраняется в (перезаписывается в) памяти пространственных векторов движения, показанной на Фиг. 6, как это будет описано позже.
Конфигурация секции предсказания вектора в режиме AMVP-предсказания
Фиг. 6 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции предсказания вектора в режиме AMVP-предсказания (Усовершенствованного предсказания вектора движения), показанной на Фиг. 5.
В примере, показанном на Фиг. 6, секция (53) предсказания вектора в режиме AMVP-предсказания сконфигурирована таким образом, чтобы включать в себя секцию (61) поиска вектора, секцию (62) генерирования предсказанного изображения, секцию (63) определения "стоимости" вектора, память (64) пространственных векторов движения, секции (65) и (66) генерирования предсказанного вектора, переключатель (67), вычитающую секцию (68) и секцию (69) преобразования РОС-номера (Порядкового номера отсчета видеокадров).
Индекс опорного изображения, поступающий из секции (51) генерирования режима предсказания движения, предоставляется секции (61) поиска вектора, секции (69) преобразования РОС-номера и секции (26) кодирования без потерь. В дополнение к этому, секции (61) поиска вектора также предоставляются данные о режиме предсказания, поступающие из секции (51) генерирования режима предсказания движения.
Секция (61) поиска вектора считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-1) или (32-N) в соответствии с режимом предсказания и индексом опорного изображения, сообщенными из секции (51) генерирования режима предсказания движения, в качестве видеокадров-кандидатов. Секция (61) поиска вектора определяет вектор движения, представляющий перемещение, служащее сдвигом между блоком-объектом обработки и корреспондирующим блоком, корреспондирующим блоку-объекту обработки на видеокадре-кандидате, посредством определения движения с использованием блока-объекта обработки на видеокадре-объекте обработки, поступающем из буфера (22) переупорядочивания видеокадров, и видеокадра-кандидата. Секция (61) поиска вектора предоставляет определенный вектор движения в секцию (62) генерирования предсказанного изображения и секцию (63) определения "стоимости" вектора.
Секция (62) генерирования предсказанного изображения генерирует предсказанное изображение, выполняя компенсацию движения для компенсирования сдвига на величину перемещения для видеокадра-кандидата, поступившего из DPB-буфера (32-1) или (32-N), в соответствии с вектором движения блока-объекта обработки, поступившим из секции (61) поиска вектора. Сгенерированное предсказанное изображение предоставляется секции (35) выбора предсказанного изображения и секции (63) определения "стоимости" вектора.
Секция (63) определения "стоимости" вектора получает стоимость кодирования, используя исходное изображение, поступившее из буфера (22) переупорядочивания видеокадров, вектор движения, поступивший из секции (61) поиска вектора, предсказанное изображение, поступившее из секции (62) генерирования предсказанного изображения, и предсказанных векторов и их индексов векторов движения, поступивших из секций (65) и (66) генерирования предсказанных векторов. После этого, секция (63) определения "стоимости" вектора определяет самую низкую "стоимость" кодирования и предоставляет самую низкую "стоимость" кодирования (самую лучшую "стоимость") и ее режим предсказания в секцию (55) определения режима. Секция (63) определения "стоимости" вектора временно сохраняет вектор движения с самой низкой "стоимостью" кодирования в памяти (64) пространственных векторов движения.
Память (64) пространственных векторов движения хранит вектор движения с самой низкой "стоимостью" кодирования в качестве кандидата на использование при генерировании предсказанного вектора, которое (генерирование) подлежит выполнению в более позднее время. В памяти (64) пространственных векторов движения вектор движения в каждом элементе (элементе предсказания) блока, в котором получен этот вектор движения. Кроме того, в случае, когда оптимальной является "стоимость" кодирования в режиме M/S, вектор движения в памяти (64) пространственных векторов движения перезаписывается на вектор движения для случая режима M/S.
В дополнение к этому, когда вектор движения с самой низкой "стоимостью" кодирования предоставляется секцией (63) определения "стоимости" вектора, память (64) пространственных векторов движения предоставляет этот вектор движения, в качестве самого лучшего вектора движения, в вычитающую секцию (68).
Секция (65) генерирования предсказанного вектора генерирует пространственно предсказанный вектор, считывая векторы движения пространственно соседних блоков, примыкающих к нему на том же самом видеокадре. Секция (65) генерирования предсказанного вектора предоставляет сгенерированный пространственно предсказанный вектор в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
Секция (66) генерирования предсказанного вектора генерирует предсказанный вектор посредством временного предсказания вектора движения (TMVP-предсказания). Таким образом, секция (66) генерирования предсказанного вектора генерирует предсказанный вектор, считывая из памяти (36-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида. Кроме того, в это время, на основе информации о РОС-номере, поступающей из секции (69) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для соседнего, по времени, блока, выполняется масштабирование. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения. Секция (66) генерирования предсказанного вектора предоставляет сгенерированный посредством временного предсказания вектор в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
В дополнение к этому, секция (66) генерирования предсказанного вектора генерирует предсказанный вектор посредством предсказания, осуществляемого между видами (IVMP-предсказания). Секция (66) генерирования предсказанного вектора находит вектор разницы из векторов движения соседних блоков, примыкающих к блоку-объекту обработки, из памяти (64) пространственных векторов движения и, основываясь на найденном векторе разницы, получает опорные блоки на других видах, относящихся к тому же самому моменту времени. После этого, секция (66) генерирования предсказанного вектора генерирует предсказанный вектор, считывая из памяти (36-N) векторов движения, в которой хранятся векторы движения для других видов, векторы движения опорных блоков на других видах, относящихся к тому же самому моменту времени.
Кроме того, в это время, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для опорного блока, выполняется масштабирование. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения. Секция (66) генерирования предсказанного вектора предоставляет вектор, сгенерированный посредством предсказания, осуществляемого между видами, в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
Переключатель (67) выбирает предсказанный вектор из секции (65) генерирования предсказанного вектора или предсказанный вектор из секции (66) генерирования предсказанного вектора, и предоставляет выбранный предсказанный вектор и его индекс вектора движения в секцию (63) определения "стоимости" вектора и вычитающую секцию (68).
Вычитающая секция (68) кодирует разность MVd между вектором движения (самым лучшим вектором движения), имеющим самую низкую "стоимость", из памяти (64) пространственных векторов движения и предсказанным вектором, поступившим с переключателя (67), в качестве информации о векторе движения, наряду с индексом вектора движения, представляющим индекс предсказанного вектора. Вычитающая секция (68) предоставляет закодированную информацию о векторе движения в секцию (26) кодирования без потерь.
Секция (69) преобразования РОС-номера преобразует индекс опорного изображения (Ref index) для блока-объекта обработки, поступивший из секции (51) генерирования режима предсказания движения, в РОС-номер и предоставляет информацию о РОС-номере, указывающую этот РОС-номер, в секцию (66) генерирования предсказанного вектора.
Пример конфигурации секции генерирования непространственно предсказанного вектора
Фиг. 7 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции генерирования непространственно предсказанного вектора, показанной на Фиг. 6.
В примере, показанном на Фиг. 7, секция (66) генерирования предсказанного вектора сконфигурирована таким образом, чтобы включать в себя секцию (81) генерирования индекса предсказанного вектора, секцию (82) генерирования вектора при ссылке внутри вида и секцию (83) генерирования вектора при ссылке между видами.
Секция (81) генерирования индекса предсказанного вектора генерирует индекс предсказанного вектора (MV index (Индекс вектора движения)) для TMVP-предсказания и предоставляет сгенерированный индекс предсказанного вектора в секцию (82) генерирования вектора при ссылке внутри вида. Секция (81) генерирования индекса предсказанного вектора генерирует индекс предсказанного вектора (MV index) для IVMP-предсказания и предоставляет сгенерированный индекс предсказанного вектора в секцию (83) генерирования вектора при ссылке между видами.
Секция (82) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор посредством TMVP-предсказания. Таким образом, секция (82) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор, считывая из памяти (36-1) векторов движения векторы движения корреспондирующих блоков, ассоциативно связанных посредством векторов движения на видеокадрах, относящихся к другим моментам времени, того же самого вида.
Кроме того, в это время, на основе информации о РОС-номере, поступающей из секции (69) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для корреспондирующего блока, выполняется масштабирование в отношении вектора движения корреспондирующего блока. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения. Секция (82) генерирования вектора при ссылке внутри вида предоставляет сгенерированный посредством временного предсказания вектор в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
Секция (83) генерирования вектора при ссылке между видами генерирует предсказанный вектор посредством IMVP-предсказания. Секция (83) генерирования вектора при ссылке между видами находит вектор разницы из векторов движения соседних блоков, примыкающих к блоку-объекту обработки, и, основываясь на найденном векторе разницы, получает опорный блок на других видах, относящихся к тому же самому моменту времени. После этого, секция (83) генерирования вектора при ссылке между видами генерирует предсказанный вектор, считывая из памяти (36-N) векторов движения, в которой хранятся векторы движения для других видов, векторы движения опорных блоков на других видах, относящихся к тому же самому моменту времени.
Кроме того, в это время, на основе информации о РОС-номере, поступающей из секции (69) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для опорного блока, выполняется масштабирование. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения. Секция (83) генерирования вектора при ссылке между видами предоставляет вектор, сгенерированный посредством предсказания, осуществляемого между видами, в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
Функционирование кодера
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 8, будет описан процесс кодирования в кодере (11-1), показанном на Фиг. 4. Кроме того, кодеры (11-N) и (11-М) для выполнения процессов кодирования изображений других видов выполняют аналогичные процессы кодирования.
Видеокадр цветного изображения неосновного вида, которое представляет собой изображение (движущееся изображение), подлежащее кодированию, последовательно предоставляется секции (21) аналого-цифрового преобразования в порядке отображения. На этапе S 11, в случае, когда этот видеокадр представляет собой аналоговый сигнал, секция (21) аналого-цифрового преобразования преобразует этот аналоговый сигнал в соответствии с аналого-цифровым преобразованием и предоставляет результат аналого-цифрового преобразования буферу (22) переупорядочивания видеокадров.
Буфер (22) переупорядочивания видеокадров временно сохраняет изображение, поступившее из секции (21) аналого-цифрового преобразования, и считывает видеокадр в соответствии со структурой группы видеокадров (GOP-группы), указанной в поступившем порядке кодирования, так что выполняется процесс переупорядочения последовательности видеокадров от порядка отображения в порядок кодирования (порядок декодирования). Видеокадр, считанный из буфера (22) переупорядочивания видеокадров предоставляется вычислительной секции (23), секции (33) предсказания, осуществляемого внутри видеокадра, и секции (34) предсказания/компенсации движения.
На этапе S 12, секция (33) предсказания, осуществляемого внутри видеокадра, выполняет предсказание, осуществляемое внутри видеокадра. Таким образом, секция (33) предсказания, осуществляемого внутри видеокадра, считывает уже локально декодированную часть (декодированное изображение) видеокадра-объекта обработки из внутрициклового фильтра (31). После этого, секция (33) предсказания, осуществляемого внутри видеокадра, назначает часть декодированного изображения видеокадра-объекта обработки, считанного из внутрициклового фильтра (31), в качестве предсказанного изображения блока-объекта обработки (элемента предсказания (PU-элемента)) видеокадра-объекта обработки, предоставленного из буфера (22) переупорядочивания видеокадров.
Секция (33) предсказания, осуществляемого внутри видеокадра, получает "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки, используя предсказанное изображение, то есть "стоимость" кодирования требующуюся для того, чтобы закодировать разность или тому подобное для предсказанного изображения в блоке-объекте обработки, и предоставляет полученную "стоимость" кодирования в секцию (35) выбора предсказанного изображения наряду с предсказанным изображением.
На этапе S 13, секция (34) предсказания/компенсации движения выполняет предсказание и компенсацию движения. Кроме того, процесс предсказания и компенсации движения будет описан подробно со ссылкой на Фиг. 9.
На этапе S 13 выполняются предсказание, компенсация движения и генерирование предсказанного вектора во всех режимах межкадрового предсказания, генерирование вектора движения в режиме M/S, и тому подобное, и генерируется предсказанное изображение во всех режимах межкадрового предсказания (в том числе в режиме M/S). После этого, получают "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки (элемент предсказания) с использованием предсказанного изображения, для каждого видеокадра-кандидата для использования при генерировании предсказанного изображения, каждого кандидата для вектора движения, каждого кандидата для предсказанного вектора или каждого режима межкадрового предсказания (в том числе режима предсказания, осуществляемого между видами) с переменным размером блока, или каждого режима M/S, определяется оптимальный режим межкадрового предсказания, и "стоимость" кодирования предоставляется секции (35) выбора предсказанного изображения наряду с предсказанным изображением.
Кроме того, в это время, секция (33) предсказания, осуществляемого внутри видеокадра, предоставляет информацию о внутрикадровом предсказании, в качестве информации заголовка, в секцию (26) кодирования без потерь. Секция (34) предсказания/компенсации движения предоставляет секции (26) кодирования без потерь, в качестве информации заголовка, информацию (информацию о векторе движения или тому подобном) в отношении межкадрового предсказания.
На этапе S 14, секция (35) выбора предсказанного изображения выбирает из предсказанных изображений, поступающих из секции (33) предсказания, осуществляемого внутри видеокадра, и секции (34) предсказания/компенсации движения, предсказанное изображение, имеющее более низкую "стоимость" кодирования и предоставляет выбранное предсказанное изображение в вычислительные секции (23) и (30).
На этапе S 15, секция (34) предсказания/компенсации движения (секция (63) определения "стоимости" вектора, показанная на Фиг. 6) временно сохраняет в памяти (64) пространственных векторов движения, показанной на Фиг. 6, вектор движения оптимального режима межкадрового предсказания, когда на этапе S 14 выбирается предсказание движения (отличное от предсказания, осуществляемого внутри видеокадра). Таким образом, хотя вектор движения для случая режима AMVP-предсказания сохранен в памяти (64) пространственных векторов движения даже в ходе процесса на этапе S 13, вектор движения из памяти (64) пространственных векторов движения, показанной на Фиг. 6, становятся вектором движения для режима M/S, например, в случае, когда на этапе S 15 режим с оптимальной "стоимостью" кодирования представляет собой режим M/S.
На этапе S 16, вычислительная секция (23) вычисляет разность между исходным изображением из буфера (22) переупорядочивания видеокадров и предсказанным изображением из секции (35) выбора предсказанного изображения, и предоставляет результат вычисления в секцию (24) ортогонального преобразования. Таким образом, вычислительная секция (23) выполняет кодирование с предсказанием после вычисления значения разности, вычитая пиксельное значение предсказанного изображения, предоставленного секцией (35) выбора предсказанного изображения, из пиксельного значения блока-объекта обработки, если это необходимо, и предоставляет результат кодирования с предсказанием в секцию (24) ортогонального преобразования.
На этапе S 17, секция (24) ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва (Karhunen-Loeve), над блоком-объектом обработки, поступившим из вычислительной секции (23) (над разностью, полученной посредством вычитания предсказанного изображения или пиксельного значения этого блока), используя в качестве элемента элемент преобразования (TU-элемент), и предоставляет полученный в результате этого коэффициент преобразования в секцию (25) квантования.
На этапе S 18, секция (25) квантования осуществляет квантование коэффициента преобразования, предоставленного из секции (24) ортогонального преобразования, и предоставляет полученное в результате этого значение квантования в секцию (28) процесса, обратного квантованию, и секцию (26) кодирования без потерь.
На этапе S 19, секция (28) процесса, обратного квантованию, осуществляет процесс, обратный квантованию, над значением квантования, поступившим из секции (25) квантования, получая коэффициент преобразования и предоставляет коэффициент преобразования в секцию (29) обратного ортогонального преобразования.
На этапе S 20, секция (29) обратного ортогонального преобразования выполняет обратное ортогональное преобразование над коэффициентом преобразования, поступившим из секции (28) процесса, обратного квантованию, и предоставляет преобразованный коэффициент преобразования в вычислительную секцию (30).
На этапе S 21, секция (26) кодирования без потерь выполняет кодирование без потерь над разностным коэффициентом, который представляет собой значение квантования, поступившее из секции (25) квантования, и предоставляет полученные в результате этого закодированные данные накопительному буферу (27). Кроме того, секция (26) кодирования без потерь кодирует информацию заголовка, такую как информация о режиме предсказания или информация о векторе движения, поступившую из секции (33) предсказания, осуществляемого внутри видеокадра, или секции (34) предсказания/компенсации движения, и включает закодированную информацию заголовка в заголовок закодированных данных.
На этапе S 22, вычислительная секция (30) получает декодированное изображение, в котором блок-объект обработки декодирован (локально декодирован) посредством суммирования пиксельного значения предсказанного изображения, предоставляемого из секции (35) выбора предсказанного изображения, с данными, предоставляемыми из секции (29) обратного ортогонального преобразования, если это необходимо, и предоставляет полученное декодированное изображение внутрицикловому фильтру (31).
На этапе S 23, внутрицикловой фильтр (31) определяет то, заканчивается ли наибольший элемент кодирования (LCU-элемент). В случае, когда на этапе S 23 определено, что наибольший элемент кодирования не заканчивается, процесс возвращается на этап S 12, и итеративно повторяется следующий за ним процесс.
В случае, когда на этапе S 23 определено, что наибольший элемент кодирования заканчивается, процесс переходит на этап S 24. На этапе S 24, внутрицикловой фильтр (31) удаляет (уменьшает) искажение блочности (видимую блочность структуры видеоизображения), имеющее место на декодированном изображении, фильтруя декодированное изображение, поступающее из вычислительной секции (30).
На этапе S 25, внутрицикловой фильтр (31) сохраняет в DPB-буфере (32-1) декодированное изображение после фильтрования.
На этапе S 26, секция (34) предсказания/компенсации движения осуществляет сжатие данных вектора движения, сохраненного на этапе S 15. Таким образом, например, хотя в памяти (64) пространственных векторов движения сохраняется один вектор движения для каждого блока размером (4×4), сжатие данных вектора движения осуществляется таким образом, чтобы один вектор движения сохранялся для каждого блока размером (16×16). Например, в блоке размером (16×16) выбирается вектор движения левого верхнего блока.
После этого, на этапе S 27, секция (34) предсказания/компенсации движения сохраняет вектор движения, подвергшийся сжатию данных, в памяти (36-1) векторов движения.
На этапе S 28, кодер (11-М) другого вида кодирует видеокадр другого вида. Кроме того, этот процесс кодирования в основном является аналогичным процессу кодирования, показанному на Фиг. 8.
Как было описано выше, процесс кодирования выполнен.
Пример процесса предсказания/компенсации движения
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 9, будет описан процесс предсказания/компенсации движения на этапе S 13, показанном на Фиг. 8.
На этапе S 41, секция (51) генерирования режима предсказания движения генерирует режимы предсказания движения, такие как режим межкадрового предсказания (включающий в себя режим предсказания, осуществляемого между видами), режим слияния и режим пропуска и тому подобное.
Секция (51) генерирования режима предсказания движения определяет, на этапе S 42, то, является ли сгенерированный режим предсказания движения режимом межкадрового предсказания. В случае, когда на этапе S 42 определено, что сгенерированный режим предсказания движения является режимом межкадрового предсказания, секция (51) генерирования режима предсказания движения предоставляет информацию о режиме межкадрового предсказания (inter mode) и индекс опорного изображения (Ref index) в секцию (53) предсказания вектора в режиме AMVP-предсказания. После этого, процесс переходит на этап S 43.
На этапе S 43, секция (53) предсказания вектора в режиме AMVP-предсказания выполняет предсказание вектора в режиме AMVP-предсказания. Подробности предсказания вектора в режиме AMVP-предсказания будут описаны позже со ссылкой на Фиг. 10.
В ходе процесса на этапе S 43, находят вектор движения в режиме межкадрового предсказания, генерируется предсказанное изображение, и генерируется разностное изображение, генерируются каждый из пространственно и непространственно предсказанных векторов. В частности если Ref РОС для текущего элемента предсказания отличается от Ref РОС для опорного элемента предсказания на другом виде, то в случае, когда генерируется непространственно предсказанный вектор, вектор движения опорного элемента предсказания масштабируется, и отмасштабированный вектор движения служит в качестве кандидата для предсказанного вектора текущего элемента предсказания. После этого, вычисляется разность между кандидатом для предсказанного вектора и вектором движения, так что выбирается предсказанный вектор с самой низкой "стоимостью". Самая низкая "стоимость" выбранного предсказанного вектора предоставляется секции (55) определения режима. В дополнение к этому, разность между предсказанным вектором, имеющим выбранную самую низкую "стоимость", и вектором движения и индекс предсказанного вектора кодируются как информация о векторе движения.
С другой стороны, в случае, когда на этапе S 42 определено, что режим не является режимом межкадрового предсказания, секция (51) генерирования режима предсказания движения, предоставляет секции (52) автоматического генерирования индекса опорного изображения информацию о режиме слияния или режиме пропуска (режиме M/S). После этого, процесс переходит на этап S 44.
На этапе S 44, секция (52) автоматического генерирования индекса опорного изображения автоматически генерирует индекс опорного изображения и предоставляет сгенерированный индекс опорного изображения (Ref index) в секцию (54) предсказания вектора в режиме M/S наряду с информацией, указывающей режим слияния или режим пропуска, поступившей из секции (51) генерирования режима предсказания движения.
На этапе S 45, секция (54) предсказания вектора в режиме M/S выполняет предсказание вектора в режиме слияния или режиме пропуска.
Таким образом, секция (54) предсказания вектора в режиме M/S считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-1) или (32-N) в соответствии с режимом и индексом опорного изображения, сообщенными из секции (52) автоматического генерирования индекса опорного изображения, в качестве видеокадров-кандидатов.
Кроме того, секция (54) предсказания вектора в режиме M/S назначает кандидата для вектора движения, используя пространственно соседние блоки, примыкающие к нему на том же самом видеокадре. Секция (54) предсказания вектора в режиме M/S считывает из памяти (36-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида, и назначает считанные векторы движения в качестве кандидатов для вектора движения. Секция (54) предсказания вектора в режиме M/S считывает из памяти (36-N) векторов движения, в которой хранятся векторы движения для других видов, векторы движения опорных блоков на других видах, относящихся к тому же самому моменту времени, и назначает считанные векторы движения в качестве кандидатов для предсказанного вектора. Секция (54) предсказания вектора в режиме M/S, используя кандидатов для вектора движения, генерирует видеокадр-кандидат.
Секция (54) предсказания вектора в режиме M/S получает "стоимость" кодирования, требующуюся для того, чтобы закодировать блок-объект обработки, используя предсказанное изображение, для каждого видеокадра-кандидата для использования при генерировании предсказанного изображения, каждого кандидата для вектора движения или каждого режима M/S, основываясь на исходном изображении из буфера (22) переупорядочивания видеокадров. Секция (54) предсказания вектора в режиме M/S предоставляет оптимальную "стоимость" кодирования из числа этих полученных "стоимостей" кодирования, в качестве "стоимости" режима, в секцию (55) определения режима. При этом, секция (54) предсказания вектора в режиме M/S кодирует в качестве информации о векторе движения индекс слияния, указывающий вектор движения с оптимальной "стоимостью" кодирования.
На этапе S 46, секция (55) определения режима обращается к "стоимостям" кодирования, сообщаемым из секции (53) предсказания вектора в режиме AMVP-предсказания и секции (54) предсказания вектора в режиме M/S, и определяет режим межкадрового предсказания или режим предсказания, осуществляемый между видами, имеющий самую низкую "стоимость" кодирования в качестве оптимального режима предсказания, который представляет собой оптимальный режим предсказания движения. Секция (55) определения режима возвращает результат определения оптимального режима межкадрового предсказания в секцию (53) предсказания вектора в режиме AMVP-предсказания и секцию (54) предсказания вектора в режиме M/S.
На этапе S 47, секция (53) предсказания вектора в режиме AMVP-предсказания или секция (54) предсказания вектора в режиме M/S, основываясь на результате определения, поступившем из секции (55) определения режима, выбирает закодированную информацию о движении, относящуюся к режиму, имеющему низкую "стоимость" кодирования, и предоставляет выбранную информацию о движении в секцию (26) кодирования без потерь.
Пример процесса предсказания вектора в режиме AMVP-предсказания
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 10, будет описан процесс предсказания вектора в режиме AMVP-предсказания на этапе S 43, показанном на Фиг. 9.
Информация о режиме предсказания из секции (51) генерирования режима предсказания движения предоставляется, наряду с индексом опорного изображения, в секцию (61) поиска вектора.
На этапе S 61, секция (61) поиска вектора выполняет поиск вектора в соответствии с режимом предсказания и индексом опорного изображения, сообщенными из секции (51) генерирования режима предсказания движения.
Таким образом, секция (61) поиска вектора считывает один или более видеокадров, закодированных перед видеокадром-объектом обработки и локально декодированных, из DPB-буфера (32-1) или (32-N) в соответствии с режимом предсказания и индексом опорного изображения, сообщенными из секции (51) генерирования режима предсказания движения, в качестве видеокадров-кандидатов. Секция (61) поиска вектора определяет вектор движения, представляющий перемещение, служащее сдвигом между блоком-объектом обработки и корреспондирующим блоком, корреспондирующим блоку-объекту обработки на видеокадре-кандидате, посредством определения движения с использованием блока-объекта обработки на видеокадре-объекте обработки, поступающем из буфера (22) переупорядочивания видеокадров, и видеокадра-кандидата. Секция (61) поиска вектора предоставляет этот определенный вектор движения в секцию (62) генерирования предсказанного изображения и секцию (63) определения "стоимости" вектора.
На этапе S 62, секция (62) генерирования предсказанного изображения генерирует предсказанное изображение в соответствии с вектором движения блока-объекта обработки, поступившим из секции (61) поиска вектора.
Таким образом, секция (62) генерирования предсказанного изображения генерирует предсказанное изображение, выполняя компенсацию движения для компенсирования сдвига на величину перемещения для видеокадра-кандидата, поступившего из DPB-буфера (32-1) или (32-N), в соответствии с вектором движения блока-объекта обработки, поступившим из секции (61) поиска вектора. Сгенерированное предсказанное изображение предоставляется в секцию (35) выбора предсказанного изображения и секцию (63) определения "стоимости" вектора.
На этапе S 63, секция (63) определения "стоимости" вектора генерирует разностное изображение, используя исходное изображение, поступившее из буфера (22) переупорядочивания видеокадров, вектор движения, поступивший из секции (61) поиска вектора, и предсказанное изображение, поступившее из секции (62) генерирования предсказанного изображения. Сгенерированное разностное изображение используется для того, чтобы вычислить "стоимость" кодирования на этапе S 67, который будет описан позже.
На этапе S 64, секция (65) генерирования предсказанного вектора генерирует пространственно предсказанный вектор. Таким образом, секция (65) генерирования предсказанного вектора генерирует пространственно предсказанный вектор, считывая из памяти (64) пространственных векторов движения векторы движения пространственно соседних блоков, примыкающих к нему на том же самом видеокадре. Секция (65) генерирования предсказанного вектора предоставляет сгенерированный пространственно предсказанный вектор в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
На этапе S 65, секция (66) генерирования предсказанного вектора генерирует непространственно предсказанный вектор. Таким образом, секция (66) генерирования предсказанного вектора генерирует предсказанный вектор посредством TMVP-предсказания (Временного предсказания вектора движения) и предсказанный вектор посредством IVMP-предсказания (Предсказание движения, осуществляемого между видами). Процесс генерирования непространственно предсказанного вектора будет описан позже со ссылкой на Фиг. 11.
В ходе процесса на этапе S 65, выполняется процесс генерирования предсказанного вектора посредством TMVP-предсказания, и процесс генерирования предсказанного вектора посредством IVMP-предсказания. Кроме того, во время процесса генерирования предсказанного вектора посредством IVMP-предсказания, находят вектор разницы из векторов движения соседних блоков, примыкающих к блоку-объекту обработки, и, основываясь на найденном векторе разницы, получают опорные блоки на других видах, относящихся к тому же самому моменту времени. После этого, из памяти (36-N) векторов движения, в которой хранятся векторы движения для других видов, считываются векторы движения опорных блоков на других видах, относящихся к тому же самому моменту времени, и в случае, когда РОС-номер (Ref РОС) опорного изображения для блока-объекта обработки отличается от РОС-номера (Ref РОС) опорного изображения для опорного блока, выполняется масштабирование. Кроме того, информация о РОС-номере преобразуется из индекса опорного изображения в секции (69) преобразования РОС-номера, и предоставляется преобразованная информация о РОС-номере.
Вектор, предсказанный посредством TMVP-предсказания, и вектор, предсказанный посредством IVMP-предсказания, сгенерированные в ходе процесса на этапе S 65, предоставляются в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
На этапе S 66, секция (63) определения "стоимости" вектора вычисляет разности между вектором движения блока-объекта обработки и предсказанными векторами блока объекта обработки, предоставленными из секций (65) и (66) генерирования предсказанного вектора.
На этапе S 67, секция (63) определения "стоимости" вектора, используя разностное изображение, полученное на этапе S 63, векторные разности, полученные на этапе S 66, и тому подобное, получает "стоимости" кодирования, выбирает из полученных "стоимостей" кодирования предсказанный вектор с самой низкой "стоимостью", и аккумулирует вектор движения (самый лучший вектор движения), корреспондирующий выбранному предсказанному вектору в памяти (64) пространственных векторов движения.
Этот вектор движения (самый лучший вектор движения) предоставляется вычитающей секции (68) через память (64) пространственных векторов движения.
На этапе S 68 разность (MVd) между вектором движения (самым лучшим вектором движения), имеющим самую низкую "стоимость", поступившим из памяти (64) пространственных векторов движения, и предсказанным вектором, поступившим с переключателя (67), корреспондирующим этому самому лучшему вектору движения кодируется в качестве информации о векторе движения наряду с индексом вектора движения, представляющим индекс этого предсказанного вектора.
Пример процесса генерирования непространственно предсказанного вектора
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 11, будет описан процесс генерирования непространственно предсказанного вектора на этапе S 65, показанном на Фиг. 10.
Секция (81) генерирования индекса предсказанного вектора генерирует индекс предсказанного вектора (MV index (Индекс вектора движения)) для TMVP-предсказания и предоставляет сгенерированный индекс предсказанного вектора в секцию (82) генерирования вектора при ссылке внутри вида. Секция (81) генерирования индекса предсказанного вектора генерирует индекс предсказанного вектора (MV index) для IVMP-предсказания и предоставляет сгенерированный индекс предсказанного вектора в секцию (83) генерирования вектора при ссылке между видами.
На этапе S 81, секция (82) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор посредством TMVP-предсказания.
Таким образом, секция (82) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор, считывая из памяти (36-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих ему или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида. Секция (82) генерирования вектора при ссылке внутри вида предоставляет сгенерированный посредством временного предсказания вектор (PMV) в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
На этапах: с S 82 по S 84, секция (83) генерирования вектора при ссылке между видами генерирует предсказанный вектор посредством IVMP-предсказания.
Таким образом, на этапе S 82, секцию (83) генерирования вектора при ссылке между видами находит вектор разницы из векторов движения соседних блоков, примыкающих к блоку-объекту обработки (элементу предсказания), из памяти (64) пространственных векторов движения, и вычисляет "разницу", основываясь на найденном векторе разницы.
На этапе S 83, секция (83) генерирования вектора при ссылке между видами выбирает элемент предсказания, имеющий положение, сдвинутое на "разницу", полученную на этапе S 82, в качестве опорного элемента предсказания на другом виде.
На этапе S 84, секция (83) генерирования вектора при ссылке между видами генерирует предсказанный вектор из вектора движения выбранного опорного элемента предсказания, считывая из памяти (36-N) векторов движения, в которой хранятся векторы движения других видов, вектор движения выбранного опорного элемента предсказания. Этот процесс генерирования предсказанного вектора будет описан позже со ссылкой на Фигуры 12 и 13.
В ходе процесса на этапе S 84, вектор, сгенерированный посредством предсказания, осуществляемого между видами посредством IVMP-предсказания, предоставляется в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67) наряду с индексом вектора движения, указывающим предсказанный вектор.
Пример процесса генерирования предсказанного вектора
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 12, будет описан процесс генерирования предсказанного вектора на этапе S 84, показанном на Фиг. 11. Кроме того, отметим, что в примере, показанном на Фиг. 12, проиллюстрирован процесс генерирования предсказанного вектора в направлении L0.
На этапе S 101, секция (83) генерирования вектора при ссылке между видами находит память (36-N) векторов движения, в которой хранятся векторы движения других видов, и определяет то, имеется ли вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде).
В случае, когда на этапе S 101 определено, что вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде) имеется, процесс переходит на этап S 102. На этапе S 102, секция (83) генерирования вектора при ссылке между видами определяет то, равен ли POCcurr_l0, который представляет собой Ref РОС (РОС-номер опорного изображения) для элемента предсказания-объекта обработки, POCbase_l0, который представляет собой Ref РОС (РОС-номер опорного изображения) для опорного элемента предсказания.
В случае, когда на этапе S 102 определено, что POCcurr_l0 равен POCbase_l0, процесс переходит на этап S 103. На этапе S 103, секция (83) генерирования вектора при ссылке между видами назначает вектор (MVbase=l0) движения в направлении L0 в качестве предсказанного вектора (PMV L0) в направлении L0 для элемента предсказания-объекта обработки. Процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 101 определено, что вектора (MVbase=l0) движения в направлении L0 на другом виде (основном виде) не имеется, или когда на этапе S 102 определено, что POCcurr_l0 не равен POCbase_l0, процесс, переходит на этап S 104.
На этапе S 104, секция (83) генерирования вектора при ссылке между видами находит память (36-N) векторов движения, в которой хранятся векторы движения других видов, и определяют то, имеется ли вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде).
В случае, когда на этапе S 104 определено, что вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде) имеется, процесс переходит на этап S 105. На этапе S 105, секция (83) генерирования вектора при ссылке между видами определяет то, равен ли POCcurr_l0, который представляет собой Ref РОС (РОС-номер опорного изображения) для элемента предсказания-объекта обработки, POCbase_l1, который представляет собой Ref РОС (РОС-номер опорного изображения) для опорного элемента предсказания.
В случае, когда на этапе S 105 определено, что POCcurr_l0 равен POCbase_l1, процесс переходит на этап S 106. На этапе S 106, секция (83) генерирования вектора при ссылке между видами назначает вектор (MVbase=l1) движения в направлении L1 в качестве предсказанного вектора PMV_L0 в направлении L0 для элемента предсказания-объекта обработки. После этого, процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 104 определено, что вектора (MVbase=l1) движения в направлении L1 на другом виде (основном виде) не имеется, или когда на этапе S 105 определено, что POCcurr_l0 не равен POCbase_l1, процесс, переходит на этап S 107.
На этапе S107, секция (83) генерирования вектора при ссылке между видами повторно определяет то, имеется ли вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде).
В случае, когда на этапе S 107 определено, что вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде) имеется, процесс переходит на этап S 108. На этапе S 108, секция (83) генерирования вектора при ссылке между видами масштабирует вектор (MVbase=l0) движения в направлении L0 в соответствии с POCcurr_l0, который представляет собой Ref РОС для элемента предсказания-объекта обработки, и POCbase_l0, который представляет собой Ref РОС для опорного элемента предсказания. После этого, секция (83) генерирования вектора при ссылке между видами назначает отмасштабированный вектор (MVbase=l0) движения в качестве предсказанного вектора PMV_L0 в направлении L0 для элемента предсказания-объекта обработки, и процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 107 определено, что вектора (MVbase=l0) движения в направлении L0 на другом виде (основном виде) не имеется, процесс переходит на этап S 109.
На этапе S109, секция (83) генерирования вектора при ссылке между видами повторно определяет то, имеется ли вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде).
В случае, когда на этапе S 107 определено, что вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде) имеется, процесс переходит на этап S ПО. На этапе S ПО, секция (83) генерирования вектора при ссылке между видами масштабирует вектор (MVbase=l1) движения в направлении L1 в соответствии с POCcurr_l0, который представляет собой Ref РОС для элемента предсказания-объекта обработки, и POCbase_l1, который представляет собой Ref РОС для опорного элемента предсказания. После этого, секция (83) генерирования вектора при ссылке между видами назначает отмасштабированный вектор (MVbase=l1) движения в качестве предсказанного вектора PMV_L0 в направлении L0 для элемента предсказания-объекта обработки, и процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 109 определено, что вектора (MVbase=l1) движения в направлении L1 на другом виде (основном виде) не имеется, процесс переходит на этап S 111. На этапе S 111, секция (83) генерирования вектора при ссылке между видами определяет, что предсказанного вектора PMV_L0 в направлении L0 для элемента предсказания-объекта обработки нет и процесс генерирования предсказанного вектора закончен.
Пример процесса генерирования предсказанного вектора
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 13, будет описан процесс генерирования предсказанного вектора на этапе S 84, показанном на Фиг. 11. Кроме того, отметим, что в примере, показанном на Фиг. 13, проиллюстрирован процесс генерирования предсказанного вектора в направлении L1.
На этапе S 131, секция (83) генерирования вектора при ссылке между видами находит память (36-N) векторов движения, в которой хранятся векторы движения других видов, и определяет то, имеется ли вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде).
В случае, когда на этапе S 131 определено, что вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде) имеется, процесс переходит на этап S 132. На этапе S 132, секция (83) генерирования вектора при ссылке между видами определяет то, равен ли POCcurr_l1, который представляет собой Ref РОС (РОС-номер опорного изображения) для элемента предсказания-объекта обработки, POCbase_l1, который представляет собой Ref РОС (РОС-номер опорного изображения) для опорного элемента предсказания.
В случае, когда на этапе S 132 определено, что POCcurr_l1 равен POCbase_l1, процесс переходит на этап S 133. На этапе S 133, секция (83) генерирования вектора при ссылке между видами назначает вектор (MVbase=l1) движения в направлении L1 в качестве предсказанного вектора PMV_L1 в направлении L1 для элемента предсказания-объекта обработки. После этого, процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 131 определено, что вектора (MVbase=l1) движения в направлении L1 на другом виде (основном виде) не имеется, или когда на этапе S 132 определено, что POCcurr_l1 не равен POCbase_l1, процесс, переходит на этап S 134.
На этапе S 134, секция (83) генерирования вектора при ссылке между видами находит память (36-N) векторов движения, в которой хранятся векторы движения других видов, и определяют то, имеется ли вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде).
В случае, когда на этапе S 134 определено, что вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде) имеется, процесс переходит на этап S 135. На этапе S 135, секция (83) генерирования вектора при ссылке между видами определяет то, равен ли POCcurr_l1, который представляет собой Ref РОС (РОС-номер опорного изображения) для элемента предсказания-объекта обработки, POCbase_10, который представляет собой Ref РОС (РОС-номер опорного изображения) для опорного элемента предсказания.
В случае, когда на этапе S 135 определено, что POCcurr_l1 равен POCbase_l0, процесс переходит на этап S 136. На этапе S 136, секция (83) генерирования вектора при ссылке между видами назначает вектор (MVbase=l0) движения в направлении L0 в качестве предсказанного вектора PMV L1 в направлении L1 для элемента предсказания-объекта обработки. После этого, процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 134 определено, что вектора (MVbase=l0) движения в направлении L0 на другом виде (основном виде) не имеется, или когда на этапе S 135 определено, что POCcurr_l1 не равен POCbase_l0, процесс, переходит на этап S 137.
На этапе S137, секция (83) генерирования вектора при ссылке между видами повторно определяет то, имеется ли вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде).
В случае, когда на этапе S 137 определено, что вектор (MVbase=l1) движения в направлении L1 на другом виде (основном виде) имеется, процесс переходит на этап S 138. На этапе S 138, секция (83) генерирования вектора при ссылке между видами масштабирует вектор (MVbase=l1) движения в направлении L1 в соответствии с POCcurr_l1, который представляет собой Ref РОС для элемента предсказания-объекта обработки, и POCbase_l1, который представляет собой Ref РОС для опорного элемента предсказания. После этого, секция (83) генерирования вектора при ссылке между видами назначает отмасштабированный вектор (MVbase=l1) движения в качестве предсказанного вектора PMV L1 в направлении L1 для элемента предсказания-объекта обработки, и процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 137 определено, что вектора (MVbase=l1) движения в направлении L1 на другом виде (основном виде) не имеется, процесс переходит на этап S 139.
На этапе S139, секция (83) генерирования вектора при ссылке между видами повторно определяет то, имеется ли вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде).
В случае, когда на этапе S 137 определено, что вектор (MVbase=l0) движения в направлении L0 на другом виде (основном виде) имеется, процесс переходит на этап S 140. На этапе S 140, секция (83) генерирования вектора при ссылке между видами масштабирует вектор (MVbase=l0) движения в направлении L0 в соответствии с POCcurr_l1, который представляет собой Ref РОС для элемента предсказания-объекта обработки, и POCbase_l0, который представляет собой Ref РОС для опорного элемента предсказания. После этого, секция (83) генерирования вектора при ссылке между видами назначает отмасштабированный вектор (MVbase=l0) движения в качестве предсказанного вектора PMV_L1 в направлении L1 для элемента предсказания-объекта обработки, и процесс генерирования предсказанного вектора закончен.
В случае, когда на этапе S 139 определено, что вектора (MVbase=l0) движения в направлении L0 на другом виде (основном виде) не имеется, процесс переходит на этап S 141. На этапе S 141, секция (83) генерирования вектора при ссылке между видами определяет, что предсказанного вектора PMV L1 в направлении L1 для элемента предсказания-объекта обработки нет и процесс генерирования предсказанного вектора закончен.
Таким образом, когда Ref РОС (Ref 0) текущего элемента предсказания отличается от Ref РОС (Ref 0) опорного элемента предсказания на другом виде, вектор движения опорного элемента предсказания масштабируется, и отмасштабированный вектор движения конфигурируется таким образом, чтобы служить в качестве кандидата для предсказанного вектора для текущего элемента предсказания.
Благодаря этому имеется возможность повысить эффективность кодирования вектора движения, поскольку имеется возможность сгенерировать предсказанный вектор, имеющий высокую корреляцию.
3. Второй вариант реализации изобретения
Пример конфигурации устройства декодирования изображений с множественными видами
На Фиг. 16 проиллюстрирована конфигурация варианта реализации декодера, составляющего устройство декодирования изображений с множественными видами, служащее в качестве устройства обработки изображений, в котором применено настоящее раскрываемое изобретение.
Устройство декодирования изображений с множественными видами, например, включает в себя декодеры: с (211-1) по (211-М), для декодирования изображений с множественными видами.
Декодер (211-1) декодирует закодированные данные, соответствующие цветному изображению неосновного вида из закодированного потока данных, закодированного кодером (11-1) по схеме HEVC-кодирования (Высокоэффективного кодирования видеоданных), и генерирует цветное изображение неосновного вида.
Например, декодеры (211-М) и (211-N) для декодирования соответствующих закодированных данных закодированных потоков данных, закодированных кодерами (11-M) и (11-N) и генерирующие цветные изображения других видов (в том числе основной вид) кадровых элементов также сконфигурированы подобно декодеру (211-1). Кроме того, в случае, когда также имеется декодер для генерирования изображения с информацией о насыщенности цвета так же как и цветного изображения, этот декодер сконфигурирован подобно декодеру (211-1).
В примере, показанном на Фиг. 16, декодер (211-1) сконфигурирован таким образом, чтобы включать в себя накопительный буфер (221), секцию (222) декодирования без потерь, секцию (223) процесса, обратного квантованию, секцию (224) обратного ортогонального преобразования, вычислительную секцию (225), внутрицикловой фильтр (226) и буфер (227) переупорядочивания видеокадров, и секцию (228) цифроаналогового (D/A) преобразования. В дополнение к этому, декодер (211-1) сконфигурирован таким образом, чтобы включать в себя DPB-буфер (буфер декодированных видеокадров) (229-1), секцию (230) предсказания, осуществляемого внутри видеокадра, секцию (231) компенсации движения, секцию (232) выбора предсказанного изображения и память (233-1) векторов движения.
Накопительный буфер (221) представляет собой принимающую секцию, предназначенную для приема соответствующих закодированных данных в закодированном потоке данных, поступающем от кодера (11-1). Накопительный буфер (221) временно сохраняет принятые закодированные данные и предоставляет сохраненные данные в секцию (222) декодирования без потерь. Закодированные данные включают в себя информацию заголовка, так же как и закодированные данные (квантованный разностный коэффициент) цветного изображения основного вида.
Секция (222) декодирования без потерь восстанавливает квантованный разностный коэффициент или информацию заголовка, выполняя в отношении закодированных данных, поступивших из накопительного буфера (221), декодирование с переменной длиной кодового слова. После этого, секция (222) декодирования без потерь предоставляет значение квантования в секцию (223) процесса, обратного квантованию, и предоставляет соответствующую порцию информации заголовка в каждую секцию из числа: секции (230) предсказания, осуществляемого внутри видеокадра, и секции (231) компенсации движения.
Секция (223) процесса, обратного квантованию, осуществляет процесс, обратный квантованию, в отношении квантованного разностного коэффициента, поступившего из секции (222) декодирования без потерь, и предоставляет разностный коэффициент, подвергшийся процессу, обратному квантованию, в секцию (224) обратного ортогонального преобразования.
Секция (224) обратного ортогонального преобразования выполняет обратное ортогональное преобразование над коэффициентом преобразования, поступившим из секции (223) процесса, обратного квантованию, в элементах, представляющих собой элементы преобразования (TU-элементы), и предоставляет результат обратного ортогонального преобразования в вычислительную секцию (225) в элементах, представляющих собой блоки (например, наибольшие элементы кодирования (LCU-элементы).
Вычислительная секция (225) выполняет декодирование, назначая блок, предоставленный из секции (224) обратного ортогонального преобразования, в качестве блока-объекта обработки, представляющего собой объект декодирования, и суммируя, если это необходимо, с блоком-объектом обработки предсказанное изображение, предоставленное из секции (232) выбора предсказанного изображения. Вычислительная секция (225) предоставляет полученное в результате этого декодированное изображение внутрицикловому фильтру (226).
Внутрицикловой фильтр (226), составлен, например, из фильтра устранения блочности. Кроме того, например, в случае, когда принята схема HEVC-кодирования (Высокоэффективного кодирования видеоданных), внутрицикловой фильтр (226) составлен из фильтра устранения блочности и фильтра адаптивного смещения. Внутрицикловой фильтр (226), например, выполняет над декодированным изображением, поступившем из вычислительной секции (225), фильтрование, аналогичное внутрицикловому фильтру (31), показанному на Фиг. 4, и предоставляет декодированное изображение после фильтрования в буфер (227) переупорядочивания видеокадров.
Буфер (227) переупорядочивания видеокадров переупорядочивает последовательность видеокадров, приводя ее к исходной последовательности (порядку отображения), временно сохраняя и считывая видеокадр декодированного изображения из внутрициклового фильтра (226), и предоставляет результат переупорядочения в секцию (228) цифроаналогового преобразования.
Когда необходимо вывести из буфера (227) переупорядочивания видеокадров видеокадр в аналоговом сигнале, секция (228) цифроаналогового преобразования выполняет над этим видеокадром цифроаналоговое преобразование и выводит результат цифроаналогового преобразования.
В дополнение к этому, внутрицикловой фильтр (226) предоставляет DPB-буферу (229-1), среди прошедших фильтрование декодированных изображений, декодированные изображения видеокадра с внутрикадровым кодированием (I-видеокадра), Р-видеокадров (предсказанных видеокадров), и В-видеокадров (видеокадров, сформированных посредством двунаправленного предсказания), которые являются видеокадрами, на которые может осуществляться ссылка. Кроме того, внутрицикловой фильтр (226) предоставляет декодированное изображение, которое не прошло фильтрование, в секцию (230) предсказания, осуществляемого внутри видеокадра.
При этом DPB-буфер (229-1) хранит в декодере (211-1) декодированное изображение, поступившее из внутрициклового фильтра (226), то есть видеокадр цветного изображения закодированного и локально декодированного неосновного вида, в качестве (кандидат для) опорного видеокадра, на который должна осуществляться ссылка при генерировании предсказанного изображения, используемого в ходе кодирования с предсказанием (кодировании, в ходе которого вычислительной секцией (225) выполняется вычитание предсказанного изображения), подлежащего выполнению в более позднее время. Кроме того, осуществляется совместное использование DPB-буфера ((229-1) с декодером (211-М) другого вида.
Секция (230) предсказания, осуществляемого внутри видеокадра, основываясь на информации заголовка (о режиме внутрикадрового предсказания), поступившей из секции (222) декодирования без потерь, распознает то, закодирован ли блок-объект обработки (элемент предсказания) с использованием предсказанного изображения, сгенерированного в ходе внутрикадрового предсказания (предсказания, осуществляемого внутри видеокадра).
В случае, когда блок-объект обработки закодирован с использованием предсказанного изображения, сгенерированного в ходе внутрикадрового предсказания, секция (230) предсказания, осуществляемого внутри видеокадра, считывает уже декодированный участок (декодированное изображение) с видеокадра (видеокадра-объекта обработки), включающего в себя блок-объект обработки, из внутрициклового фильтра (226), как в секции (33) предсказания, осуществляемого внутри видеокадра, показанной на Фиг. 4. После этого, секция (230) предсказания, осуществляемого внутри видеокадра, предоставляет часть декодированного изображения видеокадра-объекта обработки, считанного из внутрициклового фильтра (226), в качестве предсказанного изображения блока-объекта обработки в секцию (232) выбора предсказанного изображения.
Секция (231) компенсации движения, основываясь на информации заголовка, поступившей из секции (222) декодирования без потерь, распознает то, является ли блок-объект обработки закодированным с использованием предсказанного изображения, сгенерированного в ходе межкадрового предсказания.
В случае, когда блок-объект обработки закодирован с использованием предсказанного изображения, сгенерированного в ходе межкадрового предсказания, секция (231) компенсации движения, основываясь на информации заголовка, поступившей из секции (222) декодирования без потерь, распознает оптимальный режим предсказания блока-объекта обработки.
Секция (231) компенсации движения, в случае, когда оптимальный режим предсказания представляет собой режим межкадрового предсказания, выполняет процесс предсказания вектора в режиме AMVP-предсказания (Усовершенствованного предсказания вектора движения), а в случае, когда оптимальный режим предсказания представляет собой режим слияния/пропуска, выполняет, процесс предсказания вектора в режиме M/S (режиме слияния/пропуска).
Секция (231) компенсации движения считывает видеокадр-кандидат (опорный видеокадр межкадрового предсказания или опорный видеокадр предсказания, осуществляемого между видами), корреспондирующий индексу опорного изображения, из числа видеокадров-кандидатов, хранящихся в DPB-буфере (229-1) или (229-N).
После этого, в случае режима AMVP-предсказания, секция (231) компенсации движения, основываясь на индексе предсказанного вектора из информации заголовка, поступившей из секции (222) декодирования без потерь, генерирует предсказанный вектор для использования в ходе декодирования вектора движения.
Например, в случае, когда индекс предсказанного вектора указывает на пространственно предсказанный вектор, секция (231) компенсации движения генерирует предсказанный вектор с использованием пространственно соседних блоков, примыкающих к нему на том же самом изображении. В случае, когда индекс предсказанного вектора указывает на вектор, полученный посредством временного предсказания, секция (231) компенсации движения генерирует предсказанный вектор, считывая из памяти (233-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида. В случае, когда индекс предсказанного вектора указывает на вектор, полученный посредством предсказания, осуществляемого между видами, секция (231) компенсации движения считывает векторы движения опорных блоков (Cor PU (корреспондирующего элемента предсказания) на Фиг. 1) на других видах, относящихся к тому же самому моменту времени, из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов, и генерирует предсказанный вектор.
Секция (231) компенсации движения распознает вектор движения, представляющий движение, используемое при генерировании предсказанного изображения блока-объекта обработки, суммируя информацию о движении, входящую в состав информации заголовка, поступившей из секции (222) декодирования без потерь, с сгенерированным предсказанным вектором. После этого, подобно секции (34) предсказания/компенсации движения, показанной на Фиг. 4, секция (231) компенсации движения генерирует предсказанное изображение, выполняя компенсацию движения для опорного видеокадра в соответствии с этим вектором движения.
Таким образом, секция (231) компенсации движения получает блок (корреспондирующий блок) в положении, перемещенном (сдвинутом) в соответствии с вектором сдвига блока-объекта обработки от положения блока-объекта обработки на видеокадре-кандидате в качестве предсказанного изображения.
В случае режима M/S секция (231) компенсации движения генерирует вектор движения, основываясь на индексе слияния, содержащемся в информации заголовка, поступившей из секции (222) декодирования без потерь.
Например, в случае, когда индекс слияния указывает на пространственно предсказанный вектор, секция (231) компенсации движения генерирует вектор движения, используя пространственно соседние блоки, примыкающие к нему на том же самом изображении. В случае, когда индекс слияния указывает на вектор, полученный посредством временного предсказания, секция (231) компенсации движения генерирует вектор движения, считывая из памяти (233-1) векторов движения векторы движения соседних, по времени, блоков корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида. В случае, когда индекс слияния указывает на вектор, полученный посредством предсказания, осуществляемого между видами, секция (231) компенсации движения считывает векторы движения опорных блоков (Cor PU (корреспондирующего элемента предсказания) на Фиг. 1) на других видах, относящихся к тому же самому моменту времени, из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов, и генерирует вектор движения.
После этого, подобно секции (34) предсказания/компенсации движения, показанной на Фиг. 4, секция (231) компенсации движения генерирует предсказанное изображение, выполняя компенсацию движения для опорного видеокадра в соответствии с этим вектором движения. Секция (231) компенсации движения предоставляет предсказанное изображение в секцию (232) выбора предсказанного изображения.
Когда предсказанное изображение предоставлено из секции (230) предсказания, осуществляемого внутри видеокадра, секция (232) выбора предсказанного изображения выбирает это предсказанное изображение и предоставляет выбранное предсказанное изображение в вычислительную секцию (225). Когда предсказанное изображение предоставлено из секции (231) компенсации движения, секция (232) выбора предсказанного изображения выбирает это предсказанное изображение и предоставляет выбранное предсказанное изображение в вычислительную секцию (225).
Память (233-1) векторов движения хранит вектор движения, определенный в секции (231) компенсации движения в качестве (кандидата для) вектора движения, на который будет осуществляться ссылка при генерировании предсказанного вектора для кодирования вектора движения, которое (кодирование) подлежит исполнению в более позднее время. Кроме того, осуществляется совместное использование памяти (233-1) векторов движения с декодером (211-М) другого вида.
Кроме того, в кодере (11-N) предусмотрена память (233-N) векторов движения, имеющего другое вид, и она хранит вектор движения, определенный в декодере (211-N) в качестве (кандидата для) вектора движения, на который должна осуществляться ссылка при генерировании предсказанного вектора для кодирования вектора движения, которое (кодирование) подлежит исполнению в более позднее время сгенерирован. Кроме того, осуществляется совместное использование памяти (233-N) векторов движения с секцией (231) компенсации движения или декодером (211-М) другого вида.
Конфигурация секции компенсации движения
Фиг. 15 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции компенсации движения, показанной на Фиг. 14.
В примере, показанном на Фиг. 15, секция (231) компенсации движения сконфигурирована таким образом, чтобы включать в себя секцию (251) автоматического генерирования индекса опорного изображения, секцию (252) предсказания вектора в режиме AMVP-предсказания и секцию (253) предсказания вектора в режиме M/S.
В случае, когда режим предсказания не является режимом межкадрового предсказания, информация о режиме слияние или режиме пропуска и индекс слияния, входящие в состав информации заголовка, предоставляются из секции (222) декодирования без потерь в секцию (251) автоматического генерирования индекса опорного изображения.
Секция (251) автоматического генерирования индекса опорного изображения автоматически генерирует индекс опорного изображения и предоставляет сгенерированный индекс опорного изображения (Ref index) и индекс слияния в секцию (253) предсказания вектора в режиме M/S, наряду с информацией о режиме слияния или режиме пропуска, поступившей из секции (222) декодирования без потерь.
В случае, когда режим предсказания представляет собой режим межкадрового предсказания, информация о режиме межкадрового предсказания (inter mode), индекс опорного изображения (Ref index), информация разности (Mvd) вектора движения и индекс (MV index (Индекс вектора движения)) предсказанного вектора предоставляются из секции (222) декодирования без потерь в секцию(252) предсказания вектора в режиме AMVP-предсказания.
Секция (53) предсказания вектора в режиме AMVP-предсказания считывает видеокадр-кандидат (опорный видеокадр межкадрового предсказания или опорный видеокадр предсказания, осуществляемого между видами), корреспондирующий индексу опорного изображения, из числа видеокадров-кандидатов, хранящихся в DPB-буфере (229-1) или (229-N), в соответствии с режимом межкадрового предсказания.
Секция (252) предсказания вектора в режиме AMVP-предсказания, основываясь на индексе предсказанного вектора, генерирует предсказанный вектор для использования в ходе декодирования вектора движения.
Например, в случае, когда индекс предсказанного вектора указывает на пространственно предсказанный вектор, секция (252) предсказания вектора в режиме AMVP-предсказания генерирует предсказанный вектор с использованием пространственно соседних блоков, примыкающих к нему на том же самом изображении. В случае, когда индекс предсказанного вектора указывает на вектор, полученный посредством временного предсказания, секция (252) предсказания вектора в режиме AMVP-предсказания генерирует предсказанный вектор, считывая из памяти (233-1) векторов движения векторы движения соседних, по времени, блоков, корреспондирующих или примыкающих к нему на видеокадрах, относящихся к другим моментам времени, того же самого вида. В случае, когда индекс предсказанного вектора указывает на вектор, полученный посредством предсказания, осуществляемого между видами, секция (252) предсказания вектора в режиме AMVP-предсказания считывает векторы движения опорных блоков (Cor PU (корреспондирующего элемента предсказания) на Фиг. 1) на других видах, относящихся к тому же самому моменту времени, из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов, и генерирует предсказанный вектор.
Секция (252) предсказания вектора в режиме AMVP-предсказания распознает вектор движения, представляющий движение, используемое при генерировании предсказанного изображения блока-объекта обработки, суммируя информацию разности вектора движения с сгенерированным предсказанным вектором. После этого, секция (252) предсказания вектора в режиме AMVP-предсказания генерирует предсказанное изображение (pred. image), выполняя компенсацию движения для опорного видеокадра в соответствии с этим вектором движения. Сгенерированное предсказанное изображение предоставляется в секцию (232) выбора предсказанного изображения.
Секция (253) предсказания вектора в режиме M/S считывает видеокадр кандидат (опорный видеокадр межкадрового предсказания), корреспондирующий индексу опорного видеокадра, из числа видеокадров-кандидатов, хранящихся в DPB-буфере (229-1) или (229-N).
Секция (253) предсказания вектора в режиме M/S, основываясь на индексе слияния в информации заголовка, поступившей из секции (222) декодирования без потерь, генерирует вектор движения.
Например, в случае, когда индекс слияния указывает на пространственно предсказанный вектор, секция (253) предсказания вектора в режиме M/S генерирует вектор движения, используя пространственно соседние блоки, примыкающие к нему на том же самом изображении. В случае, когда индекс слияния указывает на вектор, полученный посредством временного предсказания, секция (253) предсказания вектора в режиме M/S генерирует вектор движения, считывая из памяти (233-1) векторов движения векторы движения корреспондирующих блоков, ассоциативно связанных посредством векторов движения на видеокадрах, относящихся к другим моментам времени, того же самого вида. В случае, когда индекс слияния указывает на вектор, полученный посредством предсказания, осуществляемого между видами, секция (253) предсказания вектора в режиме M/S считывает векторы движения опорных блоков (Cor PU (корреспондирующего элемента предсказания) на Фиг. 1) на других видах, относящихся к тому же самому моменту времени, из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов, и генерирует вектор движения. Информация о сгенерированном векторе движения временно сохраняется в памяти (262) пространственных векторов движения, показанной на Фиг. 16, как это будет описано позже.
Секция (253) предсказания вектора в режиме M/S генерирует предсказанное изображение, выполняя компенсацию движения для опорного видеокадра в соответствии с этим вектором движения. Сгенерированное предсказанное изображение предоставляется в секцию (232) выбора предсказанного изображения.
Конфигурация секции предсказания вектора в режиме AMVP-предсказания
Фиг. 16 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции предсказания вектора в режиме AMVP-предсказания, показанной на Фиг. 15.
В примере, показанном на Фиг. 16, секция (252) предсказания вектора в режиме AMVP-предсказания сконфигурирована таким образом, чтобы включать в себя секцию (261) генерирования предсказанного изображения, память (262) пространственных векторов движения, суммирующую секцию (263), секции (264) и (265) генерирования предсказанного вектора, переключатель (266) и секцию (267) преобразования РОС-номера.
Секция (261) генерирования предсказанного изображения вводит вектор движения, сгенерированный посредством суммирования, осуществляемого суммирующей секцией (263), предсказанного вектора с информацией разности вектора движения, через память (262) пространственных векторов движения. Секция (261) генерирования предсказанного изображения считывает из DPB-буфера (229-1) или (229-N) опорное изображение, корреспондирующее индексу опорного изображения (Ref index), поступившему из секции (222) декодирования без потерь, и генерирует предсказанное изображение (pred. image), выполняя компенсацию движения на считанном опорном изображении в соответствии с вектором движения. Сгенерированное предсказанное изображение предоставляется в секцию (232) выбора предсказанного изображения.
Память (262) пространственных векторов движения хранит вектор движения, сгенерированный суммирующей секцией (263), в качестве кандидата для использования при генерировании предсказанного вектора, подлежащем выполнению в более позднее время. В памяти (262) пространственных векторов движения вектор движения хранится в каждом элементе (элементе предсказания) блока, в котором получен вектор движения. Кроме того, в памяти (262) пространственных векторов движения также хранится вектор движения для режима M/S.
Суммирующая секция (263) генерирует вектор движения, вводя предсказанный вектор, сгенерированный секцией (264) генерирования предсказанного вектора или секцией (265) генерирования предсказанного вектора, через переключатель (266) и суммируя вводимый предсказанный вектор с информации разности вектора движения, предоставленной из секции (222) декодирования без потерь. Суммирующая секция (263) заставляет сгенерированный вектор движения сохраниться в памяти (262) пространственных векторов движения.
Секция (264) генерирования предсказанного вектора генерирует пространственно предсказанный вектор, считывая из памяти (262) пространственных векторов движения вектор движения, указанный индексом предсказанного вектора, предоставленным из секции (222) декодирования без потерь. Секция (264) генерирования предсказанного вектора предоставляет сгенерированный предсказанный вектор в суммирующую секцию (263) через переключатель (266).
Секция (265) генерирования предсказанного вектора генерирует непространственно предсказанный (то есть предсказанный посредством TMVP-предсказания или IVMP-предсказания) вектор, считывая из памяти (233-1) или (233-N) векторов движения вектор движения, указанный индексом предсказанного вектора, предоставленным из секции (222) декодирования без потерь. Секция (265) генерирования предсказанного вектора предоставляет сгенерированный предсказанный вектор в суммирующую секцию (263) через переключатель (266).
Таким образом, в случае, когда индекс предсказанного вектора указывает вектор, полученный посредством временного предсказания, секция (265) генерирования предсказанного вектора генерирует предсказанный вектор, считывая из памяти (233-1) векторов движения векторы движения корреспондирующих блоков, ассоциативно связанных посредством векторов движения на видеокадрах, относящихся к другим моментам времени, того же самого вида. В это время, на основе информации о РОС-номере, поступающей из секции (267) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для корреспондирующего блока, выполняется масштабирование в отношении вектора движения корреспондирующего блока. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения.
В случае, когда индекс предсказанного вектора указывает на вектор, полученный посредством предсказания, осуществляемого между видами, секция (252) предсказания вектора в режиме AMVP-предсказания считывает векторы движения опорных блоков (Cor PU (корреспондирующего элемента предсказания) на Фиг. 1) на других видах, относящихся к тому же самому моменту времени, из памяти (233-N), в которой хранятся векторы движения, и генерирует предсказанный вектор. В это время, на основе информации о РОС-номере, поступающей из секции (267) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для корреспондирующего блока, выполняется масштабирование в отношении вектора движения опорного блока. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения.
Секция (267) преобразования РОС-номера преобразует индекс опорного изображения (Ref index) для блока-объекта обработки, поступивший из секции (222) декодирования без потерь, в РОС-номер, и предоставляет информацию о РОС-номере, указывающую РОС-номер, полученный посредством этого преобразования, в секцию (265) генерирования предсказанного вектора.
Пример конфигурации секции генерирования непространственно предсказанного вектора
Фиг. 17 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации секции генерирования непространственно предсказанного вектора, показанной на Фиг. 16.
В примере, показанном на Фиг. 16, секция (265) генерирования предсказанного вектора сконфигурирована таким образом, чтобы включать в себя секцию (281) генерирования вектора при ссылке внутри вида и секцию (282) генерирования вектора при ссылке между видами.
В случае, когда индекс предсказанного вектора указывает на вектор, получаемый посредством временного предсказания (TMVP-предсказания), из секции (222) декодирования без потерь в секцию (281) генерирования вектора при ссылке внутри вида предоставляется индекс (MV index (Индекс вектора движения)) предсказанного вектора.
Секция (281) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор, считывая из памяти (233-1) векторов движения вектор движения корреспондирующего блока, указанного индексом предсказанного вектора, то есть ассоциативно связанного посредством этого вектора движения, на видеокадрах, относящихся к другим моментам времени того же самого вида.
Кроме того, в это время, на основе информации о РОС-номере, поступающей из секции (267) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для корреспондирующего блока, выполняется масштабирование в отношении вектора движения корреспондирующего блока. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения.
Секция (281) генерирования вектора при ссылке внутри вида предоставляет сгенерированный предсказанный вектор в суммирующую секцию (263) через переключатель (266).
В случае, когда индекс предсказанного вектора указывает на предсказанный вектор, получаемый посредством предсказания, осуществляемого между видами (IMVP-предсказания), индекс (MV index) предсказанного вектора предоставляется из секции (222) декодирования без потерь в секцию (282) генерирования вектора при ссылке между видами.
Ссекция (282) генерирования вектора при ссылке между видами генерирует предсказанный вектор посредством IVMP-предсказания. Секция (282) генерирования вектора при ссылке между видами находит вектор разницы из векторов движения соседних блоков, примыкающих к блоку-объекту обработки, из памяти (262) пространственных векторов движения и, основываясь на найденном векторе разницы, получает опорные блоки на других видах, относящихся к тому же самому моменту времени. После этого, секция (282) генерирования вектора при ссылке между видами генерирует предсказанный вектор, считывая вектор движения опорного блока, указанный индексом предсказанного вектора, из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов.
Кроме того, в это время, на основе информации о РОС-номере, поступающей из секции (267) преобразования РОС-номера, в случае, когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для опорного блока, выполняется масштабирование в отношении вектора движения опорного блока. Таким образом, в качестве предсказанного вектора служит отмасштабированный вектор движения.
Секция (282) генерирования вектора при ссылке между видами предоставляет сгенерированный предсказанный вектор в суммирующую секцию (263) через переключатель (266).
Функционирование декодера
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 18, будет описан процесс декодирования в декодера (211-1), показанном на Фиг. 14. Кроме того, декодеры (211-N) и (211-М) для декодирования изображений других видов выполняют аналогичные процессы декодирования.
Накопительный буфер (221) временно сохраняет закодированные данные, соответствующие принятому цветному изображению неосновного вида, и предоставляет сохраненные закодированные данные в секцию (222) декодирования без потерь.
На этапе S 211, секция (222) декодирования без потерь декодирует квантованный разностный коэффициент, входящий в состав закодированных данных, поступивших из накопительного буфера (221).
На этапе S 212, секция (223) процесса, обратного квантованию, осуществляет процесс, обратный квантованию, в отношении квантованного разностного коэффициента, поступившего из секции (222) декодирования без потерь, превращая его в коэффициент преобразования, и предоставляет коэффициент преобразования в секцию (224) обратного ортогонального преобразования.
На этапе S 213, секция (224) обратного ортогонального преобразования выполняет обратное ортогональное преобразование над коэффициентом преобразования, поступившим из секции (223) процесса, обратного квантованию, и предоставляет результат обратного ортогонального преобразования в вычислительную секцию (225).
На этапе S 214, секция (230) предсказания, осуществляемого внутри видеокадра, основываясь на информации заголовка (о режиме внутрикадрового предсказания), поступившей из секции (222) декодирования без потерь, определяет то, является ли предсказание для блока-объекта обработки (элемента предсказания) предсказанием, осуществляемым внутри видеокадра. В случае, когда на этапе S 214 определено, что это предсказание является предсказанием, осуществляемым внутри видеокадра, процесс переходит на этап S 215. На этапе S 215, секция (230) предсказания, осуществляемого внутри видеокадра, выполняет предсказание, осуществляемое внутри видеокадра.
В случае, когда на этапе S 214 определено, что это предсказание не является предсказанием, осуществляемым внутри видеокадра, процесс переходит на этап S 216. На этапе S 216, секция (231) компенсации движения выполняет процесс компенсации движения. Этот процесс компенсации движения будет описан позже со ссылкой на Фиг. 19.
В ходе процесса на этапе S 216, в случае, когда предсказание движения выполняется в режиме предсказания движения, генерируется предсказанный вектор в соответствии с индексом предсказанного вектора, и генерируется вектор движения. В дополнение к этому, считывается опорное изображение, соответствующее индексу опорного изображения, в соответствии со сгенерированным вектором движения выполняется компенсация движения, и генерируется предсказанное изображение.
В случае режима M/S, генерируется вектор движения в соответствии с индексом слияния, считывается опорное изображение, в соответствии со сгенерированным вектором движения выполняется компенсация движения, и генерируется предсказанное изображение. Сгенерированное предсказанное изображение предоставляется в секцию (232) выбора предсказанного изображения.
На этапе S 217, секция (231) компенсации движения (суммирующая секция 263) сохраняет сгенерированный вектор движения в памяти (262) пространственных векторов движения.
В случае, когда предсказанное изображение предоставляется из секции (230) предсказания, осуществляемого внутри видеокадра, секция (232) выбора предсказанного изображения выбирает это предсказанное изображение и предоставляет выбранное предсказанное изображение в вычислительную секцию (225). В случае, когда предсказанное изображение предоставляется из секции (231) компенсации движения, секция (232) выбора предсказанного изображения выбирает это предсказанное изображение и предоставляет выбранное предсказанное изображение в вычислительную секцию (225).
На этапе S 218, вычислительная секция (225) суммирует блок (разность), предоставленный из секции (224) обратного ортогонального преобразования с предсказанным изображением, предоставленным из секции (232) выбора предсказанного изображения. Вычислительная секция (225) предоставляет полученное в результате этого декодированное изображение внутрицикловому фильтру (226).
На этапе S 219, внутрицикловой фильтр (226) определяет то, заканчивается ли наибольший элемент кодирования (LCU-элемент). В случае, когда на этапе S 219 определено, что наибольший элемент кодирования не заканчивается, процесс возвращается на этап S 211 и итеративно повторяется следующий за ним процесс.
В случае, когда на этапе S 219 определено, что наибольший элемент кодирования заканчивается, процесс переходит на этап S 220. На этапе S 220, внутрицикловой фильтр (226) удаляет (уменьшает) искажение блочности (видимую блочность структуры видеоизображения), имеющее место на декодированном изображении, фильтруя декодированное изображение, поступающее из вычислительной секции (225).
На этапе S 221, внутрицикловой фильтр (226) сохраняет декодированное изображение после фильтрования в DPB-буфере (буфере декодированных видеокадров) (229-1).
На этапе S 222, секция (231) компенсации движения осуществляет сжатие данных вектора движения, сохраненного на этапе S 217. Таким образом, например, хотя в памяти (262) пространственных векторов движения сохраняется один вектор движения для каждого блока размером (4×4), как в памяти (64) пространственных векторов движения, показанной на Фиг. 6, сжатие данных вектора движения осуществляется таким образом, чтобы один вектор движения сохранялся для каждого блока размером (16×16). Например, в блоке размером (16×16) выбирается вектор движения левого верхнего блока.
После этого, секция (231) компенсации движения сохраняет вектор движения, подвергшийся сжатию данных, в памяти (233-1) векторов движения.
На этапе S 224, декодер (211-М) другого вида декодирует видеокадр другого вида. Кроме того, этот процесс декодирования в основном является аналогичным процессу декодирования, показанному на Фиг. 18.
Как было описано выше, процесс декодирования выполнен.
Пример процесса компенсации движения
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 19, будет описан процесс компенсации движения на этапе S 216, показанном на Фиг. 18.
Секция (222) декодирования без потерь декодирует, на этапе S 241, информацию о режиме предсказания движения в информации заголовка, и на этапе S 242 определяет то, является ли режим предсказания режимом межкадрового предсказания.
Когда на этапе S 242 определено, что режим предсказания является режимом межкадрового предсказания, секция (222) декодирования без потерь предоставляет информацию о режиме межкадрового предсказания (inter mode), индекс опорного изображения (Ref index), информацию разности (Mvd) вектора движения и индекс (MV index (Индекс вектора движения)) предсказанного вектора в секцию (252) предсказания вектора в режиме AMVP-предсказания. После этого, процесс переходит на этап S 243.
На этапе S 243, секция (252) предсказания вектора в режиме AMVP-предсказания выполняет предсказание вектора в режиме AMVP-предсказания. Процесс предсказания вектора, относящийся к AMVP-предсказанию, будет описан позже со ссылкой на блок-схему алгоритма, показанную на Фиг. 20.
В ходе процесса на этапе S 243 генерируют предсказанный вектор в соответствии с индексом предсказанного вектора, генерируют вектор движения блока-объекта обработки, суммируя со сгенерированным предсказанным вектором информацию разности вектора движения, и в соответствии со сгенерированным вектору движения генерируют предсказанное изображение. Сгенерированное предсказанное изображение предоставляется в секцию (232) выбора предсказанного изображения.
С другой стороны, в случае, когда на этапе S 242 определено, что режим не является режимом межкадрового предсказания, секция (222) декодирования без потерь предоставляет информацию о режиме слияния или о режиме пропуска и индекс слияния в секцию (251) автоматического генерирования индекса опорного изображения. После этого, процесс переходит на этап S 244.
На этапе S 244, секция (251) автоматического генерирования индекса опорного изображения автоматически генерирует индекс опорного изображения и предоставляет сгенерированный индекс опорного изображения (Ref index) и индекс слияния в секцию (253) предсказания вектора в режиме M/S, наряду с информацией о режиме слияния или о режиме пропуска, поступившей из секции (222) декодирования без потерь.
На этапе S 245, секция (253) предсказания вектора в режиме M/S выполняет процесс предсказания вектора в режиме слияния или режиме пропуска. Таким образом, секция (253) предсказания вектора в режиме M/S считывает видеокадр-кандидат (опорный видеокадр межкадрового предсказания), корреспондирующий индексу опорного изображения, из числа видеокадров-кандидатов, хранящихся в DPB-буфере (Буфере декодированных видеокадров) (229-1) или (229-N).
Секция (253) предсказания вектора в режиме M/S, основываясь на индексе слияния в информации заголовка, поступившей из секции (222) декодирования без потерь, генерирует вектор движения.
Например, в случае, когда индекс слияния указывает на пространственно предсказанный вектор, секция (253) предсказания вектора в режиме M/S генерирует вектор движения, секция (253) предсказания вектора в режиме M/S генерирует вектор движения, используя пространственно соседние блоки, примыкающие к нему на том же самом видеокадре. В случае, когда индекс слияния указывает на вектор, полученный посредством временного предсказания, секция (253) предсказания вектора в режиме M/S генерирует вектор движения, считывая из памяти (233-1) векторов движения векторы движения корреспондирующих блоков, ассоциативно связанных посредством векторов движения на видеокадрах, относящихся к другим моментам времени, того же самого вида. В случае, когда индекс слияния указывает на вектор, полученный посредством предсказания, осуществляемого между видами, секция (253) предсказания вектора в режиме M/S считывает векторы движения опорных блоков (Cor PU (корреспондирующего элемента предсказания) на Фиг. 1) на других видах, относящихся к тому же самому моменту времени, из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов, и генерирует вектор движения.
Секция (253) предсказания вектора в режиме M/S генерирует предсказанное изображение, выполняя компенсацию движения для опорного видеокадра в соответствии с этим вектором движения. Сгенерированное предсказанное изображение предоставляется в секцию (232) выбора предсказанного изображения.
Процесс предсказания вектора в режиме AMVP-предсказания
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 20, будет описан процесс предсказания вектора в режима AMVP-предсказания.
На этапе S 261, секция (222) декодирования без потерь декодирует информацию (MVd) разности вектора движения, входящую в состав информации заголовка и предоставляет декодированную информацию разности вектора движения в суммирующую секцию (263).
На этапе S 262, секция (222) декодирования без потерь декодирует индекс опорного изображения, входящий в состав информации заголовка, и предоставляет декодированный индекс опорного изображения (Ref index) в секцию (261) генерирования предсказанного изображения и секцию (267) преобразования РОС-номера.
На этапе S 263, секция (222) декодирования без потерь декодирует индекс предсказанного вектора, входящий в состав информации заголовка.
На этапе S 264, секция (222) декодирования без потерь обращается к индексу предсказанного вектора, декодированному на этапе S 263, и определяет то, является ли предсказанный вектор пространственным.
В случае, когда на этапе S 264 определено, что предсказанный вектор является пространственным, секция (222) декодирования без потерь предоставляет декодированный индекс предсказанного вектора в секцию (264) генерирования предсказанного вектора. После этого, процесс переходит на этап S 265.
На этапе S 265, секция (264) генерирования предсказанного вектора генерирует пространственно предсказанный вектор. Таким образом, секция (264) генерирования предсказанного вектора генерирует пространственно предсказанный вектор, считывая из памяти (262) пространственных векторов движения вектор движения, указанный индексом предсказанного вектора, предоставленным из секции (222) декодирования без потерь. Секция (264) генерирования предсказанного вектора предоставляет сгенерированный предсказанный вектор в суммирующую секцию (263) через переключатель (266).
В случае, когда на этапе S 264 определено, что предсказанный вектор не является пространственным, процесс переходит на этап S 266.
На этапе S 266, секция (265) генерирования предсказанного вектора генерирует непространственно предсказанный вектор. Процесс генерирования непространственно предсказанного вектора будет описан позже со ссылкой на Фиг. 21.
В ходе процесса на этапе S 266, из секции (222) декодирования без потерь предоставляется индекс предсказанного вектора, из памяти (233-1) или (233-N) векторов движения считывается вектор движения, указанный индексом предсказанного вектора, и генерируется непространственно предсказанный (то есть предсказанный посредством TMVP-предсказания или IVMP-предсказания) вектор. Сгенерированный предсказанный вектор предоставляется в суммирующую секцию (263) через переключатель (266).
На этапе S 267, суммирующая секция (263) генерирует вектор движения. Таким образом, предсказанный вектор, сгенерированный секцией (264) или (265) генерирования предсказанного вектора вводится в суммирующую секцию (263) через переключатель (266). Суммирующая секция (263) генерирует вектор движения, суммируя вводимый предсказанный вектор с информацией разности вектора движения, предоставленной из секции (222) декодирования без потерь.
На этапе S 268, суммирующая секция (263) аккумулирует сгенерированный вектор движения в памяти (262) пространственных векторов движения. Кроме того, в это время, сгенерированный вектор движения также предоставляется через память (262) пространственных векторов движения, в секцию (261) генерирования предсказанного изображения.
На этапе S 269, секция (261) генерирования предсказанного изображения генерирует предсказанное изображение (pred. image). Таким образом, секция (261) генерирования предсказанного изображения считывает из DPB-буфера (229-1) или (229-N) опорное изображение, корреспондирующее индексу опорного изображения (Ref index), поступившему из секции (222) декодирования без потерь. В соответствии с вектором движения, поступившим из памяти (262) пространственных векторов движения, секция (261) генерирования предсказанного изображения генерирует предсказанное изображение, выполняя компенсацию движения для считанного опорного изображения в соответствии с вектором движения, поступившим из памяти (262) пространственных векторов движения.
Процесс генерирования непространственно предсказанного вектора
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг. 21, будет описан процесс генерирования непространственно предсказанного вектора на этапе S 266, показанном на Фиг. 20.
На этапе S 281, секция (222) декодирования без потерь обращается к индексу предсказанного вектора, декодированного на этапе S 263, показанном на Фиг. 20, и определяет то, является ли предсказанный вектор временным. В случае, когда на этапе S 281 определено, что предсказанный вектор является временным, секция (222) декодирования без потерь предоставляет индекс предсказанного вектора в секцию (281) генерирования вектора при ссылке внутри вида. После этого, процесс переходит на этап S 282.
На этапе S 282, секция (281) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор посредством TMVP-предсказания. Таким образом, секция (281) генерирования вектора при ссылке внутри вида генерирует предсказанный вектор, считывая из памяти (233-1) векторов движения вектор движения корреспондирующего блока, указанного индексом предсказанного вектора, то есть ассоциативно связанного посредством этого вектора движения, на видеокадрах, относящихся к другим моментам времени того же самого вида. Сгенерированный предсказанный вектор предоставляется в суммирующую секцию (263) через переключатель (266).
В случае, когда на этапе S 281 определено, что предсказанный вектор не является временным, секция (222) декодирования без потерь предоставляет индекс предсказанного вектора в секцию (282) генерирования вектора при ссылке между видами. После этого, процесс переходит на этап S 283.
На этапе: с S 283 по S 285, секция (282) генерирования вектора при ссылке между видами генерирует предсказанный вектор посредством IVMP-предсказания.
Таким образом, на этапе S 283, секция (282) генерирования вектора при ссылке между видами находит вектор разницы из векторов движения соседних блоков, примыкающих к блоку-объекту обработки (элементу предсказания), из памяти (262) пространственных векторов движения, и вычисляет "разницу", основываясь на найденном векторе разницы.
На этапе S 284, секция (282) генерирования вектора при ссылке между видами выбирает элемент предсказания, имеющий положение, сдвинутое на "разницу", полученную на этапе S 283, в качестве опорного элемента предсказания на другом виде.
На этапе S 285, секция (282) генерирования вектора при ссылке между видами генерирует предсказанный вектор из вектора движения выбранного опорного элемента предсказания, считывая вектор движения опорного элемента предсказания из памяти (233-N) векторов движения, в которой хранятся векторы движения для других видов. Поскольку процесс генерирования предсказанного вектора представляет собой в основном тот же самый процесс, что и процесс генерирования предсказанного вектора, описанный выше со ссылкой на Фигуры 12 и 13, то дублирующее его описание не приводится.
Таким образом, на этапе S 285 на основе информации о РОС-номере, поступающей из секции (267) преобразования РОС-номера, определяется то, отличается ли РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки от РОС-номера опорного изображения (Ref РОС-номера) для опорного блока. В случае, когда определено, что эти Ref РОС-номера отличаются друг от друга, выполняется масштабирование в отношении вектора движения опорного блока. Таким образом, в случае, когда определено, что эти Ref РОС-номера отличаются друг от друга, масштабируется вектор движения опорного блока, и генерируется предсказанный вектор.
В ходе процесса на этапе S 285, предсказанный вектор сгенерированного IVMP-предсказания предоставляется в секцию (63) определения "стоимости" вектора и вычитающую секцию (68) через переключатель (67), наряду с индексом вектора движения, указывающим предсказанный вектор.
Как было описано выше, даже в том случае когда РОС-номер опорного изображения (Ref РОС-номер) для блока-объекта обработки отличается от РОС-номера опорного изображения (Ref РОС-номера) для опорного блока на другом виде, имеется возможность назначить в качестве предсказанного вектора отмасштабированный вектор движения, отмасштабировав вектор движения опорного блока. Таким образом, в качестве кандидата предсказанного вектора может также быть назначен вектор движения опорного блока на другом виде. Следовательно, имеется значительный эффект в повышении эффективности кодирования, потому что могут быть отмасштабированы и использованы векторы движения, имеющие высокую корреляцию.
Кроме того, хотя выше был подробно описан случай режима AMVP-предсказания, настоящая технология также может быть применена к режиму слияния. Кроме того, в случае режима слияния, как в случае TMVP-предсказания, Ref index (Индекс опорного изображения) устанавливается в 0, и вектор движения опорного элемента предсказания масштабируется тогда, когда Ref РОС-номер для опорного элемента предсказания на основном виде отличается от Ref РОС-номера для текущего элемента предсказания, и отмасштабированный вектор движения служит в качестве предсказанного вектора.
В этом случае, схема обработки данных для TMVP-предсказания и IVMP-предсказания может быть сделана общей.
В дополнение к этому, выше был описан пример, в котором при получении межкадрового вектора движения блока-объекта обработки используется межкадровый вектор движения опорного блока, сдвинутого на некоторую "разницу", указанную вектором разницы для блока, примыкающего к блоку-объекту обработки, после того, как этот межкадровый вектор отмасштабирован в направлении времени в соответствии с РОС-номером на другом виде по отношению к блоку-объекту обработки.
С другой стороны, настоящая технология также может быть применена в случае, когда в качестве предсказанного вектора используется вектор движения между видами. Таким образом, в случае, когда вектор движения корреспондирующего блока, относящегося к другому моменту времени, корреспондирующего блоку-объекту обработки, относящегося к некоторому моменту времени, представляет собой вектор движения между видами, указывающий на другой вид по отношению к блоку-объекту обработки, вектор движения корреспондирующего блока масштабируется в соответствии с идентификатором вида, и этот отмасштабированный вектор движения может быть использован в качестве предсказанного вектора для блока-объекта обработки.
Как было описано выше, для использования в качестве лежащей в основе схемы кодирования сконфигурирована схема HEVC-кодирования (Высокоэффективного кодирования видеоданных). Однако, настоящее раскрываемое изобретение этим не ограничено. Имеется возможность применить другие схемы кодирования/декодирования.
Кроме того, настоящее раскрываемое изобретение, например, может быть применено к устройству кодирования изображений и устройству декодирования изображений, подлежащим использованию в случае, когда информация изображения (битовый поток), сжатый посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсации движения, как в схеме HEVC-кодирования, или тому подобного, принимается через сетевые среды, такие как спутниковое вещание, кабельное телевидение, Интернет, и мобильный телефон. В дополнение к этому, настоящее раскрываемое изобретение может быть применено к устройству кодирования изображений и устройству декодирования изображений, подлежащим использованию в случае, когда обработка данных выполняется на носителях данных, таких как оптический диск, магнитный диск и флэш-память.
Кроме того, настоящая технология может быть применена, например, к потоковой передаче данных по HTTP-протоколу (Протоколу передачи гипертекста), такой как MPEG DASH (Динамическая адаптивная передача данных посредством протокола передачи гипертекста, разработанная Экспертной группой по вопросам движущегося изображения), для выбора и использования надлежащих закодированных данных из множества порций закодированных данных, в которых подготовленные разрешающие способности и тому подобное отличаются друг от друга в элементах сегментов.
4. Третий вариант реализации изобретения
Пример конфигурации компьютера
Вышеупомянутая последовательность процессов может быть исполнена посредством аппаратных средств или может быть исполнена посредством программных средств. В случае, когда эта последовательность процессов подлежит выполнению посредством программных средств, программы, образующие программные средства, устанавливаются на компьютер. Здесь, термин "компьютер" включает в себя компьютер, который встроен в специализированные аппаратные средства, и универсальный персональный компьютер (PC), который, например, может исполнять разнообразные функции при установке на компьютер разнообразных программ.
Фиг. 22 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации аппаратных средств компьютера для того, чтобы исполнять посредством программы вышеописанную последовательность процессов.
В компьютере (800), центральный процессор (ЦП) (801), постоянное запоминающее устройство (ПЗУ) (802), и оперативное запоминающее устройство (ОЗУ) (803) соединены друг с другом посредством шины (804).
С шиной (804), кроме того, соединен интерфейс (I/F) (810) ввода и вывода. С интерфейсом (810) ввода и вывода соединены входная секция (811), выходная секция (812), запоминающая секция (813), секция (814) связи и накопитель (815).
Входная секция (811) образована клавиатурой, "мышью", микрофоном и тому подобным. Выходная секция (812) образована устройством отображения, громкоговорителем и тому подобным. Запоминающая секция (813) образована жестким магнитным диском, энергонезависимым запоминающим устройством или тому подобным. Секция (814) связи образована сетевым интерфейсом или тому подобным. Накопитель (815) приводит в действие съемный носитель (821) информации, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство.
В компьютере, сконфигурированном так, как это описано выше, центральный процессор (801) загружает программы, хранящиеся в запоминающей секции (813) в оперативное запоминающее устройство (803) через интерфейс (810) ввода и вывода и шину (804), и исполняет эти программы, так, чтобы выполнялась вышеописанная последовательность процессов.
Программа, исполняемая компьютером (800) (центральным процессором (801)) может быть предоставлена, будучи записанной на съемном носителе (821) информации, как носителе пакета программ, или тому подобном. Программа может также быть предоставлена через проводную или беспроводную среду передачи данных, такую как локальная сеть, сеть "Интернет" или цифровое спутниковое вещание.
В этом компьютере, при загрузке съемного носителя (821) информации в накопитель (815) программа может быть установлена в запоминающую секцию (813) через интерфейс (810) ввода и вывода. Также имеется возможность принять программу из проводной или беспроводной среды передачи данных, используя секцию (814) связи, и установить программу в запоминающую секцию (813). В качестве другой альтернативы, программа может быть заранее установлена в постоянное запоминающее устройство (802) или в запоминающую секцию (813).
Следует отметить, что программа, исполняемая компьютером, может представлять собой программу, которая обрабатывается во временной последовательности, соответствующей последовательности, описанной в этой спецификации, или может представлять собой программу, которая обрабатывается параллельно или в необходимые моменты времени, например, по вызову.
В настоящем раскрываемом изобретении, этапы описания программы, записываемой на носителе записи, могут включать в себя обработку данных, выполняемую во временной последовательности, соответствующей порядку в описании и обработку данных, не осуществляемую во временной последовательности, но выполняемую параллельно или в индивидуальном порядке.
В этой спецификации термин "система" относится ко всему аппарату, включающему в себя множества устройств (аппаратов).
Кроме того, элемент, описанный выше как одно устройство (или модуль обработки данных), может быть разделен и сконфигурирован как множество устройств (или модулей обработки данных). В противоположность этому, элементы, описанные выше как множество устройств (или модулей обработки данных), могут быть сконфигурированы все вместе как одно устройство (или модуль обработки данных). Кроме того, к каждому устройству (или модулю обработки данных) может быть добавлен элемент, отличный от тех, что описаны выше. Кроме того, часть элемента данного устройства (или модуля обработки данных) может быть включена в состав элемента другого устройства (или другого модуля обработки данных), если только конфигурация или функционирование системы в целом является, по существу, тем же самым. Другими словами, вариант реализации раскрываемого изобретения не ограничен вариантами реализации, описанными выше, и можно сделать различные изменения и модификации, не выходя при этом за рамки объема раскрываемого изобретения.
Устройство кодирования изображений и устройство декодирования изображений, соответствующие варианту реализации изобретения могут быть применены в различных электронных устройствах, таких как передатчики и приемники для спутникового вещания, кабельного вещания, такого как кабельное телевидение, распространения данных по сети "Интернет", распространения данных оконечным устройствам посредством сотовой связи и тому подобного, записывающих устройствах, которые записывают изображения на носителе информации, таком как оптические диски, магнитные диски и флэш-память, и устройствах воспроизведения, которые воспроизводят изображения с таких носителей информации. Ниже будут описаны четыре варианта применения.
5. Варианты применения
Первый вариант применения: телевизионные приемники
На Фиг. 23 проиллюстрирован пример схематической конфигурации телевизионного устройства, в котором применен вариант реализации изобретения. Телевизионное устройство (900) включает в себя антенну (901), тюнер (902), демультиплексор (903), декодер (904), секцию (905) обработки видеосигналов, секцию (906) отображения, секцию (907) обработки аудиосигналов, громкоговоритель (908), внешний интерфейс (909), управляющую секцию (910), пользовательский интерфейс (911) и шину (912).
Тюнер (902) извлекает из сигналов вещания, принимаемых через антенну (901), сигнал требуемого канала и демодулирует извлеченный сигнал. После этого, тюнер (902) выводит закодированный битовый поток, полученный посредством демодуляции, в демультиплексор (903). Другими словами, тюнер (902) служит в качестве передающего средства в телевизионном устройстве (900) для приема закодированного потока данных, в котором закодировано изображение.
Демультиплексор (903) осуществляет демультиплексирование закодированного битового потока, получая поток видеоинформации и поток аудиоинформации программы, подлежащей просмотру, и выводит каждый поток данных, полученный посредством демультиплексирования, в декодер (904). Демультиплексор (903) также извлекает из закодированного битового потока вспомогательные данные, такие как электронный путеводитель по телевизионным программам (EPG), и предоставляет извлеченные данные в управляющую секцию (910). В дополнение к этому отметим, что в случае, когда битовый поток был скремблирован, демультиплексор (903) может выполнять дескремблирование.
Декодер (904) декодирует поток видеоинформации и поток аудиоинформации, вводимые из демультиплексора (903). После этого, декодер (904) выводит видеоданные, сгенерированные в ходе процесса декодирования, в секцию (905) обработки видеосигналов. Декодер (904) также выводит аудиоданные, сгенерированные в ходе процесса декодирования, в секцию (907) обработки аудиосигналов.
Секция (905) обработки видеосигналов воспроизводит видеоданные, вводимые из декодера (904), и заставляет секцию (906) отображения отображать видеоинформацию. Секция (905) обработки видеосигналов может также заставлять секцию (906) отображения отображать прикладное экранное изображение, предоставляемое через сеть. Кроме того, секция (905) обработки видеосигналов может, в соответствии с настройками, выполнять над видеоданными дополнительный процесс, такой как устранение (подавление) шумов. Кроме того, секция (905) обработки видеосигналов может генерировать изображение графического пользовательского интерфейса (ГПИ), такое как меню, кнопка и курсор, и накладывать сгенерированное изображение на выводимое изображение.
Секция (906) отображения управляется управляющим сигналом, предоставляемым из секции (905) обработки видеосигналов, и отображает видеоинформацию или изображение на видеоэкране устройства отображения (такого как, жидкокристаллический дисплей, плазменный дисплей или органический электролюминесцентный дисплей (OELD-дисплей).
Секция (907) обработки аудиосигналов выполняет процесс воспроизведения, такой как цифроаналоговое преобразование и усиление, над аудиоданными, вводимыми из декодера (904), и выводит звук из громкоговорителя (908). Секция (907) обработки аудиосигналов может также выполнять над аудиоданными дополнительный процесс, такой как устранение (подавление) шумов.
Внешний интерфейс (909) представляет собой интерфейс для соединения телевизионного устройства (900) с внешним устройством или сетью. Например, поток видеоинформации или поток аудиоинформации, принятые через внешний интерфейс (909), могут быть декодированы декодером (904). То есть внешний интерфейс (909) также служит в качестве передающего средства в телевизионном устройстве (900) для приема закодированного потока данных, в котором закодировано изображение.
Управляющая секция (910) включает в себя процессор, такой как центральный процессор (ЦП), и память, такую как оперативное запоминающее устройство (ОЗУ) и постоянное запоминающее устройство (ПЗУ). Память хранит программу, подлежащую исполнению центральным процессором, данные программ, данные EPG (Электронного путеводителя по телевизионным программам), данные, полученные через сеть, и тому подобное. Программа, хранящаяся в памяти, считывается и исполняется центральным процессором, например, при включении телевизионного устройства (900). Центральный процессор управляет функционированием телевизионного устройства (900) в соответствии, например, с операционным сигналом, вводимым из пользовательского интерфейса (911), исполняя эту программу.
С управляющей секцией (910) соединен пользовательский интерфейс (911). Пользовательский интерфейс (911) включает в себя, например, кнопку и выключатель, используемые для того, чтобы пользователь управлял телевизионным устройством (900), и принимающую секцию для сигнала дистанционного управления. Пользовательский интерфейс (911) обнаруживает операцию пользователя посредством этих элементов конструкции, генерирует операционный сигнал и выводит сгенерированный операционный сигнал в управляющую секцию (910).
Шина (912) соединяет тюнер (902), демультиплексор (903), декодер (904), секцию (905) обработки видеосигналов, секцию (907) обработки аудиосигналов, внешний интерфейс (909) и управляющую секцию (910) друг с другом.
В телевизионном устройстве (900), сконфигурированном таким образом, декодер (904) имеет функцию устройства (60) декодирования изображений, соответствующего варианту реализации изобретения. Имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
Второй вариант применения: мобильные телефоны
На Фиг. 24 проиллюстрирован пример схематической конфигурации мобильного телефона, в котором применен вариант реализации изобретения. Мобильный телефон (920) включает в себя: антенну (921), секцию (922) связи, кодер-декодер (923) аудиоинформации, громкоговоритель (924), микрофон (925), секцию (926) фотокамеры, секцию (927) обработки изображения, секцию (928) демультиплексирования, секцию (929) записи/воспроизведения, секцию (930) отображения, управляющую секцию (931), операционную секцию (932) и шину (933).
Антенна (921) соединена с секцией (922) связи. Громкоговоритель (924) и микрофон (925) соединены с кодером-декодером (923) аудиоинформации. Операционная секция (932) соединена с управляющей секцией (931). Шина (933) соединяет секцию (922) связи, кодер-декодер (923) аудиоинформации, секцию (926) фотокамеры, секцию (927) обработки изображения, секцию (928) демультиплексирования, секцию (929) записи/воспроизведения, секцию (930) отображения и управляющую секцию (931) друг с другом.
Мобильный телефон (920) выполняет операцию, такую как передача и прием аудиосигнала, передача и прием электронной почты или данных изображения, ввод изображения и запись данных в различных режимах функционирования, включающих в себя режим голосового телефонного звонка, режим передачи данных, режим ввода изображения, и видеотелефонный режим.
В режиме голосового телефонного звонка, аналоговый аудиосигнал, сгенерированный микрофоном (925), предоставляется в кодер-декодер (923) аудиоинформации. Кодер-декодер (923) аудиоинформации преобразует аналоговый аудиосигнал в аудиоданные и подвергает эти преобразованные аудиоданные аналого/цифровому преобразованию и осуществляет сжатие этих преобразованных аудиоданных. После этого, кодер-декодер (923) аудиоинформации выводит сжатые аудиоданные в секцию (922) связи. Секция (922) связи кодирует и модулирует аудиоданные, и генерирует сигнал передачи. После этого, секция (922) связи передает через антенну (921) сгенерированный сигнал передачи на базовую станцию (не проиллюстрированную на чертеже). Секция (922) связи также усиливает сигнал беспроводной связи, принятый через антенну (921), и преобразует частоту сигнала беспроводной связи, чтобы получить принятый сигнал. После этого, секция (922) связи демодулирует и декодирует принятый сигнал, генерирует аудиоданные и выводит сгенерированные аудиоданные в кодер-декодер (923) аудиоинформации. Кодер-декодер (923) аудиоинформации разворачивает аудиоданные и подвергает аудиоданные цифроаналоговому преобразованию, и генерирует аналоговый аудиосигнал. После этого, кодер-декодер (923) аудиоинформации предоставляет сгенерированный аудиосигнал в громкоговоритель (924) для вывода звука.
Управляющая секция (931) также генерирует текстовые данные в соответствии с операцией, производимой пользователем посредством операционной секции (932), причем эти текстовые данные образуют, например, электронное почтовое сообщение. Помимо этого, управляющая секция (931) заставляет секцию (930) отображения отображать этот текст. Кроме того, управляющая секция (931) генерирует данные электронного почтового сообщения в соответствии с командой передачи, отдаваемой пользователем посредством операционной секции (932), и выводит сгенерированные данные электронного почтового сообщения в секцию (922) связи. Секция (922) связи кодирует и модулирует данные электронного почтового сообщения и генерирует сигнал передачи. После этого, секция (922) связи передает через антенну (921) сгенерированный сигнал передачи на базовую станцию (не проиллюстрированную на чертеже). Секция (922) связи также усиливает сигнал беспроводной связи, принимаемый через антенну (921), и преобразует частоту сигнала беспроводной, чтобы получить принятый сигнал. После этого, секция (922) связи демодулирует и декодирует принятый сигнал для того, чтобы восстановить данные электронного почтового сообщения, и выводит восстановленные данные электронного почтового сообщения в управляющую секцию (931). Управляющая секция (931) заставляет секцию (930) отображения отображать содержимого электронного почтового сообщения, и также заставляет носитель данных в секции (929) записи/воспроизведения сохранить эти данные электронного почтового сообщения.
Секция (929) записи/воспроизведения включает в себя считываемый/записываемый носитель данных. Например, этот носитель данных может представлять собой встроенный носитель данных, такой как оперативное запоминающее устройство и флэш-память, или внешне устанавливаемый носитель данных, такой как жесткие магнитные диски, магнитные диски, магнитооптические диски, оптические диски, память с битовой картой нераспределенного пространства (USB-память) или карты памяти.
Кроме того, в режиме ввода изображения, секция (926) фотокамеры, например, вводит изображение объекта для того, чтобы сгенерировать данные изображений, и выводит сгенерированные данные изображений в секцию (927) обработки изображения. Секция (927) обработки изображения кодирует данные изображений, вводимые из секции (926) фотокамеры, и заставляет носитель данных в секции (929) записи/воспроизведения сохранить закодированный поток данных.
Кроме того, в видеотелефонном режиме, секция (928) демультиплексирования, например, осуществляет мультиплексирование потока видеоинформации, закодированного секцией (927) обработки изображения, и потока аудиоинформации, вводимого из кодера-декодера (923) аудиоинформации, и выводит мультиплексированный поток данных в секцию (922) связи. Секция (922) связи кодирует и модулирует этот поток данных и генерирует сигнал передачи. После этого, секция (922) связи передает через антенну (921) сгенерированный сигнал передачи на базовую станцию (не проиллюстрированную на чертеже). Секция (922) связи также усиливает сигнал беспроводной связи, принятый через антенну (921), и преобразует частоту сигнала беспроводной связи, чтобы получить принятый сигнал. Эти сигнал передачи и принятый сигнал могут включать в себя закодированный битовый поток. После этого секция (922) связи демодулирует и декодирует принятый сигнал для того, чтобы восстановить поток данных, и выводит восстановленный поток данных в секцию (928) демультиплексирования. Секция (928) демультиплексирования осуществляет демультиплексирование введенного потока данных, для того, чтобы получить поток видеоинформации и поток аудиоинформации, и выводит поток видеоинформации в секцию (927) обработки изображения, а поток аудиоинформации- в кодер-декодер (923) аудиоинформации. Секция (927) обработки изображения декодирует поток видеоинформации и генерирует видеоданные. Эти видеоданные предоставляются в секцию (930) отображения, и секцией (930) отображения отображается последовательность изображений. Кодер-декодер (923) аудиоинформации разворачивает поток аудиоинформации, подвергает поток аудиоинформации цифроаналоговому преобразованию и генерирует аналоговый аудиосигнал. После этого, кодер-декодер (923) аудиоинформации предоставляет сгенерированный аудиосигнал громкоговорителю (924) и обеспечивает вывод звука.
В мобильном телефоне (920), сконфигурированном таким образом, секция (927) обработки изображения имеет функцию устройства кодирования изображений и устройства декодирования изображений, соответствующую варианту реализации изобретения. Имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
Третий вариант применения: устройство записи/воспроизведения На Фиг. 25 проиллюстрирован пример схематической конфигурации устройства записи/воспроизведения, в котором применен вариант реализации изобретения. Устройство (940) записи/воспроизведения, например, кодирует аудиоданные и видеоданные принятой вещательной программы и записывает закодированные аудиоданные и закодированные видеоданные на носитель записи. Например, устройство (940) записи/воспроизведения может также кодировать аудиоданные и видеоданные, полученные от другого устройства, и записывать закодированные аудиоданные и закодированные видеоданные на носитель записи. Кроме того, устройство (940) записи/воспроизведения, например, воспроизводит данные, записанные на носителе записи использует монитор или громкоговоритель для того, чтобы воспроизводить данные, записанные на носителе данных, в соответствии с командой пользователя. При этом устройство (940) записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство (940) записи/воспроизведения включает в себя тюнер (941), внешний интерфейс (942), кодер (943), накопитель (944) на жестком магнитном диске (НЖМД), дисковод (945), переключатель (946), декодер (947), секцию (948) отображения на экране (OSD-секцию), управляющую секцию (949) и пользовательский интерфейс (950).
Тюнер (941) извлекает из сигналов вещания, принятых через антенну (не показанную на чертеже), сигнал требуемого канала и демодулирует извлеченный сигнал. После этого, тюнер (941) выводит закодированный битовый поток, полученный посредством демодуляции, в переключатель (946). То есть тюнер (941) служит в качестве передающего средства в устройстве (940) записи/воспроизведения.
Внешний интерфейс (942) представляет собой интерфейс для соединения устройства (940) записи/воспроизведения с внешним устройством или сетью. Например, внешний интерфейс (942) может представлять собой интерфейс стандарта 1394 Института инженеров по электротехнике и радиоэлектронике (ШЕЕ) (США), сетевой интерфейс, USB-интерфейс (интерфейс Универсальной последовательной шины), интерфейс флэш-памяти или тому подобное. Например, видеоданные и аудиоданные, принятые через внешний интерфейс (942), вводятся в кодер (943). То есть внешний интерфейс (942) служит в качестве передающего средства в устройстве (940) записи/воспроизведения.
В случае, когда видеоданные и аудиоданные, вводимые с внешнего интерфейса (942) не закодированы, кодер (943) кодирует эти видеоданные и аудиоданные. После этого кодер (943) выводит закодированный битовый поток в переключатель (946).
Накопитель (944) на жестком магнитном диске записывает, на внутреннем жестком магнитном диске, закодированный битовый поток, в котором сжаты данные контента (информационно значимого содержимого) видеоинформации и звука, разнообразные программы и другие порции данных. Накопитель (944) на жестком магнитном диске считывает эти порции данных с жесткого магнитного диска во время воспроизведении видеоинформации и звука.
Дисковод (945) записывает данные на носитель записи, который в него установлен, и считывает их оттуда. Носитель записи, устанавливаемый в дисковод (945), может представлять собой, например, DVD-диск (универсальный цифровой диск) (DVD-Video (универсальный цифровой диск для видеоданных), DVD-RAM (оперативное запоминающее устройство на универсальном цифровом диске), DVD-R (однократно записываемый универсальный цифровой диск формата "-"), DVD-RW (перезаписываемый универсальный цифровой диск формата "-"), DVD+R (однократно записываемый универсальный цифровой диск формата "+"), DVD+RW (перезаписываемый универсальный цифровой диск формата "+")), диск Blu-ray (зарегистрированный товарный знак) или тому подобное.
Переключатель (946) выбирает, во время записи видеоинформации или звука, битовый поток, вводимый из тюнера (941) или кодера (943), и выводит выбранный закодированный битовый поток в накопитель (944) на жестком магнитном диске или в дисковод (945). Переключатель (946) во время воспроизведения видеоинформации или звука также выводит закодированный битовый поток из накопителя (944) на жестком магнитном диске или дисковода (945) в декодер (947).
Декодер (947) декодирует закодированный битовый поток и генерирует видеоданные и аудиоданные. После этого, декодер (947) выводит сгенерированные видеоданные в OSD-модуль (948). Декодер (904) также выводит сгенерированные аудиоданные во внешний громкоговоритель.
OSD-секция (948) воспроизводит видеоданные, вводимые из декодера (947), и отображает видеоинформацию. OSD-секция (948) может также накладывать на отображаемую видеоинформацию изображение графического пользовательского интерфейса, такое как меню, кнопка и курсор.
Управляющая секция (949) включает в себя процессор, такой как центральный процессор, и память, такую как оперативное запоминающее устройство и постоянное запоминающее устройство. Память хранит программу, подлежащую исполнению центральным процессором, данные программ и так далее. Например, программа, хранящаяся в памяти, считывается и исполняется центральным процессором, во время включения устройства (940) записи/воспроизведения. Центральный процессор, исполняя эту программу, управляет функционированием устройства (940) записи/воспроизведения в соответствии с операционным сигналом, вводимым из пользовательского интерфейса (950).
С управляющей секцией (949) соединен пользовательский интерфейс (950). Пользовательский интерфейс (950) включает в себя, например, кнопку и выключатель, используемые для того, чтобы пользователь управлял устройством (940) записи/воспроизведения, и принимающую секцию для сигнала дистанционного управления. Пользовательский интерфейс (950) обнаруживает операцию, производимую пользователем посредством этих элементов конструкции, генерирует операционный сигнал и выводит сгенерированный операционный сигнал в управляющую секцию (949).
В устройстве (940) записи/воспроизведения, сконфигурированном таким образом, кодер (943) имеет функцию устройства кодирования изображений, соответствующего варианту реализации изобретения. Декодер (947) также имеет функцию устройства декодирования изображений, соответствующего варианту реализации изобретения. Имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
Четвертый вариант применения: устройство ввода изображения
На Фиг. 26 проиллюстрирован пример схематической конфигурации устройства ввода изображения, в котором применен вариант реализации изобретения. Устройство (960) ввода изображения вводит изображение объекта, генерируя изображение, кодирует данные изображения и записывает данные изображения на носитель записи.
Устройство (960) ввода изображения включает в себя: оптический блок (961), секцию (962) ввода изображения, секцию (963) обработки сигналов, секцию (964) обработки изображения, секцию (965) отображения, внешний интерфейс (966), память (967), накопитель (968) с носителями информации, OSD-секцию (969), управляющую секцию (970), пользовательский интерфейс (971) и шину (972).
Оптический блок (961) соединен с секцией (962) ввода изображения. Секция (962) ввода изображения соединена с секцией (963) обработки сигналов. Секция (965) отображения соединена с секцией (964) обработки изображения. Пользовательский интерфейс (971) соединен с управляющей секцией (970). Шина (972) соединяет секцию (964) обработки изображения, внешний интерфейс (966), памяти (967), накопитель (968) с носителями информации, OSD-секцию (969) и управляющую секцию (970) друг с другом.
Оптический блок (961) включает в себя фокусирующую линзу, механизм апертурной диафрагмы и тому подобное. Оптический блок (961) формирует оптическое изображение объекта на поверхности ввода изображения в секции (962) ввода изображения. Секция (962) ввода изображения включает в себя датчик изображения, такой как прибор с зарядовой связью (CCD-прибор) и комплементарный металлооксидный полупроводник (CMOS), и преобразует посредством фотоэлектрического преобразования оптическое изображение, сформированное на поверхности ввода изображения, в сигнал изображения, который представляет собой электрический сигнал. После этого, секция (962) ввода изображения выводит сигнал изображения в секцию (963) обработки сигналов.
Секция (963) обработки сигналов выполняет разнообразные процессы обработки сигналов с фотокамеры, такие как коррекция излома, гамма-коррекция и цветовая коррекция, над сигналом изображения, вводимым из секции (962) ввода изображения. Секция (963) обработки сигналов выводит данные изображения, подвергшиеся процессам обработки сигналов с фотокамеры, в секцию (964) обработки изображения.
Секция (964) обработки изображения кодирует данные изображения, вводимые из секции (963) обработки сигналов, и генерирует закодированные данные. После этого, секция (964) обработки изображения выводит сгенерированные закодированные данные во внешний интерфейс (966) или накопитель (968) с носителями информации. Секция (964) обработки изображения также декодирует закодированные данные, вводимые из внешнего интерфейса (966) или накопителя (968) с носителями информации, и генерирует данные изображения. После этого, секция (964) обработки изображения выводит сгенерированные данные изображения в секцию (965) отображения. Секция (964) обработки изображения может также выводить данные изображения, вводимые из секции (963) обработки сигналов, в секцию (965) отображения и заставлять изображение отображаться. Помимо этого, секция (964) обработки изображения может накладывать на изображение, подлежащее выводу в секцию (965) отображения, данные для отображения, полученные из OSD-секции (969).
OSD-секция (969) генерирует изображение графического пользовательского интерфейса, такое как меню, кнопка или курсор, и выводит сгенерированное изображение в секцию (964) обработки изображения.
Внешний интерфейс (966) сконфигурирован, например, в виде входного/выходного разъема USB (Универсальной последовательной шины). Внешний интерфейс (966) соединяет, например, устройство (960) ввода изображения с принтером во время печатания изображения. При необходимости к внешнему интерфейсу (966) дополнительно присоединяется накопитель. В этот накопитель устанавливается съемный носитель информации, такой как магнитные диски или оптические диски, и на устройстве (960) ввода изображения может быть установлена программа, считываемая с этого съемного носителя информации. Кроме того, внешний интерфейс (966) может быть сконфигурирован в виде сетевого интерфейса, соединяемого с сетью, такой как локальная сеть и сеть "Интернет". То есть внешний интерфейс (966) служит в качестве передающего средства в устройстве (960) ввода изображения.
Носитель записи, устанавливаемый в накопитель (968) с носителями информации, может представлять собой считываемый и записываемый съемный носитель информации, такой как магнитные диски, магнитооптические диски, оптические диски и полупроводниковое запоминающее устройство. Носитель записи может также быть постоянно установлен на накопителе (968) с носителями информации, образуя непереносную запоминающую секцию, такую как встроенные накопители на жестком магнитном диске или твердотельные накопители (SSD-накопители).
Управляющая секция (970) включает в себя процессор, такой как центральный процессор, и память, такую как оперативное запоминающее устройство и постоянное запоминающее устройство. Память хранит программу, подлежащую исполнению центральным процессором, данные программ и тому подобное. Программа, хранящаяся в памяти, считывается и исполняется центральным процессором, например, во время включения устройства (960) ввода изображения. Центральный процессор, исполняя эту программу, управляет функционированием устройства (960) ввода изображения, например, в соответствии с операционным сигналом, вводимым из пользовательского интерфейса (971).
С управляющей секцией (970) соединен пользовательский интерфейс (971). Пользовательский интерфейс (971) включает в себя, например, кнопку, выключатель и тому подобное для того, чтобы пользователь управлял устройством (960) ввода изображения. Пользовательский интерфейс (971) обнаруживает операцию, производимую пользователем через эти элементу конструкции, генерирует операционный сигнал и выводит сгенерированный операционный сигнал в управляющую секцию (970).
В устройстве (960) ввода изображения, сконфигурированном таким образом, секция (964) обработки изображения имеет функцию устройства кодирования изображений и устройства декодирования изображений, соответствующую варианту реализации изобретения. Имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
6. Пример применения масштабируемого кодирования видеоинформации
Первая система
Далее будет описан конкретный пример использования масштабируемых закодированных данных, в котором выполняется масштабируемое кодирование видеоинформации (иерархическое кодирование). Масштабируемое кодирование используется, например, для выбора данных, подлежащих передаче, как в примерах, проиллюстрированных на Фиг. 27.
В системе (1000) передачи данных, проиллюстрированной на Фиг. 27, сервер (1002) распределения считывает масштабируемые закодированные данные, хранящиеся в секции (1001) хранения масштабируемых закодированных данных, и распределяет масштабируемые закодированные данные через сеть (1003) оконечным устройствам, таким как персональный компьютер (1004), аудио-видеоустройство (1005), планшетное устройство (1006) или мобильный телефон (1007).
В это время, сервер (1002) распределения выбирает и передает закодированные данные, имеющие надлежащее качество в соответствии с возможностями оконечного устройства, среды связи или тому подобным. Даже в случае, когда сервер (1002) распределения передает излишне высококачественные данные, в оконечном устройстве не обязательно может быть получено высококачественное изображение, и это может служить причиной возникновения задержки или переполнения. В дополнение к этому, полоса частот связи может быть излишне занята, или нагрузка на оконечное устройство может излишне возрасти. В противоположность этому, даже в случае, когда сервер (1002) распределения передает излишне низкокачественные данные, может быть не получено изображение с достаточным качеством. Таким образом, сервер (1002) распределения надлежащим образом считывает и передает масштабируемые закодированные данные, хранящиеся в секции (1001) хранения масштабируемых закодированных данных, как закодированные данные, имеющие подходящее качество для возможностей оконечного устройства, среды связи или тому подобного.
Например, секция (1001) хранения масштабируемых закодированных данных сконфигурирована таким образом, чтобы хранить масштабируемые закодированные данные (BL+EL) (1011), в которых было выполнено масштабируемое кодирование видеоинформации. Масштабируемые закодированные данные (BL+EL) (1011) представляют собой закодированные данные, включающие в себя как основной уровень, так и уровень расширения, и представляют собой данные, из которых при выполнении декодирования могут быть получены изображение основного уровня и изображение уровня расширения.
Сервер (1002) распределения выбирает надлежащий уровень в соответствии с возможностями оконечного устройства для передачи данных, средой связи и тому подобным, и считывает данные выбранного уровня. Например, что касается персонального компьютера (1004) или планшетного устройства (1006), имеющих большие возможности по обработке данных, то сервер (1002) распределения считывает из секции (1001) хранения масштабируемых закодированных данных масштабируемые закодированные данные (BL+EL) (1011), и передает масштабируемые закодированные данные (BL+EL) (1011) без изменения. С другой стороны, например, что касается аудио-видеоустройства (1005) или мобильного телефона (1007), имеющих малые возможности по обработке данных, сервер (1002) распределения извлекает из масштабируемых закодированных данных (BL+EL) (1011) данные основного уровня и передает извлеченные данные основного уровня как низкокачественные масштабируемые закодированные данные (BL) (1012), то есть данные, имеющие тот же самый контент, что и масштабируемые закодированные данные (BL+EL) (1011), но имеющие более низкое качество, чем масштабируемые закодированные данные (BL+EL) (1011).
Поскольку, используя масштабируемые кодированные данные, можно с легкостью регулировать количество данных, то может быть подавлено возникновение задержки или переполнения, и может быть подавлено излишнее увеличение нагрузки на оконечное устройство или среду связи. В дополнение к этому, поскольку в масштабируемых закодированных данных (BL+EL) (1011) уменьшена избыточность (данных) между уровнями, то имеется возможность дополнительно уменьшить количество данных по сравнению со случаем, когда закодированные данные каждого уровня обрабатываются как индивидуальные данные. Следовательно, имеется возможность более эффективно использовать область памяти в секции (1001) хранения масштабируемых закодированных данных.
Поскольку в качестве оконечного устройства могут быть применены разнообразные устройства, такие как устройства: с персонального компьютера (1004) по мобильный телефон (1007), то рабочие характеристики аппаратного обеспечения оконечных устройств различаются в соответствии с устройством. В дополнение к этому, поскольку имеются различные приложения, которые исполняются оконечным устройством, то рабочие характеристики программного обеспечения этих приложений также различаются. Кроме того, в качестве сети (1003), служащей в качестве среды связи, могут применяться все сети связи, включающие в себя проводные, беспроводные или и те и другие одновременно, такие как сеть "Интернет" и Локальная сеть (LAN), то их рабочие характеристики по передаче данных варьируются. Кроме того, рабочие характеристики по передаче данных могут варьироваться и возможности могут различаться благодаря другим средствам связи.
Следовательно, перед началом передачи данных, сервер (1002) распределения может осуществить связь с оконечным устройством, который представляет собой пункт назначения передачи данных, и может затем получить информацию, касающуюся рабочих характеристик этого оконечного устройства, таких как рабочие характеристики аппаратного обеспечения оконечного устройства или рабочие характеристики приложения (программного обеспечения), которое исполняется оконечным устройством, и информацию, касающуюся среды связи, такую как располагаемая полоса пропускания сети (1003). После этого, сервер (1002) распределения может на основе полученной информации выбрать надлежащий уровень.
Кроме того, извлечение уровня может быть выполнено в оконечном устройстве. Например, персональный компьютер (1004) может декодировать переданные масштабируемые закодированные данные (BL+EL) (1011) и отобразить изображение основного уровня или отобразить изображения уровня расширения. В дополнение к этому, персональный компьютер (1004) может, например, быть сконфигурированным таким образом, чтобы извлекать из переданных масштабируемых закодированных данных (BL+EL) (1011) масштабируемые закодированные данные (BL) (1012) основного уровня, сохранить извлеченные масштабируемые закодированные данные (BL) (1012) основного уровня, передавать на другое устройство или декодировать и отображать изображение основного уровня.
Конечно, количество секций (1001) хранения масштабируемых закодированных данных, серверов (1002) распределения, сетей (1003) и оконечных устройств является произвольным. В дополнение к этому, хотя выше описывается пример сервера (1002) распределения, который передает данные на оконечное устройство, пример использования этим не ограничен. Система (1000) передачи данных может быть применена в любой системе, которая при передаче масштабируемых закодированных данных на оконечное устройство выбирает и передает надлежащий уровень, в соответствии с возможностями этого оконечного устройства, среды связи или тому подобного.
Даже в системе (1000) передачи данных, которая показана на Фиг. 27, имеется возможность, применяя настоящую технологию, описанную выше со ссылкой на Фигуры: с 1 по 21, получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Вторая система
В дополнение к этому, масштабируемое кодирование видеоинформации, например, используется, для передачи данных через множество средств связи, как в примере, проиллюстрированном на Фиг. 28.
В системе (1100) передачи данных, проиллюстрированной на Фиг. 28, вещательная станция (1101) передает масштабируемые закодированные данные (BL) (1121) основного уровня посредством наземного вещания (1111). В дополнение к этому, вещательная станция (1101) передает масштабируемые закодированные данные (EL) (1122) уровня расширения через любую произвольную сеть (1112), образованную сетью связи, которая является проводной, беспроводной или и той и другой одновременно, (например, данные пакетируются и передаются).
Оконечное устройство (1102) имеет функцию приема наземного вещания (1111), которое представляет собой вещание вещательной станции (1101), и принимает масштабируемые закодированные данные (BL) (1121) основного уровня, передаваемые посредством наземного вещания (1111). В дополнение к этому, оконечное устройство (1102) имеет, кроме того, функцию связи, посредством которой связь осуществляется через сеть (1112), и принимает масштабируемые закодированные данные (EL) (1122) уровня расширения, передаваемые через сеть (1112).
Например, в соответствии с командой пользователя или тому подобным, оконечное устройство (1102) декодирует масштабируемые закодированные данные (BL) (1121) основного уровня, получаемые посредством наземного вещания (1111), тем самым получая или сохраняя изображение основного уровня или передавая изображение основного уровня на другие устройства.
В дополнение к этому, например, в соответствии с командой пользователя, оконечное устройство (1102) объединяет масштабируемые закодированные данные (BL) (1121) основного уровня, получаемые посредством наземного вещания (1111), и масштабируемые закодированные данные (EL) (1122) уровня расширения, получаемые через сеть (1112), тем самым получая масштабируемые закодированные данные (BL+EL), получая или сохраняя изображение уровня расширения при декодировании масштабируемых закодированных данных (BL+EL), или передавая изображение уровня расширения на другие устройства.
Как было описано выше, масштабируемые закодированные данные могут, например, быть переданы посредством различающегося средства связи для каждого уровня. Следовательно, имеется возможность распределить нагрузку и сдерживать возникновение задержки или переполнения.
В дополнение к этому, средство связи, используемое для передачи данных для каждого уровня, может быть сконфигурировано как выбираемое в соответствии с ситуацией. Например, масштабируемые закодированные данные (BL) (1121) основного уровня, в которых количество данных является сравнительно большим, могут быть переданы посредством средства связи, имеющего большую ширину полосу пропускания, а масштабируемые закодированные данные (EL) (1122) уровня расширения, в которых количество данных является сравнительно малым, могут быть переданы посредством средства связи, имеющего малую ширину полосы пропускания. В дополнение к этому, например, в соответствии с располагаемой шириной полосы пропускания сети (1112) можно менять то, является ли средство связи, которое передает масштабируемые закодированные данные (EL) (1122) уровня расширения, сетью (1112) или наземным вещанием (1111). Конечно же, то же самое верно для данных произвольного уровня.
Благодаря управлению, осуществляемому таким образом, имеется возможность дополнительно сдерживать увеличение нагрузки по передаче данных.
Конечно же, количество уровней является произвольным, и количество средств связи, используемых при передаче данных, также является произвольным. В дополнение к этому, количество оконечных устройств (1102), которым являются пунктом назначения распределения данных, также является произвольным. Кроме того, хотя выше был описан пример вещания с вещательной станции (1101), пример использования этим не ограничен. Система (1100) передачи данных может быть применена в любой системе, которая разделяет масштабируемые закодированные данные, используя в качестве элемента (разделения) уровень, и передает эти масштабируемые закодированные данные по множеству линий связи.
Даже в системе (1100) передачи данных, которая показана на Фиг. 28, имеется возможность, применяя настоящую технологию, описанную выше со ссылкой на Фигуры: с 1 по 21, получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Третья система
В дополнение к этому, масштабируемое кодирование видеоинформации используется при хранении закодированных данных, как в примере, проиллюстрированном на Фиг. 29.
В системе (1200) ввода изображения, проиллюстрированной на Фиг. 29, устройство (1201) ввода изображения выполняет масштабируемое кодирование видеоинформации в отношении данных изображения, полученных посредством ввода изображения объекта (1211), и предоставляет полученную в результате масштабируемую видеоинформацию, в качестве масштабируемых закодированных данных (BL+EL) (1221) на устройство (1202) хранения масштабируемых закодированных данных.
Устройство (1202) хранения масштабируемых закодированных данных сохраняет масштабируемые закодированные данные (BL+EL) (1221), предоставляемые из устройства (1201) ввода изображения, с качеством, соответствующим ситуации. Например, в случае обычных обстоятельств устройство (1202) хранения масштабируемых закодированных данных извлекает из масштабируемых закодированных данных (BL+EL) (1221) данные основного уровня, и сохраняет извлеченные данные как масштабируемые закодированные данные (BL) (1222) основного уровня, имеющие малое количество данных при низком качестве. С другой стороны, например, в случае примечательных обстоятельств, устройство (1202) хранения масштабируемых закодированных данных сохраняет масштабируемые закодированные данные (BL+EL) (1221), имеющие большое количество данных при высоком качестве, без изменения.
Таким образом, поскольку устройство (1202) хранения масштабируемых закодированных данных может сохранять изображение в высоком качестве только в необходимом случае, имеется возможность сдерживать снижение ценности изображения вследствие ухудшения его качества и сдерживать увеличение количества данных, и имеется возможность повысить эффективность использования области памяти.
Например, предположим, что устройство (1201) ввода изображения представляет собой камеру видеонаблюдения. Поскольку содержание вводимого изображения вряд ли будет важным в случае, когда объект видеонаблюдения (например, нарушитель) не показан на формируемом изображении (в случае обычных обстоятельств), то приоритетным является уменьшение количества данных, и данные изображения (масштабируемые закодированные данные) сохраняются в низком качестве. С другой стороны, поскольку содержание формируемого изображения, вероятно, будет важным в случае, когда цель видеонаблюдения показана как объект (1211) на формируемом изображении (в случае примечательных обстоятельств), то приоритетным является качество изображения, и данные изображения (масштабируемые закодированные данные) сохраняются в высоком качестве.
Например, то, имеет ли место случай обычных обстоятельств или примечательных обстоятельств, может быть определено устройством (1202) хранения масштабируемых закодированных данных при анализе изображения. В дополнение к этому, устройство (1201) ввода изображения может быть сконфигурировано таким образом, чтобы выполнять это определение и передавать результат определения на устройство (1202) хранения масштабируемых закодированных данных.
Критерий определения того, имеет ли место случай обычных обстоятельств или примечательных обстоятельств, является произвольным, и содержание изображения, которое является этим критерием определения, является произвольным. Конечно же, в качестве критерия определения может быть назначено условие, отличное от содержания изображения. Например, переключение может быть сконфигурировано таким образом, чтобы выполняться в соответствии с величиной или формой волны записанного звука, по истечению некоторого предварительно заданного промежутка времени или по некоторой внешней команде, такой как команда пользователя.
В дополнение к этому, хотя выше были описаны два состояния: обычные обстоятельства и примечательные обстоятельства, количество состояний является произвольным, и переключение может быть сконфигурировано таким образом, чтобы выполняться между тремя или более состояниями, такими как: обычные обстоятельства, слегка примечательные обстоятельства, примечательные обстоятельства и в высокой степени примечательные обстоятельства. Однако, верхнее предельное количество состояний для переключения зависит от количества уровней масштабируемых закодированных данных.
В дополнение к этому, устройство (1201) ввода изображения может определять количество уровней масштабируемого кодирования видеоинформации в соответствии с состоянием. Например, в случае обычных обстоятельств, устройство (1201) ввода изображения может генерировать масштабируемые закодированные данные (BL) (1222) основного уровня, имеющие малое количество данных при низком качестве, и предоставлять эти данные на устройство (1202) хранения масштабируемых закодированных данных. В дополнение к этому, например, в случае примечательных обстоятельств, устройство (1201) ввода изображения может генерировать масштабируемые закодированные данные (BL+EL) (1221) основного уровня, имеющие большое количество данных при высоком качестве, и предоставлять эти данные на устройство (1202) хранения масштабируемых закодированных данных.
Хотя в качестве примера была описана камера видеонаблюдения, использование системы (1200) ввода изображения является произвольным и не ограничено камерой видеонаблюдения.
Даже в системе (1200) ввода изображения, которая показана на Фиг. 29, имеется возможность, применяя настоящую технологию, описанную выше со ссылкой на Фигуры: с 1 по 21, получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
7. Шестой вариант реализации изобретения
Другие примеры осуществления изобретения
Хотя выше были описаны примеры устройств и системы, в которых применена настоящая технология, настоящая технология ими не ограничена. Например, настоящая технология может также быть реализована в виде процессора, служащего в качестве системной большой интегральной схемы (LSI) или тому подобного, модуля, использующего множество процессоров или тому подобного, блока, использующего множество модулей или тому подобного, комплекта, в котором к этому блоку дополнительно добавлены другие функции, или тому подобного (то есть конфигурации части устройства).
Видеокомплект
Со ссылкой на Фиг. 30 будет описан пример, в котором настоящая технология реализована как комплект. На Фиг. 30 проиллюстрирован пример схематической конфигурации видеокомплекта, в котором применена настоящая технология.
В последнее время, развитие получили многофункциональные возможности электронных устройств, и можно наблюдать случай, при котором один комплект, имеющий множество функций, реализуется путем объединения множества конфигураций, имеющих связанные функции, так же как случай, при котором при его разработке и производстве реализуется некоторая частичная конфигурация многофункциональных возможностей, и случай, при котором конфигурация реализуется таким образом, чтобы иметь одну функцию.
Видеокомплект (1300), проиллюстрированный на Фиг. 30, представляет собой многофункциональную конфигурацию и служит в качестве видеокомплекта, получаемого посредством объединения устройства, имеющего функцию, относящуюся к кодированию и декодированию изображения (из которых могут иметься либо одна либо обе из этих возможностей), с устройством, имеющим другие функции, связанные с этой функцией.
Как проиллюстрировано на Фиг. 30, видеокомплект (1300) имеет группу модулей, состоящую из видеомодуля (1311), внешней памяти (1312), модуля (1313) управления электропитанием, модуль (1314) предварительной обработки сигналов и тому подобное и устройство, имеющее родственные функции: средство (1321) обеспечения соединения, фотокамера (1322), датчик (1323) и тому подобное.
Модуль служит в качестве компонента с некоторой интегрированной функцией, интегрируя некоторые составляющие функции, связанные друг с другом. Хотя конкретная физическая конфигурация является произвольной, возможна, например, конфигурация, интегрированная посредством размещения множества процессоров, имеющих функции, элементов электронной схемы, таких как резистор и конденсатор, других устройств и тому подобного на монтажной плате. В дополнение к этому, возможен также некоторый новый модуль, в котором модуль объединен с другими модулями или процессорами.
В случае примера, показанного на Фиг. 30, видеомодуль (1311) представляет собой модуль, в котором объединены конфигурации, имеющие функции, относящиеся к обработке изображения, и имеет прикладной процессор, видеопроцессор, широкополосный модем (1333) и радиочастотный (RF) модуль (1334).
Процессор представляет собой процесс, в котором конфигурация, имеющая некоторую предварительно заданную функцию, интегрирована на полупроводниковой микросхеме посредством технологии "система на микросхеме" (SoC), и также именуется, например, как системная большая интегральная схема (LSI) и тому подобное. Конфигурация, имеющая предварительно заданную функцию, может представлять собой логическую схему (конфигурацию аппаратного обеспечения) или центральный процессор, постоянное запоминающее устройство, оперативное запоминающее устройство и тому подобное и программу (конфигурацию программного обеспечения), подлежащую исполнению с использованием центрального процессора, постоянного запоминающего устройства, оперативного запоминающего устройства и тому подобного. Например, процессор может иметь логическую схему, центральный процессор, постоянное запоминающее устройство, оперативное запоминающее устройство и тому подобное, часть функции может быть реализована посредством логической схемы (конфигурации аппаратного обеспечения), а другие функции могут быть реализованы посредством программы (конфигурации программного обеспечения), подлежащей исполнению на центральном процессоре.
Прикладной процессор (1331), показанный на Фиг. 30, представляет собой процессор для исполнения приложения, относился к обработке изображения. Приложение, подлежащее исполнению в прикладном процессоре (1331), может не только выполнять вычислительный процесс таким образом, чтобы реализовать некоторую предварительно заданную функцию, но, в случае необходимости, также и управлять конфигурациями внутри и снаружи видеомодуля (1311), например, такими как видеопроцессора (1332).
Видеопроцессор (1332) представляет собой процессор, относящийся к функции (одной или обеих из числа:) кодирования и декодирования изображения.
Широкополосный модем (1333) представляет собой процессор (или модуль) для выполнения процесса, относящегося к беспроводной или проводной (или беспроводной и проводной) широкополосной связи, осуществляемой по каналу широкополосной передачи данных, такому как сеть "Интернет", телефонная сеть общего пользования или тому подобное. Например, широкополосный модем (1333) преобразует данные (цифровой сигнал), подлежащий передаче, в аналоговый сигнал, выполняя цифровую модуляцию и тому подобное, или преобразует принятый аналоговый сигнал в данные (цифровой сигнал), осуществляя демодуляцию принятого аналогового сигнала. Например, широкополосный модем (1333) может выполнять цифровую модуляцию/демодуляцию в отношении произвольной информации, такой как данные изображения, подлежащие обработке видеопроцессором (1332) или закодированный поток данных изображения, прикладная программа, настроечные данные и тому подобное.
Радиочастотный модуль (1334) представляет собой модуль для выполнения процессов преобразования частоты, модуляции/демодуляции, усиления и фильтрования и тому подобного в отношении радиочастотного сигнала, передаваемого и принимаемого через антенну. Например, радиочастотный модуль (1334) генерирует радиочастотный сигнал, выполняя преобразование частоты и тому подобное в отношении основополосного сигнала, сгенерированного широкополосным модемом (1333). В дополнение к этому, например, радиочастотный модуль (1334) генерирует основополосный сигнал, выполняя преобразование частоты и тому подобное в отношении радиочастотного сигнала, принимаемого через модуль (1314) предварительной обработки сигналов.
Кроме того, как показано пунктирной линией (1341) на Фиг. 30, посредством интегрирования прикладного процессора (1331) и видеопроцессора (1332) может быть создана конфигурация из одного процессора.
Внешняя память (1312) представляет собой модуль, предусмотренный вне видеомодуля (1311) и имеющий запоминающее устройство, используемое видеомодулем (1311). Хотя запоминающее устройство внешней памяти (1312) может быть сконфигурировано таким образом, чтобы быть реализованным посредством любой физической конфигурации, желательно, например, реализовывать запоминающее устройство, используя относительно дешевое и имеющее большую емкость полупроводниковое запоминающее устрой, например, такое как динамическое оперативное запоминающее устройство (DRAM), потому что это запоминающее устройство во многих случаях обычно используется для хранения большого объема данных, таких как данные изображения в элементах-кадрах.
Модуль (1313) управления электропитанием администрирует и управляет подачей электропитания видеомодулю (1311) (каждой конфигурации в пределах видеомодуля (1311)).
Модуль (1314) предварительной обработки сигналов представляет собой модуль для предоставления функции предварительной обработки сигналов (схему передающей/принимающей части на стороне антенны) для радиочастотного модуля (1334). Как проиллюстрировано на Фиг. 30, модуль (1314) предварительной обработки сигналов, например, имеет антенную секцию (1351), фильтр (1352) и секцию (1353) усиления.
Антенная секция (1351) имеет антенну для передачи и приема радиосигнала и ее периферийную конфигурацию. Антенная секция (1351) передает сигнал, предоставленный из секции (1353) усиления, как радиосигнал и предоставляет принятый радиосигнал, как электрический сигнал (радиочастотный сигнал), в фильтр (1352). Фильтр (1352) выполняет процесс фильтрования и тому подобное в отношении радиочастотного сигнала, принятого через антенную секцию (1351) и предоставляет обработанный радиочастотный сигнал в радиочастотный модуль (1334). Секция (1353) усиления усиливает радиочастотный сигнал, предоставленный из радиочастотного модуля (1334) и предоставляет усиленный радиочастотный сигнал в антенную секцию (1351).
Средство (1321) обеспечения соединения представляет собой модуль, имеющий функцию, относящуюся к соединению к внешним миром. Физическая конфигурация средства (1321) обеспечения соединения является произвольной. Например, средство (1321) обеспечения соединения имеет конфигурацию, имеющую функцию связи, отличную от стандарта связи, соответствующего широкополосному модему (1333), внешние порты ввода и вывода и тому подобное.
Например, средство (1321) обеспечения соединения может быть сконфигурировано таким образом, чтобы иметь модуль, имеющий функцию связи, основанную на стандарте беспроводной связи, таком как Bluetooth (зарегистрированный товарный знак), ШЕЕ 802.11 (стандарт 802.11 Института инженеров по электротехнике и электронике (США)) (например, Wi-Fi (зарегистрированный товарный знак), стандарт связи в ближнем поле (NFC-связи), или стандарт Ассоциации передачи данных в инфракрасном диапазоне (стандарт IrDA), антенну для передачи и приема сигнала на основе этого стандарта. В дополнение к этому, средство (1321) обеспечения соединения может быть сконфигурировано таким образом, чтобы иметь модуль с функцией связи, основанной на стандарте проводной связи, таком как универсальная последовательная шина (USB) или интерфейс для мультимедиа высокой четкости (HDMI) (зарегистрированный товарный знак), и порт, основанный на этом стандарте. Кроме того, средство (1321) обеспечения соединения, может, например, быть сконфигурировано таким образом, чтобы иметь другие функции передачи данных (сигнала), относящиеся к антенным портам ввода и вывода и тому подобному.
Кроме того, средство (1321) обеспечения соединения может быть сконфигурировано таким образом, чтобы включать в себя устройство в пункте назначения передачи данных (сигналов). Например, средство (1321) обеспечения соединения может быть сконфигурировано таким образом, чтобы иметь накопитель (включающий в себя жесткий магнитный диск, твердотельный накопитель (SSD-накопитель), сетевое запоминающее устройство (NAS-устройство) и тому подобное, так же как и накопитель со съемным носителем информации) для считывания данных с носителя записи, такого как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство, и записи данных на этот носитель записи. В дополнение к этому, средство (1321) обеспечения соединения может быть сконфигурировано таким образом, чтобы иметь устройство для выведения изображения и звука (монитор, громкоговоритель и тому подобное).
Фотокамера (1322) представляет собой модуль, имеющий функцию ввода изображения объекта съемки и получения данных изображения объекта съемки. Данные изображения, полученные при вводе изображения фотокамерой (1322), например, предоставляются в видеопроцессор (1332) и кодируются.
Датчик (1323) представляет собой, например, модуль, имеющий произвольную функцию датчика, такую как звуковой датчик, ультразвуковой датчик, оптический датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик вращения, датчик угла поворота, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, датчик магнитной идентификации, датчик удара или температурный датчик. Данные, определенные датчиком (1323), предоставляются, например, в прикладной процессор (1331) и используются приложением или тому подобным.
Конфигурация, описанная выше как модуль, может быть реализована как процессор, и, наоборот, конфигурация, описанная как процессор, может быть реализована как модуль.
В видеокомплекте (1300), сконфигурированном так, как описано выше, имеется возможность применить настоящую технологию в видеопроцессоре (1332), как это будет описано позже. Следовательно, видеокомплект (1300) может быть выполнен как комплект, в котором применена настоящая технология.
Пример конфигурации видеопроцессора
На Фиг. 31 проиллюстрирован пример схематической конфигурации видеопроцессора (1332) (показанного на Фиг. 30), в котором применена настоящая технология.
В случае примера, показанного на Фиг. 31, видеопроцессор (1332) имеет функцию приема входных сигналов видеосигнала и аудиосигнала и кодирования входных сигналов видеосигнала и аудиосигнала по некоторой предварительно заданной схеме и функцию декодирования закодированных аудио- и видеоданных и выведения видеосигнала и аудиосигнала.
Как проиллюстрировано на Фиг. 31, видеопроцессор (1332) имеет секцию (1401) обработки входного видеосигнала, первую секцию (1402) увеличения/уменьшения изображения, вторую секцию (1403) увеличения/уменьшения изображения, секцию (1404) обработки выходного видеосигнала, память (1405) кадров и секцию (1406) управления памятью. В дополнение к этому, видеопроцессор (1332) имеет кодирующую и декодирующую машину (1407), буферы (1408 А) и (1408 В) элементарных потоков (ES) видеоданных и буферы (1409 А) и (1409 В) элементарных потоков (ES) аудиоданных. Кроме того, видеопроцессор (1332) имеет кодер (1410) аудиоинформации, декодер (1411) аудиоинформации, мультиплексор (MUX) (1412), секция (1413) процесса, обратного мультиплексированию (демультиплексор (DMUX)), и буфер (1414) потока данных.
Секция (1401) обработки входного видеосигнала, например, получает входной видеосигнал от средство (1321) обеспечения соединения (показанное на Фиг. 30) и преобразует видеосигнал в цифровые данные изображения. Первая секция (1402) увеличения/уменьшения изображения выполняет в отношении данных изображения процесс преобразования формата, процесс увеличения/уменьшения изображения или тому подобное. Вторая секция (1403) увеличения/уменьшения изображения выполняет в отношении данных изображения процесс увеличения/уменьшения изображения в соответствии с форматом в пункте назначения, в который данные изображения выводятся через секцию (1404) обработки выходного видеосигнала, или выполняет преобразование формата, процесс увеличения/уменьшения изображения или тому подобное, и тому подобное как в первой секции (1402) увеличения/уменьшения изображения. Секция (1404) обработки выходного видеосигнала выполняет в отношении данных изображения преобразование формата, преобразование в аналоговый сигнал или тому подобное и выводит результат преобразования в качестве воспроизведенного видеосигнала, например, в средство (1321) обеспечения соединения (показанное на Фиг. 30) и тому подобное.
Память (1305) кадров представляет собой память для данных изображения, подлежащих совместному использованию секцией (1401) обработки входного видеосигнала, первой секцией (1402) увеличения/уменьшения изображения, второй секцией (1403) увеличения/уменьшения изображения, секцией (1404) обработки выходного видеосигнала и кодирующей и декодирующей машиной (1407). Память (1405) кадров реализована, например, как полупроводниковое запоминающее устройство, такое как динамическое оперативное запоминающее устройство.
Секция (1406) управления памятью принимает сигнал синхронизации от кодирующей и декодирующей машины (1407) и управляет доступом при записи/чтении в память (1405) кадров/из памяти (1405) кадров в соответствии с планом доступа для памяти кадров, записанным в таблицу (1406 А) администрирования доступа. Таблица (1406 А) администрирования доступа обновляется секцией (1406) управления памятью в соответствии с процессом, подлежащим выполнению кодирующей и декодирующей машиной (1407), первой секцией (1402) увеличения/уменьшения изображения, второй секцией (1403) увеличения/уменьшения изображения или тому подобным.
Кодирующая и декодирующая машина (1407) выполняет процесс кодирования данных изображения и процесс декодирования потока видеоданных, который представляет собой данные, в которых закодированы данные изображений. Например, кодирующая и декодирующая машина (1407) кодирует данные изображений, считываемые из памяти (1405) кадров, и последовательно записывает закодированные данные изображений, как поток видеоданных, в буфер (1408) элементарного потока видеоданных. В дополнение к этому, например, последовательно считывается и декодируется поток видеоданных из буфера (1408 В) элементарного потока видеоданных, и этот декодированный поток видеоданных последовательно записывается, как данные изображений, в память (1405) кадров. Кодирующая и декодирующая машина (1407) использует память (1405) кадров как рабочую область при кодировании или декодировании данных изображения. В дополнение к этому, кодирующая и декодирующая машина (1407), например, выводит сигнал синхронизации в секцию (1406) управления памятью в тот момент времени, в который начинается обработка данных для каждого макроблока.
Буфер (1408 А) элементарного потока видеоданных буферизует поток видеоданных, сгенерированный кодирующей и декодирующей машиной (1407), и предоставляет этот поток видеоданных в секцию (1412) мультиплексирования (MUX (мультиплексор)). Буфер (1408 В) элементарного потока видеоданных буферизует поток видеоданных, предоставляемый из секции (1413) процесса, обратного мультиплексированию, (DMUX (демультиплексора)) и предоставляет этот поток видеоданных в кодирующую и декодирующую машину (1407).
Буфер (1409 А) элементарного потока аудиоданных буферизует поток аудиоданных, сгенерированный кодером (1410) аудиоинформации, и предоставляет этот поток аудиоданных в секцию (1412) мультиплексирования (MUX (мультиплексор)). Буфер (1409 В) элементарного потока аудиоданных буферизует поток аудиоданных, предоставляемый из секции (1413) процесса, обратного мультиплексированию, (демультиплексора (DMUX)) и предоставляет этот поток аудиоданных в декодер (1411) аудиоинформации.
Кодер (1410) аудиоинформации, например, осуществляет преобразование аудиосигнала в цифровую форму, поступившего из средства (1321) обеспечения соединения (показанного на Фиг. 30) или тому подобного, и например, кодирует преобразованный в цифровую форму аудиосигнал по некоторой предварительно заданной схеме, такой как схема кодирования аудиоданных по стандарту MPEG (Экспертной группы по вопросам движущегося изображения) или схема кода аудиоданных номер 3 (АСЗ). Кодер (1410) аудиоинформации последовательно записывает поток аудиоданных, который представляет собой данные, в которых закодирован аудиосигнал, в буфер (1409 А) элементарного потока аудиоданных. Декодер (1411) аудиоинформации декодирует поток аудиоданных, предоставляемый из буфера (1409 В) элементарного потока аудиоданных и предоставляет этот декодированный поток аудиоданных, в качестве воспроизведенного аудиосигнала, например, в средство (1321) обеспечения соединения (показанное на Фиг. 30) или тому подобное, например, выполняя преобразование в аналоговый сигнал или тому подобное.
Секция (1412) мультиплексирования (MUX (мультиплексор)) осуществляет мультиплексирование потока видеоданных и потока аудиоданных. Этот способ мультиплексирования (то есть формат битового потока, генерируемый посредством мультиплексирования) является произвольным. В дополнение к этому, во время мультиплексирования, секция (MUX) (1412) мультиплексирования может добавить к битовому потоку предварительно заданную информацию заголовка или тому подобное. Таким образом, секция (MUX) (1412) мультиплексирования может при мультиплексировании преобразовывать формат потока данных. Например, при мультиплексировании потока видеоданных и потока аудиоданных секция (MUX) (1412) мультиплексирования выполняет преобразование в транспортный поток данных, который представляет собой битовый поток в формате передачи данных. В дополнение к этому, мультиплексор (MUX) (1412) при мультиплексировании потока видеоданных и потока аудиоданных выполняет преобразование в данные (файловые данные) в формате файла записи.
Секция (1413) процесса, обратного мультиплексированию, (DMUX (демультиплексор)) осуществляет демультиплексирование битового потока, в котором мультиплексированы поток видеоданных и поток аудиоданных, способом, корреспондирующим мультиплексированию, осуществляемому секцией (MUX) (1412) мультиплексирования. Таким образом, секция (DMUX) (1413) процесса, обратного мультиплексированию, извлекает из битового потока, считанного из буфера (1414) потока данных, поток видеоданных и поток аудиоданных (осуществляет демультиплексирование потока видеоданных и потока аудиоданных). Таким образом, секция (DMUX) (1413) процесса, обратного мультиплексированию, может преобразовывать формат потока данных, подвергаемого процессу, обратному мультиплексированию, (преобразованию, обратному преобразованию, осуществляемому секцией (MUX) (1412) мультиплексирования). Например, секция (DMUX) (1413) процесса, обратного мультиплексированию, получает, например, транспортный поток данных, предоставляемый из средства (1321) обеспечения соединения, широкополосного модема (1333) или тому подобного (все показаны на Фиг. 30) через буфер (1414) потока данных и осуществляет демультиплексирование полученного транспортного потока данных, таким образом преобразовывая транспортный поток данных в поток видеоданных и поток аудиоданных. В дополнение к этому, секция (DMUX) (1413) процесса, обратного мультиплексированию, может, например, получать файловые данные, считываемые с разнообразных типов носителей записи, например, средством (1321) обеспечения соединения (показанным на Фиг. 30) через буфер (1414) потока данных и осуществлять процесс, обратный мультиплексированию, в отношении полученных файловых данных для того, чтобы выполнить преобразование их в поток видеоданных и поток аудиоданных.
Буфер (1414) потока данных буферизует битовый поток. Например, буфер (1414) потока данных буферизует транспортный поток данных, предоставляемый из секции (MUX) (1412) мультиплексирования и предоставляет транспортный поток данных, например, в средство (1321) обеспечения соединения, широкополосный модем (1333) или тому подобное (все показаны на Фиг. 30) в некоторый предварительно заданный момент времени или основываясь на внешнем запросе или тому подобном.
В дополнение к этому, буфер (1414) потока данных, например, буферизует файловые данные, предоставляемые из секции (MUX) (1412) мультиплексирования, и предоставляет файловые данные из буфера, например, в средство (1321) обеспечения соединения (показанное на Фиг. 30) или тому подобное в некоторый предварительно заданный момент времени или основываясь на внешнем запросе или тому подобном, чтобы заставлять разнообразные типы носителей записи записывать эти файловые данные.
Кроме того, буфер (1414) потока данных, например, буферизует транспортный поток данных, получаемый через средство (1321) обеспечения соединения, широкополосный модем (1333) или тому подобное (все показаны на Фиг. 30), и предоставляет транспортный поток данных в секцию (DMUX) (1413) процесса, обратного мультиплексированию, в некоторый предварительно заданный момент времени или основываясь на внешнем запросе или тому подобном.
В дополнение к этому, буфер (1414) потока данных, например, буферизует файловые данные, считываемые с разнообразных типов носителей записи в средстве (1321) обеспечения соединения (показанном на Фиг. 30) и тому подобном, и предоставляет файловые данные в секцию (DMUX) (1413) процесса, обратного мультиплексированию, в некоторый предварительно заданный момент времени или основываясь на внешнем запросе или тому подобном.
Далее, будет описан пример функционирования видеопроцессора (1332) в этой конфигурации. Например, видеосигнал, вводимый в видеопроцессор (1332) средством (1321) обеспечения соединения (показанном на Фиг. 30) или тому подобным, преобразуется в цифровые данные изображения, соответствующие некоторой предварительно заданной схеме, такой как схема 4:2:2 Y/Cb/Cr, в секции (1401) обработки входного видеосигнала, и цифровые данные изображения последовательно записываются в память (1405) кадров. Эти цифровые данные изображения считываются в первую секцию (1402) увеличения/уменьшения изображения или вторую секцию (1403) увеличения/уменьшения изображения, выполняются преобразование формата к некоторой предварительно заданной схеме, такой как схема 4:2:0 Y/Cb/Cr, и процесс увеличения/уменьшения, и вновь осуществляется запись данных изображения в память (1405) кадров. Эти данные изображения кодируются кодирующей и декодирующей машиной (1407), и закодированные данные изображения записываются, в качестве потока видеоданных, в буфер (1408 А) элементарного потока видеоданных.
В дополнение к этому, аудиосигнал, вводимый средством (1321) обеспечения соединения (показанным на Фиг. 30) или тому подобным в видеопроцессор (1332), кодируется кодером (1410) аудиоинформации, и закодированный аудиосигнал записывается, в качестве потока аудиоданных, в буфер (1409 А) элементарного потока аудиоданных.
Поток видеоданных из буфера (1408 А) элементарного потока видеоданных и поток аудиоданных из буфера (1409 А) элементарного потока аудиоданных считывается в секцию (MUX) (1412) мультиплексирования и мультиплексируется для того, чтобы быть преобразованным в транспортный поток данных, файловые данные или тому подобное. После того, как транспортный поток данных, сгенерированный секцией (MUX) (1412) мультиплексирования буферизован в буфере (1414) потока данных, транспортный поток данных, например, выводится во внешнюю сеть посредством любого (показанного на Фиг. 30) компонента из числа: средства (1321) обеспечения соединения, широкополосного модема (1333) и тому подобного. В дополнение к этому, после того, как файловые данные, сгенерированные секцией (MUX) (1412) мультиплексирования буферизован в буфере (1414) потока данных, файловые данные, например, выводятся в средство (1321) обеспечения соединения (показанное на Фиг. 30) и тому подобное и записываются на разнообразные типы носителей записи.
В дополнение к этому, например, после того, как транспортный поток данных, введенный из внешней сети в видеопроцессор (1332) посредством (любого одного (показанного на Фиг. 30) компонента, из числа:) средства (1321) обеспечения соединения, широкополосного модема (1333) и тому подобного, буферизован в буфере (1414) потока данных, в отношении этого транспортного потока данных секция (DMUX) (1413) процесса, обратного мультиплексированию, осуществляет процесс, обратный мультиплексированию. В дополнение к этому, например, после того, как файловые данные, считанные с разнообразных типов носителей записи в средстве (1321) обеспечения соединения (показанном на Фиг. 30) и тому подобном и введенные в видеопроцессор (1332) буферизованы в буфере (1414) потока данных, над этими файловыми данными секция (DMUX) (1413) процесса, обратного мультиплексированию, осуществляет процесс, обратный мультиплексированию. Таким образом, транспортный поток данных или файловые данных, введенные в видеопроцессор (1332), демультиплексируются секцией (DMUX) (1413) процесса, обратного мультиплексированию, на поток видеоданных и поток аудиоданных.
Аудиосигнал воспроизводится посредством предоставления поток аудиоданных в декодер (1411) аудиоинформации через буфер (1409 В) элементарного потока аудиоданных и декодирования этого потока аудиоданных. В дополнение к этому, после того, как поток видеоданных записан в буфер (1408 В) элементарного потока видеоданных, поток видеоданных последовательно считывается и декодируется кодирующей и декодирующей машиной (1407) и записывается в память (1405) кадров. Вторая секция (1403) увеличения/уменьшения изображения выполняет в отношении декодированных данных изображения процесс увеличения/уменьшения, и обработанные данные записываются в память (1405) кадров. После этого, видеосигнал воспроизводится и выводится посредством считывания декодированных данных изображения в секцию (1404) обработки выходного видеосигнала, преобразования формата декодированных данных изображения по некоторой предварительно заданной схеме, такой как схема 4:2:2 Y/Cb/Cr, и дальнейшего преобразования декодированных данных изображения в аналоговый сигнал.
В случае, когда настоящая технология применяется в видеопроцессоре (1332), сконфигурированном так, как это описано выше, необходимо применить настоящую технологию в соответствии с каждым вариантом реализации изобретения, описанным выше, только к кодирующей и декодирующей машине (1407). Таким образом, например, необходимо только сконфигурировать кодирующую и декодирующую машину (1407), имеющую функции устройства кодирования изображений (показанного на Фиг. 4), соответствующего первому варианту реализации изобретения, и устройства декодирования изображений (показанного на Фиг. 14), соответствующего второму варианту реализации изобретения. Как было описано выше, в видеопроцессоре (1332) могут быть получены результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Кроме того, в кодирующей и декодирующей машине (1407) настоящая технология (то есть функции устройства кодирования изображений и устройства декодирования изображений, соответствующие вариантам реализации изобретения, описанным выше) может быть реализована посредством аппаратного обеспечения, такого как логическая схема, может быть реализована посредством программного обеспечения, такого как встроенная программа, или может быть реализована посредством обоих этих способов.
Другой пример конфигурации видеопроцессора
На Фиг. 32 проиллюстрирован другой пример схематической конфигурации видеопроцессора (1332) (показанного на Фиг. 30), в котором применена настоящая технология. В случае примера, показанного на Фиг. 32, видеопроцессор (1332) имеет функцию кодирования и декодирования видеоданных по некоторой предварительно заданной схеме.
Если описать это более конкретно, то как проиллюстрировано на Фиг. 32, видеопроцессор (1332) имеет управляющую секцию (1511), интерфейс (1512) отображения, машину (1513) отображения, машину (1514) обработки изображений и внутреннюю память (1515). В дополнение к этому, видеопроцессор (1332) имеет машину (1516) кодера-декодера, интерфейс (1517) памяти, секцию (1518) мультиплексирования/процесса, обратного мультиплексированию (MUX/DMUX (мультиплексор/демультиплексор)), сетевой интерфейс (1519), и видеоинтерфейс (1520).
Управляющая секция (1511) управляет операциями обрабатывающих секций в пределах видеопроцессора (1332), таких как интерфейс (1512) отображения, машина (1513) отображения, машина (1514) обработки изображений, машина (1516) кодера-декодера и тому подобные.
Как проиллюстрировано на Фиг. 32, управляющая секция (1511), например, имеет основной центральный процессор (1531), вспомогательный центральный процессор (1532), и системный контроллер (1533). Основной центральный процессор (1531) исполняет программу для управления операциями обрабатывающих секций в пределах видеопроцессора (1332). Основной центральный процессор (1531) генерирует управляющий сигнал, соответствующий программе или тому подобному, и предоставляет управляющий сигнал в каждую обрабатывающую секцию (то есть управляет функционированием каждой обрабатывающей секции). Вспомогательный центральный процессор (1532) играет вспомогательную роль по отношению к основному центральному процессору (1531). Например, вспомогательный центральный процессор (1532) выполняет порожденный процесс, подпрограмму или тому подобное для программы или тому подобного, подлежащей исполнению основным центральным процессором (1531). Системный контроллер (1533) управляет операциями основного центрального процессора (1531) и вспомогательного центрального процессора (1532), такими как назначение программ, подлежащих исполнению основным центральным процессором (153) и вспомогательный центральный процессор (1532).
Интерфейс (1512) отображения выводит, под управлением управляющей секции (1511) данные изображений, например, в средство (1321) обеспечения соединения (показанное на Фиг. 30) и тому подобное. Например, интерфейс (1512) отображения преобразует данные изображений, представляющие собой цифровые данные, в аналоговый сигнал, и выводит этот аналоговый сигнал, в качестве воспроизведенного видеосигнала, или данные изображений, представляющих собой цифровые данные без изменения, в устройство-монитор или тому подобное, относящееся к средству (1321) обеспечения соединения (показанное на Фиг. 30).
Машина (1513) отображения выполняет разнообразные типы процессов преобразования, таких как преобразование формата, преобразование размера и преобразование цветовой гаммы, так, чтобы данные изображений подходили для спецификаций аппаратного обеспечения устройства-монитора и тому подобного для отображения предназначенного ему изображения под управлением управляющей секции (1511).
Машина (1514) обработки изображений выполняет предварительно заданную обработку изображения, например, такую как фильтровальная обработка для улучшения качества изображения, в отношении данных изображения под управлением управляющей секции (1511).
Внутренняя память (1515) совместно используется машиной (1513) отображения, машиной (1514) обработки изображений и машиной (1516) кодера-декодера и представляет собой память, предусмотренную внутри видеопроцессора (1332). Внутренняя память (1515), например, используется для обмена данными, выполняемого между машиной (1513) отображения, машиной (1514) обработки изображений и машиной (1516) кодера-декодера. Например, внутренняя память (1515) сохраняет данные, предоставляемые из машины (1513) отображения, машины (1514) обработки изображений или машины (1516) кодера-декодера, и, в случае необходимости (например, в соответствии с запросом) предоставляет данные в машину (1513) отображения, в машину (1514) обработки изображений или в машину (1516) кодера-декодера. Хотя внутренняя память (1515) может быть реализована посредством любого запоминающего устройства, желательно реализовывать внутреннюю память (1515) посредством полупроводникового запоминающего устройства, имеющего относительно малую емкость и высокую скорость срабатывания (по сравнению с этими показателями у внешней памяти (1312)), например, такого как статическое оперативное запоминающее устройство (SRAM), потому что во многих случаях обычно используется малый объем данных, таких как данные изображения для элемента-блока или параметры.
Машина (1516) кодера-декодера выполняет процесс, относящийся к кодированию и декодированию данных изображения. Схемы кодирование и декодирование, соответствующие этой машине (1516) кодера-декодера, являются произвольными, и количество схем кодирования и декодирования может представлять собой одну или больше. Например, машина (1516) кодера-декодера может иметь функцию кодера-декодера множества схем кодирования и декодирования, и кодирование данных изображения или декодирование закодированных данных может быть выполнено по одной схеме, выбранной из числа этих схем кодирования и декодирования.
В примере, проиллюстрированном в рис. 32, машина (1516) кодера-декодера, например, имеет в качестве функциональных блоков для обработки данных, относящейся к кодеру-декодеру, блок (1541) MPEG-2 video (стандарта MPEG-2 (Экспертной группы по вопросам движущегося изображения) для видеоинформации), блок (1542) AVC/H.264 (стандарта Усовершенствованное кодирование видеоданных/Н.264), блок (1543) HEVC/H.265 (стандарта Высокоэффективное кодирование видеоданных/Н.265), блок (1544) HEVC/H.265 (с возможностью масштабирования), блок (1545) HEVC/H.265 (для множественных видов) и блок (1551) MPEG-DASH (стандарта MPEG (Экспертной группы по вопросам движущегося изображения) Динамической адаптивной передачи данных посредством протокола передачи гипертекста).
Блок (1541) MPEG-2 video представляет собой функциональный блок для кодирования или декодирования данных изображения по схеме MPEG-2. Блок (1542) AVC/H.264 представляет собой функциональный блок для кодирования или декодирования данных изображения по схеме AVC-кодирования (Усовершенствованного кодирования видеоданных). Блок (1543) HEVC/H.265 представляет собой функциональный блок для кодирования или декодирования данных изображения по схеме HEVC-кодирования (Высокоэффективного кодирования видеоданных). Блок (1544) HEVC/H.265 (с возможностью масштабирования) представляет собой функциональный блок для выполнения масштабируемого кодирования видеоинформации или масштабируемого декодирования видеоинформации в отношении данных изображения по схеме HEVC-кодирования. Блок (1545) HEVC/H.265 (для множественных видов) представляет собой функциональный блок для выполнения кодирования множественных видов или декодирования множественных видов в отношении данных изображения по схеме HEVC-кодирования.
Блок (1551) MPEG-DASH представляет собой функциональный блок для передачи и приема данных изображения по схеме MPEG-DASH. MPEG-DASH (стандарт MPEG (Экспертной группы по вопросам движущегося изображения) Динамической адаптивной передачи данных посредством протокола передачи гипертекста) представляет собой технологию для выполнения потоковой передачи видеоинформации с использованием HTTP-протокола (Протокола передачи гипертекста) и имеет одну характеристику, заключающуюся в том, что надлежащие закодированные данные выбираются из множества порций закодированных данных, в которых подготовленные разрешающие способности и тому подобное отличаются друг от друга в элементах, представляющих собой сегменты, и выбранные закодированные данные передаются. Блок (1551) MPEG-DASH выполняет генерирование потока данных, основанного на стандарте, управление передачей этого потока данных и тому подобное и использует блоки: с блока (1541) MPEG-2 video по блок (1545) HEVC7H.265 (для множественных видов), описанные выше для кодирования и декодирования данных изображения.
Интерфейс (1517) памяти представляет собой интерфейс для внешней памяти (1312). Данные, предоставляемые из машины (1514) обработки изображений или машины (1516) кодера-декодера, предоставляются во внешнюю память (1312) через интерфейс (1517) памяти. В дополнение к этому, данные, считываемые из внешней памяти (1312), предоставляются в видеопроцессор (1332) (машину (1514) обработки изображений или машину (1516) кодера-декодера) через интерфейс (1517) памяти.
Секция (1518) мультиплексирования/процесса, обратного мультиплексированию, (MUX/DMUX (мультаплексор/демультиплексор)), выполняет мультиплексирование, или демультиплексирование разнообразных типов данных относящихся к изображению, таких как битовый поток закодированных данных, данные изображения и видеосигнал. Способ этого мультиплексирования/демультиплексирования является произвольным. Например, во время мультиплексирования, секция (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, может не только интегрировать множество порций данных в одну порцию, но также и добавлять к данным предварительно заданную информацию заголовка или тому подобное. В дополнение к этому, во время процесса, обратного мультиплексированию, секция (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, может не только разделить одну порцию данных на множество порций данных, но также и добавлять к каждой разделенной части данных предварительно заданную информацию заголовка или тому подобное. Таким образом, секция (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, может при мультиплексировании/демультиплексировании преобразовывать формат данных. Секция (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, может выполнять преобразование в транспортный поток данных, который является битовым потоком в формате передачи данных, или в данные (файловые данные) в формате файла записи, мультиплексируя битовый поток. Конечно же, также возможно и их обратное преобразование посредством демультиплексирования.
Сетевой интерфейс (1519), например, представляет собой интерфейс для широкополосного модема (1333) или средства (1321) обеспечения соединения (оба показаны на Фиг. 30) или тому подобное. Видеоинтерфейс (1520), например, интерфейс для средства (1321) обеспечения соединения или фотокамеры (1322) (оба показаны на Фиг. 30) или тому подобное.
Далее, будет описан пример функционирования этого видеопроцессора (1332). Например, в случае, когда из внешней сети через средство (1321) обеспечения соединения или широкополосный модем (1333) (оба показаны на Фиг. 30) или тому подобного принимается транспортный поток данных, этот транспортный поток данных предоставляется через сетевой интерфейс (1519) в секцию (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, и подвергается процессу, обратному мультиплексированию, и транспортный поток данных декодируется машиной (1516) кодера-декодера. Например, машина (1514) обработки изображений выполняет в отношении данных изображения, полученных посредством декодирования в машине (1516) кодера-декодера, предварительно заданную обработку изображения, машина (1513) отображения выполняет в отношении обработанных данных изображения предварительно заданное преобразование, преобразованные данные изображения, например, предоставляются, через интерфейс (1512) отображения в средство (1321) обеспечения соединения (показанное на Фиг. 30) или тому подобное и их изображение отображается на мониторе. В дополнение к этому, например, машина (1516) кодера-декодера повторно кодирует данные изображения, полученные посредством декодирования в машине (1516) кодера-декодера, секция (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, мультиплексирует повторно закодированные данные изображения для того, чтобы выполнить преобразование в файловые данные, файловые данные выводятся, например, в средство (1321) обеспечения соединения (показанное на Фиг. 30) или тому подобное, через видеоинтерфейс (1520), и выводимые файловые данные записываются на разнообразные типы носителей записи.
Кроме того, например, файловые данные, представляющие собой закодированные данные, в которых закодированы данные изображений, считанные средством (1321) обеспечения соединения (показанным на Фиг. 30) или тому подобным с носителя записи (не проиллюстрированного на чертеже), предоставляются, через видеоинтерфейс (1520), в секцию (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, подвергаются процессу, обратному мультиплексированию, и декодируются машиной (1516) кодера-декодера. Машина (1514) обработки изображений выполняет в отношении данных изображения, полученных посредством декодирования в машине (1516) кодера-декодера, предварительно заданную обработку изображения, машина (1513) отображения выполняет в отношении обработанных данных изображения предварительно заданное преобразование, преобразованные данные изображения, например, предоставляются, через интерфейс (1512) отображения, в средство (1321) обеспечения соединения (показанное на Фиг. 30) или тому подобное, и их изображение отображается на мониторе. В дополнение к этому, например, машина (1516) кодера-декодера повторно кодирует данные изображения, полученные посредством декодирования в машине (1516) кодера-декодера, секция (MUX/DMUX) (1518) мультиплексирования/процесса, обратного мультиплексированию, мультиплексирует повторно закодированные данные изображения для того, чтобы выполнить преобразование в транспортный поток данных, этот транспортный поток предоставляется, например, в средство (1321) обеспечения соединения или широкополосный модем (1333) (оба показаны на Фиг. 30) или тому подобное, через сетевой интерфейс (1519) и передается на другое устройство (не проиллюстрированное на чертеже).
Кроме того, с использованием внутренней памяти (1515) или внешней памяти (1312) выполняется, например, обмен данными изображения между обрабатывающими секциями в пределах видеопроцессора (1332) или другими данными. В дополнение к этому, модуль (1313) управления электропитанием, например, управляет подачей электропитания в управляющую секцию (1511).
В случае, когда настоящая технология применяется в видеопроцессоре (1332), сконфигурированном так, как это описано выше, необходимо применить настоящую технологию в соответствии с каждым вариантом реализации изобретения, описанным выше, только к машине (1516) кодера-декодера. Таким образом, например, необходимо только сконфигурировать машину (1516) кодера-декодера, имеющую функциональные блоки, которые успешно реализуют устройство кодирования изображений (показанное на Фиг. 4), соответствующее первому варианту реализации изобретения, и устройство декодирования изображений (показанное на Фиг. 14), соответствующее второму варианту реализации изобретения. Как было описано выше, в видеопроцессоре (1332) могут быть получены результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Кроме того, в машине (1516) кодера-декодера настоящая технология (то есть функции устройства кодирования изображений и устройства декодирования изображений, соответствующие вариантам реализации изобретения, описанным выше) может быть реализована посредством аппаратного обеспечения, такого как логическая схема, может быть реализована посредством программного обеспечения, такого как встроенная программа, или может быть реализована посредством обоих этих способов.
Хотя выше были показаны два примера конфигурации видеопроцессора (1332), конфигурация видеопроцессора (1332) является произвольной и может отличаться от вышеописанных двух примеров. В дополнение к этому, хотя видеопроцессор (1332) сконфигурирован как одна полупроводниковая микросхема, видеопроцессор (1332) может быть сконфигурирован как множество полупроводниковых микросхем. Например, видеопроцессор (1332) может быть сконфигурирован таким образом, чтобы представлять собой трехмерную многоярусную большую интегральную схему, в которой множество полупроводников сложены в виде стопки. В дополнение к этому, видеопроцессор (1332) может быть конфигурирован таким образом, чтобы быть реализованным множеством штук больших интегральных схем.
Пример применения для устройства
Видеокомплект (1300) может быть встроен в различные типы устройств для обработки данных изображения. Например, видеокомплект (1300) может быть встроен в телевизионное устройство (900) (показанное на Фиг. 23), мобильный телефон (920) (показанный на Фиг. 24), устройство (940) записи/воспроизведения (показанное на Фиг. 25), устройство (960) ввода изображения (показанное на Фиг. 26) или тому подобное. При встраивании видеокомплекта (1300) устройство с ним может получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Кроме того, видеокомплект (1300), например, может также быть встроен в оконечное устройство, такое как персональный компьютер (1004), аудио-видеоустройство (1005), планшетное устройство (1006) или мобильный телефон (1007) в системе передачи данных (1000), показанной на Фиг. 27, вещательную станцию (1101) и оконечное устройство (1102) в системе (1100) передачи данных, показанной на Фиг. 28, устройство (1201) ввода изображения и устройство (1202) хранения масштабируемых закодированных данных в системе (1200) ввода изображения, показанной на Фиг. 29, и тому подобное. При встраивании видеокомплекта (1300) устройство может получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21. Кроме того, видеокомплект (1300) может быть встроен в каждое устройство системы воспроизведения контента, показанной на Фиг. 33, или системы беспроводной связи, показанной на Фиг. 39.
Кроме того, если часть каждой конфигурации вышеописанного видеокомплекта (1300) включает в себя видеопроцессор (1332), то эта часть может быть выполнена как конфигурация, в которой применена настоящая технология. Например, в качестве видеопроцессора, в котором применена настоящая технология, может быть выполнен только видеопроцессор (1332). Кроме того, например, процессор, обозначенный пунктирной линией (1341), как было описано выше, видеомодуль (1311) и тому подобное могут быть выполнены как процессор, модуль или тому подобное, в котором применена настоящая технология. Кроме того, например, видеомодуль (1311), внешняя память (1312), модуль (1313) управления электропитанием и модуль (1314) предварительной обработки сигналов могут быть объединены и выполнены как видеоагрегат (1361), в котором применена настоящая технология. В любой конфигурации могут быть получены результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Таким образом, любая конфигурация, включающая в себя видеопроцессор (1332), может быть встроена в разнообразные типы устройств для обработки данных изображения, как в видеокомплекте (1300). Например, видеопроцессор (1332), процессор, обозначенный пунктирной линией (1341), видеомодуль (1311) или видеоагрегат (1361) могут быть встроены в телевизионное устройство (900) (показанное на Фиг. 23), мобильный телефон (920) (показанный на Фиг. 24), устройство (940) записи/воспроизведения (показанное на Фиг. 25), устройство (960) ввода изображения (показанное на Фиг. 26), оконечное устройство, такое как персональный компьютер (1004), аудио-видеоустройство (1005), планшетное устройство (1006) или мобильный телефон (1007) в системе (1000) передачи данных, показанной на Фиг. 27, вещательную станцию (1101) и оконечное устройство (1102) в системе (1100) передачи данных, показанной на Фиг. 28, устройство (1201) ввода изображения и устройство (1202) хранения масштабируемых закодированных данных в системе (1200) ввода изображения, показанной на Фиг. 29, и тому подобное. Кроме того, видеопроцессор (1332) может быть встроен в каждое устройство системы воспроизведения контента, показанной на Фиг. 33, или системы беспроводной связи, показанной на Фиг. 39. При встраивании любой конфигурации, в которой применена настоящая технология, устройство с нею может получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1-21, как и в случае видеокомплекта (1300).
Кроме того, настоящая технология может быть применена, например, в системе воспроизведения контента посредством потоковой передачи данных по HTTP-протоколу (Протоколу передачи гипертекста) или в системе беспроводной связи стандарта Wi-Fi, такой как MPEG DASH, которая будет описана позже, для выбора и использования надлежащих закодированных данных из множества порций закодированных данных, в которых подготовленные разрешающие способности и тому подобное отличаются друг от друга в элементах, представляющих собой сегменты.
8. Пример применения для стандарта MPEG-DASH
Краткий обзор системы воспроизведения контента
Сначала, со ссылкой на Фигуры: с 33 по 35, будет схематично описана система воспроизведения контента (информационно значимого содержимого), в которой можно применить настоящую технологию.
Далее, в первую очередь, будет описана со ссылкой на Фигуры 33 и 34 базовая конфигурация, общая в этих вариантах реализации изобретения.
Фиг. 33 представляет собой пояснительную схему, на которой проиллюстрирована конфигурация системы воспроизведения контента. Как проиллюстрировано на Фиг. 33, система воспроизведения контента включает в себя серверы (1610) и (1611) контента, сеть (1612) и устройство (1620) воспроизведения контента (клиентское устройство).
Серверы (1610) и (1611) контента и устройство (1620) воспроизведения контента соединены через сеть (1612). Сеть (1612) представляет собой проводной или беспроводный тракт передачи информации, передаваемой от устройства, соединенного с сетью (1612).
Например, сеть (1612) может включать в себя сети линий связи общего пользования, такие как "Интернет", сети телефонных линий, и сеть спутниковой связи или разнообразные типы локальных сетей (LAN-сетей), глобальных сетей (WAN-сетей) и тому подобное, в том числе сеть "Ethernet" (зарегистрированный товарный знак). Кроме того, сеть (1612) может включать в себя сеть выделенных линий связи, таких как виртуальная частная сеть по Интернет-протоколу (IP-VPN).
Сервер (1610) контента кодирует данные контента и генерирует и сохраняет файл данных, включающий в себя закодированные данные и метаинформацию, относящуюся к закодированным данным. Кроме того, в случае, когда сервер (1610) контента генерирует файл данных формата МР4, закодированные данные корреспондируют "mdat", а метаинформация корреспондирует "moov".
В дополнение к этому, данные контента могут представлять собой данные музыки, такие как музыка, лекции и радиопередачи, видеоданные, такие как кинофильмы, телевизионные программы, видеопрограммы, фотографии, документы, картины и чертежи, игры, программное обеспечение и тому подобное.
При этом, по запросу воспроизведения контента, поступившему из устройства (1620) воспроизведения контента, сервер (1610) контента генерирует в отношении одного и того же контента множество файлов данных с различными скоростями передачи битов. В дополнение к этому, по запросу воспроизведения контента, поступившему из устройства (1620) воспроизведения контента, сервер (1611) контента передает устройству (1620) воспроизведения контента информацию об универсальном указателе ресурса (URL-указателя) сервера (1610) контента, включая в состав информации URL-указателя сервера (1610) контента информацию о параметрах, добавляемую к URL-указателе в устройстве (1620) воспроизведения контента. Далее, со ссылкой на Фиг. 34, соответствующие вопросы будут описаны специально.
Фиг. 34 представляет собой пояснительную схему, на которой проиллюстрирован информационный поток в системе воспроизведения контента, показанной на Фиг. 33. Сервер (1610) контента кодирует одни и те же данные контента с различными скоростями передачи битов и генерирует, например, файл А для 2 мегабита в секунду, файл В для 1,5 мегабита в секунду и файл С для 1 мегабит в секунду, как это проиллюстрировано на Фиг. 34. Соответственно, файл А имеет высокую скорость передачи битов, файл В имеет стандартную скорость передачи битов, и файл С имеет низкую скорость передачи битов.
В дополнение к этому, как проиллюстрировано на Фиг. 34, закодированные данные каждого файла разделены на множество сегментов. Например, закодированные данные файла А разделены на сегменты "A1", "А2", "A3", …, "An", закодированные данные файла В разделены на сегменты "В1, "В2", "В3", … "Bn", и закодированные данные файла С разделены на сегменты "C1", "С2", "С3", … "Cn".
Кроме того, каждый сегмент может включать в себя образец конфигурации из одной или более порций независимо воспроизводимых закодированных видеоданных и закодированных аудиоданных, который начинается с синхронизирующей выборки формата МР4 (например, с видеокадра мгновенной регенерации декодера (IDR-видеокадра) при кодировании видеоинформации по стандарту AVC/H.264). Например, в случае, когда видеоданные с частотой 30 кадров в секунду кодируются в Группу видеокадров (GOP-группу) постоянной длины, составляющей 15 кадров, каждый сегмент может представлять собой закодированные видео- и аудиоданные на 2 секунды, соответствующие 4 Группам видеокадров или закодированные видео- и аудиоданные на 10 секунд, соответствующие 20 Группам видеокадров.
Кроме того, интервалы воспроизведения (интервалы положений во времени с начала контента) по сегментам, имеющими одинаковый порядок расположения в каждом файле, являются теми же самыми. Например, в случае, когда интервалы воспроизведения сегмента "А2", сегмента "В2" и сегмента "С2" являются одинаковыми, и каждый сегмент представляет собой закодированные данные на 2 секунды, все интервалы воспроизведения сегмента "А2", сегмента "В2" и сегмента "С2" составляют со 2 по 4 секунды контента.
Когда файлы: с А по С, сконфигурированные из вышеописанного множества сегментов, сгенерированы, сервер (1610) контента сохраняет файлы: с А по С. После этого, как проиллюстрировано на Фиг. 34, сервер (1610) контента последовательно передает сегменты, составляющие различные файлы, на устройство (1620) воспроизведения контента, и устройство (1620) воспроизведения контента воспроизводит принятые сегменты в соответствии с потоковым воспроизведением данных.
При этом, сервер (1610) контента, соответствующий этому варианту реализации изобретения, передает на устройство (1620) воспроизведения контента файл списка воспроизведения (в дальнейшем, именуемый как MPD-описание), включающий в себя информацию о скорости передачи битов и информацию доступа к закодированным данным, и устройство (1620) воспроизведения контента, основываясь на MPD-описании, выбирает любую одну скорость передачи битов из множества скоростей передачи битов и запрашивает у сервера (1610) контента передачу сегментов, соответствующих выбранной скорости передачи битов.
Хотя на Фиг. 33 проиллюстрирован только один сервер (161) контента, само собой разумеется, что настоящее раскрываемое изобретение не ограничено соответствующим примером.
Фиг. 35 представляет собой пояснительную схему, на которой проиллюстрирован конкретный пример MPD-описания. Как проиллюстрировано на Фиг. 35, MPD-описание включает в себя информацию доступа, относящуюся к множеству порций закодированных данных, имеющих различные скорости передачи битов(ширины полосы пропускания). Например, MPD-описание, проиллюстрированное на Фиг. 35, указывает, что имеются закодированные данные для 256 килобит в секунду, 1,024 мегабита в секунду, 1,384 мегабита в секунду, 1,536 мегабита в секунду и 2,048 мегабита в секунду, и включает в себя информацию доступа, относящуюся к закодированным данным. Устройство (1620) воспроизведения контента может динамически изменять скорость передачи битов закодированных данных, воспроизводимых в соответствии с потоковым воспроизведением, основанном на этом MPD-описании.
Кроме того, хотя на Фиг. 33 в качестве примера устройства (1620) воспроизведения контента проиллюстрировано портативное оконечное устройство, устройство (1620) воспроизведения контента не ограничено этим примером. Например, устройство (1620) воспроизведения контента может представлять собой устройство обработки информации, такое как персональный компьютер, бытовое устройство обработки видеоинформации (устройство записи на цифровой универсальный диск (DVD), кассетный видеомагнитофон, или тому подобное), персональный цифровой секретарь (PDA), домашнее игровое устройство или бытовой электроприбор. В дополнение к этому, устройство (1620) воспроизведения контента может представлять собой устройство обработки информации, такое как мобильный телефон, персональная портативная телефонная система (PHS), портативное устройство воспроизведения музыки, портативное устройство обработки видеоинформации, или портативное игровое устройство.
Конфигурация сервера (1610) контента
Со ссылкой на Фигуры: с 33 по 35, был дан краткий обзор системы воспроизведения контента. Далее, со ссылкой на Фиг. 36, будет описана конфигурация сервера (1610) контента.
Фиг. 36 представляет собой функциональную структурную схему, на которой проиллюстрирована конфигурация сервера (1610) контента. Как проиллюстрировано на Фиг. 36, сервер (1610) контента включает в себя секцию (1631) генерирования файлов, запоминающую секцию (1632) и секцию (1633) связи.
Секция (1631) генерирования файлов включает в себя кодер (1641) для кодирования данных контента и генерирует множество порций закодированных данных, имеющих в одном и том же контенте различные скорости передачи битов, и вышеописанное MPD-описание. Например, секция (1631) генерирования файлов генерирует MPD-описание, как это проиллюстрировано на Фиг. 35, когда генерируются закодированные данные для 256 килобит в секунду, 1,024 мегабита в секунду, 1,384 мегабита в секунду, 1,536 мегабита в секунду и 2,048 мегабита в секунду.
Запоминающая секция (1632) хранит множество порций закодированных данных, имеющих различные скорости передачи битов, и MPD-описание, сгенерированные секцией (1631) генерирования файлов. Запоминающая секция (1632) может представлять собой носитель данных, такой как энергонезависимое запоминающее устройство, магнитный диск, оптический диск, магнитооптический (МО) диск, или тому подобное. В качестве энергонезависимого запоминающего устройства можно, например, назвать электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) и стираемое программируемое постоянное запоминающее устройство (EPROM). Кроме того, в качестве магнитного диска можно назвать жесткий магнитный диск, дискоидальный магнитный диск и тому подобное. Кроме того, в качестве оптического диска можно назвать компакт-диск (CD), записываемый DVD-диск (DVD-R), диск Blu-ray (BD) (зарегистрированный товарный знак) и тому подобное.
Секция (1633) связи представляет собой интерфейс с устройством (1620) воспроизведения контента и осуществляет через сеть (1612) связь с устройством (1620) воспроизведения контента. Если описать это более подробно, то секция (1633) связи имеет функцию служить в качестве HTTP-сервера (сервера Протокола передачи гипертекста), который осуществляет связь с устройством (1620) воспроизведения контента в соответствии с HTTP-протоколом. Например, секция (1633) связи передает на устройство (1620) воспроизведения контента MPD-описание, извлекает закодированные данные, запрошенные, на основе этого MPD-описания, из устройства (1620) воспроизведения контента, в соответствии с HTTP-протоколом, и передает, в качестве ответа по HTTP-протоколу, закодированные данные на устройство (1620) воспроизведения контента.
Конфигурация устройства (1620) воспроизведения контента
Выше была описана конфигурация сервера (1610) контента, соответствующего этому варианту реализации изобретения. Далее, со ссылкой на Фиг. 37, будет описана конфигурация устройства (1620) воспроизведения контента.
Фиг. 37 представляет собой функциональную структурную схему, на которой проиллюстрирована конфигурация устройства (1620) воспроизведения контента. Как проиллюстрировано на Фиг. 37, устройство (1620) воспроизведения контента включает в себя секцию (1651) связи, запоминающую секцию (1652), секцию (1653) воспроизведения, секцию (1654) выбора и секцию (1656) получения информации о текущем месте расположения.
Секция (1651) связи представляет собой интерфейс с сервером (1610) контента, запрашивает сервер (1610) контента о предоставлении данных, и получает данные от сервера (1610) контента. Если описать это более подробно, то секция (1651) связи имеет функцию служить в качестве HTTP-клиента для связи с устройством (1620) воспроизведения контента в соответствии с HTTP-протоколом. Например, секция (1651) связи может избирательно получать MPD-описание или сегменты закодированных данных из сервера (1610) контента, используя диапазон HTTP-протокола.
Запоминающая секция (1652) хранит разнообразные типы информации, относящиеся к воспроизведению контента. Например, запоминающая секция (1652) последовательно буферизует сегменты, полученные секцией (1651) связи от сервера (1610) контента. Сегменты закодированных данных, буферизованные в запоминающей секции (1652) последовательно предоставляются в секцию (1653) воспроизведения в порядке "первый на входе-первый на выходе" ("FIFO").
Кроме того, запоминающая секция (1652) хранит описание для получения доступа к URL-указателю, в который секция (1651) связи добавляет параметр, основываясь на команде добавления параметра для URL-указателя контента, описанного в MPD-описании, запрошенном с сервера (1611) контента, который будет описан позже.
Секция (1653) воспроизведения последовательно воспроизводит сегменты, предоставляемые из запоминающей секции (1652). В частности, секция (1653) воспроизведения выполняет в отношении этих сегментов декодирование, цифроаналоговое преобразование и визуализацию.
Секция (1654) выбора последовательно выбирает то, получать ли последовательно сегменты закодированных данных, соответствующих скорости передачи битов, входящей в состав MPD-описания, получаемого рамках того же самого контента. Например, в случае, когда секция (1654) выбора последовательно выбирает сегменты "A1", "В2" и "A3" в соответствии с полосой частот сети (1612), секция (1651) связи последовательно получает сегменты "A1", "В2" и "A3" из сервера (1610) контента, как это проиллюстрировано на Фиг. 34.
Секция (1656) получения информации о текущем месте расположения может представлять собой секцию для получения информации о текущем месте расположения устройства (1620) воспроизведения контента, и, например, может быть составлена из модуля для получения информации о текущем месте расположения приемника глобальной системы определения местоположения (GPS) или тому подобного. В дополнение к этому, секция (1656) получения информации о текущем месте расположения может представлять собой секцию для получения информации о текущем месте расположения устройства (1620) воспроизведения контента, использующую беспроводную сеть связи.
Конфигурация сервера (1611) контента
Фиг. 38 представляет собой пояснительную схему, на которой проиллюстрирован пример конфигурации сервера (1611) контента. Как проиллюстрировано на Фиг. 38, сервер (1611) контента включает в себя запоминающую секцию (1671) и секцию (1672) связи.
Запоминающая секция (1671) хранит информацию о URL-указателе MPD-описания. Информация о URL-указателе MPD-описания передается из сервера (1611) контента в устройство (1620) воспроизведения контента в соответствии с запросом, поступившим от устройства (1620) воспроизведения контента, для затребования воспроизведения контента. В дополнение к этому, когда информация о URL-указателе MPD-описания для устройства (1620) воспроизведения контента предоставлена, запоминающая секция (1671) сохраняет информацию описания, когда устройство (1620) воспроизведения контента добавляет параметр к URL-указателю, записанному в MPD-о писании.
Секция (1672) связи представляет собой интерфейс с устройством (1620) воспроизведения контента и осуществляет связь с устройством (1620) воспроизведения контента через сеть (1612). Таким образом, секция (1672) связи принимает от устройства (1620) воспроизведения контента запрос информации о URL-указателе MPD-описания для затребования воспроизведения контента и передает информацию URL-указателя MPD-описания в устройство (1620) воспроизведения контента. URL-указатель MPD-описания, подлежащий передаче из секции (1672) связи включает в себя информацию для добавления параметра в устройстве (1620) воспроизведения контента.
В качестве параметра, подлежащего добавлению к URL-указателю MPD-описания в устройстве (1620) воспроизведения контента, можно задавать разнообразные параметры в информации описания, совместно используемой сервером (1611) контента и устройством (1620) воспроизведения контента. Например, в устройстве (1620) воспроизведения контента, к URL-указателю MPD-описания может быть добавлена информация о текущем месте расположения устройства (1620) воспроизведения контента, об идентификаторе пользователя, принадлежащем пользователю, использующему устройство (1620) воспроизведения контента, о размере памяти устройства (1620) воспроизведения контента, о емкости запоминающего устройства в устройстве (1620) воспроизведения контента и тому подобное.
В системе воспроизведения контента, имеющей вышеописанную конфигурацию, имеется возможность, применяя настоящую технологию, которая описана выше со ссылкой на Фигуры: с 1 по 21, получить результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21.
Таким образом, кодер (1641) из сервера (1610) контента имеет функцию устройства кодирования изображений (показанного на Фиг. 4), соответствующего вышеописанному варианту реализации изобретения. Кроме того, секция (1653) воспроизведения, входящая в состав устройства (1620) воспроизведения контента, имеет функцию устройства декодирования изображений (показанного на Фиг. 14), соответствующего вышеописанному варианту реализации изобретения. Таким образом, имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами.
Кроме того, поскольку в системе воспроизведения контента имеется возможность ограничить направление V вектора движения между видами, передавая и принимая закодированные данные в соответствии с настоящей технологии, то имеется возможность повысить эффективность кодирования при кодировании или декодирования вектора движения на изображении с множественными видами.
9. Пример применения системы беспроводной связи стандарта Wi-Fi
Базовый пример функционирования устройства беспроводного связи
Будет описан базовый пример функционирования устройства беспроводной связи в системе беспроводной связи, в которой может быть применена настоящая технология.
На начальной стадии, выполняются пакетные передача и прием данных по радио, пока посредством установления некоторого однорангового (Р2Р) соединения не приведено в действие некоторое конкретное приложение.
Далее, прежде, чем выполнено соединение на втором уровне, выполняются пакетные передача и прием данных по радио, пока не установлено это одноранговое соединение, и после назначения этого конкретного приложения не приведено в действие это конкретное приложение. После этого, после соединения на втором уровне, выполняются пакетная передача и прием данных по радио при активировании этого конкретного приложения.
Пример обмена информацией при начале функционирования конкретного приложения
Фигуры 39 и 40 представляют собой примеры пакетной передачи и приема данных по радио пока посредством установления вышеописанного однорангового соединения не приведено в действие некоторое конкретное приложение, и представляют собой блок-схемы последовательности операций, на которых проиллюстрирован пример обработки данных при обмене информацией, выполняемый каждым устройством на основе беспроводной связи. В частности, показан пример процедуры установления прямого соединения, приводящего к соединению по стандарту Wi-Fi direct (Wi-Fi прямого соединения, также именуемого как Wi-Fi Р2Р (Wi-Fi однорангового соединения), стандартизированного в альянсе Wi-Fi.
Здесь, в стандарте Wi-Fi direct, множество устройств беспроводной связи определяют наличие друг друга (обнаружение устройства и обнаружение сервиса). После этого, когда выполнен выбор устройства для соединения, устанавливается прямое соединение посредством выполнения аутентификации устройств в рамках защищенной настройки соединения Wi-Fi (WPS-настройки) с выбранным устройством. Кроме того, в стандарте Wi-Fi direct, формируется группа обмена информацией, определяющая роль каждого из множества устройств беспроводной связи как "родительского" устройства ("владельца" группы), или "дочернего" устройства ("клиента").
Однако в этом примере процесса обмена информацией, некоторые пакетные передача и приемы данных не приводятся. Например, во время первоначального соединения, как было описано выше, необходим обмен пакетами данных для использования WPS-настройки, и необходим обмен пакетами даже при обмене данными Запроса/Ответа при аутентификации или тому подобным. Однако на Фигурах 39 и 40, иллюстрация этих обменов пакетами данных не приводится, и показано только соединение со второго раза.
Кроме того, хотя на Фигурах 39 и 40 проиллюстрирован пример процесса обмена информацией между первым устройством (1701) беспроводной связи и вторым устройством (1702) беспроводной связи, то же самое является истинным и для процессов обмена информацией с другими устройствами беспроводной связи.
На начальной стадии, между первым устройством (1701) беспроводной связи и вторым устройством (1702) беспроводной связи выполняется обнаружение устройства (этап 1711). Например, первое устройство (1701) беспроводной связи передает зондирующий зонда (сигнал запроса ответа), и принимает от второго устройства (1702) беспроводной связи зондирующий ответ (сигнал ответа) на зондирующий запрос. Таким образом, первое устройство (1701) беспроводной связи и второе устройство (1702) беспроводной связи могут обнаружить место расположения друг друга. В дополнение к этому, при обнаружении устройства имеется возможность получить имя или тип (телевизионное устройство, персональный компьютер, "смартфон", или тому подобное) устройства партнера.
Вслед за этим, между первым устройством (1701) беспроводной связи и вторым устройством (1702) беспроводной связи выполняется обнаружение сервиса (этап 1712). Например, первое устройство (1701) беспроводной связи передает запрос на обнаружение сервиса для выяснения сервиса, корреспондирующего второму устройству (1702) беспроводной связи, обнаруженному при обнаружении устройства. После этого, первое устройство (1701) беспроводной связи, принимая от второго устройства (1702) беспроводной связи ответ обнаружения сервиса, получает сервис, корреспондирующий второму устройству (1701) беспроводной связи. Таким образом, имеется возможность посредством обнаружения сервиса получить исполняемый партнером сервис или тому подобное. Исполняемый партнером сервис представляет собой, например, сервис, протокол DLNA (альянса цифровой живой сети), визуализатор цифрового мультимедиа (DMR) или тому подобное.
Вслед за этим, пользователь выполняет операцию (операцию выбора партнера по соединению), заключающуюся в выборе партнера по соединению (этап 1713). Эта операция выбора партнера по соединению производится в только любом одном устройстве из числа: первого устройства (1701) беспроводной связи и второго устройства (1702) беспроводной связи. Например, на секции отображения в первом устройстве (1701) беспроводной связи отображается изображение для выбора партнера по соединению, и в соответствии с операцией пользователя второе устройство (1702) беспроводной связи выбирается, на этом изображении для выбора партнера по соединению, в качестве партнера по соединению.
Когда пользователь выполняет операцию выбора партнера по соединению (этап 1713), между первым устройством (1701) беспроводной связи и вторым устройством (1702) беспроводной связи выполняется согласование "владельца" группы (этап 1714). На Фигурах 39 и 40, иллюстрирован пример, в котором в соответствии с результатом согласования "владельца" группы первое устройство (1701) беспроводной связи становится "владельцем" (1715) группы, а второе устройство (1702) беспроводной связи становится "клиентом" (1716).
Вслед за этим, между первым устройством (1701) беспроводной связи и вторым устройством (1702) беспроводной связи выполняются процессы: с 1717 по 1720, так, чтобы было установлено прямое соединение. Таким образом, последовательно выполняются ассоциация (установление линии связи L 2 (второго уровня)) (этап 1717) и установление защищенной линии связи (этап 1718). В дополнение к этому, последовательно выполняются назначение IP-адреса (адреса по Интернет-протоколу) (этап 1719) и установление L 4 (уровня 4) (этап 1720) на L 3 (уровне 3) посредством протокола обнаружения простого сервиса (SSD-протокола) или тому подобного. Кроме того, обозначения "L 2" (уровень 2) относится к второму уровню (канальному уровню), "L 3" (уровень 3) относится к третьему уровню (сетевому уровню), a "L 4 (уровень 4) относится к четвертому уровню (транспортному уровню).
Вслед за этим, пользователь выполняет операцию назначения или активации в отношении некоторого конкретного приложении и операцию активации (операция назначения/активации приложения) (этап 1721). Эта операция назначения/активации приложения производится только в любом одном устройстве из числа: первого устройства (1701) беспроводной связи и второго устройства (1702) беспроводной связи. Например, на секции отображения в первом устройстве (1701) беспроводной связи отображается изображение для операции назначения/активации приложения, и конкретное приложение выбирается посредством операции пользователя на этом изображении для операция назначения/активации приложения.
В случае, когда пользователь выполняет операцию назначения/активации приложения (этап 1721), между первым устройством (1701) беспроводной связи и вторым устройством (1702) беспроводной связи выполняется конкретное приложение, корреспондирующее этой операции назначения/активации приложения (этап 1722).
Здесь, предполагается случай, в котором соединение между точкой доступа (АР-точкой) и станцией (STA) устанавливается в рамках спецификаций "specs" ("specs" стандартизированы в IEEE 802.11 (стандарте 802.11 Института инженеров по электротехнике и электронике (США)) еще до стандарта Wi-Fi direct. В этом случае, до выполнения соединения на втором уровне (до "ассоциации" в терминологии стандарта IEEE 802.11) трудно заранее знать, с каким устройством устанавливается соединение.
С другой стороны, как проиллюстрировано на Фигурах 39 и 40, в стандарте Wi-Fi direct, имеется возможность получать информацию о партнере по соединению тогда, когда при обнаружении устройства или обнаружении (как опция) сервиса найден партнер-кандидат для соединения. Эта информация о партнере по соединению представляет собой, например, основной тип устройства, соответствующее конкретное приложение или тому подобное. В таком случае, имеется возможность позволить пользователю выбирать партнера по соединению, основываясь на полученной информации о партнере по соединению.
Развивая этот механизм, можно также реализовать систему беспроводной связи для назначения конкретного приложения прежде, чем установлено соединение на втором уровне, выбора партнера по соединению, и автоматического активирования конкретного приложения после этого выбора. Пример последовательности операций, приводящей к соединению, для этого случая проиллюстрирован на Фиг. 42. В дополнение к этому, на Фиг. 41 проиллюстрирован пример конфигурации формата кадра данных, подлежащего передаче и приему в ходе этого процесса обмена информацией.
Пример конфигурации формата кадра данных
Фиг. 41 представляет собой схему, на которой схематично проиллюстрирован пример конфигурации формата кадра данных, подлежащего передаче и приему в ходе процесса обмена информацией каждым устройством, используемым, как основа настоящей технологии. Таким образом, на Фиг. 41, проиллюстрирован пример конфигурации кадра данных управления доступом к среде передачи (MAC-кадра) для установления соединения на втором уровне. В частности, это-пример формата кадра данных запроса/ответа при ассоциации (на этапе 1787) для реализации последовательности операций, проиллюстрированной на Фиг. 42.
Кроме того, поля: от поля (1751) управления кадром данных до поля (1756) управления последовательностью, представляют собой заголовок МАС-кадра. В дополнение к этому, в случае, когда передается запрос ассоциации, в поле (1751) управления кадром данных устанавливаются В3В2="0b00" и В7 В6 В5 В4="0b000". В дополнение к этому, в случае, когда инкапсулирован ответ об ассоциации, в поле (1751) управления кадром данных устанавливаются В3В2="0b00" и В7 В6 В5 В4="0b0001". Кроме того, "0b00" представляет "00" в двоичной системе счисления, "0b0000" представляет "0000" в двоичной системе счисления, и "0b0001" представляет "0001" в двоичной системе счисления.
При этом, МАС-кадр (кадр данных управления доступом к среде передачи), проиллюстрированный на Фиг. 41, представляет собой в основном формат кадра данных с запросом/ответом об ассоциации, записанный в Разделах 7.2.3.4 и 7.2.3.5 документа спецификации стандарта ШЕЕ 802.11-2007. Однако, этот формат отличается тем, что в его состав наряду с элементом информации (в дальнейшем, сокращенно обозначаемом как IE) включен независимо расширяемый элемент информации.
В дополнение к этому, для того, чтобы указывать, что имеется элемент (1760) информации, специфический по поставщику технических средств, в поле (1761) типа элемента информации устанавливается значение 127 в десятичной системе счисления. В этом случае, в соответствии с Разделом 7.3.2.26 документа спецификации стандарта IEEE 802.11-2007, поле (1762) длины и поле (1763) уникального идентификатора организации (OUI-идентификатора) имеют продолжение, и после них расположено содержание (1764), специфическое по поставщику технических средств.
В качестве содержания (1764), специфического по поставщику технических средств, сначала предусмотрено поле ("типа элемента информации" (1765)), указывающий тип элемента информации, специфического по поставщику технических средств. Затем, после него, сконфигурировано для хранения множество подэлементов (1766).
В качестве содержания подэлемента (1766) предполагается включать сюда наименование (1767) конкретного приложения, подлежащего использованию, или роль (1768) устройства при функционировании этого конкретного приложения. В дополнение к этому, предполагается включать сюда информацию (1769) об этом конкретном приложении (информацию для установления L 4 (четвертого уровня)), такую как номер порта, используемый для управления, и информацию (информацию о возможностях), относящуюся к возможностям. При этом, например, в случае, когда назначенное конкретное приложение представляет собой DLNA-приложение (приложение альянса цифровой живой сети), информация о возможностях представляет собой информацию для указания соответствия с передачей/воспроизведением аудиоинформации, соответствия с передачи/воспроизведением видеоинформации и тому подобного.
В системе беспроводной связи вышеописанной конфигурации имеется возможность, применяя настоящую технологию, описанную выше со ссылкой на Фигуры: с 1 по 21, получить полезные результаты, аналогичные тем, что описаны выше со ссылкой на Фигуры: с 1 по 21. Таким образом, имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами. Кроме того, в вышеописанной системе беспроводной связи, имеется возможность повысить эффективность кодирования при кодировании или декодировании вектора движения на изображении с множественными видами при передаче и приеме данных, закодированных посредством настоящей технологии.
Кроме того, в настоящем описании был описан пример, в котором в кодируемом потоке данных мультиплексируются и передаются от стороны кодирования стороне декодирования различные типы информации, такие как параметры фильтра устранения блочности или параметры фильтра адаптивного смещения. Однако технология передачи информации не ограничена этим примером. Например, информация может передаваться или записываться как индивидуальные данные, ассоциативно связанные с закодированным битовым потоком, не будучи мультиплексированными в закодированный поток. Здесь, термин "быть ассоциативно связанным" относится к тому, что изображение, включенное в состав битового потока (который может быть частью изображения, такой как "слайс" или блок), и информация, соответствующая изображению, сконфигурированы таким образом, чтобы связываться (компоноваться) между собой во время декодирования. Таким образом, эта информация может быть передана по тракту передачи данных, отдельному от изображения (или битового потока). В дополнение к этому, эта информация может быть записана на отдельном, от изображения (или битового потока), носителе записи (или в отдельной области записи того же самого носителя записи). Кроме того, эти информация и изображение (или битовый поток), например, могут быть ассоциативно связаны друг с другом в некотором произвольном элементе, таком как множество кадров, один кадр, или участок в пределах кадра.
Предпочтительные варианты реализации настоящего раскрываемого изобретения были описаны выше со ссылкой на прилагаемые чертежи, хотя, конечно же, настоящее изобретение не ограничено вышеприведенными примерами. Специалист в данной области техники может найти различные изменения и модификации в рамках объема прилагаемой формулы изобретения, и следует понимать, что они естественным образом попадают в объем настоящего раскрываемого изобретения.
В дополнение к этому, настоящая технология может также быть сконфигурирована так, как изложено ниже.
(1) Устройство обработки изображений, включающее в себя:
секцию генерирования предсказанного вектора, сконфигурированную таким образом, чтобы генерировать предсказанный вектор для использования при кодировании вектора движения (MV) текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока;
секцию кодирования вектора движения, сконфигурированную таким образом, чтобы кодировать вектор движения текущего блока, используя предсказанный вектор, сгенерированный секцией генерирования предсказанного вектора; и
секцию кодирования, сконфигурированную таким образом, чтобы генерировать закодированный поток данных, кодируя изображение в элементах, имеющих иерархическую структуру.
(2) Устройство обработки изображений, соответствующее п. (1), в котором секция генерирования предсказанного вектора генерирует предсказанный вектор, масштабируя вектор движения опорного блока в соответствии с порядковым номером отсчета видеокадров (РОС-номером) опорного изображения для текущего блока и РОС-номером опорного изображения для опорного блока и используя отмасштабированный вектор движения в качестве кандидата для предсказанного вектора.
(3) Устройство обработки изображений, соответствующее п. (1) или (2), дополнительно включающее в себя:
передающую секцию, сконфигурированную таким образом, чтобы передавать вектор движения текущего блока, закодированный секцией кодирования вектора движения, и закодированный поток данных, сгенерированный секцией кодирования.
(4) Способ обработки изображений, включающий в себя этапы, на которых:
генерируют, посредством устройства обработки изображений, предсказанный вектор для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока;
кодируют, посредством устройства обработки изображений, вектор движения текущего блока, используя сгенерированный предсказанный вектор; и
генерируют, посредством устройства обработки изображений, закодированный поток данных, кодируя изображение в элементах, имеющих иерархическую структуру.
(5) Устройство обработки изображений, включающее в себя:
секцию генерирования предсказанного вектора, сконфигурированную таким образом, чтобы генерировать предсказанный вектор для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока,
секцию декодирования вектора движения, сконфигурированную таким образом, чтобы декодировать вектор движения текущего блока, используя предсказанный вектор, сгенерированный секцией генерирования предсказанного вектора; и
секцию декодирования, сконфигурированную таким образом, чтобы генерировать изображение, декодируя закодированный поток данных, закодированный в элементах, имеющих иерархическую структуру.
(6) Устройство обработки изображений, соответствующее п. (5), в котором секция генерирования предсказанного вектора генерирует предсказанный вектор, масштабируя вектор движения опорного блока в соответствии с РОС-номером опорного изображения для текущего блока и РОС-номером опорного изображения для опорного блока и используя отмасштабированный вектор движения в качестве кандидата для предсказанного вектора.
(7) Устройство обработки изображений, соответствующее п. (5) или (6), дополнительно включающее в себя:
принимающую секцию, сконфигурированную таким образом, чтобы принимать закодированный поток данных и закодированный вектор движения текущего блока.
(8) Способ обработки изображений, включающий в себя этапы, на которых:
генерируют, посредством устройства обработки изображений, предсказанный вектор для использования при кодировании вектора движения текущего блока, масштабируя вектор движения опорного блока, который представляет собой блок в положении, сдвинутом от положения текущего блока на изображении, относящемся к другому виду, на некоторую "разницу", полученную от периферии текущего блока на изображении неосновного вида, в соответствии с пунктом назначения ссылки для текущего блока и пунктом назначения ссылки для опорного блока;
декодируют, посредством устройства обработки изображений, вектор движения текущего блока, используя сгенерированный предсказанный вектор; и
генерируют, посредством устройства обработки изображений, изображение, декодируя закодированный поток данных, закодированный в элементах, имеющих иерархическую структуру.
Перечень ссылочных позиций
[0568] 11-1,11-N, 11-М кодер
26 секция кодирования без потерь
32-1, 32-N, 32-M DPB-буфер (буфер декодированных видеокадров)
34 секция предсказания/компенсации движения
36-1,36-N, 36-M память векторов движения
51 секция генерирования режима предсказания движения
52 секция автоматического генерирования индекса опорного изображения
53 секция предсказания вектора в режиме AMVP - предсказания (Усовершенствованного предсказания вектора)
54 секция предсказания вектора в режиме M/S (слияния/пропуска)
55 секция определения режима
61 секция поиска вектора
62 секция генерирования предсказанного изображения
63 секция определения "стоимости" вектора
64 память пространственных векторов движения
65, 66 секция генерирования предсказанного вектора
67 переключатель
68 вычитающая секция
69 секция преобразования РОС-номера (Порядкового номера отсчета видеокадров)
81 секция генерирования индекса предсказанного вектора
82 секция генерирования вектора при ссылке внутри вида
83 секция генерирования вектора при ссылке между видами
211-1, 211-N, 211-М декодер
222 секция декодирования без потерь
233-1, 233-N, 233-M DPB-буфер (буфер декодированных видеокадров)
231 секция компенсации движения
229-1, 229-N, 229 - M память векторов движения
251 секция автоматического генерирования индекса опорного изображения
252 секция предсказания вектора в режиме AMVP-предсказания
253 секция предсказания вектора в режиме M/S
261 секция генерирования предсказанного изображения
262 память пространственных векторов движения
263 суммирующая секция
264, 265 секция генерирования предсказанного вектора
266 переключатель
267 секция преобразования РОС-номера
281 секция генерирования вектора при ссылке внутри вида
282 секция генерирования вектора при ссылке между видами