СПОСОБЫ ВИДЕОКОДИРОВАНИЯ ДЛЯ КОДИРОВАНИЯ ЗАВИСИМЫХ ИЗОБРАЖЕНИЙ ПОСЛЕ ПРОИЗВОЛЬНОГО ДОСТУПА Российский патент 2015 года по МПК H04N19/70 

Описание патента на изобретение RU2566972C2

Перекрестные ссылки на родственные заявки

Данная заявка испрашивает приоритет по предварительной заявке США № 61/451,453, поданной 10 марта 2011 года, и предварительной заявке США № 61/454,548, поданной 20 марта 2011 года, содержимое каждой из которых полностью включено в настоящий документ посредством ссылки.

Область техники, к которой относится изобретение

Настоящее раскрытие относится к видеокодированию и, более конкретно, к способам видеокодирования для произвольного доступа.

Уровень техники

Возможности цифрового видео могут встраиваться в широкий диапазон устройств, включающих в себя цифровые телевизоры, системы цифрового прямого широковещания, системы беспроводного широковещания, персональные цифровые помощники (PDA), портативные или настольные компьютеры, цифровые камеры, цифровые записывающие устройства, цифровые мультимедийные проигрыватели, устройства видеоигр, консоли видеоигр, сотовые или спутниковые радиотелефоны, устройства видеотелеконференцсвязи и т.п. Устройства цифрового видео реализуют способы сжатия видео, такие как те, что описаны в стандартах, определенных посредством MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, улучшенного видеокодирования (AVC), стандарта высокоэффективного видеокодирования (HEVC), в настоящее время находящегося в разработке, и расширения таких стандартов, чтобы передавать, принимать и хранить информацию цифрового видео более эффективно.

Способы сжатия видео могут включать в себя пространственное (внутрикадровое) предсказание и/или временное (межкадровое) предсказание, чтобы уменьшать или устранять избыточность, присущую видеопоследовательностям. Для основанного на блоках видеокодирования, видеосрез может разбиваться на видеоблоки, которые также могут упоминаться как блоки с древовидной структурой, блоки кодирования (CU) и/или узлы кодирования. Видеоблоки во внутренне кодированном (I) срезе изображения кодируются с использованием пространственного предсказания по отношению к ссылочным отсчетам в соседних блоках в том же изображении. Видеоблоки во внешне кодированном (P или B) срезе изображения могут использовать пространственное предсказание по отношению к ссылочным отсчетам в соседних блоках в том же изображении или временное предсказание по отношению к ссылочным отсчетам в других ссылочных изображениях. Изображения могут упоминаться как кадры, и ссылочные изображения могут упоминаться как ссылочные кадры.

Пространственное или временное предсказание использует предсказывающий блок для блока, подлежащего кодированию. Остаточные данные представляют пиксельные разности между исходным блоком, подлежащим кодированию, и предсказывающим блоком. Внешне кодированный блок кодируется согласно вектору движения, который ссылается на блок ссылочных отсчетов, формирующих предсказывающий блок, и остаточные данные, указывающие разность между кодированным блоком и предсказывающим блоком. Внутренне кодированный блок кодируется согласно режиму внутреннего кодирования и остаточным данным. Для дополнительного сжатия остаточные данные могут преобразовываться из пиксельной области в область преобразования, давая результатом остаточные коэффициенты преобразования, которые затем могут квантоваться. Квантованные коэффициенты преобразования, первоначально размещенные в двумерной матрице, могут сканироваться в конкретном порядке, чтобы вырабатывать одномерный вектор коэффициентов преобразования для энтропийного кодирования.

Раскрытие изобретения

В общем, настоящее раскрытие описывает способы кодирования видеоданных для произвольного доступа. В частности, настоящее раскрытие предлагает кодировать синтаксический элемент, который указывает, является ли потенциально излишнее изображение зависимым изображением, которое может успешно декодироваться в случае запроса произвольного доступа к изображению чистого обновления декодирования (CDR). Зависимое изображение является изображением, которое используется для декодирования изображений, следующих за изображением чистого обновления декодирования (CDR) в порядке отображения.

В одном примере раскрытия способ кодирования видеоданных содержит кодирование группы изображений, которая включает в себя изображение чистого обновления декодирования (CDR) и одно или более потенциально излишних изображений, которые могут требоваться изображениям, следующим за изображением CDR в порядке отображения, определение, является ли какое-либо из упомянутых одного или более потенциально излишних изображений зависимым изображением, определение, является ли зависимое изображение декодируемым в случае, когда изображение CDR используется для произвольного доступа, и сигнализирование синтаксического элемента, указывающего, что зависимое изображение определяется как декодируемое в случае, когда изображение CDR используется для произвольного доступа.

В другом примере раскрытия способ декодирования видеоданных содержит прием группы изображений, включающих в себя изображение чистого обновления декодирования (CDR) и одно или более потенциально излишних изображений, и прием синтаксического элемента, указывающего, является ли или нет какое-либо из упомянутых одного или более потенциально излишних изображений зависимым изображением, которое является декодируемым в случае, когда принимается запрос на произвольный доступ к изображению CDR. Способ декодирования может дополнительно содержать прием запроса на произвольный доступ к изображению CDR, декодирование изображения CDR в ответ на запрос на произвольный доступ, декодирование зависимого изображения, соответствующего принятому синтаксическому элементу, и пропуск декодирования для любого из упомянутых одного или более потенциально излишних изображений, которые не указаны как зависимые изображения посредством принятого синтаксического элемента.

Способы кодирования и декодирования, описанные выше, также могут реализовываться посредством устройства (например, посредством видеокодера или видеодекодера) или посредством инструкций, сохраненных на машиночитаемом носителе.

Детали одного или более примеров излагаются в сопровождающих чертежах и нижеследующем описании. Другие признаки, цели и преимущества станут очевидны из описания и чертежей и из формулы изобретения.

Краткое описание чертежей

Фиг. 1 является концептуальной диаграммой, иллюстрирующей иллюстративный порядок декодирования группы изображений с изображением чистого обновления декодирования (CDR) и внутренне предсказанным зависимым изображением.

Фиг. 2 является концептуальной диаграммой, иллюстрирующей иллюстративный порядок декодирования группы изображений с изображением чистого обновления декодирования (CDR) и внешне предсказанным зависимым изображением.

Фиг. 3 является блок-схемой, иллюстрирующей иллюстративную систему кодирования и декодирования видео, которая может использовать способы, описанные в настоящем раскрытии.

Фиг. 4 является блок-схемой, иллюстрирующей иллюстративный видеокодер, который может осуществлять способы, описанные в настоящем раскрытии.

Фиг. 5 является блок-схемой, иллюстрирующей иллюстративный видеодекодер, который может осуществлять способы, описанные в настоящем раскрытии.

Фиг. 6 является иллюстративной блок-схемой последовательности операций способа кодирования видео согласно способам настоящего раскрытия.

Фиг. 7 является иллюстративной блок-схемой последовательности операций способа декодирования видео согласно способам раскрытия.

Фиг. 8 является концептуальной диаграммой иллюстративного базового формата мультимедийных файлов ISO.

Осуществление изобретения

Произвольный доступ в видеокодировании обеспечивает возможность видеодекодеру декодировать видео в конкретные моменты времени с малым количеством до отсутствия ссылок на предыдущие видеокадры. В действительности, видеокодирование "начинается заново" на изображении, предназначенном в качестве точки произвольного доступа. Пример изображения точки произвольного доступа чистого обновления декодирования (CDR) показан на Фиг. 1. Изображения на Фиг. 1 показаны в порядке отображения. Текущая группа изображений (GOP) 1 включает в себя изображения с отсчетом порядка изображений (POC) от 141-156, включая сюда изображение точки произвольного доступа. В этом примере, изображение точки произвольного доступа является изображением 148 чистого обновления декодирования (CDR). Изображение CDR является изображением, которое может быть декодировано без ссылки на другие изображения. Например, изображение CDR может быть изображением, которое содержит только внутренне предсказанные срезы. Изображение CDR отличается от изображения мгновенного обновления декодирования (IDR), которое является другим типом изображения "чистого" произвольного доступа. Когда изображение IDR используется для произвольного доступа, буфер декодированных изображений (DPB) немедленно устанавливается в исходное положение. Когда изображение CDR используется для произвольного доступа, DPB не устанавливается в исходное положение немедленно. Это улучшает эффективность кодирования по отношению к произвольному доступу к изображениям IDR.

На Фиг. 1, изображения, помеченные с помощью строчной буквы "b" (т.е. изображения 139, 141, 143, 145 и 147), являются изображениями, которые являются двунаправленно внешне предсказываемыми по двух другим изображениям, как показано посредством стрелок. Изображения, на которые обращены стрелки, используют изображения, из которых выходят стрелки, в качестве предсказателей в обработке кодирования внешнего предсказания. Изображения со строчной буквой "b" не используются, чтобы предсказывать другие изображения. Изображения, помеченные с помощью прописной буквы "B" (т.е. изображения 140, 142, 144, и 156), также являются изображениями, которые являются двунаправленно внешне предсказываемыми по двум другим изображениям. В противоположность изображениям "b", изображения, помеченные с помощью прописной буквы "B", используются в качестве предсказателей для других изображений, как показано посредством стрелок. Изображение I146 является внутренне предсказанным изображением. То есть, изображение I146 не кодируется со ссылкой на другие изображения, но скорее, использует внутреннее пространственное предсказание для кодирования изображения. Однако изображение I46 может использоваться, чтобы предсказывать другие изображения (например, изображение b147 и b145, как показано на Фиг. 1).

Некоторые изображения в текущей GOP 1 (например, изображения с POC 141 по 147) могут не декодироваться успешно, если декодирование начинается на CDR148 после произвольного доступа, так как изображения из предыдущей GOP 2 не будут доступными для внешнего предсказания. То есть, если декодирование начинается с CDR148, изображения из предыдущей GOP могут быть или могут не быть декодированными. Как таковые, изображения из предыдущей GOP могут не быть доступными для внешнего предсказания. Изображения 141-147 могут быть или могут не быть необходимыми для внешнего предсказания для изображений, следующих за изображением CDR в порядке вывода (изображения с POC>148). Изображения, которые предшествуют CDR в порядке отображения, часто вызываются "потенциально излишними изображениями" 3 (изображения 141-147 на Фиг. 1).

