TW202131698A - 多層的共享解碼器圖片緩衝器 - Google Patents

多層的共享解碼器圖片緩衝器 Download PDF

Info

Publication number
TW202131698A
TW202131698A TW109145638A TW109145638A TW202131698A TW 202131698 A TW202131698 A TW 202131698A TW 109145638 A TW109145638 A TW 109145638A TW 109145638 A TW109145638 A TW 109145638A TW 202131698 A TW202131698 A TW 202131698A
Authority
TW
Taiwan
Prior art keywords
picture
dpb
layer
video
output
Prior art date
Application number
TW109145638A
Other languages
English (en)
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 TW202131698A publication Critical patent/TW202131698A/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

Landscapes

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

Abstract

一種用於解碼多層視訊資料的視訊解碼器,可以配置為維護用於儲存複數個層的參考圖片的解碼圖片緩衝器(DPB),其中複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序;其中為了在DPB上執行圖片輸出和移除程序,一或多個處理器進一步被配置為僅從DPB移除屬於第一層的解碼圖片;並且在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。

Description

多層的共享解碼器圖片緩衝器
本專利申請案主張於2019年12月24日提出申請的美國臨時專利申請案第62/953,394號的權益,其全部內容經由引用之方式併入本文。
本案係關於視訊編碼和視訊解碼。
數位視訊功能可以集成到各種設備中,包括數位電視、數位直接廣播系統、無線廣播系統、個人數位助理(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)條帶中的視訊區塊可使用相對於同一圖片中相鄰區塊中參考取樣的空間預測,或針對其他參考圖片中的參考取樣進行時間預測。圖片可以被稱為訊框,並且參考圖片可以被稱為參考訊框。
本案描述了對用於解碼多層視訊資料的解碼圖片緩衝器(DPB)進行維護的技術。作為維護DPB的一部分,視訊解碼器可能需要定期從DPB中移除圖片,以騰出空間添加新圖片到DPB中。當解碼多層視訊資料時,一些現有的視訊解碼器維護子DPB,其中每個子DPB包含用於儲存一層解碼圖片的圖片儲存緩衝器。相反,當解碼多層視訊資料時,一些現有的視訊解碼器為所有層維護一個共用的DPB,這降低了複雜性,但可能引入了其他問題。例如,若僅對屬於與要編碼的圖片屬於同一層的圖片引動碰撞程序,則在緩衝器不包括該層的任何圖片的一些編碼場景中,碰撞程序可能無法在DPB中為新圖片適當地建立空間。在本案的技術中,藉由從DPB僅移除屬於第一層的解碼圖片來在DPB上執行圖片輸出和移除程序,並且在從CPB移除當前圖片的最後解碼單元之後,跨DPB的所有層執行圖片碰撞程序可以有利地使視訊解碼器能夠對所有層使用共用DPB,同時確保所需的參考圖片不會過早地從DPB移除,並且亦確保DPB不會變得過滿。
根據本案的實例,用於解碼視訊資料的設備包括:記憶體,其被配置為儲存視訊資料;及一或多個處理器,其在電路中實現,並且被配置為維護解碼圖片緩衝器(DPB),用於儲存複數個層的參考圖片,其中複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序,其中為了在DPB上執行圖片輸出和移除程序,一或多個處理器進一步被配置為僅從DPB移除屬於第一層的解碼圖片;並且在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。
根據本案的另一實例,一種方法包括:維護用於儲存複數個層的參考圖片的解碼圖片緩衝器(DPB),其中複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序,其中在DPB上執行圖片輸出和移除程序包括僅從DPB移除屬於第一層的解碼圖片;及在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。
根據本案的另一實例,一種電腦可讀取儲存媒體儲存指令,當由一或多個處理器執行時,該等指令使得該一或多個處理器維護解碼圖片緩衝器(DPB),用於儲存複數個層的參考圖片,其中該複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序,其中為了在DPB上執行圖片輸出和移除程序,一或多個處理器進一步被配置為僅從DPB移除屬於第一層的解碼圖片;並且在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。
根據本案的另一實例,一種用於解碼多層視訊資料的設備包括:用於維護解碼圖片緩衝器(DPB)的構件,該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中該複數個層包括至少第一層和第二層;用於在解碼第一層的存取單元的當前圖片之前在DPB上執行圖片輸出和移除程序的構件,其中在DPB上執行圖片輸出和移除程序包括僅從DPB移除屬於第一層的解碼圖片;及用於在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序的構件。
在附圖和以下說明書中將詳細闡述一或多個實例。根據說明書、附圖和申請專利範圍,其他特徵,目的和優點將是顯而易見的。
視訊編碼(例如,視訊編碼及/或視訊解碼)通常涉及根據同一圖片中的視訊資料的已經編碼的區塊(例如,訊框內預測)或不同圖片中的視訊資料的已經編碼的區塊(例如,訊框間預測)來預測視訊資料的區塊。在一些情況下,視訊編碼器亦藉由將預測區塊與原始區塊進行比較來計算殘差(residual)資料。因此,殘差資料表示預測區塊和原始區塊之間的差。為了減少訊號傳遞通知殘差資料所需的位元的數目,視訊編碼器對殘差資料進行變換和量化,並在編碼的位元串流中訊號傳遞通知經變換和量化的殘差資料。經由變換和量化處理實現的壓縮可能是有損的,這意謂變換和量化處理可能為解碼的視訊資料引入失真。
視訊解碼器對殘差資料進行解碼並添加到預測區塊,以產生比單獨的預測區塊更接近地匹配原始視訊區塊的重構視訊區塊。由於殘差資料的變換和量化引入的損失,第一重構區塊可能存在失真或偽像。一種常見類型的偽像或失真被稱為區塊效應,其中用於編碼視訊資料的區塊的邊界是可見的。
為了進一步改進解碼的視訊的品質,視訊解碼器可以對重構的視訊區塊執行一或多個濾波操作。該等濾波操作的實例包括去區塊濾波、取樣可適性偏移(SAO)濾波和可適性迴路濾波(ALF)。該等濾波操作的參數可以由視訊編碼器決定並在編碼的視訊位元串流中顯式地訊號傳遞通知,或者可以由視訊解碼器隱式地決定,而不需要在編碼的視訊位元串流中顯式地訊號傳遞通知該等參數。
視訊編碼器編碼視訊資料並且視訊解碼器解碼視訊資料作為網路抽象層(NAL)單元。NAL單元通常是指語法結構,該語法結構包含要遵循的資料類型的指示和以原始位元組序列有效負荷(RBSP)並且必要時穿插有防仿真位元組的形式包含該資料的位元組。NAL單元可以包括視訊編碼層(VCL)NAL單元和非VCL NAL單元。
圖片單元(PU)通常是指一組NAL單元,其根據特定的分類規則相互關聯,在解碼順序上是連續的,並且恰好包含一個編碼圖片。存取單元通常是指屬於不同層的一組PU,並且包含與用於輸出的同一時間相關聯編碼圖片。
為了支援空間和時間可伸縮性,視訊資料可以在多個層中編碼。層通常是指一組VCL NAL單元,其皆具有相同的層識別值(例如,nuh_layer_id值)和相關聯的非VCL NAL單元。當解碼多層視訊資料時,視訊解碼器可以解碼並顯示所有層或僅顯示該等層的子集。
視訊解碼器可以維護(例如儲存和更新)編碼圖片緩衝器(CPB)。例如,CPB可以是包含特定解碼順序的解碼單元(DU)的先入先出緩衝器。視訊解碼器亦可以維護解碼圖片緩衝器(DPB)。DPB通常指的是保存解碼圖片以供參考、輸出重新排序或指定輸出延遲的緩衝器或記憶體。DU可以指存取單元(AU)中的一或多個VCL NAL單元以及相關聯的非VCL NAL單元。在某些情況下,DU亦可以是AU。
作為維護DPB的一部分,視訊解碼器可能需要定期從DPB中移除圖片,以騰出空間添加新圖片到DPB中。當解碼多層視訊資料時,一些現有的視訊解碼器維護子DPB,其中每個子DPB包含用於儲存一層解碼圖片的圖片儲存緩衝器。相反,當解碼多層視訊資料時,一些現有的視訊解碼器為所有層維護一個通用的DPB,這降低了複雜性,但可能引入了其他問題。例如,若僅對屬於與要編碼的圖片屬於同一層的圖片引動碰撞程序,則在緩衝器不包括該層的任何圖片的一些編碼場景中,碰撞程序可能無法在DPB為新圖片適當地建立空間。在本案的技術中,藉由從DPB僅移除屬於第一層的解碼圖片來在DPB上執行圖片輸出和移除程序,並且在從CPB移除當前圖片的最後解碼單元之後,跨DPB的所有層執行圖片碰撞程序可以有利地使視訊解碼器能夠對所有層使用共用DPB,同時確保所需的參考圖片不會過早地從DPB移除,並且亦確保DPB不會變得過滿。
可以參考視訊解碼來描述本案中描述的某些技術。然而,應當理解,除非有相反的說明,否則該等技術亦可以由視訊編碼器來執行。例如,視訊編碼器通常執行視訊解碼(亦稱為重構),作為決定如何編碼視訊資料的程序的一部分。例如,作為決定如何編碼視訊資料的區塊的一部分,視訊編碼器可以被配置為實現與視訊解碼器相同的DPB更新程序,從而使視訊編碼器和視訊解碼器維護相同的DPB。
圖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的此種編碼設備的實例。本案用「編碼(coding)」設備代表執行資料的編碼(coding)(編碼(encoding)及/或解碼(decoding))的設備。因此,視訊編碼器200和視訊解碼器300表示編碼設備的實例,具體地分別是視訊編碼器和視訊解碼器的實例。在一些實例中,源設備102和目的設備116可以以基本對稱的方式進行操作,使得源設備102和目的設備116中的每一個皆包括視訊編碼和解碼用元件。因此,系統100可以支援源設備102和目的設備116之間的單向或雙向視訊傳輸,例如用於視訊串流(streaming)、視訊重播、視訊廣播或視訊電話。
通常,視訊源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)或單向傳輸檔案傳送(FLUTE)協定)的伺服器、內容傳送網路(CDN)設備、超文字傳輸協定(HTTP)伺服器、多媒體廣播多播服務(MBMS)或增強型MBMS(eMBMS)伺服器及/或網路附加儲存(NAS)設備。檔案伺服器114可以另外地或替代地實現一或多個HTTP串流協定,例如HTTP上的動態可適性串流(DASH)、HTTP即時串流(HLS)、即時資料串流通訊協定(RTSP)、HTTP動態串流等。
目的設備116可以經由任何標準資料連接(包括網際網路連接)從檔案伺服器114存取編碼的視訊資料。這可以包括無線通道(例如,Wi-Fi連接)、有線連接(例如,數位用戶線(DSL)、電纜數據機等),或者兩者的適用於存取儲存在檔案伺服器114上的編碼的視訊資料的組合。輸入介面122可以被配置為根據上文論述的用於從檔案伺服器114取得或接收媒體資料的各種協定中的任何一或多個,或者用於取得媒體資料的其他此種協定來操作。
輸出介面108和輸入介面122可以表示無線發送器/接收器、數據機、有線網路元件(例如,乙太網路卡)、根據多種IEEE 802.11標準中的任何一種進行操作的無線通訊元件,或其他實體元件。在輸出介面108和輸入介面122包括無線元件的實例中,輸出介面108和輸入介面122可以被配置為根據諸如4G、4G-LTE(長期進化)、高級LTE、5G等的蜂巢通訊標準,來傳輸諸如編碼的視訊資料的資料。在輸出介面108包括無線發送器的一些實例中,輸出介面108和輸入介面122可以被配置為根據諸如IEEE 802.11規範、IEEE 802.15規範(例如,ZigBee ™)、Bluetooth ™標準等的其他無線標準,來傳輸諸如編碼的視訊資料的資料。在一些實例中,源設備102及/或目的設備116可以包括各自的片上系統(SoC)設備。例如,源設備102可以包括執行屬於視訊編碼器200及/或輸出介面108的功能的SoC設備,並且目的設備116可以包括執行屬於視訊解碼器300及/或輸入介面122的功能的SoC設備。
本案的技術可以應用於視訊編碼,以支援多種多媒體應用中的任何一種,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、諸如基於HTTP的動態可適性串流(DASH)的網際網路串流視訊傳輸、編碼到資料儲存媒體上的數位視訊、儲存在資料儲存媒體上的數位視訊的解碼,或其他應用。
目的設備116的輸入介面122從電腦可讀取媒體110(例如,通訊媒體、儲存設備112、檔案伺服器114等)接收編碼的視訊位元串流。編碼的視訊位元串流可以包括由視訊編碼器200定義的訊號傳遞資訊,其亦由視訊解碼器300使用,該訊號傳遞資訊諸如具有描述視訊區塊或其他編碼單元(例如,條帶、圖片、圖片群組、序列等)的特性及/或處理的值的語法元素。顯示設備118向使用者顯示解碼的視訊資料的解碼的圖片。顯示設備118可以表示多種顯示設備中的任何一種,諸如液晶顯示器(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,亦稱為通用視訊編碼(VVC)。VVC標準的最新草案在Bross等人於2019年10月1日-11日在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視訊專家小組(JVET)的瑞士日內片的第16次會議的JVET-P2001-v14(以下簡稱「VVC草案7」)的「通用視訊編碼(草案7)」中進行了描述。然而,本案的技術不限於任何特定的編碼標準。
通常,視訊編碼器200和視訊解碼器300可以執行基於區塊的圖片編碼。術語「區塊」通常是指包括要處理的資料(例如,編碼的、解碼的,或者另外在編碼及/或解碼處理中使用的資料)的結構。例如,區塊可以包括亮度及/或色度資料的取樣的二維矩陣。通常,視訊編碼器200和視訊解碼器300可以對以YUV(例如,Y、Cb、Cr)格式表示的視訊資料進行編碼。亦即,視訊編碼器200和視訊解碼器300可以對亮度和色度分量進行編碼,而不是對圖片取樣的紅、綠和藍(RGB)資料進行編碼,其中色度分量可以包括紅色調(hue)和藍色調色度分量。在一些實例中,視訊編碼器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可以被配置為根據VVC進行操作。根據VVC,視訊編碼器(諸如視訊編碼器200)將圖片分區為複數個編碼樹單元(CTU)。視訊編碼器200可以根據樹結構來分區CTU,諸如四元樹二元樹(QTBT)結構或多類型樹(MTT)結構。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可以是N的某個值的N×N取樣區塊,使得分區為將一個分量劃分為CTB。分量是以4:2:0、4:2:2或4:4:4彩色格式組成圖片的三個陣列(亮度和兩個色度)之一的陣列或單個取樣,或者是以單色格式組成圖片的陣列或陣列的單個取樣。在一些實例中,編碼區塊是一些M值和N值的M×N取樣區塊,使得分區是將CTB劃分成編碼區塊。
可以在圖片中以各種方式對區塊(例如,CTU或CU)進行群組化。作為一個實例,磚(brick)可以指圖片中特定片(tile)內的CTU行的矩形區域。片可以是圖片中特定片列和特定片行內的矩形區域。片列指具有與圖片的高度相等的高度和由語法元素(例如,在圖片參數集中)指定的寬度的CTU的矩形區域。片行指具有由語法元素(例如,在圖片參數集中)指定的高度和與圖片的寬度相等的寬度的CTU的矩形區域。
在一些實例中,片可以被分區為多個磚,其之每一者磚可以包括該片內的一或多個CTU行。未被分區為多個磚的片亦可以被稱為磚。然而,作為片的真實子集的磚不能被稱為片。
圖片中的磚亦可以按條帶排列。條帶可以是圖片的可以排他地在單個網路抽象層(NAL)單元中包含的整數數目的磚。在一些實例中,條帶包括多個完整的片或者僅包括一個片的完整磚的連續序列。
本案可以互換地使用「NxN」和「N乘N」來代表區塊(諸如CU或其他視訊區塊)在垂直和水平維度方面的取樣維度,例如16×16取樣或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的一些實例亦提供仿射(affine)運動補償模式,其可以被認為是訊框間預測模式。在仿射運動補償模式下,視訊編碼器200可以決定表示非平移運動的兩個或更多個運動向量,非平移運動諸如放大或縮小、旋轉、透視運動,或其他不規則運動類型。
為了執行訊框內預測,視訊編碼器200可以選擇訊框內預測模式來產生預測區塊。VVC的一些實例提供了六十七種訊框內預測模式,包括各種方向模式,以及平面模式和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進一步可以例如在圖片標頭(header)、區塊標頭、條帶標頭中向視訊解碼器300產生語法資料——諸如基於區塊的語法資料、基於圖片的語法資料和基於序列的語法資料,或其他語法資料­——諸如序列參數集(SPS)、圖片參數集(PPS),或視訊參數集(VPS)。同樣地,視訊解碼器300可以解碼此類語法資料以決定如何解碼對應的視訊資料。
以此種方式,視訊編碼器200可以產生包括編碼的視訊資料(例如,描述將圖片分區為區塊(例如,CU)的語法元素以及區塊的預測及/或殘差資訊)的位元串流。最終,視訊解碼器300可以接收位元串流並解碼編碼的視訊資料。
通常,視訊解碼器300執行與視訊編碼器200執行的處理相反的處理,以解碼位元串流的編碼的視訊資料。例如,視訊解碼器300可以使用CABAC以與視訊編碼器200的CABAC編碼處理基本相似但相反的方式來解碼位元串流的語法元素的值。語法元素可以定義將圖片分區為CTU的分區資訊,和根據對應的分區結構(諸如QTBT結構)對每個CTU進行分區,以定義CTU的CU。語法元素可以進一步定義視訊資料的區塊(例如,CU)的預測和殘差資訊。
殘差資訊可以由例如量化的變換係數來表示。視訊解碼器300可以對區塊的量化的變換係數進行逆量化和逆變換,以再現該區塊的殘差區塊。視訊解碼器300使用訊號傳遞通知的預測模式(訊框內或訊框間預測)和相關的預測資訊(例如,用於訊框間預測的運動資訊)來形成區塊的預測區塊。隨後視訊解碼器300可以(在逐個取樣的基礎上)組合預測區塊和殘差區塊,以再現原始區塊。視訊解碼器300可執行附加處理,諸如執行去區塊處理以減少沿著區塊的邊界的視覺偽像。
本案通常可以指「訊號傳遞通知」某些資訊,諸如語法元素。術語「訊號傳遞通知」通常可以指用於對編碼的視訊資料進行解碼的語法元素及/或其他資料的值的傳遞。亦即,視訊編碼器200可以在位元串流中訊號傳遞通知語法元素的值。通常,訊號傳遞通知指在位元串流中產生值。如前述,源設備102可以大體上即時地或者非即時地將位元串流傳輸到目的設備116,諸如當將語法元素儲存到儲存設備112以供目的設備116稍後取得時可能發生的情況。
圖2A和2B是圖示示例性四元樹二元樹(QTBT)結構130和對應的編碼樹單元(CTU)132的概念圖。實線表示四元樹分離(splitting),並且虛線指示二元樹分離。在二元樹的每個分離(亦即,非葉)節點中,訊號傳遞通知一個標誌以指示使用哪種分離類型(亦即,水平還是垂直),其中在本實例中,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大小被設置為128x128(亮度取樣和兩個對應的64x64色度取樣),MinQTSize被設置為16x16,MaxBTSize被設置為64x64,(寬度和高度兩者的)MinBTSize被設置為4,並且MaxBTDepth被設置為4。首先將四元樹分區應用於CTU,以產生四元樹葉節點。四元樹葉節點可以具有從16×16(亦即,MinQTSize)到128×128(亦即,CTU大小)的大小。若四元樹葉節點是128x128,則葉四元樹節點不會被二元樹進一步分離,因為其大小超過了MaxBTSize(亦即,在本實例中為64x64)。否則,四元樹葉節點將被二元樹進一步分區。因此,四元樹葉節點亦是二元樹的根節點,並且二元樹深度為0。當二元樹深度達到MaxBTDepth(在本實例中為4)時,不允許進一步分離。具有寬度等於MinBTSize(在本實例中為4)的二元樹節點意謂不允許對於二元樹節點的進一步垂直分離(亦即,對於寬度的劃分)。類似地,具有高度等於MinBTSize的二元樹節點意謂不允許對於二元樹節點進一步的水平分離(亦即,對於高度的劃分)。如前述,二元樹的葉節點被稱為CU,並且根據預測和變換被進一步處理,而無需進一步分區。
VVC 草案7支援多層編碼,其中DPB在不同層之間是共用的或共享的。DPB操作用子DPB表示,其中VVC 草案7的C.3.1節定義了一個子DPB,如下所示。 DPB在概念上由子DPB組成,並且每個子DPB包含用於儲存一層解碼圖片的圖片儲存緩衝器。每個圖片儲存緩衝器包含被標記為「用於參考」或被保存用於將來輸出的解碼圖片。
每個層皆有一個獨立調用的圖片輸出程序。VVC 草案7第C.5.2.1節對該程序描述如下: 引動第C.5.2.2條中規定的在解碼當前圖片之前從DPB輸出和移除圖片的程序,隨後引動第C.3.4條中規定的用於當前解碼圖片標記和儲存的程序,最後引動第C.5.2.3條中規定的用於附加碰撞的程序。「碰撞」程序在第C.5.2.4條中規定,並在第C.5.2.2和C.5.2.3條中引動。 從OLS中的最低層開始,按照OLS中各層的nuh_layer_id值的昇冪,對每個層獨立應用該等程序。當將該等程序應用於特定層時,只有特定層的子DPB受到影響。
DPB參數以dpb_parameters()語法結構訊號傳遞通知,如下所示
dpb_parameters(dpbSizeOnlyFlag,maxSubLayersMinus1,subLayerInfoFlag){ 描述符
     for([i]=(subLayerInfoFlag?0: maxSubLayersMinus1);                i <= maxSubLayersMinus1;[i]++){  
max_dec_pic_buffering_minus1[i] ue(v)
          if(!dpbSizeOnlyFlag){  
max_num_reorder_pics[i] ue(v)
max_latency_increase_plus1[i] ue(v)
          }  
     }  
}  
VVC 草案7將語法元素「max_dec_pic_buffering_minus 1[i]」定義如下-max_dec_pic_buffering_minus 1[i]加1指定,當Htid等於i時,對於CVS的每個CLVS,以圖片儲存緩衝器為單位,規定DPB所需的最大大小。max_dec_pic_buffering_minus1[i]的值應在0到MaxDpbSize-1(含端值)的範圍內,其中MaxDpbSize如A.4.2節中所規定。當i大於0時,max_dec_pic_buffering_minus1[i]應大於或等於max_dec_pic_buffering_minus1 [i-1]。若i 在0到maxSubLayersMinus1 − 1(含端值)之間的範圍內時,max_dec_pic_buffering_minus1[i]不存在,由於subLayerInfoFlag等於0,則推斷其等於max_dec_pic_buffering_minus1 [́maxSubLayersMinus1]。
VVC 草案7將語法元素「max_num_reorder_pics[[i]]」定義如下- max_num_reorder_pics[[i]]為CVS的每個CLVS指定CLVS的圖片的最大允許數量,當Htid等於i時,該數量可以按照解碼順序在CLVS的任何圖片之前,並且按照輸出順序在該圖片之後。max_num_reorder_pics[i]的值應在0到max_dec_pic_buffering_minus1[i](含端值)之間的範圍內。當i大於0時,max_num_reorder_pics[i]應大於或等於max_num_reorder_pics[i−1]。若i在0到maxSubLayersMinus1−1(含端值)之間時,max_num_reorder_pics[i]不存在,則由於subLayerInfoFlag等於0,則推斷其等於max_num_reorder_pics [́maxSubLayersMinus1]。
VVC 草案7將語法元素「max_latency_increase_plus1[i]」定義如下-不等於0的max_latency_increase_plus1[i]被用於計算MaxLatencyPictures[i]的值,該值為CVS的每個CLVS指定CLVS中的圖片的最大數量,當Htid等於i時,該等圖片可以按照輸出順序在CLVS中的任何圖片之前,並按照解碼順序在該圖片之後。 當max_latency_increase_plus1[i]不等於0時,MaxLatencyPictures[i]的值規定如下: MaxLatencyPictures[i]=max_num_reorder_pics[i]+max_latency_increase_plus1[i]−1                                                          (7-73) 當max_latency_increase_plus1[i]等於0時,不表示相應的限制。 max_latency_increase_plus1[i]的值應在0到232 −2(含端值)之間。若i在0到maxSubLayersMinus1−1(含端值)之間的範圍內時,max_latency_increase_plus1[i]不存在,由於subLayerInfoFlag等於0,則推斷其等於max_latency_increase_plus1[́maxSubLayersMinus1]。
VVC 草案7的DPB實現方式可能存在幾個問題。作為一個實例,在VVC 草案7中,DPB操作採用子DPB和子DPB充盈度來表示。然而,VVC 草案7沒有定義子DPB充盈度,亦沒有說明子DPB充盈度如何與在dpb_parameters()圖片結構中指定的DPB充盈度相關。
另外,未指定對子DPB的操作,例如應如何檢查子DPB充盈度。將特定的子DPB與最大DPB大小(MaxDpbSize)進行比較可能不夠,因為可能有多個子DPB,並且該等子DPB可能超過指定的DPB資源。
在VVC 草案7的第C.5.2.1節中,對每一層皆引動了從DPB輸出和移除圖片,其中只有特定層的子DPB受到影響。但是,未對子DPB定義DPB大小,因此不清楚例如如何為子DPB檢查條件「DPB中的圖片數量大於或等於max_dec_pic_buffering_minus1[Htid]+1」。
本案描述了可以解決上述問題的技術。本案中提供的方案可以獨立使用或以任何組合使用。
這裡提供的描述部分是參照使用DPB大小的實例來描述的,該大小由max_dec_pic_buffering_minus1語法元素來指定。然而,本案的技術亦可以與在dpb_paramters()語法結構中訊號傳遞通知的其他參數結合使用,例如max_num_reorder_pics和max_latency_increase_plus1。所有該等參數皆是針對整個DPB而不是針對子DPB訊號傳遞通知的,因此VVC 草案7中當前使用的子DPB條件檢查可以使用訊號傳遞通知的dpb_paramters()語法元素對整個DPB來執行。
針對DPB描述的揭示技術可適用於使用子DPB的其他操作中。例如,用於編碼圖片緩衝器(CPB)或假設參考解碼器(HRD)處理。
作為將共享解碼器圖片緩衝器用於多層的一部分,視訊編碼器200和視訊解碼器300可以配置為執行以下技術。
當使用子DPB時,不會在VVC 草案7中初始化整個DPB充盈度。在本案的一些實例中,視訊編碼器200和視訊解碼器300可以被配置為當解析視訊序列的第一圖片時,將DPB充盈度初始化為0。在一個實例中,視訊編碼器200和視訊解碼器300可被配置為當解析具有最低nuh_layer_id的CLVSS圖片0的第一條帶時,將DPB充盈度初始化為0。
將DPB圖片標記程序應用於當前層的圖片。但是,VVC 草案7中未指定DPB中其他nuh_layer_id圖片的狀態。在本案的一些實例中,圖片狀態或形態是指圖片標記,例如「用於短期參考」、「用於長期參考」、「用於層間預測」等,並且可替代地或另外地包括圖片輸出狀態,例如「用於輸出」的圖片、「不需要用於輸出」的圖片等。         對於一些實例,可能希望保持其他層的圖片狀態不變,即在前一個存取單元解碼之後,該狀態維護在DPB。換句話說,另一個nuh_layer_id的前一個圖片的狀態得以保留。在此種情況下,若另一層圖片是參考圖片,則其可能不會由於「碰撞」程序而移除。         在一些實例中,當解碼當前存取單元的第一個圖片時,所有圖片可以被標記為用於參考(例如,用於短期參考,用於長期參考)。         在一些實例中,在「碰撞」程序(C.5.2.4)中,只有當圖片具有的層id等於當前圖片層id時,圖片才被移除(清空)。在此種情況下,即使沒有參考其他層,亦可以輸出其他層的圖片,但不會將其從DPB中移除,當解碼該層的圖片時,將移除其他圖片。
在一個實例中,由於MaxDpbSize不是針對子DPB而定義的,而是針對輸出層集合(OLS)中的每一層定義的,因此DPB充盈度可以被定義為子DPB充盈度的總和。例如,MaxDpbSize可以由輪廓/級/層指定為圖片儲存緩衝器的最大數量。此外,若定義或訊號傳遞通知了子DPB大小,則子DPB大小的總和不得超過MaxDpbSize。在一個實例中,此種約束可以表示如下: 位元串流一致性的要求是,AU中包含的所有層的max_dec_pic_buffering_minus1[i]之和在0到MaxDpbSize-1(含端值)的範圍內。
在一些實例中,約束可以表示如下: 位元串流一致性的要求是,OLS中包含的所有層的max_dec_pic_buffering_minus1[i]之和在0到MaxDpbSize-1(含端值)的範圍內。
在輸出和移除圖片程序中,視訊編碼器200和視訊解碼器300可以被配置為每層執行一些操作,並且即使每層引動該程序,亦可以跨層對整個DPB執行一些操作,而不是獨立地對每層執行所有操作。例如,視訊編碼器200和視訊解碼器300可以被配置為維護用於儲存包括至少第一層和第二層的複數個層的參考圖片的DPB。在解碼第一層存取單元的當前圖片之前,視訊編碼器200和視訊解碼器300可以被配置為在DPB上執行圖片輸出和移除程序,例如下文參考第5.2.2節所述。在從CPB移除當前圖片的最後解碼單元之後,視訊編碼器200和視訊解碼器300可以被配置為跨DPB的所有層執行圖片碰撞程序,如下文參考第C.5.2.3和C.5.2.4節所述。
在一個實例中,每層引動圖片輸出和移除以及附加的碰撞程序,其中對於編碼層視訊序列開始(CLVSS)圖片(內部隨機存取點(IRAP)圖片),子DPB被清空,而「碰撞」程序C.5.2.4跨層在整個DPB上操作,因為這可能是AU不完整(並非所有層圖片皆存在)的情況,但是其他層的圖片可能需要在當前AU中出現的層的圖片之前輸出。
當每層清空子DPB時,即清空具有特定層ID的圖片時,對包括所有層圖片在內的整個DPB引動圖片「碰撞」程序。
以類似的方式,對一層或每層引動DPB操作的程序(例如,C.3節),但是當輸出或清空圖片時,對DPB中的所有圖片,例如,跨層引動此種程序。
在一個實例中,該技術可以藉由從VVC 草案7的相關章節中移除「當該等程序被應用於特定層時,只有特定層的子DPB受到影響」的條件來實現。
在一些實例中,圖片移除可以僅在每一層內應用,而圖片輸出可以跨不同層應用。
作為執行上述技術的一部分,視訊編碼器200及/或視訊解碼器300可以被配置為維護用於儲存複數個層的參考圖片的解碼圖片緩衝器(DPB),其中DPB包括用於儲存複數個層的一層的參考圖片的子DPB;解碼視訊資料的圖片;及將解碼圖片的副本作為參考圖片儲存在DPB中。
視訊編碼器200及/或視訊解碼器300亦可以被配置為決定子DPB的充盈度及/或決定DPB的充盈度。視訊編碼器200及/或視訊解碼器300亦可被配置為回應於被解析的視訊序列的第一圖片,將子DPB的充盈度初始化為零,及/或回應於具有最低nuh_layer_id的CLVSS圖片0的第一條帶被解析,將子DPB的充盈度初始化為零。視訊編碼器200及/或視訊解碼器300亦可以被配置為用狀態來標記儲存在子DPB中的圖片。
在使用VVC 草案7的一個實例中,本案的技術可以經由對圖片輸出和移除描述的以下修改來實現。標籤「<ADD>」圖示由本案提出的添加的開始,而標籤「</ADD>」圖示該等添加的結束。標籤「<DEL>」圖示由本案提出的移除(亦即,文字移除)的開始,而標籤「</DEL>」圖示該等移除的結束。
在下文的描述中,AU代表屬於不同層的一組PU,並且包含與從DPB輸出的相同時間相關聯的編碼圖片。若DecodingUnitHrdFlag等於0,則解碼單元(DU)指的是AU,否則是AU的子集,該子集由AU中的一或多個VCL NAL單元以及相關的非VCL NAL單元組成。 8.3.3參考圖片標記的解碼程序 在按照第8.3.2條的規定對條帶標頭進行解碼並且針對該條帶的參考圖片清單構建進行解碼之後,但在對條帶資料進行解碼之前,對每個圖片引動一次該程序。該程序可能導致DPB中的一或多個參考圖片被標記為「未用於參考」或「用於長期參考」。 DPB中的解碼圖片可以被標記為「未用於參考」、「用於短期參考」或「用於長期參考」,但是在解碼程序的操作期間的任何給定時刻,只標記該三者的一個。若適用,將該等標記中的一個分配給圖片會隱含地移除另一個標記。當圖片被標記為「用於參考」時,這可以表示圖片被標記為「用於短期參考」或「用於長期參考」(但兩者不能同時使用)。 STRP和ILRP由其nuh_layer_id和PicOrderCntVal值來識別。LTRP由其nuh_layer_id值和其PicOrderCntVal值的Log2(MaxLtPicOrderCntLsb)LSB識別。 若當前圖片是CLVSS圖片,則當前在DPB的所有參考圖片(若有)與當前圖片具有相同的nuh_layer_id,並被標記為「未用於參考」。 否則,以下內容適用:   對於RefPicList[0]或RefPicList[1]之每一者LTRP條目,當圖片是與當前圖片具有相同nuh_layer_id的STRP時,該圖片被標記為「用於長期參考」。   對於RefPicList[0]或RefPicList[1]中的任何條目皆未引用的、與DPB中當前圖片具有相同nuh_layer_id的每個參考圖片皆標記為「未用於參考」。   對於RefPicList[0]或RefPicList[1]之每一者ILRP條目,圖片被標記為「用於長期參考」。 <ADD>DPB中與當前圖片nuh_layer_id不同的圖片保留了先前圖片標記的DPB狀態。</ADD> 在一些實例中,可以指定當前圖片的參考圖片標記不影響其nuh_layer_id不等於當前圖片的nuh_layer_id的圖片的參考圖片標記。C.5.2 輸出順序 DPB 的操作 C.5.2.1 概述 本條中的規範獨立適用於第C.1條中規定的每組DPB參數。 DPB在概念上由子DPB組成,每個子DPB包含用於儲存一層解碼圖片的圖片儲存緩衝器。每個圖片儲存緩衝器包含被標記為「用於參考」或被保存用於將來輸出的解碼圖片。 引動第C.5.2.2條中規定的在解碼當前圖片之前從DPB輸出和移除圖片的程序,隨後引動第C.3.4條中規定的用於當前解碼圖片標記和儲存的程序,最後引動第C.5.2.3條中規定的用於附加碰撞的程序。「碰撞」程序在第C.5.2.4條中規定,並在第C.5.2.2和C.5.2.3條中引動。 <DEL>該等程序</DEL><ADD>第C.5.2.2條「從DPB中輸出圖片和移除圖片」和C.5.2.3「其他碰撞」 </ADD>分別應用於每一層,從OLS中的最低層開始,以OLS中各層的nuh_layer_id值的昇冪排列。<DEL>當該等程序應用於特定層時,只有特定層的子DPB受到影響。</DEL><ADD>第C.5.2.4條適用於DPB中任何一層的所有圖片。</ADD> 注意:在輸出順序DPB的操作中,與輸出時序DPB的操作相同,在同一存取單元中PicOutputFlag等於1的解碼圖片亦將按解碼圖片的nuh_layer_id值的昇冪連續輸出。 假設圖片n和當前圖片是對於特定的nuh_layer_id值的存取單元n的編碼圖片或解碼圖片,其中n是非負整數。C.5.2.2 DPB 輸出和移除圖片 在解碼當前圖片之前(但在解析當前圖片的第一個條帶的條帶標頭之後),當包含當前圖片的AU的第一個DU從CPB被移除時,圖片從DPB的輸出和移除即刻發生,並進行如下操作:   引動第8.3.2條中規定的用於參考圖片清單構建的解碼程序和第8.3.3條中規定的用於參考圖片標記的解碼程序。   若當前圖片是非圖片0的CLVSS圖片,則執行以下有序步驟: 1 為測試解碼器匯出變數NoOutputOfPriorPicsFlag,如下所示: - 若匯出為當前AU的任何圖片的pic_width_max_in_luma_samples,pic_height_max_in_luma_samples,chroma_format_idc,separate_colour_plane_flag,bit_depth_minus8,或max_dec_pic_buffering_minus1[Htid]的值分別與在相同的CLVS中的之前圖片的pic_width_max_in_luma_samples,pic_height_max_in_luma_samples,chroma_format_idc,separate_colour_plane_‌flag,bit_depth_minus8,或max_dec_pic_buffering_minus1[Htid]的值不同,測試下的解碼器可以(但不應)將NoOutputOfPriorPicsFlag設置為1,而不管no_output_of_prior_pics_flag的值如何。 注:儘管在該等情況下,最好將NoOutputOfPriorPicsFlag設置為等於no_output_of_prior_pics_flag,但是在此種情況下,允許測試下的解碼器將NoOutputOfPriorPicsFlag設置為1。 - 否則,將NoOutputOfPriorPicsFlag設置為等於no_output_of_prior_pics_flag。 2 為測試下的解碼器匯出的NoOutputOfPriorPicsFlag的值按如下方式應用於HRD: - 若NoOutputOfPriorPicsFlag等於1,則將清空<DEL>DPB</DEL><ADD>sub-DPB</ADD> 中的所有圖片儲存緩衝器,而不會輸出其所包含的圖片,並且將DPB充盈度設置為<DEL> 等於0</DEL><ADD> 對於每個已清空的圖片儲存緩衝器,將其減1</ADD> 。 [在使用子DPB充盈度的替代語言中,若NoOutputOfPriorPicsFlag等於1,則<DEL>DPB</DEL><ADD>sub-DPB</ADD>中的所有圖片儲存緩衝器將被清空,而不會輸出包含的圖片,並且<DEL>DPB</DEL><ADD>sub-DPB</ADD>充盈度設置為等於0。] - 否則(NoOutputOfPriorPicsFlag等於0),將清空所有包含標記為「不需要輸出」和「未用於參考」圖片的圖片儲存緩衝器(不輸出),並且藉由重複引動C.5.2.4條中指定的「碰撞」程序清空<DEL>DPB</DEL><ADD>sub-DPB </ADD> 中的所有非空圖片儲存緩衝器,並且將DPB充盈度設置為<DEL> 等於0</DEL><ADD> 對於每個已清空的圖片儲存緩衝器,將其減1</ADD> 。 [在使用子DPB充盈度的替代語言中,否則(NoOutputOfPriorPicsFlag等於0),將清空所有包含標記為「不需要輸出」和「未用於參考」圖片的圖片儲存緩衝器(不輸出),並且藉由重複引動C.5.2.4條中指定的「碰撞」程序清空<DEL>DPB</DEL><ADD>sub-DPB </ADD>中的所有非空圖片儲存緩衝器,並且<DEL>DPB </DEL> <ADD>sub-DPB </ADD>充盈度設置為等於0。] - [用另一種替代語言,否則(NoOutputOfPriorPicsFlag等於0),將清空所有包含標記為「不需要輸出」和「未用於參考」圖片的圖片儲存緩衝器(不輸出),並且藉由重複引動第C.5.2.4條中指定的「碰撞」程序來清空<ADD>all</ADD>,<DEL>DPB</DEL><ADD>sub-DPB</ADD>中的所有非空圖片儲存緩衝器,並且所有子DPB</ADD>的<DEL>DPB</DEL><ADD>sub-DPB</ADD>充盈度<ADD>均設置為0。] 否則(當前圖片不是CLVSS圖片<ADD>或者CLVSS圖片是圖片0</ADD>),所有包含被標記為「不需要輸出」和「未用於參考」圖片的圖片儲存緩衝器被清空(無輸出)。對於每個被清空的圖片儲存緩衝器,DPB充盈度遞減1。當下列一或多個條件為真時,重複引動第C.5.2.4條中規定的「碰撞」程序,同時對於每個被清空的附加圖片儲存緩衝器,DPB充盈度進一步遞減1,直到下列條件皆不為真: – DPB中標記為「需要輸出」的圖片數量大於max_num_reorder_pics [Htid]。 – max_latency_increase_plus1[Htid]不等於0,並且DPB中至少有一張圖片標記為「需要輸出」,其相關聯的變數PicLatencyCount大於或等於MaxLatencyPictures [Htid]。 – DPB中的圖片數量大於或等於max_dec_pic_buffering_minus1[Htid]+1。C.5.2.3 附加碰撞 當包含當前圖片的AU n的最後一個DU從CPB中移除時,本條中指定的程序即刻發生。 當前圖片的PictureOutputFlag等於1時,對於DPB中標記為「需要輸出」並按照輸出順序在當前圖片的每個圖片之後,將相關變數PicLatencyCount設置為等於PicLatencyCount+1。 以下內容適用: – 若當前解碼的圖片的PictureOutputFlag等於1,則將其標記為「需要輸出」,並且其關聯變數PicLatencyCount設置為0。 – 否則(當前解碼的圖片的PictureOutputFlag等於0),將其標記為「不需要輸出」。 當下列一或多個條件為真時,重複引動C.5.2.4條中規定的「碰撞」程序,直到下列條件均不為真: – DPB中標記為「需要輸出」的圖片數量大於max_num_reorder_pics[Htid]。 – max_latency_increase_plus1[Htid]不等於0,並且DPB中至少有一張標記為「需要輸出」的圖片,其關聯變數PicLatencyCount大於或等於MaxLatencyPictures [Htid]。C.5.2.4 「碰撞」程序 「碰撞」程序由以下有序步驟組成: 1. 在DPB中標記為「需要輸出」的所有圖片中,選擇要被首先輸出的一或多個圖片作為具有PicOrderCntVal的最小值的圖片。 2. 使用圖片的一致性裁剪訊窗,以nuh_layer_id昇冪對該等圖片中的每一個進行裁剪,輸出裁剪後的圖片,並將該圖片標記為「不需要輸出」。 3. 清空包含被標記為「未用於參考」的圖片以及被裁剪和輸出的圖片之一的每個圖片儲存緩衝器,並且<DEL>相關子</DEL>DPB的充盈度遞減1。 注意:對於屬於同一個CVS並經由「碰撞程序」輸出的任何兩張圖picA和picB,當picA比picB早輸出時,picA的PicOrderCntVal的值小於<ADD>或等於</ADD> picB的PicOrderCntVal的值。
圖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的其他元件在晶片上,如圖所示,或者相對於該等元件在晶片外。
DPB 218可以包括共享的多層DPB 219。如在本案的其他地方更詳細解釋的,視訊編碼器200可以被配置為儲存共享多層DPB 219中的複數個層的參考圖片。在解碼第一層的存取單元的當前圖片之前,視訊編碼器200可以對共享多層DPB 219執行圖片輸出和移除程序,以從共享多層DPB 219僅移除屬於第一層的一些解碼圖片。在從CPB移除當前圖片的最後解碼單元之後,視訊編碼器200可以跨共享多層DPB 219的所有層執行圖片碰撞程序。
在本案中,對視訊資料記憶體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可以包括調色板(palette)單元、區塊內複製單元(其可以是運動估計單元222及/或運動補償單元224的一部分)、仿射單元、線性模型(LM)單元等。
模式選擇單元202通常協調多個編碼遍歷(pass),以測試編碼參數的組合以及此種組合的結果(resulting)率失真值。編碼參數可以包括將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)、方向變換、卡爾亨-洛夫變換(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)編碼操作、指數-戈倫(Exponential-Golomb)編碼操作,或另一種類型的熵編碼操作。在一些實例中,熵編碼單元220可以在語法元素未被熵編碼的旁路模式下操作。
視訊編碼器200可以輸出包括重構條帶或圖片的區塊所需的經熵編碼的語法元素的位元串流。具體地,熵編碼單元220可以輸出位元串流。
以上描述的操作是針對區塊進行描述的。此種描述應該理解為用於亮度編碼區塊及/或色度編碼區塊的操作。如前述,在一些實例中,亮度編碼區塊和色度編碼區塊是CU的亮度和色度分量。在一些實例中,亮度編碼區塊和色度編碼區塊是PU的亮度和色度分量。
在一些實例中,不需要對色度編碼區塊重複針對亮度編碼區塊執行的操作。作為一個實例,不需要為了識別色度區塊的運動向量(MV)和參考圖片而重複識別亮度編碼區塊的MV和參考圖片的操作。相反,亮度編碼區塊的MV可以被縮放以決定色度區塊的MV,並且參考圖片可以是相同的。作為另一實例,訊框內預測處理對於亮度編碼區塊和色度編碼區塊可以是相同的。
視訊編碼器200表示被配置為編碼視訊資料的設備的實例,該設備包括被配置為儲存視訊資料的記憶體,以及在電路中實現並被配置為執行本案的技術(包括在下文的請求項部分中描述的技術)的一或多個處理單元。
圖4是圖示可以執行本案的技術的示例性視訊解碼器300的方塊圖。圖4是出於說明的目的而提供的,並不限制本案中廣泛示例和描述的技術。出於說明的目的,本案根據JEM、VVC和HEVC的技術來描述視訊解碼器300。然而,本案的技術可以由被配置為其他視訊編碼標準的視訊編碼設備來執行。
在圖6的實例中,視訊解碼器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、逆整數變換、逆卡爾亨-洛夫變換(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 314輸出解碼的圖片(例如,解碼的視訊),用於在顯示設備(諸如圖1的顯示設備118)上隨後呈現。
DPB 314可以包括共享的多層DPB 315。如在本案的其他地方更詳細解釋的,視訊解碼器300可以被配置為儲存共享多層DPB 315中的複數個層的參考圖片。在解碼第一層的存取單元的當前圖片之前,視訊解碼器300可以對共享多層DPB 315執行圖片輸出和移除程序,以僅從共享多層DPB 315移除屬於第一層的一些解碼圖片。在從CPB記憶體320移除當前圖片的最後一個解碼單元之後,視訊解碼器300可以跨共享多層DPB 315的所有層執行圖片碰撞程序。亦即,視訊解碼器300可以執行不限於特定層的圖片碰撞程序,亦可以從除當前圖片的層之外的層執行圖片碰撞程序。
以此種方式,視訊解碼器300表示視訊解碼設備的實例,該視訊解碼設備包括被配置為儲存視訊資料的記憶體,以及在電路中實現並被配置為執行本案的技術(包括以下請求項部分描述的技術)的一或多個處理單元。
圖5是圖示用於編碼當前區塊的示例性程序的流程圖。當前區塊可以包括當前CU。儘管針對視訊編碼器200(圖1和圖3)進行描述,但是應當理解,其他設備可以被配置為執行與圖5類似的程序。
在本實例中,視訊編碼器200最初預測當前區塊(350)。例如,視訊編碼器200可以形成當前區塊的預測區塊。隨後視訊編碼器200可以計算當前區塊的殘差區塊(352)。為了計算殘差區塊,視訊編碼器200可以計算原始未編碼區塊與當前區塊的預測區塊之間的差。隨後視訊編碼器200可以變換並量化殘差區塊的係數(354)。接下來,視訊編碼器200可以掃瞄殘差區塊的量化的變換係數(356)。在掃瞄期間,或在掃瞄之後,視訊編碼器200可以對變換係數進行熵編碼(358)。例如,視訊編碼器200可以使用CAVLC或CABAC對變換係數進行編碼。隨後視訊編碼器200可以輸出區塊的熵編碼的資料(360)
圖6是圖示用於解碼視訊資料的當前區塊的示例性程序的流程圖。當前區塊可以包括當前CU。儘管針對視訊解碼器300(圖1和圖4)進行描述,但是應當理解,其他設備可以被配置為執行與圖8類似的程序。
視訊解碼器300可以接收當前區塊的熵編碼的資料(370),諸如用於對應於當前區塊的殘差區塊的係數的熵編碼的預測資訊和熵編碼的資料。視訊解碼器300可以對熵編碼的資料進行熵解碼,以決定當前區塊的預測資訊,並再現殘差區塊的係數(372)。視訊解碼器300可預測當前區塊(374),例如,使用由當前區塊的預測資訊指示的訊框內或訊框間預測模式,來計算當前區塊的預測區塊。隨後視訊解碼器300可以逆掃瞄再現的係數(376),以建立量化的變換係數的區塊。隨後視訊解碼器300可以對變換係數進行逆量化和逆變換,以產生殘差區塊(378)。視訊解碼器300可藉由組合預測區塊和殘差區塊來最終解碼當前區塊(380)。
圖7是說明解碼視訊資料的示例性程序的流程圖。圖7的技術可以由諸如視訊解碼器300(圖1和圖4)的視訊解碼器或者諸如視訊編碼器200(圖1和圖3)的視訊編碼器的視訊解碼迴路來執行。
視訊解碼器維護用於儲存複數個層的參考圖片的DPB(400)。DPB儲存先前解碼的圖片。複數個層包括至少第一層和第二層。
在解碼第一層的存取單元的當前圖片之前,視訊解碼器藉由從DPB僅移除屬於第一層的解碼圖片來在DPB上執行圖片輸出和移除程序(402)。例如,視訊解碼器可以在解碼第一層的當前圖片之前並且在解析當前圖片的條帶的條帶標頭之後,在DPB上執行圖片輸出和移除程序。例如,視訊解碼器可以回應於從CPB移除當前圖片的第一解碼單元,在DPB上執行圖片輸出和移除程序。CPB可以儲存編碼的多層視訊資料用於解碼。
在從CPB移除當前圖片的最後解碼單元之後,視訊解碼器跨DPB的所有層執行圖片碰撞程序(404)。為了跨DPB的所有層執行圖片碰撞程序,視訊解碼器可以從DPB中移除第二層的至少一個圖片。為了跨DPB的所有層執行圖片碰撞程序,視訊解碼器可以例如從DPB中移除被標記為不需要輸出並且被標記為未用於參考的參考圖片。
視訊解碼器可以識別DPB中的參考圖片;識別用於參考圖片中當前圖片的當前區塊的預測區塊;基於預測區塊解碼當前區塊;並且輸出當前圖片的解碼版本,其中當前圖片的解碼版本包括當前區塊的解碼版本。
以下各條代表了上述技術和設備的實例。
第1條:用於解碼多層視訊資料的設備包括:記憶體,被配置為儲存多層視訊資料;及一或多個處理器,其在電路中實現,並且被配置為維護解碼圖片緩衝器(DPB),用於儲存複數個層的參考圖片,其中複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序,其中為了在DPB上執行圖片輸出和移除程序,一或多個處理器進一步被配置為僅從DPB移除屬於第一層的解碼圖片;並且在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。
第2條:根據第1條該的設備,其中為了在DPB上執行圖片輸出和移除程序,一或多個處理器進一步被配置為在解碼第一層的當前圖片之前以及在解析當前圖片的條帶的條帶標頭之後,在DPB上執行圖片輸出和移除程序。
第3條:根據第1和2條任一項所述的設備,其中為了在DPB上執行圖片輸出和移除程序,一或多個處理器進一步被配置為回應於從CPB移除當前圖片的第一解碼單元而在DPB上執行圖片輸出和移除程序。
第4條:根據第1至3條中任一項所述的設備,其中為了在跨DPB的所有層執行圖片碰撞程序,一或多個處理器進一步被配置為從該DPB移除被標記為不需要輸出並且被標記為未用於參考的參考圖片。
第5條:根據第1至4條中任一項所述的設備,其中為了在跨該DPB的所有層上執行圖片碰撞程序,該一或多個處理器進一步被配置為從該DPB移除該第二層的至少一個圖片。
第6條:根據第1至5條中任一項所述的設備,其中一或多個處理器進一步被配置為:識別DPB中的參考圖片;識別用於參考圖片中當前圖片的當前區塊的預測區塊;基於預測區塊解碼當前區塊;及輸出當前圖片的解碼版本,其中當前圖片的解碼版本包括當前區塊的解碼版本。
第7條:根據第1至6條中任一項所述的設備,其中該DPB被配置為儲存先前解碼的圖片,並且其中該CPB被配置為儲存編碼的多層視訊資料。
第8條:根據第1至7條中任一項所述的設備,其中該一或多個處理器進一步被配置為在該記憶體中維護DPB和CPB。
第9條:根據第1至8條中任一項的設備,其中該設備包括無線通訊設備,進一步包括被配置為接收編碼的多層視訊資料的接收器。
第10條:根據第9條該的設備,其中該無線通訊設備包括電話手持機,並且其中該接收器被配置為根據無線通訊標準對包括該編碼的多層視訊資料的信號進行解調。
第11條:根據第1至8條中任一項所述的設備,其中該設備包括無線通訊設備,進一步包括被配置為發送編碼的多層視訊資料的發射器。
第12條:根據第11條該的設備,其中該無線通訊設備包括電話手持機,並且其中該發射器被配置為根據無線通訊標準對包括編碼的多層視訊資料的信號進行調制。
第13條:根據第1至12條中任一項所述的設備,進一步包括顯示器,該顯示器被配置為顯示包括當前圖片的解碼版本的解碼的多層視訊資料。
第14條:根據第1至13條中任一項的設備,其中該設備包括照相機、電腦、行動設備、廣播接收器設備或機上盒中的一或多個。
第15條:一種對多層視訊資料進行解碼的方法,包括:維護解碼圖片緩衝器(DPB),該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序,其中在DPB上執行圖片輸出和移除程序包括僅從DPB移除屬於第一層的解碼圖片;及在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。
第16條:根據第15條所述的方法,其中在DPB上執行圖片輸出和移除程序包括:在對第一層的當前圖片進行解碼之前以及在解析當前圖片的條帶的條帶標頭之後,在DPB上執行圖片輸出和移除程序。
第17條:根據第15和16條任一項所述的方法,其中在DPB上執行圖片輸出和移除程序包括:回應於從CPB移除當前圖片的第一解碼單元,在DPB上執行圖片輸出和移除程序。
第18條:根據第15至17條中任一項所述的方法,在DPB的所有層上執行圖片碰撞程序包括:從DPB中移除被標記為不需要輸出並且被標記為未用於參考的參考圖片。
第19條:根據第15至18條中任一項所述的方法,其中跨DPB的所有層執行圖片碰撞程序包括從DPB移除第二層的至少一個圖片。
第20條:根據第15至19條中任一項所述的方法,進一步包括識別DPB中的參考圖片;識別用於參考圖片中當前圖片的當前區塊的預測區塊;基於預測區塊解碼當前區塊;及輸出當前圖片的解碼版本,其中當前圖片的解碼版本包括當前區塊的解碼版本。
第21條:根據第20條所述的方法,進一步包括顯示當前圖片的解碼版本。
第22條:根據第15至21條中任一項所述的方法,其中該DPB被配置為儲存先前解碼的圖片,並且其中該CPB被配置為儲存編碼的多層視訊資料。
第23條:根據第15至20條或第22條中任一項所述的方法,其中解碼方法作為編碼程序的一部分來執行。
第24條:一種儲存指令的電腦可讀取儲存媒體,在由一或多個處理器執行時,該等指令使得一或多個處理器執行以下操作:維護用於儲存複數個層的參考圖片的解碼圖片緩衝器(DPB),其中該複數個層包括至少第一層和第二層;在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序,其中為了在DPB上執行圖片輸出和移除程序,指令使得一或多個處理器僅從DPB移除屬於第一層的解碼圖片;及在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序。
第25條:根據第24條該的電腦可讀取儲存媒體,其中為了在DPB上執行圖片輸出和移除程序,指令使得一或多個處理器在解碼第一層的當前圖片之前和在解析當前圖片的條帶的條帶標頭之後,在DPB上執行圖片輸出和移除程序。
第26條:根據第24和25條任一項所述的電腦可讀取儲存媒體,其中為了在DPB上執行圖片輸出和移除程序,指令使得一或多個處理器回應於從CPB移除當前圖片的第一解碼單元而在DPB上執行圖片輸出和移除程序。
第27條:根據第24至26條中任一項所述的電腦可讀取儲存媒體,其中為了在DPB的所有層上執行圖片碰撞程序,指令使得一或多個處理器亦被配置為從DPB中移除被標記為不需要輸出並且被標記為未用於參考的參考圖片。
第28條:根據第24至27條中任一項所述的電腦可讀取儲存媒體,其中為了在該DPB的所有層上執行圖片碰撞程序,指令使得一或多個處理器從該DPB移除該第二層的至少一個圖片。
第29條:根據第24至28條中任一項所述的電腦可讀取儲存媒體,其中指令進一步使一或多個處理器:識別DPB中的參考圖片;識別用於參考圖片中當前圖片的當前區塊的預測區塊;基於預測區塊解碼當前區塊;及輸出當前圖片的解碼版本,其中當前圖片的解碼版本包括當前區塊的解碼版本。
第30條:根據第24至29條中任一項所述的電腦可讀取儲存媒體,其中DPB被配置為儲存先前解碼的圖片,並且其中CPB被配置為儲存編碼的多層視訊資料。
第31條:一種用於解碼多層視訊資料的設備包括:用於維護解碼圖片緩衝器(DPB)的構件,該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中該複數個層包括至少第一層和第二層;用於在解碼第一層的存取單元的當前圖片之前,在DPB上執行圖片輸出和移除程序的構件,其中在DPB上執行圖片輸出和移除程序包括僅從DPB移除屬於第一層的解碼圖片;及用於在從編碼圖片緩衝器(CPB)移除當前圖片的最後解碼單元之後,對跨DPB的所有層執行圖片碰撞程序的構件。
第32條:根據第31條所述設備,其中在DPB上執行圖片輸出和移除程序的構件包括:在對第一層的當前圖片進行解碼之前以及在解析當前圖片的條帶的條帶標頭之後,在DPB上執行該圖片輸出和移除程序。
第33條:根據第31和32條任一項所述的設備,其中在DPB上執行圖片輸出和移除程序的構件包括:回應於從CPB移除當前圖片的第一解碼單元,在DPB上執行圖片輸出和移除程序。
第34條:根據第31至33條中任一項所述的設備,其中在跨DPB的所有層上執行圖片碰撞程序的構件包括:從DPB中移除被標記為不需要輸出並且被標記為未用於參考的參考圖片。
第35條:根據第31至34條中任一項所述的設備,其中用於跨DPB的所有層執行圖片碰撞程序的構件包括用於從DPB移除第二層的至少一個圖片的構件。
第36條:根據第31至35條中任一項所述的設備,進一步包括識別DPB中的參考圖片的構件;識別用於參考圖片中當前圖片的當前區塊的預測區塊的構件;基於預測區塊解碼當前區塊的構件;及輸出當前圖片的解碼版本的構件,其中當前圖片的解碼版本包括當前區塊的解碼版本。
第37條:根據第31至36條中任一項所述的設備,其中該DPB被配置為儲存先前解碼的圖片,並且其中該CPB被配置為儲存編碼的多層視訊資料。
第38條:根據第31至37條中任一項的設備,其中用於解碼多層視訊資料的設備是視訊編碼器的一部分。
第39條:一種對視訊資料解碼的方法,包括:維護用於儲存複數個層的參考圖片的解碼圖片緩衝器(DPB),其中DPB包括用於儲存複數個層的一層的參考圖片的子DPB;解碼視訊資料的圖片;及將解碼圖片的副本作為參考圖片儲存在DPB中。
第40條:根據第39條所述的方法,進一步包括決定子DPB的充盈度。
第41條:根據第39或40條所述的方法,進一步包括決定DPB的充盈度。
第42條:根據第39至41條中任一項的方法,進一步包括:回應於解析視訊序列的第一圖片,將子DPB充盈度初始化為零。
第43條:根據第39至41條中任一項的方法,進一步包括:回應於具有最低nuh_layer_id的CLVSS圖片0的第一條帶被解析,將子DPB的充盈度初始化為零。
第44條:根據第39至43條中任一項的方法,進一步包括用狀態標記儲存在子DPB中的圖片。
第45條:根據第39至44條中任一項所述的方法,其中該DPB包括第二子DPB,該第二子DPB用於儲存該複數個層的第二層的參考圖片。
第46條:根據第39至45條中任一項所述的方法,其中解碼方法作為編碼程序的一部分來執行。
第47條:一種用於對視訊資料進行編碼的設備,該設備包括一或多個用於執行39-46條中任何一項所述方法的構件。
第48條:根據第47條所述的設備,其中該一或多個構件包含在電路中實現的一或多個處理器。
第49條:根據第46或47條所述的設備,進一步包括用於儲存視訊資料的記憶體。
第50條:根據第47至49條中任一項所述的設備,進一步包括配置為顯示解碼視訊資料的顯示器。
第51條:根據第47至50條中任一項的設備,其中該設備包括照相機、電腦、行動設備、廣播接收器設備或機上盒中的一或多個。
第52條:根據第47至51中任一項的設備,其中該設備包括視訊解碼器。
第53條:根據第47至52中任一項的設備,其中該設備包括視訊編碼器。
第54條:一種其上儲存有指令的電腦可讀取儲存媒體,該指令在被執行時使一或多個處理器執行第39-46中任一項所述的方法。
應當認識到,根據實例,本文描述的任何技術的某些動作或事件可以以不同的循序執行,可以被添加,合併或完全省略(例如,並非所有描述的動作或事件皆是技術實踐所必需的)。此外,在某些實例中,動作或事件可以例如經由多執行緒處理,中斷處理或多個處理器併發地而不是順序地執行。
在一或多個實例中,可以以硬體,軟體,韌體或其任何組合來實現所描述的功能。若以軟體實現,則功能可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或經由電腦可讀取媒體傳輸,並由基於硬體的處理單元執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體,其對應於諸如資料儲存媒體的有形媒體,或者通訊媒體,包括例如根據通訊協定來促進將電腦程式從一個地方轉移到另一個地方的任何媒體。以此種方式,電腦可讀取媒體通常可以對應於(1)非暫態的有形電腦可讀取儲存媒體,或者(2)諸如信號或載波的通訊媒體。資料儲存媒體可以是可以由一台或多台電腦或一或多個處理器存取以取得指令、代碼及/或資料結構以實現本案中描述的技術的任何可用媒體。電腦程式產品可以包括電腦可讀取媒體。
舉例而言(但並非限制),此種電腦可讀取儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器,磁碟儲存器或其他磁性儲存設備,快閃記憶體或任何其他可以用來以指令或資料結構的形式儲存所需的程式碼,並且可以由電腦存取。而且,任何連接皆適當地稱為電腦可讀取媒體。例如,若使用同軸電纜、光纖電纜、雙絞線、數位用戶線(DSL)或無線技術(例如紅外線,無線電和微波)從網站,伺服器或其他遠端源發送指令,則媒體的定義包括同軸電纜,光纖電纜,雙絞線,數位用戶線或諸如紅外線,無線電和微波之類的無線技術。然而,應當理解的是,電腦可讀取儲存媒體和資料儲存媒體不包括連接,載波,信號或其他暫態媒體,而是針對非暫態的有形儲存媒體。本文使用的磁碟和光碟包括壓縮磁碟(CD)、雷射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟則經由雷射光學方式再現資料。上述的組合亦應包括在電腦可讀取媒體的範圍內。
指令可以由一或多個處理器執行,例如一或多個數位訊號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他等效的積體或離散邏輯電路。因此,如本文所使用的術語「處理器」和「處理電路」可以指任何前述結構或適合於實現本文描述的技術的任何其他結構。另外,在一些態樣中,本文描述的功能可以在被配置用於編碼和解碼的專用硬體及/或軟體模組內提供,或結合在組合轉碼器中。同樣,該技術可以在一或多個電路或邏輯元件中完全實現。
本案的技術可以在包括無線手持機、積體電路(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:解碼圖片緩衝器 219:共享的多層DPB 220:熵編碼單元 222:運動估計單元 224:運動補償單元 226:訊框內預測單元 230:視訊資料記憶體 300:視訊解碼器 302:熵解碼單元 304:預測處理單元 306:逆量化單元 308:逆變換處理單元 310:重構單元 312:濾波器單元 314:解碼圖片緩衝器 315:共享的多層DPB 316:運動補償單元 318:訊框內預測單元 320:CPB記憶體 350,352,354,356,358,360:操作 370,372,374,376,378,380:操作 400,402,404:操作
圖1圖示可執行本案的技術的示例性視訊編碼和解碼系統的方塊圖。
圖2A和圖2B圖示示例性四元樹二元樹(QTBT)結構以及對應的編碼樹單元(CTU)的概念圖。
圖3圖示可執行本案的技術的示例性視訊編碼器的方塊圖。
圖4圖示可執行本案的技術的示例性視訊解碼器的方塊圖。
圖5圖示視訊編碼程序的流程圖。
圖6圖示視訊解碼程序的流程圖。
圖7圖示視訊解碼程序的流程圖。
400:操作
402:操作
404:操作

Claims (25)

  1. 一種用於解碼多層視訊資料的設備,該設備包括: 被配置為儲存多層視訊資料的一記憶體;和 一或多個處理器,在電路中實現並配置為: 維護一解碼圖片緩衝器(DPB),該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中該複數個層包括至少一第一層和一第二層; 在解碼該第一層的一存取單元的一當前圖片之前,在該DPB上執行一圖片輸出和移除程序,其中為了在該DPB上執行一圖片輸出和移除程序,該一或多個處理器進一步被配置為僅從DPB移除屬於該第一層的解碼圖片;和 在從一編碼圖片緩衝器(CPB)移除該當前圖片的最一後解碼單元之後,對跨該DPB的所有層執行一圖片碰撞程序。
  2. 如請求項1所述之設備,其中為了在該DPB上執行圖片輸出和移除程序,該一或多個處理器進一步被配置為在解碼該第一層的當前圖片之前以及在解析該當前圖片的一條帶的條帶標頭之後,在該DPB上執行該圖片輸出和移除程序。
  3. 如請求項1所述之設備,其中為了在該DPB上執行圖片輸出和移除程序,該一或多個處理器進一步被配置為回應於從該CPB移除當前圖片的一第一解碼單元而在該DPB上執行圖片輸出和移除程序。
  4. 如請求項1所述之設備,其中為了在跨該DPB的所有層上執行圖片碰撞程序,該一或多個處理器進一步被配置為從該DPB移除被標記為不需要輸出並且被標記為未用於參考的一參考圖片。
  5. 如請求項1所述之設備,其中為了在跨該DPB的所有層上執行該圖片碰撞程序,該一或多個處理器進一步被配置為從該DPB移除該第二層的至少一個圖片。
  6. 如請求項1所述之設備,其中該一或多個處理器進一步被配置為: 識別該DPB中的一參考圖片; 識別用於該參考圖片中當前圖片的一當前區塊的一預測區塊; 基於該預測區塊解碼該當前區塊;及 輸出該當前圖片的一解碼版本,其中該當前圖片的該解碼版本包括該當前區塊的一解碼版本。
  7. 如請求項1所述之設備,其中該DPB被配置為儲存先前解碼的圖片,並且其中該CPB被配置為儲存編碼的多層視訊資料。
  8. 如請求項1所述之設備,其中該一或多個處理器進一步被配置為在該記憶體中維護該DPB和該CPB。
  9. 如請求項1所述之設備,其中該設備包括一無線通訊設備,進一步包括被配置為接收編碼的多層視訊資料的一接收器。
  10. 如第9條所述的設備,其中該無線通訊設備包括一電話手持機,並且其中該接收器被配置為根據一無線通訊標準對包括該編碼的多層視訊資料的一信號進行解調。
  11. 如請求項1所述之設備,其中該設備包括一無線通訊設備,進一步包括被配置為發送編碼的多層視訊資料的一發射器。
  12. 如請求項11所述之設備,其中該無線通訊設備包括一電話手持機,並且其中該發射器被配置為根據一無線通訊標準對包括該編碼的多層視訊資料的一信號進行調制。
  13. 如請求項1所述之設備,進一步包括: 一顯示器,被配置為顯示包括該當前圖片的一解碼版本的解碼的多層視訊資料。
  14. 如請求項1所述之設備,其中該設備包括一照相機、一電腦、一行動設備、一廣播接收器設備或一機上盒中的一或多個。
  15. 一種用於解碼多層視訊資料的方法,該方法包括以下步驟: 維護一解碼圖片緩衝器(DPB),該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中該複數個層包括至少一第一層和一第二層; 在解碼該第一層的一存取單元的一當前圖片之前,在該DPB上執行一圖片輸出和移除程序,其中在DPB上執行該圖片輸出和移除程序之步驟包括以下步驟:僅從該DPB移除屬於該第一層的解碼圖片;及 在從一編碼圖片緩衝器(CPB)移除該當前圖片的一最後解碼單元之後,對跨該DPB的所有層執行一圖片碰撞程序。
  16. 如請求項15所述之方法,其中在該DPB上執行該圖片輸出和移除程序之步驟包括以下步驟:在對該第一層的當前圖片進行解碼之前以及在解析該當前圖片的一條帶的一條帶標頭之後,在該DPB上執行該圖片輸出和移除程序。
  17. 如請求項15所述之方法,其中在該DPB上執行該圖片輸出和移除程序之步驟包括以下步驟:回應於從該CPB移除該當前圖片的一第一解碼單元,在該DPB上執行該圖片輸出和移除程序。
  18. 如請求項15所述之方法,其中在該DPB的所有層上執行該圖片碰撞程序之步驟包括以下步驟: 從該DPB中移除被標記為不需要輸出並且被標記為未用於參考的一參考圖片。
  19. 如請求項15所述之方法,其中跨該DPB的所有層執行該圖片碰撞程序之步驟包括以下步驟:從該DPB移除該第二層的至少一個圖片。
  20. 如請求項15所述之方法,進一步包括以下步驟: 識別該DPB中的一參考圖片; 識別用於該參考圖片中當前圖片的一當前區塊的一預測區塊; 基於該預測區塊解碼該當前區塊;及 輸出該當前圖片的一解碼版本,其中該當前圖片的該解碼版本包括該當前區塊的一解碼版本。
  21. 如請求項20所述之方法,進一步包括以下步驟: 顯示該當前圖片的該解碼版本。
  22. 如請求項15所述之方法,其中該DPB被配置為儲存先前解碼的圖片,並且其中該CPB被配置為儲存編碼的多層視訊資料。
  23. 如請求項15所述之方法,其中該解碼方法作為一編碼程序的一部分來執行。
  24. 一種儲存指令的電腦可讀取儲存媒體,該等指令由一或多個處理器執行時導致一或多個處理器執行以下操作: 維護一解碼圖片緩衝器(DPB),該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中該複數個層包括至少一第一層和一第二層; 在解碼該第一層的一存取單元的一當前圖片之前,在該DPB上執行一圖片輸出和移除程序,其中為了在該DPB上執行該圖片輸出和移除程序,該等指令使一或多個處理器僅從DPB中移除屬於第一層的解碼圖片;及 在從一編碼圖片緩衝器(CPB)移除該當前圖片的一最後解碼單元之後,對跨該DPB的所有層執行一圖片碰撞程序。
  25. 一種用於解碼多層視訊資料的裝置,該裝置包括: 用於維護一解碼圖片緩衝器(DPB)的構件,該解碼圖片緩衝器用於儲存複數個層的參考圖片,其中該複數個層包括至少一第一層和一第二層; 用於在解碼該第一層的一存取單元的一當前圖片之前在該DPB上執行一圖片輸出和移除程序的構件,其中在該DPB上執行圖片輸出和移除程序包括:僅從該DPB移除屬於該第一層的解碼圖片;及 用於在從一編碼圖片緩衝器(CPB)中移除該當前圖片的一最後解碼單元之後,在跨該DPB的所有層上執行一圖片碰撞程序的構件。
TW109145638A 2019-12-24 2020-12-23 多層的共享解碼器圖片緩衝器 TW202131698A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962953394P 2019-12-24 2019-12-24
US62/953,394 2019-12-24
US17/128,767 US11785205B2 (en) 2019-12-24 2020-12-21 Shared decoder picture buffer for multiple layers
US17/128,767 2020-12-21

Publications (1)

Publication Number Publication Date
TW202131698A true TW202131698A (zh) 2021-08-16

Family

ID=76437336

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109145638A TW202131698A (zh) 2019-12-24 2020-12-23 多層的共享解碼器圖片緩衝器

Country Status (10)

Country Link
US (1) US11785205B2 (zh)
EP (1) EP4082210A1 (zh)
JP (1) JP2023517428A (zh)
KR (1) KR20220113402A (zh)
CN (1) CN114830673A (zh)
BR (1) BR112022011704A2 (zh)
CA (1) CA3162708A1 (zh)
MX (1) MX2022007862A (zh)
TW (1) TW202131698A (zh)
WO (1) WO2021133788A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115668924A (zh) * 2020-05-21 2023-01-31 字节跳动有限公司 参考图片信息的约束
WO2021252525A1 (en) * 2020-06-08 2021-12-16 Bytedance Inc. Constraints of slice count in a coded video picture
CN114205615B (zh) * 2021-12-03 2024-02-06 北京达佳互联信息技术有限公司 解码图像缓存区的管理方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX339554B (es) * 2012-09-28 2016-05-30 Sony Corp Dispositivo y metodo para procesamiento de imagen.
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US20150016500A1 (en) * 2013-07-11 2015-01-15 Qualcomm Incorporated Device and method for scalable coding of video information
WO2015052943A1 (en) 2013-10-13 2015-04-16 Sharp Kabushiki Kaisha Signaling parameters in vps extension and dpb operation
US9654774B2 (en) * 2013-12-12 2017-05-16 Qualcomm Incorporated POC value design for multi-layer video coding
WO2015138979A2 (en) * 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Dpb capacity limits
US11153583B2 (en) * 2019-06-07 2021-10-19 Qualcomm Incorporated Spatial scalability support in video encoding and decoding

Also Published As

Publication number Publication date
US11785205B2 (en) 2023-10-10
CA3162708A1 (en) 2021-07-01
EP4082210A1 (en) 2022-11-02
CN114830673A (zh) 2022-07-29
JP2023517428A (ja) 2023-04-26
BR112022011704A2 (pt) 2022-11-22
MX2022007862A (es) 2022-07-19
WO2021133788A1 (en) 2021-07-01
KR20220113402A (ko) 2022-08-12
US20210195175A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
TW202143717A (zh) 視頻譯碼中的亮度映射與色度縮放(lmcs)
TW202110189A (zh) 用於視訊寫碼的環繞運動補償
TW202127886A (zh) 用於視頻譯碼的圖像標頭信令
TW201735608A (zh) 用於產生對視訊之顏色再映射資訊之補充增強資訊訊息之方法及系統
TW202127873A (zh) 用於視頻寫碼中的子圖片的參考子圖片縮放比率
TW202145796A (zh) 視頻編碼中的參數集語法元素和變量
TW202131698A (zh) 多層的共享解碼器圖片緩衝器
TW202135531A (zh) 用於視訊編解碼的經解碼圖片緩衝器(dpb)參數訊號傳遞通知
TW202127887A (zh) 視訊解碼中用於聯合色度殘差模式的量化參數訊號傳遞
US20210385497A1 (en) General constraints of syntax elements for video coding
WO2021007544A1 (en) Deriving coding system operational configuration
TW202131676A (zh) 視訊編碼中針對參考圖片重取樣的環繞偏移
TW202106023A (zh) 調色板模式下的增量量化參數訊令
TW202107895A (zh) 發訊色度量化參數(qp)映射表
TW202127893A (zh) 用於視頻編碼中的參考圖片重採樣的參考圖片縮放比
TW202203649A (zh) 視訊譯碼中的通用約束資訊信號傳遞
TW202133621A (zh) 支援有損解碼和無損解碼兩者的殘差解碼
TW202143711A (zh) 用於具有混合網路抽象層(nal)單元類型的視訊的高階語法
TW202143722A (zh) 在視訊解碼中的經解碼視訊序列起點存取單元
TW202143735A (zh) 用於視訊資料的語法元素的訊號傳遞
TW202141988A (zh) 用於視訊譯碼中的變換跳過區塊的高級約束
TW202133615A (zh) 基於色度變換跳過的用於色度的lfnst信號傳遞
TW202127874A (zh) 用於視訊編碼中的自我調整色彩變換的qp 偏移的靈活訊號傳遞
US11943429B2 (en) Subpicture signaling in video coding
TW202143712A (zh) 視訊轉碼中的低頻不可分離變換處理