CN1192106A - Mpeg解码器存储器管理器 - Google Patents

Mpeg解码器存储器管理器 Download PDF

Info

Publication number
CN1192106A
CN1192106A CN98104307A CN98104307A CN1192106A CN 1192106 A CN1192106 A CN 1192106A CN 98104307 A CN98104307 A CN 98104307A CN 98104307 A CN98104307 A CN 98104307A CN 1192106 A CN1192106 A CN 1192106A
Authority
CN
China
Prior art keywords
memory
pointer
write
data
video
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.)
Pending
Application number
CN98104307A
Other languages
English (en)
Inventor
戴维·A·巴恩斯
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.)
Discovision Associates
Original Assignee
Discovision Associates
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 Discovision Associates filed Critical Discovision Associates
Publication of CN1192106A publication Critical patent/CN1192106A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种MPEG解码器,按2.5帧存储方式操作,具有有效存储器管理功能,使B图像被存放和显示的同时利用帧存储器的一部分。视频帧被看作网格,具有数行8×8像素块。像素块在闭合环路中三个交叉连接的FIFO中处理。存储器中这样操作:(1)视频重构处理,和(2)显示处理。三个FIFO中之一用于回写,而另两个用于读取2∶1隔行扫描光栅数据。光栅操作采用的两个FIFO被分配给图像的隔行线。

Description

MPEG解码器存储器管理器
本发明涉及视频解压缩技术。本发明尤其涉及一种视频解码器,和负责将解码视频帧图存储在一视频解码器的图像格式器中的存储器管理。
由美国专利号5,211,742可具体获知各种视频数据压缩标准,即JPGE、MPEG和H.261。一种重要的压缩标准是运动图像专家组协议(“MPEG”),而更具体地说是MPEG-2(ISO/IEC13818)。针对MPEG-2解码视频数据在解码器中采用的电路已公开,例如在欧洲专利申请第92306038.8号中,其与本发明是同一受让人。
MPEG解码包括三种不同的图像类型:内含的(“I”)、预测的(“P”)、和双向内插的(“B”)。B图像基于两帧图像的预测,一个将来帧和一个过去帧。I图像无需由瞬时解码器再解码,但必须存放在两图像缓存器的一个之中以备日后解码P和B图像时用。图像次序在解码器中被变更,这样I和P图像能在它们被需要解码B图像之前根据编码数据被解码。解码P图像需要根据一前面解码的P或I图像形成预测。已解码的P图像存储在图像缓存器中供解码P和B图像用。
B图像能要求根据图像缓存器进行预测。如P图像一样,半像素运动矢量分辨率准确度要求图像信号在片插入。B图像不存于缓冲区。它们仅是瞬时的。
在MPEG解码中特有的是一瞬时的和一空间的解码器。本发明中采用的空间解码器负责对单一图像所有必须的处理,来减少一图像的冗余信息。瞬时解码器用于降低主图像和先于其抵达的一图像间的以及和在其后抵达的一图像间的冗余信息。
图1说明一I图像2是如何存储在一图像缓存器4中并输出的。图2所示是一P图像6如何根据一图像缓存器8形成、存储于一第二图像缓存器10中、并输出。图3说明一B图像12是如何根据两图像缓存器14的信息构成的,并未存储而输出。
I和P图像在其解码时通常并不从瞬时解码器输出。相反,I和P图像被写入图像缓存器中的一个后,仅当一后续的I或P图像抵达待解码时它们才被读出。换句话说,瞬时解码器凭借后续的P或I图像冲去两图像缓存器以前的图像。空间解码器能在一视频序列的结尾处提供一虚拟的I或P图像以冲去最后的P或I帧。接着该虚拟图像在一后续视频序列开始时被冲掉。
在解码B图像时出现峰值存储器带宽负荷。在从“最坏情景”截取的一个例子中,B帧可根据两图像缓存器的预测形成而所有的预测都是半像素精确度。表格1表示采用一典型动态随机存取存储器(“DRAM”)时的性能数据。
数据总线宽度(比特)     读或写8×8块     形成预测(半像素精确度)     形成预测(整个像素精确度)
    8     3657ns     4907ns     3963ns
    16     1880ns     2907ns     2185ns
    32     991ns     1907ns     1741ns
表格1
从表格1的数据,可看出对于两个精确的半像素精确度预测(经32位宽接口)解码器的DRAM接口需用3815ns读数据。瞬时解码器能支持的分辨率由在一图像时间内进行的这些预测数量决定。在该例中,瞬时解码器能在一个33ns图像期间内(例如,对于30Hz视频)处理8737个8×8的块。
如果要求的视频格式为740×480,那么每个图像包含7920个8×8块(考虑到4∶2∶0的色度抽样)。可看出该视频格式消耗掉近91%的可用DRAM接口带宽(在其它任何因素例如DRAM刷新被考虑之前)。因此瞬时解码器能支持该视频格式。
当采用MPEG图像重新排序时,在解码P图像时会碰到最坏情景。在这段时间,在DRAM接口有3种工作:(1)形成预测;(2)回写结果;和(3)读出先前的P或I图像。
采用表格1中的数据,当存在32位宽的接口时这些任务中的每一个的时间都能确定。形成预测需用1907ns/n,而读和写每个要用去991ns,总共3889ns。可允许瞬时解码器在一33ms期间内处理8485个8×8块。因此处理704×480视频将使用近93%的可用存储带宽(忽略刷新)。
一通用解码器系统16的框图由图4表示。目前常用同步DRAM作为DRAM18用在视频格式器20上。空间解码器22和瞬时解码器24分别采用DRAM26、28。在MPEG解码处理期间,多至3帧的存储将需要存储在DRAM18中。若要达到可接受的性能,则DRAM接口30特别重要。在众所周知的美国国家电视制式委员会(“NTSC”)协议中,要求数量达4Mbits(兆比特)/帧,3帧共12Mbits。对于逐行倒相制(“PAL”)协议,帧大小接近5Mbits,这样在DRAM 18中需要15Mbits存储器。商用解码器系统DRAM 18由一16Mbits随机访问存储器(“RAM”)实现,以备用。然而在最坏情景下,仅剩1Mbits的RAM供视频格式器20的其它处理功能使用是不够的。只要有一足够大的存储器就会导致“4.3”帧存储模式”的操作。因此必须提供另一RAM(未示出),通常将一4Mbits大小的存储器提供给视频格式器20。4Mbits存储器的容量大于所需,但之所以采用是因为同采用16MbitsRAM一样的原因,它是一现用元件。在以大规模集成电路(“VLSI”)实现的一MPEG解码器上,由于成本、功耗、及空间利用的原因,一般需要降低存储器大小。
视频格式器20处理从空间解码器22和瞬时解码器24来的数据。一数字视频帧被当作一像元网格,或像素。像素按8×8被组合成块,而这些块进而被组合成2×2的单元,即已知的宏块。因此一个宏块代表一组16×16的像素,或一组2×2的单元。一PAL图像由45×36的宏块构成,而一NTSC图像是45×30个宏块。参照图5,每个宏块32包含4个亮度块34和2个色度块36,及包含一最初的16×16像素组信息。4个亮度块34和2个色度块36中的每一个都是8×8像素大小。4个亮度块34含有一个从最初的16×16像素组来的亮度信息的1×1像素图。一色度块36包含一蓝色信号(Cu/b)色度电平的表示,而其它色度块36包含红色信号(Cv/r)色度电平的表示。每个色度电平被分抽样(subsample),这样每个8×8色度块36包含整个最初16×16像素块的色彩信号的色度电平。
压缩提到的3帧存储之一(“B帧存储”)最近已变成可能。当压缩时,认为解码器操作在“2.5帧存储方式”。这是必需的,因为当NTSC信号时在DRAM18中仅需10Mbits的存储器,而当PAL信号时需12.5Mbits的存储器。具有实际意义的是能够在一单个16Mbits存储器内解码PAL图像。然而2.5帧存储方式的存储器管理存在相当的困难,因为MPEG算法可能要求视频格式器20处理大量的混合的I、P和B图像。每类图像要区别处理。而且如果解码一后续图像的处理被延迟,要重新显示当前图像的一个或多个场就要求有更多的解码器存储器管理命令。
本发明主要目的就是提高MPEG解码器的视频格式器中的存储器管理的有效性。
本发明另一目的是提供一种MPEG解码器的存储器管理器,其能在2.5帧存储方式时快速有效地操作。
本发明的再一目的是降低MPEG解码器的存储器单元的大小、成本、和功耗。
本发明的这些和其它目的通过一改善的2.5帧存储方式的MPEG解码器操作来实现的,而且具有一有效存储器管理,其允许一图像特别是一B图像能被存储和显示而同时能利用帧存储存储器一部分。视频帧被当作一网格,具有数行8×8像素块,这种行在这儿被称作存储器的“片”,或“块行”。这些片在交叉耦合缓冲区中被处理,每个依先入先出(“FIFO”)排列,并以一闭合环路形式交叉连接。在存储器上的两个处理操作如是安排:(1)一视频重组处理负责将数据写入存储器(“回写”),及(2)一显示处理,负责访问存储器和将视频帧按光栅格式(“光栅”)写入另一外部存储器。在该优选实施例中有3种交叉耦合FIFO,一种是为回写而设计的,而另两种是为读2∶1的隔行扫描光栅数据而设计的。这两种用于光栅操作的FIFO被分配给图像的隔行扫描线。
按照本发明,一视频解码器含有一空间解码器、一瞬时解码器、一视频格式器、和一数据存储器用于存储接收的数据。视频格式器接收瞬时解码器和空间解码器其至少一个的数据。视频格式器的一存储管理器采用一回写存储器、一第一光栅存储器、和一第二光栅存储器,其中多个数据存储器的指针存放在回写存储器中。回写存储器中的单元数量少于在第一光栅存储器和第二光栅存储器中单元数量之和。存储器接口耦合于第一光栅存储器、第二光栅存储器、数据源、数据存储器、和回写存储器。一回写控制电路负责从回写存储器中提取指针,优选为虚拟存储指针,其中提取的指针被提供给存储器接口,而接收的数据被存放在提取的指针指定的数据存储器的单元中。提取的指针被传递给光栅存储器。光栅控制电路负责从光栅存储器中再次提取传递的指针从而提供给存储器接口,其中接收的数据被从数据存储器中读出,而再次提取的指针被返回回写存储器。
最好,回写存储器、第一光栅存储器、和第二光栅存储器都是FIFO,在一个实施例中它们能被静态配置,并能以一单个RAM形式实现。
按照本发明的另一方面,控制电路是为动态配置FIFO而提供的。
按照本发明的另一方面,回写存储器、第一光栅存储器、和第二光栅存储器以一个内容可寻址存储器形式实现。
按照本发明的又一方面,回写存储器、第一光栅存储器、和第二光栅存储器以一个寄存器堆形式实现。
按照本发明的另一方面,数据存储器具有多个存储库。
按照本发明的再一方面,回写存储器、第一光栅存储器、和第二光栅存储器是交叉耦合FIFO存储器,用于存放数据存储器的指针。FIFO存储器每个都有一读指针、一写指针、和FIFO存储器的状态标志,其中这些指针在一闭合系统中在回写存储器和光栅存储器间传递。
按照本发明的一个方面,提供有一个控制电路,当要求视频格式器重新显示一解码的视频场时其确定一锁定信号,以将一光栅FIFO的写指针锁住不动。
本发明提供了一种管理存储器的方法,其锁住解码的视频数据以显示。这是按以下方式实现的,在空间解码器和瞬时解码器的至少一个中解码MPEG编码的视频数据,其中解码的数据代表要显示的图像;在一数据存储器中存放解码的视频数据;在一回写存储器中存放数据存储器单元的指针;从回写存储器中提取存放的指针;将接收的视频数据写入提取指针指定的数据存储器的单元;将提取的指针传递给至少一个光栅存储器,其中对应第一视频显示场的解码的视频数据,将指针存放在第一光栅存储器中,而对应第二视频显示场的解码的视频数据,将指针存放在第二光栅存储器中;从传递指针指定的数据存储器单元中读取数据;输出显示用的读取数据;及将传递指针返回给回写存储器。
提取指针和写入接收视频数据的步骤是和传递提取的指针、读取数据、输出读取的数据、及返回提取的指针同时进行的。
为了更好理会本发明的这些和其它目的,将参照附图以示例详细描述本发明,附图中:
图1是描述按照本发明的解码器中MPEG“I”图像的存放的示意图;
图2是描述按照本发明的解码器中MPEG“P”图像的存放的示意图;
图3是描述按照本发明的解码器中MPEG“B”图像的存放的示意图;
图4是按照现有技术领域的一MPEG解码器的框图;
图5是按照现有技术领域的MPEG和JPEG的宏块结构的示意图;
图6是按照本发明的一MPEG的视频格式器中的存储管理器的框图;
图7A~7J是在图6中示出的存储管理器的电路结构图;
图8A~8E是图7A~7J所示的存储管理器中与外部存储器接口用的控制电路的电路结构图;
图9A~9C是图8A~8E说明的控制电路中的存储控制器的详细电路结构图;
图10A~10B是图9A~9C电路中说明的回读FIFO控制器的更详细的电路结构图;
图11A~11B是图9A~9C电路中说明的回写FIFO控制器的更详细的电路结构图;以及
图12是图8A~8E电路中的状态装置的更详细的电路结构图。
转到图6,一VLSI MPEG解码器视频格式器38能在线40上接收一已知图像,即可以是两个非隔行扫描场图像,亦或是隔行扫描数据的单个帧图像。将参照PAL制式对视频格式器38进行讨论,因它是目前采用的最大图像;而格式器38一样适用于NTSC制式以及其它视频协议。一视频帧以两段、或场、一顶部场和一底部场形式显示。一PAL制图像以一宏块序列流形式抵达线40,并存放在一外部存储器42中,在那里图像针对每行宏块按两块行形式组织,共72块行。数据可能以一隔行扫描帧图像格式(即45×36宏块)抵达,亦或以两序列非隔行扫描场图像格式(即2×45×18宏块)抵达。一帧宏块包含从每个视频显示场来的数据、从顶部场来的两块数据、和从底部场来的两块。一场图像宏块包含4块数据,全部从同一场来。为了有效处理外部存储器42,每个场存储器被划分成数个存储片,其对应数行8×8的块。因此每片是一行90块,全部从同一视频场来。目前采用的最大图像尺寸为45×36宏块,对应90×72块。因此在外部存储器42中的每场存储必须容纳36块行数据。
按照本发明,外部存储器42由3个交叉耦合FIFO管理,如图6所示被连接。值得注意的是,外部存储器42既优选为虚拟存储器,在特殊应用中还可是物理存储器。
外部存储器42有2个存储库,库044、和库146,都经一存储器接口48被访问。从顶部场来的数据被存储在库044中,而从底部场来的数据被存储在库146中。第一个在片FIFO、回写FIFO 50保持指向外部存储器42的空闲单元的虚拟指针(以下简称“指针”)。外部存储器42的空闲单元因此可被写入视频数据。存放在外部存储器42中的36行宏块的每一个由在单元52的第一指针表示在库044中寻址第一个块行54,及由在单元56的第二指针表示在库146中寻址第二块行。因此有(36×2)个指针,再者回写FIFO深度为72。在视频格式器38存储器操作期间,分库存储的外部存储器42与存储器接口48合用来增大带宽。需强调的是,在微处理器60控制下回写FIFO 50长度可编程,所以减少存储器操作是可以进行的。
另外两个FIFO是“光栅”或“已用存储器”FIFO,每个对应一视频场。光栅FIFO 62和光栅FIFO 64被分别分配给顶部视频场和底部视频场。它们保持指向已写入了视频数据的外部存储器42的片的指针。光栅FIFO 62和光栅FIFO 64每个能保持多至54个指针(1.5×36块行)其原因很明显。
在一操作周期,在任何对外部存储器42的访问发生之前,回写FIFO 50被初始化或被指向外部存储器42的空闲片的指针装载。如果全部72片被用于图像存储,则回写FIFO 50被装载72个指针。光栅FIFO 62、64被清除并变空,说明不再有要显示数据写入。
回写处理66,作为一状态装置实现,最初从回写FIFO 50中提取两指针68、70,并送出一请求给存储器接口48,从而在将抵达图像的首两块行存放在外部存储器42的单元72、74,即由指针68、70指向的单元。当存放完两块行后,回写处理66按如下方式将两指针68、70传递到光栅FIFO 62、64的一个或两个中:
情况1:单元72、74中的视频数据是一隔行扫描帧图像,而一个块行由顶部场数据组成,而且其它块行由底部场数据组成。回写处理66将指针68传递到顶部场光栅FIFO 62的单元76中,并将指针70传递到底部场光栅FIFO 64的单元78中。
情况2:单元72、74中的视频数据代表一场图像,而两块行表示同一场的数据。如果该场是一顶部场,那么两个指针都被放在顶部场光栅FIFO 62的单元76和单元80中。如果该场是一底部场,情况类似,只是访问的应是底部场光栅FIFO 64。
在回写处理66执行的同时,以一状态装置形式实现的一光栅处理82按类似方式操作。它从光栅FIFO 62、64之一提取出一指针。光栅处理82对应某一时刻一视频场对指针操作,并继续访问数据场,直到整个场从外部存储器42中检索出来。假设一顶部场要被显示,将从光栅FIFO 62的单元84中提取指针。提取的指针被用于从外部存储器中检索出一块行。在检索出块行后,光栅处理82将从单元84提取的指针传递到回写FIFO 50的单元86。光栅处理82于是从光栅FIFO 62的单元88中提取出下一指针,并按同样方式进行直到整个顶部场被从外部存储器42中检索出来。检索的视频数据经存储器接口48被访问并在线90上输出。
回写FIFO 50和光栅FIFO 62、64交叉耦合,如上所述,一个的输出提供给另一个作输入。系统是闭合的,任一时刻所有3个FIFO中的指针总和是初始化回写FIFO 50的指针数量。指针存储于FIFO的事实提供了内置速率控制和反冲突功能。如果回写FIFO 50空闲,这是因为所有可用存储片都被用来保持数据。回写处理66于是不能提取更多的指针,并停止,直到回写FIFO 50中再有指针可用。类似地,当光栅FIFO 62、64指针变得枯竭时光栅处理82就停止。
在单个RAM上实现回写FIFO 50和光栅FIFO 62、64而且由解码器按照一特殊视频协议或协议组合来静态或动态配置它们是可能的。在该优选实施例中,回写FIFO 50和光栅FIFO 62、64必须提供总共180个单元,为方便使用以一192单元RAM实现。这是很令人满意的,因为外部存储器42访问要求一相对长的时间,所以回写FIFO 50和光栅FIFO 62、64所需带宽就相对低些。动态配置由一控制微处理器60完成。
回写FIFO 50和光栅FIFO 62、64在每个B图像序列的开始处通过调节读和写指针及读-非-写标志序列被初始化,从而使FIFO显得是空的。B图像抵达时,FIFO 50、62、64按非确定方式被加载和去载。当一B图像序列完成时,视频格式器38进而去处理一P-图像,各个FIFO在其最后状态被冻结,并能在下一B图像序列抵达时再开始加载和去载。然而在该优选实施例中,选择在每个B图像序列的开始处重新初始化回写FIFO 50和光栅FIFO 62、64,从而更好地防范未预见错误。
有可能要不止一次地显示一场,例如在24Hz的运动图像胶片到30Hz的NTSC的帧速率转换期间(此处所指称为“3∶2下拉操作”)。光栅FIFO 62、64用读和写指针实现,而FIFO读指针的拷贝可存放在场检索的开始处。当整个场根据外部存储器被重新检索时,存放的读指针可被用于复位FIFO读指针使其返回场开始位置,这样场可以被第二次访问。光栅处理82必须意识到重复显示要发生,这样虚拟指针不会从光栅FIFO 62、64传到回写FIFO50。给回写FIFO传递指针仅发生在场被最后一次访问时。
FIFO 62、64的配置针对至少7位数据,即针对编码72块行指针的最小值。在该优选实施例中,为方便采用一8位RAM。
如果视频格式器38接收独个的帧图像序列或独个的场图像,光栅FIFO62、64每个可用36个单元实现。然而,实际上另外的一半场存储要求避免存储器溢出或回写处理66的闲置。这是因为,按照MPEG协议,视频格式器38必须处理不规则混杂了场图像的帧图像。而且,实际上光栅处理82能够停止或延迟回写处理66存储一场所需的一间隔(一半帧数据),此处所指称为“场时间”。
导致最大存储装载的情况是下面的B图像序列:一先前的场图像和一当前的帧图像。在该形式下,在FIFO 62、64每个中都要为当前图像的一场提供存储,因为回写处理66还未完成其对前一场B-图像的操作。
假设一整个视频图像,一帧图像或两场图像,已被解码存放在外部存储器42而未有要被显示的任何数据检索。在这种情况下,回写FIFO 50空闲而每个光栅FIFO 62、64都包含36个指针。系统现在一直锁住直至光栅处理82被命令开始显示一图像。一旦显示一图像的处理开始,光栅FIFO 62、64中的存储片将由光栅处理82释放,而指针被送往回写FIFO 50。再者,假设光栅处理82使用另一顶部场光栅FIFO 62正显示一当前场图像的顶部场,并假设要写的下一图像是一帧图像。当前图像的顶部场检索释放多至36块行给回写处理66使用。回写处理66和光栅处理82同速操作,所以它们被有效地耦合在一起。因而,在存储一整幅图像的时间里,两场可被显示。然而,因为一帧图像的存储与一场图像的检索并行,后续帧图像的顶部场将需要18块行,而底部场要18块行。因为顶部场光栅FIFO 62由光栅处理82腾空,所以给回写处理66留出空间以放置与返回光栅FIFO 62的后续帧图像的顶部场相关的再使用的指针。然而顶部场光栅FIFO 64还未访问,并包含了当前场图像的底部场的36个指针。因此必须为光栅FIFO 64提供足够的空间以存储另外18个指针,该18个指针是在其解码后续帧图像时在回写处理66控制下抵达的。另外回写处理66将停止而整个MPEG解码器将最终锁住。因此,为了预防各种最坏情景的同时出现,FIFO 62、64必须能够存储54个指针(54=36+18)。
光栅处理82由视频时钟产生器(未示出)以27MHz的标准显示速率驱动。回写处理66按大致同一速率操作,并有效地与光栅处理82耦合,这样指针被写入回写FIFO 50和FIFO 62、64,其速度与显示一般快。假设上述最坏情景一起发生,则回写FIFO 50在任何时候都不会超出2/3。
现参照图7A~7J、8A~8E和9A~9C,所示为本发明的一优选实施例的简图,其在一集成电路中实现的。以上讨论的三个交叉耦合的FIFO按192×8比特RAM 94配置。块96包含了访问RAM 94控制逻辑,并在图8A~8E中更详细地示出。存储控制器98访问RAM94的FIFO的单元。块100和块102分别是以上讨论的回写处理和光栅处理的状态装置。
存储控制器98结构在图9A~9C中更详细示出。解码逻辑网104接收状态装置100、102的输出而且解码输入信息。电路106包含一2位计数器108,其产生一4状态输出110,即RAM控制器的状态装置,并用于仲载回写和光栅处理的访问请求。存储控制器98因此能够按照输出110的状态来控制回写处理的读和写,及光栅处理的读和写。回写或光栅处理的实际存储器访问必须因此等待示出110的适当状态。代表3个独立FIFO的指针情况的地址由FIFO控制器112提供给回写FIFO,并在两个一样的电路中由FIFO控制器114、116提供给顶部和底部场光栅FIFO。一7比特总线被连到FIFO控制器112,因为要提供72个地址。就FIFO控制器114、116而言,所连总线118和总线120每个为6比特,因为在光栅FIFO中只需要寻址54个单元。多路复用电路122解码存储控制器98的状态,和请求存储访问类型。FIFO控制器112、114、116之一的相关指针被用来访问RAM 94(图7A~7J)。
回写FIFO控制器114、116的结构在图10A~10B中说明。两个6比特寄存器124、126分别产生写和读指针。寄存器126逻辑电路包含一增值器128、一计数器1 30和一与非门132,用于在读指针抵达其最后值时清除寄存器126。寄存器124逻辑电路与其类似,因此为简洁不再重复细节。计数器134、136用来配置一光栅FIFO 62、64的大小及对其的访问(图6)。
另外一寄存器136一样在某一环境下捕获并保留寄存器126的值,在此将简要描述。在电路中出现的两个比较器138、140是用来在比较寄存器124、126、136中保留的值。比较器138用于比较两计数寄存器124、126的输出。比较器140比较寄存器124产生的FIFO写指针的输出与寄存器136保持的读指针的捕获或保留值。比较器138的输出与一读-非-写标志联合使用,由一单个触发器142实现。由门144、146产生两个状态信号148、150,其指示FIFO是满或是空。这些状态信号被逻辑网络104使用来控制如何访问FIFO,并防止满时的写操作,及防止空时的读操作。
比较器140的输出用来产生一“锁定”信号NLOCK 152。在一场图像显示被重复时,信号NLOCK 152被利用来控制访问光栅FIFO。该事件会在解码器进行3∶2下拉操作或帧速率转换时发生,会在必须通过显示一额外场来有效标识时间时发生。代替仅一次性显示一视频图像的两场,第一场可以在两场显示完后,再显示或重复显示。例如首先显示顶部场,接着显示底部场,并接着再显示顶部场。在这种情况下,要求保留外部存储器的内容以备视频场之一的重新显示。为了避免一旦显示完成后外部存储器中的数据倒空或溢出,锁定信号NLOCK 152将光栅FIFO的写指针冻结,这样读指针能被再次加载以重新显示。当重新显示第一场时间到时,寄存器136捕获的值被加载到寄存器126中,其效果是将读指针复位到第一场的开始位置,这样它可被第二次访问。逻辑网络104将NLOCK 152解释为一指示,即寄存器124保持的写指针同寄存器136中捕获的读指针一样,而且如果该场要被再显示,则另外的FIFO写操作应被阻塞以防止第一数据场被覆写。第一场数据因此被保留在外部存储器中直至其被第二次重新显示。
在参照图6、8A~8J和9A~9C,NWSINK 154和信号NLOCK 152联合操作。信号NWSINK 154在3∶2下拉或帧速率转换期间处于有效状态,并且如果场需重新显示则在第一场显示期间是断言的。信号NWSINK 154禁止将光栅处理状态装置102发出的写指令送给回写FIFO控制器112。这种必要是因为当第一图像场显示时,外部存储器的数据片一定未被腾空并放回回写FIFO 50。在第二显示,或重新显示第一场期间,信号NWSINK 154处于非有效状态,因此允许状态装置102触发回写FIFO 50的写操作,这样指向空闲存储片的装置被放置在那里。
图11A~11B说明回写FIFO控制器112的结构,它跟回读FIFO控制器的结构非常类似,除无另外的寄存器捕获为场重新显示用的读指针值。控制触发器156简化了在针对一序列的第一B-类型图像首次访问回写FIFO时的操作。在显示一序列B-图像中的第一B-图像期间,触发器156被设定并且其输出处于有效状态。这迫使状态装置逻辑网络104(图9A~9C)参照FIFO的实际地址而不是该地址保持的外部存储器的内容。其结果导致存储控制器98预先用图像片序列加载外部存储器。设置触发器的结果产生一控制信号132,避免了要用一状态装置清除外部RAM,并用图像片序列的初始虚拟指针预先装载它。触发器156在第一个B-图像显示完成后被复位,并在一新的B-图像序列的开始处才再次被设置。另一控制触发器158形成一控制信号RASENB 160,其为回写处理同步光栅处理用。触发器158在B-图像开始前被设置,并在回写FIFO 50(图6)为首次腾空之时被复位。触发器158输出的控制信号FIFSTB 162指示光栅状态装置102什么时候其应开始显示B-图像。其断言需要光栅处理延迟回写一场时间(或一半帧存储)。该延迟对系统平稳操作是最佳的。
图12说明了控制对RAM 94(图7A~7J)的访问的状态装置164。它由触发器166、168、170、172和相关逻辑组成。信号174、信号176、和信号178选通光栅处理的回写和读写请求。
以VLSI实现的FIFO存储器能很好工作以管理指针,如上所述。然而,在未脱离本发明的精髓的情况下,采用存储器管理装置而不是FIFO来实现3个交叉耦合存储也是可能的。例如利用散列表格、存储器单元的链接清单、高速缓存器,及许多其它形式的非直接寻址方式,可在/从3交叉耦合存储器写入/提取指针,这在本领域是熟知的。交替指针存储器方案可采用为光栅处理不必按由回写处理写入光栅存槠器的同一次序提取指针,只要保证保持一指针闭合系统即可。
再参见图6,考虑到电流功率,并且因为它只需很小硅面,回写FIFO 50、和光栅FIFO 62、64优选地选用一单端静态RAM阵列实现。寄存器堆也适用,并且一内容可寻址的存储器也可用于3个FIFO。
尽管参照此处公开的结构解释了本发明,但不止限于前述的细节,该申请覆盖在所附权利要求书范围内的任何变动和更改。

