專利名稱:一種編碼方法、系統(tǒng)和視頻編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及一種編碼方法、系統(tǒng)和視頻編碼器。
背景技術(shù):
在視頻監(jiān)控領(lǐng)域,常采用多碼流編碼技術(shù)。所謂多碼流編碼,是指將同一幅圖像縮放成 不同尺寸,將原始圖像和縮放后的圖像分別編碼產(chǎn)生的多個(gè)碼流,稱為多碼流。 一般將原始 圖像產(chǎn)生的碼流稱為主碼流,將縮放圖像產(chǎn)生的碼流稱為子碼流,將生成碼流的裝置稱為視 頻編碼器。
視頻編碼器包含若干個(gè)進(jìn)行數(shù)據(jù)處理、數(shù)據(jù)變換的運(yùn)算單元。為提高編碼效率,各運(yùn)算 單元按"流水"啟動(dòng),并行工作,來完成圖像的編碼。編碼時(shí),視頻編碼器將圖像分成若干 宏塊,例如16X16像素的圖像塊為一個(gè)宏塊。運(yùn)算單元以宏塊為單位進(jìn)行處理。由于宏塊 之間的相關(guān)性, 一個(gè)宏塊編碼時(shí)需要已編碼的相鄰宏塊的信息,如左相鄰宏塊或/和上相鄰 宏塊的編碼信息。參見圖1,第一行宏塊包括1、 2、 3三個(gè)宏塊,第二行宏塊包括4、 5、 6 三個(gè)宏塊,第三行宏塊包括7、 8、 9三個(gè)宏塊。宏塊2編碼時(shí),需要其左相鄰宏塊l的編碼 信息;宏塊4編碼時(shí),需要其上相鄰宏塊1的編碼信息;宏塊5編碼時(shí),需要其上相鄰宏塊 2和左相鄰宏塊4的編碼信息,其它宏塊與宏塊2、 4和5的原理相同,這里不再一一舉例。
參見圖2,視頻編碼器的流水結(jié)構(gòu)共有n級(jí)流水,每級(jí)流水分別對(duì)應(yīng)一個(gè)運(yùn)算單元,例 如,第1級(jí)流水為準(zhǔn)備編碼數(shù)據(jù)的運(yùn)算單元,第2級(jí)流水為運(yùn)算單元A,…,第n-l級(jí)流水 為運(yùn)算單元B,第n級(jí)流水存儲(chǔ)編碼信息及相關(guān)信息的運(yùn)算單元。最后一級(jí)流水存儲(chǔ)的編碼 信息會(huì)在下一行宏塊編碼的第1級(jí)流水準(zhǔn)備編碼時(shí)使用。在這種情況下,必然要求,準(zhǔn)備下 一行宏塊編碼數(shù)據(jù)時(shí),其所需要的上一行宏塊的編碼結(jié)果及相關(guān)信息必須存儲(chǔ)完畢。例如 圖1所示的第二行宏塊中宏塊4,其第1級(jí)流水啟動(dòng)時(shí),就需要第一行宏塊中宏塊1的最后 一級(jí)流水編碼信息及相關(guān)信息存儲(chǔ)完畢。
根據(jù)上述"流水"原理,對(duì)于"小圖像",其圖像寬度小于流水長度,參見圖2,就會(huì)出 現(xiàn)第一級(jí)流水已處理完一行的最后一個(gè)宏塊,最后一級(jí)流水尚未把下一行宏塊所需的上相鄰 宏塊信息存儲(chǔ)完畢的情況。仍以圖1為例,第1級(jí)流水己處理完第一行宏塊中宏塊3,而第n
級(jí)流水尚未將第一行宏塊中宏塊1的相關(guān)信息存儲(chǔ)完畢,此時(shí),不能立即啟動(dòng)第二行宏塊的 編碼,因?yàn)楹陦K4需要等宏塊1的相關(guān)信息存儲(chǔ)完畢,第1級(jí)流水才能處理宏塊4,才能進(jìn) 行第二行的編碼。這樣,會(huì)出現(xiàn)運(yùn)算單元閑置的情況,視頻編碼器的處理能力降低。當(dāng)然, 如果圖像寬度大于流水長度,即當(dāng)?shù)?級(jí)流水處理完一行宏塊時(shí),最后一級(jí)流水也已經(jīng)將所 需的上相鄰宏塊信息存儲(chǔ)完畢,就可以直接啟動(dòng)下一行編碼。這樣,圖像的行與行之間可以 連續(xù)啟動(dòng),稱為"背靠背"啟動(dòng),此時(shí),視頻編碼器各運(yùn)算單元的處理能力得到充分發(fā)揮。
多碼流編碼技術(shù),需要分別處理原始圖像和縮放圖像,當(dāng)縮放圖像的寬度小于流水結(jié)構(gòu) 時(shí),就會(huì)出現(xiàn)運(yùn)算單元閑置的情況。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題
現(xiàn)有技術(shù)中的多碼流編碼技術(shù),可能會(huì)出現(xiàn)運(yùn)算單元閑置的情況,降低了視頻編碼器的
處理效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種編碼方法、系統(tǒng)和視頻編碼器,可以提高對(duì)運(yùn)算單元的利用率, 從而提高視頻編碼器的處理效率。 所述技術(shù)方案如下 一種編碼方法,其特征在于,包括 獲取7V幅預(yù)編碼圖像,7V是自然數(shù)且W22;
根據(jù)所述預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所述預(yù)編碼圖像進(jìn)行編碼。 一種編碼系統(tǒng),其特征在于,所述系統(tǒng)包括編碼控制器和視頻編碼器; 所述編碼控制器,用于指示所述視頻編碼器讀取預(yù)編碼圖像;
所述視頻編碼器,用于根據(jù)所述編碼控制器的指示,獲取W幅預(yù)編碼圖像,W是自然數(shù) 且W》2,根據(jù)所述預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所述預(yù)編碼圖像進(jìn)行編碼。 一種視頻編碼器,其特征在于,包括
獲取單元,用于獲取7V幅預(yù)編碼圖像,7V是自然數(shù)且iV22;
編碼單元,用于根據(jù)所述獲取單元獲取的預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所 述預(yù)編碼圖像進(jìn)行編碼。
本發(fā)明實(shí)施例通過根據(jù)預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)預(yù)編碼圖像進(jìn)行編碼, 有效緩解了運(yùn)算單元的閑置問題,提高了視頻編碼器的處理效率。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù) 描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一 些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這 些附圖獲得其他的附圖。
圖1是現(xiàn)有技術(shù)提供的宏塊結(jié)構(gòu)示意圖2是現(xiàn)有技術(shù)提供的小圖像流水結(jié)構(gòu)示意圖3是本發(fā)明實(shí)施例一提供的編碼方法流程圖4是本發(fā)明實(shí)施例一提供的編碼系統(tǒng)結(jié)構(gòu)示意圖5是本發(fā)明實(shí)施例一提供的現(xiàn)有技術(shù)采用的編碼系統(tǒng)結(jié)構(gòu)示意圖6是本發(fā)明實(shí)施例二提供的編碼系統(tǒng)結(jié)構(gòu)示意圖7是本發(fā)明實(shí)施例二提供的編碼系統(tǒng)工作流程交互圖8是本發(fā)明實(shí)施例三提供的視頻編碼器結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描 述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明 中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例, 都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
參見圖3,本實(shí)施例提供了一種編碼方法,包括
101:視頻編碼器獲取iV幅預(yù)編碼圖像,7V是自然數(shù)且iV22;
進(jìn)一步地,預(yù)編碼圖像可以是任意的iV幅圖像,也可以是原始圖像及其縮放圖像,其中, 原始圖像可以是經(jīng)過前處理的,例如時(shí)域?yàn)V波等,也可以是未經(jīng)過前處理的。
具體地,當(dāng)預(yù)編碼圖像是原始圖像及其縮放圖像時(shí),視頻編碼器獲取原始圖像,具體可 以從圖像縮放器讀取原始圖像;或者在圖像縮放器從外存儲(chǔ)器讀取原始圖像時(shí),同時(shí)從外存 儲(chǔ)器讀取原始圖像;或者外存儲(chǔ)器將原始圖像存儲(chǔ)到編碼系統(tǒng)中的數(shù)據(jù)緩存,視頻編碼器從 數(shù)據(jù)緩存讀取原始圖像。原始圖像經(jīng)過圖像縮放器縮放生成縮放圖像,并將縮放圖像存儲(chǔ)到 編碼系統(tǒng)中的另一數(shù)據(jù)緩存,視頻編碼器從該另一數(shù)據(jù)緩存獲取縮放圖像。
進(jìn)一步地,視頻編碼器、圖像縮放器和數(shù)據(jù)緩存(存儲(chǔ)縮放圖像的數(shù)據(jù)緩存)在編碼控制
器的控制下協(xié)調(diào)工作,參見圖4,包括
編碼控制器指示圖像縮放器通過系統(tǒng)總線從外存儲(chǔ)器讀取原始圖像;并指示視頻編碼器 讀取原始圖像,并對(duì)原始圖像進(jìn)行編碼;圖像縮放器對(duì)原始圖像進(jìn)行縮放,并將縮放圖像存 儲(chǔ)到數(shù)據(jù)緩存;當(dāng)視頻編碼器的第一級(jí)流水處理完原始圖像的一行或多行宏塊,并且數(shù)據(jù)緩 存中存儲(chǔ)的縮放圖像大于或等于一行宏塊時(shí),編碼控制器指示視頻編碼器從數(shù)據(jù)緩存讀取縮 放圖像,并對(duì)縮放圖像的一行或多行宏塊進(jìn)行編碼;若數(shù)據(jù)緩存中存儲(chǔ)的縮放圖像小于一行 宏塊時(shí),編碼控制器指示視頻編碼器只對(duì)原始圖像進(jìn)行編碼。當(dāng)視頻編碼器完成對(duì)原始圖像 和縮放圖像的編碼后,將編碼后生成的碼流存儲(chǔ)到外存儲(chǔ)器。
進(jìn)一歩地,編碼控制器,還用于與CPU (Central Processing Unit,中央處理器)交互, 例如接收中央處理器的編碼啟動(dòng)指令,向中央處理器返回編碼結(jié)束中斷等。
102:根據(jù)預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)預(yù)編碼圖像進(jìn)行編碼。
具體地,若#幅預(yù)編碼圖像之間宏塊行的行數(shù)比例為//1://2: — /&,按照預(yù)先指定順 序,如從第一幅至第iV幅的順序或其它順序,每對(duì)第一幅圖像的g行宏塊進(jìn)行編碼,就對(duì)
第二幅圖像的//2行宏塊進(jìn)行編碼,依此類推,對(duì)第w幅圖像的/^行宏塊進(jìn)行編碼,其中g(shù)、 //2 — /^為自然數(shù)。其中,可以一次完成對(duì)第一幅圖像的乓行宏塊的編碼或分多次完成對(duì)第
一幅圖像的g行宏塊的編碼;依此類推,可以一次完成對(duì)第iV幅圖像的/^行宏塊的編碼或 分多次完成對(duì)第iV幅圖像的i^行宏塊的編碼。具體地, 一次完成對(duì)第一幅圖像的g行宏塊 的編碼;或者完成對(duì)第一幅圖像的盡行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼, 然后,重復(fù)上述過程,直至完成對(duì)第一幅圖像的/f,行宏塊的編碼;依此類推, 一次完成對(duì)第 7V幅圖像的/^行宏塊的編碼;或者完成對(duì)第7V幅圖像的/^行宏塊中部分行的編碼后,對(duì) 其它預(yù)編碼圖像進(jìn)行編碼,然后,重復(fù)上述過程,直至完成對(duì)第W幅圖像的/^行宏塊的編 碼。最后,將對(duì)該iV幅預(yù)編碼圖像進(jìn)行編碼后生成的碼流存儲(chǔ)到外存儲(chǔ)器,具體實(shí)現(xiàn)時(shí),可 以同時(shí)進(jìn)行編碼與存儲(chǔ)過程,即編碼時(shí),將編碼后生成的碼流存儲(chǔ)到外存儲(chǔ)器。下面結(jié)合具 體的實(shí)例說明上述編碼過程。
設(shè)有三幅預(yù)編碼圖像,圖像l、圖像2與圖像3的宏塊行的行數(shù)比例為6:3:2。若采用一 次完成對(duì)第W幅圖像的/^行宏塊的編碼方法,其中,N=l、 2、 3, //1=6, F2=3, //3=2,則 編碼過程為先對(duì)圖像1的六行宏塊編碼,然后對(duì)圖像2的三行宏塊編碼,再對(duì)圖像3的兩 行宏塊編碼,重復(fù)上述過程,直至完成三幅圖像的編碼。
若采用多次完成對(duì)第7V幅圖像的i^行宏塊的編碼方法,其中,N=l、 2、 3, //1=6, 7f2=3, i/3=2,則編碼過程為
首先對(duì)圖像1的兩行宏塊編碼,再對(duì)圖像2的一行宏塊編碼; 然后對(duì)圖像1的一行宏塊編碼,再對(duì)圖像3的一行宏塊編碼; 然后對(duì)圖像1的一行宏塊編碼,再對(duì)圖像2的一行宏塊編碼;
然后對(duì)圖像1的兩行宏塊編碼,對(duì)圖像2的一行宏塊編碼,對(duì)圖像3的一行宏塊編碼; 至此,完成了圖像l的六行宏塊的編碼,完成了圖像2的三行宏塊的編碼,完成了圖像3的 兩行宏塊的編碼,依然符合6:3:2這個(gè)比例,只不過圖像1的六行宏塊的編碼分四次完成, 圖像2的三行宏塊的編碼分三次完成,圖像3的兩行宏塊的編碼分兩次完成;
重復(fù)上述過程,直到三個(gè)圖像都完成編碼。
上述編碼過程,只是多次完成編碼方法的一種特例,其它多次完成編碼的方式同樣適用, 例如圖像1的六行宏塊的編碼分三次完成,圖像2的三行宏塊的編碼分兩次完成,圖像3 的兩行宏塊的編碼分兩次完成等,這里不再一一贅述。
上述實(shí)例中,若三幅圖像中有一幅小圖像,即圖像寬度小于流水結(jié)構(gòu),這里假設(shè)小圖像 為圖像3,若一次完成編碼方法采用實(shí)例給出的特例,則緩解了視頻編碼器運(yùn)算單元的閑置 問題;若多次完成編碼方法采用實(shí)例給出的特例,則可以完全解決運(yùn)算單元的閑置問題;但 不論何種編碼形式,相對(duì)于現(xiàn)有技術(shù),本實(shí)施例提供的編碼方法都至少緩解了視頻編碼器運(yùn) 算單元的閑置問題。
另外,參見圖5所示的現(xiàn)有的編碼系統(tǒng)的結(jié)構(gòu)示意圖,在現(xiàn)有技術(shù)中,圖像縮放器和視 頻編碼器需要分別訪問外存儲(chǔ)器。圖像縮放器通過系統(tǒng)總線從外存儲(chǔ)器讀取原始圖像,縮放 后,再通過系統(tǒng)總線將縮放圖像存儲(chǔ)到外存儲(chǔ)器;由于采用分別編碼的方式,視頻編碼器需 要通過系統(tǒng)總線從外存儲(chǔ)器讀取原始圖像,編碼后,將編碼結(jié)果存儲(chǔ)到外存儲(chǔ)器,然后,視 頻編碼器通過系統(tǒng)總線從外存儲(chǔ)器讀取縮放圖像,編碼后,將編碼結(jié)果存儲(chǔ)到外存儲(chǔ)器,若 有多個(gè)縮放圖像,則視頻編碼器需要執(zhí)行多次讀取、存儲(chǔ)操作,多次占用外存儲(chǔ)器總線帶寬。
本實(shí)施例通過引入數(shù)據(jù)緩存,視頻編碼器從數(shù)據(jù)緩存讀取各縮放圖像,從圖像縮放器或 編碼系統(tǒng)的另一數(shù)據(jù)緩存讀取原始圖像,或者與圖像縮放器同時(shí)從外存儲(chǔ)器讀取原始圖像, 然后輪流對(duì)各圖像進(jìn)行編碼,再將最后的編碼結(jié)果存儲(chǔ)到外存儲(chǔ)器,大大減少了訪問外存儲(chǔ) 器的次數(shù),有效降低了外存儲(chǔ)器的訪問帶寬。
在現(xiàn)有技術(shù)中,CPU直接控制著圖像縮放器和視頻編碼器,圖像縮放器讀取原始圖像并 縮放,將縮放圖像存儲(chǔ)到外存儲(chǔ)器,這個(gè)過程需要與CPU交互(如中斷) 一次;視頻編碼
器處理原始圖像,需要與CPU交互一次;處理縮放圖像時(shí),若縮放圖像有N個(gè),需要與CPU 交互N次,頻繁的交互會(huì)消耗CPU的處理能力。
本實(shí)施例通過引入編碼控制器,由編碼控制器與中央處理器交互,再由編碼控制器控制 圖像縮放器和視頻編碼器,同樣完成上述操作時(shí),只需要與中央處理器交互一次,大大減少 了與中央處理器交互的次數(shù)。
綜上所述,本實(shí)施例提供的編碼方法,通過根據(jù)預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪 流對(duì)預(yù)編碼圖像進(jìn)行編碼,能夠有效緩解運(yùn)算單元的閑置問題,提高視頻編碼器的處理效率; 另外,通過引入編碼控制器,大大減少了與中央處理器交互的次數(shù);通過引入數(shù)據(jù)緩存,有 效降低了外存儲(chǔ)器的訪問帶寬。
實(shí)施例二
參見圖6,本實(shí)施例提供了一種編碼系統(tǒng),包括 編碼控制器201,用于指示視頻編碼器202讀取預(yù)編碼圖像;
視頻編碼器202,用于根據(jù)編碼控制器201的指示,獲取7V幅預(yù)編碼圖像,iV是自然數(shù) 且7V22,根據(jù)該預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)該預(yù)編碼圖像進(jìn)行編碼。
進(jìn)一步地,預(yù)編碼圖像可以是任意的iV幅圖像,也可以是原始圖像及其縮放圖像,其中, 原始圖像可以是經(jīng)過前處理的,例如時(shí)域?yàn)V波等,也可以是未經(jīng)過前處理的。
具體地,
該視頻編碼器202,具體用于若該7V幅預(yù)編碼圖像之間宏塊行的行數(shù)比例為 //1://2: — /^,按照預(yù)先指定順序,每對(duì)第一幅圖像的盡行宏塊進(jìn)行編碼,對(duì)第二幅圖像 的//2行宏塊進(jìn)行編碼,依此類推,對(duì)第W幅圖像的/^行宏塊進(jìn)行編碼,其中//,、 //2***/^
為自然數(shù)。
該視頻編碼器202,具體還用于一次完成對(duì)該第一幅圖像的巧行宏塊的編碼;或者 完成對(duì)該第一幅圖像的巧行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼,然后, 重復(fù)上述過程,直至完成對(duì)該第一幅圖像的巧行宏塊的編碼;
依此類推, 一次完成對(duì)該第7V幅圖像的i^行宏塊的編碼;或者
完成對(duì)該第iV幅圖像的/^行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼,然 后,重復(fù)上述過程,直至完成對(duì)該第iV幅圖像的/^行宏塊的編碼。 進(jìn)一歩地,參見圖4,該系統(tǒng)還包括
中央處理器203,用于與編碼控制器交互,向該編碼控制器發(fā)送編碼啟動(dòng)指令,并接收 該編碼控制器返回的編碼結(jié)束中斷;
圖像縮放器204,用于當(dāng)該預(yù)編碼圖像包括原始圖像和該原始圖像的縮放圖像時(shí),從該
外存儲(chǔ)器讀取該原始圖像,將該原始圖像縮放生成縮放圖像,并將該縮放圖像存儲(chǔ)到該數(shù)據(jù) 緩存;
數(shù)據(jù)緩存205,用于存儲(chǔ)該圖像縮放單元生成的縮放圖像;
外存儲(chǔ)器206,用于存儲(chǔ)該原始圖像。
進(jìn)一步地,
編碼控制器201,還用于該圖像縮放器204、數(shù)據(jù)緩存205和視頻編碼器202進(jìn)行控制,
使三者協(xié)調(diào)工作。
外存儲(chǔ)器206,還用于存儲(chǔ)該視頻編碼器202對(duì)該W幅預(yù)編碼圖像進(jìn)行編碼后生成的
個(gè)碼流。
下面結(jié)合圖7,詳細(xì)說明編碼系統(tǒng)的工作過程。
S301:中央處理器203向編碼控制器201發(fā)送編碼啟動(dòng)指令,啟動(dòng)編碼控制器201; S302:編碼控制器201指示圖像縮放器204通過系統(tǒng)總線從外存儲(chǔ)器206讀取原始圖像 數(shù)據(jù);
進(jìn)一步地,視頻編碼器202可以在圖像縮放器204讀取的同時(shí),也讀取原始圖像數(shù)據(jù); 也可以在圖像縮放器204讀取之后,再從圖像縮放器204讀取原始圖像;也可以由編碼系統(tǒng) 的另一數(shù)據(jù)緩存從外存儲(chǔ)器206讀取原始圖像,然后視頻編碼器202再從該另一數(shù)據(jù)緩存讀 取原始圖像。圖7為了清楚,只標(biāo)示了其中一種情況。
S303:編碼控制器201指示視頻編碼器202從圖像縮放器204讀取原始圖像,并對(duì)原始 圖像進(jìn)行編碼;
S304:圖像縮放器204對(duì)原始圖像進(jìn)行縮放,并將縮放圖像存儲(chǔ)到數(shù)據(jù)緩存205; 進(jìn)一步地,步驟S303和步驟S304是同時(shí)進(jìn)行的。
S305:當(dāng)視頻編碼器202的第一級(jí)流水處理完原始圖像的一行或多行宏塊,并且數(shù)據(jù)緩 存205中存儲(chǔ)的縮放圖像大于或等于一行宏塊時(shí),編碼控制器201指示視頻編碼器202從數(shù) 據(jù)緩存205讀取縮放圖像,并對(duì)縮放圖像的一行或多行宏塊進(jìn)行編碼;若數(shù)據(jù)緩存205中存 儲(chǔ)的縮放圖像小于一行宏塊時(shí),編碼控制器201指示視頻編碼器202只對(duì)原始圖像進(jìn)行編碼。 具體的編碼方法可以采用實(shí)施例一提供的編碼方法,這里不再贅述。
S306:視頻編碼器202完成對(duì)原始圖像和縮放圖像的編碼后,將編碼后生成的多個(gè)碼流 存儲(chǔ)到外存儲(chǔ)器206;
S307:編碼控制器201向中央處理器203返回編碼結(jié)束中斷。
本實(shí)施例提供的編碼系統(tǒng),通過根據(jù)預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)預(yù)編碼
圖像進(jìn)行編碼,能夠有效緩解運(yùn)算單元的閑置問題,提高視頻編碼器的處理效率;另外,通 過引入編碼控制器,大大減少了與中央處理器交互的次數(shù);通過引入數(shù)據(jù)緩存,有效降低了 外存儲(chǔ)器的訪問帶寬。
實(shí)施例三
參見圖8,本實(shí)施例提供了一種視頻編碼器,包括 獲取單元401,用于獲取iV幅預(yù)編碼圖像,7V是自然數(shù)且7V》2;
編碼單元402,用于根據(jù)獲取單元401獲取的預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流 對(duì)預(yù)編碼圖像進(jìn)行編碼。
進(jìn)一歩地,預(yù)編碼圖像可以是任意的iV幅圖像,也可以是原始圖像及其縮放圖像,其中, 原始圖像可以是經(jīng)過前處理的,例如時(shí)域?yàn)V波等,也可以是未經(jīng)過前處理的。
具體地,
獲取單元401,具體用于獲取原始圖像,將該原始圖像進(jìn)行縮放,得到縮放圖像。 具體地,
編碼單元402,具體用于若#幅預(yù)編碼圖像之間宏塊行的行數(shù)比例為//1://2:-.:/^,按 照預(yù)先指定順序,每對(duì)第一幅圖像的巧行宏塊進(jìn)行編碼,對(duì)第二幅圖像的^2行宏塊進(jìn)行編 碼,依此類推,對(duì)第W幅圖像的/^行宏塊進(jìn)行編碼,其中g(shù)、 /^…/"為自然數(shù)。
編碼單元402,具體還用于一次完成對(duì)所述第一幅圖像的乓行宏塊的編碼;或者
完成對(duì)所述第一幅圖像的乓行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼,然 后,重復(fù)上述過程,直至完成對(duì)所述第一幅圖像的乓行宏塊的編碼;
依此類推,所述對(duì)第7V幅圖像的行宏塊進(jìn)行編碼包括
一次完成對(duì)所述第vV幅圖像的/^行宏塊的編碼;或者
完成對(duì)所述第vV幅圖像的i^行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼, 然后,重復(fù)上述過程,直至完成對(duì)所述第W幅圖像的/^行宏塊的編碼。
本實(shí)施例與實(shí)施例一屬于同一發(fā)明構(gòu)思,關(guān)于視頻編碼器的詳細(xì)描述可以參見實(shí)施例一,
在此不再贅述。
本實(shí)施例提供的編碼系統(tǒng),通過根據(jù)預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)預(yù)編碼 圖像進(jìn)行編碼,能夠有效緩解運(yùn)算單元的閑置問題,提高視頻編碼器的處理效率;另外,通 過引入編碼控制器,大大減少了與中央處理器交互的次數(shù);通過引入數(shù)據(jù)緩存,有效降低了
外存儲(chǔ)器的訪問帶寬。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì) 算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程 序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、 只讀存儲(chǔ)記憶體(Read-0nly Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之 內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種編碼方法,其特征在于,包括獲取N幅預(yù)編碼圖像,N是自然數(shù)且N≥2;根據(jù)所述預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所述預(yù)編碼圖像進(jìn)行編碼。
2、 如權(quán)利要求1所述的編碼方法,其特征在于,所述預(yù)編碼圖像包括原始圖像和所述原 始圖像的縮放圖像;所述獲取W幅預(yù)編碼圖像包括獲取所述原始圖像,將所述原始圖像進(jìn)行縮放,得到所述縮放圖像。
3、 如權(quán)利要求1所述的編碼方法,其特征在于,所述根據(jù)所述預(yù)編碼圖像之間宏塊行的 行數(shù)比例,輪流對(duì)所述預(yù)編碼圖像進(jìn)行編碼包括若所述iV幅預(yù)編碼圖像之間宏塊行的行數(shù)比例為g :i/2 :…i^ ,按照預(yù)先指定順序, 每對(duì)第一幅圖像的巧行宏塊進(jìn)行編碼,對(duì)第二幅圖像的//2行宏塊進(jìn)行編碼,依此類推,對(duì) 第7V幅圖像的/^行宏塊進(jìn)行編碼,其中A、 Hf/^為自然數(shù)。
4、 如權(quán)利要求3所述的編碼方法,其特征在于,所述每對(duì)第一幅圖像的盡行宏塊進(jìn)行 編碼包括-一次完成對(duì)所述第一幅圖像的盡行宏塊的編碼;或者完成對(duì)所述第一幅圖像的盡行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼,然 后,重復(fù)上述過程,直至完成對(duì)所述第一幅圖像的7/,行宏塊的編碼; 依此類推,所述對(duì)第iV幅圖像的Hw行宏塊進(jìn)行編碼包括 一次完成對(duì)所述第iV幅圖像的/^行宏塊的編碼;或者完成對(duì)所述第W幅圖像的i^行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼, 然后,重復(fù)上述過程,直至完成對(duì)所述第7V幅圖像的i^行宏塊的編碼。
5、 一種編碼系統(tǒng),其特征在于,所述系統(tǒng)包括編碼控制器和視頻編碼器; 所述編碼控制器,用于指示所述視頻編碼器讀取預(yù)編碼圖像;所述視頻編碼器,用于根據(jù)所述編碼控制器的指示,獲取iV幅預(yù)編碼圖像,JV是自然數(shù) 且iV^2,根據(jù)所述預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所述預(yù)編碼圖像進(jìn)行編碼。
6、 如權(quán)利要求5所述的編碼系統(tǒng),其特征在于,所述視頻編碼器,具體用于若所述7V幅 預(yù)編碼圖像之間宏塊行的行數(shù)比例為^:/^:…/^,按照預(yù)先指定順序,每對(duì)第一幅圖像的 巧行宏塊進(jìn)行編碼,對(duì)第二幅圖像的//2行宏塊進(jìn)行編碼,依此類推,對(duì)第7V幅圖像的i^行 宏塊進(jìn)行編碼,其中A、 A…/^,為自然數(shù)。
7、 如權(quán)利要求6所述的編碼系統(tǒng),其特征在于,所述視頻編碼器,用于一次完成對(duì)所述 第一幅圖像的盡行宏塊的編碼;或者完成對(duì)所述第一幅圖像的A行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼,然 后,重復(fù)上述過程,直至完成對(duì)所述第一幅圖像的乓行宏塊的編碼; 依此類推,一次完成對(duì)所述第iV幅圖像的f^行宏塊的編碼;或者完成對(duì)所述第W幅圖像的/^,行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼, 然后,重復(fù)上述過程,直至完成對(duì)所述第iV幅圖像的/^行宏塊的編碼。
8、 如權(quán)利要求5至7任一項(xiàng)所述的編碼系統(tǒng),其特征在于,所述系統(tǒng)還包括中央處理 器、圖像縮放器、數(shù)據(jù)緩存和外存儲(chǔ)器;所述中央處理器,用于向所述編碼控制器發(fā)送編碼啟動(dòng)指令,并接收所述編碼控制器返 回的編碼結(jié)束中斷;所述圖像縮放器,用于當(dāng)所述預(yù)編碼圖像包括原始圖像和所述原始圖像的縮放圖像時(shí), 從所述外存儲(chǔ)器讀取所述原始圖像,將所述原始圖像縮放生成縮放圖像,并將所述縮放圖像 存儲(chǔ)到所述數(shù)據(jù)緩存;所述數(shù)據(jù)緩存,用于存儲(chǔ)所述圖像縮放單元生成的縮放圖像;所述外存儲(chǔ)器,用于存儲(chǔ)所述原始圖像。
9、 如權(quán)利要求8所述的編碼系統(tǒng),其特征在于,所述編碼控制器,還用于對(duì)所述圖像縮 放器、所述數(shù)據(jù)緩存和所述視頻編碼器進(jìn)行控制,使三者協(xié)調(diào)工作。
10、 如權(quán)利要求8所述的編碼系統(tǒng),其特征在于,所述外存儲(chǔ)器,還用于存儲(chǔ)所述視頻 編碼器對(duì)所述iV幅預(yù)編碼圖像進(jìn)行編碼后生成的N個(gè)碼流。
11、 一種視頻編碼器,其特征在于,包括獲取單元,用于獲取W幅預(yù)編碼圖像,7V是自然數(shù)且W22;編碼單元,用于根據(jù)所述獲取單元獲取的預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所 述預(yù)編碼圖像進(jìn)行編碼。
12、 如權(quán)利要求ll所述的視頻編碼器,其特征在于,所述獲取單元,具體用于獲取原始 圖像,將所述原始圖像進(jìn)行縮放,得到縮放圖像。
13、 如權(quán)利要求ll所述的視頻編碼器,其特征在于,所述編碼單元,具體用于若所述iV 幅預(yù)編碼圖像之間宏塊行的行數(shù)比例為巧//2 :…Z/w ,按照預(yù)先指定順序,每對(duì)第一幅圖像 的巧行宏塊進(jìn)行編碼,對(duì)第二幅圖像的//2行宏塊進(jìn)行編碼,依此類推,對(duì)第W幅圖像的/^ 行宏塊進(jìn)行編碼,其中A、 A…/^為自然數(shù)。
14、 如權(quán)利要求13所述的視頻編碼器,其特征在于,所述編碼單元,具體用于一次完成 對(duì)所述第一幅圖像的巧行宏塊的編碼;或者完成對(duì)所述第一幅圖像的巧行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼,然 后,重復(fù)上述過程,直至完成對(duì)所述第一幅圖像的巧行宏塊的編碼; 依此類推,所述對(duì)第W幅圖像的//w行宏塊進(jìn)行編碼包括 一次完成對(duì)所述第iV幅圖像的/^行宏塊的編碼;或者完成對(duì)所述第#幅圖像的//,,行宏塊中部分行的編碼后,對(duì)其它預(yù)編碼圖像進(jìn)行編碼, 然后,重復(fù)上述過程,直至完成對(duì)所述第iV幅圖像的/^行宏塊的編碼。
全文摘要
本發(fā)明實(shí)施例公開了一種編碼方法、系統(tǒng)和視頻編碼器,屬于通信領(lǐng)域。所述方法包括獲取N幅預(yù)編碼圖像,N是自然數(shù)且N≥2;根據(jù)所述預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)所述預(yù)編碼圖像進(jìn)行編碼。所述系統(tǒng)包括編碼控制器和視頻編碼器。所述視頻編碼器包括獲取單元和編碼單元。本發(fā)明實(shí)施例通過根據(jù)預(yù)編碼圖像之間宏塊行的行數(shù)比例,輪流對(duì)預(yù)編碼圖像進(jìn)行編碼,有效緩解了運(yùn)算單元的閑置問題,提高了視頻編碼器的處理效率。
文檔編號(hào)H04N7/26GK101389030SQ20081022469
公開日2009年3月18日 申請(qǐng)日期2008年10月23日 優(yōu)先權(quán)日2008年10月23日
發(fā)明者驤 顧 申請(qǐng)人:華為技術(shù)有限公司