Настоящее изобретение относится к кодированию аудиосигналов потоками аудиоданных, более конкретно к лучшей манипуляции потоками аудиоданных в формате файла, в котором аудиоданные, связанные 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, имеющее значение для настоящего описания, а не все из них:
Вышеупомянутый список 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-кадра, который не меняется от кадра к кадру, его структура иллюстративно приводится ниже:
В части 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) следует точное определение конфигурации канала, когда параметр, показанный в строке 6 AudioSpecificConfig, не указывает на предварительно определенную конфигурацию канала, а имеет значение 0. В противном случае применяется конфигурация канала таблицы 1.11 14496-3 подраздела 1.
Этапом 60, и, в частности, посредством обеспечения элемента MPEG_l_2_SpecificConfig в заголовке файла, который включает в себя всю избыточную информацию в заголовках 10 кадра исходного МР3-потока 10 аудиоданных, гарантируется, что указанная часть в заголовках кадра не приводит к невосполнимой потере этой информации в MPEG-4-файле, который должен генерироваться во время вставки данных, облегчающих декодирование, как, например, на этапе 56, посредством вставки длины элемента канала, но что указанная модифицированная часть может быть восстановлена с использованием заголовка MPEG-4-файла.
Затем, на этапе 62, MPEG-4-поток аудиоданных выводится в порядке заголовка MPEG-4-файла, генерированного на этапе 60, и элементов канала, в порядке связанных с ними меток времени, при этом полный MPEG-4-поток аудиоданных приводит к получению MPEG-4-файла или передается посредством MPEG-4-систем.
Вышеприведенное описание относится к преобразованию МР3-потока аудиоданных в MPEG-4-поток аудиоданных. Однако, как показано пунктирными линиями на фиг.2, можно преобразовывать два или более МР3-потока аудиоданных из двух MP3-кодеров, а именно 30 и 30', в многоканальный MPEG-4-поток аудиоданных. В таком случае MP3-MPEG-4-преобразователь 32 принимает МР3-поток аудиоданных всех кодеров 30 и 30' и выводит многоканальный поток аудиоданных в формате MPEG-4.
Фиг.5 в верхней половине иллюстрирует, для представления по фиг.4, каким образом может быть получен многоканальный поток аудиоданных согласно стандарту MPEG-4, причем преобразование снова выполняется преобразователем 32. Иллюстрируется три последовательности 70, 72 и 74 элементов канала, которые генерировались согласно этапам 40-56 из одного аудиосигнала, каждый кодером 30 или 30' (фиг.2). Из каждой последовательности 70, 72 и 74 элементов канала показаны соответствующие элементы, а именно 70a, 70b, 72a, 72b или 74a, 74b элементы канала, соответственно. На фиг.5 каждый из элементов канала, расположенных друг над другом, здесь 70a-74a или 70b-74b, соответственно, связан с одной и той же меткой времени. Например, элементы канала последовательности 70 кодируют аудиосигнал, который был записан в соответствии с подходящим нормированием спереди слева, справа (спереди), тогда как последовательности 72 и 82 кодируют аудиосигналы, представляющие запись того же аудиоисточника с других направлений или с другим частотным спектром, как например, центральный передний громкоговоритель (центр) и сзади справа и слева (объемное звучание).
Как показано стрелками 76, указанные элементы канала теперь объединяются в блоки во время вывода (этап 62 на фиг.3) в MPEG-4-потоке аудиоданных, упоминаемые ниже как блоки 78 доступа. Таким образом, в MPEG-4-потоке аудиоданных данные, находящиеся в блоке 78 доступа, всегда связаны с меткой времени. Расположение МР3-элементов 70a, 72a и 74a канала в блоке 78 доступа, здесь в порядке - передний канал, центральный канал и канал объемного звучания, учитывается в заголовке файла, как генерированное для MPEG-4-потока аудиоданных, который должен генерироваться (этап 60 на фиг.3) посредством соответствующей компоновки конфигурации канала параметра вызова в функции AudioSpecificConfig, причем ссылка опять делается на подраздел 1 в стандарте XSO/IEC 14496-3. Блоки 78 доступа снова последовательно располагаются в MPEG-4-потоке согласно порядку их меток времени, и им предшествует заголовок MPEG-4-файла. Параметр channelConfiguration устанавливается соответственно в заголовке MPEG-4-файла, чтобы показать порядок элементов канала в блоках доступа или их значимость на стороне декодера, соответственно.
Как следует из вышеприведенного описания фиг.5, легко объединить МР3-потоки аудиоданных в многоканальный поток аудиоданных, если, как предложено согласно настоящему изобретению, МР3-потоками аудиоданных манипулируют, чтобы получить самодостаточные элементы канала из блоков данных, причем все данные для одной метки времени включаются в один элемент канала, причем эти элементы канала из отдельных каналов могут быть легко объединены в блоки доступа.
Настоящее описание относится к преобразованию одного или нескольких МР3-потоков аудиоданных в MPEG-4-поток аудиоданных. Однако существенной идеей настоящего изобретения является то, что все преимущества результирующего MPEG-4-потока аудиоданных, как то улучшенная управляемость отдельных самодостаточных МР3-элементов канала с равной скоростью передачи и возможностью многоканальной передачи, могут использоваться без необходимости заменять существующие MP3-кодеры полностью на новые декодеры, и что реконверсия может быть выполнена без проблем, так что аналогичный подход можно использовать во время декодирования вышеупомянутого MPEG-4-потока аудиоданных.
На фиг.6 иллюстрируется блок-схема, содержащая блок 100 восстановления МР3, режим работы которого более подробно описан ниже, и декодеры 102, 102'... Блок 100 восстановления МР3 принимает на входе MPEG-4-поток аудиоданных, генерированный согласно одному из предыдущих вариантов осуществления, и выводит один или, в случае многоканального потока аудиоданных, несколько МР3-потоков аудиоданных на один или несколько декодеров 102, 102'..., которые непосредственно декодируют соответственно принятый МР3-поток аудиоданных в соответствующий аудиосигнал, и посылают его в соответствующие громкоговорители, расположенные в соответствии с конфигурацией канала.
Особенно простой путь восстановления исходных МР3-потоков аудиоданных из MPEG-4-потока аудиоданных, генерированного согласно фиг.5, описан ниже со ссылкой на фиг.5 и фиг.7, в котором указанные этапы выполняются блоком восстановления MP3 по фиг.6.
Сначала блок 100 восстановления MP3 подтверждает на этапе 110, что MPEG-4-поток аудиоданных, принятый на входе, представляет собой переформатированный МР3-поток аудиоданных, посредством проверки параметра вызова audioObjectType в заголовке файла согласно функции AudioSpecificConfig, включает ли указанный параметр значение 29. Если это имеет место (строка 7 в AudioSpecificConfig), то блок 100 восстановления MP3 приступает к синтаксическому анализу заголовка файла MPEG-4-потока аудиоданных, и считывает избыточную часть всех заголовков кадра исходного МР3-потока аудиоданных из части MPEG_l_2_SpecificConfig, из которой был получен MPEG-4-поток аудиоданных (этап 112).
После оценки MPEG_l_2_SpecificConfig, блок 100 восстановления MP3 на этапе 114 заменяет в каждом элементе канала 74a-74c в соответствующем заголовке hF, hC, hS одну или несколько частей элементов канала на компоненты MPEG_l_2_SpecificConfig, в частности, индикацию длины элемента канала на слово синхронизации из MPEG_l_2_SpecificConfig, чтобы снова получить заголовки кадра исходного МР3-потока аудиоданных, HF, HC и HS, как показано стрелками 116. На этапе 118 блок 100 восстановления MP3 модифицирует дополнительную информацию SF, SC и SS в MPEG-4-потоке аудиоданных в каждом элементе канала. В частности, обратный указатель устанавливается на 0, чтобы получить новую дополнительную информацию S'F, S'C и S'S. Манипуляция согласно этапу 118 показана на фиг.5 стрелкой 120. Затем, на этапе 122, блок 100 восстановления MP3 устанавливает индекс скорости передачи в битах в каждом элементе канала 74a-74c в заголовке кадра HF, HC, HS, обеспеченном на этапе 114 словом синхронизации вместо индикации длины элемента канала до наивысшего допустимого значения. В итоге, результирующие заголовки отличаются от исходных, что показано на фиг.5 апострофом, то есть H'F, H'C и H'S. Манипуляция элементов канала согласно этапу 122 также показана стрелкой 120.
Для иллюстрации изменений этапов 114-122, на фиг.5 приводятся отдельные параметры для заголовка H'F и части дополнительной информации S'F. Ссылочной позицией 124 обозначены отдельные параметры заголовка H'F. Заголовок кадра, H'F, начинается с параметра синхрослова. Синхрослово устанавливается на исходное значение (этап 114), как это имеет место в каждом МР3-потоке аудиоданных, а именно на значение 0xFFF. Вообще говоря, заголовок кадра, H'F, получающийся в результате этапов 114-122, отличается от исходного заголовка MP3-кадра, включенного в исходный МР3-поток 10 аудиоданных только тем, что индекс скорости передачи в битах устанавливается на наивысшее допустимое значение, которое согласно стандарту MP3 составляет 0xE.
Цель изменения индекса скорости передачи в битах состоит в том, чтобы получить новую длину кадра или длину блока данных, соответственно, для нового подлежащего генерации МР3-потока аудиоданных, которая больше, чем у одного из исходных МР3-потоков аудиоданных, из которого генерирован MPEG-4-поток аудиоданных с блоком 78 доступа. Оригинальное решение здесь состоит в том, что длина кадра в байтах в формате MP3 всегда зависит от скорости передачи в битах согласно следующему уравнению:
для уровня 3 стандарта MPEG 1:
длина кадра [бит] = 1152 * скорость передачи в битах [бит/сек] / частота дискретизации [бит/сек] + 8 * бит заполнения [бит]
для уровня 3 стандарта MPEG 2:
длина кадра [бит] = 576 * скорость передачи в битах [бит/сек] / частота дискретизации [бит/сек] + 8 * бит заполнения [бит].
Другими словами, длина кадра МР3-потока аудиоданных согласно стандарту прямопропорциональна скорости передачи в битах и обратнопропорциональна частоте дискретизации. В качестве дополнительного значения прибавляется значение битов заполнения, которое показано в заголовках MP3-кадра hF, hC, hS и может использоваться для того, чтобы точно устанавливать скорость передачи в битах. Частота дискретизации является фиксированной, поскольку она определяет, с какой скоростью воспроизводится декодированный аудиосигнал. Преобразование скорости передачи в битах по сравнению с исходной настройкой позволяет подгонять такие МР3-элементы 74-74c канала к длине блока данных нового, подлежащего генерации МР3-потока аудиоданных, которые длиннее, чем исходный, поскольку для генерации исходного потока аудиоданных, основные данные генерировались заимствованием битов из битового резервуара.
Таким образом, хотя в настоящем варианте осуществления индекс скорости передачи в битах всегда устанавливается на наивысшее допустимое значение, можно было бы дополнительно увеличить индекс скорости передачи в битах только до значения, достаточного для получения длины блока данных согласно стандарту MP3, чтобы даже самые длинные МР3-элементы канала 74a-74c могли бы подгоняться с учетом их длины.
Ссылочной позицией 126 иллюстрируется, что обратный указатель main_data_begin устанавливается на 0 в результирующей дополнительной информации. Это означает только то, что в МР3-потоке аудиоданных, генерированном согласно способу по фиг.7, блоки данных всегда являются самодостаточными, так что основные данные для определенного заголовка кадра и дополнительной информации всегда начинаются непосредственно после дополнительной информации и в пределах того же блока данных.
Этапы 114, 118, 122 выполняются на каждом элементе канала путем выделения каждого элемента канала из их блоков доступа, причем индикации длины элементов канала могут быть использованы при выделении.
Затем на этапе 128 то количество данных заполнения или битов безразличного состояния прибавляется к каждому элементу канала 74a-74c, чтобы увеличить длину всех МР3-элементов канала единообразно до длины MP3-блока данных, установленной новым индексом скорости передачи в битах, 0xE. Эти данные заполнения показаны ссылочной позицией 128 на фиг.5. Количество данных заполнения может быть вычислено для каждого элемента канала, например, посредством оценки индикации длины элемента канала и бита заполнения.
Затем на этапе 130 элементы канала, показанные на фиг.5 ссылочными позициями 74a'-74c', модифицированные согласно предыдущим этапам, посылаются в соответствующий MP3-декодер или в элемент 134a-134c декодера в виде блоков данных МР3-потока аудиоданных в порядке кодированных меток времени. Заголовок MPEG-4-файла опускается. Результирующие МР3-потоки аудиоданных показаны на фиг.5 в целом ссылочными позициями 132a, 132b и 132c. Элементы 134a-134c MP3-декодера, например, были инициализированы перед тем, как такое же число элементов канала включено в отдельные блоки доступа.
В реконструирующем MP3-устройстве 100 из оценки параметра channelConfiguration вызова в функции AudioSpecificConfig MPEG-4-потока аудиоданных, известно, какой из элементов 74a-74c канала в блоке 78 доступа MPEG-4-потока аудиоданных принадлежит какому из МР3-потоков аудиоданных, которые должны генерироваться. Таким образом, элемент 134a декодера, подключенный к переднему громкоговорителю, принимает поток 132a аудиоданных, соответствующий переднему каналу, и, соответственно, элементы 134b и 134c декодера принимают потоки 132b и 132c аудиоданных, связанные с центральным каналом и каналом объемного звучания, и выводят результирующие аудиосигналы в соответственно расположенные громкоговорители, например, в низкочастотный динамик, или в громкоговорители, расположенные, например, сзади слева и сзади справа, соответственно.
Конечно, для кодирования MPEG-4-потока аудиоданных в реальном масштабе времени с использованием конфигурации по фиг.6 с элементами 102, 102' или 134a-134c декодера требуется передавать заново генерированные МР3-потоки 132a-132c аудиоданных со скоростью передачи в битах, увеличенной на этапе 122, которая выше, чем в исходном потоке 10 аудиоданных, что, однако, не является проблемой, поскольку схема между блоком 100 восстановления МР3 и MP3-декодерами 102, 102' или 134a-134c является фиксированной, так что здесь каналы передачи соответственно короткие и могут проектироваться с соответственно высокой скоростью передачи в битах с более низкой стоимостью и трудозатратами.
Согласно варианту осуществления, описанному со ссылкой на фиг.7, многоканальный MPEG-4-поток аудиоданных, полученный согласно фиг.5 из исходных потоков 10 аудиоданных, не был реконвертирован точно в исходные МР3-потоки аудиоданных, но другие МР3-потоки аудиоданных были генерированы из него, причем в противоположность исходным потокам аудиоданных все обратные указатели устанавливаются на 0, а индекс скорости передачи в битах устанавливается на наивысшее значение. Таким образом, блоки данных этих заново генерированных МР3-потоков аудиоданных являются самодостаточными, если все данные, связанные с определенной меткой времени, включаются в один и тот же блок данных, и для увеличения длины блока данных до единообразного значения использовались данные заполнения.
Фиг.8 показывает вариант осуществления способа, согласно которому можно реконвертировать MPEG-4-поток аудиоданных, генерированный согласно вариантам осуществления по фиг.1-5, в исходные МР3-аудиопотоки или исходный МР3-поток аудиоданных, соответственно.
В данном случае блок 100 восстановления MP3 на этапе 150 снова проверяет, как и на этапе 110, является ли MPEG-4-поток аудиоданных переформатированным МР3-потоком аудиоданных. Последующие этапы 152 и 154 также соответствуют этапам 112 и 114 процедуры фиг.7.
Вместо изменения обратных указателей в дополнительной информации и индекса скорости передачи в битах в заголовках кадра, блок 100 восстановления МР3 восстанавливает, согласно способу по фиг.8, на этапе 156, исходную длину блока данных в исходных МР3-потоках аудиоданных, преобразованных в MPEG-4-поток аудиоданных, на основе частоты дискретизации, скорости передачи в битах и бита заполнения. Частота дискретизации и индикация заполнения показаны в MPEG_l_2_SpecificConfig, а также скорость передачи в битах в каждом элементе канала, если последний отличается от кадра к кадру.
Уравнение для вычисления исходной длины кадра исходного и подлежащего восстановлению потока аудиоданных снова является таким же, что и вышеупомянутое:
для уровня 3 стандарта MPEG 1:
длина кадра [бит] = 1152 · скорость передачи в битах [бит/сек] / частота дискретизации [бит/сек] + 8 · бит заполнения [бит]
для уровня 3 стандарта MPEG 2:
длина кадра [бит] = 576 · скорость передачи в битах [бит/сек] / частота дискретизации [бит/сек] + 8 · бит заполнения [бит].
Затем МР3-поток аудиоданных или МР3-потоки аудиоданных, соответственно, генерируются посредством расположения соответствующих заголовков кадра из соответствующего канала на интервале вычисленной длины блока данных, и промежутки заполняются путем вставки аудиоданных или основных данных, соответственно, в положениях, указанных указателями в дополнительной информации. В отличие от вариантов осуществления по фиг.7 или 5, соответственно, основные данные, связанные с соответствующим заголовком или соответствующей дополнительной информацией, соответственно, вставляются в МР3-поток аудиоданных в начале положения, указанного обратным указателем. Или другими словами, начало динамических основных данных смещается соответственно значению main_data_begin. Заголовок MPEG-4-файла опускается. Результирующий МР3-поток аудиоданных или результирующие МР3-потоки аудиоданных, соответственно, соответствуют исходным МР3-потокам аудиоданных, на которых основан MPEG-4-поток аудиоданных. Таким образом, эти МР3-потоки аудиоданных могли бы декодироваться известными MP3-декодерами в аудиосигналы, подобно потокам аудиоданных по фиг.7.
С учетом предыдущего описания следует отметить, что МР3-потоки аудиоданных, описанные как одноканальные МР3-потоки аудиоданных, в некоторых ситуациях фактически уже были двухканальными МР3-потоками аудиоданных, заданными согласно стандарту ISO/IEC 13818-3, однако в описании не приводятся такие подробности, поскольку они не принципиальны для сущности настоящего изобретения. Матричные операции из передаваемых каналов для выделения входного канала на стороне декодера и использование различных обратных указателей в этих многоканальных сигналах не описывалось, но дана ссылка на соответствующие стандарты.
Вышеупомянутые варианты осуществления обеспечили возможность сохранять MP3-блоки данных в измененной форме в формате MPEG-4-файла. Форматы MPEG-1/2-audio-layer-3, короткий MP3 или частные форматы, подобные форматам MPEG2.5 или mp3PR0, выведенным из них, могут быть упакованы в MPEG-4-файл на основе этих процедур, так что такое новое представление представляет многоканальное представление произвольного числа каналов простым способом. Использование сложного и трудноприменимого способа из стандарта ISO/IEC 13818-3 не требуется. В частности, MP3-блоки данных упаковываются так, что каждый блок - элемент канала блока доступа - относится к определенной метке времени.
В других вариантах осуществления для изменения формата цифрового представления сигнала, части представления были перезаписаны другими данными. Иными словами, информация, требуемая или полезная для декодера, записывается на части MP3-блока данных, которая постоянна для различных блоков в пределах потока данных.
Путем упаковки нескольких блоков стерео- и моноданных в блок доступа формата MPEG-4-файла, можно получить многоканальное представление, которое значительно проще обрабатывать по сравнению с представлением из стандарта ISO/IEC 13818-3.
В предыдущих вариантах осуществления представление MP3-блока данных было форматировано таким образом, что все данные, относящиеся к определенной метке времени, включаются в один блок доступа. В основном это имеет место не в случае MP3-блоков данных, поскольку элемент main_data_begin или обратный указатель в исходном MP3-блоке данных, соответственно, может указывать на более ранние блоки данных.
Также можно выполнить восстановление исходного потока данных (фиг.8). Как показано, это означает, что найденные потоки данных могут обрабатываться любым соответствующим декодером.
Вышеупомянутые варианты осуществления обеспечивают возможность кодирования или декодирования более двух каналов. Далее, в вышеупомянутых вариантах осуществления, уже закодированные MP3 - данные должны только переформатироваться простыми операциями, чтобы получить многоканальный формат. С другой стороны, на стороне кодера, только эта операция или операции, соответственно, должны быть реверсированы.
Хотя МР3-поток данных обычно включает в себя блоки данных различных длин, поскольку динамические данные, относящиеся к одному блоку, могут быть упакованы в предыдущие блоки, в предыдущих вариантах осуществления динамические данные комплектовались непосредственно после дополнительной информации. Результирующий MPEG-4-поток аудиоданных имел постоянную среднюю скорость передачи в битах, но блоки данных различных длин. Элемент main_data_begin или обратный указатель, соответственно, передается неизмененным способом, чтобы гарантировать воспроизведение исходного потока данных.
Далее, со ссылкой на фиг.5, расширение MPEG-4-синтаксиса было описано для упаковки нескольких MP3-блоков данных в качестве MP3-элементов канала, в один многоканальный формат в MPEG-4-файле. Все входные данные MP3-элемента канала, относящиеся к одному моменту времени, были упакованы в один блок доступа. Соответственно стандарту MPEG-4 подходящая информация для конфигурации на стороне кодера может быть взята из так называемой функции AudioSpecificConfig. Кроме параметра audioObjectType, скорости передачи в битах и конфигурации канала и т.п., она включает в себя дескриптор, релевантный для соответствующего параметра audioObjectType. Этот дескриптор описан выше для MPEG_l_2_SpecificConfig.
Согласно предыдущим вариантам осуществления 12-битовое MPEG 1/2 синхрослово в заголовке было заменено на длину соответствующего MP3-элемента канала. Согласно стандарту ISO/IEC 13818-3 для этого достаточно 12 битов. Остающийся заголовок никак не изменялся, что может, однако, иногда делаться для укорочения, например, заголовка кадра и остаточной избыточной части, за исключением синхрослова, чтобы уменьшить количество передаваемой информации.
Различные вариации вышеупомянутых вариантов осуществления могут быть легко выполнены. Так, последовательность этапов на фиг.3, 7, 8 может изменяться, в частности, этапы 42, 50, 56, 60 на фиг.3, этапы 11, 114, 118, 122 и 128 на фиг.7 и этапы 152, 154, 156 на фиг.8.
Далее, в отношении фиг.3, 7, 8 следует отметить, что показанные там этапы выполняются посредством соответствующих признаков преобразователя или блока восстановления устройства, соответственно, согласно фиг.2 или 6, что можно реализовать, например, с помощью компьютера или аппаратно реализованной схемы.
В варианте осуществления по фиг.7 манипуляция заголовками дополнительной информации соответственно (этапы 118, 122) была выполнена для MP3-декодеров на стороне приемника или декодера, соответственно, для МР3-потока данных, незначительно измененного по сравнению с исходным потоком аудиоданных. Во многих случаях применения может быть выгодным выполнять упомянутые этапы на стороне кодера или передатчика, соответственно, поскольку устройства приемника часто бывают устройствами серийного выпуска, так что экономия на электронных средствах на стороне приемника позволила бы получить более высокую прибыль. Согласно альтернативному варианту осуществления можно, таким образом, обеспечить выполнение этих этапов уже во время преобразования форматов MP3-MPEG-4 данных. Этапы согласно этому альтернативному способу преобразования форматов показаны на фиг.9, причем этапы, идентичные этапам по фиг.3, обозначены теми же ссылочными позициями и повторно не описываются.
Сначала МР3-поток аудиоданных, который должен преобразовываться, принимается на этапе 40, и на этапе 42 аудиоданные, относящиеся к метке времени или представляющие кодирование периода времени аудиосигнала, который должен кодироваться МР3-потоком аудиоданных, относящимся к соответствующей метке времени, соответственно, объединяются в непрерывный блок; указанная процедура осуществляется для всех меток времени. Заголовки снова прибавляются к непрерывным блокам, чтобы получить элементы канала (этап 50). Однако заголовки не только модифицируются посредством замены слова синхронизации на длину соответствующего элемента канала как на этапе 56. Более того, на этапах 180 и 182, соответствующих этапам 118 и 122 фиг.7, следуют дальнейшие модификации. На этапе 180 указатель в дополнительной информации каждого элемента канала устанавливается на ноль, и на этапе 182 индекс скорости передачи в битах в заголовке каждого элемента канала изменяется, как описано выше, причем длина MP3-блока данных, зависящая от скорости передачи в битах, является достаточной, чтобы включить все аудиоданные этого элемента канала или относящиеся к метке времени, соответственно, вместе с размером заголовка и дополнительной информацией. Этап 182 может также содержать преобразование битов заполнения в заголовках последовательных элементов канала для получения точной скорости передачи в битах позже при подаче MPEG-4-потока аудиоданных, сформированного способом по фиг.9, в декодер, работающий способом по фиг.7, но без этапов 118 и 122. Также заполнение может выполняться на стороне декодера на этапе 128.
На этапе 182 может быть полезным устанавливать индекс скорости передачи в битах не на наивысшее возможное значение, как описано для этапа 122. Значение также может устанавливаться на минимальное значение, которое является достаточным, чтобы вместить все аудиоданные, заголовок и дополнительную информацию элемента канала в вычисленной длине MP3-кадра, что также может означать, что в случае прохождения кодированного аудиофрагмента, который может быть кодирован с меньшим количеством коэффициентов, индекс скорости передачи в битах снижается.
После упомянутых модификаций, на этапах 60 и 62, просто генерируется заголовок файла (AudioSpecificConfig), и затем он выводится вместе с MP3-элементами канала как MPEG-4-поток аудиоданных. Этот поток может, как уже упоминалось, воспроизводиться способом по фиг.7, в котором, однако, этапы 118 и 122 могут быть опущены, что облегчает реализацию на стороне декодера. Однако этапы 42, 50, 56, 180, 182 и 60 могут выполняться в любом порядке.
Предшествующее описание только иллюстративно относится к МР3-потокам аудиоданных с фиксированной битовой длиной блока данных, выраженной в битах. Разумеется, МР3-потоки данных с варьируемой длиной блока данных могут обрабатываться согласно предыдущим вариантам осуществления, в которых индекс скорости передачи в битах и, таким образом, также длина блока данных изменяется от кадра к кадру.
Предыдущее описание относилось к МР3-потокам аудиоданных. В других потоках аудиоданных, не основанных на указателях, вариант осуществления настоящего изобретения обеспечивает модификацию заголовков в блоках данных, например, одного потока аудиоданных уровня 2 стандарта MPEG 1/2, содержащего, помимо заголовков, подходящую дополнительную информацию и подходящие аудиоданные, и таким образом, уже самодостаточного для генерации MPEG-4-потока аудиоданных. Модификация обеспечивает каждый заголовок индикацией длины, показывающей количество данных любого из соответствующего блока данных или аудиоданных в соответствующем блоке данных, так что MPEG-4-поток аудиоданных может декодироваться более просто, особенно, когда он объединяется из нескольких потоков аудиоданных уровня 2 стандарта MPEG 1/2 в многоканальный поток аудиоданных, подобно вышеприведенному описанию со ссылкой на фиг.5. Предпочтительно, модификация получается вышеописанным способом путем замены синхрослов или другой избыточной части в заголовках потока данных уровня 2 стандарта MPEG 1/2 на индикацию длины. Переформатирование или аннулирование указателя до фиг.5 путем объединения аудиоданных, относящихся к одной метке времени, опускается в потоках данных уровня 2, поскольку там не существует обратных указателей. Декодирование MPEG-4-потока аудиоданных, объединенного из двух потоков аудиоданных уровня 2 стандарта MPEG 1/2, представляющих два канала многоканального потока аудиоданных, может быть легко выполнено посредством считывания индикаций длины и доступа к отдельным элементам канала в блоках доступа, основанных на них. Затем они могут передаваться в известные декодеры, совместимые с уровнем MPEG 1/2.
Далее, для настоящего изобретения несущественно, где точно находится обратный указатель в блоках данных потока аудиоданных, основанного на указателях. Он может быть непосредственно в заголовках кадра для определения непрерывного блока определения.
В частности, следует отметить, что в зависимости от условий, соответствующая изобретению схема преобразования формата файла также может быть реализована в программном обеспечении. Это может быть выполнено на цифровой запоминающей среде, в частности, на диске или CD (компакт диске) с электронным считыванием управляющих сигналов, который может действовать совместно с программируемой компьютерной системой так, чтобы выполнялся соответствующий способ. Таким образом, в принципе, изобретение заключается также в компьютерном программном продукте с программным кодом, сохраненным на машиночитаемом носителе для выполнения способа, соответствующего изобретению, когда компьютерный программный продукт выполняется на компьютере. Другими словами, изобретение может также быть реализовано в виде компьютерной программы с программным кодом для выполнения способа, когда компьютерная программа исполняется на компьютере.
Изобретение относится к кодированию аудиосигналов потоками аудиоданных. Сущность изобретения состоит в объединении отдельных потоков аудиоданных в многоканальные потоки аудиоданных посредством модифицирования блока данных в потоке аудиоданных, деленном на блоки данных с аудиоданными блока определения и блока данных, например, посредством дополнения, прибавления или замены их части, так что они включают в себя индикатор длины, показывающий величину или длину данных, соответственно, аудиоданных блока данных или величину или длину данных, соответственно, блока данных, чтобы получить второй поток аудиоданных с модифицированными блоками данных. Альтернативно, поток аудиоданных с указателями в блоках определения, указывающими на аудиоданные блока определения, связанные с этими блоками определения, но распределенные среди различных блоков данных, преобразуется в поток аудиоданных, в котором аудиоданные блока определения объединяются в аудиоданные непрерывного блока определения. Затем аудиоданные непрерывного блока определения могут быть включены в самодостаточный элемент канала вместе с их блоком определения. Технический результат - упрощение манипуляции аудиоданными в отношении объединения отдельных потоков аудиоданных в многоканальные потоки аудиоданных или общей манипуляции потоком аудиоданных. 8 н. и 5 з.п. ф-лы, 9 ил.
объединения (42), для каждого блока данных, ассоциированных с ним основных данных (44, 46) из последовательных блоков данных для получения, для каждого блока данных, непрерывного блока (48);
прибавления (50), для каждого блока данных, непрерывного блока (48) к блоку (14, 16) определения этого блока данных для получения последовательных элементов (52а) канала различных длин;
упорядочения элементов канала в соответствии с порядком последовательных периодов времени для получения второго потока аудиоданных; и
модифицирования (56)каждого элемента (54а-54с) канала так, чтобы он включал в себя индикацию длины, указывающую длину данных соответствующего элемента (54а-54с) канала или длину непрерывного блока соответствующего элемента канала, причем этап модифицирования содержит замену (56)избыточной части, идентичной для всех блоков определения, на индикацию длины.
считывания первой части основных данных, с которыми ассоциирован предварительно определенный блок данных, из части (18) основных данных первого одного из последовательных блоков данных, предшествующего предварительно определенному блоку данных и содержащего начало основных данных, на которые указывает указатель блока определения предварительно определенного блока данных;
считывания второй части основных данных, с которыми ассоциирован предварительно определенный блок данных, из части основных данных второго одного из последовательных блоков данных, следующего за первым блоком и содержащего конец упомянутых основных данных; и
объединения первой и второй частей основных данных для получения непрерывного блока для предварительно определенного блока данных.
преобразования первого потока аудиоданных в первый подпоток аудиоданных согласно способу по п.1 или 2; и
преобразования второго потока аудиоданных во второй подпоток аудиоданных согласно способу по п.1 или 2,
причем этапы упорядочения выполняются так, что два подпотока аудиоданных вместе образуют многоканальный поток аудиоданных, и в многоканальном потоке аудиоданных элементы (70а) канала первого подпотока аудиоданных и элементы (72а) канала второго подпотока аудиоданных, содержащие соответствующий непрерывный блок, полученный посредством объединения периодов времени кодирования, равных во времени, упорядочены последовательно в непрерывном блоке (78) доступа.
показывали, в качестве начала соответствующих основных данных, что основные данные начинаются непосредственно после соответствующего блока определения; и
изменения (182) индикации битовой скорости передачи в блоках определения так, что длина блока данных, зависящая от индикации битовой скорости передачи согласно первому формату аудиофайла, достаточна для приема соответствующего блока определения и ассоциированных с ним основных данных.
формирования входного потока данных, представляющего кодированный аудиосигнал и имеющего первый формат файла, из второго потока аудиоданных посредством:
синтаксического анализа второго потока аудиоданных путем использования индикаций длины,
переустановки указателей в блоках определения элементов канала второго потока аудиоданных так, чтобы они показывали в качестве начала основных данных, что основные данные начинаются непосредственно после соответствующего блока определения, чтобы получить переустановленные блоки определения,
изменения индикации битовой скорости передачи в блоках определения элементов канала второго потока аудиоданных так, что длина блока данных, зависящая от индикации битовой скорости передачи согласно второму формату аудиофайла, достаточна для приема соответствующего блока определения и ассоциированных основных данных, чтобы получить измененные по битовой скорости передачи и переустановленные блоки определения, и
вставки битов между каждым элементом канала и последующим элементом канала так, чтобы длина каждого элемента канала плюс вставленные биты была адаптирована к индикации увеличенной битовой скорости передачи; и
подачи входного потока данных в декодер согласно индикации измененной битовой скорости передачи, чтобы получить аудиосигнал.
средство для объединения (42), для каждого блока данных, ассоциированных с ним основных данных (44, 46) из последовательных блоков данных для получения, для каждого блока данных, непрерывного блока (48);
средство для прибавления (50), для каждого блока данных, непрерывного блока (48) к блоку (14, 16) определения этого блока данных для получения последовательных элементов (52а) канала различных длин;
средство для упорядочения элементов канала в соответствии с порядком последовательных периодов времени для получения второго потока аудиоданных; и
средство для модифицирования (56)каждого элемента (54а-54с) канала так, чтобы он включал в себя индикацию длины, указывающую длину данных соответствующего элемента (54а-54с) канала или длину непрерывного блока соответствующего элемента канала, причем средство для модифицирования обеспечивает замену (56) избыточной части, идентичной для всех блоков определения, на индикацию длины.
средство для формирования входного потока данных, представляющего кодированный аудиосигнал и имеющего первый формат файла, из второго потока аудиоданных посредством:
синтаксического анализа второго потока аудиоданных путем использования индикаций длины,
переустановки указателей в блоках определения элементов канала второго потока аудиоданных так, чтобы они показывали в качестве начала основных данных, что основные данные начинаются непосредственно после соответствующего блока определения, чтобы получить переустановленные блоки определения,
изменения индикации битовой скорости передачи в блоках определения элементов канала второго потока аудиоданных так, что длина блока данных, зависящая от индикации битовой скорости передачи согласно второму формату аудиофайла, достаточна для приема соответствующего блока определения и ассоциированных основных данных, чтобы получить измененные по скорости битовой передачи и переустановленные блоки определения, и
вставки битов между каждым элементом канала и последующим элементом канала так, чтобы длина каждого элемента канала плюс вставленные биты была адаптирована к индикации увеличенной битовой скорости передачи; и
средство для подачи входного потока данных в декодер согласно индикации измененной битовой скорости передачи, чтобы получить аудиосигнал.
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
US 6466476 A, 15.10.2002 | |||
Генератор равновероятной двоичной цифры | 1981 |
|
SU1005044A1 |
RU 95122700 A, 20.10.1997 | |||
US 5642338 A, 24.06.1997. |
Авторы
Даты
2008-09-27—Публикация
2004-07-13—Подача