CN1937771A - 为运动补偿动态配置视频解码器高速缓存 - Google Patents
为运动补偿动态配置视频解码器高速缓存 Download PDFInfo
- Publication number
- CN1937771A CN1937771A CNA2006101395920A CN200610139592A CN1937771A CN 1937771 A CN1937771 A CN 1937771A CN A2006101395920 A CNA2006101395920 A CN A2006101395920A CN 200610139592 A CN200610139592 A CN 200610139592A CN 1937771 A CN1937771 A CN 1937771A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- speed cache
- row
- frame
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0224—Details of interlacing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0261—Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
可以动态重新配置用于运动补偿数据的视频解码器高速缓存。在一些实施例中,可以在图片或帧边界上重新配置它,而在其他实施例中,可以在序列边界上重新配置它。可以在每个边界上刷新该高速缓存,以使这种重新配置能够实施。
Description
技术领域
本发明涉及为运动补偿动态配置视频解码器高速缓存。
背景技术
本发明一般涉及视频压缩和解压。
可以压缩视频图像,以便可采用更紧凑且更有带宽效率的方式传送它们。一般来说,用于压缩的技术包括运动补偿。
为了压缩视频,一种算法检查图像帧的序列以测量帧与帧的差异,以便发送运动矢量信息。该运动矢量相对于正在编码或解码的块查找参考帧中的块。运动补偿是使用这样一种算法的帧间编码,该算法利用相邻视频帧之间的冗余性。
因为运动补偿需要存取大量数据,所以可能需要频繁存取***存储器。***存储器存取的需求越大,视频补偿和解压设备施加于主机***上的工作负荷越高。此外,存取如***存储器的外部存储器增加了视频压缩和解压设备的带宽需求。
发明内容
根据本发明的第一方面,本发明涉及一种方法,包括:
检测视频解码器要处理的运动补偿数据的类型;以及
根据要处理的数据的类型动态地重新配置视频解码器高速缓存。
根据本发明的第二方面,本发明涉及一种方法,包括:
检测要在视频解码器中处理的数据是交错式(interlaced)还是渐进式数据;
根据上述数据是交错式还是渐进式数据,动态地重新配置上述视频解码器高速缓存。
根据本发明的第三方面,本发明涉及一种***,包括:
高速缓存;以及
与上述高速缓存耦合的配置单元,上述配置单元根据要解码的数据的类型动态地重新配置上述高速缓存。
附图说明
图1是根据本发明一个实施例的主机***的说明;
图2是根据本发明一个实施例的图1所示的主机***所用的视频压缩和解压设备的描绘;
图3是根据本发明一个实施例、如何依据运动补偿数据的特征来配置高速缓存的图示描绘;
图4是根据本发明另一个实施例、可以依据运动补偿数据的特征来配置高速缓存的另一种方式的描绘;
图5是根据本发明一个实施例、可以在图2所示的***中利用的配置单元的图示描绘;
图6是根据本发明另一个实施例、可以在图2所示的实施例中利用的配置单元的图示说明;
图7是根据本发明一个实施例的标记RAM的流程图;
图8是根据本发明另一个实施例的标记RAM的图示描绘;
图9是配置根据本发明一个实施例的视频解码器高速缓存的流程图。
具体实施方式
参考图1,基于处理器的***400可以具有多种体系结构的其中之一,包括图1所示的一种体系结构。本发明决不局限于任何特定***配置,包括图1所示的***配置。例如,在一些体系结构中,可以利用多于一个的处理器。
在一些实施例中,举例说明,***400可以在机顶盒、可以在多种基于处理器的***中利用的芯片组或片上***(SOC)中使用。***400可以例如处理数字媒体,具体来说处理诸如流视频、数字视频磁盘媒体以及电视广播和卫星广播之类的数字视频媒体。
在一些实施例中,处理器402或在一些情况中的多处理器可以经总线400耦合到存储器集线器或北桥406。存储器集线器406可以耦合到本地总线404。在一些实施例中,存储器集线器406可以在处理器402、***存储器总线408、加速图形端口(AGP)总线412和外设组件互连(PCI)总线424之间建立通信。AGP规范在美国加利福尼亚圣克拉拉的英特尔公司1996年7月31日发布的加速图形端口接口规范、修订版1.0中有详细描述(the accelerated graphics portinterface specification,revision 1.0,published on July 31,1996,by IntelCorporation of Santa Clara,California)。PCI规范、修订版3.0可从美国俄勒冈州97214波特兰的PCI特殊兴趣组获取(the PCI specialinterest group,Portland,Oregon 97214)。
诸如动态随机存取存储器(DRAM)的***存储器410耦合到***存储器总线408。***400可以包括将显示器420耦合到AGP总线412的显示器驱动程序接口414。而且,在一些实施例中,网络接口卡(NIC)425可以耦合到PCI总线424。集线器链路430可以将存储器集线器406耦合到南桥或输入/输出(I/O)集线器434。例如,I/O集线器434可以提供硬盘驱动器442与数字视频盘(DVD)驱动器440之间的接口。而且,I/O集线器434可以提供至I/O扩充总线460的接口。在一些实施例中,I/O控制器462可以耦合到I/O扩充总线460,并可以提供从鼠标464以及键盘465接收输入数据的接口。
参考图2,存储器集线器406可以包括耦合到***400的***接口24。接口24耦合到处理视频压缩和解压的视频编码器/解码器(编解码器)20。在图2的实施例中,视频编码器/解码器20耦合到视频编解码器存储器集线器16。例如,视频编码器存储器集线器16可以耦合到总线32上的多种存储器装置。最后,在一些实施例中,存储器控制器单元14可以耦合到***存储器410。在一些实施例中,存储器控制器单元14可以通过总线34耦合到其他存储器。当然,也可以使用多种其他体系结构。
视频编解码器20从分组基本码流(PES)分析器22接收视频数据。PES分析器22接收压缩的基本视频流,对其分析以从运动补偿数据中分离出某些信息,并将信息提供到视频编解码器20。它还将包括头信息的某些信息提供到包括在视频编解码器存储器集线器16中的配置单元36。在一些实施例中,配置单元36可以耦合到视频解码器高速缓存18。作为两个示例,高速缓存18可以是易失性或非易失性存储器,例如闪速存储器、静态随机存取存储器或动态随机存取存储器。
分析器22提供给配置单元36的信息类型的示例包括如交错式或渐进式的图片序列类型、依据高度和/或宽度的图片尺寸和帧或场解码设置、以及用于压缩或解压的当前活动块的行位置和列位置。渐进式扫描在一次扫描显示帧的所有行。交错式扫描扫描每个帧两次。一个场包括偶数行,构成帧的两个场的另一个场包括奇数行。
编解码器20可以具有将运动矢量转换成块地址的运动补偿单元。编解码器20对视频编解码器存储器集线器16发出块转移读取。视频编解码器存储器集线器16可以将块转移转换成各个存储器转移命令并在其高速缓存18中检查有效数据。
未高速缓存的数据导致向存储器控制器单元14发送存储器转移命令,用于从***存储器410读取。高速缓存的数据由高速缓存18本身提供服务,因此通过免去对***存储器410进行额外存取的需要来实现带宽节省。
视频编解码器存储器集线器16还可以经总线32对其他编解码器提供服务。同样地,存储器控制器单元14可以经总线34对如处理器402的其他装置提供服务。
视频编解码器存储器集线器16的配置单元36负责基于从分析器22接收到的数据的类型、例如图片类型参数(例如B-帧、P-帧)来配置高速缓存18。例如,根据运动补偿数据是交错式还是渐进式,或根据其他特征,配置单元36可以基于从分析器22接收的特征信息将高速缓存18重新配置为最好地容纳期望的数据。
例如,在一些实施例中,配置单元36仅可以在多个序列边界上重新配置高速缓存。多个序列边界可以包括许多具有某些共有运动补偿参数的帧或图片。一个序列边界是共有参数改变时两个连续帧或图片之间的点。在其他实施例中,配置单元36可以在图片或帧边界上重新配置高速缓存18。在一些实施例中,可以根据PES分析器22从基本视频流头移除的数据来确定序列或图片边界的位置。
为了在图片或序列边界上重新配置高速缓存18,在一些实施例中,期望在那些边界上从高速缓存18刷新运动补偿数据。在一些实施例中,可以实现刷新而不以显著的方式不利地影响高速缓存18的性能。因此,在一些实施例中,可以就要解码的下一个帧或图片,针对例如P或B类型图片的运动补偿数据的特定特征或属性来优化高速缓存的性能。可以基于输入图片特征标识允许实施动态配置的特定高速缓存参数。
因为视频图片的尺寸以及因为运动补偿算法跨图片数据并向下对图片数据执行,所以在在处理了图片下部时高速缓存18中图片上部的数据不可避免地被替换。在图片处理结束时,高速缓存18的内容在下一个图片开始时可能是不可用的。因此,在一些实施例中,可以全局性地刷新高速缓存,以使所有高速缓存行失效,并且可以以如下方式重新配置高速缓存18:可使其性能针对要解码的下一个图片的特定特征得以优化。
高速缓存18的性能可以取决于存储在空间上靠近的数据来增强高速缓存命中率的能力。高速缓存18越频繁地在任何特定时间具有编解码器20需要的信息,该高速缓存18就越有用,而且***40越有效率。
视频帧是二维的,因此,结合运动补偿数据,对于视频帧,空间上相邻的数据意味着这些数据在水平和/或垂直方向上相邻。即在一些实施例中,就高速缓存优化的目的来说,来自相邻行或列的数据可能是在空间上相邻的。一般来说,如果将空间上相邻的数据存储在给定的高速缓存行中,则可以增强性能。
在一些运动补偿方案中,如VC-1或Microsoft WindowsMedia 9中,在垂直方向上什么数据在空间上最靠近的确切定义基于正在解码的图片的类型有所不同。
对于渐进式扫描序列,运动补偿逻辑引用(refer to)来自先前帧的数据,包括帧的两个场。因此,在此情况中,即使交替的数据行属于分离的场,在垂直方向上,来自参考帧中样本相邻行的数据在空间上仍是相邻的。
但是,对于交错式扫描序列,运动补偿逻辑引用分别来自一个或多个场的数据。如果引用多于一个场,则这些场属于不同的帧也是可能的。因此,在此情况中,在垂直方向上,来自参考场中样本相邻行的数据在空间上可以是相邻的。
因此,参考简化渐进式扫描示例的图3,可以将数据存储在两个高速缓存18行、命名为行0和行1中。以交错的方式将存储在存储器中的参考帧的两个场存储在共用缓冲器30中。上部场“T”由偶数编号的行0、2、4等组成,下部场“B”由奇数行1、3、5等组成,在一些情况中,高速缓存行可以是32个字节并且可以存储具有空间上相邻的行的16个样本。
空间上相邻可以意味着相同帧的相邻行。这样,空间上相邻的行属于相同帧的不同场。如果两个参考场被存储在外部存储器中分离的缓冲器或共用缓冲器中,则只要存储器控制器为每个场提取16字节的数据,则不成问题。
因此,高速缓存行0从垂直相邻的行2和行3接收数据。高速缓存行1从也是垂直相邻的行6和行7接收数据。
图4是交错式扫描数据的简化示例的说明。图4是将数据存储在两个高速缓存18行、行0和行1中的一个示例。将参考帧的两个场以交错的方式存储在共用缓冲器31中。上部场“T”包含偶数编号的行0、2、4等,下部场“B”包含奇数行1、3、5等。
在一个实施例中,高速缓存行可以是32字节,并存储来自空间上相邻的行的16个样本字节。在此情况中,空间上相邻意味着相邻的行来自相同场,空间上相邻的行属于该帧的相同场。
如果这两个参考场被存储在外部存储器中分离的缓冲器或共用缓冲器中,则只要存储器控制器提取来自两个场的数据,则不成问题。
在仅使用一个参考场来对图片编码或解码的情况中,如果使用先前的数据行分配,则意味着高速缓存空间的50%确切地被浪费,因为每个高速缓存行的一半是由不可使用的数据组成。如图4所示,行0和2垂直地布置,但是垂直相邻的,而且都被置于行0中。相似地,行5和7被视为垂直相邻,而且被置于高速缓存的行1中。
因此,高速缓存18的配置可以根据是涉及交错式数据(如图4中的情况所示)还是涉及渐进式数据来更改(如图3中的情况所示)来更改。包括MCU14和VCMH16的存储器***也可以配置为基于渐进式或交错式扫描来从相同场或相邻场提取数据。
在一些实施例中,配置单元36可以控制高速缓存18,具体来说控制如何寻址高速缓存18。例如如图5所示的配置单元36a接收图片序列类型,是交错式还是渐进式的。基于该信息,它适当地配置高速缓存18,例如如图3或4所示。在一个实施例中,配置单元36a可以包括由另一个处理器编程的一组寄存器。在交错式数据的情况中,编码器/解码器20按场而非按帧进行处理。每个帧有两个场。一次可以对一个场解码。当对场的一个块解码且必须检查前一个帧时,编码器/解码器20希望查看特定的场,而非整个帧。
在非交错式数据或渐进式数据的情况中,可以将两个场显示在一起。当编码器/解码器20正在对帧编码或解码时,它需要查看先前帧以便解码。
因此,参考图5,配置单元36a的输出可以是指示帧或场分配的信号,并且这些信号配置高速缓存行和存储器***。
参考图6,根据本发明的另一个实施例,可以由控制200来控制配置单元36b。控制200可以是软件、硬件或固件。配置单元36b可以接收当前处理的数据块、如8×8、16×16或其他大小的数据块的行和列位置。这些行和列位置是所讨论的块的上方、最左方像素的位置。
在一些实施例中,配置单元36还可以从分析器22接收有关运动补偿数据是用于交错式还是渐进式扫描、包括高度和宽度的图片尺寸、帧或场解码以及是P图片还是B图片的信息。因此,在交错式扫描数据的情况中,数据总是使用场解码,但是在渐进式扫描的情况中,可以指定场解码或帧解码。
配置单元36b输出标记随机存取存储器(RAM)地址位。在一个实施例中,标记RAM地址位可以包含低阶列、低阶行和场选择位。它还输出高阶地址位用于标记比较。
由此,参考图7,过程200可以在软件、硬件或固件中实施。控制200开始于接收有关运动补偿数据的类型的PES分析器22信息,如框202所示。它还接收行和列位置信息,如框204所示。在一些实施例中,可以在查询表或寄存器中查询适合的配置,如框206所示。这样,可以适当地配置高速缓存18,如框208所示。可以输出标记地址位,如框210所示。
参考图8,在一个实施例中,可以寻址在高速缓存18外部或作为其一部分的标记RAM40,如图所示。标记RAM可以将数据存储在多个逻辑或物理槽(physical slot)中。槽存储的数据对应于低阶位正在存取的运动补偿数据的高阶地址位。标记RAM40在线44上接收低阶列位58、低阶行位60和场选择位62,并输出对应的高阶位。
在一些实施例中,可以利用单个场选择位62,并且在其他实施例中,可以利用两个场设置位。一个或多个场选择位62可以是指示是涉及低场还是高场以区分相邻场的相似数据的一个或多个位。
标记RAM40接收低阶列位和低阶行位,因为由于运动补偿数据的二维特性,行和列二者都可能是相邻的。比较器42接收存储在由低阶位选择的标记RAM槽中的高阶地址位。比较器42接收实际的高阶行和列地址位54和56以及基地址52。如果根据比较器42所判断的,线46上的高阶地址位与来自标记RAM40中的输出匹配,则检测到高速缓存命中,而且数据在数据高速缓存18中。相反,如果它们不匹配,则涉及高速缓存未命中,并且必须从如***存储器410的外部存储器获取数据。
除了如高速缓存大小和关联性的高速缓存参数以外,用于寻址标记RAM40的列和行地址位的最优数量也是输入图片特征的函数,这些输入图片特征包括帧大小、图片类型等。典型实施可以使用一种表驱动的方法来调用用于生成标记RAM地址的最优列和行位分配。
对于交错式图片,可以为参考帧引用各个场。基于图片类型,可以引用1到4个场。例如在有场编码的P图片和场编码的B图片的情况中,可以涉及多于2个的场。但是,对于引用多个场的任何块的运动补偿,如下情况是可能的:正在多个场内从相似的偏移量(垂直和水平)提取数据。这增加了高速缓存冲突的可能性。
通过对标记RAM地址使用场选择位62,可以减少那些冲突,因为高速缓存的空间有效地变得分区成多个更小的空间并映射到分离的场或场集。该方法中折衷的是在减少冲突的同时,高速缓存的分区可能增加容量未命中。使用场选择位的决策,具体来说可以利用的场选择位的数量(0至2)可以基于输入图片类型参数,包括这些参数是渐进式的、交错式的、P还是B图片、图片尺寸以及高速缓存大小和关联性。一般来说,对于较低关联性高速缓存,随着越多高速缓存的基于场的分区,性能往往可能越好。
因此,参考图9,可以在软件、硬件或固件中实施的过程300开始于接收行和列低阶地址位以及场选择位,如框302所示。在标记RAM40中查找适合的地址,如框304所示。确切地来说,标识较低地址和场选择位的正确槽。
然后,输出存储在槽中的地址,从而给出高阶行和地址位,如框306所示。菱形框308处的检查指示输出位是否与线46上的高阶地址位匹配(图8)。如果它们匹配,则在框310中指示高速缓存命中,否则记录高速缓存未命中,如框312所示。在高速缓存未命中的情况中,存取外部存储器或***存储器,而不是从高速缓存18快速存取信息。
在本说明书中对“一个实施例”或“实施例”的引用表示本发明内所涵盖的至少一个实施中包括结合该实施例描述的特定功能特征、结构或特征。因此,短语“一个实施例”或“在实施例中”的出现不一定系指同一个实施例。而且,可采用不同于说明的特定实施例的其他适合形式构成这些特定的功能特征、结构或特征,所有此类形式可以涵盖在本发明的权利要求中。
虽然本发明是针对有限数量的实施例来描述的,但是本领域技术人员将认识到源于此的多种修改和变化。所附权利要求要涵盖如落在本发明的真实精神和范围内的所有此类修改和变化。
Claims (26)
1.一种方法,包括:
检测视频解码器要处理的运动补偿数据的类型;以及
根据要处理的数据的类型动态地重新配置视频解码器高速缓存。
2.如权利要求1所述的方法,其特征在于,检测数据的类型包括:检测所述数据是交错式还是渐进式数据。
3.如权利要求2所述的方法,包括从分组基本码流分析器接收信息以确定数据的类型。
4.如权利要求1所述的方法,其特征在于,将所述高速缓存重新配置为存储来自扫描数据的连续相邻行的数据。
5.如权利要求3所述的方法,其特征在于,将所述高速缓存配置为在一个高速缓存行中接收连续的偶数行,而在另一个高速缓存行中接收连续的奇数行。
6.如权利要求1所述的方法,包括接收块位置和所述块是交错式还是渐进式扫描的指示,并以低阶列和低阶行位的形式输出标记随机存取存储器地址位的指示。
7.如权利要求6所述的方法,包括使用所述低阶列和低阶行位来存取标记随机存取存储器,从所述标记随机存取存储器接收高阶行和列位,并将那些位与接收的数据存取地址比较。
8.如权利要求7所述的方法,包括接收场选择位并使用所述场选择位来标识标记随机存取存储器内的位置。
9.如权利要求1所述的方法,包括根据运动补偿数据引用扫描数据的帧的两个场还是仅引用所述帧的一个场来重新配置所述视频解码器高速缓存。
10.如权利要求1所述的方法,包括刷新所述高速缓存连同重新配置所述高速缓存。
11.如权利要求10所述的方法,包括在帧边界上进行刷新。
12.如权利要求10所述的方法,包括在序列边界上进行刷新。
13.如权利要求1所述的方法,包括在帧边界上重新配置所述高速缓存。
14.如权利要求1所述的方法,包括在序列边界上重新配置所述高速缓存。
15.一种方法,包括:
检测要在视频解码器中处理的数据是交错式还是渐进式数据;
根据所述数据是交错式还是渐进式数据,动态地重新配置所述视频解码器高速缓存。
16.如权利要求15所述的方法,包括从分组基本码流分析器接收信息以确定数据的类型。
17.如权利要求15所述的方法,包括将所述高速缓存重新配置为存储来自扫描数据的连续相邻行的数据。
18.如权利要求16所述的方法,包括将所述高速缓存配置为在一个高速缓存行中接收连续的偶数行,而在另一个高速缓存行中接收连续的奇数行。
19.如权利要求15所述的方法,包括接收块位置和所述块是交错式还是渐进式扫描的指示,并以低阶列和低阶行位的形式输出标记随机存取存储器地址位的指示。
20.如权利要求19所述的方法,包括使用所述低阶列和低阶行位存取标记随机存取存储器,从所述标记随机存取存储器接收高阶行和列位,并将那些高阶行和列位与接收的数据存取地址比较。
21.一种***,包括:
高速缓存;以及
与所述高速缓存耦合的配置单元,所述配置单元根据要解码的数据的类型动态地重新配置所述高速缓存。
22.如权利要求21所述的***,所述单元检测要存储在所述高速缓存中的数据是交错式还是渐进式扫描的数据,并根据所述数据是交错式还是渐进式扫描的来重新配置所述高速缓存。
23.如权利要求21所述的***,其特征在于,所述配置单元根据运动补偿数据引用扫描数据的帧的两个场还是仅引用所述帧的一个场来重新配置所述高速缓存。
24.如权利要求21所述的***,所述高速缓存包括标记随机存取存储器,所述标记随机存取存储器存储有关运动数据的较高行和列地址位且按较低行和列地址位索引的信息,所述标记随机存取存储器包括比较器,所述比较器将有关较高行和列地址位的信息与来自所述标记随机存取存储器的信息比较,以判断数据是否被高速缓存在所述高速缓存中。
25.如权利要求21所述的***,包括:
处理器;
与所述处理器耦合的解码器,所述解码器包括所述高速缓存和所述配置单元;以及
与所述处理器耦合的动态随机存取存储器。
26.如权利要求25所述的***,所述配置单元检测运动补偿数据是交错式还是渐进式扫描的,并根据所述数据是交错式还是渐进式扫描的来重新配置所述高速缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210464947.9A CN102970538B (zh) | 2005-09-20 | 2006-09-19 | 为运动补偿动态配置视频解码器高速缓存 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/231,077 US7924914B2 (en) | 2005-09-20 | 2005-09-20 | Dynamically configuring a video decoder cache for motion compensation |
US11/231077 | 2005-09-20 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210464947.9A Division CN102970538B (zh) | 2005-09-20 | 2006-09-19 | 为运动补偿动态配置视频解码器高速缓存 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1937771A true CN1937771A (zh) | 2007-03-28 |
Family
ID=37328053
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101395920A Pending CN1937771A (zh) | 2005-09-20 | 2006-09-19 | 为运动补偿动态配置视频解码器高速缓存 |
CN201210464947.9A Expired - Fee Related CN102970538B (zh) | 2005-09-20 | 2006-09-19 | 为运动补偿动态配置视频解码器高速缓存 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210464947.9A Expired - Fee Related CN102970538B (zh) | 2005-09-20 | 2006-09-19 | 为运动补偿动态配置视频解码器高速缓存 |
Country Status (4)
Country | Link |
---|---|
US (3) | US7924914B2 (zh) |
CN (2) | CN1937771A (zh) |
DE (1) | DE112006002241T5 (zh) |
WO (1) | WO2007035209A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751993A (zh) * | 2008-12-16 | 2010-06-23 | 三星电子株式会社 | 缓存控制设备和方法 |
CN103780942B (zh) * | 2013-12-23 | 2017-07-11 | 青岛海信电器股份有限公司 | 一种信息配置方法及装置 |
CN107094250A (zh) * | 2011-06-15 | 2017-08-25 | 松下电器(美国)知识产权公司 | 编码装置以及编码方法 |
CN110557519A (zh) * | 2018-05-31 | 2019-12-10 | 晨星半导体股份有限公司 | 影像移动补偿装置与方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031480A (ja) * | 2004-07-16 | 2006-02-02 | Sony Corp | 情報処理システム及び情報処理方法、並びにコンピュータプログラム |
US7924914B2 (en) * | 2005-09-20 | 2011-04-12 | Intel Corporation | Dynamically configuring a video decoder cache for motion compensation |
TWI326433B (en) * | 2006-09-19 | 2010-06-21 | Ind Tech Res Inst | Method for saving interpolation data |
JP2010146205A (ja) * | 2008-12-17 | 2010-07-01 | Toshiba Corp | キャッシュメモリ装置及び画像処理装置 |
US11013995B2 (en) * | 2009-06-01 | 2021-05-25 | Sony Interactive Entertainment LLC | Qualified video delivery methods |
US8225043B1 (en) * | 2010-01-15 | 2012-07-17 | Ambarella, Inc. | High performance caching for motion compensated video decoder |
TWI513282B (zh) * | 2013-11-21 | 2015-12-11 | Mstar Semiconductor Inc | 快取記憶體管理裝置及應用該快取記憶體管理裝置之動態影像系統及方法 |
JP6410495B2 (ja) * | 2014-07-07 | 2018-10-24 | ルネサスエレクトロニクス株式会社 | 画像符号化装置、画像復号装置、および画像通信システム |
CN107526688B (zh) * | 2017-09-12 | 2020-05-29 | 上海兆芯集成电路有限公司 | 储存装置以及配置方法 |
CN112860596B (zh) * | 2021-02-07 | 2023-12-22 | 厦门壹普智慧科技有限公司 | 一种神经网络张量处理器的数据流高速缓存装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838380A (en) * | 1994-09-30 | 1998-11-17 | Cirrus Logic, Inc. | Memory controller for decoding a compressed/encoded video data frame |
EP0710033A3 (en) * | 1994-10-28 | 1999-06-09 | Matsushita Electric Industrial Co., Ltd. | MPEG video decoder having a high bandwidth memory |
US5774206A (en) * | 1995-05-10 | 1998-06-30 | Cagent Technologies, Inc. | Process for controlling an MPEG decoder |
JP3788823B2 (ja) * | 1995-10-27 | 2006-06-21 | 株式会社東芝 | 動画像符号化装置および動画像復号化装置 |
DE69614500T2 (de) * | 1996-02-27 | 2001-11-22 | St Microelectronics Srl | Speicherverminderung für das Grundprofil und die Hauptebene eines MPEG-2-Dekoders |
IT1289206B1 (it) * | 1996-09-12 | 1998-09-29 | Sgs Thomson Microelectronics | Metodo di ricompressione e decompressione adpcm di un flusso di dati digitali costituente un segnale video digitale e stimatore |
EP2352300A1 (en) * | 1997-02-13 | 2011-08-03 | Mitsubishi Denki Kabushiki Kaisha | Moving picture prediction system |
US5973740A (en) * | 1997-10-27 | 1999-10-26 | International Business Machines Corporation | Multi-format reduced memory video decoder with adjustable polyphase expansion filter |
US6442206B1 (en) * | 1999-01-25 | 2002-08-27 | International Business Machines Corporation | Anti-flicker logic for MPEG video decoder with integrated scaling and display functions |
US6470051B1 (en) * | 1999-01-25 | 2002-10-22 | International Business Machines Corporation | MPEG video decoder with integrated scaling and display functions |
JP3551887B2 (ja) * | 2000-04-03 | 2004-08-11 | 日本電気株式会社 | 動画像再生方法および装置 |
US7124203B2 (en) * | 2000-07-10 | 2006-10-17 | Oracle International Corporation | Selective cache flushing in identity and access management systems |
DE60238519D1 (de) * | 2001-01-12 | 2011-01-20 | Nxp Bv | Einheit und verfahren zur speicheradressenübersetzung und bildverarbeitungsvorrichtung mit einer solchen einheit |
US20030138045A1 (en) * | 2002-01-18 | 2003-07-24 | International Business Machines Corporation | Video decoder with scalable architecture |
GB0323284D0 (en) | 2003-10-04 | 2003-11-05 | Koninkl Philips Electronics Nv | Method and apparatus for processing image data |
JP3579046B1 (ja) * | 2003-11-20 | 2004-10-20 | シャープ株式会社 | 液晶表示装置、液晶表示制御方法、並びに、そのプログラムおよび記録媒体 |
KR100606812B1 (ko) * | 2004-03-08 | 2006-08-01 | 엘지전자 주식회사 | 비디오 디코딩 시스템 |
JP4763422B2 (ja) * | 2004-12-03 | 2011-08-31 | パナソニック株式会社 | イントラ予測装置 |
US7924914B2 (en) * | 2005-09-20 | 2011-04-12 | Intel Corporation | Dynamically configuring a video decoder cache for motion compensation |
US8462841B2 (en) * | 2007-12-31 | 2013-06-11 | Netlogic Microsystems, Inc. | System, method and device to encode and decode video data having multiple video data formats |
US20110032993A1 (en) * | 2008-03-31 | 2011-02-10 | Motokazu Ozawa | Image decoding device, image decoding method, integrated circuit, and receiving device |
JP2009272724A (ja) * | 2008-04-30 | 2009-11-19 | Panasonic Corp | ビデオ符号化・復号化装置 |
-
2005
- 2005-09-20 US US11/231,077 patent/US7924914B2/en active Active
-
2006
- 2006-08-03 DE DE112006002241T patent/DE112006002241T5/de not_active Withdrawn
- 2006-08-03 WO PCT/US2006/030200 patent/WO2007035209A1/en active Application Filing
- 2006-09-19 CN CNA2006101395920A patent/CN1937771A/zh active Pending
- 2006-09-19 CN CN201210464947.9A patent/CN102970538B/zh not_active Expired - Fee Related
-
2011
- 2011-03-08 US US13/042,638 patent/US8208539B2/en active Active
-
2012
- 2012-05-23 US US13/478,800 patent/US8867609B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751993A (zh) * | 2008-12-16 | 2010-06-23 | 三星电子株式会社 | 缓存控制设备和方法 |
CN107094250A (zh) * | 2011-06-15 | 2017-08-25 | 松下电器(美国)知识产权公司 | 编码装置以及编码方法 |
CN107094250B (zh) * | 2011-06-15 | 2019-11-05 | 松下电器(美国)知识产权公司 | 编码装置以及编码方法 |
CN103780942B (zh) * | 2013-12-23 | 2017-07-11 | 青岛海信电器股份有限公司 | 一种信息配置方法及装置 |
CN110557519A (zh) * | 2018-05-31 | 2019-12-10 | 晨星半导体股份有限公司 | 影像移动补偿装置与方法 |
CN110557519B (zh) * | 2018-05-31 | 2021-09-28 | 联发科技股份有限公司 | 影像移动补偿装置与方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2007035209A1 (en) | 2007-03-29 |
CN102970538B (zh) | 2016-09-28 |
CN102970538A (zh) | 2013-03-13 |
US8208539B2 (en) | 2012-06-26 |
US20070064006A1 (en) | 2007-03-22 |
US20120243610A1 (en) | 2012-09-27 |
DE112006002241T5 (de) | 2008-06-05 |
US8867609B2 (en) | 2014-10-21 |
US20110158312A1 (en) | 2011-06-30 |
US7924914B2 (en) | 2011-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1937771A (zh) | 为运动补偿动态配置视频解码器高速缓存 | |
CN101116341B (zh) | 用于进行视频运动补偿的高速缓存方法及设备 | |
US8890881B2 (en) | Mapping method and video system for mapping pixel data included in the same pixel group to the same bank of memory | |
US20070047655A1 (en) | Transpose buffering for video processing | |
JP2015534169A (ja) | マルチメディアデータ処理のための方法及びシステム | |
JP2008061156A (ja) | 動画像処理装置 | |
CN101340580A (zh) | 视频硬件解码器的片外动态存储器的地址映射方法 | |
CN101031052A (zh) | 图像在存储器中的地址映射方法 | |
US20080158601A1 (en) | Image memory tiling | |
JP5190460B2 (ja) | ビデオデータのインターリーブされた記憶用のシステム | |
CN100444636C (zh) | 提高视频解码器中sdram总线效率的方法 | |
US9727476B2 (en) | 2-D gather instruction and a 2-D cache | |
Li et al. | Reducing dram image data access energy consumption in video processing | |
US7400683B2 (en) | Device with virtual tilized image memory | |
US8514237B2 (en) | Two dimensional memory caching apparatus for high definition video | |
CN115878507B (zh) | ***级芯片的内存访问方法、装置及电子设备 | |
US8036264B2 (en) | Memory management in video decoding systems | |
US10418002B2 (en) | Merged access units in frame buffer compression | |
CN101729903B (zh) | 一种读取参考帧数据的方法、***和多媒体处理器 | |
JP5261694B2 (ja) | 画像処理用メモリ | |
KR100846791B1 (ko) | 비디오 데이터 저장 방법 및 장치 | |
Liu et al. | Design of an H. 264/AVC decoder with memory hierarchy and line-pixel-lookahead | |
US20060230241A1 (en) | Buffer architecture for data organization | |
JP2008033431A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20070328 |