[go: up one dir, main page]

TWI874542B - 基於色度變換跳過的用於色度的lfnst信號傳遞 - Google Patents

基於色度變換跳過的用於色度的lfnst信號傳遞 Download PDF

Info

Publication number
TWI874542B
TWI874542B TW109145676A TW109145676A TWI874542B TW I874542 B TWI874542 B TW I874542B TW 109145676 A TW109145676 A TW 109145676A TW 109145676 A TW109145676 A TW 109145676A TW I874542 B TWI874542 B TW I874542B
Authority
TW
Taiwan
Prior art keywords
block
chroma block
chroma
lfnst
luma
Prior art date
Application number
TW109145676A
Other languages
English (en)
Other versions
TW202133615A (zh
Inventor
希勒米艾內斯 艾吉爾梅茲
阿里坎 納爾奇
莫哈美德塞伊德 克班
瑪塔 卡克基維克茲
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202133615A publication Critical patent/TW202133615A/zh
Application granted granted Critical
Publication of TWI874542B publication Critical patent/TWI874542B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

示例性設備包括:被配置為儲存視訊資料的記憶體、以及在電路系統中實現並且耦合到記憶體的一或多個處理器。一或多個處理器決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的。一或多個處理器決定用於色度區塊的變換跳過模式是否被啟用。一或多個處理器基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值。

Description

基於色度變換跳過的用於色度的LFNST信號傳遞
本專利申請案主張享有以下申請案的優先權:於2019年12月23日提出申請的編號為62/953,126的美國臨時申請案;及於2020年1月10日提出申請的編號為62/959,692的美國臨時申請案編號,上述兩份申請案的全部內容經由引用的方式併入本文中。
本案內容係關於視訊編碼(encoding)和視訊解碼(decoding)。
數位視訊能力可以被整合到各種各樣的設備中,包括數位電視機、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型電腦或桌上型電腦、平板電腦、電子書閱讀器、數位相機、數位記錄設備、數位媒體播放機、視訊遊戲設備、視訊遊戲控制台、蜂巢或衛星無線電電話、所謂的「智慧型電話」、視訊電話會議設備、視訊串流設備等。數位視訊設備實現視訊解碼(coding)技術,諸如在經由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)的切片中的視訊區塊可以使用相對於在同一圖像中的相鄰區塊中的參考取樣的空間預測或者相對於在其他參考圖像中的參考取樣的時間預測。圖像可以稱為訊框,以及參考圖像可以稱為參考訊框。
概括而言,本案內容描述用於視訊解碼(coding)的技術,以及更具體地,用於對用於變換解碼的語法元素進行編碼(encoding)和解碼(decoding)的技術,該變換解碼是所有現代視訊壓縮標準的基本元素。本案內容描述可以在視訊轉碼器(codec)中使用以從多個變換候選當中指定及/或決定變換以進行編碼和解碼的變換信號傳遞技術。
在一個實例中,方法包括以下步驟:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。
在另一實例中,設備包括:被配置為儲存視訊資料的記憶體;及在電路系統中實現並且耦合到記憶體的一或多個處理器,一或多個處理器被配置為:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。在另一實例中,儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器進行以下操作:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。
在另一實例中,設備包括:用於決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的構件;用於決定用於色度區塊的變換跳過模式是否被啟用的構件;用於基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值的構件;及用於在不應用逆LFNST的情況下對色度區塊進行解碼的構件。
在一個實例中,方法包括以下步驟:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
在另一實例中,設備包括被配置為儲存視訊資料的記憶體,以及在電路系統中實現並且耦合到記憶體的一或多個處理器,一或多個處理器被配置為:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
在另一實例中,一種儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器進行以下操作:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
在另一實例中,設備包括:用於決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼的構件;用於決定是否針對色度區塊啟用變換跳過模式的構件;用於基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引的構件;及用於在不應用LFNST的情況下對色度區塊進行編碼的構件。
一或多個實例的細節是在附圖和以下描述中闡述的。根據描述、附圖和實例,其他特徵、目的和優勢將是顯而易見的。
在一些視訊解碼標準中,用於色度區塊的低頻不可分離變換(LFNST)信號傳遞依賴於亮度變換跳過標誌。例如,若亮度變換跳過標誌具有某個值,則可以僅針對色度區塊以信號發送LFNST索引。用於色度區塊的LFNST信號傳遞對亮度變換跳過標誌的依賴性可能不是期望的,特別是對於以分離樹劃分進行解碼的色度區塊(例如,當亮度通道和色度通道是使用基於分離樹的劃分(諸如雙樹劃分)進行解碼的時)。當與用於色度的LFNST信號傳遞不依賴於亮度變換跳過標誌的情況相比時,使用於色度區塊的LFNST信號傳遞依賴於亮度變換跳過標誌可能增加解碼時延。另外,當不使用LFNST時以信號發送LFNST索引可能增加信號傳遞管理負擔。根據本案內容的技術,用於色度的LFNST信號傳遞可以不依賴於亮度變換跳過標誌,以及當不使用LFNST時可以不以信號發送LFNST索引,從而改良解碼時延以及減少信號傳遞管理負擔。
圖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分別執行的軟體指令。儘管記憶體106和記憶體120在該實例中是與視訊編碼器200和視訊解碼器300分開圖示的,但是應當理解的是,視訊編碼器200和視訊解碼器300亦可以包括用於在功能上類似或等效目的的內部記憶體。此外,記憶體106和記憶體120可以儲存例如從視訊編碼器200輸出以及輸入到視訊解碼器300的經編碼的視訊資料。在一些實例中,記憶體106和記憶體120的部分可以被分配為一或多個視訊緩衝器,例如,以儲存原始的、經解碼及/或經編碼的視訊資料。
電腦可讀取媒體110可以表示能夠將經編碼的視訊資料從源設備102輸送到目標設備116的任何類型的媒體或設備。在一個實例中,電腦可讀取媒體110表示通訊媒體,以使得源設備102能夠例如經由射頻網路或基於電腦的網路來即時地向目標設備116直接傳輸經編碼的視訊資料。根據通訊標準(諸如無線通訊協定),輸出介面108可以對包括經編碼的視訊資料的傳輸信號進行調制,以及輸入介面122可以對所接收的傳輸信號進行解調。通訊媒體可以包括任何無線或有線通訊媒體,諸如射頻(RF)頻譜或一或多條實體傳輸線。通訊媒體可以組成基於封包的網路(諸如區域網路、廣域網路,或諸如網際網路之類的全球網路)的一部分。通訊媒體可以包括路由器、交換機、基地站,或對於促進從源設備102到目標設備116的通訊可能有用的任何其他設備。
在一些實例中,源設備102可以將經編碼的資料從輸出介面108輸出到儲存設備112。類似地,目標設備116可以經由輸入介面122從儲存設備112存取經編碼的資料。儲存設備112可以包括各種分散式或本端存取的資料儲存媒體中的任何資料儲存媒體,諸如硬碟、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼的視訊資料的任何其他適當的數位儲存媒體。
在一些實例中,源設備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、5G等)來傳輸資料(諸如經編碼的視訊資料)。在輸出介面108包括無線傳輸器的一些實例中,輸出介面108和輸入介面122可以被配置為根據其他無線標準(諸如IEEE 802.11規範、IEEE 802.15規範(例如,紫蜂(ZigBee ))、藍芽 標準等)來傳輸資料(諸如經編碼的視訊資料)。在一些實例中,源設備102及/或目標設備116可以包括相應的晶片上系統(SoC)設備。例如,源設備102可以包括SoC設備以執行被認為是視訊編碼器200及/或輸出介面108所為的功能,以及目標設備116可以包括SoC設備以執行被認為是視訊解碼器300及/或輸入介面122所為的功能。
本案內容的技術可以應用於視訊解碼,以支援各種多媒體應用中的任何多媒體應用,諸如無線電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如基於HTTP的動態自我調整串流(DASH))、被編碼到資料儲存媒體上的數位視訊、對被儲存在資料儲存媒體上的數位視訊的解碼,或其他應用。
目標設備116的輸入介面122從電腦可讀取媒體110(例如,通訊媒體、儲存設備112、檔案伺服器114等)接收經編碼的視訊位元串流。經編碼的視訊位元串流可以包括由視訊編碼器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可以根據其他專有或行業標準(諸如ITU-T H.266標準,亦稱為多功能視訊解碼(VVC))來操作。VVC標準的草案是在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視訊專家組(JVET)於2019年10月1-11日在瑞士日內瓦舉行的第16次會議中Bross等人提出的「Versatile Video Coding (Draft 7)」JVET-P2001-v14(下文中稱為「VVC草案7」)中描述的。VVC標準的更近期的草案是在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視訊專家組(JVET)於2020年6月22日-7月1日經由電話會議舉行的第19次會議中Bross等人提出的「Versatile Video Coding (Draft 10)」JVET-S2001-v17(下文中稱為「VVC草案10」)中描述的。然而,本案內容的技術不限於任何特定的解碼標準。
通常,視訊編碼器200和視訊解碼器300可以執行圖像的基於區塊的解碼。術語「區塊」通常是指包括要處理的(例如,編碼、解碼或以其他方式在編碼及/或解碼程序中使用)資料的結構。例如,區塊可以包括亮度及/或色度資料的取樣的二維矩陣。通常,視訊編碼器200和視訊解碼器300可以對以YUV(例如,Y、Cb、Cr)格式表示的視訊資料進行解碼。亦即,不是對用於圖像的取樣的紅色、綠色和藍色(RGB)資料進行解碼,視訊編碼器200和視訊解碼器300可以對亮度和色度分量進行解碼,其中色度分量可以包括紅色色相和藍色色相色度分量兩者。在一些實例中,視訊編碼器200在進行編碼之前將所接收的經RGB格式化的資料轉換為YUV表示,以及視訊解碼器300將YUV表示轉換為RGB格式。或者,預處理和後處理單元(未圖示)可以執行該等轉換。
本案內容通常可以涉及對圖像的解碼(例如,編碼和解碼)以包括對圖像的資料進行編碼或解碼的程序。類似地,本案內容可以涉及對圖像的區塊的解碼以包括對用於區塊的資料進行編碼或解碼(例如,預測及/或殘差解碼)的程序。經編碼的視訊位元串流通常包括用於表示解碼決策(例如,解碼模式)以及對圖像到區塊的劃分的語法元素的一系列值。因此,關於對圖像或區塊進行解碼的引用通常應當被理解為對用於形成圖像或區塊的語法元素的值進行解碼。
HEVC定義各種區塊,包括解碼單元(CU)、預測單元(PU)和變換單元(TU)。根據HEVC,視訊解碼器(coder)(諸如視訊編碼器200)根據四叉樹結構來將解碼樹單元(CTU)劃分為CU。亦即,視訊解碼器將CTU和CU劃分為四個相等的、不重疊的正方形,以及四叉樹的每個節點具有零個或四個子節點。沒有子節點的節點可以稱為「葉節點」,以及此種葉節點的CU可以包括一或多個PU及/或一或多個TU。視訊解碼器可以進一步劃分PU和TU。例如,在HEVC中,殘差四叉樹(RQT)表示對TU的劃分。在HEVC中,PU表示訊框間預測資料,而TU表示殘差資料。被訊框內預測的CU包括訊框內預測資訊,諸如訊框內模式指示。
作為另一實例,視訊編碼器200和視訊解碼器300可以被配置為根據VVC來操作。根據VVC,視訊解碼器(諸如視訊編碼器200)將圖像劃分為複數個解碼樹單元(CTU)。視訊編碼器200可以根據樹結構(諸如四叉樹-二叉樹(QTBT)結構或多類型樹(MTT)結構)劃分CTU。QTBT結構去除多種劃分類型的概念,諸如在HEVC的CU、PU和TU之間的分隔。QTBT結構包括兩個級別:根據四叉樹劃分來劃分的第一級別,以及根據二叉樹劃分來劃分的第二級別。QTBT結構的根節點對應於CTU。二叉樹的葉節點對應於解碼單元(CU)。
在MTT劃分結構中,區塊可以使用四叉樹(QT)劃分、二叉樹(BT)劃分以及一或多個類型的三叉樹(TT)劃分(亦稱為三元樹(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劃分提供的。然而,應當理解的是,本案內容的技術亦可以應用於被配置為使用四叉樹劃分或者亦使用其他類型的劃分的視訊解碼器。
在一些實例中,CTU包括亮度取樣的解碼樹區塊(CTB)、具有三個取樣陣列的圖像的色度取樣的兩個對應的CTB,或者單色圖像或使用三個單獨的色彩平面來解碼的圖像的取樣的CTB和用於對取樣進行解碼的語法結構。CTB可以是取樣的NxN區塊(針對N的某個值),使得分量到CTB的分割是一種劃分。分量是來自以4:2:0、4:2:2或4:4:4的色彩格式組成圖像的三個陣列(一個亮度和兩個色度)中的一個陣列的陣列或單取樣,或者是以單色格式組成圖像的陣列的陣列或單取樣。在一些實例中,解碼區塊是取樣的M×N區塊(針對M和N的某些值),使得CTB到解碼區塊的分割是一種劃分。
在圖像中的區塊(例如,CTU或CU)可以以各種方式來分類。作為一個實例,磚塊可以是指在圖像中的特定瓦片(tile)內的CTU行的矩形區域。瓦片可以是在圖像中的特定瓦片列和特定瓦片行內的CTU的矩形區域。瓦片列是指CTU的具有等於圖像的高度的高度和由語法元素指定的寬度的矩形區域(例如,諸如在圖像參數集中)。瓦片行是指CTU的具有由語法元素指定的高度(例如,諸如在圖像參數集中)和等於圖像的寬度的寬度的矩形區域。
在一些實例中,瓦片可以被劃分為多個磚塊,該多個磚塊之每一者磚塊可以包括在瓦片內的一或多個CTU行。未被劃分為多個磚塊的瓦片亦可以稱為磚塊。然而,是瓦片的真實子集的磚塊不可以稱為瓦片。
在圖像中的磚塊亦可以以切片來排列。切片可以是圖像的可以唯一地被包含在單個網路抽象層(NAL)單元中的整數個磚塊。在一些實例中,切片包括數個完整的瓦片或者僅包括一個瓦片的一系列連續的完整磚塊。
本案內容可以互換地使用「NxN」和「N乘N」來指區塊(諸如CU或其他視訊區塊)在垂直和水平維度態樣的取樣規模,例如,16x16個取樣或16乘16個取樣。通常,16x16 CU在垂直方向上將具有16個取樣(y=16),以及在水平方向上將具有16個取樣(x=16)。同樣地,NxN CU通常在垂直方向上具有N個取樣,以及在水平方向上具有N個取樣,其中N表示非負整數值。在CU中的取樣可以按行和列來排列。此外,CU不一定需要在水平方向上具有與在垂直方向上相同的數量的取樣。例如,CU可以包括NxM個取樣,其中M不一定等於N。
視訊編碼器200對用於CU的表示預測及/或殘差資訊以及其他資訊的視訊資料進行編碼。預測資訊指示CU是如何預測的以便形成用於CU的預測區塊。殘差資訊通常表示在編碼之前的CU與預測區塊的取樣之間的逐取樣差。
為了預測CU,視訊編碼器200通常可以經由訊框間預測或訊框內預測來形成用於CU的預測區塊。訊框間預測通常是指根據先前解碼的圖像的資料來預測CU,而訊框內預測通常是指根據同一圖像的先前解碼的資料來預測CU。為了執行訊框間預測,視訊編碼器200可以使用一或多個運動向量來產生預測區塊。視訊編碼器200通常可以執行運動搜尋,以例如根據在CU與參考區塊之間的差異來辨識與CU緊密匹配的參考區塊。視訊編碼器200可以使用絕對誤差和(SAD)、差的平方和(SSD)、平均絕對差(MAD)、均方差(MSD),或其他此種差計算來計算差度量,以決定參考區塊是否與當前CU緊密匹配。在一些實例中,視訊編碼器200可以使用單向預測或雙向預測來預測當前CU。
VVC的一些實例亦提供可以被認為是訊框間預測模式的仿射運動補償模式。在仿射運動補償模式下,視訊編碼器200可以決定表示非平移運動(諸如放大或縮小、旋轉、透視運動或其他不規則的運動類型)的兩個或更多個運動向量。
為了執行訊框內預測,視訊編碼器200可以選擇訊框內預測模式來產生預測區塊。VVC的一些實例提供六十七種訊框內預測模式,包括各種方向性模式,以及平面模式和DC模式。通常,視訊編碼器200選擇訊框內預測模式,該訊框內預測模式描述要根據其來預測當前區塊(例如,CU的區塊)的取樣、與當前區塊相鄰的取樣。假定視訊編碼器200以光柵掃瞄次序(從左到右、從上到下)對CTU和CU進行解碼,則此種取樣通常可以在與當前區塊相同的圖像中在當前區塊的上方、左上方或左側。
視訊編碼器200對表示用於當前區塊的預測模式的資料進行編碼。例如,對於訊框間預測模式,視訊編碼器200可以對表示使用各種可用訊框間預測模式中的何種模式以及用於對應模式的運動資訊的資料進行編碼。對於單向或雙向訊框間預測,例如,視訊編碼器200可以使用高級運動向量預測(AMVP)或合併模式來對運動向量進行編碼。視訊編碼器200可以使用類似的模式來對用於仿射運動補償模式的運動向量進行編碼。
在預測之後(諸如對區塊的訊框內預測或訊框間預測),視訊編碼器200可以計算用於區塊的殘差資料。殘差資料(諸如殘差區塊)表示在區塊與用於區塊的預測區塊之間的逐取樣差,是使用對應的預測模式來形成的。視訊編碼器200可以將一或多個變換應用於殘差區塊,以在變換域而非取樣域中產生經變換的資料。例如,視訊編碼器200可以將離散餘弦變換(DCT)、整數變換、小波變換或概念上類似的變換應用於殘差視訊資料。另外,視訊編碼器200可以在第一變換之後應用二次變換,諸如LFNST、模式相關的不可分離二次變換(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可以以與視訊編碼器200的CABAC編碼程序基本上類似的但是相反的方式使用CABAC來對針對位元串流的語法元素的值進行解碼。語法元素可以定義用於將圖像劃分為CTU,以及根據對應的劃分結構(諸如QTBT結構)對每個CTU進行劃分的劃分資訊,以定義CTU的CU。語法元素亦可以定義用於視訊資料的區塊(例如,CU)的預測和殘差資訊。
殘差資訊可以經由例如經量化的變換係數來表示。視訊解碼器300可以對區塊的經量化的變換係數進行逆量化和逆變換以重現用於區塊的殘差區塊。在一些實例中,視訊解碼器300可以應用逆二次變換,諸如逆LFNST。視訊解碼器300使用以信號發送的預測模式(訊框內預測或訊框間預測)和相關的預測資訊(例如,用於訊框間預測的運動資訊)來形成用於區塊的預測區塊。視訊解碼器300接著可以對預測區塊和殘差區塊(在逐取樣的基礎上)進行組合以重現原始區塊。視訊解碼器300可以執行額外的處理,諸如執行去區塊程序以減少沿著區塊的邊界的視覺偽影。
根據本案內容的技術,如將在下文更詳細地解釋的,方法包括以下步驟:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。
在本案內容的另一實例中,設備包括被配置為儲存視訊資料的記憶體,以及在電路系統中實現並且耦合到記憶體的一或多個處理器,一或多個處理器被配置為:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。
在本案內容的另一實例中,儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器進行以下操作:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。
在本案內容的另一實例中,設備包括:用於決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的構件;用於決定用於色度區塊的變換跳過模式是否被啟用的構件;用於基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值的構件;及用於在不應用逆LFNST的情況下對色度區塊進行解碼的構件。
在本案內容的另一實例中,方法包括以下步驟:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
在本案內容的另一實例中,設備包括被配置為儲存視訊資料的記憶體,以及在電路系統中實現並且耦合到記憶體的一或多個處理器,一或多個處理器被配置為:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
在本案內容的另一實例中,儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器進行以下操作:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
在本案內容的另一實例中,設備包括:用於決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼的構件;用於決定是否針對色度區塊啟用變換跳過模式的構件;用於基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引的構件;及用於在不應用LFNST的情況下對色度區塊進行編碼的構件。
本案內容通常可能涉及「以信號發送」某些資訊(諸如語法元素)。術語「以信號發送」通常可以指對用於語法元素的值及/或用於對經編碼的視訊資料進行解碼的其他資料的傳送。亦即,視訊編碼器200可以在位元串流中以信號發送用於語法元素的值。通常,以信號發送是指在位元串流中產生值。如上文所指出的,源設備102可以基本上即時地或不是即時地(諸如可能在將語法元素儲存到儲存設備112以由目標設備116稍後取得時發生)將位元串流傳輸到目標設備116。
圖2A和圖2B是圖示示例性四叉樹二叉樹(QTBT)結構130以及對應的解碼樹單元(CTU)132的概念圖。實線表示四叉樹分離,以及虛線指示二叉樹分離。在二叉樹的每個分離(亦即,非葉)節點中,以信號發送一個標誌以指示使用何種分離類型(亦即,水平或垂直),其中在該實例中,0指示水平分離以及1指示垂直分離。對於四叉樹分離,不需要指示分離類型,因為四叉樹節點將區塊水平地以及垂直地分離為具有相等大小的4個子區塊。相應地,視訊編碼器200可以對以下各項進行編碼,而視訊解碼器300可以對以下各項進行解碼:用於QTBT結構130的區域樹級別(亦即,實線)的語法元素(諸如分離資訊),以及用於QTBT結構130的預測樹級別(亦即,虛線)的語法元素(諸如分離資訊)。視訊編碼器200可以對用於由QTBT結構130的終端葉節點表示的CU的視訊資料(諸如預測和變換資料)進行編碼,以及視訊解碼器300可以對該視訊資料進行解碼。
通常,圖2B的CTU 132可以與定義與QTBT結構130的處於第一級別和第二級別的節點相對應的區塊的大小的參數相關聯。該等參數可以包括CTU大小(表示CTU 132以取樣為單位的大小)、最小四叉樹大小(MinQTSize,其表示最小允許的四叉樹葉節點大小)、最大二叉樹大小(MaxBTSize,其表示最大允許的二叉樹根節點大小)、最大二叉樹深度(MaxBTDepth,其表示最大允許的二叉樹深度),以及最小二叉樹大小(MinBTSize,其表示最小允許的二叉樹葉節點大小)。
QTBT結構的與CTU相對應的根節點可以在QTBT結構的第一級別處具有四個子節點,每個子節點可以是根據四叉樹劃分來劃分的。亦即,第一級別的節點是葉節點(沒有子節點)或者具有四個子節點。QTBT結構130的實例將此種節點表示為包括具有用於分支的實線的父節點和子節點。若第一級別的節點不大於最大允許的二叉樹根節點大小(MaxBTSize),則該等節點可以經由相應的二叉樹來進一步劃分。對一個節點的二叉樹分離可以進行反覆運算,直到由分離產生的節點達到最小允許的二叉樹葉節點大小(MinBTSize)或最大允許的二叉樹深度(MaxBTDepth)。QTBT結構130的實例將此種節點表示為具有用於分支的虛線。二叉樹葉節點被稱為解碼單元(CU),該CU用於預測(例如,圖像內預測或圖像間預測)和變換,而不進行任何進一步劃分。如上文所論述的,CU亦可以稱為「視訊區塊」或「區塊」。
在QTBT劃分結構的一個實例中,CTU大小被設置為128x128(亮度取樣和兩個對應的64x64色度取樣),MinQTSize被設置為16x16,MaxBTSize被設置為64x64,MinBTSize(對於寬度和高度兩者)被設置為4,以及MaxBTDepth被設置為4。四叉樹劃分被首先應用於CTU以產生四叉樹葉節點。四叉樹葉節點可以具有從16x16(亦即,MinQTSize)到128x128(亦即,CTU大小)的大小。若葉四叉樹節點為128x128,則葉四叉樹節點將不由二叉樹進一步分離,因為該大小超過MaxBTSize(亦即,在該實例中為64x64)。否則,葉四叉樹節點將由二叉樹進一步劃分。因此,四叉樹葉節點亦是用於二叉樹的根節點,以及具有為0的二叉樹深度。當二叉樹深度達到MaxBTDepth(在該實例中為4)時,不允許進一步分離。當二叉樹節點具有等於MinBTSize(在該實例中為4)的寬度時,此情形意味著不允許進一步的水平分離。類似地,具有等於MinBTSize的高度的二叉樹節點意味著不允許針對該二叉樹節點的進一步垂直分離。如上文所指出的,二叉樹的葉節點稱為CU,以及是在不進一步劃分的情況下根據預測和變換來進一步處理的。
一種類型的劃分是單樹劃分。在單樹劃分中,視訊資料的亮度區塊和兩個對應的色度區塊(Cb和Cr)是以相同的方式來劃分的。例如,當視訊編碼器200分離亮度區塊時,視訊編碼器200將相同的分離應用於對應的色度區塊。另一類型的劃分是分離樹劃分,諸如雙樹劃分。利用雙樹劃分,視訊編碼器200可以以與對應的色度區塊不同的方式來劃分亮度區塊。例如,視訊編碼器200可以將分離應用於亮度區塊,而不將相同的分離應用於對應的色度區塊。
圖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的單元可以被實現為一或多個電路或邏輯元件,作為硬體電路系統的一部分,或者作為處理器、ASIC或FPGA的一部分。此外,視訊編碼器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通常協調多個編碼通路(pass),以測試編碼參數的組合以及針對此種組合所得到的率失真值。編碼參數可以包括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的大小為2Nx2N,則視訊編碼器200可以支援用於訊框內預測的2Nx2N或NxN的PU大小,以及用於訊框間預測的2Nx2N、2NxN、Nx2N、NxN或類似的對稱的PU大小。視訊編碼器200和視訊解碼器300亦可以支援針對用於訊框間預測的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不對稱劃分。
在模式選擇單元202不將CU進一步劃分為PU的實例中,每個CU可以與亮度解碼區塊和對應的色度解碼區塊相關聯。如上文,CU的大小可以是指CU的亮度解碼區塊的大小。視訊編碼器200和視訊解碼器300可以支援2Nx2N、2NxN或Nx2N的CU大小。
對於其他視訊解碼技術(舉幾個實例,諸如區塊內複製模式解碼、仿射模式解碼和線性模型(LM)模式解碼),模式選擇單元202經由與解碼技術相關聯的相應的單元來產生用於正進行編碼的當前區塊的預測區塊。在一些實例中(諸如調色板模式解碼),模式選擇單元202可以不產生預測區塊,而是替代地基於所選擇的調色板來產生指示以其重構區塊的方式的語法元素。在此種模式下,模式選擇單元202可以將該等語法元素提供給熵編碼單元220以進行編碼。
如上文所描述的,殘差產生單元204接收用於當前區塊和對應的預測區塊的視訊資料。殘差產生單元204接著產生用於當前區塊的殘差區塊。為了產生殘差區塊,殘差產生單元204計算在預測區塊與當前區塊之間的逐取樣差。
變換處理單元206將一或多個變換應用於殘差區塊,以產生變換係數的區塊(本文中稱為「變換係數區塊」)。變換處理單元206可以將各種變換應用於殘差區塊,以形成變換係數區塊。例如,變換處理單元206可以將離散餘弦變換(DCT)、方向變換、Karhunen-Loeve變換(KLT),或概念上類似的變換應用於殘差區塊。在一些實例中,變換處理單元206可以對殘差區塊執行多種變換,例如,初級變換和二次變換(諸如旋轉變換或LFNST)。在一些實例中,變換處理單元206可以基於視訊編碼器200決定使用雙樹劃分來對視訊資料的色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來不對色度區塊應用LFNST。在一些實例中,變換處理單元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)解碼操作、指數哥倫布編碼操作,或另一類型的熵編碼操作。在一些實例中,熵編碼單元220可以在旁路模式下操作,其中語法元素未進行熵編碼。
視訊編碼器200可以輸出位元串流,該位元串流包括重構切片或圖像的區塊所需要的經熵編碼的語法元素。特別是,熵編碼單元220可以輸出位元串流。
上文所描述的操作是相對於區塊來描述的。此種描述應當被理解為是用於亮度解碼區塊及/或色度解碼區塊的操作。如上文所描述的,在一些實例中,亮度解碼區塊和色度解碼區塊是CU的亮度分量和色度分量。在一些實例中,亮度解碼區塊和色度解碼區塊是PU的亮度分量和色度分量。
在一些實例中,關於亮度解碼區塊執行的操作不需要針對色度解碼區塊而重複。作為一個實例,辨識針對亮度解碼區塊的運動向量(MV)和參考圖像的操作不需要為了辨識針對色度區塊的MV和參考圖像而重複。準確而言,針對亮度解碼區塊的MV可以縮放以決定針對色度區塊的MV,以及參考圖像可以是相同的。作為另一實例,用於亮度解碼區塊和色度解碼區塊的訊框內預測程序可以是相同的。
視訊編碼器200表示被配置為對視訊資料進行編碼的設備的實例,該設備包括被配置為儲存視訊資料的記憶體以及一或多個處理單元,該一或多個處理器是在電路系統中實現的並且被配置為進行以下操作:決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼;決定是否針對色度區塊啟用變換跳過模式;基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,來避免以信號發送用於色度區塊的低頻不可分離變換(LFNST)索引;及在不應用LFNST的情況下對色度區塊進行編碼。
圖4是圖示可以執行本案內容的技術的示例性視訊解碼器300的方塊圖。圖4是出於解釋的目的而提供的,以及不對在本案內容中廣泛地舉例說明和描述的技術進行限制。出於解釋的目的,本案內容根據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的單元可以被實現為一或多個電路或邏輯元件,作為硬體電路系統的一部分,或者作為處理器、ASIC或FPGA的一部分。此外,視訊解碼器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,包括SDRAM、MRAM、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)、逆LFNST、逆旋轉變換、逆方向變換或另一逆變換應用於變換係數區塊。在一些實例中,逆變換處理單元308可以基於視訊解碼器300決定色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,而不對色度區塊應用逆LFNST。在一些實例中,當用於區塊(例如,亮度區塊或色度區塊)的變換跳過標誌被啟用時,逆變換處理單元308可以不對區塊應用逆變換。
此外,預測處理單元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 314的經解碼的圖像(例如,經解碼的視訊),以用於在顯示設備(諸如圖1的顯示設備118)上的後續呈現。
視訊解碼器300表示視訊解碼設備的實例,該視訊解碼設備包括被配置為儲存視訊資料的記憶體以及一或多個處理單元,該一或多個處理單元是在電路系統中實現的並且被配置為進行以下操作:決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的;決定用於色度區塊的變換跳過模式是否被啟用;基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的低頻不可分離變換(LFNST)索引的值;及在不應用逆LFNST的情況下對色度區塊進行解碼。
如上文所描述的,本案內容的示例性技術與變換解碼有關,該變換解碼通常是現代視訊壓縮標準的基本元素。本案內容描述用於對用於變換解碼的語法元素進行編碼和解碼的技術,該等語法元素可以由視訊轉碼器(諸如視訊編碼器200或視訊解碼器300)用於指定及/或決定在用於編碼/解碼的多個變換候選之中選擇的變換。由於本案內容的技術意欲基於可用的側資訊(side information)(諸如訊框內模式)來減少信號傳遞管理負擔,因此本案內容的技術可以提高解碼效率,以及可以在高級視訊轉碼器(包括對HEVC和VVC草案7的擴展)中使用。
在VVC草案7中,用於色度區塊的低頻不可分離變換(LFNST)信號傳遞依賴於亮度變換跳過標誌。用於色度區塊的LFNST信號傳遞對亮度變換跳過標誌的依賴性可能不是期望的,特別是對於以分離樹劃分進行解碼的色度區塊(例如,當對亮度通道和色度通道是使用基於分離樹的劃分進行解碼的時)。
在VVC草案7中,若滿足以下條件集合,則以信號發送LFNST索引(例如,表示可以應用何者LFNST變換的索引):
     LfnstDcOnly = 1  
     LfnstZeroOutSigCoeffFlag = 1  
     MtsZeroOutSigCoeffFlag = 1  
      transform_tree( x0, y0, cbWidth, cbHeight, treeType, chType )  
     lfnstWidth = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbWidth / SubWidthC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_VER_SPLIT ) ? cbWidth /                         NumIntraSubPartitions : cbWidth )  
     lfnstHeight = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbHeight / SubHeightC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_HOR_SPLIT) ? cbHeight /                         NumIntraSubPartitions : cbHeight )  
     if( Min( lfnstWidth, lfnstHeight )  >=  4  &&  sps_lfnst_enabled_flag  = =  1  &&         CuPredMode[ chType ][ x0 ][ y0 ]  = =  MODE_INTRA  &&         transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0  &&          ( treeType  !=  DUAL_TREE_CHROMA  | |  !intra_mip_flag[ x0 ][ y0 ]  | |             Min( lfnstWidth, lfnstHeight )  >=  16 )   &&         Max( cbWidth, cbHeight )  <=  MaxTbSizeY) {  
        if( ( IntraSubPartitionsSplitType  !=  ISP_NO_SPLIT  | |  LfnstDcOnly  = =  0 )  &&           LfnstZeroOutSigCoeffFlag  = =  1 )  
           lfnst_idx ae(v)
     }  
