Настоящая заявка основана на предварительной заявке на патент США № 60/374667, поданной 23 апреля 2002 г., и по настоящей заявке испрашивается приоритет указанной заявки.
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу, кодеру, декодеру и устройству кодирования цифровых видеосигналов. В частности, изобретение относится к указанию значений параметров квантования (QP) в системе видеокодирования.
Предшествующий уровень техники
Цифровые видеопоследовательности, записанные на пленку аналогично обычным киноизображениям, содержат последовательность статических изображений, при этом иллюзия движения создается представлением изображений одного за другим, обычно с частотой 15-30 кадров в секунду.
Каждый кадр несжатой цифровой видеопоследовательности содержит массив пикселей изображения. Кадр в широко применяемом цифровом видеоформате, известном под названием общий формат обмена сжатыми видеоданными с уменьшенным вчетверо разрешением (QCIF), содержит массив из 176×144 пикселей (т.е. 25344 пикселей). Каждый пиксель, в свою очередь, представлен определенным числом бит, которые содержат информацию о яркости и/или цвете области изображения, соответствующей пикселю. В общем случае, чтобы представить яркостной и цветовой состав изображения, используют так называемую модель YUV. Яркостная составляющая или Y представляет (субъективную) яркость изображения, а цветовой состав изображения представлен двумя составляющими цветности или цветоразностными составляющими, обозначаемыми U и V.
Цветовые модели, основанные на представлении яркостного и цветового состава изображения, обеспечивают определенные преимущества по сравнению с цветовыми моделями, которые основаны на представлении с использованием первичных цветов (а именно, красного, зеленого и синего, т.е. системы RGB). Система зрения человека обладает большей чувствительностью к изменениям интенсивности, чем к изменениям цвета, а цветовая модель YUV использует данное свойство назначением пространственного разрешения для составляющих цветности (U, V) ниже, чем для яркостной составляющей (Y). Тем самым, объем информации, необходимый для кодирования цветовой информации, можно сократить при приемлемом снижении качества изображения.
Пространственное разрешение составляющих цветности обычно снижают методом субдискретизации. Каждый кадр видеопоследовательности обычно разбивают на, так называемые, "макроблоки", которые содержат яркостную (Y) информацию и соответствующую цветовую (U, V) информацию, которую подвергают пространственной субдискретизации.
На фиг.1 изображен один из способов, посредством которых можно сформировать макроблоки. На фиг.1 представлен кадр видеопоследовательности, использующий цветовую модель YUV, причем все составляющие имеют одинаковое пространственное разрешение. Макроблоки формируют представлением области из 16×16 пикселей изображения в виде четырех блоков яркостной информации, при этом каждый яркостной блок содержит массив из 8×8 яркостных (Y) значений и две пространственно соответствующих составляющих цветности (U и V), которые подвергают субдискретизации с коэффициентом два как по горизонтали, так и по вертикали, и в итоге получают массив из 8×8 значений цветности (U, V). В соответствии с некоторыми рекомендациями по видеокодированию, например, рекомендацией H.26L сектора телекоммуникаций Международного союза электросвязи (ITU-T), размер блока в составе макроблоков может отличаться от 8×8, например, может быть 4×8 или 4×4 (см. T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, Jan. 2002, Sections 2.2 and 2.3 (документ JVT-A003 Объединенной группы экспертов по обработке видеоданных (JVT) на базе экспертной группы по кинематографии (MPEG) при ISO/IEC и экспертной группы по видеокодированию (VCEG) при ITU-T, январь 2002, разделы 2.2 и 2.3)). Рекомендация H.26L ITU-T допускает также совместную организацию макроблоков в, так называемые, "секции". А именно, каждую секцию формируют из нескольких последовательных макроблоков в порядке кодирования и кодируют так, чтобы секцию можно было декодировать независимо, без рассмотрения какой-либо другой секции того же самого кадра. Преимущество указанной схемы заключается в способности ограничивать распространение искажений в декодированных видеоданных, которые могут возникать вследствие ошибок передачи. При том, что не существует конкретных ограничений на способ возможного построения секции, существует одна простая схема, суть которой в том, что все макроблоки в одном горизонтальном ряду кадра группируют как секцию. Данная схема, вместе с разбиением изображения формата QCIF на макроблоки 16×16, показана на фиг.2.
Как видно из фиг.2, изображение формата QCIF содержит 11×9 макроблоков (в данном случае, разбитое на группы из 9 секций, каждая из которых содержит 11 последовательных макроблоков). Если яркостные блоки и блоки цветности представлены с 8-битовым разрешением (т.е. числами в пределах 0-255), то на один макроблок требуется в сумме (16×16×8)+2×(8×8×8)=3072 бита. Следовательно, число битов, необходимое, чтобы представить видеокадр в формате QCIF, равно 99×3072=304128 бит. Это означает, что объем информации, необходимый, чтобы передать/записать/отобразить несжатую видеопоследовательность в формате QCIF, представленную с использованием цветовой модели YUV, с частотой 30 кадров в секунду, превышает 9 Мбит/с (миллион бит в секунду). Указанная скорость передачи данных является слишком высокой и практически не пригодна для записи, передачи и отображения видеоданных, поскольку требует, чтобы емкость запоминающих устройств (ЗУ), пропускная способность передающего канала и производительность аппаратных средств имели сверхвысокие значения.
Если видеоданные требуется передавать в реальном времени по сети с фиксированными линиями связи, например, по сети ISDN (цифровая сеть связи с комплексными услугами) или обычной сети PSTN (коммутируемая телефонная сеть общественного пользования), то доступная ширина полосы пропускания при передаче данных обычно составляет около 64 кбит/с. В мобильной видеотелефонии, когда передача по меньшей мере частично осуществляется по линии радиосвязи, доступная ширина полосы пропускания может уменьшаться до 20 кбит/с. То есть, чтобы цифровые видеопоследовательности можно было передавать по узкополосным сетям связи, требуется существенно сократить объем информации, используемый для представления видеоданных. По указанной причине разработаны методы сжатия видеосигналов, которые сокращают объем передаваемой информации при сохранении приемлемого качества изображения.
Способы сжатия видеосигналов основаны на сокращении избыточных и бесполезных для восприятия частей видеопоследовательностей. Избыточность в видеопоследовательностях можно классифицировать на пространственную, временную и спектральную. Термин "пространственная избыточность" применяют для описания корреляции (подобия) между соседними пикселями в кадре. Термин "временная избыточность" отражает вероятность того, что объекты, появляющиеся в одном кадре последовательности, будут появляться в последующих кадрах, а термином "спектральная избыточность" обозначают корреляцию между разными составляющими цветности одного и того же изображения.
Пиксели, которые составляют каждый кадр цифровой видеопоследовательности, часто характеризуются высокой степенью взаимной корреляции, другими словами, любой пиксель в кадре последовательности имеет то же самое значение, что и другие пиксели в его непосредственной близости. Системы видеокодирования обычно сокращают пространственную избыточность с использованием метода, известного под названием "блочное кодирование с преобразованием", в соответствии с которым блоки пикселей изображения обрабатывают посредством математического преобразования, например, дискретного косинусного преобразования (DCT). При этом видеосигналы преобразуются из представления, содержащего значения пикселей, в форму, содержащую множество значений коэффициентов, характеризующих пространственно-частотные составляющие. Описанное альтернативное представление видеоданных обеспечивает существенное сокращение пространственной избыточности и тем самым более компактное представление видеоданных.
Принадлежащие видеопоследовательности кадры, которые сжаты с использованием блочного кодирования с преобразованием независимо от любого другого кадра в последовательности, называют внутриблочно кодированными (INTRA-кодированными) или I-адрами.
Системы видеокодирования обычно не только сокращают пространственную избыточность, но также используют метод, называемый "предсказанием с компенсацией движения", чтобы сократить временную избыточность в последовательности. При использовании предсказания с компенсацией движения содержание изображения некоторых (часто многих) кадров цифровой видеопоследовательности "предсказывают" по содержанию, по меньшей мере, одного из других кадров последовательности, называемых "опорными" кадрами. Содержание изображения удается предсказать посредством отслеживания движения объектов или областей изображения в промежутке(ах) между кодируемым (сжимаемым) кадром и опорным(и) кадром(ами) с использованием "векторов движения". Как и в случае с INTRA-кодированием, предсказание видеокадра с компенсацией движения обычно выполняют по макроблокам.
Кадры видеопоследовательности, сжатые с использованием предсказания с компенсацией движения, обычно называют межблочно кодированными (INTER-кодированными) или предсказанными кадрами (P-кадрами). Одно лишь предсказание с компенсацией движения редко обеспечивает достаточно точное представление содержания изображения видеокадра, вследствие чего обычно необходимо обеспечивать, так называемый, кадр "ошибки предсказания" (PE-кадр) с каждым INTER-кодированным кадром. Кадр ошибки предсказания представляет различие между декодированным вариантом INTER-кодированного кадра и содержанием кодируемого кадра. В частности, кадр ошибки предсказания содержит значения, которые отражают разности между значениями пикселей в кодируемом кадре и соответствующими восстановленными значениями пикселей, сформированными на основании предсказанного варианта данного кадра. Следовательно, кадр ошибки предсказания обладает характеристиками, аналогичными статическому изображению, поэтому, чтобы сократить его пространственную избыточность и, следовательно, объем информации (число бит), необходимый для его представления, можно применить блочное кодирование с преобразованием.
Ниже действие системы видеокодирования подробно продемонстрировано на примере по фиг.3 и 4. Фиг.3 представляет принципиальную блок-схему обобщенного видеокодера, который сочетает INTRA-кодирование и INTER-кодирование с целью создания битового потока сжатых (кодированных) видеоданных. Соответствующий декодер изображен на фиг.4, а описание данного декодера приведено далее в тексте.
Видеокодер 100 содержит вход 101 для приема цифрового видеосигнала от камеры или другого источника видеоданных (не показан). Видеокодер содержит также модуль 104 преобразования, который предназначен для выполнения блочного дискретного косинусного преобразования (DCT), квантователь 106, обратный квантователь 108, модуль 110 обратного преобразования 110, предназначенный для выполнения обратного блочного дискретного косинусного преобразования (IDCT), объединители 112 и 116 и хранилище 120 кадра. Кроме того, кодер содержит модуль 130 анализа параметров движения, кодер 140 области движения и модуль 150 предсказания с компенсацией движения. Переключатели 102 и 114 действуют скоординированно с управлением от модуля управления 160, чтобы переключать кодер из режима INTRA-видеокодирования в режим INTER-видеокодирования и наоборот. Кодер 100 содержит также мультиплексный кодер 170 видеоданных, который формирует один битовый поток из разных видов информации, выдаваемой кодером 100, для последующей передачи в удаленный приемный терминал или, например, на хранение на носителе информации большой емкости, например, на жестком диске компьютера (не показан).
Кодер 100 действует следующим образом. Каждый кадр несжатого видеосигнала, поступающий из источника видеосигналов на вход 101, принимается и обрабатывается по макроблокам, в предпочтительном варианте, в порядке растрового сканирования. Когда начинается кодирование новой видеопоследовательности, первый кодируемый кадр кодируется как INTRA-кодированный кадр. Затем кодер программируется на кодирование каждого кадра в формате INTER-кодирования, пока не выполняется одно из следующих условий: 1) анализ показывает, что кодируемый на текущий момент макроблок кадра настолько сильно отличается по значениям пикселей от опорного кадра, используемого для его предсказания, что выдается информация о слишком большой ошибке предсказания, и тогда текущий макроблок кодируется в формате INTRA-кодирования; 2) закончился заданный интервал следования INTRA-кодированных кадров; или 3) из принимающего терминала поступил сигнал обратной связи с запросом передачи кадров в формате INTRA-кодирования.
Ниже приведено описание функционирования кодера 100 в режиме INTRA-кодирования. В режиме INTRA-кодирования модуль управления 160 переводит переключатель 102 в положение для приема входного видеосигнала из входной линии 118. Входной видеосигнал принимается по макроблокам, и блоки яркостных значений и значений цветности, которые составляют каждый макроблок, передаются в модуль 104 преобразования, выполняющий DCT (модуль DCT-преобразования). Данный модуль выполняет 2-ерное дискретное косинусное преобразование и формирует для каждого блока 2-мерный массив коэффициентов дискретного косинусного преобразования (DCT-коэффициентов).
DCT-коэффициенты для каждого блока передаются в квантователь 106, в котором они квантуются с использованием параметра квантования QP. Управление выбором параметра квантования QP осуществляет модуль управления 160 по линии управления 115.
В частности, квантование DCT-коэффициентов выполняется делением значения каждого коэффициента на параметр квантования QP и округлением результата до ближайшего целого числа. При этом на выходе процесса квантования формируется множество значений квантованных DCT-коэффициентов, которые характеризуются меньшей численной точностью по сравнению со значениями коэффициентов, первоначально сформированных модулем 104 DCT-преобразования. Следовательно, в общем случае, каждый из квантованных DCT-коэффициентов можно представить меньшим числом информационных бит, чем требуется для представления соответствующего коэффициента до квантования. Кроме того, процесс квантования приводит некоторые DCT-коэффициенты к нулю и тем самым сокращает число коэффициентов, которые требуется кодировать. В результате обоих указанных процессов сокращается объем информации (т.е. количество информационных бит), необходимый для представления DCT-коэффициентов блока изображения. Следовательно, квантование обеспечивает дополнительный механизм, посредством которого можно сократить объем информации, необходимый для представления каждого изображения в видеопоследовательности. Кроме того, квантование привносит необратимые потери информации, что приводит к соответствующему снижению качества изображения. Хотя вышеописанное снижение качества изображения не всегда может быть желательно, квантование значений DCT-коэффициентов обеспечивает возможность коррекции числа бит, необходимых для кодирования видеопоследовательности с целью, например, учета полосы пропускания, доступной для передачи кодированной последовательности или требуемого качества кодированных видеоданных. В частности, посредством повышения значения QP, используемого для квантования DCT-коэффициентов, можно создавать менее качественное, но более компактное представление видеопоследовательности. Наоборот, посредством снижения значения QP, можно формировать кодированные битовые потоки более высокого качества, но с меньшей степенью сжатия.
Квантованные DCT-коэффициенты для каждого блока передаются из квантователя 106 в мультиплексный кодер 170 видеоданных, как показано линией 125 на фиг.1. Мультиплексный кодер 170 видеоданных упорядочивает квантованные коэффициенты преобразования для каждого блока с использованием процедуры зигзагообразного сканирования и, тем самым, преобразует двумерный массив квантованных значений коэффициентов преобразования в одномерный массив. Далее мультиплексный кодер 170 видеоданных обычно представляет каждый ненулевой квантованный коэффициент в составе одномерного массива парой значений, называемых уровень (level) и серия (run), где уровень дает значение квантованного коэффициента, а серия является числом последовательных коэффициентов с нулевыми значениями, предшествующими данному коэффициенту. Значения серии и уровня дополнительно сжимают статистическим кодированием. Например, можно применить такой способ, как неравномерное кодирование (VLC), для формирования множества кодовых комбинаций переменной длины, характеризующих каждую пару (серия, уровень).
По окончании статистического кодирования пар (серия, уровень) (например, кодами переменной длины) мультиплексный кодер 170 видеоданных далее объединяет указанные пары с управляющей информацией, также статистически кодированной, например, с использованием такого способа неравномерного кодирования, который подходит для информации рассматриваемого типа, чтобы сформировать один сжатый битовый поток кодированной видеоинформации 135. Именно указанный битовый поток, содержащий кодовые комбинации переменной длины, характеризующие пары (серия, уровень) и управляющую информацию, связанную, помимо прочего, с параметром квантования QP, использованным для квантования DCT-коэффициентов, передается из кодера.
В кодере 100 формируется также локально декодированный вариант макроблока. Данная операция выполняется пропусканием квантованных коэффициентов преобразования для каждого блока, выдаваемых квантователем 106, через обратный квантователь 108 и выполнением обратного DCT-преобразования в модуле 110 обратного преобразования. Обратное квантование выполняется обращением операции квантования, выполняемой в квантователе 106. В частности, обратный квантователь 108 пробует восстановить исходные значения DCT-коэффициентов для данного блока изображения умножением каждого квантованного значения DCT-коэффициента на параметр квантования QP. Из-за операции округления, выполняемой в процессе квантования квантователем 106, как правило, невозможно точно восстановить исходные значения DCT-коэффициентов. В результате, имеет место различие между восстановленными значениями DCT-коэффициентов и первоначально сформированными модулем 104 DCT-преобразования (и, следовательно, происходит вышеупомянутая необратимая потеря информации).
Операции, выполняемые обратным квантователем 108 и модулем 110 обратного преобразования, формируют реконструированный массив значений пикселей для каждого блока макроблока. Результирующие декодированные видеоданные вводятся в объединитель 112. В режиме INTRA-кодирования переключатель 114 установлен в такую позицию, чтобы на входной сигнал, подаваемый на объединитель 112 через переключатель 114, соответствовал нулю. При этом операция, выполняемая объединителем 112, эквивалентна пропусканию декодированных видеоданных без изменения.
По мере того, как последующие макроблоки текущего кадра принимаются и обрабатываются в соответствии с вышеописанными этапами кодирования и локального декодирования в модулях 104, 106, 108, 110 и 112, формируется декодированный вариант INTRA-кодированного кадра в хранилище 120 кадра. После того, как INTRA-кодируется и затем декодируется последний макроблок текущего кадра, хранилище 120 кадра содержит полностью декодированный кадр, который можно использовать как опорный кадр предсказания при кодировании последующего принятого видеокадра в INTER-кодированном формате. Флаг, указывающий на формат INTRA-кодирования или INTER-кодирования, выдается в линию 122.
Ниже приведено описание функционирования кодера 100 в режиме INTER-кодирования. В режиме INTER-кодирования модуль управления 160 переводит переключатель 102 в положение для приема его входного сигнала из линии 117, которая содержит выходной сигнал объединителя 116. Объединитель 116 принимает входной видеосигнал по макроблокам с входа 101. По мере того, как объединитель 116 принимает блоки значений яркости и цветности, которые составляют макроблок, объединитель формирует соответствующие блоки данных ошибки предсказания. Данные ошибки предсказания отражают различие, имеющее место между рассматриваемым блоком и его предсказанием и определяемое модулем 150 предсказания с компенсацией движения. В частности, данные ошибки предсказания для каждого блока макроблока содержат двумерный массив значений, каждое из которых представляет собой разность между значением пикселя в блоке кодируемой яркостной или цветовой информации и декодированным значением пикселя, полученным формированием для блока предсказания с компенсацией движения в соответствии с нижеописанной процедурой.
Данные ошибки предсказания для каждого блока макроблока передаются в модуль 104 DCT-преобразования, который выполняет двумерное дискретное косинусное преобразование в отношении каждого блока значений ошибки предсказания, чтобы создать двумерный массив коэффициентов DCT-преобразования для каждого блока.
Коэффициенты преобразования для каждого блока ошибки предсказания передаются в квантователь 106, в котором они квантуются с использованием параметра квантования QP аналогично тому, как изложено выше в связи с функционированием кодера в режиме INTRA-кодирования. И вновь, управление выбором параметра квантования QP осуществляет модуль управления 160 по линии управления 115. Точность кодирования ошибки предсказания можно скорректировать в зависимости от доступной полосы пропускания и/или необходимого качества кодированных видеоданных. В характерной системе с дискретным косинусным преобразованием (DCT) указанную операцию выполняют изменением параметра квантования (QP), используемого при квантовании DCT-коэффициентов с заданной точностью.
Квантованные DCT-коэффициенты, представляющие данные ошибки предсказания для каждого блока макроблока, передаются из квантователя 106 в мультиплексный кодер 170 видеоданных, как показано линией 125 на фиг.1. Аналогично режиму INTRA-кодирования мультиплексный кодер 170 видеоданных упорядочивает коэффициенты преобразования для каждого блока ошибки предсказания с использованием процедуры зигзагообразного сканирования, а затем представляет каждый ненулевой квантованный коэффициент в виде пары (серия, уровень). Упомянутый кодер дополнительно сжимает пары (серия, уровень) с использованием статистического кодирования, аналогично тому, как изложено выше в связи с режимом INTRA-кодирования. Кроме того, мультиплексный кодер 170 видеоданных принимает данные вектора движения (описание следует) из кодера 140 области движения по линии 126 и управляющую информацию (например, с указанием параметра квантования QP) из модуля управления 160. Указанный кодер статистически кодирует данные вектора движения и управляющую информацию и формирует один битовый поток кодированной видеоинформации 135, содержащей статистически кодированные данные вектора движения и ошибки предсказания и статистически кодированную управляющую информацию. Указание, qz, параметра квантования QP передается в мультиплексный кодер 170 видеоданных по линии 124.
Квантованные DCT-коэффициенты, представляющие данные ошибки предсказания для каждого блока макроблока, передаются также из квантователя 106 в обратный квантователь 108. Здесь они обрабатываются методом обратного квантования аналогично тому, как изложено выше в связи с функционированием кодера в режиме INTRA-кодирования. В режиме INTER-кодирования, качество кодированных видеоданных в битовом потоке и число бит, необходимое для представления видеопоследовательности, можно скорректировать изменением степени квантования для DCT-коэффициентов, представляющих собой данные ошибки предсказания.
Результирующие блоки обратно квантованных DCT-коэффициентов подаются в модуль 110 обратного DCT-преобразования, где подвергаются обратному DCT-преобразованию для формирования локально декодированных блоков значений ошибок предсказания. Затем локально декодированные блоки значений ошибок предсказания вводятся в объединитель 112. В режиме INTER-кодирования переключатель 114 установлен в такую позицию, чтобы в объединитель 112 поступали также предсказанные значения пикселей для каждого блока макроблока, сформированные в модуле 150 предсказания с компенсацией движения. Объединитель 112 объединяет каждый из локально декодированных блоков значений ошибок предсказания с соответствующим блоком предсказанных значения пикселей с целью формирования восстановленных блоков изображения и вводит их в хранилище 120 кадра.
По мере того, как последующие макроблоки видеосигнала принимаются из источника видеосигнала и обрабатываются в соответствии с вышеописанными этапами кодирования и декодирования в модулях 104, 106, 108, 110, 112 формируется декодированный вариант кадра в хранилище 120 кадра. После того, обрабатывается последний макроблок кадра, хранилище 120 кадра содержит полностью декодированный кадр, который можно использовать как опорный кадр предсказания при кодировании последующего принятого видеокадра в INTER-кодированном формате.
Ниже описан процесс формирования предсказания для макроблока текущего кадра. Любой кадр, кодируемый в формате INTER-кодирования, нуждается в опорном кадре для предсказания с компенсацией движения. Это непременно означает, что, при кодировании видеопоследовательности, первый кодируемый кадр, неважно, первый ли это кадр последовательности или какой-либо другой кадр, следует кодировать в формате INTRA-кодирования. Из этого, в свою очередь, следует, что, когда модуль управления 160 переключает видеокодер 100 в режим INTER-кодирования, опорный кадр, сформированный локальным декодированием ранее кодированного кадра, уже целиком существует в хранилище 120 кадра кодера. В общем, опорный кадр формируется локальным декодированием либо INTRA-кодированного кадра, либо INTER-кодированного кадра.
Первый этап формирования предсказания для макроблока текущего кадра выполняется в модуле 130 анализа параметров движения. Модуль 130 анализа параметров движения принимает блоки значений яркости и цветности, которые составляют текущий макроблок кадра, подлежащего кодированию, по линии 128. Затем указанный модуль выполняет операцию сопоставления блоков, чтобы выявить на опорном кадре область, которая, по существу, соответствует текущему макроблоку. Чтобы выполнить операцию сопоставления блоков, модуль анализа параметров движения обращается к данным опорного кадра, хранящимся в хранилище 120 кадра, по линии 127. В частности, модуль 130 анализа параметров движения выполняет сопоставление блоков вычислением разностных значений (например, сумм абсолютных разностей), отражающих различия между значениями пикселей анализируемого макроблока и соответствующими значениями у возможных вариантов оптимально совпадающих областей пикселей из опорного кадра, хранящегося в хранилище 120 кадра. Разностное значение рассчитывается для возможных вариантов областей во всех возможных позициях в пределах заданной области поиска опорного кадра, а модуль 130 анализа параметров движения определяет минимальное расчетное разностное значение. Смещение между макроблоком текущего кадра и возможным вариантом блока значений пикселей из опорного кадра, в точке минимального вышеупомянутого разностного значения, определяет вектор движения для данного макроблока.
После того, как модуль 130 анализа параметров движения вырабатывает вектор движения для макроблока, данный модуль выдает вектор движения в модуль 140 кодирования области движения. Модуль 140 кодирования области движения аппроксимирует вектор движения, полученный из модуля 130 анализа параметров движения, с использованием модели движения, содержащей множество базисных функций и коэффициентов движения. В частности, модуль 140 кодирования области движения представляет вектор движения в виде множества значений коэффициентов движения, которые при умножении на базисные функции формируют приближенное представление вектора движения. Обычно используют модель поступательного движения только с двумя коэффициентами движения и базисными функциями, но можно использовать и более сложные модели движения.
Коэффициенты движения передаются из модуля 140 кодирования области движения в модуль 150 предсказания с компенсацией движения. Модуль 150 предсказания с компенсацией движения принимает также оптимально совпадающий возможный вариант области значений пикселей, найденный модулем 130 анализа параметров движения в хранилище 120 кадра. При использовании приближенного представления вектора движения, сформированного модулем 140 кодирования области движения, и значений пикселей оптимально совпадающего возможного варианта области из опорного кадра, модуль 150 предсказания с компенсацией движения формирует массив предсказанных значений пикселей для каждого блока макроблока. Каждый блок предсказанных значений пикселей передается в объединитель 116, который вычитает предсказанные значения пикселей из фактических (входных) значений пикселей соответствующего блока текущего макроблока и таким образом формирует множество блоков ошибок предсказания для макроблока.
Ниже приведено описание функционирования видеодекодера 200, показанного на фиг.4. Декодер 200 содержит мультиплексный декодер 270 видеоданных, который принимает битовый поток кодированных видеоданных 135 из кодера 100 и демультиплексирует упомянутый поток на его составные части, обратный квантователь 210, модуль 220 обратного DCT-преобразования, модуль 240 предсказания с компенсацией движения, хранилище 250 кадра, объединитель 230, модуль управления 260 и выход 280.
Модуль управления 260 управляет работой декодера 200 в зависимости от того, выполняется ли декодирование INTRA-кодированного или INTER-кодированного кадра. Управляющий сигнал включения режимов INTRA-/INTER-кодирования, который предписывает декодеру переключаться из одного режима декодирования в другой, выводится, например, из информации о типе изображения, связанной с каждым сжатым видеокадром, полученным из кодера. Управляющий сигнал включения режимов INTRA-/INTER-кодирования выделяется из битового потока кодированных видеоданных мультиплексным декодером 270 видеоданных и передается в модуль управления 260 по линии управления 215.
INTRA-кодированный кадр декодируется по макроблокам. Мультиплексный декодер 270 видеоданных отделяет кодированную информацию, относящуюся к блокам макроблока, от возможной управляющей информации, касающейся данного макроблока. Кодированная информация по каждому блоку INTRA-кодированного макроблока содержит кодовые комбинации переменной длины, представляющие неравномерно кодированные (методом VLC) значения уровня и серии для ненулевых квантованных DCT-коэффициентов блока. Мультиплексный декодер 270 видеоданных декодирует кодовые комбинации переменной длины с использованием способа декодирования полей переменной длины, соответствующего способу кодирования, использованному в кодере 100, и, тем самым, восстанавливает пары (серия, уровень). Затем декодер восстанавливает массив квантованных значений коэффициентов преобразования для каждого блока макроблока и передает упомянутые значения в обратный квантователь 210. Любая управляющая информация, касающаяся макроблока, также декодируется в мультиплексном декодере 270 видеоданных с использованием соответствующего способа декодирования и передается в модуль управления 260. В частности, информация, касающаяся уровня квантования коэффициентов преобразования (т.е. параметр квантования QP), выделяется из кодированного битового потока мультиплексным декодером 270 видеоданных и передается в модуль управления 260 по линии управления 217. Модуль управления, в свою очередь, передает указанную информацию в обратный квантователь 210 по линии управления 218. Обратный квантователь 210 выполняет обратное квантование квантованных DCT-коэффициентов для каждого блока макроблока в соответствии с управляющей информацией, касающейся параметра квантования QP, и выдает уже обратно квантованные DCT-коэффициенты в модуль 220 обратного DCT-преобразования. Операция обратного квантования, выполняемая обратным квантователем 210, идентична операции, выполняемой обратным квантователем 108 в кодере.
Модуль 220 обратного DCT-преобразования выполняет обратное DCT-преобразование обратно квантованных DCT-коэффициентов для каждого блока макроблока, чтобы сформировать декодированный блок видеоинформации, содержащий восстановленные значения пикселей. Восстановленные значения пикселей передаются через объединитель 230 на выход 280 видеоданных декодера, с которого, например, они могут быть переданы в дисплей (не показан). Восстановленные значения пикселей для каждого блока макроблока вводятся также в хранилище 250 кадра. Предсказание с компенсацией движения не применяется при кодировании/декодировании INTRA-кодированных макроблоков, поэтому в данном случае модуль управления 260 предписывает объединителю 230 передавать каждый блок значений пикселей без изменения на выход 280 видеоданных и в хранилище 250 кадра. По мере того, как декодируются и вводятся в память последующие макроблоки INTRA-кодированного кадра, в хранилище 250 кадра постепенно компонуется декодированный кадр, который становится доступен для использования в качестве опорного кадра для предсказания с компенсацией движения в связи с декодированием принятых впоследствии INTER-кодированных кадров.
INTER-кодированные кадры также декодируются по макроблокам. Мультиплексный декодер 270 видеоданных принимает битовый поток 135 кодированных видеоданных и отделяет кодированные данные ошибки предсказания для каждого блока INTER-кодированного макроблока от кодированных данных вектора движения и возможной управляющей информации, касающейся рассматриваемого макроблока. В соответствии с вышеизложенным, кодированные данные ошибки предсказания для каждого блока макроблока обычно содержат кодовые комбинации переменной длины, представляющие значения уровня и серии для ненулевых квантованных коэффициентов преобразования рассматриваемого блока ошибки предсказания. Мультиплексный декодер 270 видеоданных декодирует кодовые комбинации переменной длины с использованием способа декодирования полей переменной длины, соответствующего способу кодирования, использованному в кодере 100, и, тем самым, восстанавливает пары (серия, уровень). Затем декодер восстанавливает массив квантованных значений коэффициентов преобразования для каждого блока ошибки предсказания и передает указанные значения в обратный квантователь 210. Управляющая информация, касающаяся INTER-кодированного макроблока, также декодируется в мультиплексном декодере 270 видеоданных с использованием соответствующего способа декодирования и передается в модуль управления 260. Информация, касающаяся уровня квантования (QP) коэффициентов преобразования блоков ошибки предсказания, выделяется из кодированного битового потока и передается в модуль управления 260 по линии управления 217. Модуль управления, в свою очередь, передает указанную информацию в обратный квантователь 210 по линии управления 218. Обратный квантователь 210 выполняет обратное квантование квантованных DCT-коэффициентов, представляющих данные ошибки предсказания для каждого блока макроблока, в соответствии с управляющей информацией, касающейся параметра квантования QP, и выдает уже обратно квантованные DCT-коэффициенты в модуль 220 обратного DCT-преобразования. И вновь операция обратного квантования, выполняемая обратным квантователем 210, идентична операции, выполняемой обратным квантователем 108 в кодере. Флаг режима INTRA/INTER выдается в линию 215.
Затем в модуле 220 обратного DCT-преобразования выполняется обратное преобразование обратно квантованных DCT-коэффициентов, представляющих данные ошибки предсказания для каждого блока, чтобы получить массив восстановленных значений ошибок предсказания для каждого блока макроблока.
Мультиплексный декодер 270 видеоданных выделяет из битового потока 135 кодированных видеоданных и декодирует кодированные данные вектора движения, связанные с макроблоком. Полученные таким путем декодированные данные вектора движения передаются по линии управления 225 в модуль 240 предсказания с компенсацией движения, который восстанавливает вектор движения для макроблока с использованием такой же модели движения, которая применялась для кодирования INTER-кодированного макроблока в кодере 100. Восстановленный вектор движения является приближенным представлением вектора движения, первоначально определенного модулем 130 оценки параметров движения кодера. Модуль 240 предсказания с компенсацией движения декодера использует восстановленный вектор движения для выявления местоположения области восстановленных пикселей в опорном кадре предсказания, хранящемся в хранилище 250 кадра. Область пикселей, указанная восстановленным вектором движения, применяется, чтобы сформировать предсказание для рассматриваемого макроблока. В частности, модуль 240 предсказания с компенсацией движения формирует массив значений пикселей для каждого блока макроблока копированием соответствующих значений пикселей из области пикселей, указанной в опорном кадре. Указанные блоки значений пикселей, определяемые по опорному кадру, передаются из модуля 240 предсказания с компенсацией движения в объединитель 230, в котором они объединяются с декодированными данными ошибки предсказания. На практике значения пикселей каждого предсказанного блока прибавляются к соответствующим восстановленным значениям ошибки предсказания, выдаваемым модулем 220 обратного DCT-преобразования. Таким образом получают массив восстановленных значений пикселей для каждого блока макроблока. Восстановленные значения пикселей передаются на выход 280 видеоданных декодера, а также вводятся в хранилище 250 кадра.
По мере того, как декодируются и вводятся в память последующие макроблоки INTER-кодированного кадра, в хранилище 250 кадра постепенно компонуется декодированный кадр, который становится доступен для использования в качестве опорного кадра для предсказания с компенсацией движения других INTER-кодированных кадров.
В соответствии с вышеизложенным, типичные системы видеокодирования и декодирования (обычно называемые видеокодеками) действуют по принципу предсказания с предсказанием движения и кодирования ошибки предсказания. Предсказание с компенсацией движения выполняется посредством анализа и кодирования движения от видеокадра к видеокадру и восстановления сегментов изображения с использованием данных движения. Кодирование ошибки предсказания используют для кодирования различия между сегментами изображения со скомпенсированным движением и соответствующими сегментами исходного изображения. Точность кодирования ошибки предсказания можно корректировать в зависимости от доступной полосы пропускания и требуемого качества кодированных видеоданных. В характерной системе с дискретным косинусным преобразованием (DCT) указанную операцию выполняют изменением параметра квантования (QP), используемого при квантовании DCT-коэффициентов с заданной точностью.
Следует отметить, что, чтобы оставаться в синхронизации с кодером, декодер должен знать точное значение QP, использованного в кодированной видеопоследовательности. Обычно передается одно значение QP на секцию, что приводит к увеличению числа бит, которые необходимо передать для кодирования изображения. (В соответствии с вышеизложенным, секция содержит часть изображения и кодируется независимо от других секций, чтобы устранить распространение возможных ошибок передачи по изображению). Например, если кодирование одного значения QP требует 6 бит, а каждую секунду передаются 20 изображений, каждое из которых разбито на 10 секций, то на передачу одной только информации QP требуется 1,2 кбит/с.
В соответствии с известными решениями (например, по рекомендации H.26L по видеокодированию, представленной в документе: T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, Jan. 2002), параметры QP изображения/секции кодируются независимо равномерным или неравномерным кодом. Данные решения приводят к росту скорости передачи в битах в соответствии с вышеприведенным описанием. В частности, в соответствии с совместной моделью № 1 (Joint Model Number 1) по рекомендации H.26L, значение параметра квантования (QP), используемого для квантования значений DCT-коэффициентов, обычно указывается в кодированном битовом потоке в начале каждого изображения (см. T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, Jan. 2002, Section 3.3.1). Если макроблоки кадра организованы в секции, то тогда в начале каждой секции кадра (например, в дополнительном составляющем заголовок секции фрагменте кодированного битового потока) указывается также значение QP. В обоих случаях значение QP указывается без изменений или кодируется с использованием подходящей схемы неравномерного кодирования. В соответствии с вышеизложенным, следует понимать, что данная схема является весьма затратной в пересчете на число бит, необходимое для представления данных параметра квантования, особенно, если кадры делятся на множество секций, и/или полоса пропускания, доступная для передачи кодированной видеопоследовательности, является узкой. Указанная проблема представляет особую сложность в задачах, связанных с передачей видеосигналов на мобильные телефоны, когда битовые потоки кодированных видеоданных передают по каналу радиосвязи. В данных обстоятельствах полоса пропускания, доступная для передачи битового потока кодированных видеоданных, может ограничивать скорость передачи до 20 кбит/с, и данные QP, введенные в битовый поток, могут занимать существенную часть всей доступной полосы пропускания.
Кроме того, в соответствии с H.26L, значение QP можно дополнительно изменять на уровне макроблока с использованием метода, заключающегося в том, что в часть кодированного битового потока вводят параметр переключения квантователя (Dquant), характеризующий рассматриваемый макроблок (см. T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) of ISO/TEC MPEG and ITU-T VCEG, Jan. 2002, Section 3.4.7). Данное решение приводит к дальнейшему увеличению объема такой информации в кодированном битовом потоке, которая служит для указания информации, касающейся QP.
Ввиду вышеизложенного, следует осознавать, что существует большая потребность в усовершенствованном механизме для указания информации, касающейся значений параметров квантования, в системах видеокодирования.
Краткая формулировка сущности изобретения
В соответствии с настоящим изобретением, известные решения для указания связанной с QP информации усовершенствованы вводом QP уровня последовательности. При этом приложение кодера может принимать решение по применению опорного QP, зависимого от видеопоследовательности, для кодирования параметров QP изображения/секции. Тогда, в соответствии с настоящим изобретением вместо кодирования абсолютных значений параметров QP изображения/секции достаточно кодировать разность между QP опорной последовательности и фактически используемым QP изображения/секции. В соответствии с данным решением полное значение QP для каждого изображения/секции передавать не обязательно, а для восстановления QP изображения/секции передают и используют статистически меньшее разностное значение, что позволяет снизить скорость передачи информации в битах.
Снижение требований к скорости передачи информации в битах наиболее очевидно при постоянном QP. При этом достаточно передать всего один бит на секцию для указания того, что при декодировании секции следует использовать QP последовательности. Например, в предыдущем примере, скорость передачи информации в битах для передачи QP снижена с 1,2 кбит/с до 0,2 кбит/с (т.е. требуется передавать всего один бит вместо шести бит на каждую секцию).
В соответствии с первым аспектом настоящего изобретения предлагается способ кодирования цифровой видеопоследовательности, предназначенный для использования в приложении видеокодирования с целью формирования битового потока кодированных видеоданных, представляющего цифровую видеопоследовательность. Цифровая видеопоследовательность содержит некоторое количество кадров, причем каждый кадр последовательности содержит массив пикселей и разбит на совокупность блоков, а каждый блок содержит определенное количество пикселей. Способ содержит этапы, заключающиеся в том, что кодируют кадр цифровой видеопоследовательности посредством применения предсказания с компенсацией движения к блокам пикселей и тем самым формируют соответствующие блоки значений ошибки предсказания. Применяют к блокам значений ошибки метод кодирования с преобразованием с целью формирования множеств значений коэффициентов преобразования, представляющих блоки значений ошибки предсказания, и применяют некоторый уровень к множествам значений коэффициентов преобразования с целью формирования квантованных множеств значений коэффициентов преобразования. В соответствии с настоящим изобретением, способ дополнительно содержит этап, заключающийся в том, что задают принимаемый по умолчанию уровень квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности, чтобы квантовать множества значений коэффициентов преобразования.
Преимуществом является то, что способ в соответствии с первым аспектом настоящего изобретения используют также, чтобы указывать значения параметра квантования (QP), использованного при квантовании множеств значений коэффициентов преобразования, представляющих блоки значений пикселей, сформированные для кадров, кодированных в режиме INTRA-кодирования, по способу, аналогичному выше описанному, для указания значений параметра квантования, использованных при квантовании множеств значений коэффициентов преобразования, представляющих значения ошибки предсказания, сформированные для кадров, кодированных в режиме INTER-кодирования.
Предпочтительно принимаемый по умолчанию уровень квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности является специфическим для кодируемой видеопоследовательности. В соответствии с другим вариантом, принимаемый по умолчанию уровень квантования является специфическим для приложения видеокодирования.
В соответствии с предпочтительным вариантом выдают указание принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности. В более предпочтительном варианте указание принимаемого по умолчанию уровня квантования выдают в кодированном битовом потоке, представляющем цифровую видеопоследовательность. Предпочтительно кодированный битовый поток, содержащий указание принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности, передают в устройство видеодекодирования.
Преимуществом является то, что принимаемый по умолчанию уровень квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности с тем, чтобы квантовать множества значений коэффициентов преобразования, можно корректировать в процессе кодирования цифровой видеопоследовательности, при этом выдают другое указание, представляющее скорректированный принимаемый по умолчанию уровень квантования.
В соответствии с предпочтительным вариантом указание скорректированного принимаемого по умолчанию уровня квантования передают в устройство видеодекодирования в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
Преимуществом является то, что уровень квантования, применяемый к упомянутым множествам значений коэффициентов преобразования, можно корректировать таким образом, что фактический уровень квантования, применяемый к множествам значений коэффициентов преобразования, отличается от принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности. В предпочтительном варианте, применяемый фактический уровень квантования представляют в качестве разности по отношению к принимаемому по умолчанию уровню квантования. Преимуществом является то, что указание разности по отношению к принимаемому по умолчанию уровню квантования выдают в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
В варианте осуществления способа видеокодирования в соответствии с первым аспектом настоящего изобретения, уровень квантования, применяемый к множествам значений коэффициентов преобразования, можно корректировать от кадра к кадру цифровой видеопоследовательности таким образом, что фактический уровень квантования, применяемый к множествам коэффициентов преобразования для конкретного кадра цифровой видеопоследовательности, отличается от принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности. Преимуществом является то, что в рассматриваемом варианте осуществления фактический уровень квантования для применения в конкретном кадре представляют в качестве разности в отношении принимаемого по умолчанию уровня квантования, и указание разности по отношению к принимаемому по умолчанию уровню квантования выдают в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
В другом варианте осуществления способа видеокодирования в соответствии с первым аспектом настоящего изобретения, совокупность блоков, на которые разбит кадр цифровой видеопоследовательности, группируют, по меньшей мере, в один сегмент, а уровень квантования, применяемый к множествам значений коэффициентов преобразования, можно корректировать от сегмента кадра к сегменту кадра таким образом, что фактический уровень квантования, применяемый к множествам коэффициентов преобразования для конкретного сегмента кадра, отличается от принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности. Преимуществом является то, что в соответствии с рассматриваемым другим вариантом осуществления, фактический уровень квантования для применения на конкретном сегменте представляют в качестве разности по отношению к принимаемому по умолчанию уровню квантования и выдают указание разности по отношению к принимаемому по умолчанию уровню квантования в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
Преимуществом является то, что если принимаемый по умолчанию уровень квантования должен применяться для квантования всех множеств значений коэффициентов преобразования по всей цифровой видеопоследовательности, то указание принимаемого по умолчанию уровня квантования выдают совместно с указанием того, что упомянутый принимаемый по умолчанию уровень должен применяться для квантования всех множеств значений коэффициентов преобразования по всей цифровой видеопоследовательности.
В соответствии со вторым аспектом настоящего изобретения предлагается способ декодирования кодированной цифровой видеопоследовательности, предназначенный для использования в приложении видеодекодирования с целью формирования декодированной цифровой видеопоследовательности. Упомянутая цифровая видеопоследовательность содержит некоторое количество кадров, причем каждый кадр последовательности содержит массив пикселей и разбит на совокупность блоков, из которых каждый блок содержит определенное количество пикселей, а кадры цифровой видеопоследовательности кодированы посредством применения к блокам пикселей предсказания с компенсацией движения с целью формирования соответствующих блоков значений ошибки предсказания, применения к блокам значений ошибки предсказания метода кодирования с преобразованием с целью формирования множеств значений коэффициентов преобразования, представляющих блоки значений ошибки предсказания, и применения некоторого уровня квантования к множествам значений коэффициентов преобразования с целью формирования множеств квантованных значений коэффициентов преобразования, представляющих упомянутые блоки значений ошибок предсказания. В соответствии с настоящим изобретением способ декодирования содержит этап, заключающийся в том, что задают принимаемый по умолчанию уровень обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности, чтобы выполнить обратное квантование множеств квантованных значений коэффициентов преобразования.
Преимуществом является то, что принимаемый по умолчанию уровень обратного квантования идентичен принимаемому по умолчанию уровню квантования, использованному для квантования множеств значений коэффициентов преобразования при кодировании видеопоследовательности.
Предпочтительно, принимаемый по умолчанию уровень обратного квантования, заданный для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности, является специфическим для декодируемой кодированной видеопоследовательности. В соответствии с другим вариантом осуществления принимаемый по умолчанию уровень обратного квантования является специфическим для приложения видеодекодирования.
Преимуществом является то, что способ декодирования содержит этап, заключающийся в том, что восстанавливают указание принимаемого по умолчанию уровня обратного квантования, в предпочтительном варианте, из битового потока, представляющего кодированную видеопоследовательность.
Преимуществом является то, что принимаемый по умолчанию уровень обратного квантования можно корректировать в процессе декодирования цифровой видеопоследовательности. В предпочтительном варианте, коррекцию принимаемого по умолчанию уровня обратного квантования выполняют в зависимости от указания скорректированного принимаемого по умолчанию уровня квантования, использованного при кодировании видеопоследовательности, восстановленного из битового потока, представляющего кодированную цифровую видеопоследовательность. В соответствии с другим вариантом осуществления, принимаемый по умолчанию уровень обратного квантования корректируют в зависимости от указания скорректированного принимаемого по умолчанию уровня квантования, использованного при кодировании видеопоследовательности, переданного из устройства видеокодирования.
Преимуществом является то, что уровень обратного квантования, применяемый к множествам квантованных значений коэффициентов преобразования, можно корректировать таким образом, что фактический уровень обратного квантования, применяемый к множествам квантованных значений коэффициентов преобразования, отличается от принимаемого по умолчанию уровня обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности. В данном случае, фактический уровень обратного квантования определяют прибавлением разностного значения к принимаемому по умолчанию уровню обратного квантования, при этом разностное значение представляет собой разность между принимаемым по умолчанию уровнем обратного квантования и применяемым фактическим уровнем обратного квантования. В предпочтительном варианте осуществления, указание разностного значения восстанавливают из битового потока, представляющего кодированную цифровую видеопоследовательность.
В варианте осуществления способа видеодекодирования в соответствии со вторым аспектом настоящего изобретения уровень обратного квантования, применяемый к множествам квантованных значений коэффициентов преобразования, корректируют от кадра к кадру цифровой видеопоследовательности таким образом, что фактический уровень обратного квантования, применяемый к множествам квантованных коэффициентов преобразования для конкретного кадра цифровой видеопоследовательности, отличается от принимаемого по умолчанию уровня обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности. Преимуществом является то, что в данном варианте осуществления фактический уровень обратного квантования для использования в конкретном кадре определяют прибавлением разностного значения, специфического для кадра, к принимаемому по умолчанию уровню обратного квантования, при этом разностное значение, специфическое для кадра, представляет собой разность между принимаемым по умолчанию уровнем обратного квантования и фактическим уровнем обратного квантования для использования в конкретном кадре. В предпочтительном варианте указание упомянутого разностного значения, специфического для кадра, восстанавливают из битового потока, представляющего кодированную цифровую видеопоследовательность.
В другом варианте осуществления способа видеодекодирования в соответствии со вторым аспектом настоящего изобретения совокупность блоков, на которые разбит кадр упомянутой цифровой видеопоследовательности, группируют, по меньшей мере, в один сегмент, а уровень обратного квантования, применяемый к множествам квантованных значений коэффициентов преобразования, корректируют от сегмента кадра к сегменту кадра таким образом, что фактический уровень обратного квантования, применяемый к множествам квантованных коэффициентов преобразования в конкретном сегменте кадра, отличается от принимаемого по умолчанию уровня обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности. Преимуществом является то, что в данном другом варианте осуществления фактический уровень обратного квантования для применения в конкретном сегменте определяют прибавлением разностного значения, специфического для сегмента, к принимаемому по умолчанию уровню обратного квантования, при этом разностное значение, специфическое для сегмента, представляет собой разность между принимаемым по умолчанию уровнем обратного квантования и фактическим уровнем обратного квантования для использования в конкретном сегменте. В предпочтительном варианте указание упомянутого разностного значения, специфического для сегмента, восстанавливают из битового потока, представляющего кодированную цифровую видеопоследовательность.
В соответствии с третьим аспектом настоящего изобретения предлагается кодер для кодирования цифровой видеопоследовательности с целью формирования битового потока кодированных видеоданных, представляющего цифровую видеопоследовательность, которая содержит некоторое количество кадров, причем каждый кадр последовательности содержит массив пикселей и разбит на совокупность блоков, и каждый блок содержит определенное количество пикселей. Видеокодер в соответствии с третьим аспектом настоящего изобретения выполнен с возможностью кодирования кадра цифровой видеопоследовательности посредством применения предсказания с компенсацией движения к блокам пикселей, в результате формируя соответствующие блоки значений ошибки предсказания. Видеокодер дополнительно выполнен с возможностью применения к блокам значений ошибки предсказания метода кодирования с преобразованием с целью формирования множеств значений коэффициентов преобразования, представляющих упомянутые блоки значений ошибки предсказания, и с возможностью применения к упомянутым множествам значений коэффициентов преобразования некоторого уровня квантования с целью формирования множеств квантованных значений коэффициентов преобразования. В соответствии с настоящим изобретением видеокодер дополнительно выполнен с возможностью задания, принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности с целью квантования множеств значений коэффициентов преобразования.
Преимуществом является то, что кодер в соответствии с третьим аспектом настоящего изобретения также выполнен с возможностью указания значений параметра квантования (QP), использованных для квантования множеств значений коэффициентов преобразования, представляющих блоки значений пикселей, сформированные для кадров, кодированных в режиме INTRA-кодирования, аналогично тому, как описано выше, для указания значений параметра квантования, использованных для квантования множеств значений коэффициентов преобразования, представляющих значения ошибки предсказания для кадров, кодированных в режиме INTER-кодирования.
Преимуществом является то, что принимаемый по умолчанию уровень квантования, задаваемый видеодекодером, является специфическим для кодируемой видеопоследовательности.
Преимуществом является то, что видеодекодер дополнительно выполнен с возможностью выдачи указания принимаемого по умолчанию уровня квантования в кодированном битовом потоке, представляющем цифровую видеопоследовательность. Предпочтительно, видеодекодер выполнен с возможностью передачи кодированного битового потока в соответствующий видеодекодер.
Преимуществом является то, что видеодекодер дополнительно выполнен с возможностью корректирования принимаемого по умолчанию уровня квантования в процессе кодирования цифровой видеопоследовательности и выдачи указания скорректированного принимаемого по умолчанию уровня квантования. В предпочтительном варианте кодер также выполнен с возможностью передачи указания скорректированного принимаемого по умолчанию уровня квантования в соответствующий видеодекодер. Преимуществом является то, что кодер включает указание скорректированного принимаемого по умолчанию уровня квантования в кодированный битовый поток, представляющий цифровую видеопоследовательность.
В соответствии с предпочтительным вариантом видеокодер дополнительно выполнен с возможностью корректирования уровня квантования, применяемого к множествам значений коэффициентов преобразования, и тем самым применять фактический уровень квантования, который отличается от принимаемого по умолчанию уровня квантования. В предпочтительном варианте видеокодер дополнительно выполнен с возможностью представления фактического уровня квантования в качестве разности по отношению к принимаемому по умолчанию уровню квантования и выдачи указания разности по отношению к принимаемому по умолчанию уровню в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
В одном из вариантов осуществления, в соответствии с третьим аспектом настоящего изобретения, видеокодер выполнен с возможностью корректирования уровня квантования, применяемого к множествам значений коэффициентов преобразования, от кадра к кадру цифровой видеопоследовательности. При этом видеокодер выполнен с возможностью применения к множествам коэффициентов преобразования для конкретного кадра фактического уровня квантования, который отличается от принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности. Преимуществом является то, что видеокодер, в соответствии с настоящим вариантом осуществления, дополнительно выполнен с возможностью представления фактического уровня квантования для использования в конкретном кадре в качестве разности по отношению к принимаемому по умолчанию уровню квантования и возможностью выдачи указания разности по отношению к принимаемому по умолчанию уровню квантования в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
В другом варианте осуществления, в соответствии с третьим аспектом настоящего изобретения, видеокодер дополнительно выполнен с возможностью группирования совокупности блоков, на которые разбит кадр цифровой видеопоследовательности, в по меньшей мере, один сегмент и с возможностью корректирования уровня квантования, применяемого к множествам значений коэффициентов преобразования, от сегмента к сегменту кадра. При этом видеокодер выполнен с возможностью применения к множествам коэффициентов преобразования для конкретного сегмента кадра фактического уровня квантования, который отличается от принимаемого по умолчанию уровня квантования для применения в течение всего процесса кодирования цифровой видеопоследовательности. Преимуществом является то, что видеокодер в соответствии с упомянутым другим вариантом осуществления дополнительно выполнен с возможностью представления фактического уровня квантования для использования в конкретном сегменте в качестве разности в отношении принимаемого по умолчанию уровня квантования и возможностью выдачи указания разности в отношении принимаемого по умолчанию уровня квантования в кодированном битовом потоке, представляющем цифровую видеопоследовательность.
В конкретном варианте осуществления видеокодер выполнен с возможностью выдачи указания принимаемого по умолчанию уровня квантования и указания того, что принимаемый по умолчанию уровень должен применяться для квантования всех множеств значений коэффициентов преобразования по всей цифровой видеопоследовательности.
Преимуществом является то, что видеокодер в соответствии с третьим аспектом настоящего изобретения размещен в мультимедийном терминале. В более предпочтительном варианте видеокодер реализован в устройстве радиосвязи.
В соответствии с четвертым аспектом настоящего изобретения предлагается декодер для декодирования кодированной цифровой видеопоследовательности с целью формирования декодированной цифровой видеопоследовательности. При этом цифровая видеопоследовательность содержит некоторое количество кадров, причем каждый кадр последовательности содержит массив пикселей и разбит на совокупность блоков, каждый блок содержит определенное количество пикселей, а кадры цифровой видеопоследовательности кодированы посредством применения к блокам пикселей предсказания с компенсацией движения с целью формирования соответствующих блоков значений ошибки предсказания, посредством применения к блокам значений ошибки предсказания метода кодирования с преобразованием с целью формирования множеств значений коэффициентов преобразования, представляющих упомянутые блоки значений ошибки предсказания, и посредством применения к множествам значений коэффициентов преобразования некоторого уровня квантования с целью формирования множеств квантованных значений коэффициентов преобразования, представляющие блоки значений ошибок предсказания. В соответствии с настоящим изобретением видеодекодер выполнен с возможностью задания принимаемого по умолчанию уровня обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности, чтобы выполнять обратное квантование множеств квантованных значений коэффициентов преобразования.
В соответствии с предпочтительным вариантом, принимаемый по умолчанию уровень обратного квантования идентичен принимаемому по умолчанию уровню квантования, использованному для квантования множеств значений коэффициентов преобразования при кодировании видеопоследовательности.
Преимуществом является то, что принимаемый по умолчанию уровень обратного квантования, заданный для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности, является специфическим для декодируемой кодированной видеопоследовательности.
Преимуществом является то, что видеодекодер выполнен с возможностью восстановления указания принимаемого по умолчанию уровня обратного квантования, в предпочтительном варианте, из битового потока, представляющего кодированную цифровую видеопоследовательность.
Преимуществом является то, что видеодекодер выполнен с возможностью восстановления указания принимаемого по умолчанию уровня обратного квантования в процессе декодирования цифровой видеопоследовательности, в предпочтительном варианте, посредством восстановления указания скорректированного принимаемого по умолчанию уровня квантования из битового потока, представляющего кодированную цифровую видеопоследовательность. В соответствии с другим вариантом видеодекодер выполнен с возможностью восстановления указания скорректированного принимаемого по умолчанию уровня квантования, переданного из устройства видеокодирования.
В соответствии с предпочтительным вариантом видеодекодер выполнен с возможностью корректирования уровня обратного квантования, применяемого к множествам квантованных значений коэффициентов преобразования, и применения фактического уровня обратного квантования к множествам квантованных значений коэффициентов преобразования, который отличается от принимаемого по умолчанию уровня обратного квантования. Преимуществом является то, что декодер выполнен с возможностью определения фактического уровня обратного квантования прибавлением разностного значения к принимаемому по умолчанию уровню обратного квантования, при этом разностное значение представляет собой разность между принимаемым по умолчанию уровнем обратного квантования и применяемым фактическим уровнем обратного квантования. В предпочтительном варианте осуществления видеодекодер выполнен с возможностью восстановления указания разностного значения из битового потока, представляющего кодированную цифровую видеопоследовательность.
В одном из вариантов осуществления, в соответствии с четвертым аспектом настоящего изобретения, видеодекодер выполнен с возможностью корректирования уровня обратного квантования, применяемого к множествам квантованных значений коэффициентов преобразования, от кадра к кадру цифровой видеопоследовательности и возможностью применения фактического уровня обратного квантования к множествам квантованных коэффициентов преобразования для конкретного кадра цифровой видеопоследовательности, при этом фактический уровень обратного квантования отличается от принимаемого по умолчанию уровня обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности. Преимуществом является то, что декодер выполнен с возможностью определения фактического уровня обратного квантования для использования в конкретном кадре посредством прибавления разностного значения, специфического для кадра, к принимаемому по умолчанию уровню обратного квантования, при этом разностное значение, специфическое для кадра, представляет собой разность между принимаемым по умолчанию уровнем обратного квантования и фактическим уровнем обратного квантования для использования на конкретном кадре. В предпочтительном варианте осуществления, видеодекодер выполнен с возможностью восстановления указания разностного значения, специфического для кадра, из битового потока, представляющего кодированную цифровую видеопоследовательность.
В другом варианте осуществления, в соответствии с четвертым аспектом настоящего изобретения, видеодекодер выполнен с возможностью декодирования кодированной видеопоследовательности, в которой совокупность блоков, на которые разбит кадр упомянутой цифровой видеопоследовательности, сгруппирована, по меньшей мере, в один сегмент, и дополнительно выполнен с возможностью корректирования уровня обратного квантования, применяемого к множествам квантованных значений коэффициентов преобразования, от сегмента кадра к сегменту кадра, и применения фактического уровня обратного квантования к множествам квантованных коэффициентов преобразования для конкретного сегмента кадра, при этом фактический уровень обратного квантования отличается от принимаемого по умолчанию уровня обратного квантования для применения в течение всего процесса декодирования кодированной цифровой видеопоследовательности. В соответствии с предпочтительным вариантом декодер выполнен с возможностью определения фактического уровня обратного квантования для использования в конкретном сегменте посредством прибавления разностного значения, специфического для сегмента, к принимаемому по умолчанию уровню обратного квантования, при этом разностное значение, специфическое для сегмента, представляет собой разность между принимаемым по умолчанию уровнем обратного квантования и фактическим уровнем обратного квантования для использования в конкретном сегменте. В соответствии с предпочтительным вариантом видеодекодер выполнен с возможностью восстановления указания разностного значения, специфического для сегмента, из битового потока, представляющего кодированную цифровую видеопоследовательность.
В соответствии с пятым аспектом настоящего изобретения предлагается мультимедийный терминал, содержащий кодер в соответствии с третьим аспектом настоящего изобретения.
В соответствии с шестым аспектом настоящего изобретения предлагается мультимедийный терминал, содержащий декодер, в соответствии с четвертым аспектом настоящего изобретения.
В соответствии с предпочтительным вариантом осуществления мультимедийный терминал в соответствии с пятым и/или шестым аспектами настоящего изобретения представляет собой мобильный мультимедийный терминал, выполненный с возможностью осуществления связи с сетями мобильной телекоммуникационной связи посредством радиосоединения.
Перечень фигур чертежей
Фиг.1 - формирование макроблока 16×16 в соответствии с предшествующим уровнем техники.
Фиг.2 - подразбиение изображения в формате QCIF на макроблоки 16×16 и группирование последовательных макроблоков в секции.
Фиг.3 - принципиальная блок-схема обобщенного видеокодера в соответствии с предшествующим уровнем техники.
Фиг.4 - принципиальная блок-схема обобщенного видеодекодера в соответствии с предшествующим уровнем техники и соответствующая кодеру, показанному на фиг.3.
Фиг.5 - принципиальная блок-схема видеокодера в соответствии с вариантом осуществления настоящего изобретения.
Фиг.6 - принципиальная блок-схема видеодекодера в соответствии с вариантом осуществления настоящего изобретения и соответствующая кодеру, показанному на фиг.5.
Фиг.7 - процесс декодирования в соответствии с одним из возможных вариантов осуществления настоящего изобретения, в котором параметры квантования (QP) для каждой секции получают суммированием параметра квантования последовательности (SQP) с разностными значениями QP, специфическими для секций (n).
Фиг.8 - принципиальная блок-схема мультимедийного терминала связи, в котором можно реализовать способ в соответствии с настоящим изобретением.
Подробное описание изобретения
В соответствии с предпочтительным вариантом осуществления настоящего изобретения параметр квантования (QP), специфический для видеопоследовательности, передают и используют как опорное значение при кодировании и декодировании фактических параметров квантования изображения/секции. При этом не обязательно передавать полное значение QP для каждого изображения/секции, а передают статистически меньшее разностное значение, которое применяется для восстановления QP изображения/секции, что обеспечивает снижение скорости передачи в битах.
Ниже приведено описание вариантов осуществления настоящего изобретения со ссылками на фиг.5-8.
На фиг.5 представлена принципиальная блок-схема видеокодера 600, выполненного в соответствии с предпочтительным вариантом осуществления настоящего изобретения. Схема построения видеокодера, показанного на фиг.5, по существу, аналогична схеме построения известного видеокодера, показанного на фиг.3, однако включает в себя соответствующие дополнения к составным частям видеокодера, которые выполняют операции, связанные с квантованием коэффициентов DCT-преобразования и передачей сигналов со значениями параметра квантования (QP), используемыми в процессе видеокодирования. Все составные части видеокодера, которые выполняют функции и действия идентично ранее описанному известному видеокодеру, обозначены идентичными позициями. Поскольку настоящее изобретение, в частности, касается передачи сигналов со значениями параметра квантования (QP) на уровне секции или кадра, в нижеследующем описании предполагается, что видеокодер 600 в соответствии с предпочтительным вариантом осуществления настоящего изобретения предназначен, в частности, для применения такого способа видеокодирования, в соответствии с которым кодируемые кадры видеопоследовательности разбивают на макроблоки и затем макроблоки группируют в секции, а указание параметра квантования выдается в начале каждого кадра и в начале каждой новой секции в кадре. Пример данного способа видеокодирования приведен в ранее упомянутой рекомендации по видеокодированию ITU-T H.26L, описание которой дано в документе: T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, Jan. 2002. В соответствии с другим вариантом осуществления способ можно применить в такой системе видеокодирования, в которой указание параметра квантования выдается только в начале кадра. Хотя нижеприведенное подробное описание составлено с конкретной целью показать применение способа в соответствии с настоящим изобретением для решения задачи указания параметров квантования уровня секции и передачи сигналов с данными параметрами, следует понимать, что способ можно совершенно аналогичным образом применить к представлению параметров квантования уровня кадра (изображения).
Ниже приведено подробное описание принципов действия видеокодера 600. При кодировании цифровой видеопоследовательности кодер 600 действует аналогично кодеру, ранее описанному в связи с фиг.3, чтобы формировать INTRA-кодированные и INTER-кодированные сжатые видеокадры. Согласно вышеприведенному описанию, в режиме INTRA-кодирования дискретное косинусное преобразование (DCT) выполняется в отношении каждого блока видеоданных (значений пикселей), чтобы сформировать соответствующий двумерный массив значений коэффициентов преобразования. Операция DCT выполняется в модуле 104 преобразования, а полученные в результате данной операции коэффициенты затем передаются в квантователь 106, где выполняется их квантование. В режиме INTER-кодирования, DCT-преобразование, выполняемое в модуле 104, относится к блокам значений ошибок предсказания. Коэффициенты преобразования, сформированные в результате данной операции, также передаются в квантователь 106, где выполняется также и их квантование.
В соответствии с настоящим изобретением, в начале кодирования новой видеопоследовательности кодер 600 задает принимаемый по умолчанию или опорный уровень квантования, который следует применять в течение всего процесса квантования видеопоследовательности для квантования значений DCT-коэффициентов, формируемых в квантователе 106. В нижеследующем описании упомянутый принимаемый по умолчанию или опорный уровень квантования именуется "параметром квантования уровня последовательности" или, сокращенно, SQP. Управление выбором SQP для заданной видеопоследовательности осуществляется модулем управления 660 и, например, этот выбор может быть сделан на основе свойств кодируемой последовательности и ширины полосы частот, доступной для передачи кодированного битового потока, формируемого кодером.
В соответствии с предпочтительным вариантом осуществления изобретения кодер 600 задает SQP как принимаемый по умолчанию или опорный уровень квантования для применения в режиме INTER-кодирования, т.е. в обстоятельствах, когда DCT-коэффициенты, сформированные в модуле 104 преобразования, представляют значения ошибки предсказания. Следует понимать, что способ в соответствии с настоящим изобретением можно также применять для квантования значений DCT-коэффициентов, сформированных в обычном режиме INTRA-кодирования, в котором не выполняется предсказание в пространственной области. Однако с учетом различия в происхождении коэффициентов преобразования в режимах INTRA-кодирования и INTER-кодирования (DCT-коэффициенты, полученные в режиме INTRA-кодирования, вычисляют с использованием значений пикселей, а DCT-коэффициенты, полученные в режиме INTER-кодирования, вычисляют посредством DCT-преобразования значений ошибки предсказания), вряд ли можно определить одно значение SQP, которое было бы оптимальным для квантования DCT-коэффициентов в режиме как INTRA-кодирования, так и INTER-кодирования. Поэтому в варианте осуществления, в котором способ в соответствии с настоящим изобретением применяют в режимах как INTRA-кодирования, так и INTER-кодирования, целесообразно использовать два значения SQP, а именно, одно, которое обеспечивает наиболее эффективное представление информации о значении QP в режиме INTRA-кодирования, а другое, которое обеспечивает наиболее эффективное представление значений QP в режиме INTER-кодирования. Во всех остальных отношениях способ в соответствии с настоящим изобретением можно применять совершенно аналогично в обоих режимах, т.е. INTRA-кодирования и INTER-кодирования. Конечно, в соответствии с другим вариантом осуществления можно определять одно значение SQP и использовать его в качестве параметра квантования уровня последовательности как для INTRA-кодированных, так и для INTER-кодированных кадров. Указанный подход является практически целесообразным, особенно в современных системах видеокодирования, например, в системе, описанной в документе: T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, Jan. 2002, где предсказание в пространственной области применяют к INTRA-кодированным макроблокам до того, как ошибку предсказания в режиме INTRA-кодирования кодируют с использованием DCT.
Следует дополнительно заметить, что, поскольку большинство кадров типичной видеопоследовательности кодированы как кадры в INTER-формате, то максимальное снижение скорости передачи данных в битах достигается применением способа в соответствии с настоящим изобретением к представлению значений QP в режиме INTER-кодирования. Следовательно, в соответствии с предпочтительным вариантом осуществления настоящего изобретения, используют лишь одно значение SQP, которое указывает принимаемый по умолчанию или опорный уровень квантования для применения при квантовании DCT-коэффициентов, представляющих значения ошибки предсказания в режиме INTER-кодирования.
После определения значения SQP для применения к последовательности модуль управления 660 выдает указание выбранного значения SQP по линии управления 122 в мультиплексный кодер 670 видеоданных, который, в свою очередь, вставляет указание значения SQP в битовый поток 635 кодированной видеоинформации, представляющей видеопоследовательность. В предпочтительном варианте упомянутое указание выдается в составляющем заголовок последовательности фрагменте битового потока 635 кодированных видеоданных.
Затем видеокодер 600 начинает кодировать видеопоследовательность. В соответствии с пояснениями, приведенными в связи с описанием известного кодера 100, изображенного на фиг.3, первый кадр кодируемой последовательности кодируется в INTRA-формате. Поскольку значение SQP, определяемое в соответствии с предпочтительным вариантом осуществления настоящего изобретения, является характерным для квантования значений DCT-коэффициентов, сформированных в режиме INTER-кодирования, то в режиме INTRA-кодирования работа кодера 600 совершенно аналогична работе известного видеокодера 100 и далее дополнительно подробно не рассматривается.
По окончании кодирования первого кадра модуль управления 660 переключает видеокодер 600 в режим INTER-кодирования. В режиме INTER-кодирования переключатель 102 действует так, чтобы принимать входной сигнал из линии 117, в которой присутствует выходной сигнал объединителя 116. Объединитель 116 принимает по макроблокам входной видеосигнал со входа 101 и формирует блок данных ошибки предсказания для каждого блока макроблока. Данные ошибки предсказания для каждого блока передаются в модуль 104 DCT-преобразования, который выполняет двумерное дискретное косинусное преобразование в отношении каждого блока значений ошибки предсказания с целью формирования двумерного массива коэффициентов DCT-преобразования для данного блока. Коэффициенты преобразования для каждого блока ошибки предсказания передаются затем в квантователь 106, который квантует их в соответствии с вышеизложенным с использованием параметра квантования QP. Далее процесс INTER-кодирования продолжается в соответствии с ранее приведенным описанием применительно к известному кодеру 100.
По мере приема каждого макроблока модуль управления 660 определяет, является ли макроблок, подвергающийся обработке на текущий момент, первым макроблоком секции. Если макроблок является таковым, то модуль управления определяет значение параметра квантования QP для применения при квантовании значений DCT-коэффициентов, сформированных модулем 104 DCT-преобразования. Следует отметить, что QP можно оценить на основании количества бит, выделяемых на кадр, количества бит, уже израсходованных в предыдущих секциях того кадра, и, возможно, количества бит, израсходованных на секции в предыдущем кадре. Выполнив упомянутую оценку, модуль управления 660 определяет разность () между ранее определенным значением параметра квантования SQP уровня последовательности и фактическим значением QP для применения к данной секции. Затем модуль управления передает указание данной разности по линии управления 624 в мультиплексный кодер 670 видеоданных, который далее включает указание разности в битовый поток 635. В предпочтительном варианте осуществления данное указание выдается в составляющем заголовок секции фрагменте битового потока 635 кодированных видеоданных, который содержит управляющую информацию, специфическую для рассматриваемой секции. Описанный процесс повторяется до тех пор, пока все секции текущего кадра не будут кодированы в формате INTER-кодирования, после чего видеокодер немедленно начинает кодировать следующий кадр видеопоследовательности.
Ниже со ссылкой на фиг.6 приведено описание видеодекодера 700, выполненного в соответствии с предпочтительным вариантом настоящего изобретения. Схема построения видеодекодера, показанного на фиг.6, по существу, аналогична схеме построения известного видеодекодера, показанного на фиг.4, однако включает в себя соответствующие дополнения к составным частям видеокодера, которые выполняют операции, связанные с обратным квантованием коэффициентов DCT-преобразования. Все составные части видеодекодера, которые выполняют функции и действия идентично ранее описанному известному видеодекодеру, обозначены идентичными позициями.
В настоящем описании предполагается, что видеодекодер, показанный на фиг.6, соответствует кодеру, описанному согласно фиг.5, и поэтому выполнен с возможностью приема и декодирования битового потока 635, передаваемого кодером 600. Согласно вышеприведенному описанию кодер 600 в соответствии с предпочтительным вариантом осуществления настоящего изобретения определяет параметр квантования SQP уровня последовательности для использования в режиме INTER-кодирования. Соответственно, декодер 700 выполнен с возможностью приема принимать указания значения данного SQP и использования параметра квантования SQP уровня последовательности при определении параметров обратного квантования для применения к блокам квантованных значений коэффициентов преобразования (представляющим значения ошибки предсказания), принятым в кодированном битовом потоке для INTER-кодированных кадров. В соответствии с другим вариантом осуществления настоящего изобретения идентичный процесс можно также применить к квантованным значениям коэффициентов преобразования, восстановленным из битового потока INTRA-кодированных кадров. Как следует из вышеизложенного, в соответствии с этим другим вариантом осуществления можно выдавать указание для двух значений SQP, одно из которых относится к INTRA-кодированным кадрам последовательности, а другое - к INTER-кодированным кадрам. В соответствии с еще одним иным вариантом осуществления, можно указывать единственный параметр квантования уровня последовательности для кадров, кодированных в режимах как INTRA-кодирования, так и INTER-кодирования.
Ниже приведено подробное описание принципов действия видеодекодера в соответствии с предпочтительным вариантом осуществления настоящего изобретения. Декодер 700 принимает битовый поток 635 и разделяет его на составляющие части. Данную операцию выполняет мультиплексный декодер 770 видеоданных.
В начале декодирования новой последовательности, мультиплексный декодер 770 видеоданных сначала восстанавливает информацию и параметры, связанные со всей последовательностью, из составляющего заголовок последовательности фрагмента принимаемого битового потока 635. Как следует из приведенного выше пояснения применительно к описанию кодера 600 в соответствии с предпочтительным вариантом осуществления настоящего изобретения, составляющий заголовок последовательности фрагмент битового потока изменен таким образом, чтобы передавать указание параметра квантования SQP уровня последовательности, использованного при квантовании значений DCT-коэффициентов, сформированных в режиме INTER-кодирования. Мультиплексный декодер видеоданных выделяет указание значения SQP из битового потока и, если данное значение кодировано, например, методом неравномерного кодирования, выполняет соответствующее декодирование, чтобы восстановить значение SQP. Затем мультиплексный декодер видеоданных передает значение SQP в модуль управления 760 декодера, который вводит данное значение в память декодера.
Затем видеодекодер 700 начинает декодировать кодированные кадры видеопоследовательности, при этом декодирование каждого кадра начинается сразу после того, как видеодекодер начинает принимать информацию, имеющую отношение к кадру в битовом потоке 635 видеоданных. Мультиплексный декодер 770 видеоданных выделяет управляющий сигнал включения режимов INTRA-/INTER-кодирования из информации типа видеоизображения, связанной с каждым сжатым видеокадром, принятым в кодированном битовом потоке 635, и передает упомянутый сигнал в модуль управления 760 по линии управления 215. Модуль управления 760 таким образом управляет работой декодера в зависимости от управляющего сигнала включения режимов INTRA-/INTER-кодирования, чтобы переключать декодер в правильный режим декодирования.
В соответствии с предпочтительным вариантом осуществления настоящего изобретения декодирование INTRA-кодированных кадров выполняется аналогично тому, как изложено выше в связи с функционированием известного видеодекодера 200. С другой стороны, декодирование INTER-кодированных кадров выполняется в соответствии с нижеприведенным описанием.
Когда модуль управления 760 принимает указание, выделенное из принятого битового потока мультиплексным декодером 770 видеоданных, о том, что следующий декодируемый кадр является INTER-кодированным кадром, модуль управления 760 переключает декодер 700 в режим INTER-кодирования. Как следует из пояснения применительно к описанию кодера 600 в соответствии с предпочтительным вариантом осуществления настоящего изобретения, в котором макроблоки каждого кадра группируются в секции, кодированный битовый поток 635 содержит определенную специфическую для секции управляющую информацию, которая содержит указание значения QP, специфического для секции, представленное в качестве значения QP разности в отношении параметра квантования SQP уровня последовательности. Преимуществом является то, что управляющая информация, конкретно относящаяся к каждой секции, выдается в битовом потоке в форме составляющего заголовок сегмента, специфического для рассматриваемой секции. При приеме данного фрагмента битового потока мультиплексный декодер видеоданных выделяет управляющую информацию, специфическую для секции, из составляющего заголовок секции фрагмента битового потока и передает указание для секции, восстановленное из битового потока, в модуль управления 760 по линии управления 717.
Затем модуль управления 760 определяет уровень обратного квантования для применения к квантованным DCT-коэффициентам макроблоков в секции. Данная операция выполняется объединением значения для секции со специфическим для последовательности параметром квантования SQP, принятым ранее и сохраненным в памяти декодера. В соответствии с ранее приведенным описанием, операция обратного квантования, выполняемая в декодере, состоит в умножении каждого квантованного DCT-коэффициента на величину, равную первоначально примененному уровню квантования, т.е. на значение QP, использованное в соответствующем кодере для квантования DCT-коэффициентов. Следовательно, в соответствии с предпочтительным вариантом осуществления настоящего изобретения, модуль управления 760 определяет уровень обратного квантования для макроблоков секции суммированием принятого значения для секции с SQP. Затем модуль управления передает данное значение в обратный квантователь 210 по линии управления 218.
По мере того, как кодированная информация для каждого макроблока секции принимается в битовом потоке 635, мультиплексный декодер 770 видеоданных отделяет кодированные данные ошибки предсказания для каждого блока макроблока от кодированных данных вектора движения. Упомянутый декодер восстанавливает квантованные коэффициенты DCT-преобразования, представляющие значения ошибки предсказания для каждого блока, и передает их в обратный квантователь 210. Затем обратный квантователь 210 выполняет обратное квантование квантованных DCT-коэффициентов в соответствии с QP секции, восстановленным по значениям и SQP модулем управления 760. Затем обратный квантователь передает обратно квантованные DCT-коэффициенты в модуль 220 обратного DCT-преобразования. Остающаяся часть процесса декодирования выполняется в соответствии с описанием, ранее приведенным в связи с известным видеодекодером 200.
Этапы приема специфического для секции значения, объединения с SQP и обратного квантования квантованных DCT-коэффициентов для каждого блока макроблоков в секции повторяют для каждой секции кадра, пока не завершится декодирование всех секций текущего INTER-кодированного кадра. С этого момента видеодекодер 700 начинает декодирование следующего кадра кодированной видеопоследовательности.
На фиг.7 изображен процесс, в ходе которого специфические для секции значения QP восстанавливаются в соответствии с предпочтительным вариантом осуществления настоящего изобретения. Как видно из фигуры, процесс содержит следующие этапы:
1. Выполняется восстановление параметра квантования (SQP) уровня последовательности;
2. Выполняется восстановление разностного параметра квантования () уровня изображения или секции;
3. Выполняется суммирование разностных параметров квантования с параметром квантования уровня последовательности с целью получения параметров квантования для изображения или секции;
4. Выполняется восстановление коэффициентов кодирования ошибки предсказания с помощью упомянутого параметра квантования изображения или секции.
На фиг.8 представлено терминальное устройство, содержащее оборудование видеокодирования и видеодекодирования, которое можно применить для выполнения операций в соответствии с настоящим изобретением. Точнее, на этой фигуре показан мультимедийный терминал 80, выполненный в соответствии с рекомендацией H.324 комитета ITU-T. Терминал можно рассматривать как мультимедийное приемопередающее устройство. Терминал содержит компоненты, которые собирают, кодируют и мультиплексируют потоки мультимедийных данных для передачи по сети связи, а также компоненты, которые принимают, демультиплексируют, декодируют и отображают принятую мультимедийную информацию. Рекомендация H.324 комитета ITU-T задает общие принципы действия терминала и содержит ссылки на другие рекомендации, которые регламентируют порядок работы различных составных частей терминала. Мультимедийный терминал указанного типа можно использовать в таких приложениях реального времени, как дуплексная видеотелефония, или в таких не соответствующих реальному масштабу времени приложениях как поиск и/или потоковая передача видеоклипов, например, из мультимедийного информационного сервера в сети Internet.
В связи с настоящим изобретением следует понимать, что терминал в соответствии со стандартом H.324, показанный на фиг.8, представляет собой лишь один из множества возможных вариантов реализации мультимедийного терминала, подходящих для применения способа, являющегося предметом изобретения. Следует также отметить, что существует большое число вариантов, связанных с размещением и исполнением терминального оборудования. Как видно из фиг.8, мультимедийный терминал можно разместить в аппаратуре связи, подсоединенной к телефонной сети с фиксированными линиями связи, например, к аналоговой коммутируемой телефонной сети общего пользования (PSTN). В данном случае, мультимедийный терминал оборудован модемом 91, соответствующим рекомендациям V.8, V.34 и, дополнительно, V.8bis комитета ITU-T. В соответствии с другим вариантом мультимедийный терминал можно подсоединить к внешнему модему. Модем позволяет преобразовывать мультиплексированные цифровые данные и управляющие сигналы, формируемые мультимедийным терминалом, в аналоговую форму, пригодную для передачи по сети PSTN. Кроме того, модем позволяет мультимедийному терминалу принимать данные и управляющие сигналы в аналоговой форме из сети PSTN и преобразовывать их в поток цифровых данных, который терминал может соответственно демультиплексировать и обрабатывать.
Мультимедийный терминал стандарта H.324 можно также выполнить так, чтобы его можно было подключать непосредственно к цифровой сети с фиксированными линиями связи, например, к сети ISDN (цифровая сеть с комплексными услугами служб). В данном случае модем 91 заменяют интерфейсом "пользователь - сеть" сети ISDN. На фиг.8, указанный интерфейс "пользователь - сеть" сети ISDN представлен альтернативным модулем 92.
Мультимедийные терминалы стандарта H.324 можно также выполнить в варианте для использования в приложениях мобильной связи. В случае использования в системе с беспроводной линией связи, модем 91 можно заменить любым соответствующим беспроводным интерфейсом, представленным альтернативным модулем 93 на фиг.8. Например, мультимедийный терминал стандарта H.324/M может содержать приемопередающее радиоустройство, позволяющее подключаться к сети мобильной телефонной связи современного 2-го поколения типа GSM или предлагаемой сети 3-го поколения типа UMTS (универсальная система мобильной связи).
Следует отметить, что в схеме мультимедийных терминалов, предназначенных для дуплексной связи, т.е. для передачи и приема видеоданных, целесообразно предусматривать как видеокодер, так и видеодекодер, выполненные в соответствии с настоящим изобретением. Упомянутую пару кодер/декодер часто выполняют в виде одного комбинированного функционального модуля, получившего название "кодек".
Ниже приведено подробное описание типичного мультимедийного терминала стандарта H.324 со ссылкой на фиг.8.
Мультимедийный терминал 80 содержит ряд компонентов, называемых "терминальным оборудованием". Данное оборудование включает в себя видео, звуковые и телемеханические устройства, в общем, обозначенные номерами 81, 82 и 83, соответственно. Видеооборудование 81 может содержать, например, видеокамеру для получения видеоизображений, монитор для отображения полученной видеоинформации и оборудование для оптической обработки видеоинформации. Звуковое оборудование 82 обычно содержит микрофон, например, для получения речевых сообщений, и акустическую систему для воспроизведения полученной звуковой информации. Звуковое оборудование может также содержать дополнительные блоки для обработки аудиоинформации. Телемеханическое оборудование 83 может содержать терминал ввода данных, клавиатуру, электронный "планшет" или приемопередатчик статических изображений, например, факс.
Видеооборудование 81 подсоединено к видеокодеку 85. Видеокодек 85 содержит видеокодер 600 и соответствующий видеодекодер 700, каждый из которых выполнен в соответствии с настоящим изобретением (см. фиг.5 и 6). Видеокодек 85 должен выполнять кодирование полученных видеоданных в соответствующий формат для последующей передачи по линии связи и декодирование сжатой видеоинформации, принятой из сети связи. В примере, показанном на фиг.8, видеокодек выполнен в соответствии с рекомендацией ITU-T H.26L, с внесением соответствующих изменений с целью осуществления способа в соответствии с настоящим изобретением как в кодере, так и в декодере видеокодека.
Звуковое оборудование терминала связано с аудиокодеком, обозначенным на фиг.8 позицией 86. Аналогично видеокодеку, аудиокодек содержит пару кодер/декодер. Аудиокодек преобразует аудиоданные, полученные звуковым оборудованием терминала в формат, подходящий для передачи по каналу связи, и преобразует кодированные аудиоданные, принятые из сети, обратно в формат, подходящий для воспроизведения, например, акустической системой терминала. Выходной сигнал аудиокодека передается в модуль задержки 87. Тем самым обеспечивается компенсация задержек, внесенных процессом видеокодирования, и, следовательно, синхронизация аудио- и видеоинформации.
Системный модуль управления 84 мультимедийного терминала управляет сигнализацией из оконечного устройства в сеть с использованием соответствующего управляющего протокола (сигнальный модуль 88), чтобы устанавливать общий режим работы для передающего и принимающего терминалов. Сигнальный модуль 88 осуществляет обмен информацией о характеристиках кодирования и декодирования передающего и принимающего терминалов и может служить для поддержки различных режимов кодирования видеокодера. Кроме того, системный модуль управления 84 управляет использованием средств шифрования данных. Информация, касающаяся типа шифрования для применения при передаче данных, пересылается из шифровального модуля 89 в мультиплексор/демультиплексор (модуль MUX/DMUX) 90.
При передаче данных из мультимедийного терминала, модуль MUX/DMUX 90 объединяет кодированные и синхронизированные потоки видео- и аудиоданных с входными данными из телемеханического оборудования 83 и возможными управляющими данными и, тем самым, формирует единый битовый поток. Информация, касающаяся типа шифрования данных (если шифрование выполняется) для применения в битовом потоке, выдаваемая шифровальным модулем 89, служит для выбора режима шифрования. Соответственно, когда принимается мультиплексированный и, возможно, шифрованный мультимедийный битовый поток, модуль MUX/DMUX 90 должен дешифровать битовый поток, разделять его на мультимедийные составляющие и передавать упомянутые составляющие в соответствующий(ие) кодек(и) и/или терминальное оборудование для декодирования и воспроизведения.
Если мультимедийный терминал 80 представляет собой мобильный терминал, т.е., если этот терминал оборудован приемопередающим радиоустройством 93, то специалистам в данной области техники очевидно, что он может содержать дополнительные компоненты. В соответствии с одним из вариантов осуществления указанный терминал содержит пользовательский интерфейс, включающий в себя дисплей и клавиатуру, которая дает пользователю возможность управлять работой мультимедийного терминала 80, центральный процессор, например, микропроцессор, который управляет модулями, ответственными за выполнение различных функций мультимедийного терминала, оперативное ЗУ (RAM), постоянное ЗУ (ROM) и цифровую видеокамеру. Рабочие команды микропроцессора, т.е. программный код, соответствующий базовым функциям мультимедийного терминала 80, хранятся в постоянном ЗУ (ROM) и могут исполняться в соответствии с необходимостью микропроцессором, например, под управлением пользователя. Микропроцессор в соответствии с программным кодом использует приемопередающее радиоустройство 93 для организации связи с сетью мобильной связи и тем самым дает возможность мультимедийному терминалу 80 передавать информацию и принимать информацию из сети мобильной связи по радиоканалу.
Микропроцессор отслеживает состояние пользовательского интерфейса и управляет цифровой камерой. В ответ на команду пользователя, микропроцессор предписывает камере записать цифровые изображения в RAM. После или в процессе получения изображения микропроцессор разбивает изображение на сегменты изображения (например, макроблоки) и использует кодер для кодирования сегментов с компенсацией движения, чтобы сформировать сжатую видеопоследовательность в соответствии с вышеизложенным. Пользователь может отдать мультимедийному терминалу 80 команду на отображение полученных изображений или на передачу сжатой видеопоследовательности с использованием приемопередающего радиоустройства 93 в другой мультимедийный терминал, видеотелефон, подключенный к сети с фиксированными линиями связи (сети PSTN) или какому-либо другому телекоммуникационному устройству. В предпочтительном варианте осуществления передача видеоданных начинается сразу же после кодирования первого сегмента, поэтому получатель может начинать соответствующий процесс декодирования с минимальной задержкой.
Выше настоящее изобретение описано применительно к конкретным вариантам осуществления, однако специалистам в данной области техники очевидна возможность внесения множества дополнений и различных изменений в приведенные в описании примеры. Следовательно, хотя настоящее изобретение подробно показано и описано на примере одного или нескольких предпочтительных вариантов его осуществления, специалистам в данной области техники очевидно, что в изобретение можно вносить некоторые дополнения или изменения, которые не выходят за вышеопределенные пределы объема и существа настоящего изобретения.
В частности, в соответствии со вторым возможным вариантом осуществления настоящего изобретения, QP последовательности не передают, а вместо QP последовательности используют постоянную величину, специфическую для последовательности.
В соответствии с третьим возможным вариантом осуществления настоящего изобретения, QP последовательности можно корректировать в зависимости от характеристик изменения видеопоследовательности, если существует надежный способ передачи нового QP последовательности. Скорректированное значение SQP можно либо включать в кодированный битовый поток, представляющий видеопоследовательность, либо можно передавать непосредственно из кодера в декодер в соответствующем управляющем канале.
В соответствии с четвертым возможным вариантом осуществления настоящего изобретения, если QP последовательности имеет постоянное значение для всей видеопоследовательности, то передают только значение QP последовательности с информацией о том, что его следует использовать как QP для всех изображений/секций.
Изобретение относится к системам кодирования цифровых видеосигналов и, в частности, к указанию значений параметров квантования (QP) в системе видеокодирования. Техническим результатом является повышение эффективности кодирования цифровых видеосигналов и снижение скорости передачи данных в битах. Указанный технический результат достигается за счет того, что предложен способ и устройство для кодирования цифровой видеопоследовательности, в которых указание параметра квантования (QP) выдается в кодированном битовом потоке для использования при декодировании. Указание информации, касающейся QP, обеспечивается вводом значения SQP-параметра квантования уровня последовательности. В частности, вместо кодирования абсолютных значений параметров квантования изображения/секции выдается указание разности AQP между параметром квантования SQP уровня последовательности и QP изображения/секции. 4 н. и 32 з.п. ф-лы, 8 ил.
УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕОСИГНАЛА, ПРЕДСТАВЛЯЮЩЕГО ИЗОБРАЖЕНИЯ, ПРИЕМНИК ТЕЛЕВИЗИОННОГО СИГНАЛА, ВКЛЮЧАЮЩЕГО ДАННЫЕ ЗАГОЛОВКОВ И ПОЛЕЗНЫЕ ДАННЫЕ В ВИДЕ СЖАТЫХ ВИДЕОДАННЫХ | 1992 |
|
RU2128405C1 |
Измеритель линейных перемещений | 1983 |
|
SU1113672A1 |
WO 9810592 A1, 12.03.1998 | |||
US 6005982 A, 21.12.1999 | |||
Состав сварочной проволоки | 1980 |
|
SU903042A1 |
US 6256349 B1, 03.07.2000 | |||
US 5715009 A, 03.02.1998 | |||
US 5144426 A, 01.09.1992 | |||
US 5751358 A, 12.05.1998 | |||
US 5045103 A, 01.10.1991. |
Авторы
Даты
2008-04-20—Публикация
2003-04-23—Подача