專利名稱:數(shù)據(jù)變換裝置、數(shù)據(jù)編碼裝置以及數(shù)據(jù)記錄裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)的數(shù)據(jù)變換裝置、數(shù)據(jù)編碼裝置以及數(shù)據(jù)記錄裝置。
上述MPEG-4與用于DVD而廣泛普及的MPEG-2不同,可進(jìn)行可變幀速率編碼。在此,可變幀速率的編碼是可任一設(shè)定幀顯示時(shí)間間隔的編碼,根據(jù)壓縮圖像信號(hào)的復(fù)雜程度和圖像信號(hào)的性質(zhì)(是否活動(dòng)等)等,在進(jìn)行最佳編碼時(shí)一般使用的編碼方式。
圖10是可變幀速率的編碼數(shù)據(jù)的例子。圖中,對(duì)30Hz的圖像信號(hào)的前半幀每隔1個(gè)跳躍而以15Hz進(jìn)行編碼,對(duì)后半幀每隔2個(gè)跳躍而以10Hz進(jìn)行編碼。
以下,根據(jù)圖11~圖16說(shuō)明圖10所示的可變幀速率的編碼處理。
首先,根據(jù)圖11說(shuō)明現(xiàn)有的數(shù)據(jù)編碼裝置的結(jié)構(gòu)。
圖11是表示現(xiàn)有的數(shù)據(jù)編碼裝置的結(jié)構(gòu)的圖。
圖11中,現(xiàn)有的數(shù)據(jù)編碼裝置具有取得從照相機(jī)輸入的圖像的圖像取得單元81,判斷是否編碼取得的圖像的幀信號(hào)的編碼判斷單元82,編碼處理該取得的數(shù)據(jù)的編碼單元83,將該編碼單元83編碼的編碼數(shù)據(jù)變換為MPEG-4標(biāo)準(zhǔn)的文件格式規(guī)格(以下,稱為“MP4”)的MP4文件編碼單元85和記錄MP4文件的記錄媒體86。
以下,說(shuō)明具有上述結(jié)構(gòu)的、現(xiàn)有的數(shù)據(jù)編碼裝置的一系列處理工作。
首先,數(shù)據(jù)編碼裝置在圖像取得單元81將從照相機(jī)輸入的圖像變換為圖像幀信號(hào)(以下,稱為“幀”),將該幀與從取得圖像開始以照相機(jī)的幀速率(例如30Hz)增加的幀序號(hào)一起輸出給編碼判斷單元82。
編碼判斷單元82從上述幀序號(hào)和預(yù)先給予的照相機(jī)的幀信息計(jì)算輸入的幀的時(shí)間戳,從該時(shí)間戳、至此編碼的總數(shù)據(jù)量和、輸出比特率,判斷是否編碼該輸入的幀。
另外,是否編碼該輸入的幀的判斷條件依賴于是可變/固定比特率、遵守/忽視規(guī)定的緩沖器模型、重視幀的圖像質(zhì)量/重視幀速率等數(shù)據(jù)編碼裝置的各種條件、利用目的,在此不示出具體判斷條件。
在上述編碼判斷單元82判斷為編碼該輸入的幀時(shí),將輸入的幀和該幀的時(shí)間戳輸出給編碼單元83而進(jìn)行編碼處理。在此,對(duì)幀的時(shí)間戳進(jìn)行標(biāo)度(scale)變換和補(bǔ)償處理,變換為記錄成MP4文件的MP4時(shí)間戳。
另一方面,在上述編碼判斷單元82判斷為不編碼該輸入的幀時(shí),將幀及其時(shí)間戳等不輸出給編碼單元83而丟棄,等待從上述圖像取得單元81輸入下一幀。
一般說(shuō)來(lái),上述編碼單元83的數(shù)據(jù)編碼處理費(fèi)時(shí)間,而且,根據(jù)輸入的幀的圖像性質(zhì),有時(shí)上述圖像取得單元81在下一取得的幀輸出到上述編碼判斷單元82之前不能結(jié)束編碼處理。在這種情況下,由于在編碼判斷單元83丟棄下一取得的幀,該丟棄的幀不輸出到編碼單元83,所以編碼數(shù)據(jù)被跳躍。
在上述編碼單元83編碼的編碼數(shù)據(jù)及其編碼數(shù)據(jù)量輸出到MP4文件編碼單元85。上述編碼數(shù)據(jù)量還輸出到上述編碼判斷單元82。輸出到該上述編碼判斷單元82的編碼數(shù)據(jù)量用于上述的是否編碼輸入的幀的判斷條件中的比特率固定條件和緩沖器模型遵守條件。
MP4文件編碼單元85中,上述編碼數(shù)據(jù)及其編碼數(shù)據(jù)量變換為MP4文件,并記錄在記錄媒體86。
在此,根據(jù)圖12說(shuō)明MP4文件的結(jié)構(gòu)。
圖12中,圖(a)表示可變幀速率的編碼數(shù)據(jù)例,圖(b)表示該編碼數(shù)據(jù)的MP4文件的結(jié)構(gòu)。
MP4文件由存儲(chǔ)編碼數(shù)據(jù)的大小的Sample Size Atom、存儲(chǔ)顯示間隔的Sample-To-TimeStamp Atom、存儲(chǔ)編碼數(shù)據(jù)的Movie data Atom等,使輸入的各幀信息成為表形式的Atom構(gòu)成。
首先,Sample-To-TimeStamp Atom構(gòu)成為在每個(gè)幀速率一定的區(qū)間從編碼數(shù)據(jù)的起始依次記述幀個(gè)數(shù)num和幀間隔dur的組,在由該幀個(gè)數(shù)和幀間隔構(gòu)成的表的前面記述區(qū)間數(shù)。另外,Sample Size Atom構(gòu)成為以幀序號(hào)依次記述各幀的大小,在該幀大小的表的前面記述作為幀總數(shù)的要素?cái)?shù)。在Movie dataAtom連續(xù)存儲(chǔ)各取樣數(shù)據(jù)。
例如,在上述編碼單元83將上述圖像取得單元81取得的幀編碼成如圖12(a)所示的具有3個(gè)不同幀速率的可變幀速率的編碼數(shù)據(jù)時(shí),在MP4文件編碼單元85中,如圖12(b)所示,在Sample Size Atom記述要素?cái)?shù)9和、按幀序號(hào)依次記述第1個(gè)取樣至第9個(gè)取樣的各幀的編碼數(shù)據(jù)大小,在Movie data Atom連續(xù)存儲(chǔ)從第1個(gè)取樣到第9個(gè)取樣的取樣數(shù)據(jù),在Sample-To-TimeStamp Atom上述編碼數(shù)據(jù)通過(guò)最初3個(gè)間隔2的幀,下一2個(gè)間隔3的幀,下一4個(gè)間隔1的幀,記述要素?cái)?shù)3和,在區(qū)間1記述幀數(shù)num=3、幀間隔dur=2,在區(qū)間2記述num=2、dur=3,在區(qū)間3記述num=4、dur=1。另外,在此為了簡(jiǎn)化說(shuō)明,使1取樣=1幀,但在像語(yǔ)音數(shù)據(jù)例如1024取樣=1幀時(shí),對(duì)各Atom的數(shù)據(jù)存儲(chǔ)方法是同樣的。
下面,根據(jù)圖13和圖14說(shuō)明將編碼數(shù)據(jù)變換為如上述的MP4文件的MP4文件編碼單元85。圖13是表示現(xiàn)有的MP4文件編碼單元的一結(jié)構(gòu)例的圖。圖14是表示現(xiàn)有的MP4文件編碼單元的一系列處理工作的流程圖。
首先,根據(jù)圖13說(shuō)明MP4文件編碼單元85的結(jié)構(gòu)。
在MP4文件編碼單元85輸入編碼數(shù)據(jù)和編碼數(shù)據(jù)量,以及對(duì)該編碼數(shù)據(jù)記錄MP4文件時(shí)的MP4時(shí)間戳,具有暫時(shí)存儲(chǔ)該輸入的編碼數(shù)據(jù)及其編碼數(shù)據(jù)量的編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元41;使用從該編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元41輸入的編碼數(shù)據(jù),在mdat atom暫時(shí)存儲(chǔ)單元46上暫時(shí)生成作為記錄MP4文件內(nèi)的編碼數(shù)據(jù)的數(shù)據(jù)區(qū)域的Movie Data Atom的mdat atom生成單元43;使用從上述該編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元41輸入的編碼數(shù)據(jù)量,在stsz atom暫時(shí)存儲(chǔ)單元47上生成作為記錄MP4文件內(nèi)的編碼數(shù)據(jù)量的數(shù)據(jù)區(qū)域的Sample Size Atom的stsz atom生成單元44;使用從外部輸入的MP4時(shí)間戳,在stts atom暫時(shí)存儲(chǔ)單元48上生成作為記錄MP4文件內(nèi)的幀的時(shí)間間隔的數(shù)據(jù)區(qū)域的Sample-To-TimeStamp Atom的stts atom生成單元45和;在輸入完要記錄的編碼數(shù)據(jù)之后,連結(jié)利用上述的各生成單元43~45在各暫時(shí)存儲(chǔ)單元46~48上分別生成的各Atom的暫時(shí)數(shù)據(jù)連結(jié)單元49。另外,還具有在從外部沒有對(duì)MP4文件編碼單元85輸入時(shí)間戳?xí)r,從存儲(chǔ)在編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元41的編碼數(shù)據(jù)讀取編碼數(shù)據(jù)的時(shí)間戳并進(jìn)行標(biāo)度變換和補(bǔ)償處理,變換為記錄在MP4文件的MP4時(shí)間戳的MP4時(shí)間戳讀取單元42。
在此,上述mdat atom生成單元43的Movie Data Atom生成方法根據(jù)目的而不同,但由于與說(shuō)明本發(fā)明無(wú)關(guān),所以在此不作具體說(shuō)明。上述stsz atom生成單元44的Sample Size Atom的生成方法是從起始排列數(shù)據(jù)量。以后再敘述上述stts atom生成單元45的Sample-To-TimeStamp Atom的生成方法。
在輸入完要記錄的編碼數(shù)據(jù)之后,在MP4文件編碼單元85輸入流結(jié)束信號(hào),一輸入該流結(jié)束信號(hào),各atom生成單元43~45則進(jìn)行在表寫入要素?cái)?shù)等完成各Atom的處理。之后,利用暫時(shí)數(shù)據(jù)連結(jié)單元49將各Atom重新配置在適當(dāng)位置,輸出生成記錄媒體86的MP4文件。
以下,根據(jù)圖14的流程圖,說(shuō)明MP4文件編碼單元85的stts atom生成單元45的Sample-To-TimeStamp Atom的生成方法。
首先,在該數(shù)據(jù)編碼裝置一開始數(shù)據(jù)處理,則在MP4文件編碼單元85進(jìn)行初始化(步驟S1)。在此,in表示輸入到MP4編碼單元85的幀的總數(shù),index表示Sample-To-TimeStamp atom的某個(gè)時(shí)候的區(qū)間序號(hào),n表示在輸入到該數(shù)據(jù)編碼裝置的幀中沒有記述在Sample-To-TimeStamp Atom的未處理幀數(shù),Tp表示前一個(gè)編碼數(shù)據(jù)的MP4時(shí)間戳。
若在MP4文件編碼單元85輸入編碼數(shù)據(jù)、編碼數(shù)據(jù)量、以及MP4時(shí)間戳,則在Ts設(shè)定MP4時(shí)間戳,將輸入幀數(shù)in增加1,將未處理幀數(shù)n增加1(步驟S2)。
接著,判斷是否in≥3,在in≤2時(shí),進(jìn)入步驟S6,在in≥3時(shí),進(jìn)入步驟S4。該分支是因?yàn)樯鲜鯯ample-To-TimeStamp Atom記述幀的時(shí)間間隔,最少需要2個(gè)幀,而且,由于Sample-To-TimeStamp Atom記述相同幀間隔的幀的個(gè)數(shù),在沒有最少3個(gè)幀時(shí),則不能進(jìn)行寫出第1個(gè)要素的處理。
在in≤2時(shí),計(jì)算幀間隔d,作為前一幀的MP4時(shí)間戳Tp記錄當(dāng)前輸入的幀的MP4時(shí)間戳Ts(步驟S6)。接著,到在stts atom生成單元45輸入表示輸入完編碼數(shù)據(jù)的流結(jié)束信號(hào)為止重復(fù)以上的步驟S2~S6處理(步驟S7)。
在上述重復(fù)中,在步驟S3中,在in≥3時(shí)判斷當(dāng)前幀和前一幀的幀間隔d(=Ts-Tp)是否與至此計(jì)算的幀間隔d一致(步驟S4),在判斷為幀間隔d不一致時(shí),基于Sample-To-TimeStamp Atom的定義,對(duì)Sample-To-TimeStampAtom表追加要素(步驟S5)。即,在Sample-To-TimeStamp Atom追加幀個(gè)數(shù)num=n-2和幀間隔dur=d,在Sample-To-TimeStamp Atom追加要素之后,增加1個(gè)區(qū)間序號(hào)index,使未處理幀個(gè)數(shù)n=2。該2個(gè)幀是成為新幀間隔d(=Ts-Tp)的區(qū)間的第1個(gè)(前一個(gè)MP4時(shí)間戳Tp)幀和,第2個(gè)(當(dāng)前MP4時(shí)間戳Ts)幀。
在stts atom生成單元45輸入流結(jié)束信號(hào)時(shí)(步驟S7),stts atom生成單元45進(jìn)行在表寫入要素?cái)?shù)等完成Sample-To-TimeStamp Atom的處理。
即,如在步驟S5所述,在步驟7時(shí)2個(gè)幀的幀間隔信息原樣暫時(shí)保存在stts atom生成單元45的內(nèi)部,在Sample-To-TimeStamp Atom表沒有追加要素。從而,在輸入了上述流結(jié)束信號(hào)時(shí),需要進(jìn)行對(duì)該2個(gè)幀的處理。另外,通常不會(huì)有,在輸入幀個(gè)數(shù)in小于2時(shí),必需進(jìn)行與通常不同的工作。
首先,說(shuō)明通常不會(huì)有的、在輸入了上述流結(jié)束信號(hào)時(shí),輸入幀個(gè)數(shù)in=0或1的情況。
在輸入幀數(shù)in=0,即1個(gè)幀也沒有輸入時(shí)進(jìn)入步驟S9。此時(shí),當(dāng)然不需要在Sample-To-TimeStamp Atom追加要素。因此,區(qū)間序號(hào)index=0(步驟S9),將其值作為Sample-To-TimeStamp Atom的要素?cái)?shù)寫入0(步驟S12)。
在輸入幀數(shù)in=1時(shí),追加幀數(shù)num=1、幀間隔dur=du(du;任一數(shù))的要素,使區(qū)間序號(hào)index=1之后(步驟S9),將其值作為Sample-To-TimeStamp Atom的要素?cái)?shù)寫入1(步驟S12)。另外,由于若沒有2個(gè)幀,則不定義幀間隔dur,所以在此作為幀間隔dur追加的幀間隔du也可以不是有意義的值,而可以任意確定。
在輸入幀數(shù)in≥2時(shí),這是通常狀態(tài),此時(shí)由于依然未處理n個(gè)幀,所以在Sample-To-TimeStamp Atom追加它。即,追加幀個(gè)數(shù)num=n、幀間隔dur=d的要素,并對(duì)區(qū)間序號(hào)index增加1之后(步驟S1),作為Sample-To-TimeStampAtom的要素?cái)?shù)寫入該增加1的index值(步驟S12)。這樣,結(jié)束Sample-To-TimeStamp Atom的表生成處理。
接著,根據(jù)圖17說(shuō)明利用RTP(實(shí)時(shí)傳輸協(xié)議)從基站向數(shù)據(jù)記錄裝置發(fā)送MPEG-4數(shù)據(jù)時(shí)的處理。
圖17是表示作為現(xiàn)有的移動(dòng)終端的數(shù)據(jù)記錄裝置的結(jié)構(gòu)的圖,從發(fā)送單元使用RTP傳送MPEG-4數(shù)據(jù)。
以下,說(shuō)明現(xiàn)有的數(shù)據(jù)記錄裝置。
數(shù)據(jù)記錄裝置由RTP接收裝置91、RTP接收緩沖器92、RTP解碼單元93、MP4文件編碼單元95、記錄媒體96構(gòu)成,首先,RTP接收單元91一從作為基站的RTP發(fā)送單元90接收分割為視頻包單位的、存儲(chǔ)在RTP包的MPEG-4的編碼數(shù)據(jù),則將該RTP包存儲(chǔ)到接收緩沖器92。
在此,上述視頻包是再分割幀的數(shù)據(jù)單位,即使丟失某個(gè)視頻包,或在某個(gè)視頻包有錯(cuò)誤,也可以正確解碼其它視頻包。另外,在上述RTP包附有RTP時(shí)間戳,在具有存儲(chǔ)在該RTP包的編碼數(shù)據(jù)的編碼數(shù)據(jù)時(shí)間戳設(shè)置附加隨機(jī)補(bǔ)償?shù)闹怠Mǔ?,在?幀的編碼數(shù)據(jù)分割為多個(gè)RTP包時(shí),在這些分割的多個(gè)RTP包的RTP時(shí)間戳附有同一值。另外,在上述RTP包附有連續(xù)序號(hào)(序列號(hào)),在接收側(cè),即數(shù)據(jù)記錄裝置通過(guò)檢查其序列號(hào)的連續(xù)性,可以確認(rèn)包的丟失。
接著,RTP解碼單元93從上述接收緩沖器82接收多于1個(gè)的具有同一時(shí)間戳的RTP包,從該RTP包去除RTP頭等而恢復(fù)成原來(lái)的MPEG-4數(shù)據(jù),MP4文件編碼單元95將來(lái)自該RTP解碼單元93的MPEG-4數(shù)據(jù)變換成MPEG-4文件,并存儲(chǔ)到記錄媒體96。另外,在上述RTP解碼單元93可以從附在RTP包的RTP時(shí)間戳和大小取得變換成MP4文件所需的MP4時(shí)間戳和幀大小等信息。
另外,從作為基站的RTP發(fā)送單元90使用RTP向作為移動(dòng)終端的數(shù)據(jù)記錄裝置傳送MPEG-4數(shù)據(jù)時(shí),從上述RTP發(fā)送單元90包沒有到達(dá)數(shù)據(jù)記錄裝置時(shí),例如從RTP發(fā)送單元90以分割為多個(gè)RTP包的狀態(tài)發(fā)送幀時(shí),丟失幾個(gè)RTP包或丟失所有構(gòu)成某個(gè)幀的RTP包時(shí),數(shù)據(jù)記錄裝置跳躍上述RTP接收單元91沒有正確接收的數(shù)據(jù),在記錄媒體96只MP4文件記錄上述RTP接收單元91正確接收到的數(shù)據(jù)。
但是,上述可變幀速率的編碼數(shù)據(jù)與固定幀速率的編碼數(shù)據(jù)相比,有可以進(jìn)行對(duì)應(yīng)圖像信號(hào)壓縮的編碼的優(yōu)點(diǎn),另一方面,由于幀速率有自由度,所以在將其編碼數(shù)據(jù)變換為MP4文件時(shí),記錄MP4文件的幀間隔的Sample-To-TimeStamp Atom的表大小由編碼數(shù)據(jù)確定,所以存在不能估計(jì)其表大小,或在裝置發(fā)生異常時(shí)難以恢復(fù)數(shù)據(jù),還有,在MP4文件記錄編碼數(shù)據(jù)之后,從其MP4文件解碼數(shù)據(jù)時(shí)的數(shù)據(jù)處理量變大的問(wèn)題。
具體說(shuō)來(lái),例如,在圖11所示的現(xiàn)有的數(shù)據(jù)編碼裝置中,在上述MP4文件編碼單元85將可變幀速率的編碼數(shù)據(jù)變換為MP4文件時(shí),根據(jù)上述編碼判斷單元82的判斷結(jié)果,每次在編碼數(shù)據(jù)的幀間隔變化時(shí),需要在Sample-To-TimeStamp Atom存儲(chǔ)新的要素。這樣,在MP4文件與Sample SizeAtom和Movie Data Atom同樣,還增加Sample-To-TimeStamp Atom的表大小,所以需要比MP4文件記錄固定幀速率的編碼數(shù)據(jù)增加記錄媒體86的容量。比較將固定幀速率的編碼數(shù)據(jù)變換為MP4文件時(shí)的MP4文件的結(jié)構(gòu)圖(圖12)和、可變幀速率的編碼數(shù)據(jù)的MP4文件的結(jié)構(gòu)圖(圖15)可知該Sample-To-TimeStamp Atom的表變大。即,如圖15所示,在編碼數(shù)據(jù)為固定幀速率時(shí),由于幀間隔一直為dur=1,所以Sample-To-TimeStamp Atom的表的要素為1個(gè),其表的大小沒有變化。
另外,在將可變幀速率的編碼數(shù)據(jù)變換為MP4文件時(shí),上述Sample-To-TimeStampAtom的生成方法與Sample Size Atom和Movie Data Atom的生成方法不同,根據(jù)在編碼判斷單元82判斷輸入幀的結(jié)果增加其表,所以在開始MP4文件記錄上述編碼數(shù)據(jù)時(shí),不能估計(jì)最終表的大小。
另外,上述現(xiàn)有的數(shù)據(jù)編碼裝置中,在上述MP4文件編碼單元85將可變幀速率的編碼數(shù)據(jù)變換為MP4文件時(shí)生成上述Sample Size Atom和Movie DataAtom的情況下,由于以1幀的編碼數(shù)據(jù)單位一邊依次寫入mdat atom暫時(shí)存儲(chǔ)單元46、stsz atom暫時(shí)存儲(chǔ)單元47一邊進(jìn)行處理,所以在數(shù)據(jù)編碼裝置發(fā)生異常時(shí),也可以恢復(fù)數(shù)據(jù),但在生成Sample-To-TimeStamp Atom時(shí),由于在幀速率變化時(shí)確定其表的要素,所以在數(shù)據(jù)編碼裝置發(fā)生異常時(shí),不能完全恢復(fù)Sample-To-TimeStamp Atom表的數(shù)據(jù)。
以下說(shuō)明若上述MP4文件的Sample-To-TimeStamp Atom的表變大,則再生記錄在記錄媒體86的數(shù)據(jù)時(shí)其處理量變大。
首先,解釋Sample-To-TimeStamp Atom,從MP4時(shí)間戳計(jì)算出取樣序號(hào),或從取樣序號(hào)計(jì)算出MP4時(shí)間戳的處理。
在此,根據(jù)圖16說(shuō)明從Sample-To-TimeStamp Atom求出對(duì)應(yīng)給予的MP4時(shí)間戳(T)的取樣序號(hào)N的處理。
圖16是使用Sample-To-TimeStamp Atom查詢對(duì)應(yīng)給予的MP4時(shí)間戳的取樣的一系列流程的流程圖。
首先,設(shè)置MP4時(shí)間戳T(步驟S21),初始化區(qū)間序號(hào)index、該區(qū)間序號(hào)index所指區(qū)間的最初幀的MP4時(shí)間戳T0,以及包含到該區(qū)間序號(hào)index所指區(qū)間的幀數(shù)N0值(步驟S22)。接著,從Sample-To-TimeStamp Atom取得包含在當(dāng)前index所指區(qū)間的幀數(shù)num和其幀間隔dur(步驟S23),計(jì)算當(dāng)前index所指區(qū)間的結(jié)束時(shí)刻Te(步驟S24)。另外,從T0+num×dur取得當(dāng)前index所指區(qū)間的結(jié)束時(shí)刻Te。
比較如上得到的當(dāng)前index所指區(qū)間的結(jié)束時(shí)刻Te和MP4時(shí)間戳T,判斷MP4時(shí)間戳T是否包含在該區(qū)間(步驟S25)。
在步驟S25中,在T<Te時(shí)判斷為MP4時(shí)間戳T包含在當(dāng)前index所指區(qū)間,確定其MP4時(shí)間戳T的取樣序號(hào)(步驟S27)。該取樣序號(hào)的確定是由于到當(dāng)前index所指區(qū)間為止的時(shí)間是該區(qū)間序號(hào)index所指區(qū)間的最初幀的MP4時(shí)間戳T0,所以至MP4時(shí)間戳T所示的幀為止的時(shí)間為T-T0,另外由于該區(qū)間的幀間隔為dur,所以其MP4時(shí)間戳T所示的取樣幀成為從該區(qū)間的起始第{(T-T0)/dur}個(gè)幀。因此,幀的取樣序號(hào)N成為N0+(T-T0)/dur。
另一方面,在步驟S25中,在T>Te時(shí)判斷為在該當(dāng)前index所指區(qū)間沒有包含MP4時(shí)間戳T,轉(zhuǎn)移到Sample-To-TimeStamp Atom表的下一要素(步驟S26)。即,設(shè)下一區(qū)間的開始時(shí)間T0,設(shè)置步驟S24求出的區(qū)間結(jié)束時(shí)間Te,設(shè)至下一區(qū)間的要素?cái)?shù)為N0,設(shè)置至該區(qū)間的要素?cái)?shù)N0與該區(qū)間的幀數(shù)num的和,將區(qū)間序號(hào)index增加1。之后,再次返回到步驟S23,在步驟S25將上述處理重復(fù)至T<Te為止。另外,在步驟S26中index大于要素?cái)?shù)時(shí),表示不能估計(jì)MP4時(shí)間戳T所示的幀。
這樣,在Sample-To-TimeStamp Atom表的要素?cái)?shù)增加時(shí),需要重復(fù)步驟S23~步驟S26的處理,直至搜索到包含該MP4時(shí)間戳T的區(qū)間,可知從MP4時(shí)間戳T搜索到該MP4時(shí)間戳所示的幀的區(qū)間序號(hào)N非常費(fèi)時(shí)。另外,上述處理的逆處理的從取樣序號(hào)N求出MP4時(shí)間戳T的處理與上述處理同樣,其數(shù)量與Sample-To-TimeStamp Atom的要素?cái)?shù)成正比增加。
另外,圖17所示的使用RTP的數(shù)據(jù)發(fā)送中,由于不進(jìn)行重新發(fā)送包處理,所以不累積包延遲而進(jìn)行實(shí)時(shí)傳送,另一方面,若發(fā)生網(wǎng)絡(luò)延遲或暫時(shí)切斷等,則包被丟失,從而包不能到達(dá)作為接收側(cè)的數(shù)據(jù)記錄裝置。因這種RTP性質(zhì),在作為MP4文件記錄從基站的RTP發(fā)送單元90使用RTP接收到的MPEG-4數(shù)據(jù)的數(shù)據(jù)記錄裝置丟失該發(fā)送的編碼數(shù)據(jù)的概率大,若丟失包,則接收到的編碼數(shù)據(jù)的幀速率頻繁改變,所以存儲(chǔ)表示幀間隔的Sample-To-TimeStamp Atom表增加特別顯著。
而且,在上述數(shù)據(jù)編碼裝置或數(shù)據(jù)記錄裝置搭載在其物理大小、消耗功率或記錄媒體的容量受較大限制的移動(dòng)終端時(shí),會(huì)有上述Sample-To-TimeStampAtom數(shù)據(jù)增大,Sample-To-TimeStamp Atom數(shù)據(jù)難以完全恢復(fù),而且再生數(shù)據(jù)時(shí)的處理量大的各種問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明是鑒于上述問(wèn)題而提出的,其目的在于提供一種將可變幀速率的MPEG-4編碼數(shù)據(jù)變換為MP4文件并記錄時(shí),將可變幀速率變換為固定幀速率的數(shù)據(jù)變換裝置、數(shù)據(jù)編碼裝置以及數(shù)據(jù)記錄裝置。
本發(fā)明(第1項(xiàng))的數(shù)據(jù)編碼裝置具有暫時(shí)存儲(chǔ)單元,暫時(shí)存儲(chǔ)輸入的圖像信號(hào)數(shù)據(jù)的編碼數(shù)據(jù);時(shí)間戳讀取單元,從存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的上述編碼數(shù)據(jù)讀取作為該編碼數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳;時(shí)間戳變換單元,將上述編碼數(shù)據(jù)的輸入時(shí)間戳變換為基于輸出從外部作為初始信息輸入的上述編碼數(shù)據(jù)時(shí)的固定幀速率的時(shí)間戳;固定幀速率變換單元,將附有基于上述固定幀速率的時(shí)間戳的上述編碼數(shù)據(jù)變換為上述固定幀速率的編碼數(shù)據(jù)。
本發(fā)明(第2項(xiàng))的數(shù)據(jù)編碼裝置是在第1項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)表示該非更新的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值的非更新幀生成單元和;確定從上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和基于上述固定幀速率的時(shí)間戳,根據(jù)其結(jié)果控制選擇上述暫時(shí)存儲(chǔ)單元和上述非更新幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
本發(fā)明(第3項(xiàng))的數(shù)據(jù)變換裝置是在第1項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有生成表示大小0的編碼數(shù)據(jù),對(duì)表示該大小0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附加任一值的大小0幀生成單元和;確定上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和基于上述固定幀速率的時(shí)間戳,根據(jù)其結(jié)果控制選擇上述暫時(shí)存儲(chǔ)單元和上述大小0幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)。
本發(fā)明(第4項(xiàng))的數(shù)據(jù)變換裝置是在第2項(xiàng)所述的數(shù)據(jù)變換裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
本發(fā)明(第5項(xiàng))的數(shù)據(jù)變換裝置是在第3項(xiàng)所述的數(shù)據(jù)變換裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)。
本發(fā)明(第6項(xiàng))的數(shù)據(jù)變換裝置是在第2項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、上述非更新幀生成單元輸出的表示上述非更新的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元。
本發(fā)明(第7項(xiàng))的數(shù)據(jù)變換裝置是在第3項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有為了使輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元。
本發(fā)明(第8項(xiàng))的數(shù)據(jù)編碼裝置是取得輸入的圖像信號(hào)數(shù)據(jù),從作為該圖像信號(hào)數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳判斷是否編碼該圖像信號(hào)數(shù)據(jù),根據(jù)該判斷結(jié)果,在編碼單元將上述圖像信號(hào)數(shù)據(jù)壓縮編碼成可變幀速率的編碼數(shù)據(jù),具有生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)表示該非更新的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附加任一值,確定基于輸出時(shí)的固定幀速率的時(shí)間戳的非更新幀生成單元,在上述判斷結(jié)果為不編碼上述圖像信號(hào)數(shù)據(jù)時(shí),從上述非更新幀生成單元輸出表示上述非更新的編碼數(shù)據(jù)和、基于上述固定幀速率的時(shí)間戳。
本發(fā)明(第9項(xiàng))的數(shù)據(jù)編碼裝置是取得輸入的圖像信號(hào)數(shù)據(jù),從作為該圖像信號(hào)數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳判斷是否編碼該圖像信號(hào)數(shù)據(jù),根據(jù)該判斷結(jié)果,在編碼單元將上述圖像信號(hào)數(shù)據(jù)壓縮編碼成可變幀速率的編碼數(shù)據(jù),具有生成表示大小0的編碼數(shù)據(jù),對(duì)表示該大小0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附加任一值,確定基于輸出時(shí)的固定幀速率的時(shí)間戳的大小0幀生成單元,在上述判斷結(jié)果為不編碼上述圖像信號(hào)數(shù)據(jù)時(shí),從上述大小0幀生成單元輸出表示上述大小0的編碼數(shù)據(jù)和、基于上述固定幀速率的時(shí)間戳。
本發(fā)明(第10項(xiàng))的數(shù)據(jù)記錄裝置具有接收傳送的RTP包的RTP接收單毛暫時(shí)存儲(chǔ)接收的上述RTP包的RTP接收緩沖器和;將存儲(chǔ)在上述RTP接收緩沖器的、具有同一RTP時(shí)間戳的RTP包解碼成編碼數(shù)據(jù)的RTP解碼單元,將上述編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式并記錄到記錄媒體的數(shù)據(jù)記錄裝置中,具有從上述RTP接收緩沖器取得上述RTP時(shí)間戳,并變換為基于輸出從外部作為初始信息輸入的上述編碼數(shù)據(jù)時(shí)的固定幀速率的時(shí)間戳的時(shí)間戳變換單元和,將附有基于上述固定幀速率的時(shí)間戳的上述編碼數(shù)據(jù)變換為上述固定幀速率的編碼數(shù)據(jù)的固定幀速率變換單元,將從上述固定幀速率變換單元輸出的上述固定幀速率的編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式,并記錄在上述記錄媒體。
本發(fā)明(第11項(xiàng))的數(shù)據(jù)記錄裝置是在第10項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)表示該非更新的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值的非更新幀生成單元;暫時(shí)存儲(chǔ)來(lái)自上述RTP解碼單元的上述編碼數(shù)據(jù)的暫時(shí)存儲(chǔ)單元;確定從上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述非更新幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
本發(fā)明(第12項(xiàng))所述的數(shù)據(jù)記錄裝置是在第10項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有生成表示大小0的編碼數(shù)據(jù),對(duì)表示該大小0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附加任一值的大小0幀生成單元;暫時(shí)存儲(chǔ)來(lái)自上述RTP解碼單元的上述編碼數(shù)據(jù)的暫時(shí)存儲(chǔ)單元和;確定上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述大小0幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)。
本發(fā)明(第13項(xiàng))所述的數(shù)據(jù)記錄裝置是在第11項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
本發(fā)明(第14項(xiàng))所述的數(shù)據(jù)記錄裝置是在第12項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)。
本發(fā)明(第15項(xiàng))所述的數(shù)據(jù)記錄裝置是在第11項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、上述非更新幀生成單元輸出的表示上述非更新的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元。
本發(fā)明(第16項(xiàng))所述的數(shù)據(jù)記錄裝置是在第12項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元。
圖1是表示本發(fā)明實(shí)施例1的數(shù)據(jù)變換裝置的結(jié)構(gòu)的圖。
圖2是表示本發(fā)明實(shí)施例1的數(shù)據(jù)變換裝置的固定FPS化單元的結(jié)構(gòu)的圖。
圖3是表示本發(fā)明實(shí)施例1的數(shù)據(jù)變換裝置的固定FPS化單元內(nèi)的非更新幀單元、大小0幀插入單元、以及編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元的結(jié)構(gòu)的圖。
圖4是表示本發(fā)明實(shí)施例1的數(shù)據(jù)變換裝置的固定FPS化單元的處理工作的一系列流程的流程圖。
圖5是表示在本發(fā)明實(shí)施例1的數(shù)據(jù)變換裝置中,在非更新幀插入單元生成的編碼數(shù)據(jù)(圖(a))和、MP4文件的結(jié)構(gòu)(圖(b))的圖。
圖6是表示本發(fā)明實(shí)施例1的數(shù)據(jù)變換裝置中,在大小0幀插入單元生成的編碼數(shù)據(jù)(圖(a))和、MP4文件的結(jié)構(gòu)(圖(b))的圖。
圖7是表示本發(fā)明實(shí)施例1的輸入幀的MP4時(shí)間戳ITS波動(dòng)狀態(tài)的圖。
圖8是表示本發(fā)明實(shí)施例2的數(shù)據(jù)編碼裝置的結(jié)構(gòu)的圖。
圖9是表示本發(fā)明實(shí)施例3的數(shù)據(jù)記錄裝置的結(jié)構(gòu)的圖。
圖10是表示現(xiàn)有的可變幀速率的編碼數(shù)據(jù)的幀間隔的圖。
圖11是表示現(xiàn)有的數(shù)據(jù)編碼裝置的結(jié)構(gòu)的圖。
圖12是表示現(xiàn)有的MP4文件編碼單元生成的可變幀速率的編碼數(shù)據(jù)(圖(a))和、MP4文件的結(jié)構(gòu)(圖(b))的圖。
圖13是表示現(xiàn)有的MP4文件編碼單元的結(jié)構(gòu)的圖。
圖14是表示現(xiàn)有的MP4文件編碼單元的處理工作的一系列流程的流程圖。
圖15是表示固定幀速率的編碼數(shù)據(jù)(圖(a))和、MP4文件的結(jié)構(gòu)(圖(b))的圖。
圖16是表示使用現(xiàn)有的Sample-To-TimeStamp Atom,搜索對(duì)應(yīng)給予的MP4時(shí)間戳的取樣的一系列處理流程的流程圖。
圖17是表示現(xiàn)有的數(shù)據(jù)記錄裝置的結(jié)構(gòu)的圖。
具體實(shí)施例方式
以下,說(shuō)明本發(fā)明的實(shí)施例。本發(fā)明舉例說(shuō)明在記錄為MP4文件時(shí)以固定幀速率記錄輸入的數(shù)據(jù),上述輸入的數(shù)據(jù)在實(shí)施例1中為可變幀速率的MPEG-4視頻編碼數(shù)據(jù),在實(shí)施例2中為沒有編碼的圖像數(shù)據(jù),在實(shí)施例3中為用傳送協(xié)議RTP接收的RTP數(shù)據(jù)的3種不同的數(shù)據(jù)的情況。
(實(shí)施例1)以下,根據(jù)圖1~圖7說(shuō)明本實(shí)施例1的數(shù)據(jù)變換裝置。
本實(shí)施例1的數(shù)據(jù)變換裝置是將可變幀速率的MPEG-4視頻編碼數(shù)據(jù)變換成固定幀速率的編碼數(shù)據(jù)。
首先,根據(jù)圖1說(shuō)明本實(shí)施例1的數(shù)據(jù)變換裝置100的結(jié)構(gòu)。
圖1是表示本實(shí)施例1的數(shù)據(jù)變換裝置的結(jié)構(gòu)的圖。
圖中,數(shù)據(jù)變換裝置100由編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101、編碼數(shù)據(jù)時(shí)間戳讀取單元102、時(shí)間戳變換單元103和固定FPS化單元104構(gòu)成。
編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101存儲(chǔ)輸入到本數(shù)據(jù)變換裝置100的編碼數(shù)據(jù),編碼數(shù)據(jù)時(shí)間戳讀取單元102從存儲(chǔ)在上述編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101的編碼數(shù)據(jù)取得編碼數(shù)據(jù)時(shí)間戳。
在此,從編碼數(shù)據(jù)取得編碼數(shù)據(jù)時(shí)間戳是通過(guò)從最初編碼數(shù)據(jù),或隔幾個(gè)幀附在編碼數(shù)據(jù)之前的VOL頭取得編碼數(shù)據(jù)時(shí)間戳的標(biāo)度(vop-time-increment-resolution),并且,從各編碼數(shù)據(jù)的VOP頭取得編碼數(shù)據(jù)時(shí)間戳的增加部分(modulo-time-base,vop-time-increment),進(jìn)行適當(dāng)計(jì)算而求出的。
另外,時(shí)間戳變換單元103將該編碼數(shù)據(jù)時(shí)間戳讀取單元102讀取的編碼數(shù)據(jù)時(shí)間戳變換為在本發(fā)明的實(shí)施例之間通用表現(xiàn)形式的MP4時(shí)間戳,在此所述的本發(fā)明的實(shí)施例之間通用表現(xiàn)形式的MP4時(shí)間戳是以從0開始的形式記錄在MP4文件的Sample-To-TimeStamp Atom的時(shí)間戳。
另外,固定FPS化單元104將可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)。
在此,根據(jù)圖2和圖3具體說(shuō)明上述固定FPS化單元104的結(jié)構(gòu)。圖2是表示固定FPS化單元的結(jié)構(gòu)的圖,圖3是表示非更新幀插入單元(圖3(a))、大小0幀插入單元(圖3(b))、編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元(圖3(c))的結(jié)構(gòu)的圖。
在圖2和圖3中,上述固定FPS化單元104由非更新幀插入單元201、大小0幀插入單元202、編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203構(gòu)成,對(duì)于可變幀速率,現(xiàn)有的是通過(guò)在跳躍輸入編碼數(shù)據(jù)的時(shí)間戳,例如在圖12所示的可變幀速率的編碼數(shù)據(jù)的、被跳躍而沒有數(shù)據(jù)的MP4時(shí)間戳1、3、5…、處插入虛構(gòu)幀,成為固定幀速率的編碼數(shù)據(jù)。
上述固定FPS化單元104內(nèi)的非更新幀插入單元201由輸出開關(guān)314的切換信號(hào)的處理單元311、生成非更新幀的非更新幀生成單元312、存儲(chǔ)保存在上述編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101的數(shù)據(jù)的暫時(shí)存儲(chǔ)單元313、選擇上述非更新幀生成單元312或上述暫時(shí)存儲(chǔ)單元313的開關(guān)314構(gòu)成,作為上述虛構(gòu)幀插入作為表示非更新的特殊取樣的非更新幀。在此,非更新幀是不含有與前一幀的圖像信號(hào)的差分信息的編碼數(shù)據(jù),例如VOP頭內(nèi)的vop_coded為0的幀。還有,由于非更新幀不包含圖像信號(hào)的差分信息(例如vop_coded=0),所以其數(shù)據(jù)量為幾十字節(jié),比通常的編碼幀的數(shù)據(jù)量少。另外,在上述非更新幀也與通常幀同樣有編碼數(shù)據(jù)時(shí)間戳的區(qū)域,在上述非更新幀插入單元201對(duì)該區(qū)域附上任一值。另外,在該非更新幀中,根據(jù)有無(wú)形狀編碼,有無(wú)透明度信道,有時(shí)vop_coded=0不表示非更新,此時(shí)輸出使整個(gè)宏塊成為MB_not_coded狀態(tài)的幀。
另外,上述固定FPS化單元104內(nèi)的大小0幀插入單元202由輸出開關(guān)324的切換信號(hào)的處理單元321、生成大小0的幀的大小0幀生成單元322、存儲(chǔ)上述編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101保存的編碼數(shù)據(jù)的暫時(shí)存儲(chǔ)單元323和、選擇上述大小0幀生成單元322或上述暫時(shí)存儲(chǔ)單元323的開關(guān)324構(gòu)成,作為上述虛構(gòu)幀插入取樣大小0的大小0幀。在此,大小0幀是數(shù)據(jù)大小為0,在編碼數(shù)據(jù)沒有意義的值的幀。
上述固定FPS化單元104內(nèi)的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203由對(duì)于非更新幀插入單元201、大小0幀插入單元202輸出的編碼數(shù)據(jù)的編碼數(shù)據(jù)時(shí)間戳,按照編碼數(shù)據(jù)的規(guī)格從上述非更新幀或大小0幀的MP4時(shí)間戳變換為正確的編碼數(shù)據(jù)時(shí)間截,并寫入的編碼數(shù)據(jù)時(shí)間戳改寫單元331和,存儲(chǔ)上述各單元201、202輸出的編碼數(shù)據(jù)和編碼數(shù)據(jù)量的暫時(shí)存儲(chǔ)單元332構(gòu)成。
通常,解碼記錄在記錄媒體120的MP4文件時(shí),由于只參照MP4時(shí)間戳進(jìn)行解碼,所以其幀的編碼數(shù)據(jù)時(shí)間戳的值是任一值都可以,但從MP4文件只生成編碼數(shù)據(jù)的文件等時(shí),若編碼數(shù)據(jù)具有的編碼數(shù)據(jù)時(shí)間戳不正確,則不能生成文件,所以必需正確附上編碼數(shù)據(jù)時(shí)間戳。上述編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203假設(shè)從上述MP4文件生成上述文件,預(yù)先進(jìn)行將附給幀的編碼數(shù)據(jù)時(shí)間戳重新附加給正確的編碼數(shù)據(jù)時(shí)間戳的處理。
另外,由于MP4文件編碼單元110和記錄媒體120具有與現(xiàn)有的數(shù)據(jù)編碼裝置中所述的同樣結(jié)構(gòu),所以在此不作說(shuō)明。
以下,根據(jù)圖4~圖7說(shuō)明具有上述結(jié)構(gòu)的本實(shí)施例1的數(shù)據(jù)變換裝置100的一系列處理工作。另外,為了簡(jiǎn)化說(shuō)明,本實(shí)施例1中,設(shè)輸入到該裝置的編碼數(shù)據(jù)只是I-VOP或P-VOP。
圖4是表示本實(shí)施例1的非更新幀插入單元或大小0幀插入單元的一系列工作的流程圖。
首先,一開始本數(shù)據(jù)變換裝置100的處理,則在編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101保存編碼數(shù)據(jù)。接著,在編碼數(shù)據(jù)時(shí)間戳讀取單元102從存儲(chǔ)在上述編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101的編碼數(shù)據(jù)取得編碼數(shù)據(jù)時(shí)間戳。該編碼數(shù)據(jù)時(shí)間戳的取得是如上所述,通過(guò)從最初編碼數(shù)據(jù),或隔幾個(gè)幀附在編碼數(shù)據(jù)之前的VOL頭取得編碼數(shù)據(jù)時(shí)間戳的標(biāo)度(vop-time-increment-resolution),并且,從各編碼數(shù)據(jù)的VOP頭取得編碼數(shù)據(jù)時(shí)間戳的增加部分(modulo-time-base,vop-time-increment),進(jìn)行適當(dāng)計(jì)算而求出的。
在時(shí)間戳變換單元103將上述編碼數(shù)據(jù)變換為MP4時(shí)間戳,對(duì)固定FPS化單元104同時(shí)輸出存儲(chǔ)在編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101的編碼數(shù)據(jù)及其數(shù)據(jù)大小。
取得上述編碼數(shù)據(jù)、數(shù)據(jù)大小、MP4時(shí)間戳的固定FPS化單元104按照?qǐng)D4所示的流程圖,將其可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)。
首先,輸入的編碼數(shù)據(jù)、編碼數(shù)據(jù)量以及輸入幀的MP4時(shí)間戳ITS輸入到固定FPS化單元104內(nèi)的非更新幀插入單元201和大小0幀插入單元202中的一個(gè)。
首先,說(shuō)明在上述非更新幀插入單元201輸入上述編碼數(shù)據(jù)、編碼數(shù)據(jù)量、以及MP4時(shí)間戳的情況。
該數(shù)據(jù)變換裝置100一開始進(jìn)行處理,上述非更新幀插入單元201的處理單元311初始化保存的輸出幀的MP4時(shí)間戳OTS的值,取得作為初始條件從外部輸入的要求時(shí)間戳間隔DTS(步驟S41)。接著,在從上述編碼數(shù)據(jù)暫時(shí)存儲(chǔ)單元101輸入編碼數(shù)據(jù)和編碼數(shù)據(jù)量,從上述時(shí)間戳變換單元103輸入MP4時(shí)間戳?xí)r,上述編碼數(shù)據(jù)和數(shù)據(jù)大小存儲(chǔ)到暫時(shí)存儲(chǔ)單元313,上述MP4時(shí)間戳作為輸入幀的MP4時(shí)間戳ITS輸入到處理單元311(步驟S42)。
接著,在處理單元311比較在步驟S42取得的輸入幀的MP4時(shí)間戳ITS和、在處理單元311保存的輸出幀的MP4時(shí)間戳OTS(步驟S43)。
在步驟S43中,在ITS≤OTS時(shí),從處理單元311輸出選擇暫時(shí)存儲(chǔ)單元313的切換信號(hào),輸出存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元313的編碼數(shù)據(jù)和、將其編碼數(shù)據(jù)的MP4時(shí)間戳ITS改寫為保存在處理單元331的輸出幀的MP4時(shí)間戳OTS并輸出(步驟S44)。之后,對(duì)保存在處理單元311的輸出幀的MP4時(shí)間戳相加要求時(shí)間戳間隔DTS,作為下一輸出幀的MP4時(shí)間戳OTS。
另一方面,在步驟S43中,在ITS≥OTS時(shí),從處理單元311輸出選擇非更新幀生成單元312的切換信號(hào),輸出上述非更新幀生成單元312生成的非更新幀和、處理單元331保存的輸出幀的MP4時(shí)間戳OTS。之后,與上述同樣,對(duì)保存在處理單元311的輸出幀的MP4時(shí)間戳相加要求時(shí)間戳間隔DTS,作為下一輸出幀的MP4時(shí)間戳OTS。
進(jìn)行上述處理之后,從上述非更新幀插入單元201輸出的編碼數(shù)據(jù)最終MP4文件記錄在記錄媒體120,但使用記錄在上述記錄媒體120之后,從該MP4文件只取出編碼數(shù)據(jù)并生成單獨(dú)編碼數(shù)據(jù)的獨(dú)自文件等的上述MP4文件的利用方法時(shí),由于記錄在MP4文件的所有編碼數(shù)據(jù)需要正確的編碼數(shù)據(jù)時(shí)間戳,所以選擇編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203,在上述編碼數(shù)據(jù)時(shí)間戳改寫單元331使用其MP4時(shí)間戳將具有輸入的編碼數(shù)據(jù)的編碼數(shù)據(jù)時(shí)間戳變換為正確的編碼數(shù)據(jù)時(shí)間戳,在保存暫時(shí)存儲(chǔ)單元332存儲(chǔ)的編碼數(shù)據(jù)內(nèi)的編碼數(shù)據(jù)時(shí)間戳的區(qū)域重新寫入上述編碼數(shù)據(jù)時(shí)間戳改寫單元331生成的正確的編碼數(shù)據(jù)時(shí)間戳。另外,在不需要使上述編碼數(shù)據(jù)時(shí)間戳成為正確值的處理時(shí),不選擇編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203,輸出從非更新幀插入單元201輸出的編碼數(shù)據(jù)、編碼數(shù)據(jù)量以及MP4時(shí)間戳即可。
接著,通過(guò)將上述固定FPS化單元104輸出的上述編碼數(shù)據(jù)、編碼數(shù)據(jù)量以及MP4時(shí)間戳輸出到上述MP4文件編碼單元110,在該MP4文件編碼單元110進(jìn)行與現(xiàn)有同樣的處理,將編碼數(shù)據(jù)變換為MP4文件,MP4文件記錄到記錄媒體120。
在此,根據(jù)圖5和圖12說(shuō)明通過(guò)經(jīng)由非更新幀插入單元201得到的編碼數(shù)據(jù)和MP4文件的結(jié)構(gòu)。
圖5是經(jīng)由非更新幀插入單元,MP4文件記錄時(shí)的編碼數(shù)據(jù)(圖(a))和、MP4文件的數(shù)據(jù)結(jié)構(gòu)(圖(b))的圖。
如圖5所示,利用上述數(shù)據(jù)變換裝置100變換為固定幀速率的編碼數(shù)據(jù)與圖12所示的現(xiàn)有的可變幀速率的情況相比,由于時(shí)間戳的時(shí)間間隔固定,所以Sample-To-TimeStamp Atom要素為1個(gè)。但是,由于作為非更新幀在現(xiàn)有中跳躍的MP4時(shí)間戳處追加非更新幀,所以Movie data Atom和Sample Size Atom變大。
另外,如上所述,通過(guò)Sample-To-TimeStamp Atom的要素?cái)?shù)一直為1個(gè),從MP4時(shí)間戳計(jì)算幀序號(hào),或從幀序號(hào)計(jì)算MP4時(shí)間戳變簡(jiǎn)單。
例如,設(shè)MP4時(shí)間戳為T,幀序號(hào)為N,幀間隔dur為d時(shí),由于T=d×N的關(guān)系成立,所以從MP4時(shí)間戳計(jì)算幀序號(hào)是N=T/d,從幀序號(hào)計(jì)算出MP4時(shí)間戳是T=d×N,因此,只用1次相除或相乘就可以算出。
另外,在上述固定FPS化單元104中,從上述各單元201、202輸出的編碼數(shù)據(jù)、數(shù)據(jù)大小MP4時(shí)間戳不經(jīng)由上述編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203也不影響MP4文件的數(shù)據(jù)結(jié)構(gòu)而相同。因?yàn)镸P4文件的MP4時(shí)間戳的確定與編碼數(shù)據(jù)無(wú)關(guān),在規(guī)格上不會(huì)有問(wèn)題。
以下,說(shuō)明在上述大小0幀插入單元202輸入上述編碼數(shù)據(jù)、編碼數(shù)據(jù)量以及MP4文件時(shí)間戳的情況。
此時(shí),也與上述的非更新幀插入單元201同樣,按照?qǐng)D4的流程圖進(jìn)行處理。與上述非更新幀插入單元201的不同之處在于在上述非更新幀插入單元201插入非更新幀處插入大小0的幀。
在此,根據(jù)圖6和圖12說(shuō)明通過(guò)經(jīng)由大小0幀插入單元202得到的編碼數(shù)據(jù)和MP4文件的結(jié)構(gòu)。
圖6是表示經(jīng)由大小0幀插入單元MP4文件記錄時(shí)的編碼數(shù)據(jù)(圖(a))和、MP4文件的數(shù)據(jù)結(jié)構(gòu)(圖(b))的圖。
如圖6所示,用上述數(shù)據(jù)變換裝置100變換為固定幀速率的編碼數(shù)據(jù)與圖12所示的現(xiàn)有的可變幀速率的編碼數(shù)據(jù)相比,Sample-To-TimeStamp Atom的要素為1個(gè)。另外,與上述非更新幀插入單元201不同,插入大小0的幀,不追加編碼數(shù)據(jù),所以上述Movie Data Atom的表大小與現(xiàn)有的可變幀速率的編碼數(shù)據(jù)相同。但是,上述Sample-To-TimeStamp Atom的表大小與上述非更新幀插入單元201相同,追加表示大小0的幀,所以比圖12所示的現(xiàn)有的可變幀速率時(shí)大。
另外,由于與上述非更新幀插入單元201同樣,Sample-To-TimeStamp Atom的要素一直為1個(gè),所以從MP時(shí)間戳計(jì)算幀序號(hào),或從幀序號(hào)計(jì)算MP4文件變簡(jiǎn)單。
另外,與上述非更新幀插入單元201時(shí)同樣,上述固定FPS化單元104有無(wú)經(jīng)由上述編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203不影響MP4文件的數(shù)據(jù)結(jié)構(gòu)。
從上述說(shuō)明可知,上述編碼數(shù)據(jù)、編碼數(shù)據(jù)量以及MP4時(shí)間戳輸入到上述非更新幀插入單元201、或上述大小0幀插入單元202的任一個(gè),都可以得到將可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的變換數(shù)據(jù)的同樣的效果。但是,在輸入到大小0幀插入單元202時(shí),由于插入大小0幀,所以有的解碼裝置不能解碼。從而,在重視數(shù)據(jù)的可移性時(shí),輸入到非更新幀速率插入單元201即可。
如上所述,根據(jù)該實(shí)施例1,將輸入的可變幀速率的MPEG-4編碼數(shù)據(jù)MP4文件記錄到記錄媒體120時(shí),通過(guò)使上述可變幀速率的編碼數(shù)據(jù)經(jīng)由上述固定FPS化單元104,在現(xiàn)有中被跳躍的MP4時(shí)間戳處插入非更新幀或大小0幀,數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)之后,利用MP4文件編碼單元110變換為MP4文件,MP4文件記錄在上述記錄媒體120,所以與固定幀速率時(shí)同樣,可以使Sample-To-TimeStamp Atom為1個(gè),其結(jié)果,Sample-To-TimeStamp Atom表的大小不由編碼數(shù)據(jù)確定,因此在該數(shù)據(jù)變換裝置100發(fā)生異常的情況下,也可以完全恢復(fù)MP4文件的數(shù)據(jù)。
另外,由于上述Sample-To-TimeStamp Atom表的大小為一定的,所以可以減少再生MP4文件記錄在記錄媒體120的數(shù)據(jù)時(shí)的處理。
另外,在將本實(shí)施例1的數(shù)據(jù)變換裝置100搭載在其物理上大小、消耗功率或記錄媒體的容量受限的移動(dòng)終端,在移動(dòng)終端內(nèi)的記錄媒體記錄MP4文件時(shí),由于Sample-To-TimeStamp Atom表的要素固定為1個(gè),所以不會(huì)產(chǎn)生因上述移動(dòng)終端內(nèi)的記錄媒體的容量不足等引起的各種問(wèn)題。
另外,本實(shí)施例1的說(shuō)明中,將判斷輸出圖4的步驟S43輸入的編碼數(shù)據(jù),還是插入非更新幀或大小0幀的判斷條件設(shè)為ITS≤OTS,通常給予輸入到數(shù)據(jù)編碼裝置的編碼數(shù)據(jù)的輸入時(shí)間戳ITS不精確地與要求時(shí)間戳間隔DTS的倍數(shù)一致,而是在前后波動(dòng),即,ITS=n×OTS±α(n整數(shù))。在此,α為表示波動(dòng)分量。
產(chǎn)生該波動(dòng)的原因是NTSC方式的TV信號(hào)的幀間隔為1001/30000=0.033366666…秒(29.970029…Hz),由于不是能整除的數(shù),所以在生成編碼數(shù)據(jù)時(shí),在各設(shè)備進(jìn)行舍入處理。該舍入處理的方法(四舍五入、舍去、進(jìn)位),以及其幀間隔的位數(shù)依賴于各設(shè)備,在MP4記錄時(shí)不能知道其信息。
以下,根據(jù)圖7說(shuō)明因上述理由產(chǎn)生波動(dòng)的情況。圖7是表示給予輸入幀的時(shí)間戳ITS在前后波動(dòng)一些的狀態(tài)的圖,圖(a)是判斷條件為ITS≤OTS的情況,圖(b)為ITS≤OTS+DTS/2的情況。在此設(shè)要求時(shí)間戳間隔DTS=100。
如圖7(a)所示,在判斷條件為ITS≤OTS時(shí),如第(n-1)個(gè)幀,若ITS向小于OTS的方向波動(dòng),則判斷該第(n-1)個(gè)幀為正確的OTS(=800)的幀,不會(huì)出現(xiàn)問(wèn)題,但如第n個(gè)幀,若ITS向大于OTS的方向波動(dòng),該第n個(gè)幀不判斷為正確的OTS(=900)的幀,而判斷為下一OTS(=1000)的幀。
在這樣的情況下,若設(shè)圖4的步驟S43判斷條件為ITS≤OTS+DTS/2,則如圖7(b)所示,則該第n個(gè)幀判斷為正確的OTS(=900)的幀,可以數(shù)據(jù)變換因上述理由產(chǎn)生的波動(dòng)而在MP4記錄到記錄媒體120之前消除。另外,在此,作為判斷條件的一例比較對(duì)OTS相加DTS/2,但也可以相加除了DTS/2之外的一定值。
(實(shí)施例2)以下,根據(jù)圖8說(shuō)明本實(shí)施例2的數(shù)據(jù)編碼裝置。
上述實(shí)施例1中說(shuō)明了將可變幀速率的MPEG-4視頻編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)的數(shù)據(jù)變換裝置,本實(shí)施例2中說(shuō)明從照相機(jī)等輸入沒有編碼的圖像信號(hào),將該圖像信號(hào)編碼為固定幀速率的編碼數(shù)據(jù)之后MP4文件記錄的數(shù)據(jù)編碼裝置。
首先,根據(jù)圖8說(shuō)明本實(shí)施例2的數(shù)據(jù)編碼裝置200的結(jié)構(gòu)。
圖8是表示本實(shí)施例2的數(shù)據(jù)編碼裝置的結(jié)構(gòu)的圖。
圖8中,數(shù)據(jù)編碼裝置200在圖11所示的現(xiàn)有的數(shù)據(jù)編碼裝置具有非更新幀生成單元84,上述的編碼判斷單元82判斷是否編碼得到的幀,基于該判斷結(jié)果,編碼單元83輸出是否選擇非更新幀生成單元84的開關(guān)選擇信號(hào)。另外,由于其它結(jié)構(gòu)與現(xiàn)有的數(shù)據(jù)編碼裝置相同,所以在此不作說(shuō)明。
上述非更新幀生成單元84生成上述實(shí)施例1所述的非更新幀,插入MP4時(shí)間戳。另外,非更新幀的編碼數(shù)據(jù)時(shí)間戳與實(shí)施例1同樣,在該非更新幀生成單元84附上任一值。
以下,說(shuō)明本實(shí)施例2的數(shù)據(jù)編碼裝置200的處理工作。
首先,數(shù)據(jù)編碼裝置200在圖像取得單元81將從照相機(jī)輸入的圖像變換為幀,將該幀從讀取圖像開始與以照相機(jī)的幀速率增加的幀序號(hào)一起輸出到編碼判斷單元82。
接著,編碼判斷單元82從上述幀序號(hào)和預(yù)先給予的照相機(jī)的幀信息計(jì)算輸入的幀的MP4時(shí)間戳,從該時(shí)間戳、至此編碼的總數(shù)據(jù)量和輸出比特速率判斷是否編碼該輸入的幀。至此與現(xiàn)有的同樣。
在上述編碼判斷單元82判斷為編碼該輸入的幀時(shí),該編碼判斷單元82輸出選擇編碼單元83的開關(guān)選擇信號(hào),將從照相機(jī)輸入的幀和、該幀的時(shí)間戳輸出到編碼單元83。
接著,在編碼單元83進(jìn)行上述幀的編碼處理之后,將編碼數(shù)據(jù)、編碼數(shù)據(jù)量和MP4時(shí)間戳輸出到MP4文件編碼單元110。
另一方面,在上述編碼判斷單元82判斷為不編碼該幀時(shí),該編碼判斷單元82輸出選擇非更新幀生成單元84的開關(guān)選擇信號(hào),在非更新幀生成單元84生成非更新幀,插入該非更新幀的MP4時(shí)間戳,將上述非更新幀、非更新幀的大小以及MP4時(shí)間戳輸出到上述MP4文件編碼單元110。另外,上述非更新幀與實(shí)施例1所述的相同。
之后,在上述MP4文件編碼單元110中,將上述編碼單元83或非更新幀生成單元84輸出的編碼數(shù)據(jù)或非更新幀變換為MP4文件,MP4文件記錄到記錄媒體120(參考圖5)。
另外,以上說(shuō)明中,根據(jù)上述編碼判斷單元82的判斷,現(xiàn)有中利用非更新幀生成單元84在跳躍數(shù)據(jù)的MP4時(shí)間戳處插入非更新幀,但也可以代替上述非更新幀生成單元84,具有生成大小0的大小0幀,插入MP4時(shí)間戳的大小0幀生成單元(未圖示)。此時(shí),根據(jù)編碼判斷單元82的判斷,在現(xiàn)有中跳躍數(shù)據(jù)的MP4時(shí)間戳處插入大小0幀,得到與上述非更新幀速率生成單元84時(shí)相同的效果(參考圖6)。但是,將用上述大小0幀生成單元插入大小0幀的編碼數(shù)據(jù)變換為MP4文件并記錄到記錄媒體120時(shí),有比上述非更新幀生成單元84得到的MP4文件小的優(yōu)點(diǎn),但在解碼該MP4文件時(shí),有的解碼裝置不能解碼。從而,在重視數(shù)據(jù)的可移性時(shí),具有上述的非更新幀生成單元84。
另外,在從記錄在上述記錄媒體120的上述MP4文件只生成編碼數(shù)據(jù)文件等時(shí),由于在編碼數(shù)據(jù)的編碼數(shù)據(jù)時(shí)間戳不正確時(shí)不能生成文件,所以假設(shè)從MP4文件生成這樣的文件等時(shí),在上述編碼單元83或非更新幀生成單元84(或大小0幀生成單元)和、MP4文件編碼單元110之間還具有上述實(shí)施例1所述的上述編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元203,使用MP4時(shí)間戳將從上述編碼單元83或非更新幀生成單元84輸出的編碼數(shù)據(jù)的編碼時(shí)間戳變換為正確的編碼數(shù)據(jù)時(shí)間戳并重新寫入。
如上所述,根據(jù)本實(shí)施例2,在編碼從照相機(jī)輸入的圖像信號(hào)時(shí),在編碼判斷單元82判斷為編碼時(shí),在編碼單元83編碼輸入的圖像信號(hào),在判斷為不編碼時(shí),利用非更新幀生成單元84或大小0幀生成單元(未圖示)在現(xiàn)有中跳躍的地方生成并插入非更新幀或大小0幀,所以在MP4文件編碼單元110將該數(shù)據(jù)變換為MP4文件,并MP4文件記錄到記錄媒體120時(shí),可使Sample-To-TimeStamp Atom如固定幀速率時(shí)那樣為1,其結(jié)果,Sample-To-TimeStamp Atom表的大小不由編碼數(shù)據(jù)確定,在本數(shù)據(jù)編碼裝置200產(chǎn)生異常的情況下,也可以完全恢復(fù)MP4文件的數(shù)據(jù)。
另外,由于上述Sample-To-TimeStamp Atom表的大小為一定的,所以可以減少再生MP4記錄到記錄媒體120的數(shù)據(jù)時(shí)的處理。
在將本實(shí)施例2的數(shù)據(jù)編碼裝置200搭載在其物理上大小、消耗功率、記錄媒體的容量受較大限制的移動(dòng)終端,由于也可以將Sample-To-TimeStampAtom表的要素固定為1個(gè),所以不會(huì)產(chǎn)生因記錄媒體120的容量不足等而引起的各種問(wèn)題。
(實(shí)施例3)以下,根據(jù)圖9說(shuō)明本實(shí)施例3的數(shù)據(jù)記錄裝置。
上述實(shí)施例1說(shuō)明了將可變幀速率的MPFG-4視頻編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)的數(shù)據(jù)變換裝置,本實(shí)施例3中說(shuō)明接收并解碼發(fā)送局使用RTP(實(shí)時(shí)傳輸協(xié)議)發(fā)送的MPEG-4數(shù)據(jù),并MP4文件記錄到記錄媒體的數(shù)據(jù)記錄裝置。
首先,根據(jù)圖9說(shuō)明本實(shí)施例3的數(shù)據(jù)記錄裝置300的結(jié)構(gòu)。
圖9是表示本實(shí)施例3的數(shù)據(jù)記錄裝置300的結(jié)構(gòu)的圖。
圖9中,數(shù)據(jù)記錄裝置300在圖17所示的現(xiàn)有的數(shù)據(jù)記錄裝置具有RTP時(shí)間戳變換單元94和固定FPS化單元104,RTP時(shí)間戳變換單元94將作為在上述RTP解碼單元83取得的RTP包的時(shí)間戳的RTP時(shí)間戳變換為本發(fā)明實(shí)施例之間通用的表現(xiàn)形式的MP4時(shí)間戳。在此所述的本發(fā)明的實(shí)施例之間的通用表現(xiàn)形式的MP4時(shí)間戳是以從0開始的形式記錄到MP4文件的Sample-To-TimeStampAtom的時(shí)間戳。
上述RTP時(shí)間戳變換單元94的、從RTP時(shí)間戳至MP4時(shí)間戳的變換如現(xiàn)有的數(shù)據(jù)記錄裝置中所述,由于RTP時(shí)間戳沒有隨機(jī)補(bǔ)償,所以從整個(gè)RTP包的RTP時(shí)間戳減去該補(bǔ)償,使起始編碼數(shù)據(jù)的時(shí)間戳從0開始,并且,進(jìn)行使上述RTP時(shí)間戳的標(biāo)度成為本發(fā)明通用的MP4時(shí)間戳的標(biāo)度的乘除法運(yùn)算。
另外,上述固定FPS化單元104的結(jié)構(gòu)與在上述實(shí)施例1中根據(jù)圖2和圖3所述同樣,本數(shù)據(jù)記錄裝置的其它結(jié)構(gòu)與現(xiàn)有的數(shù)據(jù)記錄裝置相同,所以在此不作說(shuō)明。
以下,說(shuō)明具有上述結(jié)構(gòu)的本實(shí)施例3的數(shù)據(jù)記錄裝置300的一系列處理工作。本實(shí)施例3中說(shuō)明了數(shù)據(jù)記錄裝置300為移動(dòng)終端,但該數(shù)據(jù)記錄裝置300不限于移動(dòng)終端,從發(fā)送局使用RTP接收數(shù)據(jù)并MP4記錄的裝置即可。
首先,從基站的RTP發(fā)送單元90以視頻包單位分割MPEG-4的編碼數(shù)據(jù),數(shù)據(jù)記錄裝置的RTP接收單元91接收存儲(chǔ)其各視頻包的RTP包。
接著,在RTP接收緩沖器92暫時(shí)存儲(chǔ)適當(dāng)數(shù)量的上述RTP接收單元91接收到的RTP包。
在該上述RTP接收緩沖器92中,利用排列消除上述RTP包在傳送中序號(hào)轉(zhuǎn)換的現(xiàn)象,1幀的編碼數(shù)據(jù)分割為多個(gè)RTP包并傳送時(shí),保存到積累成多于1幀的包。
接著,從上述RTP接收緩沖器92取得的RTP包在RTP解碼單元93解碼為MPEG-4數(shù)據(jù),其編碼數(shù)據(jù)及其編碼數(shù)據(jù)量輸出到固定FPS化單元104,同時(shí)從RTP包取得RTP時(shí)間戳,將該取得的RTP時(shí)間戳輸出到RTP時(shí)間戳變換單元94。
輸出到上述RTP時(shí)間戳變換單元94的RTP時(shí)間戳如上述變換為MP4時(shí)間戳,輸出到固定FPS化單元104。
由于之后的固定FPS化單元104的處理和MP4文件編碼單元110的處理與上述實(shí)施例1所述的相同,所以在此不作說(shuō)明。
如上所述,根據(jù)本實(shí)施例3,在RTP接收單元91接收RTP發(fā)送單元90使用RTP(實(shí)時(shí)傳輸協(xié)議)發(fā)送的、存儲(chǔ)在RTP包的MPEG-4數(shù)據(jù),在RTP解碼單元93將該RTP包解碼成MPEG-4數(shù)據(jù),同時(shí)取得RTP時(shí)間戳,在RTP時(shí)間戳變換單元94將RTP時(shí)間戳變換為MP4時(shí)間戳,上述固定FPS化單元104從上述RTP解碼單元93取得編碼數(shù)據(jù)和編碼數(shù)據(jù)量,在現(xiàn)有中沒有跳躍的MP4時(shí)間戳的地方插入非更新幀或大小0幀,數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)之后,利用MP4文件編碼單元110進(jìn)行MP4文件變換,MP4文件記錄到上述記錄媒體120,所以可使Sample-To-TimeStamp Atom如固定幀速率時(shí)那樣為1個(gè),其結(jié)果,Sample-To-TimeStamp Atom表的大小不由編碼數(shù)據(jù)確定,在本數(shù)據(jù)記錄裝置300產(chǎn)生異常的情況下,也可以完全恢復(fù)MP4文件的數(shù)據(jù)。
另外,由于上述Sample-To-TimeStamp Atom表的大小是一定的,所以可以減少再生MP4文件記錄到記錄媒體120的數(shù)據(jù)時(shí)的處理。
另外,在將本實(shí)施例3的數(shù)據(jù)記錄裝置300搭載在其物理上大小、消耗功率、記錄媒體的容量受較大限制的移動(dòng)終端,由于也可以將Sample-To-TimeStamp Atom表的要素固定為1個(gè),所以不會(huì)產(chǎn)生因記錄媒體120的容量不足等而引起的各種問(wèn)題。
另外,本實(shí)施例3中,設(shè)判斷輸出解碼上述發(fā)送局傳送的RTP包的編碼數(shù)據(jù),還是插入非更新幀或大小0幀的判斷條件為ITS≤OTS,但與上述實(shí)施例1同樣,通常給予RTP包的輸入時(shí)間戳ITS因上述理由不精確地與要求時(shí)間戳間隔DTS的倍數(shù)一致,而是在前后波動(dòng)。這樣的情況下,若將上述判斷條件與實(shí)施例1同樣設(shè)為ITS≤OTS+DTS/2,則可以在MP4記錄到記錄媒體120之前消除因上述理由產(chǎn)生的波動(dòng)。另外,在此作為判斷條件的一例比較了對(duì)OTS相加DTS/2,但也可以相加除了DTS/2之外的一定值。
通過(guò)上述,根據(jù)本發(fā)明第1項(xiàng)的數(shù)據(jù)變換裝置,具有暫時(shí)存儲(chǔ)單元,暫時(shí)存儲(chǔ)輸入的圖像信號(hào)數(shù)據(jù)的編碼數(shù)據(jù);時(shí)間戳讀取單元,從存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的上述編碼數(shù)據(jù)讀取作為該編碼數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳;時(shí)間戳變換單元,將上述編碼數(shù)據(jù)的輸入時(shí)間戳變換為基于輸出從外部作為初始信息輸入的上述編碼數(shù)據(jù)時(shí)的固定幀速率的時(shí)間戳;固定幀速率變換單元,將附有基于上述固定幀速率的時(shí)間戳的上述編碼數(shù)據(jù)變換為上述固定幀速率的編碼數(shù)據(jù),因此,可以將以可變幀速率輸入的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù),其結(jié)果,具有在以標(biāo)準(zhǔn)文件格式記錄編碼數(shù)據(jù)時(shí)編碼數(shù)據(jù)的搜索處理簡(jiǎn)單等提高編碼數(shù)據(jù)的便利性的優(yōu)點(diǎn)。
根據(jù)本發(fā)明第2項(xiàng)的數(shù)據(jù)變換裝置,在第1項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)表示該非更新的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值的非更新幀生成單元和;確定從上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述非更新幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù),因此,可以將可變幀速率的編碼數(shù)據(jù)變換為可移性的固定幀速率的編碼數(shù)據(jù)。
根據(jù)本發(fā)明第3項(xiàng)的數(shù)據(jù)變換裝置,在第1項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有生成表示大小0的編碼數(shù)據(jù),對(duì)表示該大小0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值的大小0幀生成單元和;確定上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述大小0幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù),因此,可以將可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)。另外,在以標(biāo)準(zhǔn)文件格式將上述編碼數(shù)據(jù)記錄到記錄媒體等時(shí),可以減小該記錄所需的容量。
根據(jù)本發(fā)明第4項(xiàng)的數(shù)據(jù)變換裝置,在第2項(xiàng)所述的數(shù)據(jù)變換裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù),因此,在上述處理單元可以消除附在輸入的圖像數(shù)據(jù)的時(shí)間戳的波動(dòng)。
根據(jù)本發(fā)明第5項(xiàng)的數(shù)據(jù)變換裝置,在第3項(xiàng)所述的數(shù)據(jù)變換裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù),因此,在上述處理單元可以消除附在輸入的圖像數(shù)據(jù)的時(shí)間戳的波動(dòng)。
根據(jù)本發(fā)明第6項(xiàng)的數(shù)據(jù)變換裝置,在第2項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、上述非更新幀生成單元輸出的表示上述非更新的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,因此,補(bǔ)償附在編碼數(shù)據(jù)的輸入時(shí)間戳的差錯(cuò),可以生成具有連續(xù)的輸入時(shí)間戳的編碼數(shù)據(jù),其結(jié)果,可以從上述固定幀速率變換單元輸出的數(shù)據(jù)只生成編碼數(shù)據(jù)文件等。
根據(jù)本發(fā)明第7項(xiàng)的數(shù)據(jù)變換裝置,在第3項(xiàng)所述的數(shù)據(jù)變換裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,因此,補(bǔ)償附在編碼數(shù)據(jù)的輸入時(shí)間戳的差錯(cuò),可以生成具有連續(xù)的輸入時(shí)間戳的編碼數(shù)據(jù),其結(jié)果,可以從上述固定幀速率變換單元輸出的數(shù)據(jù)只生成編碼數(shù)據(jù)文件等。
根據(jù)本發(fā)明第8項(xiàng)的數(shù)據(jù)編碼裝置,讀取輸入的圖像信號(hào)數(shù)據(jù),從作為該圖像信號(hào)數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳判斷是否編碼該圖像信號(hào)數(shù)據(jù),根據(jù)該判斷結(jié)果,在編碼單元將上述圖像信號(hào)數(shù)據(jù)壓縮編碼成可變幀速率的編碼數(shù)據(jù),具有生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)表示該非更新的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值,確定基于輸出時(shí)的固定幀速率的時(shí)間戳的非更新幀生成單元,在上述判斷結(jié)果為不編碼上述圖像信號(hào)數(shù)據(jù)時(shí),從上述非更新幀生成單元輸出表示上述非更新的編碼數(shù)據(jù)和、基于上述固定幀速率的時(shí)間戳,因此,因上述編碼單元的處理延遲等數(shù)據(jù)不能編碼而跳躍,可以將壓縮編碼成可變幀速率的編碼數(shù)據(jù)的圖像信號(hào)數(shù)據(jù)壓縮編碼為可移性的固定幀速率的編碼數(shù)據(jù),其結(jié)果,具有在以標(biāo)準(zhǔn)文件格式記錄編碼數(shù)據(jù)時(shí)使編碼數(shù)據(jù)的搜索處理簡(jiǎn)單等提高編碼數(shù)據(jù)的便利性的優(yōu)點(diǎn)。
根據(jù)本發(fā)明第9項(xiàng)的數(shù)據(jù)編碼裝置,讀取輸入的圖像信號(hào)數(shù)據(jù),從作為該圖像信號(hào)數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳判斷是否編碼該圖像信號(hào)數(shù)據(jù),根據(jù)該判斷結(jié)果,在編碼單元將上述圖像信號(hào)數(shù)據(jù)壓縮編碼成可變幀速率的編碼數(shù)據(jù),具有生成表示大小0的編碼數(shù)據(jù),對(duì)表示該大小0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值,確定基于輸出時(shí)的固定幀速率的時(shí)間戳的大小0幀生成單元,在上述判斷結(jié)果為不編碼上述圖像信號(hào)數(shù)據(jù)時(shí),從上述大小0幀生成單元輸出表示上述大小0的編碼數(shù)據(jù)和、基于上述固定幀速率的時(shí)間戳,因此,因上述編碼單元的處理延遲等數(shù)據(jù)不能編碼而跳躍,可以將壓縮編碼成可變幀速率的編碼數(shù)據(jù)的圖像信號(hào)數(shù)據(jù)壓縮編碼為可移性的固定幀速率的編碼數(shù)據(jù),其結(jié)果,具有在以標(biāo)準(zhǔn)文件格式記錄編碼數(shù)據(jù)時(shí)使編碼數(shù)據(jù)的搜索處理簡(jiǎn)單等提高編碼數(shù)據(jù)的便利性的優(yōu)點(diǎn)。另外,在將上述編碼數(shù)據(jù)以標(biāo)準(zhǔn)文件格式記錄到上述記錄媒體時(shí),還可以減小該記錄所需的容量。
根據(jù)本發(fā)明第10項(xiàng)的數(shù)據(jù)記錄裝置,具有接收傳送的RTP包的RTP接收單元;暫時(shí)存儲(chǔ)接收的上述RTP包的RTP接收緩沖器和;將存儲(chǔ)在上述RTP接收緩沖器的、具有同一RTP時(shí)間戳的RTP包解碼成編碼數(shù)據(jù)的RTP解碼單元,將上述編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式并在記錄到記錄媒體的數(shù)據(jù)記錄裝置中,具有從上述RTP接收緩沖器取得上述RTP時(shí)間戳,并變換為基于輸出從外部作為初始信息輸入的上述編碼數(shù)據(jù)時(shí)的固定幀速率的時(shí)間戳的時(shí)間戳變換單元和;將附有基于上述固定幀速率的時(shí)間戳的上述編碼數(shù)據(jù)變換為上述固定幀速率的編碼數(shù)據(jù)的固定幀速率變換單元,將從上述固定幀速率變換單元輸出的上述固定幀速率的編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式并記錄在上述記錄媒體,因此,在將以RTP包傳送的編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式并記錄時(shí),在傳送中丟失RTP包等,將跳躍數(shù)據(jù)的可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)之后,可以標(biāo)準(zhǔn)文件格式記錄,其結(jié)果,具有使編碼數(shù)據(jù)的搜索處理簡(jiǎn)單等提高編碼數(shù)據(jù)的便利性的優(yōu)點(diǎn)。
根據(jù)本發(fā)明第11項(xiàng)的數(shù)據(jù)記錄裝置,在第10項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)表示該非更新的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值的非更新幀生成單元;暫時(shí)存儲(chǔ)來(lái)自上述RTP解碼單元的上述編碼數(shù)據(jù)的暫時(shí)存儲(chǔ)單元;確定從上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳。利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述非更新幀生成單元中一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù),因此,可以將可變幀速率的編碼數(shù)據(jù)變換為可移性的固定幀速率的編碼數(shù)據(jù)。
根據(jù)本發(fā)明第12項(xiàng)的數(shù)據(jù)記錄裝置,在第10項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有生成表示大小0的編碼數(shù)據(jù),對(duì)表示該大小0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值的大小0幀生成單元;暫時(shí)存儲(chǔ)來(lái)自上述RTP解碼單元的上述編碼數(shù)據(jù)的暫時(shí)存儲(chǔ)單元和;確定上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述大小0幀生成單元中的一個(gè)的處理單元,上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù),因此,可以將可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)。另外,在以標(biāo)準(zhǔn)文件格式將上述編碼數(shù)據(jù)記錄到記錄媒體時(shí),可以減小該記錄所需的容量。
根據(jù)本發(fā)明第13項(xiàng)的數(shù)據(jù)記錄裝置,在第11項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù),因此,在上述處理單元可以消除附在傳送的RTP包的時(shí)間戳的波動(dòng)。
根據(jù)本發(fā)明第14項(xiàng)的數(shù)據(jù)記錄裝置,在第12項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述處理單元在對(duì)上述輸出時(shí)間戳相加任一值的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在對(duì)上述輸出時(shí)間戳相加任一值的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù),因此,在上述處理單元可以消除附在傳送的RTP包的時(shí)間戳的波動(dòng)。
根據(jù)本發(fā)明第15項(xiàng)的數(shù)據(jù)記錄裝置,在第11項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、上述非更新幀生成單元輸出的表示上述非更新的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,因此,補(bǔ)償附在編碼數(shù)據(jù)的輸入時(shí)間戳的差錯(cuò),可以生成具有連續(xù)的輸入時(shí)間戳的編碼數(shù)據(jù),其結(jié)果,可以從變換為記錄在上述記錄媒體的標(biāo)準(zhǔn)文件格式的數(shù)據(jù)只生成編碼數(shù)據(jù)文件等。
根據(jù)本發(fā)明第16項(xiàng)的數(shù)據(jù)記錄裝置,在第12項(xiàng)所述的數(shù)據(jù)記錄裝置中,上述固定幀速率變換單元具有為了使該輸入時(shí)間戳連續(xù),基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小0的編碼數(shù)據(jù)的輸入時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,因此,補(bǔ)償附在編碼數(shù)據(jù)的輸入時(shí)間戳的差錯(cuò),可以生成具有連續(xù)的輸入時(shí)間戳的編碼數(shù)據(jù),其結(jié)果,可以從變換為記錄在上述記錄媒體的標(biāo)準(zhǔn)文件格式的數(shù)據(jù)只生成編碼數(shù)據(jù)文件等。
權(quán)利要求
1.一種數(shù)據(jù)變換裝置,其特征在于包括暫時(shí)存儲(chǔ)單元,暫時(shí)存儲(chǔ)輸入的圖像信號(hào)數(shù)據(jù)的編碼數(shù)據(jù);時(shí)間戳讀取單元,從存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的上述編碼數(shù)據(jù)讀取作為該編碼數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳;時(shí)間戳變換單元,將上述編碼數(shù)據(jù)的輸入時(shí)間戳變換為基于輸出從外部作為初始信息輸入的上述編碼數(shù)據(jù)時(shí)的固定幀速率的時(shí)間戳;固定幀速率變換單元,將帶有基于上述固定幀速率的時(shí)間戳的上述編碼數(shù)據(jù)變換為上述固定幀速率的編碼數(shù)據(jù)。
2.如權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于上述固定幀速率變換單元包括非更新幀生成單元,生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)該表示非更新的編碼數(shù)據(jù)附上作為上述輸入時(shí)間戳的任一值和;處理單元,確定從上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述非更新幀生成單元中的一個(gè),上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
3.如權(quán)利要求1所述的數(shù)據(jù)變換裝置,其特征在于上述固定幀速率變換單元包括大小0幀生成單元,生成表示大小為0的編碼數(shù)據(jù),對(duì)該表示大小為0的編碼數(shù)據(jù)附上作為上述輸入時(shí)間戳和;處理單元,確定上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述大小0幀生成單元中的一個(gè),上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小為0的編碼數(shù)據(jù)。
4.如權(quán)利要求2所述的數(shù)據(jù)變換裝置,其特征在于上述處理單元在上述輸出時(shí)間戳相加任一值后的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳相加任一值后的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
5.如權(quán)利要求3所述的數(shù)據(jù)變換裝置,其特征在于上述處理單元在上述輸出時(shí)間戳相加任一值后的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳相加任一值后的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小為0的編碼數(shù)據(jù)。
6.如權(quán)利要求2所述的數(shù)據(jù)變換裝置,其特征在于上述固定幀速率變換單元包括編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、上述非更新幀生成單元輸出的表示上述非更新的編碼數(shù)據(jù)的輸入時(shí)間戳,使該輸入時(shí)間戳連續(xù)。
7.如權(quán)利要求3所述的數(shù)據(jù)變換裝置,其特征在于上述固定幀速率變換單元包括編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小為0的編碼數(shù)據(jù)的輸入時(shí)間戳,使該輸入時(shí)間戳連續(xù)。
8.一種數(shù)據(jù)編碼裝置,讀取輸入的圖像信號(hào)數(shù)據(jù),從作為該圖像信號(hào)數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳判斷是否編碼該圖像信號(hào)數(shù)據(jù),根據(jù)該判斷結(jié)果,在編碼單元將上述圖像信號(hào)數(shù)據(jù)壓縮編碼成可變幀速率的編碼數(shù)據(jù),其特征在于具有非更新幀生成單元,生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)該表示非更新的編碼數(shù)據(jù)附上作為上述輸入時(shí)間戳的任一值,確定基于輸出時(shí)的固定幀速率的時(shí)間戳。在上述判斷結(jié)果為不編碼上述圖像信號(hào)數(shù)據(jù)時(shí),從上述非更新幀生成單元輸出表示上述非更新的編碼數(shù)據(jù)和、基于上述固定幀速率的時(shí)間戳。
9.一種數(shù)據(jù)編碼裝置,讀取輸入的圖像信號(hào)數(shù)據(jù),從作為該圖像信號(hào)數(shù)據(jù)的時(shí)間信息的輸入時(shí)間戳判斷是否編碼該圖像信號(hào)數(shù)據(jù),根據(jù)該判斷結(jié)果,在編碼單元將上述圖像信號(hào)數(shù)據(jù)壓縮編碼成可變幀速率的編碼數(shù)據(jù),其特征在于具有大小0幀生成單元,生成表示大小為0的編碼數(shù)據(jù),對(duì)該表示大小為0的編碼數(shù)據(jù)附上任一值作為上述輸入時(shí)間戳,確定基于輸出時(shí)的固定幀速率的時(shí)間戳。在上述判斷結(jié)果為不編碼上述圖像信號(hào)數(shù)據(jù)時(shí),從上述大小0幀生成單元輸出表示上述大小為0的編碼數(shù)據(jù)和、基于上述固定幀速率的時(shí)間戳。
10.一種數(shù)據(jù)記錄裝置,具有接收傳送的RTP包的RTP接收單元,暫時(shí)存儲(chǔ)接收的上述RTP包的RTP接收緩沖器和,將存儲(chǔ)在上述RTP接收緩沖器的、具有同一RTP時(shí)間戳的RTP包解碼成編碼數(shù)據(jù)的RTP解碼單元,將上述編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式并記錄到記錄媒體,其特征在于包括時(shí)間戳變換單元,從上述RTP接收緩沖器取得上述RTP時(shí)間戳,并變換為基于從外部作為初始信息輸入的、在輸出上述編碼數(shù)據(jù)時(shí)的固定幀速率的時(shí)間戳。以及固定幀速率變換單元,將帶有基于上述固定幀速率的時(shí)間戳的上述編碼數(shù)據(jù)變換為上述固定幀速率的編碼數(shù)據(jù),將從上述固定幀速率變換單元輸出的上述固定幀速率的編碼數(shù)據(jù)變換為標(biāo)準(zhǔn)文件格式并記錄在上述記錄媒體。
11.如權(quán)利要求10所述的數(shù)據(jù)記錄裝置,其特征在于上述固定幀速率變換單元包括非更新幀生成單元,生成有表示非更新的信息的編碼數(shù)據(jù),對(duì)該表示非更新的編碼數(shù)據(jù)附上任一值作為上述輸入時(shí)間戳;暫時(shí)存儲(chǔ)單元,暫時(shí)存儲(chǔ)來(lái)自上述RTP解碼單元的上述編碼數(shù)據(jù),和處理單元,確定從上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述非更新幀生成單元中一個(gè),上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
12.如權(quán)利要求10所述的數(shù)據(jù)記錄裝置,其特征在于上述固定幀速率變換單元包括大小0幀生成單元,生成表示大小為0的編碼數(shù)據(jù),對(duì)該表示大小為0的編碼數(shù)據(jù)作為上述輸入時(shí)間戳附上任一值;暫時(shí)存儲(chǔ)單元和,暫時(shí)存儲(chǔ)來(lái)自上述RTP解碼單元的上述編碼數(shù)據(jù);和處理單元,確定上述固定幀速率變換單元輸出的編碼數(shù)據(jù)的輸出時(shí)間戳,比較該輸出時(shí)間戳和、基于上述固定幀速率的時(shí)間戳,利用其結(jié)果,控制選擇上述暫時(shí)存儲(chǔ)單元和上述大小0幀生成單元中的一個(gè),上述處理單元在上述輸出時(shí)間戳大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小為0的編碼數(shù)據(jù)。
13.如權(quán)利要求11所述的數(shù)據(jù)記錄裝置,其特征在于上述處理單元在上述輸出時(shí)間戳相加任一值后的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳相加任一值后的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述非更新幀生成單元的表示上述非更新的編碼數(shù)據(jù)。
14.如權(quán)利要求12所述的數(shù)據(jù)記錄裝置,其特征在于上述處理單元在上述輸出時(shí)間戳相加任一值后的值大于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、存儲(chǔ)在上述暫時(shí)存儲(chǔ)單元的編碼數(shù)據(jù),在上述輸出時(shí)間戳相加任一值后的值小于基于上述固定幀速率的時(shí)間戳?xí)r,控制輸出上述輸出時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小為0的編碼數(shù)據(jù)。
15.如權(quán)利要求11所述的數(shù)據(jù)記錄裝置,其特征在于上述固定幀速率變換單元包括編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、上述非更新幀生成單元輸出的表示上述非更新的編碼數(shù)據(jù)的輸入時(shí)間戳,使該輸入時(shí)間戳連續(xù)。
16.如權(quán)利要求12所述的數(shù)據(jù)記錄裝置,其特征在于上述固定幀速率變換單元包括編碼數(shù)據(jù)時(shí)間戳連續(xù)化單元,基于上述輸出時(shí)間戳改寫上述暫時(shí)存儲(chǔ)單元輸出的上述編碼數(shù)據(jù)的輸入時(shí)間戳和、來(lái)自上述大小0幀生成單元的表示上述大小為0的編碼數(shù)據(jù)的輸入時(shí)間戳,使該輸入時(shí)間戳連續(xù)。
全文摘要
提供一種將輸入的可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)的數(shù)據(jù)變換裝置、數(shù)據(jù)編碼裝置以及數(shù)據(jù)記錄裝置。數(shù)據(jù)變換裝置100由暫時(shí)存儲(chǔ)輸入的可變幀速率的編碼數(shù)據(jù)的暫時(shí)存儲(chǔ)單元101,讀取該輸入的編碼數(shù)據(jù)的編碼數(shù)據(jù)時(shí)間戳的編碼數(shù)據(jù)時(shí)間戳讀取單元102,將該編碼數(shù)據(jù)時(shí)間戳變換為MP4時(shí)間戳的時(shí)間戳變換單元103和,將可變幀速率的編碼數(shù)據(jù)變換為固定幀速率的編碼數(shù)據(jù)的固定FPS化單元104構(gòu)成。
文檔編號(hào)H04N7/24GK1366271SQ0114575
公開日2002年8月28日 申請(qǐng)日期2001年12月7日 優(yōu)先權(quán)日2000年12月8日
發(fā)明者能登屋陽(yáng)司, 角野真也 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社