В примере из Фиг. 1, имеется одно потенциально излишнее изображение, I146, которое может успешно декодироваться, даже если CDR148 используется для произвольного доступа. I146 является все еще декодируемым, так как оно является внутренне предсказанным изображением, которое не полагается на какие-либо другие изображения, подлежащие декодированию. В некоторых обстоятельствах, изображение (например, B156, следующее за CDR148 в порядке вывода) может использовать потенциально излишнее изображение (в этом случае, I146) для внешнего предсказания. Потенциально излишнее изображение, которое используется для внешнего предсказания для изображений после CDR в порядке декодирования и порядке отображения, называется зависимым изображением 4. В примере из Фиг. 1, B156 является первым изображением после изображения CDR в обоих порядке декодирования и порядке отображения. CDR148 может все же использоваться в качестве точки произвольного доступа, если декодирование I146 гарантируется, так как I146 необходимо, чтобы декодировать некоторое изображение после CDR148 как в порядке декодирования, так и в порядке вывода (например, изображение B156). Если зависимое изображение 4 является внутренне предсказанным изображением, декодер может легко определять, что такое изображение является декодируемым.

Фиг. 2 является концептуальной диаграммой, иллюстрирующей иллюстративный порядок декодирования группы изображений с изображением чистого обновления декодирования и внешне предсказанным зависимым изображением. В примере из Фиг. 2, зависимое изображение 4 является внешне предсказанным изображением (P246 или B246). На основе текущего определения CDR в стандарте высокоэффективного видеокодирования (HEVC), такая ситуация не позволяется. Это из-за того, что декодирование зависящего P или B изображения не гарантируется. Если декодирование видео начинается на изображении CDR после произвольного доступа, является неопределенным, являются ли потенциально излишние изображения, включая сюда любые зависимые изображения, декодируемыми, так как они могут быть внешне предсказанными из цепи предсказания, которая включает в себя изображения в предыдущей GOP, или из изображений в текущей GOP, которые сами полагаются на изображения в предыдущей GOP. Снова, после произвольного доступа к изображению CDR, изображения в предыдущей GOP могут быть недоступными.

Текущие дизайны видеокодеков (кодера/декодеров) не поддерживают декодирование зависимых изображений. Как таковые, текущие дизайны видеокодеков также не поддерживают внешнее предсказание по зависимым изображениям, при том, что также не декодируют какие-либо другие потенциально излишние изображения. Декодирование потенциально излишних изображений не позволяется, так как является очень трудным определить, может ли потенциально излишнее изображение быть декодировано успешно или нет после произвольного доступа. Если потенциально излишнее изображение является I изображением, декодирование является возможным, так как I изображение может декодироваться без использования какого-либо другого изображения. Однако, если потенциально излишнее изображение является B или P изображением (например, P246 или B246 на Фиг. 2), видеодекодер должен сначала определить усложненную цепь предсказания, чтобы идентифицировать, является ли или нет потенциально излишнее изображение декодируемым. Например, видеодекодер должен сначала определить цепь предсказания изображений 239-248 на Фиг. 2, чтобы определить, может ли какое-либо из этих потенциально излишних изображений быть успешно декодировано. Также, текущие дизайны видеокодеков не обеспечивают никакого механизма для обеспечения возможности декодеру определять, будет ли потенциально излишнее изображение использоваться во внешнем предсказании для изображений, следующих за CDR в порядке декодирования (т.е. определять, является ли потенциально излишнее изображение зависимым изображением).

Ввиду вышеописанных недостатков, настоящее раскрытие предлагает использование синтаксического элемента (например, флага), подлежащего добавлению в синтаксис уровня изображения и/или синтаксис заголовка среза в качестве индикации, что потенциально излишнее изображение является декодируемым и может использоваться для внешнего предсказания для изображений, следующих за CDR в порядке декодирования (т.е. флаг показывает, что потенциально излишнее изображение является декодируемым зависимым изображением). Флаг может сигнализироваться кодером в кодированном битовом видеопотоке, так как кодер может определять, позволяет ли или нет цепь предсказания для потенциально излишнего изображения успешное декодирование после произвольного доступа и может ли или нет потенциально излишнее изображение использоваться для внешнего предсказания для изображений после CDR в порядке декодирования.

Кодер может отслеживать цепь предсказания, по мере того, как изображения кодируются, и идентифицировать изображения как являющиеся потенциально излишними изображениями, когда они находятся в той же GOP, что и CDR. Конкретным потенциально излишним изображениям может затем назначаться флаг (например, флаг зависимого изображения), чтобы показывать, что они являются декодируемыми после произвольного доступа к CDR и что они могут использоваться для внешнего предсказания для изображений после CDR в порядке декодирования (т.е. флаг показывает, что потенциально излишние изображения являются зависимым изображением). В одном примере, дополнительный флаг индикации (например, флаг индикации зависимости) может сигнализироваться для каждой GOP, которая включает в себя изображение CDR. Флаг индикации зависимости со значением 1, например, показывает, что, по меньшей мере, одно из потенциально излишних изображений в GOP является зависимым изображением. Если это так, флаг зависимого изображения тогда сигнализируется для каждого потенциально излишнего изображения. Флаг зависимого изображения показывает, является ли или нет конкретное потенциально излишнее изображение зависимым изображением. Если флаг индикации зависимости имеет значение 0, это показывает, что никакое потенциально излишнее изображение не является зависимым изображением в GOP. Как таковой, флаг зависимого изображения не должен сигнализироваться для этой GOP. В другом примере, флаг индикации зависимости не используется. Вместо этого, флаг зависимого изображения сигнализируется для всех потенциально излишних изображений в GOP, имеющей изображение CDR.

В качестве примеров, флаг индикации зависимости и флаг зависимого изображения могут сигнализироваться в заголовке блока сетевого уровня абстракции (NAL), сообщении дополнительной расширенной информации (SEI) уровня изображения, заголовке среза, или другом синтаксическом элементе уровня изображения или сообщении, чтобы показывать, что потенциально излишнее изображение является зависимым изображением (т.е. оно является как декодируемым, так и может использоваться для внешнего предсказания после произвольного доступа). Блок NAL является дискретным пакетом видеоданных, который содержит видеоданные для множества изображений, содержащихся в части среза. Сообщение SEI уровня изображения является дополнительной информацией, которая может применяться к декодированию изображения.

В случае, когда CDR в текущей GOP просто было выбрано для произвольного доступа, декодер может использовать этот флаг, чтобы определять, могут ли какие-либо потенциально излишние изображения в текущей GOP быть успешно декодируемыми и могут использоваться для внешнего предсказания для изображений, следующих за CDR в порядке декодирования и порядке вывода (т.е. определять, что потенциально излишнее изображение является зависимым изображением).

В другом примере раскрытия, флаг индикации зависимости и/или флаг зависимого изображения может добавляться в формат файлов, например, формат файлов ISO, так что изображения, которые не являются зависимыми изображениями должны декодироваться и/или не должны передаваться, если файл является инкапсулированным для передачи в сценариях приложений, таких как потоковое видео на основе HTTP.

Базовый формат мультимедийных файлов ISO сконструирован, чтобы содержать временную мультимедийную информацию для представления в гибком, расширяемом формате, который обеспечивает взаимозаменяемость, управление, редактирование, и представление мультимедиа. Базовый формат мультимедийных файлов ISO (ISO/IEC 14496-12:2004) определен в MPEG-4 Part-12, который определяет общую структуру для основанных на времени мультимедийных файлов. Он используется в качестве основы для других форматов файлов в семействе, как, например, определяемая поддержка форматом файлов Улучшенного видеокодирования (AVC) (ISO/IEC 14496-15) для видеосжатия H.264/MPEG-4 AVC, формат файлов 3GPP и формат файлов SVC и формат файлов MVC, оба из которых являются расширениями формата файлов AVC. Формат мультимедийных файлов ISO также может, в общем, расширяться до других стандартов видеокодирования, таких как HEVC.

Базовый формат мультимедийных файлов ISO может содержать синхронизацию, структуру, и мультимедийную информацию для временных последовательностей мультимедийных данных, таких как аудио-визуальные представления. Файловая структура является объектно-ориентированной. Файл может разлагаться на базовые объекты очень просто, и структура объектов вытекает из их типа.

Представление (последовательность движения) может содержаться в нескольких файлах. Информация синхронизации и кадрирования (положение и размер) находится в базовом мультимедийном файле ISO и вспомогательные файлы могут, по существу, использовать любой формат. Это представление может быть 'локальным' для системы, содержащей представление, или может осуществляться посредством сети или другого потокового механизма доставки.

Файлы, соответствующие базовому формату мультимедийных файлов ISO, формируются как последовательность объектов, называемых "блоки". В одном примере, все данные содержатся в блоках и не имеется никаких других данных внутри файла. Это включает в себя любую начальную сигнатуру, требуемую конкретным форматом файлов. "Блок" является объектно-ориентированным компоновочным блоком, определенным посредством однозначного идентификатора типа и длины.

Иллюстративная файловая структура, следующая базовому формату мультимедийных файлов ISO, показана на Фиг. 8. Обычно, представление содержится в одном файле 300, при этом мультимедийное представление является автономным. Контейнер 302 фильмов (например, блок фильма) содержит метаданные мультимедиа, и видео и аудиокадры содержатся в контейнере 350 мультимедийных данных и/или в других файлах.

Контейнер 302 фильмов может содержать метаданные для видеодорожки 304. Контейнер 302 фильмов также может содержать другие дорожки, такие как аудиодорожка (не показана). Метаданные в видеодорожке 304 могут храниться в контейнере 308 мультимедийной информации. Мультимедийная информация может включать в себя описание 310 отсчетов. Описание 310 отсчетов может содержать 'имя' точного типа мультимедиа (например, типа декодера, необходимого, чтобы декодировать поток) и любую параметризацию того необходимого декодера. Имя также может принимать форму кода из четырех символов, например, "moov", или "trak". Определены форматы вхождений отсчетов не только для мультимедиа MPEG-4, но также для типов мультимедиа, используемых другими организациями, использующими это семейство форматов файлов.

Контейнер 350 мультимедийных данных может включать в себя чередующиеся упорядоченные по времени отсчеты видео и аудиокадры. В частности, контейнер 350 мультимедийных данных может включать в себя множество кусков видеоданных (например, кусок 352 и 362 видеоданных). Каждый кусок видеоданных может включать в себя множество отсчетов видео (например, отсчеты 353a-c и 363a-c видео).

Файлы имеют логическую структуру, временную структуру, и физическую структуру. От этих структур не требуется, чтобы они были связанными. Логическая структура файла предназначена для фильма, который в свою очередь содержит набор параллельных по времени дорожек. Временная структура файла состоит в том, что дорожки содержат последовательности отсчетов во времени, и эти последовательности преобразовываются во временную шкалу полного фильма посредством необязательных монтажных списков.

Физическая структура файла отделяет данные, необходимые для логического, временного, и структурного разложения, от самих отсчетов мультимедийных данных. Эта структурная информация концентрируется в блоке фильма, возможно расширенном во времени посредством блоков фрагментов фильма. Блок фильма документирует логические и временные отношения отсчетов, и также содержит указатели на то, где они располагаются. Эти указатели могут быть на тот же файл или другой файл, указанный посредством URL.

