CN1304955C - 内存控制方法及相关装置 - Google Patents

内存控制方法及相关装置 Download PDF

Info

Publication number
CN1304955C
CN1304955C CNB2004100050399A CN200410005039A CN1304955C CN 1304955 C CN1304955 C CN 1304955C CN B2004100050399 A CNB2004100050399 A CN B2004100050399A CN 200410005039 A CN200410005039 A CN 200410005039A CN 1304955 C CN1304955 C CN 1304955C
Authority
CN
China
Prior art keywords
data
title
bit stream
internal memory
circuit
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
Application number
CNB2004100050399A
Other languages
English (en)
Other versions
CN1658169A (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Priority to CNB2004100050399A priority Critical patent/CN1304955C/zh
Publication of CN1658169A publication Critical patent/CN1658169A/zh
Application granted granted Critical
Publication of CN1304955C publication Critical patent/CN1304955C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供一种内存控制方法及相关装置。该方法具有:储存一比特流于一内存;自该内存读取对应于该比特流的一标题;以及根据该标题,在储存该比特流的区域当中的一部份重新排列(rearranging)储存在该内存的数据。其中该重新排列步骤是移动或复制该内存中的数据至储存该比特流的区域当中已被读取的部分。

Description

内存控制方法及相关装置
技术领域
本发明涉及一种内存控制方法及相关装置,特别涉及一种能增进缓冲处理效能的内存控制方法及相关装置。
背景技术
在一些新兴编码算法中,因应输出缓冲控制或位率(bit-rate)等考量,一帧(frame)的编码数据可以放置在其它帧当中。以MPEG音讯层三(MP3、MPEG audio layer-3)的帧结构为例,一帧的帧标题(frame header)包含MP3的边缘信息(Side Information)是位于该帧当中,但该帧的编码数据却可以位于前一帧(preceding frame)当中。另以一新发展的Ogg页结构(Oggpage structure)的规格为例,一页的页标题(page header)之后可以接续数个数据包(packet),该页的最末数据包可能因某些因素,如缓冲器大小限制、位率控制等,而仅将部份数据包数据封装(Packing)于该页,而尚未完成封装的数据可以继续封装于下一页的页标题之后的一接续数据包。上述的编码算法有一共同的问题,就是逻辑上属于同一帧或同一页的编码数据被两相邻帧或两相邻页之间的标题分隔,因此增加译码该等不连续排列的编码数据的困难。
图1说明一已知的解码过程中的缓冲处理方法,其中Fi代表第I个帧(frame),Fi-1代表第I-1个帧,依此类推。储存于缓冲区B11的标题Hi、数据Di 1、Di 2、与帧Fi具有相同的上标i,这代表标题Hi与数据Di 1、Di 2逻辑上属于帧Fi,而数据Di 1、Di 2的下标1、2是用来区别被两相邻帧Fi-1、Fi之间的标题Hi分隔的数据Di 1、Di 2。因应上述编码数据不连续排列的问题,图1的缓冲处理方法是在一内存储存一待译码比特流的缓冲区B11之外另外分派(allocate)一缓冲区B12,并且将帧Fi-1当中的数据Di 1与帧Fi当中的数据Di 2分别复制到缓冲区B12,以在缓冲区B12当中形成连续排列的数据Di 1、Di 2供进一步解码。由于图1的缓冲处理方法耗费额外的缓冲区B12,因此不论缓冲区B12与缓冲区B11是否设置在同一内存,对于内存的需求都会对应地提高。请参考图2,图2是另一缓冲处理方法的示意图。图2的缓冲处理方法则必须剖析(parse)自盘片205读取的数据流,并且将该数据流中的标题Hi-1、Hi、......与数据Di-1 1、Di-1 2、Di 1、Di 2、......分别储存在缓冲区B21、B22。图2的缓冲处理方法在某些嵌入式系统(embedded system)的实施上会造成不便。图1以及图2的已知技术均有若干缺点,有待改善。
发明内容
因此本发明的主要目的在于提供一种内存控制方法及相关装置,以解决上述问题。
本发明提供一种内存控制方法。该方法具有:储存一比特流在一内存;自该内存读取对应于该比特流的一标题;以及根据该标题,重新排列于储存该比特流的区域当中的第二数据,使得该第二数据与第一数据在该内存中成为连续排列的数据,其中该第一数据与该第二数据在逻辑上是一数据的两部分,但该第一数据与该第二数据于该比特流中未被连续存放。其中,该重新排列步骤是移动(move)或复制(copy)该内存中的数据至储存该比特流的区域当中已被读取的部分。
本发明在提供上述方法的同时,亦对应地提供一种内存控制电路。该电路具有:一内存,用来储存一比特流;一标题剖析器(header parser),耦合至该内存,用来自该内存读取对应于该比特流的一标题;以及一重新排列(rearrangement)单元,耦合至该内存与该标题剖析器,用来根据该标题重新排列该比特流的区域当中的第二数据,使得该第二数据与第一数据在该内存中成为连续排列的数据,其中该第一数据与该第二数据在逻辑上是一数据的两部分,但该第一数据与该第二数据于该比特流中未被连续存放。
本发明的好处之一是,本发明提供的内存控制方法与相关装置直接在储存该比特流的区域中形成连续排列的数据供进一步译码,不需在储存该比特流的区域之外另外分派(allocate)其它区域或另外设置其它内存,因此可以降低内存储存容量的规格与对应的成本。
附图简述
图1为已知缓冲处理的示意图。
图2为已知缓冲处理的示意图。
图3为本发明内存控制方法的示意图。
图4为图3的方法的相关装置的示意图。
图5为图3的方法的第一实施例的示意图。
图6为图3的方法的第二实施例的示意图。
附图符号说明
205盘片
408,442比特流/信号
410内存
420标题剖析器
430重新排列单元
440译码器
B11,B12,B21,B22,B41缓冲区
F帧
H,D缓冲区储存内容
具体实施方式
请同时参考图3、图4、与图5的上半部(图5A)。图3为本发明内存控制方法的示意图。图4为图3的方法的相关装置的示意图。而图5A为图3的方法的第一实施例的缓冲区示意图,其中Fi代表第I个帧(frame),Fi-1代表第I-1个帧,依此类推。储存在缓冲区B41的数据Di-1 1、标题Hi-1、数据Di-1 2、数据Di 1、标题Hi、数据Di 2、数据Di+1 1、......的排列顺序是图4的比特流408当中对应的数据与标题的排列顺序。也就是说图5A所示的缓冲区B41的储存内容Di-1 1、Hi-1、Di-1 2、Di 1、Hi、Di 2、Di+1 1、......是图4的比特流408被储存在内存410后尚未经过处理的原始(raw)信息。针对上述未经过处理的原始信息,本发明提供一种能增进缓冲处理效能的内存控制方法。以下步骤的顺序并非限定本发明的范围,该方法说明如下。
步骤310:储存一比特流408于一内存410;
步骤320:以标题剖析器(header parser)420自内存410读取对应于比特流408的一标题Hi
步骤330:根据标题Hi,以重新排列(rearrangement)单元430于储存比特流408的区域B41当中的一部份Fi重新排列(rearrange)储存在内存410的数据Di 2;以及
步骤340:根据标题Hi以译码器440译码储存在内存410的数据Di 1、Di 2,以产生译码信号442。
本发明的重新排列单元430实施的方式可以采用专属的硬件电路(specific circuit),如一直接内存存取模块(DMA module、Direct MemoryAccess module),或是采用一经由中央处理单元执行的程序(programexecuted on a CPU)。如图4所标示,本实施例的重新排列单元430是为一直接内存存取模块。由于本实施例的标题Hi具有数据Di 2在帧Fi当中的位置与长度等直接或隐含的信息,因此在步骤320中标题剖析器420读取到标题Hi后,即取得数据Di 2的位置与长度。于是步骤330中重新排列单元430可以根据标题剖析器420所输出数据Di 2的位置与长度,移动或复制内存410中对应于比特流408的第二数据Di 2至储存比特流408的区域B41当中已被读取的部份——图5A中储存标题Hi的区域,以使得移动或复制后的第二数据Di 2与内存410中对应于比特流408的第一数据Di 1成为连续排列的数据Di 1、Di 2。上述的缓冲处理结果如图5的下半部(图5B)所示,其中斜线区域的旧数据是否需要在重新排列数据Di 2之时删除是为实施方式的选择,并非限定本发明的范围。由于步骤330可以先从数据Di 2的前端开始以至少一较小单位分批移动或复制,即使数据Di 2平移至帧Fi前端的平移量小于数据Di 2的长度,也不会妨碍本发明的实施。其中该至少一较小单位可以是一位、一字节、数个位、数个字节、......、甚至是标题Hi的长度等多种不同长度的较小单位的组合。
本发明的方法针对帧Fi所进行的上述步骤310、320、330、340也同样地适用于起始帧F0之外的每一帧F1、F2、......、Fi-1、Fi、Fi+1、......,因此译码器440可以根据标题剖析器420所输出的标题Hi所具有的数据Di 2的位置与长度以及已被读取过的前一帧Fi-1的标题Hi-i所具有的数据Di 1的位置与长度等相关信息,译码图5B所示连续排列的数据Di 1、Di 2。上述的起始帧F0的数据D0是为连续排列在帧F0的数据,因此本发明针对起始帧F0可不必执行步骤330,并且步骤340是根据标题H0以译码器440译码储存在内存410的数据D0,以产生译码信号442。
以图5A所示储存在缓冲区B41的数据Di-1 1、标题Hi-1、数据Di-1 2、数据Di 1、标题Hi、数据Di 2、数据Di+1 1、......的排列顺序而言,以上说明的第一实施例可以适用于MP3、MPEG2多声道延伸帧(MPEG2 Multichannel extensionframe)、Ogg页结构(Ogg page structure)、或相关的衍生规格。根据该第一实施例,不论比特流408是符合MP3、MPEG2多声道延伸帧、Ogg页结构、或其它规格,只要是标题Hi与被移动或被复制的数据Di 2在重新排列前的位置是对应于比特流408的同一帧或同一数据包,皆应属本发明专利的涵盖范围。
本发明的第一实施例在提供上述方法的同时,亦对应地提供一种内存控制电路400。电路400包含有:一内存410,用来储存一比特流408;一标题剖析器420,耦合至内存410,用来自内存410读取对应于比特流408的一标题Hi;一重新排列单元430,耦合至内存410与标题剖析器420,用来根据标题Hi在储存比特流408的区域B41当中的一部份Fi重新排列储存在内存410的数据Di 2;以及一译码器440,耦合至内存410与标题剖析器420,用来根据标题Hi译码储存在内存410的数据Di 1、Di 2,以产生译码信号442。在本实施例中,标题剖析器420与译码器440可以设置在一整合(integrated)单元,而重新排列单元430实质上是为一直接内存存取模块。如前面所述,重新排列单元430能够移动或复制内存410中对应于比特流408的第二数据Di 2至储存比特流408的区域B41当中已被读取的部份,以使得移动或复制后的第二数据Di 2与内存410中对应于比特流408的第一数据Di 1成为连续排列的数据Di 1、Di 2。不论比特流408是符合MP3、MPEG2多声道延伸帧、Ogg页结构、或其它规格,只要是标题Hi与被移动或被复制的数据Di 2在重新排列前的位置是对应于比特流408的同一帧或同一数据包,皆应属本发明专利的涵盖范围。
图6所示的第二实施例与图5所示的第一实施例大致相似,其差异说明如下。在该第二实施例中,步骤330是根据标题Hi,以重新排列单元430在储存比特流408的区域B41当中的一部份Fi-1、Fi重新排列储存在内存410的数据Di 1。由于标题Hi具有数据Di 2在帧Fi当中的位置与长度等直接或隐含的信息,因此在步骤320中标题剖析器420读取到标题Hi后,即取得数据Di 2的位置与长度。由于本发明的方法针对帧Fi所进行的上述步骤310、320、330、340也同样地适用于每一帧F1、F2、......、Fi-1、Fi、Fi+1、......,于是步骤330中重新排列单元430可以根据标题剖析器420所输出数据Di 1、Di 2的位置与长度等信息,移动或复制内存410中对应于比特流408的第一数据Di 1至储存比特流408的区域B41当中已被读取的部份——图6A中储存标题Hi的区域,以使得移动或复制后的第一数据Di 1与内存410中对应于比特流408的第二数据Di 2成为连续排列的数据Di 1、Di 2。上述的缓冲处理结果如图6B所示,其中斜线区域的旧数据是否需要在重新排列数据Di 1之时删除是为实施方式的选择,并非限定本发明的范围。最后译码器440可以根据标题剖析器420所输出的标题Hi所具有的数据Di 2的位置与长度以及已被读取过的前一帧Fi-1的标题Hi-1所具有的数据Di 1的位置与长度等相关信息,译码图6B所示连续排列的数据Di 1、Di 2。图6B所示数据Di 1的新位置是为自数据Di 2的位置向前一帧Fi-1的方向平移一等同于数据Di 1的长度的平移量。由于步骤330可以先从数据Di 1的末端开始以至少一较小单位分批移动或复制,即使该平移量大于标题Hi的长度,也不会妨碍本发明的实施。其中该至少一较小单位可以是一位、一字节、数个位、数个字节、......、甚至是标题Hi的长度等多种不同长度的较小单位的组合。另外该第二实施例是以译码器440计算该平移量,此为实施上的选择。在本发明的另一实施例可以由标题剖析器420计算该平移量再将该平移量输出至译码器440。
以图6A所示储存在缓冲区B41的数据Di-1 1、标题Hi-1、数据Di-1 2、数据Di 1、标题Hi、数据Di 2、数据Di+1 1、......的排列顺序而言,以上说明的第二实施例可以适用于MPEG2多声道延伸帧、MP3(MPEG audio layer 3)、Ogg页结构或相关的衍生规格。根据该第二实施例,不论比特流408是符合MPEG2多声道延伸帧、MP3、Ogg页结构或其它规格,只要是标题Hi与被移动或被复制的数据Di 1在重新排列前的位置是分别对应于比特流408的相邻两帧或相邻两数据包,皆应属本发明专利的涵盖范围。
如该第一实施例与该第二实施例所述,标题Hi具有数据Di 2在帧Fi当中的位置与长度等直接或隐含的信息,并且标题Hi-1具有数据Di 1在帧Fi-1当中的位置与长度等直接或隐含的信息。此为实施方式的选择,并非限定本发明的范围。本发明应用于不同的编码规格时,以上叙述可以对应地变化。在本发明的另一实施例中,标题Hi具有数据Di 1在帧Fi-1当中的位置与长度等直接或隐含的信息。另外上述直接的信息是指该信息直接纪录于这些标题,而上述隐含的信息是指该信息间接地以数值、代号、或索引等具有隐含意义的信息纪录于这些标题,其中上述的位置与长度等隐含的信息可以通过对照表或计算而得知。
相较于已知技术,本发明提供的内存控制方法与相关装置直接在储存该比特流的区域中形成连续排列的数据供进一步译码,不需于储存该比特流的区域之外另外分派(allocate)其它区域或另外设置其它内存,因此可以降低内存储存容量的规格与对应的成本。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (14)

1.一种内存控制方法,该方法包含有:
储存一比特流于一内存;
自该内存读取对应于该比特流的一标题;以及
根据该标题,重新排列储存于该比特流的区域当中的第二数据,使得该第二数据与第一数据在该内存中成为连续排列的数据,其中该第一数据与该第二数据在逻辑上是一数据的两部分,但该第一数据与该第二数据于该比特流中未被连续存放。
2.如权利要求1所述的方法,其中,该重新排列的步骤包含移动或复制该第二数据至该标题原先存放于该内存的一位置。
3.如权利要求2所述的方法,其中,该标题与这些被移动或被复制的数据在重新排列前的位置是对应于该比特流的同一帧或同一数据包。
4.如权利要求2所述的方法,其中,该标题与这些被移动或被复制的数据在重新排列前的位置是分别对应于该比特流的相邻两帧或相邻两数据包。
5.如权利要求1所述的方法,其中,该比特流是符合MPEG2多声道延伸帧规格、MP3规格或0gg页结构规格。
6.如权利要求1所述的方法,其中,该方法另包含有:根据该标题译码储存在该内存的数据。
7.一种内存控制电路,该电路包含有:
一内存,用来储存一比特流;
一标题剖析器,耦合至该内存,用来自该内存读取对应于该比特流的一标题;以及
一重新排列单元,耦合至该内存与该标题剖析器,用来根据该标题重新排列该比特流的区域当中的第二数据,使得该第二数据与第一数据在该内存中成为连续排列的数据,其中该第一数据与该第二数据在逻辑上是一数据的两部分,但该第一数据与该第二数据于该比特流中未被连续存放。
8.如权利要求7所述的电路,其中,该重新排列该第二数据是移动或复制该第二数据至该标题原先存放于该内存的一位置。
9.如权利要求8所述的电路,其中,该标题与这些被移动或被复制的数据在重新排列前的位置的对应于该比特流的同一帧或同一数据包。
10.如权利要求8所述的电路,其中,该标题与这些被移动或被复制的数据在重新排列前的位置是分别对应于该比特流的相邻两帧或相邻两数据包。
11.如权利要求7所述的电路,其中,该比特流是符合MPEG2多声道延伸帧规格、MP3规格或0gg页结构规格。
12.如权利要求7所述的电路,该电路另包含有:一译码器,耦合至该内存与该标题剖析器,用来根据该标题译码储存在该内存的数据。
13.如权利要求12所述的电路,其中,该标题剖析器与该译码器是设置在一整合单元。
14.如权利要求7所述的电路,其中,该重新排列单元实质上是一直接内存存取模块。
CNB2004100050399A 2004-02-16 2004-02-16 内存控制方法及相关装置 Expired - Fee Related CN1304955C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100050399A CN1304955C (zh) 2004-02-16 2004-02-16 内存控制方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100050399A CN1304955C (zh) 2004-02-16 2004-02-16 内存控制方法及相关装置

Publications (2)

Publication Number Publication Date
CN1658169A CN1658169A (zh) 2005-08-24
CN1304955C true CN1304955C (zh) 2007-03-14

Family

ID=35007671

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100050399A Expired - Fee Related CN1304955C (zh) 2004-02-16 2004-02-16 内存控制方法及相关装置

Country Status (1)

Country Link
CN (1) CN1304955C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100527267C (zh) * 2006-02-28 2009-08-12 中国科学院计算技术研究所 Ddr和ddr2内存控制器的读数据采样方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5256348A (en) * 1991-06-13 1993-10-26 Waller Michael V Tire shaping pressure control system and method
US5661728A (en) * 1994-12-23 1997-08-26 Sip - Societa Italiana Per L'esercizio Delle Telecomunicazioni P.A. Decoder for audio signals of compressed and coded audiovisual streams
CN1162886A (zh) * 1996-02-07 1997-10-22 松下电器产业株式会社 解码装置和方法
JPH11282496A (ja) * 1998-03-30 1999-10-15 Matsushita Electric Ind Co Ltd 復号装置
US20020166006A1 (en) * 2001-05-03 2002-11-07 Williams Robert Alan Multiple buffers for removing unwanted header information from received data packets
JP2003076395A (ja) * 2001-08-31 2003-03-14 Yamaha Corp オーディオ信号処理装置
CN1467726A (zh) * 2002-07-11 2004-01-14 ӡ�����Ƽ��ɷ����޹�˾ 媒体播放器的录放控制器的输入缓冲器的管理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5256348A (en) * 1991-06-13 1993-10-26 Waller Michael V Tire shaping pressure control system and method
US5661728A (en) * 1994-12-23 1997-08-26 Sip - Societa Italiana Per L'esercizio Delle Telecomunicazioni P.A. Decoder for audio signals of compressed and coded audiovisual streams
CN1162886A (zh) * 1996-02-07 1997-10-22 松下电器产业株式会社 解码装置和方法
JPH11282496A (ja) * 1998-03-30 1999-10-15 Matsushita Electric Ind Co Ltd 復号装置
CN1235427A (zh) * 1998-03-30 1999-11-17 松下电器产业株式会社 解码装置
US20020166006A1 (en) * 2001-05-03 2002-11-07 Williams Robert Alan Multiple buffers for removing unwanted header information from received data packets
JP2003076395A (ja) * 2001-08-31 2003-03-14 Yamaha Corp オーディオ信号処理装置
CN1467726A (zh) * 2002-07-11 2004-01-14 ӡ�����Ƽ��ɷ����޹�˾ 媒体播放器的录放控制器的输入缓冲器的管理方法

Also Published As

Publication number Publication date
CN1658169A (zh) 2005-08-24

Similar Documents

Publication Publication Date Title
CN1074633C (zh) 解码系统中的自适应位流分离装置
US8009968B2 (en) Recording apparatus, recording method, program, recording medium, and data recording medium
CN1926629A (zh) 记录设备、编辑设备、数字视频记录系统、以及文件格式
WO2006070668A1 (ja) 情報記録装置、そのデータフロー・コントローラ、及びそのデータフローの制御方法
CN1933580A (zh) 数字内容加密及解密方法及装置
CN1463441A (zh) Mp3的特技播放
CN101252694A (zh) 基于块的视频解码的帧存储压缩和地址映射系统
CN1668097A (zh) 一种视频文件快速生成的方法
CN1702633A (zh) 一种媒体文件系统的建立方法
CN1304955C (zh) 内存控制方法及相关装置
CN1455408A (zh) 控制音频流缓冲的方法和装置
CN113271467B (zh) 一种支持高效编辑的超高清视频分层编解码方法
US20070067570A1 (en) Data processing methods and systems
US20040194001A1 (en) CRC checking and error tagging system and method for audio data
CN1079568C (zh) 再现数字盒式磁带录像机的视频段的装置和方法
WO1999050849A1 (fr) Dispositifs et procedes de sortie de donnees, et d'entree/sortie de donnees
US10834441B2 (en) Method and system for streaming a media file during a concurrent transcoding thereof
TWI270774B (en) Memory control method and related device
CN101042909A (zh) 用于光储存媒体的播放多媒体文件的方法
CN1463442A (zh) 编辑数据流的方法和装置
JPH06189292A (ja) 動画像復号装置
CN1162856C (zh) 信号处理电路
CN1832559A (zh) 数字影音资料的内存存取方法及装置
JP2993455B2 (ja) 画像と音声の再生装置
CN1318253A (zh) Av解码器控制方法与av解码器控制装置

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: 20070314

Termination date: 20220216