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