TWI417730B - 視訊資料的封裝方法及系統 - Google Patents

視訊資料的封裝方法及系統 Download PDF

Info

Publication number
TWI417730B
TWI417730B TW096116608A TW96116608A TWI417730B TW I417730 B TWI417730 B TW I417730B TW 096116608 A TW096116608 A TW 096116608A TW 96116608 A TW96116608 A TW 96116608A TW I417730 B TWI417730 B TW I417730B
Authority
TW
Taiwan
Prior art keywords
video data
data
video
algorithm
package
Prior art date
Application number
TW096116608A
Other languages
English (en)
Other versions
TW200807249A (en
Inventor
Hon-Chung Fung
Original Assignee
Via Tech 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 Via Tech Inc filed Critical Via Tech Inc
Publication of TW200807249A publication Critical patent/TW200807249A/zh
Application granted granted Critical
Publication of TWI417730B publication Critical patent/TWI417730B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/443OS 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)

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。藉由在傳輸過程中減少未使用之位元數,將有可能提供較大可用的匯流排給所有匯流排使用者,使晶片在給定的速度下能更有效率的運作。
本發明揭露一種資料匯流排上傳輸資料的系統與方法,其藉由使用縮減資料區塊大小的封裝技術,使資料能以較少的時脈週期傳遞,因而增加其他共享此資料匯流排之主端裝置使用資料匯流排的可用性。在傳輸完畢已封裝的資料後,需將封裝之資料解封裝,以恢復資料的原始格式。舉例而言,本發明之系統及方法可以應用在視訊資料之傳輸,此視訊資料被儲存在主要記憶體中時,通常每一個字組包含許多未使用之位元。
一般而言,本發明描述之積體電路晶片包含多個主端裝置、多個從屬裝置、以及相互連接主端裝置與從屬裝置之資料匯流排。從屬裝置中至少一個(one or more)為記憶體控制器,用以從外部記憶體裝置存取資料。記憶體控制器更可用於封裝視訊資料,以利於資料匯流排上之傳輸。此外,主端裝置中至少一者為視訊顯示控制器,用以提供視訊資料給外部視訊顯示器。視訊顯示控制器更可用以從資料匯流排上接收記憶體控制器所封裝之視訊資料,並且將此封裝過之視訊資料解封裝,以傳送至視訊顯示器。
舉例來說,記憶體控制器包括請求分析器、用於儲存從外部記憶體裝置擷取之資料的緩衝器系統、以及控制器裝置。請求分析器可透過資料匯流排接收資料存取之請求,並分析此資料存取請求,藉以判斷發送此資料存取請求之主端裝置的身分。控制器裝置則判斷是否需要封裝所擷取之資料,並根據視訊資料是否被封裝,將資料儲存於緩衝器系統。控制器裝置可包括一個控制邏輯器,用以判斷所擷取之資料是否被封裝,以及一個封裝模組,用以根據預定(pre-defined)之封裝演算法封裝資料。
在一實施例中,視訊顯示控制器包括資料擷取器、解封裝模組、控制裝置、以及緩衝器。解封裝模組可用以將判定為封裝之資料解封裝。控制裝置則可用於接收一或多個訊號,而這些訊號為指示出資料擷取器所擷取之資料是否被封裝。控制裝置更可用以在資料被封裝時,命令資料擷取器將資料傳送至解封裝模組,以及在資料未被封裝時,命令資料擷取器繞過(bypass)解封裝模組傳送資料。緩衝器用以儲存解封裝模組所解封裝之資料以及繞過解封裝模組之資料。此外,緩衝器接著將已恢復回原始格式之資料提供給視訊顯示器。
在操作上,本發明所揭露的系統可使用資料匯流排之資料傳送方法。此方法包括判斷從記憶體所擷取之資料區塊是否包含在原始格式中未使用之位元。當資料區塊包含未使用之位元時,此方法包括將有效位元封裝於資料區塊中未使用之空間,以及透過資料匯流排傳送此封裝過之資料。此方法還包括將封裝過之資料解封裝,以將資料恢復為原始格式。藉由以上描述之方法即可封裝有效位元,以減少在資料匯流排上傳送的資料字組數目。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
本發明是關於重新排列視訊資料之系統及方法,藉以提供資料匯流排更有效率的傳輸方式。舉例來說,在此描述之系統及方法可用於電腦系統內,特別是具有共享資料匯流排之積體電路晶片或者處理器。藉由重新排列有效視訊資料以填入資料區塊中未使用之空間,將視訊資料封裝為較緊密之格式,以減少冗餘位元數。如此一來,便能在資料匯流排上以較少的時脈週期傳遞視訊資料,而系統中共享資料匯流排的元件也不會有不必要的延滯(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 display,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 memory architecture,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中可儲存一預選關聯(correlation)資訊,以將多個視訊顯示控制器中的某一個與一個對應之封裝模組及封裝資料緩衝器關聯起來。在此實施例中,控制邏輯器70傳送至資料線78上之傳送訊號亦可用於指示要從哪一個封裝資料緩衝器取出資料。
另一方面,封裝資料緩衝器82(或是多個緩衝器)與通用緩衝器84可以設置為單一累增緩衝器(single cumulative buffer),其每一部分可以任何合適的方式來分配。其中,此累增緩衝器的某部分可根據資料大小需求或者其他參數分配給特定的主端裝置。而此緩衝器中未分配給特定主端裝置之其餘部分則可作為其他主端裝置共同儲存之用。而且,在此不包含切換器86的方式下,緩衝器系統54可以配置為可利用任何適當的存取方式來存取累增緩衝器的某些部份。
本發明所揭露的記憶體控制器40可實現為硬體、軟體、軔體及其組合。在本實施例中,請求邏輯器60、主端編號邏輯器62、位址邏輯器64、控制邏輯器70以及封裝模組74中的任何一個(至少一部份)可以實現於儲存在記憶體內且由合適的指令執行系統來執行之軟體或者軔體。另外,邏輯器在硬體實施上可以利用任意適當元件之組合,例如:具有閘(gate)以實現邏輯功能的離散邏輯電路及特殊用途積體電路(application specific integrated 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更包括了將解封裝之資料輸出至外部裝置,例如:視訊顯示裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
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...視訊資料解封裝方法步驟
圖1繪示習知積體電路晶片之部份方塊圖。
圖2A繪示儲存在32位元寬記憶體裝置中由8個像素組合之視訊資料區塊的排列圖表。
圖2B繪示儲存在32位元寬記憶體裝置中由8個像素組合之視訊資料區塊的排列圖表。
圖3繪示本發明較佳實施例之電腦系統之部分方塊圖。
圖4繪示圖3實施例中記憶體控制器之方塊圖。
圖5繪示圖4實施例中的請求分析器方塊圖。
圖6繪示圖4實施例中的控制器裝置方塊圖。
圖7繪示圖4實施例中的緩衝器系統方塊圖。
圖8A繪示視訊資料的一排列實例。
圖8B繪示視訊資料的另一排列實例。
圖9繪示圖3實施例中視訊顯示控制器之方塊圖。
圖10為依據本發明所揭示之封裝方法所繪示之實施例的流程圖。
圖11為依據本發明所揭示之解封裝方法所繪示之實施例的流程圖。
30...電腦系統
32...積體電路晶片
34...記憶體
36...視訊顯示器
38...主端裝置
38a...視訊顯示控制器
40...記憶體控制器
42...資料匯流排
44...匯流排仲裁器

Claims (28)

  1. 一種視訊資料傳送系統,包括:一記憶體控制器,用以接收一資料存取請求,並根據一封裝演算法將自一外部記憶體裝置所存取之一視訊資料加以封裝,以傳輸於一資料匯流排上,其中該封裝演算法更包括藉由使用多個像素的視訊資料區塊,在該多個像素的視訊資料區塊中,每一單一像素的視訊資料區塊中的一些顏色要素可以與其餘顏色要素分隔開來,且被放置在不同的字組;以及一視訊顯示控制器,用以發送該資料存取請求,以要求該外部記憶體裝置內的該視訊資料,並根據一解封裝演算法將該記憶體控制器所封裝之該視訊資料解封裝,並提供解封裝後的該視訊資料給一外部視訊顯示器,其中該解封裝演算法對應於該封裝演算法。
  2. 如申請專利範圍第1項所述之視訊資料傳送系統,其中該記憶體控制器更包括:一請求分析器,用以接收該資料存取請求,並分析該資料存取請求的該參數;一控制器裝置,用以接收該參數,並且依據該參數所決定之該封裝演算法封裝該視訊資料;以及一緩衝器系統,用以儲存該控制器裝置所封裝之該視訊資料,並將被封裝的該視訊資料透過該資料匯流排傳送至該視訊顯示控制器。
  3. 如申請專利範圍第2項所述之視訊資料傳送系統,其中該控制器裝置更包括根據所接收之一致能信號封裝該視訊資料。
  4. 如申請專利範圍第2項所述之視訊資料傳送系統,其中該請求分析器更包括:一請求邏輯器,用以接收該資料存取請求,並擷取該資料存取請求之一識別資訊及一位址資訊;一主端編號邏輯器,用以處理該識別資訊,以判斷發送該資料存取請求之一裝置的身份;以及一位址邏輯器,用以處理該位址資訊,以判斷發送該資料存取請求之該視訊顯示控制器。
  5. 如申請專利範圍第2項所述之視訊資料傳送系統,其中該緩衝器系統更包括:一封裝資料緩衝器,用以儲存已封裝之該視訊資料;以及一通用緩衝器,用以儲存未封裝之該視訊資料。
  6. 如申請專利範圍第1項所述之該視訊資料傳送系統,其中該視訊顯示控制器更包括:一資料擷取器,用以於該資料匯流排上擷取該記憶體控制器所封裝的該視訊資料;一解封裝模組,根據該解封裝演算法將被封裝的該視訊資料解封裝;以及一緩衝器,用以儲存解封裝後的該視訊資料,並提供解封裝後的該視訊資料給該外部視訊顯示器。
  7. 如申請專利範圍第6項所述之視訊資料傳送系統,其中該視訊顯示控制器更包括根據一致能信號解封裝從該記憶體控制器擷取之已封裝的該視訊資料。
  8. 如申請專利範圍第1項所之視訊資料訊號傳送系統,其中該視訊顯示器之該解封裝演算法為該記憶體控制器之該封裝演算法的逆運算。
  9. 如申請專利範圍第1項所述之視訊資料傳送系統,其中該記憶體控制器與該視訊顯示控制器被配置在同一積體電路晶片中。
  10. 如申請專利範圍第1項所述之視訊資料傳送系統,其中被分隔開的該些顏色要素會在不同的時脈週期中傳送。
  11. 如申請專利範圍第1項所述之視訊資料傳送系統,其中該記憶體控制器之該封裝演算法包括將該視訊資料的有效位元放置於該視訊資料的未使用空間。
  12. 一種視訊資料傳送方法,包括下列步驟:根據一資料存取請求,從一外部記憶體裝置接收一視訊資料;根據該資料存取請求的至少一參數選擇一封裝演算法;以及於一資料匯流排上傳送已封裝的該視訊資料,其中該封裝演算法更包括藉由使用多個像素的視訊資料區塊,在該多個像素的視訊資料區塊中,每一單一像素的視訊資料區塊中的一些顏色要素可以與其餘顏色要素分隔開來,且被放置在不同的字組。
  13. 如申請專利範圍第12項所述之該視訊資料傳送方法更包括下列步驟:根據所選擇的該封裝演算法將該視訊資料的有效位元封裝至該視訊資料的未使用空間,其中該視訊資料的未使用空間不具任何內容。
  14. 如申請專利範圍第13項所述之該視訊資料傳送方法,其中封裝該有效位元於該視訊資料的該未使用空間的步驟更包括:判斷該視訊資料是否包含該未使用空間。
  15. 如申請專利範圍第14項所述之該視訊資料傳送方法,其中當該視訊資料沒有該未使用空間時,則不封裝該視訊資料的該有效位元。
  16. 如申請專利範圍第13項所述之該視訊資料傳送方法,其中封裝該視訊資料的該有效位元至該未使用空間之步驟為藉由接收一致能信號來致能。
  17. 如申請專利範圍第13項所述之該視訊資料傳送方法,其中封裝該視訊資料的該有效位元至該未使用空間之步驟更包括:判斷該資料存取請求是否由預定之該視訊顯示控制器所發送,其中該視訊顯示控制器具有解封裝該視訊資料之能力。
  18. 如申請專利範圍第17項所述之該視訊資料傳送方法,其中判斷該資料存取請求是否由預定之該視訊顯示控制器所發送之步驟更包括: 判斷發送該資料存取請求之該視訊顯示控制器的一識別資訊和一位址資訊。
  19. 如申請專利範圍第13項所述之該視訊資料傳送方法,其中封裝該有效位元於該視訊資料的該未使用空間之步驟更包括:把該視訊資料劃分成多個單元,其中每一個該些單元具有多個要素;以及將具有一第一單元有效位元之至少一第一要素置入至少一第二要素,其中該第二要素的一第二單元包含該未使用空間。
  20. 如申請專利範圍第19項所述之該視訊資料傳送方法,其中該視訊資料的每一個該些單元為一像素,而具有該有效位元之該些要素代表該像素的顏色要素。
  21. 如申請專利範圍第12項所述之該視訊資料傳送方法,其中被分隔開的該些顏色要素會在不同的時脈週期中傳送。
  22. 一種視訊資料解封裝方法,適用於將傳輸於一資料匯流排上之一視訊資料解封裝,包括下列步驟:擷取該資料匯流排上之該視訊資料;根據對應於所選擇之一封裝演算法的一解封裝演算法解封裝該視訊資料,其中該封裝演算法為在擷取該視訊資料前對應於一資料存取請求的至少一參數從多個封裝演算法中選取,而用以封裝該視訊資料;以及輸出解封裝之該視訊資料至一外部裝置, 其中該封裝演算法更包括藉由使用多個像素的視訊資料區塊,在該多個像素的視訊資料區塊中,每一單一像素的視訊資料區塊中的一些顏色要素可以與其餘顏色要素分隔開來,且被放置在不同的字組。
  23. 如申請專利範圍第22項所述之視訊資料解封裝方法,更包括下列步驟:發送該資料存取請求,以要求該視訊資料。
  24. 如申請專利範圍第23項所述之視訊資料解封裝方法,其中該資料存取請求包括選自多個識別資訊及多個定址資訊之一組合。
  25. 如申請專利範圍第24項所述之視訊資料解封裝方法,其中該封裝演算法為依據該組合而定。
  26. 如申請專利範圍第22項所述之視訊資料解封裝方法,其中該解封裝演算法為該封裝演算法之逆運算。
  27. 如申請專利範圍第22項所述之視訊資料解封裝方法,其中解封裝該視訊資料之步驟為乃根據所接收到的一致能信號。
  28. 如申請專利範圍第22項所述之該視訊資料傳送方法,其中被分隔開的該些顏色要素會在不同的時脈週期中傳送。
TW096116608A 2006-07-18 2007-05-10 視訊資料的封裝方法及系統 TWI417730B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80764106P 2006-07-18 2006-07-18
US11/468,017 US7752647B2 (en) 2006-07-18 2006-08-29 Video data packing

Publications (2)

Publication Number Publication Date
TW200807249A TW200807249A (en) 2008-02-01
TWI417730B true TWI417730B (zh) 2013-12-01

Family

ID=39153603

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096116608A TWI417730B (zh) 2006-07-18 2007-05-10 視訊資料的封裝方法及系統

Country Status (3)

Country Link
US (1) US7752647B2 (zh)
CN (1) CN101072352B (zh)
TW (1) TWI417730B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
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

Citations (3)

* Cited by examiner, † Cited by third party
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
US20030231870A1 (en) * 2002-05-06 2003-12-18 Daizoh Nagahara 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
US20050125840A1 (en) * 2003-10-15 2005-06-09 Anderson Jon J. High data rate interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US20030231870A1 (en) * 2002-05-06 2003-12-18 Daizoh Nagahara 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
US20050125840A1 (en) * 2003-10-15 2005-06-09 Anderson Jon J. High data rate interface

Also Published As

Publication number Publication date
US20080060042A1 (en) 2008-03-06
CN101072352B (zh) 2013-03-13
TW200807249A (en) 2008-02-01
CN101072352A (zh) 2007-11-14
US7752647B2 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
TWI417730B (zh) 視訊資料的封裝方法及系統
US6567426B1 (en) Preemptive timer multiplexed shared memory access
US6297794B1 (en) Method of switching video sources and computer system employing this method
JP3384571B2 (ja) マルチモードホームターミナルシステム及びビデオ/グラフィックス情報を処理する方法
US5369617A (en) High speed memory interface for video teleconferencing applications
JP6078173B2 (ja) アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器
US9678891B2 (en) Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface
US12111778B2 (en) Image processing accelerator
WO2024074012A1 (zh) 视频传输控制方法、装置、设备及非易失性可读存储介质
US6720968B1 (en) Video acquisition system including a virtual dual ported memory with adaptive bandwidth allocation
US20160011994A1 (en) Multi-processor with efficient search key processing
US20120206657A1 (en) Reproducible Dither-noise Injection
US10445851B2 (en) Image processing apparatus and method
WO2014052543A1 (en) Efficient processing of access requests for a shared resource
JP2001119414A (ja) データ転送制御装置及び電子機器
US10346323B2 (en) Data transfer device and data transfer method for smoothing data to a common bus
KR19990062457A (ko) 다이나믹 램 내장 마이크로 프로세서 및 다이나믹 램 내장 마이크로 프로세서의 데이터 전송 방법
US20080072333A1 (en) Receiving systems and related methods storing content protection keys in conjunction with information referred to micro-processor
US5727139A (en) Method and apparatus for minimizing number of pixel data fetches required for a stretch operation of video images
KR20010013137A (ko) 통신 dma 장치
GB2258069A (en) High speed computer graphics bus
US9632959B2 (en) Efficient search key processing method
KR100776943B1 (ko) 고성능 비디오 캡쳐 카드 및 다채널 비디오 캡쳐 방법
US9892088B2 (en) Data processing system and method of controlling access to a shared memory unit
JP2006243940A (ja) カメラデータ転送装置