儲(chǔ)存于緩沖裝置中的多重圖像塊編碼圖像的數(shù)據(jù)存取方法及裝置制造方法
【專(zhuān)利摘要】一種用于緩沖裝置的讀取指針暫存的方法,所述緩沖裝置用來(lái)緩沖多重圖像塊編碼圖像的數(shù)據(jù),所述多重圖像塊編碼圖像具有多個(gè)圖像塊,所述方法包含有以下步驟:判斷在解碼所述多重圖像塊編碼圖像的第一圖像塊時(shí)是否遇到所述第一圖像塊的圖像塊邊界;以及當(dāng)判斷遇到所述第一圖像塊的所述圖像塊邊界時(shí),將目前使用中的讀取指針儲(chǔ)存至指針緩沖器,并且從所述指針緩沖器中載入選取的讀取指針來(lái)作為所述目前使用中的讀取指針。
【專(zhuān)利說(shuō)明】?jī)?chǔ)存于緩沖裝置中的多重圖像塊編碼圖像的數(shù)據(jù)存取方法及裝置
[0001]相關(guān)串請(qǐng)的交叉引用
[0002]本申請(qǐng)是2011年11月24日遞交的申請(qǐng)?zhí)枮?3/304,372的未決美國(guó)案的部分延續(xù)案,申請(qǐng)?zhí)枮?3/304,372的未決美國(guó)案的申請(qǐng)專(zhuān)利范圍要求2012年11月20日遞交的申請(qǐng)?zhí)枮?3/681,426的美國(guó)臨時(shí)案的優(yōu)先權(quán);并且本申請(qǐng)還要求2011年12月5日遞交的申請(qǐng)?zhí)枮?1/566,984的美國(guó)臨時(shí)案的優(yōu)先權(quán)。在此合并參考這些申請(qǐng)案的申請(qǐng)標(biāo)的。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明有關(guān)于視頻/圖像處理(video/image processing),尤指一種儲(chǔ)存于緩沖裝置中的多重圖像塊編碼圖像(mult1-tile encoded picture)的數(shù)據(jù)存取方法,以及儲(chǔ)存于緩沖裝置中的多重圖像塊編碼圖像的數(shù)據(jù)存取裝置。
【背景技術(shù)】
[0004]VP8是一種由谷歌公司(Google)所發(fā)表的一種開(kāi)放的視頻壓縮格式,如同許多現(xiàn)今的視頻壓縮機(jī)制,VP8也是基于將巾貞(frame)解構(gòu)(decomposition)為內(nèi)含像素的正方形子區(qū)塊、使用之前重建的區(qū)塊來(lái)對(duì)這些子區(qū)塊進(jìn)行預(yù)測(cè)(prediction),并采用離散余弦轉(zhuǎn)換(discrete cosine transform, DCT)來(lái)針對(duì)這些預(yù)測(cè)結(jié)果進(jìn)行調(diào)整(以及針對(duì)未預(yù)測(cè)的區(qū)塊(unpredicted block)進(jìn)行合成(synthesis))。然而,在特定的情況下,VP8則會(huì)使用沃爾什-哈達(dá)馬德轉(zhuǎn)換(Walsh-Hadamard transform, WHT),而非一般采用的離散余弦轉(zhuǎn)換。
[0005]WebP是谷歌公司根據(jù)VP8所發(fā)展的一種圖像格式,進(jìn)一步來(lái)說(shuō),WebP是基于VP8的巾貞內(nèi)編碼(intra-frame coding),并采用基于資源交換檔案標(biāo)準(zhǔn)格式(resourceinterchange file format, RIFF)的容器(container)。此外,WebP 被公開(kāi)為一種新的開(kāi)放標(biāo)準(zhǔn),其針對(duì)攝影圖像提供有耗損的壓縮(lossy compression)。在90萬(wàn)張網(wǎng)頁(yè)圖像的大規(guī)模研究中,在相似的圖像品質(zhì)之下,WebP格式的圖像相較于聯(lián)合圖像專(zhuān)家小組(JointPhotographic Experts Group, JPEG)格式的圖像,其檔案大小縮小了 39.8%,因此,網(wǎng)頁(yè)管理者、網(wǎng)頁(yè)開(kāi)發(fā)者以及瀏覽器開(kāi)發(fā)者便可使用WebP格式來(lái)提供更小且更好看的圖像,進(jìn)而改善使用者的網(wǎng)頁(yè)瀏覽。
[0006]依據(jù)VP8/WebP的規(guī)格,VP8/ffebP解碼器的輸入會(huì)是一連串的壓縮幀(compressedframe),而其輸入次序會(huì)與這些巾貞在時(shí)間軸上的次序一致。此外,每一壓縮中貞中會(huì)具有多個(gè)分割(partition)。由于VP8/WebP比特流(bitstream)是用來(lái)傳送壓縮中貞(每一壓縮幀中會(huì)具有多個(gè)分割),因此如何有效率地緩沖并解碼一個(gè)多重分割VP8/WebP比特流中的每一壓縮幀便成為此【技術(shù)領(lǐng)域】中的一項(xiàng)重要課題。
[0007]如高效率視頻編碼(High-Efficiency Video Coding, HEVC)標(biāo)準(zhǔn)中所建議的,一個(gè)圖像可以被劃分成多個(gè)圖像塊(tile)。圖19為高效率視頻編碼標(biāo)準(zhǔn)中所采用的圖像塊的不意圖。圖20為圖19所不的圖像塊的一傳統(tǒng)解碼順序的不意圖。如圖19所不,圖像10分別被劃分成多個(gè)圖像塊Tn’?Τ13’、Τ21’?Τ23’以及Τ31’?Τ33’,其是以行邊界(rowboundary)(即,水平方向的邊界)HB/、HB2’和列邊界(column boundary)(即,垂直方向的邊界)VB/、VB2’來(lái)加以區(qū)隔(s印arated)。如圖20所示,在每一圖像塊當(dāng)中,多個(gè)最大編碼單兀(largest coding unit, LCU) / 樹(shù)狀結(jié)構(gòu)(treeblock, TB)會(huì)進(jìn)行柵狀掃描(rasterscan),例如,在同一圖像塊T11中,依照阿拉伯?dāng)?shù)字編號(hào)的順序來(lái)對(duì)最大編碼單元/樹(shù)狀結(jié)構(gòu)進(jìn)行解碼。換句話(huà)說(shuō),如圖20所示,在每一多重圖像塊編碼圖像當(dāng)中,以柵狀掃描的方式對(duì)圖像塊進(jìn)行處理,舉例來(lái)說(shuō),圖像塊Tn’?T13’、T21 ’?T2/以及T31’?Τ33’依序被解碼。具體而言,一張圖像可以均勻地被分割為多個(gè)圖像塊,或均勻地被分割成多個(gè)特定的最大編碼單元-列-行圖像塊(IXU-column-row tile)。圖像塊是具有垂直邊界和水平邊界的一個(gè)區(qū)塊,且必定是矩形,而所述矩形之中會(huì)具有整數(shù)數(shù)量的最大編碼單元/樹(shù)狀結(jié)構(gòu)。
[0008]依據(jù)高效率視頻編碼標(biāo)準(zhǔn),存在有兩種類(lèi)型的圖像塊:獨(dú)立圖像塊(independenttile)和相依圖像塊(dependent tile)。關(guān)于獨(dú)立圖像塊,它們被視為子圖像(sub-pictures) /子串流(sub-streams)。因此,獨(dú)立圖像塊中最大編碼單元/樹(shù)狀結(jié)構(gòu)的編碼/解碼(例如,運(yùn)動(dòng)向量預(yù)測(cè)(motion vector prediction)、畫(huà)面內(nèi)預(yù)測(cè)(intraprediction)、去區(qū)塊濾波(deblocking filter, DF )、樣本自適應(yīng)偏移(sample adaptiveoffset, SA0)、自適應(yīng)性回路濾波(adaptive loop filter, ALF)、熵編碼(entropy coding)等)并不需要參考其他圖像塊當(dāng)中的數(shù)據(jù)。此外,假設(shè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的數(shù)據(jù)是使用算術(shù)編碼(例如基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼(context-based adaptivebinary arithmetic coding, CABAC)演算法)來(lái)進(jìn)行編碼/解碼。此時(shí)對(duì)于每個(gè)獨(dú)立的圖像塊來(lái)說(shuō),在圖像塊的開(kāi)始處,所述基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)會(huì)被初始化/重新初始化,并且,所述圖像塊的所述圖像塊邊界以外的最大編碼單元的數(shù)據(jù)被視為不可使用。舉例來(lái)說(shuō),當(dāng)開(kāi)始對(duì)圖像塊Tn’解碼時(shí),圖像塊Tn’中編號(hào)為“I”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將被初始化,當(dāng)開(kāi)始對(duì)圖像塊T12’解碼時(shí),圖像塊Τ12’中編號(hào)為“13”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將被重新初始化,當(dāng)開(kāi)始對(duì)圖像塊Τ13’解碼時(shí),圖像塊Τ13’中編號(hào)為“31”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將被重新初始化,以及當(dāng)開(kāi)始對(duì)圖像塊T21 ’解碼時(shí),圖像塊T21 ’中編號(hào)為“40”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將被重新初始化。
[0009]然而,對(duì)相依圖像塊中最大編碼單元/樹(shù)狀結(jié)構(gòu)的編碼/解碼(例如,運(yùn)動(dòng)向量預(yù)測(cè)、畫(huà)面內(nèi)預(yù)測(cè)、去區(qū)塊濾波、樣本自適應(yīng)偏移、自適應(yīng)性回路濾波、熵編碼等),則必須要考慮到其他圖像塊的數(shù)據(jù),因此,若要成功地對(duì)具有相依圖像塊在其中的多重圖像塊編碼圖像/壓縮畫(huà)面進(jìn)行解碼,則需要垂直緩沖器和水平緩沖器。具體而言,垂直緩沖器用于緩沖位于目前解碼圖像塊的垂直邊界(例如,左側(cè)垂直邊界)旁的相鄰圖像塊的最大編碼單元/樹(shù)狀結(jié)構(gòu)的解碼數(shù)據(jù),而所述水平緩沖器用于緩沖位于所述目前解碼圖像塊的水平邊界(例如,上方水平邊界)旁的另一相鄰圖像塊的最大編碼單元/樹(shù)狀結(jié)構(gòu)的解碼數(shù)據(jù)。因此,所述多重圖像塊編碼圖像/壓縮畫(huà)面進(jìn)行解碼所需的緩沖器尺寸會(huì)比較大,進(jìn)而導(dǎo)致較高的生產(chǎn)成本。此外,假設(shè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的數(shù)據(jù)是使用算術(shù)編碼(例如使用基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼演算法)來(lái)進(jìn)行編碼/解碼,此時(shí)對(duì)于每個(gè)相依圖像塊來(lái)說(shuō),在圖像塊的開(kāi)始處,基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)會(huì)被初始化,或是繼承(inherited)其他圖像塊的統(tǒng)計(jì)數(shù)據(jù)。例如,當(dāng)開(kāi)始對(duì)圖像塊Tn’解碼時(shí),圖像塊Τη’中編號(hào)為“I”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將被初始化,而開(kāi)始對(duì)圖像塊Τ12’解碼時(shí),圖像塊Τ12’中編號(hào)為“13”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將繼承圖像塊T1/中編號(hào)為“ 12”的最后一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù),當(dāng)開(kāi)始對(duì)圖像塊Τ13’解碼時(shí),圖像塊Τ13’中編號(hào)為“31”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將繼承圖像塊Τ12’中編號(hào)為“30”的最后一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù),當(dāng)開(kāi)始對(duì)圖像塊Τ21’解碼時(shí),圖像塊T21 ’中編號(hào)為“40”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)將繼承圖像塊Τ13’中編號(hào)為“39”的最后一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)性二進(jìn)制算術(shù)編碼的統(tǒng)計(jì)數(shù)據(jù)。
[0010]對(duì)于聯(lián)合圖像專(zhuān)家組織延伸范圍(Joint Photographic Experts Groupextended range, JPEG-XR)標(biāo)準(zhǔn)來(lái)說(shuō),一個(gè)畫(huà)面可以分割成多個(gè)特定的宏塊-列-行(macrob1ck-column-rowtiIe)圖像塊。圖像塊是具有垂直邊界和水平邊界的區(qū)塊,所述區(qū)塊為矩形且其中包含有整數(shù)數(shù)量的宏塊。每一圖像塊中依序?qū)Χ鄠€(gè)宏塊進(jìn)行柵狀掃描,且在每一多重圖像塊編碼圖像中,依序?qū)Χ鄠€(gè)圖像塊進(jìn)行柵狀掃描。根據(jù)聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn),存在有兩種類(lèi)型的圖像塊:硬式圖像塊(hard tile)和軟式圖像塊(softtile)。對(duì)于硬式圖像塊來(lái)說(shuō),其被視為子圖像,因此,對(duì)硬式圖像塊的宏塊進(jìn)行編碼/解碼時(shí),不需要參考其他圖像塊的數(shù)據(jù)。然而,對(duì)軟式圖像塊的宏塊進(jìn)行編碼/解碼時(shí),則需要參考其他圖像塊的數(shù)據(jù),例如,在軟式圖像塊中,重疊濾波(overlap filtering)處理可跨越圖像塊邊界。
[0011]由于多重圖像塊高效率視頻編碼標(biāo)準(zhǔn)/聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn)的比特流被定義來(lái)傳送編碼/壓縮后的畫(huà)面,其中每個(gè)畫(huà)面具有包含于其中的多個(gè)圖像塊,因此,如何有效率地緩沖和對(duì)多重圖像塊高效率視頻編碼標(biāo)準(zhǔn)/聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn)的比特流中的每一編碼/壓縮后的畫(huà)面進(jìn)行解碼,已成為此領(lǐng)域中一個(gè)重要的問(wèn)題。
【發(fā)明內(nèi)容】
[0012]有鑒于此,本發(fā)明揭露了一種存取儲(chǔ)存于緩沖裝置中的多重圖像塊編碼圖像的數(shù)據(jù)的方法以及相關(guān)裝置,以解決上述問(wèn)題。
[0013]依據(jù)本發(fā)明的第一方面,揭示了一種用于緩沖裝置的讀取指針暫存的方法。所述緩沖裝置用來(lái)緩沖多重圖像塊編碼圖像的數(shù)據(jù),所述多重圖像塊編碼圖像具有多個(gè)圖像塊。所述方法包含有:判斷在解碼所述多重圖像塊編碼圖像的第一圖像塊時(shí)是否遇到所述第一圖像塊的圖像塊邊界;以及當(dāng)判斷遇到所述第一圖像塊的所述圖像塊邊界時(shí),將目前使用中的讀取指針儲(chǔ)存至指針緩沖器,并且從所述指針緩沖器中載入選取的讀取指針來(lái)作為所述目前使用中的讀取指針。
[0014]依據(jù)本發(fā)明的第二方面,揭示了一種用于緩沖裝置的讀取指針暫存的緩沖控制器。所述緩沖裝置用來(lái)緩沖至少一多重圖像塊編碼圖像的數(shù)據(jù),所述多重圖像塊編碼圖像具有多個(gè)圖像塊。所述緩沖控制器包含有判斷單元以及控制單元。所述判斷單元用來(lái)判斷在解碼所述多重圖像塊編碼圖像的第一圖像塊時(shí)是否遇到所述第一圖像塊的圖像塊邊界。所述控制單元于所述判斷單元判斷遇到所述第一圖像塊的所述圖像塊邊界時(shí),將目前使用中的讀取指針儲(chǔ)存至指針緩沖器,并且從所述指針緩沖器中載入選取的讀取指針來(lái)作為所述目前使用中的讀取指針。
[0015]依據(jù)本發(fā)明的第三方面,揭示了一種緩沖裝置,用來(lái)緩沖具有多個(gè)圖像塊的至少一多重圖像塊編碼圖像的數(shù)據(jù)。所述緩沖裝置包含有第一儲(chǔ)存空間以及第二儲(chǔ)存空間。所述第一儲(chǔ)存空間用來(lái)緩沖所述多重圖像塊編碼圖像的第一圖像塊。所述第二儲(chǔ)存空間用來(lái)緩沖所述多重圖像塊編碼圖像的第二圖像塊。所述第一圖像塊目前解碼中,而所述第二圖像塊目前并非解碼中。
[0016]對(duì)于已經(jīng)閱讀后續(xù)由各圖示及內(nèi)容所顯示的較佳實(shí)施例的所屬領(lǐng)域中具有通常知識(shí)者來(lái)說(shuō),本發(fā)明的各目的是明顯的。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017]圖1為本發(fā)明所揭示的緩沖裝置所處理的壓縮幀中的多個(gè)分割(partition)的示意圖。
[0018]圖2為如何將壓縮幀中的轉(zhuǎn)換系數(shù)封裝至4個(gè)分割的示意圖。
[0019]圖3為本發(fā)明視頻/圖像解碼系統(tǒng)的第一實(shí)施例的示意圖。
[0020]圖4為本發(fā)明視頻/圖像解碼系統(tǒng)的第二實(shí)施例的示意圖。
[0021]圖5為緩沖裝置的另一種設(shè)計(jì)的示意圖。
[0022]圖6為本發(fā)明視頻/圖像解碼系統(tǒng)的第三實(shí)施例的示意圖。
[0023]圖7為本發(fā)明視頻/圖像解碼系統(tǒng)的第四實(shí)施例的示意圖。
[0024]圖8為本發(fā)明視頻/圖像解碼系統(tǒng)的第五實(shí)施例的示意圖。
[0025]圖9為圖8所示的熵解碼器所執(zhí)行的示范性熵解碼操作的示意圖。
[0026]圖10為本發(fā)明緩沖控制器的一實(shí)施例的示意圖。
[0027]圖11為本發(fā)明多重圖像塊視頻/圖像比特流的一實(shí)施例的簡(jiǎn)略示意圖。
[0028]圖12為本發(fā)明多個(gè)圖像塊(其中每一個(gè)都包含有多個(gè)圖像切片)的一實(shí)施例的示意圖。
[0029]圖13為本發(fā)明多重圖像塊視頻/圖像比特流的一實(shí)施例的另一簡(jiǎn)略示意圖。
[0030]圖14為示范性緩沖裝置的讀取指針暫存操作的示意圖。
[0031]圖15為本發(fā)明儲(chǔ)存裝置的第一實(shí)施例的示意圖。
[0032]圖16為本發(fā)明儲(chǔ)存裝置的第二實(shí)施例的示意圖。
[0033]圖17為本發(fā)明儲(chǔ)存裝置的第三實(shí)施例的示意圖。
[0034]圖18為本發(fā)明儲(chǔ)存裝置的第四實(shí)施例的示意圖。
[0035]圖19為高效率視頻編碼標(biāo)準(zhǔn)中所采用的圖像塊的示意圖。
[0036]圖20為對(duì)圖19中所示的圖像塊進(jìn)行傳統(tǒng)解碼順序的示意圖。
【具體實(shí)施方式】
[0037]在權(quán)利要求書(shū)及說(shuō)明書(shū)中使用了某些詞匯來(lái)指稱(chēng)特定的組件。所屬領(lǐng)域中的技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同的名詞來(lái)稱(chēng)呼同樣的組件。本權(quán)利要求書(shū)及說(shuō)明書(shū)并不以名稱(chēng)的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)貝U。在權(quán)利要求書(shū)及說(shuō)明書(shū)中所提及的「包括」為開(kāi)放式的用語(yǔ),故應(yīng)解釋成「包括但不限定于」。另外,「耦接」一詞在此包括任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接于第二裝置,則代表所述第一裝置可直接電連接于所述第二裝置,或通過(guò)其他裝置或連接手段間接地電連接至所述第二裝置。
[0038]依據(jù)VP8/WebP的規(guī)格,VP8/WebP解碼器的輸入會(huì)是一連串的壓縮幀,且每一壓縮中貞會(huì)具有2?9個(gè)分割,而這些分割均是開(kāi)始及結(jié)束于字節(jié)邊界(byte boundary)。壓縮幀中的導(dǎo)引分割(即第一個(gè)被傳送的分割)會(huì)具有兩個(gè)子區(qū)段(subsection):適用于整個(gè)壓縮巾貞的頭信息(header information)以及關(guān)于每一宏塊的預(yù)測(cè)信息(per-macroblockprediction information)(其包含有壓縮巾貞中每一宏塊的預(yù)測(cè)信息)。對(duì)于所述壓縮巾貞中的其余分割(I個(gè)、2個(gè)、4個(gè)或8個(gè)分割),其包含殘余信號(hào)(residue signal)的轉(zhuǎn)換系數(shù)(例如DCT/WHT系數(shù))。
[0039]參閱圖1,其為本發(fā)明所揭示的緩沖裝置所處理的壓縮幀中的多個(gè)分割的示意圖。壓縮幀100是通過(guò)VP8/WebP比特流來(lái)傳送,因此會(huì)包含有依序傳送的N個(gè)分割102_1?102_N,換言之,分割102_1是壓縮幀100中的導(dǎo)引分割,以及分割102_N是壓縮幀100中的最后一個(gè)分割。分割102_1會(huì)包含有適用于整個(gè)壓縮幀100的頭信息,且還會(huì)包含同一壓縮幀100中每一個(gè)宏塊的預(yù)測(cè)信息。對(duì)于位于分割102_1之后的其余分割102_2?102_N中的每一分割來(lái)說(shuō),其會(huì)包含有殘余量的轉(zhuǎn)換系數(shù)(例如DCT/WHT系數(shù))。當(dāng)壓縮幀100包含有一個(gè)以上的轉(zhuǎn)換系數(shù)分割時(shí),除了最后一個(gè)分割以外的每一分割的大小(以字節(jié)為單位)會(huì)出現(xiàn)在緊接于上述的導(dǎo)引分割102_1之后的比特流中。每一個(gè)分割大小(partition size)由長(zhǎng)度為3個(gè)字節(jié)的數(shù)據(jù)來(lái)加以記錄。舉例來(lái)說(shuō),圖1所示的長(zhǎng)度為3個(gè)字節(jié)的分割大小PS2用以指示出分割102_2的大小,以及圖1所示的長(zhǎng)度為3個(gè)字節(jié)的分割大小PS3用以指示出分割102_3的大小。這些分割大小使得解碼裝置可以直接存取記錄著DCT/WHT系數(shù)的所有分割,因而致使解碼裝置可以對(duì)這些轉(zhuǎn)換系數(shù)進(jìn)行平行處理(parallel processing)。
[0040]然而,VP8/ffebP會(huì)將宏塊行(macroblock row, MB row)的 DCT/WHT 系數(shù)封裝于個(gè)別的分割(separate partitions)中。請(qǐng)參閱圖2,其為如何將壓縮巾貞中的轉(zhuǎn)換系數(shù)封裝至4個(gè)分割的示意圖。如圖所示,示范性的壓縮幀200具有許多宏塊行ΜΒ_0?MB_15。宏塊行MB_0、MB_4、MB_8與MB_12的轉(zhuǎn)換系數(shù)會(huì)被封裝于分割Partition_l中,宏塊行MB_1、MB_5、MB_9與MB_13的轉(zhuǎn)換系數(shù)會(huì)被封裝于分割Partition_2中,宏塊行MB_2、MB_6、MB_10與MB_14的轉(zhuǎn)換系數(shù)會(huì)被封裝于分割Partition_3中,以及宏塊行MB_3、MB_7、MB_11與MB_15的轉(zhuǎn)換系數(shù)會(huì)被封裝于分割Partition_4中。由于連續(xù)的兩個(gè)宏塊行的轉(zhuǎn)換系數(shù)并不會(huì)封裝于同一分割之中,一個(gè)宏塊的解碼操作便需要讀取來(lái)自不同分割的數(shù)據(jù)。假若所使用的比特流緩沖器并沒(méi)有足夠的儲(chǔ)存空間來(lái)緩沖整個(gè)壓縮幀的全部數(shù)據(jù),則解碼器所需要的一些數(shù)據(jù)便無(wú)法立即從比特流緩沖器中得到。因此,比特流緩沖器便需要先釋放一個(gè)分割的已緩沖數(shù)據(jù),接著再載入解碼器所需要的位于另一分割中的數(shù)據(jù)。
[0041]然而,由于所需要的數(shù)據(jù)的載入需要時(shí)間,因此不同分割之間的切換會(huì)導(dǎo)致解碼速度的降低。因此,為了改善多重分割VP8/WebP比特流中每一壓縮幀的解碼效率,本發(fā)明便揭示了一種創(chuàng)新的緩沖器暫存(maintenance)與控制機(jī)制。進(jìn)一步的細(xì)節(jié)將于下詳述。[0042]圖3為本發(fā)明視頻/圖像解碼系統(tǒng)的第一實(shí)施例的示意圖。視頻/圖像解碼系統(tǒng)300包含有緩沖裝置302以及解碼裝置304。緩沖裝置302是用以緩沖多重分割視頻/圖像比特流BS_IN,其傳送多個(gè)壓縮幀,且每一壓縮幀具有多個(gè)分割。在本實(shí)施例中,緩沖裝置302包含有多個(gè)比特流緩沖器(bitstream buffer) 312_1?312_N、緩沖控制器(buffercontroller) 314以及多工器(multiplexer) 315。比特流緩沖器312_1?312_N用以分別緩沖圖1所示的分割102_1?102_N的數(shù)據(jù)。比特流數(shù)據(jù)是依據(jù)寫(xiě)入指針(write pointer)WPTR_1?WPTR_N而儲(chǔ)存至比特流緩沖器312_1?312_N,以及比特流數(shù)據(jù)是依據(jù)讀取指針(read pointer) RWPTR_I?RPTR_N而自比特流緩沖器312_1?312_N中讀取出來(lái)。更進(jìn)一步來(lái)說(shuō),寫(xiě)入指針WPTR_1會(huì)控制頭信息/關(guān)于每一宏塊的預(yù)測(cè)信息儲(chǔ)存至比特流緩沖器312_1的寫(xiě)入地址(write address),以及讀取指針RPTR_1會(huì)控制分割102_1的已緩沖的頭信息/關(guān)于每一宏塊的預(yù)測(cè)信息從比特流緩沖器312_1中讀取出來(lái)的讀取地址(readaddress);寫(xiě)入指針WPTR_2會(huì)控制分割102_2的轉(zhuǎn)換系數(shù)(例如,DCT/WHT系數(shù))儲(chǔ)存至比特流緩沖器312_2的寫(xiě)入地址,以及讀取指針RPTR_2會(huì)控制分割102_2的已緩沖的轉(zhuǎn)換系數(shù)從比特流緩沖器312_2中讀取出來(lái)的讀取地址;以及寫(xiě)入指針WPTR_N會(huì)控制分割102_N的轉(zhuǎn)換系數(shù)(例如,DCT/WHT系數(shù))儲(chǔ)存至比特流緩沖器312_N的寫(xiě)入地址,以及讀取指針RPTR_N會(huì)控制分割102N的已緩沖的轉(zhuǎn)換系數(shù)從比特流緩沖器312_N中讀取出來(lái)的讀取地址。
[0043]在本實(shí)施例中,比特流緩沖器312_1?312_N可以是專(zhuān)門(mén)用來(lái)分別緩沖分割102_1?102_N的數(shù)據(jù)的連續(xù)/不連續(xù)的環(huán)形緩沖器(continuous/discontinuous ringbuffer),以及當(dāng)環(huán)形緩沖器具有可使用的儲(chǔ)存空間(B卩,寫(xiě)入指針尚未追上讀取指針)時(shí),可允許數(shù)據(jù)被饋入至所述環(huán)形緩沖器。在一設(shè)計(jì)范例中,緩沖控制器314是用來(lái)同時(shí)監(jiān)控所有的比特流緩沖器312_1?312_N的寫(xiě)入指針WPTR_1?WPTR_N以及讀取指針RPTR_1?RPTR_N。因此,當(dāng)緩沖控制器314偵測(cè)到任一比特流緩沖器具有可用儲(chǔ)存空間來(lái)緩沖尚未被緩沖的數(shù)據(jù)時(shí),緩沖控制器314便調(diào)整相對(duì)應(yīng)的寫(xiě)入指針,并允許尚未被緩沖的數(shù)據(jù)可被饋入至所述比特流緩沖器。
[0044]在另一設(shè)計(jì)范例中,緩沖控制器314僅用來(lái)監(jiān)控目前使用中的比特流緩沖器的寫(xiě)入指針與讀取指針,目前使用的比特流緩沖器中所緩沖的數(shù)據(jù)正被進(jìn)行解碼。因此,當(dāng)緩沖控制器314偵測(cè)到目前使用中的比特流緩沖器具有可用儲(chǔ)存空間來(lái)緩沖尚未被緩沖的數(shù)據(jù)時(shí),緩沖控制器314便調(diào)整相對(duì)應(yīng)的寫(xiě)入指針,并允許尚未被緩沖的數(shù)據(jù)可被饋入至目前使用中的比特流緩沖器。
[0045]在上述的設(shè)計(jì)范例中,特定比特流緩沖器的讀取指針以及寫(xiě)入指針是用以決定/偵測(cè)所述特定比特流緩沖器是滿(mǎn)的或空的,或者用以決定/偵測(cè)所述特定比特流緩沖器中具有多少可用的儲(chǔ)存空間。然而,此僅作為范例說(shuō)明,而非用以作為本發(fā)明的限制。采用其它可以決定/偵測(cè)特定比特流緩沖器是滿(mǎn)的或空的或者決定/偵測(cè)特定比特流緩沖器中上具有多少可用的儲(chǔ)存空間的手段也是可行的。
[0046]對(duì)于解碼裝置304來(lái)說(shuō),其包含有多個(gè)比特流直接存儲(chǔ)器存取(direct memoryaccess, DMA)控制器316、317以及多個(gè)桶形移位器(barrel shifter) 318、319。比特流直接存儲(chǔ)器存取控制器316是通過(guò)直接存儲(chǔ)器存取的方式,來(lái)將已緩沖的比特流數(shù)據(jù)(即頭信息/關(guān)于每一宏塊的預(yù)測(cè)信息)由比特流緩沖器312_1傳送至桶形移位器318,而桶形移位器318則會(huì)分析(parse)由前端的比特流直接存儲(chǔ)器存取控制器316所提供的比特流數(shù)據(jù)。比特流直接存儲(chǔ)器存取控制器316是通過(guò)直接存儲(chǔ)器存取的方式,來(lái)將已緩沖的比特流數(shù)據(jù)(即轉(zhuǎn)換系數(shù))由多個(gè)比特流緩沖器312_2?312_N的其中之一傳送至桶形移位器319,而桶形移位器319則會(huì)分析由前端的比特流直接存儲(chǔ)器存取控制器317所提供的比特流數(shù)據(jù)。如此一來(lái),圖3所示的解碼裝置304便可同時(shí)對(duì)兩個(gè)分割進(jìn)行解碼。
[0047]由于多個(gè)系數(shù)分割(即分割102_2?102_N)中僅允許一個(gè)分割可被解碼裝置302所解碼,因此,緩沖裝置302便利用多工器315來(lái)選取比特流緩沖器312_2?312_N的其中之一,以作為要被比特流直接存儲(chǔ)器存取控制器317所存取的數(shù)據(jù)來(lái)源。舉例來(lái)說(shuō),當(dāng)分割102_2的系數(shù)數(shù)據(jù)需要在第一時(shí)間點(diǎn)被處理時(shí),多工器315便將比特流緩沖器312_2耦接至比特流直接存儲(chǔ)器控制器317。然而,當(dāng)分割102_3的系數(shù)數(shù)據(jù)需要在第二時(shí)間點(diǎn)被處理時(shí),多工器315便將比特流緩沖器312_3耦接至比特流直接存儲(chǔ)器控制器317。若比特流緩沖器(例如環(huán)形緩沖器)312_2?312_N中的每一比特流緩沖器經(jīng)由適當(dāng)控制而于具有可用儲(chǔ)存空間時(shí)便會(huì)緩沖要被解碼的數(shù)據(jù),則需要處理的系數(shù)數(shù)據(jù)便保證會(huì)存于比特流緩沖器312_2?312_N之中,因此,緩沖裝置302便不需要先釋放一個(gè)分割的已緩沖的數(shù)據(jù)并接著載入另一分割的要被處理的數(shù)據(jù),換言之,由于數(shù)據(jù)緩沖機(jī)制采用了專(zhuān)門(mén)用來(lái)緩沖各個(gè)分割的部分?jǐn)?shù)據(jù)(partial data)的多個(gè)比特流緩沖器,因此可避免頻繁地釋放已緩沖的數(shù)據(jù)及載入要被處理的數(shù)據(jù),故使得解碼效能可大幅改善。
[0048]請(qǐng)注意,圖3所示的電路配置僅是作為本發(fā)明的一個(gè)實(shí)施例,任何不違反本發(fā)明精神的設(shè)計(jì)變化均落入本發(fā)明的范疇。舉例來(lái)說(shuō),只要緩沖裝置中包含有多個(gè)比特流緩沖器來(lái)分別緩沖同一壓縮幀中不同分割的數(shù)據(jù),均符合本發(fā)明的精神。例如,在一設(shè)計(jì)變化中,緩沖裝置302可經(jīng)由修改而包含有:用以緩沖分割102_1的比特流數(shù)據(jù)的比特流緩沖器312_1、用以緩沖分割102_2?102_N中至少其一的比特流數(shù)據(jù)的比特流緩沖器312_2?312_N中的至少一比特流緩沖器,以及用以緩沖分割102_2?102_N*其余的分割的比特流數(shù)據(jù)的單一比特流緩沖器。在另一設(shè)計(jì)變化中,緩沖裝置302可經(jīng)由修改而包含有:用以緩沖分割102_2?102_N中至少兩個(gè)分割的比特流數(shù)據(jù)的比特流緩沖器312_2?312_N,以及用以緩沖分割102_1的比特流數(shù)據(jù)和分割102_2?102_N中其余的分割的比特流數(shù)據(jù)的單一比特流緩沖器。這些設(shè)計(jì)變化同樣可達(dá)到改善解碼裝置304的解碼效能的目的。
[0049]解碼裝置304的解碼效能可通過(guò)使用具有預(yù)取(prefetch)機(jī)制的緩沖裝置而得到進(jìn)一步的改善。請(qǐng)參閱圖4,其為本發(fā)明視頻/圖像解碼系統(tǒng)的第二實(shí)施例的示意圖。視頻/圖像解碼系統(tǒng)300與視頻/圖像解碼系統(tǒng)400之間的主要不同點(diǎn)在于:圖4所示的緩沖裝置402中具有預(yù)取電路(prefetch circuit) 404o在本實(shí)施例中,預(yù)取電路404包含有預(yù)取單元(prefetch unit)406以及儲(chǔ)存單元(storage unit)408o預(yù)取單元406用以當(dāng)解碼裝置304正在解碼目前分割(current partition)時(shí),從儲(chǔ)存待處理的后續(xù)分割(next partition)的系數(shù)數(shù)據(jù)的比特流緩沖器中預(yù)取數(shù)據(jù),并將所預(yù)取的數(shù)據(jù)儲(chǔ)存至儲(chǔ)存單元404,其中當(dāng)解碼裝置304開(kāi)始解碼所述后續(xù)分割時(shí),儲(chǔ)存于儲(chǔ)存單元408中所預(yù)取的數(shù)據(jù)會(huì)被解碼裝置304所讀取。儲(chǔ)存單元408可以是解碼裝置304的內(nèi)部緩沖器(internalbuffer),因此,儲(chǔ)存單元408的數(shù)據(jù)存取速度便會(huì)快于比特流緩沖器213_2?312_N中每一比特流緩沖器的數(shù)據(jù)存取速度。舉例來(lái)說(shuō),儲(chǔ)存單元408可以由暫存器(register)或靜態(tài)隨機(jī)存取存儲(chǔ)器(static random access memory, SRAM)來(lái)加以實(shí)現(xiàn)。當(dāng)解碼裝置304切換至解碼所述后續(xù)分割時(shí),由于儲(chǔ)存單元408中會(huì)儲(chǔ)存著所預(yù)取的數(shù)據(jù),因而可節(jié)省/降低從比特流緩沖器312_2?312_N的其中之一取得所述后續(xù)分割的系數(shù)數(shù)據(jù)的所需時(shí)間。換言之,取得所述后續(xù)分割的系數(shù)數(shù)據(jù)的所需時(shí)間會(huì)隱藏于所述目前分割進(jìn)行解碼的時(shí)間之中,如此一來(lái),預(yù)取電路404的使用確實(shí)可以加速整體的解碼程序。
[0050]在圖4所示的實(shí)施例中,預(yù)取機(jī)制是用來(lái)預(yù)取要被后端的解碼裝置所解碼的后續(xù)分割的數(shù)據(jù)。然而,相同的概念也可應(yīng)用于預(yù)取要被多個(gè)比特流緩沖器的其中之一所緩沖的后續(xù)分割的數(shù)據(jù)。請(qǐng)參閱圖5,其為圖3所示的緩沖裝置302的另一種設(shè)計(jì)的示意圖。緩沖裝置502包含有預(yù)取電路504以及上述的比特流緩沖器312_1?312_N與多工器315。預(yù)取電路504會(huì)同時(shí)監(jiān)控比特流緩沖器312_1?312_N之中正在緩沖目前分割的系數(shù)數(shù)據(jù)的比特流緩沖器以及比特流緩沖器312_1?312_N之中用以緩沖后續(xù)分割的系數(shù)數(shù)據(jù)的一個(gè)或多個(gè)比特流緩沖器,并且當(dāng)比特流緩沖器312_1?312_N之中用以緩沖后續(xù)分割的系數(shù)數(shù)據(jù)的一個(gè)或多個(gè)比特流緩沖器具有可用儲(chǔ)存空間來(lái)緩沖預(yù)取的數(shù)據(jù)時(shí),預(yù)取電路504便會(huì)從前一級(jí)(例如網(wǎng)絡(luò)(Internet)、中間軟件(middleware)或磁盤(pán)(disk))要求更多的數(shù)據(jù)。簡(jiǎn)而言之,當(dāng)對(duì)應(yīng)目前分割的比特流緩沖器正在緩沖被后端的解碼裝置所處理的所述目前分割的系數(shù)數(shù)據(jù)時(shí),預(yù)取電路504會(huì)預(yù)取數(shù)據(jù)并將所預(yù)取的數(shù)據(jù)儲(chǔ)存至對(duì)應(yīng)后續(xù)分割的至少一比特流緩沖器。因此,通過(guò)所采用的預(yù)取機(jī)制的輔助,緩沖裝置的比特流緩沖效率便可以獲得改善。
[0051]在上述的實(shí)施例中,內(nèi)含預(yù)取機(jī)制的緩沖裝置具有專(zhuān)門(mén)用來(lái)緩沖各個(gè)分割的數(shù)據(jù)的N個(gè)比特流緩沖器,其中N可以是任何大于I的正整數(shù)。然而,本案所揭示的預(yù)取機(jī)制也可應(yīng)用于一個(gè)具有用以緩沖多個(gè)分割的數(shù)據(jù)的單一比特流緩沖器的緩沖裝置。
[0052]請(qǐng)參閱圖6,其為本發(fā)明視頻/圖像解碼系統(tǒng)的第三實(shí)施例的示意圖。視頻/圖像解碼系統(tǒng)600包含有緩沖裝置602以及解碼裝置604,其中緩沖裝置602具有單一比特流緩沖器612以及上述的預(yù)取電路404,此外,解碼裝置604具有單一比特流直接存儲(chǔ)器存取控制器616與單一桶形移位器618。在本實(shí)施例中,單一比特流緩沖器612并非是環(huán)形緩沖器,此外,壓縮巾貞100的比特流大小(bitstream size)可能很大。因此,假若單一比特流緩沖器612的緩沖器大小(buffer size)小于壓縮巾貞100的比特流大小,貝U單一比特流緩沖器612僅會(huì)緩沖壓縮幀100的一部分?jǐn)?shù)據(jù)(即,壓縮幀100中的目前分割與后續(xù)分割的數(shù)據(jù))。雖然單一比特流緩沖器612可能需要在不同的分割的間進(jìn)行切換,以便由前一級(jí)(例如網(wǎng)絡(luò)、中間軟件或磁盤(pán))載入所要的數(shù)據(jù),不過(guò),當(dāng)后續(xù)分割的解碼操作開(kāi)始進(jìn)行時(shí),由于可立即地將后續(xù)分割中的所要數(shù)據(jù)饋入至解碼裝置604,故預(yù)取電路404的使用仍然可以改善解碼裝置604的解碼效率。
[0053]再者,不論單一比特流緩沖器612的緩沖器大小為何(例如小于/大于/等于壓縮幀100的比特流大小),預(yù)取電路404的使用仍然可以加速整體的解碼程序。由于本領(lǐng)域的技術(shù)人員在閱讀以上的段落說(shuō)明之后應(yīng)可輕易地了解解碼裝置604與預(yù)取電路404的操作,故進(jìn)一步的說(shuō)明便在此省略以求簡(jiǎn)潔。
[0054]圖7為本發(fā)明視頻/圖像解碼系統(tǒng)的第四實(shí)施例的示意圖。視頻/圖像解碼系統(tǒng)700包含有上述的緩沖裝置602與解碼裝置304。進(jìn)一步來(lái)說(shuō),緩沖裝置602具有單一比特流緩沖器612以及預(yù)取電路404,而解碼裝置304則具有多個(gè)比特流直接存儲(chǔ)器存取控制器316、317與多個(gè)桶形移位器318、319。相較于圖6所示的解碼裝置604,圖7所示的解碼裝置304可以同時(shí)對(duì)兩個(gè)分割進(jìn)行解碼。比特流直接存儲(chǔ)器存取控制器316與桶形移位器318的組合是用以處理分割102_1中所包含的頭信息與關(guān)于每一宏塊的預(yù)測(cè)信息,而比特流直接存儲(chǔ)器存取控制器317與桶形移位器319的組合則是用以處理分割102_2?102_N中所包含的系數(shù)數(shù)據(jù)。同樣地,雖然單一比特流緩沖器612可能需要于不同的分割之間進(jìn)行切換,以便由前一級(jí)(例如網(wǎng)絡(luò)、中間軟件或磁盤(pán))載入所要的數(shù)據(jù),不過(guò),當(dāng)后續(xù)分割的解碼操作開(kāi)始進(jìn)行時(shí),由于可立即地將后續(xù)分割中的所要數(shù)據(jù)饋入至解碼裝置304,故預(yù)取電路404的使用仍然可以改善解碼裝置304的解碼效率。
[0055]再者,不論單一比特流緩沖器612的緩沖器大小為何(例如小于/大于/等于壓縮幀100的比特流大小),預(yù)取電路404的使用仍然可以加速整體的解碼程序。由于本領(lǐng)域的技術(shù)人員中閱讀以上的段落說(shuō)明之后應(yīng)可輕易地了解解碼裝置304與預(yù)取電路404的操作,故進(jìn)一步的說(shuō)明便在此省略以求簡(jiǎn)潔。
[0056]請(qǐng)注意,上述的實(shí)施例是針對(duì)多重分割VP8/WebP比特流的緩沖與解碼,然而,此并非是本發(fā)明的限制。即,本案所揭示的緩沖機(jī)制及/或預(yù)取機(jī)制也可應(yīng)用于處理任何基于多重分割的比特流(mult1-partition based bitstream)。
[0057]圖8為本發(fā)明視頻/圖像解碼系統(tǒng)的第五實(shí)施例的示意圖。舉例來(lái)說(shuō),視頻/圖像解碼系統(tǒng)800也可以用來(lái)處理符合高效率視頻編碼標(biāo)準(zhǔn)或聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn)的多重圖像塊視頻/圖像比特流(mult1-tile video/image bitstream) BS_IN’。由于聯(lián)合圖像專(zhuān)家組織延伸范圍比特流(JPEG-XR bitstream)的多重圖像塊編碼圖像所具有的圖像塊配置(tile configuration)類(lèi)似于高效率視頻編碼比特流(HEVC bitstream)的多重圖像塊編碼圖像的圖像塊配置,因此同樣可以使用所揭示的應(yīng)用在多重圖像塊高效率視頻編碼比特流的緩沖及/或解碼方法,來(lái)處理多重圖像塊聯(lián)合圖像專(zhuān)家組織延伸范圍比特流。視頻/圖像解碼系統(tǒng)800包含有緩沖裝置802和解碼裝置804。緩沖裝置802是用于緩沖多重圖像塊視頻/圖像比特流BS_IN,而多重圖像塊視頻/圖像比特流BS_IN是傳送多個(gè)壓縮/編碼幀PIC_IN,其中每一壓縮/編碼幀PIC_IN都具有多個(gè)圖像塊。在此示范性實(shí)施例中,緩沖裝置802包含有儲(chǔ)存裝置812、緩沖控制器814以及指針緩沖器(pointerbuffer) 816,其中儲(chǔ)存裝置811可包含有一個(gè)或多個(gè)比特流緩沖器,主要是取決于實(shí)際的設(shè)計(jì)考慮。多重圖像塊視頻/圖像比特流BS_IN被儲(chǔ)存到由緩沖控制器814所控制的儲(chǔ)存裝置812中。具體而言,指針緩沖器816可以針對(duì)儲(chǔ)存裝置811中的每一比特流緩沖器儲(chǔ)存一個(gè)寫(xiě)入指針和一個(gè)或多個(gè)讀取指針,而緩沖控制器814會(huì)參考所述寫(xiě)入指針以及所述讀取指針以決定是否相對(duì)應(yīng)的比特流緩沖器具有可用的儲(chǔ)存空間,以用于容納多重圖像塊視頻/圖像比特流BS_IN的數(shù)據(jù)。
[0058]解碼裝置804系被用于對(duì)通過(guò)多重圖像塊視頻/圖像比特流BS_IN’所傳送的每個(gè)多重圖像塊編碼圖像PIC_IN進(jìn)行解碼。在本實(shí)施例中,解碼裝置804包含有比特流直接存儲(chǔ)器存取控制器822和熵解碼器(entropy decoder)8240除了控制儲(chǔ)存裝置812中的多重圖像塊視頻/圖像比特流BS_IN的數(shù)據(jù)緩沖之外,緩沖控制器814還輸出一個(gè)讀取指針PTR_C以將儲(chǔ)存裝置812中所請(qǐng)求的數(shù)據(jù)(例如欲解碼的最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊)的存取位置告知比特流直接存儲(chǔ)器存取控制器822。因此,比特流直接存儲(chǔ)器存取控制器822會(huì)參考目前所使用的讀取指針PTR_C來(lái)將所請(qǐng)求的數(shù)據(jù)從儲(chǔ)存裝置812傳輸至熵解碼器824來(lái)進(jìn)行熵解碼。應(yīng)當(dāng)注意的是,每當(dāng)一個(gè)所請(qǐng)求的數(shù)據(jù)(即,一個(gè)所請(qǐng)求的最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊)從儲(chǔ)存裝置812中被讀取時(shí),讀取指針PTR_C便會(huì)被更新。
[0059]應(yīng)當(dāng)注意的是,所揭示的讀取指針暫存機(jī)制(read pointer maintenancescheme)也可以用于獨(dú)立圖像塊或相依圖像塊的解碼操作。在下面的內(nèi)容中,提出一個(gè)解碼獨(dú)立圖像塊的范例,而此范例僅用于說(shuō)明的目的,且不意味著是本發(fā)明的限制。
[0060]請(qǐng)參照?qǐng)D9,圖9為圖8所示的熵解碼器824所執(zhí)行的一示范性熵解碼操作的示意圖。假設(shè)一個(gè)欲解碼的多重圖像塊編碼圖像PIC_IN來(lái)自于多重圖像塊高效率視頻編碼比特流,因此,所述多重圖像塊編碼圖像PIC_IN被劃分成多個(gè)圖像塊(例如,在本實(shí)施方式中為9個(gè)相依圖像塊T11?T33)。每一個(gè)圖像塊T11?T33由多個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)所組成。如果采用以往的解碼方式,圖9所示的多個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)索引值(LCU/TB index value)表示多重圖像塊編碼圖像PIC_IN中所包含的最大編碼單元/樹(shù)狀結(jié)構(gòu)的傳統(tǒng)解碼順序。具體而言,對(duì)于傳統(tǒng)的解碼器設(shè)計(jì)而言,含有多個(gè)圖像塊的多重圖像塊編碼圖像的解碼順序包含有每一圖像塊中的多個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的柵狀掃描順序,以及所述多個(gè)圖像塊的柵狀掃描順序。換句話(huà)說(shuō),傳統(tǒng)的解碼順序相同于多重圖像塊編碼圖像PIC_IN中的最大編碼單元/樹(shù)狀結(jié)構(gòu)的傳送順序,也就是說(shuō),在同一圖像塊中的多個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)會(huì)以柵狀掃描順序而連續(xù)地傳送,以及所述多個(gè)圖像塊也會(huì)以柵狀掃描順序而連續(xù)地傳送。不同于傳統(tǒng)的解碼器設(shè)計(jì),本發(fā)明所揭示的解碼器設(shè)計(jì)所具有的熵解碼器824是設(shè)計(jì)用來(lái)以柵狀掃描的方式對(duì)整個(gè)多重圖像塊編碼圖像PIC_IN之中所有的最大編碼單元/樹(shù)狀結(jié)構(gòu)進(jìn)行解碼,其中解碼順序會(huì)包含有如圖9所示的連續(xù)解碼序列SI?S8。例如,如解碼序列SI所表不,位于圖9所不的第一列并且屬于不同圖像塊Tn、T12以及T13的最大編碼單元/樹(shù)狀結(jié)構(gòu)會(huì)依序從最左邊的最大編碼單元/樹(shù)狀結(jié)構(gòu)往最右邊的最大編碼單元/樹(shù)狀結(jié)構(gòu)來(lái)解碼;如緊接在解碼序列SI之后的解碼序列S2所表示,位于圖9所示的第二列并且屬于不同圖像塊Τη、Τ12以及T13的最大編碼單元/樹(shù)狀結(jié)構(gòu)會(huì)依序從最左邊的最大編碼單元/樹(shù)狀結(jié)構(gòu)往最右邊的最大編碼單元/樹(shù)狀結(jié)構(gòu)來(lái)解碼;如緊接在解碼序列S2之后的解碼序列S3所表示,位于圖9所示的第三列并且屬于不同圖像塊Tn、T12以及T13的最大編碼單元/樹(shù)狀結(jié)構(gòu)會(huì)依序從最左邊的最大編碼單元/樹(shù)狀結(jié)構(gòu)往最右邊的最大編碼單元/樹(shù)狀結(jié)構(gòu)來(lái)解碼。換言之,本發(fā)明所揭示的熵解碼器824的解碼順序和多重圖像塊編碼圖像PIC_IN所包含的最大編碼單元/樹(shù)狀結(jié)構(gòu)的傳輸順序不同。
[0061]在本實(shí)施例中,使用基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼演算法來(lái)對(duì)最大編碼單元/樹(shù)狀結(jié)構(gòu)的數(shù)據(jù)進(jìn)行編碼,因此,上下文模型(context model),其為一個(gè)機(jī)率模型(probability model),應(yīng)該要在對(duì)多重圖像塊編碼圖像PIC_IN進(jìn)行熵解碼的期間被適當(dāng)?shù)剡x擇以及更新。應(yīng)注意的是,熵解碼器824在操作上會(huì)初始化每一圖像塊的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)(CABACstatistics),也就是說(shuō),目前的圖像塊的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)可繼承自水平方向上相鄰于所述目前圖像塊的前一圖像塊的特定最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù),其中所述第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)以及所述特定最大編碼單元/樹(shù)狀結(jié)構(gòu)互相水平相鄰,且分別位于所述目前的圖像塊和所述前一圖像塊之間的圖像塊邊界(即,垂直/列邊界)的左右兩側(cè)。從圖9可得知,在圖像塊T12中編號(hào)為“13”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)是繼承自圖像塊T11中編號(hào)為“4”的最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù);類(lèi)似地,在圖像塊T13中編號(hào)為“31”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)是繼承自圖像塊T12中編號(hào)為“18”的最大編碼單元/樹(shù)狀結(jié)構(gòu)的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)。圖像塊T11?T13互相水平鄰接的圖像塊,即水平的分割(horizontal partition)。然而,圖像塊Tn、T21以及T31則是垂直方向上相鄰的圖像塊,即垂直的分割(vertical partition)。對(duì)于圖像塊T21來(lái)說(shuō),其為垂直相鄰于圖像塊T11,圖像塊T21中編號(hào)為“40”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的初始的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)會(huì)繼承自圖像塊T13中編號(hào)為“39”的最后一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu)的處所更新的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)。由于其余的圖像塊的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼統(tǒng)計(jì)數(shù)據(jù)的初始設(shè)定可以輕易地依此類(lèi)推,因此為簡(jiǎn)潔起見(jiàn),在此將省略更進(jìn)一步的描述。
[0062]熵解碼器824所采用的解碼順序包含有連續(xù)的解碼序列SI?S8,并且由于在熵解碼器824對(duì)前一圖像塊的一部分進(jìn)行解碼之后,便會(huì)開(kāi)始對(duì)目前圖像塊的一部分進(jìn)行解碼,因此在同一圖像塊中的最大編碼單元/樹(shù)狀結(jié)構(gòu)將不會(huì)連續(xù)地依序解碼。從圖9中可以看出,在圖像塊T11中編號(hào)為“1”、“2”、“3”和“4”的最大編碼單元/樹(shù)狀結(jié)構(gòu)被連續(xù)地解碼之后,下一個(gè)要被熵解碼器824所解碼的最大編碼單元/樹(shù)狀結(jié)構(gòu)將會(huì)是下一圖像塊T12中編號(hào)為“ 13”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu),而不是目前圖像塊T11中編號(hào)為“5”的最大編碼單元/樹(shù)狀結(jié)構(gòu);在圖像塊T12中編號(hào)為“13”、“14”、“15”、“16”、“17”以及“18”的最大編碼單元/樹(shù)狀結(jié)構(gòu)被依序地解碼后,下一個(gè)要被熵解碼器824所解碼的最大編碼單元/樹(shù)狀結(jié)構(gòu)將會(huì)是下一圖像塊T13中編號(hào)為“31”的第一個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu),而不是目前圖像塊T12中編號(hào)為“19”的最大編碼單元/樹(shù)狀結(jié)構(gòu);在圖像塊T13中編號(hào)為“31”、“32”、以及“33”的最大編碼單元/樹(shù)狀結(jié)構(gòu)被依序地解碼后,下一個(gè)要被熵解碼器824所解碼的最大編碼單元/樹(shù)狀結(jié)構(gòu)將會(huì)是先前處理過(guò)的圖像塊T11中編號(hào)為“5”的最大編碼單元/樹(shù)狀結(jié)構(gòu),而不是目前圖像塊T13中編號(hào)為“34”的最大編碼單元/樹(shù)狀結(jié)構(gòu)。雖然每一圖像塊具有連續(xù)傳送且儲(chǔ)存至儲(chǔ)存裝置中的多個(gè)最大編碼單元/樹(shù)狀結(jié)構(gòu),然而由圖9中所揭示的解碼順序可得知,位于同一圖像塊的最大編碼單元/樹(shù)狀結(jié)構(gòu)并非連續(xù)地被解碼。因此,應(yīng)適當(dāng)?shù)卦O(shè)計(jì)緩沖控制器814以提供應(yīng)用于緩沖裝置802的所要的讀取指針暫存。
[0063]請(qǐng)參照?qǐng)D10,圖10為依據(jù)本發(fā)明的一實(shí)施例的緩沖控制器的示意圖。圖8所示的緩沖控制器814可以通過(guò)圖10所示的緩沖控制器1000來(lái)加以實(shí)現(xiàn)。在本實(shí)施例中,緩沖控制器1000包含有判斷單元1002、控制單元1004以及多工器1006。判斷單元1002用于判斷多重圖像塊編碼圖像PIC_IN的目前圖像塊的解碼是否遇到所述目前圖像塊的圖像塊邊界(例如,右側(cè)的垂直/列邊界),并相對(duì)應(yīng)地產(chǎn)生判斷結(jié)果JR。例如,判斷單元1002可以主動(dòng)地監(jiān)控解碼裝置804所執(zhí)行的熵解碼操作,來(lái)判斷是否遇到圖像塊邊界,或者可以被動(dòng)地接收解碼裝置804所提供的熵解碼狀況(entropy decoding status),來(lái)判斷是否遇到圖像塊邊界。
[0064]控制單元1004用于儲(chǔ)存目前使用中的讀取指針PTR_C到指針緩沖器816中,并且在當(dāng)判斷結(jié)果JR指示遇到了圖像塊邊界時(shí),會(huì)從指針緩沖器816中載入選取的讀取指針以作為目前使用中的讀取指針PTR_C,其中從指針緩沖器816中所載入的選取的讀取指針可以是緊接所述目前圖像塊之后即將要被解碼的下一圖像塊的讀取指針。如圖10所示,控制單元1004產(chǎn)生選擇信號(hào)SEL至多工器1006,以控制指針緩沖器816中所儲(chǔ)存的讀取指針RPp RP2, RP3?RPn中的哪一個(gè)要被選取并載入作為目前使用中的讀取指針PTR_C。
[0065]舉例來(lái)說(shuō)(但本發(fā)明并非以此為限),在對(duì)多重圖像塊編碼圖像PIC_IN進(jìn)行熵解碼的期間,保持在指針緩沖器816中的讀取指針的數(shù)目取決于多重圖像塊編碼圖像PIC_IN的圖像塊分割設(shè)定。例如,當(dāng)多重圖像塊編碼圖像PIC_IN具有N個(gè)水平相鄰的分割時(shí)(SP,位于同一行的N個(gè)水平的分割/圖像塊),在對(duì)多重圖像塊編碼圖像PIC_IN進(jìn)行熵解碼的期間,指針緩沖器816中所保持的讀取指針的數(shù)目會(huì)等于N。對(duì)于圖9所示的例子來(lái)說(shuō),N等于3,因此,有3個(gè)讀取指針(例如,RP1?RP3)會(huì)同時(shí)暫存在指針緩沖器816中,其中,每個(gè)讀取指針都分別表示儲(chǔ)存裝置812中的存取位置。
[0066]讀取指針RP1?RPn可以通過(guò)參照經(jīng)由多重圖像塊視頻/圖像比特流BS_IN’所傳送的頭信息(header information)來(lái)初始化。圖11為依據(jù)本發(fā)明的一實(shí)施例的多重圖像塊視頻/圖像比特流BS_IN’的簡(jiǎn)略示意圖。包含在多重圖像塊編碼圖像PIC_IN中的每個(gè)圖像塊尺寸(tile size)都被記錄在頭信息的區(qū)段中。這些圖像塊尺寸提供了計(jì)算從多重圖像塊編碼圖像PIC_IN的起始處算起的第η個(gè)圖像塊的偏移量(例如,進(jìn)入點(diǎn)偏移量(entry point offset))所需的信息。因此,當(dāng)所述圖像塊被依序地儲(chǔ)存到儲(chǔ)存裝置812中的一個(gè)或是多個(gè)比特流緩沖器中時(shí),便可以很容易地獲得每一圖像塊的起始處的儲(chǔ)存位置,并且可用來(lái)設(shè)定指針緩沖器816中的相對(duì)應(yīng)的讀取指針的初始值。
[0067]依據(jù)高效率視頻編碼標(biāo)準(zhǔn),圖像塊中的所有圖像切片(slice)應(yīng)當(dāng)是完整的,或者圖像切片內(nèi)的所有圖像塊應(yīng)該是完整的。圖11中的高效率視頻編碼比特流結(jié)構(gòu)是針對(duì)具有多個(gè)圖像塊包含于其中的圖像切片。然而,根據(jù)高效率視頻編碼標(biāo)準(zhǔn),一個(gè)圖像塊有可能會(huì)包含有多個(gè)圖像切片,因此上述針對(duì)讀取指針RP1?RPn的基于進(jìn)入點(diǎn)偏移量的初始化方法并不適用于圖像塊包含有多個(gè)圖像切片的情況。請(qǐng)連同圖13來(lái)參照?qǐng)D12。圖12為依據(jù)本發(fā)明的一實(shí)施例的多個(gè)圖像塊(其中每一圖像塊都包含有多個(gè)圖像切片)的示意圖。圖13為依據(jù)本發(fā)明的一實(shí)施例的多重圖像塊視頻/圖像比特流BS_IN’的另一簡(jiǎn)略示意圖。如圖12所示,一個(gè)圖像塊Tile_0包含有多個(gè)圖像切片SliceJ)以及Slice_l,而另一圖像塊Tile_l包含有多個(gè)圖像切片Slice_2以及Slice_3。如圖13所示,圖像切片Slice_0?Slice_3依序傳送并且儲(chǔ)存到儲(chǔ)存裝置812中的比特流緩沖器中。在單一圖像塊中包含有多個(gè)圖像切片的情況下,本發(fā)明提出了通過(guò)參考圖像切片地址(slice address)來(lái)初始化讀取指針RP1?RPn。因此,當(dāng)圖像切片被依序儲(chǔ)存到儲(chǔ)存裝置812的比特流緩沖器中,可以很容易地從圖像塊中所包含的第一個(gè)圖像切片的切片地址來(lái)獲得每一圖像塊的開(kāi)頭的儲(chǔ)存地址。例如,圖像塊Tile_l的圖像切片Slice_2的切片地址可以被用于設(shè)定指針緩沖器816中的相對(duì)應(yīng)讀取指針的初始值。此作法同樣可實(shí)現(xiàn)初始化每一圖像塊的讀取指針的目的。
[0068]有關(guān)于緩沖裝置802的示范性讀取指針暫存操作一并參考圖14來(lái)進(jìn)行敘述。假設(shè)多重圖像塊編碼圖像PIC_IN具有如圖9所示的圖像塊分割設(shè)定,因此暫存的讀取指針的數(shù)目等于3 (B卩,N=3)。在一開(kāi)始時(shí),具有初始值的讀取指針RP1會(huì)經(jīng)由多工器1006載入以作為目前使用中的讀取指針PTR_C,且比特流直接存儲(chǔ)器存取控制器822參考目前使用中的讀取指針PTR_C來(lái)從儲(chǔ)存裝置812中讀取編號(hào)為“I”的最大編碼單元/樹(shù)狀結(jié)構(gòu)。當(dāng)圖像塊T11的熵解碼在解碼編號(hào)為“18”的最大編碼單元/樹(shù)狀結(jié)構(gòu)之后遇到圖像塊邊界(例如,一個(gè)垂直/列邊界VB1)時(shí),指向編號(hào)為“5”的下一最大編碼單元/樹(shù)狀結(jié)構(gòu)的存取地址的目前使用中的讀取指針PTR_C將被儲(chǔ)存到指針緩沖器816中,以更新指針緩沖器816中暫存的讀取指針RP1,此外,具有初始值的讀取指針RP2經(jīng)由多工器1006載入以作為目前使用中的讀取指針PTR_C,且比特流直接存儲(chǔ)器存取控制器822會(huì)參考目前使用中的讀取指針PTR_C來(lái)從儲(chǔ)存裝置812中讀取編號(hào)為“13”的最大編碼單元/樹(shù)狀結(jié)構(gòu)。當(dāng)圖像塊T12的熵解碼在解碼編號(hào)為“18”的最大編碼單元/樹(shù)狀結(jié)構(gòu)之后遇到圖像塊邊界(例如,一個(gè)垂直/列邊界VB2)時(shí),指向編號(hào)為“19”的下一最大編碼單元/樹(shù)狀結(jié)構(gòu)的存取地址的目前使用中的讀取指針PTRJ^f被儲(chǔ)存到指針緩沖器816中,以更新指針緩沖器816中暫存的讀取指針RP2,此外,讀取指針RP3經(jīng)由多工器1006載入以作為目前使用中的讀取指針PTR_C,且比特流直接存儲(chǔ)器存取控制器822會(huì)參考目前使用中的讀取指針PTR_C來(lái)從儲(chǔ)存裝置812中讀取編號(hào)為“31”的最大編碼單元/樹(shù)狀結(jié)構(gòu)。當(dāng)圖像塊T13的熵解碼在解碼編號(hào)為“33”的最大編碼單元/樹(shù)狀結(jié)構(gòu)之后遇到圖像塊邊界(例如,一個(gè)垂直/列邊界VB3)時(shí),指向編號(hào)為“34”的下一最大編碼單元/樹(shù)狀結(jié)構(gòu)的存取地址的目前使用中的讀取指針PTR_C將被儲(chǔ)存到指針緩沖器816中,以更新指針緩沖器816中暫存的讀取指針RP3,此外,讀取指針RP1會(huì)經(jīng)由多工器1006載入以作為目前使用中的讀取指針PTR_C,且比特流直接存儲(chǔ)器存取控制器822會(huì)參考目前使用中的讀取指針PTR_C來(lái)從儲(chǔ)存裝置812中讀取編號(hào)為“5”的最大編碼單元/樹(shù)狀結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員應(yīng)可通過(guò)參考圖9來(lái)輕易地理解后續(xù)需要讀取的最大編碼單元/樹(shù)狀結(jié)構(gòu)的讀取指針的載入和儲(chǔ)存,因此為了簡(jiǎn)潔起見(jiàn),在此省略更進(jìn)一步的描述。
[0069]儲(chǔ)存裝置81 2可以使用單一比特流緩沖器或是多個(gè)比特流緩沖器來(lái)加以實(shí)作。在使用多個(gè)比特流緩沖器來(lái)實(shí)作儲(chǔ)存裝置812的例子中,可以節(jié)省緩沖器的大小。例如,所述多個(gè)比特流緩沖器為連續(xù)/不連續(xù)的環(huán)形緩沖器,專(zhuān)門(mén)用于分別緩沖不同圖像塊的最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊的數(shù)據(jù),且當(dāng)所述環(huán)形緩沖器有閑置儲(chǔ)存空間時(shí)(即所述環(huán)形緩沖器的寫(xiě)入指針尚未追上所述環(huán)形緩沖器的讀取指針),最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊的數(shù)據(jù)可被饋入至所述環(huán)形緩沖器進(jìn)行暫存。
[0070]圖15為依據(jù)本發(fā)明的儲(chǔ)存裝置的第一實(shí)施例的示意圖。圖8所示的儲(chǔ)存裝置812可以通過(guò)圖15所示的儲(chǔ)存裝置1300來(lái)實(shí)現(xiàn)。在本實(shí)施例中,儲(chǔ)存裝置1300包含有多個(gè)比特流緩沖器1302_1、1302_2、1302_3~1302_N以及多工器1304,其中不同的比特流緩沖器1302_1~1302_N*別提供了多個(gè)不同的(distinct)儲(chǔ)存空間以供數(shù)據(jù)緩沖。舉例來(lái)說(shuō)(但本發(fā)明并不以此為限),儲(chǔ)存裝置1300中所具有的比特流緩沖器(即,儲(chǔ)存空間)的數(shù)目取決于多重圖像塊片編碼圖像PIC_IN的圖像塊分割設(shè)定,例如,當(dāng)多重圖像塊編碼圖像PIC_IN具有N個(gè)水平相鄰的分割時(shí)(即,位于同一行的N個(gè)水平的分割/圖像塊),儲(chǔ)存裝置1300中所具有的比特流緩沖器的數(shù)量等于N。對(duì)于圖9所示的例子來(lái)說(shuō),N等于
3。因此,有三個(gè)比特流緩沖器(例如,1302_1~1302_3)分別用來(lái)緩沖三個(gè)圖像塊(例如,T11~T13、T21~T23或T31~T33)的最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊的數(shù)據(jù)。比特流緩沖器1302_1-1302_N可以是環(huán)形緩沖器。
[0071]此外,比特流數(shù)據(jù)根據(jù)儲(chǔ)存在指針緩沖器816中且由緩沖控制器814所控制/更新的寫(xiě)入指針WPTR_1~WPTR_N,而儲(chǔ)存至比特流緩沖器1302_1~1302_N中,且比特流數(shù)據(jù)根據(jù)儲(chǔ)存在指針緩沖器816中且由緩沖控制器814所控制/更新的讀取指針RPTR_1?RPTR_N,而自比特流緩沖器1302_1?1302_N中讀取出來(lái)。更具體地說(shuō),在第一個(gè)圖像塊到第N個(gè)圖像塊是位于同一行的水平方向上的相鄰圖像塊的情況下,寫(xiě)入指針WPTR_1控制第一個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)寫(xiě)入至比特流緩沖器1302_1的寫(xiě)入地址(writeaddress),而讀取指針RPTR_1則控制第一個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)由比特流緩沖器1302_1讀取出來(lái)的讀取地址(read address);寫(xiě)入指針WPTR_2控制第二個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)寫(xiě)入至比特流緩沖器1302_2的寫(xiě)入地址,而讀取指針RPTR_2則控制第二個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)由比特流緩沖器1302_2讀取出來(lái)的讀取地址;寫(xiě)入指針WPTR_3控制第三個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)寫(xiě)入至比特流緩沖器1302_3的寫(xiě)入地址,而讀取指針RPTR_3則控制第三個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)由比特流緩沖器1302_3讀取出來(lái)的讀取地址;以及寫(xiě)入指針WPTR_N控制第N個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)寫(xiě)入至比特流緩沖器1302_N的寫(xiě)入地址,而讀取指針RPTR_N則控制第N個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)由比特流緩沖器1302_N讀取出來(lái)的讀取地址。
[0072]緩沖控制器814另外會(huì)產(chǎn)生選擇信號(hào)SEL’到多工器1304,以選擇比特流緩沖器1302_1?1302_N當(dāng)中的一個(gè)比特流緩沖器來(lái)作為要被比特流直接存儲(chǔ)器存取控制器822所存取的數(shù)據(jù)源。例如,當(dāng)熵解碼器824要對(duì)第一個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)進(jìn)行處理的時(shí)候,多工器1304會(huì)將比特流緩沖器1302_1耦接至比特流直接存儲(chǔ)器存取控制器822,此外,緩沖控制器814會(huì)將所選擇的比特流緩沖器1302_1的讀取指針RPTR_1設(shè)定為目前使用中的讀取指針PTR_C。然而,當(dāng)熵解碼器824要對(duì)第二個(gè)圖像塊的最大編碼單元/宏塊數(shù)據(jù)進(jìn)行處理的時(shí)候,多工器1304會(huì)將比特流緩沖器1302_2耦接至比特流直接存儲(chǔ)器存取控制器822,此外,緩沖控制器814會(huì)將所選擇的比特流緩沖器1302_2的讀取指針RPTR.2設(shè)定為目前使用中的讀取指針PTR_C。換句話(huà)說(shuō),當(dāng)目前解碼中的圖像塊的所請(qǐng)求的最大編碼單元/宏塊被比特流直接存儲(chǔ)器存取控制器822取回的時(shí)候,目前并非解碼中的其他圖像塊的最大編碼單元/宏塊會(huì)被緩沖在其他的比特流緩沖器中。若比特流緩沖器1302_l-1302_N有閑置的儲(chǔ)存空間時(shí)便經(jīng)由適當(dāng)控制比特流緩沖器1302_1_1302_N來(lái)緩沖要被解碼的數(shù)據(jù),所請(qǐng)求的最大編碼單元/宏塊的數(shù)據(jù)便保證可以在比特流緩沖器(例如,環(huán)形緩沖器)1302_1?1302_N2中取得,因此,緩沖裝置1300并不需要釋放一圖像塊的緩沖數(shù)據(jù)以及載入另一圖像塊的所請(qǐng)求的數(shù)據(jù)。如此一來(lái),由于緩沖機(jī)制采用了多個(gè)比特流緩沖器來(lái)專(zhuān)門(mén)緩沖各個(gè)圖像塊的部分?jǐn)?shù)據(jù),從而避免頻繁的釋放緩沖數(shù)據(jù)和載入所請(qǐng)求的數(shù)據(jù),因此可以大大提高解碼效能。
[0073]請(qǐng)注意,圖15所示的電路配置僅僅作為本發(fā)明的一個(gè)示范性實(shí)施例,舉凡任何不脫離本發(fā)明精神的其他設(shè)計(jì)變化也隸屬本發(fā)明的范疇。例如,只要緩沖裝置包含有多個(gè)比特流緩沖器用來(lái)分別緩沖同一多重圖像塊編碼圖像中的不同圖像塊的緩沖數(shù)據(jù),便符合本發(fā)明的精神。舉例來(lái)說(shuō),在一個(gè)設(shè)計(jì)變化中,緩沖裝置1300可以被修改為包含有多個(gè)比特流緩沖器,分別用于緩沖在多重圖像塊編碼圖像中的一些圖像塊的最大編碼單元/宏塊的數(shù)據(jù),以及另包含單一比特流緩沖器,用來(lái)緩沖所述多重圖像塊編碼圖像中其余圖像塊的最大編碼單元/宏塊的數(shù)據(jù),也可以達(dá)到提升解碼裝置的解碼效能的目的。
[0074]解碼裝置804的解碼效能可通過(guò)利用具有預(yù)取機(jī)制的緩沖裝置而進(jìn)一步提升。請(qǐng)參照?qǐng)D16,圖16為依據(jù)本發(fā)明的儲(chǔ)存裝置的第二實(shí)施例的示意圖。圖8所示的儲(chǔ)存裝置812可以由圖16所示的儲(chǔ)存裝置1400來(lái)加以實(shí)現(xiàn)。儲(chǔ)存裝置1300和儲(chǔ)存裝置1400之間的主要差別是緩沖裝置1400具有預(yù)取電路1401包含于其中。在此示范性實(shí)施例中,預(yù)取電路1401包含有預(yù)取單元1402和儲(chǔ)存單元1404。預(yù)取單元1402用來(lái)在當(dāng)解碼裝置804正在解碼目前的圖像塊時(shí),從比特流緩沖器中預(yù)先讀取數(shù)據(jù)(其中即將被處理的下一圖像塊的最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊的數(shù)據(jù)儲(chǔ)存于所述比特流緩沖器中),并且將所述預(yù)先讀取的數(shù)據(jù)儲(chǔ)存至儲(chǔ)存單元1404中,其中當(dāng)解碼裝置804開(kāi)始對(duì)所述下一圖像塊進(jìn)行解碼時(shí),儲(chǔ)存于儲(chǔ)存單元1404的所述預(yù)先讀取數(shù)據(jù)便會(huì)被解碼裝置804所讀取。舉例來(lái)說(shuō),儲(chǔ)存單元1404可以是解碼裝置804的內(nèi)部緩沖器(internal buffer),因此,儲(chǔ)存單元1404中的數(shù)據(jù)存取速度可以比每一比特流緩沖器1302_1?1302_N的數(shù)據(jù)存取速度來(lái)的快。例如,儲(chǔ)存單元408可以使用一個(gè)暫存器或一個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器(static random accessmemory, SRAM)來(lái)加以實(shí)現(xiàn)。當(dāng)解碼裝置804切換到解碼所述下一圖像塊時(shí),由于從儲(chǔ)存單元1404中可以得到預(yù)取的數(shù)據(jù),因此節(jié)省/減少了從比特流緩沖器1302_1?1302_N的其中之一取出所述下一圖像塊的最大編碼單元/宏塊的數(shù)據(jù)的所需時(shí)間。換句話(huà)說(shuō),取出所述下一圖像塊的最大編碼單元/宏塊的數(shù)據(jù)的所需時(shí)間被隱藏在所述目前圖像塊的解碼時(shí)段中,因此,使用預(yù)取電路1401便能夠加快整體的解碼程序。
[0075]在圖16所示的示范性實(shí)施例中,采用預(yù)取機(jī)制來(lái)預(yù)取要被解碼裝置所解碼的下一圖像塊的數(shù)據(jù),然而,同樣的概念也可以應(yīng)用于預(yù)取要被比特流緩沖器所緩沖的下一圖像塊的數(shù)據(jù)。請(qǐng)參照?qǐng)D17,圖17為依據(jù)本發(fā)明的儲(chǔ)存裝置的第三實(shí)施例的示意圖。圖8所示的儲(chǔ)存裝置812可以采用圖17所示的儲(chǔ)存裝置1500來(lái)加以實(shí)現(xiàn)。儲(chǔ)存裝置1500中包含有預(yù)取電路1502,以及另包含上述的比特流緩沖器1302_1?1302_N和多工器1304。預(yù)取電路1502用來(lái)同時(shí)監(jiān)視比特流緩沖器1302_1?1302_N之中用來(lái)緩沖目前解碼中的圖像塊的最大編碼單元/宏塊數(shù)據(jù)的比特流緩沖器以及比特流緩沖器1302_1?1302_N2中用來(lái)緩沖目前并非解碼中的圖像塊的最大編碼單元/宏塊數(shù)據(jù)的一個(gè)或是多個(gè)比特流緩沖器,并且在用來(lái)緩沖目前并非解碼中的圖像塊的最大編碼單元/宏塊數(shù)據(jù)的比特流緩沖器具有閑置儲(chǔ)存空間可以緩沖預(yù)取數(shù)據(jù)的時(shí)候,從前一級(jí)(例如網(wǎng)絡(luò)、中間軟件或是硬碟)要求更多的數(shù)據(jù)。簡(jiǎn)單地說(shuō),預(yù)取電路1502用來(lái)在目前圖像塊比特流緩沖器(currenttile bitstream buffer)正在緩沖解碼裝置804所處理的所述目前圖像塊的最大編碼單元/宏塊的數(shù)據(jù)的時(shí)候,進(jìn)行數(shù)據(jù)預(yù)取并將所預(yù)取的數(shù)據(jù)存入至少一下一圖像塊比特流緩沖器(next tile bitstream buffer)中。因此,在比特流緩沖器之前配置所述預(yù)取機(jī)制,可以提高緩沖裝置的比特流緩沖效率。
[0076]關(guān)于圖8所示的儲(chǔ)存裝置812的上述示范性實(shí)施方式,圖15中的儲(chǔ)存裝置1300/圖16中的儲(chǔ)存裝置1400/圖17中的儲(chǔ)存裝置1500使用了多個(gè)比特流緩沖器(例如連續(xù)/不連續(xù)的環(huán)形緩沖器)來(lái)實(shí)現(xiàn),以節(jié)省緩沖器的尺寸,然而,這并非用以限制本發(fā)明。在一設(shè)計(jì)變化中,儲(chǔ)存裝置812可以使用單一比特流緩沖器來(lái)加以實(shí)現(xiàn)。請(qǐng)參照?qǐng)D18,圖18為依據(jù)本發(fā)明的儲(chǔ)存裝置的第四實(shí)施例的示意圖。圖15/圖16/圖17中所示的多個(gè)比特流緩沖器以及一個(gè)多工器的組合可以使用儲(chǔ)存裝置1600中的單一比特流緩沖器1602來(lái)取代。單一比特流緩沖器1602中具有多個(gè)不同的緩沖器區(qū)段(buffer section) 1604_1、1604_2、1603-1604_N,其中每一個(gè)緩沖器區(qū)段都提供儲(chǔ)存空間來(lái)進(jìn)行數(shù)據(jù)緩沖。寫(xiě)入指針WPTR控制第一個(gè)到第N個(gè)圖像塊的最大編碼單元/宏塊寫(xiě)入至單一比特流緩沖器1602的寫(xiě)入地址,而讀取指針RPTR_1?RPTR_N中的每一個(gè)讀取指針則控制相對(duì)應(yīng)的圖像塊的最大編碼單元/宏塊的緩沖數(shù)據(jù)從比特流緩沖器1602的緩沖器區(qū)段中被讀取出來(lái)的讀取地址。一開(kāi)始時(shí),每個(gè)讀取指針RPTR_1?RPTR_N指示比特流緩沖器1602中的相對(duì)應(yīng)圖像塊的丨開(kāi)頭地址。而在開(kāi)始對(duì)一圖像塊進(jìn)行解碼后,相對(duì)應(yīng)的讀取指針將被適當(dāng)?shù)馗?,以指示要被解碼的最大編碼單元/宏塊緩沖數(shù)據(jù)的讀取地址。
[0077]舉例來(lái)說(shuō)(但本發(fā)明并不以此為限),單一比特流緩沖器1602中所配置的緩沖器區(qū)段(即,儲(chǔ)存空間)的數(shù)目取決于多重圖像塊編碼圖像PIC_IN的圖像塊分割設(shè)定。例如,當(dāng)多重圖像塊編碼圖像PIC_IN具有N個(gè)水平相鄰的分割(即,位于同一行的N個(gè)水平分割/圖像塊),在單一比特流緩沖器1602中配置的緩沖器區(qū)段的數(shù)目會(huì)等于N,對(duì)于圖9中所示的范例來(lái)說(shuō),N等于3。因此,有三個(gè)緩沖器區(qū)段(例如,1604_1?1604_3)可用來(lái)分別緩沖三個(gè)圖像塊(例如,Tn-T13、T21-T23或T31-T33)的最大編碼單元/樹(shù)狀結(jié)構(gòu)/宏塊數(shù)據(jù)。
[0078]請(qǐng)注意,上述示范性實(shí)施例是針對(duì)緩沖和解碼多重圖像塊高效率視頻編碼/聯(lián)合圖像專(zhuān)家組織延伸范圍比特流,然而,這并非本發(fā)明的限制。本發(fā)明所提出的緩沖機(jī)制及/或預(yù)取機(jī)制可被用來(lái)處理任何基于多重圖像塊的比特流(mult1-tile based bitstream)。
[0079]以上所述僅為本發(fā)明的較佳實(shí)施方式,凡依本發(fā)明權(quán)利要求所做的均等變化和修飾,均應(yīng)屬本發(fā)明的涵蓋范圍。因此,本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書(shū)所界定者為準(zhǔn)。
【權(quán)利要求】
1.一種用于緩沖裝置的讀取指針暫存的方法,所述緩沖裝置用來(lái)緩沖多重圖像塊編碼圖像的數(shù)據(jù),所述多重圖像塊編碼圖像具有多個(gè)圖像塊,其特征在于,所述用于緩沖裝置的讀取指針暫存的方法包含有: 判斷在解碼所述多重圖像塊編碼圖像的第一圖像塊時(shí)是否遇到所述第一圖像塊的圖像塊邊界;以及 當(dāng)判斷遇到所述第一圖像塊的所述圖像塊邊界時(shí),將目前使用中的讀取指針儲(chǔ)存至指針緩沖器,并且從所述指針緩沖器中載入選取的讀取指針來(lái)作為所述目前使用中的讀取指針。
2.如權(quán)利要求1所述的用于緩沖裝置的讀取指針暫存的方法,其特征在于,所述選取的讀取指針為緊接于所述第一圖像塊之后將要被解碼的第二圖像塊的讀取指針。
3.如權(quán)利要求1所述的用于緩沖裝置的讀取指針暫存的方法,其特征在于,所述圖像塊邊界為右側(cè)垂直邊界。
4.如權(quán)利要求1所述的用于緩沖裝置的讀取指針暫存的方法,其特征在于,整個(gè)的所述多重圖像塊編碼圖像以柵狀掃描的順序來(lái)進(jìn)行解碼,以及第二圖像塊中的一部分的解碼是開(kāi)始于所述第一圖像塊中的一部分的解碼完成之后。
5.如權(quán)利要求1所述的用于緩沖裝置的讀取指針暫存的方法,其特征在于,所述第一圖像塊以及所述第二圖像塊符合高效率視頻編碼標(biāo)準(zhǔn)或聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn)。
6.如權(quán)利要求1所述的用于緩沖裝置的讀取指針暫存的方法,其特征在于,所述多重圖像塊編碼圖像具有N個(gè)水平相鄰的分割,所述指針緩沖器中所儲(chǔ)存的讀取指針的數(shù)目等于N,且N為正整數(shù)。`
7.一種緩沖控制器,用于緩沖裝置的讀取指針暫存,所述緩沖裝置用來(lái)緩沖至少一多重圖像塊編碼圖像的數(shù)據(jù),所述多重圖像塊編碼圖像具有多個(gè)圖像塊,其特征在于,所述緩沖控制器包含有: 判斷單元,用來(lái)判斷在解碼所述多重圖像塊編碼圖像的第一圖像塊時(shí)是否遇到所述第一圖像塊的圖像塊邊界;以及 控制單元,用以于所述判斷單元判斷遇到所述第一圖像塊的所述圖像塊邊界時(shí),將目前使用中的讀取指針儲(chǔ)存至指針緩沖器,并且從所述指針緩沖器中載入選取的讀取指針來(lái)作為所述目前使用中的讀取指針。
8.如權(quán)利要求7所述的緩沖控制器,其特征在于,所述選取的讀取指針緊接在所述第一圖像塊之后將要被解碼的第二圖像塊的讀取指針。
9.如權(quán)利要求7所述的緩沖控制器,其特征在于,所述圖像塊邊界為右側(cè)垂直邊界。
10.如權(quán)利要求7所述的緩沖控制器,其特征在于,整個(gè)的所述多重圖像塊編碼圖像以柵狀掃描的順序來(lái)進(jìn)行解碼,以及在所述第一圖像塊中的一部分的解碼完成之后,便會(huì)開(kāi)始對(duì)第二圖像塊中的一部分進(jìn)行解碼。
11.如權(quán)利要求7所述的緩沖控制器,其特征在于,所述第一圖像塊以及所述第二圖像塊符合高效率視頻編碼標(biāo)準(zhǔn)或聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn)。
12.如權(quán)利要求7所述的緩沖控制器,其特征在于,所述多重圖像塊編碼圖像具有N個(gè)水平相鄰的分割,所述指針緩沖器中所儲(chǔ)存的讀取指針的數(shù)目等于N,且N為正整數(shù)。
13.一種緩沖裝置,用來(lái)緩沖至少一多重圖像塊編碼圖像的數(shù)據(jù),所述多重圖像塊編碼圖像具有多個(gè)圖像塊,其特征在于,所述緩沖裝置包含有: 第一儲(chǔ)存空間,用來(lái)緩沖所述多重圖像塊編碼圖像的第一圖像塊;以及 第二儲(chǔ)存空間,用來(lái)緩沖所述多重圖像塊編碼圖像的第二圖像塊; 其中所述第一圖像塊目前正被解碼,而所述第二圖像塊目前并未被解碼。
14.如權(quán)利要求13所述的緩沖裝置,其特征在于,所述第一儲(chǔ)存空間以及所述第二儲(chǔ)存空間由多個(gè)環(huán)形緩沖器所提供,且所述環(huán)形緩沖器分別專(zhuān)用于緩沖所述第一圖像塊以及所述第二圖像塊的數(shù)據(jù)。
15.如權(quán)利要求13所述的緩沖裝置,其特征在于,所述多重圖像塊編碼圖像的所述圖像塊依序地傳送,以及所述緩沖裝置還包含有: 預(yù)取電路,用以于所述第一儲(chǔ)存空間正在接收并緩沖所述第一圖像塊的數(shù)據(jù)時(shí),預(yù)取所述第二圖像塊的數(shù)據(jù)并且將所預(yù)取的數(shù)據(jù)儲(chǔ)存至所述第二儲(chǔ)存空間。
16.如權(quán)利要求13所述的緩沖裝置,其特征在于,還包含有: 預(yù)取電路,包含有: 儲(chǔ)存單元;以及 預(yù)取單元,用以于解碼裝置正在解碼所述第一圖像塊的一數(shù)據(jù)時(shí),從所述第二儲(chǔ)存空間預(yù)取所述第二圖像塊的數(shù)據(jù),并且將預(yù)取的所述數(shù)據(jù)儲(chǔ)存至所述儲(chǔ)存單元,其中當(dāng)所述解碼裝置可開(kāi)始對(duì)所述第二圖像塊的所述數(shù)據(jù)進(jìn)行解碼時(shí),儲(chǔ)存于所述儲(chǔ)存單元的所述預(yù)取數(shù)據(jù)會(huì)被所述解碼裝置所讀取。·
17.如權(quán)利要求13所述的緩沖裝置,其特征在于,所述第一圖像塊以及所述第二圖像塊符合高效率視頻編碼標(biāo)準(zhǔn)或聯(lián)合圖像專(zhuān)家組織延伸范圍標(biāo)準(zhǔn)。
18.如權(quán)利要求13所述的緩沖裝置,其特征在于,所述多重圖像塊編碼圖像的所述數(shù)據(jù)以柵狀掃描的順序來(lái)進(jìn)行解碼,以及在所述第一圖像塊中的一部分的解碼完成之后,便會(huì)開(kāi)始對(duì)所述第二圖像塊中的一部分進(jìn)行解碼。
19.如權(quán)利要求13所述的緩沖裝置,其特征在于,所述多重圖像塊編碼圖像具有N個(gè)水平相鄰的分割,所述緩沖裝置中所配置的儲(chǔ)存空間的數(shù)目等于N,且N為正整數(shù)。
【文檔編號(hào)】H04N19/42GK103828372SQ201280047813
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2012年11月23日 優(yōu)先權(quán)日:2011年11月24日
【發(fā)明者】鄭佳韻, 張永昌 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司