專利名稱:利用編碼歷史信息的編碼轉換系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及編碼轉換系統(tǒng)、視頻編碼設備、數(shù)據(jù)流處理系統(tǒng)和用于改變GOP(圖像組)結構和作為基于MPEG(運動圖像專家組)標準的編碼處理結果所獲得的編碼比特流的比特率的視頻解碼設備。
背景技術:
近年來,用于生產(chǎn)和播送電視節(jié)目的廣播站通常在使用用于壓縮和編碼視頻數(shù)據(jù)的MPEG技術。特別是,MPEG技術正在變?yōu)橛糜谠诖艓Щ螂S機存取記錄介質(zhì)上記錄視頻數(shù)據(jù)和用于通過電纜或衛(wèi)星發(fā)送視頻數(shù)據(jù)的一種de-facto標準。
下面是由廣播站執(zhí)行的典型處理直至將該站產(chǎn)生的視頻節(jié)目傳輸?shù)矫總€家庭的簡要過程描述。首先,攝錄一體機(綜合攝象機和VTR為一體的一種設備)中采用的編碼器編碼源視頻數(shù)據(jù)并將編碼數(shù)據(jù)記錄到VTR的磁帶上。同時,攝錄一體機中采用的編碼器編碼該源視頻數(shù)據(jù)為適于VTR磁帶的記錄格式的編碼比特流。典型地,記錄在磁帶上的MPEG比特流的GOP結構是其中一個GOP是由兩幀組成的結構。GOP結構的一個示例是包含I-、B-、I-、B-、I-、B-等等類型的一系列圖像的一種結構。記錄在磁帶上的MPEG比特流的比特率是18Mbps。隨后,中央廣播站執(zhí)行編輯處理以便編輯記錄在磁帶上的視頻比特流。為此目的,將記錄在磁帶上的視頻比特流的GOP結構轉換為適于編輯處理的GOP結構。適于編輯處理的GOP結構是其中一個GOP由一幀組成的結構。更具體地說,適于編輯處理的GOP結構的圖像是所有I-圖像。這是因為,為了在幀單元中進行編輯處理,與其他圖像不相關的I-圖像最適宜。在轉換GOP結構的實際操作中,記錄在磁帶上的視頻比特流一次解碼為基帶視頻數(shù)據(jù)。然后,該基帶視頻數(shù)據(jù)被再編碼以便包含所有I-圖像。通過以這種方式執(zhí)行解碼和再編碼處理,就有可能產(chǎn)生具有適于編輯處理GOP結構的比特流。
其次,為了從中央廣播站向本地廣播站發(fā)送作為編輯處理結果而獲得的一個編輯的視頻節(jié)目,則有必要將GOP結構和編輯的視頻節(jié)目的比特流的比特率改變?yōu)檫m于傳輸?shù)腉OP結構和比特率。適于在廣播站之間傳輸?shù)腉OP結構是其中一個GOP由15幀組成的GOP結構。這種GOP結構的一個事例是包含I-、B-、B-、P-、B-、B-、P-等等類型的一系列圖像的一種結構。至于適于在廣播站之間傳輸?shù)谋忍芈?,由于通常具有諸如光纖的高傳輸容量的專用線路安裝在廣播站之間,則希望至少50Mbps的高比特率。實際上,完成編輯處理的視頻節(jié)目的比特流被一次解碼回為視頻數(shù)據(jù)。然后,該基帶視頻數(shù)據(jù)再編碼以便得到適于在上述的廣播站之間傳輸?shù)腉OP結構和比特率。
在本地廣播站,從中央廣播站接收的視頻節(jié)目通常經(jīng)歷編輯處理以便向本地廣播站坐落的街區(qū)插入特別商業(yè)廣告。很象在中央廣播站執(zhí)行的編輯處理,從中央廣播站接收的視頻節(jié)目比特流一次解碼回為基帶視頻數(shù)據(jù)。然后,該基帶視頻數(shù)據(jù)再編碼以便包含所有I-圖像。結果,有可能產(chǎn)生具有適于編輯處理的GOP結構的比特流。
隨后,為了通過電纜或衛(wèi)星向每個家庭發(fā)送在本地廣播站完成的編輯處理的視頻節(jié)目,GOP結構和比特流的比特率被分別轉換為適于傳輸?shù)矫總€家庭的GOP結構和比特率。適于傳輸?shù)矫總€家庭的GOP結構是其中一個GOP由15幀組成的一種結構。這種GOP結構的一個示例是包含I-、B-、B-、P-、B-、B-、P-等等類型的一系列圖像的一種結構。適于傳輸?shù)矫總€家庭的比特率具有如大約5Mbps一樣低的典型值。經(jīng)常完成編輯處理的視頻節(jié)目的比特流再解碼回為基帶視頻數(shù)據(jù)。隨后,該基帶視頻數(shù)據(jù)再編碼為適于傳輸?shù)矫總€家庭的GOP結構和比特率。
正如從上述中所觀察到的,從中央廣播站向每個家庭發(fā)送的視頻節(jié)目在傳輸期間多次經(jīng)歷重復的解碼和編碼處理。實際上,在廣播站執(zhí)行除上述的信號處理之外的各種信號處理并且經(jīng)常為每種信號處理執(zhí)行解碼和編碼處理。從而,需要重復執(zhí)行解碼和編碼處理。
然而,基于MPEG標準的編碼和解碼處理并不是通常所知的彼此百分之百的逆處理。更具體地,經(jīng)歷編碼處理的基帶視頻數(shù)據(jù)不完全與作為在前一代的編碼轉換中執(zhí)行的解碼處理的結果所獲得的視頻數(shù)據(jù)相同。因此,解碼和編碼處理導致圖像質(zhì)量惡化。從而,存在有每次執(zhí)行編碼和解碼處理時出現(xiàn)圖像質(zhì)量惡化的問題。換句話說,每次重復解碼和編碼處理時就累積圖像質(zhì)量惡化的效果。
發(fā)明內(nèi)容
因此本發(fā)明的一個目的是解決上述問題以便提供即使對完成基于MPEG標準的編碼處理的比特流重復執(zhí)行編碼和解碼處理以便改變該比特流的GOP結構和比特率時也不導致圖像質(zhì)量惡化的編碼轉換系統(tǒng)、視頻編碼設備、數(shù)據(jù)流處理系統(tǒng)和視頻解碼設備。此外,本發(fā)明的一個目的是提供即使重復執(zhí)行編碼和解碼處理也不導致圖像質(zhì)量惡化的編碼轉換系統(tǒng)、視頻編碼設備、數(shù)據(jù)流處理系統(tǒng)和視頻解碼設備。
為了達到以上目的,根據(jù)本發(fā)明提供的代碼轉換器,能夠在當前編碼處理中利用在先前編碼處理中產(chǎn)生和使用的編碼參數(shù)。結果,即使重復執(zhí)行解碼和編碼處理,圖像質(zhì)量也不惡化,這就是說,有可能減輕由于重復編碼處理造成的圖像質(zhì)量中的累積惡化。
根據(jù)本發(fā)明提供的代碼轉換器,在作為當前編碼處理的結果而獲得的編碼比特流的用戶數(shù)據(jù)區(qū)域中描述在先前編碼處理中產(chǎn)生和使用的編碼參數(shù)并且該編碼比特流遵循MPEG標準。因此有可能利用任何現(xiàn)存解碼器來解碼該編碼比特流。此外,不必提供用于發(fā)送在先前編碼處理中產(chǎn)生和使用的編碼參數(shù)的專用線路。結果,有可能利用現(xiàn)存的數(shù)據(jù)流傳輸環(huán)境來發(fā)送在先前編碼處理中產(chǎn)生和使用的編碼參數(shù)。
根據(jù)本發(fā)明提供的代碼轉換器,在作為當前編碼處理的結果而獲得的編碼比特流的用戶數(shù)據(jù)區(qū)域中只描述在編碼處理中產(chǎn)生和使用的所選擇的先前編碼參數(shù)。結果,有可能發(fā)送在過去執(zhí)行的編碼處理中產(chǎn)生和使用的編碼參數(shù)而不需要顯著增加輸出比特流的比特率。
根據(jù)本發(fā)明提供的代碼轉換器,只有當前編碼處理的最優(yōu)編碼參數(shù)從在先前編碼處理中產(chǎn)生和使用的編碼參數(shù)中進行選擇以便在當前編碼處理中使用。結果,即使重復執(zhí)行先前的解碼和編碼處理也決不積累圖像質(zhì)量中的惡化。
根據(jù)本發(fā)明提供的代碼轉換器,只有當前編碼處理的最優(yōu)編碼參數(shù)是根據(jù)來自先前編碼處理中產(chǎn)生和使用的先前的編碼參數(shù)圖像類型進行選擇的以便在當前編碼處理中使用。結果,即使重復執(zhí)行解碼和編碼處理也決不積累圖像中的質(zhì)量惡化。
根據(jù)本發(fā)明提供的代碼轉換器,有關是否再利用先前編碼處理中產(chǎn)生和使用的先前編碼參數(shù)的決定是根據(jù)包括在先前編碼參數(shù)中的圖像類型做出的。從而,可以執(zhí)行最優(yōu)編碼處理。
為了更完整地理解本發(fā)明,將參照以下說明和附圖,其中圖1是用于描述高效編碼處理原理所使用的說明圖;圖2是表示在圖像數(shù)據(jù)壓縮中使用的圖像類型的說明圖;圖3是表示在圖像數(shù)據(jù)壓縮中使用的圖像類型的說明圖;圖4是用于描述編碼運動圖像視頻信號的處理原理所使用的說明圖;圖5是表示用于編碼和解碼運動圖像視頻信號的設備配置方框圖;圖6A至6C是描述格式轉換所用的說明圖;圖7是表示圖5所示的設備中采用的編碼器18的配置方框圖;圖8是用于描述在圖7所示的編碼器18中采用的預測模式轉換電路52的操作所用的說明圖;圖9是用于描述在圖7所示的編碼器18中采用的預測模式轉換電路52的操作所用的說明圖;圖10是用于描述在圖7所示的編碼器18中采用的預測模式轉換電路52的操作所用的說明圖;圖11是用于描述在圖7所示的編碼器18中采用的預測模式轉換電路52的操作所用的說明圖;圖12是表示在圖5所示的設備中采用的解碼器配置方框圖;圖13是用于描述基于圖像類型的SNR控制的說明圖;圖14是表示由本發(fā)明提供的代碼轉換器101的配置方框圖;圖15是表示圖14所示的代碼轉換器101的更詳細配置的方框圖;圖16是表示在圖14所示的代碼轉換器101的解碼設備102中采用的解碼器111的配置方框圖;圖17是表示宏塊像素的說明圖;圖18是表示記錄編碼參數(shù)的區(qū)域的說明圖;圖19是表示在圖14所示的代碼轉換器101的解碼設備106中采用的解碼器121的配置方框圖;圖20是表示在圖15所示的代碼轉換器101中采用的歷史格式化器211的典型配置方框圖;圖21是表示在圖15所示的代碼轉換器101中采用的歷史解碼器203的典型配置方框圖;圖22是表示在圖15所示的代碼轉換器101中采用的轉換器212的典型配置方框圖;圖23是表示在圖22所示的轉換器212中采用的填充電路323的典型配置方框圖;圖24A到I是用于解釋圖22所示的轉換器212的操作的定時圖;圖25是表示在圖15所示的代碼轉換器101中采用的轉換器202的典型配置方框圖;圖26是表示圖25所示的轉換器202中采用的刪除電路343的典型配置方框圖;圖27是表示在圖15所示的代碼轉換器101中采用的轉換器212的另一個典型配置方框圖;圖28是表示在圖15所示的代碼轉換器101中采用的轉換器202的另一個典型配置方框圖;圖29是表示在圖15所示的代碼轉換器101中采用的用戶數(shù)據(jù)格式化器213的典型配置方框圖;圖30是表示采用均在圖14所示的多個代碼轉換器101的實際系統(tǒng)配置方框圖;圖31是表示用于記錄編碼參數(shù)的區(qū)域圖;圖32是用于解釋圖14所示的代碼轉換器101中采用的編碼設備106執(zhí)行的處理的流程圖,以確定可改變的圖像類型;圖33是表示改變圖像類型的一個示例圖;圖34是表示改變圖像類型的另一個示例圖;
圖35是用于描述由圖14所示的代碼轉換器101中采用的編碼設備106執(zhí)行的量化控制處理說明圖;圖36是用于解釋由圖14所示的代碼轉換器101中采用的編碼設備106執(zhí)行的量化控制處理流程圖;圖37是表示緊密耦合的代碼轉換器101的配置方框圖;圖38是用于描述MPEG數(shù)據(jù)流的語法說明圖;圖39是用于描述圖38所示的語法配置說明圖;圖40是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖41是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖42是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖43是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖44是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖45是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖46是用于描述以固定長度記錄歷史信息的history_stream()的語法說明圖;圖47是用于描述以可變長度記錄歷史信息的history_stream()的語法說明圖;圖48是用于描述sequence_header()的語法說明圖;圖49是用于描述sequence_extension()的語法說明圖;圖50是用于描述extension_and_user_data()的語法說明圖;圖51是用于描述user_data()的語法說明圖;圖52是用于描述group_of_picture_header()的語法說明圖;圖53是用于描述picture_header()的語法說明圖;圖54是用于描述coding_()的語法說明圖;圖55是用于描述extension_data()的語法說明圖;
圖56是用于描述quant_matrix_extension()的語法說明圖;圖57是用于描述copyright_extension()的語法說明圖;圖58是用于描述picture_display_extension()的語法說明圖;圖59是用于描述picture_data()的語法說明圖;圖60是用于描述slice()語法的說明圖;圖61是用于描述macroblock()語法的說明圖;圖62是用于描述macroblock_mode()的語法說明圖;圖63是用于描述motion_vector(s)的語法說明圖;圖64是用于描述motion_vector(r,s)的語法說明圖;圖65是用于描述用于I圖像的宏塊類型的可變長度代碼的說明圖;圖66是用于描述用于P圖像的宏塊類型的可變長度代碼的說明圖;圖67是用于描述用于B圖像的宏塊類型的可變長度代碼的說明圖;具體實施方式
在描述本發(fā)明提供的代碼轉換器之前,解釋一下壓縮和編碼運動圖像視頻信號的處理。應注意此說明書中使用的技術術語‘系統(tǒng)’是指包含多個設備和方式的整個系統(tǒng)。
如上所述,在發(fā)送運動圖像視頻信號到諸如電視會議系統(tǒng)和電視電話系統(tǒng)的遠程目標的系統(tǒng)中,視頻信號利用該視頻信號的行相關和幀內(nèi)相關進行壓縮和編碼處理以便允許高度有效地利用傳輸線路。通過利用行相關,經(jīng)過執(zhí)行典型的DCT(離散余弦變換)處理就能壓縮視頻信號。
通過利用幀內(nèi)相關,能進一步壓縮和編碼視頻信號。假定幀圖像PC1、PC2和PC3分別在圖1所示的時刻t1、t2和t3上產(chǎn)生。在這種情況中,計算幀圖像PC1和PC2之間的圖像信號內(nèi)的差別以便產(chǎn)生幀圖像PC12。同樣,計算幀圖像PC2和PC3之間的圖像信號內(nèi)的差別以便產(chǎn)生幀圖像PC23。通常,沿時間軸彼此相鄰的幀圖像之間的圖像信號內(nèi)的差別很小。因此,包含在幀圖像PC21和PC23中的信息量也少并且包括在作為編碼這種差別的結果所獲得的差別信號內(nèi)的代碼量也少。
然而,通過僅發(fā)送差別信號就不能恢復原始圖像。為了獲得原始圖像,把幀圖像分為三種類型,即在視頻信號的壓縮和編碼處理中均用做最小處理單位的I-、P-和B-圖像。
假定圖2的GOP(圖像組)包含十七幀,即均作為處理視頻信號的最小單位處理的幀F(xiàn)1到F17。更具體地,第一幀F(xiàn)1、第二幀F(xiàn)2和第三幀F(xiàn)3分別作為I-、B-和P-圖像進行處理。后面的幀,即第四到第十七幀,交替作為B-和P-進行處理。
在I-圖像情況中,發(fā)送整個幀的一個視頻信號。相反,在P-圖像或B-圖像的情況中,只發(fā)送視頻信號內(nèi)的差作為代替整個幀的視頻信號。更具體地,在圖2所示的P-圖像的第三幀F(xiàn)3的情況中,只發(fā)送在P-圖像和長期領先的I-和P-圖像之間的視頻信號內(nèi)的差作為視頻信號。在圖3所示的B-圖像的第二幀F(xiàn)2的情況中,例如,只發(fā)送在B-圖像和長期領先的幀、連續(xù)幀或領先和長期連續(xù)幀的平均值之間的視頻信號內(nèi)的差作為視頻信號。
圖4是表示根據(jù)以上所述來編碼運動圖像視頻信號的技術原理圖。如圖4所示第一幀F(xiàn)1作為I-圖像進行處理。因此,整個幀F(xiàn)1的視頻信號作為數(shù)據(jù)F1X(內(nèi)部圖像編碼)發(fā)送到傳輸線路。另一方面,第二幀F(xiàn)2作為B-圖像進行處理。在這種情況中,發(fā)送第二幀F(xiàn)2和長期領先幀F(xiàn)1、連續(xù)幀F(xiàn)3或領先幀F(xiàn)1與連續(xù)幀F(xiàn)3的平均值之間的差作為數(shù)據(jù)F2X。
更詳細說明,B-圖像的處理可以分為四種類型。在第一類型處理中,發(fā)送由圖4的符號SP1表示的原始幀F(xiàn)2的數(shù)據(jù)作為與I-圖像相同情況的數(shù)據(jù)F2X。因此,第一類型的處理就是所說的內(nèi)部圖像編碼。在第二類型的處理中,發(fā)送在第二幀中F2和長期連續(xù)的第三幀F(xiàn)3之間由符號SP2表示的差作為數(shù)據(jù)F2X。由于該連續(xù)幀是作為基準或預測圖像取出的,則這個處理被稱為后向預測編碼。在第三類型的處理中,發(fā)送在第二幀F(xiàn)2和領先幀F(xiàn)1之間的由符號SP3表示的差作為具有P-圖像情況的數(shù)據(jù)F2X。由于領先幀是作為預測圖像取出的,則這個處理被稱為前向預測編碼。在第四類型的處理中,發(fā)送在第二幀F(xiàn)2和連續(xù)第三幀F(xiàn)3與領先第一幀F(xiàn)1的平均值之間的由符號SP4表示的差作為F2X。由于該領先和連續(xù)幀是作為預測圖像取出的,則這個處理被稱為前向和后向預測編碼。實際上,選擇上述四種處理類型之一以便產(chǎn)生作為處理結果所獲得的傳輸數(shù)據(jù)的最小量。
應注意,在上述的第二、第三或第四類型的處理結果獲得的差的情況下,也與該差一起發(fā)送在計算該差中使用的幀圖像(預測圖像)之間的一個運動矢量。更具體地,在前向預測編碼的情況中,運動矢量是幀F(xiàn)1和幀F(xiàn)2之間的一個矢量X1。在后向預測編碼的情況中,運動矢量是幀F(xiàn)2和幀F(xiàn)3之間的一個矢量X2。在前向和后向預測編碼的情況中,發(fā)送運動矢量X1和運動矢量X2二者。
與上述B-圖像非常相似,在P-圖像的幀F(xiàn)3的情況下,選擇前向預測編碼或內(nèi)部圖像處理以便產(chǎn)生作為處理結果得到的發(fā)送數(shù)據(jù)的最小量。如果選擇前向預測編碼,那么連同運動矢量X3一起發(fā)送由第三幀F(xiàn)3和領先第一幀F(xiàn)1之間的符號SP3表示的差作為數(shù)據(jù)F3X。另一方面,如果選擇內(nèi)部圖像處理,那么就發(fā)送由符號SP1表示的原始幀F(xiàn)3的數(shù)據(jù)F3X。
圖5是表示基于上述原理來編碼運動圖像視頻信號以及發(fā)送和解碼該編碼信號的一個系統(tǒng)的典型配置方框圖。信號編碼設備1將輸入視頻信號編碼并通過用做傳輸線路的記錄介質(zhì)3發(fā)送此編碼的視頻信號到信號解碼設備2。信號解碼設備2重放記錄在記錄介質(zhì)3上的編碼信號并將此重放信號解碼為輸出信號。
在信號編碼設備1中,把輸入視頻信號送到將其分離為亮度和色度信號的預處理電路11。在此實施例的情況中,色度信號是個色差信號。模擬亮度信號和色差信號然后分別送入A/D轉換器12和13以便均轉換為數(shù)字視頻信號。從A/D轉換中得到的數(shù)字視頻信號隨后送入幀存儲器單元14以便在那里存儲。幀存儲器單元14包含用于存儲亮度信號的亮度信號幀存儲器15和用于存儲色差信號的色差信號幀存儲器16。
格式轉換電路17將存儲在幀存儲器單元14中的幀格式信號轉換為圖6A至6C所示的塊格式信號。詳細地說,視頻信號存儲在幀存儲器單元14中作為圖6A所示的幀格式數(shù)據(jù)。如圖6A所示,此幀格式是均包含H個點的V行集合。格式轉換電路17將一幀信號劃分為均包含圖6B所示的16行的N個片。每片則劃分為如圖6B所示的M片宏塊。如圖6C所示,一個宏塊包括相應于16*16像素(點)的亮度信號Y。此亮度信號Y進一步劃分為均包含8*8點的Y[1]至Y[4]。此16*16-點亮度信號與8*8-點Cb信號和8*8-點Cr信號有關。
具有由上述格式轉換電路17執(zhí)行的格式轉換結果所得的塊格式的數(shù)據(jù)送到用于編碼此數(shù)據(jù)的編碼器18。后面將參考圖7詳細描述編碼器18的配置。
由編碼器18執(zhí)行編碼的結果所得的信號作為比特流輸出到傳輸線路。典型地,此編碼信號作為數(shù)字信號送到用于在用做傳輸線路的記錄介質(zhì)3上記錄編碼信號的記錄電路19中。
在信號解碼設備2中使用的重放電路30重放來自記錄介質(zhì)3的數(shù)據(jù),從而將數(shù)據(jù)送到解碼設備的解碼器31以便解碼此數(shù)據(jù)。后面將參考圖12詳細描述解碼器31的配置。
由解碼器31執(zhí)行的解碼結果所獲得的數(shù)據(jù)饋送到格式轉換電路32以便將數(shù)據(jù)塊格式轉換回為幀格式。隨后,具有幀格式的亮度信號饋送到幀存儲單元33的亮度信號幀存儲器34以便在那里存儲。另一方面,具有幀格式的色差信號饋送到幀存儲器單元33的色差信號幀存儲器35中以便在那里存儲。亮度信號從亮度信號幀存儲器34中讀出并送到D/A轉換器36。另一方面,色差信號從色差信號幀存儲器35中讀出并送到D/A轉換器37。D/A轉換器36和37將這些信號轉換為模擬信號,然后將這些模擬信號送到后處理電路38以便合成亮度和色差信號并產(chǎn)生一個合成的輸出。
下一步,參考圖7描述解碼器18的配置。要編碼的圖像數(shù)據(jù)送到宏塊單元中的運動矢量檢測器電路50。運動矢量檢測電路50根據(jù)事先設定的預定序列處理每幀的圖像數(shù)據(jù)作為I-、P-或B-圖像。更具體地,通常包含圖2和圖3所示的幀F(xiàn)1到F17的GOP的圖像數(shù)據(jù)被處理為I-、B-、P-、B-、P-、---、B-和P-圖像的一個序列。
將由運動矢量檢測電路50處理為諸如圖3所示的幀F(xiàn)1的I-圖像的一幀圖像數(shù)據(jù)饋送到幀存儲器單元51的前向資源圖像區(qū)域51a以便在那里存儲。要由運動矢量檢測電路50處理為諸如幀F(xiàn)2的P-圖像的一幀圖像數(shù)據(jù)饋送到幀存儲器單元51的參考資源圖像區(qū)域51b以便在那里存儲。要由運動矢量檢測電路50處理為諸如幀F(xiàn)3的P-圖像的一幀圖像數(shù)據(jù)饋送到幀存儲器單元51的后向資源圖像區(qū)域51c以便在那里存儲。
當諸如幀F(xiàn)4或F5的下兩幀的圖像數(shù)據(jù)相繼送到運動矢量檢測電路50以便分別被處理為B-和P-圖像時,區(qū)域51a、51b和51C按如下更新。當幀F(xiàn)4的圖像數(shù)據(jù)由運動矢量檢測電路50處理時,存儲在后向資源圖像區(qū)域51c中的幀F(xiàn)3的圖像數(shù)據(jù)就傳送到前向資源圖像區(qū)域51a,從而重寫早先存儲在資源圖像區(qū)域51b的幀F(xiàn)1的圖像數(shù)據(jù)。所處理的幀F(xiàn)4的圖像數(shù)據(jù)存儲在參考資源圖像區(qū)域51b中,從而重寫早先存儲在資源圖像區(qū)域51b的幀F(xiàn)2上的圖像數(shù)據(jù)。然后,所處理的F5的圖像數(shù)據(jù)存儲在后向資源圖像區(qū)域51c中,從而重寫已經(jīng)以任何方式傳送到前向資源圖像區(qū)域51a的幀F(xiàn)3的圖像數(shù)據(jù)。重復上述操作以便處理后來的GOP的幀。
存儲在幀存儲器單元51中的每個圖像的信號由預測模式切換電路52讀出以便經(jīng)受用于幀預測模式或場預測模式的準備操作,也就是,將由處理單元53執(zhí)行的處理類型。
接著,或者在幀預測模式或者場預測模式,這些信號進行計算以便獲得內(nèi)部圖像預測編碼,諸如在內(nèi)部圖像處理/前向/后向前向和后向預測確定電路54執(zhí)行控制下的前向、后向和前向和后向預測。在處理單元中執(zhí)行的處理類型是根據(jù)表示在參考圖像和此參考圖像的預測圖像之間的差的預測差錯信號來確定的。參考的圖像是經(jīng)歷此處理的一個圖像而預測圖像是領先和連續(xù)此參考圖像的一個圖像。由于這個原因,運動矢量檢測電路50(嚴格地說,是在后面將要描述的矢量檢測電路50中采用的預測模式切換電路52)產(chǎn)生在確定由處理單元53執(zhí)行的處理類型中使用的預測差錯信號的絕對值之和。代替此預測差錯信號的絕對值之和,也可以利用預測差錯信號的平方和進行這種確定。
預測模式切換電路52以幀預測模式和場預測模式執(zhí)行用于由處理單元53執(zhí)行的處理的以下準備操作。
預測模式切換電路52接收由運動矢量檢測電路50饋送到那兒的四個亮度塊[Y1]到[Y4]。在每塊中,奇數(shù)場的行數(shù)據(jù)與圖8所示的偶數(shù)場的行數(shù)據(jù)混合。此數(shù)據(jù)可以按常規(guī)傳給處理單元53。要由處理單元53執(zhí)行的具有圖8所示配置的數(shù)據(jù)處理被稱為以幀預測模式的處理,其中對包含四個亮度塊的每個宏塊執(zhí)行預測處理并且運動矢量對應于四個亮度塊。
預測模式切換電路52然后再配置由運動矢量檢測電路50提供的信號。代替具有圖8所示配置的信號,具有圖9所示配置的信號可以傳送到處理單元53。如圖9所示,兩個亮度塊[Y1]和[Y2]均由通常只是奇數(shù)場的行的點構成而其他兩個亮度塊[Y3]和[Y4]均由典型地只是偶數(shù)場的行的點構成。具有由處理單元53執(zhí)行的圖9所配置的數(shù)據(jù)處理被稱為以場預測模式的處理,其中一個運動矢量對應于兩個亮度塊[Y1]和[Y2]而另外的運動矢量對應于其他兩個亮度塊[Y3]和[Y4]。
預測模式切換電路52選擇具有圖8或圖9所示配置的數(shù)據(jù)以便按如下所述饋送到處理單元53。預測模式切換電路52計算對于幀預測模式即,對于由具有圖8所示配置的運動矢量檢測電路50所提供的數(shù)據(jù)所計算的預測差錯絕對值之和,以及對于場預測模式,即對于具有作為具有圖8所示配置的數(shù)據(jù)轉變的結果所獲得的圖9所示配置的數(shù)據(jù)所計算的預測差錯絕對值之和。應注意,后面將詳細描述預測差錯。預測模式切換電路52于是比較對數(shù)據(jù)所計算的預測差錯絕對值之和以便確定哪種模式產(chǎn)生最小和。然后,預測模式切換電路52選擇用于分別產(chǎn)生最小和的幀預測模式或場預測模式的圖8或圖9所示配置之一。預測模式切換電路52最后輸出具有所選配置的數(shù)據(jù)到處理單元53以便按對應于所選配置的模式處理此數(shù)據(jù)。
應注意,實際上,預測模式切換電路52是包括在運動矢量檢測電路50之內(nèi)的。也就是說,具有圖9所示配置的數(shù)據(jù)準備、絕對值的計算、絕對值的比較、數(shù)據(jù)配置的選擇以及輸出具有選擇配置的數(shù)據(jù)到處理單元53的操作全部是由運動矢量檢測電路50來執(zhí)行,而預測模式切換電路52僅僅輸出運動矢量檢測電路50提供的信號到處理單元53的后一級。
應注意,在幀預測模式中,色差信號和與圖8所示的偶數(shù)場行數(shù)據(jù)混合的奇數(shù)場行數(shù)據(jù)送到處理單元53。另一方面,在圖9所示的場預測模式中,色差塊Cb的四個上半行被用做對應于亮度塊[Y1]和[Y2]的奇數(shù)場的色差信號,同時色差塊Cb的四個下半行被用做對應于亮度塊[Y3]和[Y4]的偶數(shù)場的色差信號。同樣,色差塊Cr的四個上半行被用做對應于亮度塊[Y1]和[Y2]的奇數(shù)場的色差信號,同時色差塊Cr的四個下半行被用做對應于亮度塊[Y3]和[Y4]的偶數(shù)場的色差信號。
如上所述,運動矢量檢測電路50輸出預測差錯絕對值之和到預測確定電路54以便用于確定處理單元53是否應當執(zhí)行內(nèi)部圖像預測、前向預測、后向預測、前向和后向預測。
為詳細說明,按如下求出內(nèi)部圖像預測中的預測差錯絕對值之和。對于內(nèi)部圖像預測,運動矢量檢測電路50計算在參考圖像的宏塊信號Aij的和∑Aij的絕對值|∑Aij|和同一參考圖像的宏塊信號Aij的絕對值|Aij|的和∑|Aij|之間的差。對于前向預測,預測差錯絕對值之和是在參考圖像的宏塊信號Aij和后向預測圖像或領先圖像的宏塊信號Bij之間的差(Aij-Bij)的絕對值|Aij-Bij|之和∑|Aij-Bij|。除后向預測中使用的預測圖像是后向預測圖像或連續(xù)圖像之外,以與前向預測相同的方式求出后向預測的預測差錯絕對值之和。至于前向和后向預測,在求和運算時使用前向預測圖像和后向預測圖像二者的宏塊信號Bij的平均。
每種預測技術的差錯預測的絕對值之和送到預測確定電路54,此電路選擇具有作為內(nèi)部圖像預測的預測差錯的絕對值之和的最小和的前向預測、后向預測或向前和后向預測。預測確定電路54進一步比較最小和與內(nèi)部圖像預測之和并選擇或者內(nèi)部圖像預測或者具有比處理單元53執(zhí)行的處理的預測模式更小和的內(nèi)部圖像預測。更具體地,如果發(fā)現(xiàn)內(nèi)部圖像預測之和比內(nèi)部圖像預測的最小和更小,那么預測確定電路54就選擇內(nèi)部圖像預測作為將由處理單元53執(zhí)行的處理類型。另一方面,如果求出內(nèi)部圖像預測之最小和比內(nèi)部圖像預測的和更小,那么預測確定電路54就選擇內(nèi)部圖像預測作為將由處理單元53執(zhí)行的處理類型。如上所述,內(nèi)部圖像預測代表作為具有最小和的處理的預測模式所選擇的前向預測、后向預測或前向和后向預測。為每個圖像(或幀)確定預測模式同時為每個圖像組確定幀預測或場預測。
如上所述,運動矢量檢測電路50利用預測模式切換電路52輸出用于預測模式切換電路52所選幀預測模式或場預測模式的參考圖像的宏塊信號到處理單元53。同時,運動矢量檢測電路50還檢測在參考圖像和用于由預測確定電路54所選的四個預測模式之一的預測圖像之間的一個運動矢量。運動矢量檢測電路50然后將此運動矢量輸出到可變長度編碼電路58和運動補償電路64。以這種方式,運動矢量檢測電路50輸出對應于如前述所選的預測模式的預測差錯的絕對值最小和的一個運動矢量。
當運動矢量檢測電路50從前向資源圖像區(qū)域51a中讀出I-圖像的圖像數(shù)據(jù)、GOP的第一幀時,預測確定電路54設定內(nèi)部圖像預測,嚴格地說,是內(nèi)部幀或內(nèi)部場預測作為預測模式,從而設定在連接點a上的處理單元53中采用的開關53d。利用此位置上設定的開關53d,I-圖像數(shù)據(jù)送到DCT模式切換電路55。如后面將要解釋的,內(nèi)部圖像預測模式是其中不執(zhí)行運動補償?shù)囊粋€模式。
DCT模式切換電路55以混合狀態(tài)或圖10所示的幀DCT模式接收通過開關53d從預測模式切換電路52傳送到這兒的數(shù)據(jù)。DCT模式切換電路55然后將此數(shù)據(jù)轉換為分離的狀態(tài)或圖11所示的場DCT模式。在幀DCT模式中,在每四個亮度塊中混合奇數(shù)和偶數(shù)場的行的數(shù)據(jù)。另一方面,在場DCT模式中,奇數(shù)場的行放入四個亮度塊的兩個內(nèi)而偶數(shù)場行放入其他兩個塊中。以混合或分離狀態(tài)將I-圖像的數(shù)據(jù)送到DCT電路56。
在饋送此數(shù)據(jù)到DCT電路56之前,DCT模式切換電路55比較具有彼此混合的奇數(shù)和偶數(shù)場的行的數(shù)據(jù)的DCT處理的編碼效率與具有彼此分離的奇數(shù)和偶數(shù)場的行的數(shù)據(jù)的DCT處理的編碼效率以便選擇具有更高效率的數(shù)據(jù)。對應于所選數(shù)據(jù)的幀DCT模式或場DCT模式被確定為DCT模式。
編碼效率按如下彼此進行比較。在具有如圖10所示的彼此混合的奇數(shù)和偶數(shù)場的行的數(shù)據(jù)的情況中,計算偶數(shù)場的行的信號與垂直相鄰與此偶數(shù)場的奇數(shù)場的行信號之間的差。然后,求出此差的絕對值平方或絕對值和。最后,計算在兩個相鄰的偶數(shù)和奇數(shù)場之間的差的絕對值之和或平方。
在具有圖11所示的彼此分離的奇數(shù)和偶數(shù)場的行的數(shù)據(jù)的情況中,計算垂直相鄰的偶數(shù)場的行之間的信號差和垂直相鄰的奇數(shù)場的行之間的信號差。然后,求出每個差的絕對值平方或絕對值和。最后,計算在兩個相鄰偶數(shù)場和兩個相鄰奇數(shù)場之間的所有差的絕對值之和或平方。
對圖10所示數(shù)據(jù)所計算的和與對圖11所示數(shù)據(jù)所計算的和進行比較以便選擇DCT模式。更具體地,如果發(fā)現(xiàn)前者小于后者,那么選擇幀DCT模式。另一方面,如果發(fā)現(xiàn)后者小于前者,那么選擇場DCT模式。
最后,具有對應于所選DCT模式配置的數(shù)據(jù)送到DCT電路56,同時,用于表示所選DCT模式的一個DCT標志送到可變長度編碼電路58和運動補償電路64。
由預測模式切換電路52確定的圖8和圖9的幀預測和場預測模式與由DCT模式切換電路55確定的圖10和圖11的DCT模式之間的比較清楚地表明就亮度塊而言,幀預測和場預測模式的數(shù)據(jù)結構大體上分別與幀DCT模式和場DCT模式的數(shù)據(jù)結構相同。
如果預測模式切換電路52選擇其中奇數(shù)偶數(shù)行彼此混合的幀預測模式,那么DCT模式切換電路55也選擇具有奇數(shù)偶數(shù)行混合的DCT預測模式就完全在可能性的界線之內(nèi)。如果預測模式切換電路52選擇其中奇數(shù)偶數(shù)行彼此分離的場預測模式,那么DCT模式切換電路55也選擇具有奇數(shù)偶數(shù)行分離的場DCT模式就完全在可能性的界線之內(nèi)。
但是,應注意,所選的DCT模式不總是對應于所選的預測模式。在任何條件下,預測模式切換電路52選擇幀預測或提供預測差錯絕對值最小和的場預測模式并且DCT模式切換電路55選擇給出最佳編碼效率的DCT模式。
如上所述,I-圖像數(shù)據(jù)由DCT模式切換電路55輸出到DCT電路56。DCT電路56于是對隨后提供到量化電路57的轉換為DCT系數(shù)的數(shù)據(jù)進行處理。量化電路57然后以調(diào)整到存儲在傳輸緩沖器59的數(shù)據(jù)量的量化標度進行量化處理,所說的量化標度反饋給量化電路57,這在后面將描述。完成量化處理的I圖像數(shù)據(jù)然后送到可變長度編碼電路58。
可變長度編碼電路58接收從量化電路57提供的I圖像數(shù)據(jù),以便以還由量化電路57提供到那兒的量化標度轉換此圖像數(shù)據(jù)為可變長度代碼諸如Huffman代碼。此可變長度代碼然后存儲在傳輸緩沖器59中。
除了量化電路57提供的圖像數(shù)據(jù)和量化標度外,可變長度編碼電路58還接收來自預測確定電路54的預測模式信息、來自運動矢量檢測電路50的運動矢量信息、來自預測模式切換電路52的預測標志和來自DCT切換電路55的DCT標志。預測模式中的信息表示在內(nèi)部圖像編碼、前向預測編碼、后向預測編碼或前向和后向預測編碼中的哪個處理類型由處理單元執(zhí)行。預測標志表示從預測模式切換電路52提供到處理單元53的數(shù)據(jù)是在幀預測模式還是在場預測模式。DCT標志表示從DCT模式切換電路55提供到DCT電路56的數(shù)據(jù)是以幀DCT還是以場DCT模式設定。
傳輸緩沖器59暫存輸入數(shù)據(jù),從而將存儲在那兒的數(shù)據(jù)量反饋到量化電路57。當存儲在傳輸緩沖器59中的數(shù)據(jù)量超出允許范圍的上限時,量化控制信號就遞增量化電路57的量化標度以便減小量化結果所得的數(shù)據(jù)量。另一方面,當存儲在傳輸緩沖器的數(shù)據(jù)量變得小于允許范圍的下限時,量化控制信號就遞減量化電路57的量化標度以便提高量化結果所得的數(shù)據(jù)量。以這種方式,在傳輸緩沖器59中能夠防止溢出和下溢。
隨后,存儲在傳輸緩沖器59中的數(shù)據(jù)在預定定時被反饋以便送到記錄電路19從而將數(shù)據(jù)記錄到用做傳輸線路的記錄介質(zhì)3上。
I圖像數(shù)據(jù)和量化電路57輸出的量化標度也送到反向量化電路60以便以對應于此量化標度的反量化標度對數(shù)據(jù)進行反向量化。由反向量化電路60輸出的數(shù)據(jù)然后饋送到IDCT(反向離散余弦變換)電路61以便執(zhí)行反向離散余弦變換。最后,由IDCT電路61輸出的數(shù)據(jù)利用處理器62送到幀存儲器單元63以便存儲在此幀存儲器單元63的前向預測圖像區(qū)域63a中。
提供到運動矢量檢測電路50以便在此處理的GOP包含一系列I-、B-、P-、B-、P-、B-等圖像。在這種情況中,處理第一幀數(shù)據(jù)為上述的I-圖像之后,在處理作為B-圖像的第二幀數(shù)據(jù)之前處理第三幀數(shù)據(jù)為P-圖像。這是因為B-圖像可以進行后向預測,后向預測涉及連續(xù)P-圖像并且除非事先已經(jīng)執(zhí)行連續(xù)P-圖像之外,不能執(zhí)行后向預測。應注意,P-圖像數(shù)據(jù)以GOP的預測模式切換電路52設定的幀預測或場預測模式的格式從預測模式切換電路52傳送到處理單元53并總是在前述的內(nèi)部幀預測模式中由處理單元53進行處理。
由于上述原因,處理作為I-圖像的第一幀之后,運動矢量檢測電路50開始處理存儲在后向資源圖像區(qū)域51C中的P-圖像。然后,預測模式切換電路52利用看作用于每個預測模式單元的宏塊計算在由運動矢量檢測電路50提供到那兒的幀或I圖像數(shù)據(jù)的預測差錯之間的差的絕對值之和并將此和送到如上所述的預測確定電路54。當輸入GOP的第一幀I-圖像時,I-圖像本身的數(shù)據(jù)以幀預測或曾由用于P-圖像的GOP的預測模式切換電路52設定的場預測模式傳送到處理單元53中。另一方面,預測確定電路54確定其中由處理單元53處理P-圖像的數(shù)據(jù)的預測模式,即,根據(jù)由用于每個預測模式的預測模式切換電路52計算的預測差錯絕對值之和,選擇作為將由處理單元53執(zhí)行的處理類型的或者內(nèi)部圖像、前向、后向或者前向和后向預測。嚴格地講,在P-圖像的情況中,處理類型可以是內(nèi)部圖像或如上所述的前向預測模式。
在第一個場所,在內(nèi)部圖像預測模式中,處理單元53在接觸點A設定開關。因此,P-圖像數(shù)據(jù)利用DCT模式切換電路55、DCT電路56、量化電路57、可變長度編碼電路58和傳輸緩沖器59(對于I圖像的情況)傳送到傳輸線。P-圖像數(shù)據(jù)利用量化電路57、反量化電路60、IDCT電路61和處理器62也送到幀存儲器單元63以便存儲在它的后向預測圖像區(qū)域63b中。
在第二個地方,在前向預測模式中,處理單元53在接觸點b設定開關53d并且運動補償電路64讀出來自幀存儲器單元63的前向預測圖像區(qū)域63a的數(shù)據(jù),從而根據(jù)由運動矢量檢測電路50提供到運動補償電路64的運動矢量對數(shù)據(jù)執(zhí)行運動補償。在這種情況中,存儲在前向預測圖像區(qū)域63a的數(shù)據(jù)是I圖像數(shù)據(jù)。這就是說,由預測確定電路54形成前向預測圖像,運動補償電路64通過從前向預測圖像區(qū)域63a的讀地址中讀出I圖像數(shù)據(jù)來產(chǎn)生前向預測圖像數(shù)據(jù)的數(shù)據(jù)。讀地址是從運動矢量檢測電路50當前輸出的宏塊位置移位相應于此運動矢量的一個距離的位置。
由運動補償電路64讀出的前向預測數(shù)據(jù)與參考圖像即P-圖像數(shù)據(jù)有關,并送到處理單元53中使用的處理器53a中。處理器53a從由預測模式切換電路52提供的參考圖像的宏塊數(shù)據(jù)中減去由運動補償電路64提供的前向預測圖像即I-圖像的數(shù)據(jù)以便求出預測中的差或差錯。差數(shù)據(jù)利用DCT切換電路55、DCT電路56、量化電路57、可變長度編碼電路58和傳輸緩沖器59傳送到傳輸線。差數(shù)據(jù)也由反向量化電路60和IDCT電路61進行本地解碼并且從本地解碼得到的結果饋送到處理器62。
由運動補償電路64提供到處理器53a的前向預測圖像數(shù)據(jù)也送到處理器62中。在處理器62中,前向預測圖像的數(shù)據(jù)加到由IDCT電路61輸出的差數(shù)據(jù)以便產(chǎn)生原始P-圖像數(shù)據(jù)。原始P-圖像的數(shù)據(jù)然后存儲到幀存儲器單元63的后向預測圖像區(qū)域63b。
I圖像和P-圖像的數(shù)據(jù)段分別存儲在如前所述的前向預測圖像區(qū)域63a和后向預測圖像區(qū)域63b之后,由運動矢量檢測電路50開始B-圖像的第二幀的處理。B-圖像由預測模式切換電路52以與前述的P-圖像相同的方式進行處理,除了在B-圖像的情況中,由預測確定電路54確定的處理類型可以是除內(nèi)部圖像預測模式或前向預測模式之外的后向預測模式或前向和后向預測模式。
在內(nèi)部圖像預測模式或前向預測模式的情況中,如前述的P-圖像情況一樣,在接觸點a和b上設定開關53d。在這種情況中,以上述P-圖像相同的方式處理和傳送由預測模式切換電路52輸出的B-圖像數(shù)據(jù)。
另一方面,后向預測模式或前向和后向預測模式的情況下,分別在接觸點c和d設定開關53d。
在其中在接觸點c設定開關53d的后向預測模式中,運動補償電路64從幀存儲單元63的后向預測圖像區(qū)域63b中讀出數(shù)據(jù),以便根據(jù)由運動矢量檢測電路50提供到運動補償電路64的運動矢量對數(shù)據(jù)進行運動補償。在這種情況中,存儲在后向預測圖像區(qū)域63b中的數(shù)據(jù)是P-圖像數(shù)據(jù)。這就是說,由于由預測確定電路54通知形成后向預測模式,則運動補償電路64通過從后向預測圖像區(qū)域63b中的讀地址讀出P-圖像數(shù)據(jù)來產(chǎn)生后向預測圖像數(shù)據(jù)。讀地址是從運動矢量檢測電路50當前輸出的宏塊位置移位相應于此運動矢量的一個距離的位置。
由運動補償電路64讀出的后向預測數(shù)據(jù)與參考圖像即B-圖像數(shù)據(jù)有關,并送到處理單元53中使用的處理器53b中。處理器53b從由預測模式切換電路52提供的參考圖像的宏塊數(shù)據(jù)中減去由運動補償電路64提供的后向預測圖像即P-圖像的數(shù)據(jù)以便求出預測中的差或差錯。差數(shù)據(jù)利用DCT切換電路55、DCT電路56、量化電路57、可變長度編碼電路58和傳輸緩沖器59傳送到傳輸線。
另一方面,在其中在接觸點d設定開關53d的前向和后向預測模式中,在這種情況中,運動補償電路64從幀存儲單元63的前向預測圖像區(qū)域63a中讀出I-圖像數(shù)據(jù)和從后向預測圖像區(qū)域63b中讀出P-圖像數(shù)據(jù),以便根據(jù)由運動矢量檢測電路50提供到運動補償電路64的運動矢量對數(shù)據(jù)進行運動補償。
這就是說,由于由預測確定電路54通知后向預測模式,則運動補償電路64通過分別從前向預測圖像區(qū)域63a和后向預測圖像區(qū)域63b中的讀地址讀出I-和P-圖像數(shù)據(jù)來產(chǎn)生前向和后向預測圖像數(shù)據(jù)。讀地址是從運動矢量檢測電路50當前輸出的宏塊位置移位相應于此運動矢量的一個距離的位置。在這種情況中,有兩個運動矢量,即,用于前向和后向預測圖像的運動矢量。
由運動補償電路64讀出的前向和后向預測數(shù)據(jù)與參考圖像即B-圖像數(shù)據(jù)有關,并送到處理單元53中使用的處理器53c中。處理器53c從由運動矢量檢測電路50使用的預測模式切換電路52提供的參考圖像的宏塊數(shù)據(jù)中減去由運動補償電路64提供的預測圖像數(shù)據(jù)以便求出預測中的差或差錯。差數(shù)據(jù)利用DCT切換電路55、DCT電路56、量化電路57、可變長度編碼電路58和傳輸緩沖器59傳送到傳輸線。
由于B-圖像絕不用做另一幀的預測圖像,則它不存儲在幀存儲器單元63中。
應注意,通常,幀存儲器單元63的前向預測圖像區(qū)域63a和后向預測圖像區(qū)域63b被實施為從一個切換到另一個的存儲體(banks)。因此,在讀出前向預測圖像的操作中,幀存儲器單元63設定到前向預測圖像區(qū)域63a,另一方面,在讀出后向預測圖像的操作中,幀存儲器單元63設定到后向預測圖像區(qū)域63b。
當上述描述集中在亮度塊時,色差信號也以與亮度塊相同的方式在圖8至11所示的宏塊單元中進行處理和傳送。應注意,作為色差塊處理中的運動矢量,與垂直和水平方向有關的亮度塊的運動矢量分量與其每個切半的量值一起使用。
圖12是表示在圖5所示的運動圖像編碼/解碼設備中使用的解碼器31的配置方框圖。通過由記錄介質(zhì)3實施的傳輸線路發(fā)送的編碼圖像數(shù)據(jù)利用運動圖像編碼/解碼設備的重放電路30由解碼器31接收并隨后暫存在解碼器31中使用的接收緩沖器81中。然后,圖像數(shù)據(jù)饋送到在解碼器31的解碼電路90中使用的可變長度解碼電路82中。可變長度解碼電路82對從接收緩沖器81讀出的圖像數(shù)據(jù)進行可變長度解碼,以便輸出一個運動矢量、預測模式信息、給運動補償電路87的幀/場預測標志和幀/場DCT標志和量化標度以及給反量化電路83的解碼圖像數(shù)據(jù)。
反量化電路83以也可變長度解碼電路82接收的量化標度對可變長度解碼電路82饋送到那兒的圖像數(shù)據(jù)執(zhí)行反量化。反量化電路83輸出作為反向量化結果所得的DCT系數(shù)到用于執(zhí)行IDCT(反向離散余弦變換)的電路IDCT 84,從而饋送此IDCT結果到處理器85。
在I-圖像情況中,由IDCT電路84饋送到處理器85的圖像數(shù)據(jù)由處理器85按常規(guī)輸出到幀存儲器單元86以便存儲在幀存儲器單元86的前向預測圖像區(qū)域86a中。存儲在前向預測圖像區(qū)域86a中的I圖像數(shù)據(jù)將用于在前向預測模式中的I-圖像之后,產(chǎn)生饋送到處理器85的P-或B-圖像的圖像數(shù)據(jù)的前向預測圖像數(shù)據(jù)。I-圖像數(shù)據(jù)也輸出到在圖5所示的用于運動圖像編碼/解碼設備中的格式轉換電路32。
當電路IDCT 84提供的圖像數(shù)據(jù)是具有領先一幀的P-圖像數(shù)據(jù)時,即I-圖像的圖像數(shù)據(jù)由運動補償電路87從幀存儲器單元86的前向預測圖像區(qū)域86a中讀出。在運動補償電路87中,I圖像數(shù)據(jù)的圖像數(shù)據(jù)經(jīng)受由可變長度解碼電路82提供的運動矢量的運動補償。完成運動補償?shù)膱D像數(shù)據(jù)隨后送到處理器85以便加到實際為差數(shù)據(jù)的由電路IDCT 84提供的圖像數(shù)據(jù)。加入的結果,即解碼的P-圖像數(shù)據(jù)饋送到幀存儲器單元86以便存儲在如上所述的幀存儲器單元86的后向預測圖像區(qū)域86b中。存儲在后向預測圖像區(qū)域86b中的P-圖像數(shù)據(jù)在后向預測模式之后將產(chǎn)生饋送到處理器85的B-圖像的圖像數(shù)據(jù)的后向預測圖像數(shù)據(jù)。
另一方面,由以內(nèi)部幀預測模式的信號編碼設備1處理的P-圖像數(shù)據(jù)由處理器85不經(jīng)歷任何處理就輸出到I-圖像情況的后向預測圖像區(qū)域86b。
由于P-圖像之后處理B-圖像之后,將顯示P圖像,那么,在這個時刻,P-圖像不輸出到格式轉換電路32。與編碼器18很相似,解碼器31在B-圖像之前處理和傳送P-圖像,即使是在B-圖像之后接收P-圖像也一樣。
由IDCT電路84輸出的B-圖像圖像數(shù)據(jù)由處理器85根據(jù)可變長度解碼電路82提供的預測模式信息進行處理。更具體地,處理器85可以輸出以與I-圖像情況相同的內(nèi)部圖像預測模式或處理以前向預測、后向預測或前向和后向預測模式的圖像數(shù)據(jù)。在前向預測中,在前向預測、后向預測或前向和后向預測模式中,運動補償電路87讀出分別存儲在86a中I圖像數(shù)據(jù)、存儲在86b中的P-圖像數(shù)據(jù)或存儲在86的86a和86b中I-和P-圖像數(shù)據(jù)。運動補償電路87然后根據(jù)可變長度解碼電路82輸出的運動矢量對從幀存儲器單元86中讀出的圖像進行運動補償以便產(chǎn)生預測圖像。在上述的內(nèi)部圖像預測模式中,因為處理器85不要求預測圖像,那么就不產(chǎn)生預測圖像。
在運動補償電路87中,經(jīng)受運動補償?shù)念A測圖像由處理器85加到B-圖像的圖像數(shù)據(jù)上,嚴格地說,是加到IDCT電路84輸出的差數(shù)據(jù)上。于是處理器85輸出的數(shù)據(jù)饋送到如I-圖像情況的格式轉換電路32。
但是,由于處理器85輸出的數(shù)據(jù)是B-圖像圖像數(shù)據(jù),那么在產(chǎn)生預測圖像時不需要此數(shù)據(jù)。因此,處理器85輸出的數(shù)據(jù)不存儲在幀存儲器單元86中。
已經(jīng)輸出B-圖像數(shù)據(jù)之后,由運動補償電路87從86b中讀出P-圖像數(shù)據(jù)并饋送到處理器85。但是,這次,由于此數(shù)據(jù)在存儲在后向預測圖像區(qū)域86b之前已經(jīng)經(jīng)歷了運動補償則此數(shù)據(jù)不經(jīng)受運動補償。
解碼器31不包括用于圖5所示的編碼器18中的預測模式切換電路52和DCT模式切換電路55的計數(shù)器部分的電路。因為計數(shù)器部分的處理,即把具有圖9和11所示的彼此分離的偶數(shù)和奇數(shù)場的信號格式分別轉換回為具有圖8和圖10所示彼此混合的偶數(shù)和奇數(shù)場的信號格式是由運動補償電路87執(zhí)行的。
當如以上描述集中亮度信號時,色差信號也以亮度信號相同的方式以圖8至11所示的宏塊單元進行處理和傳送。應注意,作為色差信號處理中的運動矢量,與垂直和水平方向的色差塊有關的亮度信號的運動矢量分量與其每個切半的數(shù)量一起使用。
圖13是表示根據(jù)SNR(信噪比)的編碼圖像質(zhì)量圖。如圖所示,圖像質(zhì)量更多地取決于圖像類型。更具體地,發(fā)送的I-和P-圖像分別具有高質(zhì)量,但B-圖像具有更低的質(zhì)量。圖13所示的圖像質(zhì)量中的人為變量是利用視覺感官的人的特征的一種技術。也就是說,通過改變質(zhì)量,該質(zhì)量表現(xiàn)得比利用所有圖像的平均情況更好。改變圖像質(zhì)量的控制由圖7所示的用于編碼器18中的量化電路57來執(zhí)行。
圖14和15是表示本發(fā)明提供的代碼轉換器101的配置。圖15更詳細地表示圖14所示的配置。代碼轉換器101把提供到視頻解碼設備102的GOP結構和編碼視頻比特流的比特率分別轉換為操作者希望和主機規(guī)定的GOP結構和比特率。實際上,通過假定均具有全部只是與代碼轉換器101相同功能的三個其他代碼轉換器連接在代碼轉換器101的前級來解釋代碼轉換器101的功能。為了將GOP結構和比特流的比特率分別轉換為多個GOP結構之一和多個比特率之一,則第一、第二、和第三代代碼轉換器以串聯(lián)方式進行連接并且圖15所示的第四代代碼轉換器101連接在第一、第二、和第三代代碼轉換器的串聯(lián)連接之后。應注意,第一、第二、和第三代代碼轉換器未在圖15中表示。
在本發(fā)明以下的描述中,由第一代代碼轉換器執(zhí)行的編碼處理被稱為第一代編碼處理而連接在第一代代碼轉換器之后的第二代代碼轉換器執(zhí)行的編碼處理被稱為第二代編碼處理。同樣,連接在第二代代碼轉換器之后的第三代代碼轉換器執(zhí)行的編碼處理被稱為第三代編碼處理而連接在第三代代碼轉換器之后的第四代代碼轉換器即圖15所示的代碼轉換器101執(zhí)行的編碼處理被稱為第四代編碼處理。此外,所用的以及作為第一代編碼處理結果所得的編碼參數(shù)被稱為第一代編碼參數(shù)而所用的以及作為第二代編碼處理結果所得的編碼參數(shù)被稱為第二代編碼參數(shù)。類似地,所用的以及作為第三代編碼處理結果所得的編碼參數(shù)被稱為第三代編碼參數(shù)而所用的以及作為第四代編碼處理結果所得的編碼參數(shù)被稱為第四代編碼參數(shù)或當前編碼參數(shù)。
首先,解釋由第三代代碼轉換器產(chǎn)生和提供給圖15所示的第四代代碼轉換器101的第三代編碼視頻比特流ST(3rd)。第三代編碼視頻比特流ST(3rd)是作為由在第四代代碼轉換器101處提供的第三代代碼轉換器執(zhí)行的第三代編碼處理結果所得的編碼視頻比特流。在從第三代處理結果中得到的第三代編碼視頻比特流ST(3rd)中,在第三代編碼處理產(chǎn)生的編碼參數(shù)被分別描述為GOP層、圖像層、限幅層和第三代的編碼視頻比特流ST的宏塊層和序列層上的sequence-header()函數(shù)、sequence-extension()函數(shù)、goup-of-picture-header()函數(shù)、picture-header()函數(shù)、picture-coding-extension()函數(shù)、picture-data()函數(shù)、silce()函數(shù)和macroblock()函數(shù)。在從第三代編碼處理中得到的第三代編碼視頻比特流ST描述在第三代編碼處理中使用的第三代編碼參數(shù)這個事實遵循MPEG 2標準而不揭示任何的新穎性。
本發(fā)明提供的代碼轉換器101的要點技術不是在第三代編碼視頻比特流ST中描述的第三代編碼參數(shù)這個事實,而是在第三代編碼視頻比特流ST中包括的分別作為第一和第二代編碼處理結果所得的第一和第二代編碼參數(shù)這個事實。第一和第二代編碼參數(shù)作為在第三代編碼視頻比特流ST的圖像層的用戶-數(shù)據(jù)區(qū)域中的歷史數(shù)據(jù)流()。在本發(fā)明中,在第三代編碼視頻比特流ST的圖像層的用戶-數(shù)據(jù)區(qū)域中描述的歷史數(shù)據(jù)流被稱為“歷史信息”而描述為歷史流的參數(shù)被稱為“歷史參數(shù)”。在命名參數(shù)的另一種方式中,在第三代編碼視頻比特流ST中描述的第三代編碼參數(shù)也可以被稱為當前編碼參數(shù)。在這種情況中,在第三代編碼視頻比特流ST的圖像層的用戶-數(shù)據(jù)區(qū)域中描述為歷史流()的第一和第二代編碼參數(shù)被稱為“過去編碼參數(shù)”,因為如果從第三代編碼處理看,第一和第二代編碼處理是在過去執(zhí)行的每個處理。
分別作為第一和第二代編碼處理的結果所得的第一和第二代編碼參數(shù)除上述第三代編碼參數(shù)之外也描述在第三代編碼視頻比特流ST(3rd)中的原因是要避免圖像質(zhì)量的惡化,即使在代碼轉換中重復地改變GOP結構和編碼數(shù)據(jù)流的比特流時也一樣。例如,一個圖像可以在第一代編碼處理中被編碼為P-圖像,并且,為了改變第一代編碼視頻比特流的GOP結構,此圖像在第二代編碼處理中被編碼為B-圖像。為了進一步改變第二代編碼視頻比特流的GOP結構,此圖像在第三代編碼處理中再次被編碼為P-圖像。因為基于MPEG標準的常規(guī)編碼和解碼處理是100%的反處理,那么每次執(zhí)行通常已知的編碼和解碼處理時圖像質(zhì)量就惡化。在這種情況中不僅僅在第三代編碼處理中再計算諸如量化標度、運動矢量和預測模式的編碼參數(shù)。而是,再利用在第一代編碼處理中產(chǎn)生諸如量化標度、運動矢量和預測模式的編碼參數(shù)。諸如在第一代編碼處理中最新產(chǎn)生的量化標度、運動矢量和預測模式的編碼參數(shù)明顯地具有高于在第三代編碼處理中最新產(chǎn)生的計數(shù)器部分編碼參數(shù)的精度。因此,通過再利用在第一代編碼處理中產(chǎn)生的編碼參數(shù),有可能降低圖像質(zhì)量惡化的程度,即使重復地執(zhí)行編碼和解碼電路也一樣。
通過詳細解釋圖15所示的第四代代碼轉換器101執(zhí)行的解碼和編碼處理來將根據(jù)上述本發(fā)明的處理作為例證。視頻解碼設備102利用第三代編碼參數(shù)解碼和編碼包括在第三代編碼視頻比特流ST(3rd)中的視頻信號以便產(chǎn)生解碼的基帶數(shù)字視頻信號。此外,視頻解碼設備102還解碼在第三代編碼視頻比特流ST(3rd)的圖像層的用戶數(shù)據(jù)區(qū)域中被描述為歷史流的第一和第二代編碼參數(shù)。借助于參考如下圖16來詳細描述視頻解碼設備102的配置和操作。
圖16是表示視頻解碼設備102的詳細配置圖。如圖所示,視頻解碼設備102包含用于緩沖提供的編碼比特流的緩沖器81、用于對此編碼比特流執(zhí)行可變長度解碼處理的可變長度解碼電路112、用于根據(jù)可變長度解碼電路112提供的量化標度對完成可變長度解碼處理的數(shù)據(jù)進行反量化的反量化電路83、用于對完成反量化的DCT系數(shù)進行反向離散余弦變換的IDCT電路84。用于執(zhí)行運動補償處理的處理器85、幀存儲器單元和運動補償電路87。
為了解碼第三代編碼視頻比特流ST(3rd),可變長度解碼電路112提取在第三代編碼視頻比特流ST(3rd)圖像層、限幅層和宏塊層上描述的第三代編碼參數(shù)。典型地,由可變長度解碼電路112提取的第三代編碼參數(shù)包括表示圖像類型的圖像編碼類型、表示量化標度步長大小的量化器標度代碼、表示預測模式的宏塊類型、表示運動矢量的運動矢量、表示幀預測模式的幀/場-運動類型和表示DCT模式或場DCT模式的dct類型。量化器-標度代碼編碼參數(shù)饋送到反量化電路83。另一方面,諸如圖像編碼類型、量化器標度代碼、宏塊類型、運動矢量、幀/場運動類型和dct類型其余編碼參數(shù)饋送到運動補償電路87。
可變長度解碼電路112不僅提取上述的用于解碼第三代編碼視頻比特流ST(3rd)所需的編碼參數(shù),而且還提取作為來自第三代編碼視頻比特流ST(3rd)的序列層、GOP層、圖像層、限幅層和宏塊層的、要發(fā)送到連接在圖15所示的代碼轉換器101之后的第五代代碼轉換器的所有其他第三代編碼參數(shù)。不必說諸如上述的在第三代處理中使用的圖像編碼類型、量化器標度代碼、宏塊類型、運動矢量、幀/場運動類型和dct-類型的以上第三代編碼參數(shù)也包括在第三代歷史信息中。操作者和主機根據(jù)傳輸容量事先確定什么編碼參數(shù)要作為歷史信息提取。
此外,可變長度解碼電路112還提取在第三代編碼視頻比特流ST(3rd)的圖像層的用戶數(shù)據(jù)區(qū)域中描述的用戶數(shù)據(jù)。從而饋送此用戶數(shù)據(jù)到歷史解碼設備104。
歷史解碼設備104從第三代編碼視頻比特流ST(3rd)的用戶層中的用戶數(shù)據(jù)中提取作為歷史信息描述的第一和第二代編碼參數(shù)。更具體地,通過分析從可變長度解碼電路12中接收的用戶數(shù)據(jù)句法,歷史解碼設備104能夠檢測在用戶數(shù)據(jù)中描述的歷史數(shù)據(jù)ID和利用它來提取converted-history-stream()。然后,通過提取在預定間隔插入的converted-history-stream()的1比特標志比特(標志比特),歷史解碼設備104能夠得到histroy-stream()。通過分析history-stream()的句法,歷史解碼設備104能夠提取記錄在history-stream()中的第一和第二代編碼參數(shù)。后面將詳細描述歷史解碼設備104的配置和操作。
為了最終饋送第一、第二和第三代編碼參數(shù)到用于執(zhí)行第四代編碼處理的視頻編碼設備106,歷史信息復合設備103在視頻解碼設備102解碼的基帶視頻數(shù)據(jù)中復合第一、第二和第三代編碼參數(shù)。歷史信息復合設備103接收來自視頻解碼設備102的基帶視頻數(shù)據(jù)、來自在視頻解碼設備102中使用的可變長度解碼電路112的第三代編碼參數(shù)和來自歷史解碼設備104的第一和第二代編碼參數(shù),從而在基帶視頻數(shù)據(jù)中復合第一、第二和第三代編碼參數(shù)。具有在那里復合的第一、第二和第三代編碼參數(shù)的基帶視頻數(shù)據(jù)然后饋送到編碼參數(shù)分離設備105。
下面,通過參照圖17和18解釋在基帶視頻數(shù)據(jù)中復合第一、第二和第三代編碼參數(shù)的技術。圖17是表示由根據(jù)MPEG標準定義的均包含16像素16像素部分的亮度信號部分和色差信號部分構成的宏塊圖。包含16像素16像素的部分之一是由亮度信號的子塊Y
、Y[1]、Y[2]和Y[3]構成而其他部分由色差信號的子塊Cr
、Cr[1]、Cb
和Cb[1]構成。子塊Y
、Y[1]、Y[2]和Y[3]和子塊Cr
、Cr[1]、Cb
和Cb[1]均包含8像素8像素。
圖18是表示視頻數(shù)據(jù)的格式圖。根據(jù)ITU推薦的RDT 601定義,此格式表示用于廣播工業(yè)的所謂D1格式。由于D1格式被標準化為用于發(fā)送視頻數(shù)據(jù)的格式,視頻數(shù)據(jù)1個像素由10比特表示。
遵循MPEG標準解碼的基帶視頻數(shù)據(jù)是8比特長度。在本發(fā)明提供的代碼轉換器中,遵循MPEG標準解碼的基帶視頻數(shù)據(jù)利用如圖8所示的10比特D1格式的8個高位比特D9至D2進行發(fā)送。因此,8比特解碼視頻數(shù)據(jù)流下在D1格式中未分配的2個低位比特D1和D2。由本發(fā)明提供的代碼轉換器利用包含這些用于發(fā)送歷史信息的未分配比特的未分配區(qū)域。
圖18所示的數(shù)據(jù)塊是用于發(fā)送在宏塊的8個子塊中的一個像素的數(shù)據(jù)塊。由于每個子塊實際上包含如上所述的64(=8×8)像素,那么要求圖18所示的每個64數(shù)據(jù)塊發(fā)送包含8個子塊的宏塊數(shù)據(jù)量(VOLUME)。如上所述,亮度和色差信號宏塊包含均由64(=8×8)像素構成的8個子塊。因此,亮度和色差信號宏塊包含8×64像素=512像素。由于每個像素剩下如上所述未分配的2比特,那么亮度和色差信號宏塊具有512像素2未分配比特/像素=1024未分配比特。順便指出,一代歷史信息是256比特長。因此,前四(=1024/256)代歷史信息就能疊加在用于亮度和色差信號的視頻數(shù)據(jù)宏塊上。在圖18所示的例子中,第一、第二和第三代歷史信息通過利用D1和D0的2個低位比特被疊加在視頻數(shù)據(jù)的一個宏塊上。
編碼參數(shù)分離設備105從發(fā)送到那里的數(shù)據(jù)的8個高位比特中提取基帶視頻數(shù)據(jù)作為D1格式和來自2個低位比特中和歷史信息。在圖15所示的例子中,編碼參數(shù)分離設備105從發(fā)送的數(shù)據(jù)中提取基帶視頻數(shù)據(jù),從而饋送基帶視頻數(shù)據(jù)到視頻編碼設備106。同時,編碼參數(shù)分離設備105從發(fā)送的數(shù)據(jù)中提取包含第一、第二和第三代編碼參數(shù)的歷史信息,從而饋送此歷史信息到視頻編碼設備106和歷史編碼設備107。
視頻編碼設備106把由編碼參數(shù)分離設備105提供到那里的基帶視頻信號編碼為具有操作者和主機規(guī)定的GOP結構和比特流。應注意,改變GOP結構意味著改變包括在GOP中的圖像數(shù)目、改變在兩個連續(xù)I-圖像之間存在的P-圖像數(shù)目或改變在兩個連續(xù)I-圖像之間或在I-圖像和P-圖像之間存在的B-圖像數(shù)目。
在圖15所示的實施例中,提供的基帶視頻數(shù)據(jù)包括疊加在那里的第一、第二和第三代編碼參數(shù)的歷史信息。因此視頻編碼設備106借助于選擇再利用這些歷史信息段就能夠執(zhí)行第四代編碼處理以便降低圖像質(zhì)量惡化的程度。
圖19是表示在視頻編碼設備106中使用的編碼器121的配置實物圖。如圖所示,編碼器121包括運動矢量檢測電路50、預測模式切換電路52、處理器53、DCT切換電路55、DCT電路56、量化電路57、可變長度編碼電路58、傳輸緩沖器59、反量化電路60、反DCT電路61、處理器62、幀存儲器63和運動補償64。這些電路的功能幾乎與圖7所示的編碼器18中使用的一樣,從而不必對其重復說明。以下集中描述在圖7所示的編碼器121和編碼器18之間的差別。
編碼器121也包括用于控制構成編碼器121的其他上述成分的操作和功能的控制器70??刂破?0從操作者和主機接收規(guī)定GOP結構的一個指令,從而確定構成GOP結構的圖像類型。此外,控制器70還從操作者或主機接收目標比特率信息,從而控制量化電路57以便設定由編碼器121以規(guī)定的目標比特率輸出的比特率。
此外,控制器70還接收由編碼參數(shù)分離設備105輸出的多代歷史信息,以便通過再利用此歷史信息編碼參考圖像??刂破?0的功能在下面進行描述。
首先,控制器70對于從操作者或主機規(guī)定的GOP結構所確定的存在參考圖像類型是否匹配包括在歷史信息中的圖像類型形成一個判定。也就是說,控制器70對于參考圖像是否在過去以與規(guī)定圖像類型相同的圖像類型進行編碼形成一個判定。
上述的判定格式可以通過利用圖15所示的例子進行說明??刂破?0對于是否分配給在第四代編碼處理中的參考圖像的圖像類型與在第一代編碼處理中的參考圖像的類型、在第二代編碼處理中的參考類型或第三代編碼處理中的參考圖像類型相同形成一個判定。
如果判定結果表示分配給在第四代編碼處理中的參考圖像的圖像類型與任何前代編碼處理的參考圖像的圖像類型不同,那么控制器70執(zhí)行正常編碼處理。這個判定結果指的是此參考圖像決不經(jīng)歷以前在分配給第四代編碼處理中的參考圖像的圖像類型中的第一、第二和第三代編碼處理。另一方面,如果判定結果表示分配給在第四代編碼處理中的參考圖像的圖像類型與任何前代編碼處理的參考圖像的圖像類型相同,那么控制器70通過再利用前代參數(shù)執(zhí)行參數(shù)再利用處理。這個判定結果指的是此參考圖像經(jīng)歷以前在分配給第四代編碼處理中的參考圖像的圖像類型中的第一、第二和第三代編碼處理。
首先,解釋由控制器70執(zhí)行的正常編碼處理。為了使控制器70作出關于應該選擇幀預測模式或場預測模式的哪一個的決定,運動矢量檢測電路50檢測在幀預測模式中的預測差錯和場預測模式中的預測差錯,以便饋送預測差錯值給控制器70??刂破?0將此值彼此進行比較,以便選擇具有最小預測模式的預測模式。預測模式切換電路52然后執(zhí)行信號處理以便對應由控制器70選擇的預測模式,從而饋送作為處理結果所得的信號到處理單元53。利用所選的幀預測模式,預測模式切換電路52執(zhí)行信號處理以便按接收信號的樣子饋送亮度信號到處理單元53,并執(zhí)行色差信號的信號處理以便如先前參考圖8描述的那樣混合奇數(shù)場行和偶數(shù)場行。另一方面,利用所選的場預測模式,預測模式切換電路52執(zhí)行亮度信號的信號處理以便使亮度子塊Y[1]和Y[2]包含奇數(shù)場行而亮度子塊Y[3]和Y[4]包含偶數(shù)場行,并執(zhí)行色差信號的處理以便如先前參考圖9描述的使上四行包含奇數(shù)場行而下四行包含偶數(shù)場行。
此外,為了使控制器70作出關于要選擇內(nèi)部圖像預測模式、前向預測模式、后向預測模式或前向和后向預測模式的哪一個的決定運動矢量檢測電路50產(chǎn)生用于每個預測模式的預測差錯,從而提供預測差錯到控制器70??刂破?0從前向預測模式、后向預測模式或前向和后向預測模式中選擇具有最小預測差錯的模式作為中間圖像預測模式。然后,控制器70比較所選的中間圖像預測模式的最小預測差錯與內(nèi)部圖像預測模式的預測差錯,從而選擇或者所選的中間圖像預測或者具有最小預測差錯的內(nèi)部圖像預測模式作為預測模式。更詳細地,如果發(fā)現(xiàn)內(nèi)部圖像預測模式的預測差錯更小,則建立內(nèi)部圖像預測模式。另一方面,如果發(fā)現(xiàn)中間圖像預測模式的預測差錯更小,則建立具有最小預測差錯的所選的前向預測、后向預測模式或前向或后向預測模式??刂破?0然后控制處理器53和運動補償64以便在所建立的預測模式中操作。
另外,為了使控制器70作出有關要選擇幀DCT模式或場DCT模式的哪一個的決定,DCT模式開關電路55轉換四個亮度子塊的數(shù)據(jù)為具有包含混合奇數(shù)和偶數(shù)場行的DCT模式格式的信號和具有包含分離的奇數(shù)和偶數(shù)場行的場DCT模式格式的數(shù)據(jù),從而饋送此轉換得到的信號到DCT電路56。DCT電路56計算包含混合奇數(shù)和偶數(shù)場行信號的DCT處理編碼效率和包含分離的奇數(shù)和偶數(shù)場行信號的DCT處理的編碼效率,從而饋送此計算的編碼效率到控制器70??刂破?0彼此間的編碼效率,以選擇具有最高效率的DCT模式。控制器70然后控制DCT模式開關電路55在所選的DCT模式中進行工作。
控制器70還接收表示操作者或主機規(guī)定的希望比特率的目標比特率和表示存儲在傳輸緩沖器59中的數(shù)據(jù)量或緩沖器59內(nèi)剩余的駐留空閑區(qū)大小的信號,以便根據(jù)目標比特率和緩沖器59內(nèi)剩余的駐留空閑區(qū)大小產(chǎn)生用于控制量化電路57所用的量化步長大小的反饋q標度代碼。此反饋q標度代碼根據(jù)傳輸緩沖器59內(nèi)剩余的駐留空閑區(qū)大小所產(chǎn)生的控制信號以便在防止在緩沖器59中溢出或下溢并使比特流以目標比特率從傳輸緩沖器59輸出。更具體地,例如,如果在傳輸緩沖器59中緩沖的數(shù)據(jù)量變小,則減小量化步長使得增加下次編碼的圖像比特數(shù)。另一方面,如果在傳輸緩沖器59中緩沖的數(shù)據(jù)量變大,則增加量化步長使得減小下次編碼的圖像比特數(shù)。應注意,量化步長大小正比于反饋q標度代碼。也就是說,當反饋q標度代碼增加時,量化步長也增大。另一方面,當反饋q標度代碼減小時,量化步長也減小。
下面,解釋以代碼轉換器101為特征的再利用編碼參數(shù)的參數(shù)再用編碼處理。為了使示例容易理解,假定參考圖像被編碼為第一代編碼處理中的I-圖像,第二代編碼處理中的P-圖像和第三代編碼處理中的B-圖像,并得再次編碼為當前第四代編碼處理中的I-圖像。在這種情況中,由于參考圖像以前以分配給第四代編碼處理的I-圖像的所要求的圖像類型在第一代編碼處理中進行編碼,那么控制器70利用第一代編碼參數(shù)而不是利用從提供的視頻數(shù)據(jù)中產(chǎn)生的新的編碼參數(shù)來執(zhí)行編碼處理。要在第四代編碼處理中再利用的這種編碼參數(shù)的代表包括表示量化-標度步長大小的量化器標度代碼、表示預測模式的宏塊類型、表示運動矢量的運動矢量、表示幀預測模式或場預測模式的幀/場運動類型和表示幀DCT模式或場DCT模式的dct類型??刂破?0不再利用作為歷史信息接收的所有編碼參數(shù)。而是控制器70只利用當作再利用判定的編碼參數(shù)并新產(chǎn)生先前編碼參數(shù)對其不適宜再利用的編碼參數(shù)。
下面,通過集中在與前述正常編碼處理的差異來解釋再利用編碼參數(shù)的參數(shù)再用編碼處理。在正常編碼處理中,運動矢量檢測電路50檢測參考圖像的運動矢量。另一方面,在再利用編碼參數(shù)的參數(shù)再用編碼處理中,運動矢量檢測電路50不檢測參考圖像的運動矢量。而是,運動矢量檢測電路50再利用作為第一代歷史信息傳送的運動-矢量。使用第一代運動矢量的原因?qū)慈缦逻M行解釋。由于作為第三代編碼比特流的編碼處理結果所得的基帶視頻數(shù)據(jù)經(jīng)歷至少三次編碼處理,則與原始視頻數(shù)據(jù)相比其圖像質(zhì)量明顯不好。從具有不好圖像質(zhì)量的視頻數(shù)據(jù)中檢測的運動矢量就不精確。更具體地,提供給作為第一代歷史信息的第四代代碼轉換器101的運動矢量當然具有高于在第四代編碼處理中檢測的運動矢量的精確度。通過再利用作為第四代編碼參數(shù)接收的運動矢量,在第四代編碼處理期間圖像質(zhì)量不惡化??刂破?0饋送作為第一代歷史信息接收的運動矢量到運動補償64和可變長度編碼電路58以便用做在第四代編碼處理中編碼的參考圖像的運動矢量。
在正常處理中,運動矢量檢測電路50檢測幀預測模式中的預測差錯和場預測模式中的預測差錯以便選擇或者幀預測模式或場預測模式。另一方面,在基于再利用編碼參數(shù)的參數(shù)再用編碼參數(shù)中,運動矢量檢測電路50既不檢測幀預測模式中的預測差錯也不檢測場預測模式中的預測差錯。而是作為第一代歷史信息接收的幀/場運動類型以便表示再利用幀預測模式或場預測模式。這是因為在第一代編碼處理中檢測的每個預測模式的預測差錯具有高于在第四代編碼處理中檢測的每個預測模式的預測差錯的精確度。因此,基于均具有高精確度的預測差錯選擇的預測模式將允許執(zhí)行更優(yōu)的編碼處理。更具體地,控制器70饋送表示作為第一代歷史信息接收的幀/場運動類型的控制信號到預測模式切換電路53。此控制信號驅(qū)動預測模式切換電路52根據(jù)再利用的幀/場運動類型執(zhí)行信號處理。
在正常處理中,運動矢量檢測電路50還檢測在每個內(nèi)部圖像預測模式、前向預測模式、后向預測模式和前向和后向預測模式中的預測差錯以便選擇這些預測模式之一。另一方面,在基于再利用編碼參數(shù)的處理中,運動矢量檢測電路50不檢測這些預測模式的預測差錯。而是,選擇由作為第一代歷史信息接收的宏塊類型表示的內(nèi)部圖像預測模式、前向預測模式、后向預測模式和前向和后向預測模式之一。這是因為在第一代處理中檢測的每個預測模式的預測差錯具有高于在第四代處理中檢測的每個預測模式的預測差錯的精確度。因此,基于均具有高精確度預測差錯所選的預測模式將允許執(zhí)行更高效率的編碼處理。更具體地,控制器70選擇由包括在第一代歷史中的宏塊類型表示的預測模式并控制處理器53和運動補償64在所選的預測模式中操作。
在正常編碼處理中,DCT模式開關電路55饋送轉換為幀DCT模式格式的信號和轉換為場DCT模式格式的信號二者到DCT電路56以便用于比較幀DCT模式中的編碼效率與場DCT模式中的編碼效率。另一方面,在基于再利用編碼參數(shù)的處理中,既不產(chǎn)生轉換為幀DCT模式格式的信號也不產(chǎn)生轉換為場DCT模式格式的信號。而是,只執(zhí)行包括在第一代歷史信息中的dct類型表示的DCT模式中的處理。更具體地,控制器70再利用包括在第一代歷史信息中的dct類型并控制DCT模式開關電路55以便根據(jù)由dct類型表示的DCT模式執(zhí)行信號處理。
在正常編碼處理中,控制器70根據(jù)操作者或主機規(guī)定的目標比特率和傳輸緩沖器59中剩余的駐留空閑區(qū)大小控制在量化電路57中使用的量化步長大小。另一方面,在基于再利用編碼參數(shù)的處理中,控制器70根據(jù)操作者或主機規(guī)定的目標比特率、傳輸緩沖器59中剩余的駐留空閑區(qū)大小和包括在歷史信息中的過去的量化標度控制在量化電路57中使用的量化步長大小。應注意,在以下描述中,包括在歷史信息中的過去量化標度被稱為歷史q標度代碼。在后面要描述的歷史數(shù)據(jù)流中,量化標度被稱為量化器標度代碼。
首先,控制器70產(chǎn)生表示與正常編碼處理情況相同的當前量化標度反饋q標度代碼。反饋q標度代碼設置成從傳輸緩沖器59中剩余的駐留空閑區(qū)大小中確定的這樣一個值以致于在傳輸緩沖器59中既不出現(xiàn)溢出也不出現(xiàn)下溢。于是,表示包括在第一代歷史數(shù)據(jù)流中的先前量化標度的歷史-q-標度-代碼與表示當前量化標度的反饋q標度代碼進行比較以便確定哪個量化標度更大。應注意,大量化標度意指大量化步長。如果發(fā)現(xiàn)表示當前量化標度的反饋-q-標度-代碼大于表示多個先前量化標度中最大的歷史q標度代碼,那么控制器70就饋送表示當前量化標度的反饋q標度代碼到量化電路57。另一方面如果發(fā)現(xiàn)表示最大先前量化標度的歷史q標度代碼大于表示當前量化標度的反饋q標度代碼,那么控制器70就饋送表示最大先前量化標度的歷史q標度代碼到量化電路57??刂破?0選擇在包括在歷史信息中的多個先前量化標度中和從傳輸緩沖器59中剩余的駐留空閑區(qū)大小中導出的當前量化標度中選擇最大的一個。換句話說,控制器70控制量化電路57利用在當前編碼處理(或第四代編碼處理)和先前編碼處理(第一、第二和第三代編碼處理)中使用的量化步長中的最大量化步長進行量化。下面描述其原因。
假定在第三代編碼處理中產(chǎn)生的數(shù)據(jù)流比特率是4Mbps并且執(zhí)行第四代編碼處理的編碼器121設定的目標比特率是15Mbps。通過簡單地遞減量化步長實際上不能獲得高于先前比特率的這樣一個目標比特率。這是因為以小量化步長對完成先前以大量化步長執(zhí)行的編碼處理的圖像執(zhí)行當前的編碼處理決不改善圖像的質(zhì)量。這就是說,以小量化步長對完成先前以大量化步長執(zhí)行的編碼處理的圖像執(zhí)行當前的編碼處理僅僅增加合成的比特數(shù),但不幫助改善圖像的質(zhì)量。因此,通過利用在用于當前編碼處理(或第四代處理)和先前編碼處理(或第一、第二和第三代編碼處理)中的最大量化步長,可以執(zhí)行最有效的編碼處理。
下面,通過參考圖15解釋歷史解碼設備104和歷史編碼設備107。如圖所示,歷史解碼設備104包括用戶數(shù)據(jù)解碼器201、轉換器202和歷史解碼器203。用戶解碼器201解碼由視頻解碼設備102提供的用戶數(shù)據(jù)。轉換器202轉換由用戶數(shù)據(jù)解碼器201輸出的數(shù)據(jù)而歷史解碼器203重放來自轉換器202輸出的數(shù)據(jù)的歷史信息。
另一方面,歷史編碼設備107包括歷史格式化器211、轉換器212和用戶數(shù)據(jù)格式化器213。歷史格式化器211格式化由編碼參數(shù)分離設備105饋送到那的三代編碼參數(shù)。轉換器212轉換歷史格式化器211輸出的數(shù)據(jù)而用戶數(shù)據(jù)格式化器213格式化轉換器212輸出的數(shù)據(jù)為用戶數(shù)據(jù)格式。
用戶數(shù)據(jù)解碼器201解碼由視頻解碼設備102饋送的用戶數(shù)據(jù),以便提供解碼結果到轉換器202。后面將描述用戶數(shù)據(jù)的細節(jié)。在任何速率,由用戶數(shù)據(jù)()表示的用戶數(shù)據(jù)包含用戶數(shù)據(jù)起始代碼和用戶數(shù)據(jù)。根據(jù)MPEG規(guī)范,禁止用戶數(shù)據(jù)中的23個連續(xù)“0”比特的產(chǎn)生以便預防不正確的檢測起始代碼。由于歷史信息可以包括23個或更多個連續(xù)“0”比特,則有必要處理和轉換歷史信息為以后將參照圖38描述的轉換的歷史數(shù)據(jù)流()。通過插入“1”比特來執(zhí)行此轉換的部件是在歷史編碼設備107中使用的轉換器212。另一方面,在歷史解碼設備104中使用的轉換器202與在歷史編碼設備107中使用的轉換器212所執(zhí)行的轉換相反,它執(zhí)行刪除比特的轉換。
歷史解碼器203從轉換器202輸出的數(shù)據(jù)中產(chǎn)生歷史信息,從而輸出此信息到歷史信息復用設備103。
另一方面,在歷史編碼設備107中使用的歷史格式化器211轉換由編碼參數(shù)分離設備105饋送到那的三代編碼參數(shù)格式為歷史信息格式。歷史信息格式可以有下面將描述的圖40到46所示的固定長度或下面也要描述的如圖47所示的可變長度。
由歷史格式化器211格式化的歷史信息被轉換器212轉化為轉化的歷史數(shù)據(jù)流()以便防止如上所述的不正確地檢測用戶數(shù)據(jù)()的起始代碼。這就是說,當歷史信息可能包括23個或更多個連續(xù)的“0”比特時,MPEG規(guī)范禁止了用戶數(shù)據(jù)中23個連續(xù)“0”比特的產(chǎn)生。因此,在后面要描述的歷史數(shù)據(jù)流中,根據(jù)構成的禁止轉換器212通過插入“1”比特轉換歷史信息。
用戶格式化器213根據(jù)后面要描述的圖38所示的句法將數(shù)據(jù)-ID和用戶-數(shù)據(jù)-數(shù)據(jù)流-代碼加到由轉換器212饋送的converted-history-stream()中以便產(chǎn)生能夠插入video-stream()的用戶數(shù)據(jù),從而輸出用戶數(shù)據(jù)到視頻編碼設備106。
圖20是表示歷史格式化器211的典型配置方框圖。如圖20所示,代碼語言轉換器301和代碼長度轉換器305從編碼參數(shù)分離設備105中姐艘項目數(shù)據(jù)和項目-號數(shù)據(jù)。項目數(shù)據(jù)是編碼參數(shù),即這次作為歷史信息發(fā)送的編碼參數(shù)。項目號數(shù)據(jù)是用于識別包括此編碼參數(shù)的數(shù)據(jù)流的信息。項目號數(shù)據(jù)的例子是句法名稱和后面要描述的序列首部名稱。代碼語言轉換器301轉換饋送到此的編碼參數(shù)為遵循規(guī)定句法的代碼語言,從而輸出此代碼到桶型移位器302。桶型移位器302將饋送到此的代碼語言桶型位移對應于地址產(chǎn)生電路306饋送到此的信息的一個位移量,從而以字節(jié)單位輸出移位的代碼到開關303。開關303的接觸位置可以由地址產(chǎn)生電路306輸出的不同選擇信號進行轉換,它具有如桶型移位器302饋送的一樣多的多對接觸極。開關303將桶型移位器302饋送到此的代碼傳送到單元RAM單元304以便以地址產(chǎn)生電路306規(guī)定的寫地址進行存儲。存儲RAM單元304中的代碼于從地址產(chǎn)生電路306規(guī)定的讀地址中讀出并饋送到下級提供的轉換器212。如果必要,從RAM單元304讀出的代碼利用開關303再次饋送到RAM單元304以便再次在那存儲。
代碼長度轉換器305從饋送到此的句法和編碼參數(shù)中確定編碼參數(shù)的代碼長度,從而輸出代碼長度信息到地址產(chǎn)生電路306。地址產(chǎn)生電路306根據(jù)從代碼長度轉換器305中接收的代碼長度信息產(chǎn)生上述的位移量、比特選擇信號、寫地址和讀地址。位移量、比特選擇信號、地址分別饋送到桶型移位器302、開關303和RAM單元304中。
如上所述,歷史格式化器211用做用于對饋送到此的編碼參數(shù)選擇可變長度編碼處理和用于輸出此可變長度編碼處理的結果的所謂可變長度編碼器。
圖22是表示轉換器212的典型配置方框圖。在這個典型配置中,8比特數(shù)據(jù)從歷史格式化器211和轉換器212之間提供的緩沖器存儲器單元320中的讀地址中讀出并饋送到8比特D型觸發(fā)電路(D-FF)321以便在此保持。讀地址由控制器326產(chǎn)生。從8比特D型觸發(fā)電路(D-FF)321讀出的8比特數(shù)據(jù)饋送到填充電路323和8比特D型觸發(fā)電路322以便在此保持。從8比特D型觸發(fā)電路322讀出的8比特數(shù)據(jù)也饋送到填充電路323。更詳細地,從8比特D型觸發(fā)電路321讀出的8比特數(shù)據(jù)與從8比特D型觸發(fā)電路322讀出的8比特數(shù)據(jù)鏈接以便形成16比特并行數(shù)據(jù),隨后將此并行數(shù)據(jù)饋送到填充電路323。
填充電路323插入代碼“1”到信號規(guī)定的填充位置以便產(chǎn)生具有饋送到桶型移位器324的總共17比特的數(shù)據(jù)。表示填充位置的信號由控制器326饋送并且插入代碼“1”的操作被稱為填充。
桶型移位器324將填充電路323饋送到此的數(shù)據(jù)桶型移位由從控制器326中接收的信號表示的位移量,從而從此位移的數(shù)據(jù)中提取8比特數(shù)據(jù)。提取的數(shù)據(jù)然后輸出到8比特D型觸發(fā)電路325以便在此存儲。保持在8比特D型觸發(fā)電路325的數(shù)據(jù)最后利用緩沖器存儲器單元327輸出到后級提供的用戶數(shù)據(jù)格式化器213中。這就是說,數(shù)據(jù)以控制器326產(chǎn)生的寫地址暫存在轉換器212和用戶格式化器213之間提供的緩沖器存儲器單元327中。
圖23是表示填充電路323典型配置的方框圖。在這個配置中,從D型觸發(fā)電路321和322中接收的16比特數(shù)據(jù)饋送到開關331-16到331-1的接觸點上。饋送到開關331-i(其中i=0-15)接觸點的數(shù)據(jù)段也饋送到開關331-i的接觸點C。開關331-i(其中i=0-16)是相鄰于開關331-i(其中i=0-15)的開關(分別如圖MSB側的開關331-i(其中i=0-15)。例如在相鄰開關331-12的MSB側,饋送到開關331-13的接觸點a的LSB的第十三段數(shù)據(jù)也饋送到開關331-12的接觸點C。同時饋送到開關331-14的接觸點a的LSB的第十四段數(shù)據(jù)也饋送到開關331-13的接觸點C。
然而,在開關331-1的底端提供的開關331-0的接觸點a是開路的,因為在對應于LSB的開關331-0的底端沒有提供開關。此外,在開關331-15的頂端提供的開關331-16的接觸點C也是開路的,因為在對應于MSB的開關331-16的頂端沒有提供開關。
數(shù)據(jù)“1”饋送到開關331-0至331-16的接觸點b。解碼器332在由控制器326接收的填充位置信號表示的填充位置將開關331-0至331-16之一轉換到接觸點b以便插入數(shù)據(jù)“1”到此填充位置。在填充位置處的開關LSB端的開關331-0至331-16轉換到其接觸點C而在填充位置處的開關MSB端的開關331轉換到其接觸點a。
圖23表示數(shù)據(jù)“1”插入到LSB端第十三比特的一個例子。因此,在這種情況中,開關331-0至331-12轉換到其接觸點C并且開關331-14至331-16轉換到其接觸點a。開關331-13轉換到其接觸點b。
利用上述配置,圖22所示的轉換器212將22比特代碼轉換為包括插入數(shù)據(jù)“1”到23比特代碼,從而輸出轉換的23比特結果。
圖24是表示由圖22所示的轉換器212的多個部分輸出的數(shù)據(jù)段定時圖。當轉換器212中實用的控制器326與數(shù)據(jù)字節(jié)的時鐘信號同步地產(chǎn)生圖24A所示的讀地址時,存儲在此讀地址的字節(jié)數(shù)據(jù)就從緩沖器存儲器單元320中讀出并暫時保持在D型觸發(fā)器電路321中。然后,從D型觸發(fā)器電路321讀出的圖24B的數(shù)據(jù)饋送到填充電路323和D型觸發(fā)器電路322以便在那保持。從D型觸發(fā)器電路322讀出圖24C的數(shù)據(jù)與從D型觸發(fā)器電路321讀出的圖24B的數(shù)據(jù)鏈接并且作為圖24D所示的鏈接結果得到的數(shù)據(jù)饋送到填充電路323。
從而,利用讀地址的定時A1,從D型觸發(fā)器電路321讀出的圖24B的數(shù)據(jù)的第一字節(jié)D0饋送到填充電路323作為圖24D所示的數(shù)據(jù)的第一字節(jié)。然后,利用讀地址A1的定時,從D型觸發(fā)器電路321讀出的和與從D型觸發(fā)器電路322讀出的圖24C的數(shù)據(jù)的第一字節(jié)D0鏈接的圖24B的數(shù)據(jù)的第二字節(jié)D1送到填充電路322作為圖24D中所示的數(shù)據(jù)的第二個兩字節(jié)。隨后,利用讀地址A3的定時,從D型觸發(fā)器電路321讀出的和與從D型觸發(fā)器電路322讀出的圖24C的數(shù)據(jù)的第二字節(jié)D1鏈接的圖24B的數(shù)據(jù)的第三字節(jié)D2送到填充電路323作為圖24D中所示的數(shù)據(jù)的第三個兩字節(jié)等等。
填充電路323從控制器326接收表示要在其中插入“1”的填充位置的圖24E的一個信號。在填充電路323使用的解碼器332將填充位置上的開關331-0至331-16之一轉換到那兒的接觸點b。在填充位置處的開關LSB一側上的開關331轉換到其接觸點c而在填充位置處的開關MSB一側上的開關331轉換到其接觸點a。結果,填充電路323將數(shù)據(jù)“1”到插入填充位置信號中,從而輸出具有圖24F所示的插入的數(shù)據(jù)“1”的數(shù)據(jù)。
桶形移位器324桶形移位由填充電路323饋送到那兒的數(shù)據(jù)由從控制器326接收的位移信號表示的一個位移量,從而輸出圖24H所示的位移信號。此位移信號在輸出到如圖24I所示的后級之前暫時保持在D類型觸發(fā)器電路325中。
從D類型觸發(fā)器電路325輸出的數(shù)據(jù)包括插入到22比特數(shù)據(jù)后位置中的數(shù)據(jù)“1”。因此,連續(xù)的0比特數(shù)決不超出22個,即使在數(shù)據(jù)“1”和下一數(shù)據(jù)“1”之間的所有比特都為“0”時也如此。
圖25表示轉換器202的典型配置方框圖。在轉換器202中使用的從D型觸發(fā)電路341到控制器346范圍內(nèi)的部件與圖22所示的在轉換器212使用從D型觸發(fā)電路321到控制器326范圍內(nèi)的部件相同這個事實表示以前的配置與后來的配置大體相同。轉換器202與轉換212的不同之處在于,在前一個情況中,采用刪除電路343替代后者的填充電路323。否則,轉換器202的配置就與圖22所示的轉換器21的配置相同。
在轉換器202中使用的刪除電路343在由控制器346輸出的信號表示的刪除位置上刪除一個比特。刪除位置對應于圖23所述的填充電路323插入數(shù)據(jù)“1”的填充位置。
轉換器202的其余操作與圖22所示的轉換器執(zhí)行的操作相同。
圖26是表示刪除電路343的典型配置方框圖。在這個配置中,從D型觸發(fā)電路341和342中接收的16比特數(shù)據(jù)的LSB端的15比特饋送到開關351-0和351-14的接觸點a。饋送到開關351-i(i=1-14)接觸點a的數(shù)據(jù)段也饋送到開關351-i(i=0-13)的接觸點b。開關351-i(i=1-14)是在開關351-i(i=0-13)的MSB端(或圖所示的上端)上的相鄰的開關351-i(i=1-13)。例如,饋送到相鄰351-12的MSB端的開關351-13的接觸點a的LSB的第十三段數(shù)據(jù)也饋送到開關351-12的接觸點b。同時,饋送到相鄰351-13的MSB端的開關351-14的接觸點a的LSB的第十四段數(shù)據(jù)也饋送到開關351-13的接觸點b。解碼器352在由控制器346輸出的信號表示的刪除位置上刪除一個比特,從而輸出排除此刪除比特的其余15比特數(shù)據(jù)。
圖26表示刪除來自LSB(輸入比特12)的第十三輸入比特的一個狀態(tài)。因此,在這種情況中,開關351-0至351-11轉換到其接觸點a以便照原樣輸出來自LSB(比特0)的12個輸入比特到第十二比特(比特11)。另一方面,開關351-12至351-14轉換到接觸點b以便分別傳送第十四至第十六輸入比特(輸入比特13至15)為第十三至十五輸出比特(輸出比特12到14)。在此狀態(tài),來自LSB(輸入比特12)的第十三輸入比特不連接到輸出線路。
16比特數(shù)據(jù)饋送到圖23所示的填充電路323和圖26所示的刪除電路343。這是因為饋送到填充電路323的數(shù)據(jù)是由圖22所示的轉換器212中使用的8比特D型觸發(fā)電路321和322輸出的數(shù)據(jù)段鏈接的結果。同樣,饋送到刪除電路343的數(shù)據(jù)是由圖25所示的轉換器202中使用的8比特D型觸發(fā)電路341和342輸出的數(shù)據(jù)段鏈接的結果。在圖22所示的轉換器212中使用的桶型觸發(fā)器324將填充電路323饋送到此的17比特數(shù)據(jù)桶型移位由從控制器326接收的信號表示的一個位移量,從而最終從移位的數(shù)據(jù)中提取典型的8比特數(shù)據(jù)。同樣,在圖25所示的轉換器202中使用的桶型移位器344將填充電路324饋送到此的15比特數(shù)據(jù)桶型移位由從控制器346接收的信號表示的一個位移量,從而最終從移位的數(shù)據(jù)中提取典型的8比特數(shù)據(jù)。
圖21是表示用于在轉換器202中解碼完成歷史格式化處理的數(shù)據(jù)的歷史解碼器203的典型配置方框圖。由轉換器202饋送到歷史解碼器203的編碼參數(shù)數(shù)據(jù)饋送給RAM單元311以便以地址產(chǎn)生電路315規(guī)定的寫地址在此存儲。地址產(chǎn)生電路315也輸出具有預定定時的讀地址到RAM單元311。在那個時刻,以讀地址存儲在RAM單元311的數(shù)據(jù)輸出到桶型移位器312。桶型移位器312將饋送到此數(shù)據(jù)桶型移位對應于由地址產(chǎn)生電路315饋送到此的信息的一個位移量,從而輸出此移位的數(shù)據(jù)到反向代碼長度轉換器313和314。
反向代碼長度轉換器313和314也接收包括來自轉換器202的編碼參數(shù)的數(shù)據(jù)流的句法名稱。反向代碼長度轉換器313根據(jù)句法確定來自此數(shù)據(jù)或饋送到此的代碼長度的編碼參數(shù)的代碼長度,從而輸出代碼長度信息到地址產(chǎn)生電路315。
另一方面,反向代碼長度轉換器314根據(jù)句法解碼或反向編碼由桶型移位器312饋送的數(shù)據(jù),從而輸出解碼出來結果到歷史信息復合設備103。
此外,反向代碼長度轉換器314也提取用于識別包括什么樣的代碼語言所需的信息,即用于確定代碼非限定性所需的信息,從而輸出此信息到地址產(chǎn)生電路315。地址產(chǎn)生電路315根據(jù)從反向代碼長度轉換器313接收的此信息和代碼長度產(chǎn)生寫和讀地址以及位移量,從而將寫/讀地址輸出到RAM單元311和位移量輸出到桶型寄存器312。
圖27是表示轉換器212的另一典型配置的方框圖。在此配置中使用的計數(shù)器361計數(shù)饋送到此的連續(xù)0比特數(shù)據(jù)的數(shù)目,從而輸出計數(shù)結果到控制器326。當饋送到計數(shù)器361的連續(xù)0比特數(shù)據(jù)數(shù)目達到22時,控制器326就輸出代表填充位置的信號到填充電路323。同時,控制器326復位計數(shù)器361,以便允許計數(shù)器361再開始從0計數(shù)連續(xù)0比特數(shù)目。其余的配置和操作與圖22所示的轉換器212的配置和操作相同。
圖28是表示轉換器202的另一典型配置方框圖。再此配置中使用的計數(shù)器371計數(shù)饋送到此的連續(xù)0比特數(shù)據(jù)的數(shù)目,從而輸出計數(shù)結果到控制器346。當饋送到計數(shù)器371的連續(xù)0比特數(shù)據(jù)數(shù)目達到22時,控制器346就輸出代表刪除位置的信號到刪除電路343。同時,控制器346復位計數(shù)器371,以便允許計數(shù)器371再開始從0計數(shù)連續(xù)0比特數(shù)目。其余的配置和操作與圖25所示的轉換器202的配置和操作相同。
如上所述,在圖27和28所示的典型配置中,數(shù)據(jù)“1”作為標志比特插入,并且當計數(shù)器檢測包含預定連續(xù)0比特數(shù)目的預定碼型時,數(shù)據(jù)“1”相應地被刪除。圖27和28所示的典型配置允許利用比圖22和25分別所示的配置更高的效率進行處理。
圖29是表示用戶格式化器213的典型配置方框圖。在此配置中,當控制器383輸出讀地址到在轉換器212和用戶數(shù)據(jù)格式化器213之間提供的緩沖器存儲器(未示出)時,數(shù)據(jù)就從讀地址讀出并饋送到在用戶數(shù)據(jù)格式化器213中使用的開關382的接觸點a。應注意緩沖器本身未在圖中表示。在ROM單元381中,存儲用于產(chǎn)生諸如用戶數(shù)據(jù)代碼和數(shù)據(jù)ID的用戶數(shù)據(jù)()所需的數(shù)據(jù)??刂破?13轉換開關382到具有預定定時的接觸點a或接觸點b以便允許開關382選擇存儲ROM單元381中數(shù)據(jù)或由轉換器212饋送的數(shù)據(jù)并傳送所選的數(shù)據(jù)。以這種方式,具有用戶數(shù)據(jù)()格式的數(shù)據(jù)輸出到視頻編碼設備106中。
值得注意,借助于利用用于刪除從類似于圖29所示的用戶數(shù)據(jù)格式化器213中使用的ROM單元381的ROM單元中讀出的插入數(shù)據(jù)的一個開關輸出輸入數(shù)據(jù)能夠?qū)嵤┯脩魯?shù)據(jù)解碼器201。用戶數(shù)據(jù)解碼器201的配置未在圖中顯示。
圖30是表示用于視頻室業(yè)務的串聯(lián)連接多個代碼轉換101-1至101-N的實施狀態(tài)方框圖。在代碼轉換器101-i(i=1-N)中使用的歷史信息復合設備103-i在用于在記錄編碼參數(shù)所用的區(qū)域中存儲最當前編碼參數(shù)的區(qū)域均寫入本身所用的最當前的編碼參數(shù)。結果,基帶圖像數(shù)據(jù)包括編碼參數(shù)或與圖像數(shù)據(jù)的宏塊有關的四個最新代的世代歷史信息。
在編碼設備106-i中使用的圖19的編碼器121-i中使用的可變長度編碼電路58根據(jù)從編碼參數(shù)分離電路105-i中接收的當前編碼參數(shù)對從量化電路57中接收的視頻數(shù)據(jù)編碼。結果,當前編碼參數(shù)在包括在可變長度編碼電路58產(chǎn)生的比特流中的圖像首部()中通常被復用。
此外,可變長度編碼電路58也將用戶數(shù)據(jù)復用為輸出比特流,所說的用戶數(shù)據(jù)包括世代歷史信息并從歷史編碼設備107-i接收。此復用處理不是類似圖18所示處理的實施處理,而是將用戶數(shù)據(jù)復用比特流。于是,由視頻編碼設備106-i輸出的比特流利用SDTI 108-i在下級饋送到代碼轉換器101-(i+1)。
代碼轉換器101-I和101-(i+1)的配置與圖15所示的配置相同。他們執(zhí)行的處理因此能參照圖15進行解釋。如果希望在利用實際編碼參數(shù)歷史的編碼操作中將當前圖像類型從I-圖像轉換為P-或B-圖像,那么為先前所用的P-或B-圖像的類型搜索先前編碼參數(shù)的歷史。如果在歷史中發(fā)現(xiàn)P-或B-圖像歷史,那么包括運動矢量的參數(shù)就用來改變圖像類型。另一方面,如果在歷史中未發(fā)現(xiàn)P或B-圖像歷史,那么就放棄沒有運動檢測的圖像類型的修改。不必說,假如執(zhí)行運動檢測的話,即使在歷史中未發(fā)現(xiàn)P或B-圖像的編碼參數(shù)也能改變圖像類型。
在圖18所示的格式中,在圖像數(shù)據(jù)中體現(xiàn)四代編碼參數(shù)。作為選擇,每個I-、P-和B-圖像的參數(shù)也可以在類似于圖31所示的一個格式中體現(xiàn)。在圖31所示的例子中,對于操作中的每個圖像類型記錄編碼參數(shù)或一代圖像歷史信息以便在先前出現(xiàn)的圖像類型中編碼相同的伴隨改變的宏塊。在這種情況中,圖16所示的解碼器111輸出用于I-、P-和B-圖像的一代編碼參數(shù)而不是最當前、第一、第二和第三前代編碼參數(shù)以便饋送到圖19所示的編碼器121。
此外,由于不使用Cb[1][X]和Cr[1][X],本發(fā)明也可以應用不使用Cb[1][X]和Cr[1][X]區(qū)域的4:2:0格式的圖像數(shù)據(jù)。在此例子的情況中,解碼設備102取出解碼過程中編碼參數(shù)并識別此圖像類型。解碼設備102寫入或復合此編碼參數(shù)為對應于圖像信號的圖像類型的位置并輸出此復合的圖像信號到編碼參數(shù)分離設備105。編碼參數(shù)分離設備105從圖像數(shù)據(jù)中分離編碼參數(shù),通過利用分離的編碼參數(shù)編碼參數(shù)分離設備105能夠執(zhí)行后解碼編碼處理同時考慮通過采取要改變的圖像類型和饋送到此的編碼參數(shù)改變此圖像類型。
代碼轉換器101具有不同于參數(shù)再利用編碼處理的另一種操作以便僅在控制器70不允許運動矢量檢測電路操作的情況下阻止我的一個可變圖像類型。
參考圖32所示的流程圖解釋其他操作。如圖32所示,流程從步驟S1開始,在此步驟用于每個圖像類型的編碼參數(shù)或一代圖像歷史信息饋送到編碼器121的控制器70。處理流程然后進行到步驟S2,在此步驟編碼參數(shù)分離設備105對于圖像歷史信息是否包括在改變到B圖像中使用的編碼參數(shù)形成一個判定。如果圖像歷史信息包括在改變到B圖像中使用的編碼參數(shù),那么處理流程進到步驟S3。
在步驟S3,控制器70對于圖像歷史信息是否包括在改變到P圖像中使用的編碼參數(shù)形成一個判定。如果圖像歷史信息包括在改變到P圖像中使用的編碼參數(shù),那么處理流程進到步驟S4。
在步驟S4,控制器70確定可變圖像類型是I-、P-和B-圖像。另一方面,如果在步驟S3形成的判定結果表示圖像歷史信息不包括在改變到P圖像中使用的編碼參數(shù),那么處理流程進到步驟S5。
在步驟S5,控制器70確定可變圖像類型是I-和B-圖像。此外,控制器70通過只利用前向預測矢量和包括在B圖像的歷史信息中的非后向預測矢量執(zhí)行特定處理來確定P-圖像的偽變化也是可能的。另一方面,如果在步驟S2形成的判定結果表示圖像歷史信息不包括在改變到B圖像中使用的編碼參數(shù),那么處理流程進到步驟S6。
在步驟S6,控制器70對于圖像歷史信息是否包括在改變到P圖像中使用的編碼參數(shù)形成一個判定。如果圖像歷史信息包括在改變到P圖像中使用的編碼參數(shù),那么處理流程進到步驟S7。
在步驟S7,控制器70確定可變圖像類型是I-和P-圖像。此外,編碼參數(shù)分離設備105通過只利用前向預測矢量和包括在B圖像的歷史信息中的非后向預測矢量執(zhí)行特定處理來確定P-圖像的變化也是可能的。
另一方面,如果在步驟S6形成的判定結果表示圖像歷史信息不包括在改變到P圖像中使用的編碼參數(shù),那么處理流程進到步驟S8。在步驟S8,控制器70確定只有可變圖像類型是I圖像,因為不存在運動矢量。I圖像不能改變到除I圖像之外的任何其他特征類型。
完成步驟S4、S5、S7或S8之后,處理流程進到S9,在此步驟,控制器70在圖中未顯示的顯示單元上通知用戶此可變圖像類型。
圖33是表示圖像類型改變的例子圖。當圖像類型改變時,包含GOP結構的幀數(shù)也改變。為更詳細,在這些例子中,長GOP結構改變?yōu)榈诙蘂OP結構。然后,第二代GOP結構在第三代變回為長GOP。此長GOP結構具有N=15和M=3,其中N是構成GOP的幀數(shù)而M是根據(jù)幀表達的P圖像出現(xiàn)的周期。另一方面,短GOP具有N=1和M=1,其中M是根據(jù)幀表達的I圖像出現(xiàn)的周期。應注意圖中所示的虛線表示兩個相鄰GOP之間的邊界。
當?shù)谝淮鶪0P結構變?yōu)榈诙鶪OP結構時,所有幀的圖像類型能夠改變?yōu)镮圖像,這從處理說明中看是顯而易見的以便確定以上給出的可變圖像類型。當這些圖像類型改變時,在第一代編碼資源視頻信號進行處理的所有運動矢量就被存儲或留下。然后,此時短GOP結構在第三代變回為長GOP結構。即,即使圖像類型改變,也再利用當資源視頻信號在第一代編碼時保存的每個類型的運動矢量,從而允許變回長GOP結構使得避免了圖像質(zhì)量的惡化。
圖34是表示在圖像類型中變化的另一示例圖。在這些例子的情況中,在第二代從具有N=14和M=2的長GOP結構變化到具有N=2和M=2的短GOP結構并隨后到具有N=1和M=1的短結構并最后到在第四代具有未定幀計數(shù)N的隨機GOP。
在這些例子中還有,保存當資源視頻信號作為第一代被編碼時進行處理的每個圖像類型的運動矢量,直至第四代。結果,通過再利用保存的編碼參數(shù),即使圖像類型以圖34所示的復雜方式改變圖像質(zhì)量的惡化也能降低到最小。此外,如果有效利用保存的編碼參數(shù)的量化標度,就能實施只引起小量圖像質(zhì)量惡化的編碼處理。
通過參考圖35解釋量化標度的再利用。圖35是表示某個參考幀總是利用來自第一到第四代的I圖像編碼的情況圖。只有比特率從第一代的4Mbps變?yōu)榈诙?8Mbps然后是第三代的50Mbps最后回到第四代的4Mbps。
當在第一代產(chǎn)生的4Mbps比特流的比特率變到第二代的18Mbps比特率時,即使以伴隨比特率增長的小量化標度執(zhí)行后解碼編碼處理也不改善圖像質(zhì)量。這是因為以前以原始量化步長量化的數(shù)據(jù)沒有存儲。因此,在如圖35所示的處理過程中以跟隨比特率升高的小量化步長的量化僅僅增加了信息量而并沒有導致圖像質(zhì)量的改善。由于此原因,如果執(zhí)行控制以便維持以前所用的最原始或最大的量化標度,那么就能最少地損耗和最高效地實施編碼處理。
如上所述,當比特率改變時,通過利用以前的量化標度歷史,能夠最有效地實施編碼處理。
通過參考圖36所示的流程圖解釋此量化控制處理。如圖所示,流程從步驟S11開始,在此步驟,控制器70對于輸入圖像歷史信息是否包括從現(xiàn)在要改變的圖像類型的編碼參數(shù)形成一個判定。如果判斷結果表示輸入圖像歷史信息包括要改變的圖像類型編碼參數(shù),那么處理流程進到步驟S12。
在步驟S12,控制器70從上述用于包括在圖像歷史信息中的比較的編碼參數(shù)中提取歷史q標度代碼。
處理流程隨后進到步驟S13,在此步驟,控制器70根據(jù)傳輸緩沖器59的數(shù)據(jù)滿度計算反饋q標度代碼的候選值。
流程然后進到S14,在此步驟,控制器70做出歷史q標度代碼是否比反饋q標度代碼大或粗的判斷。如果判斷結果表示歷史q標度代碼比反饋q標度代碼大或粗,那么流程繼續(xù)到步驟S15。
在步驟S15,控制器70饋送作為量化標度的歷史q標度代碼到量化電路57,量化電路57然后通過利用歷史q標度代碼執(zhí)行量化處理。
流程然后進到步驟S16,在此步驟,控制器70對于包括在幀中的所有的宏塊是否已被量化形成一個判定。如果判定結果表示包括在幀中的所有的宏塊還未被量化,那么流程返回到S13以便重復地執(zhí)行步驟S13到步驟S16的處理部分直至包括在幀中的所有宏塊都被量化。
另一方面,如果在步驟S14形成的判定結果表示歷史q標度代碼不大于反饋q標度代碼,即歷史q標度代碼小于反饋q標度代碼,那么流程繼續(xù)到步驟S17。
在步驟S17,控制器70饋送作為量化標度的反饋q標度代碼到量化電路57,量化電路57然后通過利用反饋q標度代碼執(zhí)行量化處理。
另一方面,如果在步驟S11形成的判定結果表示輸入圖像歷史信息不包括要改變的圖像類型的編碼參數(shù),那么流程進到步驟S18。
在步驟S18,量化電路57從控制器70接收反饋q標度代碼的候選值。
流程然后進到步驟S19,在此步驟量化電路57通過利用Q反饋執(zhí)行量化處理。
流程然后進到步驟S20,在此步驟,控制器70對于包括在幀中的所有的宏塊是否已被量化形成一個判定。如果判定結果表示包括在幀中的所有的宏塊還未被量化,那么流程返回到步驟S18以便重復地執(zhí)行步驟S18到步驟S20的處理部分直至包括在幀中的所有宏塊都被量化。
以前參考圖15解釋的代碼轉換器101通過在基帶視頻數(shù)據(jù)復用這些參數(shù),饋送以前的第一、第二和第三代編碼參數(shù)到視頻編碼設備106。但是在本發(fā)明中,在基帶視頻數(shù)據(jù)中復用以前的編碼參數(shù)的技術不是絕對需要的。例如,以前的編碼參數(shù)可以通過利用諸如于圖37所示的基帶視頻數(shù)據(jù)線路分離提供的數(shù)據(jù)總線的傳輸線路來傳送。
圖37所示的視頻解碼設備102、歷史解碼設備104、視頻編碼設備106和歷史編碼設備107分別與前面已參考圖15描述的視頻解碼設備102、歷史解碼設備104、視頻編碼設備106和歷史編碼設備107完全相同的配置和功能。
在視頻解碼設備102中使用的可變長度解碼電路112從序列層、GOP層、圖像層、限幅層和第三代編碼視頻ST(3rd)的宏塊層提取第三代編碼參數(shù),從而饋送此參數(shù)到歷史編碼設備107和視頻編碼設備106中使用的控制器70。歷史編碼設備107轉換饋送到此的第三代編碼參數(shù)成為未能在圖像層上的用戶數(shù)據(jù)區(qū)域中進行描述的轉換的歷史數(shù)據(jù)流(),從而饋送此轉換的歷史數(shù)據(jù)流()到用戶數(shù)據(jù)的視頻編碼設備106中使用的可變長度編碼電路58。
此外,可變長度解碼電路112也從第三代編碼的視頻比特流ST(3rd)的圖像層上的用戶數(shù)據(jù)區(qū)域中提取包括以前第一和第二代編碼參數(shù)的用戶數(shù)據(jù)(用戶數(shù)據(jù)),從而饋送此用戶數(shù)據(jù)到歷史解碼設備104和在視頻編碼設備106中使用的可變長度編碼電路58。歷史解碼設備104從在作為轉換的歷史數(shù)據(jù)流()的用戶數(shù)據(jù)中描述的用戶數(shù)據(jù)的歷史數(shù)據(jù)流中提取第一和第二代編碼參數(shù),從而饋送此參數(shù)到視頻編碼設備106中使用的控制器70。視頻編碼設備106的控制器70根據(jù)從歷史解碼設備104中接收的第一和第二代編碼參數(shù)以及從視頻解碼設備102中接收的第三代編碼參數(shù)控制由視頻編碼設備106執(zhí)行的編碼處理。
同時,在視頻編碼設備106中使用的可變長度編碼電路58接收包括來自視頻解碼設備102的第一和第二代編碼參數(shù)的用戶數(shù)據(jù)(用戶-數(shù)據(jù))和包括來自歷史編碼設備107的第三代編碼參數(shù)的用戶數(shù)據(jù)(用戶-數(shù)據(jù)),從而在作為歷史信息的第四代編碼視頻比特流的圖像層上的用戶數(shù)據(jù)區(qū)域中描述用戶數(shù)據(jù)段。
圖38是表示用于解碼MPEG視頻數(shù)據(jù)流所用的句法圖。解碼器根據(jù)此句法解碼MPEG比特數(shù)據(jù)流。以便從比特流中提取多個同樣的數(shù)據(jù)項目或同樣的數(shù)據(jù)單元。在下面將要解釋的句法中,函數(shù)和條件狀態(tài)均由通常的字符串表示而數(shù)據(jù)單元由粗線字符表示。由表示數(shù)據(jù)項目名稱的助記(Mnemonic)描述的數(shù)據(jù)項目,有些情況下,助記還指示包括數(shù)據(jù)項和數(shù)據(jù)項類型的位長度。
首先,解釋在圖38所示的句法中所用的函數(shù)。next-start-code()是用于搜索在比特流中描述的起始代碼的比特流的一個函數(shù)。在圖38所示的句法中,next-start-code()函數(shù)跟隨sequence-header()函數(shù)和順序設定的sequence-extension()函數(shù)以便表示比特流包括由sequence-header()和sequence-extension()函數(shù)限定的數(shù)據(jù)單元。因此,在sequence-header()和sequence-extension()函數(shù)的開始描述的一種數(shù)據(jù)單元即起始代碼就由next-start-code()功能從操作中的比特流中求出以便對此比特流解碼。起始代碼然后作為基準,以便進一步找到sequence-header()和sequence-extension()函數(shù)以及由sequence-header()和sequence-extension()函數(shù)定義的解碼數(shù)據(jù)元。
應指出,sequence-header()函數(shù)是用于定義MPEG比特流中序列層的標題數(shù)據(jù)的函數(shù),而sequence_extension()函數(shù)是用于定義MPEG比特流中序列層的擴展數(shù)據(jù)的函數(shù)。
在sequence_extension()函數(shù)后說明do{}while語句。do{}while語句包括在do語句后的{}塊和在{}塊后的while語句。只要while語句定義的條件為真,從比特流中提取由do語句后{}塊中的函數(shù)描述的數(shù)據(jù)元。也就是說,只要while語句定義的條件為真,do{}while語法定義解碼處理,以提取由do語句后的{}塊中的函數(shù)描述的數(shù)據(jù)元。
while語句中使用的nextbit()是用于把比特流中出現(xiàn)的一個比特或比特串與下一個將要解碼的數(shù)據(jù)元比較的函數(shù)。在圖38所示的語法例子中,nextbit()函數(shù)將比特流中出現(xiàn)的比特串與用來表明視頻序列結束的序列結束碼比較。如果比特流中出現(xiàn)的該串比特與序列結束碼不匹配,while語句定義的條件則為真。于是,sequence_extension()函數(shù)后描述的do{}while語句表明只要用來表示視頻序列結束的序列結束碼未出現(xiàn)在比特流中,則在比特流中描述由do語句后的{}塊中的函數(shù)描述的數(shù)據(jù)元。
在比特流中的sequence_extension()函數(shù)定義的數(shù)據(jù)元之后,描述extension_and_user_data(0)函數(shù)定義的數(shù)據(jù)元。extension_and_user_data(0)函數(shù)是用于定義擴展數(shù)據(jù)和MPEG比特流序列層的用戶數(shù)據(jù)的函數(shù)。
extension_and_user_data(0)函數(shù)之后的do{}while語句是只要while語句定義的條件是真,則從比特流提取do語句后的{}塊中的函數(shù)描述的數(shù)據(jù)元。while語句中使用的nextbit()函數(shù)是用來通過將比特串與該函數(shù)中規(guī)定的起始代碼比較來做出比特流中出現(xiàn)的一個比特或一串比特是否分別與圖像起始代碼或起始代碼組匹配的判斷的函數(shù)。如果比特流中出現(xiàn)的該串比特與圖像起始代碼或起始代碼組匹配,則認為while語句定義的條件為真。因此,如果圖像起始代碼或起始代碼組出現(xiàn)在比特流中,則在該起始代碼之后描述do語句后的塊中的函數(shù)定義的數(shù)據(jù)元的代碼。因此,通過找到由圖像起始代碼或起始代碼組表示的起始代碼,則可從比特流中提取由do語句的{}塊中的函數(shù)定義的數(shù)據(jù)元。
在do語句{}塊的開始描述的if語句陳述了“如果起始代碼組出現(xiàn)在比特流中”的條件。由if語句陳述的真實(滿足)條件表示在起始代碼組后接著描述由group_of_picture_header(1)函數(shù)和extension_and_user_data(1)函數(shù)定義的數(shù)據(jù)元。
group_of_picture_header(1)函數(shù)是用于定義MPEG比特流GOP層的標題數(shù)據(jù)的函數(shù),extension_and_user_data(1)函數(shù)是用于定義名為擴展數(shù)據(jù)的擴展數(shù)據(jù)和或名為MPEG比特流GOP層的用戶數(shù)據(jù)的用戶數(shù)據(jù)的函數(shù)。
此外,在該比特流中,在由group_of_picture_header(1)函數(shù)和extension_and_user_data(1)函數(shù)定義的數(shù)據(jù)元之后描述由picture_header()函數(shù)和pictyre_coding_extension()函數(shù)定義的數(shù)據(jù)元。當然,如果if語句定義的條件不是真,則不描述group_of_picture_header(1)函數(shù)和extenson_and_user_data(1)函數(shù)定義的數(shù)據(jù)元。這種情況下,在由extension_and_user_data(0)函數(shù)后定義的地址點元之后描述由picture_header()函數(shù)和picture_coding_extension()函數(shù)定義的數(shù)據(jù)元。
picture_header()函數(shù)是用來定義標題數(shù)據(jù)到MPEG數(shù)據(jù)流的圖像層的函數(shù),picture_coding_extension()函數(shù)是用來定義MPEG數(shù)據(jù)流圖像層的第一擴展數(shù)據(jù)的函數(shù)。
下一個while語句是用于定義條件的函數(shù)。只要while語句定義的條件為真,則判斷while語句定義的條件后的塊中描述的每個if語句定義的條件是真還是假。while語句中使用的nextbits()函數(shù)是用于做出有關比特流中出現(xiàn)的一串比特是否分別與擴展起始代碼和用戶起始代碼匹配的判斷的函數(shù)。如果比特流中出現(xiàn)的該串比特與擴展起始代碼和用戶數(shù)據(jù)起始匹配,則認為while語句定義的條件語句為真。
while語句后的{}塊中的第一if語句是用于做出有關比特流中出現(xiàn)的一串比特是否與擴展起始代碼匹配的判斷的函數(shù)。與32比特擴展起始代碼匹配的比特流中出現(xiàn)的比特串表示在比特流中的擴展起始代碼后描述由extension_data(2)函數(shù)定義的數(shù)據(jù)元。
第二if語句是用于做出有關比特流中出現(xiàn)的數(shù)據(jù)串是否與用戶數(shù)據(jù)起始代碼匹配的判斷的函數(shù)。如果比特流中出現(xiàn)的比特串與32比特用戶數(shù)據(jù)起始數(shù)據(jù)代碼匹配,則判斷由第三if語句定義的條件是真還是假。用戶數(shù)據(jù)起始代碼是用于表明MPEG比特流圖像層的用戶數(shù)據(jù)區(qū)開始的起始代碼。
while語句后的{}塊中第三if語句是用于做出有關比特流中出現(xiàn)的比特串是否與歷史數(shù)據(jù)ID匹配的判斷的函數(shù)。與8比特歷史數(shù)據(jù)ID匹配的比特流中出現(xiàn)的比特串表示在由MPEG比特流圖像層的用戶數(shù)據(jù)區(qū)中的8比特歷史數(shù)據(jù)ID表示的代碼后描述由converted_history_stream()函數(shù)定義的數(shù)據(jù)元。
converted_history_stream()函數(shù)是用于描述發(fā)射MPEG編碼處理中使用的所有編碼參數(shù)的歷史信息和歷史數(shù)據(jù)的函數(shù)。后面將描述由該converted_history_stream()函數(shù)定義的數(shù)據(jù)元的細節(jié)。歷史數(shù)據(jù)ID是用于表明MPEG比特流圖像層的用戶數(shù)據(jù)區(qū)中的歷史信息和歷史數(shù)據(jù)描述開始的起始代碼。
else語句是表示由第三if語句定義的假條件情況的語法。因此,如果MPEG比特流圖像層的用戶數(shù)據(jù)區(qū)中未描述converted_history_stream()函數(shù)定義的數(shù)據(jù)元,則描述由user_data()函數(shù)定義的數(shù)據(jù)元。
picture_data()函數(shù)是用于描述與MPEG比特流圖像層的用戶數(shù)據(jù)后的限幅層和宏塊層有關的數(shù)據(jù)元的函數(shù)。通常,在user_data()函數(shù)定義的數(shù)據(jù)元或比特流圖像層的用戶數(shù)據(jù)區(qū)中描述converted_history_stream()函數(shù)定義的數(shù)據(jù)元后描述由該pictrue_data()函數(shù)定義的數(shù)據(jù)元。然而,如果表明圖像層數(shù)據(jù)元的比特流中既不存在擴展起始代碼也不存在用戶數(shù)據(jù)起始代碼,則在由picture_coding_extension_()函數(shù)定義的數(shù)據(jù)元后描述由該picture_data()函數(shù)定義的數(shù)據(jù)元。
在該picture_data()函數(shù)定義的數(shù)據(jù)元之后,依次描述由sequence_header()函數(shù)和sequence_extension()函數(shù)定義的數(shù)據(jù)元。由sequence_header()函數(shù)和sequence_extension()函數(shù)描述的數(shù)據(jù)元與由在視頻數(shù)據(jù)流序列開始描述的sequence_header()函數(shù)和sequence_extension()函數(shù)定義的數(shù)據(jù)元完全相同。在數(shù)據(jù)流中定義相同數(shù)據(jù)部分的原因是防止不能再接收序列層的數(shù)據(jù),從而防止當數(shù)據(jù)流接收裝置在諸如與圖像層對應的比特流部分之類數(shù)據(jù)流中部開始接收比特流時不能再解碼數(shù)據(jù)流。
在sequence_header()函數(shù)和sequence_extension()函數(shù)定義的數(shù)據(jù)元之后,即在數(shù)據(jù)流結尾,描述用于表明該序列結束的32比特序列結束代碼。
圖39是至此描述的語法基本結構的概略示意圖。
接下來說明converted_history_stream()函數(shù)定義的歷史流。
converted_histroy_stream()函數(shù)是用于向MPEG比特流圖像層的用戶數(shù)據(jù)區(qū)中插入表示歷史信息的歷史流的函數(shù)。應指出,單詞‘converted’表示該數(shù)據(jù)流已完成了對由將要插入的歷史數(shù)據(jù)構成的歷史流的至少每隔22比特插入一個標志比特到用戶區(qū)以避免開始仿效的轉換處理。
以圖40至46所示的固定長度歷史流的格式之一或后面將描述的圖47所示的可變長度歷史流描述converted_history_stream()函數(shù)。如果在編碼器一側選擇固定長度歷史流,具有在對來自歷史流的數(shù)據(jù)元解碼的解碼器中采用的電路和軟件變簡單的優(yōu)點。另一方面,如果在編碼器一側選擇可變長度歷史流,編碼器能在需要時任意選擇圖像層的用戶區(qū)中描述的歷史信息或數(shù)據(jù)元。因此,可減少歷史流的數(shù)據(jù)量。結果是,還可整個降低比特流的數(shù)據(jù)率。
本發(fā)明的說明中引用的歷史信息、歷史數(shù)據(jù)和歷史參數(shù)是相關技術編碼處理中使用的編碼參數(shù)或數(shù)據(jù)元,而不是在當前編碼處理或在最后階段執(zhí)行的編碼處理中使用的編碼參數(shù)數(shù)據(jù)??紤]作為第一代的編碼處理中的I圖像,作為第二代的編碼處理中的P圖像和作為第三代的編碼處理中的B圖像來編碼和發(fā)射圖像的情況。在該序列的預定位置、GOP圖像、限幅和作為第三代的編碼處理結果產(chǎn)生的編碼比特流的宏塊層描述第三代編碼處理中使用的編碼參數(shù)。另一方面,第一和第二代編碼處理中使用的編碼參數(shù)不記錄在該序列或用于記錄第三代編碼處理中使用的編碼參數(shù)的GOP層中,而是作為編碼參數(shù)的歷史信息記錄在圖像層的用戶數(shù)據(jù)區(qū)。
首先,基準圖40至46說明固定長度歷史流的語法。
在第一位置,把與前面的編碼處理中使用的序列層的序列標題有關的編碼參數(shù),即通常是第一和第二代的編碼處理作為歷史流插入在最后階段執(zhí)行的編碼處理,即通常是第三代編碼處理中產(chǎn)生的比特流圖像層的用戶數(shù)據(jù)區(qū)。應指出,與前面編碼處理中產(chǎn)生的比特流序列層的序列標題有關的歷史信息不插入在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流序列層的序列標題中。
與前面編碼處理中使用的序列標題相關的數(shù)據(jù)元包括如圖40所示的序列標題代碼,序列標題出現(xiàn)標記,水平量值,垂直量值,寬高比信息,幀頻代碼,比特率值,標志比特,VBV緩沖量值,制約參數(shù)標記,負載內(nèi)部量化器矩陣,內(nèi)部量化器矩陣,負載非內(nèi)部量化器矩陣,和非內(nèi)部量化器矩陣。
上面列出的數(shù)據(jù)元描述如下。序列標題代碼數(shù)據(jù)元是序列層的起始同步化代碼。序列標題出現(xiàn)標記數(shù)據(jù)元是用于表明序列標題中的數(shù)據(jù)是有效還是無效的標記。水平量值數(shù)據(jù)元是包括水平方向中低位12比特圖像像素數(shù)量的數(shù)據(jù)。垂直量值數(shù)據(jù)元是包括垂直方向中低位12比特的圖像像素數(shù)量的數(shù)據(jù)。寬高比信息數(shù)據(jù)元是寬高比,即圖像的高度與寬度之比,或顯示屏幕的寬高比。幀頻代碼數(shù)據(jù)元是表示圖像顯示周期的數(shù)據(jù)。
比特率值數(shù)據(jù)元是包括用于限制所產(chǎn)生的比特數(shù)量的比特率的低位18比特的數(shù)據(jù)。該數(shù)據(jù)以400bps單位集攏。標志比特數(shù)據(jù)元是用于防止起始代碼仿效而插入的比特數(shù)據(jù)。VBV緩沖量值數(shù)據(jù)元是包括用于確定控制產(chǎn)生代碼量中使用的虛擬緩沖量(視頻緩沖檢驗器)的值的低位10比特的數(shù)據(jù)。制約參數(shù)標記數(shù)據(jù)元是用于表明參數(shù)是否受限制的標記。負載內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示是否存在內(nèi)部MB量化矩陣數(shù)據(jù)的標記。內(nèi)部量化器矩陣數(shù)據(jù)元是內(nèi)部MB量化矩陣的值。負載內(nèi)部非量化器矩陣數(shù)據(jù)元是用于表示是否存在非內(nèi)部MB量化矩陣的數(shù)據(jù)的標記。非內(nèi)部量化器矩陣數(shù)據(jù)元是非內(nèi)部MB量化矩陣的值。
接下來描述表示前面編碼處理中使用的序列擴展的數(shù)據(jù)元作為在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
表示前面編碼中使用的序列擴展的數(shù)據(jù)元包括如圖40和41所示的擴展起始代碼,擴展起始代碼識別符,序列擴展出現(xiàn)標記,輪廓和電平識別,逐行序列,色度格式,水平量擴展,垂直量擴展,比特率擴展,vbv緩沖量擴展,低延遲,幀頻擴展n和幀頻擴展d。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是擴展數(shù)據(jù)的起始同步代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射擴展數(shù)據(jù)的數(shù)據(jù)。序列擴展出現(xiàn)標記數(shù)據(jù)元是用于表示序列擴展中的數(shù)據(jù)是有效還是無效的標記。輪廓和電平識別數(shù)據(jù)元是規(guī)定視頻數(shù)據(jù)的輪廓和電平的數(shù)據(jù)。逐行序列數(shù)據(jù)元是表明已從順序掃描獲得視頻數(shù)據(jù)的數(shù)據(jù)。色度格式數(shù)據(jù)元是規(guī)定視頻數(shù)據(jù)的色差格式的數(shù)據(jù)。
水平量擴展數(shù)據(jù)元是要加到序列標題的水平量值的兩個高位比特數(shù)據(jù)。垂直量擴展數(shù)據(jù)元是要加到序列標題的垂直量值的兩個高位比特數(shù)據(jù)。比特率擴展數(shù)據(jù)元是要加到序列標題的比特率值的12個高位比特數(shù)據(jù)。vbv緩沖量擴展數(shù)據(jù)元是要加到序列標題的vbv緩沖量值的8個高位比特數(shù)據(jù)。低延遲數(shù)據(jù)元是用于表示不包括B圖像的數(shù)據(jù)。幀頻擴展n數(shù)據(jù)元是用于獲得與序列標題的幀頻代碼結合的幀頻的數(shù)據(jù)。幀頻擴展d數(shù)據(jù)元是用于獲得與序列標題的幀頻代碼結合的幀頻的數(shù)據(jù)。
接下來,描述表示前面編碼處理中使用的序列層的序列顯示擴展的數(shù)據(jù)元作為比特流圖像層的用戶區(qū)中的歷史流。
描述為序列顯示擴展的數(shù)據(jù)元是如圖41所示的擴展起始代碼,擴展起始代碼識別符,序列顯示擴展出現(xiàn)標記,視頻格式,彩色譯碼,基色,傳送特性,矩陣系數(shù),顯示水平量和顯示垂直量。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是擴展數(shù)據(jù)的起始同步代碼。擴展起始代碼識別符數(shù)據(jù)元是用來表示發(fā)射擴展數(shù)據(jù)的數(shù)據(jù)。序列顯示擴展出現(xiàn)標記數(shù)據(jù)元是用于表示序列擴展中的數(shù)據(jù)元是有效還是無效的標記。視頻格式數(shù)據(jù)元是表示源信號視頻格式的數(shù)據(jù)。彩色譯碼數(shù)據(jù)元是用于表示色空間的詳細數(shù)據(jù)存在的數(shù)據(jù)?;珨?shù)據(jù)元是表示源信號的彩色特性細節(jié)的數(shù)據(jù)。傳送特性數(shù)據(jù)元是表示已如何執(zhí)行光電轉換細節(jié)的數(shù)據(jù)。矩陣系數(shù)數(shù)據(jù)元是表示如何從光的三原色轉換成源信號的細節(jié)的數(shù)據(jù)。顯示水平量數(shù)據(jù)元是表示啟動區(qū)或準備顯示的水平量的數(shù)據(jù)。顯示垂直量數(shù)據(jù)元是表示啟動區(qū)或準備顯示的垂直量的數(shù)據(jù)。
接下來描述表示前面編碼處理中產(chǎn)生的宏塊的相位信息的宏塊分配數(shù)據(jù)(名為用戶數(shù)據(jù)中的宏塊分配)作為在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
表示宏塊相位信息的用戶數(shù)據(jù)中的宏塊分配包括如圖41所示的諸如宏塊分配出現(xiàn)標記,v相位和h相位之類的數(shù)據(jù)元。
上面列出的數(shù)據(jù)元描述如下。宏塊分配出現(xiàn)標記數(shù)據(jù)元是用于表示用戶數(shù)據(jù)中的宏塊分配的數(shù)據(jù)元是有效還是無效的標記。v相位數(shù)據(jù)元是表示當宏塊從圖像數(shù)據(jù)分離時獲得的垂直方向相位信息的數(shù)據(jù)。h相位數(shù)據(jù)元是表示當宏塊從圖像數(shù)據(jù)分離時獲得的水平方向相位信息的數(shù)據(jù)。
接下來描述表示前面的編碼處理中使用的GOP層的GOP標題的數(shù)據(jù)元作為在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
表示GOP標題的數(shù)據(jù)元是如圖41所示的起始代碼組,圖像標題組出現(xiàn)標記,時間代碼,閉路gop(closed_gop)和開路鏈路。
上面列出的數(shù)據(jù)元描述如下。起始代碼組數(shù)據(jù)元是GOP層戶的起始同步代碼。圖像標題組出現(xiàn)標記數(shù)據(jù)元是用于表示圖像標題組中的數(shù)據(jù)元是有效還是無效的標記。時間代碼數(shù)據(jù)元是表示從GOP的第一圖像的開始測量的時間長度的時間代碼。閉路gop數(shù)據(jù)元是用于表示是否能夠從另一個GOP執(zhí)行一個GOP中的圖像獨立重放操作的標記。開路鏈路數(shù)據(jù)元是用于表示由于諸如編輯之類的原因不能用高精度重放在GOP開始的B圖像的標記。
接下來描述表示前面編碼處理中使用的圖像層的圖像標題數(shù)據(jù)元作為在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
與圖像標題有關的數(shù)據(jù)元是如圖41和42所示的圖像起始代碼,暫時基準,圖像編碼類型,vbv延遲,全像素前向矢量,前向f代碼,全像素后向矢量和后向f代碼。
上面列出的數(shù)據(jù)元描述如下。圖像起始代碼數(shù)據(jù)元是圖像層的起始同步代碼。暫時基準數(shù)據(jù)元是用于表示圖像顯示順序的編號。該編號在GOP的開始復位。圖像編碼類型數(shù)據(jù)元是用于表示圖像類型的數(shù)據(jù)。vbv延遲數(shù)據(jù)元是表示在隨機存取的虛擬緩沖初始狀態(tài)的數(shù)據(jù)。全像素前向矢量數(shù)據(jù)元是用于表示是以像素單元還是以半像素單元為單位表示前向運動矢量精確度的標記。前向f代碼數(shù)據(jù)元是表示前向運動矢量搜索范圍的數(shù)據(jù)。全像素后向矢量數(shù)據(jù)元是用于表示是以像素單元還是以半像素單元為單位表示后向運動矢量精確度的標記。后向f代碼數(shù)據(jù)元是表示后向運動矢量搜索范圍的數(shù)據(jù)。
接下來描述表示前面編碼處理中使用的圖像層的圖像編碼擴展的數(shù)據(jù)元作為在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
與圖像編碼擴展有關的數(shù)據(jù)元是如圖42所示的擴展起始代碼,擴展起始代碼識別符,f代碼
[1],f代碼[1]
,f代碼[1][1],內(nèi)部dc精度,圖像結構,頂場第一,幀預測幀dct,隱藏運動矢量,q標度型,內(nèi)部vlc格式,隔行掃描,重復第一場,色度420型,逐行幀,組合顯示標記,v軸,場序列,子載波,短脈沖幅度和子載波相位。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是用于表示圖像層擴展數(shù)據(jù)開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。f代碼
數(shù)據(jù)元是表示在前向的水平運動矢量搜索范圍的數(shù)據(jù)。f代碼
[1]數(shù)據(jù)元是表示在前向的垂直運動矢量搜索范圍的數(shù)據(jù)。f代碼[1]
數(shù)據(jù)元是表示在后向的水平運動矢量搜索范圍的數(shù)據(jù)。f代碼[1][1]數(shù)據(jù)元是表示在后向的垂直運動矢量搜索范圍的數(shù)據(jù)。
內(nèi)部dc精度是表示DC系數(shù)精度的數(shù)據(jù)。圖像結構數(shù)據(jù)元是用于表示該數(shù)據(jù)結構是幀結構還是場結構的數(shù)據(jù)。在場結構的情況下,圖像結構數(shù)據(jù)元還表明該場結構是高位場還是低位場。頂場第一數(shù)據(jù)元是用于表明幀結構的第一場是高位場還是低位場的數(shù)據(jù)。預測幀dct數(shù)據(jù)元是用于表明在幀結構的情況下僅在幀DCT模式執(zhí)行幀模式DCT預測的數(shù)據(jù)。隱藏運動矢量數(shù)據(jù)元是用于表示宏塊包括用于隱藏傳輸誤差的運動矢量的數(shù)據(jù)。
q標度型數(shù)據(jù)元是用于表明采用線性量化標度還是非線性量化標度的數(shù)據(jù)。內(nèi)部vlc格式數(shù)據(jù)元是用于表明是否在內(nèi)部宏塊使用另一個2維VLC的數(shù)據(jù)。隔行掃描數(shù)據(jù)元是表示選擇使用曲折掃描或隔行掃描的數(shù)據(jù)。重復第一場數(shù)據(jù)元是在2:3下拉(pull down)情況下使用的數(shù)據(jù)。色度420型數(shù)據(jù)元是在4:2:0信號格式的情況下等于下一個逐行幀數(shù)據(jù)元的值或否則等于0的數(shù)據(jù)。逐行幀數(shù)據(jù)元是用于表示是否已從順序掃描獲得該圖像的數(shù)據(jù)。組合顯示標記數(shù)據(jù)元是用于表示源信號是否是組合信號的標記。
v軸數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。場序列數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。子載波數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。短脈沖幅度數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。子載波相位數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。
接下來,描述在前面編碼處理中使用的量化矩陣擴展作為在最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
與量化矩陣擴展有關的數(shù)據(jù)元是如圖43所示的擴展起始代碼,擴展起始代碼識別符,量化矩陣擴展出現(xiàn)標記,負載內(nèi)部量化器矩陣,內(nèi)部量化器矩陣[64],負載非內(nèi)部量化器矩陣,非內(nèi)部量化器矩陣[64],負載色度內(nèi)部量化器矩陣,色度非內(nèi)部量化器矩陣[64],負載色度內(nèi)部量化器矩陣和色度非內(nèi)部量化器矩陣[64]。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是用于表示量化矩陣擴展開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。量化矩陣擴展出現(xiàn)標記數(shù)據(jù)元是用于表示量化矩陣擴展的數(shù)據(jù)元是有效還是無效的標記。負載內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。內(nèi)部量化矩陣數(shù)據(jù)元是表示內(nèi)部宏塊量化矩陣值的數(shù)據(jù)。
負載非內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示非內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。非內(nèi)部量化器矩陣數(shù)據(jù)元是表示非內(nèi)部宏塊的量化矩陣值的數(shù)據(jù)。負載色度內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示色差內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。色度內(nèi)部量化器矩陣數(shù)據(jù)元是表示色差內(nèi)部宏塊的量化矩陣值的數(shù)據(jù)。負載色度非內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示色差非內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。色度非內(nèi)部量化器矩陣數(shù)據(jù)元是表示色差非內(nèi)部宏塊的量化矩陣值的數(shù)據(jù)。
接下來,描述前面編碼處理中使用的版權擴展作為最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
與版權擴展有關的數(shù)據(jù)元是如圖43所示的擴展起始代碼,擴展起始代碼識別符,版權擴展出現(xiàn)標記,版權標記,版權識別符,原件或復制件,版權號碼1,版權號碼2和版權號碼3。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是用于表示版權擴展開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。版權擴展出現(xiàn)標記數(shù)據(jù)元是用于表示版權擴展的數(shù)據(jù)元是有效還是無效的標記。版權標記數(shù)據(jù)元是用于表示直到下一個版權擴展或序列結束的范圍內(nèi)是否已對編碼視頻數(shù)據(jù)給予版權的標記。
版權識別符數(shù)據(jù)元是用于識別對由ISO/IEC JTC/SC29規(guī)定的版權分類的規(guī)定的數(shù)據(jù)。原件或復制件數(shù)據(jù)元是用于表示比特流數(shù)據(jù)是原始還是復制數(shù)據(jù)的標記。版權號碼1數(shù)據(jù)元表示版權號碼的44至63比特。版權號碼2數(shù)據(jù)元表示版權號碼的22至43比特。版權號碼3數(shù)據(jù)元表示版權號碼的0至21比特。
接下來,描述前面編碼處理中使用的圖像顯示擴展(圖像顯示擴展)作為最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中的歷史流。
表示圖像顯示擴展的數(shù)據(jù)元是如圖44所示的擴展起始代碼,擴展起始代碼識別符,圖像顯示擴展出現(xiàn)標記,幀中心水平偏移1,幀中心垂直偏移1,幀中心水平偏移2,幀中心垂直偏移2,幀中心水平偏移3和幀中心垂直偏移3。
描述上面列出的數(shù)據(jù)元如下。擴展起始代碼數(shù)據(jù)元是用于表示圖像顯示擴展開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。圖像顯示擴展出現(xiàn)標記數(shù)據(jù)元是用于表示圖像顯示擴展的數(shù)據(jù)元是有效還是無效的標記。幀中心水平偏移數(shù)據(jù)元是顯示區(qū)在水平方向的偏移,幀中心垂直偏移數(shù)據(jù)元是顯示區(qū)在垂直方向的偏移??煞謩e定義多達三個水平和垂直偏移的偏移值。
描述用戶數(shù)據(jù)作為在表示如圖44所示的最后階段執(zhí)行的編碼處理中產(chǎn)生的比特流圖像層的用戶區(qū)中已說明的圖像顯示擴展的歷史信息后的歷史流。
在用戶數(shù)據(jù)之后,描述在前面編碼處理中使用的宏塊上的信息作為圖44至46所示的歷史流。
宏塊上的信息包括如圖44至46所示的與宏塊位置有關的數(shù)據(jù)元,與宏塊模式有關的數(shù)據(jù)元,與量化步驟的控制有關的數(shù)據(jù)元,與運動補償有關的數(shù)據(jù)元,與宏塊碼型有關的數(shù)據(jù)元,和與產(chǎn)生的代碼量有關的數(shù)據(jù)元。與宏塊位置有關的數(shù)據(jù)元包括例如宏塊地址h,宏塊地址v,限幅標題出現(xiàn)標記和跳越宏塊標記。與宏塊模式有關的數(shù)據(jù)元包括例如宏塊量化,前向宏塊運動,后向宏塊運動,宏塊碼型,宏塊內(nèi)部,時空加權代碼標記,幀運動類型和dct類型。與量化步驟的控制有關的數(shù)據(jù)元包括例如量化器標度代碼。與運動補償有關的數(shù)據(jù)元包括PMV
,PMV
[1],運動垂直場選擇
,PMV
[1]
,PMV
[1][1],運動垂直場選擇
[1],PMV[1]
,PMV[1]
[1],運動垂直場選擇[1]
,PMV[1][1]
,PMV[1][1][1]和運動垂直場選擇[1][1]。與宏塊碼型有關的數(shù)據(jù)元包括例如編碼塊碼型,與產(chǎn)生的代碼量有關的數(shù)據(jù)元是num_mv比特,num_coef比特和num其它比特等。
下面詳細描述與宏塊有關的數(shù)據(jù)元。
宏塊地址h數(shù)據(jù)元是定義宏塊目前在水平方向的絕對位置的數(shù)據(jù)。宏塊地址v數(shù)據(jù)元是定義宏塊目前在垂直方向的絕對位置的數(shù)據(jù)。限幅標題出現(xiàn)標記數(shù)據(jù)元是用于表示該宏塊位于限幅層開始,以及是否伴隨有限幅標題的標記。跳越宏塊標記數(shù)據(jù)元是用于表示是否在解碼處理中跳越該宏塊的標記。
宏塊量化數(shù)據(jù)元是從圖65至67所示的宏塊類型得到的數(shù)據(jù)。該數(shù)據(jù)元表示比特流中是否出現(xiàn)量化器標度代碼。宏塊前向運動數(shù)據(jù)元是從圖65至67所示的宏塊類型得到的數(shù)據(jù),并在解碼處理中使用。宏塊后向運動數(shù)據(jù)元是從圖65至67所示的宏塊類型得到的數(shù)據(jù),并在解碼處理中使用。宏塊碼型數(shù)據(jù)元是從圖65至67所示的宏塊類型得到的數(shù)據(jù),它表示比特流中是否出現(xiàn)編碼的塊碼型。
宏塊內(nèi)部數(shù)據(jù)元是從圖65至67所示的宏塊類型得到的數(shù)據(jù),并在解碼處理中使用。時空加權代碼標記數(shù)據(jù)元是從圖65至67所示的宏塊類型得到的標記,用于表明比特流中是否存在可用時間標度表示的低位層圖像的上抽樣技術的時空加權代碼。
幀運動類型數(shù)據(jù)元是用于表示幀的宏塊預測類型的2比特代碼。幀運動類型值“00”表示有兩個預測矢量并且該預測類型是基于場的預測類型。幀運動類型值“01”表示有一個預測矢量并且該預測類型是基于場的預測類型。幀運動類型值“10”表示有一個預測矢量并且該預測類型是基于幀的預測類型。幀運動類型值“11”表示有一個預測矢量并且該預測類型是雙主(dual_prime)預測類型。場運動類型數(shù)據(jù)元是表示場的宏塊運動預測的2比特代碼。場運動類型值“01”表示有一個預測矢量并且該預測類型是基于場的預測類型。場運動類型值“10”表示有兩個預測矢量并且該預測類型是基于18×8宏塊的預測類型。場運動類型值“11”表示有一種預測矢量并且該預測類型是雙主預測類型。dct類型數(shù)據(jù)元是用于表示是以幀DCT模式還是以場DCT模式執(zhí)行DCT的數(shù)據(jù)。量化器標度代碼數(shù)據(jù)元表示宏塊的量化步調(diào)(step size)。
下面描述與運動矢量有關的數(shù)據(jù)元。為減少解碼處理中所需的運動矢量幅度,通過實際上對一個特定運動矢量和前面解碼的運動矢量之間的差編碼來對該特定運動矢量進行編碼處理。用于對運動矢量解碼的解碼器必須維持四個運動矢量預測值,每個預測值包括水平和垂直分量。這些運動矢量預測值用PMV[r][s][v]表示。下標[r]是用于表示宏塊中的運動矢量是第一還是第二矢量的標記。更具體地說,[r]值是“0”表示第一矢量,而[r]值為“1”表示第二矢量。下標[s]是用于表示宏塊中的運動矢量的方向是前向還是后向的標記。更具體地說,[s]值為“0”表示前向運動矢量,而[s]值為“1”表示后向運動矢量。下標[v]是用于表示宏塊中的運動矢量分量是水平還是垂直方向的標記。更具體地說,[v]值為“0”表示運動矢量的水平分量,而[v]值為“1”表示運動矢量的垂直分量。
因此,PMV
是表示第一矢量的前向運動矢量的水平分量的數(shù)據(jù)。PMV
[1]是表示第一矢量的前向運動矢量的垂直分量的數(shù)據(jù)。PMV
[1]
是表示第一矢量的后向運動矢量的水平分量的數(shù)據(jù)。PMV
[1][1]是表示第一矢量的后向運動矢量的垂直分量的數(shù)據(jù)。PMV[1]
是表示第二矢量的前向運動矢量的水平分量的數(shù)據(jù)。PMV[1]
[1]是表示第二矢量的前向運動矢量的垂直分量的數(shù)據(jù)。PMV[1][1]
是表示第二矢量的后向運動矢量的水平分量的數(shù)據(jù)。PMV[1][1][1]是表示第二矢量的后向運動矢量的垂直分量的數(shù)據(jù)。
運動垂直場選擇[r][s]是用于表示使用那種預測格式的基準場的數(shù)據(jù)。更具體地說,運動垂直場選擇[r][s]的值為“0”表示頂基準場,而運動垂直場選擇[r][s]的值為“1”表示使用底基準場。
在運動垂直場選擇[r][s]中,下標[r]是用于表示宏塊中的運動矢量是第一還是第二矢量的標記。更具體地說,[r]值為“0”表示第一矢量,而[r]值為“1”表示第二矢量。下標[s]是用于表示宏塊中的運動矢量的方向是前向還是后向的標記。更具體地說,[s]值為“0”表示前向運動矢量,而[s]值為“1”表示后向運動矢量。因此,運動垂直場選擇
表示在產(chǎn)生第一矢量的前向運動矢量中使用的基準場。運動垂直場選擇
[1]表示在產(chǎn)生第一矢量的后向運動矢量中使用的基準場。運動垂直場選擇[1]
表示在產(chǎn)生第二矢量的前向運動矢量中使用的基準場。運動垂直場選擇[1][1]表示在產(chǎn)生第二矢量的后向運動矢量中使用的基準場。
編碼塊碼型數(shù)據(jù)元是表示在每個用于存儲DCT系數(shù)的多個DCT塊中的哪個DCT塊包含一個合理或非零DCT系數(shù)的可變長度數(shù)據(jù)。num_mv比特是表示宏塊中運動矢量代碼量的數(shù)據(jù)。num_coef比特數(shù)據(jù)元是表示宏塊中DCT系數(shù)的代碼量的數(shù)據(jù)。圖46所示的num其它比特數(shù)據(jù)元是表示除運動矢量和DCT系數(shù)外宏塊中代碼量的數(shù)據(jù)。
下面參考圖47至64說明對來自具有可變長度的歷史流的數(shù)據(jù)元解碼的語法。
如圖47所示,具有可變長度的歷史流包括由next_start_code()函數(shù),sequence_header()函數(shù),sequence_extension()函數(shù),extension_and_user_data(0)函數(shù),group_of_pictrue_header()函數(shù),extension_and_user_data(1)函數(shù),picture_header()函數(shù),picture_coding_extension()函數(shù),extension_and_user_data(2)函數(shù)和picture_data()函數(shù)定義的數(shù)據(jù)元。
由于next_start_code()函數(shù)是用于搜索起始代碼比特流的函數(shù),在如圖48所示的歷史流的開始描述由sequence_header()函數(shù)定義并在前面編碼處理中使用的數(shù)據(jù)元。
sequence_header()函數(shù)定義的數(shù)據(jù)元包括如圖48所示的序列標題代碼,序列標題出現(xiàn)標記,水平量值,垂直量值,寬高比信息,幀頻代碼,比特率值,標志比特,VBV緩沖量值,制約參數(shù)標記,負載內(nèi)部量化器矩陣,內(nèi)部量化器矩陣,負載非內(nèi)部量化器矩陣和非內(nèi)部量化器矩陣。
上面列出的數(shù)據(jù)元描述如下。序列標題代碼數(shù)據(jù)元是序列層的起始同步代碼。序列標題出現(xiàn)標記數(shù)據(jù)元是用于表示序列標題中的數(shù)據(jù)是有效還是無效的標記。水平量值數(shù)據(jù)元是包括水平方向低位12個比特的圖像像素數(shù)量的數(shù)據(jù)。垂直量值數(shù)據(jù)元是包括垂直方向低位12個比特的圖像像素數(shù)量的數(shù)據(jù)。寬高比信息數(shù)據(jù)元是圖像像素的寬高比,即圖像的寬高比,或顯示屏幕的寬高比。幀頻代碼數(shù)據(jù)元是表示圖像顯示周期的數(shù)據(jù)。比特率值數(shù)據(jù)元是包括用于限制產(chǎn)生的比特的比特率的低位18個比特的數(shù)據(jù)。集攏在400bsp單位中。
標志比特數(shù)據(jù)元是為防止起始代碼仿效而插入的比特數(shù)據(jù)。VBV緩沖量值數(shù)據(jù)元是包括用于確定在控制產(chǎn)生的代碼量中使用的虛擬緩沖量(視頻緩沖檢驗器)的低位10比特值的數(shù)據(jù)。制約參數(shù)標記數(shù)據(jù)元是用于表示是否制約這些參數(shù)的標記。負載內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示內(nèi)部MB量化矩陣數(shù)據(jù)是否存在的標記。內(nèi)部量化器矩陣數(shù)據(jù)元是內(nèi)部MB量化矩陣的值。負載非內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示非內(nèi)部MB量化矩陣內(nèi)的數(shù)據(jù)是否存在的標記。非內(nèi)部量化器矩陣數(shù)據(jù)元是非內(nèi)部MB量化矩陣的值。
在sequence_header()函數(shù)定義的數(shù)據(jù)元后,描述sequence_extension()函數(shù)定義的數(shù)據(jù)元作為圖49所示的歷史流。
sequence_extension()函數(shù)定義的數(shù)據(jù)元包括如圖49所示的擴展起始代碼,擴展起始代碼識別符,序列擴展出現(xiàn)標記,輪廓和電平識別,逐行序列,色度格式,水平量擴展,垂直量擴展,比特率擴展,vbv緩沖量擴展,低延遲,幀頻擴展n和幀頻擴展d。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是擴展數(shù)據(jù)的起始同步代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的數(shù)據(jù)。序列擴展出現(xiàn)標記數(shù)據(jù)元是用于表示序列擴展中數(shù)據(jù)是有效還是無效的標記。輪廓和電平識別數(shù)據(jù)元是規(guī)定視頻數(shù)據(jù)的輪廓和電平的數(shù)據(jù)。逐行序列數(shù)據(jù)元是表明已從順序掃描獲得視頻數(shù)據(jù)的數(shù)據(jù)。色度格式數(shù)據(jù)元是規(guī)定視頻數(shù)據(jù)的色差格式的數(shù)據(jù)。水平量擴展數(shù)據(jù)元是要加到序列標題的水平量值作為兩個高位比特的數(shù)據(jù)。垂直量擴展數(shù)據(jù)元是要加到序列標題的垂直量值作為兩個高位比特的數(shù)據(jù)。比特率擴展數(shù)據(jù)元是要加到序列標題的比特率值作為12個高位比特的數(shù)據(jù)。vbv緩沖量擴展數(shù)據(jù)元是要加到序列標題的vbv緩沖量值作為8個高位比特的數(shù)據(jù)。
低延遲數(shù)據(jù)元是用于表示不包括B圖像的數(shù)據(jù)。幀頻擴展n數(shù)據(jù)元是用于獲得與序列標題的幀頻代碼結合的幀頻的數(shù)據(jù)。幀頻擴展d數(shù)據(jù)元是用于獲得與序列標題的幀頻代碼結合的幀頻的數(shù)據(jù)。
在sequence_extension()函數(shù)定義的數(shù)據(jù)元之后,描述由extension_and_user_data(0)函數(shù)定義的數(shù)據(jù)元作為圖50所示的歷史流。對于除2之外的(i)值,extension_and_user_data(i)函數(shù)僅描述由user_data()函數(shù)定義的數(shù)據(jù)元作為歷史流而不是描述由extension_data()函數(shù)定義的數(shù)據(jù)元。因此,extension_and_user_data(0)函數(shù)僅描述由user_data()函數(shù)定義的數(shù)據(jù)元作為歷史流。
user_data()函數(shù)根據(jù)與圖51所示的相同語法描述用戶數(shù)據(jù)作為歷史流。
在由extension_and_user_data(0)函數(shù)定義的數(shù)據(jù)元之后,把由圖52所示的group_of_picture_header()函數(shù)定義的數(shù)據(jù)元和由圖50所示的extension_and_user_data(1)函數(shù)定義的數(shù)據(jù)元描述為歷史流。然而,應指出,如果在歷史流中描述表示GOP層的起始代碼的起始代碼組,則僅描述group_of_picture_header()函數(shù)定義的數(shù)據(jù)元和由extension_and_user_data(1)函數(shù)定義的數(shù)據(jù)元。
如圖52所示,由group_of_picture_header()函數(shù)定義的數(shù)據(jù)元是起始代碼組,圖像標題出現(xiàn)標記組,時間代碼,閉路gop和開路鏈路。
上面列出的數(shù)據(jù)元描述如下。起始代碼組數(shù)據(jù)元是GOP層的起始同步代碼。圖像標題出現(xiàn)標記組數(shù)據(jù)元是用于表示圖像標題組中的數(shù)據(jù)元是有效還是無效的標記。時間代碼數(shù)據(jù)元是表示從GOP的第一圖像的開始測量的時間長度的時間代碼。閉路gop數(shù)據(jù)元是用于表示是否能夠從另一個GOP執(zhí)行一個GOP中的圖像獨立重放操作的標記。開路鏈路數(shù)據(jù)元是用于表示由于諸如編輯之類的原因不能用高精度重放在GOP開始的B圖像的標記。
與圖50所示的extension_and_user_data(0)函數(shù)非常相似,extension_and_user_data(1)函數(shù)僅描述由user_data()函數(shù)定義的數(shù)據(jù)元作為歷史流。
如果歷史流中未描述表示GOP層的起始代碼的起始代碼組,歷史流中也不描述由group_of_picture_header()函數(shù)定義的數(shù)據(jù)元和extension_and_user_data(1)函數(shù)定義的數(shù)據(jù)元。這種情況下,在由extension_and_user_data(0)函數(shù)定義的數(shù)據(jù)元后描述由picture_header()函數(shù)定義的數(shù)據(jù)元。
由picture_header()函數(shù)定義的數(shù)據(jù)元是如圖53所示的圖像起始代碼,時間基準,圖像編碼類型,vbv延遲,全像素前向矢量,前向f代碼,全像素后向矢量,后向f代碼,外部比特圖像和外部信息圖像。
上面列出的數(shù)據(jù)元具體描述如下。圖像起始代碼數(shù)據(jù)元是圖像層的起始同步代碼。時間基準數(shù)據(jù)元是用于表示圖像顯示順序的編號。在GOP的開始復位該編號。圖像編碼類型數(shù)據(jù)元是用于表示圖像類型的數(shù)據(jù)。vbv延遲數(shù)據(jù)元是表明虛擬緩沖器在隨機存儲的初始狀態(tài)的數(shù)據(jù)。全像素前向矢量數(shù)據(jù)元是用于表示以整個像素單元還是以半像素單元為單位表示前向運動矢量精度的標記。前向f代碼數(shù)據(jù)元是表示前向運動矢量搜索范圍的數(shù)據(jù)。全像素后向矢量數(shù)據(jù)元是用于表示以整個像素單元還是以半像素單元為單位表示后向運動矢量精度的標記。后向f代碼數(shù)據(jù)元是表示后向運動矢量搜索范圍的數(shù)據(jù)。外部比特圖像數(shù)據(jù)元是用于表示下列附加信息是否存在的標記。更具體地說,外部比特圖像的值為“0”表示不存在下列附加信息,而外部比特圖像的值為“1”表示存在下列附加信息。外部信息圖像數(shù)據(jù)元是按說明書保留的信息。
在picture_header()函數(shù)定義的數(shù)據(jù)元之后,描述圖54所示的picture_coding_extension()函數(shù)定義的數(shù)據(jù)元作為歷史流。
picture_coding_extension()函數(shù)定義的數(shù)據(jù)元是如圖54所示的擴展起始代碼,擴展起始代碼識別符,f代碼
,f代碼
[1],f代碼[1]
,f代碼[1][1],內(nèi)部dc精度,圖像結構,頂場第一,幀預測幀dct,隱藏運動矢量,q標度型,內(nèi)部vlc格式,隔行掃描,重復第一場,色度42 0型,逐行幀,組合顯示標記,v軸,場序列,子載波,短脈沖幅度和子載波相位。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是用于表示圖像層擴展數(shù)據(jù)開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。f代碼
數(shù)據(jù)元是表示在前向的水平運動矢量搜索范圍的數(shù)據(jù)。f代碼
[1]數(shù)據(jù)元是表示在前向的垂直運動矢量搜索范圍的數(shù)據(jù)。f代碼[1]
數(shù)據(jù)元是表示在后向的水平運動矢量搜索范圍的數(shù)據(jù)。f代碼[1][1]數(shù)據(jù)元是表示在后向的垂直運動矢量搜索范圍的數(shù)據(jù)。內(nèi)部dc精度數(shù)據(jù)元是表示DC系數(shù)精度的數(shù)據(jù)。
圖像結構數(shù)據(jù)元是用于表示該數(shù)據(jù)結構是幀結構還是場結構的數(shù)據(jù)。在場結構的情況下,圖像結構數(shù)據(jù)元還表明該場結構是高位場還是低位場。頂場第一數(shù)據(jù)元是用于表明幀結構的第一場是高位場還是低位場的數(shù)據(jù)。幀預測幀dct數(shù)據(jù)元是用于表明在幀結構的情況下僅以幀模式執(zhí)行幀模式DCT預測的數(shù)據(jù)。隱藏運動矢量數(shù)據(jù)元是用于表示內(nèi)部宏塊包括用于隱藏傳輸誤差的運動矢量的數(shù)據(jù)。q標度型數(shù)據(jù)元是用于表明采用線性量化標度還是非線性量化標度的數(shù)據(jù)。內(nèi)部vlc格式數(shù)據(jù)元是用于表明是否在內(nèi)部宏塊使用另一個2維VLC的數(shù)據(jù)。
隔行掃描數(shù)據(jù)元是表示選擇使用曲折掃描或隔行掃描的數(shù)據(jù)。重復第一場數(shù)據(jù)元是在2:3下拉情況下使用的數(shù)據(jù)。色度420型數(shù)據(jù)元是在4:2:0信號格式的情況下等于下一個逐行幀數(shù)據(jù)元的值或否則等于0的數(shù)據(jù)。逐行幀數(shù)據(jù)元是用于表示是否已從順序掃描獲得該圖像的數(shù)據(jù)。組合顯示標記數(shù)據(jù)元是用于表示源信號是否是組合信號的標記。v軸數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。場序列數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。子載波數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。短脈沖幅度數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。子載波相位數(shù)據(jù)元是在PAL源信號的情況中使用的數(shù)據(jù)。
在picture_coding_extension()函數(shù)定義的數(shù)據(jù)元之后,描述由圖50所示的extension_and_user_data(2)函數(shù)定義的數(shù)據(jù)元。然而,應指出,只有比特流中存在表示擴展的起始代碼的擴展起始代碼,才由extension_and_user_data(2)函數(shù)描述extension_data()函數(shù)定義的數(shù)據(jù)元。另外,只有比特流中存在如圖50所示的表示用戶數(shù)據(jù)的起始代碼的用戶數(shù)據(jù)起始代碼,才在由extension_data()函數(shù)定義的數(shù)據(jù)元之后由extension_and_user_data(2)函數(shù)描述由user_data()函數(shù)定義的數(shù)據(jù)元。就是說,如果比特流中即不存在擴展的起始數(shù)據(jù)也不存在用戶數(shù)據(jù)的起始代碼,在比特流中不描述由extension_data()函數(shù)定義的數(shù)據(jù)元和由user_data()函數(shù)定義的數(shù)據(jù)元。
extension_data()函數(shù)是用于描述表示擴展起始代碼的數(shù)據(jù)元和由quant_matrix_extension()函數(shù),picture_coding_extension()函數(shù),copyright_extension()函數(shù)和pictrue_display_extension()函數(shù)定義的數(shù)據(jù)元作為圖55所示的比特流中的歷史流的函數(shù)。
由quant_matrix_extension()函數(shù)定義的數(shù)據(jù)元是如圖56所示的擴展起始代碼,擴展起始代碼識別符,量化矩陣擴展出現(xiàn)標記,負載內(nèi)部量化器矩陣,內(nèi)部量化器矩陣[64],負載非內(nèi)部量化器矩陣,非內(nèi)部量化器矩陣[64],負載色度內(nèi)部量化器矩陣,色度內(nèi)部量化器矩陣[64],負載色度非內(nèi)部量化器矩陣和色度非內(nèi)部量化器矩陣[64]。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是用于表示量化矩陣擴展開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。量化矩陣擴展出現(xiàn)標記數(shù)據(jù)元是用于表示量化矩陣擴展的數(shù)據(jù)元是有效還是無效的標記。負載內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。內(nèi)部量化矩陣數(shù)據(jù)元是表示內(nèi)部宏塊量化矩陣的值的數(shù)據(jù)。
負載非內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示非內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。非內(nèi)部量化器矩陣數(shù)據(jù)元是表示非內(nèi)部宏塊的量化矩陣值的數(shù)據(jù)。負載色度內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示色差內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。色度內(nèi)部量化器矩陣數(shù)據(jù)元是表示色差內(nèi)部宏塊的量化矩陣值的數(shù)據(jù)。負載色度非內(nèi)部量化器矩陣數(shù)據(jù)元是用于表示色差非內(nèi)部宏塊的量化矩陣數(shù)據(jù)是否存在的數(shù)據(jù)。色度非內(nèi)部量化器矩陣數(shù)據(jù)元是表示色差非內(nèi)部宏塊的量化矩陣值的數(shù)據(jù)。
由copyright_extension()函數(shù)定義的數(shù)據(jù)元是如圖57所示的擴展起始代碼,擴展起始代碼識別符,版權擴展出現(xiàn)標記,版權標記,版權識別符,原件或復制件,版權號碼1,版權號碼2和版權號碼3。
上面列出的數(shù)據(jù)元描述如下。擴展起始代碼數(shù)據(jù)元是用于表示版權擴展開始的起始代碼。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。版權擴展出現(xiàn)標記數(shù)據(jù)元是用于表示版權擴展數(shù)據(jù)元是有效還是無效的標記。
版權標記數(shù)據(jù)元是用于表示直到下一個版權擴展或序列結束的范圍內(nèi)是否已對編碼視頻數(shù)據(jù)給予版權的標記。版權識別符數(shù)據(jù)元是用于識別對由ISO/IEC JTC/SC29規(guī)定的版權分類的規(guī)定的數(shù)據(jù)。原件或復制件數(shù)據(jù)元是用于表示比特流數(shù)據(jù)是原始還是復制數(shù)據(jù)的標記。版權號碼1數(shù)據(jù)元表示版權號碼的44至63比特。版權號碼2數(shù)據(jù)元表示版權號碼的22至43比特。版權號碼3數(shù)據(jù)元表示版權號碼的0至21比特。
由picture_display_extension()函數(shù)定義的數(shù)據(jù)元是如圖58所示的擴展起始代碼識別符,幀中心水平偏移和幀中心垂直偏移。
描述上面列出的數(shù)據(jù)元如下。擴展起始代碼識別符數(shù)據(jù)元是用于表示發(fā)射哪個擴展數(shù)據(jù)的代碼。幀中心水平偏移數(shù)據(jù)元是顯示區(qū)在水平方向的偏移,該水平偏移的數(shù)值可由幀中心偏移數(shù)值定義。幀中心垂直偏移數(shù)據(jù)元是顯示區(qū)在垂直方向的偏移。該垂直偏移的數(shù)值可由幀中心偏移數(shù)值定義。
如圖47的可變長度歷史流所示,把由picture_data()函數(shù)定義的數(shù)據(jù)元描述為extension_user(2)函數(shù)定義的數(shù)據(jù)元之后的歷史流。
如圖59所示,由picture_data()函數(shù)定義的數(shù)據(jù)元是由slice()函數(shù)定義的數(shù)據(jù)元。應指出,如果比特流中不存在表示slice()函數(shù)的起始代碼的限幅起始代碼,在比特流中則不描述由slice()函數(shù)定義的數(shù)據(jù)元。
如圖60所示,slice()函數(shù)是用于描述諸如限幅起始代碼,限幅量化器標度代碼,內(nèi)部限幅標記,內(nèi)部限幅,保留比特,外部比特限幅,外部信息限幅和由macroblock()函數(shù)定義的數(shù)據(jù)元之類的數(shù)據(jù)元作為歷史流的函數(shù)。
上面列出的數(shù)據(jù)元描述如下。限幅起始代碼數(shù)據(jù)元是用于表示由slice()函數(shù)定義的數(shù)據(jù)元的起始代碼。限幅量化器標度代碼數(shù)據(jù)元是為限幅層中存在的宏塊定義的量化步驟大可。然而,當已設定量化器標度代碼時最好使用為宏塊設定的量化器標度代碼。
內(nèi)部限幅標記數(shù)據(jù)段是用于表示比特流中是否存在內(nèi)部限幅和保留比特的標記。內(nèi)部限幅數(shù)據(jù)元是用于表示限幅層中是否存在非內(nèi)部宏塊的標記。更具體地說,如果限幅層中的任何宏塊之一是非內(nèi)部宏塊。內(nèi)部限幅標記的值為“0”。另一方面,如果限幅層中的所有宏塊是非內(nèi)部宏塊,內(nèi)部限幅標記的值為“1”。保留比特數(shù)據(jù)元是值為“0”的7比特數(shù)據(jù)。外部比特限幅數(shù)據(jù)元是用于表示是否存在外部信息限幅數(shù)據(jù)元,即作為歷史流增加的信息的標記。更具體地說,如果存在下一個外部信息限幅數(shù)據(jù)元,外部比特限幅標記的值為“1”。另一方面,如果不存在下一個外部信息限幅數(shù)據(jù)元,外部比特限幅標記的值為“0”。
在由slice()函數(shù)定義的數(shù)據(jù)元之后,描述由macroblock()函數(shù)定義的數(shù)據(jù)元作為歷史流。
如圖61所示,macroblock()函數(shù)是用于定義諸如宏塊轉義,宏塊地址增量和宏塊量化器標度代碼之類的數(shù)據(jù)元以及由macroblock_mode()函數(shù)和macroblock_vectors(s)函數(shù)定義的數(shù)據(jù)元的函數(shù)。
上面列出的數(shù)據(jù)元描述如下。宏塊轉移數(shù)據(jù)元是具有用于表示基準宏塊和前面的宏塊之間在水平方向的差是否至少是34或更大的固定長度的比特串。如果基準宏塊和前面的宏塊之間在水平方向的差至少是34或更大,向宏塊地址增量數(shù)據(jù)元的值加33。宏塊地址增量數(shù)據(jù)元是基準宏塊和前面的宏塊之間在水平方向的差。如果在宏塊地址增量數(shù)據(jù)元前存在一個宏塊轉移數(shù)據(jù)元,作為向宏塊地址增量數(shù)據(jù)元的值加33的結果獲得的值表示在基準宏塊和前面的宏塊之間在水平方向的實際差。
宏塊量化器標度代碼數(shù)據(jù)元是每個宏塊中設定的量化步調(diào)。表示限幅層的量化步調(diào)的限幅量化器標度代碼數(shù)據(jù)元也是在每個限幅層中設定的。然而,為宏塊設定的宏塊標度代碼在限幅量化器標度代碼之前。
在宏塊地址增量數(shù)據(jù)元之后,描述由macroblock_mode()函數(shù)定義的數(shù)據(jù)元。如圖62所示,macroblock_mode()函數(shù)是用于描述作為歷史流的諸如宏塊類型。幀運動類型,場運動類型和dct類型之類的數(shù)據(jù)元的函數(shù)。
上面列出的數(shù)據(jù)元描述如下。宏塊類型數(shù)據(jù)元是表示宏塊編碼類型的數(shù)據(jù)。具體地說,宏塊類型數(shù)據(jù)元是具有從諸如如圖65至67所示的宏塊量化、dct類型標記、宏塊前向運動和宏塊后向運動之類的標記產(chǎn)生的可變長度的數(shù)據(jù)。宏塊量化標記是用于表示是否設定用于為宏塊設定量化步調(diào)的宏塊量化器標度代碼的標記。如果比特流中存在宏塊量化器標度代碼,宏塊量化標記的值為“1”。
dct類型標記是用于表示在幀DCT模式或場DCT模式中是否存在表明基準宏塊已編碼的dct類型。換句話說,dct類型標記是用于表示基準宏塊是否經(jīng)歷DCT的標記。如果比特流中存在dct類型,dct類型標記的值為“1”。宏塊前向運動是表示基準宏塊是否已經(jīng)歷前向預測的標記。如果基準宏塊已經(jīng)歷前向預測,宏塊前向運動標記的值為“1”。另一方面,宏塊后向運動是表示基準宏塊是否已經(jīng)歷向后預測的標記。如果基準宏塊已經(jīng)歷后向預測,宏塊后向運動標記的值為“1”。
如果宏塊前向運動標記或宏塊后向運動標記的值是“1”,以幀預測模式傳送圖像,并且?guī)芷趲琩ct的值為“0”,在表示宏塊類型的數(shù)據(jù)元之后描述表示幀運動類型的數(shù)據(jù)元。應指出,幀周期幀dct是用于表示比特流中是否存在幀運動類型的標記。
幀運動類型數(shù)據(jù)元是表示幀宏塊的預測類型的2比特代碼。幀運動類型值“00”表示有兩個預測矢量并且該預測類型是基于場的預測類型。幀運動類型值“01”表示有一個預測矢量并且該預測類型是基于幀的預測類型。幀運動類型值“10”表示有一個預測矢量并且該預測類型是基于幀的預測類型。幀運動類型值“11”表示有一個預測矢量并且該預測類型是雙主預測類型。
如果宏塊運動前向標記或宏塊運動后向標記的值是“1”,并且不以幀預測模式傳送圖像,在表示宏塊類型的數(shù)據(jù)元之后描述表示幀運動類型的數(shù)據(jù)元。
場運動類型數(shù)據(jù)元是表示場宏塊的運動預測的2比特代碼。場運動類型值“01”表示有一個預測矢量并且該預測類型是基于場的預測類型。場運動類型值“10”表示有兩個預測矢量并且該預測類型是基于18×8宏塊的預測類型。場運動類型值“11”表示有一個預測矢量并且該預測類型是雙主預測類型。
如果以幀預測模式傳送圖像,幀周期幀dct表示在比特流中存在幀運動類型,幀周期幀dct也表示比特流中存在dct類型,在表示宏塊類型的數(shù)據(jù)元后描述表示dct類型的數(shù)據(jù)元。應指出,dct類型數(shù)據(jù)元是用于表示是以幀DCT模式還是以場DCT模式執(zhí)行DCT的數(shù)據(jù)。
如圖61所示,如果基準宏塊是前向預測宏塊或完成隱藏處理的內(nèi)部宏塊,描述由motion_vectors(0)函數(shù)定義的數(shù)據(jù)元。如果基準宏塊是后向預測宏塊,描述由motion_vectors(1)函數(shù)定義的數(shù)據(jù)元。應指出,motion_vectors(0)函數(shù)是用于描述與第一運動矢量有關的數(shù)據(jù)元的函數(shù),motion_vectors(1)函數(shù)是用于描述與第二運動矢量有關的數(shù)據(jù)元的函數(shù)。
如圖63所示,motion_vectors(s)函數(shù)是用于描述與一個運動矢量有關的數(shù)據(jù)元的函數(shù)。
如果僅有一個運動矢量并且不采用雙主預測模式,描述由運動垂直場選擇
[s]和運動矢量
[s]定義的數(shù)據(jù)元。
運動垂直場選擇[r][s]是用于表示作為前向預測或后向預測矢量的第一矢量是通過基準底場或頂場形成的矢量。下標[r]表示第一或第二矢量,而下標[s]表示前向預測或后向預測矢量。
如圖64所示,motion_vectors(r,s)函數(shù)是用于描述與運動代碼[r][s][t]有關的數(shù)據(jù)陣列,與運動殘留[r][s][t]有關的數(shù)據(jù)陣列和表示dmvector[t]的數(shù)據(jù)的函數(shù)。
運動代碼[r][s][t]是具有用于通過在-16到+16范圍中的值表示運動矢量幅度的可變長度的數(shù)據(jù)。運動代碼[r][s][t]是具有用于表示運動矢量殘留的可變長度的數(shù)據(jù)。因此,通過使用運動代碼[r][s][t]和運動殘留[r][s][t]的值,可描述詳細的運動矢量。dmvector[t]是用于標度具有時間距離的現(xiàn)存運動矢量以便在雙主預測模式中產(chǎn)生頂和底場之一(例如頂場)中的運動矢量,和用于在垂直方向校正以便反映頂和底場的行之間在垂直方向移動的數(shù)據(jù)。下標[r]表示第一或第二矢量,而下標[s]表示前向預測或后向預測矢量。下標[t]表示該運動矢量是垂直或水平方向中的分量。
首先,motion_vectors(r,s)函數(shù)描述表示水平方向中的運動代碼[r][s]
的數(shù)據(jù)陣列作為如圖64所示的歷史流。由f代碼[s][t]表示運動殘留
[s][t]和運動殘留[1][s][t]二者的比特數(shù)。因此,除“1”外的f代碼[s][t]的值表示比特流中存在運動殘留
[s][t]。運動殘留[r][s]
,即水平方向分量不是“1”和運動代碼[r][s]
,即水平方向分量不是“0”的事實表明比特流中包括表示運動殘留[r][s]
的數(shù)據(jù)元并且存在運動矢量的水平方向分量。這種情況下,描述表示運動殘留[r][s]
,即水平分量的數(shù)據(jù)元。
接下來,描述在垂直方向表示運動殘留[r][s][1]的數(shù)據(jù)陣列作為歷史流。同樣,由f代碼[s][t]表示運動殘留
[s][t]和運動殘留[1][s][t]二者的比特數(shù)。因此,除“1”外的f代碼[s][t]的值表示比特流中存在運動殘留[r][s][t]。運動殘留[r][s][t],即垂直方向分量不是“1”和運動代碼[r][s][1],即垂直方向分量不是“0”的事實表明比特流中包括表示運動殘留[r][s][1]的數(shù)據(jù)元并且存在運動矢量的垂直方向分量。這種情況下,描述表示運動殘留[r][s][1],即垂直分量的數(shù)據(jù)元。
應指出,在可變長度格式中,可消除歷史信息以便降低發(fā)射比特的傳送速度。
例如,為傳送宏塊類型和motion_vector(),而不傳送量化器標度代碼,限幅量化器標度代碼設定為“00000”以便降低比特率。
另外,為了傳送宏塊類型而不傳送motion_vector(),量化器標度代碼和dct類型,采用“未編碼”作為宏塊類型,以便降低比特率。
此外,為了僅傳送圖像編碼類型而不傳送slice()后的所有信息,采用沒有限幅起始代碼的picture_data(),以便降低比特率。
如上所述,為了防止23個連續(xù)的0比特出現(xiàn)在用戶數(shù)據(jù)中,每隔22個比特插入一個“1”比特。然而,應指出,還可針對小于22的每個比特數(shù)量插入一個“1”比特。另外,不是通過對連續(xù)的0比特數(shù)量計數(shù)來插入“1”比特,而可通過檢驗Byte_allign插入一個“1”比特。
另外,在MPEG中,禁止產(chǎn)生23個連續(xù)的0比特。然而,實際上,只有從一個字節(jié)的開始起始的這23個比特的序列是一個問題。也就是說,不從字節(jié)的開始起始的這23個比特的序列不成為問題。因此,在除LSB外的位置通常可以每24比特插入一個“1”比特。
此外,當以如上所述接近視頻基本數(shù)據(jù)流的格式形成歷史信息時,也可以接近分組化的基本數(shù)據(jù)流或傳送數(shù)據(jù)流的格式形成歷史信息。另外,即使基本數(shù)據(jù)流的用戶數(shù)據(jù)根據(jù)上面的描述放置在圖像數(shù)據(jù)前面,用戶數(shù)據(jù)也可放置在另一個位置。
應指出,由計算機執(zhí)行的用于執(zhí)行上述處理部分的程序可通過諸如因特網(wǎng)之類的網(wǎng)絡形式媒體或數(shù)字衛(wèi)星以及由諸如磁盤和CD-ROM之類信息記錄介質(zhì)實現(xiàn)的形式媒體提供給用戶。
權利要求
1.一種再編碼設備,用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述設備包括獲取裝置,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理過去的某一代編碼參數(shù);解碼裝置,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和通過獲取裝置獲取的用于編碼處理的編碼參數(shù);再編碼裝置,用于從解碼裝置輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對從解碼裝置輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制裝置,用于通過使用從解碼裝置輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼裝置執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
2.如權利要求1所述的再編碼設備,其中解碼裝置輸出包含于歷史信息中的編碼參數(shù)以及獲取裝置獲取的用于編碼處理的編碼參數(shù),使得編碼參數(shù)被與解碼圖像數(shù)據(jù)多路復用。
3.如權利要求1所述的再編碼設備,還包括輸出裝置,用于輸出通過再編碼裝置執(zhí)行再編碼處理產(chǎn)生的再編碼數(shù)據(jù)流。
4.如權利要求1所述的再編碼設備,其中獲取裝置獲取的歷史信息和控制裝置產(chǎn)生的歷史信息管理多個新近各代編碼參數(shù)。
5.如權利要求1所述的再編碼設備,其中獲取裝置獲取的歷史信息和控制裝置產(chǎn)生的歷史信息包含在過去的編碼處理中根據(jù)畫面類型使用的編碼參數(shù),以及當允許再編碼裝置通過改變畫面類型來執(zhí)行再編碼處理時、以及當獲取裝置獲取的歷史信息包含在過去一代的編碼處理中為其改變畫面類型的一代的編碼參數(shù)時,控制裝置控制再編碼裝置,以通過再使用改變其畫面類型的一代的編碼參數(shù)來執(zhí)行再編碼處理。
6.如權利要求1所述的再編碼設備,其中控制裝置控制再編碼裝置,以通過再使用所計算的用于再編碼處理的量化標度和獲取裝置所獲取的歷史信息中包含的量化標度之間較大的量化標度,來執(zhí)行再編碼處理。
7.如權利要求1所述的再編碼設備,其中編碼處理和再編碼處理符合MPEG標準,并且控制裝置控制再編碼裝置執(zhí)行再編碼處理,使得歷史信息被轉換為用戶數(shù)據(jù)的格式,并被多路復用。
8.如權利要求7所述的再編碼設備,其中控制裝置控制再編碼裝置執(zhí)行再編碼處理,使得在畫面層的用戶數(shù)據(jù)區(qū)中表示歷史信息,并且使得用于再編碼處理的編碼參數(shù)被表示在序列層、GOP層、畫面層、限幅層和宏塊層的預定位置。
9.如權利要求7所述的再編碼設備,其中控制裝置控制再編碼裝置通過將固定長度格式或可變長度格式用作格式來執(zhí)行再編碼處理。
10.如權利要求7所述的再編碼設備,其中控制裝置控制再編碼裝置執(zhí)行再編碼處理,使得以規(guī)則的間隔或以預定外觀碼型將標志比特插入歷史信息。
11.如權利要求7所述的再編碼設備,其中控制裝置控制再編碼裝置執(zhí)行再編碼處理,使得歷史信息被表示為history_stream()所代表的句法。
12.一種再編碼方法,用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述方法包括獲取步驟,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理過去的某一代編碼參數(shù);解碼步驟,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和在獲取步驟獲取的用于編碼處理的編碼參數(shù);再編碼步驟,用于從在解碼步驟輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對在解碼步驟輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制步驟,用于通過使用在解碼步驟輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼步驟執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
13.一種在其上記錄用于執(zhí)行再編碼方法的計算機可讀程序的記錄介質(zhì),所述再編碼方法用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述再編碼方法包括獲取步驟,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理過去的某一代編碼參數(shù);解碼步驟,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和在獲取步驟獲取的用于編碼處理的編碼參數(shù);再編碼步驟,用于從在解碼步驟輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對在解碼步驟輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制步驟,用于通過使用在解碼步驟輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼步驟執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
14.一種編碼設備,用于對圖像數(shù)據(jù)執(zhí)行編碼處理,包括獲取裝置,用于獲取過去的某一代編碼參數(shù)以及圖像數(shù)據(jù);編碼裝置,用于從通過獲取裝置獲取的編碼參數(shù)中選擇要在編碼處理中再使用的編碼參數(shù),以便對獲取裝置獲取的圖像數(shù)據(jù)執(zhí)行編碼處理;和控制裝置,用于通過使用獲取裝置獲取的編碼參數(shù)產(chǎn)生歷史信息,該歷史信息用于選擇性地管理過去的某一代編碼參數(shù),并控制編碼裝置執(zhí)行編碼處理,使得所產(chǎn)生的歷史信息和要用于編碼處理的編碼參數(shù)被多路復用。
15.如權利要求14所述的編碼設備,其中獲取裝置獲取的編碼參數(shù)被與圖像數(shù)據(jù)多路復用。
16.如權利要求14所述的編碼設備,還包括輸出裝置,用于輸出通過編碼裝置執(zhí)行編碼處理產(chǎn)生的編碼數(shù)據(jù)流。
17.如權利要求14所述的編碼設備,其中歷史信息管理多個新近各代的編碼參數(shù)。
18.如權利要求14所述的編碼設備,其中獲取裝置獲取的編碼參數(shù)包含在過去的編碼處理中根據(jù)畫面類型使用的編碼參數(shù),以及當通過改變畫面類型來執(zhí)行編碼處理時、以及當獲取裝置獲取的編碼參數(shù)包含在過去一代的編碼處理中為其改變畫面類型的一代的編碼參數(shù)時,控制裝置控制編碼裝置,以通過再使用改變其畫面類型的一代的編碼參數(shù)來執(zhí)行編碼處理。
19.如權利要求14所述的編碼設備,其中控制裝置控制編碼裝置,以通過再使用所計算的用于編碼處理的量化標度和獲取裝置所獲取的編碼參數(shù)中包含的量化標度之間較大的量化標度,來執(zhí)行編碼處理。
20.如權利要求14所述的編碼設備,其中編碼處理符合MPEG標準,并且控制裝置控制編碼裝置執(zhí)行編碼處理,使得歷史信息被轉換為用戶數(shù)據(jù)的格式,并被多路復用。
21.如權利要求20所述的編碼設備,其中控制裝置控制編碼裝置執(zhí)行編碼處理,使得在畫面層的用戶數(shù)據(jù)區(qū)中表示歷史信息,并且使得用于編碼處理的編碼參數(shù)被表示在序列層、GOP層、畫面層、限幅層和宏塊層的預定位置。
22.如權利要求20所述的編碼設備,其中控制裝置控制編碼裝置通過將固定長度格式或可變長度格式用作格式來執(zhí)行編碼處理。
23.如權利要求20所述的編碼設備,其中控制裝置控制編碼裝置執(zhí)行編碼處理,使得以規(guī)則的間隔或以預定外觀碼型將標志比特插入歷史信息。
24.如權利要求20所述的編碼設備,其中控制裝置控制編碼裝置執(zhí)行編碼處理,使得歷史信息被表示為history_stream()所代表的句法。
25.一種編碼方法,用于對圖像數(shù)據(jù)執(zhí)行編碼處理,包括獲取步驟,用于獲取過去的某一代編碼參數(shù)以及圖像數(shù)據(jù);編碼步驟,用于從在獲取步驟獲取的編碼參數(shù)中選擇要在編碼處理中再使用的編碼參數(shù),以便對獲取步驟獲取的圖像數(shù)據(jù)執(zhí)行編碼處理;和控制步驟,用于通過使用獲取步驟獲取的編碼參數(shù)來產(chǎn)生歷史信息,該歷史信息用于選擇性地管理過去的某一代編碼參數(shù),并控制編碼步驟執(zhí)行編碼處理,使得所產(chǎn)生的歷史信息和要用于編碼處理的編碼參數(shù)被多路復用。
26.一種在其上記錄用于執(zhí)行編碼方法的計算機可讀程序的記錄介質(zhì),所述編碼方法用于對圖像數(shù)據(jù)執(zhí)行編碼處理,所述編碼方法包括獲取步驟,用于獲取過去的某一代編碼參數(shù)以及圖像數(shù)據(jù);編碼步驟,用于從在獲取步驟獲取的編碼參數(shù)中選擇要在編碼處理中再使用的編碼參數(shù),以便對獲取步驟獲取的圖像數(shù)據(jù)執(zhí)行編碼處理;和控制步驟,用于通過使用獲取步驟獲取的編碼參數(shù)來產(chǎn)生歷史信息,該歷史信息用于選擇性地管理過去的某一代編碼參數(shù),并控制編碼步驟執(zhí)行編碼處理,使得所產(chǎn)生的歷史信息和用于編碼處理的編碼參數(shù)被多路復用。
27.一種解碼設備,用于將編碼數(shù)據(jù)流解碼為圖像數(shù)據(jù),包括解碼裝置,用于從編碼數(shù)據(jù)流獲取歷史信息和要用于解碼該編碼數(shù)據(jù)流的編碼參數(shù),并將該編碼數(shù)據(jù)流解碼為圖像數(shù)據(jù),該歷史信息用于管理過去的某一代編碼參數(shù);以及輸出裝置,用于與解碼裝置解碼的圖像數(shù)據(jù)一起輸出包含于歷史信息中的編碼參數(shù)和由解碼裝置獲取的用于解碼該編碼數(shù)據(jù)流的編碼參數(shù)。
28.如權利要求27所述的解碼設備,其中輸出裝置輸出包含于歷史信息中的編碼參數(shù)以及解碼裝置獲取的用于解碼該編碼數(shù)據(jù)流的編碼參數(shù),使得編碼參數(shù)被與解碼裝置解碼的圖像數(shù)據(jù)多路復用。
29.如權利要求27所述的解碼設備,其中歷史信息管理多個新近各代編碼參數(shù)。
30.如權利要求27所述的解碼設備,其中歷史信息包含在過去的編碼處理中根據(jù)畫面類型使用的編碼參數(shù)。
31.如權利要求27所述的解碼設備,其中歷史信息包含在過去的編碼處理中使用的量化標度中最大的量化標度,作為編碼參數(shù)。
32.如權利要求27所述的解碼設備,其中編碼數(shù)據(jù)流符合MPEG標準,并且歷史信息被轉換為用戶數(shù)據(jù)的格式,并與編碼數(shù)據(jù)流多路復用。
33.如權利要求32所述的解碼設備,其中在編碼數(shù)據(jù)流的畫面層的用戶數(shù)據(jù)區(qū)中表示歷史信息,并且用于解碼該編碼數(shù)據(jù)流的的編碼參數(shù)被表示在序列層、GOP層、畫面層、限幅層和宏塊層的預定位置。
34.如權利要求32所述的解碼設備,其中通過將固定長度格式或可變長度格式用作格式來轉換歷史信息。
35.如權利要求32所述的解碼設備,其中以規(guī)則的間隔或以預定外觀碼型將標志比特插入歷史信息。
36.如權利要求32所述的解碼設備,其中歷史信息被表示為history_stream()所代表的句法。
37.一種解碼方法,用于將編碼數(shù)據(jù)流解碼為圖像數(shù)據(jù),包括解碼步驟,用于從編碼數(shù)據(jù)流獲取歷史信息和要用于解碼該編碼數(shù)據(jù)流的編碼參數(shù),并將該編碼數(shù)據(jù)流解碼為圖像數(shù)據(jù),該歷史信息用于管理過去的某一代編碼參數(shù);以及輸出步驟,用于與解碼步驟解碼的圖像數(shù)據(jù)一起輸出包含于歷史信息中的編碼參數(shù)和在解碼步驟獲取的用于解碼該編碼數(shù)據(jù)流的編碼參數(shù)。
38.一種在其上記錄計算機可讀程序的記錄介質(zhì),該程序用于執(zhí)行一種解碼方法,該解碼方法用于將編碼數(shù)據(jù)流解碼為圖像數(shù)據(jù),該解碼方法包括解碼步驟,用于從編碼數(shù)據(jù)流獲取歷史信息和要用于解碼該編碼數(shù)據(jù)流的編碼參數(shù),并將該編碼數(shù)據(jù)流解碼為圖像數(shù)據(jù),該歷史信息用于管理過去的某一代編碼參數(shù);以及輸出步驟,用于與解碼步驟解碼的圖像數(shù)據(jù)一起輸出包含于歷史信息中的編碼參數(shù)和在解碼步驟獲取的用于解碼該編碼數(shù)據(jù)流的編碼參數(shù)。
39.一種再編碼設備,用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述設備包括獲取裝置,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理多個代的編碼參數(shù);解碼裝置,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和通過獲取裝置獲取的用于編碼處理的編碼參數(shù);再編碼裝置,用于從解碼裝置輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對從解碼裝置輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制裝置,用于通過使用從解碼裝置輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼裝置執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
40.一種再編碼方法,用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述方法包括獲取步驟,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理多個代的編碼參數(shù);解碼步驟,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和在獲取步驟獲取的用于編碼處理的編碼參數(shù);再編碼步驟,用于從在解碼步驟輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對在解碼步驟輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制步驟,用于通過使用在解碼步驟輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼步驟執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
41.一種再編碼設備,用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述設備包括獲取裝置,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理兩代或更多代之前的編碼參數(shù);解碼裝置,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和通過獲取裝置獲取的用于編碼處理的編碼參數(shù);再編碼裝置,用于從解碼裝置輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對從解碼裝置輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制裝置,用于通過使用從解碼裝置輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼裝置執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
42.一種再編碼方法,用于對編碼數(shù)據(jù)流執(zhí)行再編碼處理,所述編碼數(shù)據(jù)流是通過對圖像數(shù)據(jù)執(zhí)行編碼處理獲得的,所述方法包括獲取步驟,用于從編碼數(shù)據(jù)流獲取歷史信息以及用于執(zhí)行編碼處理的編碼參數(shù),所述歷史信息用于管理兩代或更多代之前的編碼參數(shù);解碼步驟,用于解碼該編碼數(shù)據(jù)流,并輸出解碼圖像數(shù)據(jù)以及包含于歷史信息中的編碼參數(shù)和在獲取步驟獲取的用于編碼處理的編碼參數(shù);再編碼步驟,用于從在解碼步驟輸出的編碼參數(shù)中選擇要在再編碼處理中再使用的編碼參數(shù),以便對在解碼步驟輸出的圖像數(shù)據(jù)執(zhí)行再編碼處理;以及控制步驟,用于通過使用在解碼步驟輸出的編碼參數(shù)產(chǎn)生歷史信息,并控制再編碼步驟執(zhí)行再編碼處理,使得所產(chǎn)生的歷史信息和用于再編碼處理的編碼參數(shù)被多路復用。
全文摘要
本發(fā)明提供用于改變作為根據(jù)MPEG標準編碼處理的結果獲得的編碼比特流的GOP結構和比特率代碼轉換器。根據(jù)本發(fā)明提供的代碼轉換器,可把在過去編碼處理中產(chǎn)生的編碼參數(shù)發(fā)射到MPEG編碼器,MPEG編碼器進行當前編碼處理作為歷史信息。從發(fā)射的編碼參數(shù)選擇與當前編碼處理相稱的最佳編碼參數(shù),并在當前編碼處理中重新使用所選擇的編碼參數(shù)。結果是,即使重復地執(zhí)行解碼和編碼處理也不會惡化圖像質(zhì)量。
文檔編號H04N7/26GK1599463SQ200410088170
公開日2005年3月23日 申請日期1999年3月10日 優(yōu)先權日1998年3月10日
發(fā)明者田原勝己, 村上芳弘, 北村卓也, 三原寬司 申請人:索尼公司