其中transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0(例如,變換跳過標誌為0指示未應用變換跳過模式)是視訊編碼器200可以根據其來決定是否以信號發送lfnst_idx的條件中的一個條件。例如,根據VVC草案7,視訊編碼器200可以基於用於亮度分量的變換跳過(例如,對於cIdx=0的transform_skip_flag[ x0 ][ y0 ][ cIdx ]),來決定是否以信號發送lfnst_idx。
本案內容描述可以在VVC或其他視訊解碼標準中使用的、用於對用於變換解碼的語法元素進行編碼和解碼的若干技術。
本案內容的技術闡述當色度區塊是以與亮度區塊分離的樹模式進行解碼的時的不同的LFNST索引信號傳遞。特別是,本案內容描述可以基於以下規則集合的組合來定義的LFNST信號傳遞設計。視訊編碼器200可以應用該等規則中的任何規則來決定何時以信號發送LFNST索引,以及視訊解碼器300可以應用該等規則中的任何規則來決定何時解析LFNST索引或者何時將LFNST標誌推斷為特定值(例如,零)。
在一些實例中,若分離樹(例如,雙樹)劃分用於亮度通道和色度通道,則以下規則可以適用: 1)若用於亮度分量的變換跳過標誌transform_skip_flag[ x0 ][ y0 ][ 0 ]被禁用(例如,為0,指示未使用變換跳過模式),則視訊編碼器200可以產生和以信號發送LFNST索引,並且將LFNST應用於亮度通道。若用於亮度的變換跳過標誌被啟用,則視訊編碼器200可以不以信號發送LFNST索引(或標誌)亦不應用LFNST,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST;及 2)若用於兩個色度分量(Cb和Cr)的變換跳過標誌(transform_skip_flag[ x0 ][ y0 ][ 1 ]和transform_skip_flag[ x0 ][ y0 ][ 2 ])中的至少一項被禁用(例如,為0,指示未使用變換跳過模式),則視訊編碼器200可以產生和以信號發送LFNST索引,並且將LFNST應用於色度通道。在此種情況下,視訊解碼器300可以解析LFNST索引並且應用逆LFNST。換言之,若Cb變換跳過標誌和Cr變換跳過標誌兩者皆被啟用(例如,transform_skip_flag[ x0 ][ y0 ][ 1 ]和transform_skip_flag[ x0 ][ y0 ][ 2 ]兩者皆等於1),則視訊編碼器200可以不以信號發送LFNST索引(或標誌)亦不應用LFNST,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST。
在一些實例中,若單樹劃分用於亮度通道和色度通道兩者,則可以應用以下規則。若用於亮度分量的變換跳過標誌transform_skip_flag[ x0 ][ y0 ][ 0 ]被禁用,則視訊編碼器200可以產生和以信號發送LFNST索引,並且將LFNST應用於亮度通道和色度通道兩者。若用於亮度的變換跳過標誌被啟用,則視訊編碼器200可以不以信號發送LFNST索引(或標誌)亦不應用LFNST,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST。
在一些實例中,若單樹劃分用於亮度通道和色度通道兩者,則可以應用以下規則。若用於三個分量(Y、Cb和Cr)的變換跳過標誌(transform_skip_flag[ x0 ][ y0 ][ 0 ]、transform_skip_flag[ x0 ][ y0 ][ 1 ]和transform_skip_flag[ x0 ][ y0 ][ 2 ])中的至少一項被禁用,則視訊編碼器200可以產生和以信號發送LFNST索引,並且將LFNST應用於亮度通道和色度通道兩者。在此種情況下,視訊解碼器300可以解析LFNST索引並且應用逆LFNST。換言之,若所有三個(Y、Cb和Cr)變換跳過標誌皆被啟用(例如,transform_skip_flag[ x0 ][ y0 ][ 0 ]、transform_skip_flag[ x0 ][ y0 ][ 1 ]和transform_skip_flag[ x0 ][ y0 ][ 2 ]全部皆等於1),則視訊編碼器200可以不以信號發送LFNST索引(或標誌)亦不應用LFNST,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST。
在另一替代方案中,僅當所有可用的變換跳過標誌皆被禁用時,視訊編碼器200才可以產生和以信號發送LFNST索引,並且應用LFNST。在此種情況下,視訊解碼器300可以解析LFNST索引並且應用逆LFNST。例如,在使用分離樹(例如,雙樹)劃分的情況下,以下規則可以適用: 1)若用於亮度分量的變換跳過標誌transform_skip_flag[ x0 ][ y0 ][ 0 ]被禁用,則視訊編碼器200可以產生和以信號發送LFNST索引,以及將LFNST應用於亮度通道。在此種情況下,視訊解碼器300可以解析LFNST索引並且應用逆LFNST。若用於亮度的變換跳過標誌被啟用,則視訊編碼器200可以不產生和以信號發送LFNST索引(或標誌)亦不應用LFNST,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST;及 2)若用於兩個色度分量(Cb和Cr)的兩個變換跳過標誌(transform_skip_flag[ x0 ][ y0 ][ 1 ]和transform_skip_flag[ x0 ][ y0 ][ 2 ])皆被禁用,則視訊編碼器200可以產生和以信號發送LFNST索引,並且將LFNST應用於色度通道。在此種情況下,視訊解碼器300可以解析LFNST索引並且應用逆LFNST。換言之,若Cb變換跳過標誌和Cr變換跳過標誌中的至少一項被啟用(例如,transform_skip_flag[ x0 ][ y0 ][ 1 ]和transform_skip_flag[ x0 ][ y0 ][ 2 ]中的至少一項等於1),則視訊編碼器200可以不產生和以信號發送LFNST索引(或標誌)亦不應用LFNST,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST。
在另一實例中,當使用單樹劃分模式時,針對色度通道標準地禁用LFNST。換言之,在單樹模式下,視訊編碼器200或視訊解碼器300可以僅將LFNST用於亮度分量。
根據本案內容的技術,可以對VVC草案7進行以下改變。增加項以<ADD>開始以及以</ADD>結束。刪除項(亦即,文字的移除)以<DELETE>開始以及以</DELETE>結束:
在一個實例中,可以按如下改變VVC草案7: 7.3.9.5解碼單元語法 …
    LfnstDcOnly = 1  
     LfnstZeroOutSigCoeffFlag = 1  
     MtsZeroOutSigCoeffFlag = 1  
      transform_tree( x0, y0, cbWidth, cbHeight, treeType, chType )  
     lfnstWidth = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbWidth / SubWidthC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_VER_SPLIT ) ? cbWidth /                         NumIntraSubPartitions : cbWidth )  
     lfnstHeight = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbHeight / SubHeightC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_HOR_SPLIT) ? cbHeight /                         NumIntraSubPartitions : cbHeight )  
<ADD> LfnstTransformNotSkipFlag =                   treeType  !=  DUAL_TREE_CHROMA ? transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0                 : ( transform_skip_flag[ x0 ][ y0 ][ 1 ]  = =  0 || transform_skip_flag[ x0 ][ y0 ][ 2 ]  = =  0 )  </ADD>        
     if( Min( lfnstWidth, lfnstHeight )  >=  4  &&  sps_lfnst_enabled_flag  = =  1  &&         CuPredMode[ chType ][ x0 ][ y0 ]  = =  MODE_INTRA  &&         <ADD> LfnstTransformNotSkipFlag </ADD>  <DELETE> transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0 </DELETE>  &&          ( treeType  !=  DUAL_TREE_CHROMA  | | ( !intra_mip_flag[ x0 ][ y0 ]  | |             Min( lfnstWidth, lfnstHeight )  >=  16 ) )   &&         Max( cbWidth, cbHeight )  <=  MaxTbSizeY) {  
        if( ( IntraSubPartitionsSplitType  !=  ISP_NO_SPLIT  | |  LfnstDcOnly  = =  0 )  &&            LfnstZeroOutSigCoeffFlag  = =  1 )  
           lfnst_idx ae(v)
     }  
在另一實例中,可以對VVC草案7進行如下改變: 7.3.9.5解碼單元語法 …
     LfnstDcOnly = 1  
     LfnstZeroOutSigCoeffFlag = 1  
     MtsZeroOutSigCoeffFlag = 1  
      transform_tree( x0, y0, cbWidth, cbHeight, treeType, chType )  
     lfnstWidth = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbWidth / SubWidthC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_VER_SPLIT ) ? cbWidth /                         NumIntraSubPartitions : cbWidth )  
     lfnstHeight = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbHeight / SubHeightC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_HOR_SPLIT) ? cbHeight /                         NumIntraSubPartitions : cbHeight )  
       <ADD>    LfnstTransformNotSkipFlag = treeType  ==  SINGLE_TREE ?             ( transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0  | |  transform_skip_flag[ x0 ][ y0 ][ 1 ]  = =  0 | |                transform_skip_flag[ x0 ][ y0 ][ 2 ]  = =  0 )  :               ( treeType  !=  DUAL_TREE_CHROMA ? transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0               : ( transform_skip_flag[ x0 ][ y0 ][ 1 ]  = =  0 | |  transform_skip_flag[ x0 ][ y0 ][ 2 ]  = =  0 )) </ADD>  
     if( Min( lfnstWidth, lfnstHeight )  >=  4  &&  sps_lfnst_enabled_flag  = =  1  &&         CuPredMode[ chType ][ x0 ][ y0 ]  = =  MODE_INTRA  &&         <ADD>  LfnstTransformNotSkipFlag </ADD> <DELETE> transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0 </DELETE>  &&          ( treeType  !=  DUAL_TREE_CHROMA  | | ( !intra_mip_flag[ x0 ][ y0 ]  | |             Min( lfnstWidth, lfnstHeight )  >=  16 ) )   &&         Max( cbWidth, cbHeight )  <=  MaxTbSizeY) {  
        if( ( IntraSubPartitionsSplitType  !=  ISP_NO_SPLIT  | |  LfnstDcOnly  = =  0 )  &&            LfnstZeroOutSigCoeffFlag  = =  1 )  
           lfnst_idx ae(v)
     }  
