欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于視頻編解碼器的選擇性的和/或可縮放的復(fù)雜度控制的制作方法

文檔序號(hào):7921715閱讀:218來源:國(guó)知局
專利名稱:用于視頻編解碼器的選擇性的和/或可縮放的復(fù)雜度控制的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及數(shù)字圖像處理領(lǐng)域,具體而言,涉及視頻編碼和 解碼領(lǐng)域。
背景技術(shù)
隨著提高通信信道的數(shù)據(jù)容量的發(fā)展,視頻圖像通過無線或有線 通信信道的發(fā)送已經(jīng)成為可能。此外,已經(jīng)建立了各種標(biāo)準(zhǔn),使得利 用具有數(shù)字存儲(chǔ)介質(zhì)的電子設(shè)備,諸如移動(dòng)電話、個(gè)人計(jì)算機(jī)、個(gè)人 數(shù)字助理(PDA),以及其他電子設(shè)備進(jìn)行視頻圖像的發(fā)送和接收更加 便利。能夠使視頻圖像通過通信信道進(jìn)行發(fā)送的一些視頻標(biāo)準(zhǔn)例如運(yùn) 動(dòng)圖像專家組-l(MPEG-l)、 MPEG-2禾Q MPEG-4、國(guó)際電信聯(lián)盟 (ITU)H.264,這些都是由國(guó)際標(biāo)準(zhǔn)化組織(ISO)公布的。
為了提供這種視頻服務(wù),原始圖像必須以一種不超過通信信道的 數(shù)據(jù)容量的方式進(jìn)行壓縮。但是,執(zhí)行壓縮的方式不應(yīng)該犧牲接收器 處的圖像的感知質(zhì)量。
為了平衡這兩種矛盾的需求,許多視頻編碼器使用變換編碼技術(shù) 與運(yùn)動(dòng)補(bǔ)償技術(shù)相結(jié)合來壓縮原始圖像。變換編碼技術(shù)用于去除空間 冗余,而運(yùn)動(dòng)補(bǔ)償技術(shù)用于去除時(shí)間冗余。
本領(lǐng)域技術(shù)人員廣泛了解使用變換編碼和運(yùn)動(dòng)補(bǔ)償技術(shù)的原始 圖像壓縮是計(jì)算密集的。執(zhí)行壓縮所需的指令的數(shù)目以MIPS(每秒百 萬(wàn)指令)測(cè)量是非常巨大的,并且可能消耗本來可以分配給其他應(yīng)用的硬件資源。由于通常希望在小的、便攜式的電子設(shè)備中執(zhí)行壓縮, 所以限制了執(zhí)行這些壓縮技術(shù)的硬件資源。因此,需要降低視頻編碼
器的MIPS需求而不過度地降低視頻圖像的感知質(zhì)量。

發(fā)明內(nèi)容
本發(fā)明提出了多種方法和裝置來解決上述需要。 一方面,提出了
一種用于對(duì)視頻幀的一部分進(jìn)行分類的方法,包括使用所述部分中 的紋理信息來確定所述部分是否至多包含預(yù)定空間信息量;以及如果
該紋理信息指示所述部分至多包含該預(yù)定空間信息量,則將所述部分 分類為非預(yù)測(cè)的。
另一方面,提出了一種用于對(duì)視頻幀的一部分進(jìn)行分類的方法,
包括使用所述部分中的紋理信息來確定所述部分是否至多包含預(yù)定 空間信息量;如果該紋理信息指示所述部分至多包含該預(yù)定空間信息 量,那么將所述部分分類為非預(yù)測(cè)的;如果該紋理信息指示所述部分 不至多包含預(yù)定空間信息量,那么執(zhí)行運(yùn)動(dòng)估計(jì)搜索;使用運(yùn)動(dòng)估 計(jì)搜索期間所確定的運(yùn)動(dòng)信息來確定所述部分是否至少包含預(yù)定預(yù) 測(cè)信息量;如果該運(yùn)動(dòng)信息指示所述部分至少包含該預(yù)定預(yù)測(cè)信息 量,那么將所述部分分類為預(yù)測(cè)的;以及如果該運(yùn)動(dòng)信息指示所述部 分不至少包含該預(yù)定預(yù)測(cè)信息量,那么將所述部分分類為非預(yù)測(cè)的。
另一方面,提出了一種用于使用非預(yù)測(cè)編碼或預(yù)測(cè)編碼對(duì)當(dāng)前宏 塊進(jìn)行選擇性編碼的方法,包括使用當(dāng)前宏塊的紋理信息來確定是 否對(duì)當(dāng)前宏塊進(jìn)行非預(yù)測(cè)編碼;以及使用當(dāng)前宏塊的運(yùn)動(dòng)信息來確定 是否對(duì)當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼。
另一方面,提出了一種用于選擇性地降低視頻編解碼器的處理周 期的方法,包括接收配置信號(hào);并且根據(jù)該配置信號(hào)配置復(fù)雜度控 制算法中的至少一個(gè)變量,其中該復(fù)雜度控制算法用于基于紋理信息 選擇性地增加預(yù)測(cè)視頻幀的非預(yù)測(cè)編碼部分的數(shù)目。
在另一方面,提出了一種用于選擇性地降低視頻編解碼器的處理 周期的裝置,包括第一復(fù)雜度控制元件,用于使用當(dāng)前宏塊的紋理 信息來確定是否對(duì)當(dāng)前宏塊進(jìn)行非預(yù)測(cè)編碼;以及第二復(fù)雜度控制元
5件,用于使用當(dāng)前宏塊的運(yùn)動(dòng)信息來確定是否對(duì)當(dāng)前宏塊進(jìn)行預(yù)測(cè)編 碼。
在另一方面,提出了一種用于對(duì)視頻幀的一部分進(jìn)行分類的裝 置,包括至少一個(gè)存儲(chǔ)器元件;以及至少一個(gè)處理元件,用于執(zhí)行 存儲(chǔ)在該至少一個(gè)存儲(chǔ)器元件中的指令集合,該指令集合用于使用 所述部分中的紋理信息來確定所述部分是否至多包含預(yù)定空間信息 量;如果該紋理信息指示所述部分至多包含該預(yù)定空間信息量,那么 將所述部分分類為非預(yù)測(cè)的;如果該紋理信息指示所述部分不至多包 含預(yù)定空間信息量,那么執(zhí)行運(yùn)動(dòng)估計(jì)搜索;使用運(yùn)動(dòng)估計(jì)搜索期 間所確定的運(yùn)動(dòng)信息來確定所述部分是否至少包含預(yù)定預(yù)測(cè)信息量; 如果該運(yùn)動(dòng)信息指示所述部分至少包含該預(yù)定預(yù)測(cè)信息量,那么將所 述部分分類為預(yù)測(cè)的;以及如果該運(yùn)動(dòng)信息指示所述部分不至少包含 該預(yù)定預(yù)測(cè)信息量,那么將所述部分分類為非預(yù)測(cè)的。
另一方面,提出了一種用于使用非預(yù)測(cè)編碼或預(yù)測(cè)編碼選擇性地 對(duì)當(dāng)前宏塊進(jìn)行編碼的裝置,包括用于使用當(dāng)前宏塊的紋理信息來 確定是否對(duì)當(dāng)前宏塊進(jìn)行非預(yù)測(cè)編碼的模塊;以及用于使用當(dāng)前宏塊 的運(yùn)動(dòng)信息來確定是否對(duì)當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼的模塊。
另一方面,提出了一種用于選擇性地降低視頻編解碼器的處理周 期的裝置,包括用于接收配置信號(hào)的模塊;以及用于根據(jù)該配置信 號(hào)配置復(fù)雜度控制算法中的至少一個(gè)變量的模塊,其中該復(fù)雜度控制 算法用于基于紋理信息選擇性地增加預(yù)測(cè)視頻幀的非預(yù)測(cè)編碼部分 的數(shù)目。
另一方面,提出了一種用于對(duì)視頻幀的一部分進(jìn)行分類的裝置, 包括模塊使用所述部分中的紋理信息來確定所述部分是否至多包含 預(yù)定空間信息量;以及如果該紋理信息指示所述部分至多包含該預(yù)定 空間信息量,將所述部分分類為非預(yù)測(cè)的。


