專利名稱:圖像處理設備和方法、程序以及記錄介質的制作方法
技術領域:
本發(fā)明涉及圖像處理設備和方法、程序以及記錄介質。更加具體的說,本發(fā)明涉及一種圖像處理設備和方法、程序以及記錄介質,其中重新編碼是通過使用與先前對應的數(shù)據(jù)執(zhí)行的編碼相關的信息來執(zhí)行的。
背景技術:
在用于向遠方傳送運動圖像信號的系統(tǒng)中,例如在視頻會議系統(tǒng)或視頻電話系統(tǒng)中,圖像信號是通過根據(jù)行相關或幀間相關進行壓縮來進行編碼的,以便有效利用傳輸通道。
當壓縮圖像信號時,圖像信號被編碼以使將要產生的位流具有預定的位速率。然而,在實際應用中,由于傳輸通道的情形不同,可能需要改變位流的位速率。
當在廣播電臺中對傳輸?shù)膱D像信號進行編輯時,以幀為單位來執(zhí)行編輯,因此,與圖像信號的每個幀相關的信息應該不依賴于涉及該圖像信號的其它幀的信息。由將以低位速率(例如3到9Mbps)傳送的大量幀構成的一長組圖象(GOP)應該可以轉變成由將以高位速率(18到50Mbps)傳送的少量幀構成的一短GOP,反之亦然。在長GOP中,信息被近似相關,使得即使在以低位速率傳輸時,圖像質量也不會惡化。
參照圖1,現(xiàn)在將描述這樣的一個系統(tǒng)其中通過傳輸通道發(fā)送和接收的長GOP構成的流數(shù)據(jù)被重新編碼成具有短GOP的完全流內數(shù)據(jù)之后可以對幀進行編輯。
當接收到非壓縮原始圖象時,編碼裝置1根據(jù)MPEG方法將它編碼成長GOP,并通過傳輸通道11將流數(shù)據(jù)傳送給代碼轉換器2。在傳輸通道11中,適于傳送的由長GOP構成的流數(shù)據(jù)被傳送。
在代碼轉換器2中,在解碼器21中對通過傳輸通道11提供的MPEG長GOP流數(shù)據(jù)解碼之后,所述流數(shù)據(jù)在編碼器22中被重新編碼成所有流內幀,并且經過編碼的所有流內數(shù)據(jù)(串行數(shù)據(jù)傳輸接口內容數(shù)據(jù)包(SDTI CP)流)被輸出給SDTI CP接口的幀編輯裝置3。
在幀編輯裝置3中編輯的流數(shù)據(jù)被提供給代碼轉換器4。在代碼轉換器4中,在提供的所有流內數(shù)據(jù)在解碼器31中被解碼之后,所述數(shù)據(jù)在編碼器32中被重新編碼成MPEG長GOP,并且編碼的MPEG長GOP流數(shù)據(jù)經由過傳輸通道11被輸出給預定的數(shù)據(jù)接收器。
參照圖2,現(xiàn)在將描述一個系統(tǒng),用于以高位速率將輸入圖象編碼成MPEG長GOP和用于對MPEG長GOP進行解碼并將它們重新編碼成低位速率MPEG長GOP。
編碼裝置1將非壓縮輸入圖象編碼成高位速率MPEG長GOP,并將編碼的MPEG長GOP流數(shù)據(jù)輸出。代碼轉換器51在解碼器71中對高位速率MPEG長GOP進行解碼,然后在編碼器72中將它們重新編碼成低位速率MPEG長GOP。然后代碼轉換器51經由傳輸通道11將編碼的低位速率MPEG長GOP輸出給預定的數(shù)據(jù)接收器。
以這種方式,當對圖像信息進行重復編碼和解碼時,如果每次執(zhí)行編碼都改變編碼參數(shù),則圖象質量變得較低。為了克服這個缺陷,例如在日本未審定專利申請公開文本第2000-059788號中披露了通過使用編碼歷史信息用于抑制由重新編碼引起的圖像質量惡化的技術,所述歷史信息被插入到位流圖象層的用戶數(shù)據(jù)區(qū)中。
例如,在MPEG長GOP能被轉換成短GOP且其可以幀為單元進行編輯的系統(tǒng)中,通過使用編碼歷史信息來執(zhí)行重新編碼。下面參照圖3來描述該系統(tǒng)的配置。在圖3中,與圖1中相應的元件由相同的附圖標記表示,并因此省略其說明。
代碼轉換器101經過傳輸通道11從編碼裝置1接收MPEG長GOP。
MPEG長GOP由三種具有不同特性的圖像組成,即,內編碼(I)圖象、預測編碼(P)圖像和雙向預測編碼(B)圖像。因此,從這樣一個MPEG長GOP解碼的視頻數(shù)據(jù)也是由I圖像、P圖像和B圖像組成的。因此,當將視頻數(shù)據(jù)重新編碼成MPEG長GOP時,如果視頻數(shù)據(jù)的I圖像、P圖像和B圖像是用不同類型的圖像重新編碼的,則圖像質量可能下降。例如,如果比I圖像或P圖像更易受到失真影響的B圖像被重新編碼為I圖像,則在前的或即將到來的圖像從該失真的I圖像獲得預測,從而降低了圖像質量。
為了防止由重新編碼引起的圖像質量的惡化,當通過傳輸通道11接收到先前在另一個代碼轉換器或編碼裝置中編碼的流數(shù)據(jù)時,代碼轉換器101執(zhí)行下列操作。在解碼器111中對提供的MPEG長GOP流數(shù)據(jù)進行解碼之后,當在編碼器112中將解碼的MPEG長GOP流數(shù)據(jù)重新編碼成所有流內幀時,代碼轉換器101將提供給解碼器111的編碼流的參數(shù)例如圖像類型和量化等級添加到完全內編碼流作為運動圖像和電視工程協(xié)會(SMPTE)328M歷史信息,并將所有內編碼流提供給幀編輯裝置3。
在幀編輯裝置3中編輯的流數(shù)據(jù)被提供給代碼轉換器102。代碼轉換器102在解碼器121中用歷史信息對所有流內數(shù)據(jù)進行解碼。編碼器122通過使用所述解碼的歷史信息中包含的參數(shù)例如圖像類型和量化等級將所有流內數(shù)據(jù)重新編碼成長GOP。
有這樣一個系統(tǒng),其中非壓縮數(shù)據(jù)以高位速率被編碼為MPEG長GOP,而MPEG長GOP被解碼,并且解碼的數(shù)據(jù)被重新編碼成低位速率MPEG長GOP。在該系統(tǒng)中,由重新編碼引起的圖像質量的惡化得到抑制。下面將參照圖4來描述該系統(tǒng)的配置。在圖4中,與圖2中相應的元件用相同的附圖標記表示,并因此省略其說明。
當接收到在編碼裝置1中編碼的MPEG長GOP流時,當在解碼器141中對高位速率MPEG長GOP進行解碼時,代碼轉換器131獲得所需的編碼參數(shù),并將解碼的視頻數(shù)據(jù)和獲得的編碼參數(shù)提供給編碼器142。編碼器142通過使用提供的編碼參數(shù)將視頻數(shù)據(jù)重新編碼成低位速率MPEG長GOP,并將編碼的低位速率MPEG長GOP流輸出。
當使用在解碼操作期間獲得的歷史信息和編碼參數(shù)以便防止圖像質量惡化時,在幀編輯裝置3中編輯的編碼流的圖像數(shù)據(jù)變得不連續(xù),從而使得表示幀間相關性的信息變得無意義。因此,當使用歷史信息和編碼參數(shù)時,必須檢測流數(shù)據(jù)的編輯點,并且在編輯點處,必須在沒有使用歷史信息和編碼參數(shù)的情況下執(zhí)行重新編碼。
在日本未審定專利申請公開文本第2003-143607號中公開了下列技術。在以GOP為單元對代碼序列進行編輯的過程中,通過將被編輯的輸入代碼序列A和B的首標確定圖像類型(I、P、B),根據(jù)輸入碼序列A和B的圖像類型插入或重寫指示編輯點的代碼(標記),并且從外部輸入的編輯信息由此表示流數(shù)據(jù)的編輯點。
下列在日本未審定專利申請公開文本第2001-169278號中披露的技術也是可用的。表示用于對幀或場進行計數(shù)的計算數(shù)量的信息被添加到流數(shù)據(jù)。當重新編碼圖像時,根據(jù)所述計數(shù)是否為連續(xù)的來檢測通過拼接、插入或除去圖像所產生的圖像中斷點。
如上所述,通過再度使用先前的編碼信息,例如歷史信息或編碼參數(shù)(插入到圖像層和宏塊層中的參數(shù),例如圖像類型、運動向量和量化等級)來執(zhí)行重新編碼而能夠保持圖像質量。然而,例如,在編輯期間,具有不同于在先前編碼中使用的位速率、圖像幀和色度格式的數(shù)據(jù)流可代替先前編碼中使用的數(shù)據(jù)流被布置或插入。在該情況下,在先前編碼中使用的參數(shù)信息不能再次用于執(zhí)行重新編碼。
如上所述,有這樣一種技術,其中指示編輯點的代碼(標記)被插入用于檢測編輯點。在該情況下,在用于發(fā)送和接收編碼流的整個系統(tǒng)中,所有編輯裝置應該能夠插入預定的指示編輯點的代碼(標記),并且所有編碼裝置應該能夠檢測這種代碼(標記)。如果在該系統(tǒng)中有一個不具有插入指示編輯點的代碼(標記)的功能的編輯裝置,則編碼流可以包括沒有預定代碼(標記)的編輯點。
如上所述,有另外一種技術,其中表示用于對幀或場進行計數(shù)的計算數(shù)量的信息被加入到流數(shù)據(jù)。使用該技術,即使在所述系統(tǒng)中存在不具有插入指示編輯點的代碼(標記)的功能的編輯裝置,但通過計數(shù)的連續(xù)性也可檢測到編輯點。然而,由于計數(shù)器不能無限的計算數(shù)量,所以計數(shù)在編輯點處可以變得連續(xù)。另外,當多個照相機被用于開始成像并且通過切換照相機按照時序編輯圖像時,計數(shù)在編輯點處變得連續(xù)。更加具體的,例如,在使用多個照相機廣播棒球比賽中,如果在擋網處的照相機A和在露天看臺處的照相機B同時開始成像并且如果由照相機A成像的投手和由照相機B成像的擊球手按照時序進行切換,則這樣一個切換點就變?yōu)榫庉孅c。然而,一個幀或場中包含的計數(shù)變得連貫。
發(fā)明內容
因此,考慮到上述背景,本發(fā)明的目的是檢測圖像數(shù)據(jù)的編輯點和根據(jù)包括檢測的編輯點的圖像數(shù)據(jù)的狀態(tài)選擇能被再度使用的信息項。
為了獲得上述目的,根據(jù)本發(fā)明的一個方面,提供有一種圖像處理設備,包括數(shù)據(jù)轉換器,用于對圖像數(shù)據(jù)執(zhí)行至少一部分編碼處理;檢測器,用于檢測圖像數(shù)據(jù)的編輯點;和控制器,用于根據(jù)檢測器檢測的編輯點確定再度使用禁止周期,在該周期中,當數(shù)據(jù)轉換器執(zhí)行至少一部分編碼處理時,與對圖像數(shù)據(jù)執(zhí)行的先前編碼處理相關的信息是不可再度使用的。
根據(jù)本發(fā)明的另一個方面,提供有一種圖像處理方法,包括檢測步驟,用于檢測圖像數(shù)據(jù)的編輯點;和控制步驟,用于根據(jù)在檢測步驟中檢測的編輯點確定一再度使用禁止周期,在該周期中,當執(zhí)行至少一部分編碼處理時,與先前編碼處理相關的信息是不可再度使用的。
根據(jù)本發(fā)明的又一個方面,提供有一種允許計算機執(zhí)行圖像處理方法的程序,所述圖像處理方法包括檢測步驟,用于檢測圖像數(shù)據(jù)的編輯點;和控制步驟,用于根據(jù)在檢測步驟中檢測的編輯點確定一再度使用禁止周期,在該周期中,當執(zhí)行至少一部分編碼處理時,與先前編碼處理相關的信息是不可再度使用的。
根據(jù)本發(fā)明的再一個方面,提供有一種在其中存儲程序的記錄介質,所述程序允許計算機執(zhí)行圖像處理方法,所述圖像處理方法包括檢測步驟,用于檢測圖像數(shù)據(jù)的編輯點;和控制步驟,用于根據(jù)在檢測步驟中檢測的編輯點確定一再度使用禁止周期,在該周期中,當執(zhí)行至少一部分編碼處理時,與先前編碼處理相關的信息是不可再度使用的。
根據(jù)本發(fā)明的圖像處理設備和方法、程序和記錄介質,圖像數(shù)據(jù)的編輯點能被檢測到。根據(jù)該編輯點,其中當執(zhí)行至少一部分編碼處理時,與對圖像數(shù)據(jù)執(zhí)行的先前編碼處理相關的信息不能被再度使用的再度使用禁止周期被確定。
使用這種[配置,可防止VBV緩沖器的溢出或下溢和圖像質量的惡化。
圖1為說明其中在以幀為單元對數(shù)據(jù)進行編輯之后執(zhí)行重新編碼的已知系統(tǒng)的方框圖;圖2為說明其中通過改變MPEG長GOP的位速率而能夠執(zhí)行重新編碼的已知系統(tǒng)的方框圖;圖3為說明其中使用了編碼歷史信息的圖1所示的已知系統(tǒng)的方框圖;圖4為說明其中使用了編碼歷史信息的圖2所示的已知系統(tǒng)的方框圖;圖5為說明根據(jù)本發(fā)明的其中在以幀為單元對數(shù)據(jù)進行編輯之后執(zhí)行重新編碼的系統(tǒng)的方框圖;圖6為說明圖5所示的系統(tǒng)中的編碼裝置的配置的方框圖;圖7為說明用于產生包括附加編碼信息的編碼數(shù)據(jù)的處理1的流程圖;圖8為說明用于產生包括附加編碼信息的編碼數(shù)據(jù)的處理2的流程圖;圖9為說明用于產生包括附加編碼信息的編碼數(shù)據(jù)的處理3的流程圖;圖10說明在SMPTE 329M中定義的compressed_stream_format_of_MPEG_2_re_coding_set()的語法;圖11說明在extension_and_user_data(2)的user_data(2)中表示的信息;圖12為說明圖5中所示的系統(tǒng)中的編碼器的結構的方框圖;圖13表示編輯點的檢測;圖14說明再度使用禁止周期的開始點;圖15說明當在再度使用禁止周期期間重新檢測到編輯點時的再度使用禁止周期;圖16為說明根據(jù)本發(fā)明的其中通過改變MPEG長GOP的位速率而能夠執(zhí)行重新編碼的系統(tǒng)的配置的方框圖;圖17為說明圖16所示的系統(tǒng)中的編碼器的配置的方框圖;圖18為說明編輯點檢測處理1的流程圖;圖19為說明編輯點檢測處理2的流程圖;圖20為說明編輯點檢測處理3的流程圖;圖21為說明編碼處理1的流程圖;圖22為說明再度使用重新啟動確定處理1的流程圖;圖23說明當執(zhí)行再度使用重新啟動確定處理1時的再度使用禁止周期;圖24為說明再度使用重新啟動確定處理2的流程圖;圖25說明當執(zhí)行再度使用重新啟動確定處理2時的再度使用禁止周期;圖26為說明再度使用重新啟動確定處理3的流程圖;圖27說明當執(zhí)行再度使用重新啟動確定處理3時的再度使用禁止周期;圖28為說明參數(shù)再度使用編碼處理的流程圖;圖29為說明編碼處理2的流程圖;圖30為說明部分/完全再度使用重新啟動確定處理的流程圖;圖31說明當執(zhí)行圖30所示的部分/完全再度使用重新啟動確定處理時的再度使用禁止周期和部分再度使用允許周期;
圖32為說明參數(shù)部分再度使用編碼處理1的流程圖;圖33為說明參數(shù)部分再度使用編碼處理2的流程圖;圖34為說明本發(fā)明可應用的系統(tǒng)中的另一種形式的裝置的方框圖;和圖35為說明一個人計算機的配置的方框圖。
具體實施例方式
下面將說明在本說明書中所公開的本發(fā)明和本發(fā)明的優(yōu)選實施例之間的關系。隨后的實施例被描述用于支持本發(fā)明。雖然本發(fā)明是參照目前被認為是優(yōu)選實施例的內進行描述的,但應理解本發(fā)明并不局限于所公開的實施例。相反,本發(fā)明旨在覆蓋其它實施例。相反,在本說明書中公開的實施例并不限定于本發(fā)明,而是可以應用于其它發(fā)明。
本描述并不限定于本發(fā)明。換句話說,本描述包含在本說明書中公開的本發(fā)明的各個方面,并且這些方面并不是本申請所要求的,也就是,本發(fā)明的各方面可以分開申請或者將來通過修改而可以呈現(xiàn)或添加。
下面將參照附圖通過優(yōu)選實施例的說明來詳細描述本發(fā)明。
下面參照圖5討論其中使用編碼歷史信息將MPEG長GOP轉換成短GOP的系統(tǒng),所述MPEG長GOP能夠以幀為單元進行編輯。
在圖5中,與圖3中的那些元件相應的元件以相同的附圖標記來表示。圖5中所示的系統(tǒng)的結構與圖3中所示的基本相似,除了提供編碼裝置151和代碼轉換器152來分別代替編碼裝置1和代碼轉換器102。代碼轉換器152包括能選擇歷史信息的編碼器161,所述歷史信息根據(jù)所提供的流的條件可被再次使用。編碼器161的結構與圖3中的代碼轉換器102的編碼器122相似,除了不但從解碼器121輸出解碼信號,而且輸入到解碼器121中的流數(shù)據(jù)也被提供給編碼器161。
編碼設備151接收非壓縮原始圖像并對它進行編碼。編碼信息151產生附加的編碼信息并將它添加到編碼流中以便在幀編輯裝置3中對圖像數(shù)據(jù)進行編輯之后代碼轉換器152的編碼器161能夠檢測編輯點。
圖6為說明編碼裝置151的配置的方框圖。當輸入原始圖像時,幀計數(shù)器181檢測幀同步,并把每個幀的計數(shù)加起來以便將所述計數(shù)提供給附加編碼信息產生器182。幀計數(shù)器181具有預定的上限,例如65535,因此當計數(shù)到達上限時,它從0重新開始。也就是,在下述的處理中,當執(zhí)行重新編碼時,上限和0被識別為連續(xù)的幀。
在本實施例中,幀計數(shù)器181以一為單位遞增或遞減。或者,它可以以預定的數(shù)量,例如對于每個幀以2進行遞增或遞減,并將計數(shù)輸出給附加編碼信息產生器182。
在存儲器184中,存儲有表示編碼裝置151的類型的Encoder_ID和表示該編碼器序列號的Encoder_Serial_Number。換句話說,Encoder_ID和Encoder_Serial_Number是用于唯一的識別編碼裝置151的識別信息。
附加編碼信息產生器182將從幀計數(shù)器181提供的計數(shù)設置為Continuity_Counter,并從存儲器184讀取Encoder_ID和Encoder_Serial_Number。然后附加編碼信息產生器182以幀為單位將Encoder_ID和Encoder_Serial_Number連同Continuity_Counter一起提供給編碼器185。
編碼器185通過已知的編碼方法將例如串行數(shù)字接口(SDI)格式的原始圖像編碼為MPEG長GOP,而且還將從附加編碼信息產生器182提供的表示Continuity_Counter、Encoder_ID和Encoder_Serial_Number的信息添加到長GOP的每個幀作為附加編碼信息。
也就是,通過編碼器185添加到編碼流中的附加編碼信息指示Continuity_Counter、Encoder_ID和Encoder_Serial_Number。因此,即使計數(shù)在編輯點處變得連續(xù)或者表示連續(xù)幀,但在重新編碼處理期間能夠發(fā)現(xiàn)不同的編碼裝置已經根據(jù)Encoder_ID或Encoder_Serial_Number對幀進行了編碼,從而檢測到編輯點的存在。
為了指定編碼裝置151,使用了為表示編碼裝置類型的信息的Encoder_ID和表示序號的Encoder_Serial_Number。通常,由若干個數(shù)字表示所述序列號,并且如果需要,則由若干個字母表示。如果表示編碼裝置類型的字母未被添加到所述序號中,則可能存在一個以上具有相同序號的不同類型的編碼裝置。因此,為了指定編碼裝置151,優(yōu)選的使用了表示編碼裝置類型的Encoder_ID和表示序號的Encoder_Serial_Number,使得具有相同序號的不同類型的編碼裝置不能被識別為相同的編碼裝置。然而,如果所述序號中包含表示編碼裝置類型的若干個字母,則對于不同類型的其它編碼裝置不可能具有相同的序號,換句話說,編碼裝置可由所述序號唯一指定。在該情況下,只有表示序號的Encoder_Serial_Number能被存儲在存儲器184中作為用于指定編碼裝置151的信息,并且它被添加到通過編碼器185編碼流中作為附加編碼信息。
即使附加編碼信息中未包含Continuity_Counter,如果加入Encoder_ID或Encoder_Serial_Number,則也能夠發(fā)現(xiàn)一個不同的編碼裝置已經對流進行了編碼。因此,編輯點能被檢測。
代替用于指定編碼裝置151的信息,可使用表示編碼裝置151在其開始編碼的時間點的信息作為附加編碼信息。
當接收從幀計數(shù)器181提供的幀計數(shù)輸入時,附加編碼信息產生器182從計時器183獲得當前時間或當前時間和日期作為表示第一幀的開始時間的時間信息,并將這種信息提供給存儲器184。存儲器184接收從附加編碼信息產生器182提供的表示編碼開始時間或編碼開始時間和日期的信息,并將該信息存儲為Encoding_Start_Time_Code。
在Encoding_Start_Time_Code中,指示開始時間或開始時間和日期的信息包括作為指示編碼開始時間的信息。該信息可以是“秒、分、小時、日、月和年”、“秒、分、小時、日和月”、“秒、分、小時和日”、“秒、分和小時”的組合。或者,該信息可以是“秒、分、小時、日、月和年”中的一項。任何項的信息都可被使用,只要能夠得出如果一個數(shù)據(jù)流的Encoding_Start_Time_Code與另一個數(shù)據(jù)流的不同,則它們就不是一系列在相同時間點處開始編碼的編碼流。
附加編碼信息產生器182將從幀計數(shù)器提供的計數(shù)設置為Continuity_Counter,并從存儲器184讀取Encoding_Start_Time_Code以便為每個幀將其提供給編碼器185。
編碼器185通過已知的編碼方法將例如SDI格式的原始圖像編碼成MPEG長GOP,并且還將作為附加編碼信息的從附加編碼信息產生器182提供的Continuity_Counter和Encoding_Start_Time_Code的信息添加到MPEG長GOP的每個幀中,并輸出結果得到的MPEG長GOP。
通過該配置,即使計數(shù)在編輯點處變得連續(xù),如果通過檢測Encoding_Start_Time_Code確定開始進行編碼的時間和日期在數(shù)據(jù)流之間是不同的,則能夠檢測到編輯點。因此,即使計數(shù)變得連續(xù)也能夠可靠地檢測到編輯點。
即使在附加編碼信息中不包含Continuity_Counter,如果添加了Encoding_Start_Time_Code,則能夠發(fā)現(xiàn)開始進行編碼的時間和日期在數(shù)據(jù)流之間是不同的。因此,能夠檢測到編輯點。
在編碼裝置151中,將要加入到編碼流中的附加編碼信息可以包含Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number。
更加具體地說,當接收到從幀計數(shù)器181提供的幀計數(shù)輸入時,附加編碼信息產生器182從計數(shù)器183獲得表示當前時間和日期的信息作為開始對第一幀進行編碼的時間信息,并將該信息提供給存儲器184。存儲器184還接收從附加編碼信息產生器182提供的表示編碼開始時間的信息并將它存儲為Encoding_Start_Time_Code。
存儲器184還存儲有指示編碼裝置151類型信息的Encoder_ID和表示編碼裝置151序號的Encoder_Serial_Number。附加編碼信息產生器182將從存儲器184提供的計數(shù)設置為Continuity_Counter,并從存儲器184讀取Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number,以便為每個幀將它們提供給編碼器185。
編碼器185通過已知的編碼方法將例如SDI格式的原始圖像編碼成MPEG長GOP并且將為從附加編碼信息產生器182提供的附加編碼信息的Continuity_Counter、Encoding_Start_Time_Code、Encoder_ID和Encoder_Serial_Number的信息添加到MPEG長GOP的每個幀。
在圖6所示的編碼裝置151中,由附加編碼信息產生器182產生的附加編碼信息被添加到編碼流的每個幀,并將結果得到的編碼流輸出。然而,如果附加的編碼信息被正確的連接到編碼流的每個幀,則可分開輸出編碼流和附加編碼信息。如上所述,編碼序列和附加編碼信息經過傳送通道11被傳送到代碼轉換器101?;蛘?,它們可以記錄在記錄介質上并提供給代碼轉換器101。在該情況下,如果附加編碼信息被正確的連接到編碼流的每個幀,則編碼流和附加編碼信息可被記錄在不同的記錄介質上并被提供。
參照圖7,下面將描述用于產生包括編碼信息的編碼數(shù)據(jù)的處理1。在下述處理中,現(xiàn)在假設用于指定編碼裝置151的信息已經被存儲在存儲器184中。
在步驟S1,編碼裝置151接收非壓縮圖像數(shù)據(jù)并將它提供給編碼器185。
在步驟S2,幀計數(shù)器181檢測提供給編碼器185的非壓縮數(shù)據(jù)的幀同步并對幀的數(shù)量進行計數(shù)。
在步驟S3,編碼器185對提供的非壓縮圖像數(shù)據(jù)進行編碼。
在步驟S4,附加編碼信息產生器182獲得存儲在存儲器184中的用于指定編碼裝置的信息(即,Encoder_ID和Encoder_Serial_Number)和由幀計數(shù)器181計數(shù)的幀計數(shù)(Continuity_Counter)。如果只能通過Encoder_Serial_Number指定編碼裝置151,則僅將Encoder_Serial_Number存儲在存儲器184中,并且由附加編碼信息產生器182獲得就足夠了。
在步驟S5,附加編碼信息產生器182根據(jù)用于指定編碼裝置的信息(Encoder_ID和Encoder_Serial_Number)和幀計數(shù)(Continuity_Counter)產生附加編碼信息,并將該附加編碼信息提供給編碼器185。
在步驟S6,編碼器185將附加編碼信息與編碼數(shù)據(jù)進行結合并輸出該結果得到的數(shù)據(jù)。
在步驟S7,編碼器185確定非壓縮圖像數(shù)據(jù)的供給是否完成。如果未完成,則所述處理返回到步驟S2,且重復步驟S2和隨后的步驟。如果確定非壓縮圖像數(shù)據(jù)的供給完成了,則完成所述處理。
根據(jù)該處理,用于指定編碼裝置的信息(Encoder_ID和Encoder_Serial_Number)和幀計數(shù)(Continuity_Counter)被添加到編碼數(shù)據(jù)作為附加編碼信息。因此,當記錄該編碼數(shù)據(jù)時,編輯點能被檢測到。
參照圖8的流程圖,現(xiàn)在將描述用于產生包含編碼信息的編碼數(shù)據(jù)的處理2。在該處理中,不需要提前將用于指定編碼裝置151的信息存儲在存儲器184中。
在步驟S21,編碼裝置151接收非壓縮圖像數(shù)據(jù)并將它提供給編碼器185。
在步驟S22,附加編碼信息產生器182通過檢測計時器183獲得表示當前時間,例如秒、分、小時、日、月和年的當前時間信息,并將該當前時間信息存儲在存儲器184中作為編碼開始時間(Encoding_Start_Time_Code)。
步驟S23和S24分別類似于圖7的步驟S2和S3。也就是,在步驟S23對提供的非壓縮數(shù)據(jù)的幀數(shù)進行計數(shù),和在步驟S24執(zhí)行編碼。
在步驟S25,附加編碼信息產生器182獲得存儲在存儲器184中的編碼開始時間(Encoder_Start_Time_code)和由幀計數(shù)器181計數(shù)的幀計數(shù)(Continuity_Counter)。
在步驟S26,附加編碼信息產生器182根據(jù)獲得的編碼開始時間(Encoder_Start_Code)和幀計數(shù)(Continuity_Counter)產生附加編碼信息,并將該產生的附加編碼信息提供給編碼器185。
步驟S27和步驟S28分別與圖7中的步驟S6和S7類似。也就是,在步驟S27,附加編碼信息與編碼數(shù)據(jù)進行結合,并在步驟S28確定非壓縮圖像數(shù)據(jù)的供給是否完成。如果未完成,則所述處理返回到步驟S23,且重復步驟S23和隨后的步驟。如果確定非壓縮圖像數(shù)據(jù)的供給完成了,則完成所述處理。
根據(jù)該處理,編碼開始時間(Encoder_Start_Time_Code)和幀計數(shù)(Continuity_Counter)被添加到編碼數(shù)據(jù)作為附加編碼信息。因此,在下述的記錄處理中,編輯點能被檢測到。
參照圖9的流程圖,現(xiàn)在將描述用于產生包含編碼信息的編碼數(shù)據(jù)的處理3。在該處理中,用于指定編碼裝置151的信息被提前存儲在存儲器184中。
在步驟S41,編碼裝置151接收非壓縮圖像數(shù)據(jù)并將它提供給編碼器185。
在步驟S42,附加編碼信息產生器182通過檢測計時器183獲得當前時間信息,并將它存儲在存儲器184中作為編碼開始時間(Encoding_Start_Time_Code)。
步驟S43和S44分別類似于圖7的步驟S2和S3。也就是,在步驟S43對非壓縮圖象數(shù)據(jù)的幀數(shù)進行計數(shù),和在步驟S44執(zhí)行編碼處理。
在步驟S45,附加編碼信息產生器182獲得存儲在存儲器184中的用于指定編碼裝置的信息(即,Encoder_ID和Encoder_Serial_Number)和編碼開始時間(Encoder_Start_Time_code)和由幀計數(shù)器181計數(shù)的幀計數(shù)(Continuity_Counter)。如果只能通過Encoder_Serial_Number指定編碼裝置151,則僅將Encoder_Serial_Number存儲在存儲器184中并且可由附加編碼信息產生器182獲得就足夠了。
在步驟S46,附加編碼信息產生器182根據(jù)用于指定編碼裝置的信息(即,Encoder_ID和Encoder_Serial_Number)、編碼開始時間(Encoder_Start_Time_Code)和幀計數(shù)(Continuity_Counter)產生附加編碼信息,并將該產生的附加編碼信息提供給編碼器185。
步驟S47和步驟S48分別與圖7中的步驟S6和S7類似。也就是,在步驟S47,附加編碼信息被添加到編碼數(shù)據(jù)并輸出結果得到的數(shù)據(jù)。在步驟S48確定非壓縮圖像數(shù)據(jù)的供給是否完成,如果未完成,則所述處理返回到步驟S43,且重復步驟S43和隨后的步驟。如果在步驟S48確定非壓縮圖像數(shù)據(jù)的供給完成了,則完成所述處理。
根據(jù)該處理,用于指定編碼裝置的信息(即,Encoder_ID和Encoder_Serial_Number)、編碼開始時間(Encoder_Start_Time_Code)和幀計數(shù)(Continuity_Counter)被添加到編碼數(shù)據(jù)作為附加編碼信息。因此,在下述的重新編碼處理中,能夠以比參照圖7或8所述的處理更高的精度檢測編輯點。
當創(chuàng)建流數(shù)據(jù)的數(shù)據(jù)庫或將流數(shù)據(jù)形成為庫時,通過參照圖7、8或9所述的處理產生的附加編碼信息可被用作ID或密鑰數(shù)字。附加編碼信息不但還可以用于確定在重新編碼操作期間不能再度使用歷史數(shù)據(jù)或編碼參數(shù)的周期,而且還可以用于在重放操作期間確定幀開始的位置(例如,DVD中的章節(jié)的開始點和結束點和用于重復播放操作的開始點和結束點)或用于檢測場面變化。通過檢測場面變化,可最佳控制編碼期間的量化等級。當在例如電視廣播的程序流中包含有關商業(yè)廣告的流數(shù)據(jù)時,其中插入有商業(yè)廣告節(jié)目的部分能被檢測到。當使用流數(shù)據(jù)自動產生縮略圖像并將其提供給用戶時,流數(shù)據(jù)的分區(qū)位置能被檢測到。
再回頭參照圖5,代碼轉換器101通過傳輸通道11接收帶有附加編碼信息的MPEG長GOP。
MPEG長GOP由三種類型的圖像(I圖像、P圖像和B圖像)形成。在代碼轉換器101中,解碼器111對MPEG長GOP進行解碼。然后,當編碼器112將MPEG長GOP編碼成所有流內幀時,在通過傳輸通道11已經將MPEG長GOP傳送給代碼轉換器101的編碼裝置中使用的編碼參數(shù)(插入到圖像層或宏塊層中的參數(shù),例如用于先前編碼的圖像類型、運動向量和量化等級)被添加到所有內流(SDTI CP流)作為在SMPTE(SMPTE328M或SMPET329M)中定義的歷史信息。通過將編碼參數(shù)添加到所有內流,當在隨后的處理中將流數(shù)據(jù)重新編碼成長GOP時,可防止使用不同類型的圖像來重新編碼視頻數(shù)據(jù)的I圖像、P圖像和B圖像。然后編碼器112將編碼的數(shù)據(jù)提供給SDTI CP接口的編輯裝置3。
下面將參照圖10描述compressed_stream_format_of_MPEG_2_re_coding_set()的語法。
SMPTE 329M的compressed_stream_format_of_MPEG_2_re_coding_set()包括由next_start_code()函數(shù)、sequence_header()函數(shù)、sequence_extension()函數(shù)、extension_and_user_data(0)函數(shù)、group_of_picture_header()函數(shù)、extension_and_user_data(1)函數(shù)、picture_header()函數(shù)、picture_coding_extension()函數(shù)、re_coding_stream_info()函數(shù)、extension_and_user_data(2)函數(shù)和picture_data()函數(shù)定義的數(shù)據(jù)元。
next_start_code()函數(shù)為用于搜索位流中包含的開始代碼的函數(shù)。由sequence_header()函數(shù)定義的數(shù)據(jù)元包括表示圖像的象素數(shù)在水平方向中的低12比特的horizontal_size_value、表示圖像的線數(shù)在垂直方向中的低12比特的vertical_size_value、表示用于確定虛擬緩沖器(視頻緩沖器校對程序(VBV))的容量的低10比特的VBV_buffer_size_value,其用于控制將要產生的代碼數(shù)量。由sequence_extension()函數(shù)定義的數(shù)據(jù)元包括表示視頻數(shù)據(jù)是連續(xù)掃描的progressive_sequence、用于指定視頻數(shù)據(jù)的色度格式的chroma_format、和表示視頻數(shù)據(jù)不包含B圖像的low_delay。
對于extension_and_user_data(i)函數(shù),當i是2以外的數(shù)時,由extension_data()函數(shù)定義的數(shù)據(jù)元未被指出,并且只有由user_data()函數(shù)定義的數(shù)據(jù)元被指示為歷史流。因此,對于extension_and_user_data(0)函數(shù),只有由user_data()函數(shù)定義的數(shù)據(jù)元被指示為歷史流。那么,只有當表示GOP層的開始碼的group_start_code在歷史流中被指出時,由group_of_picture_header()函數(shù)定義的數(shù)據(jù)元和由extension_and_user_data(1)函數(shù)定義的數(shù)據(jù)元才被指出。
由picture_header()函數(shù)定義的數(shù)據(jù)元包括表示圖像層的開始同步碼的picture_start_code和表示圖像的顯示順序并且在GOP的頭部被復位的temporal_reference。由picture_coding_extension()函數(shù)定義的數(shù)據(jù)元包括picture_structure,其表示數(shù)據(jù)是否具有幀結構或場結構,并且如果所述數(shù)據(jù)具有場結構還表示該場是否為高級或低級場。由由picture_coding_extension()函數(shù)定義的數(shù)據(jù)元還包括top_field_first,如果所述數(shù)據(jù)具有幀結構,則top_field_first指出第一場是否為較高或較低場,所述數(shù)據(jù)元還包括表示是否使用了線性量化標度(scale)和非線性量化標度的q_scale_type和在執(zhí)行2-3下拉(pull-down)時使用repeat_first_field。
由re_coding_stream_info()函數(shù)定義的數(shù)據(jù)元是由SMPTE 327M定義的。稍后參照圖11討論extension_and_user_data(2)函數(shù)。由picture_data()函數(shù)定義的數(shù)據(jù)元由slice()函數(shù)定義。slice()函數(shù)定義macroblock(),在macroblock()中指出motion_vector信息。
下面參照圖11討論在參照圖10所述的compressed_stream_format_of_MPEG_2_re_coding_set()的extension_and_user_data(2)中的user_data(2)中表示的信息。
Stream_Information_Header為32位數(shù)據(jù),其包括指出用于識別picture_layer的user_data的首標數(shù)的16位Stream_Information_Header、指示Stream_Information()的字節(jié)長度的8位長度、和marker_bits。
Encoder_Serial_Number為指示對于編碼器(編碼器或編碼裝置)是唯一的數(shù)(序號)的16位信息。Encoder_ID為表示編碼器類型的ID的15位信息。
隨后的Encoding_Start_Time_Code為指示開始產生這個流和每個字節(jié)的MSB被設置為marker_bit=1的時間的8字節(jié)信息。在該情況下,使用了8字節(jié)中的6個字節(jié),并且指示開始產生流數(shù)據(jù)的年(Time_Year)、月(Time_Month)、日(Time_Day)、時(Time_Hour)、分(Time_Minute)和秒(Time_Second)。這些值在一個流中變得恒定。
Encoder_Serial_Number、Encoder_ID或Encoding_Start_Time_Code也能被用作用于創(chuàng)建流數(shù)據(jù)的數(shù)據(jù)庫或將流數(shù)據(jù)形成為庫的ID或密鑰數(shù)字。
Generation_Counter(GenC)為指示代表編碼階段的計數(shù)的4位信息。當SDI數(shù)據(jù)被編碼成異步串行接口(ASI)數(shù)據(jù)(第一階段)時,開始編碼階段的計數(shù)過程,和當ASI數(shù)據(jù)被重新編碼成ASI數(shù)據(jù)時或當SDTI CP數(shù)據(jù)被重新編碼成ASI數(shù)據(jù)時,對計數(shù)進行加1。
SDTI CP是由Pro-MPEG論壇推薦的SMPTE 326標準化的世界標準,并且被用于實時傳送(同步傳輸)MPEG數(shù)據(jù)。SDTI CP為當數(shù)據(jù)是所有內幀時的一種傳送方法。SDI為用于傳送非壓縮數(shù)字視頻/音頻數(shù)據(jù)的點對點傳送方法,并且被定義在ANSI/SMPTE 259M中。ASI為用于傳輸編碼MPEG長GOP的流數(shù)據(jù)的傳輸方法。
Continuity_Counter是以幀為單位增加的計數(shù)器。當計數(shù)器到達最大值時,它從0開始重新計數(shù)。如果需要,除了幀數(shù)量之外,Continuity_Counter也可以計算場的數(shù)量或圖像的數(shù)量、具有相同圖像編碼類型(即,I圖像、B圖像或P圖像)的鄰近幀單元的數(shù)量或者GOP的數(shù)量。
Continuity_Counter也可以用作用于創(chuàng)建流數(shù)據(jù)的數(shù)據(jù)庫或用于將流數(shù)據(jù)形成為庫的ID或密鑰數(shù)字。
從在解碼器(解碼裝置)中解碼數(shù)據(jù)時產生的參數(shù)提取下列信息項并將對其進行插入。因此,只有在這些信息項被插入之前才保留用于這些信息項的區(qū)域。
Picture_coding_type為遵循MPGE2標準的3位信息,其表示圖像的編碼類型,例如所述圖像是否為I圖像圖像或P圖像。Temporal_reference為遵循MPEG2標準的10位信息,其表示GOP的圖像的順序。該信息對每個圖像進行遞增計數(shù)。
reuse_level為用于定義參數(shù)的再度使用情況的7位信息。error_flag為用于通知各種錯誤的標記。
header_present_flag(A)為由序列首標預置標記和GOP首標預置標記構成的2位標記信息。
extension_start_code_flags為在SMPTE 327M中定義的16位標記信息,其指示是否包含各種擴展ID。如果extension_start_code_flags表示0,則意味著不包含擴展ID。如果extension_start_code_flags表示1,則意味著包含擴展ID。擴展ID包括序列擴展ID、序列顯示擴展ID、量子(quant)矩陣擴展ID、版權擴展ID、序列可升級擴展ID、圖像顯示擴展ID、圖像編碼擴展ID、圖像空間可升級擴展ID和圖像時間可升級擴展ID。
other_start_codes(在圖11中由“其它(other)”表示)為5位標記信息,其指示用戶數(shù)據(jù)的開始碼包含在那一層中,或者指示是否包含順序錯誤碼或順序結束碼。
圖11中的B為表示reduced_bandwidth_flag(B)的1位信息,C為表示reduced_bandwidth_indicator(C)的2位信息。num_of_picture_bytes為表示產生的圖像數(shù)的22位信息,并被用于速率控制。
Bit_rate_extension為關于位速率的12位擴展信息區(qū)。bit_rate_value為18位信息。在SMPTE定義的格式中,由于關于位速率的信息要經歷統(tǒng)計多路復用,所以它通常由一特定值(例如“ff”)表示,并且它不能用于重新編碼。相反,bit_rate_extension為這樣的區(qū)域,其中先前編碼中的實際位速率被指出以便它能用于重新編碼。參照圖10和11所述的通過圖5中所示的代碼轉換器101的編碼器112提供的具有歷史數(shù)據(jù)的所有內編碼流在幀編輯裝置3中以幀為單元進行編輯。然后具有歷史信息的所有內編碼流數(shù)據(jù)被提供給代碼轉換器152。在代碼轉換器152中,解碼器121對帶有歷史信息的所有內編碼流數(shù)據(jù)進行解碼。如果需要,編碼器161通過使用插入到圖像層和宏塊層中的用于早先編碼的參數(shù),例如圖像類型、運動向量和量化等級將由解碼器121解碼的信息重新編碼為長GOP,所述參數(shù)包含在解碼的歷史信息中。
圖12為說明編碼器161的配置的方框圖。
歷史提取單元201從由解碼器121解碼的所有內編碼流中提取歷史信息,并將提取的歷史信息提供給控制器216,同時還將視頻流提供給緩沖器202。如參照圖10和11所討論的由SMPTE 329M定義的compressed_stream_format_of_MPEG_2_re_coding_set()的格式中指明由歷史提取單元201提取的歷史信息,該歷史信息包括關于先前編碼的信息,例如圖像類型、量化等級、運動向量或量化矩陣。緩沖器202對提供的流數(shù)據(jù)緩沖一個預定的周期(至少是比P圖像間隔長的周期),然后將視頻流提供給圖像重新布置單元203。
編輯點檢測器217根據(jù)提供給編碼器161的流數(shù)據(jù)或由歷史提取單元201提取的歷史信息檢測編輯點。也就是,編輯點檢測器217在內置的存儲器中存儲先前幀的附加編碼信息(例如,分別作為Prev_Encoding_Start_Time_Code,Prev_Encoder_Serial_Number,Prev_Encoder_ID和Prev_Continuity_Counter的Encoding_Start_Time_Code,Encoder_Serial_Number,Encoder_ID和Continuity_Counter)。編輯點檢測器217將這種信息與當前幀的附加編碼信息進行比較,如圖13所示,同時根據(jù)是否存在不與當前幀連續(xù)的信息項來檢測編輯點。代替附加編碼信息,編輯點檢測器217通過檢測添加到流數(shù)據(jù)中的指示編輯點的標記信息而可以檢測編輯點。
當接收到表示已經從編輯點檢測器217檢測到編輯點的信號時,控制器216設置參數(shù)再度使用禁止周期,該周期從編輯點之前的P圖像開始到編輯點之后的預定圖像結束,如圖14所示,同時所述控制器控制圖像重新布置單元203、運動向量檢測器205或量化等級確定單元208,以在沒有使用所述歷史信息中包含的和通過歷史提取單元201提取的先前編碼參數(shù)的情況下執(zhí)行編碼。下面給出參數(shù)再度使用禁止周期的細節(jié)。控制器216還控制圖像重新布置單元203、運動向量檢測器205、或量化等級確定單元208,以根據(jù)歷史信息中包含的和通過歷史提取單元201提取的先前編碼參數(shù)在參照圖14所論述的參數(shù)再度使用禁止周期以外的周期執(zhí)行編碼。
當參數(shù)再度使用禁止周期被設定時,控制器216將設定信息提供給歷史信息產生器218。歷史信息產生器218產生包含有關從控制器216提供的參數(shù)再度使用禁止周期的設置信息的歷史信息,并將歷史信息添加到將在可變長度編碼(VLC)單元209中編碼的流數(shù)據(jù)。
控制器216在內置寄存器中提供有編輯點檢測標記和再度使用停止標記。因此,即使在參數(shù)再度使用禁止周期期間,控制器216接收到表示已經從編輯點檢測器217檢測到編輯點的信號,如圖15所示,也能夠根據(jù)第二編輯點的位置設置參數(shù)再度使用禁止周期的結束點。當檢測到編輯點時,編輯點檢測標記被開啟,然后,緊貼在編輯點之前的表示再度使用禁止周期的開始的P圖像被檢測到,并且再度使用停止標記被開啟。然后,開始用于設置再度使用禁止周期的對圖像數(shù)或P圖像數(shù)的計數(shù)過程,而且編輯點檢測標記也被關閉。如果在再度使用停止標記為開啟狀態(tài)時再次檢測到一個編輯點,則編輯點檢測標記被開啟,在再度使用停止標記保持開啟的同時,用于設置再度使用禁止周期的對圖像數(shù)或P圖像數(shù)的計數(shù)過程被重設,并且然后被重新啟動。
當從歷史提取單元201接收到參照圖10和11所述的歷史信息時,控制器216在參數(shù)再度使用禁止周期之外的周期期間,根據(jù)歷史信息是否與預定的條件相匹配來控制圖像重新布置單元203、運動向量檢測器205、量化等級確定單元208和流切換裝置219的整個或部分處理。
更加具體地說,控制器216在參數(shù)再度使用禁止周期之外的周期中確定先前編碼中的延遲模式、圖像配置、和下拉模式是否與當前編碼中的相符。如果先前編碼的參數(shù)被發(fā)現(xiàn)與當前編碼的參數(shù)不同,則控制器216確定在沒有再度使用先前參數(shù)的情況下進行將在下面討論的正常編碼。延遲模式為在SMPTE 329M的sequence_extension()函數(shù)的low_delay中指示的信息,而圖像配置和下拉模式為在SMPTE 329M的picture-coding_extension()函數(shù)的picture_structure、top_field_first和repeat_first_field中的每一個指示的信息。
如果先前編碼的延遲模式、圖像配置、和下拉模式與當前編碼的相符,則控制器216確定隨后將要編碼的圖像幀是否與歷史信息中指示的圖像幀相符。如果發(fā)現(xiàn)圖像幀是不同的,則只有與圖像類型(在參照圖11所述的extension_and_user_data(2)的user_data(2)中指出的picture_coding_type)相關的信息被再度使用??赏ㄟ^比較SMPTE 329M的horizontal_size_value和vertical_size_value與在SMPTE 329M的sequence_header()函數(shù)中指出的SMPTE 329M的v_phase和h_phase來作出關于圖像幀是否彼此相符的確定。
當確定在先前編碼中使用的圖像類型被再度使用時,圖像重新布置單元203基于歷史信息中包含的圖像類型,根據(jù)從控制器216提供的控制信號重新布置圖像。
如果發(fā)現(xiàn)圖像幀是相同的,則控制器216確定先前編碼的位速率是否小于當前編碼的位速率和先前編碼的色度格式是否大于或等于當前編碼的色度格式。如果所述條件的任何一個都不滿足,則除了圖像類型之外,運動向量信息(在picture_data()函數(shù)的slice()函數(shù)中指出的motion_vectors信息)也被再度使用。位速率信息在SMPTE 329M的extension_and_user_data(2)中的user_data(2)的bit_rate_value中指定。色度格式信息在SMPTE 329M的sequence_header()函數(shù)的chroma_format中指定。
運動向量檢測器205根據(jù)從控制器216提供的控制信號再度使用先前編碼的運動向量信息作為運動向量。
如果先前編碼的位速率小于當前編碼的位速率和如果先前編碼的色度格式大于或等于當前編碼的色度格式,則除了圖像類型和運動向量之外,控制器216還再度使用量化等級(q_scale)。
如果需要,量化等級確定單元208根據(jù)從控制器216提供的控制信號把將被再度使用的量化等級提供給量化器207,并控制量化器207以執(zhí)行量化。
如果需要,在控制器216的控制下,圖像重新布置單元203對隨后輸入的圖像數(shù)據(jù)的每幀圖像進行重新布置。圖像重新布置單元203還產生由宏塊組成的宏塊數(shù)據(jù),每個宏塊由16×16亮度信號或與亮度信號對應的色度信號組成,并將所述宏塊數(shù)據(jù)提供給計算單元204和運動向量檢測器205。
當接收到宏塊數(shù)據(jù)的輸入時,在控制器216的控制下,運動向量檢測器205根據(jù)宏塊數(shù)據(jù)和存儲在幀存儲器214中的參考圖像數(shù)據(jù)計算每個宏塊的運動向量,并將計算的運動向量提供給運動補償器213作為運動向量數(shù)據(jù),或者再度使用從控制器216提供的先前編碼的運動向量并將它們提供給運動補償器213。
計算單元204根據(jù)每個宏塊的圖像類型對從圖像重新布置單元203提供的宏塊數(shù)據(jù)執(zhí)行運動補償。更加具體地說,計算單元204對內模式下的I圖像、前向預測模式下的P圖像、雙向預測模式下的B圖像執(zhí)行運動補償。
在內模式中,將被編碼的幀圖像被直接設置為傳送數(shù)據(jù)。在前向預測模式中,將被編碼的幀圖像和在先參考圖像之間的預測余差(residual)被設為傳送數(shù)據(jù)。在雙向預測模式中,將被編碼的幀圖像與在先參考圖像和隨后的參考圖像中的每一個之間的預測余差被設置為傳送數(shù)據(jù)。
當宏塊數(shù)據(jù)為I圖像時,在內模式下進行處理。更加具體地說,計算單元204將輸入的宏塊數(shù)據(jù)發(fā)送給離散余弦變換(DCT)單元206作為計算數(shù)據(jù)。DCT單元206對輸入的計算數(shù)據(jù)執(zhí)行DCT并將結果得到的數(shù)據(jù)發(fā)送給量化器207作為DCT系數(shù)數(shù)據(jù)。
量化器207根據(jù)從量化等級確定單元208提供的量化等級對輸入DCT系數(shù)數(shù)據(jù)進行量化,并將結果得到的數(shù)據(jù)提供給VLC單元209和去量化器210作為量化DCT系數(shù)數(shù)據(jù)。在這種情況下,量化器207通過在量化處理中根據(jù)從量化等級確定單元208提供的量化等級Q調節(jié)量化步長來控制將要產生的代碼量。
通過與在量化器207的量化處理中使用的相同的步長對提供給去量化器210的量化DCT系數(shù)數(shù)據(jù)經受去量化處理,并將其作為DCT系數(shù)數(shù)據(jù)提供給反向DCT單元211。反向DCT單元211對提供的DCT系數(shù)數(shù)據(jù)執(zhí)行反向DCT處理,并將產生的計算數(shù)據(jù)提供給計算單元212。然后計算數(shù)據(jù)被存儲在幀存儲器214中作為參考圖像數(shù)據(jù)。
當宏塊數(shù)據(jù)為P圖像時,計算單元204在前向預測模式下對宏塊數(shù)據(jù)執(zhí)行運動補償。當宏塊數(shù)據(jù)為B圖像時,計算單元在雙向預測模式下對宏塊數(shù)據(jù)執(zhí)行運動補償。
運動補償器213根據(jù)運動向量對存儲在幀存儲器214中的參考圖像數(shù)據(jù)執(zhí)行運動補償,以便計算前向預測圖像數(shù)據(jù)或雙向預測圖像數(shù)據(jù)。計算單元204通過使用從運動補償器213提供的前向預測圖像數(shù)據(jù)或雙向預測圖像數(shù)據(jù)對宏塊數(shù)據(jù)執(zhí)行減法運算。
更加具體地說,在前向預測模式中,運動補償器213根據(jù)運動向量數(shù)據(jù)移位幀存儲器214中的讀取地址,以便讀取參考圖像數(shù)據(jù),并將它作為前向預測圖像數(shù)據(jù)提供給計算單元204和計算單元212。計算單元204將前向預測圖像數(shù)據(jù)從提供的宏塊數(shù)據(jù)中減去,以便獲得作為預測余差的差數(shù)據(jù)。然后計算單元204將差數(shù)據(jù)提供給DCT單元206。
從運動補償器213將前向預測圖像數(shù)據(jù)提供給計算單元212。計算單元212將前向預測圖像數(shù)據(jù)加到從反向DCT單元211提供的計算數(shù)據(jù)上,以便在本地重放參考圖像數(shù)據(jù),并將參考圖像數(shù)據(jù)輸出給幀存儲器214和對它進行存儲。
在雙向預測模式中,運動補償器213根據(jù)運動向量數(shù)據(jù)位移幀存儲器214中的讀取地址以便讀取參考圖像數(shù)據(jù),并將它作為雙向預測圖像數(shù)據(jù)提供給計算單元204和計算單元212。計算單元204將雙向預測圖像數(shù)據(jù)從所提供的宏塊數(shù)據(jù)中減去,以便獲得作為預測余差數(shù)據(jù)的差數(shù)據(jù)。然后計算單元204將差數(shù)據(jù)輸出給DCT單元206從運動補償器213將雙向預測圖像數(shù)據(jù)提供給計算單元212。計算單元212將雙向預測圖像數(shù)據(jù)加到從反向DCT單元211提供的計算數(shù)據(jù)上以便在本地重放參考圖像數(shù)據(jù),并將參考圖像數(shù)據(jù)輸出給幀存儲器214和對它進行存儲。
如上所述,輸入到編碼器161中的圖像數(shù)據(jù)經受了運動補償預測處理、DCT處理、和量化處理,并作為量化DCT系數(shù)數(shù)據(jù)被提供給VLC單元209。VLC單元209根據(jù)預定的轉換表對量化DCT系數(shù)數(shù)據(jù)執(zhí)行可變長度編碼,并將結果得到的可變長度編碼數(shù)據(jù)輸出給緩沖器215。緩沖器215對提供的可變長度編碼數(shù)據(jù)進行緩沖,然后將它輸出給流切換裝置219。
流切換裝置219在控制器216的控制下輸出從緩沖器215提供的可變長度編碼數(shù)據(jù)。
量化等級確定單元208一直監(jiān)視著可變長度編碼數(shù)據(jù)在緩沖器215中的存儲狀態(tài)。在控制器216的控制下,量化等級確定單元208根據(jù)表示可變長度編碼數(shù)據(jù)的存儲狀態(tài)的緩沖器占用信息或從控制器216提供的先前編碼參數(shù)中包含的量化等級Q確定量化步長。
如上所述,量化等級確定單元208從控制器216接收包含在先前編碼參數(shù)中的量化等級Q,并且如果能再度使用先前編碼的量化等級,則量化等級確定單元208就能夠根據(jù)量化等級Q確定量化步長。
如果根據(jù)歷史信息未確定量化步長,則當宏塊的代碼數(shù)量大于目標代碼量時,量化等級確定單元208增大量化步長以減少代碼量。相反,如果代碼量小于目標代碼量,則量化等級確定單元208減小量化步長以增加代碼量。
也就是,通過假定可變長度編碼數(shù)據(jù)在為解碼器提供的VBV緩沖器中的存儲狀態(tài),量化等級確定單元208確定在虛擬緩沖器中占有的可變長度編碼數(shù)據(jù)以便計算量化等級Q,并將它提供給量化器207。
在虛擬緩沖器中占有的第j個宏塊的代碼數(shù)量d(j)由下列等式(1)表示d(j)=d(0)+B(j-1)-{T×(j-1)/MBcnt}(1)其中d(0)表示初始緩沖器容量,B(j)代表在第j個宏塊中產生的比特數(shù),MBcnt表明圖像中的宏塊數(shù),T表示將要在每個圖像中產生的目標代碼量。
在虛擬緩沖器中占有的第(j+1)個宏塊的代碼數(shù)量d(j+1)由下列等式(2)表示d(j+1)=d(0)+B(j)-(T×j)/MBcnt} (2)通過用等式(1)減去等式(2),在虛擬緩沖器中占有的第(j+1)個宏塊的代碼數(shù)量d(j+1)由下列等式(3)表示d(j+1)=d(j)+{B(j)-B(j-1)}-T/MBcnt(3)如果圖像中的宏塊包含片內宏塊和片間宏塊,則量化等級確定單元208分開設置目標代碼量Tpi和Tpp,它們分別分配給片內宏塊和片間宏塊。
因此,量化等級確定單元208替換緩沖器中占有的代碼量d(j+1)和在等式(4)中表示的常數(shù)r而得到等式(5)以便計算宏塊(j+1)的量化索引數(shù)據(jù)Q(j+1),并將它提供給量化器207。
R=(2×br)/pr (4)其中br表示位速率,pr表明圖像速率。
Q(j+1)=d(j+1)×(31/r)(5)量化器207根據(jù)量化等級Q確定隨后宏塊中的量化步長,并根據(jù)確定的量化步長對DCT系數(shù)數(shù)據(jù)進行量化。
因此,量化器207能夠以量化步長對DCT系數(shù)數(shù)據(jù)進行量化,所述量化步長是根據(jù)先前圖像的實際代碼量已經計算的,并且它對于隨后圖像的目標代碼量是最佳的。
因此,根據(jù)緩沖器215中占有的數(shù)據(jù)量,量化器207能夠產生量化DCT系數(shù)數(shù)據(jù),該數(shù)據(jù)不會在緩沖器215中引起溢出或下溢,并且不會在為解碼器提供的VBV緩沖器中引起溢出或下溢。
雖然已經對以圖像為單元執(zhí)行編碼處理的情況進行了描述,但也可以片或宏塊為單元來執(zhí)行。
本發(fā)明也能應用于圖4所示的系統(tǒng)。在該系統(tǒng)中,輸入圖像以高位速率被編碼為MPEG長GOP和MPEG長GOP被解碼,然后解碼的MPEG長GOP被重新編碼成低位速率長GOP。由重新編碼引起的圖像質量的惡化得到抑制。圖16為說明并入本發(fā)明的系統(tǒng)的配置的方框圖,其中輸入圖像以高位速率被編碼為MPEG長GOP和MPEG長GOP被解碼,然后解碼的MPEG長GOP被重新編碼成低位速率長GOP。當重新編碼MPEG長GOP時,能夠抑制圖像質量惡化,同時能夠防止在VBV緩沖器中發(fā)生溢出或下溢。與圖4和5中相應的那些元件被標以相同的附圖標記,并因此省略其說明。
在圖16所示的系統(tǒng)中,取代編碼裝置1,圖5和6中所示的編碼裝置151被提供,代替代碼轉換器131,代碼轉換器231被提供。在代碼轉換器231中,取代編碼器142,布置有編碼器241。在編碼器241中,根據(jù)提供的流的條件,在編輯點附近的預定再度使用禁止周期之外的周期中能被再度使用的歷史信息(參數(shù)信息)能被選擇和用于編碼。代碼轉換器231的配置與代碼轉換器131的配置類似,除了編碼器241不但接收由解碼器141解碼的信號,而且接收輸入到解碼器141中的流數(shù)據(jù)。
當接收到由編碼裝置151編碼的MPEG長GOP流(ASI流)時,當在解碼器141中解碼高位速率MPEG長GOP時代碼轉換器231獲得所需的編碼參數(shù),并將解碼的視頻數(shù)據(jù)和獲得的編碼參數(shù)提供給編碼器241。編碼器241通過使用編碼參數(shù)將視頻數(shù)據(jù)編碼成低位速率MPEG長GOP,并輸出該低位速率MPEG長GOP流(ASI流)。
圖17為說明編碼器241的配置的方框圖。在圖17中,與圖12中所示的編碼器161相同的那些元件被標以相同的附圖標記,并因此省略其說明。
編碼器241的配置與圖12中所示的編碼器161的配置相似,除了省略了歷史提取單元201和歷史信息產生器218,而提供有用于接收從解碼器141提供的參數(shù)和將它們輸出給控制器216的參數(shù)輸入單元251。
編輯點檢測器217根據(jù)提供給編碼器161的流數(shù)據(jù)或由參數(shù)輸入單元251獲得的參數(shù)信息檢測編輯點。也就是,編輯點檢測器217在內置的存儲器中存儲先前幀的附加編碼信息(例如,分別作為Prev_Encoding_Start_Time_Code、Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter的Encoding_Start_Time_Code、Encoder_Serial_Number、Encoder_ID和Continuity_Counter)。編輯點檢測器217將這種信息與當前幀的附加編碼信息進行比較,如圖13所示,同時根據(jù)是否存在指示先前幀和當前幀之間的中斷的因數(shù)來檢測編輯點。代替附加編碼信息,編輯點檢測器217通過檢測添加到流數(shù)據(jù)中的指示編輯點的標記信息而可以檢測編輯點。
當從編輯點檢測器217接收到表示已經檢測到編輯點的信號時,控制器216設置參數(shù)再度使用禁止周期,如圖14所示,同時所述控制器控制圖像重新布置單元203、運動向量檢測器205或量化等級確定單元208,以在沒有使用所述編碼參數(shù)信息中包含的先前編碼參數(shù)的情況下執(zhí)行編碼,所述先前編碼參數(shù)是通過參數(shù)輸入單元251提取的??刂破?16在參數(shù)再度使用禁止周期之外的周期中從參數(shù)輸入單元251接收參數(shù)信息,該參數(shù)信息包含與參照圖10和11所述的歷史信息類似的信息,并根據(jù)參數(shù)信息中表示的因數(shù)是否與預定的條件相符來控制圖像重新布置單元203、運動向量檢測器205、量化等級確定單元208和流切換裝置219的整個或部分處理。
更加具體地說,控制器216在參數(shù)再度使用禁止周期之外的周期中確定先前編碼中的延遲模式、圖像配置、和下拉模式是否與當前編碼中的相符。如果先前編碼的參數(shù)被發(fā)現(xiàn)與當前編碼的參數(shù)不同,則控制器216確定在沒有再度使用先前參數(shù)的情況下進行正常編碼(將在下面討論)。延遲模式為以與SMPTE 329M的sequence_extension()函數(shù)的low_delay相似的方式在參數(shù)信息中指示的信息,圖像配置和下拉模式為以與SMPTE 329M的picture-coding_extension()函數(shù)的picture_structure、top_field_first和repeat_first_field中的每一個相似的方式在參數(shù)信息中指示的信息。
如果先前編碼的延遲模式、圖像配置、和下拉模式與當前編碼的相符,則控制器216確定隨后將要編碼的圖像幀是否與參數(shù)信息中指示的圖像幀相符。如果發(fā)現(xiàn)圖像幀是不同的,則只有與圖像類型(以與在參照圖11所述的extension_and_user_data(2)的user_data(2)中指出的picture_coding_type相似的方式在參數(shù)信息中指示的信息)相關的信息被再度使用??赏ㄟ^比較以與SMPTE 329M的horizontal_size_value和vertical_size_value與在SMPTE 329M的sequence_header()函數(shù)中指出的SMPTE 329M的v_phase和h_phase相似的方式在參數(shù)信息中指示的項來作出關于圖像幀是否彼此相符的確定。
如果確定先前編碼中的圖像類型被再度使用,則圖像重新布置單元203基于參數(shù)信息中包含的圖像類型根據(jù)從控制器216提供的控制信號重新布置圖像。
如果發(fā)現(xiàn)圖像幀是相同的,則控制器216確定先前編碼的位速率是否小于當前編碼的位速率和先前編碼的色度格式是否大于或等于當前編碼的色度格式。如果所述條件的任何一個都不滿足,則除了圖像類型之外,運動向量信息(以與在picture_data()函數(shù)的slice()函數(shù)中指出的motion_vectors信息相似的方式在參數(shù)信息中指示的項))被再度使用。位速率信息以與在SMPTE329M的extension_and_user_data(2)中的user_data(2)的bit_rate_value相似的方式在參數(shù)信息中指明。色度格式信息以與在SMPTE 329M的sequence_header()函數(shù)的chroma_format相似的方式在參數(shù)信息中指明。
運動向量檢測器205從控制器216接收先前編碼的運動向量信息并作為運動向量再度使用。
如果先前編碼的位速率小于當前編碼的位速率和如果先前編碼的色度格式大于或等于當前編碼的色度格式,則控制器216確定參數(shù)信息中指出的色度格式是否與當前編碼中的色度格式相符。如果發(fā)現(xiàn)色度格式與當前編碼的不同,則除了圖像類型和運動向量之外,控制器216還再度使用量化等級(q_scale)。
如果需要,量化等級確定單元208根據(jù)從控制器216提供的控制信號把在先前編碼中使用的量化等級提供給量化器207,并控制量化器207執(zhí)行量化。
如果發(fā)現(xiàn)先前編碼的色度格式與當前編碼的相同,則控制器216控制流切換裝置219輸出輸入到解碼器141中的流數(shù)據(jù)。
在圖17所示的編碼器241中,除了控制器216的用于確定參數(shù)信息中包含的與先前編碼相關的信息是否將被再度使用的處理之外,正常的編碼處理與圖12中所示的編碼器161的編碼處理相似,并因此省略其詳細說明。
在圖12所示的編碼器161或圖17所示的編碼器241中,如果不再度使用歷史信息或參數(shù)信息,則執(zhí)行正常的編碼。如果圖像類型被再度使用,則歷史信息中包含的329M的picture_coding_type或參數(shù)信息中包含的類似信息項被再度使用。如果運動向量被再度使用,則將從歷史信息中包含的red_bw_indicator=0或參數(shù)信息中包含的類似信息項減去q_scale_code所獲得的信息被再度使用。如果量化等級被再度使用,則歷史信息中包含的red_bw_indicator=0或參數(shù)信息中包含的類似信息項被再度使用。如果輸入到編碼器161或241中的流被輸出,則流轉換裝置219被控制以將輸入到解碼器141中的流數(shù)據(jù)輸出。
參照圖18的流程圖,下面將描述用于借助圖12所示的編碼器161或圖17所示的編碼器241的編輯點檢測器217通過使用加入到編碼流數(shù)據(jù)中的附加編碼信息來檢測編輯點的處理1。
在該處理中,包含在參照圖7所述的編碼數(shù)據(jù)產生處理1中產生的附加編碼信息的編碼流數(shù)據(jù)的編輯點被檢測。
在步驟S61,圖12所示的編碼器161或圖17所示的編碼器241獲得編碼流的一個幀。
在步驟S62,圖12所示的編碼器161或圖17所示的編碼器241的編輯點檢測器217分別獲得通過歷史提取部分201提取的歷史信息或通過參數(shù)輸入單元251獲得的參數(shù)信息。
在步驟S63,編輯點檢測器217從歷史信息或參數(shù)信息獲得Encoder_Serial_Number、Encoder_ID、和Continuity_Counter。
在步驟S64,編輯點檢測器217確定獲得的幀是否為編碼流的第一個幀。
如果步驟S64的結果為“是(YES)”,則所述處理進入步驟S65。在步驟S65,編輯點檢測器217在一內置存儲器中存儲獲得的分別作為Prev_Encoder_Serial_Number,Prev_Encoder_ID和Prev_Continuity_Counter的Encoder_Serial_Number,Encoder_ID和Continuity_Counter。然后所述處理返回到步驟S61并且重復隨后的步驟。
如果在步驟S64確定獲得的幀不是編碼流的第一個幀,則所述處理進入步驟S66。在步驟S66,編輯點檢測器217將在步驟S63獲得的Encoder_Serial_Number、Encoder_ID和Continuity_Counter分別與內置存儲器中存儲的Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter進行比較。
在步驟S67,編輯點檢測器217從步驟S66中的比較結果確定是否有指示先前幀和當前幀之間的中斷的因數(shù)。更加具體地說,編輯點檢測器217確定Encoder_Serial_Number是否與Prev_Encoder_Serial_Number不同,Encoder_ID是否與Prev_Encoder_ID不同,或Continuity_Counter是否與Prev_Continuity_Counter不連續(xù)。
如果步驟S67的結果為“是”,則編輯點檢測器217在步驟S68確定編輯點已經被檢測到,并向控制器216報告已經檢測到編輯點。
如果在步驟S67中確定沒有指示在先前幀和當前幀之間存在有中斷的因數(shù),或者在步驟S68之后,所述處理進入步驟S69。在步驟S69中,編輯點檢測器217在內置存儲器中存儲分別作為Prev_Encoder_Serial_Number、Prev_Encoder_ID和Prev_Continuity_Counter的Encoder_Serial_Number、Encoder_ID和Continuity_Counter。然后所述處理返回步驟S61,并重復隨后的步驟。
按照該處理,根據(jù)幀計數(shù)是否為連續(xù)的和已經對先前幀進行編碼的編碼裝置是否與已經對當前幀進行編碼的編碼裝置相同而能夠確定是否存在編輯點。
參照圖19,現(xiàn)在將描述用于借助圖12所示的編碼器161或圖17所示的編碼器241的編輯點檢測器217通過使用加入到編碼流數(shù)據(jù)中的附加編碼信息來檢測編輯點的處理2。
在該處理中,包含通過參照圖8所述的編碼數(shù)據(jù)產生處理2產生的附加編碼信息的編碼流數(shù)據(jù)的編輯點被檢測。
在步驟S81,圖12所示的編碼器161或圖17所示的編碼器241獲得編碼流的一個幀。
在步驟S82,圖12所示的編碼器161或圖17所示的編碼器241的編輯點檢測器217分別獲得通過歷史提取部分201提取的歷史信息或通過參數(shù)輸入單元251獲得的參數(shù)信息。
在步驟S83,編輯點檢測器217從歷史信息或參數(shù)信息獲得Continuity_Counter或Encoding_Start_Time_Code。
在步驟S84,編輯點檢測器217確定獲得的幀是否為編碼流的第一個幀。
如果步驟S84的結果為“是(YES)”,則所述處理進入步驟S85。在步驟S85,編輯點檢測器217在一內置存儲器中存儲獲得的分別作為Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code的Continuity_Counter和Encoding_Start_Time_Code。然后所述處理返回到步驟S81,并且重復隨后的步驟。
如果在步驟S84確定獲得的幀不是編碼流的第一個幀,則所述處理進入步驟S86。在步驟S86,編輯點檢測器217將在步驟S83獲得的Continuity_Counter和Encoding_Start_Time_Code分別與內置存儲器中存儲的Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code進行比較。
在步驟S87,編輯點檢測器217通過步驟S86中的比較結果確定是否有指示先前幀和當前幀之間的中斷的因數(shù)。更加具體地說,編輯點檢測器217確定Continuity_Counter是否與Prev_Continuity_Counter不連續(xù)或Encoding_Start_Time_Code是否與Prev_Encoding_Start_Time_Code不同。
如果步驟S87的結果為“是”,則編輯點檢測器217在步驟S88確定編輯點已經被檢測到,并向控制器216報告已經檢測到編輯點。
如果在步驟S87中確定沒有指示在先前幀和當前幀之間存在有中斷的因數(shù),或者在步驟S88之后,所述處理進入步驟S89。在步驟S89中,編輯點檢測器217在內置存儲器中存儲分別作為Prev_Continuity_Counter和Prev_Encoding_Start_Time_Code的Continuity_Counter和Encoding_Start_Time_Code。然后所述處理返回步驟S81,并重復隨后的步驟。
按照該處理,根據(jù)幀計數(shù)是否為連續(xù)的和先前幀的編碼開始時間是否與當前幀的編碼開始時間不同而能夠確定是否存在編輯點。
參照圖20的流程圖,現(xiàn)在將描述用于借助圖12所示的編碼器161或圖17所示的編碼器241的編輯點檢測器217通過使用加入到編碼流數(shù)據(jù)中的附加編碼信息來檢測編輯點的處理3。
在該處理中,包含在參照圖9所述的編碼數(shù)據(jù)產生處理3中產生的附加編碼信息的編碼流數(shù)據(jù)的編輯點被檢測。
在步驟S101,圖12所示的編碼器161或圖17所示的編碼器241獲得編碼流的一個幀。
在步驟S102,圖12所示的編碼器161或圖17所示的編碼器241的編輯點檢測器217分別獲得通過歷史提取部分201提取的歷史信息或通過參數(shù)輸入單元251獲得的參數(shù)信息。
在步驟S103,編輯點檢測器217從歷史信息或參數(shù)信息獲得Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter。
在步驟S104,編輯點檢測器217確定獲得的幀是否為編碼流的第一個幀。
如果步驟S104的結果為“是(YES)”,則所述處理進入步驟S105。在步驟S105,編輯點檢測器217在一內置存儲器中存儲獲得的分別作為Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter。然后所述處理返回到步驟S101并且重復隨后的步驟。
如果在步驟S104確定獲得的幀不是編碼流的第一個幀,則所述處理進入步驟S106。在步驟S106,編輯點檢測器217將在步驟S103獲得的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter分別與內置存儲器中存儲的Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter進行比較。
在步驟S107,編輯點檢測器217通過步驟S106中的比較結果確定是否有指示先前幀和當前幀之間的中斷的因數(shù)。更加具體地說,編輯點檢測器217確定Encoder_Serial_Number是否與Prev_Encoder_Serial_Number不同、Encoder_ID是否與Prev_Encoder_ID不同、Encoder_Start_Time_Code是否與Prev_Encoder_Start_Time_Code不同,或Continuity_Counter是否與Prev_Continuity_Counter不連續(xù)。
如果步驟S107的結果為“是”,則編輯點檢測器217在步驟S108確定編輯點已經被檢測到,并向控制器216報告已經檢測到編輯點。
如果在步驟S107中確定沒有指示在先前幀和當前幀之間存在有中斷的因數(shù),或者在步驟S108之后,所述處理進入步驟S109。在步驟S109中,編輯點檢測器217在內置存儲器中存儲分別作為Prev_Encoder_Serial_Number、Prev_Encoder_ID、Prev_Encoder_Start_Time_Code和Prev_Continuity_Counter的Encoder_Serial_Number、Encoder_ID、Encoder_Start_Time_Code和Continuity_Counter。然后所述處理返回步驟S101,并重復隨后的步驟。
按照該處理,根據(jù)幀計數(shù)是否為連續(xù)的、已經對先前幀進行編碼的編碼裝置是否與已經對當前幀進行編碼的編碼裝置相同、和先前幀的編碼開始時間是否與當前幀的編碼開始時間相同而能夠以高精度確定是否存在編輯點。
通過參照圖18、19或20所述的處理檢測的編輯點不但能夠用于在編碼處理期間設置再度使用禁止周期,而且能夠用于在重放操作期間檢測幀的首標或場景變換。
參照圖21的流程圖,下面將描述用于在編輯點之前和之后的預定周期期間(對于預定數(shù)量的幀的編輯點之前和之后的區(qū)域),即在再度使用禁止周期期間在沒有使用歷史信息或參數(shù)信息的情況下,根據(jù)通過圖12所示的編碼器161或圖17所示的編碼器241檢測的編輯點來執(zhí)行編碼的編碼處理1。
在步驟S131,圖12所示的編碼器161或圖17所示的編碼器241獲得幀圖像數(shù)據(jù)和附隨信息,即歷史信息或參數(shù)信息。
在步驟S132,編碼器161或編碼器241的控制器216根據(jù)從編輯點217提供的信號確定是否已經檢測到編輯點。
如果步驟S132的結果為“是”,則控制器216在步驟S133開啟編輯點檢測標記。
如果在步驟S132確定還沒有檢測到編輯點或在步驟S133之后,控制器216在步驟S134通過檢測內置寄存器而確定編輯點檢測標記是否為“OFF”。
如果步驟S134的結果為“否”,則所述處理進入步驟S135。在步驟S135,控制器216從緩沖器202中存儲的流數(shù)據(jù)檢測緊貼編輯點之前的P圖像,并將從該P圖像到在下述的處理中將被確定是開始作為再度使用允許周期的圖像之前的一個圖像的周期設置為再度使用禁止周期。
例如,如果具有指示B圖像的編碼信息的圖像是編碼點,則通常B圖像與B圖像之前和之后的P圖像有關。因此,如果再度使用歷史信息或參數(shù)信息對從編輯點之前的P圖像到位于編輯點處的圖像的一個范圍進行編碼,則VBV緩沖器可能發(fā)生溢出或下溢。類似的,由于即使在編輯點之后的某些圖像可能與鄰近的圖像有關,所以需要在可能受編輯點處的中斷影響的周期期間不應使用歷史信息或參數(shù)信息。
在步驟S136,控制器216開啟內置寄存器中的再度使用停止標記并關閉其中的編輯點檢測標記。
在步驟S137,控制器216在內置寄存器中將用于計算圖像數(shù)量的變量Pic_cont和用于計算P圖像數(shù)量的變量P_Pic_cont重置為0。
在步驟S138,緩沖器202對提供的圖像緩沖一個預定的時期(至少大于P圖像間隔的時間),然后將它們輸出。
在步驟S139,控制器216控制圖12所示的編碼器161或圖17所示的編碼器241的元件以在沒有再度使用歷史信息或參數(shù)信息的情況下執(zhí)行編碼。然后所述處理返回到步驟S132,并重復隨后的步驟。
如果在步驟S134確定編輯點檢測標記為“關閉(OFF)”,則控制器216在步驟S140通過檢測內置寄存器確定再度使用停止標記是否為“OFF”,即所述幀是否在再度使用禁止周期之外的周期中。如果在步驟S140確定再度使用停止標記為“OFF”,即所述幀在再度使用禁止周期之外的周期期間,則所述處理進入到步驟S144。
如果在步驟S140確定再度使用停止標記不是“OFF”,即所述幀在再度使用禁止周期期間,則在步驟S141執(zhí)行下面參照圖22、24或26所述的再度使用重新啟動確定處理。
如果下面參照圖22所述的再度使用重新啟動確定處理1被執(zhí)行,則在步驟S141總是執(zhí)行相同類型的處理。如果下面參照圖24所述的再度使用重新啟動確定處理2被執(zhí)行,則在步驟S141總是執(zhí)行相同類型的處理。如果下面參照圖26所述的再度使用重新啟動確定處理3被執(zhí)行,則在步驟S141總是執(zhí)行相同類型的處理。換句話說,如果再度使用重新啟動確定處理1被執(zhí)行,則在步驟S141就不執(zhí)行再度使用重新啟動確定處理2或再度使用重新啟動確定處理3。
作為步驟S141中的再度使用重新啟動確定處理的結果,控制器216在步驟S142確定歷史信息或參數(shù)信息的再度使用是否被重新啟動。如果步驟S142的結果為“否”,則所述處理進入步驟S138并且重復步驟S138及其隨后的步驟。
如果在步驟S142確定歷史信息或參數(shù)信息的再度使用被再次重新啟動,則控制器216在步驟S143關閉內置寄存器中的再度使用停止標記。
如果在步驟S140確定再度使用停止標記為“OFF”,即所述幀處在再度使用禁止周期之外的周期期間,或在步驟S143之后,所述處理進入到步驟S144。在步驟S144,緩沖器202在一預定的周期期間(至少長于P圖像間隔的周期)對提供的圖像進行緩沖,然后將它們輸出。
在步驟S145,參照圖28所述的參數(shù)再度使用編碼處理被執(zhí)行。然后所述處理返回到步驟S132,并重復步驟S132及其隨后的步驟。
然而,即使確定再度使用停止標記為OFF,即所述幀處于再度使用禁止周期之外的周期期間,或者歷史信息或參數(shù)信息的再度使用被啟動,如果對于隨后的幾個圖像檢測到編輯點,則可以在步驟S135中設置再度使用禁止周期。因此,如果在步驟S140確定再度使用停止標記為“OFF”,即所述幀處于再度使用禁止周期之外的期間,或者在步驟S143之后,被確定處于再度使用禁止周期之外的周期中的圖像在緩沖器202中被暫時緩沖一個預定的周期。那么,只有當對于隨后的若干個圖像沒有檢測到編輯點時,從緩沖器202輸出的圖像在步驟S145才經受參數(shù)再度使用編碼處理(下面參照圖28對其進行說明)。
根據(jù)上述處理,能夠根據(jù)幀是否處于再度使用禁止周期期間確定歷史信息或參數(shù)信息在編碼處理中是否被再度使用。
下面參照圖22的流程圖論述圖21的步驟S141中的再度使用重新啟動確定處理1。
在步驟S161,控制器216將用于對圖像數(shù)量進行計數(shù)的變量Pic_cont設置為Pic_cont+1。
在步驟S162,控制器216確定變量Pic_cont是否大于預定的值n(例如,n=8)。
如果步驟S162的結果為“是(YES)”,則控制器216在步驟S163確定在圖21的步驟S139或步驟S163中將被編碼的圖像是否為I圖像。
如果在步驟S163確定將被編碼的圖像是I圖像,則控制器216在步驟S164確定是否從該圖像重新啟動再次使用歷史信息或編碼參數(shù)。然后所述處理返回到圖21的步驟S142。
如果執(zhí)行步驟S164,則在步驟S142確定歷史信息或編碼參數(shù)的再度使用能被重新啟動。因此,再度使用停止標記被關閉,并且執(zhí)行步驟S145中的參數(shù)再度使用編碼處理。
如果在步驟S162確定變量Pic_cont小于或等于預定值n,或者如果在步驟S163確定將被編碼的圖像不是I圖像,則所述處理進入到步驟S165。在步驟S165,控制器216確定不能從該圖像重新啟動再次使用歷史信息或編碼參數(shù),并且所述處理返回到圖21的步驟S142。
如果執(zhí)行步驟S165,則在步驟S142確定歷史信息或編碼參數(shù)的再度使用未被重新啟動。因此,再度使用停止標記保持開啟,并且不執(zhí)行步驟S145中的參數(shù)再度使用編碼處理。
根據(jù)該處理,歷史信息或參數(shù)的再度使用被重新啟動的圖像能被確定。例如,如圖23所示,再度使用禁止周期A從在時間上是編輯點A之前的一個圖像的P圖像開始,直到編輯點A后的經過預定數(shù)量n(例如,n=8)個圖像的圖像之后的第一個I圖像。作為編輯點B,如果第一個I圖像位于靠近編輯點只差幾個圖像,則不從該I圖像重新啟動歷史信息或參數(shù)的再度使用,而是從位于編輯點B后的經過預定數(shù)量n個圖像(例如,n=8)的圖像之后的I圖像重新啟動。
如果在步驟S164確定先前編碼信息的再度使用能被重新啟動,則編碼器161可以將與再度使用禁止周期相關的信息提供給歷史信息產生器218,并且歷史信息產生器218可以將該信息添加到將被產生的歷史信息。因此,不能檢測編輯點或設置再度使用禁止周期的編碼裝置能在沒有再度使用歷史信息的情況下執(zhí)行編碼,因而防止了VBV緩沖器的溢出或下溢或圖像質量的惡化。
現(xiàn)在參照圖24的流程圖論述在圖21的步驟S141中執(zhí)行的再度使用重新啟動確定處理2。
在步驟S181,控制器216確定在圖21的步驟S139或S145中將被編碼的圖像是否是P圖像或I圖像。
如果步驟S181的結果為“是”,則控所述處理進入到步驟S182,其中控制器216將用于對P圖像進行計數(shù)的變量P_Pic_cont設置為P_Pic_cont+1。
然后,在步驟S183,控制器216確定P_Pic_cont是否大于預定的值m(例如,m=3)。
如果步驟S183的結果為“是”,則所述處理進入到步驟S184。在步驟S184,控制器216確定可以從該圖像重新啟動再次使用歷史信息或編碼參數(shù),并且所述處理返回到圖21的步驟S142。
如果執(zhí)行步驟S184,則在步驟S142確定歷史信息或編碼參數(shù)的再度使用能被重新啟動。因此,再度使用停止標記被關閉,并且執(zhí)行所述參數(shù)再度使用編碼處理。
如果在步驟S181確定將被編碼的圖像不是P圖像或I圖像,或者如果在步驟S183確定P_Pic_cont小于或等于預定值m,則所述處理進入到步驟S185。在步驟S185,控制器216確定不能從該圖像重新啟動再次使用歷史信息或編碼參數(shù)。然后所述處理返回到圖21的步驟S142。
如果執(zhí)行步驟S185,則在步驟S142確定歷史信息或編碼參數(shù)的再度使用未被重新啟動。因此,再度使用停止標記保持開啟,并且不執(zhí)行所述參數(shù)再度使用編碼處理。
根據(jù)該處理,歷史信息或參數(shù)的再度使用被重新啟動的圖像能被確定。例如,如圖25所示,再度使用禁止周期從在時間上位于編輯點之前的一個圖像的P圖像開始,直到編輯點后的經過預定數(shù)量m(例如,m=3)個幀的I圖像或P圖像。
在該處理中,如果在步驟S184確定先前編碼信息的再度使用能被重新啟動,則控制器216可以將與再度使用禁止周期相關的信息提供給歷史信息產生器218,并且歷史信息產生器218可以將該信息添加到將被產生的歷史信息。因此,不能檢測編輯點或設置再度使用禁止周期的編碼裝置能在沒有再度使用歷史信息的情況下執(zhí)行編碼,因而防止了VBV緩沖器的溢出或下溢或圖像質量的惡化。
現(xiàn)在參照圖26的流程圖論述在圖21的步驟S141中執(zhí)行的再度使用重新啟動確定處理3。
在步驟S201,控制器216確定在圖21的步驟S139或S145中將被編碼的圖像是否是P圖像或I圖像。
如果步驟S201的結果為“是”,則所述處理進入到步驟S202,其中控制器216將用于對P圖像的數(shù)量進行計數(shù)的變量P_Pic_cont設置為P_Pic_cont+1。
如果在步驟S201確定將被編碼的圖像不是P圖像或I圖像,或在步驟S202之后,控制器216在步驟S203確定P_Pic_cont是否大于預定的值m(例如,m=3)。
如果步驟S203的結果為“是”,則所述處理進入到步驟S204,其中控制器216將用于對圖像數(shù)量進行計數(shù)的變量Pic_cont設置為Pic_cont+1。
然后,在步驟S205,控制器216確定變量Pic_cont是否大于預定的值n(例如,n=8)。
如果步驟S205的結果為“是”,則控制器216在步驟S206確定在圖21的步驟S139或S145中將被編碼的圖像是否是I圖像。
如果在步驟S206確定將被編碼的圖像是I圖像,則所述處理進入到步驟S207。在步驟S207,控制器216確定能夠從該圖像重新開始再次使用歷史信息或編碼參數(shù),并且所述處理返回到圖21的步驟S142。
如果執(zhí)行步驟S207,則在步驟S142確定歷史信息或編碼參數(shù)的再度使用能被重新啟動。因此,再度使用停止標記被關閉,并且執(zhí)行所述參數(shù)再度使用編碼處理。
如果在步驟S203確定P_Pic_cont小于或等于預定值m,或如果在步驟S205確定Pic_cont小于或等于預定值n,或者如果在步驟S206確定將被編碼的圖像不是I圖像,則所述處理進入到步驟S208。在步驟S208,控制器216確定不能從該圖像重新開始再次使用歷史信息或編碼參數(shù),并且所述處理返回到圖21的步驟S142。
如果執(zhí)行步驟S208,則在步驟S142確定歷史信息或編碼參數(shù)的再度使用未被重新啟動。因此,再度使用停止標記保持開啟,并且不執(zhí)行所述參數(shù)再度使用編碼處理。
根據(jù)該處理,歷史信息或參數(shù)的再度使用被重新啟動的圖像能被確定。例如,如圖27所示,再度使用禁止周期從在時間上位于編輯點之前的一個圖像的P圖像開始,直到從該編輯點后經過預定數(shù)量m(例如,m=3)個圖像之后的I圖像或P圖像開始計數(shù)經過預定數(shù)量n(例如,n=8)個圖像的I圖像。
如果在步驟S207確定先前編碼信息的再度使用能被重新啟動,則編碼器161可以將與再度使用禁止周期相關的信息提供給歷史信息產生器218,并且歷史信息產生器218可以將該信息加入到將被產生的歷史信息。因此,不能檢測編輯點或設置再度使用禁止周期的編碼裝置能在沒有再度使用歷史信息的情況下執(zhí)行編碼,因而防止了VBV緩沖器的溢出或下溢或圖像質量的惡化。
參照圖28的流程圖,下面將描述由圖12所示的編碼器161或圖17所示的編碼器241執(zhí)行的圖21的步驟S145中的參數(shù)再度使用編碼處理。
在步驟S221,控制器216從歷史信息提取單元171接收歷史信息或從參數(shù)輸入單元251接收參數(shù)信息,并通過檢測包含在歷史信息中的SMPTE329M的sequence_extension()函數(shù)的low_delay和包含在歷史信息中的SMPTE329M的picture_coding_extension()函數(shù)的picture_structure、top_field_first、和repeat_first_field、或包含在參數(shù)信息中的類似信息項來確定先前編碼的延遲模式、圖像配置和下拉模式是否與當前編碼的相符。
如果在步驟S221確定先前編碼的延遲模式、圖像配置和下拉模式與當前編碼的不相符,則所述處理進入到步驟S222。在步驟S222,控制器216控制編碼器161或編碼器241的各個元件以在沒有再度使用歷史信息或參數(shù)的情況下執(zhí)行編碼,然后所述處理終止。
如果在步驟S221確定先前編碼的延遲模式、圖像配置和下拉模式與當前編碼的相符,則所述處理進入到步驟S223。在步驟S223,控制器216通過檢測SMPTE 329M的sequence_header()函數(shù)中指出的horizontal_size_value和vertical_size_value和SMPTE 329M的v_phase和h_phase以及參數(shù)信息中包含的類似信息項來確定先前編碼的圖像幀的位置和尺寸是否與當前編碼的相一致。
如果在步驟S223確定先前編碼的圖像幀的位置和尺寸中的至少一個與當前編碼的不同,則所述處理進入到步驟S224。在步驟S224,控制器216確定通過再度使用與圖像類型(picture_coding_type)相關的信息來執(zhí)行編碼,并通過再度使用圖像類型的信息控制圖像重新布置單元203對圖像進行重新布置,以及控制其它元件執(zhí)行編碼。然后完成所述處理。
如果在步驟S223確定先前編碼的圖像幀的位置和尺寸與當前編碼的都相同,則所述處理進入到步驟S225。在步驟S225,控制器216通過檢測歷史信息中包含的SMPTE 329M的extension_and_user_data(2)中的user_data(2)的bit_rate_value和參數(shù)信息中包含的sequence_header()函數(shù)的chroma_format和類似信息項來確定先前編碼的位速率是否小于當前編碼的位速率和先前編碼的色度格式是否大于或等于當前編碼的色度格式。
如果在步驟S225確定先前編碼的位速率大于或等于當前編碼的位速率或確定先前編碼的色度格式小于當前編碼的色度格式,則所述處理進入到步驟S226。在步驟S226,控制器216確定通過再度使用圖像類型和運動向量(motion_vectors信息)執(zhí)行編碼,并通過再度使用圖像類型信息控制圖像重新布置單元203對圖像進行重新布置,以及控制運動向量檢測器205再度使用先前編碼的運動向量信息,還控制其它元件執(zhí)行編碼。然后完成所述處理。
如果在步驟S225確定先前編碼的位速率小于當前編碼的位速率和先前編碼的色度格式大于或等于當前編碼的色度格式,則所述處理進入到步驟S227。在步驟S227,控制器216確定是否從解碼器141提供了參數(shù)(也就是,通過再度使用參數(shù)信息而不是歷史信息來執(zhí)行編碼),并通過檢測與SMPTE329M的sequence_header()函數(shù)的chroma_format相似的信息確定參數(shù)的色度格式是否與當前編碼的色度格式一致。也就是,例如,如果包含編碼器241的代碼轉換器231將4:2:0格式轉換成4:2:2格式,則確定兩種色度格式不相同。
如果在步驟S227確定從解碼器161提供了歷史信息,而不是從解碼器141提供了參數(shù),或者參數(shù)信息的色度格式與當前編碼的色度格式不一致,則所述處理進入到步驟S228。在步驟S228,控制器216確定通過再度使用圖像類型、運動向量和量化等級(q_scale)來執(zhí)行編碼。更加具體地說,控制器216控制圖像重新布置單元203通過再度使用圖像類型信息來對圖像進行重新布置,控制運動向量檢測器205再度使用先前編碼的運動向量信息,并控制量化等級確定單元208將歷史信息或參數(shù)信息中包含的量化等級提供給量化器207,并允許量化器207執(zhí)行量化,同時還控制其它元件執(zhí)行編碼。然后完成所述處理。
如果在步驟S227確定從解碼器141提供了歷史信息,并且參數(shù)信息的色度格式與當前編碼的色度格式一致,則所述處理進入到步驟S229。在步驟S229,控制器216控制流切換裝置219將輸入到解碼器141中的流數(shù)據(jù)輸出,然后結束所述處理。
根據(jù)該處理,在將先前編碼的因數(shù)與當前編碼的因數(shù)比較之后,能被再度使用的編碼信息項根據(jù)是否滿足一定條件而能被選擇出來。通過這種布置,即使解碼和編碼被重復執(zhí)行,則也能夠保持圖像質量。
根據(jù)參照圖28中的流程圖所述的處理,在步驟S221、S223、S225和S227通過將先前編碼的編碼參數(shù)與當前編碼的編碼參數(shù)進行比較來確定是否滿足預定的條件。然而,如果在數(shù)據(jù)傳輸系統(tǒng)中某些參數(shù)是固定的,則可省略用于這種參數(shù)的確定處理。
也就是,在數(shù)據(jù)傳輸系統(tǒng)中,如果滿足預定條件,例如許多參數(shù)是固定的,則在沒有執(zhí)行確定處理的情況下,例如在步驟S221、S223、S225或S227中,通過再度使用與先前編碼相關的信息,即歷史信息或參數(shù)信息而可以進行重新編碼。
在參照圖21到28所述的處理中,通過確定幀是否在再度使用禁止周期中來作出關于歷史信息或參數(shù)是否能被再度使用的確定。然而,除了再度使用禁止周期之外,還能提供部分再度使用允許周期。更加具體地說,在再度使用禁止周期之后,可以提供有能夠再度使用部分歷史信息或參數(shù)的一個周期,然后,通過再度使用歷史信息或參數(shù)而能夠執(zhí)行編碼。在該情況下,代替再度使用停止標記,控制器216在內置寄存器中具有再度使用完全停止標記和再度使用部分停止標記。
下面參照圖29的流程圖描述通過使用部分再度使用允許周期執(zhí)行的編碼處理。
步驟S241到S245分別與圖21的步驟S131至S135相似。
更加具體地說,在步驟S241,獲得幀圖像數(shù)據(jù)及其附隨信息。然后在步驟S242確定是否已經檢測到編輯點。如果發(fā)現(xiàn)已經檢測到編輯點,則在步驟S243開啟編輯點檢測標記。如果發(fā)現(xiàn)還沒有檢測到編輯點或在步驟S243之后,則在步驟S244檢測內置寄存器以確定編輯點檢測標記是否為“OFF”。如果發(fā)現(xiàn)編輯點檢測標記不是“OFF”,則從緩沖器202中存儲的流數(shù)據(jù)檢測緊貼編輯點之前的P圖像,并從該P圖像設置再度使用禁止周期。
在步驟S246,控制器216在內置寄存器中開啟再度使用完全停止標記,還開啟再度使用部分停止標記,和關閉編輯點檢測標記。
步驟S247到S249分別與圖21的步驟S137至S139類似。
更加具體地說,在步驟S247,將用于計算圖像數(shù)量的變量Pic_cont和用于計算P圖像數(shù)量的變量P_Pic_cont設置為0。然后,在步驟S248,對提供的圖像緩沖一個預定的時期(至少大于P圖像間隔的周期),然后將它們輸出。在步驟S249,在沒有再度使用歷史信息或參數(shù)的情況下執(zhí)行編碼。然后所述處理返回到步驟S242,并重復步驟S242及其隨后的步驟。
如果在步驟S244確定編輯點檢測標記為“關閉(OFF)”,則控制器216在步驟S250確定內置寄存器中的再度使用完全停止標記和再度使用部分停止標記是否為“OFF”。如果步驟S250的結果為“是”,則所述處理進入到步驟S258。
如果在步驟S250確定再度使用完全停止標記或再度使用部分停止標記中的至少一個不是“OFF”,則在步驟S251執(zhí)行下面參照圖30所述的部分/完全再度使用重新啟動確定處理。
在步驟S252,控制器216作為步驟S251中的部分/完全再度使用重新啟動確定處理的結果確定參數(shù)或歷史信息的完全再度使用是否被重新啟動。如果步驟S252的結果為“是”,則所述處理進入到步驟S257。
如果在步驟S252確定參數(shù)或歷史信息的完全再度使用未被重新啟動,則控制器216在步驟S253中作為步驟S251中的部分/完全再度使用重新啟動確定處理的結果確定參數(shù)或歷史信息的部分再度使用是否被重新啟動。如果步驟S253的結果為“否”,則所述處理進入到步驟S248。
如果在步驟S253確定參數(shù)或歷史信息的部分再度使用被重新啟動,則控制器216在步驟S254中關閉再度使用部分停止標記。
然后,在步驟S255,緩沖器202對提供的圖像緩沖一個預定的周期(至少長于P圖像間隔的周期),然后將它們輸出。然而,參數(shù)或歷史信息能被部分再度使用的圖像在緩沖器202中被緩沖一個預定的周期,只有當對于若干個圖像未檢測到編輯點時,所述處理才進入到步驟S256。
在步驟S256,下面參照圖32或33所述的參數(shù)部分再度使用重新啟動編碼處理被執(zhí)行。然后所述處理返回到步驟S242,并重復步驟S242及其隨后的步驟。
如果在步驟S252確定參數(shù)或歷史信息的完全再度使用被重新啟動,則控制器216在步驟S257關閉內置寄存器中的再度使用完全停止標記。
如果在步驟S250確定再度使用完全停止標記和再度使用部分停止標記為“OFF”,或在步驟S257之后,所述處理進入到步驟S258。在步驟S258,所提供的圖像在緩沖器202中被緩沖一個預定的周期(至少長于P圖像間隔的周期),然后將其輸出。然而,參數(shù)或歷史信息能被完全再度使用的圖像在緩沖器202中被緩沖一預定的周期,并且只有當對于若干個圖像沒有檢測到編輯點時,所述處理才進入到步驟S259。
然后,在步驟S259,執(zhí)行參照圖28所述的參數(shù)再度使用編碼處理。然后所述處理返回到步驟S242并重復步驟S242及其隨后的步驟。
按照該處理,根據(jù)幀是否處于再度使用禁止周期中或在部分再度使用允許周期中而確定參數(shù)或歷史信息的再度使用是否能被完全或部分重新啟動。
參照圖30的流程圖,現(xiàn)在將描述圖29的步驟S251中的部分/完全再度使用重新啟動確定處理。
在步驟S271,控制器216確定在圖29的步驟S249、S256、或S259中將被編碼的圖像是否為P圖像或I圖像。
如果步驟S271的結果為“是”,則所述處理進入到步驟S272,在該步驟中控制器216將用于對P圖像的數(shù)量進行計數(shù)的變量P_Pic_cont設置為P_Pic_cont+1。
如果在步驟S271確定將被編碼的圖像不是P圖像或I圖像,或在步驟S272之后,控制器216在步驟S273確定P_Pic_cont是否大于一預定的值m(例如,m=3)。
如果步驟S273的結果為“是”,則所述處理進入到步驟S274。在步驟S274,控制器216確定能夠對于該圖像重新啟動歷史信息或參數(shù)的部分再度使用,然后所述處理返回到圖29的步驟S252。
如果執(zhí)行步驟S274,則在圖29的步驟S252確定參數(shù)或歷史信息的完全再度使用未被重新啟動,但在步驟S253確定能夠重新啟動參數(shù)或歷史信息的部分再度使用。因此,至少再度使用部分停止標記被關閉,并且執(zhí)行參數(shù)部分再度使用編碼處理。
如果在步驟S273確定P_Pic_cont小于或等于預定的值m,則所述處理進入到步驟S275。在步驟S275,控制器216確定不能從該圖像完全或部分重新啟動歷史信息或參數(shù)的再度使用。所述處理返回到圖29的步驟S252。
如果執(zhí)行步驟S275,則在圖29的步驟S252確定參數(shù)或歷史信息的完全再度使用不能被重新啟動,然后在步驟S253確定參數(shù)或歷史信息的部分再度使用不能被重新啟動。因此,在步驟S249,在沒有再度使用參數(shù)或歷史信息的情況下執(zhí)行編碼。
在步驟S276,控制器216將用于對圖像的數(shù)量進行計數(shù)的變量Pic_cont設置為Pic_cont+1。
然后,在步驟S277,控制器216確定變量Pic_cont是否大于預定值n(例如,n=8)。
如果步驟S277的結果為“是”,則控制器216在步驟S278確定在圖29的步驟S249、S256或S259中將被編碼的圖像是否為I圖像。
如果在步驟S278確定將被編碼的圖像是I圖像,則控制器216在步驟S279確定能從該圖像重新啟動歷史信息或參數(shù)的完全再度使用。然后所述處理返回到圖29的步驟S252。
如果執(zhí)行步驟S279,則在圖29的步驟S252能夠確定參數(shù)或歷史信息的完全再度使用能被重新啟動。因此,再度使用完全停止標記被關閉,并且執(zhí)行參數(shù)再度使用編碼處理。
如果在步驟S277確定變量Pic_cont小于或等于預定值n,或者如果在步驟S278確定將被編碼的圖像不是I圖像,則所述處理進入到步驟S280。在步驟S280,控制器216確定歷史信息或參數(shù)的完全再度使用不能被重新啟動,所述處理返回到圖29的步驟S252。
如果執(zhí)行步驟S280,則在圖29的步驟S252確定參數(shù)或歷史信息的完全再度使用不能被重新啟動,然后在步驟S253確定參數(shù)或歷史信息的部分再度使用能被重新啟動。因此,再度使用部分停止標記被關閉,并執(zhí)行參數(shù)部分再度使用編碼處理。
根據(jù)該處理,能夠確定參數(shù)或歷史信息能被部分重新啟動的圖像和參數(shù)或歷史信息能被完全重新啟動的圖像。例如,如圖31所示,再度使用禁止周期開始于在時間上為編輯點之前的一個圖像的P圖像,直到編輯點之后的經過預定數(shù)量m(例如m=3)個圖像的I圖像或P圖像。在該周期過程中,在沒有參照歷史信息或參數(shù)的情況下執(zhí)行編碼。那么,部分再度使用允許周期開始于緊接再度使用禁止周期之后的第一個圖像,直到再度使用禁止周期的結束點之后的經過預定數(shù)量n(例如,n=8)個圖像的圖像之后的第一個I圖像。在部分再度使用允許周期期間,通過再度使用部分先前編碼參數(shù)來執(zhí)行編碼處理,下面將參照圖32或33對其進行討論。
編碼器161的控制器216可以將關于通過圖30中所示的處理設置的再度使用禁止周期和部分再度使用允許周期的信息提供給歷史信息產生器218,并且歷史信息產生器218可以將該信息添加到將被產生的歷史信息。通過這種布置,不能檢測編輯點或設置再度使用禁止周期或部分再度使用允許周期的編碼裝置在再度使用禁止周期期間,能夠在沒有再度使用歷史信息的情況下執(zhí)行編碼,并且在部分再度使用允許周期期間能夠通過再度使用部分歷史信息執(zhí)行編碼。因此,能夠防止VBV緩沖器的溢出或下溢和圖像質量的惡化。
在圖29的步驟S256中的參數(shù)部分再度使用編碼處理中,通過再度使用部分編碼參數(shù)來執(zhí)行編碼,在所述參數(shù)再度使用編碼處理中能夠再度使用所述編碼參數(shù)。有兩種類型的處理其中根據(jù)條件可以再度使用圖像類型和運動向量的參數(shù)部分再度使用編碼處理1;其中根據(jù)條件只能再度使用圖像類型的參數(shù)部分再度使用編碼處理2。
下面參照圖32的流程圖描述圖29的步驟S256中的參數(shù)部分再度使用編碼處理1。
在步驟S301,控制器216從歷史信息提取單元171接收歷史信息或從參數(shù)輸入單元251接收參數(shù)信息,并通過檢測包含在歷史信息中的SMPTE329M的sequence_extension()函數(shù)的low_delay和包含在歷史信息中的SMPTE329M的picture_coding_extension()函數(shù)的picture_structure、top_field_first、和repeat_first_field、或包含在參數(shù)信息中的類似信息項來確定先前編碼的延遲模式、圖像配置和下拉模式是否與當前編碼的相符。
如果在步驟S301確定先前編碼的延遲模式、圖像配置和下拉模式與當前編碼的不相符,則所述處理進入到步驟S302。在步驟S302,控制器216控制編碼器161或編碼器241的各個元件以在沒有再度使用歷史信息或參數(shù)的情況下執(zhí)行編碼,然后所述處理返回到圖29的步驟S242。
如果在步驟S301確定先前編碼的延遲模式、圖像配置和下拉模式與當前編碼的相符,則所述處理進入到步驟S303。在步驟S303,控制器216通過檢測SMPTE 329M的sequence_header()函數(shù)中指出的horizontal_size_value和vertical_size_value和SMPTE 329的v_phase和h_phase以及參數(shù)信息中包含的類似信息項來確定先前編碼的圖像幀的位置和尺寸是否與當前編碼中的相一致。
如果在步驟S303確定先前編碼的圖像幀的位置和尺寸中的至少一個與當前編碼的不同,則所述處理進入到步驟S304。在步驟S304,控制器216確定通過再度使用與圖像類型(picture_coding_type)相關的信息來執(zhí)行編碼,并通過再度使用圖像類型的信息控制圖像重新布置單元203對圖像進行重新布置,以及控制其它元件執(zhí)行編碼。然后所述處理返回到圖29的步驟S242。
如果在步驟S303確定先前編碼的圖像幀的位置和尺寸與當前編碼的都相同,則所述處理進入到步驟S305。在步驟S305,控制器216確定通過再度使用與圖像類型(picture_coding_type)相關的信息和運動向量(motion_vectors信息)來執(zhí)行編碼。然后控制器216通過再度使用圖像類型的信息控制圖像重新布置單元203對圖像進行重新布置,并控制運動向量檢測器205以再度使用先前編碼的運動向量信息,而且還控制其它元件執(zhí)行編碼。然后所述處理返回到圖29的步驟S242。
根據(jù)該處理,在將先前編碼的因數(shù)與當前編碼的進行比較之后,能被再度使用的編碼信息項根據(jù)是否滿足一定的條件而能夠被部分選擇出來。通過這種布置,即使重復執(zhí)行解碼和編碼,圖像質量也能夠得到保持。
根據(jù)參照圖32的流程圖所述的處理,在步驟S301和S303通過將先前編碼的編碼參數(shù)與當前編碼的編碼參數(shù)進行比較確定是否滿足預訂的條件。然而,如果在數(shù)據(jù)傳輸系統(tǒng)中,某些參數(shù)是固定的,則對于這種參數(shù)的確定處理可以被省略。
下面參照圖33的流程圖描述在圖29的步驟S256中的參數(shù)部分再度使用編碼處理2。
在步驟S321,控制器216從歷史信息提取單元171接收歷史信息或從參數(shù)輸入單元251接收參數(shù)信息,并通過檢測包含在歷史信息中的SMPTE329M的sequence_extension()函數(shù)的low_delay和包含在歷史信息中的SMPTE329M的picture_coding_extension()函數(shù)的picture_structure、top_field_first、和repeat_first_field、以及包含在參數(shù)信息中的類似信息項來確定先前編碼的延遲模式、圖像配置和下拉模式是否與當前編碼的相符。
如果在步驟S321確定先前編碼的延遲模式、圖像配置和下拉模式與當前編碼的不相符,則所述處理進入到步驟S322。在步驟S322,控制器216控制編碼器161或編碼器241的各個元件以在沒有再度使用歷史信息或參數(shù)的情況下執(zhí)行編碼,然后所述處理返回到圖29的步驟S242。
如果在步驟S321確定先前編碼的延遲模式、圖像配置和下拉模式與當前編碼的相符,則所述處理進入到步驟S323。在步驟S323,控制器216確定通過再度使用與圖像類型(picture_coding_type)相關的信息來執(zhí)行編碼,并通過再度使用圖像類型的信息控制圖像重新布置單元203對圖像進行重新布置,并控制其它元件執(zhí)行編碼。然后所述處理返回到圖29的步驟S242。
根據(jù)該處理,在將先前編碼的因數(shù)與當前編碼的進行比較之后,如果滿足預訂的條件,則只有圖像類型被選作為能被再度使用的編碼信息。通過這種布置,即使重復執(zhí)行解碼和編碼,圖像質量也能夠得到保持。
根據(jù)參照圖33中的流程圖所述的處理,在步驟S321通過將先前編碼的編碼參數(shù)與當前編碼的編碼參數(shù)進行比較確定是否滿足預訂的條件。然而,如果在數(shù)據(jù)傳輸系統(tǒng)中,某些參數(shù)是固定的,則用于這種參數(shù)的確定處理可以被省略。
本發(fā)明可應用于不需要重新排序處理的低延遲編碼。在低延遲編碼中,在沒有使用產生重新排序延遲的B圖像和產生大量編碼的I圖像的情況下只使用了P圖像,并且P圖像被分割成若干個內片和剩余數(shù)量的間片。
在低延遲編碼中,只有P圖像被用于每幀圖像,例如在大小為24×45宏塊的圖像幀中,從圖像頂部起的2列宏塊和45行宏塊被分配給一個內片,而其它的宏塊被分配給間片。本發(fā)明能夠應用于這種類型的低延遲編碼。在該情況下,內片可以具有上述以外的尺寸;例如,一列宏塊和45行宏塊可被分配給內片。
當通過幀內壓縮對圖像進行編碼時也能使用本發(fā)明。
雖然在上述的實施例中編碼器161或241通過MPEG方法對圖像進行壓縮,但也可以使用其他類型的圖像壓縮方法。
在前述的實施例中,用于轉換流數(shù)據(jù)的每個代碼轉換器都包括一個解碼器和一個編碼器。然而,在本發(fā)明中,解碼器和編碼器可分別單獨的形成為獨立的解碼裝置和編碼裝置。
更加具體地說,雖然在上述實施例中,每個代碼轉換器都是對流數(shù)據(jù)進行轉換,但用于將流數(shù)據(jù)解碼成基帶信號的解碼裝置271和用于將基帶信號編碼成流數(shù)據(jù)的編碼裝置272可單獨形成,如圖34所示?;蛘撸獯a裝置271不需要對提供的流數(shù)據(jù)進行完全解碼,在該情況下,編碼裝置272只對解碼的數(shù)據(jù)進行編碼。
例如如果解碼裝置271在沒有進行反向DCT處理的情況下對VLC進行解碼并執(zhí)行去量化,則編碼裝置272執(zhí)行量化和VLC處理,但并不進行DCT處理。本發(fā)明能夠用于確定由執(zhí)行部分編碼的編碼裝置272執(zhí)行的量化處理中的量化等級是否能夠被再度使用。
或者,當解碼裝置271將流數(shù)據(jù)完全解碼成基帶信號時,編碼裝置272可對基帶信息進行部分編碼(例如,編碼裝置272在沒有進行VLC處理的情況下執(zhí)行DCT處理和量化)。當解碼裝置271僅執(zhí)行部分解碼時(例如,解碼裝置271在沒有執(zhí)行反向DCT處理的情況下只對VLC碼進行解碼并執(zhí)行去量化),編碼裝置272對解碼的數(shù)據(jù)執(zhí)行部分編碼(例如,編碼裝置272在沒有執(zhí)行VLC處理的情況下執(zhí)行量化)。
本發(fā)明可應用于包括用于執(zhí)行部分解碼(執(zhí)行解碼處理步驟的一部分)的解碼裝置271和用于執(zhí)行部分編碼(執(zhí)行編碼處理步驟的一部分)的編碼裝置272的代碼轉換器281。代碼轉換器281能與用于執(zhí)行編輯例如拼接的編輯裝置282一起使用。
上述的一系列處理可通過硬件或軟件來執(zhí)行。在這種情況下,代碼轉換器152或231可由一個人計算機301形成,例如圖35所示。
在圖35中,中央處理單元(CPU)311根據(jù)存儲在只讀存儲器(ROM)311中的程序或從存儲單元318裝載到隨機存取存儲器(RAM)313中的程序執(zhí)行各種類型的處理。在RAM313中,還存儲有CPU311執(zhí)行各種類型的處理所需的數(shù)據(jù)。
CPU 311、ROM 312和RAM 313通過總線314彼此連接。一輸入/輸出接口315也被連接到總線314上。
輸入/輸出接口315還被連接到包括鍵盤和鼠標的輸入單元316、包括顯示器和揚聲器的輸出單元317、包括硬盤的存儲單元318、和包括調制解調器和終端適配器的通信單元319。通信單元319通過網絡例如因特網執(zhí)行通信處理。
驅動器320也被連接到輸入/輸出接口315,在驅動器320中可安裝磁盤331、光盤332、磁光盤333或半導體存儲器334,從這樣一個記錄介質讀取的計算機程序可安裝到存儲單元318中。
如果使用軟件來執(zhí)行上述系列處理,則從記錄介質或通過網絡將相應的軟件程序安裝到嵌入到專用硬件中的計算機或通用計算機,其可將各種類型的計算機程序安裝到其中以執(zhí)行各種類型的功能。
該記錄介質可由其中存儲程序的封裝介質形成,這樣的介質可與所述設備分開地分布以向用戶提供程序,例如,磁盤331(包括軟盤)、光盤332(包括光盤只讀存儲器(CD-ROM)和數(shù)字萬用盤(DVD))、磁光盤333(包括迷你盤(MD)(商標))、或半導體存儲器334。記錄介質可由存儲程序的ROM312或存儲單元318中包含的硬盤形成,所述硬盤被提供給用戶,同時被集成到設備中。
附加編碼信息可被添加到場、具有相同圖像類型的鄰近幀、或GOP,而不是每個幀。另外,除了幀之外,可以以場為單元檢測編輯點。或者,可從具有相同圖像類型的鄰近幀或GOP中選擇一個幀,以便在具有相同圖像類型的鄰近幀中或在GOP中檢測編輯點。
在本說明書中,形成存儲在存儲介質中的程序的步驟可按照說明中所述的年月日的次序執(zhí)行?;蛘撸赏瑫r或單獨執(zhí)行所述各步驟。
在本說明書中,所述系統(tǒng)指的是包括多個裝置的整個設備。
權利要求
1.一種圖像處理設備,用于對圖像數(shù)據(jù)執(zhí)行至少部分編碼處理,包括數(shù)據(jù)轉換裝置,用于對圖像數(shù)據(jù)執(zhí)行至少部分編碼處理;檢測裝置,用于檢測圖像數(shù)據(jù)的編輯點;和控制裝置,用于根據(jù)檢測裝置檢測到的編輯點確定再度使用禁止周期,在該周期中,當數(shù)據(jù)轉換裝置執(zhí)行至少部分編碼處理時,和圖像數(shù)據(jù)執(zhí)行的先前編碼處理相關的信息是不可再度使用的。
2.根據(jù)權利要求1所述的圖像處理設備,其中所述檢測裝置根據(jù)指示包含在圖像數(shù)據(jù)中的編輯點的標記信息檢測編輯點。
3.根據(jù)權利要求1所述的圖像處理設備,還包括獲取裝置,用于從圖像數(shù)據(jù)獲得和圖像數(shù)據(jù)執(zhí)行的先前編碼處理相關的信息,其中所述檢測裝置根據(jù)由獲取裝置獲得的和先前編碼處理相關的信息來檢測編輯點。
4.根據(jù)權利要求3所述的圖像處理設備,其中,當根據(jù)由獲取裝置獲得的和先前編碼處理相關的信息檢測到下列中的至少一個時加入到形成圖像數(shù)據(jù)的預定單元的計數(shù)不是連續(xù)的;開始執(zhí)行先前編碼處理的開始點在形成圖像數(shù)據(jù)的單元之間是不同的;和執(zhí)行先前編碼處理的編碼裝置在形成圖像數(shù)據(jù)的單元之間是不同的,檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
5.根據(jù)權利要求3所述的圖像處理設備,其中,當檢測到添加到形成圖像數(shù)據(jù)的單元的計數(shù)不是連續(xù)的時,檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
6.根據(jù)權利要求3所述的圖像處理設備,其中,當檢測到開始先前編碼處理的開始點在形成圖像數(shù)據(jù)的單元之間是不同的時,所述檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
7.根據(jù)權利要求3所述的圖像處理設備,其中,當檢測到執(zhí)行先前編碼處理的編碼裝置在形成圖像數(shù)據(jù)的單元之間是不同的時,所述檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
8.根據(jù)權利要求1所述的圖像處理設備,還包括獲取裝置,用于分別地從圖像數(shù)據(jù)獲取和所述圖像數(shù)據(jù)執(zhí)行的先前編碼相關的信息,其中所述檢測裝置根據(jù)由所述獲取裝置獲得的和先前編碼處理相關的信息來檢測編輯點。
9.根據(jù)權利要求8所述的圖像處理設備,其中,當根據(jù)由獲取裝置獲得的和先前編碼處理相關的信息檢測到下列中的至少一個時添加到形成圖像數(shù)據(jù)的預定單元的計數(shù)不是連續(xù)的;開始先前編碼處理的開始點在形成圖像數(shù)據(jù)的單元之間是不同的;和執(zhí)行先前編碼處理的編碼裝置在形成圖像數(shù)據(jù)的單元之間是不同的,檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
10.根據(jù)權利要求8所述的圖像處理設備,其中,當檢測到添加到形成圖像數(shù)據(jù)的預定單元的計數(shù)不是連續(xù)的時,檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
11.根據(jù)權利要求8所述的圖像處理設備,其中,當檢測到開始先前編碼處理的開始點在形成圖像數(shù)據(jù)的預定單元之間是不同的時,所述檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
12.根據(jù)權利要求8所述的圖像處理設備,其中,當檢測到執(zhí)行先前編碼處理的編碼裝置在形成圖像數(shù)據(jù)的預定單元之間是不同的時,所述檢測裝置將在各單元之間檢測到的圖像數(shù)據(jù)的一個點設定為編輯點。
13.根據(jù)權利要求4所述的圖像處理設備,其中所述單元包括幀、場、或相同圖像編碼類型或GOP的鄰近幀。
14.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置控制在時間上位于緊挨在檢測裝置檢測到的編輯點處的幀之前的圖像數(shù)據(jù)的前向預測編碼幀作為再度使用禁止周期的開始位置。
15.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置檢測與在時間上位于檢測裝置檢測到的編輯點處的幀經過預定數(shù)量的幀之后的一個幀相應的第一圖像數(shù)據(jù),并控制與位于第一圖像數(shù)據(jù)的幀之后且與之最接近的內編碼幀之前一個幀的幀相應的第二圖像數(shù)據(jù)作為再度使用禁止周期的結束位置。
16.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置檢測與在時間上位于檢測裝置檢測到的編輯點處的幀經過預定數(shù)量的幀之后的一個前向預測編碼幀相應的第一圖像數(shù)據(jù),并控制與相應于第一圖像數(shù)據(jù)的幀之前一個幀相應的第二圖像數(shù)據(jù)作為再度使用禁止周期的結束位置。
17.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置檢測與在時間上位于檢測裝置檢測到的編輯點處的幀經過預定數(shù)量的幀之后的一個前向預測編碼幀相應的第一圖像數(shù)據(jù),同時還檢測與在時間上位于第一圖像數(shù)據(jù)經過預定數(shù)量的幀以后的一個幀相應的第二圖像數(shù)據(jù),并控制與位于相應于第二圖像數(shù)據(jù)的幀之后且與之最接近的內編碼幀之前一個幀相應的第三圖像數(shù)據(jù)作為再度使用禁止周期的結束位置。
18.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置根據(jù)檢測裝置檢測到的編輯點確定一再度使用允許周期,在該周期中,當所述數(shù)據(jù)轉換裝置執(zhí)行至少部分編碼處理時,和圖像數(shù)據(jù)執(zhí)行的先前編碼處理相關的部分信息是可用的;所述控制裝置控制在時間上位于緊挨檢測裝置檢測到的編輯點處的幀之前的圖像數(shù)據(jù)的前向預測編碼幀作為再度使用禁止周期的開始位置,并檢測和在時間上位于檢測裝置檢測到的編輯點處的幀經過預定數(shù)量的幀之后的一個前向預測編碼幀相應的第一圖像數(shù)據(jù),并控制與第一圖像數(shù)據(jù)之前一個幀的幀相應的第二圖像數(shù)據(jù)作為再度使用禁止周期的結束位置;所述控制裝置控制所述第一圖像數(shù)據(jù)作為所述再度使用允許周期的開始位置,并檢測和在時間上位于相應于第一圖像數(shù)據(jù)的幀經過預定數(shù)量的幀之后的一個幀相應的第三圖像數(shù)據(jù),并控制與位于相應于第三圖像數(shù)據(jù)的幀之后且與之最接近的內編碼幀之前一個幀的幀相應的第四圖像數(shù)據(jù)作為再度使用允許周期的結束位置。
19.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置根據(jù)所述再度使用禁止周期控制通過所述數(shù)據(jù)轉換裝置對所述圖像數(shù)據(jù)執(zhí)行的至少一部分編碼處理。
20.根據(jù)權利要求1所述的圖像處理設備,其中所述控制裝置根據(jù)檢測裝置檢測到的編輯點確定一再度使用允許周期,在該周期中,當所述數(shù)據(jù)轉換裝置執(zhí)行至少部分編碼處理時,與先前編碼處理相關的部分信息是可用的;和所述控制裝置根據(jù)所述再度使用禁止周期和再度使用允許周期控制由所述數(shù)據(jù)轉換裝置執(zhí)行的至少部分編碼處理。
21.根據(jù)權利要求1所述的圖像處理設備,還包括產生裝置,用于產生與由所述數(shù)據(jù)轉換裝置執(zhí)行的部分編碼處理相關的歷史信息,其中所述產生裝置產生包含與由所述控制裝置確定的再度使用禁止周期相關的信息的歷史信息。
22.根據(jù)權利要求1所述的圖像處理設備,還包括產生裝置,用于產生與由所述數(shù)據(jù)轉換裝置執(zhí)行的部分編碼處理相關的歷史信息,其中所述控制裝置根據(jù)檢測裝置檢測到的編輯點還確定一再度使用允許周期,在該周期中,當所述數(shù)據(jù)轉換裝置執(zhí)行至少一部分編碼處理時,與先前編碼處理相關的部分信息是可再度使用的;和所述產生裝置產生包含與由所述控制裝置確定的再度使用禁止周期和再度使用允許周期相關的信息的歷史信息。
23.一種用于圖像處理設備的圖像處理方法,用于對圖像數(shù)據(jù)執(zhí)行至少一部分編碼處理,所述圖像處理方法包括檢測步驟,用于檢測圖像數(shù)據(jù)的編輯點;和控制步驟,用于根據(jù)在檢測步驟中檢測的編輯點確定一再度使用禁止周期,在該周期中,當執(zhí)行至少一部分編碼處理時,與先前編碼處理相關的信息是不可再度使用的。
24.一種允許計算機執(zhí)行用于對圖像數(shù)據(jù)執(zhí)行至少一部分編碼處理的圖像處理方法的程序,所述圖像處理方法包括檢測步驟,用于檢測圖像數(shù)據(jù)的編輯點;和控制步驟,用于根據(jù)在檢測步驟中檢測到的編輯點確定一再度使用禁止周期,在該周期中,當執(zhí)行至少一部分編碼處理時,與先前編碼處理相關的信息是不可再度使用的。
25.一種在其中存儲程序的記錄介質,所述程序允許計算機執(zhí)行用于對圖像數(shù)據(jù)執(zhí)行至少一部分編碼處理的圖像處理方法,所述圖像處理方法包括檢測步驟,用于檢測圖像數(shù)據(jù)的編輯點;和控制步驟,用于根據(jù)在檢測步驟中檢測到的編輯點確定一再度使用禁止周期,在該周期中,當執(zhí)行至少一部分編碼處理時,和先前編碼處理相關的信息是不可再度使用的。
全文摘要
在本發(fā)明中,一歷史-信息/參數(shù)-再度使用禁止周期被設定,其開始于在時間上位于編輯點之前的一個P圖像,直到編輯點后的經過預定數(shù)量n(例如,n=8)個圖像的圖像之后的第一個I圖像。如果第一I圖像位于靠近編輯點只差幾個圖像,則不從該I圖像開始參數(shù)或歷史信息的再度使用,而是從編輯點后的經過預定數(shù)量n(例如,n=8)個圖像的圖像之后的I圖像開始。本發(fā)明可應用于編碼裝置或代碼轉換器。
文檔編號H04N7/26GK1642284SQ20041010337
公開日2005年7月20日 申請日期2004年9月20日 優(yōu)先權日2003年9月19日
發(fā)明者加藤吾郎, 柴田正二郎, 上野弘道 申請人:索尼株式會社