專利名稱:圖像編碼裝置、圖像編碼方法和圖像編碼程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù),更具體而言,涉及圖像編碼裝置、圖像編碼方法和圖像編碼程序。
背景技術(shù):
在對(duì)運(yùn)動(dòng)圖像進(jìn)行數(shù)字處理的技術(shù)中,用于對(duì)大量信息進(jìn)行壓縮和編碼的方法包括標(biāo)準(zhǔn)IS0/IEC 13818 (也稱為MPEG-2),該方法是對(duì)數(shù)字視頻和伴隨的音頻進(jìn)行處理的編碼方法。MPEG-2(IS0/IEC 13818-2)第二部分規(guī)定了視頻編碼。與上述MPEG-2兼容而生成的比特流在通信、電視廣播等中得到廣泛應(yīng)用(參見(jiàn)非專利文獻(xiàn)1)。與MEG-2兼容的比特流具有層級(jí)結(jié)構(gòu),并且從最高層順序地包括GOP (圖片組) 層、圖片層、切片層、宏塊層和塊層。在MEG-2中,當(dāng)對(duì)由一系列多個(gè)圖像構(gòu)成的運(yùn)動(dòng)圖像進(jìn)行處理時(shí),各圖像幀存儲(chǔ)在幀存儲(chǔ)器中,并通過(guò)求取不同幀之間的運(yùn)動(dòng)補(bǔ)償差分而利用了時(shí)間冗余,而且,對(duì)構(gòu)成各幀的多個(gè)像素應(yīng)用離散余弦變換(以下簡(jiǎn)稱為“DCT”)以利用空間冗余并實(shí)現(xiàn)對(duì)運(yùn)動(dòng)圖像的有效壓縮和編碼。編碼信號(hào)被發(fā)送到解碼器以進(jìn)行解碼和播放。MEG-2通常利用幀間編碼實(shí)現(xiàn)高壓縮比。在解碼器中,圖像幀被解碼并存儲(chǔ)在第一幀存儲(chǔ)器中,基于運(yùn)動(dòng)信息對(duì)后續(xù)圖像幀進(jìn)行預(yù)測(cè)并將其存儲(chǔ)在第二幀存儲(chǔ)器中,并根據(jù)這兩幀進(jìn)一步對(duì)插入這兩幀之間的圖像幀進(jìn)行預(yù)測(cè),以構(gòu)成一系列圖像幀并重建運(yùn)動(dòng)圖像。上述方法稱為雙向預(yù)測(cè)。在MPEG-2中,為了實(shí)現(xiàn)該雙向預(yù)測(cè),定義了三種類型的幀,即I幀、P幀和B幀。I 幀表示內(nèi)編碼幀,并且是與其他幀獨(dú)立地編碼的靜態(tài)圖像。P幀表示前向預(yù)測(cè)編碼幀,并且是基于以往的I幀或P幀預(yù)測(cè)和編碼的圖像。B幀是雙向預(yù)測(cè)編碼巾貞,并且是基于前向和后向幀或者雙向幀而預(yù)測(cè)和編碼的圖像,該前向和后向幀或者雙向幀中的每一個(gè)是以往或?qū)?lái)的I幀或P幀。亦即,在首先對(duì)I幀和P幀編碼后,對(duì)插入I幀和P幀之間的B幀進(jìn)行編碼(參見(jiàn)非專利文獻(xiàn)2)。由于幀間編碼的特征是使用連續(xù)幀間的相關(guān)性進(jìn)行壓縮,因此如果重復(fù)地壓縮和解壓縮,圖像質(zhì)量容易劣化。因此,在要求高圖像質(zhì)量的視頻編輯系統(tǒng)或視頻服務(wù)器中,僅在某些情況下使用幀內(nèi)編碼。例如,有一種情況是在MPEG-2中僅使用I (內(nèi))幀。在MPEG-2 中,由包括除了 I幀以外的多個(gè)幀(例如P幀和B幀)的GOP單元執(zhí)行碼率控制;與以上類似的碼率控制方法可以應(yīng)用于僅對(duì)I幀進(jìn)行編碼,以下稱為“僅I幀編碼”。由編碼器編碼的MPEG-2比特流被發(fā)送到能夠以預(yù)定傳輸速率工作的傳輸路徑, 被輸入該傳輸路徑上的解碼器,并隨后被解碼以供后續(xù)播放。然而,運(yùn)動(dòng)圖片的信息量 (即,熵)并不恒定。為了對(duì)運(yùn)動(dòng)圖片進(jìn)行編碼并以固定速率向傳輸路徑發(fā)送比特流形式的運(yùn)動(dòng)圖片信號(hào),必須執(zhí)行碼率控制以使得經(jīng)編碼信號(hào)具有恒定的熵。將參照?qǐng)D8描述現(xiàn)有技術(shù)的對(duì)圖像編碼進(jìn)行的碼率控制。圖8所示的現(xiàn)有技術(shù)圖像編碼裝置100具有輸入部101 (數(shù)字化圖像數(shù)據(jù)被輸入該輸入部101)、分塊處理部102、編碼部103、FIF0緩存器104、碼率控制部105、和輸出部106。分塊處理部102將從輸入部 101輸出的圖像數(shù)據(jù)劃分為多個(gè)塊,并生成作為編碼基本單元的宏塊。編碼部103對(duì)由分塊處理部102生成的宏塊應(yīng)用DCT變換、量化和可變長(zhǎng)度編碼,并生成比特流。FIFO緩存器104臨時(shí)地收集從編碼部103提供的比特流,并通過(guò)輸出部106將其輸出。碼率控制部 105執(zhí)行反饋碼率控制,該反饋碼率控制用于對(duì)編碼部103使用的量化參數(shù)進(jìn)行控制,以基于FIFO緩存器104的占用率對(duì)后續(xù)圖像數(shù)據(jù)進(jìn)行量化處理。量化參數(shù)會(huì)影響量化的粗糙度或精細(xì)度,而量化的粗糙度或精細(xì)度直接影響每秒鐘編碼的比特?cái)?shù)。如果量化變得粗糙, 則維持較少數(shù)據(jù),從而編碼圖像數(shù)據(jù)的質(zhì)量劣化。如果量化變得精細(xì),則維持較多數(shù)據(jù),從而圖像編碼的質(zhì)量得到改善。然而,如果量化過(guò)于精細(xì),每秒鐘編碼的比特?cái)?shù)會(huì)超過(guò)所分配的帶寬,因而需要再次應(yīng)用碼率控制以適應(yīng)有限帶寬。由于僅I幀編碼要求高比特率,因此在許多情況下解碼器緩存器不具有足夠的空間。因此,由于僅I幀編碼要求更嚴(yán)格的碼率控制,因此碼率控制比以往花費(fèi)的時(shí)間更多。 此外,由于反饋碼率控制的本質(zhì)特別是由于諸如場(chǎng)景變化、切割、插入等編輯操作而使得I 幀的碼率可能每幀都不同,因此碼率瞬時(shí)增大,這可能導(dǎo)致緩存器管理的限制方面的沖突, 并因此而導(dǎo)致緩存器故障。DV編解碼器由于執(zhí)行碼率控制使得I幀變得具有相同大小而不存在上述問(wèn)題。為了有效地執(zhí)行碼率控制,使用一種稱為宏塊亂序(macroblock shuffling)的方法(例如, 參見(jiàn)專利文獻(xiàn)1)。宏塊是表示亮度和色度的DCT塊組合。由于MPEG-I和MPEG-2也具有與該宏塊相對(duì)應(yīng)的宏塊,因此假設(shè)這里的“宏塊”指代與MPEG-I和MPEG-2的宏塊相對(duì)應(yīng)的任
一種宏塊。在宏塊亂序中,例如采集位于空間上隨機(jī)位置的多個(gè)(例如五片)宏塊并隨后進(jìn)行編碼。這里,將編碼后的宏塊的碼長(zhǎng)稱為“宏塊的碼率(rate of a macroblock)”。執(zhí)行碼率控制,使得所采集和編碼的宏塊的碼率不超過(guò)目標(biāo)碼率。以上采集的宏塊組合稱為“片段”。借助于上述碼率控制,在對(duì)片段小單元執(zhí)行碼率控制的同時(shí),能夠很好地對(duì)整個(gè)圖像數(shù)據(jù)分配比特。此外,由于可以使包含在片段中的宏塊數(shù)量較少,因此可以高速地執(zhí)行碼率控制,并使得所需電路規(guī)模較小。引用文獻(xiàn)列表專利文獻(xiàn)文獻(xiàn)1 日本未審專利申請(qǐng)公開(kāi)No. Hl 1-298896非專利文獻(xiàn)非專利文獻(xiàn)1 :IS0/IEC 13818-2 :2000,信息技術(shù)運(yùn)動(dòng)圖片及其相關(guān)聯(lián)音頻信息的類編碼(Generic coding)視頻非專利文獻(xiàn)2:Peter Symes,“數(shù)字視頻壓縮”,Mcgraw-Hill,2003。
發(fā)明內(nèi)容
技術(shù)問(wèn)題根據(jù)MPEG-2的流結(jié)構(gòu),由于一行宏塊被安排成稱作切片的結(jié)構(gòu),并在切片內(nèi)執(zhí)行處理,該處理使得宏塊依賴于掃描順序(例如DC分量的DPCM編碼),因此不能彼此獨(dú)立地對(duì)亂序后的宏塊進(jìn)行編碼和碼率控制。因此,在符合MPEG-2的僅I幀編碼的情況下,難以執(zhí)
6行采用(例如DV標(biāo)準(zhǔn)中規(guī)定的)宏塊亂序的碼率控制。在MPEG-2中,由于運(yùn)行按照一個(gè)宏塊可以構(gòu)成一個(gè)切片的方式改變流結(jié)構(gòu),因此能夠?qū)陦K獨(dú)立地編碼和執(zhí)行碼率控制。然而,如果流結(jié)構(gòu)發(fā)生改變,則會(huì)出現(xiàn)問(wèn)題,這是因?yàn)闊o(wú)法應(yīng)用諸如DC預(yù)測(cè)的預(yù)測(cè)編碼,使得由于附加信息而導(dǎo)致開(kāi)銷增大,因而導(dǎo)致編碼效率降低。因此,鑒于以上問(wèn)題,本發(fā)明的一個(gè)目的是提供如下的圖像編碼裝置、圖像編碼方法和圖像編碼程序,其通過(guò)在不改變切片結(jié)構(gòu)的情況下執(zhí)行宏塊亂序,能夠使得整體圖像的圖像質(zhì)量均質(zhì)化而不降低編碼效率,能夠高速地運(yùn)行,并能夠減小電路規(guī)模的大小。更具體而言,通過(guò)首先針對(duì)預(yù)測(cè)量未知的宏塊估計(jì)最大可能碼率(即經(jīng)校正碼率),并且每當(dāng)其預(yù)測(cè)量變?yōu)橐阎獣r(shí)適當(dāng)?shù)馗赂鱾€(gè)宏塊的碼率,確保了碼率控制。此外,通過(guò)適當(dāng)?shù)匦U逊峙浯a率從而抵消已校正碼率相對(duì)于期望碼率(即平均碼率)的偏差,實(shí)現(xiàn)了能夠?qū)Ω骱陦K公平地分配比特的碼率控制。解決問(wèn)題的技術(shù)方案根據(jù)本發(fā)明的第一方面,提供了一種用于對(duì)表示圖像的圖像數(shù)據(jù)進(jìn)行編碼的圖像編碼裝置,該裝置包括亂序部,其從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼部,其對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制部,其控制所述編碼部以所述多個(gè)宏塊作為所述基本單元來(lái)調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率,其中所述碼率控制部針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)每個(gè)宏塊的預(yù)測(cè)器宏塊進(jìn)行預(yù)測(cè)的預(yù)測(cè)量是否已知,并且基于宏塊數(shù)量通過(guò)執(zhí)行碼率校正來(lái)控制所述編碼部,其中已經(jīng)根據(jù)包括所述多個(gè)宏塊的整體圖像數(shù)據(jù)中已編碼的宏塊判定該宏塊數(shù)量中的每一個(gè)具有未知的預(yù)測(cè)量。利用該配置,由于根據(jù)本發(fā)明的圖像編碼裝置能夠在對(duì)所述宏塊進(jìn)行亂序的同時(shí),針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)各宏塊的預(yù)測(cè)器宏塊預(yù)測(cè)的預(yù)測(cè)量是否已知,并通過(guò)基于從包括所述多個(gè)宏塊的整體圖像數(shù)據(jù)內(nèi)的已編碼宏塊中被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量執(zhí)行碼率校正來(lái)對(duì)所述編碼部進(jìn)行控制,因此根據(jù)本發(fā)明的圖像編碼裝置能夠?qū)崿F(xiàn)利用了碼率校正的碼率控制。此外,通過(guò)從共同構(gòu)成用于執(zhí)行處理的基本單元的宏塊數(shù)量中選擇少量宏塊,能夠高速地執(zhí)行處理,并減小用于處理所需的電路規(guī)模的大小。而且,由于所述編碼部通過(guò)宏塊亂序?qū)膱D像數(shù)據(jù)中偽隨機(jī)位置處選取的少量宏塊作為基本單元進(jìn)行編碼,因此能夠使整體圖像的圖像質(zhì)量均質(zhì)化,并能夠改善圖像質(zhì)量。例如,即使將圖像熵有大變動(dòng)的一系列圖像數(shù)據(jù)編碼為I幀,由于輸出流的大小能夠均質(zhì)化, 因此緩存器的約束也不會(huì)被破壞。因此,能夠利用多線程同時(shí)對(duì)多幀進(jìn)行編碼,并隨后將這些幀組織成流。為此,能夠在編碼后進(jìn)行諸如剪切和插入之類的編輯操作。此外,在上述圖像編碼裝置中,要根據(jù)相關(guān)聯(lián)預(yù)測(cè)器宏塊預(yù)測(cè)的預(yù)測(cè)量未知的已編碼宏塊被定義為開(kāi)放宏塊,并且所述碼率控制部可以通過(guò)將所述圖像數(shù)據(jù)的已分配碼率乘以一個(gè)值來(lái)計(jì)算所述多個(gè)宏塊的已分配碼率,該值是通過(guò)將所述多個(gè)宏塊中的宏塊數(shù)量除以所述圖像數(shù)據(jù)中的宏塊數(shù)量而得到,并且所述碼率控制部可以通過(guò)將所述編碼部對(duì)所述多個(gè)宏塊進(jìn)行編碼之前和之后整體圖像數(shù)據(jù)中開(kāi)放宏塊的數(shù)量之差乘以所述開(kāi)放宏塊的預(yù)測(cè)碼的最大碼率與所述預(yù)測(cè)碼的平均碼率之差,計(jì)算對(duì)所述多個(gè)宏塊的已分配碼率的校正,并且所述碼率控制部可以通過(guò)將所述校正與所述多個(gè)宏塊的已分配碼率相加來(lái)計(jì)算校正后的已分配碼率,并控制所述編碼部使得在對(duì)所述多個(gè)宏塊編碼后的碼率等于或小于所述校正后的已分配碼率。利用該配置,在根據(jù)本發(fā)明的圖像編碼裝置中,所述碼率控制部可以通過(guò)將所述圖像數(shù)據(jù)的已分配碼率乘以一個(gè)值來(lái)計(jì)算所述多個(gè)宏塊的已分配碼率,該值是通過(guò)將所述多個(gè)宏塊中的宏塊數(shù)量除以所述圖像數(shù)據(jù)中的宏塊數(shù)量而得到,并且所述碼率控制部可以通過(guò)將所述編碼部對(duì)所述多個(gè)宏塊進(jìn)行編碼之前和之后整體圖像數(shù)據(jù)中開(kāi)放宏塊的數(shù)量之差乘以所述開(kāi)放宏塊的預(yù)測(cè)碼的最大碼率與所述預(yù)測(cè)碼的平均碼率之差,計(jì)算對(duì)所述多個(gè)宏塊的已分配碼率的校正,并且所述碼率控制部可以通過(guò)將所述校正與所述多個(gè)宏塊的已分配碼率相加來(lái)計(jì)算校正后的已分配碼率,并控制所述編碼部使得在對(duì)所述多個(gè)宏塊編碼后的碼率等于或小于所述校正后的已分配碼率。因此,在進(jìn)行編碼時(shí),由于每當(dāng)一旦在對(duì)預(yù)測(cè)量未知的開(kāi)放宏塊分配了最大可能碼率后預(yù)測(cè)碼的碼率變?yōu)橐阎獣r(shí),根據(jù)需要更新開(kāi)放宏塊的碼率,因此,能夠確保碼率控制。而且,由于根據(jù)需要對(duì)已分配碼率進(jìn)行校正,因此,能夠公平地和穩(wěn)定地分配預(yù)測(cè)碼的碼率。此外,在上述圖像編碼裝置中,可以由所述編碼部按照J(rèn)PEG和MPEG-2中的至少一種對(duì)所述多個(gè)宏塊進(jìn)行編碼。更具體而言,以上可以適用于靜止圖像。在根據(jù)本發(fā)明的圖像編碼裝置中,例如即使僅利用I幀對(duì)圖像熵有大變動(dòng)的一系列圖像數(shù)據(jù)進(jìn)行編碼,輸出比特流的大小也可以均質(zhì)化,并能夠利用多線程同時(shí)對(duì)所述多個(gè)幀進(jìn)行編碼,并隨后將它們組織成流。此外,由于相同的原因,能夠在編碼后進(jìn)行諸如剪切和插入之類的編輯操作。 而且,由于編碼部可以按照幀間編碼方法對(duì)所述多個(gè)宏塊進(jìn)行編碼,因此本發(fā)明可以應(yīng)用于廣泛的用途。在上述圖像編碼裝置中,預(yù)測(cè)碼例如可以包括DC預(yù)測(cè)的碼。利用該配置,在根據(jù)本發(fā)明的圖像編碼裝置中,在進(jìn)行編碼時(shí),由于每當(dāng)一旦在對(duì)預(yù)測(cè)量未知的開(kāi)放宏塊分配了最大可能碼率后預(yù)測(cè)碼的碼率變?yōu)橐阎獣r(shí),能夠根據(jù)需要更新開(kāi)放宏塊的碼率,因此,能夠確保碼率控制??梢杂蒁CT變換執(zhí)行該空間-頻率變換,并且碼率控制部可以基于校正后的已分配碼率確定編碼部對(duì)多個(gè)宏塊進(jìn)行量化時(shí)使用的量化位階。例如,能夠穩(wěn)定地確保向AC分量(其在DC預(yù)測(cè)中可能受損)分配的碼率,并能夠清楚地示出二維精細(xì)變化。在上述圖像編碼裝置中,該圖像數(shù)據(jù)可以包括由單一行中排列的第二多個(gè)宏塊構(gòu)成的切片層,所述亂序部可以創(chuàng)建所述第二多個(gè)宏塊的位置信息,該位置信息包括當(dāng)對(duì)所述第二多個(gè)宏塊進(jìn)行亂序時(shí)所述切片層中的掃描順序,并且所述碼率控制部可以通過(guò)從構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)宏塊的逐比特宏塊碼率與構(gòu)成所述切片層的所述單一行中排列的所述多個(gè)第二宏塊內(nèi)已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率之和除以8并對(duì)由此得到的商數(shù)向上圓整為整數(shù)而得到的值,減去構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)碼塊內(nèi)已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率除以8并對(duì)由此得到的商數(shù)向上圓整為整數(shù)而得到的值,計(jì)算在構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)宏塊的呈字節(jié)形式的宏塊碼率。通常以字節(jié)為單位對(duì)切片中的宏塊的碼進(jìn)行處理。利用該配置,在根據(jù)本發(fā)明的圖像編碼裝置中,考慮一部分比特,由于碼率控制部能夠通過(guò)從該宏塊的逐比特碼率與構(gòu)成切片層的單一行中排列的所述多個(gè)宏塊中的已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率之和除以8并向上圓整為整數(shù)而獲得的值,減去構(gòu)成切片層的單一行中排列的所述多個(gè)宏塊中的已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率除以8并向上圓整為整數(shù)而得到的值,計(jì)算以宏塊的字節(jié)形式的碼率,并能夠保守地估計(jì)切片層中的各宏塊的碼率。上述圖像編碼裝置可以進(jìn)一步包括中間緩存器部,其用于臨時(shí)存儲(chǔ)由所述編碼部編碼的已編碼數(shù)據(jù);以及重排序部,其通過(guò)按掃描順序讀取重排序所述已編碼數(shù)據(jù)使之按照在所述亂序部進(jìn)行亂序之前的順序排列,所述已編碼數(shù)據(jù)存儲(chǔ)在所述中間存儲(chǔ)部,其中,所述中間緩存器部的容量可以等于整體圖像數(shù)據(jù)的已分配碼率與通過(guò)將固定長(zhǎng)度開(kāi)銷乘以所述宏塊的總數(shù)而得到的值之和。利用針對(duì)各宏塊來(lái)存儲(chǔ)宏塊的碼的現(xiàn)有技術(shù)緩存器,對(duì)各宏塊的緩存器分配宏塊的最大碼率,然而,在根據(jù)本發(fā)明的圖像編碼裝置中,可以將所需緩存器容量減小到整體圖像數(shù)據(jù)的所分配碼率與通過(guò)將固定長(zhǎng)度開(kāi)銷乘以宏塊總數(shù)而得到的值之和。根據(jù)本發(fā)明的第二方面,提供了一種用于對(duì)表示圖像的圖像數(shù)據(jù)進(jìn)行編碼的圖像編碼方法,該方法包括亂序步驟,其從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼步驟,其對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制步驟,其控制所述編碼部以所述多個(gè)宏塊作為所述基本單元來(lái)調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率,其中所述碼率控制步驟具有判定步驟和控制步驟,該判定步驟針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)各個(gè)宏塊的預(yù)測(cè)器宏塊進(jìn)行預(yù)測(cè)的預(yù)測(cè)量是否已知,該控制步驟基于包括所述多個(gè)宏塊的整體圖像數(shù)據(jù)內(nèi)已編碼宏塊中被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量,通過(guò)執(zhí)行碼率校正來(lái)控制所述編碼步驟。根據(jù)本發(fā)明的第三方面,提供了一種由計(jì)算機(jī)執(zhí)行的用于對(duì)表示圖像的圖像數(shù)據(jù)進(jìn)行編碼的圖像編碼程序,該程序包括亂序步驟,其從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼步驟,其對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制步驟,其控制所述編碼部以所述多個(gè)宏塊作為所述基本單元來(lái)調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率,其中所述碼率控制步驟具有判定步驟,該判定步驟針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)各個(gè)宏塊的預(yù)測(cè)器宏塊進(jìn)行預(yù)測(cè)的預(yù)測(cè)量是否已知,并通過(guò)基于包括所述多個(gè)宏塊的整體圖像數(shù)據(jù)內(nèi)已編碼宏塊中被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量,執(zhí)行碼率校正來(lái)控制所述編碼步驟。由于能夠在對(duì)所述宏塊進(jìn)行亂序的同時(shí),判定要根據(jù)各宏塊的預(yù)測(cè)器宏塊預(yù)測(cè)的預(yù)測(cè)量是否已知,并通過(guò)基于從包括所述多個(gè)宏塊的整體圖像數(shù)據(jù)內(nèi)的已編碼宏塊宏塊中被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量執(zhí)行碼率校正來(lái)控制所述編碼步驟,因此能夠?qū)崿F(xiàn)利用了碼率校正的碼率控制。此外,通過(guò)從共同構(gòu)成用于執(zhí)行處理的基本單元的宏塊數(shù)量中選擇少量宏塊,能夠高速地執(zhí)行處理,并減小用于處理所需的電路規(guī)模的大小。而且,由于所述編碼步驟通過(guò)宏塊亂序?qū)膱D像數(shù)據(jù)中偽隨機(jī)位置處選取的少量宏塊作為基本單元進(jìn)行編碼,因此能夠使整體圖像的圖像質(zhì)量均質(zhì)化,并能夠改善圖像質(zhì)量。例如,即使僅利用I幀對(duì)圖像熵有大變動(dòng)的一系列圖像數(shù)據(jù)進(jìn)行編碼,由于輸出流的大小能夠均質(zhì)化, 因此緩存器的約束也不會(huì)被破壞。因此,能夠利用多線程同時(shí)對(duì)多幀進(jìn)行編碼,并隨后將這些幀組織成流。為此,能夠在編碼后進(jìn)行諸如剪切和插入之類的編輯操作。本發(fā)明的優(yōu)點(diǎn)由于通過(guò)執(zhí)行宏塊亂序以偽隨機(jī)方式提取宏塊,以被稱為片段的少量宏塊為單位對(duì)編碼進(jìn)行控制,因此能夠?qū)崿F(xiàn)高速碼率控制,并在使圖像質(zhì)量均質(zhì)化并因此而改善圖像質(zhì)量的同時(shí),能夠減小所需電路規(guī)模的大小。由于不改變切片結(jié)構(gòu),因此能夠應(yīng)用預(yù)測(cè)編碼,且不降低編碼效率。通過(guò)首先針對(duì)預(yù)測(cè)器宏塊的預(yù)測(cè)出的預(yù)測(cè)量未知的宏塊估計(jì)最大可能碼率(即經(jīng)校正碼率),并且每當(dāng)其預(yù)測(cè)量變?yōu)橐阎獣r(shí)適當(dāng)?shù)馗赂鱾€(gè)宏塊的碼率,能夠確保碼率控制。此外,通過(guò)適當(dāng)?shù)匦U逊峙浯a率從而抵消已校正碼率相對(duì)于期望碼率 (即平均碼率)的偏差,能夠?qū)Ω骱陦K公平地分配比特。
圖1是例示根據(jù)本發(fā)明的圖像編碼裝置的第一實(shí)施方式的框圖;圖2是例示由圖1所示圖像編碼裝置的亂序部執(zhí)行的亂序的圖;圖3是示出由圖2中所示的亂序形成的片段的一個(gè)例子的圖;圖4是例示由圖1所示的圖像編碼裝置執(zhí)行的編碼處理的圖;圖5是例示由圖1的圖像編碼裝置的碼率控制部執(zhí)行的碼率控制處理的流程圖;圖6例示了根據(jù)本發(fā)明的圖像編碼裝置的第二實(shí)施方式的框圖;圖7例示了圖6的中間流緩存器的圖;以及圖8是例示現(xiàn)有技術(shù)的圖像編碼裝置的框圖。
具體實(shí)施例方式下面將參照
本發(fā)明的優(yōu)選實(shí)施方式。第一實(shí)施方式將參照?qǐng)D1說(shuō)明根據(jù)本發(fā)明的圖像編碼裝置的第一實(shí)施方式。如圖1所示,圖像編碼裝置10的本實(shí)施方式具有用于輸入數(shù)字化圖像數(shù)據(jù)的輸入部1、分塊處理部2、亂序部3、編碼部4、碼率控制部5、重排序部6和輸出部7。分塊處理部2將從輸入部1輸入的圖像數(shù)據(jù)分為多個(gè)塊以創(chuàng)建作為編碼基本單元的宏塊。亂序部3按偽隨機(jī)方式提取由分塊處理部2創(chuàng)建的宏塊。由亂序部3以偽隨機(jī)方式提取的該多個(gè)宏塊總稱為片段。構(gòu)成一個(gè)片段的宏塊數(shù)量可以較少,例如5個(gè)。編碼部4通過(guò)亂序部3亂序并以偽隨機(jī)方式提取宏塊進(jìn)行DCT變換、量化和可變長(zhǎng)度編碼以創(chuàng)建比特流。碼率控制部5以亂序后的宏塊的片段為單位執(zhí)行碼率控制。稍后將說(shuō)明由亂序部3執(zhí)行的亂序和由碼率控制部5執(zhí)行的碼率控制的細(xì)節(jié)。重排序部6將編碼部4創(chuàng)建的比特流重新排序?yàn)橛蓙y序部3執(zhí)行亂序之前的順序,并通過(guò)輸出部7輸出該比特流。由于圖形編碼裝置的本實(shí)施方式通過(guò)亂序從圖像上的偽隨機(jī)位置提取宏塊,因此可以使圖像的整體圖像質(zhì)量均質(zhì)化(homogenized)。此外,由于可以使包含在片段中的宏塊數(shù)量較少,因此可以高速地執(zhí)行碼率控制,并使得所需電路規(guī)模較小。1.具體亂序方法下面將參照?qǐng)D2說(shuō)明由亂序部3執(zhí)行的具體亂序方法。圖2例示了被劃分為多個(gè)塊的圖像數(shù)據(jù),其中該多個(gè)塊包括由亂序部3執(zhí)行了亂序的宏塊,而圖3例示了包括以偽隨機(jī)方式從圖像數(shù)據(jù)提取的宏塊的片段。在本實(shí)施方式中,通過(guò)假設(shè)圖像數(shù)據(jù)包括35列X 25 行的宏塊進(jìn)行說(shuō)明。首先,將整個(gè)圖像數(shù)據(jù)劃分為具有呈7列X5行的宏塊的超級(jí)塊(superblock)。在圖2中,這些超級(jí)塊由具有粗線的矩形表示。在本實(shí)施方式中,選擇五個(gè)超級(jí)塊SBtl-SB4,使得沒(méi)有宏塊共享同一列或同一行的至少任意一個(gè)。虛線箭頭表示超級(jí)塊的掃描順序。假設(shè)
10從上面起第k個(gè)處的第i行第j列的超級(jí)塊是S [i,j],則從圖2中選擇SB0
,SB1Ll, 2],[2,4],SR3 [3,1],SB4 [4,3]。隨后,對(duì)所選擇的超級(jí)塊進(jìn)行掃描,從每個(gè)所選擇的超級(jí)塊中提取一個(gè)宏塊,形成一個(gè)片段。在圖2中,宏塊由具有細(xì)線的方塊表示,實(shí)線箭頭表示宏塊的掃描順序。假設(shè)在第k個(gè)超級(jí)塊中掃描的第1個(gè)宏塊是MB&,1],在圖3中示出了所形成的片段的一個(gè)例子。 圖3中所示的片段是由從相應(yīng)超級(jí)塊中提取的第11個(gè)宏塊ΜΒ
、MB[1,11]、MB[2,11]、 MB[3,11]>MB[4,11]形成。在按圖2的實(shí)線箭頭所示順序處理了給定超級(jí)塊中的所有宏塊之后,如虛線箭頭所示的超級(jí)塊掃描順序,選擇位于相應(yīng)的處理后的超級(jí)塊下方的未處理超級(jí)塊,按照預(yù)定順序從相應(yīng)的未處理超級(jí)塊中選擇宏塊,并形成后續(xù)的片段。如果處理了位于底部的超級(jí)塊中的所有宏塊,則接下來(lái)選擇位于與處理后的超級(jí)塊同一列的頂部的未處理超級(jí)塊。在所有的超級(jí)塊中執(zhí)行類似的處理。雖然例如可以如圖2的實(shí)線箭頭所示按照在相應(yīng)超級(jí)塊內(nèi)部以之字形順序進(jìn)行掃描而從每個(gè)所選擇的超級(jí)塊中選擇一個(gè)未處理的宏塊的方式,來(lái)選擇片段宏塊,但并不限于此,而是可以按照任意順序進(jìn)行該選擇,只要在以空間偽隨機(jī)方式不遺漏圖像數(shù)據(jù)的情況下能夠適時(shí)地選擇屬于該片段的預(yù)定數(shù)量宏塊即可。此外,所提取的宏塊數(shù)量不限于五個(gè),而是可以是任意數(shù)量或者可以是可變的,只要適于所實(shí)現(xiàn)的系統(tǒng)即可??梢詫y序模式(shuffling pattern)在存儲(chǔ)器(未示出)中預(yù)先存儲(chǔ)為一個(gè)表, 使得亂序部3能夠參考存儲(chǔ)在存儲(chǔ)器中的該表執(zhí)行亂序。編碼部4和碼率控制部5針對(duì)以上形成的各個(gè)片段分別執(zhí)行編碼處理和碼率控制。在圖2中,帶陰影的宏塊表示編碼后的宏塊。柵形陰影表示如下的編碼后的宏塊 該編碼后的宏塊的與DC預(yù)測(cè)有關(guān)的預(yù)測(cè)器宏塊尚未進(jìn)行編碼;而致密宏塊表示如下的編碼后的宏塊該編碼后的宏塊的與DC預(yù)測(cè)有關(guān)的預(yù)測(cè)器宏塊已經(jīng)進(jìn)行了編碼。以下,將與 DC預(yù)測(cè)有關(guān)的預(yù)測(cè)器宏塊尚未編碼的那些經(jīng)編碼宏塊稱為“開(kāi)放宏塊”,而將已經(jīng)對(duì)與DC 預(yù)測(cè)有關(guān)的預(yù)測(cè)器宏塊進(jìn)行了編碼的那些經(jīng)編碼宏塊稱為“閉合宏塊”。切片層由沿圖2的水平方向的一行宏塊構(gòu)成。由于最左邊的宏塊是位于切片起始位置的宏塊,因此總是被處理成閉合宏塊。根據(jù)MPEG-2,由于一行宏塊構(gòu)成了一個(gè)切片,因此,可以在超級(jí)塊之間進(jìn)行 DC預(yù)測(cè)。亂序部3創(chuàng)建宏塊的位置信息,該位置信息包括當(dāng)對(duì)宏塊進(jìn)行亂序時(shí)在切片層中的掃描順序。當(dāng)如圖2所示執(zhí)行亂序時(shí),雖然開(kāi)放宏塊的數(shù)量隨著編碼的進(jìn)行會(huì)增大直到經(jīng)編碼宏塊的數(shù)量達(dá)到特定數(shù)量,例如大致為所有宏塊數(shù)量的一半,如果經(jīng)編碼宏塊的數(shù)量進(jìn)一步增大而超過(guò)該特定數(shù)量,則開(kāi)放宏塊的數(shù)量將會(huì)減小。宏塊的數(shù)量可能根據(jù)圖像大小或超級(jí)塊劃分方法而在各個(gè)片段中不同。在該情況下,可以改變分配給一個(gè)片段的碼率,使得該片段內(nèi)部各宏塊的碼率變得相同。在本實(shí)施方式中,為了簡(jiǎn)化說(shuō)明,假設(shè)一個(gè)片段內(nèi)的宏塊數(shù)量總是相同的。2.宏塊編碼方法下面將說(shuō)明由編碼部4執(zhí)行的符合MPEG-2的I幀內(nèi)的宏塊編碼方法。雖然構(gòu)成一個(gè)宏塊的DCT塊的數(shù)量根據(jù)色度子采樣而不同,但為了易于說(shuō)明,假設(shè)色度子采樣為 4:2:2。如果色度子采樣為4:2:2,則對(duì)于對(duì)于Cb和Cr中的每一個(gè),宏塊由四個(gè)亮度(Y)塊和兩個(gè)色度(Cb,Cr)塊構(gòu)成。對(duì)每個(gè)塊執(zhí)行DCT變換。將DCT塊的DCT分量劃分為一個(gè)DC分量和其余的AC分量,分別對(duì)DC分量和AC分量執(zhí)行不同的編碼處理。取決于頻率,AC分量由具有不同精度的量化矩陣來(lái)量化。此后,矩陣量化后的AC 分量進(jìn)一步由對(duì)于所有AC分量而言公共的量化位階(quantization scale)來(lái)量化。對(duì)由量化位階量化后的AC分量進(jìn)行之字形掃描和熵編碼。編碼部4通過(guò)改變量化位階對(duì)AC分量執(zhí)行碼率控制。DC分量被量化為11、10、9或8位,隨后針對(duì)Y、Cb和Cr而對(duì)DC分量進(jìn)行預(yù)測(cè)編碼。亦即,將給定塊的DC分量用作后續(xù)塊的DC分量的預(yù)測(cè)值,并對(duì)差進(jìn)行編碼。圖4示出了均具有DC分量的表示亮度信號(hào)的Y的DCT塊和表示色度信號(hào)的Cb和Cr的DCT塊。如圖4所示,四個(gè)Y塊按掃描順序稱為Y0、Yl、Y2和Y3,并按此順序進(jìn)行DC預(yù)測(cè)。這兩個(gè)Cb 塊也按掃描順序稱為CbO和Cbl,并按此順序進(jìn)行DC預(yù)測(cè)。類似地,這兩個(gè)Cr塊也按掃描順序稱為CrO和Crl,并按此順序進(jìn)行DC預(yù)測(cè)。一個(gè)宏塊(稱為“被預(yù)測(cè)宏塊”)中的第一塊Y0、Cb0和CrO是根據(jù)位于按掃描順序緊接被預(yù)測(cè)宏塊之前的其前一宏塊(稱為“預(yù)測(cè)宏塊”)的Y3、Cbl和Crl來(lái)預(yù)測(cè)。在以下說(shuō)明中,宏塊中的宏塊內(nèi)DC預(yù)測(cè)稱為“DC內(nèi)預(yù)測(cè)”, 而宏塊之間的宏塊間DC預(yù)測(cè)稱為“DC間預(yù)測(cè)”。僅在包含在同一切片內(nèi)的宏塊之間執(zhí)行DC間預(yù)測(cè)。為了便于理解,以下將說(shuō)明切片最大的情形。亦即,假設(shè)同一行的宏塊屬于同一切片。由于位于切片起始位置處的宏塊或位于該行最左側(cè)的宏塊沒(méi)有預(yù)測(cè)宏塊,因此由零來(lái)預(yù)測(cè)DC。3.具體預(yù)算分配方法下面將使用符合MPEG-2的I幀簡(jiǎn)化編碼情形來(lái)說(shuō)明當(dāng)碼率控制部5執(zhí)行碼率控制時(shí)所要考慮的對(duì)各片段的碼預(yù)算分配及其校正方法。本實(shí)施方式的預(yù)算分配方法是基于以下特征。1.能夠確保碼率控制。更具體而言,由于總是與圖像數(shù)據(jù)的復(fù)雜度無(wú)關(guān)地輸出不超過(guò)期望碼長(zhǎng)度的流,因此碼率控制將不會(huì)失敗。2.能夠公平地對(duì)宏塊分配預(yù)算。平均來(lái)說(shuō),無(wú)論宏塊是開(kāi)放的還是閉合的,各宏塊的已分配碼率(即預(yù)算)在片段之間都大致相同。應(yīng)當(dāng)注意的是,此處使用術(shù)語(yǔ)“碼預(yù)算”或“預(yù)算”來(lái)表示“最大可分配碼率”或僅表示 “可分配碼率”。在本實(shí)施方式中,為了簡(jiǎn)化說(shuō)明,采用以如下方式對(duì)符合MPEG-2的I幀進(jìn)行簡(jiǎn)化的壓縮方法。假設(shè)MPEG-2的頭(例如序列頭、圖片頭、片段頭、宏塊頭)沒(méi)有開(kāi)銷。還假設(shè)最終的編碼流僅由宏塊的碼構(gòu)成,且宏塊的碼僅由DC(內(nèi),間)碼和AC碼構(gòu)成。不考慮除了 DC間預(yù)測(cè)(例如,量化位階、碼的比特排列、片段的第一宏塊的開(kāi)銷)以外的相關(guān)性。通過(guò)預(yù)先從整體圖像數(shù)據(jù)的預(yù)算中減去固定長(zhǎng)度開(kāi)銷來(lái)實(shí)現(xiàn)(1)中的簡(jiǎn)化。稍后將考察(2) 中的簡(jiǎn)化,以表明本方法能夠容易地?cái)U(kuò)展到符合MPEG-2的I幀。當(dāng)最終流大小的預(yù)算(即整體圖像數(shù)據(jù)的碼率)由^jirtur J合出時(shí),可以根據(jù)下式計(jì)算片段的碼率預(yù)算。[數(shù)學(xué)公式1]
權(quán)利要求
1.一種用于對(duì)表示圖像的圖像數(shù)據(jù)進(jìn)行編碼的圖像編碼裝置,該裝置包括 亂序部,從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼部,對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制部,控制所述編碼部以所述多個(gè)宏塊作為所述基本單元來(lái)調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率,其中所述碼率控制部針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)每個(gè)宏塊的預(yù)測(cè)器宏塊進(jìn)行預(yù)測(cè)的預(yù)測(cè)量是否已知,并且基于總體上包括所述多個(gè)宏塊的圖像數(shù)據(jù)內(nèi)已編碼宏塊中每個(gè)被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量,通過(guò)執(zhí)行碼率校正來(lái)控制所述編碼部。
2.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中要根據(jù)相關(guān)聯(lián)預(yù)測(cè)器宏塊預(yù)測(cè)的預(yù)測(cè)量未知的已編碼宏塊被定義為開(kāi)放宏塊,并且所述碼率控制部通過(guò)將所述圖像數(shù)據(jù)的已分配碼率乘以如下的值來(lái)計(jì)算所述多個(gè)宏塊的已分配碼率,該值是通過(guò)將所述多個(gè)宏塊中的宏塊數(shù)量除以所述圖像數(shù)據(jù)中的宏塊數(shù)量而得到,通過(guò)將所述編碼部對(duì)所述多個(gè)宏塊進(jìn)行編碼之前和之后整體圖像數(shù)據(jù)中開(kāi)放宏塊的數(shù)量之差乘以所述開(kāi)放宏塊的預(yù)測(cè)碼的最大碼率與所述預(yù)測(cè)碼的平均碼率之差,計(jì)算對(duì)所述多個(gè)宏塊的已分配碼率的校正,通過(guò)將所述校正與所述多個(gè)宏塊的已分配碼率相加來(lái)計(jì)算校正后的已分配碼率,以及控制所述編碼部,使得在對(duì)所述多個(gè)宏塊編碼后的碼率等于或小于所述校正后的已分配碼率。
3.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中所述預(yù)測(cè)碼包括DC預(yù)測(cè)的碼。
4.根據(jù)權(quán)利要求2所述的圖像編碼裝置,其中所述空間-頻率變換由DCT變換執(zhí)行,并且所述碼率控制部基于所述校正后的已分配碼率確定當(dāng)所述編碼部對(duì)所述多個(gè)宏塊進(jìn)行量化時(shí)使用的量化位階。
5.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中所述圖像數(shù)據(jù)包括由單一行中排列的第二多個(gè)宏塊構(gòu)成的切片層, 所述亂序部創(chuàng)建所述第二多個(gè)宏塊的位置信息,該位置信息包括當(dāng)對(duì)所述第二多個(gè)宏塊進(jìn)行亂序時(shí)所述切片層中的掃描順序,以及所述碼率控制部通過(guò)從構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)宏塊的逐比特宏塊碼率與構(gòu)成所述切片層的所述單一行中排列的所述多個(gè)第二宏塊內(nèi)已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率之和除以8并對(duì)由此得到的商數(shù)向上圓整為整數(shù)而得到的值,減去構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)碼塊內(nèi)已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率除以8并對(duì)由此得到的商數(shù)向上圓整為整數(shù)而得到的值,計(jì)算在構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)宏塊的呈字節(jié)形式的宏塊碼率。
6.根據(jù)權(quán)利要求5所述的圖像編碼裝置,其中所述碼率控制部計(jì)算所述切片層中各宏塊的已分配碼率,使得在所述切片層的起始位置處的宏塊的已分配碼率大于所述切片層的其他宏塊的已分配碼率。
7.根據(jù)權(quán)利要求1所述的圖像編碼裝置,該裝置進(jìn)一步包括 中間緩存器部,用于臨時(shí)存儲(chǔ)由所述編碼部編碼的已編碼數(shù)據(jù);以及重排序部,通過(guò)按掃描順序讀取重排序所述已編碼數(shù)據(jù)使之按照在所述亂序部進(jìn)行亂序之前的順序排列,所述已編碼數(shù)據(jù)存儲(chǔ)在所述中間存儲(chǔ)部,其中,所述中間緩存器部的容量等于整體圖像數(shù)據(jù)的已分配碼率與通過(guò)將固定長(zhǎng)度開(kāi)銷乘以所述宏塊的總數(shù)而得到的值之和。
8.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中所述編碼部按照J(rèn)PEG和MPEG-2中的至少一種對(duì)所述多個(gè)宏塊進(jìn)行編碼。
9.根據(jù)權(quán)利要求1所述的圖像編碼裝置,其中所述編碼部按照幀間編碼方法對(duì)所述多個(gè)宏塊進(jìn)行編碼。
10.一種對(duì)表示圖像的圖像數(shù)據(jù)進(jìn)行編碼的圖像編碼方法,該方法包括以下步驟 亂序步驟,從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼步驟,對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制步驟,控制所述編碼部以所述多個(gè)宏塊作為所述基本單元來(lái)調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率,其中所述碼率控制步驟具有判定步驟和控制步驟,該判定步驟針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)各個(gè)宏塊的預(yù)測(cè)器宏塊進(jìn)行預(yù)測(cè)的預(yù)測(cè)量是否已知,該控制步驟基于總體上包括所述多個(gè)宏塊的圖像數(shù)據(jù)內(nèi)已編碼宏塊中每個(gè)被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量,通過(guò)執(zhí)行碼率校正來(lái)控制所述編碼步驟。
11.根據(jù)權(quán)利要求10所述的圖像編碼方法,其中根據(jù)相關(guān)聯(lián)預(yù)測(cè)器宏塊預(yù)測(cè)的預(yù)測(cè)量未知的已編碼宏塊被定義為開(kāi)放宏塊,并且所述碼率控制步驟具有如下步驟通過(guò)將所述圖像數(shù)據(jù)的已分配碼率乘以如下的值來(lái)計(jì)算所述多個(gè)宏塊的已分配碼率,該值是通過(guò)將所述多個(gè)宏塊中的宏塊數(shù)量除以所述圖像數(shù)據(jù)中的宏塊數(shù)量而得到,通過(guò)將在所述編碼步驟中對(duì)所述多個(gè)宏塊進(jìn)行編碼之前和之后整體圖像數(shù)據(jù)中開(kāi)放宏塊的數(shù)量之差乘以所述開(kāi)放宏塊的預(yù)測(cè)碼的最大碼率與所述預(yù)測(cè)碼的平均碼率之差,計(jì)算對(duì)所述多個(gè)宏塊的已分配碼率的校正的步驟,通過(guò)將所述校正與所述多個(gè)宏塊的已分配碼率相加來(lái)計(jì)算校正后的已分配碼率,以及對(duì)所述編碼步驟進(jìn)行控制的步驟,使得在對(duì)所述多個(gè)宏塊編碼后的碼率等于或小于所述校正后的已分配碼率。
12.根據(jù)權(quán)利要求11所述的圖像編碼方法,其中所述預(yù)測(cè)碼包括DC預(yù)測(cè)的碼。
13.根據(jù)權(quán)利要求11所述的圖像編碼方法,其中所述空間-頻率變換由DCT變換執(zhí)行,并且所述碼率控制步驟具有如下步驟基于所述校正后的已分配碼率確定當(dāng)在所述編碼步驟中對(duì)所述多個(gè)宏塊進(jìn)行量化時(shí)使用的量化位階。
14.根據(jù)權(quán)利要求10所述的圖像編碼方法,其中所述圖像數(shù)據(jù)包括由單一行中排列的第二多個(gè)宏塊構(gòu)成的切片層,所述亂序步驟具有如下步驟創(chuàng)建所述第二多個(gè)宏塊的位置信息,該位置信息包括當(dāng)對(duì)所述第二多個(gè)宏塊進(jìn)行亂序時(shí)所述切片層中的掃描順序,以及所述碼率控制步驟具有如下步驟通過(guò)從構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)宏塊的逐比特宏塊碼率與構(gòu)成所述切片層的所述單一行中排列的所述多個(gè)第二宏塊內(nèi)已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率之和除以8并對(duì)由此得到的商數(shù)向上圓整為整數(shù)而得到的值,減去構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)碼塊內(nèi)已編碼宏塊及其關(guān)聯(lián)的開(kāi)銷的逐比特總碼率除以8并對(duì)由此得到的商數(shù)向上圓整為整數(shù)而得到的值,計(jì)算在構(gòu)成所述切片層的單一行中排列的所述第二多個(gè)宏塊的呈字節(jié)形式的宏塊碼率。
15.根據(jù)權(quán)利要求14所述的圖像編碼方法,其中所述碼率控制步驟具有如下步驟計(jì)算所述切片層中各宏塊的已分配碼率,使得在所述切片層的起始位置處的宏塊的已分配碼率大于所述切片層的其他宏塊的已分配碼率。
16.根據(jù)權(quán)利要求10所述的圖像編碼方法,該方法進(jìn)一步包括臨時(shí)存儲(chǔ)步驟,臨時(shí)存儲(chǔ)在所述編碼步驟中編碼的已編碼數(shù)據(jù);以及重排序步驟,通過(guò)按掃描順序讀取在所述臨時(shí)存儲(chǔ)步驟中存儲(chǔ)的已編碼數(shù)據(jù),重排序所述已編碼數(shù)據(jù)使之按照在所述亂序步驟中進(jìn)行亂序之前的順序排列,并輸出所述已編碼數(shù)據(jù),其中所述臨時(shí)存儲(chǔ)步驟具有如下步驟將所述已編碼數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,該存儲(chǔ)器的容量等于整體圖像數(shù)據(jù)的已分配碼率與固定長(zhǎng)度開(kāi)銷乘以所述宏塊的總數(shù)而得到的值之和。
17.一種由計(jì)算機(jī)可執(zhí)行的用于對(duì)表示圖像的圖像數(shù)據(jù)進(jìn)行編碼的圖像編碼程序,該程序包括亂序步驟,從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼步驟,對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制步驟,控制所述編碼部以所述多個(gè)宏塊作為所述基本單元來(lái)調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率,其中所述碼率控制步驟具有判定步驟,該判定步驟針對(duì)所述多個(gè)宏塊中的每個(gè)宏塊判定要根據(jù)各個(gè)宏塊的預(yù)測(cè)器宏塊進(jìn)行預(yù)測(cè)的預(yù)測(cè)量是否已知,并通過(guò)基于總體上包括所述多個(gè)宏塊的圖像數(shù)據(jù)內(nèi)已編碼宏塊中每個(gè)被判定為具有未知預(yù)測(cè)量的宏塊的數(shù)量,執(zhí)行碼率校正來(lái)控制所述編碼步驟。
全文摘要
本發(fā)明的一個(gè)目的是提供圖像編碼裝置、圖像編碼方法和圖像編碼程序,其通過(guò)在不改變切片結(jié)構(gòu)的情況下執(zhí)行宏塊亂序,能夠使得整體圖像的圖像質(zhì)量均質(zhì)化而不降低編碼效率,能夠高速地運(yùn)行,并能夠減小電路規(guī)模的大小。提供了一種圖像編碼裝置,其包括亂序部,其從圖像內(nèi)各位置采集構(gòu)成圖像數(shù)據(jù)的多個(gè)宏塊并進(jìn)行亂序;編碼部,其對(duì)作為基本單元的由所述亂序部采集并亂序的所述多個(gè)宏塊進(jìn)行空間-頻率變換和熵編碼;以及碼率控制部,其控制所述編碼部調(diào)節(jié)編碼后的所述多個(gè)宏塊的碼率。
文檔編號(hào)H04N7/26GK102257819SQ20098015136
公開(kāi)日2011年11月23日 申請(qǐng)日期2009年10月22日 優(yōu)先權(quán)日2008年10月30日
發(fā)明者松崎智德, 高田洋介 申請(qǐng)人:Gvbb控股股份有限公司