Способ для кодирования последовательности целых чисел, устройство хранения и сигнал, переносящий кодированную последовательность целых чисел, а также способ декодирования последовательности целых чисел



Способ для кодирования последовательности целых чисел, устройство хранения и сигнал, переносящий кодированную последовательность целых чисел, а также способ декодирования последовательности целых чисел
Способ для кодирования последовательности целых чисел, устройство хранения и сигнал, переносящий кодированную последовательность целых чисел, а также способ декодирования последовательности целых чисел
Способ для кодирования последовательности целых чисел, устройство хранения и сигнал, переносящий кодированную последовательность целых чисел, а также способ декодирования последовательности целых чисел
Способ для кодирования последовательности целых чисел, устройство хранения и сигнал, переносящий кодированную последовательность целых чисел, а также способ декодирования последовательности целых чисел

 


Владельцы патента RU 2510573:

ТОМСОН ЛАЙСЕНСИНГ (FR)

Изобретение относится к способу кодирования последовательности целых чисел, к устройству хранения и к сигналу, переносящему такую кодированную последовательность, а также к способу декодирования этой кодированной последовательности. Упомянутый способ содержит этапы идентификации смежной подпоследовательности в последовательности целых чисел, при этом упомянутая подпоследовательность содержит взаимосвязанные целые числа, имеющие одинаковый префикс, будучи кодированной с переменной длиной, и независимое последнее целое число, и формирования кода для смежной подпоследовательности с помощью кода для индикации относительно числа взаимосвязанных целых чисел в упомянутой смежной подпоследовательности, кода индикатора префикса и суффиксов кодов переменной длины целых чисел в смежной подпоследовательности. Таким образом, если есть n целых чисел, каждое из которых закодировано с помощью одного префикса, то вместо n отдельных префиксов для целых чисел одного префикса для смежной подпоследовательности достаточно. Технический результат - повышение эффективности кодирования, связанное с произвольными вычислительными последовательностями. 5 н. и 10 з.п. ф-лы, 4 ил., 5 табл.

 

Уровень техники

Данное изобретение относится к способу кодирования последовательности целых чисел, а также к сигналу или носителю хранения данных, переносящему кодированную последовательность целых чисел. Изобретение дополнительно относится к способу декодирования кодированной последовательности целых чисел.

В кодировании переменной длины (VLC) целые числа кодируются посредством префикса и суффикса. Например, суффикс содержит варьирующееся число битов, переносящих двоичные кодированные рабочие данные. Далее, префикс содержит унарный код, представляющий число битов, которые содержатся в соответствующем суффиксе. Унарный код представляет число посредством соответствующего числа битов с одинаковым значением. Таким образом, половина битов, используемых для кодирования целого числа, используется для префикса.

В последовательностях целых чисел, содержащих много смежных подпоследовательностей целых чисел значения по умолчанию, за которыми следуют отдельные вхождения целых чисел с другим значением, упомянутая последовательность может быть представлена посредством кода переменной длины каждого из упомянутых других значений, которым предшествует представление кода переменной длины серии, т.е. число раз, когда упомянутое значение по умолчанию встречается в смежной подпоследовательности, предшествующей кодированному другому значению. Необязательно, коду может предшествовать представление кода переменной длины упомянутого значения по умолчанию. Это называется кодированием уровней серий.

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

Предпринимаются усилия для того, чтобы повысить эффективность кодирования, связанную с произвольными целочисленными последовательностями.

Сущность изобретения

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

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

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

В варианте осуществления упомянутый индикатор префикса указывает упомянутый одинаковый префикс, который также является префиксом кода переменной длины независимого последнего целого числа.

В другом варианте осуществления упомянутый одинаковый префикс - это префикс по умолчанию, а упомянутый индикатор префикса указывает другой префикс, который является префиксом кода переменной длины независимого последнего целого числа.

В еще одном варианте осуществления способ дополнительно содержит включение двоичного представления упомянутого префикса по умолчанию в упомянутую модифицированную двоичную последовательность.

В еще одном варианте осуществления упомянутая последовательность целых чисел связана с последовательностью кодированных значений рабочих данных, причем упомянутые целые числа указывают длину полей данных, переносящих упомянутые кодированные значения рабочих данных.

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

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

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

В варианте осуществления упомянутого сигнала или носителя хранения данных другие кодированные целые числа рабочих данных могут быть декодированы из других суффиксов с помощью префикса по умолчанию.