Поддержка для метаданных принимает две формы. Во-первых, связанные со временем метаданные могут храниться в соответствующей дорожке, синхронизированные, как требуется, с мультимедийными данными, которые они описывают (например, кусками видеоданных в контейнере 350 мультимедиа). Во-вторых, имеется общая поддержка для не связанных со временем метаданных, прикрепленных к фильму или к индивидуальной дорожке. Структурная поддержка является общей, и обеспечивает возможность, как в мультимедийных данных, хранения ресурсов метаданных где-либо в файле или в другом файле. В дополнение, этим ресурсам могут присваиваться имена, и они могут быть защищенными.

В базовом формате мультимедийных файлов ISO, группированием отсчетов является назначение каждого из отсчетов в дорожке, чтобы он был членом одной группы отсчетов. От отсчетов в группе отсчетов не требуется, чтобы они были непрерывными. Например, при представлении H.264/AVC в формате файлов AVC, отсчеты видео в одном временном уровне могут дискретизироваться в одну группу отсчетов. Группы отсчетов представляются посредством двух структур данных: блока SampleToGroup (sbdp) и блока SampleGroupDescription. Блок SampleToGroup представляет назначение отсчетов группам отсчетов. Имеется один экземпляр второго блока для каждого вхождения группы отсчетов, чтобы описывать свойства этой группы.

В базовом формате мультимедийных файлов ISO, определяется вторая группа, называемая группирование отсчетов точки произвольного доступа (RAP) 312. Отсчет синхронизации определяется как точка произвольного доступа (например, изображение CDR), после которой все отсчеты в порядке декодирования могут корректно декодироваться. Однако может быть возможным кодировать "открытую" точку произвольного доступа, после которой все отсчеты в порядке вывода могут корректно декодироваться, но некоторые отсчеты, следующие за точкой произвольного доступа в порядке декодирования и предшествующие точке произвольного доступа в порядке вывода, не обязаны быть корректно декодируемыми. Например, за внутренне кодированным изображением, начинающим открытую группу изображений, могут следовать в порядке декодирования (двунаправленно) предсказанные изображения, которые предшествуют внутренне кодированному изображению в порядке вывода. Является возможным, что такие (двунаправленно) предсказанные изображения не могут корректно декодироваться, если декодирование начинается с внутренне кодированного изображения, и как таковые, они не являются необходимыми.

Такие "открытые" отсчеты произвольного доступа могут помечаться как являющиеся членом этой группы (обозначено посредством стрелок из RAP 312 в отсчеты видео в куске 352 и 362 видео на Фиг. 8). Отсчеты, помеченные посредством этой группы, являются точками произвольного доступа, и также могут быть точками синхронизации (т.е. не требуется, чтобы отсчеты, помеченные посредством таблицы отсчетов синхронизации, исключались).

Пример синтаксиса произвольного доступа для базового формата файлов ISO показан ниже.

class VisualRandomAccessEntry() extends VisualSampleGroupEntry ('rap

')

{

unsigned int(1) num_leading_samples_known;

unsigned int(7) num_leading_samples;

}

Синтаксический элемент num_leading_samples_known, равный 1, показывает, что количество ведущих отсчетов перед точкой синхронизации (например, изображением CDR) является известным для каждого отсчета в этой группе, и количество определяется синтаксическим элементом num_leading_samples. Ведущий отсчет является таким отсчетом, связанным с "открытой" точкой произвольного доступа (RAP). Он предшествует RAP (например, изображению CDR) в порядке отображения и следует за RAP или другим ведущим отсчетом в порядке декодирования. Когда декодирование начинается с RAP, отсчет не может корректно декодироваться. Синтаксический элемент num_leading_samples определяет количество ведущих отсчетов для каждого отсчета в этой группе. Когда num_leading_samples_known равняется 0, это поле должно игнорироваться.

Чтобы дополнительно обеспечивать возможность сигнализации флага зависимости (dependent_flag), предлагается следующий синтаксис:

class VisualRandomAccessEntry() extends VisualSampleGroupEntry ('rap

')

{

unsigned int(1) num_leading_samples_known;

unsigned int(6) num_leading_samples;

unsigned int(1) depedent_indication_flag;

if (depedent_indication_flag) {

for (i = 0; i < num_leading_samples; i++)

unsigned int (1) dependent_flag;

while (i%8 != 0)

unsigned int (1) byte_aligne_zero_bit;

}

}

В вышеописанном примере, значение dependent_indication_flag 314 для ведущих изображений сигнализируется в порядке декодирования. dependent_indication_flag 314 показывает, являются ли какие-либо из ведущих отсчетов (например, потенциально излишние изображения) зависимыми изображениями, которые являются корректно декодируемыми, после произвольного доступа к RAP (например, изображению CDR), и используются для декодирования изображений, следующих за RAP в порядке вывода. Если dependent_indication_flag 314 является истиной (например, имеет значение 1), dependent_flag 316 тогда сигнализируется для каждого из потенциально излишних изображений, чтобы показывать, является ли конкретное изображение зависимым или нет. Если dependent_indication_flag 314 является ложью (например, имеет значение 0), dependent_flag 316 не должен сигнализироваться.

В другом примере раскрытия, dependent_indication_flag 314 не сигнализируется, и вместо этого, dependent_flag 316 сигнализируется для всех потенциально излишних изображений в группе, имеющей RAP (например, изображение CDR). Например, другой блок может быть связанным для каждого отсчета, и блок может содержать такой dependent_flag 316. Если dependent_flag 316 является истиной, и, таким образом, текущее изображение является зависимым изображением после произвольного доступа, флаг показывает, что зависимое изображение является успешно декодируемым и может использоваться для внешнего предсказания посредством изображений, следующих за CDR в порядке вывода, если самое близкое CDR используется для произвольного доступа. Если dependent_flag 316 является ложью, изображение не является необходимым для внешнего предсказания для изображений, следующих за CDR в порядке вывода, и дополнительно, изображения не являются необходимыми, когда происходит произвольный доступ с использованием CDR.

Если определение CDR модифицируется соответствующим образом, все другие потенциально излишние изображения, за исключением зависимого изображения (например, изображения I146/P246/B246 на Фиг. 1 и Фиг. 2), не должны декодироваться, когда CDR используется для произвольного доступа. Потенциально излишние изображения, которые помечены флагами как не являющиеся декодируемыми зависимыми изображениями, не должны декодироваться, когда для произвольного доступа используется изображение CDR, что может упрощать декодирование.

Фиг. 3 является блок-схемой, иллюстрирующей иллюстративную систему 10 кодирования и декодирования видео, которая может использовать способы кодирования произвольного доступа, описанные в этом раскрытии. Как показано на Фиг. 3, система 10 включает в себя устройство 12 источника, которое генерирует кодированные видеоданные, подлежащие декодированию в более позднее время посредством устройства 14 назначения. Устройство 12 источника и устройство 14 назначения могут содержать любое из широкого диапазона устройств, включая сюда настольные компьютеры, блокнотные (т.е. портативные) компьютеры, планшетные компьютеры, приставки к телевизору, микротелефонные трубки, такие как, так называемые "смартфоны", так называемые планшеты "smart pad", телевизоры, камеры, устройства отображения, цифровые мультимедийные проигрыватели, консоли видеоигр, или подобное. В некоторых случаях, устройство 12 источника и устройство 14 назначения могут иметь оснащение для беспроводной связи.

Устройство 14 назначения может принимать кодированные видеоданные, подлежащие декодированию, посредством линии связи 16. Линия связи 16 может содержать любой тип носителя или устройства, выполненного с возможностью перемещения кодированных видеоданных от устройства 12 источника в устройство 14 назначения. В одном примере, линия связи 16 может содержать носитель связи, чтобы обеспечивать возможность устройству 12 источника передавать кодированные видеоданные напрямую в устройство 14 назначения в реальном времени. Кодированные видеоданные могут модулироваться согласно стандарту связи, такому как протокол беспроводной связи, и передаваться в устройство 14 назначения. Носитель связи может содержать любой беспроводной или проводной носитель связи, такой как радиочастотный (RF) спектр или одну или более физических линий передачи. Носитель связи может формировать часть основанной на пакетах сети, такой как локальная сеть, широкомасштабная сеть, или глобальная сеть, такая как сеть Интернет. Носитель связи может включать в себя маршрутизаторы, коммутаторы, базовые станции, или любое другое оборудование, которое может быть полезным, чтобы обеспечивать связь от устройства 12 источника к устройству 14 назначения.

В другом примере, кодированное видео также может сохраняться на запоминающем носителе 34 или файловом сервере 36, и к нему может осуществляться доступ устройством 14 назначения, как требуется. Запоминающий носитель может включать в себя любой из многообразия носителей хранения данных, к которым может осуществляться локальный доступ, таких как диски Blu-ray, DVD, CD-ROM, флэш-память, или любые другие подходящие цифровые запоминающие носители для хранения кодированных видеоданных. Запоминающий носитель 34 или файловый сервер 36 может быть любым другим промежуточным запоминающим устройством, которое может хранить кодированное видео, сгенерированное посредством устройства 12 источника, и к которому устройство 14 назначения может осуществлять доступ, как требуется, посредством потоковой передачи или загрузки. Файловый сервер может быть любым типом сервера, выполненным с возможностью хранения кодированных видеоданных и передачи этих кодированных видеоданных в устройство 14 назначения. Иллюстративные файловые серверы включают в себя Веб-сервер (например, для Веб-сайта), FTP сервер, устройства сетевой системы хранения данных (NAS), или локальный привод дисков. Устройство 14 назначения может осуществлять доступ к кодированным видеоданным посредством любого стандартного соединения передачи данных, включающего в себя Интернет соединение. Оно может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, DSL, кабельный модем, и т.д.), или комбинацию обоих, что является подходящим для осуществления доступа к кодированным видеоданным, сохраненным на файловом сервере. Передача кодированных видеоданных от файлового сервера может быть потоковой передачей, передачей загрузки, или комбинацией обеих.

Способы этого раскрытия не являются необходимо ограниченными беспроводными приложениями или настройками. Способы могут применяться к видеокодированию при поддержке любого из многообразия мультимедийных приложений, таких как эфирное телевизионное широковещание, кабельные телевизионные передачи, спутниковые телевизионные передачи, потоковые передачи видео, например, посредством сети Интернет, кодирование цифрового видео для хранения на носителе хранения данных, декодирование цифрового видео, сохраненного на носителе хранения данных, или других приложений. В некоторых примерах, система 10 может быть сконфигурированной с возможностью поддержки односторонней или двусторонней передачи видео, чтобы поддерживать приложения, такие как потоковое видео, проигрывание видео, широковещание видео, и/или видео-телефония.

В примере из Фиг. 3, устройство 12 источника включает в себя источник 18 видео, видеокодер 20 и выходной интерфейс 22. В некоторых случаях, выходной интерфейс 22 может включать в себя модулятор/демодулятор (модем) и/или передатчик. В устройстве 12 источника, источник 18 видео может включать в себя источник, такой как устройство захвата видео, например, видеокамеру, архив видео, содержащий ранее захваченное видео, интерфейс источника видеосигнала, чтобы принимать видео от провайдера видеоконтента, и/или систему компьютерной графики для генерирования данных компьютерной графики в качестве источника видео, или комбинацию таких источников. В качестве одного примера, если источник 18 видео является видеокамерой, устройство 12 источника и устройство 14 назначения могут формировать так называемые камерофоны или видеофоны. Однако способы, описанные в этом раскрытии, могут быть применимыми к видеокодированию в общем, и могут применяться к беспроводным и/или проводным приложениям.

Захваченное, предварительно захваченное, или машинно-сгенерированное видео может кодироваться посредством видеокодера 20. Кодированная видеоинформация может модулироваться посредством модема 22 согласно стандарту связи, такому как протокол беспроводной связи, и передаваться в устройство 14 назначения посредством передатчика 24. Модем 22 может включать в себя различные миксеры, фильтры, усилители или другие компоненты, предназначенные для модуляции сигнала. Передатчик 24 может включать в себя схемы, предназначенные для передачи данных, включая сюда усилители, фильтры, и одну или более антенн.

Устройство 14 назначения, в примере из Фиг. 3, включает в себя приемник 26, модем 28, видеодекодер 30, и устройство 32 отображения. Приемник 26 устройства 14 назначения принимает информацию по каналу 16, и модем 28 демодулирует информацию, чтобы вырабатывать демодулированный битовый поток для видеодекодера 30. Информация, переданная по каналу 16, может включать в себя многообразие синтаксической информации, сгенерированной посредством видеокодера 20 для использования видеодекодером 30 в декодировании видеоданных. Такой синтаксис также может содержаться с кодированными видеоданными, сохраненными на запоминающем носителе 34 или файловом сервере 36. Каждый из видеокодера 20 и видеодекодера 30 может формировать часть соответствующего кодера-декодера (CODEC), который является способным кодировать или декодировать видеоданные.

Устройство 32 отображения может быть интегрированным с, или внешним к, устройством 14 назначения. В некоторых примерах, устройство 14 назначения может включать в себя интегрированное устройство отображения и также быть сконфигурированным с возможностью соединения с внешним устройством отображения. В других примерах, устройство 14 назначения может быть устройством отображения. В общем, устройство 32 отображения отображает декодированные видеоданные пользователю, и может содержать любое из многообразия устройств отображения, таких как жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светоизлучающих диодах (OLED), или другой тип устройства отображения.

Видеокодер 20 и видеодекодер 30 могут работать согласно стандарту сжатия видео, такому как стандарт высокоэффективного видеокодирования (HEVC), в настоящее время находящийся в разработке, и могут соответствовать тестовой модели HEVC (HM). Текущая черновая версия стандарта HEVC представлена в JCTVC-H1003, "High Efficiency Video Coding (HEVC) text specification draft 6", версия 21, под редакцией B. Bross, W.-J. Han, G. J. Sullivan, J.-R. Ohm, T. Wiegand, датированная 17 февраля, 2012. Альтернативно, видеокодер 20 и видеодекодер 30 могут работать согласно другим проприетарным или промышленным стандартам, таким как стандарт ITU-T H.264, альтернативно указываемый как MPEG-4, Part 10, Улучшенное видеокодирование (AVC), или расширениям таких стандартов. Способы этого раскрытия, однако, не являются ограниченными каким-либо конкретным стандартом кодирования. Другие примеры стандартов сжатия видео включают в себя MPEG-2 и ITU-T H.263.

Хотя на Фиг. 3 не показано, в некоторых аспектах, видеокодер 20 и видеодекодер 30 могут каждый быть интегрированным с кодером и декодером аудио, и могут включать в себя соответствующие блоки MUX-DEMUX, или другое аппаратное обеспечение и программное обеспечение, чтобы обеспечивать кодирование обоих аудио и видео в общем потоке данных или отдельных потоках данных. Если применимо, в некоторых примерах, блоки MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223, или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).

