УПРОЩЕННОЕ КОДИРОВАНИЕ ГЛУБИНЫ С МОДИФИЦИРОВАННЫМ ВНУТРИКАДРОВЫМ КОДИРОВАНИЕМ ДЛЯ КОДИРОВАНИЯ ТРЕХМЕРНЫХ ВИДЕОДАННЫХ
SIMPLIFIED DEPTH ENCODING WITH MODIFIED INRA-FRAMED ENCODING FOR ENCODING THREE-DIMENSIONAL VIDEO DATA

Уровень техники
Кодер видеоданных сжимает видеоинформацию так, чтобы в данной полосе пропускания можно было посылать больше информации. Сжатый сигнал может затем быть передан на приемник, имеющий декодер, который декодирует или разуплотняет сигнал перед отображением.
Высокоэффективное кодирование видеоданных (HEVC-кодирование) представляет собой самый последний стандарт сжатия видеоданных, который разрабатывается Объединенной совместной командой по кодированию видеоданных (командой JCT-VC), сформированной Экспертной группой по вопросам движущегося изображения (группой MPEG), связанной с Международной организацией по стандартизации/Международной электротехнической комиссией (ISO/TEC), и Экспертной группой по кодированию видеоданных (группой VCEG), связанной с сектором телекоммуникаций Международного союза телекоммуникаций (ITU-T). Аналогично предшествующим стандартам кодирования видеоданных, HEVC-кодирование включает в себя основные функциональные модули, такие как внутрикадровое/межкадровое предсказание, преобразование, квантование, внутрицикловое фильтрование и энтропийное кодирование. Кодер-декодер для HEVC-кодирования осуществляет обработку и сжатие изображения, разбивая его на множественные неперекрывающиеся блоки, которые обозначены как элементы кодирования (CU-элементы). Элемент кодирования содержит квадратный блок пикселей сигнала яркости и два соответствующих блока пикселей сигнала цветности. Размер элемента кодирования может быть сконфигурирован таким образом, чтобы составлять 8×8, 16×16, 32×32 или 64×64 в яркостной составляющей.
В настоящее время, основываясь на стандарте HEVC-кодирования, Объединенная совместная команда по кодированию трехмерных видеоданных (команда JCT-3V), сформированная Экспертной группой по вопросам движущегося изображения (группой MPEG), связанной с Международной организацией по стандартизации/Международной электротехнической комиссией (ISO/IEC), и Экспертная группа по кодированию видеоданных (группой VCEG), связанная с сектором телекоммуникаций Международного союза телекоммуникаций (ITU-T) проводят изучение распространения HEVC-кодирования на кодирование трехмерных видеоданных (трехмерное HEVC-кодирование). В трехмерном HEVC-кодировании, для представления трехмерного видеоконтента (информационно значимого содержимого видеоданных) используется концепция кодирования видеоданных с множественными видами плюс глубины (MVD-кодирования), в которой ограниченное количество текстурных видов и ассоциативно связанных с ними карт глубины кодируется и мультиплексируется в битовый поток.
Краткое описание чертежей
Описываемый здесь материал проиллюстрирован, в порядке примера, а не в порядке ограничения (объема изобретения), на прилагаемых фигурах. Для простоты и ясности иллюстрации, элементы, проиллюстрированные на фигурах, не обязательно вычерчены в масштабе. Например, размеры некоторых элементов могут быть для ясности преувеличены по отношению к другим элементам. Кроме того, там, где это сочтено уместным, ссылочные позиции были повторены на разных фигурах для того, чтобы указывать корреспондирующие друг другу или аналогичные элементы. На фигурах:
Фиг. 1 представляет собой иллюстративную схему системы для трехмерного видеоконтента;
Фиг. 2 представляет собой иллюстративную схему системы кодирования видеоданных;
Фиг. 3 представляет собой блок-схему алгоритма, иллюстрирующую приводимый в качестве примера процесс кодирования глубины;
Фиг. 4 представляет собой блок-схему алгоритма, иллюстрирующую другой пример процесса кодирования глубины;
Фиг. 5 представляет собой иллюстративную схему элементов кодирования, предназначенную для объяснения внутрикадрового DC-кодирования;
Фиг. 6 представляет собой иллюстративную схему элементов кодирования, предназначенную для объяснения внутрикадрового планарного кодирования;
Фиг. 7 представляет собой иллюстративную схему элементов кодирования, предназначенную для объяснения внутрикадрового DC-кодирования в соответствии с изложенными здесь вариантами осуществления изобретения;
Фиг. 8 представляет собой иллюстративную схему элементов кодирования, предназначенную для объяснения внутрикадрового планарного кодирования в соответствии с изложенными здесь вариантами осуществления изобретения;
На Фиг. 9 проиллюстрирована схема системы кодирования видеоданных в работе;
Фиг. 10 представляет собой иллюстративную схему приводимой в качестве примера системы;
Фиг. 11 представляет собой иллюстративную схему другой приводимой в качестве примера системы;
На Фиг. 12 проиллюстрировано приводимое в качестве примера устройство, все устроенное в соответствии с, по меньшей мере, некоторыми вариантами осуществления настоящего раскрываемого изобретения;
Фиг. 13A представляет собой иллюстративную схему первой части системы кодирования видеоданных; и
Фиг. 13B представляет собой иллюстративную схему второй части системы кодирования видеоданных, показанной на Фиг. 13A.
Подробное описание
Теперь со ссылкой на прилагаемые фигуры опишем один или более вариантов осуществления изобретения. Следует понимать, что хотя рассматриваются конкретные конфигурации и компоновки, это сделано исключительно в иллюстративных целях. Специалисты в соответствующей области техники поймут, что можно использовать и другие конфигурации и компоновки, не выходя при этом за пределы сущности и объема описания. Специалистам в соответствующей области техники будет очевидно, что описанные здесь технологии и/или компоновки могут также использоваться в разнообразии других систем и приложений, отличных от того, что здесь описано.
Хотя в нижеследующем описании изложены различные варианты осуществления изобретения, которые могут быть продемонстрированы в таких архитектурах, как, например, архитектура “внутрикристальная система” (SoC), варианты осуществления описанных здесь технологий и/или компоновок, не ограничены конкретными архитектурами и/или вычислительным системам и могут быть осуществлена посредством любой архитектуры и/или вычислительной системы для аналогичных целей. Например, описанные здесь технологии и/или компоновки могут быть реализованы посредством различных архитектур, использующих, например, множественные кристаллы интегральных схем ((IC)) и/или пакетов интегральных схем, и/или различные вычислительные устройства и/или потребительские электронные приборы (СЕ-приборы), такие как телевизионные абонентские приставки, “смартфоны” (мобильные телефоны, наделенные компьютерными возможностями) и так далее. Кроме того, хотя в нижеследующем описании могут быть изложены многочисленные конкретные подробности, такие как реализации логики, типы и взаимосвязи компонентов системы, варианты выбора разделения/интегрирования логики и так далее, заявленный предмет изобретения может быть осуществлен без таких конкретных подробностей. В других случаях, некоторые материалы, такие как, например, структуры управляющей логики и полные программные последовательности команды, могут не быть показаны подробно для того, чтобы не затруднять понимание раскрываемого здесь материала.
Раскрываемые здесь материал может быть реализован посредством аппаратного обеспечения, программно-аппаратного обеспечения, программного обеспечения, или любого их сочетания. Раскрываемые здесь материал может также быть реализован как команды, хранящиеся на машиночитаемом носителе информации, которые могут быть считаны и исполнены одним или более процессорами. Машиночитаемый носитель информации может включать в себя любой носитель и/или механизм для хранения или передачи информации в форме, пригодной для чтения машиной (например, вычислительным устройством). Например, машиночитаемый носитель информации может включать в себя постоянное запоминающее устройство (ПЗУ); оперативное запоминающее устройство (ОЗУ); носители информации на магнитных дисках; оптические носители информации; устройства флэш-памяти; электрические, оптические, акустические или другие формы распространяемых сигналов (например, несущие волны, инфракрасные сигналы, цифровые сигналы и так далее), и другое. В другой разновидности, с любым из упомянутых выше примеров или других примеров может использоваться некоторый некратковременно существующий предмет, такой как некратковременный считываемый компьютером носитель информации, за исключением того, что он не включает в себя кратковременный сигнал как таковой. Он включает в себя те элементы, отличные от сигнала как такового, которые могут хранить данные временно, “кратковременным” образом, такие как оперативное запоминающее устройство и так далее.
Ссылки в этой спецификации на “один вариант осуществления изобретения”, “вариант осуществления изобретения”, “приводимый в качестве примера вариант осуществления изобретения" и так далее указывают на то, что описанный вариант осуществления изобретения может включать в себя некоторые конкретные признак, структуру или характеристику, но каждый вариант осуществления изобретения не обязательно может включать в себя эти конкретный признак, структуру или характеристику. Помимо этого, такие выражения не обязательно относятся к одному и тому же варианту осуществления изобретения. Кроме того, в случае, когда некоторые конкретные признак, структура или характеристика описываются в связи с некоторым вариантом осуществления изобретения, утверждается, что знаний специалиста в данной области техники достаточно, чтобы задействовать такие признак, структуру или характеристику в связи с другими вариантами осуществления изобретения, будь то явным образом описанными или неописанными в этом описании.
Термин “устройство кодирования” в том значении, в котором оно здесь используется, может относиться к кодеру и/или декодеру. Аналогичным образом, термин “кодирование”, в том значении, в котором он здесь используется, может относиться к выполнению кодирования видеоданных посредством кодера и/или выполнению декодирования видеоданных посредством декодера. Например, кодер видеоданных и декодер видеоданных могут оба представлять собой примеры устройств кодирования, способных к кодированию видеоданных. Кроме того, кодер может иметь компоненты для декодирования, а декодер может иметь компоненты для кодирования. В дополнение к этому, термин “кодек”, в том значении, в котором он здесь используется, может относиться к любому процессу, программе или набору операций, таким как, например, любая комбинация программного обеспечения, программно-аппаратного обеспечения и/или аппаратного обеспечения, которая может реализовать кодер и/или декодер. Кроме того, выражение “данные о движении”, в том значении, в котором оно здесь используется, может относиться к любому типу данных, связанных с межкадровым предсказанием, включающих в себя один или более векторов движения, опорных индексов и/или направления межкадрового движения, но не ограничиваясь ими.
Ниже описываются системы, изделия и способы, относящиеся к упрощенное кодированию глубины с модифицированным внутрикадровым кодированием для кодирования трехмерных видеоданных, которое здесь описано.
Как было отмечено выше, в трехмерном высокоэффективном кодировании видеоданных (трехмерном HEVC-кодировании) для представления трехмерного видеоконтента используется кодирование видеоданных с множественными видами плюс глубины (MVD-кодирование), в котором ограниченное количество текстурных видов и ассоциативно связанных с ними карт глубины кодируется и мультиплексируется в битовый поток. HEVC-кодирование предусматривает разделение изображений на элементы кодирования размером 8×8, 16×16, 32×32 или 64×64 (измеряемом в пикселях). Упрощенное кодирование глубины (SDC-кодирование) для внутрикадрового кодирования элементов кодирования включает в себя, по меньшей мере, три различных типа режимов кодирования: Intra_DC (Внутрикадровое кодирование глубины) (где DC обозначает кодирование глубины), Intra_Planar (Внутрикадровое планарное кодирование) и Intra_DMM (Внутрикадровый_DMM) (где DMM обозначает Режим моделирования глубины). В режиме Intra_DC, для предсказания значений пикселей в пределах текущего элемента кодирования используются значения соседних пикселей на соседних элементах кодирования по боковым сторонам от текущего элемента кодирования. При планарном предсказании, для предсказания значений в пределах текущего элемента кодирования могут использоваться соседние пиксели, как по боковым сторонам от текущего элемента кодирования, так и снаружи от углов текущего элемента кодирования. В DMM-режиме элемент кодирования разделяется линией от края до края элемента кодирования на “веджлеты” (или, иначе говоря, на контуры, в случае, когда линии не являются прямыми), и каждый “веджлет” кодируется отдельно. Как для кодирования в режиме intra_DC, так и для кодирования в режиме intra_planar при SDC-подходе (Упрощенном кодировании глубины), используемые алгоритмы являются сложными, а вычисление тяжелым, что приводит в результате к более медленному кодированию и/или тяжелым вычислительным нагрузкам на аппаратные средства, выполняющие вычисления. Это приводит в результате к более высокой потребляемой мощности для выполнения кодирования. Ниже приводятся подробности для уменьшения потребляемой мощности для того, чтобы обеспечить более высокую производительность аппаратных средств и/или сделать возможным эффективное кодирование посредством аппаратных средств с относительно низкой производительностью. Это достигается посредством модификации кодирования в режиме intra_DC и/или кодирования в режиме intra_planar таким образом, чтобы предоставлять значение предсказания на основе элемента кодирования, а не на основе пикселя, что объясняется ниже. Это может привести в результате к некоторому компромиссу с небольшим снижением точности, которое может быть неразличимым для пользователей, для значительного уменьшения потребляемой мощности.
Следует понимать, что обозначения кодирования в режиме intra с чертой снизу и/или дефисом или без них (intra_DC против, например, intra-DC или intra DC) относятся все к одному и тому же процессу, и в настоящем раскрытии для них не предполагается никакого различия в отношении этого процесса.
Теперь дадим описание более подробно и со ссылкой на Фиг. 1, на которой система (100) для видеоконтента использует для представления трехмерного видеоконтента трехмерное HEVC-кодирование видеоданных посредством обработки Видеоданных с множественными видами плюс глубины (MVD-обработки). В такого рода системе, кодер или сторона (102) отправителя могут принимать входные данные (104), включающие в себя необработанные данные изображения, поступающие от устройств ввода видеоданных, таких как видеокамеры, в качестве одного неограничивающего примера. Необработанные данные изображения могут включать в себя текстурные виды (106), такие как те, что предоставляются в формате RGB (системы цветопередачи “красный-зеленый-синий”) или других известных форматах, которые предоставляют информацию о яркости и цветности на попиксельной основе, и обычно на дискретной основе, такой как 4:2:0 для HEVC-кодирования, хотя также могут использоваться и другие соотношения взятия выборок. Текстурные виды (106) могут включать в себя множественные изображения (или кадры) снятые из множественных положений камеры в некоторый отдельно взятый момент времени. Входные данные (104) могут также включать в себя карты (108) глубины, где каждая карта (108) глубины корреспондирует текстурному виду и включает в себя данные на дискретной попиксельной основе, которые указывают расстояние от объектива камеры до объекта на изображении и измеренное по шкале, такой как от 1 до 255. В одной разновидности, пиксельные значения на карте глубины представляют собой значения яркости или значения по серой шкале, которые являются тем более темными по мере того как изображение простирается дальше от объектива камеры. Во входных данных также могут предоставляться параметры (110) камеры для того, чтобы сообщить положение камеры или угол (например, градуировку и смещение), равно как и другие данные для множественных видов для одного и того же момента времени.
Входные данные может быть предоставлены системе (200) или (1300) кодирования видеоданных, которая включает в себя кодер или другое кодирующее устройство (114) для того, чтобы сжать и упаковать текстурные виды, карты глубины, параметры камеры и другие данные в битовый поток (116) для передачи декодеру (118) в устройстве (120) на стороне приемника. Декодер (118) осуществляет демультиплексирование и разуплотнение данных, и предоставляет текстурные виды (124), карты (126) глубины и параметры (128) камеры в модуль (122) предсказания - синтеза для того, чтобы создать недостающие виды или карты глубины, заполнить имеющиеся виды и карты глубины недостающей пиксельной информацией и/или переписать пиксельную информацию посредством предсказанной информации вида и/или карт глубины. Эти операции могут быть выполнены с использованием параметров камеры, переданных в битовом потоке или полученных иным образом. Как только изображения сконфигурированы, эти изображения могут быть отображены на трехмерном автостереоскопическом устройстве (130) отображения посредством отображающего экрана, так что, в одной приводимой в качестве примера разновидности, изображение изменяется в зависимости от угла до пользователя (134), смотрящего на отображающий экран, и перемещения этого пользователя. Следует понимать, что некоторые или все компоненты (132) для вывода данных и постобработки могут рассматриваться или могут не рассматриваться как часть декодера (118).
Согласно Фигурам 13A-13B, с системой (100) для видеоконтента может использоваться система (1300) кодирования видеоданных. Как было упомянуто выше, в качестве стандарта сжатия данных может быть использован стандарт HEVC, такой как тот, что описан в ITU-T Н.265 и ISO. / IEC 23008 - 2 MPEG - Н, Часть 2 (4/2013) (смотри, веб-сайт ITU - Т (сектора телекоммуникаций Международного союза телекоммуникаций) www.itu.int/rec/T-REC-H.265-201304-I), и предоставлены Объединенной совместной командой по кодированию видеоданных (командой JCT - VC), сформированной Экспертной группой по вопросам движущегося изображения (группой MPEG), связанной с Международной организацией по стандартизации / Международной электротехнической комиссией (ISO/IEC), и Экспертной группой по кодированию видеоданных (группой VCEG), связанной с сектором телекоммуникаций Международного союза телекоммуникаций (ITU - Т). Аналогично предшествующим стандартам кодирования видеоданных, HEVC-кодирование включает в себя основные функциональные модули, такие как внутрикадровое/межкадровое предсказание, преобразование, квантование, внутрицикловое фильтрование и энтропийное кодирование, так же как и другие процессы кодека, и кодер может включать в себя контур предсказания для того, чтобы восстанавливать изображения, аналогично тому, или так же как то, что выполняется декодером для того, чтобы использовать восстановленные изображения в качестве опорных изображений для предсказания других изображений и формирования разностей предсказания, которые подлежат передаче декодеру.
В частности, для одного варианта реализации система (1300) кодирования видеоданных может быть организована, главным образом, по видам. Каждый вид может иметь текстурный кадр и корреспондирующую ему карту глубины, и для каждого вида в некоторый отдельно взятый момент времени. Здесь описываются только два вида, но их может быть больше, таких как, согласно одному примеру, пять-десять видов, связанных с некоторым отдельно взятым моментом времени. Вид 0 может быть независимым видом, в то время как вид 1 и другие виды представляют зависимые виды. Таким образом, вид 1 может быть закодирован в двух измерениях, в то время как другие виды могут быть отдельно закодированы в трех измерениях. Видеоданные или данные изображения для вида разделены на текстурные видеоданные и видеоданные карты глубины. Видеоданные карты глубины для вида 0, например, предоставляются кодеру (1306) видеоданных глубины, в то время как текстурные данные предоставляются кодеру (1308) текстурных видеоданных. Аналогичным образом, видеоданные карты глубины для вида 1 могут быть предоставлены кодеру (1302) видеоданных глубины, в то время как текстурные видеоданные могут быть предоставлены кодеру (1304). Карты глубины, так же как и текстурные изображения, воссоздаются и сжимаются, предоставляются кодеру (1310) и помещаются в выходной битовый поток (1312). Выходной битовый поток (1312) принимается на стороне декодера энтропийным декодером (1314), и процесс, описанный сверху, выполняется в обратном направлении для того, чтобы разуплотнить данные карт глубины и текстурные данные для видов 1 и 2. Это дает в результате восстановленные трехмерные выходные видеоданные или кадр (или картинку или изображение) (1330) для вида 1, получаемый от декодера (1316) карты глубины и декодера (1318) текстурных видеоданных. Вид 0 может быть аналогичным образом декодирован в декодере (1320) видеоданных глубины и декодере (1322) текстурных видеоданных, что дает в результате выходной видеокадр (1340) для вида 0.
Каждый из кодеров и декодеров имеет одни и те же или аналогичные основные компоненты с функциональными различиями, объясненными более подробно в отношении системы (200) кодирования видеоданных. Здесь, кодер (1302) системы (1300) может иметь модуль (1324) преобразования/квантования, который предоставляет сжатые с потерями данные в битовый поток. Контур восстановления кадра или карты глубины для предсказания и восстановления кадров или карт глубины может иметь модуль (1326) процессов, обратных квантованию/преобразованию, внутрицикловой фильтр (1326), модуль (1337) межкадрового предсказания, модуль (1328) внутрикадрового предсказания, и средство (1329) управления режимом. В каждом из упомянутых кодеров и декодеров аналогичные компоненты пронумерованы аналогичным образом (например, модуль (1337) внутрикадрового предсказания для вида 1 может иметь, по меньшей мере, некоторые функции, аналогичные модулю (1537) внутрикадрового предсказания для вида 0, и так далее).
Обратимся теперь к Фиг. 2, на которой объяснена более детализированная система (200) кодирования видеоданных. Система (200) может иметь “двумерную” сторону для основного или независимого кадра (который может также представлять собой вид 0 для системы (1300)), которая отличается от “трехмерной” стороны, которая принимает зависимые виды, данные карт глубины и параметры камеры, объясненные более подробно ниже. Стандарт HEVC указывает, что изображение может быть разделено на неперекрывающиеся Наибольшие элементы кодирования (LCU-элементы), и каждый Наибольшие элементы кодирования может затем быть разделен на Элементы кодирования (CU-элементы), которые могут принимать форму прямоугольных блоков, имеющих переменные размеры. Настоящее раскрываемое изобретение направлено на системы, которые используют квадратные элементы кодирования. В пределах каждого Наибольшего элемента кодирования схема разбиения, основанная на дереве квадрантов, указывает структуру разделения на элементы кодирования. Стандарт HEVC также определяет элементы предсказания (PU-элементы) и элементы преобразования (TU-элементы), которые указывают то, как некоторый данный элемент кодирования должен быть разделен, соответственно, для целей предсказания и преобразования. Текстурный элемент кодирования обычно включает в себя один блок кодирования яркости (СВ-блок) и две блока кодирования цветности вместе со связанным с ними синтаксисом, и элемент предсказания может быть далее разделен на Блоки предсказания (РВ-блоки), имеющие размер в диапазоне: от 64×64 отсчета с уменьшением до 4×4 отсчета. Термин “блок”, в том значении, в котором он здесь используется, может относиться к любому разделению или подразделению видеоизображения. Например, блок может относиться к видеоданным, соответствующим Наибольшему элементу кодирования, Элементу предсказания, Блоку предсказания, Элементу преобразования или Элементу кодирования.
Трехмерное HEVC-кодирование с MVD-кодированием может быть сконфигурировано таким образом, чтобы позволять различные типы устройств отображения. Таким образом, в то время как трехмерный декодер может полностью использовать данные глубины в битовом потоке, декодер стерео и видеоданных и двумерный декодер могут по-прежнему использовать битовый поток из трехмерного кодера, извлекая из битового потока ненужные данные, такие как карты глубины. Для того, чтобы обеспечить это свойство, независимый или основной вид кодируется с использованием двумерного (или обычного) кодирования видеоданных. Для целей объяснения отметим, что в системе (200) кодирования видеоданных показаны некоторые из компонентов, используемых для двумерного или обычного кодирования, и другой набор компонентов для трехмерного кодирования. Следует, однако, понимать, что один и тот же компонент или модуль может быть использован для выполнения аналогичных задач для кодирования как двумерных, так и трехмерных видеоданных.
Как проиллюстрировано на чертеже, система (200) кодирования видеоданных может включать в себя кодер (202) и декодер (203). Для обработки независимых изображений (201) модуль (204) разделения на элементы кодирования сначала разделяет кадры или изображения (201) на блоки. Для этого примера, HEVC-кодирование сжимает изображение или текстурный вид, разбивая его на множественные неперекрывающиеся блоки, которые обозначены как Элементы кодирования (CU-элементы). Элемент кодирования текстурного вида может содержать квадратный блок 2N×2N пикселей яркости и два соответствующих блока пикселей цветности. Размер элемента кодирования может быть конфигурирован таким образом, чтобы составлять 8×8, 16×16, 32×32 или 64×64 в яркостной компоненте.
Кодер (202) может затем закодировать входные изображения (201), используя контур кодирования, который может включать в себя модуль (206) преобразования и квантования, модуль (208) процесса, обратного квантованию, и обратного преобразования, и, в зависимости от решения о режиме, принимаемого кодером (202) посредством модуля (217) решения о режиме, в наличии имеется либо первый тракт, включающий в себя модуль (210) внутрикадрового предсказания, либо второй тракт, включающий в себя фильтрующий модуль (212) для устранения блочности, фильтрующий модуль (214) адаптивного смещения отсчетов, и модуль (216) межкадрового предсказания, который может включать в себя оценку движения и компенсацию движения. После преобразования и квантования входных изображений (201) кодер (202) может осуществлять энтропийное кодирование сжатых изображений и разности предсказания, используя модуль (218) энтропийного кодирования. Наконец, кодер (202) может использовать мультиплексор (219) для добавления пакетов данных независимого кадра в битовый поток (220), который включает в себя закодированные видеоданные.
Декодер (203) может принимать закодированные видеоданные, и, в частности, текстурные данные, в форме битового потока (220). Сначала, текстурные данные и данные карт глубины могут быть отделены от двумерных данных двумерных карт посредством демультиплексора или de-mutiplex (221). Для двумерного декодирования, декодер может иметь извлекатель (223) данных глубины, который отфильтровывает данные глубины от потока (220) данных и предоставляет остающиеся данные модулю (222) энтропийного декодирования и модулю (224) процесса, обратного квантованию, и обратного преобразования. Полученные в результате этого данные изображений могут быть пропущены через контур предсказания при декодировании, использующий, в зависимости от режима кодирования, указанного в синтаксисе битового потока (220) и реализуемого посредством модуля (227) синтаксического управления, либо первый тракт, включающий в себя модуль (226) внутрикадрового предсказания, либо второй тракт, включающий в себя фильтрующий модуль (228) для устранения блочности, фильтрующий модуль (230) адаптивного смещения отсчетов и модуль (232) межкадрового предсказания. Декодер (203) может затем использовать модуль (234) сборки элементов кодирования для того, чтобы сгенерировать декодированные выходные изображения, которые могут быть представлены пользователю посредством, например, устройства отображения.
Тестовая модель 3 трехмерного HEVC-кодирования из JCT - 3V - С1005, Женева, Швейцария, январь 2013 г., включенная во всей своей полноте в состав этого описания, предусматривает протокол для кодирования битового потока трехмерных видеоданных и отображения трехмерных изображений в формате, аналогичном кодированию видеоданных с множественными видами плюс глубины (MVD-кодированию). Для выполнения кодирования трехмерных видеоданных, в порядке одной приводимой в качестве примера разновидности, каждый текстурный вид (в дальнейшем именуемый просто как вид) может иметь корреспондирующую ему карту глубины для отображения изображений. Виды и карты глубины могут быть организованы в элементы доступа, где каждый элемент доступа представляет все виды и корреспондирующие им карты глубины для некоторого отдельно взятого момента времени. Каждый вид в элементе доступа может предоставлять изображение для отличного от других положения камеры, и множественные элементы доступа могут содержать виды, снятые из одной и той же группы положений камеры, хотя в различные моменты времени. Эти виды могут быть закодированы в одном и том же порядке для множества или всех элементов доступа, хотя эти виды могут быть, или могут не быть, закодированы в порядке положений камеры, например, слева направо. Другими словами, закодированный вид 1 в элементе доступа может всегда представлять собой центральный вид, следующий вид, вид 2, - самый крайний вид в левом направлении, и следующий вид, вид 3, может представлять собой самый крайний вид в правом направлении, и так далее. Возможно много примеров.
Согласно одному подходу, первый вид, закодированный для каждого элемента доступа, может быть, или может не быть, независимым видом. Независимый вид кодируется с использованием, например, двумерной системы кодирования, как это описано выше. Независимые виды могут затем использоваться в качестве опорных видов для кодирования зависимых видов в пределах тех же самых или других элементов доступа и карты глубины для одного или более других видов. Согласно одному подходу, элементы доступа могут быть закодированы аналогично кодированию “слайсов” “I”, “P”, “B” в двумерном кодировании. Другими словами, один элемент доступа может именоваться как элемент доступа с мгновенным обновлением при декодировании (IDR-элемент доступа), в котором видеоизображения и карты глубины в этом коде доступа не используют никаких опорных видов или карт глубины вне этого IDR-элемента доступа. Такого рода элемент доступа может представлять собой элемент с произвольным доступом или элемент с полностью произвольным доступом (CRA-элемент). Хотя IDR-элемент доступа может быть ограничен внутрикадровым кодированием для всех его видов и карт глубины, в одной разновидности все-таки может выполняться межкадровое кодирование между видами и картами глубины в пределах этого IDR-элемента доступа.
В дополнение к независимым видам, для трехмерного кодирования с множественными видами, система (200) может принимать необработанные данные изображения, которые могут включить в себя зависимые виды (205), предоставляющие множественные виды для некоторого отдельно взятого момента времени, так же как и параметры (207) камеры, предоставляющие информацию о положении камеры для различия между множественными видами в элементе доступа. Параметры камеры также могут быть предоставлены в средство (254) управления решением о режиме, так же, как и в модули (252) и (256) внутрикадрового и межкадрового предсказаний, с той целью, чтобы эти параметры использовались для восстановления, на стороне декодера или кодера, текстурных изображений с использованием предсказания вектора движения между видами и предсказания синтеза вида на поблоковой основе.
Как и в случае двумерного кодирования, сторона кодирования глубины в системе (200) может включать в себя модуль (240) разделения на элементы кодирования, предназначенный для разделения зависимых видов и карт глубины на элементы кодирования. Это может быть скоординировано с разделением независимых видов с целью обеспечения того, чтобы независимый вид, зависимые виды и карты глубины для области одного и того же элемента кодирования на изображении имели один и тот же размер. Эта сторона может включать в себя модуль (242) преобразования и квантования, так же как и контур предсказания и фильтрования с модулем (246) процессов, обратных преобразованию - квантованию, фильтром (248) устранения блочности и фильтром (250) адаптивного смещения отсчетов, который соединен средствами связи с модулем (252) межкадрового предсказания, который в свою очередь поддерживает связь с модулем (254) решения о режиме. В качестве альтернативы, с модулем (254) решения о режиме также поддерживает связь модуль (256) внутрикадрового предсказания. Модуль (254) решения о режиме принимает от стороны двумерного кодирования в кодере (202) данные вида и карты глубины, параметры камеры, так же как и восстановленные независимые виды. Модуль (254) решения о режиме может предоставить опорные кадры, данные компенсации движения, данные о различии (движении между видами в элементе доступа), разностях предсказания, и так далее назад в модуль (242) преобразования - квантования для энтропийного кодирования (244) наряду с параметрами камеры, и затем обеспечивает помещение их мультиплексором (219) в битовый поток наряду с двумерными независимыми кадрами. В качестве альтернативы, предусматривается обход (257) для избежания преобразования и квантования перед энтропийным кодированием, который используется при некоторых обстоятельствах, например, для кодирования разностей глубины и/или данных о движении.
На стороне декодера, также, компоненты трехмерного кодирования могут быть компонентам двумерного кодирования с рядом исключений. Как было упомянуто выше, текстурные данные и данные карт глубины могут быть отделены от данных двумерных карт посредством демультиплексора или de-mutiplex (221), и затем предоставлены модулю (260) энтропийного декодирования. Квантованные данные затем передаются в модуль (262) процессов, обратных преобразованию/квантованию, и в свою очередь фильтру (266). Неквантованные данные, такие как параметры камеры, векторы различия или движения, и/или разности кодирования глубины могут быть предоставлены непосредственно модулям (268), (270) межкадрового предсказания или внутрикадрового предсказания и средству (272) синтаксического управления, который восстанавливает множественные виды и карты глубины. Отмечается, что фильтры, используемые для текстурного кодирования, не могут быть использованы для кодирования карты глубины. Виды и карты глубины наряду с независимыми видами от двумерной стороны декодера предоставляются на сборку (234) элементов кодирования для вывода и отображения изображений или их сохранения.
MVD-кодирование в трехмерном HEVC-кодировании предоставляет много различных способов для предсказания и восстановления множественных видов и режимов глубины. Межкадровое предсказание (или временное предсказание) для кодирования зависимых видов может быть выполнено, для одного неограничивающего примера, посредством предсказания с компенсацией движения (МСР-предсказания), которое использует тот же самый ранее закодированный вид (то же самое положение камеры) из различных элементов доступа, или предсказания с компенсацией различия (DCP-предсказания), которое использует уже закодированные виды из того же самого элемента доступа. При предсказании между видами для текстуры, предсказания движения и соответствующего предсказания разности могут использоваться сочетания опорных видов, внутрикадрового предсказания и векторов различия, полученных из карт глубины. Межкадровое предсказание также может включать в себя использование вида (текстуры) в качестве опорной информации для его карты глубины, называемое наследованием параметра движения или предсказанием дерева квадрантов глубины.
Внутрикадровое кодирование (пространственное предсказание) также используется для восстановления карт глубины. Внутрикадровое предсказание может быть использовано на любом виде или карте глубины, будь то в текстурной области, или в области глубины, и будь то в одиночестве или в сочетании с межкадровым предсказанием с использованием опорных видов или опорных карт глубины. Внутрикадровое предсказание может быть использовано на картах глубины с недостающими пиксельными данными или просто для того, чтобы обеспечить более эффективное кодирование, как оно используется здесь. Кодирование карты глубин также включает в себя оба вида кодирования с межкадровым предсказанием, использующих МСР-предсказание и/или DCP-предсказание за исключением того, что интерполяция не используется, а вместо нее может использоваться полная точность отсчетов.
Как было упомянуто выше, один тип внутрикадрового кодирования, который может быть использован для кодирования карт глубины, представляет собой упрощенное кодирование глубины (SDC-кодирование). Тестовая модель 3 трехмерного HEVC-кодирования из JCT - 3V - С1005 также определяет подход упрощенного кодирования глубины (SDC-кодирования) для кодирования карты глубины трехмерных видеоданных. Подход SDC-кодирования представляет собой развитие режима внутрикадрового кодирования. Для SDC-кодируемого блока (блока, кодируемого посредством SDC-кодирования) режим предсказания по-прежнему представляет собой INTRA (Внутрикадровое предсказание).
Обратимся к Фиг. 3, согласно которой увеличенная эффективность кодирования может быть обеспечена посредством выполнения процесса (300). Процесс (300) для описанной здесь системы кодирования видеоданных устроен в соответствии, с по меньшей мере, некоторыми вариантами осуществления настоящего раскрываемого изобретения. В проиллюстрированном варианте осуществления изобретения, процесс (300) может включать в себя одну или более операций, функции или действий, которые проиллюстрированы одной или более операций (302) и/или (304). В порядке неограничивающего примера, процесс (300) может быть описан здесь со ссылкой на приводимую в качестве примера систему кодирования видеоданных, показанную на Фигурах: 1-2 или 13А-13B.
Процесс (300) может включить в себя “УПРОЩЕННОЕ КОДИРОВАНИЕ ГЛУБИНЫ ПОСРЕДСТВОМ ВЫПОЛНЕНИЯ МОДИФИЦИРОВАННОГО ВНУТРИКАДРОВОГО DC-КОДИРОВАНИЯ ИЛИ МОДИФИЦИРОВАННОГО ВНУТРИКАДРОВОГО ПЛАНАРНОГО КОДИРОВАНИЯ, ПО МЕНЬШЕЙ МЕРЕ, ОДНОГО ЭЛЕМЕНТА КОДИРОВАНИЯ, СВЯЗАННОГО С НЕКОТОРЫМ МНОЖЕСТВОМ ПИКСЕЛЕЙ, И, ПО МЕНЬШЕЙ МЕРЕ, ОДНОЙ КАРТЫ ГЛУБИНЫ” (302). Другими словами, модифицированное внутрикадровое DC-кодирование или модифицированное внутрикадровое планарное кодирование выполняется над, по меньшей мере, одним элементом кодирования, связанным с некоторым множеством пикселей, и, по меньшей мере, одной карты глубины. Такое внутрикадровое кодирование может быть выполнено, как объясняется ниже, в отношении любого элемента кодирования на карте глубины, которая имеет, по меньшей мере, один элемент кодирования слева и выше этого текущего элемента кодирования, подлежащего кодированию.
Процесс (300) может также включать в себя “ФОРМИРОВАНИЕ ЗНАЧЕНИЯ ПРЕДСКАЗАНИЯ ДЛЯ ЭТОГО, ПО МЕНЬШЕЙ МЕРЕ, ОДНОГО ЭЛЕМЕНТА КОДИРОВАНИЯ, ОСНОВАННОЕ, ПО МЕНЬШЕЙ МЕРЕ, ЧАСТИЧНО, НА ПИКСЕЛЬНЫХ ЗНАЧЕНИЯХ СНАРУЖИ ЭТОГО ЭЛЕМЕНТА КОДИРОВАНИЯ НА КАРТЕ ГЛУБИНЫ, И БЕЗ ВЫЧИСЛЕНИЯ ЗНАЧЕНИЙ ПРЕДСКАЗАНИЯ ДЛЯ ИНДИВИДУАЛЬНЫХ ПИКСЕЛЕЙ В ПРЕДЕЛАХ ЭТОГО ЭЛЕМЕНТА КОДИРОВАНИЯ” (304). Другими словами, значение предсказания формируют для, по меньшей мере, одного элемента кодирования, основываясь на пиксельных значениях снаружи этого элемента кодирования и не вычисляя значения предсказания для индивидуальных пикселей в пределах этого элемента кодирования. Как дополнительно объясняется ниже, в настоящее время множественные значения предсказания предоставляются для множественных пикселей в элементе кодирования с одним значением предсказания, приходящимся на пиксель, и затем эти значения предсказания усредняются для того, чтобы получить значение предсказания для элемента кодирования. Предлагаемая в настоящей заявке система в состоянии устранить усреднение значений предсказания индивидуальных пикселей в пределах элемента кодирования. Для внутрикадрового DC-кодирования, для получения значения предсказания для элемента кодирования используются столбец и строка пикселей, примыкающих к этому элементу кодирования, но находящихся снаружи него. Для внутрикадрового планарного кодирования, для получения значения предсказания для элемента кодирования используются пиксели снаружи от углов этого элемента кодирования в одиночку или вместе с пикселями, используемыми в случае внутрикадрового DC-кодирования.
Обратимся к Фиг. 4, на которой предложен процесс (400) для внутрикадрового кодирования с использованием упрощенного кодирования глубины. Хотя процесс (400), описываемый ниже, дает перспективу на стороне декодера, следует понимать, что эти операции могут быть выполнены на стороне кодера и, в частности, включающей в себя контур предсказания в кодере.
Процесс (400) может включать в себя элементы, используемые для декодирования SDC-кодируемого элемента кодирования в Тестовой модели 3 трехмерного HEVC-кодирования, например, в НТМ 6.1 и модифицированной для использования с одним описываемых здесь из способов. Процесс (400) для описываемой здесь системы кодирования видеоданных, устроен в соответствии с, по меньшей мере, некоторыми вариантами осуществления настоящего раскрываемого изобретения. В проиллюстрированном варианте осуществления изобретения процесс (400) может включать в себя одну или более операций, функции, или действий, которые проиллюстрированы одной или более операций: 402-434, пронумерованных четными числами. В порядке неограничивающего примера, процесс (400) может быть описан здесь со ссылкой на приводимую в качестве примера систему кодирования видеоданных, показанную на Фигурах: 1-2 или 13A-13B.
Для упрощенного кодирования глубины, устанавливается или посылается (402) дополнительный SDC-флаг (флаг Упрощенного кодирования глубины) на уровне элемента кодирования, и он сигнализирует об использовании SDC-режима (режима Упрощенного кодирования глубины). Таким образом, начальная операция заключается в проверке (404) того, установлен ли или послан ли SDC-флаг для некоторого конкретного элемента кодирования. Если никакого SDC-флага не имеется, то упрощенное кодирование глубины для того элемента кодирования игнорируется, и процесс продолжается внутрикадровым/межкадровым кодированием (406) этого элемента кодирования, что может представлять собой один из множества различных способов, используемых для получения значения предсказания для пикселей в этом элементе кодирования. После этого выполняются процедуры (408), обратные преобразованию/квантованию, для того, чтобы получить значения предсказания для пикселей в этом элементе кодирования. После этого, для восстановления (410) пикселей в карте глубины элемента кодирования, значения предсказания суммируются с разностями для индивидуальных пикселей. Это может происходить для элемента кодирования, будь то в декодере или в пределах контура предсказания в кодере.
Если SDC-флаг присутствует, то процесс определяет (414) то, какой режим SDC-предсказания (предсказания при Упрощенном кодировании глубины) был указан, который для общего синтаксиса элемента кодирования может именоваться как SDC_pred_mode (Режим_предсказания_при_Упрощенном_кодировании_глубины). В таблице 1, приведенной ниже, показан один возможный вариант соответствия между номером режима, двоичным кодом и режимом внутрикадрового предсказания.
Следует понимать, что Таблица 1 просто предлагает один возможный пример, и для того, чтобы сигнализировать о выбранном или выполняемом режиме внутрикадрового кодирования можно использовать много других порядков, указателей режима и кодов.
Для этого приводимого в качестве примера способа, если выбран режим 0, то выполняется (414) кодирование с предсказанием intra_DC (внутрикадровое_кодирование_глубины). Если выбран режим 1, то выполняется (416) кодирование с предсказанием intra_DMM (внутрикадровый_режим_моделирования_глубины), а если выбран режим 2, то выполняется (418) кодирование с предсказанием intra_planar (внутрикадровое_планарное_кодирование). Если выбран режим 3, то может быть выполнено модифицированное кодирование intra DC, а если выбран режим 4, то может быть выполнено модифицированное кодирование intra planar. Для проиллюстрированного примера в таком случае общий синтаксис может быть описан следующим образом. Текущий элемент кодирования может быть закодирован посредством подхода SDC-кодирования, при котором SDC-флаг текущего элемента кодирования установлен как “истина”, и возможные значения sdc_pred_mode (режим_предсказания_при_упрощенном кодировании_глубины) могут равняться INTRA_DC (Внутрикадровое_DC_кодирование), INTRA_PLANAR, (Внутрикадровое_планарное) INTRA_DMM (Внутрикадровый_Режим_моделирования_глубины), INTRA_DC_MOD (Внутрикадровое_ВС_кодирование_модифицированное), или INTRA_PLANAR_MOD (Внутрикадровое_планарное_модифицированное) (где MOD представляет собой сокращение для слова “modified” (“модифицированный)). Вместо “_MOD” может также быть использовано “_NEW” (“_НОВЫЙ”). Таким образом, длина списка кандидатов sdc_pred_mode могла бы составлять один, два, три, четыре или пять вариантов выбора в любом их сочетании, если в их число включены либо INTRA_DC_MOD, либо INTRA_PLANAR_MOD, или оба этих режима. Таким образом, следует понимать, что в других примерах может быть предусмотрено только модифицированное внутрикадровое DC-кодирование или только внутрикадровое планарное кодирование, вместо обоих вариантов выбора. Система может выполнять то, что рассматривается как наилучший вариант выбора, или она может выполнять множество вариантов выбора и выбрать вариант выбора с наилучшим результатом.
После этого, для относящегося к SDC-кодированию внутрикадрового DC-кодирования или внутрикадрового планарного кодирования (414), (418), (420), (422) вычисляется единственное значение предсказания. Для внутрикадрового кодирования (416) в DMM-режиме получают два значения. Кроме того, разность для SDC-кодируемого элемента кодирования (элемента кодирования, кодируемого посредством SDC-кодирования) не кодируется как квантованные коэффициенты преобразования. Вместо этого передаются посредством сигналов одно или два постоянных значений разности. Если sdc_pred_mode указывает, что должно быть использовано, или было использовано кодирование intra DC или intra_planar, то для всего элемента кодирования передается одно значение разности. В ином случае, если sdc_pred_mode представляет собой intra_DMM, то для всего элемента кодирования передаются два значения разности. Таким образом, как для кодирования intra_DC, так и для кодирования intra_planar, вычисляется один сегмент, и для каждого результирующего сегмента в битовом потоке может быть передано посредством сигнала и декодировано (428), (430), (432), (434) для этого элемента кодирования единственное постоянное значение разности. В ином случае, если sdc_pred_mode представляет собой предсказание (416) Intra_DMM, то элемент кодирования разделен на “веджлеты”, и в одной разновидности - на два “веджлета”, так что каждый "веджлет" имеет сегмент и результирующую разность. Таким образом, в этом случае, информация о “веджлете”, такая как то, как разбивать элемент кодирования, может быть закодирована, передана и декодирована (424) таким образом, что для этого отдельно взятого (всего) элемента кодирования могут быть вычислены и декодировали (426) два значения разности. После этого осуществляют восстановление (410) пикселей в элементе кодирования, суммируя значение предсказания с корреспондирующей ему разностью. Для относящихся к SDC-кодированию внутрикадрового планарного кодирования и внутрикадрового DC-кодирования все пиксели будут иметь одно и то же восстановленное значение, поскольку для элемента кодирования имеется только одно значение предсказания и одна разность.
Обратимся к Фиг. 5, на которой показана приводимая в качестве примера карта (500) глубины для того, чтобы объяснить немодифицированное внутрикадровое DC-кодирование SDC-кодируемого элемента кодирования в НТМ6.1. Как показано на Фигуре, SDC-кодирование (Упрощенное кодирование глубины) может быть использовано на некотором текущем (обрабатываемом в текущий момент времени) элементе (502) кодирования, который имеет размер блока или разделения, задаваемый как N×N пикселей, и здесь 8×8. Левый элемент (504) кодирования примыкает к левой стороне текущего элемента (502) кодирования, а верхний элемент (506) кодирования примыкает к верхней стороне текущего элемента (502) кодирования. Левый элемент (504) кодирования может иметь левый столбец (510) соседних пикселей, и, в одном примере, левый столбец (510) примыкает к левой стороне текущего элемента (502) кодирования. Аналогичным образом, верхний элемент (506) кодирования может иметь находящуюся сверху строку (512) соседних пикселей, и согласно одному примеру, примыкающих к верхней стороне элемента (502) кодирования.
DC
DC
DC
DC
В случае, при котором sdc_pred_mode=intra_DC, например, на стороне декодера, постоянное значение предсказания (Pred) вычисляется посредством усреднения значений предсказания всех левых и находящихся сверху пограничных пикселей (514) и (516) в текущем SDC - кодируемом элементе (502) кодирования. Из битового потока декодируется постоянное значение разности (Residual) всего SDC-кодируемого элемента кодирования. Таким образом, посредством суммирования Pred с Residual генерируется постоянное восстановленное значение. Следовательно, все пиксели во всем SDC-кодируемом элементе кодирования используют это сгенерированное постоянное восстановленное значение в качестве истинных восстановленных окончательных значений для каждого из пикселей в текущем SDC-кодируемом элементе кодирования. Таким образом, этот процесс осуществляет замену любого первоначального значения глубины в пикселях (508) в пользу этих предсказанных значений.
Если описать это более подробно, то среднее значение (DCVal) предсказания вычисляют для каждого пикселя в текущем элементе кодирования, округляя среднее значение соседних пикселей из левого столбца (510) и соседних пикселей из находящейся сверху строки (512),
где  обозначает функцию округление, N обозначает ширину и высоту текущего элемента кодирования, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки (512), имеющих координаты (x, -1), где x=0…N-1, и p(-1, y) обозначает значения соседних пикселей из левого столбца (510), имеющих координаты (-1, y), где y=0…N-1.
Затем для немодифицированного внутрикадрового DC-кодирования, к первому столбцу (514) пикселей и первой строке (516) пикселей в пределах текущего элемента (502) кодирования применяется сглаживание границ. Предположим, что “а” обозначает сглаженное значение пикселя в первом столбце (514) и первой строке (516) текущего элемента кодирования, “a1” означает значение соседнего пикселя находящегося сверху “а” и снаружи текущего элемента (502) кодирования, “а2” обозначает значение соседнего пикселя слева от “а” снаружи текущего элемента (502) кодирования, “b” означает сглаженное значение пикселя в первой строке (516) текущего элемента (502) кодирования, “b1” означает значение соседнего пикселя находящегося сверху “b” снаружи текущего (502) элемента кодирования, “c” означает сглаженное значение пикселя в первом столбце (514) текущего элемента кодирования, a “c1” означает значение соседнего пикселя слева от “c” снаружи текущего элемента (502) кодирования. Сглаженное значение “a”, “b” и “c” вычисляется по формулам:
где выражение “>>2” относится к записанному на языке C сдвигу на два разряда вправо. Это вычисление выполняется для каждого из пикселей в первой строке (514) и первом столбце (516) в пределах текущего элемента (502) кодирования и дает начальное значение предсказания для индивидуальных пикселей в первом столбце (514) и в первой строке (516) в пределах текущего элемента (502) кодирования.
DC
DC
2
После этого для текущего элемента (502) кодирования вычисляется постоянное значение (Pred(INTRA_DC)) предсказания. Pred(INTRA_DC) равно сумме значений предсказания левых и верхних пограничных пикселей в первой строке (516) и первом столбце (514) в текущем элементе (502) кодирования плюс DCVal*(2N-1), и затем разделенной на общее количество пикселей в текущем элементе кодирования.
где N обозначает ширину и высоту текущего элемента (502) кодирования, DCVal вычисляется так, как показано выше, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, 0) обозначает сглаженные значения находящейся сверху строки (516) пикселей с координатами (x, 0), где x=0…N-1, и p(0, y) обозначает значения левого столбца (514) пикселей с координатами (0, y), где y=1…N-1. В таком случае для элемента кодирования размером 8×8 это включает в себя вычисление для значения предсказания, по меньшей мере, 15 пикселей на границе для каждого элемента кодирования, и в пределах элемента кодирования.
Обратимся к Фиг. 6, на которой приводится карта (600) глубины с элементом (602) кодирования для того, чтобы объяснить немодифицированное внутрикадровое планарной кодирование для SDC-кодируемого элемента кодирования в НТМ6.1. Элемент (602) кодирования имеет N×N пикселей, и здесь 8×8. Элемент (602) кодирования также может быть образован из пикселей (608), обозначенных как p(x, y). Левый элемент (604) кодирования примыкает к левой стороне текущего элемента (602) кодирования, а верхний элемент (606) кодирования примыкает к верхней стороне текущего элемента (602) кодирования. Левый элемент (604) кодирования может иметь левый столбец (610) соседних пикселей, и, в одном примере, левый столбец (610) примыкает к левой стороне текущего элемента (602) кодирования. Аналогичным образом, верхний элемент (606) кодирования может иметь находящуюся сверху строку (612) соседних пикселей, и согласно одному примеру, примыкающих к верхней стороне элемента (602) кодирования. Кроме того, находящийся сверху - правый пиксель (614) лежит вдоль находящейся сверху строки (612), но расположен снаружи как от текущего, так и от верхнего элементов (602) и (606) кодирования. Аналогичным образом, левый - нижний пиксель (616) лежит вдоль левого столбца (610), но ниже этого левого столбца и снаружи левого элемента кодирования (604) и текущего элемента кодирования (602).
DC
В случае, когда sdc_pred_mode равняется intra_planar, вычисление постоянного Pred(INTRA_PLANAR) включает в себя нижеследующее. Сначала, вычисляется значение предсказания для каждого пикселя p(x, y) в текущем элементе кодирования по формулам:
где N обозначает ширину и высоту текущего элемента кодирования, x и y обозначают, соответственно, горизонтальную и вертикальную координаты, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки (612), имеющих координаты (x, -1), где x=0…N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца (610), имеющих координаты (-1, y), где y=0…N-1, p(N, -1) обозначает значение находящегося сверху - правого соседнего пикселя (614) на находящейся сверху строке снаружи текущего элемента (602) кодирования, p(-1, N) обозначает значение левого - нижнего соседнего пикселя (616) на левом столбце снаружи текущего элемента (602) кодирования. Как показано на Фиг. 6, это приводит в результате к интерполяции между пиксельным значением в находящемся сверху - правом пикселе (614) и значением в левом столбце (614). Аналогичным образом, в этом вычислении используется интерполяция между пиксельным значением нижнего - левого пикселя (616) и значением из находящейся сверху строки (612) пикселей. Затем эти две интерполяции, помимо прочего, усредняются, как описано в уравнении (6), для определения индивидуального значения предсказания для индивидуального пикселя p(x, y). Отметим, что выражение “>>1” на Фиг. 6 относиться к записанному на языке C сдвигу на один разряд вправо, что может быть использовано для кодирования значения внутрикадрового планарного предсказания. Кроме того, выражение “BL/TR” на Фиг. 6 обозначает нижний - левый / верхний - правый.
DC
DC
Затем, вычисляется постоянное значение (Pred(INTRA_PLANAR)) предсказания, как значение предсказания для всего SDC-кодируемого элемента кодирования. Pred(INTRA_PLANAR) равно сумме значений предсказания всех пикселей текущего элемента (602) кодирования, разделенной на общее количество пикселей текущего элемента кодирования, согласно формуле:
DC
где переменные определены так, как в уравнении (6). В таком случае, для элемента кодирования размером 8×8 пикселей в этом уравнении, для получения единственного значения предсказания (Pred(INTRA_PLANAR) для элемента кодирования, используется 64 значения предсказания.
Описываемые здесь варианты осуществления изобретения модифицируют внутрикадровое DC-кодирование и внутрикадровое планарное кодирование таким образом, чтобы уменьшить количество вычислений и сложность вычислений, которые должны быть выполнены для получения постоянного значения предсказания для текущего элемента кодирования. Существует ряд способов, как это сделать, и они описываются ниже.
Согласно Фиг.7, в случае, когда в качестве режима предсказания при упрощенном кодировании глубины (SDC_pred_mode) выбрано модифицированное внутрикадровое DC-кодирование (INTRA_DC_MOD), для получения постоянного значения предсказания для текущего элемента кодирования можно применить к находящемуся снаружи левому столбцу соседних пикселей или находящейся снаружи сверху строке соседних пикселей или к ним обоим способ подвыборки. Чтобы описать это более подробно, для объяснения модифицированного внутрикадрового DC-кодирования SDC-кодируемого элемента кодирования показана приводимая в качестве примера карта (700) глубины. Текущий элемент (702) кодирования, подлежащий кодированию, задается как N×N пикселей, и здесь 8×8. Левый элемент (704) кодирования располагается, примыкая к текущему элементу (702) кодирования и слева от него, а верхний элемент (706) кодирования располагается, примыкая к текущему элементу (702) кодирования и сверху от него. Левый элемент (704) кодирования может иметь левый столбец (710) соседних пикселей, пронумерованных с 0 по 7, и, в одном примере, левый столбец (710) примыкает к левой стороне текущего элемента (702) кодирования. Аналогичным образом, верхний элемент (706) кодирования может иметь находящуюся сверху строку (712) соседних пикселей, пронумерованных с 0 по 7, и, согласно одному примеру, примыкающих к верхней стороне элемента (702) кодирования. Однако следует понимать, что, если необходимо, то эти левый столбец и находящаяся сверху строка могут отличаться от примыкающих к текущему элементу кодирования, хотя по-прежнему в левом элементе кодирования и/или верхнем элементе кодирования. Предполагается и много других примеров.
DC
DC
Согласно одному примеру, если текущий элемент (702) кодирования кодируется посредством подхода SDC-кодирования (Упрощенного кодирования глубины), при котором SDC-флаг представляет собой “истину”, и режим предсказания при SDC-кодировании (sdc_pred_mode) равен INTRA_DC_MOD (Внутрикадровое_DC_кодирование_модифицированное), то в качестве значения предсказания для всего элемента кодирования используется постоянное значение (Pred(INTRA_DC_MOD)) предсказания. В одной приводимой в качестве примера разновидности, Pred(INTRA_DC_MOD) вычисляется посредством округления среднего значения соседних пикселей из левого столбца и соседних пикселей из находящейся сверху строки. Для того, чтобы получить постоянное значение предсказания для текущего элемента (702) кодирования, к соседним пикселям из левого столбца (710) и/или соседним пикселям из находящейся сверху строки (712) можно применить способ подвыборки. В этом случае, используются, по меньшей мере, одно и меньше чем все пиксельные значения из левого столбца, или используются, по меньшей мере, одно и меньше, чем все пиксельные значения из находящейся сверху строки, или и то и другое. Этот процесс может быть выполнен без сглаживающего границы вычисления для получения значения предсказания и без использования индивидуальных значений предсказания из первой строки и первого столбца в пределах текущего элемента кодирования.
DC
Для достижения этого, значение (Pred(INTRA_DC_MOD) предсказания для текущего элемента (702) кодирования может быть вычислено по формуле:
DC
где  обозначает функцию округления, N обозначает ширину и высоту текущего элемента кодирования, N' обозначает подвергшиеся подвыборке ширину и высоту текущего элемента кодирования, , где α представляет собой коэффициент подвыборки, и где α=2, 3, …N, где x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки (712), имеющих координаты (x, -1), где x=0, α, 2α…, и где x<N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца (710), имеющих координаты (-1, y), где y=0, α, 2α…, и где y<N-1. Подвыборка в таком случае использует каждый α-й пиксель в левом столбце и находящейся сверху строке, где α>1. Таким образом, например, если α=3, то для подвыборки используются пиксели: 0, 3 и 6 из левого столбца (710) и находящейся сверху строки (712). Такого рода конфигурация может при определении Pred(INTRA_DC_MOD) уменьшить количество вычислений опорных пикселей на значительное количество.
Обратимся к Фиг.8, на которой показана карта (800) глубины с элементом (802) кодирования для того, чтобы объяснить модифицированное внутрикадровое планарной кодирование. Текущий элемент (802) кодирования, подлежащий кодированию, задается как N×N пикселей, и здесь 8×8. Левый (804) элемент кодирования располагается, примыкая к текущему элементу (802) кодирования и слева от него, а верхний элемент (806) кодирования располагается, примыкая к текущему элементу (802) кодирования и сверху от него. Левый элемент (804) кодирования может иметь левый столбец (810) соседних пикселей, и, в одном примере, левый столбец (810) примыкает к левой стороне текущего элемента (802) кодирования. Аналогичным образом, верхний элемент (806) кодирования может иметь находящуюся сверху строку (812) соседних пикселей, и, согласно одному примеру, примыкающих к верхней стороне элемента (802) кодирования. Однако, следует понимать, что, если необходимо, то левый столбец и находящаяся сверху строка могут быть отличными от примыкающих к текущему элементу кодирования, хотя по-прежнему в левом элементе кодирования и/или верхнем элементе кодирования. Существует много других примеров, таких как использование находящейся снаружи строки или столбца опорных пикселей, которые, например, могут находиться в той же самой строке или столбце элементов кодирования, как и текущий элемент кодирования, но снаружи левого примыкающего и/или верхнего примыкающего элемента кодирования.
Элемент (802) кодирования также располагается около соседнего, находящегося снаружи, верхнего - правого пикселя (814) располагающегося примыкая к правому верхнему углу (820) элемента (802) кодирования и по диагонали снаружи от этого угла. Другой способ описать положение этого пикселя заключается в том, чтобы указать, что правый верхний пиксель (814) представляет собой находящийся сверху - правый соседний пиксель на находящейся сверху строке снаружи текущего элемента кодирования. Аналогичным образом, соседний, находящийся снаружи, нижний - левый пиксель (816) располагается, примыкая к нижнему - левому углу (822) элемента (802) кодирования и по диагонали снаружи от этого угла. Также другой способ описать это положение заключается в том, чтобы указать, что нижний - левый пиксель (816) представляет собой левый - нижний соседний пиксель на левом столбце снаружи текущего элемента кодирования.
DC
В случае, при котором выбран подход SDC-кодирования (SDC-флаг представляет собой “истину”), и sdc_pred_mode представляет собой INTRA_PLANAR_MOD (Внутрикадровое_планарное_модифицированное), в качестве значения предсказания для всего элемента (802) кодирования может быт использовано постоянное значение (Pred(INTRA_PLANAR_MOD)) предсказания. Начинаясь с повторяемого здесь уравнения (6), это уравнение используют для того, чтобы определить индивидуальные значения предсказания для каждого пикселя p(x, y) при кодировании в режиме INTRA_PLANAR (Внутрикадровое_планарное) в соответствии с НТМ6.1. Уравнение (6) можно сократить, используя подстановку для упрощения этого уравнения.
DC
Как проиллюстрировано на Фиг. 6, вычисление значения планарного предсказания для каждого пикселя p(x, y) состоит из вычисления среднего от 1D - горизонтального линейного предсказания и 1D - вертикального линейного предсказания (где 1D может относиться к одномерной оконной конфигурации для вычисления, такой как строка или столбец пикселей). В этом смысле, вычисление Pred(IntraPlanar) для всего SDC-кодируемого элемента кодирования может быть записано как:
где аналогичные переменные определены такими же, как те, что использовались для уравнений (6) и (7), приведенных выше, но во всем остальном: Н обозначает сумму значений предсказания одномерных горизонтальных линейных предсказаний, а V обозначает сумму значений предсказаний для одномерных вертикальных линейных предсказаний.
DC
DC
Для того чтобы упростить уравнение (10) и все-таки получить Pred(Intra_planar_mod), в одной разновидности, уравнение может быть составлено в терминах интерполяции от соседних и находящихся снаружи пикселей. Это показывает, что Pred(Intra_DC), и в свою очередь подвыборка, левого столбца (810) и находящейся сверху строки (812) может стать частью уравнения нижеследующим образом. Во-первых, сумма значений предсказания для одномерного горизонтального линейного предсказания вычисляется нижеследующим образом:
Аналогичным образом, вычисляется сумма значений предсказания для одномерного вертикального линейного предсказания:
DC
Наконец, эти уравнения могут быть объединены, сокращены и подвергнуться подстановке таким образом, чтобы включить в себя Pred(Intra_DC) нижеследующим образом:
DC
DC
Следовательно, имея в виду эти выражения, в случае, когда выбрано упрощенное кодирование глубины и внутрикадровое планарное кодирование, можно использовать, по меньшей мере, нижеследующие четыре возможных варианта осуществления изобретения для получения значения (Pred(INTRA_PLANAR_MOD)) предсказания для всего элемента кодирования, которое сочетает внутрикадровое планарной кодирование, использующее находящиеся снаружи угловые пиксели и подвыборку левого столбца и находящейся сверху строки. Таким образом, Pred(INTRA_PLANAR_MOD) может быть вычислено, исходя из значений соседних пикселей (812) из находящейся сверху строки, соседних пикселей (810) из левого столбца, находящегося сверху - правого соседнего пикселя (814) и левого - нижнего соседнего пикселя (816). Кроме того, к соседним пикселям из левого столбца и соседним пикселям из находящейся сверху строки может быть применен способ подвыборки, как это уже было здесь описано.
DC
Первый вариант осуществления для Pred(INTRA_PLANAR_MOD) является нижеследующим:
где N обозначает ширину и высоту текущего элемента кодирования, N' обозначает подвергшиеся подвыборке ширину и высоту текущего элемента кодирования, , где α представляет собой коэффициент подвыборки, α=2, 3, …N, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки (812), имеющих координаты (x, -1), где x=0, α, 2α…, и где x<N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца, имеющих координаты (-1, y), где y=0, α, 2α…, и где y<N-1, p(N, -1) обозначает значение находящегося сверху - правого соседнего пикселя (814) на находящейся сверху строке снаружи текущего элемента (802) кодирования и располагающегося, примыкая к верхнему - правому углу (820) элемента (802) кодирования и по диагонали снаружи от этого угла, и p(-1, N) обозначает значение левого - нижнего соседнего пикселя (816) на левом столбце снаружи текущего элемента кодирования и располагающегося примыкая к нижнему - левому углу (822) элемента (802) кодирования и по диагонали снаружи от этого угла.
DC
Второй вариант осуществления Pred(INTRA_PLANAR_MOD) является нижеследующим:
где
что представляет собой уравнение (8) для подвыборки, в котором нет округления. Во всем остальном, переменные представляют собой те, что описаны в отношении уравнения (21), приведенного выше. Следует понимать, что уравнение (22) аналогично уравнению (21) за исключением того, что здесь, в этом уравнении для внутрикадрового планарного вычисления могут быть использованы предварительно вычисленные значения внутрикадрового DC-кодирования, и, в частности, в случае с модифицированным внутрикадровым DC-кодированием, в котором используется подвыборка.
DC
Третий вариант осуществления Pred(INTRA_PLANAR_MOD) является нижеследующим.
DC
где переменные представляют собой те, что описаны выше. Четвертый вариант осуществления Pred(INTRA_PLANAR_MOD):
DC
где Pred(INTRA_DC) вычисляется из уравнения (8), которое упомянуто выше, и где, во всем остальном, переменные представляют собой те, что описаны выше.
DC
DC
По сравнению с вычислением Pred(INTRA_PLANAR) в НТМ6.1, эти варианты осуществления изобретения избегают исчерпывающих вычислений значений предсказания для каждого из пикселей в пределах текущего элемента кодирования, и избегают усредняющего вычисления для каждого из пикселей в элементе кодирования. Вместо этого, здесь в вариантах осуществления изобретения генерируют Pred(INTRA_PLANAR_MOD) для всех пикселей всего элемента кодирования, исходя из значений снаружи текущего элемента кодирования, и, в частности, из соседних пикселей из находящейся сверху строки, соседних пикселей из левого столбца, находящегося сверху - правого соседнего пикселя и левого - нижнего соседнего пикселя, применяя подвыборку соседних пикселей из левого столбца и соседних пикселей из находящейся сверху строки для того, чтобы получить постоянное значение предсказания текущего элемента кодирования при более низкой потребляемой мощности.
DC
В других разновидностях, Pred(INTRA_PLANAR_MOD) вычисляется также с использованием пиксельного значение из соседнего, находящегося снаружи, верхнего - левого пикселя (818), располагающегося примыкая к верхнему - левому углу (824) элемента кодирования и по диагонали снаружи от этого угла. Верхний - левый пиксель (818) находится снаружи текущего элемента (802) кодирования, левого элемента (804) кодирования и верхнего элемента (806) кодирования. В этой разновидности модифицированного внутрикадрового планарного кодирования также используются пиксельные значения в левом столбце (810) пикселей, примыкающих к текущему элементу (802) кодирования в левом элементе (804) кодирования, и в находящейся сверху строке (812) пикселей, примыкающих к текущему элементу (802) кодирования в верхнем элементе (806) кодирования. Таким образом, значения соседних пикселей из находящейся сверху строки, соседних пикселей из левого столбца, находящегося сверху - правого соседнего пикселя, левого - нижнего соседнего пикселя и находящегося сверху - левого соседнего пикселя используются в процессе, который объединяет подвыборку левого столбца (810) и находящейся сверху строки (812) с использованием трех находящихся снаружи угловых пикселей: нижнего - левого пикселя (816), верхнего - правого пикселя (814) и верхнего - левого пикселя (818).
DC
Для этого варианта осуществления изобретения, Pred(INTRA_PLANAR_MOD) может быть найдено нижеследующим образом:
где переменные представляют собой те, что описаны выше. Для ясности отметим, что p(x, -1) обозначает значения соседнего пикселя из находящейся сверху строки (812), имеющего координаты (x, -1), где x=0, α, 2α…, и где x<N-1, p(-1, y) обозначает значения соседнего пикселя из левого столбца (810), имеющего координаты (-1, y), где y=0, α, 2α…, и где y<N-1, p(N, -1) обозначает значение находящегося сверху - правого соседнего пикселя (814), p(-1, N) обозначает значение левого - нижнего соседнего пикселя (816), и p(-1, -1) обозначает значение левого - верхнего соседнего пикселя (818).
DC
При другом варианте осуществления изобретения, уравнение (26) сокращается посредством подстановки, так что Pred(INTRA_PLANAR_MOD) находится как:
где переменные представляют собой те, что описаны выше. Различие между уравнением (26) и уравнением (27) заключается в том, что, здесь, сначала могут быть вычислены значения предсказания для предсказания с внутрикадровым DC-кодированием, и затем они могут использоваться в уравнении (27). При других подходах, для этого альтернативного процесса может быть использовано любое сочетание трех угловых пикселей. Соответственно, вместо верхнего - левого угла может быть использован нижний - правый угол и так далее. Здесь предполагается любое сочетание трех углов, изменяющее уравнения (25)-(27), приведенные выше.
При еще одном другом подходе, выборка из левого столбца и находящейся сверху строки, соответственно, в левом и верхнем элементах кодирования, может быть устранена для того, чтобы даже еще больше упростить вычисления. В этом случае, значение предсказания для элемента кодирования становится более грубой оценкой, жертвующей некоторой точностью для выигрышей в скорости и уменьшении потребляемой мощности. Жертва в точности, согласно одной разновидности, все-таки незаметна для лица, смотрящего на устройство отображения. Для этого случая, можно использовать внутрикадровое планарное кодирование для того, чтобы вычислять значение предсказания нижеследующим образом:
DC
где переменные, которые аналогичны, уже описаны выше для уравнения (26). Главным образом, значение предсказания для элемента кодирования может быть основано на двух находящихся снаружи, угловых значениях, без проведения выборки в столбце или строке из левого или расположенного сверху элементов кодирования, и, в одной разновидности, без использования каких бы то ни было пиксельных значений из левого элемента (804) кодирования и верхнего элемента (806) кодирования. Таким образом, в одном примере, Pred(INTRA_PLANAR_MOD) для текущего элемента (802) кодирования находят, ограничивая это уравнение до двух значений пикселей, находящихся снаружи, и, в частности, до пиксельных значений из соседнего, находящегося снаружи, нижнего - левого пикселя (816), располагающегося примыкая к нижнему - левому углу (822) элемента кодирования и по диагонали снаружи от этого угла, и из соседнего, находящегося снаружи, находящегося сверху - правого пикселя (814), располагающегося примыкая к верхнему - правому углу (820) элемента кодирования и по диагонали снаружи от этого угла. Это по-прежнему может быть выполнено без вычисления значений предсказания для индивидуальных пикселей в пределах текущего элемента кодирования. Это приводит в результате к значительному уменьшению потребляемой мощности, как обсуждалось выше.
Обратимся к Фиг. 9, согласно которой система (200) или (1000) или (1300) кодирования видеоданных может быть использована для приводимого в качестве примера процесса (900) кодирования видеоданных, показанного в действии, и устроенного в соответствии с, по меньшей мере, некоторыми вариантами осуществления настоящего раскрываемого изобретения. В проиллюстрированном варианте осуществления изобретения, процесс (900) может включать в себя одну или более операций, функции или действий, которые проиллюстрированы одним или более действиями: 902-930, пронумерованными четными числами, и используемых на альтернативной основе или в любом их сочетании. В порядке неограничивающего примера отметим, что процесс (900) будет описан здесь со ссылкой на приводимые в качестве примера систему (200) кодирования видеоданных, показанную на Фиг. 2, или систему (1000), показанную на Фиг. 10 (или систему (1300), хотя и не указанную на Фиг. 9).
На проиллюстрированном варианте осуществления изобретения, система (200) кодирования видеоданных может включать в себя логические модули (940), им подобные и/или их сочетания. Например, логические модули (940) могут включать в себя кодер (950) и могут соответствовать, например, кодеру (202) или кодеру (1004). Кодер (950) может включать в себя модуль (960) внутрикадрового кодирования. Декодер (970) может соответствовать декодеру (203) или декодеру (1010), и декодер (970) может включать в себя модуль (980) внутрикадрового кодирования. Хотя система (200) или (1000) кодирования видеоданных, которая показана на Фиг. 9, может включать в себя один конкретный набор операций или действий, связанных с конкретными модулями, эти операции или действия могут быть связанны с модулями, отличными от проиллюстрированного здесь конкретного модуль. Хотя процесс (900), как он проиллюстрирован, направлен на кодирование и декодирование, описываемые концепции и/или операции могут быть применены к кодированию и/или декодированию по отдельности, и, более широко, к кодированию видеоданных.
Процесс (900) может включать в себя, “ПОЛУЧЕНИЕ ЭЛЕМЕНТОВ КОДИРОВАНИЯ КАРТЫ ГЛУБИНЫ” (902), где получают информацию о карте глубины, включающую в себя место расположения и размеры элементов кодирования, так же, как и то, какие элементы кодирования уже имеют значения глубины, а какие все еще не имеют значений глубины.
После этого процесс (900) может “ОПРЕДЕЛИТЬ ТО, ВЫБРАНО ЛИ УПРОЩЕННОЕ КОДИРОВАНИЕ ГЛУБИНЫ” (904) для текущего элемента кодирования. Это может быть выполнено, как было упомянуто выше, в зависимости от того, является ли SDC-флаг (флаг Упрощенного кодирования глубины) “истиной”, или от некоторого другого аналогичного указателя. Другими словами, если никакого SDC-флага не установлено, то SDC-кодирование (Упрощенного кодирования глубины) может вообще не проводиться.
Процесс (900) продолжается “ОПРЕДЕЛЕНИЕМ ТОГО, КАКОЙ РЕЖИМ SDC-КОДИРОВАНИЯ ИСПОЛЬЗОВАТЬ” (906). SDC-кодирование может в качестве вариантов выбора предусматривать кодирование “intra_DC” (“внутрикадровое_DC_кодирование” (внутрикадровое кодирование глубины)), кодирование “intra_planar” (“внутрикадровоепланарное”), и кодирование “intra_DMM” (“внутрикадровый_Режим моделирования глубины), при этом в качестве вариантов выбора могут быть также предусмотрены модифицированное кодирование “intra_DC” или модифицированное кодирование “intra_planar” или оба из них. Согласно одному подходу, система предоставляет выбор кодировать элемент кодирования, используя: (1) внутрикадровое DC-кодирование, использующее все пиксели левого столбца пикселей в левом элементе кодирования, и использующее все пиксели находящейся сверху строки пикселей в верхнем элементе кодирования, (2) внутрикадровое DMM-кодирование (кодирования в Режиме моделирования глубины), (3) внутрикадровое планарное кодирование, определяющее значение предсказания для индивидуальных пикселей в пределах элемента кодирования, (4) модифицированное внутрикадровое DC-кодирование с осуществлением подвыборки и (5) модифицированное внутрикадровое планарное кодирование. Некоторые разновидности могут предусматривать вариант (4) выбора или вариант (5) выбора, не предусматривая при этом оба: (4) и (5).
Процесс (900) может продолжиться “ВЫПОЛНЕНИЕМ МОДИФИЦИРОВАННОГО КОДИРОВАНИЯ INTRA_DC” (908) для того, чтобы определить значение предсказания для элемента кодирования, основываясь, по меньшей мере, частично, на подвыборке в находящемся снаружи, левом столбце пикселей и находящейся снаружи, находящейся сверху строке пикселей, как это было описано выше.
В качестве необязательного варианта, процесс (900) осуществляет “ВЫПОЛНЕНИЕ МОДИФИЦИРОВАННОГО ВНУТРИКАДРОВОГО ПЛАНАРНОГО КОДИРОВАНИЯ” (910) для вычисления значения предсказания для элемента кодирования. Это можно выполнить, используя подвыборку и значения двух находящихся снаружи угловых пикселей, используя подвыборку сочетаемую с использованием трех находящихся снаружи угловых значений, или используя значения двух угловых пикселей, не производя выборку в находящемся снаружи соседнем левом столбце и находящейся сверху строке пикселей, как это было описано выше.
После этого процесс (900) может “КОДИРОВАТЬ И ПОМЕЩАТЬ РАЗНОСТИ ПРЕДСКАЗАНИЯ В БИТОВЫВ ПОТОК” (912). Это включает в себя определение разностей для каждого из элементов кодирования, и использование разностей и значений предсказания для того, чтобы восстанавливать пиксели в контуре предсказания, чтобы далее кодировать карты глубины или виды, как это описано в отношении системы (200) кодирования видеоданных. Разности также кодируются для помещения их в битовый поток, и могут быть закодированы наряду с другими текстурными данными и данными карт, так же как и с данными о камере. После этого процесс (900) включает в себя “ПЕРЕДАЧУ БИТОВОГО ПОТОКА” (914), где закодированный битовый поток может быть передан, например, на декодер. В различных вариантах осуществления изобретения, кодером (950) и декодером (970) можно управлять, по существу, независимо. В одном примере, один из них может находиться в системе поставщика контента (информационно значимого содержимого), а другой в клиентской системе. В различных примерах, битовый поток может быть передан через сеть “Интернет”, через запоминающее устройство или тому подобное. Как будет понятно, в некоторых вариантах осуществления изобретения битовый поток может быть передан на множественные устройства либо последовательно, либо параллельно.
Процесс (900) может продолжиться с “ПОЛУЧЕНИЯ БИТОВОГО ПОТОКА” (916), куда входит битовый поток, связанный с видеоданными и включающий в себя информацию об элементе кодирования карты глубины, и этот битовый поток может быть принят в декодере (970). С этого момента, декодер (970) задействует свой собственный контур предсказанием или восстановления, аналогичный контуру предсказания, задействуемому кодером (950). Таким образом, операции с целью “ОПРЕДЕЛЕНИЯ ТОГО, ВЫБРАНО ЛИ УПРОЩЕННОЕ КОДИРОВАНИЕ ГЛУБИНЫ” (918), “ОПРЕДЕЛЕНИЯ ТОГО, КАКОЙ РЕЖИМ SDC-КОДИРОВАНИЯ ИСПОЛЬЗОВАТЬ” (920), “ВЫПОЛНЕНИЯ МОДИФИЦИРОВАННОГО КОДИРОВАНИЯ INTRA_DC” (922) и “ВЫПОЛНЕНИЕ МОДИФИЦИРОВАННОГО КОДИРОВАНИЯ INTRA PLANAR” (924) соответственно аналогичны операциям (904), (906), (908) и (910) в кодере (950). Как и в случае с кодером, эти операции предоставляют сегмент или разность предсказания для элемента кодирования и вычисляемые посредством модифицированного внутрикадрового DC-кодирования или модифицированного внутрикадрового планарного кодирования, относящихся к SDC-кодированию.
Процесс (900) может продолжиться “КОДИРОВАНИЕМ ВИДЕОДАННЫХ, ОСНОВАННЫМ НА ЗНАЧЕНИЯХ ПРЕДСКАЗАНИЯ КАРТЫ ГЛУБИНЫ И РАЗНОСТЕЙ” (926), где видеоданные могут кодироваться на основе, по меньшей мере, частично, значений карты глубины, восстановленных из значений предсказания и разностей. В случае, при котором используются относящиеся к SDC-кодированию внутрикадровое DC-кодирования или внутрикадровое планарное кодирование, пиксели в элементе кодирования все будут все иметь одно и то же значение.
После этого процесс (900) может включать в себя “ГЕНЕРИРОВАНИЕ ВЫХОДНЫХ ИЗОБРАЖЕНИЙ, ОСНОВАННОЕ НА ЭТИХ ЗАКОДИРОВАННЫХ ВИДЕОДАННЫХ” (928), где выходные изображения генерируются, основываясь на этих закодированных видеоданных, для окончательного отображения и/или хранения изображений.
Процесс (900) может продолжиться “ПЕРЕДАЧЕЙ ВЫХОДНОГО ИЗОБРАЖЕНИЯ ДЛЯ ПРЕДСТАВЛЕНИЯ” (930), где выходное изображение может быть передано для представления. Например, выходное изображение может быть представлено пользователю через устройство отображения. Хотя вариант осуществления приводимого в качестве примера процесса (300), (400) или (900) может включать в себя совершение всех показанных операций в проиллюстрированном порядке, настоящее раскрываемое изобретение в этом отношении не ограничено и, в различных примерах, вариант осуществления любого из приведенных здесь процессов может включать в себя совершение только некоторого подмножества показанных операций и/или в порядке, отличном от проиллюстрированного.
Другие упрощенные варианты осуществления кодирования глубины посредством модифицированного внутрикадрового DC-кодирования и/или модифицированного внутрикадрового планарного кодирования для кодирования трехмерных видеоданных представляют собой нижеследующее.
DC
Способ, в котором, если текущий элемент кодирования кодируется посредством подхода SDC-кодирования (SDC-флаг текущего элемента кодирования представляет собой “истину”) и sdc_pred_mode (Режим предсказания при Упрощенном DC-кодировании) представляет собой INTRA_DC (Внутрикадровое DC-кодирование), то значение (Pred(INTRA_DC)) предсказания вычисляется для всего элемента кодирования посредством усреднения значений соседних пикселей из левого столбца и соседних пикселей из находящейся сверху строки. И для того, чтобы получить постоянное значение предсказания для текущего элемента кодирования, к соседним пикселям из левого столбца и соседним пикселям из находящейся сверху строки может быть применен способ подвыборки.
DC
Способ, в котором, если текущий элемент кодирования кодируется посредством подхода SDC-кодирования (SDC-флаг текущего элемента кодирования представляет собой “истину”) и sdc_pred_mode представляет собой INTRA_PLANAR (Внутрикадровый пленарный), то значение (Pred(INTRA_PLANAR)) предсказания вычисляется для всего элемента кодирования исходя из соседних пикселей из левого столбца, соседних пикселей из находящейся сверху строки, находящегося сверху - правого соседнего пикселя и левого - нижнего соседнего пикселя. И для того, чтобы получить постоянное значение предсказания для текущего элемента кодирования, к соседним пикселям из левого столбца и соседним пикселям из находящейся сверху строки может быть применен способ подвыборки.
DC
Способ, в котором, если текущий элемент кодирования кодируется посредством подхода SDC-кодирования (SDC-флаг текущего элемента кодирования представляет собой “истину”) и sdc_pred_mode представляет собой INTRA_PLANAR_NEW (Внутрикадровый планарный новый), то значение (Pred(INTRA_PLANAR_NEW)) предсказания вычисляется для всего элемента кодирования исходя из соседних пикселей из левого столбца, соседних пикселей из находящейся сверху строки, находящегося сверху - правого соседнего пикселя и левого - нижнего соседнего пикселя и находящегося сверху - левого соседнего пикселя. И для того, чтобы получить постоянное значение предсказания для текущего элемента кодирования, к соседним пикселям из левого столбца и соседним пикселям из находящейся сверху строки может быть применен способ подвыборки.
В вариантах осуществления изобретения, описанные здесь функции могут выполняться в ответ на команды, предоставляемые одним или более компьютерными программными продуктами. Такие программные продукты могут включать в себя несущие сигналы носители информации, предоставляющие команды, которые при их исполнении, например, процессором, могут обеспечивать описанные здесь функциональные возможности. Эти компьютерные программные продукты могут быть предоставлены в любой форме одного или более машиночитаемых носителей информации. Таким образом, например, процессор, включающий в себя одно или более процессорное ядро (процессорных ядер), может выполнять одну или более описанных здесь функций в ответ на программный код и/или команды или наборы команд, передаваемые на процессор одним или более машиночитаемыми носителями информации. Вообще, машиночитаемый носитель информации может передавать программное обеспечение в форме программного кода и/или команд или наборов команд, которые могут заставлять любые из описываемых здесь устройств и/или систем, осуществлять, по меньшей мере, часть описанных здесь функций. Как было упомянуто ранее, в другой разновидности, с любым из упомянутых выше примеров или других примеров может использоваться некоторый некратковременно существующий предмет, такой как некратковременный считываемый компьютером носитель информации, за исключением того, что он не включает в себя кратковременный сигнал как таковой. Он включает в себя те элементы, отличные от сигнала как такового, которые могут хранить данные временно, “кратковременным” образом, такие как оперативное запоминающее устройство и так далее.
Термин “модуль” в том значении, в котором он используется в любом описываемом здесь варианте осуществления изобретения, относится к любому сочетанию логики программного обеспечения, логики программно-аппаратного обеспечения и/или логики аппаратного обеспечения, сконфигурированных таким образом, чтобы предоставлять описываемые здесь функциональные возможности. Программное обеспечение может быть воплощено как пакет программ, код и/или набор команд или команды, а термин “аппаратное обеспечение” в том значении, в котором он используется в любом описываемом здесь варианте осуществления изобретения, может включать в себя, например, по отдельности или в любом сочетании, жестко смонтированные электрические схемы, программируемые электрические схемы, электрические схемы конечных автоматов и/или программно-аппаратное обеспечение, которое хранит команды, выполняемые программируемыми электрическими схемами. Эти модули могут, все вместе или в индивидуальном порядке, быть воплощены как электрические схемы, которые образуют часть большей системы, например, интегральной схемы (IC), “внутрикристальной системы” (SoC) и так далее.
Обратимся к Фиг. 10, на которой приводимая в качестве примера система (1000) кодирования видеоданных может быть устроена в соответствии с, по меньшей мере, некоторыми вариантами осуществления настоящего раскрываемого изобретения. В проиллюстрированном варианте осуществления изобретения, система (1000) кодирования видеоданных может включать в себя устройство (устройства) (1002) формирования изображения, кодер (1004) видеоданных, антенну (1008), декодер (1010) видеоданных, один или более процессоров (или процессорных ядер) (1012), одно или более запоминающих устройств (1014) и, по меньшей мере, одно устройство (1016) отображения. В некоторых примерах, кодер (1004) видеоданных может реализовывать один или более логических модулей (1020), которые могут включать в себя модуль (1070) кодирования с внутрикадровым предсказанием или внутрикадрового кодирования, другие модули и тому подобное, или любое их сочетание. Модуль (1070) внутрикадрового кодирования, согласно одной разновидности, может включать в себя модуль (1072) внутрикадрового DC-кодирования (кодирования глубины), модуль (1074) модифицированного внутрикадрового DC-кодирования, модуль (1076) внутрикадрового планарного кодирования, модуль (1078) модифицированного внутрикадрового планарного кодирования и модуль (1079) внутрикадрового кодирования в DMM-режиме (режиме моделирования глубины), им подобные, или любое их сочетание, которые могут, соответственно, выполнять указанное кодирование. Аналогичным образом, декодер (1010) видеоданных может иметь логические модули (1040) с модулем (1060) внутрикадрового кодирования, ему подобными, и/или их сочетаниями, которые выполняют указанное кодирование. Согласно одной разновидности, модуль (1060) внутрикадрового кодирования может включать в себя модуль (1062) внутрикадрового DC-кодирования, модуль (1064) модифицированного внутрикадрового DC-кодирования, модуль (1066) внутрикадрового планарного кодирования, модуль (1068) модифицированного внутрикадрового планарного кодирования, и модуль (1069) внутрикадрового кодирования в DMM-режиме, им подобные, или любое их сочетание.
Как проиллюстрировано на фигуре, антенна (1008), декодер (1010) видеоданных, процессор (1012), запоминающее устройство (1014) и/или устройство (1016) могут быть способными поддерживать связь друг с другом и/или связь с частями логических модулей (1040). Аналогичным образом устройство (устройства) (1002) формирования изображения и кодер (1004) видеоданных могут быть способными поддерживать связь друг с другом и/или связь с частями логических модулей (1020), другими модулями, подобными им модулями или их сочетаниями. Соответственно, декодер (1010) видеоданных может включать в себя все или части логических модулей (1040), в то время как кодер (1004) видеоданных может включать в себя аналогичные и/или другие логические модули (1020). Хотя система (1000) кодирования видеоданных, которая показана на Фиг. 10, может включать в себя один конкретный набор процессов, этапов процессов, операций, функций и/или действий, связанных с конкретными модулями, эти действия могут быть связаны с модулями, отличными от конкретного проиллюстрированного здесь модуля.
В некоторых примерах, система (100) кодирования видеоданных может включать в себя антенну (1008), декодер (1010) видеоданных, им подобное и/или их сочетания. Антенна (1008) может быть сконфигурирована таким образом, чтобы принимать закодированный битовый поток видеоданных. Кодер (1004) видеоданных может быть сопряжен средствами связи с антенной (1008) для того, чтобы кодировать битовый поток и передавать битовый поток через антенну (1008) на декодер (1010) видеоданных для того, чтобы декодера декодировал закодированный битовый поток. Кодер (1004) видеоданных, декодер (1010) видеоданных или оба они могут быть сконфигурированы таким образом, чтобы осуществлять внутрикадровое кодирование, по меньшей мере, одного элемента кодирования, по меньшей мере, одной карты глубины, и, в зависимости от размера элемента кодирования, используя, по меньшей мере, один упрощенный режим кодирования глубины, как это здесь обсуждалось.
В других примерах система (1000) кодирования видеоданных может включать в себя, по меньшей мере, одно устройство (1016) отображения, один или более процессоров (1012), одно или более запоминающих устройств (1014), модуль (1060) внутрикадрового кодирования, им подобное, и/или их сочетания. Устройство (1016) отображения может быть сконфигурировано таким образом, чтобы представлять видеоданные, такие как выходные изображения. Процессоры (1012) могут быть сопряжены средствами связи с устройством (1016) отображения. Запоминающее устройство (1014) может быть сопряжено средствами связи с этим одним или более процессорами (1012). Декодер (1010) видеоданных (или, в других примерах, кодер (1004) видеоданных) может быть сопряжен средствами связи с этим одним или более процессорами (1012) и может быть сконфигурирован таким образом, чтобы осуществлять внутрикадровое кодирование, по меньшей мере, одного элемента кодирования, по меньшей мере, одной карты глубины, и, в зависимости от размера элемента кодирования, используя, по меньшей мере, один упрощенный режим кодирования глубины, и упрощать, основываясь, по меньшей мере, частично, на размере элемента кодирования, кодирование глубины видеоданных, так, чтобы представление данных изображения посредством устройства (1016) отображения могло бы основываться, по меньшей мере, частично, на закодированных видеоданных. Для кодера могут также быть предусмотрены процессоры и они могут быть сопряжены средствами связи с устройством отображения, запоминающими устройствами, логическими модулями и так далее.
В различных вариантах осуществления изобретения модуль (1070) или (1060) внутрикадрового кодирования или оба из них могут быть реализованы в аппаратном обеспечении, в то время как программное обеспечение может реализовывать другие логические модули. Например, в некоторых вариантах осуществления изобретения, модули (1070) и (1060) могут быть реализованы посредством логики специализированной интегральной схемы (ASIC), в то время как другие логические модули могут быть предоставлены посредством программных команд, исполняемых такой логикой, как процессоры (1012). Однако, настоящее раскрываемое изобретение в этом отношении не ограничено, и модули (1070) или (1060) внутрикадрового кодирования и/или другие логические модули могут быть реализованы посредством любого сочетания аппаратного обеспечения, программно-аппаратного обеспечения и/или программного обеспечения. В дополнение к этому, запоминающие устройства (1014) могут относиться к любому типу памяти, такому как энергозависимая память (например, Статическое оперативное запоминающее устройство (SRAM), Динамическое оперативное запоминающее устройство (DRAM) и так далее) или энергонезависимая память (например, флэш-память и так далее), и так далее. В неограничивающем примере, запоминающие устройства (1014) могут быть реализованы посредством кэш-памяти.
Обратимся к Фиг. 11, на которой дана приводимая в качестве примера система (1100) в соответствии с настоящим раскрываемым изобретением. В различных вариантах осуществления изобретения, система (1100) может представлять собой мультимедийную систему, хотя система (1100) не ограничена этим контекстом. Например, система (1100) может быть включена в состав персонального компьютера (PC), ноутбука, ультратонкого ноутбука, планшета, сенсорной панели, портативного компьютера, карманного компьютера, “наладонного” компьютера, персонального цифрового секретаря (PDA), сотового телефона, объединенных сотового телефона/персонального цифрового секретаря, телевизора, смарт-устройства (электронного устройства, оснащенного компьютером) (например, смартфона, смарт-планшета или смарт-телевизора), мобильного интернет-устройства (MID), устройства обмена сообщениями, устройства передачи данных, камер (например, камер “наведи - и - снимай”, камер с супертрансфокацией, цифровых однообъективных зеркальных камер (DSLR-камеры)), и так далее.
В различных вариантах осуществления изобретения, система (1100) включает в себя платформу (1102), сопряженную с устройством (1120) отображения. Платформа (1102) может принимать контент от устройства для контента, такого как устройство (устройства) (1130) сервисов контента или устройство (устройства) (1140) доставки контента или другие аналогичные источники контента. Для взаимодействия, например, с платформой (1102) и/или устройством (1120) отображения может быть использован контроллер (1150) навигации, включающий в себя одну или более навигационных функций. Каждый из этих компонентов более подробно описывается ниже.
В различных вариантах осуществления изобретения платформа (1102) может включать в себя любое сочетание набора (1105) микросхем, процессора (1110), памяти (1112), антенны (1113), запоминающего устройства (1114), графической подсистемы (1115), приложений (1106) и/или радиостанции (1108). Набор (1105) микросхем может обеспечивать многостроннюю связь между процессором (1110), памятью (1112), запоминающим устройством (1104), графической подсистемой (105), приложениями (1106) и/или радиостанцией (1108). Например, набор (1105) микросхем может включать в себя адаптер запоминающего устройства (не изображенный на фигуре) способный обеспечивать многостороннюю связь с запоминающим устройством (1104).
Процессор (1110) может быть реализован как процессоры Компьютера со сложным набором команд (CISC-компьютера) или Компьютера с сокращенным набором команд (RISC-компьютера), процессоры, совместимые с набором команд x86, многоядерный или любой другой микропроцессор или центральный процессор (CPU). В различных вариантах осуществления изобретения процессор (1110) может представлять собой двуядерный процессор (двуядерные процессоры), двуядерный мобильный процессор (двуядерные мобильные процессоры) и так далее.
Память (1112) может быть реализована как энергозависимое запоминающее устройство, такое как оперативное запоминающее устройство (RAM), динамическое оперативное запоминающее устройство (DRAM) или статическое оперативное запоминающее устройство (SRAM), но не ограничиваясь ими.
Запоминающее устройство (1104) может быть реализовано как энергонезависимое запоминающее устройство, такое как накопитель на магнитных дисках, накопитель на оптических дисках, накопитель на магнитной ленте, внутреннее запоминающее устройство, прикрепленное запоминающее устройство, флэш-память, питающееся от батареи SDRAM (синхронное динамическое оперативное запоминающее устройство) и/или запоминающее устройство, доступное через сеть, но не ограничиваясь ими. В различных вариантах осуществления изобретения запоминающее устройство (1114) может включать в себя технологию для повышения усиленной защиты функционирования запоминающего устройства для ценных цифровых носителей информации, когда, например, в его состав включены множественные накопители на жестких магнитных дисках.
Графическая подсистема (1115) может выполнять обработку изображений, таких как неподвижные изображения или видеоизображения для их отображения. Графическая подсистема (1115) может представлять собой, например устройство (GPU) обработки графических данных или устройство (VPU) обработки визуальных данных. Для сопряжения, осуществляемого средствами связи, графической подсистемы (1115) и устройства (1120) отображения может быть использован аналоговый или цифровой интерфейс. Например, этот интерфейс может представлять собой любой интерфейс из числа: Интерфейса мультимедиа высокой четкости, DisplayPort (Порта Отображения), беспроводного HDMI (Интерфейса мультимедиа высокой четкости) и/или беспроводных технологий, совместимых с высокой четкостью. Графическая подсистема (1115) может быть интегрирована в процессор (1110) или набор (1105) микросхем. В некоторых вариантах осуществления изобретения графическая подсистема (1115) может быть автономным устройством, сопряженным средствами связи с набором (1105) микросхем.
Описываемые здесь технологии обработки графических данных и/или видеоданных могут быть осуществлены в различных архитектурах аппаратного обеспечения. Например, функциональные возможности по обработке графических данных и/или видеоданных могут быть интегрированы в пределах набора микросхем. В качестве альтернативы, может быть использован отдельный графический и/или видеопроцессор. В качестве еще одного другого варианта осуществления изобретения, графические и/или видеофункции могут быть предоставлены универсальным процессором, включающем в себя многоядерный процессор. В дальнейших вариантах осуществления изобретения эти функции могут быть осуществлены в устройстве бытовой электроники.
Радиостанция (1108) может включать в себя одну или более радиостанций, способных передавать и принимать сигналы, используя различные подходящие технологии беспроводной связи. Такие технологии могут включать в себя связь через одну или более беспроводных сетей связи. Приводимые в качестве примера беспроводные сети связи включают в себя (но не в качестве ограничения) беспроводные локальные сети (WLAN-сети), беспроводные персональные локальные сети (WPAN-сети), беспроволочную общегородскую сеть (WMAN-сети), сети сотовой связи и сети спутниковой связи. При обменен информацией по таким сетям, радиостанция (1108) может работать в соответствии с одним или более применимыми стандартами в любой версии.
В различных вариантах осуществления изобретения устройство (1120) отображения может включать в себя любой монитор телевизионного типа или устройство отображения. Устройство (1120) отображения может включать в себя, например, отображающий экран компьютера, устройство отображения с сенсорным экраном, видеомонитор, устройство, подобное телевизору, и/или телевизор. Устройство (1120) отображения может быть цифровым и/или аналоговым. В различных вариантах осуществления изобретения устройство (1120) отображения может представлять собой голографическое устройство отображения. Кроме того, устройство (1120) отображения может представлять собой прозрачную поверхность, которая может принимать визуальную проекцию. Такие проекции могут передавать различные формы информации, изображений и/или объектов. Например, такие проекции могут представлять собой визуальное наложение для приложения мобильной дополненной реальности (MAR). Под управлением одного или более программных приложений (1106) платформа (1102) может отображать на устройстве (1120) отображения пользовательский интерфейс (1122).
В различных вариантах осуществления изобретения хостинг устройства (устройств) (1130) сервисов контента может осуществляться любой национальной, международной и/или независимой службой, и, таким образом, это устройство (устройства) доступны для платформы (1102), например, через сеть “Интернет”. Устройство (устройства) (1130) сервисов контента может быть сопряжены (могут быть сопряжены) с платформой (1102) и/или устройством (1120) отображения. Платформа (1102) и/или устройство (устройства) (1130) сервисов контента могут быть сопряжены с сетью (1160) для передачи (например, отправки и/или приема) мультимедийной информации в сеть (1160) и из нее. Устройство (устройства) (1140) доставки контента также может быть сопряжено (могут быть сопряжены) с платформой (1102) и/или устройством (1120) отображения.
В различных вариантах осуществления изобретения устройство (устройства) (1130) сервисов контента может (могут) включать в себя блок кабельного телевидения, персональный компьютер, сеть, телефон, устройства, задействуемые от сети “Интернет” или бытовой прибор, способные поставлять цифровую информацию и/или контент, и любое другое аналогичное устройство, способное однонаправлено или двунаправлено передавать контент между поставщиками контента и платформой (1102) и/или устройством (1120) отображения, через сеть (1160) или напрямую. Следует понимать, что контент может передаваться однонаправлено и/или двунаправлено к любому из компонентов в системе (1100) и поставщику контента через сеть (1160) и от них. Примеры контента могут включать в себя любую мультимедийную информацию, включающую в себя, например, видеоинформацию, музыку, медицинскую и игровую информацию и так далее.
Устройство (устройства) (1130) сервисов контента может (могут) принимать контент, такой как программы кабельного телевидения, включающий в себя мультимедийную информацию, цифровую информацию и/или другой контент. Примеры поставщиков контента могут включать в себя любое кабельное или спутниковое телевидение или радио или поставщиков контента в сети “Интернет”. Приведенные примеры ни в коей мере не предназначены для наложения ограничений на варианты осуществления, соответствующие настоящему раскрываемому изобретению.
В различных вариантах осуществления изобретения платформа (1102) может принимать управляющие сигналы от контроллера (1150) навигации, имеющего одну или более навигационных функций. Навигационные функции контроллера (1150) могут быть использованы, например, для взаимодействия с пользовательским интерфейсом (1122). В различных вариантах осуществления изобретения контроллер (1150) навигации может представлять собой координатно-указательное устройство, которое может быть компонентом компьютерного аппаратного обеспечения (в частности, устройством человеко-машинного интерфейса), который позволяет пользователю вводить в компьютер пространственные (например, аналоговые и многомерные) данные. Многие системы, такие как графический интерфейсов пользователя (графический пользовательский интерфейс) и телевизоры и мониторы, позволяют пользователю управлять данными и предоставлять данные компьютеру или телевизору, используя физические жесты.
Движения навигационных функций контроллера (1150) могут быть повторены на устройстве отображения (например, устройстве (1120) отображения) перемещениями указателя, курсора, фокусного кольца или других визуальных индикаторов, отображаемых на устройстве отображения. Например, под управлением программных приложений (1106) навигационные функции, расположенные на контроллере (1150) навигации могут быть отображены на виртуальные навигационные функции, отображаемые, например, на пользовательском интерфейсе (1122). В различных вариантах осуществления изобретения контроллер (1150) может не быть отдельным компонентом, но может быть интегрирован в платформу (1102) и/или устройство (1120) отображения. Настоящее раскрываемое изобретение, однако, не ограничено элементами или в контексте, которые показаны или описаны здесь.
В различных вариантах осуществления изобретения драйверы (не показанные на фигуре) могут включать в себя технологию, дающую пользователям возможность, например, незамедлительно включать и выключать платформу (1102), как телевизор, посредством прикосновения к кнопке после начальной загрузки, когда это разрешено. Программная логика может позволять платформе (1102) осуществлять потоковую передачу контента на адаптеры носителей информации или другое (другие) устройство (устройства) (1130) сервисов контента или устройство (устройства) (1140) доставки контента даже тогда, когда платформа выключена. В дополнение к этому, набор (1105) микросхем может включать в себя аппаратную и/или программную поддержку, например, для аудиосистемы 5.1 с окружающим звуком и/или аудиосистемы 7.1 с окружающим звуком высокой четкости. Драйверы могут включать в себя графический драйвер для интегрированных графических платформ. В различных вариантах осуществления изобретения графический драйвер может содержать графическую карту Express межсоединения периферийных компонентов (PCI).
В различных вариантах осуществления изобретения любой один или более компонентов, показанных в системе (1100), могут быть интегрированы. Например, могут быть интегрированы платформа (1102) и устройство (устройства) (1130) сервисов контента, или могут быть интегрированы платформа (1102) и устройство (устройства) (1140) доставки контента, или, например, могут быть интегрированы платформа (1102), устройство (устройства) (1130) сервисов контента и устройство (устройства) (1140) доставки контента. В различных вариантах осуществления изобретения платформа (1102) и устройство (1120) отображения могут представлять собой интегрированное устройство. Могут быть интегрированы устройство (1120) и устройство (устройства) (1130) сервисов контента, или, например, могут быть интегрированы устройство (1120) отображение и устройство (устройства) (1140) доставки контента. Эти примеры не предназначены для того, чтобы ограничивать настоящее раскрываемое изобретение.
В различных вариантах осуществления изобретения, система (1100) может быть реализована как система с беспроводной связью, система с проводной связью или сочетание их обеих. При реализации в виде системы с беспроводной связью, система (1100) может включать в себя компоненты и интерфейсы, подходящие для поддержания связи по беспроводным совместно используемым средам, такие как одна или более антенн, передатчики, приемники, приемопередатчики, усилители, фильтры, управляющая логика и так далее. Пример беспроводных совместно используемых сред может включать в себя участки спектра беспроводной связи, такие как радиочастотный спектр и так далее. При реализации в виде системы с проводной связью, система (1100) может включать в себя компоненты и интерфейсы, подходящие для поддержания связи по проводным средам передачи данных, такие как адаптеры ввода/вывода (I/O-адаптеры), физические соединители для соединения адаптера ввода / вывода с соответствующей проводной средой передачи данных, сетевая интерфейсная карта (NIC), контроллер диска, видеоконтроллер, аудиоконтроллер и тому подобное. Примеры проводных сред передачи данных могут включать в себя провод, кабель, металлические проводники, печатную плату (РСВ), объединительную плату, переключающее изделие, полупроводниковый материал, витую пару, коаксиальный кабель, волоконную оптику и так далее.
Платформа (1102) может устанавливать один или более логические или физических каналов для передачи информации. Информация может включать в себя мультимедийную информацию и управляющую информация. Термин “мультимедийная информация” может относиться к любым данным, представляющим контент, предназначенный для пользователя. Примеры контента могут включать в себя, например, данные от голосового сеанса связи, видеоконференции, потоковое видео, сообщение электронной почты (“email”), сообщение голосовой почты, алфавитно-цифровые символы, графические данные, изображение, видеоданные, текст и так далее. Данные от голосового сеанса связи могут, например, представлять собой речевую информацию, периоды молчания, фоновый шум, комфортный шум, тоны и так далее. Термин “управляющая информация” может относиться к любым данным, представляющим команды, команды или управляющие слова, предназначенные для автоматизированной системы. Например, управляющая информация может использоваться для маршрутизации мультимедийной информации через систему, или для отдания узлу команды обработать мультимедийную информацию некоторым предварительно заданным образом. Однако, варианты осуществления изобретения не ограничены элементами или в контексте, которые показаны или описаны на Фиг. 11.
Как было описано выше, система (200), (1000) или (1300) может быть воплощена в различающихся физических типах или форм-факторах. На Фиг. 12 проиллюстрированы варианты осуществления устройства (1200) с малым форм-фактором, в котором может быть воплощена система (200), (1000) или (1300). В различных вариантах осуществления изобретения, например, устройство (1200) может быть реализовано как мобильное вычислительное устройство, имеющие возможности беспроводной связи. Термин “мобильное вычислительное устройство” может относиться к любому устройству, имеющему систему обработки данных и мобильный источник или блок питания, такой как, например, одна или более батарей.
Как было описано выше, примеры мобильного вычислительного устройства могут включать в себя персональный компьютер (PC), ноутбук, ультратонкий ноутбук, планшет, сенсорную панель, портативный компьютер, карманный компьютер, “наладонный” компьютер, персонального цифрового секретаря (PDA), сотовый телефон, объединенные сотовый телефон/персональный цифровой секретарь, телевизор, смарт-устройства (электронное устройство, оснащенное компьютером) (например, смартфон, смарт-планшет или смарт-телевизор), мобильное интернет-устройство (MID), устройство обмена сообщениями, устройство передачи данных, камеры (например, камеры “наведи - и - снимай”, камеры с супертрансфокацией, цифровые однообъективные зеркальные камеры (DSLR-камеры)) и так далее.
Примеры мобильного вычислительного устройства также могут включать в себя компьютеры, которые устроены таким образом, чтобы носится человеком на его теле, такие как компьютер, носимый на запястье, компьютер, носимый на пальце, компьютер-кольцо, компьютер-очки, компьютер в виде застежки ремня, компьютер в виде нарукавной повязки, компьютеры, встроенные в обувь, компьютеры встроенные в предметы одежды и другие носимые на теле компьютеры. В различных вариантах осуществления изобретения мобильное вычислительное устройство может быть, например, реализовано как “смартфон”, способный исполнять компьютерные приложения, так же как и осуществлять речевую связь и/или передачу данных. Хотя некоторые варианты осуществления изобретения могут быть, в порядке примера, описаны в отношении мобильного вычислительного устройства, реализованного как “смартфон”, можно понять, что другие варианты осуществления изобретения могут быть осуществлены также с использованием других мобильных вычислительных устройств с беспроводной связью. Варианты осуществления изобретения не ограничены в этом контексте.
Обратимся к Фиг. 12, на которой устройство (1200) может включать в себя корпус (1202), устройство (1204) отображения, устройство (1206) ввода/вывода (I/O) и антенну (1208). Устройство (1200) также может включать в себя навигационные функции (1212). Устройство (1204) отображения может включать в себя любой блок отображения, подходящий для отображения информации, надлежащей для мобильного вычислительного устройства. Устройство (1206) ввода/вывода может включать в себя любое устройство ввода/вывода, подходящее для ввода информации в мобильное вычислительное устройство. Примеры для устройства (1206) ввода/вывода могут включать в себя алфавитно-цифровую клавиатуру, цифровую клавиатуру, сенсорную панель, клавиши для ввода данных, кнопки, переключатели, кулисные переключатели, микрофоны, громкоговорители, устройство распознавания речи и программное обеспечение и так далее. Информация также может быть введена в устройство (1200) посредством микрофона (не показанного на фигуре). Такая информация может быть переведена в цифровую форму устройством распознавания речи (не показанным на фигуре). Варианты осуществления изобретения не ограничены в этом контексте.
Различные варианты осуществления изобретения могут быть осуществлены с использованием элементов аппаратного обеспечения, элементов программного обеспечения или сочетания их обоих. Примеры элементов аппаратного обеспечения могут включать в себя процессоры, микропроцессоры, схемы, схемные элементы (например, транзисторы, сопротивления, конденсаторы, индуктивности и так далее), интегральные схемы, специализированные интегральные схемы (ASIC), программируемые логические устройства (PLD), процессоры цифровой обработки сигналов (DSP-процессоры), вентильную матрицу с эксплуатационным программированием (FPGA - матрицу), логические вентили, регистры, полупроводниковое устройство, кристаллы, микросхемы, наборы микросхем и так далее. Примеры программного обеспечения могут включать в себя программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционной системы, микропрограммное обеспечение, программно-аппаратное обеспечение, модули программного обеспечения, стандартные программы, подпрограммы, функции, способы, процедуры, программные интерфейсы, прикладные программные интерфейсы (API), наборы команд, вычислительный код, машинный код, сегменты кода, сегменты машинного кода, слова, значения, символы или любое их сочетание. Определение того, осуществлять ли некоторый вариант осуществления изобретения с использованием элементов аппаратного обеспечения и/или элементов программного обеспечения, может меняться в соответствии с любым количеством факторов, таких как требуемая скорость вычислений, уровни мощности, допуски по теплоте, бюджет цикла обработки данных, скорости входных данных, скорости выходных данных, ресурсы памяти, скорости шины передачи данных и другие конструктивные или эксплуатационные ограничения.
Один или более аспектов, по меньшей мере, одного варианта осуществления изобретения могут быть осуществлены представляющими командами, хранящимися на машиночитаемом носителе информации, который представляет различную логику внутри процессора, которые, будучи считанными машиной, заставляют машину производить логику для выполнения описанных здесь технологий. Такие представления, известные как “IP-ядра” могут храниться на материальных, машиночитаемых носителях информации и поставляются различным клиентам или производственным предприятиям для загрузки их в производственные машины, которые фактически изготавливают эту логику или процессор.
Хотя некоторые изложенные здесь признаки, были описаны со ссылкой на различные варианты осуществления изобретения, это описание не предназначено для того, чтобы толковаться в ограничительном смысле. Следовательно, предполагается, что различные модификации описанных здесь вариантов осуществления изобретения, так же как и другие варианты осуществления изобретения, которые очевидны специалистам в той области техники, к которой относится настоящее раскрываемое изобретение, лежат в пределах сущности и объема настоящего раскрываемого изобретения.
Нижеследующие примеры относятся к дополнительным вариантам осуществления изобретения.
Согласно одному подходу, осуществляемый посредством компьютера способ для кодирования трехмерных видеоданных содержит этап, на котором осуществляют упрощенное кодирование глубины, выполняя модифицированное внутрикадровое DC-кодирование (кодирование глубины) или модифицированное внутрикадровое планарное кодирование, по меньшей мере, одного элемента кодирования, связанного с некоторым множеством пикселей, и, по меньшей мере, одной карты глубины. Способ содержит этап, на котором формируют значение предсказания для этого, по меньшей мере, одного элемента кодирования, основываясь, по меньшей мере, частично, на пиксельных значениях снаружи этого элемента кодирования на карте глубины, и не вычисляя значения предсказания для индивидуальных пикселей в пределах этого элемента кодирования.
В других разновидностях, элемент кодирования представляет собой текущий элемент кодирования, левый элемент кодирования располагается, примыкая к текущему элементу кодирования и слева от него, верхний элемент кодирования располагается примыкая к текущему элементу кодирования и сверху от него, и способ содержит этап, на котором выполняют модифицированное внутрикадровое планарное кодирование текущего элемента кодирования, не используя при этом пиксельные значения из левого элемента кодирования и верхнего элемента кодирования. Модифицированное внутрикадровое планарное кодирование также может содержать этап, на котором используют пиксельные значения из соседнего, находящегося снаружи, нижнего - левого пикселя, располагающегося примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, и из соседнего, находящегося снаружи, находящегося сверху - правого пикселя, располагающегося примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла.
DC
Согласно другому примеру, способ может содержать модифицированное внутрикадровое планарное кодирование, содержащее этап, на котором вычисляют значение (Pred(INTRA_PLANAR_MOD)) предсказания следующим образом:
где N обозначает ширину и высоту элемента кодирования, p(N, -1) обозначает пиксельное значение в соседнем, находящемся снаружи, верхнем - правом пикселе, располагающемся примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла, p(-1, N) обозначает пиксельное значение в соседнем, находящемся снаружи, нижнем - левом пикселе, располагающемся, примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла.
Модифицированное внутрикадровое планарное кодирование может также содержать этап, на котором используют пиксельное значение из соседнего, находящегося снаружи, верхнего - левого пикселя, располагающегося примыкая к верхнему - левому углу элемента кодирования и по диагонали снаружи от этого угла. Согласно одной разновидности, этот верхний - левый пиксель может находиться снаружи текущего элемента кодирования, левого элемента кодирования и верхнего элемента кодирования.
Согласно еще одной другой разновидности, элемент кодирования представляет собой текущий элемент кодирования, левый элемент кодирования располагается, примыкая к текущему элементу кодирования и слева от него, верхний элемент кодирования располагается, примыкая к текущему элементу кодирования и сверху от него, и способ содержит этап, на котором осуществляют модифицированное внутрикадровое DC-кодирование для формирования значения предсказания, и содержит этап, на котором осуществляют подвыборку в левом столбце пикселей в левом элементе кодирования или в находящейся сверху строке пикселей в верхнем элементе кодирования или в обоих из них, содержащую этап, на котором используют, по меньшей мере, одно и меньше чем все пиксельные значения из этого левого столбца или, по меньшей мере, одно и меньше чем все пиксельные значения из этой находящейся сверху строки или из них обоих. Модифицированное внутрикадровое DC-кодирование можно выполнять, не вычисляя, для получения значения предсказания, сглаживание границ, и этап, на котором осуществляют подвыборку, содержит этап, на котором используют каждый α-й пиксель в этом левом столбце и находящейся сверху строке, где α>1. Левый столбец располагается, примыкая к текущему элементу кодирования, в левом элементе кодирования, а находящаяся сверху строка располагается, примыкая к текущему элементу кодирования, в верхнем элементе кодирования.
В других подходах, модифицированное внутрикадровое планарное кодирование содержит этап, на котором используют модифицированное внутрикадровое DC-кодирование с осуществлением подвыборки и использованием пиксельных значений соседнего, находящегося снаружи верхнего - правого пикселя, располагающегося примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла, и соседнего, находящегося снаружи, нижнего - левого пикселя, располагающегося примыкая к нижнему - левому углу кодирования и по диагонали снаружи от этого угла, и соседнего, находящегося снаружи, нижнего - левого пикселя, располагающегося по диагонали снаружи от нижнего - левого угла элемента кодирования и примыкая к этому углу. Модифицированное внутрикадровое планарное кодирование может также содержать этап, на котором используют пиксельное значение, по меньшей мере, одного соседнего, находящегося снаружи, верхнего - левого пикселя, располагающегося примыкая к верхнему - левому углу элемента кодирования и по диагонали снаружи от этого угла.
DC
Согласно некоторым примерам, модифицированное внутрикадровое DC-кодирование содержит этап, на котором вычисляют значение (Pred(INTRA_DC_MOD)) предсказания следующим образом:
где N обозначает ширину и высоту элемента кодирования, N' обозначает подвергшиеся подвыборке ширину или высоту элемента кодирования, где , где α представляет собой коэффициент подвыборки, и где α=2, 3, …N, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки, имеющих координаты (x, -1), где x=0, α, 2α…, x<N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца, имеющих координаты (-1, y), y=0, α, 2α…, y<N-1.
В некоторых других примерах, способ содержит этап, на котором предоставляют выбор кодировать элемент кодирования, используя: (1) внутрикадровое DC-кодирование, использующее все пиксели левого столбца пикселей в левом элементе кодирования, и использующее все пиксели находящейся сверху строки пикселей в верхнем элементе кодирования, (2) внутрикадровое DMM-кодирование (кодирования в Режиме моделирования глубины), (3) внутрикадровое планарное кодирование, определяющее значение предсказания для индивидуальных пикселей в пределах элемента кодирования, и (4) модифицированное внутрикадровое планарное кодирование или модифицированное внутрикадровое DC-кодирование или их обоих.
DC
Согласно еще дополнительным вариантам осуществления изобретения, способ содержит модифицированное внутрикадровое планарное кодирование, содержащее этап, на котором вычисляют значение (Pred(INTRA_PLANAR_MOD)) предсказания по, по меньшей мере, одной из следующих формул:
,
,
,
,
, и
,
DC
где N обозначает ширину и высоту элемента кодирования, N' обозначает подвергшиеся подвыборке ширину или высоту элемента кодирования, где , α представляет собой коэффициент подвыборки, α=2, 3, …N, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки, имеющих координаты (x, -1), x=0, α, 2α…, x<N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца, имеющих координаты (-1, y), y=0, α, 2α…, y<N-1, p(N, -1) обозначает значение находящегося сверху - правого соседнего пикселя на находящейся сверху строке снаружи элемента кодирования и располагающегося примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла, p(-1, N) обозначает значение левого - нижнего соседнего пикселя на левом столбце снаружи элемента кодирования и располагающегося примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, p(-1, -1) обозначает значение левого - верхнего соседнего пикселя на левом столбце и находящейся сверху строке снаружи текущего элемента кодирования и располагающегося примыкая к верхнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, и где Pred(INTRA_DC) представляет собой значение предсказания, полученное от модифицированного внутрикадрового DC-кодирования.
В другой разновидности, система для кодирования трехмерных видеоданных содержит, по меньшей мере, одно устройство отображения, по меньшей мере, одну память, сопряженную средствами связи с устройством отображения, по меньшей мере, одно процессорное ядро, сопряженное средствами связи с устройством отображения и памятью, и модуль внутрикадрового кодирования, сопряженный средствами связи с процессорным ядром и сконфигурированный таким образом, чтобы выполнять упрощенное кодирование глубины посредством выполнения модифицированного внутрикадрового DC-кодирования или модифицированного внутрикадрового планарного кодирования, по меньшей мере, одного элемента кодирования, связанного с некоторым множеством пикселей, и, по меньшей мере, одной карты глубины. Модуль внутрикадрового кодирования сконфигурирован таким образом, чтобы формировать значение предсказания для этого, по меньшей мере, одного элемента кодирования, основываясь, по меньшей мере, частично, на пиксельных значениях снаружи этого элемента кодирования на карте глубины, и не вычисляя значения предсказания для индивидуальных пикселей в пределах этого элемента кодирования.
В различных вариантах осуществления изобретения, элемент кодирования представляет собой текущий элемент кодирования, левый элемент кодирования располагается, примыкая к текущему элементу кодирования и слева от него, верхний элемент кодирования располагается, примыкая к текущему элементу кодирования и сверху от него, и модуль внутрикадрового кодирования сконфигурирован таким образом, чтобы выполнять модифицированное внутрикадровое планарное кодирование текущего элемента кодирования, не используя при этом пиксельные значения из левого элемента кодирования и верхнего элемента кодирования. Модифицированное внутрикадровое планарное кодирование содержит этап, на котором используют пиксельные значения из соседнего, находящегося снаружи, нижнего - левого пикселя, располагающегося, примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, и из соседнего, находящегося снаружи, находящегося сверху - правого пикселя, располагающегося, примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла.
DC
Модуль внутрикадрового кодирования также может быть сконфигурирован таким образом, чтобы выполнять модифицированное внутрикадровое планарное кодирование, содержащее этап, на котором вычисляют значение (Pred(INTRA_PLANAR_MOD)) предсказания следующим образом:
где N обозначает ширину и высоту элемента кодирования, p(N, -1) обозначает пиксельное значение в соседнем, находящемся снаружи, верхнем - правом пикселе, располагающемся, примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла, p(-1, N) обозначает пиксельное значение в соседнем, находящемся снаружи, нижнем - левом пикселе, располагающемся, примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла. Модифицированное внутрикадровое планарное кодирование может также содержать этап, на котором используют пиксельное значение из соседнего, находящегося снаружи, верхнего - левого пикселя, располагающегося, примыкая к верхнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, и этот верхний - левый пиксель находится снаружи текущего элемента кодирования, левого элемента кодирования и верхнего элемента кодирования.
Согласно еще одному другому подходу, элемент кодирования представляет собой текущий элемент кодирования, левый элемент кодирования располагается, примыкая к текущему элементу кодирования и слева от него, верхний элемент кодирования располагается, примыкая к текущему элементу кодирования и сверху от него, и модуль внутрикадрового кодирования сконфигурирован таким образом, чтобы выполнять модифицированное внутрикадровое DC-кодирования для того, чтобы формировать значение предсказания, осуществляя подвыборку в левом столбце пикселей в левом элементе кодирования или в находящейся сверху строке пикселей в верхнем элементе кодирования или в обоих из них, содержащую этап, на котором используют, по меньшей мере, одно и меньше чем все пиксельные значения из этого левого столбца или, по меньшей мере, одно и меньше чем все пиксельные значения из этой находящейся сверху строки или из них обоих. Модифицированное внутрикадровое DC-кодирование можно выполнять, не вычисляя, для получения значения предсказания, сглаживание границ, и этап, на котором осуществляют подвыборку, содержит этап, на котором используют каждый α-й пиксель в этом левом столбце и находящейся сверху строке, где α>1. Согласно другим примерам, левый столбец располагается, примыкая к текущему элементу кодирования, в левом элементе кодирования, и при этом находящаяся сверху строка располагается, примыкая к текущему элементу кодирования, в верхнем элементе кодирования.
Модифицированное внутрикадровое планарное кодирование может содержать этап, на котором используют модифицированное внутрикадровое DC-кодирование с осуществлением подвыборки и использованием пиксельных значений соседнего, находящегося снаружи верхнего - правого пикселя, располагающегося, примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла, и соседнего, находящегося снаружи, нижнего - левого пикселя, располагающегося, примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, и соседнего, находящегося снаружи, нижнего - левого пикселя, располагающегося по диагонали снаружи от нижнего - левого угла элемента кодирования и примыкая к этому углу. Модифицированное внутрикадровое планарное кодирование может также содержать этап, на котором используют пиксельное значение, по меньшей мере, одного соседнего, находящегося снаружи, верхнего - левого пикселя, располагающегося примыкая к верхнему - левому углу элемента кодирования и по диагонали снаружи от этого угла.
DC
Для других вариантов осуществления изобретения, модифицированное внутрикадровое DC-кодирование содержит этап, на котором вычисляют значение (Pred(INTRA_DC_MOD)) предсказания следующим образом:
где N обозначает ширину и высоту элемента кодирования, N' обозначает подвергшиеся подвыборке ширину или высоту элемента кодирования, где , где α представляет собой коэффициент подвыборки, и где α=2, 3, …N, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки, имеющих координаты (x, -1), где x=0, α, 2α…, x<N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца, имеющих координаты (-1, y), y=0, α, 2α…, y<N-1.
Согласно некоторым подходам, модуль внутрикадрового кодирования может быть сконфигурирован таким образом, чтобы предоставлять выбор кодировать элемент кодирования, используя: (1) внутрикадровое DC-кодирование, использующее все пиксели левого столбца пикселей в левом элементе кодирования, и использующее все пиксели в находящейся сверху строке пикселей в верхнем элементе кодирования, (2) внутрикадровое DMM-кодирование (кодирования в Режиме моделирования глубины), (3) внутрикадровое планарное кодирование, определяющее значение предсказания для индивидуальных пикселей в пределах элемента кодирования, и (4) модифицированное внутрикадровое планарное кодирование или модифицированное внутрикадровое DC-кодирование или их обоих.
DC
Модуль внутрикадрового кодирования может быть сконфигурирован таким образом, чтобы обеспечивать модифицированное внутрикадровое планарное кодирование, содержащее этап, на котором вычисляют значение (Pred(INTRA_PLANAR_MOD)) предсказания по, по меньшей мере, одной из следующих формул:
,
,
,
,
, и ,
DC
где N обозначает ширину и высоту элемента кодирования, N' обозначает подвергшиеся подвыборке ширину или высоту элемента кодирования, где , α представляет собой коэффициент подвыборки, α=2, 3, …N, x обозначает горизонтальную координату, y обозначает вертикальную координату, p(x, -1) обозначает значения соседних пикселей из находящейся сверху строки, имеющих координаты (x, -1), x=0, α, 2α…, x<N-1, p(-1, y) обозначает значения соседних пикселей из левого столбца, имеющих координаты (-1, y), y=0, α, 2α…, y<N-1, p(N, -1) обозначает значение находящегося сверху - правого соседнего пикселя на находящейся сверху строке снаружи элемента кодирования и располагающегося примыкая к верхнему - правому углу элемента кодирования и по диагонали снаружи от этого угла, p(-1, N) обозначает значение левого - нижнего соседнего пикселя на левом столбце снаружи элемента кодирования и располагающегося примыкая к нижнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, р(-1, -1) обозначает значение левого - верхнего соседнего пикселя на левом столбце и находящейся сверху строке снаружи текущего элемента кодирования и располагающегося примыкая к верхнему - левому углу элемента кодирования и по диагонали снаружи от этого угла, и где Pred(INTRA_DC) представляет собой значение предсказания, полученное от модифицированного внутрикадрового DC-кодирования.
Согласно еще одному другому подходу, некратковременный считываемый компьютером носитель информации имеет команды, которые, при их исполнении компьютером, приводят в результате к: упрощенному кодированию глубины посредством выполнения модифицированного внутрикадрового DC-кодирования или модифицированного внутрикадрового планарного кодирования, по меньшей мере, одного элемента кодирования, связанного с некоторым множеством пикселей, и, по меньшей мере, одной карты глубины. Эти команды приводят в результате к формированию значения предсказания для этого, по меньшей мере, одного элемента кодирования, основанному, по меньшей мере, частично, на пиксельных значениях снаружи этого элемента кодирования на карте глубины, и без вычисления значений предсказания для индивидуальных пикселей в пределах этого элемента кодирования.
В дополнительном примере, по меньшей мере, один машиночитаемый носитель информации может включать в себя множество команд, которые в ответ их исполнение на вычислительном устройстве заставляют это вычислительное устройство выполнять способ, соответствующий любому из вышеприведенных примеров.
В еще одном дополнительном примере, аппарат может включать в себя средства для выполнения способов, соответствующих любому из вышеприведенных примеров.
Вышеприведенные примеры могут включать в себя конкретное сочетание функций. Однако, вышеприведенные примеры не ограничены в этом отношении и, в различных вариантах осуществления изобретения, вышеприведенные примеры могут включать в себя выполнение только некоторого подмножества таких функций, выполнение таких функций в другом порядке, выполнение другого сочетания таких функций и/или дополнительных функций, а не тех функций, которые явным образом перечислены. Например, все функции, описанные здесь в отношении любых приводимых в качестве примера способов, могут быть осуществлены в отношении любых: приводимого в качестве примера аппарата, приводимых в качестве примера систем, и/или приводимых в качестве примера предметов, и наоборот.