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