專利名稱:運動圖像編碼設備以及該設備的控制方法和程序的制作方法
技術領域:
本發(fā)明涉及一種通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像的運動圖像編碼設備以及該設備的控制方法和程序。
背景技術:
近來,H.264編碼方法正作為一種新的運動圖像編碼方法受到關注。該編碼方法是ITU-T和ISO協(xié)作開發(fā)的。該新標準在2003年夏被標準化。
與傳統(tǒng)的MPEG-1、MPEG-2和MPEG-4編碼方法不同,該新編碼方法的特征是使用4×4整數(shù)變換,并準備多個幀內預測(intra predictions)。而且,使用環(huán)內濾波器(intra-loop filter),并通過七種子塊(sub-block)進行運動補償。另外,該運動補償?shù)南袼鼐扰cMPEG-4編碼方法相同,即,可以1/4像素精度進行運動補償。此外,通用的可變長度(variable-length)編碼或前后自適應(context adaptive)可變長度編碼被用作熵編碼。
更重要的特征如下。即,MPEG-1、MPEG-2和MPEG-4編碼方法通過使用在將被編碼的幀之前和之后的兩個參考圖像(幀)進行運動補償。然而,該新編碼方法可使用更大數(shù)目的參考圖像。包含在位流(bit stream)的頭中的num_ref_frames碼可采用最大為16的值。
更具體來說,在運動補償中,在將被編碼的幀之前和之后的16個幀可被作為參考圖像來參考。對將被編碼的宏塊(macroblock)進行如下處理。如上所述,關于具有最多16個幀的圖像,以1/4像素精度對七種子塊計算預測誤差,并選擇預測誤差最小的宏塊。這大大提高了編碼效率。
參考圖13說明使用H.264編碼方法的傳統(tǒng)運動圖像編碼設備的配置。參考文獻1(“Overview of the H.264/AVC Video CodingStandard”(IEEE TRANSACTIONS ON CIRCUITS ANDSYSTEMS FOR VIDEO TECHNOLOGY,JULY 2003))或參考文獻2(“H.264 Now Starts,Outrivaling Slow-GoingMPEG-4”(Nikkei Electronics 2003.7.7,pp.65-74))中也對該配置進行了說明。
圖13是示出該傳統(tǒng)運動圖像編碼設備的配置的框圖。
逐宏塊地將圖像數(shù)據(jù)輸入到該運動圖像編碼設備。選擇器1000對是否執(zhí)行幀內編碼進行切換。如果執(zhí)行幀內編碼,則將該圖像數(shù)據(jù)輸入到幀內預測器1001。幀內預測器1001以九個模式進行預測,并計算預測誤差。
如果要執(zhí)行的編碼不是幀內編碼,則將該圖像數(shù)據(jù)輸入到差分單元1002,在差分單元1002計算與所預測的圖像的差作為預測誤差。
變換器/量化器1003將所算出的預測誤差變換為4×4像素塊的整數(shù),并量化所獲得的系數(shù)。作為該量化結果的量化系數(shù)經過由熵編碼器1004執(zhí)行的可變長度編碼,并被輸出到輸出單元1014。同時,將量化結果輸入到去量化器/反變換器1005以恢復該預測誤差,并通過加法器1006將該預測誤差與預測的圖像相加。將結果作為解碼圖像適當?shù)卮鎯υ趲鎯ζ?007至1010中。
運動估計器1011將存儲在幀存儲器1007至1010中的解碼圖像和所輸入的圖像進行比較,并以1/4像素精度對每個子塊計算運動矢量。將這些運動矢量和所選擇的幀編號輸入到運動補償器1012,并從對應的幀存儲器加載參考圖像。選擇具有最小預測誤差的參考圖像并將該參考圖像作為預測圖像輸出到差分單元1002。
該運動矢量和所選擇的幀編號還被輸入到運動編碼器1013并被編碼,并將編碼后的數(shù)據(jù)輸出到輸出單元1014。輸出單元1014按照格式對該編碼后的數(shù)據(jù)進行整形,并輸出整形后的數(shù)據(jù)。
遺憾的是,如上述H.264編碼方法的參考多個幀的編碼方法有如下問題為了執(zhí)行運動補償而搜索運動矢量,并且隨著參考圖像數(shù)目增加,計算量變得非常大。
另外,特別當在視頻攝像機等圖像拍攝設備中使用H.264編碼方法時,每當視頻攝像機左右或上下?lián)u動,整個圖像就有很大改變。因此,盡管參考在時間上分離的幀圖像的數(shù)據(jù)的頻率減少,但是該數(shù)據(jù)必須被保持。
發(fā)明內容
本發(fā)明是考慮到上述情況做出的,其目的是提供一種能夠高效利用用于運動圖像編碼的存儲器并且能夠進行高效的運動矢量搜索的運動圖像編碼設備以及該設備的控制方法和程序。
根據(jù)本發(fā)明,通過提供一種運動圖像編碼設備來實現(xiàn)上述目的,其通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,該運動圖像編碼設備包括檢測部件,用于檢測攝像裝置的運動;多個存儲部件,用于存儲所述多個幀數(shù)據(jù);選擇部件,用于基于由所述檢測部件檢測到的運動信息,從所述多個存儲部件中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲部件;估計部件,用于基于存儲在由所述選擇部件選擇的所述存儲部件中的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼部件,用于通過使用由所述估計部件估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出部件,用于輸出經所述編碼部件編碼的編碼數(shù)據(jù)。
在優(yōu)選實施例中,所述檢測部件基于由所述攝像裝置拍攝的運動圖像檢測所述攝像裝置的運動。
在優(yōu)選實施例中,所述選擇部件包括控制部件,該控制部件用于基于由所述檢測部件檢測到的運動信息來控制對所述多個存儲部件的寫入/讀取和供電。
在優(yōu)選實施例中,還包括設置部件,用于設置所述攝像裝置的圖像拍攝模式,其中,所述選擇部件包括控制部件,該控制部件用于基于由所述設置部件設置的圖像拍攝模式來控制對所述多個存儲部件的寫入/讀取和供電。
在優(yōu)選實施例中,所述控制部件停止對未被所述選擇部件選擇的存儲部件供電。
在優(yōu)選實施例中,該設備還包括搜索范圍控制部件,用于基于由所述檢測部件檢測的運動圖像控制來所述估計部件的運動矢量搜索范圍。
根據(jù)本發(fā)明,通過提供一種運動圖像編碼設備來實現(xiàn)上述目的,其通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,該運動圖像編碼設備包括設置部件,用于設置攝像裝置的圖像拍攝模式;多個存儲部件,用于存儲所述多個幀數(shù)據(jù);選擇部件,用于基于由所述設置部件設置的圖像拍攝模式,從所述多個存儲部件中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲部件;估計部件,用于基于存儲在由所述選擇部件選擇的所述存儲部件中的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼部件,用于通過使用由所述估計部件估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出部件,用于輸出經所述編碼部件編碼的編碼數(shù)據(jù)。
在優(yōu)選實施例中,所述選擇部件包括控制部件,該控制部件用于控制對所述多個存儲部件的寫入/讀取和供電。
在優(yōu)選實施例中,所述控制部件停止對未被所述選擇部件選擇的存儲部件供電。
在優(yōu)選實施例中,所述檢測部件基于由所述攝像裝置拍攝的運動圖像來檢測所述攝像裝置的運動。
根據(jù)本發(fā)明,通過提供一種運動圖像編碼設備來實現(xiàn)上述目的,其通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,該運動圖像編碼設備包括輸入部件,用于輸入控制攝像裝置的控制信息;存儲部件,用于存儲由所述攝像部件拍攝的運動圖像;設置部件,用于基于所述攝像裝置的運動信息來設置當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的數(shù)目,其中所述攝像裝置的運動信息是基于由所述輸入部件輸入的控制信息而獲得的;獲取部件,用于獲取與由所述設置部件設置的參考幀數(shù)據(jù)的數(shù)目相對應的參考幀數(shù)據(jù);估計部件,用于基于由所述獲取部件獲取的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼部件,用于通過使用由所述估計部件估計的運動矢量來對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出部件,用于輸出經所述編碼部件編碼的編碼數(shù)據(jù)。
在優(yōu)選實施例中,該設備還包括搜索范圍控制部件,用于基于所述運動信息來控制所述估計部件的運動矢量搜索范圍。
根據(jù)本發(fā)明,通過提供一種運動圖像編碼設備的控制方法來實現(xiàn)上述目的,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述控制方法包括檢測步驟,用于檢測攝像裝置的運動;選擇步驟,用于基于在所述檢測步驟中檢測到的運動信息,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
根據(jù)本發(fā)明,通過提供一種運動圖像編碼設備的控制方法來實現(xiàn)上述目的,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述控制方法包括設置步驟,用于設置攝像裝置的圖像拍攝模式;選擇步驟,用于基于在所述設置步驟中設置的圖像拍攝模式,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
根據(jù)本發(fā)明,通過提供一種運動圖像編碼設備的控制方法來實現(xiàn)上述目的,該運動圖像編碼設備包括用于存儲運動圖像的存儲單元,并通過參考存儲在所述存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述控制方法包括輸入步驟,用于輸入控制攝像裝置的控制信息;設置步驟,用于基于所述攝像裝置的運動信息來設置當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的數(shù)目,其中所述攝像裝置的運動信息是基于在所述輸入步驟中輸入的控制信息而獲得的;獲取步驟,用于獲取與在所述設置步驟中設置的所述參考幀數(shù)據(jù)的數(shù)目相對應的參考幀數(shù)據(jù);估計步驟,用于基于在所述獲取步驟中獲取的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
根據(jù)本發(fā)明,通過提供一種用于對運動圖像編碼設備實施控制的程序來實現(xiàn)上述目的,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述程序包括下列步驟的程序代碼檢測步驟,用于檢測攝像裝置的運動;選擇步驟,用于基于在所述檢測步驟中檢測到的運動信息,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
根據(jù)本發(fā)明,通過提供一種用于對運動圖像編碼設備實施控制的程序來實現(xiàn)上述目的,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述程序包括下列步驟的程序代碼設置步驟,用于設置攝像裝置的圖像拍攝模式;選擇步驟,用于基于在所述設置步驟中設置的圖像拍攝模式,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
根據(jù)本發(fā)明,通過提供一種用于對運動圖像編碼設備實施控制的程序來實現(xiàn)上述目的,該運動圖像編碼設備包括用于存儲運動圖像的存儲單元,并通過參考存儲在所述存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述程序包括下列步驟的程序代碼輸入步驟,用于輸入控制攝像裝置的控制信息;設置步驟,用于基于所述攝像裝置的運動信息來設置當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的數(shù)目,其中所述攝像裝置的運動信息是基于在所述輸入步驟中輸入的控制信息而獲得的;獲取步驟,用于獲取與在所述設置步驟中設置的所述參考幀數(shù)據(jù)的數(shù)目相對應的參考幀數(shù)據(jù);估計步驟,用于基于在所述獲取步驟中獲取的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
通過下面結合附圖的說明,本發(fā)明的其它特征和優(yōu)點將是很明顯的,其中在所有附圖中,同樣的附圖標記表示相同或類似的部分。
包括在說明書中并構成說明書的一部分的附圖,示出了本發(fā)明的實施例,并與說明書一起用來解釋本發(fā)明的原理。
圖1是示出根據(jù)本發(fā)明第一實施例的運動圖像編碼設備的配置的框圖;
圖2是示出根據(jù)本發(fā)明第一實施例由運動圖像編碼設備執(zhí)行的運動圖像編碼處理的流程圖;圖3是示出根據(jù)本發(fā)明第二實施例的運動圖像編碼設備的配置的框圖;圖4是示出根據(jù)本發(fā)明第二實施例由運動圖像編碼設備執(zhí)行的運動圖像編碼處理的流程圖;圖5是示出根據(jù)本發(fā)明第二實施例的幀存儲器控制M的細節(jié)的流程圖;圖6是示出根據(jù)本發(fā)明第二實施例的幀存儲器控制N的細節(jié)的流程圖;圖7是示出根據(jù)本發(fā)明第三實施例的運動圖像編碼設備的配置的框圖;圖8是示出根據(jù)本發(fā)明第三實施例由運動圖像編碼設備執(zhí)行的運動圖像編碼處理的流程圖;圖9是示出根據(jù)本發(fā)明第四實施例的運動圖像編碼設備的配置的框圖;圖10是示出根據(jù)本發(fā)明第四實施例的存儲器的數(shù)據(jù)結構的圖;圖11是示出根據(jù)本發(fā)明第四實施例由運動圖像編碼設備執(zhí)行的處理的流程圖;圖12是示出根據(jù)本發(fā)明第四實施例在步驟S305中的處理的細節(jié)的流程圖;以及圖13是傳統(tǒng)運動圖像編碼設備的配置的框圖。
具體實施例方式
將結合附圖詳細說明本發(fā)明的優(yōu)選實施例。
第一實施例圖1是示出根據(jù)本發(fā)明第一實施例的運動圖像編碼設備的配置的框圖。
下面將采用便攜式攝像機作為運動圖像編碼設備的例子說明第一實施例。
在第一實施例中,將采用H.264編碼方法作為例子說明由運動圖像編碼設備使用的編碼方法。然而,編碼方法不限于這種方法。此外,為了簡化說明,將采用前向預測(forward prediction)作為例子,其中,向前預測參考過去的幀。另外,為了簡化說明,參考幀的最大數(shù)目設置為5,但是該數(shù)目不局限于5。
參考圖1,攝像裝置1與由鏡頭等構成的光學單元協(xié)作生成圖像的數(shù)字信號。幀存儲器2存儲該數(shù)字信號。選擇器3根據(jù)編碼模式是幀內(intra-frame)編碼還是幀間(inter-frame)編碼選擇從幀存儲器2的輸出。
幀內預測器4通過H.264編碼方法執(zhí)行幀內預測。差分單元5計算運動預測誤差。變換器/量化器6執(zhí)行整數(shù)類型正交變換,并量化所獲得的系數(shù)。去量化器/反變換器10去量化該被量化的系數(shù),并執(zhí)行整數(shù)類型逆正交變換。
熵編碼器7對來自變換器/量化器6的量化結果進行編碼。記錄器8將編碼后的數(shù)據(jù)記錄在記錄介質9上。記錄介質9記錄編碼后的數(shù)據(jù)。加法器11將由去量化器/反變換器10獲得的預測誤差和所預測的值(所預測的圖像)相加。
幀存儲器12、13、14、15、16和17存儲局部解碼的圖像數(shù)據(jù)的幀。選擇器18控制輸入和輸出。
運動估計器19基于輸入圖像和解碼圖像從對應的幀中提取最佳運動矢量。運動補償器20根據(jù)由運動估計器19算出的運動矢量和對應的幀信息生成預測圖像。
運動編碼器21基于所算出的運動矢量和對應的幀信息對運動信息進行編碼。運動檢測器22通過使用陀螺儀、傳感器等檢測運動圖像編碼設備的運動。運動判定器23判定由運動檢測器22檢測到的運動圖像編碼設備的運動速度。
圖1所示的運動圖像編碼設備還包括CPU,用于控制整個設備;ROM,用于存儲控制該設備的各種控制程序;以及RAM,用作用于執(zhí)行各種控制操作的各種數(shù)據(jù)的工作區(qū)域和暫時保存區(qū)域。
下面將說明圖1所示的運動圖像編碼設備的運動圖像編碼操作。
在編碼之前,熵編碼器7生成包含例如可被參考的幀的數(shù)目的頭信息,并通過記錄器8將該頭信息記錄在記錄介質9上。
由攝像裝置1拍攝的幀的圖像數(shù)據(jù)被存儲在幀存儲器2中,并被輸入到選擇器3。選擇器3的選擇操作被控制成以預定的間隔執(zhí)行幀內編碼,并以其它時間段執(zhí)行幀間編碼。
下面首先說明對作為開始幀的第一幀執(zhí)行的幀內編碼。
將輸入幀數(shù)據(jù)逐宏塊地輸入到幀內預測器4,幀內預測器4對每個塊執(zhí)行幀內預測。將預測結果輸入到變換器/量化器6,變換器/量化器6執(zhí)行整數(shù)類型正交變換,并對所獲得的系數(shù)進行量化。該被量化的系數(shù)作為量化結果輸入到熵編碼器7和去量化器/反變換器10。
熵編碼器7對所輸入的量化結果進行熵編碼,并通過記錄器8將編碼后的數(shù)據(jù)記錄在記錄介質9上。
去量化器/反變換器10從輸入的量化結果獲得解碼圖像,并將該解碼圖像輸入到加法器11。幀內編碼不使用預測圖像。因此,加法器11加上預測值0,并將該圖像存儲在空的幀存儲器中或者存儲在存儲了幀存儲器中所記錄的參考圖像的最早的圖像數(shù)據(jù)的幀存儲器中。最初,沒有圖像數(shù)據(jù)存儲在幀存儲器12至17中,所以該圖像被存儲在存儲器12中。
下面將說明對隨后的第二幀執(zhí)行的幀間編碼。
運動檢測器22檢測運動圖像編碼設備本身的運動。例如,運動檢測器22計算垂直和水平運動矢量MVx和MVy,并將這些矢量的平方和定義為運動圖像編碼設備的運動幅度。運動判定器23判定運動圖像編碼設備的運動幅度是否大于預定值。
如果運動圖像編碼設備的運動幅度大于預定值,則運動判定器23控制選擇器18從幀存儲器12至17中選擇輸出,使得將來自幀存儲器12至17的兩個時間上最新的幀用作參考圖像。如果運動圖像編碼設備的運動幅度等于或小于預定值,則運動判定器23控制選擇器18從幀存儲器12至17中選擇全部輸出。
運動估計器19讀出所選擇的幀存儲器的內容,并計算運動矢量。運動補償器20生成預測圖像,并將該圖像輸入到差分單元5。選擇器3選擇差分單元5作為輸出。差分單元5計算預測誤差。將計算結果輸入到變換器/量化器6。在變換器/量化器6執(zhí)行整數(shù)類型正交變換并對所獲得的系數(shù)進行量化。將量化后的系數(shù)作為量化結果輸入到熵編碼器7和去量化器/反變換器10。
熵編碼器7對所輸入的量化結果進行熵編碼,并通過記錄器8將編碼后的數(shù)據(jù)記錄在記錄介質9上。此外,由運動編碼器21對運動估計器19算出的運動矢量進行編碼,并通過記錄器8將編碼后的數(shù)據(jù)記錄在記錄介質9上。
去量化器/反變換器10從所輸入的量化結果中獲得預測誤差,并將該預測誤差輸入到加法器11。加法器11將來自運動補償器20的預測圖像(預測值)加到該預測誤差,并將和存儲在空的幀存儲器中或者存儲在存儲了幀存儲器中所記錄的參考圖像的最早的圖像數(shù)據(jù)的幀存儲器中。
下面參考圖2說明根據(jù)第一實施例的運動圖像編碼設備的運動圖像編碼處理的處理流程。
圖2是示出根據(jù)本發(fā)明第一實施例的運動圖像編碼設備的運動圖像編碼處理的流程圖。
首先,在步驟S1,生成并輸出頭信息。在步驟S2,判斷是否完成了對所有幀的編碼。如果編碼完成(步驟S2中的“是”),則終止處理。如果編碼沒有完成(步驟S2中的“否”),則流程前進到步驟S3。
在步驟S3,輸入將被編碼的幀數(shù)據(jù)。在步驟S4,檢測運動圖像編碼設備的運動。
在步驟S5,將所檢測到的運動圖像編碼設備的運動的幅度與預定值相比較。如果運動幅度等于或小于預定值(步驟S5中的“否”),則流程前進到步驟S6,以將參考幀的數(shù)目設置為M(在此情況下為5)。如果運動幅度大于預定值(步驟S5中的“是”),則流程前進到步驟S7,以將參考幀的數(shù)目設置為N(在此情況下為2)。在本實施例中,總保持M>N。
在步驟S8,判斷將被編碼的幀數(shù)據(jù)的編碼模式。
如果編碼模式是幀內編碼,則流程前進到步驟S9,以對輸入的幀數(shù)據(jù)執(zhí)行幀內編碼。之后,流程前進到步驟S11。
如果編碼模式是幀間編碼,則流程前進到步驟S10,以在參考數(shù)目上等于參考幀的幀存儲器中的圖像的同時,通過執(zhí)行運動補償來執(zhí)行幀間編碼。之后,流程前進到步驟S11。
在步驟S11,將解碼圖像存儲在空的幀存儲器中或者存儲在存儲了幀存儲器中時間上最早的圖像數(shù)據(jù)的幀存儲器中。
在步驟S12,將編碼后的數(shù)據(jù)記錄在記錄介質9上。然后,流程返回到步驟S2,以處理下一幀。
在上述第一實施例中,如果攝像裝置的運動很大(劇烈),則在時間上分開的幀的參考頻率急劇下降,所以這些幀沒有被參考。這大大降低了與運動補償有關的運算處理量。結果,可提高處理速度。
在第一實施例中,參考幀的最大數(shù)目被設置為5。然而,顯然還可以通過使用必需數(shù)目的幀存儲器來使用任何數(shù)目的參考幀。
而且,在第一實施例中,當運動很大時的參考幀的數(shù)目不限于上面提到的數(shù)目。另外,將被選擇的幀的數(shù)目還可根據(jù)運動幅度而變化。例如,可與運動圖像編碼設備的運動幅度成反比地確定可被參考的幀的數(shù)目,或者還可以使用一些其它標準。
在第一實施例中,由運動檢測器22(傳感器)檢測攝像裝置1的運動。然而,也可以基于輸入的圖像數(shù)據(jù)檢測攝像裝置1的運動。例如,還可以通過生成縮小的(reduced)圖像檢測粗略的運動矢量,或者檢測圖像的若干個點的運動并使用該檢測結果作為攝像裝置1的運動。
通過僅采用前向預測作為例子說明了第一實施例。然而,通過使用必需數(shù)目的幀存儲器還可以進行后向預測或雙向預測。
當然,還可以用軟件描述根據(jù)第一實施例的運動圖像編碼設備的各種組成要素的一些或全部,并通過運算單元例如CPU執(zhí)行處理。
第二實施例圖3是示出根據(jù)本發(fā)明第二實施例的運動圖像編碼設備的配置的框圖。
在圖3中與第一實施例的圖1中相同的附圖標記表示具有相同功能的部分,并省略其說明。
參看圖3,運動估計器100參考輸入圖像和來自幀存儲器12至17的解碼圖像數(shù)據(jù)中可被參考的幀數(shù)據(jù),并從對應的幀數(shù)據(jù)中提取最佳運動矢量。
運動補償器101根據(jù)由運動估計器100算出的運動矢量和對應的幀信息生成預測圖像。幀存儲器控制器102控制幀存儲器12至17。即,幀存儲器控制器102控制對幀存儲器12至17的寫入、讀取和供電。
下面將說明圖3所示的運動圖像編碼設備的運動圖像編碼操作。
首先,與第一實施例中相同,生成頭信息并通過記錄器8將頭信息記錄在記錄介質9上。
然后,與第一實施例中相同,由攝像裝置1拍攝的幀的圖像數(shù)據(jù)被存儲在幀存儲器2中并被輸入到選擇器3。
當要執(zhí)行幀內編碼時,處理與第一實施例中的完全相同,并且通過記錄器8將所生成的編碼后的數(shù)據(jù)記錄在記錄介質9上。
另外,根據(jù)來自幀存儲器控制器102的指令,解碼圖像被存儲在空的幀存儲器中或者存儲在存儲了幀存儲器中所記錄的參考圖像的最早的圖像數(shù)據(jù)的幀存儲器中。即,幀存儲器控制器102向未使用的幀存儲器中的一個供電以將其設置為可寫入狀態(tài),或者將幀存儲器中具有最早的幀的幀存儲器設置為可寫入狀態(tài)。
下面說明幀間編碼的執(zhí)行。
與第一實施例中相同,運動檢測器22檢測運動圖像編碼設備本身的運動。例如,運動檢測器22計算垂直和水平運動矢量MVx和MVy,并將這些矢量的平方和定義為運動圖像編碼設備的運動幅度。運動判定器23判定運動圖像編碼設備的運動幅度是否大于預定值。
如果運動圖像編碼設備的運動幅度大于預定值,則運動判定器23向幀存儲器控制器102通知運動圖像編碼設備運動很大。當接收到該通知時,幀存儲器控制器102將幀存儲器12至17中的兩個設置為可讀取狀態(tài),并將另一個幀存儲器設置為可寫入狀態(tài),以便于從幀存儲器12至17中選擇輸出,使得兩個在時間上最新的幀被選擇作為參考圖像。另外,幀存儲器控制器102停止向其它幀存儲器供電。
如果運動圖像編碼設備的運動幅度等于或小于預定值,則運動判定器23向幀存儲器控制器102通知運動圖像編碼設備沒有大的運動。當接收到該通知時,幀存儲器控制器102將存儲該幀數(shù)據(jù)的幀存儲器設置為可讀取狀態(tài)。而且,幀存儲器控制器102向未使用的幀存儲器中的一個供電,以將其設置為可寫入狀態(tài),或者將幀存儲器中具有最早的幀的幀存儲器設置為可寫入狀態(tài)。
運動估計器100讀出被設置為可讀取狀態(tài)的幀存儲器的內容,并計算運動矢量。運動補償器101生成預測圖像,并將該圖像輸入到差分單元5。之后,與第一實施例中相同,進行幀間編碼,并通過記錄器8將編碼后的數(shù)據(jù)記錄在記錄介質9上。
去量化器/反變換器10從輸入的量化結果中獲得預測誤差,并將該預測誤差輸入到加法器11。加法器11將來自運動補償器101的預測圖像與預測誤差相加,并將相加結果存儲在被設置為可寫入狀態(tài)的幀存儲器中。
下面將參考圖4至圖6說明根據(jù)第二實施例的運動圖像編碼設備的運動圖像編碼處理的處理流程。
圖4是示出根據(jù)本發(fā)明第二實施例的運動圖像編碼設備的運動圖像編碼處理的流程圖。
在圖4中與第一實施例的圖2中相同的附圖標記表示具有相同功能的步驟,并省略其說明。
與第一實施例中相同,在步驟S1至S4的處理之后,在步驟S5,如果運動幅度等于或小于預定值(步驟S5中的“否”),則流程前進到步驟S100以執(zhí)行幀存儲器控制M。如果運動幅度大于預定值(步驟S5中的“是”),則流程前進到步驟S101,以執(zhí)行幀存儲器控制N。在本實施例中,總保持M>N。
下面參考圖5說明步驟S100中幀存儲器控制M的細節(jié)。
圖5是示出根據(jù)本發(fā)明第二實施例的幀存儲器控制M的細節(jié)的流程圖。
在步驟S102,參考幀的數(shù)目被設置為M(在本情況下為5)。在步驟S103,判斷沒有被供電并沒被使用的未使用的幀存儲器的存在/不存在。如果沒有未使用的幀存儲器(步驟S103中的“否”),則流程前進到步驟S104,以將存儲了在時間上最早的圖像數(shù)據(jù)(參考幀)的幀存儲器設置為可寫入狀態(tài)。
另一方面,如果存在未用的幀存儲器(步驟S103中的“是”),則流程前進到步驟S105,以選擇一個未用的幀存儲器并通過向其供電使其成為可用的。在步驟S106,將在步驟S105中成為可用的該幀存儲器設置為可寫入狀態(tài)。
在步驟S107,將剩余的幀存儲器中在時間上最新的最多M個幀存儲器設置為可讀取狀態(tài)。這樣,完成幀存儲器控制M的序列,流程前進到圖4中的步驟S8。
下面參考圖6說明步驟S101中幀存儲器控制N的細節(jié)。
圖6是示出根據(jù)本發(fā)明第二實施例的幀存儲器控制N的細節(jié)的流程圖。
在步驟S110,參考幀的數(shù)目被設置為N(在此情況下為2)。
在步驟S111,將剩余的幀存儲器中在時間上最新的N個幀存儲器設置為可讀取狀態(tài)。在步驟S112,將剩余的幀存儲器中的一個設置為可寫入狀態(tài)。
在步驟S113,停止對依然剩余的幀存儲器供電,因為它們是未被使用的幀存儲器。這樣,完成存儲器控制N的序列,流程前進到步驟S8。
返回到圖4,與第一實施例中的相同,在步驟S8至S10中的處理之后,在步驟S102,將解碼圖像存儲在幀存儲器中可寫入的一個幀存儲器中。在步驟S12,將該編碼后的數(shù)據(jù)記錄在記錄介質9上,流程返回到步驟S2以處理下一幀。
在如上所述的第二實施例中,除了第一實施例中所說明的效果以外,通過停止向未使用的幀存儲器供電可減少功耗。因此,特別在通過有限的電源來運行設備的環(huán)境中,可延長設備的運行時間。
在第二實施例中,參考幀的最大數(shù)目被設置為5。然而,顯然還可以通過使用必需數(shù)目的幀存儲器來使用任何數(shù)目的參考幀。
而且,在第二實施例中,當運動大時的參考幀的數(shù)目不限于上面提到的數(shù)目。另外,將被選擇的幀的數(shù)目還可根據(jù)運動幅度而改變。例如,可與運動圖像編碼設備的運動幅度成反比地確定可被參考的幀的數(shù)目,或者還可以使用一些其它標準。
通過僅采用前向預測作為例子說明了第二實施例。然而,還可以通過使用必需數(shù)目的幀存儲器進行后向預測或雙向預測。
當然,還可以用軟件描述根據(jù)第二實施例的運動圖像編碼設備的各種組成要素的一些或全部,并通過運算單元例如CPU執(zhí)行處理。
第三實施例圖7是示出根據(jù)本發(fā)明第三實施例的運動圖像編碼設備的配置的框圖。
圖7中與第二實施例的圖3中相同的附圖標記表示具有相同功能的部分,并省略其說明。
參看圖7,圖像拍攝模式設置單元200設置運動圖像編碼設備的圖像拍攝模式。圖像拍攝模式的例子有作為標準的“自動模式”、用于拍攝具有高速度的被攝體的圖像的“運動模式”、以及用于拍攝山、海等風景的圖像的“風景”模式。然而,圖像拍攝模式不限于這些例子。
幀存儲器控制器201控制幀存儲器12至17。根據(jù)圖像拍攝模式,幀存儲器控制器201控制對幀存儲器12至17的寫入、讀取以及供電。攝像裝置202可根據(jù)來自圖像拍攝模式設置單元200的指令控制快門速度、光圈值等。
下面說明圖7中所示的運動圖像編碼設備的運動圖像編碼操作。
首先,在開始圖像拍攝之前,用戶通過使用圖像拍攝模式設置單元200設置攝像裝置202的圖像拍攝模式。將所設置的圖像拍攝模式輸入到攝像裝置202和幀存儲器控制器201。攝像裝置202選擇并設置適于所設置的圖像拍攝模式的快門速度和F值(F-number)。
當選擇了“自動模式”時,幀存儲器控制器201將參考幀的數(shù)目設置為3,并停止對幀存儲器16和17供電,以將它們保持為未使用。當選擇了“運動模式”時,幀存儲器控制器201將參考幀的數(shù)目設置為1,并停止對幀存儲器14至17供電以將它們保持為未使用。當選擇了“風景模式”時,幀存儲器控制器201將參考幀的數(shù)目設置為5。
之后,通過使用被供電的幀存儲器對每一幀執(zhí)行幀內編碼或幀間編碼。
當要執(zhí)行幀內編碼時,幀存儲器控制器201按順序將被供電的幀存儲器中空的幀存儲器或存儲了在時間上最早的幀的幀存儲器設置為可寫入狀態(tài),并存儲解碼圖像。
當要執(zhí)行幀間編碼時,幀存儲器控制器201按順序將被供電的幀存儲器中空的幀存儲器或存儲了在時間上最早的幀的幀存儲器設置為可寫入狀態(tài),并將其它幀存儲器設置為可讀取狀態(tài)。
注意,在幀間編碼中,對每個圖像拍攝模式設置參考幀的數(shù)目。因此,根據(jù)參考幀的數(shù)目,計算運動矢量,并執(zhí)行運動補償。通過記錄器8將所生成的編碼后的數(shù)據(jù)記錄在記錄介質9上。將解碼圖像存儲在被設置為可寫入狀態(tài)的幀存儲器中。
下面參考圖8說明根據(jù)第三實施例的運動圖像編碼設備的運動圖像編碼處理的處理流程。
圖8是示出根據(jù)本發(fā)明第三實施例的運動圖像編碼設備的運動圖像編碼處理的流程圖。
圖8中與第一實施例的圖2中相同的附圖標記表示具有相同功能的步驟,并將省略其說明。
在步驟S200,設置圖像拍攝模式。
假定在圖8中,“運動模式”、“風景模式”、以及“自動模式”是圖像拍攝模式。
在步驟S201,判斷圖像拍攝模式是否為“運動模式”。如果圖像拍攝模式是“運動模式”(步驟S201中的“是”),則流程前進到步驟S202,以將參考幀的數(shù)目設置為N(在此情況下為1)。在步驟S203,停止對未使用的幀存儲器供電。之后,流程前進到步驟S1。
如果在步驟S201中圖像拍攝模式不是“運動模式”(步驟S201中的“否”),則流程前進到步驟S204,以判斷圖像拍攝模式是否為“風景模式”。如果圖像拍攝模式是“風景模式”,則流程前進到步驟S205,以將參考幀的數(shù)目設置為P(在此情況下為5)。之后,流程前進到步驟S1。
如果圖像拍攝模式不是“風景模式”(步驟S204中的“否”),則流程前進到步驟S206,以將參考幀的數(shù)目設置為M(在此情況下為3)。在步驟S207,停止對未使用的幀存儲器供電。然后流程前進到步驟S1。在本實施例中,始終保持P≥M≥N。
之后,與第一實施例中相同,基于所設置的參考幀的數(shù)目P、M和N中的一個執(zhí)行步驟S1至S3和S8至S12中的處理。
在上述第三實施例中,基于由圖像拍攝模式預期的將被編碼的運動圖像的運動幅度來控制參考幀的數(shù)目。因此,可依照該運動執(zhí)行最佳處理。
此外,由于基于圖像拍攝模式預設參考幀的數(shù)目,所以可進行最佳參考。另外,通過停止對未使用的幀存儲器供電可減少功耗。因此,特別在由有限的電源運行設備的環(huán)境中,可延長設備的運行時間。
在第三實施例中,將參考幀的最大數(shù)目設置為5。然而,顯然還可以通過使用所需數(shù)目的幀存儲器來使用任意數(shù)目的參考幀。
此外,僅采用前向預測作為例子說明了第三實施例。然而,通過使用必需數(shù)目的幀存儲器還可以進行后向預測或雙向預測。
當然,還可以用軟件描述根據(jù)第三實施例的運動圖像編碼設備的各種組成要素的一些或全部,并由運算單元例如CPU執(zhí)行處理。
第四實施例圖9是示出根據(jù)本發(fā)明第四實施例的運動圖像編碼設備的配置的框圖。
參看圖9,中央處理單元(CPU)300控制整個設備并進行各種處理。存儲器301為控制該設備所必需的操作系統(tǒng)(OS)、軟件以及運算操作提供存儲區(qū)域??偩€302相互連接形成該運動圖像編碼設備的各種組成要素,并傳送數(shù)據(jù)和控制信號。
終端303用于啟動該設備、設置各種條件并執(zhí)行回放指令。存儲裝置304存儲軟件。存儲裝置305存儲編碼流。存儲裝置304和305還可以是可從運動圖像編碼設備分開和搬移的便攜式存儲介質。
照相機(攝像裝置)307可逐幀地拍攝運動圖像。照相機307的照相機云臺(panhead)306由軟件來控制,并具有將來自照相機307的圖像數(shù)據(jù)、照相機307的狀態(tài)以及照相機云臺306本身的狀態(tài)輸出到總線302的功能。
監(jiān)視器308顯示圖像。通信線310是例如LAN、公用線路、無線電信道或廣播無線電波。通信接口(I/F)309通過通信線310發(fā)送和接收流。
存儲器301存儲用于控制整個設備并運行各種軟件的OS,并且還存儲將被運行的軟件。另外,存儲器301具有用于存儲圖像數(shù)據(jù)的圖像區(qū)域、用于存儲所生成的編碼后的數(shù)據(jù)的編碼區(qū)域、以及用于存儲例如各種運算操作和編碼用參數(shù)的工作區(qū)域。
下面將說明在上述配置中通過通信線310從外部終端控制照相機云臺306和照相機307、對照相機307所拍攝的運動圖像進行編碼、并通過通信線310將編碼后的運動圖像發(fā)送到外部終端的處理。
在第四實施例中,將采用H.264編碼方法作為例子說明由運動圖像編碼設備使用的編碼方法。然而,可以使用任何編碼方法,只要參考兩幀或更多幀對圖像進行編碼即可。而且,為了簡化說明,參考將被編碼的幀之前的三幀和之后的三幀。然而,參考幀的數(shù)目不受限制。
在該處理之前,終端303指示整個設備進行啟動,從而初始化各個組成要素。因此,存儲在存儲裝置304中的軟件通過總線302展開到存儲器301上,并被啟動。
下面將參考圖10說明存儲器301的數(shù)據(jù)結構。
圖10是示出根據(jù)本發(fā)明第四實施例的存儲器的數(shù)據(jù)結構的圖。
如圖10所示,存儲器301存儲用于控制整個設備并運行各種軟件的OS、用于執(zhí)行H.264編碼方法的運動圖像編碼軟件、用于控制通信的通信軟件、以及用于控制照相機云臺306的照相機控制軟件。存儲器301還具有用于存儲圖像數(shù)據(jù)的圖像區(qū)域1至7、用于存儲編碼后的數(shù)據(jù)的編碼區(qū)域、以及工作區(qū)域。
下面將參考圖11說明CPU 300控制如上所述配置的運動圖像編碼設備的方式。
圖11是示出由根據(jù)本發(fā)明第四實施例的運動圖像編碼設備執(zhí)行的處理的流程圖。
在步驟S300中,CPU 300啟動照相機控制軟件以初始化各個部分、并開始拍攝運動圖像。在步驟S301,CPU 300啟動通信軟件以通過通信線310接收照相機控制信息,從而為輸出編碼后的數(shù)據(jù)做準備。
在步驟S302,CPU 300判斷是否從終端303輸入了處理終止。如果輸入了終止(步驟S302中的“是”),則流程前進到步驟S307,并且CPU 300終止通信軟件。在步驟S308,CPU 300終止照相機控制軟件,然后終止整個處理。
另一方面,如果在步驟S302中沒有輸入終止(步驟S302中的“否”),則流程前進到步驟S303,CPU 300判斷是否通過通信接口309從通信線310輸入了照相機控制請求和運動圖像發(fā)送請求。如果沒有輸入這種請求(步驟S303中的“否”),則流程返回到步驟S302,CPU 300進行等待,直到輸入了這些請求。如果這些請求被輸入(步驟S303中的“是”),則流程前進到步驟S304。
在步驟S304,CPU 300啟動運動圖像編碼軟件。在步驟S305,CPU 300執(zhí)行編碼并發(fā)送編碼后的數(shù)據(jù)。后面將詳細說明該處理。當該通信完成時,流程前進到步驟S306。在步驟S306,CPU 300終止編碼軟件。然后,流程返回到步驟S302,CPU 300等待下一個指示。
下面將參考圖12詳細說明步驟S305中的處理。
圖12是示出根據(jù)本發(fā)明第四實施例的步驟S305中的處理細節(jié)的流程圖。
首先,在步驟S351,生成頭信息,并將該頭信息存儲在存儲器301上的編碼區(qū)域中。當編碼后的數(shù)據(jù)被存儲在編碼區(qū)域中時,通信軟件通過通信接口309將數(shù)據(jù)發(fā)送到通信線310,并且在發(fā)送之后,清空編碼區(qū)域的對應區(qū)。在下面的說明中將不具體說明編碼區(qū)域中編碼后的數(shù)據(jù)的發(fā)送。
在步驟S352,CPU 300判斷通信終止請求的存在/不存在。如果通信終止請求存在(步驟S352中的“是”),則CPU 300終止該處理。如果通信終止請求不存在(步驟S352中的“否”),則流程前進到步驟S353。
在步驟S353,如果通過通信接口309從通信線310接收到用于控制照相機的照相機控制命令,則CPU 300將該命令輸入到照相機云臺306?;谠撜障鄼C控制命令,照相機云臺306進行例如左右搖動、上下擺動以及變焦操作。
在步驟S354,CPU 300通過照相機云臺306輸入由照相機307拍攝的幀數(shù)據(jù),并將該數(shù)據(jù)存儲在存儲器301上的圖像區(qū)域1。
在步驟S355,CPU 300通過照相機云臺306獲取關于照相機307的運動的數(shù)據(jù)。即,照相機云臺306在收到照相機控制命令之后操作照相機307,并且可通過監(jiān)視電動機等的狀態(tài)來獲取與照相機307的運動有關的數(shù)據(jù)。CPU 300將所獲取的數(shù)據(jù)寫入存儲器301上的工作區(qū)域中。
在步驟S356,CPU 300將所獲得的與照相機307的運動有關的數(shù)據(jù)(運動的幅度)和預定值進行比較。
如果運動的幅度等于或小于預定值(步驟S356中的“否”),則流程前進到步驟S357,并且CPU 300將前和后參考幀的數(shù)目設置為M(在此情況下為3)。然后,在步驟S358中,CPU 300設置m×m作為在幀間編碼期間進行運動補償時使用的運動矢量的搜索范圍(后面將說明)。在此情況下,m是例如32像素。之后,流程前進到步驟S361。
如果運動的幅度大于預定值(步驟S356中的“是”),則流程前進到步驟S359,并且CPU 300將前和后參考幀的數(shù)目設置為N(在此情況下為1)。在本實施例中,始終保持M>N。在步驟S360,CPU 300設置n×n作為在幀間編碼期間進行運動補償時使用的運動矢量的搜索范圍(后面將說明)。在此情況下,n為例如55像素。之后,流程前進到步驟S361。
在步驟S361,CPU 300判定將被編碼的幀數(shù)據(jù)的編碼模式。
如果編碼模式是幀內編碼,則流程前進到步驟S362,CPU 300對所輸入的幀數(shù)據(jù)執(zhí)行幀內編碼。然后,CPU 300將所生成的編碼后的數(shù)據(jù)存儲在存儲器301上的編碼區(qū)域中,流程前進到步驟S364。
如果編碼模式是幀間編碼,則流程前進到步驟S363,CPU 300在參考具有所設置數(shù)目的參考幀的圖像區(qū)域中的圖像的同時,通過搜索所設置的范圍內的運動矢量執(zhí)行運動補償來執(zhí)行幀間編碼。然后CPU 300將所生成的編碼后的數(shù)據(jù)存儲在存儲器301上的編碼區(qū)域中,流程前進到步驟S364。
在步驟S364,CPU 300將解碼圖像存儲在存儲器301上的空的圖像區(qū)域中或者存儲在圖像區(qū)域中存儲了在時間上最早的圖像數(shù)據(jù)的圖像區(qū)域中。在步驟S365,CPU 300通過通信接口309將存儲在編碼區(qū)域中的編碼后的數(shù)據(jù)發(fā)送到通信線310,流程返回到步驟S352以處理下一幀。
在如上所述的第四實施例中,如果照相機的運動很大(劇烈),則不參考在時間上分開的幀,因為這些幀的參考頻率急劇下降。這樣,可大大減少運動補償?shù)倪\算處理量。因此,可提高處理速度。
此外,如果照相機的運動很大(劇烈),則在通過使運動矢量搜索范圍比照相機運動小時的搜索范圍寬,可進行準確的運動矢量搜索。即,當參考幀的數(shù)目從5減少到2時,即使運動矢量搜索范圍擴大到(3025(55×55))/1024(32×32))1/2,仍可保持相同的算術運算量。這使得可以在不增加CPU負擔的情況下高效搜索運動矢量。
在第四實施例中,參考幀在將被編碼的幀之前是三幀,在其之后是三幀。然而,顯然還可以通過保證用于存儲參考幀的必需量的圖像區(qū)域,使用任何數(shù)目的參考幀。
在第四實施例中,通過啟動通信軟件將數(shù)據(jù)經由通信接口309發(fā)送到通信線310。然而,還可以將數(shù)據(jù)存儲在存儲裝置305中。
另外,輸入的圖像不必是來自照相機的拍攝圖像。還可以使用存儲在存儲裝置305中的運動圖像數(shù)據(jù),并且在判斷出幀的運動幅度的同時改變參考幀的數(shù)目。而且,如果檢測到場景變化等,還可以改變參考幀的數(shù)目。
當然,還可以根據(jù)應用或目的通過自由組合第一至第四實施例的配置來實現(xiàn)實施例。
由于在不脫離本發(fā)明的精神和范圍的情況下可作出許多明顯不同的實施例,因此,應該理解,除了由所附權利要求限定以外,本發(fā)明不局限于特定實施例。
優(yōu)先權要求本申請要求2003年12月22日提交的日本專利申請2003-425826的優(yōu)先權,在此引入該申請作為參考。
權利要求
1.一種運動圖像編碼設備,其通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,該運動圖像編碼設備包括檢測部件,用于檢測攝像裝置的運動;多個存儲部件,用于存儲所述多個幀數(shù)據(jù);選擇部件,用于基于由所述檢測部件檢測到的運動信息,從所述多個存儲部件中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲部件;估計部件,用于基于存儲在由所述選擇部件選擇的所述存儲部件中的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼部件,用于通過使用由所述估計部件估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出部件,用于輸出經所述編碼部件編碼的編碼數(shù)據(jù)。
2.根據(jù)權利要求1所述的運動圖像編碼設備,其特征在于,所述檢測部件基于由所述攝像裝置拍攝的運動圖像檢測所述攝像裝置的運動。
3.根據(jù)權利要求1所述的運動圖像編碼設備,其特征在于,所述選擇部件包括控制部件,該控制部件用于基于由所述檢測部件檢測到的運動信息來控制對所述多個存儲部件的寫入/讀取和供電。
4.根據(jù)權利要求1所述的運動圖像編碼設備,其特征在于,還包括設置部件,用于設置所述攝像裝置的圖像拍攝模式,其中,所述選擇部件包括控制部件,該控制部件用于基于由所述設置部件設置的圖像拍攝模式來控制對所述多個存儲部件的寫入/讀取和供電。
5.根據(jù)權利要求3或4所述的運動圖像編碼設備,其特征在于,所述控制部件停止對未被所述選擇部件選擇的存儲部件供電。
6.根據(jù)權利要求1所述的運動圖像編碼設備,其特征在于,還包括搜索范圍控制部件,用于基于由所述檢測部件檢測的運動信息來控制所述估計部件的運動矢量搜索范圍。
7.一種運動圖像編碼設備,其通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,該運動圖像編碼設備包括設置部件,用于設置攝像裝置的圖像拍攝模式;多個存儲部件,用于存儲所述多個幀數(shù)據(jù);選擇部件,用于基于由所述設置部件設置的圖像拍攝模式,從所述多個存儲部件中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲部件;估計部件,用于基于存儲在由所述選擇部件選擇的所述存儲部件中的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼部件,用于通過使用由所述估計部件估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出部件,用于輸出經所述編碼部件編碼的編碼數(shù)據(jù)。
8.根據(jù)權利要求7所述的運動圖像編碼設備,其特征在于,所述選擇部件包括控制部件,該控制部件用于控制對所述多個存儲部件的寫入/讀取和供電。
9.根據(jù)權利要求8所述的運動圖像編碼設備,其特征在于,所述控制部件停止對未被所述選擇部件選擇的存儲部件供電。
10.根據(jù)權利要求7所述的運動圖像編碼設備,其特征在于,所述檢測部件基于由所述攝像裝置拍攝的運動圖像來檢測所述攝像裝置的運動。
11.一種運動圖像編碼設備,其通過參考運動圖像中的多個幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,該運動圖像編碼設備包括輸入部件,用于輸入控制攝像裝置的控制信息;存儲部件,用于存儲由所述攝像部件拍攝的運動圖像;設置部件,用于基于所述攝像裝置的運動信息來設置當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的數(shù)目,其中所述攝像裝置的運動信息是基于由所述輸入部件輸入的控制信息而獲得的;獲取部件,用于獲取與由所述設置部件設置的參考幀數(shù)據(jù)的數(shù)目相對應的參考幀數(shù)據(jù);估計部件,用于基于由所述獲取部件獲取的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼部件,用于通過使用由所述估計部件估計的運動矢量來對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出部件,用于輸出經所述編碼部件編碼的編碼數(shù)據(jù)。
12.根據(jù)權利要求11所述的運動圖像編碼設備,其特征在于,還包括搜索范圍控制部件,用于基于所述運動信息來控制所述估計部件的運動矢量搜索范圍。
13.一種運動圖像編碼設備的控制方法,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述控制方法包括檢測步驟,用于檢測攝像裝置的運動;選擇步驟,用于基于在所述檢測步驟中檢測到的運動信息,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
14.一種運動圖像編碼設備的控制方法,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述控制方法包括設置步驟,用于設置攝像裝置的圖像拍攝模式;選擇步驟,用于基于在所述設置步驟中設置的圖像拍攝模式,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
15.一種運動圖像編碼設備的控制方法,該運動圖像編碼設備包括用于存儲運動圖像的存儲單元,并通過參考存儲在所述存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述控制方法包括輸入步驟,用于輸入控制攝像裝置的控制信息;設置步驟,用于基于所述攝像裝置的運動信息來設置當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的數(shù)目,其中所述攝像裝置的運動信息是基于在所述輸入步驟中輸入的控制信息而獲得的;獲取步驟,用于獲取與在所述設置步驟中設置的所述參考幀數(shù)據(jù)的數(shù)目相對應的參考幀數(shù)據(jù);估計步驟,用于基于在所述獲取步驟中獲取的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
16.一種用于對運動圖像編碼設備實施控制的程序,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述程序包括下列步驟的程序代碼檢測步驟,用于檢測攝像裝置的運動;選擇步驟,用于基于在所述檢測步驟中檢測到的運動信息,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
17.一種用于對運動圖像編碼設備實施控制的程序,該運動圖像編碼設備包括用于存儲運動圖像中的多個幀數(shù)據(jù)的多個存儲單元,并通過參考存儲在所述多個存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述程序包括下列步驟的程序代碼設置步驟,用于設置攝像裝置的圖像拍攝模式;選擇步驟,用于基于在所述設置步驟中設置的圖像拍攝模式,從所述多個存儲單元中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的存儲單元;估計步驟,用于基于存儲在所述選擇步驟選擇的存儲單元中的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的所述運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
18.一種用于對運動圖像編碼設備實施控制的程序,該運動圖像編碼設備包括用于存儲運動圖像的存儲單元,并通過參考存儲在所述存儲單元中的幀數(shù)據(jù)對將被編碼的幀數(shù)據(jù)執(zhí)行運動補償來編碼該運動圖像,所述程序包括下列步驟的程序代碼輸入步驟,用于輸入控制攝像裝置的控制信息;設置步驟,用于基于所述攝像裝置的運動信息來設置當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的數(shù)目,其中所述攝像裝置的運動信息是基于在所述輸入步驟中輸入的控制信息而獲得的;獲取步驟,用于獲取與在所述設置步驟中設置的所述參考幀數(shù)據(jù)的數(shù)目相對應的參考幀數(shù)據(jù);估計步驟,用于基于在所述獲取步驟中獲取的所述參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量;編碼步驟,用于通過使用在所述估計步驟中估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼;以及輸出步驟,用于輸出在所述編碼步驟中被編碼的編碼數(shù)據(jù)。
全文摘要
運動檢測器檢測攝像裝置的運動。基于所檢測到的運動信息,選擇器從用于存儲多個幀數(shù)據(jù)的多個幀存儲器中選擇用于存儲當對將被編碼的幀數(shù)據(jù)進行編碼時所參考的參考幀數(shù)據(jù)的幀存儲器。運動估計器基于存儲在所選擇的幀存儲器中的參考幀數(shù)據(jù)和將被編碼的幀數(shù)據(jù)來估計運動矢量。通過使用所估計的運動矢量對將被編碼的幀數(shù)據(jù)進行編碼,并輸出編碼后的數(shù)據(jù)。
文檔編號H04N7/26GK1898964SQ20048003826
公開日2007年1月17日 申請日期2004年12月8日 優(yōu)先權日2003年12月22日
發(fā)明者前田充 申請人:佳能株式會社