本發明申請是申請日期為2011年3月11日、申請號為“201180015616.0”、發明名稱為“圖像處理設備和方法”的發明專利申請的分案申請。
本發明涉及一種圖像處理設備和方法,具體地,涉及一種能夠實現較高的編碼效率的圖像處理設備和方法。
背景技術:
近年來,已廣泛地使用如下設備:這些設備利用作為圖像信息的特征的冗余,通過采用將圖像信息處置為數字信號的編碼格式來使圖像經歷壓縮編碼,并且此時通過諸如離散余弦變換等的正交變換和運動補償來壓縮圖像,以便執行極為高效的信息傳送和存儲。該編碼方法的示例包括mpeg(運動圖片專家組)等。
特別地,mpeg2(iso/iec13818-2)被定義為通用圖像編碼格式,并且是涵蓋隔行掃描圖像和順序掃描圖像、以及標準分辨率圖像和高清圖像兩者的標準。例如,現在范圍廣泛的用于專業用途以及用于消費者用途的應用已廣泛采用mpeg2。通過采用mpeg2壓縮格式,在例如具有720×480個像素的標準分辨率的隔行掃描圖像的情況下,分配4至8mbps的碼量(位率)。通過采用mpeg2壓縮格式,在例如具有1920×1088個像素的高分辨率的隔行掃描圖像的情況下,分配18至22mbps的碼量(位率)。因此,可以實現高壓縮率和出色的圖像質量。
mpeg2主要針對適于廣播用途的高圖像質量編碼,但是未處置比mpeg1的碼量低的碼量(位率),即具有較高壓縮率的編碼格式。由于個人數字助理的普及,預見到對這種編碼格式的需求將從現在開始增加,并且作為響應,已執行mpeg4編碼格式的標準化。對于圖像編碼格式,其規范在1998年12月被確認為國際標準iso/iec14496-2。
此外,近年來,被稱為h.26l(itu-tq6/16vceg)的標準的標準化已在進行,其目的在于用于電視會議用途的圖像編碼。對于h.26l,已知較之諸如mpeg2或mpeg4的傳統的編碼格式,盡管需要較大的計算量用于其編碼和解碼,但是實現了較高的編碼效率。再者,當前,作為mpeg4活動的一部分,以該h.26l為基礎利用h.26l不支持的功能以實現更高的編碼效率的標準化已被執行,作為增強壓縮視頻編碼的聯合模型。作為標準化的進程,h.264和mpeg4part10(高級視頻編碼,以下稱為h.264/avc)在2003年3月成為國際標準。
此外,作為其擴展,在2005年2月完成了frext(保真度范圍擴展)的標準化,其包括諸如rgb、4:2:2或4:4:4的操作所需的編碼工具以及由mpeg-2規定的8×8dct和量化矩陣。因此,獲得了能夠使用h.264/avc來良好地表達電影中包括的影片噪聲的編碼格式,并且該編碼格式將用于廣泛的應用,諸如藍光盤(注冊商標)。
然而,最近,對更高壓縮比編碼的需要增加,以諸如壓縮約4000×2000個像素的圖像,這是高畫質(hi-vision)圖像的像素數目的四倍,或者諸如對在諸如互聯網的具有有限的傳送容量的環境中分送高畫質圖像的需求。因此,在itu-t下的vceg(=視頻編碼專家組)繼續進行關于提高編碼效率的研究。
順便提及,例如,對于mpeg2格式,通過線性內插處理執行具有1/2像素精度的運動預測/補償處理。另一方面,對于h.264/avc格式,使用6抽頭fir(有限脈沖響應濾波器)濾波器作為內插濾波器來執行具有1/4像素精度的運動預測/補償處理。
圖1是用于描述根據h.264/avc格式的具有1/4像素精度的運動預測/補償處理的示圖。對于h.264/avc格式,使用6抽頭fir(有限脈沖響應濾波器)濾波器執行具有1/4像素精度的運動預測/補償處理。
對于圖1中的示例,位置a指示整數精度像素的位置,并且位置b、c和d指示具有1/2像素精度的位置,并且位置e1、e2和e3指示具有1/4像素精度的位置。首先,在下文中通過下式(1)定義clip()。
[數學式1]
注意,在輸入圖像具有8位精度的情況下,max_pix的值是255。
使用6抽頭fir濾波器通過下式(2)生成位置b和d的像素值。
[數學式2]
f=a-2-5·a-1+20·a0+20·a1-5·a2+a3
b,d=clip1((f+16)>>5)…(2)
通過在水平方向和豎直方向上應用6抽頭fir濾波器通過下式(3)生成位置c的像素值。
[數學式3]
f=b-2-5·b-1+20·b0+20·b1-5·b2+b3
或者
f=d-2-5·d-1+20·d0+20·d1-5·d2+d3
c=clip1((f+512)>>10)…(3)
注意,在水平方向和豎直方向兩者上執行積和處理之后,最后執行僅一次clip處理。
如下式(4)中所示通過線性內插生成位置e1至e3。
[數學式4]
e1=(a+b+1)>>1
e2=(b+d+1)>>1
e3=(b+c+1)>>1...(4)
再者,對于mpeg2格式,在幀運動補償模式的情況下,按16×16個像素的增量執行運動預測/補償處理,并且在場運動補償模式的情況下,按16×8個像素的增量針對每個第一場和第二場執行運動預測/補償處理。
另一方面,對于h.264/avc格式的運動預測補償,宏塊尺寸是16×16個像素,但是可以利用可變的塊尺寸來執行運動預測/補償。
圖2是圖示根據h.264/avc格式的運動預測/補償的塊尺寸的示例的示圖。
在圖2中在上層按左起的順序示出了被分成16×16像素、16×8像素、8×16像素和8×8像素分區的16×16個像素構成的宏塊。在圖2中在下層按左起的順序示出了被分成8×8像素、8×4像素、4×8像素和4×4像素子分區的8×8像素分區。
就是說,對于h.264/avc格式,一個宏塊可以被分成16×16像素、16×8像素、8×16像素和8×8像素分區之一,每個分區具有獨立的運動向量信息。再者,8×8像素分區可以被分成8×8像素、8×4像素、4×8像素和4×4像素子分區之一,每個子分區具有獨立的運動向量信息。
再者,對于h.264/avc格式,還執行多個參考幀的運動預測/補償處理。
圖3是用于描述根據h.264/avc格式的多參考幀的預測/補償處理的示圖。對于h.264/avc格式,規定了多參考幀(multi-referenceframe)的運動預測/補償方法。
對于圖3中的示例,示出了從現在起待編碼的當前幀fn,以及編碼幀fn-5至fn-1。在時間軸上,幀fn-1是在當前幀fn之緊鄰的先前個幀的幀,幀fn-2是在當前幀fn之前兩個幀的幀,并且幀fn-3是在當前幀fn之前三個幀的幀。相似地,幀fn-4是在當前幀fn之前四個幀的幀,并且幀fn-5是在當前幀fn之前五個幀的幀。通常,幀在時間軸上距當前幀fn越近,則將加上的參考圖片碼數(ref_id)就越小。具體地,幀fn-1具有最小的參考圖片碼數,并且隨后,參考圖片碼數按fn-2,…,fn-5的順序是小的。
對于當前幀fn,示出了塊a1和塊a2,通過假設塊a1與在當前幀fn之前兩個幀的幀fn-2的塊a1'相關來搜索運動向量v1。相似地,通過假設塊a2與在當前幀fn之前四個幀的幀fn-4的塊a1'相關來搜索運動向量v2。
如上文所述,對于h.264/avc格式,可以通過存儲器中存儲的多個參考幀在一個幀(圖片)中參考不同的參考幀。就是說,可以針對一個圖片中的每個塊提供獨立參考幀信息(參考圖片碼數(ref_id)),使得例如塊a1參考幀fn-2,并且塊a2參考幀fn-4。
這里,塊指示參照圖2描述的16×16像素、16×8像素、8×16像素和8×8像素分區。8×8像素子塊分區內的參考幀必須一致。
如上文所述,對于h.264/avc格式,通過執行上文參照圖1描述的1/4像素運動預測/補償處理,以及上文參照圖2和圖3描述的運動預測/補償處理,生成了大量的運動向量信息,并且如果這些信息在不變的情況下被編碼,則引起編碼效率的劣化。與此響應,對于h.264/avc格式,根據圖4中所示的方法已實現了運動向量編碼信息的減少。
圖4是用于描述根據h.264/avc格式的運動向量信息生成方法的示圖。
對于圖4中的示例,示出了從現在起待編碼的當前塊e(例如16×16個像素),以及與當前塊e相鄰的已被編碼的塊a至d。
就是說,塊d與當前塊e的左上側相鄰,塊b與當前塊e的上側相鄰,塊c與當前塊e的右上側相鄰,并且塊a與當前塊e的左側相鄰。注意,塊a至d未被分開的原因在于每個塊表示具有上文參照圖2描述的16×16個像素至4×4個像素的一個結構的塊。
例如,假設針對x(=a,b,c,d,e)的運動向量信息由mvx表示。首先,使用關于塊a、b和c的運動向量信息通過中值預測通過下式(5)生成針對當前塊e的預測運動向量信息pmve。
pmve=med(mva,mvb,mvc)...(5)
由于諸如處于圖像幀的邊緣處、仍未被編碼等的原因,關于塊c的運動向量信息可能是無用的(可能不可用)。在該情況下,使用關于塊d的運動向量信息替代關于塊c的運動向量信息。
使用pmve通過下式(6)生成用作針對當前塊e的運動向量信息的、將添加到壓縮圖像的報頭部分的數據mvde。
mvde=mve-pmve...(6)
注意,事實上,針對運動向量信息的水平方向和豎直方向上的分量獨立地執行處理。
通過這種方式,生成了預測運動向量信息,作為基于與相鄰塊的相關性生成的預測運動向量信息和運動向量信息之間的差的差運動向量信息被添加到壓縮圖像的報頭部分,從而減少了運動向量信息。
再者,盡管關于b圖片的運動向量信息的信息量是巨大的,但是對于h.264/avc格式,準備了被稱為直接模式的模式。在直接模式中,運動向量信息未存儲在壓縮圖像中。
就是說,在解碼側,通過當前塊周圍的運動向量信息,或者參考圖片,從并置塊的運動向量信息提取當前塊的運動向量信息,該并置塊是具有與當前塊相同的坐標的塊。因此,運動向量信息不必傳送到解碼側。
該直接模式包括兩種類型,即空間直接模式(spatialdirectmode)和時間直接模式(temporaldirectmode)。空間直接模式是主要利用空間方向上(圖片內的水平和豎直二維空間)的運動信息的相關性的模式,并且通常在圖像包括運動速度變化的相似運動的情況下具有優勢。另一方面,時間直接模式是主要利用時間方向上的運動信息的相關性的模式,并且通常在圖像包括運動速度恒定的不同運動的情況下具有優勢。
使用這些空間直接模式和時間直接模式中的哪個模式可以針對每個切片進行切換。
再次參照圖4,將描述根據h.264/avc格式的空間直接模式。對于圖4中的示例,如上文所述,示出了從現在起待編碼的當前塊e(例如,16×16個像素)以及與當前塊e相鄰的已被編碼的塊a至d。再者,例如,針對x(=a,b,c,d,e)的運動向量信息由mvx表示。
使用關于塊a、b和c的運動向量信息通過中值預測通過上述式(5)生成針對當前塊e的預測運動向量信息pmve。再者,通過下式(7)表示空間直接模式中的針對當前塊e的運動向量信息mve。
mve=pmve...(7)
就是說,在空間直接模式中,通過中值預測生成的預測運動向量被取作當前塊的運動向量信息。就是說,根據編碼塊的運動向量信息生成當前塊的運動向量信息。因此,也可以在解碼側根據空間直接模式生成運動向量,并且因此,運動向量信息不必傳送到解碼側。
接下來,將參照圖5描述根據h.264/avc格式的時間直接模式。
對于圖5中的示例,時間軸t表示時間的消逝,從左起按順序示出了l0(list0)參考圖片、從現在起待編碼的當前圖片以及l1(list1)參考圖片。注意,對于h.264/avc格式,l0參考圖片、當前圖片和l1參考圖片的排列不限于該順序。
當前圖片的當前塊包括在例如b切片中。因此,對于當前圖片的當前塊,針對l0參考圖片和l1參考圖片計算基于時間直接模式的l0運動向量信息mvl0和l1運動向量信息mvl1。
再者,對于l0參考圖片,基于l0參考圖片和l1參考圖片計算并置塊中的運動向量信息mvcol,該并置塊是位于與從現在起待編碼的當前塊相同的空間地址(坐標)的塊。
現在,假設當前圖片和l0參考圖片之間的在時間軸上的距離被取作tdb,并且l0參考圖片和l1參考圖片之間的在時間軸上的距離被取作tdd。在該情況下,可以通過下式(8)計算當前圖片中的l0運動向量信息mvl0和當前圖片中的l1運動向量信息mvl1。
[數學式5]
注意,對于h.264/avc格式,不存在針對壓縮圖像中的當前圖片的等同于時間軸t上的距離tdb和tdd的信息。因此,使用poc(圖片順序計數)作為距離tdb和tdd的實際值,poc是指示圖片的輸出序列的信息。
再者,對于h.264/avc格式,可以按16×16像素宏塊或者8×8像素塊的增量來定義直接模式。
現在,參照圖4,非專利文獻1提出了如下的使用中值預測來改進運動向量編碼的方法。
就是說,提出了自適應地使用通過上述式(5)獲得的空間預測運動向量信息(空間預測器),時間預測運動向量信息(時間預測器)以及將參照圖6描述的空間-時間預測運動向量信息(空間-時間預測器)中的一個,作為預測運動向量信息。
對于圖6中的示例,示出了作為待編碼的當前幀的幀n,以及作為執行運動向量的搜索時參考的參考幀的幀n-1。
在幀n中,現將編碼的當前塊具有針對當前塊指示的運動向量信息mv,以及與當前塊相鄰的已編碼塊,每個已編碼塊具有針對各個塊的運動向量信息mva、mvb、mvc和mvd。
具體地,在左上側與當前塊相鄰的塊具有對應于該塊指示的運動向量信息mvd,并且在上側與當前塊相鄰的塊具有對應于該塊指示的運動向量信息mvb。在右上側與當前塊相鄰的塊具有對應于該塊指示的運動向量信息mvc,并且在左側與當前塊相鄰的塊具有對應于該塊指示的運動向量信息mva。
在幀n-1中,與當前塊對應的塊(并置塊)具有針對對應塊指示的運動向量信息mvcol。這里注意,對應塊是與當前幀不同的已編碼幀(位于之前或之后的幀)中的塊,并且是與當前塊對應的位置處的塊。
再者,在幀n-1中,與對應塊相鄰的塊具有針對每個塊分別指示的運動向量信息mvt4、mvt0、mvt7、mvt1、mvt3、mvt5、mvt2和mvt6。
具體地,在左上側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt4,并且在上側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt0。在右上側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt7,并且在左側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt1。在右側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt3,并且在左下側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt5。在下側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt2,并且在右下側與對應塊相鄰的塊具有對應于該塊指示的運動向量信息mvt6。
再者,盡管上述式(5)中的預測運動向量信息pmv是借助與當前塊相鄰的塊的運動向量信息而生成的,但是通過下式(9)和(10)定義各個預測運動向量信息pmvtm5、pmvtm9和pmvspt。注意在這些信息中,pmvtm5和pmvtm9是時間預測運動向量信息,并且pmvspt是空間-時間預測運動向量信息。
時間預測器:
pmvtm5=med(mvcol,mvt0,···,mvt3)
pmvtm9=med(mvcol,mvt0,···,mvt7)...(9)
空間-時間預測器:
pmvspt=med(mvcol,mvcol,mva,mvb,mvc)...(10)
對于使用每個預測運動向量信息的情況計算成本函數值,并且因此選擇使用式(5)、式(9)和式(10)中的哪個的預測運動向量信息。指示關于哪個預測運動向量信息已被用于每個塊的信息的標志隨后被傳送到解碼側。
注意,上述附圖和式也將被適當地用在本申請的描述中。
引用文獻列表
非專利文獻1:"motionvectorcodingwithoptimalpmvselection",vceg-ai22,itu-telecommunicationsstandardizationsectorstudygroup16question6,july2008
技術實現要素:
技術問題
順便提及,利用根據上述非專利文獻1的建議,針對哪個預測運動向量信息分配哪個碼數是固定的。
現在,對于h.264/avc格式,規定了無損編碼,諸如可變長度編碼,如cavlc(上下文自適應可變長度編碼),或者算術編碼,如cabac(上下文自適應二值算術編碼)。
在這兩種cavlc格式和cabac格式的情況下,具有較高的出現頻率的預測運動向量信息應被分配較小的碼數,并且對于每個序列和位率,每個預測運動向量信息的出現頻率應是不同的。然而,這些是固定的,可能干擾編碼效率的提高。
考慮到該情況進行了本公開,并且本公開使得能夠實現較高的編碼效率。
對問題的解決方案
公開了一種能夠實現較高的編碼效率的圖像處理設備和方法。預測運動向量生成單元(76)使用所提供的附近區域的運動向量信息來生成多種類型的預測運動向量信息,并且向運動估計/補償單元(75)提供預測運動向量信息和由碼數分配單元(77)分配給預測運動向量信息的碼數的每個集合。碼數分配單元(77)向預測運動向量生成單元(76)和可逆編碼單元(66)提供關于將哪個碼數分配給哪個預測運動向量信息的碼數分配信息。該技術能夠應用于例如以h.264/avc方法為基礎進行編碼的圖像編碼設備中。
本公開的一個方面是一種圖像處理設備,其包括:碼數分配單元,配置成根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及預測運動向量生成單元,配置成使用作為待處理的當前區域的外圍區域的運動信息的外圍運動信息來生成區域的預測運動向量信息,并且依據由碼數分配單元已決定的分配碼數的方式,將碼數分配給已生成的預測運動向量信息。
碼數分配單元可以針對預測處理的每個遞增區域,控制將碼數分配給預測運動向量信息的方式。
在區域是靜止區域的情況下,碼數分配單元可以控制分配碼數的方式,使得小的碼數被分配給時間預測運動向量信息。
在區域是靜止區域的情況下,預測運動向量生成單元可以僅生成時間預測運動向量信息,并且向時間預測運動向量信息分配由碼數分配單元決定的碼數。
在區域是移動區域的情況下,碼數分配單元可以控制分配碼數的方式,使得小的碼數被分配給空間預測運動向量信息。
圖像處理設備可以進一步包括:靜止區域確定單元,配置成確定當前區域是否是靜止區域,碼數分配單元依據靜止區域確定單元的確定結果,控制將碼數分配給當前區域的預測運動向量信息的方式。
靜止區域確定單元可以使用當前區域的并置區域的運動信息來確定當前區域是否是靜止區域。
在當前區域的并置區域的運動信息的水平分量和運動信息的豎直分量的絕對值在預定閾值內的情況下,并且還在參考索引是0,應用ref_picr_reordering,或者參考索引具有指示緊鄰的先前圖片的poc值的情況下,靜止區域確定單元可以將當前區域確定為靜止區域。
碼數分配單元可以根據用戶設定控制將碼數分配給預測運動向量信息的方式。
碼數分配單元可以控制將碼數分配給預測運動向量信息的方式以便提高編碼效率。
碼數分配單元可以控制將碼數分配給預測運動向量信息的方式以便使主觀圖像質量最優化。
碼數分配單元可以針對每個切片控制將碼數分配給預測運動向量信息的方式。
圖像處理設備可以進一步包括:標志生成單元,配置成生成指示其中分配碼數的方式能夠改變的可變模式的標志。
預測運動向量生成單元可以針對每個預測模式生成多個預測運動向量信息;圖像處理設備進一步包括:差運動向量生成單元,配置成針對每個預測模式,從預測運動向量生成單元生成的多個預測運動向量信息中選擇最優預測運動向量信息,并且生成作為針對當前區域的運動向量的差的差運動向量;模式確定單元,配置成從各預測模式中確定最優預測模式;以及傳送單元,配置成傳送模式確定單元確定的預測模式的差運動向量信息,以及預測模式的預測運動向量信息的碼數。
圖像處理設備可以進一步包括:編碼單元,配置成對模式確定單元確定的預測模式的差運動向量信息,以及預測模式的預測運動向量信息的碼數進行編碼;傳送單元傳送編碼單元編碼的差運動向量信息,以及預測運動向量信息的碼數。
本公開的一個方面也是一種圖像處理設備的圖像處理方法,該方法包括:碼數分配單元根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及預測運動向量生成單元使用作為待處理的當前區域的外圍區域的運動信息的外圍運動信息來生成區域的預測運動向量信息,并且依據已決定的分配碼數的方式,將碼數分配給已生成的預測運動向量信息。
本公開的另一方面是一種圖像處理設備,其包括:碼數分配單元,配置成根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及預測運動向量重建單元,配置成獲得待處理的當前區域的預測運動向量信息的碼數,并且依據由碼數分配單元已決定的分配碼數的方式,根據碼數重建預測運動向量信息。
碼數分配單元可以針對預測處理的每個遞增區域,控制將碼數分配給預測運動向量信息的方式。
在區域是靜止區域的情況下,碼數分配單元可以控制分配碼數的方式,使得小的碼數被分配給時間預測運動向量信息。
在區域是移動區域的情況下,碼數分配單元可以控制分配碼數的方式,使得小的碼數被分配給空間預測運動向量信息。
圖像處理設備可以進一步包括:靜止區域確定單元,配置成確定當前區域是否是靜止區域;碼數分配單元依據靜止區域確定單元的確定結果,控制將碼數分配給當前區域的預測運動向量信息的方式。
靜止區域確定單元可以使用當前區域的并置區域的運動信息來確定當前區域是否是靜止區域。
在當前區域的并置區域的運動信息的水平分量和運動信息的豎直分量的絕對值在預定閾值內的情況下,并且還在參考索引是0,應用ref_picr_reordering,或者參考索引具有指示緊鄰的先前圖片的poc值的情況下,靜止區域確定單元可以將當前區域確定為靜止區域。
碼數分配單元可以根據用戶設定控制將碼數分配給預測運動向量信息的方式。
碼數分配單元可以控制將碼數分配給預測運動向量信息的方式以便提高編碼效率。
碼數分配單元可以控制將碼數分配給預測運動向量信息的方式以便使主觀圖像質量最優化。
碼數分配單元可以針對每個切片控制將碼數分配給預測運動向量信息的方式。
圖像處理設備可以進一步包括:標志獲得單元,配置成獲得指示其中分配碼數的方式能夠改變的可變模式的標志;并且在標志獲得單元獲得的標志指示可變模式的情況下,碼數分配單元可以控制將碼數分配給預測運動向量信息的方式。
本發明的另一方面也是一種圖像處理設備的圖像處理方法,該方法包括:碼數分配單元根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及預測運動向量重建單元獲得待處理的當前區域的預測運動向量信息的碼數,并且依據已決定的分配碼數的方式,根據碼數重建預測運動向量信息。
對于本發明的一個方面,根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式,使用作為待處理的當前區域的外圍區域的運動信息的外圍運動信息來生成區域的預測運動向量信息,并且依據由碼數分配單元已決定的分配碼數的方式,將碼數分配給已生成的預測運動向量信息。
對于本發明的另一方面,根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式,獲得待處理的當前區域的預測運動向量信息的碼數,并且依據由碼數分配單元已決定的分配碼數的方式,根據碼數重建預測運動向量信息。
本發明的另一方面是一種圖像處理設備,其包括:碼數獲得單元,其獲得根據針對空間預測運動向量和時間預測運動向量的出現而分配給空間預測運動向量和時間預測運動向量的碼數;以及預測運動向量重建單元,其使用由碼數獲得單元獲得到的碼數,來重建作為圖像的處理對象的當前區域的預測運動向量。
本發明的另一方面是一種圖像處理方法,包括:獲得根據針對空間預測運動向量和時間預測運動向量的出現而分配給空間預測運動向量和時間預測運動向量的碼數,使用碼數來重建作為圖像的處理對象的當前區域的預測運動向量。
注意,上述圖像處理設備可以均為獨立的設備,或者可以是構成單個圖像編碼設備或圖像解碼設備的內部塊。
本發明的有利效果
根據本公開,可以提高編碼效率和主觀圖像質量。再者,根據本公開,可以實現較高的編碼效率。
附圖說明
圖1是用于描述具有1/4像素精度的運動預測/補償處理的示圖。
圖2是用于描述具有可變塊尺寸的運動預測/補償處理的示圖。
圖3是用于描述多參考幀的運動預測/補償處理的示圖。
圖4是用于描述運動向量信息生成方法的示例的示圖。
圖5是用于描述時間直接模式的示圖。
圖6是描述用于生成預測運動向量信息的方法示例的示圖。
圖7是圖示圖像編碼設備的實施例的配置的框圖。
圖8是用于描述指數哥倫布編碼的示圖。
圖9是用于描述語法元素和無符號碼數之間的相關性關系的示圖。
圖10是表示執行cabac編碼的無損編碼單元的配置示例的框圖。
圖11是用于描述cabac編碼的示圖。
圖12是圖示二值表的示圖。
圖13是圖示本技術的優點的示圖。
圖14是用于描述切片報頭語法的示圖。
圖15是圖示圖7中的運動預測/補償單元的配置示例的框圖。
圖16是用于描述圖7中的圖像編碼設備的編碼處理的流程圖。
圖17是用于描述圖16中的步驟s21中的幀內預測處理的流程圖。
圖18是用于描述圖16中的步驟s22中的幀間運動預測處理的流程圖。
圖19是用于描述圖18中的步驟s53中的預測運動向量確定處理的流程圖。
圖20是圖示圖像解碼設備的實施例的配置的框圖。
圖21是圖示圖20中的運動預測/補償單元的配置示例的框圖。
圖22是用于描述圖20中的圖像解碼設備的解碼處理的流程圖。
圖23是用于描述圖22中的步驟s138中的預測處理的流程圖。
圖24是圖示圖像編碼設備的另一實施例的框圖。
圖25是圖示擴展宏塊尺寸的示例的示圖。
圖26是圖示計算機硬件的配置示例的框圖。
圖27是圖示電視接收器的主要配置示例的框圖。
圖28是圖示蜂窩電話的主要配置示例的框圖。
圖29是圖示硬盤記錄器的主要配置示例的框圖。
圖30是圖示攝像裝置的主要配置示例的框圖。
圖31是圖示編碼單元的配置示例的示圖。
圖32是圖示圖像編碼設備的另一配置示例的框圖。
圖33是用于描述相鄰區域的示例的示圖。
圖34是圖示運動預測/補償單元和運動向量編碼單元的主要配置示例的框圖。
圖35是用于描述幀間運動預測處理的流程示例的流程圖。
圖36是圖示圖像解碼設備的另一配置示例的框圖。
圖37是圖示運動預測/補償單元和運動向量解碼單元的主要配置示例的框圖。
圖38是用于描述預測處理的流程的示例的流程圖。
圖39是用于描述幀間運動預測處理的流程的示例的流程圖。
具體實施方式
在下文中,將參照附圖描述本技術的實施例。
[圖像編碼設備的配置示例]
圖7表示用作圖像處理設備的圖像編碼設備的實施例的配置。
該圖像編碼設備51使用例如h.264和mpeg-4part10(高級視頻編碼)(以下稱為h.264/avc)格式為基礎使圖像經歷壓縮編碼。就是說,對于圖像編碼設備51,使用h.264/avc格式中規定的運動補償塊模式。
對于圖7中的示例,圖像編碼設備51由a/d轉換單元61、屏幕重排緩沖器62、計算單元63、正交變換單元64、量化單元65、無損編碼單元66、存儲緩沖器67、逆量化單元68、逆正交變換單元69、計算單元70、解塊濾波器71、幀存儲器72、開關73、幀內預測單元74、運動預測/補償單元75、預測運動向量生成單元76、碼數分配單元77、預測圖像選擇單元78、和速率控制單元79構成。
a/d轉換單元61執行輸入圖像的a/d轉換,并且輸出到屏幕重排緩沖器62用于存儲。屏幕重排緩沖器62根據gop(圖片組)將以顯示的順序存儲的幀的圖像重新排列成用于編碼的幀順序。
計算單元63從自屏幕重排緩沖器62讀出的圖像中減去由預測圖像選擇單元78選擇的、來自幀內預測單元74的預測圖像或者來自運動預測/補償單元75的預測圖像,并且它們的差信息輸出到正交變換單元64。正交變換單元64使來自計算單元63的差信息經歷諸如離散余弦變換、karhunen-loéve(卡洛南-洛伊)變換等的正交變換,并且輸出其變換系數。量化單元65對正交變換單元64輸出的變換系數進行量化。
作為量化單元65的輸出的量化的變換系數被輸入到無損編碼單元66,并且經歷諸如可變長度編碼、算術編碼等的無損編碼并且被壓縮。
無損編碼單元66從幀內預測單元74獲得指示幀內預測的信息,并且從運動預測/補償單元75獲取指示幀間預測模式等的信息。注意,在下文中,指示幀內預測的信息和指示幀間預測的信息將被分別稱為幀內預測模式信息和幀間預測模式信息。
無損編碼單元66對量化的變換系數進行編碼,并且還對指示幀內預測的信息、指示幀間預測模式的信息等進行編碼,并且將這些信息取作壓縮圖像中的報頭信息的一部分。無損編碼單元66將編碼數據提供給存儲緩沖器67用于存儲。
例如,通過無損編碼單元66,執行諸如可變長度編碼、算術編碼等的無損編碼處理。可變長度編碼的示例包括h.264/avc格式確定的cavlc(上下文自適應可變長度編碼)。算術編碼的示例包括cabac(上下文自適應二值算術編碼)。
存儲緩沖器67將從無損編碼單元66提供的數據作為通過h.264/avc格式編碼的壓縮圖像輸出到例如圖中未示出的下游圖像解碼設備、存儲設備或傳送路徑等。
再者,從量化單元65輸出的量化的變換系數還被輸入到逆量化單元68,經歷逆量化,并且隨后進一步在逆正交變換單元69處經歷逆正交變換。計算單元70使經逆正交變換的輸出與從預測圖像選擇單元78提供的預測圖像相加,并且變為局部解碼圖像。解塊濾波器71從解碼圖像中去除塊失真,并且隨后提供給幀存儲器72用于存儲。在解塊濾波器71執行解塊濾波器處理之前的圖像也被提供給幀存儲器72用于存儲。
開關73將幀存儲器72中存儲的參考圖像提供給運動預測/補償單元75或幀內預測單元74。
利用該圖像編碼設備51,例如,來自屏幕重排緩沖器62的i圖片、b圖片和p圖片作為將經歷幀內預測(還被稱為幀內處理)的圖像被提供給幀內預測單元74。再者,從屏幕重排緩沖器62讀出的b圖片和p圖片作為將經歷幀間預測(還被稱為幀間處理)的圖像被提供給運動預測/補償單元75。
幀內預測單元74基于從屏幕重排緩沖器62讀出的將經歷幀內預測的圖像以及從幀存儲器72提供的參考圖像,執行用作候選者的所有幀內預測模式的幀內預測處理,以生成預測圖像。此時,幀內預測單元74針對用作候選者的所有幀內預測模式計算成本函數值,并且選擇計算的成本函數值提供最小值的幀內預測模式作為最優幀內預測模式。
幀內預測單元74將在最優幀內預測模式中生成的預測圖像及其成本函數值提供給預測圖像選擇單元78。在最優幀內預測模式中生成的預測圖像已被預測圖像選擇單元78選擇的情況下,幀內預測單元74將指示最優幀內預測模式的信息提供給無損編碼單元66。無損編碼單元66對該信息進行編碼,并且將其取作壓縮圖像中的報頭信息的一部分。
從屏幕重排緩沖器62讀出的將經歷幀間處理的圖像以及經由開關73來自幀存儲器72的參考圖像被提供給運動預測/補償單元75。運動預測/補償單元75執行所有候選幀間預測模式的運動搜索(預測),使用搜索的運動向量使參考圖像經歷補償處理,并且生成預測圖像。
運動預測/補償單元75針對所有候選幀間預測模式使用搜索的運動向量來計算成本函數值。此時,運動預測/補償單元75使用由預測運動向量生成單元76生成的多種類型的預測運動向量信息以及分配給它們的碼數來計算成本函數值。
運動預測/補償單元75在候選幀間預測模式的每個塊中選擇產生成本函數值的最小值的預測運動向量信息。此外,運動預測/補償單元75借助于針對每個塊選擇的預測運動向量信息對作為候選者的幀間預測模式的成本函數值進行比較,從而將產生最小值的幀間預測模式確定為最優幀間預測模式。運動預測/補償單元75隨后將在最優幀間預測模式中生成的預測圖像及其成本函數值提供給預測圖像選擇單元78。
在預測圖像選擇單元78選擇了在最優幀間預測模式中生成的預測圖像的情況下,運動預測/補償單元75將指示最優幀間預測模式的信息(幀間預測模式信息)輸出到無損編碼單元66。
此時,作為運動向量信息和預測運動向量信息之間的差的差運動向量信息、關于該預測運動向量信息的碼數等,也被輸出到無損編碼單元66。無損編碼單元66還使來自運動預測/補償單元75的信息經歷諸如可變長度編碼、算術編碼等的無損編碼處理,并且插入到壓縮圖像的報頭信息中。
從運動預測/補償單元75向預測運動向量生成單元76提供已通過作為對象的塊的外圍塊獲得的運動向量信息。注意,外圍塊不僅包括在空間上處于外圍的塊,而且包括在空間-時間上處于外圍的塊,即在時間上在當前幀的緊鄰的先前個幀中的在空間上處于外圍的塊。
預測運動向量生成單元76通過上述式(5)、式(9)和式(10)等,使用所提供的外圍運動向量信息來生成多種類型的預測運動向量信息。預測運動向量生成單元76隨后將每個預測運動向量信息以及由碼數分配單元77分配給預測運動向量信息的碼數提供給運動預測/補償單元75。
碼數分配單元77通過借助于未示出的操作輸入單元等的用戶設定,或者根據應用設定,向每個預測運動向量信息分配碼數。碼數分配單元77隨后向預測運動向量生成單元76和無損編碼單元66提供指示預測運動向量信息和碼數之間的相關性,即哪個預測運動向量信息已被分配哪個碼數的碼數分配信息。再者,碼數分配單元77生成指示處于其中針對預測運動向量信息的碼數分配能夠改變的可變模式還是其中使用缺省設定的固定模式的標志信息,并且將生成的標志信息提供給無損編碼單元66。
預測圖像選擇單元78基于從幀內預測單元74或運動預測/補償單元75輸出的成本函數值確定最優幀內預測模式和最優幀間預測模式中的最優預測模式。預測圖像選擇單元78隨后選擇已確定的最優預測模式的預測圖像,并且將其提供給計算單元63和70。此時,預測圖像選擇單元78將預測圖像的選擇信息提供給幀內預測單元74或運動預測/補償單元75。
速率控制單元79基于存儲緩沖器67中存儲的壓縮圖像控制量化單元65的量化操作的速率,使得不會發生上溢或下溢。
[h.264/avc格式的描述]
首先,除了上文描述的關于背景技術的內容之外,將針對圖像編碼設備51所基于的h.264/avc格式進行進一步的描述。
如上文針對圖7所述,對于h.264/avc格式,可以將cavlc和cabac之一用作可變長度編碼。
首先,將描述cavlc格式。對于cavlc,根據附近塊中的正交變換系數的出現切換的vlc表格被用于正交變換系數的編碼。圖8中所示的指數哥倫布(exponentialgolomb)編碼用于其他語法元素的編碼。
對于圖8中的指數哥倫布編碼,例如,碼數(codenumber)0和碼字(codewords)1對應,碼數1和碼字010對應,并且碼數2和碼字011對應。再者,碼數3和碼字00100對應,碼數4和碼字00101對應,碼數5和碼字00110對應,并且碼數6和碼字00111對應。
再者,對于諸如運動向量的語法元素,存在出現負值的可能性。因此,在存在出現負值的可能性的語法元素的情況下,這些語法元素被基于圖9中所示的相關關系的沒有符號的碼數替換,并且在被替換為沒有符號的碼數之后,圖8中的指數哥倫布編碼用于其編碼。
圖9圖示了碼數和語法元素v之間的相關關系。就是說,通過基于該相關關系,例如,語法元素v=0被替換為碼數0,語法元素v=1被替換為碼數1,并且語法元素v=-1被替換為碼數2。再者,語法元素v=2被替換為碼數3,語法元素v=-2被替換為碼數4,并且語法元素v=3被替換為碼數5。
接下來,將描述根據cavlc的正交變換系數的編碼處理。
首先,從高頻向低頻掃面被轉換成一維數據的正交變換系數。其次,對numcoef(不為零的系數數目)和t1s(當從高頻向低頻掃描時為±1的系數數目,最大值是3)進行編碼。此時,根據外圍塊中的numcoef切換vlc表格。
第三,執行level(dct系數值)的編碼。例如,對于t1s,僅對正/負進行編碼。其他系數被分配碼數(codenumber)并且被編碼。此時,根據幀內/幀間、量化參數qp和最后編碼的級別來切換vlc表格。
第四,執行run的編碼。此時,根據numcoef在totalzero的編碼中切換vlc表格。再者,依次執行run_before(非0系數之前持續的0的數目)的編碼。對于該編碼,根據zerosleft(保留的非0系數的數目)切換vlc表格。在zerosleft=0時,編碼處理結束。
接下來,將描述cabac格式。
圖10圖示了執行cabac編碼的無損編碼單元的配置示例。在圖10中所示的示例中,無損編碼單元由上下文建模單元81、二值化單元82以及包括概率估計單元83a和編碼引擎83b的自適應二值算術編碼單元83構成。
與壓縮圖像的任意語法元素相關,上下文建模單元81首先根據過去的歷史將語法元素的符號(symbol)轉換成適當的上下文模型。在cabac編碼中,使用不同的上下文對不同的語法元素進行編碼。再者,根據附近的塊或宏塊的編碼信息,甚至使用不同的上下文對相同的語法元素進行編碼。
例如,將參照圖11描述作為示例的標志mb_skip_frag,但是這對于針對其他語法元素的處理也是相同的。
在圖11中所示的示例中,示出了將被編碼的目標宏塊c以及已被編碼并且與目標宏塊c相鄰的相鄰宏塊a和b。將假設標志mb_skip_frag是針對每個宏塊x(x=a,b,c)定義的并且是下式(11)。
[數學式6]
就是說,在宏塊x是使用參考幀中的空間對應位置處的像素的跳過宏塊的情況下,設定f(x)=1,否則,設定f(x)=0。
此時,作為左相鄰宏塊a的f(a)和上相鄰宏塊b的f(b)的和,如下式(12)中的那樣,計算關于當前宏塊c的上下文context(c)。
context(c)=f(a)+f(b)...(12)
就是說,關于目標宏塊c的上下文context(c)根據相鄰宏塊a和b的標志mb_skip_frag,具有值0、1和2中的一個。就是說,使用對于0、1和2中的一個不同的編碼引擎83b對關于目標宏塊c的標志mb_skip_frag進行編碼。
例如,如同幀內預測模式,使用圖12中所示的表格,二值化單元82執行作為關于語法的非二值數據的元素的符號轉換。
圖12中的表格中圖示了,在碼符號是0的情況下,碼符號被二值化為0,如果碼符號是1,則二值化為10,并且如果碼符號是2,則二值化為110。再者,在碼符號是3的情況下,這被二值化為1110,如果碼符號是4,則二值化為11110,并且如果碼符號是5,則二值化為111110。
由下游的自適應二值算術編碼單元83對通過諸如上述表格的二值化表格進行二值化的語法元素進行編碼。
返回圖10,在自適應二值算術編碼單元83處,概率估計單元83a執行關于二值化符號的概率估計,并且由編碼引擎83b執行基于概率估計的二值算術編碼。此時,在切片的起點處初始化“0”和“1”的概率,并且每當執行1bin(碼片)的編碼時更新其概率表格。就是說,在執行二值算術編碼處理之后更新相關模型,因此每個模型可以執行與實際圖像壓縮信息的統計數據對應的編碼處理。
在上述這兩種cavlc格式和cabac格式的情況下,具有較高出現頻率的預測運動向量信息應被分配較小的碼數,并且每個預測運動向量信息的出現頻率對于每個序列和位率應不同。然而,對于非專利文獻1中的建議,將分配給預測運動向量信息的碼數是固定的。
[本技術的概述]
因此,對于圖7中的圖像編碼設備51,用戶或應用可以借助于碼數分配單元77改變針對缺省的預測運動向量的碼數分配,使得主觀圖像質量的編碼效率是最優的。
就是說,對于圖像編碼設備51,生成多個候選預測運動向量信息,并且此外,生成關于每個預測運動向量信息的成本函數值。隨后,產生其最小值的預測運動向量信息被取作關于待處理塊的預測運動向量信息,并且使用其執行編碼,此時由碼數分配單元77分配給每個預測運動向量的碼數用于成本函數值生成和編碼。
例如,假設利用缺省設定,在上述式(5)中將碼數=0分配給空間預測運動向量信息(空間預測器),并且上述式(10)中將碼數=1分配給時間預測運動向量信息(時間預測器)。
通常,在待編碼內容包括大量靜止圖像區域的情況下,出于編碼效率或主觀圖像質量的觀點,時間預測運動向量信息比空間預測運動向量信息更優選。
然而,在特別地低位率(即高量化參數qp)的情況下,被分配碼數=0的預測運動向量信息具有表達預測運動向量信息所需的較少的位,并且因此更容易被選擇,這是不合需要的。
因此,對于圖像編碼設備51,可以相對缺省設定改變針對每個預測運動向量的碼數分配。因此,在該情況下,進行改變,使得例如,碼數=0被分配給時間預測運動向量信息,并且碼數=1被分配給空間預測運動向量信息。因此,可以提高編碼效率或主觀圖像質量。
[本技術的優點]
接下來,將參照圖13描述本技術的優點。在圖13中的示例中,示出了參考幀和攝像裝置固定的移動圖像的當前幀。在該移動圖像中,將假設橢圓物體正在以速度v向右移動。攝像裝置是固定的,因此橢圓物體以外的背景是靜止區域。
在當前幀中,示出了當前塊x以及在左側、頂側和右上側與當前塊x相鄰的相鄰塊a、b和c,并且在參考幀中示出了當前塊x的對應塊(并置塊)y。注意,對應塊是與當前幀不同的已編碼幀(位于之前或之后的幀)中的塊,并且是與當前塊對應的位置處的塊。
現在,假設mvk是關于塊k的運動向量信息,并且median(mva,mvb,mvc)被分配給碼數=0,并且mvy被分配給碼數=1。
在該情況下,對于特別地低位率,具有表達預測運動向量信息所需的較少的位的median(mva,mvb,mvc)更易于被選擇。
然而,對于圖13中的示例,塊x、相鄰塊a和對應塊y是靜止圖像區域中的塊,并且相鄰塊b和c是橢圓物體上的塊。因此,當針對相鄰塊的媒體預測進行觀看時,下式(13)成立,并且編碼效率明顯是不好的。
median(mva,mvb,mvc)=median(v,v,0)=v...(13)
另一方面,考慮對應塊y,下式(14)成立,因此通過向mvy分配碼數=0可以實現較高的編碼效率以便更易于被選擇。
mvy=0...(14)
注意,對于本公開,針對每個預測運動向量信息的碼數分配例如按切片的增量執行。
就是說,首先,mv_predictor_definition_flag被編碼到切片報頭。mv_predictor_definition_flag是指示處于其中將分配缺省碼數的固定模式還是其中分配能夠改變(即改變)的碼數被分配的可變模式的標志信息。注意,對于該標志信息,成為允許識別處于能夠改變的可變模式還是固定模式,即處于可變模式還是固定模式的信息是足夠的。
在mv_predictor_definition_flag=0的情況下,應用缺省定義的針對每個預測運動向量信息的碼數分配。在mv_predictor_definition_flag=1的情況下,將應用碼數分配單元77分配的針對每個預測運動向量信息的碼數分配。因此,在該情況下,mv_predictor_definition_flag=1跟隨碼數分配單元77的針對每個預測運動向量信息的碼數分配的描述。
具體地,在mv_predictor_definition_flag=1的情況下,諸如圖14中所示的語法元素將被插入在切片報頭中。
對于圖14中的示例,mv_predictor_definition_flag=1的描述跟隨有如下空間:該空間被設置用于描述哪個預測運動向量信息將被分配碼數0(code_number_for_predictor_0;)并且將被分配碼數1(code_number_for_predictor_1;)。
注意,根據本公開的關于碼數分配的語法描述不限于圖14中的示例。在序列參數集合或圖片參數集合中,提供與碼數分配相關的語法。在切片報頭處mv_predictor_definition_flag=0的情況下,可以使用緊鄰的先前現有序列參數集合或圖片參數集合中定義的任何分配。當然,這可以僅被提供給序列參數集合或圖片參數集合。
如上文所述,通過使得能夠改變碼數分配,在例如移動物體穿過諸如背景的靜止區域的情況下,可以將較小的碼數分配給時間預測運動向量信息(時間預測器)。因此,這可以避免由于靜止區域受移動物體的運動的影響而引起的圖像劣化,并且可以提高編碼效率和主觀圖像質量。
因此,可以實現較高的編碼效率。
注意,盡管上文作為具體示例,描述了例如其中移動物體穿過諸如背景等的靜止區域的示例,但是這不限于該示例,并且例如通過將較小的碼數分配給具有較高的出現頻率(率)的預測運動向量信息也可以提高編碼效率和主觀圖像質量。
再者,用戶或應用可以設定針對預測運動向量信息的碼數分配,使得提高編碼效率和主觀圖像質量。
下文將進行更詳細的描述。
[運動預測/補償單元的配置示例]
圖15是圖示運動預測/補償單元75的詳細配置示例的框圖。注意已從圖15中略去圖7中的開關73。
在圖15中的示例中,運動預測/補償單元75由運動搜索單元91、成本函數計算單元92、最優預測運動向量選擇單元93、模式確定單元94、運動補償單元95和運動向量緩沖器96構成。注意,在圖中僅有針對運動搜索單元91的輸入被圖示為來自屏幕重排緩沖器62的輸入圖像像素值,但是實際上,還存在針對計算成本函數值的成本函數計算單元92和運動補償單元95的輸入。
來自屏幕重排緩沖器62的輸入圖像像素值和來自幀存儲器72的參考圖像像素值被輸入到運動搜索單元91。運動搜索單元91在圖2中所示的所有幀間預測模式中執行運動搜索處理,使用搜索的運動向量信息對參考圖像執行補償處理,并且生成預測圖像。運動搜索單元91將針對每個幀間預測模式搜索的運動向量信息以及所生成的預測圖像提供給成本函數計算單元92。
向成本函數計算單元92提供來自屏幕重排緩沖器62的輸入圖像像素值、來自運動搜索單元91的關于幀間預測模式的運動向量信息和預測圖像、以及來自預測運動向量生成單元76的每個預測運動向量信息和分配給其的碼數。成本函數計算單元92通過取得運動向量信息和每個預測運動向量信息的差來計算差運動向量信息。
成本函數計算單元92隨后使用提供給其的信息,諸如差運動向量信息、分配給預測運動向量信息的碼數、預測圖像等,來計算關于每個幀間預測模式中的每個塊的每個預測運動向量的成本函數值。成本函數計算單元92將關于每個幀間預測模式的預測圖像、差運動向量信息、預測運動向量信息以及相應的碼數和成本函數值提供給最優預測運動向量選擇單元93。
最優預測運動向量選擇單元93基于成本函數值選擇關于每個預測模式中的每個塊的最優預測運動向量信息。由此選擇的最優預測運動向量信息連同關于每個幀間預測模式的預測圖像、成本函數值、差運動向量信息、最優預測運動向量信息和分配給其的碼數一起,被提供給模式確定單元94。
模式確定單元94使用關于每個幀間預測模式的成本函數值來確定哪個幀間預測模式使用起來是最優的,并且將具有最小成本函數值的幀間預測模式取作最優預測模式。模式確定單元94隨后將最優預測模式、相關的差運動向量信息、以及最優預測運動向量信息和分配給其的碼數提供給運動補償單元95。
運動補償單元95根據差運動向量信息和最優預測運動向量信息獲得運動向量,并且使用所獲得的運動向量對來自幀存儲器72的參考圖像執行補償,從而生成最優預測模式的預測圖像。再者,來自屏幕重排緩沖器62的輸入圖像像素值也被提供給運動補償單元95,并且運動補償單元95再次從所提供的信息獲得最優預測模式的成本函數值,并且將最優預測模式的預測圖像及其成本函數值提供給預測圖像選擇單元78。
在預測圖像選擇單元78選擇最優幀間模式的預測圖像的情況下,從預測圖像選擇單元78提供針對該效果的信號。作為響應,運動補償單元95將最優幀間模式信息、該模式的差運動向量信息以及與預測運動向量信息對應的碼數提供給無損編碼單元66。再者,此時,運動補償單元95將從差運動向量信息獲得的運動向量信息和最優預測運動向量信息存儲在運動向量緩沖器96中。注意,在預測圖像選擇單元78未選擇最優幀間模式的預測圖像的情況下(即,在選擇幀內預測圖像的情況下),0向量被存儲在運動向量緩沖器96中作為運動向量信息。
運動向量緩沖器96存儲關于最優預測模式中的每個塊的運動塊信息。所存儲的運動向量信息作為外圍塊的外圍運動向量信息被提供給預測運動向量生成單元76,以便生成關于下一塊的預測運動向量信息。
如非專利文獻1中所述,預測運動向量生成單元76使用從運動向量緩沖器96提供的、與當前塊空間-時間相鄰的塊的外圍運動向量信息,生成多個候選預測運動向量信息。然而,注意,與非專利文獻1的不同之處在于,碼數分配單元77已分配針對每個預測運動向量信息的碼數。
就是說,通過預測運動向量生成單元76,針對當前塊,根據上述式(5)生成空間預測運動向量信息(空間預測器),并且根據上述式(9)生成時間預測運動向量信息(時間預測器)。再者,針對當前塊,根據上述式(10)生成空間-時間預測運動向量信息(空間-時間預測器)。每個生成的候選預測運動向量信息以及分別分配給其的碼數被提供給成本函數計算單元92。
再者,在執行編碼處理之前,根據例如未示出的操作輸入單元處的用戶操作,關于向哪個預測運動向量信息分配哪個碼數的信息被輸入到碼數分配單元77。碼數分配單元77根據輸入信息針對預測運動向量信息設定碼數的分配,并且還生成指示模式是碼數分配可變模式的標志信息。
碼數分配單元77將碼數分配信息提供給預測運動向量生成單元76。再者,碼數分配單元77向無損編碼單元66發送所生成的標志信息和碼數分配信息。在無損編碼單元66處,在切片報頭處執行這些信息的編碼處理。
[圖像編碼設備的編碼處理的描述]
接下來,將參照圖16中的流程圖描述圖7中的圖像編碼設備51的編碼處理。
在步驟s11中,a/d轉換單元61將輸入圖像從模擬轉換成數字。在步驟s12中,屏幕重排緩沖器62存儲從a/d轉換單元61提供的圖像,并且執行從用于顯示圖片的序列到用于編碼的序列的重新排列。
在步驟s13中,計算單元63計算在步驟s12中重新排列的圖像和預測圖像之間的差。經由預測圖像選擇單元78,在執行幀間預測的情況下從運動預測/補償單元75向計算單元63提供預測圖像,并且在執行幀內預測的情況下從幀內預測單元74向計算單元63提供預測圖像。
較之原始圖像數據,差數據的數據量較小。因此,較之沒有改變地對原始圖像編碼的情況,可以壓縮數據量。
在步驟s14中,正交變換單元64使從計算單元63提供的差信息經歷正交變換。具體地,執行諸如離散余弦變換、karhunen-loéve變換等的正交變換,并且輸出變換系數。在步驟s15中,量化單元65對變換系數進行量化。在該量化時,諸如后面描述的步驟s26中的處理,對速率進行控制。
對這樣量化的差信息進行如下的局部解碼。就是說,在步驟s16中,逆量化單元68使用與量化單元65的性質對應的性質,使量化單元65量化的變換系數經歷逆量化。在步驟s17中,逆正交變換單元69使用與正交變換單元64的性質對應的性質,使經歷逆量化單元68的逆量化的變換系數經歷逆正交變換。
在步驟s18中,計算單元70使經由預測圖像選擇單元78輸入的預測圖像與局部解碼的差信息相加,并且生成局部解碼圖像(與針對計算單元63的輸入對應的圖像)。在步驟s19中,解塊濾波器71使從計算單元70輸出的圖像經歷濾波。因此,去除了塊失真。在步驟s20中,幀存儲器72存儲經歷濾波的圖像。注意,未經歷解塊濾波器71的濾波處理的圖像也從計算單元70提供給幀存儲器72用于存儲。
在從屏幕重排緩沖器62提供的待處理圖像是用于幀內處理的塊的圖像的情況下,從幀存儲器72讀出待參考的解碼圖像,并且經由開關73將其提供給幀內預測單元74。
在步驟s21中,幀內預測單元74基于這些圖像在所有候選幀內預測模式中對待處理的塊的像素執行幀內預測。注意,對于將參考的解碼像素,使用未經歷解塊濾波器71的解塊濾波的像素。
盡管后面將參照圖17描述步驟s21中的預測處理的細節,但是由于該處理,在所有候選幀內預測模式中執行幀內預測,并且針對所有候選幀內預測模式計算成本函數值。基于計算的成本函數值選擇最優幀內預測模式,并且最優幀內預測模式的幀內預測生成的預測圖像及其成本函數值被提供給預測圖像選擇單元78。
在從屏幕重排緩沖器62提供的待處理圖像是將被幀間處理的圖像的情況下,從幀存儲器72讀出參考圖像,并且經由開關73將其提供給運動預測/補償單元75。在步驟s22中,運動預測/補償單元75基于這些圖像執行幀間運動預測處理。
后面將參照圖18描述步驟s22中的預測處理的細節。根據該處理,在所有候選幀內預測模式中執行運動搜索處理,計算所有候選幀內預測模式中的成本函數值,并且選擇最優預測運動向量信息。此外,基于針對所有幀間預測模式計算的成本函數值,選擇最優幀內預測模式。在最優幀內預測模式中生成的預測圖像及其成本函數值被提供給預測圖像選擇單元78。
此時,例如,利用提供給運動預測/補償單元75和無損編碼單元66的碼數分配信息,將碼數分配給每個預測運動向量信息。因此,在運動預測/補償單元75處,使用所分配的碼數計算成本函數值。再者,碼數分配單元77生成指示模式是否是其中碼數分配能夠改變的可變模式的標志信息,其被提供給無損編碼單元66。
在步驟s23中,預測圖像選擇單元78基于從幀內預測單元74和運動預測/補償單元75輸出的成本函數值,將最優幀內預測模式和最優幀間預測模式中的一個確定為最優預測模式。預測圖像選擇單元78隨后選擇所確定的最優預測模式的預測圖像,并且提供給計算單元63和70。如上文所述,該預測圖像用于步驟s13和s18中的計算。
注意,該預測圖像的選擇信息被提供給幀內預測單元74或運動預測/補償單元75。在已選擇最優幀內預測模式的預測圖像的情況下,幀內預測單元74將指示最優幀內預測模式的信息(即,幀內預測模式信息)提供給無損編碼單元76。
在已選擇最優幀間預測模式的預測圖像的情況下,運動預測/補償單元75向無損編碼單元77輸出指示最優幀間預測模式的信息,并且根據需要,輸出根據最優幀間預測模式的信息。根據最優幀間預測模式的信息的示例包括諸如關于每個塊的運動向量信息和預測運動向量信息之間的差運動向量信息、分配給每個塊的預測運動向量信息的碼數等的信息。再者,注意,此時運動預測/補償單元75的運動補償單元95將根據差運動向量信息和預測運動向量信息獲得的運動向量信息存儲在運動向量緩沖器96中。
在步驟s24中,無損編碼單元66對從量化單元65輸出的量化的變換系數編碼。具體地,差圖像經歷諸如可變長度編碼、算術編碼等的無損編碼,并且被壓縮。此時,在上述步驟s21中輸入到無損編碼單元66的、來自幀內預測單元74的幀內預測模式信息,或者在步驟s22中的根據來自運動預測/補償單元75的最優幀間預測模式的信息等,也被編碼,并且被添加到報頭信息。再者,來自碼數分配單元77的標志信息和碼數分配信息也被添加到報頭信息。
例如,針對每個宏塊對指示幀間預測模式的信息進行編碼。按每個當前塊對針對差運動向量信息和預測運動向量信息的碼數進行編碼。此外,按每個切片對來自碼數分配單元77的標志信息和碼數分配信息進行編碼。
在步驟s25中,存儲緩沖器67將差圖像存儲為壓縮圖像。適當地讀出存儲緩沖器67中存儲的壓縮圖像,并且經由傳送路徑將其傳送到解碼側。
在步驟s26中,速率控制單元79基于存儲緩沖器67中存儲的壓縮圖像來控制量化單元65的量化操作速率以便不致引起上溢或下溢。
[幀內預測處理的描述]
接下來,將參照圖17中的流程圖描述圖16中的步驟s21中的幀內預測處理。注意,在圖17中的示例中,作為示例將描述亮度信號的情況。
在步驟s41中,幀內預測單元74針對4×4個像素、8×8個像素和16×16個像素的每個幀內預測模式執行幀內預測。
對于按塊增量的亮度信號幀內預測模式,存在九種4×4像素和8×8像素塊增量的預測模式,以及四種16×16像素宏塊增量的預測模式,并且對于色差信號的幀內預測模式,存在四種8×8像素塊增量的預測模式。色差信號的幀內預測模式的設定可以與亮度信號的幀內預測模式無關。對于亮度信號的4×4個像素的幀內預測模式和8×8個像素的幀內預測模式,針對每個4×4像素和8×8像素的亮度信號塊定義一個幀內預測模式。對于亮度信號的16×16個像素的幀內預測模式以及色差信號的幀內預測模式,針對每個宏塊定義一個預測模式。
具體地,幀內預測單元74參考從幀存儲器72讀出的并且經由開關73提供給幀內預測單元74的解碼圖像,并且對待處理的塊的像素執行幀內預測。在每個幀內預測模式中執行該幀內預測處理導致了在每個幀內預測模式中生成預測圖像。注意,未經歷解塊濾波器71的解塊濾波的像素被用作將參考的解碼像素。
在步驟s42中,幀內預測單元74針對4×4個像素、8×8個像素和16×16個像素的幀內預測模式計算成本函數值。這里,對于用于獲得成本函數值的成本函數,使用采用h.264/avc格式的成本函數。
對于h.264/avc格式,使用例如如下方法:其中進行jm中規定的高復雜度模式和低復雜度模式的兩種模式確定方法的選擇。在該方法的情況下,此兩者均計算與各個預測模式mode相關的成本函數值,并且選擇產生最小值的預測模式作為關于當前塊或宏塊的最優模式。
在高復雜度模式中,通過下式(15)計算成本函數值。
cost(mode∈ω)=d+λ×r...(15)
在式(15)中,ω是用于對當前塊至宏塊進行編碼的候選模式的整個集合。再者,d是在通過當前預測模式mode進行編碼的情況下解碼圖像和輸入圖像之間的差能量。此外,λ是作為量化參數的函數給出的拉格朗日乘子。再者,r是在通過當前模式mode進行編碼的情況下的總碼量,其包括正交變換系數。
就是說,為了通過高復雜度模式執行編碼,需要利用所有候選模式mode執行一次試驗編碼處理以便計算以上參數d和r,這需要較大的計算量。
另一方面,可以如下式(16)中所示獲得低復雜度模式中的成本函數值。
cost(mode∈ω)=d+qp2quant(qp)×headerbit...(16)
在式(16)中,不同于高復雜度模式的情況,d是預測圖像和輸入圖像之間的差能量。再者,qp2quant(qp)是作為量化參數qp的函數給出的。此外,headerbit是關于諸如運動向量和模式的、屬于不包括正交變換系數的報頭的信息的碼量。
就是說,在低復雜度模式中,需要執行關于每個候選模式mode的預測處理,但是不需要一直對解碼圖像執行該處理,因此不需要一直執行解碼處理。因此,較之高復雜度模式,能夠以較小的計算量實現。
在步驟s43中,幀內預測單元74針對4×4個像素、8×8個像素和16×16個像素的幀內預測模式確定最優模式。就是說,如上文所述,在幀內4×4預測模式和幀內8×8預測模式的情況下,預測模式類型的數目是九,并且在幀內16×16預測模式的情況下,預測模式類型的數目是四。因此,幀內預測單元74基于在步驟s42中計算的成本函數值,在這些預測模式中確定最優幀內4×4預測模式、最優幀內8×8預測模式和最優幀內16×16預測模式。
在步驟s44中,幀內預測單元74基于在步驟s42中計算的成本函數值,在針對4×4個像素、8×8個像素和16×16個像素的幀內預測模式確定的最優模式中選擇最優幀內預測模式,就是說,幀內預測單元74在針對4×4個像素、8×8個像素和16×16個像素確定的最優模式中,選擇成本函數值是最小值的模式作為最優幀內預測模式。幀內預測單元74隨后將在最優幀內預測模式中生成的預測圖像及其成本函數值提供給預測圖像選擇單元78。
[運動預測處理的描述]
接下來,將參照圖18中的流程圖描述圖16中的步驟s22中的幀間運動預測處理。
在步驟s51中,運動搜索單元91針對上文參照圖2描述的由16×16個像素至4×4個像素構成的八種幀間預測模式中的每個,確定運動向量和參考圖像。
在步驟s52中,運動搜索單元91針對每個幀間預測模式,基于所確定的運動向量使參考圖像經歷補償處理并且生成預測圖像。運動搜索單元91將基于每個幀間預測模式搜索的運動向量信息和所生成的預測圖像提供給成本函數計算單元92。
在步驟s53中,預測運動向量生成單元76和成本函數計算單元92執行預測運動向量確定處理。后面將參照圖19描述該預測運動向量確定處理。
根據步驟s53中的處理,生成了多種類型的預測運動向量信息。對于每個幀間預測模式中的每個塊,針對每個預測運動向量,使用所生成的預測運動向量信息和分別分配的碼數來計算成本函數值,并且選擇最優預測運動向量信息。
針對每個幀間預測模式,這樣選擇的最優預測運動向量信息連同預測圖像、成本函數值、差運動向量信息以及最優預測運動向量信息和分配給其的碼數一起,被提供給模式確定單元94。
在步驟s54中,模式確定單元94確定最優幀間預測模式。就是說,模式確定單元94使關于每個幀間預測模式中的所有塊的最優預測運動向量的成本函數值相加,比較所有候選幀間預測模式的成本函數值,并且將具有最小成本函數值的幀間預測模式確定為最優幀間預測模式。最優幀間預測模式連同最優預測運動向量信息和分配給最優預測運動向量的碼數一起被提供給運動補償單元95。
在步驟s55中,運動補償單元95基于最優幀間預測模式的運動向量對來自幀存儲器72的參考圖像執行補償處理,并且生成預測圖像。再者,運動補償單元95再次從所提供的信息獲得最優預測模式的成本函數值,并且將預測圖像和最優預測模式的成本函數值提供給預測圖像選擇單元78。
[預測運動向量確定處理的描述]
接下來,將參照圖19中的流程圖描述圖18中的步驟s53中的預測運動向量確定處理。注意,例如,下面的步驟s71至s74是針對每個切片執行的處理,并且步驟s75至s77是針對每個塊執行的處理。
在步驟s71中,碼數分配單元77確定用戶是否已定義針對預測運動向量信息的碼數分配。例如,在從未示出的操作輸入單元已輸入關于將哪個碼數分配給哪個預測運動向量信息的信息,并且該信息不是缺省信息的情況下,在步驟s71中,確定用戶已定義針對預測運動向量信息的碼數分配,并且處理前往步驟s72。
在步驟s72中,碼數分配單元77設定mv_predictor_definition_flag=1,并且將該標志信息提供給無損編碼單元66。在步驟s73中,碼數分配單元77隨后基于關于將哪個碼數分配給哪個預測運動向量信息的信息,確定針對預測運動向量信息的碼數分配。所確定的碼數分配被提供給無損編碼單元66和預測運動向量生成單元76。
另一方面,例如,在從未示出的操作輸入單元已輸入關于將哪個碼數分配給哪個預測運動向量信息的信息,并且該信息是缺省信息的情況下,在步驟s71中,確定用戶未定義針對預測運動向量信息的碼數分配,并且處理前往步驟s74。
在步驟s74中,碼數分配單元77設定mv_predictor_definition_flag=0,并且將該標志信息提供給無損編碼單元66。在該情況下,將缺省碼數分配信息提供給預測運動向量生成單元76。
在步驟s75中,預測運動向量生成單元76使用來自運動向量緩沖器96的空間-時間外圍塊的外圍運動向量信息,來生成關于當前塊的所有候選預測運動向量信息。預測運動向量生成單元76隨后將其連同所生成的多個預測運動向量信息一起提供給成本函數計算單元92,其中每個預測運動向量信息被分別分配了碼數。
在步驟s76中,成本函數計算單元92使用所提供的信息,通過上述式(15)或式(16),在每個幀間預測模式中的每個塊處,計算每個預測運動向量的成本函數值。成本函數計算單元92使用所提供的信息,諸如差運動向量信息、分配給預測運動向量信息的碼數和預測圖像等,在每個幀間預測模式中的每個塊處,計算每個預測運動向量的成本函數值。
在步驟s77中,最優預測運動向量選擇單元93基于成本函數值針對每個預測模式中的每個塊選擇最優預測運動向量信息。以這種方式選擇的最優預測運動向量信息連同預測圖像、成本函數值、差運動向量信息以及預測運動向量信息和分配給其的碼數一起,被提供給模式確定單元94。
如上文所述,這樣碼數分配是能夠改變的,因此例如,針對預測運動向量信息的碼數分配可以改變,使得提高了編碼效率和主觀圖像質量。
例如,可以向具有較高出現頻率(率)的預測運動向量信息分配較小的碼數,因此可以提高編碼效率和主觀圖像質量。
編碼的壓縮圖像經由預定的傳送路徑傳送,并且由圖像解碼設備解碼。
[圖像解碼設備的配置示例]
圖20呈現了用作已被應用本發明的圖像處理設備的圖像解碼設備的實施例的配置。
圖像解碼設備101由存儲緩沖器111、無損解碼單元112、逆量化單元113、和逆正交變換單元114、計算單元115、解塊濾波器116、屏幕重排緩沖器117、d/a轉換單元118、幀存儲器119、開關120、幀內預測單元121、運動預測/補償單元122、碼數分配緩沖器123、預測運動向量生成單元124和開關125構成。
存儲緩沖器111存儲所傳送的壓縮圖像。無損解碼單元112使用與圖7中的無損編碼單元66的編碼格式對應的格式對從存儲緩沖器111提供的并且由無損編碼單元66編碼的信息解碼。逆量化單元113使用與圖7中的量化單元65的量化格式對應的格式使無損解碼單元112解碼的圖像經歷逆量化。逆正交變換單元114使用與圖7中的正交變換單元64的正交變換格式對應的格式使逆量化單元113的輸出經歷逆正交變換。
計算單元115通過使經歷逆正交變換的輸出與從開關125提供的預測圖像相加來進行解碼。解塊濾波器116去除解碼圖像的塊噪聲,隨后提供給幀存儲器119用于存儲,并且還輸出到屏幕重排緩沖器117。
屏幕重排緩沖器117執行圖像的重新排列。具體地,由圖7中的屏幕重排緩沖器62針對編碼順序重新排列的的幀序列被重新排列成原始顯示序列。d/a轉換單元118執行從屏幕重排緩沖器117提供的圖像的d/a轉換,并且輸出到未示出的顯示器用于顯示。
開關120從幀存儲器119讀出將經歷幀間處理的圖像以及將參考的圖像,輸出到運動預測/補償單元122,并且還從幀存儲器119讀出將用于幀內預測的圖像,并且提供給幀內預測單元121。
通過對報頭信息解碼獲得的指示幀內預測模式的信息從無損解碼單元112提供給幀內預測單元121。幀內預測單元121基于該信息生成預測圖像,并且將生成的預測圖像輸出到開關125。
在通過對報頭信息解碼獲得的信息中,幀間預測模式信息、差運動向量信息、針對預測運動向量信息的碼數、參考幀信息等從無損解碼單元112提供給運動預測/補償單元122。針對每個宏塊傳送幀間預測模式信息。針對每個當前塊傳送針對預測運動向量信息的碼數和參考幀信息。
運動預測/補償單元122將從無損解碼單元112提供的預測運動向量信息的碼數提供給預測運動向量生成單元124,并且據此獲得由預測運動向量生成單元124生成的預測運動向量信息。運動預測/補償單元122使用從無損解碼單元112提供的差運動向量信息和來自預測運動向量生成單元124的預測運動向量信息來生成當前塊的運動向量信息。運動預測/補償單元122使用所生成的運動向量信息對從幀存儲器119提供的參考圖像執行補償處理,并且在從無損解碼單元112提供的幀間預測模式信息指示的預測模式中,針對每個當前塊生成預測圖像的像素值。
碼數分配緩沖器123存儲作為指示缺省(在固定模式的情況下)預測運動向量信息和碼數之間的相關性的信息的碼數分配信息。再者,碼數分配緩沖器123從無損解碼單元112接收指示模式是否是其中對于每個切片針對預測運動向量信息的碼數分配能夠改變的可變模式,或者指示模式是否是其中使用缺省設定的固定模式的標志信息。在該標志信息指示可變模式的情況下,碼數分配緩沖器123連同標志信息一起,接收與預測運動向量信息對應的碼數分配,即,預測運動向量信息和碼數之間的相關性的信息。碼數分配緩沖器123隨后存儲指示可變模式的情況下的預測運動向量信息和碼數的相關性的碼數分配信息,并且將其提供給預測運動向量生成單元124。
對于每個塊,從運動預測/補償單元122向預測運動向量生成單元124提供關于每個塊的與預測運動向量信息對應的碼數,以及空間-時間外圍塊的運動向量信息。再者,對于每個切片,從碼數分配緩沖器123向預測運動向量生成單元124提供缺省的或者編碼側設定的碼數分配。
預測運動向量生成單元124通過上述式(5)、式(9)和式(10)中的相應的式,使用提供給其的信息來生成關于每個塊的預測運動向量信息,并且將所生成的預測運動向量信息提供給運動預測/補償單元122。
開關125選擇運動預測/補償單元122或幀內預測單元121生成的預測圖像,并且提供給計算單元115。
注意,對于圖7中所示的運動預測/補償單元75和預測運動向量生成單元76,需要生成關于所有候選模式的預測圖像,生成多個候選預測運動向量信息,計算成本函數值,并且執行預測運動向量信息的選擇和模式確定。
相反,對于圖20中所示的運動預測/補償單元122和預測運動向量生成單元124,從壓縮圖像的報頭接收與當前塊對應的模式信息、針對預測運動向量信息的碼數以及差運動向量信息,并且僅執行使用這些信息的運動補償處理。注意,此時使用指示針對關于每個切片發送的預測運動向量信息的、關于碼數分配信息的可變模式或固定模式的標志信息,以及針對預測運動向量信息的碼數分配,來生成預測運動向量信息,其也用于運動補償處理。
[運動預測/補償單元的配置示例]
圖21是圖示運動預測/補償單元122的詳細配置示例的框圖。注意,在圖17中,圖20中的開關120被略去。
在圖21中的示例中,運動預測/補償單元122由差向量緩沖器131、塊級碼數緩沖器132、運動向量生成單元133、運動向量緩沖器134和運動補償單元135構成。
從無損解碼單元112向差向量緩沖器131提供關于每個塊的差運動向量信息。差向量緩沖器131存儲提供給其的差運動向量信息并且將該信息提供給運動向量生成單元133。
指示哪個預測運動向量信息用于哪個塊的信息的碼數從無損解碼單元112提供給塊級碼數緩沖器132。塊級碼數緩沖器132存儲關于每個塊的預測運動向量信息的碼數,并且提供給預測運動向量生成單元124。
來自差向量緩沖器131的差運動向量信息以及由預測運動向量生成單元124生成的關于每個塊的預測運動向量信息被提供給運動向量生成單元133。運動向量生成單元133使當前塊的預測運動向量信息與當前塊的差運動向量信息相加,從而生成當前塊的運動向量信息。運動向量生成單元133將所生成的運動向量信息提供給運動向量緩沖器134和運動補償單元135。
運動向量緩沖器134存儲來自運動向量生成單元133的關于每個塊的運動向量信息,作為用于生成下一塊的預測運動向量信息的外圍運動向量信息。所存儲的外圍運動向量信息被提供給預測運動向量生成單元124。
運動補償單元135使用來自運動向量生成單元133的運動向量信息,使來自幀存儲器119的參考圖像在預測模式信息指示的預測模式中經歷補償處理,從而生成預測圖像。
[圖像解碼設備的解碼處理的描述]
接下來,將參照圖22中的流程圖描述圖像解碼設備101執行的解碼處理。
在步驟s131中,存儲緩沖器111存儲傳送的圖像。在步驟s132中,無損解碼單元112對從存儲緩沖器111提供的壓縮圖像解碼。具體地,由圖7中的無損編碼單元66編碼的i圖片、p圖片和b圖片被解碼。
此時,差運動向量信息、參考幀信息、針對預測運動向量信息的碼數分配的標志信息(mv_predictor_definition_flag)、在可用的情況下指示其關系的碼數分配信息、以及預測模式信息(指示幀內預測模式或幀間預測模式的信息)等也被解碼。
就是說,在預測模式信息是幀內預測模式信息的情況下,預測模式信息被提供給幀內預測單元51。在預測模式信息是幀間預測模式信息的情況下,與預測模式信息對應的差運動向量信息和參考幀信息被提供給運動預測/補償單元122。再者,針對預測運動向量信息的碼數分配的標志信息以及在可用的情況下的碼數分配,被提供給碼數分配緩沖器123。
在步驟s133中,逆量化單元113使用與圖7中的量化單元65的性質對應的性質對無損解碼單元112解碼的變換系數進行逆量化。在步驟s134中,逆正交變換單元114使用與圖7中的正交變換單元64的性質對應的性質,使逆量化單元113逆量化的變換系數經歷逆正交變換。這意味著與圖7中的正交變換單元64的輸入(計算單元63的輸出)對應的差信息被解碼。
在步驟s135中,計算單元115使在后面描述的步驟s139中的處理中選擇的并且經由開關125輸入的預測圖像與差信息相加。因此,原始圖像被解碼。在步驟s136中,解塊濾波器116使從計算單元115輸出的圖像經歷濾波。因此,去除了塊失真。在步驟s137中,幀存儲器119存儲經歷濾波的圖像。
在步驟s138中,幀內預測單元121或運動預測/補償單元122響應于從無損解碼單元112提供的預測模式信息執行相應的圖像預測處理。
就是說,在已從無損解碼單元112提供幀內預測模式信息的情況下,幀內預測單元121執行幀內預測模式中的幀內預測處理。在已從無損解碼單元112提供幀間預測模式信息的情況下,運動預測/補償單元122執行幀間預測模式中的運動預測/補償處理。此時,針對預測運動向量信息的與關于碼數分配的標志信息對應的碼數分配信息被用于生成預測運動向量信息,通過該信息還有差運動向量信息,生成了運動向量信息。隨后所生成的運動向量信息被用于執行關于參考圖像的補償處理,從而在幀內預測模式中生成預測圖像。
盡管后面將參照圖23描述步驟s138中的預測處理的細節,但是根據該處理,幀內預測單元121生成的預測圖像或者運動預測/補償單元122生成的預測圖像被提供給開關125。
在步驟s139中,開關125選擇預測圖像。具體地,提供幀內預測單元121生成的預測圖像或者運動預測/補償單元122生成的預測圖像。因此,所提供的預測圖像被選擇,提供給計算單元115,并且如上文所述,在步驟s135中與逆正交變換單元114的輸出相加。
在步驟s140中,屏幕重排緩沖器117執行重新排列。具體地,圖像編碼設備51的屏幕重排緩沖器62重新排列的用于編碼的幀序列被重新排列成原始顯示序列。
在步驟s141中,d/a轉換單元118執行來自屏幕重排緩沖器117的圖像的d/a轉換。該圖像被輸出到未示出的顯示器,并且顯示該圖像。[圖像解碼設備的預測處理的描述]
接下來,將參照圖23中的流程圖描述圖22中的步驟s138中的預測處理。
在步驟s171中碼數分配緩沖器123接收來自無損解碼單元112的切片報頭中的mv_predictor_definition_flag。碼數分配緩沖器123隨后在步驟s172中確定mv_predictor_definition_flag是否指示1。
在步驟s172中確定mv_predictor_definition_flag指示1的情況下,這是其中針對預測運動向量信息的碼數分配能夠改變的可變模式。因此,在步驟s173中碼數分配緩沖器123接收來自無損解碼單元112的切片報頭中的針對預測運動向量信息的碼數分配信息,并且臨時存儲該信息。碼數分配緩沖器123隨后向預測運動向量生成單元124提供所存儲的碼數分配。
再者,在步驟s172中確定mv_predictor_definition_flag指示0的情況下,這是關于針對預測運動向量信息的碼數分配的固定模式,因此步驟s173被跳過。在該情況下,碼數分配緩沖器123將所存儲的缺省碼數分配信息提供給預測運動向量生成單元124。
在步驟s174中,幀內預測單元121確定當前塊是否已經歷幀內預測。在從無損解碼單元112向幀內預測單元121提供幀內預測模式信息之后,在步驟s174中幀內預測單元121確定當前塊已經歷幀內編碼,并且處理前往步驟s175。
在步驟s175中,幀內預測單元121獲得幀內預測模式信息,并且在步驟s176中執行幀內預測。
就是說,在待處理圖像是將經歷幀內處理的圖像的情況下,從幀存儲器119讀出所需的圖像,并且經由開關120將其提供給幀內預測單元121。在步驟s176中,幀內預測單元121根據在步驟s175中獲得的幀內預測模式信息來執行幀內預測以生成預測圖像。所生成的預測圖像被輸出到開關125。
另一方面,在步驟s174中確定未執行幀內編碼的情況下,處理前往步驟s177。
在待處理圖像是將被幀間處理的圖像的情況下,從無損解碼單元112向運動預測/補償單元122關于每個塊的幀間預測模式信息,還有關于每個塊的參考幀信息、差運動向量信息和針對預測運動向量信息的碼數。
在步驟s178中,運動預測/補償單元122獲得幀間預測模式、參考幀信息、差運動向量信息以及針對預測運動向量信息的碼數。所獲得的差運動向量信息被存儲在差向量緩沖器131中。針對預測運動向量信息的碼數被存儲在塊級碼數緩沖器132中。幀間預測模式信息和參考幀信息被提供給運動向量生成單元133,盡管在圖21中的示例中沒有示出。
在步驟s178中,運動向量生成單元133和預測運動向量生成單元124執行運動向量信息的重建。就是說,預測運動向量生成單元124基于來自碼數分配緩沖器123的碼數分配信息和來自塊級碼數緩沖器132的關于每個塊的分配給預測運動向量信息的碼數,獲得預測運動向量信息的類型。預測運動向量生成單元124隨后使用來自運動向量緩沖器134的外圍運動向量信息,通過上述式(5)、式(9)和式(19)中的相應的式來生成關于每個塊的預測運動向量信息。所生成的預測運動向量信息被提供給運動向量生成單元133。
運動向量生成單元133使來自預測運動向量生成單元124的當前塊的預測運動向量信息與來自差向量緩沖器131的差運動向量信息相加,并且生成當前塊的運動向量信息。所生成的運動向量信息連同幀間預測模式信息一起被提供給運動補償單元135。再者,運動向量信息也被提供給運動向量緩沖器134并且被存儲。
在步驟s179中,運動補償單元135使用來自運動向量生成單元133的運動向量信息,使來自幀存儲器119的參考圖像經歷預測模式信息指示的預測模式中的補償處理。所生成的預測圖像被提供給開關125。
如上文所述,對于圖像編碼設備51和圖像解碼設備101,提供了其中針對預測運動向量信息的碼數分配能夠改變的可變模式,因此針對預測運動向量信息的碼數分配可以改變。
因此,用戶或應用可以改變針對預測運動向量信息的碼數分配,使得提高編碼效率和主觀圖像質量。結果,可以提高編碼效率和主觀圖像質量,從而實現較高的編碼效率。
[圖像編碼設備的另一配置示例]
圖24圖示了用作圖像處理設備的圖像編碼設備的另一實施例的配置。
圖24中的圖像編碼設備151與圖7中的圖像編碼設備51的共同之處在于具有a/d轉換單元61、屏幕重排緩沖器62、計算單元63、正交變換單元64、量化單元65、存儲緩沖器67、逆量化單元68、逆正交變換單元69、計算單元70、解塊濾波器71、幀存儲器72、開關73、幀內預測單元74、運動預測/補償單元75、預測運動向量生成單元76、預測圖像選擇單元78、和速率控制單元79。再者,圖24中的圖像編碼設備151與圖7中的圖像編碼設備51的不同之處在于碼數分配單元77和無損編碼單元66已分別被碼數分配單元161和無損編碼單元162替換,并且已添加最優碼數分配確定單元。
就是說,對于圖7中的圖像編碼設備51,由用戶或應用設定作為預測運動向量信息和碼數之間的相關性的、針對每個預測運動向量信息的碼數分配。相反地,對于圖24中的圖像編碼設備151,生成對于當前圖片或切片可能的每個碼數分配信息。使用每個碼數分配信息生成關于當前圖片或切片的所有編碼信息(壓縮圖像),并且將這些信息臨時存儲在無損編碼單元162中。
這些編碼信息均被提供給最優碼數分配確定單元163。最優碼數分配確定單元163針對每個分配生成成本函數值,將值最小的碼數分配取作針對當前圖片或切片的最優分配,并且將該信息提供給無損編碼單元162。
在與存儲的每個碼數分配相關的編碼信息(壓縮圖像)中,無損編碼單元162僅向存儲緩沖器67輸出與最優分配相關的信息。
與該圖像編碼設備151對應的解碼側設備基本上具有與圖20中的圖像解碼設備101相同的配置,并且因此將省略其描述。
如上文所述,針對預測運動向量信息的碼數分配不限于由用戶或應用來設定,并且可以進行其中根據圖像編碼設備處的針對預測運動向量信息的碼數分配對最優碼數分配進行解碼的布置,以便提高編碼效率和主觀圖像質量。
注意,上文已進行了關于使用時間預測運動向量信息、空間預測運動向量信息和空間-時間預測運動向量信息作為候選預測運動向量信息的描述,但是毋庸置疑,其他預測運動向量信息也可以被用作候選者。
[預測運動向量信息]
盡管上文使用非專利文獻1中描述的方法作為預測運動向量信息生成方法的示例進行了描述,但是不限于此,可以應用例如如下方法。
例如,在上述非專利文獻1中說明的方法的情況下,作為用作候選者的預測運動向量信息的候選預測運動向量信息的數目越大,則處理量計算量越大。再者,對于當前的gop,例如提高諸如p圖片的參考圖片的圖像質量也提高了參考其的b圖片的圖像質量。
因此,可以進行如下布置:其中運動預測/補償單元75使用關于參考圖片(例如,p圖片等)的數目較大的候選運動向量信息來執行運動預測/補償(編碼處理)。再者,可以進行如下布置:其中運動預測/補償單元75使用關于未被參考的圖片(例如,b圖片等)的數目較小的候選運動向量信息來執行運動預測/補償(編碼處理),或者執行如同avc的運動向量編碼,而非執行諸如非專利文獻1中說明的處理。
例如,在處理另一圖片時對參考圖片編碼的情況下,較之處理另一圖片時對未被參考的圖片編碼的情況,使預測運動向量生成單元76生成較多的候選運動向量信息。就是說,在該情況下,最優預測運動向量選擇單元93從數目較大的候選運動向量信息中選擇最優預測運動向量信息。
再者,在處理另一圖片時對未被參考的圖片編碼的情況下,較之處理另一圖片時對參考圖片編碼的情況,使預測運動向量生成單元76生成較少的候選運動向量信息,或者替選地,如同avc生成單個預測運動向量信息。就是說,在該情況下,最優預測運動向量選擇單元93從數目較小的候選運動向量信息中選擇最優預測運動向量信息,或者將單個生成的預測運動向量信息取作最優預測運動向量信息。
因此,該圖像編碼設備可以通過較小的計算量提高編碼效率。
在該情況下,圖像編碼設備也在每個切片報頭或圖片參數集合中存儲關于使用哪個候選預測運動向量的信息(例如,這些信息被傳送到解碼設備側)。
[宏塊]
再者,在以上描述中,已針對16×16個像素的情況描述了宏塊尺寸,但是本技術也可以應用于擴展宏塊尺寸。
圖25是圖示擴展宏塊尺寸的示例的示圖。
在圖25中的上層,按左起的順序示出了被分成32×32個像素、32×16個像素、16×32個像素和16×16個像素的塊(分區)的、由32×32個像素構成的宏塊。在圖25中的中層,按左起的順序示出了被分成16×16個像素、16×8個像素、8×16個像素和8×8個像素的塊的、由16×16個像素構成的塊。再者,在圖25中的下層,按左起的順序示出了被分成8×8個像素、8×4個像素、4×8個像素和4×4個像素的塊的、由8×8個像素構成的塊。
換言之,32×32個像素的宏塊可以通過圖25中的上層示出的32×32個像素、32×16個像素、16×32個像素和16×16個像素的塊進行處理。
再者,上層右側示出的16×16個像素的塊可以按照與h.264/avc格式相同的方式,通過中層示出的16×16個像素、16×8個像素、8×16個像素和8×8個像素的塊進行處理。
此外,中層右側示出的8×8個像素的塊可以按照與h.264/avc格式相同的方式,通過下層示出的8×8個像素、8×4個像素、4×8個像素和4×4個像素的塊進行處理。
對于擴展宏塊尺寸,通過采用該分級結構,對于16×16像素塊或者更小的塊,在維持與h.264/avc格式的兼容性的同時,更大的塊被定義為其超集。
本技術也被應用于如上文提出的擴展宏塊尺寸。在將本技術也應用于擴展宏塊尺寸的情況下,例如在正常宏塊和擴展宏塊之間將不同的碼數分配給預測運動向量信息,例如正常宏塊由16×16個像素構成,并且擴展宏塊由32×32個像素構成。
到目前為止以h.264/avc格式為基礎用作編碼格式進行了描述,但是不限于此。就是說,本技術可以應用于執行運動預測/補償并且進一步使用多個預測運動向量信息用于運動向量信息的編碼的其他編碼格式/解碼格式。
[編碼單位]
現今,16×16個像素的宏塊尺寸對于將由下一代編碼格式處置的諸如uhd(超高分辨率;4000×2000個像素)的大圖像幀不是最優的。
因此,用作itu-t(國際電信聯盟遠程通信標準化組織)和iso(國際標準組織)/iec之間的標準化協作組織的jctvc(聯合協作團隊視頻編碼)當前已推進被稱為hevc(高效視頻編碼)的編碼格式的標準化,其目標在于進一步提高編碼效率。
對于avc,如圖2中所示,規定了宏塊和子宏塊的分級結構,如圖31中所示,對于hevc規定了編碼單位(cu(codingunit))。
編碼單位(cu)還被稱為編碼樹塊(ctb),并且作為圖像的圖片增量中的部分區域,承擔與avc中的宏塊相同的任務。后者被固定到16×16個像素的尺寸,而前者的尺寸不是固定的,并且在各個序列中的圖像壓縮信息內指定。
例如,在待輸出的編碼數據中包括的序列參數集合中規定了具有最大尺寸的cu(lcu(最大編碼單位))和具有最小尺寸的cu(scu(最小編碼單位))。
在每個lcu中,在不小于scu的尺寸的范圍內通過設定split_flag=1,可以劃分成較小尺寸的cu。在圖31中的示例中,lcu的尺寸是128,并且最大分級深度是5。當split_flag的值是"1"時,具有2n×2n的尺寸的cu被分成具有n×n的尺寸的cu,該具有n×n的尺寸的cu變為降一級的層級水平。
此外,cu被分成作為用作幀內或幀間預測增量的區域的預測單位(predictionunit(pu)),并且還被分成用作作為正交變換的處理增量的區域(圖像的圖片增量中的部分區域)的變換單位(transformunit(tu))。當前,對于hevc編碼格式,除了4×4和8×8之外,可以采用16×16和32×32正交變換。
如同上述hevc,在其中定義cu并且cu用作執行各種類型的處理的增量的編碼格式的情況下,avc中的宏塊可以被視為等同于lcu。然而,注意,cu具有如圖31中所示的分級結構,因此最高分級層級的lcu的尺寸通常被設定為例如大于avc宏塊,諸如128×128個像素。
本技術還可以應用于使用這些cu、pu、tu等而非宏塊的編碼格式。就是說,預測處理的處理增量可以是可選的區域。
再者,碼數的切換控制可以被布置為按可選的處理增量執行,并且可以針對諸如cu、pu等的預測處理單位的每個區域執行,而非僅針對序列、圖片和切片執行。在該情況下,根據待處理區域的運動特征,更具體地,根據待處理區域(當前區域)是由靜止圖像構成的區域(靜止區域)還是由移動物體的圖像構成的區域(移動區域),來控制該區域中的針對預測運動向量信息的碼數分配的方式。就是說,在該情況下,對于每個區域區分是否是靜止區域。
[圖像編碼設備]
圖32是圖示該情況下的圖像編碼設備的主要配置示例的框圖。
圖32中示出的圖像編碼設備700具有與圖7中的圖像編碼設備51基本上相同的配置,并且對圖像數據編碼。如參照圖31描述的,假設圖像編碼設備700針對每個預測單位(pu)執行幀間處理。
如圖32中所示,圖像編碼設備700由a/d轉換單元701、屏幕重排緩沖器702、計算單元703、正交變換單元704、量化單元705、無損編碼單元706和存儲緩沖器707構成。再者,圖像編碼設備700具有逆量化單元708、逆正交變換單元709、計算單元710、環路濾波器711、幀存儲器712、選擇單元713、幀內預測單元714、運動預測/補償單元715、預測圖像選擇單元716、和速率控制單元717。
圖像編碼設備700進一步具有靜止區域確定單元721和運動向量編碼單元722。
a/d轉換單元701執行輸入圖像的a/d轉換,并且將轉換之后的圖像數據(數字數據)提供給屏幕重排緩沖器702用于存儲。屏幕重排緩沖器702根據gop將以顯示的順序存儲的幀的圖像重新排列成用于編碼的幀順序,并且將幀順序已被重新排列的圖像提供給計算單元703。再者,屏幕重排緩沖器702將幀順序已被重新排列的圖像提供給幀內預測單元714和運動預測/補償單元715。
計算單元703從自屏幕重排緩沖器702讀出的圖像中減去經由預測圖像選擇單元716的從幀內預測單元714或運動預測/補償單元715提供的預測圖像,并且將它們的差信息輸出到正交變換單元704。
例如,在將對其執行幀間編碼的圖像的情況下,計算單元703從自屏幕重排緩沖器702讀出的圖像中減去從運動預測/補償單元715提供的預測圖像。
正交變換單元704使來自計算單元703的差信息經歷諸如離散余弦變換、karhunen-loéve變換等的正交變換。這里的正交變換方法是可選的。正交變換單元704將其變換系數輸出到量化單元705。
量化單元705對從正交變換單元704提供的變換系數進行量化。量化單元705設定關于從速率控制單元717提供的碼量的目標值的量化參數,并且執行量化。注意,用于該量化的方法是可選的。量化單元705將量化的變換系數提供給無損編碼單元706。
無損編碼單元706通過可選的編碼方法對在量化單元705處量化的變換系數進行編碼。在速率控制單元717的控制下對系數數據進行量化,并且因此其碼量是由速率控制單元717設定的目標值(或者接近目標值)。
再者,無損編碼單元706從幀內預測單元714獲得指示幀內預測的信息,并且從運動預測/補償單元715獲取指示幀間預測模式等的信息。此外,無損編碼單元706獲得在環路濾波器711處使用的濾波器系數等。
無損編碼單元706對這些各種類型的信息進行編碼,并且將這些取作編碼數據的報頭信息的一部分(復用)。無損編碼單元706將編碼數據提供給存儲緩沖器707用于存儲。
對于無損編碼單元706,無損編碼處理的示例包括諸如可變長度編碼、算術編碼等。可變長度編碼的示例包括h.264/avc格式規定的cavlc(上下文自適應可變長度編碼)等。算術編碼的示例包括cabac(上下文自適應二值算術編碼)等。
存儲緩沖器707臨時保存從無損編碼單元706提供的編碼數據。存儲緩沖器707將其中保存的數據輸出到例如在圖中未示出的下游的存儲設備(記錄介質)或傳送路徑等。
再者,從量化單元705輸出的量化的變換系數還被輸入到逆量化單元708。逆量化單元708利用與量化單元705的量化對應的方法,執行量化的變換系數的逆量化。任何方法將足以用于該逆量化方法,只要與量化單元705的量化處理對應。逆量化單元708將獲得的變換系數提供給逆正交變換單元709。
逆正交變換單元709利用與正交變換單元704的正交變換處理對應的方法,執行從逆量化單元708提供的變換系數的逆正交變換。任何方法將足以用于該逆正交變換方法,只要與正交變換單元704的正交變換處理對應。經歷逆正交變換的輸出(恢復的差信息)被提供給計算單元710。
計算單元710使從逆正交變換單元709提供的逆正交變換結果,即恢復的差信息,與經由預測圖像選擇單元716從幀內預測單元714或運動預測/補償單元715提供的預測圖像相加,以便獲得局部解碼圖像(解碼圖像)。解碼圖像被提供給環路濾波器711或幀存儲器712。
環路濾波器711包括解塊濾波器和自適應環路濾波器等,并且對從計算單元710提供的解碼圖像執行適當的濾波處理。例如,環路濾波器711通過對解碼圖像執行解塊濾波器處理來去除解碼圖像的塊噪聲。再者,例如,環路濾波器711通過使用wiener濾波器(wienerfilter)執行環路濾波器處理來對解塊濾波器處理結果(經歷塊噪聲去除的解碼圖像)執行圖像質量提高。
注意,可以進行如下布置:其中環路濾波器711對解碼圖像執行可選的濾波器處理。再者,可以進行如下布置:其中環路濾波器711按照需要向無損編碼單元706提供濾波器處理中使用的諸如濾波器系數等的信息,以便對其編碼。
環路濾波器711向幀存儲器712提供濾波器處理結果(濾波器處理之后的解碼圖像)。注意,如上文所述,從計算單元710輸出的解碼圖像可以被提供給幀存儲器712而不通過環路濾波器711。就是說,可以省略環路濾波器711的濾波器處理。
幀存儲器712存儲提供給其的圖像,并且在預定的定時將所存儲的解碼圖像提供給選擇單元713作為參考圖像。
選擇單元713選擇從幀存儲器712提供的參考圖像的提供目標。例如,在幀間預測的情況下,選擇單元713將從幀存儲器712提供的參考圖像提供給運動預測/補償單元715。
幀內預測單元714使用作為經由選擇單元713從幀存儲器712提供的參考圖像的待處理圖片內的像素值,基本上按pu的處理增量執行幀內預測(屏幕內預測)以生成預測圖像。幀內預測單元714在預先準備的多個模式(幀內預測模式)中執行該幀內預測。幀內預測單元714不限于avc編碼格式規定的模式,并且也可以利用其他可選的模式來執行該幀內預測。
幀內預測單元714在所有候選幀內預測模式中生成預測圖像,使用從屏幕重排緩沖器702提供的輸入圖像來評估預測圖像的成本函數值,并且選擇最優模式。在選擇最優幀內預測模式之后,幀內預測單元714將利用該最優模式生成的預測圖像提供給預測圖像選擇單元716。
再者,如上文所述,幀內預測單元714向無損編碼單元706適當地提供指示已被采用的幀內預測模式的幀內預測模式信息等。
運動預測/補償單元715使用從屏幕重排緩沖器702提供的輸入圖像以及經由選擇單元713從幀存儲器712提供的參考圖像,基本上按pu的處理增量執行運動預測(幀間預測),并且根據檢測到的運動向量執行運動補償處理,從而生成預測圖像(幀間預測圖像信息)。運動預測/補償單元715在預先準備的多個模式(幀間預測模式)中執行該幀間預測。運動預測/補償單元715不限于avc編碼格式規定的模式,并且也可以利用其他可選的模式執行該幀間預測。
運動預測/補償單元715在所有候選幀間預測模式中生成預測圖像,評估預測圖像的成本函數值,并且選擇最優模式。在選擇最優幀間預測模式之后,運動預測/補償單元715將在該最優模式中生成的預測圖像提供給預測圖像選擇單元716。
運動預測/補償單元715向無損編碼單元706提供指示已被采用的幀間預測模式的信息,以及在對編碼數據解碼時在該幀間預測模式中執行處理所需的信息等,以便進行編碼。
預測圖像選擇單元716選擇將提供給計算單元703和710的預測圖像的提供源。例如,在幀間編碼的情況下,預測圖像選擇單元716選擇運動預測/補償單元715作為預測圖像的提供源,并且將從運動預測/補償單元715提供的預測圖像提供給計算單元703和710。
速率控制單元717基于在存儲緩沖器707中存儲的編碼數據的碼量,控制量化單元705的量化操作的速率,使得不致發生上溢或下溢。
靜止區域確定單元721區分當前區域是否是靜止區域(靜止區域確定)。靜止區域確定單元721向運動向量編碼單元722提供關于是否是靜止區域的確定結果。
運動向量編碼單元722基于從靜止區域確定單元721提供的關于是否是靜止區域的確定結果,在mv競爭模式中控制針對預測運動向量信息的碼數分配。
更具體地,運動向量編碼單元722使用當前區域的外圍區域的運動信息來生成關于所有幀間預測模式的所有預測運動向量信息,并且利用基于靜止區域確定結果的方法為每個生成的預測運動向量信息分配碼數。此外,運動向量編碼單元722確定最優預測運動向量信息,并且生成最優預測運動向量信息和當前區域的運動信息(運動向量)之間的差(差運動信息)。運動向量編碼單元722將生成的差運動信息和預測運動向量信息的碼數提供給運動預測/補償單元715。
[靜止區域確定和碼數分配]
首先,將更詳細地碼數靜止區域確定單元721的靜止區域確定。
如圖33中所示,例如,在處理當前區域時,使用關于已被處理的參考圖片上的并置區域的運動信息(已被計算的運動信息)來執行靜止區域確定單元721的靜止區域確定。在圖33的情況下,當前區域是在圖33中的右側示出的pucurr,并且其并置區域是在圖33中的左側示出的參考圖片的pucol。靜止區域確定單元721使用作為該并置區域pucurr的運動向量信息的水平分量和豎直分量的(mvhcol,mvvcol),來執行當前區域pucurr的靜止區域確定
就是說,在其中下式(17)和式(18)成立,并且以θ為閾值,式(19)也成立的情況下,在其中應用ref_picr_reordering(參考圖片重新排序)的情況下,或者在其中參考索引refcol具有指示緊鄰的先前圖片的poc值的情況下,靜止區域確定單元721將當前區域pucurr確定為靜止區域。
|mvhcol|≤θ...(17)
|mvvcol|≤θ...(18)
refcol=0...(19)
通過在式(19)中為0的參考索引refcol的值,靜止區域確定單元721確定參考圖片中的并置區域的參考區域pucol幾乎毫無疑問地由靜止圖像構成。再者,如果輸入圖像和參考圖像兩者自身均為沒有編碼失真的原始圖像,則式(17)和式(18)中的θ的值應為0。然而,事實上,盡管輸入圖像自身是原始圖像,但是參考圖像是解碼圖像并且通常包括編碼失真。因此,即使在靜止圖像的情況下,0作為θ的值不一定適當。
因此,在運動向量具有1/4像素精度的情況下,靜止區域確定單元721設定θ=4。就是說,在運動向量的精度在整數像素精度的1.0內時,靜止區域確定單元721確定這是靜止區域。
接下來,將更詳細地描述運動向量編碼單元722的針對預測運動向量信息的碼數分配。在下文中,假設預測單位pux的運動向量信息是mvpux。
非專利文獻1和joeljung、guillaumelaroche的"competition-basedschemeformotionvectorselectionandcoding",vceg-ac06,itu-telecommunicationsstandardizationsectorstudygroup16question6videocodingexpertsgroup(vceg)29thmeeting:klagenfurt,austria,17-18july,2006(以下稱為非專利文獻2)提出了一種如下方法:除了通過上述式(5)獲得的空間預測運動向量信息(空間預測器)之外,自適應地使用參照圖6描述的時間預測運動向量信息(時間預測器)和空間-時間預測運動向量信息(空間-時間預測器)中的一個作為預測運動向量信息。
對于非專利文獻2,最大碼數被分配給時間預測運動向量信息(時間預測器)。就是說,在該方法的情況下,對于碼數(codenumber)“y”為pmvy的預測運動向量信息,在圖33中的示例的情況下,如同下式(20)至(23)那樣分配碼數。
pmv0=mvpua...(20)
pmv1=mvpub...(21)
pmv2=mvpuc...(22)
pmv3=mvpucol...(23)
如上文所述,在通過rd最優化執行模式確定的情況下,具有分配給其的較小碼數的模式較易于被選擇,特別是具有較低的位率,并且因此,對于非專利文獻2中描述的方法,在移動區域和靜止區域之間將容易觀察到劣化。
就是說,如上文參照圖13描述的,存在如下考慮:在與移動區域相鄰的靜止區域中在空間方向上使用運動相關性將導致移動區域的運動向量信息傳播到靜止區域并且引起圖像質量劣化。然而,對于非專利文獻2中描述的方法,易于被選擇的小的碼數總是被分配給空間預測運動向量信息(空間預測器),因此在移動區域和靜止區域之間將容易觀察到劣化。
如上文所述,運動向量編碼單元722還使用待處理的當前區域的外圍區域的運動信息。在圖33中的示例的情況下,當前圖片的pucurr是當前區域,pua、pub和puc是在空間上位于當前區域外圍的區域,并且pucol是在時間上位于當前區域外圍的區域。
在下文中,因此在空間或時間上(空間-時間)處于外圍的區域將被稱為外圍區域。就是說,將pua、pub和puc稱為pucurr的空間外圍區域,并且將pucol稱為pucurr的時間外圍區域。
運動向量編碼單元722將碼數分配給這些外圍區域的運動信息,并且此時,控制根據靜止區域確定結果分配碼數的方式。更具體地,在其中上述式(17)和式(18)成立,并且式(19)也成立的情況下,在其中應用ref_picr_reordering的情況下,或者在其中參考索引refcol具有指示緊鄰的先前圖片的poc值的情況下,在靜止區域確定中靜止區域確定單元721如下式(24)至(27)中的那樣改變碼數分配。
pmv0=mvpucol...(24)
pmv1=mvpua...(25)
pmv2=mvpub...(26)
pmv3=mvpuc...(27)
就是說,對于靜止區域,將最小碼數分配給時間預測運動向量信息(時間預測器),以便抑制移動區域中的運動向量的傳播。因此,運動向量編碼單元722可以提高預測運動向量信息的預測精度,并且可以提高編碼效率。
注意,靜止區域確定單元721仍針對每個預測單位執行區域確定,因此運動向量編碼單元722在靜止區域確定單元721的確定之后執行碼數分配使得進一步提高了預測運動向量信息的預測精度,并且使得進一步提高了編碼效率。
注意,在確定為靜止區域的情況下分配碼數的方式可以不同于式(24)至(27)。就是說,在確定靜止區域的情況下,至少較之確定由移動物體的圖像構成的移動區域的情況,向時間預測運動向量信息(時間預測器)分配較小的碼數是足夠的。例如,運動向量編碼單元722可以向mvpucol分配pmv1或pmv2。
再者,可以進行如下布置:運動向量編碼單元722可以根據靜止區域確定的精度(準確性)改變將分配的碼數。例如,可以進行如下布置:其中靜止區域確定是軟確定,并且準確性越高,則運動向量編碼單元722分配的碼數越小。
此外,上文針對pua、pub、puc和pucol作為向其分配碼數的外圍區域的示例進行了描述,但是可以進行如下布置:其中其他可選的區域是外圍區域,并且也針對這些外圍區域的運動向量信息執行碼數分配。就是說,不僅針對其執行碼數分配的外圍區域的位置是可選的,而且其數目(即,將分配的碼數的數目)也是可選的。
再者,上文已描述了:向空間預測運動向量信息(空間預測器)分配較小的碼數的方式是初始狀態,并且在靜止區域確定單元721確定當前區域是靜止區域的情況下,分配方式改變以便向時間預測運動向量信息(時間預測器)分配較小的碼數,然而,不限于此,可以進行如下布置:其中向時間預測運動向量信息(時間預測器)分配較小的碼數的方式是初始狀態,并且在靜止區域確定單元721確定當前區域是靜止區域的情況下,分配方式改變以便向空間預測運動向量信息(空間預測器)分配較小的碼數。
再者,上文已描述了:在靜止區域確定單元721確定當前區域是靜止區域的情況下,運動向量編碼單元722向時間預測運動向量信息(時間預測器)分配較小的碼數,但是可以進行如下布置:其中時間預測運動向量信息(時間預測器)被強制地選擇為預測運動向量信息(僅時間預測運動向量信息(mvpucol)被生成作為候選預測運動向量信息)。
因此,運動向量編碼單元722可以以更確定的方式將時間預測運動向量信息(時間預測器)選擇為靜止區域的預測運動向量信息。因此,運動向量編碼單元722可以以更確定的方式抑制移動區域中的運動向量傳播到靜止區域。然而,在存在在靜止區域確定中出現錯誤終止的可能性的情況下,優選地使用成本函數值等以傳統方式選擇預測運動向量信息。
再者,上文以pua、pub和puc作為pucurr的空間外圍區域,并且以pucol作為pucurr的時間外圍區域進行了描述,但是空間外圍區域和時間外圍區域不限于此,并且可以是任何區域,只要在將當前區域取作處理對象時已生成了運動信息。
[運動預測/補償單元、靜止區域確定單元和運動向量編碼單元]
圖34是圖示運動預測/補償單元715、靜止區域確定單元721和運動向量編碼單元722的主要配置示例的框圖。
如圖34中所示,運動預測/補償單元715具有運動搜索單元731、成本函數計算單元732、模式確定單元733、運動補償單元734和運動信息緩沖器735。
再者,運動向量編碼單元722具有碼數分配單元741、預測運動向量生成單元742和差運動向量生成單元743。
運動搜索單元731接收來自屏幕重排緩沖器702的輸入圖像像素值和來自幀存儲器712的參考圖像像素值的輸入。運動搜索單元731對所有幀間預測模式執行運動搜索處理,并且生成包括運動向量和參考索引的運動信息。運動搜索單元731將運動信息提供給運動向量編碼單元722的預測運動向量生成單元742。
再者,靜止區域確定單元721獲得作為運動預測/補償單元715的運動信息緩沖器735中存儲的外圍區域的運動信息的外圍運動信息,并且根據外圍運動信息確定待處理區域(當前區域)是否是靜止區域。
例如,對于時間外圍區域pucol,在其中上述式(17)和式(18)成立,并且式(19)也成立的情況下,在其中應用ref_picr_reordering的情況下,或者在其中參考索引refcol具有指示緊鄰的先前圖片的poc值的情況下,靜止區域確定單元721確定當前區域pucurr是靜止區域。靜止區域確定單元721將該靜止區域確定結果提供給運動向量編碼單元722的碼數分配單元741。
運動向量編碼單元722的碼數分配單元741從運動預測/補償單元715的運動信息緩沖器735獲得外圍運動信息,并且還從靜止區域確定單元721獲得靜止區域確定結果。碼數分配單元741確定針對每個相鄰運動信息分配碼數的方式,并且將該分配方式提供給預測運動向量生成單元742,其控制碼數分配控制信號。
在從運動搜索單元731獲得關于當前pu的每個幀間預測模式的運動信息之后,預測運動向量生成單元742從運動信息緩沖器735獲得與每個運動信息對應的外圍運動信息。如非專利文獻2中所述,預測運動向量生成單元742使用該外圍運動信息生成多個候選預測運動向量信息。然而,注意,不同于非專利文獻2中描述的方法,碼數分配單元741設定的碼數被分配給每個預測運動向量信息。
就是說,預測運動向量生成單元742根據上述式(5)針對當前pu生成空間預測運動向量信息(空間預測器)。再者,預測運動向量生成單元742根據上述式(9)針對當前pu生成時間預測運動向量信息(時間預測器)。此外,預測運動向量生成單元742根據上述式(10)針對當前pu生成空間-時間預測運動向量信息(空間-時間預測器)。預測運動向量生成單元742將碼數分配單元741設定的碼數分配給每個獲得的預測運動向量信息。
預測運動向量生成單元742隨后將從運動搜索單元731獲得的運動信息、每個生成的候選預測運動向量信息以及分別分配給每個預測運動向量信息的碼數,提供給差運動向量生成單元743。
差運動向量生成單元743針對每個幀間預測模式,從提供給其的預測運動向量信息中選擇最優的一個,并且生成差運動向量信息,其包括運動向量信息及其預測運動向量信息之間的差值。差運動向量生成單元743將在每個幀間預測模式中生成的差運動向量信息、所選擇的幀間預測模式的預測運動向量信息及其碼數,提供給成本函數計算單元732或運動預測/補償單元715。
再者,運動搜索單元731使用搜索的運動向量信息來對參考圖像執行補償處理,并且因此生成預測圖像。此外,運動搜索單元731計算預測圖像和輸入圖像之間的差(差像素值),并且將差像素值提供給成本函數計算單元732。
成本函數計算單元732使用從運動搜索單元731提供的每個幀間預測模式的差像素值,并且計算每個幀間預測模式中的成本函數值。成本函數計算單元732將已計算的每個幀間預測模式中的成本函數值、每個幀間預測模式中的差運動信息、每個幀間預測模式中的預測運動向量信息及其碼數,提供給模式確定單元733。
模式確定單元733使用關于幀間預測模式的成本函數值來確定使用哪個幀間預測模式,并且將具有最小成本函數值的幀間預測模式取作最優預測模式。模式確定單元733將作為與其最優預測模式相關的信息的最優模式信息以及被選擇為最優預測模式的幀間預測模式的差運動信息、預測向量信息和碼數,提供給運動補償單元734。
運動補償單元734從所提供的最優預測模式的差運動信息和預測運動向量信息獲得運動向量,并且使用獲得的運動向量執行來自幀存儲器712的參考圖像的補償,從而生成最優預測模式的預測圖像。
在預測圖像選擇單元716已選擇幀間預測的情況下,從預測圖像選擇單元716提供指示這一點的信號。作為對其的響應,運動補償單元734將最優預測模式信息、該模式的差運動向量信息、還有該模式的預測運動向量信息的碼數,提供給無損編碼單元706。
再者,運動補償單元734在運動信息緩沖器735中存儲從被選擇為最優預測模式的模式的差運動向量信息和預測運動向量信息獲得的信息,即,最優預測模式的運動信息。注意,在預測圖像選擇單元716未選擇幀間預測的情況下(即,在選擇幀內預測圖像的情況下),在運動信息緩沖器735中存儲0向量作為運動向量信息。
運動信息緩沖器735存儲過去處理的區域的最優預測模式的運動信息。在針對在處理時間上晚于該區域的區域的處理中,所存儲的運動信息作為外圍運動信息,被提供給靜止區域確定單元721、碼數分配單元741和預測運動向量生成單元742。
如上文所述,靜止區域確定單元721針對每個預測處理單位,執行是否是靜止區域的確定。運動向量編碼單元722隨后基于靜止區域確定結果控制碼數分配,并且在靜止區域的情況下,向時間預測運動向量信息(時間預測器)分配最小碼數。運動預測/補償單元715隨后對運動向量編碼單元722生成的差運動信息和預測運動向量信息的碼數進行編碼。因此,圖像編碼設備700可以提高預測運動向量信息的預測精度,并且可以提高編碼效率。
[處理流程]
接下來,將描述圖像編碼設備700處執行的處理流程。基本上按照與參照圖16和圖17描述的流程圖相同的方式執行編碼處理和幀內預測處理。就是說,執行與圖像編碼設備51執行處理的情況相同的處理。因此,將省略這些處理的描述。
接下來,將參照圖35中的流程圖描述圖16的步驟s22中執行的幀間運動預測處理的示例。
在步驟s701中開始幀間運動預測處理之后,在該情況下,運動搜索單元731執行關于每個幀間預測模式的運動搜索,并且生成運動信息和差像素值。
在步驟s702中,靜止區域確定單元721獲得作為時間外圍區域的并置區域的運動信息。在步驟s703中,靜止區域確定單元721基于并置區域的運動信息確定當前區域是否是靜止區域。
在步驟s704中,碼數分配單元741根據靜止區域確定結果確定針對預測運動向量信息的碼數分配。
在步驟s705中,預測運動向量生成單元742生成所有候選預測運動向量信息。
在步驟s706中,差運動向量生成單元743確定關于每個幀間預測模式的最優預測運動向量信息。再者,差運動向量生成單元743生成包括差運動向量的差運動信息,其是預測運動向量信息和運動信息的運動向量之間的差。
在步驟s707中,成本函數計算單元732計算每個幀間預測模式的成本函數值。
在步驟s708中,模式確定單元733使用在步驟s707中計算的成本函數值,確定作為最優幀間預測模式的最優幀間預測模式(還被稱為最優預測模式)。
在步驟s709中,運動補償單元734在最優幀間預測模式中執行運動補償。在步驟s710中,運動補償單元734經由預測圖像選擇單元716將在步驟s709中通過運動補償獲得的預測圖像提供給計算單元703和計算單元710,并且生成差圖像信息和解碼圖像。再者,在步驟s711中,運動補償單元734將諸如最優預測模式信息的關于最優幀間預測模式的信息、差運動信息和預測運動向量信息的碼數等,提供給無損編碼單元706,以便進行編碼。
在步驟s712中,運動信息緩沖器735存儲在最優幀間預測模式中選擇的運動信息。在存儲運動信息之后,運動信息緩沖器735結束幀間運動預測處理。
通過執行上述處理,圖像編碼設備700可以提高預測運動向量信息的預測精度,并且可以提高編碼效率。
[圖像解碼設備]
圖36是圖示與圖32中的圖像編碼設備700對應的圖像解碼設備的主要配置示例的框圖。
圖36中所示的圖像解碼設備800具有與圖20中的圖像解碼設備101基本上相同的配置。圖像解碼設備800通過與圖像編碼設備700的編碼方法對應的解碼方法,對圖像編碼設備700生成的編碼數據進行解碼。再者,假設圖像解碼設備800按照與圖像編碼設備700相同的方式,針對每個預測單位(pu)執行幀間預測。
如圖36中所示,圖像解碼設備800包括存儲緩沖器801、無損解碼單元802、逆量化單元803、逆正交變換單元804、計算單元805、環路濾波器806、屏幕重排緩沖器807以及d/a轉換單元808。再者,圖像解碼設備800包括幀存儲器809、選擇單元810、幀內預測單元811、運動預測/補償單元812和選擇單元813。
此外,圖像解碼設備800包括靜止區域確定單元821和運動向量解碼單元822。
存儲緩沖器801存儲傳送給其的編碼數據,并且在預定的定時將編碼數據提供給無損解碼單元802。無損解碼單元802通過與圖32中的無損編碼單元706的編碼格式對應的格式,對存儲緩沖器801提供的無損編碼單元706已編碼的信息進行解碼。無損解碼單元802將通過解碼獲得的差圖像的量化系數數據提供給逆量化單元803。再者,無損解碼單元802確定對于最優預測模式已選擇幀內預測模式還是已選擇幀間預測模式,并且將關于該最優模式的信息提供給已確定被選擇的模式的幀內預測單元811和運動預測/補償單元812中的一個。
就是說,例如,在幀間預測模式已在圖像編碼設備700處被選擇為最優預測模式的情況下,關于最優預測模式的信息被提供給運動預測/補償單元812。
逆量化單元803利用與圖32中的量化單元705的量化格式對應的格式,執行通過無損解碼單元802的解碼獲得的量化系數數據的逆量化,并且將獲得的系數數據提供給逆正交變換單元804。
逆正交變換單元804利用與圖32中的正交變換單元704的正交變換格式對應的格式,對從逆量化單元803提供的系數數據執行逆正交變換。逆正交變換單元804通過該逆正交變換處理,獲得了與在圖像編碼設備700處經歷正交變換之前的殘差數據對應的解碼殘差數據。
通過經歷正交變換獲得的殘差數據被提供給計算單元805。再者,經由選擇單元813,從幀內預測單元811或者運動預測/補償單元812將預測圖像提供給計算單元805。
計算單元805使解碼殘差數據和預測圖像相加,以便獲得與圖像編碼設備700的計算單元703減去預測圖像之前的圖像數據對應的解碼圖像數據。計算單元805將解碼圖像數據提供給環路濾波器806。
環路濾波器806使所提供的解碼圖像適當地經歷解塊濾波器處理和包括自適應環路濾波器處理等的環路濾波器處理,并且將這些提供給屏幕重排緩沖器807。
環路濾波器806包括解塊濾波器和自適應環路濾波器等,并且對從計算單元705提供的解碼圖像適當地執行濾波處理。例如,環路濾波器806通過對解碼圖像執行解塊濾波器處理來去除解碼圖像的塊噪聲。再者,例如,環路濾波器806通過使用wiener濾波器(wienerfilter)執行環路濾波器處理來對解塊濾波器處理結果(經歷塊噪聲去除的解碼圖像)執行圖像質量提高。
注意,可以進行如下布置:其中環路濾波器806對解碼圖像執行可選的濾波器處理。再者,可以進行如下布置:其中環路濾波器806使用從圖32中的圖像編碼設備700提供的濾波器系數來執行濾波器處理。
環路濾波器806將濾波器處理結果(濾波器處理之后的解碼圖像)提供給屏幕重排緩沖器807和幀存儲器809。注意,從計算單元805輸出的解碼圖像可以被提供給屏幕重排緩沖器807和幀存儲器809而不通過環路濾波器806。就是說,可以省略環路濾波器806的濾波器處理。
屏幕重排緩沖器807重新排列圖像。就是說,由圖32中的屏幕重排緩沖器702針對編碼序列重新排列的的幀序列被重新排列成原始顯示序列。d/a轉換單元808執行從屏幕重排緩沖器807提供的圖像的d/a轉換,并且輸出到未示出的顯示器用于顯示。
幀存儲器809存儲提供給其的解碼圖像,并且在預定的定時或者基于來自幀內預測單元811或運動預測/補償單元812等的外部請求,將所存儲的解碼圖像作為參考圖像提供給選擇單元810。
選擇單元810選擇從幀存儲器809提供的參考圖像的提供目標。在對經歷幀內編碼的圖像解碼的情況下,選擇單元810將從幀存儲器809提供的參考圖像提供給幀內預測單元811。再者,在對經歷幀間編碼的圖像解碼的情況下,選擇單元810將從幀存儲器809提供的參考圖像提供給運動預測/補償單元812。
從無損解碼單元802向幀內預測單元811提供通過對報頭信息解碼獲得的指示幀內預測模式的信息。幀內預測單元811使用在圖32中的幀內預測單元714處在幀內預測模式中使用的從幀存儲器809獲得的參考圖像來執行幀內預測,從而生成預測圖像。幀內預測單元811將所生成的預測圖像提供給選擇單元813。
運動預測/補償單元812獲得通過對來自無損解碼單元802的報頭信息(最優預測模式信息、差信息和預測運動向量信息的碼數等)解碼而獲得的信息。
運動預測/補償單元812在圖32中的運動預測/補償單元715使用的相同的幀間預測模式中,使用從幀存儲器809獲得的參考圖像來執行幀間預測,因此生成預測圖像。就是說,運動預測/補償單元812可以按照與圖32中的運動預測/補償單元715相同的方式,在除了avc編碼格式規定的模式以外的可選模式中執行該幀間預測。
靜止區域確定單元821執行與靜止區域確定單元721基本上相同的處理,并且確定當前區域是否是靜止區域。就是說,在其中式(17)和式(18)成立,并且式(19)也成立的情況下,在其中應用ref_picr_reordering的情況下,或者在其中參考索引refcol具有指示緊鄰的先前圖片的poc值的情況下,根據當前區域的并置區域的運動信息,靜止區域確定單元821將當前區域pucurr確定為靜止區域。
靜止區域確定單元821按預測處理單位執行該靜止區域確定,并且將靜止區域確定結果提供給運動向量解碼單元822。
運動向量解碼單元822依據從靜止區域確定單元821提供的靜止區域確定結果來控制將碼數分配給預測運動向量信息的方式,在該控制下分析從運動預測/補償單元812提供的預測運動向量信息的碼數,并且重建預測運動向量信息。
就是說,通過利用與圖32的靜止區域確定單元721相同的方法,依據靜止區域確定單元821確定的靜止區域確定結果來控制碼數分配方式,運動向量解碼單元822可以正確地復制圖32中的運動向量編碼單元722的分配碼數的方式。因此,通過正確地復制運動向量編碼單元722的分配碼數的方式,運動向量解碼單元822可以正確地分析從圖像編碼設備700提供的預測運動向量信息的碼數,并且正確地重建預測運動向量信息。
運動向量解碼單元822將重建的預測運動向量信息提供給運動預測/補償單元812。運動預測/補償單元812使用該預測運動向量信息重建運動向量信息,使用該運動向量信息執行運動補償,并且因此生成預測圖像。運動預測/補償單元812將生成的預測圖像提供給選擇單元813。
選擇單元813選擇提供給計算單元805的預測圖像的提供源。就是說,選擇單元813將運動預測/補償單元812或幀內預測單元811生成的預測圖像提供給計算單元805。
因此,通過基于靜止區域確定單元821按預測處理單位的靜止區域確定的確定結果來控制分配給預測運動向量信息的碼數,運動向量解碼單元822可以正確地復制在圖像編碼設備700處分配碼數的方式。因此,運動向量解碼單元822可以正確地分析從圖像編碼設備700提供的預測運動向量信息的碼數,并且正確地重建預測運動向量信息。
因此,圖像解碼設備800可以正確地對圖像編碼設備700已編碼的編碼數據進行解碼,并且實現編碼效率的提高。
[運動預測/補償單元、靜止區域確定單元和運動向量解碼單元]
圖37是圖示運動預測/補償單元812、靜止區域確定單元821和運動向量解碼單元822的主要配置示例的框圖。
如圖37中所示,運動預測/補償單元812具有差運動信息緩沖器831、預測運動向量信息緩沖器832、運動信息重建單元833、運動補償單元834和運動信息緩沖器835。
再者,運動向量解碼單元822具有碼數分配單元841和預測運動向量重建單元842。
差運動信息緩沖器831存儲從無損解碼單元802提供的差運動信息。該差運動信息是從圖像編碼設備700提供的、被選擇為最優預測模式的幀間預測模式的差運動信息。差運動信息緩沖器831在預定的定時或者基于來自運動信息重建單元833的外部請求,將所存儲的差運動信息提供給運動信息重建單元833。
預測運動向量信息緩沖器832存儲從無損解碼單元802提供的預測運動向量信息。已從圖像編碼設備700提供該預測運動向量信息的碼數,并且該碼數是分配給被選擇為最優預測模式的幀間預測模式的預測運動向量信息的碼數。預測運動向量信息緩沖器832在預定的定時或者基于來自預測運動向量重建單元842的外部請求,將所存儲的預測運動向量信息的碼數提供給運動向量解碼單元822的預測運動向量重建單元842。
再者,靜止區域確定單元821針對預測處理單位中的每個區域,從運動信息緩沖器835獲得并置區域的運動信息,并且執行靜止區域確定。靜止區域確定單元921將確定結果(靜止區域確定結果)提供給運動向量解碼單元822的碼數分配單元841。
運動向量解碼單元822的碼數分配單元841依據從靜止區域確定單元921提供的靜止區域確定結果,針對預測處理單位中的每個區域,控制碼數分配方式,并且將碼數分配控制信號提供給預測運動向量重建單元842。
預測運動向量重建單元842使用來自碼數分配單元841的針對預測處理單位中的每個區域指定的碼數分配方式,分析從預測運動向量信息緩沖器832獲得的預測運動向量信息的碼數。預測運動向量重建單元842識別與所分析的碼數對應的預測運動向量信息,并且重建該預測運動向量信息。就是說,預測運動向量重建單元842從運動信息緩沖器835獲得與該碼數對應的外圍區域的外圍運動信息,并且將外圍運動信息取作預測運動向量信息。
預測運動向量重建單元842將重建的預測運動向量信息提供給運動預測/補償單元812的運動信息重建單元833。
運動預測/補償單元812的運動信息重建單元833使從預測運動向量重建單元842獲得的預測運動向量信息與從差運動信息緩沖器831獲得的差運動信息相加,并且重建當前區域(當前pu)的運動信息。運動信息重建單元833將重建的當前區域的運動信息提供給運動補償單元834。
運動補償單元834使用當前區域的運動信息對從幀存儲器809獲得的參考圖像像素值執行運動補償,并且生成預測圖像。運動補償單元834經由選擇單元813將參考圖像像素值提供給計算單元805。
再者,運動信息重建單元833還將已重建的當前區域的運動信息提供給運動信息緩沖器835。
運動信息緩沖器835存儲從運動信息重建單元833提供的當前區域的運動信息。在針對在處理時間上晚于當前區域的其他區域的處理中,運動信息緩沖器835將該運動信息作為外圍運動信息提供給靜止區域確定單元821和預測運動向量重建單元842。
通過每個部件執行如上文所述的處理,圖像解碼設備800可以正確地對圖像編碼設備700編碼的編碼數據進行解碼,并且可以實現提高的編碼效率。
[處理流程]
接下來,將描述該圖像解碼設備800執行的處理流程。圖像解碼設備800按照與參照圖22中的流程圖描述的方式相同的方式執行對編碼數據解碼的解碼處理。就是說,圖像解碼設備800按照與圖像解碼設備101的情況基本上相同的方式執行解碼。然而,注意,如下執行圖22中的步驟s138中的預測處理。
將參照圖38中的流程圖描述關于圖像解碼設備800的情況的圖22中的步驟s138中執行的預測處理的流程的示例。
在開始預測處理之后,在步驟s801中,無損解碼單元802基于從圖像編碼設備700提供的關于最優預測模式的信息,確定待處理的編碼數據是否已被幀內編碼。在確定這已被幀內編碼的情況下,無損解碼單元802使處理前往步驟s802。
在步驟s802中,幀內預測單元811獲得幀內預測模式信息。在步驟s803中,幀內預測單元811使用在步驟s802中獲得的幀內預測模式信息來執行幀內預測以生成預測圖像。在生成預測圖像之后,幀內預測單元811結束預測處理,并且使處理返回圖22。
再者,在步驟s801中確定已執行幀間編碼的情況下,無損解碼單元802使處理前往步驟s804。
在步驟s804中,運動預測/補償單元812執行幀間運動預測處理。在幀間運動預測處理結束之后,運動預測/補償單元812結束預測處理,并且使處理返回圖22。
接下來,將參照圖39中的流程圖描述圖38中的步驟s804中執行的幀間運動預測處理的流程示例。
在開始幀間運動預測處理之后,在步驟s821中,運動預測/補償單元812獲得關于針對當前區域的運動預測的信息。例如,預測運動向量信息緩沖器832獲得預測運動向量信息的碼數,并且差運動信息緩沖器831獲得差運動信息。
在步驟s822中,靜止區域確定單元821從運動信息緩沖器835獲得并置區域的運動信息。在步驟s823中,如上文所述,靜止區域確定單元821基于該信息確定當前區域是否是靜止區域。
在步驟s824中,碼數分配單元841根據步驟s823中的靜止區域確定結果來決定針對預測運動向量信息的碼數。在步驟s825中,預測運動向量重建單元842依據在步驟s824中決定的分配來分析預測運動向量信息的碼數,并且重建預測運動向量信息。
在步驟s826中,運動信息重建單元833使用在步驟s825中重建的預測運動向量信息以及在步驟s821中獲得的差運動信息來重建當前區域的運動信息。
在步驟s827中,運動補償單元834利用在步驟s826中重建的運動信息,對幀存儲器809獲得的參考圖像執行運動補償。
在步驟s828中,運動補償單元834經由選擇單元813將通過步驟s827中的處理生成的預測圖像提供給計算單元805,以便生成預測圖像。在步驟s829中,運動信息緩沖器835存儲在步驟s826中重建的運動信息。該運動信息被用作在時間上在以后執行的針對其他區域的處理中的外圍信息。
在存儲運動信息之后,運動信息緩沖器835結束幀間運動預測處理,并且使處理返回圖38。
通過執行如上文所述的每個處理,圖像解碼設備800可以正確地對圖像編碼設備700編碼的編碼數據進行解碼,并且可以實現提高的編碼效率。
注意,本技術可以應用于如下圖像編碼設備和圖像解碼設備:其用于經由諸如衛星廣播、有線電視、互聯網、蜂窩電話等的網絡介質,如同mpeg、h.26x等,接收通過諸如離散余弦變換等的正交變換以及運動補償而壓縮的圖像信息(位流)。再者,本技術可以應用于如下圖像編碼設備和圖像解碼設備:其用于處理諸如光盤、磁盤和閃速存儲器的存儲介質上的圖像信息。此外,本發明可以應用于在這些圖像編碼設備和圖像解碼設備中包括的運動預測補償設備等。
上述系列處理可以由硬件執行,或者可以由軟件執行。在通過軟件執行該系列處理的情況下,構成其軟件的程序被安裝在計算機中。這里,計算機的示例包括內建于專用硬件中的計算機,通用個人計算機,由此各個功能可以由安裝到通用個人計算機的各種類型的程序等執行。
[個人計算機的配置示例]
圖26是圖示使用程序執行上述系列處理的計算機的硬件的配置示例的框圖。
對于計算機,cpu(中央處理單元)201、rom(只讀存儲器)202和ram(隨機存取存儲器)203通過總線204相互連接。
此外,輸入/輸出接口205連接到總線204。輸入單元206、輸出單元207、存儲單元208、通信單元209以及驅動器210連接到輸入/輸出接口205。
輸入單元206由鍵盤、鼠標、麥克風等構成。輸出單元207由顯示器、揚聲器等構成。存儲單元208由硬盤、非易失性存儲器等構成。通信單元209由網絡接口等構成。驅動器210驅動諸如磁盤、光盤、磁光盤、半導體存儲器等的可移除介質211。
對于這樣配置的計算機,例如,cpu201經由輸入/輸出接口205和總線204將存儲單元208中存儲的程序加載到ram203,并且執行該程序,并且因此,執行上述系列處理。
可以通過將計算機(cpu201)執行的程序記錄在例如用作封裝介質等的可移除介質211中來提供該程序。再者,可以經由諸如局域網、互聯網或數字廣播的有線或無線傳送介質來提供程序。
對于計算機,可以通過將可移除介質211安裝在驅動器210上經由輸入/輸出接口205將程序安裝在存儲單元208中。再者,可以經由有線或無線傳送介質由通信單元209接收程序并且將該程序安裝在存儲單元208中。另外,可以將程序預先安裝在rom202或存儲單元208中。
注意,計算機執行的程序可以是其中沿本說明書中描述的次序按時間次序執行處理的程序,或者可以是其中并行地或者在需要的定時(諸如當執行調用時)執行處理的程序。
本發明的實施例不便于上述實施例,并且在不偏離本發明的實質內容的情況下可以進行各種修改。
例如,上述圖像編碼設備和圖像解碼設備可以應用于可選的電設備。在下文中,將描述電設備的示例。
[電視接收器的配置示例]
圖27是圖示使用已被應用本發明的圖像解碼設備的電視接收器的主要配置示例的框圖。
圖27中所示的電視接收器300包括地面調諧器313、視頻解碼器315、視頻信號處理電路318、圖形生成電路319、面板驅動電路320、和顯示面板321。
地面調諧器313經由天線接收地面模擬廣播的廣播波信號,進行解調,獲得視頻信號,并且將它們提供給視頻解碼器315。視頻解碼器315使從地面調諧器313提供的視頻信號經歷解碼處理,并且將獲得的數字分量信號提供給視頻信號處理電路318。
視頻信號處理電路318使從視頻解碼器315提供的視頻數據經歷諸如噪聲去除等的預定處理,并且將獲得的視頻數據提供給圖形生成電路319。
圖形生成電路319生成將顯示在顯示面板321上的節目的視頻數據,或者將經由網絡提供的、由基于應用的處理得到的圖像數據等,并且將生成的視頻數據或圖像數據提供給面板驅動電路320。再者,圖形生成電路319還執行諸如如下處理:將通過生成關于用戶的、顯示用于選擇項目等的屏幕的視頻數據(圖形)并且將其疊加在節目的視頻數據上而獲得的視頻數據適當地提供給面板驅動電路320。
面板驅動電路320基于從圖形生成電路319提供的數據來驅動顯示面板321,以在顯示面板321上顯示節目的視頻或者上述各種屏幕。
顯示面板321由lcd(液晶顯示器)等構成,并且根據面板驅動電路320的控制來顯示節目的視頻等。
再者,電視接收器300還包括音頻a/d(模擬/數字)轉換電路314、音頻信號處理電路322、回聲消除/音頻合成電路323、音頻放大器電路324、和揚聲器325。
地面調諧器313對接收到的廣播波信號解調,從而不僅獲得視頻信號,還獲得音頻信號。地面調諧器313將獲得的音頻信號提供給音頻a/d轉換電路314。
音頻a/d轉換電路314使從地面調諧器313提供的音頻信號經歷a/d轉換處理,并且將獲得的數字音頻信號提供給音頻信號處理電路322。
音頻信號處理電路322使從音頻a/d轉換電路314提供的音頻數據經歷諸如噪聲去除等的預定處理,并且將獲得的音頻數據提供給回聲消除/音頻合成電路323。
回聲消除/音頻合成電路323將從音頻信號處理電路322提供的音頻數據提供給音頻放大器電路324。
音頻放大器電路324使從回聲消除/音頻合成電路323提供的音頻數據經歷d/a轉換處理,經歷放大器處理以調整到預定音量,并且隨后從揚聲器325輸出音頻。
此外,電視接收器300還包括數字調諧器316和mpeg解碼器317。
數字調諧器316經由天線接收數字廣播(地面數字廣播、bs(廣播衛星)/cs(通信衛星)數字廣播)的廣播波信號,進行解調以獲得mpeg-ts(運動圖片專家組-輸送流),并且將其提供給mpeg解碼器317。
mpeg解碼器317對加到從數字調諧器316提供的mpeg-ts的擾動進行解擾,并且提取包括用作播放對象(觀看對象)的節目的數據的流。mpeg解碼器317對構成所提取的流的音頻分組解碼,將獲得的音頻數據提供給音頻信號處理電路322,并且還對構成流的視頻分組解碼,并且將獲得的視頻數據提供給視頻信號處理電路318。再者,mpeg解碼器317經由未示出的路徑將從mpeg-ts提取的epg(電子節目指南)數據提供給cpu332。
電視接收器300使用上述圖像解碼設備作為用于以這種方式對視頻分組解碼的mpeg解碼器317。因此,mpeg解碼器317可以按照與上述圖像解碼設備的情況相同的方式實現較高的編碼效率。
從mpeg解碼器317提供的視頻數據按照與從視頻解碼器315提供的視頻數據的情況相同的方式,在視頻信號處理電路318處經歷預定處理。經歷預定處理的視頻數據隨后在圖形生成電路319處被適當地疊加在生成的視頻數據等上,經由面板驅動電路320被提供給顯示面板321,并且在顯示面板321上顯示其圖像。
從mpeg解碼器317提供的音頻數據按照與從音頻a/d轉換電路314提供的音頻數據的情況相同的方式,在音頻信號處理電路322處經歷預定處理,經由回聲消除/音頻合成電路323被提供給音頻放大器電路324,并且經歷d/a轉換處理和放大器處理。作為其結果,從揚聲器325輸出按預定音量調整的音頻。
再者,電視接收器300還包括麥克風326和a/d轉換電路327。
a/d轉換電路327接收用作音頻交談的、提供給電視接收器300的由麥克風326收集的用戶的音頻信號,使接收到的音頻信號經歷a/d轉換處理,并且將獲得的數字音頻數據提供給回聲消除/音頻合成電路323。
在已從a/d轉換電路327提供電視接收器300的用戶(用戶a)的音頻數據的情況下,回聲消除/音頻合成電路323對于用戶(用戶a)的音頻數據執行回聲消除,并且經由音頻放大器電路324從揚聲器325輸出通過與其他音頻數據等合成而獲得的音頻數據。
此外,電視接收器300還包括音頻編解碼器328、內部總線329、sdram(同步動態隨機存取存儲器)330、閃速存儲器331、cpu332、usb(通用串行總線)i/f333、和網絡i/f334。
a/d轉換電路327接收用作音頻交談的、提供給電視接收器300的由麥克風326收集的用戶的音頻信號,使接收到的音頻信號經歷a/d轉換處理,并且將獲得的數字音頻數據提供給音頻編解碼器328。
音頻編解碼器328將從a/d轉換電路327提供的音頻數據轉換成用于經由網絡傳送的預定格式的數據,并且經由內部總線329提供給網絡i/f334。
網絡i/f334經由安裝在網絡端子335上的線纜連接到網絡。例如,網絡i/f334將從音頻編解碼器328提供的音頻數據傳送到連接到其網絡的另一設備。再者,例如,網絡i/f334經由網絡端子335接收從經由網絡與其連接的另一設備傳送的音頻數據,并且經由內部總線329將其提供給音頻編解碼器328。
音頻編解碼器328將從網絡i/f334提供的音頻數據轉換成預定格式的數據,并且將其提供給回聲消除/音頻合成電路323。
回聲消除/音頻合成電路323以從音頻編解碼器328提供的音頻數據為對象執行回聲消除,并且經由音頻放大器電路324從揚聲器325輸出通過合成音頻數據和其他音頻數據等而獲得的音頻的數據。
sdram330存儲cpu332執行處理所需的各種類型的數據。
閃速存儲器331存儲將由cpu332執行的程序。cpu332在預定定時,諸如當激活電視接收器300等時,讀出閃速存儲器331中存儲的程序。經由數字廣播獲得的epg數據、經由網絡從預定服務器獲得的數據等也存儲在閃速存儲器331中。
例如,包括通過cpu332的控制經由網絡從預定服務器獲得的內容數據的mpeg-ts被存儲在閃速存儲器331中。例如,閃速存儲器331通過cpu332的控制經由內部總線329將其mpeg-ts提供給mpeg解碼器317。
mpeg解碼器317按照與從數字調諧器316提供的mpeg-ts的情況相同的方式處理其mpeg-ts。這樣,電視接收器300經由網絡接收由視頻、音頻等構成的內容數據,使用mpeg解碼器317進行解碼,從而可以顯示其視頻,并且可以輸出其音頻。
再者,電視接收器300還包括光接收單元337,用于接收從遙控器351傳送的紅外信號。
光接收單元337從遙控器351接收紅外線,并且向cpu332輸出通過解調獲得的表示用戶操作的內容的控制碼。
cpu332執行閃速存儲器331中存儲的程序,以根據從光接收單元337等提供的控制碼來控制電視接收器300的整體操作。cpu332和電視接收器300的各單元經由未示出的路徑連接。
usbi/f333針對經由安裝在usb端子336上的usb線纜連接的電視接收器300的外部設備執行數據的傳送/接收。網絡i/f334經由安裝在網絡端子335上的線纜連接到網絡,還針對連接到網絡的各種設備執行音頻數據以外的數據的傳送/接收。
電視接收器300可以通過使用上述圖像解碼設備作為mpeg解碼器317來提高編碼效率。作為其結果,電視接收器300可以從經由天線接收的廣播信號或者經由網絡獲得的內容數據獲得并顯示較高圖像質量的解碼圖像。
[蜂窩電話的配置示例]
圖28是圖示使用已被應用本發明的圖像編碼設備和圖像解碼設備的蜂窩電話的主要配置示例的框圖。
圖28中所示的蜂窩電話400包括被配置成整體地控制各單元的主控制單元450、電源電路單元451、操作輸入控制單元452、圖像編碼器453、攝像裝置i/f單元454、lcd控制單元455、圖像解碼器456、復用/分離單元457、記錄/播放單元462、調制/解調電路單元458、和音頻編解碼器459。這些單元經由總線460相互連接。
再者,蜂窩電話400包括操作鍵419、ccd(電荷耦合器件)攝像裝置416、液晶顯示器418、存儲單元423、傳送/接收電路單元463、天線414、麥克風(mic)421、和揚聲器417。
在呼叫結束并且通過用戶操作接通電源鍵時,電源電路單元451通過從電池組向各單元供電在操作狀態下激活蜂窩電話400。
蜂窩電話400基于由cpu、rom、ram等構成的主控制單元450的控制,在諸如語音呼叫模式、數據通信模式等的各種模式中,執行諸如音頻信號的傳送/接收、電子郵件和圖像數據的傳送/接收、圖像拍攝、數據記錄等的各種操作。
例如,在語音呼叫模式中,蜂窩電話400通過音頻編解碼器459將麥克風(話筒)421收集的音頻信號轉換成數字音頻數據,在調制/解調電路單元458處使其經歷擴頻處理,并且在傳送/接收電路單元463處使其經歷數字/模擬轉換處理和頻率轉換處理。蜂窩電話400經由天線414將通過其轉換處理獲得的用于傳送的信號傳送到未示出的基站。傳送到基站的用于傳送的信號(音頻信號)經由公共電話網絡被提供給另一方的蜂窩電話。
再者,例如,在語音呼叫模式中,蜂窩電話400對在天線414處、傳送/接收電路單元463處接收到的接收信號進行放大,進一步經歷頻率轉換處理和模擬/數字轉換處理,在調制/解調電路單元458處經歷解擴處理,并且通過音頻編解碼器459轉換成模擬音頻信號。蜂窩電話400從揚聲器417輸出其經轉換的和所獲得的模擬音頻信號。
此外,例如,在數據通信模式中傳送電子郵件的情況下,蜂窩電話400接受在操作輸入控制單元452處通過操作鍵419的操作而輸入的電子郵件的文本數據。蜂窩電話400在主控制單元450處處理其文本數據,并且經由lcd控制單元455將其作為圖像顯示在液晶顯示器418上。
再者,蜂窩電話400基于操作輸入控制單元452接受的文本數據、用戶指令等,在主控制單元450處生成電子郵件數據。蜂窩電話400使其電子郵件數據在調制/解調電路單元458處經歷擴頻處理,并且在傳送/接收電路單元463處經歷數字/模擬轉換處理和頻率轉換處理。蜂窩電話400經由天線414將通過其轉換處理獲得的用于傳送的信號傳送到未示出的基站。傳送到基站的用于傳送的信號(電子郵件)經由網絡、郵件服務器等被提供給預定目標。
再者,例如,在數據通信模式中接收電子郵件的情況下,蜂窩電話400通過傳送/接收電路單元463經由天線414接收從基站傳送的信號,進行放大,并且進一步經歷頻率轉換處理和模擬/數字轉換處理。蜂窩電話400使其接收信號在調制/解調電路單元458處經歷解擴處理以恢復原始的電子郵件數據。蜂窩電話400經由lcd控制單元455在液晶顯示器418上顯示恢復的電子郵件數據。
注意,蜂窩電話400可以經由記錄/播放單元462將接收到的電子郵件數據記錄(存儲)在存儲單元423中。
該存儲單元423是可選的可重寫記錄介質。存儲單元423可以是諸如ram、內建閃速存儲器等的半導體存儲器,可以是硬盤,或者可以是諸如磁盤、磁光盤、光盤、usb存儲器、存儲器卡等的可移除介質。毋庸置疑,存儲單元423可以是不同于這些設備的設備。
此外,例如,在數據通信模式中傳送圖像數據的情況下,蜂窩電話400通過在ccd攝像裝置416處進行成像來生成圖像數據。ccd攝像裝置416包括ccd,其用作諸如透鏡、光圈等的光學器件,并且用作光電轉換器件,該ccd對物體成像,將接收到的光的強度轉換成電信號,并且生成物體的圖像的圖像數據。ccd攝像裝置416經由攝像裝置i/f單元454在圖像編碼器453處按例如諸如mpeg2或mpeg4等的預定編碼格式執行圖像數據的壓縮編碼,并且轉換成編碼圖像數據。
蜂窩電話400采用上述圖像編碼設備作為用于執行該處理的圖像編碼器453。因此,按照與上述圖像編碼設備相同的方式,圖像編碼器453能夠實現較高的編碼效率。
注意,與此同時,在通過ccd攝像裝置416拍攝的同時,蜂窩電話400在音頻編解碼器459處將在麥克風(話筒)421處收集的音頻從模擬轉換成數字,并且進一步對其編碼。
蜂窩電話400使用預定方法在復用/分離單元457處復用從圖像編碼器453提供的編碼圖像數據以及從音頻編解碼器459提供的數字音頻數據。蜂窩電話400使作為其結果獲得的復用數據在調制/解調電路單元458處經歷擴頻處理,并且在傳送/接收電路單元463處經歷數字/模擬轉換處理和頻率轉換處理。蜂窩電話400經由天線414將通過其轉換處理獲得的用于傳送的信號傳送到未示出的基站。傳送到基站的用于傳送的信號(圖像數據)經由網絡等被提供給另一方。
注意,在未傳送圖像數據的情況下,蜂窩電話400還可以經由lcd控制單元455而非圖像編碼器453在液晶顯示器418上顯示在ccd攝像裝置416處生成的圖像數據。
再者,例如,在數據通信模式中接收鏈接到簡單網站等的運動圖像文件的數據的情況下,蜂窩電話400經由天線414在傳送/接收電路單元463處接收從基站傳送的信號,進行放大,并且進一步經歷頻率轉換處理和模擬/數字轉換處理。蜂窩電話400使接收的信號在調制/解調電路單元458處經歷解擴處理以恢復原始的復用數據。蜂窩電話400在復用/分離單元457處將其復用數據分離成編碼圖像數據和音頻數據。
蜂窩電話400利用與諸如mpeg2、mpeg4等的預定編碼格式對應的解碼格式在圖像解碼器456處對編碼圖像數據解碼,由此生成播放運動圖像數據,并且經由lcd控制單元455將其顯示在液晶顯示器418上。因此,鏈接到簡單網站的運動圖像文件中包括的運動圖像數據被顯示在例如液晶顯示器418上。
蜂窩電話400使用上述圖像解碼設備作為用于執行該處理的圖像解碼器456。因此,按照與上述圖像解碼設備相同的方式,圖像解碼器456能夠實現較高的編碼效率。
與此同時,蜂窩電話400在音頻編解碼器459處將數字音頻數據轉換成模擬音頻信號,并且從揚聲器417將其輸出。因此,例如播放鏈接到簡單網站的運動圖像文件中包括的音頻數據。
注意,按照與電子郵件的情況相同的方式,蜂窩電話400可以經由記錄/播放單元462將接收到的鏈接到簡單網站等的數據記錄(存儲)在存儲單元423中。
再者,蜂窩電話400在主控制單元450處分析由ccd攝像裝置416獲得的成像二維碼,由此可以獲得二維碼中記錄的信息。
此外,蜂窩電話400可以使用紅外線在紅外通信單元481處與外部設備通信。
蜂窩電話400采用上述圖像編碼設備作為圖像編碼器453,由此可以提高編碼效率。結果,蜂窩電話400可以向另一設備提供具有良好的編碼效率的編碼數據(圖像數據)。
再者,蜂窩電話400采用上述圖像解碼設備作為圖像解碼器456,由此可以提高編碼效率。作為其結果,蜂窩電話400可以獲得并顯示來自例如鏈接到簡單網站等的運動圖像文件的較高清晰度的解碼圖像。
注意,到此為止已進行了其中蜂窩電話400采用ccd攝像裝置416的描述,但是蜂窩電話400可以采用使用cmos(互補金屬氧化物半導體)的圖像傳感器(cmos圖像傳感器)替代該ccd攝像裝置416。在該情況下,蜂窩電話400也可以按照與采用ccd攝像裝置416的情況相同的方式,對物體成像并且生成物體的圖像的圖像數據。
再者,到此為止已進行了關于蜂窩電話400的描述,但是上述圖像編碼設備和上述圖像解碼設備可以按照與蜂窩電話400的情況相同的方式應用于任何類型的設備,只要該設備具有與蜂窩電話400相同的成像功能和通信功能即可,例如諸如pda(個人數字助理)、智能電話、umpc(超級移動個人計算機)、上網本、筆記本大小的個人計算機等。
[硬盤記錄器的配置示例]
圖29是圖示使用已被應用本發明的圖像編碼設備和圖像解碼設備的硬盤記錄器的主要配置示例的框圖。
圖29中所示的硬盤記錄器(hdd記錄器)500是如下設備,其在內建硬盤中存儲由調諧器接收的并且從衛星或地面天線等傳送的廣播波信號(電視信號)中包括的廣播節目的音頻數據和視頻數據,并且在根據用戶指令的定時將存儲的數據提供給用戶。
例如,硬盤記錄器500可以從廣播波信號提取音頻數據和視頻數據,適當地對它們解碼,并且存儲在內建硬盤中。再者,例如,硬盤記錄器500還可以經由網絡從另一設備獲得音頻數據和視頻數據,適當地對它們解碼,并且存儲在內建硬盤中。
此外,例如,硬盤記錄器500可以對內建硬盤中記錄的音頻數據和視頻數據解碼,將其提供給監視器560,在監視器560的屏幕上顯示其圖像,并且從監視器560的揚聲器輸出其音頻。
例如,硬盤記錄器500可以對從經由調諧器獲得的廣播信號提取的音頻數據和視頻數據,或者經由網絡從另一設備獲得的音頻數據和視頻數據進行解碼,將其提供給監視器560,在監視器560的屏幕上顯示其圖像,并且從監視器560的揚聲器輸出其音頻。
當然,可以執行這些操作以外的操作。
如圖29中所示,硬盤記錄器500包括接收單元521、解調單元522、解復用器523、音頻解碼器524、視頻解碼器525、和記錄器控制單元526。硬盤記錄器500進一步包括epg數據存儲器527、程序存儲器528、工作存儲器529、顯示轉換器530、osd(屏幕上顯示)控制單元531、顯示控制單元532、記錄/播放單元533、d/a轉換器534、和通信單元535。
再者,顯示轉換器530包括視頻編碼器541。記錄/播放單元533包括編碼器551和解碼器552。
接收單元521從遙控器(未示出)接收紅外信號,轉換成電信號、并且輸出到記錄器控制單元526。記錄器控制單元526由例如微處理器等構成,并且根據程序存儲器528中存儲的程序執行各種類型的處理。此時,記錄器控制單元526根據需要使用工作存儲器529。
連接到網絡的通信單元535經由網絡執行與另一設備的通信處理。例如,記錄器控制單元526控制通信單元535與調諧器(未示出)通信,并且通信單元535主要向調諧器輸出頻道選擇控制信號。
解調單元522對從調諧器提供的信號解調,并且輸出到解復用器523。解復用器523將從解調單元522提供的數據分離成音頻數據、視頻數據和epg數據,并且分別輸出到音頻解碼器524、視頻解碼器525和記錄器控制單元526。
音頻解碼器524例如利用mpeg格式對輸入的音頻數據解碼,并且輸出到記錄/播放單元533。視頻解碼器525例如利用mpeg格式對輸入的視頻數據解碼,并且輸出到顯示轉換器530。記錄器控制單元526將輸入的epg數據提供給epg數據存儲器527用于存儲。
顯示轉換器530使用視頻編碼器541,將從視頻解碼器525或記錄器控制單元526提供的視頻數據編碼成例如符合ntsc(美國電視標準委員會)格式的視頻數據,并且輸出到記錄/播放單元533。再者,顯示轉換器530將從視頻解碼器525或記錄器控制單元526提供的視頻數據的屏幕尺寸轉換成與監視器560的尺寸對應的尺寸,使用視頻編碼器541將屏幕尺寸已被轉換的視頻數據轉換成符合ntsc格式的視頻數據,轉換成模擬信號,并且輸出到顯示控制單元532。
顯示控制單元532在記錄器控制單元526的控制下,將從osd(屏幕上顯示)控制單元531輸出的osd信號疊加在從顯示轉換器530輸入的視頻信號上,并且輸出到監視器560的顯示器用于顯示。
再者,已使用d/a轉換器534將從音頻解碼器524輸出的音頻數據轉換成模擬信號,并且將其提供給監視器560。監視器560從內建揚聲器輸出該音頻信號。
記錄/播放單元533包括作為其中記錄視頻數據、音頻數據等的記錄介質的硬盤。
記錄/播放單元533通過編碼器551利用mpeg格式對從音頻解碼器524提供的音頻數據編碼。再者,記錄/播放單元533通過編碼器551利用mpeg格式對從顯示轉換器530的視頻編碼器541提供的視頻數據編碼。記錄/播放單元533使用復用器合成其音頻數據的編碼數據以及其視頻數據的編碼數據。記錄/播放單元533通過信道編碼對其合成數據進行放大,并且經由記錄頭將其數據寫入硬盤。
記錄/播放單元533經由播放頭播放硬盤中記錄的數據,進行放大,并且使用解復用器分離成音頻數據和視頻數據。記錄/播放單元533使用mpeg格式通過解碼器552對音頻數據和視頻數據解碼。記錄/播放單元533將解碼的音頻數據從數字轉換成模擬,并且輸出到監視器560的揚聲器。再者,記錄/播放單元533將解碼的視頻數據從數字轉換成模擬,并且輸出到監視器560的顯示器。
記錄器控制單元526基于經由接收單元521接收的、來自遙控器的紅外信號所指示的用戶指令,從epg數據存儲器527讀出最新的epg數據,并且提供給osd控制單元531。osd控制單元531生成與輸入epg數據對應的圖像數據,并且輸出到顯示控制單元532。顯示控制單元532將從osd控制單元531輸入的視頻數據輸出到監視器560的顯示器用于顯示。因此epg(電子節目指南)顯示在監視器560的顯示器上。
再者,硬盤記錄器500可以經由諸如互聯網等的網絡,獲得從另一設備提供的諸如視頻數據、音頻數據、epg數據等的各種類型的數據。
由記錄器控制單元526控制通信單元535以經由網絡獲得從另一設備傳送的諸如視頻數據、音頻數據、epg數據等的編碼數據,并且將其提供給記錄器控制單元526。記錄器控制單元526將獲得的視頻數據和音頻數據的編碼數據提供給記錄/播放單元533,并且存儲在例如硬盤中。此時,記錄器控制單元526和記錄/播放單元533可以根據需要執行諸如重新編碼等的處理。
再者,記錄器控制單元526對獲得的視頻數據和音頻數據的編碼數據進行解碼,并且將獲得的視頻數據提供給顯示轉換器530。顯示轉換器530按照與從視頻解碼器525提供的視頻數據相同的方式,處理從記錄器控制單元526提供的視頻數據,經由顯示控制單元532提供給監視器560用于顯示其圖像。
替選地,可以進行如下布置:其中根據該圖像顯示,記錄器控制單元526經由d/a轉換器534向監視器560提供解碼的音頻數據,并且從揚聲器輸出其音頻。
此外,記錄器控制單元526對獲得的epg數據的編碼數據進行解碼,并且將解碼的epg數據提供給epg數據存儲器527。
因此硬盤記錄器500采用上述圖像解碼設備作為視頻解碼器525、解碼器552以及容納在記錄器控制單元526中的解碼器。因此,按照與上述圖像解碼設備相同的方式,視頻解碼器525、解碼器552以及容納在記錄器控制單元526中的解碼器能夠實現較高的編碼效率。
因此,硬盤記錄器500可以生成較高清晰度的預測圖像。作為其結果,硬盤記錄器500可以從經由調諧器接收的視頻數據的編碼數據、從記錄/播放單元533的硬盤讀出的視頻數據的編碼數據、以及經由網絡獲得的視頻數據的編碼數據,獲得較高清晰度的解碼圖像,并且顯示在例如監視器560上。
再者,硬盤記錄器500采用上述圖像編碼設備作為編碼器551。因此,按照與上述圖像編碼設備的情況相同的方式,編碼器551能夠提高編碼效率。
因此,硬盤記錄器500可以實現處理速度的增加,并且還提高了將被記錄在例如硬盤中的編碼數據的編碼效率。作為其結果,硬盤記錄器500可以更高效地使用硬盤的存儲區域。
注意,到此為止已進行了關于用于將視頻數據和音頻數據記錄在硬盤中的硬盤記錄器500的描述,但是毋庸置疑,可以采用任何類型的記錄介質。例如,即使對于被應用除了硬盤以外的、諸如閃速存儲器、光盤、錄像帶等的記錄介質的記錄器,仍可以按照與上述硬盤記錄器500的情況相同的方式,對其應用上述圖像編碼設備和圖像解碼設備。
[攝像裝置的配置示例]
圖30是圖示使用已被應用本發明的圖像編碼設備和圖像解碼設備的攝像裝置的主要配置示例的框圖。
圖30中所示的攝像裝置600對物體成像,將物體的圖像顯示在lcd616上,并且將其作為圖像數據記錄在記錄介質633中。
透鏡模塊611將光(即,物體的圖片)輸入到ccd/cmos612。ccd/cmos612是采用ccd或cmos的圖像傳感器,其將接收到的光的強度轉換成電信號,并且提供給攝像裝置信號處理單元613。
攝像裝置信號處理單元613將從ccd/cmos612提供的電信號轉換成y、cr和cb的色差信號,并且提供給圖像信號處理單元614。圖像信號處理單元614在控制器621的控制下,使從攝像裝置信號處理單元613提供的圖像信號經歷預定的圖像處理,或者使用例如mpeg格式通過編碼器641對其圖像信號進行編碼。圖像信號處理單元614將通過對圖像信號編碼生成的編碼數據提供給解碼器615。此外,圖像信號處理單元614獲得在屏幕上顯示(osd)620處生成的關于顯示的數據,并且將其提供給解碼器615。
對于上述處理,攝像裝置信號處理單元613適當地利用經由總線617連接的dram(動態隨機存取存儲器)618,以根據需要將圖像數據、根據其圖像數據編碼的編碼數據等保存在其dram618中。
解碼器615對從圖像信號處理單元614提供的編碼數據進行解碼,并且將獲得的圖像數據(解碼的圖像數據)提供給lcd616。再者,解碼器615將從圖像信號處理單元614提供的關于顯示的數據提供給lcd616。lcd616適當地合成從解碼器615提供的解碼的圖像數據的圖像以及關于顯示的數據的圖像,并且顯示其合成圖像。
屏幕上顯示620在控制器621的控制下,經由總線617向圖像信號處理單元614輸出關于顯示的數據,諸如由符號、字符或圖形構成的菜單屏幕或圖標等。
基于指示用戶使用操作單元622命令的內容的信號,控制器621執行各種類型的處理,并且還經由總線617控制圖像信號處理單元614、dram618、外部接口619、屏幕上顯示620、介質驅動器623等。控制器621執行各種類型的處理所需的程序、數據等存儲在閃速rom624中。
例如,控制器621可以對dram618中存儲的圖像數據進行編碼,或者對存儲在dram618中的編碼數據進行解碼,而不是由圖像信號處理單元614和解碼器615進行這些操作。此時,控制器621可以使用與圖像信號處理單元614和解碼器615的編碼/解碼格式相同的格式來執行編碼/解碼處理,或者可以使用圖像信號處理單元614和解碼器615均不能處置的格式來執行編碼/解碼處理。
再者,例如,在從操作單元622已指令開始圖像打印的情況下,控制器621從dram618讀出圖像數據,并且經由總線617將其提供給連接到外部接口619的打印機634用于打印。
此外,例如,在從操作單元622已指令圖像記錄的情況下,控制器621從dram618讀出編碼數據,并且經由總線617將其提供給安裝在介質驅動器623上的記錄介質633用于存儲。
記錄介質633是可選的可讀/可寫可移除介質,例如諸如磁盤、磁光盤、光盤、半導體存儲器等。毋庸置疑,記錄介質633對于可移除介質的類型也是可選的,并且因此可以是磁帶設備,或者可以是盤片,或者可以是存儲器卡。毋庸置疑,記錄介質633可以是非接觸ic卡等。
替選地,介質驅動器623和記錄介質633可以被配置成集成到非便攜記錄介質中,例如諸如內建的硬盤驅動器、ssd(固態驅動器)等。
外部接口619由例如usb輸入/輸出端子等構成,并且在執行圖像打印的情況下連接到打印機634。再者,驅動器631根據需要連接到外部接口619,諸如磁盤、光盤或磁光盤的可移除介質632適當地安裝在該驅動器631上,并且從其中讀出的計算機程序根據需要安裝在閃速rom624中。
此外,外部接口619包括網絡接口,以連接到諸如lan、互聯網等的預定網絡。例如,根據來自操作單元622的指令,控制器621可以從dram618讀出編碼數據,并且將其從外部接口619提供給經由網絡連接的另一設備。再者,控制器621可以經由外部接口619獲得從另一設備經由網絡提供的編碼數據或圖像數據,并且將其保存在dram618中,或者將其提供給圖像信號處理單元614。
這樣配置的攝像裝置600采用上述圖像解碼設備作為解碼器615。因此,按照與上述圖像解碼設備相同的方式,解碼器615能夠實現較高的編碼效率。
因此,攝像裝置600可以生成具有高精度的預測圖像。作為其結果,攝像裝置600可以從例如在ccd/cmos612處生成的圖像數據、從dram618或記錄介質633讀出的視頻數據的編碼數據、以及經由網絡獲得的視頻數據的編碼數據,獲得較高清晰度的解碼圖像,并且顯示在lcd616上。
再者,攝像裝置600采用上述圖像編碼設備作為編碼器641。因此,按照與上述圖像編碼設備相同的方式,編碼器641能夠實現較高的編碼效率。
因此,攝像裝置600可以提高將被記錄在例如硬盤中的編碼數據的編碼效率。作為其結果,攝像裝置600可以更高效地使用dram618或記錄介質633的存儲區域。
注意,上述圖像解碼設備的解碼方法可以應用于控制器621執行的解碼處理。同樣地,上述圖像編碼設備的編碼方法可以應用于控制器621執行的編碼處理。
再者,攝像裝置600拍攝的圖像數據可以是運動圖像或者可以是靜止圖像。
毋庸置疑,上述圖像編碼設備和圖像解碼設備可以應用于上述設備以外的設備或系統。
注意,本技術也可以采用如下配置。
(1)一種圖像處理設備,包括:
碼數分配單元,配置成根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及
預測運動向量生成單元,配置成使用作為待處理的當前區域的外圍區域的運動信息的外圍運動信息來生成區域的預測運動向量信息,并且依據由碼數分配單元已決定的分配碼數的方式,將碼數分配給已生成的預測運動向量信息。
(2)根據(1)的圖像處理設備,其中碼數分配單元針對預測處理的每個遞增區域,控制將碼數分配給預測運動向量信息的方式。
(3)根據(2)的圖像處理設備,其中在區域是靜止區域的情況下,碼數分配單元控制分配碼數的方式,使得小的碼數被分配給時間預測運動向量信息。
(4)根據(3)的圖像處理設備,其中在區域是靜止區域的情況下,預測運動向量生成單元僅生成時間預測運動向量信息,并且向時間預測運動向量信息分配由碼數分配單元決定的碼數。
(5)根據(2)至(4)中任一個的圖像處理設備,其中在區域是移動區域的情況下,碼數分配單元控制分配碼數的方式,使得小的碼數被分配給空間預測運動向量信息。
(6)根據(2)至(5)中任一個的圖像處理設備,進一步包括:
靜止區域確定單元,配置成確定當前區域是否是靜止區域;
其中碼數分配單元依據靜止區域確定單元的確定結果,控制將碼數分配給當前區域的預測運動向量信息的方式。
(7)根據(6)的圖像處理設備,其中靜止區域確定單元使用當前區域的并置區域的運動信息來確定當前區域是否是靜止區域。
(8)根據(7)的圖像處理設備,其中在當前區域的并置區域的運動信息的水平分量和運動信息的豎直分量的絕對值在預定閾值內的情況下,并且還在參考索引是0,應用ref_picr_reordering,或者參考索引具有指示緊鄰的先前圖片的poc值的情況下,靜止區域確定單元將當前區域確定為靜止區域。
(9)根據(1)至(8)中任一個的圖像處理設備,其中碼數分配單元根據用戶設定控制將碼數分配給預測運動向量信息的方式。
(10)根據(1)至(9)中任一個的圖像處理設備,其中碼數分配單元控制將碼數分配給預測運動向量信息的方式以便提高編碼效率。
(11)根據(1)至(10)中任一個的圖像處理設備,其中碼數分配單元控制將碼數分配給預測運動向量信息的方式以便使主觀圖像質量最優化。
(12)根據(1)的圖像處理設備,其中碼數分配單元針對每個切片控制將碼數分配給預測運動向量信息的方式。
(13)根據(1)至(12)中任一個的圖像處理設備,進一步包括:
標志生成單元,配置成生成指示其中分配碼數的方式能夠改變的可變模式的標志。
(14)根據(1)至(13)中任一個的圖像處理設備,其中預測運動向量生成單元針對每個預測模式生成多個預測運動向量信息;
并且進一步包括:
差運動向量生成單元,配置成針對每個預測模式,從預測運動向量生成單元生成的多個預測運動向量信息中選擇最優預測運動向量信息,并且生成作為針對當前區域的運動向量的差的差運動向量;
模式確定單元,配置成從各預測模式中確定最優預測模式;以及
傳送單元,配置成傳送模式確定單元確定的預測模式的差運動向量信息,以及預測模式的預測運動向量信息的碼數。
(15)根據(14)的圖像處理設備,進一步包括:
編碼單元,配置成對模式確定單元確定的預測模式的差運動向量信息,以及預測模式的預測運動向量信息的碼數進行編碼;
其中傳送單元傳送編碼單元編碼的差運動向量信息,以及預測運動向量信息的碼數。
(16)一種圖像處理設備的圖像處理方法,該方法包括:
碼數分配單元根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及
預測運動向量生成單元使用作為待處理的當前區域的外圍區域的運動信息的外圍運動信息來生成區域的預測運動向量信息,并且依據已決定的分配碼數的方式,將碼數分配給已生成的預測運動向量信息。
(17)一種圖像處理設備,包括:
碼數分配單元,配置成根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及
預測運動向量重建單元,配置成獲得待處理的當前區域的預測運動向量信息的碼數,并且依據由碼數分配單元已決定的分配碼數的方式,根據碼數重建預測運動向量信息。
(18)根據(17)的圖像處理設備,其中碼數分配單元針對預測處理的每個遞增區域,控制將碼數分配給預測運動向量信息的方式。
(19)根據(18)的圖像處理設備,其中在區域是靜止區域的情況下,碼數分配單元控制分配碼數的方式,使得小的碼數被分配給時間預測運動向量信息。
(20)根據(18)或(19)的圖像處理設備,其中在區域是移動區域的情況下,碼數分配單元控制分配碼數的方式,使得小的碼數被分配給空間預測運動向量信息。
(21)根據(18)至(20)中任一個的圖像處理設備,進一步包括:
靜止區域確定單元,配置成確定當前區域是否是靜止區域;
其中碼數分配單元依據靜止區域確定單元的確定結果,控制將碼數分配給當前區域的預測運動向量信息的方式。
(22)根據(21)的圖像處理設備,其中靜止區域確定單元使用當前區域的并置區域的運動信息來確定當前區域是否是靜止區域。
(23)根據(22)的圖像處理設備,其中在當前區域的并置區域的運動信息的水平分量和運動信息的豎直分量的絕對值在預定閾值內的情況下,并且還在參考索引是0,應用ref_picr_reordering,或者參考索引具有指示緊鄰的先前圖片的poc值的情況下,靜止區域確定單元將當前區域確定為靜止區域。
(24)根據(17)至(23)中任一個的圖像處理設備,其中碼數分配單元根據用戶設定控制將碼數分配給預測運動向量信息的方式。
(25)根據(17)至(24)中任一個的圖像處理設備,其中碼數分配單元控制將碼數分配給預測運動向量信息的方式以便提高編碼效率。
(26)根據(17)至(25)中任一個的圖像處理設備,其中碼數分配單元控制將碼數分配給預測運動向量信息的方式以便使主觀圖像質量最優化。
(27)根據(17)的圖像處理設備,其中碼數分配單元針對每個切片控制將碼數分配給預測運動向量信息的方式。
(28)根據(16)至(27)中任一個的圖像處理設備,進一步包括:
標志獲得單元,配置成獲得指示其中分配碼數的方式能夠改變的可變模式的標志;
其中在標志獲得單元獲得的標志指示可變模式的情況下,碼數分配單元控制將碼數分配給預測運動向量信息的方式。
(29)一種圖像處理設備的圖像處理方法,該方法包括:
碼數分配單元根據圖像的運動特征,控制將碼數分配給預測運動向量信息的方式;以及
預測運動向量重建單元獲得待處理的當前區域的預測運動向量信息的碼數,并且依據已決定的分配碼數的方式,根據碼數重建預測運動向量信息。
附圖標記列表
51圖像編碼設備
66無損編碼單元
74幀內預測單元
75運動預測/補償單元
76預測運動向量生成單元
77碼數分配單元
91運動搜索單元
92成本函數計算單元
93最優預測運動向量選擇單元
94模式確定單元
95運動補償單元
101圖像解碼設備
112無損解碼單元
121幀內預測單元
122運動預測/補償單元
123碼數分配緩沖器
124預測運動向量生成單元
131差向量緩沖器
132塊級碼數緩沖器
133運動向量生成單元
134運動向量緩沖器
135運動補償單元
151圖像解碼設備
161碼數分配單元
162無損編碼單元
163最優碼數分配確定單元