В дополнительном варианте осуществления упомянутого сигнала или носителя хранения данных кодированные целые числа рабочих данных - это синтаксические элементы, ассоциативно связанные с макроблоками, содержащимися в серии последовательных макроблоков кадра.

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

В варианте осуществления упомянутого способа декодирования упомянутый префикс остатка равняется упомянутому префиксу.

В другом варианте осуществления упомянутого способа декодирования префикс остатка - это префикс по умолчанию.

В дополнительном варианте осуществления упомянутого способа декодирования кодированные целые числа в последовательности указывают размеры поля рабочих данных последовательности полей рабочих данных.

В еще одном дополнительном варианте осуществления упомянутого способа декодирования упомянутые поля рабочих данных переносят закодированные синтаксические элементы различных типов, ассоциативно связанных с макроблоками, содержащимися в серии последовательных макроблоков кадра.

В еще дополнительном варианте осуществления упомянутого способа декодирования упомянутые закодированные целые числа - это закодированные синтаксические элементы одного типа, и они ассоциативно связаны с макроблоками серии последовательных макроблоков кадра для последовательности кодированных видеокадров.

Дополнительные изобретаемые аспекты очевидны из чертежей, описания и формулы изобретения.

Краткое описание чертежей

Примерные варианты осуществления изобретения проиллюстрированы на чертежах и подробнее поясняются в нижеследующем описании.

На чертежах:

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

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

фиг.3 иллюстрирует блок-схему последовательности операций примерного варианта осуществления изобретаемого способа, использующего кодирование длин серий для префиксов, и

фиг.4 иллюстрирует блок-схему последовательности операций примерного варианта осуществления изобретаемого способа, использующего кодирование уровней серий для префиксов.

Примерные варианты осуществления

Ниже таблица 1 представляет параметризуемые VLC-коды согласно Голомбу, как опубликовано в Golomb, S.W. "Run-length encodings", IEEE Trans. Inf. Theory, 1966, 7 (12): 399-401. Параметр указывает, с какой начальной длины суффикса начинается код. Эта начальная длина суффикса продлевается на число нулей в унарном префиксе. Первый столбец таблицы показывает различные параметры a, второй столбец представляет различные диапазоны кодовых слов в зависимости от упомянутого параметра, а последний столбец показывает диапазон значений, кодированных с упомянутыми диапазонами кодовых слов.

Таблица 1
Экспоненциальные коды Голомб
Порядок Экспоненциальный код Голомба Кодовый номер
1 0
0 1 x0 1-2
a=0 0 0 1 x1 x0 3-6
0 0 0 1 x2 x1 x0
............
7-14
............
1 x0 0-1
0 1 x1 x0 2-5
a=1 0 0 1 x2 x1 x0 6-13
0 0 0 1 x3 x2 x1 x0
............
14-29
............
1 x1 x0 0-3
0 1 x2 x1 x0 4-11
a=2 0 0 1 x3 x2 x1 x0 12-27
0 0 0 1 x4 x3 x2 x1 x0
............
28-59
............

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

Вторая строка таблицы на фиг.1 содержит целые числа первой строки, записанные в двоичной форме, в которых старший бит (MSB) опущен. MSB может быть опущен, поскольку он может быть выведен из префикса, дополнительно содержащегося в конечном коде. Таким образом, нет кода во второй строке для значения 1, содержащегося в первой строке. Это указывается посредством [] во второй строке.

Как очевидно из третьей строки, хотя нет двух целых чисел с одинаковым значением, следующих друг за другом, есть смежные серии целых чисел, требующих одинакового числа битов для двоичного представления без MSB.

Четвертая строка таблицы иллюстрирует код длин серий различных чисел битов, требуемых для двоичного представления без MSB примерных целых чисел. Упомянутый код длин серий иллюстрируется как запись в скобках. В скобках содержится пара десятичных значений, при этом первое значение представляет число вхождений, уменьшенное на 1, поскольку число вхождений равно, по меньшей мере, одному. А второе значение представляет число битов, используемое для двоичного представления без MSB. Например, первые две скобки слева, (0, 2) (0, 1), представляют, что за одним полем данных из 2 битов следует одно поле данных из 1 бита.

