用于視頻編碼的多編碼點混編流水方法及其裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及視頻編解碼領域,具體而言,涉及一種用于視頻編碼的多編碼點混編流水方法及其裝置。
【背景技術】
[0002]目前電子信息技術飛速發(fā)展,視頻的應用非常廣泛,隨著圖像傳感器和集成電路技術的發(fā)展,視頻拍攝也由專業(yè)開始向大眾快速擴散,包括網絡視頻、網絡電視、有線數(shù)字電視、手機攝像等。在對這些視頻數(shù)據(jù)的處理過程中,視頻編解碼是不可或缺的重要步驟。目前主流的視頻編解碼標準是MPEG4-part2和H.264,以及2013年制定完成的H.265,這些標準都是基于塊的混合編碼框架。
[0003]已知地,視頻編碼的計算量非常大,普通的處理器由于計算能力和功耗的因素,并不適合用于視頻編碼。由于視頻編碼是基于塊的混合編碼,存在大量簡單重復的操作,因此較為適合 DSP (Digital Signal Processor,數(shù)字信號處理器)和 ASIC (Applicat1nSpecific Integrated Circuit,專用集成電路)的并行執(zhí)行。
[0004]在視頻編碼中,圖像通常被分成連續(xù)的視頻編碼基本單元,如在MPEG4_part2和H.264及之前的視頻編碼標準中通常以宏塊作為編碼基本單元,在H.265視頻編碼標準中以CU(Coding Unit)為編碼基本單元。每個編碼基本單元均存在幀內預測、幀間預測、運動預測、變換、量化、反量化、反變換、熵編碼,去塊濾波等子模塊,部分子模塊之間在執(zhí)行上存在依賴關系,需要順序執(zhí)行。
[0005]對于視頻編碼,目前大都采用流水技術。處理器的流水技術借鑒了工廠生產的流水線思想,把一項工作分成多個連續(xù)的工序,每一段只負責自己的工序,完成之后傳到下一個工序,例如在同一時間片內則具有多個產品在不同的工序進行加工。流水處理即把要處理的功能模塊分成可連續(xù)執(zhí)行的且消耗時間大體一致的子功能模塊,從而最大程度地利用硬件資源。
[0006]以目前的H.264視頻編解碼標準為例介紹下目前基于ASIC進行視頻編碼的流水技術。由于宏塊編碼有模式判別模塊(幀間模式判別和幀內模式判別),運動預測模塊、變換量化模塊(包含幀內預測、變換、量化、反量化、反變換模塊、以及完成編碼重建)、熵編碼模塊,以及去塊濾波模塊,其宏塊編碼的具體編碼流程如圖1所示,其中,并行執(zhí)行的模塊表示兩個模塊在操作處理時可以不分先后。
[0007]可見,宏塊編碼通常被分為如圖1所示的4個順序步驟,參考圖2所示,如果不采用流水技術,則同一個時間片內只有一個模塊在工作,以致編碼一個宏塊需要4個單位時間。相反地,如果采用流水技術,則在同一時間片內4個模塊都在工作,以致編碼一個宏塊只需要I個單位時間,從而可以提高宏塊編碼效率。例如專利文獻CN200810062856.6即公開了一種用于視頻編碼的混合流水線裝置,其技術方案中,在同一個時間片內,預取數(shù)據(jù)器、模式選擇器、重建環(huán)路器和熵編碼器處理四個不同的宏塊的數(shù)據(jù),以此實現(xiàn)宏塊編碼的流水操作。
[0008]因此,對于目前基于ASIC的視頻編碼,大多采用流水的方式以提高編碼速度和效率。
[0009]在視頻編碼時,視頻壓縮主要利用圖像的空域相關性、時域相關性和熵編碼,通常會造成當前宏塊對已編碼相鄰宏塊存在依賴關系,譬如幀內預測需用到相鄰宏塊的重建圖像,預測運動矢量需由相鄰宏塊來計算獲取。發(fā)明人發(fā)現(xiàn),由于當前宏塊和已編碼宏塊之間存在依賴關系,以致當前宏塊所需的信息需要依賴于前一個宏塊是否完成,這樣影響了宏塊編碼的流水速度,存在宏塊編碼的流水等待問題。
[0010]為了解決宏塊依賴引起的流水等待問題,目前的解決方法大都采用近似模擬的替代方法,譬如宏塊進行幀內模式判別需要用到相鄰宏塊以重建圖像,為了避免依賴,可以采用周圍宏塊的原始像素來代替。由此可見,目前解決因編碼塊依賴而引起的流水等待問題大多采用近似計算來實現(xiàn),等真正生成碼流的時候再按照標準實現(xiàn),這樣帶來的問題就是模式判別和運動搜索的準確度降低,影響實際的壓縮效率。
【發(fā)明內容】
[0011]為了解決現(xiàn)有技術中存在的宏塊依賴引起的流水等待問題,提高編碼模式判別的準確度,在同等碼率下提高視頻編碼的圖像質量,本發(fā)明實施例的目的在于提供一種用于視頻編碼的多編碼點混編流水方法及其裝置。
[0012]本發(fā)明實施例采用以下技術方案實現(xiàn):
[0013]一種用于視頻編碼的多編碼點混編流水方法,包括:
[0014]將圖像劃分成至少兩個可并行編碼的子圖像;
[0015]對所述子圖像依據(jù)配置的流水編碼順序執(zhí)行圖像編碼基本單元的編碼,其中,所述流水編碼順序被配置為循環(huán)地依次從每個子圖像中提取一個未編碼圖像編碼基本單元。
[0016]優(yōu)選地,對所述子圖像依據(jù)配置的流水編碼順序執(zhí)行圖像編碼基本單元的編碼的策略是:
[0017]依次地對提取的第I個子圖像的第I個圖像編碼基本單元、第2個子圖像的第I個圖像編碼基本單元、第3個子圖像的第I個圖像編碼基本單元、…第η個子圖像的第I個圖像編碼基本單元執(zhí)行編碼;
[0018]依次地對提取的第I個子圖像的第2個圖像編碼基本單元、第2個子圖像的第2個圖像編碼基本單元、第3個子圖像的第2個圖像編碼基本單元、…第η個子圖像的第2個圖像編碼基本單元執(zhí)行編碼;
[0019]依此類推,依次地對提取的第η個子圖像的第k個圖像編碼基本單元執(zhí)行編碼直至整幀圖像編碼完成;
[0020]其中,所述η和k均為大于或等于2的正整數(shù)。
[0021]一種用于視頻編碼的多編碼點混編流水裝置,包括:
[0022]劃分模塊,用于將圖像劃分成至少兩個可并行編碼的子圖像;
[0023]混編流水模塊,用于對所述子圖像依據(jù)配置的流水編碼順序執(zhí)行圖像編碼基本單元的編碼,其中,所述流水編碼順序被配置為循環(huán)地依次從每個子圖像中提取一個未編碼圖像編碼基本單元。
[0024]優(yōu)選地,混編流水模塊對所述子圖像依據(jù)配置的流水編碼順序執(zhí)行圖像編碼基本單兀的編碼的策略是:
[0025]依次地對提取的第I個子圖像的第I個圖像編碼基本單元、第2個子圖像的第I個圖像編碼基本單元、第3個子圖像的第I個圖像編碼基本單元、…第η個子圖像的第I個圖像編碼基本單元執(zhí)行編碼;
[0026]依次地對提取的第I個子圖像的第2個圖像編碼基本單元、第2個子圖像的第2個圖像編碼基本單元、第3個子圖像的第2個圖像編碼基本單元、…第η個子圖像的第2個圖像編碼基本單元執(zhí)行編碼;
[0027]依此類推,依次地對提取的第η個子圖像的第k個圖像編碼基本單元執(zhí)行編碼直至整幀圖像編碼完成;
[0028]其中,所述η和k均為大于或等于2的正整數(shù)。
[0029]一種用于視頻編碼的多編碼點混編流水方法,包括:
[0030]將圖像劃分成至少兩個可并行編碼的子圖像;
[0031]將所述子圖像分組之后傳入至少兩個編碼塊容器;
[0032]對當前編碼塊容器中的每個子圖像依據(jù)配置的流水編碼順序執(zhí)行圖像編碼基本單元的編碼,并在完成該當前編碼塊容器的子圖像編碼處理之后,執(zhí)行對下一編碼塊容