Буферизация видео с низкой задержкой при кодировании видео

Иллюстрации

Показать все

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

Реферат

[0001] Данная заявка испрашивает на приоритет предварительной заявки на патент (США) номер 61/620266, поданной 4 апреля 2012 г., и предварительной заявки на патент (США) номер 61/641063, поданной 1 мая 2012 г., содержимое каждой из которых полностью содержится в данном документе по ссылке.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

[0003] Возможности цифрового видео могут быть встроены в широкий диапазон устройств, включающих в себя цифровые телевизоры, системы цифровой прямой широковещательной передачи, беспроводные широковещательные системы, персональные цифровые устройства (PDA), переносные или настольные компьютеры, цифровые камеры, цифровые записывающие устройства, цифровые мультимедийные проигрыватели, устройства для видеоигр, консоли для видеоигр, сотовые или спутниковые радиотелефоны, устройства видеоконференц-связи и т.п. Стандарты кодирования видео включают в себя ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 или ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual и ITU-T H.264 (также известный как ISO/IEC MPEG-4 AVC), включающий в себя расширения масштабируемого кодирования видео (SVC) и кодирования многовидового видео (MVC). Помимо этого, стандарт высокоэффективного кодирования видео (HEVC) является стандартом кодирования видео, разрабатываемым посредством Объединенной группы для совместной работы над видеостандартами (JCT-VC) Экспертной группы в области кодирования видео (VCEG) ITU-T и Экспертной группы по киноизображению (MPEG) ISO/IEC. Последний проект перспективного HEVC-стандарта, называемый "рабочим проектом HEVC 6", или "HEVC WD6", описывается в документе JCTVC-H1003, авторов Bross и др., "High efficiency video coding (HEVC) text specification draft 6", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 8th Meeting: Сан-Хосе, Калифорния, США, февраль 2012 г., который с 1 мая 2012 г. можно загрузить по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

[0010] В другом примере, способ включает в себя обработку видеоданных в соответствии с по меньшей мере одним из множества параметров информации применимости видео (VUI). Множество VUI-параметров включает в себя флаг (sub_pic_cpb_params_present_flag) присутствия параметров буфера кодированных изображений (CPB) для субизображений, который указывает присутствие параметров CPB для субизображений. Множество VUI-параметров дополнительно включает в себя сообщение с дополнительной улучшающей информацией (SEI), включающее в себя по меньшей мере один элемент синтаксиса, указывающий задержку для SchedSelIdx-того CPB между временем поступления в буфер кодированных изображений (CPB) первого бита кодированных данных, ассоциированных с первой единицей декодирования в единице доступа, ассоциированной с сообщением с SEI по периоду буферизации, и временем удаления из CPB кодированных данных, ассоциированных с первой единицей декодирования, для первого периода буферизации после инициализации гипотетического эталонного декодера (HRD) (initial_du_cpb_removal_delay), и элемент синтаксиса, указывающий, в комбинации с элементом синтаксиса, указывающим задержку удаления из CPB (cpb_removal_delay), смещение для SchedSelIdx-того CPB, чтобы точно определять начальное время доставки первой единицы декодирования в CPB (initial_du_cpb_removal_delay_offset). Множество VUI-параметров дополнительно включает в себя сообщение c SEI, включающее в себя по меньшей мере один элемент синтаксиса, указывающий число единиц уровня доступа к сети (NAL) в соответствующей i-той единице декодирования единицы доступа, с которой ассоциировано сообщение c SEI по синхронизации изображений (num_nalus_in_du_minus1), и элемент синтаксиса, который точно определяет число тактов синхронизации, которое следует ожидать после удаления из CPB первой единицы декодирования в единице доступа, ассоциированной с последним сообщением с SEI по периоду буферизации в предшествующей единице доступа, перед удалением из CPB соответствующей i-той единицы декодирования в единице доступа, ассоциированной с сообщением с SEI по синхронизации изображений (du_cpb_removal_delay).

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

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

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

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0019] Видеоприложения могут включать в себя локальное воспроизведение, потоковую передачу, широковещательную передачу/многоадресную передачу и диалоговые приложения. Диалоговые приложения могут включать в себя видеотелефонию и видеоконференц-связь и также упоминаются как варианты применения с низкой задержкой. Диалоговые приложения требуют относительно низкой сквозной задержки всех систем, т.е. задержки между временем, когда захватывается видеокадр, и временем, когда отображается видеокадр. Типично, приемлемая сквозная задержка для диалоговых приложений должна быть меньше 400 миллисекунд (мс), и сквозная задержка приблизительно в 150 мс может считаться очень хорошей. Каждый этап обработки может способствовать полной сквозной задержке, например, задержке при захвате, задержке при предварительной обработке, задержке при кодировании, задержке на передачу, задержке на буферизацию при приеме (для удаления дрожания), задержке при декодировании, задержке вывода декодированных изображений, задержке при постобработке и задержке отображения. Таким образом, типично, задержка кодека (задержка при кодировании, задержка при декодировании и задержка вывода декодированных изображений) должна быть минимизирована в диалоговых приложениях. В частности, структура кодирования должна обеспечивать, что порядок декодирования и порядок вывода изображений являются идентичными, так что задержка вывода декодированных изображений равна нулю.