Пятая строка таблицы иллюстрирует код уровней серий различных чисел битов, требуемых для двоичного представления без MSB примерных целых чисел. Также используется запись в скобках. В скобках содержится пара десятичных значений, при этом первое значение представляет неуменьшенное число смежных вхождений числа битов по умолчанию, составляющее 2 бита в этом примере, а второе значение представляет другое число битов, завершающее упомянутые смежные вхождения числа битов по умолчанию. Число смежных вхождений числа битов по умолчанию может быть 0, и таким образом оно не уменьшается. В рамках примера значение по умолчанию равно 2. Таким образом, первые две скобки, (1, 1) и (6, 3), представляют, что за одним полем данных с 2 битами, числом битов по умолчанию, следует одно поле данных с 1 битом, и поле данных с 3 битами следует за последовательностями из 6 полей данных, каждое из которых кодировано с помощью 2 битов.

Две строки ниже таблицы на фиг.1 представляют примерный вариант осуществления изобретаемого кода по длине серий примерной целочисленной последовательности на основе кодирования экспоненциальным кодом Голомба. Код последовательности начинается с VLC-представления экспоненциального кода Голомба (0, 2). Оно формирует префикс последовательности одного поля рабочих данных с длиной 2. Префикс подчеркнут на фиг.1 для иллюстрации. Одно поле рабочих данных переносит двоичное представление самого первого целого числа, т.е. значения 4 как двоичное число, представленное как 100, при этом MSB опущен, поскольку он может быть выведен из префикса, имеющего результатам представление значения 4 как 00. Далее идет следующий префикс, снова подчеркнутый для иллюстрации. Этот следующий префикс является префиксом последовательности одного поля рабочих данных с длиной 1, следовательно, он формируется из VLC-представлений с помощью экспоненциального кода Голомба (0, 1). За ним следует упомянутое одно поле рабочих данных из 1 бита, переносящее значение 3 в двоичном представлении, в котором снова опущен MSB. После этого смежным со следующим префиксом является двоичное представление шести целых чисел, представленных как 2 бита, и одного целого числа, представленного как 3 бита. И так далее.

Две самые последние строки на фиг.1 представляют другой примерный вариант осуществления изобретаемого кода примерной целочисленной последовательности на основе кодирования экспоненциальным кодом Голомба. Код последовательности начинается слева с префикса последовательности 011, являющегося VLC-представлением с помощью экспоненциального кода Голомба значения по умолчанию, которое равно 2 в этом другом примере. Затем следуют VLC-представления с помощью экспоненциального кода Голомба в 1 и 1, представляющие (1, 1). Это формирует префикс последовательности двух полей рабочих данных, первого поля рабочих данных с длиной по умолчанию в 2 и второго поля рабочих данных с длиной в 1. Префикс подчеркнут на фиг.1 для иллюстрации. Эти два поля рабочих данных переносят двоичные представления первых двух целых чисел, т.е. значения 4 и 3 представляются как 0 0 и 1. Далее идет следующий префикс, снова подчеркнутый для иллюстрации. Этот следующий префикс является префиксом последовательности из 6 полей рабочих данных с длиной по умолчанию в 2, за которым следует одно поле рабочих данных с длиной в 3. После этого смежным со следующим префиксом является двоичное представление шести целых чисел, представленных как 2 бита, и одного целого числа, представленного как 3 бита.

Если последовательность завершается смежной подпоследовательностью целых чисел, каждое из которых закодировано с числом битов по умолчанию, последний префикс (серия, уровень) может представлять в качестве уровня значение по умолчанию. Уровень, равняющийся значению по умолчанию, указывает завершение в декодере целочисленной последовательности после следующей серии целых чисел, закодированных с числом битов по умолчанию.

Ниже таблица 2 представляет так называемые гибридные VLC-коды согласно Голомбу, как опубликовано в Golomb, S.W. "Run-length encodings", IEEE Trans. Inf. Theory, 1966, 7 (12): 399-401.

Таблица 2
Гибридный код Голомба
n Гибридный код Голомба
0 1
1 01
2 0010
3 00110
4 00111
5 000100
6 000101
7 000110
8 0001110
9 0001111
10 00001000

Кодирование примерной целочисленной последовательности по фиг.1 на основе гибридного кодирования кодом Голомба поясняется с помощью фиг.2.

Вторая строка таблицы на фиг.2 содержит суффиксы гибридного кода Голомба целых чисел первой строки, в которых старший бит (MSB) опущен. MSB может быть опущен, поскольку он может быть выведен из префикса, дополнительно содержащегося в конечном коде. Таким образом, нет кода во второй строке для значения 1, содержащегося в первой строке. Это указывается посредством [] во второй строке.

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