圖1A和1B是視頻編碼器所使用的常規(guī)視頻壓縮方案的流程圖; 圖2是常規(guī)視頻編碼器的方框圖;圖3是說明用于視頻壓縮的選擇性復(fù)雜度控制算法的流程圖; 圖4是說明用于視頻壓縮的另一選擇性復(fù)雜度控制算法的流程
圖5是說明用于視頻壓縮的另一選擇性復(fù)雜度控制算法的流程
圖6是說明具有復(fù)雜度控制元件的視頻編碼器的方框圖。
具體實(shí)施例方式
.新一代視頻壓縮標(biāo)準(zhǔn)利用視頻圖像的現(xiàn)象來降低編碼復(fù)雜度。視 頻只是在時(shí)間上快速并連續(xù)播放的一系列稱為幀的靜止圖像??梢杂^ 察到, 一些視頻幀與鄰近幀空間相異,而一些視頻幀與鄰近幀空間和 時(shí)間相異。因此,大多數(shù)視頻壓縮標(biāo)準(zhǔn)對(duì)"幀內(nèi)(intraframe)"和"幀 間(interframe)"執(zhí)行不同的編碼技術(shù),其中幀內(nèi)是具有空間信息的幀, 幀間是具有空間和時(shí)間信息的幀。預(yù)測(cè)編碼通常用于包含空間和時(shí)間 信息的幀。為了便于說明,這里將幀內(nèi)稱為I幀,將幀間稱為P幀。 為了編碼I幀和P幀,典型的視頻編解碼器將對(duì)圖像幀的宏塊進(jìn)行操 作,而不是對(duì)圖像幀整體進(jìn)行操作。利用四分之一通用中間格式(QCIF) 的標(biāo)準(zhǔn)大小, 一個(gè)塊包括8X8的像素組,而一個(gè)宏塊包括16X16的 像素組。 一個(gè)176X 144像素的QCIF幀具有99個(gè)宏塊。
圖1A是說明I幀宏塊的編碼的流程圖。在步驟100, I幀宏塊內(nèi) 的像素經(jīng)歷變換編碼。在步驟110,對(duì)變換的系數(shù)進(jìn)行量化。在步驟 120,將量化的系數(shù)進(jìn)行無損編碼以用于發(fā)送。由于MPEG-4中標(biāo)準(zhǔn) 化的變換編碼技術(shù)是離散余弦變換(DCT),這里使用DCT對(duì)實(shí)施例 進(jìn)行描述。但是,本領(lǐng)域技術(shù)人員可以認(rèn)識(shí)到這些實(shí)施例并不局限于 DCT,而是能夠用于使用其他變換編碼技術(shù)的視頻編碼器中。通常將 DCT選擇為視頻編碼標(biāo)準(zhǔn)的變換編碼,這是由于可以將大量能量包 裝在相對(duì)小數(shù)目的系數(shù)中。
I幀宏塊的解碼包括圖1A中的過程的逆,其中接收到的信息被 無損解碼、反量化、然后使用步驟100所使用的變換的逆來進(jìn)行變換。
I幀宏塊的編碼過程相對(duì)直接并且不是計(jì)算密集的。對(duì)I幀編碼需要大量比特,而這又需要大量存儲(chǔ)空間用于發(fā)送帶寬。因此,這種 編碼處理更消耗存儲(chǔ)器,而不是處理器周期。根據(jù)圖1A所示的方法 對(duì)全部視頻流進(jìn)行編碼將是低效的,這是由于發(fā)送信道不能夠攜帶每 秒傳送多個(gè)幀所需要的比特總數(shù)。例如,在電路切換陸線電話系統(tǒng)中,
通信信道物理地局限于64k比特/秒。但是,例如當(dāng)根據(jù)通用中間格 式(CIF)以15幀每秒編碼視頻流時(shí),這種比特率對(duì)于合成具有可接受 的感知質(zhì)量的視頻流的目標(biāo)來說是不夠的。
與I幀相反,P幀還包含時(shí)間信息,其能夠與空間信息一起使用 來預(yù)測(cè)地降低需要存儲(chǔ)在存儲(chǔ)器中的比特?cái)?shù)。在低速運(yùn)動(dòng)行為的視頻 記錄中, 一個(gè)幀和下一幀之間的像素的差異較小。由于很少或者沒有 運(yùn)動(dòng),所以有可能使用關(guān)于前面和/或后面的幀的信息來預(yù)測(cè)當(dāng)前幀 將顯示什么。編碼并發(fā)送當(dāng)前幀可能包含的內(nèi)容的預(yù)測(cè),而不是編碼 和發(fā)送當(dāng)前幀的所有比特,這降低了需要存儲(chǔ)或發(fā)送的比特?cái)?shù)。但是, P幀的編碼是計(jì)算昂貴的,這是由于計(jì)算殘留幀所需的估計(jì)計(jì)算的數(shù) 目引起的。
圖1B是說明P幀宏塊的編碼的流程圖。在步驟140,使用運(yùn)動(dòng) 估計(jì)技術(shù)確定P幀內(nèi)的像素塊之間的平移運(yùn)動(dòng)。運(yùn)動(dòng)通常建模為運(yùn)動(dòng) 矢量。可以對(duì)塊組,即宏塊進(jìn)行比較,以確定每個(gè)P幀的多個(gè)運(yùn)動(dòng)矢 量。注意,由于為每個(gè)塊執(zhí)行最優(yōu)運(yùn)動(dòng)矢量的搜索,所以搜索運(yùn)動(dòng)矢 量是計(jì)算昂貴的。在布驟150,將運(yùn)動(dòng)矢量用于預(yù)測(cè)運(yùn)動(dòng)補(bǔ)償后的宏 塊。在步驟160,從當(dāng)前宏塊減去運(yùn)動(dòng)補(bǔ)償后的宏塊以形成殘留宏塊。 在步驟170,對(duì)殘留宏塊進(jìn)行變換,對(duì)變換后的殘留宏塊的系數(shù)進(jìn)行 量化,然后無損地編碼。由于殘留宏塊比原始P幀的宏塊攜帶更少的 信息,所以需要發(fā)送到接收方的比特?cái)?shù)量減少。
典型地,視頻編解碼器將選擇每個(gè)第N幀作為I幀進(jìn)行編碼,其 余作為P幀進(jìn)行編碼。I幀之間的持續(xù)時(shí)間稱為"幀內(nèi)周期 (intra-period)"。 I幀的存在作為刷新P幀的基準(zhǔn)。換句話說,I幀的存 在保證編解碼器所做出的預(yù)測(cè)不偏離實(shí)際圖像太遠(yuǎn)。在指定的P幀 內(nèi),視頻編解碼器還周期性地選擇特定宏塊作為基準(zhǔn)宏塊,這些基準(zhǔn) 宏塊不被預(yù)測(cè)編碼,以便基準(zhǔn)宏塊還可用于校正偏離的預(yù)測(cè)。為了便于說明,基準(zhǔn)宏塊在這里稱為"幀內(nèi)宏塊(intm-MB)",被預(yù)測(cè)編碼的 宏塊在這里稱為"幀間宏塊(inter-MB)"。
圖2是由電子設(shè)備中的常規(guī)視頻編解碼器所執(zhí)行的編碼的方框 圖。該編解碼器中的信號(hào)通道取決于輸入圖像信號(hào)是I幀還是P幀, 或者,P幀內(nèi)的宏塊是基準(zhǔn)宏塊(幀內(nèi)宏±央)還是預(yù)測(cè)編碼的宏±央(幀間 宏塊)。為了便于說明,以下利用術(shù)語(yǔ)幀內(nèi)宏塊和幀間宏塊來描述P 幀的編碼。如果輸入圖像信號(hào)是幀內(nèi)宏塊,那么開關(guān)200建立通過 DCT塊202、量化器塊204以及無損編碼塊206的通道。信號(hào)離開視 頻編解碼器以在電子設(shè)備內(nèi)進(jìn)行進(jìn)一步的處理。進(jìn)一步的處理例如在 比特流編碼塊208處進(jìn)行編碼,該比特流編碼塊208將信號(hào)編碼為適 合發(fā)送介質(zhì)的適當(dāng)?shù)陌l(fā)送格式。
盡管幀內(nèi)宏塊編碼在塊204處結(jié)束,但是幀內(nèi)宏塊需要用作幀間 宏塊編碼的基準(zhǔn)宏塊。因此,離開量化器塊204的量化值也進(jìn)入視頻 編解碼器的解碼部分210。解碼部分210包括反量化器塊212和反 DCT塊214。量化值通過反量化器塊212和反DCT塊214以重構(gòu)幀 內(nèi)宏塊,其用于刷新由運(yùn)動(dòng)補(bǔ)償塊230和運(yùn)動(dòng)估計(jì)塊232所訪問的緩 沖器222。通過DCT塊202、量化器塊204以及無損編碼塊206的通 道也適用于對(duì)幀間宏塊編碼所產(chǎn)生的殘留宏塊進(jìn)行編碼。
如果輸入圖像信號(hào)是幀間宏塊,那么開關(guān)200建立一條新的信號(hào) 通道,其包括運(yùn)動(dòng)補(bǔ)償塊230和運(yùn)動(dòng)估計(jì)塊232。運(yùn)動(dòng)估計(jì)塊232從 緩沖器222接收當(dāng)前幀間宏塊和一組存儲(chǔ)的基準(zhǔn)宏塊,在多個(gè)運(yùn)動(dòng)矢 量中執(zhí)行搜索以尋找最好地描述當(dāng)前幀間宏塊和基準(zhǔn)宏塊之間的運(yùn) 動(dòng)的運(yùn)動(dòng)矢量。注意,基準(zhǔn)宏塊是存儲(chǔ)的從視頻編解碼器的解碼部分 210輸出的前面或后面宏塊的重構(gòu)像素。然后將運(yùn)動(dòng)矢量輸入到運(yùn)動(dòng) 補(bǔ)償塊230。
運(yùn)動(dòng)補(bǔ)償塊230從運(yùn)動(dòng)補(bǔ)償塊230接收運(yùn)動(dòng)矢量,從緩沖器222 接收基準(zhǔn)宏塊,以根據(jù)基準(zhǔn)宏塊生成新的預(yù)測(cè)宏塊,即當(dāng)前幀間宏塊 的預(yù)測(cè)版本。當(dāng)幀間宏塊編碼出現(xiàn)時(shí),更新基準(zhǔn)宏塊。這樣,開關(guān) 240 "開",以便加法元件220將預(yù)測(cè)宏塊加到從解碼部分210輸出的 解碼后的殘留宏塊上。將結(jié)果作為新的基準(zhǔn)宏塊存儲(chǔ)在緩沖器222中。
減法元件224從當(dāng)前幀間宏塊減去來自運(yùn)動(dòng)補(bǔ)償塊230的預(yù)測(cè)宏 塊,以形成殘留宏塊。然后按照上述幀內(nèi)宏塊編碼的處理對(duì)殘留宏塊 進(jìn)行處理。量化、變換后的殘留宏塊還通過解碼部分210,以便殘留 宏塊可被視頻編解碼器使用來更新存儲(chǔ)在緩沖器222中的基準(zhǔn)宏塊, 而該更新的基準(zhǔn)宏塊又能夠被運(yùn)動(dòng)補(bǔ)償塊230和運(yùn)動(dòng)估計(jì)塊232訪 問,以對(duì)未來或過去幀的宏塊進(jìn)行編碼。注意,預(yù)測(cè)編碼技術(shù)可以是 雙向的,其中過去的信息可以用于預(yù)測(cè)當(dāng)前幀或者未來的信息可以用 于預(yù)測(cè)當(dāng)前幀。
幀內(nèi)宏塊的編碼一般還可以稱為空間編碼或非預(yù)測(cè)編碼。幀間宏 塊的編碼一般還可以稱為預(yù)測(cè)編碼。圖2的常規(guī)視頻編解碼器設(shè)計(jì)的 問題在于非預(yù)測(cè)編碼消耗太多的存儲(chǔ)資源以及預(yù)測(cè)編碼消耗太多的 處理資源。如果本領(lǐng)域技術(shù)人員決定需要降低MIPS需求以執(zhí)行其他 任務(wù),那么提高I幀或幀內(nèi)宏塊的數(shù)目是一種可能的解決方案,其通 過減小幀內(nèi)周期值N來實(shí)現(xiàn)。但是,這種解決方案具有缺陷,因?yàn)?對(duì)存儲(chǔ)資源的需求將會(huì)相應(yīng)地增加。此外,視頻圖像通過通信信道的 總體發(fā)送速率將會(huì)增加,這是由于與預(yù)測(cè)信息相比,需要更多比特傳 送空間信息。對(duì)于無線應(yīng)用,諸如通過蜂窩電話的視頻流,如果無線 或陸線通信信道不能適應(yīng)增加的發(fā)送比特率的話,發(fā)送比特的增加可 能導(dǎo)致合成圖像信號(hào)的惡化。
相反地,如果本領(lǐng)域技術(shù)人員認(rèn)為存儲(chǔ)資源有限,那么一種解決 方案是執(zhí)行更多的預(yù)測(cè)編碼而不是非預(yù)測(cè)編碼,這通過增加幀內(nèi)周期 值N來實(shí)現(xiàn)。但是,預(yù)測(cè)編碼需要更多處理元件的周期,所述處理 元件如果負(fù)荷超過最大閾值的話,將會(huì)放棄幀處理任務(wù)以進(jìn)行具有更 高優(yōu)先級(jí)的任務(wù)。放棄的幀使合成圖像的質(zhì)量惡化。此外,只要高速 活動(dòng)出現(xiàn)在圖像中,合成信號(hào)的質(zhì)量也將惡化,這是因?yàn)槭褂锰囝A(yù) 測(cè)編碼的幀可能引起視頻編解碼器的運(yùn)動(dòng)估計(jì)能力出現(xiàn)失效。
這里所描述的實(shí)施例用于選擇性地控制P幀編碼過程的計(jì)算復(fù) 雜度。選擇性地控制編碼過程將允許對(duì)視頻編碼的MIPS需求的降低, 而不使視頻圖像的感知質(zhì)量過度降級(jí)。此外,本實(shí)施例還降低了處理元件和其他硬件之間的數(shù)據(jù)通信量,從而節(jié)省了能量。
本實(shí)施例用于將P幀內(nèi)的宏塊分類為幀內(nèi)宏塊或者幀間宏塊,其 中對(duì)幀內(nèi)宏塊進(jìn)行非預(yù)測(cè)編碼,對(duì)幀間宏塊進(jìn)行預(yù)測(cè)編碼。分類過程
包括使用選擇準(zhǔn)則,該準(zhǔn)則將降低對(duì)于處理元件的MIPS需求。
圖3、 4和5是說明用于P幀編碼的選擇性復(fù)雜度控制的實(shí)施例 的流程圖??梢耘渲糜布?,諸如數(shù)字信號(hào)處理器或其他處理元件和存 儲(chǔ)器元件,來運(yùn)行用于執(zhí)行圖3、 4或5中的方法步驟的指令。
在圖3中說明了一種選擇性復(fù)雜度控制過程,其用于使用紋理信 息和運(yùn)動(dòng)信息來確定宏塊被編碼為幀內(nèi)宏塊還是幀間宏塊。在步驟 300,為P幀內(nèi)的每個(gè)宏塊執(zhí)行紋理比特的估計(jì)。紋理比特是具有圖 像信息的幀中的那些比特,需要它們來編碼圖像的像素值。在步驟 310,基于紋理比特估計(jì)來確定宏塊是幀內(nèi)宏塊還是幀間宏塊。根據(jù) 本實(shí)施例的一個(gè)方面,那些具有最少量紋理信息,即最少編碼比特需 求,的宏塊被指定為幀內(nèi)宏塊。
如果宏塊是幀內(nèi)宏塊,那么程序流進(jìn)行到步驟390,在步驟390 將幀內(nèi)宏塊編碼為非預(yù)測(cè)信息幀。注意,出現(xiàn)了運(yùn)動(dòng)估計(jì)和補(bǔ)償計(jì)算 的選擇性旁路。
如果在步驟310確定宏塊是幀間宏塊,那么程序流進(jìn)行到步驟 320。在步驟320,執(zhí)行整數(shù)像素運(yùn)動(dòng)估計(jì)搜索。在步驟330,確定衡 量預(yù)測(cè)過程的效率的運(yùn)動(dòng)信息。例如,可以使用過去宏塊和未來宏塊 的像素之間的差別來檢測(cè)當(dāng)前預(yù)測(cè)的效率。因此,像素差可以用作質(zhì) 量度量來測(cè)量時(shí)間預(yù)測(cè)的效率。也可以使用其他質(zhì)量度量而不影響本 實(shí)施例的范圍。
在步驟340,對(duì)于宏塊是幀內(nèi)宏塊還是幀間宏塊做出另一確定, 其中所述確定使用步驟320得到的運(yùn)動(dòng)信息。如果根據(jù)基于運(yùn)動(dòng)的準(zhǔn) 則將宏塊確定為幀內(nèi)宏塊,那么程序流進(jìn)行到步驟390,在步驟390 將幀內(nèi)宏塊編碼為I幀。換句話說,使用非預(yù)測(cè)編碼來編碼幀內(nèi)宏塊。
如果根據(jù)步驟340的基于運(yùn)動(dòng)的判定仍將宏塊分類為幀間宏塊, 那么程序流進(jìn)行到步驟350。在步驟350,執(zhí)行運(yùn)動(dòng)補(bǔ)償。在步驟360, 對(duì)殘留圖像信號(hào)進(jìn)行變換、量化和無損編碼。在上述實(shí)施例的一個(gè)方面中,可以通過使用方差來估計(jì)紋理比 特,確定宏塊是幀內(nèi)宏塊還是幀間宏塊。在這個(gè)方面,計(jì)算宏塊的方 差。然后將計(jì)算的方差與前面幀的平均方差進(jìn)行比較。注意,大的方 差表示圖像中有更多的紋理。如果當(dāng)前宏塊的方差小于前面幀的縮放 的平均方差,那么將宏塊指定為幀內(nèi)宏塊。因此,如果(^<^),其
中A是當(dāng)前宏塊的方差,a是用作縮放因子的經(jīng)驗(yàn)閾值,B是前面幀 的平均方差,或者,多個(gè)前面幀的加權(quán)平均,那么圖3中所述的實(shí)施 例將變成選擇性的和可縮放的復(fù)雜度控制算法,因?yàn)閊可以動(dòng)態(tài)調(diào)整 或保持靜態(tài)。在一個(gè)實(shí)施例中,可以設(shè)計(jì)處理元件來實(shí)施選擇性的和 可縮放的復(fù)雜度控制算法,其中算法的閾值對(duì)應(yīng)于給定目標(biāo)??膳渲?的閾值的結(jié)果是,完成目標(biāo)所需的幀內(nèi)宏塊和/或幀間宏塊的數(shù)目可 以縮放。
在一個(gè)方面,可以實(shí)施復(fù)雜度控制算法以適應(yīng)具有不同圖像大小 和/或幀速率的視頻流。在另一方面,可以實(shí)施復(fù)雜度控制算法以適 應(yīng)易于出現(xiàn)信道差錯(cuò)的可變傳輸信道。在另一方面,可以實(shí)施復(fù)雜度 控制算法以適應(yīng)用戶定義的質(zhì)量測(cè)量。在另一方面,可以實(shí)施復(fù)雜度 控制算法以適應(yīng)硬件資源的缺乏。如這里所述,實(shí)施例可以用于適應(yīng) 許多不同的需求,這些不同的需求可能來自安裝有視頻編解碼器的電 子設(shè)備的不同部分。配置信號(hào)可以來自電子設(shè)備的任何部分,或者, 配置信號(hào)可以來自電子設(shè)備所訪問的網(wǎng)絡(luò)。
圖4是說明用于P幀編碼的選擇性復(fù)雜度控制的另一實(shí)施例的流
程圖,其中確定是否使用額外的處理資源對(duì)宏塊進(jìn)行編碼。在步驟 400,對(duì)于P幀內(nèi)的每個(gè)宏塊執(zhí)行紋理比特的估計(jì)。在步驟410,基 于紋理比特估計(jì)確定宏塊是幀內(nèi)宏塊還是幀間宏塊。在本實(shí)施例的一 個(gè)方面中,將那些具有最少量的紋理信息,即最少編碼比特需求,的 宏塊指定為幀內(nèi)宏塊。
如果宏塊是幀內(nèi)宏塊,那么程序流進(jìn)行到步驟490,在步驟490, 使用非預(yù)測(cè)編碼對(duì)幀內(nèi)宏塊進(jìn)行編碼。注意,出現(xiàn)了運(yùn)動(dòng)估計(jì)和補(bǔ)償 計(jì)算的選擇性旁路。
如果宏塊是幀間宏塊,那么程序流進(jìn)行到步驟420。在步驟420,
12執(zhí)行整數(shù)像素運(yùn)動(dòng)估計(jì)搜索。在步驟430,確定運(yùn)動(dòng)信息。在步驟440, 使用步驟430得到的運(yùn)動(dòng)信息,對(duì)于宏塊是幀內(nèi)宏塊還是幀間宏塊做 出另一確定。如果宏塊是幀內(nèi)宏塊,那么程序流進(jìn)行到步驟490,在 步驟490使用非預(yù)測(cè)編碼對(duì)幀內(nèi)宏塊進(jìn)行編碼。
如果根據(jù)基于運(yùn)動(dòng)的判定仍然將宏塊分類為幀間宏塊,那么程序 流進(jìn)行到步驟450。在步驟450,進(jìn)行質(zhì)量測(cè)量。在本實(shí)施例的一個(gè) 方面中,質(zhì)量測(cè)量是絕對(duì)距離值之和(SAD),其中絕對(duì)距離值是當(dāng)前 宏塊和前面宏塊之間的絕對(duì)差。在步驟460,確定是否選擇性旁路分 數(shù)像素運(yùn)動(dòng)估計(jì)步驟。分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)是整數(shù)像素運(yùn)動(dòng)估計(jì)的一種 細(xì)分??梢酝ㄟ^兩個(gè)整數(shù)值像素之間的內(nèi)插來確定分?jǐn)?shù)像素值。因此, 可以計(jì)算出半像素、四分之一像素、八分之一像素或者任何分?jǐn)?shù)像素 值。
如果步驟460決定不需要分?jǐn)?shù)像素運(yùn)動(dòng)搜索,那么程序流進(jìn)行到 步驟480。如果決定需要分?jǐn)?shù)像素運(yùn)動(dòng)搜索,那么程序流進(jìn)行到步驟 470。
在步驟470,執(zhí)行分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)搜索。在步驟480,執(zhí)行運(yùn) 動(dòng)補(bǔ)償。在步驟490,對(duì)殘留圖像信號(hào)進(jìn)行變換、量化和無損編碼。
在上述實(shí)施例中,基于質(zhì)量測(cè)量來確定是否應(yīng)該選擇性地旁路分 數(shù)像素運(yùn)動(dòng)估計(jì)搜索。在該實(shí)施例的一個(gè)方面中,質(zhì)量測(cè)量是絕對(duì)距 離值之和(SAD)??梢詫⒃揝AD值與前面幀的平均最小SAD值進(jìn)行 比較。如果當(dāng)前SAD值小于縮放后的平均最小SAD值,那么可以將 分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)搜索旁路而不損失質(zhì)量。因此,如果(C〈義D),其 中C是當(dāng)前SAD值,義是用作縮放因子的經(jīng)驗(yàn)閾值,D是前面幀的 平均最小SAD值,或者是多個(gè)前面和/或后面幀的加權(quán)平均,那么圖 4中描述的實(shí)施例將變成選擇性的和可縮放的復(fù)雜度控制算法,這是
因?yàn)?i可以動(dòng)態(tài)調(diào)整或保持靜態(tài)。
圖5是說明用于P幀編碼的選擇性的和可縮放的復(fù)雜度控制的另 一實(shí)施例的另一流程圖,其中對(duì)是否將各種不同的運(yùn)動(dòng)估計(jì)方案一起 實(shí)現(xiàn)進(jìn)行確定。在步驟500,確定質(zhì)量度量,其中所述質(zhì)量度量測(cè)量 時(shí)間預(yù)測(cè)的效率。在一個(gè)方面中,質(zhì)量度量基于SAD值。可以將SAD值與前面和/或后面幀的平均最小SAD值進(jìn)行比較。如果當(dāng)前SAD 值小于縮放后的平均最小SAD值,那么可以將分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)搜 索旁路而不損失質(zhì)量。因此,如果(C〈W),其中C是當(dāng)前SAD值, A是用作縮放因子的經(jīng)驗(yàn)閾值,D是前面和/或后面幀的平均最小SAD 值,那么圖5中描述的實(shí)施例將變成選擇性的和可縮放的復(fù)雜度控制 算法,這是因?yàn)锳可以動(dòng)態(tài)調(diào)整或保持靜態(tài)。
在步驟510,基于步驟500確定的質(zhì)量度量來確定是否選擇性地 旁路分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)步驟。如果步驟510決定不需要分?jǐn)?shù)像素運(yùn)動(dòng) 搜索,那么程序流進(jìn)行到步驟580。如果決定需要分?jǐn)?shù)像素運(yùn)動(dòng)搜索, 那么程序流進(jìn)行到步驟570。
在步驟570,執(zhí)行分?jǐn)?shù)像素運(yùn)動(dòng)估計(jì)搜索。在步驟580,執(zhí)行運(yùn) 動(dòng)補(bǔ)償。在步驟590,對(duì)殘留圖像信號(hào)進(jìn)行變換、量化和無損編碼。
注意,前述用于選擇性的和可縮放的復(fù)雜度控制算法的實(shí)施例允 許用戶或系統(tǒng)設(shè)置將每個(gè)P幀指定為幀內(nèi)宏塊還是幀間宏塊的保證 百分比。換句話說,本實(shí)施例可以用于選擇性地執(zhí)行P幀內(nèi)的非預(yù)測(cè) 或預(yù)測(cè)編碼,這相當(dāng)于節(jié)省視頻編解碼器內(nèi)的處理元件的大量MIPS。 本實(shí)施例能夠節(jié)省MIPS而不犧牲感知質(zhì)量,這是由于使用圖像信息 來執(zhí)行非預(yù)測(cè)或預(yù)測(cè)編碼的選擇,而不是任意指定。此外,由于視頻 流固有地是可變比特率源,所以,當(dāng)準(zhǔn)備通過可變速率發(fā)送介質(zhì)發(fā)送 的視頻流時(shí),將每個(gè)預(yù)測(cè)幀內(nèi)的一定百分比的宏塊選定為非預(yù)測(cè)的能 力實(shí)質(zhì)上提供了控制等級(jí)。
圖6是配置來使用至少一個(gè)復(fù)雜度控制元件來選擇性地降低視 頻編碼器的MIPS需求的視頻編解碼器的功能方框圖。
圖6中的復(fù)雜度控制元件稱為MIPS控制1 、MIPS控制2和MIPS 控制3。復(fù)雜度控制元件通信地耦合到視頻編解碼器的功能部分,并 且可能包括專用的或通用的處理元件。MIPS控制2可以被配置來實(shí) 施圖3中描述的實(shí)施例。MIPS控制3可以被配置來實(shí)施圖4中描述 的實(shí)施例。MIPS控制1可以被配置來實(shí)施圖5中描述的實(shí)施例。MIPS 控制l、 2或3根據(jù)這里描述的復(fù)雜度控制算法的原理,將P幀的宏 塊指定為幀內(nèi)宏塊或者幀間宏塊。注意,如果MIPS控制2和3都存在的話,MIPS控制1的存在可能是冗余的,反之亦然??梢詫?shí)施
MIPS控制1來控制MIPS控制2禾tV或3的使用。MIPS控制1可以 實(shí)施在視頻編解碼器自身內(nèi)或者與視頻編解碼器相分離。此外,MIPS 控制1可以被配置來對(duì)來自電子設(shè)備的其他部分的配置信號(hào)進(jìn)行響 應(yīng)。
本領(lǐng)域技術(shù)人員可以理解結(jié)合這里公開的實(shí)施例進(jìn)行描述的各 種說明性邏輯塊、模塊、電路以及算法步驟可以被實(shí)施為電子硬件、 計(jì)算機(jī)軟件或者二者的結(jié)合。為了清楚地描述硬件和軟件的這種可交 換性,上面已經(jīng)就其功能性對(duì)各種說明性組件、塊、模塊、電路以及 步驟進(jìn)行了一般地描述。這種功能性實(shí)施為硬件還是軟件取決于實(shí)行 到整個(gè)系統(tǒng)上的特殊應(yīng)用和設(shè)計(jì)限制。熟練的技術(shù)人員可以以各種方 式為每個(gè)特殊應(yīng)用實(shí)施所述的功能性,但是不能將這種實(shí)施決定解釋 為偏離本發(fā)明的范圍。
結(jié)合這里公開的實(shí)施例進(jìn)行描述的各種說明性邏輯塊、模塊以及 電路可以利用設(shè)計(jì)來執(zhí)行這里描述的功能的通用處理器、數(shù)字信號(hào)處 理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其他 可編程邏輯設(shè)備、分立門或晶體管邏輯、分立硬件組件、或他們的任 何組合來實(shí)施或執(zhí)行。通用處理器可以是微處理器,但是或者,處理 器可以是任何常規(guī)處理器、控制器、微控制器或者狀態(tài)機(jī)。處理器也 可以實(shí)施為計(jì)算設(shè)備的組合,例如,DSP和微處理器的組合、多個(gè)微 處理器的組合、 一個(gè)或多個(gè)微處理器和DSP內(nèi)核的組合、或者任意 其他這種配置。
結(jié)合這里公開的實(shí)施例進(jìn)行描述的方法或算法的步驟可以直接 實(shí)現(xiàn)在硬件中、由處理器執(zhí)行的軟件模塊中或者二者的結(jié)合中。軟件 模塊可以位于RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、 EEPROM存儲(chǔ)器、寄存器、硬盤、可換式磁盤、CD-ROM或者本技 術(shù)領(lǐng)域中已知的任何其他形式的存儲(chǔ)介質(zhì)中。 一種示例性存儲(chǔ)介質(zhì)耦 合到處理器,以使處理器能夠從存儲(chǔ)介質(zhì)讀出信息以及將信息寫入存 儲(chǔ)介質(zhì)?;蛘?,存儲(chǔ)介質(zhì)可以與處理器集成在一起。處理器和存儲(chǔ)介 質(zhì)可以形成在ASIC中。該ASIC可以位于用戶終端中?;蛘撸幚砥骱痛鎯?chǔ)介質(zhì)可以作為分立元件位于用戶終端中。
提供了公開的實(shí)施例的前述描述以使得任何本領(lǐng)域技術(shù)人員能 夠做出或者使用本發(fā)明。對(duì)本領(lǐng)域技術(shù)人員來說對(duì)這些實(shí)施例的各種 變形都是很明顯的,在不偏離本發(fā)明的精神或范圍的情況下,這里所 定義的一般原理也可以應(yīng)用到其他實(shí)施例中。因此本發(fā)明并不局限于 這里所示的實(shí)施例,而且旨在符合與這里所公開的原理和新穎特征相 一致的最廣的范圍。
權(quán)利要求
1、用于使用非預(yù)測(cè)編碼或預(yù)測(cè)編碼選擇性地對(duì)當(dāng)前宏塊進(jìn)行編碼的方法,包括使用所述當(dāng)前宏塊的紋理信息來確定是否對(duì)所述當(dāng)前宏塊進(jìn)行非預(yù)測(cè)編碼;以及使用所述當(dāng)前宏塊的運(yùn)動(dòng)信息來確定是否對(duì)所述當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼。
2、 如權(quán)利要求1所述的方法,其中使用所述當(dāng)前宏塊的紋理信 息來確定是否對(duì)所述當(dāng)前宏塊進(jìn)行非預(yù)測(cè)編碼包括確定所述當(dāng)前宏塊的方差值;將所述當(dāng)前宏塊的所述方差值與至少一個(gè)其他視頻幀的宏塊的 縮放后的方差值進(jìn)行比較;以及如果所述當(dāng)前宏塊的所述方差值小于至少一個(gè)其他視頻幀的所 述宏塊的所述縮放后的方差值,那么確定對(duì)所述當(dāng)前宏塊進(jìn)行非預(yù)測(cè) 編碼。
3、 如權(quán)利要求2所述的方法,其中至少一個(gè)其他視頻幀的所述 宏塊的所述縮放后的方差值是縮放后的平均方差。
4、 如權(quán)利要求1所述的方法,其中使用所述當(dāng)前宏塊的運(yùn)動(dòng)信 息來確定是否對(duì)所述當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼包括確定所述當(dāng)前宏塊和另一視頻幀的宏塊之間的像素差;以及 如果所述當(dāng)前宏塊和另一視頻幀的所述宏塊之間的所述像素差小于一可配置的閾值,那么確定為利用增強(qiáng)的精度來對(duì)所述當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼。
5、 如權(quán)利要求1所述的方法,其中使用所述當(dāng)前宏塊的運(yùn)動(dòng)信 息來確定是否對(duì)所述當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼包括確定所述當(dāng)前宏塊和至少一個(gè)其他視頻幀的宏塊之間的絕對(duì)距 離值之和;以及如果所述絕對(duì)距離值之和小于至少一個(gè)其他視頻幀的宏塊的縮 放后的平均最小絕對(duì)距離值之和,那么確定為利用增強(qiáng)的精度來對(duì)所 述當(dāng)前宏塊進(jìn)行預(yù)測(cè)編碼。
6、如權(quán)利要求5所述的方法,其中所述縮放后的平均最小絕對(duì) 距離值之和是可配置的。
全文摘要
本發(fā)明提出了多種方法和裝置,用于執(zhí)行視頻編解碼器的選擇性的和/或可縮放的復(fù)雜度控制,以便可以提高或降低視頻編解碼器所消耗的處理資源量?;趶?fù)雜度控制算法中設(shè)定的可配置閾值,可以選擇性地實(shí)施視頻編解碼器的非預(yù)測(cè)和預(yù)測(cè)編碼部分??膳渲瞄撝涤糜诖_定視頻幀中是否存在希望的空間信息量,諸如紋理信息或運(yùn)動(dòng)信息。
文檔編號(hào)H04N7/26GK101483774SQ20081017807
公開日2009年7月15日 申請(qǐng)日期2004年11月15日 優(yōu)先權(quán)日2003年11月13日
發(fā)明者哈立德·厄勒-馬萊, 晧 黃 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
凤庆县| 深圳市| 宁都县| 新丰县| 临洮县| 定州市| 永胜县| 阜南县| 平原县| 城市| 黄平县| 台州市| 县级市| 金平| 庆安县| 封开县| 临清市| 崇仁县| 修武县| 桓台县| 巴楚县| 理塘县| 云阳县| 宾阳县| 株洲市| 东阳市| 靖远县| 双桥区| 拉萨市| 新巴尔虎右旗| 湖北省| 微博| 辽阳市| 连江县| 宾阳县| 平江县| 铜陵市| 铁岭市| 莱阳市| 儋州市| 油尖旺区|