Видеокодер 20 и видеодекодер 30 каждый могут осуществляться как один или более процессоров, содержащих любую из многообразия подходящих схем кодера и/или декодера, таких как один или более микропроцессоров, цифровых сигнальных процессоров (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретная логика, программное обеспечение, аппаратное обеспечение, встроенное программное обеспечение или любые комбинации перечисленного. Когда способы осуществляются частично в программном обеспечении, устройство может хранить инструкции для программного обеспечения в подходящем, нетранзиторном машиночитаемом носителе и исполнять инструкции в аппаратном обеспечении с использованием одного или более процессоров, чтобы выполнять способы этого раскрытия. Каждый из видеокодера 20 и видеодекодера 30 может содержаться в одном или более кодеров или декодеров, каждый из которых может быть интегрированным как часть комбинированного кодера/декодера (CODEC) в соответствующем устройстве.

Видеокодер 20 может осуществлять любой или все из способов этого раскрытия. Подобным образом, видеодекодер 30 может осуществлять любой или все из этих способов. В качестве одного примера, видеокодер 20 может быть сконфигурированным с возможностью кодировать группу изображений, которая включает в себя изображение чистого обновления декодирования (CDR) и одно или более потенциально излишних изображений, определять, является ли какое-либо из упомянутых одного или более потенциально излишних изображений зависимым изображением, определять, является ли зависимое изображение декодируемым в случае, когда изображение CDR используется для произвольного доступа, и сигнализировать синтаксический элемент, показывающий, что зависимое изображение определяется как декодируемое в случае, когда изображение CDR используется для произвольного доступа.

В качестве другого примера, видеодекодер 30 может быть сконфигурированным с возможностью принимать группу изображений, включающих в себя изображение чистого обновления декодирования (CDR) и одно или более потенциально излишних изображений, и принимать синтаксический элемент, показывающий, является ли или нет какое-либо из упомянутых одного или более потенциально излишних изображений зависимым изображением, которое является декодируемым в случае, когда принимается запрос на произвольный доступ к изображению CDR. Видеодекодер 30 может быть дополнительно сконфигурированным с возможностью принимать запрос на произвольный доступ к изображению CDR, декодировать изображение CDR в ответ на запрос на произвольный доступ, и декодировать зависимое изображение, соответствующее принятому синтаксическому элементу.

Видеокодер, как описано в этом раскрытии, может указывать на видеокодер или видеодекодер. Аналогично, видеокодер и видеодекодер могут упоминаться как блоки кодирования видео и блоки декодирования видео, соответственно. Подобным образом, видеокодирование может указывать на кодирование видео или декодирование видео.

Объединенная совместная команда по видеокодированию (JCT-VC) в текущее время работает над разработкой стандарта HEVC. Усилия стандартизации HEVC основываются на усовершенствованной модели устройства видеокодирования, указываемого как тестовая модель HEVC (HM). Текущая HM предполагает несколько дополнительных возможностей устройств видеокодирования по сравнению с существующими устройствами согласно, например, ITU-T H.264/AVC. Например, тогда как H.264 обеспечивает девять режимов кодирования внутреннего предсказания, HM может обеспечивать настолько много как тридцать три режима кодирования внутреннего предсказания.

В общем, рабочая модель HM описывает то, что видеокадр или изображение может разделяться на последовательность блоков с древовидной структурой или наибольших блоков кодирования (LCU), которые включают в себя как отсчеты яркости, так и цветности. Блок с древовидной структурой имеет аналогичное назначение, что и макроблок стандарта H.264. Срез включает в себя некоторое количество последовательных блоков с древовидной структурой в порядке кодирования. Видеокадр или изображение может разбиваться на один или более срезов. Каждый блок с древовидной структурой может разбиваться на блоки кодирования (CU) согласно квадрадереву. Например, блок с древовидной структурой, как корневой узел квадрадерева, может разбиваться на четыре дочерних узла, и каждый дочерний узел может в свою очередь быть родительским узлом и разбиваться на другие четыре дочерних узла. Конечный, неразбитый дочерний узел, в качестве листового узла квадрадерева, содержит узел кодирования, т.е. кодированный видеоблок. Синтаксические данные, связанные с кодированным битовым потоком, могут определять максимальное количество раз, сколько блок с древовидной структурой может разбиваться, и также могут определять минимальный размер узлов кодирования.

CU включает в себя узел кодирования и блоки предсказания (PU) и блоки преобразования (TU), связанные с узлом кодирования. Размер блока CU соответствует размеру узла кодирования и является квадратным по форме. Размер блока CU может находиться в диапазоне от 8x8 пикселей вплоть до размера блока с древовидной структурой с максимум 64x64 пикселей или больше. Каждый CU может содержать один или более блоков PU и один или более блоков TU. Синтаксические данные, связанные с CU, могут описывать, например, разбиение блока CU на один или более блоков PU. Режимы разбиения могут различаться между тем, является ли CU кодированным в режиме с пропуском или прямом, кодированным в режиме внутреннего предсказания, или кодированным в режиме внешнего предсказания. PU могут разбиваться, чтобы быть неквадратными по форме. Синтаксические данные, связанные с CU, также могут описывать, например, разбиение блока CU на один или более блоков TU согласно квадрадереву. TU может быть квадратным или неквадратным по форме.

В общем, PU включает в себя данные, относящиеся к обработке предсказания. Например, когда PU является кодированным во внутреннем режиме, PU может включать в себя данные, описывающие режим внутреннего предсказания для PU. В качестве другого примера, когда PU является кодированным во внешнем режиме, PU может включать в себя данные, определяющие вектор движения для PU. Данные, определяющие вектор движения для PU, могут описывать, например, горизонтальный компонент вектора движения, вертикальный компонент вектора движения, разрешение для вектора движения (например, точность одна четверть пикселя или точность одна восьмая пикселя), ссылочное изображение, на которое ссылается вектор движения, и/или список ссылочных изображений (например, список 0, список 1, или список C) для вектора движения.

В общем, TU используется для обработок преобразования и квантования. CU, имеющий один или более блоков PU, может также включать в себя один или более блоков преобразования (TU). После предсказания, видеокодер 20 может вычислять остаточные значения, соответствующие PU. Остаточные значения содержат значения пиксельной разности между текущим блоком видеоданных и предсказывающим блоком видеоданных. Остаточные значения могут преобразовываться в коэффициенты преобразования, квантоваться, и сканироваться с использованием блоков TU, чтобы вырабатывать преобразованные в последовательную форму коэффициенты преобразования для энтропийного кодирования. Это раскрытие обычно использует признак "видеоблок", чтобы указывать на узел кодирования блока CU. В некоторых конкретных случаях, это раскрытие также может использовать признак "видеоблок", чтобы указывать на блок с древовидной структурой, т.е. LCU, или CU, который включает в себя узел кодирования и блоки PU и блоки TU.

Видеопоследовательность обычно включает в себя последовательность видеокадров или изображений. Группа изображений (GOP), в общем, содержит последовательность из одного или более видеоизображений. GOP может включать в себя синтаксические данные в заголовке группы GOP, заголовке одного или более из изображений, или где-то в другом месте, которые описывают количество изображений, включенных в GOP. Каждый срез изображения может включать в себя синтаксические данные среза, которые описывают режим кодирования для соответствующего среза. Видеокодер 20 обычно работает над видеоблоками внутри индивидуальных видеосрезов, чтобы кодировать видеоданные. Видеоблок может соответствовать узлу кодирования внутри CU. Видеоблоки могут иметь фиксированные или изменяющиеся размеры, и могут различаться в размере согласно определенному стандарту кодирования.

В качестве примера, HM поддерживает предсказание в различных размерах PU. Предполагая, что размер конкретного CU равняется 2Nx2N, HM поддерживает внутреннее предсказание в размерах PU, равных 2Nx2N или NxN, и внешнее предсказание в симметричных размерах PU 2Nx2N, 2NxN, Nx2N, или NxN. HM также поддерживает асимметричное разбиение для внешнего предсказания в размерах PU 2NxnU, 2NxnD, nLx2N, и nRx2N. В асимметричном разбиении, одно направление блока CU не разбивается, в то время как другое направление разбивается на 25% и 75%. Часть блока CU, соответствующая разбиению 25%, показывается посредством "n", за которым следует индикация "вверх", "вниз", "влево", или "вправо". Таким образом, например, "2NxnU" указывает на CU 2Nx2N, который разбит горизонтально с PU 2Nx0.5N наверху и PU 2Nx1.5N внизу.

В этом раскрытии, "NxN" и "N на N" могут использоваться взаимозаменяемо, чтобы указывать на пиксельные размерности видеоблока в терминах вертикального и горизонтального измерений, например, 16x16 пикселей или 16 на 16 пикселей. В общем, блок 16x16 имеет 16 пикселей в вертикальном направлении (y=16) и 16 пикселей в горизонтальном направлении (x=16). Подобным образом, блок NxN, в общем, имеет N пикселей в вертикальном направлении и N пикселей в горизонтальном направлении, где N представляет неотрицательное целочисленное значение. Пиксели в блоке могут располагаться в строках и столбцах. Более того, блоки не должны необходимо иметь одно и то же количество пикселей как в горизонтальном направлении, так и в вертикальном направлении. Например, блоки могут содержать NxM пикселей, где M не является необходимо равным N.

После кодирования с внутренним предсказанием или внешним предсказанием с использованием блоков PU блока CU, видеокодер 20 может вычислять остаточные данные. Блоки PU могут содержать пиксельные данные в пространственной области (также указываемой как пиксельная область). TU может содержать коэффициенты в области преобразования после применения преобразования, например, дискретного косинусного преобразования (DCT), целочисленного преобразования, вейвлет-преобразования, или концептуально аналогичного преобразования, к остаточным видеоданным. Остаточные данные могут соответствовать пиксельным разностям между пикселями некодированного изображения и предсказывающего видеоблока. Видеокодер 20 может формировать блоки TU, включающие в себя остаточные данные для CU, и затем преобразовывать блоки TU, чтобы вырабатывать коэффициенты преобразования для CU.

После любых преобразований для выработки коэффициентов преобразования, видеокодер 20 может выполнять квантование коэффициентов преобразования. Квантование, в общем, указывает на обработку, в которой коэффициенты преобразования квантуются, чтобы возможно уменьшать величину данных, используемых, чтобы представлять коэффициенты, обеспечивая дополнительное сжатие. Обработка квантования может уменьшать битовую глубину, связанную с некоторыми или всеми коэффициентами. Например, n-битное значение может округляться вниз до m-битного значения в ходе квантования, где n больше, чем m.

В некоторых примерах, видеокодер 20 может использовать предварительно определенный порядок сканирования, чтобы сканировать квантованные коэффициенты преобразования, чтобы вырабатывать преобразованный в последовательную форму вектор, который может подвергаться энтропийному кодированию. В других примерах, видеокодер 20 может выполнять адаптивное сканирование. После сканирования квантованных коэффициентов преобразования для формирования одномерного вектора, видеокодер 20 может осуществлять энтропийное кодирование одномерного вектора, например, согласно контекстно-адаптивному кодированию переменной длины (CAVLC), контекстно-адаптивному двоичному арифметическому кодированию (CABAC), основанному на синтаксисе контекстно-адаптивному двоичному арифметическому кодированию (SBAC), энтропийным кодам разбиения на вероятностные интервалы (PIPE) или другому способу энтропийного кодирования. Видеокодер 20 также может осуществлять энтропийное кодирование синтаксических элементов, связанных с кодированными видеоданными, для использования видеодекодером 30 при декодировании видеоданных.

Чтобы выполнять CABAC, видеокодер 20 может назначать контекст внутри контекстной модели символу, подлежащему передаче. Контекст может относиться, например, к тому, являются ли соседние значения символа ненулевыми или нет. Чтобы выполнять CAVLC, видеокодер 20 может выбирать код переменной длины для символа, подлежащего передаче. Кодовые слова в VLC могут конструироваться так, что относительно более короткие коды соответствуют более вероятным символам, в то время как более длинные коды соответствуют менее вероятным символам. Этим способом, использование VLC может достигать сохранение битов по сравнению, например, с использованием кодовых слов равной длины для каждого символа, подлежащего передаче. Определение вероятности может основываться на контексте, назначенном символу.

Фиг. 4 является блок-схемой, иллюстрирующей иллюстративный видеокодер 20, который может осуществлять способы, описанные в этом раскрытии. Видеокодер 20 может выполнять внутреннее и внешнее кодирование видеоблоков внутри видеосрезов. Внутреннее кодирование полагается на пространственное предсказание, чтобы уменьшать или удалять пространственную избыточность в видео внутри заданного видеокадра или изображения. Внешнее кодирование полагается на временное предсказание, чтобы уменьшать или удалять временную избыточность в видео внутри смежных кадров или изображений видеопоследовательности. Внутренний режим (режим I) может указывать на любой из нескольких основанных на пространственном сжатии режимов. Внешние режимы, такие как однонаправленное предсказание (режим P) или двунаправленное предсказание (режим B), могут указывать на любой из нескольких основанных на временном сжатии режимов.

В примере из Фиг. 4, видеокодер 20 включает в себя модуль 41 предсказания, память 64 ссылочных изображений, сумматор 50, модуль 52 преобразования, блок 54 квантования, и блок 56 энтропийного кодирования. Модуль 41 предсказания включает в себя блок 40 выбора режима, блок 42 оценки движения, блок 44 компенсации движения, и модуль 46 внутреннего предсказания. Модуль 41 предсказания, включающий в себя блок 40 выбора режима, блок 42 оценки движения, блок 44 компенсации движения, и модуль 46 внутреннего предсказания, содержащиеся там, может рассматриваться как часть полной схемы видеокодера. Любой модуль или блок, описанный для видеокодера 20 может быть структурирован как один или более программируемых процессоров, как аппаратная логика, или любая комбинация перечисленного. Для восстановления видеоблока, видеокодер 20 также включает в себя блок 58 обратного квантования, модуль 60 обратного преобразования, и сумматор 62. Фильтр разблокирования (на Фиг. 4 не показан) также может включаться в границы блока фильтра, чтобы удалять артефакты блочности из восстановленного видео. Если требуется, фильтр разблокирования обычно фильтрует вывод сумматора 62.

Как показано на Фиг. 4, видеокодер 20 принимает текущий видеоблок внутри видеосреза, подлежащего кодированию. Срез может разделяться на множественные видеоблоки. Блок 40 выбора режима может выбирать один из режимов кодирования, внутренний или внешний, для текущего видеоблока на основе результатов ошибки, и модуль 41 предсказания может обеспечивать результирующий внутренне или внешне кодированный блок в сумматор 50, чтобы генерировать остаточные данные блока, и в сумматор 62, чтобы восстанавливать кодированный блок для использования в качестве ссылочного изображения.

Модуль 41 предсказания (или другой структурный блок видеокодера 20) также может конфигурироваться с возможностью определять, содержит ли текущая GOP какие-либо зависимые изображения. Как описано выше, зависимое изображение является изображением, которое следует за изображением CDR в порядке кодирования, но также используется в качестве изображения предсказания для другого изображения, которое следует за CDR в порядке как кодирования, так и отображения. Модуль 41 предсказания может отслеживать цепь предсказания для GOP, которая содержит CDR. Если изображение определяется как зависимое изображение, модуль 41 предсказания может дополнительно определять, является ли зависимое изображение декодируемым в случае, когда осуществляется произвольный доступ к CDR. Зависимое изображение определяется как декодируемое, если цепь предсказания для зависимого изображения не зависит от каких-либо изображений из предыдущей GOP (например, внешне предсказанное B или P изображение, которое внешне предсказывается по CDR или другим декодируемым изображениям в случае произвольного доступа к CDR), или если зависимое изображение является внутренне предсказанным изображением (например, изображением I146 из Фиг. 1).

Модуль 41 предсказания может сигнализировать синтаксический элемент 63 зависимого изображения (например, флаг зависимости) в кодированном битовом видеопотоке, чтобы показывать, является ли или нет конкретное потенциально излишнее изображение зависимым изображением, которое является декодируемым в случае произвольного доступа к изображению CDR. Синтаксический элемент 63 зависимого изображения может подвергаться энтропийному кодированию посредством блока 56 энтропийного кодирования для включения в кодированный битовый видеопоток. Как описывалось выше, синтаксический элемент зависимого изображения может сигнализироваться в заголовке блока сетевого уровня абстракции (NAL), сообщении дополнительной расширенной информации (SEI) уровня изображения, заголовке среза, или другом синтаксическом элементе уровня изображения или сообщении. Синтаксический элемент 63 зависимого изображения также может сохраняться в формате файлов, как описано выше.

Следует понимать, что модуль 41 предсказания является только одним примером структурного компонента видеокодера 20, который может генерировать синтаксический элемент 63 зависимого изображения. Другие структурные или функциональные блоки видеокодера 20, либо одиночно, либо в комбинации, могут конфигурироваться с возможностью генерировать синтаксический элемент зависимого изображения с использованием способов, описанных выше.

Модуль 46 внутреннего предсказания внутри модуля 41 предсказания может выполнять кодирование с внутренним предсказанием текущего видеоблока по отношению к одному или более соседним блокам в том же кадре или срезе, что и текущий блок, подлежащий кодированию, чтобы обеспечивать пространственное сжатие. Блок 42 оценки движения и блок 44 компенсации движения внутри модуля 41 предсказания выполняют кодирование с внешним предсказанием текущего видеоблока по отношению к одному или более предсказывающим блокам в одном или более ссылочных изображениях, чтобы обеспечивать временное сжатие.

Блок 42 оценки движения может быть сконфигурированным с возможностью определять режим внешнего предсказания для видеосреза согласно предварительно определенному шаблону для видеопоследовательности. Предварительно определенный шаблон может назначать видеосрезы в последовательности как P срезы, B срезы или GPB срезы. Блок 42 оценки движения и блок 44 компенсации движения могут быть высоко интегрированными, но проиллюстрированы отдельно для концептуальных целей. Оценка движения, выполняемая блоком 42 оценки движения, является обработкой генерирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может показывать смещение PU видеоблока внутри текущего видеокадра или изображения относительно предсказывающего блока внутри ссылочного изображения.

Предсказывающий блок является блоком, который ищут, чтобы он близко соответствовал PU видеоблока, подлежащего кодированию, в терминах пиксельной разности, что может определяться посредством суммирования абсолютных разностей (SAD), суммирования квадратов разностей (SSD), или других метрик разности. В некоторых примерах, видеокодер 20 может вычислять значения для субцелочисленных пиксельных положений ссылочных изображений, сохраненных в памяти 64 ссылочных изображений. Например, видеокодер 20 может вычислять значения пиксельных положений в одну четверть, пиксельных положений в одну восьмую, или других дробных пиксельных положений ссылочного изображения. Поэтому, блок 42 оценки движения может выполнять поиск движения относительно полных пиксельных положений и дробных пиксельных положений и выводить вектор движения с дробной пиксельной точностью.

Блок 42 оценки движения вычисляет вектор движения для PU видеоблока во внешне кодированном срезе посредством сравнения положения PU с положением предсказывающего блока ссылочного изображения. Ссылочное изображение может выбираться из первого списка ссылочных изображений (Списка 0) или второго списка ссылочных изображений (Списка 1), каждый из которых идентифицируют одно или более ссылочных изображений, сохраненных в памяти 64 ссылочных изображений. Блок 42 оценки движения посылает вычисленный вектор движения в блок 56 энтропийного кодирования и блок 44 компенсации движения.

Компенсация движения, выполняемая блоком 44 компенсации движения, может включать в себя выборку или генерирование предсказывающего блока на основе вектора движения, определенного посредством оценки движения. При приеме вектора движения для PU текущего видеоблока, блок 44 компенсации движения может определять местоположение предсказывающего блока, на который указывает вектор движения, в одном из списков ссылочных изображений. Видеокодер 20 формирует остаточный видеоблок посредством вычитания пиксельных значений предсказывающего блока из пиксельных значений текущего видеоблока, который кодируется, формируя значения пиксельной разности. Значения пиксельной разности формируют остаточные данные для блока, и могут включать в себя компоненты разности как яркости, так и цветности. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания. Блок 44 компенсации движения также может генерировать синтаксические элементы, связанные с видеоблоками и видеосрезом, для использования видеодекодером 30 в декодировании видеоблоков видеосреза.

После того как блок 44 компенсации движения сгенерирует предсказывающий блок для текущего видеоблока, видеокодер 20 формирует остаточный видеоблок посредством вычитания предсказывающего блока из текущего видеоблока. Остаточные видеоданные в остаточном блоке могут включаться в один или более блоков TU и направляться в модуль 52 преобразования. Модуль 52 преобразования преобразует остаточные видеоданные в остаточные коэффициенты преобразования с использованием преобразования, такого как дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование. Модуль 52 преобразования может преобразовывать остаточные видеоданные из пиксельной области в область преобразования, такую как частотная область.

Модуль 52 преобразования может посылать результирующие коэффициенты преобразования в блок 54 квантования. Блок 54 квантования квантует коэффициенты преобразования, чтобы дополнительно уменьшать битовую скорость. Обработка квантования может уменьшать битовую глубину, связанную с некоторыми или всеми коэффициентами. Степень квантования может модифицироваться посредством регулировки параметра квантования. В некоторых примерах, блок 54 квантования может затем выполнять сканирование матрицы, включающей в себя квантованные коэффициенты преобразования. Альтернативно, блок 56 энтропийного кодирования может выполнять сканирование.

После квантования блок 56 энтропийного кодирования осуществляет энтропийное кодирование квантованных коэффициентов преобразования. Например, блок 56 энтропийного кодирования может выполнять контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC), или другой способ энтропийного кодирования. После энтропийного кодирования посредством блока 56 энтропийного кодирования, кодированный битовый поток может передаться в видеодекодер 30, или архивироваться для более поздней передачи или извлечения посредством видеодекодера 30. Блок 56 энтропийного кодирования также может осуществлять энтропийное кодирование векторов движения и других синтаксических элементов для текущего видеосреза, который кодируется.