Четвертая строка таблицы на фиг.2 иллюстрирует код длин серий различных префиксов, требуемых для представления гибридным кодом Голомба без MSB примерных целых чисел. Упомянутый код длин серий иллюстрируется как запись в скобках. В скобках содержится пара десятичных значений, при этом первое значение представляет число вхождений, уменьшенное на 1, поскольку число вхождений равно, по меньшей мере, одному. А последнее значение представляет длину префикса гибридного кода Голомба, уменьшенную на один, поскольку длина префикса составляет, по меньшей мере, один. Например, первые две скобки слева, (1, 1) и (1, 2), представляют, что за двумя суффиксами гибридных кодов Голомба с 2-битовым префиксом следуют два суффикса гибридных кодов Голомба с 3-битовым префиксом.

Пятая строка таблицы на фиг.2 иллюстрирует код уровней серий различных префиксов, требуемых для представления гибридным кодом Голомба без MSB примерных целых чисел. Также используется запись в скобках. В скобках содержится пара десятичных значений, при этом первое значение представляет неприведенное число смежных вхождений префикса по умолчанию, являющегося 3-битовым префиксом в этом другом примере, а второе значение представляет другую длину префикса, завершающую упомянутые смежные вхождения числа битов по умолчанию. Поскольку упомянутая другая длина префикса равна, по меньшей мере, 1, последнее значение на 1 меньше, чем упомянутая другая длина префикса. Число смежных вхождений числа битов по умолчанию может быть 0, и таким образом оно не уменьшается. В рамках примера длина префикса по умолчанию равна 3. Таким образом, первые две скобки, (1, 1) и (6, 3), представляют, что за одним полем данных с 2 битами, числом битов по умолчанию, следует одно поле данных с 1 битом, и поле данных с 3 битами следует за последовательностями из 6 полей данных, каждая из которых кодирована с 2 битами.

Две строки внизу таблицы на фиг.2 представляют примерный вариант осуществления изобретаемого кода по длине серий примерной целочисленной последовательности. Код последовательности начинается с VLC-представления с помощью гибридного кода Голомба (1, 1). Оно формирует префикс последовательности двух суффиксов гибридных кодов Голомба без MSB. Префикс подчеркнут на фиг.2 для иллюстрации. Два суффикса переносят двоичное представление первого и второго целого числа, т.е. значение 4 представляется в гибридном кодировании кодом Голомба посредством суффикса 111, в котором MSB опущен, поскольку он может быть выведен из префикса, имеющего результатом представление значения 4 как 11. Следующее значение 3 представляется в гибридном кодировании кодом Голомба посредством суффикса 110, в котором MSB опущен, поскольку он может быть выведен из префикса, имея результатом представление значения 3 как 10. Далее идет следующий префикс, снова подчеркнутый для иллюстрации. Этот следующий префикс является префиксом последовательности из двух суффиксов с соответствующим префиксом длиной в 2, следовательно, он формируется из VLC-представлений с помощью экспоненциального кода Голомба (1, 2). За ним следуют упомянутые два одиночных суффикса 00 и 01, являющиеся суффиксами представлений с помощью гибридного кода Голомба целых чисел 5 и 6, в которых MSB снова опущен. И так далее.

Две самые последние строки на фиг.2 представляют другой примерный вариант осуществления изобретаемого кода примерной целочисленной последовательности на основе кодирования гибридным кодом Голомба. Код последовательности начинается слева с префикса последовательности 00110, являющегося VLC-представлением с помощью гибридного кода Голомба значения по умолчанию, которое равно 3 в этом другом примере. Затем следуют VLC-представления с помощью гибридного кода Голомба в 0 и 1, представляющие (0, 1). Они формируют префикс последовательности одного суффикса, представляющего первое целочисленное значение в последовательности, т.е. 11, представляющее 4, в котором MSB опущен. Кроме того, (0, 1) - это VLC-представление с помощью гибридного кода Голомба, за которым следует 10, являющееся суффиксом гибридного кода Голомба для целого числа 3, в котором MSB опущен. Далее идет следующий префикс, снова подчеркнутый для иллюстрации. Этот следующий префикс является префиксом последовательности из 2 суффиксов с соответствующей длиной префикса по умолчанию в 3, за которым следует один суффикс, соответствующий длине префикса в 2. После этого смежными с упомянутым следующим префиксом являются 2 суффикса гибридных кодов Голомба, представляющие 2 целых числа, имеющих 3-битовый префикс, и суффикс, представляющий одно целое число, имеющее 2-битовый префикс. И так далее.

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