在一些實例中,用於對LFNST索引進行編碼和解碼的以下條件可以適用: 1)在單樹劃分模式中,針對經色度解碼的區塊禁用LFNST。在此種情況下,視訊編碼器200可以不產生和以信號發送LFNST索引(或標誌)亦不將LFNST應用於在單樹劃分模式中的經色度解碼的區塊,以及視訊解碼器300可以推斷LFNST索引(或標誌)為0並且不應用逆LFNST。此情形可以在VVC草案文字中反映為(其中增加項以<ADD>開始以及以</ADD>結束): <ADD>o若treeType等於SINGLE_TREE, applyLfnstFlag = ( lfnst_idx > 0 && cIdx = = 0 ) ? 1 : 0 </ADD> 其中LFNST僅應用於在亮度分量中的區塊(亦即,<ADD> cIdx = = 0 </ADD>),以及針對色度分量是禁用的(亦即,不可用於<ADD> cIdx > 0 </ADD>)。 2)在單樹劃分模式中,當亮度變換跳過標誌被啟用時,視訊編碼器200可以不產生和以信號發送LFNST索引(或標誌)亦不應用LFNST。在此種情況下,視訊解碼器300可以推斷LFNST索引(或標誌)的值為0並且不應用逆LFNST。 3)在分離樹(雙樹)模式中,視訊編碼器200可以根據以下各項來分別針對亮度通道和色度通道產生和以信號發送LFNST:a)對於亮度通道:當亮度變換跳過標誌被啟用時,視訊編碼器200可以不產生和以信號發送LFNST索引(或標誌)亦不應用LFNST(在此種情況下,視訊解碼器300可以不解析LFNST索引亦不應用逆LFNST);及b)對於色度通道:若用於色度分量(Cb和Cr)的變換跳過標誌中的至少一項被啟用(若被設置為1),則視訊編碼器200可以不以信號發送LFNST索引(或標誌)亦不應用LFNST。在此種情況下,視訊解碼器300可以推斷LFNST索引(或標誌)為0。換言之,當用於Cb和Cr色度分量的兩個變換跳過標誌皆被禁用(若其被設置為0)時,視訊編碼器200可以以信號發送LFNST索引並且應用LFNST。在此種情況下,視訊解碼器300可以解析LFNST索引並且應用逆LFNST。
上述實例可以反映在VVC草案7文字中(增加項以<ADD>開始以及以</ADD>結束。刪除項(亦即,文字的移除)以<DELETE>開始以及以</DELETE>結束。) 7.3.9.5解碼單元語法 …
     LfnstDcOnly = 1  
     LfnstZeroOutSigCoeffFlag = 1  
     MtsZeroOutSigCoeffFlag = 1  
      transform_tree( x0, y0, cbWidth, cbHeight, treeType, chType )  
     lfnstWidth = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbWidth / SubWidthC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_VER_SPLIT ) ? cbWidth /                         NumIntraSubPartitions : cbWidth )  
     lfnstHeight = ( treeType  = =  DUAL_TREE_CHROMA ) ? cbHeight / SubHeightC                       : ( ( IntraSubPartitionsSplitType  = =  ISP_HOR_SPLIT) ? cbHeight /                         NumIntraSubPartitions : cbHeight )  
        <ADD>  LfnstTransformNotSkipFlag = ( treeType  !=  DUAL_TREE_CHROMA ?          transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0 : ( transform_skip_flag[ x0 ][ y0 ][ 1 ]  = =  0  &&          transform_skip_flag[ x0 ][ y0 ][ 2 ]  = =  0 )) </ADD>  
     if( Min( lfnstWidth, lfnstHeight )  >=  4  &&  sps_lfnst_enabled_flag  = =  1  &&         CuPredMode[ chType ][ x0 ][ y0 ]  = =  MODE_INTRA  &&         <ADD> LfnstTransformNotSkipFlag = = 1</ADD> <DELETE>   transform_skip_flag[ x0 ][ y0 ][ 0 ]  = =  0 </DELETE> &&          ( treeType  !=  DUAL_TREE_CHROMA  | | ( !intra_mip_flag[ x0 ][ y0 ]  | |             Min( lfnstWidth, lfnstHeight )  >=  16 ) )   &&         Max( cbWidth, cbHeight )  <=  MaxTbSizeY) {  
        if( ( IntraSubPartitionsSplitType  !=  ISP_NO_SPLIT  | |  LfnstDcOnly  = =  0 )  &&            LfnstZeroOutSigCoeffFlag  = =  1 )  
           lfnst_idx ae(v)
     }  
