Расширение заголовка вырезки для трехмерного видео для прогнозирования заголовков вырезок
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования и декодирования трехмерных видеоданных. Техническим результатом является повышение эффективности кодирования или декодирования видеоконтента с высоким разрешением или высоким качеством при помощи информации, указывающей на то, закодирована ли информация о текстуре единицы кодирования, и принимая во внимание вырезку глубины. Предложен способ кодирования видеоданных. Способ включает в себя этап, на котором кодируют один или более блоков видеоданных, представляющих информацию текстуры, по меньшей мере, части кадра видеоданных. Далее, согласно способу обрабатывают вырезку текстуры для компонента вида текстуры текущего вида, ассоциированного с единицей доступа, причем вырезка текстуры содержит кодированные один или более блоков и заголовок вырезки текстуры, содержащий набор элементов синтаксиса, представляющих характеристики вырезки текстуры. При выполнении вырезки текстуры осуществляют формирование или прием вырезки текстуры. Далее, кодируют информацию глубины, представляющую значения глубины, по меньшей мере, для части кадра, и обрабатывают вырезку глубины для компонента вида глубины текущего вида, соответствующего компоненту вида текстуры текущего вида. 4 н. и 52 з.п. ф-лы, 6 ил., 6 табл.
Реферат
[0001] Данная заявка испрашивает приоритет по предварительным заявкам на патент США № 61/510,738, поданной 22 июля 2011 года, № 61/522,584, поданной 11 августа 2011 года, № 61/563,772, поданной 26 ноября 2011 года, № 61/595,612, поданной 6 февраля 2012 года, № 61/624,031, поданной 13 апреля 2012 года, и № 61/637,212, поданной 23 апреля 2012 года, каждая из которых настоящим полностью содержится в данном документе по ссылке.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0002] Данное раскрытие сущности относится к области техники кодирования видео, например, к кодированию трехмерных видеоданных.
УРОВЕНЬ ТЕХНИКИ
[0003] Возможности цифрового видео могут быть встроены в широкий диапазон устройств, включающих в себя цифровые телевизоры, системы цифровой прямой широковещательной передачи, устройства беспроводной связи, такие как переносные радиотелефоны, беспроводные широковещательные системы, персональные цифровые устройства (PDA), дорожные или настольные компьютеры, цифровые камеры, цифровые записывающие устройства, устройства для видеоигр, консоли для видеоигр и т.п. Цифровые видеоустройства реализуют такие технологии сжатия видеоизображения, как MPEG-2, MPEG-4 или H.264/MPEG-4, часть 10, усовершенствованное кодирование видео (AVC), чтобы более эффективно передавать и принимать цифровое видео. Технологии сжатия видеоизображений выполняют пространственное и временное прогнозирование для того, чтобы уменьшать или удалять избыточность, присутствующую в видеопоследовательностях.
[0004] Технологии сжатия видео выполняют пространственное прогнозирование и/или временное прогнозирование для того, чтобы уменьшать или удалять избыточность, внутренне присутствующую в видеопоследовательностях. Для кодирования видео на основе блоков видеокадр или вырезка может быть сегментирована на макроблоки. Каждый макроблок может быть дополнительно сегментирован. Макроблоки во внутренне кодированном (I-) кадре или вырезке кодируются с использованием пространственного прогнозирования относительно соседних макроблоков. Макроблоки во взаимно кодированном (P- или B-) кадре или вырезке могут использовать пространственное прогнозирование относительно соседних макроблоков в идентичном кадре или вырезки либо временное прогнозирование относительно других опорных кадров.
[0005] После того, как видеоданные кодированы, видеоданные могут быть пакетированы для передачи или хранения. Видеоданные могут ассемблироваться в видеофайл, соответствующий любому из множества стандартов, таких как базовый формат мультимедийных файлов Международной организации по стандартизации (ISO) и его расширения, к примеру, AVC.
[0006] Прилагаются усилия для того, чтобы разрабатывать новые стандарты кодирования видео на основе H.264/AVC. Один такой стандарт представляет собой стандарт масштабируемого кодирования видео (SVC), который является масштабируемым расширением H.264/AVC. Другой стандарт представляет собой кодирование многовидового видео (MVC), которое становится многовидовым расширением H.264/AVC. Совместный проект MVC описан в документе JVT-AB204 "Joint Draft 8.0 on Multiview Video Coding", 28th JVT meeting, Ганновер, Германия, июль 2008 года, доступном по адресу http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zip. Версия AVC-стандарта описывается в документе JVT-AD007 "Editors' draft revision to ITU-T Rec. H.264 ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)", 30th JVT meeting, Женева, CH, февраль 2009 года", доступном по адресу http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zip. Этот документ интегрирует SVC и MVC в технических требованиях AVC.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0007] В общем, это раскрытие сущности описывает технологии для поддержки рендеринга трехмерного видео. В частности, технологии этого раскрытия сущности относятся к кодированию и декодированию трехмерного видеоконтента. Это раскрытие сущности также предлагает технологии передачи служебных сигналов для единиц кодированных блоков видеоданных. Например, это раскрытие сущности предлагает многократное использование элементов синтаксиса, включенных в заголовок вырезки компонентов видов текстуры для соответствующих компонентов видов глубины и наоборот. Кроме того, это раскрытие предполагает повторное использование элементов синтаксиса в информации заголовка, например, информации заголовка вырезки компонентов видов глубины для компонентов видов текстуры.
[0008] В трехмерном кодеке компонент вида для каждого вида видеоданных в конкретный момент времени может включать в себя компонент вида текстуры и компонент вида глубины. Компонент вида текстуры может включать в себя компоненты яркости (Y) и компоненты цветности (Cb и Cr). Компоненты сигнала яркости (яркости) и цветности (цвета) совместно упоминаются в данном документе в качестве компонентов "текстуры". Компонент вида глубины может быть из карты глубины изображения. При рендеринге трехмерных изображений карты глубины включают в себя компоненты глубины, которые представляют значения глубины, например, для соответствующих компонентов текстуры. Компоненты видов глубины могут использоваться для формирования виртуальных видов с заданной перспективы просмотра.
[0009] Элементы синтаксиса для компонентов глубины и компонентов текстуры могут быть переданы в служебных сигналах с единицей кодированного блока. Единицы кодированных блоков, также упоминаемые просто в качестве "кодированных блоков" в этом раскрытии сущности, могут соответствовать макроблокам в ITU-T H.264/AVC (усовершенствованное кодирование видео) или единицам кодирования стандарта высокоэффективного кодирования видео (HEVC).
[0010] В одном аспекте, способ кодирования видеоданных включает в себя кодирование одного или более блоков видеоданных, представляющих информацию текстуры, по меньшей мере, части кадра видеоданных. Способ дополнительно включает в себя обработку вырезки текстуры для компонента вида текстуры текущего вида, ассоциированного с единицей доступа, причем вырезка текстуры содержит кодированные один или более блоков и заголовок вырезки текстуры, содержащий набор элементов синтаксиса, представляющих характеристики вырезки текстуры. Способ также включает в себя кодирование информации глубины, представляющей значения глубины, по меньшей мере, для части кадра. Способ дополнительно включает в себя обработку вырезки глубины для компонента вида глубины, соответствующего компоненту вида текстуры вида, причем вырезка глубины содержит кодированную информацию глубины и заголовок вырезки глубины, содержащий набор элементов синтаксиса, представляющих характеристики вырезки глубины. Обработка вырезки текстуры или вырезки глубины дополнительно может включать в себя прогнозирование, по меньшей мере, одного элемента синтаксиса, по меньшей мере, из одного из набора элементов синтаксиса, представляющих характеристики вырезки текстуры, или набора элементов синтаксиса, представляющих характеристики вырезки глубины, из заголовка опорной вырезки, соответственно, при этом заголовок опорной вырезки предоставляется из компонента вида идентичной единицы доступа.
[0011] В другом аспекте, это раскрытие сущности описывает устройство для кодирования данных. Устройство включает в себя блок, связанный с кодированием видео, сконфигурированный с возможностью кодировать один или более блоков видеоданных, представляющих информацию текстуры, по меньшей мере, части кадра видеоданных, обрабатывать вырезку текстуры для компонента вида текстуры текущего вида, ассоциированного с единицей доступа, причем вырезка текстуры содержит кодированные один или более блоков и заголовок вырезки текстуры, содержащий набор элементов синтаксиса, представляющих характеристики вырезки текстуры, кодировать информацию глубины, представляющую значения глубины, по меньшей мере, для части кадра, и обрабатывать вырезку глубины для компонента вида глубины, соответствующего компоненту вида текстуры вида, причем вырезка глубины содержит кодированную информацию глубины и заголовок вырезки глубины, содержащий набор элементов синтаксиса, представляющих характеристики вырезки глубины, при этом обработка вырезки текстуры или вырезки глубины содержит прогнозирование, по меньшей мере, одного элемента синтаксиса, по меньшей мере, из одного из набора элементов синтаксиса, представляющих характеристики вырезки текстуры, или набора элементов синтаксиса, представляющих характеристики вырезки глубины, из заголовка опорной вырезки, соответственно, при этом заголовок опорной вырезки предоставляется из компонента вида идентичной единицы доступа.
[0012] В еще одном аспекте, это раскрытие сущности описывает компьютерный программный продукт, который может быть сконфигурирован с возможностью осуществлять одну или более описанных технологий. Компьютерный программный продукт включает в себя компьютерно-читаемый носитель хранения данных, содержащий сохраненные на нем инструкции, которые при выполнении инструктируют процессору устройства кодирования видео кодировать один или более блоков видеоданных, представляющих информацию текстуры, по меньшей мере, части кадра видеоданных. Инструкции дополнительно инструктируют процессору обрабатывать вырезку текстуры для компонента вида текстуры текущего вида, ассоциированного с единицей доступа, причем вырезка текстуры содержит кодированные один или более блоков и заголовок вырезки текстуры, содержащий набор элементов синтаксиса, представляющих характеристики вырезки текстуры. Инструкции дополнительно инструктируют процессору кодировать информацию глубины, представляющую значения глубины, по меньшей мере, для части кадра. Кроме того, инструкции дополнительно инструктируют процессору обрабатывать вырезку глубины для компонента вида глубины, соответствующего компоненту вида текстуры вида, причем вырезка глубины содержит кодированную информацию глубины и заголовок вырезки глубины, содержащий набор элементов синтаксиса, представляющих характеристики вырезки глубины, при этом обработка вырезки текстуры или вырезки глубины содержит прогнозирование, по меньшей мере, одного элемента синтаксиса, по меньшей мере, из одного из набора элементов синтаксиса, представляющих характеристики вырезки текстуры, или набора элементов синтаксиса, представляющих характеристики вырезки глубины, из заголовка опорной вырезки, соответственно, при этом заголовок опорной вырезки предоставляется из компонента вида идентичной единицы доступа.
[0013] В другом аспекте, описывается устройство для обработки видеоданных, которое включает в себя средство для кодирования одного или более блоков видеоданных, представляющих информацию текстуры, по меньшей мере, части кадра видеоданных. Устройство дополнительно включает в себя средство для обработки вырезки текстуры для компонента вида текстуры текущего вида, ассоциированного с единицей доступа, причем вырезка текстуры содержит кодированные один или более блоков и заголовок вырезки текстуры, содержащий набор элементов синтаксиса, представляющих характеристики вырезки текстуры, и средство для кодирования информации глубины, представляющей значения глубины, по меньшей мере, для части кадра. Устройство дополнительно включает в себя средство для обработки вырезки глубины для компонента вида глубины, соответствующего компоненту вида текстуры вида, причем вырезка глубины содержит кодированную информацию глубины и заголовок вырезки глубины, содержащий набор элементов синтаксиса, представляющих характеристики вырезки глубины, при этом средство для обработки вырезки текстуры или вырезки глубины содержит средство для прогнозирования, по меньшей мере, одного элемента синтаксиса, по меньшей мере, из одного из набора элементов синтаксиса, представляющих характеристики вырезки текстуры, или набора элементов синтаксиса, представляющих характеристики вырезки глубины, из заголовка опорной вырезки, соответственно, при этом заголовок опорной вырезки предоставляется из компонента вида идентичной единицы доступа.
[0014] Технологии, описанные в данном раскрытии сущности, могут быть реализованы в аппаратных средствах, программном обеспечении, микропрограммном обеспечении или в любой комбинации вышеозначенного. Если реализованы в программном обеспечении, программное обеспечение выполняться в процессоре, который может означать один или более процессоров, таких как микропроцессор, специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA) или процессор цифровых сигналов (DSP), либо в другой эквивалентной интегральной или дискретной логической схеме. Программное обеспечение, содержащее инструкции, чтобы осуществлять технологии, может быть первоначально сохранено в компьютерно-читаемом носителе и загружено и выполнено посредством процессора.
[0015] Это раскрытие сущности также предполагает компьютерно-читаемые носители, содержащие инструкции для того, чтобы инструктировать процессору осуществлять любую из множества технологий, описанных в данном раскрытии сущности. В некоторых случаях, компьютерно-читаемый носитель может формировать часть компьютерного программного продукта, который может продаваться производителям и/или использоваться в устройстве. Компьютерный программный продукт может включать в себя компьютерно-читаемый носитель, а в некоторых случаях также может включать в себя упаковку.
[0016] Подробности одного или более вариантов осуществления данного раскрытия сущности изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки, цели и преимущества технологий, описанных в данном раскрытии сущности, должны становиться очевидными из описания и чертежей, а также из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0017] Фиг. 1 является блок-схемой, иллюстрирующей один пример системы кодирования и декодирования видео, согласно технологиям настоящего раскрытия сущности.
[0018] Фиг. 2 является блок-схемой, подробнее иллюстрирующей пример видеокодера по фиг. 1, согласно технологиям настоящего раскрытия сущности.
[0019] Фиг. 3 является принципиальной схемой, иллюстрирующей примерный порядок многовидового декодирования согласно технологиям настоящего раскрытия сущности.
[0020] Фиг. 4 является схемой одного примера структуры MVC-прогнозирования для кодирования многовидового видео, согласно технологиям настоящего раскрытия сущности.
[0021] Фиг. 5 является блок-схемой, подробнее иллюстрирующей пример видеодекодера по фиг. 1, согласно технологиям настоящего раскрытия сущности.
[0022] Фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей примерную работу блока, связанного с кодированием видео, согласно технологиям настоящего раскрытия сущности.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0023] Это раскрытие сущности описывает технологии, которые кодер может применять, и декодер может использовать, по меньшей мере, в ходе стадии взаимного прогнозирования, по меньшей мере, процесса кодирования или декодирования видео. Описанные технологии связаны с кодированием трехмерного ("трехмерного") видеоконтента. Трехмерный видеоконтент может быть представлен, например, в качестве кодированных блоков многовидового видео плюс глубины (MVD). Иными словами, эти технологии могут применяться для того, чтобы кодировать или декодировать поток битов, напоминающий поток битов для кодирования многовидового видео (MVC), при этом любые или все виды MVC-потока битов дополнительно могут включать в себя информацию глубины. Как описано в данном документе, передача в служебных сигналах имеет место в кодированном потоке битов.
[0024] Более конкретно, некоторые технологии согласно этому раскрытию сущности заключают в себе прием, по меньшей мере, одного двумерного изображения, имеющего компоненты видов текстуры и компоненты видов глубины. Некоторые компоненты видов текстуры и компоненты видов глубины могут быть кодированы вместе в один кодированный блок или в качестве отдельных блоков. Изображение может быть разбито на вырезки (фрагменты данных) изображений. Элементы синтаксиса для кодирования компонентов видов текстуры могут быть переданы в служебных сигналах в заголовке вырезки. Некоторые элементы синтаксиса для компонентов видов глубины могут быть прогнозированы из элементов синтаксиса для компонентов видов текстуры, соответствующих компонентам видов глубины. Технологии этого раскрытия сущности относятся к кодированию, декодированию и передаче в служебных сигналах данных, используемых для того, чтобы подготавливать посредством рендеринга трехмерные видеоданные из двумерных видеоданных на основе оцененных данных карты глубины для двумерных видеоданных. В некоторых примерах, компоненты видов текстуры кодируются с использованием технологий, отличных от технологий, используемых для кодирования информации глубины. В этом раскрытии сущности, термин "кодирование" может означать любое или оба из кодирования и декодирования.
[0025] Преобразование видео на основе оценки глубины и синтеза виртуальных видов используется для того, чтобы создавать трехмерные изображения, к примеру, для трехмерных видеоприложений. В частности, виртуальные виды сцены могут быть использованы для того, чтобы создавать трехмерный вид сцены. Формирование виртуального вида сцены на основе существующего вида сцены традиционно достигается посредством оценки значений глубины объектов перед синтезированием виртуального вида. Оценка глубины является процессом оценки абсолютных или относительных расстояний между объектами и плоскостью камеры от стереопар или моноскопического контента. При использовании в данном документе, информация глубины включает в себя информацию, полезную при обработке трехмерного видео, к примеру, карту глубины (например, значения глубины на попиксельной основе) или параллактическую карту (например, горизонтальную диспаратность на попиксельной основе).
[0026] Оцененная информация глубины, обычно представленная посредством карты глубины изображений на основе уровня градаций серого, может быть использована для того, чтобы формировать произвольный угол для виртуальных видов с использованием технологий рендеринга на основе изображений глубины (DIBR). По сравнению с традиционными системами трехмерного телевидения (3DTV), в которых многовидовые последовательности сталкиваются со сложностями при эффективном межвидовом сжатии, система на основе карт глубины может сокращать потребление полосы пропускания посредством передачи только одного или нескольких видов вместе с картой(ами) глубины, которая может быть эффективно кодирована. Карта(ы) глубины, используемая в преобразовании на основе карт глубины, может быть управляемой (например, посредством масштабирования) конечными пользователями до того, как карта(ы) глубины используется в синтезе видов. Настраиваемые виртуальные виды могут быть сформированы с различной величиной воспринимаемой глубины. Кроме того, оценка глубины может быть выполнена с использованием моноскопического видео, в котором доступен только один двумерный контент видов.
[0027] Некоторые технологии этого раскрытия сущности описываются в отношении расширения кодирования многовидового видео (MVC) в стандарте H.264/AVC (усовершенствованное кодирование видео). Новейший совместный проект MVC описывается в документе JVT-AD007 "Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding", 30th JVT meeting, Geneva, Switzerland, январь-февраль 2009 года, доступном по адресу http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007, который настоящим содержится по ссылке в данном документе. Хотя нижеприведенное описание приводится с точки зрения H.264/AVC, следует понимать, что технологии этого раскрытия сущности могут быть применимыми для использования с другими процессами кодирования многовидового видео или с будущими многовидовыми o по отношению к текущим предлагаемым стандартам кодирования видео.
[0028] В H.264/AVC, каждая единица уровня абстракции сети (NAL), если содержит кодированные видеоданные, имеет заголовок вырезки. Заголовок вырезки может содержать следующую информацию: адрес вырезки, местоположение начального макроблока, типа вырезки, набор параметров изображения (PPS), который должен быть использован, и параметр дельта-квантования (QP) между начальным QP вырезки и QP, передаваемым в служебных сигналах в PPS, порядок опорных изображений (frame_num) и порядок отображения текущего изображения (например, номер в последовательности изображений (POC)), связанные с составлением списков опорных изображений элементы синтаксиса, связанные с операциями управления запоминающим устройством элементы синтаксиса, связанные со взвешенным прогнозированием элементы синтаксиса.
[0029] Технологии, описанные в данном документе, могут применяться для того, чтобы прогнозировать элементы синтаксиса для компонента вида глубины из элементов синтаксиса, сохраненных в заголовке вырезки для совместно размещенных компонентов видов текстуры идентичного вида. Например, значения для элементов синтаксиса, которые являются общими для вырезки глубины и вырезки текстуры, могут быть включены в заголовок вырезки для компонентов видов текстуры, но не в вырезки для ассоциированных компонентов видов глубины. Иными словами, видеокодер или декодер могут кодировать элементы синтаксиса, которые являются общими для вырезки глубины и вырезки текстуры, в заголовке вырезки для компонентов видов текстуры, которые не присутствуют в заголовке вырезки для компонентов видов глубины. Например, первое значение может задаваться для первого элемента синтаксиса в заголовке вырезки для компонентов видов текстуры. Заголовок вырезки для компонентов видов глубины также совместно использует первый элемент синтаксиса, что означает то, что первый элемент синтаксиса является общим как для заголовка вырезки текстуры, так и для заголовка вырезки глубины. Первый элемент синтаксиса для компонентов видов глубины имеет второе значение. Тем не менее, заголовок вырезки для компонента вида глубины не включает в себя первый элемент синтаксиса. Согласно технологиям, описанным в данном документе, второе значение первого элемента синтаксиса может быть прогнозировано из первого значения.
[0030] Это раскрытие сущности представляет следующие технологии для прогнозирования заголовков вырезок. Согласно одному примеру раскрытия сущности, прогнозирование управляется на уровне заголовка вырезки, и заголовок опорной вырезки может задаваться в качестве компонента вида в идентичном виде единицы доступа, идентичной единице доступа текущего вида, или AVC-совместимого базового вида текстуры единицы доступа, идентичной единице доступа текущего вида.
[0031] В другом примере, заголовок опорной вырезки компонента вида глубины может быть либо заголовком вырезки компонента вида текстуры в идентичном виде, либо заголовком вырезки компонента вида глубины первого вида в порядке декодирования. В другом примере, идентификатор индекса порядка в дельта-виде может передаваться в служебных сигналах, чтобы указывать то, из какого вида в идентичной единице доступа прогнозируется заголовок вырезки.
[0032] В некоторых примерах, флаг может передаваться в служебных сигналах, чтобы указывать то, предоставляется заголовок опорной вырезки из компонента вида глубины или из компонента вида текстуры конкретного вида. В другом примере, элементы синтаксиса в расширении заголовка вырезки, если присутствуют в заголовке вырезки, могут быть переупорядочены таким способом, который отличается от элементов синтаксиса заголовка вырезки в заголовке AVC-вырезки.
[0033] В еще одном другом примере, могут избирательно прогнозироваться элементы slice_type, num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1 синтаксиса и модификация списков опорных изображений. Иными словами, они могут прогнозироваться или не прогнозироваться на основе флага управления в каждом 3DV-расширении заголовка вырезки. Когда активируется прогнозирование модификации списков опорных изображений, может быть возможным уточнять модификацию списков опорных изображений на основе новой введенной синтаксической таблицы для исключения или вставки в списки опорных изображений.
[0034] В другом примере раскрытия сущности, после того, как указан компонент вида глубины или текстуры, идентификатор вырезки для вырезки данного компонента вида в единице доступа может дополнительно передаваться в служебных сигналах. В некоторых примерах, единица доступа, содержащая вырезку данного компонента вида, может быть идентичной единицей доступа, соответствующей компоненту вида глубины или текстуры.
[0035] В другом примере раскрытия сущности, идентификатор вырезки может передаваться в служебных сигналах для каждой вырезки каждого компонента вида. Идентификатор вырезки может передаваться в служебных сигналах либо в заголовке вырезки, либо в заголовке NAL-единицы. Дополнительно, вышеуказанные индикаторы могут передаваться в служебных сигналах в 3DV-расширении заголовка вырезки.
[0036] Технологии раскрытия сущности могут использовать взаимное кодирование на основе блоков. Взаимное кодирование на основе блоков является технологией кодирования, которая основана на временном прогнозировании для того, чтобы уменьшать или удалять временную избыточность между видеоблоками последовательных кодированных единиц видеопоследовательности. Кодированные единицы могут содержать видеокадры, вырезки видеокадров, группы изображений или другую заданную единицу кодированных видеоблоков. Для взаимного кодирования, видеокодер выполняет оценку движения и компенсацию движения для того, чтобы оценивать движение между видеоблоками двух или более смежных кодированных единиц. С использованием технологий для оценки движения видеокодер формирует векторы движения, которые указывают смещение видеоблоков относительно соответствующих прогнозных видеоблоков в одном или более опорных кадров или других кодированных единиц. С использованием технологий для компенсации движения видеокодер использует векторы движения для того, чтобы формировать прогнозные видеоблоки из одного или более опорных кадров или других кодированных единиц. После компенсации движения видеокодер вычисляет остаточные видеоблоки посредством вычитания прогнозных видеоблоков из кодируемых исходных видеоблоков.
[0037] Компоненты опорных видов (RVC) могут включать в себя несколько вырезок текстуры или глубины. В некоторых примерах, в которых компоненты опорных видов содержат несколько вырезок, совместно размещенная вырезка может быть использована при определении элементов синтаксиса текущей вырезки. Альтернативно, первая вырезка в RVC может быть использована для того, чтобы определять элементы синтаксиса текущей вырезки. В других примерах, другая вырезка в RVC может быть использована для того, чтобы определять общие элементы синтаксиса текущей вырезки.
[0038] Фиг. 1 является блок-схемой, иллюстрирующей один пример системы 10 кодирования и декодирования видео, согласно технологиям настоящего раскрытия сущности. Как показано в примере по фиг. 1, система 10 включает в себя исходное устройство 12, которое передает кодированное видео в целевое устройство 16 через линию 15 связи. Линия 15 связи может содержать любой тип носителя или устройства, допускающего перенос кодированных видеоданных из исходного устройства 12 в целевое устройство 16. В одном примере, линия 15 связи содержит среду связи, чтобы предоставлять возможность исходному устройству 12 передавать кодированные видеоданные непосредственно в целевое устройство 14 в реальном времени. Кодированные видеоданные могут быть модулированы согласно стандарту связи, такому как протокол беспроводной связи, и переданы в целевое устройство 16. Среда связи может содержать любую беспроводную или проводную среду связи, такую как радиочастотный (RF) спектр или одна или более физических линий передачи. Среда связи может формировать часть сети с коммутацией пакетов, такой как локальная вычислительная сеть, глобальная вычислительная сеть либо глобальная сеть, такая как Интернет. Среда связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезным для того, чтобы упрощать передачу из исходного устройства 12 в целевое устройство 16.
[0039] Исходное устройство 12 и целевое устройство 16 могут содержать любое из широкого диапазона устройств. В некоторых примерах, одно или оба из исходного устройства 12 и целевого устройства 16 могут содержать устройства беспроводной связи, к примеру, беспроводные телефоны, так называемые сотовые или спутниковые радиотелефоны либо любые беспроводные устройства, которые могут передавать видеоинформацию по линии 15 связи, когда линия 15 связи является беспроводной. Тем не менее, технологии этого раскрытия сущности, которые относятся к кодированию блоков видеоданных, которые включают в себя информацию текстуры и глубины, не обязательно ограничены приложениями или настройками беспроводной связи. Технологии также могут быть применимыми в широком диапазоне других настроек и устройств, в том числе устройств, которые обмениваются данными через физические провода, оптоволокно или другие физические или беспроводные среды. Помимо этого, технологии кодирования или декодирования также могут применяться в автономном устройстве, которое не обязательно обменивается данными с любым другим устройством. Например, видеодекодер 28 может постоянно размещаться в цифровом мультимедийном проигрывателе или другом устройстве и принимать кодированные видеоданные через потоковую передачу, загрузку или носители хранения данных. Следовательно, иллюстрация исходного устройства 12 и целевого устройства 14 как поддерживающих связь друг с другом описывается в целях иллюстрации примерной реализации и не должна считаться ограничением в отношении технологий, описанных в этом раскрытии сущности, которые могут быть применимыми к кодированию видео в целом во множестве окружений, вариантов применения или реализаций.
[0040] Альтернативно, кодированные данные могут выводиться из интерфейса 24 вывода в устройство 17 хранения данных. Аналогично, доступ к кодированным данным может осуществляться из устройства 17 хранения данных посредством видеодекодера 28. Устройство 17 хранения данных может включать в себя любой из множества распределенных или локально доступных носителей хранения данных, таких как жесткий диск, Blu-Ray-диски, DVD, CD-ROM, флэш-память, энергозависимое или энергонезависимое запоминающее устройство либо любые другие подходящие цифровые носители хранения данных для сохранения кодированных видеоданных. В дополнительном примере, устройство 17 хранения данных может соответствовать файловому серверу или другому промежуточному устройству хранения данных, которое может хранить кодированное видео, сформированное посредством исходного устройства 12. Целевое устройство 16 может осуществлять доступ к сохраненным видеоданным из устройства 17 хранения данных через потоковую передачу или загрузку. Файловый сервер может быть любым типом сервера, допускающего сохранение кодированных видеоданных и передачу этих кодированных видеоданных в целевое устройство 16. Примерные файловые серверы включают в себя веб-сервер (например, для веб-узла), FTP-сервер, устройства системы хранения данных с подключением по сети (NAS) или локальный накопитель на дисках. Целевое устройство 16 может осуществлять доступ к кодированным видеоданным через любое стандартное подключение для передачи данных, включающее в себя Интернет-подключение. Оно может включать в себя беспроводной канал (например, Wi-Fi-подключение), проводное подключение (например, DSL, кабельный модем и т.д.) или комбинацию означенного, которая является подходящей для того, чтобы осуществлять доступ к кодированным видеоданным, сохраненным на файловом сервере. Передача кодированных видеоданных из устройства 17 хранения данных может представлять собой потоковую передачу, передачу на основе загрузки или комбинацию вышеозначенного.
[0041] В примере по фиг. 1, исходное устройство 12 включает в себя видеоисточник 20, процессор 21 глубины, видеокодер 22 и интерфейс 24 вывода. Целевое устройство 16 включает в себя интерфейс 26 ввода, видеодекодер 28 и устройство 30 отображения. В соответствии с этим раскрытием сущности, видеокодер 22 исходного устройства 12 может быть сконфигурирован с возможностью применять одну или более технологий этого раскрытия сущности как часть процесса кодирования видео. Аналогично, видеодекодер 28 целевого устройства 16 может быть сконфигурирован с возможностью применять одну или более технологий этого раскрытия сущности как часть процесса декодирования видео.
[0042] Видеокодер 22 также может применять процессы преобразования, квантования и энтропийного кодирования для того, чтобы дополнительно уменьшать скорость передачи битов, ассоциированную с передачей остаточных блоков. Технологии преобразования могут содержать дискретные косинусные преобразования (DCT) или концептуально аналогичные процессы. Альтернативно, могут использоваться вейвлет-преобразования, целочисленные преобразования или другие типы преобразований. В DCT-процессе, в качестве примера, набор пиксельных значений преобразуется в коэффициенты преобразования, которые представляют энергию пиксельных значений в частотной области. Видеокодер 22 также может квантовать коэффициенты преобразования, что может, в общем, заключать в себе процесс, который уменьшает число битов, ассоциированное с соответствующим коэффициентом преобразования. Энтропийное кодирование может включать в себя один или более процессов, которые совместно сжимают данные для вывода в поток битов, при этом сжатые данные могут включать в себя, например, последовательность режимов кодирования, информацию движения, шаблоны кодированных блоков и квантованные коэффициенты преобразования. Примеры энтропийного кодирования включают в себя, но не только, контекстно-адаптивное кодирование переменной длины (CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (CABAC).
[0043] Кодированный видеоблок может быть представлен посредством информации прогнозирования, которая может быть использована для того, чтобы создавать или идентифицировать прогнозный блок и остаточный блок данных, который может применяться к прогнозному блоку, чтобы воссоздавать исходный блок. Информация прогнозирования может содержать один или более векторов движения, которые используются для того, чтобы идентифицировать прогнозный блок данных. С использованием векторов движения видеодекодер 28 может иметь возможность восстанавливать прогнозные блоки, которые использованы для того, чтобы кодировать остаточные блоки. Таким образом, с учетом набора остаточных блоков и набора векторов движения (и, возможно, некоторого дополнительного синтаксиса), видеодекодер 28 может восстанавливать видеокадр, который первоначально кодирован. Взаимное кодирование на основе оценки движения и компенсации движения позволяет достигать относительно большой величины сжатия без чрезмерных потерь данных, поскольку последовательные видеокадры или другие типы кодированных единиц зачастую являются аналогичными. Кодированная видеопоследовательность может содержать блоки остаточных данных, векторы движения (при кодировании с взаимным прогнозированием), индикаторы относительно режимов внутреннего прогнозирования для внутреннего прогнозирования и элементы синтаксиса.
[0044] Видеокодер 22 также может использовать технологии внутреннего прогнозирования для того, чтобы кодировать видеоблоки относительно соседних видеоблоков общего кадра или вырезки. Таким образом, видеокодер 22 пространственно прогнозирует блоки. Видеокодер 22 может быть сконфигурирован с множеством режимов внутреннего прогнозирования, которые, в общем, соответствуют различным направлениям пространственного прогнозирования. Аналогично оценке движения, видеокодер 22 может быть сконфигурирован с возможностью выбирать режим внутреннего прогнозирования на основе компонента сигнала яркости блока, затем многократно использовать режим внутреннего прогнозирования для того, чтобы кодировать компоненты сигнала цветности блока. Кроме того, в соответствии с технологиями этого раскрытия сущности, видеокодер 22 может мног