專利名稱:程序、解碼裝置、解碼方法以及記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及程序、解碼裝置、解碼方法以及記錄介質(zhì),特別涉及適合用于進(jìn)行隨機(jī)重放的情況下的程序、解碼裝置、解碼方法以及記錄介質(zhì)。
背景技術(shù):
在用MPEG方式編碼(encode)影像數(shù)據(jù)的情況下,有以下的技術(shù)不只生成壓縮數(shù)據(jù),還通過(guò)生成索引數(shù)據(jù)等子數(shù)據(jù)(subdata),而在解碼壓縮數(shù)據(jù)進(jìn)行重放時(shí),使得能夠執(zhí)行從規(guī)定的畫(huà)面開(kāi)始進(jìn)行重放的特殊重放(例如專利文獻(xiàn)1)。
專利文獻(xiàn)1日本特開(kāi)平11-341437號(hào)公報(bào)使用圖1說(shuō)明能夠使用索引數(shù)據(jù)對(duì)用MPEG2 LongGOP形式被編碼的流數(shù)據(jù)進(jìn)行解碼的現(xiàn)有的重放裝置1。
操作輸入取得部件21取得用戶的操作輸入。操作輸入取得部件21從用戶接受解碼對(duì)象流的選擇、重放開(kāi)始位置的指定,并提供給流解碼位置檢測(cè)處理部件22。流解碼位置檢測(cè)處理部件22根據(jù)從操作輸入取得部件21提供的解碼對(duì)象流的選擇、重放開(kāi)始位置的指定,求出重放的流的流編號(hào)(Stream No.)、重放開(kāi)始位置的幀編號(hào)(Frame No.)并提供給流提供控制部件23。
流提供控制部件23根據(jù)重放的流的流編號(hào)、重放開(kāi)始位置的幀編號(hào),取得存儲(chǔ)在索引管理部件24中的對(duì)應(yīng)的流的解碼所需要的各種信息,檢測(cè)對(duì)指定的重放開(kāi)始位置的幀進(jìn)行解碼所需要的參照?qǐng)D像幀。然后,流提供控制部件23向流存儲(chǔ)控制部件25要求解碼所需要的流數(shù)據(jù),并經(jīng)由流存儲(chǔ)控制部件25向解碼器28提供從流用存儲(chǔ)器26提供的流數(shù)據(jù)。另外,流提供控制部件23將輸出的幀的幀編號(hào)提供給后述的基帶信號(hào)處理部件32。
流存儲(chǔ)控制部件25對(duì)流用存儲(chǔ)器26的存儲(chǔ)進(jìn)行控制,從流用存儲(chǔ)器26讀出從流提供控制部件23要求的流數(shù)據(jù),并輸出到流提供控制部件23。
流用存儲(chǔ)器26分別存儲(chǔ)流數(shù)據(jù),并根據(jù)流存儲(chǔ)控制部件25的控制輸出規(guī)定的流數(shù)據(jù)。
解碼器28在其內(nèi)部具有存儲(chǔ)控制部件41,由存儲(chǔ)控制部件41控制參照基帶圖像用存儲(chǔ)器29,對(duì)從流提供控制部件23提供的流數(shù)據(jù)進(jìn)行解碼,將解碼后的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30。
具體地說(shuō),解碼器28在所提供的壓縮流是通過(guò)幀間參照而壓縮的壓縮流的情況下,通過(guò)存儲(chǔ)控制部件41的處理使參照基帶圖像用存儲(chǔ)器29保存后面解碼所需要的參照?qǐng)D像,對(duì)壓縮流進(jìn)行解碼。
基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30將從解碼器28提供的解碼后的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)器31,同時(shí)從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出由從基帶信號(hào)處理部件32要求了的流編號(hào)和幀編號(hào)所示的幀的基帶圖像數(shù)據(jù)并提供給基帶信號(hào)處理部件32。
基帶信號(hào)處理部件32針對(duì)所提供的基帶圖像數(shù)據(jù),例如進(jìn)行顏色修正、大小修正、慢放時(shí)的字段控制等各種修正,使得正確地重放輸出解碼后的圖像,并輸出所生成的輸出基帶圖像數(shù)據(jù)。
接著,參照?qǐng)D2的流程圖,說(shuō)明在圖1的重放裝置1中執(zhí)行的現(xiàn)有的重放處理。
在步驟S1中,流解碼位置檢測(cè)處理部件22通過(guò)操作輸入取得部件21接受重放位置的指定(流編號(hào)、幀編號(hào))的輸入,并提供給流提供控制部件23。
在步驟S2中,流提供控制部件23從索引管理部件24取得與所提供的流編號(hào)對(duì)應(yīng)的索引表。
在步驟S3中,流提供控制部件23從索引表中抽出作為解碼所需要的信息的例如圖像類型、與參照?qǐng)D像有關(guān)的信息、數(shù)據(jù)長(zhǎng)度等信息。
在步驟S4中,流提供控制部件23取得為了解碼指定的幀編號(hào)的幀而作為參照?qǐng)D像所需要的幀(在被指定為解碼的幀的幀不是I圖像的情況下,是至少包含之前的I圖像的一個(gè)幀)的幀編號(hào)、用于解碼它們的信息。
在步驟S5中,流提供控制部件23向流存儲(chǔ)控制部件25要求作為參照?qǐng)D像和解碼的圖像所需要的幀。流存儲(chǔ)控制部件25從流用存儲(chǔ)器26按照順序的方向讀出作為參照?qǐng)D像和解碼的圖像所必需的幀,并提供給流提供控制部件23。
在步驟S6中,流提供控制部件23將所提供的幀數(shù)據(jù)提供給解碼器28。解碼器28對(duì)所提供的數(shù)據(jù)進(jìn)行解碼。具體地說(shuō),解碼器28在對(duì)后面的解碼所需要的參照?qǐng)D像進(jìn)行解碼時(shí),通過(guò)存儲(chǔ)控制部件41的處理使參照基帶圖像用存儲(chǔ)器29保存解碼生成的基帶圖像數(shù)據(jù),通過(guò)將其作為參照?qǐng)D像使用,而對(duì)壓縮流進(jìn)行解碼。這時(shí),解碼器28在接收到不需要的B幀的提供時(shí)(如果不進(jìn)行所提供的B圖像的解碼,也能夠解碼需要的幀),跳過(guò)B圖像的解碼。
然后,在步驟S7中,解碼器28將解碼了的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30?;鶐D像數(shù)據(jù)用存儲(chǔ)控制部件30將從解碼器28提供的解碼后的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)器31,同時(shí)從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出由從基帶信號(hào)處理部件32要求了的流編號(hào)和幀編號(hào)所示的幀的基帶圖像數(shù)據(jù),并提供給基帶信號(hào)處理部件32。基帶信號(hào)處理部件32針對(duì)所提供的基帶圖像數(shù)據(jù),例如進(jìn)行顏色修正、大小修正、慢放時(shí)的字段控制等各種修正,使得正確地重放輸出解碼后的圖像,并輸出所生成的輸出基帶圖像數(shù)據(jù)。
使用圖3,以在用圖1和圖2說(shuō)明了的重放裝置1中順序地輸出B13和B3幀的情況為例,說(shuō)明重放用戶所指定的希望的幀的擾亂(scramble)重放(也稱為隨機(jī)重放)。
流解碼位置檢測(cè)處理部件22通過(guò)操作輸入取得部件21接受解碼對(duì)象的流的流編號(hào)、被指定為重放輸出的幀的B13和B3的幀編號(hào)的輸入,并提供給流提供控制部件23。
流提供控制部件23首先向流存儲(chǔ)控制部件25要求包含作為為了解碼在第一張中輸出的B13而作為參照?qǐng)D像所需要的幀的I2、P5、P8、P11和P14、作為重放輸出的幀的B13的時(shí)間順序的流,并提供給解碼器28。
解碼器28順序地解碼所提供的數(shù)據(jù)(可以根據(jù)需要跳過(guò)B圖像的解碼),通過(guò)存儲(chǔ)控制部件41的處理對(duì)參照基帶圖像用存儲(chǔ)器29設(shè)置P11和P14,并將它們作為參照?qǐng)D像而解碼B13。解碼器28將與解碼了的B13對(duì)應(yīng)的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30,并保存到基帶圖像數(shù)據(jù)用存儲(chǔ)器31(存儲(chǔ)器復(fù)制)。然后,在基帶信號(hào)處理部件32中進(jìn)行各種修正(基帶處理)而輸出輸出基帶圖像數(shù)據(jù)。
然后,流提供控制部件23接著向流存儲(chǔ)控制部件25要求作為為了解碼在第二張中輸出的B3而作為參照?qǐng)D像所需要的幀的I2和P5、作為重放輸出的幀的B3,向解碼器28提供包含它們的時(shí)間順序的流。
解碼器28順序地解碼所提供的數(shù)據(jù),通過(guò)存儲(chǔ)控制部件41的處理對(duì)參照基帶圖像用存儲(chǔ)器29設(shè)置I2和P5,并將它們作為參照?qǐng)D像而解碼B3。解碼器28將與解碼了的B3對(duì)應(yīng)的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30,并保存到基帶圖像數(shù)據(jù)用存儲(chǔ)器31中(存儲(chǔ)器復(fù)制)。然后,在基帶信號(hào)處理部件32中進(jìn)行各種修正(基帶處理)而輸出輸出基帶圖像數(shù)據(jù)。
通過(guò)這樣的處理,在現(xiàn)有的重放裝置1中,進(jìn)行擾亂重放。
在使用圖1說(shuō)明了的重放裝置1中,按照時(shí)間順序向解碼器28提供壓縮流而進(jìn)行解碼,并輸出解碼生成的基帶圖像數(shù)據(jù)。解碼器28在所提供的壓縮流是通過(guò)幀間參照而壓縮的壓縮流的情況下,通過(guò)存儲(chǔ)控制部件41的處理使參照基帶圖像用存儲(chǔ)器29保存后面的解碼所需要的參照?qǐng)D像,從而解碼壓縮流。
具體地說(shuō),解碼器28在以MPEG2 LongGOP形式對(duì)所提供的壓縮流進(jìn)行編碼的情況下,解碼I圖像并保存在參照基帶圖像用存儲(chǔ)器29中,參照該I圖像來(lái)解碼P圖像并保存在參照基帶圖像用存儲(chǔ)器29中,參照所保存的I圖像或P圖像而解碼B圖像。另外,在所參照的幀的解碼結(jié)束后,廢棄保存在參照基帶圖像用存儲(chǔ)器29中的參照?qǐng)D像數(shù)據(jù)。
即,參照基帶圖像用存儲(chǔ)器29由解碼器28的存儲(chǔ)控制部件41控制,在解碼器28的解碼處理中,只用于暫時(shí)存儲(chǔ)對(duì)進(jìn)行幀間參照的壓縮數(shù)據(jù)進(jìn)行解碼時(shí)的參照?qǐng)D像數(shù)據(jù)。
在這樣的方式中,高速地進(jìn)行時(shí)間上隨機(jī)的圖像的解碼是困難的。例如在希望將前任意幀的解碼后的圖像用作參照?qǐng)D像的情況下,如果在參照基帶圖像用存儲(chǔ)器29中不存在解碼器28能夠參照的圖像,則必須再次向解碼器28提供作為參照?qǐng)D像所必需的基帶圖像幀而進(jìn)行解碼,并且設(shè)置到參照基帶圖像用存儲(chǔ)器29中。然后,可以使得由解碼器28對(duì)重放輸出的基帶圖像幀進(jìn)行解碼,因此難以高速地進(jìn)行時(shí)間上隨機(jī)的圖像的解碼。
因此,在現(xiàn)有的解碼方法中,針對(duì)擾亂重放(隨機(jī)重放)的指令,難以高速地跟蹤重放輸出。另外,難以高速地進(jìn)行隨機(jī)位置的幀的重放是指例如針對(duì)幀格播放中的與操作量(例如在操作輸入設(shè)備是撥號(hào)盤(pán)(dial)的情況下,是撥號(hào)盤(pán)的旋轉(zhuǎn)量等)成正比的幀數(shù)的作業(yè)(job)重放、搜索(search)的在與操作量成正比的速度下進(jìn)行重放的瀏覽(shuttle)重放等、倒放、暫時(shí)停止、幀格播放、幀格回倒等各種重放、可變速重放或倒放等的特技(trick)重放等各種重放處理的指令,難以高速地跟蹤重放輸出。
發(fā)明內(nèi)容
本發(fā)明就是鑒于這樣的狀況而提出的,針對(duì)擾亂重放(隨機(jī)重放)的指令,能夠高速地跟蹤重放輸出。
本發(fā)明的一個(gè)方面的程序使計(jì)算機(jī)執(zhí)行包含以下步驟的處理接受表示編碼流的重放狀態(tài)的重放信息的輸入的重放信息輸入步驟;根據(jù)通過(guò)重放信息輸入步驟的處理輸入的重放信息,取得表示對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息取得步驟;根據(jù)通過(guò)參照?qǐng)D像信息取得步驟的處理取得的參照?qǐng)D像信息,判斷參照?qǐng)D像是否存儲(chǔ)在規(guī)定的存儲(chǔ)區(qū)域中的判斷步驟;在通過(guò)判斷步驟的處理判斷出參照?qǐng)D像沒(méi)有存儲(chǔ)在存儲(chǔ)區(qū)域中的情況下,從編碼流中取得沒(méi)有存儲(chǔ)在存儲(chǔ)區(qū)域中的參照?qǐng)D像進(jìn)行解碼處理,控制向存儲(chǔ)區(qū)域中存儲(chǔ)的參照?qǐng)D像解碼步驟;利用存儲(chǔ)在存儲(chǔ)區(qū)域中的參照?qǐng)D像,通過(guò)對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理而生成圖像數(shù)據(jù),控制向存儲(chǔ)區(qū)域中存儲(chǔ)的解碼步驟。
在參照?qǐng)D像解碼步驟和解碼步驟的處理中,還可以包含通過(guò)多個(gè)解碼方法執(zhí)行解碼處理,根據(jù)通過(guò)重放信息輸入步驟的處理輸入的重放信息,決定編碼流的解碼順序和解碼方法的第一決定步驟,在參照?qǐng)D像解碼步驟和解碼步驟的處理中,根據(jù)由第一決定步驟的處理決定了的解碼順序和解碼方法執(zhí)行解碼處理。
在判斷步驟的處理中,可以判斷在通過(guò)第一決定步驟的處理決定的解碼方法中解碼了的參照?qǐng)D像是否存儲(chǔ)在存儲(chǔ)區(qū)域中。
在參照?qǐng)D像解碼步驟和解碼步驟的處理中,可以根據(jù)基于第一決定步驟的處理的決定,執(zhí)行分辨率不同的多個(gè)解碼處理中的任意一個(gè)。
在參照?qǐng)D像解碼步驟和解碼步驟的處理中,可以根據(jù)基于第一決定步驟的決定,執(zhí)行與多個(gè)編碼方式對(duì)應(yīng)的解碼處理中的任意一個(gè)。
在編碼流中可以包含I圖像、P圖像和B圖像,在解碼步驟的處理中,在編碼流的對(duì)象圖像是B圖像的情況下,可以使得解碼相對(duì)于對(duì)象圖像在時(shí)間上存在于近旁的I圖像或P圖像。
在編碼流中可以包含幀內(nèi)編碼了的圖像和幀間預(yù)測(cè)編碼了的圖像,在解碼步驟的處理中,在編碼流的對(duì)象圖像是幀間預(yù)測(cè)編碼了的圖像的情況下,可以使得解碼相對(duì)于對(duì)象圖像在時(shí)間上存在于近旁的幀內(nèi)編碼了的圖像。
還可以包含以下步驟根據(jù)包含在參照?qǐng)D像信息中的過(guò)去側(cè)的參照幀數(shù)和在與1幀對(duì)應(yīng)的圖像的顯示內(nèi)能夠執(zhí)行解碼處理的幀數(shù),決定編碼流的解碼方法的第二決定步驟。
還可以包含以下步驟計(jì)算出能夠在與1幀對(duì)應(yīng)的圖像的顯示時(shí)間內(nèi)執(zhí)行解碼處理的幀數(shù)的計(jì)算步驟。
還可以包含以下步驟計(jì)算出包含在參照?qǐng)D像信息中的過(guò)去側(cè)的參照幀數(shù)的計(jì)算步驟。
本發(fā)明的一個(gè)方面的解碼裝置包含接受表示編碼流的重放狀態(tài)的重放信息的輸入的重放信息輸入裝置;管理表示對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息管理裝置;對(duì)編碼流進(jìn)行解碼處理而生成圖像數(shù)據(jù)的解碼裝置;存儲(chǔ)由解碼裝置生成的圖像數(shù)據(jù)的存儲(chǔ)裝置;管理由存儲(chǔ)裝置存儲(chǔ)的圖像數(shù)據(jù)的存儲(chǔ)狀態(tài)的存儲(chǔ)管理裝置;通過(guò)參照由參照?qǐng)D像信息管理裝置管理的參照?qǐng)D像信息和由存儲(chǔ)管理裝置管理的存儲(chǔ)狀態(tài),來(lái)控制解碼裝置的解碼處理的解碼控制裝置,其中解碼裝置將由存儲(chǔ)裝置存儲(chǔ)的圖像數(shù)據(jù)中的任意一個(gè)作為參照?qǐng)D像對(duì)編碼流進(jìn)行解碼處理,并將解碼后的對(duì)象圖像提供給存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
本發(fā)明的一個(gè)方面的解碼方法包含接受表示編碼流的重放狀態(tài)的重放信息的輸入的重放信息輸入步驟;根據(jù)通過(guò)重放信息輸入步驟的處理輸入的重放信息,取得表示對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息取得步驟;根據(jù)通過(guò)參照?qǐng)D像信息取得步驟的處理而取得的參照?qǐng)D像信息,判斷參照?qǐng)D像是否存儲(chǔ)在存儲(chǔ)區(qū)域中的判斷步驟;在通過(guò)判斷步驟的處理判斷出參照?qǐng)D像沒(méi)有存儲(chǔ)在存儲(chǔ)區(qū)域中的情況下,從編碼流中取得沒(méi)有存儲(chǔ)在存儲(chǔ)區(qū)域中的參照?qǐng)D像進(jìn)行解碼處理,控制向存儲(chǔ)區(qū)域中存儲(chǔ)的參照?qǐng)D像解碼步驟;利用存儲(chǔ)在存儲(chǔ)區(qū)域中的參照?qǐng)D像,通過(guò)對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理而生成圖像數(shù)據(jù),控制向存儲(chǔ)區(qū)域中存儲(chǔ)的解碼步驟。
在本發(fā)明的一個(gè)方面中,接受表示編碼流的重放狀態(tài)的重放信息的輸入,根據(jù)重放信息取得表示解碼對(duì)象圖像所需要的參照?qǐng)D像的參照?qǐng)D像信息,基于參照?qǐng)D像是否存儲(chǔ)在規(guī)定的存儲(chǔ)區(qū)域中的判斷,根據(jù)需要從編碼流中取得與參照?qǐng)D像對(duì)應(yīng)的編碼了的圖像進(jìn)行解碼,將所生成的參照?qǐng)D像存儲(chǔ)到規(guī)定的存儲(chǔ)區(qū)域中,同時(shí)根據(jù)存儲(chǔ)在規(guī)定的存儲(chǔ)區(qū)域中的參照?qǐng)D像,解碼對(duì)象圖像并記錄到規(guī)定的存儲(chǔ)區(qū)域中。
根據(jù)本發(fā)明的一個(gè)方面,解碼流圖像數(shù)據(jù),特別地將參照幀和解碼后的重放輸出的幀存儲(chǔ)在同一存儲(chǔ)區(qū)域中,因此能夠高速地進(jìn)行擾亂重放。
圖1是表示現(xiàn)有的重放裝置的結(jié)構(gòu)的框圖。
圖2是用于說(shuō)明現(xiàn)有的解碼處理的流程圖。
圖3是用于說(shuō)明現(xiàn)有的重放裝置中的擾亂重放的圖。
圖4是表示適用了本發(fā)明的重放裝置的結(jié)構(gòu)的框圖。
圖5是用于說(shuō)明編輯畫(huà)面的圖。
圖6是用于說(shuō)明索引表的圖。
圖7是用于說(shuō)明圖4的重放裝置中的擾亂重放的圖。
圖8是用于說(shuō)明圖4的基帶存儲(chǔ)管理部件所管理的信息的圖。
圖9是表示個(gè)人計(jì)算機(jī)的結(jié)構(gòu)的框圖。
圖10是用于說(shuō)明在圖9的個(gè)人計(jì)算機(jī)中實(shí)現(xiàn)的功能的功能框圖。
圖11是用于說(shuō)明解碼處理1的流程圖。
圖12是用于說(shuō)明深度信息計(jì)算處理的流程圖。
圖13是用于說(shuō)明解碼處理2的流程圖。
圖14是用于說(shuō)明解碼切換決定處理的流程圖。
圖15是用于說(shuō)明能夠解碼幀數(shù)計(jì)算處理的流程圖。
圖16是表示變換裝置的結(jié)構(gòu)的框圖。
圖17是用于說(shuō)明索引文件的圖。
圖18是用于說(shuō)明使I圖像的比特率固定的情況的圖。
圖19是用于說(shuō)明使I圖像的比特率變動(dòng)的情況的圖。
圖20是用于說(shuō)明隨機(jī)重放P圖像的情況的圖。
圖21是用于說(shuō)明隨機(jī)重放B圖像的情況的圖。
圖22是用于說(shuō)明在圖9的個(gè)人計(jì)算機(jī)中實(shí)現(xiàn)的功能的功能框圖。
圖23是用于說(shuō)明代理文件生成處理1的流程圖。
圖24是用于說(shuō)明變更了PI變換數(shù)的情況的圖。
圖25是用于說(shuō)明最小解碼數(shù)的圖。
圖26是用于說(shuō)明最小解碼數(shù)的圖。
圖27是用于說(shuō)明最小解碼數(shù)的圖。
圖28是用于說(shuō)明最小解碼數(shù)的圖。
圖29是用于說(shuō)明最小解碼數(shù)的圖。
圖30是用于說(shuō)明變換的P圖像的設(shè)置處理的流程圖。
圖31是用于說(shuō)明變換的P圖像的設(shè)置的圖。
圖32是用于說(shuō)明代理文件生成處理2的流程圖。
具體實(shí)施例方式
以下說(shuō)明本發(fā)明的實(shí)施例,如果示例本發(fā)明的結(jié)構(gòu)要素與說(shuō)明書(shū)或附圖所記載的實(shí)施例的對(duì)應(yīng)關(guān)系,則如下。該記載用于確認(rèn)支持本發(fā)明的實(shí)施例已經(jīng)被記載在說(shuō)明書(shū)或附圖中。因此,雖然在說(shuō)明書(shū)或附圖中有記載,但作為與本發(fā)明的結(jié)構(gòu)要素對(duì)應(yīng)的實(shí)施例,即使是在此沒(méi)有記載的實(shí)施例,該實(shí)施例也并不意味著不與該結(jié)構(gòu)要素對(duì)應(yīng)。相反,即使是作為與結(jié)構(gòu)要素對(duì)應(yīng)的要素而在此有記載的實(shí)施例,也并不意味著該實(shí)施例不與該結(jié)構(gòu)要素以外的結(jié)構(gòu)要素對(duì)應(yīng)。
本發(fā)明的一個(gè)方面的程序或解碼方法使計(jì)算機(jī)執(zhí)行包含以下步驟的處理接受表示編碼流的重放狀態(tài)的重放信息(例如重放的幀的指定、重放速度或重放模式)的輸入的重放信息輸入步驟(例如圖11的步驟S41的處理);根據(jù)通過(guò)重放信息輸入步驟的處理輸入的重放信息,取得表示對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息取得步驟(例如圖11的步驟S46的處理);根據(jù)通過(guò)參照?qǐng)D像信息取得步驟的處理而取得的參照?qǐng)D像信息,判斷參照?qǐng)D像是否存儲(chǔ)在規(guī)定的存儲(chǔ)區(qū)域(例如圖10的RAM223的基帶圖像數(shù)據(jù)用存儲(chǔ)器223)中的判斷步驟(例如圖11的步驟S47的處理);在通過(guò)判斷步驟的處理判斷出參照?qǐng)D像沒(méi)有存儲(chǔ)在存儲(chǔ)區(qū)域中的情況下,從編碼流中取得沒(méi)有存儲(chǔ)在存儲(chǔ)區(qū)域中的參照?qǐng)D像進(jìn)行解碼處理,控制向存儲(chǔ)區(qū)域中存儲(chǔ)的參照?qǐng)D像解碼步驟(例如圖11的步驟S48的處理);利用存儲(chǔ)在存儲(chǔ)區(qū)域中的參照?qǐng)D像,通過(guò)對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理而生成圖像數(shù)據(jù),控制向存儲(chǔ)區(qū)域中存儲(chǔ)的解碼步驟(例如圖11的步驟S49的處理)。
在參照?qǐng)D像解碼步驟和解碼步驟的處理中,還可以包含能夠通過(guò)多個(gè)解碼方法執(zhí)行解碼處理,根據(jù)通過(guò)重放信息輸入步驟的處理輸入的重放信息,決定編碼流的解碼順序和解碼方法的第一決定步驟(例如圖11的步驟S44的處理),在參照?qǐng)D像解碼步驟和解碼步驟的處理中,能夠根據(jù)由第一決定步驟的處理決定了的解碼順序和解碼方法執(zhí)行解碼處理。
在參照?qǐng)D像解碼步驟和解碼步驟的處理中,可以根據(jù)基于第一決定步驟的決定,執(zhí)行與多個(gè)編碼方式對(duì)應(yīng)的解碼處理(例如規(guī)定的圖像類型專用的解碼處理或MPEG以外的解碼處理)中的任意一個(gè)。
在編碼流中可以包含幀內(nèi)編碼了的圖像(例如I圖像)和幀間預(yù)測(cè)編碼了的圖像(例如P圖像或B圖像),在解碼步驟的處理中,在編碼流的對(duì)象圖像是幀間預(yù)測(cè)編碼了的圖像的情況下,可以解碼相對(duì)于對(duì)象圖像在時(shí)間上存在于近旁的幀內(nèi)編碼了的圖像。
還可以包含以下步驟根據(jù)包含在參照?qǐng)D像信息中的過(guò)去側(cè)的參照幀數(shù)(例如與深度信息對(duì)應(yīng)的值)和在與1幀對(duì)應(yīng)的圖像的顯示內(nèi)能夠執(zhí)行解碼處理的幀數(shù)(例如能夠解碼幀數(shù)),決定編碼流的解碼方法的第二決定步驟(例如圖13的步驟S127的處理,即圖14所示的處理)。
還可以包含以下步驟計(jì)算出能夠在與1幀對(duì)應(yīng)的圖像的顯示時(shí)間內(nèi)執(zhí)行解碼處理的幀數(shù)(例如能夠解碼幀數(shù))的計(jì)算步驟(例如圖14的步驟S164的處理)。
還可以包含以下步驟計(jì)算出包含在參照?qǐng)D像信息中的過(guò)去側(cè)的參照幀數(shù)(例如與深度信息對(duì)應(yīng)的值)的計(jì)算步驟(例如用圖12說(shuō)明的處理)。
本發(fā)明的一個(gè)方面的解碼裝置(例如圖4的重放裝置或圖9的個(gè)人計(jì)算機(jī)201)包含接受表示編碼流的重放狀態(tài)的重放信息(例如重放的幀的指定、重放速度或重放模式)的輸入的重放信息輸入裝置(例如圖4的操作輸入取得部件21);管理表示對(duì)編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息管理裝置(例如圖4的索引管理部件24);對(duì)編碼流進(jìn)行解碼處理而生成圖像數(shù)據(jù)的解碼裝置(例如圖4的解碼處理部件76);存儲(chǔ)由解碼裝置生成的圖像數(shù)據(jù)的存儲(chǔ)裝置(例如圖4的基帶圖像數(shù)據(jù)用存儲(chǔ)器31);管理由存儲(chǔ)裝置存儲(chǔ)的圖像數(shù)據(jù)的存儲(chǔ)狀態(tài)的存儲(chǔ)管理裝置(例如圖4的基帶存儲(chǔ)管理部件73);通過(guò)參照由參照?qǐng)D像信息管理裝置管理的參照?qǐng)D像信息和由存儲(chǔ)管理裝置管理的存儲(chǔ)狀態(tài),來(lái)控制解碼裝置的解碼處理的解碼控制裝置(例如圖4的解碼控制部件72),其中解碼裝置將由存儲(chǔ)裝置存儲(chǔ)的圖像數(shù)據(jù)中的任意一個(gè)作為參照?qǐng)D像對(duì)編碼流進(jìn)行解碼處理,并將解碼后的對(duì)象圖像提供給存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
以下,參照
本發(fā)明的實(shí)施例。
圖4是表示適用了本發(fā)明的重放裝置61的結(jié)構(gòu)例子的框圖。
另外,對(duì)與現(xiàn)有技術(shù)對(duì)應(yīng)的部分附加同一符號(hào),并適當(dāng)?shù)厥÷云湔f(shuō)明。
即,圖4的重放裝置61代替流提供控制部件23而設(shè)置有流提供控制部件74,代替解碼器28而設(shè)置有解碼處理部件76,代替基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30而設(shè)置有基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77,并省略了參照基帶圖像用存儲(chǔ)器29,而新設(shè)置GUI顯示控制部件71、解碼控制部件72、基帶存儲(chǔ)管理部件73和參照?qǐng)D像指示部件75,除此以外,具有與用圖1說(shuō)明了的重放裝置1基本一樣的結(jié)構(gòu)。
GUI顯示控制部件71向用戶提供催促操作輸入的GUI(圖形用戶界面),或者控制用于顯示輸出處理結(jié)果的畫(huà)面的顯示,例如控制圖5所示那樣的編輯畫(huà)面的顯示。
圖5所示的編輯畫(huà)面101提供用于執(zhí)行以下處理的各種GUI,例如隨機(jī)地重放多個(gè)流數(shù)據(jù)并檢測(cè)希望的編輯點(diǎn),在希望的編輯點(diǎn)處,執(zhí)行將不同的流數(shù)據(jù)連接起來(lái)等的編輯處理。
例如由用戶選擇出的流數(shù)據(jù)在解碼處理部件76中被解碼(decode),經(jīng)由基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77存儲(chǔ)到基帶圖像數(shù)據(jù)用存儲(chǔ)器31中,在基帶信號(hào)處理部件32中進(jìn)行了規(guī)定的處理后,通過(guò)GUI顯示控制部件71的處理,在重放窗口111中顯示。即,將在基帶信號(hào)處理部件32中處理了的重放用的輸出基帶圖像數(shù)據(jù)提供給GUI顯示控制部件71,顯示在由GUI顯示控制部件71進(jìn)行顯示控制的編輯畫(huà)面101的重放窗口111中。
通過(guò)根據(jù)用戶的操作輸入,使設(shè)置在重放窗口111的下部中的擾亂條(scramble bar)121的指針(pointer)122的位置移動(dòng),來(lái)設(shè)置流數(shù)據(jù)的重放位置。另外,在時(shí)間線(time line)窗口112中,也設(shè)置例如向用戶通知視頻流或音頻流中的時(shí)間軸中的重放位置或用戶能夠指示重放位置那樣的時(shí)間線131,根據(jù)用戶的操作輸入,使時(shí)間線131的指針132的位置移動(dòng),從而能夠設(shè)置重放位置。
操作輸入取得部件21取得用戶參照用圖5說(shuō)明了的編輯畫(huà)面101進(jìn)行的操作輸入。操作輸入取得部件21從用戶接受解碼對(duì)象流的選擇、重放開(kāi)始位置的指定,即擾亂條121的指針122或時(shí)間線131的指針132的操作,同時(shí)接受重放模式或重放速度等的指令,并提供給流解碼位置檢測(cè)處理部件22。流解碼位置檢測(cè)處理部件22根據(jù)從操作輸入取得部件21提供的解碼對(duì)象流的選擇、重放開(kāi)始位置的指定,求出重放的流的流編號(hào)、重放開(kāi)始位置的幀編號(hào)并與重放速度等的指令一起提供給解碼控制部件72。
重放模式例如有從規(guī)定的重放位置開(kāi)始的通常重放、快放、倒回、正反方向的幀格播放、靜止圖像的顯示等,也可以分別設(shè)置快放、倒回等的速度、幀格播放的幀格間隔等。
解碼控制部件72根據(jù)從流解碼位置檢測(cè)處理部件22提供的重放的流的流編號(hào)、重放開(kāi)始位置的幀編號(hào)和重放速度、重放模式等的指示內(nèi)容,取得存儲(chǔ)在索引管理部件24中的記載有對(duì)應(yīng)的流的解碼所需要的各種信息的索引表(圖6),進(jìn)而取得由基帶存儲(chǔ)管理部件73管理的存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)的信息。另外,解碼控制部件72根據(jù)這些信息,決定用于解碼的解碼器和解碼順序。
圖6表示存儲(chǔ)在索引管理部件24中的索引表的一個(gè)例子。
在圖6所示的索引表中記載有顯示順序(Display Order)中的圖像的排列順序、流順序(Stream Order)中的圖像的排列順序、用于從顯示順序向流順序變換圖像的排列的圖像的偏移量(TemporalOffset)。另外,在索引表中還記載有表示流順序中的序列頭(Sequence Header)的位置的信息,在圖中將有序列記載為1,將沒(méi)有記載為0,還記載有表示向前方向或后方向的參照?qǐng)D像的有無(wú)的信息(Forward/Backward Prediction(Picture Type))。
另外,在本例子中,對(duì)于表示向前方向或后方向的參照?qǐng)D像的有無(wú)的信息,在所提供的比特流是OpenGOP形式的情況下,將前方向預(yù)測(cè)編碼幀(即P圖像)記載為“10”,將兩方向預(yù)測(cè)編碼幀(即B圖像)記載為“11”,另外將幀內(nèi)編碼幀(即I圖像)記載為“00”。另外,在所提供的比特流是ClosedGOP形式的情況下,接著幀內(nèi)編碼數(shù)據(jù)(即I圖像)后面的2張B圖像由于只參照后方向,所以記載為“01”。
另外,在索引表中記載有各個(gè)圖像的圖像大小(Picture Size)、圖像的流內(nèi)或記錄區(qū)域中的地址(Address)。另外,在索引表中,記載有表示該圖像與成為關(guān)鍵字(key)幀的圖像(在此是進(jìn)行幀內(nèi)編碼處理的I圖像)的距離的信息(Key Frame Offset(十進(jìn)制數(shù)))、用90KHz時(shí)鐘的時(shí)間表示解碼器的假想輸入緩存器的存儲(chǔ)量的Vbv延遲(VBVVideo Buffer Verifier)。進(jìn)而,在索引表中,還記載有表示與解碼該圖像所需要的前方向圖像中的離重放幀最遠(yuǎn)的幀之間的幀數(shù)(深度)的深度信息(Depth of Past Frames forDecoding)。
即,解碼控制部件72根據(jù)索引表,檢索解碼指定的重放開(kāi)始位置的幀所需要的I幀(關(guān)鍵字幀)的位置、存儲(chǔ)在流用存儲(chǔ)器26中的流的地址或圖像大小等。另外,解碼控制部件72根據(jù)由用戶指示的重放速度等信息,決定解碼所需要的質(zhì)量。
具體地說(shuō),解碼控制部件72例如與重放裝置61內(nèi)的各部分的處理速度、處理的流的數(shù)據(jù)速率等對(duì)應(yīng)地,為了保持最終輸出的顯示幀的顯示質(zhì)量、顯示幀格數(shù)等,而通過(guò)以下的(1)~(3)所示的任意的方法控制解碼順序。
(1)順序地對(duì)被指示為要重放的幀進(jìn)行解碼,使得等待時(shí)間(Latency)為最短。(2)在被指示為要重放的幀的圖像類型是B圖像的情況下,對(duì)近旁的I圖像或P圖像進(jìn)行解碼并輸出。(3)只對(duì)被指示為要重放的幀的近旁的I圖像進(jìn)行解碼輸出。
具體地說(shuō),解碼控制部件72也可以例如在能夠通過(guò)(1)的方法控制解碼順序的情況下,采取(1)所示的方法,指示某種程度的快放或倒回等,在通過(guò)(1)所示的方法無(wú)法確保最終輸出的顯示幀的顯示幀格數(shù)的情況下,通過(guò)(2)所示的方法控制解碼順序,在通過(guò)(2)所示的方法也無(wú)法確保最終輸出的顯示幀的顯示幀格數(shù)的情況下,通過(guò)(3)所示的方法控制解碼順序。
另外,解碼控制部件72與所指示的重放模式、重放裝置61內(nèi)的各部分的處理速度和所處理的流的數(shù)據(jù)速率等對(duì)應(yīng)地,為了保持最終輸出的顯示幀的顯示質(zhì)量和顯示幀格數(shù)等,可以將包含在解碼處理部件76中的多個(gè)解碼中的最適合的解碼器選擇作為執(zhí)行解碼處理的解碼器。
具體地說(shuō),解碼控制部件72例如可以在通過(guò)上述(1)的方法控制解碼順序的情況下,在使顯示速度減慢為一定程度以上,或顯示靜止圖像時(shí),即在能夠由用戶充分識(shí)別出所顯示的圖像的分辨率的重放模式時(shí),選擇高分辨率的解碼器,或者在通過(guò)(1)的方法控制解碼順序的情況下,在將顯示速度加快到一定程度以上的情況等的由用戶難以確認(rèn)所顯示的圖像的分辨率的重放模式時(shí),選擇低分辨率的解碼器。
另外,解碼控制部件72即使指示了在同一速度下進(jìn)行重放,例如在通過(guò)(1)的方法控制解碼順序的情況下,也選擇低分辨率的解碼器使得能夠確保最終輸出的顯示幀的顯示幀格數(shù),另一方面,在通過(guò)(2)的方法控制解碼順序的情況下,由于能夠充分確保最終輸出的顯示幀的顯示幀格數(shù),所以可以選擇高分辨率的解碼器。
進(jìn)而,解碼控制部件72也可以例如在通過(guò)(3)的方法控制解碼順序的情況等下,選擇特定的圖像類型專用的解碼器(在此為I圖像專用的解碼器)。
另外,解碼控制部件72可以具備能夠?qū)τ肕PEG以外的壓縮方法壓縮的流進(jìn)行解碼的解碼器,例如在提供了用MPEG以外的壓縮方法壓縮了的壓縮流的情況下,選擇能夠?qū)υ搲嚎s流進(jìn)行解碼的解碼器,執(zhí)行解碼處理。
解碼控制部件72也可以對(duì)每個(gè)流或幀切換解碼順序和解碼器的選擇。
另外,解碼控制部件72根據(jù)索引數(shù)據(jù),決定解碼指定的幀所需要的參照幀,并根據(jù)從基帶存儲(chǔ)管理部件73取得的存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)的信息,判斷必需的參照幀是否已經(jīng)被解碼。然后,解碼控制部件72根據(jù)該判斷結(jié)果,決定需要進(jìn)行解碼的幀的解碼順序和實(shí)施解碼的解碼器。然后,解碼控制部件72向流提供控制部件74提供解碼的流的流編號(hào)和解碼的幀的幀編號(hào),向參照?qǐng)D像指示部件75提供解碼的流的流編號(hào)、作為參照?qǐng)D像從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出的必需的幀(對(duì)于1張重放幀是0~2張的幀)的幀編號(hào),向解碼處理部件76提供用于處理的解碼器的選擇結(jié)果、用于控制解碼處理的控制信號(hào)。
基帶存儲(chǔ)管理部件73經(jīng)由基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77監(jiān)視保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù),并將保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)的幀信息提供給解碼控制部件72。
流提供控制部件74根據(jù)從解碼控制部件72提供的重放的流的流編號(hào)、解碼的幀的幀編號(hào),向流存儲(chǔ)控制部件25要求解碼所需要的流數(shù)據(jù),向解碼處理部件76提供從流存儲(chǔ)控制部件25提供的流數(shù)據(jù)。
流存儲(chǔ)控制部件25控制流用存儲(chǔ)器26的流數(shù)據(jù)的存儲(chǔ),從流用存儲(chǔ)器26讀出從流提供控制部件74要求的流數(shù)據(jù),并輸出到流提供控制部件74。
流用存儲(chǔ)器26分別存儲(chǔ)流數(shù)據(jù),根據(jù)流存儲(chǔ)控制部件25的控制,輸出規(guī)定的流數(shù)據(jù)。
參照?qǐng)D像指示部件75根據(jù)從解碼控制部件72提供的解碼的流的流編號(hào)、作為參照?qǐng)D像從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出的必需的幀的幀編號(hào),向基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77要求將作為參照?qǐng)D像從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出的必需的幀提供給解碼處理部件76,將作為參照?qǐng)D像使用的基帶圖像數(shù)據(jù)提供給解碼處理部件76。
解碼處理部件76由多個(gè)解碼器(解碼器0~解碼器n)構(gòu)成,根據(jù)解碼控制部件72的控制,通過(guò)適合的解碼器對(duì)從流提供控制部件74提供的流數(shù)據(jù)進(jìn)行解碼,并將解碼后的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77。
具體地說(shuō),解碼處理部件76例如包含高分辨率解碼器、低分辨率解碼器、特定的圖像專用的解碼器、或能夠?qū)νㄟ^(guò)MPEG以外的壓縮方法壓縮的流數(shù)據(jù)進(jìn)行解碼的解碼器等,通過(guò)根據(jù)解碼控制部件72的控制選擇出的解碼器,將根據(jù)需要從基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77提供的基帶圖像數(shù)據(jù)作為參照?qǐng)D像進(jìn)行參照,對(duì)從流提供控制部件74提供的壓縮了的流數(shù)據(jù)進(jìn)行解碼。
基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77將從解碼處理部件76提供的解碼后的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)器31,同時(shí)從參照?qǐng)D像指示部件75接受作為參照?qǐng)D像從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出的必要的幀的供給,從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出指定的參照?qǐng)D像,提供給解碼處理部件76。
另外,基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出由從基帶信號(hào)處理部件32要求的流編號(hào)和幀編號(hào)表示的幀的基帶圖像數(shù)據(jù),提供給基帶信號(hào)處理部件32。基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77例如在指示了作業(yè)重放等變速重放的情況下,也可以從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出基于用戶的操作輸入的規(guī)定的幀,提供給基帶信號(hào)處理部件32進(jìn)行重放輸出。
基帶信號(hào)處理部件32針對(duì)所提供的基帶圖像數(shù)據(jù),例如進(jìn)行顏色修正、大小修正、慢放時(shí)的字段控制等各種修正,使得正確地重放輸出解碼了的圖像,將所生成的輸出基帶圖像數(shù)據(jù)輸出到GUI顯示控制部件71。
如上所說(shuō)明的那樣,在適用了本發(fā)明的重放裝置61中,通過(guò)解碼處理部件76中的任意一個(gè)解碼器解碼了的基帶圖像數(shù)據(jù)全部被存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中,也從基帶圖像數(shù)據(jù)用存儲(chǔ)器31讀出參照?qǐng)D像。用圖1說(shuō)明了的重放裝置1的參照基帶圖像用存儲(chǔ)器29只由解碼器28的存儲(chǔ)控制部件41進(jìn)行控制,只收發(fā)解碼器28的數(shù)據(jù),用圖1說(shuō)明了的重放裝置1的基帶圖像數(shù)據(jù)用存儲(chǔ)器31根據(jù)基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件30的控制,將從解碼器28提供的基帶圖像數(shù)據(jù)提供給基帶信號(hào)處理部件32。與此相對(duì),適用了本發(fā)明的重放裝置61的基帶圖像數(shù)據(jù)用存儲(chǔ)器31根據(jù)基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77的控制,與解碼處理部件76收發(fā)參照?qǐng)D像數(shù)據(jù),同時(shí)與現(xiàn)有技術(shù)一樣地,向基帶信號(hào)處理部件32提供基帶圖像數(shù)據(jù)。
在適用了本發(fā)明的重放裝置61中,在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中存儲(chǔ)有能夠作為參照?qǐng)D像數(shù)據(jù)利用的基帶圖像數(shù)據(jù)時(shí),作為參照?qǐng)D像,使用存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù),因此不向解碼處理部件76提供新的用于生成參照?qǐng)D像的幀。即,向解碼處理部件76提供的幀也可以不是如通常的幀那樣的順序。
或者,在適用了本發(fā)明的重放裝置61中,在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中存儲(chǔ)有能夠作為參照?qǐng)D像數(shù)據(jù)利用的基帶圖像數(shù)據(jù)時(shí),作為參照?qǐng)D像,使用存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù),因此解碼處理部件76也有不依照該順序?qū)λ峁┑臅r(shí)間順序的比特流進(jìn)行解碼(在有參照?qǐng)D像的情況下,不對(duì)對(duì)應(yīng)的幀進(jìn)行解碼而跳過(guò))的情況。
因此,在適用了本發(fā)明的重放裝置61中,設(shè)置有監(jiān)視存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)的基帶存儲(chǔ)管理部件73,并設(shè)置有根據(jù)基帶存儲(chǔ)器的狀態(tài)進(jìn)行解碼的順序和解碼器的選擇的解碼控制部件72,還設(shè)置有向基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77提供向解碼處理部件76提供參照?qǐng)D像的指示的參照?qǐng)D像指示部件75。
接著,使用圖7,以順序地輸出B13幀和B3幀的情況為例子,說(shuō)明重放用戶所指定的希望的幀的擾亂重放。
流解碼位置檢測(cè)處理部件22通過(guò)操作輸入取得部件21接受解碼對(duì)象的流的流編號(hào)、被指定為重放輸出的幀的B13和B3的幀編號(hào)的輸入,同時(shí)接受重放速度、重放模式等的指示,并提供給解碼控制部件72。
解碼控制部件72根據(jù)從流解碼位置檢測(cè)處理部件22提供的重放的流的流編號(hào)、被指定為重放輸出的幀的B13和B3的幀編號(hào)、以及重放速度和重放模式等的指示內(nèi)容,取得存儲(chǔ)在索引管理部件24中的用圖6說(shuō)明了的索引表,得到解碼對(duì)應(yīng)的流所需要的各種信息,進(jìn)而取得由基帶存儲(chǔ)管理部件73管理的存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)的信息。在此,說(shuō)明在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中沒(méi)有保存有解碼被指定為重放輸出的B13和B3所需要的參照?qǐng)D像所對(duì)應(yīng)的幀的情況。
解碼控制部件72根據(jù)這些信息,決定用于解碼的解碼器和解碼順序。即,解碼控制部件72例如在重放模式是對(duì)這2張的幀的靜止圖像進(jìn)行連續(xù)重放的情況下,決定為從解碼處理部件76選擇高分辨率的解碼器,對(duì)為了解碼B13而作為參照?qǐng)D像所需要的幀的I2、P5、P8、P11和P14進(jìn)行解碼,使用參照?qǐng)D像P11和P14解碼B13,接著,為了解碼B13,而使用已經(jīng)解碼的保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的I2和P5來(lái)解碼B3。
解碼控制部件72與流編號(hào)一起將需要提供給解碼處理部件76的幀的幀編號(hào),即為了解碼在第一張中輸出的B13而作為參照?qǐng)D像所必需的幀的I2、P5、P8、P11和P14、以及作為重放輸出的幀的B13和B3的幀的幀編號(hào),提供給流提供控制部件74。
流提供控制部件74首先向流存儲(chǔ)控制部件25要求為了解碼在第一張中輸出的B13而作為參照?qǐng)D像所必需的幀的I2、P5、P8、P11和P14、以及作為重放輸出的幀的B13和B3,并順序地提供給解碼處理部件76。
解碼處理部件76中的由解碼控制部件72選擇出的解碼器根據(jù)解碼控制部件72的控制,根據(jù)I2圖像對(duì)所提供的數(shù)據(jù)進(jìn)行解碼,將解碼生成的基帶圖像數(shù)據(jù)提供給基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77,并保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中,同時(shí)以后在解碼P5、P8、P11和P14時(shí),經(jīng)由基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77接受保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)中的與參照?qǐng)D像對(duì)應(yīng)的幀的基帶圖像數(shù)據(jù)的供給,根據(jù)它執(zhí)行解碼。
然后,解碼處理部件76中的由解碼控制部件72選擇出的解碼器在根據(jù)解碼控制部件72的控制對(duì)B13進(jìn)行解碼時(shí),接受與P11和P14對(duì)應(yīng)的基帶圖像數(shù)據(jù)的供給,將它們作為參照?qǐng)D像而解碼B13,在經(jīng)由基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77將與解碼了的B13對(duì)應(yīng)的基帶圖像數(shù)據(jù)存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中后,提供給基帶信號(hào)處理部件32。然后,在基帶信號(hào)處理部件32中,進(jìn)行各種修正(基帶處理),輸出輸出基帶圖像數(shù)據(jù)。
然后,解碼處理部件76中的由解碼控制部件72選擇出的解碼器在接著對(duì)B3進(jìn)行解碼時(shí),根據(jù)解碼控制部件72的控制,接受與已經(jīng)存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的I2和P5對(duì)應(yīng)的基帶圖像信號(hào)的供給,將它們作為參照?qǐng)D像,對(duì)B3進(jìn)行解碼,在經(jīng)由基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77將與解碼了的B3對(duì)應(yīng)的基帶圖像數(shù)據(jù)保存到基帶圖像數(shù)據(jù)用存儲(chǔ)器31中后,提供給基帶信號(hào)處理部件32。然后,在基帶信號(hào)處理部件32中,進(jìn)行各種修正(基帶處理),輸出輸出基帶圖像數(shù)據(jù)。
這樣,在一個(gè)存儲(chǔ)器中進(jìn)行解碼后的基帶圖像數(shù)據(jù)的保存、參照?qǐng)D像的保存,因此不需要為了輸出處理的存儲(chǔ)器復(fù)制的動(dòng)作,另外在擾亂重放中,不需要為了生成參照?qǐng)D像而重復(fù)對(duì)同一幀進(jìn)行解碼,因此能夠高速地對(duì)重放幀進(jìn)行解碼。
另外,使進(jìn)行參照?qǐng)D像的保存的存儲(chǔ)器與解碼器分離,從解碼器以外的部分進(jìn)行控制,因此增加了解碼順序的控制的自由度,另外可以對(duì)每個(gè)幀切換輸入流,對(duì)每個(gè)幀切換解碼器,因此能夠?qū)?yīng)各種各樣的解碼算法。
為了進(jìn)行用圖7說(shuō)明了的處理,基帶存儲(chǔ)管理部件73對(duì)圖8所示那樣的信息進(jìn)行管理。即,基帶存儲(chǔ)管理部件73對(duì)表示各個(gè)幀在解碼后是否存在于基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的標(biāo)志(Exist1表示解碼后存在于基帶圖像數(shù)據(jù)用存儲(chǔ)器31中)、以及表示這些解碼后的幀是由解碼處理部件76中的哪個(gè)解碼器解碼的值(解碼器類型(Decoder Type)例如在圖8所示的情況下,高分辨率解碼器為1,低分辨率解碼器為2等)進(jìn)行管理。
解碼控制部件72在使用高分辨率的解碼器執(zhí)行解碼的情況下,為了防止圖像的惡化,即使在低分辨率下對(duì)用作參照?qǐng)D像的基帶圖像數(shù)據(jù)進(jìn)行了解碼并保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中,也不使用該參照?qǐng)D像數(shù)據(jù),而可以用高分辨率的解碼器對(duì)對(duì)應(yīng)的壓縮圖像幀進(jìn)行解碼并用作參照?qǐng)D像。
另外,基帶存儲(chǔ)管理部件73也可以對(duì)每個(gè)幀管理水平大小(Horizontal Size)、垂直大小(Vertical Size)、色度格式(Chroma Format)等,基帶信號(hào)處理部件32根據(jù)這些信息,并根據(jù)輸出格式,對(duì)所提供的基帶圖像數(shù)據(jù)調(diào)整大小。
可以通過(guò)硬件執(zhí)行上述一連串的處理,也可以通過(guò)軟件執(zhí)行。在該情況下,例如重放裝置61由圖9所示那樣的個(gè)人計(jì)算機(jī)201構(gòu)成。
在圖9中,CPU(中央處理單元)221依照存儲(chǔ)在ROM(只讀存儲(chǔ)器)222中的程序、或者從HDD226裝載到RAM(隨機(jī)訪問(wèn)存儲(chǔ)器)223中的程序,執(zhí)行各種處理。在RAM223中,還適當(dāng)?shù)卮鎯?chǔ)在CPU221執(zhí)行各種處理時(shí)所需要的數(shù)據(jù)等。
CPU221、ROM222、RAM223經(jīng)由總線224相互連接。該總線224還與接口(I/F)225-1~225-3、HDD(硬盤(pán)驅(qū)動(dòng)器)226、影像特殊效果聲音混合處理部件227和信號(hào)處理部件228連接。
接口225-1與鍵盤(pán)202、鼠標(biāo)203等輸入設(shè)備連接。接口225-2與存儲(chǔ)裝置204連接,能夠收發(fā)信息。另外,接口225-3與外部影像記錄重放裝置205-1~205-m連接,能夠收發(fā)信息。HDD226對(duì)硬盤(pán)進(jìn)行驅(qū)動(dòng),能夠存儲(chǔ)各種信息。
影像特殊效果聲音混合處理部件227還與信號(hào)處理部件228、存儲(chǔ)裝置204和影像記錄重放裝置205-1~205-m連接,對(duì)從存儲(chǔ)裝置204和影像記錄重放裝置205-1~205-m的任意一個(gè)提供、或經(jīng)由總線224從HDD226提供的影像信號(hào)實(shí)施特殊效果,或?qū)β曇暨M(jìn)行混頻等并提供給信號(hào)處理部件228輸出,或者提供給存儲(chǔ)裝置204和影像記錄重放裝置205-1~205-m中的任意一個(gè)進(jìn)行保存。
信號(hào)處理部件228還與顯示器229和揚(yáng)聲器230連接,例如將從影像特殊效果聲音混合處理部件227等提供的影像信號(hào)提供給顯示器229進(jìn)行顯示,或者將聲音信號(hào)提供給揚(yáng)聲器230進(jìn)行聲音輸出。
顯示器229例如由CRT(陰極射線管)、LCD(液晶顯示器)等構(gòu)成,顯示從信號(hào)處理部件228提供的影像。揚(yáng)聲器對(duì)從信號(hào)處理部件228提供的聲音進(jìn)行重放輸出。
總線224還根據(jù)需要與驅(qū)動(dòng)器231連接,適當(dāng)?shù)匕惭b磁盤(pán)、光盤(pán)、光磁盤(pán)或半導(dǎo)體存儲(chǔ)器等可移動(dòng)介質(zhì)206,根據(jù)需要將從它們讀出的計(jì)算機(jī)程序安裝到HDD226中。
圖10表示了用于說(shuō)明在使用圖9說(shuō)明了的個(gè)人計(jì)算機(jī)201中,通過(guò)軟件執(zhí)行適用了本發(fā)明的處理的情況下的功能的一個(gè)例子的功能框圖。
另外,對(duì)與圖4或圖9的情況對(duì)應(yīng)的部分附加同一符號(hào),并適當(dāng)?shù)厥÷云湔f(shuō)明。
通過(guò)由CPU221執(zhí)行規(guī)定的程序,個(gè)人計(jì)算機(jī)201具有具有與圖4的操作輸入取得部件21、GUI顯示控制部件71基本一樣的功能的GUI控制部件251、具有與圖4的流提供控制部件74和流存儲(chǔ)控制部件25基本一樣的功能的流提供控制部件252、具有與圖4的參照?qǐng)D像指示部件75和基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77基本一樣的功能的參照?qǐng)D像指示部件253的功能,并且具有與用圖4說(shuō)明了的流解碼位置檢測(cè)處理部件22、解碼控制部件72、解碼處理部件76、基帶信號(hào)處理部件32一樣的功能。
CPU221根據(jù)通過(guò)鼠標(biāo)202或鍵盤(pán)203等輸入設(shè)備輸入的用戶的操作,參照記錄在存儲(chǔ)裝置204、外部影像記錄重放裝置205或HDD226中的索引表,同時(shí)將RAM223中的規(guī)定的存儲(chǔ)區(qū)域用作基帶圖像數(shù)據(jù)用存儲(chǔ)器31,參照存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù),決定存儲(chǔ)在存儲(chǔ)裝置204、外部影像記錄重放裝置205或HDD226中的流數(shù)據(jù)中的包含在由用戶指定的流中的幀的解碼的順序、解碼的方法。
CPU221將RAM223中的規(guī)定的存儲(chǔ)區(qū)域作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用,因此將解碼了的基帶圖像數(shù)據(jù)提供給RAM223而存儲(chǔ),同時(shí)將存儲(chǔ)在RAM223中的基帶圖像數(shù)據(jù)作為參照?qǐng)D像而在解碼中利用。另外,CPU221讀出存儲(chǔ)在RAM223中的基帶圖像數(shù)據(jù),例如進(jìn)行顏色修正、大小修正、慢放時(shí)的字段控制等各種修正,使得正確地重放輸出解碼后的圖像,并將所生成的輸出基帶圖像數(shù)據(jù)提供給顯示器229進(jìn)行顯示。
即,CPU221將RAM223中的規(guī)定的存儲(chǔ)區(qū)域作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用,不對(duì)參照?qǐng)D像用和輸出信號(hào)用進(jìn)行區(qū)別地存儲(chǔ)解碼后的基帶圖像數(shù)據(jù),并將這些基帶圖像數(shù)據(jù)作為參照?qǐng)D像和輸出信號(hào)而利用。
接著,參照?qǐng)D11的流程圖,說(shuō)明通過(guò)用圖4說(shuō)明了的重放裝置61或用圖9和圖10說(shuō)明了的個(gè)人計(jì)算機(jī)201執(zhí)行的解碼處理1。
在步驟S41中,流解碼位置檢測(cè)處理部件22(CPU221的流解碼位置檢測(cè)處理部件22)通過(guò)操作輸入取得部件21(CPU221的GUI控制部件251)接受重放位置的指定(流編號(hào)、幀編號(hào))的輸入,并提供給解碼控制部件72(CPU221的解碼控制部件72)。
在步驟S42中,解碼控制部件72(CPU221的解碼控制部件72)從索引管理部件24(存儲(chǔ)裝置204、外部影像記錄重放裝置205或HDD226)取得與提供的流編號(hào)對(duì)應(yīng)的索引表。
在步驟S43中,解碼控制部件72(CPU221的解碼控制部件72)從索引表中抽出作為解碼所需要的信息的例如圖像類型、與參照?qǐng)D像有關(guān)的信息、數(shù)據(jù)長(zhǎng)度、或存儲(chǔ)器內(nèi)的地址等信息。
在步驟S44中,解碼控制部件72(CPU221的解碼控制部件72)根據(jù)來(lái)自用戶的指令,決定重放輸出的幀的解碼順序和解碼器(解碼的方法)。
具體地說(shuō),例如在由用戶指示了低速的重放的情況下,解碼控制部件72(CPU221的解碼控制部件72)可以使得順序地使用高分辨率的解碼器對(duì)被指示了重放的幀進(jìn)行解碼,使得等待時(shí)間最短。但是,在指示了某種程度的高速的快放或倒回等的情況下,解碼控制部件72(CPU221的解碼控制部件72)通過(guò)順序地使用高分辨率的解碼器對(duì)重放的幀進(jìn)行解碼的方法,是無(wú)法確保最終輸出的顯示幀的顯示幀格數(shù)的,因此可以使得對(duì)被指示了重放的幀的近旁的I圖像或P圖像進(jìn)行解碼輸出,或者使用低分辨率的解碼器進(jìn)行解碼。另外,進(jìn)而在高速下不要求畫(huà)質(zhì)的重放模式中,可以使得用I圖像專用的解碼器只對(duì)被指示重放的幀的近旁的I圖像進(jìn)行解碼并輸出。
在步驟S45中,解碼控制部件72(CPU221的解碼控制部件72)參照記載在索引表中的信息,檢索出與解碼所需要的前方向圖像中的離重放幀最遠(yuǎn)的幀之間的幀數(shù)(深度)(Depth of Past Framesfor Decoding)。
在步驟S46中,解碼控制部件72(CPU221的解碼控制部件72)參照記載在索引表中的信息,取得為了對(duì)指定的幀編號(hào)的幀進(jìn)行解碼而作為參照?qǐng)D像所必需的幀(在被指定為解碼的幀的幀不是I圖像的情況下,是包含之前的I圖像的至少一個(gè)幀)的幀編號(hào)。解碼控制部件72(CPU221的解碼控制部件72)例如如用圖7所說(shuō)明的那樣,在指示了B13幀的重放輸出的情況下,得到作為參照?qǐng)D像需要I2、P5、P8、P11和P14的情況,在指示了B3幀的重放輸出的情況下,得到作為參照?qǐng)D像需要I2和P5的情況。
在步驟S47中,解碼控制部件72(CPU221的解碼控制部件72)參照由基帶存儲(chǔ)管理部件73管理的存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)(即參照存儲(chǔ)在RAM223的被作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域中的基帶圖像數(shù)據(jù)),判斷在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中是否以必要的品質(zhì)存在全部必要的參照?qǐng)D像。
在步驟S47中判斷出在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中沒(méi)有以必要的品質(zhì)存在全部必要的參照?qǐng)D像的情況下,換一種說(shuō)法,在判斷出在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中存在必要的參照?qǐng)D像中的不是必要的品質(zhì)的圖像的情況下,在步驟S48中,解碼控制部件72(CPU221的解碼控制部件72)通過(guò)對(duì)應(yīng)的解碼器(解碼方法)對(duì)沒(méi)有存在于基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的參照?qǐng)D像進(jìn)行解碼。
即,解碼控制部件72(CPU221的解碼控制部件72)使流提供控制部件74經(jīng)由流存儲(chǔ)器25從流用存儲(chǔ)器26讀出與不存在于基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的參照?qǐng)D像對(duì)應(yīng)的壓縮圖像幀,并提供給解碼處理部件76進(jìn)行解碼,經(jīng)由基帶圖像數(shù)據(jù)用存儲(chǔ)控制部件77提供給基帶圖像數(shù)據(jù)用存儲(chǔ)器31進(jìn)行保存(使CPU221的流提供控制部件252讀出存儲(chǔ)在存儲(chǔ)裝置204、外部影像記錄重放裝置205或HDD226中的流數(shù)據(jù),提供給解碼處理部件76進(jìn)行解碼,并提供給RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域進(jìn)行保存),返回步驟S47,重復(fù)進(jìn)行以后的處理。
在步驟S47中,在判斷出在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中以必要的品質(zhì)存在全部必要的參照?qǐng)D像的情況下,在步驟S49中,解碼處理部件76(CPU221的解碼處理部件76)根據(jù)解碼控制部件72的控制,利用存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31(RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域)中的參照?qǐng)D像,通過(guò)對(duì)應(yīng)的解碼器(解碼方法)對(duì)重放的幀進(jìn)行解碼,并提供給基帶圖像數(shù)據(jù)用存儲(chǔ)器31(RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域)。
在步驟S50中,基帶信號(hào)處理部件32(CPU221的基帶信號(hào)處理部件32)取得通過(guò)解碼控制部件72進(jìn)行了解碼并由基帶圖像數(shù)據(jù)用存儲(chǔ)器31(RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域)存儲(chǔ)的基帶圖像數(shù)據(jù),實(shí)施各種修正(基帶處理),輸出所生成的輸出基帶圖像數(shù)據(jù)幀,通過(guò)GUI顯示控制部件71的處理進(jìn)行顯示(通過(guò)CPU221的GUI控制部件251的處理輸出到顯示器229進(jìn)行顯示),結(jié)束處理。
通過(guò)這樣的處理,在擾亂重放中,不需要為了生成參照?qǐng)D像而重復(fù)對(duì)同一幀進(jìn)行解碼,因此能夠高速地解碼重放幀。
即,如上所述那樣,通過(guò)控制解碼順序,能夠縮短例如擾亂重放(隨機(jī)重放)等從特定位置開(kāi)始的重放時(shí)、所謂特技重放的等待時(shí)間,能夠延遲時(shí)間最短地重放輸出希望的幀。
進(jìn)而,通過(guò)使參照?qǐng)D像用的存儲(chǔ)器與輸出圖像用的存儲(chǔ)器成為一個(gè),能夠減少裝置全體的存儲(chǔ)器個(gè)數(shù),能夠減少到輸出解碼后的數(shù)據(jù)為止的存儲(chǔ)器復(fù)制次數(shù),因此能夠縮短等待時(shí)間。
另外,使得進(jìn)行參照?qǐng)D像的保存的存儲(chǔ)器從解碼器分離,從解碼器以外的部分進(jìn)行控制,因此增加了解碼順序的控制的自由度,能夠?qū)γ總€(gè)幀切換輸入流,或?qū)γ總€(gè)幀切換解碼器,因此能夠?qū)?yīng)各種各樣的解碼算法。
另外,通過(guò)這樣的結(jié)構(gòu),能夠與裝置的處理能力、重放速度或所要求的畫(huà)質(zhì)對(duì)應(yīng)地選擇解碼器、解碼方法。例如,通常根據(jù)重放輸出的順序進(jìn)行高分辨率的解碼,而與此相對(duì),可以根據(jù)需要進(jìn)行低分辨率的解碼,或者不進(jìn)行B圖像的解碼而只對(duì)I圖像或P圖像進(jìn)行解碼,進(jìn)而或者只對(duì)I圖像等特定的圖像類型進(jìn)行解碼(幀內(nèi)壓縮方式的幀),使得與重放輸出的速度或必要的畫(huà)質(zhì)對(duì)應(yīng)。
因此,針對(duì)在現(xiàn)有的重放裝置中無(wú)法高速地跟蹤重放輸出的擾亂重放等復(fù)雜的重放指示,能夠考慮到重放輸出的圖像的畫(huà)質(zhì)和解碼時(shí)間的平衡性地,選擇最適合的解碼算法、解碼器(解碼方法),能夠?qū)崿F(xiàn)沒(méi)有浪費(fèi)的最短延遲的解碼。
進(jìn)而,通過(guò)這樣的結(jié)構(gòu),例如可以使得分別具有能夠?qū)νㄟ^(guò)MPEG方式壓縮了的流進(jìn)行解碼的解碼器和能夠?qū)νㄟ^(guò)除此以外的方式壓縮了的流進(jìn)行解碼的解碼器,能夠適當(dāng)切換地進(jìn)行解碼。
另外,在適用了本發(fā)明的情況下,不區(qū)別參照?qǐng)D像用和輸出用地存儲(chǔ)通過(guò)多個(gè)解碼器或解碼方法解碼后的基帶圖像數(shù)據(jù),因此對(duì)通過(guò)哪個(gè)解碼方法對(duì)解碼后的基帶圖像數(shù)據(jù)進(jìn)行了解碼的信息進(jìn)行管理。通過(guò)哪個(gè)解碼方法進(jìn)行了解碼的信息例如是用圖8說(shuō)明了的解碼器類型(Decoder Type)的標(biāo)志信息。
例如在執(zhí)行低速重放、靜止畫(huà)顯示等高分辨率的解碼的情況下,為了防止圖像的惡化,通過(guò)參照通過(guò)哪個(gè)解碼方法對(duì)解碼后的基帶圖像數(shù)據(jù)進(jìn)行了解碼的信息,不將在低分辨率下解碼了的基帶圖像數(shù)據(jù)作為參照?qǐng)D像數(shù)據(jù)使用,而只將在高分辨率下解碼了的基帶圖像數(shù)據(jù)作為參照?qǐng)D像使用。
另外,在此,主要說(shuō)明了由I圖像、P圖像和B圖像構(gòu)成的MPEG2 LongGOP的情況,但本發(fā)明也可以適用于對(duì)通過(guò)幀間參照而解碼了的壓縮編碼數(shù)據(jù)進(jìn)行重放的情況。
這樣,例如在擾亂重放等時(shí),根據(jù)需要進(jìn)行低分辨率的解碼,或者不進(jìn)行B圖像的解碼而只對(duì)I圖像或P圖像進(jìn)行解碼,進(jìn)而或者只對(duì)I圖像等特定的圖像類型進(jìn)行解碼(幀內(nèi)壓縮方式的解碼),使得與重放輸出的速度、必要的畫(huà)質(zhì)對(duì)應(yīng)等,從而考慮到重放輸出的圖像的畫(huà)質(zhì)和解碼時(shí)間的平衡性地,選擇最適合的解碼算法、解碼器(解碼方法),能夠?qū)崿F(xiàn)沒(méi)有浪費(fèi)的最短延遲的解碼。
另外,能夠利用用圖6說(shuō)明了的索引表的解碼深度信息(Depthof Past Frames for Decoding),進(jìn)而能夠進(jìn)行圖像畫(huà)質(zhì)盡量高的延遲最短的解碼處理。
接著,具體地說(shuō)明在圖4或圖10的解碼控制部件72中執(zhí)行的解碼處理的控制中利用索引表的解碼深度信息(Depth of Past Framesfor Decoding)的方法。
用圖6說(shuō)明了的索引表的解碼深度信息(Depth of Past Framesfor Decoding)如上所述,表示為了得到過(guò)去側(cè)的參照幀所必需的解碼的次數(shù)。參照未來(lái)側(cè)的幀的只有B圖像,但B圖像的未來(lái)側(cè)的參照幀數(shù)是1幀。即,為了得到用于得到B圖像的全部參照幀所必需的解碼次數(shù),可以設(shè)置為“過(guò)去側(cè)的解碼次數(shù)+1”。因此,作為索引表,只具有過(guò)去的解碼的深度就足夠了。
即,由于為了解碼GOP的先頭的I圖像,不需要過(guò)去側(cè)的參照幀,所以深度的值為0。另外,各個(gè)P圖像的深度的值為從GOP的先頭開(kāi)始數(shù)而每次出現(xiàn)P圖像就加1的值,另外,由于為了對(duì)流的先頭或ClosedGOP先頭的2張B圖像進(jìn)行解碼,不需要過(guò)去側(cè)的參照幀,所以深度的值為0,而OpenGOP的不是流先頭的I圖像之后的2張B圖像的深度的值為I圖像之前的P圖像的深度的值加1,除此以外的B圖像的深度的值與之前的P圖像的深度的值相等。
在圖4或圖10的解碼控制部件72中,可以利用用圖6說(shuō)明了的索引表的解碼深度信息(Depth of Past Frames for Decoding)進(jìn)行解碼處理的控制。
參照?qǐng)D12的流程圖,說(shuō)明從先頭開(kāi)始檢索(pass)流而作成深度信息的深度信息計(jì)算處理。
另外,例如在用圖4說(shuō)明了的重放裝置61中執(zhí)行重放處理的情況下,深度信息計(jì)算處理也可以在存儲(chǔ)索引表的索引管理部件24中執(zhí)行,還可以在重放裝置61以外的裝置(例如一般的個(gè)人計(jì)算機(jī),具體地說(shuō),包含不具有用圖10說(shuō)明了的功能框圖所示的功能的計(jì)算機(jī)的個(gè)人計(jì)算機(jī)201等)中執(zhí)行,并將生成的索引表提供給重放裝置61,存儲(chǔ)在索引管理部件24中。
另外,在用圖9和圖10說(shuō)明了的個(gè)人計(jì)算機(jī)201中執(zhí)行重放處理的情況下,深度信息計(jì)算處理可以在CPU221(其中,使用用圖10說(shuō)明了的功能框圖所沒(méi)有表示的功能執(zhí)行處理)中執(zhí)行,還可以在個(gè)人計(jì)算機(jī)201以外的裝置(例如一般的個(gè)人計(jì)算機(jī),具體地說(shuō),包含不具有用圖10說(shuō)明了的功能框圖所示的功能的計(jì)算機(jī)的個(gè)人計(jì)算機(jī)等)中執(zhí)行,并將生成的索引表提供給個(gè)人計(jì)算機(jī)201,存儲(chǔ)在HDD226中,還可以將生成的索引表存儲(chǔ)在存儲(chǔ)裝置204或外部影像記錄重放裝置205中,提供給個(gè)人計(jì)算機(jī)201。
在圖12的流程圖中,說(shuō)明了深度信息計(jì)算處理在個(gè)人計(jì)算機(jī)201的CPU221(其中使用用圖10說(shuō)明了的功能框圖所沒(méi)有表示的功能執(zhí)行處理)中執(zhí)行的情況,但如上所述,也可以在個(gè)人計(jì)算機(jī)201的CPU221以外中執(zhí)行。
在步驟S81中,個(gè)人計(jì)算機(jī)201的CPU221接受生成索引表的流的流順序(Stream Order)的輸入。
在步驟S82中,CPU221判斷下一個(gè)圖像的圖像類型是否是I圖像。在步驟S82中判斷出下一個(gè)圖像的圖像類型不是I圖像的情況下,處理前進(jìn)到后述的步驟S85。
在步驟S82中判斷出下一個(gè)圖像的圖像類型是I圖像的情況下,在步驟S83中,CPU221將作為用于計(jì)算解碼深度的第一計(jì)數(shù)器的depth的值設(shè)置為depth=depth+1,進(jìn)而將作為用于計(jì)算解碼深度的第二計(jì)數(shù)器的prev_depth的值設(shè)置為prev_depth=depth。
在此,作為用于計(jì)算解碼深度的第一計(jì)數(shù)器的depth是用于計(jì)算出GOP內(nèi)的P圖像和GOP先頭的2張B圖像以外的B圖像的解碼深度的計(jì)數(shù)器,作為用于計(jì)算解碼深度的第二計(jì)數(shù)器的prev_depth是用于計(jì)算GOP先頭的2張B圖像的解碼深度的計(jì)數(shù)器。
在步驟S84中,CPU221將作為第一計(jì)數(shù)器的depth的值設(shè)置為depth=0,處理前進(jìn)到后述的步驟S89。
在步驟S82中判斷出下一個(gè)圖像的圖像類型不是I圖像的情況下,在步驟S85中,CPU221判斷下一個(gè)圖像的圖像類型是否是P圖像。在步驟S85中判斷出下一個(gè)圖像的圖像類型不是P圖像的情況下,處理前進(jìn)到后述的步驟S88。
在步驟S85中判斷出下一個(gè)圖像的圖像類型是P圖像的情況下,在步驟S86中,CPU221對(duì)作為用于計(jì)算解碼深度的第二計(jì)數(shù)器的prev_depth的值進(jìn)行復(fù)位,設(shè)置為prev_depth=0。
在步驟S87中,CPU221將作為用于計(jì)算解碼深度的第一計(jì)數(shù)器的depth的值設(shè)置為depth=depth+1,處理前進(jìn)到后述的步驟S89。
在步驟S85中判斷出下一個(gè)圖像的圖像類型不是P圖像,即是B圖像的情況下,在步驟S88中,CPU221判斷是否是depth=0,換一種說(shuō)法,是否是GOP先頭的2張B圖像。
在步驟S84或步驟S87的處理結(jié)束后,或者在步驟S88中判斷出不是depth=0的情況下,在步驟S89中,CPU221將解碼深度(Depth of Past Frames for Decoding)的值設(shè)置為解碼深度=depth,處理前進(jìn)到后述的步驟S93。
具體地說(shuō),在圖像類型是I圖像的情況下,在步驟S84中,作為用于計(jì)算解碼深度的第一計(jì)數(shù)器的depth的值為depth=0,因此I圖像的解碼深度(Depth of Past Frames for Decoding)的值為0,在圖像類型是P圖像的情況下,在步驟S87中,作為用于計(jì)算解碼深度的第一計(jì)數(shù)器的depth的值為逐次加1,因此P圖像的解碼深度(Depth of Past Frames for Decoding)的值為分別從GOP先頭(I圖像)算起而每次出現(xiàn)P圖像則加1的值,在圖像類型是B圖像,并且是GOP先頭的2張B圖像以外的B圖像的情況下,解碼深度(Depth of Past Frames for Decoding)的值與之前的P圖像相等。
在步驟S88中判斷出depth=0,即是GOP先頭的2張B圖像的情況下,在步驟S90中,CPU221針對(duì)該B圖像,判斷是否不存在過(guò)去參照?qǐng)D像,換一種說(shuō)法,該B圖像是否是流的先頭或ClosedGOP先頭的2張B圖像中的任意一個(gè)。
在步驟S90中判斷出不存在過(guò)去參照?qǐng)D像,即該B圖像是流的先頭或ClosedGOP先頭的2張B圖像中的任意一個(gè)的情況下,在步驟S91中,CPU221將解碼深度(Depth of Past Frames for Decoding)的值設(shè)置為解碼深度=0,處理前進(jìn)到所述的步驟S93。
在步驟S90中判斷出存在過(guò)去參照?qǐng)D像的情況下,即該B圖像是與流的先頭或ClosedGOP不同的GOP先頭的2張B圖像中的任意一個(gè)的情況下,在步驟S92中,CPU221將解碼深度(Depth of PastFrames for Decoding)的值設(shè)置為解碼深度=prev_depth,處理前進(jìn)到后述的步驟S93。
具體地說(shuō),在步驟S86中,即出現(xiàn)P圖像時(shí),對(duì)prev_depth的值進(jìn)行復(fù)位(reset),在步驟S83中,即出現(xiàn)I圖像時(shí),將prev_depth的值設(shè)置為depth+1,因此對(duì)于是GOP先頭并且是流的先頭或不是ColsedGOP的GOP的B圖像,成為對(duì)之前的P圖像的解碼深度(Depth of Past Frames for Decoding)的值加1的值。
在步驟S89、步驟S91或步驟S92的處理結(jié)束后,在步驟S93中,CPU221判斷流是否結(jié)束了。在步驟S93中判斷出流還沒(méi)有結(jié)束的情況下,處理返回到步驟S82,重復(fù)進(jìn)行其后的處理。在步驟S93中判斷出流結(jié)束了的情況下,結(jié)束處理。
通過(guò)這樣的處理,計(jì)算出用圖6說(shuō)明了的索引表的解碼深度(Depth of Past Frames for Decoding)的值,并用于解碼處理的控制。
接著,參照?qǐng)D13的流程圖,說(shuō)明使用通過(guò)圖12的深度信息計(jì)算處理計(jì)算出的解碼深度(Depth of Past Frames for Decoding)的值,通過(guò)用圖4說(shuō)明了的重放裝置61或用圖9和圖10說(shuō)明了的個(gè)人計(jì)算機(jī)201執(zhí)行的解碼處理2。
在步驟S121~步驟S126中,執(zhí)行與圖11的步驟S41~步驟S46基本一樣的處理。
即,流解碼位置檢測(cè)處理部件22(CPU221的流解碼位置檢測(cè)處理部件22)通過(guò)操作輸入取得部件21(CPU221的GUI控制部件251)接受重放位置的指定(流編號(hào)、幀編號(hào))的輸入,提供給解碼控制部件72(CPU221的解碼控制部件72)。解碼控制部件72(CPU221的解碼控制部件72)從索引管理部件24(存儲(chǔ)裝置204、外部影像記錄重放裝置205或HDD226)取得與所提供的流編號(hào)對(duì)應(yīng)的索引表。
解碼控制部件72(CPU221的解碼控制部件72)從索引表中抽出作為解碼所需要的信息的例如圖像類型、與參照?qǐng)D像有關(guān)的信息、數(shù)據(jù)長(zhǎng)度或存儲(chǔ)器內(nèi)的地址等信息,根據(jù)來(lái)自用戶的指令,決定重放輸出的幀的解碼順序和解碼器(解碼的方法)。
然后,解碼控制部件72(CPU221的解碼控制部件72)參照記載在索引表中的信息,檢測(cè)出與解碼所需要的前方向圖像中的離重放幀最遠(yuǎn)的幀之間的幀數(shù)(深度Depth of Past Frames forDecoding),參照記載在索引表中的信息,取得為了對(duì)指定的幀編號(hào)的幀進(jìn)行解碼而作為參照?qǐng)D像所必需的幀(在被指定為解碼的幀的幀不是I圖像的情況下,是包含之前的I圖像的至少一個(gè)幀)的幀編號(hào)。
然后,在步驟S127中,執(zhí)行用圖14在后面說(shuō)明的解碼切換決定處理。
即,在通常重放模式的情況或即使是擾亂重放但在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中已經(jīng)存在參照幀的情況下,由于能夠預(yù)測(cè)為此后的解碼處理短,所以不進(jìn)行使用了深度信息的處理,而進(jìn)行通常的解碼處理(步驟S130~步驟S133的處理)。另一方面,在擾亂模式中沒(méi)有過(guò)去參照?qǐng)D像的情況下,即在隨機(jī)重放過(guò)程中沒(méi)有對(duì)周圍的幀進(jìn)行解碼的情況下,利用記載在索引表中的深度信息,判斷是否來(lái)得及進(jìn)行通常解碼的處理,來(lái)將解碼處理決定為是通常解碼處理(步驟S130~步驟S133的處理)還是代替的處理(步驟S129的處理)。
在步驟S128中,解碼控制部件72(CPU221的解碼控制部件72)判斷在步驟S127中執(zhí)行的解碼切換決定處理中,是否決定為執(zhí)行代替顯示。
在步驟S128中判斷出決定為執(zhí)行代替顯示的情況下,在步驟S129中,解碼控制部件72(CPU221的解碼控制部件72)執(zhí)行使用了低分辨率圖像或近旁圖像的代替顯示,結(jié)束處理。
具體地說(shuō),作為代替的方法,例如不進(jìn)行B圖像的解碼,而只對(duì)I圖像或P圖像進(jìn)行解碼,或者只對(duì)I圖像等特定的圖像類型進(jìn)行解碼(幀內(nèi)壓縮方式的解碼),或者以高速地處理解碼自身為目的地進(jìn)行低分辨率的解碼等,從而根據(jù)需要考慮到重放輸出的圖像的畫(huà)質(zhì)和解碼時(shí)間的平衡性地,選擇最適合的解碼算法和解碼器(解碼方法)。
進(jìn)而,作為代替的方法,例如可以作為代理文件(proxy file),暫時(shí)對(duì)P圖像和B圖像、或P圖像中的至少任意一個(gè)幀進(jìn)行解碼并另外準(zhǔn)備再編碼為I圖像的圖像,使用該I圖像顯示圖像。將在后面詳細(xì)說(shuō)明代理文件。
在步驟S128中判斷出決定為不執(zhí)行代替顯示的情況下,在步驟S130~步驟S133中,執(zhí)行與圖11的步驟S47~步驟S50一樣的處理,結(jié)束處理。
即,解碼控制部件72(CPU221的解碼控制部件72)參照由基帶存儲(chǔ)管理部件73管理的存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的基帶圖像數(shù)據(jù)(即參照存儲(chǔ)在RAM223的被作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31而利用的存儲(chǔ)區(qū)域中的基帶圖像數(shù)據(jù)),判斷在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中是否以必要的品質(zhì)存在全部必要的參照?qǐng)D像。
在判斷出在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中沒(méi)有以必要的品質(zhì)存在全部必要的參照?qǐng)D像的情況下,換一種說(shuō)法,在判斷出在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中存在必要的參照?qǐng)D像中的不是必要的品質(zhì)的圖像的情況下,通過(guò)對(duì)應(yīng)的解碼器(解碼方法)對(duì)沒(méi)有存在于基帶圖像數(shù)據(jù)用存儲(chǔ)器31中的參照?qǐng)D像進(jìn)行解碼,處理返回到步驟S130,重復(fù)進(jìn)行以后的處理。
另外,在判斷出在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中以必要的品質(zhì)存在全部必要的參照?qǐng)D像的情況下,根據(jù)解碼控制部件72的控制,利用存儲(chǔ)在基帶圖像數(shù)據(jù)用存儲(chǔ)器31(RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域)中的參照?qǐng)D像,通過(guò)對(duì)應(yīng)的解碼器(解碼方法)對(duì)重放的幀進(jìn)行解碼,并提供給基帶圖像數(shù)據(jù)用存儲(chǔ)器31(RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域)。
然后,基帶信號(hào)處理部件32(CPU221的基帶信號(hào)處理部件32)取得通過(guò)解碼控制部件72進(jìn)行了解碼并由基帶圖像數(shù)據(jù)用存儲(chǔ)器31(RAM223的作為基帶圖像數(shù)據(jù)用存儲(chǔ)器31利用的存儲(chǔ)區(qū)域)存儲(chǔ)的基帶圖像數(shù)據(jù),實(shí)施各種修正(基帶處理),輸出所生成的輸出基帶圖像數(shù)據(jù)幀,通過(guò)GUI顯示控制部件71的處理進(jìn)行顯示(通過(guò)CPU221的GUI控制部件251的處理輸出到顯示器229進(jìn)行顯示),結(jié)束處理。
通過(guò)這樣的處理,在擾亂重放中,不需要為了生成參照?qǐng)D像而重復(fù)對(duì)同一幀進(jìn)行解碼,因此能夠高速地解碼重放幀,同時(shí)通過(guò)后述的解碼切換處理,例如在擾亂模式下也沒(méi)有過(guò)去參照?qǐng)D像的情況下,即在隨機(jī)重放中沒(méi)有對(duì)周圍的幀進(jìn)行解碼的情況等下,利用記載在索引表中的深度信息,判斷是否來(lái)得及進(jìn)行通常解碼的處理,判斷是否切換解碼而進(jìn)行代替顯示,并根據(jù)需要進(jìn)行代替顯示。
即,如上所述那樣,通過(guò)控制解碼順序,能夠縮短例如擾亂重放(隨機(jī)重放)等從特定位置開(kāi)始的重放時(shí)、所謂特技重放的等待時(shí)間,能夠延遲時(shí)間最短地重放輸出希望的幀,除此以外,在來(lái)不及進(jìn)行通常解碼的處理的情況下,切換解碼而執(zhí)行代替顯示。
接著,參照?qǐng)D14的流程圖,說(shuō)明在圖13的步驟S127中執(zhí)行的解碼切換決定處理。
在步驟S161中,解碼控制部件72(CPU221的解碼控制部件72)判斷現(xiàn)在的重放模式是否是擾亂模式。在步驟S161中判斷出不是擾亂模式的情況下,處理前進(jìn)到后述的步驟S170。
在步驟S161中判斷出是擾亂模式的情況下,在步驟S162中,解碼控制部件72(CPU221的解碼控制部件72)判斷在基帶圖像數(shù)據(jù)用存儲(chǔ)器31中是否存在過(guò)去參照幀。在步驟S162中判斷出存在過(guò)去參照幀的情況下,處理前進(jìn)到后述的步驟S170。
在步驟S162中判斷出不存在過(guò)去參照幀的情況下,在步驟S163中,解碼控制部件72(CPU221的解碼控制部件72)根據(jù)是否預(yù)先決定了能夠解碼幀數(shù)、或是否從上位應(yīng)用程序指定等的條件設(shè)置,判斷是否需要計(jì)算能夠解碼幀數(shù)。
具體地說(shuō),能夠解碼幀數(shù)例如可以預(yù)先設(shè)置(直接指定幀數(shù)),也可以由上位應(yīng)用程序指定。例如,還可以根據(jù)用于解碼處理的解碼器、CPU的個(gè)數(shù)或時(shí)鐘頻率來(lái)設(shè)置能夠解碼幀數(shù)。在這樣的情況下,不需要計(jì)算能夠解碼幀數(shù),可以取得指定的能夠解碼幀數(shù)。
與此相對(duì),例如在只指定了能夠從上位應(yīng)用程序提供給解碼處理的時(shí)間分配T(例如20ms)的情況下,需要計(jì)算能夠解碼幀數(shù)。
在步驟S163中判斷出需要計(jì)算能夠解碼幀數(shù)的情況下,在步驟S164中,執(zhí)行用圖15在后面說(shuō)明的能夠解碼幀數(shù)計(jì)算處理。
在步驟S163中判斷出不需要計(jì)算能夠解碼幀數(shù)的情況下,在步驟S165中,解碼控制部件72(CPU221的解碼控制部件72)取得由上位應(yīng)用程序指定或預(yù)先設(shè)置的能夠解碼幀數(shù)。
在步驟S164或步驟S165的處理結(jié)束后,在步驟S166中,解碼控制部件72(CPU221的解碼控制部件72)判斷所處理的幀是否是B圖像。
在步驟S166中判斷出是B圖像的情況下,在步驟S167中,解碼控制部件72(CPU221的解碼控制部件72)參照索引表的深度信息(Depth of Past Frames for Decoding),判斷是否是過(guò)去參照幀數(shù)(深度)+2>能夠解碼幀數(shù)。
在此,過(guò)去參照幀數(shù)(深度)+2在完全不存在參照?qǐng)D像幀的情況下是為了解碼對(duì)應(yīng)的B圖像所需要的解碼次數(shù)。具體地說(shuō),為了解碼對(duì)應(yīng)的B圖像所需要的解碼次數(shù)是過(guò)去的參照?qǐng)D像的幀數(shù)(Depth of Past Frames for Decoding的值)、未來(lái)側(cè)(時(shí)間上是后面的幀)的參照幀數(shù)的1、自身的解碼的1次的合計(jì)。
在步驟S167中判斷出過(guò)去參照幀數(shù)(深度)+2>能夠解碼幀數(shù)的情況下,處理前進(jìn)到后述的步驟S169,在判斷出不是過(guò)去參照幀數(shù)(深度)+2>能夠解碼幀數(shù)的情況下,處理前進(jìn)到后述的步驟S170。
在步驟S166中判斷出不是B圖像的情況下,在步驟S168中,解碼控制部件72(CPU221的解碼控制部件72)參照索引表的深度信息(Depth of Past Frames for Decoding的值),判斷是否是過(guò)去參照幀數(shù)(深度)+1>能夠解碼幀數(shù)。
在此,過(guò)去參照幀數(shù)(深度)+1在完全不存在參照?qǐng)D像幀的情況下是為了解碼對(duì)應(yīng)的P圖像或I圖像所需要的解碼次數(shù)。具體地說(shuō),為了解碼對(duì)應(yīng)的P圖像或I圖像所需要的解碼次數(shù)是將過(guò)去的參照?qǐng)D像的幀數(shù)(Depth of Past Frames for Decoding的值)加上自身的解碼的一次的次數(shù)。由于I圖像的過(guò)去參照幀數(shù)(深度)是0,所以為了解碼I圖像所需要的解碼次數(shù)當(dāng)然是1次。
在步驟S168中判斷出過(guò)去參照幀數(shù)(深度)+1>能夠解碼幀數(shù)的情況下,處理前進(jìn)到后述的步驟S169,在判斷出不是過(guò)去參照幀數(shù)(深度)+1>能夠解碼幀數(shù)的情況下,處理前進(jìn)到后述的步驟S170。
在步驟S167中判斷出過(guò)去參照幀數(shù)(深度)+2>能夠解碼幀數(shù)的情況下,或者在步驟S168中判斷出過(guò)去參照幀數(shù)(深度)+1>能夠解碼幀數(shù)的情況下,在步驟S169中,解碼控制部件72(CPU221的解碼控制部件72)決定為進(jìn)行代替顯示,處理返回到圖13的步驟S127,前進(jìn)到步驟S128。
在此,具體地說(shuō),代替顯示是指例如如上所述,不進(jìn)行B圖像的解碼,而只對(duì)I圖像或P圖像進(jìn)行解碼,或者只對(duì)I圖像等特定的圖像類型進(jìn)行解碼(幀內(nèi)壓縮方式的解碼),或者以高速地處理解碼自身為目的地進(jìn)行低分辨率的解碼等,除此以外,還通過(guò)作為代理文件(proxy file),暫時(shí)對(duì)P圖像和B圖像、或P圖像中的至少任意一個(gè)幀進(jìn)行解碼并另外準(zhǔn)備再編碼為I圖像的圖像,使用該I圖像顯示圖像,由此與不進(jìn)行代替顯示的情況相比,能夠高速地顯示希望的圖像。將在后面說(shuō)明代理文件的詳細(xì)。作為代替顯示,除了這些顯示方法以外,還可以根據(jù)需要考慮到重放輸出的圖像的畫(huà)質(zhì)和解碼時(shí)間的平衡性地,選擇最適合的解碼算法、解碼器(解碼方法)。
在步驟S167中判斷出不是過(guò)去參照幀數(shù)(深度)+2>能夠解碼幀數(shù)的情況下,或者在步驟S168中判斷出不是過(guò)去參照幀數(shù)(深度)+1>能夠解碼幀數(shù)的情況下,在步驟S170中,解碼控制部件72(CPU221的解碼控制部件72)決定為不進(jìn)行代替顯示,處理返回到圖13的步驟S127,前進(jìn)到步驟S128。
通過(guò)這樣的處理,利用記載在索引文件中的深度信息,判斷是否來(lái)得及進(jìn)行通常解碼的處理,判斷是否切換解碼而進(jìn)行代替顯示,并根據(jù)需要進(jìn)行代替顯示。
接著,參照?qǐng)D15的流程圖,說(shuō)明在圖14的步驟S164中執(zhí)行的能夠解碼幀數(shù)計(jì)算處理。
在步驟S201中,解碼控制部件72(CPU221的解碼控制部件72)例如設(shè)置1秒鐘30幀或1秒鐘15幀等的單位時(shí)間的顯示幀數(shù)。
在步驟S202中,解碼控制部件72(CPU221的解碼控制部件72)從1幀顯示周期中減去用于其他處理的時(shí)間,設(shè)置對(duì)1幀顯示進(jìn)行解碼處理的時(shí)間T。
具體地說(shuō),例如如果在解碼以外的處理中每幀都使用了13ms,則在1秒鐘30幀顯示的情況下,成為1/30=33ms,33-13=20ms,將20ms設(shè)置為對(duì)1幀顯示進(jìn)行解碼處理的時(shí)間T,在1秒鐘15幀顯示的情況下,成為1/15=66ms,66-13=53ms,將53ms設(shè)置為對(duì)1幀顯示進(jìn)行解碼處理的時(shí)間T。
在步驟S203中,解碼控制部件72(CPU221的解碼控制部件72)對(duì)大于等于1GOP的解碼對(duì)象流進(jìn)行解碼,測(cè)量平均1幀解碼時(shí)間A。
另外,在步驟S204中,解碼控制部件72(CPU221的解碼控制部件72)計(jì)算T÷A,將小于等于T÷A的整數(shù)的最大值作為能夠解碼幀數(shù)X,處理返回到圖14的步驟S164,前進(jìn)到步驟S166。
通過(guò)這樣的處理,計(jì)算出能夠解碼幀數(shù)X,通過(guò)與記載在索引文件中的深度信息進(jìn)行比較,來(lái)判斷是否來(lái)得及進(jìn)行通常解碼的處理,判斷是否切換解碼而進(jìn)行代替顯示,并根據(jù)需要進(jìn)行代替顯示。
這樣,通過(guò)適用本發(fā)明,使用深度信息能夠決定是否進(jìn)行解碼切換。即,在通常重放模式的情況、即使是擾亂重放也存在已經(jīng)解碼的參照幀的情況下,能夠預(yù)測(cè)為其后的解碼處理短,因此不進(jìn)行使用了深度信息的處理,而進(jìn)行通常的解碼處理。另一方面,在是擾亂模式并且沒(méi)有過(guò)去參照?qǐng)D像的情況下,即在隨機(jī)重放過(guò)程中沒(méi)有對(duì)周圍的幀進(jìn)行解碼的情況下,判斷是否預(yù)測(cè)出來(lái)不及進(jìn)行通常解碼的處理而無(wú)法進(jìn)行顯示,因此取得或計(jì)算出能夠解碼幀數(shù)X,通過(guò)與記載在索引表中的深度信息進(jìn)行比較,來(lái)決定是否進(jìn)行解碼切換。
能夠解碼幀數(shù)可以指定幀數(shù),也可以指定解碼時(shí)間最大值,根據(jù)它進(jìn)行計(jì)算。在指定幀數(shù)的情況下,例如可以由上位應(yīng)用程序直接指定最大解碼幀數(shù),也可以根據(jù)CPU等的處理能力(推測(cè)數(shù)字、處理時(shí)鐘速度等處理的速度并量化的信息),組合若干個(gè)要素參數(shù)進(jìn)行決定(例如如果是DualCoreCPU的3.6GHz則能夠解碼幀數(shù)是5幀,如果是SingleCoreCPU的2GHz則能夠解碼幀數(shù)是2幀那樣)。另一方面,在指定時(shí)間的情況下,根據(jù)應(yīng)用程序能夠?qū)獯a處理提供的時(shí)間T和1幀的平均解碼時(shí)間A,求出T/A的值,計(jì)算能夠解碼幀數(shù)。
另外,例如在代替顯示中,使用近旁的I圖像和P圖像或只使用I圖像執(zhí)行解碼處理那樣的情況下,可以有效地利用能夠解碼幀數(shù)。即,能夠用于限制選擇進(jìn)行解碼處理的近旁圖像幀時(shí)的代替對(duì)象。例如,在能夠解碼幀數(shù)是4幀,1GOP為15幀(在顯示順序中,為B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......P14)的情況下,對(duì)I2、P5、P8、P11進(jìn)行解碼,通過(guò)即使P14是P圖像也將其從解碼對(duì)象中除去,而能夠在擾亂重放等中高速地進(jìn)行解碼處理。
這樣,在適用本發(fā)明的情況下,在擾亂重放等特殊重放中,通過(guò)與解碼的難度對(duì)應(yīng)地自動(dòng)地切換解碼方法,能夠直到GOP后半部分的幀為止都流暢地進(jìn)行顯示。另外,可以與解碼的能力對(duì)應(yīng)地靈活地切換解碼方式,在使用能力低的解碼器時(shí),也能夠維持高擾亂顯示性能。
另外,在執(zhí)行代替顯示的情況下,例如如上所述,不進(jìn)行B圖像的解碼,而只對(duì)I圖像或P圖像進(jìn)行解碼,或者只對(duì)I圖像等特定的圖像類型進(jìn)行解碼(幀內(nèi)壓縮方式的解碼),或者以高速地處理解碼自身為目的地進(jìn)行低分辨率的解碼等,除此以外,還通過(guò)作為代理文件(proxy file),暫時(shí)對(duì)P圖像和B圖像、或P圖像中的至少任意一個(gè)幀進(jìn)行解碼并另外準(zhǔn)備再編碼為I圖像的圖像,使用該I圖像顯示圖像等,由此可以根據(jù)需要考慮到重放輸出的圖像的畫(huà)質(zhì)和解碼時(shí)間的平衡性地,選擇最適合的解碼算法、解碼器(解碼方法)。
接著,作為代替顯示的一個(gè)例子,說(shuō)明上述的代理文件。
代理文件可以由重放裝置61或個(gè)人計(jì)算機(jī)201生成,也可以由與這些裝置獨(dú)立地構(gòu)成的變換裝置311生成。
變換裝置311例如接受MPEG2 LongGOP流等通過(guò)幀間參照編碼而編碼了的比特流(由I圖像(幀內(nèi)編碼幀)、P圖像(前方向預(yù)測(cè)編碼幀)、B圖像(兩方向預(yù)測(cè)編碼幀)構(gòu)成的比特流)的供給,通過(guò)對(duì)所提供的比特流中的P圖像進(jìn)行編碼(encode)而變換為I圖像,而能夠生成在圖13的步驟S129中執(zhí)行代替顯示時(shí)所利用的代理文件。
圖16是表示變換裝置311的結(jié)構(gòu)例子的框圖。
比特流取得部件331接受包含I圖像、P圖像和B圖像的比特流的供給,并提供給比特流分析部件332。
比特流分析部件332接受包含I圖像、P圖像和B圖像的比特流的供給,將其中的I圖像和P圖像提供給解碼器334。另外,比特流分析部件332對(duì)解碼器334、編碼器336和代理文件存儲(chǔ)部件337進(jìn)行控制。
另外,比特流分析部件332可以對(duì)所供給的比特流進(jìn)行分析,同時(shí)對(duì)由編碼器336執(zhí)行的處理的結(jié)果進(jìn)行分析,生成用圖6說(shuō)明的索引(index)文件,并提供給索引文件存儲(chǔ)部件333。
進(jìn)而,適合的是在索引文件中,根據(jù)由后述的代理索引存儲(chǔ)部件338存儲(chǔ)的信息,除了用圖6說(shuō)明了的信息以外,例如如圖17所示那樣,作為包含在代理文件中的與原始流中的P圖像對(duì)應(yīng)的幀,即與由編碼器336編碼了的I圖像有關(guān)的編碼信息,記載有圖像大小(Proxy File Picture Size)、這些幀的地址(Proxy File Address)。這些信息由編碼器336存儲(chǔ)在后述的代理索引存儲(chǔ)部件338中。
索引文件存儲(chǔ)部件333存儲(chǔ)從比特流分析部件332提供的用圖17所說(shuō)明的索引文件。
解碼器334對(duì)從比特流分析部件332提供的I圖像和P圖像進(jìn)行解碼,生成非壓縮基帶圖像,將與P圖像對(duì)應(yīng)的非壓縮基帶圖像數(shù)據(jù)提供給編碼器336。這時(shí),解碼器334在作為其后解碼的幀的參照?qǐng)D像而需要所生成了的非壓縮基帶圖像的情況下,將所生成了的非壓縮基帶圖像也提供給參照?qǐng)D像用存儲(chǔ)器335而存儲(chǔ),在解碼P圖像的情況下,適當(dāng)?shù)貐⒄沾鎯?chǔ)在參照?qǐng)D像用存儲(chǔ)器335中的參照用圖像。
編碼器336通過(guò)幀內(nèi)編碼將與所提供的P圖像對(duì)應(yīng)的非壓縮基帶圖像數(shù)據(jù)編碼為I圖像,并將所生成的I圖像提供給代理文件存儲(chǔ)部件337。作為壓縮處理時(shí)(生成I圖像時(shí))的參數(shù),編碼器336例如可以設(shè)置壓縮率等。
參考圖18,說(shuō)明將從編碼器336輸出的I圖像的比特率設(shè)置為固定的情況。
編碼器336在使輸出的I圖像的比特率固定的情況下,例如生成I圖像使得成為與代理文件存儲(chǔ)部件337的存儲(chǔ)容量等對(duì)應(yīng)的規(guī)定的比特率。一般,利用前方參照的P圖像的信息量比I圖像的信息量少,因此對(duì)于對(duì)P圖像進(jìn)行再壓縮而編碼為I圖像時(shí)的比特率,如果設(shè)置為比變換前(P圖像)大的比特率,則容易維持畫(huà)質(zhì),是適合的。另外,也可以由用戶設(shè)置該比特率。
接著,參照?qǐng)D19,說(shuō)明將從編碼器336輸出的I圖像的比特率設(shè)置為變動(dòng)的情況。
編碼器336從比特流分析部件332或解碼器334取得原始的比特流的I圖像(以GOP為單位的先頭的I圖像)的速率,生成I圖像使得成為與該值對(duì)應(yīng)的比特率。一般,原始的壓縮流的I圖像的比特率反映了該GOP中的影像的復(fù)雜度。因此,通過(guò)與反映了GOP中的影像的復(fù)雜度的先頭的I圖像的比特率對(duì)應(yīng)地,使從P圖像變換而生成的I圖像的比特率變動(dòng),能夠防止畫(huà)質(zhì)的惡化。
所以,代理文件存儲(chǔ)部件337根據(jù)從編碼器336提供的用圖18或圖19說(shuō)明那樣地生成的從編碼器336提供的I圖像的數(shù)據(jù),生成代理文件(proxy,即代理數(shù)據(jù)文件)并存儲(chǔ)。
代理索引存儲(chǔ)部件338每次通過(guò)幀內(nèi)編碼將與所提供的P圖像對(duì)應(yīng)的非壓縮基帶圖像數(shù)據(jù)編碼為I圖像而生成I圖像時(shí),作為與所生成的I圖像有關(guān)的編碼信息從編碼器336取得圖像大小(Proxy FilePicture Size)、這些幀的地址(Proxy File Address)并作為代理索引進(jìn)行存儲(chǔ),提供給比特流分析部件332。
接著,參照?qǐng)D20,說(shuō)明在原始的比特流中對(duì)P圖像進(jìn)行解碼的情況。
例如,在MPEG2 LongGOP的比特流中,重放輸出P11幀的情況下,在現(xiàn)有技術(shù)中,能夠如圖20A所示,對(duì)作為包含P11的GOP的先頭的I圖像的I2幀進(jìn)行解碼,接著,在對(duì)P5、P8的幀進(jìn)行解碼生成了參照幀圖像數(shù)據(jù)后,對(duì)目標(biāo)的P11幀進(jìn)行解碼。
與此相對(duì),在利用代理文件重放輸出P11幀的情況下,可以如圖20B所示,從代理文件中抽出作為與P11幀對(duì)應(yīng)的幀內(nèi)壓縮了的I圖像的I11幀進(jìn)行解碼,并重放輸出。
因此,在利用代理文件重放輸出P11幀的情況下,與現(xiàn)有的解碼次數(shù)為4次相比,解碼次數(shù)只有一次,能夠高速地重放輸出指定的幀。
接著,參照?qǐng)D21,說(shuō)明在原始的比特流中對(duì)B圖像進(jìn)行解碼的情況。
例如,在MPEG2 LongGOP的比特流中重放輸出B12幀的情況下,在現(xiàn)有技術(shù)中,能夠如圖21A所示,對(duì)作為包含B12的GOP的先頭的I圖像的I2幀進(jìn)行解碼,接著,在對(duì)P5、P8、P11、P14幀進(jìn)行解碼生成了參照幀圖像數(shù)據(jù)后,對(duì)目標(biāo)的B12幀進(jìn)行解碼。
與此相對(duì),在利用代理文件重放輸出B12幀的情況下,可以如圖21B所示,對(duì)與作為B12幀的參照?qǐng)D像而必需的P11幀和P14幀對(duì)應(yīng)的作為幀內(nèi)壓縮了的I圖像的I11幀和I14幀進(jìn)行解碼,將它們作為參照?qǐng)D像對(duì)目標(biāo)的B12幀進(jìn)行解碼而重放輸出。
因此,在利用代理文件重放輸出B12幀的情況下,與現(xiàn)有的解碼次數(shù)為6次相比,解碼次數(shù)為3次,能夠高速地重放輸出指定的幀。
可以通過(guò)硬件執(zhí)行上述一連串的處理,也可以通過(guò)軟件執(zhí)行。在該情況下,例如可以由用圖9說(shuō)明的個(gè)人計(jì)算機(jī)201實(shí)現(xiàn)與變換裝置311一樣的功能。
圖22表示了用于說(shuō)明在用圖9說(shuō)明了的個(gè)人計(jì)算機(jī)201中,通過(guò)軟件實(shí)現(xiàn)與變換裝置311一樣的功能的情況下的功能的一個(gè)例子的功能框圖。
另外,對(duì)與圖16或圖9的情況對(duì)應(yīng)的部分附加同一符號(hào),并適當(dāng)?shù)厥÷云湔f(shuō)明。
通過(guò)由CPU221執(zhí)行規(guī)定的程序,個(gè)人計(jì)算機(jī)201具有與圖16的比特流分析部件332、解碼器334和編碼器336一樣的功能。
CPU221根據(jù)通過(guò)鼠標(biāo)202或鍵盤(pán)203等輸入設(shè)備輸入的用戶的操作,利用與參照?qǐng)D像用存儲(chǔ)器335對(duì)應(yīng)的RAM223的區(qū)域,對(duì)記錄在存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意的區(qū)域?qū)?yīng)的比特流存儲(chǔ)部件281中的比特流中的I圖像和P圖像進(jìn)行解碼,只將P圖像編碼為I圖像,由此生成代理文件,并存儲(chǔ)到存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337中。
進(jìn)而,CPU221在每次通過(guò)幀內(nèi)編碼將與P圖像對(duì)應(yīng)的非壓縮基帶圖像數(shù)據(jù)編碼為I圖像而生成I圖像時(shí),作為與所生成的I圖像有關(guān)的編碼信息,將圖像大小(Proxy File Picture Size)、這些幀的地址(Proxy File Address)作為代理索引保存到與代理索引存儲(chǔ)部件338對(duì)應(yīng)的RAM223的區(qū)域中,同時(shí)對(duì)比特流進(jìn)行分析,取得保存在代理索引存儲(chǔ)部件338中的代理索引,生成索引文件,并存儲(chǔ)到存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的索引文件存儲(chǔ)部件333中。
重放裝置61的解碼控制部件72經(jīng)由規(guī)定的傳送介質(zhì),取得記錄在存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的索引文件存儲(chǔ)部件333中的索引文件。另外,解碼控制部件72或解碼處理部件76在圖13的步驟S129中利用代理文件執(zhí)行代替顯示的情況下,經(jīng)由規(guī)定的傳送介質(zhì),取得存儲(chǔ)在存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337中的代理文件,執(zhí)行解碼處理。
另外,例如在用圖9說(shuō)明的個(gè)人計(jì)算機(jī)201在圖22所示的功能的基礎(chǔ)上還具有用圖10說(shuō)明的執(zhí)行解碼處理的功能的情況下,圖10的個(gè)人計(jì)算機(jī)201的解碼控制部件72從存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的索引文件存儲(chǔ)部件333中取得索引文件。另外,解碼控制部件72或解碼處理部件76在圖13的步驟S129中利用代理文件執(zhí)行代替顯示的情況下,從存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337中取得代理文件,執(zhí)行解碼處理。
接著,參照?qǐng)D23的流程圖,說(shuō)明在用圖16說(shuō)明的變換裝置311、或用圖9和圖22說(shuō)明了的個(gè)人計(jì)算機(jī)的CPU221中執(zhí)行的代理文件生成處理1。
在步驟S221中,比特流取得部件331(CPU221)取得原始的比特流,提供給比特流分析部件332(CPU221的比特流分析部件332)。
在步驟S222中,比特流分析部件332(CPU221的比特流分析部件332)讀入所提供的原始的比特流中的一個(gè)圖像。
在步驟S223中,比特流分析部件332(CPU221的比特流分析部件332)對(duì)讀入了的圖像進(jìn)行分析。即,比特流分析部件332取得用圖17說(shuō)明了的索引文件中的對(duì)應(yīng)的圖像的信息。
在步驟S224中,比特流分析部件332(CPU221的比特流分析部件332)判斷讀入了的圖像是I圖像還是P圖像。在步驟S224中判斷出不是I圖像或P圖像,即是B圖像的情況下,處理前進(jìn)到后述的步驟S230。
在步驟S224中判斷出是I圖像或P圖像的情況下,在步驟S225中,比特流分析部件332(CPU221的比特流分析部件332)將讀入了的I圖像或P圖像提供給解碼器334。解碼器334對(duì)所提供的I圖像或P圖像進(jìn)行解碼,并存儲(chǔ)在參照?qǐng)D像用存儲(chǔ)器335中。
在步驟S226中,解碼器334(CPU221的解碼器334)判斷解碼了的圖像是否是P圖像。在步驟S226中,在判斷出解碼了的圖像不是P圖像,即是I圖像的情況下,處理前進(jìn)到后述的步驟S230。
在步驟S226中判斷出解碼了的圖像是P圖像的情況下,在步驟S227中,解碼器334(CPU221的解碼器334)將與解碼了的P圖像對(duì)應(yīng)的非壓縮圖像幀提供給編碼器336(CPU221的編碼器336)。編碼器336將所提供的非壓縮圖像幀編碼為I圖像,提供給代理文件存儲(chǔ)部件337(存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337)。
在步驟S228中,代理文件存儲(chǔ)部件337(存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337)存儲(chǔ)由解碼生成的I圖像構(gòu)成的代理文件。
在步驟S229中,作為與所生成的I圖像有關(guān)的編碼信息,編碼器336將圖像大小(Proxy File Picture Size)、這些幀的地址(Proxy File Address)的索引信息,即代理索引提供給代理索引存儲(chǔ)部件338。代理索引存儲(chǔ)部件338存儲(chǔ)該圖像的代理索引。
在步驟S224中判斷出讀入的圖像不是I圖像或P圖像,即是B圖像的情況下,在步驟S226中判斷出解碼了的圖像不是P圖像,即是I圖像的情況下,或者在步驟S229的處理結(jié)束后,在步驟S230中,比特流分析部件332(CPU221)判斷全部的圖像的處理是否結(jié)束了。在步驟S230中判斷出全部的圖像的處理還沒(méi)有結(jié)束的情況下,處理返回到步驟S222,重復(fù)進(jìn)行以后處理。
在步驟S230中判斷出全部的圖像的處理結(jié)束了的情況下,在步驟S231中,比特流分析部件332(CPU221的比特流分析部件332)根據(jù)各個(gè)圖像的分析結(jié)果、存儲(chǔ)在代理索引存儲(chǔ)部件338中的由編碼器336編碼為I圖像的幀,即從P圖像變換為I圖像的幀的圖像大小(Proxy File Picture Size)和地址(Proxy File Address),生成用圖17說(shuō)明了的索引文件,并提供給索引文件存儲(chǔ)部件333(存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的索引文件存儲(chǔ)部件333)進(jìn)行存儲(chǔ),結(jié)束處理。
通過(guò)這樣的處理,在對(duì)原始的比特流中的P圖像進(jìn)行了解碼后,生成記載有通過(guò)編碼為I圖像而生成的I圖像的代理文件、與包含在原始比特流和代理文件中的I圖像(在原始的比特流中是P圖像)有關(guān)的信息的索引文件。
這樣,變換裝置311接受壓縮了的比特流的供給,分析它而生成索引文件,同時(shí)將P圖像變換為I圖像生成代理文件。
另外,適用了本發(fā)明的個(gè)人計(jì)算機(jī)201可以通過(guò)執(zhí)行規(guī)定的程序而具有與變換裝置311一樣的功能。
在變換裝置311中,根據(jù)所提供的原始的比特流,只對(duì)I圖像和P圖像進(jìn)行解碼,并再次將與P圖像對(duì)應(yīng)的幀編碼為I圖像,由此生成代理文件。
這時(shí),生成的代理文件的I圖像的數(shù)據(jù)速率可以是固定速率,也可以與原始的比特流的對(duì)應(yīng)的GOP的先頭的I圖像的幀速率對(duì)應(yīng)地變動(dòng)(可變速率)。
另外,在變換裝置311中生成的索引文件中,不只是原始的比特流的解碼所需要的信息,還包含代理文件中所包含的I圖像,即與將在原始的比特流中是P圖像的幀編碼為I圖像的幀有關(guān)的圖像大小和地址等的信息。
通過(guò)在流的解碼中利用代理文件,能夠縮短隨機(jī)生成的解碼時(shí)間。
另外,如上所述,進(jìn)行將P圖像變換為I圖像的PI變換,并一邊切換變換前的流和變換后的部分一邊用于解碼處理,由此能夠縮短解碼時(shí)間提高隨機(jī)訪問(wèn)性能。但是,在進(jìn)行編輯和重放之前,將原始的流中的P圖像的部分變換為I圖像的處理需要花費(fèi)時(shí)間。例如如果1GOP為15幀的流中的P圖像是5幀,則需要花費(fèi)用于對(duì)全部該5幀進(jìn)行解碼變換為I圖像(解碼后的再次編碼)的時(shí)間。
因此,圖16的比特流分析部件332在進(jìn)行PI變換時(shí),也可以控制解碼器334、編碼器336、代理文件存儲(chǔ)部件337,使得不將全部的P圖像變換為I圖像,而是根據(jù)需要只將一部分的P圖像變換為I圖像生成代理文件并存儲(chǔ)。
進(jìn)行PI變換的處理時(shí)間依賴于變換為I圖像(解碼后的再次編碼)的P圖像的個(gè)數(shù),因此如果減少變換的圖像的張數(shù),則能夠縮短處理時(shí)間(代理文件的生成時(shí)間)。理想的是比特流分析部件332將解碼變換后的流所需要的最長(zhǎng)幀數(shù)沒(méi)有超過(guò)解碼器的能力,作為用于決定變換的圖像張數(shù)的判斷基準(zhǔn)。解碼變換后的流所需要的最長(zhǎng)幀數(shù)(以下,也稱為能夠解碼幀數(shù))例如也根據(jù)重放模式是擾亂重放還是通常重放而不同。
具體地說(shuō),能夠解碼幀數(shù)例如可以預(yù)先設(shè)置(直接指定幀數(shù)),也可以是通過(guò)上位應(yīng)用程序指定。例如,可以根據(jù)用于解碼處理的解碼器或CPU的個(gè)數(shù)、時(shí)鐘頻率來(lái)設(shè)置能夠解碼幀數(shù)。在這樣的情況下,比特流分析部件332不需要計(jì)算出能夠解碼幀數(shù),而可以取得指定的能夠解碼幀數(shù)。
與此相對(duì),例如在只指定了能夠從上位應(yīng)用程序提供給解碼處理的時(shí)間分配T(例如20ms)的情況下,比特流分析部件332必須計(jì)算出能夠解碼幀數(shù)。
另外,這時(shí),比特流分析部件332如果選擇變換為I圖像的P圖像使得變換的P圖像盡量不連續(xù),則與能夠解碼幀數(shù)對(duì)應(yīng)的變換為I圖像的P圖像的個(gè)數(shù)變少,是適合的。
參照?qǐng)D24,說(shuō)明1GOP為15幀,P圖像的個(gè)數(shù)N=4的情況(IBBPBBPBBPBBPBB)下的PI變換的變形。
例如在不進(jìn)行PI變換的情況下,有效的序列(除了B圖像以外的I圖像和P圖像的5幀的圖像類型)是IPPPP,最長(zhǎng)解碼時(shí)間是在是Open GOP并且不是流的先頭的GOP的情況下對(duì)在流順序中接著I圖像后面的2張B圖像(例如圖20、圖21中的B0B1)進(jìn)行解碼時(shí)的7幀的解碼時(shí)間。
另外,如上所述,在對(duì)4張P圖像的全部進(jìn)行PI變換的情況下,有效序列是IIIII,最長(zhǎng)解碼時(shí)間是對(duì)任意的B圖像進(jìn)行解碼的情況下的3幀的解碼時(shí)間。
與此相對(duì),通過(guò)不對(duì)變換對(duì)象的P圖像的全部進(jìn)行變換,而是減少為一定個(gè)數(shù),則隨機(jī)解碼的最長(zhǎng)解碼時(shí)間如圖24所示那樣變動(dòng)。即,在只對(duì)4張P圖像中的1張進(jìn)行PI變換的情況下,通過(guò)選擇變換為I圖像的P圖像使得變換的P圖像盡量不連續(xù),有效序列成為IPIPP或IPPIP,最長(zhǎng)解碼時(shí)間成為5幀的解碼時(shí)間。另外,在只對(duì)4張P圖像中的2張進(jìn)行PI變換的情況下,通過(guò)選擇變換為I圖像的P圖像使得變換的P圖像盡量不連續(xù),有效序列成為IPIIP、IIPIP或IPIPI,最長(zhǎng)解碼時(shí)間成為4幀的解碼時(shí)間。
另外,在只對(duì)4張P圖像中的1張進(jìn)行PI變換的情況下,以及在只對(duì)4張P圖像中的2張進(jìn)行PI變換的情況下,最長(zhǎng)解碼時(shí)間縮短的只有選擇變換為I圖像的P圖像使得變換的P圖像盡量不連續(xù)的情況,即圖24所示的有效序列的情況,例如如果是對(duì)2個(gè)圖像進(jìn)行PI變換的情況,則是選擇變換的P圖像使得在變換后的序列中P圖像不連續(xù)有2張的情況,如果是對(duì)1個(gè)圖像進(jìn)行PI變換的情況,則是選擇變換的P圖像使得在變換后的序列中P圖像不連續(xù)有3張的情況。
接著,參照?qǐng)D25~圖29,說(shuō)明不對(duì)變換的對(duì)象的P圖像的全部進(jìn)行變換,而減少為一定個(gè)數(shù)的情況的具體解碼處理。
參照?qǐng)D25,說(shuō)明只對(duì)4張P圖像中的1張進(jìn)行PI變換而有效序列為IPIPP的情況的解碼處理。
如圖25A所示,在顯示順序中,將包含在排列為B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15張的幀中的4張P圖像中的P8圖像變換為I圖像,作為代理文件準(zhǔn)備I8圖像的情況下,解碼時(shí)間最長(zhǎng)的是對(duì)B0或B1進(jìn)行解碼的情況,這時(shí)需要進(jìn)行解碼的是如圖25B所示,在作為參照?qǐng)D像的I8、P11、P14、I2的基礎(chǔ)上,還有B0或B1(在圖25B中,圖示為B0)的5個(gè)圖像。
接著,參照?qǐng)D26,說(shuō)明同樣只對(duì)4張P圖像中的1張進(jìn)行PI變換,有效序列為IPPIP的情況下的解碼處理。
如圖26A所示,在顯示順序中,將包含在排列為B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15張的幀中的4張P圖像中的P11圖像變換為I圖像,作為代理文件準(zhǔn)備I11圖像的情況下,解碼時(shí)間最長(zhǎng)的是對(duì)B9或B10進(jìn)行解碼的情況,這時(shí)需要進(jìn)行解碼的是如圖26B所示,在作為參照?qǐng)D像的I2、P5、P8、I11的基礎(chǔ)上,還有B9或B10(在圖26B中,圖示為B9)的5個(gè)圖像。
另外,在只對(duì)4張P圖像中的1張進(jìn)行PI變換的全部情況下,最長(zhǎng)解碼時(shí)間不應(yīng)該是5張。即,最長(zhǎng)解碼時(shí)間為5張的是如圖25和圖26所示,只有變換后的P圖像不連續(xù)有3張的情況。在除此以外的情況下,例如變換后的序列為IIPPP的情況或IPPPI的情況等下,產(chǎn)生了最長(zhǎng)解碼時(shí)間為需要6張的情況,減少了PI變換的效果。
接著,參照?qǐng)D27,說(shuō)明對(duì)4張P圖像中的2張進(jìn)行PI變換,有效序列為IPIIP的情況下的解碼處理。
如圖27A所示,在顯示順序中,將包含在排列為B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15張的幀中的4張P圖像中的P8圖像和P11圖像變換為I圖像,作為代理文件準(zhǔn)備I8圖像和I11圖像的情況下,解碼時(shí)間最長(zhǎng)的是對(duì)B6或B7、或者B0或B1進(jìn)行解碼的情況,這時(shí)需要進(jìn)行解碼的是如圖27B所示,在作為參照?qǐng)D像的I2、P5、I8的基礎(chǔ)上,還有B6或B7(在圖27B中,圖示為B6)的4個(gè)圖像,或者在作為參照?qǐng)D像的I11、P14、I2的基礎(chǔ)上,還有B0或B1(在圖27B中,圖示為B0)的4個(gè)圖像。
同樣,圖28是用于說(shuō)明對(duì)4張P圖像中的2張進(jìn)行PI變換,有效序列為IIPIP的情況下的解碼處理的圖,圖29是用于說(shuō)明對(duì)4張P圖像中的2張進(jìn)行PI變換,有效序列為IPIPI的情況下的解碼處理的圖。
如圖28A所示,在顯示順序中,將包含在排列為B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15張的幀中的4張P圖像中的P5圖像和P11圖像變換為I圖像,作為代理文件準(zhǔn)備I5圖像和I11圖像的情況下,解碼時(shí)間最長(zhǎng)的是對(duì)B9或B10、或者B0或B1進(jìn)行解碼的情況,這時(shí)需要進(jìn)行解碼的是如圖28B所示,在作為參照?qǐng)D像的I5、P8、I11的基礎(chǔ)上,還有B9或B10(在圖28B中,圖示為B9)的4個(gè)圖像,或者在作為參照?qǐng)D像的I11、P14、I2的基礎(chǔ)上,還有B0或B1(在圖28B中,圖示為B0)的4個(gè)圖像。
另外,如圖29A所示,在顯示順序中,將包含在排列為B0、B1、I2、B3、B4、P5、B6、B7、P8、B9......的15張的幀中的4張P圖像中的P8圖像和P14圖像變換為I圖像,作為代理文件準(zhǔn)備I8圖像和I14圖像的情況下,解碼時(shí)間最長(zhǎng)的是對(duì)B6或B7、或者B12或B13進(jìn)行解碼的情況,這時(shí)需要進(jìn)行解碼的是如圖29B所示,在作為參照?qǐng)D像的I2、P5、I8的基礎(chǔ)上,還有B6或B7(在圖29B中,圖示為B6)的4個(gè)圖像,或者在作為參照?qǐng)D像的I8、P11、I14的基礎(chǔ)上,還有B12或B13(在圖29B中,圖示為B12)的4個(gè)圖像。
另外,在該情況下,同樣地在對(duì)4張P圖像中的2張進(jìn)行PI變換的全部情況下最長(zhǎng)解碼時(shí)間不應(yīng)該是4張圖像。即,最長(zhǎng)解碼時(shí)間為4張的是如圖27~圖29所示,只有變換后的P圖像不連續(xù)有2張的情況。在除此以外的情況下,例如在變換后的序列為IIPPI的情況或IPPII的情況等下,減少了PI變換的效果。
另外,在圖25~圖29中,說(shuō)明了I圖像或P圖像之間的B圖像的個(gè)數(shù)分別是2個(gè)的情況,但即使I圖像或P圖像之間的B圖像的個(gè)數(shù)為2張以上的若干個(gè),由于連續(xù)的B圖像的解碼所需要的參照?qǐng)D像的張數(shù)是一樣的,所以各個(gè)情況下的最長(zhǎng)解碼時(shí)間當(dāng)然是一樣的。
接著,參照?qǐng)D30的流程圖,說(shuō)明變換的P圖像的設(shè)置處理。
在步驟S281中,執(zhí)行與用圖15說(shuō)明的情況一樣的能夠解碼幀數(shù)計(jì)算處理,求出能夠解碼幀數(shù)。
另外,變換裝置311的比特流分析部件332例如在預(yù)先確定了能夠解碼幀數(shù),或者從上位應(yīng)用程序指定的情況下,在步驟S281中不執(zhí)行能夠解碼幀數(shù)計(jì)算處理,可以取得預(yù)先確定或從上位應(yīng)用程序指定的能夠解碼幀數(shù)。
假設(shè)由比特流取得部件331取得的比特流的1GOP中的P圖像的個(gè)數(shù)為N,能夠解碼幀數(shù)為X,則在步驟S282中,變換裝置311的比特流分析部件332判斷是否是N+3>X。
在步驟S282中判斷出不是N+3>X的情況下,在步驟S283中,比特流分析部件332不進(jìn)行PI變換,結(jié)束處理。
在是N+3≤X的情況下,在不進(jìn)行PI變換的比特流中解碼時(shí)間最長(zhǎng)的幀的解碼處理所需要的時(shí)間比對(duì)能夠解碼幀數(shù)X進(jìn)行解碼所需要的時(shí)間還短。即,在這樣的情況下,不需要進(jìn)行PI變換。
在步驟S282中判斷出是N+3>X的情況下,換一種說(shuō)法,在判斷出在不進(jìn)行PI變換的比特流中解碼時(shí)間最長(zhǎng)的幀的解碼處理所需要的時(shí)間比對(duì)能夠解碼幀數(shù)X進(jìn)行解碼所需要的時(shí)間長(zhǎng)的情況下,在步驟S284中,比特流分析部件332將PI變換后的序列中來(lái)得及進(jìn)行解碼處理的P圖像的最大連續(xù)數(shù)的PI跳過(guò)(skip)數(shù)S假設(shè)為X-3。
在步驟S285中,比特流分析部件332在S=X-3的情況下,判斷是否是N/S>1。
在步驟S285中判斷出是N/S>1的情況下,在步驟S286中,比特流分析部件332將PI跳過(guò)數(shù)S設(shè)置為X-3。
在步驟S285中判斷出不是N/S>1的情況下,在步驟S287中,比特流分析部件332將PI跳過(guò)數(shù)S設(shè)置為N/2(其中在不是整數(shù)的情況下為接近值的整數(shù))。
在步驟S286或步驟S287的處理結(jié)束后,在步驟S288中,比特流分析部件332根據(jù)PI跳過(guò)數(shù)S設(shè)置變換的P圖像,結(jié)束處理。
通過(guò)這樣的處理,根據(jù)能夠解碼幀數(shù)和1GOP中的P圖像的個(gè)數(shù),求出在PI變換后的序列中來(lái)得及進(jìn)行解碼處理的P圖像的最大連續(xù)數(shù)的PI跳過(guò)數(shù),根據(jù)它設(shè)置變換為I圖像的P圖像。這樣,在盡量減少PI變換的P圖像的個(gè)數(shù)的情況下,與全部將P圖像復(fù)原為I圖像的情況相比,能夠削減用于生成代理文件的時(shí)間。
使用圖31,說(shuō)明變換為I圖像的P圖像的具體設(shè)置的例子,即包含在1GOP中的P圖像的個(gè)數(shù)N是N=11的情況下的能夠解碼幀數(shù)X與PI跳過(guò)數(shù)S的關(guān)系、以及變換為I圖像的P圖像的設(shè)置。
例如在X=4,S=1的情況下,由于PI變換后的P圖像不連續(xù)存在,所以PI變換后的序列為IPIPIPIPIPIP。另外,例如在X=5,S=2的情況下,由于PI變換后的P圖像只會(huì)連續(xù)存在2張,所以PI變換后的序列為IPPIPPIPPIPP。另外,例如在X=6,S=3的情況下,由于PI變換后的P圖像只會(huì)最多連續(xù)存在3張,所以PI變換后的序列為IPPPIPPPIPPP。
另外,例如在X=7,S=4的情況下,由于PI變換后的P圖像最多可以連續(xù)存在4張,所以PI變換后的序列可以單純地為IPPPPIPPPPIP,如果P圖像的連續(xù)數(shù)小于等于4張,并且變換為I圖像的個(gè)數(shù)小于等于2張,則也可以是除此以外的序列(例如IPPPPIPPPIPP等)。其中,連續(xù)的P圖像的個(gè)數(shù)理想的是盡量少,因此在X=7,S=4的情況下,與X=6,S=3的情況一樣,有效序列為IPPPIPPPIPPP的情況使得PI變換的圖像數(shù)是一樣的,能夠進(jìn)一步縮短最長(zhǎng)解碼時(shí)間,是適合的。
另外,例如在X=8,S=5的情況下,由于PI變換后的P圖像最多可以連續(xù)存在5張,所以PI變換后的序列為IPPPPPIPPPPP,進(jìn)而,例如在X=9,S=5的情況下,在上述步驟S285中判斷為N/S>1,因此,比特流分析部件332根據(jù)N/2(其中在不是整數(shù)的情況下,是接近值的整數(shù)),將PI跳過(guò)數(shù)S設(shè)置為S=5。另外,在14(=N+3)>X≥10的情況下,在上述步驟S285中判斷為N/S>1,因此比特流分析部件332將PI跳過(guò)數(shù)S設(shè)置為S=5。這時(shí),PI變換后的序列為IPPPPPIPPPPP。
另外,在X≥14(=N+3)的情況下,判斷為不需要進(jìn)行PI變換。
接著,參照?qǐng)D32的流程圖,說(shuō)明在用圖16說(shuō)明的變換裝置311、或用圖9和圖22說(shuō)明的個(gè)人計(jì)算機(jī)的CPU221中執(zhí)行的代理文件生成處理2。
在步驟S331~步驟S336中,執(zhí)行與用圖23說(shuō)明了的步驟221~步驟S226一樣的處理。
即,比特流取得部件331(CPU221)取得原始的比特流,提供給比特流分析部件332(CPU221的比特流分析部件332)。比特流分析部件332(CPU221的比特流分析部件332)讀入所提供的原始的比特流中的1個(gè)圖像進(jìn)行分析。即,比特流分析部件332取得用圖17說(shuō)明了的索引文件中的對(duì)應(yīng)的圖像的信息。
然后,比特流分析部件332(CPU221的比特流分析部件332)判斷讀入的圖像是I圖像還是P圖像。在判斷出不是I圖像或P圖像,即是B圖像的情況下,處理前進(jìn)到后述的步驟S341。
在判斷出是I圖像或P圖像的情況下,比特流分析部件332(CPU221的比特流分析部件332)將讀入的I圖像或P圖像提供給解碼器334。解碼器334對(duì)提供的I圖像或P圖像進(jìn)行解碼,存儲(chǔ)在參照?qǐng)D像用存儲(chǔ)器335中。
然后,解碼器334(CPU221的解碼器334)判斷解碼了的圖像是否是P圖像。在判斷出解碼了的圖像不是P圖像,即是I圖像的情況下,處理前進(jìn)到后述的步驟S341。在步驟S336中判斷出解碼了的圖像是P圖像的情況下,在步驟S337中,解碼器334(CPU221的解碼器334)根據(jù)比特流分析部件332的控制,判斷該P(yáng)圖像是否是上述的在變換的P圖像的設(shè)置處理中被設(shè)置為變換為I圖像的需要進(jìn)行變換的P圖像。在步驟S337中判斷出不是需要進(jìn)行變換的P圖像的情況下,處理前進(jìn)到后述的步驟S341。
在步驟S337中判斷出是需要進(jìn)行變換的P圖像的情況下,在步驟S338中,解碼器334(CPU221的解碼器334)將與解碼后的P圖像對(duì)應(yīng)的非壓縮圖像幀提供給編碼器336(CPU221的編碼器336)。編碼器336將所提供的非壓縮圖像幀編碼為I圖像,并提供給代理文件存儲(chǔ)部件337(存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337)。
在步驟S339中,代理文件存儲(chǔ)部件337(存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的代理文件存儲(chǔ)部件337)存儲(chǔ)由編碼生成的I圖像構(gòu)成的代理文件。
在步驟S340中,作為與生成的I圖像有關(guān)的編碼信息,編碼器336將圖像大小(Proxy File Picture Size)、這些幀的地址(ProxyFile Address)的索引信息,即代理索引提供給代理索引存儲(chǔ)部件338。代理索引存儲(chǔ)部件338存儲(chǔ)該圖像的代理索引。
在步驟S334中判斷出讀入的圖像不是I圖像或P圖像,即是B圖像的情況下,在步驟S336中判斷出解碼了的圖像不是P圖像,即是I圖像的情況下,在步驟S337中判斷出不是需要進(jìn)行變換的P圖像的情況下,或者在步驟S340的處理結(jié)束后,在步驟S341中,比特流分析部件332(CPU221)判斷全部的圖像的處理是否結(jié)束了。在步驟S341中判斷出全部的圖像的處理還沒(méi)有結(jié)束的情況下,處理返回到步驟S332,重復(fù)進(jìn)行以后的處理。
在步驟S341中判斷出全部的圖像的處理結(jié)束了的情況下,在步驟S342中,比特流分析部件332(CPU221的比特流分析部件332)根據(jù)各個(gè)圖像的分析結(jié)果、存儲(chǔ)在代理索引存儲(chǔ)部件338中的由編碼器336編碼為I圖像的幀,即從P圖像變換為I圖像的幀的圖像大小(Proxy File Picture Size)和地址(Proxy File Address),生成用圖17說(shuō)明了的索引文件,并提供給索引文件存儲(chǔ)部件333(存儲(chǔ)裝置204、外部影像記錄重放裝置205或與HDD226中的任意區(qū)域?qū)?yīng)的索引文件存儲(chǔ)部件333)進(jìn)行存儲(chǔ),結(jié)束處理。
通過(guò)這樣的處理,在對(duì)原始的比特流中的P圖像中的被設(shè)置為變換為I圖像的P圖像進(jìn)行了解碼后,生成了記載有通過(guò)編碼為I圖像而生成的I圖像的代理文件、與包含在原始比特流和代理文件中的I圖像(在原始的比特流中是P圖像)有關(guān)的信息的索引文件。
另外,在此說(shuō)明了在圖13的步驟S129的處理中執(zhí)行代替顯示的情況下能夠利用代理文件,但例如在圖11的步驟S44或圖13的步驟S124的處理中,決定為使用近旁的I圖像和P圖像或只使用I圖像執(zhí)行解碼處理的情況下,當(dāng)然也能夠利用代理文件。進(jìn)而,在不執(zhí)行代替顯示,而執(zhí)行參照?qǐng)D像的解碼,重放輸出希望的幀的情況下,通過(guò)適當(dāng)?shù)乩么砦募?,能夠縮短解碼的時(shí)間,在擾亂重放等中進(jìn)行高速的解碼處理。
另外,在此,主要說(shuō)明了由I圖像、P圖像和B圖像構(gòu)成的MPEG2 LongGOP的情況,但本發(fā)明也可以適用于對(duì)通過(guò)幀間參照而解碼了的壓縮編碼數(shù)據(jù)進(jìn)行重放的情況。
可以如上所述通過(guò)硬件執(zhí)行上述一連串的處理,也可以通過(guò)軟件執(zhí)行。
在通過(guò)軟件執(zhí)行一連串的處理的情況下,可以從網(wǎng)絡(luò)或記錄介質(zhì)將構(gòu)成該軟件的程序安裝到組裝在專用的硬件中的計(jì)算機(jī)、或通過(guò)安裝各種程序而能夠執(zhí)行各種功能的例如通用的個(gè)人計(jì)算機(jī)等中。
該記錄介質(zhì)如圖9所示,不只可以由與裝置本體分開(kāi)的用于向用戶提供程序而發(fā)布的記錄有程序的磁盤(pán)(包含軟盤(pán))、光盤(pán)(CD-ROM)、DVD(包含數(shù)字通用盤(pán)(Digital Versatile Disk))、光磁盤(pán)(包含MD(Mini-Disk))或半導(dǎo)體存儲(chǔ)器等構(gòu)成的可移動(dòng)介質(zhì)206構(gòu)成,還可以由在預(yù)先安裝在裝置本體中的狀態(tài)下向用戶提供的記錄有程序的ROM222、包含在HDD226中的硬盤(pán)等構(gòu)成。
另外,在本說(shuō)明書(shū)中,記述記錄在記錄介質(zhì)中的程序的步驟包含沿著所記載的順序以時(shí)間順序進(jìn)行的處理,當(dāng)然還包含不必須按照時(shí)間順序進(jìn)行處理而并列或分別執(zhí)行的處理。
另外,在本說(shuō)明書(shū)中,系統(tǒng)是指由多個(gè)裝置構(gòu)成的裝置全體。
另外,本發(fā)明的實(shí)施例并不只限于上述的實(shí)施例,在不脫離本發(fā)明的宗旨的范圍中,能夠進(jìn)行各種變形。
權(quán)利要求
1.一種程序,使計(jì)算機(jī)執(zhí)行包含以下步驟的處理接受表示編碼流的重放狀態(tài)的重放信息的輸入的重放信息輸入步驟;根據(jù)通過(guò)上述重放信息輸入步驟的處理輸入的上述重放信息,取得表示對(duì)上述編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息取得步驟;根據(jù)通過(guò)上述參照?qǐng)D像信息取得步驟的處理取得的上述參照?qǐng)D像信息,判斷上述參照?qǐng)D像是否存儲(chǔ)在規(guī)定的存儲(chǔ)區(qū)域中的判斷步驟;在通過(guò)上述判斷步驟的處理判斷出上述參照?qǐng)D像沒(méi)有存儲(chǔ)在上述存儲(chǔ)區(qū)域中的情況下,從上述編碼流中取得沒(méi)有存儲(chǔ)在上述存儲(chǔ)區(qū)域中的上述參照?qǐng)D像進(jìn)行解碼處理,控制向上述存儲(chǔ)區(qū)域中存儲(chǔ)的參照?qǐng)D像解碼步驟;利用存儲(chǔ)在上述存儲(chǔ)區(qū)域中的上述參照?qǐng)D像,通過(guò)對(duì)上述編碼流的對(duì)象圖像進(jìn)行解碼處理而生成圖像數(shù)據(jù),控制向上述存儲(chǔ)區(qū)域中存儲(chǔ)的解碼步驟。
2.根據(jù)權(quán)利要求1記載的程序,其特征在于在上述參照?qǐng)D像解碼步驟和上述解碼步驟的處理中,通過(guò)多個(gè)解碼方法執(zhí)行解碼處理,還包含根據(jù)通過(guò)上述重放信息輸入步驟的處理輸入的上述重放信息,決定上述編碼流的解碼順序和解碼方法的第一決定步驟,其中根據(jù)由上述第一決定步驟的處理決定了的上述解碼順序和上述解碼方法執(zhí)行上述參照?qǐng)D像解碼步驟和上述解碼步驟的處理。
3.根據(jù)權(quán)利要求2記載的程序,其特征在于在上述判斷步驟的處理中,判斷在通過(guò)上述第一決定步驟的處理決定的上述解碼方法中解碼了的上述參照?qǐng)D像是否存儲(chǔ)在上述存儲(chǔ)區(qū)域中。
4.根據(jù)權(quán)利要求2記載的程序,其特征在于在上述參照?qǐng)D像解碼步驟和上述解碼步驟的處理中,可以根據(jù)基于上述第一決定步驟的處理的決定,執(zhí)行分辨率不同的多個(gè)解碼處理中的任意一個(gè)。
5.根據(jù)權(quán)利要求2記載的程序,其特征在于在上述參照?qǐng)D像解碼步驟和上述解碼步驟的處理中,可以根據(jù)基于上述第一決定步驟的處理的決定,執(zhí)行與多個(gè)編碼方式對(duì)應(yīng)的解碼處理中的任意一個(gè)。
6.根據(jù)權(quán)利要求2記載的程序,其特征在于在上述編碼流中包含I圖像、P圖像和B圖像,在上述解碼步驟的處理中,在上述編碼流的對(duì)象圖像是B圖像的情況下,對(duì)相對(duì)于上述對(duì)象圖像在時(shí)間上存在于近旁的I圖像或P圖像進(jìn)行解碼。
7.根據(jù)權(quán)利要求2記載的程序,其特征在于在上述編碼流中包含幀內(nèi)編碼了的圖像和幀間預(yù)測(cè)編碼了的圖像,在上述解碼步驟的處理中,在上述編碼流的對(duì)象圖像是幀間預(yù)測(cè)編碼了的圖像的情況下,對(duì)相對(duì)于上述對(duì)象圖像在時(shí)間上存在于近旁的幀內(nèi)編碼了的圖像進(jìn)行解碼。
8.根據(jù)權(quán)利要求2記載的程序,其特征在于還包含以下步驟根據(jù)包含在上述參照?qǐng)D像信息中的過(guò)去側(cè)的參照幀數(shù)和在與1幀對(duì)應(yīng)的圖像的顯示內(nèi)能夠執(zhí)行解碼處理的幀數(shù),決定上述編碼流的解碼方法的第二決定步驟。
9.根據(jù)權(quán)利要求8記載的程序,其特征在于還包含以下步驟計(jì)算出能夠在與1幀對(duì)應(yīng)的圖像的顯示時(shí)間內(nèi)執(zhí)行解碼處理的幀數(shù)的計(jì)算步驟。
10.根據(jù)權(quán)利要求8記載的程序,其特征在于還包含以下步驟計(jì)算出包含在上述參照?qǐng)D像信息中的過(guò)去側(cè)的參照幀數(shù)的計(jì)算步驟。
11.一種解碼裝置,對(duì)編碼流進(jìn)行解碼處理,其特征在于包括接受表示上述編碼流的重放狀態(tài)的重放信息的輸入的重放信息輸入裝置;管理表示對(duì)上述編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息管理裝置;對(duì)上述編碼流進(jìn)行解碼處理而生成圖像數(shù)據(jù)的解碼裝置;存儲(chǔ)由上述解碼裝置生成的上述圖像數(shù)據(jù)的存儲(chǔ)裝置;管理由上述存儲(chǔ)裝置存儲(chǔ)的上述圖像數(shù)據(jù)的存儲(chǔ)狀態(tài)的存儲(chǔ)管理裝置;通過(guò)參照由上述參照?qǐng)D像信息管理裝置管理的上述參照?qǐng)D像信息和由上述存儲(chǔ)管理裝置管理的上述存儲(chǔ)狀態(tài),來(lái)控制上述解碼裝置的解碼處理的解碼控制裝置,其中上述解碼裝置將由上述存儲(chǔ)裝置存儲(chǔ)的上述圖像數(shù)據(jù)中的任意一個(gè)作為參照?qǐng)D像對(duì)上述編碼流進(jìn)行解碼處理,并將解碼后的上述對(duì)象圖像提供給上述存儲(chǔ)裝置進(jìn)行存儲(chǔ)。
12.一種解碼方法,是將圖像數(shù)據(jù)存儲(chǔ)在規(guī)定的存儲(chǔ)區(qū)域中,并利用上述存儲(chǔ)區(qū)域?qū)幋a流進(jìn)行解碼的解碼裝置的解碼方法,其特征在于包括接受表示上述編碼流的重放狀態(tài)的重放信息的輸入的重放信息輸入步驟;根據(jù)通過(guò)上述重放信息輸入步驟的處理輸入的上述重放信息,取得表示對(duì)上述編碼流的對(duì)象圖像進(jìn)行解碼處理所需要的參照?qǐng)D像的參照?qǐng)D像信息的參照?qǐng)D像信息取得步驟;根據(jù)通過(guò)上述參照?qǐng)D像信息取得步驟的處理取得的上述參照?qǐng)D像信息,判斷上述參照?qǐng)D像是否存儲(chǔ)在上述存儲(chǔ)區(qū)域中的判斷步驟;在通過(guò)上述判斷步驟的處理判斷出上述參照?qǐng)D像沒(méi)有存儲(chǔ)在上述存儲(chǔ)區(qū)域中的情況下,從上述編碼流中取得沒(méi)有存儲(chǔ)在上述存儲(chǔ)區(qū)域中的上述參照?qǐng)D像進(jìn)行解碼處理,控制向上述存儲(chǔ)區(qū)域中存儲(chǔ)的參照?qǐng)D像解碼步驟;利用存儲(chǔ)在上述存儲(chǔ)區(qū)域中的上述參照?qǐng)D像,通過(guò)對(duì)上述編碼流的對(duì)象圖像進(jìn)行解碼處理而生成圖像數(shù)據(jù),控制向上述存儲(chǔ)區(qū)域中存儲(chǔ)的解碼步驟。
13.一種記錄介質(zhì),記錄有權(quán)利要求1記載的程序。
全文摘要
本發(fā)明的程序、解碼裝置不重復(fù)地對(duì)參照?qǐng)D像進(jìn)行解碼就能夠?qū)崿F(xiàn)擾亂重放。解碼控制部件接受重放的流和重放輸出的幀(B13)、(B3)以及重放速度和重放模式等的指令,根據(jù)存儲(chǔ)在索引表和基帶圖像數(shù)據(jù)用存儲(chǔ)器中的基帶圖像數(shù)據(jù)的信息,決定用于解碼的解碼器和解碼順序,并順序地提供給解碼處理部件。解碼器根據(jù)(I2)圖像對(duì)所提供的數(shù)據(jù)進(jìn)行解碼,將解碼生成的基帶圖像數(shù)據(jù)保存到基帶圖像數(shù)據(jù)用存儲(chǔ)器中,同時(shí)在(P5)、(P8)、(P11)和(P14)的解碼時(shí),從保存在基帶圖像數(shù)據(jù)用存儲(chǔ)器中的基帶圖像數(shù)據(jù)接受參照?qǐng)D像的供給,并根據(jù)它執(zhí)行解碼。本發(fā)明可以適用于重放裝置或個(gè)人計(jì)算機(jī)。
文檔編號(hào)H04N7/32GK1913641SQ20061007439
公開(kāi)日2007年2月14日 申請(qǐng)日期2006年4月14日 優(yōu)先權(quán)日2005年4月15日
發(fā)明者荻窪純一, 柴田三代子, 志潟太郎 申請(qǐng)人:索尼株式會(huì)社