[0020] Стандарты кодирования видео могут включать в себя технические требования модели буферизации видео. В AVC и HEVC, модель буферизации упоминается в качестве гипотетического эталонного декодера (HRD), который включает в себя модель буферизации как буфера кодированных изображений (CPB), так и буфера декодированных изображений (DPB), и CPB- и DPB-режимы работы указываются математически. HRD прямо налагает ограничения на различную синхронизацию, размеры буферов и скорость передачи битов и косвенно налагает ограничения на характеристики и статистику по потоку битов. Полный набор HRD-параметров включает в себя пять базовых параметров: начальная задержка удаления из CPB, CPB-размер, скорость передачи битов, начальная задержка DPB-вывода и DPB-размер.

[0021] В AVC и HEVC, соответствие потока битов и соответствие декодера указываются в качестве частей технических требований HRD. Хотя он упоминается в качестве типа декодера, HRD типично требуется на стороне кодера для того, чтобы гарантировать соответствие потока битов, при этом типично не требуется на стороне декодера. Указываются два типа соответствия потока битов или HRD-соответствия, а именно тип I и тип II. Кроме того, указываются два типа соответствия декодера, соответствие декодера по синхронизации вывода и соответствие декодера по порядку вывода.

[0022] В AVC и HEVC HRD-моделях, декодирование или удаление из CPB основано на единице доступа, и предполагается, что декодирование изображений является мгновенным. В практических вариантах применения, если декодер с соответствием строго следует временам декодирования, сигнализируемым, например, в сообщениях с дополнительной улучшающей информацией (SEI) по синхронизации изображений, чтобы начинать декодирование единиц доступа, то самое раннее время для того, чтобы выводить конкретное декодированное изображение, равно времени декодирования этого конкретного изображения плюс время, необходимое для декодирования этого конкретного изображения. В отличие от AVC и HEVC HRD-моделей, время, необходимое для декодирования изображения в реальном мире, не равно нулю. Термины "мгновенный" и "мгновенно" при использовании в этом раскрытии могут означать любую продолжительность, которая может предполагаться мгновенной в одной или более моделей кодирования или в идеализированном аспекте любой одной или более моделей кодирования, с пониманием того, что она может отличаться от "мгновенной" в физическом или буквальном смысле. Например, для целей этого раскрытия, функция или процесс может считаться номинально "мгновенным", если он осуществляется при или в пределах практического допустимого запаса гипотетического или идеализированного самого раннего времени для выполнения функции или процесса. Синтаксис и имена переменных при использовании в данном документе в некоторых примерах могут пониматься в соответствии с их значением в HEVC-модели.

[0023] CPB-режим работы на основе субизображений предложен в документе "Enhancement on operation of coded picture buffer", авторов Kazui и др., Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7th Meeting: Женева, CH 21-30, ноябрь 2011 года, JCTVC-G188 (доступен по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G188-v2.zip), чтобы достигать задержки при кодировании менее одного периода изображения во взаимодействии. Способ JCTVC-G188 может обобщаться следующим образом. Изображение может быть равномерно разделено на M групп древовидных блоков, т.е. первые M древовидных блоков в растровом сканировании древовидного блока изображения принадлежат первой группе древовидных блоков, вторые M древовидных блоков в растровом сканировании древовидного блока изображения принадлежат второй группе древовидных блоков, и т.д. Значение M может быть сигнализировано в сообщениях c SEI по периоду буферизации. Это значение может быть использовано для того, чтобы извлекать время удаления из CPB (т.е. время декодирования) каждой группы древовидных блоков. В этом смысле, JCTVC-G188 CPB-режим работы основан на субизображениях, при этом каждое субизображение представляет собой группу древовидных блоков. В некоторых примерах, субизображение может соответствовать одному или более слайсам, одной или более волнам (для сегментации фронта волны изображения) или одному или более тайлам. В этом способе JCTVC-G188 предполагается, что времена удаления из CPB на уровне единицы доступа сигнализируются как обычно (с использованием сообщений c SEI по синхронизации изображений), и в каждой единице доступа предполагается, что времена удаления из CPB для групп древовидных блоков линейно или равномерно разделяют интервал от времени удаления из CPB предыдущей единицы доступа до времени удаления из CPB текущей единицы доступа.

