TWI851707B - 用於適應性迴圈濾波器變數之適應變數集合 - Google Patents
用於適應性迴圈濾波器變數之適應變數集合 Download PDFInfo
- Publication number
- TWI851707B TWI851707B TW109111798A TW109111798A TWI851707B TW I851707 B TWI851707 B TW I851707B TW 109111798 A TW109111798 A TW 109111798A TW 109111798 A TW109111798 A TW 109111798A TW I851707 B TWI851707 B TW I851707B
- Authority
- TW
- Taiwan
- Prior art keywords
- variable set
- adaptation variable
- adaptation
- value
- aps
- Prior art date
Links
- 230000006978 adaptation Effects 0.000 title claims abstract description 713
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 claims abstract description 252
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 140
- 241000023320 Luma <angiosperm> Species 0.000 claims description 135
- 239000000872 buffer Substances 0.000 claims description 89
- 230000011664 signaling Effects 0.000 claims description 70
- 230000033001 locomotion Effects 0.000 description 100
- 239000010410 layer Substances 0.000 description 98
- 238000012545 processing Methods 0.000 description 60
- 230000008569 process Effects 0.000 description 53
- 239000013598 vector Substances 0.000 description 39
- 208000031212 Autoimmune polyendocrinopathy Diseases 0.000 description 34
- 238000013139 quantization Methods 0.000 description 28
- 238000003860 storage Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 20
- 235000019395 ammonium persulphate Nutrition 0.000 description 16
- 238000000261 appearance potential spectroscopy Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 238000013500 data storage Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- AVVWPBAENSWJCB-DGPNFKTASA-N beta-D-galactofuranose Chemical compound OC[C@@H](O)[C@@H]1O[C@@H](O)[C@H](O)[C@H]1O AVVWPBAENSWJCB-DGPNFKTASA-N 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 208000035900 Autoimmune polyendocrinopathy type 1 Diseases 0.000 description 3
- 208000022106 Autoimmune polyendocrinopathy type 2 Diseases 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 201000009771 autoimmune polyendocrine syndrome type 1 Diseases 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- BYHQTRFJOGIQAO-GOSISDBHSA-N 3-(4-bromophenyl)-8-[(2R)-2-hydroxypropyl]-1-[(3-methoxyphenyl)methyl]-1,3,8-triazaspiro[4.5]decan-2-one Chemical compound C[C@H](CN1CCC2(CC1)CN(C(=O)N2CC3=CC(=CC=C3)OC)C4=CC=C(C=C4)Br)O BYHQTRFJOGIQAO-GOSISDBHSA-N 0.000 description 2
- 208000029468 Autoimmune polyendocrinopathy type 3 Diseases 0.000 description 2
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- AYCPARAPKDAOEN-LJQANCHMSA-N N-[(1S)-2-(dimethylamino)-1-phenylethyl]-6,6-dimethyl-3-[(2-methyl-4-thieno[3,2-d]pyrimidinyl)amino]-1,4-dihydropyrrolo[3,4-c]pyrazole-5-carboxamide Chemical compound C1([C@H](NC(=O)N2C(C=3NN=C(NC=4C=5SC=CC=5N=C(C)N=4)C=3C2)(C)C)CN(C)C)=CC=CC=C1 AYCPARAPKDAOEN-LJQANCHMSA-N 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- VCGRFBXVSFAGGA-UHFFFAOYSA-N (1,1-dioxo-1,4-thiazinan-4-yl)-[6-[[3-(4-fluorophenyl)-5-methyl-1,2-oxazol-4-yl]methoxy]pyridin-3-yl]methanone Chemical compound CC=1ON=C(C=2C=CC(F)=CC=2)C=1COC(N=C1)=CC=C1C(=O)N1CCS(=O)(=O)CC1 VCGRFBXVSFAGGA-UHFFFAOYSA-N 0.000 description 1
- MOWXJLUYGFNTAL-DEOSSOPVSA-N (s)-[2-chloro-4-fluoro-5-(7-morpholin-4-ylquinazolin-4-yl)phenyl]-(6-methoxypyridazin-3-yl)methanol Chemical compound N1=NC(OC)=CC=C1[C@@H](O)C1=CC(C=2C3=CC=C(C=C3N=CN=2)N2CCOCC2)=C(F)C=C1Cl MOWXJLUYGFNTAL-DEOSSOPVSA-N 0.000 description 1
- ABDDQTDRAHXHOC-QMMMGPOBSA-N 1-[(7s)-5,7-dihydro-4h-thieno[2,3-c]pyran-7-yl]-n-methylmethanamine Chemical compound CNC[C@@H]1OCCC2=C1SC=C2 ABDDQTDRAHXHOC-QMMMGPOBSA-N 0.000 description 1
- HCDMJFOHIXMBOV-UHFFFAOYSA-N 3-(2,6-difluoro-3,5-dimethoxyphenyl)-1-ethyl-8-(morpholin-4-ylmethyl)-4,7-dihydropyrrolo[4,5]pyrido[1,2-d]pyrimidin-2-one Chemical compound C=1C2=C3N(CC)C(=O)N(C=4C(=C(OC)C=C(OC)C=4F)F)CC3=CN=C2NC=1CN1CCOCC1 HCDMJFOHIXMBOV-UHFFFAOYSA-N 0.000 description 1
- WNEODWDFDXWOLU-QHCPKHFHSA-N 3-[3-(hydroxymethyl)-4-[1-methyl-5-[[5-[(2s)-2-methyl-4-(oxetan-3-yl)piperazin-1-yl]pyridin-2-yl]amino]-6-oxopyridin-3-yl]pyridin-2-yl]-7,7-dimethyl-1,2,6,8-tetrahydrocyclopenta[3,4]pyrrolo[3,5-b]pyrazin-4-one Chemical compound C([C@@H](N(CC1)C=2C=NC(NC=3C(N(C)C=C(C=3)C=3C(=C(N4C(C5=CC=6CC(C)(C)CC=6N5CC4)=O)N=CC=3)CO)=O)=CC=2)C)N1C1COC1 WNEODWDFDXWOLU-QHCPKHFHSA-N 0.000 description 1
- KVCQTKNUUQOELD-UHFFFAOYSA-N 4-amino-n-[1-(3-chloro-2-fluoroanilino)-6-methylisoquinolin-5-yl]thieno[3,2-d]pyrimidine-7-carboxamide Chemical compound N=1C=CC2=C(NC(=O)C=3C4=NC=NC(N)=C4SC=3)C(C)=CC=C2C=1NC1=CC=CC(Cl)=C1F KVCQTKNUUQOELD-UHFFFAOYSA-N 0.000 description 1
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 101000658124 Apomastus schlingeri Mu-cyrtautoxin-As1a Proteins 0.000 description 1
- 101100001794 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) aps-2 gene Proteins 0.000 description 1
- LXRZVMYMQHNYJB-UNXOBOICSA-N [(1R,2S,4R)-4-[[5-[4-[(1R)-7-chloro-1,2,3,4-tetrahydroisoquinolin-1-yl]-5-methylthiophene-2-carbonyl]pyrimidin-4-yl]amino]-2-hydroxycyclopentyl]methyl sulfamate Chemical compound CC1=C(C=C(S1)C(=O)C1=C(N[C@H]2C[C@H](O)[C@@H](COS(N)(=O)=O)C2)N=CN=C1)[C@@H]1NCCC2=C1C=C(Cl)C=C2 LXRZVMYMQHNYJB-UNXOBOICSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- XGVXKJKTISMIOW-ZDUSSCGKSA-N simurosertib Chemical compound N1N=CC(C=2SC=3C(=O)NC(=NC=3C=2)[C@H]2N3CCC(CC3)C2)=C1C XGVXKJKTISMIOW-ZDUSSCGKSA-N 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Abstract
本發明描述針對於用於適應性迴圈濾波器(ALF)變數之適應變數集合(APS)的技術。一個實例涉及自一位元串流獲得與一NAL單元相關聯的一APS ID值及一APS類型值。識別與至少一個圖像之至少一部分相關聯的一第一APS,其中該第一APS係藉由該APS類型值與APS識別符值的一組合唯一地識別,且該第一APS之該APS識別符值係在基於該APS類型值之一範圍內。該至少一個圖像之該部分隨後使用具有由藉由該APS類型值及該APS識別符值唯一識別的該第一APS定義的變數的一適應性迴圈濾波器而重建構。
Description
本申請案係關於視訊寫碼。舉例而言,本申請案係關於用於提供用於適應性迴圈濾波器(ALF)變數之適應變數集合(AP)的系統、方法及電腦可讀媒體。
許多器件及系統允許處理並輸出視訊資料以供消耗。數位視訊資料包括大量資料以滿足消費者及視訊提供者之需求。舉例而言,視訊資料之消費者需要具有最優品質(具有高保真度、解析度、圖框速率及其類似者)之視訊。結果,滿足此等需求所需之大量視訊資料對處理及儲存視訊資料之通信網路及器件造成負擔。
各種視訊寫碼技術可用以壓縮視訊資料。視訊寫碼係根據一或多個視訊寫碼標準執行。舉例而言,視訊寫碼標準包括通用視訊寫碼(VVC)、高效視訊寫碼(HEVC)、進階視訊寫碼(AVC)、活動圖像專家組(MPEG)寫碼,以及其他。視訊寫碼通常使用利用存在於視訊影像或序列中之冗餘的預測方法(例如,框間預測、框內預測或其類似者)。視訊寫碼技術之重要目標為將視訊資料壓縮成使用較低位元速率之形式,同時避免視訊品質之降級或使視訊品質之降級最小化。隨著不斷演進的視訊服務變得可用,需要具有較佳寫碼效率之編碼技術。
本文中描述用於改良視訊處理的系統及方法。數位視訊資料包括滿足消費者及視訊提供者之需求的大量資料,該等資料對處理及儲存視訊資料之通信網路及器件造成負擔。視訊處理之一些實例使用用於視訊寫碼之適應變數集合(APS)以將用於處理圖像之部分的變數通知編碼及解碼器件。在位元串流中發信並在記憶體中儲存之APS將資源成本強加於視訊處理系統上,其中高效資源使用在給定網路及器件上之負擔情況下係有價值的。本文中所描述的實例改良具有APS結構之視訊處理網路及器件的效能,該等APS結構允許改良之發信效率、處理效率及記憶體使用效率。
在一些實例中,APS係藉由APS類型值與APS識別符值之組合唯一地識別,其可允許緩衝器記憶體待基於APS類型分配。由於不同APS類型可具有不同數目個變數(例如具有不同記憶體使用),因此APS類型值可以用於將緩衝器之記憶體分配恰好匹配APS,從而避免在APS類型未經識別且共用緩衝器用於所有APS類型的情況下可能發生的浪費記憶體空間。在其他實例中,不同APS類型可具有不同數目個最大識別符值(例如不同識別符空間)。若系統中之每一APS類型具有不同最大識別符值,則APS類型可自最大識別符值識別,此可改良器件判定APS類型之效率。在各個實例中,不同最大識別符值亦可用以藉由匹配發信與最大識別符值而不是使所有APS類型使用同一發信而改良發信效率。
在一些實例中,可提供指示可獨立發信的明度及色度濾波器之使用的旗標。在一些實例中,明度濾波器及色度濾波器之存在的獨立發信藉由改良剖析操作之效率而改良器件之操作。在一些實例中,獨立旗標發信亦可允許指示明度或色度濾波器是否待使用而不是變數是否存在的明度及色度旗標。在一些實例中,當變數不與當前圖像一起使用時,獨立旗標發信可允許變數之發信以供由稍後圖像未來使用。
在本文呈現之實例的上下文中描述額外改良。
根據至少一個實例,提供一種用於解碼視訊資料之裝置。該裝置包括一記憶體及實施於電路中之一處理器。該處理器經組態以:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與至少一個圖像之至少一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及使用具有由藉由該適應變數集合類型值及該適應變數集合識別符值唯一地識別的該第一適應變數集合定義之變數的一適應性迴圈濾波器重建構該至少一個圖像之該部分。
在另一實例中,提供一種解碼視訊資料的方法。該方法包括:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與至少一個圖像之至少一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及使用具有由藉由該適應變數集合類型值及該適應變數集合識別符值唯一地識別的該第一適應變數集合定義之變數的一適應性迴圈濾波器重建構該至少一個圖像之該部分。
在另一實例中,提供一種用於寫碼視訊資料之非暫時性電腦可讀媒體。該非暫時性電腦可讀媒體可包括其上儲存之指令,該等指令在由一或多個處理器執行時使該一或多個處理器:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與至少一個圖像之至少一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及使用具有由藉由該適應變數集合類型值及該適應變數集合識別符值唯一地識別的該第一適應變數集合定義之變數的一適應性迴圈濾波器重建構該至少一個圖像之該部分。
在另一實例中,提供一種用於解碼視訊資料之裝置。該裝置包括:用於自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值的構件;用於自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值的構件;用於識別與至少一個圖像之至少一部分相關聯的一第一適應變數集合的構件,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及用於使用具有由藉由該適應變數集合類型值及該適應變數集合識別符值唯一地識別的該第一適應變數集合定義之變數的一適應性迴圈濾波器重建構該至少一個圖像之該部分的構件。
在一些態樣中,可使用特定適應變數集合類型的適應變數集合識別符之最大數目係由適應變數集合類型值定義。
在一些態樣中,複數個適應變數集合類型中之第一適應變數集合類型係與識別符值之第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之第二數目不同於識別符值之第一數目。在一些態樣中,適應變數集合識別符之最大數目對於每一適應變數集合類型為相同值。在一些態樣中,不同數目個位元用於適應變數集合識別符之不同類型。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;識別與該至少一個圖像之至少一第二部分相關聯的一第二適應變數集合,該第二適應變數集合係藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別,其中該第二適應變數集合之該適應變數集合識別符值範圍係基於該第二適應變數集合類型值;及使用具有由藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別的該第二適應變數集合定義之變數的該適應性迴圈濾波器重建構該視訊位元串流之該至少一個圖像之至少該第二部分。
在一些態樣中,用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。在一些情況下,該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括識別與第一適應變數集合相關聯的至少一個旗標。該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的第二旗標中之至少一或多者。在一些情況下,第一旗標之值及第二旗標之值經獨立設定。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括:組態用於第一適應變數集合類型之第一適應變數集合緩衝器;及組態用於第二適應變數集合類型之第二適應變數集合緩衝器。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括:將具有第一適應變數集合類型之第一適應變數集合之所接收位元儲存於第一適應變數集合緩衝器中;及將具有第二適應變數集合類型的第二適應變數集合之所接收位元儲存於第二適應變數集合緩衝器中。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括組態用於複數個適應變數集合類型中之第一適應變數集合類型的第一緩衝器。第一緩衝器具有小於最大識別符值之第一識別符集合範圍。在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括組態用於該複數個適應變數集合類型中之第二適應變數集合類型的第二緩衝器。第二緩衝器具有小於最大識別符值之第二識別符集合範圍。第二識別符集合範圍不同於第一識別符集合範圍。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括使用適應變數集合類型值解譯適應變數集合識別符值。
在一些態樣中,第一適應變數集合係藉由如由位元串流中之一系列連續位元表示的適應變數集合類型值與適應變數集合識別符值之組合唯一地識別。在一些實例中,位元串流中之該系列連續位元中的位元之第一部分表示適應變數集合類型值且位元串流中之該系列連續位元中的位元之第二部分表示適應變數集合類型識別符值。在一些實例中,位元串流中之該系列連續位元中的位元之第一部分表示適應變數集合類型識別符值,且在位元串流中之位元之第一部分之後的位元之第二部分表示適應變數集合類型值。
在一些態樣中,第一適應變數集合包括明度濾波器係數及色度濾波器係數。明度濾波器係數與第二適應變數集合類型值相關聯,且色度濾波器係數與不同於第二適應變數集合類型值之第三適應變數集合類型值相關聯。在一些情況下,明度濾波器係數係與明度濾波器發信旗標相關聯,且色度濾波器係數係與不同於明度濾波器發信旗標之色度濾波器發信旗標相關聯且獨立於明度濾波器發信旗標而操作。
根據至少一個其他實例,提供一種用於編碼視訊資料之裝置。該裝置包括一記憶體及實施於電路中之一處理器。該裝置經組態以:判定與適應變數集合網路抽象層單元相關聯的適應變數集合識別符值;判定與適應變數集合網路抽象層單元相關聯的適應變數集合類型值;識別與至少一個圖像之一部分相關聯的第一適應變數集合,該第一適應變數集合係藉由適應變數集合類型值與適應變數集合識別符值之組合唯一地識別,其中第一適應變數集合之適應變數集合識別符值係在基於適應變數集合類型值之範圍內;及產生一位元串流,該位元串流包括適應變數集合識別符值、適應變數集合類型值及如經編碼的至少一個圖像之部分。
在另一實例中,提供一種編碼視訊資料之方法。該方法包括:判定與適應變數集合網路抽象層單元相關聯的適應變數集合識別符值;判定與適應變數集合網路抽象層單元相關聯的適應變數集合類型值;識別與至少一個圖像之一部分相關聯的第一適應變數集合,該第一適應變數集合係藉由適應變數集合類型值與適應變數集合識別符值之組合唯一地識別,其中第一適應變數集合之適應變數集合識別符值係在基於適應變數集合類型值之範圍內;及產生一位元串流,該位元串流包括適應變數集合識別符值、適應變數集合類型值及如經編碼的至少一個圖像之部分。
在其他實例中,提供一種用於寫碼視訊資料之非暫時性電腦可讀媒體。該非暫時性電腦可讀媒體可包括儲存於其上之指令,該等指令在由一或多個處理器執行時使該一或多個處理器:判定與適應變數集合網路抽象層單元相關聯的適應變數集合識別符值;判定與適應變數集合網路抽象層單元相關聯的適應變數集合類型值;識別與至少一個圖像之一部分相關聯的第一適應變數集合,該第一適應變數集合係藉由適應變數集合類型值與適應變數集合識別符值之組合唯一地識別,其中第一適應變數集合之適應變數集合識別符值係在基於適應變數集合類型值之範圍內;及產生一位元串流,該位元串流包括適應變數集合識別符值、適應變數集合類型值及如經編碼的至少一個圖像之部分。
在另一實例中,提供一種用於編碼視訊資料之裝置。該裝置包括:用於判定與適應變數集合網路抽象層單元相關聯的適應變數集合識別符值的構件;用於判定與適應變數集合網路抽象層單元相關聯的適應變數集合類型值的構件;用於識別與至少一個圖像之一部分相關聯的第一適應變數集合的構件,該第一適應變數集合係藉由適應變數集合類型值與適應變數集合識別符值之組合唯一地識別,其中第一適應變數集合之適應變數集合識別符值係在基於適應變數集合類型值之範圍內;及用於產生一位元串流的構件,該位元串流包括適應變數集合識別符值、適應變數集合類型值及如經編碼的至少一個圖像之部分。
在一些態樣中,可使用特定適應變數集合類型的適應變數集合識別符之最大數目係由適應變數集合類型值定義。
在一些態樣中,複數個適應變數集合類型中之第一適應變數集合類型係與識別符值之第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之第二數目不同於識別符值之第一數目。在一些態樣中,適應變數集合識別符之最大數目對於每一適應變數集合類型為相同值。在一些態樣中,不同數目個位元用於適應變數集合識別符之不同類型。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;識別與至少一個圖像之至少一第二部分相關聯的一第二適應變數集合,該第二適應變數集合係藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別,其中該第二適應變數集合之該適應變數集合識別符值範圍係基於該第二適應變數集合類型值;及將由藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別的該第二適應變數集合定義之適應性迴圈濾波器的變數包括於該位元串流中。至少一個圖像之至少第二部分可使用具有由藉由第二適應變數集合類型值及第二適應變數集合識別符值唯一地識別的第二適應變數集合定義之變數的適應性迴圈濾波器重建構(例如藉由編碼器件及/或解碼器件)。
在一些態樣中,用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。在一些情況下,該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
在一些態樣中,上文所描述的方法、裝置及電腦可讀媒體可包括設定用於與第一適應變數集合相關聯之至少一個旗標的值。該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的第二旗標中之至少一或多者。在一些情況下,第一旗標之值及第二旗標之值經獨立設定。
在一些態樣中,第一適應變數集合係藉由如由位元串流中之一系列連續位元表示的適應變數集合類型值與適應變數集合識別符值之組合唯一地識別。在一些實例中,位元串流中之該系列連續位元中的位元之第一部分表示適應變數集合類型值且位元串流中之該系列連續位元中的位元之第二部分表示適應變數集合類型識別符值。在一些實例中,位元串流中之該系列連續位元中的位元之第一部分表示適應變數集合類型識別符值,且在位元串流中之位元之第一部分之後的位元之第二部分表示適應變數集合類型值。
在一些態樣中,第一適應變數集合包括明度濾波器係數及色度濾波器係數。明度濾波器係數與第二適應變數集合類型值相關聯,且色度濾波器係數與不同於第二適應變數集合類型值之第三適應變數集合類型值相關聯。在一些情況下,明度濾波器係數係與明度濾波器發信旗標相關聯,且色度濾波器係數係與不同於明度濾波器發信旗標之色度濾波器發信旗標相關聯且獨立於明度濾波器發信旗標而操作。
在一些態樣中,該裝置包含攝影機、行動器件(例如行動電話或所謂的「智慧型電話」或其他行動器件)、可穿戴式器件、擴展實境器件(例如虛擬實境(VR)器件、擴增實境(AR)器件或混合實境(MR)器件)、個人電腦、膝上型電腦、電視、伺服器電腦或其他器件。在一些態樣中,裝置包括用於俘獲一或多個影像之一或多個攝影機。在一些態樣中,該裝置包括用於顯示一或多個影像(例如一或多個經重建構圖像)、通知及/或其他可顯示資料的顯示器。舉例而言,該裝置可包括經組態以顯示至少一個圖像(例如在至少一個圖像經重建構之後)的顯示器。在另一實例中,該裝置可包括具有經組態以顯示至少一個圖像(例如在至少一個圖像經重建構之後)的顯示器的行動器件。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以判定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
相關申請案之交叉參考
本申請案主張2019年4月23日申請之美國臨時申請案第62/837,711號及2019年6月24日申請之美國臨時申請案第62/865,890號的權益,該等臨時申請案兩者均以引用的方式全文並出於所有目的而併入本文中。
下文提供本發明之某些態樣及實例。此等態樣及實例之一些可獨立地應用且其中之一些可以將對熟習此項技術者顯而易見之組合來應用。在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對本申請案之實例之透徹理解。然而,將顯而易見的,可在無此等特定細節之情況下實踐各種實例。圖式及描述不意欲為限制性的。
隨後描述僅提供例示性實例,且並不意欲限制本發明的範疇、可應用性或組態。相反,例示性實例之隨後描述將為熟習此項技術者提供用於實施例示性實例之能夠實現的描述。應理解,可在不背離如所附申請專利範圍中所闡述之本申請案之精神及範疇的情況下對元件之功能及配置做出各種變化。
視訊寫碼器件實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用不同預測模式(包括空間預測(例如圖框內預測或框內預測)、時間預測(例如圖框間預測或框間預測)、層間預測(橫越視訊資料之不同層)及/或其他預測技術)以減少或移除為視訊序列所固有的冗餘。視訊編碼器可將原始視訊序列之每一圖像分割成被稱作視訊區塊或寫碼單元(下文更詳細地描述)之矩形區。可使用特定預測模式來編碼此等視訊區塊。
視訊區塊可以一或多種方式分成較小區塊之一或多個群組。區塊可包括寫碼樹型區塊、預測區塊、變換區塊及/或其他合適區塊。除非另外指定,否則通常對「區塊」之參考可指此等視訊區塊(例如,寫碼樹型區塊(CTB)、寫碼區塊、預測區塊、變換區塊適或其他當區塊或子區塊,如將藉由一般熟習此項技術者理解)。另外,此等區塊中之每一者在本文中亦可互換地稱為「單元」(例如寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)或其類似者)。在一些情況下,單元可指示經編碼於位元串流中的寫碼邏輯單元,而區塊可指示一程序目標所指向的視訊圖框緩衝器之一部分。
對於框間預測模式,視訊編碼器可搜尋類似於經編碼於定位於另一時間位置中的圖框(或圖像)(被稱作參考圖框或參考圖像)中之區塊的區塊。視訊編碼器可將搜尋限於自待編碼之區塊的某一空間位移。在一些系統中,使用包括水平位移分量及垂直位移分量之二維(2D)運動向量定位最佳匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之先前經編碼相鄰區塊的資料使用空間預測技術而形成預測區塊。
視訊編碼器可判定預測誤差。舉例而言,可判定預測為經編碼區塊與預測區塊中之像素值之間的差。預測誤差亦可被稱作殘餘。視訊編碼器亦可將變換應用於預測誤差(例如,離散餘弦變換(DCT)或其他合適之變換)以產生變換係數。在變換之後,視訊編碼器可量化變換係數。在一些實例中,經量化變換係數及運動向量係使用語法元素表示,且連同控制資訊形成視訊序列之經寫碼表示。在一些情況下,視訊編碼器可熵寫碼語法元素,藉此進一步減少其表示所需之位元數目。
視訊解碼器可使用上文所論述之語法元素及控制資訊建構用於解碼當前圖框之預測性資料(例如,預測性區塊)。舉例而言,視訊解碼器可將預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數而加權變換基底函數來判定經壓縮預測誤差。經重建構圖框及原始圖框之間的差被稱作重建構誤差。
本文中所描述的技術可應用於現有視訊編解碼器中之任一者(例如高效視訊寫碼(HEVC)、進階視訊寫碼(AVC)或其他合適現有視訊編解碼器),及/或可為用於正被開發之任何視訊寫碼標準及/或未來視訊寫碼標準(諸如多功能視訊寫碼(VVC)、聯合探索模型(JEM)及/或在開發中或將開發之其他視訊寫碼標準)的高效寫碼工具。
圖1為說明包括編碼器件104及解碼器件112之系統100之實例的方塊圖。編碼器件104可為源器件之部分,且解碼器件112可為接收器件之部分。源器件及/或接收器件可包括電子器件,諸如行動或靜止電話手機(例如,智慧型電話、蜂巢式電話或其類似者)、桌上型電腦、膝上型或筆記型電腦、平板電腦、機頂盒、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件、網際網路協定(IP)攝影機或任何其他合適的電子器件。在一些實例中,源器件及接收器件可包括用於無線通信之一或多個無線收發器。本文中所描述之寫碼技術可適用於各種多媒體應用中之視訊寫碼,包括串流視訊傳輸(例如,經由網際網路)、電視廣播或傳輸、編碼數位視訊以供儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之數位視訊或其他應用。在一些實例中,系統100可支援單向或雙向視訊傳輸以支援諸如視訊會議、視訊串流、視訊播放、視訊廣播、遊戲及/或視訊電話之應用。
編碼器件104 (或編碼器)可用以使用視訊寫碼標準或協定編碼視訊資料以產生經編碼視訊位元串流。視訊寫碼標準之實例包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264(亦稱為ISO/IEC MPEG-4 AVC),包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展,及HEVC或ITU-T H.265。處理多層視訊寫碼之HEVC之各種擴展存在,包括範圍及螢幕內容寫碼擴展、3D視訊寫碼(3D-HEVC)及多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。HEVC及其擴展已藉由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼擴展開發聯合協作小組(JCT-3V)開發。MPEG及ITU-T VCEG已亦形成聯合探索視訊小組(JVET),以探索用於下一代視訊寫碼標準之新寫碼工具。參考軟體被稱作JEM(聯合探索模型)。藉由JVET開發之新的視訊寫碼標準稱作通用視訊寫碼(VVC)。
HEVC在2013年由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)的視訊寫碼聯合協作小組(JCT-VC)完成。聯合視訊專家小組(JVET)、藉由MPEG及ITU-T研究組16 VCEG形成的協作小組正致力於新的VVC視訊寫碼標準。VVC之目標係提供對於現有HEVC標準的壓縮效能之顯著改良,輔助較高品質視訊服務及新興應用(例如360°全向沉浸式多媒體、高動態範圍(HDR)視訊,以及其他)的部署。
本文中所描述之許多實例提供使用JEM模型、VVC、HEVC標準及/或其擴展的實例。然而,本文中所描述的技術及系統亦可適用於其他寫碼標準,諸如AVC、MPEG、JPEG (或用於靜止影像之其他寫碼標準)、其擴展,或已經可用或尚未可用或開發的其他合適寫碼標準。因此,雖然可參考特定視訊寫碼標準描述本文中所描述之技術及系統,但一般熟習此項技術者將瞭解,描述不應解譯為僅適用於彼特定標準。
參看圖1,視訊源102可將視訊資料提供至編碼器件104。視訊源102可為源器件之一部分,或可為除源器件以外的器件之一部分。視訊源102可包括視訊俘獲器件(例如,視訊攝影機、攝影機電話、視訊電話或其類似者)、含有經儲存視訊之視訊存檔、提供視訊資料之視訊伺服器或內容提供者、自視訊伺服器或內容提供者接收視訊之視訊饋入介面、用於產生電腦圖形視訊資料之電腦圖形系統、此等源之組合或任何其他合適的視訊源。
來自視訊源102之視訊資料可包括一或多個輸入圖像或圖框。圖像或圖框為在一些情況下為視訊之部分的靜態影像。在一些實例中,來自視訊源102之資料可為並非為視訊之一部分的靜態影像。編碼器件104之編碼器引擎106(或編碼器)編碼視訊資料以產生經編碼視訊位元串流。在一些實例中,經編碼視訊位元串流(或「視訊位元串流」或「位元串流」)為一系列之一或多個經寫碼視訊序列。經寫碼視訊序列(CVS)包括一系列存取單元(AU),其始於在基礎層中具有隨機存取點圖像且具有某些屬性之AU,直至且不包括在基礎層中具有隨機存取點圖像且具有某些屬性之下一AU。舉例而言,開始CVS的隨機存取點圖像之某些屬性可包括等於1之一RASL旗標(例如,NoRaslOutputFlag)。否則,隨機存取點圖像(具有等於0之RASL旗標)不開始CVS。存取單元(AU)包括一或多個經寫碼圖像及對應於共用相同輸出時間之經寫碼圖像的控制資訊。圖像之經寫碼圖塊在位元串流層級經囊封至被稱作網路抽象層(NAL)單元之資料單元中。舉例而言,HEVC視訊位元串流可包括一或多個CVS,該一或多個CVS包括NAL單元。NAL單元中之每一者具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC (除了多層擴展以外)為一個位元組且對於HEVC為兩個位元組。NAL單元標頭中之語法元素採取經指定位元,且因此對所有種類之系統及輸送層可見,諸如輸送串流、即時輸送(RTP)協定、檔案格式以及其他。
兩種類別之NAL單元存在於HEVC標準中,包括視訊寫碼層(VCL) NAL單元及非VCL NAL單元。VCL NAL單元包括經寫碼圖像資料之一個圖塊或圖塊片段(如下描述),且非VCL NAL單元包括關於一或多個經寫碼圖像之控制資訊。在一些情況下,NAL單元可被稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。
NAL單元可含有形成視訊資料之經寫碼表示(諸如,視訊中之圖像的經寫碼表示)的位元序列(例如,經編碼視訊位元串流、位元串流之CVS或其類似者)。編碼器引擎106藉由將每一圖像分割成多個圖塊而產生圖像之經寫碼表示。一圖塊獨立於其他圖塊,以使得在不依賴於來自同一圖像內之其他圖塊之資料的情況下寫碼該圖塊中之資訊。一圖塊包括一或多個圖塊片段,該一或多個圖塊片段包括獨立圖塊片段及(若存在)取決於先前圖塊片段之一或多個相關圖塊片段。圖塊隨後被分割成明度樣本及色度樣本之寫碼樹型區塊(CTB)。明度樣本之CTB及色度樣本之一或多個CTB連同樣本之語法被稱為寫碼樹型單元(CTU)。CTU為用於HEVC編碼之基本處理單元。CTU可經分裂成具有不同大小之多個寫碼單元(CU)。CU含有被稱為寫碼區塊(CB)之明度及色度樣本陣列。
明度及色度CB可進一步被分裂成預測區塊(PB)。PB為對於框間預測或塊內複製預測(在可用或經啟用以供使用時)使用相同運動變數的明度分量或色度分量之樣本之區塊。明度PB及一或多個色度PB以及相關聯語法形成預測單元(PU)。對於框間預測,一組運動變數(例如,一或多個運動向量、參考索引或其類似者)係在用於每一PU之位元串流中發信且用於明度PB及一或多個色度PB之框間預測。運動變數亦可被稱作運動資訊。CB亦可分割成一或多個變換區塊(TB)。TB表示色彩分量之樣本之正方形區塊,對該正方形區塊應用同一二維變換以用於寫碼預測殘餘信號。變換單元(TU)表示明度及色度樣本之TB及對應語法元素。
CU之大小對應於寫碼模式之大小,且可為正方形形狀。舉例而言,CU之大小可為8×8樣本、16×16樣本、32×32樣本、64×64樣本或達至對應CTU之大小的任何其他適當大小。片語「N×N」在本文中用於指就垂直及水平尺寸而言視訊區塊之像素尺寸(例如,8像素×8像素)。可按列及行來配置區塊中之像素。在一些實例中,區塊在水平方向上可不具有與在垂直方向上相同的數目個像素。與CU相關聯之語法資料可描述例如將CU分割成一或多個PU。分割模式可在CU經框內預測模式編碼抑或經框間預測模式編碼之間有所不同。PU可被分割成非正方形形狀。與CU相關聯之語法資料亦可描述(例如)根據CTU將CU分割成一或多個TU。TU可為正方形或非正方形形狀。
根據HEVC標準,可使用變換單元(TU)來執行變換。TU可針對不同CU而變化。可基於給定CU內之PU的大小而對TU設定大小。TU可與PU大小相同或小於PU。在一些實例中,可使用被稱為殘餘四分樹(RQT)之四分樹結構將對應於CU之殘餘樣本再分成較小單元。RQT之葉節點可對應於TU。可變換與TU相關聯之像素差值以產生變換係數。變換係數可隨後由編碼器引擎106量化。
一旦視訊資料之圖像被分割成CU,編碼器引擎106便使用預測模式來預測每一PU。隨後自原始視訊資料減去預測單元或預測區塊以得到殘餘(如下描述)。對於各CU,可使用語法資料在位元串流內部發信預測模式。預測模式可包括框內預測(或圖像內預測)或框間預測(或圖像間預測)。框內預測使用圖像內之空間相鄰樣本之間的相關性。舉例而言,在使用框內預測之情況下,使用(例如)DC預測以發現PU之平均值、使用平面預測以使平面表面擬合於PU、使用方向預測以自相鄰資料外插或使用任何其他合適類型之預測,自同一圖像中之相鄰影像資料預測每一PU。框間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。舉例而言,在使用框間預測之情況下,使用運動補償預測自一或多個參考圖像(按輸出次序在當前圖像之前或之後)中之影像資料預測每一PU。可(例如)在CU層級決定是否使用圖像間預測抑或圖像內預測來寫碼圖像區域。
在一些實例中,圖像之一或多個圖塊被指派圖塊類型。圖塊類型包括I圖塊、P圖塊及B圖塊。I圖塊(框內預測圖框,可獨立解碼)為僅藉由框內預測寫碼之圖像的圖塊,且因此可獨立解碼,此係因為I圖塊僅需要圖框內之資料來預測圖塊之任何預測單元或預測區塊。P圖塊(單向預測圖框)為可藉由框內預測及藉由單向框間預測寫碼之圖像的圖塊。藉由框內預測抑或框間預測寫碼P圖塊內之每一預測單元或預測區塊。當應用框間預測時,僅藉由一個參考圖像預測該預測單元或預測區塊,且因此參考樣本僅來自一個圖框之一個參考區。B圖塊(雙向預測性圖框)為可藉由框內預測及框間預測(例如,雙向預測抑或單向預測)寫碼的圖像之圖塊。B圖塊之預測單元或預測區塊可自兩個參考圖像雙向預測,其中每一圖像貢獻一個參考區且兩個參考區之樣本集合經加權(例如,運用相等權重或運用不同權重)以產生雙向預測區塊之預測信號。如上文所解釋,一個圖像之圖塊被獨立寫碼。在一些情況下,圖像可僅作為一個圖塊而被寫碼。
如上文所提及,圖像內預測使用圖像內之空間相鄰樣本之間的相關性。圖像間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。使用平移運動模型,先前解碼之圖像(參考圖像)中的區塊之位置係藉由運動向量(Δ x
,Δ y
)指示,其中Δ x
指定水平位移且Δ y
指定參考區塊相對於當前區塊之位置的垂直位移。在一些情況下,運動向量(Δ x
,Δ y
)可在整數樣本準確度(亦稱作整數準確度)中,在此情況下運動向量指向參考圖框之整數像素網格(或整數像素取樣網格)。在一些情況下,運動向量(Δ x
,Δ y
)可具有分數樣本準確度(亦稱作分數像素準確度或非整數準確度)以更準確地俘獲基礎物件之移動而不限於參考圖框之整數像素網格。運動向量之準確度可由運動向量之量化層級表達。舉例而言,量化層級可為整數準確度(例如,1像素)或分數像素準確度(例如,¼像素、½像素或其他子像素值)。當對應運動向量具有分數樣本準確度時,對參考圖像應用內插以導出預測信號。舉例而言,在整數位置處可用的樣本可經濾波(例如使用一或多個內插濾波器)以估計在分數位置處之值。先前經解碼參考圖像由參考圖像清單的參考索引(refIdx)指示。運動向量及參考索引可被稱作運動變數。可執行兩種圖像間預測,包括單向預測及雙向預測。
在框間預測使用雙向預測情況下,兩組運動變數(,,及,,)用於產生兩個經運動補償之預測(自相同參考圖像或可能自不同參考圖像)。舉例而言,藉由雙向預測,每一預測區塊使用兩個運動補償預測信號,且產生B預測單元。隨後組合兩個運動補償預測以得到最終運動補償預測。舉例而言,可藉由取平均值來組合兩個運動補償預測。在另一實例中,可使用加權預測,在此情況下,不同權重可應用於每一運動補償預測。可用於雙向預測中之參考圖像儲存於兩個分開的清單(表示為清單0及清單1)中。可使用運動估計程序在編碼器處導出運動變數。
在框間預測使用單向預測情況下,一組運動變數(,,)用以自參考圖像產生經運動補償之預測。舉例而言,藉由單向預測,每一預測區塊使用至多一個運動補償預測信號,且產生P預測單元。
PU可包括與預測程序相關之資料(例如,運動變數或其他合適資料)。舉例而言,當使用框內預測編碼PU時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當使用框間預測來編碼PU時,PU可包括定義用於PU之運動向量的資料。定義用於PU之運動向量的資料可描述(例如)運動向量之水平分量(Δ x
)、運動向量之垂直分量(Δ y
)、用於運動向量之解析度(例如整數精度、四分之一像素精度或八分之一像素精度)、運動向量指向的參考圖像、參考索引、用於運動向量之參考圖像清單(例如清單0、清單1或清單C),或其任何組合。。
編碼器件104隨後可執行變換及量化。舉例而言,在預測之後,編碼器引擎106可計算對應於PU之殘餘值。殘餘值可包含被寫碼的像素之當前區塊(PU)與用以預測當前區塊之預測區塊(例如,當前區塊之預測版本)之間的像素差值。舉例而言,在產生預測區塊(例如使用框間預測或框內預測)之後,編碼器引擎106可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘餘區塊。殘餘區塊包括量化當前區塊之像素值與預測區塊之像素值之間的差的一組像素差值。在一些實例中,殘餘區塊可以二維區塊格式(例如,像素值之二維矩陣或陣列)表示。在此等實例中,殘餘區塊為像素值之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘餘資料,此變換可基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他合適的變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如,大小32×32、16×16、8×8、4×4或其他合適大小)可應用於每一CU中之殘餘資料。在一些實例中,TU可用於由編碼器引擎106實施之變換及量化程序。具有一或多個PU之給定CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘餘值變換成變換係數,且隨後可使用TU來量化且掃描殘餘值以產生用於熵寫碼之串列化變換係數。
在一些實例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘餘資料。PU可包含空間域(或像素域)中之像素資料。在應用區塊變換之後,TU可包含變換域中之係數。如先前所提及,殘餘資料可對應於未經編碼圖像之像素與對應於PU之預測值之間的像素差值。編碼器引擎106可形成包括CU之殘餘資料的TU,且隨後可變換TU以產生CU之變換係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以減少用以表示係數之資料的量而提供進一步壓縮。舉例而言,量化可減少與係數中之一些或所有相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經降值捨位為m位元值,其中n大於m。
在量化被執行後,經寫碼視訊位元串流包括經量化變換係數、預測資訊(例如,預測模式、運動向量、區塊向量或其類似者)、分割資訊及任何其他合適之資料,諸如其他語法資料。隨後可藉由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可使用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的串列化向量。在一些實例中,編碼器引擎106可執行適應性掃描。在掃描經量化變換係數以形成一向量(例如一維向量)之後,編碼器引擎106可熵編碼該向量。舉例而言,編碼器引擎106可使用上下文適應性可變長度寫碼、上下文適應性二進位算術寫碼、基於語法之上下文適應性二進位算術寫碼、機率區間分割熵寫碼或另一合適的熵編碼技術。
編碼器件104之輸出110可經由通信鏈路120將組成經編碼視訊位元串流資料之NAL單元發送至接收器件之解碼器件112。解碼器件112之輸入114可接收NAL單元。通信鏈路120可包括由無線網路、有線網路或有線網路與無線網路之組合提供的通道。無線網路可包括任何無線介面或無線介面之組合,且可包括任何合適的無線網路(例如,網際網路或其他廣域網路、基於封包之網路、WiFiTM
、射頻(RF)、UWB、WiFi-Direct、蜂巢式、長期演進(LTE)、WiMaxTM
或其類似者)。有線網路可包括任何有線介面(例如,光纖、乙太網路、電力線乙太網路、經由同軸電纜之乙太網路、數位信號線(DSL)或其類似者)。可使用各種裝備來實施有線及/或無線網路,該等裝備諸如基地台、路由器、存取點、橋接器、閘道器、交換器或其類似者。可根據通信標準(諸如,無線通信協定)調變經編碼視訊位元串流資料,且將其傳輸至接收器件。
在一些實例中,編碼器件104可將經編碼視訊位元串流資料儲存於儲存器108中。輸出110可自編碼器引擎106或自儲存器108擷取經編碼視訊位元串流資料。儲存器108可包括多種分散式或本端存取之資料儲存媒體中之任一者。舉例而言,儲存器108可包括硬碟機、儲存光碟、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。
解碼器件112之輸入114接收經編碼視訊位元串流資料,且可將視訊位元串流資料提供至解碼器引擎116,或提供至儲存器118以供稍後由解碼器引擎116使用。解碼器引擎116可藉由熵解碼(例如,使用熵解碼器)及提取組成經編碼視訊資料之一或多個經寫碼視訊序列的元素而解碼經編碼視訊位元串流資料。解碼器引擎116可隨後重新按比例調整經編碼視訊位元串流資料且對經編碼視訊位元串流資料執行反變換。殘餘資料隨後傳遞至解碼器引擎116之預測級。解碼器引擎116隨後預測像素之區塊(例如PU)。在一些實例中,預測被添加至反變換之輸出(殘餘資料)。
解碼器件112可將經解碼視訊輸出至視訊目的地器件122,視訊目的地器件可包括用於將經解碼視訊資料顯示給內容之消費者的顯示器或其他輸出器件。在一些態樣中,視訊目的地器件122可為包括解碼器件112的接收器件之部分。在一些態樣中,視訊目的地器件122可為不同於接收器件的分開的器件之部分。
在一些實例中,視訊編碼器件104及/或視訊解碼器件112可分別與音訊編碼器件及音訊解碼器件整合。視訊編碼器件104及/或視訊解碼器件112亦可包括實施上文所描述之寫碼技術所必要的其他硬體或軟體,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器件104及視訊解碼器件112可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。下文參看圖7描述編碼器件104之特定細節的實例。下文參看圖8描述解碼器件112之特定細節的實例。
對HEVC標準之擴展包括多視圖視訊寫碼擴展(被稱作MV-HEVC)及可調式視訊寫碼擴展(被稱作SHVC)。MV-HEVC及SHVC擴展共用分層寫碼之概念,其中不同層包括於經編碼視訊位元串流中。經寫碼視訊序列中之每一層係由唯一層識別符(ID)定址。層ID可存在於NAL單元之標頭中以識別NAL單元所相關聯之層。在MV-HEVC中,不同層可表示視訊位元串流中之同一場景的不同視圖。在SHVC中,提供以不同空間解析度(或圖像解析度)或不同重建構保真度表示視訊位元串流的不同可調式層。可調式層可包括基礎層(具有層ID=0)及一或多個增強層(具有層ID=1、2、…n)。基礎層可符合HEVC之第一版本的設定檔,且表示位元串流中之最低可用層。與基礎層相比,增強層具有增加之空間解析度、時間解析度或圖框速率及/或重建構保真度(或品質)。增強層經階層式組織,且可(或可不)取決於較低層。在一些實例中,可使用單一標準編解碼器來寫碼不同層(例如,使用HEVC、SHVC或其他寫碼標準編碼所有層)。在一些實例中,可使用多標準編解碼器來寫碼不同層。舉例而言,可使用AVC來寫碼基礎層,而可使用對HEVC標準之SHVC及/或MV-HEVC擴展來寫碼一或多個增強層。
一般而言,層包括一組VCL NAL單元及對應的一組非VCL NAL單元。NAL單元被指派特定層ID值。在層可取決於較低層的意義上,層可為階層式的。層集合指表示於位元串流內之獨立的層之集合,意謂在解碼程序中層集合內之層可取決於層集合中之其他層,但並不取決於任何其他層來進行解碼。因此,層集合中之層可形成可表示視訊內容之獨立位元串流。可藉由子位元串流提取程序之操作自另一位元串流獲得層集合中之層的集合。層集合可對應於待在解碼器希望根據某些變數操作時被解碼之層集合。
如先前所描述,HEVC位元串流包括NAL單元之群組,包括VCL NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列存在於VCL NAL單元中。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級資訊的變數集。舉例而言,變數集可包括視訊變數集(VPS)、序列變數集(SPS)及圖像變數集(PPS)。變數集之目標之實例包括位元速率效率、錯誤復原及提供系統層介面。每一圖塊參考單一作用中PPS、SPS及VPS以存取解碼器件112可用於解碼圖塊之資訊。可針對每一變數集寫碼識別符(ID),包括VPS ID、SPS ID及PPS ID。SPS包括SPS ID及VPS ID。PPS包括PPS ID及SPS ID。每一圖塊標頭包括PPS ID。使用ID,可識別針對給定圖塊之作用中變數集。
PPS包括適用於給定圖像中之所有圖塊的資訊。因此,圖像中之所有圖塊參考同一PPS。不同圖像中之圖塊亦可參考同一PPS。SPS包括適用於同一經寫碼視訊序列(CVS)或位元串流中之所有圖像的資訊。如先前所描述,經寫碼視訊序列為一系列存取單元(AU),其始於在基礎層中且具有某些屬性(如上文所描述)之隨機存取點圖像(例如,瞬時解碼參考(IDR)圖像或斷鏈存取(BLA)圖像或其他適當的隨機存取點圖像),直至且不包括具有在基礎層中且具有某些屬性之隨機存取點圖像的下一AU (或位元串流之末端)。SPS中之資訊可不在經寫碼視訊序列內在圖像間變化。經寫碼視訊序列中之圖像可使用同一SPS。VPS包括適用於經寫碼視訊序列或位元串流內之所有層的資訊。VPS包括具有適用於全部經寫碼視訊序列之語法元素的語法結構。在一些實例中,可與經編碼位元串流一起頻帶內傳輸VPS、SPS或PPS。在一些實例中,可在獨立於含有經寫碼視訊資料之NAL單元的傳輸中頻帶外傳輸VPS、SPS或PPS。
視訊位元流亦可包括補充增強資訊(SEI)訊息。舉例而言,SEI NAL單元可為視訊位元串流之部分。在一些情況下,SEI訊息可含有不由解碼程序使用的資訊。舉例而言,SEI訊息中之資訊對於解碼器解碼位元串流之視訊圖像可能並不重要,但解碼器可使用資訊以改良圖像之顯示或處理(例如,經解碼輸出)。SEI訊息中之資訊可為嵌入型後設資料。在一個說明性實例中,SEI訊息中之資訊可由解碼器側實體使用以改良內容之可見性。在一些情況下,某些應用標準可強制此類SEI訊息在位元串流中之存在以使得符合應用標準之所有器件可達成品質之改良(例如,用於圖框可相容平面立體3DTV視訊格式之圖框封裝SEI訊息的攜載,其中針對視訊之每一圖框攜載SEI訊息;恢復點SEI訊息之處置;拉移式掃描矩形SEI訊息在DVB中之使用;外加許多其他實例)。
圖2展示可如下文在圖7及圖8中所描述而使用的濾波器單元91之實例實施。濾波器單元63可以相同方式實施。濾波器單元63及91可可能結合視訊編碼器件104或視訊解碼器件112之其他組件執行本發明之技術。在其他實例中,濾波器單元63可為在例如視訊解碼器器件112外部的可執行本發明之技術(例如在經解碼視訊自視訊解碼器器件112輸出之後)的後處理單元。在圖2之實例中,濾波器單元91包括解塊濾波器202、樣本適應性偏移(SAO)濾波器204及適應性迴圈濾波器(ALF)/基於幾何變換之適應性迴圈濾波器(GALF)濾波器206。SAO濾波器204可例如經組態以判定區塊之樣本之偏移值。ALF/GALF濾波器206可經組態以例如基於用於濾波包括於與當前區塊相同之適應變數集合(APS)、不同APS或預定濾波器中的先前區塊之變數判定用於濾波當前區塊的變數。如下文所描述,一或多個APS可包括於經編碼視訊位元串流中且可攜載濾波器係數以及其他資訊。
與圖2中展示之彼等濾波器相比,濾波器單元91可包括較少濾波器及/或可包括額外濾波器。另外,圖2中展示之特定濾波器可以不同次序實施。亦可使用其他迴圈濾波器(在寫碼迴圈內抑或在寫碼迴圈之後)使像素轉變平滑,或以其他方式改良視訊品質。當在寫碼迴圈中時,給定圖框或圖像中之經解碼視訊區塊隨後儲存於經解碼圖像緩衝器(DPB)中,該經解碼圖像緩衝器儲存用於後續運動補償之參考圖像。DPB可為額外記憶體之部分或與其分離,該額外記憶體儲存用於稍後呈現於諸如圖1之視訊目的地器件122之顯示器的顯示器件上之經解碼視訊。
如上文所提及,APS可用於攜載位元串流中之濾波器係數。APS可具有相關聯類型,諸如ALF類型或LMCS類型。APS可含有明度濾波器變數之一集合或色度濾波器變數之一或多個集合,或其組合。圖像塊群組(亦即,一或多個圖像塊之群組)可在其圖像塊群組標頭中僅僅發信用於當前圖像塊群組的APS之索引。APS可用於各種視訊寫碼標準,諸如VVC。當前存在用於VVC的高至八個APS,然而,更多或更少APS可在未來用於VVC或其他視訊寫碼標準。
在一些實例中(例如在諸如VVC草案7(JVET-P2001)之某些VVC實施中),在ALF APS中發信適應性迴圈濾波器(ALF)。一個ALF可含有明度濾波器之集合及/或色度濾波器之集合。每一明度濾波器集合可具有多個濾波器(例如10個濾波器、20個濾波器、高至25個濾波器,等)。每一色度濾波器集合亦可具有多個濾波器(例如10個濾波器、高至8個濾波器、15個濾波器,等)。明度寫碼樹型區塊可參考ALF APS且可使用明度濾波器集合。色度寫碼樹型區塊可參考ALF APS且可使用色度濾波器集合中之一個色度濾波器。
圖3說明位元串流300,且展示可在位元串流300中傳輸的變數之不同實例。在一個實例中,變數可藉由視訊編碼器器件104傳輸並藉由視訊解碼器器件112接收。如本文中所描述,位元串流不僅包括作為APS之部分的此等變數,而且包括圖像資料(例如視訊資料或影像資料)及其他資料。位元串流300包括SPS 302、PPS 304、APS 306、APS 316、圖塊標頭320及圖塊資料330。位元串流300之圖像亦可包括包括與該圖像相關之資訊的圖像標頭。此等元素之細節在上文描述。
在此種位元串流300中,每一APS係與一APS NAL單元相關聯。作為位元串流之部分發送的與APS NAL單元相關聯的APS可包括如藉由圖3之APS 306所說明的以下各者中之一些或所有:(1)APS識別值(ID);(2)任何APS類型值;(3)類型資料(例如alf_luma_data()、alf_chroma_data(),或在如下表中所說明的其他實例中之任何其他此類資料);(3a)用於每一APS類型之類型旗標(例如alf_luma旗標及alf_chroma旗標)。APS ID可存在於圖像標頭中、圖像之圖塊的圖塊標頭中,或圖像標頭及圖塊標頭兩者中。下文詳細描述APS資料及參考該APS資料之相關聯圖塊標頭及圖塊資料的額外細節。舉例而言,在下文描述關於使用APS ID及APS類型值以唯一地識別特定APS,以及支援與此識別結合之結構及程序以改良用於編碼及解碼(例如使用APS類型特定緩衝器)的系統及器件之操作的細節。
除了上文之外,如藉由圖3之圖塊標頭320進一步說明,發送的每一APS可自相關聯圖塊標頭320參考。圖塊標頭可包括圖塊圖像變數集合ID以及用於各種APS之旗標。此可包括類型特定旗標,諸如所說明ALF啟用旗標以及明度及色度子旗標。如所說明,對於ALF類型,(4)SPS類型(例如ALF、LMCS等)啟用旗標可經剖析以識別(4a)圖塊類型啟用旗標何時待被處理。若圖塊類型啟用旗標存在(例如經標記、真等),則用於相關聯(4)(a)(i)APS類型明度id及(4)(a)(ii)APS類型色度id之分開的旗標被處理,如藉由實例所說明。此類旗標之特定細節及描述提供於下文中。
以上位元串流300變數可用於實施先前論述的濾波器資訊發信技術中之一些。如上文所論述,適應變數集合(APS)用於發信適應性迴圈濾波器(ALF)及帶有色度按比例調整之明度映射(LMCS)變數。在一些實例中,APS亦可用以發信按比例調整矩陣(例如作為scaling_APS語法元素)。雖然以下實例描述ALF類型APS(例如num_alf_luma_aps_ids)之態樣,但將顯而易見的是此類結構及相關聯程序可與任何APS類型一起使用。在一些情況下,適應性迴圈濾波用於視訊寫碼以藉由使用適應性濾波器最小化原始樣本與經解碼樣本之間的均方誤差,該適應性濾波器可為基於維納之適應性濾波器或其他合適適應性濾波器。ALF為迴圈濾波器。除了貫穿本說明書之外,關於圖7及圖8在下文描述迴圈濾波器。在現有視訊寫碼方案之一些實例中,APS經發信如下:
表1
adaptation_parameter_set_rbsp( ) { | 描述符 |
adaptation_parameter_set_id | u(5) |
aps_params_type | u(3) |
if( aps_params_type = = ALF_APS ) | |
alf_data( ) | |
else if( aps_params_type = = LMCS_APS ) | |
lmcs_data( ) | |
aps_extension_flag | u(1) |
if( aps_extension_flag ) | |
while( more_rbsp_data( ) ) | |
aps_extension_data_flag | u(1) |
rbsp_trailing_bits( ) | |
} |
其中變數類型經發信為:
表2
aps_params_type | aps_params_type之名稱 | APS變數之類型 |
0 | ALF_APS | ALF變數 |
1 | LMCS_APS | LMCS變數 |
2..7 | 經保留 | 經保留 |
在此類實例中,存在識別APS的五位元adaptation_parameter_set_id欄位,及描述APS變數類型的3位元aps_params_type(例如其含有ALF相關變數、按比例調整矩陣相關變數抑或LMCS相關變數)。以下表3之alf_data()函數隨後含有用於明度及色度ALF濾波器兩者之ALF變數。如表1中所說明,aps_params_type包括具有用於不同類型之值的alf_luma_data()及alf_chroma_data()。因此,根據表1,可在APS變數集合中發信不同類型。上文所說明的一個實例包括用於明度之一種類型及用於色度變數之一種類型。在其他實例中,可存在各種不同類型,包括多個明度及色度類型。在一些實例中,APS ID經發信用於每一APS類型,其可為LMCS類型、ALF類型或某一其他類型。另外,不同類型可具有相關聯ID,以使得具有為0之ID值的ALF類型不同於具有為0之ID值的LMCS類型。雖然表2展示在特定範圍或值空間中的3個aps_params_type值(例如具有不同對應名稱之0、1及2),其中值3至7經保留,但在各種其他實例中,可使用值之不同範圍(例如值空間)或最大值以及額外或不同類型。在一些實例中,此APS類型特定ID允許資訊藉由類型值與ID值之組合唯一地識別。
另外,在一些實例中,此APS類型特定ID允許最大值與APS類型相關聯,且每一類型可具有APS之不同數目。在一些此類實例中,最大ID值因此基於APS類型。APS額外負擔可隨後與APS類型值相關聯(例如2個位元用於0至3之最大ID值範圍,3個位元用於0至7之最大ID值範圍,等)。此最大ID值範圍亦可被視為多少ID可被發信的控制,其中碼字具有用以識別APS集合之某一範圍的限制。因此,如上文所描述,在一些實例中,APS之最大數目由類型(例如在類型特定基礎上)定義,且在此類實例中APS類型可隨後用於識別與APS類型相關聯的最大ID值。
上文在表1中使用Alf_data()。以下表3根據一些實例將alf_data()函數之態樣說明如下:
表3
alf_data( ) { | 描述符 |
alf_chroma_idc | tu(v) |
alf_luma_num_filters_signalled_minus1 | tb(v) |
if( alf_luma_num_filters_signalled_minus1 > 0 ) { | |
for( filtIdx = 0; filtIdx < NumAlfFilters; filtIdx++ ) | |
alf_luma_coeff_delta_idx[ filtIdx ] | tb(v) |
} | |
alf_luma_coeff_delta_flag | u(1) |
if ( !alf_luma_coeff_delta_flag && alf_luma_num_filters_signalled_minus1 > 0 ) | |
alf_luma_coeff_delta_prediction_flag | u(1) |
alf_luma_min_eg_order_minus1 | ue(v) |
for( i = 0; i < 3; i++ ) | |
alf_luma_eg_order_increase_flag[ i ] | u(1) |
if ( alf_luma_coeff_delta_flag ) { | |
for( sigFiltIdx = 0; sigFiltIdx <= alf_luma_num_filters_signalled_minus1; sigFiltIdx++ ) | |
alf_luma_coeff_flag[ sigFiltIdx ] | u(1) |
} | |
for( sigFiltIdx = 0; sigFiltIdx <= alf_luma_num_filters_signalled_minus1; sigFiltIdx++ ) { | |
if ( alf_luma_coeff_flag[ sigFiltIdx ] ) { | |
for ( j = 0; j < 12; j++ ) { | |
alf_luma_coeff_delta_abs[ sigFiltIdx ][ j ] | uek(v) |
if( alf_luma_coeff_delta_abs[ sigFiltIdx ][ j ] ) | |
alf_luma_coeff_delta_sign[ sigFiltIdx ][ j ] | u(1) |
} | |
} | |
} | |
if ( alf_chroma_idc > 0 ) { | |
alf_chroma_min_eg_order_minus1 | ue(v) |
for( i = 0; i < 2; i++ ) | |
alf_chroma_eg_order_increase_flag[ i ] | u(1) |
for( j = 0; j < 6; j++ ) { | |
alf_chroma_coeff_abs[ j ] | uek(v) |
if( alf_chroma_coeff_abs[ j ] > 0 ) | |
alf_chroma_coeff_sign[ j ] | u(1) |
} | |
} | |
} |
表4為圖塊標頭()資料之實例,其中APS(例如APS 306)可在圖塊標頭(例如圖塊標頭320)中如下藉由使用slice_alf_aps_id[]旗標參考。
表4
slice_header( ) { | 描述符 |
slice_pic_parameter_set_id | ue(v) |
…. | |
if( sps_sao_enabled_flag ) { | |
slice_sao_luma_flag | u(1) |
if( ChromaArrayType != 0 ) | |
slice_sao_chroma_flag | u(1) |
} | |
if( sps_alf_enabled_flag ) { | |
slice_alf_enabled_flag | u(1) |
if( slice_alf_enabled_flag ) { | |
num_alf_aps_ids | tb(v) |
for( i = 0; i < num_alf_aps_ids; i++ ) | |
slice_alf_aps_id[ i ] | u(5) |
} | |
} | |
..... | u(1) |
在一些實例中,用於明度及色度分量之ALF濾波器變數在alf_data()中經捆綁在一起且藉由單一adaptation_parameter_set_id參考(例如如作為圖3的APS 306之部分參考)。然而,存在其中僅僅明度或色度ALF濾波器變數待經更新的情況。在APS中分離明度及色度ALF變數發信可係較佳,且待經更新的僅僅變數集合(例如明度及/或色度)可藉由編碼器發送以供解碼器使用。
系統、方法、裝置及電腦可讀媒體經描述以用於提供用於濾波器變數(例如用於ALF濾波器、SAO濾波器、解塊濾波器及/或其他濾波器)的改良之APS。在一些實例中,位元串流可包括用於明度及色度濾波器兩者之變數。一些實例可隨後包括用於明度及色度濾波器中之每一者的分開的旗標。舉例而言,一個旗標可發信包括明度濾波器變數,且分開的旗標可指示包括色度濾波器旗標,此允許用於明度及色度濾波器及濾波器集合的濾波器係數被分開地發信。舉例而言,明度及色度ALF變數發信可在具有用於明度及色度ALF濾波器之分開的旗標的APS中分離。
舉例而言,一個旗標可表示為alf_luma_filter_signaled,其指示明度濾波器是否在APS中,且另一旗標可表示為alf_chroma_filter_signaled,其指示色度濾波器是否在APS中。此等兩個旗標之發信可係獨立的,其中一個旗標之發信獨立於另一旗標之發信。在一個實例中,一個APS可含有明度及色度濾波器兩者(例如兩個旗標皆為真)。在另一實例中,一個APS僅僅包括一或多個明度濾波器且不包括色度濾波器(例如alf_luma_filter_signaled為真且alf_chroma_filter_signaled為假)。在另一實例中,一個APS僅僅包括一或多個色度濾波器且不包括明度濾波器(例如alf_luma_filter_signaled為假且alf_chroma_filter_signaled為真)。在一些情況下,APS中之明度及色度ALF類型係以相互排斥方式發信,在此情況下其中的僅僅一者可存在。因此,如上文所描述,當位元串流包括旗標時,針對彼旗標之相關聯變數來剖析該位元串流。類似地,若不同類型亦具有指示正使用的類型之旗標,則針對第二類型之變數來剖析位元串流。若用於明度及色度兩者之旗標經發信,則針對兩個濾波器之變數來剖析位元串流。在各種實施中,當明度及色度旗標經分開地發信時,僅僅針對經標記為存在的變數來剖析位元串流。明度及色度旗標之此分開發信藉由限制用於識別及使用濾波器變數之操作而改良執行剖析之器件的操作。在一些實例中,旗標不控制APS類型之係數是否存在,但控制其是否被使用過。係數可因此經發信以用於未來圖像。係數與濾波器是否在此類實例中應用分開,此係因為係數可與其中相關聯濾波器類型未被使用的圖像一起被發送,但係數可隨後用於濾波稍後圖像之一或多個部分。藉由分離濾波器類型,額外發信操作經包括以改良編碼及解碼器件的操作。
在一個實例中,用於ALF之APS類型可不被發信,但可被推斷或導出。舉例而言,若ALF係數之數目已知,則當用於每一類型之係數的數目係唯一的時,APS類型可自係數的數目推斷或導出。在一個實例中,明度ALF可使用濾波器係數之數目,且色度ALF可使用濾波器係數之另一數目。若係數的數目對於不同明度及色度ALF類型係不同的,則可在位元串流中無明確APS類型發信情況下基於係數之數目來判定包括於位元串流中之係數係用於明度抑或色度。
基於上述技術,APS變數集合語法(adaptation_parameter_set_rbsp())可修改如下:
表5
其中
表6
adaptation_parameter_set_rbsp( ) { | 描述符 |
adaptation_parameter_set_id | u(5) |
aps_params_type | u(3) |
if( aps_params_type = = ALF_LUMA_APS ) | |
alf_luma_data( ) | |
else if( aps_params_type = = ALF_CHROMA_APS ) | |
alf_chroma_data( ) | |
else if( aps_params_type = = LMCS_APS ) | |
lmcs_data( ) | |
aps_extension_flag | u(1) |
if( aps_extension_flag ) | |
while( more_rbsp_data( ) ) | |
aps_extension_data_flag | u(1) |
rbsp_trailing_bits( ) | |
} |
aps_params_type | aps_params_type之名稱 | APS變數之類型 |
0 | ALF_LUMA_APS | ALF明度變數 |
1 | ALF_CHROMA_APS | ALF色度變數 |
2 | LMCS_APS | LMCS變數 |
3..7 | 經保留 | 經保留 |
alf_luma_data()可包括:
表7
相關聯APS可自如下圖塊標頭參考:
表8
alf_luma_data( ) { | 描述符 |
alf_luma_num_filters_signalled_minus1 | tb(v) |
if( alf_luma_num_filters_signalled_minus1 > 0 ) { | |
for( filtIdx = 0; filtIdx < NumAlfFilters; filtIdx++ ) | |
alf_luma_coeff_delta_idx[ filtIdx ] | tb(v) |
} | |
alf_luma_coeff_delta_flag | u(1) |
if ( !alf_luma_coeff_delta_flag && alf_luma_num_filters_signalled_minus1 > 0 ) | |
alf_luma_coeff_delta_prediction_flag | u(1) |
alf_luma_min_eg_order_minus1 | ue(v) |
for( i = 0; i < 3; i++ ) | |
alf_luma_eg_order_increase_flag[ i ] | u(1) |
if ( alf_luma_coeff_delta_flag ) { | |
for( sigFiltIdx = 0; sigFiltIdx <= alf_luma_num_filters_signalled_minus1; sigFiltIdx++ ) | |
alf_luma_coeff_flag[ sigFiltIdx ] | u(1) |
} | |
for( sigFiltIdx = 0; sigFiltIdx <= alf_luma_num_filters_signalled_minus1; sigFiltIdx++ ) { | |
if ( alf_luma_coeff_flag[ sigFiltIdx ] ) { | |
for ( j = 0; j < 12; j++ ) { | |
alf_luma_coeff_delta_abs[ sigFiltIdx ][ j ] | uek(v) |
if( alf_luma_coeff_delta_abs[ sigFiltIdx ][ j ] ) | |
alf_luma_coeff_delta_sign[ sigFiltIdx ][ j ] | u(1) |
} | |
} | |
} | |
} |
slice_header( ) { | 描述符 |
slice_pic_parameter_set_id | ue(v) |
…. | |
if( sps_sao_enabled_flag ) { | |
slice_sao_luma_flag | u(1) |
if( ChromaArrayType != 0 ) | |
slice_sao_chroma_flag | u(1) |
} | |
if( sps_alf_enabled_flag ) { | |
slice_alf_enabled_flag | u(1) |
if( slice_alf_enabled_flag ) { | |
num_alf_luma_aps_ids | tb(v) |
for( i = 0; i < num_alf_luma_aps_ids; i++ ) | |
slice_alf_luma_aps_id[ i ] | u(5) |
alf_chroma_idc | tu(v) |
if (alf_chroma_idc > 0){ | |
num_alf_chroma_aps_ids | tb(v) |
for( i = 0; i < num_alf_chroma_aps_ids; i++ ) | |
slice_alf_chroma_aps_id[ i ] | u(5) |
} | |
} | |
….. |
在一些實例中,諸如在圖3的圖塊標頭320之實例中,與上表中之語法相關聯的語義可如下:
num_alf_luma_aps_ids指定圖塊指的明度ALF APS之數目。num_alf_luma_aps_ids之值應在0至maxNum之範圍中(包括端點)。maxNum值對於IRAP或圖像內類型應等於1,或另外等於7。
slice_alf_luma_aps_id[i]指定圖塊指的第i個ALF APS之adaptation_parameter_set_id。具有等於slice_alf_luma_aps_id[i]之adaptation_parameter_set_id的ALF APS NAL單元之TemporalId應小於或等於經寫碼圖塊NAL單元之TemporalId。若當前圖像為IRAP或內部,則slice_alf_luma_aps_id[i]不應指代經導出用於除當前圖像外的其他圖像的APS。
num_alf_chroma_aps_ids指定圖塊指的色度ALF APS之數目。num_alf_chroma_aps_ids之值應在0至maxNum之範圍中(包括端點)。maxNum值對於IRAP或圖像內類型應等於1,或另外等於7。
slice_alf_chroma_aps_id[i]指定圖塊指的第i個ALF APS之adaptation_parameter_set_id。具有等於slice_alf_chroma_aps_id[i]之adaptation_parameter_set_id的ALF APS NAL單元之TemporalId應小於或等於經寫碼圖塊NAL單元之TemporalId。
若當前圖像為IRAP,則Slice_alf_luma_aps_id[i]不應指代經導出用於除當前圖像外的其他圖像的APS。
在一些情況下,num_alf_chroma_aps_ids未經發信且可經推斷為1。在一個實例中,當最大值為1 (例如對於內部隨機存取圖像(IRAP)或圖像內類型圖像)時,當alf_chroma_idc>0時,num_alf_chroma_aps_ids未被發信且可被推斷為等於1。
在一些情況下,當APS類型經分裂用於明度ALF及色度ALF變數時,當num_alf_chroma_aps_ids的最大值為1 (例如對於IRAP或圖像內類型圖像)時,當num_alf_luma_aps為1時,slice_alf_chroma_aps_id[i]未被發信且被推斷為slice_alf_luma_aps_id[0]。
在一些情況下,當具有adaptation_parameter_set_id之相同值的多個ALF APS藉由相同圖像之兩個或多於兩個圖塊參考時,具有adaptation_parameter_set_id之相同值的多個ALF APS可或應具有相同內容。相比之下,當類型值(例如ALF類型、LMCS類型等)不同時,其他類型可具有相同ID,但具有不同內容。
關於num_alf_chroma_aps_ids語法元素,等於7的maxNum用作說明性實例。在一些情況下,其他值可經指定用於maxNum。在一個實例中,最大值可等於APS緩衝器之大小(例如APS之最大允許數目)。
在一些實例中,當圖像為IRAP(例如具有IRAP圖像類型)時,則圖像不能使用在一或多個先前圖像中使用的ALF濾波器,此係由於IRAP圖像可為解碼程序之開始點且關於一或多個先前圖像之資訊可能不係可用的。此係因為在以上語義中maxNum經設定為1以用於IRAP圖像。在一些情況下,將maxNum設定為1可並不係足夠的,此係由於任何ID仍可被發信,包括先前圖像APS之ID。為解決此問題,可添加編碼器約束條件,使得對於IRAP圖像,APS ID不應指代經導出用於一或多個先前圖像的APS或自該一或多個先前圖像導出的APS。此約束條件亦可應用於I_SLICE_TYPE。
如本文中所描述,用於色度之多個APS係藉由num_alf_chroma_aps_ids及slice_alf_chroma_aps_id[i]支援。在色度CTB中,APS索引i可經發信以識別slice_alf_chroma_aps_id[i]。
在一個實例中,此色度CTB發信可以與其針對明度進行之方式類似的方式執行,如同發信第一APS(例如slice_alf_chroma_aps_id[0])是否使用的旗標,且若不使用,則發信APS索引減去1。下文展示關於VVC的修改之一個說明性實例,其中添加物係以在「<insert>」與「<insertend>」符號之間的帶下劃線本文展示(例如「<insert>添加本文
<insertend>」):
表9
coding_tree_unit( ) { | 描述符 |
xCtb = ( CtbAddrInRs % PicWidthInCtbsY ) << CtbLog2SizeY | |
yCtb = ( CtbAddrInRs / PicWidthInCtbsY ) << CtbLog2SizeY | |
if( slice_sao_luma_flag | | slice_sao_chroma_flag ) | |
sao( xCtb >> CtbLog2SizeY, yCtb >> CtbLog2SizeY ) | |
if( slice_alf_enabled_flag ){ | |
alf_ctb_flag[ 0 ][ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] | ae(v) |
if( alf_ctb_flag[ 0 ][ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] ) { | |
if( slice_num_alf_aps_ids_luma > 0) | |
alf_ctb_use_first_aps_flag | ae(v) |
if( !alf_ctb_use_first_aps_flag ) { | |
if( slice_num_alf_aps_ids_luma > 1 ) | |
alf_use_aps_flag | ae(v) |
if( alf_use_aps_flag ) | |
alf_luma_prev_filter_idx_minus1 | ae(v) |
else | |
alf_luma_fixed_filter_idx | ae(v) |
} | |
} | |
if( slice_alf_chroma_idc = = 1 | | slice_alf_chroma_idc = = 3 ) | |
alf_ctb_flag[ 1 ][ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] | ae(v) |
if( slice_alf_chroma_idc = = 2 | | slice_alf_chroma_idc = = 3 ) | |
alf_ctb_flag[ 2 ][ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] | ae(v) |
<insert>if( alf_ctb_flag[ 1 ][ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] || alf_ctb_flag[ 2 ][ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] ) { | |
if( slice_num_alf_aps_ids_chroma > 0 ) | |
alf_chroma_ctb_use_first_aps_flag | ae(v) |
if( !alf_chroma_ctb_use_first_aps_flag ) | |
if( slice_num_alf_aps_ids_chroma > 1 ) | |
alf_chroma_prev_filter_idx_minus1 | ae(v) |
} <insertend> | |
} | |
if( slice_type = = I && qtbtt_dual_tree_intra_flag ) | |
dual_tree_implicit_qt_split ( xCtb, yCtb, CtbSizeY, 0 ) | |
else | |
coding_tree( xCtb, yCtb, CtbSizeY, CtbSizeY, 1, 0, 0, 0, 0, 0, SINGLE_TREE ) | |
} |
上文及下文展示關於VVC之語義的修改之一個說明性實例,其中添加物係以在<insert>與<endinsert>符號之間的本文展示(例如「<insert>添加本文
<insertend>」)。舉例而言,在上表9中,關於VVV之語義的變化如下:
等於
1
之
<
insert
>
alf
_
chroma
_
ctb
_
use
_
first
_
aps
_
flag
指定具有等於
slice
_
alf
_
aps
_
id
_
chroma
[
0
]
之
adaptive
_
parameter
_
set
_
id
的
APS
中之濾波器資訊被使用。等於
0
之
alf
_
chroma
_
ctb
_
use
_
first
_
aps
_
flag
指定色度
CTB
不使用具有等於
slice
_
alf
_
aps
_
id
_
chroma
[
0
]
之
adaptive
_
parameter
_
set
_
id
的
APS
中之濾波器資訊。當
alf
_
chroma
_
ctb
_
use
_
first
_
aps
_
flag
不存在時,推斷其為等於
1
。
alf
_
chroma
_
prev
_
filter
_
idx
_
minus1
加
1
指定應用於色度
CTB
的先前濾波器。
alf
_
chroma
_
prev
_
filter
_
idx
_
minus1
之值應在
0
至
slice
_
num
_
alf
_
aps
_
ids
_
chroma
-
2
之範圍中
(
包括端點
)
。
表 9 中之 AlfCtbFiltSetIdxC [ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] 為指定在位置 ( xCtb , yCtb ) 處之色度 CTB 的濾波器集合索引的變量。在一些實例中,此濾波器集合索引可如下導出: AlfCtbFiltSetIdxC[ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] = alf_ctb_chroma_use_first_aps_flag ? 0 : alf_chroma_prev_filter_idx_minus1 + 1
<insertend>
在一些實例中,當應用色度ALF時,APS ID係自在CTB中發信之索引導出為:
<insert>i =<insertend> slice_alf_aps_id_chroma[ AlfCtbFiltSetIdxC[ xCtb >> Log2CtbSize ][ yCtb >> Log2CtbSize ] ]
f[ j ] = AlfCoeffC[ <insert>i<insertend> ][ j ] (8-1255) (f[ j ] = AlfCoeffC[ i ][ j ],不強調)
c[ j ] = AlfClipC[ <insert>i<insertend> ][ j ] (8-1256) (c[ j ] = AlfClipC[ i ][ j ],不強調)
在另一替代實例中,APS索引正好可經發信用於CTB。在以上實例中,num_alf_chroma_aps_ids及slice_alf_chroma_aps_id[i]與所有色度分量共用。替代地,每一色度分量可具有其自身num_alf_chroma_aps_ids及/或slice_alf_chroma_aps_id[i]。可以不同方式結構化其他實例。
在又一實例中,色度CTB APS索引及/或第一APS使用旗標之發信經共用用於兩個色度分量。在另一實例中,根據每一色度分量發信APS索引及/或第一APS使用旗標。在一些實例中,上下文可藉由兩個色度分量共用。在一些實例中,一個色度分量具有其自身上下文。
在另一實例中,第一APS使用旗標經發信用於兩個色度分量,但根據每一色度分量發信APS索引或反過來(例如依據分量發信第一APS使用旗標,但共用APS索引)。在後一情況中,除非色度(例如Cb或Cr)分量使用第一APS,否則可共用APS索引,在此情況下無關於APS索引值使用第一APS。
在又一實例中,發信以上發信是否共用(例如應用於兩個色度分量)(例如針對每一色度分量分開地進行發信)用於色度分量的一旗標。序列、圖像、圖塊、圖像塊、圖像塊群組、磚旗標及/或其他發信可經發信以指示發信是否共用。
在一些情況下,可擴展APS ID。舉例而言,APS中之資訊可與一或多個類型(諸如LMCS類型、ALF明度類型、ALF色度類型等)相關聯。當使用更多類型時可增加APS緩衝器之數目,然而其亦增加APS ID發信,APS ID發信例如可擴展至6位元(例如使用在0至63範圍內的ID值)或7位元(覆蓋0至127之範圍)。在各個實例中,此情形導致在發信中使用更多位元以指示哪些APS ID用於圖塊、圖像塊及/或圖像,此係由於APS ID未考慮APS類型,其係非所要的。
在一些實例中,定義可使用某一類型的APS ID之最大數目。在一個實例中,APS ID之最大數目可對於所有類型相等。隨後,APS ID及APS類型經發信,考慮APS類型而發信APS ID,因此最大值控制APS ID額外負擔。在其他實例中,APS ID之最大數目可對於不同類型而不同。
在APS ID對於不同APS類型係分開的一些實施中,分開的APS緩衝器可用於儲存用於每一APS類型之APS。考慮APS類型可執行藉由APS ID指定的APS更新及替換。舉例而言,當具有ID之APS替換緩衝器中之現有APS時,檢查APS之類型以識別哪一緩衝器被使用。在一些情況下,不同APS類型可使用相同APS ID,其在不考慮APS類型情況下使用APS ID時係不可能的。圖4中展示用於3種類型的APS緩衝器之實例。每一緩衝器具有0至最大數目之ID,該最大數目可係APS類型相依的。
因為類型值係自位元串流識別,因此類型值及隨後的相關聯發信識別位元串流中之分量的條件。舉例而言,當器件針對一APS類型值查看緩衝器表時,傳遞一相關聯APS值,該相關聯APS值可允許緩衝器表及位元串流資料之剖析匹配APS類型值。隨後基於APS類型(例如用於ALF或LMCS之經剖析資料)執行位元串流之剖析。
圖4描述緩衝器400,包括APS 1型緩衝器410、APS 2型緩衝器420及APS 3型緩衝器430。雖然圖4中展示三個不同緩衝器,但各種實例可具有任何數目個經定製以匹配經發信資料(例如位元串流中之資料)與APS類型並改良相關聯系統及器件操作的不同緩衝器。此類緩衝器允許如存在於發信資料中之APS待基於APS類型與緩衝器匹配,且可在緩衝器不匹配經發信資料(例如具有特定大小及相關聯記憶體使用的特定類型之APS)情況下藉由避免浪費資源而改良編碼及解碼器件。舉例而言,存在兩種類型,LMCS類型及ALF類型。在實例實例中,使用LMCS變數之僅僅一個集合與一個相關聯ID,而八個ALF ID與八個不同APS結合使用。用於LMCS之額外負擔為類型值及一位元ID值,且用於ALF之額外負擔為類型值及三位元ID值(例如以允許八個ALF ID)。在此系統中,APS 1型緩衝器410可與LMCS資料匹配,且APS 2型緩衝器420可與ALF資料匹配。額外負擔因此可與不同APS類型匹配。
當在位元串流中的圖像(及/或在圖像之圖像標頭中)之圖塊資料(例如圖塊標頭320及圖塊資料330)中發信APS ID時,包括APS ID之資料指示哪些APS ID用於特定圖塊。在一些實例中,APS ID之指示可允許系統基於歸因於APS類型匹配APS類型之最大數目ID的ID範圍(例如識別符空間)考慮APS類型(例如當每一APS類型具有相比於系統中之其他APS類型不同的識別符空間時)。當APS ID經發信用於一或多個變數集合時,一或多個先前變數集合可在對應緩衝器中替換。在以上實例中,歸因於僅僅一個LMCS變數集合被使用,每一新的LMCS變數集合將替換緩衝器中之舊的變數集合。新的ALF變數集合將替換先前儲存的八個變數集合中之一者。此藉由提供儲存額外資訊的能力而改良系統之操作。圖塊標頭及/或圖像標頭將發信APS ID,以及自位元串流基於圖塊標頭及/或圖像標頭中之資訊剖析的相關聯濾波器變數。濾波器可識別圖塊內之區塊(例如CTU、CU、PU、CTB或其他區塊)。圖塊標頭及/或圖像標頭(及/或其他發信資訊)可識別與每一區塊(例如CTU、CTB等)相關聯的濾波器或濾波器集合。當新的APS經發信時,僅僅更新與新的APS之APS類型相關聯的緩衝器。緩衝器可基於緩衝器類型以基於經發信APS類型自位元串流添加的新資訊來更新。
在一些實施中,自APS發信移除APS類型且僅僅APS ID用於識別緩衝器中之APS。在此等實施中,偏移值(對應於緩衝器中之開始點)可經定義用於使用APS的每一工具。舉例而言,偏移值對於LMCS可為0,對於ALF明度可為32,且對於ALF色度可為64。當在圖塊、圖像塊或圖像中發信APS ID時,關於可根據某一工具使用的APS之最大值發信APS ID。在以上實例中,APS ID之最大值對於每一類型為32。為重建構絕對APS ID,偏移值被添加至經發信APS ID。
運用相關聯ID值唯一地識別的APS類型值因此實現與APS類型特定緩衝器(諸如不同緩衝器410、420及430)相關聯的改良。因為不同類型之位元的數目可不同,因此緩衝器可具有經分配用於特定APS類型的記憶體。此提供對於共同緩衝器的改良,在共同緩衝器中記憶體係基於最大類型之大小而分配而不是具有針對每一APS類型定製的緩衝器。
在一些實施中,一種APS類型可用作逸出碼以供未來APS擴展。舉例而言,若使用3種類型,則可使用以下索引:00、01、10。值11可以用於指示逸出值,此意謂若該值被剖析,則可如未來擴展中所定義發信某些其他語法元素。
圖5為說明根據一些實例的實例程序500之流程圖。在一些實例中,程序500係藉由解碼器件(例如解碼器件112)執行。在其他實例中,程序500可實施為非暫時性儲存媒體中之指令,當器件之處理器執行該等指令時該等指令使器件執行程序500。在一些情況下,當程序500藉由視訊解碼器執行時,視訊資料可包括包括於經編碼視訊位元串流中的經寫碼圖像或經寫碼圖像之部分(例如一或多個區塊)或可包括包括於經編碼視訊位元串流中之多個經寫碼圖像。
在區塊502處,程序500自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值。如上文所描述,圖像之經寫碼圖塊(例如圖像之部分)在位元串流層級中經囊封成稱作網路抽象層(NAL)單元之資料單元。用於APS NAL單元之APS ID值係藉由解碼器件自位元串流獲得。在區塊504處,程序500自位元串流獲得與適應變數集合網路抽象層單元相關聯的一適應變數集合類型值。值可為與類型(諸如APS明度類型或APS色度類型)相關聯之二進位數目(例如0、11等)。在一些實施中,此可涉及位元串流中之第一APS及第二APS,其中第一APS具有明度濾波器係數,且第二APS具有色度濾波器係數。係數之每一集合可進一步與用於APS類型之發信旗標相關聯。在其他實例中,具有不同濾波器係數之其他類型及其他旗標可存在於位元串流中。
一些此類實例可進一步涉及獨立發信特定APS類型之存在或不存在的旗標。在一些系統中,此可進一步允許APS變數與用於未用特定濾波器編碼的圖像之一部分的資料一起存在,使得變數可用於其他圖像或使用APS類型的圖像之部分。
在一些實施中,可使用特定APS集合類型的APS識別符之最大數目係由APS集合類型值定義。在一些實例中,此允許APS集合類型值待藉由用於APS識別符之最大值或識別符空間的發信來判定。在其他實例中,用於不同APS類型的APS識別符之最大數目係相同的,且因此APS類型可不自此發信判定。
在一些實例中,複數個APS類型中之第一APS類型係與識別符值之第一數目相關聯,且該複數個APS類型中之第二APS類型係與識別符值之第二數目相關聯。識別符值之第二數目不同於識別符值之第一數目。在一些情況下,適應變數集合識別符之最大數目對於每一適應變數集合類型為相同值。在一些情況下,不同數目個位元用於適應變數集合識別符之不同類型。舉例而言,在圖像標頭、圖塊標頭或其他發信機制中,2位元可用於LMCS APS類型ID(例如LMCS_APS ID(ph_lmcs_aps_id))且3位元可用於適應性迴圈濾波器(ALF)APS類型ID(ALF_APS ID(ph_alf_aps_id_luma[i]))且在一些情況下用於按比例調整APS類型ID(SCALING_APS_ID(ph_scaling_list_aps_id))。
在區塊506處,程序500識別與至少一個圖像的至少一部分相關聯的第一適應變數集合。在各個實例中,第一適應變數集合係藉由適應變數集合類型值與適應變數集合識別符值之組合唯一地識別。另外,在此類實例中,第一適應變數集合之適應變數集合識別符值係在基於適應變數集合類型值之範圍內。在區塊508處,具有由藉由適應變數集合類型值及適應變數集合識別符值唯一地識別的第一適應變數集合定義之變數的適應性迴圈濾波器隨後用於重建構與在區塊506中識別的第一適應變數集合相關聯的至少一個圖像之部分。如上文所描述,類型及ID值之發信分開地實現通信系統及系統中之器件(例如解碼器器件112)之操作的改良,諸如具有經分配以恰好匹配變數集合中之資料的記憶體的緩衝器之使用,而不是其中當較小變數集合(例如具有使用較少位元的變數集合結構之APS類型)儲存在一般緩衝器中時記憶體被浪費的一般緩衝器之使用。在一些此等實例中,第一適應變數集合可包括具有不同APS類型之明度濾波器係數及色度濾波器係數。位元串流中之獨立明度及色度旗標可以用於指示明度或色度濾波器係數之存在或使用。
在各個實例中,不同類型之APS可具有相同相關聯ID,此係由於每一APS係藉由ID與類型之組合唯一地識別。在一些系統中,此可涉及在與第一APS相同之位元串流中的第二APS不同於具有具有不同類型之相同ID的第二APS。
如上文所描述之程序500可實施於多種器件中。在一些實施中,程序500係藉由具有耦接至處理器及記憶體之用於俘獲及儲存至少一個圖像的攝影機的行動器件之處理電路執行。在其他實例中,程序500係藉由具有耦接至處理器的顯示器之任何器件執行,其中顯示器經組態用於顯示如使用程序500 (例如在重建構至少一個圖像之後)產生的至少一個圖像。
圖6為說明根據一些實例的程序600之實例的流程圖。在一些實例中,程序600係藉由編碼器件(例如編碼器件104)執行。在其他實例中,程序600可實施為非暫時性儲存媒體中之指令,當器件之處理器執行該等指令時該等指令使器件執行程序600。在一些情況下,當程序600藉由視訊編碼器執行時,視訊資料可包括待在經編碼視訊位元串流中編碼的圖像或圖像之部分(例如一或多個區塊)或可包括待在經編碼視訊位元串流中編碼的多個圖像。
程序600可獲得用於至少一個圖像之至少一部分的資料。舉例而言,資料可自記憶體或自一或多個影像感測器(例如一或多個攝影機)獲得。區塊之圖像待根據使用如本文所描述之APS變數而編碼並作為位元串流之部分傳輸。在區塊602處,程序600判定與適應變數集合網路抽象層單元相關聯的適應變數集合識別符值,且程序600之區塊606判定與適應變數集合網路抽象層單元相關聯的適應變數集合類型值。如本文中所描述,APS識別符值及APS類型值唯一地識別用於APS NAL單元的APS。
在區塊608處,程序600識別與至少一個圖像之部分相關聯的第一適應變數集合。另外,第一適應變數集合之適應變數集合識別符值係在基於適應變數集合類型值之範圍內。如上文所描述,在一些實例中,APS集合類型值係與基於APS類型之最大值相關聯,且最大值(例如自0至5的值空間之5、0的值空間之0、0至3的值空間之2,等)可以用於區分APS類型。另外,如上文所描述,使用類型及ID值兩者以唯一地識別APS實現執行程序600的系統器件之改良操作,諸如具有經分配以恰好匹配用於特定APS類型之資料之大小的記憶體的類型特定緩衝器之使用。
圖像之部分可包括於位元串流中。在區塊612處包括產生位元串流以包括適應變數集合識別符值、適應變數集合類型值及如經編碼之至少一個圖像之部分。在一些實例中,可使用特定適應變數集合類型的適應變數集合識別符之最大數目係由適應變數集合類型值定義。在一些情況下,複數個適應變數集合類型之第一適應變數集合類型係與識別符值之第一數目相關聯,且複數個適應變數集合類型之第二適應變數集合類型係與識別符值之第二數目相關聯。識別符值之第二數目可不同於識別符值之第一數目,如上文所描述。在一些實例中,適應變數集合識別符之最大數目對於每一適應變數集合類型為相同值。在一些實例中,不同數目個位元用於適應變數集合識別符之不同類型。舉例而言,如上文所提及,在圖像標頭、圖塊標頭或其他發信機制中,2位元可用於LMCS APS類型ID(例如LMCS_APS ID(ph_lmcs_aps_id))且3位元可用於適應性迴圈濾波器(ALF)APS類型ID(ALF_APS ID(ph_alf_aps_id_luma[i]))且在一些情況下用於按比例調整APS類型ID(SCALING_APS_ID(ph_scaling_list_aps_id))。
在一些實例中,程序600可包括判定與視訊位元串流之第二適應變數集合網路抽象層單元相關聯的第二適應變數集合識別符值,及判定與視訊位元串流之第二適應變數集合網路抽象層單元相關聯的第二適應變數集合類型值。程序600可識別與至少一個圖像之至少一第二部分相關聯的第二適應變數集合,其中第二適應變數集合係藉由第二適應變數集合類型值及第二適應變數集合識別符值唯一地識別。第二適應變數集合之適應變數集合識別符值範圍係基於第二適應變數集合類型值。程序600可將由藉由第二適應變數集合類型值及第二適應變數集合識別符值唯一地識別的第二適應變數集合定義的適應性迴圈濾波器之變數包括於位元串流中。至少一個圖像之至少第二部分可使用具有由藉由第二適應變數集合類型值及第二適應變數集合識別符值唯一地識別的第二適應變數集合定義之變數的適應性迴圈濾波器重建構(例如藉由編碼器件及/或解碼器件)。
在一些實例中,用於第二適應變數集合之適應變數集合識別符值及用於第一適應變數集合之適應變數集合識別符值係一相同值。在一些情況下,該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
在一些實施中,程序600可包括設定用於與第一適應變數集合相關聯之至少一個旗標的值。該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的第二旗標,或第一旗標及第二旗標兩者。在一些情況下,第一旗標之值及第二旗標之值經獨立設定。
在一些情況下,第一適應變數集合係藉由如由位元串流中之一系列連續位元表示的適應變數集合類型值與適應變數集合識別符值之組合唯一地識別。舉例而言,位元串流中之該系列連續位元中的位元之第一部分可表示適應變數集合類型值且位元串流中之該系列連續位元中的位元之第二部分可表示適應變數集合類型識別符值。在另一實例中,位元串流中之該系列連續位元中的位元之第一部分可表示適應變數集合類型識別符值,且在位元串流中之位元的該第一部分之後的位元之第二部分可表示適應變數集合類型值。
在一些實例中,第一適應變數集合包括明度濾波器係數及色度濾波器係數。明度濾波器係數可與第二適應變數集合類型值相關聯,且色度濾波器係數可與不同於第二適應變數集合類型值之第三適應變數集合類型值相關聯。在一些情況下,明度濾波器係數係與明度濾波器發信旗標相關聯,且色度濾波器係數係與不同於明度濾波器發信旗標之色度濾波器發信旗標相關聯且獨立於明度濾波器發信旗標而操作。
程序600可實施於多種器件中。在一些實施中,程序600係藉由具有耦接至處理器及記憶體之用於俘獲及儲存至少一個圖像的攝影機的行動器件之處理電路執行。在其他實例中,程序500係藉由具有耦接至處理器之顯示器的任何器件執行,其中顯示器經組態用於在使用程序600處理至少一個圖像及在位元串流中傳輸該圖像之前顯示該圖像。
在一些實施中,本文中所描述的程序(或方法)(包括方法500及600)可藉由計算器件或裝置(諸如圖1中所展示的系統100)執行。舉例而言,程序可藉由圖1及圖7中展示之編碼器件104、藉由另一視訊源側器件或視訊傳輸器件、藉由圖1及圖8中展示之解碼器件112及/或藉由另一用戶端側器件(諸如播放器器件、顯示器或任何其他用戶端側器件)執行。在一些情況下,計算器件或裝置可包括一或多個輸入器件、一或多個處理器、一或多個微處理器、一或多個微電腦,及/或經組態以實施本文中所描述的程序之步驟的其他組件。
在一些實例中,計算器件或裝置可包括或為行動器件、桌上型電腦、伺服器電腦及/或伺服器系統,或其他類型之計算器件。計算器件之組件(例如,一或多個輸入器件、一或多個輸出器件、一或多個處理器、一或多個微處理器、一或多個微電腦及/或其他組件)可實施於電路中。舉例而言,組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體實施(電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適之電子電路)),及/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合實施,以執行本文中所描述的各種操作。在一些實例中,計算器件或裝置可包括經組態以俘獲包括視訊圖框之視訊資料(例如,視訊序列)的攝影機。在一些實例中,俘獲視訊資料之攝影機或其他俘獲器件與計算器件分離,在此情況下,計算器件接收或獲得所俘獲視訊資料。計算器件可包括經組態以傳達視訊資料之網路介面。網路介面可經組態以傳達基於網際網路協定(IP)之資料或其他類型之資料。在一些實例中,計算器件或裝置可包括用於顯示輸出視訊內容(諸如,視訊位元串流之圖像的樣本)之顯示器。
程序可關於邏輯流程圖描述,其操作表示可在硬體、電腦指令或其組合中實施的操作之序列。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、對象、組件、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,程序可在經組態有可執行指令之一或多個電腦系統之控制下執行,且可被實施為共同在一或多個處理器上執行之程式碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)、藉由硬體實施或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
本文所論述之寫碼技術可實施於實例視訊編碼及解碼系統(例如,系統100)中。在一些實例中,系統包括提供稍後由目的地器件解碼之經編碼視訊資料的源器件。特定言之,源器件經由電腦可讀媒體將視訊資料提供至目的地器件。源器件及目的地器件可包含廣泛範圍之器件中之任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機頂盒、諸如所謂的「智慧型」電話之電話手持機、所謂的「智慧型」板、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或其類似者。在一些情況下,源器件及目的地器件可經裝備以用於無線通信。
目的地器件可經由電腦可讀媒體接收待解碼之經編碼視訊資料。電腦可讀媒體可包含能夠將經編碼視訊資料自源器件移動至目的地器件的任何類型之媒體或器件。在一個實例中,電腦可讀媒體可包含通信媒體以使得源器件能夠即時地將經編碼視訊資料直接傳輸至目的地器件。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地器件。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全球網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件至目的地器件之通信的任何其他裝備。
在一些實例中,經編碼資料可自輸出介面輸出至儲存器件。類似地,可藉由輸入介面自儲存器件存取經編碼資料。儲存器件可包括多種分散式或本端存取之資料儲存媒體中之任一者,諸如硬碟機、Blu-ray光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存器件可對應於檔案伺服器或可儲存由源器件產生之經編碼視訊的另一中間儲存器件。目的地器件可經由串流或下載自儲存器件存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)器件或本端磁碟機。目的地器件可經由任何標準資料連接(包括網際網路連接)來存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼之視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者的組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。技術可應用於視訊寫碼以支援多種多媒體應用中之任一者,諸如,空中電視廣播、互聯網電視(例如網際網路串流電視)傳輸、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,HTTP動態適應性串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上之數位視訊的解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在一個實例中,源器件包括視訊源、視訊編碼器及輸出介面。目的地器件可包括輸入介面、視訊解碼器及顯示器件。源器件之視訊編碼器可經組態以應用本文中所揭示之技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣,目的地器件可與外部顯示器件介接,而非包括整合式顯示器件。
以上實例系統僅為一個實例。用於平行地處理視訊資料之技術可由任何數位視訊編碼及/或解碼器件來執行。儘管本發明之技術一般由視訊編碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「編解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及目的地器件僅為源器件產生經寫碼視訊資料以供傳輸至目的地器件之此類寫碼器件的實例。在一些實例中,源器件及目的地器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
視訊源可包括視訊俘獲器件,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊之視訊饋入介面。作為另一替代方案,視訊源可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源為視訊攝影機,則源器件及目的地器件可形成所謂攝影機電話或視訊電話。然而,如上文所提及,本發明所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,可由視訊編碼器編碼所俘獲、經預俘獲或電腦產生之視訊。經編碼視訊資訊隨後可由輸出介面輸出至電腦可讀媒體上。
如所提及,電腦可讀媒體可包括暫時性媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(圖中未示)可接收來自源器件之經編碼視訊資料並(例如)經由網路傳輸提供經編碼視訊資料至目的地器件。類似地,諸如光碟衝壓設施之媒體生產設施之計算器件可自源器件接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,可理解電腦可讀媒體包括各種形式之一或多個電腦可讀媒體。
目的地器件之輸入介面自電腦可讀媒體接收資訊。電腦可讀媒體之資訊可包括由視訊編碼器定義之語法資訊(其亦由視訊解碼器使用),該語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。顯示器件將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。已描述本申請案之各種實例。編碼器件104及解碼器件112之特定細節分別展示於圖7及圖8中。
編碼器件104及解碼器件112之特定細節分別展示於圖7及圖8中。圖7為說明可實施本發明中所描述之技術中之一或多者的實例編碼器件104之方塊圖。編碼器件104可(例如)產生本文中所描述之語法結構(例如,VPS、SPS、PPS或其他語法元素之語法結構)。編碼器件104可執行視訊圖塊內之視訊區塊的框內預測及框間預測寫碼。如先前所描述,框內寫碼至少部分地依賴於空間預測以減少或移除給定視訊圖框或圖像內之空間冗餘。框間寫碼至少部分地依賴於時間預測以減少或移除視訊序列之鄰近或周圍圖框內的時間冗餘。框內模式(I模式)可指若干基於空間之壓縮模式中的任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指若干基於時間之壓縮模式中的任一者。
編碼器件104包括分割單元35、預測處理單元41、濾波器單元63、圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。預測處理單元41包括運動估計單元42、運動補償單元44及框內預測單元46。對於視訊區塊重建構,編碼器件104亦包括反量化單元58、反變換處理單元60及求和器62。濾波器單元63意欲表示一或多個迴圈濾波器,諸如解塊濾波器、適應性迴圈濾波器(ALF)及樣本適應性偏移(SAO)濾波器。儘管濾波器單元63在圖7中展示為迴圈濾波器,但在其他組態中,濾波器單元63可實施為後迴圈濾波器。後處理器件57可對由編碼器件104產生之經編碼視訊資料執行額外處理。在一些情況下,本發明之技術可藉由編碼器件104實施。然而,在其他情況下,本發明之技術中的一或多者可藉由後處理器件57實施。
如圖7中所展示,編碼器件104接收視訊資料,且分割單元35將資料分割成視訊區塊。分割亦可包括(例如根據LCU及CU之四分樹結構)分割成圖塊、圖塊片段、圖像塊或其他較大單元,以及視訊區塊分割。編碼器件104一般說明編碼待編碼之視訊圖塊內的視訊區塊的組件。圖塊可劃分成多個視訊區塊(且可能劃分成被稱作圖像塊之視訊區塊集合)。預測處理單元41可基於誤差結果(例如,寫碼速率及失真等級,或其類似者)選擇複數個可能寫碼模式中之一者(諸如,複數個框內預測寫碼模式中之一者或複數個框間預測寫碼模式中之一者)以用於當前視訊區塊。預測處理單元41可將所得經框內或框間寫碼區塊提供至求和器50以產生殘餘區塊資料,並提供至求和器62以重建構經編碼區塊以用於用作參考圖像。
預測處理單元41內之框內預測處理單元46可執行當前視訊區塊相對於與待寫碼的當前區塊相同之圖框或圖塊中的一或多個相鄰區塊之框內預測寫碼以提供空間壓縮。預測處理單元41內之運動估計單元42及運動補償單元44執行當前視訊區塊相對於一或多個參考圖像中之一或多個預測性區塊之框間預測性寫碼以提供時間壓縮。
運動估計單元42可經組態以根據視訊序列之預定圖案來判定用於視訊圖塊之框間預測模式。預定圖案可將序列中之視訊圖塊指定為P圖塊、B圖塊或GPB圖塊。運動估計單元42及運動補償單元44可高度整合,但為概念目的而分開說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。運動向量(例如)可指示當前視訊圖框或圖像內之視訊區塊的預測單元(PU)相對於參考圖像內之預測性區塊的位移。
預測性區塊為就像素差而言被發現緊密地匹配待寫碼的視訊區塊之PU之區塊,該像素差可由絕對差和(SAD)、平方差和(SSD)或其他差度量判定。在一些實例中,編碼器件104可計算儲存於圖像記憶體64中之參考圖像的次整數像素位置的值。舉例而言,編碼器件104可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊的位置而計算經框間寫碼圖塊中之視訊區塊的PU的運動向量。參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等清單中之每一者識別儲存於圖像記憶體64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵編碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可涉及基於由運動估計(可能執行內插至子像素精度)判定之運動向量而提取或產生預測性區塊。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44可在一參考圖像清單中找到運動向量所指向之預測性區塊的位置。編碼器件104藉由自正經寫碼之當前視訊區塊之像素值減去預測性區塊之像素值從而形成像素差值來形成殘餘視訊區塊。像素差值形成區塊之殘餘資料,且可包括明度及色度差分量兩者。求和器50表示執行此減法運算之一或多個組件。運動補償單元44亦可產生與視訊區塊及視訊圖塊相關聯之語法元素,以供解碼器件112用於解碼視訊圖塊之視訊區塊。
如上文所描述,作為藉由運動估計單元42及運動補償單元44執行的框間預測之替代方案,框內預測處理單元46可框內預測當前區塊。特定而言,框內預測處理單元46可判定框內預測模式以用以編碼當前區塊。在一些實例中,框內預測處理單元46可(例如在分開之編碼遍次期間)使用各種框內預測模式編碼當前區塊,且框內預測處理單元46可自所測試之模式選擇適當框內預測模式來使用。舉例而言,框內預測處理單元46可使用對各種所測試框內預測模式之速率-失真分析來計算速率-失真值,且可在所測試模式間選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析一般判定經編碼區塊與原始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元速率(亦即,位元之數目)。框內預測處理單元46可根據各種經編碼區塊之失真及速率計算比率以判定哪一框內預測模式展現該區塊之最佳速率-失真值。
在任何情況下,在選擇用於區塊之框內預測模式後,框內預測處理單元46可將指示用於區塊之所選框內預測模式的資訊提供至熵編碼單元56。熵編碼單元56可編碼指示所選框內預測模式之資訊。編碼器件104可將各種區塊之編碼上下文之定義以及待用於上下文中之每一者的最可能的框內預測模式、框內預測模式索引表及經修改框內預測模式索引表之指示包括於經傳輸位元串流組態資料中。位元串流組態資料可包括複數個框內預測模式索引表及複數個經修改框內預測模式索引表(亦被稱作碼字映射表)。
在預測處理單元41經由框間預測抑或框內預測產生當前視訊區塊之預測性區塊之後,編碼器件104藉由自當前視訊區塊減去預測性區塊而形成殘餘視訊區塊。殘餘區塊中之殘餘視訊資料可包括於一或多個TU中且被應用於變換處理單元52。變換處理單元52使用諸如離散餘弦變換(DCT)或概念上類似變換之變換將殘餘視訊資料變換成殘餘變換係數。變換處理單元52可將殘餘視訊資料自像素域轉換至變換域(諸如,頻域)。
變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步減少位元率。量化程序可減小與係數中之一些或所有相關聯的位元深度。可藉由調整量化變數來修改量化程度。在一些實例中,量化單元54可隨後執行對包括經量化變換係數之矩陣的掃描。替代性地,熵編碼單元56可執行掃描。
在量化之後,熵編碼單元56對經量化變換係數進行熵編碼。舉例而言,熵編碼單元56可執行上下文適應性可變長度寫碼(CAVLC)、上下文適應性二進位算術寫碼(CABAC)、基於語法之上下文適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼技術。在由熵編碼單元56進行熵編碼之後,經編碼位元串流可傳輸至解碼器件112,或經存檔以供稍後由解碼器件112傳輸或由解碼器件112擷取。熵編碼單元56亦可熵編碼正經寫碼之當前視訊圖塊的運動向量及其他語法元素。
反量化單元58及反變換處理單元60分別應用反量化及反變換以重建構像素域中之殘餘區塊以供稍後用作參考圖像之參考區塊。運動補償單元44可藉由將殘餘區塊添加至參考圖像清單內之參考圖像中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘餘區塊以計算次整數像素值以用於運動估計。求和器62將經重建構殘餘區塊添加至由運動補償單元44產生之運動補償預測區塊以產生用於儲存於圖像記憶體64中之參考區塊。參考區塊可由運動估計單元42及運動補償單元44用作參考區塊以框間預測後續視訊圖框或圖像中之區塊。
以此方式,圖10之編碼器件104表示經組態以執行本文中所描述的技術中之一或多者(包括上文關於圖5及圖6所描述的程序)的視訊編碼器的實例。在一些情況下,本發明之技術中之一些亦可藉由後處理器件57實施。
圖8為說明實例解碼器件112之方塊圖。解碼器件112包括熵解碼單元80、預測處理單元81、反量化單元86、反變換處理單元88、求和器90、濾波器單元91及圖像記憶體92。預測處理單元81包括運動補償單元82及框內預測處理單元84。在一些實例中,解碼器件112可執行通常與關於來自圖7之編碼器件104描述的編碼遍次對等的解碼遍次。
在解碼程序期間,解碼器件112接收藉由編碼器件104發送的表示經編碼視訊圖塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。在一些實例中,解碼器件112可自編碼器件104接收經編碼視訊位元串流。在一些實例中,解碼器件112可自網路實體79接收經編碼視訊位元串流,諸如伺服器、媒體感知網路元件(MANE)、視訊編輯器/編接器,或經組態以實施上文所描述之技術中之一或多者的其他此類器件。網路實體79可或可不包編碼器件104。在網路實體79將經編碼視訊位元串流傳輸至解碼器件112之前,本發明中所描述之技術中的一些可由網路實體79實施。在一些視訊解碼系統中,網路實體79及解碼器件112可為分開的器件之部分,而在其他情況下,關於網路實體79描述之功能性可由包含解碼器件112之同一器件執行。
解碼器件112之熵解碼單元80對位元串流進行熵解碼以產生經量化係數、運動向量及其他語法元素。熵解碼單元80將運動向量及其他語法元素轉遞至預測處理單元81。解碼器件112可接收在視訊圖塊層級及/或視訊區塊層級的語法元素。熵解碼單元80可處理並剖析諸如VPS、SPS及PPS之一或多個變數集中之固定長度語法元素及可變長度語法元素兩者。
當視訊圖塊經寫碼為經框內寫碼(I)圖塊時,預測處理單元81之框內預測處理單元84可基於來自當前圖框或圖像之先前經解碼區塊的經發信框內預測模式及資料來產生用於當前視訊圖塊之視訊區塊的預測資料。當將視訊圖框寫碼為經框間寫碼(亦即,B、P或GPB)圖塊時,預測處理單元81之運動補償單元82基於運動向量及自熵解碼單元80接收之其他語法元素而產生當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單內之參考圖像中的一者產生。解碼器件112可基於儲存於圖像記憶體92中之參考圖像使用預設建構技術來建構參考圖框清單--清單0及清單1。
運動補償單元82藉由剖析運動向量及其他語法元素來判定當前視訊圖塊之視訊區塊的預測資訊,且使用該預測資訊產生用於正經解碼之當前視訊區塊之預測性區塊。舉例而言,運動補償單元82可使用變數集合中之一或多個語法元素以判定用於寫碼視訊圖塊之視訊區塊之預測模式(例如,框內預測或框間預測)、框間預測圖塊類型(例如,B圖塊、P圖塊或GPB圖塊)、圖塊之一或多個參考圖像清單之建構資訊、圖塊之每一框間編碼視訊區塊之運動向量、圖塊之每一框間寫碼視訊區塊之框間預測狀態,及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。
運動補償單元82亦可執行基於內插濾波器之內插。運動補償單元82可使用如在編碼視訊區塊期間由編碼器件104使用的內插濾波器來計算參考區塊之子整數像素的內插值。在此情況下,運動補償單元82可自所接收語法元素判定由編碼器件104使用之內插濾波器,且可使用內插濾波器來產生預測性區塊。
反量化單元86反量化(或解量化)位元串流中所提供,並由熵解碼單元80解碼的經量化之變換係數。反量化程序可包括使用由編碼器件104針對視訊圖塊中之每一視訊區塊計算之量化變數來判定量化程度及同樣應應用之反量化程度。反變換處理單元88將反變換(例如,反DCT或其他合適的反變換)、反整數變換或概念上類似的反變換程序應用於變換係數以便在像素域中產生殘餘區塊。
在運動補償單元82基於運動向量及其他語法元素而產生當前視訊區塊之預測性區塊之後,解碼器件112藉由將來自反變換處理單元88之殘餘區塊與由運動補償單元82產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器90表示執行此求和運算之一或多個組件。若需要,亦可使用迴圈濾波器(在寫碼迴圈中抑或在寫碼迴圈後)以使像素轉變平滑,或以其他方式改良視訊品質。濾波器單元91意欲表示一或多個迴圈濾波器,諸如,解塊濾波器、適應性迴圈濾波器(ALF)及樣本適應性偏移(SAO)濾波器。儘管濾波器單元91在圖8中展示為迴圈濾波器,但在其他組態中,濾波器單元91可實施為後迴圈濾波器。給定圖框或圖像中之經解碼視訊區塊隨後儲存於圖像記憶體92中,圖像記憶體92儲存用於後續運動補償之參考圖像。圖像記憶體92亦儲存經解碼視訊以供稍後呈現於顯示器件(諸如,圖1中所展示之視訊目的地器件122)上。
以此方式,圖8之解碼器件112表示經組態以執行本文中所描述的技術中之一或多者(包括上文關於圖5及圖6所描述的程序)的視訊解碼器之實例。
濾波器單元91濾波經重建構區塊(例如求和器90之輸出)並將經濾波經重建構區塊儲存於DPB 94中以供用作參考區塊及/或輸出經濾波經重建構區塊(經解碼視訊)。參考區塊可由運動補償單元82用作參考區塊以框間預測後續視訊圖框或圖像中之區塊。濾波器單元91可執行任何類型之濾波,諸如解區塊濾波、SAO濾波、峰值SAO濾波、ALF及/或GALF,及/或其他類型之迴路濾波器。解塊濾波器可(例如)將解塊濾波應用於濾波器區塊邊界,以自經重建構視訊移除區塊效應假影。峰值SAO濾波器可將偏移應用於經重構像素值,以便改良總體寫碼品質。亦可使用額外迴圈濾波器(迴圈內或迴圈後)。
另外,濾波器單元91可經組態以執行在本發明中與適應性迴圈濾波相關的技術中之任一者。舉例而言,如上文所描述,濾波器單元91可經組態以基於用於濾波包括於與當前區塊相同之APS、不同APS或預定濾波器中的先前區塊之變數判定用於濾波當前區塊的變數。
如本文所用,術語「電腦可讀媒體」包括(但不限於)攜帶型或非攜帶型儲存器件、光儲存器件及能夠儲存、含有或攜載指令及/或資料的各種其他媒體。電腦可讀媒體可包括非暫時性媒體,其中可儲存資料並且不包括載波及/或無線地或經由有線連接傳播之暫時電子信號。非暫時性媒體之實例可包括(但不限於)磁碟或磁帶、諸如緊密光碟(CD)或數位化通用光碟(DVD)之光學儲存媒體、快閃記憶體、記憶體或記憶體器件。電腦可讀媒體可具有儲存於其上之程式碼及/或機器可執行指令,該等程式碼及/或機器可執行指令可表示程序、函數、子程式、程式、常式、次常式、模組、軟體套件、類別,或指令、資料結構或程式語句之任何組合。碼段可藉由傳遞及/或接收資訊、資料、引數、變數或記憶體內容耦接至另一碼段或硬體電路。資訊、引數、變數、資料等可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸或其類似者之任何合適方式傳遞、轉遞或傳輸。
在一些實例中,電腦可讀儲存器件、媒體及記憶體可包括含有位元串流及類似者之纜線或無線信號。然而,當提及時,非暫時性電腦可讀儲存媒體明確地排除諸如能量、載波信號、電磁波及信號本身之媒體。
在以上描述中提供特定細節以提供本文提供之實例及實例的透徹理解。然而,一般熟習此項技術者應理解,實例可在無需此等特定細節之情況下實踐。為了解釋之清楚起見,在一些情況下,本發明技術可呈現為包括個別功能區塊,其包括包含軟體或硬體及軟體之組合中所體現的器件、器件組件、方法中之步驟或常式的功能區塊。除諸圖中展示及/或本文中所描述的彼等組件以外,可使用額外組件。舉例而言,電路、系統、網路、程序及其他組件可以方塊圖形式展示為組件以免以不必要的細節混淆實例。在其他情況下,可在無不必要之細節的情況下展示熟知電路、程序、演算法、結構及技術以便避免混淆實例。
上文可將個別實例描述為經描繪為流程圖(flowchart, a flow diagram)、資料流程圖、結構圖或方塊圖的程序或方法。儘管流程圖可能將操作描述為順序程序,但許多操作可並行地或同時加以執行。另外,可再配置操作之次序。程序在其操作完成時終止,但可具有不包括於圖中之額外步驟。程序可對應於方法、函式、程序、次常式、次程式等。當程序對應於函式時,其終止可對應於函式傳回至呼叫函式或主函式。
可使用儲存或以其他方式可自電腦可讀媒體獲得的電腦可執行指令實施根據上文所描述之實例的程序及方法。此等指令可包括(例如)導致或以其他方式組態通用電腦、專用電腦或處理器件以執行某一功能或功能群組之指令及資料。可經由網路存取所使用的電腦資源之部分。電腦可執行指令可為(例如)二進位中間格式指令,諸如,組合語言、韌體、原始程式碼等。可用於儲存指令、所使用資訊及/或根據所描述實例之方法期間所產生的資訊之電腦可讀媒體的實例包括磁碟或光碟、快閃記憶體、具備非揮發性記憶體之USB器件、網路連接儲存器件等等。
實施根據此等揭示內容之程序及方法的器件可包括硬體、軟體、韌體、中間軟體、微碼、硬體描述語言或其任何組合,且可採取多種外觀尺寸中之任一者。當以軟體、韌體、中間軟體或微碼實施時,用以執行必要任務之程式碼或碼段(例如,電腦程式產品)可儲存於電腦可讀或機器可讀媒體中。處理器可執行必要任務。外觀尺寸之典型實例包括膝上型電腦、智慧型手機、行動電話、平板電腦器件或其他小外觀尺寸個人電腦、個人數位助理、機架式器件、獨立式器件等。本文中所描述之功能性亦可體現於周邊裝置或附加卡。作為進一步之實例,此功能性亦可實施於不同晶片或執行於單一器件中之不同程序中的電路板上。
該等指令、用於輸送此等指令之媒體、用於執行此等媒體之計算資源,及用於支援此等計算資源之其他結構為用於提供本發明中所描述之功能的實例構件。
在前述描述中,本申請案之態樣參考其特定實例進行描述,但熟習此項技術者將認識到應用不限於此。因此,雖然本文中已詳細描述申請案之說明性實例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之申請案之各種特徵及態樣可個別地或聯合地使用。此外,實例可用於超出本文中所描述之彼等環境及應用的任何數目個環境及應用,而不背離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代性實例中,可以與所描述之次序不同之次序來執行該等方法。
一般熟習此項技術者將瞭解,在不脫離本說明書之範疇之情況下,本文中所使用之小於(「<」)及大於(「>」)符號或術語可分別用小於或等於(「≤」)及大於或等於(「≥」)符號替換。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如,微處理器或其他適合之電子電路)以執行操作或其任何組合來實現此組態。
片語「耦接至」指直接地抑或間接地實體地連接至另一組件之任何組件,及/或直接地抑或間接地與另一組件(例如經由有線或無線連接及/或其他合適通信介面連接至其他組件)通信的任何組件。
列舉一集合「中之至少一者」及/或一集合之「中之一或多者」的技術方案語言或其他語言指示該集合之一個成員或該集合之多個成員(以任何組合)滿足該技術方案。舉例而言,列舉「A及B中之至少一者」或「A或B中之至少一者」的技術方案語言意謂A、B或A及B。在另一實例中,列舉「A、B及C中之至少一者」或「A、B或C中之至少一者」的技術方案語言意謂A、B、C、或A及B、或A及C、或B及C,或A及B及C。語言一集合「中之至少一者」及/或一集合「中之一或多者」並不將該集合限制為該集合中所列舉之項。舉例而言,列舉「A及B中之至少一者」或「A或B中之至少一者」的技術方案語言可意謂A、B或A及B,且可另外包括A及B之集合中未列舉的項。
結合本文中所揭示之實例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。將此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統上之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,而不應將此等實施決策解譯為致使脫離本發明之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種器件中之任何者中,諸如,通用電腦、無線通信器件手機或具有多種用途(包括在無線通信器件手機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於整合式邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行上文所描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM),諸如,同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分由電腦可讀通信媒體實現,電腦可讀通信媒體攜載或傳達呈指令或資料結構形式且可由電腦存取、讀取及/或執行的程式碼,諸如,經傳播的信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代例中,處理器可為任何習知之處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組內,或併入於經組合視訊編碼器-解碼器(編解碼器)中。
本發明之說明性實例包括:
實例1:一種處理視訊資料的方法,該方法包含:獲得一經編碼視訊位元串流,該經編碼視訊位元串流包括與該經編碼視訊位元串流之至少一個圖像相關聯的一適應變數集合,該適應變數集合包括用於該至少一個圖像之適應性迴圈濾波器資料;及解碼來自該適應變數集合之一第一語法元素及一第二語法元素中之至少一者,該第一語法元素包括用於該至少一個圖像之一明度分量的適應性迴圈濾波器資料,且該第二語法元素包括用於該至少一個圖像之色度分量的適應性迴圈濾波器資料。
實例2:如實例1之方法,其中該經編碼視訊位元串流包括一第一旗標及一第二旗標,該第一旗標指示明度適應性迴圈濾波器是否在該適應變數集合中發信,且該第二旗標指示色度適應性迴圈濾波器是否在該適應變數集合中發信。
實例3:如實例2之方法,其中該第一旗標之發信獨立於該第二旗標之發信。
實例4:如實例2至3中任一項之方法,其中當該第一旗標經設定為一第一值且該第二旗標經設定為一第二值時,該適應變數集合包括該第一語法元素且不包括該第二語法元素。
實例5:如實例2至3中任一項之方法,其中當該第二旗標經設定為一第一值且該第一旗標經設定為一第二值時,該適應變數集合包括該第二語法元素且不包括該第一語法元素。
實例6:如實例2至5中任一項之方法,其中該適應變數集合僅僅包括該第一語法元素。
實例7:如實例2至5中任一項之方法,其中該適應變數集合僅僅包括該第二語法元素。
實例8:如實例2至3中任一項之方法,其中當該第一旗標經設定為一第一值且該第二旗標經設定為該第一值時,該適應變數集合包括該第一語法元素及該第二語法元素。
實例9:如實例1至8中任一項之方法,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目經定義。
實例10:如實例1至9中任一項之方法,其中分開的適應變數集合緩衝器用於儲存用於不同適應變數集合類型之適應變數集合。
實例11:如實例1至10中任一項之方法,其中一第一適應變數集合緩衝器用於儲存用於一第一適應變數集合類型之一或多個適應變數集合,且其中一第二適應變數集合緩衝器用於儲存用於一第二適應變數集合類型之一或多個適應變數集合。
實例12:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例1至11中任一項之處理該視訊資料的一處理器的裝置。
實例13:如實例12之裝置,其中該裝置包括一解碼器。
實例14:如實例12至13中任一項之裝置,其中該裝置為一行動器件。
實例15:如實例12至14中任一項之裝置,其進一步包含經組態以顯示該視訊資料的一顯示器。
實例16:如實例12至15中任一項之裝置,其進一步包含經組態以俘獲一或多個圖像之一攝影機。
實例17:一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例1至11中任一項之方法。
實例18:一種處理視訊資料之方法,該方法包含:產生一經編碼視訊位元串流,該經編碼視訊位元串流包括與該經編碼視訊位元串流之至少一個圖像相關聯的一適應變數集合,該適應變數集合包括用於該至少一個圖像之適應性迴圈濾波器資料;及在該適應變數集合中提供一第一語法元素及一第二語法元素中之至少一者,該第一語法元素包括用於該至少一個圖像之一明度分量的適應性迴圈濾波器資料,且該第二語法元素包括用於該至少一個圖像之色度分量的適應性迴圈濾波器資料。
實例19:如實例18之方法,其進一步包含在該經編碼視訊位元串流中提供一第一旗標及一第二旗標,該第一旗標指示明度適應性迴圈濾波器是否在該適應變數集合中發信,且該第二旗標指示色度適應性迴圈濾波器是否在該適應變數集合中發信。
實例20:如實例19之方法,其中該第一旗標之發信獨立於該第二旗標之發信。
實例21:如實例19至20中任一項之方法,其中當該第一旗標經設定為一第一值且該第二旗標經設定為該第二值時,該適應變數集合包括該第一語法元素且不包括該第二語法元素。
實例22:如實例19至20中任一項之方法,其中當該第二旗標經設定為一第一值且該第一旗標經設定為一第二值時,該適應變數集合包括該第二語法元素且不包括該第一語法元素。
實例23:如實例18至22中任一項之方法,其中該適應變數集合僅僅包括該第一語法元素。
實例24:如實例18至22中任一項之方法,其中該適應變數集合僅僅包括該第二語法元素。
實例25:如實例19至20中任一項之方法,其中當該第一旗標經設定為一第一值且該第二旗標經設定為該第一值時,該適應變數集合包括該第一語法元素及該第二語法元素。
實例26:如實例18至25中任一項之方法,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目經定義。
實例27:如實例18至26中任一項之方法,其中分開的適應變數集合緩衝器用於儲存用於不同適應變數集合類型之適應變數集合。
實例28:如實例18至27中任一項之方法,其中一第一適應變數集合緩衝器用於儲存用於一第一適應變數集合類型之一或多個適應變數集合,且其中一第二適應變數集合緩衝器用於儲存用於一第二適應變數集合類型之一或多個適應變數集合。
實例29:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例18至28中任一項之處理該視訊資料的一處理器的裝置。
實例30:如實例29之裝置,其中該裝置包括一編碼器。
實例31:如實例29至30中任一項之裝置,其中該裝置為一行動器件。
實例32:如實例29至31中任一項之裝置,其進一步包含經組態以顯示該視訊資料的一顯示器。
實例33:如實例29至32中任一項之裝置,其進一步包含經組態以俘獲一或多個圖像之一攝影機。
實例34:一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例18至28中任一項之方法。
實例35:一種處理視訊資料之方法,該方法包含:獲得一經編碼視訊位元串流,該經編碼視訊位元串流包括與該經編碼視訊位元串流之至少一個圖像相關聯的一適應變數集合;及判定一適應性迴圈濾波器之濾波器係數的一數目;及基於該適應性迴圈濾波器之濾波器係數的該數目導出該適應變數集合之一類型,該類型指示該適應變數集合是否與一明度濾波器抑或一色度濾波器中之一或多者相關聯。
實例36:如實例35之方法,其中該明度濾波器之濾波器係數的一數目不同於該色度濾波器之濾波器係數的一數目。
實例37:如實例35至36中任一項之方法,其進一步包含:判定該適應性迴圈濾波器之濾波器係數的該數目對應於該明度濾波器之濾波器係數的該數目;及導出該適應變數集合的該類型為一第一類型,該第一類型指示該適應變數集合係與該明度濾波器相關聯。
實例38:如實例35至36中任一項之方法,其進一步包含:判定該適應性迴圈濾波器之濾波器係數的該數目對應於該色度濾波器之濾波器係數的該數目;及導出該適應變數集合之該類型為一第二類型,該第二類型指示該適應變數集合係與該色度濾波器相關聯。
實例39:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例35至38中任一項之處理該視訊資料的一處理器的裝置。
實例40:如實例39之裝置,其中該裝置包括一解碼器。
實例41:如實例39至40中任一項之裝置,其中該裝置為一行動器件。
實例42:如實例39至41中任一項之裝置,其進一步包含經組態以顯示該視訊資料的一顯示器。
實例43:如實例39至42中任一項之裝置,其進一步包含經組態以俘獲一或多個圖像之一攝影機。
實例44:一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例35至38中任一項之方法。
實例45:一種處理視訊資料之方法,該方法包含:產生一經編碼視訊位元串流,該經編碼視訊位元串流包括用於一圖像之至少一個色度樣本的多個適應變數集合,該多個適應變數集合包括適應性迴圈濾波器資料;及在該經編碼視訊位元串流中提供指示應用於該圖像之一圖塊的該多個適應變數集合之一適應變數集合的一識別符的一索引。
實例46:如實例45之方法,其中該至少一個色度樣本包括色度樣本之一寫碼樹型區塊。
實例47:如實例45至46中任一項之方法,其進一步包含當該索引指示一第一適應變數集合之一識別符時在該經編碼視訊位元串流中提供一旗標。
實例48:如實例45至46中任一項之方法,其進一步包含當該索引指示不同於一第一適應變數集合的一識別符時在該經編碼視訊位元串流中提供該索引減去1。
實例49:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例18至28中任一項之處理該視訊資料的一處理器的裝置。
實例50:如實例49之裝置,其中該裝置包括一編碼器。
實例51:如實例49至50中任一項之裝置,其中該裝置為一行動器件。
實例52:如實例49至51中任一項之裝置,其進一步包含經組態以顯示該視訊資料的一顯示器。
實例53:如實例49至52中任一項之裝置,其進一步包含經組態以俘獲一或多個圖像之一攝影機。
實例54:一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例45至48中任一項之方法。
實例55:一種處理視訊資料之方法,該方法包含:獲得一經編碼視訊位元串流,該經編碼視訊位元串流包括用於一圖像之至少一個色度樣本的多個適應變數集合,該多個適應變數集合包括適應性迴圈濾波器資料;及自該經編碼視訊位元串流解碼指示應用於該圖像之一圖塊的該多個適應變數集合的一適應變數集合之一識別符的一索引。
實例56:如實例55之方法,其中該至少一個色度樣本包括色度樣本之一寫碼樹型區塊。
實例57:如實例55至56中任一項之方法,其中該經編碼視訊位元串流當該索引指示一第一適應變數集合之一識別符時包括一旗標。
實例58:如實例55至56中任一項之方法,其中該經編碼視訊位元串流當該索引指示不同於一第一適應變數集合之一識別符時包括該索引減去1。
實例59:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例55至58中任一項之處理該視訊資料的一處理器的裝置。
實例60:如實例59之裝置,其中該裝置包括一解碼器。
實例61:如實例49至60中任一項之裝置,其中該裝置為一行動器件。
實例62:如實例49至61中任一項之裝置,其進一步包含經組態以顯示該視訊資料的一顯示器。
實例63:如實例49至62中任一項之裝置,其進一步包含經組態以俘獲一或多個圖像之一攝影機。
實例64:一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例55至58中任一項之方法。
實例65:一種用於解碼視訊資料之裝置,該裝置包含一記憶體及實施於電路中之一處理器。該處理器經組態以:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與至少一個圖像之至少一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及使用具有由藉由該適應變數集合類型值及該適應變數集合識別符值唯一地識別的該第一適應變數集合定義之變數的一適應性迴圈濾波器重建構該至少一個圖像之該部分。
實例66:如實例65之裝置,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
實例67:如實例66之裝置,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
實例68:如實例66至67中任一項之裝置,其中適應變數集合識別符之該最大數目為用於每一適應變數集合類型之一相同值。
實例69:如實例66至68中任一項之裝置,其中一不同數目個位元用於適應變數集合識別符之不同類型。
實例70:如實例65至69中任一項之裝置,其中該處理器經組態以:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;識別與至少一個圖像之至少一第二部分相關聯的一第二適應變數集合,該第二適應變數集合係藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別,其中該第二適應變數集合之該適應變數集合識別符值範圍係基於該第二適應變數集合類型值;及使用具有由藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別的該第二適應變數集合定義之變數的該適應性迴圈濾波器重建構該視訊位元串流之該至少一個圖像的至少該第二部分。
實例71:如實例70之裝置,其中用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。
實例72:如實例70至71中任一項之裝置,其中該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且其中該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
實例73:如實例65至72中任一項之裝置,其中該處理器經組態以:識別與該第一適應變數集合相關聯的至少一個旗標,該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的一第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的一第二旗標中之至少一或多者。
實例74:如實例73之裝置,其中該第一旗標之一值及該第二旗標之一值經獨立設定。
實例75:如實例65至74中任一項之裝置,其中該處理器經組態以:組態用於一第一適應變數集合類型之一第一適應變數集合緩衝器;及組態用於一第二適應變數集合類型之一第二適應變數集合緩衝器。
實例76:如實例75之裝置,其中該處理器經組態以:將具有該第一適應變數集合類型之該第一適應變數集合之所接收位元儲存於該第一適應變數集合緩衝器中;及將具有該第二適應變數集合類型的一第二適應變數集合之所接收位元儲存於該第二適應變數集合緩衝器中。
實例77:如實例65至76中任一項之裝置,其中該處理器經組態以:組態用於複數個適應變數集合類型中之一第一適應變數集合類型的一第一緩衝器,該第一緩衝器具有小於一最大識別符值之一第一識別符集合範圍。
實例78:如實例77之裝置,其中該處理器經組態以:組態用於該複數個適應變數集合類型中之一第二適應變數集合類型的一第二緩衝器,該第二緩衝器具有小於該最大識別符值的一第二識別符集合範圍,其中該第二識別符集合範圍不同於該第一識別符集合範圍。
實例79:如實例65至78中任一項之裝置,其中該處理器經組態以:使用該適應變數集合類型值解譯該適應變數集合識別符值。
實例80:如實例65至79中任一項之裝置,其中該第一適應變數集合係藉由如由該位元串流中之一系列連續位元表示的該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別。
實例81:如實例80之裝置,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型值且該位元串流中之該系列連續位元中的位元之一第二部分表示該等適應變數集合類型識別符值。
實例82:如實例80之裝置,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型識別符值,且其中在該位元串流中之位元的該第一部分之後的位元之一第二部分表示該適應變數集合類型值。
實例83:如實例65至82中任一項之裝置,其中該第一適應變數集合包括明度濾波器係數及色度濾波器係數,其中該等明度濾波器係數係與一第二適應變數集合類型值相關聯,且其中該等色度濾波器係數係與不同於該第二適應變數集合類型值之一第三適應變數集合類型值相關聯。
實例84:如實例83之裝置,其中該等明度濾波器係數係與一明度濾波器發信旗標相關聯,且其中該等色度濾波器係數係與不同於該明度濾波器發信旗標之一色度濾波器發信旗標相關聯且獨立於該明度濾波器發信旗標而操作。
實例85:如實例65至84中任一項之裝置,其中該裝置包含具有經組態以顯示該至少一個圖像之一顯示器的一行動器件。
實例86:如實例65至85中任一項之裝置,其進一步包含耦接至該處理器之一顯示器,該顯示器經組態以顯示該至少一個圖像。
實例87:一種用於解碼視訊資料之方法,該方法包含:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與至少一個圖像之至少一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及使用具有由藉由該適應變數集合類型值及該適應變數集合識別符值唯一地識別的該第一適應變數集合定義之變數的一適應性迴圈濾波器重建構該至少一個圖像之該部分。
實例88:如實例87之方法,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
實例89:如實例88之方法,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
實例90:如實例88至89中任一項之方法,其中適應變數集合識別符之該最大數目為用於每一適應變數集合類型之一相同值。
實例91:如實例88至90中任一項之方法,其中一不同數目個位元用於適應變數集合識別符之不同類型。
實例92:如實例87至91中任一項之方法,其進一步包含:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;識別與該至少一個圖像之至少一第二部分相關聯的一第二適應變數集合,該第二適應變數集合係藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別,其中該第二適應變數集合之該適應變數集合識別符值範圍係基於該第二適應變數集合類型值;及使用具有由藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別的該第二適應變數集合定義之變數的該適應性迴圈濾波器重建構該至少一個圖像之至少該第二部分。
實例93:如實例92之方法,其中用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。
實例94:如實例92至93中任一項之方法,其中該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且其中該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
實例95:如實例87至94中任一項之方法,其進一步包含:識別與該第一適應變數集合相關聯的至少一個旗標,該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的一第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的一第二旗標中之至少一或多者。
實例96:如實例95之方法,其中該第一旗標之一值及該第二旗標之一值經獨立設定。
實例97:如實例87至96中任一項之方法,其進一步包含:組態用於一第一適應變數集合類型之一第一適應變數集合緩衝器;及組態用於一第二適應變數集合類型之一第二適應變數集合緩衝器。
實例98:如實例97之方法,其進一步包含:將具有該第一適應變數集合類型之該第一適應變數集合之所接收位元儲存於該第一適應變數集合緩衝器中;及將具有該第二適應變數集合類型的一第二適應變數集合之所接收位元儲存於該第二適應變數集合緩衝器中。
實例99:如實例87至98中任一項之方法,其進一步包含:組態用於複數個適應變數集合類型中之一第一適應變數集合類型的一第一緩衝器,該第一緩衝器具有小於一最大識別符值之一第一識別符集合範圍。
實例100:如實例99之方法,其進一步包含:組態用於該複數個適應變數集合類型中之一第二適應變數集合類型的一第二緩衝器,該第二緩衝器具有小於該最大識別符值之一第二識別符集合範圍,其中該第二識別符集合範圍不同於該第一識別符集合範圍。
實例101:如實例87至100中任一項之方法,其進一步包含:使用該適應變數集合類型值解譯該適應變數集合識別符值。
實例102:如實例87至101中任一項之方法,其中該第一適應變數集合係藉由如由該位元串流中之一系列連續位元表示的該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別。
實例103:如實例102之方法,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型值且該位元串流中之該系列連續位元中的位元之一第二部分表示該等適應變數集合類型識別符值。
實例104:如實例102之方法,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型識別符值,且其中在該位元串流中之位元的該第一部分之後的位元之一第二部分表示該適應變數集合類型值。
實例105:如實例87至104中任一項之方法,其中該第一適應變數集合包括明度濾波器係數及色度濾波器係數,其中該等明度濾波器係數係與一第二適應變數集合類型值相關聯,且其中該等色度濾波器係數係與不同於該第二適應變數集合類型值之一第三適應變數集合類型值相關聯。
實例106:如實例105之方法,其中該等明度濾波器係數係與一明度濾波器發信旗標相關聯,且其中該等色度濾波器係數係與不同於該明度濾波器發信旗標之一色度濾波器發信旗標相關聯且獨立於該明度濾波器發信旗標而操作。
實例107:如實例87至106中任一項之方法,其中該方法包含具有經組態以顯示該至少一個圖像之一顯示器的一行動器件。
實例108:如實例87至107中任一項之方法,其進一步包含耦接至該處理器之一顯示器,該顯示器經組態以顯示該至少一個圖像。
實例109:一種用於編碼視訊資料之裝置,該裝置包含一記憶體及實施於電路中之一處理器。該處理器經組態以:判定與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;判定與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與該至少一個圖像之一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及產生一位元串流,該位元串流包括該適應變數集合識別符值、該適應變數集合類型值及如經編碼的該至少一個圖像之該部分。
實例110:如實例109之裝置,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
實例111:如實例109至110中任一項之裝置,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
實例112:如實例110至111中任一項之裝置,其中適應變數集合識別符之該最大數目為用於每一適應變數集合類型之一相同值。
實例113:如實例110至112中任一項之裝置,其中一不同數目個位元用於適應變數集合識別符之不同類型。
實例114:如實例109至113中任一項之裝置,其中該處理器經組態以:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;識別與該至少一個圖像之至少一第二部分相關聯的一第二適應變數集合,該第二適應變數集合係藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別,其中該第二適應變數集合之該適應變數集合識別符值範圍係基於該第二適應變數集合類型值;及將由藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別的該第二適應變數集合定義之該適應性迴圈濾波器的變數包括於該位元串流中。
實例115:如實例114之裝置,其中用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。
實例116:如實例114至115中任一項之裝置,其中該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且其中該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
實例117:如實例109至116中任一項之裝置,其中該處理器經組態以:設定與該第一適應變數集合相關聯的至少一個旗標之一值,該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的一第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的一第二旗標中之至少一或多者。
實例118:如實例117之裝置,其中該第一旗標之一值及該第二旗標之一值經獨立設定。
實例119:如實例109至118中任一項之裝置,其中該第一適應變數集合係藉由如由該位元串流中之一系列連續位元表示的該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別。
實例120:如實例119之裝置,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型值且該位元串流中之該系列連續位元中的位元之一第二部分表示該等適應變數集合類型識別符值。
實例121:如實例119之裝置,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型識別符值,且其中在該位元串流中之位元的該第一部分之後的位元之一第二部分表示該適應變數集合類型值。
實例122:如實例109至121中任一項之裝置,其中該第一適應變數集合包括明度濾波器係數及色度濾波器係數,其中該等明度濾波器係數係與一第二適應變數集合類型值相關聯,且其中該等色度濾波器係數係與不同於該第二適應變數集合類型值之一第三適應變數集合類型值相關聯。
實例123:如實例122之裝置,其中該等明度濾波器係數係與一明度濾波器發信旗標相關聯,且其中該等色度濾波器係數係與不同於該明度濾波器發信旗標之一色度濾波器發信旗標相關聯且獨立於該明度濾波器發信旗標而操作。
實例124:如實例109至123中任一項之裝置,其中該裝置包含具有經組態以俘獲該至少一個圖像之一攝影機的一行動器件。
實例125:如實例109至124中任一項之裝置,其中該裝置包含具有經組態以顯示該至少一個圖像之一顯示器的一行動器件。
實例126:如實例109至125中任一項之裝置,其進一步包含耦接至該處理器之一顯示器,該顯示器經組態以顯示該至少一個圖像。
實例127:一種編碼視訊資料的方法,該方法包含:判定與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;判定與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;識別與該至少一個圖像之一部分相關聯的一第一適應變數集合,該第一適應變數集合係藉由該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別,其中該第一適應變數集合之該適應變數集合識別符值係在基於該適應變數集合類型值之一範圍內;及產生一位元串流,該位元串流包括該適應變數集合識別符值、該適應變數集合類型值及如經編碼的該至少一個圖像之該部分。
實例128:如實例127之方法,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
實例129:如實例127至128中任一項之方法,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
實例130:如實例110至129中任一項之方法,其中適應變數集合識別符之該最大數目為用於每一適應變數集合類型之一相同值。
實例131:如實例110至130中任一項之方法,其中一不同數目個位元用於適應變數集合識別符之不同類型。
實例132:如實例127至131中任一項之方法,其中該處理器經組態以:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;識別與該至少一個圖像之至少一第二部分相關聯的一第二適應變數集合,該第二適應變數集合係藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別,其中該第二適應變數集合之該適應變數集合識別符值範圍係基於該第二適應變數集合類型值;及將由藉由該第二適應變數集合類型值及該第二適應變數集合識別符值唯一地識別的該第二適應變數集合定義之該適應性迴圈濾波器的變數包括於該位元串流中。
實例133:如實例132之方法,其中用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。
實例134:如實例132至133中任一項之方法,其中該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且其中該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
實例135:如實例127至134中任一項之方法,其中該處理器經組態以:設定與該第一適應變數集合相關聯的至少一個旗標之一值,該至少一個旗標包括指示明度濾波器資料包括於該第一適應變數集合中的一第一旗標或指示色度濾波器資料包括於該第一適應變數集合中的一第二旗標中之至少一或多者。
實例136:如實例135之方法,其中該第一旗標之一值及該第二旗標之一值經獨立設定。
實例137:如實例127至136中任一項之方法,其中該第一適應變數集合係藉由如由該位元串流中之一系列連續位元表示的該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別。
實例138:如實例137之方法,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型值且該位元串流中之該系列連續位元中的位元之一第二部分表示該等適應變數集合類型識別符值。
實例139:如實例137之方法,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型識別符值,且其中在該位元串流中之位元的該第一部分之後的位元之一第二部分表示該適應變數集合類型值。
實例140:如實例127至139中任一項之方法,其中該第一適應變數集合包括明度濾波器係數及色度濾波器係數,其中該等明度濾波器係數係與一第二適應變數集合類型值相關聯,且其中該等色度濾波器係數係與不同於該第二適應變數集合類型值之一第三適應變數集合類型值相關聯。
實例141:如實例140之方法,其中該等明度濾波器係數係與一明度濾波器發信旗標相關聯,且其中該等色度濾波器係數係與不同於該明度濾波器發信旗標之一色度濾波器發信旗標相關聯且獨立於該明度濾波器發信旗標而操作。
35:分割單元
41:預測處理單元
42:運動估計單元
44:運動補償單元
46:框內預測單元/框內預測處理單元
50:求和器
52:變換處理單元
54:量化單元
56:熵編碼單元
57:後處理器件
58:反量化單元
60:反變換處理單元
62:求和器
63:濾波器單元
64:圖像記憶體
79:網路實體
80:熵解碼單元
81:預測處理單元
82:運動補償單元
84:框內預測處理單元
86:反量化單元
88:反變換處理單元
90:求和器
91:濾波器單元
92:圖像記憶體
100:系統
102:視訊源
104:編碼器件
106:編碼器引擎
108:儲存器
110:輸出
112:解碼器件
114:輸入
116:解碼器引擎
118:儲存器
120:通信鏈路
122:視訊目的地器件
202:解塊濾波器
204:樣本適應性偏移(SAO)濾波器
206:適應性迴圈濾波器(ALF)/基於幾何變換之適應性迴圈濾波器(GALF)濾波器
300:位元串流
302:SPS
304:PPS
306:APS
316:APS
320:圖塊標頭
330:圖塊資料
500:程序/方法
502:區塊
504:區塊
506:區塊
508:區塊
600:緩衝器
600:程序/方法
602:區塊
604:區塊
606:區塊
608:區塊
610:APS 1型緩衝器
620:APS 2型緩衝器
630:APS 3型緩衝器
下文參考以下圖式詳細描述本申請案之說明性實例:
圖1為說明根據一些實例之編碼器件及解碼器件之實例的方塊圖;
圖2為說明用於執行本發明之技術的濾波器單元之實例實施的圖式。
圖3為說明根據一些實例之可藉由視訊編碼器在位元串流中傳輸及藉由視訊解碼器接收的變數之不同實例的圖式。
圖4為說明根據一些實例之用於三種適應變數集合(APS)類型的緩衝器之實例的方塊圖。
圖5為說明根據本文中所描述之各種實例的實例方法之流程圖。
圖6為說明根據本文中所描述的各種實例之實例方法的流程圖。
圖7為說明根據一些實例之實例視訊編碼器件之方塊圖。
圖8為說明根據一些實例之實例視訊解碼器件之方塊圖。
600:緩衝器
610:APS 1型緩衝器
620:APS 2型緩衝器
630:APS 3型緩衝器
Claims (40)
- 一種用於解碼視訊資料之裝置,該裝置包含:一記憶體;及一處理器,其實施於電路中且經組態以執行以下操作:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;自基於該適應變數集合類型值之一適應變數集合語法結構識別用於一第一適應變數集合之一適應性迴圈濾波器資料語法結構,該第一適應變數集合與至少一個圖像之至少一部分相關聯;自該適應性迴圈濾波器資料語法結構識別指示一明度濾波器是否在該第一適應變數集合中經發信的一第一旗標;自該適應性迴圈濾波器資料語法結構識別指示一色度濾波器是否在該第一適應變數集合中經發信的一第二旗標;及使用由該明度濾波器及該色度濾波器中之至少一或多者定義之變數重建構該至少一個圖像之該部分。
- 如請求項1之裝置,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
- 如請求項2之裝置,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型 中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
- 如請求項2之裝置,其中適應變數集合識別符之該最大數目對於每一適應變數集合類型為一相同值。
- 如請求項2之裝置,其中一不同數目個位元用於適應變數集合識別符之不同類型。
- 如請求項1之裝置,其中該處理器經組態以執行以下操作:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;自基於該適應變數集合類型值之一適應變數集合語法結構識別用於一第二適應變數集合之一適應性迴圈濾波器資料語法結構,該第二適應變數集合與該至少一個圖像之至少一第二部分相關聯;自該適應性迴圈濾波器資料語法結構識別指示一明度濾波器是否在該第二適應變數集合中經發信的一第三旗標;自該適應性迴圈濾波器資料語法結構識別指示一色度濾波器是否在該第二適應變數集合中經發信的一第四旗標;及使用由該明度濾波器及該色度濾波器中之至少一或多者定義之變數重建構該視訊位元串流之該至少一個圖像的至少該第二部分。
- 如請求項6之裝置,其中用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。
- 如請求項7之裝置,其中該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且其中該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
- 如請求項1之裝置,其中該第一旗標之一值及該第二旗標之一值經獨立設定。
- 如請求項1之裝置,其中該處理器經組態以執行以下操作:組態用於一第一適應變數集合類型之一第一適應變數集合緩衝器;及組態用於一第二適應變數集合類型之一第二適應變數集合緩衝器。
- 如請求項10之裝置,其中該處理器經組態以執行以下操作:將具有該第一適應變數集合類型的該第一適應變數集合之所接收位元儲存於該第一適應變數集合緩衝器中;及將具有該第二適應變數集合類型的一第二適應變數集合之所接收位元儲存於該第二適應變數集合緩衝器中。
- 如請求項1之裝置,其中該處理器經組態以執行以下操作:組態用於複數個適應變數集合類型中之一第一適應變數集合類型的一第一緩衝器,該第一緩衝器具有小於一最大識別符值之一第一識別符集合範圍。
- 如請求項12之裝置,其中該處理器經組態以進行以下操作:組態用於該複數個適應變數集合類型中之一第二適應變數集合類型的一第二緩衝器,該第二緩衝器具有小於該最大識別符值之一第二識別符集合範圍,其中該第二識別符集合範圍不同於該第一識別符集合範圍。
- 如請求項1之裝置,其中該處理器經組態以執行以下操作:使用該適應變數集合類型值解譯該適應變數集合識別符值。
- 如請求項1之裝置,其中該第一適應變數集合係藉由如由該位元串流中之一系列連續位元表示的該適應變數集合類型值與該適應變數集合識別符值之一組合唯一地識別。
- 如請求項15之裝置,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型值且該位元串流中之該系列連續位元中的位元之一第二部分表示該等適應變數集合類型識別符值。
- 如請求項15之裝置,其中該位元串流中之該系列連續位元中的位元之一第一部分表示該適應變數集合類型識別符值,且其中在該位元串流中之位元的該第一部分之後的位元之一第二部分表示該適應變數集合類型值。
- 如請求項1之裝置,其中該第一適應變數集合包括明度濾波器係數及色度濾波器係數,其中該等明度濾波器係數係與一第二適應變數集合類型值相關聯,且其中該等色度濾波器係數係與不同於該第二適應變數集合類型值之一第三適應變數集合類型值相關聯。
- 如請求項17之裝置,其中該等明度濾波器係數係與一明度濾波器發信旗標相關聯,且其中該等色度濾波器係數係與不同於該明度濾波器發信旗標之一色度濾波器發信旗標相關聯且獨立於該明度濾波器發信旗標而操作。
- 如請求項1之裝置,其中該裝置包含具有經組態以顯示該至少一個圖像之一顯示器的一行動器件。
- 如請求項1之裝置,其進一步包含耦接至該處理器之一顯示器,該顯示器經組態以顯示該至少一個圖像。
- 一種解碼視訊資料之方法,該方法包含:自一位元串流獲得與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;自該位元串流獲得與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;自基於該適應變數集合類型值之一適應變數集合語法結構識別用於一第一適應變數集合之一適應性迴圈濾波器資料語法結構,該第一適應變數集合與至少一個圖像之至少一部分相關聯;自該適應性迴圈濾波器資料語法結構識別指示一明度濾波器是否在該第一適應變數集合中經發信的一第一旗標;自該適應性迴圈濾波器資料語法結構識別指示一色度濾波器是否在該第一適應變數集合中經發信的一第二旗標;及使用由該明度濾波器及該色度濾波器中之至少一或多者定義之變數重建構 該至少一個圖像之該部分。
- 如請求項22之方法,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
- 如請求項23之方法,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
- 如請求項23之方法,其中適應變數集合識別符之該最大數目對於每一適應變數集合類型為一相同值。
- 如請求項23之方法,其中一不同數目個位元用於適應變數集合識別符之不同類型。
- 如請求項22之方法,其進一步包含:判定與該視訊位元串流之一第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合識別符值;判定與該視訊位元串流之該第二適應變數集合網路抽象層單元相關聯的一第二適應變數集合類型值;自基於該適應變數集合類型值之一適應變數集合語法結構識別用於一第二適應變數集合之一適應性迴圈濾波器資料語法結構,該第二適應變數集合與該至少一個圖像之至少一第二部分相關聯; 自該適應性迴圈濾波器資料語法結構識別指示一明度濾波器是否在該第二適應變數集合中經發信的一第三旗標;自該適應性迴圈濾波器資料語法結構識別指示一色度濾波器是否在該第二適應變數集合中經發信的一第四旗標;及使用具有由該明度濾波器及該色度濾波器中之至少一或多者定義之變數重建構該視訊位元串流之該至少一個圖像的至少該第二部分。
- 如請求項27之方法,其中用於該第二適應變數集合之該適應變數集合識別符值及用於該第一適應變數集合之該適應變數集合識別符值係一相同值。
- 如請求項28之方法,其中該第一適應變數集合類型值為一適應性迴圈濾波器明度類型,且其中該第二適應變數集合類型值為一適應性迴圈濾波器色度類型。
- 如請求項22之方法,其中該第一旗標之一值及該第二旗標之一值經獨立設定。
- 一種用於編碼視訊資料之裝置,該裝置包含:一記憶體;及一處理器,其實施於電路中且經組態以執行以下操作:判定與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;判定與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值; 基於該適應變數集合類型值識別用於一第一適應變數集合之一適應性迴圈濾波器資料語法結構,該第一適應變數集合與該至少一個圖像之一部分相關聯;針對該適應性迴圈濾波器資料語法結構產生指示一明度濾波器是否在該第一適應變數集合中經發信的一第一旗標;針對該適應性迴圈濾波器資料語法結構產生指示一色度濾波器是否在該第一適應變數集合中經發信的一第二旗標;及產生一位元串流,該位元串流包括該適應變數集合識別符值、該適應變數集合類型值、包括該第一旗標及該第二旗標的該適應性迴圈濾波器資料語法結構及如經編碼之該至少一個圖像之該部分。
- 如請求項31之裝置,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
- 如請求項32之裝置,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
- 如請求項32之裝置,其中適應變數集合識別符之該最大數目對於每一適應變數集合類型為一相同值。
- 如請求項32之裝置,其中一不同數目個位元用於適應變數集合識別符之不同類型。
- 一種編碼視訊資料之方法,該方法包含:判定與一適應變數集合網路抽象層單元相關聯的一適應變數集合識別符值;判定與該適應變數集合網路抽象層單元相關聯的一適應變數集合類型值;基於該適應變數集合類型值識別用於一第一適應變數集合之一適應性迴圈濾波器資料語法結構,該第一適應變數集合與該至少一個圖像之一部分相關聯;針對該適應性迴圈濾波器資料語法結構產生指示一明度濾波器是否在該第一適應變數集合中經發信的一第一旗標;針對該適應性迴圈濾波器資料語法結構產生指示一色度濾波器是否在該第一適應變數集合中經發信的一第二旗標;及產生一位元串流,該位元串流包括該適應變數集合識別符值、該適應變數集合類型值、包括該第一旗標及該第二旗標的該適應性迴圈濾波器資料語法結構及如經編碼之該至少一個圖像之該部分。
- 如請求項36之方法,其中可使用一特定適應變數集合類型的適應變數集合識別符之一最大數目係由該適應變數集合類型值定義。
- 如請求項37之方法,其中複數個適應變數集合類型中之一第一適應變數集合類型係與識別符值之一第一數目相關聯,且其中該複數個適應變數集合類型中之一第二適應變數集合類型係與識別符值之一第二數目相關聯,識別符值之該第二數目不同於識別符值之該第一數目。
- 如請求項37之方法,其中適應變數集合識別符之該最大數目對於每一適應變數集合類型為一相同值。
- 如請求項37之方法,其中一不同數目個位元用於適應變數集合識別符之不同類型。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962837711P | 2019-04-23 | 2019-04-23 | |
US62/837,711 | 2019-04-23 | ||
US201962865890P | 2019-06-24 | 2019-06-24 | |
US62/865,890 | 2019-06-24 | ||
US16/842,343 US11368684B2 (en) | 2019-04-23 | 2020-04-07 | Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters |
US16/842,343 | 2020-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202046739A TW202046739A (zh) | 2020-12-16 |
TWI851707B true TWI851707B (zh) | 2024-08-11 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013070703A1 (en) | 2011-11-08 | 2013-05-16 | Qualcomm Incorporated | Parameter set groups for coded video data |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013070703A1 (en) | 2011-11-08 | 2013-05-16 | Qualcomm Incorporated | Parameter set groups for coded video data |
Non-Patent Citations (1)
Title |
---|
網路文獻 Miska M. Hannuksela et al AHG9 High-Level Syntax: APS loss detection Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: Stockholm, SE 11–20 July 2012 http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0072-v3.zip |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11368684B2 (en) | Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters | |
US10542261B2 (en) | Systems and methods for processing a syntax structure assigned a minimum value in a parameter set | |
CN113711595B (zh) | 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配 | |
JP6545722B2 (ja) | パラメータセットにおいて異なる数のビデオ信号情報シンタックス構造を選択的にシグナリングするためのシステムおよび方法 | |
TW201926991A (zh) | 色度量化參數偏移 | |
US11184607B2 (en) | Same picture order count (POC) numbering for scalability support | |
TW201735608A (zh) | 用於產生對視訊之顏色再映射資訊之補充增強資訊訊息之方法及系統 | |
US20210329272A1 (en) | Adaptive loop filtering for color format support | |
TW202203650A (zh) | 解碼圖片緩衝器(dpb)操作和存取單元定界符(aud) | |
KR20240121225A (ko) | 적응형 필름 그레인 합성 | |
JP2024531112A (ja) | グリーンメタデータシグナリング | |
TWI851707B (zh) | 用於適應性迴圈濾波器變數之適應變數集合 | |
TW202433920A (zh) | 用於跨分量適應性迴路濾波的區域優化儲存方案 | |
JP2023552980A (ja) | 高ビット深度ビデオコーディングのライスパラメータ導出のための低複雑度の履歴使用 | |
TW202431841A (zh) | 使用圖塊到光柵重排序的增強型視訊解碼器 |