Блок 58 обратного квантования и модуль 60 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы восстанавливать остаточный блок в пиксельной области для более позднего использования в качестве ссылочного блока ссылочного изображения. Блок 44 компенсации движения может вычислять ссылочный блок посредством добавления остаточного блока к предсказывающему блоку одного из ссылочных изображений внутри одного из списков ссылочных изображений. Блок 44 компенсации движения также может применять один или более фильтров интерполяции к восстановленному остаточному блоку, чтобы вычислять субцелочисленные пиксельные значения для использования в оценке движения. Сумматор 62 добавляет восстановленный остаточный блок к блоку предсказания компенсированного движения, выработанному блоком 44 компенсации движения, чтобы вырабатывать ссылочный блок для хранения в памяти 64 ссылочных изображений. Ссылочный блок может использоваться блоком 42 оценки движения и блоком 44 компенсации движения в качестве ссылочного блока, чтобы осуществлять внешнее предсказание блока в последующем видеокадре или изображении.

Фиг. 5 является блок-схемой, иллюстрирующей иллюстративный видеодекодер 30, который может осуществлять способы, описанные в этом раскрытии. В примере из Фиг. 5, видеодекодер 30 включает в себя блок 80 энтропийного декодирования, модуль 81 предсказания, блок 86 обратного квантования, блок 88 обратного преобразования, сумматор 90, и память 92 ссылочных изображений. Модуль 81 предсказания включает в себя блок 82 компенсации движения и модуль 84 внутреннего предсказания. Модуль 81 предсказания, может рассматриваться как часть полной схемы видеодекодера. Любой модуль или блок, описанный для видеодекодера 30, может структурироваться как один или более программируемых процессоров, как аппаратная логика, или любая комбинация перечисленного. Видеодекодер 30 может, в некоторых примерах, выполнять проход декодирования, в общем, обратный к проходу кодирования, описанному по отношению к видеокодеру 20 из Фиг. 4.

