Определение контекстов для кодирования данных коэффициентов преобразования при кодировании видео

Иллюстрации

Показать все

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

Реферат

[0001] Данная заявка испрашивает приоритет предварительной заявки на патент (США) порядковый номер 61/586668, поданной 13 января 2012 года, предварительной заявки на патент (США) порядковый номер 61/588595, поданной 19 января 2012 года, и предварительной заявки на патент (США) порядковый номер 61/597097, поданной 9 февраля 2012 года, каждая из которых настоящим полностью содержится в данном документе по ссылке.

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

[0002] Данное раскрытие сущности относится к кодированию видео.

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

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

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

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

Сущность изобретения

[0006] В общем, это раскрытие сущности описывает технологии, связанные с определением контекстов для энтропийного кодирования, например, с использованием контекстно-адаптивного двоичного арифметического кодирования (CABAC), видеоданных. CABAC-кодирование, в общем, заключает в себе определение контекста при кодировании преобразованных в двоичную форму представлений различных элементов синтаксиса. Примеры элементов синтаксиса включают в себя данные для коэффициентов преобразования, к примеру, данные, указывающие то, являются или нет коэффициенты преобразования значимыми, знаки коэффициентов преобразования, которые являются значимыми, и значения уровня для коэффициентов преобразования, которые являются значимыми. Коэффициенты преобразования, в общем, соответствуют коэффициентам блока преобразования, такого как единица преобразования (TU). Это раскрытие сущности описывает технологии для определения контекстов для кодирования коэффициентов преобразования основываясь на областях блока преобразования, в которых возникают коэффициенты преобразования.

[0007] В одном примере, способ кодирования видеоданных включает в себя определение контекста для кодирования коэффициента преобразования видеоблока основываясь на области видеоблока, в которой возникает коэффициент преобразования, и энтропийное кодирование коэффициента преобразования с использованием определенного контекста.

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

[0009] В другом примере, устройство для кодирования видеоданных включает в себя средство для определения контекста для кодирования коэффициента преобразования видеоблока основываясь на области видеоблока, в которой возникает коэффициент преобразования, и средство для энтропийного кодирования коэффициента преобразования с использованием определенного контекста.

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

[0011] В другом примере, способ декодирования видеоданных включает в себя определение того, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, определение контекста для декодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока, и энтропийное декодирование коэффициента преобразования с использованием определенного контекста.

[0012] В другом примере, устройство для декодирования видеоданных включает в себя видеодекодер, сконфигурированный с возможностью определять то, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, определять контекст для декодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока и энтропийно декодировать коэффициент преобразования с использованием определенного контекста.

[0013] В другом примере, устройство для декодирования видеоданных включает в себя средство для определения того, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, средство для определения, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, контекста для декодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока, и средство для энтропийного декодирования коэффициента преобразования с использованием определенного контекста.

[0014] В другом примере, считываемый компьютером носитель данных имеет сохраненные инструкции, которые при исполнении побуждают процессор определять то, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, определять контекст для декодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока, и энтропийно декодировать коэффициент преобразования с использованием определенного контекста.

[0015] В другом примере, способ кодирования видеоданных включает в себя определение того, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, определение контекста для кодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока, и энтропийное кодирование коэффициента преобразования с использованием определенного контекста.

[0016] В другом примере, устройство для кодирования видеоданных включает в себя видеокодер, сконфигурированный с возможностью определять то, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, определять контекст для кодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока и энтропийно кодировать коэффициент преобразования с использованием определенного контекста.

[0017] В другом примере, устройство для кодирования видеоданных включает в себя средство для определения того, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, средство для определения, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, контекста для кодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока, и средство для энтропийного кодирования коэффициента преобразования с использованием определенного контекста.

[0018] В другом примере, считываемый компьютером носитель данных имеет сохраненные инструкции, которые при исполнении побуждают процессор определять то, представляет собой или нет коэффициент преобразования видеоблока DC-коэффициент преобразования, когда определяется то, что коэффициент преобразования представляет собой DC-коэффициент преобразования видеоблока, определять контекст для кодирования коэффициента преобразования на основе того, что коэффициент преобразования представляет собой DC-коэффициент преобразования, без учета размера видеоблока, и энтропийно кодировать коэффициент преобразования с использованием определенного контекста.

[0019] В другом примере, способ декодирования видеоданных включает в себя определение значений для флагов кодированных субблоков одного или более соседних субблоков относительно текущего субблока, определение контекста для декодирования коэффициента преобразования текущего субблока на основе значений для флагов кодированных субблоков и энтропийное декодирование коэффициента преобразования с использованием определенного контекста.

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

