CN100440316C - 具有环状缓冲器的音频译码***及方法 - Google Patents
具有环状缓冲器的音频译码***及方法 Download PDFInfo
- Publication number
- CN100440316C CN100440316C CNB2004100907195A CN200410090719A CN100440316C CN 100440316 C CN100440316 C CN 100440316C CN B2004100907195 A CNB2004100907195 A CN B2004100907195A CN 200410090719 A CN200410090719 A CN 200410090719A CN 100440316 C CN100440316 C CN 100440316C
- Authority
- CN
- China
- Prior art keywords
- audio
- ring buffer
- data stream
- minimum decoding
- decoding unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
本发明涉及一种具有环状缓冲器的音频译码***及方法,其接收并维持一音频数据流的同步,该音频数据流中包含多个最小译码单元,该***包含一环状缓冲器、一解析装置及一译码装置。解析装置通过音频数据流的特性及环状缓冲器的起始位置所隐含的同步机制,可使得音频数据流中的最小译码单元与环状缓冲器的起始位置对齐,当音频数据流在传输上因错误而导致数据有所增减时,则可达到自动同步的效果。
Description
技术领域
本发明涉及音频译码***及方法,特别是涉及一种具有环状缓冲器的音频译码***及方法。
背景技术
图1为一DVD播放装置100的方框图,其包含一用户界面28、一控制模块29、一主控单元21、一多路解码器22、一音频译码器231、一视频译码器232、一音频后段处理单元24、一音频输出单元25、一视频后段处理单元26及一视频输出单元27。DVD播放装置100通过光学读取装置(未图示)而读取记录在一光盘片(未图示)上的数据,而主控单元21将读取进来的视频音频流交给多路解码器22分为视频数据流(video stream)跟音频数据流(audio stream),并分别将音频数据流跟视频数据流输出至音频译码器231及视频译码器232。视频数据流经过视频译码器232译码后,通过视频后段处理单元26进行后处理(post-processing),再经过视频输出单元27显示影像画面在一显示屏幕(未图示)上。音频数据流经过音频译码器231译码后,通过音频后段处理单元24进行后处理(post-processing),再由音频输出单元25通过一扬声器(未图示)播放出声音,或音频输出单元25将声音信息传送到外部的译码器。而用户可以通过用户界面28来控制DVD播放装置100的各种功能。
一般公知的音频译码器231可针对AC3、MPEG Audio或线性脉冲编码调制(Linear Pulse Code Modulation,LPCM)格式进行译码。AC3、MPEG Audio或线性脉冲编码调制等音频数据流由音频数据包(audiopack)所组成,图2为显示一包含有LPCM音频数据包的数据包格式,该数据包包含一个数据包报头210及一个LPCM音频数据包220。LPCM音频数据包220分为音频数据包报头221、LPCM相关信息222及LPCM音频数据223等三部分。LPCM相关信息222如图3所示,其包含了LPCM音频数据包的相关信息,其中,Number_of_frame_headers(帧报头数)字段是8个位,其表示有多少个音频帧的第一字节在这个LPCM音频数据包220中。First_access_unit_pointer(第一存取单元指针)字段是16个位,其表示在这个LPCM音频数据包220中第一个音频帧的位置。
LPCM音频数据223如图4所示由音频帧群(Group of audioframes,GOF)所组成。一个音频帧群包含20个音频帧,每个音频帧包含了1/600秒的音频取样数据(在48kHz取样频率时有80个取样数据,在96kHz取样频率时有160个取样数据)。音频取样数据的排列方式如图5所示,在同一个取样时间点时,依据取样的顺序及信道的次序排列,有3种不同的模式:16位、20位、24位三种模式。
由图5可看出,LPCM数据流没有帧报头(frame header),所以没有办法像AC3或MPEG Audio数据流可以通过找寻帧报头以及CRC的正确性来确保数据流的同步。由于LPCM音频取样数据在LPCM音频数据流中的排列方式,若没有适当的同步机制,当数据流发生错误或损坏而导致数据有所增减时,会致使音频取样数据的对齐产生错误,而导致完全错误的译码。
针对上述问题,在美国专利第USP6334026号专利案中,在每个LPCM音频数据包(audio pack)之前***一个4至10位的同步字(synchronization word),如此一音频译码装置会先找寻到正确的同步字后,才进行动作,其利用***同步字的方法,而让音频译码装置能与LPCM数据流维持同步。
然而,利用***同步字的方法,虽可以有效维持与LPCM数据流之间同步,但是却会增加数据流的数据量及传输时所花费的传输频宽,而且同步失败时还会导致音频译码装置的译码错误。对于简单的LPCM音频译码装置而言,此方法也较无效率。故公知的LPCM音频译码装置及方法仍有改善的空间。
发明内容
本发明的目的在于提供一种可变长度的环状缓冲器控制方法及***,以能维持一音频译码装置与音频数据流之间同步。
依据本发明的一方面,提出一种具有环状缓冲器的音频译码***,其接收并维持一音频数据流的同步,该音频数据流中包含多个最小译码单元,该***包含一环状缓冲器、一解析装置及一译码装置。该环状缓冲器用以储存多个最小译码单元;该解析装置用以解析该音频数据流以产生多个连续的最小译码单元,且逐一将所产生的最小译码单元写至该环状缓冲器中,并使得该环状缓冲器中的第一个最小译码单元对齐该环状缓冲器的起始位置,且动态调整环状缓冲器的结束位置,使得该环状缓冲器的长度为最小译码单元数据长度的倍数,并输出该环状缓冲器的结束位置至译码装置;该译码装置依据该解析装置输出的该环状缓冲器的结束位置,以由该环状缓冲器的起始处连续读取最小译码单元直至该环状缓冲器的结束位置处,并对读取的每一最小译码单元进行译码。
依据本发明的另一方面,提供一种音频译码方法,其接收并维持一音频数据流的同步,该音频数据流中包含多个最小译码单元,使用一环状缓冲器以暂存该最小译码单元,该方法包含:一解析步骤,用以解析该音频数据流以产生多个连续的最小译码单元,且逐一将所产生的最小译码单元写至一环状缓冲器中,并使得该环状缓冲器中的第一个最小译码单元对齐该环状缓冲器的起始位置,且动态调整环状缓冲器的结束位置,使得该环状缓冲器的长度为最小译码单元数据长度的倍数,并输出该环状缓冲器的结束位置至译码装置;一译码步骤,依据该解析步骤输出该环状缓冲器的结束位置,以由该环状缓冲器的起始处连续读取最小译码单元直至该环状缓冲器的结束位置处,并对读取的每一最小译码单元进行译码。
附图说明
图1为公知DVD播放装置的方框图。
图2为一LPCM音频数据包的数据包格式的示意图。
图3为一LPCM相关信息字段的示意图。
图4为一LPCM音频帧群所组成(GOP)的示意图。
图5为一音频取样数据的排列方式的示意图。
图6为本发明的具有环状缓冲器的音频译码***的方框图。
图7为本发明的具有环状缓冲器的音频译码***的运作示意图。
图8为本发明的音频译码方法的流程图。
图9为一WAVE文件格式相关信息字段的示意图。
具体实施方式
图6为本发明的一种具有环状缓冲器的音频译码***的方框图,其接收并维持一音频数据流的同步,该音频数据流包含多个音频帧,并以音频帧作为一个最小译码单元,其中,该音频数据流为线性脉冲编码调制格式,且由多个音频数据包所接续而成,每一音频数据包含有多个完整或部分的音频帧。该音频译码***包含一环状缓冲器520(ring buffer)、一解析装置510及一译码装置530。
并请参照图7所示本发明的具有环状缓冲器的音频译码***的运作示意图。该环状缓冲器520用以储存多个音频帧,其利用一BTS_STR_ADDR信号记录所储存多个音频帧的起始位置,并利用一BTS_END_ADDR信号记录所储存多个音频帧的结束位置,利用一BTS_MAX_LEN信号记录该环状缓冲器520最大长度。
该解析装置510用以接收音频数据流并解析该音频数据流中包含的LPCM相关信息222以产生多个连续的音频帧。解析装置510将相关的译码参数(量化字长度(quantization_Word_length),音频取样频率(audio_sampling_frequency),音频信道数(number_of_audio_channels),...)设定至译码装置530,且逐一将所产生的音频帧写至该环状缓冲器520中,其中第一个音频帧(i-1)由BTS_STR_ADDR信号所记录的位置处开始填入,且第一个音频帧(i-1)的起始位置将会对齐环状缓冲器520的起始位置BTS_STR_ADDR。
下一个音频帧(i)将再接续前一个音频帧(i-1)的结束位置处开始填入,同时比较目前填入环状缓冲器520的音频帧总长度是否大于BTS_MAX_LEN信号,若否,表示该环状缓冲器520仍有空间可储存该音频帧,故将该音频帧(i)写入至该环状缓冲器520中,并再依序对下一个音频帧(i+1)重复做此一检查。若是,则表示无法再完整填入一个音频帧至该环状缓冲器520,此时以已经填入该环状缓冲器520中的最后一个音频帧的结束位置作为该环状缓冲器520的结束位置(BTS_END_ADDR),并将该环状缓冲器520的结束位置(BTS_END_ADDR)输出至该译码装置530,而下一个要填入环状缓冲器520的音频帧(i+1)将重新回到该环状缓冲器520的起始位置BTS_STR_ADDR处再开始填入。
该译码装置530依据该解析装置输出的该环状缓冲器520的结束位置(BTS_END_ADDR),以由该环状缓冲器520的起始处(BTS_STR_ADDR)连续读取音频帧直至该环状缓冲器520的结束位置处(BTS_END_ADDR),并对读取的每一音频帧进行译码,以产生PCM格式的音频数据。当连续读取至BTS_END_ADDR处,重回到BTS_STR_ADDR。
图8进一步显示本发明的音频译码方法的流程图。首先,在步骤S710中,该解析装置510读取该音频数据流,并解析该音频数据流以产生音频帧。在步骤S712中,将所产生的第一个音频帧写至该环状缓冲器520的起始处中,该环状缓冲器520的起始处以一BTS_STR_ADDR信号表示,并用一BTS_END_ADDR信号记录所储存多个音频帧的结束位置及一BTS_MAX_LEN信号记录该环状缓冲器520最大长度。
在步骤S714中,判断下一个音频帧是否超出该环状缓冲器520的长度BTS_MAX_LEN,若没有,表示该环状缓冲器520仍有空间可储存该音频帧,故将该音频帧写入至该环状缓冲器520中(步骤S716)并再执行步骤S714。若是,则表示无法完整填入一个音频帧至该环状缓冲器520,此时执行步骤S718,以设定环状缓冲器520的结尾处,其以已经填入该环状缓冲器520中的最后一个音频帧的结束位置作为该环状缓冲器520的结束位置(BTS_END_ADDR)。
该译码装置530在步骤S720中,由该环状缓冲器520的起始处(BTS_STR_ADDR)开始读取音频帧,并对读取的音频帧进行译码,以产生PCM格式的音频数据。在步骤S722中,依据解析装置510输出的环状缓冲器520的结束位置(BTS_END_ADDR),判断下一个获取的音频帧是否超出该环状缓冲器520的结束位置处,若是,则重回步骤S720,若不是,则执行步骤S724。在步骤S724中,该译码装置530由该环状缓冲器520读取下一个音频帧,并重回步骤S722。
图9为一WAVE文件格式的文件报头的格式块(format chunk)中所包含的相关信息,其中,nBlockAlign字段代表音频数据在数据块(datachunk)中的块对齐(block alignment)。以此块大小作为一个最小译码单元。本发明的解析装置510接收并解析一WAVE文件数据流以产生多个最小译码单元,并逐一写至环状缓冲器520中。译码装置530由环状缓冲器中读取最小译码单元并进行译码,以产生PCM格式的音频数据。其过程一如图8的流程图所示。
由上述说明可知,在本发明中解析装置510及译码装置530之间存在一环状缓冲器520,通过解析音频数据流中的相关信息(如LPCM相关信息222)并利用环状缓冲器520的起始位置(BTS_STR_ADDR)所隐含的同步机制,译码装置530每次重回BTS_STR_ADDR位置处,由于解析装置510一定填入一个完整音频帧,故译码装置530能对完整音频帧进行译码。故利用本发明的技术,不仅能维持一LPCM音频译码装置与LPCM数据流之间同步,同时可避免公知技术所产生数据流的数据量及传输频宽增加的问题。
上述实施例仅为了方便说明而举例而已,本发明所主张的权利范围自应以所附权利要求为准,而非仅限于上述实施例。
Claims (10)
1.一种具有环状缓冲器的音频译码***,其接收并维持一音频数据流的同步,该音频数据流中包含多个最小译码单元,该***包含:
一环状缓冲器,用以储存多个最小译码单元;
一解析装置,用以解析该音频数据流以产生多个连续的最小译码单元,且逐一将所产生的最小译码单元写至该环状缓冲器中,并使得该环状缓冲器中的第一个最小译码单元的起始位置对齐该环状缓冲器的起始位置,且动态调整该环状缓冲器的结束位置,使得该环状缓冲器的长度为最小译码单元数据长度的倍数,并输出该环状缓冲器的结束位置至译码装置;以及
一译码装置,依据该解析装置输出的该环状缓冲器的结束位置,以由该环状缓冲器的起始处连续读取最小译码单元直至该环状缓冲器的结束位置处,并同时进行音频译码。
2.如权利要求1所述的音频译码***,其中,该音频数据流为线性脉冲编码调制格式。
3.如权利要求2所述的音频译码***,其中,该最小译码单元为一个音频帧群、或为一个音频帧、或为一组完整的音频取样数据。
4.如权利要求1所述的音频译码***,其中,该音频数据流为WAVE文件格式。
5.如权利要求4所述的音频译码***,其中,该最小译码单元的单位为WAVE文件格式的文件报头中nBlockAlign字段中所定义的大小。
6.一种音频译码方法,其接收并维持一音频数据流的同步,该音频数据流中包含多个最小译码单元,使用一环状缓冲器以暂存最小译码单元,该方法包含:
一解析步骤,用以解析该音频数据流以产生多个连续的最小译码单元,且逐一将所产生的最小译码单元写至一环状缓冲器中,并使得该环状缓冲器中的第一个最小译码单元的起始位置对齐该环状缓冲器的起始位置,且动态调整该环状缓冲器的结束位置,使得该环状缓冲器的长度为最小译码单元数据长度的倍数,并输出该环状缓冲器的结束位置至译码装置;以及
一译码步骤,依据该解析步骤输出该环状缓冲器的结束位置,以由该环状缓冲器的起始处连续读取最小译码单元直至该环状缓冲器的结束位置处,并同时进行音频译码。
7.如权利要求6所述的音频译码方法,其中,该音频数据流为线性脉冲编码调制格式。
8.如权利要求7所述的音频译码方法,其中,该最小译码单元为一个音频帧群、或为一个音频帧、或为一组完整的音频取样数据。
9.如权利要求6所述的音频译码方法,其中,该音频数据流为WAVE文件格式。
10.如权利要求9所述的音频译码方法,其中,该最小译码单元的单位为WAVE文件格式的文件报头中nBlockAlign字段中所定义的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100907195A CN100440316C (zh) | 2004-11-08 | 2004-11-08 | 具有环状缓冲器的音频译码***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100907195A CN100440316C (zh) | 2004-11-08 | 2004-11-08 | 具有环状缓冲器的音频译码***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1773607A CN1773607A (zh) | 2006-05-17 |
CN100440316C true CN100440316C (zh) | 2008-12-03 |
Family
ID=36760519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100907195A Expired - Fee Related CN100440316C (zh) | 2004-11-08 | 2004-11-08 | 具有环状缓冲器的音频译码***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100440316C (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5229862A (en) * | 1990-11-16 | 1993-07-20 | Sony Corporation | Apparatus and method for recording image signals to allow reproduction at more than one data rate |
CN1170190A (zh) * | 1996-05-08 | 1998-01-14 | 松下电器产业株式会社 | 话音编/译码装置 |
US6334026B1 (en) * | 1998-06-26 | 2001-12-25 | Lsi Logic Corporation | On-screen display format reduces memory bandwidth for time-constrained on-screen display systems |
-
2004
- 2004-11-08 CN CNB2004100907195A patent/CN100440316C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5229862A (en) * | 1990-11-16 | 1993-07-20 | Sony Corporation | Apparatus and method for recording image signals to allow reproduction at more than one data rate |
CN1170190A (zh) * | 1996-05-08 | 1998-01-14 | 松下电器产业株式会社 | 话音编/译码装置 |
US6334026B1 (en) * | 1998-06-26 | 2001-12-25 | Lsi Logic Corporation | On-screen display format reduces memory bandwidth for time-constrained on-screen display systems |
Also Published As
Publication number | Publication date |
---|---|
CN1773607A (zh) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060093331A1 (en) | Audio decoding system with a ring buffer and its audio decoding method | |
CN101178921B (zh) | 用于处理音频信号的方法和*** | |
KR101151303B1 (ko) | 데이터 패킷의 도착시각을 결정하는 방법 및 장치 | |
US6438172B1 (en) | Transmitting and recording method, reproducing method, and reproducing apparatus of information and its recording medium | |
KR100527645B1 (ko) | 오디오 재생 장치 | |
KR100537393B1 (ko) | 기록 방법, 기록 매체 및 기록 장치 | |
CN100440316C (zh) | 具有环状缓冲器的音频译码***及方法 | |
US8712565B2 (en) | Data output apparatus and data output method | |
KR20060053425A (ko) | 데이터 스트림내의 픽처 데이터의 기록구간을 지정하고이를 이용하는 방법 및 장치 | |
RU2219655C2 (ru) | Устройство и способ для передачи цифрового информационного сигнала, носитель записи и устройство для приема сигнала | |
JP3747806B2 (ja) | データ処理装置及びデータ処理方法 | |
KR20050105931A (ko) | 기록 매체, 데이터 기록 장치 및 방법, 데이터 재생 장치및 방법, 프로그램 및 기록 매체 | |
US6993139B2 (en) | Method of and apparatus for decoding audio data | |
JPH1166754A (ja) | 多チャンネルデータ記録媒体と伝送記録及び再生装置 | |
JP2000048487A (ja) | ディジタルオーディオデータの再生方法及び装置 | |
JP2978876B2 (ja) | Pcmデータ出力方法および装置 | |
JP2000152236A (ja) | 動画像符号化装置および多重化方法とその装置および記録再生装置 | |
KR100220848B1 (ko) | 디지탈 비디오 카메라의 오디오 채널 삽입 장치 | |
KR100657262B1 (ko) | 데이터열간의 연속 재생을 보장하기 위한 부가 정보를저장하는 기록 매체 | |
KR100532113B1 (ko) | 데이터열간의 연속 재생을 보장하는 데이터의 기록및/또는 재생 장치 | |
JP3804676B2 (ja) | ディスク再生方法、および、ディスク再生装置 | |
JPH09294077A (ja) | 圧縮音声データ処理方法及びデータストリーム再生方法とそれらの装置 | |
JP2002073090A (ja) | 音声再生装置 | |
KR20040018418A (ko) | 데이터열간의 연속 재생을 보장하는 데이터의 기록및/또는 편집 장치 | |
JP2006277925A (ja) | データ記録再生方法およびデータ記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081203 Termination date: 20161108 |