ПРИНЦИП КОДИРОВАНИЯ, ДЕЛАЮЩИЙ ВОЗМОЖНОЙ ПАРАЛЛЕЛЬНУЮ ОБРАБОТКУ, ТРАНСПОРТНЫЙ ДЕМУЛЬТИПЛЕКСОР И БИТОВЫЙ ПОТОК ВИДЕО

1. Декодер, выполненный с возможностью
приема полезных данных последовательности необработанных байтов, описывающих изображение слайсами, подпотоками WPP или тайлами и кодированных с использованием CABAC, от кодера в траншах слайсов, подпотоков WPP или тайлов;
энтропийного декодирования траншей с продолжающейся адаптацией вероятностей CABAC через границы траншей; и
декодирования полезных данных последовательности необработанных байтов для получения изображения.
2. Декодер по п. 1, в котором последовательность необработанных байтов описывает изображение слайсами, и декодер выполнен с возможность, при декодировании полезных данных последовательности необработанных байтов, декодирования каждого слайса отдельно, без использования данных других слайсов.
3. Декодер по п. 1 или 2, в котором полезная нагрузка последовательности необработанных байтов описывает изображение тайлами, и декодер выполнен с возможностью, при декодировании полезных данных последовательности необработанных байтов, выполнения энтропийного декодирования и декодирования с преобразованием тайлов независимо друг от друга.
4. Декодер по любому из предшествующих пунктов, в котором полезная нагрузка последовательности необработанных байтов описывает изображение подпотоками WPP, и декодер выполнен с возможностью, при декодировании полезных данных последовательности необработанных байтов, использования волновой параллельной обработки подпотока WPP.
5. Декодер по любому из предшествующих пунктов, в котором транши упаковываются с использованием заголовков слайса, и декодер выполнен с возможностью, при приеме траншей, реагирования, после приема некоторого нового слайса, на флаг в заголовке слайса этого нового слайса, slice_type этого нового слайса или на тип единицы NAL собственно единицы NAL, содержащей этот новый слайс, чтобы либо прерывать адаптацию вероятностей CABAC посредством сброса вероятностей CABAC, либо продолжать адаптацию вероятностей CABAC.
6. Декодер по любому из предшествующих пунктов, в котором полезная нагрузка последовательности необработанных байтов описывает изображение подпотоками WPP или тайлами, которые дополнительно подразделяются на транши.
7. Декодер по п. 6, в котором декодер выполнен с возможностью, при приеме упомянутых траншей, деперемежения этих траншей посредством идентификации для каждого транша, к какому подпотоку WPP или тайлу этот соответствующий транш принадлежит.
8. Декодер по любому из предшествующих пунктов, в котором транши упаковываются в пакеты таким образом, что каждый пакет содержит один транш из каждого подпотока WPP или тайла изображения или поднабора подпотоков WPP или тайлов изображения, расположенных в порядке, заданном среди этих подпотоков WPP или тайлов, причем каждый пакет содержит заголовок, содержащий выявление позиций и/или длин траншей, упакованных в соответствующий пакет, или маркеры, отделяющие транши в соответствующем пакете друг от друга, при этом декодер выполнен с возможностью, при приеме полезных данных последовательности необработанных байтов, использования информации, содержащейся в заголовках или маркерах с тем, чтобы осуществить доступ к траншам в упомянутых пакетах.
9. Декодер по п. 8, в котором пакеты, содержащие первые, в соответствии с порядком, заданным среди подпотоков WPP или тайлов, транши подпотоков WPP или тайлов изображения, содержат индикатор признака малой задержки, а пакеты, содержащие вторые или последующие, в соответствии с порядком, заданным среди подпотоков WPP или тайлов, транши подпотоков WPP или тайлов изображения, содержат индикатор продолжения.
10. Декодер по п. 8 или 9, в котором пакеты представляют собой единицы NAL или слайсы.
11. Транспортный демультиплексор, содержащий
мультиплексный буфер;
буферы слайсов для извлечения многопоточным декодером, позволяющим осуществлять параллельное декодирование изображения подпотоками WPP или тайлами;
транспортный буфер, выполненный с возможностью сбора данных, принадлежащих пакету TS некоторого предопределенного элементарного потока битового потока видео, и направления этих данных в мультиплексный буфер;
при этом транспортный демультиплексор выполнен с возможностью оценки заголовков единиц NAL собственно единиц NAL из последовательности единиц NAL, упакованной в пакеты TS, на выходе мультиплексного буфера, отбрасывания маркеров подпотоков, вставленных в последовательность единиц NAL, с сохранением данных маркеров подпотоков, переносимых в этих маркерах подпотоков, и сохранения данных слайсов подпотоков или тайлов в единицах NAL, следующих за маркерами подпотоков, поле данных которых идентифицирует одинаковый подпоток WPP или тайл, в одном буфере слайсов, и данных слайсов подпотоков WPP или тайлов в единицах NAL, следующих за маркерами подпотоков, поле данных которых идентифицирует разные подпотоки WPP или тайлы, в разных буферах слайсов.
12. Транспортный демультиплексор по п. 11, в котором маркеры подпотоков представляют собой единицы NAL маркеров подпотоков, имеющие тип единицы NAL, отличный от единиц NAL, внутри которых находятся данные слайсов подпотоков или тайлов.
13. Транспортный демультиплексор по пп. 11 или 12, дополнительно содержащий
демультиплексор, выполненный с возможностью приема битового потока видео и разделения пакетов TS битового потока видео на разные элементарные потоки согласно PID, содержащимся в заголовках TS пакетов TS, так, чтобы каждый элементарный поток состоял из пакетов TS с некоторым PID, отличным от PID пакетов TS других элементарных потоков.
14. Транспортный демультиплексор, выполненный с возможностью приема битового потока видео, содержащего полезную нагрузку последовательности необработанных байтов, описывающую изображение слайсами, подпотоками WPP или тайлами и кодированную с использованием CABAC, причем битовый поток видео разбивается на транши слайсов, подпотоков WPP или тайлов с продолжающейся адаптацией вероятностей CABAC через границы траншей, при этом каждый транш содержит информацию, идентифицирующую для каждого транша то, к какому подпотоку WPP или тайлу принадлежит соответствующий транш, и ассоциирования траншей со слайсами, подпотоками WPP или тайлами, используя упомянутую информацию.
15. Транспортный демультиплексор по п. 14, в котором для каждого транша информация, содержащаяся в соответствующем транше, содержит адрес начальной позиции в изображении, начиная с которой соответствующий транш непрерывно охватывает некоторую часть слайса, подпотока WPP или тайла, к которому этот соответствующий транш принадлежит.
16. Транспортный демультиплексор по п. 14 или 15, в котором транспортный демультиплексор выполнен с возможностью сортировки, для каждого слайса, подпотока WPP или тайла, их траншей, используя номер порядка декодирования в заголовках пакетов собственно пакетов, в которые эти транши упакованы.
17. Система, содержащая транспортный демультиплексор по любому из пп. 11-13 и многопоточный декодер, при этом многопоточный декодер реализован согласно пункту 5.
18. Кодер, выполненный с возможностью
формирования, посредством кодирования изображения, полезных данных последовательности необработанных байтов для описания упомянутого изображения слайсами, подпотоками WPP или тайлами с энтропийным кодированием последовательности необработанных байтов, используя CABAC, передачи последовательности необработанных байтов в траншах и продолжения адаптации вероятностей CABAC при выполнении энтропийного кодирования через границы траншей.
19. Кодер по пп. 18, при этом кодер выполнен с возможностью формирования последовательности необработанных байтов так, чтобы транши соответствовали максимальному размеру единицы передачи.
20. Битовый поток видео, передающий последовательность единиц NAL, содержащих заголовки единиц NAL, причем последовательность единиц NAL имеет вставленные в нее маркеры подпотоков, при этом единицы NAL, переносящие данные слайсов некоторого одного из потоков или тайлов, следуют за маркерами подпотоков, поле данных которых идентифицирует упомянутый один подпоток или тайл, и данные слайсов разных подпотоков или тайлов следуют за разными маркерами подпотоков, поле данных которых идентифицирует эти разные подпотоки или тайлы.
21. Битовый поток видео, содержащий полезную нагрузку последовательности необработанных байтов, описывающую изображение слайсами, подпотоками WPP или тайлами и кодированную с использованием CABAC, причем битовый поток видео разбивается на транши слайсов, подпотоков WPP или тайлов с продолжающейся адаптацией вероятностей CABAC через границы траншей, при этом каждый транш включает в себя явное указание своего ранга среди траншей, на которые последовательно разбивается слайс, подпоток WPP или тайл, к которому этот соответствующий транш принадлежит.
22. Битовый поток видео по п. 21, в котором транши упаковываются в пакеты таким образом, что каждый пакет содержит один транш из каждого подпотока WPP или тайла изображения или поднабора подпотоков WPP или тайлов изображения, расположенных в порядке, заданном среди этих подпотоков WPP или тайлов, причем каждый пакет содержит заголовок, содержащий выявление позиций и/или длин траншей, упакованных в соответствующий пакет, или маркеры, отделяющие транши в соответствующем пакете друг от друга.
23. Битовый поток видео по п. 21 или 22, в котором пакеты, содержащие первые, в соответствии с порядком, заданным среди подпотоков WPP или тайлов, транши подпотоков WPP или тайлов изображения, содержат индикатор признака малой задержки, а пакеты, содержащие вторые или последующие, в соответствии с порядком, заданным среди подпотоков WPP или тайлов, транши подпотоков WPP или тайлов изображения, содержат индикатор продолжения.
24. Битовый поток видео по любому из пп. 21-23, в котором пакеты представляют собой единицы NAL или слайсы.
25. Способ принятия решения, содержащий
прием полезных данных последовательности необработанных байтов, описывающих изображение слайсами, подпотоками WPP или тайлами и кодированных с использованием CABAC, от кодера в траншах слайсов, подпотоков WPP или тайлов;
энтропийное декодирование упомянутых траншей с продолжающейся адаптацией вероятностей CABAC через границы траншей; и
декодирование полезных данных последовательности необработанных байтов для получения изображения.
26. Способ транспортного демультиплексирования, использующий мультиплексный буфер, буферы слайсов для извлечения многопоточным декодером, позволяющим осуществлять параллельное декодирование изображения в подпотоках WPP или тайлах, и транспортный буфер, выполненный с возможностью сбора данных, принадлежащих пакету TS некоторого предопределенного элементарного потока из битового потока видео, и направления этих данных в мультиплексный буфер, причем способ содержит
оценку заголовков единиц NAL собственно единиц NAL из последовательности единиц NAL, упакованной в пакеты TS, на выходе мультиплексного буфера,
отбрасывание единиц NAL маркеров подпотоков с сохранением данных маркеров подпотоков, переносимых в этих единицах NAL маркеров подпотоков, и
сохранение данных слайсов подпотоков или тайлов в единицах NAL, следующих за единицами NAL маркеров подпотоков, поле данных которых идентифицирует одинаковый подпоток WPP или тайл, в одном буфере слайсов, и данных слайсов подпотоков WPP или тайлов в единицах NAL, следующих за единицами NAL маркеров подпотоков, поле данных которых идентифицирует разные подпотоки WPP или тайлы, в разных буферах слайсов.
27. Способ транспортного демультиплексирования, содержащий прием битового потока видео, содержащего полезную нагрузку последовательности необработанных байтов, описывающую изображение слайсами, подпотоками WPP или тайлами и кодированную с использованием CABAC, причем битовый поток видео разбивается на транши слайсов, подпотоков WPP или тайлов с продолжающейся адаптацией вероятностей CABAC через границы траншей, при этом каждый транш содержит информацию, идентифицирующую для каждого транша то, к какому подпотоку WPP или тайлу принадлежит соответствующий транш, и ассоциирования траншей со слайсами, подпотоками WPP или тайлами, используя упомянутую информацию.
28. Способ кодирования, содержащий
формирование, посредством кодирования изображения, полезных данных последовательности необработанных байтов для описания упомянутого изображения слайсами, подпотоками WPP или тайлами с энтропийным кодированием последовательности необработанных байтов, используя CABAC, передачу последовательности необработанных байтов в траншах и продолжение адаптации вероятностей CABAC при выполнении энтропийного кодирования через границы траншей.
29. Компьютерная программа, имеющая программный код для выполнения, при исполнении на компьютере, способа по любому из пп. 25-28.