TW200840366A - Complexity control method of video encoder - Google Patents

Complexity control method of video encoder Download PDF

Info

Publication number
TW200840366A
TW200840366A TW096110889A TW96110889A TW200840366A TW 200840366 A TW200840366 A TW 200840366A TW 096110889 A TW096110889 A TW 096110889A TW 96110889 A TW96110889 A TW 96110889A TW 200840366 A TW200840366 A TW 200840366A
Authority
TW
Taiwan
Prior art keywords
complexity
momentum
estimation
macro block
cutting mode
Prior art date
Application number
TW096110889A
Other languages
English (en)
Other versions
TWI338509B (zh
Inventor
Ming-Zhen Jian
Pao-Chi Chang
Original Assignee
Univ Nat Central
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Nat Central filed Critical Univ Nat Central
Priority to TW096110889A priority Critical patent/TW200840366A/zh
Priority to US11/889,858 priority patent/US8077777B2/en
Publication of TW200840366A publication Critical patent/TW200840366A/zh
Application granted granted Critical
Publication of TWI338509B publication Critical patent/TWI338509B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Description

200840366 九、發明說明: 【發明所屬之技術領域】 、本發明係有關於-種視訊編碼器之複雜度控制方 法’尤指-種可消除每張晝面壓縮時間之延遲抖動 (Delay jitter ),並在複雜度限制下達到壓縮品質最佳 化,進而使視訊編碼器達到即時且面率之塵縮。 【先前技#f】 隨著通訊系統之多元化,影像資訊在平台上之應 用也越來越廣泛,例如在網際網路及無線通訊平台上 進行影像之-般傳輸或串流傳輸,以直接觀看或處理 影響。一般而言,在即時之影像系統應用巾,處理由 影像所取出之大量資料往往係這類系統所面臨之最大 挑戰之一,因此,如何有效地減少壓縮影像資料,但 又不會影響到所得到之結果已成為當_重要之課題。一 目剷’低頻寬之視訊壓縮標準,如H.261係 px64KbPs,主要係在ISDN環境使用;而Η·263則^ 供了極低位元率,在64Kbps以下之視訊編解碼規範, 希望透過現有之電話線網路來做傳輸。由於傳輸之頻 覓有限,這些規範均適時跳過一些畫面,使數位視訊 適應低頻寬傳輸媒介之限制。在低頻寬之傳輸條件 下,如ISDN或現有之電話系統,視訊畫面之傳輸勢 必經過刪除與壓縮之動作,例如視訊影像電話或視訊 影像傳送。 ° 200840366 麼細後之視訊資料,由於 制’壓縮後之視訊資料可能需要:匕限 «縮之視訊資料轉由低頻寬媒介中當已 傳輸頻寬上之限制,經常每屡縮_畫面,τ需捨::合 畫面。然而,被捨棄之晝面之位 而棄數個 供古十瞀之美麻蚩 °里也因為失去可 供。十汁之基底晝面而失去作用。此時 資料之解墨縮或解碼則必須藉由比 =之視訊 面資料間之位移向量來進行。 η傳送之畫 畫面之位移向量(如第i 〇圖及 圖塊8b伤盘曰上* + π 丄丄圖所不), ”為目刖旦面之座標位置(Xb, 8a乃係在上一全而由曰 )’而圖塊 旦中取相似該圖塊8b之座俨#罢 (心,叫,因此,該圖塊85及_ J =置 值為[(Xa,Ya ) ( Xb,γΜ Α 之座軚差 )(Xb,Yb)]即所謂之移位向量。 按習用之美國專利第5〇57916 動補償之影像壓缩糸鐽总〜”中’使用移 法。藉由塊匹配移位估量演算 糟由找出一取相似目前特定圖塊之前—金 圖塊來決定一付孩A曰 机 旦面中之 方々,向置。然而以目前位移估量之取樣 ;系統仍需耗費大量之時間做畫面之比, 不利於做即時之I缩率轉換或編顯縮率轉換。异, 以執行MPEG之影像壓縮為例, 分割為以+ 百先將目珂畫面 其中杯、订像素為單位之複數個圖塊’而 ’、 —圖塊Cl在前一畫面皆有一對;s β 由技寸决鼻法在上述對應之搜尋區中 T扒取相似上述 200840366 圖塊Ci之一對應圖塊si,而決定兩畫面間之位移向 量。一般,最常使用之比對運算方式為絕對差值總合 (Sum of Absolute Difference, SAD ),其公式如下· SAD = Z T\SKx,y)-Ci(x^)\ ϊ=〇 其中SKX,Y)係對應圖塊Si中之一像素資料, Ci (X,Y)係圖塊Ci中之-像素資料。藉由找出該 絕對差值總合之最小值,可以決s Ci之對應圖塊Si。 然而每-次之運算都要做256 :欠之減法及255次之加 法,既無法減少畫面間進行位移估計所耗費之時間, 亚且其複雜度控騎花費之複雜度Uverhead)也祀 :二,-般習用者係無法符合使用者於實 時
之所需。 J 【發明内容】 可將壓縮每張畫面之 ’使整張畫面之壓縮 每張畫面時間之延遲 本發明之主要目的係在於, 複雜度控制為小於等於一最大值 品質達到最佳化,並可消除壓縮 抖動(Delay jitter)。 伞贫明之另一目的係在於, (Overhead)小,可運用士 卜之運斤禝雜2 了運用於即時壓縮之應用。 為達以上之目的,太 雜度控制方法,係在直& $種視訊編碼器之本 , 、在”正愿縮之前(〇ff line)蔣绝以 态所有之壓縮工具作斿雜右將編石j 雜度/刀析,以得出每個壓縮! 200840366 具之編碼效率(coding gain)進而排定每個巨集區塊 (Macro Block, MB) ( Motion Estimation 廳=程:以疊代qItemiGnMethGd )決定編碼 早張旦面取大複雜度(:沅狀與動量預估層級,在直正 二縮視訊時(。nnne),以複雜度分配法將最大複雜度
Cf職適當地分配給每魅集區塊之動量預估,並於 1 吉束仙動量預估層級後以複雜度控制做複雜度檢 -f此’可將I縮每張畫面之複雜度控制為小於等 於=最大值’使整張畫面之壓縮品質達到最佳化,並 可消除屢縮每張晝面時間之延遲抖動,同時亦可應用 於因電源管理所造成之複雜度限制’或因壓縮時間限 制所造成之複雜度限制,進而使視訊編碼器達到即時 且固定畫面率之壓縮。 【實施方式】 立凊參閱『第1圖』所示,係本發明之製作流程示 心圖如圖所不·本發明係、—種視訊編碼器之複雜度 控制方法,其至少包括下列步驟·· …幻複雜度分析1 1 ··先將-視訊壓縮系統進 ^ comPlexity.rate-distortion ) ^ 析,求得每個壓縮工具之編碼效率(—Main),並 中,該視訊壓縮系統係可為h.264、MPEG4及H 26f; (Β)巨集區塊之動量預估流程設定1 2 ··由該複 雜度分析結果,依編碼玉具之編碼效率排定每個巨集 200840366 區塊(Macr〇 B1〇ck,MB)之動量預估流程(Motion Estimation, ME ),並由高編碼效率之工具排列至低編 碼效率之工具; (C)Cfmax與動量預估層級設定丄3 ••以疊代法 (Iteration Method )依不同之畫面率與動量預估層級 之組合對測試視訊作測試,再配合後續(D)及⑻ 之步驟’以決定出最佳之晝面率與動量預估層級,再 由畫面率推算出最大複雜度Cf_,達到可針對有些 系統調整不同之工作頻率,進而求出在不同之工作頻 率所相對應之最佳畫面率與動量預估層級之組合,以 製作成表。於此’係在真正壓縮之前(〇ffnne)或設 計系統時,施以之「事前分析」; (D)複雜度分配1 4 :再將編碼每張晝面所允 許之複雜度最大值Cfmax依視訊編碼層級適當地分配 給每個巨集區塊,再適當地分配給動量預估; ⑻複雜度控制15:係在結束每個動量預估層 級之後’做複雜度檢查,若已使用之複雜度小於所分 配之複雜度’則繼續執行下—個動量預估層級,否則 結束動量預估,於此,係真正做壓縮時,施以之「控 制」。 藉由本發明視訊編碼器之複雜度控制所包含之壓 縮工具複雜度分析系,统、巨集區塊動量預估流程系 統、稷雜度分配系統、複雜度控制系統、單張晝面壓 200840366 縮複雜度最大值系統、動量箱社 抖Μη丨..,p 層級系統及消除延遲 抖動(Delay jmer)系統等系蛴 * , 寸示、、死機制,可將壓縮每張 雜度控制為小於等於-最大值,並將每張書 有限之編碼稷雜度分配給高壓縮效率之工且, 張晝面之壓縮品質達到最佳化,如碼率、: (㈣);且亦可確保畫面中不同巨集區塊之品質里 小,以消除I 縮每張畫面時間之延遲抖動可用 於因電源管理所造成之禎雜庐阳以 j應用 他雜度限制’或縮時間限 制所k成之複雜度限制,使視訊編碼器達到即時且固 定畫面率之壓縮。 4閱『第2圖及第3圖』所示,係分別為 ^複雜度分析示意圖及本發明之動量預估流程虚動 置預估層級示意圖。如圖所示:今以H 264對該麼縮 工具複雜度分析系統做複雜度分析,並由視訊I縮系 統對測試視訊進行壓縮,進而求出對每個壓縮工具使 用此系統所產生之影響,包括有增加之複雜度△〔、減 少之失真AD、及減少之碼率AR,以又 依據該複雜度AC加上已乘上又值之碼输,以 求得減少之成本△ j,並以CG J/Ac依據該減少之 成本平均分配給複雜度算出編碼效率(codi gam) CG。其中又值可使用H 264動量預估所訂定之 A值,亚亦可為使用碼率控制,將每張畫面之目標碼 率设定在符合應用之一合理值,則等於零,成本 200840366 △ J等於△D。 在Η·264之編碼器程式中保留必要與高壓縮效率 之工具,如16X16巨集切割模式全像素動量預估2 1、DCT 轉換 2 2、堝編碼(Entr〇pyC〇ding) 2 3、 及去區塊滤波2 4,中低愿給;^、玄,a τ低堙細效率之工具則由壓縮效 率高排至低(如第2圖所示)’並省略極低壓縮效率之 工具,如參考畫面數目大於一之5張參考晝面2 5, 且必須由分析結果求得保留工具之複雜度,以其最大 值求出Cfrsv、Csrsv及Cmbrsv之合理值。 该巨集區塊動量預估流程系統係根據複雜度分析 ^结果將動量預估所使用之編碼工具由高壓縮效能排 1至低壓縮效能’因為動量預估所使用之複雜度很 而且在不同之巨集區塊會有很大之不同,又因動 ^估之有些編碼王具其壓縮效能不高,因此本發明 。又疋该巨集區塊動量預估流程系統係包含下列步驟: (A)步驟 3 1 ·· 16X16 動量預估; 巨集區塊切割模式全像素
(B)步驟3 2 : 16X16巨集區塊切割模式 動1預估; I 素動iC)步驟3 3 : 16Xi6巨集區塊切割模式1/4像 3 =預估’其中’設定最小成本(cost)等於步驟 求得之成本,最佳切割模式為16X16晝面間 200840366 (inter); (D) 步驟3 4 : 16X16巨集區塊切割模式畫面内 預估(Intra-prediction ); (E) 步驟3 5 ··❹驟3 4所得出之成本小於最 小成本,則設定最小成本等於步驟3 4所求得之成 本:畫面内最佳切割模式為16X16,否則跳至步驟3 7, (F)步驟3 6 : 4X4模式巨集區塊切割模式畫面 内預估’其中,若本步驟所得出之成本小於最小成本, 則設定最小成本等於本步驟所求得之成本 佳切割模式為4X4 ; 量預估; G)步驟3 7:8X8巨集區塊切割模式全像素動 動 :)乂驟3 8.8X8巨集區塊切割模式半像素 1預估; 動曰步驟3 9 :8X8巨集區塊切割模式1/4像辛 ,預估’其中’若本步驟所得出之成本小於最2 :則^最小成本等於本步驟所求得之成本, 間取佳、切割模式為8X8 ; 息面 動量=步驟4(3:16X8巨集區塊切割模式全像素 200840366 步驟4 1 16X8 CK) 量預估; 素動量預估,V中集區塊切割模— ,, /、中右本步驟所得出之成本小於# f 成本,則設定最/!、成本特本步驟 J取小 面間最佳切割模式為16X8; -之成本’畫 (Μ)步驟4 3 動量預估; (Ν)步驟4 4 : 動量預估; (〇)步驟4 5 : 素動量預估; :8X16巨集區塊切割模式全像素 8X16巨集區塊切割模式半像素 8X16巨集區塊切割模式丨/4像 (Ρ )步驟4 Θ :若畫面間最佳切割模式不 8X8 ’則於步驟4 7繼續往下預估; (Q) 步驟4 7 : 8X4 # 4X8巨集區塊切割 動量預估; (R) 步驟4 8 : 4X4巨集區塊切割模式全像素之 動量預估; (S) 步驟4 9 : 4X4巨集區塊切割模式半像素動 量預估; (Τ)步驟5 0 : 4X4巨集區塊切割模式1/4像素 200840366 動量預估;以及 (u)步驟5 1 .若步驟5 〇所得出之成本小於 最小成本,則設定最小成本等於步驟5◦所求得之成 本,畫面間最佳切割模式為4χ4。 請參閱『第4圖〜第7圖』所示,係分別為本發 明之編碼畫面流程與複雜度分配示意圖、本發明之編 碼sHce流程與複雜度分配示意圖、本發明之編碼巨华 區塊流程與複雜度分配示意圖及本發明之複雜度控制 演算示意圖。如圖所示:於複雜度分配系統下,在需 加:Η. 2 6 4編碼—張晝面之程式中,編碼一張晝面開 始時及編碼所有⑷sHce)之前,讀取已使用之複 雜度Μ.於步驟6 i保留編碼所有片段之後所兩 之複雜度Cfrsv給步驟6 2去區塊濾波與更新表考; 面程式使用。以 Csnces = Cfmax_Cfinit_Cfw^ 張畫面所容許之最大複雜度Cfmax減去複雜度 及複雜度Cfrsv,以求得編碼所有片段之最大複雜度 Cnees’進而分配給編碼所有片段使用。再以cs丨丨a: Cslices/NsHce依該最大複雜度CsHces平均分配仏編 碼每個片段NsHce使用,即獲得平均複雜度d 於而加入H.264編碼一個片段之程式中,在編碼 一個片段開始時及編碼所有巨集區塊之前,讀取已使 用之複雜度Csinit,於步驟6 3保留編碼所有巨集區 塊之後所需之複雜度Csrsv給步驟6 4結尾程式使 14 200840366 用。以Cmbs = Cslice — Csinit — Csrsv將該平均複雜度 Cslice減去複雜度Csinit及複雜度Csrsv,以求得編石馬 所有巨集區塊之最大複雜度Cmbs,進而分配給編碼所 有巨集區塊使用。再以Cmba = Cmbs/Nmb依該最大複 雜度Cmbs平均分配給編碼每個巨集區塊Nmb使用, 或者以一個巨集區塊與前一張畫面相同位置巨集區塊 之SAD值,如SAD0為權重,以公式(一)或其他變 形獲得每個巨集區塊之預設複雜度Cmbb,將Cmbs分 配給每個巨集區塊。並以Cmb = Cmba實現分配編碼 第一巨集區塊所容許之最大複雜度Cmb為平均複雜度 Cmba ’或者若是採以sAD0為權重之方式分配,則以 Cmb = Cmbb[l]為最大複雜度Cmb等於第一個被編碼 之巨集區塊之預設複雜度Cmbb[l]。
Cmbb[i^\ = Cmbs * '严邱] f,SAD[j] y=i / = 1,2,....Λ/ …公式(一) 於需加入Η.264編碼一個巨集區塊之程式中,在 編碼一個巨集區塊開始時及步驟6 5動量預估之前, 讀取已使用之複雜度Cmbinit,於步驟6 6、6 7保留 動量預估之後所需之複雜度Cmbrsv給預測編碼、離散 餘弦(Discrete Cosine Transform,DCT )轉換、量化、 反量化、反離散餘弦轉換及煱編碼等使用。以Cme二 Cmb - Cmbinit - Cmbrsv將該最大複雜度Cmb減去複 雜度Cmbinit及複雜度Cmbrsv,以求得動量預估之最 200840366 大複雜度Cme,進而分配給動量預估使用。在完成一 個巨集區塊之所有編碼流程後,需以CbaianCe二Cmb -Cmbused結算此巨集區塊所使用之複雜度盈餘或超支 情形,依該最大複雜度Cmb減去檢查此巨集區塊真正 使用之複雜度Cmbused ,再以cbouns[i]二 Cbalance/Nmbleft將該複雜度Cbalance平均分配給此 片段所有未編碼之巨集區塊共Nmbleft個使用,以獲 知每個巨集區塊來自此巨集區塊之紅利Cb〇uns[i],其 中1為此巨集區塊之序號,累積紅利Cp〇〇l[i+1]係記錄 下一個巨集區塊所擁有之累積紅利,故將以公式(二) 進一步改寫成 CP〇〇l = Cpo〇i + Cbaiance/Nmb丨eft,於 每編碼完一個巨集區塊後即調整;以Cmb = Cmba + Cpoo丨分配編碼下一個巨集區塊之複雜度Cmb為複雜 度平均值Cmba加上紅利Cp〇〇l,相同之,若以sad〇 為榷重分配,則為Cmb^Cmbb^+U + Cpool ,以Cmb 等於Cmbb[i+1]加上紅利Cp〇〇i。因為動量預估所使 用之複雜度很大,而且在不同之巨㈣塊會有很大之 不同此方法可以彈性調整編碼每個巨集區塊之複雜 度,將編碼整張晝面之複雜度藉由複雜度控制系統控 制在複雜度限制之内。
Cpo〇l[i + 1] _ ^Cbonus[j] = Cp〇〇l[i] + Cbalcmce! Nmbleft …公式(二) 古2複雜度控制系統之演算法中,在完成低、中及 门動里預估層級之後,須執行此複雜度控制程式,此 200840366 私式於步驟6 8先讀取動量預估已使用之複雜度 C:Sed’若此步驟6 9之複雜度小於動量預估所分 硬雜度Cme,則以步驟7 〇、繼續執行動量預 估,否則進行步驟7 1結束動量預估。 閱『第8圖及第9圖』所示,係分別為本發 明之編碼畫面最大複雜度與最佳動量預估層級示音圖 及本發明之畫面率與動量預估層級組合示意圖。㈣ 因應不同中央處理器(㈤―。—§ ,)之硓力,最佳之畫面複雜度最大值盥動量 預估層級會有不同,此單張畫面㈣複雜度最^值系 統=機制可達龍縮品質最佳化。藉由先設定-個新 之旦面率f’則畫面複雜度最大值Cfmax = CCPU/f, 同之動量預估層級對測試視訊編碼,由主觀 方^客親方式選出最佳之動量預估層級,再設定另 1畫面率’重複以上動作,最後選出最佳之畫面率 與其相對應之複雜度最女# 級,…f ’及動量預估層 二二 動量預估層級來對真正之視訊做複 雜度㈣。由之前研究得知,晝面率等於⑴系為可接 文之視讯品質,在本發明觀察研究中 為人眼覺得沒有失真,書面率:於川炎二丰4於25 右此心陣“金-面辜寺於20為人眼開始覺得 錢奴k =畫面率等於15則人眼覺得會有明顯之 :外但可:m。所以應盡量設定晝面率大於等於& ’右碼率之限制,則應開啟碼率控制。 200840366 会"亥'肖除延遲抖動(Delay jitter)系統’係將開始 編碼一張晝面與前一張晝面之開始編碼時間間隔固定 為l/f秒,若時間未到則等待,此時作業系統可讓該 中^處理器去做其他之卫作,等時間—到,開始編碼 此畫面,且編碼此晝面之過程應避免該中央處理器去 、/亍八他工作’若係很短時間之工作(t << 1 /f)則可 允5午’所使用之複雜度控制方法可以準確控制編碼 早張晝面之時間小於等於l/f秒。 實際在電腦上貫驗’搭配已程式最佳化之X264程 式,以foreman與Carph〇ne測試視訊作為測試,纟士 ^明可成功㈣複雜度,並使其失真與未使賴雜 又控制之失真很接近,而且碼率之增加很小。 外上所述’本發明係—種視訊編碼ϋ之複雜度控 制可有效改善習用之種種缺點,不僅用於消除 二、旦面I縮時間之延遲抖動,並在複雜度限制下達 j仏品質最佳化,且亦可應用於因電源管理所造成 设雜度限制,或因㈣時間限制所造成之複雜度限 二!視訊編碼器達到即時且固定畫面率之壓縮,進 發明之産生能更進步、更實用、更符合使用者 :二確已符合發明專利申請之要件,線提出 各尤处、 1里待本發明之較佳實施例而已 田不月匕以此限定本發明實施筋 <乾㈤,故,凡依本發 18 200840366 申請專利範圍及發明說明書内容所作之簡單的等效變 化與修飾,皆應仍屬本發明專利涵蓋之範圍内。 19 200840366 【圖式簡單說明】 第1圖’係本發明之製作流程示意圖。 第2圖,係本發明之複㈣㈣示 第3圖,係本發明之動量:^斗a 4 動里預估流程與動量預估層級示 思圖。
4圖’係本發明之編碼晝面流程與複雜度分 圖。 5圖’係本發明之編碼sHce流程與複雜度分配示 意圖。 6圖,係本發明之編碼巨集區塊流程與複雜度分配 示意圖。 第7圖,係本發明之複雜度控制演算示意圖。 第8圖係本發明之編碼畫面最大複雜度與最佳動量 預估層級示意圖。 第9圖,係本發明之晝面率與動量預估層級組合示意 圖。 、 第1 0圖及第1 1圖,係習用之晝面位移向量示意 圖。 ' 【主要元件符號說明】 (本發明部分) 步驟1 1〜1 5 16X16巨集切割模式2丄 20 200840366 DCT轉換2 2 煱編碼2 3 去區塊;慮波2 4 5張參考畫面2 5 步驟3 1〜5 1 步驟6 1〜7 1 (習用部分) 圖塊8 a、8 b 21

Claims (1)

  1. 200840366 十、申請專利範圍·· 1 · 一種視訊編碼器之複雜度控制方法,至少包括下列 步驟: (A) 先以一視訊壓縮系統進行複雜度分析, 求得每個壓縮工具之編碼效率(c〇dinggain); (B) 由該複雜度分析結果,依編碼工具之編 碼效率排定每個巨集區塊(Macr〇 Bl〇ck,MB)之 動里預估流程(Motion Estimation,ME ),並由高編 碼效率之工具排列至低編碼效率之工具; (C) 由疊代法(Iterat丨〇n Method )決定最 佳之編碼每張畫面所容許之最大複雜度Cfmax、畫 面率、與動量預估層級; (D) 再將壓縮每張畫面所允許之最大複雜度 Cfmax適當分配給每個巨集區塊; (E )係在結束每個動量預估層級之後,做複 雜度杈查,若已使用之複雜度小於所分配之複雜 度,則繼續執行下一個動量預估層級,否則結束動 量預估。 2 ·依申請專利範圍第i項所述之視訊編碼器之複雜度 &制方法’其中,該視訊壓縮系統係可為H.264、 MPEG4 及 H.263。 22 200840366 3 ·依申請專利範圍第所述之視訊編碼器之複雜度 控制方法,其中,該(D)步驟之分配係可為平均 分配、或以每個巨集區塊之5湖為權重來分配。 4 · 一種視訊編碼器之複雜度控制系統機制,係包括有: ” ^ 一壓縮工具複雜度分析系統,係用以測試視訊 壓縮之視訊壓縮系統,以對每個壓縮工具求出 後所產生之影響; 旦一巨集區塊動量預估流程系統,係用以調整動 里預估之壓縮工具由高編碼效率之工具依序排列至 低編碼效率之工具; 一複雜度分配系統,係將壓縮每張畫面所允許 之複雜度最大值適當地分配給每個巨集區塊,並^ =束編碼一個巨集區塊之後,結算複雜度之盈餘或 超支if开在將此盈餘或超支分配給之後巨集區塊; 複雜度控制系統,係用以於結束每個動量預 估層級之後做複雜度檢查; 一單張晝面壓縮複雜度最大值系統與動量預 估層級系統,係用以選出最佳之畫面率與 層級之組合;以及 一消除延遲抖動(Delay jitter)系統,係用以 控制編碼單張畫面之時間。 23 200840366 5 ·依申請專利範圍第4項所述之視訊編碼器之複雜度 控制方法,其中,該壓縮工具複雜度分析系統,其 影響係包括有增加之複雜度AC、減少之失真△ D、及減少之碼率AR,進而以該複雜度加上乘 上又值之碼率△ R,以求得減少之成本△ j,其公式 △ J= AD+;lAR。 6 ·依申請專利範圍第5項所述之視訊編碼器之複雜度 控制方法,其中’該λ值係為視使用之動量預估戶$ 訂定。 7 申請專利範圍第5項所述之視訊編碼器之複雜度 控制方法’其中’該成本係使用碼率控制 該碼率AR等於零,職成本〜會等於該失直△ 8依^專利範圍第5項所述之視訊編碼器之複雜戶 控制方法,其中,該成本平 X △C,以獲得每m編碼效為度 CG = 。 .依申請專利範圍第4項所述之視訊編碼器之複 控制方法,其中,兮愿墙 1^ 實驗-果d 雜度分析系統係以 貫u取大值求出Cfrsv、Csrsv及Cmb⑽。 〇·依申請專利範圍第4項所述之視訊編碼器之複雜 24 200840366 度控制方法’其中,該巨集區塊動量預估流程系繞 係包含下列步驟: (A) 16X16巨集區塊切割模式全像素動量 估; (B) 16X16巨集區塊切割模式半像素動旦 估; ’、里預 (C) 16X16巨集區塊切割模式1/4像素動量 預估,其中,設定最小成本(_)等於步驟 所求得之成本,最佳切割模式為16χΐ6查> (inter); 間 (Intra-prediction ); (E)若步驟(D)所得出之成本小於 本,則設定最小成本等於步驟(D)所求得 晝面内最佳切割模式為16χ (〇); 古則跳至步」 、、中’右本步驟所得出之成本小於最 則設定最小成本等於本步驟所求得之成本全 最佳切割模式為4乂4 ; 本、面 量預估; 巨集區塊切職式全像素動 200840366 動量預估; (H)8X8巨集區塊切割模式半像素 ⑴8X8巨集區塊切割模式1/4像素旦 估,其中,若本步驟所得出之成本小於最'' 里預 則設定最小成本等於本步驟所求得之成本, 最佳切割模式為8X8 ; 旦面間 估; 估; (J ) 16X8 (K) 16X8 巨集區塊切割模式全像素動量預 巨集區塊切割模式半像素動量預 1/4像素動量預 小於最小成本, 之成本,晝面間 () 16X8巨集區塊切割模式 估,其中,若本步驟所得出之成本 則設定最小成本等於本步驟所求得 最佳切割模式為16X8 ; 估 M) 8X16巨集區塊切割模式全像素動量預 估 (N) 8X16 巨集區塊切割模式半像素動量預 估;(0)8X16巨集區塊切割模式1/4像素動量預 (P)若畫面間最佳切割模式不為8X8,則於 步驟(Q )繼續往下預估; 26 200840366 CQ)8X4與4X8巨集區塊切割 、祆動量預估; 之動量預 估 (R) 4X4巨集區塊切割模式全像素 (SMX4巨集區塊切割模式半像素動量預估; 量預 (T) 4X4巨集區塊切割模式1/4像素 估,以及 ' (ϋ)若步驟(T)所得出之成本小於最小 本,則設定最小成本等於步驟(τ)所求得之, 畫面間最佳切割模式為4X4。 .依申請專利範圍第4項所述之視訊編碼器之複雜 度控制方法,其中,該複雜度分配系統係包含下 步驟: (A) 在編碼每張畫面時及編碼所有片段 (slice )前,以每張晝面所容許之最大複雜度 Cfmax減去求得已使用之複雜度Cfinit,並再減去 保留編碼所有片段之後所需之複雜度Cfrsv,以求 得編碼所有片段之最大複雜度Cslices,其公式為 〔slices^ Cfmax — Cfinit - Cfrsv ; (B) 再將該最大複雜度Cslices平均分配給 每個片I又Nslice,以獲得平均複雜度Cslice,其公 式為 27 200840366 Cslice = Cslices/Nslice ; (C) 在編碼一個片段時及編碼其中所有巨 集區塊前,以該平均複雜度CsHce減去求得已使用 之複雜度Csinit,並再減去保留編碼所有巨集區塊 之後所需之複雜度Csrsv,以求得編碼所有巨集區 塊之最大複雜度Cmbs,其公式為 Cmbs = Cslice - Csinit — Csrsv ; (D) 再將該最大複雜度Cmbs分配給每個 巨集區塊Nmb,分配之方式可為以下二種· (1 )平均分配,以獲得平均複雜度Cmba, 其公式為 Cmba = Cmbs/Nmb ; (2 )以絕對差值總合(Sum 〇f丨ute D脱⑽ce,SAD ),SAD0為權重,以獲得每個巨集 區塊之預設複雜度Cmbb,其公式為 Cmbb[i] = Cmbs * i = M Σ ⑽ L/] / = 1 或其他變形; (E) 設定—張晝面第一個被編碼之巨集區 塊所容許之最大複雜度Cmb,若採平均分配方式, 則Cmb等於該平均複雜度Cmba,苴八 28 200840366 Cmb = Cmba,· 若採以SADO為權重之古\ λ — 里又万式分配,則Cmb 等於第一個被編碼之巨隼區诒 木匕塊之預設複雜度 Cmbb[l],其公式為 Cmb = Cmbb[l]; (F )初始化Cpool專於零,宜公式為 Cpool = 〇 ;以及 一 (G)在編碼一個巨集區塊時及做動量預估 前,以該最大複雜度Cmb減去求得已使用之複雜 度Cmbinit’並再減去保留動量預估之後所需之複 雜度Cmbrsv,以求得動量預估之最大複雜度cme, 其公式為 Cme 二 Cmb 一 Cmbinit - Cmbrsv。 2 .依申請專利範圍第i丄項所述之視訊編碼器之複 雜度控制方法,其中,該複雜度Cfrsv係用於去區 塊濾波及更新參考晝面。 3 ·依申請專利範圍第丄丄項所述之視訊編碼器之複 雜度控制方法,其中,該複雜度CmbTSV係用於預 測編碼、離散餘弦(D丨screte c〇sine Transf〇rm, DCT)轉換、量化、反量化、反離散餘弦轉換及煱 29 200840366 1 4 $依中請專利範圍第4項所述之視訊編碼器之複雜 又控制方法,其中,該複雜度控制系統對每個巨集 區塊做動里預估時,係包含下列步驟: —(A)若「低」之動量預估層級不等於無,在 完成「低」之動量預估層級之後,檢查已使用之複 雜度Cmeused,若該複雜度Cmeused大於等於 Cme,則、结束動量預估,否則繼續以下之編碼流程; (B) 在7°成「中」之動量預估層級之後,檢 查已使用之複雜度Cmeused,若該複雜度c_sed 大於等於Cme,則結束動量預估,否則繼續以下之 編碼流程; (C) 在元成「南」之動量預估層級之後,檢 查已使用之複雜度Cmeused,若該複雜度Cmeused 大於等於Cme,則結束動量預估,否則繼續以下之 編碼流程; (D) 在完成一個巨集區塊之所有編碼流程之 後,以分配之複雜度Cmb減去檢查此巨集區塊真 正使用之複雜度Cmbused,以計算此巨集區塊之複 雜度使用之盈餘或超支Cbalance,其公式為 Cbalance 二 Cmb - Cmbused ; (E )將違複雜度盈餘Cbalance平均分配給此 旦面所有未被編碼之巨集區塊共Nmbleft個,以獲 30 200840366 得之後每個巨集區塊來自此巨集區塊之紅利 Cbouns[i],i為此巨集區塊之序號,其公式為 Cbouns[i] = Cbalance/Nmbleft;以及 (F )計算下一個巨集區塊之累積紅利 Cpool[i+l],由於每個巨集區塊都會從之前每個巨 集區塊獲得紅利,其公式為 / Cpool[i +!] = Σ Cbonus[j] = Cpool[i] + Cbalance / Nmbleft 上式可進一步寫成 Cpool == Cpool + Cbalance/Nmbleft (G)設定下一個巨集區塊之最大複雜度 Cmb,若使用平均分配,等於平均複雜度cmba加 上紅利Cpool ,其公式為 Cmb = Cmba + Cpool ; 若以SAD0為權重分配,則Cmb等於Cmbb[i+1] 加上紅利Cpool ,其公式為 Cmb 二 Cmbb[i+l] + Cpool 〇 •依申凊專利範圍第1 4項所述之視訊編碼器之複 雜度控制方法,其中,該累積紅利Cp〇〇l係於每 編碼完一個巨集區塊後即調整。 200840366 1 6 ·依申請專利範圍第4項所述之視訊編碼器之複雜 度控制方法,其中,該單張晝面壓縮複雜度最大值 系統係包含下列步驟: (A )選定不同之畫面率f,將系統每秒所能 處理之運算複雜度CCPU平均分配給f張畫面,以 獲得單張晝面壓縮複雜度最大值Cfmax,其公式為 Cfmax = CCPU/f ;以及 (B)對測試視訊做編碼,並選定不同之動量 預估層級做複雜度控制,由壓縮後再重建之視訊品 貝中選出最佳之畫面率、單張晝面壓縮複雜度最大 值Cfmax'與動量預估層級之組合,在真正做視訊 壓縮時,採用此組合。 1 7 ·依申請專利範圍第4項所述之視訊編碼器之複雜 度控制方法,其中,㈣除延遲抖動“係開始編 ,一張畫面與前一張晝面之開始編碼時間間隔固 疋為小於等於1 /f秒。 32
TW096110889A 2007-03-28 2007-03-28 Complexity control method of video encoder TW200840366A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW096110889A TW200840366A (en) 2007-03-28 2007-03-28 Complexity control method of video encoder
US11/889,858 US8077777B2 (en) 2007-03-28 2007-08-16 Method of controlling complexity for video compressor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW096110889A TW200840366A (en) 2007-03-28 2007-03-28 Complexity control method of video encoder

Publications (2)

Publication Number Publication Date
TW200840366A true TW200840366A (en) 2008-10-01
TWI338509B TWI338509B (zh) 2011-03-01

Family

ID=39794284

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096110889A TW200840366A (en) 2007-03-28 2007-03-28 Complexity control method of video encoder

Country Status (2)

Country Link
US (1) US8077777B2 (zh)
TW (1) TW200840366A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI415472B (zh) * 2008-11-24 2013-11-11 Nvidia Corp 編碼資料流之最佳電源使用
TWI562601B (en) * 2011-09-14 2016-12-11 Samsung Electronics Co Ltd Method of decoding video

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101623124B1 (ko) * 2009-12-03 2016-05-24 에스케이 텔레콤주식회사 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
WO2014120368A1 (en) * 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
CN103428529A (zh) * 2013-08-30 2013-12-04 武汉眸博科技有限公司 一种媒体云中视频数据编码传输方法
CA2957079A1 (en) * 2016-02-03 2017-08-03 Evertz Microsystems Ltd. Systems and methods for improving video compression efficiency
US10834384B2 (en) 2017-05-15 2020-11-10 City University Of Hong Kong HEVC with complexity control based on dynamic CTU depth range adjustment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5057916A (en) * 1990-11-16 1991-10-15 General Instrument Corporation Method and apparatus for refreshing motion compensated sequential video images
US20050047504A1 (en) * 2003-09-03 2005-03-03 Sung Chih-Ta Star Data stream encoding method and apparatus for digital video compression
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US20050105612A1 (en) * 2003-11-14 2005-05-19 Sung Chih-Ta S. Digital video stream decoding method and apparatus
US20050129121A1 (en) * 2003-12-01 2005-06-16 Chih-Ta Star Sung On-chip image buffer compression method and apparatus for digital image compression
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI415472B (zh) * 2008-11-24 2013-11-11 Nvidia Corp 編碼資料流之最佳電源使用
TWI562601B (en) * 2011-09-14 2016-12-11 Samsung Electronics Co Ltd Method of decoding video

Also Published As

Publication number Publication date
US8077777B2 (en) 2011-12-13
TWI338509B (zh) 2011-03-01
US20080240249A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
TW200840366A (en) Complexity control method of video encoder
CN101461248B (zh) 自适应地确定用于视频图像编码的比特预算的方法和设备
CN105306939B (zh) 用于对视频进行解码的方法和装置
CN103918262B (zh) 基于结构相似度的码率失真优化感知视频编码方法和系统
CN101534436B (zh) 一种视频图像宏块级自适应码率分配方法
CN100536573C (zh) 基于方向的dc预测方法及用于视频编码的帧内预测方法
CN100464585C (zh) 一种视频压缩方法
CN104301724B (zh) 视频处理方法、编码设备和解码设备
CN100562116C (zh) 一种面向多视点视频的码率控制方法
CN102595140B (zh) 基于图像修复和矢量预测算子的帧内预测视频编码方法
CN101729891B (zh) 一种多视点深度视频的编码方法
CN104954799B (zh) 视频编码方法
CN104113755A (zh) 图像编码方法及装置以及其解码方法及装置
CN106254879B (zh) 一种应用自编码神经网络的有损图像压缩方法
CN101272489B (zh) 视频图像质量增强的编解码装置与编解码方法
CN100581262C (zh) 基于ρ域的视频编码码率控制方法
CN102740077A (zh) 基于h.264/avc标准的帧内预测模式选择方法
CN104754335B (zh) 一种视频编码码率控制方法
CN102420990A (zh) 一种面向多视点视频的快速编码方法
CN106412611A (zh) 一种高效视频编码的复杂度控制方法
CN100586186C (zh) 一种快速帧间预测模式选择方法
CN101998117B (zh) 视频转码方法和装置
CN101883283A (zh) 一种基于saqd域的立体视频码率控制方法
CN102088608B (zh) 一种基于部分重建的可伸缩视频编码质量优化方法
CN102271248A (zh) 一种基于权重窗口模型的h.264/avc宏块级码率控制算法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees