Преобразование формата аудиофайла

Иллюстрации

Показать все

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

Реферат

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

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

Между тем, существуют различные версии способов сжатия аудиоданных по стандарту MPEG. Аудиосигнал, вообще говоря, дискретизируется с некоторой частотой дискретизации, причем результирующая последовательность выборок аудиоданных связана с перекрывающимися периодами времени или метками времени, соответственно. Затем упомянутые метки времени подаются отдельно, например, в банк гибридного фильтра, состоящий из многофазного и модифицированного дискретного косинусного преобразования (MDCT), подавляющего эффекты наложения спектров. Сжатие реальных данных происходит во время квантования MDCT-коэффициентов. Затем MDCT-коэффициенты, квантованные таким способом, преобразуются в код Хаффмана или кодовые слова Хаффмана, генерируя дополнительное сжатие посредством связывания более коротких слов с более часто встречающимися коэффициентами. Таким образом, в целом, сжатие по стандарту MPEG происходит с потерями, однако, слышимые потери ограничены, поскольку знание психоакустики включается за счет способа квантования коэффициентов ДКП (дискретного косинусного преобразования).

Широко используемый стандарт MPEG представляет собой так называемый стандарт MP3, описанный в ISO/IEC 11172-3 и 13818-3. Указанный стандарт обеспечивает возможность адаптации потерь информации, генерированных сжатием, к скорости передачи в битах, с которой аудиоинформация должна передаваться в реальном масштабе времени. Передача сигнала сжатых данных в канале с постоянной скоростью передачи в битах также должна выполняться в других стандартах MPEG. Чтобы гарантировать, что качество прослушивания в приемном декодере остается достаточным даже при низких скоростях передачи в битах, стандарт MP3 предусматривает MP3-кодер, имеющий так называемый битовый резервуар. Это означает следующее. Обычно, вследствие фиксированной скорости передачи в битах, MP3-кодер должен кодировать каждую метку времени в блок кодовых слов, имеющий одинаковый размер, причем указанный блок мог бы передаваться с заданной скоростью передачи в битах в периоде времени частоты повторения периода времени. Однако последнее не подходит для случая, когда некоторые части аудиосигнала, такие как, например, звуки, следующие за очень громким звуком в музыкальном произведении, требуют менее точного квантования с постоянным качеством по сравнению с другими частями аудиосигнала, такими как, например, части со множеством различных инструментов. Таким образом, MP3-кодер не генерирует простой формат битового потока, где каждая метка времени кодируется в одном кадре с одинаковой длиной кадра для всех потоков. Такой самодостаточный кадр мог бы состоять из заголовка кадра, дополнительной информации и основных данных, связанных с меткой времени, связанной с кадром, а именно закодированными MDCT-коэффициентами, причем дополнительная информация представляет собой информацию для декодера, как должны декодироваться DCT-коэффициенты, например, сколько последующих DCT-коэффициентов равны 0, для индикации того, какие DCT-коэффициенты последовательно включаются в основные данные. Однако обратный указатель включается в дополнительную информацию или в заголовок, указывая на положение в основных данных в одном из предыдущих кадров. Это положение является началом основных данных, относящихся к метке времени, с которой связан кадр, в который включен соответствующий обратный указатель. Обратный указатель указывает, например, число битов, на которое смещается начало основных данных в битовом потоке. Конец этих основных данных может быть в любом кадре в зависимости от того, насколько высокой является скорость сжатия для этой метки времени. Таким образом, длина основных данных отдельных меток времени больше не является постоянной. Таким образом, число битов, которым кодируется блок, может адаптироваться к свойствам сигнала. В то же самое время может быть достигнута постоянная скорость передачи в битах. Указанный метод называется "битовым резервуаром". Вообще говоря, битовый резервуар является буфером битов, который может использоваться, чтобы обеспечить больше битов для кодирования блока временных выборок, чем обычно допускается постоянной скоростью передачи выходных данных. Метод битового резервуара учитывает тот факт, что некоторые блоки аудиовыборок могут кодироваться с меньшим количеством битов, чем это определяется постоянной скоростью передачи, так что упомянутые блоки заполняют битовый резервуар, при этом другие блоки аудиовыборок имеют свойства психоакустики, которые не допускают такое высокое сжатие, так что доступных битов может действительно оказаться недостаточно для декодирования таких блоков с низкими помехами или без помех, соответственно. Требуемые избыточные биты берутся из битового резервуара, так что битовый резервуар опустошается в течение упомянутых блоков. Метод битового резервуара также описан в вышеуказанном сетевом уровне 3 стандарта MPEG.

Хотя формат MP3 не имеет преимуществ на стороне кодера, обеспечивая обратные указатели, на стороне декодера имеются несомненные недостатки. Если, например, декодер принимает битовый MP3-поток не сначала, а начиная с некоторого кадра в середине, то закодированный аудиосигнал на метке времени, связанной с указанным кадром, может воспроизводиться только сразу после того, как обратный указатель случайно становится равным 0, что должно указывать на то, что начало основных данных для данного кадра случайно имеет место сразу после заголовка или дополнительной информации, соответственно. Однако обычно так не бывает. Таким образом, воспроизведение аудиосигнала на этой метке времени невозможно, когда обратный указатель кадра, который был принят первым, указывает на предыдущий кадр, который, однако, еще не был принят. В указанном случае (сначала) может воспроизводиться только следующий кадр.

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

Дополнительно имеется потребность в простой возможности генерации легкоуправляемых, совместимых с форматом MP3 многоканальных потоков аудиоданных. Многоканальные потоки аудиоданных MP3 согласно стандарту ISO/IEC 13818-3 требуют матричных операций для извлечения входных каналов из переданных каналов на стороне декодера и для использования различных обратных указателей и, таким образом, становятся сложными для управления.

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

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

Указанная задача достигается посредством способа по пп.1, 10, 13, 14 или 15 и устройства по пп.16, 18, 19, 20 или 21.

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

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

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

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

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

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

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

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

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

фиг.1 - схематический чертеж для иллюстрации формата MP3 файла с обратным указателем,

фиг.2 - блок-схема для иллюстрации структуры преобразования MP3-потока аудиоданных в MPEG-4-поток аудиоданных,

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

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

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

фиг.6 - блок-схема компоновки для преобразования MPEG-4-потока аудиоданных, полученного согласно фиг.3, обратно в MP3-поток аудиоданных, для обеспечения возможности декодирования его существующими декодерами,

фиг.7 - схема последовательности операций способа реконвертирования MPEG-4-потока аудиоданных, полученного согласно фиг.3, в несколько потоков аудиоданных в формате MP3,

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

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

Настоящее изобретение поясняется со ссылками на чертежи, иллюстрирующие варианты его осуществления, в которых исходный поток аудиоданных в формате файла, в котором в блоках определения блоков данных используются обратные указатели для указания на начало основных данных, относящихся к блоку определения, является просто иллюстративным MP3-потоком аудиоданных, тогда как результирующий поток аудиоданных, состоящий из самодостаточных элементов канала, в котором объединяются аудиоданные, относящиеся к соответствующей метке времени, также является просто иллюстративным MPEG-4-потоком аудиоданных. Формат MP3 описывается в стандарте ISO/IEC 11172-3 и 13818-3, цитируемом в уровне техники, тогда как формат MPEG-4-файла описывается в стандарте ISO/IEC 14496-3.

Сначала со ссылкой на фиг.1 описан формат MP3. Фиг.1 показывает часть MP3-потока 10 аудиоданных. Поток 10 аудиоданных состоит из последовательности кадров или блоков данных, соответственно, из которых только три показаны на фиг.1, а именно 10a, 10b и 10c. MP3-поток 10 аудиоданных генерирован MP3-кодером из аудиосигнала или аудиосигнала, соответственно. Аудиосигнал, кодированный потоком 10 данных, представляет собой, например, музыку, шум, их смесь и т.п. Каждый из блоков 10a, 10b и 10c данных связан с одним из последовательных, возможно, перекрывающихся периодов времени, на которые аудиосигнал был разделен MP3-кодером. Каждый период времени соответствует метке времени аудиосигнала и, таким образом, в описании термин «метка времени» часто используется для периода времени. Каждый период времени закодирован в основные данные (main_data) MP3-кодером отдельно, например, посредством гибридного банка фильтров, состоящего из многофазного банка фильтров и модифицированного дискретного косинусного преобразования с последующей энтропией, как, например, кодирование методом Хаффмана. Основные данные, относящиеся к последовательным трем меткам времени, с которыми связаны блоки 10a-10c данных, иллюстрируются на фиг.1 ссылочными позициями в виде непрерывных блоков вместо действительного потока 10 аудиоданных.

