СПОСОБ И УСТРОЙСТВО ДЛЯ МАСШТАБИРУЕМОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА
METHOD AND DEVICE FOR VIDEO SIGNAL SCALABLE CODING AND DECODING

По данной заявке испрашивается приоритет в соответствии с первоначальной заявкой № 60/725700, «METHOD AND APPARATUS FOR SCALABLE VIDEO ENCODING AND DECODING», поданной 12 октября 2005 г., которая включена в настоящее описание в полном объеме в качестве ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится, в общем, к кодированию и декодированию видеосигнала и в частности к способу и устройству для масштабируемого кодирования и декодирования видеосигнала.
УРОВЕНЬ ТЕХНИКИ
Масштабируемость зон интереса (ROI) является существенной особенностью ряда прикладных систем масштабируемого кодирования видеосигнала. Пользователям может потребоваться разная масштабируемость пространственных/временных/качественных параметров внутри и снаружи ROI.
Для реализации возможности ROI предложено гибкое упорядочивание макроблоков (FMO). Часть 10 стандарта Усовершенствованное кодирование видеосигнала (AVC) Экспертной группы по кинематографии (MPEG-4) Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC), стандарт H.264 Сектора телекоммуникаций Международного союза телекоммуникаций (ITU-T) (именуемый далее «стандартом MPEG4/H.264» или просто «стандартом H.264») требует, чтобы каждый макроблок в изображении был включен в группу секторов, и чтобы группы секторов кодировались в первичных кодируемых изображениях (хотя это необязательно для избыточных изображений). Стандарт H.264 не допускает никаких потерь групп секторов, и это означает, что даже для групп секторов, которые содержат зоны за границами ROI, такие группы секторов все же требуется кодировать и передавать в сеть. Указанное требование можно обосновать тем, что кодировщик обладает возможностью управлять битами для макроблоков снаружи ROI. Например, в одном известном исполнении кодировщик может кодировать все макроблоки в зонах за границами ROI в режиме BL_SKIP (пропуска базового слоя) или INTRA_BL (внутреннего кодирования базового слоя). Даже несмотря на то, что для сигнализации о режиме BL_SKIP или lNTRA_BL может требоваться небольшое число битов, для их кодирования кодировщику приходится выполнять лишнюю работу. Еще важнее то, что для кодирования зон за границами ROI требуются лишние единицы NAL (синтаксические структуры блока Уровня сетевой абстракции) и, следовательно, лишние затраты скорости передачи битов. Например, в случае отношения между ROI и зонами за границами ROI (1/4 к 3/4) и (1/2 к 1/2) для базового слоя в формате четверть-CIF (общий промежуточный формат) (QCIF) и улучшенного слоя (30 кадров/с) в общем промежуточном формате (CIF) затраты скорости передачи битов на передачу режима INTRA_BL для зоны за границами ROI в улучшенном слое посредством транспортного протокола реального времени (RTP), по приблизительным подсчетам, составляют 12 кбит/с и 9 кбит/с соответственно. Одновременно, из-за этого возрастает нагрузка на маршрутизатор по поиску всех упомянутых единиц NAL. Кроме того, декодировщик все еще должен производить поиск битовых потоков, предназначенных для зоны за границами ROI. Следует отметить, что в объединенной модели масштабируемого видео (JSVM) версии 3.0 поддержка режима INTRA_BL для всех макроблоков в улучшенном слое, независимо от типов макроблоков базового слоя, требует многоциклового декодирования, которое может быть недопустимым для некоторых профилей. Такой сдерживающий фактор ограничивает применимость режима INTRA_BL, если кодировщик поддерживает только одноцикловое декодирование. Следовательно, в настоящее время, программное обеспечение JSVM Version 3.0 не допускает применения режима INTRA_BL для всех MB (макроблоков) в зоне за границами ROI, независимо от одного или нескольких циклов декодирования.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Упомянутые и другие недостатки и помехи известного уровня техники устраняются настоящим изобретением, которое относится к способу и устройству для масштабируемого кодирования и декодирования видеосигнала.
В соответствии с аспектом настоящего изобретения обеспечивается кодировщик для масштабируемого кодирования видеосигнала. Кодировщик для масштабируемого кодирования видеосигнала содержит кодировщик для кодирования изображения для формирования битового потока базового слоя и битового потока улучшенного слоя. Битовый поток базового слоя и битовый поток улучшенного слоя формируются путем разбиения изображения на множество блоков изображения, группировки множества блоков изображения в, по меньшей мере, одну группу секторов в битовом потоке базового слоя и в, по меньшей мере, две группы секторов в битовом потоке улучшенного слоя, кодирования всех из, по меньшей мере, одной группы секторов в битовом потоке базового слоя и менее чем всех из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя, так что, по меньшей мере, одна группа секторов из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя является намеренно не кодированной, кодирования элемента синтаксической структуры в заголовке для указания, по меньшей мере, одной намеренно не кодированной группы секторов в улучшенном слое.
В соответствии с другим аспектом настоящего изобретения обеспечивается способ масштабируемого кодирования видеосигнала. Способ содержит этап кодирования изображения для формирования битового потока базового слоя и битового потока улучшенного слоя. Этап кодирования содержит разбиение изображения на множество блоков изображения. Этап кодирования содержит также группировку множества блоков изображения в, по меньшей мере, одну группу секторов в битовом потоке базового слоя и в, по меньшей мере, две группы секторов в битовом потоке улучшенного слоя. Этап кодирования дополнительно содержит кодирование всех из, по меньшей мере, одной группы секторов в битовом потоке базового слоя и менее чем всех из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя, так что, по меньшей мере, одна группа секторов из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя намеренно не кодирована. Этап кодирования содержит также кодирование элемента синтаксической структуры в заголовке для указания, по меньшей мере, одной намеренно не кодированной группы секторов в улучшенном слое.
В соответствии с еще одним аспектом настоящего изобретения обеспечивается декодировщик для масштабируемого кодирования видеосигнала. Декодировщик для масштабируемого кодирования видеосигнала содержит декодировщик для декодирования битового потока базового слоя и битового потока улучшенного слоя. Битовый поток базового слоя и битовый поток улучшенного слоя декодируются путем считывания элемента синтаксической структуры, указывающего, по меньшей мере, одну из множества групп секторов, намеренно не кодированную в улучшенном слое; декодирования битового потока улучшенного слоя с использованием только информации базового слоя для, по меньшей мере, одной из множества групп секторов, указанной элементом синтаксической структуры; и декодирования любых оставшихся из множества групп секторов в улучшенном слое с использованием информации улучшенного слоя.
В соответствии с еще одним аспектом настоящего изобретения обеспечивается способ масштабируемого декодирования видеосигнала. Способ содержит декодирование битового потока базового слоя и битового потока улучшенного слоя путем считывания элемента синтаксической структуры, указывающего, по меньшей мере, одну из множества групп секторов, намеренно не кодированную в улучшенном слое, декодирования битового потока улучшенного слоя с использованием только информации базового слоя для, по меньшей мере, одной из множества групп секторов, указанной элементом синтаксической структуры, и декодирования любых оставшихся из множества групп секторов в улучшенном слое с использованием информации улучшенного слоя.
В соответствии с дополнительным аспектом настоящего изобретения обеспечивается структура видеосигнала для масштабируемого кодирования видеосигнала. Структура видеосигнала содержит изображение, кодированное для формирования битового потока базового слоя и битового потока улучшенного слоя. Битовый поток базового слоя и битовый поток улучшенного слоя формируются путем разбиения изображения на множество блоков изображения, группировки множества блоков изображения в, по меньшей мере, одну группу секторов в битовом потоке базового слоя и в, по меньшей мере, две группы секторов в битовом потоке улучшенного слоя, кодированием всех из, по меньшей мере, одной группы секторов в битовом потоке базового слоя и менее чем всех из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя, так что, по меньшей мере, одна группа секторов из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя намеренно не кодирована, кодирования элемента синтаксической структуры в заголовке для указания, по меньшей мере, одной намеренно не кодированной группы секторов в улучшенном слое.
В соответствии с еще одним дополнительным аспектом настоящего изобретения обеспечивается носитель данных, содержащий данные масштабируемого видеосигнала, кодированные на упомянутом носителе. Носитель данных содержит изображение, кодированное для формирования битового потока базового слоя и битового потока улучшенного слоя. Битовый поток базового слоя и битовый поток улучшенного слоя сформированы путем разбиения изображения на множество блоков изображения, группировки множества блоков изображения в, по меньшей мере, одну группу секторов в битовом потоке базового слоя и в, по меньшей мере, две группы секторов в битовом потоке улучшенного слоя, кодирования всех из, по меньшей мере, одной группы секторов в битовом потоке базового слоя и менее чем всех из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя, так что, по меньшей мере, одна группа секторов из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя является намеренно не кодированной, кодирования элемента синтаксической структуры в заголовке для указания, по меньшей мере, одной намеренно не кодированной группы секторов в улучшенном слое.
Упомянутые и другие аспекты, признаки и преимущества настоящего изобретения очевидны из нижеследующего подробного описания примерных вариантов осуществления, которое следует изучать совместно с прилагаемыми чертежами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение можно лучше понять в соответствии с нижеприведенными примерными фигурами, на которых:
фиг.1 показывает структурную схему примерного кодировщика объединенной модели масштабируемого видео (JSVM) 3.0, к которому применимы настоящие принципы;
фиг.2 показывает структурную схему примерного декодировщика, к которому применимы настоящие принципы;
фиг.3 показывает блок-схему последовательности операций примерного способа объединенного масштабируемого кодирования видеосигнала с зонами интереса в соответствии с вариантом осуществления настоящих принципов; и
фиг.4 показывает блок-схему последовательности операций примерного способа объединенного масштабируемого декодирования видеосигнала с зонами интереса в соответствии с вариантом осуществления настоящих принципов.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение адресовано к способу и устройству для масштабируемого кодирования и декодирования видеосигнала.
Настоящее описание поясняет принципы настоящего изобретения. Таким образом, должно быть очевидно, что специалисты в данной области техники смогут создать различные системы, которые, даже если не рассмотрены и не представлены в настоящем описании, осуществляют принципы изобретения и находятся в пределах его существа и объема.
Все примеры и условный язык, изложенные в настоящем описании, представлены с педагогической целью для облегчения понимания читателем принципов изобретения и идей, предложенных изобретателем для совершенствования технических средств, и подлежат истолкованию, не ограниченному подобными конкретно изложенными примерами и условиями.
Кроме того, все формулировки, излагающие в настоящем описании принципы, аспекты и варианты осуществления изобретения, а также конкретные их примеры предназначены для охвата как структурных, так и функциональных эквивалентов изобретения. Кроме того, предполагается, что подобные эквиваленты включают в себя известные в настоящее время эквиваленты, а также эквиваленты, которые будут созданы в дальнейшем, т.е. любые созданные элементы, которые выполняют одинаковые функции, независимо от структуры.
Следовательно, например, специалистам в данной области техники должно быть очевидно, что структурные схемы, представленные в настоящем описании, дают концептуальные представления наглядных схем, осуществляющих принципы изобретения. Аналогично, следует понимать, что любые блок-схемы последовательности операций, диаграммы последовательности операций, диаграммы изменения состояний, псевдокод и т.п. отражают различные процессы, которые могут быть, по существу, представлены на компьютерно-читаемых носителях и, следовательно, исполнимы компьютером или процессором, независимо от того, показан ли подобный компьютер или процессор в явном виде.
Функции различных элементов, показанных на фигурах, могут обеспечиваться специализированными аппаратными средствами, а также аппаратными средствами, способными исполнять программы, в сочетании с подходящим программным обеспечением. Когда функции обеспечиваются процессором, функции могут обеспечиваться единственным специализированным процессором, одним процессором совместного доступа или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явно использованный термин «процессор» или «контроллер» не следует интерпретировать как ссылку исключительно на аппаратные средства, способные исполнять программное обеспечение, и может косвенно охватывать, без ограничения, аппаратные средства цифрового сигнального процессора («DSP»), постоянное запоминающее устройство («ROM») для хранения программного обеспечения, оперативное запоминающее устройство («RAM») и энергонезависимое запоминающее устройство.
Возможно также включение в состав других аппаратных средств, обычных и/или специализированных. Аналогично, любые переключатели, показанные на фигурах, являются только концептуальными. Их функции могут исполняться работой программной логики, посредством специализированных логических схем, путем взаимодействия программного управления и специализированных логических схем или даже вручную, конкретный метод выбирается разработчиком, что, в частности, очевидно из контекста.
В нижеприведенной формуле изобретения предполагается, что любой элемент, прямо заявленный как средство для выполнения заданной функции, охватывает любой способ выполнения упомянутой функции, включая, например, а) комбинацию схемных элементов, которые выполняют упомянутую функцию, или б) программное обеспечение в любой форме, включая, в этой связи, программно-аппаратное обеспечение, микрокод или что-то подобное, в комбинации с подходящими схемами, чтобы исполнять упомянутое программное обеспечение для выполнения функции. Изобретение, определяемое такой формулой изобретения, состоит в том, что функции, обеспечиваемые различными перечисленными средствами, сочетаются и объединяются таким образом, как предусматривает формула изобретения. Следовательно, считается, что любые средства, которые могут обеспечить упомянутые функции, эквивалентны средствам, показанным в настоящем описании.
Как показано на Фиг.1, примерный кодировщик «объединенной модели масштабируемого видео» версии 3.0 (именуемый далее «JSVM3.0»), к которому можно применить настоящее изобретение, указан, в общем, цифровой позицией 100. Кодировщик 100 JSVM3.0 использует три пространственных слоя и временную фильтрацию с компенсацией движения. Кодировщик 100 JSVM3.0 содержит двумерный (2-мерный) прореживатель 104, 2-мерный прореживатель 106 и модуль 108 временной фильтрации с компенсацией движения (MCTF-модуль), каждый из которых содержит вход для получения данных 102 видеосигнала.
Выход 2-мерного прореживателя 106 соединен для передачи сигнала с входом MCTF-модуля 110. Первый выход MCTF-модуля 110 соединен для передачи сигнала с входом кодировщика 112 движения, и второй выход MCTF-модуля 110 соединен для передачи сигнала с входом модуля 116 предсказания. Первый выход кодировщика 112 движения соединен для передачи сигнала с первым входом мультиплексора 114. Второй выход кодировщика 112 движения соединен для передачи сигнала с первым входом кодировщика 124 движения. Первый выход модуля 116 предсказания соединен для передачи сигнала с входом пространственного преобразователя 118. Выход пространственного преобразователя 118 соединен для передачи сигнала со вторым входом мультиплексора 114. Второй выход модуля 116 предсказания соединен для передачи сигнала с входом интерполятора 120. Выход интерполятора соединен для передачи сигнала с первым входом модуля 122 предсказания. Первый выход модуля 122 предсказания соединен для передачи сигнала с входом пространственного преобразователя 126. Выход пространственного преобразователя 126 соединен для передачи сигнала со вторым входом мультиплексора 114. Второй выход модуля 122 предсказания соединен для передачи сигнала с входом интерполятора 130. Выход интерполятора 130 соединен для передачи сигнала с первым входом модуля 134 предсказания. Выход модуля 134 предсказания соединен для передачи сигнала с входом пространственного преобразователя 136. Выход пространственного преобразователя соединен для передачи сигнала со вторым входом мультиплексора 114.
Выход 2-мерного прореживателя 104 соединен для передачи сигнала с входом MCTF-модуля 128. Первый выход MCTF-модуля 128 соединен для передачи сигнала со вторым входом кодировщика 124 движения. Первый выход кодировщика 124 движения соединен для передачи сигнала с первым входом мультиплексора 114. Второй выход кодировщика 124 движения соединен для передачи сигнала с первым входом кодировщика 132 движения. Второй выход MCTF-модуля 128 соединен для передачи сигнала со вторым входом модуля 122 предсказания.
Первый выход MCTF-модуля 108 соединен для передачи сигнала со вторым входом кодировщика 132 движения. Выход кодировщика 132 движения соединен для передачи сигнала с первым входом мультиплексора 114. Второй выход MCTF-модуля 108 соединен для передачи сигнала со вторым входом модуля 134 предсказания. Выход мультиплексора 114 обеспечивает выходной битовый поток 138.
Для каждого пространственного слоя выполняется временная декомпозиция с компенсацией движения. Эта декомпозиция обеспечивает временную масштабируемость. Информацию движения из нижних пространственных слоев можно использовать для предсказания движения в верхних слоях. При кодировании текстур пространственное предсказание между последовательными пространственными слоями можно применить для удаления избыточности. Остаточный сигнал, образующийся в результате внутрикадрового предсказания или межкадрового преобразования с компенсацией движения, кодируется с преобразованием. Сигнал-остаток базового слоя высокого качества обеспечивает минимальное качество восстановления в каждом пространственном слое. Упомянутый базовый слой высокого качества можно закодировать в поток, соответствующий стандарту H.264, если не применяется межслойное предсказание. Для масштабируемости по качеству улучшенные слои высокого качества дополнительно кодируются. Упомянутые улучшенные слои можно выбирать, чтобы обеспечивать масштабируемость по качеству либо крупных, либо мелких текстур (отношение сигнал/шум (SNR)).
Как показано на Фиг.2, примерный декодировщик для масштабируемого декодирования видеосигнала, к которому можно применить настоящее изобретение, обозначен, в общем, цифровой позицией 200. Вход демультиплексора 202 доступен как вход декодировщика 200 для масштабируемого декодирования видеосигнала для получения масштабируемого битового потока. Первый выход демультиплексора 202 соединен для передачи сигнала с входом SNR декодировщика 204 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием. Первый выход SNR декодировщика 204 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием соединен для передачи сигнала с первым входом модуля 206 предсказания. Выход модуля 206 предсказания соединен для передачи сигнала с первым входом модуля 208 обратной MCTF.
Второй выход SNR декодировщика 204 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием соединен для передачи сигнала с первым входом декодировщика 210 вектора движения (MV). Выход MV-декодировщика 210 соединен для передачи сигнала со вторым входом модуля 208 обратной MCTF.
Второй выход демультиплексора 202 соединен для передачи сигнала с входом SNR декодировщика 212 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием. Первый выход SNR декодировщика 212 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием соединен для передачи сигнала с первым входом модуля 214 предсказания. Первый выход модуля 214 предсказания соединен для передачи сигнала с входом интерполяционного модуля 216. Выход интерполяционного модуля 216 соединен для передачи сигнала со вторым входом модуля 206 предсказания. Второй выход модуля 214 предсказания соединен для передачи сигнала с первым входом модуля 218 обратной MCTF.
Второй выход SNR декодировщика 212 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием соединен для передачи сигнала с первым входом MV-декодировщика 220. Первый выход MV-декодировщика 220 соединен для передачи сигнала со вторым входом MV-декодировщика 210. Второй выход MV-декодировщика 220 соединен для передачи сигнала со вторым входом модуля 218 обратной MCTF.
Третий выход демультиплексора 202 соединен для передачи сигнала с входом SNR декодировщика 222 для масштабируемого декодирования по энтропии с обратным пространственным преобразованием. Первый выход SNR декодировщика 222 масштабируемого декодирования по энтропии с обратным пространственным преобразованием соединен для передачи сигнала с входом модуля 224 предсказания. Первый выход модуля 224 предсказания соединен для передачи сигнала с входом интерполяционного модуля 226. Выход интерполяционного модуля 226 соединен для передачи сигнала со вторым входом модуля 214 предсказания.
Второй выход модуля 224 предсказания соединен для передачи сигнала с первым входом модуля 228 обратной MCTF. Второй выход SNR декодировщика 222 для масштабируемого декодирования энтропии с обратным пространственным преобразованием соединен для передачи сигнала с входом MV-декодировщика 230. Первый выход MV-декодировщика 230 соединен для передачи сигнала со вторым входом MV-декодировщика 220. Второй выход MV-декодировщика 230 соединен для передачи сигнала со вторым входом модуля 228 обратной MCTF.
Выход модуля 228 обратной MCTF доступен как выход декодировщика 200 для вывода сигнала слоя 0. Выход модуля 218 обратной MCTF доступен как выход декодировщика 200 для вывода сигнала слоя 1. Выход модуля 208 обратной MCTF доступен как выход декодировщика 200 для вывода сигнала слоя 2.
Для реализации возможности масштабируемости ROI (зоны интереса) предложено FMO (гибкое упорядочивание макроблоков). Спецификация H.264/AVC не допускает никакого пропуска групп секторов, и это означает, что даже группы секторов, которые содержат зоны за границами ROI, также должны кодироваться и передаваться в сеть. В соответствии с вариантом осуществления принципов настоящего изобретения упомянутое требование смягчается, и можно пропускать группы секторов в улучшенных слоях и определять нормативную характеристику намеренно пропущенных секторов. Базовый слой остается совместимым со стандартом H.264.
Следовательно, в соответствии с вариантом осуществления настоящих принципов, предлагается смягчить требования стандарта H.264, чтобы допускать пропуск групп секторов в улучшенном слое в применении к ROI. Упомянутый подход дает, по меньшей мере, следующие преимущества: (a) экономию скорости передачи битов; (b) снижение нагрузки на маршрутизатор; (c) упрощение поиска для декодировщика; и (d) экономию кодирования кодировщиком зон за границами ROI.
Если допускается пропуск групп секторов в усовершенствованном слое, то немедленно возникает проблема в том, как декодировщик сможет определять, намеренно ли пропущенная группа секторов не кодирована кодировщиком, или выпала из-за ошибок сети. Если группа секторов пропущена намеренно, то, в соответствии с принципами настоящего изобретения, декодировщик обеспечивает нормативную характеристику, чтобы декодировщик мог сохранять способность декодирования всего изображения (ROI + зона за границами ROI), выходной сигнал процесса декодирования работает без перебоев для разных декодировщиков, и точность битов кодировщика/декодировщика может быть выдержана. Однако, если группа секторов выпадает из-за ошибки сети, то применимо маскирование ненормативных ошибок, которое зависит от конкретного применения.
Для устранения неоднозначности относительно того, намеренно или ненамеренно пропущена группа секторов, предлагается добавлять один признак в sequence_parameter_set() (набор параметров последовательности), а именно, missing_slice_groups_allowed_flag (признак допустимых пропущенных групп секторов), как показано в таблице 1. В частности, таблица 1 иллюстрирует синтаксическую структуру RBSP набора параметров последовательности. Для поддержки всех slice_group_map_types (типов отображения групп секторов) требуется указать группы секторов, которые пропущены для slice_group_map_type, равного 0, 1 и 6. В других случаях всегда можно предположить, что пропущена только последняя группа секторов, поэтому не требуется никакой дополнительной синтаксической структуры. Для обычно самого ожидаемого случая масштабируемости прямоугольной ROI будет выбрано условие slice_group_map_type == 2, и, следовательно, в picture_parameter_set() (набор параметров изображения) добавляется небольшая синтаксическая структура. Полная синтаксическая структура представлена в таблице 2.
Таблица 1
Seq_parameter_set_rbsp() {
C
Дескриптор
profile_idc
0
u(8)
…
num_ref_frames
0
ue(v)
gaps_in_frame_num_value_allowed_flag
0
u(1)
если (profile_idc = = 83)
missing_slice_groups_allowed_flag
0
u(1)
…
0
u(1)
}
Таблица 2
pic_parameter_set_rbsp() {
C
Дескриптор
pic_parameter_set_id
1
ue(v)
seq_parameter_set_id
1
ue(v)
entropy_coding_mode_flag
1
u(1)
pic_order_present_flag
1
u(1)
num_slice_groups_minus1
1
ue(v)
если( num_slice_groups_minus1 >0) {
slice_group_map_type
1
ue(v)
если( slice_group_map_type = = 0 )
для( iGroup = 0; iGroup <= num_slice_groups_minus1; iGroup++ )
run_length_minus1[ iGroup ]
1
ue(v)
иначе, если( slice_group_map_type = = 2)
for( iGroup = 0; iGroup < num_slice_groups_minus 1; iGroup++) {
top_left[ iGroup ]
1
ue(v)
bottom_right[ iGroup ]
1
ue(v)
}
иначе, если( slice_group_map_type = = 3 l lslice_group_map_type = = 4 l lslice_group_map_type = = 5 ) {
slice_group_change_direction_flag
1
u(1)
slice_group_change_rate_minus1
1
ue(v)
} иначе, если( slice_group_map_type = = 6) {
pic_size_in_map_units_minus1
1
ue(v)
для( i = 0; i <= pic_size_in_map_units_minus1; i++)
slice_group_id[ i ]
1
u(v)
}
}
если(( profile_idc = = 83 ) && (missing_slice_groups_allowed_flag) && (num_slice_group_minus1 > 0)) {
<b>num_missing_slice_group</b>
1
ue(v)
если (num_missing_slice_group > 0) {
если( slice_group_map_type = = 3 l lslice_group_map_type = = 4 l lslice_group_map_type = = 5 ) {
для (i = 0; i < num_missing_slice_group; i++) {
<b>missing_slice_group_id</b>[ i ]
1
u(v)
}
}
}
}
…
}
missing_slice_groups_allowed_flag задает допуск на пропущенные группы секторов в битовом потоке. Когда missing_slice_groups_allowed_flag отсутствует, его логически следует считать равным 0. Когда missing_slice_groups_allowed _flag равен 1, то между базовым слоем и улучшенным слоем должно быть «одинаковое отображение групп секторов». «Одинаковое отображение групп секторов» означает одинаковое num_slice_groups_minus_1 и одинаковое slice_group_map_type.
num_missing_slice_groups задает число пропущенных групп секторов в изображении.
missing_slice_group_id[ i ] обозначает пропущенную группу секторов i-того элемента отображения пропущенных групп секторов в упорядоченной последовательности растрового сканирования.
При использовании обеспеченной новой синтаксической структуры декодировщик может решать, является ли группа секторов в улучшенном слое намеренно пропущенной группой секторов или, вместо этого, выпавшей из-за ошибки сети. При решении вопроса о том, какой должна быть нормативная характеристика обработки по декодированию для намеренно пропущенной группы, можно рассмотреть следующее: (1) так как пропущенная группа секторов применима к зоне за границами ROI в улучшенном слое, то качество не должно быть очень высоким, но должно быть приемлемым; и (2) следует сохранять невысокую сложность, и декодировщик должен повторно использовать доступные функциональные возможности текущей схемы SVC (коммутируемых виртуальных сетей).
Предлагается два возможных решения, которые могут использовать текущую схему SVC: (1) использование режима INTRA_BL без сигнала-остатка, т.е. копирование или повышающая дискретизация изображения base_layer (базового слоя); и (2) использование режима BL_SKIP без сигнала-остатка. Следовательно, нормативные характеристики можно выбирать с использованием любого вышеупомянутого способа для декодирования намеренно пропущенной группы секторов.
На Фиг.3 представлен примерный способ объединенного масштабируемого кодирования видеосигнала с зонами интереса, обозначенный, в общем, цифровой позицией 300. Способ содержит начальный этап 305, в котором начинается кодирование с информации зоны интереса (ROI), и управление передается на функциональный этап 310. На функциональном этапе 310 создаются группы секторов в зависимости от ROI информации, и управление передается на этап 315 решения. На этапе 315 решения выполняется определение, является ли базовым слоем или нет текущий слой, подлежащий кодированию. Если является, то управление передается на функциональный этап 320. В противном случае управление передается на функциональный этап 325.
На функциональном этапе 320 кодируются все группы секторов (в базовом слое), и управление передается на заключительный этап 370.
На функциональном этапе 325 выполняется отображение групп секторов базового слоя в группы секторов улучшенного слоя, и управление передается на функциональный этап 330. На функциональном этапе 330 параметр missing_slice_groups_allowed_flag устанавливается равным единице, и управление передается на этап 335 решения. На этапе 335 решения выполняется определение, принадлежит ли или нет текущая группа секторов к зоне интереса. Если принадлежит, то управление передается на функциональный этап 340. В противном случае, управление передается на функциональный этап 355.
На функциональном этапе 340 текущая группа секторов кодируется с использованием межслойного предсказания, и управление передается на этап 345 решения.
На функциональном этапе 355 текущая группа секторов не кодируется, и управление передается на функциональный этап 360. На функциональном этапе 360 выполняется наращивание num_missing_slice_groups, и управление передается на этап 345 решения.
На этапе 345 решения выполняется определение, превышает ли единицу или нет параметр num_missing_slice_groups. Если превышает, то управление передается на функциональный этап 350. В противном случае управление передается на заключительный этап 370.
На функциональном этапе 350 для каждой пропущенной группы секторов i указывается параметр missing_slice_groups_id[i], и управление передается на заключительный этап 370.
На Фиг.4 представлен примерный способ объединенного масштабируемого декодирования видеосигнала с зоной интереса, обозначенный, в общем, цифровой позицией 400. Способ содержит начальный этап 405, с которого начинается декодирование улучшенного слоя, и управление передается на функциональный этап 410. На функциональном этапе 410 принимается missing_slice__groups_allowed_flag, и управление передается на функциональный этап 415. На функциональном этапе 415 для каждой пропущенной группы секторов i указывается параметр missing_slice_group_id[i], и управление передается на функциональный этап 420. На функциональном этапе 420 принимаются num_missing_slice_groups, и управление передается на этап 425 решения. На этапе 425 решения выполняется определение, превышает ли единицу или нет параметр num_missing_slice_groups. Если превышает, то управление передается на функциональный этап 430. В противном случае управление передается на этап 435 решения.
На функциональном этапе 430 для каждой группы секторов i считывается missing_slice_group_id[i], и управление передается на этап 435 решения.
На этапе 435 решения выполняется определение, декодировать ли одну лишь зону ROI или нет. Если да, то управление передается на этап 440 решения. В противном случае управление передается на этап 450 решения.
На этапе 440 решения выполняется определение, намеренно или нет пропущена группа секторов (которая содержит зону ROI). Если да, то управление передается на функциональный этап 445. В противном случае управление передается на функциональный этап 460.
На функциональном этапе 445 выполняется декодирование следующей группы секторов ROI, и управление передается на заключительный этап 480.
На функциональном этапе 460 маскируется потерянная группа секторов ROI, и управление передается на заключительный этап 480.
На этапе 450 решения выполняется определение, относится ли группа секторов к ROI или нет. Если да, то управление передается на функциональный этап 455. В противном случае управление передается на этап 465 решения.
На функциональном этапе 455 выполняется декодирование группы секторов ROI, и управление передается на заключительный этап 480.
На этапе 465 решения выполняется определение, намеренно или нет пропущена группа секторов. Если намеренно, то управление передается на функциональный этап 470. В противном случае управление передается на функциональный этап 460.
На функциональном этапе 470 выполняется декодирование упомянутой группы секторов в базовом слое, и управление передается на функциональный этап 475. На функциональном этапе 475 для декодирования упомянутой группы секторов в улучшенном слое используется режим INTRA_BL или режим BL_SKIP без сигнала-остатка, и управление передается на заключительный этап 480.
Ниже приведено описание некоторых из ряда сопутствующих преимуществ/признаков настоящего изобретения, часть которых упоминалась выше. Например, одним преимуществом/признаком является кодировщик для масштабируемого кодирования видеосигнала. Кодировщик для масштабируемого кодирования видеосигнала содержит кодировщик для кодирования изображения с формированием битового потока базового слоя и битового потока улучшенного слоя. Битовый поток базового слоя и битовый поток улучшенного слоя формируются путем разбиения изображения на множество блоков изображения, группировки множества блоков изображения в, по меньшей мере, одну группу секторов в битовом потоке базового слоя и в, по меньшей мере, две группы секторов в битовом потоке улучшенного слоя, кодирования всех из, по меньшей мере, одной группы секторов в битовом потоке базового слоя и менее чем всех из, по меньшей мере, двух групп секторов в улучшенном слое, так что, по меньшей мере, одна группа секторов из, по меньшей мере, двух групп секторов в битовом потоке улучшенного слоя является намеренно не кодированной, кодирования элемента синтаксической структуры в заголовке для указания, по меньшей мере, одной намеренно не кодированной группы секторов в улучшенном слое.
Другим преимуществом/признаком является вышеописанный кодировщик для масштабируемого кодирования видеосигнала, в котором битовый поток улучшенного слоя формируется для поддержки применения, по меньшей мере, одной зоны интереса так, что любые из, по меньшей мере, двух групп секторов в улучшенном слое, которые содержат зоны интереса, кодированы в битовом потоке улучшенного слоя, тогда как любые из, по меньшей мере, двух групп секторов в улучшенном слое, которые не содержат зон интереса, намеренно не кодированы.
Еще одним преимуществом/признаком является вышеописанный кодировщик для масштабируемого кодирования видеосигнала, в котором кодировщик добавляет элемент синтаксической структуры посредством добавления поля missing_slice_groups_allowed_flag в набор параметров последовательности, соответствующий битовому потоку улучшенного слоя.
Другим преимуществом/признаком является также вышеописанный кодировщик для масштабируемого кодирования видеосигнала, который вводит вышеописанный элемент синтаксической структуры, при этом, между битовым потоком улучшенного слоя и битовым потоком базового слоя существует одинаковое отображение групп секторов, когда поле missing_slice_groups_allowed_flag равно 1, при этом одинаковое отображение групп секторов относится к полю num_slice_groups_minus_1 и полю slice_group_map_type, соответственно, имеющим одинаковое значение для битового потока базового слоя и битового потока улучшенного слоя.
Кроме того, другим преимуществом/признаком является вышеописанный кодировщик для масштабируемого кодирования видеосигнала, в котором кодировщик добавляет поле num_missing_slice_groups в набор параметров изображения, соответствующий битовому потоку улучшенного слоя, для задания количества групп секторов, которые намеренно не кодированы, в изображении.
Более того, другим преимуществом/признаком является кодировщик для масштабируемого кодирования видеосигнала, который добавляет вышеописанное поле num_missing_slice_groups, при этом кодировщик добавляет поле missing_slice_group_id[ i ] в набор параметров изображения, соответствующий битовому потоку улучшенного слоя, для обозначения в упомянутом потоке, по меньшей мере, намеренно не кодированной группы секторов i-того элемента отображения намеренно пропущенных групп секторов в упорядоченной последовательности растрового сканирования, при равенстве поля slice_group_map любому из значений 0, 1 и 6.
Более того, другим преимуществом/признаком является кодировщик для масштабируемого кодирования видеосигнала, который добавляет вышеописанное поле num_missing_slice_groups, при этом кодировщик устанавливает поле slice_group_map, равным любому из значений 2, 3, 4 и 5, для указания, что последняя группа секторов в битовом потоке улучшенного слоя является, по меньшей мере, одной намеренно не кодированной группой секторов.
Вышеописанные и другие признаки и преимущества настоящего изобретения могут быть легко выявлены специалистом со средним уровнем компетентности в соответствующей области техники на основе изложенных в настоящем описании принципов. Следует понимать, что принципы настоящего изобретения можно реализовать в аппаратных средствах, программном обеспечении, программно-аппаратных средствах, специализированных процессорах различных типов или их комбинациях.
В наиболее предпочтительных вариантах принципы настоящего изобретения реализуются в виде комбинации аппаратных средств и программного обеспечения. Кроме того, программное обеспечение можно реализовать в виде прикладной программы, материально осуществленной в запоминающем устройстве для хранения программ. Прикладная программа может быть загружена в вычислительную машину с соответствующей архитектурой и исполнена упомянутой машиной. В предпочтительном варианте вычислительная машина реализована на стандартизованной компьютерной платформе, содержащей такие аппаратные средства, как, по меньшей мере, один центральный процессор («CPU»), оперативное запоминающее устройство («RAM») и интерфейсы ввода/вывода («I/O-интерфейсы»). Стандартизованная компьютерная платформа может также содержать операционную систему и код микрокоманд. Разнообразные процедуры и функции, описанные в настоящей заявке, могут быть либо составной частью кода микрокоманд, либо составной частью прикладной программы, либо любой их комбинацией, которые могут исполняться в CPU. Кроме того, к стандартизованной компьютерной платформе могут быть подключены различные другие периферийные блоки, например дополнительное устройство для хранения данных и печатающее устройство.
Кроме того, следует понимать, что, поскольку некоторые из составляющих систему компонентов и способов, представленных на прилагаемых чертежах, предпочтительно реализуются в виде программного обеспечения, то реальные соединения между системными компонентами или функциональными блоками, исполняющими процедуры, могут отличаться в зависимости от характера программирования настоящего изобретения. Принимая во внимание принципы, изложенные в настоящем описании, специалист со средним уровнем компетенции в соответствующей области техники сможет разобраться в представленных и аналогичных исполнениях или конфигурациях настоящего изобретения.
Выше, со ссылками на прилагаемые чертежи описаны наглядные варианты осуществления, однако следует понимать, что настоящее изобретение не ограничено в точности представленными вариантами осуществления, и что в них могут быть внесены различные изменения и модификации специалистом со средним уровнем компетентности в соответствующей области техники, без выхода за пределы объема или существа настоящего изобретения. Предполагается, что подобные изменения и модификации должны входить в объем настоящего изобретения, установленный прилагаемой формулой изобретения.