8.7.3用於變換係數的縮放程序 … 將(nTbW)x(nTbH)陣列dz設置為等於(nTbW)x(nTbH)陣列TransCoeffLevel[ xTbY ][ yTbY ][ cIdx ]。 <ADD>變數applyLfnstFlag是按如下所列推導的: –若treeType等於SINGLE_TREE, 則applyLfnstFlag = ( lfnst_idx > 0 && cIdx = = 0 ) ? 1 : 0 –否則, applyLfnstFlag = ( lfnst_idx > 0 ) ? 1 : 0 </ADD> 對於對縮放的變換係數d[ x ][ y ]的推導,其中x = 0..nTbW − 1,y = 0..nTbH − 1,以下適用: –中間縮放因數m[ x ][ y ]是按如下所列推導的: –若以下條件中的一或多個條件為真,則m[ x ][ y ]被設置為16: –sps_scaling_list_enabled_flag等於0。 –pic_scaling_list_present_flag等於0。 –transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]等於1。 –scaling_matrix_for_lfnst_disabled_flag等於1並且<ADD>  applyLfnstFlag </ADD> <DELETE> lfnst_idx[ xTbY ][ yTbY ] </DELETE>不等於0。 –否則,以下適用: … 8.7.4 用於縮放的變換係數的變換程序 8.7.4.1 概述 該程序的輸入是: –亮度位置( xTbY, yTbY ),其指定當前亮度變換區塊的相對於當前圖像的左上亮度取樣的左上取樣, –變數nTbW,其指定當前變換區塊的寬度, –變數nTbH,其指定當前變換區塊的高度, –變數cIdx,其指定當前區塊的色彩分量, –縮放的變換係數的(nTbW)x(nTbH)陣列d[ x ][ y ],其中x = 0..nTbW − 1,y = 0..nTbH − 1。 該程序的輸出是殘差取樣的(nTbW)x(nTbH)陣列res[ x ][ y ],其中x = 0..nTbW − 1,y = 0..nTbH − 1。 <ADD>變數applyLfnstFlag是按如下所列推導的: –若treeType等於SINGLE_TREE, 則applyLfnstFlag = ( lfnst_idx > 0 && cIdx = = 0 ) ? 1 : 0 –否則, applyLfnstFlag = ( lfnst_idx > 0 ) ? 1 : 0 </ADD> 當<ADD>applyLfnstFlag不等於0</ADD> <DELETE> lfnst_idx[ xTbY ][ yTbY ]不等於0並且nTbW和nTbH兩者皆大於或等於4</DELETE>時,以下適用: –變數predModeIntra、nLfnstOutSize、log2LfnstSize、nLfnstSize和nonZeroSize是按以下所列推導的: predModeIntra = ( cIdx = = 0 )  ?  IntraPredModeY[ xTbY ][ yTbY ]  :  IntraPredModeC[ xTbY ][ yTbY ] (1149) nLfnstOutSize = ( nTbW >= 8  &&  nTbH  >= 8 )  ?  48  :  16  (1150) log2LfnstSize = ( nTbW >= 8  &&  nTbH  >= 8 )  ?  3  :  2    (1151) nLfnstSize = 1  <<  log2LfnstSize                        (1152) nonZeroSize = ( ( nTbW = = 4  &&  nTbH  = = 4 )  | |  ( nTbW = = 8  &&  nTbH  = = 8 ) )  ?  8  :  16                  (1153) –當intra_mip_flag[ xTbY ][ yTbY ]等於1並且cIdx等於0時,predModeIntra被設置為等於INTRA_PLANAR。 –當predModeIntra等於INTRA_LT_CCLM、INTRA_L_CCLM或INTRA_T_CCLM時,predModeIntra是按如下所列推導的: –若intra_mip_flag[ xTbY + nTbW * SubWidthC / 2 ][ yTbY + nTbH * SubHeightC / 2 ]等於1,則predModeIntra被設置為INTRA_PLANAR。 –否則,若CuPredMode[ 0 ][ xTbY + nTbW * SubWidthC / 2 ][ yTbY + nTbH * SubHeightC / 2 ]等於MODE_IBC或MODE_PLT,則predModeIntra被設置為等於INTRA_DC。 –否則,predModeIntra被設置為等於IntraPredModeY[ xTbY + nTbW * SubWidthC / 2 ][ yTbY + nTbH * SubHeightC / 2 ]。 –以predModeIntra、nTbW、nTbH和cIdx作為輸入,以經修改的predModeIntra作為輸出,引動在條款8.4.5.2.6中指定的廣角訊框內預測模式映射程序。 –列表u[x]的值是按如下所列推導的,其中x=0..nonZeroSize−1: xC=DiagScanOrder[2][2][x][0]                            (1154) yC=DiagScanOrder[2][2][x][1]                            (1155) u[x]=d[xC][yC]                                         (1156) –以縮放的變換係數的輸入長度nonZeroSize、被設置為nLfnstOutSize的變換輸出長度nTrS、縮放的非零變換係數的列表u[x](其中x=0..nonZeroSize−1)以及用於LFNST集合選擇的訊框內預測模式predModeIntra作為輸入,以列表v[x](其中x=0..nLfnstOutSize−1)作為輸出,引動在條款8.7.4.2中指定的一維低頻不可分離變換程序。 –陣列d[x][y]是按如下所列推導的,其中x=0..nLfnstSize−1,y=0..nLfnstSize−1: –若predModeIntra小於或等於34,則以下適用: d[ x ][ y ] =  ( y < 4 )  ?  v[ x + ( y << log2LfnstSize ) ]  :  (1157) ( ( x < 4 )  ?  v[ 32 + x + ( ( y − 4 ) << 2 ) ]  :  d[ x ][ y ] ) –否則,以下適用: d[ x ][ y ] = ( x < 4 )  ?  v[ y + ( x << log2LfnstSize ) ]  :   (1158) ( ( y < 4 )  ?  v[ 32 + y + ( ( x − 4 ) << 2 ) ]  :  d[ x ][ y ] ) 變數implicitMtsEnabled是按如下所列推導的: –若sps_mts_enabled_flag等於1並且以下條件中的一個條件為真,則implicitMtsEnabled被設置為等於1: –IntraSubPartitionsSplitType不等於ISP_NO_SPLIT –cu_sbt_flag等於1並且Max( nTbW, nTbH )小於或等於32 –sps_explicit_mts_intra_enabled_flag等於0並且CuPredMode[ 0 ][ xTbY ][ yTbY ]等於MODE_INTRA並且<ADD> applyLfnstFlag </ADD> <DELETE>  lfnst_idx[ x0 ][ y0 ] </DELETE>等於0並且intra_mip_flag[ x0 ][ y0 ]等於0 –否則,implicitMtsEnabled被設置為等於0。 指定水平變換核心的變數trTypeHor和指定垂直變換核心的變數trTypeVer是按如下所列推導的: –若以下條件中的一或多個條件為真,則trTypeHor和trTypeVer被設置為等於0。 –cIdx大於0 –IntraSubPartitionsSplitType不等於ISP_NO_SPLIT並且<ADD>    applyLfnstFlag </ADD> <DELETE> lfnst_idx </DELETE>不等於0 –否則,若implicitMtsEnabled等於1,則以下適用: –若cu_sbt_flag等於1,則在表38中指定trTypeHor和trTypeVer,取決於cu_sbt_horizontal_flag和cu_sbt_pos_flag。 –否則(cu_sbt_flag等於0),trTypeHor和trTypeVer是按如下所列推導的: trTypeHor = ( nTbW >= 4  &&  nTbW <= 16 ) ? 1 : 0      (1159) trTypeVer = ( nTbH >= 4  &&  nTbH <= 16 ) ? 1 : 0       (1160) –否則,在表37中指定trTypeHor和trTypeVer,取決於mts_idx。 變數nonZeroW和nonZeroH是按如下所列推導的: –若<ADD> applyLfnstFlag </ADD> <DELETE>   lfnst_idx[ xTbY ][ yTbY ]不等於0,並且nTbW和nTbH兩者皆大於或等於4</DELETE>不等於0,則以下適用: nonZeroW = ( nTbW = = 4  | |  nTbH = = 4 )  ?  4  :  8      (1161) nonZeroH = ( nTbW = = 4  | |  nTbH = = 4 )  ?  4  :  8      (1162) –否則,以下適用: nonZeroW = Min( nTbW, ( trTypeHor > 0 )  ?  16  :  32 )     (1163) nonZeroH = Min( nTbH, ( trTypeVer > 0 )  ?  16  :  32 )     (1164) 殘差取樣的(nTbW)x(nTbH)陣列r是按如下所列推導的: …
圖5是圖示根據本案內容的用於色度編碼技術的示例性LFNST的流程圖。視訊編碼器200可以決定是否使用雙樹劃分來對視訊資料的色度區塊進行編碼(330)。色度區塊可以是Cb色度區塊或Cr色度區塊。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用雙樹劃分來對Cb色度區塊及/或對應的Cr色度區塊進行編碼,如上文關於圖3的實例的編碼參數所論述的。視訊編碼器200可以在位元串流中以信號發送指示Cb色度區塊及/或對應的Cr色度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊編碼器200可以決定是否針對色度區塊啟用變換跳過模式(332)。例如,視訊編碼器200可以執行不同的編碼通路(包括啟用變換跳過模式和禁用變換跳過模式),以及比較結果以決定是否針對Cb色度區塊,或Cr色度區塊,或Cb色度區塊和Cr色度區塊兩者啟用變換跳過模式。視訊編碼器200可以在位元串流中以信號發送指示是否針對Cb色度區塊,或Cr色度區塊,或Cb色度區塊和Cr色度區塊兩者啟用變換跳過模式的語法元素。
基於決定使用雙樹劃分來對色度區塊進行編碼以及決定針對色度區塊啟用變換跳過模式,視訊編碼器200可以避免以信號發送用於色度區塊的LFNST索引(334)。例如,視訊編碼器200可以不在位元串流中以信號發送LFNST索引,以及視訊解碼器300可以不解析LFNST索引,因為當用於Cb色度區塊或Cr色度區塊的至少一個變換跳過標誌被啟用時LFNST可以被禁用。視訊編碼器200可以在不應用LFNST的情況下對色度區塊進行編碼(336)。例如,變換處理單元206可以不對色度區塊應用LFNST。
在一些實例中,視訊編碼器200可以在變換處理單元206不應用LFNST的情況下對Cb色度區塊或Cr色度區塊中的對應的另一者進行編碼。換言之,若色度區塊是Cb色度區塊,則變換處理單元206可以不對對應的Cr色度區塊應用LFNST,以及若色度區塊是Cr色度區塊,則變換處理單元206可以不對對應的Cb色度區塊應用LFNST。
在一些實例中,色度區塊是第一Cb色度區塊或第一Cr色度區塊,以及視訊編碼器200可以決定是否使用雙樹劃分來對視訊資料的第二Cb色度區塊和第二Cr色度區塊進行編碼。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用雙樹劃分來對第二Cb色度區塊和第二Cr色度區塊進行編碼,如上文關於圖3的實例的編碼參數所論述的。視訊編碼器200可以在位元串流中以信號發送指示第二Cb色度區塊和第二Cr色度區塊是否是使用雙樹劃分進行編碼的語法元素。
在一些實例中,視訊編碼器200可以決定是否針對第二Cb色度區塊,或第二Cr色度區塊,或第二Cb色度區塊和第二Cr色度區塊兩者啟用變換跳過模式。例如,視訊編碼器200可以執行不同的編碼通路(包括啟用變換跳過模式和禁用變換跳過模式),以及比較結果以決定是否針對第二Cb色度區塊,或第二Cr色度區塊,或第二Cb色度區塊和第二Cr色度區塊兩者啟用變換跳過模式。視訊編碼器200可以在位元串流中以信號發送指示是否針對第二Cb色度區塊,或第二Cr色度區塊,或第二Cb色度區塊和第二Cr色度區塊兩者啟用變換跳過模式的語法元素。至少部分地基於決定使用雙樹劃分來對第二Cb色度區塊和第二Cr色度區塊進行編碼以及決定針對第二Cb色度區塊和第二Cr色度區塊兩者不啟用變換跳過模式,視訊編碼器200可以以信號發送用於第二Cb色度區塊和第二Cr色度區塊的LFNST索引。視訊編碼器200可以根據LFNST索引應用LFNST來對第二Cb色度區塊和第二Cr色度區塊進行編碼。例如,變換處理單元206可以對第二Cb色度區塊和第二Cr色度區塊應用LFNST。
在一些實例中,色度區塊是第一Cb色度區塊或第一Cr色度區塊,以及視訊編碼器200可以決定是否使用單樹劃分來對視訊資料的第二Cb色度區塊和第二Cr色度區塊進行編碼。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用雙樹劃分來對第二Cb色度區塊和第二Cr色度區塊進行編碼,如上文關於圖3的實例的編碼參數所論述的。基於決定使用單樹劃分來對第二Cb色度區塊和第二Cr色度區塊進行編碼,視訊編碼器200可以避免以信號發送LFNST索引。例如,對於使用單樹劃分的色度區塊,可以標準地禁用LFNST,因此可能不需要以信號發送LFNST索引。視訊編碼器200可以在不應用LFNST的情況下對第二Cb色度區塊和第二Cr色度區塊進行編碼。例如,變換處理單元206可以不對第二Cb色度區塊或第二Cr色度區塊應用LFNST。
在一些實例中,視訊編碼器200可以決定是否使用雙樹劃分來對視訊資料的亮度區塊進行編碼。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用雙樹劃分來對亮度區塊進行編碼,如上文關於圖3的實例的編碼參數所論述的。視訊編碼器200可以在位元串流中以信號發送指示亮度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊編碼器200可以決定是否針對亮度區塊啟用變換跳過模式。例如,視訊編碼器200可以執行不同的編碼通路(包括啟用變換跳過模式和禁用變換跳過模式),以及比較結果以決定是否針對亮度區塊啟用變換跳過模式。視訊編碼器200可以以信號發送指示變換跳過模式是否被啟用用於亮度區塊的語法元素。基於決定使用雙樹劃分來對亮度區塊進行編碼以及決定針對亮度區塊啟用變換跳過模式,視訊編碼器200可以避免以信號發送用於亮度區塊的LFNST索引。視訊編碼器可以在不應用LFNST的情況下對亮度區塊進行編碼。例如,變換處理單元206可以不對亮度區塊應用LFNST。
在一些實例中,視訊編碼器200可以決定是否使用雙樹劃分來對視訊資料的亮度區塊進行編碼。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用雙樹劃分來對亮度區塊進行編碼,如上文關於圖3的實例的編碼參數所論述的。視訊編碼器200可以在位元串流中以信號發送指示亮度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊編碼器200可以決定是否針對亮度區塊啟用變換跳過模式。例如,視訊編碼器200可以執行不同的編碼通路(包括啟用變換跳過模式和禁用變換跳過模式),以及比較結果以決定是否針對亮度區塊啟用變換跳過模式。視訊編碼器200可以以信號發送指示變換跳過模式是否被啟用用於亮度區塊的語法元素。至少部分地基於決定使用雙樹劃分來對亮度區塊進行編碼以及決定不針對亮度區塊啟用變換跳過模式,視訊編碼器200可以以信號發送用於亮度區塊的LFNST索引。視訊編碼器200可以根據LFNST索引應用LFNST來對亮度區塊進行編碼。例如,變換處理單元206可以對亮度區塊應用LFNST。
在一些實例中,視訊編碼器200可以決定是否使用單樹劃分來對視訊資料的亮度區塊進行編碼。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用單樹劃分來對亮度區塊進行編碼。視訊編碼器200可以在位元串流中以信號發送指示亮度區塊是否是使用單樹劃分進行編碼的語法元素。視訊編碼器200可以決定是否針對亮度區塊啟用變換跳過模式。例如,視訊編碼器200可以執行不同的編碼通路(包括啟用變換跳過模式和禁用變換跳過模式),以及比較結果以決定是否針對亮度區塊啟用變換跳過模式。視訊編碼器200可以以信號發送指示變換跳過模式是否被啟用用於亮度區塊的語法元素。基於決定使用單樹劃分來對亮度區塊進行編碼以及決定針對亮度區塊啟用變換跳過模式,視訊編碼器200可以避免以信號發送用於亮度區塊的LFNST索引。視訊編碼器200可以在不應用LFNST的情況下對亮度區塊進行編碼。例如,變換處理單元206可以不對亮度區塊應用LFNST。
在一些實例中,視訊編碼器200可以決定是否使用單樹劃分來對視訊資料的亮度區塊進行編碼。例如,視訊編碼器200可以利用對視訊資料的不同劃分來執行不同的編碼通路,以及比較結果以決定是否使用單樹劃分來對亮度區塊進行編碼。視訊編碼器200可以在位元串流中以信號發送指示亮度區塊是否是使用單樹劃分進行編碼的語法元素。視訊編碼器200可以決定是否針對亮度區塊啟用變換跳過模式。例如,視訊編碼器200可以執行不同的編碼通路(包括啟用變換跳過模式和禁用變換跳過模式),以及比較結果以決定是否針對亮度區塊啟用變換跳過模式。視訊編碼器200可以以信號發送指示變換跳過模式是否被啟用用於亮度區塊的語法元素。至少部分地基於決定使用單樹劃分來對亮度區塊進行編碼以及決定不針對亮度區塊啟用變換跳過模式,視訊編碼器200可以以信號發送用於亮度區塊的LFNST索引;及根據LFNST索引應用LFNST來對亮度區塊進行編碼。例如,變換處理單元206可以對亮度區塊應用LFNST。
圖6是圖示根據本案內容的用於色度解碼技術的示例性LFNST的流程圖。視訊解碼器300可以決定視訊資料的色度區塊是否是使用雙樹劃分進行編碼的(340)。色度區塊可以是Cb色度區塊或Cr色度區塊。例如,視訊解碼器300可以解析在位元串流中的指示Cb色度區塊和Cr色度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊解碼器300可以決定用於色度區塊的變換跳過模式是否被啟用(342)。例如,視訊解碼器300可以解析用於Cb色度區塊的變換跳過模式標誌和用於Cr色度區塊的變換跳過模式標誌,以決定用於Cb色度區塊,或Cr色度區塊,或Cb色度區塊和Cr色度區塊兩者的變換跳過模式是否被啟用。
基於色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於色度區塊,來推斷用於色度區塊的LFNST索引的值(344)。例如,視訊編碼器200可以不在位元串流中以信號發送LFNST索引,以及視訊解碼器300可以不解析LFNST索引,因為當用於Cb色度區塊或Cr色度區塊的至少一個變換跳過標誌被啟用時,LFNST可以被禁用。視訊解碼器300可以在不應用逆LFNST的情況下對色度區塊進行解碼(346)。
在一些實例中,視訊解碼器300可以在逆變換處理單元308不應用逆LFNST的情況下對Cb色度區塊或Cr色度區塊中的對應的另一者進行解碼。換言之,若色度區塊是Cb色度區塊,則逆變換處理單元308可以不對對應的Cr色度區塊應用逆LFNST,以及若色度區塊是Cr色度區塊,則逆變換處理單元308可以不對對應的Cb色度區塊應用逆LFNST。
在一些實例中,Cb色度區塊是第一Cb色度區塊或第一Cr色度區塊,以及視訊解碼器300可以決定視訊資料的第二Cb色度區塊和第二Cr色度區塊是否是使用雙樹劃分進行編碼的。例如,視訊解碼器300可以解析在位元串流中的指示第二Cb色度區塊和第二Cr色度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊解碼器300可以決定用於第二Cb色度區塊,或第二Cr色度區塊,或第二Cb色度區塊和第二Cr色度區塊兩者的變換跳過模式是否被啟用。例如,視訊解碼器300可以解析用於第二Cb色度區塊的變換跳過模式標誌和用於第二Cr色度區塊的變換跳過模式標誌,以決定用於第二Cb色度區塊,或第二Cr色度區塊,或第二Cb色度區塊和第二Cr色度區塊兩者的變換跳過模式是否被啟用。至少部分地基於第二Cb色度區塊和第二Cr色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式未被啟用用於第二Cb色度區塊和第二Cr色度區塊兩者,視訊解碼器300可以解析用於第二Cb色度區塊和第二Cr色度區塊的LFNST索引,以及基於LFNST索引應用逆LFNST來對第二Cb色度區塊和第二Cr色度區塊進行解碼。例如,逆變換處理單元308可以應用逆LFNST。
在一些實例中,視訊解碼器300可以決定視訊資料的第二Cb色度區塊和第二Cr色度區塊是否是使用單樹劃分進行編碼的。例如,視訊解碼器300可以解析在位元串流中的指示Cb色度區塊和Cr色度區塊是否是使用單樹劃分進行編碼的語法元素。基於第二Cb色度區塊和第二Cr色度區塊是使用單樹劃分進行編碼的,視訊解碼器300可以推斷LFNST索引的值。例如,視訊編碼器200可以不在位元串流中以信號發送LFNST索引,以及視訊解碼器300可以不解析LFNST索引,因為當第二Cb色度區塊和第二Cr色度區塊是使用單樹劃分進行編碼的時,LFNST可以被禁用。視訊解碼器300可以在不應用逆LFNST的情況下對第二Cb色度區塊和第二Cr色度區塊進行解碼。例如,逆變換處理單元308可以不應用逆LFNST。
在一些實例中,視訊解碼器300可以決定視訊資料的亮度區塊是否是使用雙樹劃分進行編碼的。例如,視訊解碼器300可以解析在位元串流中的指示亮度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊解碼器300可以決定變換跳過模式是否被啟用用於亮度區塊。例如,視訊解碼器300可以解析用於亮度區塊的變換跳過標誌,以決定變換跳過模式是否被啟用用於亮度區塊。基於亮度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於亮度區塊,視訊解碼器可以推斷用於亮度區塊的LFNST索引的值,以及在不應用逆LFNST的情況下對亮度區塊進行解碼。例如,逆變換處理單元308可以不應用逆LFNST。
在一些實例中,視訊解碼器300可以決定視訊資料的亮度區塊是否是使用雙樹劃分進行編碼的。例如,視訊解碼器300可以解析在位元串流中指示亮度區塊是否是使用雙樹劃分進行編碼的語法元素。視訊解碼器300可以決定變換跳過模式是否被啟用用於亮度區塊。例如,視訊解碼器300可以解析用於亮度區塊的變換跳過標誌,以決定變換跳過模式是否被啟用用於亮度區塊。至少部分地基於亮度區塊是使用雙樹劃分進行編碼的以及變換跳過模式未被啟用用於亮度區塊,視訊解碼器300可以解析用於亮度區塊的LFNST索引。視訊解碼器300可以基於LFNST索引應用逆LFNST來對亮度區塊進行解碼。例如,逆變換處理單元308可以應用逆LFNST。
在一些實例中,視訊解碼器300可以決定視訊資料的亮度區塊是否是使用單樹劃分進行編碼的。例如,視訊解碼器300可以解析在位元串流中的指示亮度區塊是否是使用單樹劃分進行編碼的語法元素。視訊解碼器300可以決定變換跳過模式是否被啟用用於亮度區塊。例如,視訊解碼器300可以解析用於亮度區塊的變換跳過標誌,以決定變換跳過模式是否被啟用用於亮度區塊。基於亮度區塊是使用單樹劃分進行編碼的以及變換跳過模式被啟用用於亮度區塊,視訊解碼器300可以推斷用於亮度區塊的LFNST索引的值,以及在不應用逆LFNST的情況下對亮度區塊進行解碼。例如,逆變換處理單元308可以不應用逆LFNST。
在一些實例中,視訊解碼器300可以決定視訊資料的亮度區塊是否是使用單樹劃分進行編碼的。例如,視訊解碼器300可以解析在位元串流中的指示亮度區塊是否是使用單樹劃分進行編碼的語法元素。視訊解碼器300可以決定變換跳過模式是否被啟用用於亮度區塊。例如,視訊解碼器300可以解析用於亮度區塊的變換跳過標誌,以決定變換跳過模式是否被啟用用於亮度區塊。至少部分地基於亮度區塊是使用單樹劃分進行編碼的以及變換跳過模式未被啟用用於亮度區塊,視訊解碼器可以解析用於亮度區塊的LFNST索引,以及基於LFNST索引使用LFNST來對亮度區塊進行解碼。例如,逆變換處理單元308可以應用逆LFNST。
圖7是圖示用於對當前區塊進行編碼的示例性方法的流程圖。當前區塊可以包括當前CU。儘管是相對於視訊編碼器200(圖1和圖3)來描述的,但是應當理解的是,其他設備可以被配置為執行與圖7的方法類似的方法。
在該實例中,視訊編碼器200最初預測當前區塊(350)。例如,視訊編碼器200可以形成用於當前區塊的預測區塊。視訊編碼器200可以接著計算用於當前區塊的殘差區塊(352)。為了計算殘差區塊,視訊編碼器200可以計算在原始的未經編碼的區塊與用於當前區塊的預測區塊之間的差。視訊編碼器200可以接著對殘差區塊的係數進行變換和量化(354)。例如,根據本案內容的技術,視訊編碼器200可以進行或者可以不進行以下操作:產生和以信號發送LFNST索引,或者對殘差區塊的係數應用LFNST。接下來,視訊編碼器200可以掃瞄殘差區塊的經量化的變換係數(356)。在掃瞄期間或在掃瞄之後,視訊編碼器200可以對變換係數進行熵編碼(358)。例如,視訊編碼器200可以使用CAVLC或CABAC來對變換係數進行編碼。視訊編碼器200可以接著輸出區塊的經熵編碼的資料(360)。
圖8是圖示用於對視訊資料的當前區塊進行解碼的示例性方法的流程圖。當前區塊可以包括當前CU。儘管是相對於視訊解碼器300(圖1和圖4)來描述的,但是應當理解的是,其他設備可以被配置為執行與圖8的方法類似的方法。
視訊解碼器300可以接收用於當前區塊的經熵編碼的資料(諸如經熵編碼的預測資訊和用於與當前區塊相對應的殘差區塊的係數的經熵編碼的資料)(370)。視訊解碼器300可以對經熵編碼的資料進行熵解碼,以決定用於當前區塊的預測資訊以及重現殘差區塊的係數(372)。視訊解碼器300可以例如使用如由用於當前區塊的預測資訊所指示的訊框內預測模式或訊框間預測模式來預測當前區塊(374),以計算用於當前區塊的預測區塊。視訊解碼器300可以接著對所重現的變換係數進行逆掃瞄(376),以建立經量化的變換係數的區塊。視訊解碼器300可以接著對變換係數進行逆量化和逆變換以產生殘差區塊(378)。例如,根據本案內容的技術,視訊解碼器300可以進行或者可以不進行以下操作:解析LFNST索引,或者應用逆LFNST。視訊解碼器300可以最終經由將預測區塊和殘差區塊進行組合來對當前區塊進行解碼(380)。
根據本案內容的技術,用於色度的LFNST可以不依賴於亮度變換跳過標誌,以及當不使用LFNST時,可以不以信號發送LFNST索引。本案內容的技術可以改良解碼時延以及減少信號傳遞管理負擔。
本案內容包含以下實例。
條款1。對視訊資料進行編碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌;決定用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌;基於用於亮度的變換跳過標誌被禁用來以信號發送用於亮度通道的低頻不可分離變換(LFNST)索引,以及基於用於亮度的變換跳過標誌被啟用而不以信號發送用於亮度通道的LFNST索引;若用於色度的第一變換跳過標誌或用於色度的第二變換跳過標誌中的任一者被禁用,或者若用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被禁用,則以信號發送用於色度通道的LFNST索引,以及基於用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被啟用,不以信號發送用於色度通道的LFNST索引;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌來對視訊資料的當前區塊進行編碼。
條款2。根據條款1之方法,亦包括以下步驟:對視訊資料的當前區塊應用雙樹劃分。
條款3。對視訊資料進行解碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌;決定用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌;基於用於亮度的變換跳過標誌被禁用來決定用於亮度通道的LFNST索引,以及基於用於亮度的變換跳過標誌被啟用來推斷用於亮度通道的LFNST索引為0;若用於色度的第一變換跳過標誌或用於色度的第二變換跳過標誌中的任一者被禁用,或者若用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被禁用,則決定用於色度通道的LFNST索引,以及基於用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被啟用,來推斷用於色度通道的LFNST索引為0;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌來對視訊資料的當前區塊進行解碼。
條款4。根據條款3之方法,亦包括以下步驟:對視訊資料的當前區塊應用雙樹劃分。
條款5。對視訊資料進行編碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌;基於用於亮度的變換跳過標誌被禁用來以信號發送用於亮度通道的LFNST索引,以及基於用於亮度的變換跳過標誌被啟用而不以信號發送用於亮度通道的LFNST索引;及基於用於亮度的變換跳過標誌來對視訊資料的當前區塊進行編碼。
條款6。根據條款5之方法,亦包括以下步驟:對視訊資料的當前區塊應用單樹劃分。
條款7。對視訊資料進行解碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌;基於用於亮度的變換跳過標誌被禁用來決定用於亮度通道的LFNST索引,以及基於用於亮度的變換跳過標誌被啟用來推斷用於亮度通道的LFNST索引為0;及基於用於亮度的變換跳過標誌來對視訊資料的當前區塊進行解碼。
條款8。根據條款7之方法,亦包括以下步驟:對視訊資料的當前區塊應用單樹劃分。
條款9。對視訊資料進行編碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌中的至少一項是否被禁用;基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌中的至少一項被禁用,來以信號發送LFNST索引;及基於LFNST索引來對視訊資料的當前區塊進行編碼。
條款10。根據條款9之方法,亦包括以下步驟:對視訊資料的當前區塊應用單樹劃分。
條款11。根據條款9-10的任何組合之方法,亦包括以下步驟:決定用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌是否全部被啟用;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌全部被禁用,不以信號發送LFNST索引。
條款12。對視訊資料進行解碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌中的至少一項是否被禁用;基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌中的至少一項被禁用,來決定LFNST索引;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌,來對視訊資料的當前區塊進行解碼。
條款13。根據條款12之方法,亦包括以下步驟:對視訊資料的當前區塊應用單樹劃分。
條款14。根據條款12-13的任何組合之方法,亦包括以下步驟:決定用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌是否全部被啟用;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌全部被禁用,推斷LFNST索引為0。
條款15。對視訊資料進行編碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌;決定用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌;基於用於亮度的變換跳過標誌被禁用來以信號發送用於亮度通道的低頻不可分離變換(LFNST)索引,或者基於用於亮度的變換跳過標誌被啟用而不以信號發送用於亮度通道的LFNST索引;若用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被禁用,則以信號發送用於色度通道的LFNST索引,或者基於用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被啟用,不以信號發送用於色度通道的LFNST索引;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌來對視訊資料的當前區塊進行編碼。
條款16。用於對視訊資料進行解碼的方法,方法包括以下步驟:決定用於亮度的變換跳過標誌;決定用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌;基於用於亮度的變換跳過標誌被禁用來決定用於亮度通道的LFNST索引,或者基於用於亮度的變換跳過標誌被啟用來推斷用於亮度通道的LFNST索引為0;若用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被禁用,則決定用於色度通道的LFNST索引,或者若用於色度的第一變換跳過標誌或用於色度的第二變換跳過標誌中的一項或多項被啟用,則推斷LFNST索引為0;及基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌來對視訊資料的當前區塊進行解碼。
條款17。用於對視訊資料進行解碼的方法,方法包括以下步驟:決定用於視訊資料的當前區塊的解碼模式是否為單樹劃分模式;基於解碼模式為單樹劃分模式,來針對色度通道禁用LFNST;及基於解碼模式以及基於LFNST被禁用,來對當前區塊進行解碼。
條款18。根據條款17之方法,亦包括以下步驟:決定亮度變換跳過標誌是否被啟用;及基於亮度變換跳過標誌被啟用,來針對亮度通道禁用LFNST。
條款19。根據條款18之方法,亦包括以下步驟:不以信號發送LFNST。
條款20。用於對視訊資料進行解碼的設備,設備包括用於執行條款1-19中任何條款之方法的一或多個構件。
條款21。根據條款20之設備,其中一或多個構件包括在電路系統中實現的一或多個處理器。
條款22。根據條款20和條款21中任何條款之設備,亦包括:用於儲存視訊資料的記憶體。
條款23。根據條款20-22中任何條款之設備,亦包括:被配置為顯示經解碼的視訊資料的顯示器。
條款24。根據條款20-23中任何條款之設備,其中設備包括以下各項中的一項或多項:相機、電腦、行動設備、廣播接收器設備,或機上盒。
條款25。根據條款20-24中任何條款之設備,其中設備包括視訊解碼器。
條款26。根據條款20-25中任何條款之設備,其中設備包括視訊編碼器。
條款27。具有儲存在其上的指令的電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器執行根據條款1-19中任何條款之方法。
條款28。用於對視訊資料進行編碼的設備,設備包括:用於決定用於亮度的變換跳過標誌的構件;用於決定用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌的構件;用於基於用於亮度的變換跳過標誌被禁用來以信號發送用於亮度通道的LFNST索引,以及基於用於亮度的變換跳過標誌被啟用而不以信號發送用於亮度通道的LFNST索引的構件;用於若用於色度的第一變換跳過標誌或用於色度的第二變換跳過標誌中的任一者被禁用,或者若用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被禁用,則以信號發送用於色度通道的LFNST索引,以及基於用於色度的第一變換跳過標誌和用於色度的第二變換跳過標誌兩者皆被啟用,不以信號發送用於色度通道的LFNST索引的構件;及用於基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌來對視訊資料的當前區塊進行編碼的構件。
條款29。用於對視訊資料進行編碼的設備,設備包括:用於決定用於亮度的變換跳過標誌的構件;用於基於用於亮度的變換跳過標誌被禁用來以信號發送用於亮度通道的LFNST索引,以及基於用於亮度的變換跳過標誌被啟用而不以信號發送用於亮度通道的LFNST索引的構件;及用於基於用於亮度的變換跳過標誌來對視訊資料的當前區塊進行編碼的構件。
條款30。用於對視訊資料進行編碼的設備,設備包括:用於決定用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌中的至少一項是否被禁用的構件;用於基於用於亮度的變換跳過標誌、用於色度的第一變換跳過標誌,以及用於色度的第二變換跳過標誌中的至少一項被禁用,來以信號發送LFNST索引的構件;及用於基於LFNST索引來對視訊資料的當前區塊進行編碼的構件。
要認識到的是,根據實例,本文中所描述的任何技術的某些動作或事件可以以不同的順序來執行,可以被添加、合併或完全省略(例如,並非所有描述的動作或事件是對於該等技術的實踐皆是必要的)。此外,在某些實例中,動作或事件可以例如經由多執行緒處理、中斷處理或多個處理器併發地而不是順序地執行。
在一或多個實例中,所描述的功能可以以硬體、軟體、韌體或其任何組合來實現。若以軟體來實現,則該等功能可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或者經由電腦可讀取媒體進行傳輸以及可由基於硬體的處理單元執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體(其對應於有形媒體(諸如資料儲存媒體))或者通訊媒體,該等通訊媒體包括例如根據通訊協定來促進電腦程式從一個地方傳送到另一個地方的任何媒體。以此種方式,電腦可讀取媒體通常可以對應於(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記憶體 330:步驟 332:步驟 334:步驟 336:步驟 340:步驟 342:步驟 344:步驟 346:步驟 350:步驟 352:步驟 354:步驟 356:步驟 358:步驟 360:步驟 370:步驟 372:步驟 374:步驟 376:步驟 378:步驟 380:步驟
圖1是圖示可以執行本案內容的技術的示例性視訊編碼和解碼系統的方塊圖。
圖2A和圖2B是圖示示例性四叉樹二叉樹(QTBT)結構以及對應的解碼樹單元(CTU)的概念圖。
圖3是圖示可以執行本案內容的技術的示例性視訊編碼器(encoder)的方塊圖。
圖4是圖示可以執行本案內容的技術的示例性視訊解碼器(decoder)的方塊圖。
圖5是圖示根據本案內容的技術的用於針對色度的低頻不可分離變換(LFNST)編碼的示例性技術的流程圖。
圖6是圖示根據本案內容的技術的用於針對色度的LFNST解碼的示例性技術的流程圖。
圖7是圖示對視訊資料進行編碼的示例性方法的流程圖。
圖8是圖示對視訊資料進行解碼的示例性方法的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
340:步驟
342:步驟
344:步驟
346:步驟

Claims (38)

  1. 一種對視訊資料進行解碼的方法,該方法包括以下步驟:決定該視訊資料的一色度區塊是否是使用雙樹劃分進行編碼的;決定用於該色度區塊的變換跳過模式是否被啟用;回應於該色度區塊是使用雙樹劃分進行編碼的以及該變換跳過模式被啟用用於該色度區塊兩者,來推斷用於該色度區塊的一低頻不可分離變換(LFNST)索引的一值;及在不應用一逆LFNST的情況下對該色度區塊進行解碼。
  2. 根據請求項1之方法,其中該色度區塊是一Cb色度區塊或一Cr色度區塊中的一者,該方法亦包括以下步驟:在不應用該逆LFNST的情況下對該Cb色度區塊或該Cr色度區塊中的一對應的另一者進行解碼。
  3. 根據請求項1之方法,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,該方法亦包括以下步驟:決定該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊是否是使用雙樹劃分進行編碼的;決定用於該第二Cb色度區塊,或該第二Cr色度區塊,或該第二Cb色度區塊和該第二Cr色度區塊兩者的變 換跳過模式是否被啟用;至少部分地回應於該第二Cb色度區塊和該第二Cr色度區塊是使用雙樹劃分進行編碼的以及該變換跳過模式未被啟用用於該第二Cb色度區塊和該第二Cr色度區塊兩者,來解析用於該第二Cb色度區塊和該第二Cr色度區塊的一LFNST索引;及基於該LFNST索引應用一逆LFNST來對該第二Cb色度區塊和該第二Cr色度區塊進行解碼。
  4. 根據請求項1之方法,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,該方法亦包括以下步驟:決定該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊是否是使用單樹劃分進行編碼的;回應於該第二Cb色度區塊和該第二Cr色度區塊是使用單樹劃分進行編碼的兩者,來推斷一LFNST索引的一值;及在不應用一逆LFNST的情況下對該第二Cb色度區塊和該第二Cr色度區塊進行解碼。
  5. 根據請求項1之方法,亦包括以下步驟:決定該視訊資料的一亮度區塊是否是使用雙樹劃分進行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;回應於該亮度區塊是使用雙樹劃分進行編碼的以及該變換跳過模式被啟用用於該亮度區塊兩者,來推斷用於 該亮度區塊的一LFNST索引的一值;及在不應用一逆LFNST的情況下對該亮度區塊進行解碼。
  6. 根據請求項1之方法,亦包括以下步驟:決定該視訊資料的一亮度區塊是否是使用雙樹劃分進行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;至少部分地回應於該亮度區塊是使用雙樹劃分進行編碼的以及變換跳過模式未被啟用用於該亮度區塊,來解析用於該亮度區塊的一LFNST索引;及基於該LFNST索引應用一逆LFNST來對該亮度區塊進行解碼。
  7. 根據請求項1之方法,亦包括以下步驟:決定該視訊資料的一亮度區塊是否是使用單樹劃分進行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;回應於該亮度區塊是使用單樹劃分進行編碼的以及該變換跳過模式被啟用用於該亮度區塊兩者,來推斷用於該亮度區塊的一LFNST索引的一值;及在不應用一逆LFNST的情況下對該亮度區塊進行解碼。
  8. 根據請求項1之方法,亦包括以下步驟:決定該視訊資料的一亮度區塊是否是使用單樹劃分進行編碼的; 決定變換跳過模式是否被啟用用於該亮度區塊;至少部分地回應於該亮度區塊是使用單樹劃分進行編碼的以及該變換跳過模式未被啟用用於該亮度區塊兩者,來解析用於該亮度區塊的一LFNST索引;及基於該LFNST索引應用一逆LFNST來對該亮度區塊進行解碼。
  9. 一種用於對視訊資料進行解碼的設備,該設備包括:記憶體,其被配置為儲存該視訊資料;及一或多個處理器,其在電路系統中實現並且耦合到該記憶體,該一或多個處理器被配置為:決定該視訊資料的一色度區塊是否是使用雙樹劃分進行編碼的;決定用於該色度區塊的變換跳過模式是否被啟用;回應於該色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於該色度區塊兩者,來推斷用於該色度區塊的一低頻不可分離變換(LFNST)索引的一值;及在不應用一逆LFNST的情況下對該色度區塊進行解碼。
  10. 根據請求項9之設備,其中該色度區塊是一Cb色度區塊或一Cr色度區塊中的一者,並且該一或多個處理器亦被配置為:在不應用該逆LFNST的情況下對該Cb色度區塊或 該Cr色度區塊中的一對應的另一者進行解碼。
  11. 根據請求項9之設備,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,並且該一或多個處理器亦被配置為:決定該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊是否是使用雙樹劃分進行編碼的;決定用於該第二Cb色度區塊,或該第二Cr色度區塊,或該第二Cb色度區塊和該第二Cr色度區塊兩者的變換跳過模式是否被啟用;至少部分地回應於該第二Cb色度區塊和該第二Cr色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式未被啟用用於該第二Cb色度區塊和該第二Cr色度區塊兩者,來解析用於該第二Cb色度區塊和該第二Cr色度區塊的一LFNST索引;及基於該LFNST索引應用一逆LFNST來對該第二Cb色度區塊和該第二Cr色度區塊進行解碼。
  12. 根據請求項9之設備,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,並且該一或多個處理器亦被配置為:決定該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊是否是使用單樹劃分進行編碼的;回應於該第二Cb色度區塊和該第二Cr色度區塊是使用單樹劃分進行編碼的兩者,來推斷一LFNST索引的一值;及 在不應用一逆LFNST的情況下對該第二Cb色度區塊和該第二Cr色度區塊進行解碼。
  13. 根據請求項9之設備,其中該一或多個處理器亦被配置為:決定該視訊資料的一亮度區塊是否是使用雙樹劃分進行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;回應於該亮度區塊是使用雙樹劃分進行編碼的以及該變換跳過模式被啟用用於該亮度區塊兩者,來推斷用於該亮度區塊的一LFNST索引的一值;及在不應用一逆LFNST的情況下對該亮度區塊進行解碼。
  14. 根據請求項9之設備,其中該一或多個處理器亦被配置為:決定該視訊資料的一亮度區塊是否是使用雙樹劃分進行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;至少部分地回應於該亮度區塊是使用雙樹劃分進行編碼的以及變換跳過模式未被啟用用於該亮度區塊兩者,來解析用於該亮度區塊的一LFNST索引;及基於該LFNST索引應用一逆LFNST來對該亮度區塊進行解碼。
  15. 根據請求項9之設備,亦包括:決定該視訊資料的一亮度區塊是否是使用單樹劃分進 行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;回應於該亮度區塊是使用單樹劃分進行編碼的以及該變換跳過模式被啟用用於該亮度區塊兩者,來推斷用於該亮度區塊的一LFNST索引的一值;及在不應用一逆LFNST的情況下對該亮度區塊進行解碼。
  16. 根據請求項9之設備,亦包括:決定該視訊資料的一亮度區塊是否是使用單樹劃分進行編碼的;決定變換跳過模式是否被啟用用於該亮度區塊;至少部分地回應於該亮度區塊是使用單樹劃分進行編碼的以及該變換跳過模式未被啟用用於該亮度區塊兩者,來解析用於該亮度區塊的一LFNST索引;及應用一逆LFNST來對該亮度區塊進行解碼。
  17. 根據請求項9之設備,亦包括:一顯示器,該顯示器耦合到該一或多個處理器並且被配置為顯示經解碼的視訊資料。
  18. 一種儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器進行以下操作:決定視訊資料的一色度區塊是否是使用雙樹劃分進行編碼的;決定用於該色度區塊的變換跳過模式是否被啟用; 回應於該色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於該色度區塊兩者,來推斷用於該色度區塊的一低頻不可分離變換(LFNST)索引的一值;及在不應用一逆LFNST的情況下對該色度區塊進行解碼。
  19. 一種用於對視訊資料進行解碼的設備,該設備包括:用於決定該視訊資料的一色度區塊是否是使用雙樹劃分進行編碼的構件;用於決定用於該色度區塊的變換跳過模式是否被啟用的構件;用於回應於該色度區塊是使用雙樹劃分進行編碼的以及變換跳過模式被啟用用於該色度區塊兩者,來推斷用於該色度區塊的一低頻不可分離變換(LFNST)索引的一值的構件;及用於在不應用一逆LFNST的情況下對該色度區塊進行解碼的構件。
  20. 一種對視訊資料進行編碼的方法,該方法包括以下步驟:決定是否使用雙樹劃分來對該視訊資料的一色度區塊進行編碼;決定是否針對該色度區塊啟用變換跳過模式;回應於決定使用雙樹劃分來對該色度區塊進行編碼以 及決定針對該色度區塊啟用變換跳過模式兩者,來避免以信號發送用於該色度區塊的一低頻不可分離變換(LFNST)索引;及在不應用一LFNST的情況下對該色度區塊進行編碼。
  21. 根據請求項20之方法,其中該色度區塊是一Cb色度區塊或一Cr色度區塊中的一者,該方法亦包括以下步驟:在不應用該LFNST的情況下對該Cb色度區塊或該Cr色度區塊中的一對應的另一者進行編碼。
  22. 根據請求項20之方法,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,該方法亦包括以下步驟:決定是否使用雙樹劃分來對該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊進行編碼;決定是否針對該第二Cb色度區塊,或該第二Cr色度區塊,或該第二Cb色度區塊和該第二Cr色度區塊兩者啟用變換跳過模式;至少部分地回應於決定使用雙樹劃分來對該第二Cb色度區塊和該第二Cr色度區塊進行編碼以及決定針對該第二Cb色度區塊和該第二Cr色度區塊兩者不啟用變換跳過模式,來以信號發送用於該第二Cb色度區塊和該第二Cr色度區塊的一LFNST索引;及根據該LFNST索引應用一LFNST來對該第二Cb 色度區塊和該第二Cr色度區塊進行編碼。
  23. 根據請求項20之方法,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,該方法亦包括以下步驟:決定是否使用單樹劃分來對該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊進行編碼;回應於決定使用單樹劃分來對該第二Cb色度區塊和該第二Cr色度區塊進行編碼兩者,來避免以信號發送一LFNST索引;及在不應用一LFNST的情況下對該第二Cb色度區塊和該第二Cr色度區塊進行編碼。
  24. 根據請求項20之方法,亦包括以下步驟:決定是否使用雙樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;回應於決定使用雙樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊啟用變換跳過模式兩者,來避免以信號發送用於該亮度區塊的一LFNST索引;及在不應用一LFNST的情況下對該亮度區塊進行編碼。
  25. 根據請求項20之方法,亦包括以下步驟:決定是否使用雙樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式; 至少部分地回應於決定使用雙樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊不啟用變換跳過模式兩者,來以信號發送用於該亮度區塊的一LFNST索引;及根據該LFNST索引應用一LFNST來對該亮度區塊進行編碼。
  26. 根據請求項20之方法,亦包括以下步驟:決定是否使用單樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;回應於決定使用單樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊啟用變換跳過模式兩者,來避免以信號發送用於該亮度區塊的一LFNST索引;及在不應用一LFNST的情況下對該亮度區塊進行編碼。
  27. 根據請求項20之方法,亦包括以下步驟:決定是否使用單樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;至少部分地回應於決定使用單樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊不啟用變換跳過模式兩者,來以信號發送用於該亮度區塊的一LFNST索引;及根據該LFNST索引應用一LFNST來對該亮度區塊 進行編碼。
  28. 一種用於對視訊資料進行編碼的設備,該設備包括:記憶體,其被配置為儲存該視訊資料;及一或多個處理器,其在電路系統中實現並且耦合到該記憶體,該一或多個處理器被配置為:決定是否使用雙樹劃分來對該視訊資料的一色度區塊進行編碼;決定是否針對該色度區塊啟用變換跳過模式;回應於決定使用雙樹劃分來對該色度區塊進行編碼以及決定針對該色度區塊啟用變換跳過模式兩者,來避免以信號發送用於該色度區塊的一低頻不可分離變換(LFNST)索引;及在不應用一LFNST的情況下對該色度區塊進行編碼。
  29. 根據請求項28之設備,其中該色度區塊是一Cb色度區塊或一Cr色度區塊中的一者,並且該一或多個處理器亦被配置為:在不應用該LFNST的情況下對該Cb色度區塊或該Cr色度區塊中的一對應的另一者進行編碼。
  30. 根據請求項28之設備,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,並且該一或多個處理器亦被配置為:決定是否使用雙樹劃分來對該視訊資料的一第二Cb 色度區塊和一第二Cr色度區塊進行編碼;決定是否針對該第二Cb色度區塊,或該第二Cr色度區塊,或該第二Cb色度區塊和該第二Cr色度區塊兩者啟用變換跳過模式;至少部分地回應於決定使用雙樹劃分來對該第二Cb色度區塊和該第二Cr色度區塊進行編碼以及決定針對該第二Cb色度區塊和該第二Cr色度區塊兩者不啟用變換跳過模式,來以信號發送用於該第二Cb色度區塊和該第二Cr色度區塊的一LFNST索引;及根據該LFNST索引應用一LFNST來對該第二Cb色度區塊和該第二Cr色度區塊進行編碼。
  31. 根據請求項28之設備,其中該色度區塊是一第一Cb色度區塊或一第一Cr色度區塊,並且該一或多個處理器亦被配置為:決定是否使用單樹劃分來對該視訊資料的一第二Cb色度區塊和一第二Cr色度區塊進行編碼;回應於決定使用單樹劃分來對該第二Cb色度區塊和該第二Cr色度區塊進行編碼兩者,來避免以信號發送一LFNST索引;及在不應用一LFNST的情況下對該第二Cb色度區塊和該第二Cr色度區塊進行編碼。
  32. 根據請求項28之設備,其中該一或多個處理器亦被配置為:決定是否使用雙樹劃分來對該視訊資料的一亮度區塊 進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;回應於決定使用雙樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊啟用變換跳過模式兩者,來避免以信號發送用於該亮度區塊的一LFNST索引;及在不應用一LFNST的情況下對該亮度區塊進行編碼。
  33. 根據請求項28之設備,其中該一或多個處理器亦被配置為:決定是否使用雙樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;至少部分地回應於決定使用雙樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊不啟用變換跳過模式兩者,來以信號發送用於該亮度區塊的一LFNST索引;及根據該LFNST索引應用一LFNST來對該亮度區塊進行編碼。
  34. 根據請求項28之設備,其中該一或多個處理器亦被配置為:決定是否使用單樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;回應於決定使用單樹劃分來對該亮度區塊進行編碼以 及決定針對該亮度區塊啟用變換跳過模式兩者,來避免以信號發送用於該亮度區塊的一LFNST索引;及在不應用一LFNST的情況下對該亮度區塊進行編碼。
  35. 根據請求項28之設備,其中該一或多個處理器亦被配置為:決定是否使用單樹劃分來對該視訊資料的一亮度區塊進行編碼;決定是否針對該亮度區塊啟用變換跳過模式;至少部分地回應於決定使用單樹劃分來對該亮度區塊進行編碼以及決定針對該亮度區塊不啟用變換跳過模式兩者,來以信號發送用於該亮度區塊的一LFNST索引;及根據該LFNST索引應用一LFNST來對該亮度區塊進行編碼。
  36. 根據請求項28之設備,亦包括:耦合到該一或多個處理器的一相機,該相機被配置為擷取該視訊資料。
  37. 一種儲存指令的非暫時性電腦可讀取儲存媒體,該等指令在被執行時使得一或多個處理器進行以下操作:決定是否使用雙樹劃分來對視訊資料的一色度區塊進行編碼;決定是否針對該色度區塊啟用變換跳過模式; 回應於決定使用雙樹劃分來對該色度區塊進行編碼以及決定針對該色度區塊啟用變換跳過模式兩者,來避免以信號發送用於該色度區塊的一低頻不可分離變換(LFNST)索引;及在不應用一LFNST的情況下對該色度區塊進行編碼。
  38. 一種用於對視訊資料進行編碼的設備,該設備包括:用於決定是否使用雙樹劃分來對該視訊資料的一色度區塊進行編碼的構件;用於決定是否針對該色度區塊啟用變換跳過模式的構件;用於回應於決定使用雙樹劃分來對該色度區塊進行編碼以及決定針對該色度區塊啟用變換跳過模式兩者,來避免以信號發送用於該色度區塊的一低頻不可分離變換(LFNST)索引的構件;及用於在不應用一LFNST的情況下對該色度區塊進行編碼的構件。
TW109145676A 2019-12-23 2020-12-23 基於色度變換跳過的用於色度的lfnst信號傳遞 TWI874542B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962953126P 2019-12-23 2019-12-23
US62/953,126 2019-12-23
US202062959692P 2020-01-10 2020-01-10
US62/959,692 2020-01-10
US17/128,898 US11457229B2 (en) 2019-12-23 2020-12-21 LFNST signaling for chroma based on chroma transform skip
US17/128,898 2020-12-21

Publications (2)

Publication Number Publication Date
TW202133615A TW202133615A (zh) 2021-09-01
TWI874542B true TWI874542B (zh) 2025-03-01

Family

ID=76438991

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109145676A TWI874542B (zh) 2019-12-23 2020-12-23 基於色度變換跳過的用於色度的lfnst信號傳遞

Country Status (5)

Country Link
US (1) US11457229B2 (zh)
EP (1) EP4082211A1 (zh)
CN (1) CN114846801B (zh)
TW (1) TWI874542B (zh)
WO (1) WO2021133816A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2022004307A (es) * 2019-10-11 2022-06-08 Electronics & Telecommunications Res Inst Metodo y dispositivo de codificacion/decodificacion de informacion de transformacion, y medio de almacenamiento de flujo de bits.
MX2022005833A (es) * 2019-11-22 2022-06-09 Sony Group Corp Dispositivo y metodo de procesamiento de imagenes.
KR20220097513A (ko) * 2019-12-29 2022-07-07 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
EP4090031A4 (en) * 2020-01-10 2024-01-10 LG Electronics Inc. TRANSFORMATION-BASED IMAGE CODING METHOD AND DEVICE THEREFOR
BR112022013561A2 (pt) * 2020-01-10 2022-09-06 Lg Electronics Inc Método de codificação de imagem baseado em transformada e dispositivo para o mesmo
US20230015210A1 (en) * 2020-01-10 2023-01-19 Lg Electronics Inc. Transform-based image coding method and device therefor
WO2021190593A1 (en) * 2020-03-25 2021-09-30 Beijing Bytedance Network Technology Co., Ltd. Coded video processing using enhanced secondary transform
US11616983B2 (en) * 2020-05-05 2023-03-28 Tencent America LLC Joint component secondary transform
WO2025214446A1 (en) * 2024-04-10 2025-10-16 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190387241A1 (en) * 2018-06-03 2019-12-19 Lg Electronics Inc. Method and apparatus for processing video signals using reduced transform

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
KR20150048804A (ko) * 2012-11-08 2015-05-07 캐논 가부시끼가이샤 코딩 유닛의 변환 유닛들을 인코딩 및 디코딩하기 위한 방법, 장치 및 시스템
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10681379B2 (en) 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
US10448053B2 (en) 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding
US10972733B2 (en) 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US10779007B2 (en) * 2017-03-23 2020-09-15 Mediatek Inc. Transform coding of video data
US10986340B2 (en) 2018-06-01 2021-04-20 Qualcomm Incorporated Coding adaptive multiple transform information for video coding
KR20250161682A (ko) * 2018-09-05 2025-11-17 엘지전자 주식회사 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
BR122021012456B1 (pt) * 2019-01-15 2022-03-22 Lg Electronics Inc Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória
US11025909B2 (en) * 2019-03-21 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11032572B2 (en) 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
US11134275B2 (en) * 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
KR20250004142A (ko) * 2019-06-25 2025-01-07 삼성전자주식회사 2차 변환을 이용하는 비디오 신호 처리 방법 및 장치
US11206400B2 (en) 2019-09-26 2021-12-21 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) simplifications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190387241A1 (en) * 2018-06-03 2019-12-19 Lg Electronics Inc. Method and apparatus for processing video signals using reduced transform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 LG Electronics Inc. "CE6: Reduced Secondary Transform (RST) (test 6.5.1)" Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 9–18 Jan. 2019 https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0292-v5.zip *

Also Published As

Publication number Publication date
TW202133615A (zh) 2021-09-01
WO2021133816A1 (en) 2021-07-01
CN114846801A (zh) 2022-08-02
US11457229B2 (en) 2022-09-27
EP4082211A1 (en) 2022-11-02
CN114846801B (zh) 2025-09-09
US20210195222A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
JP7795528B2 (ja) ビデオコーディング中にフィルタ処理するための複数のニューラルネットワークモデル
CN113940069B (zh) 用于视频译码中的低频不可分离变换的变换和最后有效系数位置信令
TWI853918B (zh) 用於視訊寫碼之區塊內複製合併資料語法
TWI862578B (zh) 適應性迴路濾波器組之索引發信
TWI875822B (zh) 視訊解碼中用於聯合色度殘差模式的量化參數訊號傳遞
TWI874542B (zh) 基於色度變換跳過的用於色度的lfnst信號傳遞
CN114128286B (zh) 视频编解码中的环绕运动补偿
CN115004712B (zh) 用于视频译码的经解码图片缓冲器(dpb)参数信令通知
TWI888399B (zh) 低頻不可分離變換(lfnst)訊號傳遞
CN114009026A (zh) 视频译码中的色度量化参数偏移的块级信令
TWI840427B (zh) 用於置零轉換之掃描及最後係數位置寫碼
TWI894393B (zh) 用於在視訊寫碼中最可能模式列表建構的解碼器側幀內模式推導
CN118921465A (zh) 视频译码中的系数域块差分脉冲译码调制
CN113557723B (zh) 使用不同的色度格式的三角预测单元模式中的视频译码
CN114391256B (zh) 用于视频编解码的变换单元设计
JP7637675B2 (ja) ビデオコーディングのための変換スキップにおける残差値のためのコーディング方式をシグナリングすること
TWI878419B (zh) 用於視訊解碼的基於塊的增量脈衝解碼調制
CN112335251B (zh) 以分组的旁路位元的系数编码
TW202131676A (zh) 視訊編碼中針對參考圖片重取樣的環繞偏移
CN113615178B (zh) 视频译码中的色度帧内预测
TWI876066B (zh) 解塊濾波器參數訊號傳遞
TW202143712A (zh) 視訊轉碼中的低頻不可分離變換處理
TW202141988A (zh) 用於視訊譯碼中的變換跳過區塊的高級約束
CN114830657A (zh) 视频译码中具有减少的归零的低频不可分离变换(lfnst)
TWI883099B (zh) 用於視訊編碼的單色調色板模式