Claims (10)

1.一种视频解码器,包含:
一个空间解码器,其与编码视频数据源相连;
一个瞬时解码器;
一个视频格式器,接收从所述瞬时解码器和所述空间解码器至少其中一个来的数据,其中所述瞬时解码器和所述空间解码器限定一数据源;
一个数据存储器,用于存放接收的数据;
其特征在于所述视频解码器包括:
一个回写存储器、一个第一光栅存储器、和一个第二光栅存储器,其中指向所述数据存储器的指针被存放在所述回写存储器、所述第一光栅存储器、和所述第二光栅存储器中;
一个存储器接口,其与所述数据源、所述数据存储器、所述回写存储器、所述第一光栅存储器、和所述第二光栅存储器耦合;
一个回写控制电路,用于从所述回写存储器中提取指针,其中所述提取到的指针被提供给所说从存储器接口,而所述接收到的数据被存放在所述指针指定的所述数据存储器单元中,所述提取到的指针被传递到一所述光栅存储器中;及
一个光栅控制电路,用于从一所述光栅存储器中再次提取所述传递指针以将其提供给所述存储器接口,其中所述存放的接收数据从所述数据存储器中读出,而所述再次提取的指针被返回所述回写存储器。
2.按照权利要求1所述的视频解码器,其中所述指针是虚拟存储器指针。
3.按照权利要求1所述的视频解码器,其中所述回写存储器、所述第一光栅存储器、和所述第二光栅存储器是FIFO。
4.按照权利要求3所述的视频解码器,其中所述FIFO是静态配置。
5.按照权利要求3所述的视频解码器,还包括用于动态配置所述FIFO的控制电路。
6.按照权利要求1所述的视频解码器,其中所述回写存储器中的单元数量少于所述第一光栅存储器和所述第二光栅存储器中的单元数量之和。
7.一种视频解码器,包括:
一个空间解码器,其与编码视频数据源相连;
一个瞬时解码器;
一个视频格式器,接收从所述瞬时解码器和所述空间解码器至少其中一个来的数据,其中所述瞬时解码器和所述空间解码器限定一数据源;
一个数据存储器,用于存放接收的数据;
其特征在于所述视频解码器包括:
一个闭合存储器系统,其包括交叉耦合FIFO存储器,用于存放指向所述数据存储器的指针,FIFO存储器是一个回写存储器、一个第一光栅存储器、和一个第二光栅存储器,所述FIFO存储器每个都有一个读指针、一个写指针、和一个状态标志;
控制电路,用于初始化所述FIFO存储器的所述读指针、所述写指针、和所述状态标志;
一个存储器接口,其与所述数源、所述数据存储器、所述回写存储器、所述第一光栅存储器、和所述第二光栅存储器耦合;
一个回写控制电路,用于从所述回写存储器中提取指针,其中所述提取到的指针被提供给所述存储器接口,而所述接收到的数据被存放在所述指针指定的所述数据存储器单元中,所述提取到的指针被传递到一所述光栅存储器中;及
一个光栅控制电路,用于从一所述光栅存储器中再次提取所述传递指针以将其提供给所述存储器接口,其中所述存放的接收数据从所述数据存储器中读出,而所述再次提取的指针被返回所述回写存储器。
8.按照权利要求7所述的视频解码器,还包括一个第一控制电路,用于动态配置所述FIFO存储器至少其中一个的存储容量。
9.按照权利要求7所述的视频解码器,还包括一个第二控制电路,其在一解码视频场需要由所述视频格式器重新显示时断言一锁定信号,其中一所述光栅FIFO的所述写指针响应于所述锁定信号而保持不动。
10.一种在具有一空间解码器、一瞬时解码器、和一视频格式器类型的一视频解码器系统中管理保持解码视频数据以将其显示的存储器的方法,包括以下步骤:
在所述空间解码器和所述瞬时解码器至少其中一个中解码MPEG编码视频数据,其中所述解码数据代表要显示的一图像;
为所述解码视频数据提供一数据存储器;
在一回写存储器中存放指向所述数据存储器单元的指针;
从所述回写存储器中提取所述存放的指针;
将所述接收到的视频数据写入所述提取的指针指定的所述数据存储器的单元中;
将所述提取的指针传递给第一光栅存储器和第二光栅存储器至少其中一个中,其中存放在所述第一光栅存储器中的指针对应第一视频显示场的解码视频数据,和存放在所述第二光栅存储器中的指针对应第二视频显示场的解码视频数据;
从所述传递指针指定的所说数据存储器单元中读取数据;
输出所述读取数据以将其显示;及
将所述传递指针返回给所述回写存储器。
CN98104307A 1997-02-26 1998-01-26 Mpeg解码器存储器管理器 Pending CN1192106A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9704027.3A GB9704027D0 (en) 1997-02-26 1997-02-26 Memory manager for mpeg decoder
GB9704027.3 1997-02-26