Блоки 10a-10c данных потока 10 аудиоданных упорядочены эквидистантно в потоке 10 аудиоданных. Это означает, что каждый блок 10a-10c данных имеет одинаковую длину блока данных или длину кадра, соответственно. Снова длина кадра зависит от скорости передачи в битах, с которой поток 10 аудиоданных должен, по меньшей мере, воспроизводиться в реальном масштабе времени с частотой дискретизации, которую MP3-кодер использовал для дискретизации аудиосигнала до действительного кодирования. Связь заключается в том, что частота дискретизации показывает, насколько длинной является метка времени в связи с фиксированным числом выборок на метку времени, и в том, что из скорости передачи в битах и периода времени метки можно вычислить, сколько битов может передаваться в этом периоде времени.

Оба параметра, то есть скорость передачи в битах и частота дискретизации, указаны в заголовках 14 кадров в блоках 10a-10c данных. Таким образом, каждый блок 10a-10c данных имеет свой собственный заголовок 14 кадра. Вообще говоря, вся информация, важная для декодирования потока аудиоданных, сохраняется в каждом кадре 10a-10c сама по себе, так что декодер может начинать декодирование в середине МР3-потока 10 аудиоданных.

Отдельно от заголовка 14 кадра, который находится в начале, каждый блок 10a-10c данных имеет участок 16 дополнительной информации и участок 18 основных данных, содержащий аудиоданные блока данных. Участок 16 дополнительной информации следует непосредственно после заголовка 14. Она включает в себя информацию, существенную для декодера потока 10 аудиоданных для нахождения аудиоданных основных данных или блока определения, соответственно, связанных с соответствующим блоком данных, которые просто представляют собой кодовые слова Хаффмана, расположенные линейно последовательно, для декодирования их правильным способом в DCT- или MDCT-коэффициенты, соответственно. Участок 18 основных данных составляет конец каждого блока данных.

Как упоминалось в разделе описания уровня техники, стандарт MP3 реализует функцию резервуара. Это обеспечивается обратными указателями, включенными в дополнительную информацию в пределах участка 16 дополнительной информации, обозначенной на фиг.1 ссылочной позицией 20. Если обратный указатель устанавливается на 0, то основные данные для этой дополнительной информации начинаются непосредственно после участка 16 дополнительной информации. В противном случае обратный указатель 20 (main_data_begin) показывает начало основных данных, кодирующих метку времени, с которой связан блок данных, причем дополнительная информация 16, содержащая обратный указатель 20, включается в предыдущий блок данных. Например, на фиг.1 блок 10a данных связан c меткой времени, кодированной основными данными 12a. Обратный указатель 20 в дополнительной информации 16 этого блока 10a данных указывает, например, на начало основных данных 12a, которые находятся в блоке данных перед блоком 10a данных в направлении 22 потока посредством указания смещения бита или байта, измеренного от начала заголовка 14 блока 16a данных. Последнее означает, что в это время, во время кодирования аудиосигнала, битовый резервуар MP3-кодера, генерирующего MP3-поток 10 аудиоданных, не был заполнен, но мог быть загружен до высоты обратного указателя. Из положения, на которое указывает обратный указатель 20 блока 10a данных, вперед основные данные 12a вставляются в поток 10 аудиоданных с эквидистантно расположенными парами заголовков и дополнительной информации 14, 16. В настоящем примере основные данные 12a распространяются чуть больше, чем на половину участка 18 основных данных блока 10a данных. Обратный указатель 20 на участке 16 дополнительной информации последующего блока 10b данных указывает на положение непосредственно после основных данных 12a в блоке 10a данных. То же самое применимо к обратному указателю 20 в дополнительной информации 16 блока 10c данных.

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

После структуры MP3-потока аудиоданных, описанной со ссылкой на фиг.1, описана компоновка со ссылкой на фиг.2, которая подходит для преобразования MP3-потока аудиоданных в MPEG-4-поток аудиоданных, или для получения MPEG-4-потока аудиоданных из аудиосигнала, который может быть легко преобразован в формат MP3.

Фиг.2 изображает MP3-кодер 30 и MP3-MPEG-4-преобразователь 32. MP3-кодер 30 содержит вход для приема аудиосигнала, который должен кодироваться, и выход для вывода MP3-потока аудиоданных, кодирующего аудиосигнал на входе. MP3-кодер 30 действует согласно вышеупомянутому стандарту MP3.

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

Фиг.3 показывает отдельные этапы способа во время преобразования МР3-потока аудиоданных в MPEG-4-поток аудиоданных, выполняемое преобразователем 32. Сначала на этапе 40 принимается MP3-поток аудиоданных. Прием может содержать сохранение полного потока аудиоданных или просто текущей части потока в регистре-защелке. Соответственно, последующие этапы в процессе преобразования могут выполняться либо во время приема 40 в реальном масштабе времени, либо только вслед за ним.

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

Как можно видеть из направления 22 потока данных, указанные части MP3-потока 10 аудиоданных, иллюстрируемых ближе к левой части фиг.4, достигают преобразователя 32 раньше, чем его правые части. Блоки 10a и 10b данных полностью иллюстрируются на фиг.4. Метка времени, относящаяся к блоку 10a данных, кодируется основными данными MD1, включенными в фиг.4, иллюстративно частично в блоке данных перед блоком 10 данных и частично в блоке 10a данных, и здесь, в частности, на участке 18 основных данных. Те основные данные, кодирующие метку времени, с которыми связан последующий блок 10b данных, включаются исключительно в участок 18 основных данных блока 10a данных и обозначены как MD2. Основные данные, относящиеся к блоку данных, следующему за блоком 10b данных, распределяются среди участков 18 основных данных блоков 10a и 10b данных.

На этапе 42 преобразователь 42 объединяет все основные данные, кодирующие одну и ту же метку времени, в непрерывные блоки. Таким образом, участок 44 перед блоком 10a данных участка 46 в блоке 10a данных в основных данных MD1 приводит к получению непрерывного блока 48 путем объединения после этапа 42. То же самое выполняется для других основных данных MD2, MD3.

Для выполнения этапа 42 преобразователь 32 считывает указатель в дополнительной информации 16 блока данных, и затем, на основе этого указателя, считывает соответствующую первую часть 44 аудиоданных 12a блока определения для этого блока 10a данных, включенного в поле 18 предыдущего блока данных, начиная с положения, определенного указателем, вплоть до заголовка текущего блока 10a данных. Затем он считывает вторую часть 46 аудиоданных, включенную в часть 18 текущего блока 10a данных, и содержащую конец аудиоданных блока определения для этого блока 10a данных, начиная от конца дополнительной информации 16 текущего блока 10a данных до начала следующих аудиоданных MD2, до следующего блока 10b данных, на который указывает указатель в дополнительной информации 16 последующего блока 10b данных, который также считывает преобразователь 32. Объединение двух частей, как уже описывалось, приводит к получению блока 48.

На этапе 50 преобразователь 32 прибавляет ассоциированный заголовок 14, включающий в себя ассоциированную дополнительную информацию 16, к непрерывным блокам, чтобы окончательно сформировать МР3-элементы 52a, 52b и 52c канала. Таким образом, каждый из элементов 52a-52c канала состоит из заголовка 14 соответствующего MP3-блока данных, последующего участка 16 дополнительной информации того же MP3-блока данных, и непрерывного блока 48 основных данных, кодирующих метку времени, с которой связан блок данных, из которого исходит заголовок и дополнительная информация.

МР3-элементы канала, получающиеся в результате этапов 42 и 50, имеют различные длины элементов канала, как показано двойными стрелками 54a-54c. Следует отметить, что блоки 10a, 10b данных в МР3-потоке 10 аудиоданных имеют фиксированную длину 56 кадра, но число основных данных для отдельных меток времени изменяется относительно среднего значения благодаря функции битового резервуара.

Для облегчения декодирования и особенно синтаксического анализа отдельных МР3-элементов 52a-52c канала на стороне декодера, заголовки 14 H1-H3 модифицируются, чтобы получить длину соответствующего элемента канала 52a-52c, то есть 54a-54c. Указанная операция выполняется на этапе 56. Ввод длины записывается в часть, идентичную избыточной, соответственно, для всех заголовков 14 потока 10 аудиоданных. В формате MP3 каждый заголовок 14 вначале принимает некое фиксированное синхронизирующее слово (синхрослово), состоящее из 12 битов. На этапе 56 указанное синхрослово заполняется длиной соответствующего элемента канала. 12 бит синхрослова достаточны для представления длины соответствующего элемента канала в двоичной форме, так что длина результирующих элементов 58a-58c канала с модифицированным заголовком hl-h3 остается такой же, несмотря на этап 56, то есть равной 54a-54c. Таким образом, аудиоинформация может передаваться с такой же скоростью передачи в битах в реальном масштабе времени или воспроизводиться в виде исходного MP3-потока 10 аудиоданных после объединения MP3-элементов 58a-58c канала согласно порядку метки времени, закодированной аналогично, несмотря на прибавление индикации длины, никакие другие служебные данные не добавляются дополнительными заголовками.

