專利名稱:信息處理裝置和方法、記錄媒體和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理裝置和方法、記錄媒體、和程序。更確切地說(shuō),本發(fā)明涉及其中可以重放壓縮編碼的視頻數(shù)據(jù)而無(wú)需執(zhí)行復(fù)雜的組存儲(chǔ)器控制的信息處理裝置和方法、記錄媒體、和程序。
背景技術(shù):
作為視頻壓縮技術(shù),廣泛地使用運(yùn)動(dòng)圖像編碼組/運(yùn)動(dòng)圖像專家組(MPEG)標(biāo)準(zhǔn)。通過(guò)解碼用MPEG方法編碼的流數(shù)據(jù)來(lái)執(zhí)行的重放操作不僅包括正常重放操作,而且包括快速重放操作或者反向重放操作。
例如,在MPEG長(zhǎng)圖像組(GOP)中,每個(gè)GOP包括15幅圖像,通過(guò)在將其輸入到解碼器中之前雙向地省略預(yù)測(cè)編碼的(B)圖像,可以以×-3到×3(符號(hào)“-”在速度中表示以反向執(zhí)行重放操作,并且在以下描述中也如此應(yīng)用)來(lái)執(zhí)行快速重放操作(例如,參見日本未審專利申請(qǐng)公開No.8-98142)。此外,為各個(gè)重放速度提供表示要顯示的圖像信息的表,以便能夠以如該表所示的同一序號(hào)的不同的速度執(zhí)行重放操作。
在日本未審專利申請(qǐng)公開No.8-56334中公開了另一種重放技術(shù)。在該技術(shù)中,以5幀的間隔間歇地獲得10幀壓縮編碼信號(hào)。在解調(diào)所有10幀壓縮編碼信號(hào)之后,將其交替地供給兩個(gè)解碼器,每個(gè)解碼器五幀,并將其解碼然后寫入存儲(chǔ)器。存儲(chǔ)器讀取每隔一個(gè)的幀以便能夠輸出×2重放信號(hào)。
MPEG流最適合于正向的重放操作。例如,在MPEG長(zhǎng)GOP中,15幅圖像的編碼順序,即,形成一個(gè)GOP的內(nèi)編碼的(I)圖像,預(yù)測(cè)編碼的(P)圖像,和B圖像,是I(2)、B(0)、B(1)、P(5)、B(3)、B(4)、P(8)、B(6)、B(7)、P(11)、B(9)、B(10)、P(14)、B(12)和B(13)(括號(hào)內(nèi)的數(shù)字表示當(dāng)GOP圖像根據(jù)編碼順序在顯示順序中重新排列時(shí)的順序)。P圖像根據(jù)一個(gè)在前的I圖像或P圖像進(jìn)行預(yù)測(cè),而B圖像根據(jù)一個(gè)在前的I圖像或P圖像以及以編碼順序的兩個(gè)在前的I圖像或P圖像進(jìn)行預(yù)測(cè)。因此,通過(guò)保留兩組參考圖像存儲(chǔ)器,能夠?qū)圖像和B圖像兩個(gè)進(jìn)行解碼,從而提高存儲(chǔ)器的使用效率。
為了以反向重放最適合正向重放操作的MPEG流,在日本未審專利申請(qǐng)公開No.10-150635中提出了以下技術(shù)。多個(gè)解碼器用于執(zhí)行解碼處理,以及在將要解碼的GOP之前直接增加了GOP,并且將兩個(gè)GOP提供給解碼器。這使得即使在反向重放操作中也能夠正確使用將重放的圖像的參考圖像。
在日本未審專利申請(qǐng)公開No.8-98142公開的技術(shù)中,盡管可以通過(guò)在將其輸入到解碼器之前省略B圖像來(lái)實(shí)現(xiàn)以×-3至×3快速重放操作,但是圖像的顯示間隔變得不規(guī)律,從而使得顯示圖像不自然。
其中使用多個(gè)用于執(zhí)行解碼處理的解碼器芯片的技術(shù)能夠與省略在輸入階段不將顯示的B圖像的處理相合并。通過(guò)這種合并,能夠?qū)崿F(xiàn)規(guī)律間隔的快速重放操作(例如,利用兩個(gè)解碼器芯片實(shí)現(xiàn)×2,利用三個(gè)解碼器芯片實(shí)現(xiàn)×4,利用四個(gè)解碼器芯片實(shí)現(xiàn)×5,以及利用五個(gè)解碼器芯片實(shí)現(xiàn)×7)。然而在這種情況下,在輸出處理的期間需要I圖像或P圖像的省略,這增加了基帶存儲(chǔ)器的控制操作或者用于從已解碼數(shù)據(jù)選擇要顯示的數(shù)據(jù)的處理的復(fù)雜性。因此,通過(guò)使用公知技術(shù)來(lái)動(dòng)態(tài)改變重放速度以執(zhí)行顯示操作是困難的。
如上所述,通過(guò)提供表示各個(gè)重放速度的將要顯示的圖像信息的表格,就能夠?qū)崿F(xiàn)如同表格上一樣的同一序號(hào)的不同速度的重放操作。然而在這種處理中,在表格單元中切換重放速度,并且當(dāng)切換速度時(shí)需要復(fù)雜的控制來(lái)平穩(wěn)地顯示圖像。
如上所述,MPEG流最適于正向重放操作。在以MPEG流的輸入順序的反向重放操作中,當(dāng)解碼一個(gè)GOP之后執(zhí)行反向重放操作時(shí),需要存儲(chǔ)至少一個(gè)GOP(例如,15幀)的幀存儲(chǔ)器,并且應(yīng)當(dāng)預(yù)留許多參考圖像數(shù)據(jù)組,從而需要大的存儲(chǔ)器容量。
發(fā)明內(nèi)容
鑒于這種背景技術(shù),需要通過(guò)解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)完成快速重放操作、反向重放操作、和反向快速重放操作,而無(wú)需執(zhí)行復(fù)雜的組存儲(chǔ)器控制。
根據(jù)本發(fā)明實(shí)施例,提供一種信息處理裝置,包括至少一個(gè)解碼裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制裝置,用于控制將經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置;以及控制裝置,用于控制由供給控制裝置和解碼裝置執(zhí)行的處理??刂蒲b置確定由解碼裝置執(zhí)行的解碼處理的順序,以便在包含于用于由解碼裝置執(zhí)行的解碼處理的解碼處理單元的圖像之中,在B圖像之前解碼I圖像和P圖像。根據(jù)重放速度指令裝置提供的重放速度指令,控制裝置從包含在解碼處理單元的圖像之中選擇將從解碼裝置輸出的圖像。
解碼裝置可以包括解碼處理執(zhí)行裝置,用于執(zhí)行解碼處理;以及圖像供給控制裝置,用于控制將圖像供給解碼處理執(zhí)行裝置。圖像供給控制裝置可以在控制裝置的控制下,在包含在解碼處理單元的圖像之中,將要選擇其作為從解碼裝置輸出圖像的I圖像和P圖像、以及B圖像供給至解碼處理執(zhí)行裝置。解碼處理執(zhí)行裝置可以解碼從圖像供給控制裝置供給的圖像,也可以在控制裝置的控制下輸出作為要從解碼裝置輸出的圖像而選擇的圖像。
可以提供多個(gè)解碼裝置。信息處理裝置還可以包括輸出切換裝置,用于接收從多個(gè)解碼裝置輸出的未壓縮數(shù)據(jù),并用于選擇性地輸出所接收的未壓縮數(shù)據(jù)。控制裝置還可以控制由輸出切換裝置執(zhí)行的處理。
解碼裝置可以包括用于存儲(chǔ)已解碼圖像的組存儲(chǔ)器,該組存儲(chǔ)器具有少于包含在解碼處理單元中的圖像數(shù)目的組。解碼裝置可以通過(guò)使用存儲(chǔ)在組存儲(chǔ)器中經(jīng)解碼的圖像作為參考圖像,根據(jù)需要執(zhí)行解碼處理。
組存儲(chǔ)器能夠存儲(chǔ)的圖像數(shù)目比包含在解碼處理單元中的I圖像和P圖像的數(shù)目大2。
解碼裝置的數(shù)目可以為三,并且各個(gè)解碼裝置可以包括能夠存儲(chǔ)8幅圖像的組存儲(chǔ)器。
控制裝置可以控制解碼裝置以便在對(duì)于組存儲(chǔ)器的I圖像和P圖像的固定位置存儲(chǔ)I圖像和P圖像。
當(dāng)解碼處理單元的首部的圖像是從解碼裝置輸出的解碼圖像之中的I圖像或P圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示示出定時(shí)彼此相偏移第一預(yù)先確定數(shù)目的圖像。
第一預(yù)先確定數(shù)目可以比I圖像和P圖像的總數(shù)大1。
當(dāng)在解碼處理單元首部的圖像是從解碼裝置輸出的解碼圖像之中的B圖像時(shí),控制裝置可以控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第二預(yù)先確定數(shù)目的圖像。
第二預(yù)先確定的數(shù)目可以比I圖像和P圖像的總數(shù)大2。
當(dāng)重放速度指令裝置指示的重放速度和重放方向分別是正常和正向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第一預(yù)先確定數(shù)目的圖像。
第一預(yù)先確定的數(shù)目可以比I圖像和P圖像的總數(shù)大1。
當(dāng)重放速度指令裝置指示的重放速度和重放方向分別是正常和反向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第二預(yù)先確定數(shù)目的圖像。
第二預(yù)先確定數(shù)目可以比I圖像和P圖像的總數(shù)要大2。
控制裝置可以確定解碼裝置執(zhí)行解碼處理的定時(shí)以便解碼裝置解碼B圖像的定時(shí)比比輸出經(jīng)解碼的B圖像的定時(shí)要早一幅圖像。
經(jīng)壓縮編碼的視頻數(shù)據(jù)包括GOP。當(dāng)接收包括I圖像或P圖像的GOP時(shí),所述圖像組的數(shù)目大于從組存儲(chǔ)器的組數(shù)目減去3所獲得的值,控制裝置將圖像組分成解碼處理單元,每個(gè)解碼處理單元包括具有比通過(guò)從組存儲(chǔ)器的組數(shù)目減去2所獲得的值的數(shù)目更少的I圖像或P圖像,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
控制裝置可以形成解碼處理單元以便包含在劃分解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在圖像的時(shí)間上在先的組或者時(shí)間上在先的解碼處理單元中的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或者更多。
經(jīng)壓縮編碼的視頻數(shù)據(jù)可以包括GOP。當(dāng)接收包括I圖像或P圖像的第一GOP時(shí),所述圖像的數(shù)目小于從組存儲(chǔ)器的組數(shù)目減去3所獲得的值,控制裝置檢測(cè)時(shí)間上連續(xù)于第一GOP的第二GOP的結(jié)構(gòu),并且,如果包含在第一GOP和第二GOP中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目減去2獲得的值,那么控制裝置合并第一GOP和第二GOP以形成解碼處理單元,并控制供給控制裝置以便將解碼處理單元的壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
控制裝置可以形成解碼處理單元,以便包含在合并解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在圖像的時(shí)間上在先的組中的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或更多。
經(jīng)壓縮編碼的視頻數(shù)據(jù)可以包括GOP。控制裝置可以檢測(cè)第一GOP的結(jié)構(gòu)和時(shí)間上連續(xù)于第一GOP的第二GOP的結(jié)構(gòu),并且如果包含在第一GOP和第二GOP中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目中減去3獲得的值的二倍,那么控制裝置合并第一GOP和第二GOP,然后劃分所合并的GOP以形成第一解碼處理單元和第二解碼處理單元,每個(gè)解碼處理單元包括小于從組存儲(chǔ)器的組數(shù)減去2所獲得的值的I圖像或P圖像,并且控制裝置控制供給控制裝置以分別地將第一解碼處理單元的經(jīng)壓縮編碼視頻數(shù)據(jù)和第二解碼處理單元的經(jīng)壓縮編碼視頻數(shù)據(jù)供給解碼裝置。
控制裝置可以形成第一解碼處理單元和第二解碼處理單元,以便在第一解碼處理單元和第二解碼處理單元中的I圖像或P圖像的總數(shù)不變得比時(shí)間上在先的解碼處理單元或者時(shí)間上在先的圖像組的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或更多。
根據(jù)本發(fā)明另一個(gè)實(shí)施例,提供一種信息處理方法、記錄在記錄媒體上的程序和程序,包括以下步驟獲得重放速度指令;確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像的解碼處理順序,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元的圖像中選擇要輸出的圖像;控制將從包含在解碼處理單元中的圖像中選擇的I圖像和P圖像、以及選擇作為要輸出圖像的B圖像供給解碼器;解碼供給解碼器的圖像;以及控制圖像的輸出,所述圖像從解碼圖像中選擇作為要輸出的圖像。
根據(jù)上述信息處理裝置、信息處理方法、記錄在記錄媒體上的程序、一種程序,獲得重放速度指令,確定圖像的解碼處理的順序,其中所述圖像包含在用于執(zhí)行解碼處理的解碼處理單元中,以便在B圖像之前解碼I圖像和P圖像,根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像之中選擇要輸出的圖像,根據(jù)獲得的重放速度指令,從包含在解碼處理單元中的圖像之中選擇要輸出的圖像,以及解碼供給解碼器的圖像,以及輸出從要解碼的圖像之中選擇作為要輸出圖像的圖像。
根據(jù)本發(fā)明另一個(gè)實(shí)施例,提供一種信息處理裝置,包括存儲(chǔ)裝置,用于存儲(chǔ)經(jīng)壓縮編碼的視頻數(shù)據(jù);讀出裝置,用于讀出經(jīng)壓縮編碼的視頻數(shù)據(jù);解碼裝置,用于解碼經(jīng)壓縮編碼的是視頻數(shù)據(jù);供給控制裝置,用于控制從讀出裝置讀出的經(jīng)壓縮編碼的視頻數(shù)據(jù)的供給至解碼裝置;控制裝置,用于控制游供給控制裝置和解碼裝置執(zhí)行的處理;以及重放速度指令裝置,用于將重放速度指令供給控制裝置??刂蒲b置確定包含在解碼處理單元中的圖像的解碼處理的順序以便由解碼裝置執(zhí)行解碼處理,從而在B圖像之前解碼I圖像和P圖像。控制裝置根據(jù)由重放速度指令裝置提供的重放速度指令,從包含在解碼處理單元的圖像中選擇要從解碼裝置輸出的圖像。控制裝置控制供給控制裝置來(lái)控制作為要從解碼裝置輸出的圖像而在包含在解碼處理單元中包含的圖像中選擇的I圖像和P圖像,以及B圖像的供給至解碼裝置??刂蒲b置控制解碼裝置以在供給控制裝置的控制下解碼供給解碼裝置的圖像,并控制作為要從解碼裝置輸出的圖像而選擇的圖像的輸出。
根據(jù)本發(fā)明另一個(gè)實(shí)施例,提供一種信息處理方法,記錄在記錄媒體上的程序,和程序,包括以下步驟讀出存儲(chǔ)在存儲(chǔ)單元中的經(jīng)壓縮編碼的視頻數(shù)據(jù);供給重放速度指令;獲得所供給的重放速度指令;確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元的圖像中選擇要輸出的圖像;控制作為要輸出的圖像而從包含在讀取經(jīng)壓縮編碼的視頻數(shù)據(jù)的解碼處理單元中的圖像所選擇的I圖像和P圖像和B圖像的供給至解碼器;解碼供給解碼器的圖像;以及控制從解碼的圖像中選擇作為要輸出圖像的圖像的輸出。
根據(jù)以上信息處理裝置,信息處理方法,和記錄在記錄媒體上的程序,以及程序,讀出所存儲(chǔ)的經(jīng)壓縮編碼的視頻數(shù)據(jù),提供并獲得重放速度指令,確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像,根據(jù)所獲得的重放速度指令,從包含在解碼處理單元的圖像中選擇要輸出的圖像,控制I圖像和P圖像,以及作為要輸出圖像而從包含在讀取經(jīng)壓縮編碼的視頻數(shù)據(jù)的解碼處理單元中選擇的B圖像的供給至解碼器,解碼供給解碼器的圖像,以及輸出從解碼的圖像中選擇作為要輸出圖像的圖像的輸出。
根據(jù)本發(fā)明另一個(gè)實(shí)施例,提供一種信息處理裝置,包括解碼裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制裝置,用于控制經(jīng)壓縮編碼的視頻數(shù)據(jù)的供給至解碼裝置;以及控制裝置,用于控制由供給控制裝置和解碼裝置執(zhí)行的處理。控制裝置確定包含在用于執(zhí)行解碼裝置執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像??刂蒲b置根據(jù)重放速度指令裝置提供的重放速度指令,在包含在解碼處理單元的圖像中選擇要從解碼裝置輸出的圖像??刂蒲b置控制供給控制裝置,以控制在包含在解碼處理單元中的圖像中、I圖像和P圖像,和作為從解碼裝置輸出的圖像而選擇的B圖像的供給至解碼裝置??刂蒲b置在供給控制裝置的控制下,控制解碼裝置解碼供給解碼裝置的圖像,并控制作為要從解碼裝置輸出而選擇的圖像的圖像輸出。
信息處理裝置還包含組存儲(chǔ)器,用于存儲(chǔ)解碼裝置解碼的圖像,組存儲(chǔ)器具有比包含在解碼處理單元中的圖像數(shù)目更少的組數(shù)。解碼裝置可以通過(guò)使用存儲(chǔ)在組存儲(chǔ)器中的解碼圖像根據(jù)需要作為參考圖像來(lái)執(zhí)行解碼處理。
組存儲(chǔ)器能夠存儲(chǔ)比包含在解碼處理單元中的I圖像和P圖像的數(shù)目大2的圖像數(shù)。
組存儲(chǔ)器能夠存儲(chǔ)8幅圖像。
I圖像和P圖像可存儲(chǔ)在組存儲(chǔ)器I圖像和P圖像的固定位置。
當(dāng)解碼處理單元的首部圖像是從解碼裝置輸出的解碼圖像中的I圖像或P圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始示出解碼的圖像的顯示輸出定時(shí)彼此編移第一預(yù)先確定數(shù)目的圖像。
第一預(yù)先確定數(shù)目可比I圖像和P圖像的總數(shù)大1。
當(dāng)解碼處理單元的首部圖像是從解碼裝置輸出的解碼圖像之間的B圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼的圖像的顯示示出定時(shí)彼此偏移第二預(yù)先確定數(shù)目的圖像。
第二預(yù)先確定數(shù)目可比I圖像和P圖像的總數(shù)大2。
當(dāng)重放速度指示裝置指示的重放速度和重放方向分別是正常和正向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出經(jīng)解碼圖像的顯示輸出定時(shí)彼此偏移第一預(yù)先確定數(shù)目的圖像。
第一預(yù)先確定的數(shù)目可比I圖像和P圖像的總數(shù)大1。
當(dāng)重放速度指示裝置指示的重放速度和重放方向分別是正常和反向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼的圖像的顯示示出定時(shí)彼此偏移第二預(yù)先確定數(shù)目的圖像。
第二預(yù)先確定的數(shù)目可比I圖像和P圖像的總數(shù)大2。
控制裝置可確定解碼裝置執(zhí)行解碼處理的定時(shí),以便解碼裝置解碼B圖像的定時(shí)比輸出解碼的B圖像的定時(shí)要早一個(gè)圖像。
經(jīng)壓縮編碼的視頻數(shù)據(jù)可以包括GOP。當(dāng)接收包括I圖像和P圖像、具有比通過(guò)從組存儲(chǔ)器的組數(shù)目減去3獲得的值更大數(shù)目的圖像組時(shí),控制裝置將圖像組劃分成解碼處理單元,每個(gè)解碼處理單元包括具有通過(guò)從組存儲(chǔ)器的組數(shù)減去2所獲得值更少的I圖像和P圖像,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮的編碼視頻數(shù)據(jù)供給解碼裝置。
控制裝置可以形成解碼處理單元以便包含在劃分的解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在時(shí)間上在先的圖像組或者時(shí)間上在先的解碼處理單元中的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或者更多。
經(jīng)壓縮的編碼視頻數(shù)據(jù)可以包括GOP。當(dāng)接收包括I圖像和P圖像、具有比通過(guò)從組存儲(chǔ)器的組數(shù)目減去3獲得的值更小數(shù)目的圖像組時(shí),控制裝置檢測(cè)時(shí)間上連續(xù)于第一圖像組的第二圖像組的結(jié)構(gòu),并且如果包含在第一圖像組和第二圖像組中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目中減去3所獲得的值,那么控制裝置合并第一圖像組和第二圖像組以形成解碼處理單元,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
控制裝置可以形成解碼處理單元以便包含在合并的解碼處理單元中的I圖像和P圖像的總數(shù)不會(huì)變得比包含在時(shí)間上在先的GOP中的I圖像和P圖像的總數(shù)要大預(yù)先確定的數(shù)或者更多。
經(jīng)壓縮的編碼視頻數(shù)據(jù)可以包括GOP??刂蒲b置可以檢測(cè)第一GOP的結(jié)構(gòu)和時(shí)間上連續(xù)于第一圖像組的第二GOP的結(jié)構(gòu),并且如果包含在第一GOP和第二GOP中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目中減去3所獲得的值的二倍,那么控制裝置合并第一GOP和第二GOP,并且然后劃分所合并的GOP以形成第一解碼處理單元和第二解碼處理單元,每個(gè)解碼處理單元包括少于通過(guò)從組存儲(chǔ)器的組數(shù)減去2所獲得的值的I圖像和P圖像,并且所述控制裝置控制供給控制裝置以分別地將第一解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)和第二解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
控制裝置可以形成第一解碼處理單元和第二解碼處理單元,以便笫一解碼處理單元和第二解碼處理單元中包括的I圖像或P圖像的總數(shù)不會(huì)變得比時(shí)間上在先的解碼處理單元或者時(shí)間上在先的圖像組的I圖像或P圖像的總數(shù)大預(yù)先確定數(shù)目或者更多。
根據(jù)上述信息處理裝置,確定包含在用于執(zhí)行解碼器執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像,根據(jù)所獲得的重放速度,在包含在解碼處理單元中的圖像之中選擇要從解碼器輸出的圖像,將在包含在解碼處理單元的圖像之中、I圖像和P圖像,以及作為要從解碼輸出的圖像而選擇的B圖像供給至解碼器,解碼供給解碼裝置的圖像,并且輸出作為要從解碼裝置輸出的圖像而選擇的圖像。
如上所述,根據(jù)本發(fā)明實(shí)施例,可以對(duì)經(jīng)壓縮編碼的數(shù)據(jù)執(zhí)行快速重放操作、反向重放操作、或快速反向重放操作。具體來(lái)講,對(duì)I圖像和P圖像,以及作為要輸出的圖像而選擇的B圖像進(jìn)行解碼,并且僅僅輸出從已解碼的圖像之中選擇的作為要輸出的圖像。因此能夠?qū)?jīng)壓縮編碼的視頻數(shù)據(jù)執(zhí)行快速重放操作、反向重放操作、或快速反向重放操作,而無(wú)需執(zhí)行復(fù)雜的組存儲(chǔ)器控制操作。
圖1是框圖,根據(jù)本發(fā)明實(shí)施方式舉例說(shuō)明重放裝置的結(jié)構(gòu);圖2是框圖,舉例說(shuō)明圖1所示解碼器的詳細(xì)結(jié)構(gòu);圖3是流程圖,舉例說(shuō)明控制處理;圖4是流程圖,舉例說(shuō)明在各個(gè)幀上執(zhí)行的幀處理1;圖5是流程圖,舉例說(shuō)明輸入流狀態(tài)改變處理;圖6是流程圖,舉例說(shuō)明解碼計(jì)劃處理1;圖7舉例說(shuō)明MPEG長(zhǎng)GOP;圖8A和8B舉例說(shuō)明解碼處理單元,由一個(gè)解碼器執(zhí)行解碼處理;圖9A和9B舉例說(shuō)明存儲(chǔ)在輸入圖像隊(duì)列中的信息;
圖10A和10B舉例說(shuō)明存儲(chǔ)在顯示順序信息隊(duì)列中的信息;圖11A和11B舉例說(shuō)明存儲(chǔ)在I/P圖像解碼隊(duì)列中的信息;圖12A和12B舉例說(shuō)明存儲(chǔ)在顯示順序設(shè)置隊(duì)列中的信息;圖13和14舉例說(shuō)明解碼定時(shí)和顯示定時(shí);圖15是舉例說(shuō)明輸入處理的流程圖;圖16是舉例說(shuō)明顯示階段確定處理的流程圖;圖17是舉例說(shuō)明時(shí)間信息計(jì)劃確定處理的流程圖;圖18是舉例說(shuō)明幀控制處理1的流程圖;圖19是舉例說(shuō)明I圖像/P圖像解碼處理的流程圖;圖20是舉例說(shuō)明B圖像解碼處理的流程圖;圖21和22舉例說(shuō)明解碼和顯示計(jì)劃;圖23是舉例說(shuō)明省略處理1的流程圖;圖24是舉例說(shuō)明時(shí)間信息重置處理的流程圖;圖25舉例說(shuō)明在×2重放操作中,在執(zhí)行圖像的省略之前和之后的解碼和顯示計(jì)劃;圖26舉例說(shuō)明在×-2重放操作中,在執(zhí)行圖像的省略之前和之后的解碼和顯示計(jì)劃;圖27舉例說(shuō)明在×4重放操作中,在執(zhí)行圖像的省略之前和之后的解碼和顯示計(jì)劃;圖28舉例說(shuō)明在×-4重放操作中,在執(zhí)行圖像的省略之前和之后的解碼和顯示計(jì)劃;圖29舉例說(shuō)明在×5重放操作中,在執(zhí)行圖像的省略之前和之后的解碼和顯示計(jì)劃;圖30舉例說(shuō)明在×-5重放操作中,在執(zhí)行圖像的省略之前和之后的解碼和顯示計(jì)劃;圖31舉例說(shuō)明在×1重放操作中的組控制;圖32舉例說(shuō)明在×2重放操作中的組控制;圖33舉例說(shuō)明在×-1重放操作中的組控制;圖34舉例說(shuō)明在×-2重放操作中的組控制;圖35是舉例說(shuō)明下溢處理的流程圖;
圖36舉例說(shuō)明當(dāng)下溢不發(fā)生時(shí)的時(shí)間計(jì)數(shù)器;圖37舉例說(shuō)明當(dāng)下溢發(fā)生時(shí)的時(shí)間計(jì)數(shù)器的調(diào)整;圖38是舉例說(shuō)明一幀延遲處理的流程圖;圖39是舉例說(shuō)明幀處理2的流程圖;圖40是舉例說(shuō)明解碼計(jì)劃2的流程圖;圖41是舉例說(shuō)明省略處理2的流程圖;圖42是舉例說(shuō)明幀控制處理2的流程圖;圖43是舉例說(shuō)明省略處理3的流程圖;圖44和45舉例說(shuō)明對(duì)具有大量錨(anchor)幀的GOP進(jìn)行解碼;圖46和47舉例說(shuō)明對(duì)具有小量錨幀的GOP進(jìn)行解碼;圖48至50B舉例說(shuō)明通過(guò)劃分GOP形成的解碼單元;圖51至53B舉例說(shuō)明通過(guò)合并GOP形成的解碼單元;圖54至59B舉例說(shuō)明通過(guò)合并和劃分GOP形成的解碼單元;圖60是舉例說(shuō)明GOP劃分/合并處理的流程圖;圖61和62舉例說(shuō)明由解碼單元進(jìn)行解碼處理,所述解碼單元由劃分GOP形成;圖63和64舉例說(shuō)明由解碼單元進(jìn)行解碼處理,所述解碼單元由合并和劃分GOP形成;圖65是舉例說(shuō)明個(gè)人計(jì)算機(jī)的結(jié)構(gòu)的框圖。
具體實(shí)施例方式
在描述本發(fā)明實(shí)施方式之前,以下討論權(quán)利要求中的特征與在本發(fā)明實(shí)施方式中公開的特定元素之間的對(duì)應(yīng)關(guān)系。該描述意圖確保在該說(shuō)明書中描述了支持所要求保護(hù)的發(fā)明的實(shí)施方式。因此,即使以下實(shí)施方式中的元素不是涉及本發(fā)明某個(gè)特征來(lái)描述的,這也不是必須意味著該元素不涉及權(quán)利要求的那個(gè)特征。相反,即使在此涉及權(quán)利要求的某個(gè)特征描述了元素,那也不必意味著該元素不涉及權(quán)利要求的其它特征。
根據(jù)本發(fā)明實(shí)施方式的信息處理裝置(例如,圖1所示重放裝置1)包括至少一個(gè)解碼裝置(例如,圖1所示解碼器22,23或24),用于解碼壓縮編碼的視頻數(shù)據(jù);供給控制裝置(例如,圖1所示PCI橋17),用于控制將壓縮編碼視頻數(shù)據(jù)的供給至解碼裝置;以及控制裝置(例如,圖1所示CPU 20),用于控制供給控制裝置和解碼裝置執(zhí)行的處理??刂蒲b置確定解碼裝置執(zhí)行的解碼處理的順序以便在包含在解碼處理單元的圖像中(例如,在正向重放操作中,包括第一GOP中的除了前兩個(gè)B圖像的13幅圖像和以編碼順序緊隨著第一GOP的第二GOP的前三個(gè)I圖像、B圖像和B圖像的總共16幅圖像,而在反向重放操作中,包括第二GOP中除前兩個(gè)B圖像之外的13幅圖像和第二GOP之前的第三GOP的前三個(gè)I圖像、B圖像、和B圖像的總共16幅圖像)以便由解碼裝置執(zhí)行解碼處理,在B圖像之前解碼I圖像和P圖像。根據(jù)重放速度指令裝置提供的重放速度指令,控制裝置從包含在解碼處理單元包含的圖像中選擇要從解碼裝置輸出的圖像。
解碼裝置可以包括解碼處理執(zhí)行裝置(例如,圖2所示解碼處理器77),用于執(zhí)行解碼處理,和圖像供給控制裝置(圖2所示基本流地址確定單元73),用于控制圖像的供給至解碼處理執(zhí)行裝置。圖像供給控制裝置可以在控制裝置的控制下,在包含在解碼處理單元中的圖像之間的、作為要從解碼裝置輸出的圖像而選擇的I圖像和P圖像和B圖像。解碼處理執(zhí)行裝置可以解碼從圖像提供控制裝置供給的圖像,并且可以在控制裝置的控制下輸出作為要從解碼裝置輸出的圖像選擇的圖像。
可以提供多個(gè)解碼裝置。信息處理裝置還可以包括輸出切換裝置(例如,圖1所示選擇器25),用于接收從多個(gè)解碼裝置輸出的未壓縮數(shù)據(jù),并用于選擇性地輸出所接收的未壓縮數(shù)據(jù)??刂蒲b置還可以控制由輸出切換裝置執(zhí)行的處理。
解碼裝置可以包括組存儲(chǔ)器(例如,圖2所示視頻組存儲(chǔ)器82),用于存儲(chǔ)解碼圖像,組存儲(chǔ)器具有若干少于包含在解碼處理單元中的圖像數(shù)目的組。根據(jù)需要,通過(guò)使用存儲(chǔ)在組存儲(chǔ)器中的解碼圖像作為參考圖像,解碼裝置可以執(zhí)行解碼處理。
根據(jù)本發(fā)明另一個(gè)實(shí)施方式的一種信息處理方法,記錄在記錄媒體上的程序,和程序包括以下步驟獲得重放速度指令(例如,圖15所示步驟S101);確定包含在解碼處理單元中的圖像的解碼處理的順序(例如,在正向重放操作中,包括第一GOP中除前兩個(gè)B圖像之外的13幅圖像以及解碼順序中隨后第一GOP的第二GOP的前三個(gè)I圖像、B圖像和B圖像的總共16幅圖像;在反向重放操作中,包括第二GOP中除前兩個(gè)B圖像之外的13幅圖像以及第二GOP之前的第三GOP前三個(gè)I圖像、B圖像和B圖像的總共16幅圖像),以便執(zhí)行解碼處理以便在B圖像之前解碼I圖像和P圖像(例如,在圖6中步驟S75、S78至S80);根據(jù)所獲得的速度指令從包含在解碼處理單元中的圖像簡(jiǎn)選擇要輸出的圖像(例如,圖23、41或43所示的處理);控制將從包含在解碼處理單元中的圖像之中選擇作為要輸出的I圖像和P圖像、以及B圖像供給解碼器(例如,圖2所示解碼處理器77)(例如,在圖18的步驟S196之后的圖15中的步驟S105);解碼供給解碼器的圖像(例如,圖18中步驟S192或者S193);并且控制從要解碼的圖像之中選擇的要輸出的圖像的輸出(例如,在圖18的步驟S196或者在圖42的步驟S546之后的圖38中所示的處理)。
根據(jù)本發(fā)明另一實(shí)施例的一種信息處理裝置(例如,圖1所示重放裝置1)包括存儲(chǔ)裝置(例如,圖1所示硬盤驅(qū)動(dòng)器(HDD))以便存儲(chǔ)經(jīng)壓縮編碼的視頻數(shù)據(jù);讀出裝置(例如,圖1所示南橋15)以便從存儲(chǔ)裝置讀出經(jīng)壓縮編碼的視頻數(shù)據(jù);解碼裝置(例如,圖1所示解碼器22、23或24)以便解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制裝置(例如,圖1所示PCI橋17)以便控制將由讀出裝置讀出的壓縮編碼的視頻數(shù)據(jù)供給解碼裝置;控制裝置(例如,圖1所示CPU 20)以便控制由供給控制裝置和解碼裝置執(zhí)行的處理;以及重放速度指令裝置(例如圖1所示CPU 11)以便將重放速度指令提供給控制裝置??刂蒲b置確定包含在解碼處理單元終端哦圖像的解碼處理的順序(例如,在正向重放操作中,包括第一GOP中除了前兩個(gè)B圖像之外的13幅圖像和在編碼順序中緊隨第一GOP的第二GOP的前三個(gè)I圖像、B圖像、B圖像的總共16幅圖像,并且在反向重放操作中,包括第二GOP中除了前兩個(gè)B圖像之外的13幅圖像和先于第二GOP的第三GOP的前三個(gè)I圖像、B圖像、B圖像的總共16幅圖像)以便執(zhí)行由解碼裝置執(zhí)行的解碼處理以便在B圖像之前解碼I圖像和P圖像??刂蒲b置根據(jù)重放速度指令裝置提供的重放速度指令在包含在解碼處理單元的圖像之中選擇要從解碼裝置中輸出的圖像??刂蒲b置控制供給控制裝置來(lái)控制在包含在解碼處理單元中的圖像之中、作為從解碼裝置輸出的I圖像和P圖像、以及B圖像的供給至解碼裝置。控制裝置在供給控制裝置的控制下,控制解碼裝置解碼供給解碼裝置的圖像,并且可以控制作為要從解碼裝置輸出的圖像而選擇的圖像的輸出。
根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種信息處理方法,一種記錄在記錄媒體上的程序、和一種程序包括以下步驟讀出存儲(chǔ)在存儲(chǔ)單元中的經(jīng)壓縮編碼的視頻數(shù)據(jù)(例如,在圖3中所示的步驟S1);供給重放速度指令(例如,在圖3中所示的步驟S5或S11);獲得所供給的重放速度指令(例如,在圖5中所示的步驟S101);確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像解碼處理的順序(例如,在正向重放操作中,包括第一GOP中除了前兩個(gè)B圖像之外的13幅圖像和在編碼順序中緊隨第一GOP的第二GOP的前三個(gè)I、B、B圖像的總共16幅圖像,并且在反向重放操作中,包括第二GOP中除了前兩個(gè)B圖像之外的13幅圖像和先于第二GOP的第三GOP的前三個(gè)I、B、B圖像的總共16幅圖像),以便在B圖像之前解碼I圖像和P圖像(例如,圖6中步驟S75、步驟S78至S80);根據(jù)所獲得的重放速度指令,從包含在解碼處理單元的圖像中選擇要輸出的圖像(例如,圖23、41或43中所示的處理);控制作為要輸出的圖像而從包含在讀取經(jīng)壓縮編碼的視頻數(shù)據(jù)的解碼處理單元中的圖像所選擇的I圖像和P圖像和B圖像的供給至解碼器(例如,圖2中解碼處理器77)(例如,在圖18中步驟S196之后的圖15中步驟S105);以及解碼供給解碼器的圖像(例如,圖18中步驟S192或S193);以及控制從解碼的圖像中選擇作為要輸出圖像的圖像的輸出(例如,在圖18中步驟S196或者在圖42中步驟S546之后的圖38中所示的處理)。
根據(jù)本發(fā)明另一實(shí)施例的一種信息處理裝置(例如,圖1所示重放裝置1)包括解碼裝置(例如,圖2所示解碼處理器77),用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制裝置(例如,圖2所示基本流地址確定單元73),用于控制經(jīng)壓縮編碼的視頻數(shù)據(jù)的供給至解碼裝置;以及控制裝置(例如,圖1所示CPU20),用于控制由供給控制裝置和解碼裝置執(zhí)行的處理??刂蒲b置確定包含在用于執(zhí)行解碼裝置執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序(例如,在正向重放操作中,包括第一GOP中除了前兩個(gè)B圖像之外的13幅圖像和在編碼順序中緊隨笫一GOP的第二GOP的前三個(gè)I圖像、B圖像和B圖像的總共16幅圖像,并且在反向重放操作中,包括第二GOP中除了前兩個(gè)B圖像之外的13幅圖像和先于第二GOP的第三GOP的前三個(gè)I圖像、B圖像和B圖像的總共16幅圖像),以便在B圖像之前解碼I圖像和P圖像??刂蒲b置根據(jù)重放速度指令裝置提供的重放速度指令,在包含在解碼處理單元的圖像中選擇要從解碼裝置輸出的圖像。控制裝置控制供給控制裝置,以控制在包含在解碼處理單元中的圖像中、I圖像和P圖像,和作為從解碼裝置輸出的圖像而選擇的B圖像的供給至解碼裝置??刂蒲b置在供給控制裝置的控制下,控制解碼裝置解碼供給解碼裝置的圖像,并控制作為要從解碼裝置輸出而選擇的圖像的圖像輸出。
信息處理裝置可還包含組存儲(chǔ)器(例如,圖2所示視頻組存儲(chǔ)器82),用于存儲(chǔ)解碼裝置解碼的圖像,組存儲(chǔ)器具有比包含在解碼處理單元中的圖像數(shù)目更少的組數(shù)。解碼裝置可以根據(jù)需要通過(guò)使用存儲(chǔ)在組存儲(chǔ)器中的解碼圖像作為參考圖像來(lái)執(zhí)行解碼處理。
下面通過(guò)優(yōu)選實(shí)施方式的舉例說(shuō)明,參考附圖詳細(xì)描述本發(fā)明。
圖1是框圖,根據(jù)本發(fā)明實(shí)施方式舉例說(shuō)明了重放裝置1的硬件結(jié)構(gòu)。
在重放裝置1中,連接到北橋12的中央處理單元(CPU)11控制存儲(chǔ)在硬盤驅(qū)動(dòng)器(HDD)16中的數(shù)據(jù)的讀取,或者生成并輸出命令以提供指令來(lái)由CPU 20執(zhí)行的開始、改變、和完成處理,諸如控制解碼計(jì)劃、解碼、和顯示。連接到外圍組件互連/接口(PCI)總線14的北橋12,在CPU 11的控制下經(jīng)由南橋15接收存儲(chǔ)在HDD 16中的數(shù)據(jù),并將所接收的數(shù)據(jù)經(jīng)由PCI總線14和PCI總線17供給存儲(chǔ)器18。北橋12也連接到存儲(chǔ)器13并發(fā)送和接收CPU 11的處理所需的數(shù)據(jù)。
存儲(chǔ)器13是快速訪問(wèn)存儲(chǔ)設(shè)備,諸如雙數(shù)據(jù)速率(DDR),其中可以存儲(chǔ)CPU11執(zhí)行的處理所需的數(shù)據(jù)。南橋15控制從HDD 16中的數(shù)據(jù)的讀取和向HDD 16的數(shù)據(jù)寫入,HDD 16中存儲(chǔ)了壓縮編碼的流數(shù)據(jù)。
PCI橋17具有內(nèi)置的命令緩沖器31和結(jié)果緩沖器32,并且連接到存儲(chǔ)器18,其中緩沖在CPU 11的控制下從HDD 16讀取的流數(shù)據(jù)。PCI橋17能夠在CPU 11的控制下將從HDD16讀取的流數(shù)據(jù)供給存儲(chǔ)器18,并將流數(shù)據(jù)存儲(chǔ)其中。PCI橋17在CPU 20的控制下也能夠讀取存儲(chǔ)在存儲(chǔ)器18中的流數(shù)據(jù),并將流數(shù)據(jù)供給解碼器22、23、和24。PCI橋17也經(jīng)由PCI橋14或控制總線19,控制對(duì)應(yīng)于命令或結(jié)果的控制信號(hào)的發(fā)送和接收。
命令緩沖器31經(jīng)由北橋12和PCI總線14接收來(lái)自CPU 11的命令,也將命令從命令緩沖器31經(jīng)由控制總線19讀出到CPU 20。結(jié)果緩沖器32接收來(lái)自CPU 20的結(jié)果以經(jīng)由控制總線19響應(yīng)命令,也將存儲(chǔ)在結(jié)果緩沖器32中的結(jié)果經(jīng)由PCI總線14和北橋12讀取到CPU11。
存儲(chǔ)器18,其例如是同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM),在PCI橋17的控制下,存儲(chǔ)從HDD 16讀取的壓縮代碼的流數(shù)據(jù)。
CPU 20經(jīng)由控制總線19,讀取由CPU 11寫入PCI橋17的命令緩沖器31的命令,并根據(jù)讀取命令控制由PCI橋17、解碼器22至24、和選擇器25執(zhí)行的處理。存儲(chǔ)器21存儲(chǔ)CPU 20執(zhí)行的處理所需的數(shù)據(jù)。
解碼器22、23和24在CPU 20的控制下解碼所接收的壓縮編碼流數(shù)據(jù),并輸出未壓縮視頻信號(hào)。解碼器22、23和24分別具有內(nèi)置存儲(chǔ)器41、42和43,以根據(jù)需要存儲(chǔ)所接收的壓縮編碼的流數(shù)據(jù)和解碼的視頻信號(hào)。解碼器22、23和24不必包含在重放裝置1中。也就是說(shuō),解碼器22、23和24可以與重放裝置1分離地提供。
選擇器25可以切換從解碼器22、23和24供給的、未壓縮串行數(shù)字接口(SDI)數(shù)據(jù)的各個(gè)幀(圖像)的輸出。
圖1所示的重放裝置1可以形成為一個(gè)設(shè)備或多個(gè)設(shè)備。例如,CPU11、北橋12、存儲(chǔ)器13、南橋15、和HDD16可以提供作為個(gè)人計(jì)算機(jī)的組件,并可以在擴(kuò)展卡(諸如PCI卡或PCI-express卡)或擴(kuò)展板中提供PCI總線14、PCI橋17、存儲(chǔ)器18、控制總線19、CPU20、存儲(chǔ)器21、解碼器22、23和24、選擇器25的功能。然后,該擴(kuò)展卡插入個(gè)人計(jì)算機(jī)中,從而實(shí)現(xiàn)重放裝置1的功能。上述元素可以包含在多數(shù)設(shè)備中以形成重放裝置1。
以下描述上述結(jié)構(gòu)的重放裝置1的操作。
在HDD 16中,存儲(chǔ)了利用MPEG長(zhǎng)GOP方法壓縮的視頻數(shù)據(jù)。
CPU 11控制南橋15以經(jīng)由北橋12從HDD16讀取壓縮的編碼數(shù)據(jù)流,以響應(yīng)來(lái)自用戶從輸入操作單元(未示出)的輸入,并且以經(jīng)由北橋12、PCI總線14、和PCI橋17供給讀取流數(shù)據(jù)至存儲(chǔ)器18,并將讀取數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器18中。CPU11也將表示重放速度和重放方向和解碼開始命令或者顯示開始命令的信息經(jīng)由北橋12和PCI總線14寫入PCI橋17的命令緩沖器31中。
根據(jù)從CPU 11供給、并存儲(chǔ)在命令緩沖器31中的命令,CPU 20為壓縮編碼的流數(shù)據(jù)確定解碼和顯示計(jì)劃。更確切地說(shuō),CPU20選擇用于解碼的解碼器22、23或24,并確定輸入到所選擇的解碼器22、23或24的壓縮編碼的流數(shù)據(jù)的定時(shí),各個(gè)幀的解碼定時(shí),參考圖像所存儲(chǔ)的組位置的設(shè)置,解碼處理中組存儲(chǔ)器的分配,以及解碼的圖像的輸出,即顯示定時(shí)。
然后CPU20控制PCI橋17將存儲(chǔ)在存儲(chǔ)器18中的壓縮編碼的流數(shù)據(jù)基于所確定的計(jì)劃供給所選擇的解碼器22、23和24。
CPU 20控制解碼器22、23或24以將所供給的壓縮編碼的流數(shù)據(jù)進(jìn)行解碼。然后解碼器22、23或24解碼流數(shù)據(jù)以生成未壓縮的SDI數(shù)據(jù)并將其輸出到選擇器25。
然后CPU20控制選擇器25來(lái)切換來(lái)自解碼器22、23或24的未壓縮SDI數(shù)據(jù)的輸出。
圖2是框圖,舉例說(shuō)明解碼器22、23和24的詳細(xì)的結(jié)構(gòu)。
輸入處理器71將壓縮代碼的流數(shù)據(jù)從PCI橋17供給存儲(chǔ)器控制器74,并將流數(shù)據(jù)存儲(chǔ)到輸入緩沖器75中。輸入處理器71也從供給的流數(shù)據(jù)獲得每個(gè)圖像的首部地址、數(shù)據(jù)尺寸、圖像首部信息、圖像尺寸信息、和Q矩陣,并將所獲得的信息供給地址管理表72。
地址管理表72將從輸入處理器71供給的各個(gè)圖像的上述信息存儲(chǔ)為可由表ID標(biāo)識(shí)的表信息。
基本流地址確定單元73從表信息讀取相應(yīng)圖像的首部地址和圖像尺寸信息,所述表信息由存儲(chǔ)在地址管理表72中的預(yù)先確定的表ID來(lái)表示,并根據(jù)經(jīng)由控制總線19從CPU 20供給的控制信號(hào)將所讀取的首部地址和圖像尺寸信息供給存儲(chǔ)器控制器74,以便可以將存儲(chǔ)在輸入緩沖器75中的流數(shù)據(jù)以圖像單元供給解碼處理器77。
存儲(chǔ)器控制器74控制從/到輸入緩沖器75的流數(shù)據(jù)的讀取和寫入。也就是說(shuō),存儲(chǔ)器控制器74將從輸入處理器71供給的流數(shù)據(jù)寫入輸入緩沖器75,也根據(jù)從基本流地址確定單元73供給的對(duì)應(yīng)圖像的首部地址和圖像尺寸信息,將預(yù)先確定的圖像讀出到解碼處理器77。
輸入緩沖器75對(duì)應(yīng)于圖1所示存儲(chǔ)器41、42和43的部分記錄區(qū)域,所述存儲(chǔ)器是SDRAM,并在存儲(chǔ)器控制器74的控制下存儲(chǔ)流數(shù)據(jù)。
控制總線76將經(jīng)由控制總線19從CPU 20接收的控制信號(hào)供給基本流地址確定單元73、解碼處理器77、寫圖像地址確定單元78、參考圖像地址確定單元79以及輸出地址確定單元80,也將涉及在解碼器22、23或24內(nèi)執(zhí)行的處理的信息經(jīng)由控制總線19供給CPU 20。
根據(jù)需要通過(guò)參考從參考圖像地址確定單元79供給的對(duì)應(yīng)的參考圖像,解碼處理器77在存儲(chǔ)器控制器74的控制下解碼從輸入緩沖器75讀取的MPEG視頻流,并將解碼的基帶(未壓縮)視頻信號(hào)供給寫圖像地址確定單元78。
寫圖像地址確定單元78經(jīng)由控制總線76獲得從CPU 20經(jīng)由控制總線19供給的控制信號(hào),并根據(jù)該控制信號(hào)確定記錄位置,即,在視頻組存儲(chǔ)器82中從解碼處理器77解碼和供給的基帶視頻信號(hào)的存儲(chǔ)組位置。然后寫圖像地址確定單元78經(jīng)由存儲(chǔ)器控制器81在視頻組存儲(chǔ)器82的確定的組位置存儲(chǔ)基帶視頻信號(hào)。
參考圖像地址確定單元79經(jīng)由控制總線76獲得經(jīng)由控制總線19從CPU20供給的控制信號(hào),并根據(jù)該控制信號(hào)控制存儲(chǔ)器控制器81,以從視頻組存儲(chǔ)器82中讀出存儲(chǔ)在指定為P圖像的在先參考圖像組的的組中的幀圖像數(shù)據(jù)或者存儲(chǔ)在指定為B圖像的在先和隨后參考圖像組的組中的幀圖像數(shù)據(jù),并將所讀取的幀圖像數(shù)據(jù)供給解碼處理器77。
輸出地址確定單元80經(jīng)由控制總線76獲得從CPU20經(jīng)由控制總線19供給的控制信號(hào),并根據(jù)該控制信號(hào)從存儲(chǔ)在視頻組存儲(chǔ)器82中的幀圖像數(shù)據(jù)指定輸入圖像的組,即,用于要顯示的幀的組,并控制存儲(chǔ)器控制器81來(lái)讀出輸入圖像。
存儲(chǔ)器控制器81控制從/到視頻組存儲(chǔ)器82的幀圖像讀取和寫入。視頻組存儲(chǔ)器82對(duì)應(yīng)于圖1所示存儲(chǔ)器41、42和43的部分記錄區(qū)域,所述存儲(chǔ)器是SDRAM,并且視頻組存儲(chǔ)器82是8組幀圖像組存儲(chǔ)器,用于在存儲(chǔ)器控制器81的控制下將圖像數(shù)據(jù)的各個(gè)幀存儲(chǔ)在之前描述的組中。
以下參考圖3的流程圖描述CPU 11執(zhí)行的控制處理。
在步驟S1中,CPU 11控制北橋12和南橋15來(lái)從HDD 16讀出用戶指定的將解碼和輸出的壓縮編碼流數(shù)據(jù)的多個(gè)GOP。
在步驟S2中,CPU 11經(jīng)由PCI總線14將讀取流數(shù)據(jù)供給PCI橋17,并將流數(shù)據(jù)傳送到存儲(chǔ)器18。
在步驟S3中,通過(guò)經(jīng)由北橋12和PCI總線14將數(shù)據(jù)傳送完成消息和圖像信息供給PCI橋17的命令緩沖器31,CPU 11將涉及包含在傳送給存儲(chǔ)器18的GOP中的圖像的數(shù)據(jù)傳送結(jié)束消息和圖像信息發(fā)送給CPU 20。圖像信息包括例如圖像類型、涉及各個(gè)圖像首部的首部信息、和圖像尺寸。
在步驟S4中,CPU 11從CPU 20和存儲(chǔ)器18接收就緒消息。更確切地說(shuō),CPU 11經(jīng)由PCI總線14和北橋12讀取結(jié)果以響應(yīng)從CPU 20經(jīng)由控制總線19供給結(jié)果緩沖器32的數(shù)據(jù)傳送完成消息和圖像信息,也從存儲(chǔ)器18經(jīng)由PCI橋17、PCI總線14、和北橋12接收表示GOP流數(shù)據(jù)已經(jīng)存儲(chǔ)的消息。
在步驟S5中,CPU 11經(jīng)由操作輸入單元(未示出)從用戶接收指令以開始重放輸出處理,并經(jīng)由北橋12和PCI總線14發(fā)送解碼開始命令至命令緩沖器31,并導(dǎo)致解碼器22,23或24開始解碼處理。解碼開始命令包括顯示速度信息。
在步驟S6中,CPU 11經(jīng)由北橋12和PCI總線14發(fā)送顯示開始命令至命令緩沖器31。在步驟S7中,CPU 11開始顯示由對(duì)應(yīng)解碼器解碼的SDI信號(hào)的一個(gè)GOP,即,基帶圖像信號(hào)。
在步驟S8中,CPU 11檢測(cè)到已經(jīng)顯示了一個(gè)GOP。更確切地說(shuō),CPU 11通過(guò)經(jīng)由PCI總線14和北橋12讀取結(jié)果來(lái)檢測(cè)哪一個(gè)圖像已經(jīng)顯示了,以響應(yīng)從CPU 20經(jīng)由控制總線19供給結(jié)果緩沖器32的顯示開始命令,即以下所討論的在圖18中步驟S194中由CPU 20寫入結(jié)果緩沖器32的顯示完成消息,其表示各個(gè)幀都已經(jīng)顯示過(guò)了。
在步驟S9中,CPU 11確定所顯示的GOP是否為流數(shù)據(jù)的最后一個(gè)GOP。如果發(fā)現(xiàn)所顯示的GOP是最后的GOP,那么處理結(jié)束。
如果在步驟S9中確定,所顯示的GOP不是最后的GOP,那么處理前進(jìn)到步驟S10,以根據(jù)從操作輸入單元(未示出)供給的信號(hào)來(lái)確定是否已經(jīng)由用戶輸入指令來(lái)改變輸入流狀態(tài)(例如來(lái)完成重放流數(shù)據(jù)),改變正在重放的流數(shù)據(jù),或者改變重放速度或方向。
如果在步驟SI0中發(fā)現(xiàn)改變輸入流狀態(tài)的指令,那么處理前進(jìn)到步驟S11,其中CPU 11經(jīng)由北橋12和PCI總線14發(fā)送對(duì)應(yīng)于用戶操作的命令至命令緩沖器31。
如果在步驟S10發(fā)現(xiàn)還沒(méi)有輸入改變輸入流狀態(tài)的指令,或者在步驟S11之后,那么處理前進(jìn)到步驟S12以確定在HDD16中是否存在要顯示的任何流數(shù)據(jù)。如果在步驟S12中確定,不存在要顯示的流數(shù)據(jù),那么處理返回到步驟S7以處理發(fā)送到存儲(chǔ)器18的流數(shù)據(jù)。
如果在步驟S12中確定,存在要顯示的流數(shù)據(jù),那么處理前進(jìn)到步驟S13,其中CPU 11控制北橋12和南橋15從HDD16中讀出流數(shù)據(jù)的隨后GOP。
在步驟S14中,CPU 11經(jīng)由PCI總線14將讀取的GOP供給PCI橋17,并將GOP傳送到存儲(chǔ)器18。也就是說(shuō),基本上在存儲(chǔ)器18中,除當(dāng)存儲(chǔ)了要重放的流數(shù)據(jù)的尾部時(shí)之外,存儲(chǔ)了預(yù)先確定數(shù)目的GOP。
在步驟S15中,通過(guò)經(jīng)由北橋12和PCI總線14將數(shù)據(jù)傳送完成消息和圖像信息供給命令緩沖器31,CPU 11發(fā)送涉及包含在要傳送給存儲(chǔ)器18的GOP中的圖像的數(shù)據(jù)傳送完成消息和圖像信息至CPU20。圖像信息包括例如各個(gè)圖像的類型和尺寸。
在步驟S16中,CPU 11從CPU 20和存儲(chǔ)器18接收就緒消息。更確切地說(shuō),CPU 11經(jīng)由PCI總線14和北橋12讀取結(jié)果,以響應(yīng)從CPU20經(jīng)由控制總線19供給結(jié)果緩沖器32的數(shù)據(jù)傳送完成消息和圖像信息,CPU 11也接收表示GOP流數(shù)據(jù)已經(jīng)從存儲(chǔ)器18經(jīng)由PCI橋17、PCI總線14、和北橋12存儲(chǔ)的消息。
在步驟S16之后,處理前進(jìn)到步驟S7,并且執(zhí)行隨后處理。
根據(jù)上述處理,通過(guò)供給命令至CPU 20,并接收結(jié)果以響應(yīng)所供給的命令,CPU 11能夠控制流數(shù)據(jù)的編碼和解碼的數(shù)據(jù)的顯示。
在該處理中,在GOP單元中顯示解碼的數(shù)據(jù)。當(dāng)輸出由對(duì)應(yīng)解碼器解碼的SDI信號(hào)至外源時(shí),CPU 11能夠執(zhí)行類似于上述處理的處理。因此,通過(guò)將命令供給CPU 20并接收結(jié)果以響應(yīng)所供給的命令,CPU 11能夠控制流數(shù)據(jù)的編碼和解碼的數(shù)據(jù)至外源的輸出。
然后根據(jù)從CPU 11供給的命令,CPU20控制由多個(gè)解碼器(圖1中解碼器22、23和24)執(zhí)行的解碼處理。更確切地說(shuō),CPU 20選擇用于解碼的解碼器22、23或24,即供給壓縮編碼的視頻數(shù)據(jù)的解碼器22、23或24。CPU 20也根據(jù)流數(shù)據(jù)至所選擇的解碼器的輸入定時(shí)、對(duì)于各個(gè)圖像的解碼定時(shí)、組中的參考圖像位置的設(shè)置、在解碼處理中組存儲(chǔ)器的分配、和解碼圖像的輸出定時(shí)(即顯示定時(shí))來(lái)控制PCI橋17、解碼器22、23和24,和選擇器25。以下參考圖4至圖38討論了由CPU 20執(zhí)行的解碼和顯示輸出控制操作。
存儲(chǔ)器21具有多個(gè)寄存器和信息隊(duì)列以便存儲(chǔ)各種類型的信息,以允許CPU 20控制解碼器22、23和24執(zhí)行的解碼處理,和從選擇器25輸出的SDI信號(hào)的選擇處理。信息隊(duì)列是先進(jìn)先出(FIFO)隊(duì)列,其中根據(jù)解碼定時(shí)計(jì)劃或者解碼/顯示控制目的,可以以預(yù)先確定的深度來(lái)存儲(chǔ)從CPU 11供給的命令、與圖像類型信息相關(guān)的圖像ID、和帶有圖像ID的信息(例如,時(shí)間信息)。
CPU 20通過(guò)使用存儲(chǔ)在對(duì)應(yīng)信息隊(duì)列中的信息來(lái)控制解碼和顯示定時(shí)。也就是說(shuō),替代存儲(chǔ)器21中的隊(duì)列圖像,在CPU 20的控制下圖像ID存儲(chǔ)在對(duì)應(yīng)信息隊(duì)列中,從而允許CPU 20執(zhí)行計(jì)算以便控制解碼和顯示定時(shí)。
存儲(chǔ)各種類型信息并用于CPU 20各種控制操作的信息隊(duì)列包括命令隊(duì)列,存儲(chǔ)經(jīng)由控制總線19從命令緩沖器31獲得的命令;輸入圖像隊(duì)列,其中以編碼順序存儲(chǔ)對(duì)應(yīng)于隊(duì)列的輸入圖像的圖像ID;顯示順序信息隊(duì)列,其中存儲(chǔ)了以顯示順序重新排序的存儲(chǔ)在輸入圖像隊(duì)列中的圖像ID;I/P圖像解碼隊(duì)列,其中存儲(chǔ)了從存儲(chǔ)在顯示順序信息隊(duì)列中的圖像ID提取的I圖像和P圖像,并以解碼順序重新排列;時(shí)間信息I/P圖像解碼隊(duì)列,其中除設(shè)置在I/P圖像解碼隊(duì)列中的圖像ID之外,存儲(chǔ)了對(duì)應(yīng)于圖像ID的時(shí)間信息;顯示順序設(shè)置隊(duì)列,其中以顯示順序設(shè)置圖像ID;時(shí)間信息顯示順序設(shè)置隊(duì)列,其中除設(shè)置在顯示順序設(shè)置隊(duì)列中的圖像ID之外,還存儲(chǔ)了與圖像ID相關(guān)的時(shí)間信息;以及顯示隊(duì)列,存儲(chǔ)隨后要顯示的圖像的圖像ID。以下討論存儲(chǔ)在各個(gè)隊(duì)列中的信息、隊(duì)列的深度、以及通過(guò)使用信息執(zhí)行的處理的細(xì)節(jié)。
以下參考圖4的流程圖描述在各個(gè)幀上執(zhí)行的幀處理1。為每個(gè)幀重復(fù)該處理例行程序直至已經(jīng)處理了要顯示的流數(shù)據(jù),或者直至提供了完成顯示操作的指令。
在步驟S31中,執(zhí)行以下參考圖5詳細(xì)描述的輸入流狀態(tài)改變處理。在輸入流狀態(tài)改變處理中,CPU 20檢查從CPU 11發(fā)出的新命令。
在步驟S32中,執(zhí)行解碼計(jì)劃處理1,以下將參考圖6詳細(xì)描述該處理。在解碼計(jì)劃處理1中,安排解碼定時(shí)的計(jì)劃。
在步驟S33中,CPU 20參考表示一幀的處理時(shí)間的時(shí)間計(jì)數(shù)器來(lái)確定,主題幀是不是以解碼順序要重放的流數(shù)據(jù)的第一至第六幀之一。
如果在步驟S33中確定,主題幀不是流數(shù)據(jù)的第一至第六幀之一,那么處理前進(jìn)到步驟S34,該步驟中執(zhí)行一幀延遲顯示設(shè)置處理,以下參考圖38來(lái)描述該處理。在一幀延遲顯示設(shè)置處理中,設(shè)置在先前處理例行程序的步驟S35中幀控制處理1中解碼和生成的基帶幀圖像。
如果在步驟S33中確定,主題幀是流數(shù)據(jù)的第一至第六幀之一,或者在步驟S34之后,處理前進(jìn)到步驟S35,其中執(zhí)行幀控制處理1,將參考圖18討論該處理。在幀控制處理1中,解碼要處理的幀。
在步驟S36中,CPU 20確定是否所有的幀都處理了。如果在步驟S36確定,不是所有的幀都處理了,那么處理前進(jìn)到步驟S37,其中CPU 20以幀單元遞增時(shí)間計(jì)數(shù)器。然后,處理返回到步驟S31,然后重復(fù)隨后的處理。
如果在步驟S36中確定所有幀都已經(jīng)處理了,那么處理結(jié)束。
根據(jù)圖4所示處理,CPU 20為各個(gè)幀遞增時(shí)間計(jì)數(shù)器,并根據(jù)用戶指示的重放速度安排解碼處理的計(jì)劃,并允許對(duì)應(yīng)的解碼器解碼各個(gè)幀。
以下參考圖5的流程圖討論圖4的步驟S31中的輸入流狀態(tài)改變處理的細(xì)節(jié)。
在步驟S51中,CPU 20檢查存儲(chǔ)來(lái)自命令緩沖器31的命令的命令隊(duì)列。
在步驟S52中,CPU 20判斷改變輸入流狀態(tài)諸如改變重放速度和重放方向或者完成重放操作的新命令是否存儲(chǔ)在命令隊(duì)列中。
如果在步驟S52中確定,存儲(chǔ)了新命令,那么處理前進(jìn)到步驟S53,其中CPU 20根據(jù)最早時(shí)間存儲(chǔ)在命令隊(duì)列中的命令來(lái)改變輸入流狀態(tài),例如重放速度和重放方向。如果在步驟S52中確定在命令隊(duì)列中沒(méi)有存儲(chǔ)新的命令或者在步驟S53中之后,那么處理返回到圖4中步驟S31。
根據(jù)該處理,檢查最早時(shí)間存儲(chǔ)在命令隊(duì)列中的命令,所述命令隊(duì)列存儲(chǔ)從命令緩沖器31獲得的命令,并且根據(jù)該命令,改變輸入流狀態(tài)。
以下參考圖6的流程圖描述圖4步驟S32中執(zhí)行的解碼計(jì)劃處理1的細(xì)節(jié)。
在步驟S71中,CPU 20參考輸入圖像隊(duì)列來(lái)確定,輸入圖像隊(duì)列是否為空。輸入圖像隊(duì)列是信息隊(duì)列,所述信息隊(duì)列在步驟S72中執(zhí)行的輸入處理中進(jìn)行設(shè)置,其存儲(chǔ)輸入圖像的圖像ID(要為所述輸入圖像進(jìn)行解碼計(jì)劃)以及安排計(jì)劃所需的圖像。
現(xiàn)在假定,在重放裝置1中處理的流數(shù)據(jù)是MPEG長(zhǎng)GOP流數(shù)據(jù),每個(gè)GOP包括15幅圖像,諸如圖7所示。執(zhí)行各組15幅圖像的解碼處理的每個(gè)解碼器22、23和24接收一個(gè)GOP的除顯示順序的前兩幅B圖像的13幅圖像、和隨后GOP的前三幅IBB圖像(在正向重放操作的情況下)或者先前GOP的前三幅IBB圖像(在反向重放操作的情況下)總共16幅圖像。
以下參考圖8A和8B討論分配給解碼器22,23和24的解碼單元。在圖8A和8B中,以顯示順序示出了供給解碼器22,23和24的圖像的排列。在重放裝置1中,具有15幅圖像的各個(gè)GOP在一個(gè)解碼器22,23和24中解碼。如上所述,各個(gè)解碼器22,23和24接收一個(gè)GOP的除顯示順序的前兩幅B圖像的13幅圖像、和先前或隨后GOP的前三幅圖像總共16幅圖像。也就是說(shuō),如果重放方向是正向,如圖8A所示,那么從解碼器22、23和24選擇的第一解碼器接收第一GOP的除了前兩幅B圖像的13幅圖像和第二GOP的前三幅圖像,并且第二解碼器接收第二GOP的除了顯示順序的前兩幅B圖像的13幅圖像以及第三GOP的前三幅圖像。類似地,第三解碼器接收第三GOP的除了前兩幅圖像的13幅圖像以及第四GOP的前三幅圖像。如果播放方向是反向,如圖8B所示,從解碼器22、23和24選擇的第一解碼器接收第二GOP的除了前兩幅B圖像的13幅圖像和第三GOP的前三幅圖像,而且第二解碼器接收第一GOP的除了前兩幅B圖像的13幅圖像和第二GOP的前三幅圖像。
在輸入圖像隊(duì)列中,設(shè)置了要為其進(jìn)行解碼計(jì)劃的輸入圖像的圖像ID和用于安排計(jì)劃所需的圖像。也就是說(shuō),在輸入圖像隊(duì)列中,存儲(chǔ)了總共18幅圖像的圖像ID,即MEPG長(zhǎng)GOP流數(shù)據(jù)的一個(gè)GOP的15幅圖像和先前或隨后GOP的前三幅IBB圖像的圖像ID。
圖9A舉例說(shuō)明了存儲(chǔ)在輸入圖像隊(duì)列中的MPEG長(zhǎng)GOP流數(shù)據(jù)的第一GOP的15幅圖像和緊隨其后的第二GOP的前三幅IBB圖像的圖像ID,以執(zhí)行正向重放操作。圖9B舉例說(shuō)明了存儲(chǔ)在輸入圖像隊(duì)列中的MPEG長(zhǎng)GOP流數(shù)據(jù)的第二GOP的15幅圖像、和先于第二GOP的的第三GOP的前三幅IBB圖像的圖像ID,以執(zhí)行反向重放操作。
如果在步驟S71確定,輸入圖像隊(duì)列不為空,那么處理返回到圖4的步驟S32。也就是說(shuō),在解碼計(jì)劃處理中,總共16幅圖像,即,從GOP的第三幅圖像至第15幅圖像的13幅圖像、以及隨后GOP的前三幅圖像,作為處理單元來(lái)處理。
如果在步驟S71確定,輸入圖像隊(duì)列為空,那么在步驟S72中執(zhí)行輸入處理,以下將參考圖15的流程圖討論所述處理。
在步驟S73中,CPU 20根據(jù)表示接收隨后數(shù)據(jù)的解碼器的寄存器值,來(lái)確定時(shí)間信息延遲順序設(shè)置隊(duì)列是否為空,所述時(shí)間信息延遲順序設(shè)置隊(duì)列是根據(jù)接收隨后數(shù)據(jù)的解碼器設(shè)置的。時(shí)間信息顯示順序設(shè)置隊(duì)列是在步驟S80的用于多個(gè)解碼器(圖1解碼器22、23和24)的時(shí)間信息計(jì)劃確定處理中設(shè)置的隊(duì)列。以下參考圖17的流程圖給出時(shí)間信息計(jì)劃確定處理的細(xì)節(jié)。
如果在步驟S73中確定,對(duì)應(yīng)于接收隨后數(shù)據(jù)的解碼器的時(shí)間信息顯示順序設(shè)置隊(duì)列不為空,也就是說(shuō),如果正對(duì)對(duì)安排計(jì)劃的GOP的每幀圖像執(zhí)行解碼處理或者顯示處理,那么處理返回到圖4的步驟S32。
如果在步驟S73中確定,時(shí)間信息顯示順序設(shè)置隊(duì)列為空,那么處理前進(jìn)到步驟S74,其中CPU 20執(zhí)行重排序處理。在重排序處理中,以編碼順序排列設(shè)置在輸入圖像隊(duì)列中的18幅圖像的圖像ID以顯示順序重新排列,并且設(shè)置在顯示順序信息隊(duì)列中。
因此,如果重放方向是正向,那么正如參考圖9A所討論的、以圖10A所示的顯示順序重新排列的設(shè)置在輸入圖像隊(duì)列中的圖像ID被設(shè)置在顯示順序信息隊(duì)列中。如果重放方向是反向,那么正如參考圖9B所討論的、以圖10B所示的顯示順序重新排列的設(shè)置在輸入圖像隊(duì)列中的圖像ID被設(shè)置在顯示順序信息隊(duì)列中。
當(dāng)在步驟S74執(zhí)行重排序處理以在顯示順序信息隊(duì)列中設(shè)置圖像ID時(shí),輸出在輸入圖像隊(duì)列中排列的所有圖像ID,并且輸入圖像隊(duì)列變?yōu)榭铡R簿褪钦f(shuō),如果在步驟S71中確定,輸入圖像隊(duì)列為空,那么意味著重新排序了在輸入圖像隊(duì)列中排列的圖像ID。如果在步驟S71中確定,輸入圖像隊(duì)列不為空,那么意味著由于對(duì)應(yīng)于接收隨后數(shù)據(jù)的解碼器的時(shí)間信息顯示順序設(shè)置隊(duì)列在執(zhí)行先前解碼計(jì)劃處理中的步驟S72中的輸入處理1之后不為空,因而沒(méi)有執(zhí)行步驟S74中的重排序處理。
在步驟S75中,CPU 20參考在步驟S74中設(shè)置的顯示順序信息隊(duì)列,并設(shè)置在I/P圖像解碼隊(duì)列中以解碼順序要解碼的GOP的I圖像和P圖像的圖像ID。I/P圖像解碼隊(duì)列是這樣的隊(duì)列,其中以解碼順序來(lái)設(shè)置先于B圖像的要解碼的I圖像和P圖像的圖像ID。
圖11A和11B分別舉例說(shuō)明了當(dāng)執(zhí)行快速正向重放操作和反向重放操作時(shí)的I/P圖像解碼隊(duì)列。在I/P圖像解碼隊(duì)列中,當(dāng)執(zhí)行正向重放操作時(shí),如圖11A所示,設(shè)置對(duì)應(yīng)于在圖10A所示顯示順序信息隊(duì)列中設(shè)置的圖像ID的I圖像和P圖像的6幅圖像的圖像ID。在I/P圖像解碼隊(duì)列中,當(dāng)執(zhí)行反向重放操作時(shí),如圖11B所示,設(shè)置對(duì)應(yīng)于在圖10B所示顯示順序信息隊(duì)列中設(shè)置的圖像ID的I圖像和P圖像的6幅圖像的圖像ID。
在步驟S76中,CPU 20指定I圖像和P圖像存儲(chǔ)的組位置,也指定用于解碼P圖像的參考圖像組。為I圖像和P圖像使用圖2所示視頻組存儲(chǔ)器82中的8組的6個(gè)固定組。
通過(guò)首先解碼I圖像和P圖像(也稱作“錨幀”)并且通過(guò)固定解碼的I圖像和P圖像存儲(chǔ)的組位置,可以在正向重放操作中、在反向重放操作中、或者隨機(jī)重放操作中從任何圖像重放流數(shù)據(jù)。通過(guò)首先解碼6幅I圖像和P圖像,由于I圖像和P圖像的處理時(shí)間較短,因而從用戶給出開始重放操作或者改變重放速度或者重放方向的指令的時(shí)間到通過(guò)反映該指令顯示圖像的時(shí)間可以減少,而不管GOP中顯示開始幀的位置。另外,可以減少擦除重放操作中顯示期望圖像的顯示時(shí)間。結(jié)果,可以改善快速重放操作期間的性能。
在步驟S77中,CPU 20指定參考圖像組的位置,以便根據(jù)如在步驟S76所指定的存儲(chǔ)I圖像和P圖像的組位置來(lái)解碼B圖像。以下討論在幀控制處理1中指定B圖像所存儲(chǔ)的組位置。
在步驟S78中,CPU20設(shè)置顯示順序設(shè)置隊(duì)列。
圖12A和12B分別舉例說(shuō)明了在正向重放操作和反向重放操作中和中的顯示順序設(shè)置隊(duì)列。在顯示順序設(shè)置隊(duì)列中,當(dāng)執(zhí)行正向重放操作時(shí),如圖12A所示以顯示順序來(lái)設(shè)置在圖10A中所示顯示順序信息隊(duì)列中排列的18幅圖像ID,除了前兩幅B圖像和最后I圖像,也就是,15幅圖像ID,即,圖8A所示供給解碼器22、23和24之一的16幅圖像ID,除了最后的I圖像。
在顯示順序設(shè)置隊(duì)列中,當(dāng)執(zhí)行反向重放操作時(shí),如圖12B所示以顯示順序來(lái)設(shè)置在圖10B中所示顯示順序信息隊(duì)列中排列的18幅圖像ID,除了前兩幅B圖像和最后I圖像,也就是,15幅圖像ID,即,圖8B所示供給解碼器22、23和24之一的16幅圖像ID,除了最后的I圖像。
當(dāng)在步驟S78中設(shè)置顯示順序設(shè)置隊(duì)列時(shí),將顯示順序信息隊(duì)列中排列的圖像ID全部輸出,并且顯示順序信息隊(duì)列變?yōu)榭铡?br>
在步驟S79中,執(zhí)行以下參考圖16討論的顯示階段確定處理。在顯示階段確定處理中,確定處理單元中解碼開始定時(shí)和顯示開始定時(shí)之間的偏移(displacement),其等于一個(gè)包括15幀的GOP和1幀。
在步驟S80中,執(zhí)行以下參考圖17的流程圖討論的時(shí)間信息計(jì)劃確定處理。在時(shí)間信息計(jì)劃確定處理中,為了控制各個(gè)幀的解碼定時(shí),進(jìn)行解碼計(jì)劃,并且在與圖像ID相關(guān)的預(yù)先確定的信息隊(duì)列中設(shè)置時(shí)間信息。
在步驟S79和S80中,安排解碼定時(shí)和顯示定時(shí)的計(jì)劃。更確切地說(shuō),當(dāng)顯示圖像的首部是I圖像或P圖像時(shí),意味著重放操作方向和重放速度是正向的和正常的。在這種情況下,在B圖像之前解碼I圖像和P圖像,如圖13所示,并且計(jì)劃解碼定時(shí)和顯示定時(shí)以便顯示開始定時(shí)與解碼開始定時(shí)偏移6幅圖像,而導(dǎo)致B圖像的顯示定時(shí)與B圖像的解碼定時(shí)偏移一個(gè)幀。當(dāng)顯示圖像的首部為B圖像時(shí),意味著重放方向是反向,換句話說(shuō),速度設(shè)置表示負(fù)值。在這種情況下,I圖像和P圖像在B圖像之前解碼,如圖14所示,并且安排解碼定時(shí)和顯示定時(shí)的計(jì)劃以便顯示開始定時(shí)與解碼開始定時(shí)偏移7幅圖像,而導(dǎo)致B圖像的顯示定時(shí)與B圖像的解碼定時(shí)偏移一個(gè)幀。
在步驟S81中,CPU 20切換接收隨后數(shù)據(jù)的解碼器。更確切地說(shuō),當(dāng)表示接收隨后數(shù)據(jù)的解碼器的寄存器值等于某個(gè)比解碼器數(shù)(圖1所示在重放裝置1中3個(gè))小1的值(即,圖1所示重放裝置1中為2)時(shí),CPU 20設(shè)置寄存器值為0。當(dāng)寄存器值比解碼器數(shù)小2或更多時(shí),CPU 20將寄存器值遞增1。在步驟S81之后,處理返回到圖4所示步驟S32。
根據(jù)上述處理,安排解碼定時(shí)和顯示定時(shí)的計(jì)劃。
參考圖15的流程圖,給出圖6中步驟S72中所執(zhí)行的輸入處理的描述。
在步驟S101中,CPU 20獲得包含在圖3的步驟S5中由CPU11發(fā)送給命令緩沖器31的解碼開始命令中的顯示速度信息,或者在圖3步驟S11響應(yīng)用戶輸入、由CPU 11發(fā)送給命令緩沖器31的命令獲得速度設(shè)置值,并在存儲(chǔ)器21中存儲(chǔ)所獲得的信息。如果速度設(shè)置值為正,那么重放方向?yàn)檎?,并且如果速度設(shè)置值為負(fù),那么重放方向?yàn)榉聪颉?br>
如下確定速度設(shè)置值。如果速度設(shè)置值為1,那么執(zhí)行正常重放操作。如果速度設(shè)置值大于1,那么執(zhí)行快速重放操作。如果速度設(shè)置值小于1,那么執(zhí)行低速重放操作。如果速度設(shè)置值為-1,那么執(zhí)行正常速度的反向重放操作。如果速度設(shè)置值小于-1,那么執(zhí)行快速反向重放操作。如果速度設(shè)置值是絕對(duì)值小于1的負(fù)值,那么執(zhí)行低速反向重放操作。
然后,根據(jù)在步驟S101中獲得的速度設(shè)置值是正或負(fù),CPU 11在步驟S102中確定要執(zhí)行的處理是正向重放操作或者是反向重放操作。
在步驟S102中如果發(fā)現(xiàn)重放方向是正向,那么處理前進(jìn)到步驟S103。在步驟S103中,CPU 20在參考圖9A討論的輸入圖像隊(duì)列中設(shè)置要解碼的GOP的從首部起的13幀和隨后GOP的I圖像、B圖像、和B圖像的圖像ID。
如果在步驟S102中確定,重放方向不是正向,即重放方向是反向,處理前進(jìn)到步驟S104。在步驟S104中,CPU 20在參考圖9B討論的輸入圖像隊(duì)列中設(shè)置要解碼的GOP的從尾部起的13幀和先前GOP的I圖像、B圖像、和B圖像的圖像ID。
在步驟S103或S104之后,在步驟S105中,根據(jù)輸入圖像隊(duì)列的設(shè)置和表示接收隨后數(shù)據(jù)的寄存器的寄存器值,CPU 20控制PCI橋17以將存儲(chǔ)在存儲(chǔ)器18的流數(shù)據(jù)中的、參考圖8A和8B討論的16幀壓縮的圖像數(shù)據(jù)傳送到從解碼器22、23和24中選擇的預(yù)先確定的解碼器。在這種情況下,對(duì)于流數(shù)據(jù)的第一GOP,寄存器值是在初始設(shè)置中確定的值,并且對(duì)于第二或隨后GOP,寄存器值是在圖6的步驟S81中確定的寄存器值。
在解碼器22、23或24中,輸入處理器71將16幀數(shù)據(jù)供給存儲(chǔ)器控制器74,并將數(shù)據(jù)存儲(chǔ)在輸入緩沖器75中。輸入處理器71也將涉及例如各個(gè)圖像的首部地址、數(shù)據(jù)尺寸、圖像尺寸信息、Q矩陣的信息供給地址管理表72,并將各個(gè)圖像的信息存儲(chǔ)為能夠由表ID來(lái)標(biāo)識(shí)的表信息。
在步驟S106中,通過(guò)將表示一個(gè)GOP流已經(jīng)傳送到預(yù)先確定的解碼器的結(jié)果經(jīng)由控制總線19供給PCI橋17的結(jié)果緩沖器32,CPU 20發(fā)送流傳送完成消息給CPU 11。然后處理返回到圖6的步驟S72。
根據(jù)輸入處理,如參考圖8A和8B討論的充當(dāng)解碼處理單元的16幀數(shù)據(jù),提供給解碼器22、23或24。
以下參考圖16的流程圖描述在圖6的步驟S79中執(zhí)行的用于設(shè)置相對(duì)于解碼開始定時(shí)延遲顯示開始定時(shí)的階段的顯示階段確定處理。
在步驟S131中,CPU 20在顯示圖像數(shù)目寄存器中存儲(chǔ)關(guān)于圖12A和12B所示顯示順序設(shè)置隊(duì)列中設(shè)置的要顯示的圖像數(shù)目的信息。由于在圖12A和12B中的顯示順序設(shè)置隊(duì)列中設(shè)置了15幅圖像的圖像ID,因而將15設(shè)置在顯示圖像數(shù)目寄存器中。
在步驟S132中,CPU 20將存儲(chǔ)在圖11A和11B所示I/P圖像解碼隊(duì)列中的要解碼的I圖像和P圖像的總數(shù)存儲(chǔ)在I/P圖像數(shù)目寄存器中。由于在圖11A和11B所示的I/P圖像解碼隊(duì)列中設(shè)置了6幅圖像的圖像ID,因而將6存儲(chǔ)在I/P圖像數(shù)目寄存器中。
在步驟S133中,CPU 20確定,設(shè)置在顯示順序設(shè)置隊(duì)列首部的圖像ID的圖像類型是不是B圖像。換句話說(shuō),在步驟S133確定,當(dāng)計(jì)算正常速度正向或反向重放操作中的階段偏移時(shí),重放方向是正向或者反向。在執(zhí)行以下要描述的省略處理1之后,即使設(shè)置在顯示順序設(shè)置隊(duì)列首部的圖像ID的圖像類型是B圖像,根據(jù)重放速度,重放方向可以是正向或者反向。
如果在步驟S133中發(fā)現(xiàn)在顯示順序設(shè)置隊(duì)列首部的圖像ID的圖像類型是B圖像,那么處理前進(jìn)到步驟S134。在步驟S134中,CPU 20設(shè)置通過(guò)將要解碼的I圖像和P圖像的總數(shù)增加1而獲得的數(shù)目,作為相對(duì)于在I/P圖像解碼隊(duì)列中設(shè)置的圖像ID的I圖像和P圖像的解碼開始定時(shí)、在顯示順序設(shè)置隊(duì)列中設(shè)置的圖像ID的圖像的顯示開始定時(shí)的時(shí)間階段偏移disp_phase。
例如,當(dāng)重放速度是×-1時(shí),如圖14所示,在顯示順序設(shè)置隊(duì)列的首部的圖像ID的圖像類型是B圖像。在解碼I圖像和P圖像之后,解碼B圖像以便B圖像的顯示定時(shí)與I圖像和P圖像的解碼定時(shí)偏移7幅圖像,而導(dǎo)致B圖像的顯示定時(shí)與B圖像的解碼定時(shí)偏移一個(gè)幀。
如果在步驟S133確定,在顯示順序設(shè)置隊(duì)列首部的圖像ID的圖像類型不是B圖像,那么處理前進(jìn)到步驟S135。在步驟S135,CPU 20將要解碼的I圖像和P圖像的總數(shù)設(shè)置為相對(duì)于在I/P圖像解碼隊(duì)列中設(shè)置的圖像ID的I圖像和P圖像的解碼開始定時(shí)、在顯示順序設(shè)置隊(duì)列中設(shè)置的圖像ID的圖像的顯示開始定時(shí)的時(shí)間階段偏移disp_phase。
例如,當(dāng)重放速度是×1時(shí),如圖13所示,在顯示順序設(shè)置隊(duì)列的首部的圖像ID的圖像類型不是B圖像而是I圖像。在解碼I圖像和P圖像之后,解碼B圖像以便I圖像的顯示定時(shí)與I圖像和I圖像與P圖像的解碼定時(shí)偏移6幅圖像,而導(dǎo)致B圖像的顯示定時(shí)與B圖像的解碼定時(shí)偏移一個(gè)幀。
在步驟S134或S135之后,在步驟S136中,CPU 20將在步驟S134或S135中確定的顯示階段偏移disp_phase存儲(chǔ)在內(nèi)置寄存器中。
在步驟S137中,CPU 20確定主題GOP是不是顯示起始GOP(包括其中主題GOP位于在重放速度改變之后重新開始重放操作的位置的情況)。
如果在步驟S137中確定,主題GOP不是顯示起始GOP,那么處理前進(jìn)到步驟S138。在步驟S138中,CPU 20從在步驟S134或S135中確定的顯示階段偏移disp_phase減去在先前處理中的先前GOP中的階段偏移prev_disp_phase,并將結(jié)果值作為偏移校正值disp_zero存儲(chǔ)在內(nèi)置寄存器中。CPU 20還將在步驟S134或S135中確定的顯示階段偏移disp_phase代入在先前GOP中的顯示階段偏移prev_disp_phase。然后處理返回到圖6中步驟S79。
如果在步驟S137中確定,主題GOP是顯示起始GOP,那么處理前進(jìn)到步驟S139,其中CPU 20將初始值0作為偏移校正值disp_zero設(shè)置在內(nèi)置寄存器中。然后處理返回到圖6的步驟S79。
根據(jù)顯示階段確定處理,可以確定相對(duì)于解碼開始定時(shí)延遲顯示開始定時(shí)的階段。
以下參考圖17的流程圖來(lái)描述圖6的步驟S80中執(zhí)行的時(shí)間信息計(jì)劃確定處理。
在步驟S161中,CPU 20確定主題GOP是不是改變輸入流狀態(tài)之后的對(duì)應(yīng)于第一GOP的解碼處理單元。其圖像類型在執(zhí)行圖像省略之后已經(jīng)改變的解碼處理單元不是第一解碼處理單元而是笫二或隨后的解碼處理單元。因此,如果在步驟S161中確定,主題GOP是對(duì)應(yīng)于第一GOP的解碼處理單元,那么處理前進(jìn)到步驟S166。
如果在步驟S161中確定,主題GOP不是對(duì)應(yīng)于第一GOP的解碼處理單元,那么處理前進(jìn)到步驟S162以確定在執(zhí)行圖像的省略之后第一圖像是否已經(jīng)從I圖像或P圖像改變?yōu)锽圖像。
如果在步驟S162中確定,在執(zhí)行圖像省略之后第一圖像已經(jīng)從I圖像或P圖像改變?yōu)锽圖像,那么處理前進(jìn)到步驟S163,其中CPU 20將階段調(diào)整值設(shè)置為1。處理前進(jìn)到步驟S167。
如果在步驟S162中確定,在執(zhí)行圖像省略之后第一圖像還沒(méi)有從I圖像或P圖像改變?yōu)锽圖像,那么處理前進(jìn)到步驟S164以確定在執(zhí)行圖像省略之后第一圖像是否從B圖像改變?yōu)镮圖像或P圖像。
如果在步驟S164中確定,在執(zhí)行圖像省略之后第一圖像已經(jīng)從B圖像改變?yōu)镮圖像或P圖像,那么處理前進(jìn)到步驟S165,其中CPU 20將階段調(diào)整值設(shè)置為-1。然后處理前進(jìn)到步驟S167。
如果在步驟S161中確定主題GOP是第一解碼處理單元,或者如果在步驟S164中確定在執(zhí)行圖像省略之后第一圖像還沒(méi)有從B圖像改變?yōu)镮圖像或P圖像,那么處理前進(jìn)到步驟S166,其中CPU 20將階段調(diào)整值設(shè)置為0。
在步驟S163、S165、或S166之后,處理前進(jìn)到步驟S167。在步驟S167,如以下等式(1)所示,通過(guò)使用先前解碼處理單元的解碼開始時(shí)間信息prev_time_base、階段偏移校正值disp_zero、在省略處理1(將在下文描述)中計(jì)算得到的時(shí)間信息調(diào)整值added_count以及在步驟S161至S166的步驟中確定的階段調(diào)整值,CPU 20計(jì)算解碼開始時(shí)間信息time_base,其表示16幅圖像的第一幀(這是解碼處理單元)在解碼器22、23、和24之一中解碼的時(shí)間解碼開始時(shí)間信息time_base=先前GOP的解碼開始時(shí)間信息prev_time_base-階段偏移校正值disp_zero+時(shí)間信息調(diào)整值added_count+階段調(diào)整值 ...(1)為了通過(guò)使用等式(1)計(jì)算顯示起始GOP的解碼開始時(shí)間信息,將先前GOP的解碼開始時(shí)間信息prev_time_base和在用于先前GOP的省略處理1中計(jì)算的時(shí)間信息調(diào)整值added_count設(shè)置為0。
在步驟S168中,CPU 20為接收后續(xù)數(shù)據(jù)的解碼器設(shè)置時(shí)間信息I/P圖像解碼隊(duì)列。
在時(shí)間信息I/P圖像解碼隊(duì)列中,將要首先解碼的圖像的解碼開始時(shí)間信息time_base和用于計(jì)數(shù)每幀的時(shí)間計(jì)數(shù)器的計(jì)數(shù)值設(shè)置成與設(shè)置在圖11A和11B所示的I/P圖像解碼隊(duì)列中的圖像ID相關(guān)聯(lián)。為每個(gè)解碼器22、23和24提供時(shí)間信息I/P圖像解碼隊(duì)列。
更確切地說(shuō),通過(guò)參考表示接收隨后數(shù)據(jù)的解碼器的寄存器值,CPU 20設(shè)置用于接收隨后數(shù)據(jù)的解碼器的時(shí)間信息I/P圖像解碼隊(duì)列。CPU 20使用解碼開始時(shí)間信息time_base作為表示對(duì)應(yīng)于解碼排列在I/P圖像解碼隊(duì)列中的圖像ID的第一圖像ID的幀的時(shí)間的信息,并使用時(shí)間計(jì)數(shù)器的計(jì)數(shù)值作為表示解碼對(duì)應(yīng)于其它圖像ID的幀的時(shí)間的信息。
當(dāng)在步驟S168中設(shè)置時(shí)間信息I/P圖像解碼隊(duì)列時(shí),由于輸出了排列在I/P圖像解碼隊(duì)列中的所有圖像ID,因而I/P圖像解碼隊(duì)列變?yōu)榭铡?br>
在步驟S169中,CPU 20為用于接收隨后數(shù)據(jù)的解碼器設(shè)置時(shí)間信息顯示順序設(shè)置隊(duì)列。
在時(shí)間信息顯示順序設(shè)置隊(duì)列中,從要顯示的第一圖像的顯示開始定時(shí)相對(duì)于解碼開始定時(shí)的階段偏移減去1而獲得的值以及時(shí)間計(jì)數(shù)器的計(jì)數(shù)值被設(shè)置為與參考圖12A和12B所討論的顯示順序設(shè)置隊(duì)列中設(shè)置的圖像ID相關(guān)。為重放裝置1的每個(gè)解碼器22,23和24提供時(shí)間信息顯示順序設(shè)置隊(duì)列。
更確切地說(shuō),通過(guò)參考表示接收隨后數(shù)據(jù)的解碼器的寄存器值,CPU 20設(shè)置用于接收隨后數(shù)據(jù)的解碼器的時(shí)間信息顯示順序設(shè)置隊(duì)列。CPU 20使用通過(guò)從階段偏移disp_phase中減去1而獲得的值作為調(diào)整到B圖像解碼定時(shí)的參考時(shí)間信息,所述階段偏移disp_phase表示在顯示階段確定處理中確定的顯示順序中的第一幀的顯示定時(shí),并使用時(shí)間計(jì)數(shù)器的計(jì)數(shù)值作為表示解碼對(duì)應(yīng)于其它圖像ID的幀的時(shí)間的信息。
當(dāng)在步驟S169中設(shè)置時(shí)間信息顯示順序設(shè)置隊(duì)列時(shí),由于輸出了排列在顯示順序設(shè)置隊(duì)列中的所有圖像ID,因而顯示順序設(shè)置隊(duì)列變?yōu)榭铡?br>
在步驟S170中,CPU 20將通過(guò)把要顯示的圖像數(shù)(其在圖16的步驟S131中存儲(chǔ)在顯示圖像數(shù)目寄存器中)加到解碼開始時(shí)間信息time_base上而獲得的值作為先前GOP的解碼開始時(shí)間信息prev_time_base,存儲(chǔ)在寄存器中。然后處理返回到圖6的步驟S80。
根據(jù)時(shí)間信息計(jì)劃確定處理,設(shè)置16幀(為解碼處理單元)的解碼處理定時(shí)。
根據(jù)分別參考圖16和17所討論的顯示階段確定處理和時(shí)間信息計(jì)劃確定處理,基于I圖像和P圖像的數(shù)目、要顯示的圖像數(shù)、以及要顯示的第一圖像是不是B圖像,將解碼階段和顯示階段設(shè)置為時(shí)間信息。因此,通過(guò)根據(jù)在每個(gè)解碼器中要解碼和顯示的圖像數(shù)的改變來(lái)動(dòng)態(tài)地改變速度,可以不斷地顯示解碼圖像,當(dāng)使用多個(gè)解碼器執(zhí)行快速正向和反向重放操作時(shí)發(fā)生上述改變。即使響應(yīng)于從某個(gè)圖像開始改變重放速度的指令而改變了省略周期,也能夠通過(guò)增加或減少要顯示地圖像數(shù)目,在對(duì)應(yīng)速度范圍內(nèi)為每個(gè)幀不斷地改變重放速度。
根據(jù)參考圖6至17所討論的處理,可以執(zhí)行圖4的步驟S32中的解碼計(jì)劃處理。
然后,如果在步驟S33中確定,主題幀是笫一至第六幀之一,那么處理通過(guò)跳過(guò)步驟S34中的一幀延遲顯示設(shè)置處理而前進(jìn)到步驟S35。在步驟S35中,執(zhí)行幀控制處理1。
以下參考圖18的流程圖來(lái)討論圖4中步驟S35執(zhí)行的幀控制處理1。
在步驟S191中,通過(guò)參考時(shí)間信息I/P圖像解碼隊(duì)列和用于管理重放裝置1中執(zhí)行的每個(gè)處理的定時(shí)的時(shí)間管理計(jì)數(shù)器,CPU 20確定是否存在顯示時(shí)間已經(jīng)過(guò)去的任何流數(shù)據(jù)。如果在步驟S191中確定,存在顯示時(shí)間已經(jīng)過(guò)去的流數(shù)據(jù),那么處理前進(jìn)到步驟S197。
如果在步驟S191中確定,不存在顯示時(shí)間已經(jīng)過(guò)去的流數(shù)據(jù),那么處理前進(jìn)到步驟S192,其中執(zhí)行以下將參考圖19討論的I圖像/P圖像解碼處理。
在步驟S193中,執(zhí)行以下將參考圖20討論的B圖像解碼處理。
在步驟S194中,通過(guò)將顯示圖像信息經(jīng)由控制總線19寫入PCI橋17的結(jié)果緩沖器32,CPU 20發(fā)送顯示圖像信息至CPU 11以響應(yīng)圖3中步驟S6從CPU 11發(fā)送的顯示開始命令。這使CPU 11能通過(guò)參考存儲(chǔ)在結(jié)果緩沖器32中的顯示圖像信息明白要顯示哪一個(gè)GOP的哪一個(gè)圖像。
在步驟S195中,CPU 20遞增時(shí)間管理計(jì)數(shù)器。
然后,在步驟S196中,執(zhí)行以下參考圖23描述的省略處理1,并且然后處理返回到圖4的步驟S35。
如果在步驟S191中確定,存在其顯示時(shí)間已經(jīng)經(jīng)過(guò)的流數(shù)據(jù),那么處理前進(jìn)到步驟S197,其中執(zhí)行以下參考圖35描述的下溢處理。然后處理返回到圖4的步驟S36。
根據(jù)幀控制處理,如果不存在其顯示時(shí)間已經(jīng)經(jīng)過(guò)的流數(shù)據(jù),那么基于解碼計(jì)劃解碼一個(gè)幀,并且執(zhí)行省略處理1。如果存在其顯示時(shí)間已經(jīng)經(jīng)過(guò)的流數(shù)據(jù),那么執(zhí)行以下描述的下溢處理。
現(xiàn)在參考圖19的流程圖給岀圖18中步驟S192中執(zhí)行的I圖像/P圖像解碼處理的描述。
在步驟S221中,CPU 20確定時(shí)間管理計(jì)數(shù)器的值是否匹配于與要隨后解碼的圖像的圖像ID相關(guān)、并設(shè)置在時(shí)間信息I/P圖像解碼隊(duì)列中的時(shí)間信息。如果在步驟S221中確定,時(shí)間管理計(jì)數(shù)器的值不匹配于時(shí)間信息,那么處理返回到圖18中步驟S192。
如果在步驟S221中確定,時(shí)間管理計(jì)數(shù)器的值匹配于時(shí)間信息,那么處理前進(jìn)到步驟S222。在步驟S222中,CPU 20經(jīng)由控制總線19控制解碼器22、23或24(指定為執(zhí)行解碼的解碼器),以解碼I圖像或P圖像,并從時(shí)間信息I/P圖像解碼隊(duì)列中刪除解碼圖像的圖像ID。
更確切地說(shuō),CPU 20參考表示接收隨后數(shù)據(jù)的解碼器的寄存器值,并控制相應(yīng)解碼器的基本流地址確定單元73,以允許存儲(chǔ)器控制器74從輸入緩沖器75中讀出對(duì)應(yīng)于在時(shí)間信息I/P圖像解碼隊(duì)列中設(shè)置的圖像ID的圖像數(shù)據(jù),并將讀取數(shù)據(jù)供給解碼處理器77。
如果要解碼的圖像是I圖像,那么CPU 20控制解碼處理器77來(lái)解碼從存儲(chǔ)器控制器74供給的I圖像,也控制寫圖像地址確定單元78將解碼的幀數(shù)據(jù)供給存儲(chǔ)器控制器81,并將解碼的I圖像存儲(chǔ)在圖6步驟S76中指定為I圖像存儲(chǔ)組的組中。如果要解碼的圖像是P圖像,那么CPU 20控制參考圖像地址確定單元79以根據(jù)在圖6中步驟S76中設(shè)置的P圖像參考組位置、在存儲(chǔ)器控制器81的控制下讀取存儲(chǔ)在視頻組存儲(chǔ)器82中的參考圖像,并且將讀取的參考圖像供給解碼處理器77,并且控制解碼處理器77解碼從存儲(chǔ)器控制器74供給的P圖像。CPU 20也控制寫圖像地址確定單元78以將解碼的幀數(shù)據(jù)供給存儲(chǔ)器控制器81并將解碼的P圖像存儲(chǔ)在圖6的步驟S76中設(shè)置的指定為P圖像存儲(chǔ)組的組中。
在步驟S222之后,處理返回到圖18的步驟S192。
根據(jù)I圖像/P圖像解碼處理,可以基于規(guī)定的計(jì)劃來(lái)解碼I圖像和P圖像。
現(xiàn)在參考圖20的流程圖給出的在圖18中的步驟S193中執(zhí)行的B圖像解碼處理的描述。
在步驟S241中,CPU 20確定時(shí)間計(jì)數(shù)器的值是否與對(duì)應(yīng)于時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的第一圖像ID的時(shí)間信息一致。設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的時(shí)間信息是通過(guò)從顯示階段確定處理中確定的表示以顯示順序的在15幀中第一幀的顯示定時(shí)的階段偏移disp_phase減1獲得的值(調(diào)整到B圖像的解碼定時(shí)的參考時(shí)間信息),或者該時(shí)間信息是與不同于顯示順序中第一幀的幀的圖像ID相關(guān)的時(shí)間計(jì)數(shù)器的計(jì)數(shù)值。如果在步驟S241中確定,時(shí)間計(jì)數(shù)器的值不與對(duì)應(yīng)于在時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的第一圖像ID的時(shí)間信息一致,那么處理返回到圖18中步驟S193。
如果在步驟S241確定,時(shí)間計(jì)數(shù)器的值與在時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的時(shí)間信息一致,那么處理前進(jìn)到步驟S242,以確定其時(shí)間信息與時(shí)間管理計(jì)數(shù)器的值一致的圖像ID是不是B圖像。
如果在步驟S242中確定,對(duì)應(yīng)的圖像ID是B圖像,那么處理前進(jìn)到步驟S243,其中CPU 20經(jīng)由控制總線19控制解碼器22、23或24(其指定為執(zhí)行解碼的解碼器),以解碼由對(duì)應(yīng)圖像ID表示的B圖像。
更確切地說(shuō),CPU 20參考存儲(chǔ)在寄存器中、表示接收隨后數(shù)據(jù)的解碼器的值,并控制對(duì)應(yīng)解碼器的基本流地址確定單元73以允許存儲(chǔ)器控制器74從輸入緩沖器75中讀取在時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的圖像ID的圖像數(shù)據(jù),并以將讀取的圖像數(shù)據(jù)供給解碼處理器77。然后CPU 20控制參考圖像地址確定單元79以允許存儲(chǔ)器控制器81根據(jù)在圖6中步驟S77中設(shè)置的B圖像的參考組位置來(lái)讀取存儲(chǔ)在視頻組存儲(chǔ)器82中的參考圖像,并將讀取的參考圖像供給解碼處理器77。然后CPU 20控制解碼處理器77以解碼從存儲(chǔ)器控制器74供給的B圖像。
在步驟S244中,CPU 20設(shè)置B圖像存儲(chǔ)的組位置。更確切地說(shuō),CPU 20控制寫圖像地址確定單元78以便在視頻組存儲(chǔ)器82中,將B圖像交替地存儲(chǔ)在未指定為I圖像/P圖像存儲(chǔ)組的兩個(gè)組中。CPU 20控制寫圖像地址確定單元78以將解碼處理器77解碼的幀數(shù)據(jù)供給存儲(chǔ)器控制器81,并且將解碼的幀數(shù)據(jù)存儲(chǔ)在視頻組存儲(chǔ)器82中設(shè)置的組位置中。
如果在步驟S242中確定,對(duì)應(yīng)的圖像ID不是B圖像,或者在步驟S244之后,處理前進(jìn)到步驟S245。在步驟S245中,CPU 20將設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的第一圖像ID設(shè)置在顯示隊(duì)列中。顯示隊(duì)列是具有僅僅存儲(chǔ)一個(gè)圖像ID的深度的隊(duì)列。
更確切地說(shuō),如果在步驟S242中確定,對(duì)應(yīng)的圖像ID不是B圖像,那么在步驟S245中,CPU 20將在圖19的步驟S222中已經(jīng)解碼的I圖像或P圖像的圖像ID設(shè)置在顯示隊(duì)列中。如果在步驟S242中確定,對(duì)應(yīng)的圖像ID是B圖像,那么處理前進(jìn)到步驟S243,其中解碼B圖像。在這種情況下在步驟S245中,CPU 20將設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的第一圖像ID(即,解碼的B圖像的圖像ID)設(shè)置在顯示隊(duì)列中。
從時(shí)間信息顯示順序設(shè)置隊(duì)列中輸出設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的第一圖像ID,并且將緊隨在顯示隊(duì)列中設(shè)置的圖像ID的圖像的圖像的圖像ID設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列的首部,或者時(shí)間信息顯示順序設(shè)置隊(duì)列變?yōu)榭?。在步驟S245之后,處理返回到圖18中步驟S193。
如上所述,根據(jù)設(shè)置在時(shí)間信息I/P圖像解碼隊(duì)列和時(shí)間信息顯示順序設(shè)置隊(duì)列中的時(shí)間信息來(lái)執(zhí)行解碼。在正向重放操作中,正如圖21中所示,根據(jù)設(shè)置在時(shí)間信息I/P圖像解碼隊(duì)列中的時(shí)間信息來(lái)解碼I圖像和P圖像,并且根據(jù)設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的時(shí)間信息來(lái)解碼B圖像。在反向重放操作中,如圖22所示,根據(jù)設(shè)置在時(shí)間信息I/P圖像解碼隊(duì)列中的時(shí)間信息來(lái)解碼I圖像和P圖像,并且根據(jù)設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的時(shí)間信息來(lái)解碼B圖像。
如圖21和22所示,通過(guò)執(zhí)行以下所討論的一幀延遲顯示設(shè)置處理,設(shè)置B圖像的解碼定時(shí)以便B圖像的解碼定時(shí)與B圖像的顯示定時(shí)偏移一個(gè)幀,而無(wú)論重放方向是正向還是反向。
圖21和22舉例說(shuō)明了當(dāng)重放速度分別是×1和×-1時(shí)的解碼定時(shí)和顯示定時(shí)。在快速重放操作中,通過(guò)如下所述的省略處理1來(lái)改變時(shí)間信息顯示順序設(shè)置隊(duì)列的設(shè)置,并且在省略處理1之后,根據(jù)時(shí)間信息顯示順序設(shè)置隊(duì)列的改變的設(shè)置來(lái)在隨后處理例行程序中執(zhí)行解碼。在快速重放操作中,并不解碼所有的B圖像,但是解碼所有的I圖像和P圖像。
以下參考圖23的流程圖來(lái)描述在圖18的步驟S196中執(zhí)行的省略處理1。
在步驟S271中,CPU 20根據(jù)設(shè)置在參考圖5的輸入流狀態(tài)改變處理中設(shè)置的輸入流狀態(tài)來(lái)確定用戶設(shè)置的重放速度是不是快速重放操作。如果在步驟S271中確定,重放速度不是快速,那么處理返回到圖18的步驟S196,并且前進(jìn)到圖4中步驟S36。
如果在步驟S271中確定執(zhí)行了快速重放操作,那么處理前進(jìn)到步驟S272,以確定在改變速度設(shè)置后主題幀是不是笫一GOP的第一幀。
如果在步驟S272中發(fā)現(xiàn)主題幀是笫一GOP的第一幀,那么處理前進(jìn)到步驟S273,其中CPU 20根據(jù)速度設(shè)置值來(lái)確定省略周期,并將所確定的省略周期設(shè)置在寄存器中。
更確切地說(shuō),如果重放速度是×2或×-2,那么CPU 20將省略周期設(shè)置為1/2,并將其存儲(chǔ)在寄存器中。如果重放速度是×3或×-3,那么CPU 20將省略周期設(shè)置為1/3,并將其存儲(chǔ)在寄存器中。
在步驟S274中,CPU 20重置用于計(jì)數(shù)幀數(shù)目的幀計(jì)數(shù)器,而不管在省略處理1中的解碼處理單元。
如果在步驟S272確定,主題幀不是改變輸入流狀態(tài)之后的第一GOP的第一幀,或在步驟S274之后,那么處理前進(jìn)到步驟S275以確定是否關(guān)聯(lián)存儲(chǔ)在時(shí)間信息顯示順序設(shè)置隊(duì)列中的各個(gè)圖像ID地設(shè)置了檢查標(biāo)記,從而確定是否已經(jīng)全部檢查了設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的圖像ID。檢查標(biāo)記是在下文中將討論的步驟S280中設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的標(biāo)記。如果在步驟S275中確定已經(jīng)檢查了存儲(chǔ)在時(shí)間信息顯示順序設(shè)置隊(duì)列中的所有的圖像ID,那么處理返回到圖18中的步驟S196,并且前進(jìn)到圖4中步驟S36。
如果在步驟S275中確定,沒(méi)有檢查時(shí)間信息顯示順序設(shè)置隊(duì)列中所有的圖像ID,換句話說(shuō),存在一些沒(méi)有設(shè)置檢查標(biāo)記的圖像ID,那么處理前進(jìn)到步驟S276,其中CPU 20將幀計(jì)數(shù)器遞增1。
然后在步驟S277中,CPU 20參考在確定并存儲(chǔ)在寄存器中的省略周期以及幀計(jì)數(shù)器值,以確定是否要顯示在幀計(jì)數(shù)器中表示的幀。更確切地說(shuō),當(dāng)省略周期為1/2時(shí)如果幀計(jì)數(shù)器表示2n(n是正整數(shù)),那么CPU 20確定要顯示主題幀,并且在其它情況下,CPU 20確定不顯示主題幀。當(dāng)省略周期為1/3時(shí)如果幀計(jì)數(shù)器表示3n(n是正整數(shù)),那么CPU 20確定要顯示主題幀,并且在其它情況下,CPU 20確定不顯示主題幀。如果在步驟S277中確定要顯示主題幀,即,不省略該幀,那么處理前進(jìn)到步驟S280。
如果在步驟S277中確定,不顯示主題幀,即,省略該幀,那么處理前進(jìn)到步驟S278。在步驟S278中,CPU 20從時(shí)間信息顯示順序設(shè)置隊(duì)列中刪除主題幀的圖像ID,或者在時(shí)間信息顯示順序設(shè)置隊(duì)列中的圖像ID中設(shè)置表示不顯示該幀的標(biāo)記(不顯示標(biāo)記)。
在步驟S279中,執(zhí)行以下參考圖24描述的時(shí)間信息重置處理。
如果在步驟S277中確定要顯示在幀計(jì)數(shù)器中表示的幀,或者在步驟S279之后,那么處理前進(jìn)到步驟S280。在步驟S280中,CPU 20在時(shí)間信息顯示順序設(shè)置隊(duì)列中將檢查標(biāo)記設(shè)置在幀計(jì)數(shù)器中表示的幀的圖像ID中。處理返回到步驟S275,并且重復(fù)對(duì)應(yīng)的處理。
根據(jù)省略處理1,從時(shí)間信息顯示順序設(shè)置隊(duì)列中刪除不顯示的幀的圖像ID,或者將不顯示標(biāo)記設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的對(duì)應(yīng)的圖像ID中。通過(guò)參考時(shí)間信息顯示順序設(shè)置隊(duì)列來(lái)執(zhí)行B圖像顯示處理和一幀延遲顯示設(shè)置處理(以下討論)。由于響應(yīng)于快速重放操作,更新了時(shí)間信息顯示順序設(shè)置隊(duì)列的設(shè)置,因而在該處理例行程序之后,僅僅解碼要顯示的B圖像,換句話說(shuō),不將要省略的B圖像供給解碼處理器77。盡管對(duì)要省略的I圖像和P圖像進(jìn)行了解碼,但不顯示它們。
獨(dú)立于GOP地不斷地將幀計(jì)數(shù)器值遞增,而無(wú)需重置,直至改變了速度設(shè)置,即,直至改變了輸入流狀態(tài)。由于省略周期的分母是無(wú)法整除形成一個(gè)GOP的幀的數(shù)目的值,例如當(dāng)一個(gè)GOP包括15幀并且重放速度是×2、×4、×-2、或×-4時(shí),不顯示的圖像的位置有時(shí)根據(jù)GOP而改變。即使在這種情況下,通過(guò)使用表示在輸入流中的幀順序的幀計(jì)數(shù)器值,也能夠根據(jù)省略周期輕易地確定是否顯示主題幀。
照此,在將B圖像輸入解碼器之前將其省略,并且以規(guī)律間隔省略I圖像和P圖像,而無(wú)需在將其解碼后進(jìn)行顯示,從而通過(guò)跟隨速度的動(dòng)態(tài)改變來(lái)實(shí)現(xiàn)快速重放操作。由于在解碼期間I圖像和P圖像可以用作其它圖像的參考圖像,因而該方法在通過(guò)在存儲(chǔ)器中用最小數(shù)目的組以規(guī)律間隔省略圖像而執(zhí)行快速重放操作中是有效的。
根據(jù)省略處理1,當(dāng)以規(guī)律間隔省略圖像時(shí),如果使用兩個(gè)解碼器,那么可以將速度設(shè)置為從×-3到×3的范圍之間,并且如果使用三個(gè)解碼器,那么可以將速度設(shè)置為從×-6到×6的范圍之間。通過(guò)使用兩個(gè)或更多解碼器,可以執(zhí)行類似于上述省略處理1的省略處理,從而實(shí)現(xiàn)快速重放操作。
以下參考圖24的流程圖討論在圖23的步驟S279中執(zhí)行的時(shí)間信息重置處理。
在步驟S301中,CPU 20檢測(cè)由于在速度設(shè)置值中的改變而執(zhí)行省略處理1所增加的或刪除的圖像的數(shù)目。
在步驟S302中,CPU 20將要增加或刪除的圖像數(shù)目設(shè)置為時(shí)間信息調(diào)整值added_count。
在步驟S303中,CPU 20重置時(shí)間信息顯示順序設(shè)置隊(duì)列中的時(shí)間信息,以便能夠不斷排列時(shí)間信息。然后處理返回到圖23中的步驟S279。
根據(jù)時(shí)間信息重置處理,根據(jù)重放速度來(lái)改變執(zhí)行省略處理之后的時(shí)間信息顯示順序設(shè)置隊(duì)列中的設(shè)置。在隨后處理例行程序中,根據(jù)改變的時(shí)間信息顯示順序設(shè)置隊(duì)列來(lái)控制B圖像的解碼定時(shí)和所有幀的顯示定時(shí)。
以下參考圖25至30來(lái)描述在省略處理1中的時(shí)間信息顯示順序設(shè)置隊(duì)列中的設(shè)置。圖25至30的頂部舉例說(shuō)明了執(zhí)行省略處理之前的計(jì)劃情形,要省略的幀用虛線表示。圖25至30的底部舉例說(shuō)明了執(zhí)行省略處理之后的計(jì)劃情形。在圖25至30中,括號(hào)中的數(shù)字0、1或2表示存儲(chǔ)在信息隊(duì)列中的信息對(duì)應(yīng)于哪一個(gè)解碼器22、23或24,或者通過(guò)哪一個(gè)解碼器22、23或24來(lái)執(zhí)行存儲(chǔ)在信息隊(duì)列中的信息。
例如,在×2快速重放操作中,如圖25所示,省略圖像之后在解碼單元中要顯示的圖像的改變數(shù)目是-7,并且因此時(shí)間信息調(diào)整值added_count變?yōu)?7。然后,由于在隨后解碼單元中第一圖像的圖像類型從I圖像改變?yōu)锽圖像,因而階段調(diào)整值變?yōu)?1。因此,如果階段偏移校正值disp_zero為0,那么time_base所調(diào)整的量就是-8。由于第二GOP的第一圖像是B圖像,因而第二GOP的顯示開始定時(shí)就比I圖像的解碼開始定時(shí)晚了7幀。
例如,在×-2快速重放操作中,如圖26所示,省略圖像之后在解碼單元中要顯示的圖像的改變數(shù)目是-7,并且因此時(shí)間信息調(diào)整值added_count變?yōu)?7。然后,由于在隨后解碼單元中第一圖像的圖像類型保留與B圖像相同,因而階段調(diào)整值變?yōu)?。因此,如果階段偏移校正值disp_zero為0,那么time_base所調(diào)整的量就是-7。由于第二GOP的第一圖像是B圖像,因而第二GOP的顯示開始定時(shí)就比I圖像的解碼開始定時(shí)晚了7幀。
例如,在×4快速重放操作中,如圖27所示,省略圖像之后在解碼單元中要顯示的圖像的改變數(shù)目是-11,并且因此時(shí)間信息調(diào)整值added_count變?yōu)?11。然后,由于在隨后解碼單元中第一圖像的圖像類型從I圖像改變?yōu)锽圖像,因而階段調(diào)整值變?yōu)?1。因此,如果階段偏移校正值disp_zero為0,那么time_base所調(diào)整的量就是-12。由于第二GOP的第一圖像是B圖像,因而第二GOP的顯示開始定時(shí)就比I圖像的解碼開始定時(shí)晚了7幀。
例如,在×-4快速重放操作中,如圖28所示,省略圖像之后在解碼單元中要顯示的圖像的改變數(shù)目是-11,并且因此時(shí)間信息調(diào)整值added_count變?yōu)?11。然后,由于在隨后解碼單元中第一圖像的圖像類型保留與B圖像相同,因而階段調(diào)整值變?yōu)?。因此,如果階段偏移校正值disp_zero為0,那么time_base所調(diào)整的量就是-11。由于第二GOP的第一圖像是B圖像,因而第二GOP的顯示開始定時(shí)就比I圖像的解碼開始定時(shí)晚了7幀。
例如,在×5快速重放操作中,如圖29所示,省略圖像之后在解碼單元中要顯示的圖像的改變數(shù)目是-12,并且因此時(shí)間信息調(diào)整值added_count變?yōu)?12。然后,由于在隨后解碼單元中第一圖像的圖像類型保留與I圖像相同,因而階段調(diào)整值變?yōu)?。因此,如果階段偏移校正值disp_zero為0,那么time_base所調(diào)整的量就是-12。由于第二GOP的第一圖像是I圖像,因而第二GOP的顯示開始定時(shí)就比I圖像的解碼開始定時(shí)晚了6幀。
例如,在×-5快速重放操作中,如圖30所示,省略圖像之后在解碼單元中要顯示的圖像的改變數(shù)目是-12,并且因此時(shí)間信息調(diào)整值added_count變?yōu)?12。然后,由于在隨后解碼單元中第一圖像的圖像類型保留與B圖像相同,因而階段調(diào)整值變?yōu)?。因此,如果階段偏移校正值disp_zero為0,那么time_base所調(diào)整的量就是-12。由于第二GOP的第一圖像是B圖像,因而第二GOP的顯示開始定時(shí)就比I圖像的解碼開始定時(shí)晚了7幀。
然后,在隨后要重復(fù)的圖17的時(shí)間信息計(jì)劃確定處理的步驟S167中,如圖25至30所示,根據(jù)等式(1)來(lái)計(jì)算解碼開始時(shí)間信息time_base。然后,根據(jù)所計(jì)算的解碼開始時(shí)間信息time_base來(lái)計(jì)算對(duì)應(yīng)于在時(shí)間信息I/P圖像解碼隊(duì)列中設(shè)置的圖像ID的I圖像和P圖像的解碼開始定時(shí),并且然后根據(jù)所計(jì)算的解碼開始時(shí)間信息time_base和時(shí)間信息顯示順序設(shè)置隊(duì)列(從該隊(duì)列中刪除了不顯示的幀),來(lái)確定執(zhí)行省略處理1之后的B圖像的解碼和顯示計(jì)劃。
例如,現(xiàn)在假設(shè),當(dāng)N為15(N是一個(gè)GOP中的幀的數(shù)目)而M為3(M是I圖像、P圖像或I圖像與P圖像之間的間隔)時(shí),重放裝置1解碼MPEG長(zhǎng)GOP流。在這種情況下,在圖2所示視頻組存儲(chǔ)器82的8個(gè)組中,將錨幀I、P、P、P、P、I不改變地存儲(chǔ)在組No.0至No.5中,并且B圖像交替地存儲(chǔ)在組No.6和No.7中,以便比進(jìn)行顯示早一幀對(duì)它們進(jìn)行解碼。利用這種配置,盡管視頻組存儲(chǔ)器82中的組的數(shù)目是8,但是可以在根據(jù)解碼器數(shù)目(該實(shí)施方式的重放裝置1中有3個(gè)解碼器)設(shè)置的速度范圍內(nèi)(正向和反向)執(zhí)行顯示操作。
以下參考圖31至34來(lái)描述視頻組存儲(chǔ)器82的設(shè)置。
圖31舉例說(shuō)明當(dāng)執(zhí)行×1重放操作時(shí)存儲(chǔ)在圖2所示視頻組存儲(chǔ)器82中的8個(gè)組中的圖像。
在由I圖像和P圖像占據(jù)的組No.0至No.5中,解碼的I圖像和P圖像以解碼順序連續(xù)地存儲(chǔ)。當(dāng)顯示第一I2圖像時(shí),B3圖像同時(shí)存儲(chǔ)在組No.6中,并且當(dāng)顯示B3圖像時(shí),B4圖像同時(shí)存儲(chǔ)在組No.7中。當(dāng)顯示B3圖像時(shí),釋放存儲(chǔ)已經(jīng)顯示的B3圖像的組No.6和存儲(chǔ)已經(jīng)用作參考圖像的I2圖像的組No.0。其后,B圖像交替地存儲(chǔ)在組No.6和No.7中,以便B圖像的顯示定時(shí)比B圖像的解碼定時(shí)晚一個(gè)幀,并且在已經(jīng)顯示了B圖像之后釋放組No.6和No.7。在所存儲(chǔ)的P圖像已經(jīng)用作參考圖像之后釋放組No.1至No.5。也就是說(shuō),在已經(jīng)顯示所存儲(chǔ)的圖像之后并不釋放組No.0至No.5,但是在所存儲(chǔ)的圖像已經(jīng)用作參考圖像并且已經(jīng)顯示了這些圖像之后釋放組No.0至No.5。
圖32舉例說(shuō)明當(dāng)執(zhí)行×2重放操作時(shí)圖2所示視頻組存儲(chǔ)器82的8個(gè)組中存儲(chǔ)的圖像。
在由I圖像和P圖像占據(jù)的組No.0至No.5中,解碼的I圖像和P圖像以解碼順序連續(xù)地存儲(chǔ)。當(dāng)顯示第一I2圖像時(shí),B4圖像同時(shí)存儲(chǔ)在組No.6中,并且當(dāng)顯示B4圖像時(shí),B6圖像同時(shí)存儲(chǔ)在組No.7中。然后,當(dāng)顯示B6圖像時(shí),釋放存儲(chǔ)已經(jīng)顯示的B4圖像的組No.6和存儲(chǔ)已經(jīng)用作參考圖像的I2圖像的組No.0。其后,不省略的B圖像交替地存儲(chǔ)在組No.6和No.7中,以便B圖像的顯示定時(shí)比B圖像的解碼定時(shí)晚一個(gè)幀,并且在已經(jīng)顯示了B圖像之后釋放組No.6和No.7。在已經(jīng)顯示所存儲(chǔ)的圖像之后并不釋放組No.0至No.5,但是在所存儲(chǔ)的圖像已經(jīng)用作參考圖像并且已經(jīng)顯示了這些圖像之后釋放組No.0至No.5。因此在所存儲(chǔ)的P圖像和I圖像已經(jīng)用作參考圖像之后并且已經(jīng)顯示了這些圖像之后釋放組No.1至No.5。
圖33舉例說(shuō)明當(dāng)執(zhí)行×-1重放操作時(shí)圖2所示視頻組存儲(chǔ)器82的8個(gè)組中存儲(chǔ)的圖像。
在由I圖像和P圖像占據(jù)的組No.0至No.5中,解碼的I圖像和P圖像以解碼順序連續(xù)地存儲(chǔ)。在將I2圖像存儲(chǔ)在組No.5中之后,B1圖像存儲(chǔ)在組No.6中,并且當(dāng)顯示B1圖像時(shí),B0圖像同時(shí)存儲(chǔ)在組No.7中。當(dāng)顯示B1圖像時(shí),釋放存儲(chǔ)已經(jīng)顯示的B1圖像的組No.6。其后,B圖像交替地存儲(chǔ)在組No.6和No.7中,以便B圖像的顯示定時(shí)比B圖像的解碼定時(shí)晚一個(gè)幀,并且在已經(jīng)顯示了B圖像之后釋放組No.6和No.7。在已經(jīng)顯示了所存儲(chǔ)的圖像之后并且在已經(jīng)使用所存儲(chǔ)的圖像作為參考圖像之后釋放組No.0至No.5。也就是說(shuō),由于在圖33所示實(shí)例中執(zhí)行反向重放操作,最后一次顯示首先存儲(chǔ)在組No.0中的I2圖像,直至該GOP的顯示結(jié)束以后才釋放組No.0。
圖34舉例說(shuō)明當(dāng)執(zhí)行×-2重放操作時(shí),存儲(chǔ)在圖2所示視頻組存儲(chǔ)器82中的8個(gè)組中的圖像。
在由I圖像和P圖像占據(jù)的組No.0至No.5中,解碼的I圖像和P圖像以解碼順序連續(xù)地存儲(chǔ)。在將I2圖像存儲(chǔ)在組No.5之后,B1圖像存儲(chǔ)在組No.6中,并且在顯示了B1圖像之后,B12圖像存儲(chǔ)在組NG.7中。然后,釋放存儲(chǔ)已經(jīng)顯示的B1圖像的組No.6。其后,未省略的B圖像交替地存儲(chǔ)在組No.6和No.7中,以便B圖像的顯示定時(shí)比B圖像的解碼定時(shí)晚一個(gè)幀,并且在已經(jīng)顯示了B圖像之后釋放組No.6和No.7。在已經(jīng)顯示了所存儲(chǔ)的圖像之后并且在已經(jīng)使用所存儲(chǔ)的圖像作為參考圖像之后釋放組No.0至No.5。也就是說(shuō),由于在圖34所示實(shí)例中執(zhí)行反向重放操作,最后一次顯示首先存儲(chǔ)在組No.0中的I2圖像,直至該GOP的顯示結(jié)束以后才釋放組No.0。
如上所述,當(dāng)對(duì)使用通常用于圖像壓縮方法的諸如MPEG的雙向幀間預(yù)測(cè)壓縮的圖像數(shù)據(jù)執(zhí)行反向重放操作或者快速重放操作時(shí),進(jìn)行解碼計(jì)劃以便首先解碼I圖像和P圖像并且B圖像的顯示定時(shí)變得比B圖像的解碼定時(shí)要晚一個(gè)幀,并且因而I圖像和P圖像可以存儲(chǔ)在組中固定位置。因而,可以利用最小數(shù)量的組有效地執(zhí)行反向重放操作或快速反向重放操作,而不需要復(fù)雜組控制操作。
更確切地說(shuō),如果用于存儲(chǔ)幀的組數(shù)是包含在解碼處理單元中的I圖像和P圖像的數(shù)目與用于存儲(chǔ)B圖像的2個(gè)組之和,那么就足夠了。在這種情況下,通過(guò)將I圖像和P圖像(錨幀)存儲(chǔ)在組中的固定位置,可以實(shí)現(xiàn)快速重放操作或者反向重放操作而無(wú)需復(fù)雜組控制操作。
例如,在MPEG長(zhǎng)GOP流中,當(dāng)N是15(N是在一個(gè)GOP中的幀的數(shù)目)并且M是3(M是I圖像、P圖像、或者I圖像與P圖像之間的時(shí)間間隔)時(shí),如該實(shí)施例,準(zhǔn)備具有總共8組的視頻組存儲(chǔ)器,即,5組用于I、P、P、P、和P圖像,一組用于隨后I圖像,以及兩組用于B圖像。利用這種結(jié)構(gòu),通過(guò)將I圖像和P圖像存儲(chǔ)在組中的固定位置,可以實(shí)現(xiàn)快速重放操作、反向重放操作、或者快速反向重放操作,而無(wú)需復(fù)雜組控制操作。
為了改善對(duì)來(lái)自用戶的改變速度的指令的響應(yīng),B圖像的解碼或顯示有時(shí)掛起以便以幀單元改變速度。在這種情況下,盡管B圖像的解碼定時(shí)和顯示定時(shí)是分開管理的,可以簡(jiǎn)單地執(zhí)行組控制。例如,當(dāng)輸入流轉(zhuǎn)變時(shí)即使在通過(guò)參考其它圖像預(yù)測(cè)圖像中發(fā)生了錯(cuò)誤,它恢復(fù)正確幀(下面描述的下溢處理)。因而,速度可以幀單元改變。
以下參考圖35的流程圖描述在圖18的步驟S197中執(zhí)行的下溢處理。
在步驟S331中,通過(guò)參考時(shí)間管理計(jì)數(shù)器和時(shí)間計(jì)數(shù)器,CPU 20確定流數(shù)據(jù)的供給相對(duì)于顯示處理是否延遲,例如,是否發(fā)生了下溢。如果在步驟S331中確定,沒(méi)有發(fā)生下溢,那么處理返回到圖18的步驟S197中并且前進(jìn)到圖4的步驟S36中。
如果在步驟S331中確定已經(jīng)發(fā)生了下溢,那么處理前進(jìn)到步驟S332,其中CPU20將時(shí)間計(jì)數(shù)器的值調(diào)整到在時(shí)間信息I/P圖像隊(duì)列的首部的時(shí)間。然后處理返回到圖18中步驟S197,并且前進(jìn)到圖4中步驟S36。
以下參考圖36和37描述當(dāng)下溢發(fā)生時(shí)時(shí)間計(jì)數(shù)器的調(diào)整。在圖36和37中,在括號(hào)中的數(shù)字0、1或2表示存儲(chǔ)在信息隊(duì)列中的信息對(duì)應(yīng)于哪一個(gè)解碼器22、23或24,或者存儲(chǔ)在信息隊(duì)列中的信息是通過(guò)哪一個(gè)解碼器22、23或24來(lái)執(zhí)行的。
圖36舉例說(shuō)明存儲(chǔ)在信息隊(duì)列中的信息和當(dāng)如在圖30所執(zhí)行的×-5重放操作中下溢不發(fā)生時(shí),關(guān)于時(shí)間計(jì)數(shù)器的解碼定時(shí)和顯示定時(shí)。在圖36中,通過(guò)舉例的方式,GOP的I圖像的解碼開始定時(shí)的時(shí)間計(jì)數(shù)器表示7。
例如,如果下溢發(fā)生了兩個(gè)幀的量,那么時(shí)間計(jì)數(shù)器延遲兩個(gè)幀,如圖37所示,并且通過(guò)參考調(diào)整的時(shí)間計(jì)數(shù)器來(lái)重啟處理,從而允許隨后不延遲地進(jìn)行計(jì)劃、解碼、和顯示控制。
根據(jù)該處理,即使流的供給由于例如當(dāng)執(zhí)行快速重放操作時(shí)HDD16的減少的吞吐量而延遲,可以檢測(cè)到由于流的供給延遲而導(dǎo)致的下溢,并且將時(shí)間信息的計(jì)數(shù)延遲下溢發(fā)生的時(shí)間,從而不受中斷地重啟重放處理。
如果在圖4中步驟S36中確定,不是所有的幀都處理了,那么處理前進(jìn)到步驟S37,其中遞增時(shí)間計(jì)數(shù)器。然后處理返回到步驟S31,并且重復(fù)相應(yīng)的處理。
對(duì)于第七或者隨后的幀,由于在步驟S33中確定,主題幀不是笫一至第六幀之一,所以在步驟S34中執(zhí)行一幀延遲顯示設(shè)置處理。
參考圖38的流程圖,給出在圖4中步驟S34中執(zhí)行的一幀延遲顯示設(shè)置處理的描述。
在步驟S361中,CPU 20根據(jù)存儲(chǔ)在顯示隊(duì)列中的信息經(jīng)由控制總線19發(fā)送顯示指令至相應(yīng)解碼器22、23或24,以便顯示處理變得比解碼處理晚一幀,并且從顯示隊(duì)列中刪除相應(yīng)的圖像ID。在這種情況下,相應(yīng)解碼器22、23或24的輸出地址確定單元80經(jīng)由控制總線76從CPU20接收控制信號(hào),并控制存儲(chǔ)器控制器80從視頻組存儲(chǔ)器82讀出相應(yīng)的圖像并將讀取的圖像供給選擇器25。
在步驟S362中,CPU20根據(jù)表示接收隨后數(shù)據(jù)的解碼器的寄存器值,控制選擇器25輸出解碼的幀,所述寄存器值在圖6中步驟S81中設(shè)置。然后處理返回到圖4中步驟S34。
例如,如果重放速度是×1,如圖21所示,如下執(zhí)行顯示控制。以時(shí)間信息顯示順序設(shè)置隊(duì)列中圖像的順序顯示圖像,以便根據(jù)在時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的時(shí)間信息,B圖像的顯示定時(shí)變得比B圖像的解碼定時(shí)要晚。
如果重放速度是×-1,如圖22所示,那么如下執(zhí)行顯示控制。以時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的圖像順序顯示圖像,以便根據(jù)在時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的時(shí)間信息,B圖像的顯示定時(shí)變得比B圖像的解碼定時(shí)要晚。
這同樣應(yīng)用于圖25所示的×2重放操作,圖26中示出的以×-2速度的重放操作,圖27示出的以×4速度重放操作,圖28示出的以×-4的速度重放操作,圖29示出的以×5速度的重放操作,和圖30示出的以×-5速度的重放操作。
根據(jù)該處理,如果存儲(chǔ)幀的組數(shù)目等于包含在解碼處理單元中I圖像和P圖像的數(shù)目與用于存儲(chǔ)B圖像的兩個(gè)組之和,通過(guò)將I圖像和P圖像(其是錨幀)存儲(chǔ)在組中固定位置,可以實(shí)現(xiàn)快速重放操作、反向重放操作、或者快速反向重放操作,而無(wú)需復(fù)雜組控制操作。
解碼定時(shí)和顯示定時(shí)之間的階段偏移是根據(jù)包含在解碼處理單元中的I圖像和P圖像的數(shù)目來(lái)確定的。作為選擇,解碼定時(shí)和顯示定時(shí)之間的階段偏移可以根據(jù)包含在解碼處理單元中的幀之中的要顯示的幀的數(shù)目來(lái)確定。
當(dāng)執(zhí)行快速正向或反向重放操作時(shí),在用于第二和隨后解碼處理單元的解碼計(jì)劃中,在確定要顯示的幀和不要顯示的幀之前,即在在執(zhí)行幀省略之前,可以提前檢測(cè)道編碼參數(shù),例如要在解碼處理單元的首部顯示的圖像類型。
例如,在確定要顯示的幀和不要顯示的幀之前,提前檢測(cè)到要在解碼處理單元首部顯示的圖像類型,例如,根據(jù)在先前解碼處理單元的計(jì)劃中計(jì)數(shù)的幀計(jì)數(shù)器和計(jì)算的省略周期。
利用這種結(jié)構(gòu),可以更加精確和更加迅速地執(zhí)行解碼計(jì)劃處理。
以下描述用于檢測(cè)在要解碼處理單元首部顯示的圖像的圖像類型的處理的特定實(shí)例。
參考圖39的流程圖,給出了要在各個(gè)幀上執(zhí)行的幀處理2的描述,其中可以在執(zhí)行計(jì)劃之前檢測(cè)到在解碼處理單元的首部顯示的圖像的圖像類型。為每個(gè)幀重復(fù)該處理例行程序直至已經(jīng)處理了要顯示的流數(shù)據(jù)或者直至提供了完成顯示操作的指令。
在步驟S431中,執(zhí)行參考圖5所討論的輸入流數(shù)據(jù)狀態(tài)改變處理。
在步驟S432中,執(zhí)行下面將參考圖40描述的解碼計(jì)劃處理2。在解碼計(jì)劃處理2中,計(jì)劃了解碼定時(shí)。在解碼定時(shí)計(jì)劃處理之前,檢測(cè)在解碼處理單元首部顯示的圖像的圖像類型。
然后,在步驟S433中,CPU 20通過(guò)參考表示各個(gè)幀的處理時(shí)間的時(shí)間計(jì)數(shù)器,確定主題幀是不是要以解碼順序重放的流數(shù)據(jù)的第一至第六幀中的一幀。
如果在步驟S433中確定,主題幀不是笫一至第六幀中的一幀,那么處理前進(jìn)到步驟S434,其中執(zhí)行參考圖38討論的一幀延遲顯示設(shè)置處理。
如果在步驟S433中確定,主題幀是要重放的流數(shù)據(jù)的第一至第六幀中的一幀,或者在步驟S434之后,處理前進(jìn)到步驟S435,其中執(zhí)行以下參考圖42討論的幀控制處理2。在幀控制處理2中,解碼主題幀。
在步驟S436中CPU 20確定是否已經(jīng)處理了所有的幀。如果在步驟S436中確定,不是所有的幀都經(jīng)過(guò)了處理,那么處理前進(jìn)到步驟S437,其中CPU 20為各個(gè)幀遞增時(shí)間計(jì)數(shù)器。
在步驟S437之后,處理返回到步驟S431,并且重復(fù)隨后的處理。如果在步驟S436中確定,所有的幀都已經(jīng)經(jīng)過(guò)了處理,那么結(jié)束處理。
如上所述,CPU 20為各個(gè)幀遞增時(shí)間計(jì)數(shù)器,根據(jù)用戶指示的重放速度來(lái)執(zhí)行解碼計(jì)劃,并解碼各個(gè)幀。在該處理中,在執(zhí)行解碼定時(shí)計(jì)劃之前,檢測(cè)在解碼處理單元首部顯示的圖像的圖像類型。
以下參考圖40中流程圖來(lái)描述在圖39中步驟S432中執(zhí)行的解碼計(jì)劃處理2。
步驟S471至S478是基本上分別地類似于在圖6中的步驟S71至S78的步驟。
在步驟S471中,CPU 20通過(guò)參考輸入隊(duì)列確定輸入隊(duì)列是否為空。如果輸入隊(duì)列不為空,那么處理返回到圖39中步驟S432。如果在步驟S471中發(fā)現(xiàn)輸入隊(duì)列為空,那么處理前進(jìn)到步驟S472,其中執(zhí)行參考圖15討論的輸入處理。
然后在步驟S473中確定,為接收隨后數(shù)據(jù)的解碼器設(shè)置的時(shí)間信息顯示順序設(shè)置隊(duì)列是否為空。如果時(shí)間信息顯示順序設(shè)置隊(duì)列不為空,也就是說(shuō),如果對(duì)計(jì)劃的GOP的各個(gè)幀正在執(zhí)行解碼處理或者顯示處理,那么處理返回到圖39中步驟S432。
如果在步驟S473中發(fā)現(xiàn)時(shí)間信息顯示順序設(shè)置隊(duì)列為空,那么處理前進(jìn)到步驟S474,其中執(zhí)行重排序處理。
在步驟S475中,在I/P圖像解碼隊(duì)列中以解碼順序設(shè)置要解碼的GOP的I圖像和P圖像的圖像ID。然后,在步驟S476中,指定存儲(chǔ)I圖像和P圖像的組位置,和用于解碼P圖像的參考圖像組。在步驟S477中,根據(jù)用于存儲(chǔ)I圖像和P圖像的組位置,指定用于解碼B圖像的參考圖像組的位置。然后,設(shè)置在圖12A和12B中示出的顯示順序設(shè)置隊(duì)列。
在步驟S479中,執(zhí)行以下參考圖41描述的省略處理2。在省略處理2中,在執(zhí)行解碼定時(shí)計(jì)劃處理之前檢測(cè)要在解碼處理單元首部顯示的圖像的圖像類型。
步驟S480至S482基本上分別類似于圖6中的步驟S79至S81。也就是說(shuō),在步驟S480中,執(zhí)行在圖16中示出的顯示階段確定處理。在步驟S481中,執(zhí)行在圖17中示出的時(shí)間信息計(jì)劃確定處理以便計(jì)劃解碼定時(shí)和顯示定時(shí)。
更確切地說(shuō),由于步驟S479中的省略處理2,能夠在執(zhí)行解碼定時(shí)計(jì)劃之前檢測(cè)到要在解碼處理單元首部顯示的圖像的圖像類型。因此,例如,如果顯示的首部是I圖像或P圖像,如圖13所示,那么計(jì)劃解碼定時(shí)和顯示定時(shí)以便在解碼B圖像之前解碼I圖像和P圖像,以便顯示定時(shí)變得比解碼定時(shí)要晚6幅圖像,其結(jié)果是B圖像的顯示定時(shí)變得比B圖像的解碼定時(shí)要晚一幀。如果顯示首部是B圖像,如圖14所示,那么計(jì)劃解碼定時(shí)和顯示定時(shí)以便在解碼B圖像之前解碼I圖像和P圖像,以便顯示定時(shí)變得比解碼定時(shí)要晚7幅圖像,其結(jié)果是B圖像的顯示定時(shí)要比B圖像的解碼定時(shí)晚一幀。
在步驟S482中,切換接收隨后數(shù)據(jù)的解碼器的設(shè)置。然后,處理返回到圖39中步驟S432。
根據(jù)解碼計(jì)劃2來(lái)計(jì)劃解碼定時(shí)和顯示定時(shí)。
以下參考圖41中的流程圖討論在圖40的步驟S479中執(zhí)行的省略處理2。
在步驟S501中,CPU 20根據(jù)在參考圖5所述的輸入流狀態(tài)改變處理中設(shè)置的輸入流狀態(tài)確定,用戶指示的重放速度是否快速。如果在步驟S501中確定重放速度不是快速,那么處理前進(jìn)到以下討論的步驟S510。
如果在步驟S501中發(fā)現(xiàn)重放速度是快速,那么處理前進(jìn)到步驟S502,以確定在改變了速度設(shè)置之后主題幀是否是笫一GOP的第一幀。
如果在步驟S502中發(fā)現(xiàn)主題幀是笫一GOP的第一幀,那么處理前進(jìn)到步驟S503,其中CPU 20根據(jù)速度設(shè)置值GOP_Speed確定省略周期并且將所確定的省略周期存儲(chǔ)在寄存器中。
更確切地說(shuō),如果重放速度是×2或者×-2,那么CPU 20將省略周期設(shè)置為1/2并將其存儲(chǔ)在寄存器中。如果重放速度是×3或者×-3,那么CPU 20將省略周期設(shè)置為1/3并將其存儲(chǔ)在寄存器中。
在步驟S504中,CPU 20重置用于計(jì)數(shù)幀數(shù)目的幀計(jì)數(shù)器,而不管在省略處理2中的解碼處理單元。
如果在步驟S502中確定,在改變了輸入流狀態(tài)之后主題幀不是在第一GOP的第一幀,或者在步驟S504之后,處理前進(jìn)到步驟S505。在步驟S505中,通過(guò)確定是否已經(jīng)設(shè)置了與存儲(chǔ)在顯示順序設(shè)置隊(duì)列中的圖像ID相關(guān)的檢查標(biāo)記,確定是否已經(jīng)檢查了存儲(chǔ)在顯示順序設(shè)置隊(duì)列中存儲(chǔ)的所有圖像ID。檢查標(biāo)記是在下文中將討論的步驟S509中在顯示順序設(shè)置隊(duì)列中設(shè)置的標(biāo)記。如果在步驟S505中確定,已經(jīng)檢查了顯示順序設(shè)置隊(duì)列中的所有圖像ID,那么處理前進(jìn)到步驟S510。
如果在步驟S505中確定,不是所有的顯示順序設(shè)置隊(duì)列中的圖像ID都經(jīng)過(guò)了檢查,換句話說(shuō),存在一些顯示順序設(shè)置隊(duì)列中沒(méi)有設(shè)置檢查標(biāo)記的圖像ID,那么處理前進(jìn)到步驟S506,其中CPU 20將幀計(jì)數(shù)器遞增1。
然后在步驟S507中,CPU 20參考所確定并存儲(chǔ)在寄存器中的省略周期和幀計(jì)數(shù)器值,來(lái)確定是否要顯示在幀計(jì)數(shù)器中表示的幀。更確切地說(shuō),如果當(dāng)省略周期是1/2時(shí)幀計(jì)數(shù)器表示2n(n是正整數(shù)),那么CPU 20確定要顯示主題幀,在其它情況下,CPU 20確定不顯示該主題幀。如果當(dāng)省略周期是1/3時(shí)幀計(jì)數(shù)器表示3n(n是正整數(shù)),那么CPU 20確定要顯示主題幀,在其它情況下,CPU 20確定不顯示該主題幀。如果在步驟S507中確定主題幀是要顯示的,即該幀不省略,那么處理前進(jìn)到步驟S509中。
如果在步驟S507中確定,不顯示該幀,即省略該幀,那么處理前進(jìn)到步驟S508,其中CPU 20在顯示順序設(shè)置隊(duì)列中在主題幀中設(shè)置刪除標(biāo)記。
如果在步驟S507中確定要顯示該幀,或者在步驟S508之后,處理前進(jìn)到步驟S509。在步驟S509中,CPU 20在對(duì)應(yīng)于在幀計(jì)數(shù)器中表示的幀的圖像ID中設(shè)置檢查標(biāo)記。處理返回到步驟S505,并且重復(fù)相應(yīng)的處理。
如果在步驟S501中確定,重放速度不是快速,或者在步驟S505中確定已經(jīng)檢查了顯示順序設(shè)置隊(duì)列中的所有圖像ID,那么處理前進(jìn)到步驟S510。在步驟S510中,CPU 20在顯示順序設(shè)置隊(duì)列中設(shè)置當(dāng)執(zhí)行省略處理2時(shí)的速度設(shè)置值GOP_Speed。處理返回到圖40的步驟S479。
根據(jù)省略處理2,在執(zhí)行解碼計(jì)劃之前,在顯示順序設(shè)置隊(duì)列中要省略的幀中設(shè)置刪除標(biāo)記,并且當(dāng)進(jìn)行解碼計(jì)劃時(shí)能夠檢測(cè)到要在解碼處理單元首部顯示的圖像的圖像類型。在該處理例行程序之后,僅僅解碼了要顯示的B圖像,并且不將要省略的B圖像提供給解碼處理器77。盡管解碼了要省略的I圖像或P圖像,也不顯示它們。
以下參考圖42描述在圖39中步驟S435中執(zhí)行的幀控制處理2。
在步驟S541中,CPU 20通過(guò)參考時(shí)間信息I/P圖像解碼隊(duì)列和用于管理在重放裝置1中執(zhí)行的各個(gè)處理的定時(shí)的時(shí)間管理計(jì)數(shù)器,確定是否存在其顯示時(shí)間已經(jīng)過(guò)去的任何流數(shù)據(jù)。如果在步驟S541中確定存在其顯示時(shí)間已經(jīng)過(guò)去的流數(shù)據(jù),那么處理前進(jìn)到步驟S547,其中執(zhí)行參考圖35討論的下溢處理。然后處理返回到圖39中步驟S435。
如果在步驟S541中確定沒(méi)有其顯示時(shí)間已經(jīng)過(guò)去的流數(shù)據(jù),那么執(zhí)行步驟S542至步驟S545,其基本上分別類似于圖18中步驟S192至步驟S195。
更確切地說(shuō),在步驟S542中,執(zhí)行以下參考圖19討論的I圖像P/圖像解碼處理。在步驟S543中,執(zhí)行以下參考圖20討論的B圖像解碼處理。在步驟S544中,CPU 20發(fā)送顯示圖像信息至CPU 11并遞增時(shí)間管理計(jì)數(shù)器。對(duì)其中在圖41中步驟S508中沒(méi)有設(shè)置刪除標(biāo)記的幀(沒(méi)有省略的幀)執(zhí)行步驟S542至步驟S544。
然后,在步驟S546中,執(zhí)行以下參考圖43描述的省略處理3,并且然后處理返回到圖39中步驟S435。
根據(jù)幀控制處理2,如果沒(méi)有其顯示時(shí)間已經(jīng)經(jīng)過(guò)的流數(shù)據(jù),那么根據(jù)解碼計(jì)劃來(lái)解碼一幀,并且將顯示圖像信息發(fā)送到CPU 11,并且執(zhí)行省略處理3。如果存在其顯示時(shí)間已經(jīng)經(jīng)過(guò)的流數(shù)據(jù),那么執(zhí)行參考圖35描述的下溢處理。
現(xiàn)在參考圖43的流程圖給出在圖42中步驟S546中執(zhí)行的省略處理3的描述。
在步驟S571中,CPU 20確定重放速度是否比同一方向的先前省略處理(如果在解碼計(jì)劃處理2中執(zhí)行省略處理2,則為省略處理2)時(shí)要快。更確切地說(shuō),如果當(dāng)前速度(speed)大于在顯示順序設(shè)置隊(duì)列中設(shè)置的GOP_speed,即如果speed/GOP_speed>1保持為真的,CPU 20確定重放速度變得更快。如果在步驟S571中確定重放速度不比同一方向先前省略處理中的速度快,即重放速度保留相同或者更慢,或者重放方向是反向,那么處理返回到圖42的步驟S546中,并前進(jìn)到圖39中步驟S436中。
如果在步驟S571中確定,當(dāng)前速度變得比同一方向先前省略處理中的速度要快,那么處理前進(jìn)到步驟S572。在步驟S572中,CPU 20根據(jù)當(dāng)前速度設(shè)置值和在先前省略處理2中的速度設(shè)置值來(lái)確定省略周期,并存儲(chǔ)所確定的省略周期。
更確切地說(shuō),CPU 20根據(jù)speed/GOP_speed的絕對(duì)值的倒數(shù)來(lái)設(shè)置省略周期。例如,如果當(dāng)前速度從先前速度×2改變到×4,那么CPU 20就將省略周期設(shè)置為1/2,并將其存儲(chǔ)在寄存器中。
在步驟S573中,CPU 20重置用于計(jì)數(shù)幀數(shù)目的幀計(jì)數(shù)器,而不管在省略處理3中的解碼處理單元。
在步驟S574中,確定檢查標(biāo)記是不是與存儲(chǔ)在時(shí)間信息顯示順序設(shè)置隊(duì)列中的各個(gè)圖像ID而相關(guān)地設(shè)置,從而確定是否已經(jīng)檢查了在時(shí)間信息顯示順序設(shè)置隊(duì)列中設(shè)置的所有圖像ID。檢查標(biāo)記是在下文中討論的步驟S579中設(shè)置在時(shí)間信息顯示順序設(shè)置隊(duì)列中的標(biāo)記。如果在步驟S574中發(fā)現(xiàn)已檢查存儲(chǔ)在時(shí)間信息顯示順序設(shè)置隊(duì)列中的所有圖像ID,那么處理返回到圖42中步驟S546,并前進(jìn)到圖39中步驟S436。
如果在步驟S574中確定,不是檢查了在時(shí)間信息顯示順序設(shè)置隊(duì)列中的所有圖像ID,即,存在一些還沒(méi)有設(shè)置檢查標(biāo)記的圖像ID,那么處理前進(jìn)到步驟S575,其中CPU 20將幀計(jì)數(shù)器遞增1。
然后,在步驟S576中,CPU 20參考所確定的并存儲(chǔ)在寄存器中的省略周期和幀計(jì)數(shù)器值,以確定是否要顯示在幀計(jì)數(shù)器中表示的幀。更確切地說(shuō),如果當(dāng)省略周期是1/2時(shí)幀計(jì)數(shù)器表示2n(n是正整數(shù)),那么CPU 20就確定主題幀要顯示,在其它情況下,CPU 20確定主題幀不顯示。如果當(dāng)省略周期是1/3時(shí)幀計(jì)數(shù)器表示3n(n是正整數(shù)),那么CPU 20就確定主題幀要顯示,并且在其它情況下,CPU 20確定主題幀不顯示。如果在步驟S576確定,主題幀要顯示,即該幀不省略,那么處理前進(jìn)到步驟S579。
如果在步驟S576中確定主題幀不顯示,即該幀要省略,那么處理前進(jìn)到步驟S577。在步驟S577中,CPU 20從時(shí)間信息顯示順序設(shè)置隊(duì)列中刪除主題幀的圖像ID,或者在時(shí)間信息顯示順序設(shè)置隊(duì)列中的圖像ID中設(shè)置標(biāo)記以表示該幀不顯示(不顯示標(biāo)記)。
在步驟S578中執(zhí)行參考圖24描述的時(shí)間信息重置處理。在這種情況下,在步驟S302中計(jì)算的時(shí)間信息增加值added_count是當(dāng)速度從先前省略處理改變時(shí)由在步驟S576和S577中的省略處理改變的圖像數(shù)。
如果在步驟S576中確定,要顯示在幀計(jì)數(shù)器中表示的幀,或者在步驟S578之后,處理前進(jìn)到步驟S579。在步驟S579中,CPU 20在時(shí)間信息顯示順序設(shè)置隊(duì)列中在幀計(jì)數(shù)器中表示的幀的圖像ID中設(shè)置檢查標(biāo)記。然后處理返回到步驟S574并且重復(fù)相應(yīng)的處理。
根據(jù)省略處理3,如果速度改變得比在同一方向省略處理2中的速度還快,那么從時(shí)間信息顯示順序設(shè)置隊(duì)列中刪除不顯示的幀的圖像ID,或者在時(shí)間信息顯示順序設(shè)置隊(duì)列中的相應(yīng)圖像ID中設(shè)置不顯示標(biāo)記。通過(guò)參考重置的時(shí)間信息顯示順序設(shè)置隊(duì)列來(lái)執(zhí)行B圖像顯示處理和一幀延遲顯示設(shè)置處理。如果速度變得比在同一方向的省略處理2中的速度還快,那么根據(jù)設(shè)置速度來(lái)改變時(shí)間信息顯示順序設(shè)置隊(duì)列中的設(shè)置。因此,在該處理例行程序之后,僅僅解碼了要顯示的B圖像,換句話說(shuō),要省略的B圖像不提供給解碼處理器77。盡管解碼了要省略的I圖像和P圖像,但是也不對(duì)其進(jìn)行顯示。
因此,即使在完成解碼計(jì)劃之后,為各個(gè)幀確定是否改變了速度設(shè)置。如果速度改變得比在同一方向的省略處理2中的速度還快,那么重置時(shí)間信息顯示順序設(shè)置隊(duì)列,從而執(zhí)行解碼計(jì)劃以便能夠通過(guò)迅速響應(yīng)速度改變而重放流數(shù)據(jù)。
當(dāng)一個(gè)GOP包括15幅圖像時(shí),上述已經(jīng)描述了解碼處理。以下參考圖44至64描述了這樣的情況,其中包含在一個(gè)GOP中的錨幀(I圖像和P圖像)的數(shù)目是6或者更多或者4或更少。
如果以類似于如圖1所示重放裝置1為包括15幅圖像的各個(gè)GOP執(zhí)行的解碼處理的方式,為包括許多錨幀的各個(gè)GOP執(zhí)行解碼,如圖44和45所示,一些圖像不解碼或者延遲一些圖像的解碼。
現(xiàn)在參考圖44給出這種情況的描述,其中通過(guò)一個(gè)解碼器(解碼器22、23和24中的一個(gè))以類似于為包括15幅圖像的一個(gè)GOP執(zhí)行的解碼處理的方式解碼一個(gè)GOP,以×1的速度來(lái)正向重放包括由從B0至P14的15幅圖像形成的GOP(0)、由從B0至P20的21幅圖像形成的GOP(1)、由從B0至P14的15幅圖像形成的GOP(2)的流。
利用先前GOP來(lái)解碼在各個(gè)GOP的首部的B圖像。由于在GOP(1)中存儲(chǔ)7幅錨幀,在視頻組存儲(chǔ)器82中的8個(gè)組中用于解碼錨幀的6個(gè)組就由I2至P17所占據(jù),并且沒(méi)有空間給GOP(1)的接下來(lái)的錨幀P20和GOP(2)的12。因此,在解碼GOP(1)的解碼器中,在解碼期間,GOP(1)的錨幀P20和GOP(2)的I2不能用作參考圖像,從而無(wú)法解碼GOP(1)的P17和隨后幀以及GOP(2)的B0和B1。
現(xiàn)在參考圖45給出以下情況的描述,其中通過(guò)一個(gè)解碼器(解碼器22、23和24之一)以類似于為包括15幅圖像的一個(gè)GOP而執(zhí)行的解碼處理的方式解碼一個(gè)GOP,來(lái)以×-1的速度反向重放包括由從B0至P14的15幅圖像構(gòu)成的GOP(0)、由從B0至P20的21幅圖像構(gòu)成的GOP(1)、和由從B0至P14的15幅圖像構(gòu)成的GOP(2)的流。
利用隨后的GOP來(lái)解碼在各個(gè)GOP首部的B圖像。由于如圖44所示,GOP(1)中有7個(gè)錨幀,在視頻組存儲(chǔ)器82中的8個(gè)組中,由I2至P17占據(jù)用于解碼錨幀的6個(gè)組,并且沒(méi)有空間給GOP(1)的接下來(lái)的錨幀P20和先前GOP(2)的I2。因此,在解碼GOP(1)的解碼器中,在解碼期間,GOP(1)的錨幀P20和先前GOP(2)的12不能用作參考圖像,從而無(wú)法解碼GOP(1)的P17和隨后幀以及GOP(2)的B0和B1。
正如以上所討論的,由于形成一個(gè)GOP的圖像的大量錨幀,如果以類似于由圖1所示重放裝置1為包括15幅圖像的每個(gè)GOP而執(zhí)行的方式執(zhí)行解碼處理,那么不解碼一些幀。
以下參考圖46和47討論這樣的情況,其中對(duì)一個(gè)具有4個(gè)或者更少錨幀的GOP和具有5個(gè)或更多錨幀的GOP不斷執(zhí)行快速重放操作。
現(xiàn)在參考圖46給出以下情況的描述,其中通過(guò)由一個(gè)解碼器(解碼器22、23和24之一)以類似于在包括15幅圖像的一個(gè)GOP上執(zhí)行的解碼處理的方式解碼一個(gè)GOP,以×2的速度正向重放包括GOP(0)、GOP(1)和GOP(2)(其中每個(gè)是由3幅圖像B0、B1、和I2形成)以及包括由從B0到P14的15幅圖像構(gòu)成的GOP(3)和GOP(4)的流。
利用先前GOP來(lái)解碼各個(gè)GOP首部的B圖像。在GOP(0)、GOP(1)和GOP(2)中僅僅有一個(gè)錨幀,并且在隨后GOP(3)中有5個(gè)錨幀。在GOP(0)的B0和B1之間,在解碼器2中利用先前幀解碼要顯示的B0,然后,在解碼器0中解碼GOP(0)的I2和GOP(1)中要顯示的B1,并且然后,在解碼器1中解碼GOP(1)的I2和GOP(2)中要顯示的B0。在各個(gè)解碼器中,不開始隨后解碼處理直至輸出在先前解碼處理中的所有圖像。
也就是說(shuō),由于解碼器0在輸出GOP(1)的B1之后開始解碼GOP(3)的錨幀,因而延遲發(fā)生在解碼處理中。因此,由解碼器2解碼的GOP(3)的B1保留輸出直至在解碼GOP(3)的錨幀之后結(jié)束B3(首先顯示的)的解碼。
現(xiàn)在參考圖47給出這種情況的描述,其中通過(guò)由一個(gè)解碼器(解碼器22、23、和24之一)以類似于在包括15幅圖像的一個(gè)GOP上執(zhí)行的解碼處理的方式解碼一個(gè)GOP,以×-2速度來(lái)反向重放包括GOP(4)、GOP(3)和GOP(2)(其中每個(gè)是由3幅圖像B0,B1,I2構(gòu)成的)并包括由從B0至P14的15幅圖像構(gòu)成的GOP(1)和GOP(0)的流。
利用先前GOP來(lái)解碼各個(gè)GOP首部的B圖像。在GOP(4)、GOP(3)和GOP(2)中僅僅有一個(gè)錨幀,并且在隨后GOP(1)中有5個(gè)錨幀。在先于GOP(4)的GOP的B0和B1之間,在解碼器1中利用GOP(4)的I2來(lái)解碼要顯示的B0,然后,在GOP(4)的B0和B1之間,在解碼器0中與GOP(3)的I2一起來(lái)解碼要顯示的B1。并且然后,在GOP(3)的B0和B1之間,在解碼器2中與GOP(2)的I2一起解碼要顯示的B1。然后,在GOP(2)的B0和B1之間,在解碼器1中與GOP(1)一起解碼要顯示的B0。在各個(gè)解碼器中,不開始隨后解碼處理直至輸出先前解碼處理中所有圖像。
也就是說(shuō),由于解碼器1在輸出GOP(4)的I2之后開始解碼GOP(1)的錨幀,因而延遲發(fā)生在解碼處理中。因此,由解碼器2解碼的GOP(3)的I2保留輸出直至在解碼GOP(1)的錨幀之后結(jié)束GOP(2)的首先顯示的B0的解碼。
照此,如果對(duì)包括少數(shù)錨幀的GOP和包括多數(shù)錨幀的GOP執(zhí)行類似于由圖1所示重放裝置1對(duì)包括15幅圖像的一個(gè)GOP執(zhí)行的解碼處理,那么需要耗費(fèi)時(shí)間來(lái)解碼錨幀,從而導(dǎo)致在解碼處理中的延遲。
為了應(yīng)付這樣的情況,如參考圖44至47所描述的,其中在GOP中圖像的數(shù)目不是圖1所示重放裝置1中的15幅,那么可以采取以下措施。在檢測(cè)了各個(gè)GOP的結(jié)構(gòu)之后,可以通過(guò)劃分或者合并GOP來(lái)重建其用作解碼處理單元的解碼單元,包括對(duì)應(yīng)于解碼器22、23或24的視頻組存儲(chǔ)器82的組數(shù)的錨幀。
以下參考圖48至50B來(lái)討論劃分包含30幀的GOP和解碼所劃分的GOP。
GOP(0)是由GOP(1)之前的30幀構(gòu)成的,如圖48所示,即B0至P29。在各個(gè)解碼處理單元中,與先前GOP一起解碼前兩個(gè)B圖像。
在視頻組存儲(chǔ)器82的8個(gè)組之中,可以將6個(gè)組分配給錨幀。由于在GOP(0)中有10個(gè)錨幀,因而不是所有的幀都可以通過(guò)與在包括15幅圖像的各個(gè)GOP上執(zhí)行的相同的解碼處理來(lái)解碼。因此,如圖48的底部所示,將GOP(0)劃分為兩個(gè)解碼處理單元,以便錨幀的數(shù)目變?yōu)?或者更少,并且然后,執(zhí)行解碼以便也解碼用于解碼包含在劃分的GOP中的所有的P圖像和B圖像所需的錨幀。
GOP(0)被劃分為兩個(gè)解碼處理單元,如圖49A和49B所示,GOP(0-0)包括I2至P17,并且GOP(0-1)包括B18至P29和B0和B1,并且由不同的解碼器來(lái)解碼GOP(0-0)和GOP(0-1)。需要GOP(0-0)的最后錨幀P17用于解碼在GOP(0-1)首部的兩個(gè)B圖像B18和B19。也就是說(shuō),P17也用作GOP(0-1)的錨幀。需要GOP(0-0)的錨幀用于解碼GOP(0-1)的錨幀。因此,在通過(guò)使用6個(gè)解碼錨幀的組來(lái)解碼GOP(0-0)的錨幀之后,通過(guò)使用這6個(gè)組(通過(guò)重寫組)來(lái)解碼GOP(0-1)的錨幀和隨后GOP的第一I圖像。
因而,在用于解碼GOP(0-0)或者GOP(0-1)的解碼器中,在固定組中解碼錨幀,并且無(wú)論重放方向是正向還是反向或者無(wú)論重放速度是正常還是快速,都不改變錨幀的解碼順序。相反,在GOP(0-0)和GOP(0-1)中,B圖像的解碼順序是根據(jù)重放方向或者重放速度而不同的。在圖49A和49B中,示出了在×1和×-1正向和反向重放速度的解碼順序。
在×1重放操作中,如圖50A所示,在一個(gè)解碼器中,在解碼GOP(0-0)的錨幀12至P17之后,解碼GOP(0-0)的B圖像B3至B16。同時(shí),在另一個(gè)解碼器中,在解碼錨幀I2至P14之后,通過(guò)使用錨幀I2至P14作為參考圖像來(lái)解碼GOP(0-1)的錨幀P17至P29和GOP(1)的第一I2圖像,并且然后,解碼GOP(0-1)的B圖像B18至B28以及GOP(1)的B0至B1。
在×-1重放操作中,如圖50B所示,在一個(gè)解碼器中,在解碼錨幀I2至P14之后,通過(guò)使用錨幀I2至P14作為參考圖像來(lái)解碼GOP(0-1)的錨幀P17至P29和GOP(1)的第一I2幀,并且然后,解碼GOP(1)的B1與B0和GOP(0-1)的B圖像B28至B18。在另一個(gè)解碼器中,在解碼GOP(0-0)的錨幀I2至P17之后,解碼GOP(0-0)的B圖像B16至B3。
接下來(lái),參考圖51至圖53B描述當(dāng)各GOP(各個(gè)包括4或者更少的錨幀)連續(xù)時(shí)解碼處理單元的設(shè)置和解碼處理。
如圖51所示,GOP(0)是由6幀B0至P5形成的,而GOP(1)是由9幀B0至P8形成,隨后是GOP(2)。在各個(gè)解碼處理單元中,與先前GOP一起解碼前兩個(gè)B圖像。
在視頻組存儲(chǔ)器82的8個(gè)組之間,將6組分配給錨幀。在GOP(0)中有兩個(gè)錨幀并且在GOP(1)中有三個(gè)錨幀。因此,如在圖51底部所示,合并GOP(0)和GOP(1),以便錨幀的數(shù)目變?yōu)?或者更少。
在這種情況下,與先前GOP一起解碼GOP(0)的前兩個(gè)B幀B0和B1,并且作為同一解碼處理單元GOP(0-0)解碼GOP(0)的I2至P5、GOP(1)、以及GOP(2)的前兩個(gè)B圖像B0和B1。在固定組中解碼錨幀,并且錨幀的解碼順序未改變,如圖52所示,無(wú)論重放方向是正向還是反向或者無(wú)論重放速度是正常還是快速。相反地,B圖像的解碼順序根據(jù)重放方向或者重放速度而不同。在圖52中,示出在×1或者×-1正向或者反向重放速度的解碼順序。
在×1正向重放操作中,如圖53A所示,在任一個(gè)解碼器中,解碼GOP(0-0)的錨幀和GOP(2)的第一I2幀,并且然后解碼GOP(0-0)的B圖像。然后,在×-1反向重放操作中,如圖53B所示,在無(wú)論哪一個(gè)解碼器中,為執(zhí)行反向重放操作,解碼GOP(0-0)的錨幀和GOP(2)的第一I2幀,并且然后,解碼GOP(0-0)的B圖像。
可能存在這樣的情況,其中連續(xù)包括6或更多錨幀的GOP和具有4或者更少錨幀的GOP。在這種情況下,以下參考圖54至56B來(lái)描述通過(guò)合并這種GOP然后重新劃分它們來(lái)均等地分配負(fù)荷至解碼器的解碼處理單元的設(shè)置。
如圖54所示,GOP(0)包括21幀B0至P20,并且GOP(1)包括9幀B0至P8,隨后是GOP(2)。在各個(gè)解碼處理單元中,與先前GOP一起解碼前兩個(gè)B圖像。
在視頻組存儲(chǔ)器82的8個(gè)組之中,可將6組分配給錨幀。然而,由于在GOP(0)中有7個(gè)錨幀,因而如果對(duì)GOP(0)以類似于當(dāng)一個(gè)GOP包括15幅圖像的方式執(zhí)行解碼,那么錯(cuò)誤發(fā)生。在這種情況下,GOP(0)可以劃分為兩個(gè)解碼處理單元以便錨幀的數(shù)目變?yōu)?或者更少。然而,由于隨后GOP的幀的數(shù)目小,因而如圖54底部所示合并并重新劃分GOP(0)和GOP(1),以便從GOP(0)和GOP(1)生成兩個(gè)解碼處理單元GOP(0-0)和GOP(0-1),然后根據(jù)這些解碼處理單元來(lái)執(zhí)行解碼。
在合并GOP(0)和GOP(1)之后,如圖55A所示,將GOP(0)的I2至P17設(shè)置為第一解碼處理單元GOP(0-0),并且如圖55B所示,將GOP(0)的B18至P20、整個(gè)GOP(1)、和GOP(2)的B1和B2設(shè)置為第二解碼處理單元GOP(0-1),并且在不同的解碼器中解碼第一和第二解碼處理單元。GOP(0-0)的最后錨幀P17是用于解碼GOP(0-1)的前兩個(gè)B圖像B18和B19所需的。也就是說(shuō),P17也用作GOP(0-1)的錨幀。需要GOP(0-0)的錨幀用于解碼GOP(0-1)的錨幀。因此,在使用解碼錨幀的6組來(lái)解碼GOP(0-0)的錨幀之后,通過(guò)使用這6組(通過(guò)重寫這6個(gè)組)來(lái)解碼GOP(0-1)的錨幀和隨后GOP的第一I圖像。
因此,在用于解碼GOP(0-0)或者解碼GOP(0-1)的解碼器中,在固定組中解碼錨幀,并且不管重放方向是正向還是反向或者無(wú)論重放速度是正常還是快速,錨幀的解碼順序都不改變。相反地,在GOP(0-0)和GOP(0-1)中,B圖像的解碼順序根據(jù)重放方向或者重放速度而不同。在圖55A和55B中示出了在×1或×-1正向或者反向重放速度的解碼順序。
更確切地說(shuō),在×1正向重放操作中,如圖56A所示,在一個(gè)解碼器中,在解碼GOP(0)的I2至P17(其是GOP(0-0)的錨幀)之后,解碼GOP(0)的B3至B16(其是GOP(0-0)的B圖像)。在另一個(gè)解碼器中,在解碼GOP(0-0)的錨幀I2至P14之后,通過(guò)使用I2至P14作為參考圖像來(lái)解碼GOP(0)的P17和P20與GOP(1)的I2、P5和P8(其是GOP(0-1)的錨幀)以及GOP(2)的第一I2,然后,解碼GOP(0)的B18和B19與GOP(1)的B0至B7(其是GOP(0-1)的B圖像)、以及GOP(2)的B0和B1。
在×-1反向重放操作中,如圖56B所示,在一個(gè)解碼器中,在解碼GOP(0-0)的錨幀I2至P14之后,通過(guò)使用I2至P14作為參考圖像來(lái)解碼GOP(0)的P14和P20與GOP(1)的I2、P5和P8(其是GOP(0-1)的錨幀)、以及GOP(2)的第一I2。然后,解碼GOP(2)的B1和B0以及GOP(1)的B7至B0與GOP(0)的B19和B18(其是GOP(0-1)的B圖像)。在另一個(gè)解碼器中,在解碼I2至P17(其是GOP(0-0)的錨幀)之后,解碼GOP(0)的B16至B3(其是GOP(0-0)的B圖像)。
可能存在這樣的情況,其中連續(xù)包括4或更少錨幀的GOP和具有6個(gè)或者更多錨幀的GOP。在這種情況下,以下參考圖57至59B來(lái)描述通過(guò)合并這些GOP然后重新劃分它們以便均等地將負(fù)荷分配給解碼器的解碼處理單元的設(shè)置。
如圖57所示,GOP(0)包括9幀B0至P8,并且GOP(1)包括21幀B0至P20,隨后是GOP(2)。在各個(gè)解碼處理單元中,與先前GOP一起解碼前兩個(gè)B圖像。
在視頻組存儲(chǔ)器82的8個(gè)組之中,可以將6組分配給錨幀。盡管在GOP(0)中只有三個(gè)錨幀,在GOP(1)中有7個(gè)錨幀,并且因此合并并重新劃分了GOP(0)和GOP(1),如圖57的底部所示,以便從GOP(0)和GOP(1)生成兩個(gè)解碼處理單元GOP(0-0)和GOP(0-1),然后根據(jù)這些解碼處理單元來(lái)執(zhí)行解碼。
在合并GOP(0)和GOP(1)之后,如圖58A所示,將GOP(0)的I2至GOP(1)的P8設(shè)置為第一解碼處理單元GOP(0-0),并且如圖58B所示,將GOP(1)的B9至P20和GOP(2)的B1和B2設(shè)置為第二解碼處理單元GOP(0-1),并且在不同解碼器中解碼第一和第二解碼處理單元。GOP(0-0)的最后錨幀P8是用于解碼GOP(0-1)的前兩個(gè)B圖像B9和B10所需的。也就是說(shuō),P8也用作GOP(0-1)的錨幀。在GOP(0-0)的錨幀中,需要GOP(1)的錨幀I2和P5用于解碼GOP(0-1)的錨幀。因此,在使用解碼錨幀的6組中的一組來(lái)解碼GOP(1)的I2和P5之后,通過(guò)使用這6組(通過(guò)重寫這6個(gè)組)來(lái)解碼GOP(0-1)的錨幀和隨后GOP的第一I圖像。
因此,在用于解碼GOP(0-0)或者解碼GOP(0-1)的解碼器中,在固定組中解碼錨幀,并且不管重放方向是正向還是反向或者無(wú)論重放速度是正常還是快速,錨幀的解碼順序都不改變。相反地,在GOP(0-0)和GOP(0-1)中,B圖像的解碼順序根據(jù)重放方向或者重放速度而不同。在圖58A和58B中示出了在×1和×-1正向和反向重放速度的解碼順序。
更確切地說(shuō),在×1正向重放操作中,如圖59A所示,在一個(gè)解碼器中,在解碼GOP(0)的I2至P8以及GOP(1)的I2至P8(其是GOP(0-0)的錨幀)之后,解碼GOP(0)的B3至B7和GOP(1)的B0至B7(其是GOP(0-0)的B圖像)。在另一個(gè)解碼器中,在解碼GOP(1)的錨幀I2至P5(其是GOP(0-0)的錨幀)之后,通過(guò)使用I2至P5作為參考圖像來(lái)解碼GOP(1)的P8至P20(其是GOP(0-1)的錨幀)以及GOP(2)的第一I2,然后,解碼GOP(1)的B9至B19(其是GOP(0-1)的B圖像)和GOP(2)的B0和B1。
在×-1反向重放操作中,如圖59B所示,在一個(gè)解碼器中,在解碼GOP(1)的錨幀I2和P5(其是GOP(0-0)的錨幀)之后,通過(guò)使用I2和P5作為參考圖像來(lái)解碼GOP(1)的P8至P20(其是GOP(0-1)的錨幀)以及GOP(2)的第一I2。然后,解碼GOP(2)的B1和B0以及GOP(1)的B19至B9(其是GOP(0-1)的B圖像)。在另一個(gè)解碼器中,在解碼GOP(0)的I2至P8和GOP(1)的I2至P8(其是GOP(0-0)的錨幀)之后,解碼GOP(1)的B7至B0和GOP(0)的B7至B3(其是GOP(0-0)的B圖像)。
正如參考圖48至59B所述,構(gòu)建解碼單元用作解碼處理單元。然后,為各個(gè)解碼單元進(jìn)行解碼計(jì)劃。并且根據(jù)需要執(zhí)行幀省略以便可以按指定重放方向和指定的重放速度執(zhí)行重放操作。然后,執(zhí)行解碼并重放并輸出流。
更確切地說(shuō),在傳送并存儲(chǔ)在存儲(chǔ)器18中的多個(gè)GOP間,CPU 20讀取要解碼的GOP和隨后GOP的結(jié)構(gòu),然后通過(guò)基于錨幀的數(shù)目而劃分和合并GOP構(gòu)建解碼單元,其用作解碼處理單元。然后CPU 20發(fā)送控制命令至PCI橋17以控制PCI橋17從存儲(chǔ)器18讀取各個(gè)解碼單元的流數(shù)據(jù),并且將讀取的流數(shù)據(jù)提供給解碼器22、23和24中的一個(gè)。
然后,CPU 20如上所述執(zhí)行計(jì)劃。在這種情況下,如參考圖48、54、或57所討論的在GOP(0-1)中的情況,為解碼相應(yīng)解碼單元的錨幀,如果需要解碼另一解碼單元的至少部分錨幀,則該解碼單元的錨幀也被設(shè)置在輸入圖像隊(duì)列中,從I/P圖像解碼隊(duì)列的首部順序設(shè)置這些幀。然而,由于不顯示用于解碼另一解碼單元的錨幀所需的錨幀,因而沒(méi)有將其設(shè)置在顯示順序設(shè)置隊(duì)列中。
然后CPU 20通過(guò)參考表示接收隨后數(shù)據(jù)的解碼器的寄存器值控制解碼器22、23或24以執(zhí)行解碼。解碼器22、23或24的基本流地址確定單元73在控制器20的控制下允許存儲(chǔ)器控制器74從輸入緩沖器75讀取對(duì)應(yīng)于在時(shí)間信息I/P圖像解碼隊(duì)列中設(shè)置的圖像ID的圖像數(shù)據(jù),并將讀取數(shù)據(jù)供給解碼處理器77。
如果將要解碼的圖像是I圖像,那么CPU 20控制解碼處理器77解碼從存儲(chǔ)器控制器74供給的I圖像,也控制寫圖像地址確定單元78將解碼的幀數(shù)據(jù)供給存儲(chǔ)器控制器81并將其存儲(chǔ)在視頻組存儲(chǔ)器82的為存儲(chǔ)I圖像所指定的組中。如果要解碼的圖像是P圖像,那么CPU 20控制參考圖像地址確定單元79以允許存儲(chǔ)器控制器81根據(jù)P圖像的參考組位置讀取存儲(chǔ)在視頻組存儲(chǔ)器82中的參考圖像,并將讀取的參考圖像提供給解碼處理器77,并控制解碼處理器77解碼從存儲(chǔ)器控制器74供給的P圖像。CPU 20也控制寫圖像地址確定單元78以將解碼幀圖像供給存儲(chǔ)器控制器81并將其存儲(chǔ)在視頻組存儲(chǔ)器82的為存儲(chǔ)P圖像而指定的組中。如果要解碼的圖像是B圖像,那么CPU 20控制參考圖像地址確定單元79以允許存儲(chǔ)器控制器81根據(jù)B圖像的參考組位置來(lái)讀取存儲(chǔ)在視頻組存儲(chǔ)器82中的參考圖像,并將讀取參考圖像提供給解碼處理器77,并控制解碼處理器77以解碼從存儲(chǔ)器控制器74提供的B圖像。
以下參考圖60的流程圖描述當(dāng)形成GOP的圖像數(shù)目不同于15時(shí)的GOP劃分/合并處理。
在步驟S601中,CPU 20確定是否存在劃分GOP之后還沒(méi)有計(jì)劃的解碼單元。
如果在步驟S601中發(fā)現(xiàn)未計(jì)劃的解碼單元,那么處理前進(jìn)到步驟S602,其中CPU 20通過(guò)執(zhí)行圖4所示幀處理1或者圖39所示幀處理2來(lái)執(zhí)行未計(jì)劃的解碼單元的計(jì)劃,并解碼該解碼單元。
如果在步驟S601中確定沒(méi)有未計(jì)劃的解碼單元,那么處理前進(jìn)到步驟S603,其中CPU 20檢測(cè)隨后GOP以及再下一個(gè)未計(jì)劃的GOP的結(jié)構(gòu)。
在步驟S604中,CPU 20確定隨后GOP是否大于可以由一個(gè)解碼器解碼的最大尺寸。更確切地說(shuō),CPU 20檢查隨后GOP的錨幀的數(shù)目并將錨幀的檢查數(shù)與一個(gè)解碼器中用于解碼錨幀的組數(shù)相比校,以確定隨后GOP是否大于最大尺寸。
如果在步驟S604中確定,隨后GOP大于可以由一個(gè)解碼器解碼的最大尺寸,那么處理前進(jìn)到步驟S605以確定隨后GOP和再下一個(gè)GOP的合并尺寸是否是可以由兩個(gè)解碼器解碼的尺寸。更確切地說(shuō),如果視頻組存儲(chǔ)器82具有8個(gè)組,那么CPU 20確定合并GOP的錨幀的數(shù)目是否是10或者更少,即,通過(guò)從視頻組存儲(chǔ)器82中的組數(shù)減去3而獲得的數(shù)的兩倍或者更少。
如果在步驟S605中確定合并的尺寸是可由兩個(gè)解碼器解碼的適合尺寸(例如,當(dāng)如參考圖54至56B所描述的,連續(xù)具有6個(gè)或者更多錨幀的長(zhǎng)GOP和具有4個(gè)或者更少錨幀的短GOP時(shí)),處理前進(jìn)到步驟S610。
如果在步驟S605確定所合并的GOP不是可以由兩個(gè)解碼器解碼的尺寸,那么處理前進(jìn)到步驟S606。在步驟S606,CPU 20將隨后GOP劃分成多個(gè)可以由一個(gè)解碼器解碼的解碼單元,如在參考圖48至50B所討論的具有30幅圖像的長(zhǎng)GOP中。然后處理前進(jìn)到步驟S612。
如果在步驟S604中確定,隨后GOP不大于可以由一個(gè)解碼器解碼的最大尺寸,那么處理前進(jìn)到步驟S607,以確定隨后GOP以及再下一個(gè)GOP的合并尺寸是否是可以由一個(gè)解碼器解碼的適合尺寸。
如果在步驟S607中確定,合并的尺寸是可以由一個(gè)解碼器解碼的尺寸,那么處理前進(jìn)到步驟S608。在步驟S608中,將隨后GOP和再下一個(gè)GOP合并為一個(gè)解碼單元,如連續(xù)各個(gè)具有4個(gè)或者更少錨幀的GOP的情況,如參考圖51至53B描述的。然后處理前進(jìn)到步驟S612。
如果在步驟S607中確定,合并的尺寸不能變成可以由一個(gè)解碼器解碼的尺寸,處理前進(jìn)到步驟S609以確定所合并的尺寸是不是可以由兩個(gè)解碼器解碼的尺寸。更確切地說(shuō),如參考圖57至59B所討論的,如果連續(xù)具有4個(gè)或者更少錨幀的短GOP和具有6個(gè)或者更多錨幀的長(zhǎng)GOP,并且如果視頻組存儲(chǔ)器具有8個(gè)組,那么CPU 20確定合并的GOP的錨幀數(shù)目是不是10幀或者更少,即,通過(guò)從視頻組存儲(chǔ)器82中的組數(shù)減去3而獲得的數(shù)的兩倍或者更少。
如果在步驟S605或者S609中確定合并的尺寸變?yōu)榭梢杂蓛蓚€(gè)解碼器解碼的尺寸,處理前進(jìn)到步驟S610。在步驟S610中,CPU 20合并兩個(gè)GOP然后將其重新劃分為兩個(gè)解碼單元,如參考圖54至56B或者圖57至59B所討論的。然后處理前進(jìn)到步驟S612。
如果在步驟S609確定合并的尺寸不能變?yōu)榭梢杂蓛蓚€(gè)解碼器解碼的尺寸,處理前進(jìn)到步驟S611,其中CPU 20將隨后GOP設(shè)置為一個(gè)解碼單元。
在步驟S606、S608、S610、或者S611之后,處理前進(jìn)到步驟S612,其中CPU 20通過(guò)執(zhí)行圖4所示幀處理1或者圖39所示幀處理2來(lái)計(jì)劃隨后解碼單元的解碼,并且解碼該解碼單元。
然后,在步驟S613中,如果存在未計(jì)劃的劃分的解碼單元,那么CPU 20將其存儲(chǔ)在等待列表中。然后完成處理。
根據(jù)上述GOP劃分/合并處理,即使形成GOP的圖像數(shù)不是15或者即使圖像數(shù)目根據(jù)GOP而不同,也能夠執(zhí)行GOP的劃分或合并以達(dá)到快速解碼處理。
在上述實(shí)例中,已經(jīng)描述了當(dāng)解碼器22、23、或24的視頻組存儲(chǔ)器82具有8個(gè)組時(shí)并且當(dāng)8個(gè)組中6個(gè)組固定用于解碼錨幀時(shí),GOP的劃分或合并以便達(dá)到有效計(jì)劃。即使要存儲(chǔ)在視頻組存儲(chǔ)器82中的組(幀)的數(shù)目不是8或者即使用于解碼錨幀的固定組數(shù)目不是6,也可以根據(jù)視頻組存儲(chǔ)器82中的組數(shù)目或者用于解碼錨幀的固定組數(shù)目來(lái)適當(dāng)?shù)貓?zhí)行GOP的劃分或合并。更確切的說(shuō),如果用于解碼錨幀的固定組數(shù)目小于6,那么設(shè)置解碼單元以便包含在一個(gè)解碼單元中的錨幀的數(shù)目變得小于6。相反地,如果用于解碼錨幀的固定組數(shù)目大于6,那么設(shè)置解碼單元以便包含在一個(gè)解碼單元中的錨幀的數(shù)目變得小于組數(shù)目。
根據(jù)GOP劃分/合并處理,如圖61所示,可以沒(méi)有問(wèn)題地在×1重放操作中對(duì)圖44所示包括21幀的GOP執(zhí)行解碼處理。
更確切地說(shuō),將包括21幀的GOP(1)劃分為然后由解碼器1和2解碼的兩個(gè)解碼單元,即,第一解碼單元和第二解碼單元。在這種情況下,在解碼未從解碼器2輸出的第一解碼單元的錨幀以便解碼第二解碼單元的錨幀之后,通過(guò)使用為錨幀而固定的組(根據(jù)需要通過(guò)重寫第一解碼單元的錨幀)來(lái)解碼第二解碼單元的錨幀。
類似地,如圖62所示,可以沒(méi)有任何問(wèn)題地在×-1重放操作中對(duì)圖45所示包括21幀的GOP執(zhí)行解碼處理。
更確切地說(shuō),將包括21幀的GOP(1)劃分為兩個(gè)解碼單元,即,第一解碼單元和第二解碼單元,其隨后由解碼器2和解碼器1解碼。在這種情況下,在解碼未從解碼器2輸出的第一解碼單元的錨幀以便解碼第二解碼單元的錨幀之后,通過(guò)使用為錨幀而固定的組(根據(jù)需要通過(guò)重寫第一解碼單元的錨幀)來(lái)解碼第二解碼單元的錨幀。
類似地,如圖63所示,在×2重放操作中,當(dāng)如圖46所示連續(xù)具有少數(shù)錨幀的GOP和具有多數(shù)錨幀的GOP時(shí),可以沒(méi)有問(wèn)題地執(zhí)行解碼處理。
更確切地說(shuō),將各包括B0、B1、和I2的GOP(0)與GOP(1)合并到一個(gè)解碼單元中,并且將包括B0、B1、和I2的GOP(2)和包括從B0至P14的15幀的GOP(3)合并然后重新劃分。
在GOP(0)和GOP(1)的合并的解碼單元的B0和B1(GOP(0)的B0和B1)之間,在解碼器2中與先前GOP或者先前解碼單元一起解碼要顯示的B(0)、和用于解碼B(0)所需的參考圖像I2。在GOP(2)和GOP(3)第一半的合并解碼單元的B0和B1(GOP(2)的B0和B1)之間,在解碼器0中與GOP(0)和GOP(1)的合并解碼單元一起解碼要顯示的B(0)、和用于解碼B(0)所需的參考圖像I2。在解碼器1中與GOP(2)和GOP(3)的第一半的合并解碼單元一起解碼B(7),其是GOP(3)的第二半的解碼單元的要顯示的B圖像的首部。在GOP(4)的B0和B1之間,在解碼器2中與GOP(3)的笫二半的解碼單元一起解碼要顯示的B0和I2(其作為解碼B0所需的參考圖像)。在解碼器0中解碼I2和GOP(4)的隨后圖像。
類似地,在×-2重放操作中,當(dāng)如圖47所示連續(xù)具有少數(shù)錨幀的GOP和具有多數(shù)錨幀的GOP時(shí),如圖64所示,可以沒(méi)有任何問(wèn)題地執(zhí)行解碼處理。
更確切地說(shuō),將GOP(4)和GOP(3)(各包括B0、B1和I2)合并到一個(gè)解碼單元中,并且將包括B0、B1和I2的GOP(2)和包括從B0至P14的15幀的GOP(1)合并然后重新劃分。
在解碼器1中解碼GOP(4)和GOP(3)的合并解碼單元的除了B0和B1(GOP(3)的B0和B1)之外的圖像、在先前解碼單元中兩個(gè)B圖像之間的要顯示的B圖像(在圖64中的B0)、以及I2(其是用于解碼B(0)所需的參考圖像)。在GOP(4)和GOP(3)的合并解碼單元的B0和B1(GOP(3)的B0和B1)之間,在解碼器0中與GOP(2)和GOP(1)的第二半的合并解碼單元一起解碼要顯示的B(0)、和I2(其是解碼B(0)所需的參考圖像)。在GOP(2)和GOP(1)的第二半的合并解碼單元的B9和B10(GOP(1)的B9和B10)之間,在解碼器2中與隨后解碼單元即GOP(1)的第一半一起解碼要顯示的B9以及P8和P11(其是解碼B9所需的參考圖像)。在解碼器1中與GOP(0)一起解碼B(1),其是GOP(1)的第一半的解碼單元的要顯示的B圖像的首部。
如上所述,CPU 20根據(jù)錨幀的數(shù)目適當(dāng)?shù)貏澐只蛘吆喜OP以根據(jù)為解碼器22、23或24提供的視頻組存儲(chǔ)器82的組數(shù)形成具有若干錨幀的解碼單元。然后CPU 20控制PCI橋17以將各個(gè)解碼單元的流提供給解碼器22、23或24,并執(zhí)行各個(gè)解碼單元的解碼計(jì)劃或者顯示計(jì)劃,并且然后控制解碼器22、23或24以執(zhí)行解碼。利用這種配置,即使錨幀的數(shù)目根據(jù)GOP而不同,重放裝置1也能夠通過(guò)可靠地解碼所有幀來(lái)執(zhí)行快速解碼處理,而不會(huì)導(dǎo)致解碼處理中任何延遲。
在劃分GOP之后,在第二解碼單元中,即,在具有應(yīng)當(dāng)在解碼先前解碼單元的錨幀之后解碼的錨幀的解碼單元中,如果第二解碼單元的錨幀數(shù)目為6,那么如果解碼單元的首部是I圖像或P圖像,相對(duì)于解碼第二解碼單元的錨幀的解碼開始定時(shí)的顯示開始定時(shí)的偏移是6幅圖像,并且如果首部是B圖像,該偏移就是7幅圖像。如果在第二解碼單元中錨幀的數(shù)目是n幀(n是5或者更少),那么相對(duì)于解碼開始定時(shí)的顯示開始定時(shí)的偏移根據(jù)錨幀數(shù)而改變,即,如果首部是I圖像或P圖像那么就是n幀,如果首部是B圖像那么就是n+1幀。
在上述描述中,將一個(gè)解碼單元中包含的錨幀的數(shù)目設(shè)置為與用于解碼錨幀的固定組數(shù)目相同或者更少。更優(yōu)選地,通過(guò)將主題解碼單元的錨幀的數(shù)目與先前解碼單元的錨幀數(shù)目相比較來(lái)設(shè)置錨幀的數(shù)目以便它不會(huì)比先前解碼單元的錨幀數(shù)目大m幀(m是大于1的整數(shù),這可以通過(guò)試驗(yàn)或經(jīng)驗(yàn)來(lái)設(shè)置,并且更優(yōu)選地是2至4)。
例如,如果連續(xù)具有一個(gè)錨幀的GOP和具有10幅錨幀的GOP,那么兩個(gè)GOP的錨幀總數(shù)就是11,并且難于從這兩個(gè)GOP形成兩個(gè)解碼單元。因此,進(jìn)行解碼以便“1個(gè)錨幀+1”、“5個(gè)錨幀+1”和“5個(gè)錨幀+1”,從而導(dǎo)致在解碼處理中的延遲。
因而,通過(guò)將解碼單元的錨幀數(shù)目與先前解碼單元的錨幀數(shù)目相比較來(lái)設(shè)置錨幀的數(shù)目以便它不比先前解碼單元的錨幀數(shù)目大2或者更多。在這種情況下,當(dāng)兩個(gè)GOP的錨幀總數(shù)是11時(shí),進(jìn)行解碼以便“1個(gè)錨幀+1”、“3個(gè)錨幀+1”、“3個(gè)錨幀+1”和“4個(gè)錨幀+1”。因而,在解碼處理中不發(fā)生延遲。
另外,在上述處理中(無(wú)論是執(zhí)行了上述兩個(gè)省略處理例行程序還是執(zhí)行了僅僅一個(gè)省略例行程序),者可以將以下標(biāo)記集提供作為存儲(chǔ)在HDD16中的壓縮編碼的視頻數(shù)據(jù)所用的元數(shù)據(jù)。讀取標(biāo)記集表示存儲(chǔ)在HDD16中的壓縮編碼的視頻數(shù)據(jù)作為要從HDD16讀取的數(shù)據(jù)是否有效,解碼標(biāo)記集表示編碼數(shù)據(jù)作為根據(jù)解碼計(jì)劃要解碼的數(shù)據(jù)是否有效,并且顯示標(biāo)記集表示經(jīng)編碼的數(shù)據(jù)作為根據(jù)顯示計(jì)劃要顯示的數(shù)據(jù)是否有效。然后,根據(jù)重放速度或重放方向自動(dòng)更新標(biāo)記集,從而提高計(jì)劃的管理。
在這種情況下,一系列用于先前可變速度重放操作的計(jì)劃和標(biāo)記集可以分別地作為元數(shù)據(jù)(登記信息)來(lái)管理。根據(jù)需要,可以在壓縮編碼的視頻數(shù)據(jù)中嵌入該元數(shù)據(jù)作為語(yǔ)法,或在諸如HDD16的記錄媒體中記錄它。
解碼器的數(shù)目、組的數(shù)目、解碼器ID等可以作為元數(shù)據(jù)(結(jié)構(gòu)登記信息)來(lái)管理。另外,重放速度和重放方向可以作為元數(shù)據(jù)(重放登記信息)來(lái)管理。在這種情況下,元數(shù)據(jù)可以作為語(yǔ)法嵌入到壓縮編碼的視頻數(shù)據(jù)中,或者可以記錄到諸如HDD16的記錄媒體中。
通過(guò)參考元數(shù)據(jù)(登記信息),可以重新使用過(guò)去的計(jì)劃處理,從而使得計(jì)劃處理更加迅速和更加精確。
可以在外設(shè)備中作為數(shù)據(jù)庫(kù)管理上述元數(shù)據(jù)。
在上述實(shí)施例中,解碼器22、23、或24不必要完全解碼存儲(chǔ)在HDD16中的經(jīng)壓縮編碼的視頻數(shù)據(jù)。
更確切地說(shuō),在本發(fā)明實(shí)施例中,解碼器22、23、或24可以僅僅解碼和解量化可變長(zhǎng)度代碼而無(wú)需執(zhí)行反離散余弦變換(IDCT),或者解碼器22、23、或24可以解量化可變長(zhǎng)度代碼而無(wú)需將其解碼。在這種情況下,解碼器22、23、或24可以生成登記信息,其表示編碼或者解碼處理已經(jīng)執(zhí)行到哪一個(gè)程度(例如,到解量化),并輸出與不完全解碼數(shù)據(jù)相關(guān)的登記信息。
另外,在前述實(shí)施例中,可以將不完全編碼數(shù)據(jù)(例如,經(jīng)過(guò)DCT和量化而未經(jīng)過(guò)可變長(zhǎng)度編碼的數(shù)據(jù))和涉及編碼和解碼處理的登記信息(如果需要)存儲(chǔ)在HDD16中。在這種情況下,解碼器22、23、或24可以在CPU20的控制下解碼不完全編碼數(shù)據(jù)并將其轉(zhuǎn)換為基帶信號(hào)。
更確切地說(shuō),解碼器22、23、或24可以對(duì)不完全編碼數(shù)據(jù)(其經(jīng)過(guò)DCT變換和量化而未經(jīng)過(guò)可變長(zhǎng)度編碼)進(jìn)行IDCT和解量化,而無(wú)需解碼可變長(zhǎng)度的代碼。
在這種情況下,CPU 20可以獲得存儲(chǔ)在HDD 16中的、與不完全編碼數(shù)據(jù)有關(guān)的、關(guān)于編碼和解碼處理的登記信息,并根據(jù)所獲得的登記信息進(jìn)行解碼計(jì)劃。
在前述實(shí)施例中,不完全編碼數(shù)據(jù)以及關(guān)于編碼和解碼處理的登記信息(根據(jù)需要)可以存儲(chǔ)在HDD 16中,并且解碼器22、23、或24不必要在CPU 20的控制下完全解碼該不完全編碼數(shù)據(jù)。
同樣在這種情況下,例如,CPU 20可以獲得存儲(chǔ)在HDD 16中的、與不完全編碼數(shù)據(jù)有關(guān)的、關(guān)于編碼和解碼處理的登記信息,并根據(jù)所獲得的登記信息進(jìn)行解碼計(jì)劃。解碼器22、23、或24也可以生成關(guān)于編碼和解碼處理的登記信息,并將其與不完全解碼數(shù)據(jù)相關(guān)地輸出。
換句話說(shuō),解碼器22、23、或24可以在CPU 20的控制下部分地進(jìn)行解碼(執(zhí)行部分解碼處理步驟)。CPU 20可以獲得存儲(chǔ)在HDD 16中的、相關(guān)于不完全編碼數(shù)據(jù)的、關(guān)于編碼和解碼的處理的登記信息,并根據(jù)所獲得的登記信息執(zhí)行由解碼器22、23或24進(jìn)行的解碼的計(jì)劃。根據(jù)需要,解碼器22、23或24可以生成關(guān)于編碼和解碼處理的登記信息,并輸出與不完全解碼數(shù)據(jù)有關(guān)的登記信息。
在HDD 16中,關(guān)于編碼和解碼處理的登記信息也可以與壓縮編碼流數(shù)據(jù)相關(guān)地存儲(chǔ),并且CPU 20能夠根據(jù)登記信息執(zhí)行解碼計(jì)劃。即使當(dāng)解碼器22、23或24能夠在CPU 20的控制下解碼壓縮編碼流數(shù)據(jù)并將其轉(zhuǎn)換為基帶信號(hào),也可以根據(jù)需要生成關(guān)于編碼和解碼處理的登記信息,并相關(guān)基帶信號(hào)地輸出該信息。
盡管在上述實(shí)施例中,重放裝置1包含多個(gè)解碼器,但是也可以將解碼器與重放裝置1分離地提供。
在這種情況下,各個(gè)獨(dú)立的解碼器能夠接收和解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),并顯示和輸出結(jié)果數(shù)據(jù)。另外,如上所述,各個(gè)解碼器可以接收和部分解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),并與關(guān)于編碼和解碼處理的登記信息一起輸出經(jīng)解碼的數(shù)據(jù)至外源??蛇x地,各個(gè)解碼器可以接收和解碼部分編碼數(shù)據(jù)并將其轉(zhuǎn)換為基帶信號(hào),并將其輸出到外源??蛇x地,各個(gè)解碼器可以接收和部分解碼部分壓縮編碼的視頻數(shù)據(jù)并將解碼數(shù)據(jù)與關(guān)于編碼和解碼處理的登記信息一起輸出到外源。
在上述實(shí)施例中,CPU 11和CPU20是分開提供的。然而,CPU 11和CPU20可以集成到一個(gè)CPU中,以便控制整個(gè)重放裝置1,或者即使CPU 11和CPU 20是分離構(gòu)造的,但是也可以將其集成到一個(gè)芯片上。
如果CPU 11和CPU20是分離提供的,那么前述實(shí)施例中由CPU 11執(zhí)行的至少部分處理可以由CPU 20以分時(shí)方式來(lái)執(zhí)行??蛇x地,由CPU 20執(zhí)行的部分處理可以由CPU 11以分時(shí)方式來(lái)執(zhí)行。也就是說(shuō),能夠執(zhí)行分布式處理的處理器可以用作CPU 11和CPU 20。
可選地,重放裝置1可以構(gòu)成為與網(wǎng)絡(luò)相連,并且在上述實(shí)施例中至少部分由CPU 11或者CPU 20執(zhí)行的處理可以由連接到網(wǎng)絡(luò)的另一裝置的CPU來(lái)執(zhí)行。
類似地,盡管在上述實(shí)施例中,存儲(chǔ)器13和存儲(chǔ)器21是分離提供的,但是也可以將其集成在重放裝置1中的一個(gè)存儲(chǔ)器中。
在上述實(shí)施例中,HDD 16,解碼器22、23和24和選擇器25經(jīng)由橋和總線彼此相連以便將其集成到重放裝置1中。然而,其中一些元件可以通過(guò)有線或者無(wú)線方式來(lái)外部地連接,或者這些裝置可以以另一種連接方式彼此連接。
盡管在上述實(shí)施例中,經(jīng)壓縮的流數(shù)據(jù)存儲(chǔ)在HDD 16中,但是它也可以存儲(chǔ)在另一記錄媒體中,諸如光盤、磁光盤、半導(dǎo)體存儲(chǔ)器、或者磁盤。
CPU 20、存儲(chǔ)器21、存儲(chǔ)器18、解碼器22、23和24以及選擇器25安裝在同一擴(kuò)展卡上,例如,PCI卡或者PCI-express卡。然而,如果通過(guò)使用例如PCI-express技術(shù)卡之間的傳送速率很高,那么這些元件也可以分離地安裝在不同擴(kuò)展卡上。
可以使用不同于MPEG的例如H264/AVC的編碼方法。
可以由硬件或者軟件來(lái)執(zhí)行一系列上述處理工作。如果使用軟件,那么將相應(yīng)軟件程序從記錄媒體安裝到構(gòu)建在專用硬件中的計(jì)算機(jī)或諸如個(gè)人計(jì)算機(jī)的通過(guò)其中安裝各種程序能夠執(zhí)行各種功能的計(jì)算機(jī)中。在這種情況下,圖1所示重放裝置1能夠由例如圖65所示個(gè)人計(jì)算機(jī)201形成。
在圖65所示個(gè)人計(jì)算機(jī)201中,中央處理單元(CPU)211根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)212中的程序或者從存儲(chǔ)單元218裝載到隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)213中的程序來(lái)執(zhí)行各種處理工作。在RAM213中也存儲(chǔ)CPU 211執(zhí)行處理所需數(shù)據(jù)。
CPU 211、ROM 212和RAM213經(jīng)由總線214彼此互連。輸入/輸出接口215也可以連接到總線214上。
輸入單元216,諸如鍵盤和鼠標(biāo),輸出單元217,諸如顯示器或者揚(yáng)聲器,存儲(chǔ)單元218,諸如硬盤,和通信單元219諸如調(diào)制解調(diào)器或者終端適配器都連接到輸入/輸出接口215。通信單元219經(jīng)由網(wǎng)絡(luò),諸如因特網(wǎng),執(zhí)行通信。
驅(qū)動(dòng)器220也根據(jù)需要連接到輸入/輸出接口215,磁盤231、光盤232、磁光盤233、或者半導(dǎo)體存儲(chǔ)器234根據(jù)需要安裝在驅(qū)動(dòng)器220中,并且從這種記錄媒體讀取的計(jì)算機(jī)程序安裝到存儲(chǔ)單元218中。
如上所述,如果軟件用于執(zhí)行一系列處理工作,那么相應(yīng)的軟件程序可以經(jīng)由網(wǎng)絡(luò)或從記錄媒體安裝到計(jì)算機(jī)中。
這種記錄媒體可以是其中存儲(chǔ)程序的封裝媒體,分離于裝置地分布式提供程序給用戶,諸如磁盤231(包括軟盤)、光盤232(包括只讀光盤存儲(chǔ)器(CD-ROM)或者數(shù)字多能光盤(DVD))、磁光盤233(包括小型盤(MD)(注冊(cè)商標(biāo))),或者半導(dǎo)體存儲(chǔ)器234??蛇x地,記錄媒體可以是ROM212或者包含在其中存儲(chǔ)了程序的存儲(chǔ)單元218中的硬盤,其中當(dāng)構(gòu)建在裝置中時(shí)將其提供給用戶。
在本說(shuō)明書中,形成記錄在記錄媒體中的程序的步驟包括如說(shuō)明書所述以時(shí)間次序執(zhí)行的處理,并且也可以包括并行或者單獨(dú)執(zhí)行的處理。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,只要在所附權(quán)利要求及其等效物的范圍內(nèi),都可以根據(jù)設(shè)計(jì)需要和其它因素進(jìn)行各種修改、合并、子合并、和變換。
權(quán)利要求
1.一種用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)的信息處理裝置,包括至少一個(gè)解碼裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制裝置,用于控制將經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置;以及控制裝置,用于控制由供給控制裝置和解碼裝置執(zhí)行的處理,其中控制裝置確定由解碼裝置執(zhí)行的解碼處理的順序,以便在用于由解碼裝置執(zhí)行的解碼處理的解碼處理單元中包含的圖像之中,在B圖像之前解碼I圖像和P圖像,以及根據(jù)重放速度指令裝置提供的重放速度指令,控制裝置從包含在解碼處理單元中的圖像之中選擇要從解碼裝置輸出的圖像。
2.根據(jù)權(quán)利要求1所述的信息處理裝置,其中解碼裝置包括解碼處理執(zhí)行裝置,用于執(zhí)行解碼處理,以及圖像供給控制裝置,用于控制將圖像供給解碼處理執(zhí)行裝置,其中圖像供給控制裝置在控制裝置的控制下,在包含在解碼處理單元中的圖像之中,將I圖像和P圖像、以及要被選擇作為從解碼裝置輸出的圖像的B圖像供給至解碼處理執(zhí)行裝置,以及解碼處理執(zhí)行裝置在控制裝置的控制下,解碼從圖像供給控制裝置供給的圖像,并也輸出作為要從解碼裝置輸出的圖像而被選擇的圖像。
3.根據(jù)權(quán)利要求1所述的信息處理裝置,其中提供多個(gè)解碼裝置,該信息處理裝置還包含輸出開關(guān)裝置,用于接收從多個(gè)解碼裝置輸出的未壓縮數(shù)據(jù),并用于選擇性地輸出所接收的未壓縮數(shù)據(jù),其中控制裝置還控制由輸出開關(guān)裝置執(zhí)行的處理。
4.根據(jù)權(quán)利要求1所述的信息處理裝置,其中解碼裝置包括用于存儲(chǔ)已解碼圖像的組存儲(chǔ)器,該組存儲(chǔ)器具有少于包含在解碼處理單元中的圖像數(shù)目的組,并且解碼裝置根據(jù)需要通過(guò)使用存儲(chǔ)在組存儲(chǔ)器中的已解碼的圖像作為參考圖像來(lái)執(zhí)行解碼處理。
5.根據(jù)權(quán)利要求4所述的信息處理裝置,其中組存儲(chǔ)器能夠存儲(chǔ)的圖像數(shù)目比包含在解碼處理單元中的I圖像和P圖像的數(shù)目大2。
6.根據(jù)權(quán)利要求4所述的信息處理裝置,其中解碼裝置的數(shù)目為3,并且各個(gè)解碼裝置包括能夠存儲(chǔ)8幅圖像的組存儲(chǔ)器。
7.根據(jù)權(quán)利要求4所述的信息處理裝置,其中控制裝置控制解碼裝置以將I圖像和P圖像存儲(chǔ)在組存儲(chǔ)器中用于I圖像和P圖像的固定位置。
8.根據(jù)權(quán)利要求1所述的信息處理裝置,其中,當(dāng)解碼處理單元的首部的圖像是從解碼裝置輸出的解碼圖像之中的I圖像或P圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第一預(yù)先確定數(shù)目的圖像。
9.根據(jù)權(quán)利要求8的信息處理裝置,其中第一預(yù)先確定數(shù)目比I圖像和P圖像的總數(shù)大1。
10.根據(jù)權(quán)利要求1所述的信息處理裝置,其中,當(dāng)在解碼處理單元首部的圖像是從解碼裝置輸出的解碼圖像之中的B圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第二預(yù)先確定數(shù)目的圖像。
11.根據(jù)權(quán)利要求10所述的信息處理裝置,其中,第二預(yù)先確定的數(shù)目比I圖像和P圖像的總數(shù)大2。
12.根據(jù)權(quán)利要求1所述的信息處理裝置,其中當(dāng)重放速度指令裝置指示的重放速度和重放方向分別是正常和正向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第一預(yù)先確定數(shù)目的圖像。
13.根據(jù)權(quán)利要求12所述的信息處理裝置,其中第一預(yù)先確定的數(shù)目比I圖像和P圖像的總數(shù)大1。
14.根據(jù)權(quán)利要求1所述的信息處理裝置,其中當(dāng)重放速度指令裝置指示的重放速度和重放方向分別是正常和反向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此相偏移第二預(yù)先確定數(shù)目的圖像。
15.根據(jù)權(quán)利要求14所述的信息處理裝置,其中第二預(yù)先確定的數(shù)目比I圖像和P圖像的總數(shù)大2。
16.根據(jù)權(quán)利要求1所述的信息處理裝置,其中控制裝置確定解碼裝置執(zhí)行解碼處理的定時(shí)以便由解碼裝置解碼B圖像的定時(shí)比輸出已解碼的B圖像的定時(shí)要早一幅圖像。
17.根據(jù)權(quán)利要求4所述的信息處理裝置,其中壓縮編碼的視頻數(shù)據(jù)包括圖像組,并且當(dāng)接收包括I圖像或P圖像的圖像組時(shí),其中所述圖像的數(shù)目大于從組存儲(chǔ)器的組數(shù)目減去3所獲得的值,控制裝置將圖像組劃分成解碼處理單元,每個(gè)解碼處理單元包括數(shù)目比通過(guò)從組存儲(chǔ)器的組數(shù)目減去2所獲得的值少的I圖像或P圖像,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
18.根據(jù)權(quán)利要求17所述的信息處理裝置,其中控制裝置形成解碼處理單元以便包含在劃分的解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在時(shí)間上在先的圖像組或者時(shí)間上在先的解碼處理單元中的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或者更多。
19.根據(jù)權(quán)利要求4所述的信息處理裝置,其中經(jīng)壓縮編碼的視頻數(shù)據(jù)包括圖像組,并且當(dāng)接收包括I圖像或P圖像的第一圖像組時(shí),其中所述圖像的數(shù)目小于從組存儲(chǔ)器的組數(shù)目減去3所獲得的值,控制裝置檢測(cè)時(shí)間上連續(xù)于第一圖像組的第二圖像組的結(jié)構(gòu),并且,如果包含在第一圖像組和第二圖像組中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目減去2獲得的值,那么控制裝置合并第一圖像組和第二圖像組以形成解碼處理單元,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
20.根據(jù)權(quán)利要求19所述的信息處理裝置,其中控制裝置形成解碼處理單元以便包含在合并的解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在時(shí)間上在先的圖像組中的I圖像和P圖像的總數(shù)大預(yù)先確定的數(shù)目或更多。
21.根據(jù)權(quán)利要求4所述的信息處理裝置,其中經(jīng)壓縮編碼的視頻數(shù)據(jù)包括圖像組,并且控制裝置檢測(cè)第一圖像組的結(jié)構(gòu)和時(shí)間上連續(xù)于第一圖像組的第二圖像組的結(jié)構(gòu),并且如果包含在第一圖像組和第二圖像組中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目中減去3獲得的值的二倍,那么控制裝置合并第一圖像組和第二圖像組,然后劃分所合并的圖像組以形成第一解碼處理單元和第二解碼處理單元,每個(gè)解碼處理單元包括數(shù)目小于從組存儲(chǔ)器的組數(shù)減去2所獲得的值的I圖像或P圖像,并且控制裝置控制供給控制裝置以分別地將第一解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)和第二解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
22.根據(jù)權(quán)利要求21所述的信息處理裝置,其中控制裝置形成第一解碼處理單元和第二解碼處理單元,以便包含在第一解碼處理單元和第二解碼處理單元中的I圖像或P圖像的總數(shù)不變得比時(shí)間上在先的解碼處理單元或者時(shí)間上在先的圖像組的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或更多。
23.一種用于信息處理裝置的信息處理方法,所述信息處理裝置解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),該方法包括以下步驟獲得重放速度指令;確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像中選擇要輸出的圖像;控制將I圖像和P圖像、以及從包含在解碼處理單元中的圖像中被選擇作為要輸出的圖像的B圖像供給解碼器;解碼供給解碼器的圖像;以及控制從解碼圖像中被選擇作為要輸出的圖像的圖像的輸出。
24.一種記錄媒體,其中記錄了允許計(jì)算機(jī)執(zhí)行解碼壓縮編碼的視頻數(shù)據(jù)的處理的程序,所述處理包括以下步驟獲得重放速度指令;確定圖像的解碼處理的順序,其中所述圖像包含在用于執(zhí)行解碼處理的解碼處理單元中,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像之中選擇要輸出的圖像;控制將I圖像和P圖像、和在解碼處理單元中包含的圖像中作為要輸出圖像選擇的B圖像供給至解碼器;解碼供給解碼器的圖像;以及控制從解碼的圖像中選擇作為要輸出圖像的圖像的輸出。
25.一種程序,用于允許計(jì)算機(jī)執(zhí)行解碼壓縮編碼的視頻數(shù)據(jù)的處理,所述處理包括以下步驟獲得重放速度指令;確定圖像的解碼處理的順序,其中所述圖像包含在用于執(zhí)行解碼處理的解碼處理單元中,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像之中選擇要輸出的圖像;控制將I圖像和P圖像、和在解碼處理單元中包含的圖像中作為要輸出圖像選擇的B圖像供給至解碼器;解碼供給解碼器的圖像;以及控制從解碼的圖像中選擇作為要輸出圖像的圖像的輸出。
26.一種信息處理裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),包括存儲(chǔ)裝置,用于存儲(chǔ)經(jīng)壓縮編碼的視頻數(shù)據(jù);讀出裝置,用于從存儲(chǔ)裝置讀出經(jīng)壓縮編碼的視頻數(shù)據(jù);解碼裝置,用于解碼經(jīng)壓縮編碼的是視頻數(shù)據(jù);供給控制裝置,用于控制將由讀出裝置讀出的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給至解碼裝置;控制裝置,用于控制由供給控制裝置和解碼裝置執(zhí)行的處理;以及重放速度指令裝置,用于將重放速度指令供給控制裝置,其中控制裝置確定包含在用于由解碼裝置執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像,控制裝置根據(jù)由重放速度指令裝置提供的重放速度指令,從包含在解碼處理單元中的圖像中選擇要從解碼裝置輸出的圖像,控制裝置控制供給控制裝置來(lái)控制將包含在解碼處理單元中的圖像中的I圖像和P圖像、以及被選擇作為要從解碼裝置輸出的圖像的B圖像供給至解碼裝置,以及控制裝置控制解碼裝置以解碼在供給控制裝置的控制下供給解碼裝置的圖像,并控制作為要從解碼裝置輸出的圖像而被選擇的圖像的輸出。
27.一種用于信息處理裝置的信息處理方法,所述信息處理裝置解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),所述方法包括以下步驟讀出存儲(chǔ)在存儲(chǔ)單元中的經(jīng)壓縮編碼的視頻數(shù)據(jù);供給重放速度指令;獲得所供給的重放速度指令;確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像中選擇要輸出的圖像;控制將I圖像和P圖像、以及從包含在讀取的經(jīng)壓縮編碼的視頻數(shù)據(jù)的解碼處理單元中的圖像中被選擇作為要輸出的圖像的B圖像供給至解碼器;以及解碼供給解碼器的圖像;以及控制從解碼的圖像中被選擇作為要輸出的圖像的圖像的輸出。
28.一種記錄媒體,其中記錄了允許計(jì)算機(jī)執(zhí)行處理的程序,所述處理用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),該處理包括以下步驟讀出存儲(chǔ)在存儲(chǔ)單元中的經(jīng)壓縮編碼的視頻數(shù)據(jù);供給重放速度指令;獲得所供給的重放速度指令;確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像中選擇要輸出的圖像;控制將I圖像和P圖像,以及作為要輸出圖像而從包含在讀取的經(jīng)壓縮編碼的視頻數(shù)據(jù)的解碼處理單元中的圖像中選擇的B圖像供給至解碼器;解碼供給解碼器的圖像;以及控制從解碼的圖像中作為要輸出圖像而選擇的圖像的輸出。
29.一種程序,用于允許計(jì)算機(jī)執(zhí)行解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)的處理,所述處理包括以下步驟讀出存儲(chǔ)在存儲(chǔ)單元中的經(jīng)壓縮編碼的視頻數(shù)據(jù);供給重放速度指令;獲得所供給的重放速度指令;確定包含在用于執(zhí)行解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像;根據(jù)所獲得的重放速度指令,從包含在解碼處理單元中的圖像中選擇要輸出的圖像;控制將I圖像和P圖像,以及作為要輸出圖像而從包含在讀取的經(jīng)壓縮編碼的視頻數(shù)據(jù)的解碼處理單元中的圖像中選擇的B圖像供給至解碼器;解碼供給解碼器的圖像;以及控制從解碼的圖像中作為要輸出圖像而選擇的圖像的輸出。
30.一種信息處理裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),包括解碼裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制裝置,用于控制將經(jīng)壓縮編碼的視頻數(shù)據(jù)供給至解碼裝置;以及控制裝置,用于控制由供給控制裝置和解碼裝置執(zhí)行的處理,其中控制裝置確定包含在用于由解碼裝置執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像,控制裝置根據(jù)重放速度指令裝置提供的重放速度指令,在包含在解碼處理單元中的圖像中選擇要從解碼裝置輸出的圖像,控制裝置控制供給控制裝置,以控制將包含在解碼處理單元中的圖像中的I圖像和P圖像、以及被選擇作為要從解碼裝置輸出的圖像的B圖像供給至解碼裝置,以及控制裝置控制解碼裝置解碼在供給控制裝置的控制下供給解碼裝置的圖像,并控制作為要從解碼裝置輸出的圖像而被選擇的圖像的輸出。
31.根據(jù)權(quán)利要求30所述的信息處理裝置,還包括組存儲(chǔ)器,用于存儲(chǔ)解碼裝置解碼的圖像,組存儲(chǔ)器具有比包含在解碼處理單元中的圖像數(shù)目少的組數(shù),其中解碼裝置根據(jù)需要通過(guò)使用存儲(chǔ)在組存儲(chǔ)器中的已解碼圖像作為參考圖像來(lái)執(zhí)行解碼處理。
32.根據(jù)權(quán)利要求31所述的信息處理裝置,其中組存儲(chǔ)器能夠存儲(chǔ)的圖像數(shù)目比包含在解碼處理單元中的I圖像和P圖像的數(shù)目大2。
33.根據(jù)權(quán)利要求31所述的信息處理裝置,其中組存儲(chǔ)器能夠存儲(chǔ)8幅圖像。
34.根據(jù)權(quán)利要求31所述的信息處理裝置,其中I圖像和P圖像存儲(chǔ)在組存儲(chǔ)器中用于I圖像和P圖像的固定位置。
35.根據(jù)權(quán)利要求30所述的信息處理裝置,其中,當(dāng)解碼處理單元的首部的圖像是從解碼裝置輸出的解碼圖像中的I圖像或P圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼的圖像的顯示輸出定時(shí)彼此偏移第一預(yù)先確定數(shù)目的圖像。
36.根據(jù)權(quán)利要求35所述的信息處理裝置,其中第一預(yù)先確定數(shù)目比I圖像和P圖像的總數(shù)大1。
37.根據(jù)權(quán)利要求30所述的信息處理裝置,其中,當(dāng)解碼處理單元的首部的圖像是從解碼裝置輸出的解碼圖像之中的B圖像時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼的圖像的顯示輸出定時(shí)彼此偏移第二預(yù)先確定數(shù)目的圖像。
38.根據(jù)權(quán)利要求37所述的信息處理裝置,其中第二預(yù)先確定數(shù)目比I圖像和P圖像的總數(shù)大2。
39.根據(jù)權(quán)利要求30所述的信息處理裝置,其中當(dāng)重放速度指令裝置指示的重放速度和重放方向分別是正常和正向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼圖像的顯示輸出定時(shí)彼此偏移第一預(yù)先確定數(shù)目的圖像。
40.根據(jù)權(quán)利要求39所述的信息處理裝置,其中第一預(yù)先確定的數(shù)目比I圖像和P圖像的總數(shù)大1。
41.根據(jù)權(quán)利要求30所述的信息處理裝置,其中當(dāng)重放速度指令裝置指示的重放速度和重放方向分別是正常和反向時(shí),控制裝置控制解碼裝置以便解碼裝置開始解碼的解碼開始定時(shí)和解碼裝置開始輸出解碼的圖像的顯示輸出定時(shí)彼此偏移第二預(yù)先確定數(shù)目的圖像。
42.根據(jù)權(quán)利要求41所述的信息處理裝置,其中第二預(yù)先確定的數(shù)目比I圖像和P圖像的總數(shù)大2。
43.根據(jù)權(quán)利要求30所述的信息處理裝置,其中控制裝置確定解碼裝置執(zhí)行解碼處理的定時(shí),以便解碼裝置解碼B圖像的定時(shí)比輸出已解碼的B圖像的定時(shí)要早一個(gè)圖像。
44.根據(jù)權(quán)利要求31所述的信息處理裝置,其中經(jīng)壓縮編碼的視頻數(shù)據(jù)包括圖像組,以及當(dāng)接收包括數(shù)目比通過(guò)從組存儲(chǔ)器的組數(shù)目減去3獲得的值更大的I圖像或P圖像的圖像組時(shí),控制裝置將圖像組劃分成解碼處理單元,每個(gè)解碼處理單元包括數(shù)目比通過(guò)從組存儲(chǔ)器的組數(shù)減去2所獲得的值更少的I圖像或P圖像,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
45.根據(jù)權(quán)利要求44所述的信息處理裝置,其中控制裝置形成解碼處理單元以便包含在劃分的解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在時(shí)間上在先的圖像組或者時(shí)間上在先的解碼處理單元中的I圖像或P圖像的總數(shù)大預(yù)先確定的數(shù)目或者更多。
46.根據(jù)權(quán)利要求31所述的信息處理裝置,其中經(jīng)壓縮編碼的視頻數(shù)據(jù)包括圖像組,以及當(dāng)接收包括數(shù)目比通過(guò)從組存儲(chǔ)器的組數(shù)目減去3獲得的值更小的I圖像或P圖像的第一圖像組時(shí),控制裝置檢測(cè)時(shí)間上連續(xù)于第一圖像組的第二圖像組的結(jié)構(gòu),并且如果包含在第一圖像組和第二圖像組中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目中減去2所獲得的值,那么控制裝置合并第一圖像組和第二圖像組以形成解碼處理單元,并控制供給控制裝置以將解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
47.根據(jù)權(quán)利要求46所述的信息處理裝置,其中控制裝置形成解碼處理單元以便包含在合并的解碼處理單元中的I圖像或P圖像的總數(shù)不會(huì)變得比包含在時(shí)間上在先的圖像組中的I圖像和P圖像的總數(shù)大預(yù)先確定的數(shù)目或者更多。
48.根據(jù)權(quán)利要求31所述的信息處理裝置,其中經(jīng)壓縮編碼的視頻數(shù)據(jù)包括圖像組,并且控制裝置檢測(cè)第一圖像組的結(jié)構(gòu)和時(shí)間上連續(xù)于第一圖像組的第二圖像組的結(jié)構(gòu),并且如果包含在第一圖像組和第二圖像組中的I圖像或P圖像的總數(shù)小于通過(guò)從組存儲(chǔ)器的組數(shù)目中減去3所獲得的值的二倍,那么控制裝置合并第一圖像組和第二圖像組,并且然后劃分所合并的圖像組以形成第一解碼處理單元和第二解碼處理單元,每個(gè)解碼處理單元包括數(shù)目少于通過(guò)從組存儲(chǔ)器的組數(shù)減去2所獲得的值的I圖像或P圖像,并且所述控制裝置控制供給控制裝置以分別地將第一解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)和第二解碼處理單元的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置。
49.根據(jù)權(quán)利要求48所述的信息處理裝置,其中控制裝置形成第一解碼處理單元和第二解碼處理單元,以便第一解碼處理單元和第二解碼處理單元中包含的I圖像或P圖像的總數(shù)不會(huì)變得比時(shí)間上在先的解碼處理單元或者時(shí)間上在先的圖像組的I圖像或P圖像的總數(shù)大預(yù)先確定數(shù)目或者更多。
50.一種信息處理裝置,用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù),包括至少一個(gè)解碼器,解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制器,控制將經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼器;以及控制器,控制由供給控制器和解碼器執(zhí)行的處理,其中控制器確定解碼器執(zhí)行的解碼處理的順序,以便在用于解碼器執(zhí)行的解碼處理的解碼處理單元所包含的圖像中,在B圖像之前解碼I圖像和P圖像,并且控制器根據(jù)重放速度指令單元提供的重放速度指令,從包含在解碼處理單元中的圖像中選擇要從解碼器輸出的圖像。
51.一種用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)的信息處理裝置,包括存儲(chǔ)單元,存儲(chǔ)經(jīng)壓縮編碼的視頻數(shù)據(jù);讀出單元,從存儲(chǔ)單元讀出經(jīng)壓縮編碼的視頻數(shù)據(jù);解碼器,解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制器,控制將由讀出單元讀出的經(jīng)壓縮編碼的視頻數(shù)據(jù)供給至解碼器;控制器,控制由供給控制器和解碼器執(zhí)行的處理;以及重放速度指令單元,提供重放速度指令給控制器,其中控制器確定包含在用于解碼器執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像,控制器根據(jù)重放速度指令單元提供的重放速度指令,在包含在解碼處理單元中的圖像之中選擇要從解碼器輸出的圖像,控制器控制供給控制器以控制將包含在解碼處理單元中的圖像之中的I圖像和P圖像、以及作為要從解碼器輸出的圖像而被選擇的B圖像供給至解碼器,以及控制器控制解碼器解碼在供給控制器的控制下供給解碼器的圖像,并控制作為要從解碼器輸出的圖像而被選擇的圖像的輸出。
52.一種用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)的信息處理裝置,包括解碼器,解碼經(jīng)壓縮編碼的視頻數(shù)據(jù);供給控制器,控制將經(jīng)壓縮編碼的視頻數(shù)據(jù)供給至解碼器;以及控制器,控制由供給控制器和解碼器執(zhí)行的處理,其中控制器確定包含在用于解碼器執(zhí)行的解碼處理的解碼處理單元中的圖像的解碼處理的順序,以便在B圖像之前解碼I圖像和P圖像,控制器根據(jù)重放速度指令單元提供的重放速度指令,從包含在解碼處理單元的圖像之中選擇要從解碼器輸出的圖像,控制器控制供給控制器以控制將包含在解碼處理單元中的圖像之中的I圖像和P圖像、以及作為要從解碼器輸出的圖像而被選擇的B圖像供給至解碼器,以及控制器控制解碼器解碼在供給控制器的控制下供給解碼器的圖像,并控制作為要從解碼器輸出的圖像而被選擇的圖像的輸出。
全文摘要
本發(fā)明涉及信息處理裝置和方法、記錄媒體和程序。一種用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)的信息處理裝置包括用于解碼經(jīng)壓縮編碼的視頻數(shù)據(jù)的至少一個(gè)解碼裝置,用于控制將經(jīng)壓縮編碼的視頻數(shù)據(jù)供給解碼裝置的供給控制裝置,以及用于控制由供給控制裝置和解碼裝置執(zhí)行的處理的控制器。所述控制器確定由解碼裝置執(zhí)行的解碼處理的順序,以便在包含于用于由解碼裝置執(zhí)行的解碼處理的解碼處理單元的圖像之中,在B圖像之前解碼I圖像和P圖像。根據(jù)重放速度指令裝置提供的重放速度指令,所述控制器從包含在解碼處理單元中的圖像之中選擇要從解碼裝置輸出的圖像。
文檔編號(hào)H04N7/24GK1893608SQ20051012179
公開日2007年1月10日 申請(qǐng)日期2005年10月26日 優(yōu)先權(quán)日2004年10月26日
發(fā)明者柴田正二郎, 綱島修二, 小藪恭平, 高村元嗣, 柿田新次郎, 金子光久 申請(qǐng)人:索尼株式會(huì)社