Publications (1)

Publication Number Publication Date
CN1192106A true CN1192106A (zh) 1998-09-02

Family

ID=10808371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98104307A Pending CN1192106A (zh) 1997-02-26 1998-01-26 Mpeg解码器存储器管理器

Country Status (12)

Country Link
US (1) US6122315A (zh)
EP (1) EP0863676A3 (zh)
JP (1) JPH10341444A (zh)
KR (1) KR19980071687A (zh)
CN (1) CN1192106A (zh)
AR (1) AR011870A1 (zh)
AU (1) AU5212998A (zh)
CA (1) CA2205129A1 (zh)
GB (1) GB9704027D0 (zh)
ID (1) ID19967A (zh)
IL (1) IL123354A0 (zh)
SG (1) SG68019A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306825C (zh) * 2004-07-29 2007-03-21 联合信源数字音视频技术(北京)有限公司 视频解码芯片中基于行缓冲的参考存储方法
CN1315059C (zh) * 2002-08-20 2007-05-09 联发科技股份有限公司 利用虚拟图像画面重新排序的解码图像序列的方法与装置
CN1320823C (zh) * 2002-07-19 2007-06-06 三星电子株式会社 图像处理装置和方法
US7379609B2 (en) 2002-07-19 2008-05-27 Samsung Electronics Co., Ltd. Image processing apparatus and method for conversion between raster and block formats
CN100428799C (zh) * 2006-07-14 2008-10-22 杭州国芯科技有限公司 视频解码图像存储空间管理方法
CN100459692C (zh) * 2005-07-14 2009-02-04 乐金电子(惠州)有限公司 双视频解码视频缓冲器控制设备
CN102017638A (zh) * 2008-04-30 2011-04-13 松下电器产业株式会社 视频编码/解码装置
CN101252685B (zh) * 2008-02-22 2011-04-27 华为技术有限公司 解码方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1150768C (zh) * 1998-01-27 2004-05-19 皇家菲利浦电子有限公司 Mpeg-4系统一致的体系结构
DE19813784A1 (de) * 1998-03-27 1999-09-30 Nokia Deutschland Gmbh Verfahren zum Erhöhen der Speicherkapazität für Serviceinformation in einem Empfänger für digitale TV-Sendungen
FR2780184B1 (fr) 1998-06-23 2000-08-11 St Microelectronics Sa Procede et dispositif de decodage d'images, permettant un nombre reduit d'ouvertures de pages-memoire dans le traitement de prediction
US6633344B1 (en) * 1999-07-15 2003-10-14 Thomson Licensing S.A. Processing of progressive video signals in digital TV receivers
KR100750096B1 (ko) * 2001-04-19 2007-08-21 삼성전자주식회사 효율적인 영상 처리를 위한 전/후처리 방법 및 그를적용한 전/후 처리 시스템
US7813432B2 (en) * 2004-12-30 2010-10-12 Intel Corporation Offset buffer for intra-prediction of digital video
DE102005060651A1 (de) 2005-12-19 2007-06-28 Robert Bosch Gmbh Kombinierter Druck- und Temperatursensor
US8498340B2 (en) * 2006-04-04 2013-07-30 Himax Technologies Limited Method and device for decoding and displaying video frames
JP2007300396A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 映像再生装置
US8127058B1 (en) * 2008-07-29 2012-02-28 Marvell International Ltd. System and method of video decoding using hybrid buffer
KR20120066305A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 비디오 움직임 예측 및 보상용 캐싱 장치 및 방법
WO2015008340A1 (ja) * 2013-07-16 2015-01-22 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像復号装置ならびに動画像復号方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1243631A (en) * 1967-07-18 1971-08-25 Nat Res Dev Improvements in or relating to elastic encoder storage systems
US4689823A (en) * 1984-01-04 1987-08-25 Itek Corporation Digital image frame processor
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
JP2500858B2 (ja) * 1986-04-11 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 拡張ラスタ演算回路を有する表示システム
US5200925A (en) * 1988-07-29 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Serial access semiconductor memory device and operating method therefor
US5161221A (en) * 1988-12-12 1992-11-03 Eastman Kodak Company Multi-memory bank system for receiving continuous serial data stream and monitoring same to control bank switching without interrupting continuous data flow rate
GB2226471A (en) * 1988-12-23 1990-06-27 Philips Electronic Associated Displaying a stored image in expanded format
US5287470A (en) * 1989-12-28 1994-02-15 Texas Instruments Incorporated Apparatus and method for coupling a multi-lead output bus to interleaved memories, which are addressable in normal and block-write modes
JPH03248243A (ja) * 1990-02-26 1991-11-06 Nec Corp 情報処理装置
FR2664779B1 (fr) * 1990-07-13 1993-06-11 Europ Rech Electr Lab Procede de traitement d'un signal video.
US5174641A (en) * 1990-07-25 1992-12-29 Massachusetts Institute Of Technology Video encoding method for television applications
US5297271A (en) * 1990-09-21 1994-03-22 Chips And Technologies, Inc. Method and apparatus for performing a read-write-modify operation in a VGA compatible controller
US5457482A (en) * 1991-03-15 1995-10-10 Hewlett Packard Company Method and apparatus for utilizing off-screen memory as a simultaneously displayable channel
JPH04354287A (ja) * 1991-05-30 1992-12-08 Sony Corp 画像補間回路
US5321806A (en) * 1991-08-21 1994-06-14 Digital Equipment Corporation Method and apparatus for transmitting graphics command in a computer graphics system
US5319460A (en) * 1991-08-29 1994-06-07 Canon Kabushiki Kaisha Image signal processing device including frame memory
GB2260053B (en) * 1991-09-27 1995-03-08 Sony Broadcast & Communication Image signal processing
US5446866A (en) * 1992-01-30 1995-08-29 Apple Computer, Inc. Architecture for transferring pixel streams, without control information, in a plurality of formats utilizing addressable source and destination channels associated with the source and destination components
US5357606A (en) * 1992-02-25 1994-10-18 Apple Computer, Inc. Row interleaved frame buffer
FR2703535A1 (fr) * 1993-03-31 1994-10-07 Philips Electronique Lab Procédé et dispositif pour décoder des images comprimées.
US5572691A (en) * 1993-04-21 1996-11-05 Gi Corporation Apparatus and method for providing multiple data streams from stored data using dual memory buffers
DE69319329T2 (de) * 1993-05-19 1998-10-29 Alsthom Cge Alcatel Verfahren zur Speicherverwaltung eines Videoservers
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
US5495291A (en) * 1994-07-22 1996-02-27 Hewlett-Packard Company Decompression system for compressed video data for providing uninterrupted decompressed video data output
EP0714208B1 (en) * 1994-11-25 2002-02-13 Koninklijke Philips Electronics N.V. Method and system for decoding coded video signals
EP0721286A3 (en) * 1995-01-09 2000-07-26 Matsushita Electric Industrial Co., Ltd. Video signal decoding apparatus with artifact reduction
KR0157570B1 (ko) * 1995-11-24 1999-02-18 김광호 복수경로를 통해 mpeg2 비트열을 복호하는 복호화장치
EP0778709B1 (en) * 1995-12-04 2001-05-23 STMicroelectronics S.r.l. MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG decompressed data
US5912676A (en) * 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
US5883670A (en) * 1996-08-02 1999-03-16 Avid Technology, Inc. Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer
US5963260A (en) * 1997-03-18 1999-10-05 U.S. Philips Electronics North America Corporation Macroblock-level partitioned HDTV video decoder and related method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1320823C (zh) * 2002-07-19 2007-06-06 三星电子株式会社 图像处理装置和方法
US7379609B2 (en) 2002-07-19 2008-05-27 Samsung Electronics Co., Ltd. Image processing apparatus and method for conversion between raster and block formats
US7580565B2 (en) 2002-07-19 2009-08-25 Samsung Electronics Co., Ltd. Image processing apparatus and method
CN1315059C (zh) * 2002-08-20 2007-05-09 联发科技股份有限公司 利用虚拟图像画面重新排序的解码图像序列的方法与装置
CN1306825C (zh) * 2004-07-29 2007-03-21 联合信源数字音视频技术(北京)有限公司 视频解码芯片中基于行缓冲的参考存储方法
CN100459692C (zh) * 2005-07-14 2009-02-04 乐金电子(惠州)有限公司 双视频解码视频缓冲器控制设备
CN100428799C (zh) * 2006-07-14 2008-10-22 杭州国芯科技有限公司 视频解码图像存储空间管理方法
CN101252685B (zh) * 2008-02-22 2011-04-27 华为技术有限公司 解码方法及装置
CN102017638A (zh) * 2008-04-30 2011-04-13 松下电器产业株式会社 视频编码/解码装置

