СПОСОБ, УСТРОЙСТВО И СИСТЕМА ДЛЯ ЭФФЕКТИВНОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОДАННЫХ
METHOD, DEVICE AND SYSTEM FOR EFFICIENT ENCODING AND DECODING VIDEO DATA

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к области кодирования и декодирования видеоданных, и более конкретно к масштабируемой обработке видеоданных.
УРОВЕНЬ ТЕХНИКИ
Обычные стандарты кодирования видеоданных (например, MPEG-1, Н.261/263/264) включают оценку движения и компенсацию движения, чтобы удалить временную (относящуюся ко времени) избыточность между видеокадрами. Эти понятия хорошо знакомы специалистам, обладающим базовым пониманием принципов кодирования видеоданных, и здесь не будут описываться подробно.
Рабочий проект версии 1.0 масштабируемого расширения для H.264/AVC [1] в настоящее время обеспечивает кодирование множественных масштабируемых уровней с различными значениями идентификации зависимости (DependencelD). Соответственно, каждый уровень включает идентификацию зависимости и для кодированной видеопоследовательности, соответственно, определенный набор параметров последовательности (SPS, Sequence Parameter Set). Кодированная видеопоследовательность состоит из последовательных кодированных изображений, начиная от изображения, обеспечивающего мгновенное обновление при декодировании (IDR, Instant Decoding Refresh), до следующего изображения IDR, не включая его. Любое изображение, которое следует за изображением IDR в порядке декодирования, не должно использовать взаимную ссылку предсказания на изображения, предшествующие изображению IDR в порядке декодирования. Набор параметров последовательности, среди других элементов, включает данные, которые будут использованы декодером для правильной процедуры декодирования.
Имеются два основных недостатка, связанных с этими современными способами кодирования. Первый состоит в том, что если нужна точка масштабируемого представления с идентификацией зависимости, равной 7, и могут быть востребованы все более низкие уровни с идентификацией зависимости от 0 до 6, то должны быть переданы по меньшей мере 8 наборов параметров последовательности для операции представления или декодирования, соответственно. Однако если нет необходимости менять ни один из параметров SPS, кроме идентификатора параметров последовательности (seq_parameter_id), что может быть вполне вероятным, если пространственные разрешения для всех уровней равны, то передача этих определенных и по существу идентичных SPS фактически избыточна. Так как SPS обычно передают в начале сеанса связи по внеполосному каналу с высокой надежностью, то необходимы подтверждения приема, и может быть использована повторная передача. Таким образом, увеличенное количество данных, подлежащих передаче, означает более длительную установку сеанса, что нежелательно для конечного пользователя.
Второй недостаток относится к гибкости и эффективности кодирования. Максимальное количество начальных SPS составляет 32. Если нужна точка масштабируемого представления с идентификацией зависимости, равной 7, и могут быть востребованы все нижние уровни с идентификацией зависимости от 0 до 6, то в среднем при кодировании уровня (уровней) для каждого значения идентификации зависимости может быть востребовано максимум 4 вариации SPS. Поэтому гибкость и возможно также эффективность кодирования может быть ниже по сравнению с кодированием 32 вариаций SPS, которые можно использовать. Обновление SPS во время сеанса передачи видеоданных может решить эту проблему. Однако во время сеанса передачи видеоданных обновление SPS может вызвать проблемы по причине потери синхронизации между обновленным SPS и теми блоками NAL, которые к нему привязаны. Кроме того, если обновление выполняют внутри полосы, например, путем передачи с использованием Транспортного Протокола Реального времени (RTP) вместе с кодированными слайсами видеоданных, то могут возникнуть потери.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Цель настоящего изобретения состоит в том, чтобы создать способ, устройство и систему для эффективного кодирования или декодирования, которые решают вышеупомянутые проблемы современного уровня техники и обеспечивают эффективное кодирование, избегая избыточности.
Цель настоящего изобретения достигается так, как описано в приложенных независимых пунктах формулы.
Согласно одному из аспектов настоящего изобретения, ограничение, состоящее в том, что набор параметров последовательности (SPS) активизируют для каждого значения идентификации зависимости, может быть устранено. Предпочтительнее активизировать новый SPS только тогда, когда это необходимо. Новая последовательность необходима только тогда, когда по меньшей мере один параметр в SPS, кроме идентификатора набора параметров последовательности, требует замены. Изобретение может быть использовано в любом приложении, в котором применяют масштабируемое кодирование видеоданных, где для кодирования используют один или более наборов параметров последовательности.
Основные преимущества, присущие этим наборам параметров последовательности, могут быть использованы более эффективно, так что первоначальная задержка установки сеанса передачи может быть сокращена, и больше наборов параметров последовательности может быть использовано для определенного масштабируемого уровня, так что масштабируемый уровень может быть кодирован более гибко, благодаря чему может быть достигнута более высокая эффективность кодирования.
Способы кодирования/декодирования и процедуры в соответствии с настоящим изобретением ради простоты изложения рассмотрены только для одной кодированной последовательности видеоданных, но применение вышеупомянутых способов и процедур для множественных кодированных последовательностей видеоданных подразумевается в рамках настоящего изобретения.
Согласно первому аспекту настоящего изобретения, предложен способ масштабируемого кодирования видеоданных. В соответствии с первой операцией получения, обеспечивают указанные видеоданные. Затем выполняют получение указанных видеоданных, сопровождая эту процедуру созданием базового уровня на основе указанных полученных видеоданных, причем базовый уровень включает по меньшей мере одно изображение, генерированием по меньшей мере одного уровня улучшения на основе указанных полученных видеоданных, причем по меньшей мере один уровень улучшения включает по меньшей мере одно изображение, генерированием идентификатора зависимости для каждого из указанных базового уровня и уровней улучшения, при этом каждый идентификатор зависимости ассоциирован со ссылочным номером; затем определяют соответствующий набор параметров последовательности (SPS) для каждого указанного базового уровня и указанного по меньшей мере одного уровня улучшения, которые имеют различные значения идентификатора зависимости, причем для базового уровня и уровней улучшения, имеющих по существу одинаковые параметры SPS, используют один набор SPS; затем кодируют указанный базовый уровень и указанный по меньшей мере один уровень улучшения, используя определенные ранее наборы SPS.
Согласно настоящему изобретению, возможно многократное использование определенного набора параметров последовательности в масштабируемых уровнях с различными значениями идентификатора зависимости.
Согласно предпочтительной реализации, генерирование указанного базового уровня и указанного по меньшей мере одного уровня улучшения основано на информации о движении в указанных видеоданных, причем указанную информацию о движении обеспечивает процесс оценки движения.
Согласно предпочтительной реализации, указанный набор параметров последовательности (SPS) включает идентификатор SPS, причем на указанный идентификатор SPS ссылается набор параметров изображения, далее указанный в заголовке слайса видеоданных. Таким образом, возможна точная идентификация определенного набора SPS среди ряда наборов параметров последовательности.
Согласно предпочтительной реализации, указанные идентификаторы зависимости одинаковы по меньшей мере для двух уровней из группы из указанного базового уровня и по меньшей мере одного уровня улучшения.
Согласно предпочтительной реализации, указанный SPS далее включает по меньшей мере одно из следующего: информацию о профиле, информацию об уровне, информацию о формате сигнала цветности, информацию о размере изображения и информацию об обрезке кадра.
Согласно другому аспекту настоящего изобретения, предложен способ декодирования масштабируемых кодированных видеоданных. Указанный способ включает операцию получения указанных кодированных видеоданных, идентифицирующих базовый уровень и по меньшей мере один уровень улучшения в указанных кодированных видеоданных, а также определения идентификаторов зависимости для каждого из указанных базового уровня и по меньшей мере одного уровня улучшения, причем указанные идентификаторы зависимости имеют ссылочные номера, и по меньшей мере для двух уровней с одинаковыми SPS используют один SPS, а также декодирования указанного базового уровня и указанного декодированного по меньшей мере одного уровня улучшения путем использования каждого из указанных определенных ранее наборов параметров последовательности (SPS).
Согласно другому аспекту настоящего изобретения, также предложено устройство кодирования, действующее в соответствии со способом кодирования, как описано выше.
Согласно другому аспекту настоящего изобретения, также предложено устройство декодирования, действующее в соответствии со способом декодирования, как описано выше.
Согласно другому аспекту настоящего изобретения, также предложена система для того, чтобы обеспечивать передачу данных, действующая согласно способу кодирования и/или декодирования, как описано выше.
Согласно другому аспекту настоящего изобретения, также предложена система передачи данных, включающая по меньшей мере одно устройство кодирования и по меньшей мере одно устройство декодирования.
Согласно другому аспекту настоящего изобретения, также предложен компьютерный программный продукт, включающий компьютерно-читаемую структуру хранения данных, несущую компьютерный программный код для выполнения компьютерным процессором в электронном устройстве, при этом указанный компьютерный программный код включает команды для выполнения способа кодирования, как описано выше.
Согласно другому аспекту настоящего изобретения, также предложен компьютерный сигнал данных, реализованный несущим колебанием и представляющий команды, которые при исполнении процессором обеспечивают выполнение операций в соответствии с любым из вышеупомянутых способов.
Согласно другому аспекту настоящего изобретения, предложен модуль для масштабируемого кодирования видеоданных, причем указанный модуль по меньшей мере включает: компонент для получения указанных видеоданных; компонент для генерирования базового уровня на основе указанных полученных видеоданных; компонент для генерирования по меньшей мере одного уровня улучшения, включающего по меньшей мере одно изображение; компонент для генерирования идентификатора зависимости для каждого из указанных базового уровня и уровней улучшения, причем каждый идентификатор зависимости ассоциирован со ссылочным номером; компонент для определения соответствующего набора параметров последовательности (SPS) для каждого из указанных основного и по меньшей мере одного уровня улучшения, имеющих различные значения идентификатора зависимости, причем для базового уровня и уровней улучшения, имеющих по существу одинаковые параметры SPS, используют один набор SPS; а также компонент для кодирования указанных базового уровня и по меньшей мере одного уровня улучшения с использованием определенных ранее наборов SPS.
Согласно другому аспекту настоящего изобретения, предложен модуль для декодирования масштабируемых кодированных видеоданных, включающий по меньшей мере: компонент для получения указанных кодированных видеоданных, компонент для идентифицирования базового уровня и по меньшей мере одного уровня улучшения в указанных кодированных видеоданных, компонент для определения идентификатора зависимости для каждого из указанных уровней улучшения, причем указанный идентификатор зависимости содержит ссылочные номера, и по меньшей мере для двух уровней с одинаковыми параметрами SPS используют один набор SPS, а также компонент для декодирования указанного базового уровня и указанных декодированных уровней улучшения с использованием указанных определенных ранее наборов параметров последовательности.
Преимущества настоящего изобретения будут очевидны после ознакомления с подробным описанием, относящимся к реализациям настоящего изобретения, на основании которых концепция настоящего изобретения станет легко понятной.
Везде в подробном описании и на сопроводительных чертежах в целях ясности одинаковые или подобные компоненты, блоки или устройства будут обозначены одинаковыми ссылочными номерами.
Следует иметь в виду, что определения «портативное устройство» и «мобильное устройство» всюду в описании использованы как синонимы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Сопроводительные чертежи приложены, чтобы обеспечить дальнейшее понимание изобретения, они включены в это описание и составляют его часть. Чертежи иллюстрируют реализации настоящего изобретения, и вместе с описанием служат для объяснения принципов изобретения.
Фиг.1 схематично иллюстрирует пример функциональной схемы портативного устройства связи в виде терминального устройства сотовой связи;
Фиг.2 иллюстрирует общий принцип масштабируемого кодирования и декодирования видеоданных в соответствии с современным уровнем техники;
Фиг.3 изображает последовательность работы, показывающую сторону кодирования в соответствии с настоящим изобретением;
Фиг.4 изображает последовательность работы, показывающую сторону декодирования в соответствии с настоящим изобретением;
Фиг.5а представляет подробную иллюстрацию принципа кодирования в соответствии с настоящим изобретением;
Фиг.5b представляет подробную иллюстрацию принципа декодирования в соответствии с настоящим изобретением;
Фиг.6 показывает модуль кодирования в соответствии с настоящим изобретением, показаны все компоненты;
Фиг.7 показывает модуль декодирования в соответствии с настоящим изобретением, показаны все компоненты;
Фиг.8а показывает реализацию кодирования видеоданных, в которой каждая идентификация зависимости получает SPS;
Фиг.8b показывает реализацию кодирования видеоданных, в которой для кодирования используют один определенный SPS, в соответствии с настоящим изобретением.
Несмотря на то что изобретение описано со ссылкой на реализации в соответствии с сопроводительными чертежами, очевидно, что изобретение этим никак не ограничивается и может быть изменено несколькими способами в объеме приложенных пунктов формулы.
В следующем описании различных реализаций ссылка сделана на сопроводительные чертежи, которые являются частью этого описания и в виде иллюстрации показывают различные реализации изобретения. Следует понимать, что другие реализации тоже могут быть использованы, и могут быть сделаны структурные и функциональные модификации в рамках формулы изобретения. Везде, где возможно, на всех чертежах и в описании используются одинаковые ссылочные номера для обращения к подобным или похожим элементам.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Фиг.1 изображает типичное мобильное устройство согласно реализации настоящего изобретения. Мобильное устройство 10, показанное на фиг.1, подходит для сотовой связи с передачей данных и голоса. Настоящее изобретение не ограничено этой конкретной реализацией, которая представляет с целью иллюстрации лишь одну из разнообразных реализации. Мобильное устройство 10 включает (главный) микропроцессор или микроконтроллер 100, а также узлы, связанные с микропроцессором, управляющим работой мобильного устройства. Эти узлы включают контроллер 130 дисплея, соединенный с блоком 135 дисплея, энергонезависимую память 140, энергозависимую память 150, например память с произвольным доступом (оперативную память), интерфейс 160 звукового ввода-вывода (I/O), соединенный с микрофоном 161, динамик 162 и/или наушники 163, контроллер 170 клавиатуры, связанный с кнопочной панелью 175 или с обычной клавиатурой, любой вспомогательный интерфейс 200 ввода-вывода (I/O) и интерфейс 180 ближней связи. Такое устройство обычно также включает и другие аппаратные подсистемы 190, показанные в обобщенном виде.
Мобильное устройство 10 может осуществлять связь по голосовой сети и/или может аналогично осуществлять связь по сети передачи данных, например, по любым наземным сетям мобильной связи общего пользования (PLMN) в форме, например, цифровых сотовых сетей связи, в частности GSM (глобальная система мобильной связи) или UMTS (универсальная мобильная система связи). Обычно передачей голоса и/или данных управляют с помощью радиоинтерфейса, то есть с помощью подсистемы интерфейса сотовой связи в соединении с другими узлами (см. выше), добавленными к базовой станции (BS) или к узлу В (не показан) и составляющими часть сети радиодоступа (RAN), входящей в инфраструктуру сотовой сети. Подсистема интерфейса сотовой связи, как иллюстративно изображено на фиг.1, включает сотовый интерфейс 110, процессор 120 цифровых сигналов (DSP), приемник (RX) 121, передатчик (ТХ) 122 и один или более местный генератор (LO) 123 и обеспечивает коммуникацию с одной или более наземной сетью мобильной связи общего пользования (PLMN). Процессор 120 цифровых сигналов (DSP) посылает коммуникационные сигналы 124 в передатчик (ТХ) 122 и получает коммуникационные сигналы 125 из приемника (RX) 121. В дополнение к обработке коммуникационных сигналов процессор 120 цифровых сигналов также предусматривает сигналы 126 управления приемником и сигнал 127 управления передатчиком. Например, помимо модуляции и демодуляции сигналов, которые должны быть переданы, и полученных сигналов, соответственно, коэффициентами усиления, применяемыми к коммуникационным сигналам в приемнике (RX) 121 и в передатчике (ТХ) 122, можно адаптивно управлять с помощью автоматических алгоритмов управления усилением, осуществляемых в процессоре 120 цифровых сигналов (DSP). Другие алгоритмы управления приемопередатчиком также могут быть осуществлены в процессоре 120 цифровых сигналов (DSP), чтобы обеспечить более сложное управление приемопередатчиком 122. В случае, когда коммуникации мобильного устройства 10 через PLMN осуществляют на одной частоте или на наборе частот, расположенных близко друг к другу, одиночный местный генератор (LO) 128 может быть использован вместе с передатчиком (ТХ) 122 и приемником (RX) 121. Альтернативно, если для передачи голоса/данных или для передачи и приема используют различные частоты, то может быть использован ряд местных генераторов 128, чтобы генерировать ряд частот передачи. Хотя может быть использована антенна 129, изображенная на фиг.1, или система разнесенных антенн (не показана), мобильное устройство 10 можно использовать с единственной антенной структурой, как для приема, так и для передачи сигналов. Информацию, которая включает и голосовые, и цифровые данные, передают в сотовый интерфейс 110 и принимают из него через линию связи с процессором 120 цифровых сигналов (DSP). Детали сотового интерфейса 110, например частотный диапазон, выбор компонентов, уровень мощности и т.д., будут зависеть от беспроводной сети, в которой мобильному устройству 100 предстоит работать.
Когда все необходимые процедуры регистрации или активации сети, которые могут использовать модуль 210 идентификации абонента (SIM), необходимый для регистрации в сотовых сетях, будут выполнены, мобильное устройство 10 может посылать и принимать коммуникационные сигналы, включая и голос, и цифровые данные, по беспроводной сети. Сигналы, полученные антенной 129 из беспроводной сети, поступают в приемник 121, который предусматривает такие операции, как усиление сигнала, преобразование с понижением частоты, фильтрование, выбор канала и преобразование аналогового представления сигналов в цифровое. Аналого-цифровое преобразование полученного сигнала обеспечивает возможность применения более сложных коммуникационных функций, таких как цифровая демодуляции и декодирование, которые выполняют с использованием процессора 120 цифровых сигналов (DSP). Подобным способом могут быть обработаны сигналы, которые предназначены для передачи в сеть, включая модуляцию и кодирование, например, с помощью процессора 120 цифровых сигналов (DSP), и затем направлены в передатчик 122 для цифроаналогового преобразования, частотного преобразования с повышением частоты, фильтрования, усиления и передачи в беспроводную сеть с помощью антенны 129.
Микропроцессор / микроконтроллер 110, который также может быть назван микропроцессором платформы устройства, управляет функциями мобильного устройства 10. Программное обеспечение в виде операционной системы 149, управляющее процессором 110, предпочтительно хранится в постоянном запоминающем устройстве, таком как энергонезависимая память 140, которое может быть реализовано, например, в виде флэш-памяти, оперативной памяти с питанием от батареи, любого другого запоминающего устройства, выполненного по энергонезависимой технологии, или в виде любой комбинации этих видов устройств. В дополнение к операционной системе 149, которая управляет функциями низкого уровня, а также (графическими) базовыми функциями пользовательского интерфейса мобильного устройства 10, энергонезависимая память 140 включает ряд прикладных программ или модулей высокого уровня, таких как программное приложение 142 голосовой связи, программное приложение 141 цифровой связи, модуль органайзера (не показан) или программный модуль любого другого типа (не показан). Эти модули исполняются процессором 100 и обеспечивают интерфейс высокого уровня между пользователем мобильного устройства 10 и мобильным устройством 10. Этот интерфейс обычно включает графический компонент, реализованный с помощью дисплея 135, которым управляет контроллер дисплея 130, и узлы ввода-вывода, реализованные с помощью клавиатуры 175, соединенной с помощью контроллера 170 клавиатуры с процессором 100, вспомогательный интерфейс 200 ввода-вывода (I/O) и/или интерфейс 180 ближней связи. Вспомогательный интерфейс 200 ввода-вывода (I/O) включает, в частности, интерфейс USB (универсальная последовательная шина), стандартный последовательный интерфейс, интерфейс ММС (карта мультимедиа) и соответствующие интерфейсные технологии/стандарты, а также любую другую стандартизированную или частную технологию шины передачи данных, тогда как интерфейс 180 ближней связи может быть радиочастотным (RF) интерфейсом малой мощности, включая в частности WLAN (беспроводная локальная сеть), технологию коммуникации Bluetooth или интерфейс IRDA (инфракрасный доступ к данным). Технологию интерфейса RF малой мощности, упомянутую здесь, следует, в частности, понимать как включающую любую стандартную технологию IEEE 801 хх, описание которой может быть получено в Институте Инженеров по Электротехнике и Электронике (IEEE). Кроме того, вспомогательный интерфейс 200 ввода-вывода, так же как и интерфейс 180 ближней связи, может представлять один или более интерфейсов, поддерживающих одну или более технологий интерфейса ввода-вывода и технологий коммуникационного интерфейса соответственно. Операционная система, программные приложения или модули для специализированных устройств, или их части могут быть временно загружены в энергозависимую память 150, такую как оперативная память (обычно для более быстрой работы реализуемую на основе технологии DRAM (память с прямым произвольным доступом)). Кроме того, полученные коммуникационные сигналы также могут быть временно сохранены в энергозависимой памяти 150, перед тем как быть записанными на постоянной основе в файловую систему, расположенную в энергонезависимой памяти 140 или в любом запоминающем устройстве большой емкости, предпочтительно связанном заменяемым способом с помощью вспомогательного интерфейса ввода-вывода для сохранения данных. Следует понимать, что компоненты, описанные выше, представляют типичные компоненты традиционного мобильного устройства 10, воплощенного здесь в форме сотового телефона. Настоящее изобретение не ограничено этими определенными компонентами и их выполнением, которые здесь изображены исключительно с целью иллюстрации и полноты представления.
Пример прикладного программного модуля для мобильного устройства 10 представляет приложение персонального менеджера информационного обслуживания, обеспечивающее функциональные возможности PDA (персональный электронный помощник), которые обычно включают администратор контактов, календарь, диспетчер задач и т.п Программа такого персонального менеджера информационного обслуживания может быть исполнена процессором 100. Она обеспечивает доступ к компонентам мобильного устройства 10 и взаимодействует с другими модулями приложения. Например, взаимодействие с программным приложением для голосовых коммуникаций обеспечивает управление телефонными вызовами, голосовой почтой и т.д., а взаимодействие с программным приложением для цифровых коммуникаций обеспечивает управление SMS (служба коротких сообщений), MMS (мультимедийная служба), E-mail (электронная почта) и другими видами передачи данных. Энергонезависимая память 140 предпочтительно обеспечивает файловую систему средствами долговременного хранения элементов цифровых данных, включая в частности календарные записи, контакты и т д. Возможность обмена цифровыми данными с сетями, например через сотовый интерфейс, интерфейс ближней связи или вспомогательный интерфейс ввода-вывода, позволяет осуществить загрузку, выгрузку и синхронизацию через такие сети.
Модули прикладных программ 141-149 представляют функции устройства или программные приложения, которые конфигурируют, чтобы выполнять с помощью процессора 100. В наиболее известных мобильных устройствах одиночный процессор управляет мобильным устройством и контролирует всю его работу, а также все функции устройства и программных приложений. Такую концепцию можно применить для современных мобильных устройств. В частности, реализация расширенных мультимедийных функциональных средств включает, например, воспроизведение приложений потоковых видеоданных, манипулирование цифровыми изображениями и последовательностями видеоданных, захваченных интегрированной или присоединенной разъемом цифровой камеры; игровые приложения с усложненной графикой, что требует вычислительной мощности. Один из способов обеспечить вычислительную мощность, который применяли в прошлом, решает проблему увеличения вычислительной мощности путем создания мощных универсальных ядер процессоров. Другой подход для обеспечения вычислительной мощности, который хорошо известен в этой области, состоит в том, чтобы реализовать два или больше независимых ядра процессора. Преимущества нескольких независимых ядер процессора понятны специалистам в этой области. Тогда как универсальный процессор разработан для решения ряда различных задач без специализации для предварительно выбранных четко выраженных задач, многопроцессорная система может включать один или больше универсальный процессор и один или больше специализированный процессор, приспособленный для обработки предварительно определенного набора задач. Тем не менее применение нескольких процессоров в одном устройстве, в частности в мобильном устройстве, например в мобильном устройстве 10, обычно требует полной и усложненной повторной разработки компонентов.
Настоящее изобретение позволяет реализовать простую интеграцию дополнительных ядер процессора в существующее исполнение устройства обработки, позволяя отказаться от дорогой полной и усложненной переделки. Идея изобретения будет описана в отношении конструкции системы на кристалле (SoC). Система на кристалле (SoC) представляет концепцию объединения по меньшей мере ряда (или всех) компонентов устройства обработки в одиночном высокоинтегрированном чипе. Такая система может содержать цифровой, аналоговый или смешанные сигналы и часто реализует радиочастотные функции - все в одном чипе. Типичное устройство обработки включает ряд интегральных схем, которые выполняют различные задачи. Эти интегральные схемы могут включать, в частности, микропроцессор, память, универсальные асинхронные приемопередатчики (DART), последовательные / параллельные порты, контроллеры прямого доступа к памяти (DMA) и т.п. Универсальный асинхронный приемопередатчик (DART) преобразует параллельные биты данных в последовательные, и наоборот. Современные достижения в области технологии полупроводников, обусловленные появлением интегральных схем сверхвысокого уровня (VLSI), обеспечивают значительный рост сложности, позволяя объединить ряд компонентов системы в одиночном чипе. В отношении фиг.1, один или больше таких компонентов, например контроллеры 130 и 160, компоненты 150 и 140 памяти, и один или больше из интерфейсов 200, 180 и 110 могут быть объединены вместе с процессором 100 в сигнальном чипе, который окончательно формирует систему на кристалле (Soc).
Дополнительно, указанное устройство 10 оборудовано модулем 105 для масштабируемого кодирования и модулем 106 для масштабируемого декодирования видеоданных согласно концепции настоящего изобретения. С помощью центрального процессора 100 могут быть индивидуально использованы указанные модули 105, 106. Однако указанное устройство 10 приспособлено, чтобы выполнять кодирование видеоданных или декодирование соответственно. Указанные видеоданные могут быть приняты с помощью коммуникационных блоков устройства, или они также могут быть сохранены в любом возможном средстве хранения внутри устройства 10.
Самый общий принцип (многоуровневого) масштабируемого кодирования и декодирования показан на фиг.2, где путем добавления дальнейших унифицированных блоков промежуточного уровня (выделены пунктирными прямоугольниками) может быть в принципе реализовано произвольное число масштабируемых уровней. Сначала может быть генерировано путем прореживания (предварительная обработка) пространственно-временное разрешение сигнала, которое должно быть представлено базовым уровнем. На последующей стадии кодирования, соответствующая установка квантования задает определенный общий качественный уровень базовой информации.
Восстановление базового уровня является аппроксимацией уровней разрешения всех более высоких уровней и может быть использовано при декодировании последующих уровней. Модуль обработки промежуточного уровня выполняет увеличение числа отсчетов от нижнего уровня до разрешения последующего уровня. Как правило, предварительную обработку и обработку промежуточного уровня выполняют путем прореживания и интерполяции на всех стадиях, тогда как конкретные действия могут быть совершенно различными в зависимости от типа масштабируемости, например, обработка с компенсацией движения может быть осуществлена для увеличения скорости кадров при обеспечении временной масштабируемости. Информация переходит от уровней с низким разрешением к уровням с более высоким разрешением, как во время кодирования, так и во время декодирования. При всех типах масштабируемости (временном, пространственном или масштабируемости квантования / качества) необходимо тщательно рассматривать ограничения, наложенные кадро-рекурсивной обработкой гибридного видеокодирования. Базовый уровень, а также любая композиция уровней, в идеальном случае должен быть самодостаточным, что означает, что предсказание не должно использовать декодированную информацию из более высоких уровней. В противном случае, сторона кодирования и сторона декодирования могут использовать различные оценки, что может привести к эффекту дрейфа. Однако предсказание информации на базовом уровне всегда хуже, чем может быть в случае, когда при предсказании используют всю информацию уровня улучшения. Это не ухудшает работу кодера базового уровня, который по сути функционирует как кодер одиночного уровня с той же самой скоростью; однако поскольку для предсказания уровня улучшения используют информацию базового уровня, то характеристика скорость/искажения в сторону более высоких скоростей может быть хуже, чем в одноуровневом кодере.
Фиг.3 показывает последовательность операций способа кодирования в соответствии с настоящим изобретением. Эту последовательность начинает операция S300. Эта операция может соответствовать, например, получению потока видеоданных от камеры и тому подобного. Указанная камера может быть включена в вышеупомянутое устройство 10. После получения в операции S310 указанного потока видеоданных кодер может генерировать или создавать соответствующий базовый уровень (BL) и уровень улучшения (EL), соответственно, как показано операцией S320. Фиг.3 показывает только один уровень улучшения, но создание большего количества уровней улучшения приводит к лучшему кодированию и таким образом к повышению качества декодирования.
После генерации базового уровня, а также создания уровней улучшения следует операция S330, в которой осуществляют генерацию соответствующей идентификации зависимости как для базового уровня (BL), так и для уровня улучшения (EL). Значение идентификации зависимости может быть увеличено, если используют более одного уровня улучшения.
В операции S340 осуществляют определение соответствующего набора параметров последовательности (SPS) для каждого указанного базового уровня и для всех указанных уровней улучшения, причем для базового уровня или уровней улучшения используют только один SPS, если выбранные параметры SPS по существу равны. Согласно концепции настоящего изобретения, используют только один SPS для различных значений идентификатора зависимости, достигая эффективного кодирования вследствие удаления избыточных данных. После определения указанного SPS, который должен быть использован, выполняют операцию S350 кодирования. В этой операции базовый уровень и уровни улучшения, а также дополнительную информацию, такую как векторы движения и тому подобное, мультиплексируют в битовый поток, или кодированный поток видеоданных, который теперь готов к дальнейшей обработке.
Если дальше не будет никаких операций, то последовательность операций подходит к концу в операции S390 и может быть перезапущена в соответствии с новой итерацией, или если, например, никакой необработанной последовательности видеоданных не назначено для кодирования. Однако указанный результирующий кодированный поток видеоданных может быть послан в приемник, который может быть приспособлен для декодирования или хранения указанных данных. Процесс декодирования будет описан далее со ссылкой на фиг.4.
Фиг.4 изображает последовательность операций декодирования в соответствии с настоящим изобретением. После получения масштабируемых кодированных видеоданных последовательность операций начинается с операции S400. После получения в операции S410 указанных кодированных видеоданных базовый уровень и соответствующий один или более уровень улучшения могут быть идентифицированы в соответствии с операцией S420. Это означает, что полученный кодированный поток видеоданных может быть демультиплексирован и соответственно разделен на базовый уровень (BL), уровень улучшения (EL) и необязательную дополнительную информацию, такую как векторы движения (MV) и тому подобное. На основе полученного потока данных определяют идентификацию зависимости, а также идентифицируют набор параметров последовательности (SPS), который будет использован. В операции S450 декодирование указанных масштабируемых кодированных данных обеспечивают с учетом предварительно определенной информации: BL, SPS и EL.
Если нет необходимости в дальнейших операциях, то последовательность операций в соответствии с предложенным способом подходит к концу в операции S490 и может быть перезапущена в случае необходимости.
Фиг.5а показывает принцип масштабируемого процесса кодирования в соответствии с настоящим изобретением. Вся обработка может быть выполнена блоком оценки движения, который показан на фиг.5а. Блок оценки движения использует видеоданные для того, чтобы генерировать векторы движения, которые необходимы для кодирования или улучшения изображения.
Первоначальные видеоданные используют для того, чтобы генерировать векторы движения, а также генерировать базовый уровень BL и соответствующий ряд уровней EL улучшения. Уровни улучшения могут быть генерированы на основе первоначальных видеоданных, на основе базового уровня BL, а также опционально, на основе информации, предоставленной векторами движения. Для дальнейшей обработки векторы движения также могут быть закодированы или объединены, соответственно в масштабируемом кодированном потоке видеоданных для выполнения улучшения изображения и тому подобного на стороне декодера.
Каждый базовый уровень (BL) или уровень улучшения (EL) обеспечивают идентификатором зависимости и SPS. В соответствии с концепцией настоящего изобретения, кодер сначала определяет SPS, которые должен использовать, и проверяет, не равны ли по существу параметры SPS какого-либо подмножества всех базовых уровней и уровней улучшения, и использует только один SPS для кодирования подмножества уровней, чтобы избежать избыточного дальнейшего трафика данных. Фиг.5а показывает возможную подробную реализацию модуля 105 масштабируемого кодирования в соответствии с настоящим изобретением.
Фиг.5b иллюстрирует декодер масштабируемых кодированных видеоданных в соответствии с настоящим изобретением. Фиг.5b показывает возможную реализацию блока 106 декодирования, выполненного с возможностью обрабатывать масштабируемые кодированные видеоданные.
Фактически нет необходимости в блоке для определения соответствующего набора SPS на стороне декодирования, что необходимо на стороне кодирования. Для полноты блок определения также показан на фиг.5b. В структуре, в которой в изображении используют SPS, об этом сигнализируют путем указания его идентификатора ID в наборе параметров изображения, а на идентификатор набора параметров изображения далее ссылаются в заголовке слайса видеоданных.
На основе принятых данных идентифицируют поток данных уровня улучшения (EL), идентификаторы зависимости и поток данных базового уровня (BL) в блоке, который обозначен как демультиплексор DEMUX.
Полученные потоки данных теперь готовы к дальнейшей обработке, которую обеспечивают соответствующие декодер уровня улучшения (EL) и декодер базового уровня (BL). Каждый из изображенных блоков выполнен с возможностью взаимодействия с другими, если необходимо. Векторы движения доступны и могут быть использованы для декодирования. Согласно используемому SPS, декодер обеспечивает надлежащее декодирование, в результате которого получают масштабируемые декодированные видеоданные.
Поток данных базового уровня (BL) также может быть сформирован как отдельный поток данных для определенного применения. Данные базового уровня (BL), которые также декодируют, используют в том случае, если 'обнаруживают проблемы при процедуре декодирования уровня улучшения (EL).
Фиг.6 представляет модуль кодирования в соответствии с настоящим изобретением, показывая все компоненты, необходимые для кодирования. Указанный модуль 105 для масштабируемого кодирования видеоданных включает: компонент 610 для приема указанных видеоданных, компонент 620 для генерирования базового уровня на основе указанных полученных видеоданных, компонент 630 для генерирования заранее заданного количества соответствующих масштабируемых уровней улучшения на основе указанных видеоданных и указанного базового уровня, компонент 640 для генерирования идентификаторов зависимости для каждого указанного базового уровня или уровня улучшения, при этом указанные идентификаторы зависимости имеют последовательные ссылочные номера, компонент 650 для определения соответствующих наборов параметров последовательности (SPS) для каждого из указанных базового уровня или уровня улучшения, причем если выбранные параметры SPS по существу равны, то используют только один SPS, и компонент 660 для кодирования указанного базового уровня и указанных уровней улучшения путем использования указанного соответствующего набора параметров последовательности.
Фиг.7 представляет блок декодирования в соответствии с настоящим изобретением, показывая все компоненты, необходимые для декодирования. Указанный модуль 105 для декодирования масштабируемых кодированных видеоданных включает: компонент 710 для получения указанных кодированных видеоданных, компонент 720 для идентифицирования базового уровня и множества уровней улучшения в указанных кодированных видеоданных, компонент 730 для определения идентификаторов зависимости для каждого из указанных уровней улучшения, при этом указанные идентификаторы зависимости имеют последовательные ссылочные номера, и по меньшей мере для двух уровней с различными идентификаторами зависимости используют один и тот же SPS, а также компонент 740 для декодирования указанного базового уровня и декодирования указанных уровней улучшения путем использования указанного используемого набора параметров последовательности.
Оба модуля 105 и 106 могут быть реализованы как программные модули или блоки аппаратных средств и тому подобное.
Фиг.8а и 8b иллюстрируют основное различие между известным способом масштабируемого кодирования и способом кодирования в соответствии с настоящим изобретением. Фиг.8а показывает, что каждый идентификатор зависимости, соответствующий базовому уровню и ряду уровней улучшения, обеспечивают индивидуальным набором параметров последовательности SPS. В противоположность этому, в способе кодирования в соответствии с настоящим изобретением определяют, равны ли наборы параметров последовательности для различных идентификаторов зависимости, и используют для кодирования только один SPS, если наборы равны. В этом примере используют лишь набор SPS 1 для кодирования всех уровней улучшения.
Хотя изобретение описано выше в отношении его реализации согласно сопроводительным чертежам, ясно, что изобретение не ограничено ими и может быть изменено различными способами в объеме приложенной формулы.