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

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

 

Область техники, к которой относится изобретение

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

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

В соответствии с обычными стандартами видеокодирования, такими как стандарты Н.261, Н.263, Н.263+, Н.264, установленными ITU (Международный союз по телекоммуникациям), и MPEG-1, MPEG-2, MPEG-4, установленными MPEG ISO (Экспертная группа по вопросам движущегося изобретения Международной Организации по стандартизации), и т.п.необходимо формировать кодированные аудио/видеоданные в потоки данных с возможностью произвольного доступа с целью начала декодирования с помощью декодера с установленной точки произвольного доступа. В указанных выше стандартах произвольный доступ к кодированным данным осуществляется с начального кода, такого как начальный код видеопоследовательности, начальный код группы изображений, начальный код изображения и т.п. Каждый из этих начальных кодов состоит из двух частей, а именно префикса начального кода и величины начального кода. Префикс начального кода является фиксированной цепочкой двоичных разрядов, используемых для маркировки существования начального кода, а величина начального кода является цифровой величиной, используемой для указания значения начального кода. При этом префикс начального кода соответствует коду флага точки произвольного доступа, описание которого приводится в данном изобретении.

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

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

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

Данное изобретение предлагает способ упаковки кодированных аудио/видеоданных в поток данных с возможностью произвольного доступа, содержащий стадии:

a) создания кодированных аудио/видеоданных посредством использования произвольного способа кодирования;

b) разделения кодированных аудио/видеоданных на несколько сегментов данных на основе случайных точек доступа для каждого из сегментов данных с повторением следующих стадий с) и d), пока все данные не будут записаны в поток данных;

c) записи цепочки двоичных разрядов кода флага точки произвольного доступа, а именно 0×000001 в поток данных;

d) записи каждого бита кодированных данных последовательно в поток данных;

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

Когда требуется выравнивание байтов, то способ дополнительно содержит: после окончания записи сегмента данных запись одного «0» и нескольких «1» в поток данных с использованием сущности стадии d), пока не будет достигнуто положение выравнивания следующего байта.

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

а′) поиска цепочки битов 0×000001 в положениях выравнивания байтов в потоке данных;

b') повторения следующих стадий после нахождения указанной цепочки битов 0×000001;

с′) предварительного считывания следующих 24 битов потока данных и маркировки их как "peekstr"; определения, является ли "peekstr" одинаковым с кодом флага 0×000001; считывания двоичного разряда, если они различны, и перехода на стадию h), если они одинаковы;

d′) считывания одного двоичного разряда;

е′) считывания еще одного бита и переход на стадию с), если только что считанный бит является вторым от конца битом байта, и 22 бита, считанных перед указанным битом, являются «0»;

f′) выдачи последнего считанного бита в качестве выходных данных и перехода на стадию с);

h′) окончания процесса, если в потоке данных нет оставшихся данных;

i′) считывания 24 битов и перехода на стадию с).

Когда требуется выравнивание байтов, то способ дополнительно содержит: при обнаружении следующего кода флага точки произвольного доступа идентификацию последнего выданного «0» и выданной после него «1», в качестве наполнительного бита, и невыдачу их в качестве выходных данных.

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

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

На чертежах изображено:

фиг.1 - графическая схема способа упаковки кодированных аудио/видеоданных в поток данных с возможностью произвольного доступа согласно одному варианту выполнения изобретения; и

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

Подробное описание предпочтительных вариантов выполнения

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

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

a) создания кодированных аудио/видеоданных посредством использования произвольного способа кодирования;

b) разделения кодированных аудио/видеоданных на несколько сегментов данных на основе случайных точек доступа для каждого из сегментов данных с повторением следующих стадий с) и d), пока все данные не будут записаны в поток данных;

c) записи цепочки двоичных разрядов кода флага точки произвольного доступа, а именно 0×000001 в поток данных;

d) записи каждого бита кодированных данных последовательно в поток данных; определения, являются ли только что записанные 22 бита все «0», если записываемый в настоящее время бит является вторым от конца битом байта; если 22 бита все «0», то записи наполнительного бита перед записью текущего бита данных; записи текущего бита данных после записи наполнительного бита; в противном случае записи непосредственно текущего бита данных;