В течение обработки декодирования, видеодекодер 30 принимает кодированный битовый видеопоток, который представляет видеоблоки кодированного видеосреза и связанные синтаксические элементы, включающие в себя синтаксический элемент 63 зависимого изображения, сгенерированные видеокодером (например, видеокодером 20). Блок 80 энтропийного декодирования видеодекодера 30 осуществляет энтропийное декодирование битового потока, чтобы генерировать квантованные коэффициенты, векторы движения, и другие синтаксические элементы. Блок 80 энтропийного декодирования передает векторы движения и другие синтаксические элементы в модуль 81 предсказания. Видеодекодер 30 может принимать синтаксические элементы на уровне видеоизображения, уровне видеосреза и/или уровне видеоблока. Как описывалось выше, синтаксический элемент зависимого изображения может сигнализироваться в заголовке блока сетевого уровня абстракции (NAL), сообщении дополнительной расширенной информации (SEI) уровня изображения, заголовке среза, или другом синтаксическом элементе уровня изображения или сообщении. Синтаксический элемент 63 зависимого изображения также может сохраняться в формате файлов, как описано выше.

Некоторые группы изображений, принятые видеодекодером 30 в кодированном битовом видеопотоке, могут включать в себя изображения CDR. Изображения в GOP с изображением CDR могут также включать в себя синтаксический элемент 63 зависимого изображения, который показывает, являются ли какие-либо из потенциально излишних изображений зависимыми изображениями в GOP и являются ли декодируемыми в случае запроса на произвольный доступ к CDR в этой GOP. В случае, когда принимается запрос 83 произвольного доступа, например, от пользователя через пользовательский интерфейс вычислительного устройства, обеспечивающего проигрывание видео, видеодекодер 30 может начинать декодирование на CDR, связанном с GOP, и может декодировать любые зависимые изображения в соответствии с принятым синтаксическим элементом 63 зависимого изображения. То есть, если синтаксический элемент 63 зависимого изображения показывает, что связанное потенциально излишнее изображение является зависимым изображением, которое является декодируемым в случае произвольного доступа, это зависимое изображение декодируется. Если синтаксический элемент 63 зависимого изображения показывает, что связанное потенциально излишнее изображение не является декодируемым зависимым изображением, это потенциально излишнее изображение может отбрасываться и не декодироваться. Снова, потенциально излишнее изображение может идентифицироваться декодером 30 как изображение в той же GOP, что и CDR, но которое предшествует CDR в порядке отображения.

Когда видеосрез кодируется как внутренне кодированный (I) срез, модуль 84 внутреннего предсказания модуля 81 предсказания может генерировать данные предсказания для видеоблока текущего видеосреза на основе сигнализированного режима внутреннего предсказания и данных из ранее декодированных блоков текущего кадра или изображения. Когда видеокадр кодирован как внешне кодированный (т.е. B, P или GPB) срез, блок 82 компенсации движения модуля 81 предсказания вырабатывает предсказывающие блоки для видеоблока текущего видеосреза на основе векторов движения и других синтаксических элементов, принятых от блока 80 энтропийного декодирования. Предсказывающие блоки могут вырабатываться из одного из ссылочных изображений внутри одного из списков ссылочных изображений. Видеодекодер 30 может конструировать списки ссылочных кадров, Список 0 и Список 1, с использованием устанавливаемых по умолчанию способов построения на основе ссылочных изображений, сохраненных в памяти 92 ссылочных изображений.

