專利名稱:多格式視訊譯碼器及其相關(guān)的譯碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多格式視訊譯碼器及其相關(guān)的譯碼方法,特別是涉及一種可將一共享 預(yù)測(cè)模塊中的數(shù)個(gè)共享組件應(yīng)用在交流/直流預(yù)測(cè)(AC/DCprediction)中以及幀內(nèi)預(yù)測(cè) (intra prediction)中的多格式視訊譯碼器及其相關(guān)方法。
背景技術(shù):
多格式視訊譯碼器可以支持各式各樣的視訊標(biāo)準(zhǔn),像是MPEG-4規(guī)格、VC-I規(guī)格、 H.264/AVC規(guī)格、RMVB規(guī)格或者AVS規(guī)格等。對(duì)于一般視訊壓縮技術(shù)中的區(qū)塊/宏區(qū)塊 (block/macroblock)而言,目前區(qū)塊/目前宏區(qū)塊以及鄰近區(qū)塊/鄰近宏區(qū)塊之間有很多 的關(guān)聯(lián)性。舉例來說,交流/直流預(yù)測(cè)(AC/DC prediction)是基于頻域且使用在MPEG-4規(guī) 格以及VC-I規(guī)格之中,而幀內(nèi)預(yù)測(cè)(intra prediction)則是基于空間域且使用在H. 264/ AVC規(guī)格、RMVB規(guī)格以及AVS規(guī)格之中。一般而言,在不同的規(guī)格下,多格式視訊譯碼器需要個(gè)別的硬件組件來實(shí)現(xiàn)交流/ 直流預(yù)測(cè)以及幀內(nèi)預(yù)測(cè),因此,個(gè)別的硬件組件會(huì)造成成本上的增加以及占用芯片面積。然 而,其實(shí)交流/直流預(yù)測(cè)以及幀內(nèi)預(yù)測(cè)之間有非常多的相似之處,尤其對(duì)于每一個(gè)視訊標(biāo) 準(zhǔn)而言,并不會(huì)同時(shí)使用到交流/直流預(yù)測(cè)以及幀內(nèi)預(yù)測(cè)。因此,如何節(jié)省多格式視訊譯碼器的成本以及芯片面積,亦是本設(shè)計(jì)領(lǐng)域中的重
要考慮之一。
發(fā)明內(nèi)容
因此,本發(fā)明的目的之一在于提出一種多格式視訊譯碼器及其相關(guān)的譯碼方法, 以解決上述的問題。本發(fā)明揭示一種多格式視訊譯碼器。多格式視訊譯碼器包含一比特流緩沖器、一 系統(tǒng)控制器、一比特流譯碼單元、一幀內(nèi)模式譯碼單元以及一共享預(yù)測(cè)模塊。比特流緩沖器 提供一視訊比特流。系統(tǒng)控制器耦接于該比特流緩沖器,用來根據(jù)該視訊比特流的一信息 來選擇性地產(chǎn)生一第一控制訊號(hào)或者一第二控制訊號(hào)。比特流譯碼單元耦接于該系統(tǒng)控制 器以及該比特流緩沖器,當(dāng)接收到該第一控制訊號(hào)時(shí),比特流譯碼單元會(huì)根據(jù)該視訊比特 流的該信息來產(chǎn)生一譯碼信息訊號(hào)。幀內(nèi)模式譯碼單元耦接于該系統(tǒng)控制器,當(dāng)接收到該 第二控制訊號(hào)時(shí),幀內(nèi)模式譯碼單元會(huì)產(chǎn)生一幀內(nèi)模式訊號(hào)。共享預(yù)測(cè)模塊耦接于該比特 流譯碼單元以及該幀內(nèi)模式譯碼單元,用來根據(jù)該譯碼信息訊號(hào)來執(zhí)行一交流/直流預(yù)測(cè) 在該視訊比特流的一目前區(qū)塊上,以產(chǎn)生一第一目前預(yù)測(cè)結(jié)果;并根據(jù)該幀內(nèi)模式訊號(hào)來 執(zhí)行一幀內(nèi)預(yù)測(cè)在該目前區(qū)塊上,以產(chǎn)生一第二目前預(yù)測(cè)結(jié)果。其中該共享預(yù)測(cè)模塊包含 有至少一共享組件,且該至少一共享組件在執(zhí)行該交流/直流預(yù)測(cè)以及該幀內(nèi)預(yù)測(cè)的過程 中皆會(huì)被使用到。本發(fā)明還揭示一種解碼方法。該方法包含有以下步驟提供一視訊比特流;根據(jù) 該視訊比特流的一信息來選擇性地產(chǎn)生一第一控制訊號(hào)或者一第二控制訊號(hào);當(dāng)接收到該第一控制訊號(hào)時(shí),根據(jù)該視訊比特流的該信息來產(chǎn)生一譯碼信息訊號(hào);利用一共享預(yù)測(cè)模 塊以根據(jù)該譯碼信息訊號(hào)來執(zhí)行一交流/直流預(yù)測(cè)在該視訊比特流的一目前區(qū)塊上,以產(chǎn) 生一第一目前預(yù)測(cè)結(jié)果;當(dāng)接收到該第二控制訊號(hào)時(shí),產(chǎn)生一幀內(nèi)模式訊號(hào);以及利用該 共享預(yù)測(cè)模塊以根據(jù)該幀內(nèi)模式訊號(hào)來執(zhí)行一幀內(nèi)預(yù)測(cè)在該目前區(qū)塊上,以產(chǎn)生一第二目 前預(yù)測(cè)結(jié)果;其中該共享預(yù)測(cè)模塊包含有至少一共享組件,且該至少一共享組件在執(zhí)行該 交流/直流預(yù)測(cè)以及該幀內(nèi)預(yù)測(cè)的過程中皆會(huì)被使用到。
圖1為本發(fā)明一多格式視訊譯碼器的一實(shí)施例的方塊圖。圖2與圖3為說明圖1所示的多格式視訊譯碼器中的共享預(yù)測(cè)模塊的細(xì)部組件與 細(xì)部數(shù)據(jù)流的示意圖。圖4為顯示圖3所示的預(yù)測(cè)單元的一實(shí)施例的示意圖。圖5為說明本發(fā)明譯碼方法的一操作范例的流程圖。附圖符號(hào)說明100多格式視訊譯碼器110比特流緩沖器120系統(tǒng)控制器130比特流譯碼單元140幀內(nèi)模式譯碼單元150共享預(yù)測(cè)模塊160儲(chǔ)存模塊170反量化單元180第一緩沖器190第二緩沖器210控制有限狀態(tài)機(jī)220儲(chǔ)存單元230存儲(chǔ)器控制器240預(yù)測(cè)單元250鄰近值提供單元260多工器單元270限幅電路BS視訊比特流Sdi譯碼信息訊號(hào)Sim幀內(nèi)模式訊號(hào)SCl第一控制訊號(hào)SC2第二控制訊號(hào)SC3狀態(tài)控制訊號(hào)ND鄰近預(yù)設(shè)數(shù)據(jù)PRl第一目前預(yù)測(cè)結(jié)果
PR2第二目前預(yù)測(cè)結(jié)果
PRll第一先前預(yù)測(cè)結(jié)果
PR22第二先前預(yù)測(cè)結(jié)果
DC直流系數(shù)
AC交流系數(shù)
H_mem水平數(shù)據(jù)
V_mem垂直數(shù)據(jù)
X_mem對(duì)角線數(shù)據(jù)
410,460,470多工器
420第一運(yùn)算單元
430第二運(yùn)算單元
440加法單元
450移位器
421、423、431、433加法器
422、425、432、435寄存器
424,434四舍五入移位器
al> a2第一多工器輸出
S502 S522步驟
具體實(shí)施例方式在本說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定的組件。本領(lǐng)域的技術(shù)人 員應(yīng)可理解,硬件制造商可能會(huì)用不同的名詞來稱呼同樣的組件。本說明書及權(quán)利要求并 不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。 在通篇說明書及權(quán)利要求當(dāng)中所提及的「包含」為一開放式的用語,故應(yīng)解釋成「包含但不 限定于」。另外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述 一第一裝置耦接于一第二裝置,則代表該第一裝置可直接電氣連接于該第二裝置,或通過 其它裝置或連接手段間接地電氣連接至該第二裝置。圖1為本發(fā)明一多格式視訊譯碼器100的一實(shí)施例的方塊圖。多格式視訊譯碼器 100包含有(但不局限于)一比特流緩沖器110、一系統(tǒng)控制器120、一比特流譯碼單元130、 一幀內(nèi)模式譯碼單元140、一共享預(yù)測(cè)模塊150以及一儲(chǔ)存模塊160。比特流緩沖器110會(huì) 提供一視訊比特流BS。而系統(tǒng)控制器120耦接于比特流緩沖器110,用來根據(jù)視訊比特流 BS的一信息來選擇性地產(chǎn)生一第一控制訊號(hào)SCl或者一第二控制訊號(hào)SC2。再者,比特流譯 碼單元130耦接于系統(tǒng)控制器120以及比特流緩沖器110,當(dāng)接收到第一控制訊號(hào)SCl時(shí), 比特流譯碼單元130會(huì)根據(jù)視訊比特流BS的該信息來產(chǎn)生一譯碼信息訊號(hào)SDI。幀內(nèi)模式 譯碼單元140則耦接于系統(tǒng)控制器120,當(dāng)接收到第二控制訊號(hào)SC2時(shí),幀內(nèi)模式譯碼單元 140會(huì)產(chǎn)生一幀內(nèi)模式訊號(hào)Sim,其中幀內(nèi)模式訊號(hào)Sim指示共享預(yù)測(cè)模塊150來執(zhí)行哪一種 幀內(nèi)預(yù)測(cè)(intra prediction)的模式。之后,共享預(yù)測(cè)模塊150耦接于比特流譯碼單元130以及幀內(nèi)模式譯碼單元140, 共享預(yù)測(cè)模塊150根據(jù)譯碼信息訊號(hào)Sdi來執(zhí)行一交流/直流預(yù)測(cè)(AC/DC prediction)在
7視訊比特流BS的一目前區(qū)塊(例如,一個(gè)4x4區(qū)塊)上,以產(chǎn)生一第一目前預(yù)測(cè)結(jié)果PRl ; 共享預(yù)測(cè)模塊150還根據(jù)幀內(nèi)模式訊號(hào)Sim來執(zhí)行一幀內(nèi)預(yù)測(cè)在該目前區(qū)塊上,以產(chǎn)生一第 二目前預(yù)測(cè)結(jié)果PR2。值得注意的是,共享預(yù)測(cè)模塊150包含有至少一共享組件,且該至少 一共享組件在執(zhí)行該交流/直流預(yù)測(cè)以及該幀內(nèi)預(yù)測(cè)的過程中皆會(huì)被使用到。關(guān)于共享預(yù) 測(cè)模塊150的細(xì)部運(yùn)作將于后續(xù)實(shí)施例中進(jìn)一步詳加說明。此外,儲(chǔ)存模塊160耦接于共 享預(yù)測(cè)模塊150,用來儲(chǔ)存第一目前預(yù)測(cè)結(jié)果rai以及第二目前預(yù)測(cè)結(jié)果冊(cè)2,并用來儲(chǔ)存 一第一先前預(yù)測(cè)結(jié)果(例如,PR11)以及一第二先前預(yù)測(cè)結(jié)果(例如,PR22)。請(qǐng)注意,此處 的第一先前預(yù)測(cè)結(jié)果I3Rll是藉由執(zhí)行該交流/直流預(yù)測(cè)在視訊比特流BS的一已解碼區(qū)塊 上所產(chǎn)生的,而第二先前預(yù)測(cè)結(jié)果冊(cè)22則是藉由執(zhí)行該幀內(nèi)預(yù)測(cè)在該已譯碼區(qū)塊上所產(chǎn) 生的,其中該已譯碼區(qū)塊是在譯碼該目前區(qū)塊之前已先被譯碼,且該已譯碼區(qū)塊可位在該 目前區(qū)塊的上方、左方以及左上方。另外,多格式視訊譯碼器100還包含一反量化單元170、一第一緩沖器180以及一 第二緩沖器190。其中,反量化單元170執(zhí)行一反量化操作于第一目前預(yù)測(cè)結(jié)果PRl上,以 得到該目前區(qū)塊的直流系數(shù)(DC coefficient);第一緩沖器180儲(chǔ)存第一目前預(yù)測(cè)結(jié)果 PRl ;而第二緩沖器190則儲(chǔ)存第二目前預(yù)測(cè)結(jié)果冊(cè)2。由于上述各組件的相關(guān)運(yùn)作已為本 領(lǐng)域的技術(shù)人員所熟知,因此,為簡(jiǎn)潔起見于此不再贅述。圖2與圖3為說明圖1所示的多格式視訊譯碼器100中的共享預(yù)測(cè)模塊150的細(xì) 部組件與細(xì)部數(shù)據(jù)流的示意圖,其中圖2代表利用共享預(yù)測(cè)模塊150來執(zhí)行一交流/直流 預(yù)測(cè)的情況,而圖3則代表利用共享預(yù)測(cè)模塊150來執(zhí)行一幀內(nèi)預(yù)測(cè)的情況。換句話說,在 圖2中,會(huì)啟動(dòng)交流/直流預(yù)測(cè),但不會(huì)啟動(dòng)幀內(nèi)預(yù)測(cè);反之,在圖3中,會(huì)啟動(dòng)幀內(nèi)預(yù)測(cè)則, 但不會(huì)啟動(dòng)交流/直流預(yù)測(cè)。如圖2所示,共享預(yù)測(cè)模塊150包含有多個(gè)共享組件,例如一控制有限狀態(tài)機(jī) (control finite state machine, control FSM) 210、一儲(chǔ)存單元 220、一存儲(chǔ)器控制器 230、一預(yù)測(cè)單元240、一鄰近值提供單元(neighbor available unit) 250以及一多工器單 元260。其中,控制有限狀態(tài)機(jī)210會(huì)產(chǎn)生一狀態(tài)控制訊號(hào)SC3給存儲(chǔ)器控制器230,接著, 存儲(chǔ)器控制器230會(huì)根據(jù)狀態(tài)控制訊號(hào)SC3來控制儲(chǔ)存模塊160的讀取/寫入動(dòng)作。舉例 來說,存儲(chǔ)器控制器230會(huì)控制第一先前預(yù)測(cè)結(jié)果PRll的地址及其相對(duì)應(yīng)數(shù)據(jù)。而儲(chǔ)存單 元220則用來儲(chǔ)存來自儲(chǔ)存模塊160或者回授自共享預(yù)測(cè)模塊150的第一先前預(yù)測(cè)結(jié)果 PRl 1。于本實(shí)施例中,儲(chǔ)存在儲(chǔ)存單元220中的第一先前預(yù)測(cè)結(jié)果PRl 1包含有一水平數(shù)據(jù) H_mem、一垂直數(shù)據(jù)V_mem以及一對(duì)角線數(shù)據(jù)X_mem。此外,鄰近值提供單元250耦接于預(yù) 測(cè)單元240,用來提供一鄰近預(yù)設(shè)數(shù)據(jù)ND,其中鄰近預(yù)設(shè)數(shù)據(jù)ND用在邊緣區(qū)塊(boundary block)或者邊緣像素(boundary pixel)之中。之后,預(yù)測(cè)單元240耦接于儲(chǔ)存單元220以 及鄰近值提供單元250,并利用至少第一先前預(yù)測(cè)結(jié)果rail (包含有水平數(shù)據(jù)H_mem、垂直 數(shù)據(jù)V_mem以及對(duì)角線數(shù)據(jù)X_mem)及/或鄰近預(yù)設(shè)數(shù)據(jù)ND來產(chǎn)生第一目前預(yù)測(cè)結(jié)果PRl。 再者,一限幅電路(clipping circuit) 270耦接至預(yù)測(cè)單元240,其用來將第一目前預(yù)測(cè)結(jié) 果PRl限制在一預(yù)定范圍之內(nèi),以產(chǎn)生該目前區(qū)塊的交流系數(shù)AC,再通過反量化單元170來 產(chǎn)生該目前區(qū)塊的直流系數(shù)DC并儲(chǔ)存在第一緩沖器180之中。最后,多工器單元260會(huì)選 擇直流系數(shù)DC以及交流系數(shù)Ac來作為第一目前預(yù)測(cè)結(jié)果rai,并將此第一目前預(yù)測(cè)結(jié)果 PRl寫入至儲(chǔ)存單元220以及儲(chǔ)存模塊160。
如圖3所示,共享預(yù)測(cè)模塊150亦包含有多個(gè)共享組件,例如控制有限狀態(tài)機(jī) 210、儲(chǔ)存單元220、存儲(chǔ)器控制器230、預(yù)測(cè)單元240、鄰近值提供單元250以及多工器單元 260。其中,控制有限狀態(tài)機(jī)210會(huì)根據(jù)幀內(nèi)模式訊號(hào)Sim來產(chǎn)生狀態(tài)控制訊號(hào)SC3給存儲(chǔ) 器控制器230,接著,存儲(chǔ)器控制器230會(huì)根據(jù)狀態(tài)控制訊號(hào)SC3來控制儲(chǔ)存模塊160的讀 取/寫入動(dòng)作。舉例來說,存儲(chǔ)器控制器230會(huì)控制第二先前預(yù)測(cè)結(jié)果冊(cè)22的地址及其相 對(duì)應(yīng)數(shù)據(jù)。而儲(chǔ)存單元220則用來儲(chǔ)存來自儲(chǔ)存模塊160或者回授自共享預(yù)測(cè)模塊150的 第二先前預(yù)測(cè)結(jié)果冊(cè)22。于本實(shí)施例中,儲(chǔ)存在儲(chǔ)存單元220中的第二先前預(yù)測(cè)結(jié)果冊(cè)22 包含有水平數(shù)據(jù)H_mem、垂直數(shù)據(jù)V_mem以及對(duì)角線數(shù)據(jù)X_mem。此外,鄰近值提供單元250 耦接于預(yù)測(cè)單元240,用來提供鄰近預(yù)設(shè)數(shù)據(jù)ND,其中鄰近預(yù)設(shè)數(shù)據(jù)ND用在邊緣區(qū)塊或者 邊緣像素之中。之后,預(yù)測(cè)單元240耦接于儲(chǔ)存單元220以及鄰近值提供單元250,并利用 至少第二先前預(yù)測(cè)結(jié)果冊(cè)22 (包含有水平數(shù)據(jù)H_mem、垂直數(shù)據(jù)V_mem以及對(duì)角線數(shù)據(jù)X_ mem)和/或鄰近預(yù)設(shè)數(shù)據(jù)ND來產(chǎn)生第二目前預(yù)測(cè)結(jié)果冊(cè)2,接著,第二緩沖器190則用來 儲(chǔ)存第二先前預(yù)測(cè)結(jié)果冊(cè)22。最后,多工器單元260會(huì)選擇將第二目前預(yù)測(cè)結(jié)果PR2寫入 至儲(chǔ)存單元220以及儲(chǔ)存模塊160。值得注意的是,上述的該多個(gè)共享組件(包含有控制有限狀態(tài)機(jī)210、儲(chǔ)存單元 220、存儲(chǔ)器控制器230、預(yù)測(cè)單元240、鄰近值提供單元250以及多工器單元260)在執(zhí)行交 流/直流預(yù)測(cè)以及幀內(nèi)預(yù)測(cè)的過程中皆會(huì)被使用到。因此,在本發(fā)明中揭示一種可涵蓋交 流/直流預(yù)測(cè)與幀內(nèi)預(yù)測(cè)的通用架構(gòu),如此一來,不但可以節(jié)省硬件成本,還可以滿足多格 式視訊譯碼器對(duì)于不同視訊標(biāo)準(zhǔn)的要求。換句話說,當(dāng)視訊比特流BS符合一第一視訊標(biāo)準(zhǔn)(例如,MPEG-4規(guī)格或者VC-I規(guī) 格)時(shí),系統(tǒng)控制器120會(huì)產(chǎn)生第一控制訊號(hào)SCl來啟動(dòng)比特流譯碼單元130,此時(shí)共享預(yù) 測(cè)模塊150用來執(zhí)行交流/直流預(yù)測(cè);而當(dāng)視訊比特流BS符合異于該第一視訊標(biāo)準(zhǔn)的一第 二視訊標(biāo)準(zhǔn)(例如,H. 264/AVC規(guī)格、RMVB規(guī)格或者AVS規(guī)格)時(shí),系統(tǒng)控制器120會(huì)產(chǎn)生 第二控制訊號(hào)SC2來啟動(dòng)幀內(nèi)模式譯碼單元140,此時(shí)共享預(yù)測(cè)模塊150用來執(zhí)行幀內(nèi)預(yù) 測(cè)。另外,在某些系統(tǒng)中,對(duì)于4x4區(qū)塊以及8x8區(qū)塊而言,可能會(huì)包含好幾種(九 種)不同的幀內(nèi)預(yù)測(cè)模式,舉例來說,在H. 264規(guī)格中,便定義了九種不同的幀內(nèi)預(yù)測(cè) 模式,分別為垂直預(yù)測(cè)模式0、水平預(yù)測(cè)模式1、直流預(yù)測(cè)模式2、對(duì)角線向下-左預(yù)測(cè) t莫式(diagonal down-left predictionmode) 3、對(duì)角線向下 _ 右預(yù) 貝Ij |莫式(diagonal down-right prediction mode) 4、垂直向右預(yù)測(cè)模式(vertical-right prediction mode) 5、水平向下預(yù)測(cè)模式(horizontal-down prediction mode) 6、垂直向左預(yù)測(cè)模式7以 及水平向上預(yù)測(cè)模式8 ;對(duì)于16x16區(qū)塊而言,可能會(huì)包含四種不同的幀內(nèi)預(yù)測(cè)的模式,舉 例來說,在H. 264規(guī)格中,便定義了四種不同的幀內(nèi)預(yù)測(cè)模式,分別為垂直預(yù)測(cè)模式1、水 平預(yù)測(cè)模式2、直流預(yù)測(cè)模式0以及平面預(yù)測(cè)模式3。若是將AVS規(guī)格、H. 264/AVC規(guī)格以及 RV規(guī)格中的幀內(nèi)預(yù)測(cè)模式進(jìn)行匯總,便可以得到相同或者類似的特性,如此一來,可進(jìn)一步 將圖3中的預(yù)測(cè)單元240再簡(jiǎn)化。請(qǐng)參考圖4,圖4為顯示圖3所示的預(yù)測(cè)單元240的一實(shí)施例的示意圖。于本實(shí)施 例中,預(yù)測(cè)單元240包含有(但不局限于)一第一多工器410、一第一運(yùn)算單元420、一第二 運(yùn)算單元430、一加法單元440、一移位器(shifter) 450、一第二多工器460以及一第三多工器470。其中,第一多工器410選擇性地輸出水平數(shù)據(jù)H_mem、垂直數(shù)據(jù)V_mem以及對(duì)角線 數(shù)據(jù)X_mem中的至少其一,并產(chǎn)生一第一多工器輸出(例如,” al ”及/或” a2”)。第一運(yùn) 算單元420以及第二運(yùn)算單元430耦接于第一多工器410,其中第一運(yùn)算單元420根據(jù)該第 一多工器輸出來產(chǎn)生一第一運(yùn)算結(jié)果,而第二運(yùn)算單元430則根據(jù)該第一多工器輸出來產(chǎn) 生一第二運(yùn)算結(jié)果。請(qǐng)注意,在本實(shí)施例中,第一運(yùn)算單元420是由多個(gè)加法器421、423、多 個(gè)寄存器422、425以及一個(gè)四舍五入移位器(rounding shifter) 424所實(shí)現(xiàn)的;而第二運(yùn) 算單元430則是由多個(gè)加法器431、433、多個(gè)寄存器432、435以及一個(gè)四舍五入移位器434 所實(shí)現(xiàn)的,但此并非本發(fā)明的限制條件。此外,上述各組件的連接方式已如圖4所示,為簡(jiǎn) 潔起見便不再贅述。另外,加法單元440耦接于第一運(yùn)算單元420以及第二運(yùn)算單元430,用來將第一 運(yùn)算結(jié)果以及第二運(yùn)算結(jié)果進(jìn)行相加,以產(chǎn)生一加法結(jié)果。而移位器450耦接于加法單元 440,用來將該加法結(jié)果進(jìn)行移位以產(chǎn)生一第一移位后結(jié)果以及一第二移位后結(jié)果。接著, 第二多工器460耦接于第一多工器410、第一運(yùn)算單元420以及移位器450,用來選擇性地 輸出該第一多工器輸出、該第一運(yùn)算結(jié)果或者該第一移位后結(jié)果。同樣地,第三多工器470 耦接于第一多工器410、第二運(yùn)算單元430以及移位器450,用來選擇性地輸出該第一多工 器輸出、該第二運(yùn)算結(jié)果或者該第二移位后結(jié)果。值得注意的是,第一運(yùn)算單元420以及第二運(yùn)算單元430共同分擔(dān)完成上述的對(duì) 角線預(yù)測(cè)模式以及直流預(yù)測(cè)模式;而額外的加法單元440以及移位器450則用來完成平面 預(yù)測(cè)模式;至于垂直預(yù)測(cè)模式以及水平預(yù)測(cè)模式,則可藉由直接輸出該第一多任務(wù)輸出來 完成的。以上所述的實(shí)施例僅用來說明本發(fā)明的技術(shù)特征,并非本發(fā)明的限制條件。當(dāng)然, 熟本領(lǐng)域的技術(shù)人員應(yīng)可了解,在不違背本發(fā)明的精神的情況下,以其它方式來實(shí)現(xiàn)共享 預(yù)測(cè)模塊150的預(yù)測(cè)單元240皆是可行的。圖5為說明本發(fā)明譯碼方法的一操作范例的流程圖,其包含以下的步驟(請(qǐng)注意, 假若可得到大致相同的結(jié)果,則下列步驟并非限定要依據(jù)圖5所示的順序來執(zhí)行)步驟S502:開始。步驟S504 提供一視訊比特流。步驟S506 根據(jù)視訊比特流的一信息來選擇性地產(chǎn)生一第一控制訊號(hào)或者一第 二控制訊號(hào)。步驟S510 當(dāng)接收到第一控制訊號(hào)時(shí),根據(jù)視訊比特流的信息來產(chǎn)生一譯碼信息 訊號(hào)。步驟S512 利用一共享預(yù)測(cè)模塊以根據(jù)譯碼信息訊號(hào)來執(zhí)行一交流/直流預(yù)測(cè)在 視訊比特流的一目前區(qū)塊上,以產(chǎn)生一第一目前預(yù)測(cè)結(jié)果;其中該共享預(yù)測(cè)模塊包含有至 少一共享組件,且該至少一共享組件在執(zhí)行交流/直流預(yù)測(cè)以及幀內(nèi)預(yù)測(cè)的過程中皆會(huì)被 使用到。步驟S520 當(dāng)接收到第二控制訊號(hào)時(shí),產(chǎn)生一幀內(nèi)模式訊號(hào)。步驟S522 利用共享預(yù)測(cè)模塊以根據(jù)幀內(nèi)模式訊號(hào)來執(zhí)行一幀內(nèi)預(yù)測(cè)在目前區(qū) 塊上,以產(chǎn)生一第二目前預(yù)測(cè)結(jié)果。關(guān)于圖5所示的各步驟請(qǐng)結(jié)合圖1所示的各組件,即可了解各組件之間如何運(yùn)作,為簡(jiǎn)潔起見于此不再贅述。請(qǐng)注意,步驟S504是可由比特流緩沖器110所執(zhí)行的,步驟 S506是可由系統(tǒng)控制器120所執(zhí)行的,步驟S510是可由比特流譯碼單元130所執(zhí)行的,步 驟S520是可由幀內(nèi)模式譯碼單元140所執(zhí)行的,而步驟S512、S522則可由共享預(yù)測(cè)模塊 150所執(zhí)行的。請(qǐng)注意,上述的流程圖的步驟僅為本發(fā)明可行的實(shí)施例,并非本發(fā)明的限制條件, 本領(lǐng)域的技術(shù)人員應(yīng)可了解,在不違背本發(fā)明的精神的前提下,圖5的流程的步驟可再增 加其它的中間步驟或者可將數(shù)個(gè)步驟合并成單一步驟。以上所述的實(shí)施例僅用來說明本發(fā)明的技術(shù)特征,并非用來局限本發(fā)明的范疇。 由上可知,本發(fā)明提供一種多格式視訊譯碼器及其相關(guān)的譯碼方法。通過利用共享數(shù)據(jù)以 及共享預(yù)測(cè)模塊中的共享組件(包含有控制有限狀態(tài)機(jī)210、儲(chǔ)存單元220、存儲(chǔ)器控制器 230、預(yù)測(cè)單元240、一鄰近值提供單元250以及多工器單元260)來執(zhí)行交流/直流預(yù)測(cè)以 及幀內(nèi)預(yù)測(cè),如此一來,不但可以節(jié)省硬件成本,還可以滿足多格式視訊譯碼器各種不同規(guī) 格的要求。此外,由于在AVS規(guī)格、H. 264/AVC規(guī)格以及RV規(guī)格中,他們的幀內(nèi)預(yù)測(cè)模式也 有很多共同特征,因此當(dāng)預(yù)測(cè)單元240應(yīng)用在幀內(nèi)預(yù)測(cè)的情況時(shí),其架構(gòu)可以更為簡(jiǎn)化。如 此一來,可以進(jìn)一步節(jié)省多格式視訊譯碼器更多的硬件成本與芯片面積。以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明的權(quán)利要求所做的均等變化與修 飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種多格式視訊譯碼器,包含有一比特流緩沖器,用來提供一視訊比特流;一系統(tǒng)控制器,耦接于該比特流緩沖器,用來根據(jù)該視訊比特流的一信息來選擇性地 產(chǎn)生一第一控制訊號(hào)或者一第二控制訊號(hào);一比特流譯碼單元,耦接于該系統(tǒng)控制器以及該比特流緩沖器,用來于接收到該第一 控制訊號(hào)時(shí),根據(jù)該視訊比特流的該信息來產(chǎn)生一譯碼信息訊號(hào);一幀內(nèi)模式譯碼單元,耦接于該系統(tǒng)控制器,用來于接收到該第二控制訊號(hào)時(shí),產(chǎn)生一 幀內(nèi)模式訊號(hào);以及一共享預(yù)測(cè)模塊,耦接于該比特流譯碼單元以及該幀內(nèi)模式譯碼單元,用來根據(jù)該譯 碼信息訊號(hào)來執(zhí)行一交流/直流預(yù)測(cè)在該視訊比特流的一目前區(qū)塊上,以產(chǎn)生一第一目前 預(yù)測(cè)結(jié)果,并根據(jù)該幀內(nèi)模式訊號(hào)來執(zhí)行一幀內(nèi)預(yù)測(cè)在該目前區(qū)塊上,以產(chǎn)生一第二目前 預(yù)測(cè)結(jié)果,其中該共享預(yù)測(cè)模塊包含有至少一共享組件,且該至少一共享組件在執(zhí)行該交 流/直流預(yù)測(cè)以及該幀內(nèi)預(yù)測(cè)的過程中皆會(huì)被使用到。
2.如權(quán)利要求1所述的多格式視訊譯碼器,其還包含一儲(chǔ)存模塊,耦接于該共享預(yù)測(cè)模塊,用來儲(chǔ)存該第一目前預(yù)測(cè)結(jié)果以及該第二目前 預(yù)測(cè)結(jié)果,并用來儲(chǔ)存一第一先前預(yù)測(cè)結(jié)果以及一第二先前預(yù)測(cè)結(jié)果;其中,該第一先前預(yù)測(cè)結(jié)果是藉由執(zhí)行該交流/直流預(yù)測(cè)在該視訊比特流的一已譯碼 區(qū)塊上所產(chǎn)生的,且該已譯碼區(qū)塊是在譯碼該目前區(qū)塊之前先被解碼;以及該第二先前預(yù) 測(cè)結(jié)果是藉由執(zhí)行該幀內(nèi)預(yù)測(cè)在該已譯碼區(qū)塊上所產(chǎn)生的。
3.如權(quán)利要求2所述的多格式視訊譯碼器,其中該共享預(yù)測(cè)模塊包含有多個(gè)共享組 件,且該多個(gè)共享組件包含有一儲(chǔ)存單元,用來儲(chǔ)存該第一先前預(yù)測(cè)結(jié)果,其中該第一先前預(yù)測(cè)結(jié)果是來自該儲(chǔ)存 模塊或者該共享預(yù)測(cè)模塊;以及一預(yù)測(cè)單元,耦接于該儲(chǔ)存單元,用來利用至少該第一先前預(yù)測(cè)結(jié)果以根據(jù)該譯碼信 息訊號(hào)來產(chǎn)生該第一目前預(yù)測(cè)結(jié)果。
4.如權(quán)利要求3所述的多格式視訊譯碼器,其中該多個(gè)共享組件還包含有一鄰近值提供單元,耦接于該預(yù)測(cè)單元,用來提供一鄰近預(yù)設(shè)數(shù)據(jù),其中該預(yù)測(cè)單元是 利用至少該第一先前預(yù)測(cè)結(jié)果或者該鄰近預(yù)設(shè)數(shù)據(jù)以根據(jù)該譯碼信息訊號(hào)來產(chǎn)生該第一 目前預(yù)測(cè)結(jié)果。
5.如權(quán)利要求3所述的多格式視訊譯碼器,其中儲(chǔ)存在該儲(chǔ)存單元中的該第一先前預(yù) 測(cè)結(jié)果包含有一水平數(shù)據(jù)、一垂直數(shù)據(jù)以及一對(duì)角線數(shù)據(jù)。
6.如權(quán)利要求2所述的多格式視訊譯碼器,其中該共享預(yù)測(cè)模塊包含有多個(gè)共享組 件,且該多個(gè)共享組件包含有一儲(chǔ)存單元,用來儲(chǔ)存該第二先前預(yù)測(cè)結(jié)果,其中該第二先前預(yù)測(cè)結(jié)果是來自該儲(chǔ)存 模塊或者該共享預(yù)測(cè)模塊;以及一預(yù)測(cè)單元,耦接于該儲(chǔ)存單元,用來利用至少該第二先前預(yù)測(cè)結(jié)果以根據(jù)該幀內(nèi)模 式訊號(hào)來產(chǎn)生該第二目前預(yù)測(cè)結(jié)果。
7.如權(quán)利要求6所述的多格式視訊譯碼器,其中該多個(gè)共享組件還包含有一鄰近值提供單元,耦接于該預(yù)測(cè)單元,用來提供一鄰近預(yù)設(shè)數(shù)據(jù),其中該預(yù)測(cè)單元是利用至少該第二先前預(yù)測(cè)結(jié)果或者該鄰近預(yù)設(shè)數(shù)據(jù)以根據(jù)該幀內(nèi)模式訊號(hào)來產(chǎn)生該第二 目前預(yù)測(cè)結(jié)果。
8.如權(quán)利要求6所述的多格式視訊譯碼器,其中儲(chǔ)存在該儲(chǔ)存單元中的該第二先前預(yù) 測(cè)結(jié)果包含有一水平數(shù)據(jù)、一垂直數(shù)據(jù)以及一對(duì)角線數(shù)據(jù)。
9.如權(quán)利要求8所述的多格式視訊譯碼器,其中該預(yù)測(cè)單元還包含有一第一多工器,耦接于該儲(chǔ)存單元,用來選擇性地輸出該水平數(shù)據(jù)、該垂直數(shù)據(jù)以及該 對(duì)角線數(shù)據(jù)中的至少其一,并產(chǎn)生一第一多工器輸出;一第一運(yùn)算單元,耦接于該第一多工器,用來根據(jù)該第一多工器輸出來產(chǎn)生一第一運(yùn) 算結(jié)果;一第二運(yùn)算單元,耦接于該第一多工器,用來根據(jù)該第一多工器輸出來產(chǎn)生一第二運(yùn) 算結(jié)果;一加法單元,耦接于該第一運(yùn)算單元以及該第二運(yùn)算單元,用來將該第一運(yùn)算結(jié)果以 及該第二運(yùn)算結(jié)果進(jìn)行相加,以產(chǎn)生一加法結(jié)果;一移位器,耦接于該加法單元,用來將該加法結(jié)果進(jìn)行移位以產(chǎn)生一第一移位后結(jié)果 以及一第二移位后結(jié)果;一第二多工器,耦接于該第一多工器、該第一運(yùn)算單元以及該移位器,用來選擇性地輸 出該第一多工器輸出、該第一運(yùn)算結(jié)果或者該第一移位后結(jié)果;以及一第三多工器,耦接于該第一多工器、該第二運(yùn)算單元以及該移位器,用來選擇性地輸 出該第一多工器輸出、該第二運(yùn)算結(jié)果或者該第二移位后結(jié)果。
10.如權(quán)利要求9所述的多格式視訊譯碼器,其中該第一運(yùn)算單元包含有多個(gè)加法器、 多個(gè)寄存器以及一個(gè)四舍五入移位器;而該第二運(yùn)算單元包含有多個(gè)加法器、多個(gè)寄存器 以及一個(gè)四舍五入移位器。
11.如權(quán)利要求1所述的多格式視訊譯碼器,其中該第一目前預(yù)測(cè)結(jié)果包含有該目前 區(qū)塊的直流系數(shù)以及交流系數(shù)。
12.如權(quán)利要求1所述的多格式視訊譯碼器,其中當(dāng)該視訊比特流符合一第一視訊標(biāo) 準(zhǔn)時(shí),該系統(tǒng)控制器產(chǎn)生該第一控制訊號(hào)來啟動(dòng)該比特流譯碼單元,且該共享預(yù)測(cè)模塊用 來執(zhí)行該交流/直流預(yù)測(cè);以及當(dāng)該視訊比特流符合異于該第一視訊標(biāo)準(zhǔn)的一第二視訊標(biāo) 準(zhǔn)時(shí),該系統(tǒng)控制器產(chǎn)生該第二控制訊號(hào)來啟動(dòng)該幀內(nèi)模式譯碼單元,且該共享預(yù)測(cè)模塊 用來執(zhí)行該幀內(nèi)預(yù)測(cè)。
13.如權(quán)利要求12所述的多格式視訊譯碼器,其中該第一視訊標(biāo)準(zhǔn)包含一MPEG-4規(guī) 格或者一 VC-I規(guī)格;以及該第二視訊標(biāo)準(zhǔn)包含一 H. 264/AVC規(guī)格、一 RMVB規(guī)格或者一 AVS 規(guī)格。
14.一種解碼方法,包含有以下步驟 提供一視訊比特流;根據(jù)該視訊比特流的一信息來選擇性地產(chǎn)生一第一控制訊號(hào)或者一第二控制訊號(hào); 當(dāng)接收到該第一控制訊號(hào)時(shí),根據(jù)該視訊比特流的該信息來產(chǎn)生一譯碼信息訊號(hào); 利用一共享預(yù)測(cè)模塊以根據(jù)該譯碼信息訊號(hào)來執(zhí)行一交流/直流預(yù)測(cè)在該視訊比特 流的一目前區(qū)塊上,以產(chǎn)生一第一目前預(yù)測(cè)結(jié)果;當(dāng)接收到該第二控制訊號(hào)時(shí),產(chǎn)生一幀內(nèi)模式訊號(hào);以及利用該共享預(yù)測(cè)模塊以根據(jù)該幀內(nèi)模式訊號(hào)來執(zhí)行一幀內(nèi)預(yù)測(cè)在該目前區(qū)塊上,以產(chǎn) 生一第二目前預(yù)測(cè)結(jié)果;其中該共享預(yù)測(cè)模塊包含有至少一共享組件,且該至少一共享組件在執(zhí)行該交流/直 流預(yù)測(cè)以及該幀內(nèi)預(yù)測(cè)的過程中皆會(huì)被使用到。
15.如權(quán)利要求14所述的方法,其還包含以下步驟 儲(chǔ)存該第一目前預(yù)測(cè)結(jié)果以及該第二目前預(yù)測(cè)結(jié)果。
16.如權(quán)利要求15所述的方法,其還包含以下步驟利用該共享預(yù)測(cè)模塊以根據(jù)該譯碼信息訊號(hào)來執(zhí)行該交流/直流預(yù)測(cè)在該視訊比特 流的一已譯碼區(qū)塊上,以產(chǎn)生一第一先前預(yù)測(cè)結(jié)果;利用該共享預(yù)測(cè)模塊以根據(jù)該幀內(nèi)模式訊號(hào)來執(zhí)行該幀內(nèi)預(yù)測(cè)在該已譯碼區(qū)塊上,以 產(chǎn)生一第二先前預(yù)測(cè)結(jié)果;以及儲(chǔ)存該第一先前預(yù)測(cè)結(jié)果以及該第二先前預(yù)測(cè)結(jié)果。
17.如權(quán)利要求15所述的方法,其還包含以下步驟 提供一鄰近預(yù)設(shè)數(shù)據(jù);其中,執(zhí)行該交流/直流預(yù)測(cè)在該視訊比特流的該目前區(qū)塊上的步驟包含有 利用至少該第一先前預(yù)測(cè)結(jié)果或者該鄰近預(yù)設(shè)數(shù)據(jù)以根據(jù)該譯碼信息訊號(hào)來產(chǎn)生該 第一目前預(yù)測(cè)結(jié)果;以及執(zhí)行該幀內(nèi)預(yù)測(cè)在該目前區(qū)塊上的步驟包含有利用至少該第二先前預(yù)測(cè)結(jié)果或者該鄰近預(yù)設(shè)數(shù)據(jù)以根據(jù)該幀內(nèi)模式訊號(hào)來產(chǎn)生該 第二目前預(yù)測(cè)結(jié)果。
18.如權(quán)利要求16所述的方法,其中該第二先前預(yù)測(cè)結(jié)果包含有一水平數(shù)據(jù)、一垂直 數(shù)據(jù)以及一對(duì)角線數(shù)據(jù),以及該方法還包含以下步驟選擇性地輸出該水平數(shù)據(jù)、該垂直數(shù)據(jù)以及該對(duì)角線數(shù)據(jù)中的至少其一,并產(chǎn)生一第 一多工器輸出;根據(jù)該第一多工器輸出來產(chǎn)生一第一運(yùn)算結(jié)果; 根據(jù)該第一多工器輸出來產(chǎn)生一第二運(yùn)算結(jié)果; 將該第一運(yùn)算結(jié)果以及該第二運(yùn)算結(jié)果進(jìn)行相加,以產(chǎn)生一加法結(jié)果; 將該加法結(jié)果進(jìn)行移位以產(chǎn)生一第一移位后結(jié)果以及一第二移位后結(jié)果; 選擇性地輸出該第一多工器輸出、該第一運(yùn)算結(jié)果或者該第一移位后結(jié)果;以及 選擇性地輸出該第一多工器輸出、該第二運(yùn)算結(jié)果或者該第二移位后結(jié)果。
19.如權(quán)利要求14所述的方法,其中當(dāng)該視訊比特流符合一第一視訊標(biāo)準(zhǔn)時(shí),產(chǎn)生該 第一控制訊號(hào)來執(zhí)行該交流/直流預(yù)測(cè);以及當(dāng)該視訊比特流符合異于該第一視訊標(biāo)準(zhǔn)的 一第二視訊標(biāo)準(zhǔn)時(shí),產(chǎn)生該第二控制訊號(hào)來執(zhí)行該幀內(nèi)預(yù)測(cè)。
全文摘要
本發(fā)明涉及多格式視訊譯碼器及其相關(guān)的譯碼方法,該視訊譯碼器包含比特流緩沖器、系統(tǒng)控制器、比特流譯碼單元、幀內(nèi)模式譯碼單元及共享預(yù)測(cè)模塊。系統(tǒng)控制器根據(jù)視訊比特流來產(chǎn)生第一、第二控制訊號(hào)。收到第一控制訊號(hào)時(shí),比特流譯碼單元產(chǎn)生譯碼信息訊號(hào)。收到第二控制訊號(hào)時(shí),幀內(nèi)模式譯碼單元產(chǎn)生幀內(nèi)模式訊號(hào)。共享預(yù)測(cè)模塊根據(jù)譯碼信息訊號(hào)來執(zhí)行交流直流預(yù)測(cè)在視訊比特流的目前區(qū)塊,并根據(jù)幀內(nèi)模式訊號(hào)來執(zhí)行幀內(nèi)預(yù)測(cè)在目前區(qū)塊,以分別產(chǎn)生第一、第二目前預(yù)測(cè)結(jié)果。共享預(yù)測(cè)模塊包含在交流直流預(yù)測(cè)及幀內(nèi)預(yù)測(cè)中皆會(huì)使用到的共享組件。
文檔編號(hào)H04N7/26GK102131089SQ20101016929
公開日2011年7月20日 申請(qǐng)日期2010年4月29日 優(yōu)先權(quán)日2010年1月20日
發(fā)明者周淑嫻, 林展世, 林桂蘭 申請(qǐng)人:承景科技股份有限公司