На этапе 58 заголовок файла, или для случая, когда генерируемый поток данных является не файлом, а потоковой передачей данных, заголовок потока данных генерируется для желательного MPEG-4-потока аудиоданных (этап 60). Поскольку согласно настоящему варианту осуществления должен генерироваться поток аудиоданных, совместимый со стандартом MPEG-4, заголовок файла генерируется в соответствии со стандартом MPEG-4, в таком случае заголовок кадра имеет фиксированную структуру благодаря функции AudioSpecificConfig, которая задается в вышеупомянутом стандарте MPEG-4. Интерфейс для MPEG-4-системы обеспечивается элементом ObjectTypeIndication, установленным со значением 0х40, а также индикацией AudioObjectType с числом 29. Функция AudioSpecificConfig, задаваемая стандартом MPEG-4, распространяется на ее исходное определение в стандарте ISO/IEC 14496-3, в котором следующий пример рассматривает только содержание функции AudioSpecificConfig, имеющее значение для настоящего описания, а не все из них:

1AudioSpecificConfig() {
2audioObjectType;
3samplingFrequencyIndex;
4if(samplingFrequencyIndex==0xf)
5samplingFrequency;
6channelComfiguration;
7if(audioObjectType==29){
8MPEG_1_2_SpecificConfig();
9}
10}

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

Можно видеть, что заголовок файла, генерированный на этапе 60, начинается с индикации элемента AudioObjectType, который устанавливается на число 29 (строка 2), как упоминалось выше. Параметр audioObjectType показывает декодеру, каким способом должны кодироваться данные, и в частности, каким способом должна выделяться дополнительная информация для кодирования заголовка файла, как объяснено ниже.

Затем следует параметр вызова samplingFrequencyIndex, который указывает на некоторое положение в нормированной таблице для частот дискретизации (строка 3). Если индекс равен 0 (строка 4), то индикация частоты дискретизации следует без указания на нормированную таблицу (строка 5).

Затем следует индикация конфигурации канала (строка 6), которая показывает способом, который подробно описан далее, сколько каналов включается в генерированный MPEG-4-поток аудиоданных, в котором также возможно, в противоположность настоящему варианту осуществления, объединять более одного МР3-потока аудиоданных в MPEG-4-поток аудиоданных, что также описано ниже со ссылкой на фиг.5.

Затем, если audioObjectType составляет 29, как в данном случае, то следует часть заголовка файла AudioSpecificConfig, содержащего избыточную часть заголовка MP3-кадра в потоке 10 аудиоданных, то есть часть, остающаяся такой же из заголовков 14 кадров (строка 8). Указанная часть показана здесь обозначением MPEG_l_2_SpecificConfig(), то есть снова функция, задающая структуру этой части.

Хотя структура элемента MFEG_l_2_SpecificConfig также может быть взята из стандарта MP3, поскольку она соответствует фиксированной части заголовка MP3-кадра, который не меняется от кадра к кадру, его структура иллюстративно приводится ниже:

1MPEG_l_2_SpecificConfig(channelConfiguration){
2syncword (синхрослово)
3ID (идентификатор)
4Layer (уровень)
5Reserved (зарезервированный)
6sampling_frequency (частота дискретизации)
7reserved (зарезервированный)
8reserved (зарезервированный)
9reserved (зарезервированный)
10if(channelConfiguration==0){
11channel configuration description (описание конфигурации канала);
12}
13}

В части MPEG_l_2_SpecificConfig все биты, отличающиеся от заголовка кадра до заголовка 14 кадра в МР3-потоке аудиоданных, устанавливаются на 0. В этом случае первый параметр MPEG_l_2_SpecificConfig, а именно 12-битовое слово синхронизации - синхрослово (syncword), служащее для синхронизации MP3-кодера, при приеме МР3-потока аудиоданных (строка 2), является одним и тем же для каждого заголовка кадра. Последующий параметр ID (идентификатор) показывает MPEG-версию, то есть 1 или 2, посредством соответствующего стандарта ISO/IEC 13818-3 для версии 2 и стандарта ISO/IEC 11172-3 для версии 1. Параметр уровень (строка 4) дает индикацию уровню 3, который соответствует стандарту MP3. Следующий бит резервируется (строка 5), поскольку его значение может изменяться от кадра к кадру, и передается элементами МР3-канала. Упомянутый бит показывает вероятность того, что за заголовком следует переменная CRC (циклический избыточный код). Следующая переменная sampling_frequency (частота дискретизации) (строка 6) указывает на таблицу с частотами дискретизации, заданными в стандарте MP3, и таким образом, показывает частоту дискретизации, лежащую в основе MP3-DCT-коэффициентов. Затем, в строке 7, следует индикация бита для конкретных приложений (зарезервированных), а также в строках 8 и 9. Затем (в строках 11, 12) следует точное определение конфигурации канала, ког