Блок 82 компенсации движения определяет информацию предсказания для видеоблока текущего видеосреза посредством синтаксического разбора векторов движения и других синтаксических элементов, и использует информацию предсказания, чтобы вырабатывать предсказывающие блоки для текущего видеоблока, который декодируется. Например, блок 82 компенсации движения использует некоторые из принятых синтаксических элементов, чтобы определять режим предсказания (например, внутреннее или внешнее предсказание), использованный для кодирования видеоблоков видеосреза, тип среза внешнего предсказания (например, B срез, P срез, или GPB срез), информацию построения для одного или более из списков ссылочных изображений для среза, векторы движения для каждого внешне кодированного видеоблока среза, состояние внешнего предсказания для каждого внешне кодированного видеоблока среза, и другую информацию, чтобы декодировать видеоблоки в текущем видеосрезе.

Блок 82 компенсации движения также может выполнять интерполяцию на основе фильтров интерполяции. Блок 82 компенсации движения может использовать фильтры интерполяции, как они использовались видеокодером 20 в ходе кодирования видеоблоков, чтобы вычислять интерполированные значения для субцелочисленных пикселей ссылочных блоков. Блок 82 компенсации движения может определять фильтры интерполяции, используемые видеокодером 20, из принятых синтаксических элементов и использовать фильтры интерполяции, чтобы вырабатывать предсказывающие блоки.

Блок 86 обратного квантования осуществляет обратное квантование, т.е. деквантование, квантованных коэффициентов преобразования, обеспеченных в битовом потоке и декодированных посредством блока 80 энтропийного декодирования. Обработка обратного квантования может включать в себя использование параметра квантования, вычисленного видеокодером 20 для каждого видеоблока в видеосрезе, чтобы определять степень квантования и, таким же образом, степень обратного квантования, которое должно применяться. Модуль 88 обратного преобразования применяет обратное преобразование, например, обратное DCT, обратное целочисленное преобразование, или концептуально аналогичную обработку обратного преобразования, к коэффициентам преобразования, чтобы вырабатывать остаточные блоки в пиксельной области.

После того как блок 82 компенсации движения сгенерирует предсказывающий блок для текущего видеоблока на основе векторов движения и других синтаксических элементов, видеодекодер 30 формирует декодированный видеоблок посредством суммирования остаточных блоков из модуля 88 обратного преобразования с соответствующими предсказывающими блоками, сгенерированными посредством блока 82 компенсации движения. Сумматор 90 представляет компонент или компоненты, которые выполняют эту операцию суммирования. Если требуется, также может применяться фильтр разблокирования, чтобы фильтровать декодированные блоки, чтобы удалять артефакты блочности. Декодированные видеоблоки в заданном кадре или изображении затем сохраняются в памяти 92 ссылочных изображений, которая хранит ссылочные изображения, используемые для последующей компенсации движения. Память 92 ссылочных изображений также хранит декодированное видео для более позднего представления на устройстве отображения, таком как устройство 32 отображения из Фиг. 3.

Фиг. 6 является иллюстративной блок-схемой последовательности операций способа кодирования видео согласно способам этого раскрытия, описанным выше. Способы из Фиг. 6 могут осуществляться посредством видеокодера, такого как видеокодер 20 из Фиг. 4. Видеокодер 20 может быть сконфигурированным с возможностью кодировать группу изображений (GOP), которая включает в себя изображение чистого обновления декодирования (CDR) и одно или более потенциально излишних изображений (110). Упомянутые одно или несколько потенциально излишних изображений следуют за изображением CDR в порядке декодирования и предшествуют изображению CDR в порядке отображения. Видеокодер 20 также может определять, является ли какое-либо из упомянутых одного или более потенциально излишних изображений зависимым изображением (112). Зависимое изображение используется для внешнего предсказания изображения, которое следует за изображением CDR в обоих порядке декодирования и порядке отображения.

Если какое-либо из потенциально излишних изображений является зависимым изображением, видеокодер 20 может дополнительно определять, является ли зависимое изображение декодируемым в случае, когда изображение CDR используется для произвольного доступа (114), как описано выше со ссылкой на Фиг. 4. Видеокодер 20 может дополнительно сигнализировать синтаксический элемент в битовом потоке кодированных видеоданных, показывающий, что потенциально излишнее изображение является зависимым изображением, которое определяется как декодируемое в случае, когда изображение CDR используется для произвольного доступа (116). В одном примере, синтаксический элемент может сигнализироваться в одном или более из заголовка блока сетевого уровня абстракции и сообщения дополнительной расширенной информации (SEI) уровня изображения. В другом примере, синтаксический элемент сигнализируется в формате файлов, как описано выше.

Фиг. 7 является иллюстративной блок-схемой последовательности операций способа декодирования видео согласно способам раскрытия, описанным выше. Способы из Фиг. 7 могут осуществляться посредством видеодекодера, такого как видеодекодер 30 из Фиг. 5. Видеодекодер 30 может быть сконфигурированным с возможностью принимать группу изображений, включающих в себя изображение чистого обновления декодирования (CDR) и одно или более потенциально излишних изображений (120). Видеодекодер 30 может быть дополнительно сконфигурированным с возможностью принимать синтаксический элемент, показывающий, что потенциально излишнее изображение является зависимым изображением и является декодируемым в случае, когда принимается запрос на произвольный доступ к изображению CDR (122). Зависимое изображение используется для внешнего предсказания изображения, которое следует за изображением CDR в обоих порядке декодирования и порядке отображения.

Видеодекодер 30 может быть дополнительно сконфигурированным с возможностью принимать запрос на произвольный доступ к изображению (124) CDR. В случае, когда принимается запрос произвольного доступа, видеодекодер 30 может быть дополнительно сконфигурированным с возможностью декодировать изображение CDR в ответ на запрос на произвольный доступ (126), и декодировать зависимое изображение, соответствующее принятому синтаксическому элементу (128). Дополнительно, видеодекодер 30 также может быть сконфигурированным с возможностью пропускать декодирование для любого из упомянутых одного или более потенциально излишних изображений, показанных как не являющиеся зависимыми изображениями посредством синтаксического элемента (130). В одном примере, синтаксический элемент принимается в одном или более из заголовка блока сетевого уровня абстракции и сообщения дополнительной расширенной информации (SEI) уровня изображения. В другом примере, синтаксический элемент хранится в формате файлов, как описано выше.

В одном или более примерах, описанные функции могут осуществляться в аппаратном обеспечении, программном обеспечении, встроенном программном обеспечении, или любой комбинации перечисленного. Если осуществляются в программном обеспечении, функции могут храниться в или передаваться по, как одна или более инструкций или код, машиночитаемом носителе, и исполняться посредством основанного на аппаратном обеспечении блока обработки. Машиночитаемые носители могут включать в себя машиночитаемые запоминающие носители, которые соответствуют в материальному носителю, такому как носители хранения данных, или носители связи, включающее в себя любой носитель, который обеспечивает передачу компьютерной программы из одного места в другое, например, согласно протоколу связи. Таким образом, машиночитаемые носители, в общем, могут соответствовать (1) материальным машиночитаемым запоминающим носителям, которые являются нетранзиторными, или (2) носителю связи, такому как сигнал или несущее колебание. Носители хранения данных могут быть любыми доступными носителями, к которым может осуществляться доступ одним или более компьютеров или одним или более процессоров, чтобы извлекать инструкции, код и/или структуры данных для реализации способов, описанных в этом раскрытии. Компьютерный программный продукт может включать в себя машиночитаемый носитель.

В качестве примера, и не ограничения, такие машиночитаемые запоминающие носители могут содержать RAM, ROM, EEPROM, CD-ROM или другое оптическое дисковое хранилище, магнитное дисковое хранилище, или другие магнитные хранящие устройства, флэш-память, или любой другой носитель, который может использоваться, чтобы хранить требуемый программный код в форме инструкций или структур данных, и к которому может осуществляться доступ посредством компьютера. Также, любое соединение собственно называется машиночитаемым носителем. Например, если инструкции передаются от Веб-сайта, сервера, или другого удаленного источника с использованием коаксиального кабеля, волоконно-оптического кабеля, витой пары, цифровой абонентской линии (DSL), или беспроводных технологий, таких как инфракрасная, радиосвязь, и микроволновая, то коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL, или беспроводные технологии, такие как инфракрасная, радиосвязь, и микроволновая включаются в определение носителя. Следует понимать, однако, что машиночитаемые запоминающие носители и носители хранения данных не включают в себя соединения, несущие колебания, сигналы, или другие транзиентные носители, но вместо этого нацелены на нетранзиентные, материальные запоминающие носители. Диск (disk, disc), как здесь используется, включает в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), гибкий диск и диск Blu-ray, где диски (disk) обычно воспроизводят данные магнитным образом, а также диски (disc) воспроизводят данные оптически с помощью лазеров. Комбинации вышеописанного должны также включаться в объем машиночитаемых носителей.

Инструкции могут исполняться посредством одного или более процессоров, таких как один или более цифровых сигнальных процессоров (DSP), микропроцессоров общего назначения, специализированных интегральных схем (ASIC), программируемых вентильных матриц (FPGA), или других эквивалентных интегрированных или дискретных логических схем. Соответственно, признак "процессор", как здесь используется, может указывать на любую из предшествующей структуры или любую другую структуру, подходящую для реализации способов, здесь описанных. В дополнение, в некоторых аспектах, функциональность, здесь описанная, может обеспечиваться внутри назначенных аппаратных и/или программных модулей, сконфигурированных с возможностью для кодирования и декодирования, или быть встроенной в комбинированный кодек. Также, способы могут полностью осуществляться в одной или более схемах или логических элементах.

Способы этого раскрытия могут осуществляться в широком многообразии устройств или аппаратуры, включающих в себя беспроводную телефонную трубку, интегральную схему (IC) или набор IC (например, набор микросхем). Различные компоненты, модули, или блоки описываются в этом раскрытии, чтобы подчеркнуть функциональные аспекты устройств, сконфигурированных с возможностью выполнять раскрытые способы, но не обязательно требуют реализации посредством разных аппаратных блоков. Скорее, как описано выше, различные блоки могут быть скомбинированными в аппаратном блоке кодека или обеспечиваться посредством совокупности воздействующих аппаратных блоков, включающих в себя один или более процессоров, как описано выше, в соединении с подходящим программным обеспечением и/или встроенным программным обеспечением.

Были описаны различные примеры. Эти и другие примеры находятся в пределах объема последующей формулы изобретения.

Похожие патенты RU2566972C2

название год авторы номер документа
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ 2012
  • Чэнь Ин
  • Карчевич Марта
RU2589347C2
АДАПТАЦИЯ ПОТОКОВОЙ ПЕРЕДАЧИ НА ОСНОВЕ ИЗОБРАЖЕНИЙ ЧИСТОГО ПРОИЗВОЛЬНОГО ДОСТУПА (CRA) 2013
  • Ван Е-Куй
  • Чэнь Ин
RU2617995C2
ПОСТРОЕНИЕ СПИСКА ОПОРНЫХ ИЗОБРАЖЕНИЙ ДЛЯ ВИДЕОКОДИРОВАНИЯ 2012
  • Ван Е-Куй
  • Чэнь Ин
