СПОСОБ КОДИРОВАНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ, ПРОГРАММА И ИНТЕГРАЛЬНАЯ СХЕМА
ENCODING METHOD, DECODING METHOD, ENCODING DEVICE, DECODING DEVICE, PROGRAM AND INTEGRATED CIRCUIT

Область техники, к которой относится изобретение
Настоящее изобретение может использоваться в качестве любого из способа кодирования и декодирования мультимедийных данных, а более конкретно в качестве способа кодирования и декодирования многовидового видео по стандарту H.264/MPEG-4 AVC.
Уровень техники
Трехмерное видео применяется повсеместно в течение продолжительного времени. Предусмотрено несколько способов формирования трехмерных визуальных эффектов для зрителя. Один из способов заключается в том, чтобы представлять два набора движущихся изображений отдельно для левого и правого глаза зрителя. Это называется стереоскопическим формированием изображений, которое заключает в себе захват двух наборов движущихся изображений с использованием двух камер. Одна из технологий, используемых ранее для того, чтобы представлять стереоскопическое видео, состоит в использовании фильтрации цветовых компонентов, которые каждый глаз может только просматривать. Такие технологии уменьшают разрешение изображения, которое достигает каждого глаза.
В последнее время, с развитием технологий изготовления дисплеев, зрители теперь могут просматривать видео с полным разрешением каждым глазом. Видеостандарт кодирования многовидового видео согласно H.264/MPEG-4 AVC (MVC) предназначен для сжатия таких трехмерных изображений, в которых каждый вид представляется при полном разрешении.
Видеостандарт кодирования многовидового видео согласно H.264/MPEG-4 AVC (MVC) предоставляет набор инструментальных средств сжатия, которые дают возможность эффективного сжатия движущихся изображений, предназначенных для более чем одного набора видов. Видеостандарт MVC дает возможность сжатия изображений с использованием прогнозирующего кодирования из восстановленных изображений различного набора видов. Это "межвидовое" прогнозирование использует корреляцию изображений, захватываемых посредством различных камер приблизительно в одно время, чтобы эффективно сжимать изображения.
В видеостандарте MVC "межвидовое" прогнозирование выполняется только для изображений различных видов, имеющих идентичную информацию номеров в последовательности изображений. Информация номеров в последовательности изображений используется для того, чтобы указывать порядок восстановленных изображений идентичного вида. В видеостандарте MVC изображения (или компоненты видов, как задано в стандарте MVC) различных видов, имеющих идентичную информацию номеров в последовательности изображений, группируются как контейнер, называемый единицей доступа, причем размер этих единиц доступа ограничен посредством пределов, заданных посредством буферной модели, указанной в видеостандарте. Такие ограничения необходимы для того, чтобы обеспечивать корректное декодирование сжатого видео. Компонент вида, как задано в стандарте MVC, а также в описании, является кодированным представлением вида в отдельной единице доступа. Одним примером вида является изображение.
Основной профиль H.264/MPEG-4 AVC широко используется в различных вариантах применения, таких как носители хранения данных высокой четкости и цифровая широковещательная передача видео высокой четкости. Многовидовой основной профиль, заданный в видеостандарте MVC, спроектирован как расширение основного профиля H.264/MPEG-4 AVC, при этом существующая реализация декодеров основного профиля H.264/MPEG-4 AVC может легко модифицироваться, чтобы поддерживать декодирование потоков сжатого видео, с использованием многовидового основного профиля. В определенной реализации стандарта MVC декодирование каждого вида может осуществляться независимо посредством использования реализованных декодеров согласно H.264/MPEG-4 AVC.
Сущность изобретения
Видеосодержимое может захватываться посредством камеры с построчным сканированием или чересстрочным сканированием. В случае, когда видео захватывается с использованием камеры с чересстрочным сканированием, основной профиль H.264/MPEG-4 AVC предоставляет набор инструментальных средств кодирования, предназначенных специально для того, чтобы обрабатывать захваченные с чересстрочным сканированием движущиеся изображения. Каждое изображение может кодироваться как кадр или поля, как показано на фиг.1A и 1B. Фиг.1A показывает местоположения дискретизации пикселов кадрового изображения, включающего в себя два из чересстрочно сканированных полей. Фиг.1B показывает местоположения дискретизации пикселов полевых изображений, где каждое чересстрочно сканированное поле кодируется как полевое изображение. В случае, когда два комплементарных поля кодируются как кадр, как показано на фиг.1A, кадр имеет два номера в последовательности изображений, чтобы представлять порядок каждого поля.
Одна проблема предшествующего уровня техники (стандарт кодирования многовидового видео) состоит в задании контейнера или единицы доступа, когда каждое из изображений (или компонентов видов, как задано в стандарте MVC) различных видов кодируется по-разному с помощью кадрового кодирования или полевого кодирования. Фиг.2 показывает пример единиц доступа с различными структурами кодирования изображений для каждого вида. Как показано на фиг.2, контейнер A единиц доступа, как показано в модуле 200, содержит одно кадровое изображение вида 2 и одно полевое изображение вида 1, тогда как контейнер B единиц доступа, как показано в модуле 202, содержит только одно полевое изображение вида 1. Это уменьшает эффективность сжатия, поскольку кадровое изображение вида 2 в единице доступа A не может полностью использовать межвидовое прогнозирование из вида 1.
Проблема состоит в том, что каждый контейнер единиц доступа не всегда содержит все изображения (или компоненты видов) различных видов. Таким образом, невозможно ограничивать размер каждой единицы доступа посредством пределов, заданных посредством буферной модели, указанной в видеостандарте, чтобы обеспечивать надлежащее декодирование сжатого видео.
Другая проблема предшествующего уровня техники (стандарт кодирования многовидового видео) состоит в наборе ограничений, чтобы ограничивать размер контейнера единиц доступа, который содержит изображения (или компоненты видов, как задано в стандарте MVC) нескольких видов. Даже когда максимальный размер единицы доступа ограничен, максимальный размер каждого изображения (или компонентов видов, как задано в стандарте MVC) каждого вида в рамках контейнера единиц доступа не ограничен. Это будет создавать проблемы для определенной реализации MVC-декодера, в которой каждый вид декодируется посредством отдельного декодера согласно H.264/MPEG-4 AVC.
Ограничения, заданные для того, чтобы ограничивать максимальный размер единицы доступа, не обеспечивают надлежащее декодирование каждого компонента вида в рамках единицы доступа, когда каждый вид отдельно декодируется посредством независимого декодера. Такие ограничения включают в себя максимальное число серий последовательных макроблоков и размер каждого изображения (или компонент вида, как задано в стандарте MVC) в рамках единицы доступа.
Настоящее изобретение задумано в связи с вышеизложенным и имеет цель предоставления (i) способа кодирования и (ii) способа декодирования для повышения эффективности кодирования группы изображений, имеющей различные виды, а также (iii) устройства кодирования, (iv) устройства декодирования, (v) программы и (vi) интегральной схемы для реализации способа кодирования и способа декодирования.
Способ кодирования согласно аспекту настоящего изобретения - это способ кодирования для кодирования первой группы изображений и второй группы изображений, которые чередуются и захватываются в различных точках наблюдения, и способ кодирования включает в себя задание единицы доступа, включающей в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу; и кодирование каждого из изображений, включенных в единицу доступа, для каждой единицы доступа, в том числе единицы доступа, заданной при задании, при этом задание включает в себя определение единицы кодирования для определения того, должны ли изображения, включенные в единицу доступа, равномерно кодироваться на пополевой основе или на покадровой основе; и определение типа поля для определения того, должны ли изображения равномерно кодироваться как верхние поля или нижние поля, когда определяется при определении единицы кодирования, что изображения, включенные в единицу доступа, должны кодироваться на пополевой основе, и при кодировании каждое из изображений кодируется для каждой единицы доступа в формате, определенном при определении единицы кодирования и при определении типа поля.
Согласно способу, поскольку формат (поле/кадр, верхнее/нижнее) всех изображений, включенных в одну единицу доступа, является унифицированным, эффективность кодирования повышается, когда выполняется межвидовое кодирование.
Кроме того, при определении единицы кодирования значение, указывающее то, предусмотрено изображение на пополевой основе или на покадровой основе, может быть задано равным опорному значению field_pic_flag, при определении типа поля, значение, указывающее то, является изображение верхним полем или нижним полем, может быть задано равным опорному значению bottom_field_flag, и при кодировании: изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу, могут получаться на основе значений, заданных в опорном значении field_pic_flag и опорном значении bottom_field_flag; опорное значение field_pic_flag может быть задано равным field_pic_flag, включенному в заголовок серии последовательных макроблоков каждого из полученных изображений; и опорное значение bottom_field_flag может быть задано равным bottom_field_flag, включенному в заголовок серии последовательных макроблоков, когда значение, указывающее то, что изображение предусмотрено на пополевой основе, задано равным опорному значению field_pic_flag.
Кроме того, кодирование может включать в себя кодирование изображения первой группы изображений с использованием прогнозного изображения, сформированного из изображения первой группы изображений; и кодирование изображения второй группы изображений с использованием одного из (i) прогнозного изображения, сформированного из изображения второй группы изображений, и (ii) прогнозного изображения, сформированного из изображения первой группы изображений, в рамках единицы доступа, включающей в себя изображение второй группы изображений. Поскольку формат всех изображений, включенных в одну единицу доступа, является унифицированным, эффективность кодирования повышается, когда межвидовое прогнозирующее кодирование выполняется при кодировании изображения второй группы изображений.
Способ кодирования дополнительно может включать в себя проверку соответствия процессов кодирования при кодировании, при этом проверка может включать в себя вычисление максимального числа серий последовательных макроблоков для каждого из изображений, включенных в единицу доступа; вычисление максимального числа байтов для каждого из изображений, включенных в единицу доступа; и сравнение числа серий последовательных макроблоков с соответствующим одним из максимальных чисел серий последовательных макроблоков, вычисляемых при вычислении максимального числа серий последовательных макроблоков, и числа байтов с соответствующим одним из максимальных чисел байтов, вычисляемых при вычислении максимального числа байтов, и возврат результата сравнения для кодирования, причем число серий последовательных макроблоков и число байтов получается при кодировании каждого из изображений. Таким образом, можно не допускать вывода потока битов, который не может быть декодирован.
Кроме того, при кодировании шаг квантования может увеличиваться или уменьшаться на основе результата сравнения, возвращенного из сравнения. Увеличение и уменьшение шага квантования предоставляет регулирование величины кодированных данных.
Способ декодирования согласно аспекту настоящего изобретения - это способ декодирования для декодирования кодированного потока, полученного при кодировании первой группы изображений и второй группы изображений для каждой единицы доступа, включающей в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу, при этом первая группа изображений и вторая группа изображений захватываются в различных точках наблюдения, и способ декодирования включает в себя определение того, является или нет изображение первой группы изображений синхронизированным с изображением второй группы изображений, в рамках единицы доступа; и выполнение различных процессов декодирования в зависимости от того, является или нет изображение первой группы изображений синхронизированным с изображением второй группы изображений при определении.
Согласно способу, поскольку процессы декодирования выполняются после проверки наличия или отсутствия синхронизации, межвидовое прогнозирующее декодирование может эффективно предотвращаться, например, на основе прогнозного изображения, отличного от исходного прогнозного изображения.
Кроме того, заголовок серии последовательных макроблоков каждого из изображений, включенных в единицу доступа, включает в себя field_pic_flag и bottom_field_flag, и при определении: значение field_pic_flag, включенного в заголовок серии последовательных макроблоков изображения первой группы изображений, может совпадать со значением field_pic_flag, включенного в заголовок серии последовательных макроблоков изображения второй группы изображений; и когда значение, указывающее то, что изображение предусмотрено на пополевой основе, задано равным field_pic_flag, в случае если значение bottom_field_flag, включенного в заголовок серии последовательных макроблоков изображения первой группы изображений, совпадает со значением bottom_field_flag, включенного в заголовок серии последовательных макроблоков изображения второй группы изображений, может быть определено то, что изображение первой группы изображений является синхронизированным с изображением второй группы изображений.
Кроме того, декодирование может включать в себя декодирование изображения первой группы изображений с использованием прогнозного изображения, сформированного из изображения первой группы изображений; и декодирование изображения второй группы изображений с использованием одного из (i) прогнозного изображения, сформированного из изображения второй группы изображений, и (ii) прогнозного изображения, сформированного из изображения первой группы изображений, в рамках единицы доступа, включающей в себя изображение второй группы изображений, при декодировании изображения второй группы изображений, когда определяется при определении, что изображение первой группы изображений не является синхронизированным с изображением второй группы изображений, изображение, включенное в единицу доступа и в первую группу изображений, может выводиться.
Когда изображения, включенные в единицу доступа, являются синхронизированными друг с другом, межвидовое прогнозирующее декодирование не может выполняться. Таким образом, декодирование отменяется, и соответствующее изображение, обычно декодированное, выводится. Тем самым, хотя изображения временно становятся двумерными изображениями, сбой, к примеру, в случае, когда неестественные изображения отображаются, может преодолеваться.
Устройство кодирования согласно аспекту настоящего изобретения - это устройство кодирования, которое кодирует первую группу изображений и вторую группу изображений, которые чередуются и захватываются в различных точках наблюдения, и устройство кодирования включает в себя модуль задания единиц доступа, выполненный с возможностью задавать единицу доступа, включающую в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу; и модуль кодирования, выполненный с возможностью кодировать каждое из изображений, включенных в единицу доступа, для каждой единицы доступа, в том числе единицы доступа, заданной посредством модуля задания единиц доступа, при этом модуль задания единиц доступа включает в себя модуль определения единиц кодирования, выполненный с возможностью определять то, должны ли изображения, включенные в единицу доступа, равномерно кодироваться на пополевой основе или на покадровой основе; и модуль определения типов полей, выполненный с возможностью определять то, должны ли изображения равномерно кодироваться как верхние поля или как нижние поля, когда модуль определения единиц кодирования определяет то, что изображения, включенные в единицу доступа, должны кодироваться на пополевой основе, и модуль кодирования выполнен с возможностью кодировать каждое из изображений для каждой единицы доступа в формате, определенном при определении единицы кодирования и при определении типа поля.
Устройство декодирования согласно аспекту настоящего изобретения - это устройство декодирования, которое декодирует кодированный поток, полученный при кодировании первой группы изображений и второй группы изображений для каждой единицы доступа, включающей в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу, при этом первая группа изображений и вторая группа изображений захватываются в различных точках наблюдения, и устройство декодирования включает в себя модуль определения, выполненный с возможностью определять то, является или нет изображение первой группы изображений синхронизированным с изображением второй группы изображений, в рамках единицы доступа; и модуль декодирования, выполненный с возможностью выполнять различные процессы декодирования в зависимости от того, определяет или нет модуль определения то, что изображение первой группы изображений является синхронизированным с изображением второй группы изображений.
Программа согласно аспекту настоящего изобретения - это программа, инструктирующая компьютеру кодировать первую группу изображений и вторую группу изображений, которые чередуются и захватываются в различных точках наблюдения, и программа включает в себя задание единицы доступа, включающей в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу; и кодирование каждого из изображений, включенных в единицу доступа, для каждой единицы доступа, в том числе единицы доступа, заданной при задании, при этом задание включает в себя определение единицы кодирования для определения того, должны ли изображения, включенные в единицу доступа, равномерно кодироваться на пополевой основе или на покадровой основе; и определение типа поля для определения того, должны ли изображения равномерно кодироваться как верхние поля или нижние поля, когда определяется при определении единицы кодирования, что изображения, включенные в единицу доступа, должны кодироваться на пополевой основе, и при кодировании каждое из изображений кодируется для каждой единицы доступа в формате, определенном при определении единицы кодирования и при определении типа поля.
Программа согласно другому аспекту настоящего изобретения - это программа, инструктирующая компьютеру декодировать кодированный поток, полученный при кодировании первой группы изображений и второй группы изображений для каждой единицы доступа, включающей в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу, при этом первая группа изображений и вторая группа изображений захватываются в различных точках наблюдения, и программа включает в себя определение того, является или нет изображение первой группы изображений синхронизированным с изображением второй группы изображений, в рамках единицы доступа; и выполнение различных процессов декодирования в зависимости от того, является или нет изображение первой группы изображений синхронизированным с изображением второй группы изображений при определении.
Интегральная схема согласно аспекту настоящего изобретения - это интегральная схема, которая кодирует первую группу изображений и вторую группу изображений, которые чередуются и захватываются в различных точках наблюдения, и интегральная схема включает в себя модуль задания единиц доступа, выполненный с возможностью задавать единицу доступа, включающую в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу; и модуль кодирования, выполненный с возможностью кодировать каждое из изображений, включенных в единицу доступа, для каждой единицы доступа, в том числе единицы доступа, заданной посредством модуля задания единиц доступа, при этом модуль задания единиц доступа включает в себя модуль определения единиц кодирования, выполненный с возможностью определять то, должны ли изображения, включенные в единицу доступа, равномерно кодироваться на пополевой основе или на покадровой основе; и модуль определения типов полей, выполненный с возможностью определять то, должны ли изображения равномерно кодироваться как верхние поля или как нижние поля, когда модуль определения единиц кодирования определяет то, что изображения, включенные в единицу доступа, должны кодироваться на пополевой основе, и модуль кодирования выполнен с возможностью кодировать каждое из изображений для каждой единицы доступа в формате, определенном при определении единицы кодирования и при определении типа поля.
Интегральная схема согласно другому аспекту настоящего изобретения - это интегральная схема, которая декодирует кодированный поток, полученный при кодировании первой группы изображений и второй группы изображений для каждой единицы доступа, включающей в себя изображение первой группы изображений и изображение второй группы изображений, которые соответствуют друг другу, при этом первая группа изображений и вторая группа изображений захватываются в различных точках наблюдения, интегральная схема включает в себя модуль определения, выполненный с возможностью определять то, является или нет изображение первой группы изображений синхронизированным с изображением второй группы изображений, в рамках единицы доступа; и модуль декодирования, выполненный с возможностью выполнять различные процессы декодирования в зависимости от того, определяет или нет модуль определения то, что изображение первой группы изображений является синхронизированным с изображением второй группы изображений.
Преимущества изобретения
Согласно описанному способу кодирования, поскольку формат (поле/кадр, верхнее/нижнее) всех изображений, включенных в одну единицу доступа, является унифицированным, эффективность кодирования повышается, когда межвидовое кодирование выполняется.
Краткое описание чертежей
Фиг.1A показывает пример кадрового изображения.
Фиг.1B показывает пример полевого изображения.
Фиг.2 показывает пример единиц доступа с различными структурами кодирования изображений для каждого вида.
Фиг.3 показывает структуру данных единицы доступа.
Фиг.4 является функциональной блок-схемой, иллюстрирующей устройство кодирования согласно варианту осуществления 1 настоящего изобретения.
Фиг.5 является функциональной блок-схемой, иллюстрирующей модуль кодирования компонентов видов.
Фиг.6 является функциональной блок-схемой, иллюстрирующей модуль проверки соответствия.
Фиг.7 показывает блок-схему последовательности операций способа для общих процессов, чтобы кодировать единицу доступа MVC.
Фиг.8 показывает блок-схему последовательности операций способа для процессов кодирования для компонентов видов в единице доступа MVC.
Фиг.9 показывает блок-схему последовательности операций способа для процессов для проверки соответствия единицы доступа MVC.
Фиг.10 является функциональной блок-схемой, иллюстрирующей устройство декодирования согласно варианту осуществления 1 в настоящем изобретении.
Фиг.11 является разновидностью устройства декодирования, проиллюстрированного на фиг.10.
Фиг.12 показывает блок-схему последовательности операций способа для процессов декодирования для компонентов видов в единице доступа MVC.
Фиг.13 схематично иллюстрирует общую конфигурацию системы предоставления содержимого для реализации услуг распространения содержимого.
Фиг.14 иллюстрирует внешний вид сотового телефона.
Фиг.15 является блок-схемой, иллюстрирующей пример конфигурации сотового телефона.
Фиг.16 схематично иллюстрирует пример общей конфигурации системы цифровой широковещательной передачи.
Фиг.17 является блок-схемой, иллюстрирующей пример конфигурации телевизионного приемника.
Фиг.18 является блок-схемой, иллюстрирующей пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с или на носитель записи, который является оптическим диском.
Фиг.19 иллюстрирует пример конфигурации носителя записи, который является оптическим диском.
Фиг.20 является блок-схемой, иллюстрирующей пример конфигурации интегральной схемы для реализации способа кодирования изображений и способа декодирования изображений согласно каждому из вариантов осуществления.
Описание вариантов осуществления
Чтобы разрешать вышеуказанные проблемы, вводится новый способ, чтобы ограничивать структуру кодирования изображений (кодирование кадровых/полевых изображений) и размер данных каждого изображения (или каждого компонента вида, как задано в стандарте MVC) в рамках единицы доступа. Новшество настоящего изобретения заключается в том, что настоящее изобретение обеспечивает успешное декодирование видеопотока, сжимаемого с помощью стандарта MVC посредством реализации, в которой каждый вид отдельно декодируется с использованием существующих декодеров согласно H.264/MPEG-4 AVC. Это новое изобретение должно накладывать определенные ограничения на размер данных и на значения определенных синтаксисов каждого изображения (или каждого компонента вида, как задано в стандарте MVC) в рамках единицы доступа.
Преимущество настоящего изобретения заключается в том, чтобы реализовывать более экономичный кодер и декодер стандарта MVC. Настоящее изобретение также помогает повышать эффективность кодирования, поскольку оно дает возможность использования "межвидового" прогнозирования между полевыми изображениями каждого вида.
Настоящее изобретение включает в себя два основных процесса, т.е. процесс кодирования для компонентов видов единицы доступа и процесс декодирования для компонентов видов единицы доступа. Настоящее изобретение ограничивает значения синтаксисов field_pic_flag и bottom_field_flag, обнаруженных в заголовках серий последовательных макроблоков, как показано на фиг.3, так чтобы они были идентичными для всех компонентов видов в рамках одной единицы доступа, чтобы разрешать проблемы, как описано выше.
Field_pic_flag на фиг.3 используется для того, чтобы определять то, кодируется серия последовательных макроблоков, ассоциированная с компонентом вида, как поле или как кадр. Например, значение "1" для field_pic_flag указывает, что серия последовательных макроблоков принадлежит компоненту вида, который кодируется как поле, а значение "0" указывает, что серия последовательных макроблоков принадлежит компоненту вида, который кодируется как кадр.
Bottom_field_flag на фиг.3 используется для того, чтобы определять то, является серия последовательных макроблоков, ассоциированная с компонентом вида, который кодируется как поле, верхним полем или нижним полем. Наличие bottom_field_flag в заголовке серии последовательных макроблоков зависит от значения field_pic_flag. Например, значение "1" для bottom_field_flag указывает, что серия последовательных макроблоков, которая принадлежит компоненту вида, который кодируется как поле, является нижним полем, при этом значение "0" для bottom_field_flag указывает, что серия последовательных макроблоков, которая принадлежит компоненту вида, который кодируется как поле, является верхним полем. Тем не менее, когда "0" задается равным значению field_pic_flag в заголовке серии последовательных макроблоков, предоставленном от устройства кодирования, bottom_field_flag заголовка серии последовательных макроблоков опускается.
Настоящее изобретение также ограничивает общее число серий последовательных макроблоков и общее число байтов каждого компонента вида в рамках единицы доступа.
(Первый вариант осуществления)
Фиг.4 является функциональной блок-схемой, иллюстрирующей устройство 10 кодирования согласно варианту осуществления 1 настоящего изобретения. Устройство 10 кодирования является устройством, которое кодирует изображение вида 1 и изображение вида 2 и включает в себя модуль 20 задания единиц доступа и модуль 800 кодирования компонентов видов. Изображение вида 1 является одним из чередуемых движущихся изображений (первая группа изображений), полученных посредством захвата объекта из вида 1. Изображение вида 2 является одним из чередуемых движущихся изображений (вторая группа изображений), полученных посредством захвата идентичного объекта из вида 2, который отличается от вида 1.
Модуль 20 задания единиц доступа включает в себя модуль 30 определения единиц кодирования и модуль 40 определения типов полей и задает единицу доступа, включающую в себя изображение вида 1 и изображение вида 2, которые соответствуют друг другу. Соответствующие изображения в данном документе указывают изображения, которые захвачены в одно время дня и к которым добавлена одна временная метка представления (PTS). Альтернативно соответствующие изображения добавляются с одним номером в последовательности изображений.
Модуль 30 определения единиц кодирования определяет то, должны изображения, включенные в единицу доступа, равномерно кодироваться на пополевой основе или на покадровой основе. Более конкретно, когда изображения, включенные в единицу доступа, должны равномерно кодироваться на покадровой основе, модуль 30 определения единиц кодирования задает "0" для опорного значения field_pic_flag, которое является внутренней переменной. Напротив, когда изображения, включенные в единицу доступа, должны равномерно кодироваться на пополевой основе, модуль 30 определения единиц кодирования задает "1" для опорного значения field_pic_flag.
Когда определяется то, что изображения, включенные в единицу доступа, должны кодироваться на пополевой основе, модуль 40 определения единиц кодирования определяет то, должны изображения равномерно кодироваться как верхние поля или как нижние поля. Более конкретно, модуль 40 определения единиц кодирования задает "0" для опорного значения bottom_field_flag, которое является внутренней переменной, когда определяется то, что изображения, включенные в единицу доступа, должны равномерно кодироваться как верхние поля. Напротив, когда определяется то, что изображения, включенные в единицу доступа, должны равномерно кодироваться как нижние поля, модуль 30 определения единиц кодирования задает "1" для опорного значения bottom_field_flag. Здесь, обработка выполняется только тогда, когда "1" задано для опорного значения field_pic_flag. Когда "0" задано для опорного значения field_pic_flag, "0" автоматически задается для опорного значения bottom_field_flag.
Модуль 800 кодирования компонентов видов кодирует каждое из изображений в формате, определенном посредством модуля 30 определения единиц кодирования и модуля 40 определения типов полей, для каждой единицы доступа, заданной посредством модуля 20 задания единиц доступа.
Фиг.5 является функциональной блок-схемой, иллюстрирующей модуль 800 кодирования компонентов видов. Модуль 800 кодирования компонентов видов включает в себя первый модуль 900 кодирования компонентов видов, второй модуль 904 кодирования компонентов видов и запоминающее устройство 902. В качестве разновидности модуля 800 кодирования компонентов видов, первый модуль 800 кодирования компонентов видов и второй модуль 900 кодирования компонентов видов могут быть комбинированы.
Первый модуль 900 кодирования компонентов видов считывает изображение D001 из вида 1. Первый модуль 900 кодирования компонентов видов определяет то, предусмотрен формат считанного изображения D001 на пополевой основе или на покадровой основе, и в случае на пополевой основе, определяет то, является считанное изображение D001 верхним полем или нижним полем, на основе результата определения посредством модуля 30 определения единиц кодирования и модуля 40 определения типов полей.
Затем первый модуль 900 кодирования компонентов видов кодирует считанное изображение D001 в расчете на серию последовательных макроблоков. Например, первый модуль 900 кодирования компонентов видов вычитает прогнозное изображение для изображения D001 из изображения D001 и выполняет ортогональное преобразование (DCT-преобразование), квантует и энтропийно кодирует результирующее изображение, чтобы предоставлять для Vout кодированный компонент D005 вида для вида 1. Прогнозное изображение для изображения D001 формируется (внутрикадровое или межкадровое прогнозирование) с помощью кодированного изображения вида 1. Другими словами вид 1 согласно варианту осуществления 1 является "базовым видом", независимым от других видов (вида 2 в этом примере).
Кроме того, первый модуль 900 кодирования компонентов видов обратно квантует квантованный коэффициент, выполняет обратное ортогональное преобразование для обратно квантованного коэффициента и предоставляет в запоминающее устройство 902 восстановленное изображение D003, полученное посредством добавления прогнозного изображения к результирующему коэффициенту. Кроме того, первый модуль 900 кодирования компонентов видов предоставляет во второй модуль 904 кодирования компонентов видов значение bottom_field_flag и значение field_pic_flag, используемого для кодирования кодированного компонента D005 вида.
Второй модуль 904 кодирования компонентов видов считывает изображение D002 из вида 2, в рамках одной единицы доступа, включающей в себя изображение D001 вида 1. Второй модуль 904 кодирования компонентов видов определяет то, предусмотрен формат считанного изображения D002 на пополевой основе или на покадровой основе, и в случае на пополевой основе дополнительно определяет то, является считанное изображение D002 верхним полем или нижним полем, на основе значения bottom_field_flag и значения field_pic_flag, полученных из первого модуля 900 кодирования компонентов видов. Другими словами, изображение D001 и изображение D002 имеют одинаковый формат.
Затем второй модуль 904 кодирования компонентов видов кодирует считанное изображение D002 в расчете на серию последовательных макроблоков и предоставляет кодированный компонент вида D007 в Vout. Хотя конкретные процессы кодирования являются идентичными выполняемым посредством первого модуля 900 кодирования компонентов видов, второй модуль 904 кодирования компонентов видов отличается от первого модуля 900 кодирования компонентов видов тем, что второй модуль 904 кодирования компонентов видов может формировать (внутрикадровое или межкадровое прогнозирование) прогнозное изображение для изображения D002 с использованием кодированного изображения вида 2 и может формировать (межвидовое прогнозирование) прогнозное изображение для изображения D002 с использованием изображения из вида 1 в рамках одной единицы доступа (т.е. восстановленного изображения D003 изображения D001).
Кроме того, устройство 10 кодирования согласно варианту осуществления 1 дополнительно может включать в себя модуль 815 проверки соответствия. Фиг.6 является функциональной блок-схемой, иллюстрирующей модуль 815 проверки соответствия. Модуль 815 проверки соответствия включает в себя модуль 804 вычисления числа серий последовательных макроблоков, модуль 802 вычисления числа байтов, модуль 806 вычисления максимального числа серий последовательных макроблоков, модули 808 и 812 сравнения, модуль 810 вычисления максимального числа байтов и модуль 814 переключения. Модуль 815 проверки соответствия синтаксически анализирует результат процессов кодирования, выполняемых посредством модуля 800 кодирования компонентов видов, и возвращает результат синтаксического анализа в модуль 800 кодирования компонентов видов.
Во-первых, модуль 800 кодирования компонентов видов предоставляет кодированный компонент D005 вида для вида 1 в модуль 804 вычисления числа серий последовательных макроблоков, модуль 802 вычисления числа байтов и модуль 814 переключения. Поскольку обработка для кодированного компонента вида D007 вида 2 является идентичной обработке для кодированного компонента D005 вида, обработка для кодированного компонента D005 вида для вида 1 в основном поясняется ниже.
Модуль 804 вычисления числа серий последовательных макроблоков выводит общее число серий D011 последовательных макроблоков в рамках полученного кодированного компонента D005 вида в модуль 808 сравнения. Модуль 802 вычисления числа байтов выводит общее число байтов D012 в рамках полученного кодированного компонента D005 вида в модуль 812 сравнения.
Модуль 806 вычисления максимального числа серий последовательных макроблоков выводит максимальное число серий D014 последовательных макроблоков в расчете на компонент вида в модуль 808 сравнения на основе полученной информации D013 профиля и уровня. Хотя способ определения максимального числа серий D014 последовательных макроблоков в расчете на компонент вида конкретно не ограничен, например, максимальное число серий последовательных макроблоков изображения вида 1, который является "базовым видом", может относительно увеличиваться, тогда как максимальное число серий последовательных макроблоков изображения вида 2, который является "зависимым видом", может относительно уменьшаться.
Модуль 810 вычисления максимального числа байтов выводит максимальное число байтов D015 в расчете на компонент вида в модуль 808 сравнения на основе полученной информации D013 профиля и уровня. Хотя способ определения максимального числа байтов D015 в расчете на компонент вида конкретно не ограничен, например, максимальное число байтов изображения вида 1, который является "базовым видом", может относительно увеличиваться, тогда как максимальное число байтов изображения вида 2, который является "зависимым видом", может относительно уменьшаться.
Модуль 808 сравнения сравнивает общее число серий D011 последовательных макроблоков с максимальным числом серий D014 последовательных макроблоков. Затем, когда общее число серий D011 последовательных макроблоков не превышает максимальное число серий D014 последовательных макроблоков, модуль 808 сравнения определяет то, что процессы кодирования соответствуют заранее определенному условию, и выводит сигнал D016 разрешения в модуль 814 переключения. Напротив, когда общее число серий D011 последовательных макроблоков превышает максимальное число серий D014 последовательных макроблоков, модуль 808 сравнения определяет то, что процессы кодирования не соответствуют заранее определенному условию, и выводит управляющий сигнал D017 в модуль 800 кодирования компонентов видов.
Модуль 812 сравнения сравнивает общее число байтов D012 с максимальным числом байтов D015. Затем, когда общее число байтов D012 не превышает максимальное число байтов D015, модуль 808 сравнения определяет то, что процессы кодирования соответствуют заранее определенному условию, и выводит сигнал D018 разрешения в модуль 814 переключения. Напротив, когда общее число байтов D012 превышает максимальное число байтов D015, модуль 812 сравнения определяет то, что процессы кодирования не соответствуют заранее определенному условию, и выводит управляющий сигнал D019 в модуль 800 кодирования компонентов видов.
Модуль 800 кодирования компонентов видов перекодирует идентичное входное изображение, когда он принимает любой из управляющих сигналов D017 и D019. При перекодировании, например, процессы кодирования выполняются с использованием шага квантования, превышающего шаг, используемый в предыдущих процессах кодирования, чтобы соответствовать заранее определенному условию.
Модуль 814 переключения должен активироваться, когда он принимает сигналы D016 и D018 разрешения из модулей 808 и 812 сравнения и выводит кодированный компонент D005 вида в Vout. При отсутствии приема какого-либо из сигналов D016 и D018 разрешения модуль 814 переключения не выводит кодированный компонент D005 вида в Vout.
Модуль 800 кодирования компонентов видов может выводить кодированный компонент D005 вида в расчете на изображение, когда изображение D001 полностью кодируется. Тем не менее, когда изображение D001 полностью кодируется, и затем определяется то, что процессы кодирования не соответствуют заранее определенному условию, появляется необходимость в перекодировании изображения D001 при различных условиях (таких как изменение шага квантования), и нагрузка по обработке модуля 800 кодирования компонентов видов увеличивается.
Таким образом, модуль 800 кодирования компонентов видов может выводить кодированный компонент D005 вида на основе серии последовательных макроблоков, когда каждая серия последовательных макроблоков, включенная в изображение D001, кодируется. Кроме того, модуль 802 вычисления числа байтов может последовательно выводить, в модуль 812 сравнения, общее число байтов D012 кодированного компонента D005 вида, которые кодированы до данного момента времени.
В этом случае модуль 812 сравнения может прогнозировать возможность, что общее число байтов D012 превышает максимальное число байтов D015, заранее и передавать управляющий сигнал D019 в модуль 800 кодирования компонентов видов. Тем самым, модуль 800 кодирования компонентов видов может приводить процессы кодирования в соответствие с заранее определенным условием на основе управляющего сигнала D019, например, посредством увеличения шага квантования во время того, когда изображение D001 кодируется.
Фиг.7 показывает блок-схему последовательности операций способа для общих процессов, чтобы кодировать единицу доступа с использованием стандарта MVC. Как показано на фиг.7, модуль 800 кодирования компонентов видов сначала кодирует все компоненты видов в единице доступа (этап S700). Затем модуль 815 проверки соответствия проверяет соответствие единицы доступа посредством определения значения параметра ConformanceFlag (этап S702). Параметр ConformanceFlag используется для того, чтобы указывать, является или нет общее число серий последовательных макроблоков в каждом компоненте вида и общее число байтов в каждой единице доступа не превышающими максимальные значения, разрешенные для обычного декодирования компонентов видов в единице доступа посредством типичного декодера стандарта MVC.
Когда параметр ConformanceFlag равен значению "0" (т.е. процессы кодирования не соответствуют заранее определенному условию) ("Да" на этапе S704), модуль 815 проверки соответствия инструктирует модулю 800 кодирования компонентов видов перекодировать компоненты видов в единице доступа и уменьшает либо общее число серий последовательных макроблоков, либо общее число байтов в рамках компонента вида, чтобы обеспечивать, что общее число серий последовательных макроблоков в каждом компоненте вида и общее число байтов в каждой единице доступа превышает максимальные значения, разрешенные для обычного декодирования компонентов видов в единице доступа посредством типичного декодера стандарта MVC (этап S706).
На этапе S706 другая обработка может выполняться вместо процесса перекодирования компонентов видов. Например, компоненты видов могут заменяться кодированными компонентами видов, которые надлежащим образом кодированы (т.е. компонентами видов, каждый из которых имеет параметр ConformanceFlag, указывающий "1").
Более конкретно, когда ConformanceFlag компонента вида для "базового вида" указывает "0", модуль 800 кодирования компонентов видов может выводить кодированный компонент вида из других компонентов видов "базового вида". Кодированный компонент вида, который должен выбираться в этом случае, должен быть непосредственно перед компонентом вида, который не кодирован успешно (не соответствует). Напротив, когда ConformanceFlag компонента вида для "зависимого вида" указывает "0", модуль 800 кодирования компонентов видов может выводить кодированный компонент вида для "базового вида" в рамках одной единицы доступа.
Процессы (этап S700, S702, S704 и S706) также могут применяться к одному компоненту вида, а не к единице доступа. В случае одного компонента вида процессы кодирования, процессы проверки соответствия и процесс перекодирования последовательно выполняются для каждого компонента вида единицы доступа.
Фиг.8 показывает блок-схему последовательности операций способа для процессов кодирования для компонентов видов в единице доступа. Во-первых, модуль 30 определения единиц кодирования определяет опорное значение field_pic_flag (этап S502). Способ определения опорного значения field_pic_flag конкретно не ограничен и может использоваться любой традиционный способ.
Затем модуль 40 определения типов полей сравнивает опорное значение field_pic_flag со значением "0" (этап S504). Когда field_pic_flag равно значению "0" ("Да" на этапе S504), модуль 40 определения типов полей задает "0" для опорного значения bottom_field_flag (этап S506). Когда field_pic_flag не равно значению "0" ("Нет" на этапе S504), модуль 40 определения типов полей определяет опорное значение bottom_field_flag (этап S508). Способ определения опорного значения bottom_field_flag конкретно не ограничен, и может использоваться любой традиционный способ.
Опорное значение field_pic_flag должно использоваться в дальнейшем для того, чтобы задавать все значения field_pic_flag серий последовательных макроблоков в рамках одной единицы доступа. Кроме того, опорное значение bottom_field_flag должно использоваться в дальнейшем для того, чтобы задавать все значения bottom_field_flag серий последовательных макроблоков в рамках одной единицы доступа.
Затем модуль 20 задания единиц доступа задает значение field_pic_flag в заголовке серии последовательных макроблоков каждой серии последовательных макроблоков равным опорному значению field_pic_flag, для всех серий последовательных макроблоков (этап S512-S528) во всех компонентах видов (этап S510-S530) одной единицы доступа (этап S514).
Затем, когда значение field_pic_flag равно "1" ("Да" на этапе S516), модуль 20 задания единиц доступа задает значение bottom_field_flag в заголовке серии последовательных макроблоков всех серий последовательных макроблоков в рамках одной единицы доступа равным опорному значению bottom_field_flag (этап S520). Напротив, когда значение field_pic_flag не равно "1" ("Нет" на этапе S516), модуль 20 задания единиц доступа задает "0" для значения bottom_field_flag в заголовке серии последовательных макроблоков всех серий последовательных макроблоков в рамках одной единицы доступа (этап S518). Пропуская S516 и S518, модуль 20 задания единиц доступа может задавать значение bottom_field_flag в заголовке серии последовательных макроблоков всех серий последовательных макроблоков в рамках одной единицы доступа равным опорному значению bottom_field_flag.
Затем модуль 800 кодирования компонентов видов кодирует каждую серию последовательных макроблоков в рамках одной единицы доступа на основе значений field_pic_flag и bottom_field_flag (этап S526). Поскольку подробные процессы кодирования модуля 800 кодирования компонентов видов описаны выше со ссылкой на фиг.5, описание опускается в дальнейшем.
Фиг.9 показывает блок-схему последовательности операций способа для процессов для проверки соответствия единицы доступа. Процессы также могут применяться, чтобы проверять соответствие компонента вида в рамках единицы доступа.
Во-первых, модуль 806 вычисления максимального числа серий последовательных макроблоков определяет максимальное число серий D014 последовательных макроблоков, разрешенное в каждом компоненте вида в рамках единицы доступа (этап S600). Это разрешенное максимальное число серий D014 последовательных макроблоков вычисляется на основе пределов, заданных посредством информации D013 профиля и уровня, как указано посредством элементов синтаксиса, переносимых посредством сжатого потока, ассоциированного с единицей доступа. Примером таких элементов синтаксиса являются синтаксисы profile_idc и level_idc, обнаруженные в наборе параметров последовательности кодированного потока MVC.
Затем модуль 810 вычисления максимального числа байтов определяет максимальное число байтов D015, разрешенное в каждом компоненте вида в рамках единицы доступа (этап S602). Это разрешенное максимальное число байтов D015 вычисляется на основе пределов, заданных посредством информации D013 профиля и уровня, как указано посредством элементов синтаксиса, переносимых посредством кодированного видеопотока, ассоциированного с единицей доступа.
Затем модуль 815 проверки соответствия определяет число компонентов видов в единице доступа (этап S604). Затем модуль 815 проверки соответствия задает "1" для параметра ConformanceFlag (этап S608). Этот параметр ConformanceFlag используется для того, чтобы определять то, удовлетворяет или нет компонент вида в единице доступа требованиям компонента вида, который должен быть корректно декодирован посредством видеодекодера с ассоциированными значениями профиля и уровня, превышающими указанные значения профиля и уровня в кодированном видеопотоке.
Затем следующие процессы выполняются для каждого компонента вида в единице доступа (этап S610-S632). Во-первых, модуль 802 вычисления числа байтов сбрасывает параметр NumBytesInViewComponent к значению "0" (этап S612). Кроме того, модуль 804 вычисления числа серий последовательных макроблоков сбрасывает параметр NumOfSlices к значению "0" (этап S614).
Параметр NumBytesInViewComponent является счетчиком для того, чтобы подсчитывать общее число байтов D012 в компоненте вида. Параметр NumOfSlices является счетчиком для того, чтобы подсчитывать общее число серий D011 последовательных макроблоков в компоненте вида.
Затем следующие процессы выполняются для каждой NAL-единицы, ассоциированной с компонентом вида (этап S616-S620). Во-первых, модуль 802 вычисления числа байтов добавляет общее число байтов, указанное посредством параметра NumBytesInNALUnit, в параметр NumBytesInViewComponent (этап S618). Другими словами, параметр NumBytesInViewComponent содержит значение, эквивалентное сумме параметров NumBytesInNALUnit, ассоциированных с компонентом вида. NAL-единица задается как единица уровня абстрагирования от сети, указанная в стандарте H.264/MPEG-4 AVC, и содержит кодированные видеоданные.
Затем следующие процессы выполняются для каждой серии последовательных макроблоков, ассоциированной с компонентом вида (этап S622-S626). Во-первых, модуль 804 вычисления числа серий последовательных макроблоков увеличивает параметр NumOfSlices на "1" (этап S624). Другими словами, параметр NumOfSlices содержит значение, эквивалентное общему числу серий последовательных макроблоков, ассоциированных с одним компонентом вида.
Затем модули 808 и 812 сравнения сравнивают значения параметров NumBytesInViewComponent и NumOfSlices с максимальным числом байтов D015 и максимальным числом серий D014 последовательных макроблоков, разрешенным в одном компоненте вида, соответственно (этап S628 и S630).
Когда значение NumBytesInViewComponent превышает разрешенное максимальное число байтов D015 ("Да" на этапе S628), модуль 812 сравнения задает "0" для параметра ConformanceFlag (этап S634). Кроме того, когда значение NumOfSlices превышает максимальное число разрешенных серий последовательных макроблоков числа D014 ("Да" на этапе S630), модуль 812 сравнения задает "0" для параметра ConformanceFlag (этап S634).
Параметр ConformanceFlag со значением "0" указывает, что компонент вида в единице доступа не может быть корректно декодирован посредством видеодекодера с ассоциированными значениями профиля и уровня, превышающими указанные значения профиля и уровня в кодированном видеопотоке.
Фиг.10 является функциональной блок-схемой, иллюстрирующей устройство 50 декодирования согласно варианту осуществления 1 в настоящем изобретении. Как проиллюстрировано на фиг.10, устройство 50 декодирования включает в себя модуль 1000 разделения компонентов видов, первый и второй синтаксические анализаторы 1002 и 1004 заголовков серий последовательных макроблоков, модуль 1006 сравнения, модуль 1010 переключения, первый и второй модули 1008 и 1014 декодирования типов A компонентов видов, модуль 1016 декодирования типов B компонентов видов и запоминающее устройство 1012.
Модуль 1000 разделения компонентов видов считывает кодированную единицу D021 доступа и разбивает кодированную единицу D021 доступа на два из первого и второго компонентов D023 и D022 вида. Первый компонент D023 вида является изображением вида 1 (базового вида), который не зависит от второго компонента D022 вида для корректного восстановления изображения. Напротив, второй компонент D022 вида является изображением вида 2 (зависимого вида), который зависит от первого компонента D023 вида для корректного восстановления изображения.
Первый синтаксический анализатор 1002 заголовков серий последовательных макроблоков затем считывает первый компонент D023 вида и выводит информацию D025 bottom_field_flag и field_pic_flag в модуль 1006 сравнения. Второй синтаксический анализатор 1004 заголовков серий последовательных макроблоков считывает второй компонент D022 вида и выводит информацию D026 bottom_field_flag и field_pic_flag в модуль 1006 сравнения.
Модуль 1006 сравнения сравнивает значения (i) информации D025 bottom_field_flag и field_pic_flag из первого синтаксического анализатора 1002 заголовков серий последовательных макроблоков и (ii) информации D026 bottom_field_flag и field_pic_flag из второго синтаксического анализатора 1004 заголовков серий последовательных макроблоков и выводит управляющий сигнал D027 в модуль 1010 переключения.
Модуль 1006 сравнения выступает в качестве модуля определения, который определяет то, является или нет первый компонент D023 вида для вида 1 синхронизированным со вторым компонентом D022 вида для вида 2 в рамках одной единицы доступа. Другими словами, модуль 1006 сравнения определяет то, что оба из компонентов видов являются синхронизированными друг с другом, когда значения bottom_field_flag и field_pic_flag первого и второго компонентов D023 и D022 вида, соответственно, совпадают. С другой стороны, когда, по меньшей мере, одно из значений bottom_field_flag и field_pic_flag первого и второго компонентов D023 и D022 вида, соответственно, не совпадает, модуль 1006 сравнения определяет то, что компоненты видов не являются синхронизированными друг с другом.
Параметр, который определяет то, являются или нет компоненты видов синхронизированными друг с другом, не ограничен параметром в вышеприведенном примере. Например, когда временные метки представления (PTS) и временные метки декодирования (DTS), хранимые, соответственно, посредством первого и второго компонентов D023 и D022 вида, совпадают, может быть определено то, что компоненты видов являются синхронизированными друг с другом. Иначе, может быть определено то, что компоненты видов не являются синхронизированными друг с другом.
Первый модуль 1008 декодирования типов A компонентов видов считывает первый компонент D023 вида и выводит изображение D031 вида 1. Первый модуль 1008 декодирования типов A компонентов видов также выводит восстановленное изображение вида 1 D031 в запоминающее устройство 1012. Более конкретно, первый модуль 1008 декодирования типов A компонентов видов энтропийно декодирует, обратно квантует и выполняет обратное ортогональное преобразование для первого компонента D023 вида, добавляет прогнозное изображение к результату и выводит восстановленное изображение D031. Поскольку первый компонент D023 вида принадлежит "базовому виду", прогнозное изображение формируется (внутрикадровое или межкадровое прогнозирование) с помощью декодированного изображения вида 1.
Модуль 1010 переключения отправляет второй компонент D022 вида либо во второй модуль 1014 декодирования типов A компонентов видов, либо в модуль 1016 декодирования типов B компонентов видов на основе управляющего сигнала D027, полученного из модуля 1006 сравнения. Более конкретно, когда первый компонент D023 вида является синхронизированным со вторым компонентом D022 вида, модуль 1010 переключения отправляет второй компонент D022 вида во второй модуль 1014 декодирования типов A компонентов видов. Напротив, когда первый компонент D023 вида не является синхронизированным со вторым компонентом D022 вида, модуль 1010 переключения отправляет второй компонент D022 вида в модуль 1016 декодирования типов B компонентов видов.
При приеме второго компонента D022 вида второй модуль 1014 декодирования типов A компонентов видов декодирует второй компонент D022 вида с использованием восстановленного изображения вида 1 D031, которое считывается из запоминающего устройства 1012, и выводит изображение вида 2 D034. Хотя конкретные процессы кодирования являются идентичными процессам для первого модуля 1008 декодирования типов A компонентов видов, второй модуль 1014 декодирования типов A компонентов видов отличается от первого модуля 1008 декодирования типов A компонентов видов тем, что он может формировать (внутрикадровое или межкадровое прогнозирование) прогнозное изображение с использованием декодированного изображения вида 2 и формировать (межвидовое прогнозирование) прогнозное изображение с использованием изображения вида 1 в рамках одной единицы доступа (т.е. восстановленного изображения D031).
При приеме второго компонента D022 вида модуль 1016 декодирования типов B компонентов видов выводит изображение вида 2 D035. Поскольку модуль 1016 декодирования типов B компонентов видов выполняет декодирование, когда первый компонент D023 вида не является синхронизированным со вторым компонентом D022 вида, по меньшей мере, декодирование с использованием межвидового прогнозирования, вероятно, не может выполняться. Таким образом, когда второй компонент D022 вида кодируется с использованием межвидового прогнозирования, модуль 1016 декодирования типов B компонентов видов может отменять декодирование и выводить восстановленное изображение D031, сохраненное в запоминающем устройстве 1012, как изображение вида 2 D035. Помимо этого, когда второй компонент D022 вида кодируется с использованием внутрикадрового или межкадрового прогнозирования, модуль 1016 декодирования типов B компонентов видов может выполнять обычное декодирование. Кроме того, независимо от типа прогнозирования, модуль 1016 декодирования типов B компонентов видов может выводить восстановленное изображение D031, сохраненное в запоминающем устройстве 1012, как изображение вида 2 D035.
Некоторые устройства декодирования согласно варианту осуществления в настоящем изобретении могут не включать в себя модуль 1016 декодирования типов B компонентов видов.
Фиг.11 является функциональной блок-схемой, иллюстрирующей устройство 60 декодирования, которое является разновидностью устройства 50 декодирования. Устройство 60 декодирования включает в себя модуль 1100 разделения компонентов полевых видов, первый и второй модули 1102 и 1104 декодирования компонентов полевых видов и запоминающее устройство 1106.
Модуль 1100 разделения компонентов полевых видов считывает кодированную единицу доступа D041 и разбивает кодированную единицу доступа D041 на первый и второй компоненты D044 и D042 видов. Затем модуль 1100 разделения компонентов полевых видов выводит первый компонент D044 вида в первый модуль 1102 декодирования компонентов полевых видов и второй компонент D042 вида во второй модуль 1104 декодирования компонентов полевых видов.
Первый компонент D044 вида является изображением вида 1 (базового вида), который не зависит от второго компонента D042 вида для корректного восстановления изображения. Напротив, второй компонент D042 вида является изображением вида 2 (зависимого вида), который зависит от первого компонента D044 вида для корректного восстановления изображения. Кроме того, каждый из первого и второго компонентов D042 и D044 видов могут быть одним полевым изображением.
Первый модуль 1102 декодирования компонентов видов декодирует первый компонент D044 вида, который принадлежит полученному виду 1 и предусмотрен на пополевой основе, и выводит изображение вида 1 D051. Восстановленное изображение вида 1 D051 также сохраняется в запоминающем устройстве 1106. Запоминающее устройство 1106 содержит буфер запоминающего устройства, чтобы сохранять восстановленное изображение вида 1 D051, выводимое посредством первого модуля 1102 декодирования компонентов полевых видов.
Второй модуль 1104 декодирования компонентов полевых видов декодирует второй компонент D042 вида, который принадлежит полученному виду 2 и предусмотрен на пополевой основе, c использованием восстановленного изображения вида 1 D051, полученного из запоминающего устройства 1106, и выводит восстановленное изображение вида 2 D054.
Фиг.12 показывает блок-схему последовательности операций способа для процессов декодирования для компонентов видов в единице доступа. Во-первых, модуль 1006 сравнения задает "0" для параметра SpecialDecodingFlag (этап S400). Этот SpecialDecodingFlag используется для того, чтобы определять то, используются обычные процессы декодирования, как указано посредством стандарта MVC, для декодирования всех вторых компонентов D022 вида в единице доступа, или используются различные процессы декодирования для декодирования некоторых из компонентов видов в единице доступа. Другими словами, SpecialDecodingFlag соответствует управляющему сигналу D027 на фиг.10.
Как показано на фиг.12, первый синтаксический анализатор 1002 заголовков серий последовательных макроблоков определяет опорное значение field_pic_flag из заголовка серии последовательных макроблоков для одной серии последовательных макроблоков первого компонента D023 вида для "базового вида" (этап S402). Это опорное значение field_pic_flag используется в дальнейшем для того, чтобы сравнивать его со значениями field_pic_flag, обнаруженными в заголовках серий последовательных макроблоков других компонентов видов.
Затем, когда значение field_pic_flag не равно "0" ("Нет" на этапе S404), первый синтаксический анализатор 1002 заголовков серий последовательных макроблоков определяет опорное значение bottom_pic_flag из заголовка серии последовательных макроблоков для одной серии последовательных макроблоков первого компонента D023 вида (этап S408). Напротив, когда значение field_pic_flag равно "0" ("Да" на этапе S404), первый синтаксический анализатор 1002 заголовков серий последовательных макроблоков задает "0" для опорного значения bottom_pic_flag (этап S406). Это опорное значение bottom_pic_flag используется в дальнейшем для того, чтобы сравнивать его со значениями bottom_pic_flag, обнаруженными в заголовках серий последовательных макроблоков других компонентов видов.
Затем следующие процессы выполняются для каждой серии последовательных макроблоков (этап S412-S434) каждого компонента вида (этап S410-S436) "зависимого вида" в рамках одной единицы доступа. Во-первых, второй синтаксический анализатор 1004 заголовков серий последовательных макроблоков определяет значение field_pic_flag из заголовка серии последовательных макроблоков для серии последовательных макроблоков (этап S414). Когда значение field_pic_flag не равно "0" ("Нет" на этапе S416), второй синтаксический анализатор 1004 заголовков серий последовательных макроблоков определяет значение bottom_field_flag из заголовка серии последовательных макроблоков для серии последовательных макроблоков (этап S420). Напротив, когда значение field_pic_flag равно "0" ("Да" на этапе S416), второй синтаксический анализатор 1004 заголовков серий последовательных макроблоков задает "0" для значения bottom_field_flag (этап S418).
Затем модуль 1006 сравнения сравнивает значения field_pic_flag и bottom_field_flag, полученные из второго синтаксического анализатора 1004 заголовков серий последовательных макроблоков, с опорным значением field_pic_flag и опорными значениями bottom_field_flag, полученными из первого синтаксического анализатора 1002 заголовков серий последовательных макроблоков, соответственно (этап S422 и S426).
Когда значение field_pic_flag не равно опорному значению field_pic_flag ("Нет" на этапе S424), модуль 1006 сравнения задает "1" для параметра SpecialDecodingFlag (этап S432). Аналогично, когда значение bottom_field_flag не равно опорному значению bottom_field_flag ("Нет" на этапе S428), модуль 1006 сравнения задает "1" для параметра SpecialDecodingFlag (этап S432). Затем модуль 1006 сравнения выводит значение параметра SpecialDecodingFlag (т.е. управляющий сигнал D027) в модуль 1010 переключения.
В завершение модуль 1010 переключения сравнивает параметр SpecialDecodingFlag с "1" (этап S438). Когда параметр SpecialDecodingFlag не равен "1" ("Нет" на этапе S438), процессы декодирования, как указано посредством стандарта MVC, используются для того, чтобы декодировать все компоненты видов в рамках единицы доступа (этап S440). Напротив, когда параметр SpecialDecodingFlag равен "1" ("Да" на этапе S438), различные процессы декодирования используются для компонентов видов "зависимого вида" единицы доступа (этап S442).
Один пример различных процессов декодирования заключает в себе корректное восстановление только одного компонента вида в рамках единицы доступа посредством видеодекодера.
Хотя вариант осуществления 1 иллюстрирует случай, когда движущиеся изображения, захватываемые при двух различных видах, т.е. видах 1 и 2, кодируются, число видов не ограничено двумя. Другими словами, настоящее изобретение может быть применимым к случаю, когда кодируются движущиеся изображения, захватываемые, по меньшей мере, при двух различных видах.
(Второй вариант осуществления)
Обработка, описанная в варианте осуществления 1, может реализовываться просто посредством независимой компьютерной системы, посредством записи, в носителе записи, программы для реализации конфигураций для способа кодирования изображений и способа декодирования изображений, описанного в варианте осуществления 1. Носитель записи может быть любым носителем записи до тех пор, пока программа может записываться, таким как магнитный диск, оптический диск, магнитный оптический диск, IC-карта и полупроводниковое запоминающее устройство.
В дальнейшем в этом документе поясняются варианты применения способа кодирования изображений и способа декодирования изображений, описанных в варианте осуществления 1, и систем с их использованием.
Фиг.13 иллюстрирует общую конфигурацию системы ex100 предоставления содержимого для реализации услуг распространения содержимого. Область для предоставления услуг связи разделяется на соты требуемого размера, и базовые станции ex106-ex110, которые являются стационарными беспроводными станциями, размещаются в каждой из сот.
Система ex100 предоставления содержимого подключается к устройствам, таким как компьютер ex111, персональное цифровое устройство (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 Интернет-услуг, телефонную сеть ex104, а также базовые станции ex106-ex110.
Тем не менее, конфигурация системы ex100 предоставления содержимого не ограничена конфигурацией, показанной на фиг.13, и комбинация, в которой подключаются любые из элементов, является допустимой. Помимо этого каждое из устройств может непосредственно подключаться к телефонной сети ex104, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть подключены друг к другу через беспроводную связь ближнего действия и т.п.
Камера ex113, такая как цифровая видеокамера, допускает захват движущихся изображений. Камера ex116, такая как цифровая видеокамера, допускает захват как неподвижных, так и движущихся изображения. Кроме того, сотовый телефон ex114 может быть телефоном, который удовлетворяет любому из таких стандартов, как глобальная система мобильной связи (GSM), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), стандарт долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно сотовый телефон ex114 может соответствовать стандарту системы персональных мобильных телефонов (PHS).
В системе ex100 предоставления содержимого сервер ex103 потоковой передачи подключается к камере ex113 и т.п.через телефонную сеть ex104 и базовую станцию ex109, которая предоставляет распространение телепередачи в прямом эфире и т.п. Для такого распространения содержимое (например, видео музыкального концерта в прямом эфире), захватываемое пользователем, использующим камеру ex113, кодируется, как описано выше в варианте осуществления 1, и кодированное содержимое передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет потоковое распространение принимаемых данных содержимого клиентам при запросах. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые допускают декодирование вышеуказанных кодированных данных. Каждое из устройств, которое принимает распространенные данные, декодирует и воспроизводит кодированные данные.
Захватываемые данные могут кодироваться посредством камеры ex113 или сервера ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть совместно использованы камерой ex113 и сервером ex103 потоковой передачи. Аналогично распространенные данные могут быть декодированы посредством клиентов или сервера ex103 потоковой передачи или процессы декодирования могут быть совместно использованы клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных и движущихся изображений, захватываемых не только посредством камеры ex113, но также и камеры ex116, могут быть переданы на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут выполняться посредством камеры ex116, компьютера ex111 или сервера ex103 потоковой передачи или совместно использоваться ими.
Кроме того, процессы кодирования и декодирования могут выполняться посредством LSI ex500, в общем, включенной в каждый из компьютера ex111 и устройств. LSI ex500 может быть выполнена из одной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования изображений может быть интегрировано в определенный тип носителя записи (такой как CD-ROM, гибкий диск, жесткий диск), который является читаемым посредством компьютера ex111 и т.п., и процессы кодирования и декодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 содержит камеру, данные движущегося изображения, полученные посредством камеры, могут быть переданы. Видеоданные - это данные, кодируемые посредством LSI ex500, включенной в сотовый телефон ex114.
Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления содержимого. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 предоставления содержимого, так что пользователь, который не имеет конкретных прав и оборудования, может реализовывать персональную широковещательную передачу.
Когда каждое из устройств, включенных в систему ex100 предоставления содержимого, выполняет кодирование и декодирование, могут использоваться способ кодирования изображений и способ декодирования изображений, показанный в варианте осуществления 1.
Сотовый телефон ex114 описывается в качестве примера такого устройства.
Фиг.14 иллюстрирует сотовый телефон ex114, который использует способ кодирования изображений и способ декодирования изображений, описанный в варианте осуществления 1. Сотовый телефон ex114 включает в себя антенну ex601 для передачи и приема радиоволн через базовую станцию ex110; модуль ex603 камеры, такой как CCD-камера, допускающая захват движущихся и неподвижных изображений; дисплей ex602, такой как жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захватываемое посредством модуля ex603 камеры или принимаемое посредством антенны ex601; модуль основного корпуса, включающий в себя набор функциональных клавиш ex604; модуль ex608 аудиовывода, такой как динамик для вывода аудио; модуль ex605 аудиоввода, такой как микрофон для ввода аудио; носитель ex607 записи для записи кодированных или декодированных данных, в том числе данных захватываемых движущихся или неподвижных изображений, данных принимаемых почтовых сообщений и данных движущихся или неподвижных изображений; и модуль ex606 гнезда для предоставления возможности сотовому телефону ex114 присоединять носитель ex607 записи. Носитель ex607 записи - это носитель, который хранит устройство флэш-памяти в рамках пластикового корпуса, например SD-карты. Устройство флэш-памяти является одним типом электрически стираемого и программируемого постоянного запоминающего устройства (EEPROM), которое является энергонезависимым запоминающим устройством, которое является электрически перезаписываемым и стираемым.
Затем сотовый телефон ex114 описывается со ссылкой на фиг.15. В сотовом телефоне ex114 главный модуль ex711 управления, выполненный с возможностью осуществлять общее управление каждым модулем основного корпуса, включающим в себя дисплей ex602, а также функциональные клавиши ex604, подключается взаимно, через синхронную шину ex713, к модулю ex710 схемы электропитания, модулю ex704 управления функциональным вводом, модулю ex712 кодирования изображений, модулю ex703 интерфейса камеры, модулю ex702 управления жидкокристаллическим дисплеем (ЖК-дисплеем), модулю e709 декодирования изображений, модулю ex708 мультиплексирования/демультиплексирования, модулю ex707 записи/воспроизведения, модулю ex706 модемной схемы и аудиопроцессору ex705.
Когда клавиша завершения вызова или клавиша включения питания включаются посредством операции пользователя, модуль ex710 схемы электропитания предоставляет в соответствующие модули питание от аккумуляторной батареи, чтобы активировать сотовый телефон ex114, который является цифровым и содержит камеру.
В сотовом телефоне ex114 аудиопроцессор ex705 преобразует аудиосигналы, собираемые посредством модуля ex605 аудиоввода в режиме речевой связи, в цифровые аудиоданные под управлением главного модуля ex711 управления, включающего в себя CPU, ROM и RAM. Затем модуль ex706 модемной схемы выполняет обработку с расширенным спектром для цифровых аудиоданных, и модуль ex701 схемы передачи и приема выполняет цифроаналоговое преобразование и преобразование частоты для данных, чтобы передавать результирующие данные через антенну ex601. Помимо этого в сотовом телефоне ex114 модуль ex701 схемы передачи и приема усиливает данные, принимаемые посредством антенны ex601 в режиме речевой связи, и выполняет преобразование частоты и аналого-цифровое преобразование для данных. Затем модуль ex706 модемной схемы выполняет обработку с обратным расширенным спектром для данных, и аудиопроцессор ex705 преобразует их в аналоговые аудиоданные, чтобы выводить их через модуль ex608 аудиовывода.
Кроме того, когда электронная почта в режиме передачи данных передается, текстовые данные электронной почты, введенные посредством операций с функциональными клавишами ex604 основного корпуса, отправляются в главный модуль ex711 управления через модуль ex704 управления функциональным вводом. Главный модуль ex711 управления инструктирует модулю ex706 модемной схемы выполнять обработку с расширенным спектром для текстовых данных, и модуль ex701 схемы передачи и приема выполняет цифроаналоговое преобразование и преобразование частоты для результирующих данных, чтобы передавать данные в базовую станцию ex110 через антенну ex601.
Когда данные изображений передаются в режиме передачи данных, данные изображений, захватываемые посредством модуля ex603 камеры, предоставляются в модуль ex712 кодирования изображений через модуль ex703 интерфейса камеры. Когда данные изображений не передаются, данные изображений, захватываемые посредством модуля ex603 камеры, могут отображаться непосредственно на дисплее ex602 через модуль ex703 интерфейса камеры и модуль ex702 управления ЖК-дисплеем.
Модуль ex712 кодирования изображений, включающий в себя устройство кодирования изображений, как описано для настоящего изобретения, сжимает и кодирует данные изображений, предоставленные из модуля ex603 камеры, с использованием способа кодирования, применяемого посредством устройства кодирования изображений, как показано в варианте осуществления 1, чтобы преобразовывать данные в кодированные данные изображений, и отправляет данные в модуль ex708 мультиплексирования/демультиплексирования. Кроме того, сотовый телефон ex114 одновременно отправляет, как цифровые аудиоданные, аудио, принимаемое посредством модуля ex605 аудиоввода во время захвата с помощью модуля ex603 камеры, в модуль ex708 мультиплексирования/демультиплексирования через аудиопроцессор ex705.
Модуль ex708 мультиплексирования/демультиплексирования мультиплексирует кодированные данные изображений, предоставленные из модуля ex712 кодирования изображений, и аудиоданные, предоставленные из аудиопроцессора ex705, с использованием заранее определенного способа. Затем модуль ex706 модемной схемы выполняет обработку с расширенным спектром для мультиплексированных данных, полученных посредством модуля ex708 мультиплексирования/демультиплексирования. После цифроаналогового преобразования и преобразования частоты для данных, модуль ex701 схемы передачи и приема передает результирующие данные через антенну ex601.
При приеме данных видеофайла, который имеет ссылку на веб-странице и т.п., в режиме передачи данных модуль ex706 модемной схемы выполняет обработку с обратным расширенным спектром для данных, принимаемых от базовой станции ex110 через антенну ex601, и отправляет мультиплексированные данные, полученные как результат обработки с обратным расширенным спектром, в модуль ex708 мультиплексирования/демультиплексирования.
Чтобы декодировать мультиплексированные данные, принимаемые через антенну ex601, модуль ex708 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток битов данных изображений и поток битов аудиоданных и предоставляет кодированные данные изображений в модуль ex709 декодирования изображений и аудиоданные в аудиопроцессор ex705, соответственно, через синхронную шину ex713.
Затем модуль ex709 декодирования изображений, включающий в себя устройство декодирования изображений, как описано для настоящего изобретения, декодирует поток битов данных изображений с использованием способа декодирования, соответствующего способу кодирования, как показано в варианте осуществления 1, чтобы формировать воспроизведенные видеоданные, и предоставляет эти данные на дисплей ex602 через модуль ex702 управления ЖК-дисплеем. Таким образом, отображаются видеоданные, включенные в видеофайл, имеющий ссылку на веб-страницу, например. Одновременно, аудиопроцессор ex705 преобразует аудиоданные в аналоговые аудиоданные и предоставляет данные в модуль ex608 аудиовывода. Таким образом, аудиоданные, включенные в видеофайл, имеющий ссылку на веб-страницу, например, воспроизводятся.
Настоящее изобретение не ограничено вышеуказанной системой, поскольку наземная или спутниковая цифровая широковещательная передача в центре внимания в последнее время, и, по меньшей мере, либо устройство кодирования изображений, либо устройство декодирования изображений, описанные в варианте осуществления 1, могут быть включены в систему цифровой широковещательной передачи, как показано на фиг.16. Более конкретно, широковещательная станция ex201 сообщает или передает через радиоволны к широковещательному спутнику ex202, аудиоданные, видеоданные или поток битов, полученный посредством мультиплексирования аудиоданных и видеоданных. При приеме потока битов широковещательный спутник ex202 передает радиоволны для передачи в широковещательном режиме. Затем антенна ex204 для домашнего применения с функцией приема спутниковой широковещательной передачи принимает радиоволны, и устройство, такое как телевизионный приемник (приемное устройство) ex300 и абонентская приставка (STB) ex217, декодирует кодированный поток битов и воспроизводит декодированный поток битов. Кроме того, модуль ex218 считывания/записи, который считывает и декодирует такой поток битов, полученный посредством мультиплексирования данных изображений и аудиоданных, которые записываются на носители ex215 и 216 записи, такие как CD и DVD, может включать в себя устройство декодирования изображений, как показано в варианте осуществления 1. В этом случае воспроизведенные видеосигналы отображаются на мониторе ex219. Также можно реализовывать устройство декодирования изображений в абонентской приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутниковой и/или наземной широковещательной передачи, чтобы воспроизводить видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования изображений может быть включено не в абонентскую приставку, а в телевизионный приемник ex300. Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать сигналы из спутника ex202 или базовой станции ex201 для воспроизведения видео на дисплейном устройстве, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210.
Кроме того, устройство декодирования изображений или устройство кодирования изображений, как показано в варианте осуществления 1, могут реализовываться в модуле ex218 считывания/записи (i) для считывания и декодирования видеоданных, аудиоданных или кодированного потока битов, полученного посредством мультиплексирования видеоданных и аудиоданных, или (ii) для кодирования видеоданных, аудиоданных или кодированного потока битов, полученного посредством мультиплексирования видеоданных и аудиоданных, и записи результирующих данных как мультиплексированных данных на носитель ex215 записи. Здесь видеоданные и аудиоданные записываются на носитель ex215 записи, такой как BD и DVD. В этом случае воспроизведенные видеосигналы отображаются на мониторе ex219. Кроме того, воспроизведенные видеосигналы могут воспроизводиться посредством другого устройства или системы с использованием носителя ex215 записи, на который записан кодированный поток битов. Например, другое устройство ex212 воспроизведения может воспроизводить видеосигналы на мониторе ex213 с использованием носителя ex214 записи, на который скопирован кодированный поток битов.
Кроме того, также можно реализовывать устройство декодирования изображений в абонентской приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутниковой и/или наземной широковещательной передачи, чтобы воспроизводить видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования изображений может быть включено не в абонентскую приставку, а в телевизионный приемник ex300.
Фиг.17 иллюстрирует телевизионный приемник (приемное устройство) ex300, который использует способ кодирования изображений и способ декодирования изображений, описанный в варианте осуществления 1. Телевизионный приемник ex300 включает в себя тюнер ex301, который получает или предоставляет поток битов видеоинформации от или через антенну ex204 или кабель ex203 и т.д., который принимает широковещательную передачу; модуль ex302 модуляции/демодуляции, который демодулирует принимаемые кодированные данные или модулирует данные в кодированные данные, которые должны предоставляться наружу; и модуль ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные данные в видеоданные и аудиоданные или мультиплексирует кодированные видеоданные и аудиоданные в данные. Телевизионный приемник ex300 дополнительно включает в себя процессор ex306 сигналов, включающий в себя процессор ex304 аудиосигналов и процессор ex305 видеосигналов, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно; динамик ex307, который предоставляет декодированный аудиосигнал; и модуль ex309 вывода, включающий в себя дисплей ex308, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизионный приемник ex300 включает в себя модуль ex317 интерфейса, включающий в себя модуль ex312 функционального ввода, который принимает ввод пользовательской операции. Кроме того, телевизионный приемник ex300 включает в себя модуль ex310 управления, который осуществляет общее управление каждым составляющим элементом телевизионного приемника ex300, и модуль ex311 схемы электропитания, который предоставляет питание в каждый из элементов. Кроме модуля ex312 функционального ввода, модуль ex317 интерфейса может включать в себя мост ex313, который подключается к внешнему устройству, такому как модуль ex218 считывания/записи; модуль ex314 гнезда для предоставления возможности присоединения носителя ex216 записи, такого как SD-карта; драйвер ex315, чтобы подключаться к внешнему носителю записи, такому как жесткий диск; и модем ex316, чтобы подключаться к телефонной сети. Здесь носитель ex216 записи может электрически записывать информацию с использованием элемента энергонезависимого/энергозависимого полупроводникового запоминающего устройства для хранения. Составляющие элементы телевизионного приемника ex300 подключены друг к другу через синхронную шину.
Во-первых, описывается конфигурация, в которой телевизионный приемник ex300 декодирует данные, полученные снаружи, через антенну ex204 и т.п. и воспроизводит декодированные данные. В телевизионном приемнике ex300 при приеме пользовательской операции от удаленного контроллера ex220 и т.п. модуль ex303 мультиплексирования/демультиплексирования демультиплексирует видеоданные и аудиоданные, демодулируемые посредством модуля ex302 модуляции/демодуляции, под управлением модуля ex310 управления, включающего в себя CPU. Кроме того, процессор ex304 аудиосигналов декодирует демультиплексированные аудиоданные, и процессор ex305 видеосигналов декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в варианте осуществления 1, в телевизионном приемнике ex300. Модуль ex309 вывода предоставляет декодированный видеосигнал и аудиосигнал наружу, соответственно. Когда модуль ex309 вывода предоставляет видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex318 и ex319 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Кроме того, телевизионный приемник ex300 может считывать кодированный поток битов не через широковещательную передачу и т.п., а из носителей ex215 и ex216 записи, таких как магнитный диск, оптический диск и SD-карта. Затем описывается конфигурация, в которой телевизионный приемник ex300 кодирует аудиосигнал и видеосигнал и передает данные наружу или записывает данные на носитель записи. В телевизионном приемнике ex300, при приеме пользовательской операции от удаленного контроллера ex220 и т.п., процессор ex304 аудиосигналов кодирует аудиосигнал, и процессор ex305 видеосигналов кодирует видеосигнал, под управлением модуля ex310 управления, с использованием способа кодирования, как описано в варианте осуществления 1. Модуль ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет результирующий сигнал наружу. Когда модуль ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex320 и ex321 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Здесь, буферы ex318-ex321 могут быть множеством, как проиллюстрировано, или, по меньшей мере, один буфер может быть совместно использован в телевизионном приемнике ex300. Кроме того, данные могут быть сохранены в буфере, отличном от буферов ex318-ex321 так, что можно не допускать переполнения и опустошения в системе, например, между модулем ex302 модуляции/демодуляции и модулем ex303 мультиплексирования/демультиплексирования.
Кроме того, телевизионный приемник ex300 может включать в себя конфигурацию для приема AV-ввода из микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизионный приемник ex300 может кодировать, мультиплексировать и предоставлять внешние данные в описании, он может не допускать кодирование, мультиплексирование и предоставление внешних данных, а допускать только одно из приема, декодирования и предоставления внешних данных.
Кроме того, когда модуль ex218 считывания/записи считывает или записывает кодированный поток битов с или на носитель записи, один из телевизионного приемника ex300 и модуля ex218 считывания/записи может декодировать или кодировать кодированный поток битов, и телевизионный приемник ex300 и модуль ex218 считывания/записи могут совместно использовать декодирование или кодирование.
В качестве примера фиг.18 иллюстрирует конфигурацию модуля ex400 воспроизведения/записи информации, когда данные считываются или записываются с или на оптический диск. Модуль ex400 воспроизведения/записи информации включает в себя составляющие элементы ex401-ex407, которые описываются ниже. Оптическая головка ex401 излучает лазерное пятно на поверхность для записи носителя ex215 записи, который является оптическим диском, чтобы записывать информацию, и обнаруживает отраженный свет от поверхности для записи носителя ex215 записи, чтобы считывать информацию. Модуль ex402 записи модуляции электрически возбуждает полупроводниковый лазер, включенный в оптическую головку ex401, и модулирует лазерное излучение согласно записанным данным. Модуль ex403 демодуляции при воспроизведении усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности для записи, с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения посредством разделения компонента сигнала, записанного на носитель ex215 записи, чтобы воспроизводить необходимую информацию. Буфер ex404 временно хранит информацию, которая должна записываться на носитель ex215 записи, и информацию, воспроизведенную из носителя ex215 записи. Дисковый мотор ex405 вращает носитель ex215 записи. Модуль ex406 сервоуправления перемещает оптическую головку ex401 в заранее определенную информационную дорожку при одновременном управлении вращательным приводом дискового мотора ex405, чтобы следовать лазерному пятну. Модуль ex407 управления системой осуществляет общее управление модулем ex400 воспроизведения/записи информации. Процессы считывания и записи могут реализовываться посредством модуля ex407 управления системой с использованием различной информации, хранимой в буфере ex404, и формирования и добавления новой информации по мере необходимости, и посредством модуля ex402 записи модуляции, модуля ex403 демодуляции при воспроизведении и модуля ex406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ex401 при координированном управлении. Модуль ex407 управления системой включает в себя, например, микропроцессор и выполняет обработку посредством инструктирования компьютеру выполнять программу для считывания и записи.
Хотя оптическая головка ex401 излучает лазерное пятно в описании, она может выполнять запись с высокой плотностью с использованием света поля в ближней зоне.
Фиг.19 схематично иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности для записи носителя ex215 записи, направляющие канавки формируются по спирали, и информационная дорожка ex230 записывает заранее информацию адреса, указывающую абсолютную позицию на диске согласно изменению в форме направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для записи данных. Устройство, которое записывает и воспроизводит данные, воспроизводит информационную дорожку ex230 и считывает информацию адреса, чтобы определять позиции блоков записи. Кроме того, носитель ex215 записи включает в себя зону ex233 записи данных, зону ex232 внутренней окружности и зону ex234 внешней окружности. Зона ex233 записи данных является зоной для использования при записи пользовательских данных. Зона ex232 внутренней окружности и зона ex234 внешней окружности, которые находятся внутри и снаружи зоны ex233 записи данных, соответственно, предназначены для конкретного применения, за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или кодированные данные, полученные посредством мультиплексирования кодированных аудиоданных и кодированных видеоданных, из и в зону ex233 записи данных носителя ex215 записи.
Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается в качестве примера в описании, оптический диск не ограничен таким образом и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, к примеру, записи информации с использованием света цветов с различными длинами волн в одной части оптического диска и записи информации, имеющей различные слои, с различных углов.
Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные из спутника ex202 и т.п. и воспроизводить видео на дисплейном устройстве, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в системе ex200 цифровой широковещательной передачи. Здесь, конфигурация автомобильной навигационной системы ex211 является конфигурацией, например, включающей в себя приемный модуль GPS из конфигурации, проиллюстрированной на фиг.17. То же применимо для конфигурации компьютера ex111, сотового телефона ex114 и т.п. Кроме того, аналогично телевизионному приемнику ex300, терминал, такой как сотовый телефон ex114, может иметь 3 типа реализованных конфигураций, включающих в себя не только (i) передающий и приемный терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования.
По сути, способ кодирования изображений и способ декодирования изображений в варианте осуществления 1 могут использоваться в любых из описанных устройств и систем. Таким образом, могут получаться преимущества, описанные в варианте осуществления 1.
Кроме того, настоящее изобретение не ограничено вариантами осуществления и различными модификациями, и изменения возможны без отступления от объема настоящего изобретения.
(Третий вариант осуществления)
Каждый из способа кодирования изображений, устройства кодирования изображений, способа декодирования изображений и устройства декодирования изображений в каждом из вариантов осуществления типично осуществляется в форме интегральной схемы или большой интегральной (LSI) схемы. В качестве примера LSI фиг.20 иллюстрирует конфигурацию LSI ex500, которая состоит из одной микросхемы. LSI ex500 включает в себя элементы ex501-ex509, которые описываются ниже, и элементы подключены друг к другу через шину ex510. Модуль ex505 схемы электропитания активируется посредством предоставления в каждый из элементов питания, когда питание включено.
Например, когда кодирование выполняется, LSI ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и т.п. через AV IO ex509 под управлением модуля ex501 управления, включающего в себя CPU ex502, контроллер ex503 запоминающего устройства и потоковый контроллер ex504. Принимаемый AV-сигнал временно сохраняется в запоминающем устройстве ex511 вне рамок LSI ex500, таком как SDRAM. Под управлением модуля ex501 управления, сохраненные данные подразделяются на сегменты данных согласно объему и скорости обработки по мере необходимости. Затем сегменты данных передаются в процессор ex507 сигналов. Процессор ex507 сигналов кодирует аудиосигнал и/или видеосигнал. Здесь, кодирование видеосигнала - это кодирование, описанное в вариантах осуществления. Кроме того, процессор ex507 сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и потоковый ввод-вывод ex506 предоставляет мультиплексированные данные наружу. Предоставленный поток битов передается в базовую станцию ex107 или записывается на носитель ex215 записи. Когда наборы данных мультиплексируются, наборы данных должны временно сохраняться в буфере ex508 так, что наборы данных являются синхронизированными друг с другом.
Например, когда кодированные данные декодируются, LSI ex500 временно сохраняет, в запоминающем устройстве ex511, кодированные данные, полученные из базовой станции ex107 через потоковый ввод-вывод ex506 или считанные из носителя ex215 записи под управлением модуля ex501 управления. Под управлением модуля ex501 управления, сохраненные данные подразделяются на сегменты данных согласно объему и скорости обработки по мере необходимости. Затем сегменты данных передаются в процессор ex507 сигналов. Процессор ex507 сигналов декодирует аудиоданные и/или видеоданные. Здесь декодирование видеосигнала - это декодирование, описанное в вариантах осуществления. Кроме того, декодированный аудиосигнал и декодированный видеосигнал могут временно сохраняться в буфере ex508 и т.п. так, что сигналы могут воспроизводиться синхронно друг с другом. Каждый из модулей вывода, таких как сотовый телефон ex114, игровая машина ex115 и телевизионный приемник ex300, предоставляет декодированный выходной сигнал через, например, запоминающее устройство 511 по мере необходимости.
Хотя запоминающее устройство ex511 является элементом вне рамок LSI ex500 в описании, оно может быть включено в LSI ex500. Буфер ex508 не ограничен одним буфером, а может состоять из буферов. Кроме того, LSI ex500 может состоять из одной микросхемы или множества микросхем.
Используемым здесь названием является LSI, но она также может называться IC, системной LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.
Кроме того, способы достигать интеграции не ограничены LSI, и специальная схема или процессор общего назначения и т.д. также позволяет достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления LSI, или реконфигурируемый процессор, который дает возможность переконфигурирования соединения или конфигурации LSI, может использоваться для аналогичной цели.
В будущем, с развитием полупроводниковых технологий, совершенно новая технология может заменять LSI. Функциональные блоки могут быть интегрированы с использованием этой технологии. Имеется возможность того, что настоящее изобретение применимо к биотехнологии.
Хотя способ кодирования, устройство кодирования, способ декодирования и устройство декодирования в настоящем изобретении описываются на основе вариантов осуществления, настоящее изобретение не ограничено вариантами осуществления. Без отступления от объема настоящего изобретения, настоящее изобретение включает в себя вариант осуществления с определенными модификациями в вариантах осуществления, которые задумываются специалистами в данной области техники, и другой вариант осуществления, полученный через комбинации составляющих элементов и этапов различных вариантов осуществления в настоящем изобретении.
Промышленная применимость
Настоящее изобретение преимущественно используется в качестве способа кодирования и способа декодирования.
Список ссылочных позиций
10 - устройство кодирования
20 - модуль задания единиц доступа
30 - модуль определения единиц кодирования
40 - модуль определения типов полей
50, 60 - устройство декодирования
200, 202 - модуль
800 - модуль кодирования компонентов видов
802 - модуль вычисления числа байтов
804 - модуль вычисления числа серий последовательных макроблоков
806 - модуль вычисления максимального числа серий последовательных макроблоков
808, 812, 1006 - модуль сравнения
810 - модуль вычисления максимального числа байтов
814, 1010 - модуль переключения
900 - первый модуль кодирования компонентов видов
902, 1006, 1012, 1106 - запоминающее устройство
904 - второй модуль кодирования компонентов видов
1000 - модуль разделения компонентов видов
1002 - первый синтаксический анализатор заголовков серий последовательных макроблоков
1004 - второй синтаксический анализатор заголовков серий последовательных макроблоков
1008 - первый модуль декодирования типов A компонентов видов
1014 - второй модуль декодирования типов A компонентов видов
1016 - модуль декодирования типов B компонентов видов
1100 - модуль разделения компонентов полевых видов
1102 - первый модуль декодирования компонентов полевых видов
1104 - второй модуль декодирования компонентов полевых видов
ex100 - система предоставления содержимого
ex101 - Интернет
ex102 - поставщик Интернет-услуг
ex103 - сервер потоковой передачи
ex104 - телефонная сеть
ex106, ex107, ex108, ex109, ex110 - базовая станция
ex111 - компьютер
ex112 - PDA
ex113, ex116 - камера
ex114 - сотовый телефон, содержащий камеру (сотовый телефон)
ex115 - игровая машина
ex117 - микрофон
ex200 - система цифровой широковещательной передачи
ex201 - широковещательная станция
ex202 - широковещательный спутник (спутник)
ex203 - кабель
ex204, ex205, ex601 - антенна
ex210 - автомобиль
ex211 - автомобильная навигационная система
ex212 - устройство воспроизведения
ex213, ex219 - монитор
ex214, ex215, ex216, ex607 - носитель записи
ex217 - абонентская приставка (STB)
ex218 - модуль считывания/записи
ex220 - удаленный контроллер
ex230 - информационная дорожка
ex231 - блоки записи
ex232 - зона внутренней окружности
ex233 - зона записи данных
ex234 - зона внешней окружности
ex300 - телевизионный приемник
ex301 - тюнер
ex302 - модуль модуляции/демодуляции
ex303 - модуль мультиплексирования/демультиплексирования
ex304 - процессор аудиосигналов
ex305 - процессор видеосигналов
ex306, ex507 - процессор сигналов
ex307 - динамик
ex308, ex602 - дисплей
ex309 - модуль вывода
ex310, ex501 - модуль управления
ex311, ex505, ex710 - модуль схемы электропитания
ex312 - модуль функционального ввода
ex313 - мост
ex314, ex606 - модуль гнезда
ex315 - драйвер
ex316 - модем
ex317 - модуль интерфейса
ex318, ex319, ex320, ex321, ex404, ex508 - буфер
ex400 - модуль воспроизведения/записи информации
ex401 - оптическая головка
ex402 - модуль записи модуляции
ex403 - модуль демодуляции при воспроизведении
ex405 - дисковый мотор
ex406 - модуль сервоуправления
ex407 - модуль управления системы
ex500 - LSI
ex502 - CPU
ex503 - контроллер запоминающего устройства
ex504 - потоковый контроллер
ex506 - потоковый ввод-вывод
ex509 - AV I/O
ex510 - шина
ex603 - модуль камеры
ex604 - функциональные клавиши
ex605 - модуль аудиоввода
ex608 - модуль аудиовывода
ex701 - модуль схемы передачи и приема
ex702 - модуль управления ЖК-дисплеем
ex703 - модуль интерфейса камеры (I/F-модуль камеры)
ex704 - модуль управления функциональным вводом
ex705 - аудиопроцессор
ex706 - модуль модемной схемы
ex707 - модуль записи/воспроизведения
ex708 - модуль мультиплексирования/демультиплексирования
ex709 - модуль декодирования изображений
ex711 - главный модуль управления
ex712 - модуль кодирования изображений
ex713 - синхронная шина