Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к способу кодирования изображений для кодирования каждого из блоков изображений.
Уровень техники
[0002] Одна примерная технология для кодирования каждого из блоков изображений является технологией, раскрытой в непатентном документе 1.
Список библиографических ссылок
Непатентные документы
[0003] ISO/IEC 14496-10 "MPEG-4 Part 10 Advanced Video Coding"
Сущность изобретения
Техническая задача
[0004] Тем не менее, в некоторых случаях, традиционный способ кодирования изображений не позволяет достигать достаточно высокой эффективности кодирования.
[0005] Настоящее изобретение предоставляет способ кодирования изображений, который достигает повышенной эффективности кодирования изображений.
Решение задачи
[0006] Способ кодирования изображений согласно аспекту настоящего изобретения является способом кодирования изображений для кодирования каждого из блоков изображений, причем способ кодирования изображений включает в себя: извлечение варианта для прогнозирующей функции (предиктора) вектора движения, который должен быть использован при кодировании вектора движения для текущего блока, который должен быть кодирован, из вектора движения для соседнего блока, который включается в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком; добавление извлеченного варианта в список; выбор прогнозирующей функции вектора движения из списка, включающего в себя добавленный вариант; и кодирование текущего блока с использованием вектора движения для текущего блока и опорного изображения для текущего блока и кодирование вектора движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения; при этом при извлечении: определяется то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и определяется то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно первой схеме извлечения, которая не заключает в себе масштабирование на основе временного расстояния, а когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно второй схеме извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0007] Эти общие и конкретные аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы или машиночитаемого носителя записи, такого как CD-ROM, либо любой комбинации систем, устройств, способов, интегральных схем, компьютерных программ или машиночитаемых носителей записи.
Преимущества изобретения
[0008] Способ кодирования изображений согласно настоящему изобретению достигает повышенной эффективности кодирования изображений.
Краткое описание чертежей
[0009] Фиг. 1 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства кодирования изображений согласно справочному примеру.
Фиг. 2 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства декодирования изображений согласно справочному примеру.
Фиг. 3 является блок-схемой последовательности операций способа для подробностей процесса извлечения согласно справочному примеру.
Фиг. 4 является иллюстрацией для пояснения соседних блоков согласно справочному примеру.
Фиг. 5 является блок-схемой устройства декодирования изображений согласно варианту 1 осуществления.
Фиг. 6 является блок-схемой устройства декодирования изображений согласно варианту 1 осуществления.
Фиг. 7 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства кодирования изображений согласно варианту 1 осуществления.
Фиг. 8 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства декодирования изображений согласно варианту 1 осуществления.
Фиг. 9 является блок-схемой последовательности операций способа для этапов извлечения процесса извлечения согласно варианту 1 осуществления.
Фиг. 10 является блок-схемой последовательности операций способа для этапов извлечения процесса извлечения согласно варианту 2 осуществления.
Фиг. 11 является блок-схемой последовательности операций способа для этапов извлечения процесса извлечения согласно варианту 3 осуществления.
Фиг. 12A является блок-схемой устройства декодирования изображений согласно варианту 4 осуществления.
Фиг. 12B является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства кодирования изображений согласно варианту 4 осуществления.
Фиг. 13A является блок-схемой устройства декодирования изображений согласно варианту 4 осуществления.
Фиг. 13B является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства декодирования изображений согласно варианту 4 осуществления.
Фиг. 14A является первым примером позиций хранения параметров, указывающих классификации опорных изображений.
Фиг. 14B является вторым примером позиций хранения параметров, указывающих классификации опорных изображений.
Фиг. 14C является третьим примером позиций хранения параметров, указывающих классификации опорных изображений.
Фиг. 15 является иллюстрацией примера позиции хранения параметра, указывающего режим прогнозирования.
Фиг. 16 показывает общую конфигурацию системы предоставления контента для реализации услуг распространения контента.
Фиг. 17 показывает общую конфигурацию цифровой широковещательной системы.
Фиг. 18 показывает блок-схему, иллюстрирующую пример конфигурации телевизионного приемника.
Фиг. 19 показывает блок-схему, иллюстрирующую пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, который является оптическим диском.
Фиг. 20 показывает пример конфигурации носителя записи, который является оптическим диском.
Фиг. 21A показывает пример сотового телефона.
Фиг. 21B является блок-схемой, показывающей пример конфигурации сотового телефона.
Фиг. 22 иллюстрирует структуру мультиплексированных данных.
Фиг. 23 схематично показывает то, как каждый поток мультиплексируется в мультиплексированные данные.
Фиг. 24 подробнее показывает то, как видеопоток сохраняется в потоке PES-пакетов.
Фиг. 25 показывает структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 26 показывает структуру данных PMT.
Фиг. 27 показывает внутреннюю структуру информации мультиплексированных данных.
Фиг. 28 показывает внутреннюю структуру информации атрибутов потока.
Фиг. 29 показывает этапы для идентификации видеоданных.
Фиг. 30 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущихся изображений и способа декодирования движущихся изображений согласно каждому из вариантов осуществления.
Фиг. 31 показывает конфигурацию для переключения между частотами возбуждения.
Фиг. 32 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 33 показывает пример таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения.
Фиг. 34A является схемой, показывающей пример конфигурации для совместного использования модуля процессора сигналов.
Фиг. 34B является схемой, показывающей другой пример конфигурации для совместного использования модуля процессора сигналов.
Подробное описание вариантов осуществления
[0010] Базовая основа формирования знаний настоящего изобретения
Относительно способа кодирования изображений, раскрытого в разделе "Уровень техники", авторы изобретения обнаружили проблему, указанную ниже. Следует отметить в дальнейшем то, что изображение может означать любое из видео, состоящего из множества изображений, неподвижного изображения, состоящего из одного изображения, части изображения и т.п.
[0011] Примеры новых схем кодирования изображений включают в себя MPEG-4 AVC/H.264 и высокоэффективное кодирование видео (HEVC). Эти схемы кодирования изображений поддерживают взаимное прогнозирование на основе кодированных опорных изображений.
[0012] Кроме того, эти схемы кодирования изображений могут использовать опорные изображения, называемые "долговременными опорными изображениями". Например, опорное изображение может быть использовано в качестве долговременного опорного изображения, когда опорное изображение хранится в течение длительного периода в буфере декодированных изображений (DPB).
[0013] Помимо этого HEVC поддерживает режим, называемый "адаптивным прогнозированием векторов движения (AMVP)". В AMVP-режиме, прогнозирующая функция вектора движения, достижимая посредством прогнозирования вектора движения для текущего блока на основе, например, вектор движения для соседнего блока, используется при кодировании вектора движения для текущего блока.
[0014] Кроме того, HEVC поддерживает пространственную прогнозирующую функцию вектора движения. Пространственная прогнозирующая функция вектора движения извлекается из вектора движения для соседнего блока. Соседний блок включается в текущее изображение, включающее в себя текущий блок, который должен быть кодирован, и смежный с текущим блоком. Например, пространственная прогнозирующая функция вектора движения может извлекаться из вектора движения для соседнего слева блока, расположенного слева от текущего блока, или может извлекаться из вектора движения для соседнего сверху блока, расположенного выше текущего блока.
[0015] Здесь пространственная прогнозирующая функция вектора движения, извлекаемая из вектора движения для соседнего слева блока, упоминается как левая прогнозирующая функция вектора движения. Аналогично, пространственная прогнозирующая функция вектора движения, извлекаемая из вектора движения для соседнего сверху блока, упоминается как верхняя прогнозирующая функция вектора движения.
[0016] Помимо этого вектор движения соседнего блока может упоминаться как соседний вектор движения. Помимо этого опорное изображение для соседнего блока может упоминаться как соседнее опорное изображение. Соседний блок кодируется с использованием соседнего вектора движения и соседнего опорного изображения.
[0017] Аналогично, вектор движения для текущего блока может упоминаться как текущий вектор движения. Помимо этого опорное изображение для текущего блока может упоминаться как текущее опорное изображение. Текущий блок кодируется с использованием текущего вектора движения и текущего опорного изображения.
[0018] Каждый из текущего блока и соседнего блока является единицей прогнозирования (PU). Единица прогнозирования является блоком изображений и задается как единица данных при прогнозировании. HEVC задает единицу кодирования (CU) в качестве единицы данных при кодировании отдельно от единицы прогнозирования. Единица прогнозирования является блоком в единице кодирования. Блок, раскрытый в дальнейшем, может быть заменен посредством единицы прогнозирования или единицы кодирования.
[0019] Размеры единицы кодирования и единицы прогнозирования не являются постоянными. Например, изображение может включать в себя множество единиц кодирования, имеющих различные размеры, и/или может включать в себя множество единиц прогнозирования, имеющих различные размеры.
[0020] По этой причине, в некоторых случаях невозможно точно задавать какой-либо из соседних блоков, расположенных слева или выше текущего блока. Соответственно, HEVC поддерживает предварительно определенную схему выбора для выбора левого блока и верхнего блока из множества блоков, смежных с текущим блоком.
[0021] Пространственная прогнозирующая функция вектора движения формируется посредством масштабирования векторов движения для выбранных соседних блоков согласно расстоянию на основе номера в последовательности изображений (POC). POC является порядковым числом, назначаемым изображению в порядке отображения. POC-расстояние соответствует временному расстоянию между двумя изображениями. Масштабирование на основе POC-расстояния также упоминается как масштабирование на основе POC. Выражение 1, показанное ниже, является операционным выражением для масштабирования на основе POC для вектора движения для соседних блоков.
[0022] Pmv=(tb/td)×nmv… (выражение 1)
[0023] Здесь, nmv обозначает вектор движения для соседнего блока; pmv обозначает пространственную прогнозирующую функцию вектора движения, извлекаемую из вектора движения для соседнего блока; tb обозначает POC-расстояние со знаком и является разностью текущего изображения и текущего опорного изображения; и td обозначает POC-расстояние со знаком и является разностью текущего изображения и соседнего опорного изображения.
[0024] Когда эффективная пространственная прогнозирующая функция вектора движения существует, пространственная прогнозирующая функция вектора движения включается в упорядоченный список вариантов для прогнозирующих функций вектора движения. Прогнозирующая функция вектора движения, которая должна быть использована при кодировании текущего вектора движения, выбирается из упорядоченного списка вариантов для прогнозирующих функций вектора движения. Выбранная прогнозирующая функция вектора движения показывается как параметр в кодированном потоке.
[0025] Фиг. 1 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства кодирования изображений согласно справочному примеру. Фиг. 1, в частности, показывает этапы кодирования изображения с использованием взаимного прогнозирования.
[0026] Во-первых, устройство кодирования изображений классифицирует каждое из опорных изображений в качестве кратковременного опорного изображения или в качестве долговременного опорного изображения (S101). Устройство кодирования изображений записывает информацию, указывающую классификацию каждого из опорных изображений, в заголовке кодированного потока (S102).
[0027] Затем устройство кодирования идентифицирует текущее опорное изображение и текущий вектор движения с использованием оценки движения (S103). Затем устройство кодирования извлекает прогнозирующую функцию вектора движения (S104). Эти этапы извлечения подробно описываются далее.
[0028] После этого устройство кодирования изображений вычитает прогнозирующую функцию вектора движения из текущего вектора движения, чтобы извлекать разность векторов движения (S105). Затем устройство кодирования изображений выполняет компенсацию движения с использованием текущего опорного изображения и текущего вектора движения, чтобы формировать прогнозный блок (S106).
[0029] После этого устройство кодирования изображений вычитает прогнозный блок из текущего блока, чтобы формировать остаточный блок (S107). В завершение, устройство кодирования изображений кодирует остаточный блок, разность векторов движения и опорный индекс, указывающий текущее опорное изображение, чтобы формировать кодированный поток, включающий в себя эти элементы данных (S108).
[0030] Фиг. 2 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства декодирования изображений согласно справочному примеру. Фиг. 2, в частности, показывает этапы декодирования изображения с использованием взаимного прогнозирования.
[0031] Во-первых, устройство декодирования изображений получает кодированный поток и получает информацию, указывающую классификацию каждого из опорных изображений, посредством синтаксического анализа заголовка кодированного потока (S201). Помимо этого устройство декодирования изображений получает остаточный блок, разность векторов движения и опорный индекс, указывающий текущее опорное изображение, посредством синтаксического анализа кодированного потока (S202).
[0032] Далее устройство декодирования изображений извлекает прогнозирующую функцию вектора движения (S203). Эти этапы извлечения подробно описываются далее. Затем устройство декодирования изображений суммирует прогнозирующую функцию вектора движения с разностью векторов движения, чтобы формировать текущий вектор движения (S204). После этого устройство декодирования изображений выполняет компенсацию движения с использованием текущего опорного изображения и текущего вектора движения, чтобы формировать прогнозный блок (S205). В завершение устройство декодирования изображений суммирует прогнозный блок с остаточным блоком, чтобы формировать восстановленный блок (S206).
[0033] Фиг. 3 является блок-схемой последовательности операций способа для этапов процесса извлечения, показанного на фиг. 1 и фиг. 2. Операции, выполняемые посредством устройства кодирования изображений, показаны ниже. Операции, выполняемые посредством устройства декодирования изображений, являются аналогичными операциям, выполняемым посредством устройства кодирования изображений. Таким образом, "кодирование" может быть заменено на "декодирование" в нижеприведенном описании.
[0034] Во-первых, устройство кодирования изображений выбирает соседний блок, смежный с текущим блоком, который должен быть кодирован (S301). Устройство кодирования изображений идентифицирует соседнее опорное изображение и соседний вектор движения (S302). После этого устройство кодирования изображений извлекает прогнозирующую функцию вектора движения согласно схеме извлечения, заключающей в себе масштабирование на основе POC (S303).
[0035] Фиг. 4 является иллюстрацией соседних блоков, которые должны быть использованы в процессе извлечения, показанном на фиг. 3. Соседние блоки выбираются из множества блоков, смежных с текущим блоком.
[0036] Каждый из блока A0, включающего в себя выборку a0, и блока A1, включающего в себя выборку a1, является вариантом для соседнего слева блока. Каждый из блока B0, включающего в себя выборку b0, блока B1, включающего в себя выборку b1, и блока B2, включающего в себя выборку b2, является вариантом для соседнего сверху блока.
[0037] Когда координаты выборки tl, расположенной в верхнем левом угле текущего блока, обозначаются как (x, y), а ширина текущего блока обозначается как w, и высота текущего блока обозначается как h, координаты выборки a0 обозначаются как (x-1, y+h). В этом случае координаты выборки a1 обозначаются как (x-1, y+h-1). В этом случае координаты выборки b0, расположенной в позиции, противостоящей верхнему правому углу текущего блока, обозначаются как (x+w, y-1). В этом случае координаты выборки b1 обозначаются как (x+w-1, y-1). В этом случае координаты выборки b2 обозначаются как (x-1, y-1).
[0038] Один доступный из блоков A0 и A1 выбирается в качестве соседнего слева блока. Один доступный из блоков B0, B1 и B2 выбирается в качестве соседнего сверху блока. Примерные случаи, в которых блок в изображении не может быть использован, включают в себя случай, в котором такого блока не существует в изображении, и случай, в котором блок является кодированным c внутренним прогнозированием блоком.
[0039] Снова ссылаясь на фиг. 3, приводится описание этапов извлечения для извлечения пространственной прогнозирующей функции вектора движения.
[0040] Во-первых, устройство кодирования изображений задает левую прогнозирующую функцию вектора движения как недоступную. После этого устройство кодирования изображений пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков A0 и A1 на фиг. 4. Когда устройство кодирования изображений успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, устройство кодирования изображений извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования. После этого устройство кодирования изображений задает левую прогнозирующую функцию вектора движения как доступную.
[0041] Когда устройство кодирования изображений не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, устройство кодирования изображений пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования, из блоков A0 и A1 (S301). Когда устройство кодирования изображений успешно обнаруживает такой кодированный c взаимным прогнозированием блок, устройство кодирования изображений выполняет масштабирование на основе номера в последовательности изображений (POC) для вектора движения для блока, чтобы извлекать левую прогнозирующую функцию вектора движения, и задает извлеченную левую прогнозирующую функцию вектора движения как доступную (S302 и S303).
[0042] Когда устройство кодирования изображений не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, устройство кодирования изображений поддерживает левую прогнозирующую функцию вектора движения как недоступную.
[0043] Затем устройство кодирования изображений задает верхнюю прогнозирующую функцию вектора движения как недоступную. После этого устройство кодирования изображений пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков B0, B1 и B2 на фиг. 4. Когда устройство кодирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, устройство кодирования изображений извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования. Затем устройство кодирования изображений задает верхнюю прогнозирующую функцию вектора движения как доступную.
[0044] Когда устройство кодирования изображений не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, устройство кодирования изображений пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования, из блоков B0, B1 и B2 (S301). Когда устройство кодирования изображений успешно обнаруживает такой кодированный c взаимным прогнозированием блок, устройство кодирования изображений выполняет масштабирование на основе номера в последовательности изображений (POC) для вектора движения для блока, чтобы извлекать верхнюю прогнозирующую функцию вектора движения, и задает извлеченную верхнюю прогнозирующую функцию вектора движения как доступную (S302 и S303).
[0045] Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, устройство кодирования изображений поддерживает верхнюю прогнозирующую функцию вектора движения как недоступную.
[0046] Согласно вышеописанному процессу извлечения, устройство кодирования изображений (устройство декодирования изображений) извлекает доступные прогнозирующие функции вектора движения (левую прогнозирующую функцию вектора движения и верхнюю прогнозирующую функцию вектора движения).
[0047] Тем не менее, может быть затруднительным извлекать надлежащие пространственные прогнозирующие функции вектора движения в зависимости от взаимосвязей между текущим изображением, текущим опорным изображением и соседним опорным изображением.
[0048] Например, когда текущее опорное изображение является долговременным опорным изображением, временное расстояние от текущего опорного изображения до текущего изображения может быть большим. С другой стороны, когда соседнее опорное изображение является долговременным опорным изображением, временное расстояние от соседнего опорного изображения до текущего изображения может быть большим.
[0049] В этих случаях масштабирование на основе POC может давать в результате слишком большие или маленькие пространственные прогнозирующие функции вектора движения. Таким образом, снижается точность прогнозирования, и снижается эффективность кодирования. В частности, использование фиксированного числа битов приводит к значительному снижению точности прогнозирования и эффективности кодирования, поскольку невозможно точно выражать такие слишком большие или маленькие пространственные прогнозирующие функции вектора движения с использованием такого фиксированного числа битов.
[0050] Чтобы разрешать вышеуказанные проблемы, способ кодирования изображений согласно аспекту настоящего изобретения является способом кодирования изображений для кодирования каждого из блоков изображений, причем способ кодирования изображений включает в себя извлечение варианта для прогнозирующей функции вектора движения, который должен быть использован при кодировании вектора движения для текущего блока, который должен быть кодирован, из вектора движения для соседнего блока, который включается в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком; добавление извлеченного варианта в список; выбор прогнозирующей функции вектора движения из списка, включающего в себя добавленный вариант; и кодирование текущего блока с использованием вектора движения для текущего блока и опорного изображения для текущего блока и кодирование вектора движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения; при этом при извлечении: определяется то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и определяется то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно первой схеме извлечения, которая не заключает в себе масштабирование на основе временного расстояния, а когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно второй схеме извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0051] Таким образом, можно надлежащим образом извлекать вариант для прогнозирующей функции вектора движения без извлечения слишком большого или маленького варианта. Это позволяет повышать точность прогнозирования и тем самым повышать эффективность кодирования.
[0052] Например, при извлечении по способу кодирования изображений согласно аспекту: извлечение варианта из вектора движения для соседнего блока не может быть выполнено, когда одно из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, а другое определяется как кратковременное опорное изображение; и извлечение варианта из вектора движения для соседнего блока может быть выполнено, когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, или когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение.
[0053] Таким образом, когда прогнозируется то, что в результате получается низкая точность прогнозирования, варианты для прогнозирующей функции вектора движения не извлекаются из вектора движения для соседнего блока. Это не допускает получения в результате такой низкой точности прогнозирования.
[0054] Помимо этого, например, при кодировании по способу кодирования изображений согласно аспекту, первая информация и вторая информация могут быть дополнительно кодированы, причем первая информация указывает то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, а вторая информация указывает то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0055] Таким образом, информация, указывающая то, является ли каждое опорное изображение долговременным опорным изображением или кратковременным опорным изображением, передается посредством стороны кодирования на сторону декодирования. Соответственно, сторона кодирования и сторона декодирования могут получать аналогичный результат определения и выполнять аналогичные процессы.
[0056] Помимо этого, например, при извлечении по способу кодирования изображений согласно аспекту, то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено на основе временного расстояния от опорного изображения для текущего блока до текущего изображения; и то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено на основе временного расстояния от опорного изображения для соседнего блока до текущего изображения.
[0057] Таким образом, то, является ли каждое опорное изображение долговременным опорным изображением или кратковременным опорным изображением, надлежащим образом определяется на основе временного расстояния простым способом.
[0058] Помимо этого, например, при извлечении по способу кодирования изображений согласно аспекту, то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено в период, в который кодируется соседний блок.
[0059] Таким образом, можно более точно определять то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0060] Помимо этого, например, при извлечении по способу кодирования изображений согласно аспекту, то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено в период, в который кодируется текущий блок.
[0061] Таким образом, нет необходимости хранить, в течение длительного времени, информацию, указывающую то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0062] Помимо этого, например, при извлечении по способу кодирования изображений согласно аспекту, вектор движения для соседнего блока может извлекаться в качестве варианта, когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение; и масштабированный вектор движения может извлекаться в качестве варианта, причем масштабированный вектор движения получается посредством масштабирования вектора движения для соседнего блока с использованием соотношения временного расстояния от опорного изображения для текущего блока до текущего изображения относительно временного расстояния от опорного изображения для соседнего блока до текущего изображения, когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение.
[0063] Таким образом, масштабирование вектора движения пропускается, когда оба опорных изображения являются долговременными опорными изображениями, что сокращает объем работы. С другой стороны, когда оба опорных изображения являются кратковременными изображениями, вариант для прогнозирующей функции вектора движения надлежащим образом извлекается на основе временных расстояний.
[0064] Помимо этого, например, при извлечении по способу кодирования изображений согласно аспекту, когда опорное изображение для текущего блока определяется как кратковременное опорное изображение, а опорное изображение для соседнего блока определяется как долговременное опорное изображение, извлечение варианта из вектора движения для соседнего блока не может быть выполнено, другой соседний блок, кодированный в отношении кратковременного опорного изображения, может быть выбран, и вариант может извлекаться из вектора движения для другого соседнего блока согласно второй схеме извлечения.
[0065] Соответственно, выбирается блок для извлечения варианта, который дает в результате высокую точность прогнозирования. Соответственно, повышается точность прогнозирования.
[0066] Способ декодирования изображений согласно аспекту настоящего изобретения является способом декодирования изображений для декодирования каждого из блоков изображений, причем способ декодирования изображений включает в себя: извлечение варианта для прогнозирующей функции вектора движения, который должен быть использован при декодировании вектора движения для текущего блока, который должен быть декодирован, из вектора движения для соседнего блока, который включается в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком; добавление извлеченного варианта в список; выбор прогнозирующей функции вектора движения из списка, включающего в себя добавленный вариант; и декодирование вектора движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения и декодирование текущего блока с использованием вектора движения для текущего блока и опорного изображения для текущего блока, при этом при извлечении: определяется то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и определяется то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно первой схеме извлечения, которая не заключает в себе масштабирование на основе временного расстояния, а когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно второй схеме извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0067] Таким образом, можно надлежащим образом извлекать вариант для прогнозирующей функции вектора движения без извлечения слишком большого или маленького варианта. Это позволяет повышать точность прогнозирования и тем самым повышать эффективность кодирования.
[0068] Например, при извлечении по способу декодирования изображений согласно аспекту: извлечение варианта из вектора движения для соседнего блока не может быть выполнено, когда одно из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, а другое определяется как кратковременное опорное изображение; и извлечение варианта из вектора движения для соседнего блока может быть выполнено, когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, или когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение.
[0069] Таким образом, когда прогнозируется то, что в результате получается низкая точность прогнозирования, варианты для прогнозирующей функции вектора движения не извлекаются из вектора движения для соседнего блока. Это не допускает получения в результате такой низкой точности прогнозирования.
[0070] Помимо этого, например, при декодировании по способу декодирования изображений согласно аспекту, первая информация и вторая информация могут быть дополнительно декодированы, причем первая информация указывает то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, а вторая информация указывает то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, и при извлечении: то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено на основе информации, указывающей то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением; и то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено на основе информации, указывающей то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0071] Таким образом, информация, указывающая то, является ли каждое опорное изображение долговременным опорным изображением или кратковременным опорным изображением, передается посредством стороны кодирования на сторону декодирования. Соответственно, сторона кодирования и сторона декодирования могут получать аналогичный результат определения и выполнять аналогичные процессы.
[0072] Помимо этого, например, при извлечении по способу декодирования изображений согласно аспекту, то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено на основе временного расстояния от опорного изображения для текущего блока до текущего изображения; и то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено на основе временного расстояния от опорного изображения для соседнего блока до текущего изображения.
[0073] Таким образом, то, является ли каждое опорное изображение долговременным опорным изображением или кратковременным опорным изображением, надлежащим образом определяется на основе временного расстояния простым способом.
[0074] Помимо этого, например, при извлечении по способу декодирования изображений согласно аспекту, то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено в период, в который декодируется соседний блок.
[0075] Таким образом, можно более точно определять то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0076] Помимо этого, например, при извлечении по способу декодирования изображений согласно аспекту, то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, может быть определено в период, в который декодируется текущий блок.
[0077] Таким образом, нет необходимости хранить, в течение длительного времени, информацию, указывающую то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0078] Помимо этого, например, при извлечении по способу декодирования изображений согласно аспекту, вектор движения для соседнего блока может извлекаться в качестве варианта, когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение; и масштабированный вектор движения может извлекаться в качестве варианта, причем масштабированный вектор движения получается посредством масштабирования вектора движения для соседнего блока с использованием соотношения временного расстояния от опорного изображения для текущего блока до текущего изображения относительно временного расстояния от опорного изображения для соседнего блока до текущего изображения, когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение.
[0079] Таким образом, масштабирование вектора движения пропускается, когда оба опорных изображения являются долговременными изображениями, что сокращает объем работы. С другой стороны, когда оба опорных изображения являются кратковременными изображениями, варианты для прогнозирующих функций вектора движения надлежащим образом извлекаются на основе временных расстояний.
[0080] Помимо этого, например, при извлечении по способу декодирования изображений согласно аспекту, когда опорное изображение для текущего блока определяется как кратковременное опорное изображение, а опорное изображение для соседнего блока определяется как долговременное опорное изображение, извлечение варианта из вектора движения для соседнего блока не может быть выполнено, другой соседний блок, кодированный в отношении кратковременного опорного изображения, может быть выбран, и вариант может извлекаться из вектора движения для другого соседнего блока согласно второй схеме извлечения.
[0081] Соответственно, выбирается блок для извлечения варианта, который дает в результате высокую точность прогнозирования. Соответственно, повышается точность прогнозирования.
[0082] Помимо этого способ предоставления контента согласно аспекту настоящего изобретения является способом предоставления контента для предоставления возможности серверу, сохраняющему данные изображений, кодированные с использованием способа кодирования изображений согласно аспекту, передавать данные изображений в ответ на запрос из внешнего терминала.
[0083] Эти общие и конкретные аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы или машиночитаемого носителя записи, такого как CD-ROM, либо любой комбинации систем, устройств, способов, интегральных схем, компьютерных программ или машиночитаемых носителей записи.
[0084] В дальнейшем в этом документе, определенные примерные варианты осуществления подробнее описываются со ссылкой на прилагаемые чертежи. Каждый из примерных вариантов осуществления, описанных ниже, показывает общий или конкретный пример. Числовые значения, формы, материалы, структурные элементы, компоновка и соединение структурных элементов, этапы, порядок обработки этапов и т.д., показанные в следующих примерных вариантах осуществления, являются просто примерами и, следовательно, не ограничивают объем настоящего изобретения. Следовательно, из структурных элементов в следующих примерных вариантах осуществления, структурные элементы, не изложенные в любом из независимых пунктов формулы изобретения, описываются как произвольные структурные элементы.
[0085] Вариант 1 осуществления
Фиг. 5 является блок-схемой устройства 500 кодирования изображений согласно варианту 1 осуществления. Устройство 500 кодирования изображений на фиг. 5 кодирует изображения на поблочной основе и выводит кодированный поток, включающий в себя кодированные изображения. Более конкретно, устройство 500 кодирования изображений включает в себя: модуль 501 вычитания, модуль 502 преобразования, модуль 503 квантования, энтропийный кодер 504, модуль 505 обратного квантования, модуль 506 обратного преобразования, модуль 507 суммирования, запоминающее устройство 508 блоков, запоминающее устройство 509 изображений, модуль 510 внутреннего прогнозирования, модуль 511 взаимного прогнозирования и модуль 512 выбора.
[0086] Модуль 501 вычитания вычитает прогнозное изображение из изображения, вводимого в устройство 500 кодирования изображений, и выводит разностное изображение. Модуль 502 преобразования выполняет преобразование частоты для разностного изображения, выводимого из модуля 501 вычитания, чтобы формировать множество частотных коэффициентов. Модуль 503 квантования квантует множество частотных коэффициентов, сформированных посредством модуля 502 преобразования, чтобы формировать множество квантованных коэффициентов. Энтропийный кодер 504 кодирует множество квантованных коэффициентов, сформированных посредством модуля 503 квантования, чтобы формировать кодированный поток.
[0087] Модуль 505 обратного квантования выполняет обратное квантование для множества квантованных коэффициентов, сформированных посредством модуля 503 квантования, чтобы восстанавливать множество частотных коэффициентов. Модуль 506 обратного преобразования выполняет обратное преобразование частоты для множества частотных коэффициентов, восстановленных посредством модуля 505 обратного квантования, чтобы восстанавливать разностное изображение. Модуль 507 суммирования суммирует прогнозное изображение с разностным изображением, восстановленным посредством модуля 506 обратного преобразования, чтобы восстанавливать (реконструировать) изображение. Модуль 507 суммирования сохраняет восстановленное изображение (реконструированное изображение) в запоминающем устройстве 508 блоков и запоминающем устройстве 509 изображений.
[0088] Запоминающее устройство 508 блоков является запоминающим устройством для сохранения изображений, восстановленных посредством модуля 507 суммирования на поблочной основе. Запоминающее устройство 509 изображений является запоминающим устройством для сохранения изображений, восстановленных посредством модуля 507 суммирования на основе каждого изображения.
[0089] Модуль 510 внутреннего прогнозирования выполняет внутреннее прогнозирование для изображения (изображения) в отношении запоминающего устройства 508 блоков. Другими словами, модуль 510 внутреннего прогнозирования прогнозирует каждое из пикселных значений пикселов изображения из другого одного из пикселных значений пикселов текущего изображения. Таким образом, модуль 510 внутреннего прогнозирования формирует прогнозное изображение. С другой стороны, модуль 511 взаимного прогнозирования выполняет взаимное прогнозирование для изображения (изображения) в отношении запоминающего устройства 509 изображений. Другими словами, модуль 511 взаимного прогнозирования прогнозирует каждое из пикселных значений пикселов изображения из одного из пикселных значений пикселов другого изображения. Таким образом, модуль 511 взаимного прогнозирования формирует прогнозное изображение.
[0090] Модуль 512 выбора выбирает любое из прогнозного изображения, сформированного посредством модуля 510 внутреннего прогнозирования, и прогнозного изображения, сформированного посредством модуля 511 взаимного прогнозирования, и выводит выбранное прогнозное изображение в модуль 501 вычитания и модуль 507 суммирования.
[0091] Устройство 500 кодирования изображений может включать в себя модуль фильтра удаления блочности (не показан на фиг. 5). Модуль фильтра удаления блочности может удалять шум вокруг границ блоков посредством выполнения фильтрации для удаления блочности для изображения, восстановленного посредством модуля 507 суммирования. Помимо этого устройство 500 кодирования изображений может включать в себя модуль управления, который управляет каждым из процессов в устройстве 500 кодирования изображений.
[0092] Фиг. 6 является блок-схемой устройства 600 декодирования изображений согласно варианту 1 осуществления. Устройство 600 декодирования изображений на фиг. 6 получает кодированный поток и декодирует каждое из изображений на поблочной основе. Более конкретно, устройство 600 декодирования изображений включает в себя: энтропийный декодер 601, модуль 602 обратного квантования, модуль 603 обратного преобразования, модуль 604 суммирования, запоминающее устройство 605 блоков, запоминающее устройство 606 изображений, модуль 607 внутреннего прогнозирования, модуль 608 взаимного прогнозирования и модуль 609 выбора.
[0093] Энтропийный декодер 601 декодирует множество квантованных коэффициентов, включенных в кодированный поток. Модуль 602 обратного квантования выполняет обратное квантование для множества квантованных коэффициентов, декодированных посредством энтропийного декодера 601, чтобы восстанавливать множество частотных коэффициентов. Модуль 603 обратного преобразования выполняет обратное преобразование частоты для множества частотных коэффициентов, восстановленных посредством модуля 602 обратного квантования, чтобы восстанавливать разностное изображение.
[0094] Модуль 604 суммирования суммирует прогнозное изображение с разностным изображением, восстановленным посредством модуля 603 обратного преобразования, чтобы восстанавливать (реконструировать) изображение. Модуль 604 суммирования выводит восстановленное изображение (реконструированное изображение). Помимо этого модуль 604 суммирования сохраняет восстановленное изображение в запоминающем устройстве 605 блоков и запоминающем устройстве 606 изображений.
[0095] Запоминающее устройство 605 блоков является запоминающим устройством для сохранения изображений, восстановленных посредством модуля 604 суммирования на поблочной основе. Запоминающее устройство 606 изображений является запоминающим устройством для сохранения изображений, восстановленных посредством модуля 604 суммирования на основе каждого изображения.
[0096] Модуль 607 внутреннего прогнозирования выполняет внутреннее прогнозирование для изображения (изображения) в отношении запоминающего устройства 605 блоков. Другими словами, модуль 607 внутреннего прогнозирования прогнозирует каждое из пикселных значений пикселов изображения из другого одного из пикселных значений пикселов изображения. Таким образом, модуль 607 внутреннего прогнозирования формирует прогнозное изображение. С другой стороны, модуль 608 взаимного прогнозирования выполняет взаимное прогнозирование для изображения (изображения) в отношении запоминающего устройства 606 изображений. Другими словами, модуль 608 взаимного прогнозирования прогнозирует каждое из пикселных значений пикселов изображения из одного из пикселных значений пикселов другого изображения. Таким образом, модуль 608 взаимного прогнозирования формирует прогнозное изображение.
[0097] Модуль 609 выбора выбирает любое из прогнозного изображения, сформированного посредством модуля 607 внутреннего прогнозирования, и прогнозного изображения, сформированного посредством модуля 608 взаимного прогнозирования, и выводит выбранное прогнозное изображение в модуль 604 суммирования.
[0098] Устройство 600 декодирования изображений может включать в себя модуль фильтра удаления блочности (не показан на фиг. 6). Модуль фильтра удаления блочности может удалять шум вокруг границ блоков посредством выполнения фильтрации для удаления блочности для изображения, восстановленного посредством модуля 604 суммирования. Помимо этого устройство 600 декодирования изображений может включать в себя модуль управления, который управляет каждым из процессов в устройстве 600 декодирования изображений.
[0099] Кодирование и декодирование, описанные выше, выполняются для каждой из единиц кодирования. Преобразование, квантование, обратное преобразование и обратное квантование выполняются для каждой из единиц преобразования (TU), включенных в каждую единицу кодирования. Прогнозирование выполняется для каждой из единиц прогнозирования, включенных в каждую единицу кодирования.
[0100] Фиг. 7 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства 500 кодирования изображений, показанного на фиг. 5. Фиг. 7, в частности, показывает этапы кодирования изображения с использованием взаимного прогнозирования.
[0101] Во-первых, модуль 511 взаимного прогнозирования классифицирует каждое из опорных изображений в качестве кратковременного опорного изображения или долговременного опорного изображения (S701).
[0102] Долговременное опорное изображение является опорным изображением, которое является подходящим для использования в течение длительного периода. Помимо этого долговременное опорное изображение задается как опорное изображение для использования в течение периода, превышающего период, в который используется кратковременное опорное изображение. По этой причине, такое долговременное опорное изображение с большой вероятностью должно храниться в течение длительного времени в запоминающем устройстве 509 изображений. Помимо этого долговременное опорное изображение указывается согласно абсолютному POC, который не зависит от текущего изображения. С другой стороны, кратковременное опорное изображение указывается согласно относительному POC от текущего изображения.
[0103] Затем энтропийный кодер 504 записывает информацию, указывающую классификацию каждого из опорных изображений, в заголовке кодированного потока (S702). Другими словами, энтропийный кодер 504 записывает информацию, указывающую то, является ли каждое из опорных изображений долговременным опорным изображением или кратковременным опорным изображением.
[0104] После этого модуль 511 взаимного прогнозирования идентифицирует опорное изображение и вектор движения для текущего блока, который должен быть кодирован (цели прогнозирования) (S703). После этого модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения (S704). Этапы извлечения этого процесса извлечения подробно описываются далее.
[0105] Затем модуль 511 взаимного прогнозирования вычитает прогнозирующую функцию вектора движения из текущего вектора движения, чтобы извлекать разность векторов движения (S705). После этого модуль 511 взаимного прогнозирования выполняет компенсацию движения с использованием текущего опорного изображения и текущего вектора движения, чтобы формировать прогнозный блок (S706).
[0106] Затем модуль 501 вычитания вычитает прогнозный блок из текущего блока (исходного изображения), чтобы формировать остаточный блок (S707). В завершение, энтропийный кодер 504 кодирует остаточный блок, разность векторов движения и опорный индекс, указывающий текущее опорное изображение, чтобы формировать кодированный поток, включающий в себя эти элементы данных (S708).
[0107] Фиг. 8 является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства 600 декодирования изображений, показанного на фиг. 6. Фиг. 8, в частности, показывает этапы декодирования изображения с использованием взаимного прогнозирования.
[0108] Во-первых, энтропийный декодер 601 получает кодированный поток и получает информацию, указывающую классификацию каждого из опорных изображений, посредством синтаксического анализа заголовка кодированного потока (S801). Другими словами, энтропийный декодер 601 записывает информацию, указывающую то, является ли каждое из опорных изображений долговременным опорным изображением или кратковременным опорным изображением.
[0109] Помимо этого энтропийный декодер 601 получает остаточный блок, разность векторов движения и опорный индекс, указывающий текущее опорное изображение, посредством синтаксического анализа кодированного потока (S802).
[0110] Затем модуль 608 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения (S803). Этапы извлечения этого процесса извлечения подробно описываются далее. После этого модуль 608 взаимного прогнозирования суммирует прогнозирующую функцию вектора движения с разностью векторов движения, чтобы формировать текущий вектор движения (S804). Затем модуль 608 взаимного прогнозирования выполняет компенсацию движения с использованием текущего опорного изображения и текущего вектора движения, чтобы формировать прогнозный блок (S805). В завершение, модуль 604 суммирования суммирует прогнозный блок с остаточным блоком, чтобы формировать восстановленный блок (S806).
[0111] Фиг. 9 является блок-схемой последовательности операций способа для этапов процесса извлечения, показанного на фиг. 7 и фиг. 8. Операции посредством модуля 511 взаимного прогнозирования на фиг. 5, главным образом, описываются в дальнейшем. Операции, выполняемые посредством модуля 608 взаимного прогнозирования, являются аналогичными операциям, выполняемым посредством модуля 511 взаимного прогнозирования. Таким образом, "кодирование" может быть заменено на "декодирование" в нижеприведенном описании.
[0112] Во-первых, модуль 511 взаимного прогнозирования выбирает соседний блок, смежный с текущим блоком (S901). После этого модуль 511 взаимного прогнозирования идентифицирует соседнее опорное изображение и соседний вектор движения (S902).
[0113] Затем модуль 511 взаимного прогнозирования определяет то, является или нет какое-либо из текущего опорного изображения и соседнего опорного изображения долговременным опорным изображением (S903). Когда модуль 511 взаимного прогнозирования определяет то, что какое-либо из текущего опорного изображения и соседнего опорного изображения является долговременным опорным изображением ("Да" на этапе S903), модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно первой схеме извлечения (S904).
[0114] Первая схема извлечения является схемой с использованием соседнего вектора движения. Более конкретно, первая схема извлечения является схемой для непосредственного извлечения соседнего вектора движения в качестве прогнозирующей функции вектора движения без масштабирования на основе POC. Первая схема извлечения может быть схемой для извлечения прогнозирующей функции вектора движения посредством масштабирования соседнего вектора движения согласно предварительно определенному постоянному отношению.
[0115] Когда модуль 511 взаимного прогнозирования определяет то, что каждое из текущего опорного изображения и соседнего опорного изображения не является долговременным опорным изображением ("Нет" на этапе S903), модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно второй схеме извлечения (S905). Другими словами, когда модуль 511 взаимного прогнозирования определяет то, что как текущее опорное изображение, так и соседнее опорное изображение являются кратковременными опорными изображениями, модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно второй схеме извлечения.
[0116] Вторая схема извлечения является схемой для использования текущего опорного изображения, соседнего опорного изображения и соседнего вектора движения. Более конкретно, вторая схема извлечения является схемой для извлечения прогнозирующей функции вектора движения посредством выполнения масштабирования на основе POC согласно выражению 1 для соседнего вектора движения.
[0117] Снова ссылаясь на фиг. 9, приводится описание этапов извлечения для извлечения пространственной прогнозирующей функции вектора движения. Вышеописанный процесс извлечения может быть модифицирован так, как указано ниже.
[0118] Во-первых, модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как недоступную. После этого модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков A0 и A1 на фиг. 4.
[0119] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования и задает левую прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования, из блоков A0 и A1 (S901).
[0120] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок и обнаруживает то, что какое-либо из опорного изображения для блока или текущего опорного изображения является долговременным опорным изображением (S902 и "Да" на этапе S903), модуль 511 взаимного прогнозирования извлекает левую прогнозирующую функцию вектора движения согласно первой схеме извлечения (S904). Другими словами, модуль 511 взаимного прогнозирования извлекает вектор движения для обнаруженного блока в качестве левой прогнозирующей функции вектора движения без масштабирования. Затем модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как доступную.
[0121] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок и обнаруживает то, что каждое опорное изображение для блока или текущего опорного изображения не является долговременным опорным изображением (S902 и "Нет" на этапе S903), модуль 511 взаимного прогнозирования извлекает левую прогнозирующую функцию вектора движения согласно второй схеме извлечения (S905). Другими словами, модуль 511 взаимного прогнозирования выполняет масштабирование на основе POC для вектора движения для обнаруженного блока, чтобы извлекать левую прогнозирующую функцию вектора движения. Затем модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как доступную.
[0122] Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает левую прогнозирующую функцию вектора движения как недоступную.
[0123] Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как недоступную. После этого модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков B0, B1 и B2 на фиг. 4.
[0124] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования и задает верхнюю прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования, из блоков B0, B1 и B2 (S901).
[0125] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок и обнаруживает то, что какое-либо из опорного изображения для блока или текущего опорного изображения является долговременным опорным изображением (S902 и "Да" на этапе S903), модуль 511 взаимного прогнозирования извлекает верхнюю прогнозирующую функцию вектора движения согласно первой схеме извлечения (S904). Другими словами, модуль 511 взаимного прогнозирования извлекает вектор движения для обнаруженного блока в качестве верхней прогнозирующей функции вектора движения без масштабирования. Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как доступную.
[0126] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок и обнаруживает то, что каждое опорное изображение для блока или текущего опорного изображения не является долговременным опорным изображением (S902 и "Нет" на этапе S903), модуль 511 взаимного прогнозирования извлекает верхнюю прогнозирующую функцию вектора движения согласно второй схеме извлечения (S905). Другими словами, модуль 511 взаимного прогнозирования выполняет масштабирование на основе POC для вектора движения для обнаруженного блока, чтобы извлекать верхнюю прогнозирующую функцию вектора движения. Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как доступную.
[0127] Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает верхнюю прогнозирующую функцию вектора движения как недоступную.
[0128] Как описано выше, каждая из пространственных прогнозирующих функций вектора движения задается как доступная или недоступная. Модуль 511 взаимного прогнозирования добавляет пространственную прогнозирующую функцию вектора движения, заданную как доступную, в упорядоченный список вариантов для прогнозирующих функций вектора движения. Упорядоченный список сохраняет различные виды векторов движения в качестве вариантов для прогнозирующих функций вектора движения, в дополнение к таким пространственным прогнозирующим функциям вектора движения.
[0129] Модуль 511 взаимного прогнозирования выбирает одну из прогнозирующих функций вектора движения из упорядоченного списка и прогнозирует текущий вектор движения с использованием выбранной прогнозирующей функции вектора движения. В это время модуль 511 взаимного прогнозирования выбирает прогнозирующую функцию вектора движения, ближайшую к текущему вектору движения, или такую прогнозирующую функцию вектора движения, которая дает в результате наибольшую эффективность при кодировании текущего вектора движения. Индекс, соответствующий выбранной прогнозирующей функции вектора движения, записывается в кодированном потоке.
[0130] Согласно вышеописанным этапам процесса извлечения, можно извлекать надлежащую пространственную прогнозирующую функцию вектора движения из соседнего вектора движения без извлечения слишком большой или маленькой пространственной прогнозирующей функции вектора движения. Это позволяет повышать точность прогнозирования и тем самым повышать эффективность кодирования.
[0131] Следует отметить, что каждое из опорных изображений может переключаться между долговременным опорным изображением и кратковременным опорным изображением в зависимости от времени. Например, кратковременное опорное изображение может быть изменено позднее на долговременное опорное изображение. С другой стороны, долговременное опорное изображение может быть изменено позднее на кратковременное опорное изображение.
[0132] Помимо этого модуль 511 взаимного прогнозирования может определять то, является ли соседнее опорное изображение долговременным опорным изображением или кратковременным опорным изображением, в период, в который кодируется соседний блок. Далее, устройство 500 кодирования изображений может включать в себя дополнительное запоминающее устройство для сохранения результата определения между тем, когда соседний блок успешно кодируется, и когда текущий блок успешно кодируется.
[0133] В этом случае модуль 511 взаимного прогнозирования определяет то, является ли соседнее опорное изображение долговременным опорным изображением или кратковременным опорным изображением, более точным способом.
[0134] Альтернативно, модуль 511 взаимного прогнозирования может определять то, является ли соседнее опорное изображение долговременным опорным изображением или кратковременным опорным изображением, в период, в который кодируется текущий блок.
[0135] В этом случае нет необходимости хранить в течение длительного времени информацию, указывающую то, является ли соседнее опорное изображение долговременным опорным изображением или кратковременным опорным изображением.
[0136] Альтернативно, модуль 511 взаимного прогнозирования может определять то, является ли текущее опорное изображение долговременным опорным изображением или кратковременным опорным изображением, на основе временного расстояния от текущего опорного изображения до текущего изображения.
[0137] Например, когда временное расстояние от текущего опорного изображения до текущего изображения превышает предварительно определенное пороговое значение, модуль 511 взаимного прогнозирования может определять то, что текущее опорное изображение является долговременным опорным изображением. С другой стороны, когда временное расстояние от текущего опорного изображения до текущего изображения меньше или равно предварительно определенного порогового значения, модуль 511 взаимного прогнозирования может определять то, что текущее опорное изображение является кратковременным опорным изображением.
[0138] Аналогично, модуль 511 взаимного прогнозирования может определять то, является ли соседнее опорное изображение долговременным опорным изображением или кратковременным опорным изображением, на основе временного расстояния от соседнего опорного изображения до текущего изображения.
[0139] Например, когда временное расстояние от соседнего опорного изображения до текущего изображения превышает предварительно определенное пороговое значение, модуль 511 взаимного прогнозирования может определять то, что соседнее опорное изображение является долговременным опорным изображением. С другой стороны, когда временное расстояние от текущего опорного изображения до текущего изображения меньше или равно предварительно определенного порогового значения, модуль 511 взаимного прогнозирования может определять то, что соседнее опорное изображение является кратковременным опорным изображением.
[0140] Затем модуль 608 взаимного прогнозирования устройства 600 декодирования изображений может определять то, является ли каждое из опорных изображений долговременным опорным изображением или кратковременным опорным изображением, на основе временного расстояния способом, аналогичным способу, используемому посредством устройства 500 кодирования изображений. В этом случае нет необходимости кодировать информацию, указывающую то, является ли каждое из опорных изображений долговременным опорным изображением или кратковременным опорным изображением.
[0141] Что касается других процессов декодирования, изображения, кодированные с высокой эффективностью кодирования, надлежащим образом декодируются посредством процессов, выполняемых посредством структурных элементов устройства 600 декодирования изображений, аналогичных процессам, выполняемым посредством соответствующих структурных элементов устройства 500 кодирования изображений.
[0142] Операции, показанные выше, являются применимыми к вариантам осуществления, отличным от варианта 1 осуществления. Структурные элементы и операции, показанные в варианте 1 осуществления, могут быть включены в любой из других вариантов осуществления, либо структурные элементы и операции, показанные в любом из других вариантов осуществления, могут быть включены в вариант 1 осуществления.
[0143] Вариант 2 осуществления
Устройство кодирования изображений и устройство декодирования изображений являются аналогичными по структуре устройству кодирования изображений и устройству декодирования изображений в варианте 1 осуществления, соответственно. По этой причине, операции согласно варианту 2 осуществления описываются с использованием структурных элементов, идентичных структурным элементам устройства кодирования изображений на фиг. 5, и структурных элементов, идентичных структурным элементам устройства декодирования изображений на фиг. 6.
[0144] Аналогично варианту 1 осуществления, устройство 500 кодирования изображений согласно варианту 2 осуществления выполняет операции, как показано на фиг. 7. Аналогично варианту 1 осуществления, устройство 600 декодирования изображений согласно варианту 2 осуществления выполняет операции, как показано на фиг. 8. Вариант 2 осуществления отличается от варианта 1 осуществления процессом извлечения векторов движения. Отличия подробно описываются ниже.
[0145] Фиг. 10 является блок-схемой последовательности операций способа для этапов извлечения процесса извлечения согласно варианту 2 осуществления. Модуль 511 взаимного прогнозирования согласно варианту 2 осуществления выполняет операции, как показано на фиг. 10, вместо операций, как показано на фиг. 9. Операции посредством модуля 511 взаимного прогнозирования на фиг. 5, главным образом, описываются в дальнейшем. Операции, выполняемые посредством модуля 608 взаимного прогнозирования, являются аналогичными операциям, выполняемым посредством модуля 511 взаимного прогнозирования. Таким образом, "кодирование" может быть заменено на "декодирование" в нижеприведенном описании.
[0146] Во-первых, модуль 511 взаимного прогнозирования определяет то, является или нет текущее опорное изображение долговременным опорным изображением (S1001).
[0147] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение является долговременным опорным изображением, модуль 511 взаимного прогнозирования выбирает кодированный c взаимным прогнозированием соседний блок (S1002). После этого модуль 511 взаимного прогнозирования идентифицирует соседнее опорное изображение и соседний вектор движения (S1003). Затем модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно первой схеме извлечения, аналогичной первой схеме извлечения в варианте 1 осуществления (S1004).
[0148] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение не является долговременным опорным изображением ("Нет" на этапе S1001), модуль 511 взаимного прогнозирования выбирает соседний блок, кодированный в отношении кратковременного опорного изображения (S1005).
[0149] Другими словами, когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение является кратковременным опорным изображением, модуль 511 взаимного прогнозирования выбирает соседний блок, кодированный в отношении кратковременного опорного изображения. После этого модуль 511 взаимного прогнозирования идентифицирует соседнее опорное изображение и соседний вектор движения (S1006). Затем модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно второй схеме извлечения, аналогичной второй схеме извлечения в варианте 1 осуществления (S1007).
[0150] Как описано выше, когда опорное изображение для текущего блока определяется как кратковременное опорное изображение, модуль 511 взаимного прогнозирования не извлекает прогнозирующую функцию вектора движения из вектора движения для соседнего блока, кодированного в отношении долговременного опорного изображения. Другими словами, когда модуль 511 взаимного прогнозирования определяет то, что опорное изображение для текущего блока является кратковременным опорным изображением и что опорное изображение для соседнего блока является долговременным опорным изображением, модуль 511 взаимного прогнозирования не извлекает прогнозирующей функции вектора движения из вектора движения для соседнего блока.
[0151] В этом случае прогнозирующая функция вектора движения может быть определена из вектора движения для другого соседнего блока, кодированного в отношении кратковременного опорного изображения, либо пространственная прогнозирующая функция вектора движения не может быть извлечена.
[0152] Снова ссылаясь на фиг. 10, приводится описание этапов извлечения для извлечения пространственной прогнозирующей функции вектора движения. Вышеописанный процесс извлечения может быть модифицирован так, как указано ниже.
[0153] Во-первых, модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как недоступную. После этого модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков A0 и A1 на фиг. 4.
[0154] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования и задает левую прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования проверяет то, является или нет текущее опорное изображение долговременным опорным изображением (S1001).
[0155] Когда текущее опорное изображение является долговременным опорным изображением ("Да" на этапе S1001), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования (S1002), из блоков A0 и A1.
[0156] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования и задает левую прогнозирующую функцию вектора движения как доступную (S1003 и S1004). Когда такой кодированный c взаимным прогнозированием блок не обнаруживается, модуль 511 взаимного прогнозирования поддерживает левую прогнозирующую функцию вектора движения как недоступную.
[0157] Когда текущее опорное изображение является долговременным опорным изображением ("Нет" на этапе S1001), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении кратковременного опорного изображения, из блоков A0 и A1 (S1005).
[0158] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования выполняет масштабирование на основе POC для вектора движения для блока, чтобы извлекать левую прогнозирующую функцию вектора движения (S1006 и S1007). Затем модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования поддерживает левую прогнозирующую функцию вектора движения как недоступную.
[0159] Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как недоступную. После этого модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков B0, B1 и B2 на фиг. 4.
[0160] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования и задает верхнюю прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования проверяет то, является или нет текущее опорное изображение долговременным опорным изображением (S1001).
[0161] Когда текущее опорное изображение является долговременным опорным изображением ("Да" на этапе S1001), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования (S1002), из блоков B0, B1 и B2.
[0162] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования и задает верхнюю прогнозирующую функцию вектора движения как доступную (S1003 и S1004). Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает верхнюю прогнозирующую функцию вектора движения как недоступную.
[0163] Когда текущее опорное изображение не является долговременным опорным изображением ("Нет" на этапе S1001), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении кратковременного опорного изображения, из блоков B0, B1 и B2 (S1005).
[0164] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении кратковременного опорного изображения, модуль 511 взаимного прогнозирования выполняет масштабирование на основе POC для вектора движения для блока, чтобы извлекать верхнюю прогнозирующую функцию вектора движения (S1006 и S1007). Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении кратковременного опорного изображения, модуль 511 взаимного прогнозирования поддерживает верхнюю прогнозирующую функцию вектора движения как недоступную.
[0165] Как описано выше в варианте 2 осуществления, когда опорное изображение для текущего блока является кратковременным опорным изображением, а опорное изображение для соседнего блока является долговременным опорным изображением, пространственная прогнозирующая функция вектора движения не извлекается из вектора движения для соседнего блока.
[0166] Когда какое-либо из текущего опорного изображения и соседнего опорного изображения является долговременным изображением, а другое является кратковременным изображением, очень трудно извлекать пространственную прогнозирующую функцию вектора движения с высокой точностью прогнозирования. По этой причине устройство 500 кодирования изображений и устройство 600 декодирования изображений согласно варианту 2 осуществления выполняют вышеописанные процессы, чтобы не допускать получения в результате такой низкой точности прогнозирования.
[0167] Вариант 3 осуществления
Устройство кодирования изображений и устройство декодирования изображений являются аналогичными по структуре устройству кодирования изображений и устройству декодирования изображений в варианте 1 осуществления, соответственно. По этой причине, операции согласно варианту 3 осуществления описываются с использованием структурных элементов, идентичных структурным элементам устройства кодирования изображений на фиг. 5, и структурных элементов, идентичных структурным элементам устройства декодирования изображений на фиг. 6.
[0168] Аналогично варианту 1 осуществления, устройство 500 кодирования изображений согласно варианту 3 осуществления выполняет операции, как показано на фиг. 7. Аналогично варианту 1 осуществления, устройство 600 декодирования изображений согласно варианту 3 осуществления выполняет операции, как показано на фиг. 8. Вариант 3 осуществления отличается от варианта 1 осуществления процессом извлечения векторов движения. Отличия подробно описываются ниже.
[0169] Фиг. 11 является блок-схемой последовательности операций способа для этапов извлечения процесса извлечения согласно варианту 3 осуществления. Модуль 511 взаимного прогнозирования согласно варианту 3 осуществления выполняет операции, как показано на фиг. 11, вместо операций, как показано на фиг. 9. Операции посредством модуля 511 взаимного прогнозирования на фиг. 5, главным образом, описываются в дальнейшем. Операции, выполняемые посредством модуля 608 взаимного прогнозирования, являются аналогичными операциям, выполняемым посредством модуля 511 взаимного прогнозирования. Таким образом, "кодирование" может быть заменено на "декодирование" в нижеприведенном описании.
[0170] Во-первых, модуль 511 взаимного прогнозирования определяет то, является или нет текущее опорное изображение долговременным опорным изображением (S1101).
[0171] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение является долговременным опорным изображением ("Да" на этапе S1101), модуль 511 взаимного прогнозирования выбирает кодированный c взаимным прогнозированием соседний блок (S1102). После этого модуль 511 взаимного прогнозирования идентифицирует соседнее опорное изображение и соседний вектор движения (S1103). Затем модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно первой схеме извлечения, аналогичной первой схеме извлечения в варианте 1 осуществления (S1104).
[0172] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение не является долговременным опорным изображением ("Нет" на этапе S1001), модуль 511 взаимного прогнозирования определяет то, существует или нет соседний блок, кодированный в отношении кратковременного опорного изображения (S1105).
[0173] Когда модуль 511 взаимного прогнозирования определяет то, что такой соседний блок, кодированный в отношении кратковременного опорного изображения, существует ("Да" на этапе S1105), модуль 511 взаимного прогнозирования выбирает соседний блок (S1106). После этого модуль 511 взаимного прогнозирования идентифицирует соседнее опорное изображение и соседний вектор движения (S1107). Затем модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно второй схеме извлечения, аналогичной второй схеме извлечения в варианте 1 осуществления (S1108).
[0174] Когда модуль 511 взаимного прогнозирования определяет то, что такой соседний блок, кодированный в отношении кратковременного опорного изображения, не существует ("Нет" на этапе S1105), модуль 511 взаимного прогнозирования выбирает кодированный c взаимным прогнозированием соседний блок. Другими словами, в этом случае модуль 511 взаимного прогнозирования выбирает соседний блок, кодированный в отношении долговременного опорного изображения (S1109).
[0175] После этого модуль 511 взаимного прогнозирования идентифицирует соседнее опорное изображение и соседний вектор движения (S1110). Затем модуль 511 взаимного прогнозирования извлекает прогнозирующую функцию вектора движения согласно первой схеме извлечения, аналогичной первой схеме извлечения в варианте 1 осуществления (S1111).
[0176] Другими словами, когда опорное изображение для текущего блока является кратковременным опорным изображением, соседний блок, кодированный в отношении кратковременного опорного изображения, выбирается предпочтительно относительно соседнего блока, кодированного в отношении долговременного опорного изображения. Затем прогнозирующая функция вектора движения извлекается из выбранного соседнего блока согласно первой схеме извлечения или второй схеме извлечения.
[0177] Снова ссылаясь на фиг. 11, приводится описание этапов извлечения для извлечения пространственной прогнозирующей функции вектора движения. Вышеописанный процесс извлечения может быть модифицирован так, как указано ниже.
[0178] Во-первых, модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как недоступную. После этого модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков A0 и A1 на фиг. 4.
[0179] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования и задает левую прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования проверяет то, является или нет текущее опорное изображение долговременным опорным изображением (S1101).
[0180] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение является долговременным опорным изображением ("Да" на этапе S1101), модуль 511 взаимного прогнозирования пытается обнаруживать кодированный c взаимным прогнозированием блок (S1102) из блоков A0 и A1.
[0181] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования и задает левую прогнозирующую функцию вектора движения как доступную (S1103 и S1104). Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает левую прогнозирующую функцию вектора движения как недоступную.
[0182] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение не является долговременным опорным изображением ("Нет" на этапе S1101), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении кратковременного опорного изображения, из блоков A0 и A1.
[0183] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении кратковременного опорного изображения ("Да" на этапе S1105), модуль 511 взаимного прогнозирования извлекает левую прогнозирующую функцию вектора движения из блока (S1106, S1007 и S1008). В это время, модуль 511 взаимного прогнозирования выполняет масштабирование на основе POC для вектора движения для блока, чтобы извлекать левую прогнозирующую функцию вектора движения. Затем модуль 511 взаимного прогнозирования задает левую прогнозирующую функцию вектора движения как доступную.
[0184] Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении кратковременного опорного изображения ("Нет" на этапе S1105), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования, из блоков A0 и A1. Другими словами, модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении долговременного опорного изображения, из блоков A0 и A1.
[0185] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве левой прогнозирующей функции вектора движения без масштабирования и задает левую прогнозирующую функцию вектора движения как доступную (S1109, S1110 и S1111). Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает левую прогнозирующую функцию вектора движения как недоступную.
[0186] Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как недоступную. После этого модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении текущего опорного изображения, из блоков B0, B1 и B2 на фиг. 4.
[0187] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования и задает верхнюю прогнозирующую функцию вектора движения как доступную. Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении текущего опорного изображения, модуль 511 взаимного прогнозирования проверяет то, является или нет текущее опорное изображение долговременным опорным изображением (S1101).
[0188] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение является долговременным опорным изображением ("Да" на этапе S1101), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный с использованием взаимного прогнозирования, из блоков B0, B1 и B2 (S1102).
[0189] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования и задает верхнюю прогнозирующую функцию вектора движения как доступную (S1103 и S1104). Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает верхнюю прогнозирующую функцию вектора движения как недоступную.
[0190] Когда модуль 511 взаимного прогнозирования определяет то, что текущее опорное изображение не является долговременным опорным изображением ("Нет" на этапе S1101), модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении кратковременного опорного изображения, из блоков B0, B1 и B2.
[0191] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой блок, кодированный в отношении кратковременного опорного изображения ("Да" на этапе S1105), модуль 511 взаимного прогнозирования извлекает верхнюю прогнозирующую функцию вектора движения из блока (S1106, S1007 и S1008). В это время, модуль 511 взаимного прогнозирования выполняет масштабирование на основе POC для вектора движения для блока, чтобы извлекать верхнюю прогнозирующую функцию вектора движения. Затем модуль 511 взаимного прогнозирования задает верхнюю прогнозирующую функцию вектора движения как доступную.
[0192] Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой блок, кодированный в отношении кратковременного опорного изображения ("Нет" на этапе S1105), модуль 511 взаимного прогнозирования пытается обнаруживать кодированный c взаимным прогнозированием блок из блоков B0, B1 и B2. Другими словами, модуль 511 взаимного прогнозирования пытается обнаруживать блок, кодированный в отношении долговременного опорного изображения, из блоков B0, B1 и B2.
[0193] Когда модуль 511 взаимного прогнозирования успешно обнаруживает такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования извлекает вектор движения для блока в качестве верхней прогнозирующей функции вектора движения без масштабирования и задает верхнюю прогнозирующую функцию вектора движения как доступную (S1109, S1110 и S1111). Когда модуль 511 взаимного прогнозирования не обнаруживает успешно такой кодированный c взаимным прогнозированием блок, модуль 511 взаимного прогнозирования поддерживает верхнюю прогнозирующую функцию вектора движения как недоступную.
[0194] Как описано выше, когда опорное изображение для текущего блока является кратковременным опорным изображением, соседний блок, кодированный в отношении кратковременного опорного изображения, выбирается предпочтительно относительно соседнего блока, кодированного в отношении долговременного опорного изображения.
[0195] Когда как текущее опорное изображение, так и соседнее опорное изображение являются кратковременными изображениями, ожидается повышение точности прогнозирования пространственной прогнозирующей функции вектора движения. По этой причине устройство 500 кодирования изображений и устройство 600 декодирования изображений согласно варианту 3 осуществления достигают такой высокой точности прогнозирования посредством выполнения вышеописанных операций.
[0196] Вариант 4 осуществления
Вариант 4 осуществления предоставляется с возможностью подтверждать уникальные структурные элементы и уникальные процедуры обработки в вариантах 1-3 осуществления.
[0197] Фиг. 12A является блок-схемой устройства 1200 кодирования изображений согласно варианту 4 осуществления. Устройство 1200 кодирования изображений на фиг. 12A кодирует каждый из блоков изображений. Устройство 1200 кодирования изображений включает в себя модуль 1201 извлечения, модуль 1202 добавления, модуль 1203 выбора и кодер 1204.
[0198] Например, модуль 1201 извлечения, модуль 1202 добавления и модуль 1203 выбора в качестве набора соответствуют, например, модулю 511 взаимного прогнозирования, показанному на фиг. 5. Кодер 1204 соответствует, например, энтропийному кодеру 504 на фиг. 5.
[0199] Фиг. 12B является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства 1200 кодирования изображений, показанного на фиг. 12A.
[0200] Модуль 1201 извлечения извлекает вариант для прогнозирующей функции вектора движения из вектора движения для соседнего блока (S1201). Соседний блок является блоком, включенным в текущее изображение, включающее в себя текущий блок, который должен быть кодирован и является смежным с текущим блоком. Прогнозирующая функция вектора движения используется при кодировании вектора движения для текущего блока.
[0201] При извлечении варианта модуль 1201 извлечения определяет то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением. Помимо этого модуль 1201 извлечения определяет то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0202] Здесь, когда модуль 1201 извлечения определяет то, что как опорное изображение для текущего блока, так и опорное изображение для соседнего блока являются долговременными опорными изображениями, модуль 1201 извлечения извлекает вариант из вектора движения для соседнего блока согласно первой схеме извлечения. Первая схема извлечения является схемой извлечения, которая не заключает в себе масштабирование на основе временного расстояния.
[0203] С другой стороны, когда модуль 1201 извлечения определяет то, что как опорное изображение для текущего блока, так и опорное изображение для соседнего блока являются кратковременными опорными изображениями, модуль 1201 извлечения извлекает вариант из вектора движения для соседнего блока согласно второй схеме извлечения. Вторая схема извлечения является схемой извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0204] Модуль 1202 добавления добавляет извлеченный вариант в список (S1202). Модуль 1203 выбора выбирает прогнозирующую функцию вектора движения из списка, включающего в себя добавленный вариант (S1203).
[0205] Кодер 1204 кодирует текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока. Помимо этого кодер 1204 кодирует вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения (S1204).
[0206] Фиг. 13A является блок-схемой устройства 1300 декодирования изображений согласно варианту 4 осуществления. Устройство 1300 декодирования изображений на фиг. 13A декодирует каждый из блоков изображений. Устройство 1300 декодирования изображений включает в себя модуль 1301 извлечения, модуль 1302 добавления, модуль 1303 выбора и декодер 1304.
[0207] Например, модуль 1301 извлечения, модуль 1302 добавления и модуль 1303 выбора в качестве набора соответствуют, например, модулю 608 взаимного прогнозирования, показанному на фиг. 6. Декодер 1304 соответствует, например, модулю 601 энтропийного декодирования на фиг. 6.
[0208] Фиг. 13B является блок-схемой последовательности операций способа для операций, выполняемых посредством устройства 1300 декодирования изображений, показанного на фиг. 13A.
[0209] Модуль 1301 извлечения извлекает вариант для прогнозирующей функции вектора движения из вектора движения для соседнего блока (S1301). Соседний блок является блоком, включенным в текущее изображение, включающее в себя текущий блок, который должен быть декодирован и является смежным с текущим блоком. Прогнозирующая функция вектора движения используется при декодировании вектора движения для текущего блока.
[0210] При извлечении варианта модуль 1301 извлечения определяет то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением. Помимо этого модуль 1301 извлечения определяет то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0211] Здесь, когда модуль 1301 извлечения определяет то, что как опорное изображение для текущего блока, так и опорное изображение для соседнего блока являются долговременными опорными изображениями, модуль 1301 извлечения извлекает вариант из вектора движения для соседнего блока согласно первой схеме извлечения. Первая схема извлечения является схемой извлечения, которая не заключает в себе масштабирование на основе временного расстояния.
[0212] С другой стороны, когда модуль 1301 извлечения определяет то, что как опорное изображение для текущего блока, так и опорное изображение для соседнего блока являются кратковременными опорными изображениями, модуль 1301 извлечения извлекает вариант из вектора движения для соседнего блока согласно второй схеме извлечения. Вторая схема извлечения является схемой извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0213] Модуль 1302 добавления добавляет извлеченный вариант в список (S1302). Модуль 1303 выбора выбирает прогнозирующую функцию вектора движения из списка, включающего в себя добавленный вариант (S1303).
[0214] Помимо этого декодер 1304 декодирует вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения. Помимо этого декодер 1304 декодирует текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока (S1304).
[0215] Согласно вышеописанным этапам процесса извлечения, можно извлекать надлежащую прогнозирующую функцию вектора движения из вектора движения для соседнего блока без извлечения слишком большой или маленькой прогнозирующей функции вектора движения. Это позволяет повышать точность прогнозирования и тем самым повышать эффективность кодирования.
[0216] Следует отметить, что каждый из модуля 1201 извлечения и модуля 1301 извлечения не должен обязательно извлекать вариант из вектора движения для соседнего блока при определении того, что одно из опорного изображения для текущего блока и опорного изображения для соседнего блока является долговременным опорным изображением, а другое является кратковременным изображением.
[0217] В этом случае каждый из модуля 1201 извлечения и модуля 1301 извлечения дополнительно может выбирать другой соседний блок, кодированный или декодированный в отношении кратковременного опорного изображения, и может извлекать вариант из другого соседнего блока согласно второй схеме извлечения. Альтернативно, в этом случае каждый из модуля 1201 извлечения и модуля 1301 извлечения может извлекать вариант согласно другой схеме извлечения. Альтернативно, в этом случае каждый из модуля 1201 извлечения и модуля 1301 извлечения не всегда должен в итоге извлекать вариант, соответствующий пространственному вектору движения.
[0218] Помимо этого каждый из модуля 1201 извлечения и модуля 1301 извлечения может определять то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, на основе временного расстояния от опорного изображения для текущего блока и текущего изображения.
[0219] Альтернативно, каждый из модуля 1201 извлечения и модуля 1301 извлечения может определять то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, на основе временного расстояния от опорного изображения для соседнего блока и текущего изображения.
[0220] Альтернативно, каждый из модуля 1201 извлечения и модуля 1301 извлечения может определять то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением в период, в который соседний блок кодируется или декодируется.
[0221] Альтернативно, каждый из модуля 1201 извлечения и модуля 1301 извлечения может определять то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением в период, в который текущий блок кодируется или декодируется.
[0222] Первая схема извлечения может быть схемой для извлечения вектора движения для соседнего блока в качестве варианта. Вторая схема извлечения может быть схемой для извлечения варианта на основе соотношения временного расстояния от опорного изображения для соседнего блока до текущего изображения относительно временного расстояния от опорного изображения для текущего блока до текущего изображения.
[0223] Помимо этого кодер 1204 дополнительно может кодировать (i) информацию, указывающую то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и (ii) информацию, указывающую то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0224] Декодер 1304 дополнительно может декодировать (i) информацию, указывающую то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и (ii) информацию, указывающую то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0225] Кроме того, модуль 1301 извлечения может определять, с использованием декодированной информации, то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением. Кроме того, модуль 1301 извлечения может определять, с использованием декодированной информации, то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
[0226] Информация, указывающая классификацию опорного изображения, может быть сохранена в качестве параметра в позиции в кодированном потоке, как указано ниже.
[0227] Фиг. 14A является первым примером позиций хранения параметров, указывающих классификации опорных изображений. Как показано на фиг. 14A, эти параметры, указывающие классификации опорных изображений, могут быть сохранены в заголовке последовательности. Заголовок последовательности также упоминается как набор параметров последовательности.
[0228] Фиг. 14B является вторым примером позиций хранения параметров, указывающих классификации опорных изображений. Как показано на фиг. 14B, эти параметры, указывающие классификации опорных изображений, могут быть сохранены в заголовке изображения. Заголовок изображения также упоминается как набор параметров изображения.
[0229] Фиг. 14C является третьим примером позиций хранения параметров, указывающих классификации опорных изображений. Как показано на фиг. 14C, эти параметры, указывающие классификации опорных изображений, могут быть сохранены в заголовке серии последовательных макроблоков.
[0230] Кроме того, информация, указывающая режим прогнозирования (взаимное прогнозирование или внутреннее прогнозирование), может быть сохранена в позиции в кодированном потоке, как указано ниже.
[0231] Фиг. 15 является иллюстрацией примера позиции хранения этого параметра, указывающего режим прогнозирования. Как показано на фиг. 15, этот параметр может быть сохранен в заголовке единицы кодирования (CU). Этот параметр указывает то, кодированы единицы прогнозирования в единице кодирования с использованием взаимного прогнозирования или внутреннего прогнозирования. Этот параметр может быть использован при определении относительно того, доступен соседний блок или нет.
[0232] Каждый из структурных элементов в каждом из вышеописанных вариантов осуществления может быть сконфигурирован в форме полностью аппаратного продукта или может быть реализован посредством выполнения программы, подходящей для структурного элемента. Каждый из структурных элементов может быть реализован посредством модуля выполнения программ, такого как CPU и процессор, считывающий и выполняющий программу, записанную на носителе записи, таком как жесткий диск или полупроводниковое запоминающее устройство. Здесь программа для реализации устройства кодирования изображений согласно каждому из вариантов осуществления является программой, описанной ниже.
[0233] Более конкретно, эта программа является программой для инструктирования компьютеру осуществлять способ кодирования изображений для кодирования каждого из блоков изображений, согласно аспекту настоящего изобретения. Способ кодирования изображений включает в себя извлечение варианта для прогнозирующей функции вектора движения, который должен быть использован при кодировании вектора движения для текущего блока, который должен быть кодирован, из вектора движения для соседнего блока, который включается в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком; добавление извлеченного варианта в список; выбор прогнозирующей функции вектора движения из списка, включающего в себя добавленный вариант; и кодирование текущего блока с использованием вектора движения для текущего блока и опорного изображения для текущего блока и кодирование вектора движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения; при этом при извлечении определяется то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и определяется то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно первой схеме извлечения, которая не заключает в себе масштабирование на основе временного расстояния, а когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно второй схеме извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0234] Более конкретно, эта программа является программой для инструктирования компьютеру осуществлять способ декодирования изображений для декодирования каждого из блоков изображений, согласно аспекту настоящего изобретения. Способ декодирования изображений включает в себя: извлечение варианта для прогнозирующей функции вектора движения, который должен быть использован при декодировании вектора движения для текущего блока, который должен быть декодирован, из вектора движения для соседнего блока, который включается в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком; добавление извлеченного варианта в список; выбор прогнозирующей функции вектора движения из списка, включающего в себя добавленный вариант; и декодирование вектора движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения и декодирование текущего блока с использованием вектора движения для текущего блока и опорного изображения для текущего блока, при этом при извлечении: определяется то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и определяется то, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как долговременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно первой схеме извлечения, которая не заключает в себе масштабирование на основе временного расстояния, а когда каждое из опорного изображения для текущего блока и опорного изображения для соседнего блока определяется как кратковременное опорное изображение, вариант извлекается из вектора движения для соседнего блока согласно второй схеме извлечения, которая заключает в себе масштабирование на основе временного расстояния.
[0235] Альтернативно, эти структурные элементы могут быть интегрированы в одну схему, либо могут быть отдельными схемами. Альтернативно, эти структурные элементы могут быть реализованы как общий или специализированный процессор, либо как общие или специализированные процессоры.
[0236] Выше описаны устройства кодирования изображений согласно одному или более вариантов осуществления, но объем настоящего изобретения не ограничен этими вариантами осуществления. Специалисты в данной области техники должны легко принимать во внимание, что различные модификации могут выполняться в этих примерных вариантах осуществления, и изменения могут быть получены посредством произвольного комбинирования структурных элементов различных вариантов осуществления без фактического отступления от объема настоящего изобретения. Соответственно, все такие модификации и изменения фактически могут быть включены в один или более вариантов осуществления, раскрытых в данном документе.
[0237] Например, устройство кодирования и декодирования изображений согласно одному варианту осуществления может включать в себя устройство кодирования изображений и устройство декодирования изображений, каждое из которых соответствует одному из вариантов осуществления. Помимо этого один процесс, выполняемый посредством конкретного процессора, может быть выполнен посредством другого процессора. Помимо этого порядок выполнения процессов может быть изменен, либо некоторые процессы могут быть выполнены параллельно друг другу.
[0238] Вариант 5 осуществления
Обработка, описанная в каждом из вариантов осуществления, может быть реализована просто в независимой компьютерной системе, посредством записи, на носителе записи, программы для реализации конфигураций способа кодирования движущихся изображений (способа кодирования изображений) и способа декодирования движущихся изображений (способа декодирования изображений), описанных в каждом из вариантов осуществления. Носители записи могут быть любыми носителями записи при условии, что программа может записываться, такими как магнитный диск, оптический диск, магнитооптический диск, IC-карта и полупроводниковое запоминающее устройство.
[0239] В дальнейшем в этом документе описываются варианты применения к способу кодирования движущихся изображений (способу кодирования изображений) и способу декодирования движущихся изображений (способу декодирования изображений), описанных в каждом из вариантов осуществления, и к системам с их использованием. Система имеет признак наличия устройства кодирования и декодирования изображений, которое включает в себя устройство кодирования изображений с использованием способа кодирования изображений и устройство декодирования изображений с использованием способа декодирования изображений. Другие конфигурации в системе могут быть изменены надлежащим образом в зависимости от случаев применения.
[0240] Фиг. 16 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи разделяется на соты требуемого размера, и базовые станции ex106, ex107, ex108, ex109 и ex110, которые являются стационарными беспроводными станциями, размещаются в каждой из сот.
[0241] Система ex100 предоставления контента подключается к таким устройствам, как компьютер ex111, персональное цифровое устройство (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 Интернет-услуг, телефонную сеть ex104, а также базовые станции ex106-ex110, соответственно.
[0242] Тем не менее, конфигурация системы ex100 предоставления контента не ограничена конфигурацией, показанной на фиг. 16, и комбинация, в которой подключаются любые из элементов, является допустимой. Помимо этого каждое устройство может подключаться к телефонной сети ex104 непосредственно, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть подключены друг к другу через беспроводную связь ближнего действия и т.п.
[0243] Камера ex113, такая как цифровая видеокамера, допускает захват видео. Камера ex116, такая как цифровая камера, допускает захват как неподвижных изображений, так и видео. Кроме того, сотовый телефон ex114 может быть телефоном, который удовлетворяет любому из таких стандартов, как глобальная система мобильной связи (GSM) (зарегистрированная торговая марка), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), стандарт долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно, сотовый телефон ex114 может соответствовать стандарту системы персональных мобильных телефонов (PHS).
[0244] В системе ex100 предоставления контента сервер ex103 потоковой передачи подключается к камере ex113 и т.п. через телефонную сеть ex104 и базовую станцию ex109, которая предоставляет распространение изображений трансляции в прямом эфире и т.п. При таком распределении, контент (например, видео музыкального концерта в прямом эфире), захватываемый пользователем с использованием камеры ex113, кодируется так, как описано выше в каждом из вариантов осуществления (т.е. камера выступает в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет потоковое распространение передаваемых данных контента в клиенты при запросах. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые допускают декодирование вышеуказанных кодированных данных. Каждое из устройств, которое принимает распределенные данные, декодирует и воспроизводит кодированные данные (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0245] Захватываемые данные могут кодироваться посредством камеры ex113 или сервера ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть совместно использованы камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространенные данные могут быть декодированы посредством клиентов или сервера ex103 потоковой передачи, или процессы декодирования могут быть совместно использованы клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захватываемых не только посредством камеры ex113, но также и камеры ex116, могут быть переданы на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут выполняться посредством камеры ex116, компьютера ex111 или сервера ex103 потоковой передачи или совместно использоваться ими.
[0246] Кроме того, процессы кодирования и декодирования могут выполняться посредством LSI ex500, в общем, включенной в каждый из компьютера ex111 и устройств. LSI ex500 может быть сконфигурирована из одного кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования видео может быть интегрировано в определенный тип носителя записи (такой как CD-ROM, гибкий диск и жесткий диск), который является читаемым посредством компьютера ex111 и т.п., и процессы кодирования и декодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 содержит камеру, могут передаваться видеоданные, полученные посредством камеры. Видеоданные - это данные, кодированные посредством LSI ex500, включенной в сотовый телефон ex114.
[0247] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0248] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 предоставления контента, так что пользователь, который не имеет конкретных прав и оборудования, может реализовывать персональную широковещательную передачу.
[0249] Помимо примера системы ex100 предоставления контента, по меньшей мере, одно из устройства кодирования движущихся изображений (устройства кодирования изображений) и устройства декодирования движущихся изображений (устройства декодирования изображений), описанных в каждом из вариантов осуществления, может быть реализовано в цифровой широковещательной системе ex200, проиллюстрированной на фиг. 17. Более конкретно, широковещательная станция ex201 сообщает или передает по радиоволнам в широковещательный спутник ex202 мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т.п. в видеоданные. Видеоданные являются данными, кодированными посредством способа кодирования движущихся изображений, описанного в каждом из вариантов осуществления (т.е. данными, кодированными посредством устройства кодирования изображений согласно аспекту настоящего изобретения). При приеме мультиплексированных видеоданных широковещательный спутник ex202 передает радиоволны для широковещательной передачи. Затем антенна ex204 для домашнего применения с функцией приема спутниковой широковещательной передачи принимает радиоволны. Далее такое устройство, как телевизионный приемник (приемное устройство) ex300 и абонентская приставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0250] Кроме того, модуль ex218 считывания/записи (i) считывает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи, и в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала, в кодированные данные. Модуль ex218 считывания/записи может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, как показано в каждом из вариантов осуществления. В этом случае воспроизведенные видеосигналы отображаются на мониторе ex219 и могут быть воспроизведены посредством другого устройства или системы с использованием носителя ex215 записи, на котором записываются мультиплексированные данные. Также можно реализовывать устройство декодирования движущихся изображений в абонентской приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутниковой и/или наземной широковещательной передачи с тем, чтобы отображать видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования движущихся изображений может быть реализовано не в абонентской приставке, а в телевизионном приемнике ex300.
[0251] Фиг. 18 иллюстрирует телевизионный приемник (приемное устройство) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Телевизионный приемник ex300 включает в себя тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные, через антенну ex204 или кабель ex203 и т.д., который принимает широковещательную передачу; модуль ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны подаваться наружу; и модуль ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные посредством процессора ex306 сигналов, в данные.
[0252] Телевизионный приемник ex300 дополнительно включает в себя: процессор ex306 сигналов, включающий в себя процессор ex304 аудиосигналов и процессор ex305 видеосигналов, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно (которые выступают в качестве устройства кодирования изображений и устройства декодирования изображений согласно аспектам настоящего изобретения); и модуль ex309 вывода, включающий в себя динамик ex307, который предоставляет декодированный аудиосигнал, и модуль ex308 отображения, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизионный приемник ex300 включает в себя интерфейсный модуль ex317, включающий в себя модуль ex312 функционального ввода, который принимает ввод пользовательской операции. Кроме того, телевизионный приемник ex300 включает в себя модуль ex310 управления, который осуществляет общее управление каждым составляющим элементом телевизионного приемника ex300, и модуль ex311 схемы электропитания, который предоставляет питание в каждый из элементов. Кроме модуля ex312 функционального ввода, интерфейсный модуль ex317 может включать в себя: мост ex313, который подключается к внешнему устройству, такому как модуль ex218 считывания/записи; модуль ex314 гнезда для предоставления возможности присоединения носителя ex216 записи, такого как SD-карта; драйвер ex315, чтобы подключаться к внешнему носителю записи, такому как жесткий диск; и модем ex316, чтобы подключаться к телефонной сети. Здесь носитель ex216 записи может электрически записывать информацию с использованием элемента энергонезависимого/энергозависимого полупроводникового запоминающего устройства для хранения. Составляющие элементы телевизионного приемника ex300 подключены друг к другу через синхронную шину.
[0253] Во-первых, описывается конфигурация, в которой телевизионный приемник ex300 декодирует мультиплексированные данные, полученные снаружи через антенну ex204 и т.п., и воспроизводит декодированные данные. В телевизионном приемнике ex300, при пользовательской операции через удаленный контроллер ex220 и т.п., модуль ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные посредством модуля ex302 модуляции/демодуляции, под управлением модуля ex310 управления, включающего в себя CPU. Кроме того, процессор ex304 аудиосигналов декодирует демультиплексированные аудиоданные, и процессор ex305 видеосигналов декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизионном приемнике ex300. Модуль ex309 вывода предоставляет декодированный видеосигнал и аудиосигнал наружу, соответственно. Когда модуль ex309 вывода предоставляет видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex318 и ex319 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Кроме того, телевизионный приемник ex300 может считывать мультиплексированные данные не через широковещательную передачу и т.п., а из носителей ex215 и ex216 записи, таких как магнитный диск, оптический диск и SD-карта. Затем описывается конфигурация, в которой телевизионный приемник ex300 кодирует аудиосигнал и видеосигнал и передает данные наружу или записывает данные на носитель записи. В телевизионном приемнике ex300, при пользовательской операции через удаленный контроллер ex220 и т.п., процессор ex304 аудиосигналов кодирует аудиосигнал, и процессор ex305 видеосигналов кодирует видеосигнал под управлением модуля ex310 управления с использованием способа кодирования, как описано в каждом из вариантов осуществления. Модуль ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет результирующий сигнал наружу. Когда модуль ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex320 и ex321 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Здесь буферов ex318, ex319, ex320 и ex321 может быть множество, как проиллюстрировано, или, по меньшей мере, один буфер может быть совместно использован в телевизионном приемнике ex300. Кроме того, данные могут быть сохранены в буфере, так что может не допускаться переполнение и опустошение в системе, например, между модулем ex302 модуляции/демодуляции и модулем ex303 мультиплексирования/демультиплексирования.
[0254] Кроме того, телевизионный приемник ex300 может включать в себя конфигурацию для приема AV-ввода из микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизионный приемник ex300 может кодировать, мультиплексировать и предоставлять наружу данные в описании, он может допускать только прием, декодирование и предоставление наружу данных, а не кодирование, мультиплексирование и предоставление наружу данных.
[0255] Кроме того, когда модуль ex218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизионного приемника ex300 и модуля ex218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизионный приемник ex300 и модуль ex218 считывания/записи могут совместно использовать декодирование или кодирование.
[0256] В качестве примера, фиг. 19 иллюстрирует конфигурацию модуля ex400 воспроизведения/записи информации, когда данные считываются или записываются с или на оптический диск. Модуль ex400 воспроизведения/записи информации включает в себя составляющие элементы ex401, ex402, ex403, ex404, ex405, ex406 и ex407, которые описаны ниже. Оптическая головка ex401 испускает лазерное пятно на поверхности для записи носителя ex215 записи, который является оптическим диском, чтобы записывать информацию, и обнаруживает отраженный свет от поверхности для записи носителя ex215 записи, чтобы считывать информацию. Модуль ex402 модуляционной записи электрически возбуждает полупроводниковый лазер, включенный в оптическую головку ex401, и модулирует лазерное излучение согласно записанным данным. Модуль ex403 воспроизводящей демодуляции усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности для записи, с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения посредством разделения компонента сигнала, записанного на носитель ex215 записи, чтобы воспроизводить необходимую информацию. Буфер ex404 временно хранит информацию, которая должна записываться на носитель ex215 записи, и информацию, воспроизведенную из носителя ex215 записи. Дисковый электромотор ex405 вращает носитель ex215 записи. Модуль ex406 сервоуправления перемещает оптическую головку ex401 в заранее определенную информационную дорожку при одновременном управлении вращательным приводом дискового электромотора ex405, чтобы следовать лазерному пятну. Модуль ex407 управления системой осуществляет общее управление модулем ex400 воспроизведения/записи информации. Процессы считывания и записи могут реализовываться посредством модуля ex407 управления системой с использованием различной информации, хранимой в буфере ex404, и формирования и добавления новой информации по мере необходимости, и посредством модуля ex402 модуляционной записи, модуля ex403 демодуляции при воспроизведении и модуля ex406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ex401 при координированном управлении. Модуль ex407 управления системой включает в себя, например, микропроцессор и выполняет обработку посредством инструктирования компьютеру выполнять программу для считывания и записи.
[0257] Хотя в описании оптическая головка ex401 испускает лазерное пятно, она может выполнять запись с высокой плотностью с использованием света в поле в ближней зоне.
[0258] Фиг. 20 иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности для записи носителя ex215 записи, направляющие канавки формируются по спирали, и информационная дорожка ex230 записывает заранее информацию адреса, указывающую абсолютную позицию на диске, согласно изменению в форме направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для записи данных. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может приводить к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя зону ex233 записи данных, зону ex232 внутренней окружности и зону ex234 внешней окружности. Зона ex233 записи данных является зоной для использования при записи пользовательских данных. Зона ex232 внутренней окружности и зона ex234 внешней окружности, которые находятся внутри и снаружи зоны ex233 записи данных, соответственно, предназначены для конкретного применения, за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированное аудио, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированного аудио и кодированных видеоданных, из и в зону ex233 записи данных носителя ex215 записи.
[0259] Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается в качестве примера в описании, оптический диск не ограничен таким образом и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, к примеру, записи информации с использованием света цветов с различными длинами волн в одной части оптического диска и для записи информации, имеющей различные слои, с различных углов.
[0260] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные из спутника ex202 и т.п. и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в цифровой широковещательной системе ex200. Здесь конфигурация автомобильной навигационной системы ex211 является конфигурацией, например, включающей в себя приемный GPS-модуль, из конфигурации, проиллюстрированной на фиг. 18. То же применимо для конфигурации компьютера ex111, сотового телефона ex114 и т.п.
[0261] Фиг. 21A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; модуль ex365 камеры, допускающий захват движущихся и неподвижных изображений; и модуль ex358 отображения, к примеру, жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захватываемое посредством модуля ex365 камеры или принимаемое посредством антенны ex350. Сотовый телефон ex114 дополнительно включает в себя: модуль основного корпуса, включающий в себя модуль ex366 функциональных клавиш; модуль ex357 аудиовывода, к примеру, динамик для вывода аудио; модуль ex356 аудиоввода, к примеру, микрофон для ввода аудио; запоминающее устройство ex367 для сохранения захваченного видео или неподвижных изображений, записанного аудио, кодированных или декодированных данных принимаемого видео, неподвижных изображений, почтовых сообщений и т.п.; и модуль ex364 гнезда, который является интерфейсным модулем для носителя записи, который сохраняет данные таким же образом, как запоминающее устройство ex367.
[0262] Далее описывается пример конфигурации сотового телефона ex114 со ссылкой на фиг. 21B. В сотовом телефоне ex114 главный модуль ex360 управления, спроектированный с возможностью полностью управлять каждым модулем основного корпуса, включающим в себя модуль ex358 отображения, а также модуль ex366 функциональных клавиш, взаимно соединяется, через синхронную шину ex370, с модулем ex361 схемы электропитания, модулем ex362 управления функциональным вводом, процессором ex355 видеосигналов, модулем ex363 интерфейса камеры, модулем ex359 управления жидкокристаллическим дисплеем (ЖК-дисплеем), модулем ex352 модуляции/демодуляции, модулем ex353 мультиплексирования/демультиплексирования, процессором ex354 аудиосигналов, модулем ex364 гнезда и запоминающим устройством ex367.
[0263] Когда клавиша завершения вызова или клавиша включения питания включается посредством пользовательской операции, модуль ex361 схемы электропитания предоставляет в соответствующие модули питание из аккумуляторной батареи с тем, чтобы активировать сотовый телефон ex114.
[0264] В сотовом телефоне ex114 процессор ex354 аудиосигналов преобразует аудиосигналы, собираемые посредством модуля ex356 аудиоввода в режиме речевой связи, в цифровые аудиосигналы под управлением главного модуля ex360 управления, включающего в себя CPU, ROM и RAM. Затем модуль ex352 модуляции/демодуляции выполняет обработку с расширенным спектром для цифровых аудиосигналов, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для данных с тем, чтобы передавать результирующие данные через антенну ex350. Так же, в сотовом телефоне ex114, приемо-передающий модуль ex351 усиливает данные, принимаемые посредством антенны ex350 в режиме речевой связи, и выполняет преобразование частоты и аналого-цифровое преобразование для данных. Затем модуль ex352 модуляции/демодуляции выполняет обработку с обратным расширенным спектром для данных, и процессор ex354 аудиосигналов преобразует их в аналоговые аудиосигналы с тем, чтобы выводить их через модуль ex357 аудиовывода.
[0265] Кроме того, когда передается электронная почта в режиме передачи данных, текстовые данные электронной почты, введенные посредством операций с модулем ex366 функциональных клавиш и т.п. основного корпуса, отправляются в главный модуль ex360 управления через модуль ex362 управления функциональным вводом. Главный модуль ex360 управления инструктирует модулю ex352 модуляции/демодуляции выполнять обработку с расширенным спектром для текстовых данных, и приемо-передающий модуль ex351 выполняет цифроаналоговое преобразование и преобразование частоты для результирующих данных, чтобы передавать данные в базовую станцию ex110 через антенну ex350. Когда принимается почтовое сообщение, обработка, которая является приблизительно обратной относительно обработки для передачи почтового сообщения, выполняется для принимаемых данных, и результирующие данные предоставляются в модуль ex358 отображения.
[0266] Когда передается видео, неподвижные изображения либо видео и аудио в режиме передачи данных, процессор ex355 видеосигналов сжимает и кодирует видеосигналы, предоставляемые из модуля ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в каждом из вариантов осуществления (т.е. выступает в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и передает кодированные видеоданные в модуль ex353 мультиплексирования/демультиплексирования. Напротив, в течение времени, когда модуль ex365 камеры захватывает видео, неподвижные изображения и т.п., процессор ex354 аудиосигналов кодирует аудиосигналы, собранные посредством модуля ex356 аудиоввода, и передает кодированные аудиоданные в модуль ex353 мультиплексирования/демультиплексирования.
[0267] Модуль ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, подаваемые из процессора ex355 видеосигналов, и кодированные аудиоданные, подаваемые из процессора ex354 аудиосигналов, с использованием предварительно определенного способа. Затем модуль ex352 модуляции/демодуляции (модуль схемы модуляции/демодуляции) выполняет обработку с расширенным спектром для мультиплексированных данных, и приемо-передающий модуль ex351 выполняет цифроаналоговое преобразование и преобразование частоты для данных с тем, чтобы передавать результирующие данные через антенну ex350.
[0268] При приеме данных видеофайла, который связывается с веб-страницей и т.п., в режиме передачи данных или при приеме почтового сообщения с присоединенным видео и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, модуль ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток битов видеоданных и поток битов аудиоданных и предоставляет в процессор ex355 видеосигналов кодированные видеоданные, а в процессор ex354 аудиосигналов кодированные аудиоданные через синхронную шину ex370. Процессор ex355 видеосигналов декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, показанному в каждом из вариантов осуществления (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения), и затем модуль ex358 отображения отображает, например, видеоизображения и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через модуль ex359 управления ЖК-дисплеем. Кроме того, процессор ex354 аудиосигналов декодирует аудиосигнал, и модуль ex357 аудиовывода предоставляет аудио.
[0269] Кроме того, аналогично телевизионному приемнику ex300, терминал, такой как сотовый телефон ex114, вероятно, имеет 3 типа реализованных конфигураций, включающих в себя не только (i) приемо-передающий терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании цифровая широковещательная система ex200 принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в описании, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, связанных с видео, в видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными.
[0270] По сути, способ кодирования движущихся изображений и способ декодирования движущихся изображений в каждом из вариантов осуществления могут использоваться в любых из описанных устройств и систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
[0271] Кроме того, настоящее изобретение не ограничено вышеописанными вариантами осуществления, и различные модификации и исправления могут выполняться в любом из вариантов осуществления без отступления от объема настоящего изобретения.
[0272] Вариант 6 осуществления
Видеоданные могут быть сформированы посредством переключения, по мере необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с другим стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
[0273] Здесь, когда множество видеоданных, которые соответствуют различным стандартам, формируется и затем декодируется, способы декодирования должны быть выбраны таким образом, что они соответствуют различным стандартам. Тем не менее, поскольку не может быть обнаружено то, какому стандарту соответствуют каждые из множества из видеоданных, которые должны быть декодированы, имеется проблема в том, что не может быть выбран надлежащий способ декодирования.
[0274] Чтобы разрешать проблему, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т.п. в видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую то, какому стандарту соответствуют видеоданные. Далее описывается конкретная структура мультиплексированных данных, включающих в себя видеоданные, сформированные в способе кодирования движущихся изображений и посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате транспортных потоков MPEG-2.
[0275] Фиг. 22 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на фиг. 22, мультиплексированные данные могут быть получены посредством мультиплексирования, по меньшей мере, одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма, аудиопоток (IG) представляет часть первичного аудио и часть вторичного аудио, которая должна смешиваться с частью первичного аудио, а поток презентационной графики представляет субтитры фильма. Здесь первичное видео является обычным видео, которое должно отображаться на экране, а вторичное видео является видео, которое должно отображаться в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сформирован посредством размещения GUI-компонентов на экране. Видеопоток кодируется в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления, либо в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений в соответствии с традиционным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии с таким стандартом, как AC-3 Dolby, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
[0276] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, который должен быть использован для видео фильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, которые должны быть использованы для вторичного видео фильма, и 0x1A00-0x1A1F выделяются аудиопотокам, которые должны быть использованы для вторичного аудио, которое должно смешиваться с первичным аудио.
[0277] Фиг. 23 схематично иллюстрирует то, как мультиплексируются данные. Во-первых, видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток PES-пакетов ex236 и поток PES-пакетов ex239 и дополнительно в TS-пакеты ex237 и TS-пакеты ex240, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток PES-пакетов ex242 и поток PES-пакетов ex245 и дополнительно в TS-пакеты ex243 и TS-пакеты ex246, соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получать мультиплексированные данные ex247.
[0278] Фиг. 24 иллюстрирует то, как видеопоток сохраняется в потоке PES-пакетов. Первая панель на фиг. 24 показывает поток видеокадров в видеопотоке. Вторая панель показывает поток PES-пакетов. Как указано посредством стрелок, обозначенных как yy1, yy2, yy3 и yy4 на фиг. 24, видеопоток разделяется на изображения, такие как I-изображения, B-изображения и P-изображения, каждое из которых является единицей видеопредставления, и изображения сохраняются в рабочих данных каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок сохраняет временную метку представления (PTS), указывающую время отображения изображения, и временную метку декодирования (DTS), указывающую время декодирования изображения.
[0279] Фиг. 25 иллюстрирует формат TS-пакетов, которые должны быть в итоге записаны в мультиплексированные данные. Каждый из TS-пакетов является 188-байтовым пакетом фиксированной длины, включающим в себя 4-байтовый TS-заголовок, имеющий такую информацию, как PID для идентификации потока, и 184-байтовые рабочие TS-данные для сохранения данных. PES-пакеты разделяются и сохраняются в рабочих данных TS, соответственно. Когда используется BD-ROM, каждому из TS-пакетов присваивается 4-байтовый TP_Extra_Header, тем самым приводя к 192-байтовым исходным пакетам. Исходные пакеты записываются в мультиплексированные данные. TP_Extra_Header хранит такую информацию, как Arrival_Time_Stamp (ATS). ATS показывает время начала передачи, в которое каждый из TS-пакетов должен быть передан в PID-фильтр. Исходные пакеты размещаются в мультиплексированных данных, как показано в нижней части фиг.25. Номера, увеличивающиеся с заголовка мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0280] Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и т.п., но также и таблицу ассоциаций программ (PAT), таблицу структуры программ (PMT) и временную отметку программ (PCR). PAT показывает то, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самого PAT регистрируется как нуль. PMT сохраняет PID потоков видео, аудио, субтитров и т.п., включенных в мультиплексированные данные, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, связанные с мультиплексированными данными. Дескрипторы имеют такую информацию, как информация управления копированием, показывающая то, разрешено или нет копирование мультиплексированных данных. PCR сохраняет информацию STC-времени, соответствующую ATS, показывающей, когда PCR-пакет передается в декодер, чтобы достигать синхронизации между таймером поступления (ATC), т.е. временной осью ATS и системным таймером (STC), т.е. временной осью PTS и DTS.
[0281] Фиг. 26 подробно поясняет структуру данных PMT. PMT-заголовок располагается в верхней части PMT. PMT-заголовок описывает длину данных, включенных в PMT и т.п. Множество дескрипторов, связанных с мультиплексированными данными, располагается после PMT-заголовка. Информация, такая как информация управления копированием, описывается в дескрипторах. После дескрипторов располагается множество фрагментов информации потока, связанных с потоками, включенными в мультиплексированные данные. Каждый фрагмент информации потока включает в себя дескрипторы потоков, каждый из которых описывает такую информацию, как тип потока для идентификации кодека сжатия потока, PID потока и информация атрибутов потока (такая как частота кадров или соотношение сторон). Дескрипторы потоков по числу равны числу потоков в мультиплексированных данных.
[0282] Когда мультиплексированные данные записываются на носителе записи и т.д., они записываются вместе с файлами информации мультиплексированных данных.
[0283] Каждый из файлов информации мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на фиг. 27. Файлы информации мультиплексированных данных находятся в соответствии "один-к-одному" с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту вхождений.
[0284] Как проиллюстрировано на фиг. 27, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время завершения воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой декодер системных целевых объектов, который должен быть описан ниже, передает мультиплексированные данные в PID-фильтр. Интервалы ATS, включенных в мультиплексированные данные, задаются не больше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в заголовке мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS задается равным времени завершения воспроизведения.
[0285] Как показано на фиг. 28, фрагмент информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет различную информацию в зависимости от того, является соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия видеопотока, а также разрешение, соотношение сторон и частоту кадров фрагментов данных изображений, которые включаются в видеопоток. Каждый фрагмент информации атрибутов аудиопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов включается в аудиопоток, какой язык поддерживает аудиопоток, и насколько высокой является частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до того, как проигрыватель воспроизводит информацию.
[0286] В настоящем варианте осуществления мультиплексированные данные, которые должны быть использованы, имеют тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для выделения уникальных видеоданных, указывающих информацию, сформированную посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, для типа потока, включенного в PMT, или информации атрибутов видеопотока. При этой конфигурации, видеоданные, сформированные посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, могут отличаться от видеоданных, которые соответствуют другому стандарту.
[0287] Кроме того, фиг. 29 иллюстрирует этапы способа декодирования движущихся изображений согласно настоящему варианту осуществления. На этапе exS100, тип потока, включенный в PMT или информацию атрибутов видеопотока, включенную в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем на этапе exS101 определяется то, указывает или нет тип потока либо информация атрибутов видеопотока то, что мультиплексированные данные формируются посредством способа кодирования видео или устройства кодирования видео в каждом из вариантов осуществления. Когда определяется то, что тип потока или информация атрибутов видеопотока указывают то, что мультиплексированные данные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, на этапе exS102, декодирование выполняется посредством способа декодирования движущихся изображений в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает соответствие традиционным стандартам, таким как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS103, декодирование выполняется посредством способа декодирования движущихся изображений в соответствии с традиционными стандартами.
[0288] Также, выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает определение того, могут или нет выполнять декодирование способ декодирования движущихся изображений или устройство декодирования движущихся изображений, которые описываются в каждом из вариантов осуществления. Даже когда вводятся мультиплексированные данные, которые соответствуют различному стандарту, может быть выбран надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию без ошибок. Кроме того, способ или устройство кодирования движущихся изображений либо способ или устройство декодирования движущихся изображений в настоящем варианте осуществления могут быть использованы в устройствах и системах, описанных выше.
[0289] Вариант 7 осуществления
Каждый из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в каждом из вариантов осуществления типично осуществляется в форме интегральной схемы или большой интегральной (LSI) схемы. В качестве примера LSI, фиг. 30 иллюстрирует конфигурацию LSI ex500, которая состоит из одного кристалла. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже, и элементы соединяются друг с другом через шину ex510. Модуль ex505 схемы электропитания активируется посредством предоставления в каждый из элементов питания, когда модуль ex505 схемы электропитания включается.
[0290] Например, когда выполняется кодирование, LSI ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и т.п. через AV-ввод/вывод ex509 под управлением модуля ex501 управления, включающего в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504 и модуль ex512 управления частотой возбуждения. Принимаемый AV-сигнал временно сохраняется во внешнем запоминающем устройстве ex511, к примеру, SDRAM. Под управлением модуля ex501 управления, сохраненные данные сегментируются на части данных согласно объему и скорости обработки так, что они передаются в процессор ex507 сигналов. Затем процессор ex507 сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, процессор ex507 сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и потоковый ввод-вывод ex506 предоставляет мультиплексированные данные наружу. Предоставляемый поток битов передается в базовую станцию ex107 или записывается на носителе ex215 записи. Когда наборы данных мультиплексируются, данные должны временно сохраняться в буфере ex508 так, что наборы данных являются синхронизированными друг с другом.
[0291] Хотя запоминающее устройство ex511 является элементом за пределами LSI ex500, оно может быть включено в LSI ex500. Буфер ex508 не ограничен одним буфером, а может состоять из буферов. Кроме того, LSI ex500 может состоять из одного кристалла или множества кристаллов.
[0292] Кроме того, хотя модуль ex501 управления включает в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504, модуль ex512 управления частотой возбуждения, конфигурация модуля ex501 управления не ограничена этой. Например, процессор ex507 сигналов дополнительно может включать в себя CPU. Включение другого CPU в процессор ex507 сигналов может повышать скорость обработки. Кроме того, в качестве другого примера, CPU ex502 может выступать в качестве или быть частью процессора ex507 сигналов и, например, может включать в себя процессор аудиосигналов. В таком случае модуль ex501 управления включает в себя процессор ex507 сигналов или CPU ex502, включающий в себя часть процессора ex507 сигналов.
[0293] Используемым здесь названием является LSI, но она также может называться IC, системной LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.
[0294] Кроме того, способы достигать интеграции не ограничены LSI, и специальная схема или процессор общего назначения и т.д. также позволяет достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления LSI, или реконфигурируемый процессор, который дает возможность переконфигурирования подключения или конфигурации LSI, может использоваться для аналогичной цели.
[0295] В будущем, с развитием полупроводниковых технологий совершенно новая технология может заменять LSI. Функциональные блоки могут быть интегрированы с использованием этой технологии. Имеется возможность того, что настоящее изобретение применимо к биотехнологии.
[0296] Вариант 8 осуществления
Когда декодируются видеоданные, сформированные в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, по сравнению с тем, когда декодируются видеоданные, которые соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, возрастает. Таким образом, LSI ex500 должна задаваться на частоте возбуждения, превышающей частоту CPU ex502, которая должна быть использована, когда видеоданные декодируются в соответствии с традиционным стандартом. Тем не менее, когда частота возбуждения задается большей, имеется проблема в том, что возрастает энергопотребление.
[0297] Чтобы разрешать проблему, устройство декодирования движущихся изображений, такое как телевизионный приемник ex300 и LSI ex500, выполнено с возможностью определять то, какому стандарту соответствуют видеоданные, и переключаться между частотами возбуждения согласно определенному стандарту. Фиг. 31 иллюстрирует конфигурацию ex800 в настоящем варианте осуществления. Модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной высокой частоте возбуждения, когда видеоданные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем модуль ex803 переключения частоты возбуждения инструктирует процессору ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения видеоданных, сформированных посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем модуль ex803 переключения частоты возбуждения инструктирует процессору ex802 декодирования, который соответствует традиционному стандарту, декодировать видеоданные.
[0298] Более конкретно, модуль ex803 переключения частоты возбуждения включает в себя CPU ex502 и модуль ex512 управления частотой возбуждения на фиг. 30. Здесь каждый из процессора ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и процессора ex802 декодирования, который соответствует традиционному стандарту, соответствует процессору ex507 сигналов на фиг. 30. CPU ex502 определяет то, какому стандарту соответствуют видеоданные. Затем модуль ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала из CPU ex502. Кроме того, процессор ex507 сигналов декодирует видеоданные на основе сигнала из CPU ex502. Например, идентификационная информация, описанная в варианте 6 осуществления, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничена идентификационной информацией, описанной в варианте 6 осуществления, а может быть любой информацией при условии, что информация указывает то, какому стандарту соответствуют видеоданные. Например, когда то, какому стандарту соответствуют стандартные видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизионного приемника или диска и т.д., определение может выполняться на основе такого внешнего сигнала. Кроме того, CPU ex502 выбирает частоту возбуждения на основе, например, таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как показано на фиг. 33. Частота возбуждения может быть выбрана посредством сохранения таблицы поиска в буфере ex508 и внутреннем запоминающем устройстве LSI и при обращении к таблице поиска посредством CPU ex502.
[0299] Фиг. 32 иллюстрирует этапы для осуществления способа в настоящем варианте осуществления. Во-первых, на этапе exS200, процессор ex507 сигналов получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201, CPU ex502 определяет на основе идентификационной информации то, формируются или нет видеоданные посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления. Когда видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, на этапе exS202, CPU ex502 передает сигнал для задания частоты возбуждения равной большей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем модуль ex512 управления частотой возбуждения задает частоту возбуждения равной большей частоте возбуждения. С другой стороны, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203, CPU ex502 передает сигнал для задания частоты возбуждения равной меньшей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем модуль ex512 управления частотой возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения в случае, если видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления.
[0300] Кроме того, наряду с переключением частот возбуждения, энергосберегающий эффект может быть повышен посредством изменения напряжения, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500. Например, когда частота возбуждения задается меньшей, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается равным напряжению, меньшему напряжения в случае, если частота возбуждения задается большей.
[0301] Кроме того, когда объем обработки для декодирования больше, частота возбуждения может задаваться большей, а когда объем обработки для декодирования меньше, частота возбуждения может задаваться меньшей в качестве способа для задания частоты возбуждения. Таким образом, способ задания не ограничен способами, описанными выше. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC превышает объем обработки для декодирования видеоданных, сформированных посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, частота возбуждения, вероятно, задается в обратном порядке относительно задания, описанного выше.
[0302] Кроме того, способ для задания частоты возбуждения не ограничен способом для задания частоты возбуждения меньшей. Например, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается большим. Когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается меньшим. В качестве другого примера, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, возбуждение CPU ex502, вероятно, не должно приостанавливаться. Когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, возбуждение CPU ex502, вероятно, приостанавливается в данное время, поскольку CPU ex502 имеет дополнительную производительность обработки. Даже когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, в случае если CPU ex502 имеет дополнительную производительность обработки, возбуждение CPU ex502, вероятно, приостанавливается в данное время. В таком случае, время приостановки, вероятно, задается меньшим времени приостановки в случае, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1.
[0303] Соответственно, энергосберегающий эффект может быть повышен посредством переключения между частотами возбуждения согласно стандарту, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, включающее в себя LSI ex500, возбуждается с использованием аккумулятора, время работы от аккумулятора может быть продлено за счет энергосберегающего эффекта.
[0304] Вариант 9 осуществления
Возникают случаи, когда множество видеоданных, которые соответствуют различным стандартам, предоставляются в устройства и системы, такие как телевизионный приемник и сотовый телефон. Чтобы обеспечивать декодирование множества видеоданных, которые соответствуют различным стандартам, процессор ex507 сигналов LSI ex500 должен соответствовать различным стандартам. Тем не менее, проблемы увеличения масштаба схемы LSI ex500 и роста затрат возникают при отдельном использовании процессоров ex507 сигналов, которые соответствуют соответствующим стандартам.
[0305] Чтобы разрешать проблему, задумана конфигурация, в которой частично совместно используются процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, и процессор декодирования, который соответствует традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1. Ex900 на фиг. 34A показывает пример конфигурации. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся изображений, который соответствует MPEG-4 AVC, имеют, частично совместно, сведения по обработке, такой как энтропийное кодирование, обратное квантование, фильтрация для удаления блочности и прогнозирование с компенсацией движения. Сведения по обработке, которая должна совместно использоваться, вероятно, включают в себя использование процессора ex902 декодирования, который соответствует MPEG-4 AVC. Напротив, выделенный процессор ex901 декодирования, вероятно, используется для другой обработки, уникальной для аспекта настоящего изобретения. Поскольку аспект настоящего изобретения отличается посредством взаимного прогнозирования, в частности, например, выделенный процессор ex901 декодирования используется для взаимного прогнозирования. В противном случае, процессор декодирования, вероятно, совместно используется для одного из энтропийного декодирования, фильтрации для удаления блочности и обратного квантования либо для всей обработки. Процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, может быть совместно использован для обработки, которая должна совместно использоваться, и выделенный процессор декодирования может использоваться для обработки, уникальной для MPEG-4 AVC.
[0306] Кроме того, ex1000 на фиг. 34B показывает другой пример, в котором обработка частично используется совместно. Этот пример использует конфигурацию, включающую в себя выделенный процессор ex1001 декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, выделенный процессор ex1002 декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и процессор ex1003 декодирования, который поддерживает обработку, которая должна совместно использоваться способом декодирования движущихся изображений согласно аспекту настоящего изобретения и традиционным способом декодирования движущихся изображений. Здесь выделенные процессоры ex1001 и ex1002 декодирования не обязательно являются специализированными для обработки согласно аспекту настоящего изобретения и обработки по традиционному стандарту, соответственно, и могут быть процессорами, допускающими реализацию общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством LSI ex500.
[0307] Также, уменьшение масштаба схемы LSI и сокращение затрат возможно за счет совместного использования процессора декодирования для обработки, которая должна совместно использоваться способом декодирования движущихся изображений согласно аспекту настоящего изобретения и способом декодирования движущихся изображений в соответствии с традиционным стандартом.
Промышленная применимость
[0308] Настоящее изобретение является применимым к телевизионным приемникам, цифровым видеодекодерам, автомобильным навигационным системам, мобильным телефонам, цифровым камерам, цифровым видеокамерам и т.п.
Список номеров ссылок
[0309] 500, 1200 - устройство кодирования изображений
501 - модуль вычитания
502 - модуль преобразования
503 - модуль квантования
504 - энтропийный кодер
505, 602 - модуль обратного квантования
506, 603 - модуль обратного преобразования
507, 604 - модуль суммирования
508, 605 - запоминающее устройство блоков
509, 606 - запоминающее устройство изображений
510, 607 - модуль внутреннего прогнозирования
511, 608 - модуль взаимного прогнозирования
512, 609, 1203, 1303 - модуль выбора
600, 1300 - устройство декодирования изображений
601 - энтропийный декодер
1201, 1301 - модуль извлечения
1202, 1302 - модуль добавления
1204 - кодер
1304 - декодер
Изобретение относится к области кодирования изображений. Технический результат - повышение точности прогнозирования и эффективности кодирования. Способ кодирования изображений содержит этап извлечения (S1201) для извлечения варианта прогнозного вектора движения из смежного вектора движения; этап добавления (S1202) для добавления варианта в список; этап выбора (S1203) для выбора прогнозного вектора движения из списка; и этап кодирования (S1204) для кодирования текущего блока и кодирования текущего вектора движения. На этапе извлечения (S1201), когда текущее опорное изображение и смежное опорное изображение определяются как долговременное опорное изображение, вариант извлекается посредством первого способа извлечения. Когда текущее опорное изображение и смежное опорное изображение определяются как кратковременное опорное изображение, вариант извлекается посредством второго способа извлечения. 6 н. и 14 з.п. ф-лы, 34 ил.
1. Способ кодирования изображений для кодирования каждого из блоков изображений, причем способ кодирования изображений содержит этапы, на которых:
извлекают вариант для прогнозирующей функции вектора движения, который должен быть использован при кодировании вектора движения для текущего блока, который должен быть кодирован, из первого вектора движения для соседнего блока, который включается в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком;
добавляют извлеченный вариант в список вариантов;
выбирают одну прогнозирующую функцию вектора движения из списка вариантов; и
кодируют текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока и кодируют вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения,
при этом этап извлечения включает в себя:
определение того, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и определение того, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и
извлечение варианта из первого вектора движения без масштабирования на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, и
извлечение варианта из первого вектора движения с масштабированием на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
2. Способ кодирования изображений по п. 1, в котором при извлечении:
извлечение варианта из вектора движения для соседнего блока не выполняется, когда одно из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определяется как долговременное опорное изображение, а другое определяется как кратковременное опорное изображение; и
извлечение варианта из первого вектора движения для соседнего блока выполняется, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определяется как долговременное опорное изображение, или когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
3. Способ кодирования изображений по одному из пп. 1 и 2,
в котором при кодировании, первая информация и вторая информация дополнительно кодируются, причем первая информация указывает то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, а вторая информация указывает то, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
4. Способ кодирования изображений по одному из пп. 1 и 2, в котором этап извлечения включает в себя:
определение того, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением с использованием временного расстояния от опорного изображения для текущего блока до текущего изображения, и
определение того, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением с использованием временного расстояния от первого опорного изображения для соседнего блока до текущего изображения.
5. Способ кодирования изображений по одному из пп. 1 и 2,
в котором при извлечении определяют в период, в который кодируется соседний блок, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
6. Способ кодирования изображений по одному из пп. 1 и 2,
в котором при извлечении определяют в период, в который кодируется текущий блок, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
7. Способ кодирования изображений по одному из пп. 1 и 2, в котором этап извлечения включает в себя:
извлечение первого вектора движения для соседнего блока в качестве варианта, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение; и
извлечение масштабированного вектора движения в качестве варианта, причем масштабированный вектор движения получается посредством масштабирования первого вектора движения для соседнего блока с использованием соотношения временного расстояния от опорного изображения для текущего блока до текущего изображения относительно временного расстояния от первого опорного изображения для соседнего блока до текущего изображения, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
8. Способ кодирования изображений по одному из пп. 1 и 2,
в котором при извлечении, когда опорное изображение для текущего блока определено как кратковременное опорное изображение, а первое опорное изображение для соседнего блока определено как долговременное опорное изображение, извлечение варианта из первого вектора движения для соседнего блока не выполняется, выбирают другой соседний блок, кодированный в отношении кратковременного опорного изображения, и извлекают вариант из вектора движения для другого соседнего блока.
9. Способ декодирования изображений для декодирования каждого из блоков изображений, причем способ декодирования изображений содержит этапы, на которых:
извлекают вариант для прогнозирующей функции вектора движения, который должен быть использован при декодировании вектора движения для текущего блока, который должен быть декодирован, из первого вектора движения для соседнего блока, который включен в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком;
добавляют извлеченный вариант в список вариантов;
выбирают одну прогнозирующую функцию вектора движения из списка вариантов, и
декодируют вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения и декодируют текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока,
при этом этап извлечения включает в себя:
определение того, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и
извлекают вариант из первого вектора движения без масштабирования на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, и
извлекают вариант из первого вектора движения с масштабированием на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
10. Способ декодирования изображений по п. 9, в котором при извлечении:
извлечение варианта из первого вектора движения для соседнего блока не выполняется, когда одно из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, а другое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение; и
извлечение варианта из первого вектора движения для соседнего блока выполняется, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего определено как долговременное опорное изображение, или когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего определено как кратковременное опорное изображение.
11. Способ декодирования изображений по одному из пп. 9 и 10, в котором
при декодировании первая информация и вторая информация дополнительно декодируются, причем первая информация указывает то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, а вторая информация указывает то, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, и
при извлечении:
определяют на основе информации, указывающей то, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и
определяют на основе информации, указывающей то, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
12. Способ декодирования изображений по одному из пп. 9 и 10, в котором этап извлечения включает в себя:
определение того, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, с использованием временного расстояния от опорного изображения для текущего блока до текущего изображения, и
определение того, является ли опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением, с использованием временного расстояния от первого опорного изображения для соседнего блока до текущего изображения.
13. Способ декодирования изображений по одному из пп. 9 и 10,
в котором при извлечении определяют в период, в который декодируется соседний блок, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
14. Способ декодирования изображений по одному из пп. 9 и 10,
в котором при извлечении определяют в период, в который декодируется текущий блок, является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением.
15. Способ декодирования изображений по одному из пп. 9 и 10, в котором этап извлечения включает в себя:
извлечение первого вектора движения для соседнего блока в качестве варианта, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, и
извлечение масштабированного вектора движения в качестве варианта, причем масштабированный вектор движения получается посредством масштабирования первого вектора движения для соседнего блока с использованием соотношения временного расстояния от опорного изображения для текущего блока до текущего изображения относительно временного расстояния от первого опорного изображения для соседнего блока до текущего изображения, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
16. Способ декодирования изображений по одному из пп. 9 и 10,
в котором при извлечении, когда опорное изображение для текущего блока определяется как кратковременное опорное изображение, а первое опорное изображение для соседнего блока определяется как долговременное опорное изображение, извлечение варианта из первого вектора движения для соседнего блока не выполняется, выбирают другой соседний блок, декодированный в отношении кратковременного опорного изображения, и вариант извлекается из вектора движения для другого соседнего блока.
17. Устройство кодирования изображений, которое кодирует каждый из блоков изображений, причем устройство кодирования изображений содержит:
модуль извлечения, выполненный с возможностью извлекать вариант для прогнозирующей функции вектора движения, который должен быть использован при кодировании вектора движения для текущего блока, который должен быть кодирован, из первого вектора движения для соседнего блока, который включен в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком;
модуль добавления, выполненный с возможностью добавлять извлеченный вариант в список вариантов;
модуль выбора, выполненный с возможностью выбирать одну прогнозирующую функцию вектора движения из списка вариантов, и
кодер, выполненный с возможностью кодировать текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока и кодировать вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения,
при этом модуль извлечения выполнен с возможностью:
определять, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и
извлекать вариант из первого вектора движения без масштабирования на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, и
извлекать вариант из первого вектора движения с масштабированием на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
18. Устройство декодирования изображений, которое декодирует каждый из блоков изображений, причем устройство декодирования изображений содержит:
модуль извлечения, выполненный с возможностью извлекать вариант для прогнозирующей функции вектора движения, который должен быть использован при декодировании вектора движения для текущего блока, который должен быть декодирован, из первого вектора движения для соседнего блока, который включен в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком;
модуль добавления, выполненный с возможностью добавлять извлеченный вариант в список вариантов;
модуль выбора, выполненный с возможностью выбирать прогнозирующую функцию вектора движения из списка вариантов, и
декодер, выполненный с возможностью декодировать вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения и декодировать текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока,
при этом модуль извлечения выполнен с возможностью
определять, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и
извлекать вариант из первого вектора движения без масштабирования на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, и
извлекать вариант из первого вектора движения с масштабированием на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
19. Устройство кодирования и декодирования изображений, содержащее:
устройство кодирования изображений по п. 17 и
устройство декодирования изображений, которое декодирует каждый из блоков изображений и включает в себя:
модуль извлечения, выполненный с возможностью извлекать вариант для прогнозирующей функции вектора движения, который должен быть использован при декодировании вектора движения для текущего блока, который должен быть декодирован, из первого вектора движения для соседнего блока, который включен в текущее изображение, включающее в себя текущий блок, и является смежным с текущим блоком;
модуль добавления, выполненный с возможностью добавлять извлеченный вариант в список вариантов;
модуль выбора, выполненный с возможностью выбирать одну прогнозирующую функцию вектора движения из списка вариантов, и
декодер, выполненный с возможностью декодировать вектор движения для текущего блока с использованием выбранной прогнозирующей функции вектора движения и декодировать текущий блок с использованием вектора движения для текущего блока и опорного изображения для текущего блока,
при этом модуль извлечения выполнен с возможностью
определять, является ли опорное изображение для текущего блока долговременным опорным изображением или кратковременным опорным изображением, и является ли первое опорное изображение для соседнего блока долговременным опорным изображением или кратковременным опорным изображением; и
извлекать вариант из первого вектора движения без масштабирования на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как долговременное опорное изображение, и
извлекать вариант из первого вектора движения с масштабированием на основе временного расстояния, когда каждое из опорного изображения для текущего блока и первого опорного изображения для соседнего блока определено как кратковременное опорное изображение.
20. Способ обеспечения контента для передачи данных изображений от сервера, хранящего данные изображений, кодированные с использованием способа кодирования изображений по п. 1, на внешний терминал в ответ на запрос от внешнего терминала.
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Авторы
Даты
2016-12-10—Публикация
2012-10-18—Подача