TWI582689B - 用於多重格式影像處理之可組配緩衝器分派技術 - Google Patents

用於多重格式影像處理之可組配緩衝器分派技術 Download PDF

Info

Publication number
TWI582689B
TWI582689B TW101119133A TW101119133A TWI582689B TW I582689 B TWI582689 B TW I582689B TW 101119133 A TW101119133 A TW 101119133A TW 101119133 A TW101119133 A TW 101119133A TW I582689 B TWI582689 B TW I582689B
Authority
TW
Taiwan
Prior art keywords
buffer
read stream
shared buffer
read
write address
Prior art date
Application number
TW101119133A
Other languages
English (en)
Other versions
TW201304549A (zh
Inventor
陳曉輝
史考特 鄭
江宏
Original Assignee
英特爾公司
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 英特爾公司 filed Critical 英特爾公司
Publication of TW201304549A publication Critical patent/TW201304549A/zh
Application granted granted Critical
Publication of TWI582689B publication Critical patent/TWI582689B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)

Description

用於多重格式影像處理之可組配緩衝器分派技術
本發明係關於用於多重格式影像處理之可組配緩衝器分派技術。
發明背景
各種不同的視訊編解碼可被使用以壓縮視訊影像。一般,當壓縮或解壓縮影像資料時,視訊編解碼經常使用記憶體資源。不同的視訊編解碼,例如,先進視訊編碼(AVC)編解碼器或移動圖像以及電視工程師協會(SMPTE)編解碼器,例如,通常具有不同及/或唯一型式的記憶體讀取或寫入要求,例如,位元訊流、位元平面表面、位元組訊流解碼器(BSD)列存儲、像素資料要求以及其它者。習見的視訊解碼器設計可採用複數個固定尺度緩衝器記憶體以支援藉由視訊編解碼特定型式產生的視訊編解碼讀取訊流之處理。例如,AVC解碼器設計可能需要三個分別之同樣尺度的列存儲緩衝器以供讀取訊流處理,然而,另一方面,SMPTE VC-1解碼器設計可能需要一個媒體尺度列存儲緩衝器,一個大的差分移動向量(DMV)緩衝器,以及一個小的位元平面緩衝器。
習見的視訊解碼器設計一般採用大的內部快取及/或每個讀取訊流的分別預定固定尺度緩衝器。但是,此等方法可能是非常區域昂貴及/或遭受高功率消耗。另外,最習見的視訊硬體加速解碼器設計不具有足夠區域以包含儲存 暫時資料之大的內部快取。因此,多數設計使用預先擷取邏輯以及複數個小的緩衝器以隱藏來自外部記憶體之讀取要求之長記憶體潛伏期。
依據本發明之一實施例,係特地提出一種方法,其包括下列步驟:在一處理器處,組配一共用緩衝器以支援一第一讀取訊流以及一第二讀取訊流之處理,其中該第一讀取訊流是關聯一第一視訊編解碼格式,並且其中該第二讀取訊流是關聯不同於該第一視訊編解碼格式之一第二視訊編解碼格式;回應於關聯該第一讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第一緩衝器寫入位址;以及回應於關聯該第二讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第二緩衝器寫入位址,其中該第二緩衝器寫入位址是不同於該第一緩衝器寫入位址。
圖式簡單說明
此處說明之素材藉由範例被展示並且不是受限於附圖。為展示之簡明及清晰之故,圖形中展示之元件不必定得依其比率而繪製。例如,為清楚起見,一些元件之尺度可相對於其他元件被放大。進一步,經適當的考慮時,參考標記在圖形間被重複以指示對應的或類似之元件。於圖形中:第1圖是範例系統之說明圖;第2圖說明一範例處理程序;第3圖說明一範例共用緩衝器組配; 第4圖說明於記憶體要求脈絡中第1圖的範例系統;第5圖說明從記憶體返回之資料脈絡中第1圖的範例系統;第6圖說明於資料讀取脈絡中第1圖的範例系統;第7圖說明第2圖之範例處理程序的另外部份;第8圖說明另外的範例共用緩衝器組配;第9圖是一範例系統之說明圖;以及第10圖是所有依據本揭示之至少一些實作例被配置的一範例系統說明圖。
詳細說明
接著一個或多個實施例將參考所包含之圖形被說明。雖然特定組配以及配置被討論,應了解,這僅是為適合於展示目的。熟習有關技術者應明白,其他組配以及配置亦可被採用而不脫離說明文之精神與範疇。熟習有關技術者應明白,此處說明之技術及/或配置也可被採用於除了此處說明外之多種其他系統以及應用中。
雖然下面之說明提出的各種實作例可被表明於結構中,例如,晶片上系統(SoC)結構,此處說明之技術及/或配置實作例是不受限定於特定結構及/或電腦系統,並且可利用任何相似用途之結構及/或電腦系統被實作。舉例而言,採用,例如,複數個積體電路(IC)晶片及/或封裝,及/或各種電腦裝置及/或消費者電子(CE)裝置,例如,機上盒、智慧型手機等等之各種結構,可實作此處說明之技術及/或配 置。進一步地,雖然下面的說明可能提出許多特定詳細說明,例如,邏輯實作例、系統構件之型式以及相互關係、邏輯分離/整合選擇等等,所提出之主題可不需此些特定詳細說明而被實施。於其他實例中,一些材料,例如,控制結構以及全部軟體指令序列,可能不詳細地被展示以免混淆此處揭示之素材。
此處揭示之素材可被實作於硬體、韌體、軟體或其任何組合中。此處揭示之素材也可被實作如儲存於機器可讀取媒體上之指令,其可利用一個或多個處理器被讀取並且被執行。機器可讀取媒體可包含利用機器(例如,電腦裝置)可讀取形式以儲存或發送資訊之任何媒體及/或機構。例如,機器可讀取媒體可包含唯讀記憶體(ROM);隨機存取記憶體(RAM);磁碟片儲存媒體;光學儲存媒體;快閃記憶體裝置;電氣、光學、聽覺或其他形式之傳輸信號(例如,載波、紅外線信號、數位信號,等等),以及其他者。
說明文中提及之“一實作例”、“一個實作例”、“一範例實作例”等等,指示所說明之實作例可包含特定特點、結構或特性,但是每個實作例可能不必定得包含該等特定特點、結構或特性。此外,此等詞組是不必定得涉及相同實作例。進一步地,不論此處是否明確地說明,當一特定特點、結構或特性配合一實作例被說明時,其被認為是在熟習本技術者了解範圍內以使此等特點、結構或特性可配合於其他實作例,而不論是否在此明確說明。
第1圖展示依據本揭示之一範例系統100。依據本揭示 之裝置及/或系統,例如,範例系統100可動態地改變於媒體管路中預先擷取緩衝器資源分派以符合不同的視訊編解碼處理需要。系統100包含驅動器暫存器102以及對應的多工器104、控制暫存器106以及對應的多工器108、硬體讀取/寫入(R/W)介面110、加法邏輯112以及114、引動邏輯116以及118、共用緩衝器記憶體120及關聯多工器122、以及記憶體要求潛伏先進先出(FTFO)124。R/W介面110可接收從硬體外部至系統100之各種信號126並且可提供那些的信號至系統100之各種構件,如下面之詳細說明。進一步地,系統100可包含被提供至系統100及/或從耦合至記憶體(未被展示)外部之記憶體介面(未被展示)被接收的各種信號128,如下面之詳細說明。另外,系統100可包含可被提供至系統100外部之硬體的各種信號130,如下面更詳細之說明。
依據本揭示,共用緩衝器120可以是預先擷取緩衝器,其可依動態準則而邏輯地分隔成為複數個緩衝器區域132以支援視訊解碼器資源分派。為指定緩衝器120之分隔,驅動器暫存器102可儲存包含在共用緩衝器120內之各區域132的開始位置之組配資料。任何特定緩衝器區域132的尺度或範圍可藉由目前緩衝器區域減去下一個緩衝器區域開始位置而被決定。儲存於暫存器102中之組配資料可如所需地被更動或被修改以提供區域132之動態再分派。因而,雖然第1圖之展示具有相似之相關尺度的七(7)個區域132,依據本揭示,區域132之數目及/或相關尺度可如共用緩衝器120動態地被組配而改變,如在下面更詳細之說明。
於各種實作例中,至少一部份低階晶片上快取記憶體可實作共用緩衝器120。例如,共用緩衝器120可藉由一部份低階快取記憶體被提供,其中,例如,以整體記憶體位址或快取記憶體位置表示的緩衝器120全部尺度,可如所需動態地改變以及如利用暫存器102內容所指定。大體上,共用緩衝器120可利用包含靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、快閃記憶體等等之任何型式的記憶體被實作。
控制暫存器106可儲存供用於系統100之所有內部暫存器。於各種實作例中,控制暫存器106可保持關聯各緩衝器區域132之開始位置的讀取以及寫入偏移量。讀取及/或寫入偏移量可開始於數值零並且可回應於讀取要求或寫入要求而增量。共用緩衝器120可被作為如環形儲存部,並且當它們抵達對應區域132末端時,讀取及/或寫入偏移量可環繞返回至零(使用環繞-循環邏輯,其未展示於第1圖中)。共用緩衝器120可作用如同供用於視訊處理中被使用之記憶體資料的主預先擷取儲存部。FIFO 124可被使用以儲存至系統100外部記憶體之重要要求。
依據本揭示,視訊解碼器結構可採用單一控制機構,例如,系統100,以讀取及/或寫入視訊資料至共用緩衝器記憶體。進一步地,經由驅動器暫存器102與系統100介面之軟體驅動器可依據使用模式被允許調整緩衝器120尺度及/或區域132數目與尺度。另外,共用緩衝器120可被重新組配以補償每個訊流之不同的記憶體潛伏量。
依據本揭示,軟體驅動器可被使用以啟始地程控緩衝器區域132之數目及/或尺度。共用緩衝器120之程控組配可被保持直至所有重要的記憶體要求被處理為止。進一步地,硬體可被允許以達成記憶體要求並且從各個緩衝器區域132獨立地讀取資料。
系統100之各種構件可被實作於軟體、韌體及/或硬體及/或其任何組合中。例如,系統100之各種構件可至少部分地,藉由例如,可發現於消費者電子(CE)系統中之電腦晶片上系統(SoC)的硬體被提供。例如,於一非受限定之範例中,系統100可被實作於一CE裝置中,例如,機上盒。
第2圖展示依據本揭示各種實作例之供用於記憶體要求處理的範例處理程序200之流程圖。處理程序200可包含一個或多個操作、功能或活動,如藉由第2圖之一個或多個方塊202、204、206、208、210、212、214以及216之展示。藉由非限定性之範例,處理程序200將於此參考第1圖之範例系統100被說明。處理程序200可開始於方塊202。
在方塊202,一共用緩衝器可被組配。於各種實作例中,例如,共用緩衝器120可回應被保持於暫存器102中之組配資料而藉由邏輯地分隔緩衝器120成為緩衝器區域132而被組配,其中,該等組配資料可利用關聯不同解碼器處理程序的驅動器被提供。依據本揭示,方塊202可包含分隔一共用緩衝器成為不同區域以允許多重格式視訊影像處理。
第3圖展示在方塊202被組配成為六個緩衝區域302-312之共用緩衝器120的範例組配300。如上面所述,共 用緩衝器120的整體尺度可取決於如利用被保持於驅動器暫存器102中之組配資料所指定的區域132之數目以及那些區域132之尺度而動態地被決定。
於範例組配300中,被保持於暫存器102中之組配資料可指定緩衝器區域302、304以及306之尺度,以至於那些區域可依據一視訊格式或標準被使用於視訊處理中,同時指明緩衝器區域308、310以及312之尺度以至於那些區域可依據另一視訊格式或標準被使用於視訊影像處理。例如,範例組配300可提供三個分別的緩衝器302、304、以及306以當工作列存儲操作時供AVC解碼器使用,而組配300也可提供列存儲緩衝器308、差分移動向量(DMV)緩衝器310以及位元平面緩衝器312以供VC-1解碼器處理之使用。
雖然組配300如此處之說明提供不同的緩衝器區域以供與二個不同視訊影像處理標準相容之處理的使用,依據本揭示之一共用緩衝器可被組配以提供任何數目及/或相關尺度之緩衝器區域以供任何數目之視訊影像處理格式或標準的使用。進一步地,雖然組配300展示具有大約地相等尺寸之緩衝器區域302-312,熟習本技術者應明白,於各種實作例中,組配300僅是代表性並且區域132之相關尺度以及數目可不同地被配置。例如,被組配以在列存儲操作期間供AVC解碼器使用之緩衝器302、304以及306可具有大約相等之尺度,而DMV緩衝器310可以是較大於任何緩衝器302、304或306,並且位元平面緩衝器312可以是較小於任何緩衝器302、304或306。
進一步地,於各種實作例中,方塊202可包含組配一共用緩衝器以供處理對應至一個或多個視訊圖像或訊框的位元流資料,或供處理一部份之視訊訊框,例如,視訊圖像片段或其類似者。例如,方塊202可包含組配共用緩衝器120以供處理對應至,例如,儲存在外部記憶體中之視訊訊框的圖像片之資料的讀取訊流之至少一部份,其中處理程序200可包含要求存取外部記憶體之連續事例以將不同部份之訊框資料寫入緩衝器120中,如下面更詳細之說明。在方塊204,對於一第一讀取訊流之記憶體要求可被接收。
第4圖展示依據本揭示各種實作例之方塊204的記憶體要求處理脈絡中的範例系統100。如於第4圖之展示,R/W介面110可接收一記憶體要求400,而為讀取資料之目的,例如,來自該等記憶體之像素值,以尋求存取外部記憶體。例如,AVC解碼器可在方塊202提供記憶體要求400,於其中,記憶體要求400可以是尋求自外部記憶體讀取像素資料的讀取訊流處理程序之部份。例如,方塊204可在利用AVC解碼器處理程序被執行之一列存儲操作期間被進行。如此處之使用,像素資料可指示被使用於視訊解碼器處理中之任何資料形式,例如,但是不受限定於:巨區塊、區塊及/或子區塊資料數值(例如,像素YUV數值)、移動向量資料數值(例如,X以及Y偏移量)、區塊內及/或區塊間資料數值(例如,被量化之交流及/或被量化之直流係數);以及其它者。
再次參看至如於第1以及4圖展示之範例系統100,在方塊204接收之記憶體要求400可包含信號記憶體要求 (Mem_Req)、記憶體緩衝器辨識(Mem_Buffer_ID)以及記憶體位址(Mem_Addr)。介面110可提供該Mem_Req信號至FIFO 124以及引動邏輯116兩者。信號Mem_Addr可指定記憶體要求被指引至外部記憶體中之位址並且可被提供至FIFO 124。信號Mem_Buffer_ID可回應於該記憶體要求而指定哪個緩衝器區域132是將被使用並且可利用R/W介面110分別地被供應至關聯驅動器暫存器102以及控制暫存器106之多工器104以及108。於各種實作例中,在方塊204發出記憶體要求400之硬體可首先檢查利用如信號130之一者所提供之Read_Done(讀取完成)信號。
在方塊206,緩衝器寫入位址可被決定。如於第4圖之展示,在方塊204被提供至多工器104以及108之Mem_Buffer_ID信號,與儲存在分別的暫存器102以及106中之資料組合,而可被使用以選擇寫入緩衝器偏移(WBO)信號以及緩衝器基本位址(BBA)信號。WBO以及BBA信號可被提供至加法邏輯112,該加法邏輯112可邏輯地組合WBO以及BBA信號以形成一儲存寫入位址(SWA)信號。回應於SWA信號以及Mem_Req信號,引動邏輯116接著可提供寫入引動(WE)信號給共用緩衝器120。
WE信號可指定在緩衝器120之一特定區域132內之一位置或位址,其被指明供暫時地儲存在方塊204接收之記憶體要求所尋找的像素資料。例如,當解碼器進行在方塊204之讀取要求之一第一事例時,SWA信號可指示在區域132內之一啟始或開始位址。因此,WBO信號可具有一啟始數 值零(0)。例如,同時也參看至第3圖,一AVC解碼器可在方塊204提供Mem_Buffer_ID給讀取要求,而指明,例如,列存儲緩衝器302作為用於記憶體要求之目標緩衝器。SWA信號可在列存儲緩衝器302內指定一位置或位址,其中緩衝器302中之精確位置取決於WBO信號數值。
回應於接收WE信號,共用緩衝器120可確定一寫入要求進展(WRP)信號而指示系統100已接收並且開始反應至記憶體要求。另外,回應於接收在方塊204之記憶體要求,系統100可組合WBO以及BBA信號以形成Mem_Tag信號,該Mem_Tag信號可被使用以當資料從記憶體被返回時決定在利用SWA信號被指示的區域132內之寫入位置或位址,如下面進一步的詳細說明。Mem_Tag、Mem_Req以及Mem_Addr信號可被儲存在FIFO 124中並且可依序地被提供至記憶體介面。在方塊208,供用於第一讀取訊流之像素資料可被寫入至共用緩衝器。
第5圖展示依據本揭示各種實作例在方塊208之資料返回處理脈絡中的系統100。參看至第2及5圖,於各種實作例中,方塊208可包含使用Mem_Addr信號以定位將被讀取之像素資料的外部記憶體。例如,Mem_Addr信號可指示儲存在外部記憶體中之一列像素數值。
外部記憶體接著可經由系統100之記憶體介面,提供像素資料作為Mem_Data信號,至共用緩衝器120。也利用外部記憶體被提供之Mem_Tag信號的BBA以及WBO成分可利用邏輯112被相加以提供SWA信號至引動邏輯116。邏輯 116接著,回應於一記憶體要求返回(Mem_Req_Return)信號,可提供一WE信號至緩衝器120而導致緩衝器120以儲存像素資料(例如,對應至Mem_Data信號)在利用SWA信號被指示之部份132內的特定位址。繼續上面之範例,如果SWA信號指定在列存儲緩衝器302內之一位址,則方塊208可導致像素資料在利用AVC解碼器處理程序之列存儲處理期間被儲存在該位置。例如,一列像素資料可被儲存而開始於利用SWA信號被指示之位置。
一旦像素資料被寫入至共用緩衝器,系統100可確定一資料可用(Data_Avail)信號而指示至硬體該等要求的像素資料是可用以從緩衝器120被讀取。進一步地,當在方塊208寫入該等讀取資料時,系統100也可增量WBO數值,因而任何依序的記憶體要求可寫入資料至緩衝器120之特定區域132內之下一個位置。處理程序200可在方塊210繼續從共用緩衝器讀取第一讀取訊流像素資料。
第6圖展示依據本揭示各種實作例在方塊210之讀取要求處理脈絡中的範例系統100。如於第6圖之展示,方塊210可包含接收讀取要求600之R/W介面110以存取由於方塊208結果而儲存於共用緩衝器中之像素資料。例如,AVC解碼處理程序可於執行一列存儲操作之處理程序中在方塊210提供讀取要求600。
讀取要求600可包含讀取緩衝器辨識(Read_Buffer_ID)信號、讀取要求(Read_Req)信號、以及讀取緩衝器收回(Read_Buffer_Evict)信號。該Read_Buffer_ID信號可被提供 至多工器104以提供對應的BBA信號,並且至多工器108以提供讀取緩衝器偏移量(RBO)信號。邏輯114接著可增加RBO信號至BBA信號以產生儲存讀取位址(SRA)信號,該SRA信號指示在方塊210儲存將被讀取的像素資料之緩衝器120之特定區域132內之特定位置。繼續上面之範例,如果SRA信號指定在方塊208像素資料被寫入之列存儲緩衝器302內的位址,則方塊210可導致像素資料在列存儲處理期間利用AVC解碼器從該位置被讀取。例如,方塊210可包含從共用緩衝器120被讀取之一列像素數值。
於一些實作例中,方塊210可包含不設定Read_Buffer_Evict信號而設定Read_Req信號之硬體,因而該硬體可檢查利用SRA信號被指示之位置的狀態。如果,如此做時,硬體檢測出Read_Data信號被設定而指示資料是可於該位置被讀取,則該硬體接著可繼續實作方塊210而藉由也設定Read_Req信號以及Read_Buffer_Evict兩者以利用存取Read_Data信號而從共用緩衝器120讀取資料。
引動邏輯118可藉由提供讀取引動(RE)信號至緩衝器120而回應至SRA信號、Read_Req信號以及Read_Buffer_Evict信號。配合於RE信號,SRA可被提供至多工器122而導致所儲存之資料出現如Read_Data信號。進一步地,當在方塊210提供讀取資料時,系統100可設定Read_Done信號,指示該等資料無進一步使用並且也可增量儲存於暫存器106中之RBO數值,因而任何依序的讀取要求可以至緩衝器120特定區域132內之下一個位置。
返回至第2圖,處理程序200可繼續於方塊212而決定關於第一讀取訊流之處理是否繼續。例如,於各種實作例中,視訊解碼器可進行方塊204-210之第一次重複為用於得到像素資料之讀取訊流處理程序的啟始操作。視訊解碼器接著可進行方塊204-210之一個或多個另外的重複以得到用於讀取訊流處理程序之另外部份的像素資料。因此,如果在方塊212決定第一讀取訊流之進一步的處理是繼續,則解碼器可起作用以在進行方塊204-212的另一重複之前於方塊214修改記憶體位址(例如,藉由增量Mem_Addr信號數值)。於各種實作例中,視訊解碼器處理程序可繼續經由方塊204-214重複執行,直至在方塊212之最後事例,解碼器決定第一讀取訊流之處理已結束。例如,並且進行處理程序200之AVC解碼器可在方塊212之最後事例決定第一讀取訊流之處理已結束,例如,當對應至第一讀取訊流處理的一列存儲操作已從外部記憶體得到所需的像素資料數量時。另一方面,如果,在方塊212,決定第一讀取訊流之處理不繼續,則處理程序200可在方塊216繼續進一步地操作、功能或活動。
第7圖說明依據本揭示各種實作例對於所說明之記憶體要求處理的範例處理程序200之進一步部份。處理程序200可包含如以一個或多個方塊218、220、222、224、226、228、230、以及232所說明之一個或多個另外的操作、功能或活動。藉由非限定性之範例,如第7圖說明之處理程序200於此處將再次參考第1圖範例系統100被說明。處理程序200 可在方塊218繼續。
於方塊218,可決定關於共用緩衝器是否將被重新組配。於各種實作例中,方塊218可包含決定共用緩衝器120是否需要被重新組配以進行新的或第二讀取訊流(例如,另一視訊影像處理讀取訊流)之處理。例如,當遵循一第一視訊格式或標準之第一讀取訊流的讀取訊流處理,例如,利用AVC解碼器所產生之讀取訊流處理,可在第2圖之方塊204-214被進行時,則方塊218可包含決定共用緩衝器120是否需要被重新組配,以進行,例如,關聯另一視訊格式或標準(例如,可能利用VC-1解碼器被進行)之第二讀取訊流的處理。
如果,在方塊218,決定重新組配不被進行,則處理程序200可繼續對於第二讀取訊流之記憶體要求之接收(方塊222)、對於該記憶體要求之緩衝器寫入位址的決定(方塊224)、對於第二讀取訊流寫入像素資料至共用緩衝器(方塊226)、以及在方塊228從共用緩衝器讀取像素資料。方塊222、224、226以及228可分別地以相似於上述第2圖之方塊204、206、208以及210的方式被進行。
於各種實作例中,當共用緩衝器以在第7圖方塊222-228允許第二讀取訊流之處理方式在方塊202(第2圖)被組配時,則可在方塊218決定重新組配不應被進行。例如,參看至第3圖之範例組配300,如果第二讀取訊流是VC-1解碼器讀取訊流,則共用緩衝器120,其包含已被組配而適用於方塊202之VC-1解碼器處理程序之區域308、310以及 312,可適當地被組配以供在第7圖方塊222-228進行第二讀取訊流之處理而不需重新組配。
如果,另一方面,在方塊218決定重新組配應被進行,則處理程序200可在方塊220繼續共用緩衝器之重新組配。例如,在方塊218可決定共用緩衝器120不以將便利於第二讀取訊流之處理的方式被組配。於各種實作例中,方塊220可回應於藉由關聯一個或多個視訊解碼器處理程序之軟體驅動器被置放在暫存器102中之組配資料被進行。例如,關聯進行第二讀取訊流處理之VC-1解碼器處理程序的軟體驅動器可提供組配資料至暫存器102。系統100接著可使用關聯第二讀取訊流之組配資料以重新組配共用緩衝器120。例如,在方塊220,共用緩衝器120可回應於被呼求以解碼依據不同於在第2圖方塊204-214被處理的視訊位元流格式之格式被編碼的視訊位元流之系統100而動態地被重新組配。
第8圖說明可在第2圖方塊202被進行之共用緩衝器120的範例啟始組配800,以及可於第7圖方塊220被進行之共用緩衝器120的範例重新組配810。於第8圖範例中,共用緩衝器120可在方塊202(第2圖)被組配以包含被組配的三個相似尺度之列存儲緩衝器802、804以及806以遵循AVC解碼器實作列存儲操作。於這非限定性範例中,共用緩衝器120具有預定的全部尺度,以至於當被組配以提供緩衝器802、804以及806時,共用緩衝器102包含在方塊202未特定地被格式化或被組配之另外區域808。
於第8圖範例中,方塊220可包含動態地重新組配之共 用緩衝器120而不再包含緩衝器802、804以及806,然而,卻包含對應至適用於列存儲緩衝器812、DMV緩衝器814以及位元平面緩衝器816(該等緩衝器是適用於實作對應讀取訊流處理程序的VC-1解碼器)之區域的新近組配區域。在方塊220的重新組配之後,為特定地被格式化之區域808仍然可被呈現,但取決於新近組配的緩衝器812、814、以及816之尺度而可具有不同於在組配800中被發現之尺度。
返回至第7圖,在方塊220的任何重新組配之後,處理程序200可繼續對於第二讀取訊流之記憶體要求接收(方塊222)、對於該記憶體要求之緩衝器寫入位址之決定(方塊224)、對於該第二讀取訊流之共用緩衝器之像素資料寫入(方塊226)、以及在方塊228從共用緩衝器之該像素資料讀取。方塊222、224、226以及228可分別地以如上述第2圖方塊204、206、208、以及210之相似方式被進行。
處理程序200可在方塊230繼續,其中決定關於第二讀取訊流之處理是否繼續。例如,於各種實作例中,視訊解碼器可進行方塊222-228之第一次重複為用於得到像素資料的讀取訊流處理程序之啟始部份。視訊解碼器接著可進行方塊222-228之一個或多個另外的重複以得到用於讀取訊流處理程序之另外部份的像素資料。因此,如果解碼器在方塊230決定第一讀取訊流的進一步處理是繼續,則解碼器可在方塊232作用以在進行方塊222-230的另一重複之前修改記憶體位址(例如,藉由增量Mem_Addr信號數值)。於各種實作例中,一視訊解碼器處理程序可繼續經由方塊 222-232迴路直至,在方塊230之最後事例,解碼器決定對於第二讀取訊流之處理已結束。例如,如第7圖展示進行處理程序200的VC-1解碼器可在方塊230之最後事例決定第二讀取訊流之處理應不繼續並且因此處理程序200應結束。
雖然範例處理程序300之實作例,如第2以及7圖之展示,可包含進行展示順序之所有方塊202-232,本揭示主張之主題是不受限定於這方面,並且於各種範例中,處理程序200之實作例可包含僅進行方塊202-232之一子集及/或不同於展示之順序。
第2以及7圖之任何一個或多個處理程序及/或方塊可回應於藉由一個或多個電腦程式產品被提供之指令被進行。此等程式產品可包含提供指令之信號攜帶媒體,當該等指令,例如,利用一個或多個處理器核心被執行時,可提供上述有關第1-8圖之功能。該電腦程式產品可用任何形式之電腦可讀取媒體被提供。因此,例如,包含一個或多個處理器核心之處理器可回應於利用電腦可讀取媒體被傳送至處理器之指令而進行第2以及7圖中展示之一個或多個方塊。
第9圖展示依據本揭示之範例系統900。系統900可被使用以進行此處討論的一些或所有各種功能並且可包含能夠提供用於依據本揭示各種實作例之多重格式視訊影像處理的可組配緩衝器分派之任何裝置或裝置組合。系統900可包含通訊地及/或可操作地耦合至IC 902之非常大型積體(VLSI)系統晶片(SoC)積體電路(IC)902以及外部記憶體 904。IC 902可包含一個或多個處理器核心(未被展示)並且可以是包含一個或多個處理器核心之任何型式的處理器為基礎之系統,例如,但是不受限定於,複雜指令集電腦(CISC)微處理器核心、簡化指令集電腦(RISC)微處理器核心、非常長指令字組(VLIW)微處理器核心、實作指令集任何組合之一個或多個處理器核心、或任何其他處理器裝置,例如,數位信號處理器或微控制器。例如,IC 902可包含複數個處理器核心並且可被實作於消費者電子(CE)裝置中,例如,移動式電腦裝置(例如,智慧型手機、平板電腦、或其類似者)。記憶體904可以是任何型式之記憶體,如包含,但是不受限定於,DRAM記憶體、SRAM記憶體、快閃記憶體或其類似者。
IC 902可包含內部記憶體906,例如,快取記憶體,並且可提供及/或支援視訊硬體加速引擎(HAE)908(其可包含被組配以提供及/或進行如此處說明之各種結構、操作、功能及/或活動之邏輯)。視訊HAE 908可配合此處說明之動態可組配共用緩衝器910而如此處理。如先前之說明並且如於第9圖之展示,緩衝器910可從內部記憶體906之至少一部份被組配。於各種實作例中,第1圖之系統100,可至少部分地,藉由視訊HAE 908以及共用緩衝器910被提供。進一步地,配合共用緩衝器910之視訊HAE 908可回應於被提供至IC 902的視訊資料之不同地被格式化的訊流A與B,而進行如此處說明之第2以及7圖的任何方塊。視訊HAE 908可回應於一編解碼操作模式及/或目前被處理之視訊流型式而 調整預先擷取緩衝器尺度。
第10圖展示依據本揭示之範例系統1000。系統1000可被使用以進行此處討論之一些或所有的各種功能並且可包含能夠依據本揭示各種實作例進行對於多重格式視訊影像處理之可組配緩衝器分派的任何裝置或裝置組合。例如,系統1000可包含電腦平臺或裝置,例如,桌上型、移動式或平板電腦、智慧型手機、機上盒等等之選擇構件,雖然本揭示是不受限定於於此。於一些實作例中,系統1000可以是電腦平臺或依照供用於CE裝置之Intel®結構(IA)的SoC。熟習本技術者將容易了解,此處說明之實作例可由另外的處理系統被使用而不脫離本揭示範疇。
系統1000包含具有一個或多個處理器核心1004之處理器1002。處理器核心1004可以是可至少部分地執行軟體及/或處理資料信號之任何型式的處理器邏輯。於各種範例中,處理器核心1004可包含CISC處理器核心、RISC微處理器核心、VLIW微處理器核心、及/或實作指令集任何組合之任何數量的處理器核心,或任何其他處理器裝置,例如,數位信號處理器或微控制器。
處理器1002同時也包含解碼器1006,其可被使用於解碼,例如,利用顯示處理器1008及/或圖形處理器1010所接收的指令,成為控制信號及/或微碼入口點。雖然於系統1000中展示如與核心1004有區別的構件,那些熟習本技術者應明白一個或多個核心1004可實作解碼器1006、顯示處理器1008及/或圖形處理器1010。於一些實作例中,解碼器 1006可以是視訊解碼器(其被組配以進行此處說明之包含有關第1-9圖範例處理程序所說明之任何處理程序)。進一步地,回應於控制信號及/或微碼入口點,顯示處理器1008及/或圖形處理器1010可進行對應的操作。
處理核心1004、解碼器1006、顯示處理器1008及/或圖形處理器1010經由系統互連1016彼此可通訊地及/或與各種其他系統裝置(其可包含但是不受限定於,例如,記憶體控制器1014、音訊控制器1018及/或週邊1020)可操作地耦合。週邊設備1020可包含,例如,通用序列匯流排(USB)主機埠、週邊構件互連(PCI)專用埠、序列週邊接介(SPI)介面、擴充匯流排、及/或其他週邊設備。雖然第10圖展示記憶體控制器1014如藉由互連1016被耦合至解碼器1006以及處理器1008與1010,然而於各種實作例中,記憶體控制器1014可直接地被耦合至解碼器1006、顯示處理器1008及/或圖形處理器1010。
於一些實作例中,系統1000可經由I/O匯流排(未被展示)通訊於未被展示於第10圖中之各種I/O裝置。此等I/O裝置可包含但是不受限定於,例如,通用非同步接收器/發送器(UART)裝置、USB裝置、I/O擴充介面或其他I/O裝置。於各種實作例中,系統1000可代表用以進行移動式、網路及/或無線通訊之至少部份系統。
系統1000可進一步地包含記憶體1012。記憶體1012可以是一個或多個離散記憶體構件,例如,動態隨機存取記憶體(DRAM)裝置、靜態隨機存取記憶體(SRAM)裝置、快 閃記憶體裝置、或其他記憶體裝置。雖然第10圖展示記憶體1012如外接於處理器1002,於各種實作例中,記憶體1012可以是內置於處理器1002。記憶體1012可儲存利用資料信號表示而利用處理器1002被執行之指令及/或資料。於一些實作例中,記憶體1012可包含系統記憶體部份以及顯示記憶體部份。
上述之系統,以及如此處說明利用它們進行之處理,可於硬體、韌體或軟體或其任何組合中被實作。另外,此處揭示之任何一個或多個特點可被實作於包含離散與積體電路邏輯、特定應用積體電路(ASIC)邏輯以及微控制器之硬體、軟體、韌體與其組合中,並且可被實作如特定領域積體電路封裝之部件,或積體電路封裝之組合。如此處所使用軟體名詞,係涉及包含具有電腦程式邏輯儲存於其中之電腦可讀取媒體的電腦程式產品,當執行該等程式產品時將導致電腦系統進行此處揭示之一個或多個特點及/或特點之組合。
雖然此處提出之某些特點已參考各種實作例被說明,這說明不欲被視為限制意向。因此,此處說明之實作例以及熟習本技術者明白之本揭示之其他實作例的各種修改被認為是在本揭示之精神與範疇內。
100‧‧‧系統
102‧‧‧驅動器暫存器
104‧‧‧多工器
106‧‧‧控制暫存器
108‧‧‧多工器
110‧‧‧硬體讀取/寫入介面
112、114‧‧‧加法邏輯
116、118‧‧‧引動邏輯
120‧‧‧共用緩衝器記憶體
122‧‧‧多工器
124‧‧‧先進先出(FIFO)
126、128、130‧‧‧信號
132‧‧‧區域
200‧‧‧記憶體要求處理程序
202-232‧‧‧處理程序步驟
300‧‧‧範例組配
302-312‧‧‧緩衝區域
400‧‧‧記憶體要求
600‧‧‧讀取要求
800‧‧‧共用緩衝器啟始組配
802、804、806‧‧‧列存儲緩衝器
808‧‧‧另外區域
810‧‧‧共用緩衝器重新組配
812‧‧‧列存儲緩衝器
814‧‧‧DMV緩衝器
816‧‧‧位元平面緩衝器
900‧‧‧範例系統
902‧‧‧積體電路
904‧‧‧記憶體
906‧‧‧快取記憶體
908‧‧‧硬體加速引擎
910‧‧‧共用緩衝器
1000‧‧‧範例系統
1002‧‧‧處理器
1004‧‧‧處理器核心
1006‧‧‧解碼器
1008‧‧‧顯示處理器
1010‧‧‧圖形處理器
1012‧‧‧記憶體
1014‧‧‧記憶體控制器
1016‧‧‧系統互連
1018‧‧‧音訊控制器
1020、1022‧‧‧週邊設備
第1圖是範例系統之說明圖;第2圖說明一範例處理程序;第3圖說明一範例共用緩衝器組配; 第4圖說明於記憶體要求脈絡中第1圖的範例系統;第5圖說明從記憶體返回之資料脈絡中第1圖的範例系統;第6圖說明於資料讀取脈絡中第1圖的範例系統;第7圖說明第2圖之範例處理程序的另外部份;第8圖說明另外的範例共用緩衝器組配;第9圖是一範例系統之說明圖;以及第10圖是所有依據本揭示之至少一些實作例被配置的一範例系統說明圖。
200‧‧‧記憶體要求處理程序流程圖
202-216‧‧‧記憶體要求處理程序流程步驟

Claims (24)

  1. 一種方法,其包括:在一處理器處,組配一共用緩衝器以支援一第一讀取訊流及一第二讀取訊流之處理,其中該第一讀取訊流是關聯一第一視訊編解碼格式,並且其中該第二讀取訊流是關聯不同於該第一視訊編解碼格式之一第二視訊編解碼格式;回應於關聯該第一讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第一緩衝器寫入位址;以及回應於關聯該第二讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第二緩衝器寫入位址,其中該第二緩衝器寫入位址是不同於該第一緩衝器寫入位址,其中組配該共用緩衝器以支援該第一讀取訊流及該第二讀取訊流之處理包括回應於組配資料以組配該共用緩衝器,其中該組配資料藉由關聯該第一讀取訊流之一第一軟體驅動器及藉由關聯該第二讀取訊流之一第二軟體驅動器被提供。
  2. 如申請專利範圍第1項之方法,進一步包括:寫入像素資料至該第一緩衝器寫入位址;以及讀取來自該共用緩衝器之該像素資料。
  3. 如申請專利範圍第2項之方法,進一步包括:寫入第二像素資料至該第二緩衝器寫入位址;以及讀取來自該共用緩衝器之該第二像素資料。
  4. 如申請專利範圍第1項之方法,其中該共用緩衝器包括 一預先擷取緩衝器。
  5. 如申請專利範圍第1項之方法,其中該共用緩衝器包括快取記憶體。
  6. 如申請專利範圍第1項之方法,其中該組配資料指定該第一緩衝器寫入位址以及該第二緩衝器寫入位址。
  7. 一種方法,其包括:在一處理器處,組配一共用緩衝器以支援一第一讀取訊流之處理,其中該第一讀取訊流是關聯一第一視訊編解碼格式;回應於關聯該第一讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第一緩衝器寫入位址;重新組配該共用緩衝器以支援一第二讀取訊流之處理,其中該第二讀取訊流是關聯一第二視訊編解碼格式;以及回應於關聯該第二讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第二緩衝器寫入位址,其中組配該共用緩衝器以支援該第一讀取訊流之處理包括回應於藉由關聯該第一讀取訊流之一軟體驅動器被提供之第一組配資料而組配該共用緩衝器,並且其中重新組配該共用緩衝器以支援該第二讀取訊流之處理包括回應於藉由關聯該第二讀取訊流之一軟體驅動器被提供之第二組配資料而組配該共用緩衝器。
  8. 如申請專利範圍第7項之方法,進一步包括在重新組配 該共用緩衝器以支援該第二讀取訊流的處理之前:寫入像素資料至該第一緩衝器寫入位址;以及讀取來自該共用緩衝器之該像素資料。
  9. 如申請專利範圍第8項之方法,進一步包括在重新組配該共用緩衝器以支援該第二讀取訊流的處理之後:寫入第二像素資料至該第二緩衝器寫入位址;以及讀取來自該共用緩衝器之該第二像素資料。
  10. 如申請專利範圍第7項之方法,其中該共用緩衝器包括一預先擷取緩衝器。
  11. 如申請專利範圍第7項之方法,其中該共用緩衝器包括快取記憶體。
  12. 如申請專利範圍第7項之方法,其中該第一組配資料指定該第一緩衝器寫入位址,並且其中該第二組配資料指定該第二緩衝器寫入位址。
  13. 一種系統,其包括:一包含內部記憶體之積體電路(IC),該積體電路進一步包含邏輯,該邏輯被組配用以:組配在該內部記憶體內之一共用緩衝器以支援一第一讀取訊流之處理,其中該第一讀取訊流是關聯一第一視訊編解碼格式;回應於關聯該第一讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第一緩衝器寫入位址;重新組配該共用緩衝器以支援一第二讀取訊流之處理,其中該第二讀取訊流是關聯一第二視訊 編解碼格式;以及回應於關聯該第二讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第二緩衝器寫入位址,其中該IC進一步包含一或多個暫存器以儲存關聯該第一讀取訊流之第一組配資料,並且儲存關聯該第二讀取訊流之第二組配資料。
  14. 如申請專利範圍第13項之系統,進一步包括:耦合至該IC之外部記憶體,該外部記憶體用以儲存第一像素資料以及第二像素資料,其中該第一像素資料是關聯該第一讀取訊流,並且其中該第二像素資料是關聯該第二讀取訊流。
  15. 如申請專利範圍第14項之系統,其中該邏輯進一步被組配用以:寫入該第一像素資料至該第一緩衝器寫入位址;以及寫入該第二像素資料至該第二緩衝器寫入位址。
  16. 如申請專利範圍第13項之系統,其中該邏輯進一步被組配用以:回應於該第一組配資料而組配該共用緩衝器;以及回應於該第二組配資料而重新組配該共用緩衝器。
  17. 如申請專利範圍第13項之系統,其中該共用緩衝器包括一預先擷取緩衝器。
  18. 如申請專利範圍第13項之系統,其中該內部記憶體包括快取記憶體。
  19. 一種非暫態物件,其包括具有指令儲存於其中的一電腦程式產品,該等指令如果被執行會導致:在一處理器處,組配一共用緩衝器以支援一第一讀取訊流及一第二讀取訊流之處理,其中該第一讀取訊流是關聯一第一視訊編解碼格式,並且其中該第二讀取訊流是關聯不同於該第一視訊編解碼格式之一第二視訊編解碼格式;回應於關聯該第一讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第一緩衝器寫入位址;以及回應於關聯該第二讀取訊流之一記憶體要求而決定在該共用緩衝器內之一第二緩衝器寫入位址,其中該第二緩衝器寫入位址是不同於該第一緩衝器寫入位址,其中用於組配該共用緩衝器以支援該第一讀取訊流及該第二讀取訊流之處理的指令包含回應於組配資料以組配該共用緩衝器之指令,其中該組配資料藉由關聯該第一讀取訊流之一第一軟體驅動器及藉由關聯該第二讀取訊流之一第二軟體驅動器被提供。
  20. 如申請專利範圍第19項之非暫態物件,進一步具有指令儲存於其中,該等指令如果被執行會導致:寫入像素資料至該第一緩衝器寫入位址;以及讀取來自該共用緩衝器之該像素資料。
  21. 如申請專利範圍第20項之非暫態物件,進一步具有指令儲存於其中,該等指令如果被執行會導致:寫入第二像素資料至該第二緩衝器寫入位址;以及 讀取來自該共用緩衝器之該第二像素資料。
  22. 如申請專利範圍第19項之非暫態物件,其中該共用緩衝器包括一預先擷取緩衝器。
  23. 如申請專利範圍第19項之非暫態物件,其中該共用緩衝器包括快取記憶體。
  24. 如申請專利範圍第19項之非暫態物件,其中該組配資料指定該第一緩衝器寫入位址以及該第二緩衝器寫入位址。