[0024] Этот способ JCTVC-G188 дополнительно подразумевает следующие допущения или требования к потоку битов: (1) в каждом изображении каждая группа древовидных блоков кодируется таким способом, который требует идентичного количества времени декодирования (не только в HRD-модели, но также и для декодеров реального мира), при этом считается, что кодированные данные из первой группы древовидных блоков включают в себя все единицы не-VCL (уровня кодирования видео) NAL (уровня абстракции сети) в идентичной единице доступа и перед первой VCL NAL-единицей; (2) в каждом изображении, число битов для каждой группы древовидных блоков является идентичным, при этом считается, что кодированные данные из первой группы древовидных блоков включают в себя все не-VCL NAL-единицы в идентичной единице доступа и перед первой VCL NAL-единицей.

[0025] Существующие способы для указания CPB-режима работы на основе субизображений ассоциированы, по меньшей мере, со следующими проблемами: (1) Такое требование, что объем кодированных данных для каждой группы древовидных блоков в кодированном изображении должен быть идентичным, является труднодостижимым при сбалансированной производительности кодирования (при этом группы древовидных блоков для областей с более детальной текстурой или активностью движения в изображении могут использовать большее число битов). (2) Когда несколько групп древовидных блоков включаются в слайс, может не быть простого способа для того, чтобы разбивать кодированные биты древовидных блоков, принадлежащих различным группам древовидных блоков, и отдельно отправлять их на стороне кодера и отдельно удалять их из CPB (т.е. отдельно декодировать их).

[0026] Чтобы разрешать вышеуказанные проблемы, это раскрытие описывает общую схему для поддержки CPB-режима работы на основе субизображений с различными альтернативами. В некоторых примерах, признаки технологий CPB на основе субизображений этого раскрытия могут включать в себя аспекты следующих технологий: (1) Каждое субизображение может включать в себя число блоков кодирования кодированного изображения, непрерывных в порядке декодирования. Блок кодирования может быть идентичным древовидному блоку или поднабору древовидного блока; (2) Кодирование субизображений и выделение битов различным субизображениям в изображении могут выполняться как обычно, без допущения или необходимости кодирования субизображения (т.е. группы древовидных блоков) в одном изображении с идентичным числом битов. Следовательно, время удаления из CPB для каждого субизображения может быть сигнализировано в потоке битов вместо извлечения согласно сигнализируемым временам удаления из CPB на уровне изображения; (3) Когда несколько субизображений включаются в слайс, байтовое выравнивание может применяться в конце каждого субизображения, например, в отличие от байтового выравнивания для тайлов в HEVC WD6. Кроме того, точка входа каждого субизображения, за исключением первого субизображения в кодированном изображении, может быть сигнализирована, например, в отличие от байтового выравнивания для тайлов в HEVC WD6. Принимаемое сигнализируемое значение может указывать байтовое выравнивание по меньшей мере одного из субизображений в пределах большего набора видеоданных, такого как, например, слайс, тайл или кадр. Каждый из признаков (1)-(3) может применяться независимо или в комбинации с другими признаками.

[0027] В одном примере, работа HRD, включающая в себя CPB-режим работы на основе субизображений, может обобщаться следующим образом. Когда передача служебных сигналов указывает, что используется CPB-режим работы на основе субизображений, например, через передачу служебных сигналов на уровне последовательности элемента sub_pic_cpb_flag синтаксиса, равного 1, удаление из CPB или декодирование основано на субизображении, или эквивалентно, на единице декодирования, которая может представлять собой единицу доступа или поднабор единицы доступа. Другими словами, каждый раз, когда единица декодирования, будь то единица доступа или поднабор единицы доступа, удаляется из CPB для декодирования, время удаления единицы декодирования из CPB может извлекаться из сигнализируемой начальной задержки удаления из CPB и задержки удаления из CPB, сигнализируемой для единицы декодирования. CPB-опустошение указывается в качестве состояния, в котором номинальное время tr,n(m) удаления из CPB единицы m декодирования меньше конечного времени taf(m) удаления из CPB единицы m декодирования для любого значения m. В одном примере, когда элемент low_delay_hrd_flag синтаксиса равен 0, требуется, чтобы CPB никогда не опустошался.

