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

一種視頻數據的編碼方法和裝置的制造方法

文檔序號:8490261閱讀:301來源:國知局
一種視頻數據的編碼方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及編碼的技術領域,特別是涉及一種視頻數據的編碼方法和一種視頻數據的編碼裝置。
【背景技術】
[0002]隨著互聯(lián)網的普及,多媒體尤其視頻成為內容的主要的承載媒介,而且視頻正在朝著高清-超清的方向發(fā)展,視頻傳輸占據了網絡傳輸大部分帶寬,在給用戶帶來豐富體驗的同時是存儲和傳輸壓力,因此對視頻的壓縮很重要。
[0003]當前的視頻編碼標準普遍采用有損的率失真(Rate Distort1n)壓縮方法,采用基于塊的預測-變換混合編碼框架。
[0004]要得到好的RD性能,往往帶來編碼計算復雜度的成倍增加,而分辨率越大,編碼的復雜度也相應增大。
[0005]同時當前服務器的CPU (Central Processing Unit,中央處理器)的單核主頻提升越來越困難,被迫朝著多核或者重核的方向發(fā)展,并行計算能力大幅提高,目前主流服務器的CPU —般都在16核及以上,如何有效的利用上這些多核資源來幫助提高視頻編碼速度以及提升壓縮效率(RD性能)變得越來越重要。
[0006]目前的并行方案有如下幾種:
[0007]1、把一個長視頻序列切成多個短的視頻序列;
[0008]2、幀級并行;
[0009]3、SLICE/TILE 并行;
[0010]4、WPP(wavefront parallel processing,波前并行運算)并行。
[0011]但是,上述幾種并行方案的并行度較低,CPU利用率較低,編碼效率較低。

【發(fā)明內容】

