TWI851681B - 用於視訊寫碼中的調色板語法的分組寫碼 - Google Patents
用於視訊寫碼中的調色板語法的分組寫碼 Download PDFInfo
- Publication number
- TWI851681B TWI851681B TW109108164A TW109108164A TWI851681B TW I851681 B TWI851681 B TW I851681B TW 109108164 A TW109108164 A TW 109108164A TW 109108164 A TW109108164 A TW 109108164A TW I851681 B TWI851681 B TW I851681B
- Authority
- TW
- Taiwan
- Prior art keywords
- index
- syntax elements
- palette
- groups
- group
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 135
- 230000015654 memory Effects 0.000 claims description 60
- 238000003860 storage Methods 0.000 claims description 33
- 238000010276 construction Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 45
- 238000013139 quantization Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 27
- 238000000638 solvent extraction Methods 0.000 description 25
- 239000013598 vector Substances 0.000 description 22
- 241000023320 Luma <angiosperm> Species 0.000 description 19
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 239000003086 colorant Substances 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 230000011664 signaling Effects 0.000 description 10
- WYTGDNHDOZPMIW-RCBQFDQVSA-N alstonine Natural products C1=CC2=C3C=CC=CC3=NC2=C2N1C[C@H]1[C@H](C)OC=C(C(=O)OC)[C@H]1C2 WYTGDNHDOZPMIW-RCBQFDQVSA-N 0.000 description 8
- 239000000872 buffer Substances 0.000 description 8
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 7
- 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 6
- 241000209094 Oryza Species 0.000 description 6
- 235000007164 Oryza sativa Nutrition 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 235000009566 rice Nutrition 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000017105 transposition Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100508818 Mus musculus Inpp5k gene Proteins 0.000 description 1
- 101100366438 Rattus norvegicus Sphkap gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
示例性方法包括:將視訊資料的當前寫碼單元(CU)劃分為多個索引群組,視訊資料的當前CU是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,解析用於該多個索引群組中的第二索引群組的語法元素;以及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,重構視訊資料的當前CU。
Description
本申請案主張享有於2019年3月13日提出申請的美國臨時申請案第62/817,946號、2019年3月14日提出申請的美國臨時申請案第62/818,455號和2019年8月16日提出申請的美國臨時申請案第62/888,061號的權益,其中每個的全部內容以引用方式併入本文。
本揭示案係關於視訊編碼和視訊解碼。
數位視訊功能可以結合到各種設備中,包括數位電視、數位直接廣播系統、無線廣播系統、個人數位助理(PDA)、膝上型電腦或桌上型電腦、平板電腦、電子書閱讀器、數碼相機、數位記錄設備、數位媒體播放機、視訊遊戲設備、視訊遊戲機、蜂巢或衛星無線電電話、所謂的「智慧型電話」、視訊電話會議設備、視訊串流設備等。數位視訊設備實施視訊寫碼技術,諸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4,第10部分、高級視訊寫碼(AVC)、ITU-T H.265/高效視訊寫碼(HEVC)定義的標準以及此類標準的擴展中所描述的。藉由實施此種視訊寫碼技術,視訊設備可以更有效地發送、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖片內)預測及/或時間(圖片間)預測,以減少或消除視訊序列中固有的冗餘。對於基於塊的視訊寫碼,可以將視訊片段(例如,視訊圖片或視訊圖片的一部分)劃分為視訊塊,該等視訊塊亦可以稱為寫碼樹單元(CTU)、寫碼單元(CU)及/或寫碼節點。圖片的訊框內寫碼(I)片段中的視訊塊是使用空間預測來相對於同一圖片中相鄰塊中的參考樣本進行編碼的。圖片的訊框間寫碼(P或B)片段中的視訊塊可以使用相對於同一圖片中相鄰塊中參考樣本的空間預測,或相對於其他參考圖片中參考樣本的時間預測。可以將圖片稱為訊框,並且可以將參考圖片稱為參考訊框。
整體而言,本揭示案描述了用於具有減少的記憶體需求的視訊資料的調色板模式寫碼的技術。為了對視訊資料的寫碼單元進行寫碼,視訊寫碼器可以發信號通知寫碼單元之每一樣本的索引值,並且發信號通知在索引值與樣本值之間進行轉換的調色板。一旦視訊解碼器已經解碼了寫碼單元的所有索引值,視訊解碼器就可以利用調色板來重構寫碼單元的樣本。如此,視訊解碼器需要指派足夠的記憶體來儲存寫碼單元的所有索引值。因此,寫碼單元大小的增大可能需要額外的記憶體指派,此可能是不期望的。
根據本揭示案的一或多種技術,視訊寫碼器可將寫碼單元劃分為複數個係數群組,並單獨處理每個係數群組的樣本值。例如,視訊寫碼器可將8×8寫碼單元劃分為四個係數群組,每個群組包括16個樣本。視訊寫碼器可以處理應用於寫碼單元的所有樣本的一或多個語法元素,並隨後順序地處理係數群組。以此方式,視訊寫碼器可以避免必須同時儲存整個寫碼單元的索引值。同樣以此種方式,視訊解碼器可以在已經解碼了所有係數群組並且因此已經解碼了所有索引值之前,就從已經解碼的係數群組的索引值重構寫碼單元的樣本。
作為一個實例,一種用於對視訊資料進行寫碼的方法包括:將視訊資料的當前寫碼單元(CU)劃分為複數個索引群組,視訊資料的當前CU是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,來重構視訊資料的當前CU。
作為另一實例,一種設備包括:記憶體,其儲存視訊資料;及一或多個處理器,其在電路中實施並且被配置為:將視訊資料的當前CU劃分為複數個索引群組,視訊資料的當前CU是使用調色板模式進行寫碼的;經由寫碼的視訊位元串流解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,經由寫碼的視訊位元串流解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,來重構視訊資料的當前CU。
作為另一實例,一種設備包括:用於將視訊資料的當前CU劃分為複數個索引群組的構件,視訊資料的當前CU是使用調色板模式進行寫碼的;用於經由寫碼的視訊位元串流解析用於該複數個索引群組中的第一索引群組的語法元素的構件;用於在解析了用於第一索引群組的語法元素之後,經由寫碼的視訊位元串流解析用於該複數個索引群組中的第二索引群組的語法元素的構件;及用於基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,來重構視訊資料的當前CU的構件。
作為另一實例,一種電腦可讀取儲存媒體,其儲存在被執行時使視訊寫碼器的一或多個處理器執行如下操作的指令:將視訊資料的當前CU劃分為複數個索引群組,視訊資料的當前CU是使用調色板模式進行寫碼的;經由寫碼的視訊位元串流解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,經由寫碼的視訊位元串流解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,來重構視訊資料的當前CU。
在附圖和以下說明中闡述了本揭示案的一或多個態樣的細節。依據說明書和附圖以及申請專利範圍,本揭示案中描述的技術的其他特徵、目的和優點將是顯而易見的。
第1圖是圖示可以執行本揭示案的技術的示例性視訊編碼和解碼系統100的方塊圖。本揭示案的技術整體上針對對視訊資料進行寫碼(編碼及/或解碼)。整體而言,視訊資料包括用於處理視訊的任何資料。因此,視訊資料可以包括原始的、未寫碼的視訊、編碼的視訊、解碼的(例如,重構的)視訊以及視訊中繼資料(諸如訊號傳遞資料)。
如第1圖所示,在該實例中,系統100包括源設備102,該源設備102提供將由目的地設備116解碼和顯示的編碼視訊資料。特別地,源設備102經由電腦可讀取媒體110將視訊資料提供給目的地設備116。源設備102和目的地設備116可以包括各種設備中的任何設備,包括桌上型電腦、筆記本(亦即膝上型)電腦、平板電腦、機上盒、電話手機(諸如智慧型電話)、電視、相機、顯示設備、數位媒體播放機、視訊遊戲機、視訊串流媒體設備等。在一些情況下,源設備102和目的地設備116可以被配備用於無線通訊,並且因此可以被稱為無線通訊設備。
在第1圖的實例中,源設備102包括視訊源104、記憶體106、視訊編碼器200和輸出介面108。目的地設備116包括輸入介面122、視訊解碼器300、記憶體120和顯示設備118。根據本揭示案,源設備102的視訊編碼器200和目的地設備116的視訊解碼器300可以被配置為應用用於調色板模式中的子塊寫碼的技術。因此,源設備102代表視訊編碼設備的實例,而目的地設備116代表視訊解碼設備的實例。在其他實例中,源設備和目的地設備可以包括其他部件或佈置。例如,源設備102可以從諸如外部相機的外部視訊源接收視訊資料。同樣,目的地設備116可以與外部顯示設備連接,而不是包括整合的顯示設備。
如第1圖所示的系統100僅是一個實例。通常,任何數位視訊編碼及/或解碼設備皆可以執行用於調色板模式中的子塊寫碼的技術。源設備102和目的地設備116僅僅是此種寫碼設備的實例,其中源設備102產生寫碼的視訊資料以傳輸到目的地設備116。本揭示案將「寫碼」設備稱為執行資料的寫碼(編碼及/或解碼)的設備。因此,視訊編碼器200和視訊解碼器300表示寫碼設備的實例,特別地分別是視訊編碼器和視訊解碼器。在一些實例中,設備102、116可以以基本上對稱的方式操作,使得設備102、116之每一者包括視訊編碼和解碼用部件。因此,系統100可以支援視訊設備102、116之間的單向或雙向視訊傳輸,例如,用於視訊串流傳輸、視訊重播、視訊廣播或視訊電話。
整體而言,視訊源104代表視訊資料(亦即原始的未寫碼的視訊資料)的源,並將視訊資料的圖片(亦稱為「訊框」)的序列提供給視訊編碼器200,視訊編碼器200對圖片的資料進行編碼。源設備102的視訊源104可以包括視訊擷取設備,諸如攝影機,包含先前擷取的原始視訊的視訊檔案,及/或用以從視訊內容提供者接收視訊的視訊饋送介面。作為另一替代,視訊源104可以產生基於電腦圖形的資料作為源視訊,或者是即時視訊、存檔視訊和電腦產生的視訊的組合。在每種情況下,視訊編碼器200對擷取的、預先擷取的或電腦產生的視訊資料進行編碼。視訊編碼器200可以將圖片從接收到的順序(有時稱為「顯示順序」)重新排列為用於寫碼的寫碼順序。視訊編碼器200可以產生包括編碼的視訊資料的位元串流。隨後,源設備102可以經由輸出介面108將編碼的視訊資料輸出到電腦可讀取媒體110上,以經由例如目的地設備116的輸入介面122進行接收及/或取得。
源設備102的記憶體106和目的地設備116的記憶體120代表通用記憶體。在一些實例中,記憶體106、120可以儲存原始視訊資料,例如,來自視訊源104的原始視訊和來自視訊解碼器300的原始的解碼的視訊資料。另外或可替代地,記憶體106、120可以儲存可由例如視訊編碼器200和視訊解碼器300分別執行的軟體指令。儘管在該實例中與視訊編碼器200和視訊解碼器300分開顯示,但應理解,視訊編碼器200和視訊解碼器300亦可包括內部記憶體,以實施功能上相似或等效的目的。此外,記憶體106、120可儲存例如從視訊編碼器200輸出並輸入到視訊解碼器300的編碼的視訊資料。在一些實例中,可以將記憶體106、120的部分指派為一或多個視訊緩衝器,例如,用以儲存原始、解碼的及/或編碼的視訊資料。
電腦可讀取媒體110可以代表能夠將編碼的視訊資料從源設備102傳輸到目的地設備116的任何類型的媒體或設備。在一個實例中,電腦可讀取媒體110代表用於使源設備102能夠,例如經由射頻網路或基於電腦的網路,即時地將編碼的視訊資料直接發送到目的地設備116的通訊媒體。根據諸如無線通訊協定的通訊標準,輸出介面108可以調制包括編碼的視訊資料的傳輸信號,並且輸入介面122可以對接收到的傳輸信號進行解調。通訊媒體可以包括任何無線或有線通訊媒體,諸如射頻(RF)頻譜或一或多條實體傳輸線。通訊媒體可以形成諸如區域網路、廣域網路的基於封包的網路或諸如網際網路的全球網路的部分。通訊媒體可以包括路由器、交換機、基地台或任何其他可用於實施從源設備102到目的地設備116的通訊的設備。
在一些實例中,電腦可讀取媒體110可以包括儲存設備112。源設備102可以從輸出介面108向儲存設備112輸出編碼的資料。類似地,目的地設備116可以經由輸入介面122從儲存設備112存取編碼的資料。儲存設備112可以包括多種分散式或本端存取的資料儲存媒體中的任何一種,諸如硬碟、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或任何其他合適的用於儲存編碼的視訊資料的數位儲存媒體。
在一些實例中,電腦可讀取媒體110可以包括檔案伺服器114或可以儲存由源設備102產生的編碼的視訊資料的另一中間儲存設備。源設備102可以將編碼的視訊資料輸出到檔案伺服器114或可以儲存由源設備102產生的編碼的視訊資料的另一中間儲存設備。目的地設備116可以經由串流傳輸或下載來存取來自檔案伺服器114的儲存的視訊資料。檔案伺服器114可以是能夠儲存編碼的視訊資料並將編碼的視訊資料發送到目的地設備116的任何類型的伺服器設備。檔案伺服器114可以代表網路服務器(例如,用於網站)、檔案傳輸通訊協定(FTP)伺服器、內容傳遞網路設備或網路附加儲存(NAS)設備。目的地設備116可以經由包括網際網路連接的任何標準資料連接,來存取來自檔案伺服器114的編碼的視訊資料。此可以包括適合存取儲存在檔案伺服器114上的編碼的視訊資料的無線通道(例如Wi-Fi連接)、有線連接(例如數位用戶線(DSL)、纜線數據機等)或兩者的組合。檔案伺服器114和輸入介面122可以被配置為根據串流傳輸協定、下載傳輸協定或其組合進行操作。
輸出介面108和輸入介面122可以代表無線發射器/接收器、數據機、有線聯網部件(例如,乙太網路卡)、根據各種IEEE 802.11標準中的任何一個進行操作的無線通訊部件,或者其他實體部件。在輸出介面108和輸入介面122包括無線部件的實例中,輸出介面108和輸入介面122可以被配置為根據諸如4G、4G-LTE(長期進化)、LTE Advanced、5G等的蜂巢通訊標準來傳遞諸如編碼的視訊資料之類的資料。在輸出介面108包括無線發射器的一些實例中,輸出介面108和輸入介面122可以配置為根據諸如IEEE 802.11規範、IEEE 802.15規範(例如ZigBee™)、Bluetooth™標準等的其他無線標準來傳遞諸如編碼的視訊資料之類的資料。在一些實例中,源設備102及/或目的地設備116可以包括各自的片上系統(SoC)設備。例如,源設備102可以包括SoC設備以執行歸屬於視訊編碼器200及/或輸出介面108的功能,並且目的地設備116可以包括SoC設備以執行歸屬於視訊解碼器300及/或輸入介面122的功能。
本揭示案的技術可以應用於支援各種多媒體應用中的任何一種的視訊寫碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如經由HTTP的動態自我調整串流傳輸(DASH))、被編碼到資料儲存媒體上的數位視訊、對被儲存在資料儲存媒體上的數位視訊進行解碼,或其他應用。
目的地設備116的輸入介面122從電腦可讀取媒體110(例如,通訊媒體、儲存設備112、檔案伺服器114等)接收編碼的視訊位元串流。來自電腦可讀取媒體110的編碼的視訊位元串流可以包括由視訊編碼器200定義的訊號傳遞資訊(其亦由視訊解碼器300使用),諸如具有描述視訊塊或其他寫碼單元(例如,片段、圖片、圖片群組、序列等)的特性及/或處理的值的語法元素。顯示設備118向使用者顯示解碼的視訊資料的解碼的圖片。顯示設備118可以代表多種顯示設備中的任何一種,諸如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機發光二極體(OLED)顯示器或另一類型的顯示設備。
儘管未在第1圖中圖示,但在一些實例中,視訊編碼器200和視訊解碼器300可以各自與音訊編碼器及/或音訊解碼器整合的,並且可以包括適當的MUX-DEMUX單元或其他硬體及/或軟體,以處理包括通用資料串流中的音訊和視訊兩者的多工串流。若適用,MUX-DEMUX單元可以符合ITU H.223多工器協定或其他協定,諸如使用者資料包通訊協定(UDP)。
視訊編碼器200和視訊解碼器300可以各自實施為各種合適的編碼器及/或解碼器電路中的任何一種,諸如一或多個微處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、個別邏輯、軟體、硬體、韌體或其任何組合。當該技術部分地以軟體實施時,設備可將用於軟體的指令儲存在合適的非暫時性電腦可讀取媒體中,並使用一或多個處理器以硬體執行指令以執行本揭示案的技術。可以將視訊編碼器200和視訊解碼器300中的每一個包括在一或多個編碼器或解碼器中,其中的任何一個可以被整合為相應設備中的組合編碼器/解碼器(CODEC)的部分。包括視訊編碼器200及/或視訊解碼器300的設備可以包括積體電路、微處理器及/或無線通訊設備,諸如蜂巢式電話。
視訊編碼器200和視訊解碼器300可以根據視訊寫碼標準(諸如ITU-T H.265,亦稱為高效視訊寫碼(HEVC))或其擴展(諸如,多視圖及/或可縮放視訊寫碼擴展))進行操作。可替代地,視訊編碼器200和視訊解碼器300可以根據諸如聯合探索測試模型(JEM)或ITU-T H.266(亦稱為多功能視訊寫碼(「Versatile Video Coding ,VVC))的其他專有或行業標準進行操作。Bross等人的如下文件描述了VVC標準的最新草案:「Versatile Video Coding (Draft 4),」ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視訊專家組(JVET)的第13次會議:Marrakech, MA, 2019年1月9日至18日,JVET-M1001-v6 (以下簡稱「VVC草案4」)。然而,本揭示案的技術不限於任何特定的解碼標準。
通常,視訊編碼器200和視訊解碼器300可以執行圖片的基於塊的寫碼。術語「塊」通常是指包括要處理(例如,在編碼及/或解碼過程中的編碼、解碼或以其他方式使用)的資料的結構。例如,塊可以包括亮度及/或色度資料的樣本的二維矩陣。通常,視訊編碼器200和視訊解碼器300可以對以YUV(例如,Y、Cb、Cr)格式表示的視訊資料進行寫碼。亦即,不是寫碼圖片的樣本的紅色、綠色和藍色(RGB)資料,而是視訊編碼器200和視訊解碼器300可以對亮度和色度分量進行寫碼,其中色度分量可以包括紅色調和藍色調色度分量。在一些實例中,視訊編碼器200在編碼之前將接收到的RGB格式的資料轉換成YUV表示,並且視訊解碼器300將YUV表示轉換成RGB格式。可替代地,預處理和後處理單元(未圖示)可以執行該等轉換。
本揭示案整體上可以涉及圖片的寫碼(例如,編碼和解碼),以包括對圖片的資料進行編碼或解碼的過程。類似地,本揭示案可以涉及圖片的塊的寫碼,以包括對塊的資料進行編碼或解碼的過程,例如,預測及/或殘差解碼。編碼的視訊位元串流通常包括用於語法元素的一系列值,該等語法元素表示寫碼決策(例如,寫碼模式)以及圖片到塊的劃分。因此,針對對圖片或塊進行寫碼的提及通常應被理解為對用於形成圖片或塊的語法元素的值進行寫碼。
HEVC定義各種塊,包括寫碼單元(CU)、預測單元(PU)和變換單元(TU)。根據HEVC,視訊寫碼器(諸如視訊編碼器200)根據四叉樹結構將寫碼樹單元(CTU)劃分為CU。亦即,視訊寫碼器將CTU和CU劃分為四個相等的不重疊的正方形,並且四叉樹的每個節點具有零個或四個子節點。沒有子節點的節點可以被稱為「葉節點」,並且此種葉節點的CU可以包括一或多個PU及/或一或多個TU。視訊寫碼器可進一步劃分PU和TU。例如,在HEVC中,殘差四叉樹(RQT)代表TU的劃分。在HEVC中,PU代表訊框間預測資料,而TU代表殘差資料。訊框內預測的CU包括訊框內預測資訊,諸如訊框內模式指示。
作為另一個實例,視訊編碼器200和視訊解碼器300可以被配置為根據JEM、VVC或AV1進行操作。根據JEM或VVC,視訊寫碼器(諸如視訊編碼器200)將圖片劃分為複數個寫碼樹單元(CTU)。視訊編碼器200可根據諸如四叉樹-二叉樹(QTBT)結構或多類型樹(MTT)結構之類的樹結構來劃分CTU。QTBT結構消除了多個劃分類型的概念,諸如HEVC的CU、PU和TU之間的分隔。QTBT結構包括兩個級別:根據四叉樹劃分而劃分的第一級,以及根據二叉樹劃分而劃分的第二級。QTBT結構的根節點對應於CTU。二叉樹的葉節點對應於寫碼單元(CU)。
在MTT劃分結構中,可以使用四叉樹(QT)劃分、二叉樹(BT)劃分以及一或多個類型的三叉樹(TT)劃分,來對塊進行劃分。三叉樹劃分是將一個塊分為三個子塊的劃分。在一些實例中,三叉樹劃分在不經由中心分割原始塊的情況下將一個塊分為三個子塊。MTT中的劃分類型(例如QT、BT和TT)可以是對稱的或不對稱的。
在一些實例中,視訊編碼器200和視訊解碼器300可以使用單個QTBT或MTT結構來表示亮度分量和色度分量之每一者,而在其他實例中,視訊編碼器200和視訊解碼器300可以使用兩個或更多個QTBT或MTT結構,諸如用於亮度分量的一個QTBT/MTT結構和用於兩個色度分量的另一個QTBT/MTT結構(或用於各個色度分量的兩個QTBT/MTT結構)。
視訊編碼器200和視訊解碼器300可以被配置為針對每個HEVC、QTBT劃分、MTT劃分或其他劃分結構使用四叉樹劃分。為了說明的目的,相對於QTBT劃分提供了本揭示案的技術的描述。然而,應理解,本揭示案的技術亦可應用於被配置為使用四叉樹分割或其他類型的劃分的視訊解碼器。
本揭示案可互換地使用「N×N」和「N乘N」來代表按照垂直和水準尺寸的塊(諸如CU或其他視訊塊)的樣本尺寸,例如16×16個樣本或16乘16個樣本。通常,16×16 CU在垂直方向上具有16個樣本(y=16),並在水準方向上具有16個樣本(x=16)。同樣,N×N CU通常在垂直方向上具有N個樣本,並在水準方向上具有N個樣本,其中N表示非負整數值。CU中的樣本可以按行和列排列。此外,CU在水準方向上不必具有與垂直方向上相同數量的樣本。例如,CU可包括N×M個樣本,其中M不一定等於N。
視訊編碼器200對表示預測及/或殘差資訊以及其他資訊的CU的視訊資料進行編碼。預測資訊指示將如何預測CU以便形成用於CU的預測塊。殘差資訊通常表示編碼之前的CU的樣本與預測塊之間的逐樣本的差。
為了預測CU,視訊編碼器200通常可經由訊框間預測或訊框內預測來形成用於CU的預測塊。訊框間預測通常是指根據先前寫碼的圖片的資料來預測CU,而訊框內預測通常是指根據同一圖片的先前寫碼的資料來預測CU。為了執行訊框間預測,視訊編碼器200可使用一或多個運動向量來產生預測塊。視訊編碼器200通常可以執行運動搜尋以辨識與CU緊密匹配的參考塊,例如按照CU與參考塊之間的差。視訊編碼器200可使用絕對差之和(SAD),平方差之和(SSD),平均絕對差(MAD),均方差(MSD)或其他此類差值計算來計算差值度量,以確定參考塊是否與當前CU緊密匹配。在一些實例中,視訊編碼器200可使用單向預測或雙向預測來預測當前CU。
JEM和VVC的一些實例亦提供了仿射運動補償模式,其可以被視為訊框間預測模式。在仿射運動補償模式中,視訊編碼器200可以確定表示非平移運動(諸如放大或縮小、旋轉、透視運動或其他不規則運動類型)的兩個或更多個運動向量。
為了執行訊框內預測,視訊編碼器200可選擇訊框內預測模式以產生預測塊。JEM和VVC的一些實例提供了67種訊框內預測模式,包括各種方向模式,以及平面模式和DC模式。通常,視訊編碼器200選擇訊框內預測模式,訊框內預測模式描述了針對當前塊(例如,CU的塊)的相鄰樣本,從該等相鄰樣本預測當前塊的樣本。假設視訊編碼器200以光柵掃瞄順序(從左到右,從上到下)來對CTU和CU進行解碼,則該樣本通常可以在與當前塊相同的圖片中的當前塊的上方、左上方或左側)。
視訊編碼器200對表示當前塊的預測模式的資料進行編碼。例如,對於訊框間預測模式,視訊編碼器200可以對表示各種可用訊框間預測模式中的哪一種訊框間預測模式被使用的資料以及對應模式的運動資訊進行編碼。對於單向或雙向訊框間預測,例如,視訊編碼器200可以使用高級運動向量預測(AMVP)或合併模式來對運動向量進行編碼。視訊編碼器200可以使用類似的模式來對仿射運動補償模式的運動向量進行編碼。
在諸如塊的訊框內預測或訊框間預測之類的預測之後,視訊編碼器200可計算該塊的殘差資料。殘差資料(諸如殘差塊)表示該塊與使用相應預測模式形成的該塊的預測塊之間的逐樣本差。視訊編碼器200可將一或多個變換應用於殘差塊,以在變換域而非樣本域中產生經變換的資料。例如,視訊編碼器200可將離散餘弦變換(DCT)、整數變換、小波變換或概念上類似的變換應用於殘差視訊資料。另外,視訊編碼器200可在第一變換之後應用次級變換,例如,與模式相關的不可分離的次級變換(MDNSST)、與信號相關的變換、Karhunen-Loeve變換(KLT)等。視訊編碼器200在應用一或多個變換之後產生變換係數。
如前述,在用以產生變換係數的任何變換之後,視訊編碼器200可執行變換係數的量化。量化通常是指對變換係數進行量化以可能減少用於表示該係數的資料量從而提供進一步壓縮的過程。藉由執行量化過程,視訊編碼器200可減小與一些或所有係數相關聯的位元深度。例如,視訊編碼器200可在量化期間將n位元的值捨入為m位元的值,其中n大於m。在一些實例中,為了執行量化,視訊編碼器200可執行對待量化的值的按位右移。
在量化之後,視訊編碼器200可掃瞄變換係數,從而從包括經量化的變換係數的二維矩陣產生一維向量。可以將該掃瞄設計為將較高能量(因此較低頻率)的係數放置在向量的前面,並將較低能量(因此較高頻率)的變換係數放置在向量的後面。在一些實例中,視訊編碼器200可利用預定義的掃瞄順序來掃瞄經量化的變換係數以產生序列化的向量,隨後對向量的經量化的變換係數進行熵編碼。在其他實例中,視訊編碼器200可以執行自我調整掃瞄。在掃瞄經量化的變換係數以形成一維向量之後,視訊編碼器200可以例如根據上下文自我調整二進位算術寫碼(CABAC)對一維向量進行熵編碼。視訊編碼器200亦可對語法元素的值進行熵編碼,該語法元素描述與編碼的視訊資料相關聯的中繼資料,以供視訊解碼器300在對視訊資料進行解碼時使用。
為了執行CABAC,視訊編碼器200可將上下文模型內的上下文指派給要發送的符號。上下文可以涉及例如符號的相鄰值是否為零值。概率確定可以基於指派給符號的上下文。
視訊編碼器200亦可以向視訊解碼器300產生語法資料,諸如基於塊的語法資料、基於圖片的語法資料和基於序列的語法資料,例如在圖片標頭、塊標頭、片段標頭中,或產生其他語法資料,諸如序列參數集(SPS)、圖片參數集(PPS)或視訊參數集(VPS)。視訊解碼器300可類似地解碼此類語法資料以確定如何解碼對應的視訊資料。
以此方式,視訊編碼器200可以產生包括編碼的視訊資料的位元串流,該視訊資料例如為:描述圖片到塊(例如,CU)的劃分的語法元素以及用於塊的預測及/或殘差資訊。最終,視訊解碼器300可以接收位元串流並對編碼的視訊資料進行解碼。
通常,視訊解碼器300執行視訊編碼器200所執行的過程的互逆過程,以對位元串流的編碼的視訊資料進行解碼。例如,視訊解碼器300可使用CABAC,以與視訊編碼器200的CABAC編碼過程儘管互逆但基本相似的方式來對位元元串流的語法元素的值進行解碼。語法元素可以定義:將圖片劃分為CTU的劃分資訊,以及根據相應的劃分結構(諸如QTBT結構)的對每個CTU的劃分,以定義CTU的CU。語法元素可進一步定義視訊資料的塊(例如,CU)的預測和殘差資訊。
殘差資訊可以由例如量化的變換係數表示。視訊解碼器300可對塊的量化的變換係數進行逆量化和逆變換,以再現該塊的殘差塊。視訊解碼器300使用以信號通知的預測模式(訊框內預測或訊框間預測)和相關的預測資訊(例如,用於訊框間預測的運動資訊)來形成用於該塊的預測塊。視訊解碼器300隨後可以組合預測塊和殘差塊(在逐樣本的基礎上)以再現原始塊。視訊解碼器300可執行額外處理,例如執行解塊處理以減少沿塊的邊界的視覺偽像。
本揭示案描述了用於視訊寫碼和壓縮的技術。特定言之,本揭示案描述用於視訊資料的基於調色板的寫碼的技術。例如,本揭示案描述了用於支援對視訊內容的寫碼,尤其是使用調色板解碼對螢幕內容的寫碼的技術,諸如用於改進的調色板索引二值化的技術,以及用於調色板寫碼的訊號傳遞的技術。
在傳統的視訊寫碼中,將圖像假定為連續色調且空間平滑。基於該等假設,已經開發了各種工具,諸如基於塊的變換、濾波等,並且該等工具對於自然內容視訊顯示出良好的效能。
但是,在如同遠端桌面、協調工作和無線顯示等應用中,電腦產生的螢幕內容可能是要壓縮的主要內容。此種類型的內容往往具有離散的色調和特徵鮮明的線條,以及高對比的物件邊界。連續色調和平滑度的假設可能不再適用,並且因此傳統的視訊寫碼技術可能不是有效的壓縮方式。
根據螢幕內容視訊的特性,引入了調色板解碼以提高螢幕內容寫碼(SCC)的效率,此在Guo等人的如下文件種提出:「Palette Mode for Screen Content Coding」,ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的視訊寫碼聯合協調組(JCT-VC),第13次會議: Incheon, KR, 2013年4月18日至26日,文件: JCTVC-M0323, 其在如下可獲得:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0323-v3.zip,(以下簡稱「JCTVC-M0323」)。特定言之,調色板寫碼引入了查閱資料表,亦即調色板,以基於以下事實來壓縮重複圖元值:亦即,在SCC中,一個CU中的顏色通常集中在幾個峰值上。給定用於特定CU的調色板,將CU內的圖元映射到調色板索引。在第二階段中,提出了一種有效的從左側複製的游程長度方法,以有效壓縮索引塊的重複圖案。在一些實例中,調色板索引寫碼模式可以被廣義化為具有游程長度寫碼的從左側複製和從上方複製。注意,在某些實例中,沒有為調色板寫碼調用任何變換過程,以避免使清晰邊緣變得模糊,此種情況可能對螢幕內容的視覺品質產生巨大的不利影響。
如前述,本揭示案描述了基於調色板的寫碼,其可能特別適合於螢幕產生的內容的寫碼。例如,假設視訊資料的特定區域具有相對少量的顏色。視訊寫碼器(例如,視訊編碼器200及/或視訊解碼器300)可以將所謂的「調色板」寫碼為用於表示該特定區域(例如,給定塊)的視訊資料的顏色表。每個圖元可以與調色板中代表該圖元的顏色的條目相關聯。例如,視訊寫碼器可以對將圖元值映射到調色板中的適當值的索引進行解碼。
在以上實例中,視訊編碼器200可以藉由如下來對視訊資料區塊進行編碼:確定用於塊的調色板,在調色板中定位條目以表示每個圖元的顏色值,並用將圖元值映射到調色板的、用於圖元的索引值來對調色板進行編碼。視訊解碼器300可從編碼的位元串流中獲得塊的調色板以及塊的圖元的索引值。視訊解碼器300可將圖元的索引值映射到調色板的條目,以重構塊的亮度和色度的圖元值。
上面的實例意欲提供對基於調色板的寫碼的一般描述。在各種實例中,在本揭示案中描述的技術可以包括用於以下一項或多項的各種組合的技術:以信號通知基於調色板的寫碼模式、發送調色板、預測調色板、匯出調色板,以及發送基於調色板的寫碼圖(coding map)和其他語法元素。此種技術可以提高視訊寫碼效率,例如,需要更少的位元元來表示螢幕產生的內容。
例如,根據本揭示案的多個態樣,視訊寫碼器(視訊編碼器200及/或視訊解碼器300)可以對用於使用調色板解碼模式寫碼的每個區塊的一或多個語法元素進行寫碼。例如,視訊寫碼器可以寫碼palette_mode_flag以指示是否將基於調色板的寫碼模式用於對特定塊進行寫碼。在該實例中,視訊編碼器可以使用等於一的值來編碼palette_mode_flag,以指定當前正在被編碼的塊(「當前塊」)是使用調色板模式來編碼的。在此種情況下,視訊解碼器可以從編碼的位元串流中獲得palette_mode_flag,並應用基於調色板的寫碼模式來解碼該塊。在存在多於一個基於調色板的寫碼模式可用的情況下(例如,存在多於一個基於調色板的技術可用於寫碼),一或多個語法元素可以指示複數個不同調色板模式中的用於該塊的一個調色板模式。
在一些情況下,視訊編碼器200可以使用等於零的值來編碼palette_mode_flag,以指定不使用調色板模式來編碼當前塊。在此種情況下,視訊編碼器200可以使用多種訊框間預測、訊框內預測或其他寫碼模式中的任何一種來對該塊進行編碼。當palette_mode_flag等於零時,視訊編碼器200可以編碼附加資訊(例如,語法元素)以指示用於編碼相應塊的特定模式。在一些實例中,如下所述,該模式可以是HEVC寫碼模式。出於舉例的目的描述了palette_mode_flag的使用。在其他實例中,諸如多位元代碼之類的其他語法元素可以用於指示是否將基於調色板的寫碼模式用於一或多個塊,或者指示要使用複數種模式中的哪一種模式。
當使用基於調色板的寫碼模式時,視訊編碼器200可以在編碼的視訊資料位元串流中編碼調色板的表示(例如,以供視訊解碼器300使用)。視訊編碼器200可以針對每個區塊來編碼調色板,或者可以編碼要在圖片或片段中的多個塊之間共用的調色板。調色板可以代表塊的主要及/或有代表性的多個圖元值,包括例如亮度值和兩個色度值。
在一些實例中,視訊編碼器200可以編碼語法元素,諸如轉置(transpose)標記,以指示是否將轉置過程應用於當前調色板的調色板索引。若轉置標誌為零,則可以在水準遍歷掃瞄中對樣本的調色板索引進行寫碼。類似地,若轉置標誌為一,則可以在垂直遍歷掃瞄中對樣本的調色板索引進行寫碼。可以認為,此是假設水準遍歷掃瞄的情況下解碼索引值,隨後對塊進行轉置(行到列)。
如前述,將調色板寫碼設計為處理螢幕內容的聚類顏色。調色板寫碼採用基色和索引圖來表示輸入圖像塊。視訊編碼器200可以對用於每個寫碼單元(CU)的標誌進行編碼,該標誌用以發信號通知在當前CU中是否使用調色板模式。若使用調色板模式,則CU中的圖元值由代表性顏色值的小集合來表示。該集合被稱為調色板。對於具有接近調色板顏色的值的圖元,發信號通知調色板索引。對於具有在調色板之外的值的圖元,用逃逸(escape)符號表示該圖元,並直接發信號通知量化的圖元值。
為了對調色板編碼的塊進行解碼,視訊解碼器300需要解碼調色板顏色和索引。調色板顏色由調色板表描述,並由調色板表寫碼工具進行編碼。視訊編碼器200可以發信號通知用於每個CU的逃逸標誌,以指示當前CU中是否存在逃逸符號。若存在逃逸符號,則視訊解碼器300可以將調色板表增加一,並將最後的索引配置給逃逸模式。CU中所有圖元的調色板索引形成調色板索引圖,並由調色板索引圖寫碼工具進行編碼。
為了對調色板索引圖進行寫碼,視訊寫碼器可以使用水準和垂直遍歷掃瞄來對索引進行寫碼。第7圖是圖示使用水準和垂直遍歷掃瞄對索引進行的示例性寫碼的概念圖。
視訊編碼器200及/或視訊解碼器300可以使用兩個主要調色板樣本模式:「INDEX」和「COPY_ABOVE」來發信號通知(例如,視訊編碼器200可以編碼並且視訊解碼器300可以解碼)調色板索引。視訊編碼器200及/或視訊解碼器300可以使用標誌來發信號通知該模式,除了以下情況之外:使用水準掃瞄時的頂部行、在使用垂直掃瞄時的第一列,或先前的模式為「COPY_ABOVE」時。在「COPY_ABOVE」模式中,視訊編碼器200及/或視訊解碼器300可以複製上一行中的樣本的調色板索引。在「INDEX」模式中,視訊編碼器200及/或視訊解碼器300可以明確地發信號通知調色板索引。對於「INDEX」和「COPY_ABOVE」模式二者,視訊編碼器200及/或視訊解碼器300可以發信號通知游程值,該游程值指定使用相同模式寫碼的圖元的數量。
針對索引圖的編碼次序可如下:首先,視訊編碼器200及/或視訊解碼器300可以發信號通知CU的索引值的數量。視訊編碼器200及/或視訊解碼器300可以在此之後藉由使用截斷的二元寫碼來發信號通知整個CU的實際索引值。視訊編碼器200及/或視訊解碼器300可以在旁路模式中對索引的數量以及索引值進行解碼。此會將與索引相關的旁路箱(bin)分組在一起。隨後,視訊編碼器200及/或視訊解碼器300可以以交錯的方式發信號通知調色板模式(INDEX或COPY_ABOVE)和游程值。最後,視訊編碼器200及/或視訊解碼器300可將與整個CU的逃逸樣本相對應的分量逃逸值分組在一起,並在旁路模式中發信號通知該等值。視訊編碼器200及/或視訊解碼器300可以在發信號通知索引值之後發信號通知另外的語法元素(例如last_run_type_flag)。結合索引的數量,該語法元素可以消除發信號通知與塊中最後一個游程相對應的游程值的需要。
先前的調色板模式設計可能存在一或多個缺點。例如,在HEVC的調色板模式設計中,在被用於解析游程類型和游程長度資訊之前,對整個CU的調色板索引進行分組和解析。此意味著必須維護索引的緩衝區。在最壞的情況下,需要儲存的索引的數量等於CU中的圖元的數量。緩衝區要求可能是硬體實施的負擔,因為在HEVC和VVC中,最大CU大小可能達到64和128。此外,為了重構逃逸模式的圖元,解碼器必須在解析逃逸模式之前首先解析整個CU的索引和游程資訊,此會減慢重構管線。
根據本揭示案的技術,視訊寫碼器(諸如,視訊編碼器200或視訊解碼器300)可將視訊資料的當前塊分為複數個索引群組,視訊資料的當前塊是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素來對視訊資料的當前塊進行解碼。
第8圖是圖示根據本揭示案的一或多個技術的、用於視訊資料的調色板模式寫碼的基於子塊的索引圖掃瞄的概念圖。第8圖包括用於基於如下掃瞄模式的調色板索引圖掃瞄的子塊劃分的兩個實例:水準遍歷掃瞄實例800H和垂直遍歷掃瞄實例800V。如第8圖所示,將m個圖元分組為一個索引群組(IG)(例如,IG 802H或IG 802V)。視訊寫碼器可在解析下一IG之前,執行對一個IG中的圖元的構造所必需的調色板語法的解析。例如,視訊寫碼器可以在執行針對對IG 804H中的圖元的構造所必需的調色板語法的解析之前,執行針對對IG 802H中的圖元的構造所必需的調色板語法的解析。類似地,視訊寫碼器可以在執行針對對IG 804V中的圖元的構造所必需的調色板語法的解析之前,執行針對對IG 802V中的圖元的構造所必需的調色板語法的解析。從第8圖的實例中可以看出,可以沿著掃瞄順序(例如,第7圖中所示的掃瞄)的行/列執行圖元到索引群組的分組。在一些實例中,視訊寫碼器可以以不同的方式(例如,由於子塊劃分以及與HEVC的調色板操作相比)處理對調色板索引、游程類型/長度和逃避量化顏色的解析。
例如,對於每個IG,視訊寫碼器可以在開始時解析調色板索引的數量和該群組中所有圖元的索引值。隨後,對於每個圖元,視訊寫碼器可以解析一個箱(bin)index_copy_flag,其指示該圖元的索引值是否與先前的索引相同,亦即,先前掃瞄的圖元和當前圖元是否均為游程類型COPY_ABOVE或先前掃瞄的圖元和當前圖元均為游程類型INDEX且索引值相同。若索引不同於先前的索引,則視訊寫解碼器可解析一個箱run_type_flag以指示當前圖元對應於哪種游程類型,即INDEX或COPY_ABOVE。視訊寫碼器可以使用一個上下文來對run_type_flag進行上下文解碼,或者上下文可以根據先前的游程類型而不同。視訊寫碼器可以在解析了當前圖元的index_copy_flag之後立即解析run_type_flag,或者可以在解析了IG中所有圖元的index_copy_flag之後將run_type_flag一起進行解析。視訊寫碼器可以將index_copy_flag寫碼為上下文寫碼的箱。
作為一個實例,視訊寫碼器可基於游程類型(例如,最後解析的游程類型)來確定上下文。例如,不同的游程類型可以使用其自己的單獨上下文。在另一種情況下,不同的游程類型可以共用相同的上下文。
作為另一個實例,視訊寫碼器可以基於索引值來確定上下文。例如,在開始時總共解析了k個索引(例如,總共k個索引)並且在當前圖元之前解析了m個INDEX游程類型的情況下,若最後解析的游程類型是INDEX,則上下文的確定可以基於其相關的索引值(第m個索引值)或第m個索引值與第(m+1)個索引值的平均值。若最後解析的游程類型是COPY_ABOVE,則上下文可以基於第(m+1)個索引值。視訊寫碼器可以如下來確定上下文:作為一個實例,為小於閾值T1
的索引值指派上下文A,為大於T1
且小於閾值T2
的索引值指派上下文B,為其餘索引值指派上下文C。作為另一實例,對於小於閾值T1
的索引值,每個索引值具有其自己的上下文;例如,對於大於或等於T1
的索引值,共用一個上下文。
作為另一實例,視訊寫碼器可以基於該圖元與具有index_copy_flag=0的最後一個圖元的距離來確定上下文(若索引不同於前一個索引,則假定index_copy_flag=0,否則index_copy_flag=1)。在一種情況下,若距離為1,則指派上下文A;若距離為2,則指派上下文B;若距離為3,則指派上下文C,等等。對於距離大於S的圖元,共用一個上下文。在另一種情況下,對於距離小於S的圖元,使用上下文A,並且對於距離大於S的圖元,使用上下文B。
作為另一實例,視訊寫碼器可基於當前CU中的調色板的大小和CU中的圖元的數量來確定上下文。例如,若調色板大小大於L,則使用上下文A;並且若調色板大小小於L,則使用上下文B。
作為另一實例,視訊寫碼器可基於游程類型、索引值、圖元位置和調色板大小的組合或游程類型、索引值、圖元位置和調色板大小的子集,來確定上下文。
在一些實例中,視訊寫碼器可以在解析了游程類型和index_copy_flag之後,對IG中的逃逸模式圖元的量化顏色的解析進行分組。例如,對於每個IG,該群組中的圖元的索引值可以在結尾處(亦即,在游程解碼之後)一起進行解析,或者可以將索引值與游程寫碼進行交錯,亦即,在解析了對應圖元的游程資訊之後。對於每個圖元的游程寫碼,可以解析一個箱index_copy_flag,其指示該圖元的索引值是否與先前索引相同,亦即,先前掃瞄的圖元和當前圖元是否均為游程類型COPY_ABOVE或先前掃瞄的圖元和當前圖元是否均為游程類型INDEX且索引值相同。若索引不同於先前索引,則視訊寫碼器可解析一個箱run_type_flag以指示當前圖元對應於哪種游程類型,亦即,INDEX或COPY_ABOVE。視訊寫碼器可以使用一個上下文來對run_type_flag進行上下文寫碼,或者上下文可以根據先前的游程類型而不同。run_type_flag可以在解析了當前圖元的index_copy_flag之後立即被解析,或者其可以在解析IG中所有圖元的index_copy_flag之後一起被解析。視訊寫碼器可以將箱index_copy_flag寫碼為上下文寫碼的箱。
作為一個實例,視訊寫碼器可基於游程類型來確定上下文。在一種情況下,不同的游程類型可以使用其自己的單獨上下文。在另一種情況下,不同的游程類型可以共用相同的上下文。
在另一個實例,視訊寫碼器可以基於圖元與具有index_copy_flag=0的最後一個圖元的距離來確定上下文(若索引不同於前一個索引,則假定index_copy_flag=0,否則index_copy_flag=1)。在一種情況下,若距離為1,則指派上下文A;若距離為2,則指派上下文B;若距離為3,則指派上下文C,等等。對於距離大於S的圖元,共用一個上下文。在另一種情況下,對於距離小於S的圖元,使用上下文A,對於距離大於S的圖元,使用上下文B。
作為另一實例,視訊寫碼器可基於當前CU中的調色板的大小和CU中的圖元的數量來確定上下文。例如,若調色板大小大於L,則使用上下文A;並且若調色板大小小於L,則使用上下文B。
作為另一實例,視訊寫碼器可以基於游程類型、圖元位置和調色板大小的組合或其子集來確定上下文。
在一些實例中,在游程寫碼之後,可以解析使用INDEX模式的游程的索引值。二值化可以基於相關聯的游程長度、先前解析的索引值、調色板大小或CU中的圖元數量。在一個實例中,若游程長度小於L,則使用二值化方法B1
;並且若游程長度大於L,則使用二值化方法B2
。在又一實例中,若游程長度大於L並且若調色板大小小於P,則使用二值化方法B1
;若游程長度大於L並且調色板大小大於P,則使用二值化方法B2
;並且若游程長度小於L,則使用二值化方法B3
。
二值化可以是截斷的二元碼、一元碼(unary code)、指數Golomb碼、Golomb rice碼,該等項的組合,或標誌加上該等二值化寫碼字元中的任意種。
作為一個實例,若游程長度大於L,並且若調色板大小大於P,則視訊寫碼器可以基於高達某個值的一元碼來確定二值化,並針對其餘部分使用參數1的Golomb rice碼;若游程長度大於L,並且若調色板大小小於P,則二值化是基於高達某個值的一元碼的,並針對其餘部分使用參數0的Golomb rice碼;若游程長度小於L,則二值化可以是基於參數3的Golomb rice碼的。
作為另一實例,若游程長度大於L,則視訊寫碼器可以發信號通知指示索引值是否為0的標誌。若索引大於0,則將參數1的Golomb rice碼用於(index–1)的二值化。若游程長度小於L,則二值化可以是基於參數3的Golomb rice碼的。
在一些實例中,視訊寫碼器可以首先針對第一IG中的第一圖元解析游程類型。隨後,視訊寫碼器可以使用一元寫碼字元對游程長度進行二值化,即對於游程長度=6,該寫碼字元將是5個零,最後是1。寫碼字元之每一者箱皆可以被寫碼為上下文寫碼的箱。
作為一個實例,視訊寫碼器可以基於游程類型來確定上下文。例如,不同的游程類型可以使用其自己的單獨上下文。在另一個實例中,不同的游程類型可以共用相同的上下文。
作為另一個實例,若在游程寫碼之前解析了索引值並且若關聯的游程類型是INDEX,則視訊寫碼器可以基於索引值來確定上下文。在一種情況下,為小於閾值T1
的索引值指派上下文A,為大於T1
且小於閾值T2
的索引值指派上下文B,並且為其餘索引值指派上下文C。在另一種情況下,對於小於閾值T1
的索引值,每個索引值皆有自己的上下文;對於大於或等於T1
的索引值,共用一個上下文。
作為另一個實例,視訊寫碼器可以基於編碼字元中箱的順序來確定上下文。例如,若順序為1,則指派上下文A;若順序為2,則指派上下文B;若順序為3,則指派上下文C,等等。對於順序大於S的圖元,可以共用一個上下文。
作為另一實例,視訊寫碼器可以基於當前CU中的調色板的大小和CU中的圖元的數量來確定上下文。例如,若調色板大小大於L,則使用上下文A;若調色板大小小於L,則使用上下文B。
作為另一實例,視訊寫碼器可以基於游程類型、索引值、寫碼字元中的圖元/箱順序和調色板大小的組合或其子集來確定上下文。
在一些實例中,視訊寫碼器可以在解析一個索引群組(IG)的調色板索引之前解析索引群組(IG)標誌(例如,sigIG_flag或其他類型的語法元素),其指示IG中是否存在至少一個與先前圖元具有不同索引的圖元,亦即是否先前掃瞄的圖元和當前圖元的游程類型不同,或者是否先前掃瞄的圖元和當前圖元的游程類型均為INDEX但索引值不同。若沒有索引與先前索引不同的圖元,則在沒有圖元使用逃逸模式進行寫碼的情況下,無需針對該IG處理解析。例如,若沒有圖元使用逃逸模式進行寫碼,則可以省略針對run_type_flag和index_copy_flag、索引值和量化的逃逸顏色的發信號通知/解析。若沒有索引與先前索引不同的圖元,但是出現(例如,存在)逃逸模式的圖元,則僅需要解析彼等量化的顏色。若達到上下文箱限制,則可以使用上下文寫碼的箱或旁路箱對sigIG_flag進行寫碼(當前在VVC中,每個樣本的上下文寫碼的箱的數量限制被設置為1.75,以用於對轉換係數進行寫碼。一旦達到該限制,可以對用於係數解碼的所有語法元素進行旁路寫碼)。對於sigIG_flag的上下文建模,在一個實例中,可以為所有sigIG_flag指派一個上下文(除了調色板語法中的其他上下文)。在另一實例中,對於sigIG_flag的上下文建模可以取決於同一寫碼單元(CU)內的先前寫碼的sigIG_flag,例如對於先前的寫碼IG具有sigIG_flag = 0或1的情況,指派兩個上下文。在又一實例中,對於sigIG_flag的上下文建模可以取決於同一CU中相鄰IG(例如,左側IG和上方IG)的sigIG_flag,例如對於上方IG和左側IG均不具有sigIG_flag = 1、上方IG和左側IG之一具有sigIG_flag = 1,以及上方IG和左側IG均具有sigIG_flag = 1的情況,指派三個上下文。
本揭示案通常可以提及「發信號通知(signaling)」某些資訊,諸如語法元素。術語「發信號通知」通常可以代表針對語法元素的值及/或用於對編碼的視訊資料進行解碼的其他資料的通訊。亦即,視訊編碼器200可以發信號通知位元串流中的語法元素的值。通常,發信號通知是指在位元串流中產生值。如前述,源設備102可以基本上即時地或非即時地(諸如在將語法元素儲存到儲存設備112以供稍後由目的地設備116取得時可能發生)將位元串流傳輸到目的地設備116。
第2A圖和第2B圖是圖示示例性四叉樹二元樹(QTBT)結構130以及對應的寫碼樹單元(CTU)132的概念圖。實線表示四叉樹拆分,而虛線表示二元樹拆分。在二元樹的每個拆分(亦即非葉)節點中,發信號通知一個標誌以指示使用哪種拆分類型(亦即,水準或垂直),在該實例中,0表示水準拆分,而1表示垂直拆分。對於四叉樹拆分,由於四叉樹節點將一個塊水準和垂直拆分為大小相等的4個子塊,因此無需指示拆分類型。因此,視訊編碼器200可以編碼並且視訊解碼器300可以解碼:QTBT結構130的區域樹級別(亦即,第一級)(亦即,實線)的語法元素(例如,拆分資訊),以及QTBT結構130的預測樹級別(亦即,第二級)(例如,虛線)的語法元素(例如,拆分資訊)。視訊編碼器200可以編碼並且視訊解碼器300可以解碼:用於由QTBT結構130的終端葉節點表示的CU的視訊資料,諸如預測資料和變換資料。
一般而言,第2B圖的CTU 132可以與定義同QTBT結構130的第一和第二級處的節點相對應的塊的大小的參數相關聯。該等參數可以包括CTU大小(表示樣本中CTU 132的大小)、最小四叉樹大小(MinQTSize,表示允許的最小四叉樹葉節點大小)、最大二元樹大小(MaxBTSize,表示允許的最大二元樹根節點大小)、最大二元樹深度(MaxBTDepth,表示允許的最大二元樹深度)和最小二元樹大小(MinBTSize,表示允許的最小二元樹葉節點大小)。
與CTU相對應的QTBT結構的根節點可以在QTBT結構的第一級處具有四個子節點,每個子節點可以根據四叉樹劃分來劃分。亦即,第一級的節點或者是葉節點(沒有子節點)或者具有四個子節點。QTBT結構130的實例將此種節點表示為包括具有用於分支的實線的父節點和子節點。若第一級的節點不大於允許的最大二元樹根節點大小(MaxBTSize),則可以經由相應的二元樹進一步對其進行劃分。可以反覆運算對一個節點的二元樹拆分,直到拆分所產生的節點達到允許的最小二元樹葉節點大小(MinBTSize)或允許的最大二元樹深度(MaxBTDepth)。QTBT結構130的實例將此種節點表示為具有用於分支的虛線。將二元樹葉節點稱為寫碼單元(CU),其用於預測(例如,畫面內預測或畫面間預測)和變換,而無需任何進一步的劃分。如前述,CU亦可以被稱為「視訊塊」或「塊」。
在QTBT劃分結構的一個實例中,將CTU大小設置為128×128(亮度樣本和兩個相應的64×64色度樣本),將MinQTSize設置為16×16,將MaxBTSize設置為64×64,將MinBTSize(用於寬度和高度)設置為4,將MaxBTDepth設置為4。將四叉樹劃分首先應用於CTU,以產生四叉樹葉節點。四叉樹葉節點的大小可以從16×16(亦即MinQTSize)到128×128(亦即CTU大小)。若四叉樹葉節點為128×128,則將不會經由二元樹進一步拆分,因為其大小超過了MaxBTSize(在該實例中為64×64)。否則,四叉樹葉節點將經由二元樹進一步劃分。因此,四叉樹葉節點亦是二元樹的根節點,並且二元樹的深度為0。當二元樹的深度達到MaxBTDepth(在該實例中為4)時,不允許進一步拆分。當二元樹節點的寬度等於MinBTSize(在該實例中為4)時,意味著不允許進一步的水準拆分。類似的,高度等於MinBTSize的二元樹節點意味著對於該二元樹節點不允許進一步的垂直拆分。如前述,將二元樹的葉節點稱為CU,並且根據預測和變換對其進行進一步處理而無需進一步劃分。
第3圖是圖示可執行本揭示案的技術的示例性視訊編碼器200的方塊圖。提供第3圖是出於說明的目的,並且不應被認為是對本揭示案中廣泛例示和描述的技術的限制。出於說明的目的,本揭示案在諸如HEVC視訊寫碼標準和開發中的H.266視訊寫碼標準的視訊寫碼標準的上下文中描述了視訊編碼器200。然而,本揭示案的技術不限於該等視訊寫碼標準,而是可以一般性地應用於視訊編碼和解碼。
在第3圖的實例中,視訊編碼器200包括視訊資料記憶體230、模式選擇單元202、殘差產生單元204、變換處理單元206、量化單元208、逆量化單元210、逆變換處理單元212、重構單元214、濾波器單元216、解碼圖片緩衝器(DPB)218和熵編碼單元220。可以在一或多個處理器中或在處理電路中實施視訊資料記憶體230、模式選擇單元202、殘差產生單元204、變換處理單元206、量化單元208、逆量化單元210、逆變換處理單元212、重構單元214、濾波器單元216、DPB 218和熵編碼單元220中的任何一個或全部。此外,視訊編碼器200可包括額外的或替代的處理器或處理電路,以執行該等和其他功能。
視訊資料記憶體230可以儲存將由視訊編碼器200的部件編碼的視訊資料。視訊編碼器200可以從例如視訊源104(第1圖)接收儲存在視訊資料記憶體230中的視訊資料。DPB 218可以用作參考圖片記憶體,其儲存參考視訊資料,以供視訊編碼器200在預測後續視訊資料時使用。視訊資料記憶體230和DPB 218可以由多種儲存設備中的任何種形成,諸如動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM),磁阻RAM(MRAM),電阻性RAM(RRAM)或其他類型的儲存設備。視訊資料記憶體230和DPB 218可以由相同的儲存設備或分離的儲存設備提供。在各種實例中,視訊資料記憶體230可以與視訊編碼器200的其他部件一起在晶片上,如圖所示,或者相對於彼等部件而在晶片外。
在本揭示案中,對視訊資料記憶體230的提及不應被解釋為限於視訊編碼器200內部的記憶體,除非如此特別地描述,或者限於視訊編碼器200外部的記憶體,除非如此特別地描述。而是,對視訊資料記憶體230的提及應被理解為用於儲存視訊編碼器200所接收的用於編碼的視訊資料(例如,要被編碼的當前塊的視訊資料)的參考記憶體。第1圖的記憶體106亦可以提供對視訊編碼器200的各個單元的輸出的臨時儲存。
圖示第3圖的各個單元以説明理解由視訊編碼器200執行的操作。該等單元可以被實施為固定功能電路、可程式設計電路或其組合。固定功能電路是指提供特定功能並預先設置到可被執行的操作上的電路。可程式設計電路是指可以被程式設計以執行各種任務並且在可被執行的操作中提供靈活功能的電路。例如,可程式設計電路可以執行軟體或韌體,該軟體或韌體使可程式設計電路以軟體或韌體的指令所定義的方式進行操作。固定功能電路可以執行軟體指令(例如,以接收參數或輸出參數),但是固定功能電路執行的操作類型通常是不可變的。在一些實例中,其中一或多個單元可以是不同的電路塊(固定功能或可程式設計的),並且在一些實例中,其中一或多個單元可以是積體電路。
視訊編碼器200可以包括由可程式設計電路形成的算數邏輯單元(ALU)、基本功能單元(EFU)、數位電路、類比電路及/或可程式設計核心。在使用由可程式設計電路執行的軟體來執行視訊編碼器200的操作的實例中,記憶體106(第1圖)可以儲存視訊編碼器200接收並執行的軟體的目標代碼,或者在視訊編碼器200內的另一個記憶體(未圖示)可以儲存此類指令。
視訊資料記憶體230被配置為儲存接收到的視訊資料。視訊編碼器200可以從視訊資料記憶體230提取視訊資料的圖片,並將視訊資料提供給殘差產生單元204和模式選擇單元202。視訊資料記憶體230中的視訊資料可以是將被編碼的原始視訊資料。
模式選擇單元202包括運動估計單元222、運動補償單元224和訊框內預測單元226。模式選擇單元202可以包括其他功能單元,以根據其他預測模式執行視訊預測。作為實例,模式選擇單元202可以包括調色板單元、塊內複製單元(其可以是運動估計單元222及/或運動補償單元224的一部分)、仿射單元、線性模型(LM)單元等。
模式選擇單元202整體上協調多個編碼經過,以測試編碼參數的組合以及針對該等組合所得到的率失真值。編碼參數可以包括將CTU劃分為CU,用於CU的預測模式,用於CU的殘差資料的變換類型,用於CU的殘差資料的量化參數等等。模式選擇單元202可以最終選擇率失真值優於其他測試的組合的編碼參數的組合。
視訊編碼器200可以將從視訊資料記憶體230提取到的圖片劃分為一系列CTU,並將一或多個CTU封裝在片段內。模式選擇單元202可以根據樹結構,諸如上述HEVC的QTBT結構或四叉樹結構,來劃分圖片的CTU。如前述,視訊編碼器200可以根據樹結構經由劃分CTU來形成一或多個CU。通常亦將此種CU稱為「視訊塊」或「塊」。
通常,模式選擇單元202亦控制其部件(例如,運動估計單元222、運動補償單元224和訊框內預測單元226)以產生針對當前塊(例如,當前CU,或HEVC中,PU和TU的重疊部分)的預測塊。為了對當前塊進行訊框間預測,運動估計單元222可執行運動搜尋以辨識一或多個參考圖片(例如,儲存在DPB 218中的一或多個先前寫碼的圖片)中的一或多個緊密匹配的參考塊。特別地,運動估計單元222可以例如根據絕對差之和(SAD)、平方差之和(SSD)、平均絕對差(MAD)、均方差(MSD)等來計算表示潛在參考塊與當前塊的相似程度的值。運動估計單元222通常可使用當前塊與所考慮的參考塊之間的逐樣本差來執行該等計算。運動估計單元222可以辨識具有由該等計算產生的最低值的參考塊,其指示與當前塊最緊密匹配的參考塊。
運動估計單元222可形成一或多個運動向量(MV),其定義相對於當前圖片中當前塊的位置的、參考圖片中的參考塊的位置。隨後,運動估計單元222可將運動向量提供給運動補償單元224。例如,對於單向訊框間預測,運動估計單元222可提供單個運動向量,而對於雙向訊框間預測,運動估計單元222可以提供兩個運動向量。運動補償單元224隨後可使用運動向量來產生預測塊。例如,運動補償單元224可以使用運動向量來提取參考塊的資料。作為另一實例,若運動向量具有分數樣本精度,則運動補償單元224可以根據一或多個內插濾波器來內插預測塊的值。此外,對於雙向訊框間預測,運動補償單元224可以提取由相應運動向量標識的兩個參考塊的資料,並例如經由逐樣本平均或加權平均來組合所提取的資料。
作為另一實例,對於訊框內預測或訊框內預測寫碼,訊框內預測單元226可以根據與當前塊相鄰的樣本來產生預測塊。例如,對於方向模式,訊框內預測單元226通常可以對相鄰樣本的值進行數學組合,並橫跨當前塊沿定義的方向填充該等計算出的值以產生預測塊。作為另一實例,對於DC模式,訊框內預測單元226可以計算當前塊的相鄰樣本的平均值,並且產生預測塊以針對預測塊的每個樣本包括該所得平均值。
模式選擇單元202將預測塊提供給殘差產生單元204。殘差產生單元204從視訊資料記憶體230接收當前塊的原始未寫碼版本,並從模式選擇單元202接收預測塊。殘差產生單元204計算當前塊和預測塊之間的逐樣本差。所得的逐樣本差定義了當前塊的殘差塊。在一些實例中,殘差產生單元204亦可確定殘差塊中的樣本值之間的差以使用殘差差分脈衝碼調制(RDPCM)來產生殘差塊。在一些實例中,可以使用執行二元減法的一或多個減法器電路來形成殘差產生單元204。
在模式選擇單元202將CU劃分為PU的實例中,每個PU可與亮度預測單元和對應的色度預測單元相關聯。視訊編碼器200和視訊解碼器300可以支援具有各種大小的PU。如前述,CU的大小可以指的是CU的亮度寫碼塊的大小,並且PU的大小可以指的是PU的亮度預測單元的大小。假設特定CU的大小為2N×2N,則視訊編碼器200可支援用於訊框內預測的2N×2N或N×N的PU大小,以及用於訊框間預測的2N×2N、2N×N、N×2N、N×N或類似的對稱的PU大小。視訊編碼器200和視訊解碼器300亦可支援用於訊框間預測的2N×nU、2N×nD、nL×2N和nR×2N的PU大小的非對稱劃分。
在模式選擇單元不將CU進一步劃分成PU的實例中,每個CU可以與亮度寫碼塊和對應的色度寫碼塊相關聯。如前述,CU的大小可以指CU的亮度寫碼塊的大小。視訊編碼器200和視訊解碼器300可以支援2N×2N、2N×N或N×2N的CU大小。
對於其他視訊寫碼技術(作為幾個實例,諸如塊內複製模式寫碼、仿射模式寫碼和線性模型(LM)模式寫碼),模式選擇單元202經由與寫碼技術相關聯的相應單元,為正在編碼的當前塊產生預測塊。在諸如調色板模式寫碼的一些實例中,模式選擇單元202可以不產生預測塊,而是產生語法元素,該語法元素指示用於基於所選調色板來對塊進行重構的方式。在此種模式中,模式選擇單元202可以將該等語法元素提供給熵編碼單元220以進行編碼。
如前述,殘差產生單元204接收當前塊和對應的預測塊的視訊資料。殘差產生單元204隨後為當前塊產生殘差塊。為了產生殘差塊,殘差產生單元204計算預測塊和當前塊之間的逐樣本差。
變換處理單元206將一或多個變換應用於殘差塊以產生變換係數的塊(在本文中稱為「變換係數塊」)。變換處理單元206可以將各種變換應用於殘差塊以形成變換係數塊。例如,變換處理單元206可以將離散餘弦變換(DCT)、方向變換、Karhunen-Loeve變換(KLT)或概念上類似的變換應用於殘差塊。在一些實例中,變換處理單元206可執行對殘差塊的多個變換,例如,主變換和次級變換,例如旋轉變換。在一些實例中,變換處理單元206不將變換應用於殘差塊。
量化單元208可以量化變換係數塊中的變換係數,以產生量化的變換係數塊。量化單元208可以根據與當前塊相關聯的量化參數(QP)值來量化變換係數塊的變換係數。視訊編碼器200(例如,經由模式選擇單元202)可藉由調整與CU相關聯的QP值來調整應用於與當前塊相關聯的係數塊的量化程度。量化可能會引入資訊丟失,並且因此,量化的變換係數可能具有比由變換處理單元206產生的原始變換係數更低的精度。
逆量化單元210和逆變換處理單元212可以分別對量化的變換係數塊應用逆量化和逆變換,以從變換係數塊重構殘差塊。重構單元214可以基於重構的殘差塊和由模式選擇單元202產生的預測塊,來產生與當前塊相對應的重構塊(儘管可能具有某種程度的失真)。例如,重構單元214可以將重構的殘差塊的樣本與來自模式選擇單元202所產生的預測塊的對應樣本相加,以產生重構塊。
濾波器單元216可以對重構塊執行一或多個濾波器操作。例如,濾波器單元216可以執行解塊操作以減少沿著CU的邊緣的塊偽像。在一些實例中,可以跳過濾波器單元216的操作。
視訊編碼器200將重構塊儲存在DPB 218中。例如,在不需要濾波器單元216的操作的實例中,重構單元214可以將重構塊儲存到DPB 218。在需要濾波器單元216的操作的實例中,濾波器單元216可以將經濾波的重構塊儲存到DPB 218。運動估計單元222和運動補償單元224可以從DPB 218取得參考圖片,該參考圖片是從重構(並且可能經濾波)的塊形成的,以對後續的編碼圖片的塊進行訊框間預測。另外,訊框內預測單元226可以使用當前圖片的DPB 218中的重構塊來對當前圖片中的其他塊進行訊框內預測。
通常,熵編碼單元220可對從視訊編碼器200的其他功能部件接收的語法元素進行熵編碼。例如,熵編碼單元220可對來自量化單元208的量化的變換係數塊進行熵編碼。作為另一實例,熵編碼單元220可以對來自模式選擇單元202的預測語法元素(例如,用於訊框間預測的運動資訊或用於訊框內預測的訊框內模式資訊)進行熵編碼。熵編碼單元220可以對語法元素(其是視訊資料的另一個實例)執行一或多個熵解碼操作,以產生熵編碼的資料。例如,熵編碼單元220可以對資料執行上下文自我調整可變長度寫碼(CAVLC)操作、CABAC操作、可變至可變(V2V)長度寫碼操作、基於語法的上下文自我調整二元算術寫碼(SBAC)操作、概率間隔分割熵(PIPE)寫碼操作、指數Golomb編碼操作或另一種熵編碼操作。在一些實例中,熵編碼單元220可以在不對語法元素進行熵編碼的旁路模式下操作。
視訊編碼器200可以輸出包括重構片段或圖片的塊所需的熵編碼的語法元素的位元元串流。特別地,熵編碼單元220可以輸出位元串流。
針對塊描述了上述操作。此種描述應該被理解為是針對亮度寫碼塊及/或色度寫碼塊的操作。如前述,在一些實例中,亮度寫碼塊和色度寫碼塊是CU的亮度分量和色度分量。在一些實例中,亮度寫碼塊和色度寫碼塊是PU的亮度分量和色度分量。
在一些實例中,針對亮度寫碼塊執行的操作不需要再針對色度寫碼塊重複。作為一個實例,不需要為了辨識用於色度塊的運動向量(MV)和參考圖片而重多工於辨識用於亮度寫碼塊的MV和參考圖片的操作。而是,可以縮放用於亮度寫碼塊的MV以確定用於色度塊的MV,並且參考圖片可以是相同的。作為另一實例,對於亮度寫碼塊和色度寫碼塊,訊框內預測處理可以是相同的。
視訊編碼器200代表被配置為對視訊資料進行編碼的設備的實例,其包括:記憶體,被配置為儲存視訊資料;及一或多個處理單元,在電路中實施並被配置為將視訊資料的當前塊劃分為複數個索引群組,視訊資料的當前塊是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,對視訊資料的當前塊進行解碼。
第4圖是圖示可以執行本揭示案的技術的示例性視訊解碼器300的方塊圖。提供第4圖是出於說明的目的,並非是對本揭示案中廣泛例示和描述的技術的限制。出於說明的目的,根據JEM、VVC和HEVC的技術描述了視訊解碼器300。然而,本揭示案的技術可以由被配置為其他視訊寫碼標準的視訊寫碼設備來執行。
在第4圖的實例中,視訊解碼器300包括寫碼圖片緩衝器(CPB)記憶體320、熵解碼單元302、預測處理單元304、逆量化單元306、逆變換處理單元308、重構單元310、濾波器單元312和解碼圖片緩衝器(DPB)314。可以在一或多個處理器中或在處理電路中實施CPB記憶體320、熵解碼單元302、預測處理單元304、逆量化單元306、逆變換處理單元308、重構單元310、濾波器單元312和DPB 314中的任何一個或全部。此外,視訊解碼器300可以包括額外的或替代的處理器或處理電路,以執行該等和其他功能。
預測處理單元304包括運動補償單元316和訊框內預測單元318。預測處理單元304可以包括用於根據其他預測模式執行預測的額外單元。作為實例,預測處理單元304可以包括調色板單元、塊內複製單元(其可以形成運動補償單元316的一部分)、仿射單元、線性模型(LM)單元等。在其他實例中,視訊解碼器300可以包括更多、更少或不同的功能部件。
CPB記憶體320可以儲存將由視訊解碼器300的部件解碼的視訊資料,諸如編碼的視訊位元串流。儲存在CPB記憶體320中的視訊資料可以例如從電腦可讀取媒體110(第1圖)獲得。CPB記憶體320可以包括儲存來自編碼的視訊位元串流的編碼的視訊資料(例如,語法元素)的CPB。而且,CPB記憶體320可以儲存除了寫碼的圖片的語法元素之外的視訊資料,諸如表示來自視訊解碼器300的各個單元的輸出的臨時資料。DPB 314通常儲存解碼的圖片,視訊解碼器300可以輸出該解碼的圖片及/或在對編碼的視訊位元串流的後續資料或圖片進行解碼時使用該解碼的圖片作為參考視訊資料。CPB記憶體320和DPB 314可以由各種儲存設備中的任意種形成,諸如動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、電阻性RAM(RRAM)或其他類型的儲存設備。CPB記憶體320和DPB 314可以由相同的儲存設備或分離的儲存設備提供。在各種實例中,CPB記憶體320可以與視訊解碼器300的其他部件一起在晶片上,或者相對於彼等部件而在晶片外。
另外或可替代地,在一些實例中,視訊解碼器300可以從記憶體120(第1圖)取得寫碼的視訊資料。亦即,記憶體120可以如前述與CPB記憶體320一起儲存資料。類似地,當以藉由視訊解碼器300的處理電路來執行的軟體實施視訊解碼器300的一些或全部功能時,記憶體120可以儲存將由視訊解碼器300執行的指令。
圖示第4圖中所示的各種單元以説明理解由視訊解碼器300執行的操作。該等單元可以被實施為固定功能電路、可程式設計電路或其組合。類似於第3圖,固定功能電路是指提供特定功能並預先設置到可被執行的操作上的電路。可程式設計電路是指可以被程式設計以執行各種任務並且在可被執行的操作中提供靈活功能的電路。例如,可程式設計電路可以執行軟體或韌體,該軟體或韌體使可程式設計電路以軟體或韌體的指令所定義的方式進行操作。固定功能電路可以執行軟體指令(例如,以接收參數或輸出參數),但是固定功能電路執行的操作類型通常是不可變的。在一些實例中,其中一或多個單元可以是不同的電路塊(固定功能或可程式設計的),並且在一些實例中,其中一或多個單元可以是積體電路。
視訊解碼器300可以包括由可程式設計電路形成的ALU、EFU、數位電路、類比電路及/或可程式設計核心。在由在可程式設計電路上執行的軟體來執行視訊解碼器300的操作的實例中,片上或片外記憶體可以儲存視訊解碼器300接收並執行的軟體的指令(例如,目標代碼)。
熵解碼單元302可以從CPB接收編碼的視訊資料並且對視訊資料進行熵解碼以再現語法元素。預測處理單元304、逆量化單元306、逆變換處理單元308、重構單元310和濾波器單元312可以基於從位元串流中提取的語法元素來產生解碼的視訊資料。
通常,視訊解碼器300在逐塊的基礎上重構圖片。視訊解碼器300可單獨地對每個區塊執行重構操作(其中當前正在重構(亦即,解碼)的塊可被稱為「當前塊」)。
熵解碼單元302可以對如下進行熵解碼:定義量化的變換係數塊的量化的變換係數的語法元素,以及諸如量化參數(QP)及/或變換模式指示的變換資訊。逆量化單元306可以使用與量化的變換係數塊相關聯的QP來確定量化度,並且同樣地,確定逆量化單元306要應用的逆量化度。逆量化單元306可以例如執行按位左移運算,以對量化的變換係數進行逆量化。逆量化單元306可由此形成包括變換係數的變換係數塊。
在逆量化單元306形成變換係數塊之後,逆變換處理單元308可以將一或多個逆變換應用於變換係數塊以產生與當前塊相關聯的殘差塊。例如,逆變換處理單元308可以將逆DCT、逆整數變換、逆Karhunen-Loeve變換(KLT)、逆旋轉變換、逆方向變換或另一逆變換應用於係數塊。
此外,預測處理單元304根據由熵寫碼單元302熵解碼的預測資訊語法元素來產生預測塊。例如,若預測資訊語法元素指示當前塊是訊框間預測的,則運動補償單元316可以產生預測塊。在此種情況下,預測資訊語法元素可以指示DPB 314中的、從其取得參考塊的參考圖片,以及運動向量,該運動向量標識相對於當前圖片中當前塊的位置的、參考圖片中的參考塊的位置。運動補償單元316通常可以以與針對運動補償單元224(第3圖)所描述的方式基本相似的方式來執行訊框間預測處理。
作為另一實例,若預測資訊語法元素指示當前塊是訊框內預測的,則訊框內預測單元318可以根據由預測資訊語法元素指示的訊框內預測模式來產生預測塊。同樣,訊框內預測單元318通常可以以與針對訊框內預測單元226(第3圖)所描述的方式基本相似的方式來執行訊框內預測處理。訊框內預測單元318可以從DPB 314取得當前塊的相鄰樣本的資料。
重構單元310可以使用預測塊和殘差塊來重構當前塊。例如,重構單元310可以將殘差塊的樣本與預測塊的對應樣本相加以重構當前塊。
濾波器單元312可以對重構塊執行一或多個濾波器操作。例如,濾波器單元312可以執行解塊操作以減少沿著重構塊的邊緣的塊偽像。不一定在所有實例中皆執行濾波器單元312的操作。
視訊解碼器300可將重構塊儲存在DPB 314中。例如,在不執行濾波器單元312的操作的實例中,重構單元310可將重構塊儲存到DPB 314中。在執行濾波器單元312的操作的實例中,濾波器單元312可以將經濾波的重構塊儲存到DPB 314中。如前述,DPB 314可以向預測處理單元304提供參考資訊,諸如用於訊框內預測的當前圖片的樣本以及用於後續運動補償的先前解碼的圖片。此外,視訊解碼器300可以從DPB輸出解碼的圖片,以用於隨後在顯示設備(諸如,第1圖的顯示設備118)上呈現。
以此種方式,視訊解碼器300代表視訊解碼設備的實例,其包括:記憶體,被配置為儲存視訊資料;及一或多個處理單元,在電路中實施並被配置為將視訊資料的當前塊劃分為複數個索引群組,視訊資料的當前塊是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了第一索引群組的語法元素之後,解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,來對視訊資料的當前塊進行解碼。
第5圖是圖示與本揭示案的技術一致的、確定用於對視訊資料進行寫碼的調色板的實例的概念圖。第5圖的實例包括圖片1780,其具有與第一調色板1840相關聯的第一寫碼單元(CU)1800和與第二調色板1920相關聯的第二CU 1880。如以下更詳細描述的並且根據本揭示案的技術,第二調色板1920基於第一調色板1840。圖片1780亦包括以訊框內預測寫碼模式寫碼的塊1960和以訊框間預測寫碼模式寫碼的塊2000。
出於說明的目的,在視訊編碼器200(第1圖和第3圖)和視訊解碼器300(第1圖和第4圖)的上下文中並針對HEVC標準描述了第5圖的技術。但是,應當理解,本揭示案的技術不限於此種方式,並且可以在其他視訊寫碼過程及/或標準(例如,VVC)中由其他視訊寫碼處理器及/或設備來應用。
通常,調色板是指對於當前正在寫碼的CU(諸如,第5圖的實例中的CU 1880)是主要的及/或有代表性的多個圖元值。將第一調色板1840和第二調色板1920示為包括多個調色板。在一些實例中,視訊寫碼器(諸如,視訊編碼器200或視訊解碼器300)可以對分別用於CU的每個顏色分量的調色板進行解碼。例如,視訊編碼器200可以編碼:用於CU的亮度(Y)分量的調色板、用於CU的色度(U)分量的另一個調色板、以及用於CU的色度(V)分量的再另一個調色板。在該實例中,Y調色板的條目可以代表CU的圖元的Y值,U調色板的條目可以代表CU的圖元的U值,並且V調色板的條目可以代表CU的圖元的V值。在另一個實例中,視訊編碼器200可以編碼:用於CU的亮度(Y)分量的調色板、以及用於CU的兩個分量(U,V)的另一個調色板。在該實例中,Y調色板的條目可以代表CU的圖元的Y值,並且U-V調色板的條目可以代表CU的圖元的U-V值對。
在其他實例中,視訊編碼器200可以編碼用於CU的所有顏色分量的單個調色板。在該實例中,視訊編碼器200可以編碼具有第i個條目的調色板,第i個條目是三元值,包括Yi、Ui和Vi。在此種情況下,調色板包括用於圖元的每個分量的值。因此,將調色板1840和1920表示為具有多個單獨調色板的調色板集合僅是一個實例,並非意欲是限制性的。
在第5圖的實例中,第一調色板1840包括三個條目2020-2060,分別具有條目索引值1、條目索引值2和條目索引值3。條目2020-2060將索引值分別與包括圖元值A、圖元值B和圖元值C的圖元值相關聯。如本文該,不是對第一CU 1800的實際圖元值進行寫碼,視訊寫碼器(諸如,視訊編碼器200或視訊解碼器300)可以使用基於調色板的寫碼來使用索引1-3對塊的圖元進行寫碼。亦即,對於第一CU 1800的每個圖元位置,視訊編碼器200可對圖元的索引值進行編碼,其中該索引值在一或多個第一調色板1840中與圖元值相關聯。視訊解碼器300可以從位元元流獲得索引值,並使用索引值和一或多個第一調色板1840來重構圖元值。因此,視訊編碼器200在編碼的視訊資料位元串流中發送第一調色板1840,以供視訊解碼器300在基於調色板的解碼中使用。通常,可以針對每個CU發送一或多個調色板,或者可以在不同CU之間共用一或多個調色板。
視訊編碼器200和視訊解碼器300可以基於第一調色板1840來確定第二調色板1920。例如,視訊編碼器200可以針對每個CU(例如,包括第二CU 1880)編碼pred_palette_flag,以指示是否從與一或多個其他CU(諸如相鄰CU(在空間上或基於掃瞄順序)或因果關係鄰點的最頻繁樣本)相關聯的一或多個調色板預測用於該CU的調色板。例如,當此種標誌的值等於一時,視訊解碼器300可以確定從一或多個已解碼的調色板預測用於第二CU 1880的第二調色板1920,並因此在包含pred_palette_flag的位元串流中不包括用於第二CU 1880的新調色板。當此種標誌等於零時,視訊解碼器300可以確定用於第二CU 1880的調色板1920被包括在位元串流中作為新調色板。在一些實例中,可以針對CU的每個不同顏色分量分別寫碼pred_palette_flag(例如,對於YUV視訊中的CU,有三個標誌,一個標誌用於Y,一個標誌用於U,以及一個標誌用於V)。在其他實例中,可以針對CU的所有顏色分量寫碼單個pred_palette_flag。
在以上實例中,針對每個CU發信號通知pred_palette_flag以指示是否預測當前塊的調色板的任何條目。在一些實例中,可以在每個條目的基礎上發信號通知一或多個語法元素。亦即,可以針對調色板預測器(predictor)的每個條目發信號通知標誌,以指示該條目是否存在於當前調色板中。如前述,若不預測調色板條目,則可以明確地發信號通知調色板條目。
當相對於第一調色板1840確定第二調色板1920(例如,pred_palette_flag等於一)時,視訊編碼器200及/或視訊解碼器300可以定位從中確定預測性調色板(在該實例中為第一調色板1840)的一或多個塊。預測性調色板可以與當前被寫碼的CU的一或多個相鄰CU(例如,諸如相鄰CU(在空間上或基於掃瞄順序)或因果關係鄰點的最頻繁樣本)相關聯,即第二CU 1880。該一或多個相鄰CU的調色板可以與預測器調色板相關聯。在一些實例中,諸如在第5圖中圖示的實例,當確定第二CU 1880的預測性調色板時,視訊編碼器200及/或視訊解碼器300可以定位左側相鄰CU(第一CU 1800)。在其他實例中,視訊編碼器200及/或視訊解碼器300可以定位相對於第二CU 1880的其他位置中的一或多個CU,諸如上方CU(CU 1960)。
視訊編碼器200及/或視訊解碼器300可以基於層級來確定用於調色板預測的CU。例如,視訊編碼器200及/或視訊解碼器300可以最初辨識左側相鄰CU(第一CU 1800)以用於調色板預測。若左側相鄰CU不可用於預測(例如,左側相鄰CU是以除基於調色板的寫碼模式之外的模式(諸如訊框內預測模式或訊框間預測模式)進行寫碼的,或者位於圖片或片段的最左側邊緣),則視訊編碼器200及/或視訊解碼器300可以辨識上方相鄰CU(CU 1960)。視訊編碼器200及/或視訊解碼器300可以根據預定的位置順序繼續搜尋可用的CU,直到找到具有可用於調色板預測的調色板的CU為止。在一些實例中,視訊編碼器200及/或視訊解碼器300可以基於多個塊及/或相鄰塊的重構樣本來確定預測性調色板。
儘管第5圖的實例將第一調色板1840圖示為來自單個CU(第一CU 1800)的預測性調色板,但在其他實例中,視訊編碼器200及/或視訊解碼器300可以依據相鄰CU的組合來定位用於預測的調色板。例如,視訊編碼器200及/或視訊解碼器300可以應用一或多個公式、函數、規則等,以基於複數個相鄰CU中的一個或其組合的調色板,來產生調色板。
在又一些其他實例中,視訊編碼器200及/或視訊解碼器300可以構造候選列表,該候選列表包括用於調色板預測的多個潛在候選。可以在視訊編碼器200和視訊解碼器300兩者處應用修剪過程以去除列表中的重複候選。在此類實例中,視訊編碼器200可以編碼一個針對候選清單的索引,以指示在該列表中的、從中選擇用於調色板預測的當前CU(例如,對調色板進行複製)的候選CU。視訊解碼器300可以以相同方式構造候選清單,對索引進行解碼,並使用解碼的索引來選擇與當前CU一起使用的對應CU的調色板。
在出於說明目的的實例中,視訊編碼器200和視訊解碼器300可以構造候選列表,該候選列表包括:位於當前正在寫碼的CU上方的一個CU和位於當前正在寫碼的CU的左側的一個CU。在此實例中,視訊編碼器200可以編碼一或多個語法元素以指示候選選擇。例如,視訊編碼器200可以將一個標誌編碼為值為零,以指示從位於當前CU左側的CU複製用於當前CU的調色板。視訊編碼器200可以將該標誌編碼為值為一,以指示從位於當前CU上方的CU複製用於當前CU的調色板。視訊解碼器300解碼該標誌並選擇適當的CU用於調色板預測。
在又一些其他實例中,視訊編碼器200及/或視訊解碼器300基於一或多個其他調色板中包括的樣本值在一或多個相鄰CU中出現的頻率,來確定用於當前正在寫碼的CU的調色板。例如,視訊編碼器200及/或視訊解碼器300可以追蹤在預定數量的CU的寫碼期間與最頻繁使用的索引值相關聯的顏色。視訊編碼器200及/或視訊解碼器300可以在用於當前正在寫碼的CU的調色板中包括最頻繁使用的顏色。
在一些實例中,視訊編碼器200及/或視訊解碼器300可以執行基於按條目的調色板預測。例如,視訊編碼器200可以針對預測性調色板的每一條目來編碼一或多個語法元素,諸如一或多個標誌,以指示是否在當前調色板中重用相應的預測性調色板條目(例如,當前調色板是否重用另一個CU的調色板中的圖元值)。在該實例中,當一個給定的條目是來自預測性調色板的被預測值(例如,與相鄰CU相關聯的調色板的對應條目)時,視訊編碼器200可以針對該條目編碼一個值等於一的標誌。視訊編碼器200可以針對特定條目編碼一個值等於零的標誌,以指示該特定條目不從另一個CU的調色板預測。在該實例中,視訊編碼器200亦可以編碼額外資料,以指示不被預測的調色板條目的值。
在第5圖的實例中,第二調色板1920包括四個條目2080-2140,分別具有條目索引值1、條目索引值2、條目索引值3和條目索引值4。條目2080–2140將索引值分別與包括圖元值A、圖元值B、圖元值C和圖元值D的圖元值相關聯。視訊編碼器200及/或視訊解碼器300可以使用任何上述技術來定位第一CU 1800以用於調色板預測,並將第一調色板1840的條目1-3複製到第二調色板1920的條目1-3以用於對第二CU 1880進行寫碼。以此種方式,視訊編碼器200及/或視訊解碼器300可以基於第一調色板1840來確定第二調色板1920。另外,視訊編碼器200及/或視訊解碼器300可以對要被包括在第二調色板1920中的條目4的資料進行解碼。此種資訊可以包括不從預測器調色板預測的調色板條目的數量以及與彼等調色板條目相對應的圖元值。
在一些實例中,根據本揭示案的多個態樣,一或多個語法元素可以指示:諸如第二調色板1920的調色板是否完全從預測性調色板(在第5圖中顯示為第一調色板1840,但預測性調色板亦可以由來自一或多個塊的條目組成)預測,或者是否預測第二調色板1920的特定條目。例如,初始語法元素可以指示是否預測所有條目。若初始語法元素指示並非預測所有條目(例如,值為0的標誌),則一或多個附加語法元素可以指示第二調色板1920的哪些條目是從預測性調色板預測的。
根據本揭示案的一些態樣,可以從正被寫碼的資料的一或多個特性來推斷與調色板預測相關聯的某些資訊。亦即,不是視訊編碼器200對語法元素進行編碼(以及視訊解碼器300對此類語法元素進行解碼),而是視訊編碼器200和視訊解碼器300可以基於正被寫碼的資料的一或多個特徵來執行調色板預測。
第6圖是圖示與本揭示案的技術一致的、確定用於區塊的調色板的索引的實例的概念圖。例如,第6圖包括索引值(值1、2和3)的圖2400,該索引值將與索引值相關聯的圖元的相應位置與調色板2440的條目相關聯。可以以與上面針對第5圖描述的第一調色板1840和第二調色板1920類似的方式來確定調色板2440。
再一次,為了說明的目的,在視訊編碼器200(第1圖和第3圖)和視訊解碼器300(第1圖和第4圖)的上下文中並且針對HEVC視訊寫碼標準描述了第6圖的技術。但是,應當理解,本揭示案的技術不限於此種方式,並且可以在其他視訊寫碼過程及/或標準(例如,VVC)中由其他視訊寫碼處理器及/或設備來應用。
儘管在第6圖的實例中將圖2400圖示為包括針對每個圖元位置的索引值,但是應當理解,在其他實例中,並非所有圖元位置皆可以與將圖元值與調色板2440的條目相關聯的索引值相關聯。亦即,如前述,在一些實例中,若圖2400中的一個位置的實際圖元值沒有包括在調色板2440中,則視訊編碼器200可以對該實際圖元值(或其量化版本)的指示進行編碼(並且視訊解碼器300可以從編碼的位元串流中獲得該實際圖元值(或其量化版本)的指示)。
在一些實例中,視訊編碼器200和視訊解碼器300可以被配置為解碼一個附加圖,該附加圖指示哪些圖元位置與索引值相關聯。例如,假設該圖中的(i,j)條目對應於CU的(i,j)位置。視訊編碼器200可以針對該圖的每個條目(亦即,每個圖元位置)編碼一或多個語法元素,以指示該條目是否具有相關聯的索引值。例如,視訊編碼器200可以編碼一個值為一的標誌,以指示CU中的(i,j)位置處的圖元值是調色板2440中的值之一。在此種實例中,視訊編碼器200亦可以編碼調色板索引(在第6圖的實例中顯示為值1-3),以指示調色板中的圖元值,並允許視訊解碼器300重構圖元值。在調色板2440包括單個條目和相關聯的圖元值的情況下,視訊編碼器200可以跳過對索引值的發信號通知。視訊編碼器200可以將該標誌編碼為值為零,以指示CU中的(i,j)位置處的圖元值不是調色板2440中的值之一。在此實例中,視訊編碼器200亦可以對圖元值的指示進行編碼,以供視訊解碼器300在重構該圖元值時使用。在某些情況下,可以有損方式來對圖元值進行寫碼。
在CU的一個位置中的圖元的值可以提供對在該CU的其他位置中的一或多個其他圖元的值的指示。例如,CU的相鄰圖元位置將會具有相同的圖元值或可以被映射到同一索引值的概率相對較高(在有損寫碼的情況下,其中多於一個的圖元值可能被映射到單個索引值)。
因此,視訊編碼器200可以編碼一或多個語法元素,以指示在給定的掃瞄順序中的具有相同圖元值或索引值的連續圖元或索引值的數量。如前述,值相似的圖元或索引值的串在本文中可以稱為游程。在出於說明目的的實例中,若在給定掃瞄順序中的兩個連續圖元或索引具有不同的值,則游程等於零。若在給定掃瞄順序中的兩個連續圖元或索引具有相同的值,但在該掃瞄順序中的第三個圖元或索引具有不同的值,則游程等於1。對於具有相同值的三個連續索引或圖元,游程為兩個,並且依此類推。視訊解碼器300可以從編碼的位元串流獲得指示游程的語法元素,並使用該資料來確定具有相同圖元或索引值的連續位置的數量。
游程中可包括的索引數量可能會受到掃瞄順序的影響。例如,考慮圖2400的行2660、2680和2700的光柵掃瞄。假設水準從左到右掃瞄方向(諸如光柵掃瞄順序),行2660包括三個索引值「1」,兩個索引值「2」和三個索引值「3」。行2680包括五個索引值「1」和三個索引值「3」。在此實例中,對於行2660,視訊編碼器200可以編碼語法元素,以指示行2660的第一個值(該行的最左側值)為1,游程為2,隨後是索引值2,游程為1,隨後是索引值3,游程為2。在光柵掃瞄之後,視訊編碼器200隨後可以開始用最左側值對行2680進行寫碼。例如,視訊編碼器200可以編碼語法元素,以指示行2680的第一個值為1,游程為4,隨後是索引值3,游程為2。視訊編碼器200可以以相同的方式繼續處理行2700。
因此,按照光柵掃瞄順序,可以在前一行的最後一個索引之後直接掃瞄當前行的第一個索引。但是,在某些實例中,可能不希望以光柵掃瞄順序來掃瞄索引。例如,在如下情況中可能不希望以光柵掃瞄順序掃瞄索引:視訊資料區塊的第一行(例如,行2660)包括與視訊資料區塊的第一邊緣相鄰的第一圖元(例如,行2660的最左側圖元,其索引值為1)和與視訊資料區塊的第二邊緣相鄰的最後一個圖元(例如,行2660的最右側圖元,其索引值為3),視訊資料區塊的第二行(例如,行2680)包括與視訊資料區塊的第一邊緣相鄰的第一圖元(例如,行2680的最左側圖元,其索引值為1)和與視訊資料區塊的第二邊緣相鄰的最後一個圖元(例如,行2680的最右側圖元,其索引值為3),第一行的最後一個圖元與第二行的最後一個圖元相鄰,第一邊緣與第二邊緣平行,第一行中的最後一個圖元的索引值與第二行中的最後一個圖元的索引值相同,但與第二行中的第一個圖元的索引值不同。在電腦產生的螢幕內容中,此種情況(亦即,第一行中的最後一個圖元的索引值與第二行中的最後一個圖元相同,但與第二行中的第一圖元不同)比其他類型的視訊內容出現更為頻繁。
在一些實例中,視訊編碼器200在對該圖的索引進行編碼時可以利用蛇形掃瞄次序(例如,遍歷掃瞄次序)。例如,視訊編碼器200可以在第一行的最後一個圖元之後直接掃瞄第二行的最後一個圖元。以此方式,視訊編碼器200可以提高游程長度寫碼的效率。
例如,與使用光柵掃瞄順序相反,視訊編碼器200可以使用蛇形掃瞄順序對圖2400的值進行解碼。在出於說明目的的實例中,考慮圖2400的行2660、2680和2700。使用蛇形掃瞄順序(諸如蛇形掃瞄順序),視訊編碼器200可以對圖2400的值進行解碼,從行2660的左側位置開始,一直進行到行2660的最右側位置,隨後向下移動到行2680的最右側位置,一直進行到行2680的最左側位置,隨後向下移動到行2700的最左側位置。例如,視訊編碼器200可以編碼一或多個語法元素,以指示行2660的第一個位置是1,並且在掃瞄方向上兩個連續條目的下一個游程與行2660的第一個位置相同。
視訊編碼器200可以編碼一或多個語法元素,以指示行2660的下一個位置(亦即,從左到右的第四位置)是2,並且在掃瞄方向上的下一個連續條目與行2660的第四位置相同。視訊編碼器200可以編碼一或多個語法元素,以指示行2660的下一個位置(即第六位置)是3,並且在掃瞄方向上的五個連續條目的下一個游程與行2660的第六位置相同。視訊編碼器200可以編碼一或多個語法元素,以指示行2680在掃瞄方向上的下一個位置(亦即,行2680的從右到左的第四位置)是1,並且在掃瞄方向上的九個連續條目的下一個游程與行2680的第四位置相同。
以此種方式,經由使用蛇形掃瞄順序,視訊編碼器200可以對更長的游程進行編碼,此可以提高寫碼效率。例如,使用光柵掃瞄,行2660的最後游程(對於索引值3)等於2。而使用蛇形掃瞄,行2660的最後游程延伸到行2680並且等於5。
視訊解碼器300可以接收上述語法元素,並重構行2660、2680和2700。例如,視訊解碼器300可以從編碼的位元串流獲得指示當前被寫碼的圖2400中的位置的索引值的資料。視訊解碼器300亦可以獲得指示掃瞄順序中具有相同索引值的連續位置的數量的資料。
第9圖是圖示用於對當前塊進行編碼的示例性方法的流程圖。當前塊可以包括當前CU。儘管針對視訊編碼器200(第1圖和第3圖)進行了描述,但是應當理解,可以將其他設備配置為執行與第9圖的方法類似的方法。
在此實例中,視訊編碼器200最初預測當前塊(350)。例如,視訊編碼器200可以形成當前塊的預測塊。視訊編碼器200隨後可以計算當前塊的殘差塊(352)。為了計算殘差塊,視訊編碼器200可以計算原始的未寫碼的塊與當前塊的預測塊之間的差。視訊編碼器200隨後可以變換並量化殘差塊的係數(354)。接下來,視訊編碼器200可以掃瞄殘差塊的經量化的變換係數(356)。在掃瞄期間或在掃瞄之後,視訊編碼器200可以對係數進行熵編碼(358)。例如,視訊編碼器200可以使用CAVLC或CABAC來對係數進行編碼。視訊編碼器200隨後可以輸出塊的熵寫碼的資料(360)。例如並且根據本揭示案的一或多個技術,視訊編碼器200可以使用本文描述的索引群組來編碼當前塊的語法元素。
第10圖是圖示用於對視訊資料的當前塊進行解碼的示例性方法的流程圖。當前塊可以包括當前CU。儘管針對視訊解碼器300(第1圖和4)進行了描述,但是應當理解,可以將其他設備配置為執行與第10圖的方法類似的方法。
視訊解碼器300可以接收當前塊的熵寫碼的資料,諸如熵寫碼的預測資訊以及與當前塊相對應的殘差塊的係數的熵寫碼的資料(370)。視訊解碼器300可以對熵寫碼的資料進行熵解碼以確定當前塊的預測資訊並再現殘差塊的係數(372)。例如並且根據本揭示案的一或多個技術,視訊解碼器300可以使用本文描述的索引群組來解碼當前塊的語法元素。視訊解碼器300可以例如使用如當前塊的預測資訊所指示的訊框內預測模式或訊框間預測模式來預測當前塊(374),以計算當前塊的預測塊。視訊解碼器300隨後可以對再現的係數進行逆掃瞄(376),以建立量化的變換係數的塊。視訊解碼器300隨後可以對係數進行逆量化和逆變換以產生殘差塊(378)。視訊解碼器300可以經由組合預測塊和殘差塊,來最終解碼當前塊(380)。
第11圖是圖示根據本揭示案的一或多個技術的、用於使用調色板模式寫碼來對視訊資料的當前塊進行編碼的示例性方法的流程圖。當前塊可以包括當前CU。儘管針對視訊編碼器200(第1圖和3)進行了描述,但是應當理解,可以將其他設備配置為執行與第11圖的方法類似的方法。
視訊編碼器200可以確定使用調色板模式寫碼來對當前寫碼單元(CU)進行解碼(1102)。例如,視訊編碼器200的模式選擇單元202可以使用各種率失真技術來分析當前CU的樣本,並且基於該分析,確定使用調色板模式寫碼來對當前CU進行寫碼。在一些實例中,視訊編碼器200可以在寫碼的視訊位元串流中編碼關於當前CU是使用調色板模式進行寫碼的指示。例如,熵編碼單元220可以編碼語法元素(例如,諸如pred_mode_plt_flag之類的標誌),以指示當前CU是使用調色板模式進行寫碼。
視訊編碼器200可以將當前CU劃分為M個索引群組(1104)。例如,在當前CU是視訊資料的8樣本乘8樣本塊的情況下,訊框內預測單元226可以將當前CU劃分為四個索引群組,每個索引群組有十六個樣本。
每個索引群組可以包括按掃瞄順序的順序樣本的集合。如前述,掃瞄順序可以是光柵、蛇形或任何其他合適的掃瞄順序。在一些實例中,一個索引群組的所有樣本可以在CU的單個行(或列)中。在其他實例中,單個索引群組中的樣本可以跨越多個行(或列)。
視訊編碼器200可以在視訊位元串流中順序地解析(例如編碼)用於M個索引群組中的每一個索引群組的語法元素(1106)。例如,在存在四個索引群組(亦即,M=4)的情況下,訊框內預測單元226可以使熵編碼單元220首先對構造第一索引群組的樣本所必需的語法元素進行編碼,隨後使熵編碼單元220對構造第二索引群組的樣本所必需的語法元素進行編碼,隨後使熵編碼單元220對構造第三索引群組的樣本所必需的語法元素進行編碼,隨後使熵編碼單元220對構造第四索引群組的樣本所必需的語法元素進行編碼。
訊框內預測單元226可以至少基於索引群組各自的語法元素,來順序地重構(例如,作為重構循環的一部分)索引群組的樣本。例如,訊框內預測單元226可以利用針對所有索引群組的公共調色板,基於公共調色板和用於第一索引群組的語法元素來重構第一索引群組的樣本,……,以及基於公共調色板和用於第N索引群組的語法元素來重構第N索引群組的樣本。訊框內預測單元226可以編碼表示用於當前CU的公共調色板的一或多個語法元素。
構造特定索引群組中的圖元所必需的語法元素可以包括以下一項或多項:指示當前調色板條目陣列中的索引的一或多個語法元素(例如,palette_idx_idc)、表示特定索引群組中的逃逸樣本的值的一或多個語法元素(例如,palette_escape_val),及/或指定相應樣本的索引是否與先前掃瞄的樣本的索引相同的一或多個語法元素(例如,index_copy_flag)。
在一些實例中,視訊編碼器200可以在對用於任何特定索引群組的語法元素進行編碼之前,對用於所有索引群組的重構的語法元素進行編碼。例如,在對構造第一索引群組中的圖元所必需的語法元素進行編碼之前,熵編碼單元220可以對由所有索引群組共同使用(例如共用)的語法元素進行編碼。由所有索引群組共同使用的語法元素的一些實例包括:指示是否對用於視訊資料的當前塊的調色板的調色板索引應用轉置處理的語法元素(例如,palette_transpose_flag);與視訊資料的當前塊的增量量化參數(QP)及/或色度QP偏移相關的一或多個語法元素(例如以下一者或兩者:用於指示當前塊的QP與當前塊的QP的預測器之間的差的絕對值的語法元素,以及用於指示當前塊的QP與當前塊的QP的預測器之間的差的符號的語法元素);指示在用於指示在當前調色板中是否重用來自預測器調色板的條目的陣列中的、非零條目之前的零的數量的一或多個語法元素(例如,palette_predictor_run);指示當前調色板中被明確發信號通知的條目的數量的語法元素(例如num_signalled_palette_entries);各自指示當前調色板中條目中的分量的值的一或多個語法元素(例如,palette_entry);及指示視訊資料的當前塊是否包括至少一個逃逸寫碼樣本的語法元素(例如,palette_escape_val_present_flag)。
在一些實例中,訊框內預測單元226可以使熵編碼單元220使用基於上下文的寫碼(例如,上下文自我調整二元算術寫碼(CABAC)),採用基於一或多個參數確定的上下文,來對用於指定相應樣本的索引是否與先前掃瞄的樣本的索引相同的語法元素進行解碼。作為一個實例,訊框內預測單元226及/或熵編碼單元220可以基於諸如最後解析的游程類型之類的游程類型來確定上下文。
第12圖是圖示根據本揭示案的一或多個技術的、用於使用調色板模式寫碼來對視訊資料的當前塊進行解碼的示例性方法的流程圖。當前塊可以包括當前CU。儘管針對視訊解碼器300(第1圖和第4圖)進行了描述,但是應當理解,可以將其他設備配置為執行與第12圖的方法類似的方法。
視訊解碼器300可以確定使用調色板模式寫碼來對當前寫碼單元(CU)進行寫碼(1202)。例如,視訊解碼器300的熵解碼單元302可以從解碼的視訊位元串流中,解碼出關於當前CU是使用調色板模式進行寫碼的指示。例如,熵解碼單元302可以解碼指示當前CU是使用調色板模式進行寫碼的語法元素(例如,諸如pred_mode_plt_flag的標誌)。
視訊解碼器300可以將當前CU劃分為M個索引群組(1204)。例如,在當前CU是視訊資料的8樣本乘8樣本塊的情況下,訊框內預測單元318可以將當前CU劃分為四個索引群組,每個索引群組有十六個樣本。
每個索引群組可以包括按掃瞄順序的順序樣本的集合。如前述,掃瞄順序可以是光柵、蛇形或任何其他合適的掃瞄順序。在一些實例中,一個索引群組的所有樣本可以在CU的單個行(或列)中。在其他實例中,單個索引群組中的樣本可以跨越多個行(或列)。
視訊解碼器300可以從視訊位元串流中順序地解析(例如,解碼)用於M個索引群組中的每一個索引群組的語法元素,並且順序地解碼/重構索引群組的樣本(1206)。例如,在存在四個索引群組(亦即,M=4)的情況下,訊框內預測單元318可以首先從熵寫碼單元302接收構造第一索引群組的樣本所必需的語法元素,隨後接收構造第二索引群組的樣本所必需的語法元素,隨後接收構造第三索引群組的樣本所必需的語法元素,並且隨後接收構造第四索引群組的樣本所必需的語法元素。
訊框內預測單元318可以至少基於索引群組各自的語法元素來順序地重構索引群組的樣本。例如,訊框內預測單元318可以利用針對所有索引群組的公共調色板,基於公共調色板和用於第一索引群組的語法元素來重構第一索引群組的樣本,……,以及基於公共調色板和第N索引群組的語法元素來重構第N索引群組的樣本。訊框內預測單元318可以基於針對當前CU發信號通知的語法元素來構造公共調色板。
構造特定索引群組中的圖元所必需的語法元素可以包括以下一項或多項:指示當前調色板條目的陣列中的索引的一或多個語法元素(例如,palette_idx_idc)、表示特定索引群組中的逃逸樣本的值的一或多個語法元素(例如,palette_escape_val),及/或指定相應樣本的索引是否與先前掃瞄的樣本的索引相同的一或多個語法元素(例如,index_copy_flag)。
在一些實例中,視訊解碼器300可以在對用於任何特定索引群組的語法元素進行解碼(例如,解析)之前,對用於所有索引群組的重構的語法元素進行解碼(例如,解析)。例如,在對構造第一索引群組中的圖元的所必需的語法元素進行解碼之前,熵寫碼單元302可以對所有索引群組共同使用(例如共用)的語法元素進行解碼。所有索引群組共同使用的語法元素的一些實例包括:指示是否對用於視訊資料的當前塊的調色板的調色板索引應用轉置處理的語法元素(例如,palette_transpose_flag);與視訊資料的當前塊的增量量化參數(QP)及/或色度QP偏移相關的一或多個語法元素(例如以下一者或兩者:用於指示當前塊的QP與當前塊的QP的預測器之間的差的絕對值的語法元素,以及用於指示當前塊的QP與當前塊的QP的預測器之間的差的符號的語法元素);指示在用於指示在當前調色板中是否重用來自預測器調色板的條目的陣列中的、非零條目之前的零的數量的一或多個語法元素(例如,palette_predictor_run);指示當前調色板中被明確發信號通知的條目的數量的語法元素(例如num_signalled_palette_entries);各自指示當前調色板中條目中的分量的值的一或多個語法元素(例如,palette_entry);及指示視訊資料的當前塊是否包括至少一個逃逸寫碼樣本的語法元素(例如,palette_escape_val_present_flag)。
經由首先對所有索引群組所使用的語法元素(例如,用於構造調色板的語法元素)進行解碼,隨後分別對索引群組的語法元素的解碼進行群組,視訊解碼器300可以在不必等待完成對當前CU的所有語法元素的解碼的情況下開始當前CU的一些樣本的構造過程。以此方式,本揭示案的技術可以減少解碼過程所需的時間量及/或解碼過程所引入的延遲。
在一些實例中,熵寫碼單元302可以使用基於上下文的寫碼(例如,上下文自我調整二元算術寫碼(CABAC)),採用基於一或多個參數確定的上下文,來對指定相應樣本的索引是否與先前掃瞄的樣本的索引相同的語法元素進行解碼。作為一個實例,熵寫碼單元302可以基於諸如最後解析的游程類型之類的游程類型來確定上下文。
以下帶編號的實例可以例示本揭示案的一或多個態樣:
實例1. 一種對視訊資料進行寫碼的方法,該方法包括:將視訊資料的當前塊劃分為複數個索引群組,視訊資料的當前塊是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的第一索引群組的語法元素;在解析了用於第一索引群組的語法元素之後,解析用於該複數個索引群組中的第二索引群組的語法元素;及基於用於第一索引群組的語法元素和用於第二索引群組的語法元素,對視訊資料的當前塊進行解碼。
實例2. 實例1的方法,其中視訊資料的當前塊是視訊資料的當前寫碼單元(CU)。
實例3. 實例1或實例2的任何組合的方法,其中解析用於第一索引群組的語法元素包括:解析構造第一索引群組中的圖元所必需的用於第一索引群組的語法元素。
實例4. 實例1-3的任何組合的方法,其中解析用於第二索引群組的語法元素包括:解析構造第二索引群組中的圖元所必需的用於第二索引群組的語法元素。
實例5. 實例1-4的任何組合的方法,其中構造索引群組中的圖元所必需的語法元素包括以下一項或多項:指示是否對用於視訊資料的當前塊的調色板的調色板索引應用轉置處理的語法元素;與視訊資料的當前塊的增量量化參數(QP)及/或色度QP偏移相關的一或多個語法元素;指示在用於指示在當前調色板中是否重用來自預測器調色板的條目的陣列中的、非零條目之前的零的數量的一或多個語法元素;指示當前調色板中被明確發信號通知的條目的數量的語法元素;各自指示當前調色板中條目中的分量的值的一或多個語法元素;指示視訊資料的當前塊是否包括至少一個逃逸寫碼樣本的語法元素;指示當前調色板中被明確發信號通知或被推斷的索引的數量的語法元素;及指示當前調色板條目的陣列中的索引的一或多個語法元素。
實例6. 實例5的方法,其中以下一項或多項:指示是否對視訊資料的當前塊的調色板索引應用轉置處理的語法元素包括palette_transpose_flag語法元素;與增量QP相關的一或多個語法元素包括以下一者或兩者:用於指示當前塊的QP與當前塊的QP的預測器之間的差的絕對值的語法元素,以及用於指示當前塊的QP與當前塊的QP的預測器之間的差的符號的語法元素;指示在用於指示在當前調色板中是否重用來自預測器調色板的條目的陣列中的、非零條目之前的零的數量的一或多個語法元素包括一或多個palette_predictor_run語法元素;指示當前調色板中被明確發信號通知的條目的數量的語法元素包括num_signalled_palette_entries語法元素;各自指示當前調色板中條目中的分量的值的一或多個語法元素包括一或多個palette_entry語法元素;指示視訊資料的當前塊是否包括至少一個逃逸寫碼樣本的語法元素包括palette_escape_val_present_flag;指示當前調色板中被明確發信號通知或被推斷的索引的數量的語法元素包括num_palette_indices_idc語法元素;及指示當前調色板條目的陣列中的索引的一或多個語法元素包括一或多個Palette_index_idc語法元素。
實例7. 實例1-6的任何組合的方法,其中構造索引群組中的圖元所必需的語法元素包括在ITU-T H.265/高效視訊寫碼(HEVC)(02/2018)的第7.3.8.13節的調色板語法中包括的一或多個語法元素。
實例8. 實例1-7的任何組合的方法,其中解析用於該複數個索引群組中的特定索引群組的語法元素包括:解析指示特定索引群組中的調色板索引的數量和所有圖元的值的語法元素;在解析了指示特定索引群組中的調色板索引的數量和所有圖元的值的語法元素之後,針對特定索引群組中的各個圖元,解析指示相應圖元的索引值是否與先前索引相同的相應語法元素;回應於確定相應圖元的索引值與先前索引不同,在解析了指示圖元的索引值是否與先前索引相同的語法元素之後,解析指示游程類型的語法元素。
實例9. 實例8的方法,其中:指示相應圖元的索引值是否與先前索引相同的相應語法元素包括index_copy_flag;指示游程類型的語法元素包括run_type_flag語法元素。
實例10. 實例1-9的任何組合的方法,其中解析用於第一索引群組的語法元素包括:針對第一索引群組中的第一圖元,解析指示游程類型的語法元素;及解析指示游程長度的一或多個語法元素。
實例11. 實例10的方法,其中使用一元編碼字元對游程長度進行二值化。
實例12. 實例1-11中的任一項的方法,其中寫碼包括解碼。
實例13. 實例1-12中的任一項的方法,其中寫碼包括編碼。
實例14. 一種用於對視訊資料進行寫碼的設備,該設備包括用於執行實例1-13中的任一項的方法的一或多個構件。
實例15. 實例14的設備,其中該一或多個構件包括以電路實施的一或多個處理器。
實例16. 實例14和15中的任一項的設備,亦包括用於儲存視訊資料的記憶體。
實例17. 實例14-16中的任一項的設備,亦包括被配置為顯示解碼的視訊資料的顯示器。
實例18. 實例14-17中的任一項的設備,其中該設備包括相機、電腦、行動設備、廣播接收器設備或機上盒中的一或多個。
實例19. 實例14-18中的任一項的設備,其中該設備包括視訊解碼器。
實例20. 實例14-19中的任一項的設備,其中該設備包括視訊編碼器。
實例21. 一種其上儲存有指令的電腦可讀取儲存媒體,該等指令在被執行時使一或多個處理器執行實例1-13中任一項的方法。
應該認識到,根據實例,本文描述的任何技術的某些操作或事件可以以不同的循序執行,可以被添加、合併或完全省略(例如,並非所有描述的操作或事件皆是實施該技術所必需的)。此外,在某些實例實例中,操作或事件可以例如經由多執行緒處理、中斷處理或多個處理器併發地而不是順序地執行。
在一或多個實例性設計中,可以以硬體、軟體、韌體或其任意組合來實施所描述的功能。若以軟體實施,則該功能可以作為一或多個指令或代碼在電腦可讀取媒體上進行儲存或發送,並由基於硬體的處理單元執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體,其對應於諸如資料儲存媒體的有形媒體,或通訊媒體,包括例如根據通訊協定便於將電腦程式從一個地方轉移到另一個地方的任何媒體。以此種方式,電腦可讀取媒體通常可以對應於(1)非暫時性的有形電腦可讀取儲存媒體,或者(2)諸如信號或載波的通訊媒體。資料儲存媒體可以是可由一台或多台電腦或一或多個處理器存取以提取指令、代碼及/或資料結構以實施本揭示案中描述的技術的任何可用媒體。電腦程式產品可以包括電腦可讀取媒體。
例如,但是並不限於,此種電腦可讀取儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存設備、磁碟儲存設備或其他磁儲存設備、快閃記憶體或者可以用於以指令或資料結構的形式儲存所需程式碼並且能夠被電腦存取的任何其他媒體。此外,任何連接皆可以適當地稱為電腦可讀取媒體。例如,若用同軸電纜、纖維光纜、雙絞線、數位用戶線(DSL)或諸如紅外、無線電和微波的無線技術從網站、伺服器或其他遠端源反射軟體,則該同軸電纜、纖維光纜、雙絞線、DSL或諸如紅外、無線電和微波的無線技術亦包含在媒體的定義中。然而,應當理解,電腦可讀取儲存媒體和資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是針對非暫時性有形儲存媒體。本文所使用的磁碟和光碟包括壓縮磁碟(CD)、雷射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地再現資料,而光碟利用雷射器光學地再現資料。上述的組合亦包括在電腦可讀取媒體的範圍內。
指令可由一或多個處理器執行,諸如一或多個數位訊號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他等效整合的或個別邏輯電路。相應地,如本文所使用的術語「處理器」和「處理電路」可以指任何前述結構或適合於實施本文描述的技術的任何其他結構。另外,在一些態樣,本文描述的功能可以在被配置用於編碼和解碼的專用硬體及/或軟體模組內提供,或結合在組合轉碼器中。同樣,該技術可以在一或多個電路或邏輯元件中完全實施。
本揭示案的技術可以在包括無線手持機、積體電路(IC)或一組IC(例如,晶片組)的多種設備或裝置中實施。在本揭示案中描述各種部件、模組或單元以強調被配置為執行所揭示技術的設備的功能態樣,但不一定需要由不同硬體單元來實施。而是,如前述,各種單元可以組合在轉碼器硬體單元中,或者由交互動操作的硬體單元的集合來提供,包括與合適的軟體及/或韌體相結合的如前述的一或多個處理器。
已經描述了各種實例。該等和其他實例在所附請求項的範疇內。
100:視訊編碼和解碼系統
102:源設備
104:視訊源
106:記憶體
108:輸出介面
110:電腦可讀取媒體
112:儲存設備
114:檔案伺服器
116:目的地設備
118:顯示設備
120:記憶體
122:輸入介面
130:四叉樹二元樹(QTBT)結構
132:CTU
200:視訊編碼器
202:模式選擇單元
204:殘差產生單元
206:變換處理單元
208:量化單元
210:逆量化單元
212:逆變換處理單元
214:重構單元
216:濾波器單元
218:解碼圖片緩衝器(DPB)
220:熵編碼單元
222:運動估計單元
224:運動補償單元
226:訊框內預測單元
230:視訊資料記憶體
300:視訊解碼器
302:熵解碼單元
304:預測處理單
306:逆量化單元
308:逆變換處理單元
310:重構單元
312:濾波器單元
314:解碼圖片緩衝器(DPB)
316:運動補償單元
318:訊框內預測單元
320:CPB記憶體
350:步驟
352:步驟
354:步驟
356:步驟
358:步驟
360:步驟
370:步驟
372:步驟
374:步驟
376:步驟
378:步驟
380:步驟
800H:水準遍歷掃瞄實例
800V:垂直遍歷掃瞄實例
802H:IG
802V:IG
804H:IG
804V:IG
1102:步驟
1104:步驟
1106:步驟
1202:步驟
1204:步驟
1206:步驟
1780:圖片
1800:第一寫碼單元(CU)
1840:第一調色板
1880:第二CU
1920:第二調色板
1960:塊
2000:塊
2020:條目
2040:條目
2060:條目
2080:條目
2100:條目
2120:條目
2140:條目
2400:圖
2440:調色板
2660:行
2680:行
2700:行
第1圖是圖示可以執行本揭示案的技術的示例性視訊編碼和解碼系統的方塊圖。
第2A圖和第2B圖是圖示示例性四叉樹二元樹(QTBT)結構以及對應的寫碼樹單元(CTU)的概念圖。
第3圖是圖示可以執行本揭示案的技術的示例性視訊編碼器的方塊圖。
第4圖是圖示可以執行本揭示案的技術的示例性視訊解碼器的方塊圖。
第5圖是圖示與本揭示案的技術一致的、確定用於對視訊資料進行寫碼的調色板的實例的概念圖。
第6圖是圖示與本揭示案的技術一致的、確定用於圖元塊的調色板的索引的實例的概念圖。
第7圖是圖示使用水準和豎直遍歷掃瞄的索引的示例性寫碼的概念圖。
第8圖是圖示根據本揭示案的一或多個技術的、用於視訊資料的調色板模式寫碼的基於子塊的索引圖掃瞄的概念圖。
第9圖是圖示用於對視訊資料的當前塊進行解碼的示例性方法的流程圖。
第10圖是圖示用於對視訊資料的當前塊進行解碼的示例性方法的流程圖。
第11圖是圖示根據本揭示案的一或多種技術的、用於使用調色板模式寫碼來對視訊資料的當前塊進行編碼的示例性方法的流程圖。
第12圖是圖示根據本揭示案的一或多種技術的、用於使用調色板模式寫碼來對視訊資料的當前塊進行解碼的示例性方法的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
1202:步驟
1204:步驟
1206:步驟
Claims (20)
- 一種對視訊資料進行寫碼的方法,該方法包括以下步驟:將視訊資料的一當前寫碼單元(CU)劃分為複數個索引群組,視訊資料的該當前CU是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的所有索引群組的重構的一或多個語法元素;基於用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素,產生用於該當前CU的一調色板;在解析了用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素之後,解析用於該複數個索引群組中的一第一索引群組的語法元素,其中用於該第一索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素以及表示該第一索引群組中的逃逸樣本的值的一或多個語法元素;在解析了用於該第一索引群組的該等語法元素之後,解析用於該複數個索引群組中的一第二索引群組的語法元素,其中用於該第二索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素;及基於用於該第一索引群組的該等語法元素和用於該第二索引群組的該等語法元素,重構視訊資料的該當前CU,其中重構包括: 基於用於該當前CU的該調色板和用於該第一索引群組的該等語法元素,重構該第一索引群組的樣本;及基於用於該當前CU的該調色板和用於該第二索引群組的該等語法元素,重構該第二索引群組的樣本。
- 如請求項1所述之方法,其中解析用於該第二索引群組的該等語法元素之步驟包括以下步驟:針對該第二索引群組中包括的每個相應樣本,對指定該相應樣本的一索引是否與一先前掃瞄的樣本的一索引相同的一語法元素進行寫碼。
- 如請求項2所述之方法,其中對指定該相應樣本的該索引是否與該先前掃瞄的樣本的該索引相同的該語法元素進行寫碼的步驟包括以下步驟:使用基於一游程類型確定的一上下文,對指定該相應樣本的該索引是否與該先前掃瞄的樣本的該索引相同的該語法元素進行寫碼。
- 如請求項1所述之方法,其中解析用於該第一索引群組的語法元素的步驟包括以下步驟:解析用於該第一索引群組中的樣本的構造的用於該第一索引群組的語法元素。
- 如請求項4所述之方法,其中解析用於該第二索引群組的該等語法元素的步驟包括以下步驟:解析用於該第二索引群組中的樣本的構造的用於該第二索引群組的語法元素。
- 如請求項1所述之方法,其中用於該第一索引群組的語法元素亦包括:指定一相應樣本的一索引是否與一先前掃瞄的樣本的一索引相同的一或多個語法元素。
- 如請求項1所述之方法,亦包括以下步驟:在解析了用於該第二索引群組的該等語法元素之後,解析用於該複數個索引群組中的一第三索引群組的語法元素;及在解析了用於該第三索引群組的該等語法元素之後,解析用於該複數個索引群組中的一第四索引群組的語法元素。
- 如請求項1所述之方法,其中解析用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引群組的該等語法元素包括對用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引群組的該等語法元素進行編碼。
- 如請求項1所述之方法,其中解析用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引群組的該等語法元素包括對用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引 群組的該等語法元素進行解碼。
- 一種用於對視訊資料進行寫碼的設備,該設備包括:一記憶體,其被配置為儲存一寫碼的視訊位元串流的至少一部分;及一或多個處理器,其在電路中實施並被配置為:將視訊資料的一當前寫碼單元(CU)劃分為複數個索引群組,視訊資料的該當前CU是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的所有索引群組的重構的一或多個語法元素;基於用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素,產生用於該當前CU的一調色板;在解析了用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素之後,經由該寫碼的視訊位元串流解析用於該複數個索引群組中的一第一索引群組的語法元素,其中用於該第一索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素以及表示該第一索引群組中的逃逸樣本的值的一或多個語法元素;在解析了用於該第一索引群組的該等語法元素之後,經由該寫碼的視訊位元串流解析用於該複數個索引群組中的一第二索引群組的語法元素,其中用於該第二 索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素;及基於用於該第一索引群組的該等語法元素和用於該第二索引群組的該等語法元素,重構視訊資料的該當前CU,其中為了重構該當前CU,該一或多個處理器被配置為:基於用於該當前CU的該調色板和用於該第一索引群組的該等語法元素,重構該第一索引群組的樣本;及基於用於該當前CU的該調色板和用於該第二索引群組的該等語法元素,重構該第二索引群組的樣本。
- 如請求項10所述之設備,其中為了解析用於該第二索引群組的該等語法元素,該一或多個處理器被配置為:對於該第二索引群組中包括的每個相應樣本,對指定該相應樣本的一索引是否與一先前掃瞄的樣本的一索引相同的一語法元素進行寫碼。
- 如請求項11所述之設備,其中為了對指定該相應樣本的該索引是否與該先前掃瞄的樣本的該索引相同的該語法元素進行寫碼,該一或多個處理器被配置為:使用基於一游程類型確定的一上下文,對指定該相應樣本的該索引是否與該先前掃瞄的樣本的該索引相同的 該語法元素進行寫碼。
- 如請求項10所述之設備,其中為了解析用於該第一索引群組的該等語法元素,該一或多個處理器被配置為:解析用於該第一索引群組中的樣本的構造的用於該第一索引群組的語法元素。
- 如請求項13所述之設備,其中為了解析用於該第二索引群組的該等語法元素,該一或多個處理器被配置為:解析用於該第二索引群組中的樣本的構造的用於該第二索引群組的語法元素。
- 如請求項10所述之設備,其中用於該第一索引群組的語法元素亦包括:指定一相應樣本的一索引是否與一先前掃瞄的樣本的一索引相同的一或多個語法元素。
- 如請求項10所述之設備,其中該一或多個處理器亦被配置為:在解析了用於該第二索引群組的該等語法元素之後,解析用於該複數個索引群組中的一第三索引群組的語法元素;及在解析了用於該第三索引群組的該等語法元素之後,解析用於該複數個索引群組中的一第四索引群組的語法元素。
- 如請求項10所述之設備,其中為了解析用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、 用於該第二索引群組的該等語法元素,該一或多個處理器被配置為對用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引群組的該等語法元素進行編碼。
- 如請求項10所述之設備,其中為了解析用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引群組的該等語法元素,該一或多個處理器被配置為對用於該複數個索引群組中的所有索引群組的重構的該一或多個語法元素、用於該第一索引群組的該等語法元素、用於該第二索引群組的該等語法元素進行解碼。
- 一種儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使視訊解碼器的一或多個處理器執行如下操作:將視訊資料的一當前寫碼單元(CU)劃分為複數個索引群組,視訊資料的該當前CU是使用調色板模式進行寫碼的;解析用於該複數個索引群組中的所有索引群組的重構的一或多個語法元素;基於用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素,產生用於該當前CU的一調色板; 在解析了用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素之後,經由一寫碼的視訊位元串流解析用於該複數個索引群組中的一第一索引群組的語法元素,其中用於該第一索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素以及表示該第一索引群組中的逃逸樣本的值的一或多個語法元素;在解析了用於該第一索引群組的該等語法元素之後,經由該寫碼的視訊位元串流解析用於該複數個索引群組中的一第二索引群組的語法元素,其中用於該第二索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素;及基於用於該第一索引群組的該等語法元素和用於該第二索引群組的該等語法元素,重構視訊資料的該當前CU,其中使該一或多個處理器重構該當前CU的指令包括使該一或多個處理器執行如下操作的指令:基於用於該當前CU的該調色板和用於該第一索引群組的該等語法元素,重構該第一索引群組的樣本;及基於用於該當前CU的該調色板和用於該第二索引群組的該等語法元素,重構該第二索引群組的樣本。
- 一種視訊寫碼設備,包括:用於將視訊資料的一當前寫碼單元(CU)劃分為複數個索引群組的構件,視訊資料的該當前CU是使用調色 板模式進行寫碼的;用於解析用於該複數個索引群組中的所有索引群組的重構的一或多個語法元素的構件;用於基於用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素來產生用於該當前CU的一調色板的構件;用於在解析了用於該複數個索引組中的所有索引群組的重構的該一或多個語法元素之後,經由該寫碼的視訊位元串流解析用於該複數個索引群組中的一第一索引群組的語法元素的構件,其中用於該第一索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素以及表示該第一索引群組中的逃逸樣本的值的一或多個語法元素;用於在解析了用於該第一索引群組的該等語法元素之後,經由該寫碼的視訊位元串流解析用於該複數個索引群組中的一第二索引群組的語法元素的構件,其中用於該第二索引群組的該等語法元素包括指示該調色板中的索引的一或多個語法元素;及用於基於用於該第一索引群組的該等語法元素和用於該第二索引群組的該等語法元素,重構視訊資料的該當前CU的構件,其中該用於重構的構件包括:用於基於用於該當前CU的該調色板和用於該第一索引群組的該等語法元素,重構該第一索引群組的樣本的構件;及 用於基於用於該當前CU的該調色板和用於該第二索引群組的該等語法元素,重構該第二索引群組的樣本的構件。
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962817946P | 2019-03-13 | 2019-03-13 | |
| US62/817,946 | 2019-03-13 | ||
| US201962818455P | 2019-03-14 | 2019-03-14 | |
| US62/818,455 | 2019-03-14 | ||
| US201962888061P | 2019-08-16 | 2019-08-16 | |
| US62/888,061 | 2019-08-16 | ||
| US16/815,605 | 2020-03-11 | ||
| US16/815,605 US11202101B2 (en) | 2019-03-13 | 2020-03-11 | Grouped coding for palette syntax in video coding |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202044836A TW202044836A (zh) | 2020-12-01 |
| TWI851681B true TWI851681B (zh) | 2024-08-11 |
Family
ID=72424207
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW109108164A TWI851681B (zh) | 2019-03-13 | 2020-03-12 | 用於視訊寫碼中的調色板語法的分組寫碼 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US11202101B2 (zh) |
| EP (1) | EP3939276A1 (zh) |
| KR (1) | KR20210129092A (zh) |
| CN (1) | CN113508585B (zh) |
| TW (1) | TWI851681B (zh) |
| WO (1) | WO2020186046A1 (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10609423B2 (en) * | 2016-09-07 | 2020-03-31 | Qualcomm Incorporated | Tree-type coding for video coding |
| AU2020224256B2 (en) | 2019-02-24 | 2025-05-01 | Beijing Bytedance Network Technology Co., Ltd. | Independent coding of palette mode usage indication |
| CN117336514A (zh) | 2019-02-24 | 2024-01-02 | 北京字节跳动网络技术有限公司 | 调色板模式使用指示的独立编解码 |
| CN114175662B (zh) | 2019-07-20 | 2023-11-24 | 北京字节跳动网络技术有限公司 | 调色板模式使用指示的条件相关编解码 |
| CN117221536A (zh) | 2019-07-23 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 调色板模式编解码的模式确定 |
| CN114208174B (zh) | 2019-07-29 | 2023-11-28 | 北京字节跳动网络技术有限公司 | 预测过程中的调色板模式编解码 |
| CN121357321A (zh) * | 2019-09-07 | 2026-01-16 | 北京达佳互联信息技术有限公司 | 视频数据的编码和解码方法以及装置 |
| US11481929B2 (en) * | 2020-03-16 | 2022-10-25 | Meta Platforms Technologies, Llc | System and method for compressing and decompressing images using block-based compression format |
| GB2601504B (en) * | 2020-12-01 | 2023-03-29 | Imagination Tech Ltd | Data compression and packing |
| US20230102401A1 (en) * | 2021-09-30 | 2023-03-30 | Qualcomm Incorporated | Inter prediction coding for geometry point cloud compression |
| US20230231991A1 (en) * | 2022-01-14 | 2023-07-20 | Tencent America LLC | Palette Predictor Generation and Signaling |
| KR20250146957A (ko) * | 2024-04-02 | 2025-10-13 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 비디오 데이터 스트림들의 신뢰성 검사에 대한 개념 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170195676A1 (en) * | 2014-06-20 | 2017-07-06 | Hfi Innovation Inc. | Method of Palette Predictor Signaling for Video Coding |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9558567B2 (en) * | 2013-07-12 | 2017-01-31 | Qualcomm Incorporated | Palette prediction in palette-based video coding |
| US20170171560A1 (en) * | 2014-06-20 | 2017-06-15 | Sharp Kabushiki Kaisha | Efficient palette coding for screen content codings |
| US10477204B2 (en) * | 2014-06-20 | 2019-11-12 | Sharp Kabushiki Kaisha | Harmonized palette coding |
| US20150381994A1 (en) * | 2014-06-27 | 2015-12-31 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
| US10687064B2 (en) * | 2014-08-04 | 2020-06-16 | Qualcomm Incorporated | Palette mode encoding and decoding with inferred pixel scan order |
| GB2531005A (en) * | 2014-10-06 | 2016-04-13 | Canon Kk | Improved encoding process using a palette mode |
| US9596479B2 (en) * | 2014-10-07 | 2017-03-14 | Hfi Innovation Inc. | Method of pulse-code modulation and palette coding for video coding |
| WO2016070845A1 (en) * | 2014-11-06 | 2016-05-12 | Mediatek Inc. | Method for sub-block based palette coding |
| KR102144154B1 (ko) | 2014-11-12 | 2020-08-13 | 에이치에프아이 이노베이션 인크. | 인덱스 맵 코딩에서의 이스케이프 픽셀 코딩의 방법들 |
| US9986248B2 (en) * | 2015-01-29 | 2018-05-29 | Qualcomm Incorporated | Palette mode coding for video coding |
| CN107431817B (zh) * | 2015-01-29 | 2020-03-24 | Vid拓展公司 | 用于调色板译码的方法及装置 |
| US9942551B2 (en) * | 2015-01-30 | 2018-04-10 | Qualcomm Incorporated | Palette index grouping for video coding |
| US9900624B2 (en) * | 2015-02-05 | 2018-02-20 | Mediatek Inc. | Methods and apparatus of decoding process for palette syntax |
| EP3243330B1 (en) | 2015-02-13 | 2021-10-27 | MediaTek Inc. | Method for palette syntax coding in video and image compression |
| CN107431827B (zh) | 2015-03-18 | 2020-02-28 | 寰发股份有限公司 | 使用调色板编码模式的视频和图像编解码的方法和装置 |
| CN107409227B (zh) * | 2015-03-20 | 2020-01-21 | 联发科技(新加坡)私人有限公司 | 视频编解码方法及装置 |
| WO2016161967A1 (en) * | 2015-04-08 | 2016-10-13 | Mediatek Inc. | Methods of palette mode coding in video coding |
| US10448058B2 (en) * | 2015-05-21 | 2019-10-15 | Qualcomm Incorporated | Grouping palette index at the end and index coding using palette size and run value |
| EP3298785A4 (en) | 2015-06-03 | 2019-02-13 | MediaTek Inc. | METHOD AND APPARATUS FOR RESOURCE SHARING BETWEEN INTRA BLOCK COPY MODE AND INTER-PREDICTION MODE IN VIDEO CODING SYSTEMS |
| US11146788B2 (en) * | 2015-06-12 | 2021-10-12 | Qualcomm Incorporated | Grouping palette bypass bins for video coding |
| US10148977B2 (en) * | 2015-06-16 | 2018-12-04 | Futurewei Technologies, Inc. | Advanced coding techniques for high efficiency video coding (HEVC) screen content coding (SCC) extensions |
-
2020
- 2020-03-11 US US16/815,605 patent/US11202101B2/en active Active
- 2020-03-12 WO PCT/US2020/022371 patent/WO2020186046A1/en not_active Ceased
- 2020-03-12 TW TW109108164A patent/TWI851681B/zh active
- 2020-03-12 CN CN202080017573.9A patent/CN113508585B/zh active Active
- 2020-03-12 KR KR1020217028606A patent/KR20210129092A/ko active Pending
- 2020-03-12 EP EP20717471.5A patent/EP3939276A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170195676A1 (en) * | 2014-06-20 | 2017-07-06 | Hfi Innovation Inc. | Method of Palette Predictor Signaling for Video Coding |
Non-Patent Citations (1)
| Title |
|---|
| 網路文獻 S. Ye, Z. Chen, W. Zhang and L. Xu Parallel palette mode decoding for HEVC SCC 2016 IEEE International Symposium on Circuits and Systems (ISCAS), Montreal, QC, Canada 22-25 May 2016 https://www.researchgate.net/publication/309613735_Parallel_palette_mode_decoding_for_HEVC_SCC * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113508585A (zh) | 2021-10-15 |
| US11202101B2 (en) | 2021-12-14 |
| EP3939276A1 (en) | 2022-01-19 |
| CN113508585B (zh) | 2024-11-19 |
| US20200296423A1 (en) | 2020-09-17 |
| KR20210129092A (ko) | 2021-10-27 |
| TW202044836A (zh) | 2020-12-01 |
| WO2020186046A1 (en) | 2020-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI851681B (zh) | 用於視訊寫碼中的調色板語法的分組寫碼 | |
| US20250247563A1 (en) | Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding | |
| TWI845688B (zh) | 用於視訊寫碼之合併模式寫碼 | |
| TWI848073B (zh) | 用於轉換跳過模式之係數寫碼 | |
| TWI689197B (zh) | 用於次取樣格式之調色模式 | |
| US11146788B2 (en) | Grouping palette bypass bins for video coding | |
| US11240507B2 (en) | Simplified palette predictor update for video coding | |
| TWI888399B (zh) | 低頻不可分離變換(lfnst)訊號傳遞 | |
| TW201817236A (zh) | 用於視頻寫碼之線性模型色度內預測 | |
| TW201517599A (zh) | 內部運動補償延伸 | |
| TW201603563A (zh) | 用於視訊寫碼之具有執行長度碼之調色盤預測器信令 | |
| TW201639364A (zh) | 在視訊寫碼中調色板區塊大小之限制 | |
| CN114503590B (zh) | 用信号发送针对变换跳过中的残差值的译码方案以进行视频译码 | |
| TW202029754A (zh) | 用於置零轉換之掃描及最後係數位置寫碼 | |
| TWI873150B (zh) | 增強內部寫碼區塊之解碼產出量 | |
| TWI879773B (zh) | 用於視訊寫碼中之自適應迴路濾波器之剪切索引寫碼 | |
| TW202127884A (zh) | 用於用於視訊譯碼的跨分量適應性環路濾波的位元位移 | |
| US10992937B2 (en) | Coefficient coding with grouped bypass bins | |
| CN114402602B (zh) | 用于视频编解码的算术编解码器字节填料信令 | |
| TW202141977A (zh) | 視訊解碼中的變換跳過塊的係數編碼 | |
| US11863787B2 (en) | Maximum allowed block size for BDPCM mode | |
| TW202450315A (zh) | 用於視頻譯碼中的幀內塊複製和幀內模板匹配的多重轉換選擇 | |
| HK40068685A (zh) | 用信号发送针对变换跳过中的残差值的译码方案以进行视频译码 | |
| NZ737096B2 (en) | Grouping palette bypass bins for video coding |