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