TWI836542B - 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和非暫態電腦可讀取儲存媒體 - Google Patents
用以編碼及解碼視訊取樣之轉換區塊的方法、設備和非暫態電腦可讀取儲存媒體 Download PDFInfo
- Publication number
- TWI836542B TWI836542B TW111129495A TW111129495A TWI836542B TW I836542 B TWI836542 B TW I836542B TW 111129495 A TW111129495 A TW 111129495A TW 111129495 A TW111129495 A TW 111129495A TW I836542 B TWI836542 B TW I836542B
- Authority
- TW
- Taiwan
- Prior art keywords
- coding unit
- samples
- size
- coding
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 238000006243 chemical reaction Methods 0.000 claims description 80
- 238000000638 solvent extraction Methods 0.000 claims description 36
- 241000023320 Luma <angiosperm> Species 0.000 claims description 25
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 abstract description 220
- 230000033001 locomotion Effects 0.000 description 87
- 230000015654 memory Effects 0.000 description 84
- 239000013598 vector Substances 0.000 description 59
- 238000012360 testing method Methods 0.000 description 51
- 238000005192 partition Methods 0.000 description 44
- 230000009466 transformation Effects 0.000 description 40
- 238000007906 compression Methods 0.000 description 26
- 238000005070 sampling Methods 0.000 description 26
- 230000006835 compression Effects 0.000 description 25
- 239000000872 buffer Substances 0.000 description 24
- 230000008569 process Effects 0.000 description 22
- 238000013139 quantization Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 238000001914 filtration Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 239000000523 sample Substances 0.000 description 18
- 230000036961 partial effect Effects 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 15
- 238000013459 approach Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000011664 signaling Effects 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 239000013074 reference sample Substances 0.000 description 8
- 238000000844 transformation Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Abstract
一種解碼來自位元流的影像框中的編碼單元的系統與方法。該方法包含決定來自該位元流的編碼單元的尺寸;及將該影像框細分成多數相等尺寸的處理區,各個相等尺寸處理區為管線解碼該位元流的單一階段期間所處理的區塊。如果編碼單元與所決定處理區間之邊界重疊,則該方法包含從多數轉換尺寸選擇用於該編碼單元的轉換尺寸,該轉換尺寸係被選擇以配合該編碼單元並在大小上與處理區有所不同;及對在該編碼單元中之各個轉換單元的殘餘係數施加逆轉換,以解碼該編碼單元,各個轉換單元係為該所選擇的轉換尺寸。
Description
本發明大致關於數位視訊信號處理,及更明確地說,關於用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統。本發明也關係於電腦程式產品,其包含電腦可讀取媒體,其上記錄有電腦程式,用以編碼與解碼視訊取樣的轉換區塊。
針對視訊編碼現在存在有很多應用,包含用於傳輸及儲存視訊資料的應用。很多視訊編碼標準已開發而其他的則正在開發中。在視訊編碼標準化的近來發展已經造成所謂“聯合視訊專家小組”(JVET)的群組的形成。該聯合視訊專家小組(JVET)包含也稱為“視訊編碼專家群”(VCEG)的國際電信聯盟(ITU)的電信標準化部門
(ITU-T)的研究群16問題6(SG16/Q6)的成員,以及,也稱為“動畫專家群”(MPEG)的國際標準組織/國際電技委員技術委員會1/次委員29/工作群11(ISO/IEC/JTC1/SC29/WG11)的成員。
聯合視訊專家群(JVET)在美國聖地牙哥的第10屆會議上發出提議呼籲(CfP)與反應分析。所提出反應展現的視訊壓縮能力,明顯優於現行技藝的視訊壓縮標準,即“高效視訊編碼”(HEVC)的壓縮能力。根據這些優點,決定開始一計劃,以開發新的視訊壓縮標準,名稱為‘多功能視訊編碼’(VVC)。VVC被期待針對更高壓縮效能的持續需求,特別是當視訊格式隨著容量增加(例如,更高解析度與更高框率)及針對在WAN上的服務輸送的市場需求的增加,其中頻寬成本也相對地高。同時,VVC必須在現行矽製程中為可行的並且在所完成效能與實施成本(例如,以矽面積、CPU處理器負載、記憶體利用率及頻寬看來)間提供可接受的取捨。
視訊資料包含一順序的影像資料框,各個框包含一或更多色彩通道。通常需要一主色彩通道與二次色彩通道。主色彩通道通常被稱為‘亮度(luma)’通道及次色彩通道通常被稱為‘色度(chroma)’通道。雖然視訊資料典型以RGB(紅-綠-藍)色彩空間加以顯示,但此色彩空間在三個個別成份間有高度共相關。由編碼器或解碼器所見的視訊資料表示法通常使用例如YCbCr的色彩空間。YCbCr在Y(主)通道中集中依據轉移函數映射為‘luma’的亮度及在
Cb及Cr(次)通道集中為色度。再者,Cb及Cr通道可以相較於亮度通道,以較低碼率作空間取樣,例如,以稱為‘4:2:0色度格式’的半水平及半垂直取樣。
VVC標準為‘區塊為主’的編解碼,其中框被首先細分為稱為“編碼樹單元”(CTU)的正方陣列區。CTU通常佔用相當大的區域,例如128×128亮度取樣。然而,在各個框的右與底緣處的CTU在面積上可能較小。有關於各個CTU的是‘編碼樹’,其界定該CTU的區域分解為一組稱為‘編碼單元’(CU)的區域。CU被以特定次序處理作編碼或解碼。編碼樹與使用4:2:0色度格式的結果,在框中之給定區域係有關於在整個色彩通道的並列區塊的集合。亮度區塊具有寬度×高度的尺度及色度區塊則具有針對各個色度區塊的寬度/2×高度/2的尺度。對於給定區域的並列區塊的集合係大致被稱為‘單元’,例如上述CU及預測單元(PU)及‘轉換單元’(TU)。
儘管對於相同區域的色度區塊對亮度區域的不同尺度,給定‘單元’的尺寸通常被以用於該單元的亮度區塊的尺度加以描述。個別區塊典型以該等區塊相關的單元的類型加以識別。例如,‘編碼區塊’(CB)、‘轉換區塊’(TB)、及預測區塊(PB)為用於一色彩通道的區塊並分別有關於CU、TU、及PU。儘管在‘單元’與‘區塊’間之上述區分,用語‘區塊’可以被使用作為一框的區域或區的一般用語,其中操作係可以應用至所有色彩通道。
對於各個CU,框資料的對應區域的內容(取
樣值)的預測(PU)被產生(預測單元)。再者,在編碼器的輸入所見的區域的預測與內容間之差(或在空間域中之‘殘餘’)表示法被形成。各個色彩通道中之差可以被轉換編碼成一順序的殘餘係數,形成用於給定CU的一或更多TU。所應用轉換可以是離散餘弦轉換(DCT)或其他轉換,應用至殘餘值的各個區塊。此主轉換係被分開應用,即,兩個尺度轉換係被以兩通路方式執行。區域首先藉由施加一維轉換至該區塊中之每一列取樣中加以轉換。然後,部份結果係藉由將一維轉換施加至該部份結果的每一行而加以轉換,以產生最終區塊的轉換係數,其係實質解共相關殘餘取樣。各個尺寸的轉換係為VVC標準所支持,包含矩形區塊的轉換,以各個側尺度係為2的乘冪。轉換係數被量化,以熵編碼至位元流中。
VVC標準的實施法典型使用管線以將處理細分為一順序階段。各個階段同時操作並且在完成處理(即編碼或解碼)區塊被輸出前,部份處理的區塊係由一階段傳送至下一階段。有需要在管線架構的背景中作轉換區塊的高效處置,以避免針對VVC標準的過量實施成本。有關於記憶體耗用與處理“最差情況”所需的功能模組,以管線階段需要完成的碼率及在每一階段所處理的資料尺寸表示,都需要過量的實施成本。
本發明之目的為基本上克服或至少改善現存
配置的一或更多缺點。
依據本發明的一態樣,其中提供一種解碼來自位元流的影像框中的編碼單元的方法,該方法包含:決定來自該位元流的編碼單元的尺寸;將影像框細分為多數相等尺寸的處理區,各個相等尺寸處理區係為管線解碼該位元流的單一階段期間所處理的區塊;如果編碼單元與在所決定處理區間之邊界重疊,則由多數轉換尺寸中選擇用該編碼單元之一轉換尺寸,該轉換尺寸係被選擇以適配於編碼單元並在尺寸上與處理區不同;及藉由將逆轉換施加至編碼單元中之各個轉換單元的殘餘係數上,而解碼該編碼單元,各個轉換單元為具有所選擇轉換尺寸的轉換單元。
依據本案的另一態樣,其中提供一種非暫態電腦可讀取媒體,其上儲存有電腦程式,用以執行解碼來自位元流之影像框中的編碼單元的方法,該程式包含:用以決定來自該位元流之編碼單元的尺寸之碼;用以將該影像框細分為多數相等尺寸處理區的碼,各個相等尺寸處理區為管線解碼該位元流之單一階段期間所處理的區塊;如果該編碼單元與所決定處理區間之邊界重疊,則由多數轉換尺寸選擇用於編碼單元的轉換尺寸的碼,該轉換尺寸係被選擇用以適配於編碼單元並在尺寸上與處理區不
同;及用以藉由施加逆轉換至該編碼單元中之各個轉換單元的殘餘係數,而解碼該編碼單元的碼,各個轉換單元為具有該選擇轉換尺寸的轉換單元。
依據本案的另一態樣,其中提供有一系統,包含:記憶體;及處理器,其中該處理器被組構用以執行儲存在該記憶體上的碼,用以實施解碼來自位元流之影像框中的編碼單元的方法,該方法包含:決定來自該位元流之編碼單元的尺寸;將該影像框細分成多數相等尺寸的處理區,各個相等尺寸的處理區係為管線解碼該位元流的單一階段期間所處理的區塊;如果該編碼單元與所決定處理區間之邊界重疊,則由多數轉換尺寸選擇用於該編碼單元的轉換尺寸,該轉換尺寸係被選擇以適配於該編碼單元並在尺寸上與處理區不同;及藉由施加逆轉換至在該編碼單元中之各個轉換單元的殘餘係數,而解碼該編碼單元,各個轉換單元為具有所選擇轉換尺寸的轉換單元。
依據本案之另一態樣,其中提供一種視訊解碼器,被組構用以:由位元流接收影像框;
決定在該位元流中之編碼單元的尺寸;將該影像框細分為多數相等尺寸處理區,各個相等尺寸處理區為管線解碼該位元流的單一階段期間所處理的區塊;如果編碼單元與所決定處理區間之邊界重疊,則由多數轉換尺寸選擇用於該編碼單元的轉換尺寸,所選擇的轉換尺寸以適配於該編碼單元並在尺寸上與處理區不同;及藉由施加逆轉換至編碼單元中之各個轉換單元的殘餘係數而解碼該編碼單元,各個轉換單元為具有所選擇轉換尺寸的轉換單元。
依據本案的另一態樣,其中提供一種解碼來自位元流之影像框中之編碼單元的方法,該方法包含:決定來自位元流的編碼單元的尺寸;將該影像框細分為多數相等尺寸處理區,各個相等尺寸處理區小於最大可用編碼單元尺寸;從候選移動向量名單,選擇出對應該編碼單元的移動向量,選擇該移動向量包含:(i)如果該編碼單元大於或等於所決定處理區之一的尺寸,則解碼一合併指數,或(ii)如果編碼單元並未大於或等於所決定處理區之一的尺寸,則解碼跳過旗標,以解碼該合併指數;及依據用於該編碼單元的所選擇移動向量,解碼該編碼單元。
依據本案的另一態樣,其中提供一非暫態電腦可讀取媒體,具有電腦程式儲存於其上,用以實施解碼
來自一位元流之影像框中的編碼單元的方法,該程式包含:用以決定來自該位元流之編碼單元的尺寸的碼;用以將該影像框細分為多數相等尺寸處理區的碼,各個相等尺寸處理區係小於最大可用編碼單元尺寸;用以從候選移動向量名單選擇對應於該編碼單元的移動向量的碼,選擇該移動向量包含:(i)如果編碼單元大於或等於所決定處理區之一的尺寸時,解碼合併指數,或(ii)如果該編碼單元並未大於或等於所決定處理區之一的尺寸,則解碼跳過旗標,以解碼該合併指數;及依據用於該編碼單元的所選擇移動向量,解碼該編碼單元的碼。
依據本案的另一態樣,其中提供一種系統,包含:記憶體;及處理器,其中該處理器被組構用以執行儲存於該記憶體上的碼,用以執行解碼來自位元流的影像框中的編碼單元的方法,該方法包含:決定來自該位元流之編碼單元的尺寸;將該影像框細分為多數相等尺寸處理區,各個相等尺寸處理區係小於最大可用編碼單元尺寸;由候選移動向量名單選擇對應於該編碼單元的移動向量,選擇該移動向量包含(i)如果該編碼單元大於或等於所決定處理區之一的尺寸,則解碼一合併指數,或(ii)如果
編碼單元並未大於或等於該決定處理區之一的尺,寸,則解碼一跳過旗標,以解碼該合併指數;及依據用於該編碼單元的選擇移動向量,解碼該編碼單元。
依據本案之另一態樣,其中提供一種視訊解碼器,被組構用以:從位元流接收影像框;決定來自該位元流的編碼單元的尺寸;細分該影像框成為多數相等尺寸處理區,各個相等尺寸處理區小於最大可用編碼單元尺寸;由候選移動向量名單選擇對應於該編碼單元的移動向量,選擇該移動向量包含(i)如果編碼單元大於或等於所決定處理區之一的尺寸,則解碼一合併指數,或(ii)如果編碼單元並未大於或等於所決定處理區之一的尺寸,則解碼跳過旗標,以解碼該合併指數;及依據該編碼單元的所選擇移動向量,解碼該編碼單元。
也揭露了其他態樣。
100:系統
110:源裝置
112:視訊源
113:框資料
114:視訊編碼器
115:位元流
116:發射器
120:通訊通道
122:儲存裝置
130:目的地裝置
132:接收器
133:位元流
134:視訊解碼器
135:框資料
136:顯示裝置
200:電腦系統
201:電腦模組
202:鍵盤
203:滑鼠
204:匯流排
205:處理器
206:記憶體
207:音訊視訊介面
208:介面
209:儲存裝置
210:HDD
211:區域網路介面
212:光碟機
214:視訊顯示器
215:印表機
216:外部數據機
217:喇叭
218:連接
219:連接
220:網路
221:連接
222:區域通訊網路
223:連接
224:連接
225:CD-ROM
226:掃描器
227:攝影機
228:記憶體位置
229:記憶體位置
230:記憶體位置
231:指令
232:資料
233:應用程式
234:記憶體
235:記憶體位置
236:記憶體位置
237:記憶體位置
239:控制單元
240:算術邏輯單元
241:內部匯流排
242:介面
244:暫存器
245:暫存器
246:暫存器
248:快取記憶體
249:ROM
250:POST程式
251:BIOS
252:啟動載入程式
253:作業系統
254:輸入變數
255:記憶體位置
256:記憶體位置
257:記憶體位置
258:中間變數
259:記憶體位置
260:記憶體位置
261:輸出變數
262:記憶體位置
263:記憶體位置
264:記憶體位置
266:記憶體位置
267:記憶體位置
310:區塊分割器
312:現行CU
320:PU
322:減法器模組
324:差
326:轉換模組
332:轉換係數
334:量化器模組
336:殘餘係數
338:熵編碼器
340:去量化器模組
342:逆轉換係數
348:逆轉換模組
350:殘餘取樣
352:總和模組
354:重建取樣
356:參考取樣快取
358:參考取樣
360:參考取樣濾波器
362:濾波參考取樣
364:框內預測模組
366:區塊的取樣
368:環內濾波器模組
370:濾波取樣
372:框緩衝器
374:參考框
376:移動評估模組
378:移動向量
380:移動補償模組
382:濾波參考取樣
384:多工器模組
386:模式選擇器模組
388:內預測模式
420:熵解碼器模組
424:殘餘係數
428:去量化器模組
434:移動補償模組
438:間預測取樣
440:重建轉換係數
444:逆轉換模組
448:殘餘取樣
450:總和模組
452:解碼PU
456:重建取樣
458:內預測模式參數
460:重建取樣快取
464:參考取樣
468:參考取樣濾波器
472:濾波參考取樣
476:框內預測模組
480:內預測取樣
484:多工器模組
488:環內濾波模組
492:框取樣
496:框緩衝器
498:取樣區塊
500:集合
510:葉節點
512:四元樹分割
514:水平二元分割
516:垂直二元分割
518:三元分割
520:三元分割
600:資料流程
610:QT決定
612:MT分割決定
614:方向決定
616:BT/TT分割決定
618:BT/TT分割決定
620:產生QT CTU節點
622:產生葉節點
625:產生HBT CTU節點
626:產生HTT CTU節點
627:產生VBT CTU節點
628:產生VTT CTU節點
700:分割
710:CTU
712:CU
714:節點
716:節點
718:節點
720:編碼樹
726:頂層
800:框
810:區掃描
812:CTU
814:區
816:區
850:圖片群結構
851:顯示次序
852:編碼次序
853:時間層ID
860:內框
870:單向預測框
872:箭頭
891:箭頭
892:箭頭
900:集合
1000:CTU
1020:CU
1022:CU
1024:CU
1040:CTU
1042:CU
1044:CU
1046:CU
10100:編碼樹
10101:區
10102:區
10103:區
10110:處理區邊界
10122:CU
10200:CTU
10210:邊界
10222:CU
10300:CTU
10320:CU
10330:區邊界
10400:CTU
10420:CU
10430:區邊界
1100:方法
1110:切片類型測試
1120:候選CU尺寸測試
1150:內候選模式
1160:間候選模式
1170:跳過模式候選
1200:方法
1210:決定處理區
1215:編碼編碼樹
1220:選擇編碼單元
1222:預測模式測試與編碼
1225:識別處理區
1230:決定編碼單元轉換尺寸侷限
1235:處理區邊界重疊測試
1240:編碼單元轉換尺寸
1245:處理區轉換尺寸
1250:量化與施加順向轉換
1255:編碼殘餘係數
1260:內模式測試
1265:執行內預測
1270:執行移動補償
1275:重建CU
1285:最後編碼單元測試
1300:方法
1310:決定處理區
1315:解碼編碼樹
1320:選擇編碼單元
1322:決定預測模式
1325:識別處理區
1330:決定編碼單元轉換尺寸侷限
1335:處理區邊界重疊測試
1340:編碼單元轉換尺寸
1345:處理區轉換尺寸
1350:解碼殘餘係數
1355:逆量化與施加逆轉換
1360:內模式測試
1365:執行內預測
1370:解碼移動參數
1375:執行移動補償
1380:重建CU
1385:最後編碼單元測試
本發明之至少一實施例現將參考附圖及附錄加以描述,其中:[圖1]為顯示視訊編碼及解碼系統的示意方塊圖;
[圖2A及2B]形成通用電腦系統的示意方塊圖,其上可以實施圖1的視訊編碼與解碼系統之一或兩者;[圖3]為顯示視訊編碼器的功能模組的示意方塊圖;[圖4]為顯示視訊解碼器的功能模組的示意方塊圖;[圖5]為顯示區塊可用細分為多功能視訊編碼的樹狀結構中之一或更多區塊的示意方塊圖;[圖6]為資料流程示意圖,用以完成一區塊的允許細分為多功能視訊編碼之樹狀結構的一或更多區塊;[圖7A及7B]顯示將編碼樹單元(CTU)細分成若干編碼單元的例子;[圖8A]顯示被依據管線架構處理的編碼樹單元(CTU)的例示順序;[圖8B]顯示在視訊中之框的例示‘隨機存取’圖片結構群;[圖9]為用於VVC標準之轉換尺寸的示意圖;[圖10A]為一圖表,顯示於編碼樹的頂層以三元分割的編碼樹單元(CTU)的編碼單元;[圖10B]為一圖表,顯示有關於圖10A的編碼樹的替代轉換單元;
[圖10C]為一圖表,顯示有關於具有兩個三元分割於相反方向的編碼樹的轉換單元;[圖10D]為一圖表,顯示有關於具有垂直三元分割、水平二元分割及垂直三元分割的編碼樹的轉換單元;[圖10E]為一圖表,顯示有關於具有兩垂直三元分割的編碼樹的轉換單元;[圖10F]為一圖表,顯示替代圖10E之有關於具有兩垂直三元分割的編碼樹的轉換單元;[圖11]為一種用以決定在編碼樹單元之編碼樹中之編碼單元的預測模式的方法流程圖;[圖12]為用以使用轉換來編碼編碼單元的方法流程圖,該方法致使視訊編碼器的管線實施法被實現;及[圖13]為用以使用轉換來解碼編碼單元的方法流程圖,該轉換尺寸係依據圖12的方法加以選擇。
除非相反的意見表達出來,否則當參考有關一或更多附圖中之具有相同元件符號的步驟及/或特性時,為了說明目的,這些步驟及/或特性具有相同功能或操作。
圖1為一示意方塊圖,顯示視訊編碼及解碼系統100的功能模組。系統100可以利用大區塊或編碼單元
(CU)的隱含細分成多數較小區塊或轉換單元(TU),以促成在區(或管線處理區)中之比CTU尺寸為小的編碼樹單元(CTU)的處理。例如,系統100可以處理CTU為四個四分部,各個四分部可以包含很多CU及/或可以包含跨過多個區的CU的多個部分。
系統100包含源裝置110及目的地裝置130。通訊通道120被使用以將來自源裝置110的編碼視訊資訊傳遞至目的地裝置130。在一些配置中,源裝置110與目的地裝置130可以各自或兩者都包含個別的行動電話手機或“智慧手機”,其中通訊通道120為無線通道。在其他配置中,源裝置110及目的地裝置130可以包含視訊會議設備,其中,通訊通道120典型為有線通道,例如,網際網路連接。再者,源裝置110與目的地裝置130可以包含大範圍裝置的任一者,包含支持空中電視廣播的裝置、有線電視應用、網際網路視訊應用(包含串流)及應用,其中編碼視訊資料係被捕獲於一些電腦可讀取儲存媒體中,例如,在檔案伺服器的硬碟機中。
如於圖1所示,源裝置110包含視訊源112、視訊編碼器114及發射器116。視訊源112典型包含捕獲視訊框資料(如所示為113)的來源(例如影像捕捉感應器),儲存在非暫態記錄媒體上的先前捕獲視訊順序、或由遠端影像捕捉感應器所饋入的視訊。視訊源112也可以是電腦圖形卡的輸出,例如,用以顯示作業系統的視訊輸出及各種執行於計算裝置上,例如平板電腦上的各種應用的視訊輸
出。可以包含影像捕捉感應器作為視訊源112的源裝置110的例子包含智慧手機、視訊攝錄影機、專業視訊攝影機、及網路視訊攝影機。
視訊編碼器114將來自視訊源112的所捕獲框資料(由箭頭113所表示)轉換(或‘編碼’)為如進一步參考圖3所述之位元流(由箭頭115所表示)。位元流115係為發射器116所傳送於通訊通道120上,成為已編碼視訊資料(或“已編碼視訊資訊”)。也有可能位元流115被儲存在非暫態儲存裝置122中,例如“快閃”記憶體或硬碟機之中,直到隨後被傳送於通訊通道120,或用以替代傳送於通訊通道120上。
目的地裝置130包含接收器132、視訊解碼器134及顯示裝置136。接收器132自通道通道120接收編碼視訊資料並將所接收視訊資料傳遞給視訊解碼器134作為位元流(如箭頭133所表示)。視訊解碼器134然後輸出解碼框資料(如箭頭135所表示)給顯示裝置136。顯示裝置136的例子包含陰極射線管、液晶顯示器,例如於智慧手機、平板電腦、電腦監視器或單獨電視機之中。也可能源裝置110與目的地裝置130的各個功能被實現在單一裝置中,其例子包含行動電話手機及平板電腦。
雖然如上所述之例示裝置,但各個源裝置110及目的地裝置130可以典型透過硬體與軟體元件的組合,而被組構於通用計算系統中。圖2A例示此一電腦系統200,其包含:電腦模組201;例如鍵盤202、滑鼠指標裝
置203、掃描器226、可以被組構為視訊源112的攝影機227、及麥克風280的輸入裝置;及包含印表機215、可以被組構為顯示裝置136的顯示裝置214、及喇叭217之輸出裝置。外部調變解調(數據機)收發器裝置216可以為電腦模組201所使用,以透過連接221通訊進出通訊網路220。可代表通訊通道120的通訊網路220可以為例如網際網路之廣域網路(WAN)、蜂巢式電信網路或私人WAN。其中,連接221為電話線,數據機216可以為傳統“播接式”數據機。或者,其中連接221為高容量(例如,纜線或光纖)連接,數據機216可以為寬頻數據機。無線數據機也可以使用作無線連接至通訊網路220。收發器裝置216可以提供發射器116及接收器132的功能並且通訊通道120可以實施於連接221中。
電腦模組201典型包含至少一處理器單元205,及記憶體單元206。例如,記憶體單元206可以具有半導體隨機存取記憶體(RAM)及半導體唯讀記憶體(ROM)。電腦模組201也包含若干輸入/輸出(I/O)介面,包含:音訊-視訊介面207,其耦接至視訊顯示器214、喇叭217及麥克風280;I/O介面213,其耦接至鍵盤202、滑鼠203、掃描器226、攝影機227及選用地搖桿或其他人工介面裝置(未示出);及用於外部數據機216與印表機215的介面208。由音訊-視訊介面207到電腦監視器214的信號通常係為電腦圖卡的輸出。在一些實施法中,數據機216可以加入於電腦模組201內,例如,介面208內。電腦模組201
也具有區域網路介面211,其允許電腦系統200經由連接223耦接至區域通訊網路222,稱為區域網路(LAN)。如於圖2A所示,區域通訊網路222也可以經由連接224耦接至寬網路220,連接224典型包含所謂“防火牆”裝置或類似功能的裝置。區域網路介面211可以包含乙太TM電路卡、藍芽TM無線配置或IEEE802.11無線配置;然而,各種其他類型介面也可以實施用於介面211。區域網路介面211也可以提供發射器116與接收器132的功能及通訊通道120也可以實施於本地通訊網路222中。
I/O介面208與213也可以提供串聯與並聯連接法之任一或兩者,前者典型依據通用串列匯流排(USB)標準加以實施並具有對應USB連接器(未示出)。儲存裝置209被提供並且典型包含硬碟機(HDD)210。例如軟碟機與磁帶機(未示出)的其他儲存裝置也可以被使用。光碟機212典型被提供作為非揮發的資料源。例如光碟(例如,CD-ROM、DVD、藍光碟TM)的攜帶式記憶體裝置、USB-RAM、攜帶式外部硬碟機及軟碟機例如可以被用於作為給電腦系統200的資料的適當來源。典型地,HDD 210、光碟機212、網路220及222的任一也可以被組構以操作為視訊源112,或作為用於解碼視訊資料的目的地,以予以經由顯示器214儲存作再生。系統100的源裝置110與目的地裝置130可以被實施於電腦系統200內。
電腦模組201的元件205至213典型經由互連匯流排204通訊並且以相關技藝者所知的方式完成電腦系
統200的傳統操作模式。例如,處理器205使用連接218耦接至系統匯流排204。同樣地,記憶體206及光碟機212藉由連接219耦接至系統匯流排204。可以實施上述配置的電腦例子包含IBM的PC與其相容品、昇陽SPARC機台、蘋果MacTM或類似電腦系統。
於適當或想要時,視訊編碼器114與視訊解碼器134及如下所述之方法可以使用電腦系統200加以實施。更明確地說,將說明之視訊編碼器114、視訊解碼器134及方法可以被實施為可在電腦系統200內執行的一或更多軟體應用程式233。更明確地說,視訊編碼器114、視訊解碼器134及所述方法的步驟係被軟體233中之指令231(見圖2B)所作用,指令係被執行於電腦系統200中。軟體指令231可以形成為一或更多碼模組,各個碼模組用以執行一或更多特定工作。軟體也可以細分為兩個分開部分,其中第一部分與對應碼模組執行所述的方法及第二部分與對應碼模組執行在第一部分與使用者間之使用者介面。
軟體也可以儲存在電腦可讀取媒體中,包含例如如下所述之儲存裝置。軟體被由電腦可讀取媒體載入電腦系統200,然後為電腦系統200所執行。具有此軟體或電腦程式記錄在電腦可讀取媒體上的電腦可讀取媒體係為電腦程式產品。在電腦系統200中之電腦程式產品的使用較佳作動一有用設備,用以實施視訊編碼器114、視訊解碼器134及所述方法。
軟體233典型儲存在HDD 210或記憶體206
中。軟體被由電腦可讀取媒體載入電腦系統200中,並為電腦系統200所執行。因此,例如軟體233可以儲存在光學可讀取碟片儲存媒體(例如,CD-ROM)225上,並為光碟機212所讀取。
在一些實例中,應用程式233可以以編碼在一或更多CD-ROM 225上被供給至使用者並經由對應驅動器212讀取,或者,也可以為使用者透過網路220或222讀取。再者,軟體也可以從其他電腦可讀取媒體被載入電腦系統200。電腦可讀取儲存媒體表示任何非暫態有形儲存媒體,其提供有記錄指令及/或資料給電腦系統200,作執行及/或處理。此儲存媒體的例子包含軟碟、磁帶、CD-ROM、DVD、藍光碟TM、硬碟機、ROM或積體電路、USB記憶體、磁光碟或電腦可讀取卡,例如PCMCIA卡等等,而不管該等裝置係在電腦模組201的內部或外部。也可以參與作為提供軟體、應用程式、指令及/或視訊資料或編碼視訊資料給電腦模組401的暫態或非有形電腦可讀取傳輸媒體的例子包含無線電或紅外傳輸通道,及連接至另一電腦或連網裝置的網路,及網際網路或網內網路,其包含電子郵件傳輸及記錄在網站上的資訊等等。
應用程式233的第二部分與前述對應碼模組可以被執行,以實施要被描繪或呈現在顯示器214上的一或更多圖形使用者介面(GUI)。透過鍵盤202及滑鼠203典型的操縱,電腦系統200與應用的使用者可以以功能適當的方式操縱該介面,以提供控制命令及/或輸入給有關於
該GUI的應用。功能適當使用者介面的其他形式也可以被實施,例如,利用經由喇叭217的語音提示輸出以及經由麥克風280的使用者語音命令輸入的音訊介面。
圖2B為處理器205與“記憶體”234的詳細示意方塊圖。記憶體234代表所有記憶體模組(包含HDD 209及半導體記憶體206)的邏輯聚集,其可以為圖2A中之電腦模組201所存取者。
當電腦模組201被初始開機時,執行了開機自行測試(POST)程式250。POST程式250典型被儲存在圖2A之半導體記憶體206的ROM 249中。儲存軟體的例如ROM 249的硬體裝置有時也被稱為韌體。POST程式250檢測在電腦模組201內之硬體,以確保適當功能並典型地檢查處理器205,記憶體234(209、206)及基本輸入輸出系統軟體(BIOS)模組251(也典型被儲存在ROM 249中),以供校正操作。一旦POST程式250成功運行,則BIOS 251啟動圖2A之硬碟機210。硬碟機210的啟動造成內佇在硬碟機210中之啟動載入程式252經由處理器205執行。此將作業系統253載入RAM記憶體206,作業系統253於其上開始操作。作業系統253為系統階層應用程式,可以為處理器205所執行,以實現各種高階層功能,包含處理器管理、記憶體管理、裝置管理、儲存管理,軟體應用介面,及通用使用者介面。
作業系統253管理記憶體234(209、206),以確保每一程序或執行於電腦模組201上之應用具有足夠記
憶體以在其中執行,而不會與配置給另一程序的記憶體相碰撞。可為圖2A之電腦系統200所用之不同類型記憶體必須適當地使用,使得各個程序可以有效執行。因此,所聚集記憶體234並不想要顯示特定區段的記憶體如何分配(除非特別指出),而是提供可以為電腦系統200所存取的記憶體的一般觀點以及如何使用。
如於圖2B所示,處理器205包含若干功能模組,包含有控制單元239、算術邏輯單元(ALU)240、及本地或內部記憶體248,有時稱快取記憶體。快取記憶體248典型包含在暫存器部中之若干儲存暫存器244-246。一或更多內部匯流排241功能上互連這些功能模組。處理器205典型也具有一或更多介面242,使用連接218以透過系統匯流排204與外部裝置通訊。記憶體234使用連接219耦接至匯流排204。
應用程式233包含一順序指令231,其可以包含傳統分支與迴路指令。程式233也可以包含資料232,其在程式233的執行中被使用。指令231與資料232分別被儲存於記憶體位置228、229、230與235、236、237中。取決於指令231與記憶體位置228-230的相對尺寸,特定指令也可以儲存在單一記憶體位置中,如於記憶體位置230中所示之指令所示。或者,指令也可以被分割成若干部分,其各個部分被儲存在分開記憶體位置中,如同記憶體位置228與229所示之指令區段所示。
通常,處理器205被給定有一組指令,以被
執行於其中。處理器205等待後續輸入,處理器205對該輸入反應以執行另一組指令。各個輸入可以從若干源之一或多者提供,包含由一或更多輸入裝置202、203所產生的資料、透過網路220、202之一從外部源接收的資料、從儲存裝置206、209之一取出之資料或由被插入對應讀取器212的儲存媒體225取出的資料,所有這些係被描繪於圖2A中。一組指令的執行有時可以造成資料的輸出。執行也可以涉及儲存資料或變數於記憶體234中。
視訊編碼器114、視訊解碼器134與所述方法也可以使用輸入變數254,其係被儲存於記憶體234的對應位置255、256、257中。視訊編碼器114、視訊解碼器134及上述方法產生輸出變數261,其可以被儲存於記憶體234的對應記憶體位置262、263、264中。中間變數258可以儲存在記憶體位置259、260、266及267中。
參考圖2B的處理器205,暫存器244、245、246、算術邏輯單元(ALU)240、及控制單元239一起移動以執行順序的微運算,這些微運算係作成程式233的指令集中之每個指令執行“擷取、解碼及執行”週期所需。各個擷取、解碼及執行週期包含:(a)擷取運算,其自記憶體位置228、229、230擷取或讀取指令231;(b)解碼運算,其中控制單元239決定哪一指令已被擷取;及(c)執行運算,其中控制單元239及/或ALU 240執行該
指令。
隨後,可以執行下一指令的進一步擷取、解碼及執行週期。類似地,儲存週期也可以被執行,藉此該控制單元239將值儲存或寫入至記憶體位置232。
予以在圖12及13中的方法中描述的各個步驟或子程序係有關於程式233的一或更多區段並典型係為在處理器205中之暫存器部244、245、247、ALU 240及控制單元239所執行,一起移動以執行用於該程式233的所提區段的指令集中之每個指令的擷取、解碼、及執行週期。
圖3為示意方塊圖,顯示視訊編碼器114的功能模組。圖4為示意方塊圖,顯示視訊解碼器134的功能模組。通常,在視訊編碼器114與視訊解碼器134內的功能模組間傳送的資料為成群的取樣或係數,例如,將區塊細分成固定尺寸的子區塊,或陣列。視訊編碼器114與視訊解碼器134可以使用如圖2A及2B所示之通用電腦系統200加以實施,其中,各種功能模組可以以電腦系統200內的專用硬體、以在電腦系統200內可執行的軟體,如放在硬碟機205上之軟體應用程式233的一或更多軟體碼模組加以實施,並為處理器205所控制其執行。或者,視訊編碼器114及視訊解碼器134可以以可在電腦系統200內執行之專用硬體與軟體的組合加以實施。視訊編碼器114、視訊解碼器134與所述方法也可以實施於專用硬體中,例如,一或更多積體電路,執行所述方法的功能或子功能。此專用硬體可以包含圖形處理單元(GPU)、數位信號處理器(DSP)、特
殊應用標準產品(ASSP)、特殊應用積體電路(ASIC)、場可程式閘陣列(FPGA)或一或更多微處理器與相關記憶體。更明確地說,視訊編碼器114包含模組310-386及視訊解碼器134包含模組420-496,其可以各個被實施為軟體應用程式233的一或更多軟體碼模組。
雖然圖3的視訊編碼器114為多功能視訊編碼(VVC)視訊編碼管線的一例子,但其他視訊編解碼器也可以被使用以執行於此所述之處理階段。視訊編碼器114接收捕獲框資料113,例如,一連串的框,各個框包含一或更多色彩通道。區塊分割器310首先將框資料113細分成CTU,其通常為正方形並被組構使得特定尺寸係被使用於CTU。CTU的尺寸可以例如為64×64、128×128、或256×256亮度取樣。區塊分割器310更將各個CTU細分為一或更多CU,其中CU具有各種尺寸,其可以包含正方形與非正方長寬比。然而,在VVC標準中,CU、PU、及TU永遠具有側長度,其為2的乘冪。因此,表示為312的現行CU係由區塊分割器310輸出,依據CTU的一或更多區塊的疊代依據CTU的編碼樹進行。將CTU分割成CU的選項係如下參考圖5及6進一步描述。
由框資料113的第一細分所造成的CTU可以以光域掃描次序掃描並可以被群集成一或更多‘切片’。一切片可以為‘內(intra)’(或‘I’)切片。一內切片(I切片)表示在該切片中之各個CU為內預測。或者,切片可以為單或雙預測(分別‘P’或‘B’切片),表示在該切片中分別有額外
單或雙預測可用。因為框資料113典型包含多重色彩通道,所以CTU與CU係相關於來自所有色彩通道中與區塊分割器310的操作界定的區塊區域重疊的取樣。CU包含用於框資料113的各個色彩通道的編碼區塊(CB)。由於相較於亮度通道,色度通道的可能不同取樣率,所以,用於色度通道的CB尺度可能與用於亮度通道的CB尺度不同。當使用4:2:0色度格式時,CU的色度通道的CB具有用於該CU的亮度通道的CB一半寬與高度的尺度。
對於各個CTU,視訊編碼器114以兩階段操作。在第一階段(被稱為‘搜尋’階段),區塊分割器310測試編碼樹的各種可能組態。編碼樹的各個可能組態具有相關‘候選’CU。第一階段涉及測試各種候選CU,以選擇具有低失真的高壓縮效率的CU。測試通常涉及拉氏(Lagrangian)最佳化,藉以候選CU係根據碼率(編碼成本)與失真(相對於輸入框資料113的錯誤)的加權組合加以評估。‘最佳’候選CU(具有最低碼率/失真者)係被選擇用於後續編碼至位元流115中。包含於候選CU的評估中的是一選擇,以使用CU用於給定區域或者將該區域依據各種分割選擇加以分割,並且,將各個較小所得區域以其他CU編碼,或更進一步分割該區域。結果,CU與編碼樹本身係在搜尋階段被選擇。
視訊編碼器114產生預測單元(PU),對於例如CU 312的各個CU,係為箭頭320所示。PU 320係為相關CU 312的內容的預測。減法器模組322產生在PU 320與
CU312間之由324表示之差(或,‘殘餘’,在空域中稱為差)。差324為在PU 320與CU 312中之對應取樣間之區塊大小的差。差324被轉換、量化及表示為由箭頭336所指之轉換單元(TU)。PU 320與相關TU 336係典型被選擇為很多可能候選CU的‘最佳’的一個。
候選編碼單元(CU)為針對相關PU與所得殘餘,視訊編碼器114可用的預測模式之一造成的CU。各個候選CU造成一或更多對應TU,如以下所參考圖10-12所述者。TU 336係為差324的量化及轉換表示法。當組合上視訊編碼器114中之預測PU時,TU 336以在位元流中的額外發信為代價,降低了解碼CU與原始CU312間之差。
組合轉換單元(TU)的預測單元(PU)的各個候選編碼單元(CU)因此具有相關編碼成本(或碼率)及相關差(或‘失真’)。碼率典型以位元為單位加以量測。CU的失真典型被評估為在取樣值中的差,例如絕對差的總和(SAD)或平方差的總和(SSD)。來自各個候選PU的評估係被模式選擇器386使用差324加以決定,以決定內預測模式(以箭頭388表示)。有關於各個候選預測模式與對應殘餘編碼的編碼成本的評估可以以遠較殘餘的熵編碼為低的成本加以執行。因此,若干候選模式可以被評估以碼率失真看法,來決定最佳模式。
決定最佳模式係典型使用拉氏最佳化的變化例加以完成。內預測模式388的選擇典型涉及到決定應用特定內預測模式所造成的殘餘資料的編碼成本。編碼成本
可以使用‘絕對轉換差的總和’(SATD)加以近似,藉以例如哈達馬(Hadamard)轉換的相對簡單轉換係被用以取得評估轉換殘餘成本。在使用相對簡單轉換的一些實施法中,由簡化評估法所造成的成本被單調地相關至實際成本,實際成本也可以由完整評估的決定。在以單調相關評估成本進行的實施法中,簡化評估法可以被用以使得相同決定(即,內預測模式),以在視訊編碼器114中有複雜度上的降低。為了允許在評估成本與實際成本間的關係的可能非單調性,簡化評估法可以被使用以產生最佳候選者的名單。非單調性可能例如由殘餘資料的編碼可用的進一步模式決定所造成。最佳候選者的名單可以是任意數量。更完整搜尋可以使用最佳候選者加以執行,以建立用於編碼各個候選的殘餘資料的模式選擇,允許內預測模式與其他模式決定的最終選擇。
其他模式決定包含被稱為‘轉換跳過’的跳過順向轉換的能力。跳過該轉換係適用於欠缺適當共相關的殘餘資料,其係用以經由被表示為轉換為主功能的降低編碼成本。例如相對簡單電腦產生的圖形的某類型內容可能展現類似行為。對於‘跳過轉換’,殘餘係數即使轉換本身並未被執行,其仍被編碼。
拉氏或類似最佳化處理可以被利用以選擇將一CTU(為區塊分割器310所)分割成CU,以及,由多數可能法中選擇出最佳預測模式。透過應用在模式選擇器模組386中之候選模式的拉氏最佳化程序,具有最低成本量測
值的內預測模式被選擇作為最佳模式。最佳模式係為所選擇內預測模式388並且也為熵編碼器338所編碼於位元流115中。藉由模式選擇器模組386的操作所完成的內預測模式388的選擇延伸至區塊分割器310的操作。例如,內預測模式388的選擇的候選者可以包含可為給定區塊所用的模式及可應用至多數較小區塊的額外模式,這些較小區塊在一起與給定區塊並列。在包含可用於給定區塊與較小並列區塊的模式的情況中,候選者的選擇程序隱含上也是一種將CTU的最佳階層分解成CU的決定程序。
在視訊編碼器114的操作之第二階段(稱為‘編碼’階段)中,在選擇編碼樹上及各個選擇CU的疊代係被執行於視訊編碼器114中。在疊代中,這些CU被編碼入位元流115,如於此所進一步描述。
熵編碼器338支持語法元件的可變長度編碼與語法元件的算術編碼兩者。算術編碼係使用上下文適用二進制算術編碼程序來支援。算術編碼語法元件係由一或更多‘箱(bin)’的順序所構成。如同位元般,箱具有‘0’或‘1’的值。然而,箱並未在位元流115中被編碼為分立位元。箱具有相關預測試(或‘可能’或‘最可能’)值與相關或然率,被稱為‘上下文’。當予以編碼的實際箱匹配預測值時,‘最可能符號’(MPS)被編碼。編碼最可能符號以耗用位元看來係相對便宜。當予以被編碼的實際箱不匹配可能值時,‘最不可能符號’(LPS)被編碼。編碼最不可能符號以耗用位元看來係具有相對高成本。箱編碼技術完成了箱的
有效編碼,其中‘0’對‘1’的或然率被作成偏斜(skewed)。對於具有兩可能值的語法元件(即,‘旗標’),單一箱係適當的。對於具有很多可能值的語法元件,有需要一順序的箱。
在順序中較後箱的出現可以根據在該順序中的較先箱的值加以決定。另外,各個箱可以有關於一個以上的上下文。特定上下文的選擇可以取決於在語法元件中之較先箱、相鄰語法元件(即來自相鄰區塊的語法元件)的箱值等等。每當上下文編碼箱被編碼時,選擇用於該箱(如果有的話)的上下文係以反映新箱值的方式加以更新。因此,二進制算術編碼方案被認定為適應性。
同時為視訊編碼器114所支援的是欠缺上下文的箱(‘旁路箱’)。旁路箱係假設在‘0’與‘1’間之等機率分佈而被編碼。因此,各個箱佔用在位元流115中之一位元。沒有上下文節省記憶體並降低複雜度,因此,當對於特定箱的值分佈未偏斜時,旁路箱被使用。利用上下文與適應性的熵編碼器的例子在此技藝中被稱為CABAC(上下文適應二進制算術編碼器)並且此編碼器的很多變化例已經被使用於視訊編碼。
熵編碼器338使用上下文編碼與旁路編碼箱的組合來編碼內預測模式388。典型地,‘最可能模式’的名單係被產生於視訊編碼器114中。最可能模式的名單典型為固定長度,例如三或六個模式,並且可能包含在早先區塊中所遇到的模式。上下文編碼箱編碼一旗標,其指示
是否內預測模式為最可能模式之一。如果內預測模式388為最可能模式之一,則使用旁路編碼箱的其他發信被編碼。所編碼的其他發信係例如,使用截斷的一元箱串,來表示哪一最可能模式對應於內預測模式388。否則,內預測模式388被編碼為‘剩餘模式’。成為剩餘模式的編碼使用例如固定長度碼的替代語法,其也使用旁路編碼箱來編碼,以表示在最可能模式名單以外出現的內預測模式。
多工器模組384藉由從各個候選CU的測試預測模式依據所決定最佳內預測模式388,選擇輸出PU 320。候選預測模式並不需要包含為視訊編碼器114所支援的每個可想到預測模式。
預測模式大致分為兩類型。第一類型為‘框內預測’(也稱為‘內預測’)。在框內預測中,對於一區塊的預測被產生,及該產生方法可以使用由現行框取得的其他取樣。對於內預測PU,也可能對於亮度與色度使用不同內預測模式,因此,內預測主要以對PB而不是PU為單位來描述。
預測模式的第二類型為‘框間預測’(也稱為‘間(inter)預測’)。在框間預測中,對於一區塊的預測係使用來自在位元流中之編碼框次序中的現行框前的一或兩個框的取樣加以產生。
在位元流中之編碼框的次序可以與當框被捕獲或顯示時的次序不同。當一框被使用於預測時,該區塊被認為是‘單向預測’並具有一相關移動向量。當兩框被使
用於預測時,該區塊被認為是‘雙向預測’並具有兩相關移動向量。對於P切片,各個CU可以被內預測或單向預測。對於B切片,各個CU可以被內預測、單向預測或雙向預測。框典型使用‘圖片群’結構加以編碼,完成框的時間階層。框的時間階層允許一框於顯示該等框的次序時,參考前一及後一圖片。這些影像被以確保解碼各個框的相依性相符所需的次序加以編碼。
間預測的子類型被稱為‘跳過模式’。間預測與跳過模式係被描述為兩個不同模式。然而,間預測模式與跳過模式兩者涉及參考來自先前框的取樣的區塊的移動向量。間預測涉及編碼移動向量差量(delta),其指明相對於移動向量預測器的移動向量。移動向量預測器由一或更多候選移動向量之名單中取得,並被以‘合併指數’選擇。編碼移動向量差量對所選擇移動向量預測提供空間補償。間預測也使用在位元流133中之編碼殘餘。跳過模式只使用一指數(也稱為‘合併指數’),以從幾個移動向量候選者中選擇一個。所選擇候選者被使用,而沒有進一步發信。同時,跳過模式並不支援任何殘餘係數的編碼。當跳過模式被使用時,沒有了編碼殘餘係數表示沒有需要執行用於跳過模式的轉換。因此,跳過模式典型並不會造成管線處理問題。管線處理問題對於內預測CU與間預測CU可能造成問題。由於跳過模式的限定發信,所以,當相當高品質參考框可用時,跳過模式係有用於達成很高壓縮效能。在隨機存取圖片群結構的較高時間層中之雙向預測CU典型
具有高品質參考圖片及移動向量候選者,其準確地反映內在移動。因此,跳過模式係有用於在隨機存取圖片群結構中之較高時間層的框中的雙向預測區塊,其將參考圖8B加以描述。
取樣係依據移動向量與參考圖片指數加以選擇。移動向量與參考圖片指數被應用至所有色彩通道,並且,因此,間預測係主要地以PU而不是PB上的運算方式加以描述。在各個類型中(即,框內與框間預測),不同技術可以被應用以產生PU。例如,內預測可以使用來自先前重建取樣的相鄰列與行之值,組合一方向,以依據規定濾波與產生程序產生PU。或者,PU也可以使用少量參數加以描述。間預測法可以在移動參數數量與其準確度上改變。移動參數典型包含參考框指數,其指示來自參考框名單之哪(些)參考框將被使用加上用於各個參考框的空間轉換,但可以包含更多框、特殊框或例如縮放與旋轉的複雜仿射參數。另外,預定移動侷限程序可以應用以根據參考取樣區塊產生密集移動估計。
一旦決定與選擇最佳PU 320,並在減法器322處將原始取樣區塊減去PU 320,則將取得以324表示之具有最低編碼成本的殘餘值並受到有損壓縮。有損壓縮程序包含轉換、量化及熵編碼的步驟。轉換模組326對差324應用順向轉換,將差324轉換為頻域,及產生由箭頭332所代表的轉換係數。順向轉換係典型可分開的,轉換每一區塊的一組列,然後一組行。每一組的列與行的轉換係藉由
首先對一區塊的每一列施加一維轉換,以產生部分結果,然後,對該部分結果的每一行施加一維轉換,以產生最終結果加以執行。
轉換係數332被傳送至量化器模組334。在模組334,依據‘量化參數’的量化係被執行,以產生由箭頭336所表示之殘餘係數。對於給定TB,量化參數為常數,因此,造成用於生產TB的殘餘係數的均勻縮放。藉由施加‘量化矩陣’,也有可能作非均勻縮放,藉以應用於各個殘餘係數的縮放因數係由量化參數與在縮放矩陣中之典型具有尺寸等於TB者的對應輸入項的組合所推導出。殘餘係數336被供應給熵編碼器338,用以編碼於位元流115中。典型地,各個TB的殘餘係數與TU的至少一主要殘餘係數係依據掃描圖樣加以掃描,以產生值的排序名單。掃描圖樣通常將TB掃描成為一順序的4×4‘子區塊’,以4×4組的殘餘係數的粒度,提供具有相依於TB的尺寸的子區塊的配置的規則掃描操作。另外,預測模式388與對應區塊分割也被編碼於位元流115中。
如上所述,視訊編碼器114需要存取對應於在視訊解碼器134中所見之框表示法的框表示法。因此,殘餘係數336也被去量化器模組340逆量化,以產生以箭頭342表示之逆轉換係數。逆轉換係數342被傳送至逆轉換模組348,以產生由箭頭350所表示之TU的殘餘取樣。總和模組352將殘餘取樣350與PU 320相加,以產生CU的重建取樣(由箭頭354所表示)。
重建取樣354被傳送給參考取樣快取356及環內濾波器模組368。典型使用靜態RAM實施於ASIC(因此,避免費用大的晶片外記憶體存取)的參考取樣快取356提供滿足用以在框中的後續CU產生框內PB的依附性所需的最小取樣儲存。最小依附性典型包含沿著一列CTU的底,以供下一列的CTU所使用的一‘線緩衝器’取樣以及其範圍由CTU的高度所設定的行緩衝。參考取樣快取356供給(以箭頭358表示)的參考取樣給參考取樣濾波器360。取樣濾波器360應用平滑運算,以產生(以箭頭362表示的)濾波參考取樣。濾波參考取樣362係為框內預測模組364所使用,以產生以箭頭366表示之取樣的內預測區塊。對於各個候選內預測模式,框內預測模組364產生一區塊的取樣366。
環內濾波器模組368對重建取樣354施加幾個濾波階段。濾波階段包含‘去區塊濾波器’(DBF),其施加對準CU邊界的平滑,以降低由不連續造成的假像。出現在環內濾波器模組368中之另一濾波級為‘適應環濾波器’(ALF),其應用溫氏為主適應濾波器,以進一步降低失真。在環內濾波器368中另一可用濾波級為‘取樣適應補償’(SAO)濾波器。該SAO濾波器首先藉由將重建取樣分類為一或更多類型,然後,依據所配置類型,於取樣層施加補償。
由箭頭370所表示之濾波取樣係為來自環內濾波器模組368的輸出。濾波取樣370被儲存於框緩衝器372中。框緩衝器372典型具有容量,以儲存幾個(例如多
達16個)圖片並因此被儲存在記憶體206中。由於需要大記憶體消耗,所以框緩衝器372典型並未使用晶片上記憶體儲存。因此,以記憶體頻寬看來,對框緩衝器372的存取成本高。框緩衝器372提供(以箭頭374表示之)參考框給移動評估模組376與移動補償模組380。
移動評估模組376評估(以378表示之)若干‘移動向量’,各個移動向量係為參考框緩衝器372中之參考框之一中的區塊,離開現行CU的位置的笛卡兒空間偏移。(表示為382之)過濾區塊的參考取樣係被產生用於各個移動向量。過濾參考取樣382形成可為模式選擇器386取用作可能選擇的其他候選模式。再者,對於給定CU,PU 320可以使用一參考區塊(‘單向預測’)形成,或者可以使用兩參考區塊(‘雙向預測’)形成。對於選擇移動向量,移動補償模組380依據支援在移動向量中之次像素準確度的濾波程序產生PU 320。因此,移動評估模組376(其操作很多候選移動向量)可以相較於移動補償模組380(其只操作所選擇候選移動向量)者執行一簡化濾波程序,以完成精簡的計算複雜度。
雖然在圖3之視訊編碼器114係參考多功能視訊編碼(VVC)加以描述,但其他視訊編碼標準或實施法也可以應用於模組310至386的處理階段中。框資料113(與位元流115)也可以被由記憶體206、硬碟機210、CD-ROM、藍光碟TM或其他電腦可讀取儲存媒體中讀取(或被寫入其中)。另外,框資料113(與位元流115)可以由外部源接收
(或傳送至其中),外部源係例如連接至通訊網路220或射頻接收器的伺服器。
視訊解碼器134係如圖4所示。雖然圖4之視訊解碼器134係為多功能視訊編碼(VVC)視訊解碼管線的一例子,但其他視訊編解碼器也可以使用以執行於此所述之處理階段。如於圖4所示,位元流133係被輸入至視訊解碼器134。位元流133可以由記憶體206、硬碟機210、CD-ROM、藍光碟TM或其他非暫態電腦可讀取儲存媒體中讀出。或者,位元流133也可以從外部源接收,例如連接至通訊網路220或射頻接收器的伺服器。位元流133包含代表予以解碼的捕獲框資料的編碼語法元件。
位元流133被輸入至熵解碼器模組420。熵解碼器模組420由位元流133抽取語法元件並將語法元件的值傳送至視訊解碼器134中之其他模組。熵解碼器模組420施加CABAC演算法,以解碼來自位元流133的語法元件。所解碼語法元件被用以重建在視訊解碼器134中之參數。參數包含(以箭頭424表示之)殘餘係數及模式選擇資訊,例如內預測模式參數(以箭頭458表示)。模式選擇資訊也包含例如移動向量的資訊,並且,各個CTU被分割成一或更多CU。參數係被用於產生PU,典型組合上來自先前解碼CU的取樣資料。
殘餘係數424被輸入至去量化器模組428。去量化器模組428執行殘餘係數424的逆量化(或‘縮放’),以依據量化參數建立以箭頭440所表示之重建的轉換係數。
一旦非均勻逆量化矩陣的使用被表示在位元流133中,視訊解碼器134由位元流133讀取量化矩陣作為一順序的縮放因數並且將該等縮放因數排列成矩陣。逆縮放使用量化矩陣配合上量化參數,以建立重建中間轉換係數。
重建轉換係數440被傳送至逆轉換模組444。模組444將來自頻域的係數轉換回到空間域。TB係根據主要殘餘係數與非主要殘餘值加以作用。模組444的操作結果為箭頭448所表示之一區塊的殘餘取樣。殘餘取樣448在尺寸上等於對應CU。殘餘取樣448被供給至總和模組450。在總和模組450,殘餘取樣448被加至(以452表示之)解碼PU,以產生由箭頭456表示之一區塊的重建取樣。重建取樣456係被供給至重建取樣快取460及環內濾波模組488。環內濾波模組488產生以492表示之多數重建區塊的框取樣。框取樣492係被寫入至框緩衝器496。
重建取樣快取460類似於視訊編碼器114之重建取樣快取356般地操作。重建取樣快取460提供重建取樣所需以內預測後續CU的儲存器,而不必記憶體206(例如,藉由使用資料232,其典型為晶片上記憶體)。以箭頭464表示之參考取樣係由重建取樣快取460所取得並供給至參考取樣濾波器468,以產生箭頭472表示之濾波參考取樣。濾波參考取樣472被供給至框內預測模組476。模組476依據發信於位元流133中並為熵解碼器420所解碼之內預測模式參數458,產生以箭頭480所代表之一區塊的內預測取樣。
當內預測在位元流133中被表示用於現行CU時,內預測取樣480經由多工器模組484形成解碼PU 452。
當間預測在位元流133中被表示用於現行CU時,移動補償模組434產生被表示為438的一區塊之間預測取樣,使用移動向量與參考框指數,以由框緩衝器496選擇與濾波一區塊的取樣。該取樣區塊498係由儲存於框緩衝器496中之先前解碼框所取得。對於雙向預測,兩區塊的取樣被產生並混合在一起,以產生用於解碼PU 452的取樣。框緩衝器496係被散佈以來自環內濾波模組488的濾波區塊資料492。如同視訊編碼器114的環內濾波模組368,環內濾波模組488應用任一、至少或所有的DBF、ALF及SAO濾波操作。環內濾波模組368由重建取樣456產生濾波區塊資料492。
圖5為示意方塊圖,顯示在多功能視訊編碼的樹狀結構中,一域的可用分割或細分成一或更多子區的集合500。示於集合500中之分割係可為編碼器114的區塊分割器310所用,如參考圖3所述之以拉氏最佳化所決定地,依據一編碼樹將各個CTU細分為一或更多CU。
雖然集合500顯示被細分為其他可能非正方子區的只有正方區,但應了解的是,圖500只顯示可能細分,但並不需要包含區為正方。如果包含區為非正方,則由該細分所造成的區塊的尺度係依據包含區塊的長寬比加以縮放。一旦一區不再進一步分割,即在編碼樹的葉節點,則CU佔用該區。以區塊分割器310進行的CTU的特別
細分成一或更多CU被稱為CTU的‘編碼樹’。當所得子區到達最小CU尺寸時,將區細分為子區的程序必須終止。除了侷限CU禁止尺寸小於例如4×4之外,CU被侷限以具有4的最小寬度或高度。其他最小值,以寬度與高度或以寬或高度看來也是有可能的。細分的程序可以在最深層分解,即造成大於最小CU尺寸的CU前被終止。有可能不發生分割,造成單一CU佔用整個CTU。佔用整個CTU的單一CU為最大可用編碼單元尺寸。再者,沒有分割發生的CU係大於處理區尺寸。由於在編碼樹的最高層的二元或三元分割的結果,例如64×128、128×64、32×128、及128×32的CU尺寸也有可能,其各個也大於處理區尺寸。大於上述處理區尺寸的CUS例子係進一步參考圖10A-10F加以描述。
在編碼樹的葉節點存在CU時,則沒有進一步細分。例如,葉節點510包含一CU。在編碼樹的非葉節點存在一分割成兩或更多其他節點,其中之各個可以包含一個CU的葉節點或者包含更進一步細分成更小區。
四元樹分割512將包含區細分為如圖5所示之四個相等尺寸區。相較於HEVC,多功能視訊編碼(VVC)完成額外彈性,加上了水平二元分割514及垂直二元分割516。各個分割514及516將包含區細分成兩相等尺寸區。該細分係沿著在包含區塊內的水平邊界(514)或垂直邊界(516)。
在多功能視訊編碼中完成了其他彈性,加上
了三元水平分割518與三元垂直分割520。三元分割518及520將區塊細分成三區,以水平(518)或垂直(520)沿著包含區寬度或高度的¼與¾劃界線。四元樹、二元樹與三元樹的組合被稱為‘QTBTTT’或者多元樹(MT)。
相較於只支援四元樹並因此只支援正方區塊的HEVC,QTBTTT造成很多更可能CU尺寸,特別是考量可能遞迴應用二元樹及/或三元樹分割。不尋常(例如,非正方)區塊尺寸的可能性可以藉由侷限分割選項來降低,以免除會造成區塊寬度或高度小於四取樣或不是四取樣的倍數的分割。通常,該侷限將應用以考量亮度取樣。然而,該侷限也可以分開應用至用於色度通道的區塊,可能造成於亮度對色度的不同最小區塊尺寸,例如,當框資料為4:2:0色度格式時。每次分割產生子區,其具有相較於該包含區為未改變、一半或四分之一的側尺度。然後,因為CTU尺寸為2的乘冪,所以所有CU的側尺度也是2的乘冪。
圖6為示意流程圖,例示用於多功能視訊編碼中之QTBTTT(或‘編碼樹’)結構之資料流程600。QTBTTT結構被用於各個CTU,以界定CTU的細分成一或更多CU。各個CTU的QTBTTT結構係為在視訊編碼器114中之區塊分割器310所決定並被編碼入位元流115中,或者,為在視訊解碼器134中之熵解碼器420所由位元流133解碼。資料流程600更特徵在於依據圖5所示之細分可為區塊分割器310所用的允許組合,用以將CTU細分成一或更
多CU。
由階層結構的頂層,即CTU開始,首先執行零或更多四元樹細分。明確地說,四元樹(QT)分割決定610係為區塊分割器310所作成。在610返回‘1’符號的決定表示將現行節點依據四元樹分割512分割成四個子節點的決定。結果產生四個新的節點,例如,在620,及對於各個新節點,遞迴到QT分割決定610。每個新節點被以光域掃描(或Z掃描)次序加以考量。或者,如果QT分割決定610表示沒有其他分割要被執行(返回‘0’符號),則四元樹分割停止,並且,隨後考量多元樹(MT)分割。
首先,MT分割決定612係為區塊分割器310所作出。在612,表示執行MT分割的決定。在決定612返回‘0’符號表示將不會執行將節點進一步細分成子節點。如果不會執行節點的進一步分割,則節點為編碼樹的葉節點並對應至一CU。葉節點在622被輸出。或者,如果MT分割612表示決定執行MT分割(返回‘1’符號),則區塊分割器310進行至方向決定614。
方向決定614將MT分割的方向表示為水平(‘H’或‘0’)或垂直(‘V’或‘1’)。如果決定614返回‘0’表示水平方向,則區塊分割器310進行至決定616。如果決定614返回‘1’表示垂直方向,則區塊分割器310進行至決定618。
在各個決定616與618,用於MT分割的分區數目係在BT/TT分割處被表示為二(二元分割或‘BT’節點)
或三(三元分割或‘TT’)。即,當由614所表示之方向為水平時,BT/TT分割決定616係為區塊分割器310所完成,以及,當由614所表示之方向為垂直時,BT/TT分割決定618係為區塊分割器310所完成。
BT/TT分割決定616藉由返回‘0’來表示水平分割為二元分割514,或者,藉由返回‘1’,表示水平分割為三元分割518。當BT/TT分割決定616表示二元分割時,在步驟625,產生HBT CTU節點,依據二元水平分割514,兩節點係為區塊分割器310所產生。當BT/TT分割決定616表示三元分割時,在步驟626產生HTT CTU節點,三個節點係依據三元水平分割518為區塊分割器310所產生。
BT/TT分割決定618藉由返回‘0’表示垂直分割是二元分割516,或者,返回‘1’表示三元分割520。當BT/TT分割決定618表示二元分割時,在步驟627產生VBT CTU,依據垂直二元分割516,區塊分割器310產生兩節點。當BT/TT分割決定618表示三元分割,則在步驟628產生VTT CTU,依據垂直三元分割520,區塊分割器310產生三個節點。對於由步驟625至628造成的各個節點,施加取決方向614的以由左到右或由上至下的次序的資料流程600的遞迴到MT分割決定612。結果,二元樹與三元樹分割可以應用以產生具有各種尺寸的CU。
圖7A及7B提供CTU 710的例示分割700成若干CU。例示CU 712係被顯示於圖7A。圖7A顯示在CTU 710中之CU的空間配置。例示分割700也被顯示為在圖7B
中之編碼樹720。
在圖7A的CTU 710中的各個非葉節點,例如,節點714、716及718,所包含節點(可以進一步被細分或可以是CU)係以‘Z次序’的方式加以掃描或遍歷,以建立被表示為在編碼樹720中之行的節點名單。對於四元樹分割,Z次序掃描造成在上方由左至右,隨後,在下方由左至右的次序。對於水平及垂直分割,Z次序掃描(遍歷)分別簡化為由上到下掃描及由左至右掃描。圖7B的編碼樹720依據所應用掃描次序列出所有節點及CU。各個分割在該樹的下一層產生一列的二、三或四新的節點,直到到達葉節點(CU)為止。
一旦分解該影像成為CTU並進一步為區塊分割器310所分解成CU時,並如參考圖3所述使用CU以產生各個殘餘區塊(324)時,殘餘區塊受到由視訊編碼器114所進行的順向轉換與量化。所得TB 336隨後被掃描以形成一順序的殘餘係數名單,作為熵編碼模組338的操作的一部分。在視訊解碼器134內執行等效程序,以由位元流133取得TB。
圖8A顯示包含一順序的CTU,例如,CTU812,其後跟隨有後續CTU的例示框800。各個CTU具128×128亮度取樣的尺寸。如果框800使用處理器205的本地記憶體或積體電路以逐CTU的方式加以處理,則由於CTU尺寸為128×128亮度取樣,則所得本地記憶體需求將被禁止。於此所述之視訊編碼器114與視訊解碼器134的實
施法可以藉由將影像資料或位元流以比CTU為小的區域處理,而降低晶片上記憶體耗用。因為晶片上記憶體消耗晶粒上的大面積,所以,晶片上記憶體成本特別大。軟體實施法也可以藉由侷限更多記憶體存取低層快取(例如,L1及L2快取)而獲利,降低了需要存取外部記憶體的情形。因此,為了降低記憶體耗用,視訊編碼器114及視訊解碼器134的實施法可以一次處理比一個CTU還小的粒度的資料。
該較小粒度可以為64×64亮度取樣的區(或‘管線處理區’)尺寸,類似於CTU的一個四元樹分割。再者,較小粒度界定被視為以不可分割區處理的區域。不可分割區被傳送經由管線架構的各個處理階段。就意義上來說,當該區域界定對應於該框(例如框800)上的一特定區域並被傳送通過該管線的一個聚集或組的資料(例如,取樣、區塊與係數的集合、位元流的一部分)時,該管線處理區被認定為不可分割的。在該區內,有可能有CU的各種配置,並且,CU可以跨過多數較小粒度區。這些區允許各個管線處理階段本地儲存與該等較小區相關的資料,例如,64×64亮度取樣或更小者,與128×128的全CTU尺寸相關的資料相對。
用於色度資料的對應本地記憶體縮減也使用所述管線處理區加以實現。在各個CTU內,區係以Z次序加以處理。處理以光域掃描方式由CTU進行至CTU,如同於區掃描810所示。由視訊解碼器134的觀點看來,第一管
線階段為熵解碼器420。雖然位元流133係被順序解析,但所解析語法元件可以依據區加以群集。例如,圖8A之區814首先為熵解碼器420所處理。一旦一個區被熵解碼器420所處理,則相關語法元件被傳送至第二管線階段。第二管線階段可以為逆量化器428及逆轉換444。模組428與444對該區中之所有CU執行,以產生用於該區的殘餘取樣448。一旦第二階段完成,則用於該區的殘餘取樣448被傳送至第三階段。第三階段可以包含總和450(內重建)、重建取樣快取460、參考取樣濾波器468、及框內預測模組476。第三階段模組形成如在圖4所述並參考說明的回授環。回授環存在於相鄰CU間因此存在於一區內並由一區到下一區。回授環使得第三階段模組被執行於一個管線階段內為必須。環內濾波488係典型被執行於一或更多後續管線階段中。
涉及框緩衝器496與移動補償模組434的用於間預測的分開回授環也可以實施。然而,用於間預測的回授環係由現行框至先前框,因此,並不會影響管線在CTU層級的操作。圖8A的例如816的區被顯示有淺陰影,並且未被處理。
依據各個CTU的編碼樹,一區可以包含各種尺寸的各個CU,例如參考圖7A與7B所述者。圖7A及7B之例子包含四元樹分割在編碼樹的頂層上,並在圖7B中被表示為726。分割成四個64×64區的四元樹係對齊64×64的管線編碼區尺寸,各個64×64區再進一步被分別成各個尺寸
的CU。當包含較高詳細組織與沒有可用參考圖片的編碼樹影像框如同用於‘內’框的情況中,發生至少一個四元樹分割的機率是高的。因此,相較於128×128的間預測框所用的CTU尺寸,對於框內編碼,例如64×64的較小CTU尺寸可以被使用,而不會對使用者造成不可接受的程度的壓縮效能損失。
較小CTU尺寸的使用,特別是不超出管線處理的區尺寸的尺寸確保了沒有CU或沒有TU跨過多個區的情況。轉換為需要在一管線階段內執行之操作,因為在轉換內的資料依附性跨過該TB,使得各個殘餘係數影響來自TB的每個輸出取樣。結果,轉換代表一最小程度,其中管線操作必須為‘原子’(不再進一步細分),使得用於給定轉換之資料必須完全地包含於一個管線處理區或管線內的資料組中。
然而,在管線處理區內有可能有多數CU與因此多數轉換,因為各個轉換係被完全包含在處理區內。對於轉換尺寸組的限制被設定為在處理區內的若干轉換可能遭遇到的最差情況。例如,以64×64處理區並考量亮度通道,在處理區內可能遭遇的最大數目的4×4轉換為16×16=256。在處理區內所能遭遇的8×8的最大數目為8×8=64,並以此類推,直到64×64轉換為止,其中在一個管線處理區中,只可以執行一個。類似計算也適用於色度通道。
對於間預測CU,相對較大CU變成可能。因
為一或更多參考框可能包含高度匹配參考區塊的可行性,所以發生較大CU的可能性。視訊編碼器114可以選擇大CU,並如此作,以將來自參考框的大區塊的取樣拷貝至現行框。
一種編碼間預測CU的方式為經由‘跳過模式’。以跳過模式編碼之CU係用以表示沒有主要殘餘係數並且包含來自使用‘合併指數’加以選擇的空間或時間相鄰框的對應移動向量。沒有任何主要殘餘係數暗示不必要執行任何逆量化或逆轉換步驟。因而,在CTU內放置跳過模式CU並不會被侷限為管線的結果並且沒必要決定TU尺寸用於跳過模式CU。在相關於管線處理區的特定CU對準,跳過模式CU並不會在處理中造成困難。跳過模式CU典型被使用於高品質參考框可以以容易模型化移動參數加以取用的情況下。因此,跳過模式CU係被選擇用於區塊,其中解碼器可以準確預測移動向量者。移動向量選擇在該CU高度匹配想要輸出的參考區塊。
跳過模式的使用並不限定於包含相對低細節的影像的部份。包含高度細節組織的影像部份可以以低成本拷貝,因為編碼樹在大CU尺寸處終止,以及,指明空間位移的移動向量的編碼係高效的,特別是經由合併指數編碼。在隨機存取圖片群結構的高時間層中的框為一個例子,其中跳過模式提供高程度的壓縮效能。組合例如128×128的相對大尺寸CTU的使用圖6所述之彈性區塊結構使得大CU被相對均勻彈性地放置於各個CTU內。因此,解碼器
或編碼器可以適應於移動場作改變,例如,典型地發生在前景與背景物間之邊界處者。大CU典型變成以低位元率流行。再者,這些大CU可以跨過多數管線處理區並且不需要侷限以避免跨過管線處理區。施加一侷限以避免跨過管線處理區將會等效於CTU尺寸之縮減。限縮CTU尺寸將限制在CU尺寸的彈性以及在各個CTU內的置放,不想要地降低壓縮效率。
圖8B為在視訊中之框的例示‘隨機存取’圖片群(GOP)結構850。一順序十七個框被顯示。對各個框,顯示次序851、編碼次序852、及時間層ID 853被顯示在結構850中。視訊以內框860開始。由於參考圖片緩衝器為空白的,所以,內框860可以只包含內預測CU。予以編碼的第二框為單向預測框(P切片)870(由於編碼次序852的第二值為‘16’)。單向預測框870係在內框860後被編碼,並如箭頭872所示,只能參考框860。然而,框870的顯示次序為16,所以,在框860與870間之內容的相對大改變是可能的。因此,框870的編碼成本相對高。然而,框870的編碼成本係低於內框860的編碼成本,其中沒有參考框可用。
如同具有兩箭頭指向可用參考框的各個框所示,中間框能使用雙向預測,例如圖8B中之箭頭891及892。在較高時間層,框到對應參考框的距離(顯示次序中之差量)係小。通常,當框到對應參考框的距離小時,因為框間的內在的影像資料較不會改變,所以,壓縮效率較高。在較高時間層的框通常也能使用兩較大CU並更頻繁
利用跳過模式。一例外為堵塞物變成可見。當堵塞物變成可見時,典型在圖片群(GOP)結構的侷限內沒有可用參考區塊並且更可能使用具有內預測的較小CU。
圖9顯示亮度通道的VVC標準的支援轉換尺寸的集合900。亮度通道的支援轉換尺寸為如下:4×4、4×8、4×16、4×32、8×4、8×8、8×16、8×32、16×4、16×8、16×16、16×32、32×4、32×8、32×16、32×32及64×64。對於使用4:2:0色度格式之色度通道,每一亮度轉換尺寸可用對應色度轉換尺寸。色度轉換尺寸具有亮度轉換尺寸的一半寬度與高度。二維(2D)轉換可以分開的,以一維(1D)DCT-2轉換被水平與垂直地執行。或者,在1D DCT-7轉換與1D DST-7轉換間選擇也可以執行對轉換的水平與垂直階段的獨自可控制。
通常,一個TU係相關於CU。對於各個色彩通道,一個TB係相關於TU。然而,當對於一特定色彩通道的轉換沒有主要係數時,用於色彩通道的TB可以被認定為沒有。因為沒有必要對殘餘係數的全零陣列執行轉換,所以色彩通道被認定為沒有。雖然一維(1D)轉換典型以矩陣乘法運算方式加以界定,但使用蝴蝶步驟與抬舉步驟的實施法典型地也可以用以降低複雜度。由於水平與垂直階段的應用,在各個1D轉換內與跨過2D區塊有依附性。因此,每個殘餘取樣係為各個殘餘係數(由逆轉換的觀點看來)所影響及對應關係存在於順向轉換中。執行順向或逆轉換的工作不能被細分為部分,例如,轉換TB的
一半及隨後轉換另一半。決定一半的TB的計算成本幾乎與決定整個TB的成本相同。因此,相較於決定一轉換(由處理管線的觀點)成為‘原子’(不可分割)操作的架構,決定在部分轉換的架構具有遠遠較高的複雜度。相反地,當以部分為單位處理時,如下所述,PU具有每一部分的成本大約成比例於該部分尺寸對上整個PU尺寸。
為了支援跨過多數管線處理區的大CU,考量了用於內預測與間預測情況的資料依附性。對於內預測情況,使用空間上相鄰的參考取樣與內預測模式,來產生預測區塊。當CU大於管線處理區尺寸時,PU可以在多重部件中決定,使得操作於管線處理區的預測管線階段計算部分PB(用於一區)並決定額外部分PB(用於下一區),這些部分PB一起形成整個PB。
對於預測區塊,決定部分PB需要用用於該PB的參考取樣。這些參考取樣並不需要鄰近該部分PB。例如,128×64 PB被細分並處理成為兩個64×64部分PB。所得第二(最右)64×64部分PB使用對應於原始(全)128×64 PB的參考取樣而不是參考取樣,這將使用的是出現在第二64×64部分預測區塊位置的64×64預測區塊。因此,操作於小於CTU尺寸的粒度的管線處理架構係能以大於管線處理區的PB上執行內預測,而有緩衝用於部分PB的額外參考取樣的額外成本。額外緩衝參考取樣為依據CTU寬度作成大小的列與行取樣,而不需額外的框寬線緩衝器。
對於間預測區塊,將PU細分成多數部分PU
係相對地簡單,因為所使用的共同資訊包含移動向量與參考框指數。因此,PU可以跨過多數管線處理區並被處理成多數部分PU,各個部分PU被包含在分開管線處理區內。即使幾個PU正跨過多數管線處理區,用以跨過多數管線處理區的相關移動向量的儲存成本也是低的。使用大PU用於間預測對於低位元率應用,特別是在當例如‘隨機存取’的圖片群(GOP)結構被使用時的較高層處時係高度有利的。在此圖片群結構特別是在低移動區時,可以使用相對大PU。使用大PU來將整個圖片的相對大部分以在位元流中出現的最小語法編碼。
圖10A顯示CTU 1000的CU與TU,在編碼樹的頂層有垂直三元分割,沒有進一步分割。分割該編碼樹造成三個CU 1020、1022及1024,尺寸分別為32×128、64×128及32×128。CU 1020、1022及1024位在CTU內,分別於偏移(0,0),(32,0)及(96,0)處。對於各個CU,存在有相同尺寸的對應PU,及在CTU1000內,對應PU跨過多數管線處理區。一或更多TU也相關於各個CU。當CU尺寸等於轉換尺寸之一者時,一個TU係相關於該CU並具有等於對應尺寸轉換的尺寸。
圖10B顯示具有相關於圖10A的編碼樹的CU的TU的另一配置的CTU 1040。當CU尺寸大於轉換尺寸的任一者時,多數TU被以‘拼貼(tiled)’方式排列,以佔滿整個CU。在給定寬度與高度侷限下,拼貼使用了‘配合’CU的最大可用轉換。例如,如於圖10B所示,32×128 CU
1042與32×128 CU 1046以拼貼方式使用四個32×32 TU。64×128 CU 1044以拼貼方式使用兩個64×64TU,因為64×64為CU 1044所可用的最大轉換尺寸。如上所述,分割CTU 1040並不會對內預測或間預測操作造成有關效能上的問題。然而,相關TU的處置需要配合該管線處理區尺寸。
如參考圖9所述,可用轉換尺寸被限定至一特定組尺寸。從管線處理架構觀點看來,用於編碼或解碼的每個TB的處理為不可分割的操作。由於需要在CTU內配合CU的各個置放及需要對於一管線階段內的整個區執行的各個轉換,所以,兩方式係被描述如下。
在第一方式中,管線處理區並不是一直為固定尺寸(例如,64×64)。相反地,管線處理區的尺寸係適應至各個CTU的編碼樹。因此,第一方式可以被稱為‘彈性管線處理區’。用語‘彈性管線處理區’係被用以區別與該區的固定尺寸情況者,因此,管線處理區的固定網格被出現在影像框中,如同本案之其他部分所討論者。尤其,使用彈性管線處理區,CTU 1040可以如下處理:
區0:32×64(CU1042的上半部包含兩個32×32 TU)。
區1:64×64(CU1044的上半部包含一個64×64 TU)。
區2:32×64(CU1046的上半部包含兩個32×32 TU)。
區3:32×64(CU 1042的下半部包含兩個32×32 TU)。
區4:64×64(CU 1044的下半部包含一個64×64 TU)。
區5:32×64(CU 1046的下半部包含兩個32×32 TU)。
因此,在CTU 1040中之CU的配置造成尺寸
為32×64與64×64的六個彈性管線處理區。這對於該數量的彈性管線處理區為最差情況。
當TU並未跨過彈性管線處理區邊界(例如,如同於圖7A之例子中之四元樹分割),彈性管線處理區的數量為四及各個具有尺寸為64×64亮度取樣。雖然彈性管線處理區方式並未以管線實施法使TU彈性置放於CTU中,但對於此例子,相較於在各個CTU及因此在整個影像框上的具有固定置放的管線處理區的架構,管線的最差處理率增加了50%。雖然整個影像取樣率並未改變,但在管線架構中,個別區的處理率並不必然只會鏈結至該區尺寸,因此,較小區並不必然以相稱其較小尺寸的較高碼率處理,而是由於處置各個區的損耗之故,而以較低碼率處理。因此,該設計的最差狀況為高於所有區為相同尺寸的系統者。再者,如同將參考圖10C所述,也存在有彈性處理區每CTU需要七個區的情況,更進一步增加了此一架構的最差情況區碼率。
在第二方式中,於CU與TU間之關係被改變,使‘大’CU(CU超出可用轉換的寬度或高度)的拼貼方式被擴充。拼貼方式被擴充應用至CU,否則它將具有TU跨過多數管線處理區。例如,CU 1022被分成2×4陣列的32×32 TU。CU(1022)的細分成更小TU為隱含的,其中,細分係為編碼樹與編碼樹的置放CU於CTU內所決定,而不必進一步發信(例如額外旗標)出現在位元流中。相反地,細分可以根據編單元本身的隱含特性加以決定,即,編碼單元
的尺度。編碼單元1022的細分完成了圖10A的CTU 1000的以下管線處理:
區0:64×64(CU 1020的上半、CU 1022的左上四分之一、以及四個32×32 TU)。
區1:64×64(CU 1022的右上四分之一、CU 1024的上半、以及四個32×32 TU)。
區2:64×64(CU 1020的下半、CU 1022的左下四分之一、以及四個32×32 TU)。
區3:64×64(CU 1020的右下四分之一、CU 1022的下半、及四個32×32 TU)。
因此,使用第二方式,不管編碼樹,128×128 CTU一直都使用四個64×64管線處理區加以處理。轉換單元的形狀與/或長寬比與CU的形狀或尺寸不同。不管CTU內的CU配置,管線處理區的處理率為合成不變。在第二方式中,64×64 TU只可能用於CU,其左上位置係對準於相對於影像框的左上角的64×64網格。所需編碼單元狀況發生於具有無分割操作的編碼樹的CTU,即,具有256×256 CU,或者,在各個水平與垂直方向中具有最多一個二元分割的編碼樹(假定CU的尺寸為128×64、64×128或64×64),或者單一四元樹分割(給定四個CU,各個尺寸為64×64)。
在第三方式中,64×64 TU係從視訊編碼器114與視訊解碼器134缺席,因此,從該組可用TU尺寸缺席。64×64 TU係相對稀少使用。然而,由於64×64 TU可以
在很低位元率時有利,所以,64×64轉換尺寸的缺席確實對於VVC標準造成壓縮效能損失。然而,即使有64×64轉換的移除,當CU跨過多數管線處理區時TU的拼貼仍然有必要。例如,示於圖10E的CTU 10300具有兩個垂直三元分割結果的編碼樹。兩個垂直三元分割造成垂直導向沿著CTU的中心的尺寸為32×128的CU 10320。CU 10320係相對於CTU 10300的左上角的定位於偏移(48,0)。CU 10320佔用四個64×64管線處理區的各者並使用相對小的TU。
圖10E顯示CTU 10300被依據彈性管線處理區的(第一)方式被細分成區。編碼樹具有兩個垂直三元分割,其可以使用兩個額外區的32×64亮度取樣加以配合。各個額外區可以包含兩個32×32 TU(整個排列為CU 10320中的1×4行),具有四個區,佔用48×64亮度取樣。CTU 10320的所得分割係被圖10E中之區邊界10330所顯示。在第一方式中,在CU內的TU的拼貼只為轉換尺寸的可取用性所侷限。最大可用尺寸被使用以TU來拼貼CU。
圖10F顯示CTU 10400。CTU 10400相關於CTU 10300被依據進一步拼貼TU的第二方式加以細分成區。在圖10F之例子中,32×128 CU 10420(對應於CU 10320)係相關於2×4陣列的16×32 TU,而不是1×4陣列的32×32 TU。2×4陣列的16×32 TU造成各個TU被包含在該CTU的四管線處理區之一內,如於區邊界10430所顯示。在圖10F的例子中,沒有TU跨過邊界10430,表示沒有TU重疊或跨過兩或更多管線處理區。具有兩個垂直三元分割的編
碼樹的例子顯示各種編碼樹為有可能,這造成將CU細分成多數TU,以避免TU跨過多數管線處理區。再者,例子情況並不限於涉及64×64 TU者。在(第二)方式中,在CU內的TU的拼貼被各個TU不跨過多數管線理區的要求所進一步侷限。因此,較將被使用的更小的TU為最大可用轉換尺寸,即在CU內的TU的拼貼的侷限。當轉換被使用以去共相關殘餘取樣於整個給定尺寸的區塊時,更小TU的使用可以預期造成更低壓縮效能。然而,對於間預測CU,在一些情況下並不會發生較低壓縮效能。在去共相關包含值映射至轉換的相當少基礎函數的殘餘取樣時,單一轉換係有效率的。因此,單一轉換典型於去共相關低頻的殘餘取樣時有效率,這是定位向頻域中TB之的左上角者。然而,包含高度非連續內容的殘餘取樣,如電腦圖形或文字,或者包含集中在該區塊之一部份中的內容係被較差去共相關,因為所有基礎函數跨過整個TB。
對於間預測區塊,殘餘取樣被集中在CU的一部份為常見的,並且,造成例如在如前景與背景間之邊界的差異。通常,使用較大區塊造成改良壓縮效能,但也造成區塊跨過前景與背景(或其他類似邊界)。當前景與背景具有不同移動時,典型CU的一個部份被從參考圖片(具有零的殘餘取樣,或接近零值)作出良好預測。相反地,CU的另一部份由參考圖片作較差預測。
一種用於視訊編碼器114解決方案為進一步分割編碼樹,造成更小的CU。各個較小CU可以指定以不
同預測模式,以較佳適應其內的影像特性。在物件邊界或堵塞區域變成可見時,移動搜尋通常未能找到適當間預測CU。相反地,典型使用內預測。於CU內以TU拼貼限制了個別殘餘係數對對應TB的尺寸的空間影響範圍。因此,在CU內使用拼貼TU可以允許選擇較大的CU。較大CU可以為跨過在影像框中之前景及/或背景物件跨過堵塞的CU。然後,由於管線處理區邊界,TU的進一步拼貼可能不過度劣化壓縮效能,並且甚至由於選擇較視訊編碼器114所進行為大CU而可能提供優點。
圖10C顯示有關於具有以相反方向的兩個三元分割的編碼樹10100的TU。第一三元分割垂直造成三個區,10101、10102及10103。中間區10102被進一步水平三元分割,造成其他區。更明確地說,64×64 CU 10122由在區10102的進一步三元分割所造成。CU 10122係位在相對於CTU 10100的左上角的偏移(32,32)。可以由處理區邊界10110看到,CU 10122跨過四個管線處理區。
當64×64轉換予以用於CU 10122時,將需要七個處理區,其係由用於CU 10122的一區尺寸為64×64及另六區(兩個尺寸為32×64及四個尺寸為64×32)所組成,以處理在CTU中之剩餘區。因為發生超出通常四個管線處理區的顯著增加,所以,64×64轉換尺寸並不適用於該CU 10122。因此,四個32×32轉換被使用以編碼用於CU 10122的殘餘物。
圖10D顯示用於與具有相同方向的兩個三元
分割及在相反方向有一中間二元分割的CTU 10200的編碼樹相關的TU。由於CTU 10200的編碼樹的結果,尺寸32×64的CU 10222係位在相對於CTU 10200的左上角的位置(0,48)。CU 10222跨過兩管線處理區,使得各個區包含CU 10222的16×64部份。根據圖9的可用轉換尺寸,16×32的尺寸被使用,並以2×2方式拼貼,以佔用CU 10200。然後,管線實施法可以藉由如所示以邊界10210處理CTU成劃線區。再者,管線實施法可以藉由分開執行用於CU 10222的最左兩轉換成為一區的一部分並執行用於CU 10222的最右兩轉換的處理成為另一區的一部份,來處理該CU 10200。
用於內的拼貼TU可以在各個TU邊界執行重建。由於在各個CU內的額外回授環,所以,在每個TU邊界執行重建增加了複雜度。然而,在各個TU邊界執行重建並不會增加最差狀況複雜度,因為,替代地選擇較小CU將造成相同嚴重度的回授環。對於間預測CU,其中沒有額外回授環。
圖11顯示用以在編碼樹單元之編碼樹中決定編碼單元的預測模式的方法1100。方法1100致使視訊編碼器114與視訊解碼器134的管線實施法可以被實現。在決定CTU的編碼樹時,視訊編碼器114執行搜尋以決定一編碼樹,如同相關於圖6所述。該CTU的各個‘候選區’以包含CU,而不是進一步分割的選項係為所產生葉節點步驟622所測試。在步驟622,方法1100係被呼喚,以產生一或更多候選CU。各個候選CU係被評估並根據用CTU的一區的
最佳候選CU與進一步分割該區域的比較。考量由該分割所造成的最佳候選CU,編碼樹與所得CU的預測模式被決定。即,‘最佳’候選CU被選擇使用於位元流115中。視訊編碼器114與視訊解碼器134的配置可以根據例如CU尺寸及/或時間層ID的態樣,來限制特定CU的可用預測模式。限制影響了預測模式的決定。再者,限制也降低了所影響CU的必要預測模式發信,如同參考圖12及13所述,特別是有關步驟1222及1322。方法1100可以例如被組構成FPGA、ASIC或ASSP的設備所實施。另外,方法1100也可以在處理器205的執行下,以視訊編碼器114所執行。因此,方法1100可以儲存在電腦可讀取儲存媒體及/或記憶體206中。被喚醒用於各個候選區的方法1100以切片類型測試步驟1110開始。
在切片類型測試步驟1110中,處理器205測試視訊資料113的現行框的切片。通常,切片類型由例如圖8B的隨機存取GOP結構的GOP結構所造成。如果切片類型為內(‘I’)切片,則內候選CU 1150被加入作評估。如果切片類為間(‘P’或‘B’)切片,則方法1100由步驟1110進行至候選CU尺寸測試步驟1120。
在候選CU尺寸測試步驟1120中,處理器205測試CU的尺寸以決定是否CU應只能被使用跳過模式編碼,或者,是否有其他預測模式可用。如果CU的任一側長度(即,寬度或高度)超出64,則步驟1120返回‘大’並且跳過模式候選1170被加入只作評估。在步驟1120返回‘大’
表示CU重疊一處理區,這將參考步驟1210與1310加以描述。如果CU為垂直三元分割的結果,則重疊可以垂直的。
因為只有一模式被加入用以評估CU的任一尺寸長度超出64,所以,並不必要編碼或解碼側長度超出64的CU的跳過旗標。因為CU的尺寸係足以供視訊解碼器134決定CU的預測模式,所以,不必要編碼或解碼跳過旗標。再者,對於尺寸128×128的CTU,將尺寸長度超出64的CU編碼為跳過只防止管線由此等大CU產生問題。對於較小尺寸CU仍可能發生管線問題,如同針對藉由在CU內進行額外TU拼貼。雖然只對大CU允許跳過編碼將似乎限制視訊編碼器114選擇用於CU的預測模式的彈性,但可得到執行進一步分割的能力,在較大CU所在得到更小CU。再者,由於堵塞物傾向於需要較小CU,以跟隨堵塞區的輪廓,所以,在P或B切片中想要內CU似乎為在視訊順序中堵塞物變成可見。如果CU的任一側長度均未超出64,則步驟1120返回‘正常’。結果,各個內候選模式1150、間候選模式1160及跳過模式候選1170均被評估用於候選CU。
在用於CU的候選預測模式評估後,即,一或更多1150、1160及1170之評估後,最佳模式被選擇成為候選CU。‘最佳’候選預測模式基於最低碼率或失真成本加以選擇。藉由參考圖6所述遍歷編碼樹,藉由將分割造成之CU的聚合成本與在該包含區中的一個CU的比較促成編
碼樹的決定。
在方法1100的另一配置中,對於給定CU只測試跳過模式的限制被限定為當CU為CTU的三元分割結果的情況。例如,如果CU的尺寸為32×128、64×128(分割的中央CU、跨過四個管線處理區)、128×32或128×64(分割的中央CU、跨過四個管線處理區),則作出對測試模式的限制。對測試跳過模式的限制減少了跳過模式被推論的情況次數,因為多數預測模式被測試,及用於CU的最佳一個發信係由CTU的二元分割造成。換句話說,將使用不會造成TU跨過多數管線處理區的尺寸為64×128或128×64的CU。如下所述之圖12的步驟1222與圖13的步驟1322因此被改變。
在方法1100的另一配置中,只測試跳過模式的限制被限定至CTU的三元分割的中央CU。即,該限制應用至64×128 CU(分割的中央CU,跨過四個管線處理區)、或128×64 CU(分割的中央CU,跨過四個管線處理區)。如下所述之圖12的步驟1222及圖13的步驟1322因此被改變。
圖12為方法1200的流程圖,用以將CTU的編碼樹的所得CU編碼入位元流115,其中轉換尺寸係被選擇,使得該方法可以被以管線架構執行,及管線處理區尺寸上係小於CTU尺寸。在方法1200中,轉換尺寸被選擇使得各個轉換可以在依據處理網格界定的區內全部處理。方法1200可以以例如組構的FPGA、ASIC、或ASSP的設備加以實施。另外,方法1200可以以在處理器205執行下的視
訊編碼器114所執行。因此,方法1200可以儲存在電腦可讀取儲存媒體及/或記憶體206中。方法1200在處理器205以決定處理區步驟1210開始。
在決定處理區步驟1210中,在處理器205執行下之視訊編碼器114決定將影像框細分成佔用整個影像框的相等大小正方形的處理區網格。處理區界定各個影像框具有小於CTU尺寸的尺寸的部分。例如,對於具有128×128尺寸的CTU,處理區尺寸可以為64×64,或具有64×64尺寸的CTU,處理區尺寸可以為32×32。在各個這些情況中,各個CTU被細分成排列呈2×2陣列的四個管線處理區。處理區的處理次序係被設定為Z次序。使用Z次序掃描係相符於CTU中之CU的掃描次序,因此,對準確保當由一管線處理區進行至下一管線處理區時資料依附性符合所需的次序。步驟1210操作以將影像框細分成多數相等尺寸的處理區,各個相等尺寸處理區係為在管線編碼該位元流的單一階段期間所處理的區塊。處理器205的控制由步驟1210進行至編碼該編碼樹步驟1215。
在編碼該編碼樹步驟1215,在處理器205的執行下的區塊分割器310用以將方法1100所決定的用於CTU的編碼樹編碼入位元流115。編碼樹依據如參考圖5及6所述的一連串分割並使用圖7A及7B的例子,將CTU分解成一或更多CU。在方法1100中,區塊分割器310測試很多分割的不同組合,以完成一特殊編碼樹,其促使CTU被以高壓縮比編碼,同時,維持解碼影像的傳真性,如參考圖
3所述。方法1100藉由決定編碼樹,以有效地決定各個編碼單元(CU)的尺寸。在處理器205中的控制由步驟1215進行至選擇CU步驟1220。
在選擇CU步驟1220中,在處理器205的執行下,區塊分割器選擇CTU的編碼樹的一個CU。當編碼一CU時,步驟1220係被執行,以用於在步驟1215的編碼該編碼樹中的各個CU。所選擇CU在該影像框中具有特定尺寸與位置,並且,因此,相對於包含CTU的左上角的位置。因此,所選擇CU可以被說成是佔用在包含CTU內的一給定區域。處理器205的控制由步驟1220進行至預測模式測試與編碼步驟1222。
在預測模式測試與編碼步驟1222,處理器205測試所選擇CU在方法1100中所決定的預測模式。如果框的切片類型為(i)‘P’或‘B’,或(ii)如果‘跳過旗標’(或‘cu_skip_flag’)被編碼。跳過旗標表示是否CU使用跳過模式編碼。如果CU並未使用跳過模式編碼,則‘pred_mode’旗標被編碼,表示間預測或內預測之哪一個被使用於該CU。
如參考圖11的步驟1120所述,跳過模式可以根據該CU的尺寸加以推論。因此,對於“大”CU(經由步驟1120),CU係大於或等於處理區之一的尺寸,及跳過模式係為該CU的隱含尺寸特性所推論。CU將有效地重疊處理區之一的邊界。跳過模式係因此被推論及跳過旗標並未被編碼入位元流中。相反地,合併指數係根據該CU的隱含
特性加以決定。或者,如果所推論跳過係根據三元分割或三元分割的中央CU,則合併指數係根據該CU的隱含特性,即該CU的形狀及/或位置加以決定。如果並未推論跳過模式,則步驟1322決定該CU並未大於或等於處理區之一的尺寸並包含一跳過旗標。在具有推論跳過模式的配置中,如同參考圖11的步驟1120所述,如果CU尺寸小於預定臨限時,跳過旗標才會被編碼。例如,任一側長度均未超出64取樣。當該框的時間層ID(例如853)低於預定臨限時,跳過旗標的編碼只可以被額外編碼。例如,時間ID的臨限可以低於GOP結構尺寸的最大時間層,例如,當GOP尺寸為十六圖片時,低於四。如果臨限符合(例如,CU具有任一側長度大於64),則因為在方法1100的此等情況中,只有跳過碼被測試,所以具有推論跳過模式的配置並不需要編碼該跳過旗標。再者,步驟1222與方法1100一致,在於當對於該CU有一個以上預測模式被測試時,預測模式資訊才被編碼。在位元流115中,會出現有發信之對應降低,因此,最後,可以完成較高壓縮效能。
如以下配置所示,CU的‘大’與‘正常’組間之不同分割也有可能。在‘大’組中之更多CU造成較少實例TU拼貼,以解決該管線處理問題,但在視訊編碼器114對於這些尺寸的CU選擇預測模式時會有提供較少彈性的代價。
在方法1100的另一配置中,對跳過模式所推論的將要使用的CU的側長度(步驟1120返回‘大’)的限制適
用至任何CU,其兩側大於或等於64者。需要兩側均大於或等於64造成該組CU,其跳過推論發生於:128×128、64×128、及128×64。圖12的步驟1222與圖13的步驟1322因此被改變。
方法1100的另一配置中,對跳過模式所推論(步驟1120返回‘大’)的將要使用的CU的側長度的限制適用至任何具有任一側長度大於64的CU上,造成該組CU,其跳過推論發生於:128×128、64×128、128×64、128×32、32×128、64×64。再者,圖12的步驟1222與圖13的步驟1322因此被改變。在‘大’與‘正常’組間之臨限(或邊界)可以取決於系統100的‘操作點’(例如,位元流之想要位元率)。不同於具有固定邊界,該邊界也可以在位元流115中發信成為一臨限,允許視訊編碼器115選擇系統100的邊界。邊界可以發信成為側長度的log2及CU的‘任一’或‘兩’側必須匹配CU的發信邊界以視為‘大’組的要求也可以被發信。
如果預測模式被決定(或推論)為跳過模式(步驟1222返回“跳過”),則在處理器205的控制由步驟1222進行至執行移動補償步驟1270。否則,(預測模式為間或內預測及步驟1222返回“內或間”),處理器205的控制由步驟1222進行至識別處理區步驟1225。
在識別處理區步驟1225,處理器205使用在步驟1220所選的CU的區域,以識別哪(些)處理區與選擇CU重疊。例如,圖10A的CU 1022與在CTU 1000中之四個
64×64處理區重疊。處理器205的控制由步驟1225進行至決定CU轉換尺寸侷限步驟1230。
在決定CU轉換尺寸侷限步驟1230,處理器205決定該CU的初始轉換尺寸。初始轉換尺寸係被設定成為一預定組的轉換尺寸的最大轉換尺寸,例如圖9,具有寬度不過選擇CU的寬度及高度不超過所選擇CU的高度。因此,初始轉換尺寸為‘配合’入選擇CU的最大轉換尺寸。考量亮度通道,典型單一轉換佔用整個CU。色度通道具有類似關係,具有調整用於4:2:0色度格式之對應於亮度通道的尺寸的色度轉換尺寸,其為各個轉換的寬度與高度的一半。
當單一轉換並未完全佔滿CU時,施加使用‘拼貼’程序的初始轉換尺寸,以在步驟1230的轉換來佔用整個CU。例如,對於具有尺寸為32×128的CU 1020,需要具有1×4拼貼的32×32的初始轉換尺寸以佔滿整個CU。對於具有尺寸為64×128的CU 1022,初始轉換尺寸為具有1×2拼貼的64×64,以佔滿整個CU。處理器205的控制由步驟1230進行至處理區邊界重疊測試步驟1235。
在處理區邊界重疊測試步驟1235,處理器205決定是否有初始轉換尺寸且與選擇CU跨過(或‘跨’兩或更多處理區的邊界)相關的轉換。換句話說,在步驟1235,處理器205決定是否編碼單元重疊在處理區間之邊界。例如,對於相關於CTU 1000的具有32×32初始轉換尺寸的左上角的位在位置(0,0)的CU1020的初始轉換尺寸,
各個轉換完全被包含在64×64管線處理區內。上面兩個32×32轉換係位在一處理區內及下面兩個32×32轉換係位在另一處理區內。在此一情況下,步驟1235返回“否”並且在處理器205的控制進行至CU轉換尺寸步驟1240。
然而,對於具有64×64的初始轉換尺寸並位在相對於CTU 1000的左上角的位置(32,0)的CU 1022,初始轉換尺寸佔用區域由(32,0)至(95,64)。因為處理區對準64×64網格,所以,初始第一轉換佔用兩個處理區及佔用區由(32,64)至(95,127)的第二轉換佔用另兩個處理區。因為這些提議初始轉換的至少一個(在圖10A之例子中為兩者)將造成跨過在兩或更多處理區間的邊界,步驟1235返回“是”並且在處理器205之控制由步驟1240進行至處理區轉換尺寸步驟1245。
通常,轉換跨過兩或更多處理區的可能性係由在編碼樹的頂層的三元分割的施用所造成。由於CTU尺寸,結果為轉換的處理區尺寸、側尺度均為2的乘冪,及CTU尺寸為處理區的寬度與高度的兩倍。因此,只有在編碼樹的頂層的三元分割可以產生空間(水平或垂直)上處理區的寬度或高度一半的CU補償。當使用初始轉換尺寸的轉換時,補償CU可能造成將跨過兩或更多處理區的轉換,對以處理區粒度操作的管線架構,建立了實質實施的挑戰。
假定在CTU尺寸、處理區尺寸、及轉換側尺度尺寸間之關係,一種解決方案可以禁止在具有側長度超
出64取樣的編碼樹中之區的三元分割。對於具有側長度超出64取樣的區的剩餘選項不再進行分割、二元分割或四元樹分割。如果未執行進一步分割,則四個64×64轉換的拼貼將會有可能,以各個完全被包含在管線處理區內。如果128×128 CTU的二元分割被以任一方向執行時,禁止在所得子區中之相反方向的三元分割將防止可能64×64 CU跨過兩個管線處理區。然而,進一步分割該三元分割的中間(64×64)CU可以解決有關於管線處理的轉換置放問題。初始禁止將防止中間編碼樹被搜尋。如果二元分割被執行於任一方向(造成尺寸為64×128或尺寸為128×64的兩區),則由於一側長度為128之故,將不可能以相同方向對任一所得區應用三元分割。
然而,在相同方向之三元分割將不會造成有跨過管線處理區間之邊界的任何轉換。例如,128×64區的水平三元分割(由CTU的水平二元分割造成)將造成16×128、32×128、及另一16×128區。沿著128的側長度,將使用側長度32的一般轉換,拼貼四次並且不會造成任何轉換跨過多數管線處理區。最終,如果四元樹分割被執行,則各個所得區將會在分開管線處理區內,並將不會造成其他管線處理問題,而不管後續分割。
另外,雖然禁止有對側長度超出64的任一區進行三元分割為解決管線處理效能的一種方式,但該禁止確實禁止可能有用的區塊尺寸,降低壓縮效能。同時,由於轉換置放使得沒有殘餘係數沒有造成管線處理區,該限
制防止‘跳過模式’間預測CU的使用。由於例如大CU的跳過模式CU的彈性置放,特別是在低位元率時所想要的,因此,該限制負面影響了壓縮效能。
如所述,測試步驟1235係根據CU尺寸及CTU在內的位置加以執行。步驟1235因此實施一隱含測試,並未增加視訊編碼器114的‘搜尋空間’。即,在決定TU組態時,視訊編碼器114並未給出額外的自由度(例如,增加旗標)。決定TU組態時,沒有增加額外自由度表示在位元流115中沒必要額外發信來儲存自由度的結果。換句話說,步驟1235的操作係隱含地根據CTU的編碼樹的特性。步驟1235的輸出係獨立於並無關於外顯信號的產生,該外顯信號係有關於予以編碼於位元流中的TU尺寸。
在CU轉換尺寸步驟1240,處理器205選擇用於該CU的轉換尺寸成為步驟1230的決定的CU轉換尺寸。因為沒有所得TU跨過多數管線處理區,所以,並不需要進一步將CU細分成額外TU。處理器205之控制由步驟1240進行至施加順向轉換與量化步驟1250。
在處理區轉換尺寸步驟1245,處理器205決定用於選定CU的轉換尺寸,使得任一所得轉換均不會跨過由該選定CU所跨過的兩或更多管線處理區。例如,尺寸為64×128的CU 1022係相對於包含CTU 1000的左上位於(32,0)。因此,CU 1022跨過由(32,0)至(95,127)的區域。CU以64的X偏移水平地通過管線處理區。因此,水平上,TU寬度需要至多32,成為適用於管線實施法的最大TU寬
度。垂直上,TU寬度需要最多64,成為適用於管線實施法的最大TU寬度。然而,如於圖9所見,並沒有32×64 TU可用。可以使用的最大可用TU為32×32,使得32×32尺寸TU被選擇。隨著32×32TU選擇給CTU 1000,CTU可以被以管線方式處理,如同參考圖10A所述。步驟1245有效地操作以由例如圖9所示之可用集合(多數)轉換尺寸中,選擇轉換尺寸用於編碼單元。轉換尺寸係被選擇以配合入編碼單元並可以與處理區的尺寸不同。處理器205的控制由步驟1245進行至應用順向轉換與量化步驟1250。
在應用順向轉換與量化步驟1250,在處理器205執行下的轉換模組326與量化器模組334應用步驟1240或步驟1245所選的轉換,以轉換差324並產生殘餘係數336。如果CU尺寸等於轉換尺寸,則執行單一轉換。如果CU尺寸大於轉換尺寸,則轉換以併貼方式施加,使得所有差324被轉換。再者,藉由在步驟1245所選的轉換尺寸,個別轉換並不會覆蓋跨過兩或更多管線處理區的區域。
用於視訊壓縮標準的例如‘參考軟體’的軟體實施法將通常一次處理各個框一CTU,而不使用更細粒度的處理,例如,小於CTU尺寸的區域的管線處理。參考軟體實施法並不會遭遇例如以上指出的管線處理區問題的問題,因為它們典型並不需要即時執行或執行於侷限資源的裝置中。特別是利用管線架構的硬體實施法的實際實施法以及一些軟體實施法,來自轉換的優點係被整個包含在個
別管線處理區內。整個包含在個別管線處理區內的由轉換取得優點的軟體實施法包含多核心實施法,其使用相同管線架構,用以改良例如局部性。整個包含在個別管線區內的重要優點轉換為管線處理區的一致尺寸與碼率。處理器205的控制由步驟1250進行至編碼殘餘係數步驟1255。
在編碼殘餘係數步驟1255,在處理器205執行下之熵編碼器338將步驟1250的殘餘係數編碼入位元流115。首先,‘根編碼區塊旗標’係被編碼,表示出現有由步驟1250的量化所得的至少一主要殘餘係數。根編碼區塊旗標為該CU被編碼一次並且發信該主要給CU的任一轉換,跨過用於該CU的任一TU的任一TB的所有色彩通道。假設至少一主要殘餘係數出現用於該CU的任何色彩通道的任一轉換,則在各個色彩通道內,分開的編碼區塊旗標被編碼用於應用至該色彩通道的各個轉換。各個編碼區塊旗標表示在對應轉換區塊中出現至少一主要殘餘係數。對於具有至少一主要殘餘係數的轉換,主要圖與主要係數的大小與符號也被編碼。在處理器205的控制由步驟1255進行至內模式測試1260。
在內模式測試1260,所選擇CU的預測模式係為處理器205所測試。如果預測模式為內預測(在步驟1260之“是”),則在處理器205中之控制進行以執行內預測步驟1265。否則(預測模式為間預測及步驟1260返回“否”),處理器205中之控制進行至執行移動補償步驟1270。
在執行內預測步驟1265,在處理器205的執行下的框內預測模式364產生內預測區塊的取樣(366)。內預測區塊的取樣366係依據用於選定CU的各個PB的內預測模式使用濾波參考取樣362加以產生。當由於步驟1245,多數TU係相關於該CU時,內重建程序應用至在選定CU內的各個TU邊界。除了在各個CU邊界的重建取樣外,參考取樣快取356被以在CU在內部的各個TU邊界處的重建取樣加以更新。在CU內部的TU邊界處的重建允許在CU內部的現行TU上或左側的TU的殘餘係數對產生與現行TU並列的PB的部分的參考取樣作出貢獻。因此,CU在內的TU邊界的重建可以降低失真並改良壓縮效率。處理器205之控制由步驟1265進行至重建CU步驟1275。
在執行移動補償步驟1270,在處理器205執行下之移動補償模組380產生濾波區塊取樣382。濾波區塊取樣382係藉由自框緩衝器372擷取一或兩區塊的取樣374所產生。對於各個區塊的取樣,該框係依據參考圖片指數加以選擇,以及,像素中相對於所選擇CU的空間位移係依據移動向量加以指明。對於由框緩衝器372所擷取的各個區塊取樣,濾波係依據移動向量的‘次像素’位移部份加以施加。移動向量的次像素位移部份的精準度可以是四分之一圖素精準度或十六分之一圖素精準度。當兩個區塊被使用時,所得濾波區塊被混合在一起。參考圖片指數與移動向量在方法1100中被決定。處理器205的控制由步驟1270進行至重建CU步驟1275。
在重建CU步驟1275,在處理器205執行下的總和模組352藉由將殘餘取樣350與用於間預測或內預測CU的PU 320相加而產生重建取樣354。對於跳過模式CU,沒有殘餘取樣,並且,因此,重建取樣354係由PU 320推導出。重建取樣354係可為在現行框內的後續內預測CU所用於參考。在環內濾波施加(即,施加環內濾波器368)後,重建取樣354係被寫入至框緩衝器372,以供在後續框中之內預測CU參考。環內濾波器368的去區塊濾波係被應用至CU的內部邊界。即,去區塊濾波被應用至CU內部的TU間的邊界,由於CU尺寸以及管線處理區邊界而造成拼貼。處理器205的控制由步驟1275進行至最後CU測試步驟1285。
在最後CU測試步驟1285,處理器測試是否所選擇CU為在CTU中之最後一個。如果否(在步驟1160中之“否”),則處理器205之控制返回至步驟1215。如果所選擇CU為在CU掃描次序(即,深度第一Z次序掃描)中之CTU中之最後一個,則方法1200終止。在方法1200終止後,不是下一個CTU被編碼,就是視訊編碼器114進行至視訊的下一個影像框。
圖13顯示用以解碼來自位元流133的CTU的CU的方法1300。在方法1300中,轉換尺寸被選擇使得方法1300可以以管線架構執行。對應管線處理區在大小上係小於CTU尺寸,及管線處理區的碼率係無關於各個CTU的編碼樹。方法1300可以以例如組構的FPGA、ASIC或ASSP
的設備來實施。另外,方法1300可以以在處理器205執行下的視訊解碼器134來執行。因此,方法1300可以儲存在電腦可讀儲存媒體及/或記憶體206中。方法1300在處理器205以決定處理區步驟1310開始。
在決定處理區步驟1310,在處理器205執行下的視訊解碼器134決定將位元流的影像框細分成一網格的相等尺寸及正方形的處理區,其整個佔滿該影像框。步驟1310決定影像框的細分方式與步驟1210的方式相符。步驟1310操作以將影像框細分成多數相等尺寸處理區,各個相等尺寸處理區為在管線解碼該位元流的單一階段期間所處理的區塊。在處理器205的控制由步驟1310進行至解碼編碼樹步驟1315。
在解碼編碼樹步驟1315,在處理器205執行下的熵解碼器420解碼來自位元流133的用於CTU的編碼樹。如同參考圖5及6所述並使用圖7A及7B的例子,編碼樹依據一連串的分割,將CTU分解成一或更多CU。由位元流133解碼的編碼樹係為在圖12的步驟1215所決定的編碼樹。步驟1315藉由使用編碼樹解碼CTU,有效地決定各個編碼單元(CU)的尺寸。處理器205的控制由步驟1315進行至選擇CU步驟1320。
在選擇CU步驟1320,在處理器205執行下的視訊解碼器134依據迭代選擇所解碼編碼樹的一個CU,迭代通過對應於與編碼樹相關語法出現在位元流134中方向的順向方向中的編碼樹。該順向方向相關於Z次序掃描。
所選擇CU在影像框中具有一特定尺寸及位置,因此,一相對於包含CTU的左上角的位置。因此,所選擇CU可以被認為是佔用在包含CTU內的給定區域。處理器205的控制由步驟1320進行至決定預測模式測試步驟1322。
在決定預測模式測試步驟1322,處理器205決定選定CU的預測模式。如果框的切片類型為‘P’或‘B’,則熵解碼器420解碼‘跳過旗標’(或‘cu_skip_flag’),表示是否CU使用該跳過模式加以編碼。如果CU並未使用跳過模式編碼,則熵解碼器420解碼‘pre_mode’旗標。‘pre_mode’旗標表示間預測或內預測的哪一個被使用於該CU。如有關於圖11的步驟1120所述,跳過模式可以根據CU的尺寸加以推論。因此,對於“大”CU(由步驟1120),CU係大於或等於處理區之一的尺寸,及跳過模式係為CU的隱含尺寸特性所推論。跳過模式因此被推論及跳過旗標並未編碼入位元流中。相反地,合併指數係根據CU的隱含特性加以決定。或者,如果推論跳過係根據三元分割或者三元分割的中央CU,則合併指數係根據CU的隱含特性(即,CU的形狀及/或位置)加以決定。如果跳過模式並未被推論,則步驟1322決定CU並未大於或等於處理區之一的尺寸並包含一跳過旗標。
在具有推論跳過模式的配置中,如果CU尺寸小於預定臨限,例如,如果任一側長度均未超出64取樣,則跳過旗標才會被解碼。否則,CU被決定為‘大CU’及跳過模式被推論為使用。當時間層ID低於預定臨限,例
如低於GOP結構尺寸的最大時間層,例如當GOP尺寸為十六個圖片時之四個時,跳過旗標的編碼才可以被額外編碼。如果臨限測試滿足(例如,大CU尺寸及/或時間層ID超出臨限),因為在方法1100之此等狀況中,只有跳過碼被測試,所以具有推論跳過模式的配置並不需要解碼跳過旗標。因此,預測模式係被決定為跳過模式。再者,步驟1322與方法1100一致在於預測模式資訊只有當一個以上預測模式被測試用於該CU時才會被解碼。當只有一個預測模式被測試用於該CU時,視訊解碼器134根據例如CU尺寸,而不是外顯解碼預測模式,來推論預測模式。
如果預測模式被決定(或推論)為跳過模式(在步驟1322的“跳過”),則在處理器205中之控制由步驟1322進行至解碼移動參數步驟1370。否則(預測模式為內或間預測),步驟1322返回“內或間”及在處理器205中之控制進行至識別處理區步驟1325。
在識別處理區步驟1325,處理器205使用在步驟1320所選的CU的區域以識別哪些處理區重疊所選擇CU。例如,圖10A之編碼單元1022重疊在CTU 1000中之四個64×64處理區。步驟1325以類似於圖12的步驟1225的方式操作。在處理器205中之控制由步驟1325進行至決定編碼單元轉換尺寸侷限步驟1330。
在決定編碼單元轉換尺寸侷限步驟1330,處理器205決定用於該CU的初始轉換尺寸。初始轉換尺寸係以類似於決定步驟1230的方式設定。處理器205中之控制
由步驟1330進行至處理區邊界重疊測試步驟1335。
在處理區邊界重疊測試步驟1335,類似於重疊測試步驟1235,處理器205決定是否有初始轉換尺寸及與選擇CU相關的任何轉換跨過兩或更多處理區。換句話說,步驟1335決定是否編碼單元與在處理區間之邊界重疊。如果各個轉換被完全地包含在一處理區內(步驟1335的“否”),則處理器205中之控制進行至CU轉換尺寸步驟1340。如果由初始轉換尺寸引起的至少之一轉換跨過或‘越過’兩或更多處理區間之邊界(在步驟1335中之“是”),則處理器205中之控制進行至處理區轉換尺寸步驟1345。測試步驟1335的結果取決於在CTU內的CU尺寸與位置,這是由CTU的編碼樹所完整描述。因此,將沒有額外發信需要被由位元流133解碼,以決定該CU是否跨過兩處理區。相反地,CU的隱含特性(尺寸與位置)係被使用以測試是否處理區邊界被重疊。
在CU轉換尺寸步驟1340,處理器205依據在步驟1240的轉換尺寸選擇,選擇用於CU的轉換尺寸成為步驟1330的決定CU轉換尺寸。在處理器205中之控制由步驟1350進行至解碼殘餘係數步驟1350。
在處理區轉換尺寸步驟1345,處理器205決定用於所選定CU的轉換尺寸,使得所得轉換均不會跨過兩或更多管線處理區,其係為選擇CU所跨過。步驟1345依據步驟1245的轉換尺寸選擇操作。步驟1345有效地操作以由可用集合(多數)轉換尺寸,例如圖9所示者選擇用於
該編碼單元的轉換尺寸。轉換尺寸係被選擇以配合入編碼單元並可以與處理區的尺寸不同。在處理器205中之控制由步驟1345進行至解碼殘餘係數步驟1350。
在解碼殘餘係數步驟1350,在處理器205執行下的熵解碼器420解碼來自位元流115的殘餘係數。編碼單元藉由施加逆轉換至編碼單元中之各個轉換單元的殘餘係數。在解碼殘餘係數中,‘根編碼區塊旗標’係首先被解碼。根編碼區塊旗標表示至少一主要殘餘係數出現在該CU中之任一TU中,即,跨過所有色彩通道。當根編碼區塊旗標表示主要殘餘係數出現在該CU時,各個色彩通道內的一分開編碼區塊旗標被解碼用於應用至該色彩通道的各個轉換。各個編碼區塊旗標表示至少一主要殘餘係數出現在對應轉換中。對於具有至少一主要殘餘係數的轉換,主要圖與主要係數的大小與符號也被解碼。在處理器205中之控制由步驟1350進行至逆量化與施加逆轉換步驟1355。
在逆量化與施加逆轉換步驟1355,在處理器205執行下的去量化器模組428與逆轉換模組444逆量化殘餘係數,以產生縮放轉換係數440。在步驟1355,步驟1340或步驟1345的所選擇轉換係被應用以轉換該等縮放轉換係數440,以產生殘餘取樣448。如同步驟1250,轉換的應用係依據所決定轉換尺寸以拼貼方式加以執行。再者,藉由在步驟1345所選擇的轉換尺寸,個別轉換並不會覆蓋跨過兩或更多管線處理區的區域。如同方法1200,除了實
際實施法,特別是利用管線架構的硬體實施法外,一些軟體實施法也由整個包含在個別管線處理區內的轉換獲利。有利於上述配置的例示軟體實施法為多核心實施法,其可以使用相同管線架構,來改良資料局部性。處理器205中之控制由步驟1355進行至內模式測試步驟1360。
在內模式測試1360,所選定CU的決定預測模式係為處理器205所測試。如果預測模式為內預測(在步驟1360的“是”),則處理器205中之控制進行至執行內預測步驟1365。否則(預測模式為間預測),步驟1360返回“否”及在處理器205中之控制進行至解碼移動參數步驟1370。
在執行內預測步驟1365,在處理器205執行下的框內預測模組476產生內預測區塊的取樣(480)。內預測區塊取樣480係使用濾波參考取樣472依據用於選擇CU的各個PB的內預測模式加以產生。當多數TU由於步驟1345而相關於該CU時,內重建程序被應用至在選擇CU內部的各個TU邊界。除了在各個CU邊界的重建取樣外,重建取樣快取460係以在該CU內部的各個TU邊界的重建取樣更新。在CU內部的TU邊界處的重建允許在該CU內部的現行TU上方或左方的TU的殘餘對與現行TU並列的PB的部分的參考取樣作出貢獻。在CU內部的TU邊界的重建可以操作以降低失真與改良壓縮效率。在處理器205中之控制由步驟1365進行至重建CU步驟1380。
在解碼移動參數步驟1370,在處理器205執行下的熵解碼器420解碼用於選擇CU的移動向量。解碼移
動向量包含藉由(i)解碼合併指數(如果跳過模式被推論)(由在1120與1322的CU的特性識別),或(ii)解碼跳過旗標,以解碼該合併指數(如果跳過模式未為該CU所推論),來選擇移動向量。一候選移動向量名單係用空間與時間相鄰區塊加以建立(也稱為合併名單)。合併指數係由位元流133解碼,以由合併名單選擇候選者之一。合併指數可以根據該CU的隱含特性(如有關以上步驟1322所述)或由解碼來自位元流的分割模式旗標加以決定。如果所選擇CU係使用跳過模式編碼,則選定候選變成用於該CU的移動向量。如果所選擇CU係使用間預測加以編碼,則移動向量差量係由位元流133所解碼並被加至依據解碼合併指數加以選擇候選者。處理器中之控制由步驟1370進行至執行移動補償步驟1375。
在執行移動補償步驟1375,在處理器205執行下的移動補償模組434產生濾波區塊取樣438。濾波區塊取樣438係藉由擷取來自框緩衝器496的一或兩區塊取樣498加以產生。對於各個區塊的取樣498,框係依據參考圖片指數加以選擇,及像素中相對於所選擇CU的空間位移係依據移動向量加以指明。對於自框緩衝器372擷取的各個區塊取樣,濾波係依據該移動向量的‘次像素’位移部份加以施加。移動向量的次像素位移部份的精準度可以為四分之一圖素精準度或十六分之一圖素精準度。當使用兩區塊時,所得濾波區塊被混合在一起。參考圖片指數與移動向量係由位元流133解碼並在方法1100中決定。在處理器
205中之控制由步驟1375進行至重建CU步驟1380。
在重建CU步驟1380,在處理器205執行下的總和模組450產生重建取樣456。重建取樣456藉由將殘餘取樣448與用於間預測或內預測CU的PU 452相加而產生。對於跳過模式CU,沒有殘餘,因此,重建取樣456係由PU 452推導出。重建取樣456係供在現行框中之後續內預測CU參考。在施加環內濾波(即,施加環內濾波器488)後,重建取樣456被寫入框緩衝器496中,以供在後續框中之間預測CU參考。環內濾波器488之去區塊濾波係被應用至該CU的內部邊界。即,去區塊濾波係被應用至在該CU內的TU間之邊界,由於CU尺寸及由於管線處理區邊界,由拼貼引起。在處理器205中之控制由步驟1380進行至最後CU測試步驟1385。
在最後CU測試步驟1385,處理器205測試是否所選擇CU為在深度第一的Z次序掃描的CU掃描次序中之CTU中之最後CU。如果否(步驟1385中之“否”),則在處理器205中之控制回到步驟1315。如果選擇CU為CTU中之最後CU(步驟1385中之“是”),則方法1300終止。在方法1300終止後,下一CTU被解碼或者視訊解碼器134進行至位元流之下一影像框。
在視訊編碼器114與視訊解碼器134的另一配置中,跨過多數管線處理區的CU係被推論以‘跳過模式’編碼及因此並沒任何相關殘餘係數,因此,並不需要執行轉換以編碼或解碼此等區塊。因此,當視訊編碼器114在步
驟1215決定編碼樹時,當測試些等CU時,將造成TU跨過多數處理區,則有需要它們被編碼,而沒有任何相關殘餘係數。
上述配置可應用至電腦與資料處理工業,特別是用於編碼及解碼例如視訊及影像信號的信號的數位信號處理,由於以較最大支援區塊尺寸或CTU尺寸為小的處理區尺寸,來提供管線實施法的可能性,而完成高壓縮效率,而就記憶體、矽區域耗用看來不會有過量的成本。在一些實施法中,上述配置係有用於VVC標準,因為區TU實施併貼(例如,於步驟1145及1245所實施)協助防止管線低效率,特別是間預測模式。如上所指出,於此所述之部份實施法允許三元編碼樹被用於較大CU,或64×64 CU在對處理時間及/或品質上以較低衝擊下被使用。
前述只說明本發明之部份實施例,仍可以在不脫離本發明之精神與範圍下完成對其之修改及/或變化,這些實施例只是例示性並不作限定用。
Claims (16)
- 一種用於根據預定方式從位元流中解碼編碼單元之影像解碼方法,該方法包含: 從該位元流中解碼出用於決定編碼樹單元中的編碼單元之資訊,其中,在該預定方式中,該編碼單元的至少一側能夠為128個樣本; 在第一侷限被應用的情況下,決定該編碼單元中的多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為亮度分量的尺寸之該多個轉換單元的可選擇的最大尺寸為32個樣本的方式; 在第二侷限被應用的情況下,決定該編碼單元中的該多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為該亮度分量的該尺寸之該多個轉換單元的可選擇的該最大尺寸為64個樣本的方式;以及 使用決定的該多個轉換單元,解碼該編碼單元; 其中,在該預定方式中,水平側及垂直側其中之一側比另一側長的形狀能夠作為轉換單元的形狀使用。
- 如請求項1之方法,其中,該編碼單元的至少一側等於128個樣本。
- 如請求項1之方法,其中,三元分割能夠用於決定該編碼樹單元中的該編碼單元。
- 如請求項1之方法,其中,該多個轉換單元每一者的形狀與該編碼單元的形狀不同。
- 如請求項1之方法,其中,該多個轉換單元每一者的長寬比與該編碼單元的長寬比不同。
- 如請求項1之方法,其中,該第一侷限與該第二侷限兩者擇一地被應用。
- 一種用於根據預定編碼方式將編碼單元編碼至位元流的影像編碼方法,該方法包含: 決定編碼樹單元中的編碼單元,其中,在該預定編碼方式中,該編碼單元的至少一側能夠為128個樣本; 在第一侷限被應用的情況下,決定該編碼單元中的多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為亮度分量的尺寸之該多個轉換單元的可選擇的最大尺寸為32個樣本的方式; 在第二侷限被應用的情況下,決定該編碼單元中的該多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為該亮度分量的該尺寸之該多個轉換單元的可選擇的該最大尺寸為64個樣本的方式;以及 使用決定的該多個轉換單元,編碼該編碼單元; 其中,在該預定編碼方式中,水平側及垂直側其中之一側比另一側長的形狀能夠作為轉換單元的形狀使用。
- 如請求項7之方法,其中,該編碼單元的至少一側等於128個樣本。
- 如請求項7之方法,其中,三元分割能夠用於決定該編碼樹單元中的該編碼單元。
- 如請求項7之方法,其中,該多個轉換單元每一者的形狀與該編碼單元的形狀不同。
- 如請求項7之方法,其中,該多個轉換單元每一者的長寬比與該編碼單元的長寬比不同。
- 如請求項7之方法,其中,該第一侷限與該第二侷限兩者擇一地被應用。
- 一種用於根據預定方式從位元流中解碼編碼單元的影像解碼設備,該設備包含: 解碼部件,被配置以從該位元流中解碼出用於決定編碼樹單元中的編碼單元之資訊,其中,在該預定方式中,該編碼單元的至少一側能夠為128個樣本;以及 決定部件,被配置以在第一侷限被應用的情況下,決定該編碼單元中的多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為亮度分量的尺寸之該多個轉換單元的可選擇的最大尺寸為32個樣本的方式; 其中,在第二侷限被應用的情況下,該決定部件被配置以決定該編碼單元中的該多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為該亮度分量的該尺寸之該多個轉換單元的可選擇的該最大尺寸為64個樣本的方式; 其中,該解碼部件被配置以使用決定的該多個轉換單元,解碼該編碼單元; 其中,在該預定方式中,水平側及垂直側其中之一側比另一側長的形狀能夠作為轉換單元的形狀使用。
- 一種用於根據預定編碼方式將編碼單元編碼至位元流的影像編碼設備,該設備包含: 第一決定部件,被配置以決定編碼樹單元中的編碼單元,其中,在該預定編碼方式中,該編碼單元的至少一側能夠為128個樣本; 第二決定部件,被配置以在第一侷限被應用的情況下,決定該編碼單元中的多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為亮度分量的尺寸之該多個轉換單元的可選擇的最大尺寸為32個樣本的方式,其中,在第二侷限被應用的情況下,該第二決定部件被配置以決定該編碼單元中的該多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為該亮度分量的該尺寸之該多個轉換單元的可選擇的該最大尺寸為64個樣本的方式;以及 編碼部件,被配置以使用決定的該多個轉換單元,編碼該編碼單元; 其中,在該預定編碼方式中,水平側及垂直側其中之一側比另一側長的形狀能夠作為轉換單元的形狀使用。
- 一種非暫態電腦可讀取儲存媒體,其儲存有程式以使得電腦執行用於根據預定方式從位元流中解碼編碼單元之影像解碼方法,該方法包含: 從該位元流中解碼出用於決定編碼樹單元中的編碼單元之資訊,其中,在該預定方式中,該編碼單元的至少一側能夠為128個樣本; 在第一侷限被應用的情況下,決定該編碼單元中的多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為亮度分量的尺寸之該多個轉換單元的可選擇的最大尺寸為32個樣本的方式; 在第二侷限被應用的情況下,決定該編碼單元中的該多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為該亮度分量的該尺寸之該多個轉換單元的可選擇的該最大尺寸為64個樣本的方式;以及 使用決定的該多個轉換單元,解碼該編碼單元; 其中,在該預定方式中,水平側及垂直側其中之一側比另一側長的形狀能夠作為轉換單元的形狀使用。
- 一種非暫態電腦可讀取儲存媒體,其儲存有程式以使得電腦執行用於根據預定編碼方式將編碼單元編碼至位元流的影像編碼方法,該方法包含: 決定編碼樹單元中的編碼單元,其中,在該預定編碼方式中,該編碼單元的至少一側能夠為128個樣本; 在第一侷限被應用的情況下,決定該編碼單元中的多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為亮度分量的尺寸之該多個轉換單元的可選擇的最大尺寸為32個樣本的方式; 在第二侷限被應用的情況下,決定該編碼單元中的該多個轉換單元,其採用即使該編碼單元的至少一側為128個樣本,仍使得作為該亮度分量的該尺寸之該多個轉換單元的可選擇的該最大尺寸為64個樣本的方式;以及 使用決定的該多個轉換單元,編碼該編碼單元; 其中,在該預定編碼方式中,水平側及垂直側其中之一側比另一側長的形狀能夠作為轉換單元的形狀使用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2018217333A AU2018217333A1 (en) | 2018-08-17 | 2018-08-17 | Method, apparatus and system for encoding and decoding a transformed block of video samples |
AU2018217333 | 2018-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202247663A TW202247663A (zh) | 2022-12-01 |
TWI836542B true TWI836542B (zh) | 2024-03-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016011976A1 (en) | 2014-07-25 | 2016-01-28 | Mediatek Inc. | Video processing apparatus with adaptive coding unit splitting or merging and related video processing method |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016011976A1 (en) | 2014-07-25 | 2016-01-28 | Mediatek Inc. | Video processing apparatus with adaptive coding unit splitting or merging and related video processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7191211B2 (ja) | 復号する方法、コンピュータプログラム、ビデオ復号装置 | |
TWI776071B (zh) | 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統 | |
JP7391171B2 (ja) | ビデオサンプルの変換されたブロックを符号化および復号する方法、装置、およびシステム | |
TW202135530A (zh) | 用於編碼和解碼視訊樣本區塊的方法、設備及系統 | |
TWI793396B (zh) | 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統 | |
JP2023123706A (ja) | ビデオサンプルのブロックを符号化及び復号するための方法、装置、及びプログラム | |
RU2766881C1 (ru) | Способ, оборудование и система для кодирования и декодирования дерева блоков видеовыборок | |
TWI836542B (zh) | 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和非暫態電腦可讀取儲存媒體 | |
JP7495923B2 (ja) | ビデオサンプルの変換されたブロックを符号化および復号する方法、装置、およびシステム |