В H.264/AVC изображения обычно кодируются по сериям последовательных макроблоков. Каждая серия последовательных макроблоков является независимой и содержит большое число макроблоков (MB). Подробно, предусмотрено много синтаксических элементов, которые должны быть закодированы в каждом макроблоке. Например, таблица 3 показывает основные синтаксические элементы, которые должны быть кодированы в базовой конфигурации H.264/AVC.

Таблица 3
Базовые синтаксические элементы H.264/AVC
Синтаксический элемент Способ кодирования
mb_type ue (v)
coded_block_pattern me (v)
mb_qp_delta se (v)
intra4x4_pred_mode (prev_intra4x4_pred_mode_flag, rem_intra4x4_pred_mode) u(1)
u(3)
Intra_chroma_pred_mode ue (v)
coeff_token ce (v)
trailing_ones_sign_flag u(1)
level_prefix ce (v)
level_suffix u (v)
total_zeros ce (v)
run_before ce (v)
mvd se (v)
ref te (v)

Когда entropy_coding_mode равняется 0, кодирование переменной длины используется согласно таблице 1 или таблице 2. Тем не менее, основной недостаток VLC-кодирования по H.264/AVC заключается в том, что каждый синтаксический элемент кодируется отдельно, и он не изучает избыточность между различными VLC-кодами.

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

Этот примерный вариант осуществления изобретения содержит следующие этапы.

Этап 1. Кодирование изображения/видео с помощью метода H.264/AVC.

Этап 2. Реорганизация потока битов в рамках одной серии последовательных макроблоков в следующий формат:

mb_type (MB 1), mb_type (MB 2),..., mb_type (MB n)

coded_block_pattern (MB 1), coded_block_pattern (MB 2),..., coded_block_pattern (MB n)

............

run_before (MB 1), run_before (MB 2),...,

run_before (MB n).

Этап 3. Кодирование всех префиксов одного синтаксического элемента всех макроблоков в рамках одной серии последовательных макроблоков посредством способа кодирования длин серий или способа кодирования уровней серий.

Этап 2 может быть выполнен до этапа 1.

Пример способа кодирования для mb_type с помощью длины серии показан в таблице 4:

Таблица 4
Примерный вариант осуществления изобретаемого кодирования длин серий
for(i=0; i<total_mb_in_slice; i=i+run mb_type_minus1+1) {
run_mb_type_minus1 ue (v)
length_mb_type_minus1 ue (v)
for(j=0;
j<run_mb_type_minus1+1; j++) {
suffix_mb_type
}
}

Блок-схема последовательности операций упомянутого примера способа кодирования для mb_type с помощью уровней серий проиллюстрирована на фиг.3.

На этапе инициализации INITi параметр счетчика i инициализируется как 0. Кроме того, инициализируется пустая строка битов. Затем на этапе INITj дополнительный параметр счетчика j инициализируется как 0. После этого на этапе принятия решения TEST1 определяется то, удовлетворяет ли или превышает i общее количество макроблоков в серии последовательных макроблоков. Если да, способ переходит к этапу END. В противном случае способ продолжается с этапом INCi, увеличивая параметр счетчика i на 1. Затем этап принятия решения TEST2 выполняется, определяя то, содержит ли двоичное представление определенного синтаксического параметра, связанного с макроблоком (i), то же самое число битов, как двоичное представление определенного синтаксического параметра, связанного с макроблоком (i-1). Если да, параметр счетчика j увеличивается на 1 на этапе INCj до того, как способ возвращается к этапу принятия решения TEST1. В противном случае способ продолжается с кодированием переменной длины текущего значения параметра счетчика j на этапе VLC (j) и с добавлением упомянутого кода к упомянутой строке битов. Далее, представление кода переменной длины для числа битов, требуемых для двоичного представления значения упомянутого определенного синтаксического параметра для макроблока (i-1), уменьшенное на 1, добавляется на этапе VLC(L(i-1)-1). На следующем этапе INITk еще один дополнительный параметр счетчика k инициализируется как i-j-1. Затем двоичное представление значения упомянутого определенного синтаксического параметра для макроблока (k) добавляется к упомянутой строке битов на этапе BIN(SP(k)). За этим этапом следует этап INCk увеличения k. После увеличения k на 1 проверяется на этапе принятия решения TEST3 то, является ли k по-прежнему меньше, чем i. Если да, способ возвращается к этапу BIN(SP(k)). Если нет, способ возвращается к этапу INITj.

