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

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к способу кодирования изображения и способу декодирования изображения.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] В настоящее время большинство стандартизованных алгоритмов видеокодирования основаны на гибридном видеокодировании. Способы гибридного видеокодирования типично объединяют несколько различных схем сжатия без потерь и с потерями, чтобы достичь желательного выигрыша сжатия. Гибридное видеокодирование также является базой для стандартов ITU-T (стандартов Н.26х, таких как H.261 и Н.263), а также стандартов ISO/IEC (стандартов MPEG-X, таких как MPEG-1, MPEG-2 и MPEG-4).
[0003] Самым последним и расширенным стандартом видеокодирования является в настоящее время стандарт, обозначенный как стандарт Н.264/MPEG-4 расширенное видеокодирования (AVC), который является результатом усилий по стандартизации Объединенной видео группы (JVT), являющейся объединенным коллективом из групп ITU-T и ISO/IEC MPEG.
[0004] Стандарт видеокодирования, упоминаемый как Высокоэффективное видеокодирование (HEVC), в настоящее время исследуется Объединенной совместной группой по видеокодированию (JCT-VC) с целью улучшения эффективности относительно видеокодирования высокого разрешения.
ПЕРЕЧЕНЬ ССЫЛОК
НЕПАТЕНТНАЯ ЛИТЕРАТУРА
[0005] [Непатентный документ 1]: “Wavefront Parallel Processing for HEVC Encoding and Decoding” by C. Gordon et al., no. JCTVC-F274-v2, from the Meeting in Torino, July 2011
[Непатентный документ 2]: “Tiles” by A. Fuldseth et al., no. JCTVC-F355-v1, from the Meeting in Torino, July 2011
[Непатентный документ 3]: JCTVC-J1003_d7, “High efficiency video coding (HEVC) text specification draft 8” of July 2012
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
[0006] Существует необходимость в улучшении эффективности способов кодирования изображения и способов декодирования изображения в ситуации, где используются как параллельная обработка мозаичных элементов, так и независимые слайсы (слайсы).
[0007] Настоящее изобретение предназначено для обеспечения способа кодирования изображения и способа декодирования изображения, которые делают возможным повышение эффективности, когда используются как параллельная обработка мозаичных элементов, так и независимые слайсы.
РЕШЕНИЕ ЗАДАЧИ
[0008] Способ декодирования изображения согласно одному аспекту настоящего изобретения представляет собой способ декодирования изображения для декодирования битового потока, включающего в себя кодированный сигнал, являющийся результатом кодирования мозаичных элементов и слайсов (слайсов), на которые разделено изображение, причем способ содержит декодирование кодированного сигнала, причем каждый из слайсов является либо нормальным слайсом, имеющим, в заголовке, информацию, используемую для другого слайса, либо зависимым слайсом, который декодируется с использованием информации, включенной в заголовок слайса другого слайса, и когда нормальный слайс начинается с позиции иной, чем начало первого мозаичного элемента, второй мозаичный элемент, кодированный вслед за первым мозаичным элементом, не начинается с зависимого слайса.
[0009] Эти общие и специфические аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.
ПРЕДПОЧТИТЕЛЬНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
[0010] Настоящее изобретение успешно обеспечивает способ кодирования изображения и способ декодирования изображения, которые обеспечивают возможность повышения эффективности, когда используется как параллельная обработка мозаичных элементов, так и зависимые слайсы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0011] Фиг. 1 - блок-схема устройства кодирования изображения согласно вариантам осуществления.
Фиг. 2 - блок-схема устройства декодирования изображения согласно вариантам осуществления.
Фиг. 3А - схематичная диаграмма для иллюстрации WPP согласно вариантам осуществления.
Фиг. 3В - схематичная диаграмма для иллюстрации зависимых слайсов в WPP согласно вариантам осуществления.
Фиг. 4А - схематичная диаграмма для иллюстрации зависимых слайсов, когда WPP не применяется, согласно вариантам осуществления.
Фиг. 4В - схематичная диаграмма для иллюстрации зависимых слайсов, когда WPP применяется, согласно вариантам осуществления.
Фиг. 5 - диаграмма, показывающая заголовок слайса энтропийного слайса или зависимого слайса, согласно вариантам осуществления.
Фиг. 6 - диаграмма, показывающая примерную неразрешенную структуру слайсов, когда WPP применяется, согласно вариантам осуществления.
Фиг. 7 - диаграмма, показывающая примерную разрешенную структуру слайсов, когда WPP применяется, согласно вариантам осуществления.
Фиг. 8 - схематичная диаграмма, показывающая процесс инициализации CABAC, согласно вариантам осуществления.
Фиг. 9 - блок-схема последовательности операций для процесса определения в способе инициализации CABAC для зависимого слайса, зависящего от характеристик предшествующего слайса, согласно вариантам осуществления.
Фиг. 10 - диаграмма, показывающая примерную структуру слайсов согласно вариантам осуществления.
Фиг. 11 - диаграмма, показывающая примерную структуру слайсов согласно вариантам осуществления.
Фиг. 12 - диаграмма, показывающая примерный синтаксис заголовка слайса согласно варианту осуществления 1.
Фиг. 13 - блок-схема последовательности операций для процесса определения в способе инициализации CABAC для зависимого слайса, согласно варианту осуществления 1.
Фиг. 14 - диаграмма, показывающая примерное изображение (картинку), разделенное на слайсы, согласно варианту осуществления 2.
Фиг. 15 - блок-схема последовательности операций для процесса определения в способе инициализации CABAC согласно варианту осуществления 2.
Фиг. 16 - диаграмма, показывающая примерную картинку, разделенную на слайсы, согласно варианту осуществления 2.
Фиг. 17 - диаграмма, показывающая примерную картинку, разделенную на слайсы, согласно варианту осуществления 2.
Фиг. 18 - диаграмма, показывающая примерную картинку, разделенную на слайсы, согласно варианту осуществления 3.
Фиг. 19 - диаграмма, показывающая заголовок слайса, согласно варианту осуществления 4.
Фиг. 20 - диаграмма, показывающая примерную картинку, разделенную на мозаичные элементы, согласно варианту осуществления 4.
Фиг. 21А - диаграмма, показывающая порядок сканирования согласно варианту осуществления 4.
Фиг. 21В - диаграмма, показывающая порядок сканирования согласно варианту осуществления 4.
Фиг. 22А - диаграмма, показывающая соотношение между мозаичным элементом и слайсом согласно варианту осуществления 4.
Фиг. 22В - диаграмма, показывающая соотношение между мозаичным элементом и слайсом согласно варианту осуществления 4.
Фиг. 22С - диаграмма, показывающая соотношение между мозаичным элементом и слайсом согласно варианту осуществления 4.
Фиг. 23 - пример разделения картинки на мозаичные элементы и слайсы согласно варианту осуществления 4.
Фиг. 24 - диаграмма, показывающая порядок декодирования для картинки, разделенной на мозаичные элементы согласно варианту осуществления 4.
Фиг. 25А - диаграмма, показывающая примерную неразрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 25В - диаграмма, показывающая примерную разрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 25С - диаграмма, показывающая примерную разрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 26А - диаграмма, показывающая примерную неразрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 26В - диаграмма, показывающая примерную разрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 27А - диаграмма, показывающая примерную неразрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 27В - диаграмма, показывающая примерную разрешенную структуру слайсов согласно варианту осуществления 4.
Фиг. 28 - общая конфигурация системы предоставления контента для реализации услуг распространения контента.
Фиг. 29 - общая конфигурация цифровой широковещательной системы.
Фиг. 30 - блок-схема, иллюстрирующая пример конфигурации телевизора.
Фиг. 31 - блок-схема, иллюстрирующая пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, которым является оптический диск.
Фиг. 32 показывает пример конфигурации носителя записи, которым является оптический диск.
Фиг. 33A показывает пример сотового телефона.
Фиг. 33B - блок-схема, показывающая пример конфигурации сотового телефона.
Фиг. 34 иллюстрирует структуру мультиплексированных данных.
Фиг. 35 схематично показывает, каким образом каждый поток мультиплексирован в мультиплексированных данных.
Фиг. 36 более подробно показывает, как видеопоток сохранен в потоке PES-пакетов.
Фиг. 37 показывает структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 38 показывает структуру данных РМТ.
Фиг. 39 показывает внутреннюю структуру информации мультиплексированных данных.
Фиг. 40 показывает внутреннюю структуру информации атрибутов потока.
Фиг. 41 показывает этапы для идентификации видео данных.
Фиг. 42 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущегося изображения и способа декодирования движущегося изображения в соответствии с каждым из вариантов осуществления.
Фиг. 43 показывает конфигурацию для переключения между частотами возбуждения.
Фиг. 44 показывает этапы для идентификации видео данных и переключения между частотами возбуждения.
Фиг. 45 показывает пример справочной таблицы, в которой стандарты видео данных ассоциированы с частотами возбуждения.
Фиг. 46A - диаграмма, показывающая пример конфигурации для совместного использования модуля блока обработки сигналов.
Фиг. 46B - диаграмма, показывающая другой пример конфигурации для совместного использования модуля блока обработки сигналов.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0012] Базовые знания, формирующие основу настоящего изобретения
По отношению к способу кодирования изображения и способу декодирования изображения, раскрытым в разделе, характеризующем предшествующий уровень техники, изобретатели обнаружили следующую проблему.
[0013] Сначала описывается устройство кодирования изображения и устройство декодирования изображения в соответствии со стандартом HEVC.
[0014] Видеосигнал, введенный в устройство кодирования изображения, включает в себя изображения, каждое из которых упоминается как кадр (картинка). Каждый кадр включает в себя пикселы, упорядоченные в двумерной матрице. Во всех вышеупомянутых стандартах, основанных на гибридном видеокодировании, каждый индивидуальный кадр разделен на блоки, каждый из которых включает в себя пикселы. Размер блоков может варьироваться, например, в соответствии с контентом изображения. Различные способы кодирования могут использоваться на поблочной основе. Например, наибольший размер блоков равен 64 х 64 пикселов в HEVC. Этот наибольший размер упоминается как наибольшая единица кодирования (LCU). LCU может рекурсивно делиться на четыре единицы кодирования (CU).
[0015] В H.264/MPEG-4 AVC, кодирование выполняется на по-макроблочной основе (обычно по 16 × 16-пиксельному блоку). Существует случай, когда макроблок делится на субблоки.
[0016] Как правило, этап кодирования в гибридном видеокодировании включает в себя пространственное и/или временное предсказание. В общем, каждый из текущих блоков, подлежащих кодированию, предсказывается с использованием блоков, смежных с текущим блоком по пространству или во времени, то есть, кодированных видеокадров. Далее, вычисляется остаточный блок, который является разностью между текущим блоком и результатом предсказания. Далее, остаточный блок преобразуется из пространственной (пиксельной) области в частотную область. Преобразование направлено на снижение корреляции входного блока.
[0017] Далее, коэффициент преобразования, полученный в результате преобразования, квантуется. Это квантование является сжатием с потерями. Сжатие без потерь выполняется на полученном таким образом коэффициенте квантования с использованием энтропийного кодирования. Кроме того, дополнительная информация, необходимая для восстановления кодированного видеосигнала, кодируется и выводится с кодированным видеосигналом. Эта информация является, например, информацией о пространственном предсказании, временном предсказании и/или квантовании.
[0018] Фиг. 1 является блок-схемой, показывающей примерное устройство 100 кодирования изображения, совместимое с H.264/MPEG-4 AVC и/или HEVC.
[0019] Вычитатель 105 вычисляет разностный сигнал 106 (остаточный блок), который является разностью между текущим блоком, подлежащим кодированию, входного сигнала 101 изображения и соответствующим сигналом 181 предсказания (блоком предсказания). Сигнал 181 предсказания генерируется временным предсказанием или пространственным предсказанием с помощью модуля 180 предсказания. Тип предсказания может быть изменен на покадровой или поблочной основе. Блок и/или кадр, предсказанный с использованием временного предсказания, упоминается как интер-кодированный (межкадровое кодирование), а блок и/или кадр, предсказанный с использованием пространственного предсказания упоминается как интра-кодированный (внутрикадровое кодирование).
[0020] Сигнал предсказания, используемый для временного предсказания, получают с использованием кодированного и декодированного изображения, сохраненного в памяти. Сигнал предсказания, используемый для пространственного предсказания, получают с использованием граничных пиксельных значений смежных кодированных и декодированных блоков, хранящихся в памяти. Кроме того, число направлений интра-предсказания определяется в соответствии с размером блоков кодирования.
[0021] Остаточный сигнал 106 также упоминается как ошибка предсказания или остаток предсказания. Модуль 110 преобразования преобразует остаточный сигнал 106, чтобы генерировать коэффициент 111 преобразования. Модуль 120 квантования квантует коэффициент 111 преобразования, чтобы генерировать коэффициент 121 квантования. Модуль 190 энтропийного кодирования выполняет энтропийное кодирование над коэффициентом 121 квантования, с целью дальнейшего снижения в количестве данных для сохранения и передачи без потерь. Например, энтропийное кодирование является кодированием переменной длины. Кроме того, длина кодового слова определяется на основе вероятности появления кода.
[0022] Кодированный сигнал 191 (кодированный битовый поток) генерируется посредством приведенной выше обработки.
[0023] Устройство 100 кодирования изображения включает в себя модуль декодирования для получения декодированного сигнала изображения (восстановленного сигнала изображения). В частности, модуль 130 обратного преобразования выполняет обратное квантование и обратное преобразование над коэффициентом 121 квантования для генерации остаточного сигнала 131. Этот остаточный сигнал 131 строго отличается от исходного остаточного сигнала 106 из-за ошибки квантования, также называемой шумом квантования.
[0024] Далее, сумматор 140 суммирует остаточный сигнал 131 и сигнал 181 предсказания для генерации декодированного сигнала 141 изображения. Как указано выше, чтобы сохранить совместимость между устройством кодирования изображения и устройством декодирования изображения, каждое из устройства кодирования изображения и устройства декодирования изображения генерирует сигнал 181 предсказания с использованием кодированного и декодированного сигнала изображения.
[0025] При квантовании, шум квантования накладывается на декодированный сигнал 141 изображения. Наложенный шум часто отличается для каждого из блоков из-за кодирования, выполняемого на поблочной основе. При этом, когда выполняется особенно сильное квантование, границы блоков декодированного сигнала изображения становятся заметными. Такой шум блочности вызывают то, что качество изображения может казаться ухудшенным в визуальном восприятии человеком. Чтобы уменьшить шум блочности, фильтр 150 устранения блочности выполняет обработку фильтра устранения блочности над декодированным сигналом 141 изображения.
[0026] Например, в обработке фильтра устранения блочности в H.264/MPEG-4 AVC, обработка фильтра, подходящая для каждой из областей, выбирается для каждой области. Например, когда шум блочности велик, используется сильный (узкополосный) фильтр нижних частот, а когда шум блочности мал, используется слабый (широкополосный) фильтр нижних частот. Интенсивность фильтра нижних частот определяется в соответствии с сигналом 181 предсказания и остаточным сигналом 131. Обработка фильтра устранения блочности сглаживает края блоков. При этом субъективное качество изображения декодированного сигнала изображения увеличивается. Изображение, на котором была выполнена обработка фильтра, используется для предсказания компенсации движения следующего изображения. Следовательно, эта обработка фильтра снижает ошибку предсказания, тем самым увеличивая эффективность кодирования.
[0027] Адаптивный контурный фильтр 160 выполняет обработку адаптивного к выборке смещения и/или обработку адаптивного контурного фильтра над декодированным сигналом 151 изображения после обработки фильтра устранения блочности для генерации декодированного сигнала 161 изображения. Как указано выше, обработка фильтра устранения блочности повышает субъективное качество изображения. В отличие от этого, обработка адаптивного к выборке смещения (SАО) и обработка адаптивного контурного фильтра (ALF) направлены на повышение надежности на попиксельной основе (объективное качество).
[0028] SАО представляет собой обработку для добавления значения смещения к пикселю в соответствии с соседними пикселями. ALF используется для компенсации искажения изображения, вызванного сжатием. Например, ALF является фильтром Винера, имеющим коэффициент фильтра, определяемый таким образом, что среднеквадратичная ошибка (MSE) между декодированным сигналом 151 изображения и входным сигналом 101 изображения минимизируется. Например, коэффициент ALF вычисляется и передается на покадровой основе. Кроме того, ALF может применяться ко всему кадру (изображению) или локальной области (блоку). Кроме того, вспомогательная информация, указывающая область, над которой должна выполняться обработка фильтра, может передаваться на поблочной основе, на покадровой основе или на основе квадродерева.
[0029] Для декодирования интер-кодированного блока, необходимо хранить в буфере 170 опорных кадров часть кодированного и декодированного изображения. Буфер 170 опорных кадров хранит декодированный сигнал 161 изображения в качестве декодированного сигнала 171 изображения. Модуль 180 предсказания выполняет интер-предсказание с использованием предсказания компенсации движения. В частности, модуль оценки движения сначала выполняет поиск среди блоков, включенных в кодированный и декодированный кадр видео, на наличие блока, наиболее сходного с текущим блоком. Этот сходный блок используется в качестве сигнала 181 предсказания. Относительное смещение (движение) между текущим блоком и сходным блоком передается в качестве данных движения на устройство декодирования изображения. Этими данными движения являются, например, трехмерные векторы движения, включенные во вспомогательную информацию, предоставляемую с кодированными видеоданными. Здесь выражение "трехмерный" включает в себя два пространственных измерения и одно временное измерение.
[0030] Следует отметить, что для оптимизации точности предсказания, может использоваться вектор движения, имеющий пространственное субпиксельное разрешение, такое как разрешение в полпикселя и разрешение в четверть пикселя. Вектор движения, имеющий пространственное субпиксельное разрешение, указывает пространственное положение в декодированном кадре, где не существует пиксельное значение, то есть положение субпикселя. Таким образом, необходимо пространственно интерполировать пиксельное значение для выполнения предсказания компенсации движения. Это интерполяции выполняется, например, с помощью фильтра интерполяции (включенного в модуль 180 предсказания, показанный на фиг. 1).
[0031] Как в режиме интра-кодирования, так и в режиме интер-кодирования, коэффициент 121 квантования генерируется путем преобразования и квантования остаточного сигнала 106, который является разностью между входным сигналом 101 изображения и сигналом 181 предсказания. Как правило, модуль 110 преобразования использует для этого преобразования двумерное дискретное косинусное преобразование (DCT) или ортогональное преобразование, которое представляет собой целочисленную версию DCT. Это эффективно снижает корреляцию естественного видео. Кроме того, низкочастотный компонент, как правило, более важен для качества изображения, чем высокочастотный компонент, и, таким образом, большее количество битов используются для низкочастотного компонента, чем для высокочастотного компонента.
[0032] Модуль 190 энтропийного кодирования преобразует двумерный массив коэффициентов 121 квантования в одномерный массив. Как правило, так называемое зигзагообразное сканирование используется для этого преобразования. При зигзагообразном сканировании, двумерный массив сканируется в предопределенном порядке от DC коэффициента в левом верхнем углу двумерного массива до АС коэффициента в его правом нижнем углу. Энергия обычно концентрируется в коэффициентах в левой верхней части двумерного массива, которые соответствуют низкой частоте, и, таким образом, когда выполняется зигзагообразное сканирование, последние значения, как правило, равны нулю. При этом можно достичь эффективного кодирования, используя кодирование длины прогона как предварительную обработку энтропийного кодирования или ее часть.
[0033] В H.264/MPEG-4 AVC и HEVC используются различные типы энтропийного кодирования. Хотя кодирование фиксированной длины выполняется на некоторых синтаксических элементах, кодирование переменной длины выполняется на большинстве синтаксических элементов. В частности, контекстно-адаптивное кодирование переменной длины выполняется на остатке предсказания, и различные другие типы целочисленного кодирования выполняются на других синтаксических элементах. Кроме того, существует также случай, когда используется контекстно-адаптивное двоичное арифметическое кодирование (CABAC).
[0034] Кодирование переменной длины обеспечивает возможность сжатия без потерь кодированного битового потока. Однако кодовые слова имеют переменную длину, и, таким образом, необходимо постоянно декодировать кодовые слова. Другими словами, прежде чем предшествующее кодовое слово будет кодировано или декодировано, следующее кодовое слово не может кодироваться или декодироваться без перезапуска (инициализации) энтропийного кодирования или без отдельного указания положения первого кодового слова (точки входа), когда выполняется декодирование.
[0035] Битовая последовательность кодируется в одно кодовое слово путем арифметического кодирования на основе предопределенной вероятностной модели. Предопределенная вероятностная модель определяется на основе контентов видеопоследовательности в случае CABAC. Таким образом, арифметическое кодирование и CABAC выполняются более эффективно, когда длина битового потока, подлежащего кодированию, больше. Иными словами, CABAC, применяемое к битовой последовательности, является более эффективным в большем блоке. CABAC перезапускается в начале каждой последовательности. Иными словами, вероятностная модель инициализируется в начале каждой видеопоследовательности с определенным значением или предопределенным значением.
[0036] H.264/MPEG-4, H.264/MPEG-4 AVC и HEVC включают в себя два функциональных уровня: уровень видеокодирования (VCL) и сетевой уровень абстракции (NAL). Уровень видеокодирования обеспечивает функцию кодирования. NAL инкапсулирует информационные элементы в стандартные единицы, называемые NAL единицами, в зависимости от использования, такого как передача по каналу или сохранение в запоминающем устройстве. Информационные элементы представляют собой, например, кодированные сигналы ошибки предсказания и информацию, необходимую для декодирования видеосигнала. Информацией, необходимой для декодирования видеосигнала, является тип предсказания, параметр квантования, вектор движения и так далее.
[0037] Каждая из NAL единиц может быть классифицирована на VCL NAL единицу, включающую в себя сжатые видеоданные и соответствующую информацию; не-VCL единицу, инкапсулирующую дополнительные данные, такие как набор параметров, относящийся ко всей видеопоследовательности; и дополнительную информацию расширения (SEI) для обеспечения дополнительной информации, используемой для повышения точности декодирования.
[0038] Например, не-VCL единица включает в себя набор параметров. Набор параметров относится к набору параметров, относящихся к кодированию и декодированию определенной видеопоследовательности. Примеры набора параметров включают в себя набор параметров последовательности (SPS), включающий в себя параметры, относящиеся к кодированию и декодированию всей видеопоследовательности (последовательности картинок).
[0039] Набор параметров последовательности имеет структуру синтаксиса, включающую в себя синтаксические элементы. Набор параметров картинки (PPS), к которому можно обращаться, задается посредством pic_parameter_set_id, синтаксического элемента, включенного в каждый заголовок слайса (слайса). Кроме того, SPS, к которому можно обращаться, задается посредством seq_parameter_set_id, синтаксического элемента, включенного в PPS. Как указано выше, синтаксические элементы, включенные в SPS, применяются ко всей кодированной видеопоследовательности.
[0040] PPS представляет собой набор параметров, который определяет параметры, применяемые к кодированию и декодированию одной картинки, включенной в видеопоследовательность. PPS имеет структуру синтаксиса, включающую в себя синтаксические элементы. Набор параметров картинки (PPS), к которому можно обращаться, задается посредством pic_parameter_set_id, синтаксического элемента, включенного в каждый заголовок слайса. Как указано выше, синтаксические элементы, включенные в SPS, применяются ко всей кодированной картинке.
[0041] Таким образом, легче отслеживать SPS, чем PPS. Это объясняется тем, что PPS изменяется для каждой картинки, в то время как SPS остается постоянным в течение всей видеопоследовательности, которая может длиться в течение нескольких минут или нескольких часов.
[0042] VPS представляет параметры в наивысшем уровне и включает в себя информацию, относящуюся к видеопоследовательностям. Информацией, включенной в VPS, является скорость передачи данных, temporal_layering структура видеослайсов и так далее. Кроме того, VPS содержит информацию о зависимости между уровнями (зависимости между различными видеопоследовательностями). В результате, VPS можно рассматривать как информацию о видеопоследовательностях, и общая схема каждой из видеопоследовательностей может быть получена на основе VPS.
[0043] Фиг. 2 является блок-схемой, показывающей примерное устройство 200 декодирования изображения, совместимое с H.264/MPEG-4 AVC или HEVC стандартом видеокодирования.
[0044] Кодированный сигнал 201 (битовый поток), вводимый в устройство 200 декодирования изображения, передается на модуль 290 энтропийного декодирования. Модуль 290 энтропийного декодирования декодирует кодированный сигнал 201, чтобы получить коэффициент квантования и информационные элементы, необходимые для декодирования, такие как данные движения и режим предсказания. Кроме того, модуль 290 энтропийного декодирования подвергает обратному сканированию полученный коэффициент квантования с целью получения двумерного массива, чтобы генерировать коэффициент 291 квантования, и выводит коэффициент 291 квантования на модуль 230 обратного преобразования.
[0045] Модуль 230 обратного преобразования подвергает обратному квантованию и преобразует коэффициент 291 квантования для генерации остаточного сигнала 231. Остаточный сигнал 231 соответствует разности, полученной вычитанием сигнала предсказания из входного сигнала изображения, который не имеет шума квантования и ошибки и вводится в устройство кодирования изображения.
[0046] Модуль 280 предсказания генерирует сигнал 281 предсказания, используя временное предсказание или пространственное предсказание. Как правило, декодированные информационные элементы дополнительно включают в себя информацию, такую как тип предсказания в случае интра-предсказания, или информацию, необходимую для предсказания, такую как данные движения в случае предсказания компенсации движения.
[0047] Сумматор 240 суммирует остаточный сигнал 231 в пространственной области и сигнал 281 предсказания, генерируемый модулем 280 предсказания, для генерации декодированного сигнала 241 изображения. Фильтр 250 устранения блочности выполняет обработку фильтра устранения блочности над декодированным сигналом 241 изображения для генерации декодированного сигнала 251 изображения. Адаптивный контурный фильтр 260 выполняет обработку адаптивного к выборке смещения и обработку адаптивного контурного фильтра над декодированным сигналом 251 изображения, для генерации декодированного сигнала 261 изображения. Декодированный сигнал 261 изображения выводится в качестве отображаемого изображения и сохраняется как декодированный сигнал 271 изображения в буфере 270 опорных кадров. Декодированный сигнал 271 изображения используется для последующего блочного или временного или пространственного предсказания изображения.
[0048] По сравнению с H.264/MPEG-4 AVC, HEVC имеет функцию для содействия продвижению параллельной обработке кодирования и декодирования. Как H.264/MPEG-4 AVC, HEVC позволяет разделение кадра на слайсы. Здесь каждый из слайсов включает в себя последовательные LCU в порядке сканирования. В H.264/MPEG-4 AVC, каждый слайс является декодируемым, и пространственное предсказание не выполняется между слайсами. Таким образом, можно выполнить параллельную обработку на по-слайсной основе.
[0049] Однако слайс имеет значительно большой заголовок, и отсутствует зависимость между слайсами, тем самым уменьшая эффективность сжатия. Кроме того, когда CABAC выполняется на малом блоке данных, эффективность CABAC уменьшается.
[0050] В ответ на это была предложена волновая параллельная обработка (WPP), чтобы обеспечить более эффективную параллельную обработку. В WPP, вероятностная модуль, после того как вторая LCU в предыдущей строке обработана, используется в качестве вероятностной модели CABAC для сброса первой LCU (ведущей LCU) в каждой из LCU строк (в дальнейшем также просто называемых "строками") картинки. Это сохраняет зависимость между блоками. Таким образом, можно декодировать LCU строки параллельно. Кроме того, обработка каждой строки задерживается на две LCU по отношению к предыдущей строке.
[0051] Информация, указывающая точку входа, позицию, в которой запускается декодирование LCU строки, сигнализируется в заголовке слайса. Следует отметить, что непатентный документ (NPL) 1 детально описывает WPP.
[0052] Способ с использованием мозаичного элемента доступен в качестве еще одного подхода к усилению распараллеливания. Кадр (картинка) разбивается на мозаичные элементы. Каждый из мозаичных элементов является прямоугольным и включает в себя LCU. Границы между мозаичными элементами установлены, чтобы разделять картинку на матрицы. Кроме того, мозаичные элементы обрабатываются в порядке растрового сканирования.
[0053] Все зависимости теряются на границе каждого мозаичного элемента. Энтропийное кодирование, такое как CABAC сбрасывается в начале мозаичного элемента. Следует отметить, что только обработка фильтра устранения блочности и обработка адаптивного к выборке смещения применяются через границы между мозаичными элементами. Таким образом, можно кодировать или декодировать мозаичные элементы параллельно. Следует отметить, что непатентный документ (NPL) 2 и непатентный документ (NPL) 3 детально описывают мозаичные элементы.
[0054] Кроме того, концепции зависимого слайса и энтропийного слайса были предложены, чтобы сделать концепцию слайса более подходящей для распараллеливания, чем для устойчивости к ошибкам, являющейся первоначальной целью слайсов в H.264/MPEG-4 AVC. Другими словами, следующие три типа слайсов используются в HEVC: нормальный слайс, зависимый слайс и энтропийный слайс.
[0055] Нормальный слайс представляет собой слайс, уже известный из H.264/MPEG-4 AVC. Пространственное предсказание не может быть выполнено между нормальными слайсами. Короче говоря, предсказание не может быть выполнено через границы между слайсами. Иными словами, нормальный слайс кодируется без ссылки на другой слайс. CABAC перезапускается в начале каждого слайса, чтобы обеспечить отдельное декодирование слайса.
[0056] Нормальный слайс используется для начала кадра. Иными словами, каждый кадр должен начинаться с нормального слайса. Нормальный слайс имеет заголовок, включающий в себя параметры, необходимые для декодирования данных слайса.
[0057] Энтропийный слайс является слайсом, который обеспечивает пространственное предсказание, например, между родительским слайсом и энтропийным слайсом. Здесь, родительский слайс является нормальным слайсом, предшествующим энтропийному слайсу. Родительский слайс и энтропийный слайс подвергаются синтаксическому анализу независимо.
[0058] Данные слайса подвергаются синтаксическому анализу независимо от родительского слайса и энтропийного слайса, за исключением синтаксических элементов заголовка слайса. Другими словами, CABAC декодирование энтропийного слайса требует синтаксических элементов, включенных в заголовок слайса родительского слайса. Например, синтаксические элементы включают в себя информацию переключения, указывающую, включают ли в себя данные слайса параметры фильтрации. Когда данные слайса включают в себя параметры фильтрации, модуль САВАС декодирования извлекает информацию переключения. В противном случае, модуль САВАС декодирования не предполагает фильтрации данных. Иными словами, после синтаксического анализа заголовка слайса нормального слайса, модуль САВАС декодирования способен обрабатывать родительский слайс и энтропийный слайс параллельно.
[0059] Однако родительский слайс может быть, например, нормальным слайсом и необходим для восстановления пиксельных значений энтропийного слайса. Кроме того, CABAC перезапускается в начале слайса, чтобы позволить независимый синтаксический анализ энтропийного слайса.
[0060] Заголовок слайса более короткий, чем заголовок слайса нормального слайса, может быть использован для энтропийного слайса. Заголовок слайса включает в себя поднабор параметров кодирования относительно информации, передаваемой в заголовке слайса нормального слайса. Информация, не включенная в заголовок слайса энтропийного слайса, копируется из заголовка слайса родительского слайса.
[0061] Зависимый слайс подобен энтропийному слайсу, для которого CABAC не перезапускается. Перезапуск CABAC включает в себя процесс инициализации, в котором контекстная таблица (таблица вероятностей) инициализируется в значение по умолчанию, и процесс завершения (завершить процесс) в арифметическом кодировании или арифметическом декодировании.
[0062] Заголовок слайса родительского слайса используется для синтаксического анализа и/или декодирования зависимого слайса. Поскольку зависимый слайс не может синтаксически анализироваться без родительского слайса, когда родительский слайс не получен, зависимый слайс не может декодироваться. Родительский слайс обычно является слайсом, предшествующим зависимому слайсу в порядке кодирования и включающим в себя полный заголовок слайса. То же самое верно для родительского слайса энтропийного слайса.
[0063] В общем, энтропийный слайс может рассматриваться как зависимый от параметров заголовка другого слайса, и, таким образом, настоящее изобретение может быть применено как к зависимому слайсу, так и энтропийному слайсу.
[0064] Как описано выше, зависимый слайс и энтропийный слайс используют заголовок слайса (информацию, не включенную в заголовок слайса зависимого слайса) предыдущего слайса в порядке кодирования слайсов. Это правило рекурсивно применяется. Установлено, что к родительскому слайсу, от которого зависит целевой зависимый слайс, можно обращаться. Обращение включает в себя использование пространственного предсказания между слайсами, общего состояния CABAC и так далее. Зависимый слайс использует контекстную таблицу CABAC, сгенерированную в конце предыдущего слайса. Таким образом, зависимый слайс непрерывно использует сгенерированную таблицу без инициализации таблицы CABAC в значение по умолчанию. NPL 3 описывает энтропийный слайс и зависимый слайс (см. "dependent_slice_flag" на стр. 73, например).
[0065] В случае использования WPP, когда зависимый слайс начинается с начала LCU строки, и слайс, включающий в себя LCU, расположенную сверху справа от начала LCU строки, указывается как допустимый для обращения, зависимый слайс использует контекстную таблицу CABAC для LCU.
[0066] HEVC представляет несколько профилей. Профиль включает в себя настройки устройства кодирования изображения и устройства декодирования изображения, подходящие для конкретного приложения. Например, "основной профиль" включает в себя только нормальные слайсы и зависимые слайсы, но не энтропийные слайсы.
[0067] Как указано выше, кодированный слайс инкапсулируется в NAL единицу, дополнительно инкапсулированную, например, в протокол реального времени (RTP) и, наконец, инкапсулированную в пакет Интернет-протокола (IP). Этот стек протоколов или другой стек протоколов позволяет осуществлять передачу кодированного видео в сети Интернет или пакетно-ориентированной сети, такой как проприетарная сеть.
[0068] Как правило, сеть включает в себя по меньшей мере один маршрутизатор, и маршрутизатор включает в себя специализированные аппаратные средства, которые работают на сверхвысокой скорости. Маршрутизатор получает IP-пакеты, синтаксически анализирует их заголовки и соответствующим образом направляет IP-пакеты в их соответствующие места назначения. Маршрутизатор необходим для обработки передач из многих источников, и, таким образом пакеты, которые управляют логикой, должны быть как можно более простыми. Маршрутизатору по меньшей мере требуется проверить поля адресов мест назначения, включенные в IP заголовки, для определения путей, через которые пересылаются IP пакеты. Интеллектуальный (осведомленный о среде передачи) маршрутизатор дополнительно проверяет специальные поля в заголовках сетевых протоколов, таких как IP-заголовки, RTP-заголовки и NALU-заголовки, чтобы дополнительно обеспечивать поддержку для качества обслуживания (QoS).
[0069] Как видно из приведенного выше описания видеокодирования, различные типы слайсов, определенные для параллельной обработки, такие как зависимый слайс и энтропийный слайс, различаются по значимости для снижения качества изображения, когда данные потеряны. Зависимый слайс не может синтаксически анализироваться и декодироваться без родительского слайса. Это объясняется тем, что модуль энтропийного кодирования или модуль энтропийного декодирования не могут перезапускаться в начале зависимого слайса. Таким образом, родительский слайс, можно сказать, более важен в восстановлении изображения или видео, чем родительский слайс.
[0070] В HEVC, зависимый слайс и энтропийный слайс имеют зависимость между слайсами (зависимость в кадре) в качестве дополнительного аспекта зависимости. Эта зависимость является не только зависимостью в кадре.
[0071] Поскольку параллельная обработка слайсов выполняется для каждого мозаичного элемента, контексты модуля арифметического кодирования и модуля арифметического декодирования определяются настройками по умолчанию или кодированными или декодированными слайсами. Однако зависимость заголовка и зависимость инициализации арифметического кодирования отличаются друг от друга, и, таким образом, существует возможность задержки или дополнительной сложности в противоречии с целями параллельной обработки и механизма зависимого слайса.
[0072] Зависимый слайс может быть использован в сочетании с инструментом параллельной обработки, таким как WPP и мозаичные элементы. Кроме того, волновой фронт (субпоток), который позволяет сократить задержку передачи, не вызывая потерю кодирования, может быть сгенерирован с использованием зависимого слайса.
[0073] CABAC не перезапускается для зависимого слайса, и, таким образом, зависимый слайс может быть использован в качестве точки входа субпотока CABAC. Кроме того, чтобы указывать на точку входа для независимого синтаксического анализа, информация, указывающая точку входа, может сигнализироваться в битовом потоке. В частности, когда два или более субпотока CABAC инкапсулированы в нормальном слайсе или зависимом слайсе, точка входа сигнализируется явно, с помощью числа байтов для каждого субпотока. Здесь субпоток показывает часть потока, отдельно синтаксически анализируемую на основе точки входа. Кроме того, каждый зависимый слайс требует заголовка NAL единицы, и, таким образом, зависимый слайс может быть использован в качестве "маркера" точки входа. Короче говоря, точка входа, соответствующая такому маркеру, может сигнализироваться.
[0074] Можно одновременно использовать способ явной сигнализации точки входа и способ маркировки точки входа через зависимый слайс. Здесь существует необходимость идентифицировать точку входа каждой NAL единицы (начало каждого NAL заголовка). Следует отметить, что любой способ может быть использован для способа идентификации. Например, могут быть использованы следующие два способа.
[0075] Первый способ предусматривает, например, вставку стартового кода из 3 байтов в начале каждого NAL заголовка. Второй способ предусматривает пакетирование каждой NAL единицы в другой пакет. Кроме того, размер заголовка слайса может быть уменьшен вследствие зависимости слайса.
[0076] Эти способы позволяют осуществлять параллельный CABAC синтаксический анализ энтропийного слайса. Это объясняется тем, что CABAC всегда перезапускается в начале энтропийного слайса. В параллельной обработке CABAC, узкое место может быть преодолено путем параллельного CABAC синтаксического анализа после обработки последовательного пиксельного восстановления. В частности, с инструментом WPP параллелизации, декодирование каждой LCU строки может быть достигнуто посредством одного процессорного ядра. Следует отметить, что различные LCU строки могут быть назначены соответствующим ядрам. Например, две строки могут быть назначены одному ядру, или одна строка может быть назначена двумя ядрам.
[0077] Фиг. 3A является диаграммой, показывающей картинку 300, разделенную на строки. Каждая из строк содержит наибольшие единицы кодирования (LCU). Строка 301 (волновой фронт 1) и строка 302 (волновой фронт 2) обрабатываются параллельно. Как показано стрелкой САВАС состояний на фиг. 3A, после того, как первые две LCU декодируются в строке 301, запускается обработка строки 302. Кроме того, CABAC состояния, после того как первые две LCU строки 301 кодированы или декодированы, используются для CABAC инициализации строки 302. Таким образом, обработка строки 302 может быть запущена после того, как обработка первых двух LCU в строке 301 закончена. Короче говоря, задержка в две LCU существует между двумя процессорными ядрами.
[0078] Фиг. 3B является схемой, показывающей пример использования зависимых слайсов для WPP. Картинка 310, показанная на фиг. 3B, включает в себя на строки 311-314. Здесь строка 311 (волновой фронт 1), строка 312 (волновой фронт 2) и строка 313 (волновой фронт 3) обрабатываются с использованием отдельных ядер.
[0079] Зависимые слайсы допускают WPP, которая способна уменьшать задержку. Зависимые слайсы не имеют полного заголовка слайса. Более того, когда точки входа (точки входа зависимых слайсов, которые известны из вышеуказанного правила) известны, зависимые слайсы могут быть декодированы независимо от других слайсов. Кроме того, зависимые слайсы допускают WPP, подходящую для приложений с малой задержкой, не вызывая потерю кодирования.
[0080] В нормальном случае, когда субпоток (LCU строка) инкапсулирован в слайс, необходимо вставить четкую точку входа в заголовок слайса, чтобы надежно выполнять энтропийное кодирование и энтропийное декодирование параллельно. По этой причине, передача слайса может быть подготовлена только после того, как последний субпоток слайса полностью кодирован. Кроме того, заголовок слайса завершается только после того, как кодирование всех субпотоков в слайсе закончено. Другими словами, передача начала слайса не может быть запущена через фрагментацию пакетов на RTP/IP уровне до тех пор, пока обработка всего слайса не будет завершена.
[0081] Однако, при использовании зависимого слайса, зависимый слайс может быть использован в качестве маркера точки входа, и, таким образом, нет необходимости выполнять уведомление, с использованием явного сигнала, точки входа. Следовательно, можно разделить нормальный слайс на несколько зависимых слайсов без потери кодирования. Кроме того, зависимые слайсы могут быть переданы немедленно после того, как кодирование инкапсулированного субпотока закончено (или перед кодированием в случае фрагментации пакета).
[0082] Зависимые слайсы не уменьшают зависимость пространственного предсказания. Кроме того, зависимые слайсы не уменьшают зависимость синтаксического анализа. Это объясняется тем, что синтаксический анализ целевого зависимого слайса обычно требует CABAC состояний предшествующего слайса.
[0083] Когда зависимый слайс не допускается, каждая LCU строка может быть использована в качестве слайса. Хотя такая конфигурация уменьшает задержку передачи, одновременно вызывается значительная потеря кодирования, как указано выше.
[0084] Нижеизложенное предполагает случай, когда весь кадр (картинка) инкапсулирован в один слайс. В этом случае, чтобы сделать возможным параллельный синтаксический анализ, необходимо сигнализировать, в заголовке слайса, точку входа субпотока (LCU строки). Это вызывает задержку передачи на уровне кадра. Иными словами, необходимо изменить заголовок после того, как весь кадр кодирован. Инкапсуляция всей картинки в один слайс не ухудшает задержку передачи. Например, передача части слайса может быть начата перед тем, как кодирование полностью завершено. Однако, когда используется WPP, необходимо изменить заголовок слайса позже, чтобы указать точку входа. Таким образом, необходимо задержать передачу всего слайса.
[0085] Как указано выше, использование зависимого слайса позволяет уменьшить задержку. Как показано на фиг. 3B, картинка 310 разделена на строку 311, нормальный слайс, и строки 312, 313 и 314, зависимые слайсы. Когда каждая строка является одним зависимым слайсом, то можно задержать передачу одной строки без потери кодирования. Это объясняется тем, что зависимый слайс не уменьшает зависимость пространственного предсказания и не перезапускает механизм CABAC.
[0086] На каждой из фиг. 4А и фиг. 4B представлена диаграмма, показывающая другой пример инициализации CABAC. Фиг. 4А показывает инициализацию CABAC, когда WPP не используется. Не используется как WPP, так и мозаичные элементы. Допускается совместное использование нормальных слайсов и зависимых слайсов.
[0087] Зависимый слайс (3) копирует заголовок нормального слайса (2). В общем, нормальный слайс (2) является родительским слайсом зависимого слайса (3). Зависимый слайс (3) использует контекстную таблицу, сгенерированную в конце нормального слайса (2). Зависимый слайс (3) зависит не от нормального слайса (1), а от нормального слайса (2). Одним словом, пространственное предсказание не существует между нормальным слайсом (1) и зависимым слайсом (3).
[0088] Фиг. 4B является диаграммой, показывающей инициализацию CABAC, когда WPP используется. Допускается совместное использование нормальных слайсов, зависимых слайсов и WPP.
[0089] Зависимый слайс (3) копирует заголовок нормального слайса (2). Зависимый слайс (3) будет использовать контекстную таблицу, сгенерированную в конце второй LCU нормального слайса (1). Однако, так как слайс (2) является нормальным слайсом, то указывается, что на вторую LCU слайса (1) невозможно ссылаться. В общем, слайс (1) не допустим для обращения, так как слайс (1) не является непосредственно предшествующим слайсом зависимого слайса в порядке кодирования.
[0090] Однако слайс (2) используется в качестве опорного слайса для слайса (3) и слайса (4). Другими словами, когда запускается декодирование слайса (3), необходимо инициализировать CABAC состояния в значение по умолчанию (обозначено пунктирной стрелкой на фиг. 4B). Зависимый слайс (4) использует CABAC состояния (сплошная стрелка) после правой верхней второй LCU, которая соответствует вышеупомянутым условиям WPP.
[0091] Фиг. 5 является схемой, показывающей примерный синтаксис заголовка слайса, совместимого с текущей опорной моделью HEVC (HM8.0). Заголовок 320 слайса включает в себя синтаксический элемент dependent_slice_flag (флаг зависимого слайса), который указывает, является ли целевой слайс зависимым слайсом или нормальным слайсом.
[0092] Как видно из строки 321 на фиг. 5, когда dependent_slice_flag равен 0, заголовок включает в себя информацию заголовка слайса. В общем, слайс имеет полный заголовок. В противном случае, заголовок не включает в себя информацию заголовка слайса. Иными словами, как и выше, зависимый слайс и энтропийный слайс не имеют полного заголовка слайса и обращаются к заголовку предыдущего нормального слайса.
[0093] Точки входа сигнализируются позже, чтобы поддерживать параллельную обработку. Даже тогда, когда модуль энтропийного кодирования или модуль энтропийного декодирования не перезапускаются, можно выполнить независимо параллельное декодирование части видеопотока (субпотока) между точками входа, используя точки входа. Как указано выше, точки входа маркированы для зависимого слайса, нормального слайса и энтропийного слайса.
[0094] В HEVC доступно несколько инструментов параллельной обработки. Как упоминалось выше, инструменты включают WPP, зависимый слайс, энтропийный слайс и мозаичный элемент. Однако, поскольку эти инструменты не совместимы друг с другом, существует предел для объединенного использования этих инструментов. Использование мозаичного элемента и слайса вместе обычно допустимо.
[0095] Однако существует ограничение, состоящее в том, что в основном профиле один слайс должен быть подразделен на целое число мозаичных элементов, большее или равное 1, и один мозаичный элемент должен быть подразделен на целое число слайсов, большее или равное 1. Это ограничение обычно применяется к конкретному профилю (или конкретному уровню профиля). Целью ограничения является снижение сложности аппаратной реализации.
[0096] Когда entropy_coding_sync_enabled_flag (флаг разрешенной синхронизации энтропийного кодирования) PPS равен 1 (то есть, используется WPP), и первый блок кодирования в слайсе не является первым блоком кодирования первого блока дерева кодирования в строке блоков дерева кодирования в мозаичном элементе, условие, при котором битовый поток удовлетворяет стандартам, состоит в том, что последний блок кодирования в слайсе принадлежит к той же строке блоков дерева кодирования, что и первый блок кодирования в слайсе. Дерево кодирования указывает структуру LCU и рекурсивное дальнейшее подразделение каждой из LCU на четыре блока. Иными словами, когда WPP можно использовать и слайс не начинается с начала целевой LCU строки, слайс должен закончиться в конце или перед концом целевой LCU строки. NPL 3 описывает подробности, касающиеся не только средства параллельной обработки, но и синтаксис HEVC.
[0097] Нижеизложенное описывает это ограничение со ссылкой на фиг. 6. Картинка 330, показанная на фиг. 6, включает в себя слайсы 331, 332 и 333, являющиеся нормальными слайсами. Слайсы 331 и 332 включены в одну LCU строку. Слайс 333 является недопустимым слайсом, потому что слайс 333 распространяется на LCU строки (три строки в этом примере). Слайс 333 должен закончиться в конце первой LCU строки в соответствии с приведенным выше ограничением.
[0098] Фиг. 7 является диаграммой, показывающей картинку 340, имеющую разрешенную структуру слайсов при использовании WPP. Картинка 340 включает в себя слайсы 341, 342, и 343, являющиеся нормальными слайсами, и слайс 344, являющийся зависимым слайсом. Слайсы 341, 342 и 343 включены в первую LCU строку. Слайс 344 включает в себя последующие две строки.
[0099] CABAC инициализация слайса 344 зависит от других слайсов 341, 342 и/или 343, поскольку слайс 344 является зависимым слайсом. Когда какой-нибудь из слайсов 342 и 343 является нормальным слайсом, как показано на фиг. 7, слайс 344 инициализируется в CABAC состояния по умолчанию. В противном случае, используется таблица WPP. Другими словами, CABAC состояния после того, как вторая LCU в LCU строке выше целевой строки обработана, используются для инициализации.
[0100] В этом примере, как описано на фиг. 4B и изложено в соответствующем описании CABAC инициализации, зависимый слайс 344 инициализируется с использованием предопределенных CABAC состояний по умолчанию.
[0101] Таким образом, CABAC инициализация основана на предшествующих слайсах. Таким образом, обработка, особенно синтаксический анализ целевого слайса, зависит от других слайсов. В частности, определяется, инициализируется ли контекст CABAC со значением по умолчанию или значением WPP, в зависимости от типа предшествующих слайсов целевого слайса. Таким образом, проверяется, могут ли быть использованы предшествующие слайсы, и определяется способ инициализации, который должен применяться к целевому слайсу. Короче говоря, требуется обработка, имеющая довольно сложный порядок. Нижеследующее описывает такую обработку.
[0102] Первый слайс 341 имеет по меньшей мере две LCU, и, таким образом, можно ссылаться на CABAC состояния после того, как первые две LCU кодированы или декодированы.
[0103] Когда слайс 342 или слайс 343 потерян, слайс 344 не может быть точно декодирован. Это объясняется тем, что CABAC инициализация не может быть выполнена из-за неизвестного типа слайса 342 или слайса 343. Другими словами, поскольку CABAC инициализация не может быть выполнена на слайсе 344, даже если только информация о двух предыдущих слайсах отсутствует, и слайс 344 был успешно получен, данные корректно полученного слайса 344 отбрасываются. Таким образом, необходимо выполнить маскирование ошибок на слайсе 344. По этой причине, существует вероятность ухудшения изображения в результате искажения из-за неполного маскирования ошибок.
[0104] Здесь, в заголовке слайса, большинство синтаксических элементов (это, в основном, переключение управления, например, конкретной операции фильтрации) должны быть определены для всех слайсов, включенных в кадр. Кроме того, хотя некоторые из синтаксических элементов могут быть изменены на основе слайса, все параметры управления, определяемые для всего кадра, сохраняются в большинстве процессов посредством устройства кодирования изображения. Таким образом, следующий метод может быть использован в качестве метода маскирования ошибок. Этот метод требует только информацию, указывающую, является ли потерянный слайс зависимым слайсом или нормальным слайсом.
[0105] Когда пакеты поступают не в порядке, задержка декодирования возрастает. Другими словами, если ожидается переупорядочение пакета, существует возможность увеличения задержки декодирования. Это противоречит обеспечению ультранизкой задержки с использованием зависимого слайса, что является основной целью WPP.
[0106] Фиг. 8 является диаграммой, показывающей другой пример процесса CABAC инициализации. На фиг. 8 предполагается структура слайсов, показанная на фиг. 7. Картинка 350, показанная на фиг. 8, включает в себя слайс 351 и слайс 354. Слайс 351 является нормальным слайсом и первым слайсом в кадре и включает в себя четыре LCU. CABAC инициализируется в значение состояния по умолчанию (нулевое состояние) в начале кадра, то есть в начале слайса 351. Следует отметить, что могут присутствовать состояния по умолчанию, и в этом случае выбирается одно из состояний по умолчанию. Здесь, состояние по умолчанию относится к предопределенному значению в вероятностной модели арифметического кодирования.
[0107] Когда данные слайса 342 и слайса 343 отсутствуют из-за отсутствия или ошибки, хотя данные, относящиеся к зависимому слайсу 354, получены, зависимый слайс 354 не может быть декодирован. Это объясняется тем, что, как указано выше, механизм CABAC не может быть инициализирован без данных слайсов 342 и 343.
[0108] Фиг. 9 представляет собой блок-схему последовательности операций процесса определения в способе инициализации, который выполняется, когда зависимый слайс 354 получен. Иными словами, эта блок-схема иллюстрирует способ в зависимости от двух или более слайсов в CABAC инициализации.
[0109] Предполагается, что следующие условия установлены для слайса (4) (зависимого слайса 354). WPP может использоваться. dependent_slice_enabled_flag для SPS установлен в 1. Позиция слайса (4) удовлетворяет уравнению 1.
[0110] slice_address % numLCUinRow=0 (уравнение 1)
[0111] Здесь "%" представляет операцию по модулю (остаток от целочисленного деления). Параметр numLCUinRow представляет количество LCU в строке картинки 350. Таким образом, условие уравнения 1 удовлетворяется в начале строки. Параметр numLCUinRow может быть получен из настроек SPS.
[0112] Во-первых, определяется, является ли слайс (4) зависимым слайсом (S101). Когда слайс (4) не является зависимым слайсом (НЕТ на S101), выполняется инициализация по умолчанию.
[0113] Как показано на фиг. 8, Когда слайс (4) является зависимым слайс (ДА на S101), i устанавливается на 3 (S102). В общем, слайс (3), предшествующий слайсу (4), устанавливается как слайс i.
[0114] Далее, определяется, начинается ли слайс i со строки выше строки слайса (4) (S103). При этом, поскольку i установлено на 3, слайс i является слайсом (3), предшествующим зависимому слайсу, подлежащему обработке (слайсу (4)).
[0115] Когда слайс i не начинается со строки выше строки слайса (4) (НЕТ на S103), выполняется WPP инициализация (инициализация с использованием таблицы WPP) (S107).
[0116] В отличие от этого, когда i слайс начинается со строки выше строки слайса (4) (ДА на S103), то есть, случай, показанный на фиг. 8, определяется, является ли слайс i зависимым слайсом (S104).
[0117] Когда слайс i не является зависимым слайсом (НЕТ на S104), затем анализируется начальная позиция слайса i. В частности, определяется, является ли slice_address % numLCUinRow меньшим, чем 2 (S 106). Короче говоря, определяют, является ли начальная позиция слайса i первой LCU или второй LCU в строке.
[0118] Когда slice_address % numLCUinRow меньше, чем 2 (ДА на S106), выполняется WPP инициализация (S107). В противоположность этому, когда slice_address % numLCUinRow больше или равно 2 (НЕТ на S106), выполняется инициализация по умолчанию (S108).
[0119] Более того, когда слайс i является зависимым слайсом (ДА на S104), начальная позиция слайса i анализируется. В частности, определяется, является ли slice_address % numLCUinRow меньшим, чем 3 (S105). Короче говоря, определяют, является ли начальная позиция слайса i первой LCU, второй LCU или третьей LCU в строке.
[0120] Когда slice_address % numLCUinRow меньше, чем 3 (ДА на S105), выполняется WPP инициализация (S107). В противоположность этому, когда slice_address% numLCUinRow больше или равно 3 (НЕТ на S105), инициализация не выполняется, а индекс i уменьшается на 1 (S109). В общем, в этом примере, слайс (2), предшествующий целевому слайсу (слайсу (4)) на два слайса, устанавливается как слайс i. Затем выполняются процессы, следующие за этапом 103, на слайсе (2). Кроме того, когда то же самое определение выполнено для слайса (2), слайс (1) затем устанавливается в качестве слайса i.
[0121] Фиг. 10 является диаграммой, показывающей картинку 360. Картинка 360 включает в себя пять слайсов 361-365. Слайс 361 является нормальным слайсом и включает в себя всю первую строку. Слайс 362 является зависимым слайсом и включает в себя всю вторую строку. Третья строка включает в себя зависимый слайс 363 и слайс 364. Слайс 365 является зависимым слайсом и включает в себя всю четвертую строку.
[0122] Ниже рассматриваются случаи, когда слайс 364 является зависимым слайсом, и слайс 364 является нормальным слайсом, когда слайс 364 потерян или задержан. Кроме того, здесь, слайс 363 имеет, по меньшей мере, две LCU.
[0123] Когда слайс 364 потерян, устройство декодирования изображения не может определить тип слайса 364. Когда потерянный слайс 364 является зависимым слайсом, то можно продолжать декодирование слайса 365 и последующих слайсов с малой погрешностью в обработке восстановления. Это объясняется тем, что, как описано со ссылкой на фиг. 8 и 9, слайс 365 использует CABAC состояния второй LCU слайса 363. Таким образом, обработка CABAC инициализации не вызывает ошибку. Однако, так как слайс 365 использует пространственное предсказание из слайса 364, существует вероятность, что обработка восстановления пикселей вызовет ошибку.
[0124] В отличие от этого, когда потерянный слайс 364 является нормальным слайсом, слайс 365 не может быть декодирован. Это объясняется тем, что некоторые из синтаксических элементов могут использовать информацию заголовка слайса потерянного слайса 364. Иными словами, это объясняется тем, что нормальный слайс 364 является родительским слайсом зависимого слайса 365, и информация родительского слайса необходима для синтаксического анализа и декодирования зависимого слайса 365.
[0125] Когда тип потерянного слайса 364 неизвестен, устройство декодирования изображения отбрасывает декодируемый слайс 365, чтобы избежать неправильного декодирования, которое может возникнуть, когда потерянный слайс 364 является нормальным слайсом. Это является неэффективным, так как слайс 365 отбрасывается, даже когда данные слайса 365 получены корректным образом. Кроме того, необходимо отбрасывать все зависимые слайсы, следующие за слайсом 365.
[0126] Когда слайс 364 является нормальным слайсом, механизм CABAC инициализируется значением CABAC по умолчанию (см. случай НЕТ на S101 на фиг. 9), чтобы декодировать слайс 365. Таким образом, слайс 365 не зависит от слайса 363. Кроме того, пространственное предсказание между слайсом 363 и слайсом 365 не выполняется. Как указано выше, CABAC инициализируется в значение по умолчанию в начальной позиции слайса 365, и, таким образом, зависимый слайс 365 становится подобным нормальному слайсу.
[0127] Однако нормальный слайс имеет полный заголовок слайса. В отличие от этого, слайс 365 имеет только короткий заголовок слайса и зависит от параметров, установленных в заголовке слайса предшествующего нормального слайса. Другими словами, когда слайс 365 является зависимым слайсом, хотя имеется то преимущество, что размер заголовка может быть уменьшен, это преимущество не так велико. В отличие от этого, когда слайс 365 является нормальным слайсом, слайс 365 может быть декодирован. Как описано в вышеуказанных случаях, преимущество рассматривается большим, когда слайс 365 установлен в качестве нормального слайса, чем когда слайс 365 установлен в качестве зависимого слайса.
[0128] Однако, в WPP, зависимый слайс предназначен не для того, чтобы обеспечивать устойчивость к потере, а для того, чтобы обеспечивать WPP операцию при ультранизкой задержке. С другой стороны, в случае приложения с ультранизкой задержкой по сети, такого как приложение реального времени, ожидаются потери пакетов и переупорядочения пакетов. В таком случае, когда слайс 364 может быть, наконец, получен, слайс 365 может быть декодирован. Однако вызываются по меньшей мере повышенная задержка и потеря пакетов. Таким образом, в среде с потерями WPP выполняется не в оптимальном состоянии.
[0129] Фиг. 11 является диаграммой, показывающей другую проблему, связанную с CABAC инициализацией при использовании WPP, и показывающей картинку 370. Картинка 370 включает в себя четыре слайса 371-374.
[0130] Слайс 371 является нормальным слайсом, и слайс 372 является зависимым слайсом. Здесь слайс 371 имеет по меньшей мере две LCU. Первая строка картинки 370 включает в себя слайсы 371 и 372. Вторая строка картинки 370 включает в себя слайсы 373 и 374, являющиеся зависимыми слайсами.
[0131] В этом случае предполагается, что устройство кодирования изображения использует по меньшей мере два процессорных ядра. Иными словами, когда используется WPP, устройство кодирования изображения кодирования кодирует и синтаксически анализирует две LCU строки параллельно. Таким образом, слайс 373 становится доступным задолго до того, как слайс 372 станет доступным.
[0132] Однако, поскольку CABAC инициализация для слайса 373 зависит от слайса 372, декодирование слайса 373 не может быть запущено. Таким образом, невозможно реализовать задержку запуска кодирования или декодирования между строками меньше, чем полная одна LCU строка. Это противоречит цели WPP, состоящей в уменьшения задержки до двух LCU.
[0133] Ниже описана параллельной обработка кодирования и передачи слайса, как показано на фиг. 11. Два модуля обработки, такие как процессорные ядра и процессоры одновременно кодируют первые слайсы (слайс 371 и слайс 373) соответствующих строк. По окончании кодирования, кодированные слайсы 371 и 373 инкапсулированы в пакеты, имеющие номера пакетов (packet_id) от 0 до 4, соответственно. Здесь число 4 пакетов выбирается так, чтобы зарезервировать малый номер для слайса 372 и, возможно, для другой NALU.
[0134] Когда кодирование слайса 372 завершено, слайс 372 инкапсулируется в пакет, имеющий номер пакета 1, и передается. Кроме того, генерируются две NAL единицы, имеющие соответствующие номера пакета 2 и 3, и фиктивные данные (заполнитель), чтобы избежать определения номеров 2 и 3 потерянных пакетов в качестве потери пакетов.
[0135] В HEVC это достигается с помощью сообщения filler_data SEI или предопределенного типа NAL единицы для данных заполнителя. Как и выше, когда идентификатор (ID) пакета должен быть увеличен на 1 для каждой NAL единицы, используется NALU типа заполнителя, чтобы заполнить пробел.
[0136] Инициализация целевой строки зависит от второй LCU в строке выше целевой строки. Кроме того, когда слайс вставлен после второй LCU, вставка является проблематичной с точки зрения влияния на определение CABAC инициализации. Настоящее изобретение предоставляет способ получения более эффективного соотношения между WPP и использованием зависимого слайса, на основе этого анализа и проблемы. Следует избегать ситуации, в которой CABAC инициализация для одной строки зависит от другой строки для поддержания эффективности WPP.
[0137] Кроме того, та же проблема, что и описанная выше, возникает, когда используется мозаичный элемент вместо WPP.
[0138] В соответствии с примерным вариантом осуществления, раскрытым здесь, предложен способ декодирования изображения для декодирования битового потока, включающего в себя кодированный сигнал, полученный в результате кодирования мозаичных элементов и слайсов, на которые разделено изображение, при этом способ содержит декодирование кодированного сигнала, причем каждый из слайсов является либо нормальным слайсом, имеющим в заголовке информацию, используемую для другого слайса, либо зависимым слайсом, который декодируется с использованием информации, включенной в заголовок слайса другого слайса, и когда нормальный слайс начинается с позиции, отличной от начала первого мозаичного элемента, второй мозаичный элемент, кодированный вслед за первым мозаичным элементом, не начинается с зависимого слайса.
[0139] При этом можно предотвратить возникновение случая, когда слайс в начале второго мозаичного элемента ссылается на слайс в позиции, отличной от начала первого мозаичного элемента, тем самым увеличивая эффективность, когда параллельная обработка мозаичных элементов и зависимые слайсы используются совместно.
[0140] Например, при декодировании, первый мозаичный элемента и второй мозаичный элемент могут декодироваться параллельно, и когда декодирование второго мозаичного элемента запускается, второй мозаичный элемент может декодироваться без ссылки на информацию разделения, указывающую структуру слайсов первого мозаичного элемента.
[0141] Например, когда слайс в начале третьего мозаичного элемента является зависимым слайсом, зависимый слайс может включать в себя весь третий мозаичный элемент.
[0142] Например, когда первый мозаичный элемент включает в себя слайс, начинающийся с позиции, отличной от начала первого мозаичного элемента, второй мозаичный элемент может не начинаться с зависимого слайса.
[0143] Например, способ декодирования изображения может дополнительно включать в себя получение, из заголовка слайса, информацию, указывающую, является ли слайс нормальным слайсом или зависимым слайсом.
[0144] Например, слайс в начале изображения может быть нормальным слайсом, и каждый из всех других слайсов может быть зависимым слайсом.
[0145] Например, способ декодирования изображения может дополнительно включать в себя получение, из битового потока, индикатора ограничения, указывающего, что разделение картинки ограничено.
[0146] Например, способ декодирования изображения может дополнительно включать в себя получение, из битового потока, индикатора, указывающего, начинается ли родительский слайс, заголовок слайса которого используется для зависимого слайса, с начала мозаичного элемента.
[0147] В соответствии с примерным вариантом осуществления, раскрытым здесь, предложен способ кодирования изображения для кодирования мозаичных элементов и слайсов, на которые разделено изображение, чтобы сформировать битовый поток, причем способ содержит: разделение изображения на мозаичные элементы и слайсы; и кодирование мозаичных элементов и слайсов, полученных в результате разделения, при этом каждый из слайсов является либо нормальным слайсом, имеющим в заголовке информацию, используемую для другого слайса, либо зависимым слайсом, который декодируется с использованием информации, включенной в заголовок слайса другого слайса, и при разделении, когда нормальный слайс начинается с позиции, отличной от начала первого мозаичного элемента, изображение разделяется на мозаичные элементы и слайсы, чтобы предотвратить то, что второй мозаичный элемент, кодируемый вслед за первым мозаичным элементом, начинается с зависимого слайса.
[0148] При этом можно предотвратить возникновение случая, когда слайс в начале второго мозаичного элемента ссылается на слайс в положении, отличном от начала первого мозаичного элемента, тем самым увеличивая эффективность, когда параллельная обработка мозаичных элементов и зависимые слайсы используются совместно.
[0149] Например, при разделении, в случае, когда устройство декодирования изображения декодирует первый мозаичный элемент и второй мозаичный элемент параллельно, изображение может быть разделено на мозаичные элементы и слайсы, чтобы позволить декодирование второго мозаичного элемента без ссылки на информацию разделения, когда устройство декодирования изображения начинает декодирование второго мозаичного элемента, причем информация разделения указывает структуру слайсов первого мозаичного элемента.
[0150] Например, при разделении, когда слайс в начале третьего мозаичного элемента является зависимым слайсом, изображение может быть разделено на мозаичные элементы и слайсы, чтобы вызвать то, что зависимый слайс включает в себя весь третий мозаичный элемент.
[0151] Например, при разделении, когда первый мозаичный элемент включает в себя слайс, начинающийся с позиции, отличной от начала первого мозаичного элемента, изображение может быть разделено на мозаичные элементы и слайсы, чтобы предотвратить то, что второй мозаичный элемент начинается с зависимого слайса.
[0152] Например, способ кодирования изображения может дополнительно включать в себя встраивание, в заголовок слайса, информации, указывающей, является ли слайс нормальным слайсом или зависимым слайсом.
[0153] Например, слайс в начале изображения может быть нормальным слайсом, и каждый из всех других слайсов может быть зависимым слайсом.
[0154] Например, способ кодирования изображения может дополнительно включать в себя встраивание, в битовый поток, индикатора ограничения, указывающего, что разделение картинки ограничено.
[0155] Например, способ кодирования изображения может дополнительно включать в себя встраивание, в битовый поток, индикатора, указывающего, начинается ли родительский слайс, заголовок слайса которого используется для зависимого слайса, в начале мозаичного элемента.
[0156] В соответствии с примерным вариантом осуществления, раскрытым здесь, предложено устройство декодирования изображения, которое декодирует битовый поток, включающий в себя кодированный сигнал, являющийся результатом кодирования мозаичных элементов и слайсов, на которые разделено изображение, при этом устройство содержит модуль декодирования, сконфигурированный для декодирования кодированного сигнала, причем каждый из слайсов является либо нормальным слайсом, имеющим, в заголовке, информацию, используемую для другого слайса, либо зависимым слайсом, который декодируется с использованием информации, включенной в заголовок слайса другого слайса, и когда нормальный слайс начинается с позиции, отличной от начала первого мозаичного элемента, второй мозаичный элемент, кодируемый вслед за первым мозаичным элементом, не начинается с зависимого слайса.
[0157] При этом можно предотвратить возникновение случая, когда слайс в начале второго мозаичного элемента ссылается на слайс в позиции, отличной от начала первого мозаичного элемента, тем самым увеличивая эффективность, когда параллельная обработка мозаичных элементов и зависимые слайсы используются совместно.
[0158] В соответствии с примерным вариантом осуществления, раскрытым здесь, предложено устройство кодирования изображения, которое кодирует мозаичные элементы и слайсы, на которые разделено изображение, чтобы генерировать битовый поток, при этом устройство содержит: модуль разделения, сконфигурированный для разделения изображения на мозаичные элементы и слайсы; и модуль кодирования, сконфигурированный для кодирования мозаичных элементов и слайсов, являющихся результатом разделения, при этом каждый из слайсов является либо нормальным слайсом, имеющим, в заголовке, информацию, используемую для другого слайса, либо зависимым слайсом, который декодируется с использованием информации, включенной в заголовок слайса другого слайса, и модуль разделения сконфигурирован, чтобы, когда нормальный слайс начинается с позиции, отличной от начала первого мозаичного элемента, разделять изображение на мозаичные элементы и слайсы, чтобы предотвратить то, что второй мозаичный элемент, кодируемый вслед за первым мозаичным элементом, начинается с зависимого слайса.
[0159] При этом можно предотвратить возникновение случая, когда слайс в начале второго мозаичного элемента ссылается на слайс в позиции, отличной от начала первого мозаичного элемента, тем самым увеличивая эффективность, когда параллельная обработка мозаичных элементов и зависимые слайсы используются совместно.
[0160] В соответствии с примерным вариантом осуществления, раскрытым в данном документе, устройство кодирования и декодирования изображений может включать в себя устройство кодирования изображения и устройство декодирования изображения.
[0161] Каждый из примерных вариантов осуществления, описанных ниже, показывает общий или конкретный пример. Численные значения, формы, материалы, структурные элементы, расположение и соединение структурных элементов, этапов, порядок обработки этапов и т.д., представленные в следующих примерных вариантах осуществления, являются лишь примерами и, следовательно, не ограничивают объем приложенных пунктов формулы изобретения и их эквивалентов. Таким образом, среди структурных элементов в следующих примерных вариантах осуществления, структурные элементы, не упомянутые в любом из независимых пунктов формулы изобретения, показывающих наиболее общие концепции, описываются как произвольные структурные элементы.
[0162] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 1
В способе кодирования изображения и способе декодирования изображения согласно варианту осуществления 1, добавляется индикатор, который явно задает CABAC инициализацию.
[0163] На фиг. 12 представлена схема, показывающая синтаксис заголовка слайса согласно варианту осуществления 1. Заголовок 380 слайса включает в себя строку 381, имеющую новый синтаксический элемент "entropy_default_initialization_flag".
[0164] Этот entropy_deafult_initialization_flag является индикатором, указывающим, когда он установлен в предопределенное значение, что CABAC слайса инициализируется с (предопределенным) CABAC значением по умолчанию. Флаг является индикатором, имеющим первое значение, такое как "1", указывающее, что слайс инициализирован с CABAC значением, и второе значение, такое как "0", указывающее, что инициализация выполняется другим способом. Следует отметить, что назначения значений "1" и "0" могут быть переключены.
[0165] "Другой способ" для определения инициализации может быть заранее предопределенным способом, таким как инициализация на основе значения предыдущего слайса. Однако "другой способ" может включать в себя другой поток определения, аналогичный потоку, показанному на фиг. 9, при этом, возможно, получая способ инициализации с использованием CABAC значения по умолчанию.
[0166] Устройство декодирования изображения согласно этому варианту осуществления декодирует битовый поток кодированной видеопоследовательности, включающей в себя слайсы изображения, по меньшей мере частично кодированные посредством арифметического кодирования. Устройство декодирования изображения включает в себя: модуль синтаксического анализа, который извлекает, из данных битового потока слайса, индикатор инициализации, указывающий, инициализируется ли вероятностная модель арифметического декодирования слайса с предопределенным значением; модуль управления, который управляет тем, инициализируется ли вероятностная модель арифметического декодирования с предопределенным значением, в соответствии с индикатором инициализации; модуль арифметического декодирования, который декодирует слайс.
[0167] Например, арифметическое кодирование может быть контекстно-адаптивным арифметическим кодированием, как это определено в HEVC. Однако настоящее изобретение не ограничивается этим.
[0168] Предопределенное значение является значением по умолчанию, сообщенным устройству кодирования изображения и устройству декодирования изображения и не меняется с кодированным контентом.
[0169] Индикатор инициализации предпочтительно относится к 1-битовому флагу со значением "1", указывающим, что вероятностная модель арифметического декодирования инициализируется с предопределенным значением, и "0", указывающим, что вероятностная модель арифметического декодирования инициализируется другим способом.
[0170] Только тогда, когда целевой слайс является зависимым слайсом, индикатор должен присутствовать. Это объясняется тем, что, когда целевой слайс является нормальным слайс, CABAC значение по умолчанию используется для инициализации (см. случай НЕТ на S101 на фиг. 9). Таким образом, сначала анализируется, является ли целевой слайс зависимым слайсом, путем проверки условия dependent_slice_flag == 1.
[0171] Кроме того, когда выполняется параллельная обработка слайса и другого слайса, индикатор (флаг) инициализации является предпочтительным. Например, параллельной обработкой может быть WPP. Таким образом, только когда условие entropy_coding_sync_enabled_flag == 1 истинно, синтаксис заголовка слайса, показанный на фиг. 12, включает в себя индикатор инициализации entropy_default_initialization_flag.
[0172] Кроме того, только тогда, когда слайс начинается с начала LCU строки, индикатор инициализации является целесообразным. Это объясняется тем, что немедленная CABAC инициализация требуется только, чтобы разрешить параллельную обработку. Это указывается условием slice_address% PicWidthInCtbsY == 0 в синтаксисе, показанном на фиг. 12.
[0173] Как указано выше, синтаксический элемент "slice_address" указывает начало слайса со смещением, включенного в битовый поток. "PicWidthInCtbsY" указывает ширину кадра числом единиц блоков дерева кодирования (LCU).
[0174] Как показано в строке 381, логическое произведение трех условий используется для определения. Другими словами, только тогда, когда уравнение 2 ниже верно, entropy_default_initialization_flag передается, чтобы явно сигнализировать метод инициализации.
[0175] dependent_slice_flag == 1 && entropy_coding_sync_enabled_flag == 1 & slice_address % PicWidthInCtibsY == 0 (уравнение 2)
[0176] Когда уравнение 2 не верно, инициализация выполняется на основе обычного способа, то есть правилах WPP.
[0177] Иначе говоря, способ кодирования изображения и способ декодирования изображения согласно этому варианту осуществления включают в себя: подразделение слайса изображения на единицы кодирования, соответствующие пиксельным блокам изображения; и извлечение, посредством модуля синтаксического анализа, индикатора инициализации данных заголовка, только когда слайс является зависимым слайсом. Модуль арифметического декодирования зависимых слайсов инициализируется на основе контекста модуля арифметического декодирования родительских слайсов, соответствующих соответственным зависимым слайсам.
[0178] Кроме того, только когда параллельное декодирование строки, состоящей из единиц кодирования, разрешено, модуль синтаксического анализа может извлечь индикатор инициализации данных заголовка.
[0179] Иными словами, согласно этому варианту осуществления, слайс изображения подразделяется на единицы кодирования, соответствующие пиксельным блокам изображения, и индикатор инициализации данных заголовка извлекается посредством модуля синтаксического анализа только тогда, когда слайс начинается с начала из строки, состоящей из блоков единиц кодирования изображения.
[0180] Фиг. 13 является блок-схемой последовательности операций для способа определения CABAC инициализации для слайса в соответствии с этим вариантом осуществления. Фиг. 13 предполагает случай картинки 350, показанной на фиг. 8. Предполагая, что слайс (4) (слайс 354) и слайс (1) (слайс 331) синтаксически анализируются параллельно, выполняется следующее определение.
[0181] Во-первых, определяется, является ли слайс (4) зависимым слайсом (S111). Когда слайс (4) является зависимым слайсом, и другие условия (параллельная обработка строк выполняется, и слайс начинается в начале LCU строки) удовлетворены (ДА на S111), индикатор инициализации "entropy_default_initialization_flag" проверяется, чтобы определить способ выполнения инициализации (S112).
[0182] Когда entropy_default_initialization_flag указывает на применение инициализации по умолчанию (НЕТ на S112), применяется инициализация по умолчанию (S114). В противоположность этому, когда entropy_default_initialization_flag не указывает на применение инициализации по умолчанию (ДА на S112), применяется инициализация WPP, в которой делается ссылка на предшествующий слайс (S113).
[0183] Следует отметить, что этот вариант осуществления не ограничивается сигнализацией индикатора инициализации в заголовке слайса. Тот же индикатор может быть встроен в другую структуру данных, например, вспомогательное сообщение информации расширения.
[0184] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 2
Вариант осуществления 1 позволяет достичь эффективной параллельной обработки LCU строки, такой как WPP и зависимого слайса. С другой стороны, новый синтаксический элемент встраивается в заголовок слайса. В ответ на это независимость CABAC инициализации для слайсов при параллельной обработки может быть достигнута путем изменения правил инициализации, чтобы избежать добавления нового синтаксического элемента.
[0185] В варианте осуществления 2, определение зависимого слайса и операции для зависимого слайса, выполняемые устройством кодирования изображения и устройством декодирования изображения, изменяются. Это может быть достигнуто путем добавления ограничений к стандартам битового потока.
[0186] Другими словами, устройство декодирования изображения согласно этому варианту осуществления декодирует поток битов кодированной видеопоследовательности, включающей в себя слайсы изображения, подразделенные на единицы кодирования и по меньшей мере частично кодированные посредством арифметического кодирования. Устройство декодирования изображения включает в себя модуль синтаксического анализа, который извлекает, из битового потока, первую строку единиц кодирования и вторую строку единиц кодирования, причем единицы кодирования первой строки и второй строки назначены слайсам, чтобы избежать ссылки на информацию разделения первого слайса в первой строке, когда инициализируется модуль арифметического декодирования для второго слайса во второй строке. Начальная позиция первого слайса в первой строке находится позади второго слайса во второй строке на предопределенное число единиц кодирования. Устройство декодирования изображения дополнительно включает в себя модуль арифметического декодирования, который выполняет арифметическое декодирование первого слайса и второго слайса по меньшей мере частично параллельно, чтобы декодировать каждый из слайсов.
[0187] Фиг. 14 является диаграммой для описания функции этого варианта осуществления и показывает картинку 390, разделенную на слайсы. Картинка 390 включает в себя четыре слайса, которыми являются нормальный слайс 391, нормальный слайс 392, зависимый слайс 393 и нормальный слайс 394.
[0188] Три слайса 391, 392 и 393 включены в первую строку единиц кодирования (LCU). Слайс 394 включает в себя всю вторую и третью строки.
[0189] Первым примерным ограничением, применяемым к слайсации и параллельной обработке на основе строки, является то, что “когда entropy_code_sync_enabled_flag и dependent_slice_enabled_flag равны 1, нормальный слайс может начаться только в начале строки блоков дерева кодирования". Кроме того, оба флага entropy_code_sync_enabled_flag и dependent_slice_enabled_flag включены в набор параметров картинки. Следует отметить, что блок дерева кодирования (СТВ) и наибольшая единица кодирования (LCU) относятся к той же самой единице. СТВ используется в стандартном тексте (см. NPL 3). Кроме того, хотя LCU используется в стандартном тексте предыдущей версии, СТВ используется в стандартном тексте текущей версии.
[0190] Когда нормальный слайс начинается только в начале строки единиц кодирования, зависимый слайс в другой строке, который следует за нормальным слайсом, всегда может ссылаться на CABAC состояния нормального слайса. Здесь CABAC состояния являются CABAC состояниями после того, как первая LCU или первые две LCU обработаны посредством WPP. Кроме того, поскольку заголовок зависимого слайса зависит от заголовка нормального слайса, предшествующего зависимому слайсу, когда нормальный слайс 394 потерян, необходимо отбросить зависимый слайс.
[0191] Первое примерное ограничение не обязательно должно быть строгим. Необходимо только, чтобы по меньшей мере одна или две LCU нормального слайса в предыдущей строке были доступными для зависимого слайса, чтобы обеспечить применение WPP инициализации.
[0192] Альтернативно, второе примерное ограничение может быть применено в качестве еще одного ограничения (правила). Во втором примерном ограничения, нормальный слайс не запускается после второго блока дерева кодирования в сроке блоков дерева кодирования. Нормальный слайс должен начинаться в начале LCU строки, и, таким образом, например, недопустимо устанавливать второй слайс 392 как нормальный слайс, как показано на фиг. 14.
[0193] Следует отметить, что первый слайс может иметь начальную позицию не в большей степени позади, чем вторая единица кодирования в первой строке. Более того, первый слайс может быть нормальным слайсом, а второй слайс может быть зависимым слайсом, использующим заголовок слайса нормального слайса. Кроме того, начальная позиция первого слайса может быть началом первой строки.
[0194] Фиг. 15 является блок-схемой процесса определения в способе CABAC инициализации, когда установлены вышеуказанные правила. Ниже описан процесс определения с использованием примера, показанного на фиг. 8.
[0195] Во-первых, определяется, является ли слайс (4) зависимым слайсом (S111). Когда слайс (4) является зависимым слайсом (ДА на S111), выполняется WWP инициализация (S113). В отличие от этого, когда слайс (4) не является зависимым слайсом (НЕТ на S111), выполняется инициализация по умолчанию (S114).
[0196] Как описано выше, модуль контекстно-адаптивного энтропийного кодирования используется в способе кодирования изображения согласно этому варианту осуществления. Способ кодирования изображения применяется к кадру картинки, разделенному на по меньшей мере две части. По меньшей мере двумя частями являются первая часть и вторая часть, которые могут по меньшей мере частично кодироваться и декодироваться параллельно.
[0197] Согласно этому варианту осуществления, инициализация контекстной таблицы второй части потока определяется, когда первая часть субпотока подразделяется на слайсы, с помощью способа, который не зависит от подразделения первой части. Например, WPP выполняется для каждой строки (каждой LCU строки), и, таким образом, часть потока может соответствовать LCU строке.
[0198] Следует отметить, что настоящее изобретение не ограничено вышеописанными примерными ограничениями. Примерные ограничения могут быть сформулированы по-разному. Ниже описаны другие примерные ограничения.
[0199] Когда нормальный слайс удовлетворяет условию уравнения 3, слайс, начинающийся в начале последующей LCU строки, не является зависимым слайсом.
[0200] slice_address % PicWidthInCtbsY> 1 (уравнение 3)
[0201] Ради краткости, это условие может быть представлено уравнением 4.
[0202] slice_address% PicWidthInCtbsY! = 0 (уравнение 4)
[0203] Здесь, "!=" означает неравенство. Когда entropy_coding_sync_enabled_flag равно 1, то есть, параллельная обработка LCU строки допускается, эти ограничения применяются. Кроме того, "slice_address" указывает позицию слайса, начинающегося в битовом потоке, и параметр "PicWidthInCtbsY" указывает ширину картинки (кадра) в LCU (блоке дерева кодирования).
[0204] Иными словами, когда нормальный слайс не начинается в начале строки, слайс, начинающийся в непосредственно последующий строке, не является зависимым слайсом (третье примерное ограничение). Это условие исключает необходимость ожидания декодирования слайса во второй строке до тех пор, пока нормальный слайс в позиции в первой строке не будет синтаксически проанализирован (декодирован).
[0205] Ниже описано влияние третьего примерного ограничения со ссылкой на фиг. 16. Картинка 400, показанная на фиг. 16, включает в себя три слайса 401-403, включенные в первую строку. Среди трех слайсов, первые два слайса 401 и 402 являются нормальными слайсы, а третий слайс 403 является зависимым слайсом.
[0206] Это условие не позволяет установить четвертый слайс 404 как зависимый слайс. Это указано на фиг. 16 отметкой крестом на слайсе 404.
[0207] Таким образом, битовый поток может включать в себя нормальные слайсы и зависимые слайсы, и декодирование нормальных слайсом и зависимых слайсов основано на параметрах, сигнализируемых в заголовках слайсов нормальных слайсов. Когда нормальный слайс начинается в позиции после начала LCU строки, следующая LCU строка не начинается с зависимого слайса.
[0208] Ниже приведено описание четвертого примерного ограничения со ссылкой на фиг. 17. Когда entropy_coding_sync_enabled_flag и dependent_slice_enabled_flag равны 1, ни один нормальный слайс кроме первого слайса в кадре не допускается (четвертое примерное ограничение).
[0209] Иными словами, когда параллельная обработка допускается, и зависимые слайсы разрешены, нормальный слайс допускается только в качестве первого слайса в кадре. В общем, все слайсы в кадре являются зависимыми слайсами кроме первого слайса.
[0210] Картинка 410, показанная на фиг. 17, включает в себя пять слайсов 411-415. Слайсы 411, 412 и 415 являются нормальными слайсы и слайсы 413 и 414 являются зависимыми слайсами. Нормальные слайсы 412 до 415 не допускаются, за исключением первого нормального слайса 411, в соответствии с четвертым примерным ограничением. Короче говоря, слайс и 412 и 415 должны быть зависимыми слайсами.
[0211] Следует отметить, что использование четвертого примерного ограничения вызывает недостаток в отношении устойчивости к потере пакетов. Нормальные слайсы обычно используются, чтобы уменьшить зависимость или распространение ошибок в среде с потерями. Кадр, где только первый слайс является нормальным слайсом, предполагает риск того, что все слайсы не могут быть декодированы, когда первый слайс не может быть декодирован.
[0212] Кроме того, следующее ограничение может быть использовано в качестве еще одного ограничения. Когда слайс (нормальный или зависимый слайс) начинается в середине LCU строки (т.е. в позиции, отличающейся от начала строки), следующая строка единиц кодирования не начинается с зависимого слайса (пятое примерное ограничение).
[0213] Следует отметить, что, как понятно специалисту в данной области техники, можно произвольно комбинировать ограничения, описанные выше. Другими словами, с первого по пятое примерные ограничения могут быть применены в комбинации.
[0214] В нижеследующее описывает еще одно примерное ограничение. Когда entropy_coding_sync_enabled_flag равно 1, одна LCU строка не может быть подразделена на слайсы (шестое примерное ограничение). Когда это ограничение применяется, слайсы 412 и 413 не допустимы в структуре слайсов, показанной на фиг. 17, Иными словами, когда параллельная обработка строк единиц кодирования разрешена, слайс может включать в себя только одну целую строку единиц кодирования или целые строк единиц кодирования.
[0215] Как указано выше, поток битов включает в себя нормальные слайсы и зависимые слайсы. Декодирование нормальных слайсов и зависимых слайсов основано на параметрах, сигнализированных в заголовках слайсов нормальных слайсов. После того, как определено, что только первый слайс в изображении должен быть нормальным слайсом и остальные слайсы должны быть зависимыми слайсами, изображение разделяется на слайсы.
[0216] Каждый из слайсов включает в себя все из m числа строк единиц кодирования. Здесь, m представляет собой целое число, большее или равное 1.
[0217] Когда зависимые слайсы разрешены и одно из WPP и мозаичного элемента разрешено в дополнение к или вместо применения ограничений, индикатор, указывающий на ограничение, может быть встроен в битовый поток. Например, этот индикатор встраивается в SPS или PPS. Следует отметить, что индикатор может быть встроен в другое сообщение, такие как сообщение SEI или в любом сообщение информации использования видео (VUI).
[0218] Устройство декодирования изображения идентифицирует ограничение для применения, основываясь на индикаторе. Например, это ограничение заключается в том, что нормальный слайс допускается только в начале LCU строки (WPP) или мозаичного элемента. Следует отметить, что это всего лишь иллюстративное ограничение, и любое из вышеупомянутых ограничений, сочетание ограничений или дополнительное ограничение, не описанное явно, может быть применено.
[0219] Например, индикатор может быть 1-битовым флагом, указывающим, для предопределенного ограничения, должно ли ограничение быть применено. Выбираемые ограничения могут быть доступны, и информация, указывающая выбранное ограничение, сигнализируется в потоке битов в устройство декодирования изображения. Иными словами, вместо того, чтобы явно ограничивать использование, как описано в приведенных выше примерах, устройство кодирования изображения может уведомить устройство декодирования изображения, что такие ограничения используются. Таким образом, любой из примеров в отношении ограничений может быть применен.
[0220] Следует отметить, что нет необходимости определять, следует ли добавить индикатор, в зависимости от того, разрешены ли WPP или мозаичный элемент.
[0221] Как описано выше, этот вариант осуществления позволяет предотвратить задержку обработки зависимого слайса на по меньшей мере две или по меньшей мере три единицы кодирования, путем CABAC инициализации с учетом предыдущих слайсов в параллельной обработке. При этом параллельная обработка кодирования, декодирования и синтаксический анализ строк могут быть эффективно выполнены.
[0222] Следует отметить, что настоящее изобретение не ограничивается этим вариантом осуществления, в котором метод слайсации ограничен. Кроме того, ограничение может относиться к слайсу, из которого может быть получен CABAC контекст.
[0223] Вариант осуществления 3
В варианте осуществления 3, способ CABAC инициализации для зависимого слайса во время WPP изменяется. В частности, правило назначения родительского слайса для зависимого слайса изменяется.
[0224] Например, определено правило, в котором зависимый слайс всегда получает заголовок слайса и CABAC контекст из того же слайса независимо от подразделения LCU строки на слайсы (и/или типа последующего слайса).
[0225] Картинка 420, показанная на фиг. 18, включает в себя слайсы 421-424. В современном HEVC, слайс 422 является родительским слайсом зависимого слайса 424. Другими словами, заголовок слайса зависимого слайса 424 получают из слайса 422, ближайшего предыдущего нормального слайса.
[0226] Как описано со ссылкой на фиг. 9, существует случай, когда CABAC инициализация выполняется на зависимом слайсе с использованием нормального слайса в начале предшествующей LCU строки. Однако когда слайс 422 потерян, хотя CABAC инициализация может быть выполнена на слайсе 424, слайс 424 не может быть декодирован из-за отсутствующей информации заголовка слайса.
[0227] В связи с этим, в данном варианте осуществления, зависимый слайс имеет, в качестве родительского слайса, ближайший нормальный слайс, начинающийся с той же строки, что и зависимый слайс, или строки, предшествующей строке зависимого слайса. В этом варианте осуществления, как показано на фиг. 19, родительский слайс слайса 424 устанавливается как слайс 421 в соответствии с этим правилом. CABAC инициализация выполняется на зависимом слайсе 424 с использованием заголовка слайса 421, а также CABAC состояний слайса 421.
[0228] Кроме того, модуль арифметического кодирования каждого зависимого слайса устанавливает зависимость слайса, чтобы выполнять инициализацию на основе контекста модуля арифметического декодирования родительского слайса.
[0229] Следует отметить, что информация, указывающая CABAC контекстную таблицу, используемую для инициализации слайса, может явно сигнализироваться в SEI сообщении. В общем, все значения инициализации, рассматриваемые для использования в инициализации механизма CABAC, могут явно сигнализироваться в SEI сообщении.
[0230] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 4
Вариант осуществления 4 описывает случай, когда используется не WPP, а мозаичные элементы.
[0231] Проблема, описанная выше для WPP, также возникает в таком случае. Однако инициализация контекстной таблицы САВАС обозначает установку контекстной таблицы САВАС либо на начальное значение по умолчанию, либо на ранее сохраненное значение. В случае мозаичного элемента, (даже если мозаичный элемент начинается с зависимого слайса) контекстная таблица САВАС инициализируется в значение по умолчанию в начале мозаичного элемента.
[0232] Однако, когда нормальный слайс присутствует в середине мозаичного элемента, некоторые из синтаксических элементов, включенных в заголовок нормального слайса, должны быть изменены. Одним из синтаксических элементов является, например, флаг, указывающий ON/OFF (включение/выключение) обработки адаптивного к выборке смещения. Когда флаг указывает "ON", механизм CABAC фильтрует параметры при синтаксическом анализе данных слайса. Как и выше, это относится к управлению состоянием механизма CABAC. Нижеследующее описывает детально это управление состоянием.
[0233] Фиг. 19 является схемой, показывающей синтаксис заголовка слайса согласно этому варианту осуществления. Этот заголовок слайса включает dependent_slice_flag, индикатор, относящийся к зависимости.
[0234] Фиг. 20 является диаграммой, показывающей картинку 500, разделенную на два мозаичных элемента 501 и 502. Как показано на фиг. 20, мозаичные элементы отличаются от слайсов разделением картинки вертикальной линией. Картинка может быть нормально разделена на мозаичные элементы. Информация разделения каждого из мозаичных элементов сигнализируется в наборе параметров картинки (PPS), относящемся к картине.
[0235] Как указано выше, мозаичный элемент является одним из инструментов, которые позволяют параллельную обработку. Короче говоря, мозаичные элементы могут быть декодированы параллельно. Следует отметить, что обработка контурного фильтра, как правило, выполняется последней на границах мозаичных элементов после восстановления.
[0236] Набор параметров изображения включает в себя информацию о количестве и позициях мозаичных элементов в картинке. Мозаичные элементы похожи на слайсы в том, что пространственное предсказание между мозаичными элементами не допускается. Здесь "пространственное предсказание" означает интра-предсказание, предсказание вектора движения или ссылку на параметр. Здесь параметр относится к параметру адаптивного к выборке смещения, другому параметру, относящемуся к картинке, или параметру, связанному с другим мозаичным элементом.
[0237] Модуль энтропийного кодирования и модуль энтропийного декодирования перезапускаются в начале каждого слайса.
[0238] Фиг. 21A представляет собой диаграмму, показывающую порядок обработки единиц кодирования, таких как блоки дерева кодирования и наибольшие единицы кодирования. Этот порядок также называют Z-сканированием или растровым сканированием. Фиг. 21A показывает случай, когда никакой мозаичный элемент не включен. Другими словами, фиг. 21A показывает случай, когда один мозаичный элемент установлен на картинке. Следует отметить, что WPP может быть разрешена.
[0239] Фиг. 21B представляет собой диаграмму, показывающую кадр, включающий в себя два мозаичных элемента 511 и 512, являющихся результатом разделения кадра границей 513. Порядок обработки, когда два или более мозаичных элемента присутствуют в кадре, определяется следующим образом.
[0240] Во-первых, порядок всех мозаичных элементов определяется обычным порядком растрового сканирования, описанным выше для LCU. Этот порядок начинается с мозаичного элемента 511 и заканчивается мозаичным элементом 512, как показано на фиг. 21B.
[0241] Далее, порядок LCU в каждом мозаичном элементе определяется с использованием обычного порядка растрового сканирования, как показано стрелками на фиг. 21B. Наконец, последняя LCU в каждом мозаичном элементе соединяется с первой LCU в последующем мозаичном элементе. Таким образом, определяется порядок, показанный на фиг. 21B. Следует отметить, что, например, NPL 3 описывает детали порядка обработки.
[0242] Порядок сканирования LCU используется для слайсов. Таким образом, когда слайс предшествует слайсу B в порядке кодирования, все LCU в слайсе А предшествуют всем LCU в слайсе B.
[0243] С другой стороны, когда используются мозаичные элементы, единицы кодирования сканируются в порядке, отличном от порядка, применяемого, когда используются только слайсы (никакой мозаичный элемент не используется). В частности, когда используются только слайсы, единицы кодирования в картинке сканируются посредством так называемого Z-сканирования. Z-сканирование начинается от верхней левой единицы кодирования в картинке, продолжается вдоль первой строки вправо, и начинается с единицы кодирования в левом конце второй строки к единице кодирования в правом конце второй строки после того, как правый конец первой строки просканирован. Сканирование продолжается до последней единицы кодирования в последней строке в таком порядке.
[0244] Когда слайсы используются в качестве последовательных единиц кодирования в порядке Z-сканирования, это использование является эффективным. Однако когда мозаичные элементы используются как таковые, порядок кодирования или декодирования единиц кодирования изменяется относительно порядка Z-сканирования. В частности, сканирование выполняется в каждом мозаичном элементе в порядке Z-сканирования. Короче говоря, сканирование в порядке Z-сканирования никогда не выполняется по мозаичным элементам. Таким образом, кодирование или декодирование единиц кодирования в мозаичном элементе начинается с левой верхней единицы кодирования в мозаичном элементе и заканчивается в правой нижней единице кодирования того же самого. Кроме того, мозаичные элементы в картинке упорядочены в порядке Z-сканирования, как указано выше.
[0245] В современном стандарте HEVC, ограничение в отношении использования мозаичных элементов и слайсов накладывается в сочетании. В частности, слайсу разрешено только включать целое число полных мозаичных элементов. Кроме того, мозаичному элементу разрешено только включать целое число полных слайсов.
[0246] Синтаксический элемент tiles_enabled_flag включен как часть набора параметров последовательности (SPS) в синтаксис битового потока. Установка этого синтаксического элемента в логическое значение "1" позволяет использовать мозаичные элементы.
[0247] Когда мозаичные элементы используются, WPP не может использоваться. Таким образом, когда мозаичные элементы используются, синтаксический элемент entropy_coding_sync_enabled_flag SPS для управления использованием WPP установлен в логическое значение "0".
[0248] Каждая из фиг. 22А - фиг. 22С является диаграммой, иллюстрирующей ограничение, когда мозаичные элементы и слайсы используются одновременно. Как показано на фиг. 22А, слайс может быть подразделен на два мозаичного элемента. В этом примере, слайс (1) включает в себя всю картинку и подразделяется на два мозаичных элемента, имеющих один и тот же размер.
[0249] В примере, показанном на фиг. 22B, картинка разделена на два мозаичных элемента. Кроме того, каждый из мозаичных элементов подразделен на два слайса. В частности, картинка разделена на мозаичный элемент 1 и мозаичный элемент 2. Мозаичный элемент 1 и мозаичный элемент 2 включает левую половину и правую половину картинки, соответственно. Мозаичный элемент 1 подразделен на два слайса, слайс 1 и слайс 2, и мозаичный элемент 2 подразделен на два слайса, слайс 3 и слайс 4.
[0250] Фиг. 22С является диаграммой, показывающей неразрешенную структуру слайсов и мозаичных элементов. В этом примере, слайс 1 включен как в мозаичный элемент 1, так и в мозаичный элемент 2. В отличие от этого, слайс 2 присутствует только в мозаичном элементе 2. Таким образом, ни мозаичный элемент 1, ни мозаичный элемент 2 не включает в себя целое число полных мозаичных элементов. Кроме того, ни слайс 1, ни слайс 2 не включает в себя целое число полных мозаичных элементов.
[0251] Эти правила применяются к одновременному использованию слайсов и мозаичных элементов. Однако случай использования слайсов различных типов не рассматривается в правилах. Иными словами, не рассматривается, является ли слайс нормальным слайсом или зависимым слайсом.
[0252] Фиг. 23 является диаграммой, показывающей пример разделения картинки на мозаичные элементы и слайсы. Такое разделение разрешается в соответствии с вышеуказанными ограничениями. Разделение соответствует примеру, показанному на фиг. 22B. Слайсы 521 и 522, включенные в мозаичный элемент 1, являются нормальными слайсами. Слайсы 523 и 524, включенные в мозаичный элемент 2, являются зависимыми слайсами.
[0253] Фиг. 24 является диаграммой, показывающей порядок сканирования, когда одно ядро используется для обработки единиц кодирования в картинке, особенно для декодирования или кодирования единиц кодирования. Как показано на фиг. 24, когда подразделение на мозаичные элементы не выполняется, одно ядро декодирует единицы кодирования в порядке Z-сканирования.
[0254] Однако механизм CABAC повторно инициализируется в соответствии с определением мозаичных элементов, то есть границ мозаичных элементов. Иными словами, CABAC состояния на границах мозаичных элементов должны быть сохранены для последующей инициализации. Таким образом, одноядерный порядок декодирования требует переходов в битовом потоке. Это объясняется тем, подразделение на мозаичные элементы изменяет порядок кодирования единиц кодирования.
[0255] Более того, когда зависимые слайсы включены, одноядерное декодирование является более сложным. Нижеследующее поясняет на примере декодирование картинки, подразделенной, как показано на фиг. 23.
[0256] На первом этапе декодируется первая строка единиц кодирования слайса 521. На втором этапе декодируется адрес слайса 522. Адрес слайса сигнализируется в заголовке слайса 522. Адрес слайса выражается в количестве LCU и указывает позицию в битовом потоке, в которой начинается слайс. Кроме того, адрес слайса отличается от первой единицы кодирования в мозаичном элементе 2.
[0257] На третьем этапе декодируется слайс 523. Адрес слайса этого слайса является корректным, но слайс является зависимым слайсом. Таким образом, слайс 523 использует заголовок слайса 522 в мозаичном элементе 1. По этой причине, процесс декодирования переходит обратно к слайсу 522, и заголовок слайса 522 декодируется. Затем, процесс декодирования переходит вперед, чтобы вернуться к декодированию слайса 523. Затем запускается декодирование слайса 523.
[0258] Как видно из этого краткого примера, устройство декодирования изображения должно переходить назад и вперед в битовом потоке и выполнять дополнительную проверку, когда начинается декодирование мозаичного элемента 2. Это объясняется тем, что использование зависимых слайсов обуславливает зависимость между мозаичными элементами.
[0259] В ответ на это, данный вариант осуществления реализует способ, обеспечивающий возможность эффективного применения зависимых слайсов и мозаичных элементов. В частности, этот вариант осуществления позволяет надежно выполнять соответствующее кодирование и декодирование в обычном порядке, устанавливая ограничение в отношении разделения картинки на слайсы и мозаичные элементы.
[0260] Устройство декодирования изображения согласно этому варианту осуществления декодирует битовый поток кодированной видеопоследовательности, включающей в себя кадры, каждый из которых включает в себя слайсы изображения и мозаичные элементы изображения. Каждый из слайсов изображения и мозаичных элементов изображения включает в себя единицы кодирования. Устройство декодирования изображения включает в себя блок синтаксического анализа, который извлекает (синтаксически анализирует), из битового потока, мозаичный элемент 1 и мозаичный элемент 2, кодированный вслед за мозаичным элементом 1. Каждый из кадров разделен на слайсы и мозаичные элементы, чтобы устранить необходимость в информации разделения мозаичного элемента 1 при декодировании мозаичного элемента 2 посредством модуля арифметического декодирования.
[0261] Устройство декодирования изображения дополнительно включает в себя модуль арифметического декодирования, который декодирует слайс путем выполнения арифметического декодирования на мозаичном элементе 1 и мозаичном элементе 2 по меньшей мере частично параллельно.
[0262] Кроме того, устройство кодирования изображения согласно этому варианту осуществления кодирует, в битовый поток, видео, включающее в себя слайсы изображения, каждый из которых подразделен на единицы кодирования, с использованием по меньшей мере частично арифметического кодирования.
[0263] Устройство кодирования изображения включает в себя: модуль генерации битового потока, который встраивает первый мозаичный элемент и второй мозаичный элемент, кодированный вслед за первым мозаичным элементом, в битовый поток; и модуль арифметического кодирования, который разделяет каждый из кадров на слайсы и мозаичные элементы, чтобы устранить необходимость в информации разделения первого мозаичного элемента, когда модуль арифметического декодирования декодирует второй мозаичный элемент, и который кодирует каждый из слайсов путем выполнения арифметического кодирования на первом мозаичном элементе и втором мозаичном элементе по меньшей мере частично параллельно.
[0264] В первом примерном ограничении этого варианта осуществления, когда мозаичные элементы разрешены, и в то же время зависимые слайсы могут быть использованы, нормальный слайс начинается только в начале мозаичного элемента. Короче говоря, когда tiles_enabled_flag равно 1, и в то же время dependent_slices_enabled_flag равно 1, каждый нормальный слайс должен начинаться в начальной позиции мозаичного элемента.
[0265] Здесь, как entropy_code_sync_enabled_flag, так и dependent_slice_enabled_flag включены в набор параметров изображения.
[0266] Следует отметить, что, когда dependent_slices_enabled_flag равно 0, используются только нормальные слайсы. При этом вышеуказанную проблему можно избежать. Это соответствует случаю, когда все слайсы являются нормальными слайсами в картинке, изображенной на фиг. 22B.
[0267] Как указано выше, в первом примерном ограничении, слайс (нормальный слайс), заголовок которого используется для другого слайса, всегда начинается в начале мозаичного элемента. Другими словами, слайс в начале изображения является нормальным слайсом, а остальные слайсы являются зависимыми слайсами. В общем, нормальный слайс допускается только в качестве слайса в начале изображения. Кроме того, слайсы другие, чем слайс в начале изображения слайс, всегда являются зависимыми слайсами. Например, картинка, показанная на фиг. 25C, допускается, но картинка, показанная на фиг. 25B, не допускается.
[0268] Во втором примерном ограничении этого варианта осуществления, когда мозаичные элементы разрешены, и нормальный слайс начинается в позиции, отличающейся от начальной позиции мозаичного элемента, мозаичный элемент, который должен кодироваться следующим, не начинается с зависимого слайса. Иными словами, когда tiles_enabled_flag равно 1 и slice_address равен начальному адресу мозаичного элемента, следующий мозаичный элемент не начинается с зависимого слайса.
[0269] Таким образом, как описано со ссылкой на фиг. 23, процесс обратного перехода к заголовку слайса нормального слайса 522 не происходит, когда декодируется зависимый слайс 523. В общем, слайс 523 не допускается в качестве зависимого слайса. Это объясняется тем, что нормальный слайс 522 начинается не в начальной позиции мозаичного элемента, а в мозаичном элементе.
[0270] Следовательно, в этом варианте осуществления, когда слайс (нормальный слайс), заголовок которого используется для другого слайса, не начинается в начале мозаичного элемента, мозаичный элемент, кодируемый вслед за этим мозаичным элементом, не начинается с слайса (зависимого слайса), который декодируется с использованием заголовка другого слайса.
[0271] Таким образом, во втором примерном ограничении, когда нормальный слайс начинается в позиции, отличающейся от начала первого мозаичного элемента, второй мозаичный элемент, кодируемый вслед за первым мозаичным элементом, не начинается с зависимого слайса. Иными словами, когда по меньшей мере один из второго слайса и последующего слайса первого мозаичного элемента является нормальным слайсом, слайс в начале второго мозаичного элемента является нормальным слайсом.
[0272] Например, как показано на фиг. 25A, когда слайс (3) в мозаичном элементе 1 присутствует, слайс (4) в начале мозаичного элемента 2 не может быть установлен в качестве зависимого слайса. Кроме того, когда по меньшей мере один из слайса (2) и слайса (3) является нормальным слайсом, слайс (4) не может быть установлен в качестве зависимого слайса. В результате, как показано на фиг. 25B, слайс (4) должен быть установлен как нормальный слайс. Кроме того, во втором примерном ограничении, картинка, показанная на фиг. 25C, также допускается.
[0273] В третьем примерном ограничении этого варианта осуществления, когда мозаичный элемент начинается с зависимого слайса, полный мозаичный элемент включается в зависимый слайс. Другими словами, когда мозаичный элемент начинается с слайса, который декодируется с использованием заголовка другого слайса, весь мозаичный элемент включается в слайс.
[0274] Таким образом, в третьем примерном ограничении, когда слайс в начале третьего мозаичного элемента является зависимым слайсом, зависимый слайс включает в себя весь третий мозаичный элемент. Иными словами, третий мозаичный элемент состоит только из одного зависимого слайса. Например, как показано на фиг. 26А, когда мозаичный элемент 2 начинается с зависимого слайса (4), мозаичному элементу 2 не разрешается включать слайсы. Таким образом, как показано на фиг. 26В, мозаичный элемент 2 должен включать в себя только один зависимый слайс (4).
[0275] В четвертом примерном ограничении этого варианта осуществления, когда tiles_enabled_flag равно 1, и слайс (нормальный слайс или зависимый слайс) начинается в середине мозаичного элемента, мозаичный элемент, который должен кодироваться следующим, не начинается с зависимого слайса. Следует отметить, что фраза "в середине мозаичного элемента" обозначает не действительную середину, но что первый СТВ слайса не является первым СТВ мозаичного элемента. В общем, фраза "в середине мозаичного элемента" обозначает в пределах мозаичного элемента.
[0276] Это означает, что, когда слайс не начинается в начале мозаичного элемента, мозаичный элемент, который должен кодироваться следующим, не начинается с слайса, который использует заголовок другого слайса. Иными словами, когда первый мозаичный элемент включает в себя слайс, начинающийся в позиции, отличной от начала первого мозаичного элемента (первый мозаичный элемент включает в себя слайсы), второй мозаичный элемент не начинается с зависимого слайса. Например, как показано на фиг. 27А, когда мозаичный элемент 1 включает в себя мозаичные элементы, слайс (4) в начале мозаичного элемента 2 не разрешается устанавливать в качестве зависимого слайса. В результате, как показано на фиг. 27В, слайс (4) в начале мозаичного элемента 2 должен быть установлен как нормальный слайс.
[0277] Следует отметить, что этот вариант осуществления, относящийся к мозаичным элементам, и другие варианты осуществления могут быть объединены, и конкретные правила и ограничения могут быть также объединены.
[0278] В другом примерном ограничении этого варианта осуществления, когда tiles_enabled_flag равно 1, зависимый слайс не допускается. Иными словами, зависимые слайсы могут быть использованы с WPP, но не с мозаичными элементами. При этом можно избежать дополнительной проблемы, когда используются мозаичные элементы. Короче говоря, когда мозаичные элементы используются, слайс не использует заголовок другого слайса для декодирования.
[0279] Когда зависимые слайсы разрешены, и одно из WPP и мозаичного элемента допускается в дополнение или вместо применения ограничения, индикатор, указывающий на ограничение, может быть встроен в битовый поток. Например, этот индикатор встраивается в SPS или PPS. Следует отметить, что индикатор может быть встроен в другое сообщение, такое как SEI сообщение, или в любое сообщение информации об использовании видео (VUI).
[0280] Устройство декодирования изображения идентифицирует ограничение, подлежащее применению, на основе индикатора. Например, это ограничение состоит в том, что нормальный слайс может начаться только в начале мозаичного элемента (начало LCU строки в случае WPP). Следует отметить, что это всего лишь иллюстративное ограничение, и любое из вышеупомянутых ограничений, сочетание ограничений или дополнительное ограничение, не описанное явно, может быть применено.
[0281] Например, индикатор может быть 1-битовым флагом, указывающим, для предопределенного ограничения, должно ли применяться ограничение. Выбираемые ограничения могут быть доступны, и информация, указывающая выбранное ограничение, сигнализируется в битовом потоке в устройство декодирования изображения. Иными словами, вместо того, чтобы явно ограничивать использование, как описано в приведенных выше примерах, устройство кодирования изображения может уведомить устройство декодирования изображения, что такие ограничения используются. Таким образом, любой из примеров в отношении ограничений может быть применен.
[0282] В соответствии с примерным вариантом осуществления, раскрытым здесь, способ декодирования изображения включает в себя получение, из битового потока, индикатора, указывающего, что разделение картинки ограничено. В соответствии с примерным вариантом осуществления, раскрытым здесь, способ кодирования изображения включает в себя встраивание, в битовый поток, индикатора, указывающего, что разделение картинки ограничено.
[0283] Следует отметить, что нет необходимости определять, следует ли добавлять индикатор, в зависимости от того, разрешается ли WPP или мозаичный элемент. Кроме того, когда индикатор добавлен, зависимый слайс не требуется включать. Короче говоря, индикатор может быть добавлен независимо от того, разрешается ли использование зависимого слайса.
[0284] Кроме того, индикатор, который показывает, что родительский слайс целевого слайса начинается с начала мозаичного элемента, может быть добавлен в битовый поток. Другими словами, в соответствии с примерным вариантом осуществления, раскрытым здесь, способ декодирования изображения включает в себя получение, из битового потока, индикатора, указывающего, начинается ли родительский слайс, заголовок которого используется для зависимого слайса, в начале мозаичного элемента. В соответствии с примерным вариантом осуществления, раскрытым здесь, способ декодирования изображения содержит встраивание, в битовый поток, индикатора, указывающего, начинается ли родительский слайс, заголовок которого используется для зависимого слайса, в начале мозаичного элемента.
[0285] Кроме того, индикатор, который указывает, что все слайсы в картине используют тот же заголовок слайса, может быть добавлен в битовый поток. Другими словами, этот индикатор указывает, что все синтаксические элементы, которые присутствуют в заголовке нормального слайса и отсутствуют в заголовке зависимого слайса, являются одинаковыми для всех слайсов в картинке.
[0286] Таким образом, индикатор ограничения, который указывает, что разделение картинки ограничено заранее определенным правилом, может быть включен в битовый поток.
[0287] Кроме того, индикатор, который указывает, начинается ли родительский слайс целевого слайса в начале мозаичного элемента, может быть встроен в битовый поток. Здесь заголовок родительского слайса используется для целевого слайса.
[0288] В соответствии с примерным вариантом осуществления, раскрытым здесь, способ декодирования изображения является способом декодирования изображения для декодирования битового потока, включающего в себя кодированный сигнал, являющийся результатом кодирования мозаичных элементов и слайсов, на которые разделено изображение, причем способ включает декодирование кодированного сигнала. В соответствии с примерным вариантом осуществления, раскрытым здесь, способ кодирования изображения представляет собой способ кодирования изображения для генерации битового потока путем кодирования мозаичных элементов и слайсов, на которые разделено изображение, при этом способ включает в себя: разделение изображения на мозаичные элементы и слайсы; и кодирование мозаичных элементов и слайсов, являющихся результатом разделения.
[0289] Каждый из слайсов является либо нормальным слайсом, либо зависимым слайсом. Нормальный слайс является слайсом, содержащим, в заголовке слайса, информацию, которая может использоваться для другого слайса. Зависимый слайс является слайсом, который декодируется с использованием информации, включенной в заголовок слайса другого слайса. Здесь другой слайс представляет собой, например, нормальный слайс, предшествующий и ближайший к зависимому слайсу.
[0290] При разделении, изображение разделяется на мозаичные элементы и слайсы, чтобы удовлетворять одно или более из вышеупомянутых ограничений.
[0291] При декодировании, первый мозаичный элемент и второй мозаичный элемент могут декодироваться параллельно, и когда начинается декодирование второго мозаичного элемента, второй мозаичный элемент может быть декодирован без ссылки на информацию разделения, указывающую структуру слайсов первого мозаичного элемента. Кроме того, при разделении, когда устройство декодирования изображения декодирует первый мозаичный элемент и второй мозаичный элемент параллельно, и когда устройство декодирования изображения начинает декодирование второго мозаичного элемента, изображение может быть разделено на мозаичные элементы и слайсы, чтобы позволить декодирование второго мозаичного элемента, без обращения к информации разделения, указывающей структуру слайсов первого мозаичного элемента.
[0292] Здесь информация разделения является, например, информацией, указывающей позицию слайса (начальную позицию) или позицию заголовка слайса. Устройство декодирования переходит к целевому мозаичному элементу путем обращения к информации разделения.
[0293] Как указано выше, заголовок слайс включает в себя информацию (dependent_slice_flag), указывающую, является ли слайс нормальным слайсом или зависимым слайсом. Другими словами, способ декодирования изображения включает в себя получение, из заголовка слайса, информации, указывающей, является ли слайс нормальным слайсом или зависимым слайсом. Кроме того, способ кодирования изображения содержит встраивание, в заголовок слайса, информации, указывающей, является ли слайс нормальным слайсом или зависимым слайсом.
[0294] Та же самая проблема, описанная для WPP, имеет место и для мозаичных элементов. Таким образом, вышеуказанное решение может быть применено к мозаичным элементам. Когда мозаичные элементы разрешены вместо WPP, частью, над которой выполняется параллельная обработка, является не LCU строка, а мозаичный элемент, состоящий из LCU. Иными словами, решение может быть непосредственно применено к мозаичному элементу путем замены LCU строки на мозаичный элемент.
[0295] Как указано выше, битовый поток может включать в себя нормальные слайсы и зависимые слайсы, и декодирование нормальных слайсов и зависимых слайсов основано на параметрах, сигнализируемых в заголовках слайсов нормальных слайсов.
[0296] В соответствии с примерным вариантом осуществления, раскрытым здесь, когда нормальный слайс не начинается в начальной позиции мозаичного элемента, применяется ограничение, состоящее в том, что зависимый слайс, зависимый от нормального слайса, не может следовать за нормальным слайсом.
[0297] В соответствии с примерным вариантом осуществления, раскрытым здесь, ограничение, состоящее в том, что изображение разделяется на слайсы, применяется для обеспечения того, что только первый слайс в изображении будет нормальным слайсом, а остальные слайсы будут зависимыми слайсами.
[0298] Зависимость слайса вызвана модулем арифметического декодирования каждого зависимого слайса, использующего заголовок слайса родительского слайса.
[0299] В соответствии с примерным вариантом осуществления, раскрытым здесь, когда применим зависимый слайс, индикатор ограничения встраивается в битовый поток. Зависимый слайс является слайсом, который включает в себя кодированные данные изображения и использует параметры заголовка другого слайса.
[0301] Ограничение может быть любым из указанных выше ограничений, комбинацией таких ограничений или ограничением иным, чем примерные ограничения.
[0302] В соответствии с примерным вариантом осуществления, раскрытым здесь, устройство представляет собой устройство, которое декодирует битовый поток кодированной видеопоследовательности, включающей в себя слайсы изображения и мозаичные элементы изображения, которые по меньшей мере частично кодированы посредством арифметического кодирования, причем устройство включает в себя: модуль синтаксического анализа, который извлекает, из данных для слайса битового потока, индикатор инициализации, указывающий, инициализируется ли вероятностная модель арифметического декодирования слайса с предопределенным значением; модуль управления, который управляет тем, инициализируется ли вероятностная модель арифметического декодирования с предопределенным значением; и модуль арифметического декодирования, который декодирует слайс путем арифметического декодирования.
[0302] В соответствии с примерным вариантом осуществления, раскрытым здесь, устройство представляет собой устройство, которое по меньшей мере частично кодирует видеопоследовательность, включающую в себя слайсы изображения, путем арифметического кодирования, чтобы генерировать битовый поток, причем устройство включают в себя: модуль генерации битового потока, генерирующего блока, который встраивает, в данные для слайса битового потока, индикатор инициализации, указывающий, инициализируется ли вероятностная модель арифметического кодирования слайса с предопределенным значением; модуль управления, который управляет тем, инициализируется ли вероятностная модель арифметического кодирования с предопределенным значением; и модуль арифметического кодирования, который кодирует слайс.
[0303] Например, индикатор инициализации встроен в данные заголовка слайса.
[0304] Например, индикатор инициализации является 1-битовым флагом. В 1-битовом флаге, "1" указывает, что вероятностный режим арифметического декодирования инициализируется с предопределенным значением, и "0" указывает, что вероятностный режим арифметического декодирования инициализируется другим способом.
[0305] Например, слайс изображения может быть подразделен на единицы кодирования, соответствующие пиксельным блокам изображения, и только тогда, когда слайс является зависимым слайсом, который представляет собой слайс, использующий параметры заголовка другого слайса, модуль синтаксического анализа может извлечь индикатор инициализации данных заголовка.
[0306] Например, только тогда, когда параллельное декодирование мозаичных элементов допускается, модуль синтаксического анализа может извлекать индикатор инициализации данных заголовка. В качестве альтернативы, только тогда, когда слайс начинается в начале мозаичного элемента, модуль синтаксического анализа может извлечь индикатор инициализации данных заголовка.
[0307] Например, индикатор инициализации встраивается в SEI сообщение вне заголовка слайса.
[0308] Следует отметить, что термин "слайс (нормальный слайс или зависимый слайс)", используемый в приведенном выше описании, иногда упоминается как "сегмент слайса (сегмент нормального слайса или сегмент зависимого слайса)". В этом случае, единица, включающая в себя один или более последовательных сегментов слайса, упоминается как "слайс". В частности, один слайс включает в себя один нормальный сегмент слайса и один или более последовательных сегментов зависимого слайса, следующих за сегментом нормального слайса. Иными словами, когда за сегментом нормального слайса немедленно следует другой сегмент нормального слайса, слайс включает в себя только сегмент нормального слайса. Кроме того, когда один или более сегментов зависимого слайса следуют непосредственно за сегментом нормального слайса, слайс включает в себя сегмент нормального слайса и один или более сегментов зависимого слайса. Одним словом, один слайс находится в диапазоне от сегмента нормального слайса до одного или более зависимых слайсов, непосредственно предшествующих следующему сегменту нормального слайса.
[0309] Когда используется такое определение, вышеупомянутые ограничения для мозаичных элементов и слайсов соответствуют следующим определениям.
[0310] Один или оба из следующих условий должны быть выполнены для каждого слайса и мозаичного элемента. (1) Все единицы дерева кодирования в слайсе принадлежат тому же самому мозаичному элементу. (2) Все единицы дерева кодирования в мозаичном элементе принадлежат тому же самому слайсу.
[0311] Здесь, единицы дерева кодирования имеют то же значение, что и указанные выше LCU и блоки дерева кодирования.
[0312] Кроме того, одно или оба из следующих условий должны быть выполнены для каждого сегмента слайса и мозаичного элемента. (1) Все единицы дерева кодирования в сегменте слайса принадлежат тому же самому мозаичному элементу. (2) Все единицы дерева кодирования в мозаичном элементе принадлежат тому же самому сегменту слайса.
[0313] Хотя устройство кодирования изображения и устройство декодирования изображения были описаны со ссылкой на варианты осуществления, как указано выше, настоящее изобретение не ограничивается этими вариантами осуществления.
[0314] Способ кодирования изображения и способ декодирования изображения выполняются с помощью устройства кодирования изображения и устройства декодирования изображения, соответственно. Устройство кодирования изображения и устройство декодирования изображения имеют те же структуры, как, например, показанные на фиг. 1 и фиг. 2, соответственно, и характерные этапы, включенные в способ кодирования изображения и способ декодирования изображения, выполняются с помощью любого из соответствующих модулей обработки, показанных на фиг. 1 и фиг. 2, или не показанными модулями обработки.
[0315] Кроме того, соответствующие модули обработки, включенные в устройство кодирования изображения и устройство декодирования изображения в соответствии с вариантами осуществления, типично реализуются в виде LSI (БИС), которая является интегральной схемой. Эти модули обработки могут быть индивидуально сконфигурированы в виде отдельных микросхем, или могут быть сконфигурированы таким образом, что часть или все модули обработки включаются в одну микросхему.
[0316] Следует также отметить, что метод интегральной схемы не ограничивается БИС, и она может быть реализована в виде специализированной схемы или процессора общего назначения. Также может использоваться программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления БИС, или процессор с изменяемой конфигурацией, в котором соединение и настройка схемных ячеек внутри БИС могут быть реконфигурированы.
[0317] В соответствующих вариантах осуществления, соответствующие составные элементы сконфигурированы в форме специализированного аппаратного продукта, но также могут быть реализованы путем выполнения программного обеспечения, подходящего для соответствующего составного элемента. Соответствующие составные элементы могут быть реализованы посредством записи и считывания программы программного обеспечения, записанного на носитель записи, такой как жесткий диск или полупроводниковая память, посредством исполняющего программу модуля, такого как CPU и процессор.
[0318] Другими словами, каждое из устройства кодирования изображения и устройства декодирования изображения включает в себя: схему управления и память, электрически соединенную со схемой управления (доступную из схемы управления). Схема управления содержит по меньшей мере одно из специализированных аппаратных средств и исполняющего программу модуля. Память хранит программу программного обеспечения, исполняемую посредством исполняющего программу модуля, когда схема управления включает в себя исполняющий программу модуль.
[0319] Кроме того, настоящее изобретение может быть программой программного обеспечения или может быть не временным считываемым компьютером носителем записи, на котором записана программа. Разумеется, программа может распространяться через передающую среду, такую как Интернет.
[0320] Кроме того, все числовые выражения в приведенном выше описании являются примерами для более подробного пояснения настоящего изобретения. Настоящее изобретение не ограничивается такими числовыми примерами.
[0321] Кроме того, разделение функциональных блоков в блок-схемах приведено в качестве примеров, и множество функциональных блоков может быть выполнено в виде одного функционального блока, один функциональный блок может быть разделен на множество частей, или часть функций функционального блока может быть перемещена в другой функциональный блок. Кроме того, функции функциональных блоков, имеющих аналогичные функции, могут выполняться параллельно или в режиме временного разделения одним аппаратным средством или программным обеспечением.
[0322] Следует также отметить, что последовательность выполнения этапов, включенных в каждый из способа кодирования изображения и способа декодирования изображения, приведена в качестве примера для пояснения настоящего изобретения в конкретных терминах, и, таким образом, могут быть использованы другие последовательности. Часть из этапов могут выполняться одновременно (параллельно) с другим этапом.
[0323] Раскрытая здесь сущность изобретения должна рассматриваться как описательная и иллюстративная, и приложенные пункты формулы изобретения имеют объем, предназначенный для покрытия и охвата не только конкретных раскрытых вариантов осуществления, но и эквивалентных структур, способов и/или применений. Различные модификации вариантов осуществления, которые могут быть созданы специалистами в данной области техники, и формы, конфигурируемые посредством объединения составных элементов в различных вариантах осуществления без отклонения от принципов настоящего изобретения, включены в объем одного или более аспектов настоящего изобретения.
[0324] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 5
Обработка, описанная в каждом из вариантов осуществления, может быть просто реализована в независимой компьютерной системе путем записи, на носителе записи, программы для реализации конфигураций способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанных в каждом из вариантов осуществления изобретения. Носителями записи могут быть любые носители записи при условии, что программа может быть записана, такими как магнитный диск, оптический диск, магнитно-оптический диск, IC-карта и полупроводниковая память.
[0325] Далее будут описаны применения способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанными в каждом из вариантов осуществления, и системы с их использованием. Система имеет признак наличия устройства кодирования и декодирования изображения, которое включает в себя устройство кодирования изображения, использующее способ кодирования изображения, и устройство декодирования изображения, использующее способ декодирования изображения. Другие конфигурации в системе могут быть изменены по мере необходимости в зависимости от случаев.
[0326] Фиг. 28 иллюстрирует общую конфигурацию системы ех100 предоставления контента для реализации услуг распространения контента. Область предоставления услуг связи разделена на соты нужного размера, и базовые станции ех106, ех107, ех108, ех109 и ех110, которые являются фиксированными беспроводными станциями, расположены в каждой из сот.
[0327] Система ех100 предоставления контента соединена с устройствами, такими как компьютер ех111, персональный цифровой помощник (PDA) ех112, камера ех113, сотовый телефон ех114 и игровой автомат ех115, через Интернет ех101, поставщика ех102 Интернет-услуг, телефонную сеть ех104, а также базовые станции ех106-ех110, соответственно.
[0328] Однако конфигурация системы ех100 предоставления контента не ограничивается конфигурацией, показанной на фиг. 28, и комбинация, в которой любые из элементов соединены, является приемлемой. Кроме того, каждое устройство может быть напрямую подключено к телефонной сети ех104, а не через базовые станции ех106-ех110, которые являются фиксированными беспроводными станциями. Кроме того, эти устройства могут быть соединены друг с другом через беспроводную связь ближнего действия и т.д.
[0329] Камера ех113, например, цифровая видеокамера, способна захватывать видео. Камера ех116, например, цифровая камера, способна захватывать как неподвижные изображения и видео. Кроме того, сотовый телефон ех114 может быть таким, который удовлетворяет любому из стандартов, таких как Глобальная система мобильной связи (GSM) (зарегистрированный товарный знак), множественный доступ с кодовым разделением (CDMA), широкополосный множественный доступ с кодовым разделением (W-CDMA), Долгосрочное развитие (LTE) и Высокоскоростной пакетный доступ (HSPA). Кроме того, сотовый телефон ех114 может быть системой для персональных мобильных телефонов (PHS).
[0330] В системе ех100 предоставления контента потоковый сервер ех103 соединен с камерой ех113 и другими элементами через телефонную сеть ех104 и базовую станцию ех109, что позволяет осуществлять распространение изображений прямого эфира и т.п. При таком распространении, контент (например, видео музыкального шоу в прямом эфире), захваченный пользователем с помощью камеры ех113, кодируется, как описано выше, в каждом из вариантов осуществления (т.е. камера функционирует как устройство кодирования изображения в соответствии с аспектом настоящего изобретения), и кодированный контент передается на потоковый сервер ех103. С другой стороны, потоковый сервер ех103 осуществляет распространения потока передаваемых данных контента к клиентам по их запросам. Клиенты включают в себя компьютер ех111, PDA ех112, камеру ех113, сотовый телефон ех114 и игровой автомат ех115, которые способны декодировать вышеупомянутые кодированные данные. Каждое из устройств, которые приняли распространяемые данные, декодирует данные и воспроизводит кодированные данные (т.е., функционирует в качестве устройства декодирования изображения в соответствии с аспектом настоящего изобретения).
[0331] Захваченные данные могут быть закодированы камерой ех113 или потоковым сервером ех103, который передает данные, или процессы кодирования могут быть разделены между камерой ех113 и потоковым сервером ех103. Кроме того, распространяемые данные могут быть декодированы клиентами или потоковым сервером ех103, или процессы декодирования могут быть разделены между клиентами и потоковым сервером ех103. Кроме того, данные неподвижных изображений и видео, захваченные не только камерой ех113, но и камерой ех116, могут быть переданы на потоковый сервер ех103 через компьютер ех111. Процессы кодирования могут выполняться камерой ех116, компьютером ех111 или потоковым сервером ех103 или разделяться между ними.
[0332] Кроме того, процессы кодирования и декодирования могут выполняться с помощью LSI (БИС) ех500, обычно включенной в каждый из компьютера ех111 и устройств. БИС ех500 может быть сконфигурирована из одной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования видео может быть интегрировано в некоторый тип носителя записи (например, CD-ROM, гибкий диск и жесткий диск), который может считываться компьютером ех111 и т.п., и процессы кодирования и декодирования могут быть выполнены с использованием программного обеспечения. Кроме того, когда сотовый телефон ех114 оснащен камерой, видеоданные, полученные с помощью камеры, могут быть переданы. Видеоданные являются данными, кодированными с помощью БИС ех500, включенной в сотовой телефон ех114.
[0333] Кроме того, потоковый сервер ех103 может состоять из серверов и компьютеров и может выполнять децентрализацию данных и обрабатывать децентрализованные данные, записывать или распространять данные.
[0334] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ех100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ех100 предоставления контента, так что пользователь, который не имеет какого-либо конкретного права и оборудования, может реализовать персональное вещание.
[0335] Помимо примера системы ех100 предоставления контента, по меньшей мере одно из устройства кодирования движущегося изображения (устройства кодирования изображения) и устройства декодирования движущегося изображения (устройства декодирования изображения), описанных в каждом из вариантов осуществления, могут быть реализованы в цифровой вещательной системе ех200, показанной на фиг. 29. Более конкретно, вещательная станция ех201 осуществляет связь или передает с помощью радиоволн на вещательный спутник ех202 мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных и т.п. на видеоданные. Видеоданные являются данными, кодированными способом кодирования движущегося изображения, описанным в каждом из вариантов осуществления (т.е. данными, кодированными с помощью устройства кодирования изображения в соответствии с одним из аспектов настоящего изобретения). После приема мультиплексированных данных, вещательный спутник ех202 передает радиоволны для осуществления вещания. Затем, антенна ех204 домашнего использования с функцией приема спутникового вещания принимает радиоволны. Далее, устройство, такое как телевизор (приемник) ех300 и телевизионная приставка (STB) ех217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (т.е., функционирует в качестве устройства декодирования изображения в соответствии с аспектом настоящего изобретения).
[0336] Кроме того, устройство ех218 считывания/записи (i) считывает и декодирует мультиплексированные данные, записанные на носителе ех215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ех215 записи, а в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала на кодированные данные. Устройство ех218 считывания/записи может включать в себя устройство декодирования движущегося изображения или устройство кодирования движущегося изображения, как показано в каждом из вариантов осуществления изобретения. В этом случае воспроизведенные видеосигналы отображаются на мониторе ех219 и могут быть воспроизведены с помощью другого устройства или системы с использованием носителя ех215 записи, на котором записаны мультиплексированные данные. Кроме того, можно реализовать устройство декодирования движущегося изображения в устройстве ех217 телеприставки, подключенном к кабелю ех203 для кабельного телевидения, или к антенне ех204 для спутникового и/или наземного вещания, чтобы отображать видеосигналы на мониторе ех219 телевизора ех300. Устройство декодирования движущегося изображения может быть реализовано не в телеприставке, а в телевизоре ех300.
[0337] Фиг. 30 иллюстрирует телевизор (приемник) ех300, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления. Телевизор ех300 включает в себя: тюнер ех301, который получает или обеспечивает мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных на видеоданных, через антенну ех204 или кабель ех203 и т.д., которые принимают вещание; модуль ех302 модуляции/демодуляции, который демодулирует принимаемые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны предоставляться вовне; и модуль ех303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные с помощью модуля ех306 обработки сигналов, в данные.
[0338] Телевизор ех300 дополнительно включает в себя: модуль ех306 обработки сигналов, включающий в себя модуль ех304 обработки аудиосигнала и модуль ех305 обработки видеосигнала, что декодировать аудиоданные и видеоданные и кодировать аудиоданные и видеоданные, соответственно (которые функционируют как устройство кодирования изображения и устройство декодирования изображения в соответствии с аспектами настоящего изобретения); и модуль ех309 вывода, включающий в себя громкоговоритель ех307, который обеспечивает декодированный аудиосигнал, и модуль ех308 отображения, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизор ех300 включает в себя модуль ех317 интерфейса, включающий в себя модуль ех312 операционного ввода, который принимает ввод пользовательской операции. Кроме того, телевизор ех300 включает в себя модуль ех310 управления, который управляет в целом каждым из составных элементов телевизора ех300, и модуль ех311 схемы питания, который подает питание на каждый из элементов. Помимо модуля ех312 операционного ввода, модуль ех317 интерфейса может включать в себя: мост ех313, который соединен с внешним устройством, таким как модуль ех218 считывания/записи; гнездовой модуль ех314 для обеспечения крепления носителя записи, такого как SD-карта; драйвер ех315 для подключения к внешнему носителю записи, такому как жесткий диск; и модем ех316 для подключения к телефонной сети. Здесь носитель ех216 записи может электрически записывать информацию с использованием элемента энергонезависимой/энергозависимой памяти для хранения. Составные элементы телевизора ех300 соединены друг с другом через синхронную шину.
[0339] Сначала будет описана конфигурация, в которой телевизор ех300 декодирует мультиплексированные данные, полученные извне через антенну ех204 и т.п., и воспроизводит декодированные данные. В телевизоре ех300, при операции пользователя через удаленный контроллер ех220 и т.п., модуль ех303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные модулем ех302 модуляции/демодуляции, под управлением модуля ех310 управления, включающим в себя CPU. Кроме того, модуль ех304 обработки аудиосигналов декодирует демультиплексированные аудиоданные, и модуль ех305 обработки видеосигнала декодирует демультиплексированные видеоданные, используя способ декодирования, описанный в каждом из вариантов осуществления, в телевизоре ех300. Модуль ех309 вывода выдает декодированный видеосигнал и аудиосигнал вовне, соответственно. Когда модуль ех309 вывода выдает видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ех318 и ех319 и других, так что сигналы воспроизводятся синхронно друг с другом. Кроме того, телевизор ех300 может считывать мультиплексированные данные не через вещание и т.п., а с носителя ех215 и ех216 записи, такого как магнитный диск, оптический диск и SD-карта. Далее будет описана конфигурация, в которой телевизор ех300 кодирует аудиосигнал и видеосигнал и передает данные вовне или записывает данные на носитель записи. В телевизоре ех300, при операции пользователя через дистанционный контроллер ех220 и т.п., модуль ех304 обработки аудиосигнала кодирует аудиосигнал, и модуль ех305 обработки видеосигнала кодирует видеосигнал, под управлением модуля ех310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Модуль ех303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет результирующий сигнал вовне. Когда модуль ех303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ех320 и ех321 и других, так что сигналы воспроизводятся синхронно друг с другом. Здесь, буферы ех318, ех319, ех320 и ех321 могут быть во множестве, как показано, или по меньшей мере один буфер может совместно использоваться в телевизоре ех300. Кроме того, данные могут быть сохранены в буфере так, что можно избежать переполнения или недогрузки системы, например, между модулем ех302 модуляции/демодуляции и модулем ех303 мультиплексирования/демультиплексирования.
[0340] Кроме того, телевизор ех300 может включать в себя конфигурацию для приема входа AV с микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из вещания или носителя записи, и может кодировать полученные данные. Хотя телевизор ех300 может кодировать, мультиплексировать и предоставлять вовне данные, как описано, он может быть способен только принимать, декодировать и предоставлять вовне данные, но не кодировать, мультиплексировать и предоставлять данные вовне.
[0341] Кроме того, когда модуль ех218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизора ех300 и модуля ех218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизор ех300 и модуль ех218 считывания/записи может совместно использовать декодирование или кодирование.
[0342] В качестве примера, фиг. 31 иллюстрирует конфигурацию модуля ех400 воспроизведения/записи информации, когда данные считываются или записываются с или на оптический диск. Модуль ех400 воспроизведения/записи информации включает в себя составные элементы ех401, ех402, ех403, ех404, ех405, ех406 и ех407, которые будут описаны ниже. Оптическая головка ех401 облучает лазерное пятно на поверхности записи носителя ех215 записи, которым является оптический диск для записи информации, и детектирует отраженный свет от поверхности записи носителя ех215 записи, чтобы считать информацию. Модуль ех402 записи модуляции электрически приводит в действие полупроводниковый лазер, включенный в оптическую головку ех401, и модулирует лазерный свет в соответствии с записанными данными. Модуль ех403 демодуляции воспроизведения усиливает сигнал воспроизведения, полученный путем электрического детектирования отраженного света от поверхности записи с использованием фотодетектора, включенного в оптическую головку ех401, и демодулирует сигнал воспроизведения путем отделения компонента сигнала, записанного на носитель ех215 записи, чтобы воспроизводить необходимую информацию. Буфер ех404 временно хранит информацию, подлежащую записи на носителе ех215 записи, и информацию, воспроизводимую с носителя ех215 записи. Двигатель ех405 диска вращает носитель ех215 записи. Модуль ех406 сервоуправления перемещает оптическую головку ех401 до предопределенной информационной дорожки, контролируя при этом привод вращения двигателя ех405 диска таким образом, чтобы следовать за лазерным пятном. Модуль ех407 системного управления осуществляет общее управление модулем ех400 воспроизведения/записи информации. Процессы считывания и записи могут быть реализованы модулем ех407 системного управления, использующим различную информацию, хранящуюся в буфере ех404, и генерирующим и добавляющим новую информацию по мере необходимости, а также модулем ех402 записи модуляции, модулем ех403 демодуляции воспроизведения и модулем ех406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ех401 во время работы скоординированным образом. Модуль ех407 системного управления включает в себя, например, микропроцессор, и исполняет обработку, побуждая компьютер исполнять программу для считывания и записи.
[0343] Хотя оптическая головка ех401 облучает лазерное пятно согласно описанию, она может выполнять запись высокой плотности с использованием света ближнего поля.
[0344] Фиг. 32 иллюстрирует носитель ех215 записи, который является оптическим диском. На поверхности записи носителя ех215 записи спирально сформированы направляющие канавки, и информационная дорожка ех230 записывает заранее адресную информацию, указывающую абсолютное положение на диске в соответствии с изменением в форме направляющих канавок. Адресная информация включает в себя информацию для определения позиций блоков ех231 записи, которые являются единицей для записи данных. Воспроизведение информационной дорожки ех230 и считывание адресной информации в устройстве, которое записывает и воспроизводит данные, может привести к определению позиций блоков записи. Кроме того, носитель ех215 записи включает в себя область ех233 записи данных, внутреннюю периферийную область ех232 и внешнюю периферийную область ех234. Область ех233 записи данных является областью для использования в записи пользовательских данных. Внутренняя периферийная область ех232 и внешняя периферийная область ех234, которые находятся внутри и вне области ех233 записи данных, соответственно, предназначены для специального использования, за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированное аудио, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудио- и видеоданных из и на области ех233 записи данных носителя ех215 записи.
[0345] Хотя оптический диск, имеющий слой, такой как DVD и BD, описан в качестве примера в описании, оптический диск не ограничен таковым, и может представлять собой оптический диск, имеющий многослойную структуру и способный быть записанным на часть, а не на всю поверхность. Кроме того, оптический диск, может иметь структуру для многомерной записи/воспроизведения, например, записи информации с помощью света цветов с различными длинами волн в одной и той же части оптического диска, и для записи информации с помощью различных слоев под различными углами.
[0346] Кроме того, автомобиль ех210, имеющий антенну ех205, может принимать данные со спутника ех202 и других, и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ех211, установленная в автомобиле ех210, в цифровой вещательной системе ех200. Здесь конфигурация автомобильной навигационной системы ех211 будет конфигурацией, например, включающей в себя GPS приемный модуль из конфигурации, показанной на фиг. 30. То же самое будет справедливо и для конфигурации компьютера ех111, сотового телефона ех114 и др.
[0347] Фиг. 33A иллюстрирует сотовый телефон ех114, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в вариантах осуществления. Сотовый телефон ех114 включает в себя: антенну ех350 для передачи и приема радиоволн через базовую станцию ех110; модуль ех365 камеры, способный захватывать движущееся и неподвижное изображения; и модуль ех358 отображения, такой как жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захваченное модулем ех365 камеры, или принимаемое антенной ех350. Сотовый телефон ех114 дополнительно включает в себя: основной корпус, включающий в себя модуль ех366 операционных клавиш; модуль ех357 вывода аудио, такой как громкоговоритель для вывода аудио; модуль ех356 ввода аудио, такой как микрофон для ввода аудио; модуль ех367 памяти для хранения захваченного видео или фотоснимков, записанного аудио, кодированных или декодированных данных принятого видео, фотоснимков, электронной почты или другого; и гнездовой модуль ех364, который является модулем интерфейса для носителя записи, который хранит данные таким же образом, что и модуль ех367 памяти.
[0348] Далее, пример конфигурации сотового телефона ех114 будет описан со ссылкой на Фиг. 33B. В сотовом телефоне ех114 основной модуль ех360 управления, предназначенный для общего управления каждым модулем основного корпуса, включая модуль ех358 отображения, а также модуль ех366 операционных клавиш, соединен взаимно через модуль ех370 синхронной шины с модулем ех361 схемы питания, модулем ех362 управления операционным вводом, модулем ех355 обработки видеосигнала, модулем ех363 интерфейса камеры, модулем ех359 управления жидкокристаллическим дисплеем (LCD), модулем ех359 модуляции/демодуляции, модулем ех353 мультиплексирования/демультиплексирования, модулем ех354 обработки аудиосигнала, гнездовым модулем ех364 и модулем ех367 памяти.
[0349] Когда клавиша конца вызова или клавиша питания включается посредством пользовательской операции, модуль ех361 управления питанием снабжает соответствующе модули мощностью от аккумулятора, чтобы активировать сотовый телефон ех114.
[0350] В сотовом телефоне ех114, модуль ех354 обработки аудиосигнала блока ех354 преобразует аудиосигналы, полученные модулем ех356 ввода аудио в режиме голосового диалога, в цифровые аудиосигналы под управлением основного модуля ех360 управления, включающего CPU, ROM и RAM. Затем модуль ех352 модуляции/демодуляции выполняет обработку расширения спектра на цифровых аудиосигналах, и модуль ех351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование на данных так, чтобы передавать результирующие данные через антенну ех350. Кроме того, в сотовом телефоне ех114 модуль ех351 передачи и приема усиливает данные, принятые антенной ех350 в режиме голосового диалога, и выполняет частотное преобразование и аналого-цифровое преобразование на данных. Затем модуль ех352 модуляции/демодуляции выполняет обработку инверсии расширения спектра на данных, и модуль ех354 обработки аудиосигнала преобразует его в аналоговые аудиосигналы, чтобы вывести их через модуль ех357 вывода аудио.
[0351] Кроме того, когда электронная почта передается в режиме передачи данных, текстовые данные электронной почты, введенные приведением в действие модуля ех366 операционных клавиш и др. основного корпуса, отсылаются на основной модуль ех360 управления посредством модуля ех362 управления операционным вводом. Основной модуль ех360 управления побуждает модуль ех352 модуляции/демодуляции к выполнению обработки расширения спектра на текстовых данных, и модуль ех351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование на результирующих данных для передачи данных к базовой станции ех110 через антенну ех350. Когда принимается электронная почта, обработка, которая является примерно обратной обработке для передачи электронной почты, выполняется на полученных данных, и результирующие данные предоставляются на модуль ех358 отображения.
[0352] Когда видео, неподвижные изображения или видео и аудио передаются в режиме передачи данных, модуль ех355 обработки видео сигнала сжимает и кодирует видео сигналы, подаваемые из модуля ех365 камеры, с использованием способа кодирования движущегося изображения, показанного в каждом из вариантов осуществления (т.е., функционирует в качестве устройства кодирования изображения в соответствии с аспектом настоящего изобретения), и передает закодированные видеоданные на модуль ех353 мультиплексирования/демультиплексирования. В отличие от этого, когда модуль ех365 камеры захватывает видео, неподвижные изображения и другое, модуль ех354 обработки аудиосигнала кодирует аудиосигналы, полученные модулем ех356 ввода аудио, и передает кодированные аудиоданные в модуль ех353 мультиплексирования/демультиплексирования.
[0353] Модуль ех353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, переданные из модуля ех355 обработки видеосигнала, и кодированные аудиоданные, переданные из модуля ех354 обработки аудиосигнала, с использованием предопределенного способа. Затем модуль ех352 модуляции/демодуляции (модуль схемы модуляции/демодуляции) выполняет обработку расширения спектра на мультиплексированных данных, и модуль ех351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование на данных, чтобы передавать результирующие данные через антенну ех350.
[0354] При приеме данных из видеофайла, который связан с веб-страницей и др. в режиме передачи данных, или при приеме сообщения электронной почты с видео- и/или аудиовложением, для того чтобы декодировать мультиплексированные данные, принятые через антенну ех350, модуль ех353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных и подает на модуль ех355 обработки видеосигнала кодированные видеоданные и на модуль ех354 обработки аудиосигнала кодированные аудиоданные через синхронную шину ех370. Модуль ех355 обработки видеосигнала декодирует видеосигнал, используя способ декодирования движущегося изображения, соответствующий способу кодирования движущегося изображения, показанного в каждом из вариантов осуществления (т.е. функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения), а затем модуль ех358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через модуль ех359 управления LCD. Кроме того, модуль ех354 обработки аудиосигнала декодирует аудиосигнал, и модуль ех3578 вывода аудио выдает аудио.
[0355] Кроме того, подобно телевизору ех300, терминал, такой как сотовый телефон ех114, вероятно, имеет 3 типа конфигураций реализации, включающих в себя не только (i) передающий и приемный терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя цифровая вещательная система ех200 в описании принимает и передает мультиплексированные данные, полученные путем мультиплексирования аудиоданных на видеоданные, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, относящихся к видео, на видеоданных, и могут быть не мультиплексированными данными, а самими видеоданными.
[0356] Таким образом, способ кодирования движущихся изображений и способ декодирования движущегося изображения в каждом из вариантов осуществления может быть использован в любом из описанных устройств и систем. Таким образом, преимущества, описанные в каждом из вариантов осуществления, могут быть получены.
[0357] Кроме того, различные модификации и изменения могут быть сделаны в любом из вариантов осуществления в настоящем изобретении.
[0358] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 6
Видеоданные могут генерироваться путем переключения, по мере необходимости, между (i) способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с другим стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
[0359] Здесь, когда множество видеоданных, которые соответствует различным стандартам, генерируется и затем декодируется, способы декодирования должны быть выбраны, чтобы соответствовать различным стандартам. Однако, поскольку невозможно определить стандарт, которому соответствуют каждые из множества видеоданных, подлежащих декодированию, существует проблема, состоящая в том, что подходящий способ декодирования не может быть выбран.
[0360] Ввиду этого, мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных и др. на видео данных, имеют структуру, включающую идентификационную информацию, указывающую, какому стандарту соответствует видеоданные. Конкретная структура мультиплексированных данных, включающих в себя видео данные, сгенерированные в способе кодирования движущегося изображения и устройством кодирования движущегося изображения, показанным в каждом из вариантов осуществления, будет описана ниже. Мультиплексированными данными является цифровой поток в формате MPEG-2 транспортного потока.
[0361] Фиг. 34 иллюстрирует структуру мультиплексированных данных. Как показано на фиг. 34, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет основной видео и вторичное видео из фильма, аудиопоток (IG) представляет собой основную часть аудио и вторичную часть аудио, которая подлежат смешиванию с первичной частью аудио, и поток презентационной графики представляет субтитры фильма. Здесь, основное видео является нормальным видео, которое будет отображаться на экране, и вторичное видео представляет собой видео, которое будет отображаться в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет собой интерактивный экран, который будет генерироваться путем размещения компонентов графического пользовательского интерфейса (GUI) на экране. Видеопоток кодируется в способе кодирования движущегося изображения или устройством кодирования движущегося изображения, показанным в каждом из вариантов осуществления, или в способе кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с обычным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии с такими стандартами, как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
[0362] Каждый поток, включенный в мультиплексированный данных, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, подлежащему использованию для видео фильма, от 0x1100 до 0x111F выделяются аудиопотоку, от 0x1200 до 0x121F выделяются для потоков презентационной графики, от 0x1400 до 0x141F выделяются для потоков интерактивной графики, от 0x1B00 до 0x1B1F выделяются для видеопотоков, подлежащих использованию для вторичного видео фильма, и от 0x1A00 до 0x1A1F выделяются для потоков аудио, подлежащих использованию для вторичного аудио, подлежащего смешиванию с первичным аудио.
[0363] Фиг. 35 схематично иллюстрирует, как мультиплексированы данные. Во-первых, видеопоток ех235, состоящий из видеокадров, и аудиопоток ех238, состоящий из аудиокадров, преобразуются в поток PES-пакетов ех236 и поток PES-пакетов ех239 и далее в TS-пакеты ех237 и TS-пакеты ех240, соответственно. Кроме того, данные потока ех241 презентационной графики и данные потока ех244 интерактивной графики преобразуются в поток PES-пакетов ех242 и поток PES-пакетов ех245 и далее в TS-пакеты ех243 и TS-пакеты ех246, соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получить мультиплексированные данные ех247.
[0364] Фиг. 36 более подробно показывает, как видеопоток сохраняется в потоке PES-пакетов. Первая строка на фиг. 36 показывает поток видео кадров в видеопотоке. Вторая строка показывает поток PES-пакетов. Как показано стрелками, обозначенными как yy1, yy2, yy3 и yy4 на фиг. 36, видео поток разделяется на изображения (картинки) как I-картинки, В-картинки и Р-картинки, каждая из которых является единицей видео-презентации, и картинки хранятся в полезной нагрузке каждого из PES-потоков. Каждый из PES-пакетов имеет PES-заголовок, и PES- заголовок хранит временную метку презентации (PTS), указывающую время отображения картинки, и временную метку декодирования (DTS), указывающую время декодирования картинки.
[0365] Фиг. 37 иллюстрирует формат TS-пакетов, подлежащих окончательной записи на мультиплексированные данные. Каждый из TS-пакетов является 188-байтовым пакетом фиксированной длины, включающим в себя 4-байтовый TS-заголовок, имеющий информацию, такую как PID для идентификации потока, и 184-байтовую TS-полезную нагрузку для хранения данных. PES-пакеты делятся и хранятся в TS-полезных нагрузках, соответственно. При использовании BD ROM, каждому из TS-пакетов задан 4-байтовый TP_Extra_Header (ТР дополнительный заголовок), что приводит в результате к 192-байтовым исходным пакетам. Исходные пакеты записываются на мультиплексированные данные. TP_Extra_Header хранит информацию, такую как Arrival_Time_Stamp (ATS, метка времени прихода). АТS показывает начальное время передачи, в которое каждый из пакетов TS должен передаваться к PID фильтру. Исходные пакеты упорядочиваются в мультиплексированные данные, как показано в нижней части фиг. 37. Числа, возрастающие от начала мультиплексированных данных, называются номерами исходных пакетов (SPN).
[0366] Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и другие, но также таблицу с перечнем программ потока с их идентификаторами (PAT), таблицу структуры программ (PMT) и поле эталонных часов (PCR). PAT показывает, какой PID в PMT использован в мультиплексированных данных, и PID самого PAT зарегистрирован в качестве нуля. PMT сохраняет PID потоков видео, аудио, субтитров и другого, включенных в мультиплексированные данных, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, относящиеся к мультиплексированным данным. Дескрипторы имеют информацию, такую как информация управления копированием, указывающую, разрешено ли копирование мультиплексированных данных или нет. PCR хранит STC информацию о времени, соответствующую АТS, показывающему, когда пакет PCR передается в декодер, чтобы достичь синхронизации между часами времени прихода (ATC), которое представляет собой временную ось ATS, и часами системного времени (STC), которое представляет собой временную ось PTS и DTS.
[0367] Фиг. 38 более детально иллюстрирует структуру данных РМТ. РМТ-заголовок расположен сверху РМТ. РМТ-заголовок описывает длину данных, включенных в РМТ, и другое. Множество дескрипторов, относящихся к мультиплексированным данным, расположено после РМТ-заголовка. Информация, такая как информация управления копированием, описана в дескрипторах. После дескрипторов расположено множество частей информации потока, относящейся к потокам, включенным в мультиплексированные данные. Каждая часть информации потока включает в себя дескрипторы потока, каждый из которых описывает информацию, такую как тип потока, для идентификации кодека сжатия потока, PID потока и информацию атрибутов потока (такую как частота кадров или формат кадра). Дескрипторы потока по количеству равны количеству потоков в мультиплексированных данных.
[0368] Когда мультиплексированные данные записываются на носитель записи и другое, они записываются вместе с файлами информации мультиплексированных данных.
[0369] Каждый из файлов информации мультиплексированных данных является информацией управления мультиплексированных данных, как показано на фиг. 39. Файлы информации мультиплексированных данных находятся в однозначном соответствии с мультиплексированными данными, и каждый из файлов содержит информацию мультиплексированных данных, информацию атрибутов потока и карту элементов записи.
[0370] Как показано на фиг. 39, информация мультиплексированных данных включает в себя скорость системы, время начала воспроизведения и время конца воспроизведения. Скорость системы указывает на максимальную скорость передачи, при которой целевой декодер системы, описанный далее, передает мультиплексированные данные в PID фильтр. Интервалы АТS, включенные в мультиплексированные данные, установлены на значение не выше, чем скорость системы. Время начала воспроизведения указывает PTS в видеокадре в начале мультиплексированных данных. Интервал в один кадр добавлен к PTS в видеокадре в конце мультиплексированных данных, и PTS установлен на время конца воспроизведения.
[0371] Как показано на фиг. 40, часть информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая часть информации атрибутов имеет различную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждая часть информации атрибутов видеопотока несет информацию, включающую то, какой тип кодека сжатия используется для сжатия видеопотока, и разрешение, формат кадра и частоту кадров частей данных картинок, которые включены в видеопоток. Каждая часть информации атрибутов аудиопотока несет информацию, включающую в себя то, какой тип кодека сжатия используется для сжатия аудиопотока, сколько каналов включены в аудиопоток, какой язык поддерживает аудиопоток, и насколько высока частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера перед тем, как плеер будет воспроизводить информацию.
[0372] В настоящем варианте осуществления, мультиплексированные данные, подлежащие использованию, представляют собой тип потока, включенный в РМТ. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для распределения уникальной информации, указывающей видеоданные, генерируемые способом кодирования изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, для типа потока, включенного в РМТ или информацию атрибутов видеопотока. При такой конфигурации, видеоданные, генерируемые способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанным в каждом из вариантов осуществления, могут различаться от видеоданных, которые соответствуют другому стандарту.
[0373] Кроме того, фиг. 41 иллюстрирует этапы способа декодирования движущегося изображения в соответствии с настоящим вариантом осуществления. На этапе ехS100 тип потока, включенный в РМТ, или информация атрибутов видеопотока, включенная в информацию мультиплексированных данных, получается из мультиплексированных данных. Затем, на этапе ехS101, определяют, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные генерированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления. Когда определено, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные сгенерированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, на этапе ехS102 выполняется декодирование способом декодирования движущегося изображения в каждом из вариантов осуществления. Кроме того, если тип потока или информация атрибутов видеопотока указывает на соответствие с обычными стандартами, такими как MPEG-2, MPEG-4 AVC, и VC-1, на этапе ехS103 декодирование выполняется способом декодирования движущегося изображения в соответствии с обычными стандартами.
[0374] Таким образом, выделение нового уникального значения типу потока или информации атрибутов видеопотока позволяет определить, может ли способ декодирования изображения или устройство декодирования движущегося изображения, описанное в каждом из вариантов осуществления, выполнять декодирование. Даже когда вводятся мультиплексированные данные, соответствующие некоторому другому стандарту, может быть выбран соответствующий способ или устройство декодирования. Таким образом, становится возможным декодирование информации без каких-либо ошибок. Кроме того, способ или устройство кодирования движущегося изображения или способ или устройство декодирования движущегося изображение в настоящем варианте осуществления могут быть использованы в устройствах и системах, описанных выше.
[0375] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 7
Каждый из способа кодирования движущегося изображения, устройства кодирования движущегося изображения, способа декодирования движущегося изображения и устройства декодирования движущегося изображения в каждом из вариантов осуществления, как правило, реализуется в форме интегральной схемы или интегральной схемы с высокой степенью интеграции (LSI, БИС). В качестве примера БИС, фиг. 42 иллюстрирует конфигурацию БИС ех500, которая выполнена в одной микросхеме. БИС ех500 включает в себя элементы ех501, ех502, ех503, ех504, ех505, ех506, ех507, ех508 и ех509, которые будут описаны ниже, причем элементы соединены друг с другом через шину ех510. Модуль ех505 схемы питания активируется путем подачи мощности на каждый из элементов, когда модуль ех505 схемы питания включается.
[0376] Например, когда выполняется кодирование, БИС ех500 получает AV сигнал от микрофона ех117, камеры ех113 и другого через AV ввод-вывод ех509 под управлением модуля ех501 управления, включающего в себя CPU ех502, контроллер ех503 памяти, контроллер ех504 потока и модуль ех512 управления частотой возбуждения. Принятый AV сигнал временно сохраняется во внешней памяти ех511, такой как SDRAM. Под управлением модуля ех501 управления сохраненные данные сегментируются на порции данных в соответствии с объемом и скоростью обработки, чтобы передаваться в модуль ех507 обработки сигналов. Затем модуль ех507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, модуль ех507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и ввод-вывод (I/O) ех506 потока выдает мультиплексированные данные вовне. Выведенные мультиплексированные данные передаются на базовую станцию ех107 или записываются на носитель ех215 записи. Если наборы данных мультиплексированы, эти данные должны быть временно сохранены в буфере ех508, так что наборы данных синхронизированы друг с другом.
[0377] Хотя память ех511 является элементом внешним относительно БИС ех500, она может быть включена в БИС ех500. Буфер ех508 не ограничивается одним буфером, но может состоять из буферов. Кроме того, БИС ех500 может быть выполнена на одной микросхеме или множестве микросхем.
[0378] Кроме того, хотя модуль ех501 управления включает в себя CPU ех502, контроллер ех503 памяти, контроллер ех504 потока, модуль ех512 управления частотой возбуждения, конфигурация модуля ех501 управления не ограничивается этим. Например, модуль ех507 обработки сигналов может дополнительно включать в себя CPU. Включение другого CPU в модуль ех507 обработки сигналов может улучшить скорость обработки. Кроме того, в качестве другого примера, CPU ех502 может служить в качестве модуля ех507 обработки сигналов или быть его частью и, например, может включать в себя модуль обработки аудиосигнала. В таком случае, модуль ех501 управления включает в себя модуль ех507 обработки сигналов, или CPU ех502 включает в себя часть модуля ех507 обработки сигналов.
[0379] Термином, используемым здесь, является БИС, но это также может определяться как интегральная схема (IC, ИС), система БИС, супер-БИС или ультра-БИС в зависимости от степени интеграции.
[0380] Кроме того, способы достижения интеграции не ограничиваются БИС, и специализированная схема или процессор общего назначения и т.д. может также реализовывать интеграцию. Программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована после изготовления БИС, или процессор с изменяемой конфигурацией, которые позволяют изменять соединение или конфигурацию БИС, могут быть использованы с той же целью.
[0381] В будущем, с прогрессом в технологии полупроводников, совершенно новая технология может заменить БИС. Функциональные блоки могут быть интегрированы с использованием такой технологии. Возможно также, что настоящее изобретение будет применяться к биотехнологии.
[0382] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 8
Когда видеоданные, сгенерированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, декодируются, по сравнению с тем, когда декодируются видеоданные, которые соответствуют обычным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1, объем обработки, вероятно, увеличивается. Таким образом, БИС ех500 требуется установить на частоту возбуждения более высокую, чем у CPU ех502, который должен использоваться, когда декодируются видеоданные в соответствии с обычным стандартом. Однако когда частота возбуждения устанавливается выше, имеет место проблема, состоящая в том, что потребление мощности повышается.
[0383] Ввиду этого, устройство декодирования движущегося изображения, такое как телевизор ех300 и БИС ех500, конфигурируется, чтобы определять, какому стандарту соответствуют видеоданные, и переключаться между частотами возбуждения в соответствии с определенным стандартом. Фиг. 43 иллюстрирует конфигурацию ех800 в настоящем варианте осуществления. Модуль ех803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные генерируются способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем, модуль ех803 переключения частоты возбуждения инструктирует модуль ех801 обработки декодирования, который выполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, чтобы декодировать видеоданные. Когда видеоданные соответствует общепринятому стандарту, модуль ех803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем для видеоданных, полученных с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения, описанных в каждом из вариантов осуществления. Затем, модуль ех803 переключения частоты возбуждения инструктирует модуль ех802 обработки декодирования, который соответствует общепринятому стандарту, чтобы декодировать видеоданные.
[0384] Более конкретно, модуль ех803 переключения частоты возбуждения включает в себя CPU ех502 и модуль ех512 управления частотой возбуждения по фиг. 42. Здесь каждый из модуля ех801 обработки декодирования, который выполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и модуля ех802 обработки декодирования, который соответствует общепринятому стандарту, соответствует модулю ех507 обработки сигнала по фиг. 42. CPU ex502 определяет, какому стандарту соответствуют видеоданные. Затем модуль ех512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала от CPU ex502. Кроме того, модуль ех507 обработки сигнала декодирует видеоданные на основе сигнала от CPU ex502. Например, идентификационная информация, описанная в варианте осуществления 6, может использоваться для идентификации видеоданных. Идентификационная информация не ограничивается описанной в варианте осуществления 6, но может быть любой информацией, если эта информация указывает, какому стандарту соответствует видеоданные. Например, если то, какому стандарту соответствуют видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизора или диска и т.д., определение может быть выполнено на основе такого внешнего сигнала. Кроме того, CPU ех502 выбирает частоту возбуждения на основе, например, справочной таблицы, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как показано на фиг. 45. Частота возбуждения может быть выбрана посредством сохранения справочной таблицы в буфере ех508 и во внутренней памяти БИС и со ссылкой на справочную таблицу посредством CPU ex502.
[0385] Фиг. 44 иллюстрирует этапы для выполнения способа в настоящем варианте осуществления. Сначала на этапе exS200 модуль ех507 обработки сигнала получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201 CPU ex502 определяет, сгенерированы ли видеоданные посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, на основе идентификационной информации. Если видеоданные сгенерированы посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, то на этапе exS202 CPU ex502 передает сигнал для установки частоты возбуждения на более высокую частоту возбуждения в модуль ех512 управления частотой возбуждения. Затем модуль ех512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствует общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1, на этапе ехS203 CPU ex502 передает сигнал для установки частоты возбуждения на более низкую частоту в модуль ех512 управления частотой возбуждения. Затем модуль ех512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем в случае, когда видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом варианте осуществления.
[0386] Кроме того, наряду с переключением частот возбуждения, эффект сбережения мощности может быть улучшен путем изменения напряжения, подаваемого на БИС ех500 или устройство, включающее в себя БИС ех500. Например, когда частота возбуждения установлена более низкой, напряжение, подаваемое на БИС ех500 или устройство, включающее в себя БИС ех500, может устанавливаться на напряжение более низкое, чем в случае, если частота возбуждения установлена более высокой.
[0387] Кроме того, когда объем обработки для декодирования больше, частота возбуждения может быть установлена более высокой, а когда объем обработки для декодирования меньше, частота возбуждения может быть установлена ниже в качестве способа установки частоты возбуждения. Таким образом, способ установки не ограничивается описанным выше. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC больше, чем объем обработки для декодирования видео данных, сгенерированных способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, частота возбуждения может устанавливаться в порядке, обратном установке, описанной выше.
[0388] Кроме того, способ для установки частоты возбуждения не ограничивается способом для установки частоты возбуждения более низкой. Например, когда идентификационная информация указывает, что видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, напряжение, подаваемое на БИС ех500 или устройство, включающее в себя БИС ех500, может устанавливаться выше. Когда идентификационная информация указывает, что видеоданные соответствуют общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1, напряжение, подаваемое на БИС ех500 или устройство, включающее в себя БИС ех500, может устанавливаться ниже. В качестве другого примера, когда идентификационная информация указывает, что видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, приведение в действие CPU ех502, вероятно, не потребуется приостанавливать. Когда идентификационная информация указывает, что видеоданные соответствует общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1, приведение в действие CPU ех502, вероятно, приостанавливается в данный момент времени, потому что CPU ex502 имеет дополнительную производительность обработки. Даже тогда, когда идентификационная информация указывает, что видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, в случае, когда CPU ex502 имеет дополнительную производительность обработки, приведение в действие CPU ех502 может приостанавливаться в данный момент времени. В таком случае, время приостановки, вероятно, устанавливается меньшим, чем в случае, когда идентификационная информация указывает, что видеоданные соответствует общепринятому стандарту, например, MPEG-2, MPEG-4 AVC и VC-1.
[0389] Соответственно, эффект сбережения мощности может быть улучшен путем переключения между частотами возбуждения в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда БИС ех500 или устройство, включающее в себя БИС ех500, приводится в действие с использованием аккумулятора, срок службы батареи может быть продлен за счет эффекта сбережения мощности.
[0390] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 9
Имеются случаи, когда множество видеоданных, которые соответствуют различным стандартам, подаются на устройства и системы, такие как телевизор и сотовый телефон. Для того чтобы декодировать множество видеоданных, которые соответствует различным стандартам, модуль ех507 обработки сигнала БИС ех500 должен соответствовать различным стандартам. Однако возникают проблемы увеличения степени интеграции БИС ех500 и увеличения стоимости при индивидуальном использовании модулей ех507 обработки сигнала, которые отвечают соответствующим стандартам.
[0391] Ввиду этого, предложена конфигурация, в которой модуль обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, и модуль обработки декодирования, который соответствует общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, частично используются совместно. Ex900 на фиг. 46A показывает пример такой конфигурации. Например, способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и способ декодирования движущегося изображения, который соответствует MPEG-4 AVC, имеют частично общие детали обработки, такие как энтропийное кодирование, обратное квантование, фильтрация устранения блочности и предсказание, скомпенсированное по движению. Детали обработки для совместного использования могут включать в себя использование модуля ех902 обработки декодирования, который соответствует MPEG-4 AVC. В отличие от этого, выделенный модуль ех901 обработки декодирования может использоваться для другой обработки, которая является уникальной для аспекта настоящего изобретения и не соответствует MPEG-4 AVC. Поскольку аспект настоящего изобретения характеризуется разделением изображения, в частности, например, выделенный модуль ех901 обработки декодирования используется для разделения изображения. В противном случае, модуль обработки декодирования может совместно использоваться для одного из обратного квантования, энтропийного декодирования, фильтрации устранения блочности и компенсации движения или всей обработки. Модуль обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, может совместно использоваться для совместно используемой обработки, и выделенный модуль обработки декодирования может быть использован для обработки уникальной для MPEG-4 AVC.
[0392] Кроме того, ех1000 на фиг. 46B показывает еще один пример того, что обработка частично разделена. Этот пример использует конфигурацию, включающую в себя выделенный модуль ех1001 обработки декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, выделенный модуль ех1002 обработки декодирования, который поддерживает обработку, уникальную для другого общепринятого стандарта, и модуль ех1003 обработки декодирования, который поддерживает обработку, совместно используемую между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и обычным способом декодирования движущегося изображения. Здесь, выделенные модули ех1001 и ех1002 обработки декодирования не обязательно специализированы для обработки в соответствии с аспектом настоящего изобретения и обработки общепринятого стандарта, соответственно, и могут быть любыми, допускающими реализацию общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством БИС ех500.
[0393] Таким образом, уменьшение степени интеграции БИС и снижение стоимости возможны за счет совместного использования модуля обработки декодирования для обработки, совместно используемой между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и способом декодирования движущегося изображения в соответствии с общепринятым стандартом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0394] Настоящее изобретение может быть применено к способу кодирования изображения, способу декодирования изображения, устройству кодирования изображения и устройству декодирования изображения. Настоящее изобретение также может быть применено к устройствам отображения информации высокого разрешения и устройствам захвата изображений, которые включают в себя устройства кодирования изображения, таким как телевизор, цифровой видеомагнитофон, автомобильная навигационная система, сотовый телефон, цифровой фотоаппарат и цифровая видеокамера.
ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ПОЗИЦИЙ
[0395] 100 устройство кодирования изображения
101 входной сигнал изображения
105 вычитатель
106 остаточный сигнал
110 модуль преобразования
111 коэффициент преобразования
120 модуль квантования
121, 291 коэффициент квантования
130, 230 модуль обратного преобразования
131, 231 остаточный сигнал
140, 240 сумматор
141, 151, 161, 171, 241, 251, 261, 271 декодированный сигнал изображения
150, 250 фильтр устранения блочности
160, 270 адаптивный контурный фильтр
170, 270 буфер опорных кадров
180, 280 модуль предсказания
181, 281 сигнал предсказания
190 модуль энтропийного кодирования
191, 201 кодированный сигнал
200 устройство декодирования изображения
290 модуль энтропийного декодирования
300, 310, 330, 340, 350, 360, 370, 390, 400, 410, 420, 500 картинка
301, 302, 311, 312, 313, 314, 321, 381 строка
320, 380 заголовок слайса
331, 332, 333, 341, 342, 343, 344, 351, 354, 361, 362, 363, 364, 365, 371, 372, 373, 374, 391, 392, 393, 394, 401, 402, 403, 404, 411, 412, 413, 414, 415, 421, 422, 423, 424, 521, 522, 523, 524 слайс
501, 502, 511, 512 мозаичный элемент
513 граница