CN101072352B - 视频数据的封装方法及系统 - Google Patents
视频数据的封装方法及系统 Download PDFInfo
- Publication number
- CN101072352B CN101072352B CN200710111863.6A CN200710111863A CN101072352B CN 101072352 B CN101072352 B CN 101072352B CN 200710111863 A CN200710111863 A CN 200710111863A CN 101072352 B CN101072352 B CN 101072352B
- Authority
- CN
- China
- Prior art keywords
- video data
- data
- video
- access request
- decapsulation
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000005538 encapsulation Methods 0.000 title claims description 62
- 230000005540 biological transmission Effects 0.000 claims abstract description 34
- 239000000872 buffer Substances 0.000 claims description 64
- 239000007853 buffer solution Substances 0.000 claims description 25
- 238000012856 packing Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 1
- 230000004913 activation Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/363—Graphics controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
一种将数据区块中的有效数据重新排列,以在数据路径上传输的系统与方法。本发明的方法通过使用数据字组中现有未使用的位,而使有效数据可在较少的频率周期传送,以增加数据总线对于其它主端装置的可利用性。本发明一实施例中经由数据总线传输数据的系统包括一或多个主端装置、从属装置,以及一个用以相互连接主从装置的数据总线。其中一个从属装置为存储器控制器,用以从外部存储器装置存取数据,其还用于封装要在数据总线上传输的数据。其中一个主端装置为视频显示控制器,用以将视频数据提供给外部视频显示器,还可接收封装过的视频数据,并将其解封装以传送至视频显示器。
Description
技术领域
本发明涉及一种具有共享数据总线的主从装置的计算机系统,且特别是涉及一种重新排列视频数据的系统及方法,使视频数据能更有效率地在数据总线上传输。
背景技术
图1示出了一已知集成电路(integrated circuit,IC)芯片10的部分方块图。芯片10包括x个主端装置(master)12与y个从属装置(slave)14,其中主端装置12与从属装置14通过数据总线16而相互连接。芯片10也包括一总线仲裁器(bus arbiter)18,用以接收由主端装置12所发送的总线仲裁请求(bus arbitration request),并一次只允许一个主端装置12可控制数据总线(data bus)16。当主端装置12其中之一获得数据总线16的支配权时,获得支配权的主端装置12便可视其需求存取任何一个从属装置14。
举例说明,从属装置14其中一者为存储器控制器(memory controller),且主端装置12其中一者为视频显示控制器(video display controller)。此视频显示控制器可要求存取储存在存储器装置的帧缓冲器(frame buffer)内的视频数据,而此存储器装置受存储器控制器控制。此视频数据将由存储器控制器撷取,并且放置于数据总线16,以提供给视频显示控制器。然后,由视频显示控制器提供视频数据给视频显示器。
值得一提的是,一般存储器装置的数据宽度通常为16位(半字符)或者32位(一字符)所组成。然而,视频数据的数据宽度通常根据像素宽度而定,可能为16位宽、18位宽、或24位宽。视频数据中的每一个像素一般具有三种颜色要素(component),分别为红色(R)、绿色(G)以及蓝色(B),而此三种颜色要素为光源中的三种加成性原色。一般而言,每一种颜色要素包括6位或8位的数据来表示其对应的颜色。在每一种颜色要素为6位的情况下,像素共包含有18位。在每一种颜色要素为8位的情况下,像素共包含有24位。每一个像素的18位或者24位的视频数据则储存在32位格式的存储器装置中。视频显示器会忽略任何未使用的位(unused bits)或者冗余(don’t care)位。
图2A示出了储存在32位宽存储器装置中由8个像素组合的视频数据区块的排列图表。在此实施例中,每一种颜色要素包含6位,亦即每一个像素共为18位。举例来说,位17-12为储存红色(R)的要素,位11-6为储存绿色(G)的要素,且位5-0为储存蓝色(B)的要素。在此实施例中,位31-18为未使用的位或者冗余位(X’s)。第一条存储器列(memory line)为第一个像素(像素”0”),其包含红色(R0)、绿色(G0)与蓝色(G0)的要素。第二条存储器列为第二个像素(像素”1”),其包含红色(R1)、绿色(G1)与蓝色(G1)的要素,依此类推。虽然此排列方式易于储存视频数据,但显而易见的,每一存储器字组(memory word)均有一大部分未被使用。
图2B示出了储存在32位宽存储器装置中由8个像素组合的视频数据区块的排列图表。在此实施例中,每一种颜色要素包含8位,亦即每一个像素共为24位。举例来说,位23-16为储存红色(R)的要素,位15-8为储存绿色(G)的要素,且位7-0为储存蓝色(B)的要素,而位31-24为未使用的位。虽然图2A与图2B所示的排列已表示出简易储存视频数据的方式,然而在每一字组中仍至少有1/4的位未被使用。
除此之外,从已知储存技术得知,有许多冗余位会在传递时通过数据总线16。通过在传输过程中减少未使用的位数,将有可能提供较大可用的总线给所有总线使用者,使芯片在给定的速度下能更有效率的运作。
发明内容
本发明披露一种数据总线上传输数据的系统与方法,其通过使用缩减数据区块大小的封装技术,使数据能以较少的频率周期传递,因而增加其它共享此数据总线的主端装置使用数据总线的可用性。在传输完毕已封装的数据后,需将封装(pack)的数据解封装(unpack),以恢复数据的原始格式。举例来说,本发明的系统及方法可以应用在视频数据的传输,此视频数据被储存在主要存储器中时,通常每一个字组包含许多未使用的位。
一般而言,本发明描述的集成电路芯片包含多个主端装置、多个从属装置、以及相互连接主端装置与从属装置的数据总线。从属装置中至少一个(one or more)为存储器控制器,用以从外部存储器装置存取数据。存储器控制器还可用于封装视频数据,以利于数据总线上的传输。此外,主端装置中至少一者为视频显示控制器,用以提供视频数据给外部视频显示器。视频显示控制器还可用以从数据总线上接收存储器控制器所封装的视频数据,并且将此封装过的视频数据解封装,以传送至视频显示器。
举例来说,存储器控制器包括请求分析器、用于储存从外部存储器装置撷取的数据的缓冲器系统、以及控制器装置。请求分析器可通过数据总线接收数据存取的请求,并分析此数据存取请求,藉以判断发送此数据存取请求的主端装置的身份。控制器装置则判断是否需要封装所撷取的数据,并根据视频数据是否被封装,将数据储存于缓冲器系统。控制器装置可包括一个控制逻辑器,用以判断所撷取的数据是否被封装,以及一个封装模块,用以根据预定(pre-defined)的封装算法封装数据。
在一实施例中,视频显示控制器包括数据撷取器、解封装模块、控制装置、以及缓冲器。解封装模块可用以将判定为封装的数据解封装。控制装置则可用于接收一或多个信号,而这些信号指示出数据撷取器所撷取的数据是否被封装。控制装置还可用以在数据被封装时,命令数据撷取器将数据传送至解封装模块,以及在数据未被封装时,命令数据撷取器绕过(bypass)解封装模块传送数据。缓冲器用以储存解封装模块所解封装的数据以及绕过解封装模块的数据。此外,缓冲器接着将已恢复回原始格式的数据提供给视频显示器。
在操作上,本发明所披露的系统可使用数据总线的数据传送方法。此方法包括判断从存储器所撷取的数据区块是否包含在原始格式中未使用的位。当数据区块包含未使用的位时,此方法包括将有效位封装于数据区块中未使用的空间,以及通过数据总线传送此封装过的数据。此方法还包括将封装过的数据解封装,以将数据恢复为原始格式。通过以上描述的方法即可封装有效位,以减少在数据总线上传送的数据字组数目。
为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1示出了已知集成电路芯片的部分方块图。
图2A示出了储存在32位宽存储器装置中由8个像素组合的视频数据区块的排列图表。
图2B示出了储存在32位宽存储器装置中由8个像素组合的视频数据区块的排列图表。
图3示出了本发明较佳实施例的计算机系统的部分方块图。
图4示出了图3实施例中存储器控制器的方块图。
图5示出了图4实施例中的请求分析器方决图。
图6示出了图4实施例中的控制器装置方块图。
图7示出了图4实施例中的缓冲器系统方块图。
图8A示出了视频数据的一排列实例。
图8B示出了视频数据的另一排列实例。
图9示出了图3实施例中视频显示控制器的方块图。
图10为依据本发明所揭示的封装方法所示出了的实施例的流程图。
图11为依据本发明所揭示的解封装方法所示出了的实施例的流程图。
附图符号说明
10:集成电路
12:主端装置
14:从属装置
16:数据总线
18:总线仲裁器
30:计算机系统
32:集成电路芯片
34:存储器
36:视频显示器
38:主端装置
38a:视频显示控制器
40:存储器控制器
42:数据总线
44:总线仲裁器
50:请求分析器
52:控制器装置
54:缓冲器系统
60:请求逻辑器
62:主端编号逻辑器
64:地址逻辑器
66、68:数据线
70:控制逻辑器
72:数据撷取器
74:封装模块
76、78:数据线
82:封装数据缓冲器
84:通用缓冲器
86:切换器
90:控制装置
92:数据撷取器
94:解封装模块
96:缓冲器
100:视频数据封装方法
102-106:视频数据封装方法步骤
110:视频数据解封装方法
112-116:视频数据解封装方法步骤
具体实施方式
本发明是关于重新排列视频数据的系统及方法,藉以提供数据总线更有效率的传输方式。举例来说,在此描述的系统及方法可用于计算机系统内,特别是具有共享数据总线的集成电路芯片或者处理器。通过重新排列有效视频数据以填入数据区块中未使用的空间,将视频数据封装为较紧密的格式,以减少冗余位数。如此一来,便能在数据总线上以较少的频率周期传递视频数据,而系统中共享数据总线的组件也不会有不必要的延滞(stall)。此外,减少传输数据所用的频率周期数也提供了总线使用者较大的总线频宽,并且减少了系统整体的功率消耗。
在计算机处理系统中,数据总线、存储器控制器、以及外部存储器为处理器、多个主端装置与外围设备所共享的公共资源。因此,对每一个总线使用者而言,将这些公共资源的使用性最佳化是有益的。视频数据一般是以不使用每一位位置的格式储存在存储器中。因此,将有效数据封装至存储器中现有未使用的部分的优点在于,能以较少的频率周期数传送视频数据区块。通过此方式,视频数据的传输更为快速,且数据总线不会被长期占用。
图3示出了本发明一较佳实施例的计算机系统30的部分方块图。计算机系统30至少包括集成电路芯片32、存储器34、以及视频显示器36。存储器34包括只读存储器(read-only memory,ROM)和/或随机存取存储器(random access memory,RAM),而存储器34通常还包括动态随机存取存储器(dynamic random access memory,DRAM)。存储器34位于芯片32的外部,且其存取的方式不同于芯片32内的高速缓存。视频显示器36例如为光栅(raster)扫描装置、阴极射线管显示器(cathode ray tube,CRT)、液晶显示器(liquid crystal disp1ay,LCD)或者其它合适的显示装置。
芯片32可能包括多个主端装置38,其中至少一个主端装置38为视频显示控制器38a。视频显示控制器38a为一个能够持续提供视频数据至视频显示器36的装置,此视频显示器36接着将影像显示给计算机使用者观看。
芯片32还包括一或多个从属装置,在图3中仅示出了1个从属装置,在此所示为存储器控制器40。虽然在此实施例中仅示出了一个从属装置,但值得一提的是,芯片32还可包含任何数量的从属装置。主端装置38与从属装置(例如:存储器控制器40)通过数据总线42而相互连接。芯片32还包括总线仲裁器44,用以接收由主端装置35所发送的总线请求(bus request),并一次只允许一个主端装置38控制数据总线42。当主端装置38其中一者获得数据总线的支配权时,此具支配权的主端装置38可以视其需求而存取任何一个从属装置,例如:存储器控制器40。
一般来说,视频显示控制器38a从存储器撷取一般模式(common pattern)的视频数据,且将此视频数据以一固定串流(constant stream)的方式提供给视频显示器36。正常来说,视频数据储存在存储器区块(即所谓的帧缓冲器(frame buffer))中,其可以使用如统一存储器结构(unified memoryarchitecture,UMA)的方式,将此视频数据分配或者储存在存储器34的某个部分。当视频显示控制器38a通过存储器控制器存取数据时,数据可被封装为较有效率的格式,以利于在数据总线42上传递。依据本发明所披露的教示,存储器控制器40能在将视频数据放入数据总线42之前,使用预定(predefined)的封装算法封装此视频数据。视频显示控制器38a也能使用封装算法的逆运算将封装的视频数据解封装,以恢复视频数据的原始格式。因此,存储器控制器40与视频显示控制器38a包含了执行封装与解封装处理的互补电路和/或逻辑器。以下将详细叙述存储器控制器40与视频显示控制器38a,以及封装与解封装模块的功能。
图4示出了本发明图3实施例中的存储器控制器40的方块图。在此实施例中,存储器控制器40包括请求分析器50、控制器装置52、以及缓冲器系统54。一般而言,存储器控制器40运作如下:请求分析器50通过数据总线42接收主端装置38其中的一的请求,以要求从存储器34存取数据。为响应此存取数据的请求,请求分析器50处理此请求信号,以判断发送此请求的主端装置38的身份,以及判断被要求的数据在存储器34中的地址。主端装置的身份是利用此请求中的”主端编号”(master number)来识别。请求分析器50传送关于发出请求的主端装置身份的识别信息与被要求的数据的地址信息给控制器装置52。
在某些条件符合时,控制器装置52会利用内嵌的封装模块将数据封装。这些条件例如包含主端编号是否对应至视频显示控制器38a,以及要求的地址是否对应至存储器34中帧缓冲器内的视频数据。然后,控制器装置52根据数据是否被封装,而将数据置放于缓冲器系统54内,此数据例如为一个长度为32位的字组。若发出请求的主端装置38为视频显示控制器38a,而此视频显示控制器38a要求的视频数据对应在帧缓冲器的特定地址范围,以及控制软件致能控制器装置52时,则控制器装置52将数据封装,并且将封装的数据储存于缓冲器系统54的特定区域。反之,控制器装置52则不会封装此数据,并将此未封装的数据储存于缓冲器系统54的通用缓冲器空间。控制器装置52也传送一信号至缓冲器系统54,以指示在适当的时间将要求的数据放入数据总线42上。接着参照图5、图6与图7,以下将详细说明存储器控制器40内请求分析器50、控制器装置52与缓冲器54的运作的实施例。
图5示出了本发明图4实施例中的请求分析器50的方块图。本实施例的请求分析器50包括请求逻辑器60、主端编号逻辑器62、以及地址逻辑器64。请求逻辑器60通过数据总线42接收存取数据的请求,并将此请求分解为主端编号部分与地址部分。请求逻辑器60将主端编号部分传送至主端编号逻辑器62,以及将地址部分传送至地址逻辑器64。
主端编号逻辑器62处理此请求的主端编号部分,藉以判断发送此请求的主端装置38的身份。主端编号逻辑器62也储存有被识别为视频显示控制器的主端装置38的列表,例如:视频显示控制器38a。通过此列表,主端编号逻辑器62可提供一识别信号(identity signal)给控制器装置52与缓冲器系统54。此识别信号指示出主端装置是否被识别为具有解封装数据能力的视频显示控制器。因此,识别信号即可提供多种可能指示其中之一,这些指示例如为数据将被封装以及将数据储存于个别的缓冲器区域。当所辨识的主端装置不在列表上,则主端编号逻辑器62通知控制器装置52无须封装数据,并且将数据储存于缓冲器系统54的通用缓冲器。
地址逻辑器64处理由请求逻辑器60送来的请求的地址部分,以判断所要求的数据的地址是否对应至存储器34中一特定范围内的地址。举例来说,存储器34可储存视频数据于其中特定的帧缓冲器。地址逻辑器64包含地址范围寄存器(address range register),藉以保留帧缓冲器的地址列表。此外,地址逻辑器64会记录目前在缓冲器系统54内地址,或者通过直接存取缓冲器系统54内地址的信息,以将所要求的地址与缓冲(buffered)数据的地址做比较。
图6示出了本发明图4实施例中的控制器装置52的方块图。在本实施例中,控制器装置52包括控制逻辑器70、数据撷取器72、以及封装模块74。控制逻辑器70从主端编号逻辑器62接收关于主端编号的信息,以及从请求分析器50内的地址逻辑器64接收所要求的地址的信息。控制逻辑器70从外部来源接收一致能信号,而此致能信号指示是否致能封装程序。当此程序被致能时,控制逻辑器70在实际给予封装数据指令前,也会考虑其它因素。举例来说,控制逻辑器70会考虑主端装置是否被识别为具有对应于封装模块74所使用的封装算法来解封装数据的能力的视频显示控制器38a。此外,控制逻辑器70考虑视频显示控制器38a是否有请求帧缓冲器的数据,此数据是以特定模式(certain pattern)储存,例如是图2A与图2B所叙述的模式。
当数据撷取器72从存储器34撷取数据时,控制逻辑器70指示数据撷取器72传送数据(例如为32位)至缓冲器系统54。当控制逻辑器70判断需封装此数据时,控制逻辑器70指示数据撷取器72在将数据储存于缓冲器系统54之前,将数据传送至封装模块74。若上述的任一条件未符合,则控制逻辑器70指示数据撷取器72引导(steer)数据至缓冲器系统54内的通用缓冲器(general buffer),藉以绕过封装模块74。当所要求的数据被传送至缓冲器系统54储存时,控制逻辑器70在数据线74上提供一“封装指示信号”给视频显示控制器38a,以指示目前数据是否已被封装。假设在使用多种封装算法的情况下,此封装指示信号也可指出封装数据所使用的算法。控制逻辑器70也在数据线78上提供一“传送信号”至缓冲器系统54,以指示缓冲器系统54在何时传送所储存的数据于数据总线42上。
图7示出了本发明图4实施例的缓冲器系统54的方块图。在此实施例中,缓冲器系统54包括封装数据缓冲器82、通用缓冲器84、以及切换器86。封装数据缓冲器82,如其名所示,用以储存已封装的数据。通用缓冲器84用以储存其它未封装的数据。缓冲器82、84可以是使用先进先出(first-in,first-out,FIFO)结构的高速缓存(cache memory),其容量不必太大。举例来说,缓冲器82的容量大小可根据视频显示器36的大小而定。此容量大小也可根据传送至视频显示器36的数据范围而定,或者传送数据所需的速度,诸如此类。在此实施例中,封装数据缓冲器82可以储存32笔(entry)或64笔数据,其中每一笔为一32位的字组。
切换器86可使用任一种能提供切换功能的合适型式、组合的电子结构或者逻辑组件,其切换功能如以下的叙述。切换器86的操作方式与复用器的运作一致。切换器86在数据线78上接收控制逻辑器70的传送信号,并对应将数据送入数据总线42。在数据线78上的传送信号也可指出要从哪一个缓冲器中拿取数据。当视频显示控制器38a或者其它被识别为具有解封装数据的能力的视频显示控制装置要求储存在封装数据缓冲器82内的数据时,切换器86允许将储存于其中的数据送入数据总线42。然而,当任一其它主端装置38发出请求时,切换器86则允许将数据从通用缓冲器84送入数据总线42。
除此之外,若控制逻辑器70尚未被致能以开始封装程序时,所有数据将储存在通用缓冲器84,并由通用缓冲器84中撷取。或者,若视频显示控制器38a或者其它被识别为具有解封装数据的能力的视频显示控制装置要求存储器34内一位置(除了被识别并认可的帧缓冲器之外)的数据时,此数据即储存在通用缓冲器84,并由通用缓冲器84中撷取。一般来说,当以下三种情况符合时,数据会储存在封装数据缓冲器82中:控制逻辑器70接收到一致能信号、示意发出请求的主端装置为被识别并认可的视频显示控制器的指示、以及示意视频显示控制器请求存储器内特定地址的视频数据的指示,此特定地址可以是对应至帧缓冲器的地址。
封装数据缓冲器82主要是提供给请求帧缓冲器内数据的主端装置来使用。通用缓冲器84是提供给除此特定主端装置外的主端装置来使用。这些缓冲器彼此间互相平行,且可以储存一般标准存储器控制器可处理的额定数量的数据。通过将缓冲器以平行方式配置,当其它主端装置38在视频数据储存在封装数据缓冲器82时获得数据总线42的支配权,则可在视频显示控制器38a再一次获得数据总线42的支配权时撷取此储存的数据,而不会遗失已封装的视频数据。
在另一实施例中,控制器装置52可改变为用来使数据撷取器72可通过多个封装模块而通过多条路径其中之一来传送数据。就此而言,此系统需设计数据撷取器72所引领的额外路径。当有多个封装模块74时,则可根据每一个像素的位数、储存格式、或者其它参数、条件来选择不同的封装算法。以此方式,控制逻辑器70可根据所需求的封装效果选择其中一种封装模块,以封装所要求的视频数据。在此实施例中,缓冲器系统54也可改变为包括多个封装数据缓冲器82的其它平行路径。通过此实施例即可容许多个视频显示控制器接收被封装的数据。控制器装置52中可储存一预选关联(corre1ation)信息,以将多个视频显示控制器中的某一个与一个对应的封装模块及封装数据缓冲器关联起来。在此实施例中,控制逻辑器70传送至数据线78上的传送信号也可用于指示要从哪一个封装数据缓冲器取出数据。
另一方面,封装数据缓冲器82(或是多个缓冲器)与通用缓冲器84可以设置为单一累增缓冲器(sing1e cumulative buffer),其每一部分可以任何合适的方式来分配。其中,此累增缓冲器的某部分可根据数据大小需求或者其它参数分配给特定的主端装置。而此缓冲器中未分配给特定主端装置的其余部分则可作为其它主端装置共同储存之用。而且,在此不包含切换器86的方式下,缓冲器系统54可以配置为可利用任何适当的存取方式来存取累增缓冲器的某些部分。
本发明所披露的存储器控制器40可实现为硬件、软件、固体及其组合。在本实施例中,请求逻辑器60、主端编号逻辑器62、地址逻辑器64、控制逻辑器70以及封装模块74中的任何一个(至少一部分)可以实现于储存在存储器内且由合适的指令执行系统来执行的软件或者固体。另外,逻辑器在硬件实施上可以利用任意适当组件的组合,例如:具有门(gate)以实现逻辑功能的离散逻辑电路及特殊用途集成电路(application specificintegrated circuit,ASIC)等。
存储器控制器40的运作方法包括任何一个合适结构、机能、和/或处理软件中各种应用的运作。在本发明的实施例中,每一个功能可以是一个模块、一个程序区段或者一部分程序代码,其中包括一或多个用以实现特定逻辑功能的可执行(executable)指令。值得一提的是,在一些其它操作中这些功能可以特定的顺序执行或者实质上同时执行,
图8A与图8B示出了视频数据的可能排列的实施例,此视频数据是根据封装模块74的不同封装算法所封装。不同于图2A与图2B中视频数据保持原始格式的情况,存储器控制器40将会重新排列视频数据,加以利用未使用的空间。在这些排列中,视频数据能在数据总线42上更有效率地传递。值得一提的是,通过使用8个像素的视频数据区块,一个像素中的一些颜色要素可以与其余颜色要素分隔开来,且被放置在不同的字组。在此例中,被分开的要素会在不同的频率周期中传送。
图8A表示为每一颜色要素包含6位的封装结构。在此系统之中,每一个像素的总位数为18。如之前的已知技术所述,32位中会有14个位未被使用。然而在此例中,做为第二个像素(像素“1”)的要素B1与G1分别封装(或者说是放置)于位位置23-18与29-34中,并与具有要素R0、G0以及B0的第一个像素(像素“0”)一起传送。像素“1”的其余颜色要素(例如:R1)被封装于第二列,其余像素的封装如图所示。在此例中,只有位位置31与30未被使用,且颜色要素皆完整保留。为了达到更佳的封装效率,可以采用另一个能够利用每一个位位置的封装算法,即包含位31与30。然而,在此方式中,颜色像素会被分割且此算法包含较大的复杂性。此例显示一次仅能封装8个像素。然而,根据封装数据缓冲器82的大小以及要求的数据区块的大小,则可将不同数目的像素一起封装。使用如图8A所示的8个像素的封装方式,将可提高视频数据传输的效率。其中,在已知技术中通常需8个请求周期传送的8个像素,利用本发明图8A的实施例则可以仅仅5个周期来传送8个像素。
图8B表示每一颜色要素为8位(也就是每一个像素总共为24位)的另一封装结构。在此例中可看到另一像素的一颜色像素将被封装(或者说是放置)于现有未使用的位位置31-24中。若采用此封装结构,则再也没有未使用的位。将现有无效率的8条存储器列封装为仅仅6条存储器列,可以减少25%的传输时间,而提高此封装数据结构的传输效率。
图9示出了本发明图3实施例中视频显示控制器38a的方块图。本实施例以及经由本发明教示而衍生的其它较佳实施例需搭配一封装装置来使用,而此封装装置(例如在此所描述的存储器控制器40)根据预定的封装算法来封装数据。在本实施例中,视频显示控制器38a包括控制装置90、数据撷取器92、解封装模块94、以及缓冲器96。视频显示控制器38a的组件是以存储器控制器40内相关组件的相似方式来运作。
控制装置90接收来自于外部软件的致能信号,而此外部软件也提供相似的致能信号给控制逻辑器70。另一方面,此致能信号可以是根据视频显示控制器38a中的每一像素位(bit-per-pixel)的设定而自动产生。当控制装置90被致能时,控制装置90可在其它条件符合的情况下采用解封装程序。控制装置90也可在数据线76上接收由控制逻辑器70所传送的封装指示信号,以指示目前的视频数据(在数据总线上或是将被传递至数据总线上)已被封装。控制装置90还有可能在其它条件支配的情况下,响应其它信号。举例来说,在可获得的情况下,控制装置90可直接从请求分析器50接收主端编号信息以及地址信息。
控制装置90指示数据撷取器92以一脉冲串(burst)为单位读取数据总线42上的数据,此脉冲串的长度与数据总线42上一个数据区块的大小相同。在数据已被封装的况下,根据封装视频数据的算法,此脉冲串的长度可以是5或6个节拍(beat)。控制装置90也指示数据撷取器92选择是否传送数据至解封装模块94或是绕过解封装模块94。若数据被传送至解封装模块94时,解封装模块94使用可恢复数据至原始格式的算法来将数据解封装,而此原始格式如图2A与图2B所示。在此方式之中,外部视频显示器36依据传统格式(conventional format)接收视频数据,而其本身无须再重新设计。此解封装的数据接着则被储存于缓冲器96中。若数据未解封装时,则此数据会绕过解封装模块94,且被储存在缓冲器96中。此时,储存在缓冲器96中的数据为以一般视频显示器36可认可的标准格式(normal format)储存。控制装置90控制缓冲器96将数据提供给视频显示器36显示。
在上述所提及的另一实施例中,为使用多个封装模块78以达到根据不同算法来封装数据的目的,视频显示控制器38a可变化为包括多个平行支路(branch)的解封装模块94。以此方式,控制装置90可指示数据撷取器92将数据移转(steer)至恰当的解封装模块94,此解封装模块94符合所使用的封装算法的型式。
视频显示器36能识别出视频数据原本储存在存储器34的型式。然而,在通过数据总线42将视频数据从存储器控制器40传送至视频显示控制器38a的过程中,视频数据的格式已改变。存储器控制器40利用将视频数据的有效部分封装于未使用的空间来重新排列视频数据,以减少视频数据区块的大小。在此封装程序中,没有任何有效数据被遗漏。接着,数据总线42上视频数据的脉冲串可以较少的周期来执行。视频显示控制器38a接着利用解封装算法将封装的数据转换回原始的格式,而此解封装算法为存储器控制器中封装算法的逆运算。
图10为依据本发明所揭示的封装方法100所示出了的实施例的流程图。此封装方法100包括接收视频数据以响应一数据存取请求,如步骤102所示。步骤104为将视频数据的有效位封装至视频数据的未使用空间。举例来说,此视频数据的未使用空间不具内容或者不具有效内容。除此之外,封装有效位的步骤包括判断视频数据内是否有未使用的空间,也包括判断此数据存取请求是否由预定(predetermined)的视频显示控制器所发送。举例来说,此预定的视频显示器为一具有解封装视频数据能力的控制器。此外,封装有效位至未使用空间的步骤(即步骤104)包括将视频数据分割为单位(unit)及要素(component)。其中,一个单位的要素的有效位可被放置在另一个单位的要素的未使用空间。在封装有效位之后,如步骤106所示,封装的视频数据将被传送至总线接口(bus interface)。
图11为依据本发明所揭示的解封装方法110所示出了的实施例的流程图。在步骤112中,从总线上撷取视频数据。在步骤114中,根据解封装算法将封装的视频数据解封装,而此解封装算法为对应至封装视频数据的封装算法。举例来说,此解封装算法为封装算法的逆运算,并用于将视频数据恢复为封装前的原始格式。在步骤116中,解封装方法110还包括了将解封装的数据输出至外部装置,例如:视频显示装置。
虽然本发明已以较佳实施例披露如上,但其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,当可作若干的更改与修饰,因此本发明的保护范围当以本申请的权利要求为准。
Claims (21)
1.一种视频数据传送系统,包括:
一存储器控制器,用以接收一数据存取请求,并根据一封装算法将自一外部存储器装置所存取的一视频数据加以封装,以传输于一数据总线上,其中该封装算法对应于该数据存取请求的至少一参数;以及
一视频显示控制器,用以发送该数据存取请求,以要求该外部存储器装置内的该视频数据,并根据一解封装算法将该存储器控制器所封装的该视频数据解封装,并提供解封装后的该视频数据给一外部视频显示器,其中该解封装算法对应于该封装算法,
其中该封装算法包括将该视频数据的有效位放置于该视频数据的未使用空间。
2.如权利要求1所述的视频数据传送系统,其中该存储器控制器还包括:
一请求分析器,用以接收该数据存取请求,并分析该数据存取请求的该参数;
一控制器装置,用以接收该参数,并且依据该参数所决定的该封装算法封装该视频数据;以及
一缓冲器系统,用以储存该控制器装置所封装的该视频数据,并将被封装的该视频数据通过该数据总线传送至该视频显示控制器。
3.如权利要求2所述的视频数据传送系统,其中该控制器装置还包括根据所接收的一致能信号封装该视频数据。
4.如权利要求2所述的视频数据传送系统,其中该请求分析器还包括:
一请求逻辑器,用以接收该数据存取请求,并撷取该数据存取请求的一识别信息及一地址信息;
一主端编号逻辑器,用以处理该识别信息,以判断发送该数据存取请求的一装置的身份;以及
一地址逻辑器,用以处理该地址信息,以判断发送该数据存取请求的该视频显示控制器。
5.如权利要求2所述的视频数据传送系统,其中该缓冲器系统还包括:
一封装数据缓冲器,用以储存已封装的该视频数据;以及
一通用缓冲器,用以储存未封装的该视频数据。
6.如权利要求1所述的视频数据传送系统,其中该视频显示控制器还包括:
一数据撷取器,用以于该数据总线上撷取该存储器控制器所封装的该视频数据;
一解封装模块,根据该解封装算法将被封装的该视频数据解封装;以及
一缓冲器,用以储存解封装后的该视频数据,并提供解封装后的该视频数据给该外部视频显示器。
7.如权利要求6所述的视频数据传送系统,其中该视频显示控制器还包括根据一致能信号解封装从该存储器控制器撷取的已封装的该视频数据。
8.如权利要求1所述的视频数据传送系统,其中该视频显示器的该解封装算法为该存储器控制器的该封装算法的逆运算。
9.如权利要求1所述的视频数据传送系统,其中该存储器控制器与该视频显示控制器被配置在同一集成电路芯片中。
10.一种视频数据传送方法,包括下列步骤:
根据一数据存取请求,从一外部存储器装置接收一视频数据,其中该视频是由一视频显示控制器发出的数据存取请求所要求的;
利用一存储器控制器将该视频数据的有效位封装至该视频数据的未使用空间,其中该视频数据的未使用空间不具任何内容;以及
在一数据总线上传送已封装的该视频数据。
11.如权利要求10所述的视频数据传送方法,其中封装该有效位于该视频数据的该未使用空间的步骤还包括:
判断该视频数据是否包含该未使用空间。
12.如权利要求11所述的视频数据传送方法,其中当该视频数据没有该未使用空间时,则不封装该视频数据的该有效位。
13.如权利要求10所述的视频数据传送方法,其中封装该视频数据的该有效位至该未使用空间的步骤为通过接收一致能信号来致能。
14.如权利要求10所述的视频数据传送方法,其中封装该视频数据的该有效位至该未使用空间的步骤还包括:
判断该数据存取请求是否由预定的该视频显示控制器所发送,其中该视频显示控制器具有解封装该视频数据的能力。
15.如权利要求14所述的视频数据传送方法,其中判断该数据存取请求是否由预定的该视频显示控制器所发送的步骤还包括:
判断发送该数据存取请求的该视频显示控制器的一识别信息和一地址信息。
16.如权利要求10所述的视频数据传送方法,其中封装该有效位于该视频数据的该未使用空间的步骤还包括:
把该视频数据划分成多个单元,其中每一个所述单元具有多个要素;以及
将一第一单元的至少一第一要素的有效位置入一第二单元的至少一第二要素的未使用空间。
17.如权利要求16所述的视频数据传送方法,其中该视频数据的每一个所述单元为一像素,而具有该有效位的所述要素代表该像素的颜色要素。
18.一种视频数据解封装方法,适用于将传输于一数据总线上的一视频数据解封装,包括下列步骤:
撷取该数据总线上的该视频数据,其中该视频是由一视频显示控制器发出的数据存取请求所要求的;
根据对应于一封装算法的一解封装算法解封装该视频数据,其中该封装算法为在撷取该视频数据前利用一存储器控制器用以封装该视频数据;以及
输出解封装的该视频数据至一外部装置,
其中该封装算法包括将该视频数据的有效位放置于该视频数据的未使用空间。
19.如权利要求18所述的视频数据解封装方法,还包括下列步骤:
发送一数据存取请求,以要求该视频数据,
其中该数据存取请求包括选自多个识别信息及多个寻址信息的一组合。
20.如权利要求19所述的视频数据解封装方法,其中该封装算法依据该组合而定。
21.如权利要求18所述的视频数据解封装方法,其中解封装该视频数据的步骤根据所接收到的一致能信号,该解封装算法为该封装算法的逆运算。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80764106P | 2006-07-18 | 2006-07-18 | |
US60/807,641 | 2006-07-18 | ||
US11/468,017 | 2006-08-29 | ||
US11/468,017 US7752647B2 (en) | 2006-07-18 | 2006-08-29 | Video data packing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101072352A CN101072352A (zh) | 2007-11-14 |
CN101072352B true CN101072352B (zh) | 2013-03-13 |
Family
ID=39153603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710111863.6A Active CN101072352B (zh) | 2006-07-18 | 2007-06-20 | 视频数据的封装方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7752647B2 (zh) |
CN (1) | CN101072352B (zh) |
TW (1) | TWI417730B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8665967B2 (en) * | 2006-02-15 | 2014-03-04 | Samsung Electronics Co., Ltd. | Method and system for bit reorganization and packetization of uncompressed video for transmission over wireless communication channels |
US8175041B2 (en) * | 2006-12-14 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of audiovisual data having data size adaptation |
KR101313330B1 (ko) * | 2007-02-28 | 2013-09-27 | 삼성전자주식회사 | 이미지 티어링 효과를 방지할 수 있는 영상 표시 시스템 및그것의 영상 표시 방법 |
US7937520B2 (en) * | 2008-01-11 | 2011-05-03 | Mediatek Inc. | General purpose interface controller of resoure limited system |
US8176524B2 (en) * | 2008-04-22 | 2012-05-08 | Samsung Electronics Co., Ltd. | System and method for wireless communication of video data having partial data compression |
US9086872B2 (en) * | 2009-06-30 | 2015-07-21 | Intel Corporation | Unpacking packed data in multiple lanes |
CN102447673A (zh) * | 2010-09-30 | 2012-05-09 | 突触计算机系统(上海)有限公司 | 一种用于解封装携有封装格式的多媒体文件的方法与设备 |
US8989275B2 (en) | 2010-11-10 | 2015-03-24 | Qualcomm Incorporated | Video processing architecture |
CN103888375B (zh) * | 2012-12-19 | 2018-07-17 | 研祥智能科技股份有限公司 | 基于arinc 429的通信方法、装置及扩展接口 |
US11288193B2 (en) * | 2019-05-06 | 2022-03-29 | Cirrus Logic, Inc. | Flexible, non-blocking asynchronous transfer of time-variant atomic data |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625696B1 (en) * | 2000-03-31 | 2003-09-23 | Intel Corporation | Method and apparatus to adaptively predict data quantities for caching |
US7574113B2 (en) * | 2002-05-06 | 2009-08-11 | Sony Corporation | Video and audio data recording apparatus, video and audio data recording method, video and audio data reproducing apparatus, and video and audio data reproducing method |
CN1894931A (zh) * | 2003-10-15 | 2007-01-10 | 高通股份有限公司 | 高数据速率接口 |
-
2006
- 2006-08-29 US US11/468,017 patent/US7752647B2/en active Active
-
2007
- 2007-05-10 TW TW096116608A patent/TWI417730B/zh active
- 2007-06-20 CN CN200710111863.6A patent/CN101072352B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20080060042A1 (en) | 2008-03-06 |
TWI417730B (zh) | 2013-12-01 |
CN101072352A (zh) | 2007-11-14 |
TW200807249A (en) | 2008-02-01 |
US7752647B2 (en) | 2010-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101072352B (zh) | 视频数据的封装方法及系统 | |
US9678891B2 (en) | Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface | |
JPH06215117A (ja) | ビデオ・データ・フレーム伝送方法および装置 | |
CN103778085A (zh) | 存储器体系结构 | |
JPH0827773B2 (ja) | データ経路を使用可能にする方法、装置およびデータ処理システム | |
TW200808065A (en) | Video data compression system and method | |
US7336284B2 (en) | Two level cache memory architecture | |
WO2024074012A1 (zh) | 视频传输控制方法、装置、设备及非易失性可读存储介质 | |
US9508109B2 (en) | Graphics processing | |
JP4696199B2 (ja) | 転送ディスクリプタ用メモリを備えるusbホストコントローラ | |
US9594702B2 (en) | Multi-processor with efficient search key processing | |
JP4798849B2 (ja) | グラフィックスエンジンマスターモード動作の改良 | |
CN107277390A (zh) | 一种基于Zynq多路视频拼接系统 | |
KR19990062457A (ko) | 다이나믹 램 내장 마이크로 프로세서 및 다이나믹 램 내장 마이크로 프로세서의 데이터 전송 방법 | |
US9594706B2 (en) | Island-based network flow processor with efficient search key processing | |
US20060161720A1 (en) | Image data transmission method and system with DMAC | |
US20110283068A1 (en) | Memory access apparatus and method | |
US20110307643A1 (en) | Memory Management Process and Apparatus for the Same | |
US9632959B2 (en) | Efficient search key processing method | |
US20140146067A1 (en) | Accessing Configuration and Status Registers for a Configuration Space | |
CN111158936A (zh) | 队列交换信息的方法及系统 | |
US20040240553A1 (en) | Motion vector detecting method and image processing appparatus using the same | |
US9892088B2 (en) | Data processing system and method of controlling access to a shared memory unit | |
CN101369417B (zh) | 一种异步显示图像的叠加装置 | |
JP3496294B2 (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 |