Пример способа кодирования для mb_type с помощью уровней серий показан в таблице 5:

Таблица 5
Примерный вариант осуществления изобретаемого кодирования уровней серий
for(i=0; i<total_mb_in_slice;
i=i+run_mb_type_default) {
run_mb_type_default_length ue (v)
length_mb_type_other_length ue (v)
for(j=0; j<run_mb_type_default; j++) {
suffix_mb_type_default length
}
Suffix_mb_type_other_length
}

Блок-схема последовательности операций упомянутого примера способа кодирования для mb_type с помощью уровней серий проиллюстрирована на фиг.4.

На этапе инициализации INITi параметр счетчика i инициализируется как 0. Кроме того, инициализируется пустая строка битов. Затем на этапе INITj дополнительный параметр счетчика j инициализируется как 0. После этого, на этапе принятия решения TEST1 определяется то, удовлетворяет ли или превышает i общее количество макроблоков в серии последовательных макроблоков. Если да, способ переходит к этапу END. В противном случае способ продолжается с этапом INCi, увеличивая параметр счетчика i на 1. После этого выполняется этап принятия решения TEST2, определяющий то, равняется ли число битов, используемых для двоичного представления определенного синтаксического параметра, связанного с макроблоком (i), числу битов по умолчанию. Если да, параметр счетчика j увеличивается на 1 на этапе INCj до того, как способ возвращается к этапу принятия решения TEST1. В противном случае способ продолжается с кодированием переменной длины параметра счетчика j на этапе VLC (j) и с добавлением упомянутого кода к упомянутой строке битов. Далее, представление кода переменной длины для числа битов, требуемых для двоичного представления значения упомянутого определенного синтаксического параметра для макроблока (i), добавляется на этапе VLC(L(i)). На следующем этапе INITk другой параметр счетчика k инициализируется как i-j-1. Затем двоичное представление значения упомянутого определенного синтаксического параметра для макроблока (k) добавляется на этапе BIN(SP(k)). За этим этапом следует этап INCk увеличения k. После увеличения k на 1 проверяется на этапе принятия решения TEST3 то, является ли k по-прежнему меньше, чем i. Если да, способ возвращается к этапу BIN(SP(k)). Если нет, способ возвращается к этапу INITj.

Некоторые виды или все виды других синтаксических элементов также могут быть кодированы аналогичным способом.

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

Исходные VLC-коды синтаксического элемента intra4x4_pred_mode последовательных блоков после кодирования H.264/AVC требуют того, чтобы длина VLC-кодов для этого синтаксического элемента была 1 или 4. Таким образом, кодирование уровней серий упомянутых длин считается выгодным.

Таблица 2D-VLC может использоваться для того, чтобы дополнительно кодировать пары (серия, уровень). Подробный способ кодирования может быть таким же, как способ кодирования (серия, уровень) для коэффициентов DCT в MPEG-2.

В декодере сначала декодируются префиксы синтаксического элемента. Если длина префикса равна 1, то нет суффикса. В противном случае при условии, что длина префикса равна x (1<x<=4), то длина его суффикса равна 4-x. Длина VLC-кодов для этого синтаксического элемента должна быть равна 1 или 4. Если 0000 появляется в VLC-коде, то префикс может рассматриваться как 5, и декодер может распознавать его без суффикса.

В целом, дополнительный способ кодирования для префиксов последовательности VLC-кодов может быть любым другим способом, к примеру, CAVLC в H.264/AVC, чтобы уменьшать избыточность в рамках группы VLC-кодов.

Изобретение вводит некоторое время задержки, а также требования по памяти и обработке, которые, как считается, компенсируются усовершенствованиями, достигнутыми в отношении степени сжатия без потерь.

Пример изобретения относится к кодированию группы сигналов в последовательность VLC-кодов и дополнительно к кодированию префиксов группы VLC-кодов, чтобы удалить статистическую избыточность среди префиксов этих VLC-кодов. В примерном варианте осуществления изобретаемый способ кодирует префиксы числа VLC-кодов согласно кодированию длин серий, при этом серия упоминается как число вхождений VLC-кодов, которые имеют одинаковую длину префикса. Длина упоминается как число битов, из которых состоит префикс. Префикс состоит из нескольких последовательных битов со значением нуль, за которым следует бит в единицу, который может быть старшим битом суффикса. Либо префикс формируется посредством нескольких последовательных 1 плюс 0.