e) по окончании записи сегмента данных записи одного «0» и нескольких «1» в поток данных посредством использования сущности стадии d), пока не будет достигнуто выравнивание положения следующего байта.

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

а′) поиска цепочки битов 0×000001 в положениях выравнивания байтов в потоке данных;

b′) повторения следующих стадий после обнаружения указанной цепочки битов 0×000001;

с′) предварительного считывания следующих 24 битов потока данных и маркировка их как "peekstr"; определения, является ли "peekstr" одинаковым с кодом флага 0х000001; считывания двоичного разряда, если они различны, и переход на стадию h), если они одинаковы;

d′) считывания одного двоичного разряда;

е′) считывания еще одного бита и перехода на стадию с), если только что считанный бит является вторым от конца битом байта, и 22 бита, считанных перед указанным битом, являются «0»;

f′) выдачи последнего считанного бита в качестве выходных данных и перехода на стадию с);

h′) окончания процесса, если в потоке данных нет оставшихся данных;

i′) считывания 24 битов и перехода на стадию с).

1. Способ формирования кодированных аудио/видеоданных в поток данных, содержащий стадии, на которых:

a) создают кодированные аудио/видеоданные посредством использования произвольного способа кодирования;

b) разделяют кодированные аудио/видеоданные на несколько сегментов данных на основе случайных точек доступа для каждого из сегментов данных;

c) в поток данных для каждого из сегментов данных записывают код флага произвольного доступа, а именно 0×000001;

d) записывают каждый бит кодированных данных последовательно в каждый сегмент данных потока данных;

определяют, являются ли только что записанные 22 бита кодированных данных все «0», если записываемый текущий бит кодовых данных является вторым битом от конца байта данного сегмента данных;

записывают маскирующий бит кодированных данных перед записью текущего бита данных, если только что записанные 22 бит кодированных данных все «0»;

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

повторяют стадии с) и d) пока все данные не будут записаны в поток данных.

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

е) по окончании записи сегмента данных, повторяют стадию d) для записи одного «0» и нескольких «1» в поток данных, пока не будет достигнуто выравнивание положения следующего байта.

3. Способ по п.1, отличающийся тем, что указанный маскирующий бит представляет собой двоичный разряд, и включает одну «1» и один «0», то есть, если записываемый бит является вторым битом от конца байта и записанные только что 22 бита все «0», то записывают одну «1» и один «0» перед записью текущего бита данных.

4. Способ по п.1, отличающийся тем, что дополнительно записывают только что записанные 22 бита потока данных.

5. Способ извлечения данных из потока данных, содержащий стадии:

а') поиска кода флага произвольного доступа 0х000001 в положениях выравнивания байтов в потоке данных;

b') после нахождения кода флага произвольного доступа, предварительного считывания следующих 24 битов потока данных и маркировки их как "peekstr";

определения, является ли "peekstr" одинаковым с кодом флага произвольного доступа 0×000001;

считывания двоичного разряда из указанных 24 битов потока данных, если они различны, в противном случае переход на стадию е');

с') считывания другого бита последовательно из указанных 24 битов и определение является ли указанный только что считанный бит вторым битом от конца байта, и 22 бита, считанных перед указанным битом, все являются «0», и если это так, то переход на стадию b');

d') выдачи последнего считанного бита в качестве выходных данных и переход на стадию с');

е') окончания процесса, если в потоке данных нет оставшихся данных;

f) считывания 24 битов и переход на стадию b').

6. Способ по п.5, отличающийся тем, что способ дополнительно содержит стадию g'), на которой при обнаружении следующего кода флага точки произвольного доступа идентифицируют последний выданный «0» и выданную после него «1» в качестве маскирующих битов и не выдачу их в качестве выходных данных.

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

8. Способ по п.5, отличающийся тем, что если оставшиеся данные составляют менее 24 бит, то определяют, что "peekstr" не является 0×000001.



 

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

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

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

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

Изобретение относится к электронно-вычислительной технике. .

Изобретение относится к услугам, связанным с ведением игр на игровых машинах типа видеослот-машин и машин для видеопокера. .

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к связыванию времени с объектами мультимедиа и, более конкретно, к обеспечению временных ссылок на объекты мультимедиа
Наверх