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

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к способу кодирования изображений и способу декодирования изображений.
Уровень техники
[0002] В общем, при обработке кодирования движущегося изображения объем информации сокращается посредством сжатия, для которого используется избыточность движущегося изображения в пространственном направлении и временном направлении. В общем, преобразование в частотную область выполняется в качестве способа, в котором используется избыточность в пространственном направлении, и кодирование с использованием прогнозирования между изображениями (прогнозирование в дальнейшем называется "взаимным прогнозированием") выполняется в качестве способа сжатия, для которого используется избыточность во временном направлении. При взаимном прогнозирующем кодировании текущее изображение кодируется с использованием, в качестве опорного изображения, кодированного изображения, которое предшествует или идет после текущего изображения в порядке времени отображения. Затем вектор движения извлекается посредством выполнения оценки движения для текущего изображения в отношении опорного изображения. После этого избыточность во временном направлении удаляется с использованием вычисленной разности между данными изображений для текущего изображения и данными прогнозных изображений, которые получаются посредством компенсации движения на основе извлеченного вектора движения (см., например, NPL 1). Здесь при оценке движения вычисляются значения разностей между текущими блоками в текущем изображении и блоками в опорном изображении, и блок, имеющий наименьшее значение разности в опорном изображении, определяется в качестве опорного блока. Затем вектор движения оценивается из текущего блока и опорного блока.
Список библиографических ссылок
Непатентные документы
[0003] NPL 1. ITU-T Recommendation H.264. "Advanced video coding for generic audiovisual services", март 2010 года.
NPL 2. JCT-VC "WD3: Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603, март 2011 года.
Сущность изобретения
Техническая задача
[0004] Тем не менее требуется повышать эффективность кодирования при кодировании и декодировании изображений, при котором используется взаимное прогнозирование, по сравнению с вышеописанной традиционной технологией.
[0005] С учетом этого цель настоящего изобретения заключается в том, чтобы предоставлять способ кодирования изображений и способ декодирования изображений, с помощью которых повышается эффективность кодирования при кодировании и декодировании изображений с использованием взаимного прогнозирования.
Решение задачи
[0006] Способ декодирования изображений согласно аспекту настоящего изобретения представляет собой способ декодирования изображений для декодирования, на поблочной основе, данных изображений, включенных в кодированном потоке битов. Способ включает в себя: разделение текущего блока, который является единицей декодирования, на множество субблоков, каждый из которых является единицей прогнозирования; извлечение, для каждого из множества субблоков, одного или более возможных вариантов информации прогнозирования, каждый из которых является возможным вариантом для информации прогнозирования, указывающей список опорных изображений, вектор движения и индекс опорного изображения; получение, из кодированного потока битов, индекса для выбора возможного варианта информации прогнозирования из числа одного или более возможных вариантов информации прогнозирования; и декодирование текущего блока с использованием возможного варианта информации прогнозирования выбирается с использованием полученного индекса. Извлечение включает в себя: определение того, включается или нет соседний блок, граничащий с каждым из множества субблоков, в текущий блок, и когда определяется то, что соседний блок не включается в текущий блок, определение соседнего блока в качестве опорного блока с возможностью быть опорным для субблока, и когда определяется то, что соседний блок включается в текущий блок, определение соседнего блока в качестве неопорного блока; и извлечение возможного варианта информации прогнозирования субблока из информации прогнозирования опорного блока; и когда общее число возможных вариантов информации прогнозирования меньше предварительно определенного числа, формирование одного или более новых возможных вариантов без использования информации прогнозирования опорного блока до тех пор, пока общее число возможных вариантов информации прогнозирования не достигнет предварительно определенного числа.
Преимущества изобретения
[0007] Согласно аспекту настоящего изобретения, может повышаться эффективность кодирования при кодировании и декодировании изображений с использованием взаимного прогнозирования.
Краткое описание чертежей
[0008] Фиг. 1A является схемой для иллюстрации примерного списка опорных изображений для B-изображения.
Фиг. 1B является схемой для иллюстрации примерного списка опорных изображений для направления 0 прогнозирования для B-изображения.
Фиг. 1C является схемой для иллюстрации примерного списка опорных изображений для направления 1 прогнозирования для B-изображения.
Фиг. 2 является схемой для иллюстрации векторов движения для использования в режиме временного прогнозирования векторов движения.
Фиг. 3 показывает примерные векторы движения соседних блоков для использования в режиме объединения.
Фиг. 4 является схемой для иллюстрации примерного списка возможных вариантов блоков объединения.
Фиг. 5 показывает взаимосвязь между размером списка возможных вариантов блоков объединения и битовыми последовательностями, назначаемыми индексам возможных вариантов блоков объединения.
Фиг. 6 является блок-схемой последовательности операций способа, показывающей пример процесса для кодирования, когда используется режим объединения.
Фиг. 7 показывает примерную конфигурацию устройства кодирования изображений, которое кодирует изображения с использованием режима объединения.
Фиг. 8 является блок-схемой последовательности операций способа, показывающей пример процесса для декодирования с использованием режима объединения.
Фиг. 9 показывает примерную конфигурацию устройства декодирования изображений, которое декодирует кодированные изображения с использованием режима объединения.
Фиг. 10 показывает синтаксис для присоединения индексов возможных вариантов блоков объединения к потоку битов.
Фиг. 11 показывает взаимосвязь между единицей блока кодирования и единицами прогнозных блоков (сегментами).
Фиг. 12 является блок-схемой, показывающей конфигурацию устройства кодирования изображений согласно первому варианту осуществления.
Фиг. 13 является блок-схемой последовательности операций способа, показывающей операции обработки устройства кодирования изображений согласно первому варианту осуществления.
Фиг. 14A показывает примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.
Фиг. 14B показывает еще один примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.
Фиг. 14C показывает еще один примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.
Фиг. 14D показывает еще один примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.
Фиг. 15 является блок-схемой последовательности операций способа, иллюстрирующей процесс для вычисления возможных вариантов блоков объединения и размера списка возможных вариантов блоков объединения согласно первому варианту осуществления.
Фиг. 16 является блок-схемой последовательности операций способа, иллюстрирующей операцию для вычисления общего числа применимых для объединения возможных вариантов согласно первому варианту осуществления.
Фиг. 17 является блок-схемой последовательности операций способа, иллюстрирующей операцию для определения нецелевого блока объединения согласно первому варианту осуществления.
Фиг. 18 показывает взаимосвязь между единицей блока кодирования и единицами прогнозных блоков согласно первому варианту осуществления.
Фиг. 19 является блок-схемой последовательности операций способа, иллюстрирующей процесс для добавления нового возможного варианта согласно первому варианту осуществления.
Фиг. 20 является блок-схемой последовательности операций способа, иллюстрирующей процесс для выбора возможного варианта блока объединения согласно первому варианту осуществления.
Фиг. 21 является блок-схемой, показывающей конфигурацию устройства декодирования изображений согласно второму варианту осуществления.
Фиг. 22 является блок-схемой последовательности операций способа, показывающей операции обработки устройства декодирования изображений согласно второму варианту осуществления.
Фиг. 23 является блок-схемой последовательности операций способа, иллюстрирующей процесс для задания размера списка возможных вариантов блоков объединения согласно второму варианту осуществления.
Фиг. 24 является блок-схемой последовательности операций способа, иллюстрирующей процесс для вычисления возможного варианта блока объединения согласно второму варианту осуществления.
Фиг. 25 показывает примерный синтаксис для присоединения индексов возможных вариантов блоков объединения к потоку битов.
Фиг. 26 показывает примерный синтаксис в случае, если размер списка возможных вариантов блоков объединения является фиксированно равным максимальному значению общего числа возможных вариантов блоков объединения.
Фиг. 27 показывает общую конфигурацию системы предоставления контента для реализации услуг распространения контента.
Фиг. 28 показывает общую конфигурацию цифровой широковещательной системы.
Фиг. 29 показывает блок-схему, иллюстрирующую пример конфигурации телевизионного приемника.
Фиг. 30 показывает блок-схему, иллюстрирующую пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, который является оптическим диском.
Фиг. 31 показывает пример конфигурации носителя записи, который является оптическим диском.
Фиг. 32A показывает пример сотового телефона.
Фиг. 32B является блок-схемой, показывающей пример конфигурации сотового телефона.
Фиг. 33 иллюстрирует структуру мультиплексированных данных.
Фиг. 34 схематично показывает то, как каждый поток мультиплексируется в мультиплексированные данные.
Фиг. 35 показывает то, как видеопоток сохраняется в потоке PES-пакетов.
Фиг. 36 показывает структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 37 показывает структуру данных PMT.
Фиг. 38 показывает внутреннюю структуру информации мультиплексированных данных.
Фиг. 39 показывает внутреннюю структуру информации атрибутов потока.
Фиг. 40 показывает этапы для идентификации видеоданных.
Фиг. 41 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущихся изображений согласно каждому из вариантов осуществления.
Фиг. 42 показывает конфигурацию для переключения между частотами возбуждения.
Фиг. 43 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 44 показывает пример таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения.
Фиг. 45A является схемой, показывающей пример конфигурации для совместного использования модуля процессора сигналов.
Фиг. 45B является схемой, показывающей другой пример конфигурации для совместного использования модуля процессора сигналов.
Подробное описание вариантов осуществления
[0009] Базовая основа формирования знаний настоящего изобретения
В схеме кодирования движущихся изображений, стандартизированной к настоящему времени, которая упоминается как H.264, три типа изображений - I-изображение, P-изображение и B-изображение - используются для уменьшения объема информации посредством сжатия.
[0010] I-изображение не кодируется посредством взаимного прогнозирующего кодирования. В частности, I-изображение кодируется посредством прогнозирования в изображении (прогнозирование в дальнейшем называется "внутренним прогнозированием"). P-изображение кодируется посредством взаимного прогнозирующего кодирования в отношении одного кодированного изображения, идущего до или после текущего изображения в порядке времени отображения. B-изображение кодируется посредством взаимного прогнозирующего кодирования в отношении двух кодированных изображений, идущих до и после текущего изображения в порядке времени отображения.
[0011] При взаимном прогнозирующем кодировании формируется список опорных изображений для идентификации опорного изображения. В списке опорных изображений индексы опорных изображений назначаются кодированным опорным изображениям, которые должны использоваться в качестве опорных при взаимном прогнозировании. Например, два списка опорных изображений (L0, L1) формируются для B-изображения, поскольку оно может быть кодировано в отношении двух изображений.
[0012] Фиг. 1A является схемой для иллюстрации примерного списка опорных изображений для B-изображения. Фиг. 1B показывает примерный список 0 (L0) опорных изображений для направления 0 прогнозирования при двунаправленном прогнозировании. В списке 0 опорных изображений индекс 0 опорного изображения, имеющий значение 0, назначается опорному изображению 0 с порядковым номером 2 отображения. Индекс 0 опорного изображения, имеющий значение 1, назначается опорному изображению 1 с порядковым номером 1 отображения. Индекс 0 опорного изображения, имеющий значение 2, назначается опорному изображению 2 с порядковым номером 0 отображения. Другими словами, чем короче временное расстояние опорного изображения из текущего изображения, тем меньше индекс опорного изображения, назначаемый опорному изображению.
[0013] С другой стороны, фиг. 1C показывает примерный список 1 (L1) опорных изображений для направления 1 прогнозирования при двунаправленном прогнозировании. В списке 1 опорных изображений индекс 1 опорного изображения, имеющий значение 0, назначается опорному изображению 1 с порядковым номером 1 отображения. Индекс 1 опорного изображения, имеющий значение 1, назначается опорному изображению 0 с порядковым номером 2 отображения. Индекс 2 опорного изображения, имеющий значение 2, назначается опорному изображению 2 с порядковым номером 0 отображения.
[0014] Таким образом, можно назначать индексы опорных изображений, имеющие значения, отличающиеся между направлениями прогнозирования, опорному изображению (опорным изображениям 0 и 1 на фиг. 1A) или назначать индекс опорного изображения, имеющий идентичное значение для обоих направлений, опорному изображению (опорному изображению 2 на фиг. 1A).
[0015] В способе кодирования движущихся изображений, называемом H.264 (см. NPL 1), режим оценки векторов движения доступен в качестве режима кодирования для взаимного прогнозирования каждого текущего блока в B-изображении. В режиме оценки векторов движения кодируется значение разности между данными изображений текущего блока и данными прогнозных изображений, а также вектор движения, используемый для формирования данных прогнозных изображений. Помимо этого в режиме оценки векторов движения двунаправленное прогнозирование и однонаправленное прогнозирование могут быть избирательно выполнены. При двунаправленном прогнозировании прогнозное изображение формируется в отношении двух кодированных изображений, одно из которых предшествует текущему изображению, которое должно быть кодировано, а другое из которых идет после текущего изображения. При однонаправленном прогнозировании прогнозное изображение формируется в отношении одного кодированного изображения, идущего до или после текущего изображения, которое должно быть кодировано.
[0016] Кроме того, в способе кодирования движущихся изображений, называемом H.264, режим кодирования, называемый "режимом временного прогнозирования векторов движения", может быть выбран для извлечения вектора движения при кодировании B-изображения. Ниже описывается способ взаимного прогнозирующего кодирования, осуществляемый в режиме временного прогнозирования векторов движения, с использованием фиг. 2.
[0017] Фиг. 2 является схемой для описания векторов движения в режиме временного прогнозирования векторов движения. В частности, фиг. 2 показывает случай, когда блок a в изображении B2 кодируется в режиме временного прогнозирования векторов движения.
[0018] При кодировании используется вектор vb движения, который использован для кодирования блока b, расположенного в идентичной позиции в изображении P3, которое является опорным изображением после изображения B2, в качестве позиции блока a в изображении B2 (в этом случае блок b в дальнейшем называется "совместно размещенным блоком для блока a"). Вектор vb движения является вектором движения, используемым для кодирования блока b в отношении изображения P1.
[0019] Два опорных блока для блока a получаются из прямого опорного изображения и обратного опорного изображения, т. е. изображения P1 и изображения P3 с использованием векторов движения, параллельных вектору vb движения. Затем блок a кодируется посредством двунаправленного прогнозирования на основе двух полученных опорных блоков. В частности, при кодировании блока a вектор va1 движения используется для того, чтобы ссылаться на изображение P1, а вектор va2 движения используется для того, чтобы ссылаться на изображение P3.
[0020] Помимо этого режим объединения поясняется в качестве режима взаимного прогнозирования для кодирования каждого текущего блока в B-изображении или P-изображении (см. NPL 2). В режиме объединения текущий блок кодируется с использованием направления прогнозирования, вектора движения и индекса опорного изображения, которые являются копиями направления прогнозирования, вектора движения и индекса опорного изображения, используемыми для кодирования соседнего блока относительно текущего блока. В это время копии индекса и т. п. соседнего блока присоединяются к потоку битов таким образом, что направление движения, вектор движения и индекс опорного изображения, используемые для кодирования, могут быть выбраны при декодировании. Конкретный пример для этого приводится ниже со ссылкой на фиг. 3.
[0021] Фиг. 3 показывает примерные векторы движения соседних блоков для использования в режиме объединения. На фиг. 3 соседний блок A является кодированным блоком, расположенным непосредственно слева от текущего блока. Нижние края соседнего блока A и целевого блока прогнозирования располагаются вдоль идентичной линии. Соседний блок B является кодированным блоком, расположенным непосредственно выше текущего блока. Правые края соседнего блока B и целевого блока прогнозирования располагаются вдоль идентичной линии. Соседний блок C является кодированным блоком, расположенным непосредственно выше справа текущего блока. Соседний блок D является кодированным блоком, расположенным непосредственно ниже слева текущего блока. Соседний блок E является кодированным блоком, расположенным непосредственно выше слева целевого блока прогнозирования.
[0022] Здесь приводится описание случая, когда текущий блок кодируется с использованием копий направления прогнозирования, вектора движения и индекса опорного изображения, используемых для кодирования одного из соседних блоков A-D и совместно размещенного блока.
[0023] Соседний блок A является блоком, кодированным посредством однонаправленного прогнозирования в направлении 0 прогнозирования. Соседний блок A имеет вектор MvL0_A движения, имеющий направление 0 прогнозирования, в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0_A опорного изображения направления 0 прогнозирования. Здесь MvL0 указывает вектор движения, который ссылается на опорное изображение, указываемое в списке 0 (L0) опорных изображений. MvL1 указывает вектор движения, который ссылается на опорное изображение, указываемое в списке 1 (L1) опорных изображений.
[0024] Соседний блок B является блоком, кодированным посредством однонаправленного прогнозирования в направлении 1 прогнозирования. Соседний блок B имеет вектор MvL1_B движения, имеющий направление 1 прогнозирования, в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL1_B опорного изображения направления 1 прогнозирования.
[0025] Соседний блок C является блоком, кодированным посредством внутреннего прогнозирования.
[0026] Соседний блок D является блоком, кодированным посредством однонаправленного прогнозирования в направлении 0 прогнозирования. Соседний блок D имеет вектор MvL0_D движения, имеющий направление 0 прогнозирования, в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0_D опорного изображения направления 0 прогнозирования.
[0027] В этом случае, например, набор из направления прогнозирования, вектора движения и индекса опорного изображения, посредством использования которого текущий блок может быть кодирован с наибольшей эффективностью кодирования, выбирается в качестве направления прогнозирования, вектора движения и индекса опорного изображения текущего блока из направлений прогнозирования, векторов движения и индексов опорных изображений соседних блоков A-D, и направления прогнозирования, вектора движения и индекса опорного изображения, которые вычисляются с использованием совместно размещенного блока в режиме временного прогнозирования векторов движения. Затем индекс возможного варианта блока объединения, указывающий выбранный блок, имеющий направление прогнозирования, вектор движения и индекс опорного изображения, присоединяется к потоку битов.
[0028] Например, когда выбирается соседний блок A, текущий блок кодируется с использованием вектора MvL0_A движения, имеющего направление 0 прогнозирования и индекс RefL0_A опорного изображения. Затем только индекс возможного варианта блока объединения, имеющий значение 0, который указывает использование соседнего блока A, как показано на фиг. 4, присоединяется к потоку битов. За счет этого уменьшается объем информации для направления прогнозирования, вектора движения и индекса опорного изображения.
[0029] Кроме того, в режиме объединения возможный вариант, который не может использоваться для кодирования (в дальнейшем называемый "неприменимым для объединения возможным вариантом"), и возможный вариант, имеющий набор из направления прогнозирования, вектора движения и индекса опорного изображения, идентичный набору из направления прогнозирования, вектора движения и индекса опорного изображения любого другого блока объединения (в дальнейшем называемый "идентичным возможным вариантом), удаляются из возможных вариантов блоков объединения, как показано на фиг. 4.
[0030] Таким образом, общее число возможных вариантов блоков объединения уменьшается, так что объем кода, назначаемый индексам возможных вариантов блоков объединения, может быть уменьшен. Здесь, например, "неприменимый для объединения" означает, (1) что возможный вариант блока объединения кодирован посредством внутреннего прогнозирования, (2) что возможный вариант блока объединения находится за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, или (3) что возможный вариант блока объединения по-прежнему должен быть кодирован.
[0031] В примере, показанном на фиг. 4, соседний блок C является блоком, кодированным посредством внутреннего прогнозирования. Возможный вариант блока объединения, имеющий индекс 3 возможного варианта блока объединения, следовательно, является неприменимым для объединения возможным вариантом и удаляется из списка возможных вариантов блоков объединения. Соседний блок D является идентичным по направлению прогнозирования, вектору движения и индексу опорного изображения соседнему блоку A. Возможный вариант блока объединения, имеющий индекс 4 возможного варианта блока объединения, следовательно, удаляется из списка возможных вариантов блоков объединения. Как результат, общее число возможных вариантов блоков объединения в итоге составляет три, и размер списка возможных вариантов блоков объединения задается равным трем.
[0032] Индексы возможных вариантов блоков объединения кодируются посредством кодирования переменной длины посредством назначения битовых последовательностей согласно размеру каждого списка возможных вариантов блоков объединения, как показано на фиг. 5. Таким образом, в режиме объединения объем кода сокращается посредством изменения битовых последовательностей, назначаемых индексам режима объединения согласно размеру каждого списка возможных вариантов блоков объединения.
[0033] Фиг. 6 является блок-схемой последовательности операций способа, показывающей пример процесса для кодирования, когда используется режим объединения. На этапе S1001 векторы движения, индексы опорных изображений и направления прогнозирования возможных вариантов блоков объединения получаются из соседних блоков и совместно размещенного блока. На этапе S1002 идентичные возможные варианты и неприменимые для объединения возможные варианты удаляются из возможных вариантов блоков объединения. На этапе S1003 общее число возможных вариантов блоков объединения после удаления задается в качестве размера списка возможных вариантов блоков объединения. На этапе S1004 определяется индекс возможного варианта блока объединения, который должен использоваться для кодирования текущего блока. На этапе S1005 определенный индекс возможного варианта блока объединения кодируется посредством выполнения кодирования переменной длины в битовой последовательности согласно размеру списка возможных вариантов блоков объединения.
[0034] Фиг. 7 показывает примерную конфигурацию устройства 1000 кодирования изображений, которое кодирует изображения с использованием режима объединения. Устройство 1000 кодирования изображений включает в себя модуль 1001 вычитания, модуль 1002 ортогонального преобразования, модуль 1003 квантования, модуль 1004 обратного квантования, модуль 1005 обратного ортогонального преобразования, сумматор 1006, запоминающее устройство 1007 блоков, запоминающее устройство 1008 кадров, модуль 1009 внутреннего прогнозирования, модуль 1010 взаимного прогнозирования, модуль 1011 управления взаимным прогнозированием, модуль 1012 определения типов изображений, переключатель 1013, модуль 1014 вычисления возможных вариантов блоков объединения, запоминающее устройство 1015 colPic и модуль 1016 кодирования переменной длины.
[0035] На фиг. 7 модуль 1014 вычисления возможных вариантов блоков объединения вычисляет возможные варианты блоков объединения. Затем модуль 1014 вычисления возможных вариантов блоков объединения передает общее число вычисленных возможных вариантов блоков объединения в модуль 1016 кодирования переменной длины. Модуль 1016 кодирования переменной длины задает общее число возможных вариантов блоков объединения в качестве размера списка возможных вариантов блоков объединения, который является параметром кодирования. Затем модуль 1016 кодирования переменной длины выполняет кодирование переменной длины для битовой последовательности посредством назначения битовой последовательности согласно размеру списка возможных вариантов блоков объединения индексу возможного варианта блока объединения, который должен использоваться для кодирования.
[0036] Фиг. 8 является блок-схемой последовательности операций способа, показывающей пример процесса для декодирования с использованием режима объединения. На этапе S2001 векторы движения, индексы опорных изображений и направления прогнозирования возможных вариантов блоков объединения получаются из соседних блоков и совместно размещенного блока. На этапе S2002 идентичные возможные варианты и неприменимые для объединения возможные варианты удаляются из возможных вариантов блоков объединения. На этапе S2003 общее число возможных вариантов блоков объединения после удаления задается в качестве размера списка возможных вариантов блоков объединения. На этапе S2004 индекс возможного варианта блока объединения, который должен использоваться для декодирования текущего блока, декодируется из потока битов с использованием размера списка возможных вариантов блоков объединения. На этапе S2005 декодирование текущего блока выполняется посредством формирования прогнозного изображения с использованием возможного варианта блока объединения, указываемого посредством декодированного индекса возможного варианта блока объединения.
[0037] Фиг. 9 показывает примерную конфигурацию устройства 2000 декодирования изображений, которое декодирует кодированные изображения с использованием режима объединения. Устройство 2000 декодирования изображений включает в себя модуль 2001 декодирования переменной длины, модуль 2002 обратного квантования, модуль 2003 обратного ортогонального преобразования, сумматор 2004, запоминающее устройство 2005 блоков, запоминающее устройство 2006 кадров, модуль 2007 внутреннего прогнозирования, модуль 2008 взаимного прогнозирования, модуль 2009 управления взаимным прогнозированием, переключатель 2010, модуль 2011 вычисления возможных вариантов блоков объединения и запоминающее устройство 2012 colPic.
[0038] На фиг. 9 модуль 2011 вычисления возможных вариантов блоков объединения вычисляет возможные варианты блоков объединения. Затем модуль 2011 вычисления возможных вариантов блоков объединения передает вычисленное общее число возможных вариантов блоков объединения в модуль 2001 декодирования переменной длины. Модуль 2001 декодирования переменной длины задает общее число возможных вариантов блоков объединения в качестве размера списка возможных вариантов блоков объединения, который является параметром декодирования. Затем модуль 2001 декодирования переменной длины декодирует индекс возможного варианта блока объединения из потока битов с использованием размера списка возможных вариантов блоков объединения.
[0039] Фиг. 10 показывает синтаксис для присоединения индексов возможных вариантов блоков объединения к потоку битов. На фиг. 10 merge_idx представляет индекс возможного варианта блока объединения, и merge_flag представляет флаг объединения. NumMergeCand представляет размер списка возможных вариантов блоков объединения. NumMergeCand задается равным общему числу возможных вариантов блоков объединения после того, как неприменимые для объединения возможные варианты и идентичные возможные варианты удаляются из возможных вариантов блоков объединения.
[0040] Кодирование или декодирование изображения выполняется с использованием режима объединения вышеописанным способом.
[0041] В схеме кодирования движущихся изображений, поясненной в NPL 2, предполагается, что прогнозное изображение формируется на основе блока кодирования (в дальнейшем в этом документе называемого "единицей кодирования (CU)"), т. е. CU имеет размер, идентичный размеру единицы прогнозного блока (в дальнейшем в этом документе называемого "PU"), которая является единицей для формирования прогнозного изображения.
[0042] Тем не менее прогнозное изображение может быть сформировано в расчете на PU, при этом каждая PU получается посредством разделения CU. Формирование прогнозного изображения в расчете на PU дает возможность формирования прогнозного изображения более высокой четкости.
[0043] Фиг. 11 показывает примерные случаи, в которых CU, имеющая размер 2Nx2N (N целое число), разделяется на множество PU.
[0044] Более конкретно на фиг. 11 (a)-(c) показывают случаи, в которых CU разделяется на два, т. е. на верхнюю часть и нижнюю часть. PU0, расположенная на вершине, упоминается в качестве сегмента 0, и PU1, расположенная в нижней части, упоминается в качестве сегмента 1. На фиг. 11 (a) показывает случай, когда каждая PU имеет размер 2NxN. На фиг. 11, (b) показывает случай, когда каждая PU имеет размер 2NxnU. На фиг. 11 (c) показывает случай, когда каждая PU имеет размер 2NxnD.
[0045] На фиг. 11 (d)-(f) показывают случаи, в которых CU разделяется на два, т. е. на левую часть и правую часть. PU0, расположенная слева, упоминается в качестве сегмента 0, и PU1, расположенная справа, упоминается в качестве сегмента 1. На фиг. 11 (d) показывает случай, когда каждая PU имеет размер Nx2N. На фиг. 11 (e) показывает случай, когда каждая PU имеет размер nLx2N. На фиг. 11 (f) показывает случай, когда каждая PU имеет размер nRx2N.
[0046] На фиг. 11 (g) показывает случай, когда каждая PU имеет размер NxN, т. е. CU разделяется на четыре (разделяется на два, т. е. на верхнюю и нижнюю часть, и на два, т. е. на левую и правую часть). В (g) по фиг. 11 верхняя левая PU0 упоминается в качестве сегмента 0, правая верхняя PU1 упоминается в качестве сегмента 1, левая нижняя PU2 упоминается в качестве сегмента 2, и нижняя правая PU3 упоминается в качестве сегмента 3.
[0047] На фиг. 11 (h) показывает случай, когда PU имеет размер 2Nx2N, т. е. CU имеет размер, идентичный размеру PU. В (h) по фиг. 11 PU0 упоминается в качестве сегмента 0.
[0048] Например, при кодировании в расчете на PU, когда PU получается посредством разделения CU, как описано выше, выполняется такая настройка, что соответствующие сегменты имеют различные направления прогнозирования, векторы движения и индексы опорных изображений, которые используются для формирования прогнозного изображения. Это обусловлено тем, что использование идентичного направления прогнозирования, вектора движения и индекса опорного изображения для всех сегментов приводит к результату, практически идентичному результату, полученному посредством формирования прогнозного изображения в расчете на CU. Это снижает преимущество, полученное посредством разделения CU на PU. При кодировании в расчете на PU, когда прогнозное изображение вычисляется посредством формирования векторов движения и т. п., и получается остаток прогнозирования, можно эффективно кодировать движущиеся изображения, имеющие сложные формы, посредством избирательного использования векторов движения и т. п., используемых для формирования прогнозного изображения из множества PU, показанных в (a)-(h) на фиг. 11.
[0049] Тем не менее в традиционном режиме объединения, при формировании прогнозного изображения посредством разделения CU на сегменты, возможные варианты блоков объединения вычисляются даже для соседних блоков в идентичной CU. Как описано выше, непредпочтительно применять идентичный вектор движения и т. п. к PU в идентичной CU. Следовательно, возможные варианты блоков объединения, полученные из векторов движения и т. п. соседних блоков в идентичной CU, являются избыточными. Таким образом, в традиционном режиме объединения возможные варианты блоков объединения получаются даже для соседних блоков в идентичной CU. Следовательно, индексы возможных вариантов блоков объединения также назначаются избыточным возможным вариантам блоков объединения, так что повышается число битов.
[0050] С учетом этого способ кодирования изображений согласно аспекту настоящего изобретения представляет собой способ кодирования изображений для формирования потока битов посредством кодирования изображения на поблочной основе. Способ включает в себя: разделение текущего блока, который должен быть кодирован, на множество субблоков; получение, для каждого из субблоков, одного или более возможных вариантов объединения, каждый из которых является набором возможных вариантов из направления прогнозирования, вектора движения и индекса опорного изображения, которые должны использоваться в качестве опорных при кодировании текущего блока; выбор возможного варианта объединения, который должен быть использован при кодировании текущего блока, из числа одного или более возможных вариантов объединения, полученных при получении; и добавление, в поток битов, индекса для идентификации возможного варианта объединения, выбранного при выборе. Получение включает в себя: определение (i) для каждого из соседних блоков, граничащих с субблоком, того, включается или нет соседний блок в текущий блок, и (ii) соседнего блока, который не включается в текущий блок, в качестве целевого блока объединения; и когда определяются один или более целевых блоков объединения, извлечение первого возможного варианта в качестве части одного или более возможных вариантов объединения для каждого из одного или более целевых блоков объединения, с использованием набора из направления прогнозирования, вектора движения и индекса опорного изображения, которые использованы для формирования прогнозного изображения целевого блока объединения.
[0051] В способе кодирования изображений, при формировании прогнозного изображения посредством разделения CU на сегменты (PU), определяется, расположен или нет соседний блок, для которого вычисляются возможные варианты блоков объединения, в идентичной CU. Когда определяется то, что соседний блок расположен в идентичной CU, соседний блок исключается из вычисления возможных вариантов блоков объединения. Вследствие этого избыточные возможные варианты блоков объединения не добавляются в список возможных вариантов блоков объединения в вышеуказанном способе кодирования изображений, так что может повышаться эффективность кодирования.
[0052] Например, может случиться так, что определение дополнительно включает в себя: определение того, является или нет соседний блок (i) блоком, кодированным посредством внутреннего прогнозирования, (ii) находится он или нет за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, и (iii) является он или нет блоком, который еще должен быть кодирован; и когда определяется то, что соседний блок (1) не включен в текущий блок, (2) не является блоком, кодированным посредством внутреннего прогнозирования, (3) не является блоком за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, и (4) не является блоком, который еще должен быть кодирован, определение соседнего блока в качестве целевого блока объединения.
[0053] Кроме того, например, может случиться так, что способ кодирования изображений дополнительно включает в себя определение максимального числа достижимых возможных вариантов объединения, при этом получение дополнительно включает в себя определение того, меньше или нет общее число первых возможных вариантов максимального числа, и когда определяется то, что общее число первых возможных вариантов меньше максимального числа, извлечение нового возможного варианта, имеющего индекс изображения для изображения с возможностью использования в качестве опорного при кодировании субблока.
[0054] Кроме того, например, может случиться так, что способ кодирования изображений дополнительно включает в себя формирование прогнозного изображения субблока с использованием возможного варианта объединения, выбранного при выборе.
[0055] Кроме того, способ декодирования изображений согласно аспекту настоящего изобретения представляет собой способ декодирования изображений для декодирования, на поблочной основе, данных изображений, включенных в кодированный поток битов. Способ включает в себя: разделение текущего блока, который должен быть декодирован, на множество субблоков; получение, для каждого из субблоков, одного или более возможных вариантов объединения, каждый из которых является набором возможных вариантов из направления прогнозирования, вектора движения и индекса опорного изображения, которые должны использоваться в качестве опорных при декодировании текущего блока; получение, из кодированного потока битов, индекса для идентификации возможного варианта объединения, который должен использоваться в качестве опорного при декодировании текущего блока; и идентификацию возможного варианта объединения с использованием полученного индекса и декодирование текущего блока с использованием идентифицированного возможного варианта объединения, при этом получение одного или более возможных вариантов объединения включает в себя: определение (i) для каждого из соседних блоков, граничащих с субблоком, того, включается или нет соседний блок в текущий блок, и (ii) соседнего блока, который не включается в текущий блок, в качестве целевого блока объединения; и когда определяются один или более целевых блоков объединения, извлечение первого возможного варианта в качестве части одного или более возможных вариантов объединения для каждого из одного или более целевых блоков объединения, с использованием набора из направления прогнозирования, вектора движения и индекса опорного изображения, которые использованы для формирования прогнозного изображения целевого блока объединения.
[0056] Например, может случиться так, что определение дополнительно включает в себя: определение того, является или нет соседний блок (i) блоком, декодированным посредством внутреннего прогнозирования, (ii) блоком за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, и (iii) блоком, который еще должен быть декодирован; и когда определяется то, что соседний блок (1) не включен в текущий блок, (2) не является блоком, декодированным посредством внутреннего прогнозирования, (3) не является блоком за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, и (4) не является блоком, который еще должен быть декодирован, определение соседнего блока в качестве целевого блока объединения.
[0057] Кроме того, например, может случиться так, что способ декодирования изображений дополнительно включает в себя определение максимального числа достижимых возможных вариантов объединения. Получение одного или более возможных вариантов объединения дополнительно включает в себя: определение того, меньше или нет общее число первых возможных вариантов максимального числа; и когда определяется то, что общее число первых возможных вариантов меньше максимального числа, извлечение нового возможного варианта, имеющего индекс изображения для изображения с возможностью быть опорным при декодировании субблока.
[0058] Кроме того, например, может случиться так, что способ декодирования изображений дополнительно включает в себя формирование прогнозного изображения субблока с использованием возможного варианта объединения, выбранного при выборе.
[0059] Кроме того, устройство кодирования изображений согласно аспекту настоящего изобретения представляет собой устройство кодирования изображений, которое формирует поток битов посредством кодирования изображения на поблочной основе. Устройство включает в себя: первый модуль разделения, который разделяет текущий блок, который должен быть кодирован, на множество субблоков; первый модуль получения, который получает для каждого из субблоков, один или более возможных вариантов объединения, каждый из которых является набором возможных вариантов из направления прогнозирования, вектора движения и индекса опорного изображения, которые должны использоваться в качестве опорных при кодировании текущего блока; первый модуль выбора, который выбирает возможный вариант объединения, который должен быть использован при кодировании текущего блока, из числа одного или более возможных вариантов объединения, полученных при получении; и модуль кодирования, который добавляет, в поток битов, индекс для идентификации возможного варианта объединения, выбранного посредством модуля выбора. Первый модуль получения определяет для каждого из соседних блоков, граничащих с субблоком, то, включается или нет соседний блок в текущий блок, и определяет соседний блок, который не включается в текущий блок, в качестве целевого блока объединения; и когда определяются один или более целевых блоков объединения, извлекает первый возможный вариант в качестве части одного или более возможных вариантов объединения для каждого из одного или более целевых блоков объединения, с использованием набора из направления прогнозирования, вектора движения и индекса опорного изображения, которые использованы для формирования прогнозного изображения целевого блока объединения.
[0060] Кроме того, устройство декодирования изображений согласно аспекту настоящего изобретения представляет собой устройство декодирования изображений, которое декодирует, на поблочной основе, данные изображений, включенные в кодированный поток битов. Устройство включает в себя: второй модуль разделения, сконфигурированный с возможностью разделять текущий блок, который должен быть декодирован, на множество субблоков; второй модуль получения, сконфигурированный с возможностью получать для каждого из субблоков, один или более возможных вариантов объединения, каждый из которых является набором возможных вариантов из направления прогнозирования, вектора движения и индекса опорного изображения, которые должны использоваться в качестве опорных при декодировании текущего блока; модуль получения индексов, сконфигурированный с возможностью получать, из кодированного потока битов, индекс для идентификации возможного варианта объединения, который должен использоваться в качестве опорного при декодировании текущего блока; и модуль декодирования, сконфигурированный с возможностью идентифицировать возможный вариант объединения с использованием полученного индекса и декодировать текущий блок с использованием идентифицированного возможного варианта объединения. Второй модуль получения: определяет, для каждого из соседних блоков, граничащих с субблоком, то, включается или нет соседний блок в текущий блок, и определяет соседний блок, который не включается в текущий блок, в качестве целевого блока объединения; и когда определяются один или более целевых блоков объединения, извлекает первый возможный вариант в качестве части одного или более возможных вариантов объединения для каждого из одного или более целевых блоков объединения, с использованием набора из направления прогнозирования, вектора движения и индекса опорного изображения, которые использованы для формирования прогнозного изображения целевого блока объединения.
[0061] Кроме того, устройство кодирования изображений согласно аспекту настоящего изобретения включает в себя устройство кодирования изображений и устройство декодирования изображений.
[0062] Следует отметить, что эти общие или конкретные аспекты могут быть реализованы как система, способ, интегральная схема, компьютерная программа, машиночитаемый носитель записи, такой как постоянное запоминающее устройство на компакт-дисках (CD-ROM), либо как любая комбинация системы, способа, интегральной схемы, компьютерной программы и машиночитаемого носителя записи.
[0063] Ниже подробно описываются устройство кодирования изображений и устройство декодирования изображений согласно аспекту настоящего изобретения со ссылкой на чертежи.
[0064] Каждый из примерных вариантов осуществления, описанных ниже, показывает конкретный пример настоящего изобретения. Числовые значения, формы, материалы, составляющие элементы, компоновка и соединение составляющих элементов, этапы, порядок обработки этапов и т. д., показанные в следующих примерных вариантах осуществления, являются просто примерами и, следовательно, не ограничивают идею настоящего изобретения. Следовательно, из составляющих элементов в нижеприведенных примерных вариантах осуществления составляющие элементы, не изложенные в любом из независимых пунктов формулы изобретения, задающих самую общую часть идеи изобретения, описываются как произвольные составляющие элементы.
[0065] Первый вариант осуществления
Ссылаясь на фиг. 12-20, приводится описание устройства кодирования изображений, которое осуществляет способ кодирования изображений согласно первому варианту осуществления. В первом варианте осуществления приводится описание случая, когда прогнозное изображение формируется посредством извлечения возможных вариантов блоков объединения в расчете на прогнозный блок (PU) (в расчете на целевой блок прогнозирования), при этом PU получается посредством разделения единицы блока кодирования (CU) (в дальнейшем в этом документе блок кодирования также упоминается как текущий блок).
[0066] 1-1. Конфигурация устройства кодирования изображений
Во-первых, ссылаясь на фиг. 12, приводится описание конфигурации устройства кодирования изображений.
[0067] Фиг. 12 является блок-схемой, показывающей конфигурацию устройства 100 кодирования изображений согласно первому варианту осуществления. Устройство 100 кодирования изображений кодирует изображения на поблочной основе, чтобы формировать поток битов.
[0068] Как показано на фиг. 12, устройство 100 кодирования изображений включает в себя модуль 101 вычитания, модуль 102 ортогонального преобразования, модуль 103 квантования, модуль 104 обратного квантования, модуль 105 обратного ортогонального преобразования, сумматор 106, запоминающее устройство 107 блоков, запоминающее устройство 108 кадров, модуль 109 внутреннего прогнозирования, модуль 110 взаимного прогнозирования, модуль 111 управления взаимным прогнозированием, модуль 112 определения типов изображений, переключатель 113, модуль 114 вычисления возможных вариантов блоков объединения, запоминающее устройство 115 colPic и модуль 116 кодирования переменной длины.
[0069] Модуль 101 вычитания вычитает, на поблочной основе (на основе каждой PU), данные прогнозных изображений из входных данных изображений, включенных во входную последовательность изображений, чтобы формировать данные ошибок прогнозирования.
[0070] Модуль 102 ортогонального преобразования преобразует сформированные данные ошибок прогнозирования из области изображений в частотную область.
[0071] Модуль 103 квантования квантует данные ошибок прогнозирования, преобразованные в частотную область.
[0072] Модуль 104 обратного квантования обратно квантует данные ошибок прогнозирования, квантованные посредством модуля 103 квантования.
[0073] Модуль 105 обратного ортогонального преобразования преобразует обратно квантованные данные ошибок прогнозирования из частотной области в область изображений.
[0074] Сумматор 106 суммирует, на поблочной основе (на основе каждой PU), данные прогнозных изображений и данные ошибок прогнозирования, обратно квантованные посредством модуля 105 обратного ортогонального преобразования, чтобы формировать данные восстановленных изображений.
[0075] Запоминающее устройство 107 блоков сохраняет данные восстановленных изображений в единицах блоков.
[0076] Запоминающее устройство 108 кадров сохраняет данные восстановленных изображений в единицах кадров.
[0077] Модуль 112 определения типов изображений определяет то, в каком из типов изображений I-изображения, B-изображения и P-изображения должны быть кодированы входные данные изображений. Затем модуль 112 определения типов изображений формирует информацию типов изображений, указывающую определенный тип изображения.
[0078] Модуль 109 внутреннего прогнозирования формирует данные изображений внутреннего прогнозирования целевого блока прогнозирования посредством выполнения внутреннего прогнозирования с использованием данных восстановленных изображений, сохраненных в запоминающем устройстве 107 блоков в единицах блоков.
[0079] Модуль 110 взаимного прогнозирования формирует данные изображений взаимного прогнозирования целевого блока прогнозирования посредством выполнения взаимного прогнозирования с использованием данных восстановленных изображений, сохраненных в запоминающем устройстве 108 кадров в единицах кадров, и вектора движения, извлекаемого посредством процесса, включающего в себя оценку движения.
[0080] Когда целевой блок прогнозирования кодируется посредством внутреннего прогнозирующего кодирования, переключатель 113 выводит данные изображений внутреннего прогнозирования, сформированные посредством модуля 109 внутреннего прогнозирования, в качестве данных прогнозных изображений целевого блока прогнозирования в модуль 101 вычитания и сумматор 106. С другой стороны, когда целевой блок прогнозирования кодируется посредством взаимного прогнозирующего кодирования, переключатель 113 выводит данные изображений взаимного прогнозирования, сформированные посредством модуля 110 взаимного прогнозирования, в качестве данных прогнозных изображений целевого блока прогнозирования в модуль 101 вычитания и сумматор 106.
[0081] Модуль 114 вычисления возможных вариантов блоков объединения извлекает возможные варианты блоков объединения в единицах PU, показанных в (a)-(f) по фиг. 11 в первом варианте осуществления. Следует отметить, что в первом варианте осуществления приводится описание случая, когда PU, показанные в (g) и (h) на фиг. 11, не выбираются. Модуль 114 вычисления возможных вариантов блоков объединения извлекает возможные варианты блоков объединения для режима объединения с использованием векторов движения и т. п. соседних блоков относительно целевого блока прогнозирования и вектора движения и т. п. совместно размещенного блока (информации colPic), сохраненных в запоминающем устройстве 115 colPic. Затем модуль 114 вычисления возможных вариантов блоков объединения вычисляет общее число применимых для объединения возможных вариантов с использованием способа, описанного ниже.
[0082] Кроме того, модуль 114 вычисления возможных вариантов блоков объединения назначает индексы возможных вариантов блоков объединения, имеющие различное значение, извлеченным возможным вариантам блоков объединения. Затем модуль 114 вычисления возможных вариантов блоков объединения передает возможные варианты блоков объединения и индексы возможных вариантов блоков объединения в модуль 111 управления взаимным прогнозированием. Кроме того, модуль 114 вычисления возможных вариантов блоков объединения передает вычисленное число применимых для объединения возможных вариантов в модуль 116 кодирования переменной длины.
[0083] Модуль 111 управления взаимным прогнозированием выбирает режим прогнозирования, с использованием которого ошибка прогнозирования является меньшей относительно режима прогнозирования, в котором используется вектор движения, извлекаемый посредством оценки движения (режима оценки движения), и режима прогнозирования, в котором используется вектор движения, извлекаемый из возможного варианта блока объединения (режима объединения). Модуль 111 управления взаимным прогнозированием также передает флаг объединения, указывающий то, является или нет выбранный режим прогнозирования режимом объединения, в модуль 116 кодирования переменной длины. Кроме того, модуль 111 управления взаимным прогнозированием передает индекс возможного варианта блока объединения, соответствующий определенным возможным вариантам блоков объединения, в модуль 116 кодирования переменной длины, когда выбранный режим прогнозирования является режимом объединения. Кроме того, модуль 111 управления взаимным прогнозированием передает информацию colPic, включающую в себя вектор движения и т. п. целевого блока прогнозирования, в запоминающее устройство 115 colPic.
[0084] Модуль 116 кодирования переменной длины формирует поток битов посредством выполнения кодирования переменной длины для квантованных данных ошибок прогнозирования, флага объединения и информации типов изображений. Модуль 116 кодирования переменной длины также задает общее число применимых для объединения возможных вариантов в качестве размера списка возможных вариантов блоков объединения. Кроме того, модуль 116 кодирования переменной длины выполняет кодирование переменной длины для индекса возможного варианта блока объединения, который должен использоваться для кодирования, посредством назначения, согласно размеру списка возможных вариантов блоков объединения, битовой последовательности индексу возможного варианта блока объединения.
[0085] 1-2. Осуществление способа кодирования изображений посредством устройства кодирования изображений
Далее, ссылаясь на фиг. 13-20, приводится описание операций обработки устройства 100 кодирования изображений (осуществления способа кодирования изображений).
[0086] Фиг. 13 является блок-схемой последовательности операций способа, показывающей операции обработки устройства 100 кодирования изображений согласно первому варианту осуществления.
[0087] Устройство 100 кодирования изображений сначала разделяет текущий блок, который должен быть кодирован, на множество субблоков и определяет один из субблоков в качестве целевого блока прогнозирования.
[0088] На этапе S101 модуль 114 вычисления возможных вариантов блоков объединения получает возможные варианты объединения, каждый из которых является набором возможных вариантов из направления прогнозирования, вектора движения и индекса опорного изображения, которые должны использоваться в качестве опорных в прогнозировании целевого блока прогнозирования. В частности, модуль 114 вычисления возможных вариантов блоков объединения извлекает, например, возможные варианты блоков объединения из соседних блоков и совместно размещенного блока для целевого блока прогнозирования. Кроме того, в первом варианте осуществления модуль 114 вычисления возможных вариантов блоков объединения вычисляет размер списка возможных вариантов блоков объединения с использованием способа, описанного ниже.
[0089] При извлечении возможных вариантов блоков объединения модуль 114 вычисления возможных вариантов блоков объединения сначала формирует возможные варианты блоков объединения из соседних блоков A-D и совместно размещенного блока для целевого блока прогнозирования с использованием способа, описанного ниже. Кроме того, например, модуль 114 вычисления возможных вариантов блоков объединения назначает индексы возможных вариантов блоков объединения соответствующим возможным вариантам блоков объединения, как показано в (a) на фиг. 14A.
[0090] Более короткие коды назначаются индексам возможных вариантов блоков объединения с меньшими значениями. Другими словами, чем меньше значение индекса возможного варианта блока объединения, тем меньше объем информации, необходимый для указания индекса возможного варианта блока объединения.
[0091] С другой стороны, чем больше значение индекса возможного варианта блока объединения, тем больше объем информации, необходимый для индекса возможного варианта блока объединения. Следовательно, эффективность кодирования должна повышаться, когда индексы возможных вариантов блоков объединения с меньшими значениями назначаются возможным вариантам блоков объединения, которые с большей вероятностью имеют векторы движения большей точности и индексы опорных изображений большей точности.
[0092] Следовательно, возможный случай заключается в том, что модуль 114 вычисления возможных вариантов блоков объединения подсчитывает общее число раз для выбора каждого возможного варианта блока объединения в качестве блока объединения и назначает индексы возможных вариантов блоков объединения с меньшими значениями блокам с большим общим числом раз. В частности, это может достигаться посредством указания блока объединения, выбранного из соседних блоков, и назначения индекса возможного варианта блока объединения с меньшим значением указанному блоку объединения, когда текущий блок кодируется.
[0093] Модуль 114 вычисления возможных вариантов блоков объединения затем удаляет неприменимые для объединения возможные варианты и идентичные возможные варианты с использованием способа, описанного ниже. Здесь модуль 114 вычисления возможных вариантов блоков объединения может добавлять новые возможные варианты. Новые возможные варианты не должны обязательно добавляться.
[0094] В первом варианте осуществления возможный вариант блока объединения, неприменимый для формирования прогнозного изображения, упоминается в качестве неприменимого для объединения возможного варианта. Блок, соответствующий неприменимому для объединения возможному варианту, упоминается в качестве нецелевого блока объединения. Примеры нецелевого блока объединения включают в себя соседний блок, включенный в идентичный текущий блок. В первом варианте осуществления примеры нецелевого блока объединения дополнительно включают в себя (1) блок, имеющий такую информацию, как вектор движения (блок, кодированный посредством внутреннего прогнозирования), (2) блок за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок), и (3) блок, который еще должен быть кодирован.
[0095] Возможный вариант блока объединения, применимый для формирования прогнозного изображения, упоминается в качестве применимого для объединения возможного варианта. Блок, соответствующий применимому для объединения возможному варианту, упоминается в качестве целевого блока объединения.
[0096] Помимо этого из множества возможных вариантов блоков объединения возможный вариант блока объединения, идентичный по вектору движения, индексу опорного изображения и направлению прогнозирования любому другому возможному варианту блока объединения, упоминается в качестве идентичного возможного варианта.
[0097] В случае, показанном в (a) по фиг. 14A, соседний блок C является неприменимым для объединения возможным вариантом, поскольку он представляет собой блок, кодированный посредством внутреннего прогнозирования. Соседний блок D является идентичным возможным вариантом, поскольку он является идентичным по вектору движения, индексу опорного изображения и направлению прогнозирования соседнему блоку A.
[0098] На фиг. 14A (b) показывает пример списка возможных вариантов блоков объединения, вычисленного в случае, если идентичный текущий блок не включает в себя соседних блоков (нецелевых блоков объединения). Фиг. 14B показывает список возможных вариантов блоков объединения, вычисленный в случае, если соседний блок A является нецелевым блоком объединения, включенным в идентичный текущий блок. Фиг. 14C показывает список возможных вариантов блоков объединения, вычисленный в случае, если соседний блок B является нецелевым блоком объединения, включенным в идентичный текущий блок. Фиг. 14D показывает список возможных вариантов блоков объединения, вычисленный в случае, если соседние блоки A и B являются нецелевыми блоками объединения, включенными в идентичный текущий блок. Далее приводится описание определения нецелевого блока объединения.
[0099] На этапе S102 модуль 111 управления взаимным прогнозированием выбирает режим прогнозирования (выбирает возможный вариант объединения, используемый для кодирования текущего блока), на основе сравнения, с использованием способа, описанного ниже, между ошибкой прогнозирования прогнозного изображения, сформированного с использованием вектора движения, извлекаемого посредством оценки движения, и ошибкой прогнозирования прогнозного изображения, сформированного с использованием вектора движения, полученного из возможного варианта блока объединения. Когда выбранный режим прогнозирования является режимом объединения, модуль 111 управления взаимным прогнозированием задает флаг объединения равным 1, а когда не является, модуль 111 управления взаимным прогнозированием задает флаг объединения равным 0.
[0100] Модуль 116 кодирования переменной длины добавляет, в поток битов, индекс для идентификации выбранного возможного варианта объединения посредством этапов выполнения S103-S105.
[0101] Более конкретно на этапе S103 определяется то, равен или нет флаг объединения 1 (т. е. является или нет выбранный режим прогнозирования режимом объединения).
[0102] Когда результат определения на этапе S103 является истиной ("Да", S103), модуль 116 кодирования переменной длины присоединяет флаг объединения к потоку битов на этапе S104. Затем на этапе S105 модуль 116 кодирования переменной длины назначает битовые последовательности согласно размеру списка возможных вариантов блоков объединения, как показано на фиг. 5, индексам возможных вариантов блоков объединения для возможных вариантов блоков объединения, которые должны использоваться для кодирования. Затем модуль 116 кодирования переменной длины выполняет кодирование переменной длины для назначенной битовой последовательности.
[0103] С другой стороны, когда результат определения на этапе S103 является ложью (S103, "Нет"), модуль 116 кодирования переменной длины присоединяет информацию относительно флага объединения и режима оценки векторов движения к потоку битов на этапе S106.
[0104] В первом варианте осуществления индекс возможного варианта блока объединения, имеющий значение "0", назначается соседнему блоку A, как показано в (a) на фиг. 14A. Индекс возможного варианта блока объединения, имеющий значение "1", назначается соседнему блоку B. Индекс возможного варианта блока объединения, имеющий значение "2", назначается совместно размещенному блоку объединения. Индекс возможного варианта блока объединения, имеющий значение "3", назначается соседнему блоку C. Индекс возможного варианта блока объединения, имеющий значение "4", назначается соседнему блоку D.
[0105] Следует отметить, что индексы возможных вариантов блоков объединения, имеющие такие значения, могут назначаться иным образом. Например, модуль 116 кодирования переменной длины может назначать индекс возможного варианта блока объединения, имеющий значение, большее значения соседнего блока, совместно размещенному блоку объединения. Кроме того, например, когда новый возможный вариант добавляется с использованием способа, описанного ниже, модуль 116 кодирования переменной длины может назначать меньшие значения ранее существовавшим возможным вариантам блоков объединения и большее значение - новому возможному варианту. Другими словами, модуль 116 кодирования переменной длины может назначать индекс возможного варианта блока объединения с меньшим значением ранее существовавшему возможному варианту блока объединения с приоритетом относительно нового возможного варианта.
[0106] Кроме того, соседние блоки для получения возможных вариантов блоков объединения не ограничены соседними блоками A-D и совместно размещенным блоком. Например, возможные варианты блоков объединения могут быть получены из соседнего блока E, показанного на фиг. 3. Кроме того, необязательно использовать все соседние блоки A-D и все соседние блоки относительно совместно размещенного блока в качестве возможных вариантов блоков объединения. Например, также можно использовать только соседние блоки A и B в качестве возможных вариантов блоков объединения.
[0107] Кроме того, хотя модуль 116 кодирования переменной длины присоединяет индекс возможного варианта блока объединения к потоку битов на этапе S105 на фиг. 13 в первом варианте осуществления присоединение такого индекса возможного варианта блока объединения к потоку битов не всегда необходимо. Например, модуль 116 кодирования переменной длины не должен присоединять индекс возможного варианта блока объединения к потоку битов, когда размер списка возможных вариантов блоков объединения равен "1". За счет этого уменьшается объем информации для индекса возможного варианта блока объединения.
[0108] Фиг. 15 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S101 на фиг. 13. В частности, фиг. 15 иллюстрирует способ вычисления возможных вариантов блоков объединения и размера списка возможных вариантов блоков объединения. Ниже описывается фиг. 15.
[0109] На этапе S111 модуль 114 вычисления возможных вариантов блоков объединения определяет то, является или нет возможный вариант [N] блока объединения применимым для объединения возможным вариантом, с использованием способа, описанного ниже (часть первой обработки извлечения). Затем модуль 114 вычисления возможных вариантов блоков объединения обновляет общее число применимых для объединения возможных вариантов согласно результату определения.
[0110] Здесь N обозначает значение индекса для идентификации каждого возможного варианта блока объединения. В первом варианте осуществления N принимает значения от 0 до 4. В частности, соседний блок A на фиг. 3 назначается возможному варианту [0] блока объединения. Соседний блок B на фиг. 3 назначается возможному варианту [1] блока объединения. Совместно размещенный блок назначается возможному варианту [2] прогнозного блока. Соседний блок C на фиг. 3 назначается возможному варианту [3] блока объединения. Соседний блок D на фиг. 3 назначается возможному варианту [4] блока объединения.
[0111] На этапе S112 модуль 114 вычисления возможных вариантов блоков объединения получает вектор движения, индекс опорного изображения и направление прогнозирования возможного варианта [N] блока объединения и добавляет их в список возможных вариантов блоков объединения (часть первой обработки извлечения).
[0112] На этапе S113 модуль 114 вычисления возможных вариантов блоков объединения выполняет поиск в списке возможных вариантов блоков объединения на предмет неприменимого для объединения возможного варианта и идентичного возможного варианта и удаляет неприменимый для объединения возможный вариант и идентичный возможный вариант из списка возможных вариантов блоков объединения, как показано на фиг. 14A-14C.
[0113] На этапе S114 модуль 114 вычисления возможных вариантов блоков объединения добавляет новый возможный вариант в список возможных вариантов блоков объединения с использованием способа, описанного ниже. Здесь, когда новый возможный вариант добавляется, модуль 114 вычисления возможных вариантов блоков объединения может переназначать индексы возможных вариантов блоков объединения таким образом, что индексы возможных вариантов блоков объединения с меньшими значениями назначаются ранее существовавшим возможным вариантам блоков объединения с приоритетом относительно нового возможного варианта. Другими словами, модуль 114 вычисления возможных вариантов блоков объединения может переназначать индексы возможных вариантов блоков объединения таким образом, что индекс возможного варианта блока объединения с большим значением назначается новому возможному варианту. За счет этого уменьшается объем кода индексов возможных вариантов блоков объединения.
[0114] На этапе S115 модуль 114 вычисления возможных вариантов блоков объединения задает общее число применимых для объединения возможных вариантов, вычисленных на этапе S111, в качестве размера списка возможных вариантов блоков объединения. Например, в примере, показанном на фиг. 14A, вычисленное число применимых для объединения возможных вариантов равно "4", и размер списка возможных вариантов блоков объединения задается равным 4.
[0115] Новый возможный вариант на этапе S114 является возможным вариантом, заново добавленным в возможные варианты блоков объединения с использованием способа, описанного ниже, когда общее число возможных вариантов блоков объединения меньше общего числа применимых для объединения возможных вариантов. Примеры такого нового возможного варианта включают в себя верхний левый соседний блок E на фиг. 3, блок, соответствующий любому из соседних блоков A, B, C и D относительно совместно размещенного блока. Кроме того, примеры такого нового возможного варианта дополнительно включают в себя блок, имеющий вектор движения, индекс опорного изображения, направление прогнозирования и т. п., которые статистически получаются для всего или определенной области опорного изображения. Таким образом, когда общее число возможных вариантов блоков объединения меньше общего числа применимых для объединения возможных вариантов, модуль 114 вычисления возможных вариантов блоков объединения добавляет новый возможный вариант, имеющий новый вектор движения, новый индекс опорного изображения и новое направление прогнозирования, так что может повышаться эффективность кодирования.
[0116] Фиг. 16 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S111 на фиг. 15. В частности, фиг. 16 иллюстрирует способ определения того, является или нет возможный вариант [N] блока объединения применимым для объединения возможным вариантом и обновления общего числа применимых для объединения возможных вариантов. Ниже описывается фиг. 16.
[0117] На этапе S121 модуль 114 вычисления возможных вариантов блоков объединения определяет то, является истиной или ложью то, что (1) возможный вариант [N] блока объединения кодирован посредством внутреннего прогнозирования, (2) возможный вариант [N] блока объединения является блоком за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, или (3) возможный вариант [N] блока объединения по-прежнему должен быть кодирован.
[0118] Когда результат определения на этапе S121 является истиной (S121, "Да"), модуль 114 вычисления возможных вариантов блоков объединения определяет блок, соответствующий возможному варианту [N] блока объединения, в качестве нецелевого блока объединения. Кроме того, на этапе S123 модуль 114 вычисления возможных вариантов блоков объединения задает возможный вариант [N] блока объединения в качестве неприменимого для объединения возможного варианта.
[0119] С другой стороны, когда результат определения на этапе S121 является ложью (S121, "Нет"), модуль 114 вычисления возможных вариантов блоков объединения определяет с использованием способа, описанного ниже, является или нет возможный вариант [N] блока объединения нецелевым блоком объединения (первая обработка определения) на этапе S122.
[0120] Когда результат определения на этапе S122 является истиной (S122, "Да"), модуль 114 вычисления возможных вариантов блоков объединения определяет возможный вариант [N] блока объединения в качестве неприменимого для объединения возможного варианта на этапе S123.
[0121] С другой стороны, когда результат определения на этапе S122 является ложью (S121, "Нет"), модуль 114 вычисления возможных вариантов блоков объединения определяет возможный вариант [N] блока объединения в качестве применимого для объединения возможного варианта на этапе S124.
[0122] На этапе S125 модуль 114 вычисления возможных вариантов блоков объединения определяет то, является истиной или ложью то, что возможный вариант [N] блока объединения является либо применимым для объединения возможным вариантом, либо совместно размещенным возможным вариантом блока объединения.
[0123] Когда результат определения на этапе S125 является истиной (S125, "Да"), модуль 114 вычисления возможных вариантов блоков объединения обновляет общее число возможных вариантов блоков объединения посредством его увеличения на единицу на этапе S126. С другой стороны, когда результат определения на этапе S125 является ложью (S125, "Нет"), модуль 114 вычисления возможных вариантов блоков объединения не обновляет общее число применимых для объединения возможных вариантов.
[0124] Таким образом, когда возможный вариант блока объединения является совместно размещенным блоком объединения, модуль 114 вычисления возможных вариантов блоков объединения увеличивает общее число применимых для объединения возможных вариантов на единицу независимо от того, является совместно размещенный блок применимым для объединения возможным вариантом или неприменимым для объединения возможным вариантом. Это предотвращает несоответствие чисел применимых для объединения возможных вариантов между устройством кодирования изображений и устройством декодирования изображений, даже когда информация относительно совместно размещенного блока объединения потеряна вследствие такого события, как потери пакетов.
[0125] Общее число применимых для объединения возможных вариантов задается в качестве размера списка возможных вариантов блоков объединения на этапе S115, показанном на фиг. 15. Кроме того, размер списка возможных вариантов блоков объединения используется при кодировании переменной длины индексов возможных вариантов блоков объединения на этапе S105, показанном на фиг. 13. Это позволяет устройству 100 кодирования изображений формировать поток битов, который может быть нормально декодирован таким образом, что индексы возможных вариантов блоков объединения могут быть получены, даже когда потеряна информация относительно опорного изображения, включающего в себя совместно размещенный блок.
[0126] Следует отметить, что пример, описанный в первом варианте осуществления, в котором этап S121 выполняется перед этапом S122 на фиг. 16, не является ограничивающим. Например, этап 122 может выполняться перед этапом S121. Помимо этого, например, этап S121 и этап S122 могут выполняться на одном этапе. Кроме того, этап S121 не обязательно должен выполняться.
[0127] Основным структурным элементом в первом варианте осуществления является этап S122.
[0128] Фиг. 17 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S122 на фиг. 16. В частности, фиг. 17 иллюстрирует способ определения того, является или нет блок, соответствующий возможному варианту [N] блока объединения, нецелевым блоком объединения. Ниже описывается фиг. 17.
[0129] На этапе S122, когда блок, для которого должно выполняться определение (целевой блок определения), включается в текущий блок, который включает в себя целевой блок прогнозирования, целевой блок определения определяется в качестве нецелевого блока объединения.
[0130] На этапе S151 модуль 114 вычисления возможных вариантов блоков объединения определяет то, следует или нет признавать то, что (i) PU целевого блока прогнозирования является одной из 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N или nRx2N, (ii) возможные варианты блоков объединения вычисляются для сегмента 1 PU1, и (iii) целевой блок прогнозирования, соответствующий возможному варианту [N] блока объединения, расположен в идентичной CU.
[0131] Когда результат определения на этапе S151 является истиной (S151, "Да"), модуль 114 вычисления возможных вариантов блоков объединения определяет целевой блок прогнозирования, соответствующий возможному варианту [N] блока объединения, в качестве нецелевого блока объединения.
[0132] Таким образом, когда целевой блок прогнозирования, соответствующий возможному варианту [N] блока объединения, является нецелевым блоком объединения, возможный вариант [N] блока объединения является неприменимым для объединения возможным вариантом и удаляется из списка возможных вариантов блоков объединения.
[0133] В первом варианте осуществления, когда результат определения на этапе S151 является истиной (S151, "Да"), модуль 114 вычисления возможных вариантов блоков объединения определяет целевой блок прогнозирования, соответствующий возможному варианту [N] блока объединения, в качестве нецелевого блока объединения; тем не менее, определение не ограничивается этим примером. Когда результат определения на этапе S151 является ложью (S151, "Нет"), модуль 114 вычисления возможных вариантов блоков объединения может определять целевой блок прогнозирования, соответствующий возможному варианту [N] блока объединения, в качестве целевого блока объединения. Даже в этом случае могут быть получены результаты, идентичные результатам для случая, в котором модуль 114 вычисления возможных вариантов блоков объединения определяет целевой блок прогнозирования, соответствующий возможному варианту [N] блока объединения, в качестве нецелевого блока объединения, когда результат определения на S151 является истиной.
[0134] В этом случае модуль 114 вычисления возможных вариантов блоков объединения определяет то, является или нет возможный вариант [N] блока объединения целевым блоком объединения, на этапе S122 на фиг. 16. Модуль 114 вычисления возможных вариантов блоков объединения переходит к этапу S124, когда результат определения на S122 представляет собой целевой блок объединения. Модуль 114 вычисления возможных вариантов блоков объединения переходит к этапу S123, когда результат определения на S122 не представляет собой целевой блок объединения.
[0135] Фиг. 18 является блок-схемой, иллюстрирующей блоки в качестве нецелевых блоков объединения в каждой единице прогнозного блока, соответствующей (a)-(f) на фиг. 11. На фиг. 18 целевые блоки прогнозирования (сегмент 1) и нецелевые блоки объединения, соответствующие целевым блокам прогнозирования, обведены посредством жирных линий. Другими словами, из соседних блоков соседние блоки, обведенные посредством обычных линий, а не жирных линий, являются целевыми блоками объединения.
[0136] Блок L соответствует соседнему блоку A на фиг. 3. Блок T соответствует соседнему блоку B на фиг. 3. Блок TR соответствует соседнему блоку C на фиг. 3. Блок BL соответствует соседнему блоку D на фиг. 3. Блок TL соответствует соседнему блоку E на фиг. 3.
[0137] Как показано в (a)-(c) на фиг. 18, в случае если PU составляет 2NxN, 2NxnU или 2NxnD, и список возможных вариантов блоков объединения сегмента 1 вычисляется, блок T, расположенный поверх PU, включается в идентичную CU. Следовательно, блок T является нецелевым блоком объединения. Соответственно в этом случае, поскольку блок T (соседний блок B) является нецелевым блоком объединения, соседний блок B удаляется из возможных вариантов блоков объединения при извлечении возможных вариантов блоков объединения, как показано на фиг. 14C.
[0138] Кроме того, как показано в (d)-(f) на фиг. 18, в случае если PU составляет Nx2N, nLx2N или nRx2N, и список возможных вариантов блоков объединения сегмента 1 вычисляется, блок L, расположенный слева от PU, включается в идентичную CU. Следовательно, блок L является нецелевым блоком объединения. Соответственно в этом случае, поскольку блок L (соседний блок A) является нецелевым блоком объединения, соседний блок A удаляется из возможных вариантов блоков объединения при извлечении возможных вариантов блоков объединения, как показано на фиг. 14B.
[0139] Прогнозное изображение, которое формируется в случае, если сегменты 0 и 1 имеют идентичное направление прогнозирования, идентичный вектор движения и идентичный индекс опорного изображения, является идентичным прогнозному изображению, сформированному в единицах PU 2Nx2N ((h) на фиг. 11), которые не заключают в себе разделения CU. Следовательно, добавление возможных вариантов блоков объединения, полученных из блока, включенного в сегмент 0, в список возможных вариантов блоков объединения сегмента 1, приводит к назначению индексов возможных вариантов блоков объединения избыточным возможным вариантам блоков объединения. В первом варианте осуществления при формировании прогнозного изображения в расчете на PU (когда PU получается посредством разделения CU на сегменты) определяется то, расположен или нет соседний блок, для которого вычисляются возможные варианты блоков объединения, в идентичной CU. Когда соседний блок находится в идентичной CU, возможные варианты блоков объединения, полученные из соседнего блока, не добавляются в список возможных вариантов блоков объединения. Это исключает необходимость назначения индексов возможных вариантов блоков объединения избыточным возможным вариантам блоков объединения, так что повышается эффективность кодирования. Кроме того, удаление избыточных возможных вариантов блоков объединения из списка возможных вариантов блоков объединения дает возможность добавления нового возможного варианта, который является возможным вариантом для повышения эффективности кодирования и который вычисляется с использованием способа, описанного ниже. Можно повышать эффективность кодирования посредством удаления избыточных возможных вариантов блоков объединения и добавления нового возможного варианта.
[0140] Следует отметить, что пример, показанный в первом варианте осуществления, в котором неприменимые для объединения возможные варианты добавляются в список возможных вариантов блоков объединения и затем удаляются из списка возможных вариантов блоков объединения, не является ограничивающим. Например, может случиться так, что неприменимые для объединения возможные варианты не добавляются в список возможных вариантов блоков объединения.
[0141] Фиг. 19 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S114 на фиг. 15. В частности, фиг. 19 иллюстрирует способ добавления нового возможного варианта. Ниже описывается фиг. 19.
[0142] На этапе S131 модуль 114 вычисления возможных вариантов блоков объединения определяет то, меньше или нет общее число возможных вариантов блоков объединения общего числа применимых для объединения возможных вариантов. Другими словами, модуль 114 вычисления возможных вариантов блоков объединения определяет то, по-прежнему ниже или нет общее число возможных вариантов блоков объединения общего числа применимых для объединения возможных вариантов.
[0143] Здесь, когда результат определения на этапе S131 является истиной (этап S131, "Да"), на этапе S132 модуль 114 вычисления возможных вариантов блоков объединения определяет то, существует или нет новый возможный вариант, который может добавляться в качестве возможного варианта блока объединения в список возможных вариантов блоков объединения. Здесь, когда результат определения на этапе S132 является истиной (этап S132, "Да"), модуль 114 вычисления возможных вариантов блоков объединения назначает индекс возможного варианта блока объединения, имеющий значение, новому возможному варианту, и добавляет новый возможный вариант в список возможных вариантов блоков объединения на этапе S133. Кроме того, на этапе S134 модуль 114 вычисления возможных вариантов блоков объединения увеличивает общее число возможных вариантов блоков объединения на единицу.
[0144] С другой стороны, когда результат определения на этапе S131 или на этапе S132 является ложью (этап S131 или этап S132, "Нет"), процесс для добавления нового возможного варианта завершается. Другими словами, процесс для добавления нового возможного варианта завершается, когда общее число возможных вариантов блоков объединения насчитывает общее число применимых для объединения возможных вариантов, или когда нет нового возможного варианта.
[0145] Фиг. 20 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S102 на фиг. 13. В частности, фиг. 20 иллюстрирует процесс для выбора возможного варианта блока объединения. Ниже описывается фиг. 20.
[0146] На этапе S141 модуль 111 управления взаимным прогнозированием задает индекс возможного варианта блока объединения равным 0, минимальную ошибку прогнозирования в ошибке прогнозирования (затраты) в режиме оценки векторов движения и флаг объединения равным 0. Здесь затраты вычисляются, например, с помощью следующей формулы для модели R-D-оптимизации.
[0147] (Уравнение 1)
Затраты=D+λR
[0148] В уравнении 1 D обозначает искажение при кодировании. Например, D является суммой абсолютных разностей между исходными пиксельными значениями текущего блока, который должен быть кодирован, и пиксельными значениями, полученными посредством кодирования и декодирования текущего блока с использованием прогнозного изображения, сформированного с использованием вектора движения. R обозначает объем сформированных кодов. Например, R является объемом кода, необходимым для кодирования вектора движения, используемого для формирования прогнозного изображения. λ обозначает неопределенный множитель Лагранжа.
[0149] На этапе S142 модуль 111 управления взаимным прогнозированием определяет то, меньше или нет значение индекса возможного варианта блока объединения общего числа возможных вариантов блоков объединения целевого блока прогнозирования. Другими словами, модуль 111 управления взаимным прогнозированием определяет то, существует или нет по-прежнему возможный вариант блока объединения, для которого процесс из этапа S143 к этапу S145 еще не выполнен.
[0150] Когда результат определения на этапе S142 является истиной (S142, "Да"), на этапе S143 модуль 111 управления взаимным прогнозированием вычисляет затраты на возможный вариант блока объединения, которому назначается индекс возможного варианта блока объединения. Затем на этапе S144 модуль 111 управления взаимным прогнозированием определяет то, меньше или нет вычисленные затраты на возможный вариант блока объединения минимальной ошибки прогнозирования.
[0151] Здесь, когда результат определения на этапе S144 является истиной (S144, "Да"), модуль 111 управления взаимным прогнозированием обновляет минимальную ошибку прогнозирования, индекс возможного варианта блока объединения и значение флага объединения на этапе S145. С другой стороны, когда результат определения на этапе S144 является ложью (S144, "Нет"), модуль 111 управления взаимным прогнозированием не обновляет минимальную ошибку прогнозирования, индекс возможного варианта блока объединения и значение флага объединения.
[0152] На этапе S146 модуль 111 управления взаимным прогнозированием увеличивает индекс возможного варианта блока объединения на единицу и повторяет процесс от этапа S142 до этапа S146.
[0153] С другой стороны, когда результат этапа S142 является ложью (S142, "Нет"), т. е. более нет необработанных возможных вариантов блоков объединения, модуль 111 управления взаимным прогнозированием фиксирует конечные значения флага объединения и индекса возможного варианта блока объединения на этапе S147.
[0154] 1-3. Преимущества, вариации и т.п.
Как описано выше, при формировании прогнозного изображения посредством разделения CU на PU (сегменты), и когда соседний блок расположен в идентичной CU, устройство 100 кодирования изображений согласно первому варианту осуществления не добавляет возможные варианты блоков объединения, полученные из соседнего блока, в список возможных вариантов блоков объединения. Это исключает необходимость назначения индексов возможных вариантов блоков объединения избыточным возможным вариантам блоков объединения, так что устройство 100 кодирования изображений согласно первому варианту осуществления может иметь более высокую эффективность кодирования. Кроме того, удаление избыточных возможных вариантов блоков объединения из списка возможных вариантов блоков объединения дает возможность добавления большего числа новых возможных вариантов, что приводит к повышению эффективности кодирования.
[0155] Следует отметить, что пример, показанный в первом варианте осуществления, в котором CU разделяется на PU (сегменты) 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N или nRx2N, не является ограничивающим. Например, первый вариант осуществления может применяться к случаю, в котором PU составляет NxN, как показано в (g) на фиг. 11. Кроме того, в этом случае, когда соседний блок расположен в идентичной CU, устройство 100 кодирования изображений не добавляет соседний блок в список возможных вариантов блоков объединения, так что индекс возможного варианта блока объединения не должен назначаться избыточному возможному варианту блока объединения. Это дает возможность повышения эффективности кодирования.
[0156] Устройство 100 кодирования изображений согласно первому варианту осуществления допускает вычисление размера списка возможных вариантов блоков объединения для использования при кодировании или декодировании индекса возможного варианта блока объединения с использованием способа, независимого от информации относительно опорных изображений, включающих в себя совместно размещенный блок. Устройство 100 кодирования изображений в силу этого достигает повышенной устойчивости к ошибкам.
[0157] Более конкретно независимо от того, является или нет совместно размещенный блок объединения применимым для объединения возможным вариантом, устройство 100 кодирования изображений согласно первому варианту осуществления увеличивает общее число применимых для объединения возможных вариантов на единицу каждый раз, когда возможный вариант блока объединения определяется в качестве совместно размещенного блока объединения. Затем устройство 100 кодирования изображений определяет битовую последовательность, которая должна назначаться индексу возможного варианта блока объединения, с использованием общего числа применимых для объединения возможных вариантов, вычисленных таким образом. Устройство 100 кодирования изображений за счет этого допускает формирование потока битов, из которого может быть нормально декодирован индекс возможного варианта блока объединения, даже когда информация потеряна относительно опорных изображений, включающих в себя совместно размещенный блок.
[0158] Кроме того, когда общее число возможных вариантов блоков объединения меньше общего числа применимых для объединения возможных вариантов, устройство 100 кодирования изображений согласно первому варианту осуществления добавляет, в качестве возможного варианта блока объединения, новый возможный вариант, имеющий новый вектор движения, новый индекс опорного изображения и новое направление прогнозирования, так что может повышаться эффективность кодирования.
[0159] Следует отметить, что пример, описанный в первом варианте осуществления, в котором независимо от того, является совместно размещенный блок объединения применимым для объединения возможным вариантом или неприменимым для объединения возможным вариантом, устройство 100 кодирования изображений увеличивает общее число возможных вариантов блоков объединения на единицу, как показано на этапе S125 на фиг. 16, не является ограничивающим. Относительно других блоков устройство 100 кодирования изображений также может увеличивать общее число возможных вариантов блоков объединения на единицу каждый раз независимо от того, являются блоки применимыми для объединения возможными вариантами или неприменимыми для объединения возможными вариантами. В этом случае, например, устройство 100 кодирования изображений может всегда фиксировать общее число применимых для объединения возможных вариантов равным максимальному значению Max общего числа возможных вариантов блоков объединения. Другими словами, может случиться так, что устройство 100 кодирования изображений рассматривает возможные варианты блоков объединения во всех соседних блоках в качестве применимых для объединения возможных вариантов, фиксирует размер списка возможных вариантов блоков объединения равным максимальному значению Max общего числа возможных вариантов блоков объединения и кодирует индексы возможных вариантов блоков объединения. Например, в первом варианте осуществления максимальное значение Max общего числа возможных вариантов блоков объединения равно 5 (соседний блок A, соседний блок B, совместно размещенный блок объединения, соседний блок C и соседний блок D). Следовательно, устройство 100 кодирования изображений может всегда задавать 5 в качестве размера списка возможных вариантов блоков объединения и кодировать индексы возможных вариантов блоков объединения.
[0160] Кроме того, например, в случае если максимальное значение Max общего числа возможных вариантов блоков объединения равно 4 (соседний блок A, соседний блок B, соседний блок C и соседний блок D), к примеру, изображение, которое кодируется без ссылки на совместно размещенный блок объединения (B-изображение или P-изображение, кодированное в отношении I-изображения), устройство 100 кодирования изображений может всегда задавать значение "4" в качестве размера списка возможных вариантов блоков объединения и кодировать индексы возможных вариантов блоков объединения.
[0161] Таким образом, может случиться так, что размер списка возможных вариантов блоков объединения определяется согласно максимальному значению Max общего числа возможных вариантов блоков объединения. В этом случае устройство 100 кодирования изображений выполняет кодирование переменной длины с использованием максимального значения Max в качестве размера списка возможных вариантов блоков объединения на этапе S105 на фиг. 13.
[0162] Вследствие этого можно формировать поток битов, имеющий индекс возможного варианта блока объединения, который может быть декодирован посредством модуля декодирования переменной длины в устройстве декодирования изображений независимо от информации относительно соседнего блока или совместно размещенного блока, так что может уменьшаться вычислительная сложность для модуля декодирования переменной длины. Кроме того, максимальное значение Max общего числа возможных вариантов блоков объединения может встраиваться, например, в набор параметров последовательности (SPS), набор параметров изображения (PPS) или заголовок серии последовательных макроблоков. Это позволяет изменять максимальное значение Max общего числа возможных вариантов блоков объединения в зависимости от текущего изображения, которое должно быть кодировано, так что может уменьшаться вычислительная сложность, и может повышаться эффективность кодирования.
[0163] Следует отметить, что пример, описанный в первом варианте осуществления, в котором флаг объединения всегда присоединяется к потоку битов в режиме объединения, не является ограничивающим. Например, режим объединения может быть принудительно выбран на основе формы блока для использования при взаимном прогнозировании текущего блока. В этом случае объем информации может быть сокращен без присоединения флага объединения к потоку битов.
[0164] Следует отметить, что пример, описанный в первом варианте осуществления, в котором используется режим объединения, в котором текущий блок кодируется с использованием направления прогнозирования, вектора движения и индекса опорного изображения, копированных из соседнего блока относительно текущего блока, не является ограничивающим.
Например, может использоваться режим объединения с пропуском. В режиме объединения с пропуском текущий блок кодируется в отношении списка возможных вариантов блоков объединения, созданного, как показано в (b) на фиг. 14A, с использованием направления прогнозирования, вектора движения и индекса опорного изображения, копированных из соседнего блока относительно текущего блока таким же образом, как в режиме объединения. Когда все результирующие ошибки прогнозирования являются нулем для текущего блока, флаг пропуска задается равным 1, и флаг пропуска и индекс возможного варианта блока объединения присоединены к потоку битов. Когда любая из результирующих ошибок прогнозирования является ненулевой, флаг пропуска задается равным 0, и флаг пропуска, флаг объединения, индекс возможного варианта блока объединения и данные ошибок прогнозирования присоединены к потоку битов.
[0165] Следует отметить, что пример, описанный в первом варианте осуществления, в котором используется режим объединения, в котором текущий блок кодируется с использованием направления прогнозирования, вектора движения и индекса опорного изображения, копированных из соседнего блока относительно текущего блока, не является ограничивающим. Например, вектор движения в режиме оценки векторов движения может быть кодирован с использованием списка возможных вариантов блоков объединения, созданного, как показано в (b) на фиг. 14A. В частности, разность вычисляется посредством вычитания вектора движения возможного варианта блока объединения, указываемого посредством индекса возможного варианта блока объединения, из вектора движения в режиме оценки векторов движения. Кроме того, вычисленная разность и индекс возможного варианта блока объединения могут быть присоединены к потоку битов.
[0166] Необязательно разность может быть вычислена посредством масштабирования вектора MV_Merge движения возможного варианта блока объединения с использованием индекса RefIdx_ME опорного изображения в режиме оценки движения и индекса RefIdx_Merge опорного изображения возможного варианта блока объединения и вычитания вектора scaledMV_Merge движения возможного варианта блока объединения после масштабирования из вектора движения в режиме оценки движения. Кроме того, вычисленная разность и индекс возможного варианта блока объединения могут быть присоединены к потоку битов. Ниже приводится примерная формула для масштабирования.
[0167] (Уравнение 2)
scaledMV_Merge=MV_Merge*(POC(RefIdx_ME)-curPOC)/(POC(RefIdx_Merge)-curPOC)
[0168] Здесь POC (RefIdx_ME) обозначает порядок отображения опорного изображения, указываемого посредством индекса RefIdx_ME опорного изображения. POC (RefIdx_Merge) обозначает порядок отображения опорного изображения, указываемого посредством индекса RefIdx_Merge опорного изображения. curPOC обозначает порядок отображения текущего изображения, которое должно быть кодировано.
[0169] Второй вариант осуществления
Устройство декодирования изображений, которое осуществляет способ декодирования изображений согласно второму варианту осуществления, описывается со ссылкой на фиг. 21-24. Во втором варианте осуществления приводится описание случая, когда прогнозное изображение формируется посредством извлечения возможных вариантов блоков объединения в расчете на PU (в расчете на целевой блок прогнозирования), при этом PU получается посредством разделения CU (текущий блок, который должен быть декодирован).
[0170] 2-1. Конфигурация устройства декодирования изображений
Фиг. 21 является блок-схемой, показывающей конфигурацию устройства декодирования изображений согласно второму варианту осуществления. Устройство 300 декодирования изображений является устройством, соответствующим устройству 100 кодирования изображений согласно первому варианту осуществления. В частности, например, устройство 300 декодирования изображений декодирует, на поблочной основе, кодированные изображения, включенные в поток битов, сформированный посредством устройства 100 кодирования изображений согласно первому варианту осуществления.
[0171] Как показано на фиг. 21, устройство 300 декодирования изображений включает в себя модуль 301 декодирования переменной длины, модуль 302 обратного квантования, модуль 303 обратного ортогонального преобразования, сумматор 304, запоминающее устройство 305 блоков, запоминающее устройство 306 кадров, модуль 307 внутреннего прогнозирования, модуль 308 взаимного прогнозирования, модуль 309 управления взаимным прогнозированием, переключатель 310, модуль 311 вычисления возможных вариантов блоков объединения и запоминающее устройство 312 colPic.
[0172] Модуль 301 декодирования переменной длины формирует информацию типов изображений, флаг объединения и квантованный коэффициент посредством выполнения декодирования переменной длины для входного потока битов. Кроме того, модуль 301 декодирования переменной длины выполняет декодирование переменной длины для индекса возможного варианта блока объединения с использованием общего числа применимых для объединения возможных вариантов, описанных ниже.
[0173] Модуль 302 обратного квантования обратно квантует квантованный коэффициент, полученный посредством декодирования переменной длины.
[0174] Модуль 303 обратного ортогонального преобразования формирует данные ошибок прогнозирования посредством преобразования коэффициента ортогонального преобразования, полученного посредством обратного квантования, из частотной области в область изображений.
[0175] Запоминающее устройство 305 блоков сохраняет, в единицах блоков, декодированные данные изображений, сформированные посредством суммирования данных ошибок прогнозирования и данных прогнозных изображений.
[0176] Запоминающее устройство 306 кадров сохраняет декодированные данные изображений в единицах кадров.
[0177] Модуль 307 внутреннего прогнозирования формирует данные прогнозных изображений текущего блока, который должен быть декодирован, посредством выполнения внутреннего прогнозирования с использованием декодированных данных изображений, сохраненных в запоминающем устройстве 305 блоков в единицах блоков.
[0178] Модуль 308 взаимного прогнозирования формирует данные прогнозных изображений текущего блока, который должен быть декодирован, посредством выполнения взаимного прогнозирования с использованием декодированных данных изображений, сохраненных в запоминающем устройстве 306 кадров в единицах кадров.
[0179] Когда текущий блок декодируется посредством внутреннего прогнозирующего декодирования, переключатель 310 выводит данные изображений внутреннего прогнозирования, сформированные посредством модуля 307 внутреннего прогнозирования, в качестве данных прогнозных изображений текущего блока в сумматор 304. С другой стороны, когда текущий блок декодируется посредством взаимного прогнозирующего декодирования, переключатель 310 выводит данные изображений взаимного прогнозирования, сформированные посредством модуля 308 взаимного прогнозирования, в качестве данных прогнозных изображений текущего блока в сумматор 304.
[0180] Во втором варианте осуществления модуль 311 вычисления возможных вариантов блоков объединения извлекает возможные варианты блоков объединения в расчете на PU, показанные в (a)-(f) на фиг. 11. Устройство 300 декодирования изображений согласно второму варианту осуществления является устройством, соответствующим устройству 100 кодирования изображений согласно первому варианту осуществления; и, таким образом, во втором варианте осуществления приводится описание случая, когда PU, показанные в (g) и (h) на фиг. 11, не выбираются. Модуль 311 вычисления возможных вариантов блоков объединения извлекает возможные варианты блоков объединения для режима объединения с использованием векторов движения и т. п. соседних блоков относительно целевого блока прогнозирования и вектора движения и т. п. совместно размещенного блока (информации colPic), сохраненных в запоминающем устройстве 312 colPic, с использованием способа, описанного ниже. Кроме того, модуль 311 вычисления возможных вариантов блоков объединения назначает индексы возможных вариантов блоков объединения, имеющие различное значение, извлеченным возможным вариантам блоков объединения. Затем модуль 311 вычисления возможных вариантов блоков объединения передает возможные варианты блоков объединения и индексы возможных вариантов блоков объединения в модуль 309 управления взаимным прогнозированием.
[0181] Модуль 309 управления взаимным прогнозированием инструктирует модулю 308 взаимного прогнозирования формировать изображение взаимного прогнозирования с использованием информации относительно режима оценки векторов движения, когда декодированный флаг объединения равен "0". С другой стороны, когда флаг объединения равен "1", модуль 309 управления взаимным прогнозированием определяет, на основе декодированного индекса возможного варианта блока объединения, вектор движения, индекс опорного изображения и направление прогнозирования для использования при взаимном прогнозировании из множества возможных вариантов блоков объединения. Затем модуль 309 управления взаимным прогнозированием инструктирует модулю 308 взаимного прогнозирования формировать изображение взаимного прогнозирования с использованием определенного вектора движения, индекса опорного изображения и направления прогнозирования. Кроме того, модуль 309 управления взаимным прогнозированием передает информацию colPic, включающую в себя вектор движения текущего блока, в запоминающее устройство 312 colPic.
[0182] В завершение сумматор 304 формирует декодированные данные изображений посредством суммирования данных прогнозных изображений и данных ошибок прогнозирования.
[0183] 2-2. Осуществление способа декодирования изображений посредством устройства декодирования изображений
Далее, ссылаясь на фиг. 22-24, приводится описание операций обработки устройства 300 декодирования изображений (осуществления способа декодирования изображений).
[0184] Фиг. 22 является блок-схемой последовательности операций способа, показывающей операции обработки устройства декодирования изображений согласно второму варианту осуществления.
[0185] Устройство 300 декодирования изображений сначала разделяет текущий блок на множество субблоков и определяет один из субблоков в качестве целевого блока прогнозирования.
[0186] На этапе S301 модуль 301 декодирования переменной длины декодирует флаг объединения.
[0187] Когда на этапе S302 флаг объединения равен "1" (S302, "Да"), на этапе S303 модуль 311 вычисления возможных вариантов блоков объединения вычисляет общее число применимых для объединения возможных вариантов с использованием способа, описанного ниже. Затем модуль 311 вычисления возможных вариантов блоков объединения определяет вычисленный номер применимых для объединения возможных вариантов в качестве размера списка возможных вариантов блоков объединения.
[0188] На этапе S304 модуль 301 декодирования переменной длины выполняет декодирование переменной длины для индекса возможного варианта блока объединения из потока битов с использованием размера списка возможных вариантов блоков объединения.
[0189] На этапе S305 модуль 311 вычисления возможных вариантов блоков объединения формирует возможные варианты блоков объединения из соседних блоков и совместно размещенного блока для целевого блока прогнозирования с использованием способа, описанного ниже.
[0190] На этапе S306 модуль 309 управления взаимным прогнозированием инструктирует модулю 308 взаимного прогнозирования формировать изображение взаимного прогнозирования с использованием вектора движения, индекса опорного изображения и направления прогнозирования возможного варианта блока объединения, указываемого посредством декодированного индекса возможного варианта блока объединения.
[0191] Когда флаг объединения равен "0" на этапе S302 (S302, "Нет"), на этапе S307 модуль 308 взаимного прогнозирования формирует изображение взаимного прогнозирования с использованием информации относительно режима оценки векторов движения, декодированного посредством модуля 301 декодирования переменной длины.
[0192] Необязательно когда размер списка возможных вариантов блоков объединения, вычисленный на этапе S303, равен "1", индекс возможного варианта блока объединения может оцениваться равным "0" без декодирования.
[0193] Фиг. 23 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S303, показанном на фиг. 22. В частности, фиг. 23 иллюстрирует способ определения того, является или нет возможный вариант [N] блока объединения применимым для объединения возможным вариантом и вычисления общего числа применимых для объединения возможных вариантов. Ниже описывается фиг. 23.
[0194] На этапе S311 модуль 311 вычисления возможных вариантов блоков объединения определяет то, является истиной или ложью то, что (1) возможный вариант [N] блока объединения декодирован посредством внутреннего прогнозирования, (2) возможный вариант [N] блока объединения является блоком за пределами границы серии последовательных макроблоков, включающей в себя текущий блок, или границы изображения, включающей в себя текущий блок, или (3) возможный вариант [N] блока объединения по-прежнему должен быть декодирован.
[0195] Когда результат определения на этапе S311 является истиной (S311, "Да"), модуль 311 вычисления возможных вариантов блоков объединения определяет блок, соответствующий возможному варианту [N] блока объединения, в качестве нецелевого блока объединения. Кроме того, на этапе S313 модуль 311 вычисления возможных вариантов блоков объединения задает возможный вариант [N] блока объединения в качестве неприменимого для объединения возможного варианта.
[0196] С другой стороны, когда результат определения на этапе S311 является ложью (S311, "Нет"), на этапе 312 модуль 311 вычисления возможных вариантов блоков объединения определяет то, является или нет блок, соответствующий возможному варианту [N] блока объединения, нецелевым блоком объединения (первая обработка определения).
[0197] Когда результат определения на этапе S312 является истиной (S312, "Да"), модуль 311 вычисления возможных вариантов блоков объединения определяет возможный вариант [N] блока объединения в качестве неприменимого для объединения возможного варианта на этапе S313.
[0198] Таким образом, при декодировании посредством разделения CU на сегменты и когда соседний блок расположен в идентичной CU, можно надлежащим образом декодировать поток битов, сформированный посредством устройства 100 кодирования изображений, посредством недобавления соседнего блока в список возможных вариантов блоков объединения.
[0199] С другой стороны, когда результат определения на этапе S312 является ложью (S312, "Нет"), модуль 311 вычисления возможных вариантов блоков объединения определяет возможный вариант [N] блока объединения в качестве применимого для объединения возможного варианта на этапе S314.
[0200] На этапе S315 модуль 311 вычисления возможных вариантов блоков объединения определяет то, является истиной или ложью то, что возможный вариант [N] блока объединения является либо применимым для объединения возможным вариантом, либо совместно размещенным возможным вариантом блока объединения.
[0201] Когда результат определения на этапе S315 является истиной (S315, "Да"), модуль 311 вычисления возможных вариантов блоков объединения обновляет общее число возможных вариантов блоков объединения посредством его увеличения на единицу на этапе S316.
[0202] С другой стороны, когда результат определения на этапе S315 является ложью (S315, "Нет"), модуль 311 вычисления возможных вариантов блоков объединения не обновляет общее число применимых для объединения возможных вариантов.
[0203] Таким образом, когда возможный вариант блока объединения является совместно размещенным блоком объединения, модуль 311 вычисления возможных вариантов блоков объединения увеличивает общее число применимых для объединения возможных вариантов на единицу независимо от того, является совместно размещенный блок применимым для объединения возможным вариантом или неприменимым для объединения возможным вариантом. Это предотвращает несоответствие чисел применимых для объединения возможных вариантов между устройством кодирования изображений и устройством декодирования изображений, даже когда информация относительно совместно размещенного блока объединения потеряна вследствие такого события, как потери пакетов.
[0204] Общее число применимых для объединения возможных вариантов задается в качестве размера списка возможных вариантов блоков объединения на этапе S303, показанном на фиг. 22. Кроме того, размер списка возможных вариантов блоков объединения используется при декодировании переменной длины индексов возможных вариантов блоков объединения на этапе S304, показанном на фиг. 22. Это позволяет устройству 300 декодирования изображений декодировать индексы возможных вариантов блоков объединения нормально, даже когда потеряна информация относительно опорного изображения, включающего в себя совместно размещенный блок.
[0205] Следует отметить, что пример, показанный во втором варианте осуществления, в котором этап S311 выполняется перед этапом S312 на фиг. 23, не является ограничивающим. Например, этап S312 может выполняться перед этапом S311. Помимо этого, например, этап S311 и этап S312 могут выполняться на одном этапе. Кроме того, этап S311 не обязательно должен выполняться.
[0206] Кроме того, во втором варианте осуществления модуль 311 вычисления возможных вариантов блоков объединения определяет на этапе S312, что возможные варианты [N] блоков объединения представляют собой нецелевой блок объединения, когда возможный вариант [N] блока объединения включается в текущий блок; тем не менее, процесс может отличаться. Когда возможный вариант [N] блока объединения не включается в текущий блок, модуль 311 вычисления возможных вариантов блоков объединения может определять то, что возможный вариант [N] блока объединения должен быть целевым блоком объединения. В этом случае модуль 311 вычисления возможных вариантов блоков объединения переходит к этапу S314, когда результат определения на S312 на фиг. 23 представляет собой целевой блок объединения. Модуль 311 вычисления возможных вариантов блоков объединения переходит к этапу S313, когда результат определения на S312 не представляет собой целевой блок объединения.
[0207] Основным структурным элементом во втором варианте осуществления является этап S312.
[0208] Фиг. 24 является блок-схемой последовательности операций способа, показывающей подробности процесса на этапе S305, показанном на фиг. 22. В частности, фиг. 24 иллюстрирует способ вычисления возможного варианта блока объединения. Ниже описывается фиг. 24.
[0209] На этапе S321 модуль 311 вычисления возможных вариантов блоков объединения получает вектор движения, индекс опорного изображения и направление прогнозирования возможного варианта [N] блока объединения и добавляет их в список возможных вариантов блоков объединения (часть первой обработки извлечения).
[0210] На этапе S322 модуль 311 вычисления возможных вариантов блоков объединения выполняет поиск в списке возможных вариантов блоков объединения на предмет не применимого для объединения возможного варианта и идентичного возможного варианта и удаляет не применимый для объединения возможный вариант и идентичный возможный вариант из списка возможных вариантов блоков объединения, как показано на фиг. 14A-14D (часть первой обработки извлечения).
[0211] На этапе S323 модуль 311 вычисления возможных вариантов блоков объединения добавляет новый возможный вариант в список возможных вариантов блоков объединения с использованием способа, как проиллюстрировано на фиг. 19.
[0212] Фиг. 25 показывает примерный синтаксис для присоединения индексов возможных вариантов блоков объединения к потоку битов. На фиг. 25 merge_idx представляет индекс возможного варианта блока объединения, и merge_flag представляет флаг объединения. NumMergeCand представляет размер списка возможных вариантов блоков объединения. Во втором варианте осуществления NumMergeCand задается равным общему числу применимых для объединения возможных вариантов, вычисленных в последовательности операций обработки, показанной на фиг. 23.
[0213] 2-3. Преимущества, вариации и т.п.
Как описано выше, в случае если CU разделяется на сегменты для декодирования, и когда соседний блок расположен в идентичной CU, устройство 300 декодирования изображений согласно второму варианту осуществления не добавляет соседний блок в качестве возможного варианта блока объединения, так что индекс возможного варианта блока объединения не должен назначаться избыточному возможному варианту блока объединения. Это обусловлено тем, что использование идентичного направления прогнозирования, вектора движения и индекса опорного изображения для всех сегментов приводит к результату, практически идентичному результатам, полученным посредством формирования прогнозного изображения в расчете на CU. Это снижает преимущества, полученные посредством разделения CU на PU. Как результат, устройство 300 декодирования изображений допускает надлежащее декодирование потока битов, кодированного с повышенной эффективностью кодирования. Кроме того, удаление большего числа избыточных возможных вариантов блоков объединения из списка возможных вариантов блоков объединения дает возможность добавления большего числа новых возможных вариантов. Как результат, устройство 300 декодирования изображений допускает надлежащее декодирование потока битов, кодированного с повышенной эффективностью кодирования.
[0214] Таким образом, устройство 300 декодирования изображений согласно второму варианту осуществления допускает вычисление размера списка возможных вариантов блоков объединения для использования при кодировании или декодировании индекса возможного варианта блока объединения с использованием способа, независимого от информации относительно опорных изображений, включающих в себя совместно размещенный блок. Следовательно, устройство 300 декодирования изображений может надлежащим образом декодировать поток битов, имеющий повышенную устойчивость к ошибкам.
[0215] Более конкретно независимо от того, является или нет совместно размещенный блок объединения применимым для объединения возможным вариантом, устройство 300 декодирования изображений согласно второму варианту осуществления увеличивает общее число применимых для объединения возможных вариантов на единицу каждый раз, когда возможный вариант блока объединения определяется в качестве совместно размещенного блока объединения. Затем устройство 300 декодирования изображений определяет битовую последовательность, назначаемую индексу возможного варианта блока объединения, с использованием общего числа применимых для объединения возможных вариантов, вычисленных таким образом. Это позволяет устройству 300 декодирования изображений декодировать индексы возможных вариантов блоков объединения нормально, даже когда потеряна информация относительно опорного изображения, включающего в себя совместно размещенный блок.
[0216] Кроме того, когда общее число возможных вариантов блоков объединения меньше общего числа применимых для объединения возможных вариантов, устройство 300 декодирования изображений согласно второму варианту осуществления может надлежащим образом декодировать поток битов, кодированный с повышенной эффективностью кодирования посредством, добавления нового возможного варианта, имеющего новый вектор движения, новый индекс опорного изображения и новое направление прогнозирования, в качестве возможного варианта блока объединения.
[0217] Пример во втором варианте осуществления, в котором CU разделяется на PU (сегменты), к примеру, 2NxN, 2NxnU, 2NxnD, Nx2N, nLx2N и nRx2N, не является ограничивающим. Например, второй вариант осуществления может применяться к случаю, в котором единица прогнозного блока составляет NxN, как показано в (g) на фиг. 11. Кроме того, в этом случае, когда соседний блок расположен в идентичной CU, устройство 300 декодирования изображений не добавляет соседний блок в список возможных вариантов блоков объединения, так что индекс возможного варианта блока объединения не должен назначаться избыточному возможному варианту блока объединения. Это дает возможность надлежащего декодирования потока битов, кодированного с повышенной эффективностью кодирования.
[0218] Следует отметить, что пример, описанный во втором варианте осуществления, в котором независимо от того, является совместно размещенный блок объединения применимым для объединения возможным вариантом или не применимым для объединения возможным вариантом, устройство 300 декодирования изображений увеличивает общее число возможных вариантов блоков объединения на единицу, как показано на этапе S315 на фиг. 23, не является ограничивающим. Относительно других блоков устройство 300 декодирования изображений может всегда увеличивать общее число возможных вариантов блоков объединения на единицу независимо от того, являются блоки применимыми для объединения возможными вариантами или не применимыми для объединения возможными вариантами. В этом случае, например, устройство 300 декодирования изображений может всегда фиксировать общее число применимых для объединения возможных вариантов равным максимальному значению Max общего числа возможных вариантов блоков объединения. Другими словами, может случиться так, что устройство 300 декодирования изображений рассматривает все возможные варианты блоков объединения в качестве применимых для объединения возможных вариантов, фиксирует размер списка возможных вариантов блоков объединения равным максимальному значению N общего числа возможных вариантов блоков объединения и декодирует индекс возможного варианта блока объединения.
[0219] Например, во втором варианте осуществления, максимальное значение Max общего числа возможных вариантов блоков объединения равно 5 (соседний блок A, соседний блок B, совместно размещенный блок объединения, соседний блок C и соседний блок D). Следовательно, устройство 300 декодирования изображений может всегда задавать 5 в качестве размера списка возможных вариантов блоков объединения и декодировать индекс возможного варианта блока объединения. Кроме того, в случае изображения, кодированного без ссылки на совместно размещенный блок объединения (B-изображение или P-изображение, кодированное в отношении I-изображения), устройство 300 декодирования изображений может задавать значение "4" (соседний блок A, соседний блок B, соседний блок C и соседний блок D) в качестве максимального значения Max общего числа возможных вариантов блоков объединения. Следовательно, модуль декодирования переменной длины устройства декодирования изображений может декодировать индекс возможного варианта блока объединения из потока битов без обращения к информации относительно соседнего блока или относительно совместно размещенного блока. Как результат, например, этап S314 и этап S315, показанные на фиг. 23, могут пропускаться, так что может уменьшаться вычислительная сложность для модуля декодирования переменной длины.
[0220] Фиг. 26 показывает примерный синтаксис в случае, если размер списка возможных вариантов блоков объединения является фиксированно равным максимальному значению общего числа возможных вариантов блоков объединения. Как можно видеть из фиг. 26, NumMergeCand может опускаться из синтаксиса, когда размер списка возможных вариантов блоков объединения является фиксированно равным максимальному значению общего числа возможных вариантов блоков объединения.
[0221] Необязательно в качестве максимального значения Max общего числа возможных вариантов блоков объединения может использоваться значение, которое встраивается в SPS, PPS, заголовок серии последовательных макроблоков и т. п. Это позволяет изменять максимальное значение Max общего числа возможных вариантов блоков объединения для каждого текущего изображения, что дает возможность уменьшения вычислительной сложности и надлежащего декодирования потока битов, кодированного с повышенной эффективностью кодирования.
[0222] Изменения первого варианта осуществления и второго варианта осуществления
В первом варианте осуществления и втором варианте осуществления приводятся описания случая, в котором возможные варианты блоков объединения формируются из пространственно соседних блоков (например, соседних блоков A-E) целевого блока (текущего блока, который должен быть кодирован или декодирован) и временно соседнего блока (например, совместно размещенного блока) в соответствии с процессом, показанным на фиг. 15 или фиг. 24, и формируются возможные варианты блоков объединения, показанные на фиг. 14A-14D.
[0223] Здесь в первом варианте осуществления и втором варианте осуществления, когда размер списка возможных вариантов блоков объединения является фиксированным значением, и список возможных вариантов блоков объединения имеет пустую запись, пустая запись списка возможных вариантов блоков объединения может быть заполнена предварительно определенным возможным вариантом блока объединения для повышения устойчивости к ошибкам (вторым возможным вариантом), так что может повышаться устойчивость к ошибкам.
[0224] Например, когда текущее изображение (которое должно быть кодировано или декодировано) является B-изображением, второй возможный вариант, который должен быть добавлен, может быть бипрогнозирующим возможным вариантом блока объединения, включающим в себя набор из индекса 0 опорного изображения для направления 0 прогнозирования и вектора движения (0, 0) и набор из индекса 0 опорного изображения для направления 1 прогнозирования и вектора движения (0, 0). Например, когда текущее изображение является P-изображением, второй возможный вариант, который должен быть добавлен, может быть унипрогнозирующим возможным вариантом блока объединения, включающим в себя индекс 0 опорного изображения для направления 0 прогнозирования и вектора движения (0, 0). Поскольку вторые возможные варианты добавляются в целях повышения устойчивости к ошибкам, вторые возможные варианты могут задаваться с возможностью иметь идентичные значения. Поскольку новые возможные варианты добавляются в целях повышения эффективности кодирования, добавленные новые возможные варианты отличаются друг от друга. Следует отметить, что в результате новый возможный вариант может быть идентичным первому возможному варианту или второму возможному варианту.
[0225] Например, в примере, показанном в (a) на фиг. 14A, максимальное значение общего числа возможных вариантов блоков объединения равно 5. Как показано в (b) на фиг. 14A, общее число возможных вариантов блоков объединения (число первых возможных вариантов) равно 4. Следовательно, в примере, показанном на фиг. 14A, возможный вариант блока объединения не назначается индексу 4 возможного варианта блока объединения. Может случиться так, что второй возможный вариант, например, бипрогнозирующий возможный вариант блока объединения, включающий в себя набор из индекса 0 опорного изображения для направления 0 прогнозирования и вектора движения (0, 0) и набор из индекса 0 опорного изображения для направления 1 прогнозирования и вектора движения (0, 0), может назначаться индексу 4 возможного варианта блока объединения.
[0226] За счет этого, например, устройство 300 декодирования изображений может не допускать наличия декодированного индекса возможного варианта блока объединения, которому не назначается возможный вариант блока объединения, даже когда возникает ошибка при удалении идентичного возможного варианта из возможных вариантов блоков объединения.
[0227] Следует отметить, что настоящее изменение, в котором возможный вариант блока объединения, имеющий опорное изображение 0 и вектор движения (0, 0), назначается индексу возможного варианта блока объединения, которому не назначается возможный вариант блока объединения, не является ограничивающим. Примеры вторых возможных вариантов включают в себя копию возможного варианта блока объединения, назначаемого другому индексу возможного варианта блока объединения. Кроме того, второй возможный вариант может быть сформирован из возможных вариантов блоков объединения, назначаемых другим возможным вариантам блоков объединения, к примеру, сформированным посредством усреднения возможных вариантов, назначаемых другим индексам возможных вариантов блоков объединения.
[0228] Кроме того, устройство 300 декодирования изображений может определять на этапе S306 на фиг. 22 то, назначен или нет возможный вариант блока объединения декодированному индексу возможного варианта блока объединения, и использовать второй возможный вариант, когда возможный вариант блока объединения не назначен.
[0229] Например, устройство 300 декодирования изображений может определять на этапе S306 на фиг. 22 то, превышает или равно либо нет значение декодированного индекса возможного варианта блока объединения общему числу возможных вариантов блоков объединения, вычисленному на этапе S305, и использовать второй возможный вариант, когда значение индекса возможного варианта блока объединения превышает или равно общему числу возможных вариантов блоков объединения.
[0230] Кроме того, например, устройство 300 декодирования изображений может определять на этапе S306 на фиг. 22 то, превышает или равно либо нет значение декодированного индекса возможного варианта блока объединения общему числу возможных вариантов блоков объединения, вычисленному на этапе S305, и когда значение декодированного индекса возможного варианта блока объединения превышает или равно общему числу возможных вариантов блоков объединения, значение индекса возможного варианта блока объединения может быть отсечено таким образом, что значение декодированного индекса возможного варианта блока объединения меньше общего числа возможных вариантов блоков объединения. За счет этого, например, можно не допускать наличия декодированного индекса возможного варианта блока объединения, которому не назначается возможный вариант блока объединения, даже когда возникает ошибка при удалении идентичного возможного варианта из возможных вариантов блоков объединения.
[0231] Третий вариант осуществления
Обработка, описанная в каждом из вариантов осуществления, может быть реализована просто в независимой компьютерной системе, посредством записи, на носителе записи, одной или более программ для реализации конфигураций способа кодирования движущихся изображений (способа кодирования изображений) и способа декодирования движущихся изображений (способа декодирования изображений), описанных в каждом из вариантов осуществления. Носители записи могут быть любыми носителями записи при условии, что программа может записываться, такими как магнитный диск, оптический диск, магнитооптический диск, IC-карта и полупроводниковое запоминающее устройство.
[0232] В дальнейшем в этом документе описываются варианты применения к способу кодирования движущихся изображений (способу кодирования изображений) и способу декодирования движущихся изображений (способу декодирования изображений), описанных в каждом из вариантов осуществления, и к системам с их использованием. Система имеет признак наличия устройства кодирования изображений, которое включает в себя устройство кодирования изображений с использованием способа кодирования изображений и устройство декодирования изображений с использованием способа декодирования изображений. Другие конфигурации в системе могут быть изменены надлежащим образом в зависимости от случаев применения.
[0233] Фиг. 27 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи разделяется на соты требуемого размера, и базовые станции ex106, ex107, ex108, ex109 и ex110, которые являются стационарными беспроводными станциями, размещаются в каждой из сот.
[0234] Система ex100 предоставления контента подключается к таким устройствам, как компьютер ex111, персональное цифровое устройство (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 Интернет-услуг, телефонную сеть ex104, а также базовые станции ex106-ex110 соответственно.
[0235] Тем не менее конфигурация системы ex100 предоставления контента не ограничена конфигурацией, показанной на фиг. 27, и комбинация, в которой подключаются любые из элементов, является допустимой. Помимо этого каждое устройство может подключаться к телефонной сети ex104 непосредственно, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть подключены друг к другу через беспроводную связь ближнего действия и т. п.
[0236] Камера ex113, такая как цифровая видеокамера, допускает захват видео. Камера ex116, такая как цифровая камера, допускает захват как неподвижных изображений, так и видео. Кроме того, сотовый телефон ex114 может быть телефоном, который удовлетворяет любому из таких стандартов, как глобальная система мобильной связи (GSM) (зарегистрированная торговая марка), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), стандарт долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно сотовый телефон ex114 может соответствовать стандарту системы персональных мобильных телефонов (PHS).
[0237] В системе ex100 предоставления контента сервер ex103 потоковой передачи подключается к камере ex113 и т. п. через телефонную сеть ex104 и базовую станцию ex109, которая предоставляет распространение изображений трансляции в прямом эфире и т. п. При таком распределении контент (например, видео музыкального концерта в прямом эфире), захватываемый пользователем с использованием камеры ex113, кодируется так, как описано выше в каждом из вариантов осуществления (т. е. камера выступает в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет потоковое распространение передаваемых данных контента в клиенты при запросах. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые допускают декодирование вышеуказанных кодированных данных. Каждое из устройств, которое принимает распределенные данные, декодирует и воспроизводит кодированные данные (т. е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0238] Захватываемые данные могут кодироваться посредством камеры ex113 или сервера ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть совместно использованы камерой ex113 и сервером ex103 потоковой передачи. Аналогично распространенные данные могут быть декодированы посредством клиентов или сервера ex103 потоковой передачи, или процессы декодирования могут быть совместно использованы клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видео, захватываемых не только посредством камеры ex113, но также и камеры ex116, могут быть переданы на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут выполняться посредством камеры ex116, компьютера ex111 или сервера ex103 потоковой передачи или совместно использоваться ими.
[0239] Кроме того, процессы кодирования могут выполняться посредством LSI ex500, в общем, включенной в каждый из компьютера ex111 и устройств. LSI ex500 может быть сконфигурирована из одного кристалла или множества кристаллов. Программное обеспечение для кодирования видео может быть интегрировано в определенный тип носителя записи (такой как CD-ROM, гибкий диск и жесткий диск), который является читаемым посредством компьютера ex111 и т. п., и процессы кодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 содержит камеру, могут передаваться видеоданные, полученные посредством камеры. Видеоданные - это данные, кодированные посредством LSI ex500, включенной в сотовый телефон ex114.
[0240] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0241] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 предоставления контента, так что пользователь, который не имеет конкретных прав и оборудования, может реализовывать персональную широковещательную передачу.
[0242] Помимо примера системы ex100 предоставления контента, по меньшей мере, одно из устройств кодирования движущихся изображений (устройства кодирования изображений), описанных в каждом из вариантов осуществления, может быть реализовано в цифровой широковещательной системе ex200, проиллюстрированной на фиг. 28. Более конкретно широковещательная станция ex201 сообщает или передает по радиоволнам в широковещательный спутник ex202 мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т. п. в видеоданные. Видеоданные являются данными, кодированными посредством способа кодирования движущихся изображений, описанного в каждом из вариантов осуществления (т. е. данными, кодированными посредством устройства кодирования изображений согласно аспекту настоящего изобретения). При приеме мультиплексированных видеоданных широковещательный спутник ex202 передает радиоволны для широковещательной передачи. Затем антенна ex204 для домашнего применения с функцией приема спутниковой широковещательной передачи принимает радиоволны. Далее такое устройство, как телевизионный приемник (приемное устройство) ex300 и абонентская приставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (т. е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения).
[0243] Кроме того, модуль ex218 считывания/записи (i) считывает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи, и в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала, в кодированные данные. Модуль ex218 считывания/записи может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, как показано в каждом из вариантов осуществления. В этом случае воспроизведенные видеосигналы отображаются на мониторе ex219 и могут быть воспроизведены посредством другого устройства или системы с использованием носителя ex215 записи, на котором записываются мультиплексированные данные. Также можно реализовывать устройство декодирования движущихся изображений в абонентской приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутниковой и/или наземной широковещательной передачи, с тем чтобы отображать видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования движущихся изображений может быть реализовано не в абонентской приставке, а в телевизионном приемнике ex300.
[0244] Фиг. 29 иллюстрирует телевизионный приемник (приемное устройство) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Телевизионный приемник ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные, через антенну ex204 или кабель ex203 и т. д., который принимает широковещательную передачу; модуль ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны подаваться наружу; и модуль ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные посредством процессора ex306 сигналов, в данные.
[0245] Телевизионный приемник 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 подключены друг к другу через синхронную шину.
[0246] Во-первых, описывается конфигурация, в которой телевизионный приемник 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 мультиплексирования/демультиплексирования.
[0247] Кроме того, телевизионный приемник ex300 может включать в себя конфигурацию для приема AV-ввода из микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизионный приемник ex300 может кодировать, мультиплексировать и предоставлять наружу данные в описании, он может допускать только прием, декодирование и предоставление наружу данных, а не кодирование, мультиплексирование и предоставление наружу данных.
[0248] Кроме того, когда модуль ex218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизионного приемника ex300 и модуля ex218 считывания/записи может кодировать мультиплексированные данные, и телевизионный приемник ex300 и модуль ex218 считывания/записи могут совместно частично использовать кодирование.
[0249] В качестве примера фиг. 30 иллюстрирует конфигурацию модуля 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 управления системой включает в себя, например, микропроцессор и выполняет обработку посредством инструктирования компьютеру выполнять программу для считывания и записи.
[0250] Хотя в описании оптическая головка ex401 испускает лазерное пятно, она может выполнять запись с высокой плотностью с использованием света в поле в ближней зоне.
[0251] Фиг. 31 иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности для записи носителя ex215 записи направляющие канавки формируются по спирали, и информационная дорожка ex230 записывает заранее информацию адреса, указывающую абсолютную позицию на диске, согласно изменению в форме направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для записи данных. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может приводить к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя зону ex233 записи данных, зону ex232 внутренней окружности и зону ex234 внешней окружности. Зона ex233 записи данных является зоной для использования при записи пользовательских данных. Зона ex232 внутренней окружности и зона ex234 внешней окружности, которые находятся внутри и снаружи зоны ex233 записи данных, соответственно предназначены для конкретного применения за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированное аудио, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированного аудио и кодированных видеоданных, из и в зону ex233 записи данных носителя ex215 записи.
[0252] Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается в качестве примера в описании, оптический диск не ограничен таким образом и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, к примеру, записи информации с использованием света цветов с различными длинами волн в одной части оптического диска и для записи информации, имеющей различные слои, с различных углов.
[0253] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные из спутника ex202 и т. п. и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в цифровой широковещательной системе ex200. Здесь конфигурация автомобильной навигационной системы ex211 является конфигурацией, например, включающей в себя приемный GPS-модуль, из конфигурации, проиллюстрированной на фиг. 29. То же применимо для конфигурации компьютера ex111, сотового телефона ex114 и т.п.
[0254] Фиг. 32A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущихся изображений, описанный в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; модуль ex365 камеры, допускающий захват движущихся и неподвижных изображений; и модуль ex358 отображения, к примеру, жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захватываемое посредством модуля ex365 камеры или принимаемое посредством антенны ex350. Сотовый телефон ex114 дополнительно включает в себя: модуль основного корпуса, включающий в себя модуль ex366 функциональных клавиш; модуль ex357 аудиовывода, к примеру, динамик для вывода аудио; модуль ex356 аудиоввода, к примеру, микрофон для ввода аудио; запоминающее устройство ex367 для сохранения захваченного видео или неподвижных изображений, записанного аудио, кодированных данных принимаемого видео, неподвижных изображений, почтовых сообщений и т. п.; и модуль ex364 гнезда, который является интерфейсным модулем для носителя записи, который сохраняет данные таким же образом, как запоминающее устройство ex367.
[0255] Далее описывается пример конфигурации сотового телефона ex114 со ссылкой на фиг. 32B. В сотовом телефоне ex114 главный модуль ex360 управления, спроектированный с возможностью полностью управлять каждым модулем основного корпуса, включающим в себя модуль ex358 отображения, а также модуль ex366 функциональных клавиш, взаимно соединяется, через синхронную шину ex370, с модулем ex361 схемы электропитания, модулем ex362 управления функциональным вводом, процессором ex355 видеосигналов, модулем ex363 интерфейса камеры, модулем ex359 управления жидкокристаллическим дисплеем (ЖК-дисплеем), модулем ex352 модуляции/демодуляции, модулем ex353 мультиплексирования/демультиплексирования, процессором ex354 аудиосигналов, модулем ex364 гнезда и запоминающим устройством ex367.
[0256] Когда клавиша завершения вызова или клавиша включения питания включается посредством пользовательской операции, модуль ex361 схемы электропитания предоставляет в соответствующие модули питание из аккумуляторной батареи с тем, чтобы активировать сотовый телефон ex114.
[0257] В сотовом телефоне ex114 процессор ex354 аудиосигналов преобразует аудиосигналы, собираемые посредством модуля ex356 аудиоввода в режиме речевой связи, в цифровые аудиосигналы под управлением главного модуля ex360 управления, включающего в себя CPU, ROM и RAM. Затем модуль ex352 модуляции/демодуляции выполняет обработку с расширенным спектром для цифровых аудиосигналов, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для данных, с тем чтобы передавать результирующие данные через антенну ex350. Также в сотовом телефоне ex114 приемо-передающий модуль ex351 усиливает данные, принимаемые посредством антенны ex350 в режиме речевой связи, и выполняет преобразование частоты и аналого-цифровое преобразование для данных. Затем модуль ex352 модуляции/демодуляции выполняет обработку с обратным расширенным спектром для данных, и процессор ex354 аудиосигналов преобразует их в аналоговые аудиосигналы, с тем чтобы выводить их через модуль ex357 аудиовывода.
[0258] Кроме того, когда передается электронная почта в режиме передачи данных, текстовые данные электронной почты, введенные посредством операций с модулем ex366 функциональных клавиш и т. п. основного корпуса, отправляются в главный модуль ex360 управления через модуль ex362 управления функциональным вводом. Главный модуль ex360 управления инструктирует модулю ex352 модуляции/демодуляции выполнять обработку с расширенным спектром для текстовых данных, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для результирующих данных, чтобы передавать данные в базовую станцию ex110 через антенну ex350. Когда принимается почтовое сообщение, обработка, которая является приблизительно обратной относительно обработки для передачи почтового сообщения, выполняется для принимаемых данных, и результирующие данные предоставляются в модуль ex358 отображения.
[0259] Когда передается видео, неподвижные изображения либо видео и аудио в режиме передачи данных, процессор ex355 видеосигналов сжимает и кодирует видеосигналы, предоставляемые из модуля ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в каждом из вариантов осуществления (т. е. выступает в качестве устройства кодирования изображений согласно аспекту настоящего изобретения), и передает кодированные видеоданные в модуль ex353 мультиплексирования/демультиплексирования. Напротив, в течение времени, когда модуль ex365 камеры захватывает видео, неподвижные изображения и т. п., процессор ex354 аудиосигналов кодирует аудиосигналы, собранные посредством модуля ex356 аудиоввода, и передает кодированные аудиоданные в модуль ex353 мультиплексирования/демультиплексирования.
[0260] Модуль ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, подаваемые из процессора ex355 видеосигналов, и кодированные аудиоданные, подаваемые из процессора ex354 аудиосигналов, с использованием предварительно определенного способа. Затем модуль ex352 модуляции/демодуляции (модуль схемы модуляции/демодуляции) выполняет обработку с расширенным спектром для мультиплексированных данных, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для данных, с тем чтобы передавать результирующие данные через антенну ex350.
[0261] При приеме данных видеофайла, который связывается с веб-страницей и т. п., в режиме передачи данных или при приеме почтового сообщения с присоединенным видео и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, модуль ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток битов видеоданных и поток битов аудиоданных и предоставляет в процессор ex355 видеосигналов кодированные видеоданные, а в процессор ex354 аудиосигналов кодированные аудиоданные через синхронную шину ex370. Процессор ex355 видеосигналов декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, показанному в каждом из вариантов осуществления (т.е. выступает в качестве устройства декодирования изображений согласно аспекту настоящего изобретения), и затем модуль ex358 отображения отображает, например, видеоизображения и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через модуль ex359 управления ЖК-дисплеем. Кроме того, процессор ex354 аудиосигналов декодирует аудиосигнал, и модуль ex357 аудиовывода предоставляет аудио. Кроме того, процессор ex354 аудиосигналов декодирует аудиосигнал, и модуль ex357 аудиовывода предоставляет аудио.
[0262] Кроме того, аналогично телевизионному приемнику ex300, терминал, такой как сотовый телефон ex114, вероятно, имеет 3 типа реализованных конфигураций, включающих в себя не только (i) приемо-передающий терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании цифровая широковещательная система ex200 принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в описании, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, связанных с видео, в видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными. Хотя в описании цифровая широковещательная система ex200 принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в описании, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, связанных с видео, в видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными.
[0263] По сути, способ кодирования движущихся изображений в каждом из вариантов осуществления может использоваться в любом из описанных устройств и систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
[0264] Кроме того, настоящее изобретение не ограничено вариантами осуществления, и различные модификации и изменения возможны без отступления от объема настоящего изобретения.
[0265] Четвертый вариант осуществления
Видеоданные могут быть сформированы посредством переключения, по мере необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с другим стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
[0266] Здесь, когда множество видеоданных, которые соответствуют различным стандартам, формируются, а затем декодируются, способы декодирования должны быть выбраны таким образом, что они соответствуют различным стандартам. Тем не менее, поскольку не может быть обнаружено то, какому стандарту соответствуют каждые из множества видеоданных, которые должны быть декодированы, имеется проблема в том, что не может быть выбран надлежащий способ декодирования.
[0267] Чтобы разрешать проблему, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т. п. в видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую то, какому стандарту соответствуют видеоданные. Далее описывается конкретная структура мультиплексированных данных, включающих в себя видеоданные, сформированные в способе кодирования движущихся изображений и посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате транспортных потоков MPEG-2.
[0268] Фиг. 33 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на фиг. 33, мультиплексированные данные могут быть получены посредством мультиплексирования, по меньшей мере, одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма, аудиопоток (IG) представляет часть первичного аудио и часть вторичного аудио, которая должна смешиваться с частью первичного аудио, а поток презентационной графики представляет субтитры фильма. Здесь первичное видео является обычным видео, которое должно отображаться на экране, а вторичное видео является видео, которое должно отображаться в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сформирован посредством размещения GUI-компонентов на экране. Видеопоток кодируется в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления, либо в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений в соответствии с традиционным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии с таким стандартом, как AC-3 Dolby, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
[0269] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, который должен быть использован для видеофильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, которые должны быть использованы для вторичного видеофильма, и 0x1A00-0x1A1F выделяются аудиопотокам, которые должны быть использованы для вторичного аудио, которое должно смешиваться с первичным аудио.
[0270] Фиг. 34 схематично иллюстрирует то, как мультиплексируются данные. Во-первых, видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток PES-пакетов ex236 и поток PES-пакетов ex239 и дополнительно в TS-пакеты ex237 и TS-пакеты ex240 соответственно. Аналогично данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток PES-пакетов ex242 и поток PES-пакетов ex245 и дополнительно в TS-пакеты ex243 и TS-пакеты ex246 соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получать мультиплексированные данные ex247.
[0271] Фиг. 35 иллюстрирует то, как видеопоток сохраняется в потоке PES-пакетов. Первая панель на фиг. 35 показывает поток видеокадров в видеопотоке. Вторая панель показывает поток PES-пакетов. Как указано посредством стрелок, обозначенных как yy1, yy2, yy3 и yy4 на фиг. 35, видеопоток разделяется на изображения, такие как I-изображения, B-изображения и P-изображения, каждое из которых является единицей видеопредставления, и изображения сохраняются в рабочих данных каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок сохраняет временную метку представления (PTS), указывающую время отображения изображения, и временную метку декодирования (DTS), указывающую время декодирования изображения.
[0272] Фиг. 36 иллюстрирует формат 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-фильтр. Исходные пакеты размещаются в мультиплексированных данных, как показано в нижней части фиг. 36. Номера, увеличивающиеся с заголовка мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0273] Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и т. п., но также и таблицу ассоциаций программ (PAT), таблицу структуры программ (PMT) и временную отметку программ (PCR). PAT показывает то, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самого PAT регистрируется как нуль. PMT сохраняет PID потоков видео, аудио, субтитров и т. п., включенных в мультиплексированные данные, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, связанные с мультиплексированными данными. Дескрипторы имеют такую информацию, как информация управления копированием, показывающая то, разрешено или нет копирование мультиплексированных данных. PCR сохраняет информацию STC-времени, соответствующую ATS, показывающей, когда PCR-пакет передается в декодер, чтобы достигать синхронизации между таймером поступления (ATC), т. е. временной осью ATS, и системным таймером (STC), т. е. временной осью PTS и DTS.
[0274] Фиг. 37 подробно поясняет структуру данных PMT. PMT-заголовок располагается в верхней части PMT. PMT-заголовок описывает длину данных, включенных в PMT, и т. п. Множество дескрипторов, связанных с мультиплексированными данными, располагается после PMT-заголовка. Информация, такая как информация управления копированием, описывается в дескрипторах. После дескрипторов располагается множество фрагментов информации потока, связанных с потоками, включенными в мультиплексированные данные. Каждый фрагмент информации потока включает в себя дескрипторы потоков, каждый из которых описывает такую информацию, как тип потока для идентификации кодека сжатия потока, PID потока и информация атрибутов потока (такая как частота кадров или соотношение сторон). Дескрипторы потоков по числу равны числу потоков в мультиплексированных данных.
[0275] Когда мультиплексированные данные записываются на носителе записи и т. д., они записываются вместе с файлами информации мультиплексированных данных.
[0276] Каждый из файлов информации мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на фиг. 38. Файлы информации мультиплексированных данных находятся в соответствии "один-к-одному" с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту вхождений.
[0277] Как проиллюстрировано на фиг. 38, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время завершения воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой декодер системных целевых объектов, который должен быть описан ниже, передает мультиплексированные данные в PID-фильтр. Интервалы ATS, включенных в мультиплексированные данные, задаются не больше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в заголовке мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS задается равным времени завершения воспроизведения.
[0278] Как показано на фиг. 39, фрагмент информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет различную информацию в зависимости от того, является соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия видеопотока, а также разрешение, соотношение сторон и частоту кадров фрагментов данных изображений, которые включаются в видеопоток. Каждый фрагмент информации атрибутов аудиопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов включается в аудиопоток, какой язык поддерживает аудиопоток, и насколько высокой является частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до того, как проигрыватель воспроизводит информацию.
[0279] В настоящем варианте осуществления мультиплексированные данные, которые должны быть использованы, имеют тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для выделения уникальных видеоданных, указывающих информацию, сформированную посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, для типа потока, включенного в PMT, или информации атрибутов видеопотока. При этой конфигурации видеоданные, сформированные посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, могут отличаться от видеоданных, которые соответствуют другому стандарту.
[0280] Кроме того, фиг. 123 иллюстрирует этапы способа декодирования движущихся изображений согласно настоящему варианту осуществления. На этапе exS100 тип потока, включенный в PMT или информацию атрибутов видеопотока, включенную в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем на этапе exS101 определяется то, указывает или нет тип потока либо информация атрибутов видеопотока то, что мультиплексированные данные формируются посредством способа кодирования видео или устройства кодирования видео в каждом из вариантов осуществления. Когда определяется то, что тип потока или информация атрибутов видеопотока указывают то, что мультиплексированные данные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, на этапе exS102 декодирование выполняется посредством способа декодирования движущихся изображений в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает соответствие традиционным стандартам, таким как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS103 декодирование выполняется посредством способа декодирования движущихся изображений в соответствии с традиционными стандартами.
[0281] Также выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает определение того, могут или нет выполнять декодирование способ декодирования движущихся изображений или устройство декодирования движущихся изображений, которые описываются в каждом из вариантов осуществления. Даже когда вводятся мультиплексированные данные, которые соответствуют другому стандарту, может быть выбран надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию без ошибок. Кроме того, способ или устройство кодирования движущихся изображений либо способ или устройство декодирования движущихся изображений в настоящем варианте осуществления могут быть использованы в устройствах и системах, описанных выше.
[0282] Пятый вариант осуществления
Каждый из способа кодирования движущихся изображений и устройства кодирования движущихся изображений в каждом из вариантов осуществления типично осуществляется в форме интегральной схемы или большой интегральной (LSI) схемы. В качестве примера LSI фиг. 41 иллюстрирует конфигурацию LSI ex500, которая состоит из одного кристалла. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые должны быть описаны ниже, и элементы соединяются друг с другом через шину ex510. Модуль ex505 схемы электропитания активируется посредством предоставления в каждый из элементов питания, когда модуль ex505 схемы электропитания включается.
[0283] Например, когда выполняется кодирование, LSI ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и т. п. через AV-ввод/вывод ex509 под управлением модуля ex501 управления, включающего в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504 и модуль ex512 управления частотой возбуждения. Принимаемый AV-сигнал временно сохраняется во внешнем запоминающем устройстве ex511, к примеру, SDRAM. Под управлением модуля ex501 управления сохраненные данные сегментируются на части данных согласно объему и скорости обработки так, что они передаются в процессор ex507 сигналов. Затем процессор ex507 сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, процессор ex507 сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и потоковый ввод-вывод ex506 предоставляет мультиплексированные данные наружу. Предоставляемый поток битов передается в базовую станцию ex107 или записывается на носителе ex215 записи. Когда наборы данных мультиплексируются, данные должны временно сохраняться в буфере ex508 так, что наборы данных являются синхронизированными друг с другом.
[0284] Хотя запоминающее устройство ex511 является элементом за пределами LSI ex500, оно может быть включено в LSI ex500. Буфер ex508 не ограничен одним буфером, а может состоять из буферов. Кроме того, LSI ex500 может состоять из одного кристалла или множества кристаллов.
[0285] Кроме того, хотя модуль ex501 управления включает в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504, модуль ex512 управления частотой возбуждения, конфигурация модуля ex501 управления не ограничена этой. Например, процессор ex507 сигналов дополнительно может включать в себя CPU. Включение другого CPU в процессор ex507 сигналов может повышать скорость обработки. Кроме того, в качестве другого примера CPU ex502 может выступать в качестве или быть частью процессора ex507 сигналов и, например, может включать в себя процессор аудиосигналов. В таком случае модуль ex501 управления включает в себя процессор ex507 сигналов или CPU ex502, включающий в себя часть процессора ex507 сигналов.
[0286] Используемым здесь названием является LSI, но она также может называться IC, системной LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.
[0287] Кроме того, способы достигать интеграции не ограничены LSI, и специальная схема или процессор общего назначения и т. д. также позволяет достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления LSI, или реконфигурируемый процессор, который дает возможность переконфигурирования подключения или конфигурации LSI, может использоваться для аналогичной цели.
[0288] В будущем с развитием полупроводниковых технологий совершенно новая технология может заменять LSI. Функциональные блоки могут быть интегрированы с использованием этой технологии. Имеется возможность того, что настоящее изобретение применимо к биотехнологии.
[0289] Шестой вариант осуществления
Когда декодируются видеоданные, сформированные в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, по сравнению с тем, когда декодируются видеоданные, которые соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, возрастает. Таким образом, LSI ex500 должна задаваться на частоте возбуждения, превышающей частоту CPU ex502, которая должна быть использована, когда видеоданные декодируются в соответствии с традиционным стандартом. Присутствует проблема роста потребления мощности.
[0290] Чтобы разрешать проблему, устройство декодирования движущихся изображений, такое как телевизионный приемник ex300 и LSI ex500, сконфигурировано с возможностью определять то, какому стандарту соответствуют видеоданные, и переключаться между частотами возбуждения согласно определенному стандарту. Фиг. 42 иллюстрирует конфигурацию ex800 в настоящем варианте осуществления. Модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной высокой частоте возбуждения, когда видеоданные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем модуль ex803 переключения частоты возбуждения инструктирует процессору ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения видеоданных, сформированных посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем модуль ex803 переключения частоты возбуждения инструктирует процессору ex802 декодирования, который соответствует традиционному стандарту, декодировать видеоданные.
[0291] Более конкретно модуль ex803 переключения частоты возбуждения включает в себя CPU ex502 и модуль ex512 управления частотой возбуждения на фиг. 41. Здесь каждый из процессора ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и процессора ex802 декодирования, который соответствует традиционному стандарту, соответствует процессору ex507 сигналов на фиг. 41. CPU ex502 определяет то, какому стандарту соответствуют видеоданные. Затем модуль ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала из CPU ex502. Кроме того, процессор ex507 сигналов декодирует видеоданные на основе сигнала из CPU ex502. Например, идентификационная информация, описанная в четвертом варианте осуществления, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничена идентификационной информацией, описанной в четвертом варианте осуществления, а может быть любой информацией при условии, что информация указывает то, какому стандарту соответствуют видеоданные. Например, когда то, какому стандарту соответствуют стандартные видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизионного приемника или диска и т. д., определение может выполняться на основе такого внешнего сигнала. Кроме того, CPU ex502 выбирает частоту возбуждения на основе, например, таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как показано на фиг. 44. Частота возбуждения может быть выбрана посредством сохранения таблицы поиска в буфере ex508 и внутреннем запоминающем устройстве LSI и при обращении к таблице поиска посредством CPU ex502.
[0292] Фиг. 43 иллюстрирует этапы для осуществления способа в настоящем варианте осуществления. Во-первых, на этапе exS200 процессор ex507 сигналов получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201 CPU ex502 определяет на основе идентификационной информации то, формируются или нет видеоданные посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления. Когда видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, на этапе exS202 CPU ex502 передает сигнал для задания частоты возбуждения равной большей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем модуль ex512 управления частотой возбуждения задает частоту возбуждения равной большей частоте возбуждения. С другой стороны, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203 CPU ex502 передает сигнал для задания частоты возбуждения равной меньшей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем модуль ex512 управления частотой возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения в случае, если видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления.
[0293] Кроме того, наряду с переключением частот возбуждения энергосберегающий эффект может быть повышен посредством изменения напряжения, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500. Например, когда частота возбуждения задается меньшей, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается равным напряжению, меньшему напряжения в случае, если частота возбуждения задается большей.
[0294] Кроме того, когда объем обработки для декодирования больше, частота возбуждения может задаваться большей, а когда объем обработки для декодирования меньше, частота возбуждения может задаваться меньшей в качестве способа для задания частоты возбуждения. Таким образом, способ задания не ограничен способами, описанными выше. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC превышает объем обработки для декодирования видеоданных, сформированных посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, частота возбуждения, вероятно, задается в обратном порядке относительно задания, описанного выше.
[0295] Кроме того, способ для задания частоты возбуждения не ограничен способом для задания частоты возбуждения меньшей. Например, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, напряжение, которое должно прикладываться к 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.
[0296] Соответственно энергосберегающий эффект может быть повышен посредством переключения между частотами возбуждения согласно стандарту, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, включающее в себя LSI ex500, возбуждается с использованием аккумулятора, время работы от аккумулятора может быть продлено за счет энергосберегающего эффекта.
[0297] Седьмой вариант осуществления
Возникают случаи, когда множество видеоданных, которые соответствуют различным стандартам, предоставляются в устройства и системы, такие как телевизионный приемник и сотовый телефон. Чтобы обеспечивать декодирование множества видеоданных, которые соответствуют различным стандартам, процессор ex507 сигналов LSI ex500 должен соответствовать различным стандартам. Тем не менее, проблемы увеличения масштаба схемы LSI ex500 и роста затрат возникают при отдельном использовании процессоров ex507 сигналов, которые соответствуют соответствующим стандартам.
[0298] Чтобы разрешать проблему, задумана конфигурация, в которой частично совместно используются процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, и процессор декодирования, который соответствует традиционному стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1. Ex900 на фиг. 45A показывает пример конфигурации. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся изображений, который соответствует MPEG-4 AVC, имеют, частично совместно, сведения по обработке, такой как энтропийное кодирование, обратное квантование, фильтрация для удаления блочности и прогнозирование с компенсацией движения. Сведения по обработке, которая должна совместно использоваться, вероятно, включают в себя использование процессора ex902 декодирования, который соответствует MPEG-4 AVC. Напротив, выделенный процессор ex901 декодирования, вероятно, используется для другой обработки, уникальной для аспекта настоящего изобретения и не соответствует MPEG-4 AVC. Поскольку аспект настоящего изобретения конкретно отличается посредством обратного квантования, например, выделенный процессор ex901 декодирования используется для обратного квантования. В противном случае процессор декодирования, вероятно, совместно используется для одного из энтропийного декодирования, фильтрации для удаления блочности и компенсации движения либо для всей обработки. Процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, может быть совместно использован для обработки, которая должна совместно использоваться, и выделенный процессор декодирования может использоваться для обработки, уникальной для MPEG-4 AVC.
[0299] Кроме того, ex1000 на фиг. 45B показывает другой пример, в котором обработка совместно используется частично. Этот пример использует конфигурацию, включающую в себя выделенный процессор ex1001 декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, выделенный процессор ex1002 декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и процессор ex1003 декодирования, который поддерживает обработку, которая должна совместно использоваться способом декодирования движущихся изображений согласно аспекту настоящего изобретения и традиционным способом декодирования движущихся изображений. Здесь выделенные процессоры ex1001 и ex1002 декодирования не обязательно являются специализированными для обработки согласно аспекту настоящего изобретения и обработки по традиционному стандарту соответственно и могут быть процессорами, допускающими реализацию общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством LSI ex500.
[0300] Также уменьшение масштаба схемы LSI и сокращение затрат возможно за счет совместного использования процессора декодирования для обработки, которая должна совместно использоваться способом декодирования движущихся изображений согласно аспекту настоящего изобретения и способом декодирования движущихся изображений в соответствии с традиционным стандартом.
Промышленная применимость
[0301] Способ кодирования изображений и способ декодирования изображений согласно аспекту настоящего изобретения преимущественно являются применимыми к способу кодирования движущихся изображений и способу декодирования движущихся изображений.
Список номеров ссылок
[0302] 100, 1000 - устройство кодирования изображений
101, 1001 - модуль вычитания
102, 1002 - модуль ортогонального преобразования
103, 1003 - модуль квантования
104, 1004, 302, 2002 - модуль обратного квантования
105, 1005, 303, 2003 - модуль обратного ортогонального преобразования
106, 1006, 304, 2004 - сумматор
107, 1007, 305, 2005 - запоминающее устройство блоков
108, 1008, 306, 2006 - запоминающее устройство кадров
109, 1009, 307, 2007 - модуль внутреннего прогнозирования
110, 1010, 308, 2008 - модуль взаимного прогнозирования
111, 1011, 309, 2009 - модуль управления взаимным прогнозированием
112, 1012 - модуль определения типов изображений
113, 1013, 310, 2010 - переключатель
114, 1014, 311, 2011 - модуль вычисления возможных вариантов блоков объединения
115, 1015, 312, 2012 - запоминающее устройство colPic
116, 1016 - модуль кодирования переменной длины
300, 2000 - устройство декодирования изображений
301, 2001 - модуль декодирования переменной длины.