Вместо кодирования длин серий может быть выполнено кодирование (серия-1)-(длина-1), поскольку серия составляет, по меньшей мере, 1, и длина также составляет, по меньшей мере, 1. Кодирование пары (серия-1, длина-1) может быть достигнуто посредством поиска в таблице поиска 2D VLC.

Префиксы числа VLC-кодов могут быть кодированы с помощью типа кодирования (серия, уровень). При этом серия подсчитывает число последовательных VLC-кодов, длина префикса которых принимает значение по умолчанию, например 1. Также уровень представляет длину префикса последующего VLC-кода, длина префикса которого отличается от упомянутого значения по умолчанию. Пара (серия, уровень) может быть кодирована посредством поиска в таблице 2D-VLC как кодирование DCT-коэффициентов в MPEG-2. Кодирование (серия, уровень) может также использовать другие способы, такие как CAVLC в H.264/AVC.

Кодовые слова одного типа синтаксического элемента различных макроблоков в рамках одной серии последовательных макроблоков/изображения/кадра при кодировании изображений/видео могут быть кодированы любым изобретаемым способом.

Кодируют группы сигналов в последовательность VLC-кодов и дополнительно кодируют префиксы нескольких VLC-кодов посредством кодирования длин серий, чтобы формировать новые VLC-коды, а затем дополнительно кодируют префиксы этих новых VLC-кодов посредством кодирования длин серий. Таким образом, используют кодирование длин серий для того, чтобы кодировать префиксы несколько кодовых слов итерационно.

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

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

3. Способ по п.1, в котором упомянутый одинаковый префикс является префиксом по умолчанию, а упомянутый индикатор префикса указывает другой префикс, который является префиксом кода переменной длины независимого последнего целого числа.

4. Способ по п.3, дополнительно содержащий этап, на котором включают двоичное представление упомянутого префикса по умолчанию в упомянутую модифицированную двоичную последовательность.

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

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

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

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

9. Носитель хранения данных по п.8, в котором другие кодированные целые числа рабочих данных могут быть декодированы из других суффиксов с помощью префикса по умолчанию.

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

11. Способ по п.10, в котором упомянутый префикс остатка равен упомянутому префиксу.

12. Способ по п.11, в котором префикс остатка является префиксом по умолчанию.

13. Способ по одному из пп.10-12, в котором кодированные целые числа в последовательности указывают размеры полей рабочих данных последовательности полей рабочих данных.

14. Способ по п.13, в котором упомянутые поля рабочих данных переносят закодированные синтаксические элементы различных типов, ассоциативно связанных с макроблоками, содержащимися в серии последовательных макроблоков кадра.

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



 

Похожие патенты:

Изобретение относится к области техники радиосвязи и может быть использовано для стереофонического и монофонического радиовещания. .

Изобретение относится к способу предварительного кодирования, а также к системе и способу построения кодовой книги предварительного кодирования в системе со многими входами и многими выходами (MIMO).

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

Изобретение относится к устройству и способу обработки аудиосигнала для эффективного кодирования и декодирования различных типов аудиосигналов. .

Изобретение относится к области электросвязи, а именно к области криптографических устройств и способов проверки электронной цифровой подписи (ЭЦП). .

Изобретение относится к способу передачи информации по цифровым каналам связи. .

Изобретение относится к средствам кодирования/декодирования спектра модифицированного дискретного косинусного преобразования. .

Изобретение относится к области цифровой связи, а именно к методам быстрого поиска в кодовой книге при векторном квантовании данных. .

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

Изобретение относится к средствам кодирования с использованием сокращенной кодовой книги с адаптивной установкой в исходное положение. Технический результат заключается в снижении объема информации, передаваемой от приемной стороны передающей стороне. В условиях обратной связи в канале MIMO из кодовой книги выбирается кодовое слово. Чтобы уменьшить передачу сигналов, кодовые слова организуются в подмножества кодовых слов. Приемник передает сигнал индекса кодового слова в текущее подмножество кодовых слов, ранее сообщенных передатчику. Текущее подмножество кодовых слов адаптивно выбирается на основе порогового критерия. Например, если лучшее кодовое слово из текущего подмножества кодовых слов близко не совпадает с лучшим кодовым словом в полной кодовой книге, делается переключение в подмножестве кодовых слов. 3 н. и 17 з.п. ф-лы, 22 ил.

