專利名稱:一種視頻解碼系統(tǒng)及方法
一種視頻解碼系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體處理領(lǐng)域,特別涉及一種視頻解碼方案。背景技術(shù):
RealVideo 9是一種多媒體數(shù)據(jù)編碼格式,即rmvb文件,其中VB是指動(dòng)態(tài)碼率 (variable bit),主要應(yīng)用對(duì)象是流媒體領(lǐng)域,適合網(wǎng)絡(luò)即時(shí)媒體應(yīng)用。所述Realvideo 9 的多媒體中包括音頻流、視頻流和系統(tǒng)流等信息。由于硬件解碼芯片通常包括相互獨(dú)立的音頻解碼器和視頻解碼模塊,所以需要在 解碼前對(duì)多媒體數(shù)據(jù)進(jìn)行解析以分離出音頻數(shù)據(jù)和視頻數(shù)據(jù)分別送給對(duì)應(yīng)的音頻解碼器 和視頻解碼模塊解碼。RealVideo 9是以包(packet)為單位打包組成一個(gè)多媒體流,其中 視頻數(shù)據(jù)通常是以若干視頻數(shù)據(jù)包打包成一幀幀圖像數(shù)據(jù)來存儲(chǔ)。所述視頻數(shù)據(jù)包的大小 都是字節(jié)數(shù)的整數(shù)倍,其中除了有效視頻數(shù)據(jù)外,還包括了一些不定長(zhǎng)的填充位,這些填充 位不是有效數(shù)據(jù),只是為了將一個(gè)視頻包的數(shù)據(jù)填充為大小是字節(jié)數(shù)的整數(shù)倍。每幀圖像 數(shù)據(jù)還包括一個(gè)幀頭文件,幀頭文件記錄了該幀圖像中每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度。 為了便于視頻解碼,也需要將這些視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度解析出來。請(qǐng)參考圖1,其示出了現(xiàn)有的Realvideog視頻解碼系統(tǒng)的結(jié)構(gòu)方框示意圖。所述 視頻解碼系統(tǒng)包括有視頻解析模塊102、第一存儲(chǔ)模塊104、第二存儲(chǔ)模塊106和視頻解碼 模塊108。所述視頻解碼系統(tǒng)通常以幀為單位對(duì)視頻數(shù)據(jù)進(jìn)行解碼處理,一幀圖像數(shù)據(jù)包括 若干視頻數(shù)據(jù)包和一個(gè)幀頭文件,所述幀頭文件記錄有該幀圖像數(shù)據(jù)中每個(gè)視頻數(shù)據(jù)包的 有效數(shù)據(jù)長(zhǎng)度。所述視頻解析模塊102對(duì)一幀圖像數(shù)據(jù)的幀頭進(jìn)行解析以得到若干視頻數(shù) 據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,將所述視頻數(shù)據(jù)包存儲(chǔ)在第一存儲(chǔ)模塊104中,比 如第0視頻數(shù)據(jù)包、第1視頻數(shù)據(jù)包、第2視頻數(shù)據(jù)包等等,同時(shí)將各視頻數(shù)據(jù)包對(duì)應(yīng)的有 效數(shù)據(jù)長(zhǎng)度存儲(chǔ)在第二存儲(chǔ)模塊106中,比如第0視頻數(shù)據(jù)包長(zhǎng)度、第1視頻數(shù)據(jù)包長(zhǎng)度、 第2視頻數(shù)據(jù)包長(zhǎng)度等等。當(dāng)解碼時(shí),所述視頻解碼模塊108從第一存儲(chǔ)模塊104中讀出 一個(gè)視頻數(shù)據(jù)包,從第二存儲(chǔ)模塊106中讀出對(duì)應(yīng)的視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,再利用 有效數(shù)據(jù)長(zhǎng)度對(duì)所述視頻數(shù)據(jù)包進(jìn)行解碼,即提取其中的有效數(shù)據(jù),解碼完畢后按照類似 方法繼續(xù)解碼下一個(gè)視頻數(shù)據(jù)包。但是上述方案存在如下缺陷,由于每一幀圖像中所包含的視頻數(shù)據(jù)包的數(shù)目并不固定,而為了保證第二存儲(chǔ)模塊106能適用于各種幀圖像的解碼,在為第二存儲(chǔ)模塊106分 配空間時(shí),只能按照最大的可能情況來分配,而在實(shí)際視頻應(yīng)用中,每一幀圖像數(shù)據(jù)中所包 含的視頻數(shù)據(jù)包的數(shù)目達(dá)到最大值的極端情況很少出現(xiàn),多數(shù)情況下一幀圖像數(shù)據(jù)所包含 的視頻數(shù)據(jù)包的數(shù)目都很少,這樣按照最大的可能情況來分配存儲(chǔ)模塊106的大小就是一 種對(duì)存儲(chǔ)空間的浪費(fèi),利用率較差。因此,有必要提出一種新的技術(shù)方案來解決上述缺點(diǎn)。
發(fā)明內(nèi)容本部分的目的在于概述本發(fā)明的實(shí)施例的一些方面以及簡(jiǎn)要介紹一些較佳實(shí)施 例。在本部分以及本申請(qǐng)的說明書摘要和發(fā)明名稱中可能會(huì)做些簡(jiǎn)化或省略以避免使本部 分、說明書摘要和發(fā)明名稱的目的模糊,而這種簡(jiǎn)化或省略不能用于限制本發(fā)明的范圍。本發(fā)明的一個(gè)目的在于提供一種視頻解碼系統(tǒng),可以提高視頻解碼時(shí)的存儲(chǔ)空間 利用效率。本發(fā)明的另一目的在于提供一種視頻解碼方法,可以提高視頻解碼時(shí)的存儲(chǔ)空間 利用效率。為了達(dá)到本發(fā)明的目的,根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供一種視頻解碼系統(tǒng), 其包括視頻解析模塊,用來解析幀圖像數(shù)據(jù)以得到若干視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有 效數(shù)據(jù)長(zhǎng)度;存儲(chǔ)模塊,用來存儲(chǔ)解析出的視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,其 中每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度位于對(duì)應(yīng)的視頻數(shù)據(jù)包前;視頻解碼模塊,用來從所述 存儲(chǔ)模塊內(nèi)讀取一視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,之后利用該有效數(shù)據(jù)長(zhǎng)度解碼該視頻數(shù)據(jù) 包。進(jìn)一步地,所述幀圖像數(shù)據(jù)是采用RealVideo格式進(jìn)行編碼的。進(jìn)一步地,每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度在所述存儲(chǔ)模塊內(nèi)占用固定大小的存 儲(chǔ)空間。進(jìn)一步地,所述固定大小為16比特。進(jìn)一步地,所述視頻解碼模塊包括包長(zhǎng)度寄存器,其用來存儲(chǔ)從所述存儲(chǔ)模塊內(nèi) 讀取的所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度。為了達(dá)到本發(fā)明的目的,根據(jù)本發(fā)明的另一方面,本發(fā)明提供一種視頻解碼方法, 其包括解析幀圖像數(shù)據(jù)以得到若干視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度;將解析 出的每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度存儲(chǔ)于對(duì)應(yīng)的視頻數(shù)據(jù)包前;讀取一視頻數(shù)據(jù)包的有 效數(shù)據(jù)長(zhǎng)度,根據(jù)所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度解碼相應(yīng)的視頻數(shù)據(jù)包。進(jìn)一步地,所述幀圖像數(shù)據(jù)是采用RealVideo格式進(jìn)行編碼的。進(jìn)一步地,所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度是以固定大小存儲(chǔ)的。進(jìn)一步地,所述固定大小是16比特。與現(xiàn)有技術(shù)相比,本發(fā)明中的所述視頻解析模塊將每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng) 度以固定的大小存儲(chǔ)并插入視頻流中,這樣就節(jié)省了專門用來存儲(chǔ)每個(gè)視頻數(shù)據(jù)包的有效 數(shù)據(jù)長(zhǎng)度的存儲(chǔ)空間,從而提高了解碼時(shí)對(duì)于存儲(chǔ)空間的利用效率。
結(jié)合參考附圖及接下來的詳細(xì)描述,本發(fā)明將更容易理解,其中同樣的附圖標(biāo)記對(duì)應(yīng)同樣的結(jié)構(gòu)部件,其中圖1為現(xiàn)有的視頻解碼系統(tǒng)的結(jié)構(gòu)方框示意圖;圖2為本發(fā)明中的視頻解碼系統(tǒng)在一個(gè)實(shí)施例中的結(jié)構(gòu)框圖;和圖3為本發(fā)明中的視頻解碼方法在一個(gè)實(shí)施例中的流程圖。
具體實(shí)施方式本發(fā)明的詳細(xì)描述主要通過程序、步驟、邏輯塊、過程或其他象征性的描述來直接 或間接地模擬本發(fā)明技術(shù)方案的運(yùn)作。為透徹的理解本發(fā)明,在接下來的描述中陳述了很 多特定細(xì)節(jié)。而在沒有這些特定細(xì)節(jié)時(shí),本發(fā)明則可能仍可實(shí)現(xiàn)。所屬領(lǐng)域內(nèi)的技術(shù)人員 使用此處的這些描述和陳述向所屬領(lǐng)域內(nèi)的其他技術(shù)人員有效的介紹他們的工作本質(zhì)。換 句話說,為避免混淆本發(fā)明的目的,由于熟知的方法、程序、成分和電路已經(jīng)很容易理解,因 此它們并未被詳細(xì)描述。此處所稱的“一個(gè)實(shí)施例”或“實(shí)施例”是指可包含于本發(fā)明至少一個(gè)實(shí)現(xiàn)方式中 的特定特征、結(jié)構(gòu)或特性。在本說明書中不同地方出現(xiàn)的“在一個(gè)實(shí)施例中”并非均指同一 個(gè)實(shí)施例,也不是單獨(dú)的或選擇性的與其他實(shí)施例互相排斥的實(shí)施例。此外,表示一個(gè)或多 個(gè)實(shí)施例的方法、流程圖或功能框圖中的模塊順序并非固定的指代任何特定順序,也不構(gòu) 成對(duì)本發(fā)明的限制。本發(fā)明提供的視頻解碼方案中并不采用獨(dú)立的存儲(chǔ)空間來存儲(chǔ)每個(gè)視頻包的有 效數(shù)據(jù)長(zhǎng)度,而采用將每個(gè)視頻包的有效數(shù)據(jù)長(zhǎng)度以固定的大小存儲(chǔ)并插入視頻流中,即 將每個(gè)視頻包的有效數(shù)據(jù)長(zhǎng)度插入該視頻數(shù)據(jù)包前,這樣就節(jié)省了專門用來存儲(chǔ)每個(gè)視頻 包的有效數(shù)據(jù)長(zhǎng)度的存儲(chǔ)空間。請(qǐng)參考圖2,其示出了本發(fā)明中的視頻解碼系統(tǒng)200在一個(gè)實(shí)施例中的結(jié)構(gòu)框圖。 所述視頻解碼系統(tǒng)200包括有視頻解析模塊202、存儲(chǔ)模塊204和視頻解碼模塊206。所述視頻解析模塊202用來對(duì)視頻中的每幀圖像數(shù)據(jù)進(jìn)行解析,從幀頭文件中解 析出一幀圖像數(shù)據(jù)中的每個(gè)視頻數(shù)據(jù)包以及每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度。所述存儲(chǔ)模塊204用來存儲(chǔ)解析出的每個(gè)視頻數(shù)據(jù)包以及每個(gè)視頻數(shù)據(jù)包的有 效數(shù)據(jù)長(zhǎng)度,其中每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度以固定大小存儲(chǔ)在對(duì)應(yīng)視頻數(shù)據(jù)包的前 面。在一個(gè)實(shí)施例中,所述固定大小為16比特,比如,對(duì)于第0視頻數(shù)據(jù)包,在其前面插入 代表該視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度的第0視頻數(shù)據(jù)包長(zhǎng)度;對(duì)于第1視頻數(shù)據(jù)包,在其前面 插入代表該視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度的第1視頻數(shù)據(jù)包長(zhǎng)度;對(duì)于第2視頻數(shù)據(jù)包,在其 前面插入代表該視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度的第2視頻數(shù)據(jù)包等等。所述視頻解碼模塊206包括一個(gè)包長(zhǎng)度寄存器。在一個(gè)實(shí)施例中,所述視頻解碼 模塊206首先從所述存儲(chǔ)模塊204中讀出固定大小的一個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,將 固定大小的有效數(shù)據(jù)長(zhǎng)度存儲(chǔ)到所述包長(zhǎng)度寄存器;然后利用所述包長(zhǎng)度存儲(chǔ)器中的有效 數(shù)據(jù)長(zhǎng)度解碼對(duì)應(yīng)視頻數(shù)據(jù)包,解碼完一個(gè)視頻數(shù)據(jù)包后,繼續(xù)按照類似方法解碼下一個(gè) 視頻數(shù)據(jù)包??梢钥闯鲈诒景l(fā)明中,所述視頻解析模塊202將解析出來的每個(gè)視頻數(shù)據(jù)包以及 每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度都存儲(chǔ)在一個(gè)存儲(chǔ)模塊204中,并且將每個(gè)視頻數(shù)據(jù)包的 有效數(shù)據(jù)長(zhǎng)度以固定長(zhǎng)度存儲(chǔ)在對(duì)應(yīng)的每個(gè)視頻數(shù)據(jù)包前面,從而在節(jié)省了存儲(chǔ)空間的同 時(shí)提高了存儲(chǔ)空間的使用效率。請(qǐng)參考圖3,其示出了本發(fā)明視頻解碼方法300在一個(gè)實(shí)施例中的方法流程圖,所述方法300包括以下步驟。步驟302,解析幀圖像數(shù)據(jù)以得到若干視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng) 度;
所述視頻解析模塊從視頻數(shù)據(jù)中每幀圖像數(shù)據(jù)的幀頭文件中解析出各幀圖像數(shù) 據(jù)內(nèi)的若干視頻數(shù)據(jù)包和各個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度。步驟304,將解析出的每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度存儲(chǔ)于對(duì)應(yīng)的視頻數(shù)據(jù)包前;所述視頻解碼模塊將解析出來的每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度以固定大小存 儲(chǔ)在對(duì)應(yīng)視頻數(shù)據(jù)包的前面并保存在所述存儲(chǔ)模塊內(nèi)。在一個(gè)實(shí)施例中,所述每個(gè)視頻數(shù) 據(jù)包的有效數(shù)據(jù)長(zhǎng)度是以固定大小存儲(chǔ)在對(duì)應(yīng)視頻數(shù)據(jù)包的前面;所述固定大小可以為 16bit,即每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度都以16bit大小存儲(chǔ)在對(duì)應(yīng)視頻數(shù)據(jù)包的前面。步驟306,讀取一視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,根據(jù)所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng) 度解碼相應(yīng)的視頻數(shù)據(jù)包。所述視頻解碼模塊內(nèi)部包括一個(gè)包長(zhǎng)度寄存器,所述視頻解碼模塊從所述存儲(chǔ)模 塊內(nèi)讀取一視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,然后利用該有效數(shù)據(jù)長(zhǎng)度解碼該視頻數(shù)據(jù)包。在 一個(gè)實(shí)施例中,所述視頻解碼模塊首先從所述存儲(chǔ)模塊中讀出16比特的視頻數(shù)據(jù)包的有 效數(shù)據(jù)長(zhǎng)度;將所述16比特的數(shù)據(jù)存儲(chǔ)到所述包長(zhǎng)度寄存器;然后利用所述包長(zhǎng)度存儲(chǔ)器 中的視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度提取對(duì)應(yīng)視頻數(shù)據(jù)包內(nèi)的有效數(shù)據(jù);解碼完畢后按照類似 方法繼續(xù)解碼下一個(gè)包直到解碼所有的視頻數(shù)據(jù)包。上述說明已經(jīng)充分揭露了本發(fā)明的具體實(shí)施方式
。需要指出的是,熟悉該領(lǐng)域的 技術(shù)人員對(duì)本發(fā)明的具體實(shí)施方式
所做的任何改動(dòng)均不脫離本發(fā)明的權(quán)利要求書的范圍。 相應(yīng)地,本發(fā)明的權(quán)利要求的范圍也并不僅僅局限于所述具體實(shí)施方式
。
權(quán)利要求
一種視頻解碼系統(tǒng),其特征在于,其包括視頻解析模塊,用來解析幀圖像數(shù)據(jù)以得到若干視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度;存儲(chǔ)模塊,用來存儲(chǔ)解析出的視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,其中每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度位于對(duì)應(yīng)的視頻數(shù)據(jù)包前;視頻解碼模塊,用來從所述存儲(chǔ)模塊內(nèi)讀取一視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,之后利用該有效數(shù)據(jù)長(zhǎng)度解碼該視頻數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于所述幀圖像數(shù)據(jù)是采用 RealVideo格式進(jìn)行編碼的。
3.根據(jù)權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng) 度在所述存儲(chǔ)模塊內(nèi)占用固定大小的存儲(chǔ)空間。
4.根據(jù)權(quán)利要求3所述的視頻解碼系統(tǒng),其特征在于所述固定大小為16比特。
5.根據(jù)權(quán)利要求1-4任一所述的視頻解碼系統(tǒng),其特征在于所述視頻解碼模塊包括 包長(zhǎng)度寄存器,其用來存儲(chǔ)從所述存儲(chǔ)模塊內(nèi)讀取的所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度。
6.一種視頻解碼方法,其特征在于,其包括解析幀圖像數(shù)據(jù)以得到若干視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度;將解析出的每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度存儲(chǔ)于對(duì)應(yīng)的視頻數(shù)據(jù)包前;讀取一視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,根據(jù)所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度解碼相應(yīng)的 視頻數(shù)據(jù)包。
7.根據(jù)權(quán)利要求6所述的視頻解碼方法,其特征在于所述幀圖像數(shù)據(jù)是采用 RealVideo格式進(jìn)行編碼的。
8.根據(jù)權(quán)利要求6所述的視頻解碼方法,其特征在于所述視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng) 度是以固定大小存儲(chǔ)的。
9.根據(jù)權(quán)利要求8所述的視頻解碼方法,其特征在于所述固定大小是16比特。
全文摘要
本發(fā)明揭露了一種視頻解碼系統(tǒng)及方法,所述系統(tǒng)包括視頻解析模塊,用來解析幀圖像數(shù)據(jù)以得到若干視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度;存儲(chǔ)模塊,用來存儲(chǔ)解析出的視頻數(shù)據(jù)包和各視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,其中每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度位于對(duì)應(yīng)的視頻數(shù)據(jù)包前;視頻解碼模塊,用來從所述存儲(chǔ)模塊內(nèi)讀取一視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度,之后利用該有效數(shù)據(jù)長(zhǎng)度解碼該視頻數(shù)據(jù)包。本發(fā)明的優(yōu)點(diǎn)在于所述視頻解析模塊將每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度以固定的大小存儲(chǔ)并插入視頻碼流中,這樣就節(jié)省了專門用來存儲(chǔ)每個(gè)視頻數(shù)據(jù)包的有效數(shù)據(jù)長(zhǎng)度的存儲(chǔ)空間,從而提高了解碼時(shí)對(duì)于存儲(chǔ)空間的利用效率。
文檔編號(hào)H04N7/26GK101841715SQ20101016499
公開日2010年9月22日 申請(qǐng)日期2010年5月7日 優(yōu)先權(quán)日2010年5月7日
發(fā)明者戴春泉 申請(qǐng)人:無錫中星微電子有限公司