專利名稱:用于從mpeg-2位流中去除選擇的用戶數(shù)據(jù)的可編程濾波器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于對(duì)根據(jù)由運(yùn)動(dòng)圖象專家組(MPEG)規(guī)定的一格式,MPEG-2被壓縮的圖象數(shù)據(jù)進(jìn)行處理的解碼器且更具體地涉及在解碼之前選擇地從該MPEG-2數(shù)據(jù)流中刪除不需的用戶數(shù)據(jù)的預(yù)處理步驟。
在MPEG-2標(biāo)準(zhǔn)下執(zhí)行的視頻信號(hào)壓縮是固有的可變速率。一序列圖象中的視頻數(shù)據(jù)根據(jù)或者一序列圖象的空間頻率內(nèi)容或者該序列的圖象中的空間頻率內(nèi)容中的差別而被壓縮,被發(fā)送以再現(xiàn)該圖象序列的壓縮的數(shù)據(jù)量可被大大地減少。
該MPEG-2標(biāo)準(zhǔn)的語(yǔ)法在題為“運(yùn)動(dòng)圖象及其相關(guān)的音頻信息的類編碼視頻”的國(guó)際標(biāo)準(zhǔn)13818-2建議ITU-T H.262中被給出并可從瑞士的日內(nèi)瓦的ISO/IEC獲得,其對(duì)MPEG-2視頻編碼標(biāo)準(zhǔn)的講授被結(jié)合在此作為參考。該標(biāo)準(zhǔn)定義了被用于傳送音頻和視頻數(shù)據(jù)的幾個(gè)數(shù)據(jù)記錄層。為簡(jiǎn)明起見(jiàn),在此不描述音頻數(shù)據(jù)的解碼。表述一具體視頻序列的編碼的數(shù)據(jù)在幾個(gè)嵌套的層該序列層,該圖象群層,該圖象層,該片(slice)層和該宏塊層中被表示。除了宏塊層外的各層記錄以標(biāo)識(shí)該層的一開(kāi)始碼開(kāi)始。該層記錄包括首部數(shù)據(jù)和有效負(fù)載數(shù)據(jù)。
在MPEG-2標(biāo)準(zhǔn)下,在解碼操作可開(kāi)始之前接收并存儲(chǔ)一預(yù)定數(shù)據(jù)量。該數(shù)據(jù)量在該序列層的首部中被規(guī)定為值vbv_buffer_size_value(vbv_緩沖器_大小_值)。該值也可確定待被保留用于一緩沖器,該VBV緩沖器,的存儲(chǔ)量,該緩沖器保持被解碼之前的位流數(shù)據(jù)。
如下參照?qǐng)D3A至3D所述的,該MPEG-2位流的許多記錄包括一擴(kuò)展數(shù)據(jù)區(qū)和/或可包括許多字節(jié)數(shù)據(jù)的一用戶數(shù)據(jù)區(qū)。該擴(kuò)展數(shù)據(jù)在該位流中被提供以允許MPEG-2標(biāo)準(zhǔn)被擴(kuò)展而不重定義其基本語(yǔ)法。該用戶數(shù)據(jù)不代表MPEG-2標(biāo)準(zhǔn)的擴(kuò)展。它被提供作為用于一信號(hào)提供者的一手段以提供特殊目的信息給那些接收該信號(hào)的接收者。它可被用于由該信號(hào)提供者和解碼器制造者許可的任何目的。例如,它可被用于從一主信號(hào)源(例如網(wǎng)絡(luò)制做商)發(fā)送制做信息給一信號(hào)分配器(例如一網(wǎng)絡(luò)成員站)。該數(shù)據(jù)的其他使用可以是發(fā)送多語(yǔ)言閉合字幕信息或其他可覆蓋該圖象的數(shù)據(jù),例如常規(guī)的屏幕上的顯示。
盡管一具體的接收器可被構(gòu)成以處理一些用戶數(shù)據(jù)記錄,其他的用戶數(shù)據(jù)對(duì)于該接收器可能是未知的,這樣,可能是多余的。
本發(fā)明被具體體現(xiàn)在一MPEG-2解碼器中,該MPEG-2解碼器包括一位流分析器,該分析器在將一MPEG-2位流存儲(chǔ)進(jìn)該解碼器的VBV緩沖器之前識(shí)別并去除該位流中的多余的用戶數(shù)據(jù)。
根據(jù)本發(fā)明的一方面,該分析器包括檢測(cè)該用戶數(shù)據(jù)出現(xiàn)的該位流語(yǔ)法中的水平的電路和選擇地僅去除與被選擇的水平相關(guān)的用戶數(shù)據(jù)的電路。
根據(jù)本發(fā)明的另一方面,該用戶數(shù)據(jù)將被去除的這些水平通過(guò)一微處理器被提供給該分析器并可被編程。
圖1是包括本發(fā)明的一實(shí)施例的一MPEG-2視頻解碼器的方框圖。
圖2是適用于圖1中所示的解碼器的一分析器的方框圖。
圖3A至3D(現(xiàn)有技術(shù))是用于描述本發(fā)明的操作的MPEG-2的語(yǔ)法圖。
圖4是說(shuō)明圖2中示出的用戶數(shù)據(jù)碼檢測(cè)引擎(engine)的操作的流程圖。
圖1是具體體現(xiàn)本發(fā)明的一示例性解碼器系統(tǒng)的方框圖。該系統(tǒng)包括三個(gè)元件,一解碼處理器110,一高帶寬存儲(chǔ)器120和一控制微處理器130。在本發(fā)明的該示例性實(shí)施例中使用的該高帶寬存儲(chǔ)器120例如可是一能從NEC及東芝公司得到的RAMBUS存儲(chǔ)器系統(tǒng)。
簡(jiǎn)短地,圖1中所示的解碼器如下地工作。作為第一步驟,該解碼器集成電路(IC)110通過(guò)一具體構(gòu)造的微處理器130被初始化。如果,例如,該解碼器將被使用解碼525P信號(hào),適當(dāng)?shù)目刂浦到?jīng)微處理器接口112被提供給解碼處理器110的內(nèi)部電路。為清楚起見(jiàn),微處理器130和IC110中的各元件之間的控制總線被省略。該總線例如可是一常規(guī)的I2C總線。
一旦IC110被初始化,輸入位流被提供給一分析器116。以下參照?qǐng)D2描述的該分析器將該位流存儲(chǔ)在存儲(chǔ)器120中。而且,該分析器識(shí)別用于該序列、圖象群、和圖象層的開(kāi)始碼并通知微處理器130這些開(kāi)始碼被存儲(chǔ)在的存儲(chǔ)位置。在圖1所示的示例性解碼器中,微處理器130解碼用于這些層的首部信息。該分析器還識(shí)別在這些層的各層中的用戶數(shù)據(jù)區(qū)并選擇地禁止將被識(shí)別的用戶數(shù)據(jù)存儲(chǔ)進(jìn)存儲(chǔ)器120,如以下參照?qǐng)D2和4所述的。
DRAM控制和地址發(fā)生器126,控制RAC接口120以將該位流存儲(chǔ)進(jìn)存儲(chǔ)器120。在本發(fā)明的該示例性實(shí)施例中,存儲(chǔ)器120的一部分被保留用于作為保持輸入位流的緩沖器。該緩沖器區(qū)對(duì)應(yīng)于以MPEG-2標(biāo)準(zhǔn)規(guī)定的VBV緩沖器。
在該位流數(shù)據(jù)被寫進(jìn)存儲(chǔ)器120的VBV緩沖器區(qū)后,根據(jù)可變長(zhǎng)度解碼器(VLD)118的需要,它被從高帶寬存儲(chǔ)器120讀出并存儲(chǔ)在緩沖存儲(chǔ)器121中,而且在DRAM控制和地址發(fā)生器126的控制下。存儲(chǔ)器121是一如位流語(yǔ)法所規(guī)定地被來(lái)自存儲(chǔ)器120的脈沖串所填充并通過(guò)VLD118被排空的FIFO存儲(chǔ)器。
VLD118分析該位流的片和宏塊層以生成若干塊的量化的離散余弦變換系數(shù)值。這些值的塊被提供給FIFO存儲(chǔ)器128。該FIFO存儲(chǔ)器緩沖在一方面的VLD118和在另一方面的宏塊解碼電路132之間的數(shù)據(jù)。該存儲(chǔ)器還執(zhí)行MPEG-1標(biāo)準(zhǔn)中定義的反掃描函數(shù)。電路132包括一反量化器134,其將量化的系數(shù)值轉(zhuǎn)換成一均一的格式;和一反離散余弦變換(IDCT)處理器142,其將頻域系數(shù)轉(zhuǎn)換成空間域象素值或差分象素值。反量化器134和IDCT處理器142包括各自的存儲(chǔ)器136和144以在處理操作中提供幫助。由電路132提供的輸出數(shù)據(jù)為若干塊象素值或差分象素值。
如果這些塊中的值是差分象素值,它們通過(guò)一運(yùn)動(dòng)補(bǔ)償處理器161與先前解碼的圖象幀(基準(zhǔn)幀)相組合,該運(yùn)動(dòng)補(bǔ)償處理器161包括加法電路158和削波電路160。這些電路進(jìn)而從由半象素和內(nèi)插電路166提供的基準(zhǔn)幀獲得圖象數(shù)據(jù)。內(nèi)插電路166使用緩沖存儲(chǔ)器168從先前解碼的幀獲得圖象畫面元素(象素)。用于這些存儲(chǔ)器的數(shù)據(jù)值通過(guò)DRAM控制和地址發(fā)生電路126被自高帶寬存儲(chǔ)器120提供。
由運(yùn)動(dòng)補(bǔ)償處理器161產(chǎn)生的解碼的圖象數(shù)據(jù)被存儲(chǔ)進(jìn)緩沖存儲(chǔ)器162和164。從緩沖存儲(chǔ)器162和164,該解碼的圖象數(shù)據(jù)被存儲(chǔ)進(jìn)存儲(chǔ)器120用于顯示或用于作為在自以后接收的圖象場(chǎng)或幀解碼運(yùn)動(dòng)補(bǔ)償?shù)木幋a的數(shù)據(jù)中的基準(zhǔn)幀數(shù)據(jù)。待被顯示的數(shù)據(jù)以塊格式被存儲(chǔ)進(jìn)存儲(chǔ)器120并以光柵(raster)掃描格式被傳送給一存儲(chǔ)器174,例如,以在一顯示處理器175的控制下被提供給一顯示裝置(未示出)。
一屏幕顯示(OSD)處理器171也被耦合以經(jīng)DRAM控制和地址發(fā)生器126和RAC接口170提供數(shù)據(jù)給存儲(chǔ)器120,及自存儲(chǔ)器120接收數(shù)據(jù)。在本發(fā)明的示例性實(shí)施例中,OSD處理器171被使用以生成覆蓋顯示的圖象的用戶菜單和閉合字幕文本。
如圖1所示,存儲(chǔ)器120自分析器116、微處理器130、運(yùn)動(dòng)補(bǔ)償處理器161和OSD處理器171接收數(shù)據(jù)并提供數(shù)據(jù)給VLD118、運(yùn)動(dòng)補(bǔ)償處理器161、OSD處理器171和顯示控制器175。而且,存儲(chǔ)器120是一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)且周期地需要被更新,要求進(jìn)一步的存儲(chǔ)器存取。這些存儲(chǔ)器存取中的各個(gè)被優(yōu)先次序化,顯示處理器175具有最高優(yōu)先權(quán)及OSD處理器171具有最低優(yōu)先權(quán)。
根據(jù)被處理的圖象序列,可能難以排定在任一給定時(shí)間懸置的所有存儲(chǔ)器存取要求。在這些情況下,較低優(yōu)先權(quán)的存儲(chǔ)器存取要求被延遲。
當(dāng)高清晰度圖象序列(即主輪廓,高水平MP@HL)被解碼時(shí),由于被存儲(chǔ)進(jìn)存儲(chǔ)器和從存儲(chǔ)器120拾取的信息量?jī)H僅解碼和顯示該高清晰度圖象序列,較低優(yōu)先權(quán)存儲(chǔ)器存取要求可能被不適當(dāng)?shù)匮舆t。對(duì)于除屏幕上顯示外的各處理,高清晰度圖象序列通常需要比標(biāo)準(zhǔn)清晰度圖象更多的存儲(chǔ)器存取。在一高清晰度圖象中的較大數(shù)量的象素不僅變換成一較高顯示數(shù)據(jù)率用于顯示處理器175而且變換成較高的數(shù)據(jù)率用于通過(guò)運(yùn)動(dòng)補(bǔ)償處理器161從存儲(chǔ)器120拾取基準(zhǔn)數(shù)據(jù),較高的數(shù)據(jù)率用于提供解碼的圖象數(shù)據(jù)給存儲(chǔ)器120和較高的數(shù)據(jù)率用于存儲(chǔ)接收的位流數(shù)據(jù)及提供存儲(chǔ)的位流數(shù)據(jù)給VLD處理器118。在這種處理圖象中,減少解碼圖象序列所需的存儲(chǔ)操作的數(shù)是有利的。
當(dāng)解碼這種圖象序列時(shí),本發(fā)明通過(guò)在接收的位流被存儲(chǔ)在VBV緩沖器之前,從該位流中省除不用或不需的用戶數(shù)據(jù)區(qū)而減少微處理器130的存儲(chǔ)器存取數(shù)。因?yàn)樵赟TD模中未定義用戶數(shù)據(jù),當(dāng)其函數(shù)可從位流到位流變化時(shí),存儲(chǔ)在存儲(chǔ)器中的位流數(shù)據(jù)的減少不妨礙VBV緩沖器約束。因此,在STD控制下,用戶數(shù)據(jù)的解碼被假定不影響圖象數(shù)據(jù)的解碼和顯示。這樣,即使用戶數(shù)據(jù)可以序列首部的vbv_buffer_size_value被計(jì)數(shù),它可被忽略而不影響解碼操作的定時(shí)。
圖2是適用為圖1中所示的分析器116的電路的方框圖。在圖2所示的電路中,MPEG位流以一次8位地被提供給用戶數(shù)據(jù)開(kāi)始碼檢測(cè)引擎210及給一4字節(jié)快進(jìn)快出(FIFO)存儲(chǔ)器216。檢測(cè)引擎210還被耦合以從一控制寄存器212接收一4位值。該值由圖1中所示的微處理器130提供。該開(kāi)始碼檢測(cè)引擎在以下參照?qǐng)D4進(jìn)行詳細(xì)描述。
簡(jiǎn)短地,用戶數(shù)據(jù)開(kāi)始碼檢測(cè)引擎210包括一監(jiān)視出現(xiàn)在MPEG-2位流中的開(kāi)始碼值和當(dāng)接收不同水平的位流時(shí)改變狀態(tài)的狀態(tài)機(jī)(state machine)。檢測(cè)引擎210監(jiān)視用于該序列、圖象群和圖象層的開(kāi)始碼。它還監(jiān)視用于該數(shù)據(jù)流中的用戶數(shù)據(jù)項(xiàng)的開(kāi)始的開(kāi)始碼,如以下參照?qǐng)D3A至3D進(jìn)行的描述。
當(dāng)在該位流中發(fā)現(xiàn)一用戶數(shù)據(jù)項(xiàng)時(shí),檢測(cè)引擎210將接收的位流的當(dāng)前狀態(tài)與控制寄存器212中設(shè)置的值進(jìn)行比較以確定檢測(cè)的用戶數(shù)據(jù)是否應(yīng)被傳送給VBV緩沖器或應(yīng)被禁止。如果在檢測(cè)引擎210中確定一具體的用戶數(shù)據(jù)區(qū)應(yīng)被禁止,適當(dāng)?shù)臑V波信號(hào)濾波序列水平,濾波群水平或?yàn)V波圖象水平被斷定。這些信號(hào)被提供給一“與”門214的各自倒置的輸入端子,其輸出信號(hào)被提供給一寄存器218的允許輸入。
寄存器218的數(shù)據(jù)輸入端口被耦合以接收由4字節(jié)FIFO216提供的輸出信號(hào)。在示例性實(shí)施例中,該字節(jié)FIFO216工作以當(dāng)該位流的這些字節(jié)被用戶數(shù)據(jù)開(kāi)始碼檢測(cè)引擎進(jìn)行處理時(shí)延遲該位流的這些字節(jié)。用戶數(shù)據(jù)開(kāi)始碼檢測(cè)引擎210、4字節(jié)FIFO216和寄存器218通過(guò)提供給它們各自的時(shí)鐘輸入端子的信號(hào)SLK被進(jìn)行同步。寄存器218的輸出信號(hào)是圖1中所示的分析器116的輸出信號(hào)。該信號(hào)經(jīng)RAC接口170被提供給存儲(chǔ)器120。如上所述,由分析器116提供的數(shù)據(jù)被存儲(chǔ)進(jìn)該位流解碼器的VBV緩沖器。
一地址發(fā)生器220和一開(kāi)始碼檢測(cè)引擎222也被耦合以接收寄存器218的輸出信號(hào)。開(kāi)始碼引擎222檢測(cè)用于該序列、圖象群和圖象層的開(kāi)始碼。地址發(fā)生器220提供由寄存器218提供的數(shù)據(jù)被存儲(chǔ)進(jìn)的存儲(chǔ)器120的地址值。對(duì)于各序列、圖象群和圖象開(kāi)始碼,開(kāi)始碼檢測(cè)引擎222發(fā)送開(kāi)始碼的類型的一指示和該開(kāi)始碼被寫進(jìn)存儲(chǔ)器120的一地址值給微處理器130。如上所述,微處理器130使用該信息以從存儲(chǔ)器120拾取用于這些記錄的首部并解碼拾取的首部數(shù)據(jù)以供解碼器110所用。
如上所述,MPEG-2標(biāo)準(zhǔn)定義了用于一序列圖象的5層信息。這些是序列層、圖象群層、圖象層、片層和宏塊層。圖3A至3C為說(shuō)明該序列、圖象群和圖象層的結(jié)構(gòu)的語(yǔ)法圖,這些層可包含一用戶數(shù)據(jù)項(xiàng)。圖3D是說(shuō)明這些層的任一的擴(kuò)展和用戶數(shù)據(jù)區(qū)的結(jié)構(gòu)的語(yǔ)法圖。
這些不同的層在上述描述MPEG-2標(biāo)準(zhǔn)的文件中被定義。簡(jiǎn)短地,該序列層包括其他四個(gè)層。在以下的材料中,這些層也被稱為記錄。這樣,一序列記錄包括至少一圖象群記錄,其進(jìn)而包括至少一圖象記錄且依此類推,向下到宏塊記錄。因?yàn)橛脩魯?shù)據(jù)僅出現(xiàn)在該序列、圖象群和圖象層中,以下僅描述這些層。該序列層定義了僅根據(jù)跟隨該序列的開(kāi)始信息可被解碼的一組圖象的開(kāi)始點(diǎn)。下一較低層,該圖象群層定義了包含在該序列中的一子組圖象。該圖象群層中的這些圖象通常包括僅使用至少一圖象中的數(shù)據(jù)被編碼的該圖象(內(nèi)部編碼的圖象)和使用運(yùn)動(dòng)預(yù)測(cè)編碼技術(shù)被編碼的幾個(gè)圖象(預(yù)測(cè)地或雙向地編碼的圖象)。緊跟在該圖象群層下面的是該圖象層。在該層的數(shù)據(jù)記錄定義了單個(gè)圖象幀。
圖3A定義了該序列層的語(yǔ)法。在MPEG-2說(shuō)明中,一序列由一序列開(kāi)始碼定義,在該序列開(kāi)始碼后跟隨一組待被用于該序列的參數(shù),一或多個(gè)圖象群記錄和一序列結(jié)束碼。在這些參數(shù)中,可被提供的是定義這些單獨(dú)塊中的系數(shù)在編碼過(guò)程中如何被量化的的量化矩陣。
如上所述,圖3A中所示的序列語(yǔ)法中的填充項(xiàng)310代表一可被執(zhí)行以使該位流的定時(shí)與該視頻圖象的顯示一致的零填充操作。如果,例如,先前序列包含幾個(gè)可被有效地編碼的幀,該位流可能需要被填充以滿足發(fā)射機(jī)和接收機(jī)之間的固定的延遲要求。如由箭頭橋接步驟310所指示的,該填充操作在該序列語(yǔ)法中是任選的。
該序列語(yǔ)法中的下一項(xiàng)是序列開(kāi)始碼312。這在MPEG-2標(biāo)準(zhǔn)下被定義為是0x000001B3(十六進(jìn)制記數(shù)法)。所有的開(kāi)始碼以一具有至少23個(gè)0值位和一單個(gè)的1值位的開(kāi)始碼前綴開(kāi)始。該開(kāi)始碼值跟隨該23個(gè)0和該一個(gè)1并確定開(kāi)始碼的類型。表1列出了與本發(fā)明有關(guān)的開(kāi)始碼值。
表1
除這些開(kāi)始碼外,該序列記錄以一具有與開(kāi)始碼相同的通用格式和一0xB7的結(jié)束碼值的結(jié)束碼結(jié)束。
跟隨該序列開(kāi)始碼,待被定義用于該序列的第一參數(shù)是水平尺寸314。該值定義了被解碼的視頻圖象的各行中的多個(gè)圖象元素(象素)。跟隨在該水平尺寸參數(shù)314的是垂直尺寸參數(shù)316。該參數(shù)定義了該解碼視頻圖象中有效行的數(shù)目。象素縱橫比318定義了解碼的電視圖象的縱橫比。
該語(yǔ)法中的下一項(xiàng),圖象率320定義了將被顯示的每秒的圖象數(shù)。該范圍從每秒約24幅圖象到每秒60幅圖象。位率參數(shù)322是一定義以每秒400位的單位測(cè)量的位流的位率的整數(shù)。該語(yǔ)法的下一項(xiàng)是標(biāo)記位324。該位總是具有1值。如上所述,該vbv_buffer_size參數(shù)326是一10位整數(shù),其定義了用于解碼該序列所需的視頻緩沖檢驗(yàn)器的緩沖器的大小。
當(dāng)下一參數(shù),約束的參數(shù)標(biāo)志328被設(shè)置,某些缺省最大參數(shù)大小在MPEG-2標(biāo)準(zhǔn)下被假定。因?yàn)楫?dāng)該標(biāo)志被設(shè)置時(shí)所定義的限制大致上對(duì)應(yīng)于NTSC或PAL圖象的分辨率,該標(biāo)志對(duì)于大多HDTV圖象被復(fù)位。
跟隨該約束的參數(shù)標(biāo)志328的是負(fù)載內(nèi)部量化矩陣標(biāo)志330。如果該標(biāo)志被設(shè)置則該序列參數(shù)流中跟隨的64個(gè)8位值定義了待被用于解碼幀內(nèi)編碼的圖象的一量化矩陣。這些64個(gè)值由圖3A中所示的該序列語(yǔ)法中的項(xiàng)332表示。如果內(nèi)部量化矩陣標(biāo)志330被復(fù)位,則一缺省量化矩陣被用于解碼內(nèi)部編碼的圖象。該缺省矩陣在MPEG-2中被定義且,不被發(fā)送帶有該序列記錄。
該序列語(yǔ)法中的下一項(xiàng)是負(fù)載非內(nèi)部量化矩陣標(biāo)志334。該標(biāo)志以與負(fù)載內(nèi)部量化矩陣標(biāo)志相同的方式工作,除了當(dāng)該標(biāo)志被設(shè)置時(shí),跟隨該標(biāo)志的64個(gè)8位值36被用于對(duì)已被雙向地或預(yù)測(cè)地編碼的圖象進(jìn)行去量化。
該序列中的跟隨該非內(nèi)部量化矩陣的項(xiàng)是擴(kuò)展及用戶數(shù)據(jù)338。擴(kuò)展數(shù)據(jù)由一開(kāi)始碼值0xB5定義。該擴(kuò)展數(shù)據(jù)跟隨該碼并持續(xù)直至另一開(kāi)始碼被遭遇??杀辉庥龅囊婚_(kāi)始碼是用戶數(shù)據(jù)開(kāi)始碼。在MPEG-2中,該用戶數(shù)據(jù)開(kāi)始碼是0xB2。該碼識(shí)別一序列、圖象群或圖象記錄中的一用戶數(shù)據(jù)區(qū)的開(kāi)始。正如擴(kuò)展數(shù)據(jù)的情況,該數(shù)據(jù)通過(guò)另一開(kāi)始碼被去除限制。該擴(kuò)展和用戶數(shù)據(jù)區(qū)被提供以允許MPEG-2標(biāo)準(zhǔn)的擴(kuò)展和定制。如箭頭橋接塊338指示的,該用戶數(shù)據(jù)是任選的。以下將參照?qǐng)D3D描述該擴(kuò)展及用戶數(shù)據(jù)的格式。
在擴(kuò)展和用戶數(shù)據(jù)338是一或多個(gè)圖象群記錄340后,如該語(yǔ)法圖中的向后箭頭橋接項(xiàng)340所指示,多個(gè)圖象群可在該序列語(yǔ)法的該部分中被定義。然而,跟隨最后的圖象群的是一序列結(jié)束碼342。
除非數(shù)據(jù)發(fā)送的格式是眾所周知的,解碼可僅在一序列開(kāi)始碼及其伴隨參數(shù)已被處理后開(kāi)始。為防止序列首部之間長(zhǎng)的延遲,在MPEG-2標(biāo)準(zhǔn)中仔細(xì)考慮了這些開(kāi)始碼及它們的相關(guān)的首部塊可在一給定的序列中被插入多次。這些首部塊可被插入,例如在連續(xù)的圖象群記錄之間。
圖3B和3C示出了該語(yǔ)法的圖象群和圖象層。圖3B代表圖3A的圖象群項(xiàng)340的語(yǔ)法。圖3B包括填充位350、圖象群首部參數(shù)、一擴(kuò)展和用戶數(shù)據(jù)區(qū)352和一或多個(gè)圖象記錄354,它們通過(guò)圖3C的語(yǔ)法圖被進(jìn)一步定義。圖3C,進(jìn)而,包括填充位360、各種不同的圖象參數(shù)、一擴(kuò)展和用戶數(shù)據(jù)區(qū)362及一或多個(gè)片記錄364。這些圖未被詳細(xì)描述,因?yàn)樵撜Z(yǔ)法在上述MPEG-2說(shuō)明文件中可得到。
圖3D是擴(kuò)展數(shù)據(jù)和用戶數(shù)據(jù)區(qū)338、352和362的語(yǔ)法圖。這些擴(kuò)展和用戶數(shù)據(jù)區(qū)以任選的填充數(shù)據(jù)372開(kāi)始,如上所述。下一項(xiàng)是包括一擴(kuò)展開(kāi)始碼374和一或多字節(jié)的擴(kuò)展數(shù)據(jù)的一任選的擴(kuò)展數(shù)據(jù)記錄。該擴(kuò)展數(shù)據(jù)區(qū)的長(zhǎng)度不受限制。當(dāng)遭遇下一開(kāi)始碼時(shí),該區(qū)結(jié)束。如果該記錄有用戶數(shù)據(jù),下一開(kāi)始碼是用戶數(shù)據(jù)開(kāi)始碼378,否則是下一記錄的開(kāi)始碼。實(shí)際的用戶數(shù)據(jù)跟隨擴(kuò)展和用戶數(shù)據(jù)區(qū)中的用戶數(shù)據(jù)開(kāi)始碼。至于擴(kuò)展數(shù)據(jù),用戶數(shù)據(jù)在其長(zhǎng)度上不受限制。用戶數(shù)據(jù)通過(guò)另一擴(kuò)展或用戶數(shù)據(jù)區(qū)的一開(kāi)始碼或通過(guò)該位流中的下一記錄(圖象群,圖象或片)的開(kāi)始碼被終止。
圖4是說(shuō)明圖2中所示的用戶數(shù)據(jù)開(kāi)始碼檢測(cè)引擎210的操作的流程圖。該流程圖中的第一步驟,步驟410確定當(dāng)前提供給檢測(cè)引擎210的該8位是否對(duì)應(yīng)于一開(kāi)始碼值。該塊還可被執(zhí)行作為一監(jiān)視序列出現(xiàn)的4字節(jié)數(shù)據(jù)的位流的狀態(tài)機(jī),該序列出現(xiàn)的4字節(jié)是一第一零值字節(jié)、一第二零值字節(jié)、具有1值的一第三字節(jié)和包含該開(kāi)始碼值的一第四字節(jié)。在MPEG標(biāo)準(zhǔn)下,如果該第一、第二和第三字節(jié)出現(xiàn)則該第四字節(jié)必須包含一開(kāi)始碼值。在以下的描述中,該序列停止碼被包括在一MPEG開(kāi)始碼的定義中。在步驟410,只要被處理的當(dāng)前字節(jié)不對(duì)應(yīng)于一開(kāi)始碼值,步驟410依據(jù)其自身向回循環(huán)。
一旦在步驟410檢測(cè)到一開(kāi)始碼,控制進(jìn)到步驟412,對(duì)用戶數(shù)據(jù)開(kāi)始碼檢測(cè)引擎210的輸出信號(hào)濾波圖象水平、濾波群水平和濾波序列水平進(jìn)行復(fù)位。當(dāng)所有信號(hào)被復(fù)位,“與”門被調(diào)節(jié)以提供啟動(dòng)信號(hào)給寄存器218,允許該位流的這些字節(jié)被存儲(chǔ)進(jìn)VBV緩沖器。然而,如果這些信號(hào)中的任一被斷言,“與”門214禁止寄存器218,防止來(lái)自FIFO216的位流數(shù)據(jù)被存儲(chǔ)進(jìn)存儲(chǔ)器120。
在步驟412后,步驟414、418、422和426被執(zhí)行。盡管在圖4所示的流程圖中,這些步驟被順序執(zhí)行,它們也可并行地被執(zhí)行。步驟414確定在步驟410檢測(cè)的開(kāi)始碼值是否是一序列開(kāi)始碼值。如果是,步驟416復(fù)位兩內(nèi)部布爾變量,PICT和GOP,并設(shè)置一內(nèi)部變量SEQ。這三個(gè)布爾變量標(biāo)志當(dāng)前被分析的該位流的水平。如果布爾變量SEQ被設(shè)置,則分析器116(圖1中所示)正處理一序列首部;如果變量GOP被設(shè)置,則該分析器正處理一圖象群首部;最后,如果變量PICT被設(shè)置,則該分析器正處理一圖象首部。在步驟416后,控制返回到步驟410以等候下一開(kāi)始碼值的到來(lái)。
如果,在步驟414,該開(kāi)始碼值不是一序列開(kāi)始碼值,步驟418確定該開(kāi)始碼值是否是用于一圖象群。如果是,步驟420被執(zhí)行,其復(fù)位布爾變量PICT并設(shè)置布爾變量GOP,在步驟420后,控制被返回到步驟410。
如果,在步驟418,該開(kāi)始碼值不是用于一圖象群首部,則在步驟422確定該開(kāi)始碼值是否是用于一圖象首部。如果是,步驟424被執(zhí)行以設(shè)置布爾變量PICT且控制被傳送到步驟410。
如果,在步驟422,該開(kāi)始碼被發(fā)現(xiàn)不是用于一圖象首部,步驟426確定該碼是否是一序列停止碼,如果是,執(zhí)行步驟428以復(fù)位布爾變量SEQ、GOP和PICT。從步驟428,控制被傳送到步驟410,如上所述。
如果自步驟410的開(kāi)始碼值不是用于一序列首部,圖象群首部或圖象首部不是一序列停止碼,執(zhí)行步驟430。步驟430確定該開(kāi)始碼值是否指示一用戶數(shù)據(jù)區(qū)的開(kāi)始。如果它不是,該控制被傳送到步驟410以等候下一開(kāi)始碼值的到來(lái)。
在步驟430,如果該開(kāi)始碼被確定是一用戶數(shù)據(jù)開(kāi)始碼,則控制被傳送到步驟432,確定布爾變量PICT的狀態(tài)。如果PICT被設(shè)置,步驟434被執(zhí)行以確定通過(guò)微處理器130被設(shè)置在控制寄存器212中的一變量濾波PICT數(shù)據(jù)的狀態(tài)。如果該位被設(shè)置,控制被傳送到步驟436,其斷言該濾波圖象水平信號(hào)。在步驟436后,或在步驟434后,如果該濾波PICT數(shù)據(jù)信號(hào)未被設(shè)置,控制被傳送到步驟410以等候下一開(kāi)始碼值的到來(lái)。如上所述,當(dāng)在步驟436斷言該濾波圖象水平信號(hào),在步驟430檢測(cè)的用戶數(shù)據(jù)開(kāi)始碼和跟隨該開(kāi)始碼值的用戶數(shù)據(jù)被禁止存儲(chǔ)進(jìn)存儲(chǔ)器120的VBV緩沖區(qū)中,如圖1所示。步驟438、440和442以與步驟432、434和436相同的方法工作,除了正被處理的用戶數(shù)據(jù)區(qū)出現(xiàn)在一圖象群首部中和由微處理器130提供的濾波GOP數(shù)據(jù)信號(hào)被測(cè)試以確定該濾波群水平信號(hào)是否應(yīng)被斷言外。最后,步驟444、446和448以與步驟432、434和436相同的方法工作,除了一序列首部的用戶數(shù)據(jù)區(qū)被處理和濾波序列水平信號(hào)被選擇地?cái)嘌酝狻?br>
上述的電路監(jiān)視-MPEG-2位流以在該位流被存儲(chǔ)進(jìn)VBV緩沖器之前選擇地從該位流刪除不需的用戶數(shù)據(jù)。如果不需的用戶數(shù)據(jù)未被省去,它將通過(guò)微處理器130被從存儲(chǔ)器120拾取,如圖1中所示,并馬上被放棄。因?yàn)樗环艞?,微處理器將馬上需要拾取另外的位流數(shù)據(jù)。不需的數(shù)據(jù)的拾取使用重要的存儲(chǔ)器帶寬,而該重要的存儲(chǔ)器帶寬被用于其他類型的存儲(chǔ)器操作可能是更佳的,特別在高清晰度(MP@HL)MPEG-2編碼的圖象數(shù)據(jù)的解碼中。
與一MPEG-2位流被發(fā)送的用戶數(shù)據(jù)可包括響應(yīng)于觀看者的要求,被選擇地使用的信息。例如,可被傳送作為用戶數(shù)據(jù)的一種數(shù)據(jù)是多語(yǔ)種閉合字幕信息。在圖1所示的本發(fā)明的示例性實(shí)施例中,微處理器130可被耦合以接收來(lái)自一遙控裝置(未示出)的觀看者的指令。這些觀看者的指令之一可使用OCD171,產(chǎn)生一菜單,其允許使用者從法語(yǔ)、西班牙語(yǔ)和日語(yǔ)閉合字幕數(shù)據(jù)中選擇。如果,例如,觀看者選擇西班牙語(yǔ)閉合字幕數(shù)據(jù),且該數(shù)據(jù)在圖象首部的用戶數(shù)據(jù)區(qū)中被傳送,微處理器130復(fù)位布爾信號(hào)濾波PICT數(shù)據(jù)以使用于圖象記錄的用戶數(shù)據(jù)被傳送給VBV緩沖器,在那里它可被處理成西班牙語(yǔ)閉合字幕視頻重疊。
如上所述,在其序列記錄期間一序列首部可被重復(fù)幾次。假定當(dāng)該序列首部的第一種情況被分析時(shí),用戶數(shù)據(jù)已被正確地接收,跟隨該首部的第一種情況的任意情況中的用戶數(shù)據(jù)區(qū)可被忽略。本發(fā)明可被改型以當(dāng)在圖4的步驟414,布爾變量SEQ被設(shè)置且一序列開(kāi)始碼被檢測(cè)時(shí)設(shè)置布爾變量濾波SEQ數(shù)據(jù)。這允許該解碼器分析用于一序列的第一用戶數(shù)據(jù)區(qū)(因?yàn)樽兞縎EQ被初始地復(fù)位且當(dāng)序列停止碼的尾部被檢測(cè)到時(shí)被復(fù)位)同時(shí)忽略該用戶數(shù)據(jù)區(qū)的所有后來(lái)的情況。
在上述本發(fā)明的示例性實(shí)施例中,可從存儲(chǔ)的位流中選擇地省去用戶數(shù)據(jù)區(qū),因?yàn)樗鼈冊(cè)诮獯a操作中不被使用。然而,通過(guò)定義,用戶數(shù)據(jù)區(qū)不需要來(lái)解碼一MPEG-2編碼的視頻圖象序列。這樣,即使用戶數(shù)據(jù)區(qū)在一具體的解碼操作中被使用,它們可被忽略而不會(huì)不利地影響再現(xiàn)的圖象。該MPEG-2位流的特性可被開(kāi)發(fā)以允許一解碼器選擇地省略用戶數(shù)據(jù)區(qū)同時(shí)對(duì)難以解碼的一圖象序列進(jìn)行解碼。
為確定何時(shí)需要省略用戶數(shù)據(jù)區(qū)中的一些,該微處理器例如可周期地發(fā)出一低優(yōu)先權(quán)請(qǐng)求以在存儲(chǔ)器120中存取數(shù)據(jù)并監(jiān)視完成該存儲(chǔ)器請(qǐng)求所需的時(shí)間量。如果完成這些請(qǐng)求中的幾個(gè)的平均時(shí)間量超過(guò)一閾值,該微處理器可斷言該信號(hào)濾波SEQ數(shù)據(jù)以使與一序列首部相關(guān)聯(lián)的用戶數(shù)據(jù)被從存儲(chǔ)的位流省略。如果省略該數(shù)據(jù)不產(chǎn)生一可接受的存儲(chǔ)器存取時(shí)間,微處理器130可順序地?cái)嘌栽撔盘?hào)濾波GOP數(shù)據(jù)和濾波PICT數(shù)據(jù)以選擇地消除與一圖象群首部和圖象首部相關(guān)聯(lián)的用戶數(shù)據(jù)直至獲得一可接受的存儲(chǔ)器存取時(shí)間。
盡管通過(guò)示例性實(shí)施例描述了本發(fā)明,可理解在后附權(quán)利要求的范圍內(nèi)如上概述地實(shí)踐本發(fā)明。
權(quán)利要求
1.一種對(duì)根據(jù)由運(yùn)動(dòng)圖象專家組(MPEG)規(guī)定的一標(biāo)準(zhǔn)(MPEG-2)已被編碼的信號(hào)進(jìn)行解碼的視頻信號(hào)解碼器,該被編碼的視頻信號(hào)包括具有一開(kāi)始碼的一用戶數(shù)據(jù)區(qū),該設(shè)備包括一端子,用于接收該被編碼的視頻信號(hào);一存儲(chǔ)器一開(kāi)始碼檢測(cè)引擎,其檢測(cè)該用戶數(shù)據(jù)區(qū)的開(kāi)始碼和緊跟該用戶數(shù)據(jù)區(qū)的另一開(kāi)始碼并生成當(dāng)該用戶數(shù)據(jù)開(kāi)始碼被檢測(cè)到時(shí)被斷言且當(dāng)另一開(kāi)始碼被檢測(cè)到時(shí)被復(fù)位的一禁止信號(hào);及寄存器裝置,響應(yīng)于該禁止信號(hào),用于當(dāng)該禁止信號(hào)被復(fù)位時(shí)將接收的編碼的視頻信號(hào)存儲(chǔ)進(jìn)該存儲(chǔ)器并當(dāng)該禁止信號(hào)被斷言時(shí)阻擋該接收的編碼的視頻信號(hào)的存儲(chǔ)。
2.根據(jù)權(quán)利要求1的一視頻信號(hào)解碼器,其中該編碼的視頻信號(hào)包括多個(gè)序列首部、多個(gè)圖象群首部和多個(gè)圖象首部,它們中的各個(gè)可包括一用戶數(shù)據(jù)區(qū),其中該開(kāi)始碼檢測(cè)引擎檢測(cè)序列開(kāi)始碼、圖象群開(kāi)始碼和圖象開(kāi)始碼以改變內(nèi)部狀態(tài)變量;及該視頻信號(hào)解碼器還包括處理裝置,用于確定哪些類型首部包括被該解碼器使用的用戶數(shù)據(jù)區(qū);及信令裝置,用于信令該開(kāi)始碼檢測(cè)引擎禁止該解碼器不使用的用戶數(shù)據(jù)區(qū)的首部類型的用戶數(shù)據(jù)的存儲(chǔ)。
3.根據(jù)權(quán)利要求2的一視頻信號(hào)解碼器,其中該處理裝置包括性能監(jiān)視裝置,用于監(jiān)視該視頻信號(hào)解碼器的性能以響應(yīng)于該性能監(jiān)視裝置,順序地禁止序列首部、圖象群首部和圖象首部的存儲(chǔ)。
4.根據(jù)權(quán)利要求2的一視頻信號(hào)解碼器,其中該編碼的視頻信號(hào)包括至少一序列記錄,該序列記錄包括該多個(gè)序列首部且該開(kāi)始碼檢測(cè)引擎在跟隨該序列記錄中的該序列首部的第一種情況的該序列首部的各情況中斷言用于用戶數(shù)據(jù)區(qū)的禁止信號(hào)。
5.根據(jù)權(quán)利要求2的一視頻信號(hào)解碼器,還包括容許裝置,用于容許一使用者選擇一采用這些首部類型中的一個(gè)的用戶數(shù)據(jù)的功能;及該處理裝置包括有裝置,響應(yīng)于使用者的選擇,信令該開(kāi)始碼檢測(cè)引擎不禁止用于一被選擇的首部類型的用戶數(shù)據(jù)區(qū)的存儲(chǔ)。
6.一種減少對(duì)根據(jù)由運(yùn)動(dòng)圖象專家組(MPEG)規(guī)定的一標(biāo)準(zhǔn)(MPEG-2)已被編碼的信號(hào)進(jìn)行解碼的一視頻信號(hào)解碼器中的存儲(chǔ)器存取的方法,該編碼的視頻信號(hào)包括具有一開(kāi)始碼的一用戶數(shù)據(jù)區(qū),該方法包括有步驟接收該被編碼的視頻信號(hào);檢測(cè)該用戶數(shù)據(jù)區(qū)的開(kāi)始碼和緊跟該用戶數(shù)據(jù)區(qū)的另一開(kāi)始碼并生成當(dāng)該用戶數(shù)據(jù)開(kāi)始碼被檢測(cè)到時(shí)被斷言且當(dāng)另一開(kāi)始碼被檢測(cè)到時(shí)被復(fù)位的一禁止信號(hào);及當(dāng)該禁止信號(hào)被復(fù)位時(shí)將接收的編碼的視頻信號(hào)存儲(chǔ)進(jìn)一存儲(chǔ)器并當(dāng)該禁止信號(hào)被斷言時(shí)阻擋該接收的編碼的視頻信號(hào)的存儲(chǔ)。
7.根據(jù)權(quán)利要求6的方法,其中該編碼的視頻信號(hào)包括多個(gè)序列首部、多個(gè)圖象群首部和多個(gè)圖象首部,它們中的各個(gè)可包括一用戶數(shù)據(jù)區(qū),其中該檢測(cè)用戶數(shù)據(jù)區(qū)的開(kāi)始碼的步驟還檢測(cè)序列開(kāi)始碼、圖象群開(kāi)始碼和圖象開(kāi)始碼以改變內(nèi)部狀態(tài)變量;及該方法還包括步驟確定哪些類型首部包括被該解碼器使用的用戶數(shù)據(jù)區(qū);及禁止該解碼器不使用的用戶數(shù)據(jù)區(qū)的首部類型的用戶數(shù)據(jù)的存儲(chǔ)。
8.根據(jù)權(quán)利要求7的方法,還包括有步驟監(jiān)視該視頻信號(hào)解碼器的性能以順序地禁止序列首部、圖象群首部和圖象首部的存儲(chǔ)。
9.根據(jù)權(quán)利要求7的方法,其中該編碼的視頻信號(hào)包括至少一序列記錄,該序列記錄包括該多個(gè)序列首部且該開(kāi)始碼檢測(cè)引擎在跟隨該序列記錄中的該序列首部的第一種情況的該序列首部的各情況中斷言用于用戶數(shù)據(jù)區(qū)的禁止信號(hào)。
10.根據(jù)權(quán)利要求7的方法,還包括有步驟容許一使用者選擇一采用這些首部類型中的一個(gè)的用戶數(shù)據(jù)的功能;及響應(yīng)于使用者的選擇,容許用于一被選擇的首部類型的用戶數(shù)據(jù)區(qū)的存儲(chǔ)。
全文摘要
一種對(duì)根據(jù)由運(yùn)動(dòng)圖象專家組(MPEG)規(guī)定的一標(biāo)準(zhǔn)(MPEG-2)已被編碼的信號(hào)進(jìn)行解碼的視頻信號(hào)解碼器,該被編碼的視頻信號(hào)包括具有一開(kāi)始碼的一用戶數(shù)據(jù)區(qū),該設(shè)備包括:一端子,用于接收該被編碼的視頻信號(hào);一存儲(chǔ)器一開(kāi)始碼檢測(cè)引擎,其檢測(cè)該用戶數(shù)據(jù)區(qū)的開(kāi)始碼和緊跟該用戶數(shù)據(jù)區(qū)的另一開(kāi)始碼并生成當(dāng)該用戶數(shù)據(jù)開(kāi)始碼被檢測(cè)到時(shí)被斷言且當(dāng)另一開(kāi)始碼被檢測(cè)到時(shí)被復(fù)位的一禁止信號(hào);及寄存器裝置,響應(yīng)于該禁止信號(hào),用于當(dāng)該禁止信號(hào)被復(fù)位時(shí)將接收的編碼的視頻信號(hào)存儲(chǔ)進(jìn)該存儲(chǔ)器并當(dāng)該禁止信號(hào)被斷言時(shí)阻擋該接收的編碼的視頻信號(hào)的存儲(chǔ)。
文檔編號(hào)H04N5/44GK1255023SQ9912174
公開(kāi)日2000年5月31日 申請(qǐng)日期1999年10月9日 優(yōu)先權(quán)日1998年10月9日
發(fā)明者羅伯特·T·瑞安 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社