CN1684522A - 处理音频帧的方法、解码器电路和计算机程序产品 - Google Patents

处理音频帧的方法、解码器电路和计算机程序产品 Download PDF

Info

Publication number
CN1684522A
CN1684522A CNA2004101037781A CN200410103778A CN1684522A CN 1684522 A CN1684522 A CN 1684522A CN A2004101037781 A CNA2004101037781 A CN A2004101037781A CN 200410103778 A CN200410103778 A CN 200410103778A CN 1684522 A CN1684522 A CN 1684522A
Authority
CN
China
Prior art keywords
data
synchronization character
value
follow
bit stream
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.)
Granted
Application number
CNA2004101037781A
Other languages
English (en)
Other versions
CN1684522B (zh
Inventor
韩靖仁
权尚澈
金尚煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1684522A publication Critical patent/CN1684522A/zh
Application granted granted Critical
Publication of CN1684522B publication Critical patent/CN1684522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams

Abstract

在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的方法,该方法包括确定比特流中第一数据的值是否等于同步字的值。根据从该第一数据起把比特流中分离的若干数据与同步字值比较至少一帧的长度,从而能够确定该第一数据是否为有效同步字。

Description

处理音频帧的方法、解码器电路和计算机程序产品
相关申请的交叉引用
本申请享有于2003年11月25日在韩国知识产权局提交的韩国专利申请号为2003-84217的优先权,该申请公开的全部内容在此引入作为参考。
技术领域
本发明涉及用于解压缩所压缩的音频数据的方法、计算机程序产品和系统。
背景技术
图1示出了一种与运动图像专家组(MPEG)发布的关于音频压缩和解压缩标准相关的音频帧格式(即,一帧)。将会理解这里所使用的术语MPEG也指不同类型的压缩和解压缩。例如,MPEG1和MPEG2都是由运动图像专家组发布的格式。
参考图1,第一字段是用于识别音频帧的开始(或结束)的同步字。同步字的值为十二个等于“1”的连续二进制数字(或比特)。同步字的值也能表示为十六进制值0xFFF(1111 1111 1111),正如本领域技术人员所理解,这里“0x”表示以下数字是十六进制格式。
同步字之后是帧头,该帧头包括识别字段ID(1)、层字段LAYER(2)、保护位字段PROTECTION BIT(1)、比特率索引字段BITRATE INDEX(4)、采样频率字段Fs(2)、填充位字段PADDING BIT(1)、专用比特字段PRIVATE BIT(1)、模式字段MODE(2)、模式扩展字段MODE EXTENSION(2)、版权字段COPYRIGHT(1)、原始/复制字段ORIGINAL/COPY,和增强字段EMPHASIS(2)。括号中的数字表示包括在各个字段内的比特数。例如在万维网codeproject.com/audio/MPEGAudioInfo.asp上讨论了MPEG音频帧。这些字段在本领域中是熟知的,从而省略了对于这些字段的详细解释,并且在下文中仅讨论域与本发明有关的字段。
采样频率字段Fs由两个比特组成并表示一个采样频率。在MPEG层3的例子中,当采样频率字段分别为00、01、10和11时,可能的采样频率包括44.1KHz、48KHz、32KHz和保留频率。
填充位字段PADDING BIT包括一个比特并表示在该帧中是否包括空数据。当填充位字段(即,填充位)中数据的值是“0”时,该帧没有填充空数据,但是如果填充位是“1”,则该帧填充有空数据。
在工作中,传统的解码器接收一系列音频帧中的压缩音频数据(或“比特流”),并解码各个数据以再现对应的音频信号。因此,传统的解码器搜索同步字以便从压缩的音频比特流中读取信息。然而,同步字的值0xFFF可能在压缩的音频比特流中不是唯一的,其中压缩的音频比特流能够包括其值与同步字(即,0xFFF)的值所相等的数据。所以,传统的解码器可能错误地将数据检测为有效的同步字,这可能增加同步字检测的错误率。
为解决这一类型的问题,传统的解码器可参考填充位来帮助搜索有效的同步字。但是,如果填充位错误(例如,被损坏或错误地计算),那么传统的解码器则难以检测有效的同步字。
发明内容
根据本发明的某些实施例能够提供处理MPEG音频帧的方法、解码器电路和计算机程序产品。根据这些实施例,一种在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的方法包括,确定比特流中的第一数据的值是否等于同步字的值。根据从该第一数据起将比特流中分离的若干数据与同步字值比较至少一帧的长度,从而能够确定该第一数据是否为有效的同步字。
在根据本发明的某些实施例中,基于包括在与比特流相关帧头中的比特率索引字段值和/或采样频率字段值来确定帧长度。在根据本发明的某些实施例中,所述方法能够进一步包括在比特流中第一数据的位置上添加帧长度,以索引到比特流中第二数据的步骤。该第二数据能够与同步字的值相比较,紧随第二数据的比特流中的第三数据能够与同步字的值相比较。
在根据本发明的某些实施例中,所述方法进一步包括如果第二数据等于同步字的值或第二数据不等于同步字的值,则确定第一数据为有效同步字的步骤。在根据本发明的某些实施例中,如果第二数据等于同步字的值,以及第三数据等于同步字的值或者第三数据不等于同步字的值,则确定第一数据是有效同步字。
在根据本发明的某些实施例中,所述方法进一步包括如果第二数据不等于同步字的值以及第三数据等于同步字的值,则确定第一数据是有效同步字。在根据本发明的某些实施例中,一种在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的方法包括,将包括在比特流中的后续数据与同步字的值相比较,该后续数据与期望的同步字的偏移超过了一个MPEG音频帧的长度。
在根据本发明的某些实施例中,所述方法进一步包括如果后续数据等于同步字的值,则确定期望的同步字为有效的同步字。如果后续数据不等于同步字的值,以及如果紧在后续数据之前的先前数据等于同步字的值,则能够确定期望的同步字为有效的同步字。
在根据本发明的某些实施例中,根据包括在与比特流相关的帧头中的比特率索引值和/或采样频率字段值确定该帧长度。在根据本发明的某些实施例中,比较进一步包括将该帧长度添加到比特流中的期望同步字的位置中以索引到比特流中后续数据,并比较随后的数据和同步字的值。紧随第二数据的比特流中的第三数据能够与同步字的值相比较。
在根据本发明的某些实施例中,一种在包括若干音频帧的MPEG压缩音频比特流中搜索同步字的方法包括,确定期望的同步字等于比特流中同步字的值,并基于包括在与比特流相关的帧头中的比特率索引字段值和/或采样频率字段值来确定该帧长度。能够读取与比特流内的期望同步字偏移一个MPEG音频帧长度的后续数据,并比较后续数据与同步字的值。如果后续数据等于同步字的值,则能够确定期望的同步字为有效的同步字。如果后续数据不等于同步字的值且紧在后续数据之前的先前数据等于同步字的值,则能够确定该期望的同步字为有效的同步字。
在根据本发明的某些实施例中,一种用于在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的解码器电路包括,配置用于比较包含在比特流中的后续数据与同步字的值的解码器电路,其中后续数据与期望的同步字偏移大于一个MPEG音频帧长度。
在根据本发明的某些实施例中,一种用于在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的计算机程序产品包括,其中嵌入计算机可读程序代码的计算机可读介质。所述的计算机可读程序产品能够包括计算机可读程序代码,该计算机可读程序代码被配置用于确定比特流中的第一数据的值是否等于同步字的值。计算机可读程序代码还能够被配置用于,从该第一数据起将比特流中分离的若干数据与同步字值比较至少一帧的长度,以确定第一数据是否为有效的同步字。
附图说明
图1所示为通用的运动图像专家组(MPEG)格式的音频帧。
图2的流程图示例了用于根据本发明某些实施例的MPEG解码器的方法、系统和计算机程序产品的实施例。
图3的流程图示例了用于根据本发明某些实施例的MPEG解码器的方法、系统和计算机程序产品的实施例。
图4A到4D的示意图示例了根据本发明某些实施例的MPEG解码器的示意性实施例。
图5所示为根据本发明的某些实施例,按照比特率索引字段BITRATEINDEX的值和采样频率字段Fs的值而确定帧大小Nij的表格。
图6是根据本发明某些实施例的解码器电路的方框图。
具体实施方式
现在将参考示出了本发明示例性实施例的附图在下文中更详细地描述本发明。但是,可能以许多不同的形式来实施本发明,本发明不应被理解为局限于这里所阐述的实施例;相反,提供了这些实施例以便更全面和彻底地公开本发明,对于本领域的普通技术人员来说这将更全面地表达本发明的范围。在全文中相同的附图标记指代相同的元件。如本文所使用的术语“和/或”包括一个或更多相关所列条目的任一和全部组合。
将会理解尽管本文所用的术语第一和第二用来描述各种元件(element),但是这些元件不应局限于这些术语。使用这些术语仅仅是为了区别不同的元件。因此,下文中讨论的第一元件也能够称之为第二元件,同理,第二元件也可能称之为第一元件,而不会背离本发明所公开内容的教导。
本文所使用的术语仅仅是为了描述特定的实施例,而并无意图作为对本发明的限制。除非在上下文中明确指示,否则,如本文所使用的单数形式“a”、“an”和“the”还旨在包括有复数形式。还将会进一步理解,当在本说明书中使用术语“包括”时,它规定了所述的特征、整数、步骤、操作、元件和/或组件,但并不排除其中出现或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或组。
除非另有规定,否则这里使用的所有术语(包括技术和科学术语)的含义与本发明所属技术领域的普通技术人员所理解的普通含义相同。还将会理解,诸如在通用词典中定义的术语应当解释为其含义与它们在相关领域的上下文中的含义相一致,并且除非在本文中明确规定,否则不能将其解释为理想的或超越正式的含义。
正如本领域技术人员将会理解,本发明可以例如实施为方法、电路和/或计算机程序产品。所以,本发明可以完全采用软件实施、硬件实施或组合软件和硬件方面实施的形式。而且,本发明可采用在包含有嵌入到介质中的计算机可读程序代码的计算机可读存储介质上的计算机程序产品的形式。可使用任何适当的计算机可读介质,其中包括硬盘、CD-ROM、光存储器设备或磁存储设备。
可将计算机程序代码或执行根据本发明的操作的“代码”以面向编程的语言诸如JAVA、Smalltalk或者C++、JavaScript、Visual Basic、TSQL、Perl或以各种其它的编程语言写入到一个对象中。本发明的软件实施并不取决于利用一种特定的编程语言而实现。部分代码完全可以在中间服务器所利用的一个或多个系统上执行。
代码完全可以在一个或多个计算机系统上执行,或者它可以部分在服务器上执行以及部分在客户端设备内的一个客户机上执行,或者作为一个代理服务器在通信网络的一个中间点上执行。在后者的情况之下,客户端设备可通过LAN或WAN(例如,内部网络)连接到一个服务器,或者通过因特网(例如,经由因特网服务提供商)进行连接。本发明可以在各种类型的计算机网络上使用各种协议来予以实施。
下文将参考根据本发明实施例的方法、系统和计算机产品的方框图和流程图示例对本发明进行描述。应该理解方框图和流程图中的每个方框及其方框的组合都能够由计算机程序指令实现。可以将这些计算机程序指令提供给处理器电路、特殊用途计算机或其它可编程数据处理设备以产生一种机器,以便通过处理器电路和其它可编程数据处理设备执行上述指令以实现方框图和/或流程图方块中所规定的功能。
这些计算机程序指令可储存在计算机可读存储器中,该存储器以一种特定的方式指向计算机或其它可编程数据处理设备以进行工作,以便存储在计算机可读存储器中的指令产生包括实现在方框图和/或流程图方块中所规定功能的指令的制造物品。
该计算机程序指令可载入到处理器电路或者其它可编程数据处理设备中以产生一系列的操作步骤,这些步骤在计算机或者其它可编程设备上执行以产生一种计算机实现的处理,以便在计算机或其它可编程设备上所执行的指令提供用于实现方框图和/或流程图方块中所规定的功能。
根据本发明的某些实施例,无需参照包含在帧头中的填充位就能够解码MPEG音频帧。例如,在根据本发明的某些实施例中,MPEG音频帧的长度可通过使用每帧中的大量采样、帧的比特率以及音频的采样速率(可包含在MPEG音频帧头中)来确定。
与某些传统的MPEG解码器不同,根据本发明的某些实施例的解码器可定位MPEG音频帧内的有效同步字,而不用参照包含在MPEG音频帧头中的填充位。例如,根据本发明的某些实施例的解码器可检测第一数据(它可能为有效同步字)并基于每帧的采样数量、比特率和采样速率通过一定量来索引到MPEG音频比特流中以估计该第一数据是否为有效的同步字,从而提取第二数据(可能为下一个同步字)。如果第二数据的值与同步字的不相等,则估计紧在第二数据之前的数据以确定它的值是否等于同步字。如果在前数据的值等于同步字,则确定第一数据为有效的同步字,而如果在前数据的值与同步字不相等,则确定第一数据不是有效的同步字。
图2的流程图示例了用于根据本发明的某些实施例的MPEG解码器的方法、系统,和计算机程序产品的实施例。参考图2,从MPEG音频比特流中读取这里称之为期望同步字的第一数据(D0)(方框205),并测试它与等于同步字值的一个值(方框210)。在根据本发明的某些实施例中,同步字的值等于0xFFF。如果确定D0与同步字的值不相等,则为了估计而存取来自MPEG音频比特流的下一个数据(方框205)。
但是,如果确定D0等于同步字的值(方框210),则在根据本发明的某些实施例中,能够根据以下方程估计MPEG音频帧的长度(即,大小):
              ((每帧采样/8*比特率索引)/采样频率)
将会理解用于确定一个估计MPEG音频帧长度的上述方程并不参照包括在MPEG音频帧头中的填充位(方框215)。在根据本发明的某些实施例中,MPEG音频帧长度基于一个表格来确定,在该表格中存储了根据比特率索引和采样频率(Fs)而索引的不同MPEG音频帧长度,例如在图5的表格中所示例。根据本发明所公开内容的教导,对于本领域的普通技术人员来说其它确定估计的MPEG音频帧长度的技术将是显而易见的。
解码器电路能使用估计的MPEG音频帧长度索引到MPEG音频比特流以存取第二数据Dn+1,以用于评价它为有效的同步字(方框220)。换句活说,解码器电路能够使用所估计的MPEG音频帧长度来存取可能为MPEG音频帧比特流内的下一有效同步字的数据,这可能取决于包括在MPEG音频帧中的数据被填充与否。将会理解,解码器电路能够以通用处理器电路、专用集成电路、数字信号处理器电路和/或任何类型的能够解码按照MPEG音频帧格式化数据的处理电路而实施。图6的方框图示例了耦合到存储器610的解码器电路605,该存储器能够用于存储来自MPEG音频帧的至少部分比特流数据。
如果Dn+1的值等于同步字的值,则确定数据D0为有效同步字(方框240)。但是,如果Dn+1不等于同步字的值(方框225),则解码器存取MPEG音频比特流Dn中的前一字节(方框230)。如果Dn的值等于同步字的值(方框235),则估计D0为有效的同步字(方框240)。如果Dn的值不等于同步字的值(方框235),则确定D0不是有效的同步字,并且在方框205继续处理。
图3的流程图示例了用于根据本发明的某些实施例的MPEG解码器的方法、系统,和计算机程序产品的实施例。在方框303中,所述的解码器(未示出)接收经编码器(未示出)压缩的音频(或数据)比特流(或压缩的音频数据),并从接收的比特流中读取预定的第一数据D0。在方框305中,解码器逐位地比较第一数据D0和同步字的值以确定他们是否彼此相等。如果第一数据D0与同步字的值不对应,则解码器读取比特流中相邻的数据(即下一个数据)。在方框307中,如果第一数据D0等于同步字的值,则解码器参照查询表(例如,存储在存储器或文件)中的帧大小,并将帧大小添加到比特流中第一数据D0的当前位置上。在根据本发明的某些实施例中,通过组合包括在图1中所示的MPEG音频帧头中的比特率索引BITRATE INDEX字段和采样频率字段Fs以确定该帧大小。
在方框309中,解码器读取位于与当前位置相距所确定的帧大小的比特流中一个位置的第二数据Dn。如果第一数据D0等于同步字的值,则第二数据Dn为同步字的概率就可能相对高些。因此,如果比特率索引字段值和采样频率字段值中的至少一个不正确(例如,被损坏),则解码器就可能错误地搜索同步字,从而包括解码器的再现系统停止工作或者不能正常地工作。
在方框311中,解码器确定第二数据Dn是否等于同步字的值。在框313中,当确定第二数据Dn等于同步字的值时,解码器读取第三数据Dn+1。应该理解第三数据Dn+1是在时间上和/或空间上与第二数据Dn相邻的数据。此外,第三数据Dn+1用于确定第一数据D0是否为有效的同步字。
在第一数据D0是有效的同步字且已填充包括在第一数据D0中的音频帧的情况下,第二数据Dn很有可能为用于控制解码器的平均比特率的附加数据,且第三数据Dn+1为有效的同步字。换句活说,如果Dn+1和D0都是有效的同步字,则Dn可能为作为填充位添加到MPEG音频帧中的数据(用于提供平均比特率以便解码器更始终如一地工作)。
在方框315中,解码器判断第三数据Dn+1是否为同步字。在方框319中,当第三数据Dn+1为同步字时,解码器则确定填充位等于“1”(方框317)且第一数据D0为有效的同步字。所以,解码器可以执行正常的解码操作而不使用包括在MPEG音频帧头中的填充位。
在方框319中,当第三数据Dn+1不是同步字时,解码器则确定填充位等于“0”(方框323)以及第一数据D0为有效的同步字。所以,解码器可以执行正常的解码操作而不使用包括在MPEG音频帧头中的填充位。
再次参考步骤311,如果确定第二数据Dn不是同步字,解码器则从比特流中读取第三数据Dn+1(方框325)。在方框327中,解码器确定第三数据Dn+1是否对应于同步字。在方框319中,当解码器确定第三数据Dn+1对应于同步字时,解码器则确定填充位等于“1”(方框329)且第一数据D0为有效的同步字。然而,当第三数据Dn+1不是同步字时,解码器则确定第一数据D0不是有效的同步数据(方框327)且在方框303继续处理与第一数据D0相邻的数据。
如上所述,根据方框315和327的结果,能够知道是否包括第一数据D0的MPEG音频帧已经被填充。例如,当第三数据Dn+1和同步字相互对应时,可以推定第二数据Dn为附加数据(即,填充数据),以便解码器能够以稳定的比特率工作(方框317和329)。
图3和4A示例了根据本发明的示意性实施例,在该实施例中解码器不使用填充位即可确定MPEG音频帧中的同步字。在方框305中,解码器确定第一数据(D0=0xFFF1)是否为同步字的值0XFFF。由于第一数据(D0=0xFFF1)对应于同步字的值0xFFF,解码器根据组合从诸如在图5中所示例的查询表中所提取的比特率索引BITRATE INDEX字段的值和采样频率字段Fs的值来获得帧大小Nij。具体而言,图5所示的表为根据表格中的比特率索引BITRATEINDEX字段的值和采样频率字段Fs的值的二维索引所确定的帧大小Nij的值。这里,i大于1且小于16,且j大于1且小于4。例如在只读存储器(ROM)或其它类型的非易失性(或易失性)存储器中,能够实施存储用于执行在包括若干音频帧的压缩音频比特流中搜索同步字方法的程序的计算机可读介质。
在方框311中,解码器确定与第一数据D0相距帧大小Nij的第二数据Dn=0xFFF2是否对应于同步字。在方框315中,由于第二数据Dn=0xFFF2对应于该同步字,解码器则确定与第二数据Dn=0xFFF2相邻的第三数据Dn+1=0xFFF3是否对应于同步字。
由于第三数据Dn+1=0xFFF3对应于同步字,解码器则确定第一数据D0为有效的同步字。因此,确定第二数据Dn=0xFFF2为用于填充MPEG音频帧以控制提供给解码器的平均比特率的附加数据。所以,可以在方框317中推断出与第一数据D0相关的填充位(即MPEG音频帧头中的PADDING BIT)是“1”。
参考图3和4B,解码器根据包括在图5查询表中的比特率索引字段值和采样频率字段值的组合,确定帧大小Nij,这是因为第一数据D0=0xFFF1对应于同步字0XFFF。在方框311中,解码器确定与第一数据D0相距帧大小Nij的第二数据Dn=0xFFF2是否对应于同步字。在方框315中,当第二数据Dn=0xFFF2等于同步字时,解码器确定第三数据Dn+1=0xFFF3是否等于同步字。在方框319中,由于第三数据Dn+1=0xFFF3不等于同步字,解码器则确定第一数据D0为有效的同步字。因此,第二数据Dn是同步字的概率相对高。
参考图3和4C,解码器根据包括在图5查询表中的比特率索引字段值和采样频率字段值的组合,确定帧大小Nij,这是因为第一数据D0=0xFFF1等于同步字0xFFF。在方框311中,解码器确定第二数据Dn=0xFFD是否等于同步字。在方框327中,解码器确定第三数据Dn+1=0xFFF2是否等于同步字,这是因为在方框311中的第二数据Dn=0xFFD不等于同步字。由于第三数据Dn+1=0xFFF2等于同步字,解码器则确定第一数据D0为有效的同步字。因此,第二数据Dn=0xFFD为用于控制提供给解码器的平均比特率的填充数据的概率相对高。在方框329中,在第二数据Dn=0xFFD是附加数据的情况下,可以推断出相关的MPEG音频帧填充位是“1”。
参考图3和4D,由于第一数据D0=0xFFF1对应于同步字0XFFF,解码器从图5的查询表中推导出帧大小Nij。在方框311中,解码器确定第二数据Dn=0xFFD是否对应于同步字。在方框327中,由于第二数据Dn=0xFFD不对应于同步字,解码器确定第三数据Dn+1=0xFFE是否对应于同步字。
由于第三数据Dn+1=0xFFE不对应于同步字,解码器确定第一数据D0=0xFFF1不是有效的同步字,而是具有与同步字0xFFF相同模式(例如,十二个“1”)的数据,并为与第一数据D0=0xFFF1相邻的数据执行步骤303。换句活说,由于Dn+1和Dn都不等于该同步字,解码器确定第一数据D0不是有效的同步字。
如上所述,根据本发明的某些实施例,能够解码MPEG音频帧而不用参照包括在帧头中的填充位。例如,在根据本发明的某些实施例中,能够使用包括在MPEG音频帧头中的其他信息来确定所估计的MPEG音频帧长度。估计的MPEG音频帧长度能够用于存取其后的数据以与一个同步字值进行比较。与随后比特流数据相比较的结果能够用于确定MPEG音频帧的实际长度。
与某些传统的MPEG解码器所不同的是,根据本发明的某些实施例的解码器可以定位MPEG音频帧内的有效同步字的位置而不用参照包括在MPEG音频帧头中的填充位。例如,根据本发明某些实施例的解码器可以检测第一数据(它可能是有效的同步字),并基于比特率索引和采样频率(包括在帧头中)通过一定的量索引到MPEG音频比特流中,来估计第一数据是否为有效的同步字以访问第二数据(可能为下一个同步字)。如果第二数据的值与同步字不相等,则估计紧在第二数据之前的数据以确定它的值是否等于同步字的值。如果在前的数据的值与同步字的值相等,则确定第一数据为有效的同步字,但是,如果在前数据不等于同步字,则确定第一数据不是有效的同步字。
如上所述,在压缩音频比特流中搜索同步字的方法,和存储用于执行根据本发明方法的程序的计算机可读介质,能够正确、快速地搜索同步字而无需读取,并因此不依赖于填充位字段的完整性。
根据本发明公开内容的教导,本领域普通技术人员可以作出很多改变和修改而不会背离本发明的精神和范围。因此,必须理解所阐明的示例性实施例仅仅为了作为实例,和不应该将其作为对以下权利要求所限定的发明的限制。因此,将要阅读的以下权利要求不仅包括以文字所阐明的各个元件的组合,而且还包括实质上以相同的方式获得实质上相同结果的用于执行基本相同功能的全部等同元件。因此,对于所述权利要求应该理解为它包括有具体示例和以上所述的、以及概念上等同的,还有包含本发明本质思想的内容。

Claims (25)

1.一种在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的方法,包括下列步骤:
确定比特流中的第一数据的值是否等于同步字的值;和
根据从该第一数据起把比特流中分离的若干数据与同步字值比较至少一帧的长度,从而确定第一数据是否为有效同步字。
2.根据权利要求1所述的方法,其中根据包括在与比特流相关的帧头中的比特率索引字段值和/或采样频率字段的值以确定帧长度。
3.根据权利要求2所述的方法,进一步包括:
将该帧长度添加到比特流中的第一数据的位置以索引到比特流中的第二数据;和
比较第二数据与同步字的值;和
比较比特流中紧随第二数据的第三数据与同步字的值。
4.根据权利要求3所述的方法,进一步包括:
如果第二数据等于同步字的值或者第二数据不等于同步字的值,则确定第一数据为有效的同步字。
5.根据权利要求3所述的方法,进一步包括:
如果第二数据等于同步字的值,以及第三数据等于同步字的值或者如果第三数据不等于同步字的值,则确定第一数据为有效同步字。
6.根据权利要求3所述的方法,进一步包括:
如果第二数据不等于同步字的值且第三数据等于同步字的值,则确定第一数据为有效同步字。
7.一种用于在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的方法,包括下列步骤:
比较包括在比特流中的后续数据与同步字的值,所述的后续数据与期望的同步字的偏移量超过一个MPEG音频帧的长度。
8.根据权利要求7所述的方法,进一步包括:
如果后续数据等于同步字的值,则确定期望的同步字为有效同步字;和
如果后续数据不等于同步字的值,那么如果紧在后续数据之前的先前数据等于同步字的值,则确定期望的同步字为有效同步字。
9.根据权利要求7所述的方法,其中基于包括在与比特流相关的帧头中的比特率索引字段的值和/或采样频率字段的值来确定该帧长度。
10.根据权利要求7所述的方法,其中比较步骤包括:
将该帧长度添加到比特流中期望同步字的位置上以索引到比特流中的后续数据;
比较后续数据与同步字的值;和
比较在比特流中紧随第二数据的第三数据与同步字的值。
11.一种在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的方法,包括下列步骤:
确定期望的同步字等于比特流中同步字的值;
根据包括在与比特流相关的帧头中的比特率索引字段的值和/或采样频率字段的值确定MPEG音频帧长度;
读取在比特流内与期望同步字的偏移量等于MPEG音频帧长度的后续数据;
比较后续数据与同步字的值;
如果后续数据等于同步字的值,确定期望同步字为有效同步字;和
如果后续数据不等于同步字的值以及如果紧在后续数据之前的先前数据不等于同步字的值,则确定期望同步字为有效同步字。
12.一种在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的解码器电路,包括:
配置用于比较包括在比特流中的后续数据与同步字值的解码器电路,其中后续数据与期望同步字的偏移量超过一个MPEG音频帧的长度。
13.根据权利要求12所述的解码器电路,其中如果后续数据等于同步字的值,解码器电路进一步配置用于确定期望的同步字为有效同步字,以及如果后续数据不等于同步字的值,那么如果紧在后续数据之前的先前数据等于同步字的值,则解码器配置用于确定期望的同步字为有效同步字。
14.根据权利要求12所述的解码器电路,其中帧长度是基于包括在与比特流相关的帧头中的比特率索引字段的值和/或采样频率字段的值予以确定的。
15.一种用于在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的计算机程序产品,它包括其中嵌入计算机可读程序代码的计算机可读介质,该计算机可读程序产品包括:
配置用于确定比特流中第一数据的值是否等于同步字值的计算机可读程序代码;和
配置用于根据从该第一数据起把比特流中分离的若干数据与同步字值比较至少一帧的长度,从而确定该第一数据是否为有效同步字的计算机可读程序代码。
16.根据权利要求15所述的计算机程序产品,其中帧长度是基于包括在与比特流相关的帧头中的比特率索引字段值和/或采样频率字段值予以确定的。
17.根据权利要求16所述的计算机程序产品,进一步包括:
配置用于在比特流的第一数据的位置添加帧长度以索引到比特流中的第二数据的计算机可读程序代码;
配置用于比较第二数据和同步字值的计算机可读程序代码;和
配置用于比较紧随第二数据的第三数据与同步字值的计算机可读程序代码。
18.根据权利要求17所述的计算机程序产品,进一步包括:
如果第二数据等于同步字的值或者如果第二数据不等于同步字的值,配置用于确定第一数据为有效同步字的计算机可读程序代码。
19.根据权利要求17所述的计算机程序产品,进一步包括:
如果第二数据等于同步字的值以及第三数据等于同步字的值或者如果第三数据不等于同步字的值,配置用于确定第一数据为有效同步字的计算机可读程序代码。
20.根据权利要求17所述的计算机程序产品,进一步包括:
如果第二数据不等于同步字的值和第三数据等于同步字的值,则配置用于确定第一数据为有效同步字的计算机可读程序代码。
21.一种用于在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的计算机程序产品,包括:
配置用于比较包括在比特流中的后续数据与同步字值的计算机可读程序代码,其中后续数据与期望同步字的偏移量超过一个MPEG音频帧的长度。
22.根据权利要求21所述的计算机程序产品,进一步包括:
如果后续数据等于同步字的值,配置用于确定期望同步字为有效同步字的计算机可读程序代码;和
如果后续数据不等于同步字的值,那么如果紧在后续数据之前的先前数据等于同步字的值,则配置用于确定期望同步字为有效同步字的计算机可读程序代码。
23.根据权利要求21所述的计算机程序产品,其中帧长度是基于包括在与比特流相关的帧头中的比特率索引字段值和/或采样频率字段值予以确定的。
24.根据权利要求21所述的计算机程序产品,其中进一步包括:
配置用于在比特流中的期望同步字的位置添加帧长度以索引到比特流中后续数据的计算机可读程序代码;
配置用于比较后续数据与同步字值的计算机可读程序代码;和
配置用于比较紧随比特流中第二数据的第三数据与同步字值的计算机可读程序代码。
25.一种用于在包括若干MPEG音频帧的MPEG压缩音频比特流中搜索同步字的计算机程序产品,包括:
配置用于确定期望的同步字等于比特流中同步字值的计算机可读程序代码;
配置用于根据包括在与比特流相关的帧头中的比特率索引字段值和/或采样频率字段值,以确定MPEG帧长度的计算机可读程序代码;
配置用于读取与比特流内期望同步字的偏移量等于一个MPEG音频帧长度的后续数据的计算机可读程序代码;
配置用于比较后续数据与同步字值的计算机可读程序代码;
如果后续数据等于同步字的值,配置用于确定期望同步字为有效同步字的计算机可读程序代;和
如果后续数据不等于同步字的值以及如果紧在后续数据之前的数据等于同步字的值,配置用于确定期望的同步字为有效同步字的计算机可读程序代码。
CN2004101037781A 2003-11-25 2004-11-25 处理音频帧的方法和解码器电路 Active CN1684522B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR84217/03 2003-11-25
KR1020030084217A KR100546398B1 (ko) 2003-11-25 2003-11-25 압축된 오디오 비트스트림에서 싱크 워드를 찾는 방법 및상기 방법을 기록한 기록 매체

Publications (2)

Publication Number Publication Date
CN1684522A true CN1684522A (zh) 2005-10-19
CN1684522B CN1684522B (zh) 2012-06-06

Family

ID=34545873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004101037781A Active CN1684522B (zh) 2003-11-25 2004-11-25 处理音频帧的方法和解码器电路

Country Status (7)

Country Link
US (1) US7940807B2 (zh)
JP (1) JP4860140B2 (zh)
KR (1) KR100546398B1 (zh)
CN (1) CN1684522B (zh)
DE (1) DE102004058476B4 (zh)
FR (1) FR2862836B1 (zh)
TW (1) TWI258101B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100609173B1 (ko) * 2004-01-20 2006-08-02 엘지전자 주식회사 Aac복호화 방법
US7995722B2 (en) * 2005-02-04 2011-08-09 Sap Ag Data transmission over an in-use transmission medium
KR100752874B1 (ko) * 2005-04-01 2007-08-29 엘지전자 주식회사 오디오 프레임의 복호 제어 방법
KR100639110B1 (ko) * 2005-09-09 2006-10-31 주식회사 코아로직 프레임 단위로 이루어진 오디오 스트림 데이터의 시간정보산출방법
JP2010276992A (ja) * 2009-05-29 2010-12-09 Sanyo Electric Co Ltd デジタルデータ処理装置
TWI384459B (zh) * 2009-07-22 2013-02-01 Mstar Semiconductor Inc 音框檔頭之自動偵測方法
BR112012026326B1 (pt) * 2010-04-13 2021-05-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V método e codificador e decodificador para representação com amostragem precisa de um sinal de áudio
CN102510493B (zh) * 2011-10-09 2014-01-15 航天恒星科技有限公司 一种遥感卫星图像容错显示方法
WO2013090876A2 (en) * 2011-12-15 2013-06-20 Thomson Licensing Guide acquisition method in absence of guide update information on all transponders
US10078690B2 (en) * 2011-12-31 2018-09-18 Thomson Licensing Dtv Method and device for presenting content
CN110149171B (zh) * 2019-06-25 2022-04-26 昆腾微电子股份有限公司 一种无线音频数据的发送方法、接收方法和装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62112268A (ja) 1985-11-09 1987-05-23 Otani Denki Kk シンクワ−ド検出装置
NL9000338A (nl) * 1989-06-02 1991-01-02 Koninkl Philips Electronics Nv Digitaal transmissiesysteem, zender en ontvanger te gebruiken in het transmissiesysteem en registratiedrager verkregen met de zender in de vorm van een optekeninrichting.
US5420640A (en) * 1993-12-03 1995-05-30 Scientific-Atlanta, Inc. Memory efficient method and apparatus for sync detection
JP2658896B2 (ja) 1994-09-02 1997-09-30 日本電気株式会社 同期回路
US5710783A (en) * 1995-06-07 1998-01-20 Luthi; Daniel A. Optimization of synchronization control in concatenated decoders
US5835165A (en) * 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
JP2950204B2 (ja) 1995-06-23 1999-09-20 日本電気株式会社 同期信号検出回路およびその検出方法
US5757869A (en) * 1995-07-28 1998-05-26 Adtran, Inc. Apparatus and method for detecting frame synchronization pattern/word in bit-stuffed digital data frame
JPH0946321A (ja) 1995-08-01 1997-02-14 Fujitsu Ltd データ通信方法及び装置
US5771239A (en) * 1995-11-17 1998-06-23 General Instrument Corporation Of Delaware Method and apparatus for modifying a transport packet stream to provide concatenated synchronization bytes at interleaver output
KR970060715A (ko) 1996-01-09 1997-08-12 구자홍 오디오 디코더 시스템의 싱크워드 검출장치
JP3427149B2 (ja) 1996-01-26 2003-07-14 三菱電機株式会社 符号化信号の復号回路及びその同期制御方法, 同期検出回路及び同期検出方法
KR100244745B1 (ko) * 1996-06-29 2000-02-15 김영환 싱크 워드 검출회로
US5963705A (en) * 1996-10-04 1999-10-05 Samsung Electronics Co., Ltd. Disk detecting device and method
US6154468A (en) * 1996-10-24 2000-11-28 Philips Electronics North America Corporation Fast sync-byte search scheme for packet framing
JP3484908B2 (ja) 1997-01-27 2004-01-06 三菱電機株式会社 ビットストリーム再生装置
US6549242B1 (en) * 1997-04-04 2003-04-15 Harris Corporation Combining adjacent TV channels for transmission by a common antenna
JPH1155237A (ja) 1997-06-04 1999-02-26 Nec Corp データ処理装置および方法、情報記憶媒体
SE517547C2 (sv) 1998-06-08 2002-06-18 Ericsson Telefon Ab L M Signalsynkronisering vid signalkvalitetsmätning
JP4131050B2 (ja) 1998-10-19 2008-08-13 ソニー株式会社 データ伝送方法
US6470142B1 (en) * 1998-11-09 2002-10-22 Sony Corporation Data recording apparatus, data recording method, data recording and reproducing apparatus, data recording and reproducing method, data reproducing apparatus, data reproducing method, data record medium, digital data reproducing apparatus, digital data reproducing method, synchronization detecting apparatus, and synchronization detecting method
US6421647B1 (en) * 1999-01-12 2002-07-16 Texas Instruments Incorporated Deterministic method and system for verifying synchronization words
JP3330555B2 (ja) 1999-01-28 2002-09-30 沖電気工業株式会社 同期回路
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
JP4331367B2 (ja) 1999-12-28 2009-09-16 富士通株式会社 フレーム同期装置及びフレーム同期方法
KR100317303B1 (ko) * 2000-01-10 2001-12-22 구자홍 방송 프로그램 녹화 및 재생시 a/v와 데이터간 동기화장치
JP3540248B2 (ja) * 2000-06-01 2004-07-07 松下電器産業株式会社 可変長符号復号装置
US7200670B1 (en) * 2000-06-30 2007-04-03 Lucent Technologies Inc. MPEG flow identification for IP networks
US6931371B2 (en) 2000-08-25 2005-08-16 Matsushita Electric Industrial Co., Ltd. Digital interface device
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
EP1308931A1 (de) * 2001-10-23 2003-05-07 Deutsche Thomson-Brandt Gmbh Decodierung eines codierten digitalen Audio-Signals welches in Header enthaltende Rahmen angeordnet ist
JP3939136B2 (ja) 2001-11-28 2007-07-04 富士通株式会社 音声再生回路、デコード回路、音声再生装置及び音声再生方法

Also Published As

Publication number Publication date
DE102004058476A1 (de) 2005-06-30
US7940807B2 (en) 2011-05-10
KR100546398B1 (ko) 2006-01-26
DE102004058476B4 (de) 2013-02-07
US20050111493A1 (en) 2005-05-26
JP4860140B2 (ja) 2012-01-25
TWI258101B (en) 2006-07-11
JP2005157388A (ja) 2005-06-16
CN1684522B (zh) 2012-06-06
FR2862836A1 (fr) 2005-05-27
KR20050050468A (ko) 2005-05-31
FR2862836B1 (fr) 2006-12-01
TW200517945A (en) 2005-06-01

Similar Documents

Publication Publication Date Title
US7652595B2 (en) Generating a data stream and identifying positions within a data stream
TWI310137B (en) Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
JP4703114B2 (ja) 開始符号エミュレーションの防止およびデータ充填のための方法およびシステム
CN101647288B (zh) 生成数据流并识别在数据流内的位置
KR101969848B1 (ko) 유전자 데이터를 압축하는 방법 및 장치
CN1684522A (zh) 处理音频帧的方法、解码器电路和计算机程序产品
CN1547805A (zh) 执行霍夫曼解码的方法
CN1652611A (zh) 解码方法和解码设备
JP5847683B2 (ja) データストリームにおいてビデオデータ及び関連するメタデータを送信する方法、ビデオ符号化装置、及びパーソナルビデオレコーダ
CN1575491A (zh) 用于解码帧中所设置的编码数字音频信号的方法和设备
CN101807208A (zh) 视频指纹快速检索方法
JP5246804B2 (ja) 時間同期化のための方法及びシステム
CN1199135C (zh) 在消息信号中嵌入辅助数据
CN1649293A (zh) 流解码系统
JP2015503284A (ja) 符号化ビットストリームの変更可能な要素を決定する方法および関連するデバイス
CN1294759C (zh) 视频编码方法
KR20030016859A (ko) 허프만 부호의 복호화 방법
van der Meer et al. JPEG File Fragmentation Point Detection using Huffman Code and Quantization Array Validation
CN1702737A (zh) 音频译码的语音帧计算方法
WO2005038643A1 (fr) Procede de formation d'un flux de donnees qui peut etre accede de maniere aleatoire et procede de decodage correspondant
CN1218583C (zh) 可随机访问数据流的封装方法及其对应的数据恢复方法
CN115695822A (zh) 哈夫曼编码图像的解码方法、装置及显示设备
KR20040075956A (ko) 시작 코드 에뮬레이션 방지 및 데이터 스터핑 방법 및시스템

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