Изобретение относится к дешифраторам. Технический результат заключается в повышении быстродействия устройств преобразования информации с использованием заявляемого дешифратора. Первый логический вход устройства связан со входом третьего токового зеркала, второй логический вход устройства соединен со входом первого токового зеркала, первый токовый выход первого токового зеркала соединен с объединенными эмиттерами второго и пятого выходных транзисторов и через вспомогательный источник опорного тока связан со второй шиной источника питания, второй токовый выход первого токового зеркала соединен с объединенными эмиттерами первого и четвертого выходных транзисторов и подключен к первому токовому выходу третьего токового зеркала, коллектор второго выходного транзистора связан со входом второго токового зеркала, токовый выход которого подключен к объединенным эмиттерам третьего и шестого выходных транзисторов и связан со вторым токовым выходом третьего токового зеркала, причем коллектор пятого выходного транзистора связан со второй шиной источника питания. 3 з.п. ф-лы, 5 ил.

Изобретение относится к области обработки цифровых сигналов, в частности к сжатию данных и улучшению энтропийного кодирования видеопоследовательностей. Техническим результатом является повышение эффективности и снижение вычислительной сложности энтропийного кодирования. Способ обработки потока данных, состоящего из множества синтаксических элементов, основан на замене синтаксических элементов, значения которых имеют высокую вероятность появления, синтаксическими элементами, значения которых имеют низкую вероятность. Определяют для синтаксического элемента контекст и вычисляют вероятность появления значений тех синтаксических элементов в модели потока данных, которые имеют определенный контекст. Заменяют синтаксические элементы потока данных, имеющие определенный контекст, если вычисленная вероятность появления значения синтаксического элемента выше заданного порога, на синтаксические элементы, значения которых имеют низкую вероятность. 3 н. и 10 з.п. ф-лы, 4 ил., 2 табл.

Изобретение относится к технике связи и предназначено для измерения спектра информационных акустических сигналов. Технический результат - повышение точности измерения спектра информационных акустических сигналов, расширение функциональных возможностей устройства за счет привязки мгновенных значений спектра к регулируемым по длительности отрезкам временного акустического сигнала. Для этого в способе измерения спектра используют дискретно-косинусное преобразование (ДКП) вместо быстрого преобразования Фурье (БПФ), что позволяет повысить точность измерения спектра акустических сигналов за счет увеличения разрешающей способности, уменьшения в спектре уровня боковых лепестков преобразования окна и уменьшения осцилляции оценки амплитуды спектральных составляющих, а также позволяет уменьшить длительности отрезков акустического сигнала, на которых измеряется мгновенный спектр, при этом осуществляется формирование вместо одного двух сигналов (основного и дополнительного), причем дополнительный цифровой акустический сигнал является ортогональным по отношению к основному, осуществляется также привязка измеряемых мгновенных значений спектра, модуля спектра и фазочастотной характеристики сигнала к регулируемым по временному положению и по длительности отрезкам временного акустического сигнала, на которых этот спектр измеряется. 2 н.п. ф-лы, 8 ил.

Изобретение относится к беспроводной связи. Технический результат - повышение помехоустойчивости, надежности и эффективности связи, тогда как потребление энергии может быть снижено. Для этого способ включает: этап S1, на котором главное устройство генерирует код последовательности посредством специфического кодера и передает код последовательности каждому подчиненному устройству непрерывно в течение заданного периода времени согласно запросу связи, причем специфический кодер является регистром сдвига с обратной связью, выполненным по конкретному многочлену, порядок и коэффициенты которого соотнесены с запросом связи, тогда как все коэффициенты и начальные значения не равны 0 в одно и то же время; заданный период времени больше суммы периода сна и периода обнаружения подчиненного устройства или равен ей, что составляет цикл сна и приведения в рабочее состояние; этап S2, на котором подчиненное устройство принимает непрерывную часть кода последовательности в период обнаружения, декодирует код последовательности посредством декодера, соответствующего кодеру, и выполняет соответствующую операцию согласно результату декодирования. 2 н. и 10 з.п. ф-лы, 5 ил.

Изобретение относится к технике связи и предназначено для кодирования и декодирования сигналов. Технический результат - повышение точности кодирования и декодирования сигналов. Способ кодирования сигналов включает в себя получение сигнала частотной области согласно входному сигналу; выделение предварительно определенных битов сигналу частотной области согласно предварительно определенному правилу выделения; регулирование выделения битов для сигнала частотной области, когда наибольшая частота сигнала частотной области, которому выделяются биты, превышает предварительно определенное значение; и кодирование сигнала частотной области согласно выделению битов для сигнала частотной области. 4 н. и 16 з.п. ф-лы, 9 ил.
Наверх