[0012]鑒于上述問題,提出了本發(fā)明實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種視頻數據的編碼方法和相應的一種視頻數據的編碼裝置。
[0013]為了解決上述問題,本發(fā)明實施例公開了一種視頻數據的編碼方法,包括:
[0014]在第一編碼流水中,對每一組視頻數據進行預編碼,以獲得預編碼結果;所述預編碼結果包括每組內每一幀視頻數據在至少部分視頻編碼層中劃分的編碼單元的最佳編碼參數;
[0015]在第二編碼流水中,當每一組視頻數據預編碼完成時,根據所述最佳編碼參數對組內每一幀視頻數據進行編碼。
[0016]優(yōu)選地,所述在第一編碼流水中,對每一組視頻數據進行預編碼,以獲得預編碼結果的步驟包括:
[0017]針對每組內每一幀視頻數據的每一塊最大編碼單元,在至少部分視頻編碼層中劃分為多個編碼單元;
[0018]在所述至少部分視頻編碼層中所述對多個編碼單元進行模式決策,以獲得最佳編碼參數。
[0019]優(yōu)選地,所述預編碼結果還包括第一參考幀;
[0020]所述在所述至少部分視頻編碼層中所述對多個編碼單元進行模式決策的步驟包括:
[0021]計算當前視頻編碼層中的編碼單元的第一率失真,和/或,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元的第二率失真;
[0022]判斷在當前視頻編碼層中的編碼單元的第一率失真是否小于,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元的第二率失真;其中,所述第二失真率配置有第一系數;
[0023]若是,則獲取當前的視頻編碼層中編碼單元對應的第一重構塊,以組成第一參考幀;
[0024]若否,則進入下一視頻編碼層,返回執(zhí)行所述計算當前視頻編碼層中的編碼單元的第一率失真,和/或,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元的第二率失真的步驟,直至遍歷完所述至少部分視頻編碼層;
[0025]其中,所述第一參考幀用于在第一編碼流水中,其他編碼單元的模式決策。
[0026]優(yōu)選地,所述在第一編碼流水中,對每一組視頻數據進行預編碼,以獲得預編碼結果的步驟還包括:
[0027]當緩存的已完成預編碼的視頻數據的幀數超過預設的幀數閾值時,阻塞第一編碼流水。
[0028]優(yōu)選地,所述在第二編碼流水中,當每一組視頻數據預編碼完成時,根據所述最佳編碼參數對組內每一幀視頻數據進行編碼的步驟包括:
[0029]針對組內每一幀視頻數據的每一塊最大編碼單元,獲取在當前視頻編碼層中的編碼單元,以及,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元;
[0030]采用編碼參數對當前視頻編碼層中的編碼單元,和/或,由當前編碼單元劃分的在下一視頻編碼層中的編碼單元進行編碼;
[0031]計算編碼后的,當前視頻編碼層中的編碼單元的第三率失真、由當前編碼單元劃分的在下一視頻編碼層中的編碼單元的第四率失真;
[0032]判斷所述第三率失真是否小于所述第四率失真;其中,所述第四失真率配置有第二系數;
[0033]若是,則將編碼后的當前視頻編碼層中的編碼單元和所述編碼參數寫入碼流;
[0034]若否,則進入下一視頻編碼層,返回執(zhí)行所述獲取在當前視頻編碼層中的編碼單元,以及,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元的步驟,直至遍歷完所有視頻編碼層;
[0035]其中,所述編碼單元進行編碼的編碼參數包括在第一編碼流水中對所述編碼單元進行模式決策獲得的最佳編碼參數,或者,在第二編碼流水中對所述編碼單元進行模式決策獲得的編碼參數。
[0036]優(yōu)選地,所述最佳編碼參數包括位移矢量,所述采用編碼參數對當前視頻編碼層中的編碼單元,和/或,由當前編碼單元劃分的在下一視頻編碼層中的編碼單元進行編碼的步驟包括:
[0037]當所述位移矢量為整像素時,在所述當前視頻編碼層中的編碼單元,和/或,由當前編碼單元劃分的在下一視頻編碼層的第一預設范圍內進行整像素運動估計;
[0038]在最佳的整像素的第二預設范圍內進行分像素運動估計。
[0039]優(yōu)選地,所述在第二編碼流水中,當每一組視頻數據預編碼完成時,根據所述最佳編碼參數對組內每一幀視頻數據進行編碼的步驟還包括:
[0040]獲取寫入碼流的編碼單元對應的第二重構塊,以組成第二參考幀;
[0041]其中,所述第二參考幀用于在第二編碼流水中,其他編碼單元的編碼。
[0042]優(yōu)選地,所述在第二編碼流水中,當每一組視頻數據預編碼完成時,根據所述最佳編碼參數對組內每一幀視頻數據進行編碼的步驟還包括:
[0043]當第一編碼流水中的參考幀為源圖像數據,且,當前幀的圖像數據編碼完成時,判斷當前幀的圖像數據是否應用于第一編碼流水中的參考預測;
[0044]若否,則回收當前幀的圖像數據;
[0045]若是,則將當前幀的圖像數據緩存到第一編碼流水中的參考幀隊列。
[0046]優(yōu)選地,所述在第二編碼流水中,當每一組視頻數據預編碼完成時,根據所述最佳編碼參數對組內每一幀視頻數據進行編碼的步驟還包括:
[0047]當下一組視頻數據未完成預編碼時,阻塞第二編碼流水。
[0048]本發(fā)明實施例還公開了一種視頻數據的編碼裝置,包括:
[0049]第一編碼模塊,用于在第一編碼流水中,對每一組視頻數據進行預編碼,以獲得預編碼結果;所述預編碼結果包括每組內每一幀視頻數據在至少部分視頻編碼層中劃分的編碼單元的最佳編碼參數;
[0050]第二編碼模塊,用于在第二編碼流水中,當每一組視頻數據預編碼完成時,根據所述最佳編碼參數對組內每一幀視頻數據進行編碼。
[0051]優(yōu)選地,所述第一編碼模塊包括:
[0052]劃分子模塊,用于針對每組內每一幀視頻數據的每一塊最大編碼單元,在至少部分視頻編碼層中劃分為多個編碼單元;
[0053]模式決策子模塊,用于在所述至少部分視頻編碼層中所述對多個編碼單元進行模式決策,以獲得最佳編碼參數。
[0054]優(yōu)選地,所述預編碼結果還包括第一參考幀;
[0055]所述模式決策子模塊包括:
[0056]第一計算子模塊,用于計算當前視頻編碼層中的編碼單元的第一率失真,和/或,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元的第二率失真;
[0057]第一判斷子模塊,用于判斷在當前視頻編碼層中的編碼單元的第一率失真是否小于,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元的第二率失真;若是,則調用第一重構子模塊,若否,則調用第一進入子模塊;其中,所述第二失真率配置有第一系數;
[0058]第一重構子模塊,用于獲取當前的視頻編碼層中編碼單元對應的第一重構塊,以組成第一參考幀;
[0059]第一進入子模塊,用于進入下一視頻編碼層,返回調用第一計算子模塊,直至遍歷完所述至少部分視頻編碼層;
[0060]其中,所述第一參考幀用于在第一編碼流水中,其他編碼單元的模式決策。
[0061]優(yōu)選地,所述第一編碼模塊還包括:
[0062]第一阻塞子模塊,用于當緩存的已完成預編碼的視頻數據的幀數超過預設的幀數閾值時,阻塞第一編碼流水。
[0063]優(yōu)選地,所述第二編碼模塊包括:
[0064]獲取子模塊,用于針對組內每一幀視頻數據的每一塊最大編碼單元,獲取在當前視頻編碼層中的編碼單元,以及,由當前視頻編碼層中的編碼單元劃分的在下一視頻編碼層中的編碼單元;
[0065]編碼子模塊,用于采用編碼參數對當前視頻編碼層中的編碼單元,和/或,由當前編碼單元劃分的在下一視頻編碼層中的編碼單元進行編碼;
[0066]第二計算子模塊,用于計算編碼后的,當前視頻編碼層中的編碼單元的第三率失真、由當前編碼單元劃分的在下一視頻編碼層中的編碼單元的第四率失真;
[0067]第二判斷子模塊,用于判斷所述第三率失真是否小于所述第四率失真;若是,則調用寫碼流子模塊,若否,則調用第二進入子模塊;其中,所述第四失真率配置有第二系數;
[0068]寫碼流子模塊,用于將編碼后的當前視頻編碼層中的編碼單元和所述編碼參數寫入碼流;
[0069]第二進入子模塊,用于進入下一視頻編碼層,返回調用獲取子模塊,直至遍歷完所有視頻編碼層;
[0070]其中,所述編碼單元進行編碼的編碼參數包括在第一編碼流水中對所述編碼單元進行模式決策獲得的最佳編碼參數,或者,在第二編碼流水中對所述編碼單元進行模式決策獲得的編碼參數。
[0071]優(yōu)選地,所述最佳編碼參數包括位移矢量,所述編碼子模塊包括:
[0072]第一運動估計子模塊,用于在所述位移矢量為整像素時,在所述當前視頻編碼層中的編碼單元,和/或,由當前編碼單元劃分的在下一視頻編碼層的第一預設范圍內進行整像素運動估計;
[0073]第二運動估計子模塊,用于在最佳的整像素的第二預設范圍內進行分像素運動估
i+o
[0074]優(yōu)選地,所述第二編碼模塊還包括:
[0075]第二重構子模塊,用于獲取寫入碼流的編碼單元對應的第二重構塊,以組成第二參考幀;
[0076]其中,所述第二參考幀用于在第二編碼流水中,其他編碼單元的編碼。
[0077]優(yōu)選地,所述第二編碼模塊還包括:
[0078]第三判斷子模塊,用于在第一編碼流水中的參考幀為源圖像數據,且,當前幀的圖像數據編碼完成時,判斷當前幀的圖像數據是否應用于第一編碼流水中的參考預測;若否,則調用回收子模塊,若否,則調用緩存子模塊;
[0079]回收子模塊,用于回收當前幀的圖像數據;
[0080]緩存子模塊,用于將當前幀的圖像數據緩存到第一編碼流水中的參考幀隊列。
[0081]優(yōu)選地,所述第二編碼模塊還包括:
[0082]第二阻塞子模塊,用于在下一組視頻數據未完成預編碼時,阻塞第二編碼流水。
[0083]本發(fā)明實施例包括以下優(yōu)點:
[0084]本發(fā)明實施例采用分層決策,即在第一編碼流水中,對每一組視頻數據進行預編碼
當前第1頁1 2 3 4 5 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
台北县| 广德县| 昭苏县| 北辰区| 扎兰屯市| 泊头市| 诸暨市| 烟台市| 慈利县| 临猗县| 大埔区| 获嘉县| 星子县| 手游| 昭觉县| 台安县| 祁东县| 故城县| 温州市| 潜江市| 炎陵县| 巴林左旗| 长顺县| 惠水县| 定结县| 杨浦区| 翁牛特旗| 合水县| 布尔津县| 长白| 庆云县| 扶余县| 北海市| 石景山区| 西丰县| 清苑县| 芮城县| 吉首市| 诸城市| 昌图县| 孝感市|