TWI486908B - 影像編碼的方法與相關裝置 - Google Patents
影像編碼的方法與相關裝置 Download PDFInfo
- Publication number
- TWI486908B TWI486908B TW101116943A TW101116943A TWI486908B TW I486908 B TWI486908 B TW I486908B TW 101116943 A TW101116943 A TW 101116943A TW 101116943 A TW101116943 A TW 101116943A TW I486908 B TWI486908 B TW I486908B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- component data
- reference frame
- memory area
- sub
- Prior art date
Links
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/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/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
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明係關於一種影像編碼的方法與相關裝置,且特別是關於一種得以在影像編碼時減少緩衝器頻寬需求以增進效能的影像編碼方法與相關裝置。
影像資料能傳達並記錄豐富多元的視聽訊息,已成為現代資訊生活中不可或缺的一部分。為了縮減影像資料的檔案大小,要對影像資料進行影像編碼;如何增進影像編碼的效能,也就成為現代資訊業者的研發重點。
影像資料由複數個依序排列的畫面形成,每個畫面中有複數個像素,每個像素關聯於三個分量資料,例如YUV色彩空間中的一亮度(1uma)資料與兩個彩度(chroma)資料。在對一原始影像資料進行影像編碼時,會逐一對原始影像資料的各畫面進行編碼,例如將一畫面編碼為一框內編碼圖框(intra-coded frame,或稱I圖框)、一預測圖框(predicted frame,或稱P圖框)或一雙向預測圖框(bi-directional predicted frame,或稱B圖框)。
要將一目前畫面編碼為一P圖框或B圖框時,需引用一或多個參考圖框,以下說明引用一參考圖框之情況;對應於一參考圖框,目前畫面會被劃分為複數個區塊(例如16*16像素的巨塊,macro-block),各區塊關聯於參考圖框中的一搜尋窗(search window),各搜尋窗在其所屬參考圖框中涵蓋對應區塊與其週邊區域的複數個鄰近像素。在針對目前畫面的一個目前區塊進行影像編碼時,會比較目前區塊的亮度資料與對應搜尋窗的亮度資料,據以進行一亮度移動估計,並得到一亮度移動向量(motion vector);依據亮度移動向量與搜尋窗中各像素的亮度資料與兩彩度資料,便可進行一移動補償,包括一亮度移動補償與一彩度移動補償,以得到一近似區塊;此近似區塊即近似於目前區塊。由目前區塊中減去近似區塊可得到一殘餘區塊,此殘餘區塊可進一步被壓縮,而壓縮後的殘餘區塊與移動向量就代表對目前區塊的編碼結果。引用複數參考圖框之情況可以此類推。
從影像解碼的角度而言,在對一編碼後的目前圖框進行影像解碼時,依據參考圖框和目前圖框中各區塊所對應的移動向量,便可為目前圖框的各區塊取得對應的近似區塊;針對目前圖框的各區塊結合對應的近似區塊與殘餘區塊,便可組合重建出編碼前的原始畫面。
在實現影像編碼技術時,會以一緩衝器(例如圖框緩衝器,frame buffer)儲存參考圖框。請參考第1圖,其所繪示的是依據一習知技術存取一緩衝器10以進行影像編碼的示意圖。為進行影像編碼,緩衝器10內會為一參考圖框配置兩個記憶區域12a與12b;參考圖框的亮度資料會被儲存於記憶區域12a,參考圖框的另外兩彩度資料則被儲存於記憶區域12b。第1圖中,即是以區塊(例如16*16像素的巨塊)為單位來示意參考圖框所關聯的亮度資料與兩彩度資料;在4:2:0的影像編碼格式下,每區塊關聯於16*16筆亮度資料Y、8*8筆彩度資料U與8*8筆彩度資料V。各筆亮度資料Y包括8個位元(一位元組),各筆彩度資料U與V亦分別包括8個位元(一位元組)。在記憶區域12a內,各區塊的16*16筆亮度資料Y被儲存為16個相鄰列(row)中的16個相鄰位元組;在記憶區域12b內,各區塊的8*8筆彩度資料U與8*8筆彩度資料V則被儲存於8個相鄰列中,沿著每一列交替地存放彩度資料V與彩度資料U。也就是說,彩度資料V與彩度資料U係以一行(column)彩度資料U接替著一行彩度資料V的方式交替地儲存。當要進行影像編碼的亮度移動估計與亮度移動補償時,習知技術會存取(例如載入)記憶區域12a;等要進行彩度移動補償時,習知技術會進一步存取記憶區域12b。
習知技術的缺點之一是對緩衝器10的頻寬(單位時間內的資料量)需求較高。當要進行影像編碼時,第1圖習知技術要從記憶區域12a中存取較多資料才能進行亮度移動估計;因此,若要在相同時間內完成亮度移動估計,就需要以較大的頻寬來存取緩衝器10的記憶區域12a。高頻寬需求對影像編碼技術的實現與普及十分不利;對高解析度的影像而言,由於高解析度畫面有更多區塊,習知影像編碼技術的缺點也會更明顯。
為克服習知技術的缺點,本發明提供一種改良的影像編碼技術,可以有效降低對緩衝器的頻寬需求。
本發明的目的之一是提供一種影像編碼的方法,依據一或多個參考圖框進行影像編碼;各參考圖框關聯於複數筆第一分量資料(例如亮度資料)、複數筆第二分量資料與複數筆第三分量資料(例如彩度資料)。而本發明方法包括:進行參考圖框轉換,將該些第一分量資料區分為複數筆主資料與複數筆副資料,分別儲存於緩衝器的一第一記憶區域與一第二記憶區域;在不需存取第二記憶區域的情形下,存取(如載入)該第一記憶區域以進行移動估計(例如一亮度移動估計);以及,存取該第二記憶區域以進行第一移動補償(motion compensation),例如亮度移動補償。
一實施例中,可將該些第二分量資料與該些第三分量資料儲存於該緩衝器中的一第三記憶區域,並存取該第三記憶區域以進行第二移動補償,例如彩度移動補償。另一實施例中,該些第二分量資料與該些第三分量資料係和該些副資料一併儲存於該第二記憶區域;依據對該第二記憶區域的存取,便可進行第二移動補償。舉例而言,該些副資料可以用交錯(interlace)形式而和該些第二分量資料與該些第三分量資料一併儲存於該緩衝器中的該第二記憶區域。
一實施例中,該參考圖框轉換包括:以一第一數目筆該第一分量資料的複數個包含最高效位元(MSB,most significant bit)之位元形成該些主資料,並以一第二數目筆該第一分量資料的複數個包含最低效位元(LSB,least significant bit)之位元形成該些副資料。
一實施例中,該參考圖框轉換步驟包括:以一第一數目筆該第一分量資料作為該些主資料,並以一第二數目筆該第一分量資料作為該些副資料。舉例而言,在參考圖框一區塊的16*16筆亮度資料中,可以依據行(column)序或列序的奇偶來將16*16筆亮度資料均分為16*8筆主資料與16*8筆副資料,也就是依據各該第一分量資料關聯的像素的位置是否符合一預設樣式(是否位於奇數行或列)而選擇性地將各該第一分量資料作為該些主資料的其中之一或該些副資料的其中之一。或者,亦可依據各筆第一分量資料的數值是否符合一統計特性(例如是否大於一臨界值)而選擇性地將該筆第一分量資料作為一筆主資料或一筆副資料。
一實施例中,每一該些主資料包含該些第一分量資料之一的複數個位元以及另一第一分量資料的複數個位元,以及每一副資料包含該些第一分量資料之一的複數個位元以及另一第一分量資料的複數個位元。
舉例而言,可由偶數行中的每筆8位元亮度資料中取出5個最高效位元,並由相鄰奇數行中的每筆8位元亮度資料中取出3個最高效位元,以合成一筆8位元的主資料;據此,16*16像素的區塊的16*16筆亮度資料共可形成16*8筆主資料。同理,可由偶數行中的每筆亮度資料中取出3個最低效位元,並由相鄰奇數行中的每筆亮度資料中取出5個最低效位元,以合成一筆8位元的副資料;據此,16*16像素的區塊的16*16筆亮度資料共可形成16*8筆副資料。在選擇該第一數目筆第一分量資料與該第二數目筆第一分量資料時,可依據各第一分量資料關聯的像素的位置是否符合一預設樣式而將各該第一分量資料選至該第一數目筆第一分量資料之一或該第二數目筆第一分量資料之一。以及/或者,可依據各第一分量資料的數值是否符合一統計特性而將各該第一分量資料選至該第一數目筆第一分量資料之一或該第二數目筆第一分量資料之一。
本發明的目的之一是提供一種影像編碼的裝置,如一影像編碼器,依據一參考圖框進行影像編碼;其包括一參考圖框轉換模組、一載入器、一移動估計模組與一移動補償模組。參考圖框轉換模組實現本發明的圖框轉換步驟,將參考圖框的複數筆第一分量資料區分為複數筆主資料與複數筆副資料,使該些主資料與該些副資料分別被儲存於一緩衝器中的一第一記憶區域與一第二記憶區域。一實施例中,參考圖框轉換模組更使參考圖框的複數筆第二分量資料與複數筆第三分量資料儲存於緩衝器中的一第三記憶區域;另一實施例中,參考圖框轉換模組使該些第二分量資料與該些第三分量資料與該些副資料儲存於該第二記憶區域。載入器用以存取緩衝器。移動估計模組依據載入器對第一記憶區域的存取進行移動估計(如亮度移動估計)。一移動補償模組則依據載入器對第二記憶區域(以及第三記憶區域)的存取進行移動補償,包括亮度移動補償與彩度移動補償。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
請參考第2圖,其所示意的是依據本發明一實施例而將一參考圖框儲存於一緩衝器20的示意圖。為進行影像編碼,緩衝器20內可為一參考圖框配置三個記憶區域22a、22b與22c。參考圖框的複數筆亮度資料Y可被分解為複數筆主資料P與複數筆副資料S,並分別儲存於記憶區域22a與22b中;參考圖框的複數筆彩度資料U與V則儲存於記憶區域22c中。舉例而言,每一筆8位元亮度資料Y可依據位元次序而被分解為兩筆子資料Y1與Y2;最高效4位元為子資料Y1,最低效4位元為子資料Y2。每兩筆4位元子資料Y1可合併以形成一筆8位元的主資料P;每兩筆4位元子資料Y2可合併以形成一筆8位元的副資料S,而主資料P與副資料S就可被分別儲存至記憶區域22a與22b。在記憶區域22a中,各筆主資料P係兩兩相鄰地存放;在記憶區域22b中,各筆副資料P也相鄰地存放。
以區塊(例如16*16像素的巨塊)為單位來說明:在4:2:0的影像編碼格式下,每區塊關聯於16*16筆亮度資料Y、8*8筆彩度資料U與8*8筆彩度資料V。16*16筆8位元亮度資料可拆解為16*16筆4位元子資料Y1與16*16筆4位元子資料Y2。16*16筆4位元子資料Y1可合併為8*16筆8位元主資料P,於記憶區域22a中佔用8*16個位元組;同理,16*16筆4位元子資料Y2可合併為8*16筆8位元副資料S,於記憶區域22b中佔用8*16個位元組。因此,在參考圖框大小(解析度)相同的情形下,記憶區域22a與22b的大小會是第1圖中記憶區域12的一半。
記憶區域22c內,各區塊的8*8筆8位元彩度資料U與8*8筆8位元彩度資料V可以被儲存於8個相鄰列中,沿每一列交替地儲存彩度資料V與彩度資料U。若影像編碼需要多個參考圖框,另一參考圖框可被儲存在記憶區域22c之後,或是記憶區域22a之前。
請參考第3圖,其所示意的是依據本發明一實施例的流程100,用以依據第2圖的緩衝器配置進行影像編碼。當要依據一(或多個)參考圖框對一目前畫面進行影像編碼時,就可開始流程100。流程100的各步驟可描述如下。
步驟102:進行參考圖框轉換,將各參考圖框的複數筆亮度資料Y分解為複數筆主資料P與複數筆副資料S,使這些主資料P與副資料S得以分別被儲存於緩衝器20中的記憶區域22a與22b;參考圖框的複數筆彩度資料U與V則儲存於記憶區域22c中。
步驟104:在不需存取記憶區域22b的情形下,存取(載入)記憶區域22a,以依據記憶區域22a中的主資料P進行亮度移動估計。舉例而言,在對目前畫面的一個目前區塊進行影像編碼時,可於參考圖框的對應搜尋窗中劃分出複數個參考區塊,並經由對記憶區域22a的存取而取得各參考區塊的對應主資料P;如此,便可逐一比對目前區塊與各該參考區塊的差異,並據以求出一移動向量。移動向量之相關計算與細節為本領域技術人員所熟知,在此不贅述。一實施例中,當要比對目前區塊與參考區塊時,可以由參考區塊的主資料P中得到各筆4位元子資料Y1,並由目前區塊的各筆8位元亮度資料中取出最高效4位元,以和參考區塊的各筆4位元子資料Y1進行比對,據此求出對應之移動向量。另一實施例中,當要比對目前區塊與參考區塊時,可以依據參考區塊中相鄰的4位元子資料Y1計算(例如內插)出8位元資料,以和目前區塊中的各筆8位元亮度資料進行比對,據此求出對應之移動向量。
在步驟104的亮度移動估計中,可以包括一整數處理(integer processing)與一微調處理(fine-tune processing);前者用以得出整數(以一個像素為單位)的移動向量,後者則用以將整數移動向量的精確度擴展至分數,例如說是以1/2像素或1/4像素為單位。亮度移動估計也可以只進行至整數處理而不進行後續的微調處理。應注意的是,不論是整數處理或微調處理,皆是依據記憶區域22a中的主資料P而進行,不需存取記憶區域22b中的副資料S。
步驟106:存取(載入)記憶區域22b,以依據記憶區域22a的主資料P、記憶區域22b的副資料S與步驟104的移動向量進行亮度移動補償,為目前畫面的各個區塊的各筆亮度資料提供一對應的亮度近似資料。由記憶區域22a的主資料P與記憶區域22b的副資料S可結合得出參考圖框的各筆8位元亮度資料Y;當要為目前畫面的一個目前區塊進行亮度移動補償時,便可依據對應移動向量的指示而於參考圖框中取得複數筆8位元亮度資料,作為目前區塊的8位元亮度近似資料,用以近似目前區塊原本的複數筆亮度資料。
步驟108:存取(載入)記憶區域22c,以依據記憶區域22c的彩度資料U/V與步驟104的移動向量進行彩度移動補償,為目前畫面的各個區塊的各筆彩度資料提供對應的彩度近似資料。當要為目前畫面的一個目前區塊進行彩度移動補償時,可依據步驟104的移動向量推導出一個用於彩度移動補償的移動向量,據此於參考圖框中取得複數筆彩度資料作為目前區塊的彩度近似資料,以近似目前區塊原本的各筆彩度資料。整合步驟106的亮度近似資料與步驟108的彩度近似資料,便可為目前區塊得出一對應的近似區塊。然後,由目前區塊減去近似區塊,便可為目前區塊得出一對應的殘餘區塊;此殘餘區塊可進一步被壓縮,而步驟104的移動向量與壓縮後的殘餘區塊就代表對目前區塊進行影像編碼的結果。
在進行亮度移動估計時,第1圖習知技術需存取參考圖框的完整8位元亮度資料Y;相較之下,本發明於第3圖的流程100則只經由主資料P存取參考圖框的4位元子資料Y1,故本發明流程100可有效減少對緩衝器的存取,進而降低對緩衝器的存取頻寬需求。在對一目前區塊進行至步驟106的亮度移動補償時,流程100會存取參考圖框的另外4位元子資料Y2;不過,由於移動向量已於步驟104中確定,故流程100不需存取對應搜尋窗中的全部子資料Y2,只需在全部的子資料Y2存取所需之部分。因此,流程100對緩衝器存取的總次數也會減少。
舉例而言,在對1080p、圖框率30的高解析度影像進行影像編碼時,假設亮度移動估計所使用的搜尋窗涵蓋17*17個區塊,每個區塊為16*16像素的巨塊,則習知技術在為一目前區塊進行亮度移動估計時需使用73984(=17*17*256)個位元組,因為搜尋窗中的每個區塊有256筆完整的8位元(一位元組)亮度資料Y;連帶地,習知技術由緩衝器載入搜尋窗的頻寬需求則為每秒1065百萬位元組。
相較之下,當本發明流程100為一目前區塊進行步驟104的亮度移動估計時,由於各筆子資料Y1可以只有半個位元組(4個位元),故步驟104載入搜尋窗時僅需使用36992(=17*17*256*0.5)個位元組,對緩衝器的頻寬需求也縮減為每秒532百萬位元組,為習知技術的一半。流程100在為一目前區塊進行步驟106的亮度移動補償時會另行存取記憶區域22b中的子資料Y2,但不需存取整個搜尋窗的所有子資料Y2,故頻寬需求約莫可縮減為每秒125百萬位元組。總和步驟104與106的頻寬需求,還是遠小於第1圖習知技術的頻寬需求。步驟108的頻寬需求可以是和習知技術一樣的;由於搜尋窗中的彩度資料較少,相對地,亮度移動估計的頻寬需求就會主導影像編碼的整體頻寬需求;而本發明即可針對亮度移動估計進行改進,有效地降低頻寬需求。
在進行參考圖框轉換時,第2圖實施例是依據截短(truncate)的原理而將亮度資料Y分解為主資料P與副資料S,以降低亮度移動估計的頻寬需求。本發明亦可依據次取樣(sub-sample)的原理而將參考圖框的複數筆亮度資料Y分散為複數筆主資料P與複數筆副資料S;於一實施例中,本發明可依據預設的次取樣規則而在參考圖框的所有亮度資料Y中選出第一數目筆亮度資料Y以作第一數目筆主資料P,並選出第二數目筆亮度資料作為第二數目筆副資料S,其中,第一數目與第二數目皆小於參考圖框中亮度資料的總數。
舉例而言,依據參考圖框中各亮度資料Y關聯的像素的位置是否符合一預設樣式(例如是否位於奇數行或列),便可將參考圖框中的各亮度資料Y選為一主資料P或一副資料S。請參考第4圖與第5圖,其所繪示的是依據本發明不同實施例而將複數筆亮度資料Y分別歸類為主資料P與副資料S的示意圖。
在參考圖框中,本發明依據各筆亮度資料Y對應的像素行(column)序或列序將各筆亮度資料Y選為一筆主資料P或一筆副資料S。如第4圖所示,在參考圖框的一個區塊30中,若某一亮度資料Y對應的像素位於偶數行(例如像素px1或px3),則該筆亮度資料Y可作為一主資料P,以被儲存於記憶區域22a(第3圖);若另一筆亮度資料Y對應的像素位於奇數行(例如像素px2或px4),則該筆亮度資料Y成為一筆副資料S,以被儲存於另一記憶區域22b。如此,在16*16像素的區塊30中,16*16筆亮度資料Y就可以被分別歸類為8*16筆主資料P與8*16筆副資料S,藉此降低亮度移動估計的頻寬需求。
於另一實施例中,如第5圖所示,在參考圖框的一個區塊30中,若某一亮度資料Y對應的像素位於偶數對角線(例如像素px1或px3),則該筆亮度資料Y作為一主資料P,儲存於記憶區域22a;若另一筆亮度資料Y對應的像素位於奇數對角線(例如像素px2或px4),則該筆亮度資料Y作為一筆副資料S,儲存於另一記憶區域22b。如此,在16*16像素的區塊30中,16*16筆亮度資料Y就可以被分別歸類為8*16筆主資料P與8*16筆副資料S,以降低亮度移動估計的頻寬需求。
在其他實施例中,本發明亦可依據參考圖框中各筆亮度資料Y的數值是否符合一統計特性而選擇性地將各筆亮度資料Y分類為一筆主資料P或一筆副資料S。舉例而言,可針對參考圖框的所有亮度資料Y統計出一亮度平均值,據此設定一臨界值;然後,依據各筆亮度資料Y的數值是否符合大於此臨界值,選擇性地將各筆亮度資料Y分類至一主資料P或一副資料S。
在進行參考圖框轉換而由複數筆亮度資料Y拆分出複數筆主資料P與複數筆副資料S時,不僅可依據截短(第2圖實施例)或次取樣(第4、5圖實施例)的技術,也可將截短與次取樣兩種技術結合。於一實施例(未圖示)中,依據預設的次取樣規則,可由參考圖框的所有亮度資料Y中選出第一數目筆亮度資料Y與第二數目筆亮度資料Y。自該第一數目筆亮度資料Y中的每一筆亮度資料Y中,取出第三數目個位元與第五數目個位元,分別作為一子資料Ys1與一子資料Ys3。自該第二數目筆亮度資料Y中的每一筆亮度資料Y,分別取出第四數目個位元與第六數目個位元,分別作為一子資料Ys2與一子資料Ys4。然後,每一子資料Ys1便可和一子資料Ys2結合為一筆主資料P,每一子資料Ys3則可和一子資料Ys4結合為一筆主資料S。
於一實施例中,在參考圖框內,可由偶數行中的每筆8位元亮度資料Y中取出5個最高效位元成為子資料Ys1,並由奇數行中的每筆8位元亮度資料Y中取出3個最高效位元作為子資料Ys2;將子資料Ys1與Ys2結合,便可形成一筆8位元的主資料P。據此,16*16像素的區塊的16*16筆亮度資料Y共可形成8*16筆主資料P。同理,可由偶數行中的每筆亮度資料Y中取出3個最低效位元成為子資料Ys3,並由相鄰奇數行中的每筆亮度資料Y中取出5個最低效位元為子資料Ys4;將子資料Ys3與Ys4結合,可形成一筆8位元的副資料S。據此,16*16像素的區塊的16*16筆亮度資料共可形成8*16筆副資料S。如此,在依據主資料P進行亮度移動估計時,就能降低亮度移動估計的頻寬需求。
請參考第6圖與第7圖;第6圖繪示的是依據本發明一實施例而將一參考圖框儲存於一緩衝器20的配置示意圖,第7圖示意的則是依據本發明一實施例的流程200,用以依據第6圖配置進行影像編碼。為進行影像編碼,緩衝器20內可為一參考圖框配置二個記憶區域22a與24。參考圖框的複數筆亮度資料Y可被分解為複數筆主資料P與複數筆副資料S;主資料P可被儲存於記憶區域22a,副資料S與和參考圖框的複數筆彩度資料U與V一併儲存於記憶區域24中。
舉例而言,在參考圖框中,以區塊(例如16*16像素的巨塊)為一單位,每區塊會在4:2:0的影像編碼格式下關聯於16*16筆亮度資料Y、8*8筆彩度資料U與8*8筆彩度資料V。假設16*16筆亮度資料Y可形成8*16筆主資料P與8*16筆副資料S,則這些副資料S可以用交錯形式而和彩度資料U與V一併儲存於緩衝器20中的記憶區域24,如第6圖所示。在第6圖的實施例中,各筆副資料S和彩度資料U/V係奇偶交錯地儲存於記憶區域24的相鄰列,各筆彩度資料U與V則沿同一列以行為單位交錯地儲存。若影像編碼需要多個參考圖框,另一參考圖框可被儲存在記憶區域24之後,或是記憶區域22a之前。
當要依據第6圖配置而對一目前畫面進行影像編碼時,就可開始第7圖流程200。流程200的各步驟可描述如下。
步驟202:進行參考圖框轉換,將各參考圖框的複數筆亮度資料Y分解為複數筆主資料P與複數筆副資料S,使這些主資料P被儲存於緩衝器20中的記憶區域22a,副資料S則得以和彩度資料U與V一併被儲存於記憶區域24。
步驟204:在不需存取記憶區域24的情形下,存取(載入)記憶區域22a,以依據記憶區域22a中的主資料P進行亮度移動估計。步驟204的進行可由第3圖步驟104推論得知;類似步驟104,步驟204亦可包括整數處理與微調處理。
步驟206:存取(載入)記憶區域24,以依據記憶區域22a的主資料P、記憶區域24的副資料S與步驟104的移動向量進行亮度移動補償,為目前畫面的各個區塊的各筆亮度資料提供一對應的亮度近似資料。由記憶區域22a的主資料P與記憶區域24的副資料S可結合得出參考圖框的各筆8位元亮度資料Y;當要為目前畫面的一個目前區塊進行亮度移動補償時,便可依據對應移動向量的指示而於參考圖框中求出複數筆8位元亮度資料,作為目前區塊的8位元亮度近似資料,以近似目前區塊原本的複數筆亮度資料。
步驟208:依據對記憶區域24的存取以及步驟204的移動向量進行彩度移動補償,為目前畫面的各個區塊的各筆彩度資料提供對應的彩度近似資料。步驟208的進行可由第3圖步驟108推論得知。整合步驟206的亮度近似資料與步驟208的彩度近似資料,便可為目前區塊得出一對應的近似區塊。然後,由目前區塊減去近似區塊,便可為目前區塊得出一對應的殘餘區塊;此殘餘區塊可進一步被壓縮,而步驟204的移動向量與壓縮後的殘餘區塊就代表對目前區塊進行影像編碼的結果。
流程200不僅承襲流程100的優點,記憶區域24的配置還能在進行步驟206與208時進一步提昇影像編碼的效能。由於副資料S與彩度資料U/V係鄰近地被存放,流程200在存取副資料S與對應彩度資料U/V時就不需跨越不同記憶區域,減少緩衝器跨頁存取的效能損失(cross page penalty)。
舉例而言,一實施例中,各筆8位元副資料S係由兩筆亮度資料Y的最低效4位元合成;因此,兩筆副資料S就會關聯於4筆亮度資料Y。依據第6圖實施例的交錯排列,同一列的兩筆副資料S會對應於鄰列的一筆彩度資料U與一筆彩度資料V;由於排列相近,當進行步驟206與208時,這兩筆副資料S可以和鄰列的對應彩度資料U與V一同被存取。當這兩筆副資料S和鄰列的對應彩度資料U與V一同被存取,恰好可符合4:2:0格式的資料需求;因為4:2:0的格式是以2*2筆亮度資料Y對應同一行的一筆彩度資料U與一筆彩度資料V為單位進行處理,而由同時載入的兩筆副資料S、一筆彩度資料U與一筆彩度資料V,搭配步驟204的主資料P,正好可得到4筆亮度資料Y、一彩度資料U與一彩度資料V,使步驟206與208可以進行得更有效率。
請參考第8圖,其所示意的是依據本發明一實施例的影像編碼器40,其可內建於一處理器50,用以實現本發明的影像編碼技術,例如第3圖流程100及/或第7圖流程200。處理器50可以是一訊號處理晶片或一手機的基頻處理晶片,具有一內嵌的內部記憶體46,例如一靜態隨機存取記憶體(SRAM,static random access memory)。處理器50耦接於外接的緩衝器20,例如一動態隨機存取記憶體(DRAM,dynamic random access memory)。
影像編碼器40為一影像編碼的裝置,依據一參考圖框進行影像編碼;影像編碼器40包括有一參考圖框轉換模組32、一載入器42、一移動估計模組34與一移動補償模組48。影像編碼器40取得參考圖框後,參考圖框轉換模組32可將參考圖框的複數筆亮度資料Y分解為複數筆主資料P與複數筆副資料S,使這些主資料P與副資料S得以分別被儲存於緩衝器20的記憶區域22a與記憶區域22b;參考圖框的彩度資料U與V則被儲存於記憶區域22c。載入器42耦接於內部記憶體46,用以存取緩衝器20,將緩衝器20儲存的資料載入至內部記憶體46。移動估計模組34依據載入器20對記憶區域22a的存取進行亮度移動估計。移動補償模組48中可包括一亮度移動補償模組36與一彩度移動補償模組38,分別依據載入器20對記憶區域22b與22c的存取進行亮度移動補償與彩度移動補償。參考圖框轉換模組32、移動估計模組34、亮度移動補償模組36與彩度移動補償模組38的運作情形與實施例可分別由步驟102、104、106與108推論得知。
影像編碼器40亦可以沿用第6圖的配置實施例,以實現第7圖流程200。參考圖框轉換模組32可使副資料S得以和彩度資料U與V一併被儲存於緩衝器20的記憶區域24,如第6圖所示。移動補償模組48中的亮度移動補償模組36與彩度移動補償模組38則依據載入器20對記憶區域24的存取分別進行亮度移動補償與彩度移動補償。影像編碼器40的各模組與載入器42可用軟體、硬體及/或韌體實現。
總結來說,相較於習知技術,本發明可縮減亮度移動估計所需的資料,故可有效減少影像編碼耗用的內部記憶體資源,並降低影像編碼對緩衝器存取的頻寬需求,使影像編碼的效能提昇,成本降低。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10、20...緩衝器
12a-12b、22a-22c、24...記憶區域
30...區塊
32...參考圖框轉換模組
34...移動估計模組
36...亮度移動補償模組
38...彩度移動補償模組
40...影像編碼器
42...載入器
46...內部記憶體
50...處理器
100、200...流程
102-108、202-208...步驟
Y...亮度資料
Y1-Y2...子資料
P...主資料
S...副資料
U、V...彩度資料
px1-px4...像素
第1圖示意的是習知技術於影像編碼時的緩衝器配置。
第2圖示意的是依據本發明一實施例的影像編碼緩衝器配置。
第3圖示意的是依據本發明一實施例而以第2圖配置進行影像編碼的流程。
第4圖與第5圖繪示的是依據本發明各實施例而將不同亮度資料分類為主資料或副資料的示意圖。
第6圖示意的是依據本發明一實施例的影像編碼緩衝器配置。
第7圖示意的是依據本發明一實施例而以第6圖配置進行影像編碼的流程。
第8圖示意的是依據本發明一實施例的影像編碼器。
20...緩衝器
22a-22c...記憶區域
100...流程
102-108...步驟
Claims (17)
- 一種影像編碼的方法,依據一參考圖框進行影像編碼,該參考圖框關聯於複數筆第一分量資料,該方法包含:進行參考圖框轉換,將該些第一分量資料區分為複數筆主資料與複數筆副資料,分別儲存於一緩衝器中的一第一記憶區域與一第二記憶區域;存取該第一記憶區域以進行移動估計(motion estimation);以及存取該第二記憶區域以進行第一移動補償(motion compensation);其中,每一該些主資料包含該些第一分量資料之一的複數個位元以及另一該第一分量資料的複數個位元,以及每一副資料包含該些第一分量資料之一的複數個位元以及另一該第一分量資料的複數個位元。
- 如申請專利範圍第1項所述的方法,其中,進行移動估計時,不存取該第二記憶區域。
- 如申請專利範圍第1項所述的方法,其中,每一該些主資料包含該些第一分量資料之一的最高效位元(MSB,most significant bit),以及每一該些副資料包含該些第一分量資料之一的最低效位元(LSB,least significant bit)。
- 如申請專利範圍第1項所述的方法,其中,該些主資料包括一第一數目筆該第一分量資料,該些副資料包括一第二數目筆該第一分量資料。
- 如申請專利範圍第1項所述的方法,各該第一分量資料關聯於該參考圖框的一個像素,該參考圖框轉換包含:依據各該第一分量資料關聯的該像素的位置將各該第一分量資料區分為該些主資料其中之一或該些副資料其中之一。
- 如申請專利範圍第1項所述的方法,該參考圖框更關聯於複數筆第二分量資料與複數筆第三分量資料,該方法更包含:將該些第二分量資料與該些第三分量資料儲存於該緩衝器中的一第三記憶區域;以及存取該第三記憶區域以進行第二移動補償。
- 如申請專利範圍第1項所述的方法,其中,該參考圖框更關聯於複數筆第二分量資料與複數筆第三分量資料,該方法更包含:將該些第二分量資料與該些第三分量資料儲存於該緩衝器中的該第二記憶區域;以及依據對該第二記憶區域的存取,進行第二移動補償。
- 如申請專利範圍第7項所述的方法,其中,該些副資料係以交錯(interlace)形式和該些第二分量資料與該些第三分量資料儲存於該緩衝器中的該第二記憶區域。
- 如申請專利範圍第1項所述的方法,其中,該參考圖框更關聯於複數筆第二分量資料與複數筆第三分量資料,該方法更包含:將該些第二分量資料與該些第三分量資料儲存於該緩衝器中的該第二記憶區域;以及存取該第二記憶區域以進行一第二移動補償。
- 一種影像編碼的裝置,依據一參考圖框進行影像編碼,該參考圖框關聯於複數筆第一分量資料,該裝置包含:一參考圖框轉換模組,將該些第一分量資料區分為複數筆主資料與複數筆副資料,並將該些主資料與該些副資料分別儲存於一緩衝器中的一第一記憶區域與一第二記憶區域;一載入器,用以存取該緩衝器;一移動估計模組,依據該載入器對該第一記憶區域的存取進行移動估計;以及一移動補償模組,依據該載入器對該第二記憶區域的存取進行移動補償;其中,該參考圖框轉換模組係以該些第一分量資料 之一的複數個位元及另一該第一分量資料的複數個位元形成該些主資料其中之一,以及以該些第一分量資料之一的複數個位元及另一該第一分量資料的複數個位元形成該些副資料其中之一。
- 如申請專利範圍第10項所述的裝置,其中,該移動估計模組不依據對該第二記憶區域的存取進行移動估計。
- 如申請專利範圍第10項所述的裝置,其中,該參考圖框轉換模組以一第一數目筆該第一分量資料的複數個包含最高效位元(MSB,most significant bit)之位元形成該些主資料,並以一第二數目筆該第一分量資料的複數個包含最低效位元(LSB,least significant bit)之位元形成該些副資料。
- 如申請專利範圍第10項所述的裝置,其中,該參考圖框轉換模組以一第一數目筆該第一分量資料作為該些主資料,並以一第二數目筆該第一分量資料作為該些副資料。
- 如申請專利範圍第10項所述的裝置,各該第一分量資料關聯於該參考圖框的一個像素,該參考圖框轉換模組依據各該第一分量資料關聯的該像素的位置將各該第一分量資料區分為該些主資料的其中之一或該些副資 料的其中之一。
- 如申請專利範圍第10項所述的裝置,該參考圖框更關聯於複數筆第二分量資料與複數筆第三分量資料,該參考圖框轉換模組更將該些第二分量資料與該些第三分量資料儲存於該緩衝器中的一第三記憶區域,且該移動補償模組係依據該載入器對該第二記憶區域與該第三記憶區域的存取進行該移動補償。
- 如申請專利範圍第10項所述的裝置,其中,該參考圖框更關聯於複數筆第二分量資料與複數筆第三分量資料,該參考圖框轉換模組係使該些副資料、該些第二分量資料與該些第三分量資料儲存於該緩衝器中的該第二記憶區域。
- 如申請專利範圍第16項所述的裝置,其中,該參考圖框轉換模組係使該些副資料以交錯(interlace)形式而和該些第二分量資料與該些第三分量資料儲存於該緩衝器中的該第二記憶區域。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101116943A TWI486908B (zh) | 2012-05-11 | 2012-05-11 | 影像編碼的方法與相關裝置 |
US13/716,312 US10057567B2 (en) | 2012-05-11 | 2012-12-17 | Method and apparatus for video encoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101116943A TWI486908B (zh) | 2012-05-11 | 2012-05-11 | 影像編碼的方法與相關裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201346842A TW201346842A (zh) | 2013-11-16 |
TWI486908B true TWI486908B (zh) | 2015-06-01 |
Family
ID=49548596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101116943A TWI486908B (zh) | 2012-05-11 | 2012-05-11 | 影像編碼的方法與相關裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10057567B2 (zh) |
TW (1) | TWI486908B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11785068B2 (en) * | 2020-12-31 | 2023-10-10 | Synaptics Incorporated | Artificial intelligence image frame processing systems and methods |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200818900A (en) * | 2006-10-12 | 2008-04-16 | Ind Tech Res Inst | Method for mapping memory addresses, memory accessing apparatus and method thereof |
TW200935915A (en) * | 2007-10-16 | 2009-08-16 | Thomson Licensing | Methods and apparatus for artifact removal for bit depth scalability |
US20090274213A1 (en) * | 2008-04-30 | 2009-11-05 | Omnivision Technologies, Inc. | Apparatus and method for computationally efficient intra prediction in a video coder |
TW201216201A (en) * | 2006-03-20 | 2012-04-16 | Mediatek Inc | Method for storing N-bit data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421466B1 (en) * | 1999-09-29 | 2002-07-16 | Neomagic Corp. | Hierarchical motion estimation with levels of varying bit width for digital video compression |
KR100834443B1 (ko) * | 2007-02-27 | 2008-06-04 | 삼성전자주식회사 | 비디오 코덱을 위한 메모리 구조 및 메모리 액세스 방법 |
KR101365597B1 (ko) * | 2007-10-24 | 2014-02-20 | 삼성전자주식회사 | 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 |
US8306122B2 (en) * | 2008-06-23 | 2012-11-06 | Broadcom Corporation | Method and apparatus for processing image data |
KR101274112B1 (ko) * | 2009-09-15 | 2013-06-13 | 한국전자통신연구원 | 영상 부호화 장치 |
US8587598B2 (en) * | 2009-10-29 | 2013-11-19 | Mediatek Inc. | Memory address mapping method for controlling storage of images in memory device and memory address mapping circuit thereof |
US8805170B2 (en) * | 2012-03-07 | 2014-08-12 | Broadcom Corporation | System and method for memory storage of video data |
-
2012
- 2012-05-11 TW TW101116943A patent/TWI486908B/zh not_active IP Right Cessation
- 2012-12-17 US US13/716,312 patent/US10057567B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201216201A (en) * | 2006-03-20 | 2012-04-16 | Mediatek Inc | Method for storing N-bit data |
TW200818900A (en) * | 2006-10-12 | 2008-04-16 | Ind Tech Res Inst | Method for mapping memory addresses, memory accessing apparatus and method thereof |
TW200935915A (en) * | 2007-10-16 | 2009-08-16 | Thomson Licensing | Methods and apparatus for artifact removal for bit depth scalability |
US20090274213A1 (en) * | 2008-04-30 | 2009-11-05 | Omnivision Technologies, Inc. | Apparatus and method for computationally efficient intra prediction in a video coder |
Also Published As
Publication number | Publication date |
---|---|
TW201346842A (zh) | 2013-11-16 |
US10057567B2 (en) | 2018-08-21 |
US20130301726A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI536811B (zh) | 影像處理方法與系統、解碼方法、編碼器與解碼器 | |
US20150288974A1 (en) | Video acquisition and processing systems | |
JP4062711B2 (ja) | 動画像符号化装置 | |
JP4095664B2 (ja) | 動画像符号化装置 | |
KR20090116728A (ko) | 비디오 하드웨어에서 화상 압축을 위한 구조 | |
WO2010080646A2 (en) | Video acquisition and processing systems | |
US20080089418A1 (en) | Image encoding apparatus and memory access method | |
US8451897B2 (en) | Highly parallel pipelined hardware architecture for integer and sub-pixel motion estimation | |
KR20070035958A (ko) | 화상 처리 장치 | |
CA2774940C (en) | Joint scalar embedded graphics coding for color images | |
TWI486908B (zh) | 影像編碼的方法與相關裝置 | |
CN101547350A (zh) | 高效平面与立体数字视频编码及解码方法 | |
US20130156114A1 (en) | Data Movement Reduction In Video Compression Systems | |
TWI520618B (zh) | 影像資料處理方法以及影像處理裝置 | |
US20110051815A1 (en) | Method and apparatus for encoding data and method and apparatus for decoding data | |
JP5974691B2 (ja) | 動画像圧縮装置、撮像装置およびプログラム | |
US20110249719A1 (en) | Video compression | |
JP4062712B2 (ja) | 動画像符号化装置および動画像符号化方法 | |
CN103458255B (zh) | 影像编码的方法与相关装置 | |
US20080049836A1 (en) | Method and System for a Fast Video Transcoder | |
CN103974073B (zh) | 影像数据处理方法以及影像处理装置 | |
KR20220088888A (ko) | 인트라 예측을 위한 신경망의 반복 트레이닝 | |
KR100928272B1 (ko) | 동영상 부호화를 위한 움직임 추정 방법 및 장치 | |
JP2004222142A (ja) | 映像信号の圧縮方法および復号方法 | |
Fan et al. | Low bandwidth HD1080@ 60FPS JPEG-XR transform design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |