RU2610291C2 - Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео - Google Patents
Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео Download PDFInfo
- Publication number
- RU2610291C2 RU2610291C2 RU2014134041A RU2014134041A RU2610291C2 RU 2610291 C2 RU2610291 C2 RU 2610291C2 RU 2014134041 A RU2014134041 A RU 2014134041A RU 2014134041 A RU2014134041 A RU 2014134041A RU 2610291 C2 RU2610291 C2 RU 2610291C2
- Authority
- RU
- Russia
- Prior art keywords
- wpp
- tranches
- image
- substreams
- sequence
- Prior art date
Links
- 238000012545 processing Methods 0.000 title abstract description 35
- 230000006978 adaptation Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 11
- RERHJVNYJKZHLJ-UHFFFAOYSA-N bis(2-hydroxyethyl)azanium;2-(3,5-diiodo-4-oxopyridin-1-yl)acetate Chemical compound OCCNCCO.OC(=O)CN1C=C(I)C(=O)C(I)=C1 RERHJVNYJKZHLJ-UHFFFAOYSA-N 0.000 claims 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000005540 biological transmission Effects 0.000 description 21
- 239000000872 buffer Substances 0.000 description 18
- 239000003550 marker Substances 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000005538 encapsulation Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 7
- 238000000926 separation method Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000001824 photoionisation detection Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 241001536374 Indicator indicator Species 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Abstract
Изобретение относится к принципу кодирования, делающему возможным параллельную обработку. Техническим результатам является повышение эффективности кодирования с малой задержкой в средах параллельной обработки. Заявлен декодер, выполненный с возможностью приема полезных данных последовательности необработанных байтов, описывающей изображение подпотоками WPP с одним подпотоком WPP на LCU-строку изображения и кодированной с использованием САВАС, от кодера в траншах, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей; энтропийного декодирования траншей с продолжением адаптации вероятностей САВАС через границы траншей, введенные в подпотоки WPP; и декодирования полезных данных последовательности необработанных байтов для получения изображения. 8 н. и 15 з.п. ф-лы, 20 ил.
Description
Настоящее изобретение относится к принципам кодирования, делающим возможным параллельную обработку, такую как в развивающемся стандарте HEVC (высокоэффективное видеокодирование), транспортному демультиплексору и битовому потоку видео.
Распараллеливание кодера и декодера является очень важным из-за повышенных требований к обработке стандартом HEVC, а также ожидаемым повышением разрешения видео. Многоядерные архитектуры становятся доступными в широком диапазоне современных электронных устройств. Следовательно, требуются эффективные способы, делающие возможным использование многоядерных архитектур.
Кодирование или декодирование наибольшей единицы кодирования (LCU) происходит с растровым сканированием, посредством которого вероятности контекстно-адаптивного двоичного арифметического кодирования (CABAC) адаптируются к специфичности каждого графического изображения. Пространственные зависимости существуют между соседними LCU. Каждая LCU зависит от ее левой, верхней, верхней слева и верхней справа соседней LCU из-за разных составляющих, например, вектора движения, предсказания, внутреннего предсказания и других. Чтобы сделать возможной распараллеливание при декодировании, эти зависимости обычно должны быть прерваны или прерываются в новейших применениях.
Были предложены некоторые принципы распараллеливания, а именно волновая обработка, использующая энтропийные слайсы [3], операции волновой параллельной обработки (WPP), использующие подпотоки [2] [4], [11], или тайлы [5]. Последние не требуют обязательного объединения с волновой обработкой, для того чтобы сделать возможным распараллеливание в декодере или кодере. С этой точки зрения тайлы подобны подпотокам WPP. Первоначальным мотиватором изобретателей для дальнейшего исследования принципа энтропийных слайсов является выполнение методов, которые уменьшают потери эффективности кодирования и, таким образом, уменьшают нагрузку на битовый поток для подходов распараллеливания в кодере и декодере.
Чтобы обеспечить лучшее понимание, в частности использования LCU, можно сначала рассмотреть структуру H.264/AVC [1].
Кодированная видеопоследовательность в H.264/AVC состоит из последовательности единиц доступа, которые собраны в поток единиц уровня сетевой абстракции (NAL), и они используют только один набор параметров последовательности. Каждая видеопоследовательность может декодироваться независимо. Кодированная последовательность состоит из последовательности кодированных изображений. Кодированным кадром может быть целый кадр или единственное поле. Каждое изображение разделяется на макроблоки фиксированного размера (в HEVC [5]: LCU). Несколько макроблоков или LCU могут объединяться вместе в один слайс. Изображение, поэтому, представляет собой совокупность из одного или нескольких слайсов. Целью этого разделения данных является получение возможности независимого декодирования отсчетов в области изображения, которая представлена слайсом, без использования данных из других слайсов.
Методом, который часто упоминается как «энтропийные слайсы» [3], является разделение традиционного слайса на дополнительные подслайсы. Конкретно, это означает разделение энтропийно кодированных данных единственного слайса. Размещение энтропийных слайсов в слайсе может быть разнообразным. Самым простейшим является использование каждой строки LCU/макроблоков в кадре в качестве одного энтропийного слайса. Альтернативно, столбцы или отдельные области могут использоваться в качестве энтропийных слайсов, которые даже могут прерываться и переключаться друг с другом, например, слайс 1 на фиг. 1.
Очевидной целью принципа энтропийных слайсов является предоставление возможности использования параллельных центрального процессора/графического процессора (CPU/GPU) и многоядерных архитектур, чтобы улучшить время процесса декодирования, т.е. ускорить процесс. Текущий слайс может быть разделен на разделы, которые могут быть подвернуты синтаксическому анализу и восстановлены без ссылки на данные другого слайса. Хотя могут быть достигнуты некоторые преимущества с подходом энтропийных слайсов, в результате этого возникают некоторые проблемы.
Принцип энтропийных слайсов был дополнительно расширен до волновой обработки подпотоков (WPP), как предложено в [2], [10], [11] и частично интегрировано в [5]. В данном случае определяется схема повторения подпотоков. Что действительно имеет улучшенную инициализацию энтропийного состояния на строку по сравнению с энтропийными слайсами.
Принцип тайлов позволяет получить разделение информации изображения, подлежащей кодированию, в тоже время каждый тайл имеет свой собственный порядок растрового сканирования. Тайл определяется общей структурой, которая повторяется в кадре. Тайл также может иметь некоторую ширину столбца и высоту строки в единицах LCU или CU (единица кодирования). Тайлы также могут кодироваться независимо и также могут кодироваться таким образом, что им не требуется совместная обработка с другими тайлами, так что потоки декодера могут обрабатывать тайлы единицы доступа полностью или по меньшей мере для некоторых этапов операции кодирования независимым образом, т.е. энтропийное кодирование и кодирование с преобразованием.
Поэтому тайл в значительной степени позволяет выполнять работу кодеров, а также декодеров тайла полностью или частично независимо параллельным образом, в последнем случае, например, до этапа фильтрации кодека HEVC.
Чтобы выполнить полное использование методов распараллеливания в цепочке захвата, кодирования, передачи, декодирования и представления системы видеосвязи, или подобных систем, транспортировка и доступ к данным между участниками связи представляет собой важный и требующий много времени этап для внесения полной сквозной задержки. Это является проблемой в особенности при использовании методов распараллеливания, таких как тайлы, подпотоки или энтропийные слайсы.
Подходы к передаче данных подпотоков WPP подразумевает, что кодированные данные разделов, если они обработаны, не имеют локальности данных, т.е. единственному потоку, декодирующему единицу доступа, необходимо перескакивать через потенциально большие участки памяти, чтобы выполнить доступ к данным следующей строки подпотока WPP. Многопоточной системе декодирования необходимо ожидать передачу некоторых данных, т.е. подпотоков WPP, чтобы работать полностью параллельным образом, так чтобы использовать волновую обработку.
В потоковом видео обеспечение более высоких разрешений (Full-HD, QUAD-HD и т.д.) приводит к большему количеству данных, которые должны передаваться. Для чувствительных к времени сценариев, так называемому варианту использования с малой задержкой, такому как видеоконференция (<145 мс), или игровые приложения (<40 мс), требуются очень малые сквозные задержки. Поэтому, время передачи становится критическим фактором. Изобретатели рассматривают линию загрузки в асимметричной цифровой абонентской линии (ADSL) для применения в видеоконференции. В данном случае, так называемые точки произвольного доступа потока, обычно они ссылаются на I-кадры, будут кандидатами на то, чтобы вызвать узкое место во время передачи.
HEVC допускает так называемую волновую обработку, а также обработку тайлов на стороне кодера, а также декодера. Это делается возможным посредством использования энтропийных слайсов, подпотоков WPP или даже их объединения. Параллельная обработка также допускается параллельным кодированием и декодированием тайлов.
В случае «цели без распараллеливания» данные всего слайса доставляются одновременно, таким образом последняя CU слайсов является доступной для декодера, если она была передана. Это не является проблемой, если имеется декодер с единственным потоком.
В многопоточном случае, если могут использоваться многочисленные CPU или ядра, процесс декодирования, однако, будет начинаться, как только кодированные данные поступят в потоки волнового декодера или декодера тайлов.
Таким образом, было бы полезным иметь наготове принципы, которые делают возможным уменьшить задержку кодирования в средах параллельной обработки с менее резкими снижениями эффективности кодирования.
Следовательно, задачей настоящего изобретения является обеспечение принципа кодирования, принципа транспортного демультиплексирования и битового потока видео, которые делают возможным такое более эффективное кодирование с малой задержкой в средах параллельной обработки.
Эта задача достигается объектом прилагаемых зависимых пунктов формулы изобретения.
Согласно первому аспекту настоящей заявки полезная нагрузка последовательности необработанных байтов, описывающая изображение слайсами, подпотоками WPP или тайлами и кодированная с использованием контекстно-адаптивного двоичного арифметического кодирования, подразделяется или разделяется на транши с продолжением адаптации вероятностей контекстно-адаптивного двоичного арифметического кодирования по границам траншей. Посредством этой меры границы траншей, дополнительно введенные в слайсы, подпотоки WPP или тайлы, не приводят к снижению эффективности энтропийного кодирования этих элементов. С другой стороны, однако, транши являются меньше исходных слайсов, подпотоков WPP или тайлов, и, следовательно, они могут передаваться раньше, т.е. с меньшей задержкой, чем неразделяемые исходные объекты, т.е. слайсы, подпотоки WPP или тайлы.
Согласно другому аспекту, который является объединяемым с первым аспектом, единицы NAL маркера подпотока используются в последовательности единиц NAL битового потока видео, чтобы предоставить возможность транспортному демультиплексору назначать данные слайсов в единицах NAL соответствующим подпотокам или тайлам, чтобы иметь возможность параллельно подавать соответствующие подпотоки или тайлы на многопоточный декодер.
Полезные реализации являются предметом зависимых пунктов формулы изобретения. Кроме того, предпочтительные варианты осуществления настоящего изобретения объясняются более подробно ниже в отношении фигур, на которых
фиг. 1 изображает схему, иллюстрирующую возможные соединения энтропийных слайсов;
фиг. 2 изображает схему, иллюстрирующую три тайла, распределенные по трем слайсам;
фиг. 3 изображает схему, иллюстрирующую пример перемежения траншей схемы циклического перемежения четырех траншей с переменной длиной;
фиг. 4 изображает схему, иллюстрирующую кодирование, сегментирование, перемежение и декодирование данных энтропийного слайса;
фиг. 5 изображает схему, иллюстрирующую пример перемежения траншей схемы циклического перемежения четырех траншей с переменной длиной, использующей всегда коды маркера и распределяющей фактические данные слайса по многочисленным единицам NAL. Коды маркера используются, даже если не присутствует подраздел. Это может быть дополнительно улучшено использованием идентификатора транша после маркера, указывающего номер транша. Это устраняет потребность посылки всегда маркера, что требуется для циклического режима.
фиг. 6 изображает таблицу псевдокода, иллюстрирующего синтаксис единицы NAL;
фиг. 7 изображает таблицу псевдокода, иллюстрирующего синтаксис набора параметров последовательности;
фиг. 8 изображает таблицу псевдокода, иллюстрирующего синтаксис полезных данных последовательности необработанных байтов (RBSP) уровня слайса с малой задержкой;
фиг. 9 изображает таблицу псевдокода, иллюстрирующего синтаксис заголовка слайса;
фиг. 10 изображает таблицу псевдокода, иллюстрирующего синтаксис маркера подпотока;
фиг. 11 изображает схему, иллюстрирующую пример простой инкапсуляции данных энтропийного слайса (AF представляет собой поле адаптации TS MPEG-2);
фиг. 12 изображает схему, иллюстрирующую другой пример инкапсуляции единственного элементарного потока (ES) данных энтропийного слайса;
фиг. 13 изображает схему, иллюстрирующую другой пример инкапсуляции упакованных многочисленных ES данных энтропийного слайса;
фиг. 14 изображает блок-схему, изображающую транспортный демультиплексор для единственного ES;
фиг. 15 изображает блок-схему, изображающую транспортный демультиплексор для многочисленных ES;
фиг. 16 изображает блок-схему, изображающую кодер;
фиг. 17 изображает блок-схему, изображающую декодер;
фиг. 18 изображает блок-схему последовательности операций этапов, выполняемых декодером; и
фиг. 19 изображает схему, иллюстрирующую пример для многочисленных ES, используя транспортный протокол реального времени (RTP).
Чтобы уменьшить время, в течение которого поток параллельного декодера может начать и завершить обработку своих данных кадра, представленные ниже варианты осуществления используют сегментирование данных, структурированных для распараллеливания, таких как данные одного или нескольких тайлов или данные одного или нескольких подпотоков WPP, на малые транши посредством подхода перемежения с малой задержкой.
Следовательно кодер может доставлять данные, соответствующие конкретному набору LCU или по меньшей мере выровненной по байтам части подпотока или тайла или их частей в виде транша, декодеру по тракту передачи от кодера до декодера.
Так как транши меньше полного подпотока WPP или тайла и/или могут адаптироваться к фактической максимальной единице передачи (MTU) тракта передачи, так что транши многочисленных подпотоков WPP или тайлов могут размещаться в единице передачи между кодером и декодером перед завершением полной единицы доступа, декодирование на стороне декодера может начинаться существенно раньше, чем при использовании последовательной передачи полных подпотоков WPP или тайлов единицы доступа.
Это очевидно приводит к более быстрой передаче траншей и более раннему началу процесса параллельного декодирования в декодере. Подход также может применяться по границам кадра в случае, если слайс(-ы) следующего кадра или энтропийный слайс(-ы) уже могут быть декодированы, например, волновым образом, основываясь на сведениях, что требуемая информация для декодирования энтропийного слайса следующего кадра из-за доступности межкадровых ссылок. Эти уже декодируемые данные кадра, последующего в порядке декодирования, могут извлекаться из максимально допустимой/сигнализируемой длины вектора движения или дополнительной информации в потоке, указывая зависимости частей данных с предыдущим кадром(-ами), или схемы с фиксированными ссылками, указывающей используемую позицию, сигнализируемую в позиции фиксированной последовательности, такой как набор параметров.
Изображение может кодироваться одним энтропийным слайсом на строку(-и) наибольшей единицы кодирования (LCU), или используя подпоток WPP, или даже комбинацию в виде одного подпотока WPP на строку, которая может дополнительно содержаться в отдельном энтропийном слайсе. Такие структуры данных необходимы для использования метода волновой обработки на стороне декодера. Или тайлы могут использоваться, чтобы сделать возможной параллельную обработку.
Во время процесса кодирования битовый поток каждого слайса, содержащий данные потоков WPP или тайлов, может разделяться на транши с переменной длиной, чтобы соответствовать максимальному размеру единицы передачи, между кодером и декодером. Тогда результирующие транши перемежаются и могут передаваться для передачи и размещения в пакетах размера MTU.
Чтобы сделать возможной обработку на стороне декодера перед или после каждого транша, может вставляться код маркера. Соответствующим кодом маркера для HEVC может быть «0x00 00 02», который будет даже пропускать предотвращение эмуляции кода начала. После приема пакета, включающего в себя многочисленные транши, приемник или декодер может выполнять синтаксический анализ фактически содержащегося битового потока во время процесса предотвращения эмуляции кода начала, чтобы не требовался дополнительный этап синтаксического анализа. Может быть, например, два режима для идентификации транша. Может быть всегда циклическое размещение траншей, начиная с транша с tranche_id (идентификатор транша), равного 1, до транша с tranche_id, равным n. Это может безопасно сигнализировать данные для второго общего способа. Альтернативным способом может быть конкретный заголовок, следующий за маркером, указывающий tranche_id, например, в виде 8-битового значения.
Деперемежение данных перемеженных траншей может применяться на основе сведения о количестве траншей на пакет, которым может быть пакет единиц NAL. Поэтому может быть дополнительно отображение подпотоков WPP или тайлов на транши. Это отображение может неявно выводиться из количества тайлов/количества подпотоков WPP, или может сигнализироваться непосредственно в наборе параметров последовательности (SPS). Отображение является важным для процесса деперемежения, так что данные некоторых подпотоков WPP или тайлов могут идентифицироваться и предоставляться потоку волнового или параллельного декодера, ответственного за декодирование данного подпотока WPP или тайла.
Чтобы информировать декодер об использовании схемы перемежения для инкапсуляции с малой задержкой, в заголовке единицы NAL может быть low_delay_flag (флаг малой задержки).
Другим режимом может быть перемежение и деперемежение на транспортном уровне, т.е. вне процесса декодирования может быть на уровне RTP [8] [9] [13] или транспортного потока MPEG-2 [7].
Поэтому заголовок может размещаться впереди пакета, указывающий присутствие транша посредством флага, включающего в себя информацию о размере в байтах на присутствующий транш. Так как транспортный уровень не связан с процессом декодирования, может быть, что нет необходимости в интегрировании кода маркера, так как дополнительная информация транспортного уровня должна удаляться любым образом перед передачей этих данных на декодер. Транспортный уровень затем также переупорядочивает данные для доставки битового потока декодеру.
Заголовок переменной длины может использоваться на дополнительном уровне мультиплексирования. Этот уровень мультиплексирования также может представлять собой часть кодека и может вводиться перед фактическим обращением к данным последовательности необработанных байтов (RBSP) в декодере. Одну схему заголовка можно найти на фиг. 3. Но может быть также заголовок непосредственно перед каждым траншем, указывающий длину, а также его индикатор. Где все еще имеется необходимость в отображении индикатора на структуры битового потока, уже указано выше.
Размер транша также может иметь постоянный размер, например x байтов на транш. Это приводит к простой схеме мультиплексирования, такой как показанная на фиг. 4.
Постоянный размер сегментов может привести к проблеме в конце битового потока из-за его переменной длины.
Имеется два возможных общих решения. Первым является генерирование циклических x-байтовых сегментов (обычно представление битового потока слайса выровнено по байтам) и управление потреблением байтов каждым механизмом декодера, т.е. декодер выясняет завершение энтропийного слайса, или включение кода маркера.
Вторым способом являются длины транша сигнализации, если транши имеют переменную длину, в заголовке, как показано на фигуре.
Размер сегмента и режим перемежения могут сигнализироваться или в одном SEI-сообщении, или в SPS.
Схема передачи показана на фиг. 4.
Другой интересный способ использует коды завершения или коды маркера в конце набора траншей в пакете, таком как NAL или пакет слайсов. В данном случае возможны сегменты переменной длины, таким образом, требуется полный синтаксический анализ битового потока. Чтобы ограничить в данном случае обращение к памяти, этот дополнительный процесс синтаксического анализа для мультиплексирования может объединяться с синтаксическим анализом предотвращения эмуляции кода начала, требуемого в качестве первого этапа перед обращением к данным RBSP, содержащимся в единице NAL. Такая схема маркера показана на фиг. 5.
Идея в данном случае заключается в разбиении перемежающим образом структуры более высокого уровня, такой как фактический слайс, энтропийный слайс или подобные, на содержащиеся в ней структуры данных более низкого уровня, такие как подпотоки WPP или тайлы, при перемежении данных в транши. Эти транши, причем каждый принадлежит к структуре более низкого уровня, например, конкретному подпотоку WPP или тайлу, перемежаются в пакете с малой задержкой, которым может быть конкретная единица NAL, единица NAL с дополнительной сигнализацией флагом перемежения с малой задержкой или даже слайс или легковесный заголовок слайса, указывающий подход перемежения с малой задержкой посредством флага или типа слайса, как показано для «единица #1 NAL» на фигуре, таким образом декодер информируется для применения функции переупорядочения для декодера с «единственным» потоком, который использует последовательную обработку траншей в исходном/деперемеженном порядке в декодере. Чтобы разделить данные фактического слайса в виде перемеженных траншей по многочисленным пакетам, чтобы получить выигрыш в признаке малой задержки, транспортный уровень может фрагментировать единицу NAL, содержащую перемеженные данные с малой задержкой, в сетевые пакеты максимального размера MTU. Фрагментирование данных фактического слайса в многочисленные единицы NAL также может непосредственно применяться уровнем кодирования, таким образом, существует потребность в сигнализации такого типа единицы NAL, содержащей продолжение слайса, как показано на фиг. 5 для «единицы #2 NAL». Чтобы обнаруживать завершение перемеженных данных в многочисленных пакетах, таких как единицы NAL. Может быть необходимость в конкретном коде завершения, также показанном для «единицы #2 NAL» на фигуре, или флаге, который указывает завершение в слайсе или заголовка NAL.
В случае потери пакетов NAL также существует потребность в обнаружении потерь. Это может применяться посредством дополнительной информации в заголовке, например, легковесного заголовка слайса, такого как первые макроблоки (MB) содержащихся траншей, или только конкретного транша #1. Имея информацию, такую как смещения для подпотоков WPP или фактический размер транша, кто-нибудь также может использовать эти значения размера (значения смещения для конкретного подпотока WPP или тайла), чтобы выполнить проверку работоспособности после приема единицы NAL с кодом завершения и предшествующими единицами NAL.
Т.е, как описано, транши могут пакетироваться в пакеты 300 таким образом, что каждый пакет 300 содержит один транш T# каждого подпотока WPP или тайла изображения или поднабора подпотоков WPP или тайлов изображения (так как, например, некоторый подпоток WPP или тайл уже был полностью передан посредством предыдущих пакетов), расположенных в порядке #, заданном среди подпотоков WPP или тайлов, причем каждый пакет содержит заголовок 302, содержащий информацию, выявляющую позиции и/или длительности траншей T#, упакованных в соответствующий пакет 300, или маркеры 304, разделяющие транши T# в соответствующем пакете 300 друг от друга, причем декодер может быть выполнен с возможностью, при приеме полезных данных последовательности необработанных байтов, использования информации, содержащейся в заголовках 302 или маркерах 304, для обращения к траншам в пакетах. Пакеты 300a, которые содержат первые - в соответствии с порядком, определенным среди подпотоков WPP или тайлов - транши подпотоков WPP или тайлы изображения, могут содержать индикатор 306 признака малой задержки, и пакеты 300b, содержащие вторые или последующие - в соответствии с порядком, определенным среди подпотоков WPP или тайлов - тайлы T# подпотоков WPP или тайлов изображения, могут содержать индикатор 308 продолжения. Пакетами 300 могут быть единицы NAL или слайсы.
Ниже предоставляется пример для сигнализации синтаксиса и семантики для перемежения с малой задержкой в транши.
Тем не менее разделение данных транша, таких как данные подпотока WPP или тайла, также может применяться на уровне слайса или ниже, как указано выше.
Ниже показан подход, который может быть объединен с синтаксическим анализом для предотвращения эмуляции кода начала, чтобы уменьшить количество дополнительных этапов процесса. Поэтому, перемежение применяется на уровне RBSP кодека HEVC.
Транш может рассматриваться как разделяющий данные RBSP на секции, подлежащие перемежению в секции полезных данных единиц NAL для доступа к данным с малой задержкой. Завершение транша может указываться кодом 0x000002 и за которым может следовать 8-битовый идентификатор транша tranche_id. Транши могут перемежаться циклическим образом, так что за кодом окончания транша не следует tranche_id, который выводится неявным образом. Данные RBSP в единственном транше соответствуют или данным тайла, данным подпотока, данным слайса или данным энтропийного слайса.
В синтаксисе единицы NAL могут учитываться два режима для перемежения с малой задержкой, как указано посредством «low delay encapsulation_flag» (флаг инкапсуляции с малой задержкой), который представляет собой циклическое размещение траншей, а также указание транша посредством дополнительного идентификатора «tranche_id», следующий за кодом маркера посредством флага, такого как «low delay cyclic_flag» (флаг циклического размещения малой задержки) в заголовке единицы NAL. Эти два флага также могут представляться в наборах параметров последовательности или даже APS. Для циклического размещения траншей все же может требоваться знание количества траншей во время синтаксического анализа, такого как предусмотренного в SPS в виде «num_low_delay_tranches» (количество траншей с малой задержкой).
В единице NAL перемеженные «LD_rbsp_byte» считываются блоком синтаксического анализа и переупорядочиваются в фактический последовательный порядок RBSP в последнем for-цикле в синтаксисе NAL:
Также может быть явная сигнализация в SPS или APS для фиксированного размера циклически размещенных траншей, что указывается в «low-delay_tranche_length_minus1» (длительность транша с малой задержкой минус 1). Последний не использовался в примере синтаксиса единицы NAL, но является прямым, подразумевая пакетирование, показанное на фиг. 4. В синтаксисе единицы NAL на фиг. 6 было базовым пакетирование, показанное на фиг. 5 и описанное выше.
Чтобы сделать возможным этот признак перемежения траншей по многочисленным пакетам, таким как слайсы и/или единицы NAL, может быть требование к глобальному буферу, такому как массив LD_rbsp_byte для траншей, чтобы имел многократный доступ к данным RBSP уже принятых единиц NAL.
Чтобы сделать возможной устойчивость к ошибкам после приема кода завершения, или если сумма количества принятых байтов для транша равна размеру транша, который может быть получен из значений смещений, предоставленных для содержащихся данных транша, например, из данных, касающихся соответствующего подпотока WPP или тайла, частью которых является рассматриваемый транш.
Важным требованием к подпотокам WPP, расположенным в перемеженных траншах с малой задержкой, является то, что посредством транша n+1 выполняется обращение только к данным из транша n, которые уже предоставлены в транше n и уже сохранены или доступны в декодере.
Синтаксис RBSP уровня слайса с малой задержкой для переупорядочения/деперемежения на уровне слайса может быть разработан следующим образом. В частности, синтаксис в данном случае должен иметь почти такое же поведение, что и на уровне единиц NAL, но переупорядочение должно определяться на уровне слайса. Фиг. 8 изображает синтаксис RBSP уровня слайса с малой задержкой.
В случае использования заголовка слайса для пакетирования перемеженных траншей может быть требование к указанию на уровне кодека, если принимается новый слайс, не сбрасывать состояние CABAC, так как энтропийное кодирование траншей, например, подпотока WPP, не должно прерываться. Не сбрасывать CABAC в слайсе указывается как «no_cabac_reset_flag» в заголовке слайса. Показанный заголовок слайса подходит для слайсов с малой задержкой, таким образом, также должны присутствовать признаки entropy_slice (энтропийный слайс). Соответствующий синтаксис заголовка слайса показан на фиг. 9.
Транспортный уровень делает возможной оптимизацию планирования данных, направляемых на блок(-и) декодера, основываясь на факте, может ли быть обработано количество подпотоков/тайлов/траншей (на транспортном уровне изобретатели предполагают абстрактный объект, который может быть представлен подпотоком, тайлом, частью подпотока или тайла, или частью битового потока, который имеет подобную функцию, т.е. он делает возможным параллельное декодирование или постепенное обновление декодера) на уровне кодирования независимо друг от друга. Одной возможностью является начало посылки траншей параллельно нескольким блокам декодирования с минимальной задержкой. Битовый поток состоит из последовательности единиц NAL, которые являются наименьшими элементами, которые могут быть обработаны индивидуально на транспортном уровне. Следовательно, следующие способы обработки на транспортном уровне основываются на подпотоках/тайлах/траншах, которые содержатся в отдельном слайсе или единицах NAL энтропийного слайса.
Транспортный уровень также должен оптимизировать рабочие характеристики декодера и устойчивость к ошибкам, основываясь на факте, использует ли уровень кодирования постепенное обновление декодера. Одним вариантом является отбрасывание неподходящих частей битового потока, если предыдущие части битового потока не были приняты правильно, например, из-за ошибок передачи, или совсем не были приняты, например, из-за переключения между транспортными каналами.
Чтобы учитывать такое использование/оптимизацию, разная информация сигнализируется по транспортному уровню.
Общая дополнительная информация сигнализируется с использованием дескритпоров:
- количество подпотоков/тайлов, где «1» означает, что имеется только один поток/тайл, который содержит весь кадр видео;
- информация, общая для всех подпотоков/тайлов, например, если все подпотоки/тайлы имеют одинаковый размер, или являются одинаковыми требования к буферу;
- индивидуальная информация о каждом подпотоке/тайле, например, если подпотоки/тайлы имеют разные размеры, или различаются их требования к буферу;
- количество этапов постепенного обновления декодера, где «1» означает, что не используется постепенное обновление декодера;
- флаг, указывающий, учитывают ли эти подпотоки/тайлы параллельную обработку с малой задержкой.
Если количество подпотоков/тайлов>1, элементы синтаксиса вставляются в поток перед каждым блоком данных, который содержит некоторый подпоток/тайл. Эти элементы синтаксиса придерживаются синтаксиса единиц NAL, но используют уникальный тип единицы NAL, который не используется уровнем кодирования (например, nal_unit_type=0x19 или nal_unit_type=0x1F), ниже упоминаемый как маркеры подпотока.
Эти элементы синтаксиса используются в качестве маркеров и переносят информацию о блоке данных, который следует за по меньшей мере полем данных, которое идентифицирует подпоток/тайл.
Если количество этапов постепенного обновления декодера >1, эти элементы синтаксиса также переносят флаг, который указывает, имеет ли подпоток/тайл с внутренним кодированием (делает возможным постепенное обновление декодера).
Соответствующий синтаксис показан на фиг. 10. Могут применяться следующие ограничения:
forbidden_zero_bit должен быть равен 0.
nal_ref_flag должен быть равен 0.
nal_unit_type должен быть равен 0x19.
substream_ID: значение счетчика, начинающееся с 0 для первого слайса, которое принадлежит изображению, увеличиваемое на 1 каждым следующим слайсом или энтропийным слайсом, который принадлежит этому же изображению.
is_intra: если равен «1», следующая единица NAL содержит слайс с внутренним кодированием или энтропийный слайс с внутренним кодированием.
Способ инкапсуляции видеопотока при транспортном мультиплексировании показан на фиг. 11, где каждый слайс или энтропийный слайс транспортируется отдельно в целочисленном количестве пакетов транспортного потока. Если размер полезных данных не точно соответствует доступным байтам в пакетах транспортного потока (TS) фиксированного размера, последний пакет TS содержит поле адаптации.
Необходимо отметить, что подобное поведение элементарного потока транспортного потока MPEG-2 также может обеспечиваться сеансом RTP или потоком RTP транспортного протокола реального времени, как показано на фиг. 19. В RTP [8] поток RTP (идентифицированный типом мультимедиа и типом полезных данных, как указано в SDP [12]) может содержаться в своем собственном сеансе RTP, где сеанс RTP идентифицируется сетевым адресом (IP (протокола Интернета)), портом (протокола передачи дейтаграмм пользователя (UDP)), а также идентификатором источника (SSRC). Мультимедийный сеанс, как указывается в SDP, может содержать многочисленные сеансы RTP, причем каждый содержит разный тип мультимедиа. Но также возможно транспортировать один и тот же поток мультимедиа (например, видео) в разных потоках RTP, где потоки RTP могут содержаться в одном и том же сеансе RTP (аналогично 1 ниже) или могут содержаться в своих собственных сеансах RTP (аналогично 2 ниже). Фиг. 19 иллюстрирует случай 2.
Форматы полезных данных RTP [9] [13] имеют номер порядка декодирования (DON), который позволяет восстанавливать порядок декодирования единиц NAL в приемнике в случае, когда они намеренно передаются вне порядка декодирования с целью устойчивости к ошибкам, как описано в [9] [13]. Дополнительные маркеры MKR, поэтому, не являются необходимыми. В случае транспортировки траншей подпотоков WPP или тайлов в порядке, в котором они становятся доступными из процессов кодирования, DON также может использоваться для восстановления порядка декодирования траншей перед предоставлением их единственному декодеру. Но в этом случае дополнительная задержка вводится в декодере из-за отдельного процесса деперемежения перед процессом декодирования. Описанная здесь система может предоставлять кодированные транши непосредственно процессам декодирования разных подпотоков WPP или тайлов, в то время как данные поступают в приемник. Идентификация траншей, ассоциированных с подпотоком WPP или тайлом, может извлекаться посредством адреса слайса в заголовке сегмента слайса и порядка передачи пакетов, как указывается номером последовательности RTP в заголовке RTP. При таком сценарии DON используется только для обратной совместимости, т.е. для декодеров, не обеспечивающих улучшенную возможность декодирования траншей подпотоков WPP или тайлов, посылаемых вне порядка декодирования, когда они поступают. Посылка данных транша вне порядка декодирования как раз применяется в отношении уровня подпотоков WPP и тайлов, т.е. в передаваемых данных, причем транши единственного подпотока WPP или тайла передаются в порядке декодирования, где перемежаются данные разных подпотоков WPP или тайлов.
Существует два возможных варианта:
1. Все слайсы и энтропийные слайсы содержатся в одном и том же элементарном потоке, т.е. один и тот же PID (идентификатор пакета) назначается всем пакетам TS этого видеопотока; в последующем тексте этот способ ссылается на инкапсуляцию единственного ES.
2. Разные PID назначаются слайсам и энтропийным слайсам одного и того же битового потока видео; в нижеследующем тексте этот способ ссылается на инкапсуляцию многочисленных ES.
Фиг. 11 действительна для обоих вариантов, если первый вариант рассматривается как специальный случай более общей структуры посредством установки одного и того же PID для всех ES.
Более эффективный способ инкапсуляции в единственном ES показан на фиг. 12. В данном случае требуется максимум одно поле адаптации на изображение.
Более эффективный способ инкапсуляции в многочисленных ES показан на фиг. 13. В данном случае исключаются поля адаптации, вместо этого другой слайс, например совместный тайл следующего изображения, начинается непосредственно в этом же пакете транспортного потока.
Возможная конструкция транспортного демультиплексора для инкапсуляции с одним единственным элементарным потоком (ES), целью которой является многопоточный декодер, показана на фиг. 14. Энтропийный слайс на фигуре может содержать данные конкретного подпотока WPP или тайла.
Транспортный буфер (TB) собирает данные, которые принадлежат транспортному пакету, и направляют их мультиплексному буферу (MB). На выходе MB заголовки единиц NAL оцениваются, и отбрасываются маркеры подпотока, в то же время сохраняются данные, переносимые в маркере подпотока. Данные каждого слайса или энтропийного слайса сохраняются в отдельном буфере слайсов (SB), из которого они извлекаются многопоточным декодером, если доступен поток декодера.
Возможная конструкция транспортного демультиплексора для инкапсуляции многочисленных элементарных потоков, целью которой является многопоточный декодер, показана на фиг. 15.
Вышеприведенные кратко изложенные принципы снова описываются ниже другими словами. Описание ниже, поэтому, является индивидуально объединяемым с дополнительными подробностями вышеупомянутого описания.
Фиг. 16 изображает общую конструкцию кодера согласно варианту осуществления настоящей заявки. Кодер 10 может быть реализован с возможностью работы в многопоточном режиме или нет, т.е. просто с единственным потоком. Т.е. кодер 10, например, может быть реализован с использованием многочисленных ядер CPU. Другими словами, кодер 10 может поддерживать параллельную обработку, но не должен. Принцип кодирования настоящей заявки позволяет кодерам параллельной обработки эффективно применять параллельную обработку, однако, без опасности ухудшения эффективности сжатия. Что касается возможности параллельной обработки, подобные утверждения действительны для декодера, который описан ниже в отношении фиг. 17.
Кодер 10 представляет собой видеокодер, но вообще кодер 10 также может представлять собой кодер изображения. Изображение 12 видео 14 показано как поступающее в кодер 10 на входе 16.
Кодер 10 представляет собой гибридный кодер, т.е. изображение 12 предсказывается в предсказателе 18 и остаток 20 предсказания, получаемый определителем 22 остатка, таким как вычитатель, подвергается преобразованию, такому как спектральное разложение, такому как дискретное косинусное преобразование (DCT), и квантованию в модуле 24 преобразования/квантования. Квантованный остаток 26, полученный таким образом, подвергается энтропийному кодированию в энтропийном кодере 28, а именно контекстно-адаптивному двоичному арифметическому кодированию. Восстанавливаемая версия остатка, доступная для декодера, т.е. деквантованный и повторно преобразованный сигнал 30 остатка, восстанавливается модулем 31 повторного преобразования и повторного квантования и объединяется с сигналом 32 предсказания предсказателя 18 посредством объединителя 33, таким образом приводя к восстановлению 34 изображения 12. Однако кодер 10 работает на блочной основе. Следовательно, восстановленный сигнал 34 имеет разрывность на границах блока, и, следовательно, фильтр 36 может применяться к восстановленному сигналу 34, чтобы получить опорное изображение 38, на основе которого предсказатель 18 предсказывает последовательно кодированные изображения. Как показано пунктирными линиями на фиг. 16, предсказатель 18 может, однако, также использовать восстановленный сигнал 34 непосредственно без фильтра 36 или промежуточную версию. В случае кодирования изображения фильтр 36 может быть исключен.
Предсказатель 18 может выбирать из числа разных режимов предсказания, чтобы предсказывать некоторые блоки изображения 12. Может быть режим временного предсказания, согласно которому блок предсказывается на основе ранее кодированных изображений, режим пространственного предсказания, согласно которому блок предсказывается на основе ранее кодированных блоков этого же изображения, режимы межуровневого предсказания, согласно которым блок изображения, изображающего сцену на более высоком уровне, таком как при более высоком пространственном разрешении или с другой точки обзора, предсказывается на основе соответствующего изображения, изображающего эту сцену на более низком уровне, таком как при более низком пространственном разрешении или с другой точки обзора.
Некоторый синтаксис используется для сбора квантованных данных 26 остатка, т.е. уровни коэффициентов преобразования и другие данные остатка, а также данные режима кодирования, включающие в себя, например, режимы предсказания и параметры предсказания для индивидуальных блоков изображения 12, определенного предсказателем 18, и эти элементы синтаксиса подвергаются энтропийному кодированию энтропийным кодером 28. Полученный таким образом поток данных, выводимый энтропийным кодером 28, называется полезной нагрузкой 40 последовательности необработанных байтов.
Элементы кодера 10 на фиг. 16 соединены между собой так, как показано на фиг. 16.
Фиг. 17 изображает декодер, который соответствует кодеру на фиг. 16, т.е. способен декодировать полезную нагрузку последовательности необработанных байтов. Декодер на фиг. 17 в целом обозначен ссылочной позицией 50 и содержит энтропийный декодер 52, модуль 54 повторного преобразования/деквантования, объединитель 56, фильтр 58 и предсказатель 60. Энтропийный декодер 42 принимает полезную нагрузку 40 последовательности необработанных байтов и выполняет энтропийное декодирование, используя контекстно-адаптивное двоичное арифметическое декодирование для восстановления сигнала 62 остатка и параметров 64 кодирования. Модуль 54 повторного преобразования/деквантования деквантует и повторно преобразует данные 62 остатка и направляет полученный таким образом сигнал остатка на объединитель 56. Объединитель 56 также принимает сигнал 66 предсказания от предсказателя 60, который, в свою очередь, формирует сигнал 66 предсказания, используя параметры 64 кодирования, на основе восстановленного сигнала 68, определенного объединителем 56 посредством объединения сигнала 66 предсказания и сигнала 65 остатка. Как уже описано выше в отношении фиг. 16, предсказатель 60 может альтернативно или дополнительно использовать фильтрованную версию восстановленного сигнала 68 или некоторую ее промежуточную версию. Изображение, подлежащее окончательному воспроизведению и выводу на выходе 70 декодера 50, может подобно определяться по нефильтрованной версии сигнала 68 объединения или по некоторой ее фильтрованной версии.
Согласно принципу тайлов изображение 12 подразделяется на тайлы, и по меньшей мере предсказания блоков в этих тайлах ограничены на использование, как основы для пространственного предсказания, только данных, относящихся к этому же тайлу. Посредством этой меры по меньшей мере предсказание может выполняться для каждого тайла индивидуально и параллельно. Только для целей иллюстрации фиг. 16 иллюстрирует изображение 12, разделенное на девять тайлов. Подразделение каждого тайла на девять блоков, как показано на фиг. 16, также служит только в качестве примера. Кроме того, ради завершенности отмечается, что способ кодирования тайлов отдельно может не ограничиваться пространственным предсказанием (внутренним предсказанием). Скорее, любое предсказание параметров кодирования соответствующего тайла по границам тайла и любая зависимость выбора контекста при энтропийном кодировании соответствующего тайла по границам соответствующего тайла также может предотвращаться, чтобы ограничиваться зависимостью только от данных одного и того же тайла. Таким образом, декодер способен выполнять только что упомянутые операции параллельно, а именно в единицах тайлов.
Чтобы передаваться по некоторому каналу передачи, элементы синтаксиса должны энтропийно кодироваться по слайсам посредством энтропийного кодера 28. С этой целью энтропийный кодер 28 сканирует блоки тайлов прохождением блоков сначала первого тайла, затем продолжая с блоками следующего тайла в порядке тайлов и т.п. Порядок растрового сканирования, например, может использоваться для сканирования блоков в тайлах и тайлов соответственно. Слайсы затем упаковываются в единицы NAL, которые представляют собой наименьшие единицы для передачи. Перед энтропийным кодированием слайса энтропийный кодер 28 инициализирует свои вероятности CABAC, т.е. вероятности, используемые для арифметического кодирования элемента синтаксиса этого слайса. Энтропийный декодер 52 выполняет тоже самое, т.е. инициализирует свои вероятности в начале слайса. Каждая инициализация, однако, отрицательно влияет на эффективность энтропийного кодирования, так как вероятности непрерывно адаптируются к фактической статистике вероятности символа различных контекстов и, следовательно, сброс вероятностей CABAC представляет отклонение от адаптированного состояния. Как известно для специалиста в данной области техники, энтропийное кодирование приводит к оптимальному сжатию только тогда, когда вероятности соответствуют фактической статистике вероятности символа.
Следовательно, декодер, согласно варианту осуществления настоящей заявки, работает так, как показано на фиг. 18. На этапе 80 декодер принимает полезную нагрузку последовательности необработанных байтов, описывающую изображение 12 в тайлах 82, в траншах тайлов. На фиг. 18 первый тайл 82 в порядке 84 тайлов показан в виде примера рассеченным или разделенным на два транша 86a и 86b, причем каждый в качестве примера охватывает подпоследовательность последовательности блоков в этом тайле. Затем на этапе 82 энтропийно декодируются транши 86a и 86b. Однако при энтропийном декодировании траншей 86a и 86b продолжается адаптация вероятностей CABAC по границам траншей. Т.е. во время декодирования транша 86a вероятности CABAC непрерывно адаптируются к фактическим статистикам символа, и состояние в конце энтропийного декодирования транша 86a адаптируется в начале энтропийного декодирования транша 86b. На этапе 90 полезная нагрузка последовательности необработанных байтов, энтропийно декодированная таким образом, декодируется для получения изображения 12.
Из-за продолжения адаптации вероятности CABAC по границам 92 траншей, расположенным внутри транша 82, эти границы траншей не оказывают отрицательного влияния на эффективность энтропийного кодирования вне подразделения изображения 12 на тайлы 82. С другой стороны, все же возможна параллельная обработка тайлов. Кроме этого возможна индивидуальная передача траншей, и, так как транши меньше завершенных тайлов 82, возможно начинать на этапе 90 декодирование каждого тайла, как только первый транш соответствующего тайла будет принят и энтропийно декодирован.
Описание фиг. 16-18 касается, главным образом, использования тайлов. Как описано выше, тайлы являются результатом пространственного разделения изображения. Подобно тайлам, слайсы также пространственно подразделяют изображение. Слайсы, следовательно, также представляют собой средство для предоставления возможности параллельного кодирования/декодирования. Подобно тайлам, предсказание и т.п. запрещается, так что слайсы являются индивидуально декодируемыми. Следовательно, описание фиг. 16-18 также действительно для разделения слайсов на транши.
Это же применимо при использовании подпотоков WPP. Подпотоки WPP также представляют пространственное разделение изображения 12, а именно на подпотоки WPP. В противоположность тайлам и слайсам, подпотоки WPP не накладывают ограничения на предсказания и выборы контакта по подпотокам WPP. Подпотоки WPP проходят по строкам блока, таким как строки LCU, как показано на фиг. 4, и, чтобы сделать возможной параллельную обработку, выполняется только один компромисс в отношении энтропийного кодирования CABAC, чтобы, как определяется среди подпотоков WPP (см. фиг. 4) 92 и для каждого подпотока 92 WPP, за исключением первого подпотока WPP, вероятности CABAC не полностью сбрасываются, но принимаются, или устанавливаются равными, вероятностям CABAC, появляющимся после энтропийного декодирования непосредственно предшествующего подпотока WPP до его второго LCU 94, причем порядок LCU начинается для каждого подпотока WPP на одной и той же стороне изображения 12, такой как левой стороне, как показано на фиг. 4. Следовательно, соответствуя некоторой задержке кодирования между последовательностью подпотока WPP, эти подпотоки 92 WPP являются декодируемыми параллельно, так что части, в которых изображение 12 декодируется параллельно, т.е. одновременно, формируют некоторый вид фронта 96 волны, который перемещается по изображению наклонным образом слева направо.
Т.е. при переносе описания фиг. 16-18 на подпотоки WPP, любой подпоток 92 WPP (фиг. 4) также может подразделяться на транши 98a и 98b без прерывания адаптации вероятностей CABAC на границе 100 между этими траншами 98a и 98b внутри соответствующего подпотока 92 WPP, тем самым устраняя проблемы в отношении эффективности энтропийного кодирования из-за индивидуальной возможности передачи обоих траншей 98a и 98b, но сохраняя возможность использования волновой параллельной обработки и делая возможным начать эту волновую параллельную обработку раньше, так как транши меньше завершенных подпотоков 92 WPP.
Как описано выше в отношении фиг. 1-15, существует несколько возможностей для передачи траншей, пакетированных в единицы NAL. Ссылка делается на фиг. 3, где тайлы или подпотоки или слайсы таких траншей или подпотоков были разделены на транши в арифметически кодированной области, причем заголовок предшествует n-ому траншу каждого подпотока или тайла и представляет информацию, позволяющую выполнять локализацию границ траншей. Другим вариантом осуществления был вариант осуществления, представленный на фиг. 9. На нем подразделение тайлов или подпотоков WPP в транши было выполнено посредством незначительного изменения структуры слайса: слайсы, начинающиеся на границе тайла или подпотока WPP, т.е. начинающиеся в начале тайла или подпотока WPP, имеют no_cabac_reset_flag (флаг отсутствия сброса CABAC), установленный в ноль, тем самым вызывая обычную инициализацию/сброс вероятностей CABAC. Слайсы, однако, переносящие транши, которые начинаются внутри тайла или подпотока WPP, имеют no_cabac_reset_flag, установленный в единицу, тем самым вызывая вышеописанное продолжение адаптации вероятностей CABAC.
Что касается деперемежения, которое происходит на этапе 80 приема, для каждого транша определяется, к какому подпотоку WPP или тайлу принадлежит соответствующий транш. Выше были описаны разные возможности, такие как, например, круговое зацикливание по некоторому количеству подпотоков WPP или тайлов текущего изображения. Альтернативно, в случае использования заголовков слайса для транспортировки траншей, заголовки слайса могут содержать указание, делающее возможным локализацию начала соответствующего слайса в текущем изображении 12.
В этом отношении отмечается, что разбиение слайсов, подпотоков WPP или тайлов на транши выполняется в соответствии с порядком декодирования, определенном в каждом слайсе, подпотоке WPP или тайле: т.е. в каждом слайсе, подпотоке WPP или тайле часть изображения, пространственно охватываемая соответствующим слайсом, подпотоком WPP или тайлом, кодируется в, или декодируется из, соответствующего слайса, подпотока WPP или тайла в этом порядке декодирования, и каждый транш соответствующего слайса, подпотока WPP или тайла охватывает непрерывную часть соответствующего слайса, подпотока WPP или тайла в соответствии с этим порядком декодирования. Посредством этого порядок определяется среди траншей, принадлежащих одному и тому же слайсу, подпотоку WPP или тайлу, а именно порядок кодирования/декодирования, и каждый транш имеет ранг в этом порядке. Так как подразделение изображения на подпотоки WPP или тайлы сигнализируется декодеру, декодер имеет сведения о подразделении. Следовательно, для ассоциирования каждого транша с соответствующим подпотоком WPP или тайлом, например, будет достаточным, если каждый транш имеет начальный адрес, идентифицирующий начальную позицию, с которой соответствующий транш непрерывно охватывает изображение, используя порядок кодирования/декодирования тайлов/подпотоков WPP, частью которого является соответствующий транш. Даже если порядок среди траншей, которые принадлежат некоторому тайлу или подпотоку WPP, например, может быть восстановлен на транспортном демультиплексоре или декодером, используя начальные позиции. Однако для обращения также может использоваться информация о заголовках транспортного пакета более низких уровней взаимодействия открытых систем (OSI), как описано выше в отношении передачи RTP, такая как номер порядка декодирования, т.е. DON. Транспортный демультиплексор только что упомянутого типа может быть выполнен аналогично вышеописанному транспортному демультиплексору, чтобы хранить данные траншей одинакового подпотока WPP или тайла в одном буфере слайсов, и данные траншей подпотоков WPP или тайлов, ассоциированных разных подпотоков WPP или тайлов, в разных буферах слайсов. Как упомянуто выше, структура слайса, т.е. заголовки слайса, могут использоваться для передачи траншей.
Затем ссылка делается на варианты осуществления на фиг. 11-15 для описания их снова другими словами. Как описано на этих фигурах, слайсы Si пакетируются в единицы NAL, причем каждая единица 110 NAL (см. фиг. 11) содержит заголовок 112 единицы NAL. Необходимо отметить, что слайсы Si могут быть нормальными слайсами или слайсами, переносящими транши согласно фиг. 9. Следовательно, эти слайсы переносят исключительно данные, касающиеся одного подпотока WPP или тайла текущего изображения, а именно i-го подпотока WPP или тайла соответственно. Посредством фрагментирования единицы 110 NAL транспортируются посредством пакетов 114 транспортного потока (TS), а именно их секции 116 полезных данных. Выполняя так, каждой единице 110 NAL и соответствующему слайсу Si предшествует соответствующий маркер MKR подпотока, указывающий i, т.е. подпоток WPP или тайл, к которому принадлежит непосредственно следующий за ним слайс непосредственно следующей единицы 110 NAL.
Единицы 110 NAL, переносящие слайсы, принадлежащие разным подпотокам WPP или тайлам, могут распределяться по более, чем одному элементарному потоку ES или по одному и тому же элементарному потоку, как описано на фиг. 11-13. Как упомянуто выше, «элементарный поток» также может идентифицировать отдельный поток RTP в его собственном сеансе RTP.
Как объяснено в отношении фиг. 14 и 15, транспортный демультиплексор может содержать мультиплексный буфер MB, буфер SB слайсов и транспортный буфер TB. Из буферов SB слайсов извлекает данные многопоточный декодер MTD, который делает возможным параллельное декодирование изображения в подпотоках WPP или тайлах. Транспортный буфер TB выполнен с возможностью сбора данных, принадлежащих пакету TS предопределенного элементарного потока битового потока видео, и направления данных в мультиплексный буфер MB. Транспортный демультиплексор тогда выполняется с возможностью оценки заголовков единицы NAL единиц NAL последовательности единиц NAL, пакетированной в пакеты TS на выходе мультиплексного буфера MB, отбрасывания единиц MKR NAL маркера подпотока с сохранением данных маркера подпотока, переносимых в единицах NAL маркера подпотока, и хранения данных слайсов подпотоков или тайлов в единицах NAL, следующих за единицами NAL маркера подпотока, поле данных которых идентифицирует одинаковый подпоток WPP или тайл в одном, т.е. в одном и том же, буфере SB слайсов, и данных слайсов подпотоков WPP или тайлов в единицах NAL, следующих за единицами NAL маркера подпотока, поле данных которых идентифицирует разные подпотоки WPP или тайлы в разных буферах SB слайсов. Как показано на фиг. 15, транспортный демультиплексор может содержать демультиплексор, называемый демультиплексором TS (TS demux) на фиг. 15 и выполненный с возможностью приема битового потока видео и разделения пакетов TS битового потока видео на разные элементарные потоки, т.е. распределения пакета TS битового потока видео разным элементарным потокам. Демультиплексор выполняет это разделение или распределение согласно PID, содержащимся в заголовках TS пакета TS, так что каждый элементарный поток состоит из пакетов TS PAD, отличных от PAD пакетов TS других элементарных потоков.
Т.е., если слайсы соответствуют траншам в смысле варианта осуществления на фиг. 9, MTD, т.е. многопоточный декодер, способен начинать обработку более чем одного подпотока WPP или тайла текущего изображения, как только соответствующий буфер SB слайсов соответствующего подпотока WPP или тайла будет иметь данные, содержащиеся в нем, тем самым уменьшая задержку.
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента или признака соответствующего устройства. Некоторые или все этапы способа могут исполняться посредством (или используя) аппаратного устройства, подобного, например, микропроцессору, программируемому компьютеру или электронной схеме. В некоторых вариантах осуществления некоторый один или несколько из наиболее важных этапов способа могут исполняться таким устройством.
Обладающий признаками изобретения кодированный битовый поток может сохраняться на цифровой запоминающей среде или может передаваться по среде передачи, такой как беспроводная среда передачи или проводная среда передачи, такая как Интернет.
Эти вышеупомянутые усовершенствования, таким образом, между прочим, описывают способы инкапсуляции с малой задержкой и передачи структурированных видеоданных, обеспечиваемых новым стандартом кодирования HEVC, таких как структурированные в тайлах, подпотоках волновой параллельной обработки (WPP), слайсах или энтропийных слайсах. Между прочим, были представлены методы, которые делают возможным транспортировку с малой задержкой в распараллеленной среде кодера-передатчика-приемника-декодера посредством перемеженной транспортировки энтропийных слайсов/слайсов/тайлов/подпотоков. Чтобы решить проблемы узкого места, кратко изложенные в вводной части описания изобретения, и минимизировать задержку передачи и время декодирования, т.е. сквозную задержку, был представлен, между прочим, метод для схемы перемеженных энтропийных слайсов для параллельной передачи и обработки.
В зависимости от некоторых требований к реализации варианты осуществления изобретения могут быть реализованы аппаратными или программными средствами. Реализация может выполняться с использованием цифровой запоминающей среды, например, дискеты, цифрового многофункционального диска (DVD), диска Blu-Ray, компакт-диска (CD), постоянного запоминающего устройства (ROM), программируемого ROM (PROM), стираемого программируемого ROM (EPROM), электрически-стираемого программируемого ROM (EEPROM) или флэш-памяти, имеющей хранимые на ней сигналы управления, считываемые электронным образом, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, так что выполняется соответствующий способ. Поэтому, цифровая запоминающая среда может быть считываемой компьютером.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий сигналы управления, считываемые электронным образом, которые способны взаимодействовать с программируемой компьютерной системой, так что выполняется один из способов, описанных в данном документе.
Обычно варианты осуществления настоящего изобретения могут быть реализованы в виде продукта компьютерной программы с программным кодом, причем программный код действует для выполнения одного из способов, когда продукт компьютерной программы выполняется на компьютере. Программный код, например, может храниться на машиносчитываемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в данном документе, хранимую на машиносчитываемом носителе.
Другими словами, вариант осуществления обладающими признаками изобретения способа, поэтому, представляет собой компьютерную программу, имеющую программный код для выполнения одного из способов, описанных в данном документе, когда компьютерная программа выполняется на компьютере.
Другой вариант осуществления обладающих признаками изобретения способов, поэтому, представляет собой носитель данных (или цифровую запоминающую среду или считываемую компьютером среду), содержащий записанную на ней компьютерную программу для выполнения одного из способов, описанных в данном документе. Носитель данных, цифровая запоминающая среда или записанная среда обычно являются материальными и/или долговременными.
Другой вариант осуществления обладающими признаками изобретения способа, поэтому, представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для выполнения одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью пересылки по соединению передачи данных, например, посредством Интернета.
Другой вариант осуществления содержит средство обработки, например, компьютер, или программируемое логическое устройство, выполненное или адаптированное для выполнения одного из способов, описанных в данном документе.
Другой вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных в данном документе.
Другой вариант осуществления согласно изобретению содержит устройство или систему, выполненную с возможностью пересылки (например, электронным или оптическим образом) на приемник компьютерной программы для выполнения одного из способов, описанных в данном документе. Приемником, например, может быть компьютер, мобильное устройство, устройство памяти или т.п. Устройство или система, например, могут содержать файловый сервер для пересылки компьютерной программы на приемник.
В некоторых вариантах осуществления программируемое логическое устройство (например, программируемая вентильная матрица) может использоваться для выполнения некоторых или всех функциональных возможностей способов, описанных в данном документе. В некоторых вариантах осуществления программируемая вентильная матрица может взаимодействовать с микропроцессором, чтобы выполнять один из способов, описанных в данном документе. Как правило, способы предпочтительно выполняются любым аппаратным устройством.
Вышеописанные варианты осуществления являются просто иллюстративными для принципов настоящего изобретения. Понятно, что модификации и изменения устройства и деталей, описанных в данном документе, очевидны для специалиста в данной области техники. Намерением, поэтому, является ограничение только объемом рассматриваемой формулы изобретения и не конкретными подробностями, представленными описанием и объяснением вариантов осуществления в данном документе.
ССЫЛОЧНАЯ ЛИТЕРАТУРА
Claims (34)
1. Декодер, выполненный с возможностью
приема полезных данных последовательности необработанных байтов, описывающей изображение подпотоками WPP с одним подпотоком WPP на LCU-строку изображения и кодированной с использованием САВАС, от кодера в траншах, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей;
энтропийного декодирования траншей с продолжением адаптации вероятностей САВАС через границы траншей, введенные в подпотоки WPP; и
декодирования полезных данных последовательности необработанных байтов для получения изображения.
2. Декодер по п. 1, в котором транши пакетируются с использованием заголовков слайса, и декодер выполнен с возможностью, при приеме траншей, реагирования после приема нового слайса, на флаг в заголовке слайса нового слайса, slice_type нового слайса или тип единицы NAL единицы NAL, содержащей новый слайс, чтобы или прерывать адаптацию вероятностей САВАС посредством сброса вероятностей САВАС, или продолжать адаптацию вероятностей САВАС.
3. Декодер по п. 1, в котором декодер выполнен с возможностью, при приеме траншей, деперемежения траншей посредством идентификации, для каждого транша, к какому подпотоку WPP принадлежит соответствующий транш.
4. Декодер по п. 1, в котором транши пакетируются в пакеты таким образом, что каждый пакет содержит один транш из каждого подпотока WPP изображения, или поднабора подпотоков WPP изображения, расположенных в порядке, заданном среди подпотоков WPP, причем каждый пакет содержит заголовок, содержащий выявление позиций и/или длительностей траншей, пакетированных в соответствующий пакет, или маркеры, разделяющие транши в соответствующем пакете друг от друга, при этом декодер выполнен с возможностью, при приеме полезных данных последовательности необработанных байтов, использования информации, содержащейся в заголовках или маркерах, для доступа к траншам в пакетах.
5. Декодер по п. 4, в котором пакеты, содержащие первые - в соответствии с порядком, заданным среди подпотоков WPP или тайлов - транши подпотоков WPP или тайлов изображения, содержат индикатор признака малой задержки, и пакеты, содержащие вторые или последующие - в соответствии с порядком, заданным среди подпотоков WPP или тайлов - транши подпотоков WPP или тайлов изображения, содержат индикатор продолжения.
6. Декодер по п. 4, в котором пакеты представляют собой единицы NAL или слайсы.
7. Декодер, выполненный с возможностью
приема полезных данных последовательности необработанных байтов, описывающей изображение подпотоками WPP и кодированной с использованием САВАС, от кодера в траншах, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей;
энтропийного декодирования траншей с продолжением адаптации вероятностей САВАС через границы траншей, введенные в подпотоки WPP, посредством применения в начале энтропийного декодирования одного транша подпотока WPP вероятностей САВАС в конце энтропийного декодирования другого транша подпотока WPP; и
декодирования полезных данных последовательности необработанных байтов для получения изображения.
8. Декодер по п. 1, причем полезные данные последовательности необработанных байтов закодировали сцену в слоях, соответствующих разным точкам обзора.
9. Декодер по п. 1, причем полезные данные последовательности необработанных байтов закодированы в изображение в слоях.
10. Кодер, выполненный с возможностью
формирования, посредством кодирования изображения, полезных данных последовательности необработанных байтов для описания изображения подпотоками WPP с одним подпотоком WPP на LCU-строку изображения с энтропийным кодированием последовательности необработанных байтов, используя САВАС, передачи последовательности необработанных байтов в траншах, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей, и продолжения адаптации вероятностей САВАС при энтропийном кодировании через границы траншей, введенные в подпотоки WPP.
11. Кодер по п. 8, в котором кодер выполнен с возможностью формирования последовательности необработанных байтов, так что транши соответствуют максимальному размеру единицы пересылки.
12. Кодер по п. 10, причем полезные данные последовательности необработанных байтов закодировали сцену в слоях, соответствующих разным точкам обзора.
13. Кодер по п. 10, причем полезные данные последовательности необработанных байтов закодированы в изображение в слоях.
14. Носитель цифровых данных, хранящий битовый поток видео, содержащий полезные данные последовательности необработанных байтов, описывающие изображение подпотоками WPP с одним подпотоком WPP на LCU-строку изображения и кодированную с использованием САВАС, причем битовый поток видео разбивается на транши подпотоков WPP, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей, с продолжением адаптации вероятностей САВАС через границы траншей, введенные в подпотоки WPP, при этом каждый транш включает в себя явное указание своего ранга среди траншей, на которые последовательно разбивается подпоток WPP, к которому принадлежит соответствующий транш.
15. Носитель цифровых данных по п. 14, в котором транши пакетируются в пакеты таким образом, что каждый пакет содержит один транш каждого подпотока WPP или тайла изображения, или поднабора подпотоков WPP или тайлов изображения, расположенных в порядке, заданном среди подпотоков WPP или тайлов, причем каждый пакет содержит заголовок, содержащий выявление позиций и/или длительностей траншей, упакованных в соответствующий пакет, или маркеры, разделяющие транши в соответствующем пакете друг от друга.
16. Носитель цифровых данных по п. 14, в котором пакеты, содержащие первые - в соответствии с порядком, заданным среди подпотоков WPP или тайлов - транши подпотоков WPP или тайлов изображения, содержат индикатор признака малой задержки, и пакеты, содержащие вторые или последующие - в соответствии с порядком, заданным среди подпотоков WPP или тайлов - транши подпотоков WPP или тайлов изображения, содержат индикатор продолжения.
17. Носитель цифровых данных по п. 10, в котором пакеты представляют собой единицы NAL или слайсы.
18. Носитель цифровых данных по п. 14, причем полезные данные последовательности необработанных байтов закодировали сцену в слоях, соответствующих разным точкам обзора.
19. Носитель цифровых данных по п. 14, причем полезные данные последовательности необработанных байтов закодированы в изображение в слоях.
20. Способ декодирования, содержащий
прием полезных данных последовательности необработанных байтов, описывающей изображение подпотоками WPP с одним подпотоком WPP на LCU-строку изображения и кодированной с использованием САВАС, от кодера в траншах подпотоков WPP, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей;
энтропийное декодирование траншей с продолжением адаптации вероятностей САВАС через границы траншей, введенные в подпотоки WPP; и
декодирование полезных данных последовательности необработанных байтов для получения изображения.
21. Способ транспортного демультиплексирования, содержащий прием битового потока видео, содержащего полезную нагрузку последовательности необработанных байтов, описывающую изображение подпотоками WPP с одним подпотоком WPP на LCU-строку изображения и кодированную с использованием САВАС, причем битовый поток видео разбивается на транши подпотоков WPP, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей, с продолжением адаптации вероятностей САВАС через границы траншей, введенные в подпотоки WPP, при этом каждый транш содержит информацию, идентифицирующую, для каждого транша, к какому подпотоку WPP или тайлу принадлежит соответствующий транш, и ассоциирование траншей со слайсами, подпотоками WPP или тайлами, используя упомянутую информацию.
22. Способ кодирования, содержащий
формирование, посредством кодирования изображения, полезных данных последовательности необработанных байтов для описания изображения подпотоками WPP с одним подпотоком WPP на LCU-строку изображения с энтропийным кодированием последовательности необработанных байтов, используя САВАС, передачу последовательности необработанных байтов в траншах, на которые сегментируются подпотоки WPP, посредством чего в них вводятся границы траншей, и продолжение адаптации вероятностей САВАС при энтропийном кодировании через границы траншей, введенные в подпотоки WPP.
23. Машиночитаемый носитель, содержащий компьютерную программу, имеющую программный код для выполнения, при исполнении на компьютере, способа по любому из пп. 20-22.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261588849P | 2012-01-20 | 2012-01-20 | |
US61/588,849 | 2012-01-20 | ||
PCT/EP2013/051043 WO2013107906A2 (en) | 2012-01-20 | 2013-01-21 | Coding concept allowing parallel processing, transport demultiplexer and video bitstream |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017103637A Division RU2679551C2 (ru) | 2012-01-20 | 2013-01-21 | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014134041A RU2014134041A (ru) | 2016-03-20 |
RU2610291C2 true RU2610291C2 (ru) | 2017-02-08 |
Family
ID=47594765
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017103637A RU2679551C2 (ru) | 2012-01-20 | 2013-01-21 | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео |
RU2014134041A RU2610291C2 (ru) | 2012-01-20 | 2013-01-21 | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017103637A RU2679551C2 (ru) | 2012-01-20 | 2013-01-21 | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео |
Country Status (23)
Country | Link |
---|---|
US (7) | US9930368B2 (ru) |
EP (2) | EP2805491B1 (ru) |
JP (5) | JP2015507899A (ru) |
KR (11) | KR102365958B1 (ru) |
CN (5) | CN109729350B (ru) |
AU (7) | AU2013211002B2 (ru) |
BR (2) | BR112014017915B1 (ru) |
CA (2) | CA3081964A1 (ru) |
CL (1) | CL2014001886A1 (ru) |
ES (1) | ES2886119T3 (ru) |
HK (1) | HK1204182A1 (ru) |
HU (1) | HUE055964T2 (ru) |
IL (8) | IL298776B1 (ru) |
IN (1) | IN2014KN01699A (ru) |
MX (1) | MX350507B (ru) |
MY (1) | MY167465A (ru) |
PH (5) | PH12014501660B1 (ru) |
RU (2) | RU2679551C2 (ru) |
SG (3) | SG10202001107WA (ru) |
TW (5) | TWI559744B (ru) |
UA (2) | UA124569C2 (ru) |
WO (1) | WO2013107906A2 (ru) |
ZA (1) | ZA201406040B (ru) |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2972588A1 (fr) | 2011-03-07 | 2012-09-14 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
FR2977111A1 (fr) * | 2011-06-24 | 2012-12-28 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
TWI559744B (zh) * | 2012-01-20 | 2016-11-21 | Ge影像壓縮有限公司 | 允許平行處理之編碼器、解碼器、傳送解多工器、系統、儲存媒體、方法及電腦程式 |
US9955178B2 (en) | 2012-03-22 | 2018-04-24 | Lg Electronics Inc. | Method for encoding and decoding tiles and wavefront parallel processing and apparatus using same |
US20150117538A1 (en) * | 2012-04-16 | 2015-04-30 | Telefonaktiebolaget L M Ericsson (Publ) | Fixed tile structure flag indicating parallel processing possibility for a sequence of compressed video |
US9621905B2 (en) * | 2012-06-29 | 2017-04-11 | Qualcomm Incorporated | Tiles and wavefront parallel processing |
JP6080405B2 (ja) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
SG11201500612PA (en) | 2012-08-09 | 2015-04-29 | Panasonic Ip Corp America | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
US9491457B2 (en) | 2012-09-28 | 2016-11-08 | Qualcomm Incorporated | Signaling of regions of interest and gradual decoding refresh in video coding |
MY189391A (en) | 2013-01-04 | 2022-02-09 | Samsung Electronics Co Ltd | Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor |
US9924165B1 (en) * | 2013-07-03 | 2018-03-20 | Ambarella, Inc. | Interleaved video coding pipeline |
US9578328B2 (en) * | 2013-07-15 | 2017-02-21 | Qualcomm Incorporated | Cross-layer parallel processing and offset delay parameters for video coding |
KR102067231B1 (ko) | 2013-07-15 | 2020-01-17 | 지이 비디오 컴프레션, 엘엘씨 | 네트워크 장치 및 오류 처리 |
JP6268066B2 (ja) * | 2013-09-20 | 2018-01-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
US9270999B2 (en) | 2013-09-25 | 2016-02-23 | Apple Inc. | Delayed chroma processing in block processing pipelines |
US9305325B2 (en) | 2013-09-25 | 2016-04-05 | Apple Inc. | Neighbor context caching in block processing pipelines |
US9299122B2 (en) | 2013-09-25 | 2016-03-29 | Apple Inc. | Neighbor context processing in block processing pipelines |
US9596470B1 (en) * | 2013-09-27 | 2017-03-14 | Ambarella, Inc. | Tree-coded video compression with coupled pipelines |
US9218639B2 (en) | 2013-09-27 | 2015-12-22 | Apple Inc. | Processing order in block processing pipelines |
US9578372B2 (en) * | 2013-09-27 | 2017-02-21 | Cisco Technology, Inc. | Delay tolerant decoder |
US9215472B2 (en) | 2013-09-27 | 2015-12-15 | Apple Inc. | Parallel hardware and software block processing pipelines |
US9571846B2 (en) | 2013-09-27 | 2017-02-14 | Apple Inc. | Data storage and access in block processing pipelines |
EP3058736B1 (en) | 2013-10-14 | 2019-02-27 | Microsoft Technology Licensing, LLC | Encoder-side options for intra block copy prediction mode for video and image coding |
KR102318785B1 (ko) | 2013-10-14 | 2021-10-27 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징 |
KR102170169B1 (ko) | 2013-10-14 | 2020-10-26 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 비디오 및 이미지 코딩 및 디코딩을 위한 인트라 블록 카피 예측 모드의 피쳐 |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
JP6355744B2 (ja) | 2014-01-03 | 2018-07-11 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像符号化/デコーディングにおけるブロックベクトル予測 |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
CN106464894B (zh) * | 2014-02-12 | 2019-10-18 | 明达半导体股份有限公司 | 视频处理方法及装置 |
US10542274B2 (en) | 2014-02-21 | 2020-01-21 | Microsoft Technology Licensing, Llc | Dictionary encoding and decoding of screen content |
JP2017512026A (ja) | 2014-03-04 | 2017-04-27 | マイクロソフト テクノロジー ライセンシング,エルエルシー | イントラブロックコピー予測におけるブロック反転及びスキップモード |
KR101957556B1 (ko) * | 2014-05-28 | 2019-03-12 | 애리스 엔터프라이지즈 엘엘씨 | 멀티코어 프로세서 플랫폼에서 동작하는 hevc 디코더에서의 콘텐츠 인식 스케줄링 |
KR102311815B1 (ko) | 2014-06-19 | 2021-10-13 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
US9807410B2 (en) | 2014-07-02 | 2017-10-31 | Apple Inc. | Late-stage mode conversions in pipelined video encoders |
CA2959682C (en) | 2014-09-30 | 2022-12-06 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US9591325B2 (en) | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
US10027989B2 (en) * | 2015-05-06 | 2018-07-17 | Integrated Device Technology, Inc. | Method and apparatus for parallel decoding |
EP3308540B1 (en) | 2015-06-09 | 2020-04-15 | Microsoft Technology Licensing, LLC | Robust encoding/decoding of escape-coded pixels in palette mode |
US10003811B2 (en) | 2015-09-01 | 2018-06-19 | Microsoft Technology Licensing, Llc | Parallel processing of a video frame |
US20170105010A1 (en) * | 2015-10-09 | 2017-04-13 | Microsoft Technology Licensing, Llc | Receiver-side modifications for reduced video latency |
US10230948B2 (en) * | 2016-02-03 | 2019-03-12 | Mediatek Inc. | Video transmitting system with on-the-fly encoding and on-the-fly delivering and associated video receiving system |
JP6714078B2 (ja) * | 2016-05-10 | 2020-06-24 | オリンパス株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
KR102535168B1 (ko) * | 2016-05-26 | 2023-05-30 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍 |
CN107483950A (zh) * | 2016-06-07 | 2017-12-15 | 北京大学 | 图片并行编码方法及系统 |
US20180020228A1 (en) * | 2016-07-12 | 2018-01-18 | Mediatek Inc. | Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits |
WO2018172234A2 (en) * | 2017-03-20 | 2018-09-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Advanced video data stream extraction and multi-resolution video transmission |
WO2018207956A1 (ko) * | 2017-05-10 | 2018-11-15 | 엘지전자(주) | 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 |
US10897269B2 (en) | 2017-09-14 | 2021-01-19 | Apple Inc. | Hierarchical point cloud compression |
US11818401B2 (en) | 2017-09-14 | 2023-11-14 | Apple Inc. | Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables |
US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
US11113845B2 (en) | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
GB2569269B (en) * | 2017-10-20 | 2020-07-15 | Graphcore Ltd | Synchronization in a multi-tile processing arrangement |
US10607373B2 (en) | 2017-11-22 | 2020-03-31 | Apple Inc. | Point cloud compression with closed-loop color conversion |
GB2569645B (en) * | 2017-12-22 | 2022-02-23 | Displaylink Uk Ltd | Managing data for transportation |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
US10909726B2 (en) | 2018-04-10 | 2021-02-02 | Apple Inc. | Point cloud compression |
US10909727B2 (en) | 2018-04-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression with smoothing |
US10939129B2 (en) | 2018-04-10 | 2021-03-02 | Apple Inc. | Point cloud compression |
US11010928B2 (en) | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US11252429B2 (en) * | 2018-04-27 | 2022-02-15 | Ati Technologies Ulc | Low-latency consumption of an encoded video bitstream |
KR20210024502A (ko) | 2018-06-29 | 2021-03-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝 |
KR20210025537A (ko) | 2018-06-29 | 2021-03-09 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념 |
KR102660666B1 (ko) | 2018-06-29 | 2024-04-26 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Lut들을 업데이트하기 위한 조건들 |
KR20240005240A (ko) | 2018-06-29 | 2024-01-11 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Lut에서의 모션 후보들의 검사 순서 |
WO2020003284A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and amvp |
CN110662053B (zh) | 2018-06-29 | 2022-03-25 | 北京字节跳动网络技术有限公司 | 使用查找表的视频处理方法、装置和存储介质 |
WO2020003266A1 (en) * | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Resetting of look up table per slice/tile/lcu row |
BR112020024202A2 (pt) | 2018-06-29 | 2021-02-17 | Beijing Bytedance Network Technology Co., Ltd. | método de processamento de dados de vídeo, aparelho de processamento de vídeo e meios de armazenamento e gravação legíveis por computador não transitório |
WO2020003280A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Which lut to be updated or no updating |
EP4307679A2 (en) | 2018-07-02 | 2024-01-17 | Beijing Bytedance Network Technology Co., Ltd. | Luts with intra prediction modes and intra mode prediction from non-adjacent blocks |
US11017566B1 (en) | 2018-07-02 | 2021-05-25 | Apple Inc. | Point cloud compression with adaptive filtering |
CN110675315A (zh) * | 2018-07-03 | 2020-01-10 | 财团法人工业技术研究院 | 点云拼贴处理方法及装置 |
US11202098B2 (en) | 2018-07-05 | 2021-12-14 | Apple Inc. | Point cloud compression with multi-resolution video encoding |
US11012713B2 (en) | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
TWI820211B (zh) | 2018-09-12 | 2023-11-01 | 大陸商北京字節跳動網絡技術有限公司 | 取決於總數減去k的開始檢查hmvp候選的條件 |
CN113170237B (zh) * | 2018-09-28 | 2023-02-28 | 中兴通讯股份有限公司 | 视频编码与解码方法和设备 |
US11367224B2 (en) | 2018-10-02 | 2022-06-21 | Apple Inc. | Occupancy map block-to-patch information compression |
US11206244B2 (en) * | 2018-12-21 | 2021-12-21 | ARRIS Enterprise LLC | Method to preserve video data obfuscation for video frames |
EP3888355A4 (en) | 2019-01-10 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | LOOKUP TABLE UPDATE INVOCATION |
CN113383554B (zh) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | LUT和共享Merge列表之间的交互 |
WO2020147772A1 (en) | 2019-01-16 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidates derivation |
CN113615193A (zh) | 2019-03-22 | 2021-11-05 | 北京字节跳动网络技术有限公司 | Merge列表构建和其他工具之间的交互 |
WO2020197236A1 (ko) * | 2019-03-24 | 2020-10-01 | 엘지전자 주식회사 | 서브 픽처 핸들링 구조 기반 영상 또는 비디오 코딩 |
US11057564B2 (en) | 2019-03-28 | 2021-07-06 | Apple Inc. | Multiple layer flexure for supporting a moving image sensor |
US11553209B2 (en) | 2019-05-15 | 2023-01-10 | Hyundai Motor Company | Method and apparatus for parallel encoding and decoding of moving picture data |
WO2020231220A1 (ko) * | 2019-05-15 | 2020-11-19 | 현대자동차주식회사 | 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치 |
US11711544B2 (en) | 2019-07-02 | 2023-07-25 | Apple Inc. | Point cloud compression with supplemental information messages |
US11627314B2 (en) | 2019-09-27 | 2023-04-11 | Apple Inc. | Video-based point cloud compression with non-normative smoothing |
US11562507B2 (en) | 2019-09-27 | 2023-01-24 | Apple Inc. | Point cloud compression using video encoding with time consistent patches |
US11398833B2 (en) | 2019-10-02 | 2022-07-26 | Apple Inc. | Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream |
US11538196B2 (en) | 2019-10-02 | 2022-12-27 | Apple Inc. | Predictive coding for point cloud compression |
US11895307B2 (en) | 2019-10-04 | 2024-02-06 | Apple Inc. | Block-based predictive coding for point cloud compression |
US11798196B2 (en) | 2020-01-08 | 2023-10-24 | Apple Inc. | Video-based point cloud compression with predicted patches |
US11625866B2 (en) | 2020-01-09 | 2023-04-11 | Apple Inc. | Geometry encoding using octrees and predictive trees |
CN115836526A (zh) | 2020-06-12 | 2023-03-21 | 字节跳动有限公司 | 编解码视频中的序列结束指示 |
CN111726626B (zh) * | 2020-06-18 | 2022-05-03 | 格兰菲智能科技有限公司 | 集成电路及用于视频解码的概率表存储方法 |
US11615557B2 (en) | 2020-06-24 | 2023-03-28 | Apple Inc. | Point cloud compression using octrees with slicing |
US11620768B2 (en) | 2020-06-24 | 2023-04-04 | Apple Inc. | Point cloud geometry compression using octrees with multiple scan orders |
TWI774233B (zh) * | 2020-09-23 | 2022-08-11 | 瑞昱半導體股份有限公司 | 訊號傳輸系統與發射端編碼裝置 |
CN116601873A (zh) * | 2020-12-10 | 2023-08-15 | 苹果公司 | 分块熵流的级联 |
US11375242B1 (en) | 2021-01-27 | 2022-06-28 | Qualcomm Incorporated | Compression of bitstream indexes for parallel entropy coding |
US11948338B1 (en) | 2021-03-29 | 2024-04-02 | Apple Inc. | 3D volumetric content encoding using 2D videos and simplified 3D meshes |
CN112995237B (zh) * | 2021-05-21 | 2021-10-08 | 杭州博雅鸿图视频技术有限公司 | 一种用于处理视频数据流的方法、装置、设备及存储介质 |
KR20230022061A (ko) | 2021-08-06 | 2023-02-14 | 삼성전자주식회사 | 디코딩 장치 및 그의 동작 방법 |
WO2023242590A1 (en) * | 2022-06-16 | 2023-12-21 | Mbda Uk Limited | Method for image encoding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2335857C2 (ru) * | 2004-06-10 | 2008-10-10 | Сони Компьютер Энтертейнмент Инк. | Устройство кодирования, способ кодирования, устройство декодирования, способ декодирования, программа, носитель записи программы, носитель записи данных, структура данных и устройство воспроизведения |
RU2374786C1 (ru) * | 2006-01-05 | 2009-11-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ кодирования и способ декодирования видео, устройство, программа и носители данных для хранения программ |
US20110026604A1 (en) * | 2008-03-28 | 2011-02-03 | Jie Zhao | Methods, devices and systems for parallel video encoding and decoding |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926205A (en) | 1994-10-19 | 1999-07-20 | Imedia Corporation | Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program |
US6683909B1 (en) * | 2000-03-16 | 2004-01-27 | Ezenial Inc. | Macroblock parsing without processing overhead |
WO2004008775A1 (ja) | 2002-07-15 | 2004-01-22 | Hitachi, Ltd. | 動画像符号化方法及び復号化方法 |
KR20050094838A (ko) | 2003-01-09 | 2005-09-28 | 톰슨 라이센싱 에스.에이. | Mpeg 전송 스트림을 wlan 브로드캐스트용 ip패킷으로 매핑하는 방법 및 장치 |
US7688895B2 (en) * | 2003-07-22 | 2010-03-30 | Lsi Corporation | Method and/or circuit for binary arithmetic decoding decisions before termination |
US7558954B2 (en) | 2003-10-31 | 2009-07-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for ensuring the integrity of data |
US20060002479A1 (en) | 2004-06-22 | 2006-01-05 | Fernandes Felix C A | Decoder for H.264/AVC video |
US20060062312A1 (en) * | 2004-09-22 | 2006-03-23 | Yen-Chi Lee | Video demultiplexer and decoder with efficient data recovery |
US7675872B2 (en) | 2004-11-30 | 2010-03-09 | Broadcom Corporation | System, method, and apparatus for displaying pictures |
US8315308B2 (en) * | 2006-01-11 | 2012-11-20 | Qualcomm Incorporated | Video coding with fine granularity spatial scalability |
JP2007214998A (ja) * | 2006-02-10 | 2007-08-23 | Fuji Xerox Co Ltd | 符号化装置、復号化装置、符号化方法、復号化方法、及びプログラム |
BRPI0713348A2 (pt) | 2006-07-05 | 2012-03-06 | Thomson Licensing | Método e aparelho para codificação e decodificação de vídeo multivisualização |
US20080040498A1 (en) | 2006-08-10 | 2008-02-14 | Nokia Corporation | System and method of XML based content fragmentation for rich media streaming |
JP2008141483A (ja) * | 2006-12-01 | 2008-06-19 | Brother Ind Ltd | ツリー型配信システム、ノード装置、情報処理プログラム及び情報配信方法 |
KR100849495B1 (ko) | 2006-12-04 | 2008-07-31 | 한국전자통신연구원 | Rtp 패킷화 모드별 비트율 생성 방법 |
CN101198051B (zh) * | 2006-12-07 | 2011-10-05 | 深圳艾科创新微电子有限公司 | 基于h.264的熵解码器的实现方法及装置 |
KR101008608B1 (ko) * | 2007-08-22 | 2011-01-17 | 니폰덴신뎅와 가부시키가이샤 | 비디오 품질 평가 장치, 비디오 품질 평가 방법, 프레임 유형 결정 방법, 및 기록 매체 |
US8938009B2 (en) * | 2007-10-12 | 2015-01-20 | Qualcomm Incorporated | Layered encoded bitstream structure |
CN101170688B (zh) * | 2007-11-26 | 2010-12-01 | 电子科技大学 | 一种宏块模式的快速选择方法 |
JP4875024B2 (ja) * | 2008-05-09 | 2012-02-15 | 株式会社東芝 | 画像情報伝送装置 |
US8619856B2 (en) * | 2008-10-03 | 2013-12-31 | Qualcomm Incorporated | Video coding with large macroblocks |
US7932843B2 (en) * | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
US9467699B2 (en) * | 2008-12-03 | 2016-10-11 | Hfi Innovation Inc. | Method for performing parallel coding with ordered entropy slices, and associated apparatus |
KR101063424B1 (ko) | 2009-02-02 | 2011-09-07 | 주식회사 코아로직 | 비디오 데이터 처리 장치 및 방법 |
JP2010278668A (ja) * | 2009-05-27 | 2010-12-09 | Sony Corp | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
JP5212319B2 (ja) * | 2009-09-08 | 2013-06-19 | ブラザー工業株式会社 | 符号化装置、符号化方法、および符号化プログラム |
US20110194613A1 (en) * | 2010-02-11 | 2011-08-11 | Qualcomm Incorporated | Video coding with large macroblocks |
TWI403170B (zh) | 2010-05-21 | 2013-07-21 | Univ Nat Chiao Tung | 背景調適性二進制算術解碼裝置及其解碼方法 |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
US20120163457A1 (en) * | 2010-12-28 | 2012-06-28 | Viktor Wahadaniah | Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus |
JP2012147127A (ja) * | 2011-01-07 | 2012-08-02 | Sony Corp | 画像処理装置および方法 |
US9370647B2 (en) | 2011-07-14 | 2016-06-21 | W. L. Gore & Associates, Inc. | Expandable medical devices |
EP4152749B1 (en) * | 2011-07-15 | 2024-04-10 | GE Video Compression, LLC | Sample array coding for low-delay |
TWI559744B (zh) * | 2012-01-20 | 2016-11-21 | Ge影像壓縮有限公司 | 允許平行處理之編碼器、解碼器、傳送解多工器、系統、儲存媒體、方法及電腦程式 |
CN108337526B (zh) * | 2012-04-13 | 2020-10-30 | Ge视频压缩有限责任公司 | 一种低延迟图像编码解码方法、设备及计算机可读介质 |
-
2013
- 2013-01-21 TW TW102102205A patent/TWI559744B/zh active
- 2013-01-21 SG SG10202001107WA patent/SG10202001107WA/en unknown
- 2013-01-21 CN CN201811168869.1A patent/CN109729350B/zh active Active
- 2013-01-21 KR KR1020217002608A patent/KR102365958B1/ko active IP Right Grant
- 2013-01-21 UA UAA201702254A patent/UA124569C2/uk unknown
- 2013-01-21 TW TW107138649A patent/TWI753214B/zh active
- 2013-01-21 CA CA3081964A patent/CA3081964A1/en active Pending
- 2013-01-21 JP JP2014552650A patent/JP2015507899A/ja active Pending
- 2013-01-21 KR KR1020147023129A patent/KR101718488B1/ko active IP Right Grant
- 2013-01-21 IN IN1699KON2014 patent/IN2014KN01699A/en unknown
- 2013-01-21 KR KR1020187014596A patent/KR102070887B1/ko active IP Right Grant
- 2013-01-21 ES ES13700753T patent/ES2886119T3/es active Active
- 2013-01-21 IL IL298776A patent/IL298776B1/en unknown
- 2013-01-21 TW TW105131325A patent/TWI645715B/zh active
- 2013-01-21 MX MX2014008695A patent/MX350507B/es active IP Right Grant
- 2013-01-21 IL IL310411A patent/IL310411A/en unknown
- 2013-01-21 HU HUE13700753A patent/HUE055964T2/hu unknown
- 2013-01-21 KR KR1020147034587A patent/KR101752879B1/ko active IP Right Grant
- 2013-01-21 KR KR1020207002056A patent/KR102210228B1/ko active IP Right Grant
- 2013-01-21 UA UAA201409286A patent/UA114618C2/uk unknown
- 2013-01-21 CN CN201811169571.2A patent/CN109729357B/zh active Active
- 2013-01-21 EP EP13700753.0A patent/EP2805491B1/en active Active
- 2013-01-21 TW TW111127210A patent/TWI804390B/zh active
- 2013-01-21 KR KR1020177017591A patent/KR101862329B1/ko active IP Right Grant
- 2013-01-21 CN CN201811169558.7A patent/CN109729356B/zh active Active
- 2013-01-21 EP EP21173348.0A patent/EP3923578A1/en active Pending
- 2013-01-21 RU RU2017103637A patent/RU2679551C2/ru active
- 2013-01-21 AU AU2013211002A patent/AU2013211002B2/en active Active
- 2013-01-21 BR BR112014017915-8A patent/BR112014017915B1/pt active IP Right Grant
- 2013-01-21 BR BR122020007529-5A patent/BR122020007529B1/pt active IP Right Grant
- 2013-01-21 KR KR1020237008552A patent/KR20230038817A/ko not_active Application Discontinuation
- 2013-01-21 KR KR1020227005363A patent/KR102510411B1/ko active IP Right Grant
- 2013-01-21 SG SG10201606621XA patent/SG10201606621XA/en unknown
- 2013-01-21 TW TW110148960A patent/TWI775701B/zh active
- 2013-01-21 KR KR1020177017592A patent/KR101863177B1/ko active IP Right Grant
- 2013-01-21 KR KR1020177017594A patent/KR101863181B1/ko active IP Right Grant
- 2013-01-21 SG SG11201404251QA patent/SG11201404251QA/en unknown
- 2013-01-21 CA CA2861951A patent/CA2861951C/en active Active
- 2013-01-21 WO PCT/EP2013/051043 patent/WO2013107906A2/en active Application Filing
- 2013-01-21 CN CN201380006105.1A patent/CN104081781B/zh active Active
- 2013-01-21 CN CN201811168871.9A patent/CN109729355B/zh active Active
- 2013-01-21 RU RU2014134041A patent/RU2610291C2/ru active
- 2013-01-21 MY MYPI2014002130A patent/MY167465A/en unknown
- 2013-01-21 KR KR1020177017593A patent/KR101863179B1/ko active IP Right Grant
-
2014
- 2014-07-17 CL CL2014001886A patent/CL2014001886A1/es unknown
- 2014-07-17 IL IL233699A patent/IL233699A/en active IP Right Revival
- 2014-07-18 PH PH12014501660A patent/PH12014501660B1/en unknown
- 2014-07-18 US US14/334,789 patent/US9930368B2/en active Active
- 2014-08-18 ZA ZA2014/06040A patent/ZA201406040B/en unknown
-
2015
- 2015-05-11 HK HK15104427.8A patent/HK1204182A1/xx unknown
-
2016
- 2016-04-01 JP JP2016074310A patent/JP6808341B2/ja active Active
- 2016-04-08 AU AU2016202208A patent/AU2016202208B2/en active Active
-
2017
- 2017-03-19 IL IL251266A patent/IL251266B/en active IP Right Grant
- 2017-08-03 AU AU2017210565A patent/AU2017210565B2/en active Active
-
2018
- 2018-02-07 US US15/890,820 patent/US10880577B2/en active Active
- 2018-02-07 US US15/890,864 patent/US10880578B2/en active Active
- 2018-02-15 PH PH12018500347A patent/PH12018500347B1/en unknown
- 2018-02-15 PH PH12018500344A patent/PH12018500344B1/en unknown
- 2018-02-15 PH PH12018500346A patent/PH12018500346B1/en unknown
- 2018-02-15 PH PH12018500345A patent/PH12018500345B1/en unknown
- 2018-08-03 JP JP2018146900A patent/JP6721638B2/ja active Active
- 2018-10-28 IL IL262644A patent/IL262644B/en active IP Right Grant
- 2018-12-17 US US16/222,116 patent/US10873766B2/en active Active
- 2018-12-18 US US16/223,275 patent/US10887625B2/en active Active
-
2019
- 2019-05-17 US US16/415,020 patent/US10880579B2/en active Active
- 2019-07-01 IL IL267776A patent/IL267776B/en unknown
- 2019-09-05 AU AU2019226180A patent/AU2019226180B2/en active Active
-
2020
- 2020-06-18 JP JP2020104966A patent/JP7111771B2/ja active Active
- 2020-09-29 AU AU2020244429A patent/AU2020244429B2/en active Active
- 2020-10-28 US US17/082,385 patent/US20210044835A1/en active Pending
-
2021
- 2021-07-04 IL IL284595A patent/IL284595B/en unknown
- 2021-12-22 AU AU2021290315A patent/AU2021290315B2/en active Active
-
2022
- 2022-02-07 IL IL290402A patent/IL290402B2/en unknown
- 2022-07-21 JP JP2022116409A patent/JP2022165992A/ja active Pending
-
2023
- 2023-11-13 AU AU2023266237A patent/AU2023266237A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2335857C2 (ru) * | 2004-06-10 | 2008-10-10 | Сони Компьютер Энтертейнмент Инк. | Устройство кодирования, способ кодирования, устройство декодирования, способ декодирования, программа, носитель записи программы, носитель записи данных, структура данных и устройство воспроизведения |
RU2374786C1 (ru) * | 2006-01-05 | 2009-11-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ кодирования и способ декодирования видео, устройство, программа и носители данных для хранения программ |
US20110026604A1 (en) * | 2008-03-28 | 2011-02-03 | Jie Zhao | Methods, devices and systems for parallel video encoding and decoding |
Non-Patent Citations (1)
Title |
---|
Gordon C et al, ";Wavefront Parallel Processing for HEVC Encoding and Decoding";, 6. JCT-VC MEETING; MPEG MEETING, no. JCTVC-F274, 2011. * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2610291C2 (ru) | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео | |
RU2808541C1 (ru) | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео | |
RU2773795C2 (ru) | Принцип кодирования, делающий возможной параллельную обработку, транспортный демультиплексор и битовый поток видео | |
TWI835639B (zh) | 允許平行處理之編碼器、解碼器、傳送解多工器、系統、儲存媒體、方法及電腦程式 |