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

Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений и, более конкретно, к устройству и способу обработки изображений, позволяющим предотвращать снижение эффективности кодирования.
Уровень техники
В последнее время увеличилась потребность в сжатии необработанных данных, которые генерирует датчик изображения и т.п., и данных изображения перед выполнением обработки устранения мозаики и т.п.
В качестве системы кодирования данных изображения используется MPEG 4 Часть 10 (Усовершенствованное кодирование видеоданных, ниже называется AVC). В последнее время, для улучшения эффективности кодирования, проводится стандартизация системы кодирования, называемая высокоэффективным кодированием видеоданных (HEVC), в Joint Collaboration Team - Video Coding (JCTVC), которая представляет собой объединенную группу - организатор стандартов Международного союза электросвязи, Сектор стандартизации (ITU-T) и Международной организации по стандартизации/ Международной электротехнической комиссии (ISO/IEC) (например, см. патентный документ 1).
В такой системе кодирования был рассмотрен способ для выполнения прогнозирования остаточного сигнала между компонентами (например, см. непатентный документ 2).
Список литературы
Непатентный документ
Непатентный документ 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Ye-Kui Wang, Thomas Wiegand, "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call)", JCTVC-L1003_version 34, 2013-03-19.
Непатентный документ 2: Wei Pu, Woo-Shik Kim, Jianle Chen, Joel Sole, Marta Karczewicz, "RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4", JCTVC-O0202, 2013-11-11.
Раскрытие изобретения
Задачи, решаемые изобретением
Однако обычно значения глубины битов данных компонентов являются независимыми друг от друга, и, соответственно, существует вероятность то, что в них будут установлены различные значения. Однако в способе, раскрытом в Непатентном документе 2, прогнозирование глубины битов между взаимно разными компонентами не рассматривается, и существует опасение, что прогнозирование не будет выполнено правильно, и это снижает эффективность кодирования.
Настоящее раскрытие выполнено с учетом такой ситуации и направлено на подавление снижения эффективности кодирования.
Решения задачи
В соответствии с одним вариантом осуществления настоящей технологии, предусмотрено устройство обработки изображений, включающее в себя: модуль остаточного прогнозирования, который выполняет прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда прогнозирование выполняется среди компонентов для остаточных данных между входным изображением, сконфигурированным из множества компонентов, и прогнозируемым изображением; и модуль кодирования, который кодирует прогнозированные остаточные данные, сгенерированные в ходе прогнозирования, выполняемом модулем остаточного прогнозирования.
Модуль остаточного прогнозирования может компоновать значения глубины битов остаточных данных, так, чтобы они были однородными, используя сдвиг битов.
Модуль остаточного прогнозирования может выполнять прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда разность между значениями глубины битов двух компонентов, для которых выполняется прогнозирование, не равна нулю.
Модуль остаточного прогнозирования может выполнять прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда разность между значениями глубины битов является положительной, и может пропускать прогнозирование в случае, когда разность между значениями глубины битов является отрицательной.
Модуль остаточного прогнозирования может выполнять прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда цветовое пространство входного изображения не является пространством RGB, и может пропускать прогнозирование в случае, когда цветовое пространство входного изображения представляет собой пространство RGB.
Цветовое пространство входного изображения может представлять собой пространство YUV, и модуль остаточного прогнозирования может выполнять прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными, используя сдвиг битов между компонентом яркости и цветоразностным компонентом.
Цветовое пространство входного изображения может представлять собой пространство RGB, и модуль остаточного прогнозирования может выполнять прогнозирование, используя значения глубины битов остаточных данных, скомпонованных так, чтобы они были однородными, используя сдвиг битов между компонентом G и компонентом R или компонентом В.
Модуль остаточного прогнозирования может выполнять прогнозирование путем получения разности между значениями глубины битов двух компонентов, для которых выполняется прогнозирование, выполняя сдвиг битов остаточных данных одного компонента из двух компонентов, который соответствует разности между значениями глубины битов, умножая остаточные данные со сдвигом битов на заданный весовой коэффициент, выполняя сдвиг битов результата умножения, который соответствует заданному количеству битов, и получая разность между остаточными данными другого компонента и результатом сдвига битов при умножении.
Модуль остаточного прогнозирования может устанавливать весовой коэффициент, который является общим для множества компонентов.
В соответствии с одним вариантом осуществления настоящей технологии, предусмотрен способ обработки изображений, включающий в себя: выполняют прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда прогнозирование выполняют среди компонентов для остаточных данных между входным изображением, сконфигурированным из множества компонентов, и прогнозируемым изображением; и кодируют прогнозированные остаточные данных, сгенерированные путем прогнозирования.
В соответствии с другим вариантом осуществления настоящей технологии, предусмотрено устройство обработки изображений, включающее в себя: модуль декодирования, который декодирует кодированные данные, в которых кодированы прогнозированные остаточные данные, которые представляют собой результат прогнозирования остаточных данных между изображением, сконфигурированным множеством компонентов и его прогнозируемым изображением среди компонентов; и модуль остаточного восстановления, который выполняет восстановление значений глубины битов остаточных данных, скомпонованных так, чтобы они были однородными среди компонентов, когда восстановление остаточных данных выполняют, используя прогнозируемые остаточные данные, полученные модулем декодирования, путем декодирования кодированных данных.
Модуль остаточного восстановления может компоновать значения глубины битов остаточных данных так, чтобы они были однородными, используя сдвиг битов.
Модуль приема, который принимает информацию, относящуюся к значениям глубины битов, может быть дополнительно включен, и модуль остаточного восстановления может компоновать значения глубины битов остаточных данных так, чтобы они были однородными, путем получения разности между значениями глубины битов двух компонентов, для которых выполняют прогнозирование, на основе информации, относящейся к значениям глубины битов, принятым модулем приема, и выполнения сдвига битов на основе полученной разности между значениями глубины битов.
Модуль остаточного восстановления, в случае, когда полученная разность между значениями глубины битов не равна нулю, может компоновать значения глубины битов остаточных данных так, чтобы они были однородными, используя сдвиг битов.
Модуль остаточного восстановления может выполнять восстановление значений глубины битов остаточных данных, скомпонованных так, чтобы они были однородными, используя сдвиг битов в случае, когда полученная разность между значениями глубины битов является положительной, и может пропускать восстановление в случае, когда разность между значениями глубины битов отрицательная.
Модуль приема может дополнительно принимать информацию, относящуюся к цветовому пространству изображения, и модуль остаточного восстановления может выполнять восстановление, используя значения глубины битов остаточных данных, скомпонованных так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда цветовое пространство изображения не является пространством RGB, на основе информации, относящейся к цветовому пространству изображения, принятого модулем приема, и может пропускать восстановление в случае, когда цветовое пространство изображения представляет собой пространство RGB.
Цветовое пространство изображения может представлять собой пространство YUV, и модуль остаточного восстановления может выполнять восстановление со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными между компонентом яркости и цветоразностным компонентом, используя сдвиг битов.
Цветовое пространство изображения может представлять собой пространство RGB, и модуль остаточного восстановления может выполнять восстановление со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными, используя сдвиг битов между компонентом G и компонентом R или компонентом В.
Модуль остаточного восстановления, путем получения разности между значениями глубины битов двух компонентов, для которых выполняется восстановление, выполняя сдвиг битов восстановленных остаточных данных одного компонента из двух компонентов, который соответствует разности между значениями глубины битов, умножая остаточные данные после сдвига битов на заданный весовой коэффициент, выполняя сдвиг битов результата умножения, который соответствует заданному количеству битов, и суммируя результат умножения со сдвигом битов и прогнозируемые остаточные данных, может выполнять восстановление остаточных данных другого компонента.
В соответствии с другим вариантом осуществления настоящей технологии, предусмотрен способ обработки изображений, включающий в себя: декодируют кодированные данные, в которых кодированы прогнозируемые остаточные данные, которые представляют собой результат прогнозирования остаточных данных между изображением, сконфигурированным из множества компонентов, и его прогнозируемым изображением среди компонентов; и выполняют восстановление со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда восстановление остаточных данных выполняют, используя прогнозированные остаточные данные, полученные путем декодирования кодированных данных.
В соответствии с одним вариантом осуществления настоящей технологии, прогнозирование выполняют со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда прогнозирование выполняют среди компонентов для остаточных данных между входным изображением, сконфигурированным множеством компонентов, и прогнозируемым изображением, и прогнозируемые остаточные данные, сгенерированные в результате прогнозирования, кодируют.
В соответствии с другим вариантом осуществления настоящей технологии, кодированные данные декодируют, в которых кодированы прогнозированные остаточные данные, которые представляют собой результат прогнозирования остаточных данных между изображением, сконфигурированным из множества компонентов и его прогнозируемым изображением среди компонентов, и восстановление выполняют со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда восстановление остаточных данных выполняют, используя прогнозированные остаточные данные, полученные путем декодирования кодированных данных.
Результаты изобретения
В соответствии с настоящим раскрытием изображение может быть кодировано и декодировано. В частности, можно подавить снижение эффективности кодирования.
Краткое описание чертежей
На фиг. 1 показана схема, представляющая пример конфигурации модуля кодирования.
На фиг. 2 показана схема, представляющая пример семантики.
На фиг. 3 показана блок-схема, представляющая пример основной конфигурации устройства кодирования изображения.
На фиг. 4 показана блок-схема, представляющая пример основных конфигураций модуля обработки заголовка и модуля остаточного прогнозирования.
На фиг. 5 показана блок-схема последовательности операций, представляющая пример потока обработки кодирования.
На фиг. 6 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного прогнозирования.
На фиг. 7 показана блок-схема последовательности операций, представляющая пример потока обработки генерирования прогнозируемых остаточных данных.
На фиг. 8 показана блок-схема последовательности операций, представляющая пример потока обработки генерирования прогнозируемых остаточных данных.
На фиг. 9 показана блок-схема последовательности операций, представляющая пример потока обработки генерирования прогнозируемых остаточных данных.
На фиг. 10 показана блок-схема, представляющая пример основной конфигурации устройства декодирования изображения.
На фиг. 11 показана блок-схема, представляющая пример основных конфигураций модуля получения заголовка и модуля остаточного восстановления.
На фиг. 12 показана блок-схема последовательности операций, представляющая пример потока обработки декодирования.
На фиг. 13 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного восстановления.
На фиг. 14 показана блок-схема последовательности операций, представляющая пример потока обработки восстановления остаточных данных.
На фиг. 15 показана блок-схема последовательности операций, представляющая пример потока обработки восстановления остаточных данных.
На фиг. 16 показана блок-схема последовательности операций, представляющая пример потока обработки восстановления остаточных данных.
На фиг. 17 показана схема, представляющая пример семантики.
На фиг. 18 показана блок-схема, представляющая пример основных конфигураций модуля обработки заголовка и модуля остаточного прогнозирования.
На фиг. 19 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного прогнозирования.
На фиг. 20 показана блок-схема, представляющая пример основных конфигураций модуля получения заголовка и модуля остаточного восстановления.
На фиг. 21 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного восстановления.
На фиг. 22 показана схема, представляющая пример семантики.
На фиг. 23 показана блок-схема, представляющая пример основных конфигураций модуля обработки заголовка и модуля остаточного прогнозирования.
На фиг. 24 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного прогнозирования.
На фиг. 25 показана блок-схема, представляющая пример основной конфигурации модуля получения заголовка и модуля остаточного восстановления.
На фиг. 26 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного восстановления.
На фиг. 27 показана схема, представляющая пример семантики.
На фиг. 28 показана блок-схема, представляющая пример основных конфигураций модуля обработки заголовка и модуля остаточного прогнозирования.
На фиг. 29 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного прогнозирования.
На фиг. 30 показана блок-схема, представляющая пример основных конфигураций модуля получения заголовка и модуля остаточного восстановления.
На фиг. 31 показана блок-схема последовательности операций, представляющая пример потока обработки остаточного восстановления.
На фиг. 32 показана схема, представляющая пример синтаксиса.
На фиг. 33 показана схема, представляющая пример семантики.
На фиг. 34 показана схема, представляющая пример семантики.
На фиг. 35 показана схема, представляющая пример семантики.
На фиг. 36 показана схема, представляющая пример синтаксиса.
На фиг. 37 показана схема, представляющая пример семантики.
На фиг. 38 показана схема, представляющая пример семантики.
На фиг. 39 показана схема, представляющая пример семантики.
На фиг. 40 показана схема, представляющая пример системы кодирования многообзорного изображения.
На фиг. 41 показана схема, представляющая пример основной конфигурации устройства кодирования многообзорного изображения в соответствии с существующей технологией.
На фиг. 42 показана схема, представляющая пример основной конфигурации устройства декодирования многообзорного изображения в соответствии с существующей технологией.
На фиг. 43 показана схема, представляющая пример системы кодирования иерархического изображения.
На фиг. 44 показана схема, представляющая пример кодирования с пространственной масштабируемостью.
На фиг. 45 показана схема, представляющая пример кодирования с временной масштабируемостью.
На фиг. 46 показана схема, представляющая пример кодирования с масштабированием по отношению сигнал-шум.
На фиг. 47 показана схема, представляющая пример основной конфигурации устройства кодирования иерархического изображения в соответствии с существующей технологией.
На фиг. 48 показана схема, представляющая пример основной конфигурации иерархического устройства декодирования изображения в соответствии с существующей технологией.
На фиг. 49 показана блок-схема, представляющая пример основной конфигурации компьютера.
На фиг. 50 показана блок-схема, представляющая пример схематической конфигурации телевизионного устройства.
На фиг. 51 показана блок-схема, представляющая пример схематической конфигурации мобильного телефона.
На фиг. 52 показана блок-схема, представляющая пример схематической конфигурации устройства записи/воспроизведения.
На фиг. 53 показана блок-схема, представляющая пример схематической конфигурации устройства формирования изображения.
На фиг. 54 показана блок-схема, представляющая пример схематической конфигурации видеосистемы.
На фиг. 55 показана блок-схема, представляющая пример схематической конфигурации видеопроцессора.
На фиг. 56 показана блок-схема, представляющая другой пример схематической конфигурации видеопроцессора.
Осуществление изобретения
Далее будут описаны варианты осуществления (ниже называются вариантами осуществления) для выполнения настоящего раскрытия. Описание будет представлено в следующем порядке.
1. Первый вариант осуществления (устройство кодирования изображения/устройство декодирования изображения)
2. Второй вариант осуществления (устройство кодирования изображения/устройство декодирования изображения)
3. Третий вариант осуществления (устройство кодирования изображения/устройство декодирования изображения)
4. Четвертый вариант осуществления (устройство кодирования изображения/устройство декодирования изображения)
5. Пятый вариант осуществления (обобщение весового коэффициента)
6. Шестой вариант осуществления (устройство кодирования многообзорного изображения с/устройство декодирования многообзорного изображения)
7. Седьмой вариант осуществления (устройство кодирования иерархического изображения/устройство декодирования иерархического изображения)
8. Восьмой вариант осуществления (компьютер)
9. Девятый вариант осуществления (пример применения)
10. Десятый вариант осуществления (набор/блок/модуль/процессор)
1. Первый вариант осуществления
Поток стандартизации кодирования изображения
В последнее время информацию изображения обрабатывают как цифровые данные, и в это время, с целью передачи и накопления информации с высокой эффективностью, широко используются устройства, которые сжимают и кодируют изображение, используя систему кодирования, сжимающую данные, используя ортогональное преобразование, такое как дискретное косинусное преобразование, и компенсацию движения, используя избыточность, которая является специфичной для информации изображения. Примеры такой системы кодирования включают в себя стандарт Группы экспертов движущегося изображения (MPEG) и т.п.
В частности, стандарт MPEG2 (ISO/IEC 13818-2) определен, как система кодирования изображения общего назначения и представляет собой стандарт, охватывающий как сканирование изображения с перемежением, так и последовательно сканированное изображение, и изображение со стандартным разрешением, и изображение с высокой четкостью. Например, в настоящее время, MPEG2 широко используется для широкого диапазона приложений, для профессионального применения и использования потребителем. Используя системы сжатия MPEG2, например, в случае сканированного изображения с перемежением со стандартным разрешением, имеющим 720×480 пикселей, назначают объем кода (скорость передачи битов) 4-8 Мбит/с. Кроме того, используя систему сжатия MPEG2, например, в случае сканирования изображения с перемежением с высоким разрешением, имеющим 1920×1088 пикселей, назначают объем кода (скорость передачи битов) 18-22 Мбит/с. В соответствии с этим, могут быть реализованы высокая степень сжатия и удовлетворительное качество изображения.
MPEG2, в основном, предназначен для кодирования изображения с высоким качеством, которое, в основном, соответствует широковещательной передаче, но не соответствует системе кодирования, имеющей количество кода (скорость передачи битов) меньше, чем у MPEG1, другими словами, имеющее степень сжатия более высокую, чем у MPEG1. Однако считается, что количество таких запросов будет увеличиваться в будущем, в соответствии с широким использованием портативных терминалов, и в соответствии с этим была выполнена стандартизация системы кодирования MPEG4. Ее стандарт, относящийся к системе кодирования изображения, был одобрен в декабре 1998 г., как ISO/IEC 14496-2.
Кроме того, в последние годы, для исходной цели кодирования изображения для телевизионных конференций, был принят стандарт H.26L Международного союза электросвязи, Сектор стандартизации электросвязи (ITU-T) Q6/16 Группа экспертов видеоданных (VCEG)). Известно, что H.26L требует большего объема расчетов при обработке кодирования и обработке декодирования, чем в обычной системе кодирования, такой как MPEG2 или MPEG4, и реализует более высокую эффективность кодирования. Кроме того, в настоящее время, как часть действий MPEG4, был принят стандарт, реализующий более высокую эффективность кодирования, в результате ввода функции, не поддерживаемой в соответствии с H.26L, на основе H.26L, как Объединенная модель улучшенного сжатия при кодировании видеоданных.
В соответствии с планом его стандартизации, в марте 2003 г., был введен международный стандарт на основе наименований Н.264 и MPEG 4 Часть 10 (Усовершенствованное кодирование видеоданных; ниже называется AVC).
Кроме того, в феврале 2005 г., в качестве расширения Н.264/AVC, был введен стандарт Расширения диапазона достоверности (FRExt), включающий в себя инструменты кодирования, требуемые для использования в бизнесе, и 8×8 DCT, и матрицу квантования, определенные в MPEG 2, который называется RGB 4:2:2 и 4:4:4. Таким образом, была сформирована система кодирования, позволяющая представлять шумы пленки, содержащиеся в кинофильмах, используя H.264/AVC, и H.264/AVC находится на этапе использования в широком диапазоне приложений для диска Blu-Ray (товарный знак) и т.п.
Однако в последнее время увеличилось количество запросов для обеспечения кодирования, имеющего еще более высокую степень сжатия, таких как запрос на сжатие изображения приблизительно 4000×2000 пикселей, что в четыре раза превышает количество пикселей изображения высокой четкости, и запрос на доставку изображения высокой четкости в среде, имеющей ограниченную пропускную способность, такой как Интернет. По этой причине постоянно производятся обзоры по улучшению эффективности кодирования в VCEG, которая представляет собой филиал ITU-T, описанного выше.
Таким образом, в настоящее время, с целью дальнейшего улучшения эффективности кодирования, так, чтобы она была выше, чем у AVC, выполняется стандартизация системы кодирования, называемой Высокоэффективное кодирование видеоданных (HEVC), Объединенной группой взаимодействия - кодирования видеоданных (JCTVC), которая представляет собой объединенную организацию по стандартизации ITU-T и Международной организацией по стандартизации/Международной электротехнической комиссией (ISO/IEC). Что касается стандарта HEVC, проект комитета, который представляет собой спецификацию, изданную в виде проекта, был выработан в январе 2013 г. (например, см. Непатентный документ 1).
Система кодирования
Далее, в качестве примера, будет описана настоящая технология в случае ее применения для кодирования/декодирования изображения в системе кодирования видеоданных в высокой эффективностью (HEVC).
Модуль кодирования
В системе Усовершенствованного кодирования видеоданных (AVC) определена иерархическая структура, сконфигурированная макроблоком и вспомогательным макроблоком. Однако макроблок 16×16 пикселей не является оптимальным для крупного фрейма изображения, называемого изображением ультравысокой четкости (UHD; 4000 пикселей × 2000 пикселей), которое становится целью системы кодирования следующего поколения.
В отличие от этого в системе HEVC, как представлено на фиг. 1, определен модуль кодирования (CU).
CU также называется блоком дерева кодирования (СТВ) и представляет собой частичную область модуля изображения, которая выполняет роль, аналогичную роли макроблока в системе AVC. В то время как макроблок является фиксированным по размеру 16×16 пикселей, размер CU не фиксирован, но обозначен в информации сжатия изображений в каждой последовательности.
Например, в наборе параметра последовательности (SPS) включенном в кодированные данные, которые выводят, максимальный размер (максимальный модуль кодирования (LCU)) и минимальный размер (наименьший модуль кодирования (SCU)) определены для CU.
В каждом из LCU, путем установки split_flag=1 в диапазоне, который имеет размер не меньше, чем SCU, LCU может быть разделен на CU, имеющие наименьший размер. В примере, представленном на фиг. 1, размер LCU составляет 128, и наибольшая иерархическая глубина равна 5. Когда значение split_flag равно "1", CU, имеющий размер 2N×2N, разделяют на CU, каждый из которых имеет размер N×N в иерархии на один уровень ниже.
Кроме того, CU разделяют на модули прогнозирования (PU), которые представляют собой области (частичные области изображения в модулях изображений), которые представляют собой модули обработки прогнозирования внутри кадра или прогнозирования между кадрами, и которые разделяют на модули преобразования (TU), которые представляют собой области (частичные области изображения в модулях изображений), которые представляют собой модули обработки ортогонального преобразования. В настоящее время в системе HEVC можно использовать ортогональные преобразования 16×16 и 32×32, в дополнение к ортогональным преобразованиям 4×4 и 8×8.
Как в системе HEVC, описанной выше, в случае системы кодирования, в которой определен CU, и различная обработка выполняется в модулях CU, можно предусмотреть, чтобы макроблок системы AVC соответствовал LCU, и блок (вспомогательный блок) соответствовал CU. Кроме того, блок компенсации движения системы AVC можно рассматривать, как соответствующий PU. Однако, поскольку CU имеет иерархическую структуру, в общем, размер LCU на самом высоком уровне иерархии установлен так, чтобы он был больше, чем размер макроблока в системе AVC, такой как 128×128 пикселей.
Таким образом, далее предполагается, что LCU также должен включать в себя макроблок системы AVC, и CU, как предполагается, также должен включать в себя блок (вспомогательный блок) системы AVC. Другими словами, "блок", используемый в представленном ниже описании, представляет произвольную частичную область в пределах изображения, и размер, форма, характеристика и т.п. его не ограничены чем-либо конкретным. Другими словами, "блок", например, включает в себя произвольные области, такие как TU, PU, SCU, CU, LCU, вспомогательный блок, макроблок и срез. Очевидно, что частичная область (модуль обработки), отличная от указанных выше, также имеется в виду в настоящей заявке. Кроме того, будет соответствующим образом описан случай, когда размер, модуль обработки и т.п. должны быть ограничены.
В данном описании модуль дерева кодирования (CTU), как предполагается, представляет собой модуль, который включает в себя блок дерева кодирования (СТВ) из CU с наибольшим количеством (LCU) и параметр во время обработки LCU на его основании (уровне). Кроме того, модуль кодирования (CU), конфигурирующий CTU, как предполагается, представляет собой модуль, который включает в себя блок кодирования (СВ) и параметр во время обработки CU на его основании (уровне).
Выбор режима
В системах кодирования AVC и HEVC, для того, чтобы достичь наибольшей эффективности кодирования, существенен выбор соответствующего режима прогнозирования.
В качестве примера такой системы выбора, существует способ, в котором система выбора включена в опорное программное обеспечение (опубликовано по адресу http://iphome.hhi.de/suehring/tml/index.htm) для H.264/MPEG-4AVC, называемое JM (обобщенная модель).
В JM может быть выбран способ определения режима для определения двух режимов, включающих в себя режим высокой сложности и режим низкой сложности, которые будут описаны ниже. В любом из этих режимов рассчитывают значение функции стоимости, относящееся к каждому режиму Mode прогнозирования, и режим прогнозирования, имеющий наименьшее значение функции стоимости, выбирают, как оптимальный режим для блока или макроблока.
Функция стоимости в режиме высокой сложности представлена ниже, как в Уравнении (1).
Математическая формула 1
Здесь Ω представляет собой универсальный набор режимов кандидатов, используемых для кодирования блока, или макроблок D представляет собой дифференциальную энергию между декодируемым изображением и входным изображением, в случае, когда кодирование выполняется в режиме прогнозирования. Кроме того, λ представляет собой неопределенный множитель Лагранжа, заданный как функция параметра квантования. R представляет собой общее количество кодов для случая, когда кодирование выполняется в режиме, который включает в себя ортогональный коэффициент преобразования.
Другими словами, когда выполняют кодирование в режиме высокой сложности, для расчета описанных выше параметров D и R, предварительную обработку кодирования следует выполнить однажды для всех режимов-кандидатов, и, соответственно, требуется больший объем расчетов.
Функция стоимости в режиме низкой сложности представлена ниже, как в Уравнении (2).
Математическая формула 2
Здесь D, в отличие от случая режима высокой сложности, представляет собой дифференциальную энергию между прогнозируемым изображением и входным изображением. Кроме того, QP2Quant (QP) задано, как функция параметра QP квантования, и HeaderBit представляет собой количество кода, относящегося к информации, принадлежащей заголовку, такой как вектор движения и режим, который не включает в себя ортогональный коэффициент преобразования.
Другими словами, в режиме низкой сложности, в то время как обработка прогнозирования должна быть выполнена для каждого режима кандидата, декодируемое изображение не является необходимым, и обработка кодирования не обязательно должна быть выполнена. По этой причине режим низкой сложности позволяет реализовать меньший объем расчетов, чем в режиме высокой сложности.
Остаточное прогнозирование
В то же время в HEVC был рассмотрен способ выполнения прогнозирования (также называемый остаточным прогнозированием) остаточного сигнала между компонентами во время кодирования 444 (например, см. непатентный документ 2).
В способе, раскрытом в этом непатентном документе 2, цветоразностный компонент (Cb/Cr) (или компонент R или компонент В) прогнозируют, используя компонент яркости (Y) (или компонент G), как в следующем Уравнении (3).
Математическая формула 3
c
L
c
Здесь Δr(x, y) представляет остаточные данные (разность между входным изображением и прогнозируемым изображением) цветоразностного компонента (Cb или Cr). Кроме того, r(x, y) представляет остаточные данные (разность между входным изображением и прогнозируемым изображением) компонента яркости (Y). Кроме того, Δr(x, y) представляет результат прогнозирования (остаточные данные цветоразностного компонента (Cb, или Cr) прогнозируют, используя остаточные данные компонента яркости (Y)) для остаточного прогнозирования (также называется прогнозируемыми остаточными данными). В этом уравнении "x, y" представляют положение (координаты) в изображении.
Кроме того, α представляет весовой коэффициент и принимает одно из значений ±(0, 1, 2, 4, 8). Такое значение установлено в единицах TU (другими словами, значение передают на сторону декодирования в единицах TU). Здесь ">>" представляет сдвиг битов в правую сторону (сдвиг вправо). Например, ">>n" представляет сдвиг вправо, соответствующий n битам.
Выполняется или нет такое остаточное прогнозирование, определяют в соответствии с управлением в единицах набора параметра изображения (PPS). Другими словами, в PPS, флаг включения/выключения, управляющий, выполняется или нет такое остаточное прогнозирование, передают на сторону декодирования.
В то же время, в общем, значения глубины битов данных компонентов не зависят друг от друга, и, таким образом, существует вероятность того, что будут установлены взаимно разные значения. Однако, как представлено в Уравнении (3), описанном выше, в способе прогнозирования, раскрытом в непатентном документе 2, существует предпосылка того, что значения глубины битов остаточных данных (компонентов яркости или цветоразностных компонентов) для всех компонентов являются одинаковыми, и случай, когда значения глубины битов остаточных данных являются разными между компонентами, не рассматривается. Другими словами, при прогнозировании, как представлено в Уравнении (3), в случае, когда значения глубины битов остаточных данных отличаются друг от друга между компонентами, не выполняется правильное прогнозирование, и существует опасение, состоящее в том, что эффективность кодирования может быть снижена.
Масштабирование значения глубины битов
Таким образом, когда прогнозирование (остаточное прогнозирование) среди компонентов выполняют для остаточных данных между входным изображением, сконфигурированным из множества компонентов, и прогнозируемым изображением, значения глубины битов остаточных данных компонуют так, чтобы они были однородными (выполняют масштабирование) среди компонентов. В результате такой компоновки, также в случае, когда значения глубины битов остаточных данных являются разными среди компонентов, может быть выполнено прогнозирование таким образом, что значения глубины битов остаточных данных компонентов являются однородными, и, соответственно, остаточное прогнозирование может быть правильно выполнено. В соответствии с этим, можно предотвратить снижение эффективности кодирования.
В то время как способ для компоновки значений глубины битов остаточных данных так, чтобы они были однородными среди компонентов, является произвольным, например, значения глубины битов остаточных данных могут быть скомпонованными так, чтобы они были однородными среди компонентов, путем выполнения сдвига битов остаточных данных. В результате такого конфигурирования, значения глубины битов остаточных данных могут быть легко скомпонованы так, чтобы они были однородными среди компонентов. Другими словами, нагрузка на обработку и время обработки могут быть уменьшены.
Здесь цветовое пространство входного изображения, в котором значения глубины битов остаточных данных скомпонованными так, чтобы они были однородными, является произвольным. Например, цветовое пространство может представлять собой пространство YUV (YUV444 и т.п.) или пространство RGB (RGB444 и т.п.). Например, в случае, когда цветовое пространство входного изображения представляет собой пространство YUV, прогнозирование может быть выполнено со значениями глубины битов остаточных данных, которые скомпонованы так, чтобы они были однородными между компонентом яркости и цветоразностным компонентом, в результате сдвига битов. Более конкретно, например, прогнозирование может быть выполнено после того, как значение глубины битов компонента яркости будет скомпоновано так, чтобы оно было однородным в отношении значения глубины битов цветоразностного компонента, в результате сдвига битов. Кроме того, например, в случае, когда цветовое пространство входного изображения представляет собой пространство RGB, прогнозирование может быть выполнено со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными между компонентом G и компонентом R или компонентом В, в результате сдвига битов. Более конкретно, например, прогнозирование может быть выполнено после того, как значение глубины битов компонента G будет скомпоновано так, чтобы оно было однородным в отношении значения глубины битов компонента R или компонента В, в результате сдвига битов.
Операция сдвига
Далее будет описан конкретный пример сдвига битов (операция сдвига) для размещения значения глубины битов так, чтобы они были равномерными, как описано выше. Способ для операции сдвига является произвольным. Например, в случае, когда разность значений глубины между двумя компонентами, которые требуется прогнозировать, не равна нулю, прогнозирование может быть выполнено со значениями глубины битов остаточных данных, которые компонуют так, чтобы они были однородными между компонентами, используя сдвиг битов. Например, как представлено в следующем Уравнении (4), может быть установлена такая конфигурация, что будет получена разность (разность значений глубины битов) для значений глубины битов остаточных данных между компонентами, и, как представлено в Уравнениях (5)-(8), выполняют сдвиг битов, соответствующий разности значений глубины битов. В это время может быть выполнен сдвиг битов, соответствующий абсолютному значению разности значений глубины битов, как представлено в Уравнении (6) или (8). В таком случае, например, направление сдвига может быть определено, как представлено в Уравнении (6) и в Уравнении (8) на основе, удовлетворяются ли условия Уравнения (5) и Уравнения (7).
Математическая формула 4
Y
C
Y
C
В Уравнении (4) - Уравнении (8), BitDepth представляет значение глубины битов остаточных данных компонента (Y) яркости, и BitDepth представляет значение глубины битов остаточных данных цветоразностного компонента (Cb или Cr). Кроме того, Δbitdepth представляет разность глубины битов (разность между значением глубины битов (BitDepth) остаточных данных компонента (Y) яркости и значением глубины битов (BitDepth) остаточных данных цветоразностного компонента (Cb или Cr)) между компонентами.
c
L
c
Кроме того, r(x, y) представляет остаточные данные цветоразностного компонента (Cb или Cr). Кроме того, r(x, y) представляет остаточные данные компонента яркости (Y). Кроме того, Δr(x, y) представляет прогнозируемые остаточные данные (остаточные данные цветоразностного компонента (Cb, или Cr) прогнозируют, используя остаточные данные компонента (Y) яркости)) между компонентами. Здесь "x, y" представляет положение (координаты) в изображении.
Кроме того, α представляет весовой коэффициент. Значение α является произвольным и, например, установлено, как одного из значений ±(0, 1, 2, 4, 8). Это значение устанавливают в единицах TU (другими словами, значение передают на сторону декодирования в единицах TU). Здесь ">>" представляет сдвиг битов в правую сторону (сдвиг вправо), и "<<" представляет сдвига битов в левую сторону (сдвиг влево). Например, ">>n" представляет сдвиг вправо, соответствующий n битам, и "<<m" представляет сдвиг влево, соответствующий m битам.
c
c
L
В случае такого примера, как представлено в Уравнении (4) - Уравнению (8), разность глубины битов (Δbitdepth) между компонентами рассчитывают, используя Уравнение (4). Затем, в случае, когда это значение удовлетворяет условию Уравнения (5), другими словами, в случае, когда Δbitdepth равно нулю или больше, прогнозируемые остаточные данные (Δr(x, y)) рассчитывают, как в Уравнении (6). Как представлено в Уравнении (6), хотя способ расчета для данного случая, в принципе, является таким же, как и в Уравнении (3), прогнозируемые остаточные данные (Δr(x, y)) рассчитывают путем сдвига остаточных данных (r(x, y)) компонента яркости (Y) в правую сторону, в соответствии разностью значения глубины битов (Δbitdepth).
c
c
L
С другой стороны, в случае, когда разность значений глубины битов (Δbitdepth) между компонентами имеет отрицательное значение (значение, меньшее, чем ноль) и не удовлетворяет условию Уравнения (5) (условие Уравнения (7) удовлетворяется), прогнозируемые остаточные данные (Δr(x, y)) рассчитывают, как в Уравнении (8). Как представлено в Уравнении (8), хотя способ расчета в данном случае, в принципе, является таким же, как и в Уравнении (3), прогнозируемые остаточные данные (Δr(x, y)) рассчитывают путем сдвига остаточных данных (r(x, y)) компонента (Y) яркости в левую правую сторону, в соответствии значением разности глубины битов (-Δbitdepth).
Y
L
C
c
c
Другими словами, в таком случае, значение глубины битов (BitDepth) остаточных данных (r(x, y)) компонента (Y) яркости может быть скомпоновано так, чтобы оно было однородным для значения глубины битов (BitDepth) остаточных данных (r(x, y)) цветоразностного компонента (Cb или Cr), и рассчитывают прогнозируемые остаточные данные (Δr(x, y)). Более конкретно, получают разность между значениями глубины битов двух компонентов, используемых для остаточного прогнозирования, сдвиг битов (масштабирование), соответствующий разности между значениями глубины битов, выполняют для остаточных данных одного компонента этих двух компонентов, остаточные данные, для которых выполняют сдвиг битов, умножают на заданный весовой коэффициент, сдвиг битов, соответствующий заданному количеству битов, выполняют для результата умножения, и получают разность между остаточными данными другого компонента и результатом умножения, для которого был выполнен сдвиг бита. Прогнозирование может быть выполнено, как описано выше.
L
c
В случае, когда Δbitdepth равно нулю, величина сдвига битов остаточных данных (r(x, y)) компонента (Y) яркости равна нулю, и, таким образом, прогнозируемые остаточные данные (Δr(x, y)) могут рассматриваться, как рассчитанные, как в Уравнении (3).
c
Путем расчета, как описано выше, также в случае, когда значения глубины битов остаточных данных являются разными между компонентами, прогнозируемые остаточные данные (Δr(x, y)) могут быть правильно рассчитаны. В соответствии с этим, может быть предотвращено снижение эффективности кодирования.
Семантика
Для выполнения масштабирования значения глубины битов, как описано выше, семантика может быть описана, как пример, иллюстрируемый на фиг. 2. Часть семантики, представленная на фиг. 2, для которой применяется подчеркивание, представляет описание, соответствующее масштабированию (например, Уравнение (5) - Уравнение (8)), описанные выше.
Устройство кодирования изображения
На фиг. 3 показана блок-схема, которая иллюстрирует пример конфигурации устройства кодирования изображения, которое представляет собой один аспект устройства обработки изображений в соответствии с настоящей технологией. Устройство 100 кодирования изображения, представленное на фиг. 3, кодирует данные изображения для движущегося изображения, например, используя обработку прогнозирования HEVC или обработку прогнозирования системы, которая совместима с нею. Ниже будет описан случай, как пример, в котором цветовое пространство входного изображения представляет собой YUV444.
Как представлено на фиг. 3, устройство 100 кодирования изображения включает в себя: буфер 102 изменения компоновки экрана; модуль 103 расчетов; модуль 104 ортогонального преобразования; модуль 105 квантования; модуль 106 реверсивного кодирования; буфер 107 накопления; модуль 108 обратного квантования; и модуль 109 обратного ортогонального преобразования. Кроме того, устройство 100 кодирования изображения включает в себя: модуль 110 расчетов; контурный фильтр 111; запоминающее устройство 112 фреймов; модуль 113 прогнозирования внутри кадра; модуль 114 прогнозирования между кадрами; модуль 115 выбора прогнозируемого изображения; и модуль 116 управления скоростью. Кроме того, устройство 100 кодирования изображения включает в себя: модуль 121 обработки заголовка; модуль 122 остаточного прогнозирования; и модуль 123 остаточного восстановления.
Буфер 102 изменения компоновки экрана сохраняет изображения кадров данных входного изображения в порядке отображения, изменяет компоновку сохраненных изображений кадров в порядке кодирования, в соответствии с Группой Изображений (GOP), и подает изображения, полученные в результате изменения порядка кадров, в модуль 103 расчетов. Кроме того, буфер 102 изменения компоновки экрана подает изображения, полученные путем изменения порядка кадров также в модуль 113 прогнозирования внутри кадра и в модуль 114 прогнозирования между кадрами.
Модуль 103 расчетов вычитает прогнозируемое изображение, подаваемое из модуля 113 прогнозирования внутри кадра или модуля 114 прогнозирования между кадрами через модуль 115 выбора прогнозируемого изображения из изображения, считываемого из буфера 102 изменения компоновки экрана, и подает информацию разности (остаточные данные) в модуль 122 остаточного прогнозирования. Например, в случае изображения, для которого выполняется кодирование внутри кадров, модуль 103 расчетов вычитает прогнозируемое изображение, подаваемое из модуля 113 прогнозирования внутри кадров, из изображения, считываемого из буфера 102 изменения компоновки экрана. С другой стороны, например, в случае изображения, для которого выполняется кодирование между кадрами, модуль 103 расчета вычитает прогнозируемое изображение, подаваемое из модуля 114 прогнозирования между кадрами, из изображения, считываемого из буфера 102 изменения компоновки экрана.
Модуль 104 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование, или преобразование Карунена-Лоева для остаточных данных компонента яркости или прогнозированных остаточных данных цветоразностного компонента, подаваемого из модуля 122 остаточного прогнозирования. Модуль 104 ортогонального преобразования подает коэффициенты преобразования, полученные в результате ортогонального преобразования, в модуль 105 квантования.
Модуль 105 квантования выполняет квантование коэффициентов преобразования, подаваемых из модуля 104 ортогонального преобразования. Модуль 105 квантования устанавливает параметры квантования на основе информации, относящейся к целевому значению объема кодирования, которое подают из модуля 116 управления скоростью, и выполняет его квантование. Модуль 105 квантования подает квантованные коэффициенты преобразования в модуль 106 реверсивного кодирования.
Модуль 106 реверсивного кодирования кодирует квантованные коэффициенты преобразования, квантованные модулем 105 квантования, используя произвольную систему кодирования. Поскольку данные коэффициента квантуют, используя управление модуля 116 управления скоростью, объем кодирования становится целевым значением (или значением, близким к целевому значению), установленным модулем 116 управления скоростью.
Кроме того, модуль 106 реверсивного кодирования получает информацию, представляющую режим прогнозирования внутри кадра и т.п., из модуля 113 прогнозирования внутри кадров, и получает информацию, представляющую режим прогнозирования между кадрами, информацию вектора дифференциального движения, и т.п. из модуля 114 прогнозирования между кадрами.
Модуль 106 реверсивного кодирования кодирует такие различные элементы информации, используя произвольную систему кодирования, и конфигурирует эту кодированную информацию, как часть информации заголовка кодированных данных (также называется кодированным потоком) (мультиплексированным). Модуль 106 реверсивного кодирования подает кодированные данные, полученные при обработке кодирования, в буфер 107 накопления, накапливая, таким образом, в нем кодированные данные.
Примеры системы кодирования модуля 106 реверсивного кодирования включают в себя кодирование переменной длины, арифметическое кодирование и т.п. В качестве примеров кодирования переменной длины, используется контекстно-адаптивное кодирование переменной длины (CAVLC), определенное в системе H.264/AVC, и т.п. В качестве примеров арифметического кодирования, используется контекстно-адаптивное двоичное арифметическое кодирование (САВАС) и т.п.
Буфер 107 накопления временно содержит кодированные данные, передаваемые из модуля 106 реверсивного кодирования. Кроме того, буфер 107 накопления выводит содержащиеся в нем кодированные данные наружу из устройства 100 кодирования изображения в заданные моменты времени. Другими словами, буфер 107 накопления представляет собой модуль передачи, который также передает кодированные данные.
Кроме того, коэффициенты преобразования, квантованные модулем 105 квантования, также подают в модуль 108 обратного квантования. Модуль 108 обратного квантования выполняет обратное квантование для квантованных коэффициентов преобразования, используя способ, соответствующий обработке квантования, выполняемой модулем 105 квантования. Модуль 108 обратного квантования подает коэффициенты преобразования, полученные при такой обработке обратного квантования, в модуль 109 обратного ортогонального преобразования.
Модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование коэффициентов преобразования, подаваемых из модуля 108 обратного квантования, используя способ, соответствующий обработке ортогонального преобразования, выполняемой модулем 104 ортогонального преобразования. Модуль 109 обратного ортогонального преобразования подает выходные данные (остаточные данные восстановленного компонента яркости и прогнозируемые остаточные данные цветоразностного компонента), для которых выполняют обратное ортогональное преобразование, в модуль 123 остаточного восстановления. Кроме того, модуль 109 обратного ортогонального преобразования также подает остаточные данные восстановленного компонента яркости в модуль 122 остаточного прогнозирования.
Модуль 110 расчетов добавляет прогнозируемое изображение, переданное из модуля 113 прогнозирования внутри кадров или модуля 114 прогнозирования между кадрами через модуль 115 выбора прогнозируемого изображения, к восстановленным остаточным данным каждого компонента, передаваемого из модуля 123 остаточного восстановления, получая, таким образом, изображение (ниже называется реконструированным изображением), которое реконструируется локально. Восстановленное изображение передают в контурный фильтр 111 или модуль 113 прогнозирования внутри кадра.
Контурный фильтр 111 включает в себя фильтр удаления блоков, адаптивный контурный фильтр и т.п. и соответствующим образом выполняет обработку фильтрации для реконструированного изображения, передаваемого из модуля 10 расчетов. Например, контурный фильтр 111 удаляет искажение блоков реконструированного изображения путем выполнения обработки фильтра удаления блоков для реконструированного изображения. Кроме того, например, контурный фильтр 111 выполняет обработку контурного фильтра, используя фильтр Винера для результата (реконструированного изображения, из которого было удалено искажение блоков) обработки фильтра удаления блоков, улучшая, таким образом, качество изображения.
Кроме того, контурный фильтр 111 может быть выполнен с возможностью выполнения любой другой дополнительной произвольной обработки фильтра для реконструированного изображения. Кроме того, контурный фильтр 111, в случае необходимости, может быть выполнен с возможностью подачи информации, такой как коэффициенты фильтра, используемые для обработки фильтра, и т.п. в модуль 106 реверсивного кодирования для кодирования информации.
Контурный фильтр 111 подает результат обработки фильтра (ниже называется декодируемым изображением) в запоминающее устройство 112 кадра.
В запоминающем устройстве 112 кадра сохраняют передаваемое декодируемое изображение, и из него подают сохраненное декодируемое изображение в модуль 114 прогнозирования между кадрами в заданные моменты времени, как опорное изображение.
Модуль 113 прогнозирования внутри кадра выполняет прогнозирование внутри кадра (прогнозирование внутри экрана), в котором прогнозируемое изображение генерируют, используя значения пикселя в пределах целевого изображения обработки, которое представляет собой реконструированное изображение, передаваемое из модуля 110 расчета, в качестве опорного изображения. Модуль 113 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя множество режимов прогнозирования внутри кадра, подготовленных заранее.
Модуль 113 прогнозирования внутри кадра генерирует прогнозируемые изображения во всех режимах прогнозирования внутри кадра, которые являются кандидатами, выполняют оценку значения функции стоимости каждого прогнозируемого изображения, используя входное изображение, подаваемое из буфера 102 изменения компоновки экрана, и выбирает оптимальный режим. Когда выбирают оптимальный режим прогнозирования внутри кадра, модуль 113 прогнозирования внутри кадра подает прогнозируемое изображение, сгенерированное в оптимальном режиме, в модуль 115 выбора прогнозируемого изображения.
Кроме того, как описано выше, модуль 113 прогнозирования внутри кадра соответствующим образом подает информацию режима прогнозирования внутри кадра, представляющую используемый режим прогнозирования внутри кадра и т.п., в модуль 106 реверсивного кодирования, с тем, чтобы кодировать ее.
Модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования между кадрами (обработку прогнозирования движения и обработку компенсации), используя входное изображение, подаваемое из буфера 102 изменения компоновки экрана, и опорное изображение, передаваемое из запоминающего устройства 112 кадров. Более конкретно, модуль 114 прогнозирования между кадрами выполняет обработку компенсации движения, в соответствии с вектором движения, детектируемым в результате выполнения прогнозирования движения, как обработку прогнозирования между кадрами, генерируя таким образом прогнозируемое изображение (информацию изображения прогнозирования между кадрами). Модуль 114 прогнозирования между кадрами выполняет такое прогнозирование между кадрами во множестве заранее подготовленных режимов прогнозирования между кадрами.
Модуль 114 прогнозирования между кадрами генерирует изображения прогнозирования во всех режимах прогнозирования между кадрами, которые являются кандидатами. Модуль 114 прогнозирования между кадрами выполняет оценку значения функции стоимости каждого прогнозируемого изображения, используя входное изображение, передаваемое из буфера 102 изменения компоновки экрана, и информацию сгенерированного дифференциального вектора движения и т.п., и выбирает оптимальный режим. Когда оптимальный режим прогнозирования между кадрами выбран, модуль 114 прогнозирования между кадрами подает прогнозируемое изображение, сгенерированное в оптимальном режиме, в модуль 115 выбора прогнозируемого изображения.
Модуль 114 прогнозирования между кадрами подает информацию, представляющую используемый режим прогнозирования между кадрами, информацию, требуемую для выполнения обработки в режиме прогнозирования между кадрами во время декодирования кодированных данных, и т.п., в модуль 106 реверсивного кодирования, для кодирования информации. В качестве требуемой информации, например, используется информация генерируемого дифференциального вектора движения, флаг, представляющий индекс прогнозируемого вектора движения, в качестве прогнозируемой информации вектора движения, и т.п.
Модуль 115 выбора прогнозируемого изображения выбирает источник подачи прогнозируемого изображения, который должен быть подан в модуль 103 расчетов и в модуль 110 расчетов. Например, в случае кодирования внутри кадра, модуль 115 выбора прогнозируемого изображения выбирает модуль 113 прогнозирования внутри кадра, как источник подачи прогнозируемого изображения, и подает прогнозируемое изображение, передаваемое из модуля 113 прогнозирования внутри кадра, в модуль 103 расчетов и в модуль 110 расчетов. С другой стороны, например, в случае кодирования между кадрами, модуль 115 выбора прогнозируемого изображения выбирает модуль 114 прогнозирования между кадрами, как источник подачи прогнозируемого изображения, и подает прогнозируемое изображение, передаваемое из модуля 114 прогнозирования между кадрами, в модуль 103 расчетов и в модуль 110 расчетов.
Модуль 116 управления скоростью управляет скоростью операции квантования, выполняемой модулем 105 квантования, на основе объема кодирования кодированных данных, накопленных в буфере 107 накопления таким образом, что не возникает переполнение или потеря значимости.
Модуль 121 обработки заголовка, например, генерирует дополнительную информацию (также называется информацией заголовка), такую как набор видеопараметра (VPS), набор параметра последовательности (SPS), набор параметра изображения (PPS), вспомогательная информация расширения (SEI) и заголовок среза, другие, чем информация изображения. Модуль 121 обработки заголовка подает генерируемую информацию заголовка в модуль 106 реверсивного кодирования и передает информацию заголовка, которая включена в поток битов, на сторону декодирования. Кроме того, модуль 121 обработки заголовка подает необходимую информацию среди генерируемой информации заголовка в модуль 122 остаточного прогнозирования. Его детали будут описаны ниже.
Модуль 122 остаточного прогнозирования выполняет остаточное прогнозирование, используя остаточные данные цветоразностного компонента, передаваемые из модуля 103 расчета, и остаточные данные восстановленного компонента яркости, передаваемого из модуля 109 обратного ортогонального преобразования. Более конкретно, модуль 122 остаточного прогнозирования выполняет прогнозирование остаточных данных цветоразностного компонента, используя остаточные данные восстановленного компонента яркости, генерируя, таким образом, прогнозируемые остаточные данные. Затем модуль 122 остаточного прогнозирования выполняет прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными между компонентами. Его детали будут описаны ниже. Модуль 122 остаточного прогнозирования подает прогнозируемые остаточные данные цветоразностного компонента, полученные в результате такого остаточного прогнозирования, и остаточные данные компонента яркости, передаваемые из модуля 103 расчетов, в модуль 104 ортогонального преобразования. С другой стороны, в случае, когда остаточное прогнозирование не выполняется, модуль 122 остаточного прогнозирования подает остаточные данные каждого компонента, передаваемого из модуля 103 расчетов в модуль 104 ортогонального преобразования.
Модуль 123 остаточного восстановления восстанавливает остаточные данные цветоразностного компонента, используя остаточные данные компонента яркости и прогнозируемые остаточные данные цветоразностного компонента, подаваемые из модуля 109 обратного ортогонального преобразования (также называется остаточным восстановлением). Затем модуль 123 остаточного восстановления выполняет восстановление путем размещения значений глубины битов остаточных данных так, чтобы они были однородными, между компонентами. Обработка остаточного восстановления, в принципе, аналогична обработке остаточного восстановления, выполняемой на стороне декодирования, и, таким образом, когда описывают сторону декодирования, описание обработки остаточного восстановления будет представлено, используя описание для стороны декодирования. Модуль 123 остаточного восстановления подает остаточные данные каждого компонента, который был восстановлен, в модуль 110 расчетов.
Модуль обработки заголовка и модуль остаточного прогнозирования
На фиг. 4 показана блок-схема, которая иллюстрирует пример основных конфигураций модуля 121 обработки заголовка и модуля 122 остаточного прогнозирования, представленных на фиг. 3. Как показано на фиг. 4, модуль 121 обработки заголовка включает в себя: модуль 131 обработки SPS; и модуль 132 обработки PPS.
Модуль 131 обработки SP, например, выполняет обработку, относящуюся к генерированию набора параметра последовательности (SPS). Кроме того, модуль 131 обработки SPS, например, подает информацию, включающую в себя информацию (например, bit_depth_luma_minus8), которая включена в набор параметра последовательности (SPS), представляющий значение глубины битов компонента яркости или информацию, включающую в себя информацию, представляющую значение глубины битов компонента яркости, и информацию (например, bit_depth_chroma_minus8), представляющую значения глубины битов компонента цветоразностного компонента (Cb/Cr), или информацию, включающую в себя информацию, представляющую значение глубины битов цветоразностного компонента, в модуль 122 остаточного прогнозирования (модуль 151 расчета разности глубины битов, который будет описан ниже).
Модуль 132 обработки PPS, например, выполняет обработку, относящуюся к генерированию набора параметра изображения (PPS). Кроме того, модуль 132 обработки PPS, например, предоставляет информацию (например, luma_chroma_prediction_enabled_flag), которая включена в набор параметра изображения (PPS), используемый для управления, выполняется или нет остаточное прогнозирование для модуля 122 остаточного прогнозирования (модуля 152 управления сдвигом битов, который будет описан ниже).
Y
Cr
Cb
Cr
Cb
Y
Cr
Cb
Модуль 122 остаточного прогнозирования подает остаточные данные (r(x, y)) компонента яркости, передаваемые из модуля 103 расчетов, в модуль 104 ортогонального преобразования. Модуль 122 остаточного прогнозирования включает в себя модуль 141 управления и модуль 142 прогнозирования. Модуль 141 управления выполняет обработку, относящуюся к управлению, состоящую в расчете остаточного прогнозирования. Модулем 142 прогнозирования управляют с помощью модуля 141 управления и выполняют расчеты, относящиеся к его прогнозированию. Например, модуль 142 прогнозирования, под управлением модуля 141 управления, генерирует прогнозируемые остаточные данные (Δr(x, y) и Δr(x, y)), выполняя прогнозирование (остаточное прогнозирование) для остаточных данных (r(x, y) и r(x, y)) цветоразностного компонента, которые получают из модуля 103 расчетов, используя восстановленный остаточный компонент (r'(x, y)) компонента яркости, который получают из модуля 109 обратного ортогонального преобразования, и подает сгенерированные прогнозируемые остаточные данные в модуль 104 ортогонального преобразования. Кроме того, модуль 142 прогнозирования, под управлением модуля 141 управления, передает остаточные данные (r(x, y) и r(x, y)) цветоразностного компонента, полученного из модуля 103 расчетов, в модуль 104 ортогонального преобразования, без выполнения остаточного прогнозирования.
Модуль 141 управления включает в себя: модуль 151 расчета разности значений глубины битов; модуль 152 управления сдвигом битов; и модуль 153 установки весового коэффициента.
Модуль 151 расчета разности значений глубины битов рассчитывает разность значений глубины битов между остаточными данными компонентов, используемых для остаточного прогнозирования. Например, модуль 151 расчета разности значений глубины битов получает информацию (например, bit_depth_luma_minus8), представляющую значения глубины битов компонента яркости, или информацию, включающую в себя информацию, представляющую значение глубины битов компонента яркости, и информацию (например, bit_depth_chroma_minus8), представляющую значения глубины битов цветоразностного компонента (Cb/Cr) или информацию, включающую в себя информацию, представляющую значение глубины битов цветоразностного компонента, из модуля 131 обработки SPS и рассчитывает разность глубины битов (delta_bitdepth) между компонентами путем выполнения расчетов, представленных в Уравнении (4), используя такую информацию. Модуль 151 расчета разности значений глубины битов подает рассчитанную разность значений глубины битов (delta_bitdepth) в модуль 152 управления сдвигом битов.
Кроме того, модуль 151 расчета разности значений глубины битов, под управлением модуля 152 управления сдвигом битов подает рассчитанную разность значений глубины битов (delta_bitdepth) в модуль 142 прогнозирования. Например, в случае, когда выполняется сдвиг вправо остаточных данных во время масштабирования значения глубины битов, модуль 151 расчета разности значений глубины битов подает рассчитанную разность значений глубины битов (delta_bitdepth) в модуль 162 сдвига вправо. С другой стороны, в случае, когда сдвиг влево остаточных данных выполняют во время масштабирования значения глубины битов, модуль 151 расчета разности значений глубины битов подает рассчитанную разность значений глубины битов (-delta_bitdepth) в модуль 163 сдвига влево.
Модуль 152 управления сдвигом битов управляет расчетом, выполняемым модулем 142 прогнозирования, на основе значения разности глубины битов (delta_bitdepth) между компонентами, передаваемыми из модуля 151 расчета разности значений глубины битов. Например, в случае, когда разность значений глубины битов (delta_bitdepth) равна нулю, модуль 152 управления сдвигом битов выполняет управление модулем 142 прогнозирования (его модулем 161 выбора) таким образом, что, сдвиг битов (масштабирование значения глубины битов) остаточных данных не выполняется. Кроме того, в этом время модуль управления 152 сдвигом битов также выполняет управление модулем 151 расчета разности значений глубины битов таким образом, что разность значений глубины битов (delta_bitdepth) не подают в модуль 142 прогнозирования.
Кроме того, например, в случае, когда разность значений глубины битов (delta_bitdepth) имеет положительное значение (>0), модуль 152 управления сдвигом битов выполняет управление модулем 142 прогнозирования (его модулем 161 выбора) таким образом, что остаточные данные сдвигают в правую сторону (выполняют масштабирование значения глубины битов). Кроме того, в это время, модуль 152 управления сдвигом битов также выполняет управление модулем 151 расчета разности значений глубины битов таким образом, что разность значений глубины битов (delta_bitdepth) подают в модуль 142 прогнозирования (модуль 162 сдвига вправо).
С другой стороны, например, в случае, когда разность значений глубины битов (delta_bitdepth) имеет отрицательное значение (<0), модуль 152 управления сдвигом битов выполняет управление модулем 142 прогнозирования (его модулем 161 выбора) таким образом, что остаточные данные сдвигают в левую сторону (выполняют масштабирование значения глубины битов). Кроме того, в это время, модуль 152 управления сдвигом битов также выполняет управление модулем 151 расчета разности значений глубины битов таким образом, что разность значений глубины битов (-delta_bitdepth) подают в модуль 142 прогнозирования (модуль 163 сдвига влево).
Кроме того, модуль 152 управления сдвигом битов, например, получает информацию (например, uma_chroma_prediction_enabled_flag), используемую для управления, выполняется или нет остаточное прогнозирование, из модуля 132 обработки PPS и управляет, выполняется или нет остаточное прогнозирование на основе его значения. Например, в случае, когда представлено, что остаточное прогнозирование не выполняется на основе информации, используемой для управления, выполняется или нет остаточное прогнозирование, модуль 152 управления сдвигом битов выполняет управление модулем 142 прогнозирования таким образом, что расчет, относящийся к прогнозированию, не выполняется. Кроме того, в этом случае, модуль 152 управления сдвигом битов выполняет управление модулем 151 расчета разности значений глубины битов таким образом, что подача разности значений глубины битов (delta_bitdepth или -delta_bitdepth) останавливается. Кроме того, модуль 152 управления сдвигом битов, в таком случае, выполняет управление модулем 153 установки весового коэффициента таким образом, что весовой коэффициент α не установлен.
С другой стороны, например, в случае, когда представлено, что остаточное прогнозирование выполняют на основе информации, используемой для управления, выполняется или нет остаточное прогнозирование, модуль 152 управления сдвигом битов выполняет управление модулем 142 прогнозирования таким образом, что выполняется расчет, относящийся к прогнозированию. Кроме того, в таком случае, модуль 152 управления сдвигом битов выполняет управление модулем 151 расчета разности значений глубины битов таким образом, что разность значений глубины битов (delta_bitdepth или -delta_bitdepth) подают в модуль 142 прогнозирования. Кроме того, в таком случае, модуль 152 управления сдвигом битов выполняет управление модулем 153 установки весового коэффициента для установки весового коэффициента α, и подает весовой коэффициент в модуль 142 прогнозирования (модуль 164 умножения на весовой коэффициент).
Модуль 153 установки весового коэффициента устанавливает весовой коэффициент α под управлением модуля 152 управления сдвигом битов. Способ установки весового коэффициента α и его значения является произвольным. Например, модуль 153 установки весового коэффициента может быть выполнен с возможностью независимой установки весового коэффициента α для каждого компонента. Кроме того, в случае, когда весовой коэффициент α установлен, модуль 153 установки весового коэффициента подает весовой коэффициент α в модуль 142 прогнозирования (модуль 164 умножения на весовой коэффициент). Такой весовой коэффициент α используется также для остаточного восстановления и, таким образом, его предоставляют на сторону декодирования так, что он включен в поток битов.
Модуль 142 прогнозирования включает в себя: модуль 161 выбора; модуль 162 сдвига вправо; модуль 163 сдвига влево; модуль 164 умножения на весовой коэффициент; модуль 165 сдвига вправо; модуль 166 расчетов; и модуль 167 расчетов.
Y
Y
Y
Y
Модуль 161 выбора выбирает место назначения подачи остаточных данных (r'(x, y)) компонента яркости, который был восстановлен, переданного из модуля 109 обратного ортогонального преобразования под управлением модуля 152 управления сдвигом битов. Например, в случае выполнения масштабирования (сдвиг вправо) значения глубины битов, модуль 161 выбора подает остаточные данные (r'(x, y)) компонента яркости, которые были восстановлены, в модуль 162 сдвига вправо. В этом случае, выполняют расчет, представленный в Уравнении (6). Кроме того, в случае выполнения масштабирования (сдвиг влево) значения глубины битов, модуль 161 выбора подает остаточные данные (r'(x, y)) компонента яркости, которые были восстановлены, в модуль 163 сдвига влево. В этом случае выполняется расчет, представленный в Уравнении (8). С другой стороны, например, в случае, когда расчет значения глубины битов не выполняется, модуль 161 выбора подает остаточные данные (r'(x, y)) компонента яркости, которые были восстановлены, в модуль 164 умножения на весовой коэффициент. В этом случае выполняют расчет, представленный в Уравнении (3).
Y
Y
Модуль 162 сдвига вправо выполняет масштабирование значения глубины битов, путем сдвига остаточных данных (r'(x, y)) компонента яркости, который был восстановлен, полученного из модуля 161 выбора, в правую сторону, в соответствии разностью глубины битов (delta_bitdepth), полученной из модуля 151 расчета разности значений глубины битов. Модуль 162 сдвига вправо подает результат (r'(x, y)>>delta_bitdepth) сдвига вправо остаточных данных компонента яркости в модуль 164 умножения на весовой коэффициент.
Y
Y
Модуль 163 сдвига влево выполняет масштабирование значения глубины битов путем сдвига остаточных данных (r'(x, y)) компонента яркости, который был восстановлен, полученного из модуля 161 выбора, в левую сторону, в соответствии разностью глубины битов (-delta_bitdepth), полученной из модуля 151 расчета разности значений глубины битов. Модуль 163 сдвига влево подает результат (r'(x, y)<<-delta_bitdepth) сдвига влево остаточных данных компонента яркости в модуль 164 умножения на весовой коэффициент.
Y
Y
Y
Модуль 164 умножения на весовой коэффициент получает остаточные данные компонента яркости, который был восстановлен, из одного из модуля 161 выбора в модуле 163 сдвига влево. Например, модуль 164 умножения на весовой коэффициент получает восстановленные остаточные данные (r'(x, y)) компонента яркости, для которого не был выполнен сдвиг битов, из модуля 161 выбора. Кроме того, например, модуль 164 умножения на весовой коэффициент получает восстановленные остаточные данные (r'(x, y)>>delta_bitdepth) компонента яркости, который был сдвинут в правую сторону, из модуля 162 сдвига вправо. Кроме того, например, модуль 164 умножения весового коэффициента получает восстановленные остаточные данные r'(x, y)<<-delta_bitdepth) компонента яркости, который был сдвинут в левую сторону из модуля 163 сдвига влево.
Y
Y
Y
Кроме того, модуль 164 умножения на весовой коэффициент получает весовой коэффициент α из модуля 153 установки весового коэффициента. Модуль 164 умножения на весовой коэффициент умножает восстановленные остаточные данные компонента яркости, которые были получены, на весовой коэффициент α, и подает результат (α×(r'(x, y)), α×(r'(x, y)>>delta_bitdepth) или α×(r'(x, y)<<-delta_bitdepth)) умножения в модуль 165 сдвига вправо.
Y
Y
Y
Y
Y
Y
Модуль 165 сдвига вправо сдвигает восстановленные остаточные данные (α×(r'(x, y)), α×(r'(x, y)>>delta_bitdepth) или α×(r'(x, y)<<-delta_bitdepth)) компонента яркости, который был подан из модуля 164 умножения весового коэффициента, в правую сторону на заданное количество битов. В то время, как количество битов сдвига является произвольным, например, в случае Уравнения (3), Уравнения (6) и Уравнения (8), модуль 165 сдвига вправо сдвигает остаточные данные в правую сторону на три бита. Модуль 165 сдвига вправо подает результат (α×(r'(x, y))>>3, α×(r'(x, y)>>delta_bitdepth)>>3, или α×(r'(x, y)<<-delta_bitdepth)>>3) сдвига вправо в модуль 166 расчетов или модуль 167 расчетов.
Cr
Y
Y
Y
Cr
Cr
Модуль 166 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) цветоразностного компонента (Cr) путем вычитания восстановленных остаточных данных (α×(r'(x, y))>>3, α×(r'(x, y)>>delta_bitdepth)>>3 или, α×(r'(x, y)<<-delta_bitdepth)>>3) компонента яркости, который подают из модуля 165 сдвига вправо, из остаточных данных (r(x, y)) цветоразностного компонента (Cr), подаваемого из модуля 103 расчетов, и подает сгенерированные прогнозируемые остаточные данные в модуль 104 ортогонального преобразования. С другой стороны, в случае, когда такой расчет не выполняется, модуль 166 расчетов подает остаточные данные (r(x, y)) цветоразностного компонента (Cr), подаваемого из модуля 103 расчетов, в модуль 104 ортогонального преобразования.
Cb
Y
Y
Y
Cb
Cb
Модуль 167 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) цветоразностного компонента (Cb) путем вычитания восстановленных остаточных данных (α×(r'(x, y))>>3, α×(r'(x, y)>>delta_bitdepth)>>3, или, α×(r'(x, y)<<-delta_bitdepth)>>3) компонента яркости, который подают из модуля 165 сдвига вправо из остаточных данных (r(x, y)) цветоразностного компонента (Cb), подаваемого из модуля 103 расчетов, и подает сгенерированные прогнозируемые остаточные данные в модуль 104 ортогонального преобразования. С другой стороны, в случае, когда такой расчет не выполняется, модуль 167 расчетов подает остаточные данные (r(x, y)) цветоразностного компонента (Cb), подаваемого из модуля 103 расчетов, в модуль 104 ортогонального преобразования.
Как описано выше, при остаточном прогнозировании, модуль 122 остаточного прогнозирования выполняет прогнозирование путем выполнения расчета значений глубины битов восстановленных остаточных данных для компонентов яркости. В соответствии с этим, также в случае, когда значения глубины битов остаточных данных различаются между компонентами, модуль 122 остаточного прогнозирования может правильно рассчитывать остаточные прогнозируемые данные. Поэтому, в соответствии с устройством 100 кодирования изображения, можно предотвратить снижение эффективности кодирования.
Поток обработки кодирования
Далее будет описан пример потока каждой обработки, выполняемой в устройстве 100 кодирования изображения. Вначале, со ссылкой на блок-схему последовательности операций, показанную на фиг. 5, будет описан пример потока обработки кодирования.
Когда начинается обработка кодирования, модуль 121 обработки заголовка, например, генерирует информацию заголовка, такую как набор параметра последовательности (SPS) для набора параметров изображения (PPS) на этапе S101.
На этапе S102, буфер 102 изменения компоновки экрана сохраняет изображения кадров (изображений) входного движущегося изображения в порядке отображения, и изменяет компоновку изображения с порядка отображения изображений на порядок кодирования.
На этапе S103, модуль 113 прогнозирования внутри кадра выполняет обработку прогнозирования внутри кадра в режиме прогнозирования внутри кадра.
На этапе S104, модуль 114 прогнозирования между кадрами выполняет обработку прогнозирования между кадрами, в которой выполняется прогнозирование движения, компенсация движения и т.п. в режиме прогнозирования между кадрами.
На этапе S105, модуль 115 выбора прогнозируемого изображения выбирает одно из прогнозируемых изображений, сгенерированное в соответствии с прогнозированием внутри кадра на Этапе S103, и прогнозируемое изображение, сгенерированное при прогнозировании между кадрами на Этапе S104, на основе значения функции стоимости и т.п.
На этапе S106, модуль 103 расчетов рассчитывает разность между входным изображением, в котором порядок кадров был изменен при обработке на Этапе S102, и прогнозируемое изображение, выбранное в результате обработки на Этапе S105. Другими словами, модуль расчетов 103 генерирует остаточные данные между входным изображением и заданным изображением. Количество данных для остаточных данных, полученных таким образом, будет меньше, чем для данных исходного изображения. В соответствии с этим, количество данных может быть сжато в большей степени, чем в случае, когда изображение непосредственно кодируют. Такую обработку выполняют для каждого из компонентов (Y, Cr и Cb).
На этапе S107, модуль 122 остаточного прогнозирования выполняет остаточное прогнозирование, используя остаточные данные компонента яркости для остаточных данных цветоразностного компонента, полученного при обработке на Этапе S106. В это время модуль 122 остаточного прогнозирования выполняет прогнозирование со значениями глубины битов остаточных данных, которые являются однородными среди компонентов. Такая обработка будет подробно описана ниже.
На этапе S108, модуль 104 ортогонального преобразования выполняет ортогональное преобразование для остаточных данных компонента яркости, сгенерированного в результате обработки на Этапе S106, и прогнозируемых остаточных данных цветоразностного компонента, сгенерированного при обработке на Этапе S107.
На этапе S109, модуль 105 квантования квантует коэффициенты ортогонального преобразования, полученные в результате обработки на Этапе S108, используя параметры квантования, рассчитанные модулем 116 управления скоростью.
На этапе S110, модуль 108 обратного квантования выполняет обратное квантование квантованных коэффициентов (также называются коэффициентами квантования), сгенерированных при обработке на Этапе S109, используя характеристики, соответствующие характеристикам квантования.
На этапе S111, модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов ортогонального преобразования, полученных при обработке на Этапе S108.
На этапе S112, модуль 123 остаточного восстановления восстанавливает остаточные данные цветоразностного компонента, используя остаточные данные компонента яркости, восстановленного при обработке на Этапе S111, и прогнозируемые остаточные данные цветоразностного компонента. В это время модуль 123 остаточного восстановления выполняет восстановление со значениями глубины битов остаточных данных, которые являются однородными среди компонентов. Эта обработка будет подробно описана ниже.
На этапе S113, модуль 110 расчетов генерирует данные изображения реконструированного изображения, путем добавления прогнозируемого изображения, выбранного при обработке на Этапе S105 для остаточных данных каждого компонента, восстановленных при обработке на Этапе S111 и Этапе S112.
На этапе S114, контурный фильтр 111 выполняет обработку контурного фильтра для данных изображения, для реконструированного изображения, генерируемого при обработке на Этапе S113. В соответствии с этим, устраняют искажение блоков и т.п. реконструированного изображения.
На этапе S115, запоминающее устройство 112 кадров содержит декодированное изображение, которое было локально декодировано, полученное в результате обработки на Этапе S114.
На этапе S116, модуль 106 реверсивного кодирования кодирует квантованные коэффициенты, полученные при обработке на Этапе S109. Другими словами, для данных, соответствующих остаточным данным, выполняют реверсивное кодирование, такое как кодирование с переменной длиной или арифметическое кодирование.
Кроме того, в это время, модуль 106 реверсивного кодирования кодирует информацию, относящуюся к режиму прогнозирования прогнозируемого изображения, выбранного при обработке на Этапе S105, и добавляет кодированную информацию к кодированным данным, полученным в результате кодирования дифференциального изображения. Другими словами, модуль 106 реверсивного кодирования кодирует оптимальную информацию режима прогнозирования внутри кадра, подаваемую из модуля 113 прогнозирования внутри кадра, или информацию, соответствующую оптимальному режиму прогнозирования между кадрами, подаваемому из модуля 114 прогнозирования между кадрами, и т.п., и добавляет кодированную информацию к кодированным данным.
На этапе S117, буфер 107 накопления сохраняет кодированные данные и т.п., полученные при обработке на Этапе S116. Кодированные данные и т.п., сохраненные в буфере 107 накопления, соответствующим образом считывают, как поток битов, и передают на сторону декодирования по линии электропередачи или через носитель записи.
На этапе S118, модуль 116 управления скоростью управляет скоростью обработки квантования на Этапе S109, на основе количество кодирования (сгенерированного количества кодирования) для кодированных данных и т.п., сохраненных в буфере 107 накопления, используя обработку на Этапе S117 таким образом, что не возникает переполнение или потеря значимости.
Когда заканчивается обработка на Этапе S118, обработка кодирования заканчивается.
Поток обработки остаточного прогнозирования
Далее, со ссылкой на блок-схему последовательности операций, показанную на фиг. 6, будет описан пример потока обработки остаточного прогнозирования, выполняемого на этапе S107 для такой обработки кодирования.
Когда начинается обработка остаточного прогнозирования, на этапе S121, модуль 151 расчета значения разности глубины битов рассчитывает разность глубины битов между компонентами, для которых выполняется остаточное прогнозирование. Другими словами, модуль 151 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (4), и рассчитывает разность глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда разности значений глубины битов отличаются между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают разности значений глубины битов (delta_bitdepth).
На этапе S122, модуль 152 управления сдвигов битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S121. В случае, когда определен нуль, обработка переходит на Этап S123. В таком случае сдвиг битов не выполняют, но выполняют остаточное прогнозирование, как представлено в Уравнении (3).
На этапе S123, модуль 152 управления сдвигом битов определяет, выполняется или нет остаточное прогнозирование на основе информации (например, luma_chroma_prediction_enabled_flag), которая включена в набор параметров изображения (PPS), используемой для управления, выполняется или нет остаточное прогнозирование и т.п. Например, в случае, когда значение luma_chroma_prediction_enabled_flag равно "1", и определяют, что остаточное прогнозирование должно быть выполнено, обработка переходит на Этап S124.
На этапе S124, модуль 153 установки весового коэффициента устанавливает весовой коэффициент α для каждого TU.
На этапе S125, модуль 142 прогнозирования выполняет прогнозирование (остаточное прогнозирование) для остаточных данных между компонентами, без выполнения масштабирования значений глубины битов. Подробности этой обработки будут описаны ниже.
На этапе S125, когда остаточное прогнозирование заканчивается, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
С другой стороны, например, на этапе S123, в случае, когда значение luma_chroma_prediction_enabled_flag равно "0", и определяют, что остаточное прогнозирование не выполняется, обработка на Этапе S124 и на Этапе S125 исключается, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
Кроме того, на этапе S122, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S126.
На этапе S126, модуль 152 управления сдвигом битов определяет, является или нет положительной разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S121. В случае, когда определяют, что она положительная, обработка переходит на Этап S127. В таком случае выполняют остаточное прогнозирование, как представлено в Уравнении (6) (выполняют масштабирование путем сдвига вправо).
На этапе S127 модуль 152 управления сдвигом определяет, выполняется или нет остаточное прогнозирование на основе информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное прогнозирование, которая включена в набор параметров изображения (PPS) и т.п. Например, в случае, когда значение luma_chroma_prediction_enabled_flag равно "1", и определяют, что остаточное прогнозирование не выполняется, обработка переходит на Этап S128.
На этапе S128 модуль 153 установки весового коэффициента устанавливает весовой коэффициент α для каждого TU.
На этапе S129 модуль 142 прогнозирования выполняет прогнозирование (остаточное прогнозирование) остаточных данных между компонентами путем выполнения масштабирования значений глубины битов, используя сдвиг вправо. Детали такой обработки будут описаны ниже.
Когда остаточное прогнозирование, выполняемое на этапе S129, заканчивается, заканчивается обработка остаточного прогнозирования, и обработка возвращается к обработке, показанной на фиг. 5.
С другой стороны, например, на этапе S127, в случае, когда значение luma_chroma_prediction_enabled_flag равно "0", и определяют, что остаточное прогнозирование не выполняется, обработка на Этапе S128 и Этапе S129 исключается, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
Кроме того, на этапе S126, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не является положительной (определяют, что она является отрицательной), обработка переходит на Этап S130. В таком случае остаточное прогнозирование выполняют, как представлено в Уравнении (8) (выполняют масштабирование, используя сдвиг влево).
На этапе S130, модуль 152 управления сдвигом определяет, выполняется или нет остаточное прогнозирование на основе информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное прогнозирование, которое включено в набор параметров изображения (PPS) и т.п. Например, в случае, когда значение luma_chroma_prediction_enabled_flag равно "1", и определяют, что остаточное прогнозирование должно быть выполнено, обработка переходит на Этап S131.
На этапе S131, модуль 153 установки весового коэффициента устанавливает весовой коэффициент α для каждого TU.
На этапе S132 модуль 142 прогнозирования выполняет прогнозирование (остаточное прогнозирование) для остаточных данных между компонентами путем выполнения масштабирования значений глубины битов, в соответствии со сдвигом влево. Детали этой обработки будут описаны ниже.
Когда обработка остаточного прогнозирования, выполняемая на этапе S132, заканчивается, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
С другой стороны, например, на этапе S130, в случае, когда значение luma_chroma_prediction_enabled_flag равно "0", и определяют, что остаточное прогнозирование не следует выполнять, обработка на Этапе S131 и Этапе S132 исключается, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
Поток обработки генерирования прогнозируемых остаточных данных
Далее, со ссылкой на блок-схему последовательности операций, иллюстрируемую на фиг. 7, будет описан пример потока обработки генерирования остаточных данных прогнозирования, выполняемой на этапе S125 при обработке остаточного прогнозирования.
Y
Y
Когда начинается обработка генерирования прогнозируемых остаточных данных, на этапе S141, модуль 164 умножения весовых коэффициентов в модуле 142 прогнозирования умножают восстановленные остаточные данные (r'(x, y)) компонента яркости на весовой коэффициент α, установленный при обработке на Этапе S124, представленном на фиг. 6 (α×r'(x, y)).
Y
Y
Ha этапе S142, модуль 165 сдвига вправо выполняет сдвиг результата умножения (α×r'(x, y)), рассчитанного на этапе S141 в правую сторону на три бита ((α×r'(x, y))>>3).
Cr
Y
Cr
Cr
Y
Cb
Y
Cb
Cb
Y
На этапе S143 модуль 166 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) путем расчета результата сдвига вправо ((α×r'(x, y))>>3), рассчитанного на этапе S142, из остаточных данных (r(x, y)) компонента яркости Cr (r(x, y)-(α×r'(x, y))>>3). Кроме того, модуль 167 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) путем вычитания результата сдвига вправо ((α×r'(x, y))>>3), рассчитанного на этапе S142 из остаточных данных (r(x, y)) компонента яркости Cb (r(x, y)-(α×r'(x, y))>>3).
Cr
Cb
Когда прогнозируемые остаточные данные (Δr(x, y) и Δr(x, y)) генерируют, как описано выше, обработка генерирования прогнозируемых остаточных данных заканчивается, и обработка возвращается к обработке, представленной на фиг. 6.
Поток обработки генерирования прогнозируемых остаточных данных
Далее, со ссылкой на блок-схему последовательности операций, представленную на фиг. 8, будет описан пример потока обработки генерирования прогнозируемых остаточных данных, выполняемой на этапе S129 при обработке остаточного прогнозирования.
Y
Y
Когда начинается обработка генерирования прогнозируемых остаточных данных, на этапе S151, модуль 162 сдвига вправо модуля 142 прогнозирования выполняет сдвиг восстановленных остаточных данных (r'(x, y)) компонента яркости в правую сторону, в соответствии с разностью значений глубины битов (delta_bitdepth) остаточных данных, рассчитанных при обработке на Этапе S121, представленной на фиг. 6 ((r'(x, y)>>delta_bitdepth)).
Y
Y
На этапе S152 модуль 164 умножения на весовой коэффициент умножает результат (r'(x, y)>>delta_bitdepth) сдвига вправо, рассчитанный на этапе S151, на весовой коэффициент α, установленный при обработке на Этапе S128, представленной на фиг. 6 (α×(r'(x, y)>>delta_bitdepth)).
Y
Y
Ha этапе S153 модуль 165 сдвига вправо выполняет сдвиг результата умножения (α×(r'(x, y)>>delta_bitdepth)), рассчитанного на этапе S152, в правую сторону на три бита (α×(r'(x, y)>>delta_bitdepth)>>3).
Cr
Y
Cr
Cr
Y
Cb
Y
Cb
Cb
Y
Ha этапе S154 модуль 166 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)), путем вычитания результата (α×(r'(x, y)>>delta_bitdepth)>>3) со сдвигом вправо, рассчитанного на этапе S153, из остаточных данных (r(x, y)) компонента Cr (r(x, y)-α×(r'(x, y)>>delta_bitdepth)>>3) яркости. Кроме того, модуль 167 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) путем вычитания результата (α×(r'(x, y)>>delta_bitdepth)>>3), полученного в результате сдвига вправо, рассчитанного на этапе S153, из остаточных данных (r(x, y)) компонента Cb (r(x, y)-α×(r'(x, y)>>delta_bitdepth)>>3) яркости.
Cr
Cb
Когда прогнозируемые остаточные данные (Δr(x, y) и Δr(x, y)) генерируют, как описано выше, обработка генерирования прогнозируемых остаточных данных заканчивается, и обработка возвращается к обработке, представленной на фиг. 6.
Поток обработки генерирования прогнозируемых остаточных данных
Далее, со ссылкой на блок-схему последовательности операций, представленную на фиг. 9, будет описан пример потока обработки генерирования прогнозируемых остаточных данных, выполняемой на этапе S132 при обработке прогнозирования остаточных данных.
Y
Y
Когда начинается обработка генерирования прогнозируемых остаточных данных на этапе S161, модуль 163 сдвига влево модуля 142 прогнозирования выполняет сдвиг восстановленных остаточных данных (r'(x, y)) компонента яркости в левую сторону, в соответствии разностью значения глубины битов (-delta_bitdepth) остаточных данных, рассчитанных при обработке на Этапе S121, представленной на фиг. 6 (r'(x, y)<<-delta_bitdepth).
Y
Y
На этапе S162 модуль 164 умножения на весовой коэффициент умножает результат (r'(x, y)<<-delta_bitdepth) сдвига влево, рассчитанный на этапе S161, на весовой коэффициент α, установленный при обработке на Этапе S131, показанной на фиг. 6 (α×(r'(x, y)<<-delta_bitdepth)).
Y
Y
Ha этапе S163 модуль 165 сдвига вправо выполняет сдвиг, как результат умножения (α×(r'(x, y)<<-delta_bitdepth)), рассчитанный на этапе S162, в правую сторону на три бита α×(r'(x, y)<<-delta_bitdepth)>>3).
Cr
Y
Cr
Cr
Y
Cb
Y
Cb
Cb
Y
Ha этапе S164 модуль 166 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) путем вычитания результата (α×(r'(x, y)<<-delta_bitdepth)>>3), полученные в результате сдвига вправо, рассчитанные на этапе S153, из остаточных данных (r(x, y)) компонента яркости Cr (r(x, y)-α×(r'(x, y)<<-delta_bitdepth)>>3). Кроме того, модуль 167 расчетов генерирует прогнозируемые остаточные данные (Δr(x, y)) путем вычитания результата (α×(r'(x, y)<<-delta_bitdepth)>>3), полученные в результате сдвига вправо, рассчитанные на этапе S163, из остаточных данных (r(x, y)) компонента яркости Cb (r(x, y)-α×(r'(x, y)<<-delta_bitdepth)>>3).
Cr
Cb
Когда прогнозируемые остаточные данные (Δr(x, y) и Δr(x, y)) генерируют, как описано выше, обработка генерирования прогнозируемых остаточных данных заканчивается, и обработка возвращается к обработке, представленной на фиг. 6.
В результате выполнения каждой обработки, как описано выше, модуль 122 остаточного прогнозирования может правильно рассчитать остаточные прогнозируемые данные также в случае, когда значения глубины битов остаточных данных отличаются друг от друга между компонентами. В соответствии с этим, устройство 100 кодирования изображения может предотвращать снижение эффективности кодирования.
Остаточное восстановление
Далее будет описано декодирование кодированных данных (потока битов), кодированных, как описано выше. Для реализации остаточного восстановления, соответствующего остаточному прогнозированию (другими словами, восстановления остаточных данных цветоразностного компонента), из Уравнения (3) - Уравнения (8), при остаточном восстановлении очевидно, что восстановленные остаточные данные компонента яркости, используемые для остаточного прогнозирования, могут быть добавлены к прогнозируемым остаточным данным цветоразностного компонента, сгенерированного в результате остаточного прогнозирования.
Другими словами, как в примерах, представленных в Уравнении (6) и Уравнении (8), в случае, когда значения глубины битов компонуют так, чтобы они были однородными между компонентами во время выполнения остаточного прогнозирования, также при остаточном восстановлении, соответствующем остаточному прогнозированию, остаточные данные цветоразностных компонентов могут быть восстановлены со значениями глубины битов, которые скомпонованы так, чтобы они были однородными между компонентами. В результате такой конфигурации, также в случае, когда значения глубины битов остаточных данных являются разными среди компонентов, восстановление может быть выполнено со значениями глубины битов остаточных данных компонентов, которые скомпонованы так, чтобы они были однородными, и, соответственно, остаточное восстановление может быть правильно выполнено. В соответствии с этим, может быть предотвращено снижение эффективности кодирования.
В то время как способ компоновки значения глубины битов остаточных данных так, чтобы они были однородными среди компонентов, является произвольным, компоновка может быть выполнена, используя подход, аналогичный выполнению остаточного прогнозирования. Например, значения глубины битов остаточных данных могут быть скомпонованы так, чтобы они были однородными среди компонентов, путем выполнения сдвига битов остаточных данных. В результате такого конфигурирования, значения глубины битов остаточных данных можно легко размещать так, чтобы они были однородными среди компонентов. Другими словами, нагрузка на обработку и время обработки могут быть уменьшены.
Естественно, также в случае остаточного восстановления, аналогично случаю остаточного декодирования, цветовое пространство изображения, в котором скомпонованы значения глубины битов остаточных данных так, чтобы они были однородными, является произвольным. Например, цветовое пространство может представлять собой пространство YUV (YUV444 и т.п.) или пространство RGB (RGB444 и т.п.). Например, в случае, когда цветовое пространство изображения представляет собой пространство YUV, восстановление может быть выполнено со значениями глубины битов остаточных данных, которые скомпонованы так, чтобы они были однородными между компонентом яркости и цветоразностным компонентом, используя сдвиг битов. Более конкретно, например, восстановление может быть выполнено после компоновки значений глубины битов компонента яркости так, чтобы они были однородными в отношении значения глубины битов цветоразностного компонента, используя сдвиг битов. Кроме того, например, в случае, когда цветовое пространство изображения представляет собой пространство RGB, восстановление может быть выполнено, используя значения глубины битов остаточных данных, которые компонуют так, чтобы они были однородными между компонентом G и компонентом R, или компонентом В, используя сдвиг битов. Более конкретно, например, восстановление может быть выполнено после того, как значение глубины битов компонента G будет скомпоновано так, чтобы оно было однородным в отношении значения глубины битов компонента R или компонента В, используя сдвиг битов.
Расчет остаточного восстановления
Ниже будет описан конкретный пример расчета остаточного восстановления, как представлено выше. Например, как и в Уравнении (3), в случае, когда масштабирование значений глубины битов не выполняют при остаточном прогнозировании, также при остаточном восстановлении, как и в следующем Уравнении (9), масштабирование значений глубины битов может не выполняться. Аналогично, при остаточном прогнозировании, например, в случае, когда масштабирование значений глубины битов выполняют, как в Уравнении (4) - Уравнении (8), также при остаточном восстановлении, как и в следующем Уравнении (10) - Уравнении (14), может выполняться масштабирование значений глубины битов.
Математическая формула 5
Способ расчета сдвига для компоновки значений глубины битов так, чтобы они были однородными, как представлено выше, является произвольным. Значения глубины битов остаточных данных могут быть скомпонованы так, чтобы они были однородными, путем передачи информации, относящейся к значениям глубины битов остаточных данных каждого компонента со стороны кодирования, получения значения разности между значениями глубины битов двух компонентов, для которых было выполнено прогнозирование на основе информации, относящейся к значению глубины битов остаточных данных каждого компонента, переданного со стороны кодирования, и выполнения сдвига битов на основе полученной разности между значениями глубины битов. Затем, в случае, когда разность значений глубины битов между двумя компонентами не равна нулю, может быть выполнено восстановление со значениями глубины битов остаточных данных, которые скомпонованы так, чтобы они были однородными между компонентами в результате сдвига битов. Например, как в Уравнении (10), описанном выше, может использоваться такая конфигурация, что будет получена разность (разность значений глубины битов) для значений глубины битов остаточных данных между компонентами, и, как представлено в Уравнении (11) - Уравнении (14), выполняют сдвиг битов в соответствии разностью значения глубины битов. В этом время сдвиг битов, как в Уравнении (12) и Уравнении (14), может быть выполнен в соответствии абсолютным значением разности значений глубины битов. В таком случае, например, направление сдвига может быть определено, как представлено в Уравнении (12) и в Уравнении (14), на основе условия, удовлетворяются или нет Уравнение (11) и Уравнение (13).
L
c
Другими словами, в таком случае, восстановление выполняют со значением глубины битов (BitDepthY) остаточных данных (r(x, y)) компонента (Y) яркости, которое скомпоновано так, чтобы оно было однородным в отношении значения глубины битов (BitDepthC) остаточных данных (r(x, y)) цветоразностного компонента (Cb или Cr). Более конкретно, получают разность значений глубины битов между двумя компонентами, для которых выполняют восстановление, выполняют сдвиг битов, соответствующий разности значений глубины битов, для восстановленных остаточных данных одного компонента из двух компонентов, остаточные данные со сдвигом битов умножают на заданный весовой коэффициент, выполняют сдвиг битов, соответствующий заданному количеству битов, для результата умножения, и результат умножения со сдвигом битов и прогнозируемые остаточные данные суммируют вместе, в результате чего восстанавливают остаточные данные другого компонента. Восстановление может быть выполнено, как описано выше.
L
c
В случае, когда Δbitdepth равно нулю, величина сдвига битов остаточных данных (r(x, y)) компонента (Y) яркости равна нулю, и, соответственно, остаточные данные (r'(x, y)) могут рассматриваться, как рассчитанные, как представлено в Уравнении (9).
c
В результате описанных выше расчетов, также в случае, когда значения глубины битов остаточных данных отличаются между компонентами, остаточные данные (r'(x, y)) могут быть правильно восстановлены. В соответствии с этим, может быть предотвращено снижение эффективности кодирования.
Устройство декодирования изображения
На фиг. 10 показана блок-схема, которая иллюстрирует пример основной конфигурации устройства декодирования изображения, в соответствии с устройством 100 кодирования изображения, представленным на фиг. 3, которое представляет собой один аспект устройства обработки изображений, в соответствии с настоящей технологией.
Устройство 200 декодирования изображения, показанное на фиг. 10, декодирует кодированные данные, сгенерированные устройством 100 кодирования изображения, используя способ декодирования, соответствующий способу кодирования.
Как показано на фиг. 10, устройство 200 декодирования изображения включает в себя: буфер 201 накопления; модуль 202 реверсивного декодирования; модуль 203 обратного квантования; модуль 204 обратного ортогонального преобразования; модуль 205 расчетов; контурный фильтр 206; и буфер 207 изменения компоновки экрана. Кроме того, устройство 200 декодирования изображения включает в себя: запоминающее устройство 209 кадра; модуль 210 прогнозирования внутри кадра; модуль 211 прогнозирования между кадрами; и модуль 212 выбора прогнозируемого изображения. Кроме того, устройство 200 декодирования изображения включает в себя: модуль 221 получения заголовка; и модуль 222 остаточного восстановления.
Буфер 201 накопления также используется, как модуль приема, который принимает кодированные данные, передаваемые со стороны кодирования (например, из устройства 100 кодирования изображения). Буфер 201 накопления принимает и накапливает переданные кодированные данные и подает эти кодированные данные в модуль 202 реверсивного декодирования в заданные моменты времени. Здесь информацию, требуемую для обработки декодирования, такую как информация режима прогнозирования и т.п., добавляют к кодированным данным. Модуль 202 реверсивного декодирования декодирует информацию, которую подают из буфера 201 накопления, кодированную модулем 106 реверсивного кодирования, используя систему декодирования, соответствующую системе кодирования. Модуль 202 реверсивного декодирования подает квантованные данные коэффициента, которые получают, используя обработку декодирования, в модуль 203 обратного квантования.
Кроме того, модуль 202 реверсивного декодирования определяет, был ли выбран режим прогнозирования внутри кадра или режим прогнозирования между кадрами, в качестве оптимального режима прогнозирования, и подает информацию, относящуюся к оптимальному режиму прогнозирования, в один режим модуля 210 прогнозирования внутри кадра и модуля 211 прогнозирования между кадрами, который был определен для выбора. Другими словами, например, в случае, когда режим прогнозирования внутри кадра выбран, как режим оптимального прогнозирования в устройстве 100 кодирования изображения, информацию, относящуюся к режиму оптимального прогнозирования, передают в модуль 210 прогнозирования внутри кадра. С другой стороны, например, в случае, когда режим прогнозирования между кадрами выбирают, как оптимальный режим прогнозирования в устройстве 100 кодирования изображения, информацию, относящуюся к оптимальному режиму прогнозирования, подают в модуль 211 прогнозирования между кадрами.
Кроме того, модуль 202 реверсивного декодирования подает информацию, требуемую для обратного квантования, такую как матрица квантования и параметры квантования, в модуль 203 обратного квантования.
Кроме того, модуль 202 реверсивного декодирования подает информацию заголовка, такую как набор параметра последовательности (SPS), набор параметра изображения (PPS), или заголовок среза, в модуль 221 получения заголовка.
Модуль 203 обратного квантования выполняет обратное квантование квантованных данных коэффициента, полученных в результате обработки декодирования, выполняемой модулем 202 реверсивного декодирования, используя систему, которая соответствует системе квантования модуля 105 квантования. Здесь такой модуль 203 обратного квантования представляет собой модуль обработки, аналогичный модулю 108 обратного квантования. Другими словами, описание модуля 203 обратного квантования также может применяться к модулю 108 обратного квантования. Однако места назначения ввода/вывода данных и т.п. должны быть соответствующим образом переформулированы в соответствии с устройством.
Модуль 203 обратного квантования подает полученные данные коэффициента в модуль 204 обратного ортогонального преобразования.
Модуль 204 обратного ортогонального преобразования выполняет обратное ортогональное преобразование коэффициентов ортогонального преобразования, переданных из модуля 203 обратного квантования, используя способ, соответствующий обработке ортогонального преобразования, выполняемой модулем 104 ортогонального преобразования, в соответствии с необходимостью. Здесь такой модуль 204 обратного ортогонального преобразования представляет собой модуль обработки, аналогичный модулю 109 обратного ортогонального преобразования. Другими словами, описание модуля 204 обратного ортогонального преобразования также может применяться к модулю 109 обратного ортогонального преобразования. Однако места назначения ввода/вывода данных и т.п. необходимо переформулировать, соответственно, в соответствии с устройством.
Модуль 204 обратного ортогонального преобразования получает остаточные данные и прогнозируемые остаточные данные, соответствующие состоянию перед ортогональным преобразованием, выполняемым устройством 100 кодирования изображения в ходе обработки обратного ортогонального преобразования. Остаточные данные и прогнозируемые остаточные данные, полученные в результате обратного ортогонального преобразования, подают в модуль 222 остаточного восстановления.
Модуль 205 расчетов получает остаточные данные каждого компонента, который восстанавливают, из модуля 222 остаточного восстановления. Кроме того, модуль 205 расчета получает прогнозируемое изображение из модуля 210 прогнозирования внутри кадра или модуля 211 прогнозирования между кадрами через модуль 212 выбора прогнозируемого изображения. Модуль 205 расчетов получает реконструированное изображение, соответствующее изображению перед вычитанием прогнозируемого изображения, которое выполняется модулем 103 расчетов, путем суммирования вместе дифференциального изображения и прогнозируемого изображения. Модуль 205 расчетов подает реконструированное изображение в контурный фильтр 206 и в модуль 210 прогнозирования внутри кадра.
Контурный фильтр 206 генерирует декодированное изображение путем соответствующего выполнения обработки контурного фильтра, включающей в себя обработку фильтра удаления блоков, адаптивного фильтра контура и т.п. для подаваемого реконструированного изображения. Например, контурный фильтр 206 выполняет обработку фильтра удаления блоков для реконструированного изображения, удаляя, таким образом, искажение блоков. Кроме того, например, контурный фильтр 206 выполняет обработку контурного фильтра для результата (реконструированного изображения, из которого удалены искажения блоков) в обработке фильтра удаления блоков, используя фильтр Винера, улучшая, таким образом, качество изображения.
Здесь тип обработки фильтра, выполняемой контурным фильтром 206, является произвольным, и может выполняться другая обработка фильтра, чем описанная выше. Кроме того, контурный фильтр 206 может быть выполнен с возможностью выполнения обработки фильтра, используя коэффициенты фильтра, подаваемые из устройства 100 кодирования изображения.
Контурный фильтр 206 подает декодированное изображение, которое представляет собой результат обработки фильтра, в буфер 207 изменения компоновки экрана и в запоминающее устройство 209 кадра.
Буфер 207 изменения компоновки экрана выполняет изменение компоновки изображений. Другими словами, порядок кадров, размещенных с помощью буфера 102 изменения компоновки экрана в порядке кодирования, изменяют на порядок исходного отображения. Буфер 207 изменения компоновки экрана выводит декодированные данные изображения, в которых компоновка порядка кадров изменена, наружу из устройства 200 декодирования изображения.
В запоминающем устройстве 209 кадра сохраняют передаваемое декодируемое изображение, и из него подают сохраненное декодированное изображение в модуль 211 прогнозирования между кадрами, в качестве опорного изображения, в заданные моменты времени или на основе запроса, поступающего снаружи, например, из модуля 211 прогнозирования между кадрами.
Информацию, представляющую режим прогнозирования внутри кадра и т.п., полученную в результате декодирования информации заголовка и т.п., подают в модуль 210 прогнозирования внутри кадра из модуля 202 реверсивного декодирования. Модуль 210 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя опорное изображение, полученное из запоминающего устройства 209 кадра в режиме прогнозирования внутри кадра, используемом в модуле 113 прогнозирования внутри кадра, генерируя, таким образом, прогнозируемое изображение. Модуль 210 прогнозирования внутри кадра подает сгенерированное прогнозируемое изображение в модуль 212 выбора прогнозируемого изображения.
Модуль 211 прогнозирования между кадрами получает информацию (информацию оптимального режима прогнозирования, информацию опорного изображения и т.п.), полученную путем декодирования информации заголовка, из модуля 202 реверсивного декодирования.
Модуль 211 прогнозирования между кадрами выполняет прогнозирование между кадрами, используя опорное изображение, полученное из запоминающего устройства 209 кадра, в режиме прогнозирования между кадрами, представленном информацией оптимального режима прогнозирования, полученной из модуля 202 реверсивного декодирования, генерируя, таким образом, прогнозируемое изображение.
Модуль 212 выбора прогнозируемого изображения подает прогнозируемое изображение, переданное из модуля 210 прогнозирования внутри кадра, или прогнозируемое изображение, переданное из модуля 211 прогнозирования между кадрами, в модуль 205 расчетов. Затем модуль 205 расчетов добавляет прогнозируемое изображение, генерируемое используя вектор движения, и декодированные остаточные данные (дифференциальную информацию изображения), подаваемые из модуля 222 остаточного восстановления, в результате чего декодируют исходное изображение.
Модуль 221 получения заголовка, например, получает информацию заголовка, переданную со стороны кодирования, такую как набор видеопараметра (VPS), набор параметра последовательности (SPS), и набор параметра изображения (PPS), SEI и заголовок среза через модуль 202 реверсивного декодирования. Модуль 221 получения заголовка подает необходимую информацию, включенную в полученную информацию заголовка, в модуль 222 остаточного восстановления. Детали этой обработки будут описаны ниже.
Модуль 222 остаточного восстановления восстанавливают остаточные данные цветоразностного компонента (также называется остаточным восстановлением), используя остаточные данные компонента яркости и прогнозируемые остаточные данные цветоразностного компонента, подаваемого из модуля 204 обратного ортогонального преобразования. В это время модуль 222 остаточного восстановления выполняет восстановление со значениями глубины битов остаточных данных, которые скомпонованы так, чтобы они были однородными среди компонентов. Здесь такой модуль 222 остаточного восстановления представляет собой модуль обработки, который аналогичен модулю 123 остаточного восстановления. Другими словами, описание модуля 222 остаточного восстановления может также применяться для модуля 123 остаточного восстановления. Однако места назначения ввода/вывода данных и т.п. должны быть переформулированы в соответствии с устройством.
Модуль получения заголовка и модуль остаточного восстановления
На фиг. 11 показана блок-схема, которая иллюстрирует пример основных конфигураций модуля 221 получения заголовка и модуля 222 остаточного восстановления, представленных на фиг. 10. Как показано на фиг. 11, модуль 221 получения заголовка включает в себя: модуль 231 получения SPS; модуль 232 получения PPS; и модуль 233 получения весового коэффициента.
Модуль 231 получения SPS получает информацию (например, bit_depth_luma_minus8), представляющую значения глубины битов компонента яркости, или информацию, включающую в себя информацию, представляющую значение глубины битов компонента яркости, которая включена в набор параметра последовательности (SPS), подаваемый со стороны кодирования, и информацию (например, bit_depth_chroma_minus8), представляющую значения глубины битов цветоразностного компонента (Cb/Cr), или информацию, включающую в себя информацию, представляющую значение глубины битов цветоразностного компонента, и подает полученную информацию в модуль 222 остаточного восстановления (в модуль 251 расчета разности глубины битов, который будет описан ниже).
Модуль 232 получения PPS получает информацию (например, luma_chroma_prediction_enabled_flag), который включен в набор параметра изображения (PPS), подаваемый со стороны кодирования, используемый для управления, выполняется или нет остаточное прогнозирование для модуля 222 остаточного восстановления (модуля 252 управления сдвигом битов, как описано ниже).
Модуль 233 получения весового коэффициента получает весовой коэффициент а или информацию, включающую в себя весовой коэффициент α, переданную со стороны кодирования в модуль 222 остаточного восстановления (модуль 264 умножения на весовой коэффициент, который будет описан ниже).
Y
Y
Cr
Cb
Cr
Cb
Cr
Cb
Cr
Cb
Модуль 222 остаточного восстановления подает восстановленные остаточные данные (r'(x, y)) компонента яркости, передаваемые из модуля 204 обратного ортогонального преобразования в модуль 205 расчетов. Модуль 222 остаточного восстановления включает в себя модуль 241 управления и модуль 242 восстановления. Модуль 241 управления выполняет обработку, относящуюся к управлению расчетов, относящихся к остаточному восстановлению. Модуль 242 восстановления выполняет расчет, относящийся к остаточному восстановлению, под управлением модуля 241 управления. Например, модуль 242 восстановления, используя восстановленные остаточные данные (r'(x, y)) компонента яркости, полученные из модуля 204 обратного ортогонального преобразования, восстанавливает остаточные данные (r'(x, y) и r'(x, y)) цветоразностного компонента из восстановленных прогнозируемых остаточных данных (Δr'(x, y) и Δr'(x, y)) цветоразностного компонента, который получают из модуля 204 обратного ортогонального преобразования, под управлением модуля 241 управления. Модуль 242 восстановления подает восстановленные остаточные данные (r'(x, y) и r'(x, y)) цветоразностного компонента в модуль 205 расчетов. Кроме того, модуль 222 остаточного восстановления подает восстановленные остаточные данные (r'(x, y) и r'(x, y)) цветоразностного компонента, полученные из модуля 204 обратного ортогонального преобразования, в модуль 205 расчетов, без выполнения остаточного восстановления под управлением модуля 241 управления.
Модуль 241 управления включает в себя: модуль 251 расчета разности глубины; и модуль 252 управления сдвигом битов.
Модуль 251 расчета разности значений глубины битов рассчитывает разность глубины битов между остаточными данными компонентов, используемых для остаточного прогнозирования. Например, модуль 251 расчета разности значений глубины битов получает информацию (например, bit_depth_luma_minus8), представляющую значения глубины битов компонента яркости или информацию, включающую в себя информацию, представляющую значение глубины битов компонента яркости, и информацию (например, bit_depth_chroma_minus8), представляющую значения глубины битов цветоразностного компонента (Cb/Cr), или информацию, включающую в себя информацию, представляющую значение глубины битов цветоразностного компонента, из модуля 231 получения SPS, и выполняет расчет, представленный в Уравнении (4), используя такую информацию, рассчитывая, таким образом, разность глубины битов (delta_bitdepth) между компонентами. Модуль 251 расчета разности значений глубины битов подает рассчитанную разность значений глубины битов (delta_bitdepth) в модуль 252 управления сдвигом битов.
Кроме того, модуль 251 расчета разности значений глубины битов подает рассчитанную разность значений глубины битов (delta_bitdepth) в модуль 242 восстановления под управлением модуля 252 управления сдвигом битов. Например, в случае, когда сдвиг вправо остаточных данных выполняется во время масштабирования значений глубины битов, модуль 251 расчета разности значений глубины битов подает рассчитанное значение разности глубины битов (delta_bitdepth) в модуль 262 сдвига вправо. С другой стороны, в случае, когда выполняют сдвиг влево остаточных данных во время масштабирования значений глубины битов, модуль 251 расчета разности значений глубины битов подает рассчитанную разность значений глубины битов (-delta_bitdepth) в модуль 263 сдвига влево.
Модуль 252 управления сдвигом битов управляет расчетом, выполняемым модулем 242 восстановления, на основе значения разности значений глубины битов (delta_bitdepth) между компонентами, передаваемого из модуля 251 расчета разности значений глубины битов. Например, в случае, когда разность значений глубины битов (delta_bitdepth) равна нулю, модуль 252 управления сдвигом битов выполняет управление модулем 242 восстановления (его модулем 261 выбора) таким образом, что сдвиг битов (масштабирование значения глубины битов) остаточных данных не выполняется. Кроме того, в это время модуль 252 управления сдвигом битов также выполняет управление модулем 251 расчета разности значений глубины битов таким образом, что разность значений глубины битов (delta_bitdepth) не подают в модуль 242 восстановления.
Кроме того, например, в случае, когда разность значений глубины битов (delta_bitdepth) имеет положительное значение (>0), модуль 252 управления сдвигом битов выполняет управление модулем 242 восстановления (его модулем 261 выбора) таким образом, что остаточные данные сдвигают в правую сторону (выполняют масштабирование значения глубины битов). Кроме того, в это время модуль 252 управления сдвигом битов также выполняет управление модулем 251 расчета разности значений глубины битов таким образом, что разность значений глубины битов (delta_bitdepth) подают в модуль 242 восстановления (модуль 262 сдвига вправо).
С другой стороны, например, в случае, когда разность значений глубины битов (delta_bitdepth) имеет отрицательное значение (<0), модуль 252 управления сдвигом битов выполняет управление модулем 242 восстановления (его модулем 261 выбора) таким образом, что остаточные данные сдвигают в левую сторону (выполняют масштабирование значения глубины битов). Кроме того, в это время модуль 252 управления сдвигом битов также выполняет управление модулем 251 расчета разности значений глубины битов таким образом, что разность значений глубины битов (-delta_bitdepth) подают в модуль 242 восстановления (модуль 263 сдвига влево).
Кроме того, модуль 252 управления сдвигом битов, например, получает информацию (например, luma_chroma_prediction_enabled_flag), которую подают со стороны кодирования, используемой для управления, выполняется или нет остаточное прогнозирование, из модуля 232 получения PPS и управляет, выполняется или нет остаточное восстановление, на основе его значения. Например, в случае, когда представлено, что остаточное прогнозирование не выполняется, на основе информации, используемой для управления, выполняется или нет остаточное прогнозирование (другими словами, также представлено, что не выполняется остаточное восстановление), модуль 252 управления сдвигом битов выполняет управление модулем 242 восстановления таким образом, что расчет, относящийся к восстановлению, не выполняется. Кроме того, в таком случае модуль 252 управления сдвигом битов выполняет управление модулем 251 расчета разности значений глубины битов таким образом, что подача разности значений глубины битов (delta_bitdepth или -delta_bitdepth) прекращается. Кроме того, модуль 252 управления сдвигом битов, в таком случае, выполняет управление модулем 233 получения весового коэффициента таким образом, что весовой коэффициент α не получают.
С другой стороны, например, в случае, когда представлено, что остаточное прогнозирование (другими словами, также остаточное восстановление) выполняют на основе информации, используемой для управления, выполняется или нет остаточное прогнозирование, модуль 252 управления сдвигом битов выполняет управление модулем 242 восстановления таким образом, что выполняется расчет, относящийся к восстановлению. Кроме того, в таком случае, модуль 252 управления сдвигом битов выполняет управление модулем 251 расчета разности значений глубины битов так, что разность значений глубины битов (delta_bitdepth или -delta_bitdepth) подают в модуль 242 восстановления. Кроме того, в таком случае, модуль 252 управления сдвигом битов выполняет управление модулем 233 получения весового коэффициента для получения весового коэффициента α и подает весовой коэффициент в модуль 242 восстановления (модуль 264 умножения на весовой коэффициент).
Модуль 242 восстановления выполняет расчет, который является, в принципе, таким же, как и расчет, выполняемый модулем 142 прогнозирования и, таким образом, имеет конфигурацию, которая, в принципе является такой же, как и у модуля 142 прогнозирования. Другими словами, модуль 242 восстановления включает в себя: модуль 261 выбора; модуль 262 сдвига вправо; модуль 263 сдвига влево; модуль 264 умножения на весовой коэффициент; модуль 265 сдвига вправо; модуль 266 расчетов; и модуль 267 расчетов.
Y
Y
Y
Y
Модуль 261 выбора, аналогично модулю 161 выбора, выбирает место назначения подачи остаточных данных (r'(x, y)) компонента яркости, которые были восстановлены, передаваемых из модуля 204 обратного ортогонального преобразования, под управлением модуля 252 управления сдвигом битов. Например, в случае выполнения масштабирования (сдвига вправо) значения глубины битов, модуль 261 выбора подает остаточные данные (r'(x, y)) компонента яркости, который был восстановлен, в модуль 262 сдвига вправо. В этом случае, выполняется расчет, соответствующий Уравнению (6). Кроме того, в случае выполнения масштабирования (сдвиг влево) значения глубины битов, модуль 261 выбора подает остаточные данные (r'(x, y)) компонента яркости, который был восстановлен, в модуль 263 сдвига влево. В этом случае, выполняется расчет, соответствующий Уравнению (8). С другой стороны, например, в случае, когда масштабирование значения глубины битов не выполняется, модуль 261 выбора подает остаточные данные (r'(x, y)) компонента яркости, который был восстановлен, в модуль 264 умножения на весовой коэффициент. В этом случае, выполняется расчет, соответствующий Уравнению (3).
Y
Y
Модуль 262 сдвига вправо выполняет масштабирование значения глубины битов, путем сдвига остаточных данных (r'(x, y)) компонента яркости, который был восстановлен, полученного из модуля 261 выбора, в правую сторону, в соответствии с разностью значений глубины битов (delta_bitdepth), полученной из модуля 251 расчетов разности значений глубины битов. Модуль 262 сдвига вправо подает результат (r'(x, y)>>delta_bitdepth) сдвига вправо остаточных данных компонента яркости в модуль 264 умножения на весовой коэффициент.
Y
Y
Модуль 263 сдвига влево выполняет масштабирование значения глубины битов путем сдвига остаточных данных (r'(x, y)) компонента яркости, который был восстановлен, полученного из модуля 261 выбора, в левую сторону, в соответствии с разностью глубины битов (-delta_bitdepth), полученной из модуля 251 расчета разности значений глубины битов. Модуль 263 сдвига влево подает результат (r'(x, y)<<-delta_bitdepth) сдвига влево остаточных данных компонента яркости модуля 264 умножения на весовой коэффициент.
Y
Y
Y
Модуль 264 умножения на весовой коэффициент получает остаточные данные компонента яркости, который был восстановлен, из одного из модуля 261 выбора - модуля 263 сдвига влево. Например, модуль 264 умножения на весовой коэффициент получает восстановленные остаточные данные (r'(x, y)) компонента яркости, для которых не был выполнен сдвиг битов, из модуля 261 выбора. Кроме того, например, модуль 264 умножения на весовой коэффициент получает восстановленные остаточные данные (r'(x, y)>>delta_bitdepth) компонента яркости, который был сдвинут в правую сторону, из модуля 262 сдвига вправо. Кроме того, например, модуль 264 умножения на весовой коэффициент получает восстановленные остаточные данные (r'(x, y)<<-delta_bitdepth) компонента яркости, для которого был выполнен сдвиг в левую сторону, из модуля 263 сдвига влево.
Y
Y
Y
Кроме того, модуль 264 умножения на весовой коэффициент получает весовой коэффициент α из модуля 233 получения весового коэффициента. Модуль 264 умножения на весовой коэффициент умножает восстановленные остаточные данные компонента яркости, которые были получены, на весовой коэффициент α, и подает результат (α×(r'(x, y)), α×(r'(x, y)>>delta_bitdepth) или α×(r'(x, y)<<-delta_bitdepth)) умножения в модуль 265 сдвига вправо.
Y
Y
Y
Y
Y
Y
Модуль 265 сдвига вправо выполняет сдвиг восстановленных остаточных данных (α×(r'(x, y)), α×(r'(x, y)>>delta_bitdepth) или α×(r'(x, y)<<-delta_bitdepth)) компонента яркости, который был подан из модуля 264 умножения на весовой коэффициент, в правую сторону на заданное количество битов. В то время как величина сдвига битов является произвольной, если только она является такой же, как и на стороне кодирования, например, в случае Уравнения (3), Уравнения (6) и Уравнения (8), модуль 265 сдвига вправо сдвигает остаточные данные в правую сторону на три бита. Модуль 265 сдвига вправо подает результат (α×(r'(x, y))>>3, α×(r'(x, y)>>delta_bitdepth)>>3 или α×(r'(x, y)<<-delta_bitdepth)>>3) сдвига вправо в модуль 266 расчетов или в модуль 267 расчетов.
Cr
Y
Y
Y
Cr
Cr
Модуль 266 расчетов восстанавливает остаточные данные цветоразностного компонента (Cr) (r'(x, y)) путем добавления восстановленных остаточных данных (α×(r'(x, y)>>3, α×(r'(x, y)>>delta_bitdepth)>>3 или α×(r'(x, y)<<-delta_bitdepth)>>3) компонента яркости, который подают из модуля 265 сдвига вправо, к восстановленным прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента (Cr), подаваемого из модуля 204 обратного ортогонального преобразования, и подает восстановленные остаточные данные в модуль 205 расчетов. С другой стороны, в случае, когда такое остаточное восстановление не выполняют, модуль 266 расчетов подает восстановленные остаточные данные (r'(x, y)) цветоразностного компонента (Cr), подаваемого из модуля 204 обратного ортогонального преобразования, в модуль 205 расчетов.
Cb
Y
Y
Y
Cb
Cb
Модуль 267 расчетов восстанавливает остаточные данные цветоразностного компонента (Cb) (r'(x, y)), путем добавления восстановленных остаточных данных (α×(r'(x, y)>>3, α×(r'(x, y)>>delta_bitdepth)>>3, или α×(r'(x, y)<<-delta_bitdepth)>>3) компонента яркости, который подают из модуля 265 сдвига вправо, к восстановленным прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента (Cb), подаваемого из модуля 204 обратного ортогонального преобразования, и подает восстановленные остаточные данные в модуль расчета 205. С другой стороны, в случае, когда такое остаточное восстановление не выполняется, модуль 267 расчетов подает восстановленные остаточные данные (r'(x, y)) цветоразностного компонента (Cb), подаваемого из модуля 204 обратного ортогонального преобразования в модуль 205 расчетов.
Как описано выше, при остаточном восстановлении, модуль 222 остаточного восстановления выполняет восстановление путем выполнения масштабирования значений глубины битов восстановленных остаточных данных компонентов яркости. В соответствии с этим, также в случае, когда значения глубины битов остаточных данных отличаются между компонентами, модуль 222 остаточного восстановления может правильно восстанавливать остаточные данные. Поэтому, в соответствии с устройством 200 декодирования изображения, можно предотвратить снижение эффективности кодирования.
Поток обработки декодирования
Далее будет описан пример потока каждой обработки, выполняемой устройством 200 декодирования изображения. Вначале будет описан пример потока обработки декодирования со ссылкой на блок-схему последовательности операций, представленную на фиг. 12.
Когда начинается обработка декодирования, на этапе S201, буфер 201 накопления сохраняет переданный поток битов, который был принят. На этапе S202, модуль 202 реверсивного декодирования декодирует поток битов, подаваемый из буфера 201 накопления. Другими словами, декодируют изображение I, изображение Р и изображение В, кодированные модулем 106 реверсивного кодирования. В это время также декодируют различного вида другую информацию, чем информация изображения, включенную в поток битов, такую, как информация заголовка.
На этапе S203, модуль 203 обратного квантования выполняет обратное квантование квантованных коэффициентов, полученных при обработке на Этапе S202.
На этапе S204, модуль 204 обратного ортогонального преобразования выполняет обратное ортогональное преобразование коэффициентов ортогонального преобразования, полученных при обработке на Этапе S203. В соответствии с такой обработкой восстанавливают остаточные данные компонента яркости и прогнозируемые остаточные данные цветоразностного компонента.
На этапе S205, модуль 222 остаточного восстановления выполняет обработку остаточного восстановления для восстановления остаточных данных цветоразностного компонента, используя восстановленные остаточные данные компонента яркости и восстановленные прогнозируемые остаточные данные цветоразностного компонента. Детали такой обработки будут описаны ниже.
На этапе S206, модуль 210 прогнозирования внутри кадра или модуль 211 прогнозирования между кадрами выполняет обработку прогнозирования, генерируя, таким образом, прогнозируемое изображение. Другими словами, выполняется обработка прогнозирования в режиме прогнозирования, применяемом во время обработки кодирования, которая определяется модулем 202 реверсивного декодирования. Более конкретно, например, в случае, когда прогнозирование внутри кадра применяют во время обработки кодирования, модуль 210 прогнозирования внутри кадра генерирует прогнозируемое изображение в режиме прогнозирования внутри кадра, который рассматривается, как оптимальный во время обработки кодирования. С другой стороны, например, в случае, когда прогнозирование между кадрами применяется во время обработки кодирования, модуль 211 прогнозирования между кадрами генерирует прогнозируемое изображение в режиме прогнозирования между кадрами, который рассматривается, как оптимальный во время обработки кодирования.
На этапе S207, модуль 205 расчетов добавляет прогнозируемое изображение, сгенерированное на этапе S206, к остаточным данным, восстановленным в результате обработки на Этапе S204 и на Этапе S205. В соответствии с этим, получают реконструированное изображение.
На этапе S208 контурный фильтр 206, соответственно, выполняет обработку контурного фильтра, включающую в себя обработку фильтра удаления блоков, обработку фильтра адаптивного контура и т.п., для реконструированного изображения, полученного в результате обработки на Этапе S207.
На этапе S209, буфер 207 изменения компоновки экрана изменяет компоновку кадров декодированных изображений, полученных при обработке на Этапе S208. Другими словами, порядок кадров, компоновка которых была изменена во время обработки кодирования, изменяют на порядок исходного отображения. Декодированные изображения, в которых была изменена компоновка кадров, выводят наружу из устройства 200 декодирования изображения.
На этапе S210, запоминающее устройство 209 кадра сохраняет декодированные изображения, полученные при обработке на Этапе S208.
Когда обработка на Этапе S210 заканчивается, обработка декодирования заканчивается.
Поток обработки остаточного восстановления
Далее пример потока обработки остаточного восстановления, выполняемой на этапе S205 при такой обработке декодирования, будет описан со ссылкой на фиг. 13.
Когда начинается обработка остаточного восстановления, на этапе S221, модуль 251 расчета разности глубины значения битов получает информацию (например, bit_depth_luma_minus8), представляющую значения глубины битов компонента яркости и информацию (например, bit_depth_chroma_minus8), представляющую значения глубины битов цветоразностного компонента (Cb/Cr), которые включены в набор параметра последовательности, передаваемый со стороны кодирования через модуль 231 получения SPS, и рассчитывает разность значений глубины битов между компонентами, для которых выполняется остаточное прогнозирование, используя такую информацию. Другими словами, модуль 15 1расчета разности значений глубины битов выполняет расчет по Уравнению (10) и рассчитывает разность значений глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда значения разности глубины битов отличаются между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают значения разности глубины битов (delta_bitdepth).
На этапе S222, модуль 252 управления сдвигом битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S221. В случае, когда определяют, что разность значений глубины битов равна нулю, обработка переходит на Этап S223. В таком случае сдвиг битов не выполняется, и остаточное восстановление выполняют, как представлено в Уравнении (9).
На этапе S223, модуль 252 управления сдвигом битов определяет, было или нет выполнено остаточное прогнозирование на стороне кодирования, на основе информации (например, luma_chroma_prediction_enabled_flag), которая включена в набор параметра изображения (PPS), используемый для управления, выполняется или нет остаточное прогнозирование. Например, в случае, когда определяют, что значение luma_chroma_prediction_enabled_flag равно "1", и было выполнено остаточное прогнозирование, обработка переходит на Этап S224.
На этапе S224, модуль 233 получения весового коэффициента получает весовой коэффициент α для каждого TU.
На этапе S225, модуль 242 восстановления выполняет восстановление (остаточное восстановление) остаточных данных цветоразностного компонента, без выполнения масштабирования значений глубины битов. Детали этой обработки будут описаны ниже.
На этапе S225, когда остаточное восстановление заканчивается, заканчивается обработка остаточного восстановления, и обработка возвращается к обработке, представленной на фиг. 12.
С другой стороны, например, на этапе S223, в случае, когда определяют, что значение luma_chroma_prediction_enabled_flag равно "0", и остаточное прогнозирование не было выполнено, обработку на Этапе S224 и Этапе S225 пропускают, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
Кроме того, на этапе S222, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S226.
На этапе S226, модуль 252 управления сдвигом битов определяет, является или нет положительной разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S221. В случае, когда определяют, что она является положительной, обработка переходит на Этап S227. В таком случае выполняют остаточное восстановление, как представлено в Уравнении (12) (выполняют масштабирование, используя сдвиг вправо).
На этапе S227 модуль 252 управления сдвигом битов определяет, выполняется или нет остаточное восстановление, на основе информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное восстановление, которая включена в набор параметра изображения (PPS) и т.п. Например, в случае, когда значение luma_chroma_prediction_enabled_flag равно "1", и определяют, что остаточное восстановление должно быть выполнено, обработка переходит на Этап S228.
На этапе S228, модуль 233 получения весового коэффициента устанавливает весовой коэффициент α для каждого TU.
На этапе S229 модуль 242 восстановления выполняет восстановление (остаточное восстановление) остаточных данных цветоразностного компонента путем выполнения масштабирования значений глубины битов, используя сдвиг вправо. Детали такой обработки будут описаны ниже.
Когда остаточное восстановление, выполняемое на этапе S229, заканчивается, заканчивается обработка остаточного восстановления, и обработка возвращается к обработке, представленной на фиг. 12.
С другой стороны, например, на этапе S227, в случае, когда определяют, что значение luma_chroma_prediction_enabled_flag равно "0", и остаточное восстановление не было выполнено на стороне кодирования, обработка на Этапе S228 и Этапе S229 исключается, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
Кроме того, на этапе S226, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не является положительной (определяют, что она отрицательная), обработка переходит к Этапу S230. В таком случае остаточное прогнозирование выполняют, как представлено в Уравнении (14) (выполняют масштабирование, используя сдвиг влево).
На этапе S230 модуль 252 управления сдвигом битов определяет, было или нет выполнено остаточное прогнозирование на стороне кодирования, на основе информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное прогнозирование, которая включена в набор параметра изображения (PPS) и т.п. Например, в случае, когда определяют, что значение luma_chroma_prediction_enabled_flag равняется "1", и было выполнено остаточное прогнозирование, обработка переходит на Этап S231.
На этапе S231 модуль 233 получения весового коэффициента получает весовой коэффициент α для каждого TU.
На этапе S232 модуль 242 восстановления выполняет восстановление (остаточное восстановление) остаточных данных цветоразностного сигнала, выполняя масштабирование значений глубины битов, используя сдвиг влево. Детали такой обработки будут описаны ниже.
Когда остаточное восстановление, выполняемое на этапе S232, заканчивается, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
С другой стороны, например, на этапе S230, в случае, когда определяют, что значение luma_chroma_prediction_enabled_flag равно "0", и остаточное прогнозирование не выполняется на стороне кодирования, обработка на Этапе S231 и на Этапе S232 исключается, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
Поток обработки восстановления остаточных данных
Далее, со ссылкой на блок-схему последовательности операций, представленную на фиг. 14, будет описан пример потока обработки восстановления остаточных данных, выполняемой на этапе S225 при обработке остаточного восстановления.
Y
Y
Когда начинается обработка восстановления остаточных данных на этапе S241, модуль 264 умножения на весовой коэффициент модуля 242 восстановления умножают восстановленные остаточные данные (r'(x, y)) компонента яркости на весовой коэффициент α, полученный в результате обработки на Этапе S224, представленной на фиг. 13 (α×r'(x, y)).
Y
Y
На этапе S242, модуль 265 сдвига вправо выполняет сдвиг вправо результата умножения (α×r'(x, y)), рассчитанного на этапе S241, в правую сторону на три бита ((α×r'(x, y))>>3).
Cr
Y
Cr
Cr
Y
Cb
Y
Cb
Cb
Y
На этапе S243, модуль 266 расчетов восстанавливает остаточные данные цветоразностного компонента Cr (r'(x, y)) путем добавления результата сдвига вправо ((α×r'(x, y))>>3), рассчитанного на этапе S242, к восстановленным прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента Cr (Δr'(x, y)+(α×r'(x, y))>>3). Кроме того, модуль 267 расчетов восстанавливает остаточные данные цветоразностного компонента Cb (r'(x, y)) путем добавления результата сдвига вправо ((α×r'(x, y))>>3), рассчитанного на этапе S242, к прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента Cb (Δr'(x, y)+(α×r'(x, y))>>3).
Cr
Cb
Когда остаточные данные цветоразностного компонента восстанавливают, как описано выше (r'(x, y) и r'(x, у)), обработка восстановления остаточных данных заканчивается, и обработка возвращается к обработке, представленной на фиг. 13.
Поток обработки восстановления остаточных данных
Далее, со ссылкой на блок-схему последовательности операций, представленную на фиг. 15, будет описан пример потока обработки восстановления остаточных данных, выполняемой на этапе S229 обработки остаточного восстановления.
Y
Y
Когда начинается обработка восстановления остаточных данных на этапе S251, модуль 262 сдвига вправо в модуле 242 восстановления выполняет сдвиг восстановленных остаточных данных (r'(x, y)) компонента яркости в правую сторону, в соответствии со значением разности глубины битов (delta_bitdepth) остаточных данных, рассчитанных путем обработки на Этапе S221, представленной на фиг. 13 ((r'(x, y)>>delta_bitdepth)).
Y
Y
На этапе S252 модуль 264 умножения на весовой коэффициент умножает результат (r'(x, y)>>delta_bitdepth) сдвига вправо, рассчитанный на этапе S251, на весовой коэффициент α, полученный в результате обработки на Этапе S228, представленном на фиг. 13 (α×(r'(x, y)>>delta_bitdepth)).
Y
Y
Ha этапе S253, модуль 265 сдвига вправо выполняет сдвиг результата умножения (α×(r'(x, y)>>delta_bitdepth)), рассчитанного на этапе S252, в правую сторону на три бита (α×(r'(x, y)>>delta_bitdepth)>>3).
Cr
Y
Cr
Cr
Y
Cb
Y
Cb
Cb
Y
Ha этапе S254 модуль 266 расчетов восстанавливает остаточные данные цветоразностного компонента Cr (r'(x, y)) путем добавления результата (α×(r'(x, y)>>delta_bitdepth)>>3) сдвига вправо, рассчитанного на этапе S253, к восстановленным прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента Cr (Δr'(x, y)+α×(r'(x, y)>>delta_bitdepth)>>3). Кроме того, модуль 267 расчетов восстанавливает остаточные данные цветоразностного компонента Cb (r'(x, y)) путем добавления результата (α×(r'(x, y)>>delta_bitdepth)>> 3) сдвига вправо, рассчитанного на этапе S253, к восстановленным прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента Cb (Δr'(x, y)+α×(r'(x, y)>>delta_bitdepth)>>3).
Cr
Cb
Когда остаточные данные цветоразностного компонента восстанавливают, как описанные выше (r'(x, y) и r'(x, y)), обработка восстановления остаточных данных заканчивается, и обработка возвращается к обработке, представленной на фиг. 13.
Поток обработки восстановления остаточных данных
Далее, со ссылкой на блок-схему последовательности операций, представленную на фиг. 16, будет описан пример потока обработки восстановления остаточных данных, выполняемой на этапе S232 при обработке восстановления остаточных данных.
Y
Y
Когда начинается обработка восстановления остаточных данных, на этапе S261, модуль 263 сдвига влево модуля 242 восстановления выполняет сдвиг восстановленных остаточных данных (r'(x, y)) компонента яркости в левую сторону, в соответствии разностью значения глубины битов (-delta_bitdepth) остаточных данных, рассчитанных при обработке на Этапе S221, показанной на фиг. 13 (r'(x, y)<<-delta_bitdepth).
Y
Y
На этапе S262 модуль 264 умножения на весовой коэффициент умножает результат (r'(x, y)<<-delta_bitdepth) для сдвига влево, рассчитанный на этапе S261, на весовой коэффициент α, полученный при обработке на Этапе S231, показанной на фиг. 13 (α×(r'(x, y)<<-delta_bitdepth)).
Y
Y
Ha этапе S263, модуль 265 сдвига вправо выполняет сдвиг результата умножения (α×(r'(x, y)<<-delta_bitdepth)), рассчитанного на этапе S262, в правую сторону на три бита (α×(r'(x, y)<<-delta_bitdepth)>>3).
Cr
Y
Cr
Cr
Y
Cb
Y
Cb
Cb
Y
Ha этапе S264, модуль 266 расчета восстанавливает остаточные данные цветоразностного компонента Cr (r'(x, y)) путем добавления результата (α×(r'(x, y)<<-delta_bitdepth)>>3) после сдвига вправо, рассчитанного на этапе S263, к восстановленным прогнозируемых остаточным данным (Δr'(x, y)) цветоразностного компонента Cr (Δr'(x, y)+α×(r'(x, y)<<-delta_bitdepth)>>3). Кроме того, модуль 267 расчетов восстанавливает остаточные данные цветоразностного компонента Cb (r'(x, y)) путем добавления результата (α×(r'(x, y)<<-delta_bitdepth)>>3) сдвига вправо, рассчитанного на этапе S263, к восстановленным прогнозируемым остаточным данным (Δr'(x, y)) цветоразностного компонента Cb (Δr'(x, y)+α×(r'(x, y)<<-delta_bitdepth)>>3).
Cr
Cb
Когда остаточные данные цветоразностного компонентов восстанавливают, как описанные выше (r'(x, y) и r'(x, y)), обработка восстановления остаточных данных заканчивается, и обработка возвращается к обработке, представленной на фиг. 13.
Путем выполнения каждой обработки, как описано выше, также в случае, когда значения глубины битов остаточных данных отличаются между компонентами, модуль 222 остаточного восстановления может правильно восстанавливать остаточные данные. В соответствии с этим, устройство 200 декодирования изображения может подавлять снижение эффективности кодирования.
Как описано выше, в то время как было описано, что, когда значения глубины битов остаточных данных компонуют так, чтобы они были однородными, значение глубины битов компонента яркости компонуют так, чтобы они были однородными в отношении цветоразностного компонента путем сдвига битов, при масштабировании таких значений глубины битов, компонент, который используется, как опорный, является произвольным. Например, значение глубины битов цветоразностного компонента может быть сконфигурировано для масштабирования. Однако обычно предпочтительно масштабировать компонент (имеющий большее значение глубины битов), имеющий больше количество информации, для улучшения точности прогнозирования, для повышения эффективности кодирования. В случае цветового пространства YUV, как описано выше, обычно, компонент яркости имеет значимость и имеет большее количество информации. Таким образом, предпочтительно масштабировать значение глубины битов компонента яркости.
Как описано выше, в то время, как был описан случай, в котором кодируют и декодируют изображение цветового пространства YUV, цветовое пространство изображения является произвольным, и прогнозирование может быть выполнено между произвольными компонентами. Например, также в случае, когда цветовое пространство изображения представляет собой RGB, аналогично случаю YUV, описанному выше, остаточное прогнозирование/остаточное декодирование могут быть выполнены, используя масштабирование значения глубины битов.
2. Второй вариант осуществления
Запрет на остаточное прогнозирование
Способ управления остаточного прогнозирования/остаточного декодирования не ограничен примером, описанным выше. Например, в случае, когда значения глубины битов остаточных данных являются разными между компонентами, остаточное прогнозирование может быть сконфигурировано так, что оно будет запрещено (прогнозируемые остаточные данные не рассчитывают. Более конкретно, в случае, когда значения глубины битов остаточных данных отличаются между компонентами, остаточным прогнозированием можно управлять так, чтобы оно не выполнялось, используя информацию (например, luma_chroma_prediction_enabled_flag), которая включена в набор параметра изображения (PPS), используемый для управления, выполняется или нет остаточное прогнозирование. Например, в таком случае, значение luma_chroma_prediction_enabled_flag можно конфигурировать так, чтобы оно было равно нулю. В результате такого конфигурирования, для изображения, соответствующего информации, остаточное прогнозирование запрещают (естественно, остаточное восстановление не выполняют). В соответствии с этим, при неточном остаточном прогнозировании остаточное восстановление может быть сконфигурировано так, чтобы оно не выполнялось. Другими словами, снижение эффективности кодирования, из-за неточного остаточного прогнозирования/остаточного восстановления, может быть подавлено. Кроме того, обработка масштабирования значения глубины битов и т.п. может быть исключена, и, соответственно, можно предотвратить увеличение нагрузки при обработке.
Семантика
Для выполнения обработки управления, как описано выше, может быть описана семантика, как например, представлено на фиг. 17. Часть семантики, показанная на фиг. 17, которая представлено с подчеркиванием, представляет собой описание, соответствующее управлению исполнением остаточного прогнозирования/остаточного декодирования, описанных выше.
Модуль обработки заголовка и модуль остаточного прогнозирования
Также в этом случае, устройство 100 кодирования изображения может иметь конфигурацию, которая, в принципе, является такой же, как и в соответствии с первым вариантом осуществления.
На фиг. 18 показана блок-схема, которая иллюстрирует пример основных конфигураций модуля 121 обработки заголовка и модуля 122 остаточного прогнозирования В таком случае. Как представлено на фиг. 18, в этом случае, при сравнении со случаем первого варианта осуществления, модуль 122 остаточного прогнозирования включает в себя модуль 311 управления вместо модуля 141 управления, и включает в себя модуль 312 прогнозирования вместо модуля 142 прогнозирования.
Модуль 311 управления выполняет обработку, которая, в принципе, является такой же, как и модуля 141 управления. При сравнении с конфигурацией модуля 141 управления, модуль 311 управления включает в себя модуль 321 расчета разности глубины битов, вместо модуля 151 расчета разности значений глубины битов, включает в себя модуль 322 управления сдвигом битов, вместо модуля 152 управления сдвигом битов, и, аналогично случаю модуля 141 управления, включает в себя модуль 153 установки весового коэффициента.
Модуль 321 расчета разности значений глубины битов, аналогично случаю модуля 151 расчета разности значений глубины битов, рассчитывает разность значений глубины битов (delta_bitdepth) между компонентами. Однако, модуль 321 расчета разности значений глубины битов, в отличие от случая модуля 151 расчета разности значений глубины битов, не подает рассчитанное значение разности глубины битов (delta_bitdepth) между компонентами в модуль 312 прогнозирования.
Модуль 322 управления сдвигом битов, аналогично случаю модуля 152 управления сдвигом битов, управляет расчетом, выполняемым модулем 312 прогнозирования. Однако, в случае, когда значения глубины битов остаточных данных отличаются между компонентами, модуль 322 управления сдвигом битов запрещает остаточное прогнозирование (не рассчитанные прогнозируемые остаточные данные).
Другими словами, в примере данного варианта осуществления, масштабирование значений глубины битов, другими словами, сдвиг битов, используемый для размещения значения глубины битов, которое должно быть однородным между компонентами, не выполняется, и, соответственно, модуль 312 прогнозирования, по сравнению с конфигурацией модуля 142 прогнозирования, не включает в себя модуль 162 сдвига вправо и модуль 163 сдвига влево.
Поток обработки остаточного прогнозирования
В случае данного варианта осуществления, обработку кодирования выполняют аналогично случаю первого варианта осуществления. Пример потока обработки остаточного прогнозирования, выполняемой в данном варианте осуществления, будет описан со ссылкой на блок-схему последовательности операций, показанную на фиг. 19.
Также в случае примера, показанного на фиг. 19, когда начинается обработка остаточного прогнозирования, на этапе S301, модуль 321 расчета разности значений глубины битов рассчитывает разность значений глубины битов между компонентами, для которых выполняется остаточное прогнозирование. Другими словами, модуль 321 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (4), и рассчитывает разность значений глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда разности значений глубины битов отличаются между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают разности значений глубины битов (delta_bitdepth).
На этапе S302, модуль 322 управления сдвигом битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S301. В случае, когда определяют ноль, обработка переходит на Этап S303. В таком случае сдвиг битов не выполняют, но остаточное прогнозирование выполняют, как представлено в Уравнении (3).
Другими словами, обработка от Этапа S303 до Этапа S305 выполняется аналогично представленной на Этапе S123 - Этапе S125 обработке остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S305 заканчивается, или на этапе S303 определяют, что остаточное прогнозирование не выполняется, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
Кроме того, на этапе S302, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S306.
На этапе S306, модуль 322 управления сдвигом битов устанавливает значение информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное прогнозирование, в значение, представляющее, что остаточное прогнозирование (остаточное восстановление) не выполняется (запрещено). Например, модуль 322 управления сдвигом битов может устанавливать в ноль значение luma_chroma_prediction_enabled_flag.
Когда обработка на Этапе S306 заканчивается, заканчивается обработка остаточного прогнозирования, и обработка возвращается к обработке, представленной на фиг. 5.
При выполнении такого конфигурирования, в случае, когда значения глубины битов остаточных данных отличаются между компонентами, и остаточное прогнозирование не может быть правильно выполнено, остаточное прогнозирование может быть сконфигурировано так, чтобы оно не выполнялось. В соответствии этим, прогнозируемые остаточные данные могут быть все время правильно рассчитаны, и устройство 100 кодирования изображения может предотвращать снижение эффективности кодирования, из-за неточного остаточного прогнозирования. Кроме того, масштабирование значений глубины битов является ненужным, и, соответственно, предотвращается увеличение нагрузки при обработке.
Модуль получения заголовка и модуль остаточного восстановления
Также в этом случае, устройство 200 декодирования изображения может иметь конфигурацию, которая, в принципе, является такой же, как и в случае первого варианта осуществления.
На фиг. 20 показана блок-схема, на которой иллюстрируется пример основной конфигурации модуля 221 получения заголовка и модуля 222 остаточного восстановления в данном случае. Как представлено на фиг. 20, в данном случае, при сравнении со случаем первого варианта осуществления, модуль 222 остаточного восстановления включает в себя модуль 351 управления вместо модуля 241 управления и включает в себя модуль 352 восстановления вместо модуля 242 восстановления.
Модуль 351 управления выполняет обработку, которая, в принципе, является такой же, как и у модуля 241 управления. При сравнении с конфигурацией модуля 241 управления, модуль 351 управления включает в себя модуль 361 расчета разности глубины битов вместо модуля 251 расчета разности значений глубины битов и включает в себя модуль 362 управления сдвигом битов вместо модуля 252 управления сдвигом битов.
Модуль 361 расчета разности значений глубины битов, аналогично случаю модуля 251 расчета разности значений глубины битов, рассчитывает разность глубины битов (delta_bitdepth) между компонентами. Однако, в отличие от случая модуля 251 расчета разности значений глубины битов, модуль 361 расчета разности значений глубины битов не подает рассчитанную разность значений глубины битов (delta_bitdepth) между компонентами в модуль 352 восстановления.
Модуль 362 управления сдвигом битов, аналогично случаю модуля 252 управления сдвигом битов, управляет расчетом, выполняемым модулем 352 восстановления. Однако в случае, когда значения глубины битов остаточных данных отличаются между компонентами, модуль 362 управления сдвигом битов запрещает остаточное восстановление (не восстанавливает остаточные данные цветоразностного компонента).
Другими словами, в случае примера такого варианта осуществления, масштабирование значений глубины битов, другими словами, сдвига битов для получения однородной компоновки значения глубины битов между компонентами, не выполняется. В соответствии с этим, при сравнении с конфигурацией модуля 242 восстановления, модуль 352 восстановления не включает в себя модуль 262 сдвига вправо и модуль 263 сдвига влево.
Поток обработки остаточного восстановления
В случае такого варианта осуществления, обработка декодирования выполняется аналогично случаю первого варианта осуществления. Пример потока обработки остаточного восстановления, в случае такого варианта осуществления, будет описан со ссылкой на блок-схему последовательности операций, представленную на фиг. 21.
Также в случае примера, представленного на фиг. 21, когда начинается обработка остаточного восстановления, на этапе S321, модуль 361 расчета разности значений глубины битов рассчитывает разность значений глубины битов между компонентами, для которых было выполнено остаточное прогнозирование. Другими словами, модуль 361 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (10), и рассчитывает разность глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда разность значений глубины битов отличается между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают разность значений глубины битов (delta_bitdepth).
На этапе S322, модуль 362 управления сдвигом битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S321. В случае, когда определяют ноль, обработка переходит на Этап S323. В таком случае не выполняют сдвиг битов, и остаточное восстановление выполняют, как представлено в Уравнении (9).
Другими словами, выполняется обработка от Этапа S323 до Этапа S325, аналогично обработке с Этапа S223 по Этап S225 обработки остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S325 заканчивается или определяют на этапе S323, что остаточное прогнозирование не выполняется, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
С другой стороны, на этапе S322, также в случае, когда определяют, что разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S321, не равна нулю, масштабирование значений глубины битов не выполняют, но при этом пропускают остаточное восстановление. Таким образом, также в этом случае, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
При использовании такой конфигурации, в случае, когда значения глубины битов остаточных данных отличаются между компонентами, и остаточное прогнозирование не может быть правильно выполнено, остаточное прогнозирование не выполняют, и остаточное восстановление конфигурируют так, чтобы оно не выполнялось в соответствии с этим. В соответствии с этим, остаточные данные могут быть все время правильно восстановлены, и устройство 200 декодирования изображения может предотвращать уменьшение эффективностью кодирования, из-за неточного остаточного восстановления. Кроме того, поскольку расчет значений глубины битов является ненужным, можно предотвратить увеличение нагрузки при обработке.
3. Третий вариант осуществления
Одновременное использование масштабирования глубины битов и запрета остаточного прогнозирования
Способ управления остаточным прогнозированием/остаточным декодированием не ограничен примером, описанным выше. Например, может быть представлена такая конфигурация, что масштабирование значений глубины битов выполняют только в случае, когда значения глубины битов остаточных данных отличаются между компонентами, и рассчитанная разность значений глубины битов между компонентами является положительной, и остаточное прогнозирование запрещено (прогнозируемые остаточные данные не рассчитывают), в случае, когда расчетная разность значений глубины битов между компонентами является отрицательной.
Более конкретно, например, может быть представлена такая конфигурация, что, в случае, когда значение глубины битов остаточных данных компонента яркости больше, чем значение глубины битов остаточных данных цветоразностного компонента, остаточное прогнозирование выполняют со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными между компонентами, путем масштабирования значений глубины битов, используя сдвиг вправо, и, в случае, когда значение глубины битов остаточных данных компонента яркости меньше, чем значение глубины битов остаточных данных цветоразностного компонента, остаточное прогнозирование запрещено (прогнозируемые остаточные данные не рассчитывают).
Как описано выше, на основе характеристики изображений, компонент яркости является более важным, чем цветоразностный компонент, и, в общем, значение глубины битов остаточных данных компонента яркости представляет собой значение глубины битов остаточных данных цветоразностного компонента или больше. И, наоборот, возникают редкие случаи, в которых цветоразностный компонент имеет большую глубину битов, чем у компонента яркости. Другими словами, в случае, когда значение глубины битов цветоразностного компонента установлена большой, даже в отношении характеристик изображения, существует высокая вероятность того, что определенное намерение продюсера, которое выходит за пределы характеристик изображения, включено в изображение. По этой причине, также можно рассмотреть возможность легкого уменьшения точности прогнозирования при остаточном прогнозировании, которое представляет собой обработку, направленную на общее изображение. Другими словами, существует вероятность легко снизить эффективность кодирования.
Таким образом, в случае, когда компонент яркости, от которого ожидают, что он имеет высокую точность прогнозирования, имеет большую глубину битов, чем у цветоразностного компонента, может быть представлена такая конфигурация, что можно будет выполнить остаточное прогнозирование (остаточное восстановление), и остаточное прогнозирование выполняется со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными между компонентами, путем масштабирования значений глубины битов остаточных данных, используя сдвиг вправо таким образом, чтобы правильно выполнить прогнозирование (восстановление). С другой стороны, в случае, когда цветоразностный компонент, который, как ожидается, имеет низкую точность прогнозирования, имеет большую глубину битов, чем у компонента яркости, может быть представлена такая конфигурация, что остаточным прогнозированием управляют так, чтобы его не выполнять, используя информацию (например, luma_chroma_prediction_enabled_flag), которая включена в набор параметра изображения (PPS), используемый для управления, выполняется или нет остаточное прогнозирование.
В результате такого конфигурирования, остаточное прогнозирование/остаточное декодирование могут быть сконфигурированы так, чтобы они исполнялись только в случае, когда может быть получен достаточный эффект, в соответствии с исполнением остаточного прогнозирования (эффективное кодирование может быть достаточно улучшено). В соответствии с этим, поскольку ненужное остаточное прогнозирование/остаточное декодирование может быть исключено, уменьшение эффективности кодирования может быть предотвращено, и увеличение нагрузки при обработке может быть предотвращено.
Семантика
Для выполнения управления, как описано выше, может быть описана семантика, как в примере, представленном на фиг. 22. Часть семантики, представленная на фиг. 22, в которой добавлено подчеркивание, представляет собой описание, соответствующее управлению исполнением остаточного прогнозирования/остаточного декодирования, описанного выше.
Модуль обработки заголовка и модуль остаточного прогнозирования
Также в этом случае, устройство 100 кодирования изображения может иметь конфигурацию, которая, в принципе, является такой же, как и в соответствии с первым вариантом осуществления.
На фиг. 23 показана блок-схема, которая иллюстрирует пример основных конфигураций модуля 121 обработки заголовка и модуля 122 остаточного прогнозирования в таком случае. Как представлено на фиг. 23, в таком случае, при сравнении со случаем первого варианта осуществления, модуль 122 остаточного прогнозирования включает в себя модуль 411 управления вместо модуля 141 управления, и включает в себя модуль 412 прогнозирования вместо модуля 142 прогнозирования.
Модуль 411 управления выполняет обработку, которая, в принципе, является такой же, как и у модуля 141 управления. При сравнении с конфигурацией модуля 141 управления, модуль 411 управления включает в себя модуль 421 расчета разности глубины битов вместо модуля 151 расчета разности значений глубины битов, включает в себя модуль 422 управления сдвигом битов вместо модуля 152 управления сдвигом битов, и, аналогично случаю модуля 141 управления, включает в себя модуль 153 установки весового коэффициента.
Модуль 421 расчета разности значений глубины битов, аналогично случаю модуля 151 расчета разности значений глубины битов, рассчитывает разность глубины битов (delta_bitdepth) между компонентами. Однако модуль 421 расчета разности значений глубины битов, в отличие от случая модуля 151 расчета разности значений глубины битов, не подает рассчитанную разность значений глубины битов (delta_bitdepth) между компонентами в модуль 163 сдвига влево (модуль 412 прогнозирования не имеет модуля 163 сдвига влево).
Модуль 422 управления сдвигом битов, аналогично случаю модуля 152 управления сдвигом битов, управляет расчетом, выполняемым модулем 412 прогнозирования. Однако, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 421 расчета разности значений глубины битов, равна нулю, модуль 422 управления сдвигом битов обеспечивает, чтобы модуль 412 прогнозирования не выполнял масштабирование значения глубины битов, но рассчитывал прогнозируемые остаточные данные. С другой стороны, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 421 расчета разности значений глубины битов, является положительной, модуль 422 управления сдвигом битов обеспечивает выполнение масштабирование значения глубины битов модулем 412 прогнозирования для расчета прогнозируемых остаточных данных. В отличие от этого, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 421 расчета разности значений глубины битов, является отрицательной, модуль 422 управления сдвигом битов запрещает остаточное прогнозирование (обеспечивает, чтобы не выполнялся расчет прогнозируемых остаточных данных), путем управления модулем 412 прогнозирования.
Другими словами, в случае примера данного варианта осуществления, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 421 расчета разности значений глубины битов, является отрицательной, масштабирование значений глубины битов, другими словами, сдвиг битов, используемый для компоновки значения глубины битов так, чтобы они были однородными между компонентами, не выполняется, и, в соответствии с этим, по сравнению с конфигурацией модуля 142 прогнозирования, модуль 163 сдвига влево не включен в модуль 412 прогнозирования.
Поток Обработки остаточного прогнозирования
В случае данного варианта осуществления обработка кодирования выполняется аналогично случаю первого варианта осуществления. Пример потока обработки остаточного прогнозирования, выполняемой в данном варианте осуществления, будет описан со ссылкой на блок-схему последовательности операций, представленную на фиг. 24.
Также в случае примера, показанного на фиг. 24, когда начинается обработка остаточного прогнозирования, на этапе S401, модуль 421 расчета разности значений глубины битов рассчитывает разность значений глубины между компонентами, для которых выполняется остаточное прогнозирование. Другими словами, модуль 421 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (4), и рассчитывает разность значений глубины битов (delta_bitdepth) между компонентом (Y яркости) и цветоразностным компонентом (Cr или Cb). В случае, когда разности значений глубины битов являются разными между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают разности значений глубины битов (delta_bitdepth).
На этапе S402, модуль 422 управления сдвигом битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S401. В случае, когда определяют ноль, обработка переходит на Этап S403. В таком случае сдвиг битов не выполняют, но остаточное прогнозирование выполняют, как представлено в Уравнении (3).
Другими словами, обработка на Этапе S403 - Этапе S405 выполняется аналогично представленной на Этапе S123 - Этапе S125 обработке остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработку на Этапе S405 заканчивают или когда определяют на этапе S403, что остаточное прогнозирование не выполняют, остаточная обработка прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
Кроме того, на этапе S402, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S406.
На этапе S406, модуль 422 управления сдвигом битов определяет, является или нет положительной разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S401. В случае, когда определяют, что она положительная, обработка переходит на Этап S407. В таком случае остаточное прогнозирование выполняют, как представлено в Уравнении (6) (выполняют масштабирование, используя сдвиг вправо).
Другими словами, обработка на Этапе S407 - Этапе S409 выполняется аналогично обработке на Этапе S127 - Этапе S129 при обработке остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S409 заканчивается или на этапе S407 определяют, что остаточное прогнозирование не выполняется, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
С другой стороны, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не является положительной (определяют, что она отрицательная), на этапе S406, обработка переходит на Этап S410.
На этапе S410, модуль 422 управления сдвигом битов устанавливает значение информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное прогнозирование, до значения, представляющего, что остаточное прогнозирование (остаточное восстановление) не выполняется (запрещено). Например, модуль 422 управления сдвигом битов может устанавливать в ноль значение luma_chroma_prediction_enabled_flag.
Когда обработка на Этапе S410 закончится, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
В результате конфигурирования таким образом, в случае, когда разность значений глубины битов остаточных данных между компонентами является отрицательной, другими словами, цветоразностный компонент имеет глубину битов, большую, чем компонент яркости, и существует возможность, что достаточный эффект не будет получен (эффективность кодирования не может быть достаточно улучшена), даже в случае, когда выполняется остаточное прогнозирование, остаточное прогнозирование может быть сконфигурировано так, чтобы оно не выполнялось. Поэтому, в соответствии с устройством 100 кодирования изображения, поскольку ненужное остаточное прогнозирование может быть исключено, снижение эффективности кодирования может быть предотвращено, и может быть предотвращено увеличение нагрузки при обработке.
Модуль получения заголовка и модуль остаточного восстановления
Также в этом случае, устройство 200 декодирования изображения может иметь конфигурацию, которая, в принципе, является такой же, как и в случае первого варианта осуществления.
На фиг. 25 показана блок-схема, на которой иллюстрируется пример основной конфигурации модуля 221 получения заголовка и модуля 222 остаточного восстановления в этом случае. Как представлено на фиг. 25, в этом случае, при сравнении со случаем первого варианта осуществления, модуль 222 остаточного восстановления включает в себя модуль 451 управления вместо модуля 241 управления и включает в себя модуль 452 восстановления вместо модуля 242 восстановления.
Модуль 451 управления выполняет обработку, которая, в принципе, является такой же, как и у модуля 241 управления. При сравнении с конфигурацией модуля 241 управления, модуль 451 управления включает в себя модуль 461 расчета разности глубины битов вместо модуля 251 расчета разности значений глубины битов, и включает в себя модуль 462 управления сдвигом битов вместо модуля 252 управления сдвигом битов.
Модуль 461 расчета разности значений глубины битов, аналогично случаю модуля 251 расчета разности значений глубины битов, рассчитывает разность глубины битов (delta_bitdepth) между компонентами. Однако, в отличие от случая модуля 251 расчета разности значений глубины битов, модуль 461 расчета разности значений глубины битов не подает рассчитанное значение разности глубины битов (delta_bitdepth) между компонентами в модуль 263 сдвига влево (модуль 452 восстановления не включает в себя модуль 263 сдвига влево).
Модуль 462 управления сдвигом битов, аналогично случаю модуля 252 управления сдвигом битов, управляет расчетом, выполняемым модулем 452 восстановления. Однако, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 461 расчета разности значений глубины битов, равна нулю, модуль 462 управления сдвигом битов обеспечивает то, что модуль 452 восстановления не будет выполнять масштабирование значения глубины битов, но будет восстанавливать остаточные данные. С другой стороны, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 461 расчета разности значений глубины битов, является положительной, модуль 462 управления сдвигом битов обеспечивает выполнение модулем 452 восстановления масштабирования значения глубины битов, для восстановления остаточных данных. В отличие от этого, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанная модулем 461 расчета разности значений глубины битов, является отрицательной, модуль 462 управления сдвигом битов пропускает остаточное восстановление (пропускает восстановление остаточных данных) путем управления модулем 452 восстановления.
Другими словами, в случае примера данного варианта осуществления, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 461 расчета разности значений глубины битов, является отрицательной, масштабирование значений глубины битов, другими словами, сдвиг битов, используемый для компоновки значения глубины битов так, чтобы они были однородным между компонентами, не выполняется, и, соответственно, по сравнению с конфигурацией модуля 242 восстановления, модуль 263 сдвига влево не включен в модуль 452 восстановления.
Поток обработки остаточного восстановления
В случае данного варианта осуществления обработку декодирования выполняют аналогично случаю первого варианта осуществления. Пример потока обработки остаточного восстановления, в случае данного варианта осуществления, будет описан со ссылкой на блок-схему последовательности операций, представленную на фиг. 26.
Также в случае примера, представленного на фиг. 26, когда начинается обработка остаточного восстановления, на этапе S421, модуль 461 расчета разности значений глубины битов рассчитывает разность значений глубины битов между компонентами, для которых было выполнено остаточное прогнозирование. Другими словами, модуль 461 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (10), и рассчитывает разность значений глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда разность значений глубины битов отличаются между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают разность значений глубины битов (delta_bitdepth).
На этапе S422, модуль 462 управления сдвигом битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth) рассчитанная на этапе S421. В случае, когда определяют ноль, обработка переходит на Этап S423. В таком случае не выполняется сдвиг битов, и остаточное восстановление выполняют, как представлено в Уравнении (9).
Другими словами, обработка на Этапе S423 - Этапе S425 выполняется аналогично обработке на Этапе S223 - Этапе S225 при обработке остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S425 заканчивается или на этапе S423 определяют, что остаточное прогнозирование не выполняется, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
С другой стороны, на этапе S422, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S426.
На этапе S426, модуль 462 управления сдвигом битов определяет, является или нет положительной разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S421. В случае, когда определяют, что она положительная, обработка переходит на Этап S427. В таком случае выполняют остаточное прогнозирование, как представлено в Уравнении (12) (выполняют масштабирование, используя сдвиг вправо).
Другими словами, обработка от Этапа S427 до Этапа S429 выполняется аналогично обработке от Этапа S227 до Этапа S229 обработки остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем в случае, когда обработка на Этапе S429 заканчивается, или на этапе S427 определяют, что остаточное прогнозирование не выполняется, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
Кроме того, на этапе S426, также в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не является положительной (определяют, что она отрицательная), масштабирование значений глубины битов не выполняют, и остаточное восстановление пропускают. В соответствии с этим, также в этом случае, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
В результате такого конфигурирования, в случае, когда разность значений глубины битов остаточных данных между компонентами является отрицательной, другими словами, цветоразностный компонент имеет глубину битов, большую, чем компонент яркости, и существует вероятность того, что достаточный эффект не будет получен (эффективность кодирования не может быть в достаточной степени улучшена), даже в случае, когда остаточное прогнозирование выполняют, остаточное прогнозирование не выполняют, и остаточное восстановление может быть сконфигурировано так, чтобы оно не выполнялось в соответствии с этим. Поэтому, в соответствии с устройством 200 декодирования изображения, поскольку ненужное прогнозирование восстановления может быть исключено, можно исключить снижение эффективности кодирование, и можно предотвратить повышение нагрузки при обработке.
4. Четвертый вариант осуществления
Управление остаточным прогнозированием, в соответствии с цветовым пространством изображения
Способ управления остаточным прогнозированием/остаточным декодированием не ограничен тем, что представлено в примере, описанном выше. Например, тем, выполняется или нет остаточное прогнозирование/остаточное декодирование, может управлять в соответствии с цветовым пространством изображения. Например, может использоваться такая конфигурации, что исполнением остаточного прогнозирования/остаточного декодирования управляют, в основном, как описано в третьем варианте осуществления, и, кроме того, в случае, когда цветовое пространство изображения, которое представляет собой цель кодирования/декодирования, представляет собой RGB, можно принять конфигурацию, в которой остаточное прогнозирование/остаточное декодирование будет запрещено.
В общем, в случае YUV, возникает много случаев, когда компонент яркости более важен, чем цветоразностный компонент, как информация, и можно рассмотреть случай, в котором компонент яркости имеет большую величину информации (большее значение глубины битов), чем у цветоразностного компонента. С другой стороны, в случае RGB, возникает много случаев, когда степени важности компонентов, как информация, являются одинаковыми, и количество информации (значения глубины битов) компонентов является одинаковым. В то время, как можно рассмотреть случай, в котором компонент G более важен, чем компонент R, и компонент В, как информация, возникают редкие случаи, когда существует разность между их количеством информации (значениями глубины битов).
Другими словами, в случае, когда цветовое пространство изображения представляет собой RGB, и количество информации (значения глубины битов) компонентов не является однородным, существует высокая вероятность, что определенное намерение продюсера за пределами характеристик изображения будет включено в изображение. По этой причине также можно учитывать возможность простого уменьшения точности прогнозирования при остаточном прогнозировании, которая представляет собой обработку, направленную на общее изображение. Другими словами, существует вероятность простого снижения эффективности кодирования.
Таким образом, может быть принята такая конфигурация, что только в случае, когда изображение имеет цветовое пространство, такое как YUV, для которого ожидается, что оно обладает высокой точностью прогнозирования, остаточное прогнозирование (остаточное восстановление) конфигурируют так, чтобы его можно было исполнять и, в случае, когда изображение имеет цветовое пространство, такое как RGB, в котором точность прогнозирования может быть легко ухудшена, остаточным прогнозированием (остаточным восстановлением) управляют так, чтобы его не выполнять, используя информацию (например, luma_chroma_prediction_enabled_flag), которая включена в набор параметра изображения (PPS), используемый для управления, следует или нет выполнять остаточное прогнозирование.
В результате управления таким образом, остаточное прогнозирования/остаточное декодирование могут быть сконфигурированы для выполнения только для случая цветового пространства, для которого получают существенный эффект, в соответствии с выполнением остаточного прогнозирования (эффективность кодирования может быть существенно улучшена). В соответствии с этим, поскольку ненужное остаточное прогнозирование/остаточное декодирование может быть исключено, можно предотвратить уменьшение эффективности кодирования и можно исключить увеличение нагрузки при обработке.
Семантика
Для выполнения обработки управления, как описано выше, может быть описана семантика, как в примере, представленном на фиг. 27. Часть семантики, представленная на фиг. 27, которая показана с подчеркиванием, представляет собой описание, соответствующее управлению исполнением остаточного прогнозирования/остаточного декодирования, описанного выше.
Модуль обработки заголовка и модуль остаточного прогнозирования
Также в этом случае, устройство 100 кодирования изображения может иметь конфигурацию, которая, в принципе, является такой же, как в соответствии с первым вариантом осуществления.
На фиг. 28 показана блок-схема, которая иллюстрирует пример основных конфигураций модуля 121 обработки заголовка и модуля 122 остаточного прогнозирования в таком случае. Как представлено на фиг. 28, в этом случае, при сравнении со случаем первого варианта осуществления, модуль 121 обработки заголовка дополнительно включает в себя модуль 501 обработки VUI (информацию о возможности использования видеоданных). Кроме того, при сравнении со случаем первого варианта осуществления, модуль 122 остаточного прогнозирования включает в себя модуль 511 управления, вместо модуля 141 управления, и включает в себя модуль 412 прогнозирования, вместо модуля 142 прогнозирования.
Модуль 501 обработки VUI выполняет обработку, относящуюся к генерированию VUI (информации о возможности использования видеоданных). VUI представляет собой данные, относящиеся к отображению видеоданных, и содержится в наборе видеопараметров (VPS) или в наборе параметров последовательности (SPS). Кроме того, модуль 501 обработки VUI, например, подает информацию (matrix_coffs), которая включена в VUI, представляющую цветовое пространство изображения, в модуль 122 остаточного прогнозирования (модуль 523 определения цветового пространства, который будет описан ниже). matrix_coffs представляет собой информацию, которая представляет матрицу преобразования, предназначенную для преобразования из RGB в информацию яркости/цветоразностную информацию. Другими словами, в случае matrix coffs=0, это представляет, что цветовое пространство изображения представляет собой sRGB.
Модуль 511 управления выполняет обработку, которая, в принципе, является такой же, как и у модуля 141 управления. При сравнении с конфигурацией модуля 141 управления, модуль 511 управления включает в себя модуль 521 расчета разности глубины битов вместо модуля 151 расчета разности значений глубины битов, включает в себя модуль 522 управления сдвигом битов вместо модуля 152 управления сдвигом битов, и, аналогично случаю модуля 141 управления, включает в себя модуль 153 установки весового коэффициента. Кроме того, модуль 511 управления включает в себя модуль 523 определения цветового пространства.
Модуль 521 расчета разности значений глубины битов, аналогично случаю модуля 151 расчета разности значений глубины битов, рассчитывает разность глубины битов (delta_bitdepth) между компонентами. Однако модуль 521 расчета разности значений глубины битов, в отличие от случая модуля 151 расчета разности значений глубины битов, не подает рассчитанную разность значений глубины битов (delta_bitdepth) между компонентами в модуль 163 сдвига влево (модуль 412 прогнозирования не включает в себя модуль 163 сдвига влево).
Модуль 522 управления сдвига битов, аналогично случаю модуля 152 управления сдвигом битов, управляет расчетом, выполняемым модулем 412 прогнозирования. Однако, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанная модулем 521 расчета разности значений глубины битов, равна нулю, модуль 522 управления сдвигом битов обеспечивает то, что модуль 412 прогнозирования не будет выполнять масштабирование значения глубины битов, но будет рассчитывать прогнозируемые остаточные данные. С другой стороны, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 521 расчета разности значений глубины битов, является положительной, модуль 522 управления сдвигом битов обеспечивает выполнение модулем 412 прогнозирования масштабирования значения глубины битов, для расчета прогнозируемых остаточных данных. В отличие от этого, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 521 расчета разности значений глубины битов, является отрицательной, модуль 522 управления сдвигом битов запрещает остаточное прогнозирование (обеспечивает то, что не будут выполнены расчеты для прогнозируемых остаточных данных), путем управления модулем 412 прогнозирования.
Кроме того, модуль 522 управления сдвигом битов управляет расчетом, выполняемым модулем 412 прогнозирования, на основе результата определения цветового пространства изображения, которое получают с помощью модуля 523 определения цветового пространства. Например, в случае, когда определяют, что цветовое пространство изображения, представляет собой RGB, с помощью модуля 523 определения цветового пространства, модуль 522 управления сдвигом битов запрещает остаточное прогнозирование (прогнозируемые остаточные данные не рассчитывают) путем управления модулем 412 прогнозирования.
Модуль 523 определения цветового пространства определяет цветовое пространство изображения, ссылаясь на информацию (matrix_coffs), представляющую цветовое пространство изображения, подаваемого из модуля 501 обработки VUI. Например, в случае matrix_coffs=0, модуль 523 определения цветового пространства определяет, что цветовое пространство изображения представляет собой RGB.
Другими словами, в случае примера данного варианта осуществления, аналогично случаю третьего варианта осуществления, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 421 расчета разности значений глубины битов, является отрицательной, масштабирование значений глубины битов, другими словами, сдвиг битов, используемый для компоновки значения глубины битов так, чтобы они были однородными между компонентами, не выполняется. В соответствии с этим, как описано в третьем варианте осуществления, по сравнению с конфигурацией модуля 142 прогнозирования, модуль 163 сдвига влево не включен в модуль 412 прогнозирования.
Поток обработки остаточного прогнозирования
В случае данного варианта осуществления, выполняется обработка кодирования аналогично случаю первого варианта осуществления. Пример потока обработки остаточного прогнозирования, выполняемой в этом варианте осуществления, будет описан со ссылкой на блок-схему последовательности операций, представленную на фиг. 29.
Также в случае примера, представленного на фиг. 29, когда начинается обработка остаточного прогнозирования, на этапе S501, модуль 521 расчета разности значений глубины битов рассчитывает разность глубины битов между компонентами, для которых выполняется остаточное прогнозирование. Другими словами, модуль 521 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (4), и рассчитывает разность значений глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда значения разности глубины битов отличаются между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают значения разности глубины битов (delta_bitdepth).
На этапе S502, модуль 522 управления сдвигом битом определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S501. В случае, когда определяют ноль, обработка переходит на Этап S503. В таком случае сдвиг битов не выполняют, но выполняют остаточное прогнозирование, как представлено в Уравнении (3).
Другими словами, обработку с Этапа S503 по Этап S505 выполняют аналогично представленной на Этапе S123 - Этапе S125 обработки остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S505 заканчивается, или определяют на этапе S503, что остаточное прогнозирование не выполняется, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
Кроме того, на этапе S502, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S506.
На этапе S506 модуль 523 определения цветового пространства определяет, является или нет RGB цветовое пространство изображения на основе информации (matrix_coffs), представляющей цветовое пространство изображения, полученной из модуля 501 обработки VUI. В случае, когда определяют, что цветовое пространство настроенное не является RGB, обработка переходит на Этап S507.
На этапе S507, модуль 522 управления сдвигом битов определяет, является или нет положительной разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S501. В случае, когда определяют, что она положительная, обработка переходит на Этап S508. В таком случае выполняют остаточное прогнозирование, как представлено в Уравнении (6) (выполняют масштабирование путем сдвига вправо).
Другими словами, обработку с Этапа S508 по Этап S510 выполняют аналогично обработке с S127 по Этап S129 обработки остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S510 заканчивается или на этапе S508 определяют, что остаточное прогнозирование не выполняется, обработка остаточного прогнозирования заканчивается, и обработка возвращается к обработке, представленной на фиг. 5.
С другой стороны, на этапе S506, в случае, когда определяют, что цветовое пространство представляет собой RGB или когда определяют, что разность значений глубины битов (delta_bitdepth) не является положительной (определяют, что она отрицательная), на этапе S507, обработка переходит к Этапу S511.
На этапе S511, модуль 522 управления сдвигом битов устанавливает значение информации (например, luma_chroma_prediction_enabled_flag), используемой для управления, выполняется или нет остаточное прогнозирование, к значению, представляющему, что остаточное прогнозирование (остаточное восстановление) не выполняется (запрещено). Например, модуль 522 управления сдвигом битов может устанавливать значение luma_chroma_prediction_enabled_flag в ноль.
Когда обработка на Этапе S511 заканчивается, заканчивается обработка остаточного прогнозирования, и обработка возвращается к обработке, представленной на фиг. 5.
Путем выполнения такового конфигурирования, в случае, когда разность значений глубины битов остаточных данных между компонентами является отрицательной, другими словами, цветоразностный компонент имеет глубину битов, большую, чем компонент яркости, и существует вероятность того, что достаточный эффект не будет получен (эффективность кодирования не может быть в достаточной степени улучшена), даже в случае, когда выполняется остаточное прогнозирование, может быть выполнена конфигурация, в которой остаточное прогнозирование не выполняется. Кроме того, только для цветового пространства, для которого достигается достаточный эффект, в соответствии с достижением остаточного прогнозирования (эффективность кодирования может быть существенно улучшена), может быть выполнено остаточное прогнозирование. Поэтому, в соответствии с устройством 100 кодирования изображения, поскольку ненужное остаточное прогнозирование может быть исключено, может быть предотвращено ухудшение эффективности кодирования, и может быть предотвращено увеличение нагрузки при обработке.
Модуль получения заголовка и модуль остаточного восстановления
Также в этом случае, устройство 200 декодирования изображения может иметь конфигурацию, которая, в принципе, является такой же, как и в случае первого варианта осуществления.
На фиг. 30 показана блок-схема, которая иллюстрирует пример основных конфигураций модуля 221 получения заголовка и модуля 222 остаточного восстановления в этом случае. Как представлено на фиг. 30, в этом случае, при сравнении со случаем первого варианта осуществления, модуль 221 получения заголовка дополнительно включает в себя модуль 541 получения VUI. Кроме того, при сравнении со случаем первого варианта осуществления, модуль 222 остаточного восстановления включает в себя модуль 551 управления вместо модуля 241 управления, и включает в себя модуль 452 восстановления вместо модуля 242 восстановления.
Модуль 541 получения VUI получает VUI, который представляет собой данные, относящиеся к отображению видеоизображения из набора видеопараметров (VPS), или набора параметра последовательности (SPS), подаваемых со стороны кодирования, получает информацию (matrix_coffs), представляющую цветовое пространство изображения, включенного в VUI, и подает полученную информацию в модуль 222 остаточного восстановления (модуль 563 определения цветового пространства, который будет описан ниже).
Модуль 551 управления выполняет обработку, которая в принципе, является такой же, как и у модуля 241 управления. При сравнении с конфигурацией модуля 241 управления, модуль 551 управления включает в себя модуль 561 расчета разности глубины битов вместо модуля 251 расчета разности значений глубины битов, и включает в себя модуль 562 управления сдвигом битов вместо модуля 252 управления сдвигом битов. Кроме того, модуль 551 управления включает в себя модуль 563 определения цветового пространства.
Модуль 561 расчета разности значений глубины битов, аналогично случаю модуля 251 расчета разности значений глубины битов, рассчитывает разность глубины битов (delta_bitdepth) между компонентами. Однако, в отличие от случая модуля 251 расчета разности значений глубины битов, модуль 561 расчета разности значений глубины битов не подает рассчитанную разность значений глубины битов (delta_bitdepth) между компонентами в модуль 263 сдвига влево (модуль 452 восстановления не включает в себя модуль 263 сдвига влево).
Модуль 562 управления сдвигом битов, аналогично случаю модуля 252 управления сдвигом битов, управляет расчетом, выполняемым модулем 452 восстановления. Однако, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 561 расчета разности значений глубины битов, равна нулю, модуль 562 управления сдвигом битов обеспечивает то, что модуль 452 восстановления не будет выполнять масштабирование значения глубины битов, но будет восстанавливать остаточные данные. С другой стороны, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 561 расчета разности значений глубины битов, является положительной, модуль 562 управления сдвигом битов обеспечивает выполнение модулем 452 восстановления масштабирования значения глубины битов, для восстановления остаточных данных. В отличие от этого, в случае, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанными модулем 561 расчета разности значений глубины битов, является отрицательной, модуль 562 управления сдвигом битов исключает остаточное восстановление (исключает восстановление остаточных данных) путем управления модулем 452 восстановления.
Кроме того, модуль 562 управления сдвигом битов управляет расчетом, выполняемым модулем 452 восстановления, на основе результата определения цветового пространства изображения, которое выполняется модулем 563 определения цветового пространства. Например, в случае, когда модуль 563 определения цветового пространства определяет, что цветовое пространство изображения представляет собой RGB, модуль 562 управления сдвигом битов исключает остаточное восстановление (восстановление остаточных данных исключается) путем управления модулем 452 восстановления.
Модуль 563 определения цветового пространства определяет цветовое пространство изображения, обращаясь к информации (matrix_coffs), представляющей цветовое пространство изображения, подаваемого из модуля 541 получения VUI. Например, в случае matrix_coffs=0, модуль 563 определения цветового пространства определяет, что цветовое пространство изображения представляет собой RGB.
Другими словами, в случае примера данного варианта осуществления, аналогично случаю третьего варианта осуществления, когда разность значений глубины битов (delta_bitdepth) остаточных данных между компонентами, рассчитанная модулем 561 расчета разности значений глубины битов, является отрицательной, масштабирование значений глубины битов, другими словами, сдвига битов, используемого для компоновки значения глубины битов так, чтобы она была однородной между компонентами, не выполняется. В соответствии с этим, по сравнению с конфигурацией модуля 242 восстановления, модуль 263 сдвига влево не включен в модуль 452 восстановления.
Поток обработки остаточного восстановления
В случае данного варианта осуществления, обработку декодирования выполняют аналогично случаю первого варианта осуществления. Пример потока обработки остаточного восстановления, в случае данного варианта осуществления, будет описан со ссылкой на блок-схему последовательности операций, представленную на фиг. 31.
Также в случае примера, представленного на фиг. 31, когда начинается обработка остаточного восстановления, на этапе S521, модуль 561 расчета разности значений глубины битов рассчитывает разность глубины между компонентами, для которых было выполнено остаточное прогнозирование. Другими словами, модуль 561 расчета разности значений глубины битов выполняет расчет, представленный в Уравнении (10), и рассчитывает разность значений глубины битов (delta_bitdepth) между компонентом (Y) яркости и цветоразностным компонентом (Cr или Cb). В случае, когда разность значений глубины битов отличается между цветоразностным компонентом (Cr) и цветоразностным компонентом (Cb), рассчитывают разность значений глубины битов (delta_bitdepth).
На этапе S522, модуль 562 управления сдвигом битов определяет, равна или нет нулю разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S521. В случае, когда определяют ноль, обработка переходит на Этап S523. В таком случае не выполняют сдвиг битов, и остаточное восстановление выполняют, как представлено в Уравнении (9).
Другими словами, обработка с Этапа S523 по Этап S525 выполняется аналогично обработке с Этапа S223 по Этап S225 при обработке остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S525 заканчивается, или на этапе S523 определяют, что остаточное прогнозирование не выполняется, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
С другой стороны, на этапе S522, в случае, когда определяют, что разность значений глубины битов (delta_bitdepth) не равна нулю, обработка переходит на Этап S526.
На этапе S526, модуль 563 определения цветового пространства определяет, представляет собой RGB или нет цветовое пространство изображения на основе информации (matrix_coffs), представляющей цветовое пространство изображения, полученной из модуля 541 получения VUI. В случае, когда определяют, что цветовое пространство не представляет собой RGB, обработка переходит на Этап S527.
На этапе S527, модуль 562 управления сдвигом битов определяет, является или нет положительной разность значений глубины битов (delta_bitdepth), рассчитанная на этапе S521. В случае, когда определяют, что она положительная, обработка переходит на Этап S528. В таком случае выполняется остаточное прогнозирование, как представлено в Уравнении (12) (выполняют масштабирование путем сдвига вправо).
Другими словами, обработка с Этапа S528 по Этап S530 выполняется аналогично обработке с Этапа S227 по Этап S229 при обработке остаточного прогнозирования, в соответствии с первым вариантом осуществления. Затем, в случае, когда обработка на Этапе S530 заканчивается или на этапе S528 определяют, что остаточное прогнозирование не выполняется, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
Кроме того, также в случае, когда на этапе S526 определяют, что цветовое пространство представляет собой RGB, или когда определяют, что значение разности глубины битов (delta_bitdepth) не является положительным (определяют, что оно отрицательное), на этапе S527 не выполняют масштабирование значений глубины битов, и остаточное восстановление исключают. В соответствии с этим, также в этом случае, обработка остаточного восстановления заканчивается, и обработка возвращается к обработке, представленной на фиг. 12.
Используя такую конфигурацию, в случае, когда разность значений глубины битов остаточных данных между компонентами является отрицательной, другими словами, цветоразностный компонент имеет большую глубину битов, чем компонент яркости, и существует вероятность, что достаточный эффект не будет получен (эффективность кодирования не может быть достаточно улучшена), даже в случае, когда выполняется остаточное прогнозирование, остаточное прогнозирование не выполняется, и остаточное восстановление может быть сконфигурировано так, чтобы оно не выполнялось в соответствии с этим. Кроме того, только для цветового пространства, в котором достигается достаточный эффект выполнения остаточного прогнозирования (эффективность кодирования может быть существенно улучшена), выполняется остаточное прогнозирование, и остаточное восстановление может быть сконфигурировано так, чтобы оно не выполнялось в соответствии с этим. Поэтому, в соответствии с устройством 200 декодирования изображения, поскольку ненужное остаточное восстановление может быть исключено, можно предотвратить снижение эффективности кодирования, и можно предотвратить повышение нагрузки при обработке.
5. Пятый вариант осуществления
Обобщение весового коэффициента
Как описано выше, в то время как модуль 153 установки весового коэффициента был описан, как независимо устанавливающий весовой коэффициент α для каждого компонента, установка весового коэффициента не ограничена этим. Таким образом, модуль 153 установки весового коэффициента может быть сконфигурирован так, чтобы он устанавливал весовой коэффициент α, который является общим для множества компонентов. Например, модуль 153 установки весового коэффициента может быть сконфигурирован так, чтобы он устанавливал весовой коэффициент α, который является общим, как для цветоразностного компонента Cr, так и для цветоразностного компонента Cb.
Синтаксис и семантика
На фиг. 32 показана пример синтаксиса TU, передающего весовой коэффициент α в случае, когда весовой коэффициент α независимо установлен для каждого компонента. В таком случае, как в части, представленной на фиг. 32, затушеванной наклонными линиями, определение условия для передачи r весового коэффициента α выполняется для каждого из цветоразностных компонентов Cr и Cb, и весовой коэффициент α передают (вызов luma_chroma_pred ()) для каждого из цветоразностных компонентов Cr и Cb. При передаче весового коэффициента α, необходимо обозначить номер (с) компонента для цветоразностного компонента (Chroma) (например, "с" для luma_chroma_pred (x0, y0, c); в примере, представленном на фиг. 32, c = "0" или "1").
Пример синтаксиса остаточного прогнозирования (прогнозирование Luma-chroma) поясняется на фиг. 33. Как показано на фиг. 33, также в этом синтаксисе необходимо обозначить номер (с) компонента для цветоразностного компонента (Chroma).
Кроме того, примеры семантики представлены на фиг. 34 и 35. Как представлено в таких схемах, также в семантике необходимо обозначить номер (с) компонента для цветоразностного компонента (Chroma).
В отличие от этого, на фиг. 36 иллюстрируется пример синтаксиса TU, передающего весовой коэффициент α в случае обобщения весового коэффициента α. В таком случае, как в части, представленной на фиг. 36, затушеванной наклонными линиями, определение условия для передачи r весового коэффициента α и передачи (вызова luma_chroma_pred ()) весового коэффициента α может быть выполнено один раз. Таким образом, при таком конфигурировании нагрузка на устройство 100 кодирования изображения и устройство 200 декодирования изображения может быть уменьшена, и количество информации, которую требуется передать, может быть уменьшено, в результате чего, может быть улучшена эффективность кодирования. Кроме того, поскольку нет необходимости обозначать номер (с) компонента для цветоразностного компонента (Chroma), эффективность кодирования может быть дополнительно улучшена.
Пример синтаксиса остаточного прогнозирования (Luma_chroma_prediction) для такого случая представлен на фиг. 37. Как показано на фиг. 37, также в этом синтаксисе, поскольку нет необходимости обозначать номер (с) компонента для цветоразностного компонента (Chroma), эффективность кодирования может быть дополнительно улучшена.
Примеры семантики такого случая представлены на фиг. 38 и 39. Как показано на чертежах, также в этой семантике нет необходимости обозначать номер (с) компонента для цветоразностного компонента (Chroma). Поэтому, нагрузка на устройство 100 кодирования изображения и устройство 200 декодирования изображения может быть уменьшена.
Настоящая технология может применяться для всех устройств кодирования изображения и устройств декодирования изображения, выполненных с возможностью кодирования/декодирования данных изображения в их применимом диапазоне.
Кроме того, настоящая технология, например, может применяться для устройства кодирования изображения и устройства декодирования изображения, которые используются, когда информацию изображении (поток битов) сжатую, используя ортогональное преобразование, такое как дискретное косинусное преобразование и компенсация движения, такая как MPEG, Н. 26х и т.п., принимают через сетевую среду передачи, такую как спутниковая широковещательная передача, кабельное телевидение, Интернет или мобильный телефон. Кроме того, настоящая технология может применяться в устройстве кодирования изображения и устройстве декодирования изображения, которые используются, когда информацию обрабатывают на носителе информации, таком как оптический диск, магнитный диск или запоминающее устройство флэш.
6. Шестой вариант осуществления
Примеры кодирования многообзорного изображения и декодирования многообзорного изображения
Последовательность обработки, описанная выше, может применяться для кодирования многообзорного изображения/декодирования многообзорного изображения. На фиг. 40 показана схема, на которой иллюстрируется пример системы кодирования многообзорного изображения.
Как представлено на фиг. 40, многообзорное изображение включает в себя изображения, снятые из множества точек обзора (обзоров). Множество точек обзора для многообзорного изображения сконфигурированы из основного изображения, которое кодируют и декодируют, используя только изображение основного вида, без использования информации другого вида и неосновного вида, который кодируют и декодируют, используя информацию других видов. Для кодирования/декодирования неосновного вида может использоваться информация основного вида или информация любого другого неосновного вида.
В случае, когда кодируют и декодируют многообзорное изображение, как в примере, представленном на фиг. 40, в то время как кодируют и декодируют изображение каждой точки обзора, способы, описанные выше в первом-пятом вариантах осуществления, могут применяться для кодирования и декодирования каждой точки обзора. В таком случае можно предотвратить снижение эффективности кодирования каждой точки обзора. Другими словами, также в случае многообзорного изображения, аналогично, можно предотвратить снижение эффективности кодирования.
Устройство кодирования многообзорного изображения
На фиг. 41 показана схема, которая иллюстрирует устройство кодирования многообзорного изображения, выполняющего кодирование многообзорного изображения, описанного выше. Как представлено на фиг. 41, устройство 600 кодирования многообзорного изображения включает в себя: модуль 601 кодирования; модуль 602 кодирования; и модуль 603 мультиплексирования.
Модуль 601 кодирования кодирует изображение основного вида, генерируя, таким образом, кодированный поток изображения основного вида. Кроме того, модуль 602 кодирования кодирует изображение неосновного вида, генерируя, таким образом, кодированный поток изображения неосновного вида. Модуль 603 мультиплексирования мультиплексирует кодированный поток изображения основного вида, сгенерированный модулем 601 кодирования, и кодированный поток изображения неосновного вида, сгенерированный модулем 602 кодирования, генерируя, таким образом, кодированный поток многообзорного изображения.
Например, в качестве модуля 601 кодирования и модуля 602 кодирования устройства 600 кодирования многообзорного изображения, можно применять описанное выше устройство 100 кодирования изображения. В таком случае, также при кодировании многообзорного изображения, можно применять различные способы, описанные в первом-пятом вариантах осуществления. Другими словами, устройство 600 кодирования многообзорного изображения может подавлять снижение эффективности кодирования при кодировании данных для многообзорного изображения.
Устройство декодирования многообзорного изображения
На фиг. 42 показана схема, которая иллюстрирует устройство декодирования многообзорного изображения, выполняющего описанное выше декодирование многообзорного изображения. Как представлено на фиг. 42, устройство 610 декодирования многообзорного изображения включает в себя: модуль 611 демультиплексирования; модуль 612 декодирования; и модуль 613 декодирования.
Модуль 611 демультиплексирования демультиплексирует кодированный поток многообзорного изображения, полученный путем мультиплексирования кодированного потока изображения основное вида и кодированного потока изображения неосновного вида, выделяя, таким образом, кодированный поток изображения основного вида и кодированный поток изображения неосновного вида. Модуль 612 декодирования декодирует кодированный поток изображения основного вида, выделенный модулем 611 демультиплексирования, получая, таким образом, изображение основного вида. Модуль 613 декодирования декодирует кодированный поток изображения неосновного вида, выделенный модулем 611 демультиплексирования, получая, таким образом, изображение неосновного вида.
Например, в качестве модуля 612 декодирования и модуля 613 декодирования в устройстве 610 декодирования многообзорного изображения, можно применять устройство 200 декодирования изображения, описанное выше. В таком случае, также при декодировании кодированных данных многообзорного изображения, можно применять различные способы, описанные с первого по пятый варианты осуществления. Другими словами, устройство 610 декодирования многообзорного изображения может правильно декодировать кодированные данные многообзорного изображения, кодированные, используя различные способы, описанные с первого по пятый вариантах осуществления. В соответствии с этим, устройство 610 декодирования многообзорного изображения может подавлять уменьшение эффективности кодирования для кодирования данных многообзорного изображения.
7. Седьмой вариант осуществления
Применение к кодированию иерархического изображения/декодированию иерархического изображения
Последовательность обработки, описанная выше, может применяться для кодирования иерархического изображения/декодирования иерархического изображения (масштабируемое кодирование/масштабируемое декодирование). На фиг. 43 иллюстрируется пример системы кодирования иерархического изображения.
При иерархическом кодировании (масштабируемом кодировании), изображение, сконфигурированное, как множество уровней (иерархий) так, что оно обладает функцией масштабируемости для заданного параметра, и данные изображения кодируют для каждого уровня. Декодирование иерархического изображения (масштабируемое декодирование) представляет собой обработку декодирования, соответствующую кодированию иерархического изображения.
Как представлено на фиг. 43, при установлении иерархии изображения, одно изображение разделяют на множество иерархий (уровней) путем ссылки на заданный параметр, имеющий функцию масштабируемости. Другими словами, изображение с установленной иерархией (иерархическое изображение) включает в себя множество изображений (уровней), имеющих взаимно разные значения заданного параметра. Множество уровней иерархического изображения сконфигурированы путем кодирования и декодирования основного уровня, используя изображения основного уровня, без использования изображения другого уровня и неосновного уровня кодирования и декодирования (также называется уровнем расширения), используя изображения другого уровня. Неосновной уровень может быть сконфигурирован так, чтобы использовать изображение основного уровня или использовать изображение другого неосновного уровня.
Обычно для уменьшения избыточности неосновной уровень конфигурируют из данных (дифференциальных данных) дифференциального изображения между изображением неосновного уровня и изображением другого уровня. Например, в случае, когда для одного изображения устанавливают иерархию по двум уровням, включая в себя основной уровень и неосновной уровень (также называется уровнем расширения), изображение, имеющее более низкое качество, чем исходное изображение, может быть получено, используя только данные основного уровня, и исходное изображение (другими словами, изображение высокого качества) получают путем объединения данных основного уровня и данных неосновного уровня.
Путем установления иерархии изображения, таким образом, изображения различного качества могут быть легко получены, в соответствии с ситуацией. Например, как и в случае, когда в терминал, имеющий малые возможности обработки, такой как мобильный телефон, передают информацию сжатого изображения только для основного уровня, и воспроизводят движущееся изображение, имеющее низкое пространственное/временное разрешение или изображения с низким качеством, и в терминал, имеющий высокие возможности обработки, такой как телевизионный приемник или персональный компьютер, передают сжатую информацию для изображений уровня расширения в дополнение к основному уровню, и воспроизводят движущееся изображение, имеющее высокое пространство/временное разрешение или высококачественное изображение, информация сжатого изображения, в соответствии с возможностями терминала или сети может быть передана из сервера без выполнения обработки транскодирования.
В случае, когда иерархическое изображение, как в примере, представленном на фиг. 43, кодируют и декодируют, в то время как изображение каждого уровня кодируют и декодируют, способы, описанные выше в первом-пятом вариантах осуществления, могут применяться для кодирования и декодирования каждого уровня. В таком случае можно предотвратить уменьшение эффективности кодирования каждого уровня. Другими словами, также в случае иерархического изображения, аналогично, можно предотвратить снижение эффективности кодирования.
Масштабируемый параметр
При таком кодировании иерархического изображения/декодировании иерархического изображения (масштабируемое кодирование/масштабируемое декодирование) параметр, имеющий функцию масштабируемости, является произвольным. Например, пространственное разрешение, как представлено на фиг. 44, может быть установлено, как параметр (пространственная масштабируемость). В случае такой пространственной масштабируемости разрешение изображения является разным для каждого уровня. Другими словами, как представлено на фиг. 44, для каждого изображения устанавливают иерархию на двух уровнях иерархии, таких как основной уровень, имеющий пространственное разрешение ниже, чем у исходного изображения, и уровень расширения, позволяющий получить исходное изображение (исходное пространственное разрешение), при его сопоставлении с изображением основного уровня. Очевидно, что количество уровней иерархии является примером, и для изображения может быть установлена иерархия, используя произвольное количество уровней иерархии.
В качестве параметра, имеющего такую масштабируемость, например, можно применять временное разрешение, как представлено на фиг. 45 (временная масштабируемость). В случае такой временной масштабируемости частота кадров будет разной для каждого уровня. Другими словами, в этом случае, как представлено на фиг. 45, поскольку для изображения установлена иерархия на уровнях, имеющих взаимно разные значения частоты кадров, путем добавления уровня с высокой частотой кадров к уровню с низкой частотой кадров, может быть получено движущееся изображение, имеющее более высокую частоту кадров, и в результате сложения всех уровней может быть получено исходное движущееся изображение (исходная частота кадров). Здесь количество уровней иерархии представляет собой пример, и для изображения может быть установлена иерархия с произвольным количество уровней иерархии.
Кроме того, в качестве параметра, обладающего такой масштабируемостью, например, можно применять отношение сигнал/шум (SNR) (масштабируемость по SNR). В случае такой масштабируемости по SNR отношение SN может быть разным для каждого уровня. Другими словами, как представлено на фиг. 46, для каждого изображения устанавливают иерархию из двух уровней иерархии, включающих в себя основной уровень, имеющий более низкое значение SNR, чем у исходного изображения, и уровень расширения, позволяющий получить исходное изображение (исходное SNR), при сопоставлении с изображением основного уровня. Другими словами, в сжатой информации изображений основного уровня, передают информацию, относящуюся к изображению, имеющему низкое значение PSNR, и путем добавления к нему сжатой информации изображений уровня расширения может быть восстановлено изображение, имеющее высокое значение PSNR. Очевидно, что количество уровней иерархии представляет собой пример, и для изображения может быть установлена иерархия с произвольным количеством иерархий.
Очевидно, что параметр, обладающий масштабируемостью, может быть другим, чем примеры, описанные выше. Например, существует масштабируемость по глубине битов, в которой основной уровень сконфигурирован 8-битным изображением, и путем добавления к нему уровня расширения получают изображение из 10 битов.
Кроме того, существует масштабируемость по цветности, при которой основной уровень сконфигурирован из компонентного изображения формата 4:2:0, и компонентное изображение 4:2:2 получают путем добавления к нему уровня расширения.
Устройство кодирования иерархического изображения
На фиг. 47 показана схема, которая иллюстрирует устройство кодирования иерархического изображения, выполняющее описанное выше кодирование иерархического изображения. Как представлено на фиг. 47, устройство 620 кодирования иерархического изображения включает в себя: модуль 621 кодирования; модуль 622 кодирования; и модуль 623 мультиплексирования.
Модуль 621 кодирования кодирует изображение основного уровня, генерируя, таким образом, кодированный поток изображения основного уровня. Кроме того, модуль 622 кодирования кодирует изображение неосновного уровня, генерируя, таким образом, кодированный поток изображения неосновного уровня. Модуль 623 мультиплексирования мультиплексирует кодированный поток изображения основного уровня, сгенерированный модулем 621 кодирования, и кодированный поток изображение неосновного уровня, сгенерированный модулем 622 кодирования, генерируя, таким образом, кодированный поток иерархического изображения.
Например, в качестве модуля 621 кодирования и модуля 622 кодирования устройства 620 кодирования иерархического изображения, можно применять устройство 100 кодирования изображения, описанное выше. В таком случае, также при кодировании иерархического изображения, можно применять различные способы, описанные в первом - пятом вариантах осуществления. Другими словами, устройство 620 кодирования иерархического изображения позволяет предотвратить снижение эффективности кодирования для данных кодирования иерархического изображения.
Устройство декодирования иерархическое изображения
На фиг. 48 показана схема, которая иллюстрирует устройство декодирования иерархического изображения, выполняющее описанное выше декодирование иерархического изображения. Как представлено на фиг. 48, устройство 630 декодирования иерархического изображения включает в себя: модуль 631 демультиплексирования; модуль 632 декодирования; и модуль 633 декодирования.
Модуль 631 демультиплексирования демультиплексирует кодированный поток иерархического изображения, в котором мультиплексированы кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня, выделяя, таким образом, кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня. Модуль 632 декодирования декодирует кодированный поток изображения основного уровня, выделенный модулем 631 демультиплексирования, получая, таким образом, изображение основного уровня. Модуль 633 декодирования декодирует кодированный поток изображения неосновного уровня, выделенный модулем 631 демультиплексирования, получая, таким образом, изображение неосновного уровня.
Например, в качестве модуля 632 декодирования и модуля 633 декодирования устройства 630 декодирования иерархического изображения можно применять устройство 200 декодирования изображения, описанное выше. В таком случае, также при декодировании кодированных данных иерархического изображения можно применять различные способы, описанные в первом-пятом вариантах осуществления. Другими словами, устройство 630 декодирования иерархического изображения может правильно декодировать данные изображения иерархического изображения, кодированного, используя различные способы, описанные в первом-пятом вариантах осуществления. В соответствии с этим, устройство 630 декодирования иерархического изображения может предотвращать снижение эффективности кодирования при кодировании данных иерархического изображения.
8. Восьмой вариант осуществления
Компьютер
Последовательность обработки, описанная выше, может выполняться либо с использованием аппаратных средств или программного обеспечения. В случае, когда последовательность обработка выполняется с помощью программного обеспечения, программу, конфигурирующую программное обеспечение, устанавливают в компьютер. Здесь компьютер включает в себя компьютер, который построен в специализированных аппаратных средствах, компьютер, такой как персональный компьютер общего назначения, который может выполнять различные функции при установке в нем различных программ и т.п.
На фиг. 49 показана блок-схема, которая иллюстрирует пример аппаратной конфигурации компьютера, который выполняет последовательность обработки, описанную выше в соответствии с программой.
В компьютере 800, представленном на фиг. 49, центральное процессорное устройство (CPU) 801, постоянное запоминающее устройство (ROM) 802 и оперативное запоминающее устройство (RAM) 803 взаимно соединены через шину 804.
Кроме того, интерфейс 810 ввода/вывода соединен с шиной 804. Модуль 811 ввода, модуль 812 вывода, модуль 813 сохранения, модуль 814 передачи данных и привод 815 соединены с интерфейсом 810 ввода/вывода.
Модуль 811 ввода, например, выполнен из клавиатуры, мыши, микрофона, сенсорной панели, терминала ввода и т.п. Модуль 812 вывода, например, сконфигурирован из дисплея, громкоговорителя, выходного терминала и т.п. Модуль 813 сохранения, например, сконфигурирован из жесткого диска, диска RAM, энергонезависимого запоминающего устройства и т.п. Модуль 814 передачи данных, например, сконфигурирован из сетевого интерфейса. Привод 815 выполняет привод магнитного диска, оптического диска, магнитооптического диска или съемного носителя 821 записи, такого как полупроводниковое запоминающее устройство.
В компьютере, сконфигурированном, как описано выше, CPU 801, например, загружает программу, сохраняемую в модуле 813 сохранения в RAM 803 через интерфейс 810 ввода/вывода и шину 804, и выполняет загруженную программу, таким образом, выполняя последовательность обработки, описанную выше. Кроме того, данные, требуемые для CPU 801, для выполнения различной обработки и т.п., соответствующим образом сохраняется в RAM 803.
Программа, исполняемая компьютером (CPU 801), например, может использоваться, будучи записанной на съемный носитель 821 записи, как пакетный носитель и т.п. В таком случае, путем загрузки съемного носителя 821 записи в привод 815, программа может быть установлена в модуль 813 сохранения через интерфейс 810 ввода/вывода.
Кроме того, программа может быть предусмотрена через проводную или беспроводную среду передачи данных, такую как локальная вычислительная сеть, Интернет или цифровая спутниковая широковещательная передача. В таком случае программа может быть принята модулем 814 передачи данных и установлена в модуле 813 сохранения.
Кроме того, программа может быть заранее установлена в ROM 802 или в модуле 813 сохранения.
Кроме того, программа, выполняемая компьютером, может представлять собой компьютер, который исполняет обработку во временной последовательности в соответствии с последовательностью, описанной в данном описании, или программой, которая выполняет обработку параллельно или в необходимые моменты времени, такие как моменты времени по вызову.
Кроме того, в данном описании, этап, описывающий программу, записанную на носителе записи, включает в себя не только обработку, выполняемую во временной последовательности, в соответствии с описанной последовательностью, но также и обработку, которая исполняется параллельно или индивидуально, без необходимой обработки во временной последовательности.
Кроме того, в данном описании, система представляет набор множества составляющих элементов (устройство, модуль (компонент), и т.п.), и все составляющие элементы не Обязательно должны быть скомпонованными в одном и том же корпусе. Таким образом, множество устройств, которые скомпонованы в отдельных корпусах и соединены через сеть и одно устройство, в котором скомпоновано множество модулей в одном корпусе, представляют собой системы.
Кроме того, конфигурация, описанная выше, как одно устройство (или один модуль обработки), может быть разделена так, чтобы она была сконфигурирована, как множество устройств (или модулей обработки). И, наоборот, конфигурация, описанная выше, как множество устройств (или модулей обработки), может быть размещена так, чтобы она была сконфигурирована, как одно устройство (или один модуль обработки). Кроме того, конфигурация, которая не была описана выше, может быть добавлена к конфигурации каждого устройства (или каждого модуля обработки). До тех пор, пока общая конфигурация и общая операция системы, по существу, является одинаковой, часть конфигурации в виде конкретного устройства (или конкретного модуля обработки) может быть сконфигурирована так, чтобы она была включена в конфигурацию другого устройства (или другого модуля обработки).
В то время, как предпочтительные варианты осуществления настоящего раскрытия были подробно описаны со ссылкой на приложенные чертежи, технический объем настоящего раскрытия не ограничен такими примерами. Для специалиста в данной в области техники очевидно, что в настоящем раскрытии могут быть представлены различные изменения или модификации в пределах объема технической идеи, описанной в формуле изобретения, и, естественно, следует понимать, что такие изменения и модификации принадлежат техническому объему настоящего раскрытия.
Например, в настоящей технологии может использоваться конфигурации "облачных" вычислений, в которых функция подразделена и обрабатывается во взаимодействии множеством устройств через сеть.
Кроме того, каждый этап, описанный в каждой блок-схеме последовательности операций, описанной выше, может выполняться либо одним устройством, или может выполняться множеством устройств, используя разделение задачи.
Кроме того, в случае, когда множество обработок включено в один этап, множество обработок, включенных в один этап, может выполняться либо одним устройством, либо может выполняться множеством устройств, используя разделение задач.
Устройство кодирования изображения и устройство декодирования изображения, в соответствии с вариантами осуществления, описанными выше, могут применяться в различных электронных устройствах, таких как передатчик или приемник для проводной широковещательной передачи, такой как спутниковая широковещательная передачи или кабельное телевидение, передача по Интернет, передача в терминал через сотовую связь и т.п., устройство записи, которое записывает изображение на носитель, такой как оптический диск, магнитный диск или запоминающее устройство флэш, или устройство воспроизведения, которое воспроизводит изображение с носителя записи. Ниже будут описаны четыре примера приложения.
9. Девятый вариант осуществления
Первый пример применения: Телевизионный приемник
На фиг. 50 иллюстрируется пример схематичной конфигурации телевизионного устройства, в котором применяется описанный выше вариант осуществления. Телевизионное устройство 900 включает в себя антенну 901, тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 906 дисплея, модуль 907 обработки аудиосигнала, громкоговоритель 908, модуль 909 внешнего интерфейса (I/F), модуль 910 управления, модуль 911 интерфейса (I/F) пользователя и шину 912.
Тюнер 902 выделяет сигнал требуемого канала из сигнала широковещательной передачи, принимаемого через антенну 901, и демодулирует выделенный сигнал. Затем тюнер 902 выводит кодированный поток битов, полученный в результате демодуляции, в демультиплексор 903. Другими словами, тюнер 902 используется, как модуль передачи телевизионного устройства 900, который принимает кодированный поток, в котором кодировано изображение.
Демультиплексор 903 отделяет поток видеоданных и аудиопоток программы, которую требуется просмотреть, от кодированного потока битов, и выводит каждый отделенный поток в декодер 904. Кроме того, демультиплексор 903 выделяет вспомогательные данные, такие как электронная программа передач (EPG) из кодированного потока битов и подает выделенные данные в модуль 910 управления. Кроме того, демультиплексор 903 может выполнять дескремблирование в случае, когда кодированный поток битов скремблирован.
Декодер 904 декодирует видеопоток и аудиопоток, выводимые из демультиплексора 903. Затем декодер 904 выводит видеоданные, сгенерированные при обработке декодирования, в модуль 905 обработки видеосигнала. Кроме того, декодер 904 выводит аудиоданные, сгенерированные для обработки декодирования, в модуль 907 обработки аудиосигнала.
Модуль 905 обработки видеосигнала воспроизводит видеоданные, введенные из декодера 904, и обеспечивает отображение в модуле 906 дисплея видеоданных. Модуль 905 обработки видеосигнала также может обеспечить отображение модулем 906 дисплея экрана приложения, передаваемого через сеть. Кроме того, модуль 905 обработки видеосигнала может выполнять дополнительную обработку, такую как удаление шумов, для видеоданных, в соответствии с установкой. Кроме того, модуль 905 обработки видеосигнала может генерировать изображение графического интерфейса пользователя (GUI), такое как меню, кнопка и курсор, и накладывать сгенерированное изображение на выходное изображение.
Модулем 906 дисплея управляют в соответствии с сигналом управления, передаваемым из модуля 905 обработки видеосигнала, таким образом, чтобы отображать видеоизображение или изображение на видеоэкране устройства дисплея (например, жидкокристаллического дисплея, плазменного дисплея, дисплея OELD (органической электролюминесценции (дисплей органической EL) и т.п.).
Модуль 907 обработки аудиосигнала выполняет обработку воспроизведения, такую как D/A преобразование и усиление для аудиоданных, вводимых из декодера 904, и обеспечивает вывод звука громкоговорителем 908. Кроме того, модуль 907 обработки аудиосигнала может выполнять дополнительную обработку, такую как удаление шумов для аудиоданных.
Модуль 909 внешнего интерфейса представляет собой интерфейс для подключения телевизионного устройство 900 к внешнему устройству или сети. Например, видеопоток или аудиопоток, принимаемый через модуль 909 внешнего интерфейса, может быть декодирован декодером 904. Другими словами, модуль 909 внешнего интерфейса также используется, как модуль передачи телевизионного устройства 900, который принимает кодированный поток, в котором кодировано изображение.
Модуль 910 управления включает в себя процессор, такой как CPU, и запоминающее устройство, такое как RAM или ROM. В запоминающем устройстве содержится программа, исполняемая CPU, данные программы, данные EPG, данные, полученные через сеть, и т.п. Программа, сохраняемая в запоминающем устройстве, например, считывается CPU при активации телевизионного устройства 900, и исполняется. CPU управляет операцией телевизионного устройства 900, например, в соответствии с сигналом операции, вводимым из модуля 911 интерфейса пользователя, путем выполнения программы.
Модуль 911 интерфейса пользователя соединен с модулем 910 управления. Модуль 911 интерфейса пользователя, например, включает в себя кнопку и переключатель для пользователя, для выполнения операций с телевизионным устройством 900, модуль приема сигнала пульта дистанционного управления и т.п. Модуль 911 интерфейса пользователя детектирует операцию пользователя через такие компоненты, генерирует сигнал операции, и выводит сгенерированный сигнал операции в модуль 910 управления.
Шина 912 соединяет тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 907 обработки аудиосигнала, модуль 909 внешнего интерфейса и модуль 910 управления друг с другом.
В телевизионном устройстве 900, сконфигурированном таким образом, декодер 904 имеет функцию устройства 200 декодирования изображения, в соответствии с описанным выше вариантом осуществления. Другими словами, декодер 904 может правильно декодировать кодированные данные, в которых кодированы данные изображения, используя любой из способов, описанных в первом-пятом вариантах осуществления, используя способ, описанный в соответствующем варианте осуществления. В соответствии с этим, телевизионное устройство 900 может предотвращать снижение эффективности кодирования.
Второй пример применения: Мобильный телефон
На фиг. 51 представлен пример схематичной конфигурации мобильного телефона, в котором применяется описанный выше вариант осуществления. Мобильный телефон 920 включает в себя антенну 921, модуль 922 передачи данных, аудиокодек 923, громкоговоритель 924, микрофон 925, модуль 926 камеры, модуль 927 обработки изображений, модуль 928 мультиплексирования/разделения, модуль 929 записи/воспроизведения, модуль 930 дисплея, модуль 931 управления, модуль 932 операций и шину 933.
Антенна 921 соединена с модулем 922 передачи данных. Громкоговоритель 924 и микрофон 925 соединены с аудиокодеком 923. Модуль 932 операций соединен с модулем 931 управления. Шина 933 соединяет друг с другом модуль 922 передачи данных, аудиокодек 923, модуль 926 камеры, модуль 927 обработки изображений, модуль 928 мультиплексирования/разделения, модуль 929 записи/воспроизведений, модуль 930 дисплея и модуль 931 управления.
Мобильный телефон 920 выполняет операцию, такую как передача/прием аудиосигнала, передача/прием электронной почты или данных изображения, съемка изображения и запись данных в различных режимах работы, включая в себя режим голосового вызова, режим передачи данных, режим формирования изображения и режим видеотелефона.
В режиме голосового вызова аналоговый аудиосигнал, генерируемый микрофоном 925, поступает в аудиокодек 923. Аудиокодек 923 преобразует аналоговый аудиосигнал в аудиоданные, выполняет A/D преобразование преобразованных аудиоданных и сжимает аудиоданные. Затем аудиокодек 923 выводит сжатые аудиоданные в модуль 922 передачи данных. Модуль 922 передачи данных кодирует и модулирует аудиоданные для генерирования сигнала передачи. Затем модуль 922 передачи данных передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Кроме того, модуль 922 передачи данных усиливает беспроводный сигнал, принятый через антенну 921, и выполняет преобразование частоты беспроводного сигнала, получая, таким образом, принимаемый сигнал. Затем модуль 922 передачи данных генерирует аудиоданные путем демодулирования и декодирования принимаемого сигнала, и выводит сгенерированные аудиоданные в аудиокодек 923. Аудиокодек 923 выполняет расширение и D/A преобразование аудиоданных, генерируя, таким образом, аналоговый аудиосигнал. Затем аудиокодек 923 подает сгенерированный аудиосигнал в громкоговоритель 924 для вывода звука.
В режиме передачи данных, например, модуль 931 управления генерирует данные знака, составляющие электронную почту, в соответствии с операцией пользователя, выполняемой через модуль 932 операций. Кроме того, модуль 931 управления обеспечивает отображение знаков в модуле 930 дисплея. Модуль 931 управления генерирует данные электронной почты, в соответствии с инструкцией передачи от пользователя через модуль 932 операций, и выводит сгенерированные данные электронной почты в модуль 922 передачи данных. Модуль 922 передачи данных кодирует и модулирует данные электронной почты, генерируя, таким образом, сигнал передачи. Затем модуль 922 передачи данных передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Кроме того, модуль 922 передачи данных выполняет усиление и преобразование частоты беспроводного сигнала, принятого через антенну 921, получая, таким образом, принимаемый сигнал. Затем модуль 922 передачи данных демодулирует и декодирует принимаемый сигнал для восстановления данных электронной почты, и выводит восстановленные данные электронной почты в модуль 931 управления. Модуль 931 управления обеспечивает отображение содержание данных электронной почты в модуле 930 дисплея, и подает данные электронной почты в модуль 929 записи/воспроизведения, для обеспечения записи данных электронной почты на его носитель записи.
Модуль 929 записи/воспроизведения включает в себя произвольный носитель сохранения с возможностью считывания и записи. Например, носитель сохранения может представлять собой встроенный носитель записи, такой как RAM и запоминающее устройство флэш, или может представлять собой носитель записи типа внешнего подключения, такой как жесткий диск, магнитный диск, магнитооптический диск, оптический диск, запоминающее устройство универсальной последовательной шины (USB), или карта памяти.
В режиме формирования изображения, например, модуль 926 камеры формирует изображения объекта, для генерирования данных изображения и выводит сгенерированные данные изображения в модуль 927 обработки изображений. Модуль 927 обработки изображений кодирует данные изображения, вводимые из модуля 926 камеры, и подает кодированный поток в модуль 929 записи/воспроизведения для обеспечения записи кодированного потока на его носитель записи.
В режиме отображения изображения модуль 929 записи/воспроизведения считывает кодированный поток, записанный на носитель записи, и выводит считанный кодированный поток в модуль 927 обработки изображений. Модуль 927 обработки изображения декодирует кодированный поток, вводимый из модуля 929 записи/воспроизведения, и подает данные изображения в модуль 930 дисплея, для обеспечения отображения его изображения.
Кроме того, в режиме видеотелефона, например, модуль 928 мультиплексирования/разделения мультиплексирует видеопоток, кодированный модулем 927 обработки изображения, и аудиопоток, вводимый из аудиокодека 923, и выводит полученный в результате мультиплексированный поток в модуль 922 передачи данных. Модуль 922 передачи данных кодирует и модулирует поток, генерируя, таким образом, сигнал передачи. Затем модуль 922 передачи данных передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Кроме того, модуль 922 передачи данных выполняет усиление и преобразование частоты беспроводного сигнала, принятого через антенну 921, получая, таким образом, сигнал приема. Сигнал передачи и принимаемый сигнал получают с кодированным потоком битов, включенным в него. Затем модуль 922 передачи данных восстанавливает поток путем демодуляции и декодирования принимаемого сигнала, и выводит восстановленный поток в модуль 928 мультиплексирования/разделения. Модуль 928 мультиплексирования/разделения отделяет видеопоток и аудиопоток из входного потока и выводит видеопоток и аудиопоток, соответственно, в модуль 927 обработки изображений и аудиокодек 923. Модуль 927 обработки изображений декодирует видеопоток для генерирования видеоданных. Видеоданные подают в модуль 930 дисплея, и последовательность изображений отображается модулем 930 дисплея. Аудиокодек 923 выполняет разворачивание и D/A преобразование аудиопотока, генерируя, таким образом, аналоговый аудиосигнал. Затем аудиокодек 923 подает сгенерированный аудиосигнал в громкоговоритель 924 для обеспечения вывода звука.
В мобильном телефоне 920, сконфигурированном таким образом, модуль 927 обработки изображений имеет функцию устройства 100 кодирования изображения и устройства 200 декодирования изображения, в соответствии с описанными выше вариантами осуществления. Другими словами, модуль 927 обработки изображений может кодировать данные изображения, используя любой один из способов, описанных в первом-пятом вариантах осуществления, и может правильно декодировать кодированные данные, полученные при обработке кодирования, используя способ, описанный в соответствующем варианте осуществления. В соответствии с этим, мобильный телефон 920 может подавлять снижение эффективности кодирования.
Третий пример применения: Устройство записи и воспроизведения
На фиг. 52 показана блок-схема, которая иллюстрирует пример схематичной конфигурации устройства записи/воспроизведения, в котором применяется описанный выше вариант осуществления. Устройство 940 записи/воспроизведения, например, кодирует аудиоданные и видеоданные принимаемой широковещательной программы и записывает кодированные данные на носителе записи. Кроме того, устройство 940 записи/воспроизведения, например, может кодировать аудиоданные и видеоданные, полученные из другого устройства, и записывать кодированные данные на носителе записи. Кроме того, устройство 940 записи/воспроизведения, например, воспроизводит данные, записанные на носителе записи, используя монитор и громкоговоритель, в соответствии с инструкцией пользователя. В это время устройство 940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения включает в себя тюнер 941, модуль 942 внешнего интерфейса (I/F), кодер 943, привод 944 жесткого диска (HDD), привод 945 диска, селектор 946, декодер 947, модуль 948 отображения на экране (OSD), модуль 949 управления и модуль 950 интерфейса (I/F) пользователя.
Тюнер 941 выделяет сигнал требуемого канала из сигнала широковещательной передачи, принятого через антенну (не показан) и демодулирует выделенный сигнал. Затем, тюнер 941 выводит кодированный поток битов, полученный при обработке демодуляции, в селектор 946. Другими словами, тюнер 941 используется, как модуль передачи устройства 940 записи/воспроизведения.
Модуль 942 внешнего интерфейса представляет собой интерфейс, используемый для соединения устройства 940 записи/воспроизведения, и внешнего устройства или сети. Модуль 942 внешнего интерфейса, например, может представлять собой интерфейс Института инженеров по электротехнике и радиоэлектронике (IEEE) 1394, сетевой интерфейс, интерфейс USB, интерфейс запоминающего устройства флэш и т.п. Например, видеоданные и аудиоданные, принятые через модуль 942 внешнего интерфейса, подают в кодер 943. Другими словами, модуль 942 внешнего интерфейса используется, как модуль передачи устройства 940 записи/воспроизведения.
В случае, когда видеоданные и аудиоданные, вводимые из модуля 942 внешнего интерфейса, не кодированы, кодер 943 кодирует видеоданные и аудиоданные, когда видеоданные и аудиоданные вводят из модуля 942 внешнего интерфейса. Затем кодер 943 выводит кодированный поток битов в селектор 946.
HDD 944 записывает кодированный поток битов, в котором данные содержания, такие как видео- и аудиоданные, сжаты, различные программы и другие данные на внутренний жесткий диск. Когда видеоданные и аудиоданные воспроизводят, HDD 944 считывает данные с жесткого диска.
Привод 945 диска записывает и считывает данные на/с загруженного носителя записи. Носитель записи, загруженный в привод 945 диска, например, может представлять собой цифровой универсальный диск (DVD) (DVD-Video, DVD-RAM (DVD - Оперативное запоминающее устройство), DVD - Записываемый (DVD-R), DVD - Перезаписываемый (DVD-RW), DVD + Записываемый (DVD+R), DVD + Перезаписываемый (DVD+RW) и т.п.), диск Blu-ray (зарегистрированный товарный знак) и т.п.
Когда записывают видео- и аудиоданные, селектор 946 выбирает кодированный поток битов, подаваемый из тюнера 941 или кодера 943, и выводит выбранный кодированный поток битов в HDD 944 или привод 945 диска. Кроме того, когда видео- и аудиоданные воспроизводят, селектор 946 выводит кодированный поток битов, вводимый из HDD 944 или привода 945 диска в декодер 947.
Декодер 947 декодирует кодированный поток битов для генерирования видеоданных и аудиоданных. Затем декодер 947 выводит сгенерированные видеоданные в OSD 948. Кроме того, декодер 947 выводит сгенерированные аудиоданные во внешний громкоговоритель.
OSD 948 воспроизводит видеоданные, вводимые из декодера 947, отображая, таким образом, видеоизображение. OSD 948 может накладывать изображение GUI, такое как меню, кнопка, курсор, на отображаемое видеоизображение.
Модуль 949 управления включает в себя процессор, такой как CPU, и запоминающее устройство, такое как RAM или ROM. В запоминающем устройстве содержится программа, исполняемая CPU, данные программы и т.п. Программу, содержащуюся в запоминающем устройстве, например, считывают и выполняют с помощью CPU при активации устройства 940 записи/воспроизведения. CPU управляет операцией устройства 940 записи/воспроизведения, например, в соответствии с сигналом операции, вводимым из модуля 950 интерфейса пользователя, путем выполнения программы.
Модуль 950 интерфейса пользователя соединен с модулем 949 управления. Модуль 950 интерфейса пользователя, например, включает в себя кнопку и переключатель для пользователя, для выполнения операций с устройством 940 записи/воспроизведения и модулем приема для сигнала дистанционного управления. Модуль 950 интерфейса пользователя детектирует операцию пользователя через составляющие элементы для генерирования сигнала операции, и выводит сгенерированный сигнал операции в модуль 949 управления.
В устройстве 940 записи/воспроизведения, сконфигурированном таким образом, кодер 943 имеет функцию устройства 100 кодирования изображения, в соответствии с описанным выше вариантом осуществления. Другими словами, кодер 943 может кодировать данные изображения, используя любой из способов, описанных в первом-пятом вариантах осуществления. Кроме того, декодер 947 имеет функцию устройства 200 декодирования изображения, в соответствии с описанным выше вариантом осуществления. Другими словами, декодер 947 может правильно декодировать кодированные данные, которые кодированы путем использования любого из способов, описанных в первом-пятом вариантах осуществления, используя способ, описанный в соответствующем варианте осуществления. В соответствии с этим, устройство 940 записи/воспроизведения может предотвращать снижение эффективности кодирования.
Четвертый пример применения: Устройство формирования изображения
На фиг. 53 иллюстрируется пример схематичной конфигурации устройства формирования изображения, в котором применяется описанный выше вариант осуществления. Устройство 960 формирования изображения формирует изображения объекта для генерирования изображения, кодирует данные изображения и записывает кодированные данные изображения на носителе записи.
Устройство 960 формирования изображения включает в себя оптический блок 961, модуль 962 формирования изображения, модуль 963 обработки сигналов, модуль 964 обработки изображений, модуль 965 дисплея, модуль 966 внешнего интерфейса (I/F), запоминающее устройство 967, привод 968 носителя, OSD 969, модуль 970 управления, модуль 971 интерфейса (I/F) пользователя и шину 972.
Оптический блок 961 соединен с модулем 962 формирования изображения. Модуль 962 формирования изображения соединен с модулем 963 обработки сигналов. Модуль 965 дисплея соединен с модулем 964 обработки изображений. Модуль 971 интерфейса пользователя соединен с модулем 970 управления. Шина 972 соединяет друг с другом модуль 964 обработки изображений, модуль 966 внешнего интерфейса, запоминающее устройство 967, привод 968 носителя, OSD 969 и модуль 970 управления.
Оптический блок 961 включает в себя линзу фокусирования, механизм диафрагмы и т.п. Оптический блок 961 формирует оптическое изображение объекта на поверхности формирования изображения модуля 962 формирования изображения. Модуль 962 формирования изображения включает в себя датчик изображения, такой как прибор с зарядовой связью (CCD) и комплементарный металлооксидный полупроводник (CMOS), и преобразует оптическое изображение, сформированное на поверхности формирования изображения, в сигнал изображения, как электрический сигнал, используя фотоэлектрическое преобразование. Затем модуль 962 формирования изображения выводит сигнал изображения в модуль 963 обработки сигналов.
Модуль 963 обработки сигналов выполняет различную обработку сигнала камеры, такую как коррекция изгиба характеристики передачи уровня яркости, гамма-коррекция, коррекция цвета и т.п., для сигнала изображения вводимого из модуля 962 формирования изображения. Модуль 963 обработки сигналов выводит данные изображения после обработки сигнала камеры в модуль 964 обработки изображений.
Модуль 964 обработки изображений кодирует данные изображения, вводимые из модуля 963 обработки сигналов, для генерирования кодированных данных. Затем модуль 964 обработки изображений выводит сгенерированные кодированные данные в модуль 966 внешнего интерфейса или в привод 968 носителя. Кроме того, модуль 964 обработки изображений декодирует кодированные данные, вводимые из модуля 966 внешнего интерфейса или с привода 968 носителя, для генерирования данных изображения. Затем модуль 964 обработки изображений выводит сгенерированные данные изображения в модуль 965 дисплея. Кроме того, модуль 964 обработки изображений выводит данные изображения, вводимые из модуля 963 обработки сигналов, в модуль 965 дисплея для отображения изображения. Кроме того, модуль 964 обработки изображений может накладывать данные для отображения, которые получают из OSD 969, на изображение, выводимое в модуль 965 дисплея.
OSD 969, например, генерирует изображение GUI, такое как меню, кнопка, курсор и т.п., и выводит генерируемое изображение в модуль 964 обработки изображений.
Модуль 966 внешнего интерфейса, например, выполнен, как разъем ввода/вывода USB. Модуль 966 внешнего интерфейса, например, соединяет устройство 960 формирования изображения и принтер, когда выполняют печать изображения. Кроме того, привод соединяют с модулем 966 внешнего интерфейса, в соответствии с необходимостью. Съемный носитель, такой как магнитный диск или оптический диск, загружают в привод, и программу, считываемую со съемного носителя, можно установить в устройство 960 формирования изображения. Кроме того, модуль 966 внешнего интерфейса может быть выполнен, как сетевой интерфейс, который соединяют с сетью, такой как LAN, Интернет и т.п. Другими словами, модуль 966 внешнего интерфейса используется, как модуль передачи устройства 960 формирования изображения.
Носитель записи, загружаемый в привод 968 носителя, например, может представлять собой произвольный съемный носитель с возможностью считывания/записи, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковое запоминающее устройство. Кроме того, может использоваться такая конфигурация, что носитель записи постоянно установлен в приводе 968 носителя для формирования непортативного модуля записи, такого как встроенный привод жесткого диска или твердотельный накопитель (SSD).
Модуль 970 управления включает в себя процессор, такой как CPU, и запоминающее устройство, такое как RAM или ROM. В запоминающем устройстве содержится программа, исполняемая CPU, данные программы и т.п. Программу, содержащуюся в запоминающем устройстве, считывают с помощью CPU, например, при активации устройства 960 формирования изображения, и выполняют. CPU управляет операцией устройства 960 формирования изображения, например, в соответствии с сигналом операции, вводимым из модуля 971 интерфейса пользователя, путем исполнения программы.
Модуль 971 интерфейса пользователя соединен с модулем 970 управления. Модуль 971 интерфейса пользователя, например, включает в себя кнопку, переключатель и т.п., для пользователя, для выполнения операций с устройством 960 формирования изображения. Модуль 971 интерфейса пользователя детектирует операцию пользователя, используя составляющие элементы для генерирования сигнала операции, и выводит сгенерированный сигнал операции в модуль 970 управления.
В устройстве 960 формирования изображения, сконфигурированном таким образом, модуль 964 обработки изображений имеет функции устройства 100 кодирования изображения и устройства 200 декодирования изображения, в соответствии с описанными выше вариантами осуществления. Другими словами, модуль 964 обработки изображений может кодировать данные изображения, используя любой один из способов, описанных в первом-пятом вариантах осуществления, и может правильно декодировать кодированные данные, полученные при обработке кодирования, используя способ, описанный в соответствующем варианте осуществления. В соответствии с этим, устройство 960 формирования изображения может улучшить эффективность кодирования.
Кроме того, настоящая технология может также применяться к потоковой передаче HTTP, такой как MPEG, или DASH, в которой выбирают, и использует соответствующие кодированные данные в модулях сегментов среди множества частей кодированных данных, имеющих взаимно разные, заранее подготовленные значения разрешения и т.п. Другими словами, среди множества частей кодированных данных, можно совместно использовать информацию, относящуюся к кодированию и декодированию.
10. Десятый вариант осуществления
Другие примеры
В то время как примеры устройства, системы и т.п., в которых применяется настоящая технология, были описаны выше, настоящая технология не ограничена этим. Таким образом, настоящая технология также может быть воплощена, как все компоненты, установленные в устройстве или в устройстве, конфигурирующем систему, таком как процессор, как системная большая интегральная схема (LSI) и т.п., модуль, в котором используется множество процессоров и т.п., модуль, в котором используется множество модулей и т.п., и набор, полученный путем добавления другой функции к модулю (другими словами, часть конфигурации устройства).
Видеоустройство
Пример случая, в котором настоящая технология воплощена, как набор, будет описан со ссылкой на фиг. 54. На фиг. 54 иллюстрируется пример схематичной конфигурации видеонабора, в котором применяется настоящая технология.
В последнее время получило развитие воплощение множества функций в электронных устройствах, и при разработке или при производстве каждого электронного устройства, в случае, когда часть конфигурации выполняется при продаже, поставке и т.п., часто возникает не только случай, когда часть выполняется, как конфигурация, имеющая одну функцию, но также случай, когда часть выполняется, как один набор, имеющий множество функций, в результате комбинирования множества конфигураций, имеющих зависимые функции.
Видеоустройство 1300, представленное на фиг. 54, имеет такую конфигурацию, что он имеет множество функций, и его получают путем комбинирования устройства, имеющего функцию, относящуюся к кодированию/декодированию (одну из кодирования и декодирования или обе из них) изображения, с устройствами, имеющими другие функции, связанные с функцией.
Как представлено на фиг. 54, видеоустройство 1300 включает в себя: группу модулей, такую как видеомодуль 1311, внешнее запоминающее устройство 1312, модуль 1313 администрирования питанием и модуль 1314 предварительной обработки, и устройства, имеющие схожие функции, такие как модуль 1321 соединения, камера 1322 и датчик 1323.
Модуль представляет собой компонент, который имеет функции, обладающие когерентностью, полученную в результате объединения нескольких функций компонентов, взаимосвязанных друг с другом. Конкретная физическая конфигурация является произвольной, и, например, можно рассмотреть конфигурацию, в которой множество процессоров, имеющих соответствующие функции компонентов электронных схем, таких как резистор и конденсатор, и других устройств, скомпонованы так, что они интегрированы на печатной плате и т.п. Кроме того, можно рассмотреть возможность формирования нового модуля путем комбинирования модуля с другими модулями, процессором и т.п.
В случае примера, представленного на фиг. 54, видеомодуль 1311 построен путем комбинирования конфигураций, имеющих функции, относящиеся к обработке изображений, и включает в себя: процессор приложения, видеопроцессор, широкополосный модем 1333 и RF модуль 1334.
Процессор сформирован путем объединения конфигурации, имеющей заданную функцию, на полупроводниковой микросхеме, используя систему на кристалле (SoC) и, например, существует процессор, называемый большая интегральная схема (LSI) и т.п. Конфигурация, имеющая заданную функцию, может представлять собой логическую схему (аппаратную конфигурацию), конфигурацию, включающую в себя CPU, ROM, RAM и т.п., и программу (программную конфигурацию), выполняемую используя компоненты, или конфигурации, получаемые путем комбинирования обеих этих функций. Например, может быть составлена такая конфигурация, что процессор включает в себя логические схемы, CPU, ROM, RAM и т.п., некоторые его функции реализуются, используя логические цепи (аппаратная конфигурация), и другие функции реализуются с помощью программы (программная конфигурация), исполняемой CPU.
Процессор 1331 приложения, представленный на фиг. 54, представляет собой процессор, который исполняет приложение, относящееся к обработке изображений. Для того чтобы реализовать заданную функцию, приложение, исполняемое этим процессором 1331 приложения, не только выполняет обработку расчетов, но также может управлять внутренней/внешней конфигурациями видеомодуля 1311, такими как видеопроцессор 1332 и т.п., в соответствии с необходимостью.
Видеопроцессор 1332 представляет собой процессор, который имеет функцию, относящуюся к кодированию/декодированию (одну из кодирования и декодирования, или обе из кодирования и декодирования) изображения.
Широкополосный модем 1333 преобразует данные (цифровой сигнал), передаваемые, используя проводную или беспроводную (или проводную и беспроводную) широкополосную передачу данных, которая выполняется по линиям широкополосной передачи данных, таким как Интернет или телефонная коммутируемая сеть общего пользования, в аналоговый сигнал посредством обработки цифровой модуляции и т.п., или преобразует аналоговый сигнал, принятый через широкополосную передачу данных, в данные (цифровой сигнал), используя обработку демодуляции. Широкополосный модем 1333 обрабатывает произвольную информацию, такую как данные изображения, обрабатываемые видеопроцессором 1332, поток, в котором кодированы данные изображения, программа приложения и данные установки.
Модуль 1334 RF представляет собой модуль, который выполняет преобразование частоты, модуляцию/демодуляцию, усиление, обработку фильтра и т.п. для Радиочастотного (RF) сигнала, который передают или принимают через антенну. Например, RF модуль 1334 выполняет преобразование частоты и т.п. для сигнала системы соединения по специализированной линии, генерируемого широкополосным модемом 1333, генерируя, таким образом, RF сигнал. Кроме того, например, RF модуль 1334 выполняет преобразование частоты и т.п. для RF сигнала, принятого через модуль 1314 предварительной обработки, генерируя, таким образом, сигнал системы соединения по специализированной линии.
Как обозначено пунктирной линией 1341 на фиг. 54, процессор 1331 приложения и видеопроцессор 1332 могут быть интегрированы так, чтобы они могут быть выполнены, как один процессор.
Внешнее запоминающее устройство 1312 представляет собой модуль, который размещен за пределами видеомодуля 1311 и имеет запоминающее устройство, используемое видеомодулем 1311. В то время как запоминающее устройство внешнего запоминающего устройства 1312 может быть реализовано, используя определенную физическую конфигурацию, обычно запоминающее устройство часто используется для записи данных большого объема, таких как данные изображения, составленные в единицах кадров. В соответствии с этим, предпочтительно, чтобы запоминающее устройство было реализовано на основе полупроводникового запоминающего устройства большой емкости, такого как динамическое оперативное запоминающее устройство (DRAM) при относительно низких затратах.
Модуль 1313 администрирования питанием администрирует и управляет подачей питания к видеомодуль 1311 (в каждую конфигурацию, размещенную внутри видеомодуля 1311).
Модуль 1314 предварительной обработки представляет собой модуль, который обеспечивает функцию интерфейса (схему на конце передачи/приема, на стороне антенны) для RF модуля 1334. Как представлено на фиг. 61, модуль 1314 предварительной обработки, например, включает в себя антенный модуль 1351, фильтр 1352 и модуль 1353 усиления.
Антенный модуль 1351 включает в себя антенну, которая передает и принимает беспроводные сигналы и периферийные конфигурации. Антенный модуль 1351 передает сигнал, подаваемый из модуля 1353 усиления, как беспроводный сигнал, и подает принятый беспроводный сигнал в фильтр 1352, как электрический сигнал (RF сигнал). Фильтр 1352 выполняет обработку фильтра и т.п. для RF сигнала, принятого через антенный модуль 1351, и подает RF сигнал после обработки в RF модуль 1334. Модуль 1353 усиления усиливает RF сигнал, подаваемый из RF модуля 1334, и подает усиленный RF сигнал в антенный модуль 1351.
Модуль 1321 соединения представляет собой модуль, который имеет функцию, относящуюся к соединению с внешним окружением. Физическая конфигурация модуля 1321 соединения является произвольной. Например, модуль 1321 соединения включает в себя конфигурацию, имеющую функцию передачи данных, в соответствии с другим стандартом передачи данных, чем стандарт передачи данных, которому соответствует модем 1333 широковещательной передачи, внешний терминал ввода/вывода и т.п.
Например, модуль 1321 соединения может быть выполнен так, чтобы он включал в себя модуль, который имеет функцию передачи данных, которая соответствует стандарту радиопередачи данных, такому как Bluetooth (зарегистрированный товарный знак), IEEE 802.11 (например, Wireless Fidelity; зарегистрированный товарный знак (Wi-Fi)), передачи данных в ближнем поле (NFC), или Ассоциация посредством передачи данных в инфракрасном диапазоне (IrDA), антенну, которая передает и принимает сигналы, которые соответствуют стандарту, и т.п. Кроме того, например, модуль 1321 соединения может быть выполнен так, чтобы он включал в себя модуль, который обладает функцией передачи данных, которая соответствует стандарту проводной передачи данных, такому как универсальная последовательная шина (USB) или мультимедийный интерфейс высокой четкости (HDMI (зарегистрированный товарный знак)) и разъемы, которые соответствуют стандарту. Кроме того, например, модуль 1321 соединения может быть выполнен так, что он имеет другую функцию передачи данных (сигнала) для аналогового разъема ввода/вывода и т.п.
Кроме того, модуль 1321 соединения может быть выполнен так, чтобы он включал в себя устройство, представляющее собой место назначения передачи данных (сигнал). Например, модуль 1321 соединения может быть выполнен так, чтобы он включал в себя привод (включающий в себя не только привод съемного носителя записи, но также и жесткого диска, твердотельный привод (SSD), сетевой присоединяемый накопитель (NAS) и т.п.), который считывает/записывает данные на/с носителя записи, такого как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство. Кроме того, модуль 1321 соединения может быть выполнен так, чтобы он включал в себя устройство вывода (монитор, громкоговоритель и т.п.) изображения или голоса.
Камера 1322 представляет собой модуль, который имеет функцию для получения данных изображения объекта путем формирования изображения этого объекта. Данные изображения, получаемые при обработке формирования изображений, выполняемых, например, камерой 1322, подают в видеопроцессор 1332 и кодируют.
Датчик 1323 представляет собой модуль, который имеет функцию произвольного датчика, такого, как датчик звука, ультразвуковой датчик, оптический датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик поворота, датчик угла, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, датчик магнитной идентификации, датчик удара или датчик температуры. Данные, детектируемые датчиком 1323, подают, например, в процессор 1331 приложения, и используются приложением и т.п.
Конфигурация, описанная выше, как модуль, может быть реализована, как процессор. И, наоборот, конфигурация, описанная выше, как процессор, может быть реализована, как модуль.
В видеосистеме 1300, имеющей описанную выше конфигурацию, как будет описано ниже, настоящая технология может применяться для видеопроцессора 1332. В соответствии с этим, видеосистема 1300 может быть выполнена, как набор, в котором применяется настоящая технология.
Пример конфигурации видеопроцессора
На фиг. 55 представлен пример схематичной конфигурации видеопроцессора 1332 (фиг. 54), в котором применяется настоящая технология.
В случае примера, представленного на фиг. 55, видеопроцессор 1332 имеет функцию приема входных сигналов, представляющих собой видеосигнал и аудиосигнал, и кодированный видеосигнал и аудиосигнал, в соответствии с заданной системой и функцией, для декодирования кодированных видеоданных и кодированных аудиоданных, и для воспроизведения и вывода видеосигнала и аудиосигнала.
Как представлено на фиг. 55, видеопроцессор 1332 включает в себя: модуль 1401 обработки входных видеоданных; первый модуль 1402 увеличения/уменьшения изображения; второй модуль 1403 увеличения/уменьшения изображения; модуль 1404 обработки выходных видеоданных; запоминающее устройство 1405 кадров; и модуль 1406 управления запоминающим устройством. Кроме того, видеопроцессор 1332 включает в себя: механизм 1407 кодирования/декодирования; буферы 1408А и 1408В элементарного потока (ES) видеоданных; и буферы 1409А и 1409В ES аудиоданных. Кроме того, видеопроцессор 1332 включает в себя: аудиокодер 1410; аудиодекодер 1411; модуль 1412 мультиплексирования (мультиплексор (MUX)); модуль 1413 демультиплексирования (демультиплексор (DMUX)); и буфер 1414 потока.
Модуль 1401 обработки входных видеоданных, например, получает видеосигнал, подаваемый из модуля 1321 соединения (фиг. 54) и т.п., и преобразует видеосигнал в данные цифрового изображения. Первый модуль 1402 увеличения/уменьшения изображения выполняет преобразование формата, обработку увеличения/уменьшения изображения и т.п. для данных изображения. Второй модуль 1403 увеличения/уменьшения изображения выполняет обработку увеличения/уменьшения изображения в соответствии с форматом места назначения вывода через модуль 1404 обработки вывода видеоданных, аналогично преобразованию формата в первом модуле 1402 увеличения/уменьшения изображения и обработки увеличения/уменьшения изображения, и т.п. для данных изображения. Модуль 1404 обработки вывода видеоданных выполняет преобразование формата, преобразование в аналоговый сигнал и т.п. для данных изображения и выводит остаточный сигнал, например, в модуль 1321 соединения и т.п., как воспроизведенный видеосигнал.
Запоминающее устройство 1405 кадров представляет собой запоминающее устройство для данных изображения, которое совместно используется модулем 1401 обработки входных видеоданных, первый модуль 1402 увеличения/уменьшения изображения, второй модуль 1403 увеличения/уменьшения изображения, модуль 1404 обработки вывода видеоданных и механизм 1407 кодирования/декодирования. Запоминающее устройство 1405 кадров, например, реализовано с помощью полупроводникового запоминающего устройства, такого как DRAM.
Модуль 1406 управления запоминающим устройством принимает сигнал синхронизации из механизма 1407 кодирования/декодирования и управляет доступом к запоминающему устройству 1405 кадров для записи/считывания, в соответствии с планом доступа, для доступа к запоминающему устройству 1405 кадров, который записан в таблице 1406А администрирования доступом. Таблицу 1406А администрирования доступом обновляют с помощью модуля 1406 управления запоминающим устройством, в соответствии с обработкой, выполняемой механизмом 1407 кодирования/декодирования первого модуля 1402 увеличения/уменьшения изображения, второго модуля 1403 увеличения/уменьшения изображения и т.п.
Механизм 1407 кодирования/декодирования выполняет обработку кодирования для данных изображения и обработку декодирования для видеопотока, который представляет собой данные, полученные в результате кодирования данных изображения. Например, механизм 1407 кодирования/декодирования кодирует данные изображения, считанные из запоминающего устройства 1405 кадров, и последовательно записывает данные изображения в буфер 1408A ES видеоданных, как видеопоток. Кроме того, например, механизм 1407 кодирования/декодирования последовательно считывает и декодирует видеопотоки, подаваемые из буфера 1408В ES видеоданных, и последовательно записывает декодированные видеопотоки в запоминающее устройство 1405 кадров, как данные изображения. Механизм 1407 кодирования/декодирования использует запоминающее устройство 1405 кадров в качестве рабочей области при такой обработке кодирования и декодирования. Кроме того, механизм 1407 кодирования/декодирования выводит сигнал синхронизации в модуль 1406 управления запоминающим устройством, например, в моменты времени, когда начинается обработка каждого макроблока.
Буфер 1408A ES видеоданных сохраняет в буфере видеопоток, генерируемый механизмом 1407 кодирования/декодирования, и подает размещенный в буфере видеопоток в модуль 1412 мультиплексирования (MUX). Буфер 1408В ES видеоданных размещает в буфере видеопоток, подаваемый из модуля 1413 демультиплексирования (DMUX), и подает размещенный в буфере видеопоток в механизм 1407 кодирования/декодирования.
Буфер 1409A ES аудиоданных размещает в буфере аудиопоток, сгенерированный аудиокодером 1410, и подает размещенный в буфере аудиопоток в модуль 1412 мультиплексирования (MUX). Буфер 1409В ES аудиоданных размещает в буфере аудиопоток, подаваемый из демультиплексора (DMUX) 1413, и подает размещенный в буфере аудиопоток в аудиодекодер 1411.
Аудиокодер 1410, например, преобразует аудиосигнал, например, подаваемый из модуля 1321 соединения и т.п., в цифровой сигнал, и кодирует преобразованный цифровой сигнал в соответствии с заданной системой, такой как аудиосистема MPEG или система Audio Code номер 3 (АС3). Аудиокодер 1410 последовательно записывает аудиопотоки, каждый из которых представляет собой данные, получаемые путем кодирования аудиосигнала, в буфер 1409A ES аудиоданных. Аудиодекодер 1411 декодирует аудиопоток, подаваемый из буфера 1409В ES аудиоданных и, например, выполняет преобразование в аналоговый сигнал и т.п. для декодируемого аудиопотока, и подает полученный в результате сигнал, например, в модуль 1321 соединения и т.п., как воспроизведенный аудиосигнал.
Модуль 1412 мультиплексирования (MUX) мультиплексирует видеопоток и аудиопоток. Способ такой обработки мультиплексирования (другими словами, формат потока битов, генерируемого при обработке мультиплексирования), является произвольным. Кроме того, при обработке мультиплексирования, модуль 1412 мультиплексирования (MUX) может добавлять заданную информацию заголовка и т.п. к потоку битов. Другими словами, модуль 1412 мультиплексирования (MUX) может преобразовать формат потока путем обработки мультиплексирования. Например, путем мультиплексирования видеопотока и аудиопотока модуль 1412 мультиплексирования (MUX) преобразует потоки в транспортный поток, который представляет собой поток битов в формате передачи. Кроме того, например, путем мультиплексирования видеопотока и аудиопотока, модуль 1412 мультиплексирования (MUX) преобразует потоки в данные (данные файла) формата файла записи.
Модуль 1413 демультиплексирования (DMUX) демультиплексирует поток битов, в котором мультиплексированы видеопоток и аудиопоток, используя способ, соответствующий обработке мультиплексирования, выполняемой модулем 1412 мультиплексирования (MUX). Другими словами, модуль 1413 демультиплексирования (DMUX) выделяет видеопоток и аудиопоток из потока битов, считываемого из буфера 1414 потока (отделяет видеопоток и аудиопоток друг от друга). Другими словами, модуль 1413 демультиплексирования (DMUX) может преобразовывать формат потока, используя обработку демультиплексирования (обработка, обратная выполняемой модулем 1412 мультиплексирования (MUX)). Например, модуль 1413 демультиплексирования (DMUX) получает поток транспортирования, подаваемый, например, из модуля 1321 соединения, широкополосного модема 1333 и т.п. через буфер 1414 потока, и демультиплексирует подаваемый поток транспортирования, преобразуя, таким образом, поток транспортирования в видеопоток и аудиопоток. Кроме того, например, модуль 1413 демультиплексирования (DMUX) получает данные файла, например, считываемые с различных носителей записи модуля 1321 соединения через буфер 1414 потока, и демультиплексирует полученные данные файла, преобразуя, таким образом, данные файла в видеопоток и аудиопоток.
Буфер 1414 потока помещает в буфер поток битов. Например, буфер 1414 потока размещает в буфере поток транспортирования, подаваемый из модуля 1412 мультиплексирования (MUX), и подает помещенный в буфер поток транспортирования, например, в модуль 1321 соединения, широкополосный модем 1333 и т.п. в заданные моменты времени или на основе запроса, поступающего из внешнего источника, и т.п.
Кроме того, например, буфер 1414 потока помещает в буфер данные файла, подаваемые из модуля 1412 мультиплексирования (MUX), и подает размещенные в буфере данные файла, например, в модуль 1321 соединения и т.п., в заданные моменты времени, по запросу, поступающему из внешнего источника и т.п., например, для записи на различные носители записи.
Кроме того, буфер 1414 потока размещает в буфере поток транспортирования, например, полученный из модуля 1321 соединения, широкополосного модема 1333 и т.п., и подает помещенный в буфер поток транспортирования в модуль 1413 демультиплексирования (DMUX) в заданные моменты времени или на основе запроса, поступающего из внешнего источника и т.п.
Кроме того, буфер 1414 потока размещает в буфере данные файла, считанные с различных носителей записи модулем 1321 соединения и т.п., и подает размещенные в буфере данные файла в модуль 1413 демультиплексирования (DMUX) в заданные моменты времени или по запросу, поступающему из внешнего источника и т.п.
Далее будет описан пример операции видеопроцессора 1332, имеющего такую конфигурацию. Например, видеосигнал, подаваемый из модуля 1321 соединения и т.п. в видеопроцессор 1332, преобразуют в цифровые данные изображения в заданной системе, такой как система 4:2:2 Y/Cb/Cr в модуле 1401 обработки входных видеоданных, и последовательно записанные в запоминающем устройстве 1405 кадров. Такие цифровые данные изображения считывают первым модулем 1402 увеличения/уменьшения изображения или вторым модулем 1403 увеличения/уменьшения изображения, выполняют преобразование формата в заданную систему, такую как система 4:2:0 Y/Cb/Cr и обработку увеличения/уменьшения для считываемых цифровых данных изображения, и полученные в результате цифровые данные изображения повторно записывают в запоминающее устройство 1405 кадров. Такие данные изображения кодируют с помощью механизма 1407 кодирования/декодирования и записывают в буфер 1408A ES видеоданных, как видеопоток.
Кроме того, аудиосигнал, подаваемый из модуля 1321 соединения и т.п. в видеопроцессор 1332, кодируют с помощью аудиокодера 1410 и записывают в буфер ES 1409А аудиоданных, как аудиопоток.
Видеопоток в буфере 1408A ES видеоданных и аудиопоток в буфере 1409A ES аудиоданных считывают и мультиплексируют с помощью модуля 1412 мультиплексирования (MUX), и преобразуют в поток транспортирования, данные файла и т.п. Поток транспортирования, генерируемый модулем 1412 мультиплексирования (MUX), компонуют в буфере, таком как буфер 1414 потока, и затем выводят во внешнюю сеть, например, через модуль 1321 соединения, широкополосный модем 1333 и т.п. Кроме того, данные файла, генерируемые модулем 1412 мультиплексирования (MUX), компонуют в буфере, таком как буфер 1414 потока, и затем выводят, например, в модуль 1321 соединения и т.п., и записывают на различные носители записи.
Кроме того, поток транспортирования, подаваемый в видеопроцессор 1332 из внешней сети, например, через модуль 1321 соединения, широкополосный модем 1333 и т.п. компонуют в буфере, таком как буфер 1414 потока, и затем демультиплексируют в модуле 1413 демультиплексирования (DMUX). Кроме того, данные файла, которые считывают с различных носителей записи и подают в видеопроцессор 1332, например, с помощью модуля 1321 соединения и т.п., помещают в буфере, таком как буфер 1414 потока и затем демультиплексируют с помощью модуля 1413 демультиплексирования (DMUX). Другими словами, поток транспортирования или данные файла, подаваемые в видеопроцессор 1332, разделяют на видеопоток и аудиопоток в модуле 1413 демультиплексирования (DMUX).
Аудиопоток подают в аудиодекодер 1411 через буфер 1409В ES аудиоданных и декодируют, и воспроизводят аудиосигнал. Кроме того, видеопоток записывают в буфер 1408В ES видеоданных и затем последовательно считывают и декодируют с помощью механизма 1407 кодирования/декодирования, и записывают в запоминающее устройство 1405 кадров. Декодированные данные изображения обрабатывают так, чтобы их увеличить или уменьшить с помощью второго модуля 1403 увеличения/уменьшения изображения, и записывают в запоминающее устройство 1405 кадров. Затем декодированные данные изображения считывают в модуле 1404 обработки выходных видеоданных, преобразуют в другой формат, в соответствии с заданной системой, такой как система 4:2:2 Y/Cb/Cr и т.п., и дополнительно преобразуют в аналоговый сигнал, и видеосигнал воспроизводят и выводят.
В случае, когда настоящая технология применяется в видеопроцессоре 1332, сконфигурированном таким образом, настоящая технология, относящаяся к каждому варианту осуществления, описанному выше, может применяться в механизме 1407 кодирования/декодирования. Другими словами, например, механизм 1407 кодирования/декодирования может быть сконфигурирован так, чтобы он имел функции устройства 100 кодирования изображения и устройства 200 декодирования изображения, относящиеся к варианту осуществления, описанному выше. В результате использования таковой конфигурации, видеопроцессор 1332 может иметь такие же преимущества, как и преимущества, описанные выше со ссылкой на фиг. 1-39.
Кроме того, в механизме 1407 кодирования/декодирования, настоящая технология (другими словами, функции устройства кодирования изображения и устройства декодирования изображения, в соответствии с каждым вариантом осуществления, описанным выше) может быть реализована с помощью аппаратных средств, таких как логические схемы или программное обеспечение, такое как встроенная программа, или могут быть реализованы с использованием, как аппаратных, так и программных средств.
Другой пример конфигурации видеопроцессора
На фиг. 56 иллюстрируются другие примеры схематичной конфигурации видеопроцессора 1332, в котором применяется настоящая технология. В случае примера, представленного на фиг. 56, видеопроцессор 1332 имеет функцию для кодирования и декодирования видеоданных, в соответствии с заданной системой.
Более конкретно, как показано на фиг. 56, видеопроцессор 1332 включает в себя: модуль 1511 управления; интерфейс 1512 дисплея; механизм 1513 дисплея; механизм 1514 обработки изображений; и внутреннее запоминающее устройство 1515. Кроме того, видеопроцессор 1332 включает в себя: механизм 1516 кодека; интерфейс 1517 запоминающего устройства; модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX); сетевой интерфейс 1519; и видеоинтерфейс 1520.
Модуль 1511 управления управляет операциями каждого модуля обработки, размещенного внутри видеопроцессора 1332, такого как интерфейс 1512 дисплея, механизм 1513 дисплея, механизм 1514 обработки изображений и механизм 1516 кодека.
Как представлено на фиг. 56, модуль 1511 управления, например, включает в себя основное CPU 1531, вспомогательное CPU 1532 и системный контроллер 1533. Основное CPU 1531 исполняет программу, используемую для управления операцией каждого модуля обработки, размещенного внутри видеопроцессора 1332 и т.п. Основное CPU 1531 генерирует сигнал управления в соответствии с программой и т.п., и подает сигнал управления в каждый модуль обработки (другими словами, управляет операцией каждого модуля обработки). Вспомогательное CPU 1532 выполняет вспомогательную роль основного CPU 1531. Например, вспомогательное CPU 1532 выполняет дочернюю обработку, подпрограмму и т.п. для программы, исполняемой основным CPU 1531. Системный контроллер 1533 управляет операциями основного CPU 1531 и вспомогательного CPU 1532, выполняя назначение программ для исполнения основным CPU 1531 и вспомогательным CPU 1532 и т.п.
Интерфейс 1512 дисплея выводит данные изображения, например, в модуль 1321 соединения и т.п. под управлением модуля 1511 управления. Например, интерфейс 1512 дисплея преобразует данные изображения, которые представляют собой цифровые данные, в аналоговый сигнал, и выводит аналоговый сигнал, как воспроизводимый видеосигнал или данные изображения, которые представляют собой цифровые данные, в устройство монитора модуля 1321 соединения и т.п.
Механизм 1513 дисплея, под управлением модуля 1511 управления, выполняет различную обработку преобразования, такую как преобразование формата, преобразование размера и преобразование цветовой гаммы для данных изображения, с тем, чтобы они соответствовали спецификации аппаратных средств устройства монитора, отображающего изображение, и т.п.
Механизм 1514 обработки изображений выполняет заданную обработку изображений, такую как обработка фильтра, используемая для улучшения качества изображения и т.п., для данных изображения под управлением модуля 1511 управления.
Внутреннее запоминающее устройство 1515 представляет собой запоминающее устройство, которое совместно используется механизмом 1513 дисплея, механизмом 1514 обработки изображений и механизмом 1516 кодека, и скомпоновано внутри видеопроцессора 1332. Внутреннее запоминающее устройство 1515, например, используется для передачи данных между механизмом 1513 дисплея, механизмом 1514 обработки изображений и механизмом 1516 кодека. Например, во внутреннем запоминающем устройстве 1515 сохраняют данные, подаваемые из механизма 1513 дисплея, механизма 1514 обработки изображений или механизма 1516 кодека, и подает данные в механизм 1513 дисплея, механизм 1514 обработки изображений или механизм 1516 кодека, в соответствии с необходимостью (например, в соответствии с запросом). Такое внутреннее запоминающее устройство 1515 может быть реализовано путем использования любого вида запоминающего устройства. Однако обычно, внутреннее запоминающее устройство часто используется для записи данных, имеющих малый объем, таких как данные изображения в единицах блоков и параметры, и, в соответствии с этим, предпочтительно реализовать внутреннее запоминающее устройство, используя полупроводниковое запоминающее устройство, имеющее относительно малую емкость (по сравнению с внешним запоминающим устройством 1312) и имеющее высокую скорость отклика, такое как статическое оперативное запоминающее устройство (SRAM).
Механизм 1516 кодека выполняет обработку, относящуюся к кодированию и декодированию данных изображения. Система кодирования/декодирования, которой соответствует механизм 1516 кодека, является произвольной, и количество систем кодирования/декодирования может быть одним или может использоваться их множество. Например, может быть принята такая конфигурация, что механизм 1516 кодека может иметь функцию кодека для множества систем кодирования/декодирования, и может быть сконфигурирован для выполнения кодирования данных изображения или декодирования кодированных данных, используя выбранную одну из систем кодирования/декодирования.
В примере, показанном на фиг. 56, механизм 1516 кодека, например, включает в себя MPEG 2 Video 1541, AVC/H.264 1542, HEVC/H.265 1543, HEVC/H.265 (Масштабируемый) 1544, HEVC/H.265 (Многообзорный) 1545, и MPEG-DASH 1551, как функциональные блоки для обработки, относящейся к кодеку.
MPEG 2 Video 1541 представляет собой функциональный блок, который кодирует или декодирует данные изображения в соответствии с системой MPEG 2. AVC/H.264 1542 представляет собой функциональный блок, который кодирует или декодирует данные изображения в соответствии с система AVC. 1543 HEVC/H.265 представляет собой функциональный блок, который кодирует или декодирует данные изображения в соответствии с системой HEVC. HEVC/H.265 (Масштабируемый) 1544 представляет собой функциональный блок, который выполняет масштабируемое кодирование или масштабируемое декодирование данных изображения в соответствии с системой HEVC. HEVC/H. 265. (Многообзорный) 1545 представляет собой функциональный блок, который выполняет многообзорное кодирование или многообзорное декодирование данных изображения в соответствии с системой HEVC.
MPEG-DASH 1551 представляет собой функциональный блок, который передает и принимает данные изображения в соответствии с системой динамической адаптивной потоковой передачи MPEG по HTTP (MPEG-DASH). MPEG-DASH представляет собой технологию для выполнения потоковой передачи видеоданных, используя протокол передачи гипертекста (HTTP), и одно из ее свойств состоит в том, что соответствующие кодированные данные среди множества частей кодированных данных, имеющих взаимно разные разрешения и т.п., которые подготовлены заранее, выбирают и передают в единицах сегментов. MPEG-DASH 1551 выполняет генерирование потока, который соответствует стандарту, передачу управления потоком и т.п., и использует MPEG 2 Video 1541 для HEVC/H.265 (Многообзорный) 1545, описанный выше для кодирования и декодирования данных изображения.
Интерфейс 1517 запоминающего устройства представляет собой интерфейс для внешнего запоминающего устройства 1312. Данные, подаваемые из механизма 1514 обработки изображений или механизма 1516 кодека, поступают во внешнее запоминающее устройство 1312 через интерфейс 1517 запоминающего устройства. Кроме того, данные, считываемые из внешнего запоминающего устройства 1312, подают в видеопроцессор 1332 (механизм 1514 обработки изображений или механизм 1516 кодека) через интерфейс 1517 запоминающего устройства.
Модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) выполняет мультиплексирование и демультиплексирование различного рода данных, относящихся к изображению, такому как поток битов кодированных данных, данные изображения и видеосигнал. Способ мультиплексирования/демультиплексирования является произвольным. Например, во время выполнения мультиплексирования, модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) может не только размещать множество частей данных в одни данные, но также и добавлять заданную информацию заголовка и т.п. к данным. Кроме того, во время выполнения демультиплексирования, модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) может не только разделять одну часть данных на множество частей, но также добавлять заданную информацию заголовка и т.п. к каждой разделенной части данных. Другими словами, модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) может преобразовывать формат данных, используя обработку мультиплексирования/демультиплексирования. Например, модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) может преобразовывать поток битов в поток транспортирования, который представляет собой поток битов в формате передачи данных или данные (данные файла) в формате файлов записи путем мультиплексирования потока битов. Очевидно, что его обратное преобразование может быть выполнено при обработке демультиплексирования.
Сетевой интерфейс 1519 представляет собой интерфейс, например, предназначенный для широкополосного модема 1333, модуля 1321 соединения и т.п. Видеоинтерфейс 1520 представляет собой интерфейс, например, предназначенный для модуля 1321 соединения, камеры 1322 и т.п.
Далее будет описан пример операции такого видеопроцессора 1332. Например, когда принимают поток транспортирования из внешней сети через модуль 1321 соединения, широкополосный модем 1333 и т.п., поток транспортирования подают в модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) через сетевой интерфейс 1519, демультиплексируют и декодируют с помощью механизма 1516 кодека. Для данных изображения, полученных при обработке декодирования, выполняемой механизмом 1516 кодека, выполняют заданную обработку изображений, например, с помощью механизма 1514 обработки изображений, и выполняют заданное преобразование с помощью механизма 1513 дисплея. Затем полученные в результате данные изображения подают, например, в модуль 1321 соединения и т.п. через интерфейс 1512 дисплея, и его изображение отображают на мониторе. Кроме того, данные изображения, например, полученные в результате обработки декодирования, выполняемой механизмом 1516 кодека, повторно кодируют с помощью механизма 1516 кодека, мультиплексируют с помощью модуля 1518 мультиплексирования/демультиплексирования (MUX DMUX), преобразуют в данные файла, выводят, например, в модуль 1321 соединения и т.п. через видеоинтерфейс 1520 и записывают на различные носители записи.
Кроме того, данные файла кодированных данных, полученные путем кодирования данных изображения, которые считывают с носителя записи, который не показан, например, с помощью модуля 1321 соединения и т.п., подают в модуль 1518 мультиплексирования/демультиплексирования (MUX DMUX) через видеоинтерфейс 1520, демультиплексируют и декодируют с помощью механизма 1516 кодека. Для данных изображения, полученных в результате обработки декодирования, выполняемой механизмом 1516 кодека, выполняют заданную обработку изображений с помощью механизма 1514 обработки изображений и выполняют заданное преобразование с помощью механизма 1513 дисплея. Затем полученные в результате данные изображения подают, например, в модуль 1321 соединения и т.п. через интерфейс 1512 дисплея, и их изображение отображают на мониторе. Кроме того, данные изображения, например, полученные при обработке декодирования, выполняемой механизмом 1516 кодека, записывают с помощью механизма 1516 кодека, мультиплексируют с помощью модуля 1518 мультиплексирования/демультиплексирования (MUX DMUX), преобразуют в поток транспортирования, подают, например, в модуль 1321 соединения, широкополосный модем 1333 и т.п. через сетевой интерфейс 1519 и передают в другое устройство, которое не показано.
Здесь выполняют передачу/прием данных изображения и других данных, например, между каждым модулем обработки, размещенным внутри видеопроцессора 1332, используя внутреннее запоминающее устройство 1515 или внешнее запоминающее устройство 1312. Кроме того, модуль 1313 администрирования питанием, например, управляет подачей питания в модуль 1511 управления.
В случае, когда настоящая технология применяется в видеопроцессоре 1332, сконфигурированном таким образом, настоящая технология, в соответствии с каждым вариантом осуществления, описанным выше, может применяться в механизме 1516 кодека. Другими словами, например, механизм 1516 кодека может быть сконфигурирован так, чтобы он включал в себя функциональные блоки, реализующие устройство 100 кодирования изображения, и устройство 200 декодирования изображения, в соответствии с описанным выше вариантом осуществления. В результате использования такой конфигурации, видеопроцессор 1332 может получать преимущества, аналогичные преимуществам, описанным выше со ссылкой на фиг. 1-39.
Кроме того, в механизме 1516 кодека настоящая технология (другими словами, функции устройства кодирования изображения и устройства декодирования изображения, в соответствии с каждым вариантом осуществления, описанным выше) может быть реализована, используя аппаратные средства, такие как логические схемы или программное обеспечение, такое как встроенная программа, или может быть реализована, используя, как аппаратные средства, так и программное обеспечение.
В то время, как два примера конфигурации видеопроцессора 1332 были описаны, как представлено выше, конфигурация видеопроцессора 1332 является произвольной и может представлять собой другую конфигурацию, чем в двух примерах, описанных выше. Здесь видеопроцессор 1332 может быть сконфигурирован, либо как одна полупроводниковая микросхема, или как множество полупроводниковых микросхем. Например, видеопроцессор может быть сконфигурирован, как трехмерная многослойная LSI. Кроме того, видеопроцессор может быть реализован, используя множество LSI.
Пример применения устройства
Видеонабор 1300 может быть встроен в различные устройства, которые обрабатывает данные изображения. Например, видеонабор 1300 может быть встроен в телевизионное устройство 900 (фиг. 50), мобильный телефон 920 (фиг. 51), устройство 940 записи/воспроизведения (фиг. 52), устройство 960 формирования изображения (фиг. 53) и т.п. В результате встраивания видеонабора 1300 в них, устройство может получать преимущества, аналогичные описанным выше со ссылкой на фиг. 1-39.
Кроме того, хотя конфигурация представляет собой часть каждой из конфигураций видеонабора 1300, описанных выше, в случае, когда конфигурация включает в себя видеопроцессор 1332, конфигурация может быть выполнена, как конфигурация, в которой применяется настоящая технология. Например, только видеопроцессор 1332 может быть выполнен, как видеопроцессор, в котором применяется настоящая технология. Кроме того, например, как описано выше, процессор, обозначенный пунктирной линией 1341, видеомодуль 1311 и т.п. могут быть выполнены как процессор, модуль и т.п., в котором применяется настоящая технология. Кроме того, например, видеомодуль 1311, внешнее запоминающее устройство 1312, модуль 1313 администрирования питанием и модуль 1314 предварительной обработки могут быть скомбинированы так, чтобы они были выполнены, как видеомодуль 1361, в котором применяется настоящая технология. В соответствии с любой из конфигураций, могут быть получены преимущества, аналогичные описанным выше со ссылкой на фиг. 1-39.
Другими словами, любая конфигурация, включающая в себя видеопроцессор 1332, как и в случае видеонабора 1300, может быть встроена в различные устройства, обрабатывающие данные изображения. Например, видеопроцессор 1332, процессор, представленный пунктирной линией 1341, видеомодуль 1311 или видеомодуль 1361 могут быть встроены в телевизионное устройство 900 (фиг. 50), мобильный телефон 920 (фиг. 51), устройство 940 записи/воспроизведения (фиг. 52), устройство 960 формирования изображения (фиг. 53) и т.п. Затем, путем встраивания любой конфигурации, в которой применяется настоящая технология, в устройство, в устройстве, аналогично случаю видеонабора 1300, могут проявиться эффекты, аналогичные эффектам, описанным выше со ссылкой на фиг. 1-39.
В данном описании был описан пример, в котором различного рода информация мультиплексирована в кодированном потоке, и которую передают со стороны кодирования на сторону декодирования. Однако технология для передачи такой информации не ограничена такой технологией. Например, такая информация может быть передана или может быть записана, как индивидуальные данные, ассоциированные с кодированным потоком битов, без мультиплексирования в кодированном потоке. Здесь термин "ассоциированный" представляет, что изображение (оно может представлять собой часть изображения, такую как срез, блок и т.п.), включенное в поток битов, и информацию, соответствующую изображению, получают, так, что они соединены друг с другом во время декодирования изображения и информации. Другими словами, информация может быть передана по другой линии передачи, чем изображения (или поток битов). Кроме того, информация может быть записана на другом носителе записи, чем используется для изображения (или потока битов) (или в другой области записи того же носителя записи). Кроме того, информация и изображение (или поток битов), например, могут быть ассоциированы друг с другом в единицах произвольных частей, таких как множество кадров, один кадр или часть кадра.
Настоящая технология может принимать конфигурацию, описанную ниже.
(1) Устройство обработки изображений, включающее в себя: модуль остаточного прогнозирования, который выполняет прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда прогнозирование выполняется среди компонентов для остаточных данных между входным изображением, сконфигурированным из множества компонентов, и прогнозируемым изображением; и модуль кодирования, который кодирует прогнозированные остаточные данные, сгенерированные в ходе прогнозирования, выполняемом модулем остаточного прогнозирования.
(2) Устройство обработки изображений, описанное в любом из (1) и (3)-(9), в котором модуль остаточного прогнозирования компонует значения глубины битов остаточных данных, так, чтобы они были однородными, используя сдвиг битов.
(3) Устройство обработки изображений, описанное в любом из (1), (2), и (4)-(9), в котором модуль остаточного прогнозирования прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда разность между значениями глубины битов двух компонентов, для которых выполняется прогнозирование, не равна нулю.
(4) Устройство обработки изображений, описанное в любом из (1)-(3) и (5)-(9), в котором модуль остаточного прогнозирования выполняет прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда разность между значениями глубины битов является положительной, и может пропускать прогнозирование в случае, когда разность между значениями глубины битов является отрицательной.
(5) Устройство обработки изображений, описанное в любом из (1)-(4) и (6)-(9), в котором модуль остаточного прогнозирования выполняет прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда цветовое пространство входного изображения не является пространством RGB, и может пропускать прогнозирование в случае, когда цветовое пространство входного изображения представляет собой пространство RGB.
(6) Устройство обработки изображений, описанное в любом из (1)-(5) и (7)-(9), в котором цветовое пространство входного изображения представляет собой пространство YUV, и модуль остаточного прогнозирования выполняет прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными, используя сдвиг битов между компонентом яркости и цветоразностным компонентом.
(7) Устройство обработки изображений, описанное в любом из (1)-(6), (8) и (9), в котором цветовое пространство входного изображения представляет собой пространство RGB, и модуль остаточного прогнозирования выполняет прогнозирование, используя значения глубины битов остаточных данных, скомпонованных так, чтобы они были однородными, используя сдвиг битов между компонентом G и компонентом R или компонентом В.
(8) Устройство обработки изображений, описанное в любом из (1)-(7) и (9), в котором модуль остаточного прогнозирования выполняет прогнозирование путем получения разности между значениями глубины битов двух компонентов, для которых выполняется прогнозирование, выполняя сдвиг битов остаточных данных одного компонента из двух компонентов, который соответствует разности между значениями глубины битов, умножая остаточные данные со сдвигом битов на заданный весовой коэффициент, выполняя сдвиг битов результата умножения, который соответствует заданному количеству битов, и получая разность между остаточными данными другого компонента и результатом сдвига битов при умножении.
(9) Устройство обработки изображений, описанное в любом из (1)-(8), в котором модуль остаточного прогнозирования устанавливает весовой коэффициент, который является общим для множества компонентов.
(10) Способ обработки изображений, включая в себя: выполняют прогнозирование со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными среди компонентов, когда прогнозирование выполняют среди компонентов для остаточных данных между входным изображением, сконфигурированным из множества компонентов, и прогнозируемым изображением; и кодируют прогнозированные остаточные данных, сгенерированные путем прогнозирования.
(11) Устройство обработки изображений, включающее в себя: модуль декодирования, который декодирует кодированные данные, в которых кодированы прогнозированные остаточные данные, которые представляют собой результат прогнозирования остаточных данных между изображением, сконфигурированным множеством компонентов и его прогнозируемым изображением среди компонентов; и модуль остаточного восстановления, который выполняет восстановление значений глубины битов остаточных данных, скомпонованных так, чтобы они были однородными среди компонентов, когда восстановление остаточных данных выполняют, используя прогнозируемые остаточные данные, полученные модулем декодирования, путем декодирования кодированных данных.
(12) Устройство обработки изображений, описанное в любом из (11) и (13)-(19), в котором модуль остаточного восстановления компонует значения глубины битов остаточных данных так, чтобы они были однородными, используя сдвиг битов.
(13) Устройство обработки изображений, описанное в любом из (11), (12), и (14)-(19), дополнительно включающее в себя модуль приема, который принимает информацию, относящуюся к значениям глубины битов, в котором модуль остаточного восстановления размещает значения глубины битов остаточных данных так, чтобы они были однородными, путем получения разности между значениями глубины битов двух компонентов, для которых выполняют прогнозирование, на основе информации, относящейся к значениям глубины битов, принятым модулем приема, и выполнения сдвига битов на основе полученной разности между значениями глубины битов.
(14) Устройство обработки изображений, описанное в любом из (11)-(13) и (14)-(19), в котором, в случае, когда полученная разность между значениями глубины битов не равна нулю, модуль остаточного восстановления компонует значения глубины битов остаточных данных так, чтобы они были однородными, используя сдвиг битов.
(15) Устройство обработки изображений, описанное в любом из (11)-(14) и (15)-(19), в котором модуль остаточного восстановления выполняет восстановление значений глубины битов остаточных данных, скомпонованных так, чтобы они были однородными, используя сдвиг битов в случае, когда полученная разность между значениями глубины битов является положительной, и пропускает восстановление в случае, когда разность между значениями глубины битов отрицательная.
(16) Устройство обработки изображений, описанное в любом из (11)-(15) и (17)-(19), в котором модуль приема дополнительно принимает информацию, относящуюся к цветовому пространству изображения, и модуль остаточного восстановления выполняет восстановление, используя значения глубины битов остаточных данных, скомпонованных так, чтобы они были однородными среди компонентов, используя сдвиг битов в случае, когда цветовое пространство изображения не является пространством RGB, на основе информации, относящейся к цветовому пространству изображения, принятого модулем приема, и пропускает восстановление в случае, когда цветовое пространство изображения представляет собой пространство RGB.
(17) Устройство обработки изображений, описанное в любом из (11)-(16), (18) и (19), в котором цветовое пространство изображения представляет собой пространство YUV, и модуль остаточного восстановления выполняет восстановление со значениями глубины битов остаточных данных, скомпонованными так, чтобы они были однородными между компонентом яркости и цветоразностным компонентом, используя сдвиг битов.
(18) Устройство обработки изображений, описанное в любом из (11)-(17) и (19), в котором цветовое пространство изображения представляет собой пространство RGB, и модуль остаточного восстановления выполняет восстановление со значениями глубины битов остаточных данных, скомпонованных так, чтобы они были однородными, используя сдвиг битов между компонентом G и компонентом R или компонентом В.
(19) Устройство обработки изображений, описанное в любом из (11)-(18), в котором модуль остаточного восстановления путем получения разности между значениями глубины битов двух компонентов, для которых выполняется восстановление, выполняя сдвиг битов восстановленных остаточных данных одного компонента из двух компонентов, который соответствует разности между значениями глубины битов, умножая остаточные данные после сдвига битов на заданный весовой коэффициент, выполняя сдвиг битов результата умножения, который соответствует заданному количеству битов, и суммируя результат умножения со сдвигом битов и прогнозируемые остаточные данных, выполняет восстановление остаточных данных другого компонента.
(20) Способ обработки изображений, включающий в себя: декодируют кодированные данные, в которых кодированы прогнозируемые остаточные данные, которые представляют собой результат прогнозирования остаточных данных между изображением, сконфигурированным из множества компонентов, и его прогнозируемым изображением среди компонентов; и выполняют восстановление со значениями глубины битов остаточных данных, скомпонованных так, чтобы они были однородными среди компонентов, когда восстановление остаточных данных выполняют, используя прогнозированные остаточные данные, полученные путем декодирования кодированных данных.
Список номеров ссылочных позиций
100 Устройство кодирования изображения
121 Модуль обработки заголовка
122 Модуль остаточного прогнозирования
123 Модуль остаточного восстановления
131 Модуль обработки SPS
132 Модуль обработки PPS
141 Модуль управления
142 Модуль прогнозирования
151 Модуль расчета разности значений глубины битов
152 Модуль управления сдвигом битов
153 Модуль установки весового коэффициента
161 Модуль выбора
162 Модуль сдвига вправо
163 Модуль сдвига влево
164 Модуль умножения на весовой коэффициент
165 Модуль сдвига вправо
166 и 167 Модуль расчета
200 Модуль декодирования изображения
221 Модуль получения заголовка
222 Модуль остаточного восстановления
231 Модуль получения SPS
232 Модуль получения PPS
233 Модуль получения весового коэффициента
241 Модуль управления
242 Модуль восстановления
251 Модуль расчета разности значений глубины битов
252 Модуль управления сдвигом битов
261 Модуль выбора
262 Модуль сдвига вправо
263 Модуль сдвига влево
264 Модуль умножения на весовой коэффициент
265 Модуль сдвига вправо
266 и 267 Модуль расчетов
311 Модуль управления
312 Модуль прогнозирования
321 Модуль расчета разности значений глубины битов
322 Модуль управления сдвигом битов
351 Модуль управления
352 Модуль восстановления
361 Модуль расчета разности значений глубины битов
362 Модуль управления сдвигом битов
411 Модуль управления
412 Модуль прогнозирования
421 Модуль расчета разности значений глубины битов
422 Модуль управления сдвигом битов
451 Модуль управления
452 Модуль восстановления
461 Модуль расчета разности значений глубины битов
462 Модуль управления сдвигом битов
501 Модуль обработки VUI
511 Модуль управления
512 Модуль прогнозирования
521 Модуль расчета разности значений глубины битов
522 Модуль управления сдвигом битов
523 Модуль определения цветового пространства
541 Модуль получения VUI
551 Модуль управления
561 Модуль расчета разности значений глубины битов
562 Модуль управления сдвигом битов
563 Модуль определения цветового пространства.