RU2571410C2
УЛУЧШЕННЫЙ ЛОГИЧЕСКИЙ ВЫВОД В ВИДЕОКОДИРОВАНИИ 2014
  • Ван Е-Куй
  • Чэнь Ин
RU2665891C2
ПРОИЗВОЛЬНЫЙ ДОСТУП С УСОВЕРШЕНСТВОВАННЫМ УПРАВЛЕНИЕМ БУФЕРОМ ДЕКОДИРОВАННЫХ ИЗОБРАЖЕНИЙ (DPB) ПРИ КОДИРОВАНИИ ВИДЕО 2012
  • Чэнь Ин
  • Ван Е-Куй
  • Чэнь Цзяньлэ
RU2584491C2
МАРКИРОВАНИЕ ОПОРНЫХ ИЗОБРАЖЕНИЙ В ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЯХ, ИМЕЮЩИХ ИЗОБРАЖЕНИЯ С РАЗОРВАННОЙ ССЫЛКОЙ 2013
  • Ван Е-Куй
RU2630181C2
ЗАПОЛНЕНИЕ КРАЕВЫХ ПИКСЕЛОВ НЕИНФОРМАТИВНЫМИ СИМВОЛАМИ ДЛЯ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ ПРИ КОДИРОВАНИИ ВИДЕОСИГНАЛА 2012
  • Ван Сянлинь
  • Чиэнь Вэй-Цзюн
  • Карчевич Марта
  • Чэнь Ин
  • Чэнь Пэйсун
RU2575412C2
ПРЕДСКАЗАНИЕ ВЕКТОРОВ ДВИЖЕНИЯ ПРИ КОДИРОВАНИИ ВИДЕО 2012
  • Чэнь Ин
  • Чэнь Пэйсун
  • Карчевич Марта
RU2575690C2
ПОСТРОЕНИЕ СПИСКА ОПОРНЫХ ИЗОБРАЖЕНИЙ ДЛЯ ВИДЕОКОДИРОВАНИЯ 2012
  • Чэнь Ин
  • Ван Е-Куй
RU2580098C2
КОДИРОВАНИЕ НАБОРОВ ПАРАМЕТРОВ И ЗАГОЛОВКОВ ЕДИНИЦ NAL ДЛЯ КОДИРОВАНИЯ ВИДЕО 2013
  • Чэнь Ин
  • Ван Е-Куй
RU2633117C2

Иллюстрации к изобретению RU 2 566 972 C2

Реферат патента 2015 года СПОСОБЫ ВИДЕОКОДИРОВАНИЯ ДЛЯ КОДИРОВАНИЯ ЗАВИСИМЫХ ИЗОБРАЖЕНИЙ ПОСЛЕ ПРОИЗВОЛЬНОГО ДОСТУПА

Изобретение относится к средствам кодирования видеоданных для произвольного доступа. Техническим результатом является повышение эффективности указания потенциально излишних изображений для произвольного доступа. Способ содержит: кодирование группы изображений, включающей изображение точки произвольного доступа, определение, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа; добавление синтаксического элемента в заголовок блока сетевого уровня абстракции, указывающего, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа. 8 н. и 12 з.п. ф-лы, 8 ил.

Формула изобретения RU 2 566 972 C2

1. Способ кодирования видеоданных, содержащий:
кодирование группы изображений, которая включает в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
определение, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа; и
добавление синтаксического элемента в заголовок блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда
изображение точки произвольного доступа используется для произвольного доступа.

2. Способ по п. 1, дополнительно содержащий сигнализирование синтаксического элемента в контейнере форматов файлов для упомянутого одного или более потенциально излишних изображений.

3. Способ декодирования видеоданных, содержащий:
прием группы изображений, включающих в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
прием синтаксического элемента в заголовке блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа; и
декодирование потенциально излишнего изображения в соответствии с принятым синтаксическим элементом, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа.

4. Способ по п. 3, дополнительно содержащий:
прием запроса на произвольный доступ к изображению точки произвольного доступа;
декодирование изображения точки произвольного доступа в ответ на запрос на произвольный доступ; и
декодирование или недекодирование потенциально излишнего изображения, соответствующего принятому синтаксическому элементу, на основе принятого синтаксического элемента.

5. Способ по п. 3, в котором синтаксический элемент хранится в контейнере форматов файлов для упомянутых одного или более потенциально излишних изображений.

6. Устройство, сконфигурированное с возможностью кодировать видеоданные, содержащее:
память, сконфигурированную с возможностью хранить группы изображений; и
видеокодер, сконфигурированный с возможностью:
кодировать группу изображений, которая включает в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
определять, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа; и
добавлять синтаксический элемент в заголовок блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа.

7. Устройство по п. 6, в котором видеокодер дополнительно сконфигурирован с возможностью сигнализировать синтаксический элемент в контейнере форматов файлов для упомянутого одного или более потенциально излишних изображений.

8. Устройство, сконфигурированное с возможностью декодировать видеоданные, содержащее:
память, сконфигурированную с возможностью хранить видеоданные для группы изображений; и
видеодекодер, сконфигурированный с возможностью:
принимать группу изображений, включающих в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
принимать синтаксический элемент в заголовке блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа; и
декодировать потенциально излишнее изображение в соответствии с принятым синтаксическим элементом, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа.

9. Устройство по п. 8, в котором видеодекодер дополнительно сконфигурирован с возможностью:
принимать запрос на произвольный доступ к изображению точки произвольного доступа;
декодировать изображение точки произвольного доступа в ответ на запрос на произвольный доступ; и
декодировать или не декодировать потенциально излишнее изображение, соответствующее принятому синтаксическому элементу, на основе принятого синтаксического элемента.

10. Устройство по п. 8, в котором синтаксический элемент хранится в контейнере форматов файлов для упомянутого одного или более потенциально излишних изображений.

11. Устройство, сконфигурированное с возможностью кодировать видеоданные, содержащее:
средство для кодирования группы изображений, которая включает в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
средство для определения, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа; и
средство для добавления синтаксического элемента в заголовок блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа.

12. Устройство по п. 11, дополнительно содержащее:
средство для сигнализирования синтаксического элемента в контейнере форматов файлов для упомянутого одного или более потенциально излишних изображений.

13. Устройство, сконфигурированное с возможностью декодировать видеоданные, содержащее:
средство для приема группы изображений, включающих в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
средство для приема синтаксического элемента в заголовке блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа; и
средство для декодирования потенциально излишнего изображения в соответствии с принятым синтаксическим элементом, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа.

14. Устройство по п. 13, дополнительно содержащее:
средство для приема запроса на произвольный доступ к изображению точки произвольного доступа;
средство для декодирования изображения точки произвольного доступа в ответ на запрос на произвольный доступ; и
средство для декодирования или недекодирования потенциально излишнего изображения, соответствующего принятому синтаксическому элементу, на основе принятого синтаксического элемента.

15. Устройство по п. 13, в котором синтаксический элемент хранится в контейнере форматов файлов для упомянутого одного или более потенциально излишних изображений.

16. Машиночитаемый носитель, хранящий инструкции для побуждения одного или более процессоров, сконфигурированных с возможностью кодировать видеоданные:
кодировать группу изображений, которая включает в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
определять, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа; и
добавлять синтаксический элемент в заголовок блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда изображение точки произвольного доступа используется для произвольного доступа.

17. Машиночитаемый носитель по п. 16, дополнительно содержащий инструкции для побуждения упомянутого одного или более процессоров сигнализировать синтаксический элемент в контейнере форматов файлов для упомянутого одного или более потенциально излишних изображений.

18. Машиночитаемый носитель, хранящий инструкции для побуждения одного или более процессоров, сконфигурированных с возможностью декодировать видеоданные:
принимать группу изображений, включающих в себя изображение точки произвольного доступа, причем изображение точки произвольного доступа является изображением, которое может быть декодировано без внутреннего предсказания из любого другого изображения, которое предшествует изображению точки произвольного доступа в порядке декодирования и которое может быть использовано для произвольного доступа, и одно или более потенциально излишних изображений, причем упомянутое одно или более потенциально излишних изображений являются изображениями, которые предшествуют изображению точки произвольного доступа в порядке вывода;
принимать синтаксический элемент в заголовке блока сетевого уровня абстракции для указания, является или нет потенциально излишнее изображение декодируемым в случае, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа; и
декодировать потенциально излишнее изображение в соответствии с принятым синтаксическим элементом, когда принимается запрос на произвольный доступ к изображению точки произвольного доступа.

19. Машиночитаемый носитель по п. 18, в котором инструкции дополнительно побуждают упомянутый один или более процессоров:
принимать запрос на произвольный доступ к изображению точки произвольного доступа;
декодировать изображение точки произвольного доступа в ответ на запрос на произвольный доступ; и
декодировать или не декодировать потенциально излишнее изображение, соответствующее принятому синтаксическому элементу, на основе принятого синтаксического элемента.

20. Машиночитаемый носитель по п. 18, в котором синтаксический элемент хранится в формате файлов.

Документы, цитированные в отчете о поиске Патент 2015 года RU2566972C2

US 20040066854 A1, 08.04.2004
WO 2009143066 A1, 26.11.2009
US 20090003447 A1, 01.01.2009
US 20040025000 A1, 05.02.2004
КОДЕР ИЗОБРАЖЕНИЯ И ДЕКОДЕР ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, ПРОГРАММА КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И КОМПЬЮТЕРНО-СЧИТЫВАЕМЫЙ НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ЗАПИСАНА ПРОГРАММА КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, И КОМПЬЮТЕРНО-СЧИТЫВАЕМЫЙ НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ЗАПИСАНА ПРОГРАММА ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2006
  • Мория Йосими
  • Секигути Сунити
  • Сугимото Казуо
  • Ямада Йосихиса
  • Асаи Коутароу
  • Мураками Токумити
  • Идехара Юити
RU2368095C1
БУФЕРИЗАЦИЯ ИЗОБРАЖЕНИЙ ДЛЯ ЭТАЛОНОВ ДЛЯ ПРЕДСКАЗАНИЯ И ОТОБРАЖЕНИЯ 2003
  • Тянь Дун
  • Ван Е-Куй
  • Ханнуксела Миска
RU2310290C2
ВИДЕООБРАБОТКА С МАСШТАБИРУЕМОСТЬЮ 2007
  • Чэнь Пэйсун
  • Тянь Тао
  • Ши Фан
  • Равииндран Виджаялакшми Р.
RU2406254C2

RU 2 566 972 C2

Авторы

Чэнь Ин

Кобан Мухаммед Зейд

Чэнь Пэйсун

Карчевич Марта

Даты

2015-10-27Публикация

2012-03-09Подача