[0021] В другом примере, устройство для декодирования видеоданных включает в себя средство для определения значений для флагов кодированных субблоков одного или более соседних субблоков относительно текущего субблока, средство для определения контекста для декодирования коэффициента преобразования текущего субблока на основе значений для флагов кодированных субблоков, и средство для энтропийного декодирования коэффициента преобразования с использованием определенного контекста.

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

[0023] В другом примере, способ кодирования видеоданных включает в себя определение значений для флагов кодированных субблоков одного или более соседних субблоков относительно текущего субблока, определение контекста для кодирования коэффициента преобразования текущего субблока на основе значений для флагов кодированных субблоков, и энтропийное кодирование коэффициента преобразования с использованием определенного контекста.

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

[0025] В другом примере, устройство для кодирования видеоданных включает в себя средство для определения значений для флагов кодированных субблоков одного или более соседних субблоков относительно текущего субблока, средство для определения контекста для кодирования коэффициента преобразования текущего субблока на основе значений для флагов кодированных субблоков, и средство для энтропийного кодирования коэффициента преобразования с использованием определенного контекста.

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

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

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

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

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

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

[0031] Фиг. 4 является концептуальной схемой, которая иллюстрирует взаимосвязь между коэффициентами преобразования в видеоблоке и карте значимости, ассоциированной с видеоблоком.

[0032] Фиг. 5A-5D являются концептуальными схемами, которые иллюстрируют примеры блоков видеоданных, сканированных с использованием зигзагообразного порядка сканирования, горизонтального порядка сканирования, вертикального порядка сканирования и диагонального порядка сканирования.

[0033] Фиг. 6 является концептуальной схемой, которая иллюстрирует примерный видеоблок, разделенный на субблоки для кодирования коэффициентов преобразования.

[0034] Фиг. 7 является концептуальной схемой, которая иллюстрирует примерную пятиточечную поддержку, используемую для того, чтобы задавать контекстную модель для карты значимости коэффициентов в видеоблоке, сканированном с использованием обратного диагонального порядка сканирования.

[0035] Фиг. 8A и 8B являются концептуальными схемами, которые иллюстрируют зависимость от контекста в пятиточечной поддержке.

[0036] Фиг. 9A и 9B являются концептуальными схемами, которые иллюстрируют примерные разделения видеоблока на две или более областей.

[0037] Фиг. 10 является концептуальной схемой, которая иллюстрирует примерное назначение контекстов на основе окружения или позиции для каждой области видеоблока.

[0038] Фиг. 11 является концептуальной схемой, которая иллюстрирует примерное назначение смещений контекста для каждой области видеоблока.

[0039] Фиг. 12 является концептуальной схемой, которая иллюстрирует примерное встроенное разделение видеоблока на две или более областей на основе TU-размеров, которые коррелируются с существующими контекстными моделями.

[0040] Фиг. 13A и 13B являются концептуальными схемами, которые иллюстрируют примерные разделения видеоблока на две или более областей.

[0041] Фиг. 14A и 14B являются концептуальными схемами, которые иллюстрируют примерное назначение смещений контекста для каждой области видеоблока.

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

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

Подробное описание изобретения

[0044] В общем, это раскрытие сущности описывает технологии, связанные с определением контекстов для энтропийного кодирования, например, с использованием контекстно-адаптивного двоичного арифметического кодирования (CABAC), видеоданных. CABAC-кодирование, в общем, заключает в себе определение контекста при кодировании преобразованных в двоичную форму представлений различных элементов синтаксиса. Элементы синтаксиса включают в себя, например, данные для коэффициентов преобразования, к примеру, данные, указывающие то, являются или нет коэффициенты преобразования значимыми, знаки коэффициентов преобразования, которые являются значимыми, и значения уровня для коэффициентов преобразования, которые являются значимыми. Коэффициенты преобразования, в общем, соответствуют коэффициентам блока преобразования, такого как единица преобразования (TU). Это раскрытие сущности описывает технологии для определения контекстов для кодирования коэффициентов преобразования основываясь на областях блока преобразования, в которых возникают коэффициенты преобразования.

[0045] В общем, в соответствии с технологиями этого раскрытия сущности, видеокодер может быть сконфигурирован с возможностью определять контекст для кодирования коэффициента преобразования основываясь на области, в которой возникает коэффициент преобразования, и затем энтропийно кодировать коэффициент преобразования с использованием определенного контекста. Видеоблок может быть разделен на области множеством способов. Фиг. 9A и 11 иллюстрируют примеры, в которых видеоблок разделяется на первую область, включающую в себя один или более верхних левых субблоков (например, субблоков 4×4), и вторую область, включающую в себя субблоки за пределами первой области. Фиг. 9B иллюстрирует пример, в котором видеоблок разделяется на области вдоль диагонального направления. Фиг. 10 иллюстрирует пример, в котором видеоблок разделяется на квартили, и верхний левый квартиль дополнительно разделяется на первую подобласть, включающую в себя субблоки верхней левой части верхнего левого квартиля, и вторую подобласть, включающую в себя субблоки верхнего левого квартиля, внешнего для первой подобласти. Фиг. 12 иллюстрирует пример, в котором видеоблок разделяется на области, которые соответствуют размерам видеоблоков (например, 4×4, 8×8, 16×16 и 32×32). Фиг. 13A иллюстрирует пример, в котором видеоблок разделяется на горизонтальные прямоугольные области. Фиг. 13B иллюстрирует пример, в котором видеоблок разделяется на вертикальные прямоугольные области. Эти чертежи подробнее описываются ниже.

