СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ОПОРНЫХ ИЗОБРАЖЕНИЙ ДЛЯ ВНЕШНЕГО ПРЕДСКАЗАНИЯ
METHOD AND DEVICE FOR DETERMINATION OF REFERENCE IMAGES FOR EXTERNAL PREDICTION

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к внешнему предсказанию и кодированию видео и декодированию видео, которое привлекает внешнее предсказание.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
По мере того как разрабатывается и поставляется аппаратное обеспечение для воспроизведения и хранения видео контента с высоким разрешением и высокого качества, растет потребность в видео кодеке для эффективного кодирования или декодирования видео контента с высоким разрешением и высокого качества. В обычном видео кодеке, видео кодируется в соответствии с ограниченным способом кодирования, основанным на макроблоке с предварительно определенным размером.
В кодеке видео количество данных уменьшается посредством использования методики предсказания, использующей такую характеристику, что изображения видео обладают высокой пространственной и временной корреляцией. В соответствии с методикой предсказания, чтобы предсказать текущее изображение посредством использования смежного изображения, информация изображения записывается посредством использования временного или пространственного расстояния между изображениями, ошибки предсказания и т.п.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Настоящее изобретение предоставляет способ определения опорного изображения для внешнего предсказания и его способ внешнего предсказания. Настоящее изобретение также предоставляет способ эффективного кодирования и передачи, и приема и чтения информации об опорном индексе, указывающем опорное изображение в списке опорных картинок.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
В соответствии с аспектом настоящего изобретения, предоставляется способ определения опорного изображения для внешнего предсказания, при этом способ включает в себя этапы, на которых: определяют тип слайса (slice) для слайса, включающего в себя блок; если определяется, что типом слайса является тип B-слайса, с возможностью однонаправленного предсказания или двунаправленного предсказания, то определяют направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления; если направление внешнего предсказания не является вторым направлением, то определяют опорный индекс первого направления из списка опорных картинок первого направления в качестве опорного индекса для блока; и если направление внешнего предсказания не является первым направлением, то определяют, что опорный индекс второго направления из списка опорных картинок второго направления является опорным индексом для блока.
ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫ
Посредством использования устройства предсказания движения или устройства компенсации движения для определения опорного изображения в соответствии с настоящим изобретением, опорное изображение для однонаправленного предсказания и двунаправленного предсказания может быть определено посредством более простых процедур, поскольку не требуется формирования нового списка опорных картинок или не требуется осуществлять поиск нового опорного индекса кроме как по списку L0 и списку L1 даже при двунаправленном внешнем предсказании. Также, поскольку не требуется кодирования символа в комбинации списков опорных картинок, процесс передачи ненужной относящейся к списку опорных картинок информации пропускается, и, следовательно, объем битов передачи может быть сокращен. Аналогичным образом, поскольку процесс анализа ненужной относящейся к списку опорных картинок информации пропускается, процесс анализа данных может быть укорочен.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1A является структурной схемой устройства для определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 1B является блок-схемой способа определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2A является структурной схемой устройства предсказания движения, включающим в себя устройство для определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2B является блок-схемой способа предсказания движения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 3A является структурной схемой устройства компенсации движения, включающего в себя устройство для определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 3B является блок-схемой способа компенсации движения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 4 иллюстрирует два варианта осуществления информации о направлении внешнего предсказания.
Фиг. 5 иллюстрирует синтаксис части заголовка слайса, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6 иллюстрирует синтаксис набора параметров комбинации списков опорных картинок, удаленный в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 7 иллюстрирует синтаксис таблицы весовых коэффициентов предсказания, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 8 иллюстрирует синтаксис области единицы предсказания, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 9 иллюстрирует синтаксис набора параметров картинки в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 10 иллюстрирует синтаксис другой части заголовка слайса, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 11 является структурной схемой устройства кодирования видео с привлечением предсказания видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 12 является структурной схемой устройства декодирования видео с привлечением предсказания видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 13 является схемой, иллюстрирующей концепцию единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 14 является структурной схемой кодера изображения, основанного на единицах кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 15 является структурной схемой декодера изображения, основанного на единицах кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 16 является схемой, иллюстрирующей более глубокие единицы кодирования в соответствии с глубинами, и элементы разбиения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 17 является схемой, иллюстрирующей отношение между единицей кодирования и единицами преобразования, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 18 является схемой, иллюстрирующей информацию о кодировании единиц кодирования, соответствующую кодированной глубине, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 19 является схемой более глубоких единиц кодирования в соответствии с глубинами, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 20, 21 и 22 являются схемами, иллюстрирующими отношение между единицами кодирования, единицами предсказания, и единицами преобразования, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 23 является схемой, иллюстрирующей отношение между единицей кодирования, единицей предсказания, и единицей преобразования, в соответствии с информацией о режиме кодирования Таблицы 1.
Фиг. 24 является схемой физической структуры диска, на котором хранится программа, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 25 является схемой накопителя на дисках для записи и чтения программы посредством использования диска;
Фиг. 26 является схемой полной структуры системы подачи контента для обеспечения услуги распространения контента.
Фиг. 27 и 28 являются схемами соответственно внешней структуры и внутренней структуры мобильного телефона, к которому применяется способ кодирования видео и способ декодирования видео, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 29 является схемой системы цифрового вещания, к которой применяется система связи, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 30 является схемой, иллюстрирующей сетевую структуру системы облачных вычислений, использующей устройство кодирования видео и устройство декодирования видео, в соответствии с вариантом осуществления настоящего изобретения.
ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом настоящего изобретения, предоставляется способ определения опорного изображения для внешнего предсказания, при этом способ, включающий в себя этапы, на которых: определяют тип слайса для слайса, включающего в себя блок; если определяется, что типом слайса является тип B-слайса, с возможностью однонаправленного предсказания или двунаправленного предсказания, то определяют направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления; если направление внешнего предсказания не является вторым направлением, то определяют опорный индекс первого направления из списка опорных картинок первого направления в качестве опорного индекса для блока; и если направление внешнего предсказания не является первым направлением, то определяют, что опорный индекс второго направления из списка опорных картинок второго направления является опорным индексом для блока.
Если направление внешнего предсказания соответствует двунаправленному предсказанию, то опорный индекс первого направления может быть определен из списка опорных картинок первого направления, а опорный индекс второго направления может быть определен из списка опорных картинок второго направления.
Способ может дополнительно включать в себя этапы, на которых: определяют информацию о режиме внешнего предсказания, указывающую то, что направление внешнего предсказания присутствует в двух битах; выбирают один из четырех индексов контекстной модели, основанных на глубине единицы кодирования текущего блока, для контекстной модели первого бина из двух бинов, соответствующих информации о режиме внешнего предсказания в двух битах; и выбирают один индекс контекстной модели независимо от другого символа, для контекстной модели второго бина из двух бинов, при этом первый бин может указывать, является ли направление внешнего предсказания однонаправленным или двунаправленным, а второй бин может указывать, является ли однонаправленное направление первым направлением или вторым направлением.
Способ может дополнительно включать в себя этап, на котором определяют, существует ли картинка, включающая в себя совместно расположенный блок, в списке опорных картинок первого направления, если картинка, включающая в себя слайс, может использовать временной предиктор вектора движения и тип слайса является типом B-слайсу.
В соответствии с другим аспектом настоящего изобретения, предоставляется устройство для определения опорного изображения, при этом устройство включает в себя: определитель направления внешнего предсказания, который определяет тип слайса для слайса, включающего в себя блок, и если тип слайса является типом B-слайса, с возможностью однонаправленного предсказания или двунаправленного предсказания, определяет направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления; и определитель опорного индекса, который определяет опорный индекс первого направления из списка опорных картинок первого направления в качестве опорного индекса для блока, если направление внешнего предсказания не является вторым направлением, и определяет опорный индекс второго направления из списка опорных картинок второго направления в качестве опорного индекса для блока, если направление внешнего предсказания не является первым направлением.
В соответствии с другим аспектом настоящего изобретения, предоставляется считываемый компьютером носитель записи с записанной на нем программой для исполнения способа определения опорного изображения.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Далее, в соответствии с вариантами осуществления настоящего изобретения со ссылкой на Фиг. 1A-10 будет описан способ и устройство для определения опорного изображения с возможностью однонаправленного предсказания и двунаправленного предсказания, соответствующий способ и устройство предсказания движения, и соответствующий способ и устройство компенсации движения. Также, в соответствии с вариантами осуществления настоящего изобретения со ссылкой на Фиг. 11-23 будут описаны устройства кодирования видео и декодирования видео и способы кодирования и декодирования видео, основанные на единицах кодирования в соответствии с древовидной структурой. Также, со ссылкой на Фиг. 24-30 будут описаны различные варианты осуществления, к которым применимы способ кодирования видео и устройство декодирования видео в соответствии с вариантами осуществления. Далее, ‘изображение’ может обозначать неподвижное изображение, движущееся изображение видео, или само видео.
Фиг. 1A является структурной схемой устройства 100 для определения опорного изображения, в соответствии с вариантом осуществления. Фиг. 1B является блок-схемой способа определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Устройство 10 в соответствии с вариантом осуществления включает в себя определитель 12 направления внешнего предсказания и определитель 14 опорного индекса.
Устройство 10 также может включать в себя центральный процессор (не показан) для управления определителем 12 направления внешнего предсказания и определителем 14 опорного индекса. В качестве альтернативы, определитель 12 направления внешнего предсказания и определитель 14 опорного индекса могут управляться отельными процессорами (не показано), и устройство 10 может функционировать в качестве отдельных процессоров, систематически функционирующими друг с другом. В качестве альтернативы, определитель 12 направления внешнего предсказания и определитель 14 опорного индекса могут управляться в соответствии с управлением внешнего процессора (не показано) устройства 10 в соответствии с вариантом осуществления.
Устройство 10 в соответствии с вариантом осуществления может включать в себя по меньшей мере один компонент хранения данных (не показано), который хранит входные и выходные данные определителя 12 списка опорных картинок и компонента 14 внешнего предсказания. Устройство 10 также может включать в себя контроллер памяти (не показано) для управления вводом и выводом данных из компонента хранения данных (не показано).
Устройство 10 определяет опорное изображение, используемое для временного предсказания по отношению к изображениям видео. Устройство 10 может определять информацию о предсказании, указывающую разницу позиции между текущим изображением и опорным изображением, остаток, и т.д. Соответственно, информация изображения может быть записана посредством использования информации о предсказании вместо полных данных изображения.
В соответствии с кодированием с временным предсказанием, текущее изображение может быть предсказано посредством ссылки на предыдущее изображение и последующее изображение в соответствии со временем воспроизведения. На изображения, которые кодируются или восстанавливаются перед текущим изображением в соответствии с очередностью кодирования или очередностью восстановления, не обращая внимания на время воспроизведения, могут ссылаться для кодирования с предсказанием текущего изображения. Текущее изображение и опорное изображение могут быть единицами данных изображения, например, картинками, кадрами, полями, или слайсами.
Для быстрого вычисления внешнего предсказания, устройство 10 в соответствии с вариантом осуществления может разделять текущее изображение на множество блоков и выполнять внешнее предсказание над блоками. Другими словами, один из множества блоков, полученный путем разделения текущего изображения, может быть использован в качестве опорного изображения для выполнения внешнего предсказания над текущим блоком.
Списки опорных картинок могут быть разделены на список L0 и список L1 на основании опорного направления. Например, список опорных картинок для предсказания вперед изображения типа P-слайса может включать список L0 для предсказания по списку 0. Список опорных картинок для изображения типа B-слайса с возможностью двойного предсказания, включающего в себя предсказание вперед, предсказание назад, и двунаправленное предсказание, может включать в себя не только список L0, но также и список L1 для предсказания по списку 1.
Каждый из списка L0 и списка L1 может включать в себя индекс, указывающий по меньшей мере одно опорное изображение, и информацию об опорной очередности. Количество по умолчанию активных опорных изображений, назначенных списку опорных картинок, может быть предварительно ограниченным. Тем не менее, количество опорных изображений или опорная очередность для ссылки на опорные изображения могут быть изменены для каждого изображения при необходимости. Следовательно, устройство 10 может устанавливать информацию о количестве активных опорных изображения по умолчанию у списка опорных картинок, информацию об изменении в количестве опорных изображений, информацию об изменении в опорных изображениях, и информацию об изменении в опорной очередности.
Определитель 12 направления внешнего предсказания в соответствии с вариантом осуществления может определять, предшествует ли (направление вперед) изображение, на которое нужно сослаться для внешнего предсказания текущего изображения, текущему изображению, или следует (направление назад) за текущим изображением. Когда для текущего изображения определяется опорное изображение, опорное изображение может быть определено, по меньшей мере, из любого списка опорных картинок из числа списка L0 и списка L1, на основании направления опорного изображения.
Список опорных картинок может включать в себя информацию об опорных изображениях и опорной очередности опорных изображений. Например, список L0 может главным образом включать в себя индекс для опорного изображения для предсказания вперед, а список L1 может главным образом включать в себя индекс для опорного изображения для предсказания назад. Тем не менее, списки L0 и L1 не ограничиваются тем, что включают в себя только опорную информацию соответственно для предсказания вперед и предсказания назад.
Устройство 10 в соответствии с вариантом осуществления может определять опорную очередность опорных изображений, назначенных каждому списку опорных картинок. Например, опорная очередность может быть определена таким образом, что первым ссылаются на опорное изображение из опорных изображений, назначенных списку опорных картинок, которое является смежным с текущим изображением на основании очередности отображения.
Устройство 10 в соответствии с вариантом осуществления может устанавливать относящиеся к списку опорных картинок атрибуты, например, количество по умолчанию активных опорных изображений, назначенных списку опорных картинок и изменения в списке опорных картинок.
В соответствии с вариантом осуществления, атрибуты, относящиеся к изменениям в списке опорных картинок, могут включать в себя способ изменения количества опорных изображений, способ изменения опорных изображений назначенных списку опорных картинок, и способ изменения опорной очередности.
Определитель 12 направления внешнего предсказания в соответствии с вариантом осуществления может определять тип слайса для слайса, включающего в себя блок, и определять направление внешнего предсказания на основании типа слайса.
Если слайсом является тип B-слайса с возможностью однонаправленного предсказания или двунаправленного предсказания, то определитель 12 направления внешнего предсказания в соответствии с вариантом осуществления может определять направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления. Первое направление и второе направление могут быть соответственно направлением вперед и направлением назад.
Определитель 14 опорного индекса в соответствии с вариантом осуществления может определять опорный индекс, указывающий опорное изображение из списка опорных картинок, на основании направления внешнего предсказания.
Например, определитель 14 опорного индекса может определять опорный индекс первого направления из списка опорных картинок первого направления или опорный индекс второго направления из списка опорных картинок второго направления, в качестве опорного индекса для блока. Список опорных картинок первого направления и список опорных картинок второго направления могут соответственно обозначать список L0 и список L1.
Далее, со ссылкой на Фиг. 1B будет описан процесс определения, посредством устройства 10 в соответствии с вариантом осуществления, опорного изображения для внешнего предсказания.
На этапе 11 определитель 12 направления внешнего предсказания может определять тип слайса для слайса, включающего в себя блок. На этапе 13, если текущим типом слайса является тип B-слайса, определитель 12 направления внешнего предсказания может определять направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления.
На этапе 15, если направление внешнего предсказания, определенное определителем 12 направления внешнего предсказания, не является вторым направлением, определитель 14 опорного индекса может определять опорный индекс первого направления из списка опорных картинок первого направления, в качестве опорного индекса для блока. Другими словами, если направление внешнего предсказания является первым направлением или двунаправленным направлением по меньшей мере один опорный индекс может быть выбран из списка опорных картинок первого направления.
Если направление внешнего предсказания, определенное определителем 12 направления внешнего предсказания, является вторым направлением, опорный индекс первого направления не определяется и выполняется операция 17.
На этапе 17, если направление внешнего предсказания, определенное определителем 12 направления внешнего предсказания, не является первым направлением, определитель 14 опорного индекса может определять опорный индекс второго направления из списка опорных картинок второго направления в качестве опорного индекса для блока. Другими словами, если направление внешнего предсказания является вторым направлением или двунаправленным направлением по меньшей мере один опорный индекс может быть выбран из списка опорных картинок второго направления.
Если направление внешнего предсказания, определенное определителем 12 направления внешнего предсказания, является первым направлением, опорный индекс второго направления не определяется и выполняется операция 17.
Соответственно, если направление внешнего предсказания является двунаправленным направлением по меньшей мере один опорный индекс первого направления определяется из списка опорных картинок первого направления и по меньшей мере один опорный индекс второго направления определяется из списка опорных картинок второго направления посредством операций 15 и 17.
На этапе 15 определитель 14 опорного индекса может определять опорный индекс первого направления и также определять значение разности первого вектора движения, указывающего опорный блок в опорном изображении, указанном посредством опорного индекса первого направления.
На этапе 17 определитель 14 опорного индекса может определять опорный индекс второго направления и также может определять значение разности второго вектора движения, указывающего второй опорный блок в опорном изображении, указанном посредством опорного индекса второго направления.
Опорный индекс может указывать очередность между опорными изображениями в списке опорных картинок, а вектор движения может обозначать позицию опорного блока в предварительно определенном опорном изображении. Следовательно, опорное изображение и опорный блок для внешнего предсказания блока могут быть определены на основании опорного индекса и вектора движения.
Устройство 10 в соответствии с вариантом осуществления может использовать информацию о режиме внешнего предсказания в 2 битах, в качестве информации, указывающей направление внешнего предсказания.
Для того чтобы выполнить основанное на контексте энтропийное кодирование или энтропийное декодирование в отношении информации о режиме внешнего предсказания в 2 битах в соответствии с вариантом осуществления, может быть использована контекстная модель, включающая в себя информацию о вероятности символа, указывающего информацию о режиме внешнего предсказания. Подробнее, поскольку контекстная модель определяется из расчета на бин символа, то контекстная модель может быть определена для каждого из двух бинов в указанном порядке соответствующих 2 битам информации о режиме внешнего предсказания.
Первый бин из бинов информации о режиме внешнего предсказания в соответствии с вариантом осуществления может указывать, является ли направление внешнего предсказания однонаправленным или двунаправленным. Если первый бин указывает на двунаправленное внешнее предсказание, то второй бин может не быть задан. Тем не менее, если первый бин указывает на однонаправленное внешнее предсказание, то второй бин может указывать, является ли однонаправленное направление первым направлением или вторым направлением.
Подробнее, в случае типа P-слайса и типа B-слайса, информация о режиме внешнего предсказания может обычно указывать, является ли внешнее предсказание предсказанием вперед (предсказанием по L0) или предсказанием назад (предсказание по L1). В режиме внешнего предсказания в соответствии с вариантом осуществления, тип направления предсказания может быть ограничен в соответствии с размером блока. Например, если сумма ширины и высоты блока составляет 12, как в случае, когда размером блока является 4×8 или 8×4, двунаправленное внешнее предсказание не может быть разрешено даже для блока типа B-слайса. Таким образом, если сумма ширины и высоты блока равна 12, информация о режиме внешнего предсказания блока типа B-слайса может указывать предсказание вперед или предсказание назад.
Если сумма ширины и высоты не равна 12, информация о режиме внешнего предсказания, указывающая любое из предсказаний: предсказание вперед, предсказание назад, и двунаправленное предсказание, может быть определена для блока типа B-слайса.
Устройство 10 в соответствии с вариантом осуществления может энтропийно кодировать (декодировать) информацию о режиме внешнего предсказания посредством использования одной выбранной, по меньшей мере, из одной контекстной модели. Индекс контекстной модели может быть назначен для каждой из выбираемых контекстных моделей.
Устройство 10 в соответствии с вариантом осуществления может выбирать один из четырех индексов контекстной модели, для контекстной модели первого бина информации о режиме внешнего предсказания. Также, устройство 10 может выбирать один индекс контекстной модели для контекстной модели второго бина информации о режиме внешнего предсказания.
Подробнее, один из четырех индексов контекстной модели может быть выбран на основании глубины единицы кодирования текущего блока, для контекстной модели первого бина из двух бинов, соответствующих информации о режиме внешнего предсказания в 2 битах. Один индекс контекста может быть независимо определен без учета другого символа, для контекстной модели второго бина из двух бинов.
Устройство 10 в соответствии с другим вариантом осуществления может выбирать один из трех индексов контекстной модели, для контекстной модели первого бина из информации о режиме внешнего предсказания. Устройство 10 может выбирать три индекса контекстной модели, для контекстной модели второго бина информации о режиме внешнего предсказания.
В качестве альтернативы, если список L0 и список L1 совпадают друг с другом, второй бин информации о режиме внешнего предсказания может не кодироваться и может выводиться равным 0. Если список L0 и список L1 совпадают друг с другом, первый бин информации о режиме внешнего предсказания может указывать однонаправленное предсказание, и как результат, может быть определено однонаправленное предсказание по L0.
В качестве альтернативы, индекс контекстной модели для первого бина информации о режиме внешнего предсказания текущего блока может быть закодирован посредством использования значения первого бина информации о режиме внешнего предсказания левого, верхнего, или верхнего левого соседнего блока у текущего блока.
В качестве альтернативы, индекс контекстной модели для первого бина информации о режиме внешнего предсказания текущего блока может быть закодирован посредством использования значения глубины текущей единицы кодирования. Глубина единицы кодирования обозначает количество раз, которое максимальная единица кодирования разделяется до текущей единицы кодирования.
В качестве альтернативы, индекс контекстной модели для первого бина информации о режиме внешнего предсказания текущего блока может быть установлен и закодирован в виде константы.
В качестве альтернативы, индекс контекстной модели для второго бина информации о режиме внешнего предсказания текущего блока может быть закодирован посредством использования значения второго бина информации о режиме внешнего предсказания левого, верхнего или верхнего левого соседнего блока у текущего блока.
В качестве альтернативы, индекс контекстной модели для второго бина информации о режиме внешнего предсказания текущего блока может быть закодирован посредством использования значения глубины текущей единицы кодирования.
В качестве альтернативы, индекс контекстной модели для второго бина информации о режиме внешнего предсказания текущего блока может быть установлен и закодирован в виде константы.
Устройство 10 в соответствии с другим вариантом осуществления может определять, применим ли временной предиктор вектора движения (tmvp) в картинке, включающей в себя слайс. Также, устройство 10 в соответствии с другим вариантом осуществления может определять, существует ли картинка, включающая в себя совместно расположенный блок, в списке опорных картинок первого направления для текущего слайса типа B-слайса.
Совместно расположенный блок является не фактическим опорным блоком, расположенным в фактической опорной картинке, а блоком, расположенным в совместно расположенной картинке, которая является картинкой, отличной от фактической опорной картинки. Позиция опорного блока в опорной картинке и позиция совместно расположенного блока в совместно расположенной картинке одинаковые. Соответственно, опорный блок может быть определен посредством оценки вектора движения, указывающего опорный блок посредством ссылки на вектор движения, указывающий совместно расположенный блок.
Устройство 10 в соответствии с другим вариантом осуществления может определять картинку, включающую в себя совместно расположенный блок из списка опорных картинок первого направления, по отношению к слайсу типа B-слайс из слайсов в картинке, которая может использовать tmvp. Соответственно, опорный блок текущей картинки может быть определен посредством использования совместно расположенного блока, включенного в картинку, выбранную из списка опорных картинок первого направления.
Устройство 10 в соответствии с другим вариантом осуществления может определять информацию об индексе картинки, включающей в себя совместно расположенный блок, из предварительно определенного списка опорных картинок, когда текущей слайс может использовать tmvp. Другими словами, когда предварительно определяется, что картинка, включающая в себя совместно расположенный блок, существует в списке опорных картинок предварительно определенного направления по отношению к слайсу типа B-слайс, информация об индексе (совместно расположенный опорный индекс), включающая в себя совместно расположенный блок, может быть определена из списка опорных картинок предварительно определенного направления. В качестве альтернативы, поскольку только опорная картинка для предсказания вперед допускается для слайса типа P-слайса, опорная картинка, соответствующая совместно расположенному опорному индексу может быть определена из списка опорных картинок первого направления.
Когда предиктор вектора движения текущего блока определяется посредством использования вектора движения совместно расположенного блока, вектор движения текущего блока определяется посредством использования предиктора вектора движения текущего блока, и опорный блок текущего блока может быть определен посредством использования вектора движения.
Далее, со ссылкой на Фиг. 2A и 2B будет описан процесс выполнения предсказания движения посредством использования опорной картинки, определяемой устройством 10 в соответствии с вариантом осуществления. Также, со ссылкой на Фиг. 3A и 3B будет описан процесс выполнения компенсации движения посредством использования опорной картинки, определяемой устройством 10 в соответствии с вариантом осуществления.
Фиг. 2A является структурной схемой устройства 20 предсказания движения, соответствующего устройству 10, в соответствии с вариантом осуществления настоящего изобретения. Фиг. 2B является блок-схемой способа предсказания движения, выполняющего способ определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Устройство 20 предсказания движения в соответствии с вариантом осуществления включает в себя компонент 22 предсказания движения и передатчик 24 информации о внешнем предсказании.
На этапе 21 компонент 22 предсказания движения в соответствии с вариантом осуществления может определять тип слайса текущего блока. На основании того, является ли тип слайса текущего блока типом P- или B-слайса, может определяться, является ли направление внешнего предсказания текущего блока однонаправленным направлением или двунаправленным направлением.
На этапе 23 компонент 22 предсказания движения в соответствии с вариантом осуществления может выполнять предсказание движения над блоком посредством использования опорных картинок, включенных в по меньшей мере один из списков: список опорных картинок первого направления и список опорных картинок второго направления. Компонент 22 предсказания движения в соответствии с вариантом осуществления может определять опорную картинку для текущего блока из опорных изображений, назначенных списку опорных картинок, определенному определителем 12 списка опорных картинок.
Компонент 22 предсказания движения в соответствии с вариантом осуществления обнаруживает блок с наименьшей ошибкой по отношению к текущему блоку посредством определения подобия между блоками определенного опорного изображения и текущим блоком текущего изображения. Другими словами, наиболее подобный блок обнаруживается посредством предсказания движения, и обнаруженный наиболее подобный блок может быть определен в качестве опорного блока. Также, картинка, включающая в себя обнаруженный опорный блок, может быть определена в качестве опорной картинки. Когда определен по меньшей мере один опорный блок, наиболее подобный текущему блоку, может быть определена по меньшей мере одна опорная картинка.
Когда на этапе 23 компонентом 22 предсказания движения определяются опорный блок и опорная картинка, информация, указывающая опорную картинку, например, номер опорной картинки в изображениях списка опорных картинок, т.е. опорный индекс, может быть определен на этапе 25.
Компонент 22 предсказания движения в соответствии с вариантом осуществления может определять опорный индекс, указывающий опорную картинку, определенную на этапе 21 из по меньшей мере одного из списков опорных картинок первого и второго направления. Другими словами, если опорная картинка принадлежит к списку опорных картинок первого направления, может быть определен опорный индекс первого направления. Если опорная картинка принадлежит к списку опорных картинок второго направления, может быть определен опорный индекс второго направления.
На этапе 27 передатчик 24 информации о внешнем предсказании в соответствии с вариантом осуществления может кодировать информацию об опорном индексе.
Передатчик 24 информации о внешнем предсказании может кодировать опорный индекс первого направления, когда опорная картинка, определенная компонентом 22 предсказания движения, не принадлежит к списку опорных картинок второго направления. Также, передатчик 24 информации о внешнем предсказании может кодировать опорный индекс второго направления, когда опорная картинка, определенная компонентом 22 предсказания движения, не принадлежит списку опорных картинок первого направления.
Также, компонент 22 предсказания движения может определять вектор движения, указывающий опорный блок из блоков опорного изображения. Компонент 22 предсказания движения может определять остаток между опорным блоком и текущим блоком. Соответственно, передатчик 24 информации о внешнем предсказании может кодировать вектор движения, указывающий опорную картинку, и остаток, направление внешнего предсказания, и опорный индекс. Закодированная информация о предсказании может быть передана после вставки в область блока битового потока.
Передатчик 24 информации о внешнем предсказании в соответствии с вариантом осуществления может вставлять информацию о типе слайса, указывающую тип слайса, в заголовок слайса для текущего слайса из битового потока.
Текущий блок, над которым выполняется внешнее предсказание, может именоваться единицей предсказания.
Передатчик 24 информации о режиме внешнего предсказания может вставлять информацию о режиме внешнего предсказания, указывающую любое из предсказания в первом направлении, предсказания во втором направлении, и двунаправленного предсказания в область единицы предсказания, включающую в себя информацию о предсказании блока из битового потока.
Также, если информация о режиме внешнего предсказания не указывает предсказание во втором направлении, передатчик 24 информации о режиме внешнего предсказания может вставлять информацию об опорном индексе первого направления и информацию о значении разности первого вектора движения в область единицы предсказания. Если в наборе параметров картинки разрешена применимость tmvp, то информация о том, какой предиктор вектора движения является mvp первого направления в текущей единице предсказания, также может быть вставлена в область единицы предсказания.
Информация о предикторе вектора движения, в соответствии с вариантом осуществления, может быть выражена в индексе, указывающем один из предварительно определенного количества предикторов вектора движения. Например, поскольку информация о предикторе вектора движения, указывающая один из двух предикторов вектора движения, может быть выражена в индексе 0 или 1, то может быть использована форма флага. Соответственно, индекс предиктора вектора движения списка L0 для текущей единицы предсказания может быть вставлен в область единицы предсказания. Также, если информация о режиме внешнего предсказания не указывает предсказание в первом направлении, передатчик 24 информации о режиме внешнего предсказания может вставлять информацию об опорном индексе второго направления и информацию о значении разности второго вектора движения в область единицы предсказания. Если в наборе параметров картинки разрешена применимость tmvp, то информация о том, какой предиктор вектора движения является mvp второго направления в текущей единице предсказания, также может быть вставлена в область единицы предсказания. Индекс предиктора вектора движения списка L0 для текущей единицы предсказания может быть вставлен в область единицы предсказания.
Соответственно, передатчик 24 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может вставлять информацию, сгенерированную в результате внешнего предсказания, в заголовок слайса и область единицы предсказания, и может передавать битовый поток, включающий в себя заголовок слайса и область единицы предсказания.
Передатчик 24 информации о режиме внешнего предсказания в соответствии с другим вариантом осуществления может вставлять информацию, указывающую применимость tmvp, в набор параметров картинки у картинки. Если информация о типе слайса, вставленная в заголовок слайса, указывает тип B-слайса в картинке с возможностью использования tmvp, передатчик 24 информации о режиме внешнего предсказания может вставлять информацию, указывающую то, присутствует ли картинка, включающая в себя совместно расположенный блок, в списке опорных картинок первого направления, в заголовок слайса.
Также, передатчик 24 информации о режиме внешнего предсказания в соответствии с другим вариантом осуществления может вставлять информацию о совместно расположенном опорном индексе в заголовок слайса, не обращая внимания на тип P-слайса или тип B-слайса.
Передатчик 24 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может энтропийно кодировать информацию о режиме внешнего предсказания посредством использования контекстной модели, определяемой для каждого бина информации о режиме внешнего предсказания. Передатчик 24 информации о режиме внешнего предсказания может передавать битовую строку, сгенерированную посредством выполнения энтропийного кодирования не только над различными символами, сгенерированными в результате внешнего предсказания, т.е., информацией о режиме внешнего предсказания, но также и над информацией о значение разности вектора движения и информацией об опорном индексе.
Фиг. 3A является структурной схемой устройства 30 компенсации движения, соответствующего устройству 10 для определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения. Фиг. 3B является блок-схемой способа компенсации движения, выполняющего способ определения опорного изображения, в соответствии с вариантом осуществления настоящего изобретения.
Устройство 30 компенсации движения в соответствии с вариантом осуществления включает в себя приемник 32 информации о режиме внешнего предсказания и компенсатор 34 движения.
В целом, предсказание движения и компенсация движения могут быть выполнены во время процесса кодирования видео. Также, компенсация движения может быть выполнена во время процесса декодирования видео. Для того чтобы сгенерировать восстановленное изображение идентичным исходному изображению посредством компенсации движения после того как предсказание движения выполнено над исходным изображением, компенсация движения выполняется посредством использования опорной информации и остатка, сгенерированных посредством предсказания движения. Соответственно, для того чтобы закодировать и декодировать блок в режиме внешнего предсказания во время процесса кодирования видео и процесса декодирования видео, переносится опорная информация (опорный индекс и вектор движения) и информация об остатке.
На этапе 31, приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может анализировать информацию о типе слайса из заголовка слайса из битового потока. Тип слайса у текущего слайса может быть определен посредством использования проанализированной информации о типе слайса.
На этапе 33, приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может анализировать информацию о режиме внешнего предсказания, указывающую направление внешнего предсказания текущего блока (единицы предсказания) из области единицы предсказания, из принятого битового потока. Соответственно, компенсатор 34 движения может считывать из проанализированной информации о режиме внешнего предсказания, какое одно из предсказания в первом направлении, предсказания во втором направлении и двунаправленного предсказания, указывается информацией о режиме внешнего предсказания текущего блока.
Приемник 34 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может восстанавливать информацию о режиме внешнего предсказания посредством выполнения энтропийного декодирования, используя контекстную модель, определяемую из расчета на бин, над битовой строкой, включающей в себя информацию о режиме внешнего предсказания из битового потока.
Приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может анализировать информацию об опорном индексе первого направления и информацию о значении разности первого вектора движения, из области единицы предсказания, включающей в себя информацию о предсказании блока из принятого битового потока. Также, информация об опорном индексе второго направления и информация о значении разности второго вектора движения могут быть проанализированы из области единицы предсказания.
Соответственно, на этапе 35, приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может анализировать информацию об опорном индексе первого направления из области единицы предсказания, когда направление внешнего предсказания, считанное из информации о режиме внешнего предсказания, не является вторым направлением. Опорная картинка первого направления может быть определена из списка опорных картинок первого направления, на основании проанализированной информации об опорном индексе первого направления. Если направление внешнего предсказания не является вторым направлением, информация о значении разности первого вектора движения может быть проанализирована совместно с опорным индексом первого направления, из области единицы предсказания. Если в наборе параметров картинки разрешена применимость tmvp, информация о том, используется ли mvp первого направления в текущей единице предсказания, может быть проанализирована из области единицы предсказания.
Также, на этапе 37, приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может анализировать информацию об опорном индексе второго направления из области единицы предсказания, если направление внешнего предсказания, считанное из информации о режиме внешнего предсказания, не является первым направлением. Опорная картинка второго направления может быть определена из списка опорных картинок второго направления, на основании проанализированной информации об опорном индексе второго направления. Если направление внешнего предсказания не является первым направлением, информация о значении разности второго вектора движения может быть проанализирована совместно с опорным индексом второго направления, из области единицы предсказания. Если в наборе параметров картинки разрешена применимость tmvp, то информация о том, используется ли mvp второго направления в текущей единице предсказания, может быть проанализирована из области единицы предсказания.
Другими словами, если направление внешнего предсказания, считанное из информации о режиме внешнего предсказания, является двунаправленным направлением, приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может считывать двунаправленный опорный индекс, значение разности вектора движения, и информацию об использовании tmvp посредством анализа информации об опорном индексе первого направления и информации о значении разности первого вектора движения, и информации об опорном индексе второго направления и информации о значении разности второго вектора движения из области единицы предсказания.
Приемник 32 информации о режиме внешнего предсказания в соответствии с другим вариантом осуществления может анализировать информацию, указывающую применимость tmvp, из набора параметров картинки по отношению к текущей картинке из принятого битового потока. Если tmvp применим, то приемник 32 информации о режиме внешнего предсказания в соответствии с другим вариантом осуществления может анализировать информацию из заголовка слайса, информацию, указывающую то, существует ли картинка, включающая в себя совместно расположенную картинку в списке опорных картинок первого направления.
Также, если tmvp применим, приемник 32 информации о режиме внешнего предсказания в соответствии с другим вариантом осуществления может анализировать информацию об индексе картинки, включающей в себя совместно расположенный блок, в предварительно определенном списке опорных картинок, из заголовка слайса. Информация о совместно расположенном опорном индексе может быть проанализирована из заголовка слайса, не обращая внимания, является ли слайс типом P-слайса или типом B-слайса.
Приемник 32 информации о режиме внешнего предсказания в соответствии с вариантом осуществления может анализировать информацию об опорном индексе, значение разности вектора движения, и остаток в соответствии с блоками режима внешнего предсказания, включенными в слайс, из принятого битового потока.
На этапе 39, компенсатор 34 движения в соответствии с вариантом осуществления может выполнять компенсацию движения после определения опорной картинки из расчета на блок текущего изображения.
Компенсатор 34 движения в соответствии с вариантом осуществления может определять опорное изображение, указанное опорным индексом, из списка опорных картинок. Вектор движения текущего блока может быть определен посредством использования предыдущего вектора движения и значения разности вектора движения, и опорный блок, указанный вектором движения, может быть определен из блоков опорного изображения. Компенсатор 34 движения может восстановить текущий блок посредством компенсации опорного блока остатком.
Соответственно, компенсатор 34 движения в соответствии с вариантом осуществления может выполнять компенсацию движения посредством использования опорной картинки определенной из расчета на блок, вектора движения, и остатка, и генерировать восстановленное изображение.
Устройство 20 предсказания движения в соответствии с вариантом осуществления может быть выполнено с возможностью выражения изображения посредством использования информации о предсказании вместо полных данных изображения, и, следовательно, может быть использовано для выполнения кодирования видео применительно к кодированию видео со сжатием с тем, чтобы сокращать объем видео данных.
Подробнее, устройство 20 предсказания движения в соответствии с вариантом осуществления может быть включено в или функционировать во взаимодействии с кодером видео, который кодирует видео на основании единиц кодирования, полученных посредством пространственного разделения изображения видео для того чтобы выполнять внешнее предсказание применительно к кодированию видео. Также, каждая из единиц кодирования может быть разделена на единицы предсказания и элементы разбиения для внешнего предсказания единиц кодирования, и внешнее предсказание может быть выполнено на основании единиц предсказания и элементов разбиения.
Примеры единицы кодирования в соответствии с вариантом осуществления могут включать в себя не только блоки, каждый из которых имеет фиксировано определенную форму, но также единицы кодирования в соответствии с древовидной структурой в соответствии с вариантом осуществления. Единицы кодирования в соответствии с древовидной структурой и их единицы предсказания и элементы разбиения в соответствии с вариантом осуществления подробнее описываются со ссылкой на Фиг. 11-23.
Устройство 20 предсказания движения в соответствии с вариантом осуществления может выводить ошибку предсказания, т.е., остаток, по отношению к опорному изображению посредством выполнения внешнего предсказания над данными изображения блоков или единиц кодирования изображения. Устройство 20 предсказания движения может выполнять преобразование и квантование над остатком для генерирования квантованных коэффициентов преобразования, выполнять энтропийное кодирование над символами, например коэффициентом преобразования, опорной информацией, и информацией о кодировании, и затем выводить битовый поток. Устройство 20 предсказания движения в соответствии с вариантом осуществления также может кодировать и выводить символы, включающие в себя относящуюся к списку L0 информацию и относящуюся к списку L1 информацию, которая включает в себя информацию об опорной очередности и количестве изображений, включенных в каждый список опорных картинок, и относящуюся к списку опорных картинок информацию, например информацию, относящуюся к изменениям списка опорных картинок.
Устройство 20 предсказания движения может восстанавливать изображение в пространственной области посредством выполнения обратного квантования, обратного преобразования, и компенсации предсказания вновь над коэффициентом преобразования, и выполнения фильтрации в цикле для генерирования восстановленного изображения. Другими словами, устройство 20 предсказания движения в соответствии с вариантом осуществления может относиться к восстановленному изображению, сгенерированном кодером видео, посредством использования по меньшей мере одного из списков: списка L0 и списка L1 с тем, чтобы выполнять внешнее предсказание над текущим изображением, которое является B-слайсом. Поскольку восстановленное изображение, сгенерированное таким образом, используется в качестве опорного изображения для предсказания движения последующего входного изображения, устройство 20 предсказания движения может определять опорную информацию и остаток посредством выполнения внешнего предсказания вновь над последующим входным изображением.
Таким образом, устройство 20 предсказания движения может выполнять кодирование видео со сжатием через предсказание движения.
Устройство 20 предсказания движения в соответствии с вариантом осуществления может выполнять операцию кодирования видео, включающую в себя предсказание движения, функционируя во взаимодействии с процессором кодирования видео, установленным в нем, или внешним процессором кодирования видео для вывода результата кодирования видео. Процессор кодирования видео, включенный в устройство 20 предсказания движения в соответствии с вариантом осуществления, может быть дополнительным процессором, или центральным компонентом обработки (CPU) или компонент обработки графики может управлять модулем обработки кодирования видео для реализации базовой операции кодирования видео.
Далее, будет описан процесс декодирования видео.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может восстанавливать изображение посредством использования информации о предсказании вместо полных данных изображения, посредством приема сжатого битового потока через предсказание движения.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать опорный индекс, указывающий опорную картинку для текущего блока, вектор движения, и остаток из области блока битового потока.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может выполнять компенсацию движения применительно к декодированию видео, будучи включенным в, функционирующим в, или функционирующим во взаимодействии с декодером видео, который декодирует видео на основании единиц кодирования, полученных посредством разделения изображения видео в соответствии с пространственными областями. Также, единица кодирования для компенсации движения может включать в себя единицы предсказания и элементы разбиения, и компенсация движения может выполняться на основании единиц предсказания и элементов разбиения. Как описано выше, единица кодирования в соответствии с вариантом осуществления может включать в себя не только блоки, каждый из которых с фиксировано определенной формой, но также единицы кодирования в соответствии с древовидной структурой в соответствии с вариантом осуществления.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать символы коэффициента преобразования, опорной информации, информации о кодировании, и т.д. посредством выполнения энтропийного декодирования над принятым битовым потоком. Устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать символы, включающие в себя относящуюся к списку опорных картинок информацию.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может восстанавливать остаток в пространственной области посредством выполнения обратного квантования и обратного преобразования над проанализированным коэффициентом преобразования в соответствии с единицами преобразования.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может восстанавливать изображение в пространственной области через компенсацию движения для компенсации опорного блока на остаток в соответствии с элементами разбиения. В соответствии с вариантом осуществления, устройство 30 компенсации движения может определять опорное изображение и опорный блок, указанный вектором движения в опорном изображении, посредством ссылки на предварительно восстановленное изображение, включенное в по меньшей мере один из списков: список L0 и список L1 таким образом, чтобы выполнять компенсацию движения над текущим элементом разбиения B-слайса. Посредством сложения остатка с опорным блоком, который определен таким образом, может быть сгенерирован восстановленный блок.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может минимизировать ошибку между восстановленным блоком и исходным блоком посредством выполнения фильтрации удаления блочности и фильтрации с адаптивным смещением выборки (SAO) над восстановленным блоком в пространственной области. Восстановленный блок может быть использован в качестве опорного блока для предсказания последующего блока.
Соответственно, декодирование видео со сжатием может быть реализовано через компенсацию движения устройства 30 компенсации движения.
Устройство 30 компенсации движения в соответствии с вариантом осуществления может выполнять операцию декодирования видео, включающую в себя компенсацию движения, функционируя во взаимодействии с процессором декодирования видео, установленным в нем, или внешним процессором декодирования видео для вывода результата декодирования видео. Процессор декодирования видео, включенный в устройство 30 компенсации движения в соответствии с вариантом осуществления, может быть дополнительным процессором, или CPU или компонент обработки графики может управлять модулем обработки декодирования видео для реализации базовой операции декодирования видео.
Далее, со ссылкой на Фиг. 4-19 будет описан синтаксис относящейся к внешнему предсказанию информации, которая передается устройством 20 предсказания движения и анализируется устройством 30 компенсации движения, в соответствии с вариантом осуществления.
Фиг. 4 иллюстрирует два варианта осуществления информации о направлении внешнего предсказания.
В соответствии с первым вариантом осуществления информация 40 о режиме внешнего предсказания inter_pred_flag не задается отдельно в случае типа P-слайса. В случае типа P-слайса, даже когда информация 40 о режиме внешнего предсказания не задана, может выводиться, что внешнее предсказание является предсказанием вперед, использующим список L0. Тем не менее, только в случае типа B-слайса, информация 40 о режиме внешнего предсказания inter_pred_flag может указывать, является ли внешнее предсказание направлением двойного предсказания Pred_LC или двунаправленным предсказанием Pred_BI в соответствии с комбинацией списков опорных картинок.
В соответствии с информацией 40 о режиме внешнего предсказания первого варианта осуществления, даже когда направление внешнего предсказания является направлением двустороннего предсказания в случае типа B-слайса, опорная картинка является фактически изображением, включенным в один из списков: список L0 и список L1. Тем не менее, поскольку информация об опорном индексе, предоставляемая на основании информации 40 о режиме внешнего предсказания в направлении двустороннего предсказания, является опорным индексом в комбинации списков опорных картинок, может возрасти неудобство объединения списков опорных картинок посредством использования списка L0 и списка L1 и затем перекомпоновки его индексов.
Информация 45 о режиме внешнего предсказания inter_pred_idc в соответствии со вторым вариантом осуществления не использует опорный индекс в соответствии с комбинацией списков опорных картинок. Таким образом, список L0 и список L1 могут не объединяться.
inter_pred_idc 45 может указывать, является ли направление внешнего предсказания блока типа B-слайса направлением предсказания по L0 Pred_L0 или направлением предсказания по L1 Pred_L1. Поскольку в P-слайсе допускается только предсказание вперед Pred_L0, inter_pred_idc 45 не используется. Другими словами, inter_pred_idc 45 может не быть определен для указания направления внешнего предсказания типа P-слайса. Соответственно, внешнее предсказание типа P-слайса может выводиться как предсказание вперед, даже если отдельно не существует inter_pred_idc 45.
Информация 45 о режиме внешнего предсказания inter_pred_idc в соответствии со вторым вариантом осуществления может быть определена только для внешнего предсказания единицы предсказания типа B-слайса. Подробнее, nPbW и nPbH соответственно обозначают ширину и высоту текущей единицы предсказания. Соответственно, если сумма (nPbW+nPbH) ширины и высоты единицы предсказания равна 12, например, если размер единицы предсказания составляет 4×8 или 8×4, двунаправленное внешнее предсказание может не допускаться даже для единицы предсказания типа B-слайса. Если сумма ширины и высоты не равна 12, для единицы предсказания типа B-слайса может быть определена информация 45 о режиме внешнего предсказания, указывающая любое из предсказаний: предсказание вперед Pred_L0, предсказание назад Pred_L1, и двунаправленное предсказание Pred_BI.
Соответственно, если сумма ширины и высоты текущей единицы предсказания типа B-слайса не равна 12, устройство 20 предсказания движения может вставить информацию 45 о режиме внешнего предсказания, указывающую любое из предсказаний: предсказание вперед Pred_L0, предсказание назад Pred_L1, и двунаправленное предсказание Pred_BI, в область единицы предсказания из битового потока. С другой стороны, если сумма ширины и высоты текущей единицы предсказания равна 12, то информация 45 о режиме внешнего предсказания, указывающая любое из предсказаний: предсказание вперед Pred_L0 и предсказание назад Pred_L1, может быть считана из области единицы предсказания из битового потока.
Устройство 30 компенсации движения может не анализировать inter_pred_idc 45 в отношении единицы предсказания типа P-слайса. Внешнее предсказание типа P-слайса может выводиться как предсказание вперед, даже когда отдельно не существует inter_pred_idc 45.
Соответственно, если информация 45 о режиме внешнего предсказания в соответствии со вторым вариантом осуществления анализируется из области единицы предсказания битового потока и сумма ширины и высоты текущей единицы предсказания не равна 12, устройство 30 компенсации движения может считать любое из предсказаний: предсказание вперед Pred_L0, предсказание назад Pred_L1, и двунаправленное предсказание Pred_BI, из информации 45 о режиме внешнего предсказания. Тем не менее, если сумма ширины и высоты текущей единицы предсказания равна 12, любое из предсказаний: предсказание вперед Pred_L0 и предсказание назад Pred_L1, может быть считано, из информации 45 о режиме внешнего предсказания.
Следовательно, в соответствии с информацией 45 о режиме внешнего предсказания второго варианта осуществления, новый список опорных картинок не формируется или не осуществляется поиск нового опорного индекса даже для двунаправленного предсказания, и таким образом опорное изображение может быть определено с помощью более простой процедуры.
Фиг. 5 иллюстрирует синтаксис части заголовка 50 слайса, модифицированного в соответствии с вариантом осуществления настоящего изобретения. Фиг. 6 иллюстрирует синтаксис набора параметров комбинации списков опорных картинок, удаленный в соответствии с вариантом осуществления настоящего изобретения.
‘slice_header()’ 50 указывает заголовок слайса. ‘ref_pic_list_combination()’ 60 указывает набор параметров, относящихся к комбинации списков опорных картинок. ‘ref_pic_list_modification()’ 54 указывает набор параметров, относящийся к модификации списка опорных картинок.
Устройство 20 предсказания движения может кодировать относящиеся к слайсу параметры посредством включения разнообразных типов информации, требуемой для декодирования текущего слайса, в ‘slice_header()’ 50. Устройство 30 компенсации движения может анализировать относящиеся к слайсу параметры из ‘slice_header()’ 50 с тем, чтобы считать информацию разнообразных типов, требуемую для декодирования текущего слайса.
Список опорных картинок может быть определен из расчета на слайс, в соответствии с типами слайса.
Если ‘list_modification_present_flag’ 52, включенный в набор параметров последовательности, указывает то, что существует возможность модификации списков опорных картинок, определенных в текущей последовательности, устройство 20 предсказания движения в соответствии с вариантом осуществления может вставлять ‘ref_pic_list_modification()’ 54, указывающий подробную информацию о способе модифицирования списка опорных картинок в ‘slice_header()’ 50.
Поскольку комбинация списков опорных картинок не используется даже для двунаправленного предсказания типа B-слайса в соответствии с информацией 45 о режиме внешнего предсказания в соответствии со вторым вариантом осуществления, ‘ref_pic_list_combination()’ 60 может не вставляться в ‘slice_header()’ 50.
Если ‘list_modification_present_flag’ 52, считанный из набора параметров последовательности, указывает то, что возможно модифицировать списки опорных картинок, определенные в текущей последовательности, устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать ‘ref_pic_list_modification()’ 54, включающий в себя подробную информацию о способе модифицирования списка опорных картинок из ‘slice_header()’ 50.
Также, поскольку комбинация списков опорных картинок не используется даже для двунаправленного предсказания типа B-слайса в соответствии с информацией 45 о режиме внешнего предсказания в соответствии со вторым вариантом осуществления, ‘ref_pic_list_combination()’ 60 не анализируется из ‘slice_header()’ 50.
Фиг. 7 иллюстрирует синтаксис таблицы 70 весовых коэффициентов предсказания, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Таблица 70 весовых коэффициентов предсказания в соответствии с вариантом осуществления включает в себя информацию, относящуюся к весовому коэффициенту, применяемому к относящемуся к предсказанию параметру в соответствии с составляющими яркости и составляющими цветности в текущем слайсе.
Подробнее, если текущим типом слайса является тип 71 B-слайса, может быть определена информация 73 о весовом коэффициенте относящегося к предсказанию параметра для предсказания по L1. Тем не менее, поскольку комбинация списков опорных картинок не используется даже для двунаправленного предсказания типа B-слайса в соответствии с информацией 45 о режиме внешнего предсказания второго варианта осуществления, устройство 20 предсказания движения в соответствии с вариантом осуществления может включать информацию 73 о весовом коэффициенте относящегося к предсказанию параметра для предсказания по L1 в таблицу 70 весовых коэффициентов предсказания, не выполняя процесса определения того, присутствует ли текущая комбинация списков опорных картинок. Также, информация 75 о весовых коэффициентах относящегося к предсказанию параметра, использующего комбинацию списков опорных картинок, может в дальнейшем не включаться в таблицу 70 весовых коэффициентов предсказания.
Аналогичным образом, устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать таблицу 70 весовых коэффициентов предсказания из заголовка слайса битового потока. Также, когда текущий слайс является типом B-слайса, информация 73 о весовом коэффициенте относящегося к предсказанию параметра для предсказания по L1 может быть проанализировано из таблицы 70 весовых коэффициентов предсказания не определяя, присутствует ли текущая комбинация списков опорных картинок. Также, процесс анализа информации 75 о весовом коэффициенте относящегося к предсказанию параметра, использующего комбинацию списков опорных картинок, из таблицы 70 весовых коэффициентов предсказания также может быть опущен.
Фиг. 8 иллюстрирует синтаксис области 80 единицы предсказания, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Область 80 единицы предсказания в соответствии с вариантом осуществления включает в себя информацию о предсказании, включающую в себя опорные индексы ‘ref_idx_l0’ и ‘ref_idx_l1’ и относящуюся к вектору движения информацию ‘mvd_l0’, ‘mvd_l1’, ‘mvp_l0_flag’, и ‘mvd_l1_flag’, которые определяются в соответствии с направлением предсказания в текущей единице предсказания.
Если текущим типом слайса ‘slice_type’ является тип 81 B-слайса, устройство 20 предсказания движения в соответствии с вариантом осуществления может вставлять направление внешнего предсказания ‘inter_pred_flag’ 82 текущей единицы предсказания в область 80 единицы предсказания. Тем не менее, поскольку двунаправленное предсказание, использующее комбинацию списков опорных картинок, также не используется для типа B-слайса в соответствии с информацией 45 о режиме внешнего предсказания в соответствии со вторым вариантом осуществления, устройство 20 предсказания движения в соответствии с вариантом осуществления может не вставлять информацию 83 о предсказании, относящуюся к комбинации списков опорных картинок, в область 80 единицы предсказания. Устройство 20 предсказания движения в соответствии с вариантом осуществления может не вставлять информацию 83 о предсказании, относящуюся к комбинации списков опорных картинок, в область 80 единицы предсказания.
Если внешнее предсказание текущей единицы предсказания не является предсказанием по L1 как в синтаксисе 84 и существует активное опорное изображение в списке L0 как в синтаксисе 85, устройство 20 предсказания движения в соответствии с вариантом осуществления может включать информацию 86 о предсказании в соответствии с предсказанием по L0 в область 80 единицы предсказания. Также, если внешнее предсказание не является предсказанием по L0, как в синтаксисе 88, и существует активное опорное изображение в списке L1, как в синтаксисе 89, без необходимости определения того, является ли внешнее предсказание текущей единицы предсказания двунаправленным предсказанием, как в синтаксисе 87, информация 90 о предсказании в соответствии с предсказанием по L1 может быть включена в область 80 единицы предсказания.
Если текущим типом слайса ‘slice_type’ является тип 81 B-слайса, устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать направление внешнего предсказания ‘inter_pred_flag’ 82 текущей единицы предсказания из области 80 единицы предсказания. Тем не менее, устройство 30 компенсации движения в соответствии с вариантом осуществления может не анализировать информацию 83 о предсказании, относящуюся к комбинации списков опорных картинок из области 80 единицы предсказания.
Если внешнее предсказание текущей единицы предсказания не является предсказанием по L1, как в синтаксисе 84, и существует активное опорное изображение в списке L0, как в синтаксисе 85, устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать информацию 86 о предсказании в соответствии с предсказанием по L0 из области 80 единицы предсказания. Также, если внешнее предсказание текущей единицы предсказания не является предсказанием по L0, как в синтаксисе 88, и существует активное опорное изображение в списке L1, как в синтаксисе 89, без необходимости определения того, является ли внешнее предсказание текущей единицы предсказания двунаправленным предсказанием, как в синтаксисе 87, информация 90 о предсказании в соответствии с предсказанием по L1 может быть проанализирована из области 80 единицы предсказания.
Фиг. 9 иллюстрирует синтаксис набора параметров картинки в соответствии с вариантом осуществления настоящего изобретения. Заголовок слайса может соответствовать заголовку сегмента слайса независимого сегмента слайса.
Устройство 20 предсказания движения в соответствии с вариантом осуществления может определять, применим ли временной предиктор вектора движения tmvp в текущей картинке. Соответственно, устройство 20 предсказания движения в соответствии с вариантом осуществления может вставлять информацию о применимости tmvp ‘slice_temporal_mvp_enabled_flag’ 93 в заголовок 91 слайса. Временной предиктор вектора движения в соответствии с вариантом осуществления может быть использован для предсказания вектора движения текущего блока посредством использования вектора движения совместно расположенного изображения. Поскольку информация 93 о применимости tmvp включается в соответствии с заголовком 91 слайса, применимость tmvp может быть определена из расчета на слайс.
Информация о применимости ‘slice_temporal_mvp_enabled_flag’ 93 временного предиктора вектора движения указывает то, примени ли tmvp для внешнего предсказания в текущей картинке. tmvp может быть использован для определения текущего вектора движения посредством использования вектора движения в опорной картинке. Если ‘slice_temporal_mvp_enabled_flag’ 93 разрешен в картинке, mvp может быть использован в по меньшей мере одном слайсе, включенном в текущую картинку.
Аналогичным образом, устройство 30 компенсации движения в соответствии с вариантом осуществления может анализировать информацию о применимости ‘slice_temporal_mvp_enabled_flag’ 93 временного предиктора вектора движения из заголовка 91 слайса. Определяется, возможно ли предсказать текущий вектор движения посредством использования временного предиктора вектора движения в текущей картинке посредством считывания проанализированной информации 93 о применимости временного предиктора вектора движения. Поскольку информация 93 о применимости tmvp анализируется из расчета на заголовок 91 слайса, применимость tmvp может быть определена из расчета на слайс.
Фиг. 10 иллюстрирует синтаксис другой части заголовка слайса, модифицированный в соответствии с вариантом осуществления настоящего изобретения.
Может быть определено, применима ли совместно расположенная опорная картинка в текущем слайсе, на основании информации о применимости tmvp ‘slice_temporal_mvp_enabled_flag’ 93, используемой в заголовке 91 слайса Фиг. 9.
Если временной предиктор вектора движения применим в текущей последовательности, как в синтаксисе 101, устройство 20 предсказания движения в соответствии с другим вариантом осуществления может вставлять относящуюся к совместно расположенной картинке информацию 105 для текущего слайса в текущий заголовок 91 слайса.
Например, если текущим типом слайса ‘slice_type’ является тип 103 B-слайса, относящаяся к совместно расположенной картинке информация 105 может быть включена в информацию ‘collocated_from_l0_flag’, указывающую то, присутствует ли совместно расположенный блок в опорных картинках, включенных в список L0, в текущий заголовок 91 слайса. Также, информация об опорном индексе ‘collocated_ref_idx’ совместно расположенной картинки может быть включена, не обращая внимания на тип P-слайса или тип B-слайса. Например, информация об опорном индексе ‘collocated_ref_idx’ может указывать индекс текущего опорного изображения из опорных изображений, расположенных в предварительно определенном направлении.
Если определяется, что временной предиктор вектора движения применим в текущем наборе 91 параметров последовательности, как в синтаксисе 101, устройство 30 компенсации движения в соответствии с другим вариантом осуществления может анализировать относящуюся к совместно расположенной картинке информацию 105 для текущего слайса из текущего заголовка 91 слайса. Если текущим типом слайса ‘slice_type’ является тип 103 B-слайса, информация, указывающая то, присутствует ли совместно расположенный блок в опорных картинках, включенных в список L0, а также информация об опорном индексе совместно расположенной картинки могут быть проанализированы из относящейся к совместно расположенной картинке информации 105.
Подробнее, если используется временной предиктор вектора движения и слайс является типа B-слайса, направление совместно расположенного блока, который нужно использовать, может быть определено из ‘collocated_from_l0_flag’.
Также, если используется временной предиктор вектора движения, то, какая опорная картинка используется для определения совместно расположенного блока из опорных картинок, расположенных в предварительно определенном направлении, может быть считано из ‘collocated_ref_idx’. ‘collocated_ref_idx’ также может быть использован в случае типа P-слайса.
Поскольку ‘collocated_from_l0_flag’, указывающий на то присутствует ли совместно расположенное изображение в предварительно определенном направлении, и информация об опорном индексе ‘collocated_ref_idx’ совместно расположенной картинки, включаются в текущий заголовок слайса только когда используется временной предиктор вектора движения, информация о сходстве, относящаяся к совместно расположенной картинке, может быть просигнализирована только когда временной предиктор вектора движения используется в текущем слайсе.
Как описано выше, опорное изображение для однонаправленного предсказания и двунаправленного предсказания может быть определена с помощью более простой процедуры, поскольку не требуется формирования нового списка опорных картинок отдельно от списка L0 и списка L1 или не требуется осуществлять поиск нового опорного индекса даже для двунаправленного внешнего предсказания, посредством использования по меньшей мере одного из устройств: устройства 10, устройства 20 предсказания движения, и устройства 30 компенсации движения в соответствии с различными вариантами осуществления. Также, поскольку не требуется кодирования символа в комбинации списков опорных картинок, процесс передачи ненужной относящейся к списку опорных картинок информации пропускается, и, следовательно, может быть сокращен объем битов передачи. Аналогичным образом, поскольку процесс анализа ненужной относящейся к списку опорных картинок информации пропускается, процесс анализа данных также может быть укорочен.
Как описано выше, устройство 10, устройство 20 предсказания движения, и устройство 30 компенсации движения в соответствии с различными вариантами осуществления, описанными выше со ссылкой на Фиг. 1A-10, выполняют предсказание движение и компенсацию движения в соответствии с элементами разбиения, которые определяются в единицах кодирования в соответствии с древовидной структурой. Далее, со ссылкой на Фиг. 11-23, будет описан способ кодирования видео и способ декодирования видео, основанные на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантами осуществления настоящего изобретения.
Фиг. 11 является структурной схемой устройства 100 кодирования видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео с привлечением предсказания видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления, включает в себя определитель 120 единицы кодирования и компонент 130 вывода. Определитель 120 единицы кодирования может разделять текущее изображение на основании максимальной единицы кодирования, которая является единицей кодирования с максимальным размером для текущей картинки изображения. Если текущая картинка больше максимальной единицы кодирования, данные изображения текущей картинки могут быть разделены, по меньшей мере, на одну максимальную единицу кодирования. Максимальная единица кодирования в соответствии с вариантом осуществления может быть единицей данных с размером 32×32, 64×64, 128×128, 256×256 и т.д., при этом форма единицы данных соответствует квадрату с шириной и высотой в квадратах 2.
Единица кодирования в соответствии с вариантом осуществления может быть охарактеризована максимальным размером и глубиной. Глубина обозначает количество раз, которое единица кодирования пространственно разделяется из максимальной единицы кодирования, и по мере углубления глубины, более глубокие единицы кодирования в соответствии с глубиной могут быть разделены от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующий каждой глубине, уменьшается по мере углубления глубины максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих более низким глубинам.
Как описано выше, данные изображения текущей картинки разделяются на максимальные единицы кодирования в соответствии с максимальным размером единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разделяются в соответствии с глубинами. Поскольку максимальная единица кодирования в соответствии с вариантом осуществления разделяется в соответствии с глубинами, данные изображения пространственной области, включенные в максимальную единицу кодирования, могут быть иерархически классифицированы в соответствии с глубинами.
Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее количество раз, которое высота и ширина максимальной единицы кодирования иерархически разделяется, могут быть предварительно определены.
Определитель 120 единицы кодирования кодирует по меньшей мере одну область разделения, полученную посредством разделения области максимальной единицы кодирования в соответствии с глубинами, и определяет глубину для вывода итоговых закодированных данных изображения в соответствии, по меньшей мере, с одной областью разделения. Другими словами, определитель 120 единицы кодирования определяет кодированную глубину посредством кодирования данных изображения в более глубоких единицах кодирования в соответствии с глубинами, в соответствии с максимальной единицей кодирования текущей картинки, и выбора глубины, по меньшей мере, с минимальной ошибкой кодирования. Определенная кодированная глубина и закодированные данные изображения в соответствии с определенной кодированной глубиной выводятся на компонент 130 вывода.
Данные изображения в максимальной единице кодирования кодируются на основании более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основании каждой из более глубоких единиц кодирования. Глубина с наименьшей ошибкой кодирования может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере, одна кодированная глубина может быть выбрана для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разделяется по мере того как единица кодирования иерархически разделяется в соответствии с глубинами, и по мере того как увеличивается количество единиц кодирования. Также, даже если единицы кодирования соответствуют одной и той же глубине в одной максимальной единице кодирования, определяется, разделять ли каждую из единиц кодирования, соответствующих одной и той же глубине на более низкую глубину посредством измерения ошибки кодирования данных изображения каждой единицы кодирования, отдельно. Соответственно, даже когда данные изображения включены в одну максимальную единицу кодирования, ошибки кодирования могут отличаться в соответствии с областями в одной максимальной единице кодирования, и, следовательно, кодированные глубины могут отличаться в соответствии с областями в данных изображения. Таким образом, одна или более кодированные глубины могут быть определены в одной максимальной единице кодирования, и данные изображения максимальной единицы кодирования могут быть разделены в соответствии с единицами кодирования по меньшей мере одной кодированной глубины.
Соответственно, определитель 120 единицы кодирования в соответствии с вариантом осуществления может определять единицы кодирования в соответствии с древовидной структурой, включенной в текущую максимальную единицу кодирования. ‘Единицы кодирования в соответствии с древовидной структурой’ в соответствии с вариантом осуществления, включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких единиц кодирования, включенных в текущую максимальную единицу кодирования. Единица кодирования кодированной глубины может быть иерархически определена в соответствии с глубинами в той же самой области максимальной единицы кодирования, и может быть независимо определена в других областях. Аналогичным образом, кодированная глубина в текущей области может быть независимо определена от кодированной глубины в другой области.
Максимальная глубина в соответствии с вариантом осуществления является индексом, относящимся к количеству раз разделения от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина в соответствии с вариантом осуществления может обозначать общее количество раз разделения от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина в соответствии с вариантом осуществления может обозначать общее количество уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, если глубина максимальной единицы кодирования равна 0, то глубина единицы кодирования, при которой максимальная единица кодирования разделяется один раз, может быть установлена равной 1, а глубина единицы кодирования, при которой максимальная единица кодирования разделяется дважды, может быть установлена равной 2. Здесь, если минимальная единица кодирования равна единице кодирования, при которой максимальная единица кодирования разделяется четыре раза, то существует пять уровней глубины из глубин 0, 1, 2, 3, и 4, и, следовательно, первая максимальная глубина может быть установлена равной 4, а вторая максимальная глубина может быть установлена равной 5.
Кодирование с предсказанием и преобразование могут быть выполнены в соответствии с максимальной единицей кодирования. Кодирование с предсказанием и преобразование также выполняются на основании более глубоких единиц кодирования в соответствии с глубиной равной или глубинами меньше максимальной глубины, в соответствии с максимальной единицей кодирования.
Поскольку количество более глубоких единиц кодирования растет всякий раз, когда максимальная единица кодирования разделяется в соответствии с глубинами, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми из более глубоких единиц кодирования, сгенерированных по мере углубления глубины. Для удобства описания, кодирование с предсказанием и преобразование теперь будут описаны на основании единицы кодирования текущей глубины в по меньшей мере одной максимальной единице кодирования.
Устройство 100 кодирования видео в соответствии с вариантом осуществления может по-разному выбирать размер или форму единицы данных для кодирования данных изображения. Для того чтобы кодировать данные изображения, выполняются операции, такие как кодирование с предсказанием, преобразование, и энтропийное кодирование, и при этом одна и та же единица данных может быть использована для всех операций или разные единицы данных могут быть использованы для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображения, но также и единицу данных отличную от единицы кодирования с тем, чтобы выполнять кодирование с предсказанием над данными изображения в единице кодирования.
Для того чтобы выполнять кодирование с предсказанием в максимальной единице кодирования, кодирование с предсказанием может быть выполнено на основании единицы кодирования кодированной глубины в соответствии с вариантом осуществления, т.е., на основании единицы кодирования, которая более не разделяется. Далее, единица кодирования, которая более не разделяется и становится базой для кодирования с предсказанием будет теперь именоваться ‘единицей предсказания’. Элемент разбиения, полученный посредством разделения единицы предсказания, может включать в себя единицу данных, полученную посредством разделения по меньшей мере одного из параметров: высоты и ширины, единицы предсказания. Элемент разбиения является единицей данных, при этом единица предсказания единицы кодирования разделяется, и единица предсказания может быть элементом разбиения с тем же самым размером, что и у единицы кодирования.
Например, если единица кодирования вида 2N×2N (где N является положительным целым числом) более не разделяется и становится единицей предсказания вида 2N×2N, то размер элемента разбиения может соответствовать 2N×2N, 2N×N, N×2N, или N×N. Примеры типов элемента разбиения в соответствии с вариантом осуществления включают в себя: симметричные элементы разбиения, которые получены посредством симметричного разделения высоты или ширины единицы предсказания; элементы разбиения, которые получены посредством асимметричного разделения высоты или ширины единицы предсказания, например, 1:n или n:1; элементы разбиения, которые получены посредством геометрического разделения единицы предсказания; и элементы разбиения с произвольными формами.
Режим предсказания единицы предсказания может быть по меньшей мере одним из режимов: внутренним (intra-) режимом, внешним (inter-) режимом, и режимом пропуска. Например, внутренний режим и внешний режим могут быть выполнены над элементом разбиения вида 2N×2N, 2N×N, N×2N, или N×N. Также, режим пропуска может быть выполнен только над элементом разбиения вида 2N×2N. Кодирование независимо выполняется над одной единицей предсказания в единице кодирования, тем самым выбирая режим предсказания с наименьшей ошибкой кодирования.
Устройство 100 кодирования видео в соответствии с вариантом осуществления также может выполнять преобразование над данными изображения в единице кодирования на основании не только единицы кодирования для кодирования данных изображения, но также на основании единицы данных, которая отличается от единицы кодирования. Для того чтобы выполнить преобразование в единице кодирования, преобразование может быть выполнено на основании единицы преобразования с размером меньше или равным единице кодирования. Например, единица преобразования может включать в себя единицу данных для внутреннего режима и единицу преобразования для внешнего режима.
Единица преобразования в единице кодирования может быть рекурсивно разделена на единицы преобразования меньшего размера образом аналогичным тому, что применяется к единице кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления. Таким образом, остаточные данные в единице кодирования могут быть разделены в соответствии с единицами преобразования в соответствии с древовидной структурой, в соответствии с глубинами преобразования.
Глубина преобразования, указывающая количество раз разделения для получения единицы преобразования посредством разделения высоты и ширины единицы кодирования также может быть установлена в единице преобразования в соответствии с вариантом осуществления. Например, в текущей единице кодирования вида 2N×2N, глубина преобразования может быть 0, когда размер единицы преобразования соответствует 2N×2N, может быть 1, когда размер единицы преобразования соответствует N×N, и может быть 2, когда размер единицы преобразования соответствует N/2×N/2. Другими словами, единица преобразования в соответствии с древовидной структурой может быть установлена в соответствии с глубинами преобразования.
Информация о кодировании в соответствии с кодированной глубиной требует наличия не только информации о кодированной глубине, но также об относящейся к предсказанию информации и относящейся к преобразованию информации. Соответственно, определитель 120 единицы кодирования определяет не только кодированную глубину с наименьшей ошибкой кодирования, но также определяет тип элемента разбиения элементов разбиения, полученных посредством разделения единицы предсказания, режим предсказания в соответствии с единицами предсказания, и размер единицы преобразования для преобразования.
Со ссылкой на Фиг. 13-23 позже будет подробно описаны единицы кодирования в соответствии с древовидной структурой в максимальной единице кодирования и способы определения единицы предсказания/элемента разбиения, и единицы преобразования, в соответствии с вариантами осуществления настоящего изобретения.
Определитель 120 единицы кодирования может измерять ошибку кодирования более глубоких единиц кодирования в соответствии с глубинами посредством использования Оптимизации Скорости Передачи к Искажению основанной на множителях Лагранжа.
Компонент 130 вывода выводит данные изображения максимальной единицы кодирования, которые закодированы на основании по меньшей мере одной кодированной глубины, определенной определителем 120 единицы кодирования, и информации о режиме кодирования в соответствии с кодированной глубиной, в битовом потоке.
Закодированные данные изображения могут быть получены посредством кодирования остаточных данных изображения.
Информация о режиме кодирования в соответствии с кодированной глубиной может включать в себя информацию о кодированной глубине, о типе элемента разбиения в единице предсказания, режим предсказания, и размер единицы преобразования.
Информация о кодированной глубине может быть задана посредством использования информации разделения в соответствии с глубинами, которая указывает то, выполняется ли кодирование над единицами кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, текущая единица кодирования кодируется в единице кодирования текущей глубины, и, следовательно, информация разделения текущей глубины может быть задана, чтобы не разделять текущую единицу кодирования до более низкой глубины. В качестве альтернативы, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется над единицей кодирования более низкой глубины, и, следовательно, информация разделения может быть задана для разделения текущей единицы кодирования, чтобы получить единицы кодирования более низкой глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется над единицей кодирования, которая разделяется на единицу кодирования более низкой глубины. Поскольку в одной единице кодирования текущей глубины существует по меньшей мере одна единица кодирования более низкой глубины, кодирование неоднократно повторяется над каждой единицей кодирования более низкой глубины, и, следовательно, кодирование может быть рекурсивно выполнено для единиц кодирования с одинаковой глубиной.
Поскольку единицы кодирования с древовидной структурой определены для одной максимальной единицы кодирования, и информация, по меньшей мере, об одном режиме кодирования определяется для единицы кодирования кодированной глубины, информация, по меньшей мере, об одном режиме кодирования может быть определена для одной максимальной единицы кодирования. Также, кодированная глубина данных максимальной единицы кодирования может различаться в соответствии с местоположениями, поскольку данные иерархически разделяются в соответствии с глубинами, и, следовательно, информация о кодированной глубине и режиме кодирования может быть установлена для данных.
Соответственно, компонент 130 вывода в соответствии с вариантом осуществления может назначать информацию о кодировании касательно соответствующей кодированной глубине и режим кодирования, по меньшей мере, для одной из единиц: единицы кодирования, единицы предсказания, и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица в соответствии с вариантом осуществления является квадратной единицей данных, полученной посредством разделения минимальной единицы кодирования, устанавливающую самую низкую глубину, на 4. В качестве альтернативы, минимальная единица в соответствии с вариантом осуществления может быть максимальной квадратной единицей данных, которая может быть включена во все из единиц: единицы кодирования, единицы предсказания, единицы элементов разбиения, и единицы преобразования, включенные в максимальную единицу кодирования.
Например, информация о кодировании, выводимая компонентом 130 вывода, может быть классифицирована на информацию о кодировании в соответствии с более глубокими единицами кодирования, и информацию о кодировании в соответствии с единицами предсказания. Информация о кодировании в соответствии с более глубокими единицами кодирования может включать в себя информацию о режиме предсказания и информацию о размере элемента разбиения. Информация о кодировании, передаваемая в соответствии с единицами предсказания, может включать в себя информацию об оцененном направлении внешнего режима, об индексе опорного изображения внешнего режима, о векторе движения, о составляющей цветности внутреннего режима, и о способе интерполяции внутреннего режима.
Информация о размере максимальной единицы кодирования, заданной в соответствии с картинками, слайсами, или GOP, и информация о максимальной глубине, может быть вставлена в заголовок битового потока, набор параметров последовательности, или набор параметров картинки.
Также, информация о размере максимальной единицы преобразования, разрешенной в отношении текущего видео, и информация о размере минимальной единицы преобразования, также может быть выведена через заголовок битового потока, набор параметров последовательности, или набор параметров картинки. Компонент 130 вывода может кодировать и выводить опорную информацию, касающуюся предсказания, информацию о предсказании, и информацию о типе слайса.
В соответствии с наиболее простым вариантом осуществления устройства 100 кодирования видео, более глубокая единица кодирования может быть единицей кодирования, полученной посредством деления высоты или ширины единицы кодирования верхней глубины, которая выше на один уровень, на два. Другими словами, когда размер единицы кодирования текущей глубины соответствует 2N×2N, размер единицы кодирования более низкой глубины соответствует N×N. Также, текущая единица кодирования с размером 2N×2N может включать в себя максимум 4 единицы кодирования более низкой глубины с размером N×N.
Соответственно, устройство 100 кодирования видео может формировать единицы кодирования в соответствии с древовидной структурой посредством определения единиц кодирования с оптимальной формой и оптимальным размером для каждой максимальной единицы кодирования, на основании размера максимальной единицы кодирования и максимальной глубине, определенной с учетом характеристик текущей картинки. Также, поскольку кодирование может быть выполнено над каждой максимальной единицей кодирования посредством использования любого из разнообразных режимов предсказания и способов преобразования, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение с очень высоким разрешением или очень большим объемом данных кодируется в обычном макроблоке, количество макроблоков на картинку чрезмерно увеличивается. Соответственно, количество частей сжатой информации, сгенерированной для каждого макроблока, увеличивается, и, следовательно, сложно передать сжатую информацию и падает эффективность сжатия данных. Тем не менее, посредством использования устройства кодирования видео в соответствии с вариантом осуществления, эффективность сжатия изображения может быть увеличена, поскольку единица кодирования регулируется с учетом характеристик изображения, при этом увеличивая максимальный размер единицы кодирования, учитывая размер изображения.
Устройство 100 кодирования видео может выполнять внешнее предсказание посредством определения списка опорных картинок, в соответствии со способом предсказания движения, описанным выше со ссылкой на Фиг. 2A и 2B.
Определитель 120 единицы кодирования может определять единицу предсказания для внешнего предсказания в соответствии с единицами кодирования в соответствии с древовидной структурой из расчета на максимальную единицу кодирования, и выполнять внешнее предсказание из расчета на единицу предсказания и ее элемент разбиения.
Определитель 120 единицы кодирования определяет опорное изображение, используемое для временного предсказания в отношении изображений видео. Устройство 10 определяет информацию о предсказании, указывающую временное расстояние между текущим изображением и смежным изображением, и остаток. Соответственно, информация изображения может быть записана посредством использования информации о предсказании вместо полных данных изображения.
Определитель 120 единицы кодирования в соответствии с вариантом осуществления может определять, предшествует текущему изображению (первое направление) или следует за текущим изображением (второе направление) изображение, на которое нужно ссылаться для внешнего предсказания текущего изображения. При определении опорного изображения у текущего изображения, опорное изображение может быть определено, по меньшей мере, из любого списка опорных картинок из числа списка L0 и списка L1, на основании направления опорного изображения.
Определитель 120 единицы кодирования в соответствии с вариантом осуществления может определять опорную очередность опорных изображений, назначенную каждому списку опорных картинок. Например, опорная очередность может быть определена таким образом, что опорное изображение наиболее близко расположенное к текущему изображению в очередности отображения является первым, на которое ссылаются из опорных изображений, назначенных списку опорных картинок.
Определитель 120 единицы кодирования в соответствии с вариантом осуществления может определять тип слайса для слайса, включающего в себя блок, и определять направление внешнего предсказания на основании типа слайса.
Если слайс является типа B-слайса с возможностью однонаправленного предсказания или двунаправленного предсказания, определитель 120 единицы кодирования в соответствии с вариантом осуществления может определять направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления. Первое и второе направления могут быть соответственно направлениями вперед и назад.
Определитель 120 единицы кодирования в соответствии с вариантом осуществления может определять опорный индекс, указывающий опорное изображение в списке опорных картинок, на основании направления внешнего предсказания.
Например, определитель 120 единицы кодирования может определять опорный индекс первого направления из списка опорных картинок первого направления, в качестве опорного индекса для блока, и определять опорный индекс второго направления из списка опорных картинок второго направления. Списки опорных картинок первого и второго направления могут соответственно обозначать список L0 и список L1.
Определитель 120 единицы кодирования определяет информацию о предсказании, указывающую опорный индекс, совместно с временным расстоянием между текущим изображением и смежным изображением, и остаток.
Компонент 130 вывода в соответствии с вариантом осуществления может кодировать и выводить информацию о режиме внешнего предсказания, указывающую направление внешнего предсказания блока, опорный индекс, вектор движения и т.д.
Фиг. 12 является структурной схемой устройства 200 декодирования видео основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления настоящего изобретения.
Устройство 200 декодирования видео, которое привлекает предсказание видео, основанное на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления, включает в себя приемник 210, компонент 220 извлечения информации о кодировании и данных изображения, и декодер 230 данных изображения. Для удобства описания, устройство 200 декодирования видео, которое привлекает предсказание видео, основанное на единицах кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления, теперь будет сокращено до ‘устройства 200 декодирования видео’.
Определения различных терминов, например, единица кодирование, глубина, единица предсказания, единица преобразования, и информации о различных режимах кодирования для операций декодирования устройства 200 декодирования видео в соответствии с вариантом осуществления, идентичны тем, что описаны со ссылкой на Фиг. 8 и устройство 100 кодирования видео.
Приемник 210 принимает и анализирует битовый поток закодированного видео. Компонент 220 извлечения информации о кодировании и данных изображения извлекает закодированные данные изображения для каждой единицы кодирования из проанализированного битового потока, при этом единицы кодирования имеют древовидную структуру в соответствии с каждой максимальной единицей кодирования, и выводит извлеченные данные изображения на декодер 230 данных изображения. Компонент 220 извлечения информации о кодировании и данных изображения может извлекать информацию о размере максимальной единицы кодирования текущей картинки, из заголовка о текущей картинке, набора параметров последовательности, или набора параметров картинки.
Также, компонент 220 извлечения информации о кодировании и данных изображения извлекает информацию о кодированной глубине и режиме кодирования для единиц кодирования в соответствии с древовидной структурой в соответствии с каждой максимальной единицей кодирования, из проанализированного битового потока. Извлеченная информация о кодированной глубине и режиме кодирования выводится на декодер 230 данных изображения. Другими словами, данные изображения в битовой строке разделяются на максимальную единицу кодирования так, что декодер 230 данных изображения декодирует данные изображения для каждой максимальной единицы кодирования.
Информация о кодированной глубине и режиме кодирования в соответствии с максимальной единицей кодирования может быть установлена, по меньшей мере, для одной части информации о кодированной глубине, и информация о режиме кодирования в соответствии с кодированными глубинами может включать в себя информацию о типе элемента разбиения соответствующей единицы кодирования, о режиме предсказания, и размер единицы преобразования. Также, информация разделения в соответствии с глубинами может быть извлечена в качестве информации о кодированной глубине.
Информация о кодированной глубине и режиме кодирования в соответствии с каждой максимальной единицей кодирования, извлеченная компонентом 220 извлечения информации о кодировании и данных изображения, является информацией о кодированной глубине и режиме кодирования, определенной для генерирования минимальной ошибки кодирования, когда кодер, например устройство 100 кодирования видео в соответствии с вариантом осуществления, неоднократно выполняет кодирование для каждой более глубокой единицы кодирования в соответствии с глубинами в соответствии с каждой максимальной единицей кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных в соответствии со способом кодирования, который генерирует минимальную ошибку кодирования.
Поскольку информация о кодировании касательно кодированной глубины и режима кодирования, в соответствии с вариантом осуществления, может быть назначена предварительно определенной единице данных из соответствующей единице кодирования, единице предсказания, и минимальной единицы, компонент 220 извлечения информации о кодировании и данных изображения может извлекать информацию о кодированной глубине и режиме кодирования в соответствии с предварительно определенными единицами данных. Если информация о кодированной глубине и режиме кодирования соответствующей максимальной единицы кодирования записывается в соответствии с предварительно определенными единицами данных, может предполагаться, что предварительно определенные единицы данных, которым назначена одинаковая информация о кодированной глубине и режиме кодирования, являются единицами данных, включенными в одну и ту же максимальную единицу кодирования.
Декодер 230 данных изображения восстанавливает текущую картинку посредством декодирования данных изображения в каждой максимальной единице кодирования на основании информации о кодированной глубине и режиме кодирования в соответствии с максимальными единицами кодирования. Другими словами, декодер 230 данных изображения может декодировать закодированные данные изображения на основании считанного типа элемента разбиения, считанного режима предсказания, и считанной единицы преобразования для каждой единицы кодирования из единиц кодирования в соответствии с древовидной структурой, включенной в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Декодер 230 данных изображения может выполнять внутреннее предсказание или компенсацию движения в соответствии с элементом разбиения и режимом предсказания каждой единицы кодирования, на основании информации о типе элемента разбиения и информации о режиме предсказания единицы предсказания в единице кодирования в соответствии с кодированными глубинами.
В дополнение, декодер 230 данных изображения может считывать информацию о единице преобразования в соответствии с древовидной структурой для каждой единицы кодирования так, чтобы выполнять обратное преобразование на основании единиц преобразования для каждой единицы кодирования, для обратного преобразования для каждой максимальной единицы кодирования. С помощью обратного преобразования, может быть восстановлено значение пикселя пространственной области у единицы кодирования.
Декодер 230 данных изображения может определять кодированную глубину текущей максимальной единицы кодирования посредством использования информации разделения в соответствии с глубинами. Если информация разделения указывает то, что данные изображения более не разделяются на текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать единицу кодирования текущей глубины в отношении данных изображения в текущей максимальной единице кодирования посредством использования информации о типе элемента разбиения единицы предсказания, режиме предсказания, и размере единицы преобразования.
Другими словами, единицы данных, содержащие информацию о кодировании, включающую в себя одинаковую информацию разделения, могут быть собраны посредством обследования информации о кодировании, установленной для предварительно определенной единицы данных из единицы кодирования, единицы предсказания и минимальной единицы, и собранные единицы данных могут рассматриваться как одна единица данных, декодируемая декодером 230 данных изображения в одинаковом режиме кодирования. Раз так, то текущая единица кодирования может быть декодирована посредством получения информации о режиме кодирования для каждой единицы кодирования.
Также, устройство 200 декодирования видео может выполнять компенсацию движения посредством определения опорного индекса в списке опорных картинок, в соответствии со способом компенсации движения, описанным выше со ссылкой на Фиг. 3A и 3B.
Компонент 210 извлечения в соответствии с вариантом осуществления может анализировать информацию о режиме внешнего предсказания, указывающую направление внешнего предсказания блока, опорный индекс, и вектор движения из битового потока.
Декодер 230 данных изображения может определять единицу предсказания для компенсации движения в соответствии с единицами кодирования в соответствии с древовидной структурой для каждой максимальной единицы кодирования, и выполнять компенсацию движения из расчета на единицу предсказания и ее элемент разбиения.
Декодер 230 данных изображения определяет опорное изображение, используемое для временного предсказания в отношении изображений видео. Декодер 230 данных изображения может определять, предшествует текущему изображению (первое направление) или следует за текущим изображением (второе направление) изображение, на которое нужно ссылаться для внешнего предсказания текущего изображения, на основании информации о режиме внешнего предсказания. Опорное изображение может быть определено, по меньшей мере, из любого списка опорных картинок в списке L0 и списке L1, на основании направления опорного изображения, при этом определяя опорное изображение из текущего изображения.
Декодер 230 данных изображения в соответствии с вариантом осуществления может определять тип слайса для слайса, включающего в себя блок, и определять направление внешнего предсказания на основании типа слайса. Если слайс является типом B-слайса с возможностью однонаправленного предсказания или двунаправленного предсказания, декодер 230 данных изображения в соответствии с вариантом осуществления может определять направление внешнего предсказания блока как являющееся одним из первого направления, второго направления и двунаправленного направления. Первое и второе направления могут соответственно быть направлениями вперед и назад.
Декодер 230 данных изображения в соответствии с вариантом осуществления может определять опорный индекс, указывающий опорное изображение из списка опорных картинок, на основании определенного направления внешнего предсказания.
Например, декодер 230 данных изображения может определять опорный индекс первого направления из списка опорных картинок первого направления, в качестве опорного индекса для блока, и определять опорный индекс второго направления из списка опорных картинок второго направления. Списки опорных картинок первого и второго направления могут соответственно обозначать списки L0 и L1.
Декодер 230 данных изображения может определять опорное изображение, указанное опорным индексом, из опорных картинок, включенных в список опорных картинок, и определять опорный блок, указанный вектором движения в опорной картинке. Декодер 230 данных изображения может восстанавливать текущий блок посредством компенсации опорного блока на остаток.
Фиг. 13 является схемой для описания концепции единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Размер единицы кодирования может быть выражен посредством ширина х высоту, и может быть 64×64, 32×32, 16×16, и 8×8. Единица кодирования 64×64 может быть разделена на элементы разбиения 64×64, 64×32, 32×64, или 32×32, а единица кодирования 32×32 может быть разделена на элементы разбиения 32×32, 32×16, 16×32, или 16×16, единица кодирования 16×16 может быть разделена на элементы разбиения 16×16, 16×8, 8×16, или 8×8, а единица кодирования 8х8 может быть разделена на элементы разбиения 8×8, 8×4, 4×8, или 4×4.
Элемент разбиения для внешнего предсказания в соответствии с вариантом осуществления может не включать элемент разбиения 4×4.
В видео данных 310, разрешение соответствует 1920×1080, максимальный размер единицы кодирования равен 64, а максимальная глубина равна 2. В видео данных 320, разрешение соответствует 1920×1080, максимальный размер единицы кодирования равен 64, а максимальная глубина равна 3. В видео данных 330, разрешение соответствует 352×288, максимальный размер единицы кодирования равен 16, а максимальная глубина равна 1. Максимальная глубина, показанная на Фиг. 13, обозначает общее количество разделений от максимальной единицы кодирования до минимальной единицы кодирования.
Если разрешение высокое и объем данных большой, максимальный размер единицы кодирования может быть относительно большим так, чтобы не только повышать эффективность кодирования, но также точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видео данных 310 и 320 с более высоким разрешением, чем у видео данных 330, может быть 64.
Поскольку максимальная глубина видео данных 310 равна 2, единицы кодирования 315 видео данных 310 могут включать в себя максимальную единицу кодирования с размером по горизонтальной оси равным 64, и единицы кодирования с размерами по горизонтальной оси равными 32 и 16, поскольку глубины углубляются на два уровня посредством разделения максимальной единицы кодирования дважды. Поскольку максимальная глубина видео данных 330 равна 1, единицы 335 кодирования видео данных 330 могут включать в себя максимальную единицу кодирования с размером по горизонтальной оси равным 16, и единицы кодирования с размером по горизонтальной оси равным 8, поскольку глубины углубляются на один уровень посредством разделения максимальной единицы кодирования один раз.
Поскольку максимальная глубина видео данных 320 равна 3, единицы 325 кодирования видео данных 320 могут включать в себя максимальную единицу кодирования с размером по горизонтальной оси равным 64, и единицы кодирования с размерами по горизонтальной оси равными 32, 16, и 8, поскольку глубины углубляются на три уровня посредством разделения максимальной единицы кодирования три раза. По мере углубления глубины, подробная информация может быть выражена более точно.
Фиг. 14 является структурной схемой кодера 400 изображения, основанного на единицах кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Кодер 400 изображения в соответствии с вариантом осуществления выполняет операции определителя 120 единицы кодирования устройства 100 кодирования видео, чтобы кодировать данные изображения. Другими словами, компонент 410 внутреннего предсказания выполняет внутреннее предсказание над единицами кодирования во внутреннем режиме, из текущего кадра 405, а компонент 420 оценки движения и компенсатор 425 движения соответственно выполняют внешнюю оценку и компенсацию движения посредством использования текущего кадра и опорного кадра 495 во внешнем режиме.
Данных, выводимые из компонента 410 внутреннего предсказания, компонент 420 оценки движения, и компенсатора 425 движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через компонент 480 удаления блочности и компонент 490 регулировки смещения. Квантованный коэффициент преобразования может быть выведен в качестве битового потока 455 через энтропийный кодер 450.
Для того чтобы кодер 400 изображения применялся в устройстве 100 кодирования видео в соответствии с вариантом осуществления, все элементы кодера 400 изображения, т.е., компонент 410 внутреннего предсказания, компонент 420 оценки движения, компенсатор 425 движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, компонент 480 удаления блочности и компонент 490 регулировки смещения, выполняют операции на основании каждой единицы кодирования из единиц кодирования в соответствии с древовидной структурой, при этом учитывая максимальную глубину каждой максимальной единицы кодирования.
В частности, компонент 410 внутреннего предсказания, компонент 420 оценки движения, и компенсатор 425 движения определяют элементы разбиения и режим предсказания каждой единицы кодирования из единиц кодирования в соответствии с древовидной структурой, при этом учитывая максимальный размер и максимальную глубину текущей максимальной единицы кодирования, а преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования в соответствии с древовидной структурой.
Компонент 420 оценки движения и компенсатор 425 движения могут определять опорный индекс на основании способа внешнего предсказания, описанного выше со ссылкой на Фиг. 1A и 1B, и выполнять внешнее предсказание посредством использования опорной картинки, соответствующей опорному индексу, из списка опорных картинок.
Фиг. 15 является структурной схемой декодера 500 изображения, основанного на единицах кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Анализатор 510 анализирует закодированные данные изображения, которые нужно декодировать, и информацию о кодировании, требуемую для декодирования, из битового потока 505. Закодированные данные изображения выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и данные изображения в пространственной области восстанавливаются через обратный преобразователь 540.
Компонент 550 внутреннего предсказания выполняет внутреннее предсказание над единицами кодирования во внутреннем режиме в отношении данных изображения в пространственной области, а компенсатор 560 движения выполняет компенсацию движения над единицами кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные, которые проходят через компонент 550 внутреннего предсказания и компенсатор 560 движения и находятся в пространственной области, могут быть выведены в качестве восстановленного кадра 595 после пост обработки через компонент 570 удаления блочности и компонент 580 регулировки смещения. Также, данные, которые подверглись пост обработке через компонент 570 удаления блочности и компонент 580 контурной фильтрации, могут быть выведены в качестве опорного кадра 585.
Чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображения в соответствии с вариантом осуществления может выполнять операции, которые выполняются после анализатора 510.
Для того чтобы декодер 500 изображения применялся в устройстве 200 декодирования видео в соответствии с вариантом осуществления, все элементы декодера 500 изображения, т.е., анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, компонент 550 внутреннего предсказания, компенсатор 560 движения, компонент 570 удаления блочности, и компонент 580 регулировки смещения, выполняют операции на основании единиц кодирования в соответствии с древовидной структурой для каждой максимальной единицы кодирования.
В частности, компонент 550 внутреннего предсказания и компенсатор 560 движения определяют элементы разбиения и режим предсказания для каждой из единиц кодирования в соответствии с древовидной структурой, а обратный преобразователь 540 определяет размер единицы преобразования для каждой единицы кодирования.
Компенсатор 560 движения может определять опорный индекс на основании способа внешнего предсказания, описанного выше со ссылкой на Фиг. 1A и 1B, и выполнять компенсацию движения посредством использования опорной картинки, соответствующей опорному индексу, из списка опорных картинок.
Фиг. 16 является схемой, иллюстрирующей более глубокие единицы кодирования в соответствии с глубинами, и элементы разбиения в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео в соответствии с вариантом осуществления и устройство 200 декодирования видео в соответствии с вариантом осуществления используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина, и максимальная глубина единиц кодирования могут быть адаптивно определены в соответствии с характеристиками изображения, или могут быть по-другому установлены пользователем. Размеры более глубоких единиц кодирования в соответствии с глубинами, могут быть определены в соответствии с предварительно определенным максимальным размером единицы кодирования.
В иерархической структуре 600 единиц кодирования, в соответствии с вариантом осуществления, максимальная высота и максимальная ширина единиц кодирования каждая равна 64, а максимальная глубина равна 3. В данном случае, максимальная глубина относится к общему количеству раз, которое единица кодирования разделяется от максимальной единицы кодирования до минимальной единицы кодирования. Поскольку глубина углубляется по вертикальной оси иерархической структуры 600 в соответствии с вариантом осуществления, разделяется каждое из высоты и ширины более глубокой единицы кодирования. Также, единица предсказания и элементы разбиения, которые являются базами для кодирования с предсказанием каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, при этом глубина равна 0, а размер, т.е., высота на ширину, равен 64×64. Глубина углубляется по вертикальной оси, и единица 620 кодирования с размером 32×32 и глубиной 1, единица 630 кодирования с размером 16×16 и глубиной 2, и единица 640 кодирования с размером 8×8 и глубиной 3. Единица 640 кодирования с размером 8×8 и глубиной 3 является минимальной единицей кодирования.
Единица предсказания и элементы разбиения единицы кодирования скомпонованы вдоль горизонтальной оси в соответствии с каждой глубиной. Другими словами, если единица 610 кодирования с размером 64×64 и глубиной 0 является единицей предсказания, единица предсказания может быть разделена на элементы разбиения, включенные в единицу 610 кодирования, т.е., элемент 610 разбиения с размером 64×64, элементы 612 разбиения с размером 64×32, элементы 614 разбиения с размером 32×64, или элементы 616 разбиения с размером 32×32.
Аналогично, единица предсказания единицы 620 кодирования с размером 32×32 и глубиной 1, может быть разделена на элементы разбиения, включенные в единицу 620 кодирования, т.е., элемент 620 разбиения с размером 32×32, элементы 622 разбиения с размером 32×16, элементы 624 разбиения с размером 16×32, или элементы 626 разбиения с размером 16×16.
Аналогично, единица предсказания единицы 630 кодирования с размером 16×16 и глубиной 2, может быть разделена на элементы разбиения, включенные в единицу 630 кодирования, т.е., элемент разбиения с размером 16×16, включенный в единицу 630 кодирования, элементы 632 разбиения с размером 16×8, элементы 634 разбиения с размером 8×16, или элементы 636 разбиения с размером 8×8.
Аналогично, единица предсказания единицы 640 кодирования с размером 8×8 и глубиной 3, может быть разделена на элементы разбиения, включенные в единицу 640 кодирования, т.е., элемент разбиения с размером 8×8, включенный в единицу 640 кодирования, элементы 642 разбиения с размером 8×4, элементы 644 разбиения с размером 4×8, или элементы 646 разбиения с размером 4×4.
Элемент разбиения для внешнего предсказания в соответствии с вариантом осуществления может не включать в себя элементы 646 разбиения с размером 4×4.
Для того чтобы определить кодированную глубину максимальной единицы кодирования 610, определитель 120 единицы кодирования устройства 100 кодирования видео в соответствии с вариантом осуществления выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Количество более глубоких единиц кодирования в соответствии с глубинами, включающими данные в одном и том же диапазоне и одном и том же размере, растет с ростом глубины. Например, четыре единицы кодирования, соответствующие глубине 2, требуется для охвата данных, которые включены в одну единицу кодирования, соответствующую глубине 1. Соответственно, для того чтобы сравнить результаты кодирования одинаковых данных в соответствии с глубинами, кодируется единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Для того чтобы выполнить кодирование в соответствии с глубинами, наименьшая ошибка кодирования может быть выбрана в качестве показательной ошибки кодирования для соответствующей глубины посредством выполнения кодирования для каждой единицы предсказания в более глубокой единице кодирования по горизонтальной оси иерархической структуры 600. В качестве альтернативы, может выполняться поиск минимальной ошибки кодирования посредством сравнения показательных ошибок кодирования в соответствии с глубинами, посредством выполнения кодирования для каждой глубины по мере того как глубина углубляется по вертикальной оси иерархической структуры 600. Глубина и элемент разбиения с минимальной ошибкой кодирования в максимальной единице 610 кодирования могут быть выбраны в качестве кодированной глубины и типа элемента разбиения максимальной единицы 610 кодирования.
Фиг. 17 является схемой, иллюстрирующей отношение между единицей кодирования и единицами преобразования, в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео в соответствии с вариантом осуществления или устройство 200 декодирования видео в соответствии с вариантом осуществления кодирует или декодирует изображение в соответствии с единицами кодирования с размерами меньшими или равными максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования во время кодирования могут быть выбраны на основании единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 кодирования видео в соответствии с вариантом осуществления или устройстве 200 декодирования видео в соответствии с вариантом осуществления, если размер текущей единицы 710 кодирования равен 64×64, преобразование может быть выполнено посредством использования единицы 720 преобразования с размером 32×32.
Также, данные единицы 710 кодирования с размером 64×64 могут быть закодированы посредством выполнения преобразования над каждой из единиц преобразования с размером 32×32, 16×16, 8×8, и 4×4, которые меньше 64×64, и затем может быть выбрана единица преобразования с минимальной ошибкой кодирования.
Фиг. 18 является схемой, иллюстрирующей информацию о кодировании единиц кодирования, соответствующих кодированной глубине, в соответствии с вариантом осуществления настоящего изобретения.
Компонент 130 вывода устройства 100 кодирования видео в соответствии с вариантом осуществления может кодировать и передавать информацию 800 о типе элемента разбиения, информацию 810 о режиме предсказания, и информацию 820 о размере единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации о режиме кодирования.
Информация 800 указывает информацию о форме элемента разбиения, полученного посредством разделения единицы предсказания текущей единицы кодирования, при этом элемент разбиения является единицей данных для кодирования с предсказанием текущей единицы кодирования. Например, текущая единица кодирования CU_0 с размером 2N×2N может быть разделена на любой из элементов разбиения: элемент 802 разбиения с размером 2N×2N, элемент 804 разбиения с размером 2N×N, элемент 806 разбиения с размером N×2N, и элемент 808 разбиения с размером N×N. Здесь, информация 800 о типе элемента разбиения устанавливается для указания одного из элементов разбиения: элемента 804 разбиения с размером 2N×N, элемента 806 разбиения с размером N×2N, и элемента 808 разбиения с размером N×N.
Информация 810 указывает режим предсказания каждого элемента разбиения. Например, информация 810 может указывать режим кодирования с предсказанием, выполняемого над элементом разбиения, указываемого посредством информации 800, т.е., внутренний режим 812, внешний режим 814, или режим 816 пропуска.
Информация 820 указывает единицу преобразования, на которой нужно основываться, когда преобразование выполняется над текущей единицей кодирования. Например, единица преобразования может быть первой внутренней единицей 822 преобразования, второй внутренней единицей 824 преобразования, первой внешней единицей 826 преобразования, или второй внешней единицей 828 преобразования.
Компонент 210 извлечения информации о кодировании и данных изображения устройства 200 декодирования видео в соответствии с вариантом осуществления может извлекать и использовать информацию 800, 810, и 820 для декодирования, в соответствии с каждой более глубокой единицей кодирования.
Фиг. 19 является схемой более глубоких единиц кодирования в соответствии с глубинами, в соответствии с вариантом осуществления настоящего изобретения.
Информация разделения может быть использована для указания изменения глубины. Информация разделения указывает то, разделяется ли единица кодирования текущей глубины на единицы кодирования более низкой глубины.
Единица 910 предсказания для кодирования с предсказанием единицы 900 кодирования с глубиной 0 и размером 2N_0×2N_0 может включать в себя элементы разбиения типа 912 элемента разбиения с размером 2N_0×2N_0, типа 914 элемента разбиения с размером 2N_0×N_0, типа 916 элемента разбиения с размером N_0×2N_0 и типа 918 элемента разбиения с размером N_0×N_0. Фиг. 19 иллюстрирует лишь типы с 912 по 918 элемента разбиения, которые получаются посредством симметричного разделения единицы 910 предсказания, однако тип элемента разбиения этим не ограничивается, и элементы разбиения единицы 910 предсказания могут включать в себя асимметричные элементы разбиения, элементы разбиения предварительно определенной формы, и элементы разбиения геометрической формы.
Кодирование с предсказанием неоднократно выполняется над элементом разбиения с размером 2N_0×2N_0, двумя элементами разбиения с размером 2N_0×N_0, двумя элементами разбиения с размером N_0×2N_0, и четырьмя элементами разбиения с размером N_0×N_0, в соответствии с каждым типом элемента разбиения. Кодирование с предсказанием во внутреннем режиме и внешнем режиме может быть выполнено над элементами разбиения с размерами 2N_0×2N_0, 2N_0×N_0, N_0×2N_0, и N_0×N_0. Кодирование с предсказанием в режиме пропуска выполняется только над элементом разбиения с размером 2N_0×2N_0.
Если ошибка кодирования является наименьшей при одном из типов с 912 по 916 элемента разбиения с размерами 2N_0×2N_0, 2N_0×N_0 и N_0×2N_0, единица 910 предсказания может не разделяться до более низкой глубины.
Если ошибка кодирования наименьшая при типе 918 элемента разбиения с размером N_0×N_0, глубина меняется с 0 на 1 для разделения типа 918 элемента разбиения на этапе 920, и кодирование повторно выполняется над единицами 930 кодирования с глубиной 1 и типом элемента разбиения N_0×N_0 для поиска минимальной ошибки кодирования.
Единица 940 предсказания для кодирования с предсказанием единицы 930 кодирования с глубиной 1 и размером 2N_1×2N_1 (=N_0×N_0) может включать в себя элементы разбиения типа 942 элемента разбиения с размером 2N_1×2N_1, типа 944 элемента разбиения с размером 2N_1×N_1, типа 946 элемента разбиения с размером N_1×2N_1 и типа 948 элемента разбиения с размером N_1×N_1.
Если ошибка кодирования наименьшая при типе 948 элемента разбиения с размером N_1×N_1, глубина меняется с 1 на 2 для разделения типа 948 элемента разбиения на этапе 950, и кодирование повторно выполняется над единицами 960 кодирования с глубиной 2 и типом элемента разбиения N_2×N_2 для поиска минимальной ошибки кодирования.
Когда максимальной глубиной является d, более глубокая единица кодирования может быть установлена вплоть до того, когда глубина будет равна d-1, и информация разделения может быть установлена вплоть до того, когда глубина будет равна d-2. Другими словами, когда кодирование выполняется вплоть до того, когда глубина равна d-1 после того как единица кодирования, соответствующая глубине d-2 разделяется на этапе 970, единица 990 предсказания для кодирования с предсказанием единицы 980 кодирования глубиной d-1 и размером 2N_(d-1)×2N_(d-1) может включать в себя элементы разбиения типа 992 элемента разбиения с размером 2N_(d-1)×2N_(d-1), типа 994 элемента разбиения с размером 2N_(d-1)×N_(d-1), типа 996 элемента разбиения с размером N_(d-1)×2N_(d-1), и типа 998 элемента разбиения с размером N_(d-1)×N_(d-1).
Кодирование с предсказанием может быть неоднократно выполнено над одним элементом разбиения с размером 2N_(d-1)×2N_(d-1), двумя элементами разбиения с размером 2N_(d-1)×N_(d-1), двумя элементами разбиения с размером N_(d-1)×2N_(d-1), четырьмя элементами разбиения с размером N_(d-1)×N_(d-1) из типов элемента разбиения для поиска типа элемента разбиения с минимальной ошибкой кодирования.
Даже когда тип 998 элемента разбиения с размером N_(d-1)×N_(d-1) имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, единица кодирования CU_(d-1) с глубиной d-1 более не разделяется до более низкой глубины, и кодированная глубина для текущей максимальной единицы 900 кодирования определяется как равная d-1, а тип элемента разбиения текущей максимальной единицы 900 кодирования может быть определен как N_(d-1)×N_(d-1). Также, поскольку максимальная глубина равна d, информация разделения не устанавливается для единицы 952 кодирования с глубиной d-1.
Единица 999 данных может быть ‘минимальной единицей’ для текущей максимальной единицы кодирования. Минимальная единица в соответствии с вариантом осуществления может быть квадратной единицей данных, полученной посредством разделения минимальной единицы кодирования с самой низкой кодированной глубиной на 4. Посредством выполнения неоднократного кодирования, устройство 100 кодирования видео в соответствии с вариантом осуществления может выбрать глубину с наименьшей ошибкой кодирования посредством сравнения ошибок кодирования в соответствии с глубинами единицы 900 кодирования для определения кодированной глубины, и устанавливать соответствующий тип элемента разбиения и режим предсказания в качестве режима кодирования кодированной глубины.
Раз так, минимальные ошибки кодирования в соответствии с глубинами сравниваются на всех глубинах с 1 по d, и глубина с наименьшей ошибкой кодирования может быть определена в качестве кодированной глубины. Кодированная глубина, тип элемента разбиения единицы предсказания, и режим предсказания, могут быть закодированы и переданы в качестве информации о режиме кодирования. Также, поскольку единица кодирования разделяется от глубины равной 0 до кодированной глубины, только информация разделения кодированной глубины устанавливается равной 0, а информация разделения глубин за исключением кодированной глубины устанавливается равной 1.
Компонент 220 извлечения информации о кодировании и данных изображения устройства 200 декодирования видео в соответствии с вариантом осуществления может извлекать и использовать информацию о кодированной глубине и единице предсказания единицы 900 кодирования для декодирования элемента 912 разбиения. Устройство 200 декодирования видео в соответствии с вариантом осуществления может определять глубину, на которой информация разделения равна 0, в качестве кодированной глубины посредством использования информации разделения в соответствии с глубинами, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. 20, 21, и 22 являются схемами, иллюстрирующими отношение между единицами кодирования, единицами предсказания, и единицами преобразования, в соответствии с вариантом осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, соответствующими кодированным глубинам, определенным устройством 100 кодирования видео, в соответствии с вариантом осуществления, в максимальной единице кодирования. Единицы 1060 предсказания являются элементами разбиения единиц предсказания каждой единицы кодирования, соответствующей кодированным, из единиц 1010 кодирования, а единицы 1070 преобразования являются единицами преобразования каждой единицы кодирования, соответствующей кодированным глубинам.
Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050, и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030,1032, и 1048 кодирования равны 3, а глубины единиц 1040, 1042, 1044, и 1046 кодирования равны 4.
В единицах 1060 предсказания, некоторые элементы 1014, 1016, 1022, 1032, 1048, 1050, 1052, и 1054 разбиения получены посредством разделения единиц кодирования. Другими словами, типы элемента разбиения в элементах 1014, 1022, 1050, и 1054 разбиения имеют размер 2N×N, типы элемента разбиения в элементах 1016, 1048, и 1052 разбиения имеют размер N×2N, и тип элемента разбиения элемента 1032 разбиения имеет размер N×N. Единицы предсказания и элементы разбиения единиц 1010 кодирования меньше или равны каждой единице кодирования.
Преобразование или обратное преобразование выполняется над данными изображения части 1052 в единицах 1070 преобразования в единице данных, которая меньше единице кодирования. Также, единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052, и 1054 кодирования отличаются от тех, что в единицах 1060 предсказания по размерам и формам. Другими словами, устройство 100 кодирования видео в соответствии с вариантом осуществления и устройство 200 декодирования видео в соответствии с вариантом осуществления могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование, и обратное преобразование индивидуально над единицей данных в одной и той же единице кодирования.
Соответственно, кодирование рекурсивно исполняется над каждой из единиц кодирования с иерархической структурой в каждой области максимальной единицы кодирования для определения оптимальной единицы кодирования, и таким образом могут быть получены единицы кодирования в соответствии с рекурсивной древовидной структурой. Информация о кодировании может включать в себя информацию разделения касательно единицы кодирования, информацию о типе элемента разбиения, информацию о режиме предсказания, и информацию о размере единицы преобразования. Таблица 1 ниже показывает информацию о кодировании, которая может быть установлена устройством 100 кодирования видео в соответствии с вариантом осуществления и устройством 200 декодирования видео в соответствии с вариантом осуществления
<b>Таблица 1</b>
Информация разделения 0(Кодирование над единицей кодирования с размером 2N×2N и текущей глубиной d)
Информация разделения 1
Режим предсказа-ния
Тип элемента разбиения
Размер единицы преобразования
Неоднократно кодируют единицы кодирования с более низкой глубиной в d+1
ВнутреннийВнешнийПропуска (Только 2N×2N)
Тип симметрич-ного элемента разбиения
Тип асимметрич-ного элемента разбиения
Информация разделения 0 единицы преобразо-вания
Информация разделения 1 единицы преобразо-вания
2N×2N2N×NN×2NN×N
2N×nU2N×nDnL×2NnR×N
2N×2N
N×N(Симметрич-ный тип)N/2×N/2(Асимметрич-ный тип)
Компонент 130 вывода устройства 100 кодирования в соответствии с вариантом осуществления может выводить информацию о кодировании касательно единиц кодирования в соответствии с древовидной структурой, а компонент 220 извлечения информации о кодировании и данных изображения устройства 200 декодирования видео в соответствии с вариантом осуществления может извлекать информацию о кодировании касательно единиц кодирования в соответствии с древовидной структурой из принятого битового потока.
Информация разделения указывает то, разделяется ли текущая единица кодирования на единицы кодирования более низкой глубины. Если информация разделения текущей глубины d равна 0, глубина, на которой текущая единица кодирования более не разделяется до более низкой глубины, является кодированной глубиной, и, следовательно, для кодированной глубины может быть задана информация о типе элемента разбиения, режим предсказания, и информация о размере единицы преобразования. Если текущая единица кодирования далее разделяется в соответствии с информацией разделения, кодирование независимо выполняется над четырьмя разделенными единицами кодирования более низкой глубины.
Режим предсказания может быть одним из внутреннего режима, внешнего режима, и режима пропуска. Внутренний режим и внешний режим могут быть заданы при всех типах элемента разбиения, а режим пропуска задан только при типе элемента разбиения с размером 2N×2N.
Информация о типе элемента разбиения может указывать типы симметричного элемента разбиения с размерами 2N×2N, 2N×N, N×2N, и N×N, которые получаются посредством симметричного разделения высоты или ширины единицы предсказания, и типы асимметричного элемента разбиения с размерами 2N×nU, 2N×nD, nL×2N, и nR×2N, которые получаются посредством асимметричного разделения высоты или ширины единицы предсказания. Типы асимметричного элемента разбиения с размерами 2N×nU и 2N×nD могут быть соответственно получены посредством разделения высоты единицы предсказания в соотношении 1:3 и 3:1, а типы асимметричного элемента разбиения с размерами nL×2N и nR×2N могут быть соответственно получены посредством разделения высоты единицы предсказания в соотношении 1:3 и 3:1.
Размер единицы преобразования может быть установлен в качестве двух типов во внутреннем режиме и двух типов во внешнем режиме. Другими словами, если информация разделения единицы преобразования равна 0, размером единицы преобразования может быть 2N×2N, который является размером текущей единицы кодирования. Если информация разделения единицы преобразования равна 1, единицы преобразования могут быть получены посредством разделения текущей единицы кодирования. Также, если тип элемента разбиения текущей единицы кодирования с размером 2N×2N является типом симметричного элемента разбиения, размером единицы преобразования может быть N×N, а если тип элемента разбиения текущей единицы кодирования является типом асимметричного элемента разбиения, размером единицы преобразования может быть N/2×N/2.
Информация о кодировании касательно единиц кодирования в соответствии с древовидной структурой, в соответствии с вариантом осуществления, может быть назначена в отношении по меньшей мере одной из единиц: единицы кодирования кодированной глубины, единицы предсказания, и минимальной единицы. Единица кодирования кодированной глубины может включать в себя по меньшей мере одну из единиц: единицу предсказания и минимальную единицу, содержащую точно такую же информацию о кодировании.
Соответственно, определяется, включены ли смежные единицы данных в одну и ту же единицу кодирования кодированной глубины посредством сравнения информации о кодировании смежных единиц данных. Также, соответствующая единица кодирования кодированной глубины определяется посредством использования информации о кодировании единицы данных, и, следовательно, может быть определено распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования предсказывается посредством ссылки на смежные единицы данных, может быть выполнена непосредственная ссылка на и использование информации о кодировании единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования.
В качестве альтернативы, когда кодирование с предсказание выполняется над текущей единицей кодирования посредством ссылки на смежные единицы данных, осуществляется поиск данных, смежных для текущей единицы кодирования, в более глубокой единице кодирования посредством использования информации о кодировании смежной более глубокой единицы кодирования, и соответственно может быть выполнена ссылка на смежные единицы кодирования.
Фиг. 23 является схемой, иллюстрирующей отношение между единицей кодирования, единицей предсказания, и единицей преобразования, в соответствии с информацией о режиме кодирования Таблицы 1.
Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316, и 1318 кодирования кодированных глубин. Здесь, поскольку единица 1318 кодирования является единицей кодирования кодированной глубины, информация разделения может быть установлена в 0. Информация о типе элемента разбиения единицы 1318 кодирования с размером 2N×2N может быть установлена в качестве одного из типа 1322 элемента разбиения с размером 2N×2N, типа 1324 элемента разбиения с размером 2N×N, типа 1326 элемента разбиения с размером N×2N, типа 1328 элемента разбиения с размером N×N, типа 1332 элемента разбиения с размером 2N×nU, типа 1334 элемента разбиения с размером 2N×nD, типа 1336 элемента разбиения с размером nL×2N, и типа 1338 элемента разбиения с размером nR×2N.
Информация разделения единицы преобразования (флаг размера TU) является типом индекса преобразования. Размер единицы преобразования соответствующий индексу преобразования может быть изменен в соответствии с типом единицы предсказания или типом элемента разбиения единицы кодирования.
Например, когда информация о типе элемента разбиения устанавливается в качестве одного из типов симметричного элемента разбиения 2N×2N 1322, 2N×N 1324, N×2N 1326, и N×N 1328, единица 1342 преобразования с размером 2N×2N устанавливается, если информация разделения единицы преобразования равна 0, и единица 1344 преобразования с размером N×N устанавливается, если информация разделения единицы преобразования равна 1.
Когда информация о типе элемента разбиения устанавливается в качестве одного из типов асимметричного элемента разбиения 2N×nU 1332, 2N×nD 1334, nL×2N 1336, и nR×2N 1338, единица 1352 преобразования с размером 2N×2N устанавливается, если информация разделения единицы преобразования (флаг размера TU) равна 0, и единица 1354 преобразования с размером N/2×N/2 устанавливается, если информация разделения единицы преобразования равна 1.
Информация разделения единицы преобразования (флаг размера TU) описанный выше со ссылкой на Фиг. 21 является флагом со значением 0 или 1, однако информация разделения единицы преобразования в соответствии с вариантом осуществления не ограничивается флагом в 1 бит, и единица преобразования может быть иерархически разделена по мере того, как информация разделения единицы преобразования увеличивается от 0 в соответствии с установкой. Информация разделения единицы преобразования может быть примером индекса преобразования.
В данном случае, размер единицы преобразования, который был фактически использован, может быть выражен посредством использования информации разделения единицы преобразования в соответствии с вариантом осуществления, совместно с максимальным размером и минимальным размером единицы преобразования. Устройство 100 кодирования видео в соответствии с вариантом осуществления выполнено с возможностью кодирования информации о размере максимальной единицы преобразования, информации о размере минимальной единицы преобразования, и информации разделения максимальной единицы преобразования. Результат кодирования информации о размере максимальной единицы преобразования, информации о размере минимальной единицы преобразования, и информации разделения максимальной единицы преобразования может быть вставлен в SPS. Устройство 200 декодирования видео в соответствии с вариантом осуществления может быть использовано для декодирования видео посредством использования информации о размере максимальной единицы преобразования, информации о размере минимальной единицы преобразования, и информации разделения максимальной единицы преобразования.
Например, (a) если размер текущей единицы кодирования составляет 64×64, а размер максимальной единицы преобразования составляет 32×32, (a-1) тогда размером единицы преобразования может быть 32×32, когда информация разделения единицы преобразования равна 0, (a-2) может быть 16×16, когда информация разделения единицы преобразования равна 1, и (a-3) может быть 8х8, когда информация разделения единицы преобразования равна 2.
В качестве другого примера, (b) если размер текущей единицы кодирования составляет 32×32, а размер минимальной единицы преобразования составляет 32×32, (b-1) тогда размером единицы преобразования может быть 32×32, когда информация разделения единицы преобразования равна 0. Здесь, информация разделения единицы преобразования не может быть установлена в значение отличное от 0, поскольку размер единицы преобразования не может быть меньше, чем 32×32.
В качестве другого примера, (c) если размер текущей единицы кодирования составляет 64х64, а информация разделения максимальной единицы преобразования равна 1, тогда информация разделения единицы преобразования может быть 0 или 1, и другая информация разделения единицы преобразования не может быть установлена.
Таким образом, если задано, что информацией разделения максимальной единицы преобразования является ‘MaxTransformSizeIndex’, размером минимальной единицы преобразования является ‘MinTransformSize’, и размером единицы преобразования является ‘RootTuSize’ когда информация разделения единицы преобразования равна 0, тогда текущим размером минимальной единицы преобразования ‘CurrMinTuSize’, который может быть определен в текущей единице кодирования, может быть задан посредством Уравнения (1):
CurrMinTuSize = max (MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)) ... (1)
В сравнении с размером минимальной единицы преобразования ‘CurrMinTuSize’, который может быть определен в текущей единице кодирования, размер единицы преобразования ‘RootTuSize’, когда информация разделения единицы преобразования равна 0, может обозначать размер максимальной единицы преобразования, который может быть выбран в системе. Другими словами, в соответствии с Уравнением (1), ‘RootTuSize/(2^MaxTransformSizeIndex)’ обозначает размер единицы преобразования, когда размер единицы преобразования ‘RootTuSize’, при информации разделения единицы преобразования равной 0, разделяется количество раз, соответствующее информации разделения максимальной единицы преобразования, а ‘MinTransformSize’ обозначает минимальный размер преобразования. Таким образом, меньшее значение из ‘RootTuSize/(2^MaxTransformSizeIndex)’ и ‘MinTransformSize’ может быть размером минимальной единицы преобразования ‘CurrMinTuSize’, который может быть определен в текущей единице кодирования.
В соответствии с вариантом осуществления, размер максимальной единицы преобразования RootTuSize может варьироваться в соответствии с режимами предсказания.
Например, если текущим режимом предсказания является внешний режим, тогда ‘RootTuSize’ может быть определен посредством использования Уравнения (2) ниже. В Уравнении (2), ‘MaxTransformSize’ обозначает размер максимальной единицы преобразования, а ‘PUSize’ обозначает текущий размер единицы предсказания.
RootTuSize = min(MaxTransformSize, PUSize) ... (2)
Т.е., если текущим режимом предсказания является внешний режим, размер единицы преобразования ‘RootTuSize’, при информации разделения единицы преобразования равной 0, может быть меньшее значение из размера максимальной единицы преобразования и текущего размера единицы предсказания.
Если режимом предсказания текущей единицы предсказания является внутренний режим, ‘RootTuSize’ может быть определен посредством использования Уравнения (3) ниже. В Уравнении (3), ‘PartitionSize’ обозначает размер текущей единицы элемента разбиения.
RootTuSize = min(MaxTransformSize, PartitionSize) ...(3)
Т.е., если текущим режимом предсказания является внутренний режим, размером единицы преобразования ‘RootTuSize’ при информации разделения единицы преобразования равной 0 может быть меньшее значение из размера максимальной единицы преобразования и размером текущей единицы элемента разбиения.
Тем не менее, текущий размер максимальной единицы преобразования ‘RootTuSize’ в соответствии с вариантом осуществления, который варьируется в соответствии с режимами предсказания в единице элемента разбиения, является лишь примером и факторы определения текущего размера максимальной единицы преобразования этим не ограничиваются.
В соответствии с методикой кодирования видео, основанной на единицах кодирования с древовидной структурой, как описано со ссылкой на Фиг. 8-20, данные изображения пространственной области кодируются для каждой единицы кодирования древовидной структуры. В соответствии с методикой декодирования видео, основанной на единицах кодирования с древовидной структурой, декодирование выполняется для каждой максимальной единицы кодирования для восстановления данных изображения пространственной области. Таким образом, картинка и видео, т.е. последовательность картинок, могут быть восстановлены. Восстановленное видео может быть воспроизведено посредством воспроизводящего устройства, сохранено на запоминающем носителе информации, или передано посредством сети.
Варианты осуществления в соответствии с настоящим изобретением могут быть написаны в качестве компьютерных программ и могут быть реализованы в цифровых компьютерах общего использования, которые исполняют программы, используя считываемый компьютером носитель записи. Примеры считываемого компьютером носителя записи включают в себя магнитные запоминающие носители информации (например, ROM, гибкие диски, жесткие диски, и т.д.) и оптические записывающие носители информации (например, CD-ROM или DVD).
Для удобства описания, способ кодирования видео в соответствии со способом внешнего предсказания, способом предсказания движения, и способом компенсации движения, описанный выше со ссылкой на Фиг. 1A-21, будет собирательно именоваться ‘способом кодирования видео в соответствии с настоящим изобретением’. В дополнение, способ декодирования видео в соответствии со способом внешнего предсказания и способом компенсации движения, описанный выше со ссылкой на Фиг. 1A-20, будет именоваться ‘способом декодирования видео в соответствии с настоящим изобретением’.
Также, устройство кодирования видео, включающее в себя устройство 10, устройство 20 предсказания движения, устройство 30 компенсации движения, и устройство 100 кодирования видео, или кодер 400 изображения, которое было описано выше со ссылкой на Фиг. 1A-23, будет именоваться ‘устройством кодирования видео в соответствии с настоящим изобретением’. В дополнение, устройство декодирования видео, включающее в себя устройство 10, устройство 30 компенсации движения, устройство 200 декодирования видео, или декодер 500 изображения, которое было описано выше со ссылкой на Фиг. 1A-23, будет именоваться ‘устройством декодирования видео в соответствии с настоящим изобретением’.
Теперь подробнее будет описан считываемый компьютером носитель записи, хранящий программу, например, диск 26000, в соответствии с вариантом осуществления настоящее изобретения.
Фиг. 24 является схемой физической структуры диска 26000, на котором хранится программа, в соответствии с вариантом осуществления настоящего изобретения. Диск 26000, который является запоминающим носителем информации, может быть жестким диском, диском CD-ROM, диском Blu-ray, или DVD. Диск 26000 включает в себя множество концентрических дорожек Tr, каждая из которых разделена на конкретное количество секторов Se в круговом направлении диска 26000. В конкретной области диска 26000, которая хранит программу в соответствии с вариантом осуществления, может быть назначена и храниться программа, которая исполняет способ определения параметра квантования, способ кодирования видео, и способ декодирования видео, описанный выше.
Компьютерная система, воплощенная при помощи запоминающего носителя информации, который хранит программу для исполнения способа кодирования видео и способа декодирования видео, как описано выше, будет описана позже со ссылкой на Фиг. 25.
Фиг. 25 является схемой накопителя 26800 на дисках для записи и чтения программы посредством использования диска 26000. Компьютерная система 26700 может хранить программу, которая исполняет по меньшей мере один из способов: способ кодирования видео и способ декодирования видео настоящего изобретения, на диске 2600 через накопитель 26800 на дисках. Для запуска программы, хранящейся на диске 26000 в компьютерной системе 26700, программа может быть считана с диска 26000 и передана на компьютерную систему 26700 посредством использования накопителя 26800 на дисках.
Программа, которая исполняет по меньшей мере один из способов: способ кодирования видео и способ декодирования видео настоящего изобретения может быть сохранена не только на диске 26000, проиллюстрированном на Фиг. 24 или 25, но также и на карте памяти, кассете ROM, или твердотельном накопителе (SSD).
Ниже будет описана система, к которой применяется описанный выше способ кодирования видео и способ декодирования видео.
Фиг. 26 является схемой полной структуры системы 11000 подачи контента для обеспечения услуги распространения контента. Зона услуги системы связи разделена на соты предварительно определенного размера, и в этих сотах соответственно инсталлированы базовые станции 11700, 11800, 11900, и 12000.
Система 11000 подачи контента включает в себя множество независимых элементов (устройств). Например, множество независимых элементов, таких как компьютер 12100, персональный цифровой помощник 12200 (PDA), камера 12300, и мобильный телефон 12500, соединено с Интернет 11100 через поставщика 11200 услуг интернет, сеть 11400 связи, и беспроводные базовые станции 11700, 11800, 11900, и 12000.
Тем не менее, система 11000 подачи контента не ограничивается проиллюстрированной на Фиг. 26, и элементы могут быть выборочно соединены с ней. Множество независимых элементов может быть непосредственно соединено с сетью 11400 связи, не через беспроводные базовые станции 11700, 11800, 11900, и 12000.
Видео камера 12300 является элементом формирования изображения, например, цифровой видео камерой, которая выполнена с возможностью захвата видео изображений. Мобильный телефон 12500 может использовать по меньшей мере один способ связи из разнообразных протоколов, например, Персональной Цифровой Связи (PDC), Множественного Доступа с Кодовым Разделением (CDMA), Широкополосного Множественного Доступа с Кодовым Разделением (W-CDMA), Глобальной Системы Связи с Подвижными Объектами (GSM), и Системы для Персональных Мобильных Телефонов (PHS).
Видео камера 12300 может быть соединена с сервером 11300 потоковой передачи через беспроводную базовую станцию 11900 и сеть 11400 связи. Сервер 11300 потоковой передачи обеспечивает потоковую передачу контента, принимаемого от пользователя через видео камеру 12300, посредством вещания в режиме реального времени. Контент, принятый от видео камеры 12300, может быть закодирован, используя видео камеру 12300 или сервер 11300 потоковой передачи. Видео данные, захваченные видео камерой 12300 могут быть переданы серверу 11300 потоковой передачи через компьютер 12100.
Видео данные, захваченные камерой 12600, также могут быть переданы серверу 11300 потоковой передачи через компьютер 12100. Камера 12600 является элементом формирования изображения, выполненным с возможностью захвата, как неподвижных изображений, так и видео изображений, аналогично цифровой камере. Видео данные, захваченные камерой 12600, могут быть закодированы, используя камеру 12600 или компьютер 12100. Программное обеспечение для кодирования и декодирования видео может быть сохранено на считываемом компьютером носителе записи, например, диске CD-ROM, гибком диске, накопителе на жестком диске, SSD, карте памяти, доступ к которым можно получить посредством компьютера 12100.
Если видео захватывается камерой встроенной в мобильный телефон 12500, видео данные могут быть приняты от мобильного телефона 12500.
Видео данные также могут быть закодированы посредством систем больших интегральных микросхем (LSI), инсталлированных в видео камере 12300, мобильном телефоне 12500, или камере 12600.
Система 11000 подачи контента в соответствии с вариантом осуществления, может кодировать контент, записываемый пользователем, используя видео камеру 12300, камеру 12600, мобильный телефон 12500, или другой элемент формирования изображения, например, контент, записываемый во время концерта, и передавать закодированный контент серверу 11300 потоковой передачи. Сервер 1300 потоковой передачи может передавать данные контента другим клиентам, которые запрашивают данные контента.
Клиенты являются элементами, выполненными с возможностью декодирования закодированных данных контента, например, компьютером 12100, PDA 12200, видео камерой 12300, или мобильным телефоном 12500. Таким образом, система 11000 подачи контента позволяет клиентам принимать и воспроизводить закодированные данные контента. Также, система 1100 подачи контента позволяет клиентам принимать закодированные данные контента и декодировать и воспроизводить закодированные данные контента в режиме реального времени, тем самым обеспечивая персональное вещание.
Операции кодирования и декодирования независимых элементов, включенных в систему 11000 подачи контента, могут быть аналогичными тем, что у устройства кодирования видео и устройства декодирования видео настоящего изобретения.
Теперь более подробно со ссылкой на Фиг. 27 и 28 будет описан мобильный телефон 12500, включенный в систему 11000 подачи контента в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 27 иллюстрирует внешнюю структуру мобильного телефона 12500, к которому применяются способ кодирования видео и способ декодирования видео настоящего изобретения в соответствии с вариантами осуществления. Мобильный телефон 12500 может быть интеллектуальным телефоном, функции которого не ограничиваются и большое количество функций которого могут быть изменены или расширены.
Мобильный телефон 12500 включает в себя внутреннюю антенну 12510, через которую может осуществляться обмен RF сигналом с беспроводной базовой станцией 1200, и включает в себя экран 12520 отображения для отображения изображений, захваченных камерой 12530, или изображений, которые принимаются через антенну 12510 и декодируются, например, жидкокристаллический дисплей (LCD) или экран на органических светоизлучающих диодах (OLED). Интеллектуальный телефон 12510 включает в себя панель 12540 управления, включающую в себя кнопки управления и воспринимающую касание (сенсорную) панель. Если экран 12520 отображения является воспринимающим касание экраном, панель 12540 управления дополнительно включает в себя панель восприятия касания экрана 12520 отображения. Интеллектуальный телефон 12510 включает в себя громкоговоритель 12580 для вывода голоса и звука или другой тип компонента вывода звука, и микрофон 12550 для ввода голоса и звука или компонент ввода звука другого типа. Интеллектуальный телефон 12510 дополнительно включает в себя камеру 12530, такую как камера CCD, для захвата видео и неподвижных изображений. Интеллектуальный телефон 12510 может дополнительно включать в себя запоминающий носитель 12570 информации для хранения закодированных или декодированных данных, например, видео или неподвижных изображений, захваченных камерой 12530, принятых посредством электронной почты, или полученных в соответствии с различными способами; и слот 12560, через который запоминающий носитель 12570 информации загружается в мобильный телефон 12500. Запоминающий носитель 12570 информации может быть флэш-памятью, например, SD картой или электронно-стираемым и программируемым постоянным запоминающим устройством (EEPROM), заключенным в пластиковый корпус.
Фиг. 28 иллюстрирует внутреннюю структуру мобильного телефона 12500. Для систематического управления частями мобильного телефона 12500, включающими в себя экран 12520 отображения и панель 12540 управления, схему 12700 подачи питания, контроллер 12640 ввода операции, компонент 12720 кодирования изображения, интерфейс 12630 камеры, контроллер 12620 LCD, компонент 12690 декодирования изображения, мультиплексор/демультиплексор 12680, компонент 12670 записи/чтения, компонент 12660 модуляции/демодуляции, и процессор 12650 звука, они соединены с центральным контроллером 12710 через шину 12730 синхронизации.
Если пользователь управляет кнопкой питания и устанавливает ее из состояния ‘питание выключено’ в состояние ‘питание включено’, схема 12700 подачи питания подает питание всем частям мобильного телефона 12500 от блока батарей, тем самым приводя мобильный телефон 12500 в рабочее состояние.
Центральный контроллер 12710 включает в себя CPU, постоянное запоминающее устройство (ROM), и запоминающее устройство с произвольным доступом (RAM).
При передаче во вне мобильным телефоном 12500 данных связи, цифровой сигнал генерируется мобильным телефоном 12500 под управлением центрального контроллера 12710. Например, процессор 12650 звука может генерировать цифровой звуковой сигнал, компонент 12720 кодирования изображения может генерировать цифровой сигнал изображения, и текстовые данные сообщения могут быть сгенерированы через панель 12540 управления и контроллер 12640 ввода операции. Когда цифровой сигнал передается компоненту 12660 модуляции/демодуляции под управлением центрального контроллера 12710, компонент 12660 модуляции/демодуляции модулирует частотную полосу цифрового сигнала, и схема 12610 связи выполняет цифроаналоговое преобразование (DAC) и частотное преобразование над модулированным в частотной полосе цифровым звуковым сигналом. Сигнал передачи, выводимый из схемы 12610 связи, может быть передан базовой станции голосовой связи или беспроводной базовой станции 12000 через антенну 12510.
Например, когда мобильный телефон 12500 находится в режиме разговора, звуковой сигнал, получаемый через микрофон 12550, преобразуется в цифровой звуковой сигнал процессором 12650 звука, под управлением центрального контроллера 12710. Сгенерированный цифровой звуковой сигнал может быть преобразован в сигнал передачи через компонент 12660 модуляции/демодуляции и схему 12610 связи, и может быть передан через антенну 12510.
Когда текстовое сообщение, например сообщение электронной почты, передается в режиме передачи данных, текстовые данные сообщения вводятся через панель 12540 управления и передаются центральному контроллеру 12710 через контроллер 12640 ввода операции. Под управлением центрального контроллера 12710, текстовые данные преобразуются в сигнал передачи через компонент 12660 модуляции/демодуляции и схему 12610 связи, и передаются беспроводной базовой станции 12000 через антенну 12510.
Для передачи данных изображения в режиме передачи данных, данные изображения, захваченные камерой 12530, предоставляются компоненту 12720 кодирования изображения через интерфейс 12630 камеры. Данные изображения, захваченные камерой 12530, могут быть непосредственно отображены на экране 12520 отображения через интерфейс 12630 камеры и контроллер 12620 LCD.
Структура компонента 12720 кодирования изображения может соответствовать той, что присутствует у устройства кодирования видео настоящего изобретения, описанного выше. Компонент 12720 кодирования изображения может преобразовывать данные изображения, принятые от камеры 12530, в сжатые и закодированные данные изображения в соответствии со способом кодирования видео настоящего изобретения, описанным выше, и затем выводить закодированные данные изображения на мультиплексор/ демультиплексор 12680. Во время операции записи камеры 12530, звуковой сигнал, полученный посредством микрофона 12550 мобильного телефона 12500, может быть преобразован в цифровые звуковые данные через процессор 12650 звука, и цифровые звуковые данные могут быть переданы мультиплексору/демультиплексору 12680.
Мультиплексор/демультиплексор 12680 мультиплексирует закодированные данные изображения, принятые от компонента 12720 кодирования изображения, вместе со звуковыми данными, принятыми от процессора 12650 звука. Мультиплексированные данные могут быть переданы в сигнале передачи через компонент 12660 модуляции/демодуляции и схему 12610 связи, и затем могут быть переданы через антенну 12510.
При приеме извне данных связи мобильным телефоном 12500, над сигналом, принятым через антенну 12510, выполняется восстановление частоты и аналого-цифровое преобразование (ADC) для преобразования сигнала в цифровой сигнал. Компонент 12660 модуляции/демодуляции модулирует частотную полосу цифрового сигнала. Цифровой сигнал с модулированной частотной полосой передается компоненту 12690 декодирования видео, процессору 12650 звука, или контроллеру 12620 LCD, в соответствии с типом цифрового сигнала.
В режиме разговора мобильный телефон 12500 усиливает сигнал, принятый через антенну 12510, и генерирует цифровой звуковой сигнал посредством выполнения частотного преобразования и аналого-цифрового преобразования (ADC) над усиленным сигналом. Принятый цифровой звуковой сигнал преобразуется в аналоговый звуковой сигнал через компонент 12660 модуляции/демодуляции и процессор 12650 звука, и аналоговый звуковой сигнал выводится через громкоговоритель 12580, под управлением центрального контроллера 12710.
При нахождении в режиме передачи данных, принимаются данные видео файла, к которому получен доступ на Интернет web-сайте, сигнал, принимаемый от беспроводной базовой станции 12000 через антенну 12510, выводится в качестве мультиплексированных данных через компонент 12660 модуляции/демодуляции, и мультиплексированные данные передаются мультиплексору/демультиплексору 12680.
Для декодирования мультиплексированных данных, принятых через антенну 12510, мультиплексор/демультиплексор 12680 демультиплексирует мультиплексированные данные на закодированный поток видео данных и закодированный поток аудио данных. Через шину 12730 синхронизации, закодированный поток видео данных и закодированный поток аудио данных предоставляется компоненту 12690 декодирования видео и процессору 12650 звука, соответственно.
Структура компонента 12690 декодирования изображения может соответствовать той, что представлена у устройства декодирования видео наносящего изобретения, описанного выше. Компонент 12690 декодирования изображения может декодировать закодированные видео данные, чтобы получить восстановленные видео данные и предоставить восстановленные видео данные экрану 12520 отображения через контроллер 12620 LCD, в соответствии со способом декодирования видео настоящего изобретения, описанным выше.
Таким образом, видео данные видео файла, к которому получают доступ на Интернет web-сайте, могут быть отображены на экране 12520 отображения. В то же время, процессор 12650 звука может преобразовать аудио данные в аналоговый звуковой сигнал, и предоставить аналоговый звуковой сигнал громкоговорителю 12580. Таким образом, аудио данные, содержащиеся в видео файле, к которому получают доступ на Интернет web-сайте, также могут быть воспроизведены через громкоговоритель 12580.
Мобильный телефон 12500 или другой тип терминала связи может быть терминалом приема и передачи, включающим в себя как устройство кодирования видео, так и устройство декодирования видео настоящего изобретения, описанные выше, или может быть терминалом приема и передачи, включающим в себя только устройство декодирования видео настоящего изобретения.
Система связи настоящего изобретения не ограничивается системой связи, описанной выше со ссылкой на Фиг. 26. Например, Фиг. 29 иллюстрирует систему цифрового вещания, использующую систему связи в соответствии с настоящим изобретением. Система цифрового вещания с Фиг. 29 в соответствии с вариантом осуществления может принимать цифровое вещание, передаваемое спутниковой или наземной сетью, посредством использования устройства кодирования видео и устройства декодирования видео настоящего изобретения.
В частности, вещательная станция 12890 передает поток видео данных спутнику связи или вещательному спутнику 12900 посредством использования радиоволн. Вещательный спутник 12900 передает сигнал вещания, и сигнал вещания передается приемнику спутникового вещания через бытовую антенну 12860. В каждом доме, закодированный видео поток может быть декодирован и воспроизведен посредством TV приемника 12810, телевизионной приставки 12870, или другого элемента.
Когда устройство декодирования видео настоящего изобретения реализуется в воспроизводящем устройстве 12830, воспроизводящее устройство 12830 может анализировать и декодировать закодированный видео поток, записанный на запоминающем носителе 12820 информации, таком как диск или карта памяти, для восстановления цифровых сигналов. Таким образом, восстановленный видео сигнал может быть воспроизведен, например, на мониторе 12840.
В телевизионной приставке 12870, соединенной с антенной 12860 для спутникового/наземного вещания или кабельной антенной 12850 для приема вещания кабельного TV, может быть инсталлировано устройство декодирования видео настоящего изобретения. Данные, выводимые из телевизионной приставки 12870, также могут быть воспроизведены на TV мониторе 12880.
В качестве другого примера, устройство декодирования видео настоящего изобретения может быть инсталлировано в TV приемнике 12810, вместо телевизионной приставки 12870.
Автомобиль 12920, который оборудован соответствующей антенной 12910, может принимать сигнал, передаваемый от спутника 12900 или беспроводной базовой станции 11700. Декодированное видео может быть воспроизведено на дисплейном экране автомобильной навигационной системы 12930, инсталлированной в автомобиле 12920.
Видеосигнал может быть закодирован посредством устройства кодирования видео настоящего изобретения и затем может быть записан и сохранен на запоминающем носителе информации. Подробнее, сигнал изображения может быть сохранен на диске 12960 DVD посредством записывающего устройства DVD или может быть сохранен на жестком диске посредством устройства 12950 записи на жесткий диск. В качестве другого примера, видеосигнал может быть сохранен на SD карте 12970. Если устройство 12950 записи на жестком диске включает в себя устройство декодирования видео настоящего изобретения, видеосигнал, записанный на диске 12960 DVD, SD карте 12970, или другом запоминающем носителе информации, может быть воспроизведен на мониторе 12880.
Автомобильная навигационная система 12930 может не включать в себя камеру 12530, интерфейс 12630 камеры, и компонент 12720 кодирования изображения с Фиг. 26. Например, компьютер 12100 и TV приемник 12810 могут не включать в себя камеру 12530, интерфейс камеры 12630, и компонент 12720 кодирования изображения с Фиг. 26.
Фиг. 30 является схемой, иллюстрирующей сетевую структуру системы облачных вычислений, использующей устройство кодирования видео и устройство декодирования видео, в соответствии с вариантом осуществления настоящего изобретения.
Система облачных вычислений может включать в себя сервер 14000 облачных вычислений, DB 14100 пользователя, вычислительные ресурсы 14200, и терминал пользователя.
Система облачных вычислений предоставляет услугу аутсорсинга по запросу вычислительных ресурсов через сеть информационной связи, например, Интернет, в ответ на запрос от терминала пользователя. В среде облачных вычислений, поставщик услуги предоставляет пользователям требуемые услуги посредством объединения вычислительных ресурсов центров обработки данных, расположенных физически в разных местоположениях, но использующих технологию виртуализации. Пользователю услуги не требуется инсталляция вычислительных ресурсов, например, приложения, хранилища, операционной системы (OS), и ресурсов безопасности, на его/ее собственном терминале, чтобы использовать их, но он может выбирать и использовать требуемые услуги из услуг в виртуальном пространстве, сгенерированном посредством технологии виртуализации, в требуемый момент времени.
Терминал пользователя у пользователя конкретной услуги соединяется с сервером 14000 облачных вычислений через сеть информационной связи, включающей в себя Интернет и мобильную телекоммуникационную сеть. Терминалам пользователя могут быть предоставлены услуги облачных вычислений, и в частности услуги воспроизведения видео, от сервера 14000 облачных вычислений. Терминалы пользователя могут быть электронными элементами разнообразных типов, выполненными с возможностью соединения с Интернет, например, настольным PC 14300, интеллектуальным TV 14400, интеллектуальным телефоном 14500, компьютером 14600 класса ноутбук, портативным мультимедийным проигрывателем 14700 (PMP), планшетным PC 14800, и подобным.
Сервер 14000 облачных вычислений может объединять множество вычислительных ресурсов 14200, распределенных в облачной сети, и предоставлять терминалам пользователя результат объединения. Множество вычислительных ресурсов 14200 могут включать в себя различные информационные услуги, и могут включать в себя данные, выгружаемые с терминалов пользователя. Как описано выше, сервер 14000 облачных вычислений может предоставлять терминалам пользователя требуемые услуги посредством объединения видео базы данных, распределенной в разных областях в соответствии с технологией виртуализации.
Информация о пользователях касательно пользователей, которые подписаны на услугу облачных вычисления, хранится в DB 14100 пользователей. Информация о пользователях может включать в себя информацию о входе в систему и персональную кредитную информацию, такую как адреса, имена, и т.д. Информация о пользователях может дополнительно включать в себя индексы видео. Здесь индексы могут включать в себя список видео, которое уже было воспроизведено, список видео, которое воспроизводится, и точки временной остановки видео, которое воспроизводилось, и подобное.
Информация о видео, хранящемся в DB 14100 пользователей, может совместно использоваться элементами пользователя. Соответственно, например, когда предварительно определенная видео услуга предоставляется компьютеру 14600 класса ноутбук в ответ на запрос от компьютера 14600 класса ноутбук, история воспроизведения предварительно определенной видео услуги сохраняется в DB 14100 пользователей. Когда запрос на воспроизведение той же самой видео услуги принимается от интеллектуального телефона 14500, сервер 14000 облачных вычислений осуществляет поиск и воспроизводит предварительно определенную видео услугу, на основании DB 14100 пользователей. Когда интеллектуальный телефон 14500 принимает поток видео данных от сервера 14000 облачных вычислений, процесс воспроизведения видео посредством декодирования потока видео данных аналогичен работе мобильного телефона 12500, описанной выше со ссылкой на Фиг. 24.
Сервер 14000 облачных вычислений может ссылаться на историю воспроизведения предварительно определенной видео услуги, хранящейся в DB 14100 пользователей. Например, сервер 14000 облачных вычислений принимает запрос на воспроизведение видео, хранящегося в DB 14100 пользователей, от терминала пользователя. Если это видео воспроизводилось, тогда способ потоковой передачи сервера 14000 облачных вычислений может меняться на основании того, нужно ли воспроизводить видео, начиная с его начала или с его точки временной остановки в соответствии с выбором терминала пользователя. Например, если терминал пользователя запрашивает воспроизведение видео, начиная с его начала, сервер 14000 облачных вычислений передает данные потоковой передачи видео, начиная с его первого кадра терминалу пользователя. Если терминал запрашивает воспроизведение видео, начиная с его точки временной остановки, сервер 1400 облачных вычислений передает данные потоковой передачи видео, начиная с кадра, соответствующего точки временной остановки, терминалу пользователя.
В данном случае, терминал пользователя может включать в себя устройство декодирования видео настоящего изобретения, описанное выше со ссылкой на Фиг. 1A-23. В качестве другого примера, терминал пользователя может включать в себя устройство кодирования видео настоящего изобретения, описанное выше о ссылкой на Фиг. 1A-23. В качестве альтернативы, терминал пользователя может включать в себя как устройство декодирования видео, так и устройство кодирования видео настоящего изображения, описанные выше со ссылкой на Фиг. 1A-23.
Различные применения способа кодирования видео, способа декодирования видео, устройства кодирования видео, и устройства декодирования видео настоящего изобретения, описанных выше со ссылкой на Фиг. 1A-23, были описаны выше со ссылкой на Фиг. 24-30. Тем не менее, способы хранения способа кодирования видео и способа декодирования видео настоящего изобретения, описанные выше со ссылкой на Фиг. 1A-23, на запоминающем носителе информации или способы реализации устройства кодирования видео и устройства декодирования видео настоящего изобретения в некотором элементе, в соответствии с различными вариантами осуществления настоящего изобретения, не ограничиваются вариантами осуществления, описанными выше со ссылкой на Фиг. 24-30.
Несмотря то, что это изобретение было в частности показано и описано со ссылкой на его предпочтительные варианты осуществления, специалистам в соответствующей области техники следует понимать, что различные изменения по форме и в деталях могут быть здесь выполнены, не отступая от сущности и объема изобретения, как определяется прилагаемой формулой изобретения. Предпочтительные варианты осуществления должны рассматриваться лишь в описательном смысле, а не в целях ограничения. Вследствие этого, объем изобретения определяется не подробным описанием изобретения, а прилагаемой формулой изобретения, и все отличия в рамках объема будут толковаться как включенные в настоящее изобретение.