Уровень техники
Многоплановое видеокодирование (МВК) (MVC) представляет собой расширение стандарта видеокодирования H.264/AVC. Оно позволяет кодировать несколько видеопоследовательностей с различных планов сцены в единый двоичной поток, в том числе основной план и дополнительные неосновные планы, которые могут кодироваться независимо от основного плана. Существуют также возможные соотношения зависимости в кодировании между неосновными планами. После кодирования каждый план может быть представлен как отдельный двоичный поток, либо эти отдельные двоичные потоки планов могут сливаться вместе.
Важным методом сжатия в МВК является межплановое предсказание. Различные видеопоследовательности, полученные в различных положениях камер относительно сцены, зачастую проявляют сильные корреляции между планами. Таким образом, при кодировании кадра изображения или картинки в конкрегном плане, картинка в основном плане и(или) в других дополнительных планах могут использоваться в качестве межплановых опорных картинок для улучшения эффективности кодирования. Далее, кодер может выбирать между использованием межплановых опорных картинок или использованием временных опорных картинок из видеопоследовательности одного и того же плана. При оценке движения сначала предсказывается двумерный (2D) вектор движения (ВД) (MV) в форме MV(xp,yp), а затем ищут другие векторы движения в конкретном диапазоне, чтобы выявить наилучший MV(x,y), который минимизирует искажение между текущим блоком и опорным блоком. Разность между MV(x,y) и MV(xp,yp) кодируется затем как разностный сигнал.
В последовательностях множества планов проекция одного и того же объекта на различные планы может быть связана с соответствующими положениями камер. Например, широко используются методы параллельных камер, потому что они хорошо моделируют человеческую систему стереоскопического зрения. В установках параллельных камер эти камеры могут так выравниваться, что их положения отличаются практически только в одном измерении (к примеру, по оси x). Таким образом, положения двух проекций одного и того же пиксела трехмерного пространства на два соответствующих плана могут отличаться только в одном измерении (к примеру, в направлении x).
Краткое описание чертежей
Описанный здесь материал иллюстрируется посредством примеров, а не ограничений, в сопровождающих чертежах. Для простоты и ясности иллюстраций показанные на чертежах элементы необязательно изображены в масштабе. Например, размеры некоторых элементов для ясности могут быть увеличены по отношению к другим элементам. Далее, когда это считается уместным, ссылочные позиции повторены на чертежах, чтобы указывать соответствующие или аналогичные элементы.
Фиг.1 является иллюстративной схемой примера системы многопланового видеокодирования.
Фиг.2 иллюстрирует пример многопланового сценария.
Фиг.3 иллюстрирует часть двоичного потока.
Фиг.4 и 5 иллюстрируют синтаксические схемы.
Фиг.6 и 7 являются блок-схемами алгоритмов для примера процессов по реализации схем многопланового кодирования.
Фиг.8 является иллюстративной схемой примерной системы.
Фиг.9 является иллюстративной схемой примерного устройства.
При этом все чертежи сделаны и соответствии с по меньшей мере некоторыми реализациями настоящего изобретения.
Подробное описание
Теперь со ссылками на сопровождающие чертежи будут описаны один или несколько вариантов осуществления или реализации. Хотя обсуждаются конкретные конфигурации и конструкции, следует понимать, что это делается только в иллюстративных целях. Специалисты поймут, что и иные конфигурации и конструкции могут применяться без отхода от сущности и объема данного изобретения. Для специалистов будет очевидно, что описанные здесь методы и(или) конструкции могут также применяться во множестве других систем и приложений, иных, нежели те, что описаны здесь.
Хотя нижеследующее описание излагает реализации, которые могут проявляться в таких, например, архитектурах, как архитектуры система на кристалле (SoC), реализация описанных здесь методов и(или) конструкций не ограничена конкретными архитектурами и(или) вычислительными системами и может воплощаться в архитектуре и(или) вычислительной системе для аналогичных целей. Например, описанные здесь методы и(или) конструкции могут реализовывать различные архитектуры, применяющие, к примеру, множество кристаллов и(или) корпусов интегральных схем (ИС) (IC), и(или) различные вычислительные устройства и(или) устройства бытовой электроники (СЕ), такие как телеприставки, смартфоны и т.п. Далее, хотя нижеследующее описание может излагать многочисленные конкретные подробности, такие как логические реализации, типы и взаимозависимости системных компонентов, предпочтения логического разделения-объединения и т.п., заявленный предмет может осуществляться и без таких конкретных подробностей. В иных случаях некоторые материалы, такие, например, как управляющие структуры и полные последовательности программных команд могут не показываться подробно, чтобы не затемнять описанного здесь материала.
Описанный здесь материал может быть воплощен аппаратно, программно, программно-аппаратно или в любой их комбинации. Описанный здесь материал может быть также реализован как команды, хранящиеся на машиночитаемом носителе, которые могут считываться и исполняться одним или несколькими процессорами. Машиночитаемый носитель может включать в себя среду и(или) механизм для хранения или передачи информации в виде, считываемом машиной (к примеру, вычислительным устройством). Например, машиночитаемый носитель может включать в себя постоянное запоминающее устройство (ПЗУ) (ROM), оперативно запоминающее устройство (ОЗУ) (RAM), носитель в виду магнитного диска, оптический носитель, устройства на флэш-памяти, электрические, оптические, акустические или другие виды распространяемых сигналов (к примеру, несущие частоты, инфракрасные сигналы, цифровые сигналы и т.п.) и проч.
Ссылки в данном описании на «одну реализацию», «реализацию», «примерную реализацию» и т.п. указывают, что описанная реализация может включать в себя конкретные признак, структуру или характеристику, но каждая реализация необязательно может включать в себя эти конкретные признак, структуру или характеристику. Кроме того, такие выражения необязательно относятся к одной и той же реализации. Далее, когда конкретные признак, структура или характеристика описаны в связи с реализацией, предполагается, что они находятся в сфере знаний специалиста, чтобы осуществлять такие признак, структуру или характеристику в связи с другими реализациями, описаны они или нет здесь явным образом.
Фиг.1 иллюстрирует примерную систему 100 многопланового видеокодирования (MBK) в соответствии с настоящим изобретением. В различных реализациях система 100 МВК может включать в себя кодер 102 МВК, сервер 104, сеть 106, сетевой шлюз 108 и декодеры 110 и 112 МВК. В разных реализациях кодер 102 МВК может принимать кадры или картинки видеоизображений, соответствующие множеству планов входных камер трехмерной (3D) сцены и может быть выполнен с возможностью предпринимать видеосжатие и(или) реализовывать видеокодеки согласно одному или нескольким расширенным стандартам на видеокодеки, например, таким как стандарт H.264/AVC (см. ISO/IEC JTCI и ITU-T, H.264/AVC - «Усовершенствованное видеокодирование для типовых аудиовизуальных услуг», ITU-T Rec. H.264 и ISO/IEC 14496-10 (MPEG-4 часть 10), версия 3, 2005), и их расширениям, в том числе расширение многопланового видеокодирования к стандарту AVC (см. ISO/IEC 14496-10:2008 Изменение I (2008) (здесь и далее: «стандарт MBK»). Хотя система 100 и(или) другие системы, схемы и процессы могут описываться здесь в контексте этого стандарта МВК для целей иллюстрации и пояснения, настоящее изобретение не ограничено какими-либо конкретными стандартами или описаниями видеокодирования.
В различных реализациях кодер 102 МВК может воплощать основанный на блоках подход гибридного видеокодирования, в котором видеокадры подразделяются на срезы, которые в свою очередь подразделяются на макроблоки (МБ) для кодирования. Каждый МБ может соответствовать площади прямоугольного изображения размером 16×16 яркостных отсчетов и, в случае видео в формате отсчетов цветности 4:2:0, двум площадям отсчетов компонентов цветности размером 8×8. Отсчеты МБ могут предсказываться либо в пространстве, либо по времени, и результирующий разностный сигнал предсказания может быть представлен с помощью кодирования с преобразованием. В различных реализациях кодер 102 МВК может определять, какой тип кодирования выполнять на помакроблочной основе. Как используется здесь, «блок» может относиться к МБ или подразделению под-макроблоков видеоданных.
Как будет подробнее пояснено далее, кодер 102 МВК может использовать методы в соответствии с настоящим изобретением для генерирования кодированных многоплановых видеоданных, представляющих различные планы сцены. Кодер 102 МВК может выдавать кодированные многоплановые видеоданные в виде кодированного МВК двоичного потока 103, включающего в себя основной план и дополнительные неосновные планы, кодирование которых может зависеть от основного плана. В различных реализациях каждый план может быть представлен отдельным МВК двоичным потоком, либо двоичные потоки планов могут сливаться вместе для образования единого двоичного потока, такого как МВК двоичный поток 103.
Сервер 104 может передавать двоичный поток 103 по сети 106 различным клиентам, таким как декодеры 110 и 112 МВК, имеющие различные функциональные возможности видеодекодирования, В различных реализациях двоичный поток 103 может передаваться через один или несколько сетевых шлюзов, таких как сетевой шлюз 108. В различных реализациях сетевой шлюз 108 может быть знающим о сети сетевым элементом, который может обрабатывать входящие видеопакеты или двоичные подпотоки двоичного потока 103 перед тем, как предоставить измененную форму двоичного потока 103 декодерам 110 и 112 MBK. В некоторых реализациях сетевой шлюз 108 может обрабатывать двоичный поток 103, чтобы подавать только двоичный поток основного плана в систему и(или) устройства (не показаны на Фиг.1), которые не имеют возможности осуществлять методы МВК. Для систем и(или) устройств, которые способны осуществлять методы МВК, таких как декодеры 110 и 112 МВК, двоичный поток основного плана и один или несколько двоичных потоков неосновных планов, являющихся составляющими двоичного потока 103, могут использоваться для осуществления описанных здесь методов МВК.
В декодерах 110 и 112 МВК кодированные видеоданные могут извлекаться из двоичного потока 103, а затем декодироваться и визуализироваться различным образом в зависимости от прикладных сценариев и функциональных возможностей систем и(или) устройств, включающих в себя эти декодеры 110 и 112 МВК. Например, из числа неограничивающих примеров, декодер 110 МВК может быть частью системы стереоскопического отображения (не показано на Фиг.1), тогда как декодер 112 МВК может быть частью видеосистемы, не ограниченной планом (также не показано на Фиг.1). В различных реализациях декодеры 110 и 112 МВК могут осуществлять разные методы МВК, такие как компенсация межпланового движения, используя информацию и(или) данные, предоставляемые двоичным потоком 103. Например, макроблоки в срезе картинки неосновного плана могут предсказываться на основе кодированного вектора движения, предоставленного в МВК двоичном потоке 103, который указывает или ссылается на МБ в картинке основного плана.
В различных вариантах осуществления видео- и(или) медиапроцессор может воплощать кодер 102 МВК или декодеры 110 и(или) 112 МВК в системе 100. В общем, различные составляющие системы 100 могут быть воплощены программно, программно-аппаратно и(или) аппаратно и(или) в любой их комбинации. Например, различные составляющие системы 100 могут, по меньшей мере частично, выполняться за счет аппаратного обеспечения вычислительной системы на кристалле (SoC), как встречается в устройстве или системе бытовой электроники (СЕ).
Далее, хотя Фиг.1 показывает сервер 104, коммуникативно связывающий кодер 102 МВК с сетью 106, подобный (-е) сервер(ы), не показанный (-е) на Фиг.1 в интересах ясности, может (могут) аналогично коммуникативно связывать декодеры 110 и 112 МВК с сетью 106. Помимо этого, хотя Фиг.1 показывает декодеры 110 и 112 МВК как принимающие двоичный поток 103 из сети 106, настоящее изобретение не ограничивается какими-либо конкретными схемами, методами и(или) системами для обеспечения связи двоичного потока 103 с декодерами 110 и 112 MB К. Таким образом, в различных реализациях декодеры 110 и 112 МВК могут принимать двоичный поток 103 как данные, хранящиеся на машиночитаемом носителе, таком, например, как цифровой видеодиск с записями высокого разрешения или высокой плотности (HD-DVD). Кроме того, в различных реализациях декодер МВК в соответствии с настоящим изобретением может быть реализован в устройстве бытовой электроники, таком как телеприставка, кабельный телевизор или тому подобное, и может принимать МВК двоичный поток в соответствии с настоящим изобретением по кабельной сети, спутниковой сети и т.п.
В различных реализациях настоящее изобретение не ограничивается конкретной природой различных составляющих системы 100, таких как сервер 104, сеть 106 и(или) сетевой шлюз 108. Например, сервер 104 может включать в себя любой веб-сервер или аналогичную компьютерную программу, исполняемую на любой вычислительной системе, которая позволяет кодеру 102 МВК посылать двоичный поток 103 по сети 106. Аналогично, сеть 106 может быть любого типа и(или) комбинацией проводных и(или) беспроводных сетей или сетевых систем, которые способны передавать двоичный поток 103 между кодером 102 МВК и(или) сервером 104 и декодерами 110 и 112 МВК.
Межплановое предсказание
Как отмечено ранее, при кодировании картинки в конкретном плане, таком как неосновной план, кодер 102 МВК может использовать картинки в основном плане и(или) в других неосновных планах в качестве межплановых опорных картинок для улучшения эффективности кодирования. Далее, при выполнении оценки движения для конкретной кадровой части (к примеру, для МБ) кодер 102 МВК может выбирать между использованием методов межпланового предсказания и временного предсказания. При выполнении методов межпланового предсказания кодер 102 МВК может использовать межплановые картинки в качестве опорных картинок для целей оценки движения.
В соответствии с настоящим изобретением и как будет подробнее поясняться ниже, кодер 102 МВК может определять режим межпланового кодирования, применяемый при выполнении межпланового предсказания и может выдавать в двоичный поток 103 соответствующий режимный индикатор, бит или флаг, указывающий на режим межпланового кодирования, связанный с по меньшей мере частью изображения или многоплановой видеопоследовательностью. В различных реализациях кодер 102 МВК может помещать индикатор режима в различные местоположения в двоичном потоке 103, в том числе в синтаксических компонентах заголовка картинки и(или) среза либо в синтаксических компонентах МБ в двоичном потоке 103.
В соответствии с настоящим изобретением режим межпланового кодирования, определенный кодером 102 MBK, может конкретизироваться как имеющий одно или два состояния: первый режим межпланового кодирования, когда двумерные (2D) межплановые ВД кодируются так, что для каждого ВД обе составляющих ВД кодируются и показываются в двоичном потоке, и второй режим межпланового кодирования, когда одномерные (ID) межплановые ВД кодируются так, что для каждого ВД только одна составляющая ВД кодируется и показывается в двоичном потоке. Как используется здесь, межплановый ВД задает направление из МБ (или подразделения макроблока и(или) под-макроблока) в видеопоследовательности одного плана на МБ (или подразделения макроблока и(или) под-макроблока) в видеопоследовательности другого плана. Например, в первом режиме межпланового кодирования кодированный межплановый МБ мотет включать в себя две составляющих ВД (к примеру, x и y), которые определяют смещение в двух направлениях, тогда как во втором режиме межпланового кодирования кодированный межплановый ВД может включать в себя только одну составляющую ВД (к примеру, x или y), которая определяет смещение только в одном направлении, тем самым снижая число двоичных разрядов, появляющихся в соответствующем двоичном потоке.
Например, Фиг.2 иллюстрирует пример многопланового сценария 200, в котором видеопоследовательности трехмерной сцены 202 снимаются с двух разных точек 204 и 206 наблюдения, которые смещены одна от другой вдоль одного направления, произвольно помеченного как ось «x» в данном примере. В сценарии 200 устройства получения изображений, такие как камеры (не показано), снимающие видео из точек 204 и 206 наблюдения, могут находиться в параллельной установке, когда эти камеры выровнены вдоль одного направления так, что из положения существенно отличаются только в одном измерении (к примеру, по оси x) и являются практически одинаковыми в других двух измерениях. В результате положения двух проекций трехмерного пространственного пиксела в сцене 202 на два плана 204 и 206 могут существенно отличаться только в одном измерении. Поэтому межплановый ВД, задающий направление из МБ в одном плане в МБ в другом плане, может иметь только одну существенную составляющую (к примеру, составляющую x), тогда как другая составляющая (к примеру, составляющая y) имеет нулевое или практически нулевое значение. Таким образом, при формировании двоичного потока в сценариях с нулевыми или практически нулевыми значениями составляющих ВД, таких как сценарий 200, кодер 102 МВК может принять решение не кодировать нулевые или практически нулевые составляющие ВБ и, следовательно, только составляющая ВД, подлежащая кодированию и помещению в двоичный поток, может быть ненулевой составляющей ВД.
МВК двоичный поток
В различных реализациях схема межпланового видеокодирования в соответствии с настоящим изобретением может непосредственно указывать в двоичном видеопотоке, кодируется ли и позывается ли в двоичном потоке составляющая ВД. Например, двоичный поток может включать в себя индикатор, флаг или двоичный разряд (b) межпланового режима, чтобы установить, что в первом режиме межпланового видеокодирования (к примеру, со значением b=0) обе составляющих x и y ВД кодируются и показываются в двоичном потоке, либо что во втором режиме межпланового видеокодирования (к примеру, со значением b=1) только составляющие x ВД кодируются и показываются в двоичном потоке и что никакие составляющие y ВД не кодируются, а потому и не показываются в этом двоичном потоке. Соответственно, синтаксис двоичного потока будет включать в себя кодированные x и кодированные у составляющие ВД (к примеру, (MVx, MVy)), когда двоичный разряд режима имеет нулевое значение, или может включать в себя только кодированные x составляющие ВД (к примеру, (MVx, 0)), когда двоичный разряд режима имеет единичное значение. Однако настоящее изобретение не ограничивается конкретными логическими значениями индикатора межпланового режима, а, значит, в других реализациях нулевое значение двоичного разряда режима может использоваться для указания, что кодируются только составляющие MVx, тогда как значение b=1 двоичного разряда режима может использоваться для указания того, что кодируются обе составляющих MVx и MVy, и т.д.
В различных реализациях индикатор межпланового кодирования может применяться на разных уровнях кодирования, в том числе - но без ограничения ими - к уровню МБ и(или) к более высоким уровням, таким как уровень срезов или уровень картинок. При применении к уровню кодирования, который указывает множество ВД, двоичный разряд режима межпланового кодирования может быть ведущим двоичным разрядом в заголовке уровня кодирования, тогда как кодированные составляющие ВД могут быть включены в синтаксис МБ.
В различных вариантах осуществления кодер 102 МВК может воплощать уровень сетевой абстракции (УСА) (NAL), который генерирует двоичный поток 103 путем форматирования кодированных видеоданных для включения в двоичный поток 103 и путем обеспечения в двоичном потоке 103 информации заголовка, которая позволяет воплотить схемы многопланового кодирования декодерами 110 и 112 МВК. В соответствии с настоящим изобретением, кодер 102 МВК может генерировать двоичный поток 103 как последовательности секций или пакетов УСА, когда каждая секция УСА включает в себя полезные многобайтовые видеоданные, в том числе составляющие векторов движения. Единственный кодированный кадр изображения, или секция доступа, может соответствовать набору следующих один за другим секций УСА, а кодированная видеопоследовательность, такая как кодированная видеопоследовательность основного плана или неосновного плана, может соответствовать набору следующих один за другим секций доступа.
В различных реализациях секции УСА в двоичном потоке 103 могут включать в себя заголовки срезов и(или) картинок, имеющие набор параметров последовательности и картинки и(или) дополнительные улучшающие информационные (ДУЙ) сообщения. Например, в стандарте МВК, МВК кодированная секция УСА среза включает в себя четырехразрядный заголовок, за которым следует секция полезных данных УСА. Синтаксические элементы в заголовке среза или картинки могут включать в себя идентификатор приоритета, идентификатор плана и т.д. Например, Фиг.3 иллюстрирует примерную часть 300 двоичного потока, включающую в себя заголовок 302 среза и полезные данные 304, а полезные данные 304 включают в себя, например, кодированные элементы 306 синтаксиса МБ. Каждый кодированный элемент 306 синтаксиса МБ может включать в себя заголовок 308 МБ, кодированные значения составляющих для одного или нескольких кодированных векторов 310 движения и кодированные разностные данные 312.
В различных реализациях в соответствии с настоящим изобретением заголовки срезов и(или) картинок в двоичном потоке 103 могут включать в себя индикаторы режима межпланового кодирования, как описано здесь. В различных реализациях двоичный поток 103 может включать в себя индикаторы режима межпланового кодирования на макроблоковом уровне или слое. В таких реализациях индикатор режима межпланового кодирования может быть ведущим двоичным разрядом, предусмотренным в заголовке макроблока. Например, Фиг.4 иллюстрирует примерную схему 400 синтаксиса макроблокового уровня в соответствии с различными реализациями настоящего изобретения. Схема 400 включает в себя синтаксис 402, где нулевое значение для ведущего двоичного разряда 404 (к примеру, соответствующее первому режиму межпланового кодирования) указывает, что кодированы обе составляющих MVx 406 и MVy 408. Схема 400 также включает в себя синтаксис 410 МБ, где единичное значение для ведущего двоичного разряда 404 (к примеру, соответствующее второму режиму межпланового кодирования) указывает, что кодированы только составляющие 412 MVx. В некоторых реализациях множество пар 414 из составляющих MVx и MVy (к примеру, более двух пар составляющих MVx и MVy) могут следовать за ведущим двоичным разрядом 404 в синтаксисе 402 и(или) множество составляющих 416 MVx (к примеру, более одной составляющей MVx) могут следовать за ведущим двоичным разрядом 404 в синтаксисе 410.
В различных реализациях двоичный поток 103 может включать в себя индикаторы режима межпланового кодирования на слое и(или) уровне картинки или среза. В таких реализациях индикатор режима межпланового кодирования может быть ведущим двоичным разрядом, предусмотренным в заголовке картинки и(или) среза. Например, Фиг.5 иллюстрирует примерную схему 500 синтаксиса на уровне среза в соответствии с различными реализациями настоящего изобретения. Схема 500 включает в себя синтаксис 512 среза/картинки, где нулевое значение для двоичного разряда 504 в заголовке 506 среза/картинки (к примеру, соответствующее первому режиму межпланового кодирования) указывает, что кодированы обе составляющих MVx 506 и MVy 508. Схема 500 также включает в себя синтаксис 508 среза/картинки, где единичное значение для двоичного разряда 504 в заголовке 506 (к примеру, соответствующее второму режиму межпланового кодирования) указывает, что кодированы только составляющие 512 MVx. В некоторых реализациях множество пар 510 из составляющих MVx и MVy могут следовать за заголовком 506 в синтаксисе 502 и(или) множество составляющих 512 MVx могут следовать за заголовком 506 в синтаксисе 508.
Фиг.6 иллюстрирует блок-схему алгоритма примерного процесса 600 для реализации схем межпланового кодирования в видеокодере согласно различным реализациям настоящего изобретения. В различных реализациях процесс 600 может использоваться для указания режима межпланового кодирования с помощью индикатора режима кодирования, введенного в двоичный поток, вырабатываемый, например, кодером 102 МВК в системе 100. Процесс 600 может включать в себя одну или несколько операций, функций или действий, как иллюстрируется одним или несколькими из блоков 602, 604 и 606 на Фиг.6. Посредством неограничивающего примера, процесс 600 будет описан здесь со ссылкой на примерные схемы 400 и 500 синтаксиса межпланового кодирования по Фиг.4 и 5, соответственно, как и на систему 100 по Фиг.1.
Процесс 600 может начинаться в блоке 602, где может быть определен режим межпланового кодирования для по меньшей мере части кадра изображения. Например, блок 602 может затрагивать кодер 102 МВК, определяющий режим межпланового кодирования, соответствующий синтаксису 402 в схеме 400, где кодированные составляющие для множества измерений (к примеру, составляющие MVx и MVy) подлежат включению в двоичный поток 103 для конкретного макроблока текущего кадра изображения. Альтернативно, может быть определен режим межпланового кодирования, соответствующий синтаксису 410 в схеме 400, где кодированные составляющие ВД только для одного измерения (к примеру, только составляющая MVx) подлежат включению в двоичный поток 103 для этого конкретного макроблока.
В различных реализациях блок 602 может включать в себя выборочное определение режима межпланового кодирования. Например, схемы МВК кодирования в соответствии с настоящим изобретением могут применяться к схемам как межпланового предсказания, так и временного предсказания. Например, реализация режимов межпланового кодирования может не описываться, если кодирование текущего кадра зависит только от единственной опорной картинки в той же самой видеопоследовательности (и, значит, только временное предсказание применимо к этому кадру). В таких обстоятельствах флаги или индикаторы режима межпланового кодирования могут быть удалены из синтаксиса двоичного потока или могут не размещаться в нем. С другой стороны, если текущий кадр имеет множество опорных кадров и могут применяться как межплановое, так и временное предсказания, флаги режима межпланового кодирования могут быть выборочно добавлены к синтаксису на основе индекса опорного кадра. Например, флаги режима межпланового кодирования могут быть добавлены в двоичный поток, если индекс кадра с опорным изображением соответствует кадру изображения в видеопоследовательности другого плана. Таким образом, в различных реализациях, если конкретная часть МБ или подблока использует только временное предсказание, то индикаторы режима межпланового кодирования не нужно вводить в двоичный поток. С другой стороны, если конкретная часть МБ или подблока может применять межплановое кодирование, то один или несколько индикаторов режима межпланового кодирования могут быть введены в соответствующий двоичный поток, как описано выше, и т.д.
В блоке 604 может устанавливаться соответствующее значение индикатора режима межпланового кодирования. Например, со ссылкой на схему 400 синтаксиса, ведущий двоичный разряд 404 может устанавливаться кодером 102 МВК, чтобы иметь значение, соответствующее режиму, определенному в блоке 602. Следуя примеру схемы 400, если режим межпланового кодирования, определенный в блоке 602, устанавливает многомерные межплановые векторы движения, то кодер 102 МВК может устанавливать, что ведущий двоичный разряд 404 должен иметь нулевое значение в блоке 604. Если же, с другой стороны, режим межпланового кодирования, определенный в блоке 602, устанавливает только одномерные межплановые векторы движения, то кодер 102 МВК может устанавливать, что ведущий двоичный разряд 404 должен иметь единичное значение в блоке 604. Аналогично, со ссылкой на схему 500 синтаксиса, ведущий двоичный разряд 504 в заголовке 506 среза может устанавливаться кодером 102 МВК в блоке 604, чтобы иметь значение, соответствующее режиму, определенному в блоке 602.
Процесс 600 может завершаться в блоке 606, где индикатор режима межпланового кодирования может встраиваться в двоичный поток. Например, блок 606 может затрагивать кодер 102 МВК в системе 100, вводящий двоичный разряд 404 и(или) двоичный разряд 504 в двоичный поток 103 для указания режима межпланового кодирования, определенного в блоке 602. Как отмечено выше, этот индикатор режима межпланового кодирования может предусматриваться в синтаксисе заголовка картинки и(или) среза в секции УСА среза и(или) в синтаксисе заголовка кодированного элемента МБ или подблока.
Фиг.7 иллюстрирует блок-схему алгоритма примерного процесса 700 для воплощения схем межпланового кодирования в видеодекодере согласно различным реализациям настоящего изобретения. В различных реализациях процесс 700 может использоваться для осуществления компенсации межпланового движения в одном или обоих декодерах 110 и(или) 112 МВК в системе 100, как указано индикатором режима межпланового кодирования, принятым в двоичном потоке, выданном, например, кодером 102 МВК в системе 100. Процесс 700 может включать в себя одну или несколько операций, функций или действий, как показано одним или несколькими из блоков 702, 704 и 706 на Фиг.7. Путем неограничивающего примера процесс 700 будет здесь описан со ссылкой на примерные схемы 400 и 500 синтаксиса межпланового кодирования по Фиг.4 и 6, соответственно, как и на систему 100 по Фиг.1.
Процесс 700 может начинаться в блоке 702, где может быть принят двоичный поток, который включает в себя индикатор режима межпланового кодирования, связанный с по меньшей мере частью кадра изображения. Например, блок 702 может затрагивать декодер 110 МВК, принимающий двоичный поток, который включает в себя индикатор режима межпланового кодирования, как описано здесь. Например, двоичный поток, принятый в блоке 702, может соответствовать двоичному потоку, как предусмотрено в блоке 606 процесса 600, как описано выше.
В блоке 704 может определяться режим межпланового кодирования в ответ на индикатор режима межпланового кодирования, принятый в блоке 702. Например, в зависимости от значения этого индикатора режима межпланового кодирования декодер 110 МВК может определять режим межпланового кодирования в блоке 704. Например, декодер 110 МВК принимает индикатор режима межпланового кодирования, аналогичный тому, что предусмотрен синтаксисом 402 схемы 400, тогда декодер 110 МВК может определить режим межпланового кодирования, где кодированный многоразмерный вектор движения (к примеру, включающий в себя составляющие MVx и MVy) должен использоваться для выполнения компенсации межпланового движения для конкретного макроблока в текущем кадре изображения. Альтернативно, если декодер 110 МВК принимает индикатор режима межпланового кодирования, аналогичный тому, что предусмотрен синтаксисом 410 схемы 400, тогда декодер 110 МВК может определить режим межпланового кодирования, где кодированный одномерный вектор движения (к примеру, включающий в себя составляющую MVx) должен использоваться для выполнения компенсации межпланового движения в этом конкретном макроблоке.
Процесс 700 может завершаться в блоке 706, где может выполняться компенсация межпланового движения для части кадра изображения в ответ на режим межпланового кодирования, определенный в блоке 704. Например, в различных реализациях, в одном режиме межпланового кодирования блок 706 может затрагивать декодер 110 МВК, выполняющий компенсацию межпланового движения для конкретного макроблока с помощью многомерного ВД (к примеру, включающий в себя составляющие MVx и MVy). Альтернативно, в другом режиме межпланового кодирования блок 706 может затрагивать декодер 110 МВК, выполняющий компенсацию межпланового движения для конкретного макроблока с помощью одномерного ВД (к примеру, включающий в себя только составляющую MVx).
Хотя реализации примерных процессов 600 и 700, как показано на Фиг.6 и 7, могут включать в себя осуществление всех блоков, показанных в иллюстрированном порядке, настоящее изобретение не ограничивается в этом отношении и в различных примерах реализация процессов 600 и 700 может включать в себя осуществление только поднабора показанных блоков и(или) в порядке, отличном от показанного.
Помимо этого, любые один или несколько из блоков по Фиг.6 и 7 могут осуществляться в ответ на команды, предоставленные одним или несколькими компьютерными программными продуктами. Такие программные продукты могут включать в себя несущую сигнал среду с командами, которые при их исполнении, например, процессором могут обеспечивать описанные здесь функциональные возможности. Эти компьютерные программные продукты могут предусматриваться в виде машиночитаемых носителей. Так, например, процессор, включающий в себя одно или несколько процессорных ядер, может осуществлять один или несколько блоков, показанных на Фиг.6 и 7, в ответ на команды, подаваемые в этот процессор машиночитаемым носителем.
Как используется в любой описанной здесь реализации, выражение «модуль» относится к любой комбинации программного, программно-аппаратного и(или) аппаратного обеспечения, выполненного с возможностью обеспечить описанные здесь функциональные возможности. Программное обеспечение может быть воплощено как пакет программ, код и(или) набор команд либо команды, а «аппаратное обеспечение», как используется в описанной здесь реализации, может включать в себя, например, по отдельности или в любой комбинации, «зашитую» схему, программируемую схему, схему конечного автомата и(или) программно-аппаратное обеспечение, которое хранит команды, исполняемые программируемой схемой. Модули могут, совместно или по отдельности, быть воплощены как схема, которая образует части большей системы, например, интегральная схема (ИС) (1C), система на кристалле (SoC) и т.д.
Фиг.8 иллюстрирует примерную систему 800 в соответствии с настоящим изобретением. В различных реализациях система 800 может быть медиа системой, хотя система 800 и не ограничена в этом отношении. Например, система 800 может встраиваться в персональный компьютер (ПК) (PC), портативный компьютер, сверхпортативный компьютер, планшет, сенсорную панель, переносной компьютер, карманный компьютер, ручной компьютер, персональный цифровой ассистент (ПЦА) (PDA), сотовый телефон, комбинированный сотовый телефон-ПЦА, телевизор, интеллектуальное устройство (к примеру, смартфон, смарт-планшет или смарт-телевизор), мобильное Интернет-устройство (MID), устройство обмена сообщениями, устройство обмена данными и т.п.
В различных реализациях система 800 включает в себя платформу 802, связанную с дисплеем 820. Платформа 802 может принимать контент из контентного устройства, такого как устройство(-а) 830 контентных услуг или устройство(-а) 840 доставки контента, либо иные аналогичные источники контента. Навигационный контроллер 850, включающий в себя одно или несколько навигационных элементов, может использоваться для взаимодействия с, например, платформой 802 и(или) дисплеем 820. Каждый из этих компонентов подробнее описан ниже.
В различных реализациях платформа 802 может включать в себя любую комбинацию из набора 805 микросхем, процессора 810, оперативной памяти 812, постоянной памяти 814, графической подсистемы 815, приложений 816 и(или) радио 818. Набор 805 микросхем обеспечивает взаимосвязь между процессором 810, оперативной памятью 812, постоянной памятью 814, графической подсистемой 815, приложениями 816 и(или) радио 818. Например, набор 805 микросхем может включать в себя адаптер устройства хранения данных (не показан), способный обеспечивать взаимосвязь с постоянной памятью 814.
Процессор 810 может быть реализован как процессоры компьютера с полной системой команд (КПСК) (CISC), компьютера с сокращенной системой команд (КССК) (RISC), процессоры, совместимые с набором команд х86, многоядерный или любой иной микропроцессор или центральный процессор (ЦП) (CPU). В различных реализациях процессор 810 может быть двухядерным процессором(-ами), двухядерным мобильным процессором(-ами) и т.д.
Оперативная память 812 может быть реализована как устройство энергозависимой памяти, такое как - но без ограничения ими - оперативно запоминающее устройство (ОЗУ) (RAM), динамическое оперативно запоминающее устройство (ДОЗУ) (DRAM) или статическое ОЗУ (СОЗУ) (SRAM).
Постоянная память 814 может быть реализована как энергонезависимое устройство, такое как - но без ограничения ими - накопитель на магнитном диске, накопитель на оптическом диске, ленточный накопитель, внутреннее запоминающее устройство, присоединяемое запоминающее устройство, флэш-память, синхронное ДОЗУ (СДОЗУ) с резервным батарейным питанием и(или) доступное по сети запоминающее устройство. В различных реализациях постоянная память 814 может включать в себя, например, технологию для увеличения усиленной защиты характеристик запоминания для важных цифровых носителей, когда имеется множество жестких дисков.
Графическая подсистема 815 может выполнять обработку изображений, таких как фото или видео для дисплея. Графическая подсистема 815 может быть графическим процессором (ГП) (GPU) или видеопроцессором (ВП) (VPU), например. Для коммуникативного соединения графической подсистемы 815 и дисплея 829 может использоваться аналоговый или цифровой интерфейс. Например, интерфейс может быть любым из мультимедийного интерфейса высокого разрешения МИВР (HDMI), дисплейного порта, беспроводного МИВР и(или) беспроводным методом, совместимым с высоким разрешением. Графическая подсистема 815 может быть встроена в процессор 810 или набор 805 микросхем. В некоторых реализациях графическая подсистема 815 может быть автономной картой, коммуникативно связанной с набором 805 микросхем.
Описанные здесь методы графической или видеообработки могут воплощаться в различных аппаратных архитектурах. Например, графические и(или) видеофункции могут встраиваться в набор микросхем. Альтернативно, может использоваться отдельный графический и(или) видеопроцессор. В качестве еще одной реализации графические и(или) видеофункции могут осуществляться посредством универсального процессора, в том числе многоядерного процессора. В других вариантах осуществления эти функции могут быть реализованы в устройстве бытовой электроники.
Радио 818 может включать в себя одно или несколько радиоустройств, способных передавать и принимать сигналы с использованием различных подходящих методов беспроводной связи. Такие методы могут включать в себя связь по одной или нескольким беспроводным сетям. Примерные беспроводные сети включают в себя - но не ограничиваются ими - беспроводные локальные сети (WLAN), беспроводные персональные сети (WPAN), беспроводные сети метрополитена (WMAN), сотовые сети и спутниковые сети. При связи по таким сетям радио 818 может работать в соответствии с одним или несколькими пригодными стандартами в любой версии.
В различных реализациях дисплей 820 может включать в себя любой монитор или дисплей телевизионного типа. Дисплей 820 может включать, например, компьютерный дисплейный экран, сенсорный экран, видеомонитор, подобное телевизору устройство и(или) телевизор. Дисплей 820 может быть цифровым и(или) аналоговым. В различных реализациях дисплей 820 может быть и топографическим дисплеем. Кроме того, дисплей 820 может быть прозрачной поверхностью, которая может принимать видеопроекцию. Такие проекции могут передавать различные виды информации, изображений и(или) объектов. Например, такие проекции могут представлять собой визуальное наложение для приложения мобильной дополнительной реальности (МДР) (MAR). Под управлением одного или нескольких программных приложений 816 платформа 802 может отображать пользовательский интерфейс 822 на дисплее 820.
В различных реализациях устройство(-а) 830 контентных услуг может (могут) помещаться в любом национальном, международном и(или) независимом сервисе и, таким образом, доступном для платформы 802 по Интернету, например. Устройство(-а) 830 контентных услуг может (могут) связываться с платформой 802 и(или) дисплеем 820. Платформа 802 и(или) устройство(-а) 830 контентных услуг могут соединяться по сети 860, чтобы пересылать (к примеру, передавать и(или) принимать) медиа информацию в сеть 860 и из нее. Устройство(-а) 830 контентных услуг может (могут) также соединяться с платформой 801 и(или) дисплеем 820.
В различных реализациях устройство(-а) 830 контентных услуг может (могут) включать в себя кабельную телевизионную приставку, персональный компьютер, сеть, телефон, функционирующие через Интернет устройство или приспособление, способные доставлять цифровую информацию и(или) контент, и любое иное аналогичное устройство, способное осуществлять однонаправленную или двунаправленную передачу контента между поставщиками контента и платформой 802 и(или) дисплеем 820 по сети 860 или непосредственно. Понятно, что контент может передаваться однонаправлено или двунаправлено к и от любой из составляющих в системе 800 и поставщиком контента по сети 860. Примеры контента могут включать в себя любую медиа информацию, в том числе, например, видео, музыку, медицинскую и игровую информацию и т.д.
Устройство(-а) 830 контентных услуг может (могут) принимать контент, такой как кабельные телевизионные программы, в том числе медиа информацию, цифровую информацию и(или) иной контент. Примеры поставщиком контента могут включать в себя любых поставщиков кабельного или спутникового телевидения либо радио- или Интернет-контента. Приведенные примеры не означают ограничения реализации в соответствии с настоящим изобретением.
В различных реализациях платформа 802 может принимать управляющие сигналы от навигационного контроллера 850, имеющего один или несколько навигационных элементов. Эти навигационные элементы навигационного контроллера 850 могут использоваться для взаимодействия с пользовательским интерфейсом 822, например. В вариантах осуществления навигационный контроллер 850 может быть позиционирующим устройством, которое может быть компьютерным аппаратным компонентом (конкретно, устройством человеко-машинного взаимодействия), который позволяет пользователю вводить в компьютер пространственные (к примеру, непрерывные и многомерные) данные. Многие системы, такие как графические пользовательские интерфейсы (ГПИ) (GUI), а также телевизоры и мониторы позволяют пользователю управлять данными и подавать их в компьютер или телевизор с помощью физических жестов.
Перемещения навигационных элементов контроллера 850 могут воспроизводиться на дисплее (к примеру, на дисплее 820) посредством перемещений указателя, курсора, фокусного кольца или других визуальных индикаторов, отображаемых на дисплее. Например, под управлением программных приложений 815 навигационные элементы, расположенные на навигационном контроллере 850, могут отображаться в виртуальные навигационные элементы, отображенные на пользовательском интерфейсе 822, например. В вариантах осуществления контроллер 850 может быть не отдельным компонентом, а встроенным в платформу 802 и(или) дисплей 820. Однако настоящее изобретение не ограничивается показанными или описанными здесь элементами или контекстом.
В различных реализациях приводы (не показаны) могут включать в себя технологию, позволяющую пользователю мгновенно включать и выключать платформу 802, как телевизор, касанием кнопки после начальной загрузки, например, при необходимости. Программная логика может разрешать платформе 802 выдавать контент в медиа адаптеры или другое(-ие) устройство(-а) 830 контентных услуг либо устройство(-а) 840 доставки контента, даже когда платформа выключена. Помимо этого, набор 805 микросхем может включать в себя аппаратную и(или) программную поддержку для качественной записи звука 5.1 и(или) для качественной записи звука 7.1 с высоким разрешением, например. Приводы могут включать в себя графический привод для встроенных графических платформ. В вариантах осуществления графический привод может содержать графический адаптер Экспресс с разъемом периферийных компонент (РПК) (PCI).
В различных реализациях любой или любые из компонентов, показанных в системе 800, могут быть встроенными. Например, платформа 802 и устройство(-а) 830 контентных услуг могут быть встроены, либо платформа 802 и устройство(-а) 840 доставки контента могут быть встроены, либо, например, платформа 802, устройство(-а) 830 контентных услуг и устройство(-а) 840 доставки контента могут быть встроены. В различных реализациях платформа 802 и дисплей 820 могут быть встроенным блоком. Дисплей 820 и устройство(-а) 830 контентных услуг могут быть встроены, либо дисплей 820 и устройство(-а) 840 доставки контента могут быть встроены, например, эти примеры не означают ограничения настоящего изобретения.
В различных вариантах осуществления система 800 может быть реализована как беспроводная система, проводная система или их комбинация. При реализации в качестве беспроводной системы система 800 может включать в себя компоненты и интерфейсы для связи по беспроводным совместно используемым средствам, таким как одна или несколько антенн, передатчики, приемники, приемопередатчики, усилители, фильтры, управляющая логика и т.д. пример беспроводных совместно используемых средств может включать в себя части беспроводного спектра, такого как высокочастотный спектр, и т.д. При реализации в качестве проводной системы система 800 может включать в себя компоненты и интерфейсы, пригодные для связи по проводным средствам связи, таким как адаптеры ввода-вывода (I/O), физические соединители для соединения адаптеров ввода-вывода с соответствующими проводными средствами связи, сетевую интерфейсную карту (СИК) (NIC), дисковый контроллер, видеоконтроллер, аудиоконтроллер и т.п. Примеры проводных средств связи могут включать в себя провод, кабель, металлические электроды, печатную схему (РСВ), системную панель, коммутационную матрицу, полупроводниковый материал, провод витой пары, коаксиальный кабель, оптоволокно и т.д.
Платформа 802 может устанавливать один или несколько логических или физических каналов для передачи информации. Эта информация может включать в себя медиа информацию и управляющую информацию. Медиа информацией могут именоваться любые данные, представляющие значимый для пользователя контент. Примеры контента могут включать в себя, например, данные из речевой беседы, видеоконференции, потокового видео, сообщения электронной почты («email»), сообщения речевой почты, алфавитно-цифровые символы, графику, изображение, видео, текст и т.д. Данные из речевой беседы могут быть, например, речевой информацией, периодами молчания, фоновым шумом, комфортным шумом, тонами и т.д. Управляющая информация может относиться к любым данным, представляющим приказания, команды или управляющие слова, значимые для автоматизированной системы. Например, управляющая информация может использоваться для маршрутизации медиа информации по системе или для поручению узлу обрабатывать медиа информацию заранее заданным образом. Варианты осуществления, однако, не ограничиваются элементами или контекстом, показанными или описанными на Фиг.8.
Как описано выше, система 800 может быть воплощена в различных физических формах или конструктивных параметрах. Фиг.9 иллюстрирует реализации маломерного устройство 900, в котором может быть воплощена система 800. в вариантах осуществления, например, устройство 900 может быть реализовано как мобильное вычислительное устройство со способностями беспроводной связи. Мобильным вычислительным устройством может именоваться любое устройство с процессорной системой и мобильным источником питания, таким как один или несколько аккумуляторов.
Как описано выше, примеры мобильного вычислительного устройства могут включать в себя персональный компьютер (ПК), портативный компьютер, сверхпортативный компьютер, планшет, сенсорную панель, переносной компьютер, карманный компьютер, ручной компьютер, персональный цифровой ассистент (ПЦА) (PDA), сотовый телефон, комбинированный сотовый телефон-ПЦА, телевизор, интеллектуальное устройство (к примеру, смартфон, смарт-планшет или смарт-телевизор), мобильное Интернет-устройство (MID), устройство обмена сообщениями, устройство обмена данными и т.п.
Примеры мобильного вычислительного устройства могут также включать в себя компьютеры, которые устроены для ношения человеком, такие как наручный компьютер, компьютер на палец, компьютер на кольце, компьютер на очках, компьютер на поясном ремне, компьютер в нарукавной повязке, компьютеры в ботинках, компьютеры в одежде и иные носимые компьютеры. В различных вариантах осуществления, например, мобильное вычислительное устройство может быть реализовано как смартфон, способный исполнять компьютерные приложения, а также речевую связь и(или) передачу данных. Хотя некоторые варианты осуществления могут описываться в качестве примера с мобильным вычислительным устройством, реализованным как смартфон, понятно, что и другие варианты осуществления могут быть также реализованы с помощью других беспроводных мобильных вычислительных устройств. Эти варианты осуществления не ограничиваются данным контекстом.
Как показано на Фиг.9, устройство 900 может включать в себя корпус 902, дисплей 904, устройство 906 ввода-вывода и антенну 908. Устройство 900 может также включать в себя навигационные элементы 912. Дисплей 904 может включать в себя любой подходящий дисплейный блок для отображения информации, пригодной для мобильного вычислительного устройства. Устройство 906 ввода-вывода может включать в себя любое подходящее устройство ввода-вывода для введения информации в мобильное вычислительное устройство. Примеры для устройства 906 ввода-вывода могут включать в себя алфавитно-цифровую клавиатуру, цифровую клавишную панель, сенсорную панель, клавиши ввода, кнопки, переключатели, кулисные переключатели, микрофоны, громкоговорители, устройство и программное обеспечение распознавания речи и т.д. Информацию можно также вводить в устройство 900 посредством микрофона (не показан). Такая информация может оцифровываться устройством распознавания речи (не показано). Варианты осуществления не ограничиваются данным контекстом.
Различные варианты осуществления могут быть реализованы с использованием аппаратных элементов, программных элементов или комбинацией обоих. Примеры аппаратных элементов могут включать в себя процессоры, микропроцессоры, схемы, схемные элементы (к примеру, транзисторы, резисторы, конденсаторы, катушки индуктивности и т.д.), интегральные схемы, специализированные интегральные схемы (ASIC), программируемые логические устройства (PLD), цифровые сигнальные процессоры (DSP), программируемую пользователем вентильную матрицу (FPGA), логические вентили, регистры, полупроводниковое устройство, интегральные микросхемы, наборы микросхем и т.д. Примеры программного обеспечения могут включать в себя программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционных систем, микропрограммные средства, встроенные программы, программные модули, подпрограммы, функции, способы, процедуры, программные интерфейсы, прикладные программные интерфейсы (API), наборы команд, вычислительный код, компьютерный код, кодовые сегменты, компьютерные кодовые сегменты, слова, значения, символы или любые их комбинации. Определение того, реализуется ли вариант осуществления с помощью аппаратных элементов и(или) программных элементов, может меняться в соответствии с любым числом факторов, таких как желаемые скорость вычислений, уровни мощности, термоустойчивость, баланс цикла обработки, скорости ввода данных, скорости вывода данных, ресурсы памяти, скорости шины данных и прочие ограничения конструкции или характеристик.
Один или несколько аспектов по меньшей мере одного варианта осуществления могут реализовываться представительными командами, хранящимися на машиночитаемом носителе, который представляет различную логику в процессоре, которые при считывании машиной заставляют эту машину строить логику для выполнения описанных здесь методов. Такие представления, известные как «ядра Интернет-протокола», могут храниться на материальном машиночитаемом носителе и поставляться различным потребителям или производящим предприятиям для загрузки в изготавливаемые машины, которые реально создают логику или процессор.
Хотя некоторые изложенные здесь признаки описаны со ссылкой на различные реализации, данное описание не предназначено для истолкования в ограничивающем смысле. Следовательно, различные модификации описанных здесь реализации, а также другие реализации, понятные специалистам, которым данное описание предназначено, считаются попадающими в сущность и объем настоящего изобретения.
название | год | авторы | номер документа |
---|---|---|---|
КОМПЕНСАЦИЯ ГЛОБАЛЬНОГО ДВИЖЕНИЯ ДЛЯ ВИДЕОИЗОБРАЖЕНИЙ | 2002 |
|
RU2307478C2 |
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА НА ОСНОВЕ БУФЕРА КАРТИНОК ДЕКОДЕРА | 2012 |
|
RU2597523C2 |
ГРУППИРОВАНИЕ ЭЛЕМЕНТОВ СИНТАКСИСА С КОДИРОВАНИЕМ В РЕЖИМЕ ОБХОДА В КОДИРОВАНИИ ВИДЕО | 2013 |
|
RU2623884C2 |
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА НА ОСНОВЕ БУФЕРА КАРТИНОК ДЕКОДЕРА | 2012 |
|
RU2645270C1 |
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ С ИСПОЛЬЗОВАНИЕМ КОМПАКТНОГО MV ХРАНИЛИЩА | 2019 |
|
RU2783385C2 |
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ С ИСПОЛЬЗОВАНИЕМ КОМПАКТНОГО MV ХРАНИЛИЩА | 2019 |
|
RU2771925C1 |
ГИБКОЕ КВАНТОВАНИЕ | 2012 |
|
RU2619908C2 |
СПОСОБ И УСТРОЙСТВО СИГНАЛИЗАЦИИ ВЫСОКОГО УРОВНЯ ДЛЯ ВЗВЕШЕННОГО ПРОГНОЗИРОВАНИЯ | 2020 |
|
RU2822506C1 |
OLS ДЛЯ ПРОСТРАНСТВЕННОЙ МАСШТАБИРУЕМОСТИ И МАСШТАБИРУЕМОСТИ ПО SNR | 2020 |
|
RU2822990C1 |
УПАКОВКА КАДРОВ ДЛЯ КОДИРОВАНИЯ ВИДЕО | 2010 |
|
RU2543954C2 |
Изобретение относится к области кодирования нескольких видеопоследовательностей с различных планов сцены. Технический результат - обеспечение улучшения эффективности кодирования. Реализуемый компьютером способ межпланового кодирования содержит этапы, на которых в видеокодере: определяют режим межпланового кодирования для по меньшей мере части кадра изображения; конкретизируют соответствующее значение для индикатора режима межпланового кодирования; и встраивают индикатор режима в двоичный поток, при этом двоичный поток включает в себя кодированный вектор, связанный с частью кадра изображения; причем первое значение индикатора режима соответствует первому режиму межпланового кодирования, в котором кодированный вектор движения включает в себя составляющие во многих измерениях, а второе значение индикатора режима соответствует второму режиму межпланового кодирования, в котором составляющие кодированного вектора движения включают в себя составляющие только в одном измерении. 5 н. и 25 з.п. ф-лы, 9 ил.
1. Реализуемый компьютером способ межпланового кодирования, содержащий этапы, на которых:
в видеокодере:
- определяют режим межпланового кодирования для по меньшей мере части кадра изображения;
- конкретизируют соответствующее значение для индикатора режима межпланового кодирования; и
- встраивают индикатор режима в двоичный поток, при этом двоичный поток включает в себя кодированный вектор, связанный с частью кадра изображения;
причем первое значение индикатора режима соответствует первому режиму межпланового кодирования, в котором кодированный вектор движения включает в себя составляющие во многих измерениях, а второе значение индикатора режима соответствует второму режиму межпланового кодирования, в котором составляющие кодированного вектора движения включают в себя составляющие только в одном измерении.
2. Способ по п. 1, в котором во втором режиме межпланового кодирования нулевые составляющие вектора движения не кодируют.
3. Способ по п. 1, в котором заголовок картинки или заголовок среза в двоичном потоке включает в себя индикатор режима межпланового кодирования.
4. Способ по п. 1, в котором часть кадра изображения содержит макроблок, и при этом этап, на котором встраивают индикатор режима в двоичный поток, содержит этап, на котором помещают индикатор режима в синтаксис, связанный с этим макроблоком.
5. Способ по п. 1, в котором в первом режиме межпланового кодирования кодированный вектор движения включает в себя более одной составляющей, а во втором режиме межпланового кодирования кодированный вектор движения включает в себя только одну составляющую.
6. Способ по п. 1, в котором этап, на котором определяют режим межпланового кодирования, содержит этап, на котором выборочно определяют режим межпланового кодирования в ответ на индекс опорного кадра изображения.
7. Способ по п. 6, в котором часть кадра изображения содержит часть кадра изображения из видеопоследовательности первого плана и при этом этап, на котором выборочно определяют режим межпланового кодирования, содержит этап, на котором определяют режим межпланового кодирования, только если индекс опорного кадра изображения соответствует кадру изображения видеопоследовательности второго плана.
8. Способ по п. 1, в котором видеокодер содержит кодер межпланового видеокодирования (МВК).
9. Реализуемый компьютером способ межпланового кодирования, содержащий этапы, на которых:
в видеодекодере:
- принимают двоичный поток, который включает в себя индикатор режима межпланового кодирования, связанный с по меньшей мере частью кадра изображения;
- определяют, в ответ на этот индикатор режима межпланового кодирования, один из первого режима межпланового кодирования или второго режима межпланового кодирования; и
- выполняют компенсацию движения для части кадра изображения в ответ на определенный режим межпланового кодирования, при этом в первом режиме межпланового кодирования двоичный поток включает в себя кодированный вектор движения, имеющий составляющие во многих измерениях, а во втором режиме межпланового кодирования двоичный поток включает в себя кодированный вектор движения, имеющий составляющие только в одном измерении.
10. Способ по п. 9, в котором во втором режиме межпланового кодирования нулевые составляющие вектора движения не кодируют.
11. Способ по п. 9, в котором заголовок картинки или заголовок среза в двоичном потоке включает в себя индикатор режима межпланового кодирования.
12. Способ по п. 9, в котором часть кадра изображения содержит макроблок, и при этом синтаксис макроблока в двоичном потоке включает в себя индикатор режима межпланового кодирования.
13. Способ по п. 9, в котором в первом режиме межпланового кодирования кодированный вектор движения включает в себя более одной составляющей, а во втором режиме межпланового кодирования кодированный вектор движения включает в себя только одну составляющую.
14. Способ по п. 9, в котором видеодекодер содержит декодер межпланового видеокодирования (МВК).
15. Машиночитаемый носитель, содержащий компьютерный программный продукт с сохраненными на нем командами, которые при исполнении приводят к выполнению способа межпланового кодирования, содержащего этапы, на которых:
- определяют режим межпланового кодирования для по меньшей мере части кадра изображения;
- конкретизируют соответствующее значение для индикатора режима межпланового кодирования; и
- встраивают индикатор режима в двоичный поток, при этом двоичный поток включает в себя кодированный вектор, связанный с частью кадра изображения;
причем первое значение индикатора режима соответствует первому режиму межпланового кодирования, в котором кодированный вектор движения включает в себя составляющие во многих измерениях, а второе значение индикатора режима соответствует второму режиму межпланового кодирования, в котором составляющие кодированного вектора движения включают в себя составляющие только в одном измерении.
16. Машиночитаемый носитель по п. 15, в котором во втором режиме межпланового кодирования нулевые составляющие вектора движения не кодируют.
17. Машиночитаемый носитель по п. 15, в котором часть кадра изображения содержит макроблок, и при этом этап, на котором встраивают индикатор режима в двоичный поток, содержит этап, на котором помещают индикатор режима в синтаксис, связанный с этим макроблоком.
18. Машиночитаемый носитель по п. 15, в котором в первом режиме межпланового кодирования кодированный вектор движения включает в себя более одной составляющей, а во втором режиме межпланового кодирования кодированный вектор движения включает в себя только одну составляющую.
19. Машиночитаемый носитель по п. 15, в котором этап, на котором определяют режим межпланового кодирования, содержит этап, на котором выборочно определяют режим межпланового кодирования в ответ на индекс опорного кадра изображения.
20. Машиночитаемый носитель по п. 19, в котором часть кадра изображения содержит часть кадра изображения из видеопоследовательности первого плана и при этом этап, на котором выборочно определяют режим межпланового кодирования, содержит этап, на котором определяют режим межпланового кодирования, только если индекс опорного кадра изображения соответствует кадру изображения видеопоследовательности второго плана.
21. Машиночитаемый носитель, содержащий компьютерный программный продукт с сохраненными на нем командами, которые при исполнении приводят к выполнению способа межпланового кодирования, содержащего этапы, на которых:
- принимают двоичный поток, который включает в себя индикатор режима межпланового кодирования, связанный с по меньшей мере частью кадра изображения;
- определяют, в ответ на этот индикатор режима межпланового кодирования, один из первого режима межпланового кодирования или второго режима межпланового кодирования; и
- выполняют компенсацию движения для части кадра изображения в ответ на определенный режим межпланового кодирования, при этом в первом режиме межпланового кодирования двоичный поток включает в себя кодированный вектор движения, имеющий составляющие во многих измерениях, а во втором режиме межпланового кодирования двоичный поток включает в себя кодированный вектор движения, имеющий составляющие только в одном измерении.
22. Машиночитаемый носитель по п. 21, в котором во втором режиме межпланового кодирования нулевые составляющие вектора движения не кодируют.
23. Машиночитаемый носитель по п. 21, в котором часть кадра изображения содержит макроблок, и при этом синтаксис макроблока в двоичном потоке включает в себя индикатор режима межпланового кодирования.
24. Машиночитаемый носитель по п. 21, в котором в первом режиме межпланового кодирования кодированный вектор движения включает в себя более одной составляющей, а во втором режиме межпланового кодирования кодированный вектор движения включает в себя только одну составляющую.
25. Система межпланового кодирования, содержащая:
- антенну для передачи двоичного потока, включающего в себя видеоданные; и
- видеокодер, причем видеокодер коммуникативно связан с антенной, и при этом видеокодер служит для выполнения этапов, на которых:
- определяют режим межпланового кодирования для по меньшей мере части кадра изображения;
- конкретизируют соответствующее значение для индикатора режима межпланового кодирования; и
- встраивают индикатор режима в двоичный поток, при этом двоичный поток включает в себя кодированный вектор, связанный с частью кадра изображения;
причем первое значение индикатора режима соответствует первому режиму межпланового кодирования, в котором кодированный вектор движения включает в себя составляющие во многих измерениях, а второе значение индикатора режима соответствует второму режиму межпланового кодирования, в котором составляющие кодированного вектора движения включают в себя составляющие только в одном измерении.
26. Система по п. 25, в которой во втором режиме межпланового кодирования нулевые составляющие вектора движения не кодируют.
27. Система по п. 25, в которой часть кадра изображения содержит макроблок, и при этом для встраивания индикатора режима в двоичный поток видеокодер должен помещать индикатор режима в синтаксис, связанный с этим макроблоком.
28. Система по п. 25, в которой в первом режиме межпланового кодирования кодированный вектор движения включает в себя более одной составляющей, а во втором режиме межпланового кодирования кодированный вектор движения включает в себя только одну составляющую.
29. Система по п. 25, в которой для определения режима межпланового кодирования видеокодер должен выборочно определять режим межпланового кодирования в ответ на индекс опорного кадра изображения.
30. Система по п. 29, в которой часть кадра изображения содержит часть кадра изображения из видеопоследовательности первого плана и при этом для выборочного определения режима межпланового кодирования видеокодер должен определять режим межпланового кодирования, только если индекс опорного кадра изображения соответствует кадру изображения видеопоследовательности второго плана.
Способ приготовления лака | 1924 |
|
SU2011A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
СПОСОБ ВИДЕОКОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ, УСТРОЙСТВА ДЛЯ ПРОГРАММЫ ДЛЯ ИХ РЕАЛИЗАЦИИ И ЗАПОМИНАЮЩИЕ НОСИТЕЛИ ДЛЯ ХРАНЕНИЯ ТАКИХ ПРОГРАММ | 2007 |
|
RU2384971C1 |
Авторы
Даты
2016-01-20—Публикация
2011-12-13—Подача