[0046] В различных примерах, видеокодер может быть сконфигурирован с возможностью определять контекст для кодирования коэффициента преобразования различными способами, например, основываясь на области, в которой возникает коэффициент преобразования. Например, видеокодер может быть сконфигурирован с возможностью определять контекст с использованием контекстной информации на основе позиции для некоторых областей или контекстной информации на основе окружения для других областей. В некоторых примерах, все коэффициенты преобразования в конкретной области могут быть кодированы с использованием идентичного контекста, определенного основываясь на области. В других примерах, контексты для коэффициентов преобразования в области могут быть определены на основе окружения контекста. В еще одних других примерах, видеокодер может определять смещение, которое должно применяться к контексту, основываясь на области, в которой возникает коэффициент преобразования. Иными словами, каждая из областей может быть ассоциирована с конкретным смещением, которое должно применяться к контексту.

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

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

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

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

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

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

[0053] Захваченное, предварительно захваченное или машиногенерируемое видео может быть кодировано посредством видеокодера 20. Кодированные видеоданные могут быть переданы непосредственно в устройство-адресат 14 через интерфейс 22 вывода устройства-источника 12. Кодированные видеоданные также (или альтернативно) могут сохраняться на устройство 34 хранения данных для последующего доступа посредством устройства-адресата 14 или других устройств для декодирования и/или воспроизведения.

[0054] Устройство-адресат 14 включает в себя интерфейс 28 ввода, видеодекодер 30 и устройство 32 отображения. В некоторых случаях, интерфейс 28 ввода может включать в себя приемное устройство и/или модем. Интерфейс 28 ввода устройства-адресата 14 принимает кодированные видеоданные по линии 16 связи. Кодированные видеоданные, передаваемые по линии 16 связи или предоставленные на устройстве 34 хранения данных, могут включать в себя множество элементов синтаксиса, сформированных посредством видеокодера 20 для использования посредством видеодекодера, такого как видеодекодер 30, при декодировании видеоданных. Такие элементы синтаксиса могут быть включены с кодированными видеоданными, передаваемыми на среде связи, сохраненными на носителе хранения данных или сохраненными на файловом сервере.

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

[0056] Видеокодер 20 и видеодекодер 30 могут работать согласно такому стандарту сжатия видео, как стандарт высокоэффективного кодирования видео (HEVC), разрабатываемый в настоящее время, и могут соответствовать тестовой модели HEVC (HM). Альтернативно, видеокодер 20 и видеодекодер 30 могут работать согласно другим собственным или отраслевым стандартам, таким как стандарт ITU-T H.264, альтернативно называемый "MPEG-4, часть 10, усовершенствованное кодирование видео (AVC)", или расширениям таких стандартов. Расширения стандартов включают в себя, например, масштабируемое кодирование видео (SVC), кодирование многовидового видео (MVC), трехмерный (трехмерный), к примеру, кодирование информации глубины и т.п. Тем не менее, технологии этого раскрытия сущности не ограничены каким-либо конкретным стандартом или расширением стандарта кодирования. Другие примеры стандартов сжатия видео включают в себя MPEG-2 и ITU-T H.263.

[0057] Хотя не показано на фиг. 1, в некоторых аспектах, видеокодер 20 и видеодекодер 30 могут быть интегрированы с аудио-кодером и декодером, соответственно, и могут включать в себя соответствующие модули мультиплексора-демультиплексора либо другие аппаратные средства и программное обеспечение для того, чтобы обрабатывать кодирование как аудио, так и видео в общем потоке данных или в отдельных потоках данных. Если применимо, в некоторых примерах блоки мультиплексора-демультиплексора могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).

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

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

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

[0061] CU включает в себя узел кодирования и единицы прогнозирования (PU) и единицы преобразования (TU), ассоциированные с узлом кодирования. Размер CU соответствует размеру узла кодирования и должен иметь квадратную форму. Размер CU может колебаться от 88 пикселов вплоть до размера древовидного блока максимум в 6464 пикселов или более. Каждая CU может содержать одну или более PU и одну или более TU. Синтаксические данные, ассоциированные с CU, могут описывать, например, сегме