[0028] В одном примере, процессы DPB-вывода и удаления по-прежнему могут работать на уровне изображения или на уровне единицы доступа, т.е. каждый раз, когда все декодированное изображение выводится или удаляется из DPB. Удаление декодированных изображений из DPB может происходить мгновенно во время удаления из CPB первой единицы декодирования единицы n доступа (содержащей текущее изображение).

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

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

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

[0032] В примере по фиг. 1, устройство-источник 12 включает в себя видеоисточник 18, видеокодер 20, модулятор/демодулятор (модем) 22 и передатчик 24. Устройство-получатель 14 включает в себя приемник 26, модем 28, видеодекодер 30 и устройство 32 отображения. В соответствии с этим раскрытием, видеокодер 20 устройства-источника 12 может быть сконфигурирован с возможностью применять технологии для сохранения одной или более единиц декодирования видеоданных в буфере изображений, получения соответствующего времени удаления из буфера для одной или более единиц декодирования, удаления единиц декодирования из буфера изображений в соответствии с полученным временем удаления из буфера для каждой из единиц декодирования и кодирования видеоданных, соответствующих удаленным единицам декодирования, в числе других функций. В других примерах, устройство-источник и устройство-получатель могут включать в себя другие компоненты или компоновки. Например, устройство-источник 12 может принимать видеоданные из внешнего видеоисточника, а не интегрированного видеоисточника 18, такого как внешняя камера. Аналогично, устройство-получатель 14 может взаимодействовать с внешним устройством отображения вместо включения в себя интегрированного устройства 32 отображения.

[0033] Проиллюстрированная система 10 по фиг. 1 является просто одним примером. Технологии для сохранения одной или более единиц декодирования видеоданных в буфере изображений, получения соответствующего времени удаления из буфера для одной или более единиц декодирования, удаления единиц декодирования из буфера изображений в соответствии с полученным временем удаления из буфера для каждой из единиц декодирования и кодирования видеоданных, соответствующих удаленным единицам декодирования, могут выполняться посредством любого устройства кодирования и/или декодирования цифрового видео. Хотя, в общем, технологии этого раскрытия выполняются посредством устройства кодирования видео, технологии также могут выполняться посредством видеокодера/декодера, типично называемого "кодеком". Кроме того, технологии этого раскрытия также могут выполняться посредством видеопрепроцессора. Устройство-источник 12 и устройство-получатель 14 являются просто примерами таких устройств кодирования, в которых устройство-источник 12 формирует кодированные видеоданные для передачи в устройство-получатель 14. В некоторых примерах, устройства 12, 14 могут работать практически симметрично так, что каждое из устройств 12, 14 включает в себя компоненты кодирования и декодирования видео. Следовательно, система 10 может поддерживать одностороннюю и двухстороннюю передачу видео между видеоустройствами 12, 14, к примеру, для потоковой передачи видео, воспроизведения видео, широковещательной передачи видео или видеотелефонии.

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

[0035] Приемник 26 устройства-получателя 14 принимает информацию по каналу 16, и модем 28 демодулирует информацию. С другой стороны, процесс кодирования видео может реализовывать одну или более технологий, описанных в данном документе, для того чтобы сохранять одну или более единиц декодирования видеоданных в буфере изображений, получать соответствующее время удаления из буфера для одной или более единиц декодирования, удалять единицы декодирования из буфера изображений в соответствии с полученным временем удаления из буфера для каждой из единиц декодирования и кодировать видеоданные, соответствующие удаленным единицам декодирования, в числе других функций. Информация, передаваемая по каналу 16, может включать в себя синтаксическую информацию, заданную посредством видеокодера 20, которая также может быть использована посредством видеодекодера 30, который включает в себя элементы синтаксиса, которые описывают характеристики и/или обработку макроблоков, единиц дерева кодирования, слайсов и других кодированных единиц, например, групп изображений (GOP). Устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как дисплей на электронно-лучевой трубке (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения.

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

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

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

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

[0040] В качестве примера, стандарт ITU-T H.264 поддерживает внутреннее прогнозирование для различных размеров блоков, таких как 16×16, 8×8 или 4×4 для компонентов сигнала яркости и 8×8 для компонентов сигнала цветности, а также внеш