專利名稱:一種動(dòng)態(tài)調(diào)整的視訊編碼方法與相關(guān)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視訊編碼的方法,特別是涉及一種用以在系統(tǒng)所允許的存儲(chǔ)器頻寬改變時(shí),動(dòng)態(tài)調(diào)整一編碼比特流的編碼型態(tài)的方法。
背景技術(shù):
隨著電子電路運(yùn)算速度的提升,耗費(fèi)大量系統(tǒng)資源的運(yùn)算(如視訊處理)遂成為電子裝置的發(fā)展重點(diǎn)之一。一般視訊處理的規(guī)格中通常包含有若干編碼型態(tài),以適應(yīng)各種視訊數(shù)據(jù)的編碼需求。以活動(dòng)圖像專家組二型規(guī)格(Moving Picture Coding Experts Group 2,MPEG 2)為例,其主要是以消除視訊畫面空間上及時(shí)間上的冗余信息,以達(dá)到視訊壓縮的效果。
一般來(lái)說(shuō),在同一張視訊畫面上會(huì)有一些共通特性,也許是色彩上的,也許是幾何上的,或是其它特征值得到的。去除這些空間上的冗余信息的方式,就是要識(shí)別出畫面中重要的元素,并移除重復(fù)且較無(wú)影響的元素。例如,活動(dòng)圖像專家組二型規(guī)格(MPEG 2)中,是利用色彩取樣、離散余弦轉(zhuǎn)換及量化的方式,實(shí)現(xiàn)去除前述空間上的冗余信息的目的。另外,一般所播放的視訊,其實(shí)只是一連串連續(xù)的圖像序列,然而因?yàn)槿祟愐曈X上存在一種視覺暫留的現(xiàn)像,所以會(huì)產(chǎn)生連貫影像的錯(cuò)覺。而此種視訊中,由于畫面間的時(shí)間間隔甚小,所以相臨的畫面間幾無(wú)差異,大多只是圖像內(nèi)容的位置變化。因此,在活動(dòng)圖像專家組二型規(guī)格(MPEG 2)中,亦以消除時(shí)間軸上畫面與畫面間的相似性所造成的冗余信息的方式,來(lái)實(shí)現(xiàn)壓縮視訊的目的。
為了去除前述時(shí)間上的冗余信息,在活動(dòng)圖像專家組二型規(guī)格(MPEG 2)中,使用了位移補(bǔ)償(Motion Compensation,MC)的視訊壓縮技術(shù)。在進(jìn)行位移補(bǔ)償之前,首先將一視訊畫面區(qū)分為許多16×16像素的宏區(qū)塊(Macro-block,MB)。接著,以一宏區(qū)塊為單位作為一目標(biāo)宏區(qū)塊,并在一參考畫面(Reference Picture)中找尋與該目標(biāo)區(qū)塊近似的一參考宏區(qū)塊,并將該目標(biāo)宏區(qū)塊至該參考宏區(qū)塊間位置的坐標(biāo)差記錄成一位移向量(Motion Vector)。若該參考宏區(qū)塊所處的畫面在時(shí)間軸上位于該目標(biāo)宏區(qū)塊所處的畫面之前,稱為向前預(yù)測(cè)(Forward Prediction);若該參考宏區(qū)塊所處的畫面在時(shí)間軸上位于該目標(biāo)宏區(qū)塊所處的畫面之后,稱為向后預(yù)測(cè)(Backward Prediction);倘若該目標(biāo)宏區(qū)塊參考了時(shí)間軸上在其之前與之后兩方向參考畫面的參考宏區(qū)塊,則稱為雙向預(yù)測(cè)(Bi-directionallyPrediction)。上述找尋該位移向量的過(guò)程稱之為位移預(yù)測(cè)(MotionEstimation),而區(qū)塊匹配法(Block Matching Method)即為常見的位移預(yù)測(cè)方式之一。另外,由于該目標(biāo)宏區(qū)塊與該參考宏區(qū)塊間不一定完全一致,因此還要計(jì)算該目標(biāo)宏區(qū)塊與該參考宏區(qū)塊間的畫面訊號(hào)差值,亦稱之為預(yù)測(cè)誤差(Prediction Error),用以在解碼時(shí)做補(bǔ)償?shù)挠谩?br>
在活動(dòng)圖像專家組二型規(guī)格(MPEG 2)中,定義了內(nèi)編碼(Intra)、預(yù)測(cè)編碼(Predictive)、與雙向預(yù)測(cè)編碼(Bi-directionally Predictive)等三種畫面壓縮編碼模式。其中,一內(nèi)編碼畫面(Intra Picture),或稱為I畫面,為獨(dú)立編碼的一畫面,無(wú)須參考前后的畫面即可進(jìn)行該內(nèi)編碼畫面的編碼。一預(yù)測(cè)編碼畫面(Predictive Picture),或稱為P畫面,編碼時(shí)需參考時(shí)間軸上前面最近的一參考畫面(參考畫面必為一內(nèi)編碼畫面或一預(yù)測(cè)編碼畫面)以進(jìn)行順向預(yù)測(cè)編碼。另外,一雙向預(yù)測(cè)編碼畫面(Bi-directionally Predictive Picture),或稱為B畫面,編碼時(shí)需參考到前面及后面兩個(gè)方向的參考畫面的數(shù)據(jù),以進(jìn)行順向與逆向預(yù)測(cè)編碼。
根據(jù)以上關(guān)于影像畫面的種類說(shuō)明得知,一內(nèi)編碼畫面因?yàn)椴恍枰獏⒖记昂蟮漠嬅婕纯蛇M(jìn)行編碼的操作,因此其在編碼過(guò)程中所使用的存儲(chǔ)器頻寬最小。而一預(yù)測(cè)編碼畫面因?yàn)樾枰獏⒖歼^(guò)去的參考畫面以進(jìn)行編碼操作,因此其在編碼過(guò)程中所使用的存儲(chǔ)器頻寬較大。以此類推,一雙向預(yù)測(cè)編碼畫面因?yàn)樾枰獏⒖歼^(guò)去及未來(lái)兩個(gè)方向參考畫面的數(shù)據(jù)以進(jìn)行編碼操作,因此其在編碼過(guò)程中所使用的存儲(chǔ)器頻寬最大。
如前所述,一畫面是由多個(gè)宏區(qū)塊(Macroblock)組成,且編碼該畫面時(shí)是以宏區(qū)塊為單位進(jìn)行編碼。在一畫面中的每一宏區(qū)塊均對(duì)應(yīng)有一宏區(qū)塊型態(tài)參數(shù)(Motion Type),用來(lái)表示該宏區(qū)塊是以何種方式進(jìn)行位移補(bǔ)償編碼。以活動(dòng)圖像專家組二型規(guī)格(MPEG 2)為例,一內(nèi)編碼畫面中,所有宏區(qū)塊的編碼型態(tài)均為內(nèi)編碼。而一預(yù)測(cè)編碼畫面中,所述宏區(qū)塊的編碼型態(tài)可以是內(nèi)編碼或順向位移補(bǔ)償編碼(Forward Motion Compensation)。另外,一雙向預(yù)測(cè)編碼畫面之中,所述宏區(qū)塊的編碼型態(tài)可以是內(nèi)編碼、順向位移補(bǔ)償編碼、逆向位移補(bǔ)償編碼(Backward Motion Compensation)、或雙向位移補(bǔ)償編碼(Bi-directional Motion Compensation)。其中一內(nèi)編碼宏區(qū)塊為獨(dú)立編碼的一宏區(qū)塊,無(wú)須參考前后畫面的宏區(qū)塊即可進(jìn)行編碼操作。而一順向位移補(bǔ)償宏區(qū)塊必須從過(guò)去的參考畫面內(nèi)的一最相近的參考宏區(qū)塊中,讀取一順向預(yù)測(cè)數(shù)據(jù)以進(jìn)行編碼。另外,一雙向位移補(bǔ)償宏區(qū)塊必須從過(guò)去與未來(lái)的參考畫面的參考宏區(qū)塊中,讀取順向與逆向預(yù)測(cè)數(shù)據(jù)以進(jìn)行編碼。
根據(jù)以上關(guān)于宏區(qū)塊的編碼型態(tài)說(shuō)明得知,一內(nèi)編碼宏區(qū)塊因?yàn)椴恍枰獏⒖记昂髤⒖籍嬅娴暮陞^(qū)塊即可進(jìn)行編碼的操作,因此其在編碼的過(guò)程中所使用的存儲(chǔ)器頻寬最小。而一順向位移補(bǔ)償宏區(qū)塊,因?yàn)樾枰獏⒖歼^(guò)去的參考畫面的宏區(qū)塊以進(jìn)行編碼的操作,因此其在編碼過(guò)程中所使用的存儲(chǔ)器頻寬較大。同理,由于一雙向位移補(bǔ)償宏區(qū)塊需要參考過(guò)去與未來(lái)的參考畫面的宏區(qū)塊以進(jìn)行編碼的操作,因此其在編碼過(guò)程中所使用的存儲(chǔ)器頻寬最大。
然而,在宏區(qū)塊編碼過(guò)程中所使用的存儲(chǔ)器頻寬大小,不僅與其編碼型態(tài)有關(guān),亦與其所使用的位移預(yù)測(cè)方式有關(guān)。
圖1為以已知區(qū)塊匹配法進(jìn)行一宏區(qū)塊的位移預(yù)測(cè)的示意圖。如圖1所示,一目標(biāo)畫面120被區(qū)分成多個(gè)區(qū)塊,每一區(qū)塊可以是任意大小,然而,在活動(dòng)圖像專家組規(guī)格(MPEG)中,目標(biāo)畫面120是區(qū)分成多個(gè)大小為16×16像素的宏區(qū)塊。目標(biāo)畫面120當(dāng)中的每一宏區(qū)塊,是根據(jù)其與時(shí)間軸上前一畫面110當(dāng)中的一宏區(qū)塊間的差異,或與后一畫面130當(dāng)中的一宏區(qū)塊間的差異進(jìn)行編碼。以一目標(biāo)宏區(qū)塊100進(jìn)行區(qū)塊匹配時(shí),會(huì)與前一畫面110的一搜尋范圍115內(nèi)所有相似大小的待比對(duì)宏區(qū)塊逐一進(jìn)行比對(duì),或是與后一畫面130的一搜尋范圍135內(nèi)所有相似大小的待比對(duì)宏區(qū)塊逐一進(jìn)行比對(duì)。在圖1中,經(jīng)過(guò)區(qū)塊匹配法的比對(duì)后,在前一畫面及后一畫面所有的待比對(duì)宏區(qū)塊當(dāng)中,所找出來(lái)與目標(biāo)宏區(qū)塊100差異最小的是一宏區(qū)塊150,稱為參考宏區(qū)塊。參考宏區(qū)塊150與目標(biāo)宏區(qū)塊100間的位移向量與訊號(hào)差值,便會(huì)被用來(lái)作為編碼的依據(jù)。因此,在解壓縮時(shí)便可利用前一畫面110中每一宏區(qū)塊的編碼,配合目標(biāo)畫面120中每一宏區(qū)塊的位移向量與訊號(hào)差值,以將目標(biāo)畫面120譯碼還原。
將一目標(biāo)宏區(qū)塊與一搜尋范圍內(nèi)的所有待比對(duì)宏區(qū)塊逐一進(jìn)行比對(duì)的一種區(qū)塊匹配算法(Block-Matching Algorithm),稱之為單階層全搜尋式區(qū)塊匹配算法(Full Search Block-Matching Algorithm)。一般而言,搜尋范圍越大可求得更加準(zhǔn)確的位移向量,然而,代價(jià)是比對(duì)過(guò)程中所使用的存儲(chǔ)器頻寬亦會(huì)與搜尋范圍的面積成正比。舉例而言,使用單階層全搜尋式區(qū)塊匹配算法尋找一大小為16×16像素的宏區(qū)塊的參考宏區(qū)塊時(shí),若搜尋范圍是正負(fù)N個(gè)像素,且準(zhǔn)確度是一個(gè)像素,則需要進(jìn)行(2N+1)2次的區(qū)塊比對(duì)操作。換言之,若N為16,則代表需要進(jìn)行1089次16×16大小的區(qū)塊比對(duì)操作。由于每一次的區(qū)塊比對(duì)均需要進(jìn)行256次的計(jì)算,所以此種算法會(huì)消耗大量的運(yùn)算能量與存儲(chǔ)器頻寬。
圖2所示為一已知編譯碼系統(tǒng)10的示意圖,其包含有一視訊編碼器12、一視訊譯碼器14、一音訊編譯碼器16、一中央控制單元18、一存儲(chǔ)器管理電路20、一顯示控制電路22、及一存儲(chǔ)器裝置24。如圖2所示,在已知的編譯碼系統(tǒng)10中,所有裝置共享同一存儲(chǔ)器管理電路20及同一存儲(chǔ)器裝置24,其中存儲(chǔ)器管理電路20系用來(lái)管理系統(tǒng)10中各個(gè)裝置存取存儲(chǔ)器裝置24的操作。
然而,如前所述,視訊編碼器12進(jìn)行編碼時(shí)所需要的存儲(chǔ)器頻寬十分龐大。當(dāng)存儲(chǔ)器裝置24的頻寬有限時(shí),一旦視訊編碼器12進(jìn)行消耗存儲(chǔ)器頻寬最大的編碼模式,便可能會(huì)造成所需要的存儲(chǔ)器頻寬突然大增而減低編碼的效能,故已知的編譯碼系統(tǒng)10無(wú)法持續(xù)地實(shí)現(xiàn)實(shí)時(shí)編碼的要求。因而編譯碼系統(tǒng)10能否實(shí)現(xiàn)實(shí)時(shí)編碼的要求,便成為一項(xiàng)十分重要的課題。
為了克服單階層全搜尋式方法耗用太多存儲(chǔ)器頻寬的缺點(diǎn),H.M.Jong等人提出了一種三階層式搜尋法(見”Parallel Architectures for 3-StepHierarchical Search Block-Matching Algorithm,”IEEE Trans.OnCircuits and Systems for Video Technology,Vol.4,August 1994,pp.407-416)。通常階層搜尋式方式在一開始會(huì)在一較大范圍內(nèi)先進(jìn)行一粗略的搜尋,接著,在接下來(lái)的步驟中會(huì)逐漸縮小搜尋的面積。在搜尋范圍相同的情況下,階層式搜尋法所使用的存儲(chǔ)器頻寬確比單階層全搜尋法所使用的要少,而且執(zhí)行效率(Performance)較好,但卻會(huì)使影像品質(zhì)降低。
Maturi等人在US Patent 5731850中提出一種單階層全搜尋法與階層式搜尋法組合應(yīng)用的概念。依據(jù)一目標(biāo)畫面的編碼類型而決定一用以進(jìn)行區(qū)塊比對(duì)的搜尋范圍,當(dāng)該搜尋范圍超過(guò)一默認(rèn)值時(shí),采用階層式搜尋法進(jìn)行區(qū)塊比對(duì),若搜尋范圍小于或等于該默認(rèn)值時(shí),則采用單階層全搜尋法進(jìn)行區(qū)塊比對(duì),以求在影像品質(zhì)與執(zhí)行效率上取得較佳平衡。Maturi等人提出的方法是根據(jù)搜尋范圍的大小而改變區(qū)塊比對(duì)的方式。然而,在系統(tǒng)存儲(chǔ)器頻寬有限的情況下,一但視訊編碼器所需要的存儲(chǔ)器頻寬突然大增時(shí),Maturi等人的方法并無(wú)法確保視訊編碼器所使用的存儲(chǔ)器頻寬,不會(huì)超過(guò)系統(tǒng)所能提供的最大存儲(chǔ)器頻寬,因此,系統(tǒng)存儲(chǔ)器會(huì)無(wú)法負(fù)荷而減低了編碼的效能,無(wú)法實(shí)現(xiàn)實(shí)時(shí)編碼的要求。
發(fā)明內(nèi)容
有鑒與此,本發(fā)明主要提供一種視訊編碼方法,用以動(dòng)態(tài)調(diào)整一編碼比特流的編碼方式,以有效控制編碼過(guò)程中所使用的存儲(chǔ)器頻寬,使其不超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬。
本發(fā)明的視訊編碼方法,包含有利用一編碼器接收一系統(tǒng)存儲(chǔ)器頻寬的信息;依據(jù)該系統(tǒng)存儲(chǔ)器頻寬的信息決定該編碼比特流所允許的至少一編碼型態(tài);以及該至少一編碼型態(tài)中的一第一編碼型態(tài),對(duì)該編碼比特流進(jìn)行編碼。
本發(fā)明的視訊編碼方法的優(yōu)點(diǎn),在于編碼過(guò)程中所使用的存儲(chǔ)器頻寬不會(huì)超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬,而能實(shí)現(xiàn)實(shí)時(shí)編碼的要求。
本發(fā)明的另一目的為提供一種影像區(qū)塊的位移預(yù)測(cè)方法,依據(jù)所允許的存儲(chǔ)器頻寬大小,動(dòng)態(tài)調(diào)整一區(qū)塊的位移預(yù)測(cè)種類與搜尋范圍,以確保位移預(yù)測(cè)過(guò)程中所使用的存儲(chǔ)器頻寬不會(huì)超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬。
本發(fā)明的影像區(qū)塊的位移預(yù)測(cè)方法,包含有利用一位移預(yù)測(cè)器接收一系統(tǒng)存儲(chǔ)器頻寬的信息;根據(jù)該系統(tǒng)存儲(chǔ)器頻寬的信息,決定位移預(yù)測(cè)的種類及搜尋范圍;以及利用所決定的該位移預(yù)測(cè)種類及搜尋范圍,對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)。
本發(fā)明的影像區(qū)塊的位移預(yù)測(cè)方法的優(yōu)點(diǎn),在于進(jìn)行位移預(yù)測(cè)的過(guò)程中所使用的存儲(chǔ)器頻寬,不會(huì)超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬,而能實(shí)現(xiàn)實(shí)時(shí)進(jìn)行位移預(yù)測(cè)的要求。
圖1為已知技術(shù)進(jìn)行宏區(qū)塊的位移預(yù)測(cè)的示意圖;
圖2為一已知編譯碼系統(tǒng)的示意圖;圖3為本發(fā)明的視訊編碼裝置;圖4為本發(fā)明的視訊編碼方法的流程圖;和圖5為本發(fā)明的視訊編碼方法另一實(shí)施例的流程圖。
附圖標(biāo)號(hào)說(shuō)明10 編譯碼系統(tǒng) 100、150 宏區(qū)塊12 視訊編碼器 110、120、130 畫面14 視訊譯碼器 115、125、135 搜尋范圍16 音訊編譯碼器200視訊編碼裝置18 中央控制單元202視訊接口20 存儲(chǔ)器管理電路 204位移預(yù)測(cè)器22 顯示控制電路206編碼電路24 存儲(chǔ)器裝置具體實(shí)施方式
請(qǐng)參考圖3。圖3為本發(fā)明的視訊編碼裝置200的示意圖。視訊編碼裝置200用以對(duì)一數(shù)字視訊數(shù)據(jù)(Digitized Video Data)進(jìn)行編碼,以產(chǎn)生一編碼比特流。視訊編碼裝置200包含有一視訊接口(Video Interface)202,用以接收一數(shù)字視訊數(shù)據(jù);一位移預(yù)測(cè)器204,電連于視訊接口202,用以對(duì)該數(shù)字視訊數(shù)據(jù)中的一宏區(qū)塊進(jìn)行位移預(yù)測(cè);以及一編碼電路206,電連于視訊接口202及位移預(yù)測(cè)器204,用以控制整個(gè)編碼流程并對(duì)該經(jīng)過(guò)位移預(yù)測(cè)的數(shù)字視訊數(shù)據(jù)進(jìn)行編碼,例如進(jìn)行離散余弦轉(zhuǎn)換(Discrete CosineTransform)、量化運(yùn)算(Quantization)、與可變長(zhǎng)度編碼(Variable LengthCoding)等運(yùn)算,以產(chǎn)生一編碼比特流以及進(jìn)行反量化運(yùn)算(InverseQuantization)、逆向離散余弦轉(zhuǎn)換(Inverse Discrete Cosine Transform)與位移補(bǔ)償(Motion Compensation)以產(chǎn)生位移預(yù)測(cè)所需要的參考畫面。其中視訊編碼裝置200電連于如圖2所示的一存儲(chǔ)器控制電路(未顯示),以存取一系統(tǒng)存儲(chǔ)器(未顯示)。
當(dāng)視訊編碼裝置200中的視訊接口202接收一數(shù)字視訊數(shù)據(jù)后,會(huì)對(duì)該數(shù)字視訊數(shù)據(jù)進(jìn)行諸如噪聲消除、畫面縮放等前置處理操作。接著,由視訊接口202將處理過(guò)的數(shù)字視訊數(shù)據(jù),傳送至編碼電路206及位移預(yù)測(cè)器204。此時(shí),位移預(yù)測(cè)器204與編碼電路206應(yīng)用本發(fā)明所提出的一種動(dòng)態(tài)調(diào)整的視訊編碼方法,自該存儲(chǔ)器控制電路接收系統(tǒng)存儲(chǔ)器頻寬的信息,以調(diào)整該編碼比特流的編碼方式。以下將詳細(xì)說(shuō)明本發(fā)明的詳細(xì)運(yùn)作方式。
請(qǐng)參考圖4。圖4為本發(fā)明所披露的一種動(dòng)態(tài)調(diào)整的視訊編碼方法的流程圖300,該方法的步驟如下步驟302開始。
步驟304編碼電路206接收該系統(tǒng)存儲(chǔ)器的一頻寬信息。
步驟306編碼電路206依據(jù)所接收到的頻寬信息,判斷頻寬是否足夠?qū)⒁划嬅婢幋a成一預(yù)測(cè)編碼畫面或一雙向預(yù)測(cè)編碼畫面。若頻寬不足,則決定將該畫面編碼為一內(nèi)編碼畫面,并進(jìn)行步驟308;若頻寬足夠,則根據(jù)所接收到的頻寬信息,決定將該畫面編碼為一預(yù)測(cè)編碼畫面或是一雙向預(yù)測(cè)編碼畫面,并進(jìn)行步驟311。
步驟308編碼電路206以內(nèi)編碼型態(tài)對(duì)該畫面中的一區(qū)塊進(jìn)行編碼。
步驟310檢查該區(qū)塊是否為該畫面中最后的區(qū)塊,若否,則再次進(jìn)行步驟308,對(duì)下一區(qū)塊進(jìn)行編碼;若該區(qū)塊已是該畫面中最后的區(qū)塊,則進(jìn)行步驟326。
步驟311位移預(yù)測(cè)器204接收該系統(tǒng)存儲(chǔ)器的一頻寬信息。
步驟312位移預(yù)測(cè)器204依據(jù)所接收到的頻寬信息,判斷頻寬是否足夠?qū)υ摦嬅嬷械囊粎^(qū)塊進(jìn)行位移預(yù)測(cè),若頻寬不足,則進(jìn)行步驟322;若頻寬足夠,則進(jìn)行步驟314。
步驟314編碼電路206以內(nèi)編碼型態(tài)對(duì)該區(qū)塊進(jìn)行編碼測(cè)試。
步驟316位移預(yù)測(cè)器204依據(jù)頻寬狀況決定至少一位移預(yù)測(cè)種類,并調(diào)整相對(duì)應(yīng)的搜尋范圍。位移預(yù)測(cè)器204并分別以該至少一位移預(yù)測(cè)種類對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè),以藉由比較不同位移預(yù)測(cè)方式的預(yù)測(cè)誤差(Prediction Error),決定一具有最小預(yù)測(cè)誤差的最佳位移預(yù)測(cè)方式。
步驟318編碼電路206根據(jù)位移預(yù)測(cè)器204以該最佳位移預(yù)測(cè)方式對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)的結(jié)果,以位移預(yù)測(cè)編碼型態(tài)對(duì)該區(qū)塊進(jìn)行編碼測(cè)試。
步驟320比較步驟314與步驟318中兩種編碼型態(tài)的編碼測(cè)試結(jié)果,并從中選擇一種編碼型態(tài),據(jù)以對(duì)該區(qū)塊進(jìn)行編碼。
步驟322以內(nèi)編碼型態(tài)將該區(qū)塊編碼成一內(nèi)編碼區(qū)塊。
步驟324檢查該區(qū)塊是否為該畫面中最后的區(qū)塊,若否,則再次進(jìn)行步驟312,對(duì)下一區(qū)塊進(jìn)行編碼;若該區(qū)塊已是該畫面中最后的區(qū)塊,則進(jìn)行步驟326。
步驟326由于該區(qū)塊已是該畫面中的最后區(qū)塊,故完成該畫面的編碼。
以下以圖3中本發(fā)明的一較佳實(shí)施例說(shuō)明流程圖300的運(yùn)作情形。在步驟302中,圖3的視訊接口202將處理過(guò)的數(shù)字視訊數(shù)據(jù)傳送至位移預(yù)測(cè)器204與編碼電路206。接著在步驟304中,視訊編碼裝置200自該存儲(chǔ)器控制電路接收一系統(tǒng)存儲(chǔ)器頻寬的信息,該存儲(chǔ)器頻寬信息包含有視訊編碼裝置200被允許使用的最大存儲(chǔ)器頻寬。而本發(fā)明的位移預(yù)測(cè)器204與編碼電路206即是依據(jù)該系統(tǒng)存儲(chǔ)器頻寬大小,動(dòng)態(tài)調(diào)整運(yùn)作的方式。
在步驟306中,編碼電路206根據(jù)所允許的存儲(chǔ)器頻寬,判斷編碼比特流中即將要進(jìn)行編碼的一畫面(一幀畫面(Frame Picture)或一場(chǎng)畫面(FieldPicture))的編碼型態(tài)。倘若當(dāng)時(shí)系統(tǒng)允許視訊編碼裝置200使用的存儲(chǔ)器頻寬,僅足夠支持以內(nèi)編碼型態(tài)對(duì)該畫面進(jìn)行編碼,則在步驟306中,編碼電路206便會(huì)選擇以內(nèi)編碼型態(tài)作為對(duì)該畫面的編碼方式。接著,在步驟308至步驟310中,由于編碼電路206決定以內(nèi)編碼型態(tài)對(duì)該畫面進(jìn)行編碼,因此,對(duì)于該畫面當(dāng)中的每一區(qū)塊,編碼電路206均會(huì)以內(nèi)編碼型態(tài)進(jìn)行編碼,將每一區(qū)塊均編碼成內(nèi)編碼區(qū)塊。在活動(dòng)圖像專家組規(guī)格(MPEG)系列中,上述的區(qū)塊是以宏區(qū)塊為單位。
相反地,在步驟306中,若編碼電路206判斷此時(shí)系統(tǒng)所允許的存儲(chǔ)器頻寬,足夠支持以預(yù)測(cè)編碼型態(tài)或雙向預(yù)測(cè)編碼型態(tài)對(duì)該畫面進(jìn)行編碼,則根據(jù)該允許的存儲(chǔ)器頻寬大小,決定該畫面的編碼型態(tài)為預(yù)測(cè)編碼或是雙向預(yù)測(cè)編碼。例如,在編碼電路206中儲(chǔ)存有一代表預(yù)測(cè)編碼型態(tài)所需的最小存儲(chǔ)器頻寬臨界值(Threshold)Pth,與一代表雙向預(yù)測(cè)編碼型態(tài)所需的最小存儲(chǔ)器頻寬臨界值Bth。當(dāng)此時(shí)系統(tǒng)所允許的存儲(chǔ)器頻寬大于或等于該存儲(chǔ)器頻寬臨界值Bth,則以雙向預(yù)測(cè)編碼型態(tài)對(duì)該畫面進(jìn)行編碼,將該畫面編碼為一雙向預(yù)測(cè)編碼畫面;反之,當(dāng)允許的存儲(chǔ)器頻寬小于該存儲(chǔ)器頻寬臨界值Bth,但大于或等于該存儲(chǔ)器頻寬臨界值Pth,則以預(yù)測(cè)編碼型態(tài)對(duì)該畫面進(jìn)行編碼,將該畫面編碼為一預(yù)測(cè)編碼畫面。
在本發(fā)明的一實(shí)施例中,該存儲(chǔ)器頻寬臨界值Pth與Bth,可設(shè)定為預(yù)先決定的估算值。在本發(fā)明的另一實(shí)施例中,編碼電路206在編碼的過(guò)程中,亦可同時(shí)統(tǒng)計(jì)多個(gè)畫面的編碼過(guò)程中所使用的存儲(chǔ)器頻寬,并分別依據(jù)到目前為止進(jìn)行預(yù)測(cè)編碼時(shí)所使用的最小存儲(chǔ)器頻寬值,以及進(jìn)行雙向預(yù)測(cè)編碼時(shí)所使用的最小存儲(chǔ)器頻寬值,更新該存儲(chǔ)器頻寬臨界值Pth與Bth,以作為判斷下一畫面編碼型態(tài)時(shí)的依據(jù)。
接下來(lái)在步驟311中,位移預(yù)測(cè)器204接收系統(tǒng)存儲(chǔ)器頻寬的信息。請(qǐng)注意,在步驟304中,編碼電路206所接收到的系統(tǒng)存儲(chǔ)器頻寬信息,是相對(duì)應(yīng)于一較長(zhǎng)時(shí)段的存儲(chǔ)器頻寬信息,而位移預(yù)測(cè)器204在步驟311中所接收到的系統(tǒng)存儲(chǔ)器頻寬信息,是相對(duì)應(yīng)于一較短時(shí)間內(nèi)的存儲(chǔ)器頻寬信息,使本發(fā)明的視訊編碼裝置200能依據(jù)不同時(shí)間點(diǎn)的存儲(chǔ)器頻寬信息,對(duì)系統(tǒng)存儲(chǔ)器作最有效的利用。
接著,在步驟312中,位移預(yù)測(cè)器204根據(jù)所接收到的存儲(chǔ)器頻寬信息,與一臨界值Mth作比較,該臨界值Mth表示欲進(jìn)行位移預(yù)測(cè)所需的最小存儲(chǔ)器頻寬。以判斷是否足夠?qū)υ搮^(qū)塊進(jìn)行位移預(yù)測(cè)。如果此時(shí)允許的存儲(chǔ)器頻寬不足以支持對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)的操作,則在步驟322中,編碼電路206便將該區(qū)塊編碼成一內(nèi)編碼區(qū)塊。在本發(fā)明的一實(shí)施例中,進(jìn)行位移預(yù)測(cè)所需的該存儲(chǔ)器頻寬臨界值Mth,可設(shè)定為一預(yù)先決定的估算值。在本發(fā)明的另一實(shí)施例中,位移預(yù)測(cè)器204在進(jìn)行位移預(yù)測(cè)的過(guò)程中,亦可同時(shí)統(tǒng)計(jì)多個(gè)區(qū)塊的位移預(yù)測(cè)過(guò)程中所使用的存儲(chǔ)器頻寬,并依據(jù)到目前為止進(jìn)行位移預(yù)測(cè)所需的存儲(chǔ)器頻寬最小值更新該臨界值Mth,以作為判斷是否對(duì)下一區(qū)塊進(jìn)行位移預(yù)測(cè)的依據(jù)。
另一方面,在步驟312中,若位移預(yù)測(cè)器204判斷當(dāng)時(shí)所允許的存儲(chǔ)器頻寬足以對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè),則接下來(lái)在步驟314中,編碼電路206以內(nèi)編碼型態(tài)對(duì)該區(qū)塊進(jìn)行編碼測(cè)試,以供后續(xù)比較之用。
在步驟316中,位移預(yù)測(cè)器204依據(jù)所允許的頻寬狀況,以及編碼電路206在步驟306中所決定的該畫面的編碼型態(tài)(預(yù)測(cè)編碼型態(tài)或雙向預(yù)測(cè)編碼型態(tài)),以選擇相對(duì)應(yīng)于該區(qū)塊的至少一位移預(yù)測(cè)種類。接著,位移預(yù)測(cè)器204分別以該至少一位移預(yù)測(cè)種類對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè),并比較不同位移預(yù)測(cè)方式所產(chǎn)生的預(yù)測(cè)誤差。位移預(yù)測(cè)器204根據(jù)比較的結(jié)果,從中決定一具有最小預(yù)測(cè)誤差的最佳位移預(yù)測(cè)方式,并將該最佳位移預(yù)測(cè)方式所得到的位移向量等信息傳送至編碼電路206。
如活動(dòng)圖像專家組規(guī)格(MPEG)中所規(guī)定,當(dāng)該畫面的編碼型態(tài)為預(yù)測(cè)編碼型態(tài)時(shí),該區(qū)塊的編碼型態(tài)可為內(nèi)編碼型態(tài)或順向位移補(bǔ)償編碼型態(tài)。當(dāng)該畫面的編碼型態(tài)系為雙向預(yù)測(cè)編碼時(shí),該區(qū)塊的編碼型態(tài)可為內(nèi)編碼、順向位移補(bǔ)償編碼、逆向位移補(bǔ)償編碼、或雙向位移補(bǔ)償編碼的型態(tài)(但活動(dòng)圖像專家組規(guī)格四型(MPEG 4)中規(guī)定當(dāng)該畫面的編碼型態(tài)為雙向預(yù)測(cè)編碼時(shí),當(dāng)中各區(qū)塊的編碼型態(tài)不可存在內(nèi)編碼型態(tài))。以內(nèi)編碼型態(tài)進(jìn)行該區(qū)塊的編碼時(shí),位移預(yù)測(cè)器204不需要進(jìn)行位移預(yù)測(cè)的操作。以順向位移補(bǔ)償編碼型態(tài)進(jìn)行該區(qū)塊的編碼時(shí),位移預(yù)測(cè)器204需進(jìn)行順向位移預(yù)測(cè)。以逆向位移補(bǔ)償編碼型態(tài)進(jìn)行該區(qū)塊的編碼時(shí),位移預(yù)測(cè)器204需進(jìn)行逆向位移預(yù)測(cè)。以雙向位移補(bǔ)償編碼型態(tài)進(jìn)行該區(qū)塊的編碼時(shí),位移預(yù)測(cè)器204需進(jìn)行雙向位移預(yù)測(cè)。
此外,以活動(dòng)圖像專家組二型規(guī)格(MPEG 2)為例,在步驟316中,位移預(yù)測(cè)器204除了決定該區(qū)塊的位移預(yù)測(cè)種類,還需依據(jù)該畫面的種類(幀畫面或場(chǎng)畫面)以及該畫面的編碼型態(tài),以決定該區(qū)塊的位移型態(tài)(MotionType)參數(shù)。位移型態(tài)參數(shù)用以指示該區(qū)塊是以何種方式作位移補(bǔ)償編碼。例如,當(dāng)該畫面為一幀畫面,且其編碼型態(tài)為雙向預(yù)測(cè)編碼時(shí),若位移預(yù)測(cè)器204決定對(duì)該區(qū)塊進(jìn)行順向位移預(yù)測(cè),則位移預(yù)測(cè)器204亦需選擇該區(qū)塊的位移型態(tài)參數(shù)是幀為基的預(yù)測(cè)型態(tài)(Frame-Based Prediction),或是場(chǎng)為基的預(yù)測(cè)型態(tài)(Field-Based Prediction),以作為編碼電路206對(duì)該區(qū)塊進(jìn)行位移補(bǔ)償編碼時(shí)的依據(jù)。
換言之,在步驟316中,位移預(yù)測(cè)器204是依據(jù)存儲(chǔ)器頻寬狀況與相關(guān)條件,決定至少一種位移預(yù)測(cè)種類與相對(duì)應(yīng)于該區(qū)塊的位移型態(tài)。舉例而言,假設(shè)在步驟311中所接收到的存儲(chǔ)器頻寬信息,允許位移預(yù)測(cè)器204以幀為基(Frame-Based)與場(chǎng)為基(Field-Based)兩種位移型態(tài)對(duì)該區(qū)塊進(jìn)行順向位移預(yù)測(cè),則位移預(yù)測(cè)器204會(huì)分別以上述兩種位移型態(tài)對(duì)該區(qū)塊進(jìn)行順向位移預(yù)測(cè),然后,比較兩種順向位移預(yù)測(cè)方式的預(yù)測(cè)誤差(PredictionError)。位移預(yù)測(cè)器204從中選擇一具有最小預(yù)測(cè)誤差的最佳位移預(yù)測(cè)方式,并將該最佳位移預(yù)測(cè)方式所得到的位移向量等信息傳送至編碼電路206。
如前所述,在步驟316中,位移預(yù)測(cè)器204通常是以單階層全搜尋式區(qū)塊匹配法或階層式搜尋區(qū)塊匹配法,進(jìn)行該區(qū)塊的位移預(yù)測(cè)。在本發(fā)明所披露的視訊編碼方法的較佳實(shí)施例當(dāng)中,一項(xiàng)重要的技術(shù)特征在于,位移預(yù)測(cè)器204是依據(jù)所允許的存儲(chǔ)器頻寬,調(diào)整區(qū)塊匹配法的搜尋范圍。當(dāng)位移預(yù)測(cè)器204采單階層全搜尋式區(qū)塊匹配法對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)時(shí),位移預(yù)測(cè)器204在步驟316當(dāng)中依據(jù)所允許的存儲(chǔ)器頻寬,調(diào)整單階層全搜尋式區(qū)塊匹配法的搜尋范圍。當(dāng)允許的存儲(chǔ)器頻寬越大,位移預(yù)測(cè)器204所設(shè)定的搜尋范圍也會(huì)越大。反之,當(dāng)允許的存儲(chǔ)器頻寬越小,位移預(yù)測(cè)器204所設(shè)定的搜尋范圍也會(huì)越小。同理,當(dāng)位移預(yù)測(cè)器204采用階層搜尋式區(qū)塊匹配法時(shí),位移預(yù)測(cè)器204在步驟316中會(huì)依據(jù)所允許的存儲(chǔ)器頻寬,調(diào)整階層搜尋式區(qū)塊匹配法的搜尋階層數(shù)目與各階層中的搜尋范圍。在本發(fā)明的另一實(shí)施例中,位移預(yù)測(cè)器204可同時(shí)包含單階層全搜尋式區(qū)塊匹配法與階層式搜尋區(qū)塊匹配法,并依據(jù)所允許的存儲(chǔ)器頻寬,選擇使用單階層全搜尋式區(qū)塊匹配法或階層式搜尋區(qū)塊匹配法。例如,當(dāng)所允許的存儲(chǔ)器頻寬小于一臨界值Fth時(shí),可采用階層式搜尋區(qū)塊匹配法,反之,可采用單階層全搜尋式區(qū)塊匹配法。當(dāng)選擇單階層全搜尋式區(qū)塊匹配法時(shí),本發(fā)明的位移預(yù)測(cè)器204會(huì)同時(shí)對(duì)應(yīng)地調(diào)整單階層全搜尋式區(qū)塊匹配法的搜尋范圍;當(dāng)選擇階層式搜尋區(qū)塊匹配法時(shí),本發(fā)明的位移預(yù)測(cè)器204亦會(huì)同時(shí)對(duì)應(yīng)地調(diào)整階層搜尋式區(qū)塊匹配法的搜尋階層數(shù)目與各階層中的搜尋范圍。
在步驟318中,編碼電路206根據(jù)位移預(yù)測(cè)器204對(duì)該區(qū)塊進(jìn)行該最佳位移預(yù)測(cè)所產(chǎn)生的位移向量等信息,以位移預(yù)測(cè)編碼型態(tài)對(duì)該區(qū)塊進(jìn)行編碼測(cè)試。
根據(jù)本發(fā)明提供的方法,視訊編碼裝置200在每一區(qū)塊(在此該區(qū)塊可以是一宏區(qū)塊)編碼之前,會(huì)先進(jìn)行各種不同編碼型態(tài)的編碼測(cè)試,以找出使用最少編碼位的編碼型態(tài),以作為該區(qū)塊的實(shí)際編碼型態(tài)。因此,在步驟320當(dāng)中,編碼電路206會(huì)步驟318所得到的位移預(yù)測(cè)編碼型態(tài)的編碼測(cè)試結(jié)果,與步驟314所得到的內(nèi)編碼型態(tài)的編碼測(cè)試結(jié)果相比較,依編碼電路206的設(shè)計(jì)考慮選出兩種編碼型態(tài)當(dāng)中較適合的一種,據(jù)以作為該區(qū)塊的實(shí)際編碼型態(tài)。
由于該區(qū)塊中各像素(Pixel)亮度的平均值或變異量(Variance)等統(tǒng)計(jì)數(shù)值的大小,是反應(yīng)該區(qū)塊影像復(fù)雜的程度,也反應(yīng)該區(qū)塊最節(jié)省儲(chǔ)存容量的編碼型態(tài),亦即一使用最少編碼位的編碼型態(tài)。因此,在步驟320中,編碼電路206在比較兩種編碼型態(tài)的編碼測(cè)試結(jié)果時(shí),可比較步驟314中編碼測(cè)試計(jì)算所得的該區(qū)塊中各像素亮度的平均值或變異量等統(tǒng)計(jì)數(shù)值,與步驟318中編碼測(cè)試計(jì)算該區(qū)塊進(jìn)行該最佳位移預(yù)測(cè)所得到的預(yù)測(cè)誤差的平均值或變異量等統(tǒng)計(jì)數(shù)值的大小,來(lái)決定一最適合的編碼型態(tài)。通常是以使用最少編碼位的編碼型態(tài)作為該區(qū)塊的實(shí)際編碼型態(tài)。但編碼電路206除了可選擇視訊壓縮比率較佳的編碼型態(tài)作為該區(qū)塊的實(shí)際編碼態(tài)外,亦可選擇視訊品質(zhì)較佳的編碼型態(tài)作為該區(qū)塊的實(shí)際編碼型態(tài),選擇的依據(jù)端視電路設(shè)計(jì)的需求與考慮而定。
請(qǐng)注意,從步驟320的說(shuō)明中可以發(fā)現(xiàn),步驟314并不限定于要在步驟316之前進(jìn)行。事實(shí)上,步驟314可位于步驟316與步驟318之間,甚至亦可于步驟318之后進(jìn)行,均不影響本發(fā)明的功效。
步驟324與步驟310相似,皆為編碼電路206判斷該區(qū)塊是否為該編碼畫面當(dāng)中的最后一區(qū)塊。若該區(qū)塊已為該畫面的最后一區(qū)塊,則表示該畫面已編碼完成,若該區(qū)塊并非該畫面的最后一區(qū)塊,則表示編碼電路206與位移預(yù)測(cè)器204將對(duì)該畫面中的下一區(qū)塊,進(jìn)行步驟312至步驟324的操作。
請(qǐng)注意,由于當(dāng)該區(qū)塊完成編碼后,系統(tǒng)允許的存儲(chǔ)器頻寬或已可能改變,于是在編碼電路206與位移預(yù)測(cè)器204對(duì)該編碼畫面的下一區(qū)塊進(jìn)行編碼時(shí),位移預(yù)測(cè)器204在步驟312中,會(huì)再次依據(jù)當(dāng)下的存儲(chǔ)器頻寬信息進(jìn)行研判,以決定是否進(jìn)行位移預(yù)測(cè)。
當(dāng)該畫面中的所有區(qū)塊都已逐一完成編碼后,在進(jìn)行下一畫面的編碼操作前,編碼電路206會(huì)再次接收系統(tǒng)存儲(chǔ)器頻寬的信息,以決定要以何種編碼型態(tài)對(duì)下一畫面進(jìn)行編碼。
請(qǐng)注意,在上述本發(fā)明的一較佳實(shí)施例的說(shuō)明當(dāng)中,位移預(yù)測(cè)器204所使用的區(qū)塊匹配法,可以但不限于為單階層全搜尋式區(qū)塊匹配法與階層搜尋式區(qū)塊匹配法兩種。只要在運(yùn)算過(guò)程當(dāng)中,所使用的區(qū)塊匹配搜尋范圍與消耗的存儲(chǔ)器頻寬成比例的任何區(qū)塊匹配算法,本發(fā)明的視訊編碼方式皆可支持。
另外,在上述的實(shí)施例說(shuō)明中,是以活動(dòng)圖像專家組二型規(guī)格(MPEG 2)為例。在活動(dòng)圖像專家組四型規(guī)格(MPEG 4)的規(guī)格中,規(guī)定當(dāng)一畫面的編碼方式為雙向預(yù)測(cè)編碼時(shí),該畫面當(dāng)中的任何區(qū)塊均不可編碼成內(nèi)編碼區(qū)塊,因此,本發(fā)明的視訊編碼方法亦可簡(jiǎn)化以支持特定畫面編碼型態(tài)中不可有內(nèi)編碼區(qū)塊的規(guī)定。
請(qǐng)參考圖5(并一并參考圖4)。圖5所示為本發(fā)明的視訊編碼方法的另一實(shí)施例流程圖400。流程圖400是圖4中的流程圖300簡(jiǎn)化后的結(jié)果。其運(yùn)作方式大致上與流程圖300相似,而兩者間最明顯地不同在于,流程圖400適用于不可含有內(nèi)編碼區(qū)塊的特定畫面編碼型態(tài),例如,活動(dòng)圖像專家組四型規(guī)格(MPEG 4)中規(guī)定一雙向預(yù)測(cè)編碼畫面不可含有內(nèi)編碼區(qū)塊。只要將圖4的流程圖300加上適當(dāng)?shù)呐袛嗍奖憧傻韧鞒虉D400的意思表示,此處僅是為了說(shuō)明上的方便而單獨(dú)將其置于圖5,實(shí)際上本發(fā)明的視訊編碼方法的概念可適用于任何編碼型態(tài)的畫面與區(qū)塊。
綜以所述,本發(fā)明的視訊編碼方法最重要的技術(shù)特征,在于以存儲(chǔ)器頻寬的限制為考量的出發(fā)點(diǎn),依據(jù)系統(tǒng)所允許的最大頻寬調(diào)整對(duì)一畫面或一區(qū)塊的編碼型態(tài)與位移預(yù)測(cè)方式。當(dāng)完成一區(qū)塊的編碼時(shí),又再次依據(jù)新的存儲(chǔ)器頻寬狀況調(diào)整下一區(qū)塊的編碼方式,使編碼該畫面當(dāng)中的每一區(qū)塊時(shí),所使用的存儲(chǔ)器頻寬皆在當(dāng)時(shí)系統(tǒng)所允許的最大存儲(chǔ)器頻寬范圍內(nèi)。故,應(yīng)用本發(fā)明的視訊編碼方法的視訊編碼系統(tǒng)或裝置,在任何時(shí)刻所使用的存儲(chǔ)器頻寬,都不會(huì)超過(guò)系統(tǒng)最大的存儲(chǔ)器頻寬。因此,已知技術(shù)當(dāng)中因編碼電路使用的存儲(chǔ)器頻寬大增而可能造成實(shí)時(shí)編碼操作中斷的情形,在本發(fā)明的應(yīng)用下皆可得到解決。
以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明權(quán)利要求所做的均等變化與修飾,皆應(yīng)屬本發(fā)明專利的涵蓋范圍。
權(quán)利要求
1.一種視訊編碼方法,用以動(dòng)態(tài)調(diào)整一編碼比特流的編碼方式,該方法包含有(a)利用一編碼器接收一系統(tǒng)存儲(chǔ)器頻寬的信息;(b)依據(jù)該系統(tǒng)存儲(chǔ)器頻寬的信息決定該編碼比特流所允許的至少一編碼型態(tài);以及(c)利用步驟(b)中所決定的至少一編碼型態(tài)中的一第一編碼型態(tài),對(duì)該編碼比特流進(jìn)行編碼;其中該編碼比特流所允許的該至少一編碼型態(tài),是隨著該系統(tǒng)的存儲(chǔ)器頻寬的變化而動(dòng)態(tài)調(diào)整,使編碼過(guò)程中所使用的存儲(chǔ)器頻寬不超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬。
2.如權(quán)利要求1所述的方法,其中該編碼比特流對(duì)應(yīng)于一畫面。
3.如權(quán)利要求1所述的方法,其中該編碼型態(tài)可為內(nèi)編碼、預(yù)測(cè)編碼、或雙向預(yù)測(cè)編碼。
4.如權(quán)利要求1所述的方法,其中該編碼比特流是對(duì)應(yīng)于一畫面的一區(qū)塊。
5.如權(quán)利要求4所述的方法,其中該區(qū)塊為一宏區(qū)塊。
6.如權(quán)利要求4所述的方法,其中該區(qū)塊的編碼型態(tài)可為內(nèi)編碼、順向位移補(bǔ)償編碼、逆向位移補(bǔ)償編碼、或雙向位移補(bǔ)償編碼。
7.如權(quán)利要求4所述的方法,其中該方法還包含有當(dāng)該畫面的編碼型態(tài)為內(nèi)編碼時(shí),以內(nèi)編碼的編碼型態(tài)進(jìn)行該區(qū)塊的編碼。
8.如權(quán)利要求4所述的方法,其中該方法還包含有當(dāng)該畫面的編碼型態(tài)為預(yù)測(cè)編碼時(shí),以內(nèi)編碼或順向位移補(bǔ)償編碼的編碼型態(tài)進(jìn)行該區(qū)塊的編碼
9.如權(quán)利要求4所述的方法,其中該方法還包含有當(dāng)該畫面的編碼型態(tài)為雙向預(yù)測(cè)編碼時(shí),以內(nèi)編碼、順向位移補(bǔ)償編碼、逆向位移補(bǔ)償編碼、或雙向位移補(bǔ)償編碼的編碼型態(tài)進(jìn)行該區(qū)塊的編碼。
10.如權(quán)利要求4所述的方法,其中該方法還包含有當(dāng)該畫面的編碼型態(tài)為雙向預(yù)測(cè)編碼時(shí),以順向位移補(bǔ)償編碼、逆向位移補(bǔ)償編碼、或雙向位移補(bǔ)償編碼的編碼型態(tài)進(jìn)行該區(qū)塊的編碼。
11.如權(quán)利要求1所述的方法,其中該方法還包含有利用步驟(b)中所決定的至少一編碼型態(tài)分別對(duì)該編碼比特流進(jìn)行編碼測(cè)試,以決定該第一編碼型態(tài)。
12.一種影像區(qū)塊的位移預(yù)測(cè)方法,用以動(dòng)態(tài)調(diào)整一區(qū)塊的位移預(yù)測(cè)種類與搜尋范圍,該方法包含有(a)利用一位移預(yù)測(cè)器接收一系統(tǒng)存儲(chǔ)器頻寬的信息;(b)根據(jù)該系統(tǒng)存儲(chǔ)器頻寬的信息,決定位移預(yù)測(cè)的種類及搜尋范圍;以及(c)利用步驟(b)中所決定的該位移預(yù)測(cè)種類及搜尋范圍,對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè);其中該位移預(yù)測(cè)種類及搜尋范圍,是隨著所允許的存儲(chǔ)器頻寬的大小而動(dòng)態(tài)調(diào)整,使位移預(yù)測(cè)過(guò)程中所使用的存儲(chǔ)器頻寬不超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬。
13.如權(quán)利要求12所述的方法,其中該區(qū)塊為一宏區(qū)塊。
14.如權(quán)利要求12所述的方法,其中該位移預(yù)測(cè)種類可為順向位移預(yù)測(cè)、逆向位移預(yù)測(cè)、或雙向位移預(yù)測(cè)。
15.如權(quán)利要求12所述的方法,其中在步驟(b)中還包含有根據(jù)該位移預(yù)測(cè)的種類以決定該區(qū)塊的位移型態(tài)。
16.如權(quán)利要求12所述的方法,其中于步驟(c)中是以單階層全搜尋式位移預(yù)測(cè)法對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)。
17.如權(quán)利要求12所述的方法,其中于步驟(b)中還包含有根據(jù)該系統(tǒng)存儲(chǔ)器頻寬的信息,決定位移預(yù)測(cè)的種類、搜尋階層數(shù)以及各階層的搜尋范圍,而步驟(c)中是以階層搜尋式位移預(yù)測(cè)法對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)。
18.如權(quán)利要求12所述的方法,其中該方法還包含有根據(jù)該區(qū)塊所屬的一畫面的編碼型態(tài)及該系統(tǒng)存儲(chǔ)器頻寬的信息,以決定該區(qū)塊的位移預(yù)測(cè)種類及搜尋范圍。
19.如權(quán)利要求18所述的方法,其中該畫面可為一幀畫面或一場(chǎng)畫面。
20.如權(quán)利要求18所述的方法,其中該畫面的編碼型態(tài)可為內(nèi)編碼、預(yù)測(cè)編碼、或雙向預(yù)測(cè)編碼。
21.如權(quán)利要求18所述的方法,其中在步驟(b)中還包含有根據(jù)該畫面的編碼型態(tài)及該區(qū)塊的位移預(yù)測(cè)種類,以決定該區(qū)塊的位移型態(tài)。
22.如權(quán)利要求18所述的方法,其中在步驟(b)中還包含有根據(jù)該畫面的編碼型態(tài)及該系統(tǒng)存儲(chǔ)器頻寬的信息,決定該區(qū)塊的位移預(yù)測(cè)種類及搜尋范圍,而步驟(c)中是以單階層全搜尋式位移預(yù)測(cè)法對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)
23.如權(quán)利要求18所述的方法,其中在步驟(b)中還包含有根據(jù)該畫面的編碼型態(tài)及該系統(tǒng)存儲(chǔ)器頻寬的信息,決定該區(qū)塊的位移預(yù)測(cè)種類、搜尋階層數(shù)以及各階層的搜尋范圍,而步驟(c)中是以階層搜尋式位移預(yù)測(cè)法對(duì)該區(qū)塊進(jìn)行位移預(yù)測(cè)。
全文摘要
一種視訊編碼方法,用以動(dòng)態(tài)調(diào)整一編碼比特流的編碼方式,該方法包含有利用一編碼器接收一系統(tǒng)存儲(chǔ)器頻寬的信息;依據(jù)該系統(tǒng)存儲(chǔ)器頻寬的信息決定該編碼比特流所允許的至少一編碼型態(tài);并利用所決定的至少一編碼型態(tài)中的第一編碼型態(tài),對(duì)該編碼比特流進(jìn)行編碼;其中該編碼比特流所允許的該至少一編碼型態(tài),是隨著該系統(tǒng)的存儲(chǔ)器頻寬的變化而動(dòng)態(tài)調(diào)整,使編碼過(guò)程中所使用的存儲(chǔ)器頻寬不超過(guò)系統(tǒng)所提供的最大存儲(chǔ)器頻寬。
文檔編號(hào)H04N7/26GK1610408SQ200310102468
公開日2005年4月27日 申請(qǐng)日期2003年10月21日 優(yōu)先權(quán)日2003年10月21日
發(fā)明者朱啟誠(chéng) 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司