專利名稱:視頻編碼、譯碼和假想?yún)⒖甲g碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及其中實施了假想?yún)⒖甲g碼器的視頻編碼和譯碼處理過程。更具體地,本發(fā)明涉及包括用于輸入要被編碼的視頻信號以形成經(jīng)編碼的視頻信號的輸入端的編碼器、譯碼器、方法、比特流、計算機程序產(chǎn)品、和用于載送比特流的媒體。
背景技術(shù):
有許多視頻編碼標準,包括ITU-T H.261,ISO/IEC MPEG-1Visual,ITU-T H.262或ISO/IEC MPEG-2 Visual,ITU-T H.263,ISO/IEC MPEG-4 Visual,和ITU-T H.264或ISO/IEC MPEG-4 AVC。H.264/AVC是ITU-T視頻編碼專家組(VCEG)和ISO/IEC MPEG的聯(lián)合視頻團隊(JVT)的工作輸出。
另外,存在著朝向新的視頻編碼標準所作的各種努力。一項工作是MPEG中可縮放的視頻編碼(SVC)標準的開發(fā)。這將成為MPEG-21第13部分。第二項努力是由中國音頻視頻編碼標準工作組(AVS)組織的中國視頻編碼標準的開發(fā)。AVS已結(jié)束它的第一項視頻編碼技術(shù)規(guī)范,目標為用于SDTV和HDTV應(yīng)用的AVS 1.0。此后焦點移到移動視頻服務(wù)。最終產(chǎn)生的兩個標準AVS-M Stage 1和AVS-M Stage 2正在開發(fā)中。
瞬時譯碼刷新(IDR)圖像瞬時譯碼刷新(IDR)圖像首先被引入到H.264,后來也被引入到AVS-M。IDR圖像是自然地隨機的接入點。以后的圖像不能參考在譯碼次序上比起IDR圖像更早的圖像。在譯碼次序上在IDR圖像之前的任何圖像也要比IDR圖像更早地被輸出/顯示。每個IDR圖像導致編碼的視頻序列,它包含在譯碼次序上的下一個IDR圖像之前的IDR圖像。
在AVS-M委員會草案(CD)中,有8比特句法單元picture_distance,它表示在一個編碼的序列中每個圖像的時間基準。picture_distance的數(shù)值等于在輸出/顯示次序上以前的圖像的picture_distance數(shù)值加1和加上在當前的圖像與以前的圖像之間的跳過的圖像數(shù)目,然后按模256運算。對于編碼的視頻序列(IDR圖像)的第一個圖像,picture_distance數(shù)值是0。
假想?yún)⒖甲g碼器在視頻編碼標準中,順從的(compliant)比特流必須能夠被假想?yún)⒖甲g碼器所譯碼,該假想?yún)⒖甲g碼器在概念上被連接到編碼器的輸出端以及至少包含預(yù)譯碼器緩存器、譯碼器、和輸出/顯示單元。這個虛擬譯碼器在H.263,H.264中被稱為假想?yún)⒖甲g碼器(HRD)以及在MPEG中被稱為視頻緩存驗證器(VBV)。PSS Annex G,3GPP分組交換流服務(wù)標準(3GPP TS 26.234),規(guī)定了一個服務(wù)器緩存驗證器,它也可被看作為HRD,差別在于它在概念上被連接到流動服務(wù)器的輸出。虛擬譯碼器和緩存驗證器在本文件中一起被稱為假想?yún)⒖甲g碼器(HRD)。如果數(shù)據(jù)流可被HRD譯碼而不存在緩存器的溢出或下溢,則該數(shù)據(jù)流是順從的。如果當緩存器已滿時有更多的比特要放置在緩存器中,則發(fā)生緩存器溢出。如果當從緩存器獲取比特用于譯碼/重放時某些比特沒有在緩存器中,則發(fā)生緩存器下溢。
HRD參數(shù)可用來給圖像的編碼的大小加約束限制以及幫助確定所需的緩存器大小和啟動延時。
在比PSS Annex G和H.264更早先的HRD技術(shù)規(guī)范中,只規(guī)定譯碼前的緩存器(在H.264中也稱為編碼圖像緩存器CPB)的操作。在PSS Annex G中的HRD和H.264 HRD也規(guī)定后譯碼器的緩存器(在H.264中也稱為譯碼圖像緩存器DPB)的操作。而且,較早先的HRD技術(shù)規(guī)范僅僅能使HRD有一個工作點,而在PSS Annex G中的HRD和H.264 HRD允許多個HRD工作點。每個HRD工作點相應(yīng)于一組HRD參數(shù)值。
在PSS Annex G中的HRD根據(jù)兩個因素比起H.264 HRD簡單得多1)CPB和DPB工作的技術(shù)規(guī)范簡單得多,以及2)不需要來自比特流的時序信息。所以,從這個觀點看來,使用在PSS Annex G中的HRD作為視頻編碼標準的HRD的基礎(chǔ)是有益的。
HRD設(shè)計的缺點在于,它依賴于由除了比特流本身以外的外部裝置來提供每個圖像的呈現(xiàn)時間(或獲取時間)。然而,有時可能必須或希望要比特流本身是可被驗證的。一個解決方案是利用由時間基準信息(例如,在AVS-M中的picture_distance)表示的相對呈現(xiàn)時間,只要1的時間基準差的時間持續(xù)量在比特流中也被告知。
根據(jù)在PSS Annex G中的HRD和按照時間信息的相對持續(xù)時間,與上述的HRD設(shè)計有關(guān)至少有一個問題。也就是,如果比特流包含一個以上的編碼的視頻序列,則除了第一編碼視頻序列以外的編碼視頻序列中的圖像的相對呈現(xiàn)時間是不能得出的,因為在每個編碼視頻序列的開始的IDR圖像中時間基準值被復(fù)位到0。所以,在編碼視頻序列中最后的圖像與在輸出/顯示次序上以后的編碼視頻序列中開始的IDR圖像之間的時間間隙是不清楚的。這會使得HRD是非最佳的。如果比特流是從不同地來源的不同的編碼視頻序列拼接的,例如當把一個廣告視頻剪輯插入到另一個視頻比特流時,這個問題會變得更麻煩。
發(fā)明概要本發(fā)明試圖解決上述的問題。按照本發(fā)明,通過發(fā)信號來告知一個參數(shù),該參數(shù)表明在編碼視頻序列的最后的圖像(在輸出/顯示次序上)與以后的編碼視頻序列的第一個圖像之間的時間差。至少有兩個解決方案來實施該概念。第一個解決方案是改變用于時間基準(AVS-M中的picture_distance)的句法單元的語義,以使得句法單元的數(shù)值在IDR圖像中不斷地增加,就好像它們是非IDR圖像那樣。該數(shù)值可以達到最大值,此后該數(shù)值可被設(shè)置到初始值,例如0,此后該數(shù)值再次增加。
第二個解決方案是在對于每個IDR圖像的比特流中告知在IDR圖像與在輸出/顯示次序的以前的圖像之間的時間間隙。如果IDR圖像是比特流中的第一圖像,則時間間隙的數(shù)值被設(shè)置為0。
按照本發(fā)明的一個方面,提供一種編碼器,包括-輸入端,用于輸入要被編碼的視頻信號以形成包括至少一個經(jīng)編碼的視頻序列的圖像的經(jīng)編碼的視頻信號;-經(jīng)編碼的圖像的緩存器;-經(jīng)譯碼的圖像的緩存器;以及-定義器,用于定義至少一個參數(shù),該參數(shù)表明在至少一個視頻序列中兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下之中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
按照本發(fā)明的另一個方面,提供一個比特流,包括-經(jīng)編碼的視頻信號,包括至少第一個編碼視頻序列的圖像;以及-至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
按照本發(fā)明的第三方面,提供一種譯碼器,包括-輸入端,用于輸入要被譯碼的經(jīng)編碼的視頻信號,所述編碼視頻信號包括-至少一個經(jīng)編碼的視頻序列的圖像;以及-至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
-經(jīng)譯碼的圖像的緩存器;以及-用于分析在編碼的視頻信號中接收的信息以得出所述至少一個參數(shù)的裝置。
按照本發(fā)明的第四方面,提供一種方法,包括-輸入要被編碼的視頻信號以形成包括至少一個編碼視頻序列的圖像的經(jīng)編碼的視頻信號;-定義至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
按照本發(fā)明的第五方面,提供一種系統(tǒng),包括-編碼器,包括-輸入端,用于輸入要被編碼的視頻信號以形成包括至少一個編碼視頻序列的圖像的經(jīng)編碼的視頻信號;-經(jīng)編碼的圖像的緩存器;-經(jīng)譯碼的圖像的緩存器;以及-定義器,用于定義至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像;-譯碼器,包括-輸入端,用于輸入要被譯碼的編碼視頻信號;-經(jīng)譯碼的圖像的緩存器;以及-用于分析在編碼的視頻信號中接收的信息以得出所述至少一個參數(shù)的裝置。
按照本發(fā)明的第六方面,提供一種包括機器可執(zhí)行的指令的軟件程序,用于-輸入要被編碼的視頻信號以形成包括至少一個編碼視頻序列的圖像的經(jīng)編碼的視頻信號;-定義至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
按照本發(fā)明的第七方面,提供用于載送比特流的媒體,所述比特流包括-編碼的視頻信號,包括至少一個編碼視頻序列的圖像;以及
-至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
本方法可以改進假想?yún)⒖甲g碼器的操作和當視頻流被譯碼器譯碼和被呈現(xiàn)時,也改進最終用戶的體驗。
圖1a顯示現(xiàn)有技術(shù)圖像流的例子,其中圖像是按顯示次序的,圖1b顯示現(xiàn)有技術(shù)圖像流的例子,其中圖像是按譯碼次序的,圖2a顯示按照本發(fā)明的圖像流的例子,其中圖像是按顯示次序的,圖2b顯示按照本發(fā)明的圖像流的例子,其中圖像是按譯碼次序的,圖3a顯示按照本發(fā)明的圖像流的另一個例子,其中圖像是按顯示次序的,圖3b顯示按照本發(fā)明的圖像流的另一個例子,其中圖像是按譯碼次序的,圖4顯示發(fā)信號通知HRD參數(shù)的例子,圖5顯示按照本發(fā)明的系統(tǒng)的示例性實施例,圖6顯示按照本發(fā)明的編碼器的示例性實施例,以及圖7顯示按照本發(fā)明的譯碼器的示例性實施例。
發(fā)明詳細說明按照本發(fā)明的假想?yún)⒖甲g碼器5被呈現(xiàn)如下。在圖6上,包括假想?yún)⒖甲g碼器5的編碼器1的示例性實施例以簡化的框圖被顯示。
緩存模型是基于兩個緩存器和兩個定時器的。緩存器被稱為編碼圖像緩存器1.5(CPB)和譯碼圖像緩存器5.2(DPB)。定時器被稱為譯碼定時器1.6和輸出定時器1.7。下面給出緩存模型。
編碼圖像緩存器1.5和譯碼圖像緩存器5.2初始是空的。然后,可以用例如編碼器的處理器1.2來實施的編碼單元1.8開始將視頻流編碼并形成經(jīng)編碼的圖像。視頻流的圖像或圖像的一部分,例如參考圖像,可被緩存在編碼緩存器1.1中。經(jīng)編碼的圖像的比特以等于bit_rate參數(shù)的速率被輸入到編碼圖像緩存器1.5。譯碼定時器1.6被初始化到等于(O-initial_cpb_removal_delay)的負數(shù)值以及當?shù)谝粋€比特進入編碼圖像緩存器1.5時,啟動譯碼定時器1.6。如果譯碼定時器1.6的數(shù)值小于0,不會從編碼圖像緩存器1.5去除數(shù)據(jù)。當以前的編碼的圖像全部從編碼圖像緩存器1.5被去除時,才開始從編碼圖像緩存器1.5中去除經(jīng)編碼的圖像。替換地,當以下的兩個條件都滿足時,就開始從編碼圖像緩存器1.5中去除經(jīng)編碼的圖像第一,譯碼定時器1.6的數(shù)值等于圖像的相對輸出時間。第二,以前的編碼圖像已全部從編碼圖像緩存器1.5被去除。
去除編碼圖像的持續(xù)時間等于編碼圖像中宏塊的數(shù)目除以峰值譯碼宏塊速率。替換地,去除編碼圖像的持續(xù)時間是以下的兩個數(shù)值中較大的一個數(shù)值第一數(shù)值等于編碼圖像中宏塊的數(shù)目除以峰值譯碼宏塊速率。第二數(shù)值等于編碼圖像中字節(jié)的數(shù)目除以峰值譯碼字節(jié)速率。當編碼的圖像從編碼圖像緩存器1.1中被全部去除時,相應(yīng)的經(jīng)譯碼的圖像被放置在譯碼圖像緩存器5.2中。峰值譯碼宏塊速率是對比特流進行譯碼所需要的最大譯碼速度,以每秒若干個宏塊單位計。峰值譯碼字節(jié)速率是對比特流進行譯碼所需要的最大譯碼速度,以每秒若干字節(jié)單位計。峰值譯碼宏塊速率和峰值譯碼字節(jié)速率在級別定義中被規(guī)定,而且它們可以在視頻比特流中隨不同的圖像或隨不同的圖像組而變化。
輸出定時器1.7被初始化到等于(O-initial_cpb_out_delay)的負數(shù)值以及當?shù)谝蛔g碼的圖像進入譯碼圖像緩存器5.2時,啟動輸出定時器1.7。如果輸出定時器1.7的數(shù)值小于0,則不從譯碼圖像緩存器5.2輸出數(shù)據(jù)。當輸出定時器1.7的數(shù)值等于圖像的相對輸出時間時,譯碼的圖像基本上立即從譯碼圖像緩存器5.2輸出。如果譯碼的圖像是非參考圖像或如果譯碼的圖像是參考圖像但被標記為“不使用于參考”,則當它被輸出時,經(jīng)譯碼的圖像的數(shù)據(jù)也從DPB中被去除。當從DPB輸出譯碼的圖像時,被標記為“不使用于參考”和相對輸出時間早于輸出定時器的經(jīng)譯碼的圖像要從DPB中被去除。把參考圖像標記為“使用于參考”或“不使用于參考”應(yīng)當由標準規(guī)定。
進行緩存的模型可以在與HRD參數(shù)組有關(guān)的任何圖像處被初始化。
對于順從的比特流的要求當HRD在任何被發(fā)信號告知的工作點處工作時,發(fā)送的或存儲的順從的比特流將滿足以下要求-編碼圖像緩存器(CPB)和譯碼圖像緩存器(DPB)應(yīng)絕不溢出。換句話說,編碼圖像緩存器的占用度將不超過缺省的或被發(fā)信號告知的緩存器大小,以及從而,譯碼圖像緩存器的占用度將不超過缺省的或被發(fā)信號告知的緩存器大小。
-譯碼圖像緩存器將決不下溢,即,每個譯碼的圖像將在它的相對輸出時間之前或之時,被插入到譯碼圖像緩存器。
對于順從的譯碼器的要求順從的譯碼器應(yīng)滿足以下的要求-宣稱與特定的輪廓(profile)和級別相一致的譯碼器將能夠成功地把所有的相容的比特流譯碼。
當假設(shè)在譯碼器和在比特流中有相同的緩存器大小時,譯碼器將能夠接收在順從的比特流中的所有的圖像并進行譯碼。而且,當假想?yún)⒖甲g碼器虛擬地顯示/輸出圖像時,譯碼器將能夠把每個圖像同時傳送到顯示/輸出處理過程。
在示例性實施例中,以下的參數(shù)被規(guī)定用于假想?yún)⒖甲g碼器5的操作cpb_dpb_cnt_minus1,bit_rate,cpb_size,dpb_size,initial_cpb_removal_delay和initial_dpb_output_delay。
可以有一個以上的供替換的編碼圖像緩存器和譯碼圖像緩存器技術(shù)規(guī)范用于經(jīng)編碼的視頻序列。參數(shù)cpb_dpb_cnt_minus1加1規(guī)定了用于編碼圖像緩存器和譯碼圖像緩存器的替換的技術(shù)規(guī)范的數(shù)目。
bit_rate參數(shù)規(guī)定第i個編碼圖像緩存器的最大輸入比特速率。
cpb_size參數(shù)規(guī)定第i個編碼圖像緩存器的編碼圖像緩存器大小。
至少一對bit_rate和cpb_size的數(shù)值應(yīng)符合由該輪廓和級別所允許的最大比特速率和編碼圖像緩存器大小。
dpb_size參數(shù)規(guī)定第i個譯碼圖像緩存器的譯碼圖像緩存器大小。
initial_cpb_removal_delay參數(shù)規(guī)定在第一圖像的第一比特到達編碼圖像緩存器的時間與第一圖像從編碼圖像緩存器去除的時間之間的第i個編碼圖像緩存器的延時。
initial_dpb_output_delay參數(shù)規(guī)定在第一譯碼圖像到達譯碼圖像緩存器的時間與第一譯碼圖像從譯碼圖像緩存器輸出的時間之間的第i個譯碼圖像緩存器的延時。
用于上述的技術(shù)說明的句法可被規(guī)定為以下的偽代碼
在以上的句法中的參數(shù)可以在圖像級別標題中,例如,在補充增強信息(SEI)消息或圖像標題中被發(fā)信號告知。替換地,參數(shù)可以在序列級別標題中,例如,在序列標題或序列參數(shù)組中被發(fā)信號告知。
在以上的句法中的參數(shù)可以直接地按照原樣地被發(fā)信號告知,或使用一種能節(jié)省信令比特的方法被發(fā)信號告知。例如,實際的數(shù)值的長度代表和實際的數(shù)值被發(fā)信號告知。在圖4上顯示被發(fā)信號告知的參數(shù)的非限制的例子。第一參數(shù)表示在信號中有兩個HRD參數(shù)組。該參數(shù)后面跟隨兩個HRD參數(shù)組。
技術(shù)規(guī)范被編碼器1的假想?yún)⒖甲g碼器5使用,并可以把它們發(fā)信號告知給譯碼器2。
下面將參照圖5的系統(tǒng)、圖6的編碼器1和假想?yún)⒖甲g碼器(HRD)5和圖7的譯碼器2更詳細地描述本發(fā)明。要被編碼的圖像例如可以是來自視頻源3,例如攝影機、視頻記錄器的視頻流的圖像。視頻流的圖像(幀)被劃分成更小的部分,諸如分片。分片還可被劃分成塊。在編碼器1,視頻流被編碼,以減小經(jīng)由傳輸信道4而發(fā)送的或者去到貯存媒體(未示出)的信息。視頻流的圖像被輸入到編碼器1。編碼器具有編碼緩存器1.1(圖6),用于臨時存儲要被編碼的某些圖像。編碼器1還包括存儲器1.3和處理器1.2,在其中可以施加按照本發(fā)明的編碼任務(wù)。存儲器1.3和處理器1.2可以是和發(fā)送裝置6共用的或發(fā)送裝置6可以具有另一個處理器和/或存儲器(未示出),以用于發(fā)送裝置6的其它的功能。
編碼處理過程不一定在第一圖像進入到編碼器后立即開始,而是在一定的量的圖像在編碼緩存器1.1中已可供使用后開始。然后,編碼器1試圖從圖像中找出適當?shù)暮蜻x者作為參考幀。編碼器1然后執(zhí)行編碼以形成編碼的圖像。編碼的圖像例如可以是預(yù)測圖像(P),雙向預(yù)測圖像(B),或內(nèi)部編碼圖像(I)。內(nèi)部編碼圖像可以不使用任何其它圖像而被譯碼,而其它類型的圖像在它們可被譯碼之前需要至少一個參考圖像。任何上述的圖像類型的圖像可被用作為參考圖像。內(nèi)部編碼的圖像可被用作為IDR圖像,它們在可獨立譯碼的圖像組的開始。編碼器1可以執(zhí)行運動補償和/或某些其它任務(wù)以壓縮視頻流。在運動估值時,要搜索在要被編碼的圖像(當前的圖像)與以前的和/或以后的圖像之間的相似性。如果找到相似性,則作比較的圖像或它的一部分可被用作為用于要被編碼的圖像的參考圖像。在JVT中,圖像顯示次序和譯碼次序不一定是相同的,其中參考圖像必須被存儲在緩存器(例如編碼存儲器1.1),只要它是用作為參考圖像的。編碼器1把圖像在顯示次序方面的信息也插入在傳輸流中。
編碼的圖像從編碼處理過程中被移動到編碼圖像緩存器1.5,如果必要的話。編碼的圖像經(jīng)由傳輸信道4從編碼器1被發(fā)送到譯碼器2。在譯碼器2中,編碼的圖像被譯碼以形成盡可能地類似于對應(yīng)的編碼圖像的未壓縮的圖像。每個譯碼的圖像被緩存到譯碼器2的譯碼圖像緩存器2.1,除非它在譯碼后基本上立即被顯示而不作為參考圖像。把參考圖像進行緩存和把顯示圖像進行緩存兩者可被組合起來,其中它們使用同一個譯碼圖像緩存器2.1。這消除了為存儲同一個圖像而需要兩個不同的地方,因此減小譯碼器2的存儲器要求。
譯碼器2還包括存儲器2.3和處理器2.2,在其中可以施加按照本發(fā)明的譯碼任務(wù)。存儲器2.3和處理器2.2可以與接收裝置8共用或接收裝置8可以具有另一個處理器和/或存儲器(未示出),用于接收裝置8的其它的功能。譯碼器2的緩存器也可以在存儲器2.3中實現(xiàn)。
編碼器1規(guī)定假想?yún)⒖甲g碼器5的譯碼圖像緩存器5.2的大小(DPB大小)。初始大小可以取決于與視頻流有關(guān)的某些參數(shù)(例如,分辨率、彩色/BW等等)。也可以有為譯碼圖像緩存器5.2規(guī)定的最大的大小(DPB容量)。初始大小不一定是與最大大小相同的,而是也可以小于最大大小。還規(guī)定了存儲在編碼器1的譯碼圖像緩存器5.2以及相應(yīng)地譯碼器2的譯碼圖像緩存器2.1中的參考幀的最大數(shù)目。
在譯碼器2中,譯碼圖像緩存器2.1具有有限的大小(DPB大小),這個大小在某些應(yīng)用中在譯碼處理過程期間是可以變化的,如果必要的話。譯碼圖像緩存器2.1的初始尺寸可以取決于與視頻流有關(guān)的某些參數(shù)(例如,分辨率、彩色/BW等等)。還可以有為譯碼圖像緩存器2.1規(guī)定最大大小(DPB容量)。初始大小不一定是與最大大小相同的,而是也可以小于最大尺寸。還規(guī)定了存儲在譯碼圖像緩存器2.1中的參考幀的最大數(shù)目。
編碼圖像的傳輸和/或存儲(以及由假想?yún)⒖甲g碼器5進行的虛擬譯碼)可以在第一編碼圖像準備好以后立即開始。這個圖像不一定是按譯碼器輸出次序的第一個圖像,因為譯碼次序和輸出次序可以是不同的。然而,因為譯碼器2的譯碼圖像緩存器2.1的大小是有限的,可能必須規(guī)定在圖像的譯碼時間與圖像的顯示時間之間的延時最大是多長,即,要重新排序的用于顯示的圖像的最大數(shù)目。DPB大小說明了多少圖像可被存儲在譯碼圖像緩存器2.1中。它可以通過把譯碼圖像緩存器的大小(以字節(jié)計)除以圖像的大小(以字節(jié)計)而進行計算。
當視頻流的第一圖像被編碼時,可以啟動傳輸。經(jīng)編碼的圖像被存儲在編碼圖像緩存器1.5中。傳輸也可以在以后階段,例如在視頻流的某些部分被編碼后開始。這個延時由上述的initial_cpb_removal_delay參數(shù)表示,并把它發(fā)信號告知譯碼器2。假想?yún)⒖甲g碼器5也知道這個參數(shù)。
譯碼器2應(yīng)當以正確的次序輸出經(jīng)譯碼的圖像。假想?yún)⒖甲g碼器5也應(yīng)當以正確的次序虛擬地輸出經(jīng)譯碼的圖像。假想?yún)⒖甲g碼器模型的操作在本說明中在上面公開。相對輸出時間在模型中說明。本發(fā)明公開了用于估計相對輸出時間的數(shù)值的兩個原則。
按照本發(fā)明的一個實施例,用于時間基準(在AVS-M中的picture_distance)的句法單元的語義被改變,以使得句法單元的數(shù)值在IDR圖像中不斷增加,就好像它們是非IDR圖像那樣,如圖2a和2b所示。在圖1a和1b上顯示現(xiàn)有技術(shù)視頻序列。在圖1a,1b,2a和2b上,上面的線顯示圖像類型和顯示次序,以及下面的數(shù)字顯示圖像的時間基準。在這些例子中,有兩個組圖像,GOP1,GOP2,每組具有作為第一圖像的IDR圖像IDR0,IDR1和多個接連的圖像。字母表示圖像的類型而數(shù)字表示圖像的輸出/顯示次序。
1的時間基準差值的持續(xù)時間也在比特流中(例如在序列參數(shù)組中)被發(fā)信號告知,以及對于每個圖像得出相對輸出時間(ROT)如下對于第一圖像,相對輸出時間參數(shù)給出數(shù)值0ROT(0)=0.
對于任何其它圖像,參數(shù)按照以下公式進行計算ROT(n)=ROT(n-1)+(TR(n)-TR(n-1)+(MaxTR+1))/(MaxTR+1)×Delta其中ROT(n)是第n個圖像的ROT數(shù)值,TR(n)是第n個圖像的時間基準數(shù)值,MaxTR是時間基準的最大值,Delta是時間基準差值為1的持續(xù)時間,和/表示按模除法。在AVS-M視頻編碼標準,TR(n)是第n個圖像的picture_distance數(shù)值。
按照本發(fā)明的另一個實施例,在IDR圖像與在輸出/顯示次序上以前的圖像之間的時間間隙(被表示為在AVS-M中使用的picture_distance_gap)要對每個IDR圖像在比特流中(例如在圖像標題中)發(fā)信號告知,如在圖3b上所示。在圖3a上顯示了視頻序列和視頻序列的圖像的輸出/顯示次序。
時間基準差值為1的持續(xù)時間也在比特流中(例如在序列參數(shù)組中)發(fā)信號告知,以及對于每個圖像得出上述的相對輸出時間(ROT)如下對于第一圖像,相對輸出時間參數(shù)給出數(shù)值0
ROT(0)=0.
對于任何其它非IDR圖像,參數(shù)按照以下公式進行計算ROT(n)=ROT(n-1)+(TR(n)-TR(n-1)+(MaxTR+1))/(MaxTR+1)×Delta其中ROT(n)是第n個圖像的ROT數(shù)值,TR(n)是第n個圖像的時間基準數(shù)值,MaxTR是時間基準的最大值,Delta是時間基準差值為1的持續(xù)時間,和/表示按模除法。在AVS-M視頻編碼標準中,TR(n)是第n個圖像的picture_distance數(shù)值。
對于任何其它IDR圖像,參數(shù)按照以下公式進行計算ROT(n)=ROT(n-1)+TRgap×Delta其中ROT(n)是IDR圖像的ROT數(shù)值,ROT(n-1)是在輸出/顯示次序上以前的圖像的ROT數(shù)值,TRgap是在IDR圖像與在輸出/顯示次序上以前的圖像之間的時間間隙(被表示為在AVS-M中使用的picture_distance_gap)。
正如上面提到的,多個一個或一個以上的HRD參數(shù)組可以對于每個編碼視頻序列發(fā)信號告知。每個HRD參數(shù)組表征為HRD的一個工作點。
本發(fā)明為視頻編碼標準實現(xiàn)了具有多個HRD工作點和譯碼圖像緩存器操作的簡單的HRD。
如果本發(fā)明的第一實施例被實施和如果進行了諸如插入編碼視頻序列到比特流或從比特流中去除編碼視頻序列的視頻編碼操作,則為在某些編碼視頻序列中的每個圖像需要更新時間基準(在AVS-M中的picture_distance)。
如果本發(fā)明的第一實施例被實施和如果進行了諸如插入編碼視頻序列到比特流或從比特流中去除編碼視頻序列的視頻編碼操作,則不需要對于任何圖像進行更新時間基準(在AVS-M中的picture_distance)。與其不同的是,僅僅是在輸出/顯示次序上其以前的圖像被改變的該一個或兩個IDR圖像的時間間隙(被表示為在AVS-M中使用的picture_distance_gap)數(shù)值需要被更新。
接著,描述按照本發(fā)明的實施例的譯碼器2的操作。譯碼圖像緩存器2.1包含用于存儲多個圖像的存儲器地點。這些地點在本說明中也被稱為幀存儲。
譯碼器2開始將編碼的圖像譯碼,譯碼從第一個進入編碼圖像緩存器的圖像開始。當圖像被譯碼時,它將被存儲在附加幀存儲器或譯碼圖像緩存器。要被譯碼的圖像可以是一幀或一場。譯碼后的圖像的輸出/顯示是根據(jù)相對輸出時間參數(shù)ROT執(zhí)行的。
HRD 5結(jié)合編碼器1一起用于虛擬地執(zhí)行編碼圖像的譯碼,類似于譯碼器2執(zhí)行的譯碼。編碼后的圖像緩存器1.5可被用作為HRD 5的譯碼前緩存器。在HRD 5中虛擬譯碼的一個目的是消除由于不平衡的編碼/譯碼任務(wù)而造成的譯碼錯誤的風險。另外,在HRD 5中對參考圖像進行緩存和對顯示圖像進行緩存可被組合,而且它們可以使用同一個譯碼圖像緩存器5.2,因此減小編碼器1的存儲器要求。所有經(jīng)譯碼的圖像一直存放在統(tǒng)一的譯碼圖像緩存器,直至它們不再被用作為參考圖像和直至達到它們的(虛擬)顯示時間或相對輸出時間為止。術(shù)語虛擬是指在其中執(zhí)行譯碼的編碼器1的HRD 5中,譯碼圖像并不輸出/顯示但HRD 5只檢驗在譯碼器2的譯碼處理過程中由于例如太小的緩存器大小而是否會有錯誤。如果存在錯誤,則HRD 5可以通知編碼器改變某些編碼參數(shù),或在某些實施方案中,譯碼器1的譯碼圖像緩存器2.1的大小可以通過發(fā)送SEI(補充增強信息)消息到譯碼器1而得以增加(除非譯碼圖像緩存器5.2,2.1已經(jīng)使用了最大的大小)。
譯碼可以是與編碼同時的操作,或編碼器首先產(chǎn)生比特流,以及當比特流準備好時,它被輸入到HRD 5,用于檢驗比特流是否滿足HRD5和處理級別要求。HRD也可以按照編碼流的特性建立和修正某些HRD參數(shù),諸如在編碼圖像緩存器中的初始緩存延時。
假想?yún)⒖甲g碼器5還可包括輸出端,以便提供對比特流進行譯碼用的HRD參數(shù)。參數(shù)例如可以與包括編碼圖像的比特流一起提供,或者作為分開的信息提供,例如作為信令比特流、文件格式容器等等。
假想?yún)⒖甲g碼器5也可被用作為比特流分析器,用來分析編碼的比特流是否遵從其中比特流格式所屬于的標準。所以,如果假想?yún)⒖甲g碼器5檢測出比特流不遵從該比特流按照其進行編碼的標準,則假想?yún)⒖甲g碼器5可以向編碼器或作為信號來源的其它裝置表明這一點。
本發(fā)明也可作為轉(zhuǎn)碼器(transcoder)(未示出)的一部分來實現(xiàn),該轉(zhuǎn)碼器選擇一個或多個編碼參數(shù)并通過使用所選擇的參數(shù)將比特流轉(zhuǎn)碼。轉(zhuǎn)碼例如可以通過首先譯碼和然后編碼而完成。
本發(fā)明可被應(yīng)用于許多種類的系統(tǒng)和裝置。含有編碼器1和HRD 5的發(fā)送裝置6有利地還包括發(fā)射機7,以便把編碼圖像發(fā)送到傳輸信道4。接收裝置8包括譯碼器2、用來接收編碼圖像的接收機9、和能在其上顯示譯碼后圖像的顯示器10。傳輸信道例如可以是地面線路通信信道和/或無線通信信道。發(fā)送裝置和接收裝置還包括一個或多個處理器1.2,2.2,該處理器可以按照本發(fā)明執(zhí)行用于控制視頻流的編碼/譯碼處理所必需的步驟。所以,按照本發(fā)明的方法可以由主要是處理器的機器可執(zhí)行步驟所實現(xiàn)。圖像的緩存可以在裝置的存儲器1.3,2.3中來實施。編碼器的程序代碼1.4可被存儲在存儲器1.3。相應(yīng)地,譯碼器的程序代碼2.4可被存儲在存儲器2.3。
編碼后的圖像流不傳送到接收裝置,而是它可被存儲在貯存媒體,并且它可從該媒體恢復(fù)用于傳輸和/或譯碼,這也是可能的。
權(quán)利要求
1.一種編碼器,包括-輸入端,用于輸入要被編碼的視頻信號以形成包括至少一個經(jīng)編碼的視頻序列的圖像的經(jīng)編碼的視頻信號;-經(jīng)編碼的圖像的緩存器;-經(jīng)譯碼的圖像的緩存器;以及-定義器,用于定義至少一個參數(shù),該參數(shù)表示在至少一個視頻序列中兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列的最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
2.按照權(quán)利要求1的編碼器,其中所述時間差是以下項目之一-時間基準;-圖像距離;-絕對時間差。
3.按照權(quán)利要求2的編碼器,其中所述至少一個參數(shù)包括表明時間基準差為1的持續(xù)時間的參數(shù)。
4.按照權(quán)利要求2的編碼器,其中所述至少一個參數(shù)包括表明在第一編碼視頻序列中最后的圖像與按輸出/顯示次序的第二編碼視頻序列中第一圖像之間的時間基準間隙的參數(shù)。
5.按照權(quán)利要求1到4的任一項的編碼器,還包括假想譯碼器,用于假想地把編碼的視頻信號進行譯碼。
6.按照權(quán)利要求5的編碼器,所述假想譯碼器適合于告知編碼器改變至少一個編碼參數(shù)。
7.按照權(quán)利要求5的編碼器,所述假想譯碼器適合于去告知改變譯碼器的譯碼圖像緩存器的大小。
8.一個比特流,包括-編碼的視頻信號,包括至少一個編碼視頻序列的圖像;以及-至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列的最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
9.按照權(quán)利要求8的比特流,其中所述時間差是以下項目之一-時間基準;-圖像距離;-絕對時間差。
10.按照權(quán)利要求9的比特流,其中所述至少一個參數(shù)包括表明時間基準差為1的持續(xù)時間的參數(shù)。
11.按照權(quán)利要求9的比特流,其中所述至少一個參數(shù)包括表明在第一編碼視頻序列中最后的圖像與按輸出/顯示次序的第二編碼視頻序列中第一圖像之間的時間基準間隙的參數(shù)。
12.按照權(quán)利要求9到11的任一項的比特流,包括用于譯碼器的信息,該信息用來改變譯碼器的譯碼圖像緩存器的大小。
13.一種譯碼器,包括-輸入端,用于輸入要被譯碼的經(jīng)編碼的視頻信號,所述經(jīng)編碼的視頻信號包括-至少一個經(jīng)編碼的視頻序列中的各圖像;以及-至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像;-經(jīng)譯碼的圖像的緩存器;以及-用于分析在經(jīng)編碼的視頻信號中接收的信息以得出所述至少一個參數(shù)的裝置。
14.按照權(quán)利要求13的譯碼器,其中所述時間差是以下項目之一-時間基準;-圖像距離;-絕對時間差。
15.按照權(quán)利要求14的譯碼器,其中所述至少一個參數(shù)包括表明時間基準差為1的持續(xù)時間的參數(shù)。
16.按照權(quán)利要求14的譯碼器,其中所述至少一個參數(shù)包括表明在第一編碼視頻序列中最后的圖像與按輸出/顯示次序的第二編碼視頻序列中第一圖像之間的時間基準間隙的參數(shù)。
17.按照權(quán)利要求13到16的任一項的譯碼器,其中譯碼器適合于把所述至少一個參數(shù)使用在以下至少一項中-把編碼后的視頻流譯碼;-輸出經(jīng)譯碼的視頻圖像;或-顯示譯碼后的視頻圖像。
18.一種方法,包括-輸入要被編碼的視頻信號以形成包括至少一個編碼視頻序列的圖像的經(jīng)編碼的視頻信號;-定義至少一個參數(shù),該參數(shù)表明在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
19.按照權(quán)利要求18的方法,包括規(guī)定所述時間差為以下項目之-時間基準;-圖像距離;-絕對時間差。
20.按照權(quán)利要求19的方法,其中所述至少一個參數(shù)包括表明時間基準差為1的持續(xù)時間的參數(shù)。
21.按照權(quán)利要求19的方法,其中所述至少一個參數(shù)包括表明在第一編碼視頻序列中最后的圖像與按輸出/顯示次序的第二編碼視頻序列中第一圖像之間的時間基準間隙的參數(shù)。
22.按照權(quán)利要求18到21的任一項的方法,還包括假想地把編碼后的視頻信號進行譯碼。
23.按照權(quán)利要求22的方法,其中所述假想的譯碼包括告知編碼器去改變至少一個編碼參數(shù)。
24.按照權(quán)利要求22的方法,其中所述假想的譯碼包括告知譯碼器去改變譯碼器的譯碼圖像緩存器的大小。
25.一種系統(tǒng),包括-編碼器,包括-輸入端,用于輸入要被編碼的視頻信號以形成包括至少一個經(jīng)編碼的視頻序列中的各圖像的經(jīng)編碼的視頻信號;-經(jīng)編碼的圖像的緩存器;-經(jīng)譯碼的圖像的緩存器;以及-定義器,用于定義至少一個參數(shù),該參數(shù)表明在至少一個視頻序列中兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像;-譯碼器,包括-輸入端,用于輸入要被譯碼的經(jīng)編碼的視頻信號;-經(jīng)譯碼的圖像的緩存器;以及-用于分析在編碼的視頻信號中接收的信息以得出所述至少一個參數(shù)的裝置。
26.按照權(quán)利要求25的系統(tǒng),其中所述時間差是以下項目之一-時間基準;-圖像距離;-絕對時間差。
27.按照權(quán)利要求26的系統(tǒng),其中所述至少一個參數(shù)包括表明時間基準差為1的持續(xù)時間的參數(shù)。
28.按照權(quán)利要求26的系統(tǒng),其中所述至少一個參數(shù)包括表明在第一編碼視頻序列中最后的圖像與按輸出/顯示次序的第二編碼視頻序列的第一圖像之間的時間基準間隙的參數(shù)。
29.按照權(quán)利要求25到28的任一項的系統(tǒng),所述編碼器還包括假想譯碼器,用于假想地把編碼后的視頻信號進行譯碼。
30.按照權(quán)利要求29的系統(tǒng),所述假想譯碼器適合于告知編碼器去改變至少一個編碼參數(shù)。
31.按照權(quán)利要求29的系統(tǒng),所述假想譯碼器適合于去告知改變譯碼器的譯碼圖像緩存器的大小。
32.一種包括機器可執(zhí)行的指令的計算機程序產(chǎn)品,用于-輸入要被編碼的視頻信號以形成包括至少一個經(jīng)編碼的視頻序列中的各圖像的經(jīng)編碼的視頻信號;-定義至少一個參數(shù),該參數(shù)表示在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下的一種-同一個編碼視頻序列的兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
33.按照權(quán)利要求32的計算機程序產(chǎn)品,包括機器可執(zhí)行的指令以規(guī)定所述時間差為以下項目之一-時間基準;-圖像距離;-絕對時間差。
34.按照權(quán)利要求33的計算機程序產(chǎn)品,其中所述至少一個參數(shù)包括表明時間基準差為1的持續(xù)時間的參數(shù)。
35.按照權(quán)利要求33的計算機程序產(chǎn)品,其中所述至少一個參數(shù)包括一個參數(shù),它表明在第一編碼視頻序列中最后的圖像與按輸出/顯示次序的第二編碼視頻序列中第一圖像之間的時間基準間隙。
36.一種用于載送比特流的媒體,所述比特流包括-經(jīng)編碼的視頻信號,包括至少一個編碼視頻序列中的各圖像;以及-至少一個參數(shù),該參數(shù)表示在至少一個視頻序列的兩個接連的圖像之間的時間差,其中所述兩個接連的圖像是以下中的一種-同一個編碼視頻序列中兩個接連的圖像;或-所述至少一個編碼視頻序列中最后的圖像與在輸出/顯示次序上跟隨在所述至少一個編碼視頻序列后面的另一個編碼視頻序列的第一圖像。
全文摘要
一種編碼器,包括輸入端,用于輸入要被編碼的視頻信號以形成包括至少第一編碼視頻序列和第二編碼視頻序列中各圖像的經(jīng)編碼的視頻信號;假想譯碼器,用于假想地將經(jīng)編碼的視頻信號譯碼;經(jīng)編碼的圖像的緩存器;和譯碼后圖像的緩存器,以及定義器,用于定義一個參數(shù),該參數(shù)表明在輸出/顯示次序上在第一編碼視頻序列中最后的圖像與第二編碼視頻序列中第一圖像之間的時間差。
文檔編號H04N7/26GK1787640SQ20051012954
公開日2006年6月14日 申請日期2005年12月6日 優(yōu)先權(quán)日2004年12月6日
發(fā)明者王業(yè)奎 申請人:諾基亞有限公司