TW101119133A 2011-06-20 2012-05-29 用於多重格式影像處理之可組配緩衝器分派技術 TWI582689B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/163,969 US8484391B2 (en) 2011-06-20 2011-06-20 Configurable buffer allocation for multi-format video processing

Publications (2)

Publication Number Publication Date
TW201304549A TW201304549A (zh) 2013-01-16
TWI582689B true TWI582689B (zh) 2017-05-11

Family

ID=46640534

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101119133A TWI582689B (zh) 2011-06-20 2012-05-29 用於多重格式影像處理之可組配緩衝器分派技術

Country Status (6)

Country Link
US (3) US8484391B2 (zh)
EP (1) EP2538342B1 (zh)
JP (1) JP2013005452A (zh)
KR (1) KR101410168B1 (zh)
CN (1) CN102915280B (zh)
TW (1) TWI582689B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484391B2 (en) 2011-06-20 2013-07-09 Intel Corporation Configurable buffer allocation for multi-format video processing
KR101590098B1 (ko) * 2015-01-27 2016-01-29 홍익대학교 산학협력단 버퍼링 장치 및 방법
CN105812620B (zh) * 2016-03-30 2018-12-11 豪威科技(上海)有限公司 数据转换器及其工作方法
US11025933B2 (en) * 2016-06-09 2021-06-01 Apple Inc. Dynamic video configurations
US11226852B2 (en) 2016-11-25 2022-01-18 Genetec Inc. System for inter-process communication
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
DE112018002578T5 (de) * 2017-05-19 2020-02-27 Movidius Ltd. Verfahren und vorrichtung zur verbesserungder datentransformation in verarbeitungsvorrichtungen
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US11409436B2 (en) 2018-08-08 2022-08-09 Micron Technology, Inc. Buffer management in memory systems for read and write requests
US10782916B2 (en) * 2018-08-08 2020-09-22 Micron Technology, Inc. Proactive return of write credits in a memory system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696940A (en) * 1995-09-29 1997-12-09 Intel Corporation Apparatus and method for sharing first-in first-out memory space between two streams of data
US20050253858A1 (en) * 2004-05-14 2005-11-17 Takahide Ohkami Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
US7206904B2 (en) * 2002-03-20 2007-04-17 Hewlett-Packard Development Company, L.P. Method and system for buffering multiple requests from multiple devices to a memory

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6229850B1 (en) * 1997-07-22 2001-05-08 C-Cube Semiconductor Ii, Inc. Multiple resolution video compression
JP2000165784A (ja) * 1998-11-26 2000-06-16 Toshiba Corp データ再生装置及びデータ再生方法
JP2002171523A (ja) * 2000-09-22 2002-06-14 Matsushita Electric Ind Co Ltd 画像復号装置,画像復号方法,及びプログラム記憶媒体
US7574272B2 (en) * 2000-10-13 2009-08-11 Eric Paul Gibbs System and method for data transfer optimization in a portable audio device
JP2002232780A (ja) * 2001-01-31 2002-08-16 Kenwood Corp ディジタル信号復号装置及びディジタル信号復号方法
JP4725104B2 (ja) * 2002-06-20 2011-07-13 ソニー株式会社 復号装置及び復号方法
US7710426B1 (en) * 2005-04-25 2010-05-04 Apple Inc. Buffer requirements reconciliation
US7769274B2 (en) * 2005-05-06 2010-08-03 Mediatek, Inc. Video processing and optical recording using a shared memory
US7903743B2 (en) * 2005-10-26 2011-03-08 Mediatek Inc. Memory sharing in video transcoding and displaying
CN100461866C (zh) * 2005-10-26 2009-02-11 联发科技股份有限公司 影像装置、影像处理系统及其方法
JP2007166597A (ja) * 2005-11-15 2007-06-28 Seiko Epson Corp 情報再生装置及び電子機器
US7356671B1 (en) * 2006-07-27 2008-04-08 Vbridge Microsystem, Inc. SoC architecture for voice and video over data network applications
US8537890B2 (en) * 2007-03-23 2013-09-17 Ati Technologies Ulc Video decoder with adaptive outputs
US8179964B1 (en) * 2007-09-07 2012-05-15 Zenverge, Inc. Efficient transcoding between formats using macroblock buffer
JP2009081781A (ja) * 2007-09-27 2009-04-16 Panasonic Corp 動き補償装置及び動き補償方法
JP2009267837A (ja) * 2008-04-25 2009-11-12 Panasonic Corp 復号化装置
US8681861B2 (en) * 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
WO2010032419A1 (ja) * 2008-09-18 2010-03-25 パナソニック株式会社 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法およびプログラム
US8506402B2 (en) * 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US8484391B2 (en) 2011-06-20 2013-07-09 Intel Corporation Configurable buffer allocation for multi-format video processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696940A (en) * 1995-09-29 1997-12-09 Intel Corporation Apparatus and method for sharing first-in first-out memory space between two streams of data
US7206904B2 (en) * 2002-03-20 2007-04-17 Hewlett-Packard Development Company, L.P. Method and system for buffering multiple requests from multiple devices to a memory
US20050253858A1 (en) * 2004-05-14 2005-11-17 Takahide Ohkami Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams

Also Published As

Publication number Publication date
US8484391B2 (en) 2013-07-09
US20150288977A1 (en) 2015-10-08
US9510007B2 (en) 2016-11-29
CN102915280B (zh) 2016-01-27
KR101410168B1 (ko) 2014-06-19
US20140013016A1 (en) 2014-01-09
US9037761B2 (en) 2015-05-19
EP2538342A2 (en) 2012-12-26
TW201304549A (zh) 2013-01-16
EP2538342A3 (en) 2014-04-30
EP2538342B1 (en) 2016-09-14
CN102915280A (zh) 2013-02-06
KR20130001134A (ko) 2013-01-03
JP2013005452A (ja) 2013-01-07
US20120324129A1 (en) 2012-12-20

Similar Documents

Publication Publication Date Title
TWI582689B (zh) 用於多重格式影像處理之可組配緩衝器分派技術
CN103650512B (zh) 基于亮度的色度帧内预测
US9990690B2 (en) Efficient display processing with pre-fetching
CN108206937B (zh) 一种提升智能分析性能的方法和装置
US20140086309A1 (en) Method and device for encoding and decoding an image
CN108352050B (zh) 基于视频解码模式更新用于显示的区域
US11023998B2 (en) Apparatus and method for shared resource partitioning through credit management
US9942593B2 (en) Producing decoded audio at graphics engine of host processing platform
US9615104B2 (en) Spatial variant dependency pattern method for GPU based intra prediction in HEVC
US20100303369A1 (en) Information processing apparatus and method
KR101484101B1 (ko) 동영상 변환 장치
WO2017143522A1 (en) Graphics processor workload acceleration using a command template for batch usage scenarios
US20190348074A1 (en) High framerate video recording
US20090141807A1 (en) Arrangements for processing video
KR101736041B1 (ko) 임베디드 cpu-gpu 분산처리를 이용한 영상처리 고속화 방법
CN117435532B (zh) 基于视频硬件加速接口的拷贝方法、装置及存储介质
TW202225962A (zh) 用於疊加複合的平面規劃

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees