專利名稱:視頻編碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及速率控制,尤其涉及視頻編碼中的速率控制。
背景技術(shù):
因?yàn)檫\(yùn)動(dòng)圖像數(shù)據(jù),也就是視頻數(shù)據(jù)具有大量的數(shù)據(jù),所以在分發(fā)或積存視頻數(shù)據(jù)時(shí)進(jìn)行壓縮編碼。在壓縮編碼時(shí),需要以不超過分發(fā)時(shí)的傳輸能力的比特率來編碼視頻數(shù)據(jù),并且需要以不超過積存時(shí)能保證的容量的比特?cái)?shù)來對(duì)其進(jìn)行編碼。為了解決上述需求,通過使用例如恒定比特率(CBR)控制或可變比特率(VBR)控制等技術(shù)在視頻編碼中控制比特率,例如象Wataru Kameyama和TsuyoshiHamamura編著的IDG日本公司(2003年1月28日)的IDG信息和電信系列MPEG-1/MPEG-2/MPEG-4數(shù)字廣播教科書(第一卷)中所述的那樣。在CBR控制中,以每個(gè)序列恒定的比特率來對(duì)對(duì)象視頻圖像的整個(gè)序列組進(jìn)行編碼。在VBT控制中,以每個(gè)序列不同的比特率來對(duì)對(duì)象視頻圖像的整個(gè)序列組進(jìn)行編碼,以便平均比特率變成目標(biāo)比特率。
這些速率控制系統(tǒng)大致分為兩種。其中通過只掃描一次來對(duì)對(duì)象視頻圖像進(jìn)行編碼的速率控制系統(tǒng)稱為一次(one-pass)速率控制。這分為一次CRB控制和一次VBR控制。相反,其中對(duì)對(duì)象視頻圖像的整個(gè)序列掃描一次并且對(duì)其分析,然后基于分析的結(jié)果來確定分配給序列中所包含的每個(gè)場景的比特?cái)?shù)的速率控制系統(tǒng)稱為兩次(two-pass)速率控制。這分為兩次CBR控制和兩次VBR控制。
在兩次速率控制中,除非對(duì)象視頻圖像的整個(gè)序列的圖像質(zhì)量是已知的,不能開始編碼。并且,在編碼的時(shí)候需要分析處理以及編碼處理。為此,兩次速率控制不能用于在接收正在廣播的視頻數(shù)據(jù)的同時(shí)實(shí)時(shí)地進(jìn)行編碼的應(yīng)用。一次速率控制用于這樣的應(yīng)用。
在執(zhí)行一次速率控制時(shí),以圖像組(GOP)為單位分配比特?cái)?shù),并且還根據(jù)每個(gè)圖像的全局復(fù)雜性度量將每個(gè)GOP的比特?cái)?shù)分配作為每個(gè)圖像的比特?cái)?shù)。在調(diào)整量化參數(shù)的同時(shí)進(jìn)行編碼以便以這種方式分配的比特?cái)?shù)和在實(shí)際編碼時(shí)的編碼比特?cái)?shù)之間的偏差不會(huì)太大。此時(shí),每次對(duì)I圖像編碼時(shí)都更新I圖像的全局復(fù)雜性度量,每次對(duì)P和B圖像編碼時(shí)也都更新P和B圖像的全局復(fù)雜性度量。
另一方面,由KOKAI申請(qǐng)的公開號(hào)為2000-115786的日本專利申請(qǐng)公開了一種通過根據(jù)為運(yùn)動(dòng)圖像的每個(gè)場景編碼的困難程度轉(zhuǎn)換量化參數(shù)來防止圖像質(zhì)量劣化的方法。
因?yàn)樵谝淮蜟BR控制中不對(duì)對(duì)象視頻圖像進(jìn)行分析,所以不能識(shí)別下一個(gè)圖像是否包括快速運(yùn)動(dòng)、是否是靜止圖像、平坦圖像或者是具有高分辨率的圖像的特性。因此,在一次CBR控制中,不能執(zhí)行考慮了在運(yùn)動(dòng)圖像的整個(gè)序列中的圖像質(zhì)量的編碼。此外,為產(chǎn)生主觀圖像質(zhì)量所需的比特?cái)?shù)甚至取決于圖像特性差別很大。因此,在為了執(zhí)行使每個(gè)圖像中使用的比特?cái)?shù)恒定、而不考慮圖像的特性如何的控制的CBR控制中,不一定能獲得高圖像質(zhì)量的編碼結(jié)果。
另一方面,在一次VBR控制中,與一次CBR控制的情況相同,不執(zhí)行對(duì)下一個(gè)圖像的分析,因此考慮到圖像的特性,很難達(dá)到高質(zhì)量圖像。而且,在一次VBR控制中,給出優(yōu)先級(jí)來防止圖像質(zhì)量劣化,這樣做不是為了將瞬時(shí)比特率嚴(yán)格地調(diào)整到目標(biāo)比特率。也就是說,進(jìn)行控制以便不會(huì)讓量化參數(shù)QP的值大幅度變化。因此,當(dāng)對(duì)象視頻圖像的序列短時(shí),向目標(biāo)比特率的收斂性更差,并且存在被編碼比特的數(shù)量不落入所要求的比特?cái)?shù)的情況。
另一方面,在專利文件1中的技術(shù)中,當(dāng)存在場景變化使得運(yùn)動(dòng)場景變化到靜止圖像場景,或者相反,靜止圖像場景變化到運(yùn)動(dòng)場景時(shí),圖像質(zhì)量很容易劣化。這是因?yàn)榧词够诰幋a的困難程度來確定量化參數(shù),每個(gè)圖像類型的分配也不一定合適。
而且,假設(shè)在執(zhí)行一次速率控制時(shí),執(zhí)行將以GOP為單位分配比特?cái)?shù)的過程,以及根據(jù)I、P、B圖像的每個(gè)圖像的全局復(fù)雜性度量將每個(gè)GOP的比特?cái)?shù)分配作為每個(gè)圖像的比特?cái)?shù)。在該情況下,在更新每個(gè)圖像的全局復(fù)雜性度量時(shí),更新I圖像的頻率少于更新P和B圖像的頻率。因此,存在這樣的情況,即通過使用對(duì)I圖像不適合的全局復(fù)雜性度量的值來分配每個(gè)圖像的比特?cái)?shù),這引起要分配給I圖像的比特?cái)?shù)不合適的問題。而且,因?yàn)镮圖像和下一個(gè)I圖像之間的時(shí)間差很大,所以I圖像之間的圖像特性的變化很大。為此,更新I圖像的全局復(fù)雜性度量的精確度很低,這可能是圖像質(zhì)量劣化的一個(gè)原因。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面提供一種在進(jìn)行速率控制以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率的同時(shí)編碼視頻圖像的視頻編碼方法,該方法包括使用第一量化參數(shù)對(duì)視頻圖像中包含的n個(gè)圖像進(jìn)行編碼以產(chǎn)生第一編碼數(shù)據(jù);使用第一編碼數(shù)據(jù)計(jì)算表示編碼所使用的每個(gè)圖像類型的編碼比特?cái)?shù)的第一編碼比特?cái)?shù)信息;用從第一編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第一編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第一比特率;使用不同于第一量化參數(shù)的第二量化參數(shù)對(duì)對(duì)象視頻圖像中包含的n個(gè)圖像進(jìn)行編碼以產(chǎn)生第二編碼數(shù)據(jù);使用第二編碼數(shù)據(jù)計(jì)算表示后一編碼所使用的每個(gè)圖像類型的編碼比特?cái)?shù)的第二編碼比特?cái)?shù)信息;用從第一編碼比特?cái)?shù)息中計(jì)算出來的每個(gè)圖像的平均第二編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第二比特率;使用第一比特率、第一量化參數(shù)、第二比特率、第二量化參數(shù)和目標(biāo)比特率來計(jì)算第三量化參數(shù);以及使用第三量化參數(shù)作為初始值執(zhí)行速率控制。
圖1是根據(jù)本發(fā)明第一實(shí)施例的視頻編碼裝置的框圖;圖2是詳細(xì)的編碼器框圖,其中在圖1中的速率控制是可能的;圖3是表示在本發(fā)明第一實(shí)施例中的初始參數(shù)設(shè)置過程的流程圖;圖4是表示一組圖像的一個(gè)例子的視圖;圖5是用于解釋對(duì)象視頻圖像序列和在計(jì)算每個(gè)圖像類型的比特?cái)?shù)中使用的n個(gè)圖像的位置的視圖;圖6是用于解釋對(duì)象視頻圖像序列和在計(jì)算每個(gè)圖像類型的比特?cái)?shù)中使用的n個(gè)圖像的位置的視圖;圖7是表示在本發(fā)明第二實(shí)施例中的初始參數(shù)設(shè)置過程的流程圖;圖8是圖7中計(jì)算全局復(fù)雜性度量的初始值的步驟的細(xì)節(jié)的流程圖;圖9是表示在本發(fā)明的第三實(shí)施例中的初始參數(shù)設(shè)置過程的流程圖;圖10是根據(jù)本發(fā)明第四實(shí)施例的視頻編碼裝置的框圖;圖11是表示在第四實(shí)施例中的初始參數(shù)設(shè)置過程的流程圖;圖12是用于解釋在第四實(shí)施例中已經(jīng)檢測到場景變化的幀與在初始參數(shù)設(shè)置過程中使用的幀之間的關(guān)系的視圖;圖13是用于解釋在第四實(shí)施例中已經(jīng)檢測到場景變化的幀與在初始參數(shù)設(shè)置過程中使用的幀之間的關(guān)系的視圖;圖14是根據(jù)本發(fā)明第五實(shí)施例的視頻編碼裝置的框圖;圖15是表示在第五實(shí)施例中的初始參數(shù)設(shè)置過程的流程圖;圖16是表示在圖15中確定每個(gè)場景的目標(biāo)比特率的步驟的細(xì)節(jié)的的流程圖;圖17是根據(jù)本發(fā)明第六實(shí)施例的視頻編碼裝置的框圖;圖18A是表示第六實(shí)施例中的處理過程的流程圖;圖18B是表示第六實(shí)施例中的處理過程的流程圖;圖19是用于解釋第六實(shí)施例中的編碼單元的一個(gè)例子的視圖;圖20是用于解釋第六實(shí)施例中的編碼單元的另一個(gè)例子的視圖;圖21是第六實(shí)施例中在編碼單元中編碼時(shí)選擇內(nèi)部編碼(intra-encoding)的連接圖;
圖22是第六實(shí)施例中在編碼單元中編碼時(shí)選擇交互編碼(inter-encoding)的連接圖;圖23是第六實(shí)施例中在編碼內(nèi)部片(intra-slice)時(shí)的連接圖;圖24是第六實(shí)施例中在編碼交互片(inter-slice)時(shí)的連接圖;圖25A是表示在第六實(shí)施例中,以每個(gè)圖像分配比特?cái)?shù)、以宏塊為單位進(jìn)行編碼以及對(duì)每個(gè)圖像進(jìn)行虛擬緩沖占有量的更新和量化參數(shù)的確定的情況中的處理過程的流程圖;圖25B是表示在第六實(shí)施例中,以每個(gè)圖像分配比特?cái)?shù)、以宏塊為單位進(jìn)行編碼以及對(duì)每個(gè)圖像進(jìn)行虛擬緩沖占有量的更新和量化參數(shù)的確定的情況中的處理過程的流程圖;圖26是表示根據(jù)第六實(shí)施例的視頻編碼裝置中內(nèi)部編碼器的細(xì)節(jié)的框圖;圖27是表示根據(jù)本發(fā)明第七實(shí)施例的視頻編碼裝置中的內(nèi)部編碼器的細(xì)節(jié)的框圖;圖28是表示根據(jù)本發(fā)明第七實(shí)施例的修改例的視頻編碼裝置中的內(nèi)部編碼器的細(xì)節(jié)的框圖;及圖29是根據(jù)本發(fā)明第七實(shí)施例的修改例的視頻編碼裝置的框圖。
具體實(shí)施例方式
以下,將參照附圖來詳細(xì)描述本發(fā)明的各個(gè)實(shí)施例。
(第一實(shí)施例)圖1表示根據(jù)本發(fā)明第一實(shí)施例的視頻編碼裝置,所述裝置具有目標(biāo)比特率(BR)輸入單元1、幀速率(FR)/重排序延時(shí)(M)/GOP數(shù)量輸入單元2、自適應(yīng)初始參數(shù)確定單元3和速率控制編碼器9。自適應(yīng)初始參數(shù)確定單元3具有第一量化參數(shù)(QP1)確定單元4、用于為每個(gè)圖像類型計(jì)算編碼比特?cái)?shù)的計(jì)算器5(稱作比特?cái)?shù)計(jì)算器)、使用每個(gè)圖像類型的比特?cái)?shù)的臨時(shí)比特率計(jì)算器6、第二量化參數(shù)(QP2)確定單元7和初始參數(shù)確定單元8。
圖2表示圖1中的速率控制編碼器9的細(xì)節(jié)。該例子表示與H.264相關(guān)地實(shí)現(xiàn)的視頻編碼器的主要部分。將視頻信號(hào)101輸入到減法器201,所述視頻信號(hào)是要被編碼的對(duì)象,由減法器201產(chǎn)生預(yù)測誤差信號(hào)102,所述預(yù)測誤差信號(hào)是視頻信號(hào)101和預(yù)測信號(hào)110之間的有限差。由離散余弦變換(DCT)/量化單元202對(duì)預(yù)測誤差信號(hào)102進(jìn)行DCT和量化。將量化的DCT系數(shù)信息103輸入到解量化/逆DCT單元203和熵編碼器212。這里,引用DCT/逆DCT作為正交變換/逆正交變換的一個(gè)例子,但并不局限于此。
量化的DCT系數(shù)信息103被解量化/逆DCT單元203處理,由此產(chǎn)生與預(yù)測誤差信號(hào)102相對(duì)應(yīng)的信號(hào)104。解量化/逆DCT單元203執(zhí)行與DCT/量化單元202的過程相反處理的逆DCT和解量化。從解量化/逆DCT單元203輸出的信號(hào)104在加法器204中與來自模式選擇切換器209的預(yù)測信號(hào)相加,由此產(chǎn)生局部解碼圖像信號(hào)105。所述局部解碼圖像信號(hào)105被存儲(chǔ)在參考圖像存儲(chǔ)器205中作為參考圖像信號(hào)。具有多個(gè)幀的參考圖像信號(hào)被順序存儲(chǔ)在參考圖像存儲(chǔ)器205中。
將從參考圖像存儲(chǔ)器205讀出的參考圖像信號(hào)輸入到內(nèi)部預(yù)測器206以產(chǎn)生內(nèi)部預(yù)測信號(hào)106。參考圖像信號(hào)被去塊濾波器207濾波。將濾波后的參考圖像信號(hào)107輸入到交互預(yù)測器(運(yùn)動(dòng)補(bǔ)償預(yù)測器)208。交互預(yù)測器208搜索與濾波后的具有多個(gè)幀的參考圖像信號(hào)相關(guān)的運(yùn)動(dòng)矢量,并基于搜索到的運(yùn)動(dòng)矢量執(zhí)行運(yùn)動(dòng)補(bǔ)償,由此產(chǎn)生運(yùn)動(dòng)矢量信息108和每個(gè)幀的交換預(yù)測信號(hào)109。
模式選擇切換器209根據(jù)從編碼控制器211輸出的編碼模式信息(未示出)在內(nèi)部預(yù)測模式下選擇內(nèi)部預(yù)測信號(hào)106,而在交互預(yù)測模式下選擇交互預(yù)測信號(hào)109。將模式選擇切換器209選擇的預(yù)測信號(hào)110輸入到減法器201。
在熵編碼器212中,例如算術(shù)編碼的熵編碼受量化的DCT系數(shù)信息103、運(yùn)動(dòng)矢量信息108和預(yù)測模式信息111的支配,以便產(chǎn)生與各個(gè)信息103、108和111相對(duì)應(yīng)的可變長度編碼113。將可變長度編碼113作為用于語法的數(shù)據(jù)提供給后一級(jí)的復(fù)用器(未示出),并且由于數(shù)據(jù)被復(fù)用而產(chǎn)生編碼比特流。輸出緩沖器(未示出)對(duì)編碼比特流進(jìn)行平滑處理,然后將其發(fā)送到發(fā)送系統(tǒng)或累積系統(tǒng)(未示出)。
編碼控制器211從圖1中所示的初始參數(shù)確定單元8接收初始參數(shù),并且執(zhí)行例如在DCT/量化單元202和IDCT/解量化單元203中的量化參數(shù)的控制,以及熵編碼器212的控制,以便控制編碼比特率。
下面,將參照?qǐng)D3描述本實(shí)施例中的初始參數(shù)設(shè)置過程。在下面的描述中,要被編碼的對(duì)象的視頻信號(hào)叫做對(duì)象視頻圖像。在設(shè)置初始參數(shù)的時(shí)候,將對(duì)象視頻圖像101輸入到自適應(yīng)初始參數(shù)確定單元3,從輸入單元1輸入與目標(biāo)比特率(BR)相關(guān)的信息,從輸入單元2輸入與對(duì)象視頻圖像101的設(shè)置幀速率(FR)、重排序延時(shí)(M)和圖像組(GOP)的數(shù)量(N)相關(guān)的信息。重排序延時(shí)是I圖像或P圖像出現(xiàn)的周期。重排序延時(shí)是M的事實(shí)意味著M-1個(gè)B圖像跟隨著I圖像或P圖像。GOP表示從擁有對(duì)象視頻圖像101的I圖像直到下一個(gè)I圖像中的所有的I圖像、P圖像和B圖像的N個(gè)圖像的集合。例如,圖4中示出了M=3和N=15的情況中的GOP。這里,在圖4中,按照從左邊開始的顯示順序來排列圖像。
在自適應(yīng)初始參數(shù)確定單元3中,首先,第一量化參數(shù)確定單元4確定第一量化參數(shù)QP1(步驟S1)。在該情況中,可以根據(jù)用戶的輸入來確定量化參數(shù)QP1,或者可基于每個(gè)像素的編碼比特?cái)?shù)來確定QP1。參照后一種方法的一個(gè)例子,計(jì)算比特率/(幀速率×每個(gè)圖像的像素?cái)?shù))以根據(jù)計(jì)算的結(jié)果來確定量化參數(shù),例如Siwei Ma;WenGao;Feng Wu;Yan Lu;Image Processing,2003,Processings.2003International Conference,on,Volume 3,14-17 Sep 6,2003,PagesIII-793-6 vol.2中所描述的那樣。
下面,通過使用以這種方式確定的量化參數(shù)QP1,比特?cái)?shù)計(jì)算器5計(jì)算每個(gè)圖像類型的比特?cái)?shù)I1、P1和B1,其是表示每個(gè)圖像編碼比特?cái)?shù),也就是編碼中使用的每個(gè)圖像類型的每個(gè)圖像的編碼比特?cái)?shù)的信息(步驟S2)。這里,每個(gè)圖像類型的比特?cái)?shù)I1表示I圖像的比特?cái)?shù),每個(gè)圖像類型的比特?cái)?shù)P1表示P圖像的比特?cái)?shù),每個(gè)圖像類型的比特?cái)?shù)B1表示B圖像的比特?cái)?shù),眾所周知,在MPEG-2中,I圖像是沒有參照另一個(gè)圖像而進(jìn)行編碼的圖像,P圖像是參照編碼的I和P圖像中的時(shí)間在前的圖像進(jìn)行編碼的圖像,B圖像是參照編碼的I和P圖像中的時(shí)間在前和在后的圖像的圖像。在H.264中,將片(slice)定義為小于圖像的編碼單元。有只參照編碼對(duì)象片的編碼部分進(jìn)行編碼的I片,只參照編碼的I和P片的最多一個(gè)進(jìn)行編碼的P片以及參照編碼的I和P片的最多兩個(gè)進(jìn)行編碼的B片。盡管H.264和MPEG-2之間存在差別,但是在1片制成1個(gè)圖像的情況下它們存在相似的特性,因此,在下面的描述中將它們描述為I圖像、P圖像和B圖像。
上面描述了計(jì)算B1。但是,當(dāng)實(shí)際編碼B圖像時(shí)(即,當(dāng)重排序延時(shí)M是1時(shí)),不需要計(jì)算B1。同樣,當(dāng)用I圖像進(jìn)行整個(gè)編碼時(shí)(即當(dāng)GOP N是1時(shí)),不需要計(jì)算P1。
一種計(jì)算每個(gè)圖像類型的比特?cái)?shù)I1、P1和B1的方法是用于對(duì)對(duì)象視頻圖像101中包含的圖像進(jìn)行實(shí)際編碼的方法。例如,所述方法是用量化參數(shù)QP1對(duì)視頻序列中的前n個(gè)圖像執(zhí)行編碼。這使得參照I圖像、P圖像和B圖像來確定至少每個(gè)圖像的I1、P1和B1的編碼比特?cái)?shù)是可能的。此時(shí)基于重排序延時(shí)M的值來確定n的最小值。
由于當(dāng)重排序延時(shí)M是1時(shí),第一個(gè)圖像被編碼成I圖像,下一個(gè)圖像被編碼成P圖像,所以它滿足至少兩個(gè)來自對(duì)象視頻圖像頂部的圖像被編碼。假設(shè)當(dāng)重排序延時(shí)M是3時(shí),對(duì)象視頻圖像中的第一個(gè)圖像被編碼成I圖像。在該情況下,第四個(gè)圖像被編碼成P圖像,接著,第二個(gè)圖像和第三個(gè)圖像被連續(xù)編碼成B圖像。因此,它滿足至少n=4個(gè)來自對(duì)象視頻圖像的頂部的圖像被編碼。即,在圖5所示的對(duì)象視頻圖像中的幀中,只有用圖5中的陰影表示的前四個(gè)幀被用量化參數(shù)QP1實(shí)際編碼,沒有執(zhí)行用QP1對(duì)其他幀進(jìn)行編碼(相應(yīng)地,沒有執(zhí)行對(duì)圖像的分析)。
在上面的描述中,已經(jīng)解釋了對(duì)M+1個(gè)圖像進(jìn)行編碼(n=M+1)的例子。但是,(k×M+1)個(gè)圖像被編碼(n=k×M+1),并且對(duì)同一類型中的圖像的編碼比特?cái)?shù)取平均以計(jì)算每個(gè)圖像類型的編碼比特?cái)?shù)。這里,將解釋對(duì)M+1個(gè)圖像進(jìn)行編碼(n=M+1)的例子。
這里,已經(jīng)對(duì)一個(gè)幀被編碼成一個(gè)圖像的情況給出了解釋。但是,一個(gè)幀被分成兩個(gè)場,并且一個(gè)場被編碼成一個(gè)圖像的情況也是相同的。這也應(yīng)用到下面將描述的其他實(shí)施例中。
除了通過用量化參數(shù)QP1進(jìn)行實(shí)際編碼來檢查編碼比特?cái)?shù)的方法外,還使用一種相對(duì)于在完成直到處于編碼的中間階段的DCT的處理過程的步驟時(shí)獲得的DCT系數(shù),基于在用量化參數(shù)QP1進(jìn)行量化時(shí)獲得0系數(shù)的數(shù)量來估計(jì)編碼比特?cái)?shù)的方法。例如,已經(jīng)在Z.He,Y.K.Kim,Sanjit.K.Mitra“Low-Delay Rate Control for DCT VideoCoding via p-domain Source Modeling”,IEEE Transactions onCircuits and Systems for Video Technology,Vol.11,No.8,oag.928-940,Aug.2001.中報(bào)導(dǎo)了該方法。在使用該方法的情況中,其有能力估計(jì)只在圖5的陰影幀中對(duì)于在完成直到DCT的處理的階段獲得的DCT系數(shù)的編碼比特?cái)?shù)。
將已經(jīng)用這種方式確定的I圖像的比特?cái)?shù)和P圖像的比特?cái)?shù)分別作為I1和P1,將兩個(gè)B圖像的比特?cái)?shù)的平均值,或者較多的比特?cái)?shù)或較少的比特?cái)?shù)作為B1。這里,從n個(gè)圖像中,例如,從對(duì)象視頻圖像的前n個(gè)圖像中,計(jì)算出每個(gè)圖像類型的比特?cái)?shù)I1、P1和B1在本發(fā)明中是很重要的。用于計(jì)算I1、P1和B1的方法本身不受限制,例如通過實(shí)際執(zhí)行編碼來確定比特?cái)?shù),以及通過使用基于0系數(shù)的數(shù)量的近似值來確定比特?cái)?shù)。
下面,通過使用如上所述在比特?cái)?shù)計(jì)算器5中計(jì)算出來的每個(gè)圖像類型的比特?cái)?shù)I1、P1和B1和從輸入單元2輸入的與設(shè)置幀速率有關(guān)的信息來在臨時(shí)比特率計(jì)算器6中計(jì)算臨時(shí)比特率(第一比特率)BR1(步驟S3)。例如,考慮一個(gè)幀被編碼成一個(gè)圖像的情況,按照下面的內(nèi)容計(jì)算臨時(shí)比特率BR1。
BR1=I1+P1×(NM-1)+B1×NM×(M-1)N×FR-------(1)]]>其中,如上所述,M表示重排序延時(shí);N表示GOP的數(shù)量;FR表示幀速率。
另一方面,在一個(gè)場被編碼成一個(gè)圖像的情況中,按照下面的內(nèi)容計(jì)算臨時(shí)比特率BR1。
BR1=I1+P1×(2×NM-1)+B1×2×NM×(M-1)N×FR-------(2)]]>這樣,通過將設(shè)置的幀速率FR與每個(gè)圖像的編碼比特平均數(shù)相乘來確定臨時(shí)比特率BR1,所述每個(gè)圖像的編碼比特平均數(shù)是由每個(gè)圖像類型的比特?cái)?shù)I1、P1和B1確定的(公式(1)或(2)中右手側(cè)的左邊)。
下面,在第二量化參數(shù)確定單元8中,比較按上面所述計(jì)算出來的臨時(shí)比特率BR1和從目標(biāo)比特率輸入單元1輸入的目標(biāo)比特率BR(步驟S4),并根據(jù)其結(jié)果確定第二量化參數(shù)QP2(步驟S5到S6)。即,當(dāng)臨時(shí)比特率BR1大于目標(biāo)比特率BR時(shí),在步驟S5中將比QP1大ΔQP1的值設(shè)置為QP2,在其他情況中,在步驟S6中將比QP1小ΔQP2的值設(shè)置為QP2。這里,ΔQP1和ΔQP2用于設(shè)置QP2,使得讓通過使用QP2獲得的BR2在BR1小于BR時(shí)接近BR或大于BR1,并且用于設(shè)置QP2,使得在相反情況下讓BR2接近BR或者小于BR1。
隨后,通過使用在第二量化參數(shù)確定單元8中確定的Q2來在比特?cái)?shù)計(jì)算器5中計(jì)算每個(gè)圖像類型的比特?cái)?shù)I2、P2和B2(步驟S7)。在步驟S7中,按照與步驟S2中相同的方式從圖5的陰影幀中確定I2、P2和B2。
下面,基于在步驟S7中計(jì)算出來的每個(gè)圖像類型的比特?cái)?shù)I2、P2和B2、從輸入單元2輸入的幀速率FR和重排序延時(shí)M以及GOP數(shù)N,通過使用與計(jì)算BR1的公式(1)或(2)相同的公式(3)或(4)在臨時(shí)比特率計(jì)算器6中計(jì)算臨時(shí)比特率BR2(步驟S8)。
BR2=I2+P2×(NM-1)+B2×NM×(M-1)N×FR--------(3)]]>BR2=I2+P2×(2×NM-1)+B2×2×NM×(M-1)N×FR-------(4)]]>更具體來說,與公式(1)或(2)中一樣,通過將設(shè)置的幀速率FR與每個(gè)圖像的編碼比特平均數(shù)相乘來確定比特率BR2,所述每個(gè)圖像的編碼比特平均數(shù)是由每個(gè)圖像類型的比特?cái)?shù)I2、P2和B2來確定的(在公式(3)或(4)中右手側(cè)的左邊)。
基于QP1、QP2、BR1、BR2和目標(biāo)比特率BR在初始參數(shù)確定單元7中確定量化參數(shù)QP(步驟S9)。作為用于確定量化參數(shù)QP的方法,設(shè)想作為一個(gè)例子的一種方法,其中假設(shè)比特率BR的對(duì)數(shù)對(duì)于量化參數(shù)QP存在線性關(guān)系QP=a×log(BR)+b,執(zhí)行如下面的公式所示的內(nèi)插或外插計(jì)算。
QP=a×log(BR)+b (5)a=QP2-QP1log(BR2)-log(BR1)]]>b=QP1·log(BR2)-QP2·log(BR1)log(BR2)-log(BR1)]]>但是,也能夠通過使用QP1和BR1、QP2和BR2之間的關(guān)系來計(jì)算估計(jì)適合于比特率BR的量化參數(shù)QP,而且用于計(jì)算QP的方法并不限于特定的公式(5)。
此外,已經(jīng)解釋了象圖5中那樣對(duì)來自第一幀的n個(gè)圖像進(jìn)行編碼上述的例子(其中第一圖像是I圖像的例子)。但是當(dāng)考慮到每個(gè)圖像的編碼效率時(shí),并不這樣進(jìn)行編碼,在很多情況中是讓前M-1個(gè)圖像是P圖像,讓第M個(gè)圖像是I圖像。考慮到這些,優(yōu)選地根據(jù)這樣一種GOP結(jié)構(gòu)計(jì)算出每個(gè)圖像類型的比特?cái)?shù)。
例如,在圖6的情況中,編碼中使用的所有的圖像類型(I圖像、P圖像和B圖像)出現(xiàn)在從第三個(gè)幀到第六個(gè)幀的四個(gè)幀中(四個(gè)圖像),所述第三個(gè)幀到第六個(gè)幀是從對(duì)象視頻圖像的第一幀開始計(jì)數(shù)的。然后,如圖6所示,可以設(shè)想每個(gè)圖像類型的比特?cái)?shù)是基于從第三個(gè)幀到第六個(gè)幀的四個(gè)幀(四個(gè)圖像)中的圖像特性計(jì)算出來的。如上所述,存在這樣的情況,考慮到編碼效率,在最后的編碼中,讓對(duì)象視頻圖像的第一個(gè)幀不是I圖像,但是讓前兩個(gè)幀是P圖像,并且其后緊跟著I圖像。在這種情況中,按照?qǐng)D6設(shè)置用于每個(gè)圖像類型的比特?cái)?shù)的計(jì)算的n個(gè)圖像的方式讓I圖像的位置相互對(duì)應(yīng),而不是象圖5中那樣設(shè)置的方式。因此,有可能改善最終的編碼圖像的圖像質(zhì)量。
在上面的描述中,通過使用對(duì)象視頻圖像的前n個(gè)圖像來計(jì)算每個(gè)圖像類型的比特?cái)?shù)。但是,實(shí)際上,能夠計(jì)算對(duì)象視頻圖像的比特?cái)?shù)的大概值。因此,如果屏幕中沒有任何變化,可以通過使用其中間的n個(gè)圖像的圖像來計(jì)算每個(gè)圖像類型的比特?cái)?shù)。
本實(shí)施例已經(jīng)描述了這樣的例子,其中當(dāng)使用兩個(gè)量化參數(shù)時(shí),基于與編碼中使用的表示每個(gè)圖像類型的編碼比特?cái)?shù)的比特?cái)?shù)相關(guān)的信息來計(jì)算比特率,以及基于量化參數(shù)和比特率對(duì)的兩個(gè)組合以及目標(biāo)比特率來確定第三量化參數(shù)。但是,允許使用基于三個(gè)或更多個(gè)量化參數(shù)和其比特率對(duì)以及目標(biāo)比特率的量化參數(shù)的方法。
在這種情況中,基于三對(duì)或更多對(duì)量化參數(shù)和其比特率以及目標(biāo)比特率來估計(jì)編碼中使用的量化參數(shù),但是可以以各種方式設(shè)想估計(jì)方法。
一種估計(jì)方法是從三對(duì)或更多對(duì)中選擇兩對(duì)、并對(duì)這兩對(duì)應(yīng)用上述的數(shù)學(xué)公式(5)的方法,另一種估計(jì)方法是基于三對(duì)或更多對(duì)量化參數(shù)和比特率之間的關(guān)系、通過使用最小平方等方法來確定近似曲線、由此估計(jì)出在近似曲線上適于目標(biāo)比特率的量化參數(shù)的方法。
可以以各種方式設(shè)想從三對(duì)或更多對(duì)量化參數(shù)和比特率中選擇出兩對(duì)的方法。
例如,有這樣一種方法,其中選擇與最接近目標(biāo)比特率的比特率BR_A相對(duì)應(yīng)的量化參數(shù)QP_A,以及與次接近目標(biāo)比特率的比特率BR_B相對(duì)應(yīng)的量化參數(shù)QP_B;以及這樣一種方法,當(dāng)存在與大于目標(biāo)比特率的比特率BR_C相對(duì)應(yīng)的量化參數(shù)QP_C、以及與小于目標(biāo)比特率的比特率BR_D相對(duì)應(yīng)的量化參數(shù)QP_D時(shí),選擇兩個(gè)量化參數(shù)QP_C和QP_D、比特率BR_C和BR_D以及目標(biāo)比特率。怎樣去選擇并不依賴于本發(fā)明。
最后,通過使用由初始參數(shù)確定單元7在步驟S9中確定的量化參數(shù)初始值QP,使用在速率控制編碼器9中的速率控制來進(jìn)行編碼(步驟S10)。當(dāng)量化參數(shù)初始值QP沒有根據(jù)圖像特性進(jìn)行合適設(shè)置時(shí),存在這樣一個(gè)問題,即圖像質(zhì)量劣化,直到量化參數(shù)穩(wěn)定。根據(jù)本實(shí)施例,預(yù)先計(jì)算和設(shè)置適于對(duì)象視頻圖像特性的初始參數(shù)QP和目標(biāo)比特率BR,以避免這樣的圖像質(zhì)量的初始劣化。
(第二實(shí)施例)下面,將描述本發(fā)明的第二實(shí)施例。在第二實(shí)施例中,在圖1的初始參數(shù)確定單元7中不僅確定量化參數(shù)初始值QP,還確定全局復(fù)雜性度量的初始值。
下文中,將解釋全局復(fù)雜性度量。全局復(fù)雜性度量是在MPEG-2的TM5中采用的系統(tǒng)中使用的參數(shù)。對(duì)于TM5,假設(shè)一種模型,其中平均量化參數(shù)和編碼比特?cái)?shù)的乘積對(duì)于每個(gè)圖像類型是常數(shù)值,除非圖像改變。在下面的公式中,X是每個(gè)圖像類型的全局復(fù)雜性度量,S是每個(gè)圖像類型的比特?cái)?shù),Q是每個(gè)圖像類型的平均量化參數(shù)。
Xi=SiQiXp=SpQpXb=SbQb------(6)]]>在TM5的速率控制中,通過使用公式(6)中示出的每個(gè)I圖像、P圖像和B圖像的全局復(fù)雜性度量值Xi、Xp和Xb來執(zhí)行下一個(gè)圖像的比特分配。根據(jù)該比特分配,調(diào)整每個(gè)宏塊的量化參數(shù)QP以便每個(gè)圖像的編碼比特?cái)?shù)不偏離指定值。即由Xi、Xp和Xb的初始值來確定在開始編碼時(shí)的各個(gè)I、P和B圖像的比特分配。在TM5中按照下述方式選擇Xi、Xp和Xb的初始值。
Xi=160×BR115Xp=60×BR115Xb=42×BR115---------(7)]]>公式(7)表示,假定I圖像的編碼比特?cái)?shù)是160,則P圖像的編碼比特?cái)?shù)大約是60,B圖像的編碼比特?cái)?shù)大約是42。在靜止圖像或接近于靜止圖像的、具有微小運(yùn)動(dòng)的圖像中,I圖像的編碼比特?cái)?shù)遠(yuǎn)遠(yuǎn)大于P圖像和B圖像的編碼比特?cái)?shù)。與此相比,在具有較大運(yùn)動(dòng)的圖像中,在一些情況中P圖像的編碼比特?cái)?shù)和I圖像的編碼比特?cái)?shù)之間幾乎沒有差別。因此,當(dāng)用公式(7)的初始值開始編碼時(shí),剛開始的時(shí)候圖像質(zhì)量會(huì)劣化。隨著要編碼的對(duì)象的圖像數(shù)量的增加,X的值被更新,使得圖像質(zhì)量逐漸穩(wěn)定。
在本發(fā)明的第二實(shí)施例中,沒有將X的初始值作為如公式(7)的不依賴圖像的常數(shù)值,而是根據(jù)圖像的特性適應(yīng)性地進(jìn)行確定X。即在圖1所示的視頻編碼裝置中執(zhí)行圖7所示的自適應(yīng)初始參數(shù)確定過程S14。在圖7中,將步驟S11中的過程加到圖3所示的第一實(shí)施例中的自適應(yīng)初始參數(shù)過程S13中。與第一實(shí)施例不同的是,初始參數(shù)確定單元7和速率控制編碼器9執(zhí)行下面的操作。
在初始參數(shù)確定單元7中,首先以和第一實(shí)施例中相同的方式確定出量化參數(shù)QP(步驟S9)。接著,通過量化參數(shù)QP計(jì)算全局復(fù)雜性度量Xi、Xp和Xb的初始值(步驟S11)。作為步驟S11中具體的方法,通過使用量化參數(shù)QP來計(jì)算每個(gè)圖像類型I3、P3和B3的比特?cái)?shù)(步驟S110),并且確定Xi、Xp和Xb的初始值以對(duì)應(yīng)于I3、P3和B3的比例,例如如圖8所示(步驟S111)。
在步驟S110中計(jì)算每個(gè)圖像類型的比特?cái)?shù)的方法與第一實(shí)施例中描述的步驟S2中的方法相同。具體來說,例如,使用與對(duì)象視頻圖像的前n個(gè)圖像相關(guān)的每個(gè)圖像類型當(dāng)進(jìn)行編碼時(shí)的編碼比特?cái)?shù)。也就是說,僅對(duì)圖5中陰影的幀用量化參數(shù)QP進(jìn)行編碼。此時(shí)分別把I圖像和P圖像的編碼比特?cái)?shù)作為I3和P3,把兩個(gè)B圖像的比特?cái)?shù)的平均值、最大值或最小值作為B3。
確定出全局復(fù)雜性度量Xi、Xp和Xb的初始值以與以這種方式獲得的每個(gè)圖像類型的比特?cái)?shù)I3、P3和B3的比例相對(duì)應(yīng)。然后,速率控制編碼器9通過設(shè)置量化參數(shù)QP的初始值和Xi、Xp和Xb的初始值來執(zhí)行對(duì)象視頻圖像的編碼。這樣,設(shè)置了適合于對(duì)象視頻圖像的開始視頻圖像的特性和編碼QP的全局復(fù)雜性度量的初始值,因此在開始編碼后立即可以獲得穩(wěn)定的圖像質(zhì)量。
這里,盡管已經(jīng)對(duì)要在計(jì)算I3、P3和B3時(shí)分析的圖像是圖5中陰影的四個(gè)幀的情況作了解釋,但是在圖6中也可以有陰影的四個(gè)幀。此外,已經(jīng)對(duì)通過對(duì)I、P和B圖像使用相同量化參數(shù)QP來計(jì)算每個(gè)圖像類型的比特?cái)?shù)I3、P3和B3的例子作了說明。但是可以用這樣的方式來計(jì)算每個(gè)圖像類型的比特?cái)?shù)I3、P3和B3,即,讓P圖像和B圖像的量化參數(shù)或者B圖像的量化參數(shù)大于I圖像的量化參數(shù)QP。因?yàn)閰⒖糏圖像的頻率高于參考P圖像和B圖像的頻率,所以通常認(rèn)為與P圖像和B圖像的情況相比,當(dāng)I圖像的圖像質(zhì)量提高時(shí),更會(huì)提高整個(gè)圖像質(zhì)量。因此,根據(jù)圖像類型改變量化參數(shù)是有效的。
(第三實(shí)施例)下面,將描述本發(fā)明的第三實(shí)施例。在本實(shí)施例中,在圖1所示的視頻編碼裝置中執(zhí)行圖9中所示的自適應(yīng)初始參數(shù)確定過程S15。在圖9中,將步驟S12中的過程加入到圖7所示的第二實(shí)施例中的自適應(yīng)初始參數(shù)確定過程S14中。
具體來說,在第三實(shí)施例中,首先以與第二實(shí)施例中相同的方式在圖1所示的初始參數(shù)確定單元7中計(jì)算出適合于目標(biāo)比特率BR的量化參數(shù)QP(步驟S9)。接著,按照與第二實(shí)施例中相同的方式使用QP計(jì)算出全局復(fù)雜性度量的初始值(步驟S11)。此后,基于量化參數(shù)QP1和QP2、每個(gè)圖像類型I1、I2、P1、P2、B1、B2的比特?cái)?shù)確定出全局復(fù)雜性度量的更新公式中的恒定參數(shù)(步驟S12)。
第二實(shí)施例已經(jīng)描述了在每個(gè)圖像類型的全局復(fù)雜性度量、每個(gè)圖像類型的比特?cái)?shù)和每個(gè)圖像類型的平均量化參數(shù)之間有如公式(6)所示的關(guān)系的情況中的模型(MPEG-2的TM5)。但是模型隨著視頻編碼系統(tǒng)的不同而不同的情況也是可能的。例如,在H.264中使用這樣一種模型,其中當(dāng)量化參數(shù)QP增加6時(shí)、編碼比特?cái)?shù)減少一半。然后,為了重寫更新全局復(fù)雜性度量Xi、Xp和Xb的公式以與H.264中的模型相對(duì)應(yīng),公式如下面所示。
Xi=Si·CIQiXp=Sp·CPQpXb=Sb·CBQb--------(8)]]>在該情況中,基于QP1、QP2、I1、I2、P1、P2、B1和B2的值如下計(jì)算公式(8)中的CI、CP和CB。
CI=2log(I1)-log(I2)Q2-Q1CP=2log(P1)-log(P2)Q2-Q1CB=2log(B1)-log(B2)Q2-Q1-------(9)]]>有這樣一種傾向,CI、CP和CB的值會(huì)根據(jù)圖像的分辨率、量化參數(shù)QP的值和圖像的時(shí)間變化的大小而變化。因此,通過設(shè)置CI、CP和CB的值以與對(duì)象視頻圖像的第一個(gè)圖像的特性相對(duì)應(yīng),執(zhí)行適合于圖像特性的全局復(fù)雜性度量的更新,除非圖像改變,這使得圖像質(zhì)量穩(wěn)定。
(第四實(shí)施例)圖10是根據(jù)本發(fā)明第四實(shí)施例的視頻編碼裝置,并且給圖1增加了場景變化檢測器11。場景變化檢測器11檢測例如(a)對(duì)象視頻圖像的當(dāng)前幀和前一個(gè)幀中的像素之間的差別的狀態(tài),(b)對(duì)象視頻圖像從運(yùn)動(dòng)場景變化到靜止圖像的狀態(tài),以及(c)對(duì)象視頻圖像從靜止圖像開始運(yùn)動(dòng)的狀態(tài),作為對(duì)象視頻圖像的場景變化。不僅是狀態(tài)(a)中的典型的場景變化,(b)和(c)中的運(yùn)動(dòng)存在或不存在的變化也可能是速率控制中參數(shù)的很大的變化。那么,通過自適應(yīng)地確定已經(jīng)產(chǎn)生場景變化的場景(幀)中的參數(shù)來防止由于場景變化而引起的圖像質(zhì)量劣化。自適應(yīng)初始參數(shù)確定單元10確定與已經(jīng)從中檢測到該場景變化的場景相關(guān)的自適應(yīng)初始參數(shù),以與場景變化檢測器11檢測到的所有的場景變化相對(duì)應(yīng)。
在本實(shí)施例中,首先在步驟S16中根據(jù)圖11所示的處理過程來檢測場景變化。然后,在已經(jīng)從其檢測到場景變化的場景上執(zhí)行圖3的步驟S13、圖7的步驟S14或圖9的步驟S15中所示的自適應(yīng)初始參數(shù)確定過程。接著,利用為了與場景變化相對(duì)應(yīng)而計(jì)算的初始參數(shù)作為每個(gè)場景變化的初始值,通過使用速率控制執(zhí)行編碼(步驟S10)。更具體地,相對(duì)于場景變化檢測器11檢測到的至少一個(gè)場景來確定適合于例如目標(biāo)比特率BR的量化參數(shù)QP。當(dāng)開始對(duì)檢測到的場景編碼時(shí),速率控制編碼器9通過使用確定的量化參數(shù)QP來執(zhí)行編碼。
除了使用對(duì)于已經(jīng)從其檢測到場景變化的場景而確定的量化參數(shù)QP外,還可以在自適應(yīng)初始參數(shù)確定單元10中確定全局復(fù)雜性度量的初始值,或者進(jìn)一步,在用于更新全局復(fù)雜性度量的公式中使用的恒定參數(shù)的值。
在根據(jù)場景變化確定自適應(yīng)初始參數(shù)的時(shí)候,對(duì)從發(fā)生場景變化的第一個(gè)幀開始的n個(gè)幀執(zhí)行分析。例如,當(dāng)重排序延時(shí)M是3時(shí),對(duì)從已經(jīng)從其檢測到場景變化i的幀開始的4個(gè)幀以及對(duì)從已經(jīng)從其檢測到場景變化i+1的幀開始的4個(gè)幀(圖12中陰影的幀)進(jìn)行分析,如圖12所示。分別相對(duì)于場景i和場景i+1來確定自適應(yīng)初始參數(shù)。此外,如圖13所示,從已經(jīng)檢測到場景變化i或i+1的幀計(jì)數(shù)的第M幀開始的M+1個(gè)幀,也就是假定M=3,從第三個(gè)幀到第六幀的4個(gè)幀可被用于分析以設(shè)置自適應(yīng)初始參數(shù)。
根據(jù)本實(shí)施例,當(dāng)出現(xiàn)場景變化時(shí),可以設(shè)置適合于圖像特性的參數(shù),所述場景變化例如為以下的變化(a)對(duì)象視頻圖像的場景劇烈變化,(b)對(duì)象視頻圖像從靜止圖像變化到運(yùn)動(dòng)圖像,以及(c)對(duì)象視頻圖像從運(yùn)動(dòng)圖像變化到靜止圖像。因此,在場景變化后讓圖像質(zhì)量穩(wěn)定是可能的。
(第五實(shí)施例)圖14表示根據(jù)本發(fā)明第五實(shí)施例的視頻編碼裝置,以及向圖11的配置中另外增加了對(duì)場景特定的目標(biāo)比特率確定單元12。在本實(shí)施例的處理過程中,如圖15所示,在步驟S16中在場景變化檢測器11中檢測對(duì)象視頻圖像的場景變化,此后,在目標(biāo)比特率確定單元12中確定已經(jīng)從其檢測到場景變化的場景的目標(biāo)比特率BRsi(步驟S17)。接著,自適應(yīng)初始參數(shù)確定單元10接收步驟S17中對(duì)于檢測到的場景變化而確定出的BRsi,代替接收目標(biāo)比特率BR,并且執(zhí)行圖3的步驟S13、圖7的步驟S14或圖9的步驟S15中所示的自適應(yīng)初始參數(shù)確定過程。隨后,利用為了與場景變化相對(duì)應(yīng)而確定的初始參數(shù)作為每個(gè)場景變化的初始值,通過使用速率控制來執(zhí)行編碼(步驟S10)。
這里,可以設(shè)想步驟S17中用于確定目標(biāo)比特率BRsi的各種方法。作為最簡單的方法,使用如圖16所示的過程。首先,確定指定的第四量化參數(shù)QP4(步驟S19),并基于QP4計(jì)算場景si的每個(gè)圖像類型的比特?cái)?shù)I4_si、P4_si和B4_si(步驟S20)。步驟S16中用于確定QP4的方法與第一實(shí)施例中用于確定第一量化參數(shù)QP1的方法相同。步驟S20中用于計(jì)算I4_si、P4_si和B4_si的方法與第一實(shí)施例中用于計(jì)算I1、P1和B1的方法相同。
接著,計(jì)算場景si中的比特率BR4_si,另外,確定場景si中的目標(biāo)比特率BRsi(步驟S21)。此時(shí),將場景si的幀數(shù)定義為FNUM_si。假設(shè)FNUM_si的總數(shù)如下式所示與對(duì)象視頻圖像的FNUM幀數(shù)相對(duì)應(yīng)。
Σi=0nFNUM_si=FNUM--------(10)]]>在步驟S21中,基于比特率I_si、P_si和B_si的值按照下式計(jì)算場景si中的比特率BR4_si。
BR4_si=I_si+P_si×(NM-1)+B_si×NM×(M-1)N×FR--------(11)]]>而且,在步驟S21中,通過將BR4_si與整個(gè)對(duì)象視頻圖像的比特率和目標(biāo)比特率的比值相乘來按照下式確定場景si中的目標(biāo)比特率BRsi。
BR_si=BR4_si×BRΣi=0nBR4_si×FNUM_siFNUM------------(12)]]>將以這種方式確定的場景si中的目標(biāo)比特率BRsi代替目標(biāo)比特率BR輸入到自適應(yīng)初始參數(shù)確定單元10,由此,對(duì)于參照每個(gè)場景變化執(zhí)行自適應(yīng)初始參數(shù)確定過程(圖15的步驟S13、S14或S15)。在為每個(gè)場景設(shè)置了相對(duì)于以這種方式獲得的各個(gè)場景變化的自適應(yīng)初始參數(shù)后,執(zhí)行使用速率控制的編碼(圖15的步驟S10)。
(第六實(shí)施例)通過將編碼器15和速率控制器28遠(yuǎn)遠(yuǎn)分開來配置圖17所示的根據(jù)本發(fā)明第六實(shí)施例的視頻編碼裝置。編碼器15具有內(nèi)部編碼器13、交互編碼器14和編碼模式選擇切換器SW1。切換器SW1用于選擇編碼模式,也就是通過切換內(nèi)部編碼器13的輸出和交互編碼器14的輸出來從任何輸出中取出編碼器15的輸出信號(hào)。
內(nèi)部編碼器13和交互編碼器14總地表示圖2所示的速率控制編碼器中分別與內(nèi)部編碼功能和交互編碼功能相關(guān)的部分。例如,內(nèi)部編碼器13表示具有利用圖2中內(nèi)部預(yù)測器206產(chǎn)生的內(nèi)部預(yù)測信號(hào)106進(jìn)行編碼的功能的部分。同樣,交互編碼器14表示具有利用交互預(yù)測器208產(chǎn)生的交互預(yù)測信號(hào)109進(jìn)行編碼的功能的部分。在圖2中,除了內(nèi)部預(yù)測器206、塊濾波器207和交互預(yù)測器208之外的元件都與內(nèi)部編碼器13和交互編碼器14中的元件相同。
速率控制器28具有比特?cái)?shù)分配器19、虛擬緩沖占有量更新單元20、量化參數(shù)確定單元21、計(jì)算每片的內(nèi)部比特?cái)?shù)的計(jì)算器24(稱作內(nèi)部比特?cái)?shù)計(jì)算器),計(jì)算每片的編碼比特?cái)?shù)的計(jì)算器25(下文中稱作編碼比特?cái)?shù)計(jì)算器),內(nèi)部片全局復(fù)雜性度量更新單元26、交互片全局復(fù)雜性度量更新單元27和切換器SW4和SW5。切換器SW4用于切換對(duì)于片特定的內(nèi)部比特?cái)?shù)計(jì)算器24的輸出和要輸入到內(nèi)部片全局復(fù)雜性度量更新單元26的對(duì)于片特定的編碼比特?cái)?shù)計(jì)算器25的輸出。切換器SW5用于在對(duì)于片特定的內(nèi)部比特?cái)?shù)計(jì)算器24的輸出和內(nèi)部片全局復(fù)雜性度量更新單元27的輸入之間進(jìn)行切換。
將參照?qǐng)D18A和18B來描述處理流程。當(dāng)在步驟S22中開始每片的編碼時(shí),輸入的視頻信號(hào)被輸入到編碼器15的內(nèi)部編碼器13和交互編碼器14,由此在某些編碼單元中進(jìn)行內(nèi)部編碼和交互編碼(步驟S23到S24)。用于內(nèi)部編碼和交互編碼的編碼單元是輸入的視頻信號(hào)的一部分,例如,它們是圖19中陰影的16乘16像素的256像素的單元,或者是圖20中陰影的從屏蔽的最右邊到屏幕的最左邊的16列像素的單元。這樣,可以以各種方式來設(shè)想編碼單元和編碼順序,而并不限于本實(shí)施例中特定的例子。
在量化參數(shù)確定單元21中確定編碼中使用的量化參數(shù)。即通過反饋控制來確定量化參數(shù),使得當(dāng)從開始編碼的時(shí)間點(diǎn)起的編碼比特?cái)?shù)大于目標(biāo)值時(shí),在下一次編碼時(shí)降低編碼的比特?cái)?shù),以及在相反的情況中增加編碼比特?cái)?shù)。這樣,比特?cái)?shù)被分配在一個(gè)或多個(gè)編碼單元中,并且確定了量化參數(shù)以減少分配和實(shí)際的編碼比特?cái)?shù)之間的差。
與上面所述的編碼單元分開地設(shè)置分配比特?cái)?shù)的單元。這里,將分配比特?cái)?shù)的單元叫做片。其中對(duì)整個(gè)片進(jìn)行內(nèi)部編碼的片被稱作內(nèi)部片,其中對(duì)整個(gè)片進(jìn)行交互編碼的片被稱作交互片。
在編碼交互片時(shí),在編碼器15,從內(nèi)部編碼模式和交互編碼模式中選擇編碼單元中的編碼模式(步驟S25)。檢查是否在步驟S25中選擇了內(nèi)部編碼模式(步驟S26)。當(dāng)選擇了內(nèi)部編碼模式時(shí),就將切換器SW1連接到內(nèi)部編碼器13的輸入,如圖21所示(步驟S27)。當(dāng)選擇了交互編碼模式時(shí),就將切換器SW1連接到交互編碼器14的輸出,如圖22所示(步驟S28)。
在步驟S27中,如圖21所示,取出內(nèi)部編碼的結(jié)果作為來自編碼器15的輸出信號(hào),并將與編碼單元在內(nèi)部編碼時(shí)的編碼比特?cái)?shù)相關(guān)的信息輸入到內(nèi)部比特?cái)?shù)計(jì)算器24、編碼比特?cái)?shù)計(jì)算器25和虛擬緩沖占用量更新單元20。在步驟S28中,如圖22所示,取出交互編碼的結(jié)果作為來自編碼器15的輸出信號(hào),并將與編碼單元在交互編碼時(shí)的編碼比特?cái)?shù)相關(guān)的信息輸入到編碼比特?cái)?shù)計(jì)算器25和虛擬緩沖占用量更新單元20。
接著,在虛擬緩沖占有量更新單元20中,根據(jù)比特?cái)?shù)分配器19分配給當(dāng)前片的比特?cái)?shù)以及與來自編碼器15的編碼單元的比特?cái)?shù)相關(guān)的信息來更新虛擬緩沖占有量(步驟S29)?;谠诓襟ES29中更新的虛擬緩沖占有量來確定與下一個(gè)要在編碼器15編碼的編碼單元相對(duì)應(yīng)的量化參數(shù)(步驟S30)。稍候?qū)⒀a(bǔ)充說明步驟S29和S30中的處理。對(duì)于對(duì)象視頻圖像的片內(nèi)所有的編碼單元來執(zhí)行上述步驟S23到S30中的處理。
接著,在編碼比特?cái)?shù)計(jì)算器25接收來自編碼器15的與在內(nèi)比編碼和交互編碼時(shí)編碼單元的編碼比特?cái)?shù)相關(guān)的信息,通過將片中的編碼單元的所有編碼比特?cái)?shù)相加來計(jì)算每個(gè)片的編碼比特?cái)?shù)(步驟S31)。而且,在內(nèi)部比特?cái)?shù)計(jì)算器24中,基于與來自編碼器15的在內(nèi)部編碼時(shí)的編碼單元的編碼比特?cái)?shù)相關(guān)的信息,通過將片中的內(nèi)部編碼時(shí)編碼單元的所有比特?cái)?shù)相加(總計(jì))來計(jì)算每個(gè)片的內(nèi)部編碼時(shí)的編碼比特?cái)?shù)(步驟S32)。
隨后,判斷當(dāng)前片是內(nèi)部片還是交互片(步驟S33)。當(dāng)作為步驟S33中判斷的結(jié)果當(dāng)前片是交互片時(shí),就設(shè)置切換器SW4使得內(nèi)部比特?cái)?shù)計(jì)算器24的輸出被輸入到內(nèi)部片全局復(fù)雜性度量更新單元26,并且設(shè)置切換器SW5使得編碼比特?cái)?shù)計(jì)算器25的輸出被輸入到交互片全局復(fù)雜性度量更新單元27,如圖23所示(步驟S34)。內(nèi)部片全局復(fù)雜性度量更新單元26根據(jù)內(nèi)部比特?cái)?shù)計(jì)算器24計(jì)算出來的每個(gè)片的內(nèi)部比特?cái)?shù)來更新內(nèi)部片全局復(fù)雜性度量。交互片全局復(fù)雜性度量更新單元27根據(jù)編碼比特?cái)?shù)計(jì)算器25計(jì)算出來的每個(gè)片的編碼比特?cái)?shù)來更新交互片全局復(fù)雜性度量。
交互片包括其中基于一個(gè)參考幀執(zhí)行運(yùn)動(dòng)補(bǔ)償預(yù)測的P片和其中基于兩個(gè)參考幀執(zhí)行運(yùn)動(dòng)補(bǔ)償預(yù)測的B片。這里,那些不對(duì)P片和B片之間進(jìn)行區(qū)分的叫做交互片。但是,可以在交互片全局復(fù)雜性度量更新單元27中對(duì)P片和B片的各自的全局復(fù)雜性度量分別進(jìn)行更新。在該情況中,在比特?cái)?shù)分配器19中,通過利用P片和B片的每個(gè)的全局復(fù)雜性度量來分配每個(gè)B片和每個(gè)P片的比特?cái)?shù)??赡苡羞@樣一種情況,其中管理多個(gè)全局復(fù)雜性度量,使得根據(jù)預(yù)測誤差的方差值的大小來對(duì)交互片進(jìn)行分組,以便執(zhí)行每個(gè)組的全局復(fù)雜性度量的存儲(chǔ)、更新和參照。這樣,本實(shí)施例中的交互片全局復(fù)雜性度量的使用并不限于特定的方法。
另一方面,作為步驟S33中判斷的結(jié)果,當(dāng)當(dāng)前片是內(nèi)部片時(shí),設(shè)置切換器SW4,使得將編碼比特?cái)?shù)計(jì)算器25的輸出被輸入到內(nèi)部片全局復(fù)雜性度量更新單元26,如圖24所示(步驟S35)。內(nèi)部片全局復(fù)雜性度量更新單元26基于編碼比特?cái)?shù)計(jì)算器25計(jì)算出來的每個(gè)片的編碼比特?cái)?shù)來更新內(nèi)部片的全局復(fù)雜性度量。此時(shí),設(shè)置SW5,使得編碼比特?cái)?shù)計(jì)算器25的輸出不被輸入到交互片全局復(fù)雜性度量更新單元27。因此,不執(zhí)行交互片全局復(fù)雜性度量的更新。
這里,可以根據(jù)在速率控制系統(tǒng)使用的模型來更新交互片和內(nèi)部片的全局復(fù)雜性度量,并且用于更新的模型沒有特殊限制。例如,在MPEG-2中采用的TM5中,通過使用每個(gè)I圖像、P圖像和B圖像的[全局復(fù)雜性度量=編碼比特?cái)?shù)×量化參數(shù)]的關(guān)系式來更新全局復(fù)雜性度量。在圖17、21到24中,交互片全局復(fù)雜性度量更新單元27表示為一個(gè)元件。但是,交互片全局復(fù)雜性度量更新單元27包括為在編碼比特?cái)?shù)和量化參數(shù)之間具有不同的關(guān)系的每種圖像類型分別更新全局復(fù)雜性度量的功能。
接著,在比特?cái)?shù)分配器19中確定分配給接下來要被編碼的片的比特?cái)?shù)(步驟S36)。在該情況中,利用了內(nèi)部片全局復(fù)雜性度量更新單元26和交互片全局復(fù)雜性度量更新單元27中更新的全局復(fù)雜性度量。例如,當(dāng)交互片全局復(fù)雜性度量大于內(nèi)部片全局復(fù)雜性度量時(shí),給交互編碼的圖像分配大量的比特?cái)?shù),在相反情況中,給內(nèi)部編碼的圖像分配大量的比特?cái)?shù)。
例如,在MPEG-2中使用的TM5中,按照下式計(jì)算分別分配給I圖像、P圖像和B圖像的比特?cái)?shù)TI、TP和TB。
TI=R1+NPXPXIKP+NBXBXIKBTP=RNP+NBKPXBKBXPTB=RNB+NPKBXPKPXB------------(13)]]>其中,XI、XP和XB分別表示I圖像、P圖像和B圖像的全局復(fù)雜性度量;NP和NB分別表示直到下一個(gè)I圖像前剩余的P圖像的數(shù)量和B圖像的數(shù)量;R表示直到下一個(gè)I圖像前分配的比特?cái)?shù)。KP和KB分別表示取決于量化的常數(shù),例如KP=1.0,KB=1.4。
虛擬緩沖占有量更新單元20通過累計(jì)比特?cái)?shù)分配器19分配的比特?cái)?shù)與編碼比特?cái)?shù)之間的差作為虛擬緩沖占有量來更新虛擬緩沖占有量。該過程表示在圖18A的步驟S29中。當(dāng)對(duì)于編碼圖像累計(jì)的差是正值時(shí),其表示產(chǎn)生的比特超過了分配的量。
隨后,在量化參數(shù)確定單元21中,通過輸入更新的虛擬緩沖占有量來確定量化參數(shù)。即,當(dāng)虛擬緩沖占有量較大時(shí),使量化參數(shù)大一些以減少下一個(gè)圖像的編碼比特?cái)?shù)。另一方面,當(dāng)虛擬緩沖占有量很少時(shí),使量化參數(shù)小一些以增加下一個(gè)圖像的編碼比特?cái)?shù)。這過程表示在圖18A的步驟S30中。在對(duì)下一個(gè)編碼單元進(jìn)行編碼時(shí)使用以這種方式確定的量化參數(shù)。結(jié)果,執(zhí)行速率控制,使得對(duì)象視頻圖像的整個(gè)序列的編碼比特?cái)?shù)接近目標(biāo)比特?cái)?shù)。
這里,存在兩種情況,在一種情況中,分配了比特?cái)?shù)的片單元和更新了虛擬緩沖占有量并且通過反饋虛擬緩沖占有量而改變量化參數(shù)的單元是相同的,在另一種情況中,二者互不相同。當(dāng)分配了比特?cái)?shù)的片單元和通過反饋虛擬緩沖占有量而改變量化參數(shù)的單元互不相同時(shí),例如設(shè)想(a1)對(duì)每個(gè)圖像執(zhí)行比特?cái)?shù)的分配(在該情況中,在上面描述的片是圖像),(a2)對(duì)圖像中的每個(gè)宏塊進(jìn)行編碼(如圖19中一個(gè)正方形所示的16像素×16像素),(a3)對(duì)每個(gè)宏塊更新虛擬緩沖占有量,以及(a4)確定每個(gè)宏塊的量化參數(shù)。該情況中的處理流程可以是在圖18A和18B中。此外,設(shè)想(b1)以圖20的一行(陰影部分或其他部分)為單位進(jìn)行比特?cái)?shù)的分配(在該情況中,所述片是該一行),(b2)對(duì)每行中的宏塊進(jìn)行編碼,(b3)每個(gè)宏塊更新虛擬緩沖占有量,以及(b4)確定每個(gè)宏塊的量化參數(shù)。另外,設(shè)想(c1)對(duì)每個(gè)圖像執(zhí)行比特?cái)?shù)的分配,(c2)對(duì)每個(gè)宏塊進(jìn)行編碼,(c3)以圖20的一行為單位更新虛擬緩沖占有量,以及(c4)以一行為單位確定量化參數(shù)。
另一方面,當(dāng)分配了比特?cái)?shù)的單元和通過反饋控制來改變量化參數(shù)的單元相同時(shí),設(shè)想(d1)對(duì)每個(gè)圖像執(zhí)行比特?cái)?shù)的分配,(d2)對(duì)每個(gè)宏塊進(jìn)行編碼,(d3)對(duì)每個(gè)圖像更新虛擬緩沖占有量,以及(d4)確定每個(gè)圖像的量化參數(shù)。該情況中的處理流程在圖25A和25B中。在圖18A到18B和圖25A以及25B中,更新虛擬緩沖占有量的步驟S29和確定量化參數(shù)的步驟S30的位置是不同的。但是,本發(fā)明并不依賴于這些位置,并且可以采用任何一種情況??梢匀我飧淖兎峙淞吮忍?cái)?shù)的單元和通過反饋控制來改變量化參數(shù)的單元。
根據(jù)本實(shí)施例,對(duì)每個(gè)片更新內(nèi)部片全局復(fù)雜性度量,使得更新頻率更高。因此,與內(nèi)部片全局復(fù)雜性度量的最佳值的偏差變小。在現(xiàn)有技術(shù)中,只在內(nèi)部片編碼模式中更新內(nèi)部片全局復(fù)雜性度量。因此,當(dāng)更新前后的內(nèi)部片圖像特性大大不同時(shí),更新的精確度較低,并且在一些情況中圖像質(zhì)量會(huì)劣化。與其相反,根據(jù)本實(shí)施例,在交互片時(shí)也更新內(nèi)部全局復(fù)雜性度量,從而更新前后的內(nèi)部片圖像特性的變化小一些。因此,提高了更新的精確性,這使得圖像質(zhì)量的劣化少一些。
在圖17的編碼器15中,由切換器SW1選擇每個(gè)宏塊的最佳編碼模式。在本發(fā)明第六實(shí)施例的修改例中,當(dāng)切換器SW1選擇最佳編碼模式時(shí),如下進(jìn)行速率控制。當(dāng)內(nèi)部編碼器13對(duì)于輸入的視頻圖像信號(hào)執(zhí)行內(nèi)部編碼時(shí),對(duì)于片特定的內(nèi)部比特?cái)?shù)計(jì)算器24通過確定和累加每個(gè)宏塊的編碼比特來計(jì)算每個(gè)內(nèi)部片的編碼比特?cái)?shù)。內(nèi)部片全局復(fù)雜性度量更新單元26基于每個(gè)內(nèi)部片的累加編碼比特?cái)?shù)來更新內(nèi)部片全局復(fù)雜性度量,基于此編碼器15執(zhí)行速率控制。
(第七實(shí)施例)在第六實(shí)施例中,如圖26所示,用內(nèi)部預(yù)測/DCT/量化單元31和編碼量化的DCT系數(shù)(正交變換系數(shù))的熵編碼器32來配置內(nèi)部編碼器13。與其相反,在根據(jù)本發(fā)明第七實(shí)施例的視頻編碼裝置中,如圖27所示,內(nèi)部編碼器13具有內(nèi)部預(yù)測/DCT/量化單元31和基于量化的DCT系數(shù)來估計(jì)編碼比特?cái)?shù)的比特?cái)?shù)估計(jì)單元33,其中未包括熵編碼器32。
作為第七實(shí)施例的修改例,在內(nèi)部編碼器13中只提供內(nèi)部預(yù)測/DCT/量化單元31,如圖28所示,可以在編碼比特?cái)?shù)計(jì)算器25之前放置比特?cái)?shù)估計(jì)單元34,如圖29所示。在該情況中,內(nèi)部編碼器13中也沒有包括熵編碼器32。
比特?cái)?shù)估計(jì)單元33和34估計(jì)每個(gè)編碼單元的比特?cái)?shù),對(duì)于片特定的編碼比特?cái)?shù)計(jì)算器25通過累加每個(gè)編碼單元的估計(jì)的編碼比特?cái)?shù)來計(jì)算每個(gè)片的編碼比特?cái)?shù)。
如在第一實(shí)施例中所述的那樣,除了基于熵編碼的結(jié)果來檢查編碼比特?cái)?shù)的方法外,還提出了一種方法,在該方法中基于量化DCT系數(shù)時(shí)0系數(shù)的數(shù)量來估計(jì)編碼比特?cái)?shù),所述DCT系數(shù)是通過編碼的中間階段的DCT變換而獲得的(例如,在上述“參考文件2”中)。另外,可能有一種修改的例子,其中通過使用該方法來估計(jì)編碼比特?cái)?shù),并將其輸入到內(nèi)部比特?cái)?shù)計(jì)算器24中用于更新內(nèi)部片全局復(fù)雜性度量。在該修改的例子中,除了在計(jì)算來自內(nèi)部編碼器13的每個(gè)片的內(nèi)部比特?cái)?shù)的處理中估計(jì)編碼比特?cái)?shù)之外的處理可與第六實(shí)施例中的處理一樣。
可以通過硬件來實(shí)現(xiàn)基于上述本發(fā)明的各個(gè)實(shí)施例的視頻編碼過程。但是,可以通過使用計(jì)算機(jī)用軟件來執(zhí)行,例如使用個(gè)人計(jì)算機(jī)。根據(jù)本發(fā)明,可以提供下面提到的程序或者計(jì)算機(jī)可讀的其上存儲(chǔ)有所述程序的存儲(chǔ)介質(zhì)。
要注意的是,本發(fā)明并不限于上述的原本實(shí)施例,在不脫離本發(fā)明的宗旨的范圍中,在實(shí)施本發(fā)明的過程中可以修改和嵌入結(jié)構(gòu)元件。此外,通過適當(dāng)?shù)亟M合在上述實(shí)施例中公開的多個(gè)結(jié)構(gòu)元件可以形成各種發(fā)明。例如,可以從實(shí)施例中示出的所有的結(jié)構(gòu)元件中刪除一些結(jié)構(gòu)元件。
而且,可以適當(dāng)組合不同實(shí)施例中的結(jié)構(gòu)元件。因?yàn)樵O(shè)置適合于對(duì)象視頻圖像的特性的量化參數(shù)是可行的,所以改善了編碼圖像的圖像質(zhì)量。通過對(duì)有限的n個(gè)圖像執(zhí)行分析,而不是對(duì)整個(gè)對(duì)象視頻圖像進(jìn)行分析,可以避免編碼時(shí)間的增加。因此,對(duì)播放中的圖像數(shù)據(jù)等采用本發(fā)明而只有n個(gè)圖像的編碼時(shí)間的延時(shí)是可能的。
此外,因?yàn)閷?duì)于每個(gè)場景變化,在場景變化后設(shè)置適合于圖像特性的量化參數(shù)是可行的,所以改善了場景變化后的圖像質(zhì)量。
而且,更新內(nèi)部編碼的全局復(fù)雜性度量的頻率更頻繁了,并且更新的準(zhǔn)確度更高了,從而可以減少復(fù)雜性變化的圖像的圖像質(zhì)量的劣化。
其他的優(yōu)點(diǎn)和修改方式對(duì)于本領(lǐng)域技術(shù)人員來說是容易想到的。因此,本發(fā)明在更寬的方面并不限于這里給出和描述的特定的細(xì)節(jié)和代表性的實(shí)施例。因此,在不脫離所附的權(quán)利要求及其等效物所定義的本發(fā)明總體構(gòu)思的精神或范圍的情況下,可以做出各種修改。
權(quán)利要求
1.一種視頻編碼方法,包括使用第一量化參數(shù)對(duì)視頻圖像中包含的n個(gè)圖像進(jìn)行編碼以產(chǎn)生第一編碼數(shù)據(jù);使用第一編碼數(shù)據(jù)計(jì)算表示用于編碼的每個(gè)圖像類型的編碼比特?cái)?shù)的第一編碼比特?cái)?shù)信息;用從第一編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第一編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第一比特率;使用不同于第一量化參數(shù)的第二量化參數(shù)對(duì)對(duì)象視頻圖像中包含的n個(gè)圖像進(jìn)行編碼以產(chǎn)生第二編碼數(shù)據(jù);使用第二編碼數(shù)據(jù)計(jì)算表示后一編碼所使用的每個(gè)圖像類型的編碼比特?cái)?shù)的第二編碼比特?cái)?shù)信息;用從第二編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第二編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第二比特率;使用第一比特率、第一量化參數(shù)、第二比特率、第二量化參數(shù)和目標(biāo)比特率來計(jì)算第三量化參數(shù);以及使用第三量化參數(shù)作為初始值執(zhí)行速率控制以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率。
2.一種視頻編碼裝置,包括編碼器,用于使用第一量化參數(shù)和不同于第一量化參數(shù)的第二量化參數(shù)對(duì)視頻圖像中包含的n個(gè)圖像進(jìn)行編碼以產(chǎn)生第一編碼數(shù)據(jù)和第二編碼數(shù)據(jù);第一計(jì)算器,用于分別使用第一編碼數(shù)據(jù)和第二編碼數(shù)據(jù)計(jì)算第一編碼比特?cái)?shù)信息和第二編碼比特?cái)?shù)信息,所述第一編碼比特?cái)?shù)信息表示使用第一量化參數(shù)對(duì)視頻圖像進(jìn)行編碼中使用的每個(gè)圖像類型的編碼比特?cái)?shù),第二編碼比特?cái)?shù)信息表示使用第二量化參數(shù)對(duì)視頻圖像進(jìn)行編碼中使用的每個(gè)圖像類型的編碼比特?cái)?shù);第二計(jì)算器,用于用從第一編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第一編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第一比特率;第三計(jì)算器,用于用從第二編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第二編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第二比特率;以及第四計(jì)算器,用于使用第一比特率、第一量化參數(shù)、第二比特率、第二量化參數(shù)和目標(biāo)比特率來計(jì)算第三量化參數(shù),其中所述編碼器在使用第三量化參數(shù)作為初始值執(zhí)行速率控制的同時(shí)對(duì)視頻圖像進(jìn)行編碼,以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率。
3.根據(jù)權(quán)利要求2所述的視頻編碼裝置,其中第四計(jì)算器通過下面的公式計(jì)算第三量化參數(shù)QP=QP2-QP1log(BR2)-log(BR1)×log(BR)+QP1·log(BR2)-QP2·log(BR1)log(BR2)-log(BR1)]]>其中QP1表示第一量化參數(shù),QP2表示第二量化參數(shù),QP表示第三量化參數(shù),BR1表示第一比特率,BR2表示第二比特率,BR表示目標(biāo)比特率。
4.根據(jù)權(quán)利要求2所述的視頻編碼裝置,其中第四計(jì)算器計(jì)算對(duì)象視頻的每個(gè)場景變化的第三量化參數(shù)。
5.根據(jù)權(quán)利要求2所述的視頻編碼裝置,其中編碼器對(duì)按多個(gè)圖像類型的視頻圖像進(jìn)行編碼,第一計(jì)算器計(jì)算當(dāng)對(duì)n個(gè)圖像進(jìn)行編碼時(shí)每個(gè)圖像的第一編碼比特?cái)?shù)和每個(gè)圖像的第二編碼比特?cái)?shù)及表示當(dāng)使用第三量化參數(shù)對(duì)n個(gè)圖像進(jìn)行編碼時(shí)的每個(gè)圖像類型的編碼比特?cái)?shù)的第三編碼比特?cái)?shù)信息,其中n≥2;所述視頻編碼裝置還包括圖像復(fù)雜程度指數(shù)計(jì)算器,用于根據(jù)第三編碼比特?cái)?shù)信息的比值來計(jì)算按圖像類型的圖像復(fù)雜程度指數(shù);以及速率控制器,用于使用按圖像類型的圖像復(fù)雜程度指數(shù)作為初始值來進(jìn)行速率控制。
6.根據(jù)權(quán)利要求5所述的視頻編碼裝置,其中所述圖像復(fù)雜程度指數(shù)計(jì)算器對(duì)于對(duì)象圖像的每個(gè)場景變化計(jì)算按圖像類型的圖像復(fù)雜程度指數(shù)。
7.根據(jù)權(quán)利要求5所述的視頻編碼裝置,還包括更新單元,被配置成根據(jù)具有常數(shù)參數(shù)的更新公式來更新按圖像類型的圖像復(fù)雜程度指數(shù);常數(shù)參數(shù)計(jì)算器,用于根據(jù)第一編碼比特?cái)?shù)信息、第一量化參數(shù)、第二編碼比特?cái)?shù)信息和第二量化參數(shù),為每個(gè)圖像類型計(jì)算常數(shù)參數(shù)。
8.根據(jù)權(quán)利要求7所述的視頻編碼裝置,其中更新公式是下面的公式Xi=Si·CIQiXp=Sp·CPQpXb=Sb·CBQb]]>其中Xi、Xp和Xb分別表示I、P和B圖像的圖像復(fù)雜程度指數(shù),Si、Sp和Sb分別是I、P和B圖像的編碼比特?cái)?shù),CI、CP和CB分別是常數(shù)參數(shù),通過下面的公式計(jì)算CI、CP和CBCI=2log(I1)-log(I2)Q2-Q1CP=2log(P1)-log(P2)Q2-Q1CB=2log(B1)-log(B2)Q2-Q1]]>QP1表示第一量化參數(shù),QP2表示第二量化參數(shù),I1、P1和B1是I、P和B圖像的按圖像類型的第一比特?cái)?shù),I2、P2和B2是I、P和B圖像的按圖像類型的第二比特?cái)?shù)。
9.根據(jù)權(quán)利要求7所述的視頻編碼裝置,其中常數(shù)參數(shù)計(jì)算器為對(duì)象視頻的每個(gè)場景變化計(jì)算常數(shù)參數(shù)。
10.一種用于對(duì)視頻圖像進(jìn)行編碼的視頻編碼方法,包括根據(jù)內(nèi)部編碼模式和交互編碼模式對(duì)視頻圖像進(jìn)行編碼;當(dāng)要被編碼的視頻圖像的圖像是用內(nèi)部編碼模式進(jìn)行編碼的時(shí),計(jì)算編碼比特?cái)?shù);使用編碼比特?cái)?shù)來更新與內(nèi)部編碼模式相關(guān)的圖像復(fù)雜程度指數(shù);以及使用圖像復(fù)雜程度指數(shù)來執(zhí)行速率控制,以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率。
11.一種對(duì)視頻圖像進(jìn)行編碼的視頻編碼裝置,包括編碼器,用于根據(jù)交互編碼模式和內(nèi)部編碼模式對(duì)視頻圖像進(jìn)行編碼;計(jì)算器,用于當(dāng)要被編碼的視頻圖像的圖像是用內(nèi)部編碼模式進(jìn)行編碼的時(shí),計(jì)算編碼比特?cái)?shù);以及更新單元,其被配置成使用編碼比特?cái)?shù)來更新與內(nèi)部編碼模式相關(guān)的圖像復(fù)雜程度指數(shù),并且其中在使用圖像復(fù)雜程度指數(shù)來執(zhí)行速率控制,以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率的同時(shí),編碼器對(duì)視頻圖像進(jìn)行編碼。
12.根據(jù)權(quán)利要求11所述的視頻編碼裝置,還包括選擇器,用于當(dāng)編碼器在使用圖像復(fù)雜程度指數(shù)進(jìn)行速率控制的同時(shí)對(duì)視頻圖像進(jìn)行編碼時(shí),為視頻圖像的每個(gè)宏塊選擇交互編碼模式和內(nèi)部編碼模式中最佳的一個(gè),并且其中當(dāng)選擇器選擇最佳的編碼模式時(shí),計(jì)算器在用內(nèi)部編碼模式對(duì)視頻圖像的要被編碼的圖像進(jìn)行編碼時(shí)累計(jì)每個(gè)宏塊的被編碼比特?cái)?shù),更新單元使用累計(jì)的編碼比特?cái)?shù)來更新與內(nèi)部編碼模式相關(guān)的圖像復(fù)雜程度指數(shù)。
13.根據(jù)權(quán)利要求11所述的視頻編碼裝置,還包括選擇器,用于當(dāng)編碼器在使用圖像復(fù)雜程度指數(shù)進(jìn)行速率控制的同時(shí)對(duì)視頻圖像進(jìn)行編碼時(shí),為視頻圖像的每個(gè)宏塊選擇交互編碼模式和內(nèi)部編碼模式中最佳的一個(gè);以及編碼比特?cái)?shù)估計(jì)器,用于當(dāng)選擇器選擇最佳的編碼模式時(shí),估計(jì)在使用內(nèi)部編碼模式對(duì)視頻圖像的要編碼的圖像進(jìn)行編碼時(shí)的每個(gè)宏塊的編碼比特的數(shù)量,并且其中編碼比特?cái)?shù)計(jì)算器累計(jì)每個(gè)宏塊的編碼比特?cái)?shù),圖像復(fù)雜程度指數(shù)更新單元使用累計(jì)的編碼比特?cái)?shù)來更新與內(nèi)部編碼模式相關(guān)的圖像復(fù)雜程度指數(shù)。
14.根據(jù)權(quán)利要求13所述的視頻編碼裝置,其中所述編碼器包括用于量化正交變換系數(shù)的量化器,所述估計(jì)器使用所述正交變換系數(shù)為每一個(gè)編碼估計(jì)編碼比特?cái)?shù),并將它們累計(jì)。
15.一種視頻編碼方法,包括使用每個(gè)不同值的臨時(shí)量化參數(shù)對(duì)視頻圖像中包含的n個(gè)圖像進(jìn)行編碼;對(duì)于每個(gè)臨時(shí)量化參數(shù)計(jì)算表示用于編碼的每個(gè)圖像類型的編碼比特?cái)?shù)的編碼比特?cái)?shù)信息;用從臨時(shí)編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第一編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得與每個(gè)臨時(shí)量化參數(shù)相關(guān)的臨時(shí)比特率;使用臨時(shí)量化參數(shù)、與每個(gè)臨時(shí)量化參數(shù)相關(guān)的臨時(shí)比特率和目標(biāo)比特率來計(jì)算量化參數(shù)的初始參數(shù);以及使用初始參數(shù)來執(zhí)行速率控制以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率。
16.一種視頻編碼裝置,包括編碼器,用于使用每個(gè)不同值的臨時(shí)量化參數(shù)對(duì)視頻圖像中包含的n個(gè)圖像進(jìn)行編碼;用于對(duì)于每個(gè)臨時(shí)量化參數(shù)計(jì)算表示用于編碼的每個(gè)圖像類型的編碼比特?cái)?shù)的編碼比特?cái)?shù)信息的計(jì)算器;用于使用從臨時(shí)編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第一編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得與每個(gè)臨時(shí)量化參數(shù)相關(guān)的臨時(shí)比特率的計(jì)算器;以及用于使用臨時(shí)量化參數(shù)、與每個(gè)臨時(shí)量化參數(shù)相關(guān)的臨時(shí)比特率和目標(biāo)比特率來計(jì)算量化參數(shù)的初始參數(shù)的計(jì)算器,并且其中所述編碼器在使用初始參數(shù)進(jìn)行速率控制的同時(shí)對(duì)視頻圖像進(jìn)行編碼以使得編碼數(shù)據(jù)的比特率接近目標(biāo)比特率。
全文摘要
本發(fā)明涉及視頻編碼方法及裝置。視頻編碼方法包括使用第一量化參數(shù)對(duì)視頻圖像中包含的n個(gè)圖像進(jìn)行編碼,計(jì)算表示每個(gè)圖像類型的編碼比特?cái)?shù)的第一編碼比特?cái)?shù)信息,用從第一編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第一編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第一比特率,使用第二量化參數(shù)對(duì)n個(gè)圖像進(jìn)行編碼,計(jì)算表示每個(gè)圖像類型的編碼比特?cái)?shù)的第二編碼比特?cái)?shù)信息,用從第一編碼比特?cái)?shù)信息中計(jì)算出來的每個(gè)圖像的平均第二編碼比特?cái)?shù)乘以設(shè)置的幀速率以獲得第二比特率,使用第一比特率、第一量化參數(shù)、第二比特率、第二量化參數(shù)和目標(biāo)比特率來計(jì)算第三量化參數(shù),并使用第三量化參數(shù)作為初始值來執(zhí)行速率控制。
文檔編號(hào)H04N7/26GK1941915SQ20061008876
公開日2007年4月4日 申請(qǐng)日期2006年6月5日 優(yōu)先權(quán)日2005年9月26日
發(fā)明者武田奈穗美, 中條健, 松村淳 申請(qǐng)人:株式會(huì)社東芝