RU2648592C2 - Управляющие данные для набора мозаичных фрагментов с ограничениями движения - Google Patents

Управляющие данные для набора мозаичных фрагментов с ограничениями движения Download PDF

Info

Publication number
RU2648592C2
RU2648592C2 RU2015142850A RU2015142850A RU2648592C2 RU 2648592 C2 RU2648592 C2 RU 2648592C2 RU 2015142850 A RU2015142850 A RU 2015142850A RU 2015142850 A RU2015142850 A RU 2015142850A RU 2648592 C2 RU2648592 C2 RU 2648592C2
Authority
RU
Russia
Prior art keywords
mosaic
fragments
tile
tiles
control data
Prior art date
Application number
RU2015142850A
Other languages
English (en)
Other versions
RU2015142850A (ru
Inventor
Юнцзюнь ВУ
Гари Дж. САЛЛИВАН
Ифу ЧЖАН
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2015142850A publication Critical patent/RU2015142850A/ru
Application granted granted Critical
Publication of RU2648592C2 publication Critical patent/RU2648592C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

Уровень техники
[001] Специалисты используют сжатие (также называемое "кодированием источника") для того, чтобы уменьшать скорость передачи битов цифрового видео. Сжатие снижает затраты на хранение и передачу видеоинформации посредством преобразования информации в форму с более низкой скоростью передачи битов. Распаковка (также называемая "декодированием") восстанавливает версию исходной информации из сжатой формы. "Кодек" представляет собой систему кодера/декодера.
[002] За последние два десятилетия приспособлены различные стандарты видеокодеков, включающие в себя стандарты ITU-T H.261, H.262 (MPEG-2 или ISO/IEC 13818-2), H.263 и H.264 (AVC или ISO/IEC 14496-10), стандарты MPEG-1 (ISO/IEC 11172-2) и MPEG-4 Visual (ISO/IEC 14496-2) и стандарт SMPTE 421M. Позднее, утвержден HEVC-стандарт (ITU-T H.265 или ISO/IEC 23008-2). Стандарт видеокодеков типично задает варианты для синтаксиса кодированного потока видеобитов, детализируя параметры в потоке битов, когда конкретные признаки используются при кодировании и декодировании. Во многих случаях, стандарт видеокодеков также предоставляет подробную информацию касательно операций декодирования, которые должен выполнять декодер для того, чтобы достигать надлежащих результатов декодирования. Помимо стандартов кодеков, различные собственные форматы кодеков задают другие варианты для синтаксиса кодированного потока видеобитов и соответствующих операций декодирования.
[003] В версии от января 2013 HEVC-стандарта (см. документ Bross и др. "High Efficiency Video Coding (HEVC) Text Specification Draft 8", JCTVC-L1003_v34, январь 2013 года), изображение может быть сегментировано на несколько мозаичных фрагментов, которые представляют собой прямоугольные области. Когда элемент tiles_enabled_flag синтаксиса равен 1, изображение имеет структуру мозаичных фрагментов. Мозаичные фрагменты задают горизонтальные и вертикальные границы в изображении и организованы в изображении согласно столбцам мозаичных фрагментов и строкам мозаичных фрагментов. Когда используются мозаичные фрагменты, синтаксис HEVC-потока битов и процессы HEVC-декодирования структурированы таким образом, чтобы исключать зависимости при внутрикадровом предсказании на границах мозаичных фрагментов в идентичном изображении и исключать зависимости при энтропийном декодировании на границах мозаичных фрагментов в идентичном изображении. Тем не менее, зависимости при межкадровом предсказании не ограничены относительно границ мозаичных фрагментов согласно версии от января 2013 HEVC-стандарта.
Сущность изобретения
[004] В общих словах, подробное описание представляет новшества в передаче служебных сигналов и использовании управляющих данных для набора мозаичных фрагментов с ограничениями движения (MCTS). Например, новшества поддерживают передачу служебных сигналов и использование управляющих данных для того, чтобы указывать то, что процессы межкадрового предсказания в рамках одного или более указанных наборов мозаичных фрагментов, ограничены таким образом, что они ссылаются только на области в соответствующем наборе мозаичных фрагментов в других изображениях. Это может упрощать кодирование, декодирование и отображение интересующих областей, транскодирование для того, чтобы ограничивать кодированные данные выбранным набором мозаичных фрагментов, устойчивость к потерям и параллелизм при кодировании и/или декодировании.
[005] Согласно одному аспекту новшеств, описанных в данном документе, видеокодер или другое инструментальное средство кодирует несколько изображений для того, чтобы формировать кодированные данные, причем каждое из изображений сегментировано на несколько мозаичных фрагментов. Например, инструментальное средство определяет то, должны или нет ограничиваться зависимости при межкадровом предсказании на конкретных границах для набора мозаичных фрагментов, и если да, ограничивает оценку движения во время кодирования таким образом, что зависимости при межкадровом предсказании на конкретных границах не допускаются для набора мозаичных фрагментов. В некоторых реализациях, конкретные границы представляют собой границы идентичного набора мозаичных фрагментов для каждого изображения, но в других реализациях, конкретные границы могут представлять собой границы другого набора мозаичных фрагментов либо другой области или областей, используемых для межкадрового предсказания. Инструментальное средство выводит кодированные данные вместе с управляющими данными, которые указывают то, что зависимости при межкадровом предсказании на конкретных границах ограничены для данного набора мозаичных фрагментов одного или более мозаичных фрагментов из нескольких мозаичных фрагментов. Ограничение зависимостей при межкадровом предсказании для нескольких наборов мозаичных фрагментов может упрощать использование параллельной обработки при кодировании и также может помогать предоставлять функциональность декодирования интересующих областей или функциональность постепенного обновления при декодировании.
[006] Согласно другому аспекту новшеств, описанных в данном документе, видеодекодер или другое инструментальное средство принимает кодированные данные для нескольких изображений, причем каждое из нескольких изображений сегментировано на несколько мозаичных фрагментов. Инструментальное средство также принимает управляющие данные, которые указывают то, что зависимости при межкадровом предсказании на конкретных границах ограничены для данного набора мозаичных фрагментов одного или более мозаичных фрагментов из нескольких мозаичных фрагментов. Инструментальное средство затем обрабатывает кодированные данные, например, декодирует данный набор мозаичных фрагментов в качестве интересующей области в изображениях без декодирования частей изображений за пределами данного набора мозаичных фрагментов. Альтернативно, в качестве части обработки кодированных данных инструментальное средство транскодирует кодированные данные, удаляет кодированные данные для частей изображений за пределами данного набора мозаичных фрагментов и организует кодированные данные для данного набора мозаичных фрагментов в качестве нового потока битов. Альтернативно, в качестве части обработки кодированных данных, при обнаружении потерь, по меньшей мере, некоторых кодированных данных, отличных от данного набора мозаичных фрагментов, декодер декодирует данный набор мозаичных фрагментов в качестве части восстановления потерь. Кроме того, ограничение зависимостей при межкадровом предсказании для нескольких наборов мозаичных фрагментов может упрощать использование параллельной обработки при декодировании.
[007] В примерных реализациях, данный набор мозаичных фрагментов параметризован в управляющих данных в качестве одного или более прямоугольников из мозаичных фрагментов, включающих в себя один или более мозаичных фрагментов из набора мозаичных фрагментов. Например, для данного прямоугольника из мозаичных фрагментов в наборе мозаичных фрагментов, управляющие данные включают в себя элементы синтаксиса, которые идентифицируют два угла прямоугольника из мозаичных фрагментов (к примеру, левый верхний угол прямоугольника из мозаичных фрагментов и правый нижний угол прямоугольника из мозаичных фрагментов). Управляющие данные также могут включать в себя идентификатор набора мозаичных фрагментов, параметр количества, который указывает количество прямоугольников из мозаичных фрагментов в наборе мозаичных фрагментов, и для каждого из прямоугольников из мозаичных фрагментов в наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение прямоугольника из мозаичных фрагментов.
[008] В примерных реализациях, несколько изображений идентично сегментированы, чтобы формировать мозаичные фрагменты в каждом из изображений. Типично, данный набор мозаичных фрагментов является идентичным для каждого из изображений. Тем не менее, в некоторых случаях, наборы мозаичных фрагментов могут отличаться, по меньшей мере, между некоторыми изображениями. Альтернативно, различные изображения могут быть сегментированы на мозаичные фрагменты по-разному.
[009] В примерных реализациях, управляющие данные представляют собой сообщение с дополнительной улучшающей информацией (SEI), которое указывает то, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для набора мозаичных фрагментов. Одно SEI-сообщение направлено на зависимости при межкадровом предсказании для одного набора мозаичных фрагментов, и различные SEI-сообщения могут быть направлены на различные наборы мозаичных фрагментов. Альтернативно, одно SEI-сообщение направлено на зависимости при межкадровом предсказании для каждого из нескольких наборов мозаичных фрагментов. Альтернативно, вместо SEI-сообщений управляющие данные могут представлять собой флаг, значение которого указывает то, ограничены или нет зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов для набора мозаичных фрагментов. Альтернативно, управляющие данные могут принимать некоторую другую форму.
[010] Передача служебных сигналов и использование управляющих MCTS-данных могут быть реализованы в качестве части способа, в качестве части вычислительного устройства, адаптированного с возможностью осуществлять способ, или в качестве части материальных машиночитаемых носителей, сохраняющих машиноисполняемые инструкции для предписания вычислительному устройству осуществлять способ.
[011] Вышеприведенные и другие цели, признаки и преимущества изобретения должны становиться более очевидными из нижеприведенного подробного описания, которое приводится со ссылками на прилагаемые чертежи.
Краткое описание чертежей
[012] Фиг. 1 является схемой примерной вычислительной системы, в которой могут реализовываться некоторые описанные варианты осуществления.
[013] Фиг. 2A и 2B являются схемами примерных сетевых окружений, в которых могут реализовываться некоторые описанные варианты осуществления.
[014] Фиг. 3 является схемой примерной системы кодера, в сочетании с которой могут реализовываться некоторые описанные варианты осуществления.
[015] Фиг. 4 является схемой примерной системы декодера, в сочетании с которой могут реализовываться некоторые описанные варианты осуществления.
[016] Фиг. 5A и 5B являются схемами, иллюстрирующими примерный видеокодер, в сочетании с которым могут реализовываться некоторые описанные варианты осуществления.
[017] Фиг. 6 является схемой, иллюстрирующей примерный видеодекодер, в сочетании с которым могут реализовываться некоторые описанные варианты осуществления.
[018] Фиг. 7A-7G являются схемами, иллюстрирующими примеры кадров, сегментированных на мозаичные фрагменты, которые могут быть организованы в наборы мозаичных фрагментов.
[019] Фиг. 8 является схемой, иллюстрирующей оценку движения и предсказание с компенсацией движения для единицы предсказания набора мозаичных фрагментов без ограничений движения на границах наборов мозаичных фрагментов.
[020] Фиг. 9 является схемой, иллюстрирующей оценку движения и предсказание с компенсацией движения для единицы предсказания набора мозаичных фрагментов с ограничениями движения на границах наборов мозаичных фрагментов.
[021] Фиг. 10 является схемой, иллюстрирующей пример параллельного кодирования и параллельного декодирования для изображений с MCTS.
[022] Фиг. 11 является схемой, иллюстрирующей пример декодирования интересующих областей для изображений с MCTS.
[023] Фиг. 12 является схемой, иллюстрирующей пример транскодирования для изображений с MCTS.
[024] Фиг. 13 является схемой, иллюстрирующей пример функциональности постепенного обновления при декодировании для изображений с MCTS.
[025] Фиг. 14A-14C являются таблицами, иллюстрирующими синтаксис SEI-сообщений для MCTS в примерных реализациях.
[026] Фиг. 15 является блок-схемой последовательности операций способа, иллюстрирующей обобщенную технологию для передачи в служебных сигналах управляющих MCTS-данных.
[027] Фиг. 16 является блок-схемой последовательности операций способа, иллюстрирующей примерную технологию для кодирования с избирательным использованием MCTS.
[028] Фиг. 17 является блок-схемой последовательности операций способа, иллюстрирующей обобщенную технологию для обработки кодированных данных, передаваемых в служебных сигналах вместе с управляющими MCTS-данными.
Осуществление изобретения
[029] Подробное описание представляет подходы к передаче служебных сигналов и/или использованию управляющих данных для набора мозаичных фрагментов с ограничениями движения (MCTS). В частности, подробное описание представляет новшества для передачи служебных сигналов и использования управляющих данных, которые указывают то, что процессы межкадрового предсказания в указанном наборе мозаичных фрагментов ограничены таким образом, что они ссылаются только на области в идентичном наборе мозаичных фрагментов в других изображениях. В различных примерах, представлены синтаксис и семантика сообщения с дополнительной улучшающей информацией (SEI) для управляющих MCTS-данных. Управляющие MCTS-данные могут упрощать масштабируемость сложности для декодирования и отображения интересующих областей, транскодирования для того, чтобы ограничивать кодированные данные выбранным набором мозаичных фрагментов, устойчивости к потерям и параллельного кодирования и/или декодирования.
[030] Хотя операции, описанные в данном документе, находятся в местах, описанных как выполняемые посредством кодера (например, видеокодера), декодера (например, видеодекодера) или инструментального средства транскодирования (например, видеотранскодера), во многих случаях операции альтернативно могут выполняться посредством другого типа инструментального средства обработки мультимедиа (например, видеопроцессора для повышающей дискретизации, видеопроцессора для понижающей дискретизации).
[031] Некоторые новшества, описанные в данном документе, проиллюстрированы в отношении элементов синтаксиса и операций, конкретных для HEVC-стандарта. Например, следует обратиться к JCTVC-L1003 на основе предварительной версии HEVC-стандарта, "High Efficiency Video Coding (HEVC) Text Specification Draft 8", JCTVC-L1003_v34, январь 2013 года, раскрытие сущности которого настоящим содержится по ссылке. Новшества, описанные в данном документе, также могут реализовываться для других стандартов или форматов.
[032] Если обобщать, возможны различные альтернативы примерам, описанным в данном документе. Например, некоторые способы, описанные в данном документе, могут быть изменены посредством изменения упорядочения описанных этапов способа, посредством разбиения, повторения или опускания определенных этапов способа и т.д. Различные аспекты раскрытой технологии могут использоваться в комбинации или отдельно. Различные варианты осуществления используют одно или более описанных новшеств. Некоторые новшества, описанные в данном документе, разрешают одну или более проблем, отмеченных в разделе "Уровень техники". Типично, данная технология/инструментальное средство не разрешает все такие проблемы.
Примерные вычислительные системы
[033] Фиг. 1 иллюстрирует обобщенный пример подходящей вычислительной системы (100), в которой могут реализовываться несколько из описанных новшеств. Вычислительная система (100) не имеет намерение накладывать какие-либо ограничения в отношении объема использования или функциональности, поскольку новшества могут реализовываться во множестве вычислительных систем общего назначения или специального назначения.
[034] Со ссылкой на фиг. 1, вычислительная система (100) включает в себя один или более процессоров (110, 115) и запоминающее устройство (120, 125). Процессоры (110, 115) выполняют машиноисполняемые инструкции. Процессор может представлять собой центральный процессор (CPU) общего назначения, процессор в специализированной интегральной схеме (ASIC) либо любой другой тип процессора. В многопроцессорной системе, несколько процессоров выполняют машиноисполняемые инструкции, с тем, чтобы повышать вычислительную мощность. Например, фиг. 1 показывает центральный процессор (110), а также графический процессор или сопроцессор (115). Материальное запоминающее устройство (120, 125) может представлять собой энергозависимое запоминающее устройство (например, регистры, кэш, RAM), энергонезависимое запоминающее устройство (например, ROM, EEPROM, флэш-память и т.д.) или некоторую комбинацию вышеозначенного, доступную посредством процессора(ов). Запоминающее устройство (120, 125) сохраняет программное обеспечение (180), реализующее одно или более новшеств для передачи служебных сигналов и/или использования управляющих MCTS-данных, в форме машиноисполняемых инструкций, подходящих для выполнения посредством процессора(ов).
[035] Вычислительная система может иметь дополнительные признаки. Например, вычислительная система (100) включает в себя устройство (140) хранения, устройства (150) ввода, одно или более устройств (160) вывода и одно или более соединений (170) связи. Механизм межкомпонентного соединения (не показан), такой как шина, контроллер или сеть, соединяет между собой компоненты вычислительной системы (100). Типично, программное обеспечение операционной системы (не показано) предоставляет операционное окружение для другого программного обеспечения, выполняемого в вычислительной системе (100), и координирует действия компонентов вычислительной системы (100).
[036] Материальное устройство (140) данных хранения может быть съемным или стационарным и включает в себя в себя магнитные диски, магнитные ленты или кассеты, CD-ROM, DVD или любой другой носитель, который может быть использован для того, чтобы сохранять информацию, и к которому можно осуществлять доступ в пределах вычислительной системы (100). Устройство (140) хранения данных сохраняет инструкции для программного обеспечения (180), реализующего одно или более новшеств для передачи служебных сигналов и/или использования управляющих MCTS-данных.
[037] Устройство (150) ввода может представлять собой устройство сенсорного ввода, такое как клавиатура, мышь, перо или шаровой манипулятор, устройство голосового ввода, устройство сканирования или другое устройство, которое предоставляет ввод в вычислительную систему (100). Для видео, устройство (150) ввода может представлять собой камеру, видеокарту, карту ТВ-тюнера или аналогичное устройство, которое принимает видеоввод в аналоговой или цифровой форме, либо CD-ROM или CD-RW, который считывает видеовыборки в вычислительную систему (100). Устройство (160) вывода может представлять собой дисплей, принтер, динамик, устройство записи CD-RW или другое устройство, которое предоставляет вывод из вычислительной системы (100).
[038] Соединения (170) связи обеспечивают связь по среде связи с другим вычислительным объектом. Среда связи передает такую информацию, как машиноисполняемые инструкции, аудио- или видеоввод или вывод либо другие данные, в модулированном сигнале данных. Модулированный сигнал данных представляет собой сигнал, который имеет одну или более характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи могут использовать электрическую, оптическую, RF- или другую несущую.
[039] Новшества могут быть описаны в общем контексте машиночитаемых носителей. Машиночитаемые носители представляют собой любые доступные материальные носители, к которым можно осуществлять доступ в вычислительном окружении. В качестве примера, а не ограничения, в вычислительной системе (100) машиночитаемые носители включают в себя запоминающее устройство (120, 125), устройство (140) хранения данных и комбинации любых вышеозначенных элементов.
[040] Новшества могут быть описаны в общем контексте машиноисполняемых инструкций, таких как машиноисполняемые инструкции, включенные в программные модули, выполняемые в вычислительной системе для целевого реального или виртуального процессора. В общем, программные модули включают в себя процедуры, программы, библиотеки, объекты, классы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Функциональность программных модулей может быть комбинирована или разделена между программными модулями, как требуется в различных вариантах осуществления. Машиноисполняемые инструкции для программных модулей могут выполняться в локальной или распределенной вычислительной системе.
[041] Термины "система" и "устройство" используются взаимозаменяемо в данном документе. Если контекст явно не указывает иное, ни один из терминов не подразумевает ограничения на тип вычислительной системы или вычислительного устройства. В общем, вычислительная система или вычислительное устройство могут быть локальными или распределенными и могут включать в себя любую комбинацию аппаратных средств специального назначения и/или аппаратных средств общего назначения с программным обеспечением, реализующим функциональность, описанную в данном документе.
[042] Раскрытые способы также могут реализовываться с использованием специализированных вычислительных аппаратных средств, выполненных с возможностью осуществлять любой из раскрытых способов. Например, раскрытые способы могут реализовываться посредством интегральной схемы (например, ASIC (такой как процессор цифровых сигналов (DSP) на ASIC, графический процессор (GPU) или программируемое логическое устройство (PLD), такое как программируемая пользователем вентильная матрица (FPGA)) специально сконструированной или выполненной с возможностью реализовывать любой из раскрытых способов.
[043] Для целей представления, подробное описание использует такие термины, как "определять" и "использовать", для того чтобы описывать компьютерные операции в вычислительной системе. Эти термины являются высокоуровневыми абстракциями для операций, выполняемых компьютером, и не должны путаться с действиями, выполняемыми человеком. Фактические компьютерные операции, соответствующие этим терминам, различаются в зависимости от реализации.
II. Примерные сетевые окружения
[044] Фиг. 2A и 2B показывают примерные сетевые окружения (201, 202), которые включают в себя видеокодеры (220) и видеодекодеры (270). Кодеры (220) и декодеры (270) соединены по сети (250) с использованием надлежащего протокола связи. Сеть (250) может включать в себя Интернет или другую компьютерную сеть.
[045] В сетевом окружении (201), показанном на фиг. 2A, каждое инструментальное средство (210) для обмена данными в реальном времени (RTC) включает в себя и кодер (220) и декодер (270) для двунаправленной связи. Данный кодер (220) может формировать вывод, совместимый с HEVC-стандартом, стандартом SMPTE 421M, стандартом ISO-IEC 14496-10 (также известным как H.264 или AVC), другим стандартом или собственным форматом, причем соответствующий декодер (270) принимает кодированные данные из кодера (220). Двунаправленная связь может быть частью видеоконференции, видеотелефонного вызова или другого сценария двусторонней связи. Хотя сетевое окружение (201) на фиг. 2A включает в себя два инструментальных средства (210) для обмена данными в реальном времени, сетевое окружение (201) вместо этого может включать в себя три или более инструментальных средства (210) для обмена данными в реальном времени, которые участвуют в многосторонней связи.
[046] Инструментальное средство (210) для обмена данными в реальном времени управляет кодированием посредством кодера (220). Фиг. 3 показывает примерную систему (300) кодера, которая может быть включена в инструментальное средство (210) для обмена данными в реальном времени. Альтернативно, инструментальное средство (210) для обмена данными в реальном времени использует другую систему кодера. Инструментальное средство (210) для обмена данными в реальном времени также управляет декодированием посредством декодера (270). Фиг. 4 показывает примерную систему (400) декодера, которая может быть включена в инструментальное средство (210) для обмена данными в реальном времени. Альтернативно, инструментальное средство (210) для обмена данными в реальном времени использует другую систему декодера.
[047] В сетевом окружении (202), показанном на фиг. 2B, инструментальное средство (212) кодирования включает в себя кодер (220), который кодирует видео для доставки в несколько инструментальных средствах (214) воспроизведения, которые включают в себя декодеры (270). Однонаправленная связь может предоставляться для системы видеонаблюдения, системы мониторинга на основе веб-камер, представления конференц-связи с использованием удаленного рабочего стола или другого сценария, в котором видео кодируется и отправляется из одного местоположения в одно или более других местоположений. Хотя сетевое окружение (202) на фиг. 2b включает в себя два инструментальных средства (214) воспроизведения, сетевое окружение (202) может включать в себя больше или меньше инструментальных средств (214) воспроизведения. В общем, инструментальное средство (214) воспроизведения обменивается данными с инструментальным средством (212) кодирования, чтобы определять поток видео для приема посредством инструментального средства (214) воспроизведения. Инструментальное средство (214) воспроизведения принимает поток, буферизует принятые кодированные данные в течение надлежащего периода и начинает декодирование и воспроизведение.
[048] Фиг. 3 показывает примерную систему (300) кодера, которая может быть включена в инструментальное средство (212) кодирования. Альтернативно, инструментальное средство (212) кодирования использует другую систему кодера. Инструментальное средство (212) кодирования также может включать в себя серверную логику контроллера для управления соединениями с одним или более инструментальных средств (214) воспроизведения. Фиг. 4 показывает примерную систему (400) декодера, которая может быть включена в инструментальное средство (214) воспроизведения. Альтернативно, инструментальное средство (214) воспроизведения использует другую систему декодера. Инструментальное средство (214) воспроизведения также может включать в себя клиентскую логику контроллера для управления соединениями с инструментальным средством (212) кодирования.
III. Примерные системы кодера
[049] Фиг. 3 является блок-схемой примерной системы (300) кодера, в сочетании с которой могут реализовываться некоторые описанные варианты осуществления. Система (300) кодера может представлять собой инструментальное средство кодирования общего назначения, допускающее работу в любом из нескольких режимов кодирования, таких как режим кодирования с низкой задержкой для обмена данными в реальном времени, режим транскодирования и режим регулярного кодирования для воспроизведения мультимедиа из файла или потока, либо она может представлять собой инструментальное средство кодирования специального назначения, адаптированное для одного такого режима кодирования. Система (300) кодера может быть реализована в качестве модуля операционной системы, в качестве части библиотеки приложений или в качестве автономного приложения. В целом, система (300) кодера принимает последовательность исходных видеокадров (311) из видеоисточника (310) и формирует кодированные данные в качестве вывода в канал (390). Вывод кодированных данных в канал может включать в себя управляющие MCTS-данные (например, SEI-сообщения для MCTS).
[050] Видеоисточник (310) может представлять собой камеру, карту тюнера, носители хранения данных или другой цифровой видеоисточник. Видеоисточник (310) формирует последовательность видеокадров на частоте кадров, например, 30 кадров в секунду. При использовании в данном документе, термин "кадр", в общем, означает исходные, кодированные или восстановленные данные изображений. Для построчного видео, кадр представляет собой построчный видеокадр. Для чересстрочного видео, в примерных вариантах осуществления, чересстрочная развертка чересстрочного видеокадра устраняется до кодирования. Альтернативно, два комплементарных чересстрочных видеополя кодированы как чересстрочный видеокадр или отдельные поля. Кроме указания построчного видеокадра, термин "кадр" или "изображение" может указывать одно неспаренное видеополе, комплементарную пару видеополей, плоскость видеообъектов, которая представляет видеообъект в данное время, или интересующую область в большем изображении. Плоскость или область видеообъектов может быть частью большего изображения, которое включает в себя несколько объектов или областей сцены.
[051] Поступающий исходный кадр (311) сохраняется во временной области (320) хранения запоминающего устройства исходных кадров, которая включает в себя несколько областей (321, 322, …, 32n) хранения буфера кадров. Буфер (321, 322 и т.д.) кадров хранит один исходный кадр в области (320) хранения исходных кадров. После того, как один или более исходных кадров (311) сохранены в буферах (321, 322 и т.д.) кадров, модуль (330) выбора кадров периодически выбирает отдельный исходный кадр из области (320) хранения исходных кадров. Порядок, в котором кадры выбираются посредством модуля (330) выбора кадров для ввода в кодер (340), может отличаться от порядка, в котором кадры формируются посредством видеоисточника (310), например, кадр может находиться впереди в порядке, чтобы упрощать временно обратное предсказание. До кодера (340), система (300) кодера может включать в себя препроцессор (не показан), который выполняет предварительную обработку (например, фильтрацию) выбранного кадра (331) перед кодированием. Предварительная обработка также может включать в себя преобразование цветового пространства в первичные и вторичные компоненты для кодирования.
[052] Кодер (340) кодирует выбранный кадр (331), чтобы формировать кодированный кадр (341), а также формирует сигналы (342) операции управления запоминающим устройством (MMCO) или информацию (RPS) наборов опорных изображений. Если текущий кадр не является первым кадром, который кодирован, при выполнении своего процесса кодирования, кодер (340) может использовать один или более ранее кодированных/декодированных кадров (369), которые сохранены во временной области (360) хранения запоминающего устройства декодированных кадров. Такие сохраненные декодированные кадры (369) используются в качестве опорных кадров для межкадрового предсказания контента текущего исходного кадра (331). Обычно, кодер (340) включает в себя несколько модулей кодирования, которые выполняют задачи кодирования, такие как сегментация на мозаичные фрагменты, оценка и компенсация движения, преобразования частоты, квантование и энтропийное кодирование. Точные операции, выполняемые посредством кодера (340), могут варьироваться в зависимости от формата сжатия. Формат выводимых кодированных данных может представлять собой HEVC-формат, формат Windows Media Video, VC-1-формат, MPEG-x-формат (например, MPEG-1, MPEG-2 или MPEG-4), формат H.26x (например, H.261, H.262, H.263, H.264) или другой формат.
[053] Кодер (340) может сегментировать кадр на несколько мозаичных фрагментов идентичного размера или различных размеров. Например, кодер (340) разбивает кадр вдоль строк мозаичных фрагментов и столбцов мозаичных фрагментов, которые, с помощью границ кадров, задают горизонтальные и вертикальные границы мозаичных фрагментов в кадре, причем каждый мозаичный фрагмент представляет собой прямоугольную область. Кодер (340) затем может группировать мозаичные фрагменты в один или более наборов мозаичных фрагментов, причем набор мозаичных фрагментов представляет собой группу из одного или более мозаичных фрагментов. Мозаичный фрагмент(ы) в наборе мозаичных фрагментов могут быть смежными в кадре. Альтернативно, набор мозаичных фрагментов может включать в себя мозаичные фрагменты, которые не являются смежными в кадре. Типично, набор(ы) мозаичных фрагментов, заданный для кадра, представляет собой идентичный набор(ы) мозаичных фрагментов, как задано для других кадров в последовательности кадров (например, для группы кадров, для всей последовательности).
[054] Кодер (340) представляет взаимно кодированный прогнозный кадр с точки зрения предсказания из опорных кадров. Модуль оценки движения оценивает движение блоков или другие наборы выборок исходного кадра (331) относительно одного или более опорных кадров (369). Когда используются несколько опорных кадров, несколько опорных кадров могут исходить из различных временных направлений или идентичного временного направления. В качестве части оценки движения, кодер (340) может ограничивать векторы движения для блоков в наборе мозаичных фрагментов текущего кадра таким образом, что опорные области предсказания с компенсацией движения попадают в идентичный набор мозаичных фрагментов в опорном кадре(ах). Опорная область предсказания с компенсацией движения представляет собой область выборок в опорном кадре(ах), которые используются для того, чтобы формировать значения предсказания с компенсацией движения для единицы предсказания (например, блока) выборок текущего кадра. Предсказание с компенсацией движения может заключать в себе такие процессы, как интерполяция по дробным позициям, которые применяют фильтрацию к выборкам немного больших областей в опорном кадре(ах), по сравнению с размером единицы предсказания. Другими словами, опорная область предсказания с компенсацией движения, используемая для того, чтобы вычислять значения предсказания с компенсацией движения для единицы предсказания текущего кадра, может иметь размер, больший единицы предсказания, вследствие использования интерполяционных фильтров, поддержка которых расширяется за пределы границ номинального размера единицы предсказания. Использование такого MCTS может упрощать функциональность для декодирования интересующих областей для набора мозаичных фрагментов, транскодирования и параллельного декодирования. Модуль оценки движения выводит информацию движения, такую информацию вектора движения, которая энтропийно кодирована. Модуль компенсации движения применяет векторы движения к опорным кадрам (369), чтобы определять значения предсказания с компенсацией движения.
[055] Кодер определяет разности (если таковые имеются) между значениями предсказания с компенсацией движения блока и соответствующими исходными значениями. Эти остаточные прогнозные значения дополнительно кодируются с использованием преобразования частоты, квантования и энтропийного кодирования. Например, кодер (340) задает значения для параметра квантования (QP) для изображения, мозаичного фрагмента, серии последовательных макроблоков и/или другой части видео и квантует коэффициенты преобразования соответствующим образом. Аналогично, для внутреннего предсказания, кодер (340) может определять внутренние прогнозные значения для блока, определять остаточные прогнозные значения и кодировать остаточные прогнозные значения (с помощью преобразования частоты, квантования и энтропийного кодирования). В частности, энтропийный кодер кодера (340) сжимает значения квантованных коэффициентов преобразования, а также определенную вспомогательную информацию (например, информацию вектора движения, QP-значения, решения по выбору режима, варианты выбора параметров). Типичные технологии энтропийного кодирования включают в себя кодирование экспоненциальным кодом Голомба, арифметическое кодирование, дифференциальное кодирование, кодирование методом Хаффмана, кодирование по длинам серий, кодирование переменно-переменной длины (V2V), кодирование переменно-фиксированной длины (V2F), LZ-кодирование, словарное кодирование, энтропийное кодирование на основе сегментации на интервалы вероятности (PIPE) и комбинации вышеуказанного. Энтропийный кодер может использовать различные технологии кодирования для различных видов информации и может выбирать из числа нескольких кодовых таблиц в рамках конкретной технологии кодирования.
[056] Кодированные кадры (341) и MMCO/RPS-информация (342) обрабатываются посредством эмулятора (350) процесса декодирования. Эмулятор (350) процесса декодирования реализует часть функциональности декодера, например, декодирует задачи для того, чтобы восстанавливать опорные кадры, которые используются посредством кодера (340) при оценке и компенсации движения. Эмулятор (350) процесса декодирования использует MMCO/RPS-информацию (342), чтобы определять то, должен или нет восстанавливаться и сохраняться данный кодированный кадр (341) для использования в качестве опорного кадра при межкадровом предсказании последующих кадров, которые должны кодироваться. Если MMCO/RPS-информация (342) указывает то, что кодированный кадр (341) должен сохраняться, эмулятор (350) процесса декодирования моделирует процесс декодирования, который должен осуществляться посредством декодера, который принимает кодированный кадр (341) и формирует соответствующий декодированный кадр (351). При этом, когда кодер (340) использует декодированный кадр(ы) (369), которые сохранены в области (360) хранения декодированных кадров, эмулятор (350) процесса декодирования также использует декодированный кадр(ы) (369) из области (360) хранения в качестве части процесса декодирования.
[057] Временная область (360) хранения запоминающего устройства декодированных кадров включает в себя несколько областей (361, 362, …, 36n) хранения буфера кадров. Эмулятор (350) процесса декодирования использует MMCO/RPS-информацию (342) для того, чтобы управлять контентом области (360) хранения, чтобы идентифицировать любые буферы (361, 362 и т.д.) кадров с кадрами, которые более не требуются посредством кодера (340) для использования в качестве опорных кадров. После моделирования процесса декодирования эмулятор (350) процесса декодирования сохраняет заново декодированный кадр (351) в буфере (361, 362 и т.д.) кадров, который идентифицирован таким образом.
[058] Кодированные кадры (341) и MMCO/RPS-информация (342) буферизованы во временной области (370) кодированных данных. Кодированные данные, которые агрегированы в области (370) кодированных данных, содержат, в качестве части синтаксиса элементарного кодированного потока видеобитов, кодированных данных для одного или более изображений. Кодированные данные, которые агрегированы в области (370) кодированных данных, также могут включать в себя мультимедийные метаданные, связанные с кодированными видеоданными (например, в качестве одного или более параметров в одном или более SEI-сообщений или сообщений с информацией применимости видео (VUI)). Такие мультимедийные метаданные могут включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные (например, SEI-сообщения для MCTS).
[059] Агрегированные данные (371) из временной области (370) кодированных данных обрабатываются посредством канального кодера (380). Канальный кодер (380) может пакетировать агрегированные данные для передачи в качестве мультимедийного потока (например, согласно мультимедийному формату контейнера, такому как ISO/IEC 14496-12), в этом случае канальный кодер (380) может добавлять элементы синтаксиса в качестве части синтаксиса потока передачи мультимедиа. Такой синтаксис может включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные. Альтернативно, канальный кодер (380) может организовывать агрегированные данные для хранения в качестве файла (например, согласно мультимедийному формату контейнера, такому как ISO/IEC 14496-12), в этом случае канальный кодер (380) может добавлять элементы синтаксиса в качестве части синтаксиса файла хранения мультимедиа. Такой синтаксис может включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные. Альтернативно, если обобщать, канальный кодер (380) может реализовывать один или более протоколов мультиплексирования или транспортных протоколов мультимедийной системы, в этом случае канальный кодер (380) может добавлять элементы синтаксиса в качестве части синтаксиса протокола(ов). С другой стороны, такой синтаксис может включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные. Канальный кодер (380) предоставляет вывод в канал (390), который представляет устройство хранения, соединение связи или другой канал для вывода.
IV. Примерная система декодера
[060] Фиг. 4 является блок-схемой примерной системы (400) декодера, в сочетании с которой могут реализовываться некоторые описанные варианты осуществления. Система (400) декодера может представлять собой инструментальное средство декодирования общего назначения, допускающее работу в любом из нескольких режимов декодирования, таких как режим декодирования с низкой задержкой для обмена данными в реальном времени и режим регулярного декодирования для воспроизведения мультимедиа из файла или потока, либо она может представлять собой инструментальное средство декодирования специального назначения, адаптированное для одного такого режима декодирования. Система (400) декодера может быть реализована в качестве модуля операционной системы, в качестве части библиотеки приложений или в качестве автономного приложения. В целом, система (400) декодера принимает кодированные данные из канала (410) и формирует восстановленные кадры в качестве вывода для назначения (490) вывода. Кодированные данные могут включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные.
[061] Система (400) декодера включает в себя канал (410), который может представлять устройство хранения данных, соединение связи или другой канал для кодированных данных в качестве ввода. Канал (410) формирует кодированные данные, которые канально кодированы. Канальный декодер (420) может обрабатывать кодированные данные. Например, канальный декодер (420) депакетизирует данные, которые агрегированы для передачи в качестве мультимедийного потока (например, согласно мультимедийному формату контейнера, такому как ISO/IEC 14496-12), в этом случае канальный декодер (420), может синтаксически анализировать элементы синтаксиса, добавленные как часть синтаксиса потока передачи мультимедиа. Такой синтаксис может включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные. Альтернативно, канальный декодер (420) разделяет кодированные видеоданные, которые агрегированы для хранения в качестве файла (например, согласно мультимедийному формату контейнера, такому как ISO/IEC 14496-12), в этом случае канальный декодер (420) может синтаксически анализировать элементы синтаксиса, добавленные как часть синтаксиса файла хранения мультимедиа. Такой синтаксис может включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные. Альтернативно, если обобщать, канальный декодер (420) может реализовывать один или более протоколов демультиплексирования или транспортных протоколов мультимедийной системы, в этом случае канальный декодер (420) может синтаксически анализировать элементы синтаксиса, добавленные как часть синтаксиса протокола(ов). С другой стороны, такой синтаксис может включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные.
[062] Кодированные данные (421), которые выводятся из канального декодера (420), сохраняются во временной области (430) кодированных данных до тех пор, пока достаточное количество таких данных не будет принято. Кодированные данные (421) включают в себя кодированные кадры (431) и MMCO/RPS-информацию (432). Кодированные данные (421) в области (430) кодированных данных содержат, в качестве части синтаксиса элементарного кодированного потока видеобитов, кодированные данные для одного или более изображений. Кодированные данные (421) в области (430) кодированных данных также могут включать в себя мультимедийные метаданные, связанные с кодированными видеоданными (например, в качестве одного или более параметров в одном или более SEI-сообщений или VUI-сообщений). Такие мультимедийные метаданные могут включать в себя элементы синтаксиса, которые указывают управляющие MCTS-данные (например, в качестве части SEI-сообщений).
[063] В общем, область (430) кодированных данных временно сохраняет кодированные данные (421) до тех пор, пока такие кодированные данные (421) не будут использоваться посредством декодера (450). В этот момент, кодированные данные для кодированного кадра (431) и MMCO/RPS-информации (432) передаются из области (430) кодированных данных в декодер (450). По мере того, как продолжается декодирование, новые кодированные данные добавляются в область (430) кодированных данных, и самые старые кодированные данные, остающиеся в области (430) кодированных данных, передаются в декодер (450).
[064] Декодер (450) периодически декодирует кодированный кадр (431), чтобы формировать соответствующий декодированный кадр (451). Надлежащим образом, при выполнении своего процесса декодирования, декодер (450) может использовать один или более ранее декодированных кадров (469) в качестве опорных кадров для межкадрового предсказания. Декодер (450) считывает такие ранее декодированные кадры (469) из временной области (460) хранения запоминающего устройства декодированных кадров. Обычно, декодер (450) включает в себя несколько модулей декодирования, которые выполняют задачи декодирования, такие как энтропийное декодирование, обратное квантование, обратные преобразования частоты, компенсацию движения и объединение мозаичных фрагментов. Точные операции, выполняемые посредством декодера (450), могут варьироваться в зависимости от формата сжатия.
[065] Например, декодер (450) принимает кодированные данные для сжатого кадра или последовательности кадров и формирует вывод, включающий в себя декодированный кадр (451). В декодере (450) буфер принимает кодированные данные для сжатого кадра и в подходящее время делает принятые кодированные данные доступными для энтропийного декодера. Энтропийный декодер энтропийно декодирует энтропийно кодированные квантованные данные, а также энтропийно кодированную вспомогательную информацию, типично применяя инверсию энтропийного кодирования, выполняемого в кодере. Модуль компенсации движения применяет информацию движения к одному или более опорных кадров, чтобы формировать предсказания с компенсацией движения субблоков и/или блоков (в общем, блоков) восстанавливаемого кадра. Модуль внутреннего предсказания может пространственно прогнозировать выборочные значения текущего блока из соседних ранее восстановленных выборочных значений. Декодер (450) также восстанавливает остатки предсказания. Обратный квантователь обратно квантует энтропийно декодированные данные. Например, декодер (450) задает значения для QP для изображения, мозаичного фрагмента, серии последовательных макроблоков и/или другой части видео на основе элементов синтаксиса в потоке битов и обратно квантует коэффициенты преобразования соответствующим образом. Обратный преобразователь частоты преобразует квантованные данные частотной области в информацию пространственной области. Для прогнозного кадра декодер (450) комбинирует восстановленные остатки предсказания с предсказаниями с компенсацией движения, чтобы формировать восстановленный кадр. Декодер (450) аналогично может комбинировать остатки предсказания с пространственным предсказанием из внутреннего предсказания. Контур компенсации движения в видеодекодере (450) включает в себя адаптивный фильтр удаления блочности, чтобы сглаживать неоднородности через строки и/или столбцы границ блоков в декодированном кадре (451).
[066] Декодер (450) может использовать управляющие MCTS-данные различными способами, в зависимости от реализации. Например, декодер (450) может использовать управляющие MCTS-данные при решении параллельно декодировать различные наборы мозаичных фрагментов. Альтернативно, декодер (450) может использовать управляющие MCTS-данные при решении декодировать только выбранный набор мозаичных фрагментов для отображения в качестве интересующей области без декодирования частей кадров за пределами набора мозаичных фрагментов.
[067] Временная область (460) хранения запоминающего устройства декодированных кадров включает в себя несколько областей (461, 462, …, 46n) хранения буфера кадров. Область (460) хранения декодированных кадров является примером буфера декодированных изображений. Декодер (450) использует MMCO/RPS-информацию (432), чтобы идентифицировать буфер (461, 462 и т.д.) кадров, в котором он может сохранять декодированный кадр (451). Декодер (450) сохраняет декодированный кадр (451) в этом буфере кадров.
[068] Модуль (480) упорядочения вывода использует MMCO/RPS-информацию (432), чтобы идентифицировать то, когда следующий кадр, который должен формироваться в порядке вывода, доступен в области (460) хранения декодированных кадров. Когда следующий кадр (481), который должен формироваться в порядке вывода, доступен в области (460) хранения декодированных кадров, он считывается посредством модуля (480) упорядочения вывода и выводится в назначение (490) вывода (например, на дисплей). В общем, порядок, в котором кадры выводятся из области (460) хранения декодированных кадров посредством модуля (480) упорядочения вывода, может отличаться от порядка, в котором кадры декодируются посредством декодера (450).
V. Примерные видеокодеры
[069] Фиг. 5A и 5B являются блок-схемой обобщенного видеокодера (500), в сочетании с которым могут реализовываться некоторые описанные варианты осуществления. Кодер (500) принимает последовательность видеоизображений, включающую в себя текущее изображение в качестве входного видеосигнала (505), и формирует кодированные данные в кодированном потоке (595) видеобитов в качестве вывода.
[070] Кодер (500) является блочным и использует формат блока, который зависит от реализации. Блоки дополнительно могут подразделяться на различных стадиях, например, на стадиях преобразовании частоты и энтропийного кодирования. Например, изображение может быть разделено на блоки 64×64, блоки 32×32 или блоки 16×16, которые, в свою очередь, могут быть разделены на меньшие блоки и субблоки пиксельных значений для кодирования и декодирования.
[071] Кодер (500) сжимает изображения с использованием внутрикадрового кодирования и/или межкадрового кодирования. Многие компоненты кодера (500) используются как для внутрикадрового кодирования, так и для межкадрового кодирования. Точные операции, выполняемые посредством этих компонентов, могут варьироваться в зависимости от типа сжимаемой информации.
[072] Модуль (510) мозаичного размещения необязательно сегментирует изображение на несколько мозаичных фрагментов идентичного размера или различных размеров. Например, модуль (510) мозаичного размещения разбивает изображение вдоль строк мозаичных фрагментов и столбцов мозаичных фрагментов, которые, с помощью границ изображения, задают горизонтальные и вертикальные границы мозаичных фрагментов в изображении, причем каждый мозаичный фрагмент представляет собой прямоугольную область. Модуль (510) мозаичного размещения затем может группировать мозаичные фрагменты в один или более наборов мозаичных фрагментов, причем набор мозаичных фрагментов представляет собой группу из одного или более мозаичных фрагментов. Мозаичный фрагмент(ы) в наборе мозаичных фрагментов могут быть смежными в изображении. Альтернативно, набор мозаичных фрагментов может включать в себя мозаичные фрагменты, которые не являются смежными в изображении. Типично, набор(ы) мозаичных фрагментов, заданный для изображения, представляет собой идентичный набор(ы) мозаичных фрагментов, как задано для других изображений в последовательности изображений (например, для группы изображений, для всей последовательности).
[073] Общий контроллер (520) кодирования принимает изображения для входного видеосигнала (505), а также обратную связь (не показана) из различных модулей кодера (500). В целом, общий контроллер (520) кодирования предоставляет управляющие сигналы (не показаны) в другие модули (к примеру, в модуль (510) мозаичного размещения, преобразователь (530)/модуль масштабирования/квантователь, модуль (535) масштабирования/обратный преобразователь, модуль (540) внутрикадровой оценки, модуль (550) оценки движения и переключатель внутреннего/взаимного режима), чтобы задавать и изменять параметры кодирования во время кодирования. Общий контроллер (520) кодирования также может оценивать промежуточные результаты во время кодирования, например, выполняя анализ искажения в зависимости от скорости передачи. Общий контроллер (520) кодирования формирует общие управляющие данные (522), которые указывают решения, принимаемые во время кодирования, так что соответствующий декодер может принимать согласованные решения. Общие управляющие данные (522) предоставляются в модуль (590) форматирования заголовков/энтропийный кодер. Общий контроллер (520) кодирования может определять то, следует или нет использовать MCTS во время кодирования.
[074] Если текущее изображение прогнозируется с использованием межкадрового предсказания, модуль (550) оценки движения оценивает движение блоков, субблоков или других наборов пиксельных значений текущего изображения входного видеосигнала (505) относительно одного или более опорных изображений. Буфер (570) декодированных изображений буферизует одно или более восстановленных ранее кодированных изображений для использования в качестве опорных изображений. Когда используются несколько опорных изображений, несколько опорных изображений могут исходить из различных временных направлений или идентичного временного направления. Для MCTS текущего изображения, в качестве части оценки движения, модуль (550) оценки движения может ограничивать векторы движения для блоков в наборе мозаичных фрагментов таким образом, что области, к которым обращаются процессы предсказания с компенсацией движения, попадают в идентичный набор мозаичных фрагментов в опорном изображении(ях).
[075] Модуль (550) оценки движения формирует в качестве вспомогательной информации данные (552) движения, такие как данные вектора движения и данные выбора опорных изображений. Данные (552) движения предоставляются в модуль (590) форматирования заголовков/энтропийный кодер, а также в модуль (555) компенсации движения.
[076] Модуль (555) компенсации движения применяет векторы движения к восстановленному опорному изображению(ям) из буфера (570) декодированных изображений. Модуль (555) компенсации движения формирует предсказания с компенсацией движения для текущего изображения.
[077] В отдельном тракте в кодере (500), модуль (540) внутрикадровой оценки определяет то, как выполнять внутрикадровое предсказание для блоков, субблоков или других наборов пиксельных значений текущего изображения входного видеосигнала (505). Текущее изображение может быть полностью или частично кодировано с использованием внутрикадрового кодирования. С использованием значений восстановления (538) текущего изображения, модуль (540) внутрикадровой оценки определяет то, как пространственно прогнозировать пиксельные значения текущего блока, субблока и т.д. текущего изображения из соседних ранее восстановленных пиксельных значений текущего изображения. Модуль (540) оценки внутреннего предсказания формирует в качестве вспомогательной информации данные (542) внутреннего предсказания, такие как данные режима предсказания. Данные (542) внутреннего предсказания предоставляются в модуль (590) форматирования заголовков/энтропийный кодер, а также в модуль (545) внутрикадрового предсказания. Согласно данным режима предсказания, модуль (545) внутрикадрового предсказания пространственно прогнозирует пиксельные значения текущего блока или субблока текущего изображения из соседних ранее восстановленных пиксельных значений текущего изображения.
[078] Переключатель внутреннего/взаимного режима выбирает значения предсказания с компенсацией движения или внутрикадрового предсказания для использования в качестве предсказания (558) для данного блока, субблока или другого набора пиксельных значений. Разность (если таковая имеется) между субблоком, блоком и т.д. предсказания (558) и соответствующей частью исходного текущего изображения входного видеосигнала (505) составляет остаток (518) для субблока, блока и т.д. Во время восстановления текущего изображения, восстановленные остаточные значения комбинированы с предсказанием (558), чтобы формировать восстановление (538) исходного контента из видеосигнала (505). Тем не менее, при сжатии с потерями некоторая информация по-прежнему теряется из видеосигнала (505).
[079] В преобразователе (530)/модуле масштабирования/квантователе, преобразователь частоты преобразует видеоинформацию пространственной области в данные частотной области (т.е. спектрально преобразует). Для кодирования видео на основе блоков преобразователь частоты применяет дискретное косинусное преобразование, его целочисленную аппроксимацию или другой тип прямого блочного преобразования в блоки или субблоки данных остатков предсказания (или данных пиксельных значений, если предсказание (558) равно нулю), формируя блоки/субблоки коэффициентов преобразования частоты. Модуль масштабирования/квантователь затем масштабирует и квантует коэффициенты преобразования. Например, квантователь применяет неравномерное скалярное квантование к данным частотной области с размером шага, который варьируется на покадровой основе, на основе мозаичных фрагментов, на основе серий последовательных макроблоков, на поблочной основе или на другой основе. Данные (532) квантованных коэффициентов преобразования предоставляются в модуль (590) форматирования заголовков/энтропийный кодер.
[080] В модуле (535) масштабирования/обратном преобразователе, модуль масштабирования/обратный квантователь выполняет обратное масштабирование и обратное квантование для квантованных коэффициентов преобразования. Обратный преобразователь частоты выполняет обратное преобразование частоты, формируя блоки/субблоки восстановленных остатков предсказания или пиксельных значений. Кодер (500) комбинирует восстановленные остатки со значениями предсказания (558) (например, значениями предсказания с компенсацией движения, значениями внутрикадрового предсказания), чтобы формировать восстановление (538).
[081] Для внутрикадрового предсказания значения восстановления (538) могут быть возвращены в модуль (540) внутрикадровой оценки и модуль (545) внутрикадрового предсказания. Для межкадрового предсказания дополнительно могут фильтроваться значения восстановления (538). Контроллер (560) фильтрации определяет то, как выполнять фильтрацию для удаления блочности и фильтрацию на основе дискретизированного адаптивного смещения (SAO) для значений восстановления (538) для данного изображения видеосигнала (505). Контроллер (560) фильтрации формирует управляющие данные (562) фильтрации, которые предоставляются в модуль (590) форматирования заголовков/энтропийный кодер и модуль (565) объединения/фильтр.
[082] В модуле (565) объединения/фильтре, кодер (500) объединяет контент из различных мозаичных фрагментов в восстановленную версию изображения. Кодер (500) избирательно выполняет фильтрацию для удаления блочности и SAO-фильтрацию согласно управляющим данным (562) фильтрации, с тем, чтобы адаптивно сглаживать неоднородности на границах в кадрах. Границы мозаичных фрагментов могут избирательно фильтроваться или не фильтроваться вообще, в зависимости от настроек кодера (500). Буфер (570) декодированных изображений буферизует восстановленное текущее изображение для использования в последующем предсказании с компенсацией движения.
[083] Модуль (590) форматирования заголовков/энтропийный кодер форматирует и/или энтропийно кодирует общие управляющие данные (522), данные (532) квантованных коэффициентов преобразования, данные (542) внутреннего предсказания, данные (552) движения и управляющие данные (562) фильтрации. Например, модуль (590) форматирования заголовков/энтропийный кодер использует контекстно-адаптивное двоичное арифметическое кодирование для энтропийного кодирования различных элементов синтаксиса. Модуль (590) форматирования заголовков/энтропийный кодер предоставляет кодированные данные в кодированном потоке (595) видеобитов. Формат кодированного потока (595) видеобитов может представлять собой HEVC-формат, формат Windows Media Video, VC-1-формат, MPEG-x-формат (например, MPEG-1, MPEG-2 или MPEG-4), формат H.26x (например, H.261, H.262, H.263, H.264) или другой формат.
[084] В зависимости от реализации и требуемого типа сжатия, модули кодера могут добавляться, опускаться, разбиваться на несколько модулей, комбинироваться с другими модулями и/или заменяться аналогичными модулями. В альтернативных вариантах осуществления, кодеры с различными модулями и/или другими конфигурациями модулей выполняют одну или более описанных технологий. Конкретные варианты осуществления кодеров типично используют вариацию или дополненную версию кодера (500). Взаимосвязи, показанные между модулями в кодере (500), указывают общие потоки информации в кодере; другие взаимосвязи не показаны для простоты.
VI. Примерные видеодекодеры
[085] Фиг. 6 является блок-схемой обобщенного декодера (600), в сочетании с которым могут реализовываться несколько описанных вариантов осуществления. Декодер (600) принимает кодированные данные в кодированном потоке (605) видеобитов и формирует вывод, включающий в себя изображения для восстановленного видео (695). Формат кодированного потока (605) видеобитов может представлять собой HEVC-формат, формат Windows Media Video, VC-1-формат, MPEG-x-формат (например, MPEG-1, MPEG-2 или MPEG-4), формат H.26x (например, H.261, H.262, H.263, H.264) или другой формат.
[086] Декодер (600) является блочным и использует формат блока, который зависит от реализации. Например, изображение может быть разделено на блоки 64×64, блоки 32×32 или блоки 16×16, которые, в свою очередь, могут быть разделены на меньшие блоки и субблоки пиксельных значений для декодирования.
[087] Декодер (600) распаковывает изображения с использованием внутрикадрового декодирования и/или межкадрового декодирования. Многие компоненты декодера (600) используются как для внутрикадрового декодирования, так и для межкадрового декодирования. Точные операции, выполняемые посредством этих компонентов, могут варьироваться в зависимости от типа распаковываемой информации.
[088] Буфер принимает кодированные данные в кодированном потоке (605) видеобитов и делает принятые кодированные данные доступными для синтаксического анализатора (610)/энтропийного декодера. Синтаксический анализатор (610)/энтропийный декодер энтропийно декодирует энтропийно кодированные данные, типично применяет инверсию энтропийного кодирования, выполняемого в кодере (500) (например, выполняет контекстно-адаптивное двоичное арифметическое декодирование). В качестве результата синтаксического анализа и энтропийного декодирования, синтаксический анализатор (610)/энтропийный декодер формирует общие управляющие данные (622), данные (632) квантованных коэффициентов преобразования, данные (642) внутреннего предсказания, данные (652) движения и управляющие данные (662) фильтрации.
[089] Общий контроллер (620) декодирования принимает общие управляющие данные (622) и предоставляет управляющие сигналы (не показаны) в другие модули (к примеру, в модуль (635) масштабирования/обратный преобразователь, модуль (645) внутрикадрового предсказания, модуль (655) компенсации движения и переключатель внутреннего/взаимного режима), чтобы задавать и изменять параметры декодирования во время декодирования. На основе управляющих MCTS-данных общий контроллер (620) декодирования может определять то, как использовать преимущество MCTS во время декодирования (например, для декодирования интересующих областей для выбранного набора мозаичных фрагментов, для параллельного декодирования различных наборов мозаичных фрагментов).
[090] Если текущее изображение прогнозируется с использованием межкадрового предсказания, модуль (655) компенсации движения принимает данные (652) движения, такие как данные вектора движения и данные выбора опорных изображений. Модуль (655) компенсации движения применяет векторы движения к восстановленному опорному изображению(ям) из буфера (670) декодированных изображений. Модуль (655) компенсации движения формирует предсказания с компенсацией движения для субблоков и/или блоков текущего изображения. Буфер (670) декодированных изображений сохраняет одно или более ранее восстановленных изображений для использования в качестве опорных изображений.
[091] В отдельном тракте в декодере (600), модуль (645) внутреннего предсказания принимает данные (642) внутреннего предсказания, к примеру, данные режима предсказания. С использованием значений восстановления (638) текущего изображения, согласно данным режима предсказания, модуль (645) внутрикадрового предсказания пространственно прогнозирует пиксельные значения текущего блока или субблока текущего изображения из соседних ранее восстановленных пиксельных значений текущего изображения.
[092] Переключатель внутреннего/взаимного режима выбирает значения предсказания с компенсацией движения или внутрикадрового предсказания для использования в качестве предсказания (658) для данного блока, субблока или другого набора пиксельных значений. Декодер (600) комбинирует предсказание (658) с восстановленными остаточными значениями, чтобы формировать восстановление (638) контента из видеосигнала.
[093] Чтобы восстанавливать остаток, модуль (635) масштабирования/обратный преобразователь принимает и обрабатывает данные (632) квантованных коэффициентов преобразования. В модуле (635) масштабирования/обратном преобразователе, модуль масштабирования/обратный квантователь выполняет обратное масштабирование и обратное квантование для квантованных коэффициентов преобразования. Обратный преобразователь частоты выполняет обратное преобразование частоты, формируя блоки/субблоки восстановленных остатков предсказания или пиксельных значений. Например, обратный преобразователь частоты применяет обратное блочное преобразование к коэффициентам преобразования частоты, формируя данные пиксельных значений или данные остатков предсказания. Обратное преобразование частоты может представлять собой обратное дискретное косинусное преобразование, его целочисленную аппроксимацию или другой тип обратного преобразования частоты.
[094] Для внутрикадрового предсказания значения восстановления (638) могут быть возвращены в модуль (645) внутрикадрового предсказания. Для межкадрового предсказания дополнительно могут фильтроваться значения восстановления (638). В модуле (665) объединения/фильтре, декодер (600) объединяет контент из различных мозаичных фрагментов в восстановленную версию изображения. Декодер (600) избирательно выполняет фильтрацию для удаления блочности и SAO-фильтрацию согласно управляющим данным (662) фильтрации и правилам для адаптации фильтра, с тем чтобы адаптивно сглаживать неоднородности на границах в кадрах. Границы мозаичных фрагментов могут избирательно фильтроваться или не фильтроваться вообще, в зависимости от настроек декодера (600). Буфер (570) декодированных изображений буферизует восстановленное текущее изображение для использования в последующем предсказании с компенсацией движения.
[095] Декодер (600) также может включать в себя фильтр удаления блочности при постобработке. Фильтр удаления блочности постобработки необязательно сглаживает неоднородности в восстановленных изображениях. Другая фильтрация (к примеру, фильтрация для подавления периодически повторяющихся помех) также может применяться как часть фильтрации при постобработке.
[096] В зависимости от реализации и требуемого типа распаковки, модули декодера могут добавляться, опускаться, разбиваться на несколько модулей, комбинироваться с другими модулями и/или заменяться аналогичными модулями. В альтернативных вариантах осуществления, декодеры с различными модулями и/или другими конфигурациями модулей выполняют одну или более описанных технологий. Конкретные варианты осуществления декодеров типично используют вариацию или дополненную версию декодера (600). Взаимосвязи, показанные между модулями в декодере (600), указывают общие потоки информации в декодере; другие взаимосвязи не показаны для простоты.
VII. Передача в служебных сигналах и использование управляющих данных для наборов мозаичных фрагментов с ограничениями движения.
[097] Этот раздел представляет различные новшества для передачи служебных сигналов и использования управляющих данных для набора мозаичных фрагментов с ограничениями движения (MCTS). В общем, управляющие MCTS-данные указывают то, что процессы межкадрового предсказания в рамках одного или более указанных наборов мозаичных фрагментов (MCTS) ограничены таким образом, что они ссылаются только на конкретные области (например, области в соответствующем наборе мозаичных фрагментов в других изображениях). Новшества могут предоставлять возможность декодеру корректно декодировать указанный MCTS в изображениях кодированной видеопоследовательности без необходимости декодировать весь контент каждого изображения. Посредством предоставления явного индикатора относительно того, когда зависимости при межкадровом предсказании в кодированном видео ограничены на конкретных границах (например, на границах наборов мозаичных фрагментов), управляющие MCTS-данные могут упрощать масштабируемость сложности для декодирования и отображения интересующих областей, предоставлять простое транскодирование, предоставлять повышенную устойчивость к потерям и обеспечивать улучшенный параллелизм декодера.
[098] Различные примеры предоставляются для управляющих MCTS-данных, передаваемых в служебных сигналах в сообщениях с дополнительной улучшающей информацией (SEI) согласно версии HEVC-стандарта. Такие SEI-сообщения с управляющими MCTS-данными могут легко быть включены в HEVC-формат.
A. Примерные мозаичные фрагменты и наборы мозаичных фрагментов
[099] В общем, мозаичные фрагменты представляют собой прямоугольные области изображения. Мозаичные фрагменты размещаются в изображении согласно столбцам мозаичных фрагментов и строкам мозаичных фрагментов. Таким образом, мозаичные фрагменты задают горизонтальные и вертикальные границы в изображении. Мозаичные фрагменты в изображении могут иметь одинаковый размер, или мозаичные фрагменты в изображении могут варьироваться по размеру.
[0100] В версии от января 2013 HEVC-стандарта, например, изображение может быть сегментировано на несколько мозаичных фрагментов. Элемент tiles_enabled_flag синтаксиса передается в служебных сигналах в наборе параметров изображения (PPS). Когда tiles_enabled_flag равен 1, изображение сегментировано на мозаичные фрагменты, и число столбцов мозаичных фрагментов, число строк мозаичных фрагментов и информация размера передаются в служебных сигналах. Информация размера может указывать одинаковый размер для всех мозаичных фрагментов, или конкретный размер может передаваться в служебных сигналах в расчете на мозаичный фрагмент. См. документ Bross и др. "High Efficiency Video Coding (HEVC) Text Specification Draft 8", JCTVC-L1003_v34, январь 2013 года.
[0101] В общем, мозаичный фрагмент кодируется независимо от других мозаичных фрагментов для некоторых процессов кодирования. Согласно версии от января 2013 HEVC-стандарта, когда используются мозаичные фрагменты, синтаксис HEVC-потока битов и процессы HEVC-декодирования структурированы таким образом, чтобы исключать (1) зависимости при внутрикадровом предсказании на границах мозаичных фрагментов в идентичном изображении и (2) зависимости при энтропийном кодировании/декодировании на границах мозаичных фрагментов в идентичном изображении. Контурная фильтрация избирательно отключена на границах мозаичных фрагментов, но разрешается в некоторых случаях. Тем не менее, зависимости при межкадровом предсказании не ограничены относительно границ мозаичных фрагментов. Единица предсказания в мозаичном фрагменте может ссылаться на области в опорном изображении, которые находятся за пределами пространственных границ совместно размещенного мозаичного фрагмента в опорном изображении. Таким образом, для мозаичных фрагментов в версии от января 2013 HEVC-стандарта, независимая взаимосвязь не требуется для мозаичных фрагментов относительно других мозаичных фрагментов в других изображениях, которые используются в качестве ссылок для межкадрового предсказания.
[0102] Набор мозаичных фрагментов представляет собой компоновку одного или более мозаичных фрагментов в изображении. Набор мозаичных фрагментов может указываться в качестве одного или более диапазонов мозаичных фрагментов в изображении. Как пояснено в следующем разделе, набор мозаичных фрагментов с ограничениями движения (MCTS) представляет собой набор мозаичных фрагментов, для которого зависимости при межкадровом предсказании ограничены областями в наборе мозаичных фрагментов для каждого изображения. В простых случаях, изображения в последовательности имеют идентичную конфигурацию наборов мозаичных фрагментов, так что набор мозаичных фрагментов в текущем изображении имеет совместно размещенный набор мозаичных фрагментов в своем опорном изображении(ях).
[0103] Фиг. 7A показывает кадр (701), сегментированный на 16 мозаичных фрагментов одинакового размера. Количество мозаичных фрагментов зависит от реализации и может иметь некоторое другое значение (например, 9, 20 или 25 мозаичных фрагментов). На фиг. 7B-7G, мозаичные фрагменты группируются в наборы мозаичных фрагментов по-разному.
[0104] Набор мозаичных фрагментов может включать в себя несколько мозаичных фрагментов. Например, фиг. 7B показывает кадр (702), в котором четыре мозаичных фрагмента в центре кадра (702) организованы в качестве одного набора мозаичных фрагментов – набора A мозаичных фрагментов. Альтернативно, набор мозаичных фрагментов может включать в себя один мозаичный фрагмент. В крайнем случае, каждый мозаичный фрагмент в изображении может задаваться как собственный набор мозаичных фрагментов (например, 16 наборов мозаичных фрагментов для 16 мозаичных фрагментов, соответственно, кадра на фиг. 7A).
[0105] Количество мозаичных фрагментов в наборе мозаичных фрагментов и конфигурация мозаичных фрагментов в наборе мозаичных фрагментов могут указываться произвольно из доступных мозаичных фрагментов. Например, фиг. 7C показывает кадр (703), в котором шесть мозаичных фрагментов кадра (703) организованы в качестве одного набора мозаичных фрагментов – набора A мозаичных фрагментов. Оставшиеся мозаичные фрагменты не находятся ни в одном из наборов мозаичных фрагментов. Данный мозаичный фрагмент кадра может выделяться набору мозаичных фрагментов или опускаться из наборов мозаичных фрагментов.
[0106] Фиг. 7D показывает кадр (704), в котором все 16 мозаичных фрагментов выделяются наборам мозаичных фрагментов. Набор A мозаичных фрагментов включает в себя четыре мозаичных фрагмента в центре кадра (704), и набор B мозаичных фрагментов включает в себя оставшиеся 12 мозаичных фрагментов, которые окружают мозаичные фрагменты набора A мозаичных фрагментов в кадре (704).
[0107] На фиг. 7B-7D, мозаичные фрагменты данного набора мозаичных фрагментов являются смежными, но мозаичные фрагменты в наборе мозаичных фрагментов необязательно должны быть смежными. Например, фиг. 7E показывает кадр (705), в котором 8 мозаичных фрагментов выделяются набору A мозаичных фрагментов, и 8 мозаичных фрагментов выделяются набору B мозаичных фрагментов. 8 мозаичных фрагментов набора B мозаичных фрагментов разделяются на две области на противоположных сторонах набора A мозаичных фрагментов в кадре (705).
[0108] Во многих случаях, набор мозаичных фрагментов включает в себя один или более мозаичных фрагментов в центре кадра, аналогично фиг. 7B-7E. Эта конфигурация мозаичных фрагментов может быть полезной для декодирования интересующих областей (например, когда намеченная фокусная точка находится в центре или когда идентифицированная область содержит голову говорящего для видеоконференц-связи). Конфигурация, показанная на фиг. 7B и 7D, предлагает дополнительное преимущество в том, что соотношение сторон является неизменным между центральным набором мозаичных фрагментов (набором A мозаичных фрагментов) и кадром.
[0109] С другой стороны, фиг. 7F показывает кадр (706), в котором мозаичные фрагменты выделяются четырем наборам A, B, C и D мозаичных фрагментов, покрывающим весь кадр (706). Каждый набор мозаичных фрагментов имеет четыре мозаичных фрагмента. Эта конфигурация наборов мозаичных фрагментов может упрощать параллельное кодирование и декодирование. В частности, для MCTS, оценка движения (во время кодирования) и компенсация движения (во время кодирования или декодирования) могут выполняться параллельно для наборов A, B, C и D мозаичных фрагментов.
[0110] На фиг. 7B-7F, мозаичный фрагмент является частью самое большее одного набора мозаичных фрагментов. Тем не менее, в некоторых реализациях, мозаичный фрагмент может быть частью нескольких наборов мозаичных фрагментов. Фиг. 7G показывает три различных вида кадра (707), в котором некоторые мозаичные фрагменты являются частью нескольких наборов мозаичных фрагментов, некоторые мозаичные фрагменты являются частью одного набора мозаичных фрагментов, и некоторые мозаичные фрагменты не являются частью ни одного набора мозаичных фрагментов. В кадре (707), показанном на фиг. 7G, мозаичные фрагменты в верхней строке мозаичных фрагментов являются частью набора A мозаичных фрагментов, набора B мозаичных фрагментов (который перекрывает набор A мозаичных фрагментов), и набора C мозаичных фрагментов (который перекрывает набор A мозаичных фрагментов и набор B мозаичных фрагментов). Мозаичные фрагменты во второй строке являются частью набора B мозаичных фрагментов и набора C мозаичных фрагментов. Мозаичные фрагменты в третьей строке являются частью набора C мозаичных фрагментов, и мозаичные фрагменты в четвертой строке не являются частью ни одного набора мозаичных фрагментов. Такая конфигурация мозаичных фрагментов может упрощать такую функциональность, как постепенное обновление при декодировании, когда набор мозаичных фрагментов, используемый для кодирования и декодирования данного изображения, может изменяться для каждого изображения в последовательности, либо когда разрешается изменение размера, формы и/или местоположения областей с возможностью обращения для наборов мозаичных фрагментов для каждого изображения в последовательности.
B. Общие сведения по набору мозаичных фрагментов с ограничениями движения
[0111] Набор мозаичных фрагментов с ограничениями движения (MCTS) представляет собой набор мозаичных фрагментов, для которого зависимости при межкадровом предсказании ограничены конкретной областью или областями. Во многих случаях, конкретные области находятся в идентичном наборе мозаичных фрагментов для каждого изображения. Тем не менее, в других случаях, конкретные области находятся в другом наборе мозаичных фрагментов или в некоторой другой области или областях опорных изображений, которые используются для межкадрового предсказания. В общем, можно выполнять компенсацию движения для данного MCTS независимо от декодирования других наборов мозаичных фрагментов или областей за пределами MCTS. Это является возможным, поскольку межкадровое предсказание ограничивается таким образом, что оно не обращается к областям за пределами MCTS в опорных изображениях (т.е. за пределами совместно размещенного набора мозаичных фрагментов в опорных изображениях).
[0112] Кодирование для MCTS может реализовываться посредством ограничений на поиск векторов движения во время оценки движения. Диапазон поиска для вектора движения ограничен посредством границ наборов мозаичных фрагментов.
[0113] Фиг. 8 показывает оценку движения и предсказание с компенсацией движения для единицы предсказания набора мозаичных фрагментов без ограничений движения на границах наборов мозаичных фрагментов. Текущий кадр (820) включает в себя набор A (822) мозаичных фрагментов с единицей (824) предсказания, которая представляет собой блок или субблок выборок. Вектор (826) движения для единицы (824) предсказания ассоциирован с областью (814) в опорном кадре (810), который используется для того, чтобы формировать значения предсказания с компенсацией движения для единицы (824) предсказания. Область (814) находится частично в совместно размещенном наборе A (812) мозаичных фрагментов в опорном кадре (810) и частично за пределами набора A (812) мозаичных фрагментов в опорном кадре (810). Набор A мозаичных фрагментов не представляет собой MCTS, так что отсутствует ограничение в отношении процессов межкадрового предсказания для единиц предсказания в наборе A мозаичных фрагментов, ссылающемся на местоположения значений выборок за пределами набора A мозаичных фрагментов. Как результат, корректное декодирование единицы (824) предсказания текущего кадра (820) зависит от восстановления значений за пределами набора A (812) мозаичных фрагментов в опорном кадре (810).
[0114] Напротив, фиг. 9 показывает оценку движения и предсказание с компенсацией движения для единицы предсказания набора мозаичных фрагментов с ограничениями движения на границах наборов мозаичных фрагментов. Текущий кадр (920) включает в себя набор A (922) мозаичных фрагментов с единицей (924) предсказания, которая представляет собой блок или субблок выборок. Вектор (926) движения для единицы (924) предсказания ассоциирован с областью (914) в опорном кадре (910), который используется для того, чтобы формировать значения предсказания с компенсацией движения для единицы (924) предсказания. Даже если область частично или полностью за пределами набора A мозаичных фрагментов (912) может обеспечивать лучшее предсказание для единицы (924) предсказания, вследствие ограничений на диапазон оценки движения, кодер использует область (914), которая находится полностью в совместно размещенном наборе A мозаичных фрагментов (912) в опорном кадре (910). Набор A мозаичных фрагментов представляет собой MCTS, так что процессы межкадрового предсказания для единицы предсказания в наборе A мозаичных фрагментов не могут ссылаться на местоположения значений выборок за пределами набора A мозаичных фрагментов. Как результат, корректное декодирование единицы (924) предсказания текущего кадра (920) не зависит от восстановления значений за пределами набора A мозаичных фрагментов (912) в опорном кадре (910).
[0115] Таким образом, при помощи MCTS, зависимости при межкадровом предсказании ограничены на границах наборов мозаичных фрагментов. Тем не менее, движение по-прежнему разрешается на границах мозаичных фрагментов в наборе мозаичных фрагментов. Ограничения в отношении зависимостей при внутрикадровом предсказании и зависимостей от арифметического кодирования для мозаичных фрагментов по-прежнему применяются. Когда операции фильтрации (например, для фильтрации для удаления блочности) выполняются на границах мозаичных фрагментов, может оказываться влияние на некоторые границы наборов мозаичных фрагментов. Как результат, выборочные значения опорного кадра, используемого во время кодирования, могут не совпадать точно с выборочными значениями опорного кадра, используемого во время декодирования. В частности, если только MCTS декодируется во время декодирования, выборочные значения на границах наборов мозаичных фрагментов MCTS могут отличаться в опорном кадре, поскольку контурная фильтрация на таких границах наборов мозаичных фрагментов не выполняется. Это может иметь незначительный отрицательный эффект на качество декодирования только для MCTS по сравнению с декодированием полных изображений.
[0116] Декодирование для MCTS не заключает в себе изменения процессов базового декодирования. Тем не менее, декодер может использовать управляющие MCTS-данные, чтобы решать то, как параллелизовать декодирование для отдельных наборов мозаичных фрагментов для различных частей изображений, либо решать выполнять ROI-декодирование, как пояснено ниже.
C. Примерные варианты использования MCTS и управляющих MCTS-данных
[0117] В этом разделе описываются различные варианты использования MCTS и управляющих MCTS-данных, включающие в себя параллельное кодирование и декодирование, декодирование и отображение интересующих областей, упрощенное восстановление потерь и транскодирование. Управляющие MCTS-данные могут предоставлять полезную функциональность для регулярного кодирования/декодирования видео, и они также могут рассматриваться в качестве расширения масштабируемости для масштабируемости сложности.
1. Параллельное кодирование и/или параллельное декодирование
[0118] Кодер может кодировать отдельные MCTS параллельно для множества операций кодирования. Кодер сегментирует свои процессы кодирования конкретным для области способом для областей, заданных посредством наборов мозаичных фрагментов. С использованием управляющих MCTS-данных соответствующий декодер может декодировать отдельные MCTS параллельно для множества операций декодирования. Декодер сегментирует свои процессы декодирования конкретным для области способом для областей, заданных посредством наборов мозаичных фрагментов. В частности, для компенсации движения для данного набора мозаичных фрагментов, кодер (или декодер) не должен осуществлять доступ к выборочным значениям опорных изображений для областей за пределами данного набора мозаичных фрагментов. Таким образом, различные MCTS могут кодироваться или декодироваться параллельно без необходимости ожидать восстановления всех опорных изображений.
[0119] Фиг. 10 показывает пример (1000) параллельного кодирования и параллельного декодирования для изображений с MCTS. На фиг. 10, кодер (1010) принимает входной видеосигнал (1005), мозаично размещает его как четыре набора A, B, C и D мозаичных фрагментов (как показано на фиг 7F) и параллельно кодирует соответствующие наборы мозаичных фрагментов. (Некоторые процессы кодирования кодера (1010), например, контурная фильтрация, не выполняются параллельно для различных наборов мозаичных фрагментов.) Кодер (1010) формирует кодированный поток (1015) видеобитов с кодированными данными для наборов A, B, C и D мозаичных фрагментов. Кодированный поток (1015) видеобитов также включает в себя управляющие MCTS-данные.
[0120] Кодированный поток (1015) видеобитов передается по сети (1020) в декодер (1030). С использованием управляющих MCTS-данных для того, чтобы идентифицировать возможность параллельного декодирования, декодер (1030) параллельно декодирует соответствующие наборы мозаичных фрагментов, объединяет восстановленный контент для наборов мозаичных фрагментов и формирует восстановленное видео (1035). (Некоторые процессы декодирования декодера (1030), например, контурная фильтрация, не выполняются параллельно для различных наборов мозаичных фрагментов.)
[0121] Хотя фиг. 10 показывает как параллельное кодирование, так и параллельное декодирование, альтернативно, реализуется только параллельное кодирование, либо реализуется только параллельное декодирование. Кроме того, хотя фиг. 10 показывает кодирование и декодирование, при котором число экземпляров параллельных процессов совпадает с числом наборов мозаичных фрагментов (т.е. 4), альтернативно, число экземпляров параллельных процессов меньше числа наборов мозаичных фрагментов.
2. ROI-декодирование
[0122] Когда межкадровое предсказание по границам наборов мозаичных фрагментов ограничивается, набор мозаичных фрагментов может декодироваться и отображаться независимо для декодирования и отображения интересующих областей (ROI). Декодер может использовать управляющие MCTS-данные для ROI-декодирования и отображения одного или более выбранных наборов мозаичных фрагментов. В этом случае, только поднабор мозаичных фрагментов, указываемых посредством набора(ов) мозаичных фрагментов, вместо всех изображений декодируется и отображается. Например, декодер декодирует только поднабор кодированного потока видеобитов, который содержит кодированные данные для выбранного набора(ов) мозаичных фрагментов, вместо декодирования кодированных данных для готовых изображений.
[0123] Фиг. 11 показывает пример (1100) ROI-декодирования для изображений с MCTS. На фиг. 11, кодер (1110) принимает входной видеосигнал (1105), мозаично размещает его таким образом, что он включает в себя набор A мозаичных фрагментов (как показано на фиг 7b), и кодирует видео. Кодер (1110) кодирует набор A мозаичных фрагментов в качестве MCTS. Кодер (1110) формирует кодированный поток (1115) видеобитов с кодированными данными для всего изображения, включающий в себя набор A мозаичных фрагментов в качестве MCTS. Кодированный поток (1115) видеобитов также включает в себя управляющие MCTS-данные.
[0124] Кодированный поток (1115) видеобитов передается по сети (1120) в декодер (1130). С использованием управляющих MCTS-данных для того, чтобы идентифицировать возможность ROI-декодирования, декодер (1130) декодирует кодированные данные для набора A мозаичных фрагментов и формирует восстановленное видео (1135) для набора A мозаичных фрагментов.
[0125] ROI-декодирование, в частности, полезно, когда выбранный набор мозаичных фрагментов для ROI-декодирования представляет собой одну прямоугольную область, которая может представлять собой один мозаичный фрагмент или смежную прямоугольную область мозаичных фрагментов, как показано на фиг 7B или 7D. Например, одна прямоугольная область может декодироваться для отображения на небольшом устройстве отображения. Альтернативно, одна прямоугольная область может декодироваться для отображения в качестве окна отображения "картинка-в-картинке". Альтернативно, одна прямоугольная область может декодироваться для отображения как часть составного объекта с небольшими областями, созданными из других потоков битов (например, для многосторонней конференции).
[0126] Кроме того, в сценариях с ограниченной полосой пропускания, таких как обмен данными в реальном времени, передача служебных сигналов и использование MCTS предоставляют новую размерность ROI-масштабирования с различными скоростями передачи битов при потоковой передаче для различных разрешений декодирования/отображения. Это может быть полезно для сценариев, в которых видеоконтент доставляется в различные устройства через гетерогенные каналы. Например, поток битов может быть организован в качестве MCTS, сконфигурированных в качестве одной или более концентрических "кольцевых" областей вокруг центрального MCTS, так что (a) центральный MCTS предоставляет самую низкую скорость передачи битов и размер изображения, (b) центральный MCTS плюс первая концентрическая кольцевая область предоставляют более высокую скорость передачи битов и размер изображения, (c) центральный MCTS плюс первые две концентрических кольцевых области предоставляют еще более высокую скорость передачи битов и размер изображения и т.д. Альтернативно, MCTS могут быть организованы для комбинации другими способами.
[0127] Управляющие MCTS-данные, указывающие одну или более областей для ROI-декодирования, могут использоваться в сочетании с метаданными сканирования с панорамированием. Например, SEI-сообщения для сканирования с панорамированием предоставляют возможность указания прямоугольников для ROI-отображения. В случае MCTS SEI-сообщений, управляющих ROI-декодированием, SEI-сообщения для сканирования с панорамированием дополнительно могут предоставлять ROI-отображение.
3. Транскодирование
[0128] В некоторых случаях, транскодер выполняет простые операции транскодирования с низкой задержкой, чтобы извлекать кодированные данные для одного или более выбранных наборов мозаичных фрагментов из кодированного потока видеобитов для видео, имеющего больший размер изображения, формируя новый кодированный поток видеобитов для видео, имеющего меньший размер изображения. Например, для HEVC-транскодирования, когда MCTS представляет собой прямоугольную область, транскодер может формировать новый кодированный поток видеобитов для MCTS посредством модификации только высокоуровневых элементов синтаксиса без необходимости полностью декодировать и повторно кодировать данные нижнего уровня (к примеру, данные на уровне единицы дерева кодирования и ниже).
[0129] Фиг. 12 показывает пример (1200) транскодирования для изображений с MCTS. На фиг. 12, кодер (1210) принимает входной видеосигнал (1205), мозаично размещает его таким образом, что он включает в себя набор A мозаичных фрагментов (как показано на фиг 7B), и кодирует видео. Кодер (1210) кодирует набор A мозаичных фрагментов в качестве MCTS. Кодер (1210) формирует кодированный поток (1215) видеобитов с кодированными данными для всего изображения, включающий в себя набор A мозаичных фрагментов в качестве MCTS. Кодированный поток (1215) видеобитов также включает в себя управляющие MCTS-данные.
[0130] Кодированный поток (1215) видеобитов передается по сети (1220) в транскодер (1230). С использованием управляющих MCTS-данных для того, чтобы идентифицировать возможность транскодирования, транскодер (1230) отбрасывает кодированные данные для областей изображения за пределами набора A мозаичных фрагментов и формирует кодированный поток (1235) видеобитов с кодированными данными только для набора A мозаичных фрагментов.
[0131] В HEVC-реализациях, даже когда MCTS не является прямоугольным или является прямоугольным, но не транскодирован, в некоторых случаях, поднабор потока битов, необходимого для декодирования MCTS, может извлекаться до отправки данных в декодер, который допускает управление таким поднабором потоков MCTS-битов.
4. Устойчивость к потерям и восстановление
[0132] Передача служебных сигналов и использование управляющих MCTS-данных также может повышать устойчивость к потерям данных и восстановление после потерь данных. Посредством предоставления в декодер явного индикатора относительно взаимосвязей зависимости для каждой области в декодированных изображениях, декодер может иметь возможность завершать декодирование некоторых областей (наборов мозаичных фрагментов), когда кодированные данные для других областей (наборов мозаичных фрагментов) повреждены или потеряны в ином смысле.
5. Постепенное обновление при декодировании
[0133] Кодер может реализовывать функциональность постепенного обновления при декодировании с использованием управляющих MCTS-данных в некоторых реализациях. Например, когда мозаичный фрагмент может быть частью нескольких наборов мозаичных фрагментов (аналогично примеру по фиг. 7G), верхняя строка мозаичных фрагментов может задавать один MCTS, при этом две верхних строки мозаичных фрагментов задают второй MCTS, три верхних строки мозаичных фрагментов задают третий MCTS, и т.д. Кодер может использовать такие MCTS для функциональности постепенного обновления при декодировании.
[0134] Фиг. 13 показывает пример (1300) постепенной функциональности декодера с MCTS. Для одного изображения (1301) в последовательности (изображения 30 на фиг. 13), кодер обновляет область для MCTS A. Кодер кодирует верхнюю строку мозаичных фрагментов (которая должна кодироваться как MCTS A в последующем кадре) с использованием внутрикадрового кодирования. Кодирование других строк мозаичных фрагментов изображения (1301) не ограничивается.
[0135] Для следующего изображения (1302) в последовательности (изображения 31 на фиг. 13), кодер обновляет область для MCTS B с использованием межкадрового предсказания с зависимостями от областей в MCTS A и внутрикадрового кодирования. Кодер кодирует верхнюю строку мозаичных фрагментов в качестве MCTS. Этот MCTS (в качестве MCTS A) может кодироваться с использованием межкадрового предсказания относительно совместно размещенного набора мозаичных фрагментов в предыдущем изображении (верхней строки мозаичных фрагментов в изображении 30). Кодер кодирует вторую строку мозаичных фрагментов в изображении (1302) с использованием внутрикадрового кодирования. Кодирование других строк мозаичных фрагментов изображения (1302) не ограничивается.
[0136] Для следующего изображения (1303) в последовательности (изображения 32 на фиг. 13), кодер обновляет область для MCTS C с использованием межкадрового предсказания с зависимостями от областей в MCTS B и внутрикадрового кодирования. Кодер кодирует две верхние строки мозаичных фрагментов в качестве MCTS. Этот MCTS (MCTS B) может кодироваться с использованием межкадрового предсказания относительно совместно размещенного набора мозаичных фрагментов в предыдущем изображении (двух верхних строк мозаичных фрагментов в изображении 31). Кодер кодирует третью строку мозаичных фрагментов в изображении (1303) с использованием внутрикадрового кодирования. Кодирование другой строки мозаичных фрагментов изображения (1303) не ограничивается.
[0137] Для последнего изображения (1304) в последовательности (изображения 33 на фиг. 13), кодер обновляет изображение с использованием межкадрового предсказания с зависимостями от областей в MCTS C и внутрикадрового кодирования. Кодер кодирует три верхние строки мозаичных фрагментов в качестве MCTS. Этот MCTS (MCTS C) может кодироваться с использованием межкадрового предсказания относительно совместно размещенного набора мозаичных фрагментов в предыдущем изображении (трех верхних строк мозаичных фрагментов в изображении 32). Кодер кодирует последнюю строку мозаичных фрагментов в изображении (1304) с использованием внутрикадрового кодирования. В этот момент, строки мозаичных фрагментов в изображениях постепенно обновлены.
[0138] Альтернативно, кодер может реализовывать функциональность постепенного обновления при декодировании посредством предоставления возможности кодирования областей, заштрихованных серым на фиг. 13 (внутрикадровых кодированных областей), с использованием либо внутрикадрового кодирования, либо межкадрового кодирования относительно "подчиненной" несоответствующей области в опорном изображении, которая обновлена. Кодер может определять между внутрикадровым кодированием и таким межкадровым кодированием на поблочной основе. Например, для заштрихованной области в третьем изображении (1303), блоки могут кодироваться с использованием внутрикадрового кодирования или межкадрового кодирования относительно области второго изображения (1302), которая только что обновлена (двух верхних строк мозаичных фрагментов). Эта дополнительная гибкость позволяет повышать производительность сжатия.
[0139] Фиг. 13 показывает частный случай более общего сценария, в котором взаимосвязь динамически изменяется для каждого изображения между (a) областью или областями, к которым обращаются в опорных изображениях, и (b) областью или областями текущего изображения, которые зависят от них. В таком сценарии, разрешается изменение размера, формы и/или местоположения областей с возможностью обращения для наборов мозаичных фрагментов для каждого изображения в последовательности.
[0140] Один способ реализовывать такие динамические изменения состоит в том, чтобы передавать в служебных сигналах управляющие MCTS-данные в расчете на изображение. Управляющие MCTS-данные для изображения могут идентифицировать MCTS, который является активным для кодирования и декодирования для этого изображения, причем зависимости при межкадровом предсказании ограничены таким образом, что они попадают в совместно размещенный набор мозаичных фрагментов в любом опорном изображении, которое используется для идентифицированного MCTS. Например, если MCTS B идентифицирован для текущего изображения, то зависимости при межкадровом предсказании ограничены таким образом, что они попадают в область MCTS B в любом опорном изображении (даже если MCTS B не идентифицирован для этого опорного изображения).
[0141] Когда управляющие MCTS-данные могут передаваться в служебных сигналах в расчете на изображение, один подход заключается в том, чтобы явно указывать мозаичные фрагменты в идентифицированном MCTS для этого изображения. Другой подход заключается в том, чтобы использовать общий набор MCTS для всех изображений кодированной видеопоследовательности (или группы изображений), затем идентифицировать активный MCTS для изображения с использованием значения идентификатора в общем наборе MCTS. Например, общий набор MCTS включает в себя четыре, пять или шесть (возможно перекрывающихся) MCTS, и управляющие MCTS-данные для данного изображения идентифицируют MCTS 2 в качестве активного MCTS для кодирования и декодирования для этого изображения.
[0142] Другой способ реализовывать такие динамические изменения состоит в том, чтобы передавать в служебных сигналах управляющие MCTS-данные в расчете на изображение, которые идентифицируют активный MCTS для изображения и также идентифицируют одну или более опорных областей набора мозаичных фрагментов опорных изображений. Например, управляющие MCTS-данные идентифицируют MCTS для данного текущего изображения и идентифицируют опорную область набора мозаичных фрагментов в опорном изображении. Для текущего изображения различные опорные области набора мозаичных фрагментов могут быть идентифицированы в различных опорных изображениях. Идентифицированная опорная область набора мозаичных фрагментов может совместно размещаться с идентифицированным MCTS для текущего изображения (как предполагается во многих примерах, описанных в данном документе), или она может иметь другой размер, форму или местоположение. Для текущего изображения опорная область (области) набора мозаичных фрагментов может быть явно передана в служебных сигналах (в качестве прямоугольника мозаичных фрагментов или в качестве произвольной области) или идентифицирована посредством значения идентификатора из общего набора MCTS, которые применяются для соответствующих опорных изображений. Например, опорное изображение может быть ассоциировано с одним или более MCTS, заданных, когда это опорное изображение кодировано, и последующие изображения (в порядке кодирования) могут указывать опорные области набора мозаичных фрагментов в опорном изображении посредством значений идентификатора одного или более MCTS, которые ранее заданы для опорного изображения.
D. Примерная передача служебных сигналов управляющих MCTS-данных
[0143] В этом разделе описываются примеры синтаксиса и семантики для управляющих MCTS-данных.
1. Первый примерный синтаксис и семантика для MCTS SEI-сообщений
[0144] Фиг. 14A показывает синтаксис (1401) для MCTS SEI-сообщения в одной примерной реализации. На фиг. 14A, SEI-сообщение motion_constrained_tile_set включает в себя различные элементы синтаксиса, кодированные с использованием целочисленного кодирования экспоненциальным кодом Голомба нулевого порядка без знака с помощью левого бита сначала (ue(v)), а также некоторые элементы синтаксиса, передаваемые в служебных сигналах в качестве флагов. Синтаксис (1401) MCTS SEI-сообщения является согласованным с HEVC-стандартом, и этот раздел включает в себя ссылки на различные элементы синтаксиса, заданные в HEVC-стандарте.
[0145] Для MCTS SEI-сообщения, показанного на фиг. 14A, область применения MCTS SEI-сообщения представляет собой полную кодированную видеопоследовательность. Когда MCTS SEI-сообщение присутствует в любой единице доступа кодированной видеопоследовательности, оно присутствует для первой единицы доступа кодированной видеопоследовательности в порядке декодирования. MCTS SEI-сообщение также может присутствовать для других единиц доступа кодированной видеопоследовательности.
[0146] MCTS SEI-сообщение не присутствует для кодированной видеопоследовательности, если tiles_enabled_flag равен 0 для какого-либо набора параметров изображения (PPS), который является активным в кодированной видеопоследовательности. В этом случае (tiles_enabled_flag равен 0), мозаичные фрагменты не активируются, по меньшей мере, для некоторых изображений. Даже когда мозаичные фрагменты активируются для изображений кодированной видеопоследовательности, изображения в кодированной видеопоследовательности должны быть сегментированы на мозаичные фрагменты идентично. Иными словами, MCTS SEI-сообщение не присутствует для кодированной видеопоследовательности, если каждый PPS, который является активным для кодированной видеопоследовательности, не имеет идентичные значения для элементов num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, column_width_minus1[i] и row_height_minus1[i] синтаксиса, которые указывают то, как изображения сегментированы на мозаичные фрагменты. Это ограничение является аналогичным ограничению, ассоциированному с tiles_fixed_structure_flag, равным 1. (Если tiles_fixed_structure_flag, который передается в служебных сигналах в информации применимости видео, равен 1, то все PPS, активные для кодированной видеопоследовательности, имеют идентичное число столбцов мозаичных фрагментов, идентичное число строк мозаичных фрагментов и идентичную информацию размера; если равен 0, то они могут варьироваться в различных PPS.)
[0147] MCTS SEI-сообщение идентифицирует набор мозаичных фрагментов, MCTS. Присутствие MCTS SEI-сообщения указывает то, что межкадровое предсказание ограничивается таким образом, что выборочные значения за пределами идентифицированного MCTS и выборочные значения в дробной позиции выборки, которая извлекается с использованием одного или более выборочных значений за пределами идентифицированного MCTS, не используются для взаимного предсказания каких-либо выборок в идентифицированном MCTS. Элементы синтаксиса, которые идентифицируют MCTS, задаются следующим образом.
[0148] Элемент num_tile_rects_in_set_minus1 синтаксиса, с добавлением 1, указывает число прямоугольных областей мозаичных фрагментов (примеров прямоугольников из мозаичных фрагментов) в идентифицированном MCTS. Значение num_tile_rects_in_set_minus1 находится в диапазоне от 0 до (num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)-1, включительно.
[0149] Элементы left_tile_column[i] и top_tile_row[i] синтаксиса идентифицируют столбец мозаичных фрагментов и строку мозаичных фрагментов, соответственно, левого верхнего мозаичного фрагмента в прямоугольной области (примере прямоугольника из мозаичных фрагментов) MCTS. Элемент синтаксиса width_in_tile_columns_minus1[i], с добавлением 1, указывает ширину прямоугольной области (примера прямоугольника из мозаичных фрагментов) MCTS в единицах столбцов мозаичных фрагментов. Значение width_in_tile_columns_minus1[i] находится в диапазоне от 0 до num_tile_columns_minus1-left_tile_column[i], включительно. Элемент height_in_tile_rows_minus1[i] синтаксиса, с добавлением 1, указывает высоту прямоугольной области (примера прямоугольника из мозаичных фрагментов) MCTS в единицах строк мозаичных фрагментов. Значение height_in_tile_rows_minus1[i] находится в диапазоне от 0 до num_tile_rows_minus1-top_tile_column[i], включительно.
[0150] Таким образом, MCTS является комбинацией одной или более прямоугольных областей (примеров прямоугольников из мозаичных фрагментов) мозаичных фрагментов, идентифицированных в MCTS SEI-сообщении.
[0151] На фиг. 14A, MCTS SEI-сообщение включает в себя другой элемент синтаксиса, который может использоваться посредством декодера, чтобы оценивать, может или нет оказываться негативное влияние на качество при декодировании только для MCTS. Когда элемент exact_sample_value_match_flag синтаксиса равен 0 в кодированной видеопоследовательности, когда (a) блоки дерева кодирования, которые находятся за пределами MCTS, не декодируются, и (b) границы MCTS трактуются в качестве границ изображения в целях процесса декодирования, значение каждой выборки в идентифицированном MCTS не может быть точно идентичным значению идентичной выборки, когда все блоки дерева кодирования изображения декодируются. С другой стороны, когда exact_sample_value_match_flag равен 1 в кодированной видеопоследовательности, когда (a) блоки дерева кодирования, которые не принадлежат MCTS, не декодируются, и (b) границы MCTS трактуются в качестве границ изображения в целях процесса декодирования, значение каждой выборки в MCTS является точно идентичным значению выборки, которое должно получаться, когда все блоки дерева кодирования всех изображений в кодированной видеопоследовательности декодируются. Задание exact_sample_value_match_flag равным 1 может быть возможным с определенными комбинациями значений для элементов loop_filter_across_tiles_enabled_flag, pps_loop_filter_across_slices_enabled_flag, pps_deblocking_filter_disabled_flag, slice_loop_filter_across_slices_enabled_flag, slice_deblocking_filter_disabled_flag, sample_adaptive_offset_enabled_flag, slice_sao_luma_flag и slice_sao_chroma_flag синтаксиса.
[0152] На фиг. 14A, MCTS SEI-сообщение включает в себя другие элементы синтаксиса, которые могут использоваться для ROI-отображения в сочетании с ROI-декодированием. Когда pan_scan_rect_flag равен 0, элемент mcts_psr_id не присутствует в MCTS SEI-сообщении. Когда pan_scan_rect_flag равен 1, mcts_psr_id присутствует. Элемент mcts_psr_id синтаксиса указывает то, что идентифицированный MCTS покрывает, по меньшей мере, прямоугольник сканирования с панорамированием с pan_scan_rect_id, равным mcts_psr_id в кодированной видеопоследовательности. Когда pan_scan_rect_flag равен 1, по меньшей мере, один прямоугольник сканирования с панорамированием с pan_scan_rect_id, равным mcts_psr_id, присутствует в кодированной видеопоследовательности.
[0153] Для синтаксиса (1401) MCTS SEI-сообщения, показанного на фиг. 14A, несколько MCTS SEI-сообщений могут быть ассоциированы с кодированной видеопоследовательностью, причем каждое из них идентифицирует MCTS. Следовательно, несколько различных MCTS могут быть активными в кодированной видеопоследовательности.
2. Второй примерный синтаксис и семантика для MCTS SEI-сообщений
[0154] Фиг. 14B показывает синтаксис (1402) для MCTS SEI-сообщения в другой примерной реализации. Как показано на фиг. 14A, SEI-сообщение motion_constrained_tile_group_set включает в себя различные элементы синтаксиса, кодированные с использованием ue(v)-кодирования, а также некоторые элементы синтаксиса, передаваемые в служебных сигналах в качестве флагов. Синтаксис (1402) MCTS SEI-сообщения является согласованным с HEVC-стандартом, и этот раздел включает в себя ссылки на различные элементы синтаксиса, заданные в HEVC-стандарте.
[0155] Для присутствия MCTS SEI-сообщения, показанного на фиг. 14B, tiles_enabled_flag равен 1 для всех активных PPS в кодированной видеопоследовательности (указывает то, что изображения имеют мозаичные фрагменты), и tiles_fixed_structure_flag равен 1 в кодированной видеопоследовательности. Это указывает то, что все PPS, активные для кодированной видеопоследовательности, указывают идентичное число столбцов мозаичных фрагментов, идентичное число строк мозаичных фрагментов и идентичную информацию размера для изображений в кодированной видеопоследовательности.
[0156] Когда присутствует, MCTS SEI-сообщение возникает только в том случае, если оно ассоциировано с первым первичным изображением кодированной видеопоследовательности, изображением на основе доступа к нерабочей ссылке (BLA) или изображением на основе мгновенного обновления при декодировании (IDR). Целевой набор изображений для MCTS SEI-сообщения содержит все последовательные первичные кодированные изображения в порядке декодирования начиная с ассоциированного первого первичного кодированного изображения (включительно) и завершая (a) следующим первичным кодированным (исключительно) BLA- или IDR-изображением или (b) самым последним первичным кодированным изображением в кодированной видеопоследовательности (включительно) в порядке декодирования, когда нет следующего первичного кодированного BLA- или IDR-изображения.
[0157] MCTS SEI-сообщение идентифицирует набор мозаичных фрагментов, MCTS, который представляет собой совокупность одного или более мозаичных фрагментов. Группа (пример прямоугольника из мозаичных фрагментов) из одного или более мозаичных фрагментов для MCTS идентифицирована посредством элементов top_left[i] и bottom_right[i] синтаксиса. Когда separate_colour_plane_flag равен 1, термин "первичные кодированные изображения" представляет части соответствующих первичных кодированных изображений, которые соответствуют NAL-единицам, имеющим идентичный colour_plane_id. MCTS SEI-сообщение указывает то, что для каждого изображения в целевом наборе изображений межкадровое предсказание ограничивается следующим образом. Выборочные значения за пределами MCTS и выборочные значения в дробной позиции выборки, которая извлекается с использованием одного или более выборочных значений за пределами MCTS, не используются для межкадрового предсказания выборок в MCTS.
[0158] MCTS является комбинацией одной или более прямоугольных областей мозаичных фрагментов (групп мозаичных фрагментов, которые являются примерами прямоугольников из мозаичных фрагментов), идентифицированных в MCTS SEI-сообщении. Элемент num_tile_groups_in_set_minus1, с добавлением 1, указывает число групп мозаичных фрагментов (примеров прямоугольников из мозаичных фрагментов) в MCTS. Разрешенный диапазон num_tile_groups_in_set_minus1 составляет от 0 до (num_tile_columns_minus1+1) × (num_tile_rows_minus1+1)-1, включительно.
[0159] Элементы top_left[i] и bottom_right[i] синтаксиса указывают левый верхний угол и правый нижний угол, соответственно, группы мозаичных фрагментов (примера прямоугольника из мозаичных фрагментов) с ограниченным межкадровым предсказанием, в единицах блоков дерева кодирования. Значения top_left[i] и bottom_right[i] являются позициями единиц групп мозаичных фрагментов при растровом сканировании изображения. Для каждого прямоугольника i, значения top_left[i] и bottom_right[i] придерживаются следующих ограничений:
top_left[i] меньше или равен bottom_right[i];
bottom_right[i] меньше PicSizeInCtbsY;
(top_left[i]% PicWidthInCtbsY) меньше или равен значению (bottom_right[i]% PicWidthInCtbsY); и
прямоугольник, указываемый посредством top_left[i] и bottom_right[i], содержит один или более полных мозаичных фрагментов.
[0160] На фиг. 14B, MCTS SEI-сообщение включает в себя другие элементы синтаксиса, которые могут использоваться для ROI-отображения в сочетании с ROI-декодированием. Когда элемент pan_scan_rect_flag синтаксиса равен 0, pan_scan_rect_id не присутствует. Когда pan_scan_rect_flag равен 1, pan_scan_rect_id присутствует. Элемент pan_scan_rect_id синтаксиса указывает то, что указанный MCTS покрывает, по меньшей мере, прямоугольник сканирования с панорамированием, идентифицированный посредством pan_scan_rect_id в целевом наборе изображений.
[0161] Для синтаксиса (1402) MCTS SEI-сообщения, показанного на фиг. 14B, несколько MCTS SEI-сообщений могут быть ассоциированы с идентичным целевым набором изображений. Следовательно, несколько различных MCTS могут быть активными в целевом наборе изображений.
3. Третий примерный синтаксис и семантика для MCTS SEI-сообщений
[0162] Фиг. 14C показывает синтаксис (1403) для MCTS SEI-сообщения в другой примерной реализации. Присутствие MCTS SEI-сообщения указывает то, что процесс взаимного предсказания ограничивается таким образом, что выборочные значения за пределами каждого идентифицированного набора мозаичных фрагментов и выборочные значения в дробной позиции выборки, которая извлекается с использованием одного или более выборочных значений за пределами идентифицированного набора мозаичных фрагментов, не используются для взаимного предсказания каких-либо выборок в идентифицированном наборе мозаичных фрагментов. За исключением того что, указано в этом разделе, синтаксис (1403) MCTS SEI-сообщения, показанного на фиг. 14C, является идентичным синтаксису (1401) MCTS SEI-сообщения, показанного на фиг. 14A.
[0163] Когда несколько MCTS SEI-сообщений присутствует в единицах доступа кодированной видеопоследовательности, они должны содержать идентичный контент. Число MCTS SEI-сообщений в каждой единице доступа не должно превышать 5.
[0164] Num_sets_in_message_minus1, с добавлением 1, указывает число MCTS, идентифицированных в SEI-сообщении. Значение num_sets_in_message_minus1 находится в диапазоне от 0 до 255, включительно.
[0165] Элемент mcts_id[i] синтаксиса содержит идентификационный номер, который может использоваться для того, чтобы идентифицировать назначение i-ого идентифицированного набора мозаичных фрагментов. Например, элемент mcts_id[i] синтаксиса может использоваться для того, чтобы идентифицировать область, которая должна извлекаться из кодированной видеопоследовательности для конкретной цели. Значение mcts_id[i] должно быть в диапазоне от 0 до 232-2, включительно. Значения mcts_id[i] от 0 до 255 и от 512 до 231-1 могут использоваться так, как определено посредством варианта применения. Значения mcts_id[i] от 256 до 511 и от 231 до 232-2 зарезервированы для будущего использования. Декодеры, сталкивающиеся со значением mcts_id[i] в диапазоне 256-511 или в диапазоне от 231 до 232-2, игнорируют его (удаляют его из потока битов и отбрасывают).
[0166] Оставшиеся элементы num_tile_rects_in_set_minus1[i], left_tile_column[i][j], top_tile_row[i][j], width_in_tile_columns_minus1[i][j], height_in_tile_rows_minus1[i][j], exact_sample_value_match_flag[i], pan_scan_rect_flag[i] и mcts_psr_id[i] синтаксиса, в общем, имеют смысл, поясненный в отношении синтаксиса (1401) примерного MCTS SEI-сообщения по фиг. 14A. Тем не менее, для каждого элемента синтаксиса, переменная i счетчика циклов указывает значение элемента синтаксиса для i-ого MCTS, указываемого в MCTS SEI-сообщении, и переменная j счетчика циклов указывает значение для j-того прямоугольника из мозаичных фрагментов в данном MCTS. Альтернативно, вместо использования left_tile_column[i][j], top_tile_row[i][j], width_in_tile_columns_minus1[i][j] и height_in_tile_rows_minus1[i][j], два элемента синтаксиса для данного прямоугольника из мозаичных фрагментов могут идентифицировать позицию мозаичного фрагмента для левого верхнего мозаичного фрагмента в прямоугольнике из мозаичных фрагментов и позицию мозаичного фрагмента для правого нижнего мозаичного фрагмента в прямоугольнике из мозаичных фрагментов, соответственно, в порядке растрового сканирования мозаичных фрагментов.
4. Альтернативный синтаксис и семантика для управляющих MCTS-данных
[0167] В двух предыдущих разделах, одно MCTS SEI-сообщение указывает один MCTS и идентифицирует мозаичный фрагмент(ы) в этом MCTS. Для этого подхода, может быть предусмотрено несколько SEI-сообщений для управляющих MCTS-данных, когда имеется несколько MCTS для одной кодированной видеопоследовательности, причем каждое MCTS SEI-сообщение указывает различный MCTS в идентичной кодированной видеопоследовательности.
[0168] Альтернативно, одно MCTS SEI-сообщение может указывать несколько MCTS. Например, внешний цикл в синтаксисе MCTS SEI-сообщения выполняется с помощью итераций для соответствующих MCTS. Для данного MCTS, синтаксис и семантика могут соответствовать примеру одного из двух предыдущих разделов, чтобы идентифицировать области (прямоугольники из мозаичных фрагментов) мозаичных фрагментов для MCTS, ассоциированного прямоугольника сканирования с панорамированием и т.д.
[0169] В двух предыдущих разделах, MCTS SEI-сообщение подразумевает, что идентифицированный набор мозаичных фрагментов представляет собой MCTS. Альтернативно, MCTS SEI-сообщение может разлагать изображение на несколько наборов мозаичных фрагментов, и флаг в расчете на набор мозаичных фрагментов в MCTS SEI-сообщении указывает то, представляет собой набор мозаичных фрагментов MCTS или не MCTS.
[0170] В двух предыдущих разделах, область применения MCTS SEI-сообщения может представлять собой кодированную видеопоследовательность (аналогично примеру по фиг. 14A) или возможно группу изображений между одним BLA- или IDR-изображением (включительно) и другим BLA- или IDR-изображением (аналогично примеру по фиг. 14B). Альтернативно, MCTS SEI-сообщение может передаваться в служебных сигналах в расчете на изображение или иметь некоторую другую область применения.
[0171] В двух предыдущих разделах, изображения, на которые оказывает влияние MCTS SEI-сообщение, имеют идентичную конфигурацию наборов мозаичных фрагментов, так что наборы мозаичных фрагментов и мозаичные фрагменты не изменяются для каждого изображения в кодированной видеопоследовательности (или группе изображений). Альтернативно, размер, форма и/или местоположение областей с возможностью обращения для MCTS могут изменяться для каждого изображения в кодированной видеопоследовательности (или группе изображений).
[0172] В двух предыдущих разделах, управляющие MCTS-данные представляют собой SEI-сообщение. Альтернативно, управляющие MCTS-данные могут представлять собой некоторую другую форму метаданных или элемента синтаксиса элементарного потока видеобитов, который указывает то, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для данного набора мозаичных фрагментов.
F. Технологии для передачи служебных сигналов и использования управляющих MCTS-данных
[0173] Фиг. 15 показывает обобщенную технологию (1500) для передачи в служебных сигналах управляющих MCTS-данных. Видеокодер, такой как видеокодер, описанный выше со ссылкой на фиг. 3 или 5, или другое инструментальное средство выполняет технологию (1500).
[0174] Инструментальное средство кодирует (1510) несколько изображений для того, чтобы формировать кодированные данные. Каждое из нескольких изображений сегментировано на несколько мозаичных фрагментов. Например, каждое из нескольких изображений сегментировано на строки мозаичных фрагментов и столбцы мозаичных фрагментов, которые задают несколько мозаичных фрагментов для изображения, и каждый из нескольких мозаичных фрагментов представляет собой прямоугольную область. В примерных реализациях, каждое из нескольких изображений идентично сегментировано, чтобы формировать несколько мозаичных фрагментов в каждом из нескольких изображений. Альтернативно, различные изображения могут быть сегментированы на мозаичные фрагменты по-разному.
[0175] Инструментальное средство выводит (1520) кодированные данные вместе с управляющими данными, которые указывают то, что зависимости при межкадровом предсказании на конкретных границах (например, границы наборов мозаичных фрагментов) ограничены для данного набора мозаичных фрагментов (MCTS) из одного или более мозаичных фрагментов из нескольких мозаичных фрагментов. Управляющие данные могут включать в себя один или более элементов синтаксиса, которые идентифицируют то, какой из нескольких мозаичных фрагментов находится в данном MCTS.
[0176] В примерных реализациях, данный набор мозаичных фрагментов параметризован в управляющих данных в качестве одного или более прямоугольников из мозаичных фрагментов, включающих в себя один или более мозаичных фрагментов из набора мозаичных фрагментов. Например, для данного прямоугольника из мозаичных фрагментов в наборе мозаичных фрагментов, управляющие данные включают в себя элементы синтаксиса, которые идентифицируют два угла прямоугольника из мозаичных фрагментов (к примеру, левый верхний угол прямоугольника из мозаичных фрагментов и правый нижний угол прямоугольника из мозаичных фрагментов). Управляющие данные также могут включать в себя идентификатор набора мозаичных фрагментов, параметр количества, который указывает количество прямоугольников из мозаичных фрагментов в наборе мозаичных фрагментов, и для каждого прямоугольника из мозаичных фрагментов в наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение прямоугольника из мозаичных фрагментов (например, позицию, ширину и высоту прямоугольника из мозаичных фрагментов).
[0177] Если обобщать, элемент(ы) синтаксиса может включать в себя параметр количества, который указывает количество областей мозаичных фрагментов в данном MCTS, причем каждая из областей мозаичных фрагментов покрывает один или более мозаичных фрагментов из нескольких мозаичных фрагментов. Элемент(ы) синтаксиса также может включать в себя, для каждой из областей мозаичных фрагментов в данном наборе мозаичных фрагментов, один или более параметров местоположения, которые указывают местоположение области мозаичных фрагментов (например, позицию, ширину и высоту области мозаичных фрагментов).
[0178] Управляющие данные могут включать в себя другие элементы синтаксиса. Например, управляющие данные включают в себя флаг, который указывает то, (a) точно совпадают или нет выборки, восстановленные для данного MCTS, если части нескольких изображений за пределами данного MCTS не декодируются, (b) с выборками, восстановленными для данного MCTS, если части нескольких изображений за пределами данного MCTS декодируются. Альтернативно, управляющие данные включают в себя идентификатор прямоугольника сканирования с панорамированием, охватываемого данным MCTS.
[0179] В примерных реализациях, управляющие данные представляют собой SEI-сообщение для одного MCTS, указывающее то, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для данного MCTS. В этом случае, управляющие данные могут включать в себя различное SEI-сообщение для каждого данного MCTS и одного или более других MCTS. Альтернативно, управляющие данные представляют собой одно SEI-сообщение для нескольких MCTS, включающих в себя данный MCTS и один или более других MCTS. Альтернативно, управляющие данные могут представлять собой флаг, значение которого указывает то, ограничены или нет зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов для данного набора мозаичных фрагментов. Альтернативно, управляющие данные могут принимать некоторую другую форму.
[0180] В примерных реализациях, данный набор мозаичных фрагментов является идентичным для каждого из нескольких изображений. Альтернативно, данный набор мозаичных фрагментов отличается, по меньшей мере, между некоторыми несколькими изображениями.
[0181] Управляющие данные также могут указывать то, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов из нескольких мозаичных фрагментов. Это может иметь место, например, когда кодирование (1510) использует параллельную обработку, по меньшей мере, для некоторых стадий кодирования для данного MCTS и одного или более других MCTS.
[0182] Инструментальное средство может повторять технологию (1500) на основе единиц (например, на основе последовательностей, на основе групп). Для простоты, фиг. 15 не показывает то, как технология (1500) работает в сочетании с другими процессами кодирования.
[0183] Фиг. 16 показывает примерную технологию (1600) для кодирования с избирательным использованием MCTS. Видеокодер, такой как видеокодер, описанный выше со ссылкой на фиг. 3 или 5, или другое инструментальное средство выполняет технологию (1600).
[0184] Инструментальное средство сегментирует (1610) текущее изображение на мозаичные фрагменты для кодирования. Инструментальное средство определяет (1620), следует или нет ограничивать движение для данного набора из одного или более мозаичных фрагментов. Если да, инструментальное средство кодирует (1630) мозаичный фрагмент(ы) MCTS с ограничениями движения на границах наборов мозаичных фрагментов, ограничивая оценку движения во время кодирования таким образом, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов не допускаются для MCTS. Инструментальное средство выводит (1640) кодированные данные вместе с управляющими данными, которые указывают то, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для набора мозаичных фрагментов. Иначе (движение не ограничено для мозаичных фрагментов), инструментальное средство кодирует (1650) мозаичный фрагмент(ы) без ограничений движения на границах наборов мозаичных фрагментов и выводит (1660) кодированные данные. Инструментальное средство проверяет (1670) то, следует или нет продолжать кодирование для каких-либо других мозаичных фрагментов в изображении, и если да, определять (1620) то, следует или нет кодировать один или более оставшихся мозаичных фрагментов в качестве MCTS. После кодирования текущего изображения, инструментальное средство определяет (1680), следует или нет продолжать со следующим изображением в последовательности.
[0185] Фиг. 17 показывает обобщенную технологию (1700) для обработки кодированных данных, передаваемых в служебных сигналах вместе с управляющими MCTS-данными. Видеодекодер, такой как видеодекодер, описанный выше со ссылкой на фиг. 4 или 6, или другое инструментальное средство выполняет технологию (1700).
[0186] Инструментальное средство принимает (1710) кодированные данные для нескольких изображений. Каждое из нескольких изображений сегментировано на несколько мозаичных фрагментов. Например, каждое из нескольких изображений сегментировано на строки мозаичных фрагментов и столбцы мозаичных фрагментов, которые задают несколько мозаичных фрагментов для изображения, и каждый из нескольких мозаичных фрагментов представляет собой прямоугольную область. В примерных реализациях, каждое из нескольких изображений идентично сегментировано, чтобы формировать несколько мозаичных фрагментов в каждом из нескольких изображений. Альтернативно, различные изображения могут быть сегментированы на мозаичные фрагменты по-разному.
[0187] Инструментальное средство также принимает (1720) управляющие данные, которые указывают то, что зависимости при межкадровом предсказании на конкретных границах (например, границы наборов мозаичных фрагментов) ограничены для данного набора мозаичных фрагментов (MCTS) из одного или более мозаичных фрагментов из нескольких мозаичных фрагментов. Управляющие данные могут включать в себя один или более элементов синтаксиса, которые идентифицируют то, какой из нескольких мозаичных фрагментов находится в данном MCTS.
[0188] В примерных реализациях, данный набор мозаичных фрагментов параметризован в управляющих данных в качестве одного или более прямоугольников из мозаичных фрагментов, включающих в себя один или более мозаичных фрагментов из набора мозаичных фрагментов. Например, для данного прямоугольника из мозаичных фрагментов в наборе мозаичных фрагментов, управляющие данные включают в себя элементы синтаксиса, которые идентифицируют два угла прямоугольника из мозаичных фрагментов (к примеру, левый верхний угол прямоугольника из мозаичных фрагментов и правый нижний угол прямоугольника из мозаичных фрагментов). Управляющие данные также могут включать в себя идентификатор набора мозаичных фрагментов, параметр количества, который указывает количество прямоугольников из мозаичных фрагментов в наборе мозаичных фрагментов и для каждого из прямоугольников из мозаичных фрагментов в наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение прямоугольника из мозаичных фрагментов (например, позицию, ширину и высоту прямоугольника из мозаичных фрагментов).
[0189] Если обобщать, элемент(ы) синтаксиса может включать в себя параметр количества, который указывает количество областей мозаичного мозаичных фрагментов в данном MCTS, причем каждая из областей мозаичных фрагментов покрывает один или более мозаичных фрагментов из нескольких мозаичных фрагментов. Элемент(ы) синтаксиса также может включать в себя, для каждой из областей мозаичных фрагментов в данном наборе мозаичных фрагментов, один или более параметров местоположения, которые указывают местоположение области мозаичных фрагментов (например, позицию, ширину и высоту области мозаичных фрагментов).
[0190] Управляющие данные могут включать в себя другие элементы синтаксиса. Например, управляющие данные включают в себя флаг, который указывает то, (a) точно совпадают или нет выборки, восстановленные для данного MCTS, если части нескольких изображений за пределами данного MCTS не декодируются, (b) с выборками, восстановленными для данного MCTS, если части нескольких изображений за пределами данного MCTS декодируются. Альтернативно, управляющие данные включают в себя идентификатор прямоугольника сканирования с панорамированием, охватываемого данным MCTS.
[0191] В примерных реализациях, управляющие данные представляют собой SEI-сообщение для одного MCTS, указывающее то, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для данного MCTS. В этом случае, управляющие данные могут включать в себя различное SEI-сообщение для каждого данного MCTS и одного или более других MCTS. Альтернативно, управляющие данные представляют собой одно SEI-сообщение для нескольких MCTS, включающих в себя данный MCTS и один или более других MCTS. Альтернативно, управляющие данные могут представлять собой флаг, значение которого указывает то, ограничены или нет зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов для данного набора мозаичных фрагментов. Альтернативно, управляющие данные могут принимать некоторую другую форму.
[0192] В примерных реализациях, данный набор мозаичных фрагментов является идентичным для каждого из нескольких изображений. Альтернативно, данный набор мозаичных фрагментов отличается, по меньшей мере, между некоторыми несколькими изображениями.
[0193] Инструментальное средство обрабатывает (1730) кодированные данные. Например, в качестве части обработки кодированных данных, инструментальное средство декодирует данный MCTS в качестве интересующей области в нескольких изображениях без декодирования частей нескольких изображений за пределами данного MCTS. Альтернативно, в качестве части обработки кодированных данных инструментальное средство транскодирует кодированные данные посредством удаления кодированных данных для частей нескольких изображений за пределами данного MCTS и организации кодированных данных для данного MCTS в качестве нового потока битов. Управляющие данные также могут указывать то, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других MCTS. В этом случае, обработка кодированных данных может включать в себя декодирование, которое использует параллельную обработку, по меньшей мере, для некоторых стадий декодирования для данного MCTS и одного или более других MCTS.
[0194] Инструментальное средство может повторять технологию (1700) на основе единиц (например, на основе последовательностей, на основе групп). Для простоты, фиг. 17 не показывает то, как технология (1700) работает в сочетании с другими процессами декодирования.
[0195] В свете множества возможных вариантов осуществления, к которым могут быть применены принципы изобретения, следует признавать, что проиллюстрированные варианты осуществления являются предпочтительными примерами изобретения и не должны восприниматься как ограничивающие объем изобретения. Вместо этого, объем изобретения задается посредством прилагаемой формулы изобретения. Следовательно, изобретение заявляется в качестве формулы изобретения в пределах объема и сущности этой формулы.

Claims (84)

1. Компьютерная система для обработки кодированных данных, содержащая одно или более процессорных устройств и память, причем компьютерная система реализует систему кодера, выполненную с возможностью осуществления операций, содержащих:
кодирование множества изображений для формирования кодированных данных, причем каждое из этого множества изображений сегментировано на множество мозаичных фрагментов; и
вывод кодированных данных вместе с управляющими данными, которые указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для конкретного набора мозаичных фрагментов из одного или более мозаичных фрагментов упомянутого множества мозаичных фрагментов, причем данный конкретный набор мозаичных фрагментов параметризован в управляющих данных в виде одной или более областей мозаичных фрагментов, охватывающих эти один или более мозаичных фрагментов из упомянутого множества мозаичных фрагментов, при этом управляющие данные включают в себя:
параметр количества, который указывает количество мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов, и
для каждой из упомянутых одной или более областей мозаичных фрагментов в данном конкретном наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений.
2. Компьютерная система по п. 1, при этом упомянутые одна или более областей мозаичных фрагментов представляют собой один или более прямоугольников мозаичных фрагментов, причем для конкретного прямоугольника мозаичных фрагментов среди этих одного или более прямоугольников мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов элементами синтаксиса, которые указывают местоположение этой области мозаичных фрагментов, являются элементы синтаксиса, которые идентифицируют два угла данного конкретного прямоугольника мозаичных фрагментов.
3. Компьютерная система по п. 2, при этом упомянутыми двумя углами являются верхний левый угол упомянутого конкретного прямоугольника мозаичных фрагментов и нижний правый угол упомянутого конкретного прямоугольника мозаичных фрагментов.
4. Компьютерная система по п. 1, при этом управляющие данные дополнительно включают в себя идентификатор упомянутого конкретного набора мозаичных фрагментов.
5. Компьютерная система по п. 1, при этом управляющие данные представляют собой сообщение с дополнительной улучшающей информацией (SEI), которое указывает, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для упомянутого конкретного набора мозаичных фрагментов.
6. Компьютерная система по п. 5, при этом сообщение с SEI включает в себя элемент синтаксиса, используемый системой декодера для оценивания того, может ли оказываться негативное влияние на качество, если будет декодирован только упомянутый конкретный набор мозаичных фрагментов.
7. Компьютерная система по п. 1, в которой операции дополнительно содержат:
принятие решения на предмет того, должны или нет ограничиваться зависимости при межкадровом предсказании на конкретных границах для упомянутого конкретного набора мозаичных фрагментов; и
если да, ограничение оценки движения во время кодирования таким образом, чтобы избежать зависимостей при межкадровом предсказании на конкретных границах для упомянутого конкретного набора мозаичных фрагментов.
8. Компьютерная система по п. 1, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом кодирование использует параллельную обработку для, по меньшей мере, некоторых стадий кодирования для упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов.
9. Компьютерная система по п. 1, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом кодирование конфигурирует упомянутые конкретный набор мозаичных фрагментов и один или более других наборов мозаичных фрагментов таким образом, чтобы предоставлять функциональность постепенного обновления при декодировании.
10. Компьютерная система по п. 1, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом управляющие данные дополнительно включают в себя:
параметр, который указывает количество наборов мозаичных фрагментов, и
для каждого из упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, идентификатор набора мозаичных фрагментов.
11. Компьютерная система по п. 1, при этом упомянутое множество мозаичных фрагментов организованы по строкам мозаичных фрагментов и столбцам мозаичных фрагментов, которые, с помощью границ изображения, задают горизонтальные и вертикальные границы данного множества мозаичных фрагментов в упомянутом множестве изображений.
12. Способ обработки кодированных данных, выполняемый в компьютерной системе, причем способ содержит этапы, на которых:
принимают кодированные данные для множества изображений, причем каждое из этого множества изображений сегментировано на множество мозаичных фрагментов;
принимают управляющие данные, которые указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для конкретного набора мозаичных фрагментов из одного или более мозаичных фрагментов упомянутого множества мозаичных фрагментов, причем данный конкретный набор мозаичных фрагментов параметризован в управляющих данных в виде одной или более областей мозаичных фрагментов, охватывающих эти один или более мозаичных фрагментов из упомянутого множества мозаичных фрагментов, при этом управляющие данные включают в себя:
параметр количества, который указывает количество мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов, и
для каждой из упомянутых одной или более областей мозаичных фрагментов в данном конкретном наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений; и
обрабатывают кодированные данные.
13. Способ по п. 12, в котором упомянутые одна или более областей мозаичных фрагментов представляют собой один или более прямоугольников мозаичных фрагментов, причем для конкретного прямоугольника мозаичных фрагментов среди этих одного или более прямоугольников мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов элементами синтаксиса, которые указывают местоположение этой области мозаичных фрагментов, являются элементы синтаксиса, которые идентифицируют два угла данного конкретного прямоугольника мозаичных фрагментов.
14. Способ по п. 13, в котором упомянутыми двумя углами являются верхний левый угол упомянутого конкретного прямоугольника мозаичных фрагментов и нижний правый угол упомянутого конкретного прямоугольника мозаичных фрагментов.
15. Способ по п. 12, в котором управляющие данные дополнительно включают в себя идентификатор упомянутого конкретного набора мозаичных фрагментов.
16. Способ по п. 12, в котором управляющие данные представляют собой сообщение с дополнительной улучшающей информацией (SEI), которое указывает, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для упомянутого конкретного набора мозаичных фрагментов.
17. Способ по п. 16, в котором сообщение с SEI включает в себя элемент синтаксиса, используемый системой декодера для оценивания того, может ли оказываться негативное влияние на качество, если будет декодирован только упомянутый конкретный набор мозаичных фрагментов.
18. Способ по п. 12, в котором управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, при этом упомянутая обработка включает в себя декодирование, при котором используют параллельную обработку для, по меньшей мере, некоторых стадий декодирования для упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов.
19. Способ по п. 12, в котором упомянутая обработка содержит этап, на котором, при обнаружении потерь, по меньшей мере, некоторых из кодированных данных, отличных от упомянутого конкретного набора мозаичных фрагментов, декодируют этот конкретный набор мозаичных фрагментов в качестве части восстановления потерь.
20. Способ по п. 12, в котором управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, при этом управляющие данные дополнительно включают в себя:
параметр, который указывает количество наборов мозаичных фрагментов, и
для каждого из упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, идентификатор набора мозаичных фрагментов.
21. Способ по п. 12, в котором упомянутое множество мозаичных фрагментов организованы по строкам мозаичных фрагментов и столбцам мозаичных фрагментов, которые, с помощью границ изображения, задают горизонтальные и вертикальные границы данного множества мозаичных фрагментов в упомянутом множестве изображений.
22. Способ по п. 12, в котором управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, при этом упомянутая обработка кодированных данных включает в себя использование управляющих данных для осуществления управления, чтобы: (a) декодировать упомянутый конкретный набор мозаичных фрагментов в качестве интересующей области в пределах упомянутого множества изображений без декодирования частей этого множества изображений вне упомянутого конкретного набора мозаичных фрагментов, (b) транскодировать кодированные данные, (c) выполнять параллельную обработку для, по меньшей мере, некоторых стадий декодирования для упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, или (d) при обнаружении потерь, по меньшей мере, некоторых из кодированных данных, отличных от упомянутого конкретного набора мозаичных фрагментов, декодировать данный конкретный набор мозаичных фрагментов в качестве части восстановления потерь.
23. Машиночитаемый носитель, хранящий машиноисполняемые инструкции для предписания компьютерной системе, запрограммированной таким образом, выполнять операции для обработки кодированных данных, содержащие:
прием кодированных данных для множества изображений, причем каждое из этого множества изображений сегментировано на множество мозаичных фрагментов;
прием управляющих данных, которые указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для конкретного набора мозаичных фрагментов из одного или более мозаичных фрагментов упомянутого множества мозаичных фрагментов, при этом управляющие данные включают в себя:
идентификатор данного конкретного набора мозаичных фрагментов,
параметр количества, который указывает количество областей мозаичных фрагментов в этом конкретном наборе мозаичных фрагментов, и
для каждой из областей мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений; и
обработку кодированных данных.
24. Машиночитаемый носитель по п. 23, при этом управляющие данные представляют собой сообщение с дополнительной улучшающей информацией (SEI), которое указывает, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для упомянутого конкретного набора мозаичных фрагментов, причем сообщение с SEI включает в себя элемент синтаксиса, используемый системой декодера для оценивания того, может ли оказываться негативное влияние на качество, если будет декодирован только упомянутый конкретный набор мозаичных фрагментов.
25. Машиночитаемый носитель по п. 23, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом управляющие данные дополнительно включают в себя:
параметр, который указывает количество наборов мозаичных фрагментов, и
для каждого из упомянутых одного или более других наборов мозаичных фрагментов,
идентификатор этого другого набора мозаичных фрагментов,
параметр количества, который указывает количество областей мозаичных фрагментов в данном другом наборе мозаичных фрагментов, и
для каждой из областей мозаичных фрагментов в упомянутом другом наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений.
26. Машиночитаемый носитель по п. 23, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, при этом упомянутая обработка кодированных данных включает в себя использование управляющих данных для осуществления управления, чтобы: (a) декодировать упомянутый конкретный набор мозаичных фрагментов в качестве интересующей области в пределах упомянутого множества изображений без декодирования частей этого множества изображений вне упомянутого конкретного набора мозаичных фрагментов, (b) транскодировать кодированные данные, (c) выполнять параллельную обработку для, по меньшей мере, некоторых стадий декодирования для упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, или (d) при обнаружении потерь, по меньшей мере, некоторых из кодированных данных, отличных от упомянутого конкретного набора мозаичных фрагментов, декодировать данный конкретный набор мозаичных фрагментов в качестве части восстановления потерь.
27. Машиночитаемый носитель, хранящий машиноисполняемые инструкции для предписания компьютерной системе, запрограммированной таким образом, выполнять операции для обработки кодированных данных, содержащие:
кодирование множества изображений для формирования кодированных данных, причем каждое из этого множества изображений сегментировано на множество мозаичных фрагментов; и
вывод кодированных данных вместе с управляющими данными, которые указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для конкретного набора мозаичных фрагментов из одного или более мозаичных фрагментов упомянутого множества мозаичных фрагментов, причем данный конкретный набор мозаичных фрагментов параметризован в управляющих данных в виде одной или более областей мозаичных фрагментов, охватывающих эти один или более мозаичных фрагментов из упомянутого множества мозаичных фрагментов, при этом управляющие данные включают в себя:
параметр количества, который указывает количество мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов, и
для каждой из упомянутых одной или более областей мозаичных фрагментов в данном конкретном наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений.
28. Машиночитаемый носитель по п. 27, при этом упомянутые одна или более областей мозаичных фрагментов представляют собой один или более прямоугольников мозаичных фрагментов, причем для конкретного прямоугольника мозаичных фрагментов среди этих одного или более прямоугольников мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов элементами синтаксиса, которые указывают местоположение этой области мозаичных фрагментов, являются элементы синтаксиса, которые идентифицируют два угла данного конкретного прямоугольника мозаичных фрагментов.
29. Машиночитаемый носитель по п. 27, при этом управляющие данные представляют собой сообщение с дополнительной улучшающей информацией (SEI), которое указывает, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для упомянутого конкретного набора мозаичных фрагментов, причем сообщение с SEI включает в себя элемент синтаксиса, используемый системой декодера для оценивания того, может ли оказываться негативное влияние на качество, если будет декодирован только упомянутый конкретный набор мозаичных фрагментов.
30. Машиночитаемый носитель по п. 27, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом управляющие данные дополнительно включают в себя:
параметр, который указывает количество наборов мозаичных фрагментов, и
для каждого из упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, идентификатор набора мозаичных фрагментов.
31. Компьютерная система для обработки кодированных данных, содержащая одно или более процессорных устройств и память, причем компьютерная система реализует систему декодера, выполненную с возможностью осуществления операций, содержащих:
прием кодированных данных для множества изображений, причем каждое из этого множества изображений сегментировано на множество мозаичных фрагментов; и
прием управляющих данных, которые указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для конкретного набора мозаичных фрагментов из одного или более мозаичных фрагментов упомянутого множества мозаичных фрагментов, причем данный конкретный набор мозаичных фрагментов параметризован в управляющих данных в виде одной или более областей мозаичных фрагментов, охватывающих эти один или более мозаичных фрагментов из упомянутого множества мозаичных фрагментов, при этом управляющие данные включают в себя:
параметр количества, который указывает количество мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов, и
для каждой из упомянутых одной или более областей мозаичных фрагментов в данном конкретном наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений; и
обработку кодированных данных.
32. Компьютерная система по п. 31, при этом упомянутые одна или более областей мозаичных фрагментов представляют собой один или более прямоугольников мозаичных фрагментов, причем для конкретного прямоугольника мозаичных фрагментов среди этих одного или более прямоугольников мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов элементами синтаксиса, которые указывают местоположение этой области мозаичных фрагментов, являются элементы синтаксиса, которые идентифицируют два угла данного конкретного прямоугольника мозаичных фрагментов.
33. Компьютерная система по п. 31, при этом управляющие данные представляют собой сообщение с дополнительной улучшающей информацией (SEI), которое указывает, что зависимости при межкадровом предсказании на границах наборов мозаичных фрагментов ограничены для упомянутого конкретного набора мозаичных фрагментов, причем сообщение с SEI включает в себя элемент синтаксиса, используемый системой декодера для оценивания того, может ли оказываться негативное влияние на качество, если будет декодирован только упомянутый конкретный набор мозаичных фрагментов.
34. Компьютерная система по п. 31, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом управляющие данные дополнительно включают в себя:
параметр, который указывает количество наборов мозаичных фрагментов, и
для каждого из упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, идентификатор набора мозаичных фрагментов.
35. Компьютерная система по п. 31, при этом управляющие данные дополнительно указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для каждого из одного или более других наборов мозаичных фрагментов среди упомянутого множества мозаичных фрагментов, и при этом упомянутая обработка кодированных данных включает в себя использование управляющих данных для осуществления управления, чтобы: (a) декодировать упомянутый конкретный набор мозаичных фрагментов в качестве интересующей области в пределах упомянутого множества изображений без декодирования частей этого множества изображений вне упомянутого конкретного набора мозаичных фрагментов, (b) транскодировать кодированные данные, (c) выполнять параллельную обработку для, по меньшей мере, некоторых стадий декодирования для упомянутых конкретного набора мозаичных фрагментов и одного или более других наборов мозаичных фрагментов, или (d) при обнаружении потерь, по меньшей мере, некоторых из кодированных данных, отличных от упомянутого конкретного набора мозаичных фрагментов, декодировать данный конкретный набор мозаичных фрагментов.
36. Машиночитаемый носитель, хранящий кодированные данные для множества изображений и управляющие данные, причем кодированные данные и управляющие данные организованы таким образом, чтобы обеспечивать выполнение операций для обработки кодированных данных, каковые операции содержат:
прием кодированных данных;
прием управляющих данных; и
обработку кодированных данных, при этом:
каждое из упомянутого множества изображений сегментировано на множество мозаичных фрагментов,
управляющие данные указывают, что зависимости при межкадровом предсказании на конкретных границах ограничены для конкретного набора мозаичных фрагментов из одного или более мозаичных фрагментов упомянутого множества мозаичных фрагментов,
данный конкретный набор мозаичных фрагментов параметризован в управляющих данных в виде одной или более областей мозаичных фрагментов, охватывающих эти один или более мозаичных фрагментов из упомянутого множества мозаичных фрагментов, и
управляющие данные включают в себя:
параметр количества, который указывает количество мозаичных фрагментов в упомянутом конкретном наборе мозаичных фрагментов, и
для каждой из упомянутых одной или более областей мозаичных фрагментов в данном конкретном наборе мозаичных фрагментов, элементы синтаксиса, которые указывают местоположение этой области мозаичных фрагментов в упомянутом множестве изображений.
RU2015142850A 2013-04-08 2013-09-20 Управляющие данные для набора мозаичных фрагментов с ограничениями движения RU2648592C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361809427P 2013-04-08 2013-04-08
US61/809,427 2013-04-08
US14/021,883 2013-09-09
US14/021,883 US9749627B2 (en) 2013-04-08 2013-09-09 Control data for motion-constrained tile set
PCT/US2013/061057 WO2014168650A1 (en) 2013-04-08 2013-09-20 Motion-constrained tile set for region of interest coding

Publications (2)

Publication Number Publication Date
RU2015142850A RU2015142850A (ru) 2017-04-12
RU2648592C2 true RU2648592C2 (ru) 2018-03-26

Family

ID=51654447

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015142850A RU2648592C2 (ru) 2013-04-08 2013-09-20 Управляющие данные для набора мозаичных фрагментов с ограничениями движения

Country Status (11)

Country Link
US (2) US9749627B2 (ru)
EP (2) EP2984823B1 (ru)
JP (1) JP6449852B2 (ru)
KR (1) KR102178769B1 (ru)
CN (1) CN105432082B (ru)
AU (1) AU2013385808B2 (ru)
BR (2) BR122022001588B1 (ru)
CA (1) CA2908007C (ru)
MX (1) MX358071B (ru)
RU (1) RU2648592C2 (ru)
WO (1) WO2014168650A1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2757541C1 (ru) * 2018-06-27 2021-10-18 Кэнон Кабусики Кайся Устройство кодирования изображений, способ и программа для кодирования изображений и устройство декодирования изображений, способ и программа для декодирования изображений
RU2786015C2 (ru) * 2018-09-27 2022-12-15 Вид Скейл, Инк. Получение сэмпла для кодирования 360-градусного видео
US11601676B2 (en) 2018-09-27 2023-03-07 Vid Scale, Inc. Sample derivation for 360-degree video coding

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2013010003A (es) * 2011-08-11 2013-12-06 Panasonic Corp Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
CN109587573B (zh) 2013-01-18 2022-03-18 佳能株式会社 生成设备和方法、显示设备和方法以及存储介质
US9749627B2 (en) 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
CN104125463A (zh) * 2013-04-26 2014-10-29 华为技术有限公司 一种图像预测编码方法及图像编码器
US9298778B2 (en) 2013-05-14 2016-03-29 Google Inc. Presenting related content in a stream of content
US9367568B2 (en) * 2013-05-15 2016-06-14 Facebook, Inc. Aggregating tags in images
US11218710B2 (en) * 2013-07-12 2022-01-04 Sony Corporation Image decoding device and method
JP6202912B2 (ja) * 2013-07-12 2017-09-27 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
EP3028472B1 (en) 2013-07-29 2020-02-26 Koninklijke KPN N.V. Providing tile video streams to a client
US9179096B2 (en) * 2013-10-11 2015-11-03 Fuji Xerox Co., Ltd. Systems and methods for real-time efficient navigation of video streams
GB2519746B (en) * 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
JP6692087B2 (ja) * 2013-12-27 2020-05-13 サン パテント トラスト 配信方法、およびシステム
US10070070B2 (en) * 2014-05-28 2018-09-04 Mediatek Inc. Video processing apparatus with transform unit size selection, mode information unit size selection and/or picture width/height decision, and related video processing method thereof
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
GB2534420B (en) * 2015-01-26 2021-01-13 Advanced Risc Mach Ltd Data processing systems
JP6642573B2 (ja) * 2015-06-24 2020-02-05 ソニー株式会社 符号化装置、復号装置及び伝送制御方法
WO2017029400A1 (en) * 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
US10674185B2 (en) 2015-10-08 2020-06-02 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
TWI762260B (zh) * 2016-02-09 2022-04-21 弗勞恩霍夫爾協會 用於圖像/視訊資料串流而允許有效可縮減性或有效隨機存取之技術
FI20165114A (fi) * 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
US10419768B2 (en) * 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
EP3226561A1 (en) 2016-03-31 2017-10-04 Thomson Licensing Method and apparatus for coding a video into a bitstream carrying region-based post processing parameters into an sei nesting message
CN116546209A (zh) * 2016-04-08 2023-08-04 韩国电子通信研究院 用于导出运动预测信息的方法和装置
US11943452B2 (en) * 2016-07-14 2024-03-26 Koninklijke Kpn N.V. Systems and methods for video encoding and decoding
US10334277B2 (en) * 2016-09-02 2019-06-25 Qualcomm Incorporated Signaling target display parameters of color remapping information supplemental enhancement information messages
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
WO2018083378A1 (en) 2016-11-01 2018-05-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
CN110036640B (zh) * 2016-12-14 2023-06-20 深圳市大疆创新科技有限公司 用于支持视频比特流切换的***和方法
US11336909B2 (en) 2016-12-27 2022-05-17 Sony Corporation Image processing apparatus and method
KR102424421B1 (ko) * 2017-01-02 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3349459A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing A method and a device for image encoding and decoding
KR102424829B1 (ko) 2017-02-22 2022-07-25 에스케이텔레콤 주식회사 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
WO2018155939A1 (ko) 2017-02-22 2018-08-30 에스케이텔레콤 주식회사 영상 복호화 방법 및 장치
US10687055B2 (en) 2017-03-03 2020-06-16 Qualcomm Incorporated Coding MCTS-EIS SEI messages of an access unit
CN116074502A (zh) * 2017-03-20 2023-05-05 Ge 视频压缩有限责任公司 生成视频数据流的装置以及生成视频数据流的方法
CN116248866A (zh) * 2017-07-03 2023-06-09 汉阳大学校产学协力团 利用包含追加区域的分割单位的影像解码方法以及装置
KR102336987B1 (ko) * 2017-07-04 2021-12-08 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
KR20190024212A (ko) * 2017-08-31 2019-03-08 세종대학교산학협력단 타일 구조의 구성 방법 및 이의 장치
WO2019103126A1 (en) * 2017-11-22 2019-05-31 Sharp Kabushiki Kaisha Systems and methods for signaling tile structures for pictures of coded video
CN118018761A (zh) * 2017-12-28 2024-05-10 韩国电子通信研究院 图像编码和解码的方法和装置以及存储比特流的记录介质
CN110035331B (zh) 2018-01-12 2021-02-09 华为技术有限公司 一种媒体信息的处理方法及装置
CN108600863A (zh) 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
WO2019189890A1 (en) * 2018-03-30 2019-10-03 Sharp Kabushiki Kaisha Systems and methods for signaling tile structures for pictures of coded video
EP4274234A3 (en) 2018-04-03 2024-02-28 Huawei Technologies Co., Ltd. File format signaling of error mitigation in sub-picture bitstream based viewport dependent video coding
GB2572770B (en) 2018-04-09 2022-11-02 Canon Kk Method and apparatus for encoding or decoding video data with frame portions
US10567781B2 (en) * 2018-05-01 2020-02-18 Agora Lab, Inc. Progressive I-slice reference for packet loss resilient video coding
US10638147B2 (en) * 2018-06-01 2020-04-28 Apple Inc. Gradual decoder refresh techniques with management of reference pictures
EP3811612A1 (en) * 2018-06-21 2021-04-28 Telefonaktiebolaget LM Ericsson (publ) Tile partitions with sub-tiles in video coding
RU2767601C1 (ru) 2018-07-02 2022-03-17 Нокиа Текнолоджиз Ой Способ и устройство для связанной с тайлом адресации при кодировании видеосигнала
US10841602B2 (en) * 2018-07-16 2020-11-17 Tencent America LLC Hierarchical tiles
EP3707904A1 (en) * 2018-10-02 2020-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding pictures based on tile group id
WO2020070120A1 (en) * 2018-10-02 2020-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Picture tile attributes signaled using loop(s) over tiles
KR102466900B1 (ko) * 2018-10-11 2022-11-14 삼성전자주식회사 타일 및 타일 그룹을 이용하는 비디오 부호화 및 복호화 방법, 타일 및 타일 그룹을 이용하는 비디오 부호화 및 복호화 장치
EP3888356A2 (en) * 2018-11-26 2021-10-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-prediction concept using tile-independency constraints
BR112021010326A2 (pt) * 2018-11-30 2021-08-24 Sharp Kabushiki Kaisha Método de decodificar dados de vídeo, método de codificar dados de vídeo e dispositivo para decodificar dados de vídeo
US20220007019A1 (en) * 2018-12-04 2022-01-06 Vid Scale, Inc. Tile group partitioning
CN113228519A (zh) 2018-12-14 2021-08-06 华为技术有限公司 任意和环绕分块分组
EP3891985A4 (en) * 2018-12-17 2022-03-30 Huawei Technologies Co., Ltd. HARMONIZING RECURRENT SWEEP AND GROUPS OF RECTANGULAR TILES IN VIDEO ENCODING
US11140403B2 (en) * 2018-12-20 2021-10-05 Tencent America LLC Identifying tile from network abstraction unit header
US11477445B2 (en) * 2018-12-28 2022-10-18 Hfi Innovation Inc. Methods and apparatuses of video data coding with tile grouping
EP4373084A2 (en) * 2018-12-31 2024-05-22 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for tile configuration signaling
JP2022516996A (ja) * 2019-01-09 2022-03-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応する方法
US20200236377A1 (en) * 2019-01-22 2020-07-23 Tencent America LLC Method for tile group identification
WO2020175908A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
WO2020175905A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
WO2020175904A1 (ko) * 2019-02-26 2020-09-03 엘지전자 주식회사 시그널링된 정보에 기반한 픽처 파티셔닝 방법 및 장치
US11889085B2 (en) 2019-03-08 2024-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding/decoding of dependent/independent partitions and related devices
MX2021010353A (es) * 2019-03-11 2021-09-30 Ericsson Telefon Ab L M Codificacion de video que comprende se?alizacion de grupos de mosaicos rectangulares.
CN113812151A (zh) * 2019-03-11 2021-12-17 弗劳恩霍夫应用研究促进协会 具有配置文件和级别相关编码选项的编码器和解码器、编码方法和解码方法
EP3942813B1 (en) * 2019-03-20 2024-05-01 V-Nova International Limited Temporal signalling for video coding technology
US20220150487A1 (en) * 2019-03-21 2022-05-12 Kaonmedia Co., Ltd. Image encoding method, image decoding method, and device for processing picture partitions
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
JP7304419B2 (ja) * 2019-09-06 2023-07-06 株式会社ソニー・インタラクティブエンタテインメント 送信装置、送信方法及びプログラム
US11218698B2 (en) 2019-09-27 2022-01-04 Nokia Technologies Oy Fractional/arbitrary tile grouping
JP7401689B2 (ja) * 2020-02-14 2023-12-19 北京字節跳動網絡技術有限公司 インループフィルタリングと映像タイルとの間の相互作用
US20230254489A1 (en) * 2022-02-07 2023-08-10 Tencent America LLC Adaptive context-based adaptive binary arithmetic coding (cabac) initial state selection from coded pictures
FR3139260A1 (fr) 2022-08-25 2024-03-01 S.A. Vitec Lissage hors boucle de codage d’une frontière entre deux zones d’image

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040066854A1 (en) * 2002-07-16 2004-04-08 Hannuksela Miska M. Method for random access and gradual picture refresh in video coding
US20100232504A1 (en) * 2009-03-13 2010-09-16 The State of Oregon acting by and through the State Board of Higher Education on behalf of the Supporting region-of-interest cropping through constrained compression
RU2407217C2 (ru) * 2005-10-11 2010-12-20 Нокиа Корпорейшн Система и способ для эффективной адаптации масштабируемых потоков
US20130003830A1 (en) * 2011-06-30 2013-01-03 Kiran Misra Context initialization based on decoder picture buffer
US20130057646A1 (en) * 2011-07-22 2013-03-07 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
US6404814B1 (en) 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
JP2003204439A (ja) * 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
FI114679B (fi) 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
WO2011127966A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-plane prediction
US9300976B2 (en) 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
GB2488159B (en) * 2011-02-18 2017-08-16 Advanced Risc Mach Ltd Parallel video decoding
US20120243614A1 (en) 2011-03-22 2012-09-27 Danny Hong Alternative block coding order in video coding
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
EP2735162A4 (en) * 2012-02-03 2015-03-18 Mediatek Inc METHOD AND DEVICE FOR GRINDING FILTRATION OF CROSS-TILE OR DISC BOLTS
US9681155B2 (en) * 2013-03-15 2017-06-13 Sony Interactive Entertainment America Llc Recovery from packet loss during transmission of compressed video streams
US9749627B2 (en) 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040066854A1 (en) * 2002-07-16 2004-04-08 Hannuksela Miska M. Method for random access and gradual picture refresh in video coding
RU2407217C2 (ru) * 2005-10-11 2010-12-20 Нокиа Корпорейшн Система и способ для эффективной адаптации масштабируемых потоков
US20100232504A1 (en) * 2009-03-13 2010-09-16 The State of Oregon acting by and through the State Board of Higher Education on behalf of the Supporting region-of-interest cropping through constrained compression
US20130003830A1 (en) * 2011-06-30 2013-01-03 Kiran Misra Context initialization based on decoder picture buffer
US20130057646A1 (en) * 2011-07-22 2013-03-07 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GARY SULLIVAN et al., "Meeting report of the 11th meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Shanghai, CN, 10-19 Oct 2012", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Shanghai, CN, 10-19 Oct. 2012, Document: JCTVC-K1000, 150 л., опубл. 12.01.2013. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2757541C1 (ru) * 2018-06-27 2021-10-18 Кэнон Кабусики Кайся Устройство кодирования изображений, способ и программа для кодирования изображений и устройство декодирования изображений, способ и программа для декодирования изображений
US11523113B2 (en) 2018-06-27 2022-12-06 Canon Kabushiki Kaisha Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program
RU2786015C2 (ru) * 2018-09-27 2022-12-15 Вид Скейл, Инк. Получение сэмпла для кодирования 360-градусного видео
US11601676B2 (en) 2018-09-27 2023-03-07 Vid Scale, Inc. Sample derivation for 360-degree video coding

Also Published As

Publication number Publication date
EP2984823B1 (en) 2019-12-04
CA2908007A1 (en) 2014-10-16
BR122022001588B1 (pt) 2022-12-20
KR20150140360A (ko) 2015-12-15
AU2013385808B2 (en) 2017-09-21
BR112015025393A2 (pt) 2017-08-29
BR112015025393B1 (pt) 2022-12-20
US10523933B2 (en) 2019-12-31
KR102178769B1 (ko) 2020-11-13
US20140301464A1 (en) 2014-10-09
EP2984823A1 (en) 2016-02-17
MX2015014202A (es) 2016-05-05
RU2015142850A (ru) 2017-04-12
CN105432082B (zh) 2019-10-18
EP3606068A1 (en) 2020-02-05
CN105432082A (zh) 2016-03-23
US9749627B2 (en) 2017-08-29
US20170318288A1 (en) 2017-11-02
MX358071B (es) 2018-08-03
WO2014168650A1 (en) 2014-10-16
JP2016519516A (ja) 2016-06-30
CA2908007C (en) 2020-07-28
AU2013385808A1 (en) 2015-10-22
JP6449852B2 (ja) 2019-01-09

Similar Documents

Publication Publication Date Title
RU2648592C2 (ru) Управляющие данные для набора мозаичных фрагментов с ограничениями движения
US11910005B2 (en) Block vector prediction in video and image coding/decoding
US10652576B2 (en) Features of base color index map mode for video and image coding and decoding
JP7164728B2 (ja) 参照画像リサンプリングのためのシグナリング
KR102401946B1 (ko) 인트라 블록 카피 예측에서의 스킵 모드 및 블록 플립핑
JP6359101B2 (ja) ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴
US9762912B2 (en) Gradual updating using transform coefficients for encoding and decoding