Also Published As

Publication number Publication date
AR011870A1 (es) 2000-09-13
JPH10341444A (ja) 1998-12-22
IL123354A0 (en) 1998-09-24
MX9801126A (es) 1998-08-30
US6122315A (en) 2000-09-19
AU5212998A (en) 1998-09-03
KR19980071687A (ko) 1998-10-26
EP0863676A2 (en) 1998-09-09
GB9704027D0 (en) 1997-04-16
EP0863676A3 (en) 2001-02-07
CA2205129A1 (en) 1998-08-26
ID19967A (id) 1998-08-27
SG68019A1 (en) 1999-10-19

Similar Documents

Publication Publication Date Title
CN1192106A (zh) Mpeg解码器存储器管理器
US20080285652A1 (en) Apparatus and methods for optimization of image and motion picture memory access
US7016418B2 (en) Tiled memory configuration for mapping video data and method thereof
US5912676A (en) MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
US20070124793A1 (en) Memory controller for handling multiple clients and method thereof
WO1995032578A2 (en) Mpeg decoder
US6720978B2 (en) Method for storing and retrieving data that conserves memory bandwidth
CN1125491A (zh) 计算机的视频外围设备
US20040190632A1 (en) Memory word array organization and prediction combination for memory access
US5752266A (en) Method controlling memory access operations by changing respective priorities thereof, based on a situation of the memory, and a system and an integrated circuit implementing the method
Li et al. Architecture and bus-arbitration schemes for MPEG-2 video decoder
CN106412473A (zh) 影像处理装置、影视子系统与影视处理电路
CN1926885B (zh) 视频处理电路和视频处理方法
US6567556B1 (en) Method and device for decoding images, allowing a reduced number of openings of memory pages in the prediction processing
CN1757017A (zh) 具有被优化以便处理数据流应用的高速缓存的数据处理系统
KR0144440B1 (ko) 화상 처리용 메모리 집적회로
CN102055976A (zh) 存储器存取控制设备及其方法
Ling et al. An efficient controller scheme for MPEG-2 video decoder
Lin et al. Low power design for MPEG-2 video decoder
Lin et al. On the bus arbitration for MPEG 2 video decoder
CN101847394A (zh) 用以解码及显示视讯文件的存储器映射方法及装置
Duardo et al. An HDTV video coder IC for ATV receivers
JP2004326228A (ja) 並列演算処理装置
JP2005518584A (ja) データ要素の格納方法
US6614437B1 (en) Apparatus and method for efficient memory utilization in an electronic system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication