EA 032226B1 20190430 Номер и дата охранного документа [PDF] EAPO2019\PDF/032226 Полный текст описания [**] EA201591235 20131220 Регистрационный номер и дата заявки US61/749,866 20130107 Регистрационные номера и даты приоритетных заявок US2013/077267 Номер международной заявки (PCT) WO2014/107360 20140710 Номер публикации международной заявки (PCT) EAB1 Код вида документа [PDF] eab21904 Номер бюллетеня [GIF] EAB1\00000032\226BS000#(744:949) Основной чертеж [**] СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ Название документа [8] H04N 19/70, [8] H04N 19/149, [8] H04N 19/44, [8] H04N 19/46 Индексы МПК [US] Ван Е-Куй Сведения об авторах [US] КВЭЛКОММ ИНКОРПОРЕЙТЕД Сведения о патентообладателях [US] КВЭЛКОММ ИНКОРПОРЕЙТЕД Сведения о заявителях
 

Патентная документация ЕАПВ

 
Запрос:  ea000032226b*\id

больше ...

Термины запроса в документе

Реферат

[RU]

1. Способ декодирования видеопоследовательности, при этом способ содержит этапы, на которых принимают кодированную видеопоследовательность, содержащую кодированные изображения видеопоследовательности; и принимают параметры синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.

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

3. Способ по п.1, в котором прием параметров синхронизации для кодированной видеопоследовательности дополнительно содержит этап, на котором принимают временную шкалу и число единиц в такте синхросигнала по меньшей мере в одной из синтаксической VPS-структуры и синтаксической SPS-структуры.

4. Способ по п.1, в котором параметры синхронизации содержат параметры синхронизации для операций гипотетического эталонного декодирования.

5. Способ по п.1, в котором упомянутое условие не включает в себя зависимость от элемента синтаксиса в синтаксической структуре параметров гипотетического эталонного декодера (HRD) синтаксической VPS-структуры или синтаксической SPS-структуры.

6. Способ по п.1, в котором синтаксическая VPS-структура включает в себя упомянутое условие.

7. Способ по п.6, в котором синтаксическая VPS-структура включает в себя упомянутое условие в качестве элемента vps_рос_proportional_to_timing_flag синтаксиса.

8. Способ по п.1, в котором синтаксическая SPS-структура включает в себя упомянутое условие.

9. Способ по п.8, в котором синтаксическая SPS-структура включает в себя упомянутое условие в качестве элемента sps_poc_proportional_to_timing_flag синтаксиса.

10. Способ для кодирования видеопоследовательности, при этом способ содержит этапы, на которых кодируют изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность, содержащую кодированные изображения; и сигнализируют параметры синхронизации для кодированной видеопоследовательности посредством непосредственной сигнализации условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1 по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.

11. Способ по п.10, в котором упомянутое условие не включает в себя зависимость от элемента синтаксиса, сигнализируемого в синтаксической структуре параметров гипотетического эталонного декодера (HRD).

12. Способ по п.10, в котором сигнализация параметров синхронизации дополнительно содержит этап, на котором сигнализируют временную шкалу и число единиц в такте синхросигнала по меньшей мере в одной из синтаксической VPS-структуры и синтаксической SPS-структуры.

13. Способ по п.10, в котором непосредственная сигнализация упомянутого условия содержит этап, на котором сигнализируют упомянутое условие в синтаксической VPS-структуре.

14. Способ по п.13, в котором сигнализация упомянутого условия в синтаксической VPS-структуре содержит этап, на котором сигнализируют упомянутое условие в качестве элемента vps_poc_proportional_to_timing_flag синтаксиса.

15. Способ по п.10, в котором непосредственная сигнализация упомянутого условия содержит этап, на котором сигнализируют упомянутое условие в синтаксической SPS-структуре.

16. Способ по п.15, в котором сигнализация упомянутого условия в синтаксической SPS-структуре содержит этап, на котором сигнализируют упомянутое условие в качестве элемента sps_рос_proportional_to_timing_flag синтаксиса.

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

18. Способ по п.10, в котором параметры синхронизации содержат параметры синхронизации для операций гипотетического эталонного декодирования.

19. Устройство для декодирования видеопоследовательности, содержащее процессор, выполненный с возможностью исполнения программного кода для осуществления операций способа по пп.1-9.

20. Устройство для кодирования видеопоследовательности, содержащее процессор, выполненный с возможностью исполнения программного кода для осуществления операций способа по пп.10-18.

21. Долговременный считываемый компьютером носитель данных, хранящий программный код для кодирования и/или декодирования видеопоследовательности, который при исполнении посредством одного или более процессоров устройства по пп.19 и/или 20 позволяет осуществить операции способа по пп.1-9 и/или 10-18.


Полный текст патента

(57) Реферат / Формула:

1. Способ декодирования видеопоследовательности, при этом способ содержит этапы, на которых принимают кодированную видеопоследовательность, содержащую кодированные изображения видеопоследовательности; и принимают параметры синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.

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

3. Способ по п.1, в котором прием параметров синхронизации для кодированной видеопоследовательности дополнительно содержит этап, на котором принимают временную шкалу и число единиц в такте синхросигнала по меньшей мере в одной из синтаксической VPS-структуры и синтаксической SPS-структуры.

4. Способ по п.1, в котором параметры синхронизации содержат параметры синхронизации для операций гипотетического эталонного декодирования.

5. Способ по п.1, в котором упомянутое условие не включает в себя зависимость от элемента синтаксиса в синтаксической структуре параметров гипотетического эталонного декодера (HRD) синтаксической VPS-структуры или синтаксической SPS-структуры.

6. Способ по п.1, в котором синтаксическая VPS-структура включает в себя упомянутое условие.

7. Способ по п.6, в котором синтаксическая VPS-структура включает в себя упомянутое условие в качестве элемента vps_рос_proportional_to_timing_flag синтаксиса.

8. Способ по п.1, в котором синтаксическая SPS-структура включает в себя упомянутое условие.

9. Способ по п.8, в котором синтаксическая SPS-структура включает в себя упомянутое условие в качестве элемента sps_poc_proportional_to_timing_flag синтаксиса.

10. Способ для кодирования видеопоследовательности, при этом способ содержит этапы, на которых кодируют изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность, содержащую кодированные изображения; и сигнализируют параметры синхронизации для кодированной видеопоследовательности посредством непосредственной сигнализации условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1 по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.

11. Способ по п.10, в котором упомянутое условие не включает в себя зависимость от элемента синтаксиса, сигнализируемого в синтаксической структуре параметров гипотетического эталонного декодера (HRD).

12. Способ по п.10, в котором сигнализация параметров синхронизации дополнительно содержит этап, на котором сигнализируют временную шкалу и число единиц в такте синхросигнала по меньшей мере в одной из синтаксической VPS-структуры и синтаксической SPS-структуры.

13. Способ по п.10, в котором непосредственная сигнализация упомянутого условия содержит этап, на котором сигнализируют упомянутое условие в синтаксической VPS-структуре.

14. Способ по п.13, в котором сигнализация упомянутого условия в синтаксической VPS-структуре содержит этап, на котором сигнализируют упомянутое условие в качестве элемента vps_poc_proportional_to_timing_flag синтаксиса.

15. Способ по п.10, в котором непосредственная сигнализация упомянутого условия содержит этап, на котором сигнализируют упомянутое условие в синтаксической SPS-структуре.

16. Способ по п.15, в котором сигнализация упомянутого условия в синтаксической SPS-структуре содержит этап, на котором сигнализируют упомянутое условие в качестве элемента sps_рос_proportional_to_timing_flag синтаксиса.

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

18. Способ по п.10, в котором параметры синхронизации содержат параметры синхронизации для операций гипотетического эталонного декодирования.

19. Устройство для декодирования видеопоследовательности, содержащее процессор, выполненный с возможностью исполнения программного кода для осуществления операций способа по пп.1-9.

20. Устройство для кодирования видеопоследовательности, содержащее процессор, выполненный с возможностью исполнения программного кода для осуществления операций способа по пп.10-18.

21. Долговременный считываемый компьютером носитель данных, хранящий программный код для кодирования и/или декодирования видеопоследовательности, который при исполнении посредством одного или более процессоров устройства по пп.19 и/или 20 позволяет осуществить операции способа по пп.1-9 и/или 10-18.


Евразийское 032226 (13) B1
патентное
ведомство
(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ЕВРАЗИЙСКОМУ ПАТЕНТУ
(45) Дата публикации и выдачи патента 2019.04.30
(21) Номер заявки 201591235
(22) Дата подачи заявки
2013.12.20
(51) Int. Cl.
H04N19/70 (2014.01) H04N19/149 (2014.01)
H04N 19/44 (2014.01)
H04N19/46 (2014.01)
(54) СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ
(31) 61/749,866; 14/061,130
(32) 2013.01.07; 2013.10.23
(33) US
(43) 2015.11.30
(86) PCT/US2013/077267
(87) WO 2014/107360 2014.07.10
(71) (73) Заявитель и патентовладелец:
КВЭЛКОММ ИНКОРПОРЕЙТЕД
(US)
(72) Изобретатель:
Ван Е-Куй (US)
(74) Представитель:
Медведев В.Н. (RU)
(56) BROSS В. ЕТ AL.: "High Efficiency Video Coding (HEVC) text specification draft 9 (SoDIS) - version v1", 11. JCT-VC MEETING; 102. MPEG MEETING; 10-10-2012
- 19-10-2012; SHANGHAI; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/ SC29/WG11 AND ITU-T SG.16); URL: HTTP:// WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-K1003, 21 October 2012 (2012-10-21), XP030113269, paragraph [7.3.2.1], paragraph [7.3.2.2], paragraph [7.4.2.1], paragraph [7.4.2.2], paragraph [AnnexE1.1], paragraph [AnnexE1.2], paragraph [AnnexC]
HAQUE M. ET AL.: "Simplifications of HRD parameters for Temporal Scalability", 10. JCT-VC MEETING; 101. MPEG MEETING; 11-7-2012 -
20-7-2012; STOCKHOLM; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/
SC29/WG11 AND ITU-T SG.16); URL: HTTP:// WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-J0272, 3 July 2012 (2012-07-03), XP030112634, the whole document
HAQUE (SONY) M. ET AL.: "AHG10: VUI and HRD syntax designs agreed by the BoG on VPS and NUH", 10. JCT-VC MEETING; 101. MPEG MEETING; 11-7-2012
- 20-7-2012; STOCKHOLM; (JOINT COLLABORATIVE
TEAM ON VIDEO CODING OF ISO/IEC JTC1/
SC29/WG11 AND ITU-T SG.16); URL: HTTP://
WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-J0548, 14 July 2012 (2012-07-14), XP030112910, the whole document
Y.-K. WANG (QUALCOMM): "AHG9: On fixed_pic_rate_f1ag", 10. JCT-VC MEETING; 101. MPEG
MEETING; 11-7-2012 - 20-7-2012; STOCKHOLM; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T
SG.16 ); URL: http://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-J0570, 15 July 2012 (2012-07-15), XP030112932, the whole document
SACHIN DESHPANDE ET AL.: "An improved hypothetical reference decoder for HEVC", PROCEEDINGS OF SPIE, vol. 8666, 21 February
2013 (2013-02-21), page 866608, XP055093190, ISSN:
0277-786X, DOI: 10.1117/12.2009907, the whole document JENNIFER L.H. WEBB: "HRD Conformance for Real-time H.264 Video Encoding", IMAGE PROCESSING, 2007. ICIP 2007. IEEE INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 September 2007 (2007-09-01), pages V-305, XP031158546, ISBN: 978-1-4244-1436-9, the whole document
CHOU P.A. ET AL.: "A generalized hypothetical reference decoder for H.264/AVC", IEEE
TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER,
PISCATAWAY, NJ, US, vol. 13, no. 7, 1 July
2003 (2003-07-01), pages 674-687, XP011099259, ISSN:
1051-8215, DOI: 10.1109/TCSVT.2003.814965, the whole document
CHEN Y. ET AL.: "3D-HLS: Video parameter set for 3D-HEVC", 1. JCT-3V MEETING; 101. MPEG MEETING; 16-7-2012 - 20-7-2012; STOCKHOLM; (THE
JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC
JTC1/SC29/WG11 AND ITU-T SG.16); URL: HTTP:// PHENIX.INT-EVRY.FR/JCT2/, no. JCT3V-A0099, 11 July 2012 (2012-07-11), XP030130098, the whole document
Y-K WANG ET AL.: "AHG9: On video parameter set", 11. JCT-VC MEETING; 102. MPEG
MEETING; 10-10-2012 - 19-10-2012; SHANGHAI; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T
SG.16); URL: http://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-K0125, 1 October 2012 (2012-10-01), XP030113007, the whole document
(57) Изобретение предусматривает кодирование изображений видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность, содержащую кодированные изображения, и сигнализацию параметров синхронизации для кодированной видеопоследовательности посредством непосредственной сигнализации условия для сигнализации
числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность. Другой пример предусматривает прием параметров синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности РОС-значений, равной 1, непосредственно по меньшей мере в одной из синтаксической VPS-структуры, к которой обращается кодированная видеопоследовательность, и синтаксической SPS-структуры, к которой обращается кодированная видеопоследовательность.
Эта заявка испрашивает приоритет предварительной заявки (США) № 61/749866, поданной 7 января 2013 г., содержимое которой полностью содержится в данном документе по ссылке.
Область техники, к которой относится изобретение Данное раскрытие относится к кодированию видео и видеообработке, а более конкретно, к технологиям для сигнализации информации синхронизации в видеоинформации.
Уровень техники
Поддержка цифрового видео может быть включена в широкий диапазон устройств, включающих в себя цифровые телевизионные приемники, системы цифровой прямой широковещательной передачи, беспроводные широковещательные системы, персональные цифровые устройства (PDA), переносные или настольные компьютеры, планшетные компьютеры, устройства для чтения электронных книг, цифровые камеры, цифровые записывающие устройства, цифровые мультимедийные проигрыватели, устройства видеоигр, консоли для видеоигр, сотовые или спутниковые радиотелефоны, так называемые "смартфоны", устройства видеоконференц-связи, устройства потоковой передачи видео и т.п. Цифровые видеоустройства реализуют такие технологии сжатия видео, как технологии сжатия видео, описанные в стандартах, заданных посредством стандартов MPEG-2, MPEG-4, ITU-T H.263, ITU-T I1264/MPEG-4, часть 10, усовершенствованное кодирование видео (AVC), стандарта высокоэффективного кодирования видео (HEVC), и расширений таких стандартов. Видеоустройства могут передавать, принимать, кодировать, декодировать и/или сохранять цифровую видеоинформацию более эффективно посредством реализации таких технологий сжатия видео.
Технологии сжатия видео выполняют пространственное (внутрикадровое) прогнозирование и/или временное (межкадровое) прогнозирование для того, чтобы уменьшать или удалять избыточность, внутренне присущую в видеопоследовательностях. Для блочного кодирования видео видеослайс (т.е. видеокадр или часть видеокадра) может быть сегментирован на видеоблоки, которые также могут упоминаться как древовидные блоки, единицы кодирования (CU) и/или узлы кодирования. Видеоблоки во внутренне кодированном (I-) слайсе изображения кодируются с использованием пространственного прогнозирования относительно опорных выборок в соседних блоках в идентичном изображении. Видеоблоки в во внешне кодированном (Р- или В-) слайсе изображения могут использовать пространственное прогнозирование относительно опорных выборок в соседних блоках в идентичном изображении или временное прогнозирование относительно опорных выборок в других опорных изображениях. Изображения могут упоминаться как кадры, и опорные изображения могут упоминаться как опорные кадры.
Пространственное или временное прогнозирование использует прогнозирующий блок. Остаточные данные представляют пиксельные разности между исходным блоком, который должен быть кодирован, и прогнозирующим блоком. Внешне кодированный блок кодируется согласно вектору движения, который указывает на блок опорных выборок, формирующих прогнозирующий блок, и остаточным данным, указывающим разность между кодированным блоком и прогнозирующим блоком. Внутренне кодированный блок кодируется согласно режиму внутреннего кодирования и остаточным данным. Для дополнительного сжатия остаточные данные могут быть преобразованы из пиксельной области в область преобразования, приводя к остаточным коэффициентам преобразования, которые затем могут быть квантованы. Квантованные коэффициенты преобразования, первоначально размещаемые в двумерном массиве, могут сканироваться для того, чтобы формировать одномерный вектор коэффициентов преобразования, и может применяться энтропийное кодирование с тем, чтобы достигать еще большего сжатия.
Данная кодированная видеопоследовательность, кодированная в поток битов, включает в себя упорядоченную последовательность кодированных изображений. В H.264/AVC- и HEVC-стандартах порядок декодирования кодированных изображений для потока битов является эквивалентным упорядоченной последовательности. Тем не менее, стандарты также поддерживают порядок вывода декодированных изображений, который отличается от порядка декодирования, и в таких случаях каждое из кодированных изображений ассоциировано со значением номера в порядке изображений (РОС), которое указывает порядок вывода для изображения в видеопоследовательности.
Информация синхронизации видео для видеопоследовательности может сигнализироваться в элементах синтаксиса одной или более синтаксических структур (альтернативно называемых "структурами наборов параметров" или просто "наборами параметров"). Синтаксические структуры могут включать в себя набор параметров последовательности (SPS), который включает в себя информацию кодирования, которая применяется ко всем слайсам кодированной видеопоследовательности. SPS может непосредственно включать в себя параметры, называемые "информацией применимости видео (VUI)", которые включают в себя информацию гипотетического эталонного декодера (HRD), а также информацию для улучшения использования соответствующей видеопоследовательности в различных целях. HRD-информация может непосредственно сигнализироваться с использованием синтаксической HRD-структуры, включаемой в другие синтаксические структуры, к примеру, в синтаксическую VUI-структуру. Синтаксические структуры также могут включать в себя набор параметров видео (VPS), который описывает характеристики соответствующей видеопоследовательности, к примеру, общие элементы синтаксиса, совместно используемые посредством нескольких слоев или рабочих точек, а также другую информацию рабочих точек, которая может быть общей для нескольких наборов параметров после
довательности, к примеру, HRD-информацию для различных слоев или подслоев.
Сущность изобретения
В общем, это раскрытие описывает технологии для кодирования видео, а более конкретно, технологии для сигнализации информации синхронизации, например, чтобы указывать синхронизацию вывода изображений и/или задавать модель буферизации, к примеру, гипотетический эталонный декодер (HRD). В некоторых примерах технологии могут включать в себя непосредственную сигнализацию, в синтаксической структуре наборов параметров видео (VPS) или в части информации применимости видео (VUI) синтаксической структуры набора параметров последовательности (SPS) для кодированной видеопоследовательности, одного или более элементов синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1.
В одном примере раскрытия, способ для кодирования видеоданных включает в себя кодирование изображений видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность, содержащую кодированные изображения, и сигнализацию параметров синхронизации для кодированной видеопоследовательности посредством непосредственной сигнализации условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1 по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
В другом примере раскрытия способ для обработки видеоданных включает в себя прием кодированной видеопоследовательности, содержащей кодированные изображения видеопоследовательности, и прием параметров синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно в по меньшей мере одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
В другом примере раскрытие описывает устройство для кодирования видеоданных, причем устройство включает в себя процессор, выполненный с возможностью кодировать изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность, содержащую кодированные изображения, и сигнализировать параметры синхронизации для кодированной видеопоследовательности посредством непосредственной сигнализации условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1 по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
В другом примере раскрытие описывает устройство для обработки видеоданных, причем устройство включает в себя процессор, выполненный с возможностью принимать кодированную видеопоследовательность, содержащую кодированные изображения видеопоследовательности, и принимать параметры синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
В другом примере раскрытие описывает устройство для обработки видеоданных, причем устройство включает в себя средство для приема кодированной видеопоследовательности, содержащей кодированные изображения видеопоследовательности, и средство для приема параметров синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
В другом примере раскрытие описывает считываемый компьютером носитель данных. Считываемый компьютером носитель данных имеет сохраненные инструкции, которые при исполнении побуждают один или более процессоров принимать кодированную видеопоследовательность, содержащую кодированные изображения видеопоследовательности, и принимать параметры синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к
которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
Подробности одного или более примеров изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки, цели и преимущества должны становиться очевидными из описания и чертежей и из формулы изобретения.
Краткое описание чертежей
Фиг. 1 является блок-схемой, иллюстрирующей примерную систему кодирования и декодирования видео, которая может использовать технологии, описанные в этом раскрытии;
фиг. 2 - блок-схемой, иллюстрирующей примерный видеокодер, который может реализовывать технологии, описанные в этом раскрытии;
фиг. 3 - блок-схемой, иллюстрирующей примерный видеодекодер, который может реализовывать технологии, описанные в этом раскрытии;
фиг. 4 - блок-схемой, иллюстрирующей информацию синхронизации для примерной структуры кодирования для набора опорных изображений согласно технологиям, описанным в данном документе;
фиг. 5 - блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии;
фиг. 6А-6В - блок-схемами последовательности операций, иллюстрирующими примерные способы работы согласно технологиям, описанным в этом раскрытии;
фиг. 7 - блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии;
фиг. 8 - блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии;
фиг. 9А-9В являются блок-схемами последовательности операций, иллюстрирующими примерные способы работы согласно технологиям, описанным в этом раскрытии;
фиг. 10 - блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии.
Подробное описание изобретения
Это раскрытие описывает различные технологии для кодирования видео, а более конкретно, в технологии для сигнализации информации синхронизации, например, чтобы указывать синхронизацию вывода изображений и/или задавать модель буферизации или декодирования, к примеру, гипотетический эталонный декодер (HRD). В общем, термин "сигнализирование" ("сигнализация") используется в этом раскрытии, чтобы означать сигнализирование, которое осуществляется в кодированном потоке битов. Кодер может формировать элементы синтаксиса, чтобы сигнализировать информацию в потоке битов в качестве части процесса кодирования видео. Устройство декодирования или другое устройство видеообработки может принимать кодированный поток битов и интерпретировать элементы синтаксиса в кодированном потоке битов в качестве части процесса декодирования видео или другой видеообработки.
Например, чтобы указывать время вывода для переключения с данного изображения на следующее изображение в кодированной видеопоследовательности согласно упорядочению вывода, информация синхронизации для кодированной видеопоследовательности в некоторых случаях может сигнализировать число тактов синхросигнала, которое соответствует разности значений номеров в порядке изображений (РОС), равной единице. Разность РОС-значений, равная единице, может представлять разность между РОС-значением для данного изображения и РОС-значением для следующего изображения согласно упорядочению вывода, например РОС-значением для второго изображения и РОС-значением для третьего изображения согласно упорядочению вывода. Информация синхронизации видео также может включать в себя условие, которое точно определяет то, сигнализирует или нет информация синхронизации видео число тактов синхросигнала, которое соответствует разности значений номеров в порядке изображений, равной единице. Другими словами, только если условие выполняется, информация синхронизации видео сигнализирует число тактов синхросигнала, которое соответствует разности значений номеров в порядке изображений, равной единице. В некоторых случаях условие не выполняется, и информация синхронизации видео не сигнализирует число тактов синхросигнала, которое соответствует разности значений номеров в порядке изображений, равной единице. Число тактов синхросигнала может зависеть от временной шкалы (соответствующей, например, частоте осциллятора - к примеру, 27 МГц -которая задает систему временных координат для сигнализируемой информации), и числа единиц времени синхросигнала, работающего при временной шкале, которое соответствует одному приращению счетчика тактов синхросигнала, который упоминается в качестве "такта синхросигнала".
В некоторых примерах технологии этого раскрытия могут включать в себя непосредственную сигнализацию, в синтаксической VPS-структуре или в VUI-части синтаксической SPS-структуры для кодированной видеопоследовательности, всех элементов синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности РОС-значений, равной 1. Иными словами, в некоторых случаях, условие может иметь одну или более зависимостей от дополнительной информации (т.е. элементов синтаксиса), сигнализируемой в синтаксической VPS-структуре или в VUI-части синтаксической SPS-структуры. Эти элементы синтаксиса могут включать в себя флаг присутствия ин
формации синхронизации, как описано ниже.
Стандарты кодирования видео включают в себя ITU-T Н.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 или ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual и ITU-T H.264 (также известный как ISO/IEC MPEG-4 AVC), включающий в себя расширения масштабируемого кодирования видео (SVC) и кодирования многовидового видео (MVC).
Помимо этого, предусмотрен новый стандарт кодирования видео, а именно стандарт высокоэффективного кодирования видео (HEVC), разрабатываемый посредством Объединенной группы для совместной работы над видеостандартами (JCT-VC) Экспертной группы в области кодирования видео (VCEG) ITU-T и Экспертной группы по киноизображению (MPEG) ISO/IEC. Последним рабочим проектом (WD) HEVC, называемым "HEVC WD9" или просто "WD9" в дальнейшем в этом документе, является работа авторов Bross и др. "Proposed editorial improvements for High Efficiency Video Coding (HEVC) text specification draft 9 (SoDIS)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Женева, СН, 14-23 января 2013 года, доступная по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L0030-v1.zip, с 7 января 2013 г.
Последний проект HEVC-стандарта, называемый "рабочим проектом HEVC 10" или "WD10", описывается в документе JCTVC-L1003v34, авторов Bross и др. "High efficiency video coding (HEVC) text specification draft 10 (for FDIS and Last Call)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 12th Meeting: Женева, СН, 14-23 января 2013, который доступен для загрузки по адресу: http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip.
Другой проект HEVC-стандарта, упоминаемый в данном документе как "исправления WD10", описывается в работе Bross и др. " Editors' proposed corrections to HEVC version 1", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 13th Meeting, Инчхон, KR, апрель 2013 года, которая с 7 июня 2013 года доступна по адресу http://phenix.int-evry.fr/jct/doc end us-
er/documents/13 Incheon/wg11/JCTVC-M0432-v3.zip.
Работа по стандартизации HEVC основана на модели устройства кодирования видео, называемой "тестовой моделью HEVC (НМ)". НМ учитывает улучшения характеристик текущих устройств кодирования видео относительно устройств кодирования видео, доступные в ходе разработки других предыдущих стандартов кодирования видео, например, ITU-T H.264/AVC. Например, тогда как Н.264 предоставляет девять режимов внутреннего прогнозирующего кодирования, HEVC предоставляет целых тридцать пять режимов внутреннего прогнозирующего кодирования. Весь контент HEVC WD9 и HEVC WD10 содержится в данном документе по ссылке.
Стандарты кодирования видео типично включают в себя спецификацию модели буферизации видео. В AVC и HEVC, модель буферизации упоминается в качестве гипотетического эталонного декодера (HRD), который включает в себя модель буферизации как буфера кодированных изображений (СРВ), так и буфера декодированных изображений (DPB). Как задано в HEVC WD9, HRD представляет собой модель гипотетического декодера, которая указывает ограничения на вариативность потоков единицы уровня абстрагирования от сети (NAL) или соответствие потоков байтов, которые может формировать процесс кодирования.
СРВ- и DPB-режимы работы указываются математически. HRD прямо налагает ограничения на различную синхронизацию, размеры буферов и скорости передачи битов и косвенно налагает ограничения на характеристики и статистику по потоку битов. Полный набор HRD-параметров включает в себя пять базовых параметров: начальная задержка удаления из СРВ, СРВ-размер, скорость передачи битов, начальная задержка DPB-вывода и DPB-размер.
В AVC и HEVC соответствие потока битов и соответствие декодера указываются в качестве частей HRD-спецификации. Хотя "гипотетический эталонный декодер" включает в себя термин "декодер", HRD типично требуется на стороне кодера для того, чтобы гарантировать соответствие потока битов, и типично не требуется на стороне декодера. Указываются два типа соответствия потока битов или HRD-соответствия, а именно, тип I и тип II. Кроме того, указываются два типа соответствия декодера, соответствие декодера по синхронизации вывода и соответствие декодера по порядку вывода.
В HEVC WD9 HRD-операции требуют параметров, сигнализируемых в синтаксических структурах hrd parameters(), сообщениях с дополнительной улучшающей информацией (SEI) по периоду буферизации, SEI-сообщениях по синхронизации изображений и иногда также в SEI-сообщениях с информацией единиц декодирования. Синтаксические структуры hrd parameters() могут сигнализироваться в наборе параметров видео (VPS), в наборе параметров последовательности (SPS) или в любой комбинации вышеозначенного.
В HEVC WD9 синтаксическая структура hrd_parameters() включает в себя элементы синтаксиса для сигнализации информации синхронизации видео, включающей в себя временную шкалу и число единиц в такте синхросигнала. Часть информации применимости видео (VUI) SPS включает в себя флаг, указывающий то, является или нет значение номера в порядке изображений (РОС) для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной
видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности; если да, то число тактов синхросигнала, соответствующее разности значений номеров в порядке изображений, равной 1.
Связанные синтаксис и семантика в HEVC WD9 следующие. Табл. 1 показывает примерную синтаксическую структуру первичной байтовой последовательности данных (RBSP) набора параметров видео согласно WD9.
Таблица 1. Примерная синтаксическая RBSP-структура наборов параметров видео
video_parameter_set_rbsp() {
Дескриптор
...
vps_num_hrd_parameters
ue(v)
for( i = 0; i < vps_num_hrd_parameters; i++) {
hrd_op_set_idx[ i ]
ue(v)
if(i> 0)
cprmsjpresen t_flag[ i ]
u(l)
hrd_parameters( cprms jresent flag[ i ], vps max sub layers minus 1 )
...
В вышеприведенной табл. 1, элемент vps_num_hrd_parameters синтаксиса указывает число синтаксических структур hrd_parameters(), присутствующих в первичной байтовой последовательности данных (RBSP) набора параметров видео. В потоках битов, соответствующих этой версии этой спецификации, значение vps_num_hrd_parameters должно быть меньше или равным 1. Хотя значение vps_num_hrd_parameters должно быть меньше или равным 1 в HEVC WD9, декодеры должны давать возможность появления других значений vps_num_hrd_parameters в диапазоне от 0 до 1024 включительно в синтаксисе.
Элемент hrd_op_set_idx[i] синтаксиса
точно определяет индекс, в списке наборов рабочих точек, указываемых посредством набора параметров видео, набора рабочих точек, к которому применяется i-я синтаксическая структура hrd_parameters() в наборе параметров видео (VPS). В потоках битов, соответствующих этой версии этой спецификации, значение hrd_op_set_idx[i];
должно быть равно 0. Хотя значение hrd_op_set_idx[i] должно быть меньше или равным 1 в HEVC WD9, декодеры должны давать возможность появления других значений hrd_op_set_idx[i] в диапазоне от 0 до 1023 в синтаксисе.
Элемент cprms_present_flag[i] синтаксиса равный 1, указывает то, что HRD-параметры, которые являются общими для всех подслоев, присутствуют в i-й синтаксической структуре hrd_parameters() в наборе параметров видео; cprms present_flag[i], равный 0, указывает то, что HRD-параметры, которые являются общими для всех подслоев, не присутствуют в i-й синтаксической структуре hrd parameters() в наборе параметров видео и извлекаются как идентичные (ь1)-й синтаксической структуре hrd_parameters() в наборе параметров видео; cprms_present_flag[0] логически выводится равным 1.
Нижеприведенная табл. 2 показывает синтаксическую структуру VUI-параметров согласно WD9.
В вышеприведенной табл. 2 элемент hrd_parameters_present_flag синтаксиса, равный 1, указывает то, что синтаксическая структура hrd_parameters() присутствует в синтаксической структуре vui parame-ters(); hrd_parameters_present_flag, равный 0, указывает то, что синтаксическая структура hrd_parameters() не присутствует в синтаксической структуре vui_parameters().
Элемент рос_proportional_to_timing_flag синтаксиса, равный 1, указывает то, что значение номера в порядке изображений для каждого изображения в кодированной видеопоследовательности, которое не
является первым изображением в кодированной видеопоследовательности в порядке декодирования, является пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности; poc_proportional_to_timing_flag, равный 0, указывает то, что значение номера в порядке изображений для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, может быть пропорциональным или не быть пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности.
Элемент num_ticks_poc_diff_one_minus1 синтаксиса плюс 1 указывает число тактов синхросигнала, соответствующее разности значений номеров в порядке изображений, равной 1.
Нижеприведенная табл. 3 показывает примерную синтаксическую структуру HRD-параметров согласно WD9.
Таблица 3. Примерная синтаксическая структура HRD-параметров
hrd_parameters( commonlnfPresentFlag, maxNumSubLayersMinusl ) {
Дескриптор
if( commonlnfPresentFlag) {
timing_info_preseii t_flag
u(l)
if( timing infojpresent flag) {
num_units_in_tick
11(32)
time_scale
u(32)
...
В вышеприведенной табл. 3, элемент timing_info_present_flag синтаксиса, равный 1, указывает то, что num_units_in_tick и timescale присутствуют в синтаксической структуре hrd_parameters(). Если tim-ing_info_present_flag равен 0, num_units_in_tick и time_scale не присутствуют в синтаксической структуре hrd_parameters(). Если не присутствуют, значение timing_info_present_flag логически выводится равным
Элемент num_units_in_tick синтаксиса является числом единиц времени синхросигнала, работающего на частоте timescale Гц, которая соответствует одному приращению (называемому "тактом синхросигнала") счетчика тактов синхросигнала. Значение для элемента num_units_in_tick синтаксиса должно превышать 0. Такт синхросигнала является минимальным интервалом времени, который может быть представлен в кодированных данных, когда sub_pic_cpb_params_present_flag равен 0. Например, когда частота кадров видеосигнала составляет 25 Гц, time scale может быть равен 27000000, и num_units_in_tick может быть равен 1080000.
Элемент time_scale синтаксиса является числом единиц времени, которые проходят за одну секунду. Например, система временных координат, которая измеряет время с использованием синхросигнала в 27 МГц, имеет timescale в 27000000. Значение для элемента time scale синтаксиса должно превышать 0.
Сигнализирование синхронизации, как указано в HEVC WD9 и как описано выше, может демонстрировать ряд проблем. Во-первых, условие для сигнализации элемента num_ticks_рос_di^f_one_minus1 синтаксиса представляет собой "if(poc_proportional_to_timing_flag andand timing_info_present_flag)". Это условие включает в себя зависимости от двух сигнализируемых элементов синтаксиса: рос_proportional_to_timing_flag и timing_info_present_flag. Тем не менее, из спецификации HEVC WD9 неясно, обращается timing_info_present_flag для условия к элементу timing_info_present_flag синтаксиса синтаксической структуры hrd_parameters() (если есть) в VUI-части SPS либо обращается к элементу tim-ing_info_present_flag синтаксиса синтаксической структуры hrd_parameters() в VPS.
Помимо этого, несколько слоев или несколько возможных поднаборов потоков битов масштабируемого потока видеобитов могут совместно использовать общие значения временной шкалы и числа единиц в такте синхросигнала, которые указываются в HEVC WD9 в элементах time_scale и num_units_in_tick синтаксиса синтаксической структуры hrd_parameters(), которая может многократно сигнализироваться, например, в VUI-части SPS и в VPS. Такая репликация, если присутствует в потоке битов, может приводить к битовым потерям.
Более того, значения номеров в порядке изображений (РОС) типично являются пропорциональными временам вывода для всех слоев масштабируемого потока видеобитов, если РОС-значения являются пропорциональными временам вывода для какого-либо из слоев масштабируемого потока видеобитов. Тем не менее, спецификация HEVC WD9 не предусматривает сигнализирования в масштабируемом потоке видеобитов, указания того, что РОС-значения являются пропорциональными временам вывода для всех слоев или всех возможных поднаборов потоков битов для масштабируемого потока видеобитов. Ссылка на "слой" масштабируемого потока видеобитов может означать, например, масштабируемый слой, вид текстуры и/или вид глубины. Помимо этого, хотя HEVC WD9 указывает то, что флаг рос_proportional_to_timing_flag всегда сигнализируется в VUI-синтаксисе, всегда сигнализируется в син
таксической VUI-структуре SPS, флаг poc_proportional_to_timing_flag не имеет полезности, если элементы time_scale и num_units_in_tick синтаксиса также не сигнализированы в потоке битов.
Технологии этого раскрытия позволяют разрешать одну или более вышеуказанных проблем, а также предоставлять другие улучшения, чтобы обеспечивать эффективную сигнализацию параметров для HRD-операций. Различные примеры технологий описываются в данном документе в отношении HEVC WD9 и потенциальных его улучшений. Решения применяются к любым стандартам кодирования видео, включающим в себя AVC и HEVC, например, которые включают в себя спецификацию для модели буферизации видео, хотя в целях иллюстрации описание является конкретным для сигнализации HRD-параметров, заданной в HEVC WD9 и модифицированной в соответствии с технологиями этого раскрытия.
Фиг. 1 является блок-схемой, иллюстрирующей примерную систему 10 кодирования и декодирования видео, которая может использовать технологии, описанные в этом раскрытии. Как показано на фиг. 1, система 10 включает в себя устройство-источник 12, которое формирует кодированные видеоданные, которые должны быть декодированы впоследствии посредством устройства-адресата 14. Устройство-источник 12 и устройство-адресат 14 могут содержать любые из широкого диапазона устройств, включающих в себя настольные компьютеры, ноутбуки (т.е. переносные компьютеры), планшетные компьютеры, абонентские приставки, телефонные трубки, к примеру, так называемые "смартфоны", так называемые "интеллектуальные сенсорные панели", телевизионные приемники, камеры, устройства отображения, цифровые мультимедийные проигрыватели, консоли для видеоигр, устройства потоковой передачи видео и т.п. В некоторых случаях устройство-источник 12 и устройство-адресат 14 могут быть оснащены возможностями беспроводной связи.
Устройство-адресат 14 может принимать кодированные видеоданные, которые должны быть декодированы, через линию 16 связи. Линия 16 связи может содержать любой тип носителя или устройства, допускающего перемещение кодированных видеоданных из устройства-источника 12 в устройство-адресат 14. В одном примере, линия 16 связи может содержать среду связи, чтобы обеспечивать возможность устройству-источнику 12 передавать кодированные видеоданные непосредственно в устройство-адресат 14 в реальном времени. Кодированные видеоданные могут быть модулированы согласно стандарту связи, такому как протокол беспроводной связи, и переданы в устройство-адресат 14. Среда связи может содержать любую беспроводную или проводную среду связи, такую как радиочастотный (RF) спектр или одна или более физических линий передачи. Среда связи может формировать часть сети с коммутацией пакетов, такой как локальная вычислительная сеть, глобальная вычислительная сеть либо глобальная сеть, такая как Интернет. Среда связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезным для того, чтобы упрощать передачу из устройства-источника 12 в устройство-адресат 14.
Альтернативно, кодированные данные могут выводиться из интерфейса 22 вывода в устройство 34 хранения. Аналогично, к кодированным данным может осуществляться доступ из устройства 34 хранения посредством интерфейса ввода. Устройство 34 хранения может включать в себя любые из множества носителей данных с распределенным или локальным доступом, такие как жесткий диск, Blu-Ray-диски, DVD, CD-ROM, флэш-память, энергозависимое или энергонезависимое запоминающее устройство или любые другие подходящие цифровые носители данных для сохранения кодированных видеоданных. В дополнительном примере устройство 34 хранения может соответствовать файловому серверу или другому промежуточному устройству хранения данных, которое может хранить кодированное видео, сформированное посредством устройства-источника 12. Устройство-адресат 14 может осуществлять доступ к сохраненным видеоданным из устройства 34 хранения через потоковую передачу или загрузку. Файловый сервер может быть любым типом сервера, допускающего сохранение кодированных видеоданных и передачу этих кодированных видеоданных в устройство-адресат 14. Примерные файловые серверы включают в себя веб-сервер (например, для веб-узла), FTP-сервер, устройства системы хранения данных с подключением по сети (NAS) или локальный накопитель на дисках. Устройство-адресат 14 может осуществлять доступ к кодированным видеоданным через любое стандартное подключение для передачи данных, включающее в себя Интернет-подключение. Оно может включать в себя беспроводной канал (например, Wi-Fi-подключение), проводное подключение (например, DSL, кабельный модем и т.д.) или комбинацию означенного, которая является подходящей для того, чтобы осуществлять доступ к кодированным видеоданным, сохраненным на файловом сервере. Передача кодированных видеоданных из устройства 34 хранения может представлять собой потоковую передачу, передачу на основе загрузки или комбинацию вышеозначенного.
Технологии этого раскрытия не обязательно ограничены приложениями или настройками беспроводной связи. Технологии могут применяться к кодированию видео в поддержку любых из множества мультимедийных приложений, таких как телевизионные широковещательные передачи по радиоинтерфейсу, кабельные телевизионные передачи, спутниковые телевизионные передачи, потоковые передачи видео, например, через Интернет, кодирование цифрового видео для хранения на носителе данных, декодирование цифрового видео, сохраненного на носителе данных, или другие приложения. В некоторых примерах система 10 может быть выполнена с возможностью поддерживать одностороннюю или двусто
роннюю передачу видео, чтобы поддерживать такие приложения, как потоковая передача видео, воспроизведение видео, широковещательная передача видео и/или видеотелефония.
В примере по фиг. 1 устройство-источник 12 включает в себя видеоисточник 18, видеокодер 20 и интерфейс 22 вывода. В некоторых случаях интерфейс 22 вывода может включать в себя модулятор/демодулятор (модем) и/или передающее устройство. В устройстве-источнике 12 видеоисточник 18 может включать в себя источник, такой как устройство видеозахвата, например видеокамера, видеоархив, содержащий ранее захваченное видео, интерфейс прямых видеотрансляций, чтобы принимать видео от поставщика видеоконтента, и/или компьютерную графическую систему для формирования компьютерных графических данных в качестве исходного видео, либо комбинацию таких источников. В качестве одного примера, если видеоисточник 18 представляет собой видеокамеру, устройство-источник 12 и устройство-адресат 14 могут формировать так называемые "камерофоны" или "видеофоны". Тем не менее, технологии, описанные в этом раскрытии, могут быть применимыми к кодированию видео в целом и могут применяться к беспроводным и/или проводным вариантам применения.
Захваченное, предварительно захваченное или машиногенерируемое видео может быть кодировано посредством видеокодера 20. Кодированные видеоданные могут быть переданы непосредственно в устройство-адресат 14 через интерфейс 22 вывода устройства-источника 12. Кодированные видеоданные также (или альтернативно) могут сохраняться на устройство 34 хранения для последующего доступа посредством устройства-адресата 14 или других устройств для декодирования и/или воспроизведения.
Устройство-адресат 14 включает в себя интерфейс 28 ввода, видеодекодер 30 и устройство 32 отображения. В некоторых случаях интерфейс 28 ввода может включать в себя приемное устройство и/или модем. Интерфейс 28 ввода устройства-адресата 14 принимает кодированные видеоданные по линии 16 связи. Кодированные видеоданные, передаваемые по линии 16 связи или предоставленные на устройстве 34 хранения, могут включать в себя множество элементов синтаксиса, сформированных посредством видеокодера 20 для использования посредством видеодекодера, такого как видеодекодер 30, при декодировании видеоданных. Такие элементы синтаксиса могут быть включены с кодированными видеоданными, передаваемыми на среде связи, сохраненными на носителе данных или сохраненными на файловом сервере.
Устройство 32 отображения может быть интегрированным или внешним для устройства-адресата 14. В некоторых примерах, устройство-адресат 14 может включать в себя интегрированное устройство отображения, а также выполнено с возможностью взаимодействовать с внешним устройством отображения. В других примерах устройство-адресат 14 может представлять собой устройство отображения. В общем, устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения.
Видеокодер 20 и видеодекодер 30 могут работать согласно такому стандарту сжатия видео, как стандарт высокоэффективного кодирования видео (HEVC), разрабатываемый в настоящее время, и могут соответствовать тестовой модели HEVC (НМ). Альтернативно, видеокодер 20 и видеодекодер 30 могут работать согласно другим собственным или отраслевым стандартам, таким как стандарт ITU-T H.264, альтернативно называемый "MPEG-4, часть 10, усовершенствованное кодирование видео (AVC)", или расширениям таких стандартов. Тем не менее, технологии этого раскрытия не ограничены каким-либо конкретным стандартом кодирования. Другие примеры стандартов сжатия видео включают в себя
MPEG-2 и ITU-T H.263.
Хотя не показано на фиг. 1, в некоторых аспектах видеокодер 20 и видеодекодер 30 могут быть интегрированы с аудиокодером и декодером соответственно и могут включать в себя соответствующие модули мультиплексора-демультиплексора либо другие аппаратные средства и программное обеспечение для того, чтобы обрабатывать кодирование как аудио, так и видео в общем потоке данных или в отдельных потоках данных. Если применимо, в некоторых примерах модули мультиплексора-демультиплексора могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).
Видеокодер 20 и видеодекодер 30 могут быть реализованы как любая из множества надлежащих схем кодера, к примеру, один или более микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретная логика, программное обеспечение, аппаратные средства, микропрограммное обеспечение либо любые комбинации вышеозначенного. Когда технологии реализуются частично в программном обеспечении, устройство может сохранять инструкции для программного обеспечения на подходящем долговременном считываемом компьютером носителе и выполнять инструкции в аппаратных средствах с использованием одного или более процессоров, чтобы осуществлять технологии этого раскрытия. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть комбинированного кодера/декодера (кодека) в соответствующем устройстве.
JCT-VC проводит работы по разработке HEVC-стандарта. Работа по стандартизации HEVC основа
на на усовершенствованной модели устройства кодирования видео, называемой "тестовой моделью HEVC (НМ)". НМ предполагает несколько дополнительных возможностей устройств кодирования видео относительно существующих устройств согласно, например, ITU-T H.264/AVC. Например, тогда как Н.264 предоставляет девять режимов внутреннего прогнозирующего кодирования, НМ может предоставлять целых тридцать три режима внутреннего прогнозирующего кодирования.
В общем, рабочая модель НМ описывает, что видеокадр или изображение может быть разделено на последовательность древовидных блоков или наибольших единиц кодирования (LCU), которые включают в себя выборки как сигнала яркости, так и сигнала цветности. Древовидный блок имеет назначение, аналогичное назначению макроблока по стандарту Н.264. Слайс включает в себя некоторое число последовательных древовидных блоков в порядке кодирования. Видеокадр или изображение может быть сегментировано на один или более слайсов. Каждый древовидный блок может разбиваться на единицы кодирования (CU) согласно дереву квадрантов. Например, древовидный блок в качестве корневого узла дерева квадрантов может разбиваться на четыре дочерних узла, и каждый дочерний узел, в свою очередь, может быть родительским узлом и разбиваться еще на четыре дочерних узла. Конечный, неразбитый дочерний узел в качестве концевого узла дерева квадрантов содержит узел кодирования, т.е. кодированный видеоблок. Синтаксические данные, ассоциированные с кодированным потоком битов, могут задавать максимальное число раз, которое может разбиваться древовидный блок, и также может задавать минимальный размер узлов кодирования.
CU включает в себя узел кодирования и единицы прогнозирования (PU) и единицы преобразования (TU), ассоциированные с узлом кодирования. Размер CU, в общем, соответствует размеру узла кодирования и типично должен иметь квадратную форму. Размер CU может колебаться от 8x8 пикселов вплоть до размера древовидного блока максимум в 64x64 пикселов или более. Каждая CU может содержать одну или более PU и одну или более TU. Синтаксические данные, ассоциированные с CU, могут описывать, например, сегментацию CU на одну или более PU. Режимы сегментации могут отличаться между тем, является CU кодированной в режиме пропуска или прямом режиме, кодированной в режиме внутреннего прогнозирования или кодированной в режиме внешнего прогнозирования. PU могут быть сегментированы таким образом, что они имеют неквадратную форму. Синтаксические данные, ассоциированные с CU, также могут описывать, например, сегментацию CU на одну или более TU согласно дереву квадрантов. TU может иметь квадратную или неквадратную форму.
HEVC-стандарт обеспечивает возможность преобразований согласно TU, которые могут отличаться для различных CU. Размеры NU типично задаются на основе размера PU в данной CU, заданного для сегментированной LCU, хотя это может не всегда иметь место. TU типично имеет идентичный размер или меньше по сравнению с PU. В некоторых примерах остаточные выборки, соответствующие CU, могут подразделяться на меньшие единицы с использованием структуры в виде дерева квадрантов, известной как "остаточное дерево квадрантов" (RQT). Концевые узлы RQT могут называться "единицами преобразования (TU)". Значения пиксельных разностей, ассоциированные с TU, могут быть преобразованы, чтобы формировать коэффициенты преобразования, которые могут быть квантованы.
В общем, PU включает в себя данные, связанные с процессом прогнозирования. Например, когда PU кодируется во внутреннем режиме, PU может включать в себя данные, описывающие режим внутреннего прогнозирования для PU. В качестве другого примера, когда PU кодируется во внешнем режиме, PU может включать в себя данные, задающие вектор движения для PU. Данные, задающие вектор движения для PU, могут описывать, например, горизонтальный компонент вектора движения, вертикальный компонент вектора движения, разрешение для вектора движения (например, точность в одну четверть пиксела или точность в одну восьмую пиксела), опорный кадр, на который указывает вектор движения, и/или список опорных изображений (например, список 0, список 1 или список С) для вектора движения.
В общем, TU используется для процессов преобразования и квантования. Данная CU, имеющая одну или более PU, также может включать в себя одну или более единиц преобразования (TU). После прогнозирования видеокодер 20 может вычислять остаточные значения из видеоблока, идентифицированного посредством узла кодирования в соответствии с PU. Узел кодирования затем обновляется таким образом, что он ссылается на остаточные значения, а не на исходный видеоблок. Остаточные значения содержат значения пиксельных разностей, которые могут быть преобразованы в коэффициенты преобразования, квантованы и сканированы с использованием преобразований и другой информации преобразования, указываемой в TU, чтобы формировать преобразованные в последовательную форму коэффициенты преобразования для энтропийного кодирования. Узел кодирования может еще раз обновляться таким образом, что он ссылается на эти преобразованные в последовательную форму коэффициенты преобразования. Это раскрытие типично использует термин "видеоблок" для того, чтобы означать узел кодирования CU. В некоторых конкретных случаях это раскрытие также может использовать термин "видеоблок" для того, чтобы означать древовидный блок, т.е. LCU или CU, которая включает в себя узел кодирования и PU и TU.
Видеопоследовательность типично включает в себя серии видеокадров или изображений. Группа изображений (GOP), в общем, содержит последовательность из одного или более видеоизображений.
GOP может включать в себя в заголовке GOP, в заголовке одного или более изображений или в другом месте синтаксические данные, которые описывают число изображений, включенных в GOP. Каждый слайс изображения может включать в себя синтаксические данные слайса, которые описывают режим кодирования для соответствующего слайса. Видеокодер 20 типично управляет видеоблоками в пределах отдельных видеослайсов для того, чтобы кодировать видеоданные. Видеоблок может соответствовать узлу кодирования в CU. Видеоблоки могут иметь фиксированные или варьирующиеся размеры и могут отличаться по размеру согласно указанному стандарту кодирования.
В качестве примера НМ поддерживает прогнозирование для различных PU-размеров. При условии, что размер конкретной CU составляет 2Nx 2N, HM поддерживает внутреннее прогнозирование для PU-размеров 2Nx2N или NxN и внешнее прогнозирование для симметричных PU-размеров 2Nx2N, 2NxN, Nx 2N или Nx N. HM также поддерживает асимметричную сегментацию для внешнего прогнозирования для PU-размеров 2NxnU, 2NxnD, nLx2N и nRx2N. При асимметричной сегментации одно направление CU не сегментируется, в то время как другое направление сегментируется на 25 и 75%. Часть CU, соответствующая 25%-ному сегменту, указывается посредством "n", после чего идет указание относительно "вверх (Up)", "вниз (Down)", "влево (Left)" или "вправо (Right)". Таким образом, например, "2NxnU" ссылается на CU 2Nx2N, которая сегментируется горизонтально с PU 2Nx0,5N вверху и PU 2Nx1,5N внизу.
В этом раскрытии "NxN" и "N на N" могут быть использованы взаимозаменяемо для того, чтобы ссылаться на размеры в пикселах видеоблока с точки зрения размеров по вертикали и горизонтали, например 16x 16 пикселов, или 16 на 16 пикселов. В общем, блок 16x 16 должен иметь 16 пикселов в вертикальном направлении (у=16) и 16 пикселов в горизонтальном направлении (х=16). Аналогично, блок Nx N, в общем, имеет N пикселов в вертикальном направлении и N пикселов в горизонтальном направлении, при этом N представляет неотрицательное целочисленное значение. Пикселы в блоке могут размещаться в строках и столбцах. Кроме того, блок не обязательно должен иметь совпадающее число пикселов в горизонтальном направлении и в вертикальном направлении. Например, блоки могут содержать Nx M пикселов, причем М не обязательно равно N.
После внутреннего прогнозирующего или внешнего прогнозирующего кодирования с использованием PU CU, видеокодер 20 может вычислять остаточные данные, к которым применяются преобразования, указываемые посредством TU CU. Остаточные данные могут соответствовать пиксельным разностям между пикселами некодированного изображения и прогнозными значениями, соответствующими CU. Видеокодер 20 может формировать остаточные данные для CU и затем преобразовывать остаточные данные для того, чтобы формировать коэффициенты преобразования.
После преобразований для того, чтобы формировать коэффициенты преобразования, видеокодер 20 может выполнять квантование коэффициентов преобразования. Квантование, в общем, означает процесс, в котором коэффициенты преобразования квантуются, чтобы, возможно, уменьшать объем данных, используемых для того, чтобы представлять коэффициенты, обеспечивая дополнительное сжатие. Процесс квантования может уменьшать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Например, n-битовое значение может быть округлено в меньшую сторону до m-битового значения в ходе квантования, при этом n больше m.
В некоторых примерах видеокодер 20 может использовать предварительно заданный порядок сканирования для того, чтобы сканировать квантованные коэффициенты преобразования, так чтобы формировать преобразованный в последовательную форму вектор, который может энтропийно кодироваться. В других примерах видеокодер 20 может выполнять адаптивное сканирование. После сканирования квантованных коэффициентов преобразования для того, чтобы формировать одномерный вектор, видеокодер 20 может энтропийно кодировать одномерный вектор, например, согласно контекстно-адаптивному кодированию переменной длины (CAVLC), контекстно-адаптивному двоичному арифметическому кодированию (САВАС), синтаксическому контекстно-адаптивному двоичному арифметическому кодированию (SBAC), энтропийному кодированию на основе сегментации на интервалы вероятности (PIPE) или другой технологии энтропийного кодирования. Видеокодер 20 также может энтропийно кодировать элементы синтаксиса, ассоциированные с кодированными видеоданными, для использования посредством видеодекодера 30 при декодировании видеоданных.
Чтобы выполнять САВАС, видеокодер 20 может назначать контекст в контекстной модели символу, который должен быть передан. Контекст может быть связан, например, с тем, являются соседние значения символа ненулевыми или нет. Чтобы выполнять CAVLC, видеокодер 20 может выбирать код переменной длины для символа, который должен быть передан. Кодовые слова в VLC могут иметь такую структуру, что относительно более короткие коды соответствуют более вероятным символам, в то время как более длинные коды соответствуют менее вероятным символам. Таким образом, использование VLC позволяет добиваться экономии битов, например, по сравнению с использованием кодовых слов равной длины для каждого символа, который должен быть передан. Определение вероятности может быть основано на контексте, назначаемом символу.
Устройство-источник 12 может генерировать кодированный поток битов таким образом, что он
включает в себя элементы синтаксиса, которые соответствуют синтаксической структуре в соответствии с технологиями, описанными в этом раскрытии. В некоторых примерах видеокодер 20 может генерировать кодированный поток битов, чтобы непосредственно сигнализировать, в синтаксической структуре наборов параметров видео (VPS) или в части информации применимости видео (VUI) синтаксической структуры набора параметров последовательности (SPS) для кодированной видеопоследовательности, все переменные, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1. Другими словами, вместо сигнализации элементов синтаксиса для условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, в другой синтаксической структуре (к примеру, в синтаксической структуре HRD-параметров), которая включена в синтаксическую VPS-структуру или в VUI-часть синтаксической SPS-структуры, видеокодер 20 формирует кодированный поток битов, чтобы сигнализировать элементы синтаксиса, которые задают условие в синтаксической VPS- и/или VUI-структуре без обращения к другой синтаксической структуре, потенциально включенной в любую/обе из синтаксической VPS- и VUI-структуры. Элементы синтаксиса могут включать в себя элемент timing_info_present_flag синтаксиса, который указывается в HEVC WD9 в качестве элемента синтаксиса синтаксической структуры HRD-параметров. Как результат, технологии позволяют уменьшать и потенциально исключать неоднозначность в спецификации HEVC WD9 посредством ясного указания в синтаксисе источника элементов синтаксиса, которые задают условие.
Видеокодер 20 может тестировать кодированный поток битов на предмет соответствия требованиям, указываемым в качестве одного или более тестов на соответствие потока битов, заданных в спецификации кодирования видео, к примеру в HEVC WD9 либо в последующей спецификации, к примеру в HEVC WD10. Видеокодер 20 может включать в себя или иным образом использовать гипотетический эталонный декодер для того, чтобы тестировать кодированный поток битов на предмет соответствия. Согласно технологиям, описанным в данном документе, видеокодер 20 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять, из синтаксической VPS-структуры или в VUI-части синтаксической SPS-структуры для кодированной видеопоследовательности, элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности РОС-значений, равной 1. Если условие выполняется согласно значениям элементов синтаксиса, видеокодер 20 может определять число тактов синхросигнала, соответствующее разности РОС-значений, равной 1, и использовать определенное число тактов синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
В некоторых случаях в устройстве-адресате 14 тестируемый видеодекодер 30 (или VUT) в некоторых случаях может принимать представление кодированного потока битов, сформированного посредством видеокодера 20, чтобы непосредственно сигнализировать в синтаксической VPS-структуре или в VUI-части синтаксической SPS-структуры для кодированной видеопоследовательности, все элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1. Видеодекодер 30 может декодировать кодированный поток битов, чтобы определять, из синтаксической VPS-структуры или в VUI-части синтаксической SPS-структуры для кодированной видеопоследовательности, элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности РОС-значений, равной 1. Если условие выполняется согласно значениям элементов синтаксиса, видеодекодер 30 может определять число тактов синхросигнала, соответствующее разности РОС-значений, равной 1, и использовать определенное число тактов синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
В некоторых примерах видеокодер 20 может генерировать кодированный поток битов, чтобы сигнализировать временную шкалу и число единиц в такте синхросигнала самое большее один раз в каждой из синтаксических VPS- и VUI-структур для данной кодированной видеопоследовательности. Иными словами, в данной синтаксической VPS-структуре для кодированного потока битов видеокодер 20 может сигнализировать элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз. Аналогично, в данной синтаксической VUI-структуре (например, VUI-части синтаксической SPS-структуры) для кодированного потока битов, видеокодер 20 может сигнализировать элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз. Как результат, видеокодер 20, работающий согласно технологиям, описанным в данном документе, может сокращать число экземпляров элемента синтаксиса временной шкалы (time_scale согласно WD9) и элемента синтаксиса числа единиц в такте синхросигнала (num_units_in_tick согласно WD9) в кодированном потоке битов. Помимо этого, видеокодер 20 в некоторых случаях может генерировать кодированный поток битов, чтобы непосредственно сигнализировать временную шкалу и число единиц в такте синхросигнала в каждой из синтаксических VPS- и VUI-структур для данной кодированной видеопоследовательности, а не в синтаксической структуре HRD-параметров, включенной в синтаксическую VPS- и/или VUI-структуру.
Согласно технологиям, описанным в данном документе, видеокодер 20 может тестировать кодированный поток битов, сформированный посредством видеокодера 20, чтобы сигнализировать временную шкалу и число единиц в такте синхросигнала самое большее один раз в каждой из синтаксических VPS-и VUI-структур для данной кодированной видеопоследовательности, на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VPS-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VPS-структуре. В некоторых случаях видеокодер 20 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VUI-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VUI-структуре. Временная шкала и число единиц в такте синхросигнала могут сигнализироваться не в синтаксической структуре HRD-параметров, включенной в синтаксическую VPS- и/или VUI-структуру. Видеокодер 20 может использовать определенную временную шкалу и определенное число единиц в такте синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
В некоторых случаях в устройстве-адресате 14 тестируемый видеодекодер 30 в некоторых случаях может принимать представление кодированного потока битов, сформированного посредством видеокодера 20, чтобы сигнализировать временную шкалу и число единиц в такте синхросигнала самое большее один раз в каждой из синтаксических VPS- и VUI-структур для данной кодированной видеопоследовательности. Видеодекодер 30 может декодировать кодированный поток битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VPS-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VPS-структуре. В некоторых случаях видеодекодер 30 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VUI-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VUI-структуре. Временная шкала и число единиц в такте синхросигнала могут сигнализироваться не в синтаксической структуре HRD-параметров, включенной в синтаксическую VPS- и/или VUI-структуру. Видеодекодер 30 может использовать определенную временную шкалу и определенное число единиц в такте синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
В некоторых примерах видеокодер 20 может генерировать кодированный поток битов для того, чтобы сигнализировать, в синтаксической VPS-структуре для одной или более кодированных видеопоследовательностей, флаг, указывающий то, является или нет РОС-значение для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности. Этот флаг указания альтернативно может упоминаться в качестве РОС, пропорционального флагу указания синхронизации. Как результат, видеокодер 20 может сокращать число экземпляров указания в информации синхронизации, сигнализируемой для нескольких слоев кодированной видеопоследовательности и/или для масштабируемого потока видеобитов, имеющего несколько слоев. В некоторых случаях видеокодер 20 может включать этот флаг в синтаксическую VPS-структуру, только если также включаются элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала. Видеокодер 20 в силу этого может не допускать сигнализации этой конкретной информации синхронизации (т.е. того, является или нет РОС-значение для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности), если информация тактов синхросигнала, необходимая для использования РОС, пропорционального указанию синхронизации, также не присутствует.
Согласно технологиям, описанным в данном документе, видеокодер 20 может тестировать на предмет соответствия кодированный поток битов, сформированный посредством видеокодера 20, чтобы сигнализировать, в синтаксической VPS-структуре для одной или более кодированных видеопоследовательностей, РОС, пропорциональный флагу указания синхронизации. Видеокодер 20 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять значение для флага. Видеокодер 20 дополнительно или альтернативно может тестировать кодированный поток битов, сформированный посредством видеокодера 20, чтобы сигнализировать флаг в синтаксической VPS-структуре, только если также включаются элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала. Видеокодер 20 может использовать определенное значение РОС, пропорционального флагу указания синхронизации, и элементы синтаксиса времен
ной шкалы и числа единиц в такте синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
В некоторых случаях в устройстве-адресате 14 тестируемый видеодекодер 30 в некоторых случаях может принимать представление кодированного потока битов, сформированного посредством видеокодера 20, чтобы сигнализировать, в синтаксической VPS-структуре для одной или более кодированных видеопоследовательностей, РОС, пропорциональный флагу указания синхронизации. Видеодекодер 30 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять значение для флага. Видеодекодер 30 дополнительно или альтернативно может тестировать кодированный поток битов, сформированный посредством видеодекодера 30, чтобы сигнализировать флаг в синтаксической VPS-структуре, только если также включаются элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала. Видеодекодер 30 может использовать определенное значение РОС, пропорционального флагу указания синхронизации, и элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
Фиг. 2 является блок-схемой, иллюстрирующей примерный видеокодер 20, который может реали-зовывать технологии, описанные в этом раскрытии. Видеокодер 20 может выполнять внутреннее и внешнее кодирование видеоблоков в видеослайсах. Внутреннее кодирование основано на пространственном прогнозировании для того, чтобы уменьшать или удалять пространственную избыточность видео в данном видеокадре или изображении. Внешнее кодирование основано на временном прогнозировании для того, чтобы уменьшать или удалять временную избыточность видео в смежных кадрах или изображениях видеопоследовательности. Внутренний режим (I-режим) может означать любой из нескольких режимов пространственного сжатия. Внешние режимы, к примеру, однонаправленное прогнозирование (Р-режим) или бипрогнозирование (В-режим), могут означать любой из нескольких режимов временного сжатия.
В примере по фиг. 2 видеокодер 20 включает в себя блок 35 сегментации, модуль 41 прогнозирования, запоминающее устройство 64 опорных изображений, сумматор 50, модуль 52 преобразования, блок 54 квантования и блок 56 энтропийного кодирования. Модуль 41 прогнозирования включает в себя блок 42 оценки движения, блок 44 компенсации движения и модуль 46 внутреннего прогнозирования. Для восстановления видеоблоков видеокодер 20 также включает в себя блок 58 обратного квантования, модуль 60 обратного преобразования и сумматор 62. Фильтр удаления блочности (не показан на фиг. 2) также может быть включен с возможностью фильтровать границы блоков, чтобы удалять артефакты блочности из восстановленного видео. Если требуется, фильтр удаления блочности типично должен фильтровать вывод сумматора 62. Дополнительные контурные фильтры (внутриконтурные или постконтурные) также могут быть использованы в дополнение к фильтру удаления блочности.
Как показано на фиг. 2, видеокодер 20 принимает видеоданные, и блок 35 сегментации сегментирует данные на видеоблоки. Эта сегментация также может включать в себя сегментацию на слайсы, элементы мозаичного разбиения или другие большие единицы, а также сегментацию видеоблока, например, согласно структуре в виде дерева квадрантов LCU и CU. Видеокодер 20, в общем, иллюстрирует компоненты, которые кодируют видеоблоки в видеослайсе, который должен быть кодирован. Слайс может быть разделен на несколько видеоблоков (и возможно на наборы видеоблоков, называемых "элементами мозаичного разбиения"). Модуль 41 прогнозирования может выбирать один из множества возможных режимов кодирования, к примеру один из множества режимов внутреннего кодирования или один из множества режимов внешнего кодирования, для текущего видеоблока на основе результатов ошибки (например, скорости кодирования и уровня искажения). Модуль 41 прогнозирования может предоставлять результирующий внутренне или внешне кодированный блок в сумматор 50 для того, чтобы формировать остаточные блочные данные, и в сумматор 62 для того, чтобы восстанавливать кодированный блок для использования в качестве опорного изображения.
Модуль 46 внутреннего прогнозирования в модуле 41 прогнозирования может выполнять внутреннее прогнозирующее кодирование текущего видеоблока относительно одного или более соседних блоков в кадре или слайсе, идентичном кадру или слайсу текущего блока, который должен быть кодирован, чтобы предоставлять пространственное сжатие. Блок 42 оценки движения и блок 44 компенсации движения в модуле 41 прогнозирования выполняют внешнее прогнозирующее кодирование текущего видеоблока относительно одного или более прогнозных блоков в одном или более опорных изображений, чтобы предоставлять временное сжатие.
Блок 42 оценки движения может быть выполнен с возможностью определять режим внешнего прогнозирования для видеослайса согласно предварительно определенному шаблону для видеопоследовательности. Предварительно определенный шаблон может обозначать видеослайсы в последовательности в качестве Р-слайсов, В-слайсов или GPB-слайсов. Блок 42 оценки движения и блок 44 компенсации движения могут иметь высокую степень интеграции, но проиллюстрированы отдельно в концептуальных целях. Оценка движения, выполняемая посредством блока 42 оценки движения, представляет собой про
цесс формирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может указывать смещение PU видеоблока в текущем видеокадре или изображении относительно прогнозирующего блока в опорном изображении.
Прогнозный блок представляет собой блок, для которого обнаруживается, что он практически совпадает с видеоблоком, который должен быть кодирован, с точки зрения пиксельной разности, которая может быть определена посредством суммы абсолютных разностей (SAD), суммы квадратов разностей (SSD) или других разностных показателей. В некоторых примерах видеокодер 20 может вычислять значения для субцелочисленнопиксельных позиций опорных изображений, сохраненных в запоминающем устройстве 64 опорных изображений. Например, видеокодер 20 может интерполировать значения позиций в одну четверть пиксела, позиций в одну восьмую пиксела или других дробнопиксельных позиций опорного изображения. Следовательно, блок 42 оценки движения может выполнять поиск движения относительно полнопиксельных позиций и дробнопиксельных позиций и выводить вектор движения с дробнопиксельной точностью.
Блок 42 оценки движения вычисляет вектор движения для PU видеоблока во внешне кодированном слайсе посредством сравнения позиции PU с позицией прогнозного блока опорного изображения. Опорное изображение может быть выбрано из первого списка опорных изображений (списка 0) или второго списка опорных изображений (списка 1), каждый из которых идентифицируют одно или более опорных изображений, сохраненных в запоминающем устройстве 64 опорных изображений. Блок 42 оценки движения отправляет вычисленный вектор движения в блок 56 энтропийного кодирования и блок 44 компенсации движения.
Компенсация движения, выполняемая посредством блока 44 компенсации движения, может заключать в себе выборку или формирование прогнозного блока на основе вектора движения, определенного посредством оценки движения, возможно выполнение интерполяции в субпиксельную точность. При приеме вектора движения для PU текущего видеоблока блок 44 компенсации движения может находить прогнозный блок, на который указывает вектор движения в одном из списков опорных изображений. Видеокодер 20 формирует остаточный видеоблок посредством вычитания пиксельных значений прогнозного блока из пиксельных значений текущего кодируемого видеоблока, формируя значения пиксельных разностей. Значения пиксельных разностей формируют остаточные данные для блока и могут включать в себя разностные компоненты сигнала яркости и сигнала цветности. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания. Блок 44 компенсации движения также может формировать элементы синтаксиса, ассоциированные с видеоблоками и видеослай-сом, для использования посредством видеодекодера 30 при декодировании видеоблоков видеослайса.
Блок 44 компенсации движения может формировать элементы 55 синтаксиса, которые соответствуют синтаксической структуре в соответствии с технологиями, описанными в этом раскрытии. В некоторых примерах видеокодер 20 может формировать элементы 55 синтаксиса, чтобы непосредственно сигнализировать, в синтаксической структуре наборов параметров видео (VPS) или в части информации применимости видео (VUI) синтаксической структуры набора параметров последовательности (SPS), ассоциированной с видеоблоками, все элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1. Другими словами, вместо сигнализации элементов синтаксиса для условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, в другой синтаксической структуре (к примеру, в синтаксической структуре HRD-параметров), которая включена в синтаксическую VPS-структуру или в VUI-часть синтаксической SPS-структуры, блок 44 компенсации движения формирует кодированный поток битов, чтобы сигнализировать элементы синтаксиса для элементов синтаксиса, которые задают условие в синтаксической VPS-и/или VUI-структуре без обращения к другой синтаксической структуре, потенциально включенной в любую/обе из синтаксической VPS- и VUI-структуры.
В некоторых примерах блок 44 компенсации движения может формировать элементы 55 синтаксиса, чтобы сигнализировать временную шкалу и число единиц в такте синхросигнала самое большее один раз в каждой из синтаксических VPS- и VUI-структур для данной кодированной видеопоследовательности. Иными словами, в данной синтаксической VPS-структуре для кодированного потока битов блок 44 компенсации движения может формировать элементы 55 синтаксиса, чтобы сигнализировать элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз. Аналогично, в данной синтаксической VUI-структуре (например, в VUI-части синтаксической SPS-структуры) для кодированного потока битов, блок 44 компенсации движения может формировать элементы 55 синтаксиса, которые сигнализируют элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз. Помимо этого, блок 44 компенсации движения в некоторых случаях может формировать элементы 55 синтаксиса, чтобы непосредственно сигнализировать временную шкалу и число единиц в такте синхросигнала в каждой из синтаксических VPS- и VUI-структур для данной кодированной видеопоследовательности, а не в синтаксической структуре HRD-параметров, включенной в синтаксическую VPS- и/или VUI-структуру.
В некоторых примерах блок 44 компенсации движения может формировать элементы 55 синтаксиса
для того, чтобы сигнализировать в синтаксической VPS-структуре для одной или более кодированных видеопоследовательностей флаг, указывающий то, является или нет РОС-значение для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности. Этот флаг указания альтернативно может упоминаться в качестве РОС, пропорционального флагу указания синхронизации. Как результат, блок 44 компенсации движения может сокращать число экземпляров указания в информации синхронизации, сигнализируемой для нескольких слоев кодированной видеопоследовательности и/или для масштабируемого потока видеобитов, имеющего несколько слоев. В некоторых случаях блок 44 компенсации движения может включать этот флаг в синтаксическую VPS-структуру, только если также включаются элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала. Блок 44 компенсации движения в силу этого может не допускать сигнализации этой конкретной информации синхронизации (т.е. того, является или нет РОС-значение для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности), если информация тактов синхросигнала, необходимая для использования РОС, пропорционального указанию синхронизации, также не присутствует.
Примерные изменения в тексте HEVC WD9, чтобы осуществлять вышеуказанные технологии для формирования элементов 55 синтаксиса, заключаются в следующем (другие неупомянутые части могут оставаться немодифицированными в отношении HEVC WD9).
Ниже приводится пример синтаксической RBSP-структуры наборов параметров видео, модифицированной с возможностью разрешать одну или более вышеуказанных проблем (подчеркнутый синтаксис является добавлением в синтаксическую RBSP-структуру набора параметров видео HEVC WD9; другой синтаксис может быть неизменным относительно HEVC WD9).
Таблица 4. Примерная синтаксическая RBSP-структура наборов параметров видео
videojparameterse t_rbsp() {
Дескриптор
...
vns timins info Dresent flag
iff vps timing infojpresent flag) !
vi)s nilni units in tick
u(32)
vps time scale
"(321
YDS DOC ш iff vps_poc_proportional to timina flag "1
VDS 11 urn ticks DOC diff one minusl
ueM
vps_num_hrd_parameters
ue(v)
for( i = 0; i < vps num hrdjarameters; i++ ) {
cprmspresen t_flag[ i ]
u(l)
hrd_parameters( cprms_present flag[ i ], vps max sub layers minusl )
...
Табл. 4 задает новые добавленные элементы синтаксиса согласно следующей RBSP-семантике наборов параметров видео (VPS)
vps_tirmng_info_present_flag, равный 1, указывает то, что vps_num_units_in_tick, vpstimescale и vps_рос_proportional_to_timing_flag присутствуют в наборе параметров видео; vps_timing_info_present_flag, равный 0, указывает то, что vps_num_units_in_tick, vpstimescale и vps_poc_proportional_to_timing_flag не присутствуют в наборе параметров видео;
vps_num_units_in_tick является числом единиц времени синхросигнала, работающего на частоте vps_time_scale Гц, которая соответствует одному приращению (называемому "тактом синхросигнала") счетчика тактов синхросигнала. Значение vps_num_units_in_tick должно превышать 0. Такт синхросигнала, в единицах секунд, равен частному vps_num_units_in_tick, деленному на vps_time_scale. Например, когда частота кадров видеосигнала составляет 25 Гц, vps time scale может быть равен 27000000, и vps_num_units_in_tick может быть равен 1080000, и, следовательно, такт синхросигнала может составлять 0,04 с;
vps_time_scale является числом единиц времени, которые проходят за одну секунду. Например, система временных координат, которая измеряет время с использованием синхросигнала на 27 МГц, имеет vps_time_scale в 27000000. Значение vps_time_scale должно превышать 0;
vps_рос_proportional_to_timing_^lag, равный 1, указывает то, что значение номера в порядке изо
бражений для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, является пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности; vps_poc_proportional_to_timing_flag, равный 0, указывает то, что значение номера в порядке изображений для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, может быть пропорциональным или не быть пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности;
vps_num_ticks_poc_diff_one_minusl плюс 1 указывает число тактов синхросигнала, соответствующее разности значений номеров в порядке изображений, равной 1. Значение vps_num_ticks_рос_di^f_one_minus1 должно быть в диапазоне от 0 до 2Л32-1 включительно.
Ниже приводится пример синтаксической структуры VUI-параметров, модифицированной с возможностью разрешать одну или более вышеуказанных проблем (подчеркнутый синтаксис является добавлением в синтаксическую структуру VUI-параметров HEVC WD9; курсивный синтаксис удален из синтаксической структуры VUI-параметров HEVC WD9; другие части синтаксической таблицы являются неизменными относительно HEVC WD9).
Таблица 5. Примерная модифицированная синтаксическая структура VUI-параметров
vui_parameters() {
Дескриптор
...
SDS timing info present flag
iff SDS timing info Dresent flag ) f
SDS num units in tick
SDS time scale
SDS DOC proportional to timins flag
u(\)
iff SDS DOC DroDortional to timing flag)
SDS num ticks DOC diff one minusl
uefv)
hrdjparametersjpresent flag
u(l)
if( hrd_parameters_present flag)
hrd_parameters( l.sps max sub layers minusl)
рос_proportional_to_timing_flag
ufJ)
iff рос _proportiona\Jo Jimingjlag & & timing info present flag)
num_ticks_poc_diff_one_minusl
uefv)
...
Табл. 5 задает новые добавленные элементы синтаксиса согласно следующей семантике VUI-параметров (семантика для удаленных элементов синтаксиса аналогично удалена):
sps_timing_info_present_flag, равный 1, указывает то, что sps_num_units_in_tick, sps_time_scale и sps_poc_proportional_to_timing_flag присутствуют в синтаксической структуре vui parameters();
sps_timing_info_present_flag, равный 0, указывает то, что sps_num_units_in_tick, sps_time_scale и sps_poc_proportional_to_timing_flag не присутствуют в синтаксической структуре vui_parameters();
sps_num_units_in_tick является числом единиц времени синхросигнала, работающего на частоте sps_time_scale Гц, которая соответствует одному приращению (называемому "тактом синхросигнала") счетчика тактов синхросигнала; sps_num_units_in_tick должен превышать 0. Такт синхросигнала, в единицах секунд, равен частному sps_num_units_in_tick, деленному на sps_time_scale. Например, когда частота кадров видеосигнала составляет 25 Гц, sps_time_scale может быть равен 27000000, и sps_num_units_in_tick может быть равен 1080000, и, следовательно, такт синхросигнала может быть равен 0,04 с (см. уравнение (1)). Когда vps_num_units_in_tick присутствует в наборе параметров видео, на который ссылается набор параметров последовательности, sps_num_units_in_tick, если присутствует, должен быть равен vps_num_units_in_tick.
Формула для извлечения переменной ClockTick (также упоминаемой в данном документе как "такт синхросигнала") модифицируется таким образом, что она представляет собой следующее:
. -г,- , пит units in tick
ClockTick - - - ---
sps_time_scale уравнение (D
sps_time_scale является числом единиц времени, которые проходят за одну секунду. Например, система временных координат, которая измеряет время с использованием синхросигнала на 27 МГц, имеет sps_time_scale в 27000000. Значение sps_time_scale должно превышать 0. Когда vps_time_scale присутствует в наборе параметров видео, на который ссылается набор параметров последовательности,
sps_time_scale, если присутствует, должен быть равен vps_time_scale;
sps_poc_proportional_to_timing_flag, равный 1, указывает то, что значение номера в порядке изображений для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, является пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности; sps_poc_proportional_to_timing_flag, равный 0, указывает то, что значение номера в порядке изображений для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, может быть пропорциональным или не быть пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности. Когда vps_рос_proportional_to_timing_flag присутствует в наборе параметров видео, на который ссылается набор параметров последовательности, sps_poc_proportional_to_timing_flag, если присутствует, должен быть равен vps_рос_proportional_to_timing_flag;
sps_num_ticks_poc_diff_one_minus1 плюс 1 указывает число тактов синхросигнала, соответствующее разности значений номеров в порядке изображений, равной 1. Значение sps_num_ticks_poc_diff_one_minus1 должно быть в диапазоне 0 в 2Л32-1 включительно. Когда vps_num_ticks_рос_di^f_one_minus1 присутствует в наборе параметров видео, на который ссылается набор параметров последовательности, sps_num_ticks_poc_diff_one_minus1, если присутствует, должен быть равен sps num ticks рос diff one minus1.
Ниже приводится пример синтаксической структуры HRD-параметров, модифицированной с возможностью разрешать одну или более вышеуказанных проблем (курсивный синтаксис удален из синтаксической структуры HRD-параметров HEVC WD9).
Таблица 6. Примерная модифицированная синтаксическая структура HRD-параметров
hrd_parameters( commonlnfPresentFlag, maxNumSubLayersMinusl ) {
Дескриптор
if( commonlnfPresentFlag) {
timing_info_presentJlag
ufl)
iff timingJnfo_presentJlag ) {
num_units_in_Uck
u(32)
time_scale
u(32)
...
Семантика для элементов синтаксиса, удаленных согласно примерной модифицированной синтаксической структуре HRD-параметров табл. 6, аналогично удалена.
Модуль 46 внутреннего прогнозирования может внутренне прогнозировать текущий блок, в качестве альтернативы внешнему прогнозированию, выполняемому посредством блока 42 оценки движения и блока 44 компенсации движения, как описано выше. В частности, модуль 46 внутреннего прогнозирования может определять режим внутреннего прогнозирования для использования с тем, чтобы кодировать текущий блок. В некоторых примерах модуль 46 внутреннего прогнозирования может кодировать текущий блок с использованием различных режимов внутреннего прогнозирования, например, во время отдельных проходов кодирования, и модуль 46 внутреннего прогнозирования (либо блок 40 выбора режима в некоторых примерах) может выбирать надлежащий режим внутреннего прогнозирования для использования из тестированных режимов. Например, модуль 46 внутреннего прогнозирования может вычислять значения искажения в зависимости от скорости передачи с использованием анализа искажения в зависимости от скорости передачи для различных тестированных режимов внутреннего прогнозирования и выбирать режим внутреннего прогнозирования, имеющий наилучшие характеристики искажения в зависимости от скорости передачи, из тестированных режимов. Анализ искажения в зависимости от скорости передачи, в общем, определяет величину искажения (или ошибки) между кодированным блоком и исходным некодированным блоком, который кодирован для того, чтобы формировать кодированный блок, а также скорость передачи битов (т.е. число битов), используемую для того, чтобы формировать кодированный блок. Модуль 46 внутреннего прогнозирования может вычислять отношения из искажений и скоростей для различных кодированных блоков, чтобы определять то, какой режим внутреннего прогнозирования демонстрирует наилучшее значение искажения в зависимости от скорости передачи для блока.
В любом случае после выбора режима внутреннего прогнозирования для блока, модуль 46 внутреннего прогнозирования может предоставлять информацию, указывающую выбранный режим внутреннего прогнозирования для блока, в блок 56 энтропийного кодирования. Блок 56 энтропийного кодирования может кодировать информацию, указывающую выбранный режим внутреннего прогнозирования, в соответствии с технологиями этого раскрытия. Видеокодер 20 может включать в передаваемый поток битов
конфигурационные данные, которые могут включать в себя множество индексных таблиц режимов внутреннего прогнозирования и множество модифицированных индексных таблиц режимов внутреннего прогнозирования (также называемых "таблицами преобразования кодовых слов"), определения контекстов кодирования для различных блоков и указания относительно наиболее вероятного режима внутреннего прогнозирования, индексной таблицы режимов внутреннего прогнозирования и модифицированной индексной таблицы режимов внутреннего прогнозирования, которые следует использовать для каждого из контекстов.
После того как модуль 41 прогнозирования формирует прогнозный блок для текущего видеоблока через внешнее прогнозирование или внутреннее прогнозирование, видеокодер 20 формирует остаточный видеоблок посредством вычитания прогнозного блока из текущего видеоблока. Остаточные видеоданные в остаточном блоке могут включаться в одну или более TU и применяться к модулю 52 преобразования. Модуль 52 преобразования преобразует остаточные видеоданные в остаточные коэффициенты преобразования с использованием преобразования, такого как дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование. Модуль 52 преобразования может преобразовывать остаточные видеоданные из пиксельной области в область преобразования, к примеру, в частотную область.
Модуль 52 преобразования может отправлять результирующие коэффициенты преобразования в блок 54 квантования. Блок 54 квантования квантует коэффициенты преобразования, чтобы дополнительно уменьшать скорость передачи битов. Процесс квантования может уменьшать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Степень квантования может быть модифицирована посредством регулирования параметра квантования. В некоторых примерах блок 54 квантования затем может выполнять сканирование матрицы, включающей в себя квантованные коэффициенты преобразования. Альтернативно, блок 56 энтропийного кодирования может выполнять сканирование.
После квантования блок 56 энтропийного кодирования энтропийно кодирует квантованные коэффициенты преобразования. Например, блок 56 энтропийного кодирования может выполнять контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (САВАС), синтаксическое контекстно-адаптивное двоичное арифметическое кодирование (SBAC), энтропийное кодирование на основе сегментации на интервалы вероятности (PIPE) или другую технологию энтропийного кодирования. После энтропийного кодирования посредством блока 56 энтропийного кодирования кодированный поток битов может быть передан в видеодекодер 30 или заархивирован для последующей передачи или извлечения посредством видеодекодера 30. Блок 56 энтропийного кодирования также может энтропийно кодировать векторы движения и другие элементы синтаксиса для текущего кодируемого видеослайса.
Блок 58 обратного квантования и модуль 60 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы восстанавливать остаточный блок в пиксельной области для последующего использования в качестве опорного блока опорного изображения. Блок 44 компенсации движения может вычислять опорный блок посредством суммирования остаточного блока с прогнозным блоком одного из опорных изображений в одном из списков опорных изображений. Блок 44 компенсации движения также может применять один или более интерполяционных фильтров к восстановленному остаточному блоку, чтобы вычислять субцелочисленнопиксельные значения для использования в оценке движения. Сумматор 62 суммирует восстановленный остаточный блок с блоком прогнозирования с компенсацией движения, сформированным посредством блока 44 компенсации движения, чтобы формировать опорный блок для хранения в запоминающем устройстве 64 опорных изображений (иногда называемом "буфером декодированных изображений (DPB)"). Опорный блок может использоваться посредством блока 42 оценки движения и блока 44 компенсации движения в качестве опорного блока, чтобы внешне прогнозировать блок в последующем видеокадре или изображении.
Видеокодер 20 необязательно может включать в себя гипотетический эталонный декодер 57 (HRD) (проиллюстрирован как необязательный посредством использования пунктирных линий) для того, чтобы проверять кодированные потоки битов, сформированные посредством элементов видеокодера 20, на предмет соответствия буферной модели, заданной для HRD 57. HRD 57 может проверять потоки битов или поднаборы потоков битов типа I и/или II на предмет HRD-соответствия. Наборы параметров, требуемые для работы HRD 57, сигнализируются посредством одного из двух типов наборов HRD-параметров, NAL HRD-параметров и VCL HRD-параметров. Как описано выше, наборы HRD-параметров могут быть включены в синтаксическую SPS-структуру и/или синтаксическую VPS-структуру.
HRD 57 может тестировать видеоблоки и ассоциированные элементы 55 синтаксиса на предмет соответствия требованиям, указываемым в качестве одного или более тестов на соответствие потока битов, заданных в спецификации кодирования видео, к примеру в HEVC WD9 либо в последующей спецификации, к примеру в HEVC WD10. Например, HRD 57 может тестировать кодированный поток битов на предмет соответствия посредством обработки элементов 55 синтаксиса, чтобы определять, из синтаксической VPS-структуры или в VUI-части синтаксической SPS-структуры для кодированной видеопоследовательности, элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности РОС-значений, равной 1. Если условие выполняется согласно зна
чениям элементов синтаксиса, HRD 57 может определять число тактов синхросигнала, соответствующее разности РОС-значений, равной 1, и использовать определенное число тактов синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов. Использование в данном документе термина "обработка" относительно элементов синтаксиса может означать извлечение, декодирование и извлечение, считывание, синтаксический анализ и любую другую применимую операцию или комбинацию операций, чтобы получать элементы синтаксиса в форме, используемой посредством декодера/HRD
57.
В качестве другого примера HRD 57 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VPS-структуры элементов 55 синтаксиса, которая кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VPS-структуре. В некоторых случаях HRD 57 может тестировать кодированный поток битов на предмет соответствия посредством декодирования элементов 55 синтаксиса, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VUI-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VUI-структуре. Временная шкала и число единиц в такте синхросигнала могут сигнализироваться не в синтаксической структуре HRD-параметров, включенной в синтаксическую VPS-и/или VUI-структуру. HRD 57 может использовать определенную временную шкалу и определенное число единиц в такте синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
Согласно технологиям, описанным в данном документе, HRD 57 может тестировать кодированный поток битов на предмет соответствия посредством декодирования, из синтаксической VPS-структуры элементов 55 синтаксиса для одной или более кодированных видеопоследовательностей, значения для РОС, пропорционального флагу указания синхронизации. HRD 57 дополнительно или альтернативно может тестировать кодированный поток битов на предмет соответствия посредством декодирования значения для РОС, пропорционального флагу указания синхронизации в синтаксической VPS-структуре, только если также включаются элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала. HRD 57 может использовать определенное значение РОС, пропорционального флагу указания синхронизации, и элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала в качестве ввода, например, для определения СРВ-опустошения или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
Фиг. 3 является блок-схемой, иллюстрирующей примерный видеодекодер 76, который может реа-лизовывать технологии, описанные в этом раскрытии. В примере по фиг. 3, видеодекодер 76 включает в себя буфер 78 кодированных изображений (СРВ), блок 80 энтропийного декодирования, модуль 81 прогнозирования, блок 86 обратного квантования, блок 88 обратного преобразования, сумматор 90 и буфер 92 декодированных изображений (DPB). Модуль 81 прогнозирования включает в себя блок 82 компенсации движения и модуль 84 внутреннего прогнозирования. Видеодекодер 76 может, в некоторых примерах, выполнять проход декодирования, в общем, обратный проходу кодирования, описанному относительно видеокодера 20 из фиг. 2. Видеодекодер 76 может представлять примерный экземпляр видеодекодера 30 устройства-адресата 14 или гипотетического эталонного декодера 57 по фиг. 2.
СРВ 78 сохраняет кодированные изображения из кодированного потока битов изображений. В одном примере СВР 78 представляет собой буфер "первый на входе -первый на выходе", содержащий единицы доступа (AU) в порядке декодирования. AU представляет собой набор единиц уровня абстрагирования от сети (NAL), которые ассоциированы между собой согласно указанному правилу классификации, являются последовательными в порядке декодирования и содержат точно одно кодированное изображение. Порядок декодирования представляет собой порядок, в котором изображения декодируются, и может отличаться от порядка, в котором изображения отображаются (т.е. порядка отображения). Работа СРВ может указываться посредством гипотетического эталонного декодера (HRD).
Во время процесса декодирования видеодекодер 76 принимает кодированный поток видеобитов, который представляет видеоблоки слайса кодированного видео и ассоциированные элементы синтаксиса, из видеокодера 20. Блок 80 энтропийного декодирования видеодекодера 76 декодирует поток битов, чтобы формировать квантованные коэффициенты, векторы движения и другие элементы 55 синтаксиса. Блок 80 энтропийного декодирования перенаправляет векторы движения и другие элементы 55 синтаксиса в модуль 81 прогнозирования. Видеодекодер 76 может принимать элементы 55 синтаксиса на уровне видеослайса и/или на уровне видеоблока. Кодированный поток видеобитов может включать в себя информацию синхронизации, сигнализируемую согласно технологиям, описанным ниже. Например, кодированный поток видеобитов может включать в себя набор параметров видео (VPS), набор параметров последовательности (SPS) или любую комбинацию вышеозначенного, имеющую синтаксические структуры согласно технологиям, описанным в данном документе, чтобы сигнализировать параметры для HRD-операций.
Когда видеослайс кодируется в качестве внутренне кодированного (I-) слайса, модуль 84 внутреннего прогнозирования модуля 81 прогнозирования может формировать прогнозирующие данные для видеоблока текущего видеослайса на основе сигнализируемого режима внутреннего прогнозирования и данных из ранее декодированных блоков текущего кадра или изображения. Когда видеокадр кодируется в качестве внешне кодированного (т.е. В-, Р- или GPB-) слайса, блок 82 компенсации движения модуля 81 прогнозирования формирует прогнозные блоки для видеоблока текущего видеослайса на основе векторов движения и других элементов 55 синтаксиса, принимаемых из блока 80 энтропийного декодирования. Прогнозные блоки могут формироваться из одного из опорных изображений в одном из списков опорных изображений. Видеодекодер 76 может составлять списки опорных кадров, список 0 и список 1, с использованием технологий составления по умолчанию на основе опорных изображений, сохраненных
в DPB 92.
Блок 82 компенсации движения определяет информацию прогнозирования для видеоблока текущего видеослайса посредством синтаксического анализа векторов движения и других элементов 55 синтаксиса и использует информацию прогнозирования для того, чтобы формировать прогнозные блоки для текущего декодируемого видеоблока. Например, блок 82 компенсации движения использует некоторые из принимаемых элементов 55 синтаксиса для того, чтобы определять режим прогнозирования (например, внутреннее или внешнее прогнозирование), используемый для того, чтобы кодировать видеоблоки видеослайса, тип слайса внешнего прогнозирования (например, В-слайс, Р-слайс или GPB-слайс), информацию составления для одного или более списков опорных изображений для слайса, векторы движения для каждого внешне кодированного видеоблока слайса, состояние внешнего прогнозирования для каждого внешне кодированного видеоблока слайса и другую информацию для того, чтобы декодировать видеоблоки в текущем видеослайсе.
Блок 82 компенсации движения также может выполнять интерполяцию на основе интерполяционных фильтров. Блок 82 компенсации движения может использовать интерполяционные фильтры, используемые посредством видеокодера 20 в ходе кодирования видеоблоков, для того чтобы вычислять интерполированные значения для субцелочисленных пикселов опорных блоков. В этом случае блок 82 компенсации движения может определять интерполяционные фильтры, используемые посредством видеокодера 20, из принимаемых элементов 55 синтаксиса и использовать интерполяционные фильтры для того, чтобы формировать прогнозные блоки.
Блок 86 обратного квантования обратно квантует, т.е. деквантует, квантованные коэффициенты преобразования, предоставленные в потоке битов и декодированные посредством блока 80 энтропийного декодирования. Процесс обратного квантования может включать в себя использование параметра квантования, вычисленного посредством видеокодера 20 для каждого видеоблока в видеослайсе, чтобы определять степень квантования и, аналогично, степень обратного квантования, которое должно применяться. Блок 88 обратного преобразования применяет обратное преобразование, например обратное DCT, обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования, чтобы формировать остаточные блоки в пиксельной области.
После того как блок 82 компенсации движения формирует прогнозный блок для текущего видеоблока на основе векторов движения и других элементов 55 синтаксиса, видеодекодер 76 формирует декодированный видеоблок посредством суммирования остаточных блоков из блока 88 обратного преобразования с соответствующими прогнозными блоками, сформированными посредством блока 82 компенсации движения. Сумматор 90 представляет компонент или компоненты, которые выполняют эту операцию суммирования. Если требуется, фильтр удаления блочности также может быть применен для того, чтобы фильтровать декодированные блоки, чтобы удалять артефакты блочности. Другие контурные фильтры (в контуре кодирования или после контура кодирования) также могут быть использованы для того, чтобы сглаживать пиксельные переходы или иным образом повышать качество видео. Декодированные видеоблоки в данном кадре или изображении затем сохраняются в DPB 92, которое сохраняет опорные изображения, используемые для последующей компенсации движения. DPB 92 также сохраняет декодированное видео для последующего представления на устройстве отображения, к примеру, на устройстве 32 отображения по фиг. 1. Как СРВ 78, в одном примере, работа DPB 92 может указываться посредством гипотетического эталонного декодера (HRD).
Кодер 20 и декодер 76, как описано в этом раскрытии, представляют примеры устройств, выполненных с возможностью осуществлять технологии для сигнализации синхронизации в процессе кодирования видео, как описано в этом раскрытии. Соответственно, операции, описанные в этом раскрытии для сигнализации времени, могут выполняться посредством кодера 20, декодера 76 либо и того и другого. В некоторых случаях кодер 20 может сигнализировать информацию синхронизации, и декодер 76 может принимать такую информацию синхронизации, например, для использования при задании одного или более HRD-признаков, характеристик, параметров или условий.
Видеодекодер 76 в некоторых случаях может представлять собой тестируемый видеодекодер 76 (или VUT). Видеодекодер 76 может принимать представление кодированного потока битов, сформированного посредством видеокодера 20, чтобы непосредственно сигнализировать в синтаксической VPS-структуре или в VUI-части синтаксической SPS-структуры элементов 55 синтаксиса для кодированной
видеопоследовательности, все элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1. Видеодекодер 76 может декодировать кодированный поток битов, чтобы определять, из синтаксической VPS-структуры или в VUI-части синтаксической SPS-структуры для кодированной видеопоследовательности, элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности РОС-значений, равной 1. Если условие выполняется согласно значениям элементов синтаксиса, видеодекодер 76 может определять число тактов синхросигнала, соответствующее разности РОС-значений, равной 1, и использовать определенное число тактов синхросигнала в качестве ввода, например, для определения опустошения СРВ 78 или переполнения во время декодирования кодированных изображений, включенных в кодированный поток битов.
В другом примере видеокодер 20 может принимать представление кодированного потока битов, сформированного посредством видеокодера 20, чтобы сигнализировать временную шкалу и число единиц в такте синхросигнала самое большее один раз в каждой из синтаксических VPS- и VUI-структур элементов 55 синтаксиса для данной кодированной видеопоследовательности. Видеодекодер 76 может декодировать кодированный поток битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VPS-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VPS-структуре. В некоторых случаях видеодекодер 76 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять временную шкалу и число единиц в такте синхросигнала из синтаксической VUI-структуры кодированного потока битов, который кодирует элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала самое большее один раз в синтаксической VUI-структуре. Временная шкала и число единиц в такте синхросигнала могут сигнализироваться не в синтаксической структуре HRD-параметров, включенной в синтаксическую VPS- и/или VUI-структуру. Видеодекодер 76 может использовать определенную временную шкалу и определенное число единиц в такте синхросигнала в качестве ввода, например для определения опустошения или переполнения СРВ 78 во время декодирования кодированных изображений, включенных в кодированный поток битов.
В другом примере видеодекодер 76 может принимать представление кодированного потока битов, сформированного посредством видеокодера 20, чтобы сигнализировать, в синтаксической VPS-структуре элементов 55 синтаксиса для одной или более кодированных видеопоследовательностей, РОС, пропорциональный флагу указания синхронизации. Видеодекодер 76 может тестировать кодированный поток битов на предмет соответствия посредством декодирования кодированного потока битов, чтобы определять значение для флага. Видеодекодер 76 дополнительно или альтернативно может тестировать кодированный поток битов, сформированный посредством видеодекодера 76, чтобы сигнализировать флаг в синтаксической VPS-структуре, только если также включаются элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала. Видеодекодер 76 может использовать определенное значение РОС, пропорционального флагу указания синхронизации, и элементы синтаксиса временной шкалы и числа единиц в такте синхросигнала в качестве ввода, например, для определения опустошения или переполнения СРВ 78 во время декодирования кодированных изображений, включенных в кодированный поток битов.
Фиг. 4 является блок-схемой, иллюстрирующей примерную структуру 100 кодирования для набора опорных изображений. Структура 100 кодирования включает в себя слайсы 102А-102Е (совместно, "слайсы 102"). Номер 108 в порядке изображений, ассоциированный со структурой 100 кодирования, обозначает порядок вывода соответствующего слайса в наборе опорных изображений. Например, I-слайс 102А должен выводиться первым (РОС-значение 0), в то время как b-слайс 102В должен выводиться вторым (РОС-значение 1). Порядок 110 декодирования, ассоциированный со структурой 100 кодирования, обозначает порядок декодирования для соответствующего слайса в наборе опорных изображений. Например, I-слайс 102А должен выводиться первым (порядок 1 декодирования), в то время как b-слайс 102В должен выводиться вторым (порядок 2 декодирования).
Стрелка 104 указывает время вывода для изображений вдоль временного континуума t. Временной интервал 106 представляет временной интервал, соответствующий разности значений номеров в порядке изображений (РОС), равной 1. Временной интервал 106 может включать в себя число тактов синхросигнала, которое может зависеть от временной шкалы (соответствующей, например, частоте осциллятора - к примеру 27 МГц - которая задает систему временных координат для сигнализируемой информации), и число единиц времени синхросигнала, работающего при временной шкале, которое соответствует одному приращению счетчика тактов синхросигнала, которое упоминается в качестве "такта синхросигнала". В соответствии с технологиями, описанными в данном документе, видеокодер 20 может формировать поток битов, чтобы непосредственно сигнализировать, в синтаксической структуре наборов параметров видео (VPS) или в части информации применимости видео (VUI) синтаксической структуры набора параметров последовательности (SPS) для кодированной видеопоследовательности, элементы синтаксиса, которые задают условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1.
Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии. Видеокодер 20 кодирует изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность (200). Видеокодер 20 дополнительно формирует наборы параметров для кодированной видеопоследовательности. Наборы параметров могут включать в себя параметры, кодированные согласно синтаксической структуре наборов параметров последовательности (SPS) и/или согласно синтаксической структуре наборов параметров видео (VPS). Согласно технологиям, описанным в данном документе, видеокодер 20 кодирует элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы непосредственно в синтаксическую VPS-структуру и/или непосредственно в синтаксическую SPS-структуру для кодированной видеопоследовательности (202). Термин "непосредственно" указывает то, что такое кодирование может формироваться без включения, в синтаксическую VPS-структуру или синтаксическую SPS-структуру (при соответствующих условиях), элементов синтаксиса для числа единиц в такте синхросигнала и временной шкалы, заданных для отдельной синтаксической структуры набора параметров, к примеру синтаксической структуры, соответствующей набору параметров гипотетического эталонного декодера (HRD), как задано в HEVC WD9.
Помимо этого, видеокодер 20 кодирует непосредственно в синтаксическую VPS-структуру и/или синтаксическую SPS-структуру кодированной видеопоследовательности, условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной единице (204). Условие может включать в себя один или более элементов синтаксиса, которые представляют переменные для булевой формулы, причем в этом случае видеокодер 20 может кодировать каждый такой элемент синтаксиса непосредственно в синтаксическую VPS-структуру и/или синтаксическую SPS-структуру кодированной видеопоследовательности. Видеокодер 20 выводит кодированную видеопоследовательность и синтаксическую VPS-структуру и/или синтаксическую SPS-структуру для кодированной видеопоследовательности (206). В некоторых случаях видеокодер 20 выводит эти структуры в HRD видеокодера 20.
Фиг. 6А-6В являются блок-схемами последовательности операций, иллюстрирующими примерные способы работы согласно технологиям, описанным в этом раскрытии. На фиг. 6А видеокодер 20 кодирует изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность (300).
Видеокодер 20 дополнительно формирует наборы параметров для кодированной видеопоследовательности. Наборы параметров могут включать в себя параметры, кодированные согласно синтаксической структуре наборов параметров видео (VPS). Согласно технологиям, описанным в данном документе, видеокодер 20 кодирует элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы непосредственно, и самое большее один раз, в синтаксическую VPS-структуру для кодированной видеопоследовательности (302). В некоторых случаях даже в случаях, в которых синтаксическая VPS-структура включает в себя несколько экземпляров HRD-параметров, посредством кодирования элементов синтаксиса непосредственно в синтаксическую VPS-структуру (самое большее один раз), а не в наборы HRD-параметров (или в любую другую включенную синтаксическую структуру набора параметров), синтаксическая VPS-структура может включать в себя один элемент синтаксиса для каждого из числа единиц в такте синхросигнала и временной шкалы. Видеокодер 20 выводит кодированную видеопоследовательность и синтаксическую VPS-структуру для кодированной видеопоследовательности (304). В некоторых случаях видеокодер 20 выводит эти структуры в HRD видеокодера 20.
На фиг. 6В видеокодер 20 кодирует изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность (310). Видеокодер 20 дополнительно формирует наборы параметров для кодированной видеопоследовательности. Наборы параметров могут включать в себя параметры, кодированные согласно набору параметров видео (SPS) синтаксическая структура. Согласно технологиям, описанным в данном документе, видеокодер 20 кодирует элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы непосредственно, и самое большее один раз, в синтаксическую SPS-структуру для кодированной видеопоследовательности (312). В некоторых случаях даже в случаях, в которых синтаксическая SPS-структура включает в себя несколько экземпляров HRD-параметров, посредством кодирования элементов синтаксиса непосредственно в синтаксическую SPS-структуру (самое большее один раз), а не в наборы HRD-параметров (или в любую другую включенную синтаксическую структуру набора параметров), синтаксическая SPS-структура может включать в себя один элемент синтаксиса для каждого из числа единиц в такте синхросигнала и временной шкалы. Видеокодер 20 выводит кодированную видеопоследовательность и синтаксическую SPS-структуру для кодированной видеопоследовательности (314). В некоторых случаях видеокодер 20 выводит эти структуры в HRD видеокодера 20. В некоторых случаях видеокодер 20 может кодировать элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы как в синтаксическую VPS-структуру, так и в синтаксическую SPS-структуру для кодированной видеопоследовательности.
Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии. Видеокодер 20 кодирует изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность (400).
Видеокодер 20 дополнительно формирует наборы параметров для кодированной видеопоследовательности. Наборы параметров могут включать в себя параметры, кодированные согласно синтаксической структуре наборов параметров видео (VPS). Если информация синхронизации должна быть включена, например, для задания модели HRD-буферизации (ветвь "Да", 402), видеокодер 20 кодирует, непосредственно в синтаксическую VPS-структуру для кодированной видеопоследовательности, элемент синтаксиса, имеющий значение, которое точно определяет то, является или нет значение номера в порядке изображений (РОС) для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности (404). Элемент синтаксиса может быть семантически аналогичным рос_proportional_to_timing_flag, заданному посредством HEVC WD9. Информация синхронизации может представлять число единиц в такте синхросигнала и временную шкалу.
Если значение элемента синтаксиса является истинным (ветвь "Да", 406), видеокодер 20 также кодирует элемент синтаксиса для числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений, равной единице (408). Поскольку видеокодер 20 кодирует элементы синтаксиса в VPS, значения элементов синтаксиса могут применяться ко всем слоям или всем возможным под-наборам потоков битов масштабируемого потока видеобитов, поскольку VPS представляет набор параметров самого верхнего слоя и описывает полные характеристики последовательностей кодированных изображений.
Если информация синхронизации не должна быть включена в синтаксическую VPS-структуру (ветвь "Нет", 402), видеокодер 20 не кодирует ни элемент синтаксиса для указания, что РОС является пропорциональным информации синхронизации, ни элемент синтаксиса для числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений, равной единице. Если РОС не является пропорциональным информации синхронизации (т.е. значение является ложью) (ветвь "Нет", 406), видеокодер 20 не кодирует элемент синтаксиса для числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений, равной единице.
Видеокодер 20 выводит кодированную видеопоследовательность и синтаксическую VPS-структуру для кодированной видеопоследовательности (410). В некоторых случаях видеокодер 20 выводит эти структуры в HRD видеокодера 20.
Фиг. 8 является блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии. Устройство 30 видеодекодера или гипотетический эталонный декодер 57 устройства 20 видеокодера (в дальнейшем в этом документе, "декодер") принимает кодированную видеопоследовательность и синтаксическую структуру наборов параметров видео (VPS) и/или синтаксическую структуру наборов параметров последовательности (SPS) для кодированной видеопоследовательности (500).
Кодированная видеопоследовательность и/или синтаксическая структура(ы) могут кодироваться в поток битов, который включает в себя одно или более кодированных изображений.
Декодер обрабатывает синтаксическую VPS-структуру и/или синтаксическую SPS-структуру таким образом, чтобы извлекать элемент синтаксиса, который точно определяет, непосредственно в синтаксической VPS-структуре и/или синтаксической SPS-структуре, условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной единице (502). Условие может включать в себя один или более элементов синтаксиса, которые представляют переменные для булевой формулы, причем в этом случае декодер может обрабатывать каждый такой элемент синтаксиса непосредственно из синтаксической VPS-структуры и/или синтаксической SPS-структуры кодированной видеопоследовательности.
Декодер дополнительно обрабатывает синтаксическую VPS-структуру и/или синтаксическую SPS-структуру таким образом, чтобы извлекать элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы непосредственно из синтаксической VPS-структуры и/или непосредственно из синтаксической SPS-структуры для кодированной видеопоследовательности (504). Декодер затем может верифицировать соответствие кодированной видеопоследовательности модели буферизации видео, которая задается, по меньшей мере, частично, посредством значений для условия, числа единиц в такте синхросигнала и временной шкалы, извлеченных из синтаксической VPS-структуры и/или синтаксической SPS-структуры и считываемых из соответствующих элементов синтаксиса (506).
Фиг. 9А-9В являются блок-схемами последовательности операций, иллюстрирующими примерные способы работы согласно технологиям, описанным в этом раскрытии. На фиг. 9А устройство 30 видеодекодера или гипотетический эталонный декодер 57 устройства 20 видеокодера (в дальнейшем в этом документе, "декодер") принимает кодированную видеопоследовательность и синтаксическую структуру наборов параметров видео (VPS) для кодированной видеопоследовательности (600). Кодированная видеопоследовательность и/или синтаксическая VPS-структура могут кодироваться в поток битов, который включает в себя одно или более кодированных изображений.
Согласно технологиям, описанным в данном документе, декодер обрабатывает синтаксическую VPS-структуру таким образом, чтобы извлекать элементы синтаксиса для числа единиц в такте синхро
сигнала и временной шкалы, которые возникают непосредственно, и самое большее один раз, в синтаксической VPS-структуре для кодированной видеопоследовательности (602). Декодер затем может верифицировать соответствие кодированной видеопоследовательности модели буферизации видео, которая задается, по меньшей мере, частично, посредством значений для числа единиц в такте синхросигнала и временной шкалы, извлеченных из синтаксической VPS-структуры и считываемых из соответствующих элементов синтаксиса (604).
На фиг. 9В декодер принимает кодированную видеопоследовательность и синтаксическую структуру набора параметров видео (SPS) для кодированной видеопоследовательности (610). Кодированная видеопоследовательность и/или синтаксические SPS-структуры могут кодироваться в поток битов, который включает в себя одно или более кодированных изображений.
Согласно технологиям, описанным в данном документе, декодер обрабатывает синтаксическую SPS-структуру таким образом, чтобы извлекать элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы, которые возникают непосредственно, и самое большее один раз, в синтаксической SPS-структуре для кодированной видеопоследовательности (612). Декодер затем может верифицировать соответствие кодированной видеопоследовательности модели буферизации видео, которая задается, по меньшей мере, частично, посредством значений для числа единиц в такте синхросигнала и временной шкалы, извлеченных из синтаксической SPS-структуры и считываемых из соответствующих элементов синтаксиса (614).
Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей примерный способ работы согласно технологиям, описанным в этом раскрытии. На фиг. 10, устройство 30 видеодекодера или гипотетический эталонный декодер 57 устройства 20 видеокодера (в дальнейшем в этом документе, "декодер") принимает кодированную видеопоследовательность и синтаксическую структуру наборов параметров видео (VPS) для кодированной видеопоследовательности (700). Кодированная видеопоследовательность и/или синтаксическая VPS-структура могут кодироваться в поток битов, который включает в себя одно или более кодированных изображений.
Декодер обрабатывает синтаксическую VPS-структуру таким образом, чтобы извлекать элемент синтаксиса, который точно определяет то, является или нет значение номера в порядке изображений для каждого изображения в кодированной видеопоследовательности, которое не является первым изображением в кодированной видеопоследовательности в порядке декодирования, пропорциональным времени вывода изображения относительно времени вывода первого изображения в кодированной видеопоследовательности (702). Если значение для элемента синтаксиса является истинным, то декодер дополнительно обрабатывает синтаксическую VPS-структуру таким образом, чтобы извлекать элемент синтаксиса для числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений, равной единице (706). Декодер затем может верифицировать соответствие кодированной видеопоследовательности модели буферизации видео, которая задается, по меньшей мере, частично, посредством значения для числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений, равной единице, извлеченных из синтаксической VPS-структуры и считываемых из соответствующего элемента синтаксиса (708).
В одном или более примеров описанные функции могут быть реализованы в аппаратных средствах, программном обеспечении, микропрограммном обеспечении или любой комбинации вышеозначенного. При реализации в программном обеспечении функции могут быть сохранены или переданы в качестве одной или более инструкций или кода по считываемому компьютером носителю и выполнены посредством аппаратного процессора. Считываемые компьютером носители могут включать в себя считываемые компьютером носители данных, которые соответствуют материальному носителю, такие как носители данных, или среды связи, включающие в себя любой носитель, который упрощает перенос компьютерной программы из одного места в другое, например, согласно протоколу связи. Таким образом, считываемые компьютером носители, в общем, могут соответствовать (1) материальному считываемому компьютером носителю данных, который является долговременным, или (2) среде связи, такой как сигнал или несущая. Носители данных могут представлять собой любые доступные носители, к которым может осуществляться доступ посредством одного или более компьютеров или одного или более процессоров, с тем чтобы извлекать инструкции, код и/или структуры данных для реализации технологий, описанных в этом раскрытии. Компьютерный программный продукт может включать в себя считываемый компьютером носитель.
В качестве примера, а не ограничения, эти считываемые компьютером носители данных могут содержать RAM, ROM, EEPROM, CD-ROM или другое устройство хранения на оптических дисках, устройство хранения на магнитных дисках или другие магнитные устройства хранения, флэш-память либо любой другой носитель, который может быть использован для того, чтобы сохранять требуемый программный код в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера. Также любое подключение корректно называть считываемым компьютером носителем. Например, если инструкции передаются из веб-узла, сервера или другого удаленного источника с помощью коаксиального кабеля, оптоволоконного кабеля, "витой пары", цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасные, радиопередающие и микроволновые сре
ды, то коаксиальный кабель, оптоволоконный кабель, "витая пара", DSL или беспроводные технологии, такие как инфракрасные, радиопередающие и микроволновые среды, включаются в определение носителя. Тем не менее, следует понимать, что считываемые компьютером носители данных и носители данных не включают в себя соединения, несущие, сигналы или другие энергозависимые носители, а вместо этого направлены на долговременные материальные носители данных. Диск (disk) и диск (disc) при использовании в данном документе включают в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), гибкий диск и диск Blu-Ray, при этом диски (disk) обычно воспроизводят данные магнитно, тогда как диски (disc) обычно воспроизводят данные оптически с помощью лазеров. Комбинации вышеперечисленного также следует включать в число считываемых компьютером носителей.
Инструкции могут выполняться посредством одного или более процессоров, например одного или более процессоров цифровых сигналов (DSP), микропроцессоров общего назначения, специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) либо других эквивалентных интегральных или дискретных логических схем. Соответственно, термин "процессор" при использовании в данном документе может означать любую вышеуказанную структуру или другую структуру, подходящую для реализации технологий, описанных в данном документе. Помимо этого, в некоторых аспектах функциональность, описанная в данном документе, может быть предоставлена в рамках специализированных программных и/или аппаратных модулей, выполненных с возможностью кодирования или декодирования либо встроенных в комбинированный кодек. Кроме того, технологии могут быть полностью реализованы в одной или более схем или логических элементов.
Технологии этого раскрытия могут быть реализованы в широком спектре устройств или приборов, в том числе в беспроводном переносном телефоне, в интегральной схеме (IC) или в наборе IC (к примеру, в наборе микросхем). Различные компоненты, модули или блоки описываются в этом раскрытии для того, чтобы подчеркивать функциональные аспекты устройств, выполненных с возможностью осуществлять раскрытые технологии, но необязательно требуют реализации посредством различных аппаратных модулей. Наоборот, как описано выше, различные блоки могут быть комбинированы в аппаратный модуль кодека или предоставлены посредством набора взаимодействующих аппаратных модулей, включающих в себя один или более процессоров, как описано выше, в сочетании с надлежащим программным обеспечением и/или микропрограммным обеспечением.
Описаны различные примеры. Эти и другие примеры находятся в пределах объема прилагаемой формулы изобретения.
ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ декодирования видеопоследовательности, при этом способ содержит этапы, на которых
принимают кодированную видеопоследовательность, содержащую кодированные изображения ви-
деопоследовательности; и
принимают параметры синхронизации для кодированной видеопоследовательности, которые включают в себя условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
2. Способ по п.1, в котором прием кодированной видеопоследовательности содержит этап, на котором принимают кодированный поток битов, содержащий последовательность битов, которая формирует представление кодированных изображений, причем способ дополнительно содержит этап, на котором верифицируют соответствие кодированного потока битов модели буферизации видео буфера кодированных изображений и буфера декодированных изображений, заданной, по меньшей мере частично, посредством упомянутого условия.
3. Способ по п.1, в котором прием параметров синхронизации для кодированной видеопоследовательности дополнительно содержит этап, на котором принимают временную шкалу и число единиц в такте синхросигнала по меньшей мере в одной из синтаксической VPS-структуры и синтаксической SPS-структуры.
4. Способ по п.1, в котором параметры синхронизации содержат параметры синхронизации для операций гипотетического эталонного декодирования.
5. Способ по п.1, в котором упомянутое условие не включает в себя зависимость от элемента синтаксиса в синтаксической структуре параметров гипотетического эталонного декодера (HRD) синтаксической VPS-структуры или синтаксической SPS-структуры.
6. Способ по п.1, в котором синтаксическая VPS-структура включает в себя упомянутое условие.
7. Способ по п.6, в котором синтаксическая VPS-структура включает в себя упомянутое условие в качестве элемента vps_рос_proportional_to_timing_^lag синтаксиса.
8. Способ по п.1, в котором синтаксическая SPS-структура включает в себя упомянутое условие.
9. Способ по п.8, в котором синтаксическая SPS-структура включает в себя упомянутое условие в
качестве элемента sps_poc_proportional_to_timing_flag синтаксиса.
10. Способ для кодирования видеопоследовательности, при этом способ содержит этапы, на которых
кодируют изображения видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность, содержащую кодированные изображения; и
сигнализируют параметры синхронизации для кодированной видеопоследовательности посредством непосредственной сигнализации условия для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1 по меньшей мере в одной из синтаксической структуры набора параметров видео (VPS), к которой обращается кодированная видеопоследовательность, и синтаксической структуры набора параметров последовательности (SPS), к которой обращается кодированная видеопоследовательность.
11. Способ по п.10, в котором упомянутое условие не включает в себя зависимость от элемента синтаксиса, сигнализируемого в синтаксической структуре параметров гипотетического эталонного декодера (HRD).
12. Способ по п.10, в котором сигнализация параметров синхронизации дополнительно содержит этап, на котором сигнализируют временную шкалу и число единиц в такте синхросигнала по меньшей мере в одной из синтаксической VPS-структуры и синтаксической SPS-структуры.
13. Способ по п.10, в котором непосредственная сигнализация упомянутого условия содержит этап, на котором сигнализируют упомянутое условие в синтаксической VPS-структуре.
14. Способ по п.13, в котором сигнализация упомянутого условия в синтаксической VPS-структуре содержит этап, на котором сигнализируют упомянутое условие в качестве элемента vps_poc_proportional_to_timing_flag синтаксиса.
15. Способ по п.10, в котором непосредственная сигнализация упомянутого условия содержит этап, на котором сигнализируют упомянутое условие в синтаксической SPS-структуре.
16. Способ по п.15, в котором сигнализация упомянутого условия в синтаксической SPS-структуре содержит этап, на котором сигнализируют упомянутое условие в качестве элемента sps_рос_proportional_to_timing_^lag синтаксиса.
17. Способ по п.10, дополнительно содержащий этап, на котором
генерируют кодированный поток битов, содержащий последовательность битов, которая формирует представление кодированных изображений,
при этом параметры синхронизации, по меньшей мере частично, задают модель буферизации видео буфера кодированных изображений и буфера декодированных изображений для верификации соответствия кодированного потока битов.
18. Способ по п.10, в котором параметры синхронизации содержат параметры синхронизации для операций гипотетического эталонного декодирования.
19. Устройство для декодирования видеопоследовательности, содержащее процессор, выполненный с возможностью исполнения программного кода для осуществления операций способа по пп.1-9.
20. Устройство для кодирования видеопоследовательности, содержащее процессор, выполненный с возможностью исполнения программного кода для осуществления операций способа по пп.10-18.
21. Долговременный считываемый компьютером носитель данных, хранящий программный код для кодирования и/или декодирования видеопоследовательности, который при исполнении посредством одного или более процессоров устройства по пп.19 и/или 20 позволяет осуществить операции способа по пп.1-9 и/или 10-18.
18.
18.
18.
Кодирование изображений видеопоследовательности для того,
чтобы генерировать кодированную видеопоследовательность
Кодирование элементов синтаксиса для числа единиц в такте синхросигнала и временной шкалы непосредственно в синтаксическую VPS-структуру и/или непосредственно в синтаксическую SPS-структуру для кодированной видеопоследовательности
Кодирование элемента синтаксиса, чтобы точно определять условие для сигнализации числа тактов синхросигнала, соответствующего разности значений номеров в порядке изображений (РОС), равной 1, непосредственно е синтаксическую VPS-структуру и/или синтаксическую SPS-структуру для кодированной видеопоследовательности
Вывод кодированной видеопоследовательности и синтаксической VPS-структуры и/или синтаксической SPS-структуры для кодированной видеопоследовательности
Фиг. 5
Кодирование изображений видеопоследовательности для того, чтобы генерировать кодированную видеопоследовательность
Кодирование элементов синтаксиса для числа единиц в такте синхросигнала и временной шкалы непосредственно, и самое большее один раз, в синтаксическую SPS-структуру
для кодированной видеопоследовательности
Вывод кодированной видеопоследовательности и синтаксической
SPS-структуры для кодированной видеопоследовательности
Фиг. 6В
Прием кодированной видеопоследовательности и синтаксической
VPS-структуры для кодированной видеопоследовательности
Обработка синтаксической VPS-структуры таким образом, чтобы извлекать элементы синтаксиса для числа единиц в такте синхросигнала и временной шкалы, которые включаются непосредственно, и самое большее один раз, в синтаксическую VPS-структуру
Верификация соответствия кодированной видеопоследовательности модели буферизации видео, заданной, по меньшей мере, частично, посредством числа единиц в такте синхросигнала и временной шкалы
Фиг. 9А
Евразийская патентная организация, ЕАПВ Россия, 109012, Москва, Малый Черкасский пер., 2
(1)
(19)
(19)
032226
- 4 -
200
032226
- 29 -
-310
032226
- 30 -
032226
- 31 -