KR100717600B1 - 오디오 파일 포맷 변환 - Google Patents

오디오 파일 포맷 변환 Download PDF

Info

Publication number
KR100717600B1
KR100717600B1 KR1020067001445A KR20067001445A KR100717600B1 KR 100717600 B1 KR100717600 B1 KR 100717600B1 KR 1020067001445 A KR1020067001445 A KR 1020067001445A KR 20067001445 A KR20067001445 A KR 20067001445A KR 100717600 B1 KR100717600 B1 KR 100717600B1
Authority
KR
South Korea
Prior art keywords
audio data
decision block
data stream
audio
block
Prior art date
Application number
KR1020067001445A
Other languages
English (en)
Other versions
KR20060052854A (ko
Inventor
슈테판 게이어스베어거
베른하트 그릴
하랄트 게른하르트
미하엘 해어틀
요한 힐퍼트
만프레드 루츠키
마틴 바이스하트
하랄트 포프
Original Assignee
프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE10339498A external-priority patent/DE10339498B4/de
Application filed by 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. filed Critical 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우.
Publication of KR20060052854A publication Critical patent/KR20060052854A/ko
Application granted granted Critical
Publication of KR100717600B1 publication Critical patent/KR100717600B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

이를테면 개별 오디오 데이터 스트림들의 조합과 관련한 오디오 데이터 조절이나, 오디오 데이터 스트림의 일반적인 조절이 결정 블럭(14, 16)과 데이터 블럭 오디오 데이터(18)을 가지는 데이터 블럭들(10a, 10b)로 분할된 오디오 데이터 스트림(10) 내의 데이터 블럭을 수정하고, 이를테면 그것의 일부를 완성하거나 추가하거나 대체함으로써 단순해질 수 있어서, 그것은 데이터 블럭 오디오 데이터의 데이터의 양 또는 길이, 또는 데이터 블럭의 데이터의 양 또는 길이를 표시하는 길이 표시기를 포함하여 수정된 데이터 블럭들을 가지는 제2 오디오 데이터 스트림을 얻게 된다. 다르게는, 이 결정 블럭들에 연합된 결정 블럭 오디오 데이터를 지시하지만, 다른 데이터 블럭들 중에 분포된, 데이터 블럭들(14, 10) 내의 포인터들을 가지는 오디오 데이터 스트림은 오디오 데이터 스트림으로 변환되며, 결정블럭 오디오 데이터(44, 46)들은 연속 결정 블럭 오디오 데이터로(48)로 결합된다. 이어, 연속 결정 블럭 오디오 데이터(48)은 그들의 결정 블럭(14, 16)과 더불어 자기충족적 채널 요소에 포함될 수 있다.
시간 마크, 결정 블럭 오디오 데이터, 길이 표시

Description

오디오 파일 포맷 변환{Audio file format conversion}
본 발명은 오디오 신호를 코딩하는 오디오 데이터 스트림에 관한 것이며, 특히 오디오 데이터 스트림의 파일 포맷의 조절이 훨씬 용이한 것에 관한 것으로서, 여기서는 시간 마크에 연합된 오디오 데이터가 MP3 포맷의 경우와 같이 다른 데이터 블럭 중에 분포할 수 있다.
MPEG 오디오 압축은 이를테면 음악 또는 필름을 위한 사운드와 같은 오디오 신호를 디지털 형식으로 저장하는데 특히 효율적인 방식으로서, 가능한 한 작은 메모리 공간을 요구하면서도, 가능한 오디오 품질을 유지할 수 있다. 지난 몇 년에 걸쳐서 MPEG 오디오 압축은 이 분야에서 가장 성공적인 솔루션 중의 하나라는 것을 입증하였다.
그동안, 다른 버전의 MPEG 오디오 압축 방법들이 존재한다. 일반적으로 오디오 신호는 어느 샘플률, 오버랩핑 시간 주기 또는 시간 마크에 연합되는 오디오 샘플의 결과 시퀀스를 가지고 샘플링된다. 이어, 이들 시간 마크는 개별적으로, 이를테면 에일리어싱(aliasing) 효과를 억제하는, 다상(polyphase)의 하이브리드 필터 뱅크 및 수정된 이산 코사인 변형(MDCT)(modified discrete cosine transform)에 제공된다. 실제 데이터의 압축은 MDCT 계수의 양자화 동안에 일어난다. 그렇게 양자화된 MDCT 계수는 이어 더 짧은 코드 문자를 보다 자주 발생하는 계수와 결합함으로써 더 압축하게 되는 허프만 코드 문자의 허프만 코드로 변환된다. 따라서 전체에 걸쳐서, MPEG 압축은 "가청" 손실과 같이 손실적이기는 하지만, 음향심리학적(psychoacuostic) 지식이 DCT 계수의 양자화 방식에 통합되었기 때문에 제한적이다.
널리 사용되는 MPEG 표준은 소위 ISO/IEC 11172-3 및 13818-3의 MP3 표준이다. 이러한 표준은 오디오 신호가 실시간으로 전송되도록 하는 비트율에 대한 압축에 의해 발생하는 정보 손실에 대한 적응을 허용한다. 일정한 비트율을 가지는 채널에서 압축된 데이터 신호에 대한 전송은 또한 다른 MPEG 표준들에서 수행되어야 한다. 낮은 비트율에서조차도, 수신하는 디코더에서의 청취 품질을 보장하기 위해서는 MP3 표준은 소위 비트 저장소(reservoir)를 가지는 MP3 코더를 제공한다. 이는 다음을 의미한다. 보통, 고정된 비트율로 인해, MP3 코더는 모든 시간 마크를 동일한 사이즈를 가지는 코드 문자의 블럭으로 코딩하여야 하며, 이어, 이 블럭은 시간 주기 반복률의 시간 주기에서 주어진 비트율로 전송될 수 있다. 그러나, 이는 오디오 신호의 어느 부분 이를테면 음악의 한 부분에서 매우 큰 소리를 뒤따르는 소리는, 오디오 신호의 다른 부분 이를테면 다수의 다른 기구를 가지는 부분에 비해, 일정한 품질을 갖는 정확한 양자화가 덜 요구된다는 것과 같은 경우에는 적합하지 않다. 따라서, MP3 코더는, 모든 시간 마크가 모든 프레임에 대해 동일한 프 레임 길이를 가지는 하나의 프레임에 코딩되는, 그러한 단순한 비트 스트림 포맷을 생성하지 않는다. 그러한 자기충족적인 프레임은 프레임 헤더, 사이드 정보 및 프레임에 연합된 시간 마크에 연합된 메인 데이터, 즉 코딩된 MDCT 계수들로 이루어지며, 여기서 사이드 정보는 디코더에 대한 정보로서 어떻게 DCT 계수들이 디코딩되는지, 이를테면 얼마나 많은 후속 DCT 계수들이 0 인가를 나타내는 것으로서 이는 어느 DCT 계수들이 메인 데이터에 연속적으로 포함되는지를 나타낸다. 오히려, 백포인터(backpointer)는 사이드 정보 또는 헤더에 포함되어 이전 프레임들 중의 하나의 메인 데이터 내의 지점을 지시한다. 이 지점은, 프레임이 연합되며 해당 백포인터가 포함되는, 시간 마크에 부속하는 메인 데이터의 시작이다. 백포인터는, 이를테면, 메인 데이터의 시작이 비트 스트림 내에서 오프셋(offset) 되는 비트 수를 표시한다. 이들 메인 데이터의 끝(end)은 어느 프레임에서도 있을 수 있으며, 이는 이러한 시간 마크에 대해서 얼마나 높은 압축률인가에 따른다. 따라서 개별 시간 마크의 메인 데이터의 길이는 더는 일정하지 않다. 따라서, 블럭이 코딩되는 비트의 수는 신호의 특성에 맞춰질 수 있다. 그와 동시에, 일정한 비트율이 얻어질 수 있다. 이러한 기술은 "비트 저장소(bit reservoir)"라고 불리워진다. 일반적으로, 비트 저장소는 비트의 버퍼이며, 이는 시간 샘플의 블럭을 코딩하는데에 있어서 일정한 출력 데이터율에 의해 일반적으로 허용된 것보다도 더 많은 비트를 제공하는데 이용될 수 있다. 비트 저장소의 기술은, 오디오 샘플의 다른 블럭이 그러한 높은 압축을 허용하지 않는 음향심리학적인 특성을 가져서 허용 비트 수가 실질적으로 이들의 블럭의 저-간섭 또는 간섭-프리(interference-free)에 충분하지 않은 반면, 오디오 샘플의 일부 블럭이 일정한 전송률에 의해 특정된 것보다도 적은 비트로 코딩될 수 있어서, 이들 블럭이 비트 저장소를 채운다는 사실에 따른다. 필요한 초과 비트는 비트 저장소로부터 취해져서, 비트 저장소는 그러한 블럭 동안 비워진다. 비트 저장소 기술은 또한 위에서 나타낸 표준 MPEG 3층에서 설명된다.
비록 MP3 포맷이 코더측에서 백포인터들을 제공함으로써 이점을 갖지만, 디코더측에서는 부정할 수 없는 단점이 있다. 예를 들어 만약 디코더가 MP3 비트 스트림을 시작부터 수신하지 않고 어떤 프레임의 중간부터 시작한다면, 이 프레임에 연합된 시간 마크에서 코딩된 오디오 신호는 백포인터가 우연히 0 일 때에만 즉시 재생될 수 있는데, 이는 프레임에 대한 메인 데이터의 시작이 우연하게 헤더 또는 사이드 정보 직후에 있다는 것을 의미한다. 그러나, 이는 일반적인 경우가 아니다. 따라서, 먼저 수신된 프레임의 백포인터가, (아직) 수신되지 않은 이전 프레임을 지시할 때에는 그러한 시간 마크에서 오디오 신호를 재생시키는 것은 가능하지 않다. 그러한 경우, (처음에) 단지 다음 프레임만 재생될 수 있다. 프레임들을 다룰 때 다른 문제들이 수신측에서 일어나는데, 일반적으로 프레임들은 백포인터들에 의해 상호 연결되고 그래서 자기충족적이 아니다. 비트 저장소에 대한 리턴 어드레스(return address)를 가지는 비트 스트림의 또 다른 문제는, 오디오 신호의 다른 채널이 각 MP3 코딩될 때, 동일한 시간 마크에 연합되기 때문에 2 비트 스트림 내에서 서로 부속하는 메인 데이터가 서로 오프셋 될 수 있고, 프레임의 시퀀스를 교차하는 다양한 오프셋을 포함하여서, 다시 이들 개별 MP3스트림을 멀티-채널 오디오 데이터 스트림으로 결합하는 것이 방해된다.
추가적으로, 쉽게 취급할 수 있는 MP3-호환(compliant) 멀티-채널 오디오 스트림을 생성하는데 단순할 필요가 있다. ISO/IEC 표준 13818-3를 따르는 멀티-채널 MP3 오디오 데이터 스트림들은, 디코더측에서 전송된 채널로부터 입력 채널을 회복시키는 매트릭스(matrix) 동작 및 여러 백포인터의 사용이 요구되어서, 조절이 복잡하다.
MPEG 1/2 2층 오디오 데이터 스트림은 후속 프레임의 구성과 프레임의 구조와 배치 즉 헤더, 사이드 정보, 및 메인 데이터 부분의 구조, 그리고 샘플률 및 프레임마다 변하는 비트율에 의존하는 의사(quasi) 동적 프레임 거리를 갖는 배치에서, MP3 오디오 데이터 스트림에 해당하지만, 그러나 그들은 코딩 동안 백포인터 또는 비트 저장소의 부족 때문에, MP3 오디오 데이터 스트림과는 다르다. 고가-코딩(coding-expensive)과 저가인 오디오 신호의 시간 주기가 동일한 프레임 길이로 코딩된다. 시간 마크에 부속하는 메인 데이터들은 각각의 헤더와 더불어 각 프레임 내에 있다.
본 발명의 목적은 오디오 데이터 스트림으로 다른 오디오 스트림 또는 그 역으로 변환하는 개념을 제공하는 데 있으며, 이는 오디오의 조절 이를테면 개별 오디오 데이터 스트림들을 멀티-채널 오디오 데이터 스트림으로 결합하는 것 또는 일반적인 오디오 데이터 스트림의 조절하는 것이 보다 용이해지도록 하는 것이다.
이러한 목적은 청구항 1, 10, 13, 14 또는 15에 따른 방법과, 청구항 16, 18, 19, 20 또는 21에 따른 장치에 의해 달성된다.
이를테면 개별 오디오 데이터 스트림들을 멀티-채널 오디오 데이터 스트림으로 결합하는 것과 관련되거나 또는 오디오 데이터 스트림의 일반적인 조절과 같은, 오디오 데이터의 조절은 단순해질 수가 있으며, 이는 결정 블럭 및 데이터 블럭 데이터를 가지는 데이터 블럭들로 분할된 오디오 데이터 내의 데이터 블럭에 대해, 예를 들어 완성하거나 추가하거나 블럭의 일부를 대체하는 것과 같은 수정을 함으로써, 그것이 데이터 블럭 오디오 데이터의 데이터의 양 또는 길이 또는 데이터 블럭의 데이터의 양 또는 길이를 표시하는 길이 표시기를 수정된 데이터 블럭을 갖는 제2오디오 데이터 스트림을 얻게 하여 이루어진다. 다르게는, 결정 블럭 내에 포인터들을 갖는 오디오 데이터 스트림이 오디오 데이터 스트림으로 변환되는데, 포인터는 이들 결정 블럭에 연합된, 그러나 다른 데이터 블럭 중에 분포하지 않는, 결정 블럭 오디오 데이터를 지시하며, 결정 블럭 오디오 데이터는 연속 결정 블럭 오디오 데이터에 결합된다. 그래서 연속 결정 블럭 오디오 데이터는 그들의 결정 블럭과 더불어 자기충족적 채널 요소에 포함될 수 있다.
포인터가 각 데이터 블럭의 결정 블럭 오디오 데이터의 시작을 지시하는, 포인터-기반 오디오 데이터 스트림은, 모든 데이터 블럭 오디오 데이터, 즉 그것의 시간 마크와 관계되거나 그것의 오디오 마크에 대한 오디오 값을 코딩하는, 오디오 데이터가 연속 결정 블럭 오디오 데이터의 결정 블럭으로 결합되도록, 그리고 연속 결정 블럭 오디오 데이터가 연합된 각 결정 블럭이 그것에 추가되도록, 그 오디오 데이터 스트림이 조절될 때 그 취급이 훨씬 쉽다는 것이 본 발명의 연구 결과이다. 그것을 배치 또는 정렬시킨 후에, 그러한 방식으로 얻어진 채널 요소들은 새로운 오디오 데이터 스트림으로되며, 여기서 하나의 시간 마크에 부속하거나 또는 이 시간 마크에 대해 오디오 값들 또는 샘플들을 코딩하는 모든 오디오 데이터가 또한 하나의 채널 요소에 결합되어, 새로운 오디오 데이터 스트림은 취급하기가 훨씬 쉽다.
본 발명의 실시예에 따르면, 모든 결정 블럭 또는 모든 채널 요소는 새로운 오디오 데이터 스트림에서 수정되며, 이는 이를테면 일부를 추가하거나 대체하여 거기에 포함된 연속 오디오 데이터의 채널요소의 데이터 길이 또는 양 각각을 표시하는 길이 표시를 얻고, 가변적인 길이의 채널 요소들을 갖는 새로운 오디오 데이터 스트림의 디코딩을 용이하게 하도록 한다. 바람직하게는, 수정이 입력 오디오 데이터 스트림의 모든 결정 블럭과 동일한, 결정 블럭들의 중복 부분을 각 길이 표시로 대체함으로써 수행된다. 이러한 측정은, 오리지널 포인터-기반 오디오 데이터 스트림에 비해서, 얻어진 오디오 데이터 스트림의 데이터 비트율이 추가적인 길이 표시에도 불구하고 오리지널 오디오 데이터 스트림 중의 하나와 동일하게 되는 것을 이루어낼 수 있고, 그에 따라서 새로운 오디오 데이터 스트림으로부터 오리지널 오디오 데이터 스트림을 재생성할 수 있게 하기 위해서, 새로운 오디오 데이터 스트림 내에서 실질적으로 불필요한 백포인터가 훨씬 더 잘 얻어질 수 있게 한다.
이들 결정 블럭의 동일한 중복 부분은 전체 결정 블럭 내에서 새롭게 얻어진 오디오 데이터 스트림 전에 놓여질 수 있다. 따라서, 포인터가 적은(pointer-less) 포맷의 얻어진 오디오 데이터 스트림을 디코딩하는 것에 대해, 단지 오리지널 파일 포맷의 오디오 데이터 스트림을 디코딩할 수 있는 기존의 디코더를 사용하기 위해서, 수신기 측에서 얻어진 제2 오디오 데이터 스트림이 오리지널 오디오 데이터 스트림으로 재변환될 수 있다.
본 발명의 다른 실시예에 따르면, 제1 오디오 데이터 스트림을 다른 파일 포맷을 갖는 제2 오디오 데이터 스트림으로 변환하는 것은, 제1 파일 포맷의 여러 개의 오디오 데이터 스트림으로 된 멀티-채널 오디오 데이터 스트림을 형성하는데 이용된다. 수신기측의 취급성이 포인터를 갖는 오리지널 오디오 데이터 스트림의 단순한 결합에 비해 향상되는데, 이는 시간 마크에 부속하거나 연속 결정 블럭 오디오 데이터 각각을 포함하는, 멀티-채널 오디오 데이터 스트림에서의 모든 채널 요소들이 억세스 유닛에 결합될 수 있기 때문이며, 여기서, 모든 채널 요소들은 멀티-채널 오디오 신호의 채널의 동시적인 시간 주기을 코딩하는 것, 즉, 시간 마크에 부속하는 다른 채널들의 시간 주기를 코딩함으로써 얻어졌던 것이다. 이는 포인터-기반 오디오 데이터 포맷들에서는 가능하지 않은데, 이는 거기에서는 하나의 시간 마크에 대한 오디오 데이터가 다른 데이터 블럭들 중에 분포할 수 있기 때문이다. 오디오 데이터 스트림을 억세스 유닛을 갖는 멀티-채널 데이터 스트림과 결합하는 동안, 여러개의 오디오 데이터 스트림의 데이터 블럭들을 길이 표시를 갖는 다른 채널들에 제공하는 것은, 억세스 유닛에 의한 보다 향상된 구문 분석을 허용한다.
나아가, 상술한 얻어진 오디오 데이터 스트림들을 오리지널 파일 포맷으로 재변환하는 것이 매우 쉽고, 이어 그것이 기존의 디코더에 의해 오디오 신호로 디코딩될 수 있다는 연구 결과로부터 본원 발명이 얻어졌다. 얻어진 채널 요소들이 다른 길이를 갖고, 그래서, 오리지널 오디오 데이터 스트림의 데이터 블럭에서 이용될 수 있는 길이보다 때때로 더 길거나 때때로 더 짧지만, 새로운 파일 포맷의 오디오 데이터 스트림을 재생하기 위해, 결과적으로 불필요하게 얻어진 백포인터들에 따라 메인 데이터를 오프셋하거나 결합할 필요는 없고, 생성되는 오리지널 파일 포맷의 오디오 데이터 스트림의 결정 블럭들에서의 비트율 표시를 증가시키는 것으로 충분하다. 이것의 효과는, 이 비트율 표시에 따라, 디코딩되는 오디오 데이터 스트림에서의 가장 긴 채널 요소들 조차도, 데이터 블럭들이 제1 파일 포맷의 오디오 데이터 스트림 내에서 갖는 길이에 비해 더 작거나 같다는 것이다. 백포인터들은 0 으로 설정되고 채널 요소들은, 아무 값이나 갖는 비트를 추가함으로써, 증가된 비트율 표시에 대응되는 길이까지 증가된다. 그렇게 하여 오리지널 파일 포맷의 오디오 데이터 스트림의 데이터 블럭들이 생성되며, 여기서 부속하는 메인 데이터는, 다른 어떤 것이 아닌 단지 자체의 데이터 블럭에 포함된다. 그러한 방식으로 재생성된, 제1 파일 포맷의 오디오 데이터 스트림은, 증가된 비트 표시에 따라 증가된 비트율을 사용함으로써, 제1 파일 포맷의 오디오 데이터 스트림을 위한 기존의 디코더로 제공될 수 있다. 따라서, 재변환하는 비싼 쉬프트(shift) 동작과, 기존의 디코더를 새로운 것으로 대체할 필요가 없게 된다.
한편, 또다른 실시예에 따르면, 얻어진 오디오 데이터 스트림의 전체에 걸친 결정 블럭에서 결정 블럭들의 중복부분을 교차하여 포함된 정보를 사용하여 길이 표시에 의해 겹쳐 씌여진 부분을 회복함으로써, 얻어진 오디오 데이터 스트림으로부터 오리지널 오디오 데이터 스트림을 회복(retrieve)시키는 것도 가능하다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 1은 백포인터(backpointer)를 가지는 MP3 파일 포맷을 나타내는 도면이다.
도 2는 MP3 오디오 데이터 스트림을 MPEG-4 오디오 데이터 스트림으로 변환하는 구조를 나타내는 블럭도이다.
도 3은 본 발명의 실시예에 따라 MP3 오디오 데이터 스트림을 MPEG-4 오디오 데이터 스트림으로 변환하는 방법에 대한 흐름도이다.
도 4는 도 3의 방법에서 결정 블럭의 추가에 의해 연합된 오디오 데이터를 결합하는 단계와 결정 블럭을 수정하는 단계를 설명하기 위해 도시한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 여러개의 MP3 오디오 데이터 스트림을 멀티-채널 MPEG-4 오디오 데이터 스트림으로 변환하는 방법을 설명하기 위해 도시한 도면이다.
도 6은 도 3에 따라 얻어진 MPEG-4 오디오 데이터 스트림을 역으로, 기존의 MP3 디코더에 의해 디코딩될 수 있는 MP3 오디오 데이터 스트림으로 변환하는 배치를 도시한 블럭도이다.
도 7은 도 3에 따라 얻어진 MPEG-4 오디오 데이터 스트림을 MP3 포맷의 하나 또는 여러개의 오디오 데이터 스트림으로 재변환하는 방법에 대한 흐름도이다.
도 8은 본 발명의 또 다른 실시예에 따라 도 3에 따라 얻어진 MPEG-4 오디오 데이터 스트림을 MP3 포맷의 하나 또는 여러개의 오디오 데이터 스트림으로 재변환하는 방법에 대한 흐름도이다.
도 9는 본 발명의 또 다른 실시예에 따라 MP3 오디오 데이터 스트림을 MPEG-4 오디오 데이터 스트림으로 변환하는 방법에 대한 흐름도이다.
본 발명은, 백포인터(backpointer)가 결정 블럭에 부속하는(pertaining) 메인 데이터의 시작을 지시하기 위해 데이터 블럭의 결정 블럭에서 사용되는 파일 포맷의 오리지널 오디오 데이터 스트림은 단지 전형적인 MP3 오디오 데이터 스트림이고, 각 시간 마크에 부속하는 오디오 데이터가 각기 결합된 자기충족적인(self-cotained) 채널 요소들로 이루어지는 얻어진 오디오 데이터 스트림은 또한 단지 전형적인 MPEG-4 오디오 데이터 스트림인, 그러한 실시예들에 기반을 두고 있는 도면들을 참조하여 하기에서 논의될 것이다. MP3 포맷은 배경기술에서 인용된 표준 ISO/IEC 11172-3 및 13818-3 내에서 설명되고, MPEG-4 파일 포맷은 표준 ISO/IEC 14496-3에서 설명된다.
먼저, 도 1을 참조하여 MP3 포맷에 대해 간략하게 검토한다. 도 1은 MP3 오디오 데이터 스트림(10)의 일부를 나타낸다. 오디오 데이터 스트림(10)은 각 프레임들 또는 데이터 블럭들의 시퀀스로 구성되며, 도 1에서는 단지 3개, 즉 10a, 10b, 10c만 완전하게 보여지고 있다. MP3 오디오 데이터 스트림(10)은 MP3 코더에 의해 오디오 또는 사운드 신호 각각으로부터 생성된 것이다. 데이터 스트림(10)에 의해 코딩된 오디오 신호는, 예를 들어, 음악, 노이즈, 기타 같은 종류의 혼합체이다. 데이터 블럭(10a, 10b 및 10c)은 가능한한 오버랩되게 연속하는 시간 주기(time period) 중의 하나에 각각 연합되는데, 시간 주기는 그 내에 MP3 디코더에 의해 오디오 신호가 의해 분할되어져 있는 것이다. 모든 시간 주기는 오디오 신호의 시간 마크와 대응되며, 따라서 설명에서는, 시간 마크라는 용어는 종종 시간 주기로 사용된다. 모든 시간 주기는 MP3 디코더에 의해 메인 데이터(메인_데이터) 내로 인코딩되어져 있으며, 그 MP3 디코더는 개별적으로는 예를 들어 다상 필터 (polyphase filter)와 후속 엔트로피를 가지는 수정된 이산 코사인 변형(modified discrete cosine transform)로 이루어진 이를테면 허프만(huffman) 코딩과 같은 하이브리드 필터 뱅크이다. 데이터 블럭(10a-10c)이 연합되어 있는, 연속하는 3개의 시간 마크에 부속하는 메인 데이터가 도 1에서 실제 오디오 데이터 스트림(10) 옆에 연속하는 블럭으로서 부호(12a, 12b 및 12c)로 나타내어 진다.
오디오 데이터 스트림(10)의 데이터 블럭(10a-10c)들은 오디오 데이터 스트림(10) 내에 등거리로 배열되어 있다. 이는 모든 데이터 블럭(10c-10c)들 각각은 동일한 데이터 블럭 길이 또는 프레임 길이를 갖는다는 것을 의미한다. 다시, 프레임 길이는, 오디오 데이터 스트림(10)이 적어도 실시간으로 재생되는 비트율(bit rate)과, MP3 코더가 실제 코딩 전에 오디오 신호를 샘플링하는데 사용하는 샘플률(sample rate)에 의존한다는 것이다. 이 관계는 샘플률이 시간 마크 당 고정된 샘플의 수와 관련해서 시간 마크의 길이가 얼마인지를 나타내며, 얼마나 많은 비트수 가 이러한 시간 주기 내에서 전송될 수 있는 지가 비트율과 시간 마크 주기로부터 계산될 수 있다.
두 개의 파라미터, 즉 비트율과 샘플률은 데이터 블럭(10a-10c)의 프레임 헤더(14) 내에 표시된다. 따라서 모든 데이터 블럭(10a-10c)은 그 자신의 프레임 헤더(14)를 가진다. 일반적으로, 오디오 데이터 스트림을 디코딩하는데 중요한 모든 정보는 모든 프레임(10a-10c) 자체에 저장되어 있어서, 디코더가 MP3 오디오 데이터 스트림(10)의 중간에서 디코딩을 시작할 수 있다.
시작(beginning)에 위치하는 프레임 헤더(14)와는 별도로, 모든 데이터 블럭(10a-10c)은 사이드 정보 부분(side information part)(16)과, 데이터 블럭 오디오 데이터를 포함하는 메인 데이터 부분(18)을 갖는다. 사이드 정보 부분(16)은 헤더(14)를 바로 뒤따른다. 그것은 오디오 데이터 스트림(10)의 디코더가 각각의 데이터 블럭에 각각 연합된 메인 데이터 또는 결정 블럭 오디오 데이터를 찾는데 필수적인 정보를 포함하며, 이들은 단지 선형적으로 연속 배열된 허프만 코드 문자이고, 그것을 정확한 방식으로 각각 DCT 또는 MDCT 계수(coefficients)로 디코딩하기 위한 것이다. 메인 데이터 부분(18)은 모든 데이터 블럭의 끝을 형성한다.
설명의 배경기술 부분에서 기재한 바와 같이, MP3 표준은 저장소(reservoir) 기능을 지원한다. 이는 사이드 정보 부분(16) 내의 사이드 정보에 포함된 백포인터에 의해 가능해지며, 도 1에서 부호(20)로 나타내었다. 만약 백포인터가 0 으로 설정된다면, 이들 사이드 정보에 대한 메인 데이터는 사이드 정보 부분(16) 직후에 즉시 시작하게 된다. 그렇지 않다면, 포인터(20)(메인_데이터_시작)는 데이터 블럭 이 연합된 시간 마크를 코딩하는 메인 데이터의 시작을 나타내며, 여기에서 백포인터(20)를 포함하는 사이드 정보(16)는 이전 데이터 블럭에 포함된다. 도 1에서, 예를 들어, 데이터 블럭(10a)은 메인 데이터(12a)에 의해 코딩된 시간 마크에 연합된다. 이 데이터 블럭(10a)의 사이드 정보(16) 내의 백포인터(20)는, 예를 들어, 메인 데이터(12a)의 시작을 지시하며, 이는 데이터 블럭(16a)의 헤더의 시작으로부터 계산된 비트 또는 바이트(byte)의 오프셋(offset)을 표시함으로써, 스트림 방향(22)으로 데이터 블럭(10a) 이전의 데이터 블럭에 있게 된다. 이는 오디오 신호를 코딩하는 동안에는 MP3 오디오 데이터 스트림(10)을 생성하는 MP3 코더의 비트 저장소가 완전히 채워지지 않지만, 백포인터의 높이까지 채워질 수 있다는 것을 의미한다. 데이터 블럭(10a)의 백포인터(20)가 가리키는 이 지점으로부터 앞쪽에, 등거리로 배열된 헤더 및 사이드 정보(14, 16) 쌍을 가지는 오디오 데이터 스트림(10)에 메인 데이터(12a)가 삽입된다. 본 예에서는, 메인 데이터(12a)가 데이터 블럭(10a)의 메인 데이터 부분의 절반(18)을 조금 넘게까지 연장된다. 후속하는 부호(10b)의 사이드 정보 부분(16)의 백포인터(20)는 데이터 블럭(10a) 내의 메인 데이터(12a) 직후 지점을 가리킨다. 데이터 블럭(10c)의 사이드 정보 부분(16) 내의 백포인터(20)에도 같은 방식이 적용된다.
알 수 있는 바와 같이, 시간 마크에 부속하는 메인 데이터가 이러한 시간 마크에 연합된 데이터 블럭 내에 실제 독점적으로 존재하는 경우는 오히려 예외적이다. 오히려, 데이터 블럭들은 대부분 하나 또는 여러 개의 데이터 블럭들 중에 분포하고, 비트 저장소의 사이즈에 따라 해당 데이터 블럭 자체를 포함하지 않을 수 도 있다. 백포인트 값의 높이는 비트 저장소 사이즈에 의해 제한된다.
도 1과 관련하여 MP3 오디오 데이터 스트림의 구조가 설명되었고, 이후 도 2를 참조하여 배치가 설명되는데, 이는 MP3 오디오 데이터 스트림을 MPEG-4 오디오 데이터 스트림으로 변환하거나, 쉽게 MP3 포맷으로 변환되는 오디오 신호로부터 MPEG-4 오디오 데이터 스트림을 얻는데 적합한 것이다.
도 2는 MP3 코더(30)와 MP3-MPEG-4 컨버터(32)를 보여준다. MP3 코더(30)는 코딩될 오디오 신호를 수신하는 입력측과, 입력측의 오디오 신호를 코딩한 MP3 오디오 데이터 스트림을 출력하는 출력측을 포함한다. MP3 코더(30)는 상술한 MP3 표준에 따라서 동작한다.
도 1을 참조하여 그 구조가 검토되었던 MP3 오디오 데이터 스트림은, 상술한 바와 같이, 고정된 프레임 길이를 가지는 프레임들로 이루어지며, 프레임 길이는 설정된 비트율 및 기본적인 샘플률뿐만아니라, 설정되거나 설정되지 않는 패딩(padding) 바이트에 의존한다. MP3-MPEG-4 컨버터(32)는 입력측에서 MP3 오디오 데이터 스트림을 수신하여 출력측에서 MPEG-4 오디오 데이터 스트림을 출력하며, 그 구조는 후속하는 MP3-MPEG-4 컨버터(32)의 동작 모드에 관한 설명으로부터 알 수 있다. 컨버터(32)의 목적은 MP3 오디오 데이터 스트림을 MP3 포맷에서 MPEG-4으로 변환하는 것이다. MPEG-4 데이터 포맷은 어느 시간 마크에 부속하는 모든 메인 데이터가 연속 접근 유닛(continuous access unit) 또는 채널 요소에 포함되어서, 후자를 조절이 상당히 용이하게 한다는 장점을 가진다.
도 3은 컨버터(32)에 의해 수행되는, MP3 오디오 데이터 스트림에서 MPEG-4 오디오 데이터 스트림으로의 변환하는 동안의 개별 방법 단계들을 보여준다. 먼저, 단계 40에서 MP3 오디오 데이터 스트림이 수신된다. 수신하는 단계는 래치(latch)에서 전체 오디오 스트림이나 오디오 스트림의 현재 부분만을 저장하는 단계를 포함할 수 있다. 마찬가지로, 변환 동안의 후속 단계들은 수신하는 단계(40) 중에 실시간으로 수행되거나 바로 그 다음에 수행될 수 있다.
이어, 단계 42에서, 시간 마크에 부속하는 모든 오디오 데이터 또는 메인 데이터 각각은 연속 블럭에 결합되며, 이는 모든 시간 마크에 대해 수행된다. 단계 42는 도 4에서 보다 상세하게 설명되는데, 도 4에서는 도 1에서 도시된 요소와 유사한 MP3 오디오 데이터 스트림 요소들에 대해 동일하거나 유사한 부호를 부여하였고, 이들 요소에 대한 반복 설명은 생략한다.
데이터 스트림 방향(22)에서 알 수 있는 바와 같이, 도 4의 좌측에 도시된 MP3 오디오 데이터 스트림 부분들이 오른쪽 부분 보다 먼저 컨버터(32)에 도달한다. 2 개의 데이터 블럭(10a 및 10b)은 도 4에 전체가 도시되었다. 데이터 블럭(10a)에 부속하는 시간 마크는 도 4에 포함된 메인 데이터 MD1에 의해 코딩되는데, 메인 데이터 MD1은 전형적으로 데이터 블럭(10) 이전의 데이터 블럭에 일부가 포함되고, 일부는 데이터 블럭(10a)에 포함되며 여기에서는 특히 그것의 메인 데이터 부분(18)에 포함된다. 후속 데이터 블럭(10b)이 연합되고, 시간 마크를 코딩하는 이들 메인 데이터는 데이터 블럭(10b)의 메인 데이터 부분(18)에 독점적으로 포함되며 MD2에 의해 표시된다. 데이터 블럭(10b)을 따르는 데이터 블럭에 부속한 메인 데이터 MD3는 데이터 블럭들(10a 및 10b)의 메인 데이터 부분(18) 중에 분포된다.
단계 42에서, 컨버터(32)는 메인 데이터에 부속하는 모든 것을 결합하며, 즉 모든 메인 데이터는 하나 및 동일한 시간 마크를 연속 블럭으로 코딩한다. 그러한 방법에서, 메인 데이터 MD1의 데이터 블럭(10a) 내의 데이터 블럭(10a)의 부분(46) 이전의 부분(44)이 단계 42의 결합에 의해 연속 블럭(48)이 된다. 동일한 방식이 다른 메인 데이터 MD1, MD2...에 수행된다.
단계 42의 수행을 위해, 컨버터(32)는 데이터 블럭(10a)의 사이드 정보(16)의 포인터를 판독하고 나서, 이 포인터에 근거하여, 이전 데이터 블럭의 필드(18)에 포함된 이 데이터 블럭(10a)에 대한 결정 블럭 오디오 데이터(12a)의 각 처음 부분(44)이, 현재 데이터 블럭(10a)의 헤더까지의 포인터에 의해 결정된 지점에서 시작한다. 이어 컨버터는 현재 데이터 블럭 오디오 데이터의 부분(18)에 포함된 결정 블럭 오디오 데이터의 제2 부분(46)을 판독하고 나서, 현재 오디오 데이터 블럭(10b)의 사이드 정보(16)의 끝에서부터 시작하여, 여기서 MD2로 나타내고, 마찬가지로 컨버터(32)가 판독하게 되며, 후속 데이터 블럭(10b)의 사이드 정보(16) 내의 포인터가 지시하여, 다음 오디오 데이터의 시작까지가 되는, 이 데이터 블럭(10a)에 대한 결정 블럭 오디오 데이터의 끝을 다음 데이터 블럭(10b)에 결합한다. 두 부분(44 및 46)의 결합으로, 설명한 바와 같이, 블럭(48)을 얻게 된다.
단계 50에서, 컨버터(32)는 연합된 사이드 정도(16)를 포함하는 연합된 헤더(14)를 연속 블럭에 추가하여 최종적으로 MP3 채널 요소들(52a, 52b 및 52c)을 형성한다. 그래서, 모든 MP3 채널 요소들(52a-52c)은 해당 MP3 데이터 블럭의 헤더(14), 동일한 MP3 데이터 블럭의 후속 사이드 정보 부분(16), 및 그에 데이터 블럭 이 결합되고 그로부터 헤더 및 사이드 정보가 얻어지는, 시간 마크를 코딩한 메인 데이터의 연속 블럭(48)으로 이루어진다.
단계 42 및 50으로부터 얻어진 MP3 채널 요소들은, 양방향 화살표들(54a-54c)로 표시된 바와 같이 다른 채널 요소 길이를 갖는다. MP3 오디오 데이터 스트림(10) 내의 데이터 블록들(10a, 10b)은 고정된 프레임 길이(56)를 갖지만, 개별 시간 마크에 대한 메인 데이터 수는 비트 저장소 기능으로 인해 평균값 근처에서 변한다는 것을 유념하여야 한다.
디코더 측에서의 개별 MP3 요소(52a-52c)의 이징(easing) 디코딩, 특히 구문 분석을 위해, 헤더 H1-H3(14)는 각 채널 요소들(52a-52c)의 길이, 즉 (54a-54c)를 얻도록 수정된다. 이는 단계 56에서 수행된다. 길이 입력은 오디오 데이터 스트림(10)의 모든 헤더(14)에 대해, 동일하거나 중복된 부분 각각에 씌여진다. MP3 포맷에서, 모든 헤더는 처음에 12 비트로 이루어진 고정된 동기 문자(syncword)를 수신한다. 단계 56에서, 이 동기 문자가 각 채널 요소의 길이에 의해 채워진다. 12 비트의 동기 문자는 각 채널 요소를 2진수 형태로 나타내기에 충분하여서, 수정된 헤더 H1-H3를 갖는 얻어진 MP3 채널 요소들(58a-58c)의 길이는 단계 56에도 불구하고 동일하게, 즉 (54a-54c)와 같게 된다. 그러한 방식으로, 오디오 정보는 동일한 비트율로 실시간 전송될 수 있거나, 추가적인 헤더들에 의해 오버헤드(overhead)가 추가되지 않는 한, 길이 표시의 추가에도 불구하고 그것에 의해 코딩된 시간 마크의 순서에 따라 MP3 채널 요소(58a-58c)를 결합한 후에, 오리지널 MP3 오디오 데이터 스트림(10)과 같이 재생될 수 있다.
단계 58에서, 파일 헤더, 또는 생성되는 데이터 스트림이 파일이 아니라 스트리밍인 경우에, 데이터 스트림 헤더가 원하는 MPEG-4 오디오 데이터 스트림을 위해 생성된다 (단계 60). 본 실시예에 따라 MPEG-4-호환(compliant) 오디오 데이터 스트림이 생성되기 때문에, 파일 헤더는 4MPEG-4 표준에 따라 생성되며, 이 경우에는 파일 헤더는 상술한 MPEG-4 표준에 정의된 함수 AudioSpecificConfig에 따라 고정된 구조를 갖는다. MPEG-4 시스템에 대한 인터페이스는 0×40 값을 가지는 요소 ObjectTypeIndication 세트(set)뿐만 아니라, 수(number) 29를 가지는 audioObjectType의 표시에 의해 제공된다. 이 MPEG-4-특성(specific) AudioSpecificConfig는 다음의 ISO/IEC 14496-3에서의 그의 오리지널 정의에 따라 확장될 수 있으며, 다음의 예에서는 그들 전체에 대한 것이 아니라 본 상세한 설명에 중요한 AudioSpecificConfig의 내용만 고려하였다.
1 AudioSpecificConfig ( ) {
2 audioObjectType;
3 samplingFrequencyIndex;
4 if (samplingFrequencyIndex==0×f)
5 samplingFrequency;
6 ChannelConfiguration;
7 if (audioObjectType==29) {
8 MPEG_1_2_SpecificConfig ( ) ;
9 }
10 }
상기의 AudioSpecificConfig 리스트는 함수 AudioSpecificConfig에 대한 일반적인 표기법의 표현이며, 디코더 내의 파일 헤더의 콜(call) 파라미터, 즉 samplingFrequencyIndex, ChannelConfiguration 및 audioObjectType을 구문 분석 또는 판독하는 역할을 하거나, 어떻게 파일 헤더가 디코딩되는지 또는 구문 분석되는지에 대한 명령어를 나타낸다.
알 수 있는 바와 같이, 단계 60에서 생성된 파일 헤더는 audioObjectType의 표시로 시작되며, 이는 상술한 바와 같이 29로 설정된다 (2 행). 파라미터 audioObjectType은 디코더에 데이터가 어떤 방식으로 코딩되었는지, 특히 파일 헤더의 코딩에 대한 더 많은 정보가 추출될 수 있는 방식에 대해 표시하며, 이는 하기와 같다.
이어, 콜 파라미터 samplingFrequencyIndex가 뒤따르며, 이는 샘플 빈도수에 대한 표준 테이블에서의 어느 지점을 지시한다 (3 행). 만약 지수가 0 이라면 (4 행), 표준 테이블을 지시하는 것 없이 샘플 빈도수의 표시가 뒤따른다 (5 행).
이어, 채널 구성(channel configuration)의 표시가 뒤따르며(6 행), 이는 아래에서 보다 상세하게 설명될, 생성된 MPEG-4 오디오 데이터 스트림에 얼마나 많은 채널이 포함되는지를 나타내며, 본 실시예와는 달리, 하나 이상의 MP3 오디오 데이터 스트림이 하나의 MPEG-4 오디오 데이터 스트림에 결합되는 것도 또한 가능하며 이는 도 5를 참조하여 아래에서 설명될 것이다.
이어, audioObjectType이 29 라면, 오디오 데이터 스트림(10) 내에서의 MP3 프레임 헤더의 중복 부분을 포함하는, 파일 헤더 AudioSpecificConfig의 부분이 뒤따르는 경우, 즉 그 부분은 프레임 헤더(14) 중에 동일하게 남겨지는 경우이다 (8 행). 이 부분은 여기에서 MPEG_1_2_SpecificConfig( )의해, 즉 이 부분의 구조를 정의하는 함수에 의해 표시된다.
MPEG_1_2_SpecificConfig의 구조는 또한 MP3 표준으로부터 얻어질 수 있지만, 프레임마다 변경되지 않는 것은 MP3 프레임 헤더의 고정 부분에 해당되기 때문에, 하기에 전형적인 형태로 기재된다.
1 MPEG_1_2_SpecificConfig (ChannelConfiguration) {
2 syncword
3 ID
4 layer
5 reserved
6 sampling_frequency
7 reserved
8 reserved
9 reserved
10 if (channelConfiguration==0) {
11 channel configuration description;
12 }
13 }
MPEG_1_2_SpecificConfig 부분에서, MP3 오디오 데이터 스트림 내에서의 헤더(14) 마다 다른 모든 비트는 0 으로 설정된다. 어느 경우에도, 제 1 파라미터 MPEG_1_2_SpecificConfig, 즉 MP3 오디오 데이터 스트림을 수신할 때 MP3 코더의 동기화 역할을 하는 12-bit-동기문자(2 행)는 모든 프레임 헤더에 대해 동일하다. 후속 파라미터 ID(3 행)는, 버전 2에 대해서는 해당 표준 ISO/IEC 13818-3 그리고 버전 1에 대해서는 해당 표준 ISO/IEC 11172-3에 의해서, MPEG 버전, 즉 1 또는 2를 나타낸다. 파라미터 층 (4 행)은 3 층에 표시를 주며, 이는 MP3 표준에 해당한다. 다음 비트는 저장되는데 (5 행), 그 값이 프레임마다 변경될 수 있고, MP3 채널 요소에 의해 전송되기 때문이다. 이 비트는 어쩌면 헤더에 CRC 변수가 뒤따른다는 것을 나타낸다. 다음 변수 sampling_frequency(6 행)는 MP3 표준에 정의된 샘플률 테이블을 지시하여서 MP3-DCT 계수의 기본이 되는 샘플률을 표시한다. 이어, 7행에서는 특정한 응용에 대한 표시 (reserved)가 뒤따르며, 8행과 9행도 마찬가지이다. 이어, (11, 12 행에서) 6행의 AudioSpecificConfig에 표시된 파라미터가 예정된 채널 구성을 지시하지 않고 0 값을 가질 때, 채널 구성에 대한 정확한 정의가 뒤따른다. 그렇지 않다면, 14496-3 하위부분(subpart) 테이블 1.11의 채널 구성이 적용된다.
단계 60에 의해, 특히 오리지널 MP3 오디오 데이터 스트림(10)의 프레임 헤더(14) 내의 모든 중복 정보를 포함하는 파일 헤더 내의 요소 MPEG_1_2_SpecificConfig를 제공함으로써, 단계 56의 채널 요소 길이의 삽입에 의한 것과 같은 데이터 이징 디코딩의 삽입 동안, 프레임 헤더의 이러한 중복 부분이 생성되는 MPEG-4 파일 내에서의 이들 정보의 복구 불능한 손실에 이르지 않으며, 이러한 수정된 부분이 MPEG-4 파일 헤더를 기반으로 해서 재생성될 수 있다는 것이 보장된다.
이어, 단계 62에서, MPEG-4 오디오 데이터 스트림이 단계 60에서 생성된 MPEG-4 파일 헤더의 순서에 의해 출력되고, 채널 요소들이 그들에 연합된 시간 마크 순서에 따라 출력되며, 전체 MPEG-4 오디오 데이터 스트림은 MPEG-4 파일로 되거나 MPEG-4 시스템에 의해 전송된다.
상기의 설명은 MP3 오디오 데이터 스트림을 MPEG-4 오디오 데이터 스트림으로 변환하는 것에 관한 것이었다. 그러나, 도 2의 점선으로 표시된 부분에서 알 수 있는 바와 같이, 2개의 MP3 코더, 즉 (30 및 30')로부터의 2개 이상의 MP3 오디오 데이터 스트림을 MPEG-4 멀티-채널 오디오 데이터 스트림으로 변환하는 것도 또한 가능하다. 이 경우, MP3-MPEG-4 컨버터(32)가 모든 코더(30 및 30')의 MP3 오디오 데이터 스트림을 수신하여 MPEG-4 포맷의 멀티-채널 오디오 데이터 스트림을 출력한다.
상부 중간 부분에서도 5는 도 4의 설명과 관련하여 MPEG-4에 따른 멀티-채널 오디오 데이터 스트림이 얻어질 수 있는 방식에 대해서 나타내며, 여기서의 변환 역시 컨버터(32)에 의해 수행된다. 3개의 채널 요소 시퀀스(70, 72 및 74)가 도시되었는데, 이들은 단계 40-56에 따라 MP3 코더(30 또는 30')에 의해 하나의 오디오 신호로부터 생성되었던 것이다. 모든 채널 요소 시퀀스(70, 72 및 74)에서, 2개의 개별 채널 요소들을 볼 수 있으며, 각각 (70a, 70b, 72a, 72b 또는 74a, 74b)이다. 도 5에서 배치된 채널 요소들은, 여기에서 (70a-74a 또는 70b-74b)들이 각각 동일한 시간 마크에 서로 연합된다. 시퀀스 70의 채널 요소는, 예를 들어, 전면 좌,우측(전면)에 적합한 형식에 따라 레코딩된 오디오 신호를 코딩하고, 시퀀스(72 및 82)는 다른 방향으로부터이거나 다른 주파수 스펙트럼, 이를테면 중앙 전면 라우드스피커(중앙) 및 뒷면 우측 및 좌측(서라운드)으로부터의 동일한 오디오 소스의 레코딩을 나타내는 오디오 신호를 코딩한다.
화살표(76)로 지시한 바와 같이, 이들 채널 요소는, 아래 억세스 유닛(access unit)(78)에서 참조되는 MPEG-4 오디오 데이터 스트림으로 출력(도 3의 단계 62 참조) 동안 유닛에 결합된다. 따라서, MPEG-4 오디오 데이터 스트림에서는, 억세스 유닛(78) 내의 데이터는 언제나 시간 마크에 관련된다. 여기서는 전면, 중앙 및 서라운드 채널 순서인, 억세스 유닛(78) 내의 MP3 채널 요소들(70a, 72a 및 74a)의 배치는, ISO/IEC 14496-3의 하위부분을 참조하여, 콜 파라미터 채널 구성을 AudioSpecificConfig에 셋팅함으로써 생성되는(도 3의 단계 60 참조) MPEG-4 오디오 데이터 스트림에 대해 생성된 파일 헤더 내에 있다고 고려된다. 억세스 유닛(78)은 그들의 시간 마크 순서에 따라 MPEG-4 스트림에 다시 순서대로 배치되고 그 앞에 MPEG-4 파일 헤더가 배치된다. 파라미터 ChannelConfiguration는 MPEG-4 파일 헤더에 적합하게 셋팅되어서 억세스 유닛에서의 채널 요소의 순서 또는 디코더 측에서 그들의 중요성을 나타낸다.
상술한 도 5의 설명에서와 같이, 본 발명이 제안한 바에 따라서 MP3 오디오 데이터 스트림이 데이터 블럭으로부터 자기충족적 채널 요소를 얻도록 조절될 때, 즉 이 경우에는 하나의 시간 마크에 대한 모든 데이터가 하나의 채널 요소에 포함되고 또한 개별 채널의 이들 채널 요소들이 용이하게 억세스 유닛으로 결합될 수 있을 때이며, 그럴 경우에 MP3 오디오 데이터 스트림을 멀티-채널 오디오 데이터 스트림으로 결합하는 것은 매우 쉽다.
본 설명은 하나 또는 여러개의 MP3 오디오 데이터 스트림을 MPEG-4 오디오 데이터 스트림으로 변환하는 것에 관한 것이었다. 그러나, 이를테면 동일한 전송률을 가지는 각각의 자기충족적 MP3 채널 요소의 개선된 취급성(mangeability) 및 멀티 채널 전송의 가능성과 같은, 얻어지는 MPEG-4 오디오 데이터 스트림의 모든 장점이 새로운 디코더로 기존의 MP3 코더를 대체하지 않고도 이용될 수 있다는 것과, 재변환 또한 어렵지 않게 수행될 수 있어서 그것이 상술한 MPEG-4 오디오 데이터 스트림의 디코딩 동안 이용될 수 있다는 것은 본 발명의 중요한 연구 결과이다.
도 6에서, 하기에서 그 동작 모드가 상세하게 설명될 MP3 재생생기(reconstructor)(100)의 배치와, MP3 디코더(102, 102' …)의 배치가 도시되었다. MP3 재생성기는 입력측에서 상술한 실시예 중의 하나로부터 생성된 MPEG-4 오디오 데이터 스트림을 수신하고, 하나, 또는 멀티 채널 오디오 데이터 스트림의 경우에는 여러개의 MP3 오디오 데이터 스트림을 하나, 또는 여러개의 MP3 디코더(102, 102' …)로 출력하는데, 이들은 그 자체가 각각 수신된 MP3 오디오 데이터 스트림을 각 오디오 신호로 디코딩하고 나서 그를 채널 구성에 따라 배치된 각 라우더스피커로 보낸다.
도 5에 따라 생성된 MPEG-4 오디오 데이터 스트림의 오리지널 MP3 오디오 데이터 스트림의 재생성에 대해서 특별히 심플한 방식이 도 5의 하부 및 도 7을 참조하여 설명될 것이며, 여기서 이들 단계는 도 6의 MP3 재생성기에 의해 수행된다.
먼저, MP3 재생성기(100)는 단계 110에서, AudioSpecificConfig에 따른 파일 헤더 내의 콜 파라미터 audioObjectType이 29 값을 포함하는지 여부를 체크함으로써, 입력측에서 수신된 MPEG-4 오디오 데이터 스트림이 재포맷된(reformatted) MP3 오디오 데이터 스트림인지 검증한다. 만약 그것이 (AudioSpecificConfig의 7 행)인 경우에, MP3 재생성기(100)는 MPEG-4 오디오 데이터 스트림의 파일 헤더의 구문 분석을 시작하고, MPEG-4 오디오 데이터 스트림이 얻어졌었던 MPEG_1_2_SpecificConfig 부분으로부터 오리지널 MP3의 모든 프레임 헤더의 중복 부분을 판독한다 (단계 112).
MPEG_1_2_SpecificConfig를 평가한 후에, MP3 재생성기(100)는 단계 114에서 모든 채널 요소(74a-74c)의 각각의 헤더 hF, hC, hS 내의 채널 요소의 하나 또는 여러 부분을 MPEG_1_2_SpecificConfig의 구성성분, 특히 MPEG_1_2_SpecificConfig로부터의 동기 문자로 대체하여서, 화살표(116)로 지시된 오리지널 MP3 오디오 데이터 스트림 프레임 헤더 HF, HC, HS를 얻는다. 단계 118에서, MP3 재생성기(100)는 MPEG-4 오디오 데이터 스트림의 모든 채널 요소 내의 사이드 정보 Sf, Sc 및 Ss를 수정한다. 특히, 백포인터는 새로운 사이드 정보 S'F, S'C 및 S'S를 얻도록 0 으로 설정된다. 단계 118에서의 조절은 도 5에서 화살표(120)으로 나타내었다. 이어, 단계 122에서, MP3 재생성기(100)는, 단계 114에서 최고 허용 값(highest allowable value)까지의 채널 요소 길이 표시 대신에 동기 문자가 제공된, 모든 채널 요소(74a-74c)의 프레임 헤더 HF, HC, HS 내의 비트율 인덱스를 설정한다. 마지막으로, 얻어진 헤더들은 오리지널의 것과 다르며, 이는 도 5에서 생략부호를 붙여서 H'F, H'C, H'S으로 나타내었다. 단계 122에서의 채널 요소 조절은 또한 화살표(116)에 의해 나타내었다.
단계 114-122에서의 변경을 다시 설명하기 위해, 각각의 파라미터들이 도 5에 헤더 H'F 및 사이드 인덱스 부분 S'F 에 대해 기입되었다. 부호 (124)에서 헤더 H'F의 개별 파라미터가 표시되었다. 프레임 헤더 H'F는 파라미터 동기 문자와 함께 시작된다. 동기 문자는 그것이 모든 MP3 오디오 데이터 스트림에서의 경우와 같이 오리지널 값(단계 114), 즉 0×FFF으로 설정된다. 일반적으로, 단계 114-122 후에 얻어진 프레임 헤더 H'F는, 단지 비트율 인덱스가 MP3 표준에 따른 0×E인 최고 허용 값으로 설정된다는 사실에 의해, 오리지널 MP3 오디오 데이터 스트림에 포함된 오리지널 MP3 프레임 헤더와는 다르다.
비트율 인덱스 변경의 목적은 새롭게 생성된 MP3 오디오 데이터 스트림에 대 한 새로운 프레임 길이 또는 데이터 블럭 길이 각각을 획득하는 것이며, 이는, 그로부터 억세스 유닛(78)을 갖는 MPEG-4 오디오 데이터 스트림이 생성되었던 오리지널 MP3 오디오 데이터 스트림 중의 하나 보다 크다. 여기에서 비결은 MP3 포맷에서 프레임 길이 바이트는 언제나 하기식에 따른 비트율에 의존한다는 것이다:
MPEG1 3층에 대해:
프레임 길이[비트]=1152*비트율[비트/s]/샘플률[비트/s] +
+ 8*패딩비트(paddingbit)[비트]
MPEG2 3층에 대해:
프레임 길이[비트]=576*비트율[비트/s]/샘플률[비트/s] +
+ 8*패딩비트(paddingbit)[비트]
다시 말해서, 표준에 따른 MP3 오디오 데이터 스트림의 프레임 길이는 비트율에 직접 비례하고, 샘플률에 간접 비례한다. 추가적인 값으로서, 패딩비트의 값이 더해지며, 이는 MP3 프레임 헤더 hF, hC, hS에 표시되고 또한 정확하게 비트율을 설정하는데 이용될 수 있다. 샘플률은 디코딩된 오디오 신호가 재생되는 속도를 결정하기 때문에 고정된다. 오리지널 셋팅과 비교하여 비트율을 변환하는 것은 새롭게 생성되는 MP3 오디오 데이터 스트림의 데이터 블럭 길이에서의 그러한 MP3 채널 요소(74a-74c)를 조절할 수 있게 하며, 오리지널 오디오 데이터 스트림을 생성하기 위해 비트 저장소로부터 비트를 취함으로써 메인 데이터가 생성되었기 때문에, 이는 오리지널보다 더 길다.
따라서, 본 실시예에서는 비트율 인덱스가 항상 최고 허용 값으로 설정되었지만, 가장 긴 MP3 채널 요소(74a-74c)가 그들의 길이로부터 맞도록, 비트율 인덱스를 MP3 표준에 따른 데이터 블럭 길이를 얻기에 충분한 값까지만 증가시키는 것 또한 가능하다.
부호(126)에서, 백포인터 메인_데이터_시작이, 얻어진 사이드 정보에서 0 으로 설정된다는 것이 설명되었다. 이는 단지 도 7의 방법에 의해 생성된 MP3 오디오 데이터 스트림에서 데이터 블럭이 항상 자기 충족적이므로, 어느 프레임 헤더 및 사이드 정보에 대한 메인 데이터가 항상 사이드 정보 직후에 시작해서 동일한 데이터 블럭 내에서 끝난다는 것을 의미한다.
단계 114, 118, 122는, 모든 채널 요소 각각을 그들의 억세스 유닛으로부터 추출함으로써, 모든 채널 요소에서 수행되며, 채널 요소 길이 표시는 추출 동안 유용한다.
이어, 단계 128에서, 비트와는 상관없이 그 정도의 충진 데이터가 모든 채널 요소(74a-74c)에 추가되어서 모든 MP3 채널 요소의 길이를 새로운 비트율 인덱스 0×E에 의해 설정된 만큼까지의 MP3 데이터 블럭 길이로 단일하게 증가시킨다. 이들 충진 데이터는 도 5에서 부호(128)로 나타내었다. 충진 데이터의 양은, 예를 들어 채널 요소 길이 표시 및 패딩비트를 평가함으로써, 모든 채널 요소에 대하여 계산 될 수 있다.
이어, 단계 130에서, 이전 단계에 따라 수정되어 도 5에서 부호(74'a-74'c)로 도시된 채널 요소들은 코딩된 시간 마크의 순서대로 각 MP3 디코더 또는 MP3 오디오 데이터 스트림의 데이터 블럭과 같은 MP3 디코더 실체(entity)로 전달된다. MPEG-4 파일 헤더는 생략되었다. 얻어진 MP3 오디오 데이터 스트림들은 도 5에서 일반적으로 부호(132a, 132b 및 132c)로 나타내었다. MP3 디코더 실체(134a-134c)는, 예를 들어, 개별 억세스 유닛에 포함된 채널 요소와 동일한 수로 사전에 초기화되었다.
MP3 재생성기(100)는, MPEG-4 오디오 데이터 스트림의 AudioSpecificConfig 내의 콜 파라미터 channelConfiguration에 대한 평가로부터, MPEG-4 오디오 데이터 스트림의 억세스 유닛(78)의 어느 채널 요소(74a-74c)가, 어느 생성되는-MP3(to-be-generated MP3) 오디오 데이터 스트림에 속하는지를 알고 있다. 따라서, 전면 라우더 스피커와 연결된 MP3 디코더 실체(134a-134c)가 전면 채널에 해당하는 오디오 데이터 스트림(132a)을 수신하고, MP3 디코더 실체(134b 및 134c)는 그들 각각에 대응하면서 또한 중앙과 서라운드 채널에 결합된 오디오 데이터 스트림(132b 및 134c)을 수신하여 각각 배치된 라우더 스피커 예를 들어 서브우퍼(subwoofer) 또는 뒷면 좌측, 뒷면 우측에 각각 배치된 라우더스피커로, 얻어진 오디오 신호를 출력한다.
물론, 디코더 실체(102, 102' 또는 134a-134c)를 갖는 도 6의 배치에 의해 MPEG-4 오디오 데이터 스트림의 실시간 코딩을 하기 위해서는, 단계 122에서 증가 되어 오리지널 오디오 데이터 스트림(10) 보다 높은 비트율로, 새롭게 생성된 MP3 오디오 데이터 스트림을 전송할 것이 요구되지만, 그러나 이는 MP3 재생성기(100)와 MP3 디코더(102, 102' 또는 134a-134c) 간의 배치가 고정되어서, 전송 경로들이 그만큼 짧으며 보다 낮은 비용 및 노력으로 그만큼 높은 데이터율을 갖게 디자인될 수 있기 때문에, 문제가 되지 않는다.
도 7을 참조하여 설명된 실시예에 따르면, 도 5에서 오리지널 오디오 데이터 스트림으로부터 얻어진 MPEG-4 멀티-채널 오디오 데이터 스트림은 오리지널 MP3 오디오 데이터 스트림으로 정확하게 재변환되지는 않았지만, 그것으로부터 다른 오디오 데이터 스트림이 생성되었으며, 이때 오리지널 오디오 데이터 스트림과는 대조적으로 모든 백포인터가 0 으로 설정되며 비트율 인덱스는 최고값으로 설정된 것이다. 따라서 어느 시간 마크에 연합된 모든 데이터가 동일한 데이터 블럭(74'a-74'c)에 포함되고 충진 데이터가 데이터 블럭 길이를 단일 값으로 증가시키는 데 사용되었는 한, 이들 새롭게 생성된 MP3 오디오 데이터 스트림의 데이터 블럭은 또한 자기-충족적이다.
도 8은 도 1-5의 실시예에서 생성된 MPEG-4 오디오 데이터 스트림을 각각 오리지널 MP3 오디오 데이터 스트림 또는 오리지널 MP3 오디오 데이터 스트림들로 재변환할 수 있는 방법에 관한 실시예를 보여준다.
이 경우에, MP3 재생성기(100)는 단계 150에서, 단계 110에서와 똑같이, MPEG-4 오디오 데이터 스트림이 재포맷된 MP3 오디오 데이터 스트림인지를 테스트한다. 후속 단계 152 및 154 또한 도 7 과정의 단계 112 및 114와 대응된다.
프레임 헤더 내의 사이드 정보 및 비트율 인덱스의 백포인터를 변경하는 대신에, MP3 재생성기(100)가, 도 8의 방법에 따라, 단계 156에서 MPEG-4 오디오 데이터 스트림으로 변환된 오리지널 MP3 오디오 데이터 스트림의 오리지널 데이터 블럭 길이를 샘플률, 비트율 및 패딩비트를 기반으로하여 재생성한다. 샘플률 및 패딩 표시는 MPEG_1_2_SpecificConfig에 표시되고, 만약 비트율이 프레임마다 다르다면, 비트율은 모든 채널 요소에서 표시된다.
오리지널 및 재생성되는 오디오 데이터 스트림의 오리지널 프레임 길이를 계산하는 식은 이미 설명한 바 있는 아래 식이다:
MPEG1 3층에 대해:
프레임 길이[비트]=1152*비트율[비트/s]/샘플률[비트/s] +
+ 8*패딩비트(paddingbit)[비트]
MPEG2 3층에 대해:
프레임 길이[비트]=576*비트율[비트/s]/샘플률[비트/s] +
+ 8*패딩비트(paddingbit)[비트]
이어, MP3 오디오 데이터 스트림 또는 MP3 오디오 데이터 스트림들 각각은 각 채널로부터의 각 프레임을 계산된 데이터 블럭의 간격에 배치함으로써 재생되며, 그 간격은 각 오디오 데이터 또는 메인 데이터를 사이드 정보의 포인터로 지시 된 지점에 삽입함으로써 채워진다. 도 7 또는 5의 각 실시예와는 다르게, 각 헤더 또는 각 사이드 정보에 각각 연합된 메인 데이터들은 MP3 오디오 데이터 스트림에 있어서 백포인터에 의해 지시된 지점의 시작으로 삽입된다. 또는, 다시 말해서, 동적(dynamic) 메인 데이터의 시작은 메인_데이터_시작의 값에 대응하는 오프셋(offset)이다. MPEG-4 파일 헤더는 생략된다. 얻어진 MP3 오디오 데이터 스트림 또는 얻어진 MP3 오디오 데이터 스트림들 각각은, MPEG-4 오디오 데이터 스트림이 기반으로 하고 있는 오리지널 MP3 오디오 데이터 스트림들과 대응된다. 따라서 이들 MP3 오디오 데이터 스트림은 기존의 MP3 디코더에 의해서, 도 7의 오디오 데이터 스트림과 같이 오디오 신호로 디코딩될 수 있다.
이전 설명과 관련하여, 싱글-채널 MP3 오디오 데이터 스트림으로 설명된 MP3 오디오 데이터 스트림은 이미 실제로 어느 지점에서는 ISO/IEC 표준 13818-3에 따라 정의된 2-채널 MP3 오디오 데이터 스트림이었었지만, 본 발명에 대한 이해와 관련하여 아무런 변화를 주지 않기 때문에 그에 대해 상세하게 설명하지 않았다는 것을 유념하여야 한다. 디코더 측에서 입력 채널을 벌충하기 위한 전송된 채널로부터의 매트릭스 동작과 이들 멀티-채널 신호에서 여러 백포인터의 사용하는 것에 대해서는 논의되지 않았지만, 각각의 표준을 참조한다.
상기의 실시예들은 MP3 데이터 블럭을 MPEG-4 파일 포맷인 변경된 형태로 저장하는 것을 가능하게 하였다. MPEG-1/2-오디오-3-층, 숏(short) MP3 또는 MPEG 2.5와 같은 독점적인 포맷 또는 그들로부터 파생된 mp3PRO는 이들 과정을 기반으로 하여 MPEG-4 파일로 압축될 수 있어서, 이 새로운 표현은 임의의 채널 수의 멀티- 채널 표현을 단순한 방식으로 나타낸다. 표준 ISO/IEC 13818-3로부터의 복잡하고 어려운 방법을 사용하는 것이 필요치 않다. 특히, MP3 데이터 블럭들은 모든 블럭들이 -억세스 유닛의 채널 요소- 정의된 시간 마크에 속하도록 압축된다.
상술한 실시예들에서 디지털 신호 표현의 포맷을 변경하기 위해, 표현의 일부가 다른 데이터로 겹쳐쓰기 되었다. 다시 말해서, 디코더에 필요하거나 유용한 정보가 데이터 스트림 내의 다른 블럭들에 대해서 일정한 MP3 데이터 블럭 부분과 교차하여 씌여진다는 것이다.
여러개의 모노 또는 스테레오 데이터 블럭을 MPEG-4 파일 포맷의 억세스 유닛으로 압축함으로써, 멀티-채널 표현이 얻어질 수 있고, 이는 표준 ISO/IEC 13818-3으로부터의 표현에 비해 다루기가 훨씬 더 용이하다.
이전 실시예들에서의 MP3 데이터 블럭의 표현은, 어느 시간 마크에 속하는 모든 데이터들 또한 하나의 억세스 유닛 내에 속하도록 하는, 다른 방식으로 포맷되었다. 이는 오리지널 MP3 데이터 블럭에서의 요소 메인_데이터_시작 또는 백포인터가 각각 더 앞선 데이터 블럭을 지시할 수 있기 때문에, MP3 데이터 블럭에서의 일반적인 경우가 아니다.
오리지널 데이터 스트림의 재생성이 또한 수행될 수 있다(도 8). 이는 알 수 있는 바와 같이, 복구된 데이터 스트림들이 모든 동조된 디코더에 의해 처리될 수 있다는 것을 의미한다.
무엇보다도, 상술한 실시예들은 2 개 이상의 채널의 코딩 또는 디코딩을 할 수 있게 한다는 것이다. 더욱이, 상술한 실시예들에서는, 멀티-채널 포맷을 얻기 위해서는 이미 코딩된(ready-coded) MP3 데이터들이 단지 단순한 연산에 의해 재포맷되면 된다. 반면에, 코더 측에서는 단지 이러한 연산 또는 연산들이 각각 역으로 수행되면 된다.
MP3 데이터 스트림은 통상 다른 길이의 데이터 블럭을 포함하지만, 하나의 블럭에 속하는 동적 데이터는 이전 블록들 내로 압축될 수 있기 때문에, 상술한 실시예들은 동적 데이터를 사이드 정보 바로 뒤에 집어넣었다. 얻어진 MPEG-4 오디오 데이터 스트림은 일정한 중간 정도의 비트율을 갖는 반면에, 다른 길이의 데이터 블럭을 갖는다. 요소 메인_데이터_시작 또는 백포인터 각각은 변경되지 않은 방식으로 전송되어서 오리지널 데이터 스트림의 복제를 보장한다.
더욱이, 도 5를 참조하여, MPEG-4 구문(syntax)의 확장이 MP3 채널 요소인 여러개의 MP3 데이터 블럭을 MPEG-4 파일 내의 하나의 멀티-채널 포맷으로 압축하는데 설명되었다. 시간의 하나의 지점에 속하는 모든 MP3 채널 요소 엔트리들(entries)이 하나의 억세스 유닛에 압축되었다. MPEG-4 표준에 대응하여, 코더측에서의 구성에 대한 적합한 정보가 소위 AudioSpecificConfig로부터 취해질 수 있다. audioObjectType과는 별도로, 샘플률 및 채널 구성 등등이 각 audioObjectType와 관련된 디스크립터(descriptor)를 포함한다. 이 디스크립터가 상기 MPEG_1_2_SpecificConfig와 관련하여 설명되었다.
이전의 실시예들에 따르면, 헤더의 12-비트 MPEG-1/2 동기문자가 각 MP3 채널 요소의 길이에 의해 대체되었다. 그러므로 ISO/IEC 13818-3에 따르면, 12 비트는 충분하다. 잔여 헤더는 더이상 수정되지 않았지만, 전송되어지는 정보의 양을 줄이도록, 예를들어, 동기문자를 제외한 프레임 헤더 및 나머지 중복 부분을 단축하도록 행해질 수 있다.
상술한 실시예들의 다른 변형물들이 용이하게 실시될 수 있다. 따라서, 도 3, 7, 8의 단계의 순서는 변경될 수 있는데, 특히 도 3의 단계 42, 50, 56, 60, 그리고 도 7의 단계 11, 114, 118, 122 및 128, 그리고 도 8의 152, 154, 156이 그러하다.
나아가, 도 3, 7, 8과 관련해서, 거기에 도시된 단계들은 도 2 또는 6의 컨버터 또는 재생성기에서 각 특성에 의해 수행될 수 있으며, 이들은 예를 들어 컴퓨터 또는 배선 회로(hard-wired circuit)로 구현될 수 있음을 유념해야 한다.
도 7의 실시예에서, 사이드 정보의 헤더 조절은 MP3 디코더의 수신기 또는 디코더측 각각에서 오리지널 MP3 데이터 스트림에 비해 약간 변경된 MP3 데이터 스트림에 대해 수행되었다. 많은 응용의 경우에는, 이들 단계를 코더 또는 송신기측 각각에서 수행되는 것이 이로울 수 있는데, 이는 수신기 장치는 보통 대량 생산 장치이어서, 수신기측의 전자공학적인 절약이 훨씬 더 높은 이득을 주기 때문이다. 대안적인 실시예에 따르면, 이들 단계들은 이미 MP3-MPEG-4 포맷 변환 동안 수행되도록 정해질 수 있다. 이러한 대안적인 포맷 변환 방법에 따른 단계들이 도 9에 도시되며, 도 3에서의 단계들과 동일한 단계들은 동일한 부호가 부여되고, 반복을 피하기 위해 재차 설명되지 않는다.
먼저, 변환되는 MP3 오디오 데이터 스트림이 단계 40에서 수신되고, 단계 42에서 시간 마크에 부속하거나, 또는 각 시간 마크에 부속하는 MP3 오디오 데이터 스트림에 의해 코딩되는 오디오 신호의 시간 주기의 코딩을 표현하는, 오디오 데이터들 각각이 연속 블럭으로 결합되며, 이는 모든 시간 마크에 대하여 그러하다. 헤더들은 채널 요소들을 얻도록 다시 연속 블럭들에 추가된다 (단계 50). 그러나, 헤더들은 단지 단계 56에서와 같이 각 채널 요소의 길이를 가지는 동기 문자를 대체함으로써 수정되는 것이 아니다. 오히려, 도 7의 단계 118 및 122 단계에 대응되는 180 및 182에서 더 많은 수정이 뒤따른다. 단계 180에서, 모든 채널 요소의 사이드 정보 내의 포인터는 0 으로 설정되고, 단계 182에서, 모든 채널 요소의 헤더의 비트율 인덱스는 상술한 바와 같이 비트율에 의존하는 MP3 데이터 블럭 길이가, 헤더 및 사이드 정보의 사이즈와 더불어, 이러한 채널 요소 또는 시간 마크에 속하는 모든 오디오 데이터를 포함하기에 충분하도록 변경된다. 단계 182는 계속되는 채널 요소들의 헤더 내의 패딩비트를 변경하는 것을 포함하여서, 단계 118 및 122 없이, 도 9의 방법에 의해 형성된 MPEG-4 오디오 데이터 스트림을 도 7의 방법에 따라 동작하는 디코더에 공급한 후에, 정확한 비트율을 산출할 수 있게 된다. 패딩은 물론 단계 128 내의 디코더측에서 수행될 수도 있다.
단계 182에서, 비트율 인덱스를, 단계 122와 관련해서 설명한 바와 같이, 최고 허용값이 아닌 것으로 설정하는 것이 유용할 수 있다. 그 값은 또한, 계산된 MP3 프레임 길이 내에서 채널 요소의 모든 오디오 데이터, 헤더 및 사이드 정보를 취하기에 충분한 최소값으로 설정될 수도 있는데, 이는 또한 훨씬 적은 계수를 가지는 코딩된 오디오 조각의 구절에 대한 경우에, 비트율 인덱스가 축소된다는 것을 의미할 수 있다.
이러한 변경들 후에, 단계 60 및 62에서, 단순히 파일 헤더 (AudioSpecificConfig)가 생성되어 MP3 채널 요소들과 함께 MPEG-4 오디오 데이터 스트림으로서 출력된다. 그것은 이미 언급한 바와 같이, 도 7의 방법에 따라 재생(play)되는데, 하지만 여기에서 단계 118 및 122는 생략될 수 있으며, 이는 디코더측에서의 이행을 덜어준다. 그러나 단계 42, 50, 56, 180, 182 및 60은 어떠한 순서로도 수행될 수 있다.
앞선 설명은 단지 전형적으로 고정된 데이터 블럭 비트 길이를 가지는 MP3 데이터 스트림에 관한 것이었다. 물론, 가변적인 데이터 블럭 길이를 가지는 MP3 데이터 스트림들이 앞선 실시예들에 따라 처리될 수 있으며, 이때 비트율 인덱스, 또한 그로인한 데이터 블럭 길이는 프레임마다 변경된다.
앞선 설명은 MP3 오디오 데이터 스트림들에 관한 것이었다. 다른 논-포인터-기반(non-pointer-based) 오디오 데이터 스트림들에서는 본 발명의 실시예가, 전형적인 하나의 MPEG ½ 2층 오디오 데이터 스트림의 데이터 블럭 내의 헤더에 대한 수정을 제공하는데, 이 오디오 스트림은, 그 헤더들과는 별도로, 부속 사이드 정보 및 부속 오디오 데이터를 포함하여서 이미 MPEG-4 오디오 데이터 스트림을 생성하는 데 자기충족인 것이다. 그 수정은 모든 헤더에 각 데이터 블럭과 각 데이터 블럭내의 오디오 데이터의 데이터 양을 표시하는 길이 표시를 제공하여, 상술한 도 5와 관련한 설명에서와 같이, 특히 MPEG-4 데이터 스트림이 여러개의 MPEG ½ 2층 오디오 데이터 스트림과 결합하여 멀티-채널 오디오 데이터 스트림으로 될 때, 더 용이하게 디코딩될 수 있다. 바람직하게 수정은 상술한 설명에서의 방식과 유사하 게 MPEG ½ 2층 오디오 데이터 스트림의 헤더들에서 그것의 동기문자 또는 또다른 중복 부분을 그 길이 표시로 대체함으로써 얻어진다. 하나의 시간 마크에 부속하는 오디오 데이터의 결합에 의한 도 5 이전의 포인터 재포맷이나 분해는 2층 데이터 스트림에서 생략될 수 있는데, 거기에는 백포인터가 존재하지 않기 때문이다. 2 채널의 멀티-채널 오디오 데이터 스트림을 표현하는 2 MPEG 1/2 층 오디오 데이터 스트림과 결합된 MPEG-4 오디오 데이터 스트림을 디코딩하는 것은 길이 표시들을 판독하고, 그에 기반을 둔 억세스 유닛의 개별 채널 요소에 억세스함으로써 용이하게 수행될 수 있다. 그리하여 그것은 기존의 MPEG 1/2 층-호환 디코더에 전송될 수 있다.
나아가, 포인터-기반 오디오 데이터 스트림에서 백포인터가 정확하게 어디에 있는지는 본 발명에서 중요하지 않다. 그와 더불어 연속 결정 블럭을 정의하는 것이 직접 프레임 헤더 내에서 더 행해질 수 있다.
특히, 조건에 의존하는, 파일 포맷 변환에 대한 발명의 개념은 소프트웨어에서 또한 실시될 수 있음을 유념하여야 한다. 그러한 실시는 디지털 메모리 매개체, 특히 전자적으로 판독가능한 제어 신호를 가지는 디스크 또는 CD 상에 구현될 수 있는데, 이는 프로그램이 가능한 컴퓨터 시스템과 함께 각 방법이 수행될 수 있게 한다. 따라서, 일반적으로 본 발명은 또한 컴퓨터에서 실행될 때 본 발명의 방법을 수행하는, 기계-판독형(machine-readable) 캐리어에 저장된 프로그램 코드를 가는 컴퓨터 프로그램 제품으로 이루어진다. 다시 말해서, 본 발명은 컴퓨터에서 실행될 때 본 발명의 방법을 수행하는, 프로그램 코드를 가지는 컴퓨터 프로그램으로서 구현될 수도 있다는 것이다.

Claims (22)

  1. 코딩된 오디오 신호를 표현하며 시간 주기를 포함하고 제1 파일 포맷을 가지는 제1 오디오 데이터 스트림(10)을, 코딩된 오디오 신호를 표현하며 제2 파일 포맷을 가지는 제2 오디오 데이터 스트림으로 변환하는 방법으로서, 시간 주기는 다수의 오디오 값을 포함하고, 제1 파일 포맷에 따라, 제1 오디오 데이터 스트림은 후속 데이터 블럭(10a-10c)으로 분할되며, 데이터 블럭은 결정 블럭(14, 16)과 데이터 블럭 오디오 데이터(18)를 포함하며, 시간 주기의 코딩에 의해 얻어진 결정 블럭 오디오 데이터는 결정 블럭(14, 16)에 연합되며, 결정 블럭은 결정 블럭 오디오 데이터(12a-12c)의 시작을 지시하는 포인터를 포함하며, 결정 블럭 오디오 데이터(12a-12c)의 끝이 다음 데이터 블럭에 연합된 오디오 데이터 스트림의 결정 블럭 오디오 데이터(12b-12c) 전에 놓여지는 변환 방법에 있어서,
    제2 오디오 데이터 스트림의 일부를 형성하는 연속 결정 블럭 오디오 데이터(48)을 얻도록, 적어도 2개의 데이터 블럭의 결정 블럭에 연합된 결정 블럭 오디오 데이터(44, 46)을 결합하는 단계;
    채널 요소(52a)를 얻도록, 연속 결정 블럭 오디오 데이터(48)를, 결정 블럭 오디오 데이터(44, 46)가 연합되고 그로부터 상기 연속 결정 블럭 오디오 데이터가 얻어지는 상기 결정 블럭 (14, 16)에 추가(50)하는 단계;
    제2오디오 데이터 스트림을 얻도록, 상기 채널 요소를 배치하는 단계; 및
    채널 요소(54a-54c)가 데이터양 또는 연속 결정 블럭 오디오 데이터의 데이터양을 나타내는 길이 표시를 포함하도록 채널 요소(54a-54c)를 수정하는 단계(56)를 포함하고,
    상기 수정하는 단계(56)는 모든 결정 블럭과 동일한 중복 부분을 길이 표시로 대체하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    전체 결정 블럭을 제 2오디오 데이터 스트림 앞에 배치하는 단계(60, 62)를 더 포함하고, 전체 결정 블럭은 모든 결정 블럭들과 동일한 상기 중복 부분을 가지는 것을 특징으로 하는 방법.
  3. 제 1항 또는 제 2항에 있어서, 상기 결합하는 단계는:
    결정 블럭에서의 포인터를 판독하는 단계;
    적어도 두개의 데이터 블럭 중의 하나의 데이터 블럭 오디오 데이터에 포함된 결정 블럭 오디오 데이터의 제1부분을 판독하고, 결정 블럭의 포인터가 지시하는 결정 블럭 오디오 데이터의 시작을 포함하는 단계;
    상기 적어도 2개의 데이터 블럭 중 다른 데이터 블럭 오디오 데이터에 포함된 결정 블럭 오디오 데이터의 제2부분을 판독하고, 상기 결정 블럭 오디오 데이터의 끝을 포함하는 단계; 및
    상기 제1 및 제2 부분을 결합하는 단계를 포함하는 방법.
  4. 코딩된 제1오디오 신호를 표현하는 제1오디오 데이터 스트림과 코딩된 제2오디오 신호를 표현하는 제2오디오 데이터 스트림을 멀티-채널 오디오 데이터 스트림으로 결합하는 방법으로서:
    청구항 1 또는 2의 방법에 따라, 상기 제1오디오 데이터 스트림을 제1 서브(sub)-오디오 데이터 스트림으로 변환하는 단계; 및
    청구항 1 또는 2의 방법에 따라, 상기 제2오디오 데이터 스트림을 제2 서브-오디오 데이터 스트림으로 변환하는 단계를 포함하고,
    상기 배치하는 단계는, 상기 두개의 서브-오디오 데이터 스트림이 함께 멀티 채널 오디오 데이터 스트림을 형성하고, 상기 시간과 동일한 시간 주기의 코딩에 의해 얻어진 연속 결정 블럭 오디오 데이터를 포함하는 멀티 채널 오디오 데이터 스트림내의 상기 제1서브-오디오 데이터 스트림의 채널 요소들(70a)과 상기 제2서브-오디오 데이터 스트림의 채널 요소들(72a)이 연속 억세스 유닛(78)에서 연속적으로 배치되도록 수행되는 것을 특징으로 하는 방법.
  5. 제 4항에 있어서,
    상기 제2오디오 데이터 스트림 앞에 전체 결정 블럭을 위치시키는 단계를 더 포함하고,
    상기 전체 결정 블럭은 상기 제1서브-오디오 데이터 스트림의 채널 요소(70a)와 상기 제2서브-오디오 데이터 스트림의 채널 요소(72a)가 상기 억세스 유닛(78)에서 배치되는 순서를 표시하는 포맷 표시를 포함하는 것을 특징으로 하는 방법.
  6. 제 1항 또는 제 2항에 있어서,
    상기 데이터 블럭들은 동일하거나 또는 데이터 블럭의 상기 결정 블럭의 샘플률 표시 및 비트율 표시에 따라 예정된 가변 사이즈의 가지는 데이터 블럭들인 것을 특징으로 하는 방법.
  7. 코딩된 오디오 신호를 표현하고 시간 주기를 포함하며 제1파일 포맷을 가지는 제1오디오 데이터 스트림을, 코딩된 오디오 신호를 표현하고 제2파일 포맷을 가지는 제2오디오 데이터 스트림으로 변환하는 방법으로서, 시간 주기는 다수의 오디오 값을 포함하고, 상기 제1파일 포맷에 따라 상기 제1오디오 데이터 스트림은 후속 데이터 블럭들로 분할되며, 데이터 블럭은 결정 블럭과 데이터 블럭 오디오 데이터를 포함하는 변환 방법에 있어서:
    상기 데이터 블럭들이 상기 데이터 블럭의 데이터양 또는 상기 데이터 블럭 오디오 데이터의 데이터 량을 표시하는 길이 표시를 포함하여서 상기 데이터 블럭으로부터 상기 제2오디오 데이터 스트림을 형성하는 채널 요소를 얻도록 상기 데이터 블럭을 수정하는 단계를 포함하고,
    상기 수정하는 단계는 모든 결정 블럭과 동일한 중복 부분을 상기 길이 표시로 대체하는 단계를 포함하는 방법.
  8. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    포인터가 상기 결정 블럭 오디오 데이터의 시작으로서 상기 결정 블럭 오디오 데이터가 상기 각 결정 블럭 직후에 시작하도록, 상기 결정 블럭의 상기 포인터들을 재설정(180)하는 단계; 및
    상기 제1 오디오 파일 포맷에 따른 비트율 표시에 의존하는 데이터 블럭 길이가 상기 각 결정 블럭 및 상기 연합된 결정 블럭 오디오 데이터를 취하기에 충분하도록, 상기 결정 블럭의 상기 비트율 표시들을 변경하는 단계(182)를 더 포함하는 방법.
  9. 코딩된 오디오 신호를 표현하며 시간 주기를 포함하고 제2 파일 포맷을 가지는 제2 오디오 데이터 스트림을 디코더를 기반으로 하여 디코딩하는 방법으로서, 디코더는 코딩된 오디오 신호를 표현하며 제1 파일 포맷을 가지는 제1 오디오 데이터 스트림(10)을 오디오 신호로 디코딩 할 수 있으며, 시간 주기는 다수의 오디오 값을 포함하고, 제1파일 포맷에 따라 제1오디오 데이터 스트림은 연속 데이터 블럭(10a-10c)들로 분할되며, 데이터 블럭은 결정 블럭(14, 16)과 데이터 블럭 오디오 데이터(18)을 가지며, 시간 주기를 코딩함으로써 얻어진 결정 블럭 오디오 데이터는 상기 결정 블럭(14, 16)에 연합되며, 상기 결정 블럭은 상기 결정 블럭 오디오 데이터(12a-12c)의 시작을 지시하는 포인터를 포함하며, 상기 결정 블럭 오디오 데이터(12a-12c)의 끝은 다음 데이터 블럭에 연합된 상기 오디오 데이터 스트림에서 결정 블럭 오디오 데이터(12a-12c)의 시작 전이며, 상기 제2오디오 데이터 스트림은 제2 파일 포맷에 따라 채널 요소들로 분할되며, 채널 요소는 두개의 블럭으로부터의 결정 블럭에 연합된 결정 블럭 오디오 데이터와 상기 연합된 결정 블럭을 결합하여 얻어진 연속 결정 블럭 오디오 데이터(44, 46)을 포함하고, 상기 연합된 결정 블럭은, 모든 결정 블럭과 동일한 이전의 중복 부분이, 각 채널 요소의 데이터양 또는 각 연속 결정 블럭 데이터의 데이터양을 표시하는 길이 표시에 의해 대체되도록 수정된 형태인 디코딩 방법에 있어서:
    하기의 단계들에 의해 상기 제2오디오 데이터 스트림으로 부터, 코딩된 오디오 신호를 표현하고 제1파일 포맷을 가지는 입력 데이터 스트림을 형성하는 단계,
    상기 길이 표시를 사용하여 상기 제2 오디오 데이터 스트림을 구문 분 석하는 단계;
    포인터가 상기 결정 블럭 오디오 데이터의 시작으로서 상기 결정 블럭 오디오 데이터가 상기 각 결정 블럭 직후에 시작하여 재설정 결정 블 럭들을 얻도록 상기 제2오디오 데이터 스트림의 채널 요소들의 결정 블럭의 상기 포인터들을 재설정하는 단계;
    상기 제2오디오 데이터 스트림의 채널 요소들의 상기 결정 블럭내의 비트율 표시를 변경하여, 상기 제2오디오 파일 포맷에 따른 상기 비트 율 표시에 의존하는 데이터 블럭 길이가 각 결정 블럭 및 연합된 결정 블럭 오디오 데이터를 취하기에 충분하여서, 변경된 비트율 및 재설정 된 결정 블럭들을 얻는 단계; 및
    모든 채널 요소와 후속 채널 요소 사이에 비트를 삽입하여, 모든 채널 요소와 삽입된 비트의 합이 상기 변경된 비트율 표시에 맞도록 하는 단계, 및
    상기 오디오 신호를 얻도록, 상기 변경된 비트율 표시에 따라 상기 디코더에 상기 입력 데이터 스트림을 공급하는 단계를 포함하는 방법.
  10. 코딩된 오디오 신호를 표현하며 시간 주기를 포함하고 제1 파일 포맷을 가지는 제1 오디오 데이터 스트림(10)을, 코딩된 오디오 신호를 표현하며 제2 파일 포맷을 가지는 제2 오디오 데이터 스트림으로 변환하는 장치로서, 시간 주기는 다수의 오디오 값을 포함하고, 제1 파일 포맷에 따라, 제1 오디오 데이터 스트림은 후속 데이터 블럭(10a-10c)으로 분할되며, 데이터 블럭은 결정 블럭(14, 16)과 데이터 블럭 오디오 데이터(18)를 포함하며, 시간 주기의 코딩에 의해 얻어진 결정 블럭 오디오 데이터는 결정 블럭(14, 16)에 연합되며, 결정 블럭은 결정 블럭 오디오 데이터(12a-12c)의 시작을 지시하는 포인터를 포함하며, 결정 블럭 오디오 데이터(12a-12c)의 끝이 다음 데이터 블럭에 연합된 오디오 데이터 스트림의 결정 블럭 오디오 데이터(12b-12c) 전에 놓여지는 변환 장치에 있어서,
    제2 오디오 데이터 스트림의 일부를 형성하는 연속 결정 블럭 오디오 데이터(48)을 얻도록, 적어도 2개의 데이터 블럭의 결정 블럭에 연합된 결정 블럭 오디오 데이터(44, 46)을 결합하는 수단;
    채널 요소(52a)를 얻도록, 연속 결정 블럭 오디오 데이터(48)를, 결정 블럭 오디오 데이터(44, 46)가 연합되고 그로부터 상기 연속 결정 블럭 오디오 데이터가 얻어지는 상기 결정 블럭 (14, 16)에 추가(50)하는 수단;
    제2오디오 데이터 스트림을 얻도록, 상기 채널 요소를 배치하는 수단; 및
    채널 요소(54a-54c)가 데이터양 또는 연속 결정 블럭 오디오 데이터의 데이터양을 나타내는 길이 표시를 포함하도록 채널 요소(54a-54c)를 수정(56)하는 수단 을 포함하고,
    상기 수정(56)하는 수단은 모든 결정 블럭과 동일한 중복 부분을 길이 표시로 대체하는 것을 특징으로 하는 장치.
  11. 코딩된 오디오 신호를 표현하고 시간 주기를 포함하며 제1파일 포맷을 가지는 제1오디오 데이터 스트림을, 코딩된 오디오 신호를 표현하고 제2파일 포맷을 가지는 제2오디오 데이터 스트림으로 변환하는 장치로서, 시간 주기는 다수의 오디오 값을 포함하고, 상기 제1파일 포맷에 따라 상기 제1오디오 데이터 스트림은 후속 데이터 블럭들로 분할되며, 데이터 블럭은 결정 블럭과 데이터 블럭 오디오 데이터를 포함하는 변환 장치에 있어서:
    상기 데이터 블럭들이 상기 데이터 블럭의 데이터양 또는 상기 데이터 블럭 오디오 데이터의 데이터 량을 표시하는 길이 표시를 포함하여서 상기 데이터 블럭으로부터 상기 제2오디오 데이터 스트림을 형성하는 채널 요소를 얻도록 상기 데이터 블럭을 수정하는 수단을 포함하고, 상기 수정하는 단계는 모든 결정 블럭과 동일한 중복 부분을 상기 길이 표시로 대체하는 단계를 포함하는 장치.
  12. 코딩된 오디오 신호를 표현하며 시간 주기를 포함하고 제2 파일 포맷을 가지는 제2 오디오 데이터 스트림을 디코더를 기반으로 하여 디코딩하는 장치로서, 디코더는 코딩된 오디오 신호를 표현하며 제1 파일 포맷을 가지는 제1 오디오 데이터 스트림(10)을 오디오 신호로 디코딩 할 수 있으며, 시간 주기는 다수의 오디오 값을 포함하고, 제1파일 포맷에 따라 제1오디오 데이터 스트림은 연속 데이터 블럭(10a-10c)들로 분할되며, 데이터 블럭은 결정 블럭(14, 16)과 데이터 블럭 오디오 데이터(18)을 가지며, 시간 주기를 코딩함으로써 얻어진 결정 블럭 오디오 데이터는 상기 결정 블럭(14, 16)에 연합되며, 상기 결정 블럭은 상기 결정 블럭 오디오 데이터(12a-12c)의 시작을 지시하는 포인터를 포함하며, 상기 결정 블럭 오디오 데이터(12a-12c)의 끝은 다음 데이터 블럭에 연합된 상기 오디오 데이터 스트림에서 결정 블럭 오디오 데이터(12a-12c)의 시작 전이며, 상기 제2오디오 데이터 스트림은 제2 파일 포맷에 따라 채널 요소들로 분할되며, 채널 요소는 두개의 블럭으로부터의 결정 블럭에 연합된 결정 블럭 오디오 데이터와 상기 연합된 결정 블럭을 결합하여 얻어진 연속 결정 블럭 오디오 데이터(44, 46)을 포함하고, 상기 연합된 결정 블럭은, 모든 결정 블럭과 동일한 이전의 중복 부분이, 각 채널 요소의 데이터양 또는 각 연속 결정 블럭 데이터의 데이터양을 표시하는 길이 표시에 의해 대체되도록 수정된 형태인 디코딩 장치에 있어서:
    하기의 단계들에 의해 상기 제2오디오 데이터 스트림으로 부터, 코딩된 오디오 신호를 표현하고 제1파일 포맷을 가지는 입력 데이터 스트림을 형성하는 수단,
    상기 길이 표시를 사용하여 상기 제2 오디오 데이터 스트림을 구문 분 석하는 단계;
    포인터가 상기 결정 블럭 오디오 데이터의 시작으로서 상기 결정 블럭 오디오 데이터가 상기 각 결정 블럭 직후에 시작하여 재설정 결정 블 럭들을 얻도록 상기 제2오디오 데이터 스트림의 채널 요소들의 결정 블럭의 상기 포인터들을 재설정하는 단계;
    상기 제2오디오 데이터 스트림의 채널 요소들의 상기 결정 블럭내의 비트율 표시를 변경하여, 상기 제2오디오 파일 포맷에 따른 상기 비트 율 표시에 의존하는 데이터 블럭 길이가 각 결정 블럭 및 연합된 결정 블럭 오디오 데이터를 취하기에 충분하여서, 변경된 비트율 및 재설정 된 결정 블럭들을 얻는 단계; 및
    모든 채널 요소와 후속 채널 요소 사이에 비트를 삽입하여, 모든 채널 요소와 삽입된 비트의 합이 상기 변경된 비트율 표시에 맞도록 하는 단계, 및
    상기 오디오 신호를 얻도록, 상기 변경된 비트율 표시에 따라 상기 디코더에 상기 입력 데이터 스트림을 공급하는 수단을 포함하는 방법.
  13. 컴퓨터에서 실행되었을 때, 상기 청구항 1, 7 또는 9 중의 하나에 따른 방법을 수행하는 프로그램 코드를 가지는 컴퓨터 프로그램을 기록한 기록매체.
  14. 코딩된 제1오디오 신호를 표현하는 제1오디오 데이터 스트림과 코딩된 제2오디오 신호를 표현하는 제2오디오 데이터 스트림을 멀티-채널 오디오 데이터 스트림으로 결합하는 방법으로서:
    청구항 7의 방법에 따라, 상기 제1오디오 데이터 스트림을 제1 서브(sub)-오디오 데이터 스트림으로 변환하는 단계; 및
    청구항 7의 방법에 따라, 상기 제2오디오 데이터 스트림을 제2 서브-오디오 데이터 스트림으로 변환하는 단계를 포함하고,
    상기 배치하는 단계는, 상기 두개의 서브-오디오 데이터 스트림이 함께 멀티 채널 오디오 데이터 스트림을 형성하고, 상기 시간과 동일한 시간 주기의 코딩에 의해 얻어진 연속 결정 블럭 오디오 데이터를 포함하는 멀티 채널 오디오 데이터 스트림내의 상기 제1서브-오디오 데이터 스트림의 채널 요소들(70a)과 상기 제2서브-오디오 데이터 스트림의 채널 요소들(72a)이 연속 억세스 유닛(78)에서 연속적으로 배치되도록 수행되는 것을 특징으로 하는 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020067001445A 2003-07-21 2004-07-13 오디오 파일 포맷 변환 KR100717600B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10333071 2003-07-21
DE10333071.2 2003-07-21
DE10339498.2 2003-08-27
DE10339498A DE10339498B4 (de) 2003-07-21 2003-08-27 Audiodateiformatumwandlung

Publications (2)

Publication Number Publication Date
KR20060052854A KR20060052854A (ko) 2006-05-19
KR100717600B1 true KR100717600B1 (ko) 2007-05-15

Family

ID=34117364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067001445A KR100717600B1 (ko) 2003-07-21 2004-07-13 오디오 파일 포맷 변환

Country Status (12)

Country Link
US (1) US7769477B2 (ko)
EP (1) EP1647010B1 (ko)
JP (1) JP4405510B2 (ko)
KR (1) KR100717600B1 (ko)
AU (1) AU2004301746B2 (ko)
BR (1) BRPI0412889B1 (ko)
CA (1) CA2533056C (ko)
MX (1) MXPA06000750A (ko)
NO (1) NO334901B1 (ko)
PL (1) PL1647010T3 (ko)
RU (1) RU2335022C2 (ko)
WO (1) WO2005013491A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1647010B1 (de) 2003-07-21 2017-09-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiodateiformatumwandlung
WO2006126859A2 (en) 2005-05-26 2006-11-30 Lg Electronics Inc. Method of encoding and decoding an audio signal
KR100878766B1 (ko) * 2006-01-11 2009-01-14 삼성전자주식회사 오디오 데이터 부호화 및 복호화 방법과 장치
WO2008039038A1 (en) * 2006-09-29 2008-04-03 Electronics And Telecommunications Research Institute Apparatus and method for coding and decoding multi-object audio signal with various channel
US7912894B2 (en) * 2007-05-15 2011-03-22 Adams Phillip M Computerized, copy-detection and discrimination apparatus and method
US8806324B2 (en) * 2007-08-03 2014-08-12 Sap Ag Annotation data filtering of computer files
US20090067550A1 (en) * 2007-09-06 2009-03-12 Arie Heiman Method and system for redundancy-based decoding of audio content
KR101531510B1 (ko) * 2008-11-27 2015-06-26 엘지전자 주식회사 수신 시스템 및 오디오 데이터 처리 방법
KR101461685B1 (ko) * 2008-03-31 2014-11-19 한국전자통신연구원 다객체 오디오 신호의 부가정보 비트스트림 생성 방법 및 장치
EP2131590A1 (en) * 2008-06-02 2009-12-09 Deutsche Thomson OHG Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
EP2249334A1 (en) * 2009-05-08 2010-11-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio format transcoder
TWI384459B (zh) * 2009-07-22 2013-02-01 Mstar Semiconductor Inc 音框檔頭之自動偵測方法
US9183842B2 (en) * 2011-11-08 2015-11-10 Vixs Systems Inc. Transcoder with dynamic audio channel changing
EP2600343A1 (en) * 2011-12-02 2013-06-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for merging geometry - based spatial audio coding streams
US9111524B2 (en) 2011-12-20 2015-08-18 Dolby International Ab Seamless playback of successive multimedia files
JP5814802B2 (ja) * 2012-01-12 2015-11-17 ルネサスエレクトロニクス株式会社 オーディオ符号化装置
US9378748B2 (en) 2012-11-07 2016-06-28 Dolby Laboratories Licensing Corp. Reduced complexity converter SNR calculation
KR101992274B1 (ko) * 2013-01-02 2019-09-30 삼성전자주식회사 데이터 압축 방법과 상기 방법을 수행할 수 있는 장치들
EP3264644A1 (en) * 2016-07-01 2018-01-03 Nxp B.V. Multiple source receiver
US10535355B2 (en) 2016-11-18 2020-01-14 Microsoft Technology Licensing, Llc Frame coding for spatial audio data
US10187443B2 (en) * 2017-06-12 2019-01-22 C-Hear, Inc. System and method for encoding image data and other data types into one data format and decoding of same
US11588872B2 (en) 2017-06-12 2023-02-21 C-Hear, Inc. System and method for codec for combining disparate content
EP3761654A1 (en) * 2019-07-04 2021-01-06 THEO Technologies Media streaming
CN110415716B (zh) * 2019-07-05 2021-11-26 达闼机器人有限公司 音频混合方法、装置、存储介质及电子设备
CN112612668A (zh) * 2020-12-24 2021-04-06 上海立可芯半导体科技有限公司 一种数据处理方法、装置和计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009246A1 (en) * 2001-04-20 2003-01-09 Van De Kerkhof Leon Maria Trick play for MP3
EP1420401A1 (en) * 2002-11-14 2004-05-19 Deutsche Thomson-Brandt Gmbh Method and apparatus for converting a compressed audio data stream with fixed frame length including a bit reservoir feature into a different-format data stream

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596564A (en) * 1993-10-08 1997-01-21 Matsushita Electric Industrial Co., Ltd. Information recording medium and apparatus and method for recording and reproducing information
JPH07221716A (ja) 1994-01-31 1995-08-18 Sony Corp 情報信号伝送方法及び装置
JP3645027B2 (ja) * 1995-09-20 2005-05-11 松下電器産業株式会社 可変長データ送受信装置
JP3359581B2 (ja) 1998-11-25 2002-12-24 パイオニア株式会社 情報再生装置
CN100437528C (zh) * 1999-12-03 2008-11-26 松下电器产业株式会社 数据自适应装置、数据自适应方法
US6466476B1 (en) * 2001-01-18 2002-10-15 Multi Level Memory Technology Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell
JP2002279392A (ja) * 2001-03-22 2002-09-27 Kobe University 進化戦略計算システム、その方法及び記録媒体
WO2002086896A1 (en) 2001-04-20 2002-10-31 Koninklijke Philips Electronics N.V. Method and apparatus for editing data streams
AU2002305012A1 (en) 2001-05-24 2003-01-21 Vixs Systems Inc. Method and apparatus for managing resources and multiplexing a plurality of channels in a multimedia system
JP2003337596A (ja) 2002-05-20 2003-11-28 Teac Corp オ−ディオデータ処理方法及び装置
EP1647010B1 (de) 2003-07-21 2017-09-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiodateiformatumwandlung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009246A1 (en) * 2001-04-20 2003-01-09 Van De Kerkhof Leon Maria Trick play for MP3
EP1420401A1 (en) * 2002-11-14 2004-05-19 Deutsche Thomson-Brandt Gmbh Method and apparatus for converting a compressed audio data stream with fixed frame length including a bit reservoir feature into a different-format data stream

Also Published As

Publication number Publication date
JP2006528368A (ja) 2006-12-14
KR20060052854A (ko) 2006-05-19
JP4405510B2 (ja) 2010-01-27
CA2533056A1 (en) 2005-02-10
MXPA06000750A (es) 2006-03-30
PL1647010T3 (pl) 2018-02-28
RU2335022C2 (ru) 2008-09-27
US20060259168A1 (en) 2006-11-16
BRPI0412889B1 (pt) 2019-09-10
EP1647010A2 (de) 2006-04-19
EP1647010B1 (de) 2017-09-06
NO334901B1 (no) 2014-07-07
AU2004301746A1 (en) 2005-02-10
NO20060814L (no) 2006-04-20
RU2006105203A (ru) 2006-06-27
WO2005013491A2 (de) 2005-02-10
CA2533056C (en) 2012-04-17
AU2004301746B2 (en) 2008-04-10
WO2005013491A3 (de) 2005-03-24
BRPI0412889A (pt) 2006-10-03
US7769477B2 (en) 2010-08-03

Similar Documents

Publication Publication Date Title
KR100717600B1 (ko) 오디오 파일 포맷 변환
EP2228792A2 (en) Scalable lossless audio codec and authoring tool
KR20100089772A (ko) 오디오 신호의 부호화 및 복호화 방법 및 그 장치
KR20030071622A (ko) 디지털 정보 신호의 인코딩과 디코딩을 위한 방법 및 장치
JP5035458B2 (ja) 音声信号伝送装置、音声信号受信装置及び音声信号伝送システム
CN1826635B (zh) 音频文件格式转换
EP1420401A1 (en) Method and apparatus for converting a compressed audio data stream with fixed frame length including a bit reservoir feature into a different-format data stream
JP4244223B2 (ja) 音声符号化方法及び音声復号方法
KR100247348B1 (ko) 엠펙 오디오 디코더에서 메모리 사이즈를 최소화하기 위한 회로 및 방법
JP4148259B2 (ja) 音声符号化方法及び音声復号方法
JP3606456B2 (ja) 音声信号伝送方法及び音声復号方法
JP4148260B2 (ja) 音声符号化方法及び音声復号方法
JP4151030B2 (ja) 音声符号化方法及び音声復号方法
JP4196356B2 (ja) 音声符号化方法及び音声復号方法
JP4151033B2 (ja) 音声符号化方法及び音声復号方法
JP4151028B2 (ja) 音声符号化方法及び音声復号方法
JP2006171775A (ja) 音声符号化方法及び音声復号方法
JP2006171769A (ja) 音声符号化方法及び音声復号方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130425

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150504

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160503

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180426

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 13