TWI793396B - 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統 - Google Patents

用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統 Download PDF

Info

Publication number
TWI793396B
TWI793396B TW109102763A TW109102763A TWI793396B TW I793396 B TWI793396 B TW I793396B TW 109102763 A TW109102763 A TW 109102763A TW 109102763 A TW109102763 A TW 109102763A TW I793396 B TWI793396 B TW I793396B
Authority
TW
Taiwan
Prior art keywords
chroma
luma
blocks
block
split
Prior art date
Application number
TW109102763A
Other languages
English (en)
Other versions
TW202034704A (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 TW202034704A publication Critical patent/TW202034704A/zh
Application granted granted Critical
Publication of TWI793396B publication Critical patent/TWI793396B/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/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/18Methods 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 set of transform coefficients
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)

Abstract

一種從一位元流解碼一影像框之一編碼樹單元的編碼區塊之系統及方法。該方法包含:判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;及基於該經判定色度格式以判定該編碼樹單元的該等色度頻道之一的一色度編碼區塊之大小,其中該色度編碼區塊係與複數相應亮度區塊共置。該方法進一步包含:假如該色度區塊之該經判定大小係預定的最小色度區塊大小的話則判定該色度編碼區塊係使用內預測來編碼;及針對該色度編碼區塊使用內預測和針對該等複數相應亮度編碼區塊之至少一者使用間預測以解碼該編碼樹之該等編碼區塊。

Description

用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統
本發明一般係有關於數位視頻信號處理,而特別是有關於用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統。本發明亦有關於一種電腦程式產品,包括電腦可讀取媒體,其上記錄有用以編碼和解碼視頻樣本之區塊樹的電腦程式。
目前存在許多針對視頻編碼之應用程式,包括用於視頻資料之傳輸及儲存的應用程式。許多視頻編碼標準亦已被開發,而其他則目前正在開發中。視頻編碼標準化之最近發展已導致一種稱為「聯合視頻專家小組」(JVET)之群組的形成。聯合視頻專家小組(JVET)包括國際電信聯盟(ITU)之電信標準化部門(ITU-T)的研究群16、問題6(SG16/Q6)之成員,亦已知為「視頻編碼專家群」(VCEG);及用於標準化/國際電工委任聯合技術委員會1/子委員會29/工作群11(ISO/IEC JTC1/SC29/WG11)的國際組織之成員,亦已知為「動畫專家群」(MPEG)。
聯合視頻專家小組(JVET)發表具有在San Diego, USA之第10次會議所分析的回應之徵求提案。所提出的回應展現顯著地超越當前最先進視頻壓縮標準的視頻壓縮能力,亦即:「高效率視頻編碼」(HEVC)。基於此超越,已決定開始一種開發新視頻壓縮標準的計畫,稱為「多樣視頻編碼」(VVC)。VVC被期待滿足對於越來越高的壓縮性能之不間斷的需求,特別是隨著視頻格式增加其能力(例如,具有更高的解析度及更高的框率);以及滿足對於透過WAN(無線區域網路)之服務傳遞的漸增市場需求,其中頻寬成本是相對高的。同時,VVC必須在當代矽製程中為可實施的且必須提供介於已達成性能相對於實施成本之間的可接受取捨(例如,針對矽面積、CPU處理器負載、記憶體利用及頻寬)。
視頻資料包括影像資料之一連串框,其各者包括一或更多顏色頻道。通常,需要一個主要顏色頻道及兩個次要顏色頻道。主要顏色頻道通常被稱為「亮度(luma)」頻道而次要顏色頻道通常被稱為「色度」頻道。雖然視頻資料通常被顯示以RGB(紅-綠-藍)顏色空間,但此顏色空間具有在三個個別分量之間的高度相關。由編碼器或解碼器所見之視頻資料表示經常使用諸如YCbCr之顏色空間。YCbCr將亮度,依據轉移函數而映射至「luma(亮度)」,聚集於Y(主要)頻道以及將色度聚集於Cb和Cr(次要)頻道。此外,Cb和Cr頻道可相較於亮度頻道以較低的頻率空間地取樣(次取樣),例如半水平及半垂直,已知為「4:2:0色度格式」。4:2:0色度格式常用於「消費者」應用,諸如網際網路視頻串流、廣播電視、及藍光(Blu-RayTM )光碟上之儲存。以水平地半率次取樣Cb及Cr頻道而不垂直地次取樣係已知為「4:2:2色度格式」。4:2:2色度格式通常用於專業應用,包括用於電影製作之連續鏡頭的捕捉,等等。4:2:2色度格式之較高的取樣率使所得的視頻更能彈性編輯操作(諸如顏色分級)。在發佈至消費者之前,4:2:2色度格式材料常被轉換為4:2:0色度格式並接著編碼以供發佈至消費者。除了色度格式之外,視頻亦由解析度及框率來特徵化。範例解析度為具有3840×2160之解析度的超高解析度(UHD)或具有7680×4320之解析度的「8K」,而範例框率為60或120Hz。亮度取樣率的範圍可從每秒約500百萬樣本至每秒數十億樣本。針對4:2:0色度格式,各色度頻道之取樣率是亮度樣本之取樣率的四分之一;而針對4:2:2色度格式,各色度頻道之取樣率是亮度取樣率的一半。
VVC標準是「區塊為基的」編碼解碼器,其中框被首先分割為方形陣列的區,已知為「編碼樹單元」(CTU)。CTU通常佔據相當大的面積,諸如128×128亮度樣本。然而,在各框之右下邊緣上的CTU可具有較小的面積。與各CTU關聯者為針對亮度頻道之「編碼樹」及針對色度頻道之額外編碼樹。編碼樹係界定將CTU之區域分解為一組區塊,亦稱為「編碼區塊」(CB)。單一編碼樹亦有可能指明針對亮度頻道及色度頻道兩者之區塊,在該情況下共置編碼區塊的集合被稱為「編碼單元」(CU),亦即,各CU具有針對各顏色頻道之編碼區塊。CB被處理以供依特定順序編碼或解碼。由於使用4:2:0色度格式,具有針對128×128亮度樣本區域之亮度編碼樹的CTU具有針對64×64色度樣本區域(其係與128×128亮度樣本區域共置)之相應色度編碼樹。當單一編碼樹用於亮度頻道及色度頻道時,既定區域之共置區塊的集合一般被稱為「單元」,例如上述CU、以及「預測單元」(PU)、和「變換單元」(TU)。當分離的編碼樹用於既定區域時,則使用上述CB、以及「預測區塊」(PB)、和變換區塊(TB)。
儘管介於「單元」與「區塊」之間的上述區別,術語「區塊」可被使用為針對操作所被應用至所有顏色頻道之一框的區域或區之一般性術語。
針對各CU,框資料之相應區域的內容(樣本值)之預測單元(PU)被產生(「預測單元」)。再者,介於如在對於編碼器之輸入上所見之區域的預測與內容之間的差異(或空間領域中之「殘餘」)之表示被形成。各顏色頻道中之差異可被變換且編碼為殘餘係數之序列,形成針對既定CU之一或更多TU。所施加的變換可為離散餘弦變換(DCT)或其他變換,施加至殘餘值之各區塊。此變換被可分離地施加(亦即,其為二維變換)被履行在二次中。該區塊首先係藉由對該區塊中之各列樣本施加一維變換而被變換。接著,部分結果係藉由對各行部分結果施加一維變換而被變換,以產生其實質上解相關該等殘餘樣本之變換係數的最後區塊。各種大小之變換係由VVC標準所支援,包括矩形形狀區塊之變換,以各側尺寸為二的次方。變換係數被量化以供熵編碼為位元流。
當空間預測(「內預測」)被用以產生PB時,一組參考樣本被用以產生目前PB之預測樣本。參考樣本包括相鄰於其已被「重建」(將殘餘樣本加入至內預測樣本)之PB的樣本。這些相鄰樣本形成PB上方之列以及PB的左邊之行。該列及行亦延伸超過PB邊界以包括額外的附近樣本。由於依Z順序掃描來掃描區塊,部分參考樣本將已被重建在緊接在前的區塊中。使用來自緊接在前的區塊之樣本導致了回饋依存性,其可能限制通過視頻編碼器或解碼器之區塊的通量。此外,在相對小區塊係預測自其他框(「間預測」)的情況下,用以提取參考樣本之記憶體頻寬可能變為過量的,特別是考量用以容納子像素內插過濾所需的額外樣本。
本發明之一目的係實質上克服(或至少改善)現存配置之一或更多缺點。
本揭露之一態樣提供一種解碼來自一位元流的一影像框之一編碼樹單元的編碼區塊之方法,該方法包含:判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;基於該經判定色度格式以判定該編碼樹單元的該等色度頻道之一的一色度編碼區塊之大小,其中該色度編碼區塊係與複數相應亮度區塊共置;假如該色度區塊之該經判定大小係預定的最小色度區塊大小的話,則判定該色度編碼區塊係使用內預測來編碼;及針對該色度編碼區塊使用內預測和針對該等複數相應亮度編碼區塊之至少一者使用間預測,以解碼該編碼樹之該等編碼區塊。
依據另一態樣,該色度格式為4:2:0。
依據另一態樣,該色度格式為4:2:2。
依據另一態樣,假如該等複數亮度區塊為128亮度樣本之一亮度區域的一三元分裂之結果的話則該預定的最小色度區塊大小為32。
依據另一態樣,假如該等複數亮度區塊為64亮度樣本之一亮度區域的一四元樹、二元、或三元分裂之結果的話則該預定的最小色度區塊大小為16。
依據另一態樣,該色度區塊係使用DC內預測來解碼。
依據另一態樣,(i)該編碼樹單元之該亮度編碼單元係使用從該位元流所解碼的一分裂模式而被分割為該等複數亮度編碼區塊,及(ii)該最小預定大小之該色度編碼區塊係針對該等色度頻道之各者而被產生。
依據另一態樣,該等複數亮度編碼區塊之各者至少部分地重疊該等已產生色度編碼區塊。
依據另一態樣,該方法進一步包含基於禁止色度分裂之一列表以判定該色度區塊之該大小為該預定最小大小。
依據另一態樣,該位元流藉由包括一intra_chroma_pred_mode語法元素以告知數個可能內預測模式中的一個內預測模式。
本揭露之另一態樣提供一種非暫態電腦可讀取媒體,其上儲存有一電腦程式以實施一從一位元流解碼一影像框之一編碼樹單元的編碼區塊之方法,該程式包含:用以判定該影像框之一色度格式的碼,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;用以基於該經判定色度格式以判定該編碼樹單元的該等色度頻道之一的一色度編碼區塊之一大小的碼,其中該色度編碼區塊係與複數相應亮度區塊共置;假如該色度區塊之該經判定大小係預定的最小色度區塊大小的話用以判定該色度編碼區塊係使用內預測來編碼的碼;及用以針對該色度編碼區塊使用內預測和針對該等複數相應亮度編碼區塊之至少一者使用間預測以解碼該編碼樹之該等編碼區塊的碼。
本揭露之另一態樣提供一種視頻解碼器,其係組態成:從一位元流接收一影像框之一編碼樹單元;判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;基於該經判定色度格式以判定該編碼樹單元的該等色度頻道之一的一色度編碼區塊之大小,其中該色度編碼區塊係與複數相應亮度區塊共置;假如該色度區塊之該經判定大小係預定的最小色度區塊大小的話,則判定該色度編碼區塊係使用內預測來編碼;及針對該色度編碼區塊使用內預測和針對該等複數相應亮度編碼區塊之至少一者使用間預測,以解碼該編碼樹之該等編碼區塊。
本揭露之另一態樣提供一種系統,其包含:一記憶體;及一處理器,其中該處理器係組態成執行該記憶體上所儲存的碼以實施一從一位元流解碼一影像框之一編碼樹單元的編碼區塊之方法,該方法包含:判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;基於該經判定色度格式以判定該編碼樹單元的該等色度頻道之一的一色度編碼區塊之大小,其中該色度編碼區塊係與複數相應亮度區塊共置;假如該色度區塊之該經判定大小係預定的最小色度區塊大小的話,則判定該色度編碼區塊係使用內預測來編碼;及針對該色度編碼區塊使用內預測和針對該等複數相應亮度編碼區塊之至少一者使用間預測,以解碼該編碼樹之該等編碼區塊。
本揭露之另一態樣提供一種使用一主要變換及一次要變換以從一視頻位元流解碼一區塊的方法,該方法包含:獨立於該區塊之一內預測模式而選擇一第一背景;使用該選定第一背景以解碼一第一二元;選擇一第二背景;使用該選定第二背景以解碼一第二二元,假如該選定第一二元指示該第二二元之存在的話;及使用由該主要變換所接續之該次要變換以解碼該區塊,該次要變換係基於從該已解碼第一二元和該已解碼第二二元所導出的一次要變換指數。
本揭露之另一態樣提供一種非暫態電腦可讀取媒體,其上儲存有一電腦程式以實施一使用一主要變換及一次要變換以解碼來自一視頻位元流的區塊的方法,該程式包含:用以獨立於該區塊之一內預測模式而選擇一第一背景的碼;用以使用該選定第一背景以解碼一第一二元的碼;用以選擇一第二背景的碼;用以使用該選定第二背景以解碼一第二二元的碼,假如該選定第一二元指示該第二二元之存在的話;及用以使用由該主要變換所接續之該次要變換以解碼該區塊的碼,該次要變換係基於從該已解碼第一二元和該已解碼第二二元所導出的一次要變換指數。
本揭露之另一態樣提供一種視頻解碼器,其係組態成:從一視頻位元流接收一區塊;獨立於該區塊之一內預測模式而選擇一第一背景;使用該選定第一背景以解碼一第一二元;選擇一第二背景;使用該選定第二背景以解碼一第二二元,假如該選定第一二元指示該第二二元之存在的話;及使用由該主要變換所接續之該次要變換以解碼該區塊,該次要變換係基於從該已解碼第一二元和該已解碼第二二元所導出的一次要變換指數。
其他態樣亦被揭露。
於附圖之任何一或更多者中係參考其具有相同參考數字之步驟及/或特徵,那些步驟及/或特徵為了本說明書之目的而具有相同的功能或操作,除非出現相反的意圖。
如上所述,使用來自緊接在前的區塊之樣本導致了回饋依存性,其可能限制通過視頻編碼器或解碼器之區塊的通量。希望有用以減輕所得回饋依存性迴路之嚴重性的方法來確保可維持處理區塊之高速率,如針對典型即時編碼和解碼應用程式所需者。回饋依存性迴路對於當代視頻格式之高樣本率是特別有問題的,例如每秒500-4000樣本,而ASIC(特定應用積體電路)時鐘頻率通常為數百MHz。
圖1為概略方塊圖,其顯示一種視頻編碼及解碼系統100之功能模組。系統100可針對亮度及色度編碼樹中之區的可容許子分割利用不同的規則以減少所遭遇的最差情況區塊處理速率。例如,系統100可操作以使得區塊總是被調整為16(十六)個樣本的倍數,無論該區塊之高寬比。此外,當編碼樹包括一指示小亮度編碼區塊之存在的分裂時,該分裂可被禁止在色度頻道中,導致單一色度CB與數個亮度CB共置。色度CB可使用單一預測模式,諸如一個內預測模式,獨立於共置亮度CB之各者的預測模式(包括其中一或更多亮度CB使用間預測)。殘餘係數編碼亦可利用16個區塊大小的倍數,包括在具有兩個樣本之寬度或高度的區塊之情況下。
系統100包括來源裝置110及目的地裝置130。通訊頻道120被用以傳遞已編碼視頻資訊從來源裝置110至目的地裝置130。在一些配置中,來源裝置110及目的地裝置130任一或兩者可包含個別行動電話手機或「智慧型手機」,於該情況下通訊頻道120為無線頻道。在其他配置中,來源裝置110及目的地裝置130可包含視訊會議設備,於該情況下通訊頻道120通常為有線頻道,諸如網際網路連接。此外,來源裝置110及目的地裝置130可包含寬廣範圍的裝置之任一者,包括支援以下各者的裝置:空中電視廣播、有線電視應用、網際網路視頻應用(包括串流)以及其中已編碼視頻資料被擷取於一些電腦可讀取儲存媒體(諸如檔案伺服器中之硬碟驅動器)上之應用。
如圖1中所示,來源裝置110包括視頻來源112、視頻編碼器114及傳輸器116。視頻來源112通常包含已擷取視頻框資料(顯示為113)之來源,諸如影像擷取感應器、儲存在非暫態記錄媒體上之先前擷取的視頻序列、或饋送自遠端影像擷取感應器之視頻。視頻來源112亦可為電腦圖形卡之輸出,例如,顯示其執行於計算裝置(例如,平板電腦)上之作業系統及各種應用程式的視頻輸出。來源裝置110(其可包括影像擷取感應器為視頻來源112)之範例包括智慧型手機、視頻攝影機、專業視頻相機、及網路視頻相機。
視頻編碼器114將擷取的框資料(由箭號113所指示)從視頻來源112轉換(或「編碼」)為位元流(由箭號115所指示),如參考圖3所進一步描述。位元流115係由傳輸器116透過通訊頻道120而被傳輸為已編碼視頻資料(或「已編碼視頻資訊」)。亦有可能位元流115被儲存於非暫態儲存裝置122(諸如「快閃」記憶體或硬碟驅動器)中,直到稍後透過通訊頻道120而被傳輸,或者替代其透過通訊頻道120之傳輸。
目的地裝置130包括接收器132、視頻解碼器134及顯示裝置136。接收器132從通訊頻道120接收已編碼視頻資料並將已接收視頻資料傳送至視頻解碼器134而成為位元流(由箭號133所指示)。視頻解碼器134接著將已解碼框資料(由箭號135所指示)輸出至顯示裝置136。已解碼框資料135具有如框資料113的相同色度格式。顯示裝置136之範例包括陰極射線管、液晶顯示(諸如智慧型手機中的)、平板電腦、電腦監視器或獨立型電視機。來源裝置110及目的地裝置130之各者的功能亦可能被實施於單一裝置中,其範例包括行動電話手機和平板電腦。
儘管以上所提之範例裝置,來源裝置110及目的地裝置130之各者可被組態於通用計算系統內,通常透過硬體與軟體組件之組合。圖2A闡明此一電腦系統200,其包括:電腦模組201;輸入裝置,諸如鍵盤202、滑鼠指針裝置203、掃描器226、相機227(其可被組態成視頻來源112)、及麥克風280;及輸出裝置,包括印表機215、顯示裝置214(其可被組態成顯示裝置136)、及揚聲器217。外部調變器-解調器(數據機)收發器裝置216可由電腦模組201所使用,以經由連接221而通訊至及自通訊網路220。通訊網路220(其可表示通訊頻道120)可為廣域網路(WAN)(諸如網際網路)、蜂巢式電信網路、或私人WAN。當連接221為電話線時,數據機216可為傳統的「撥接」數據機。替代地,當連接221為高容量(例如,電纜或光學)連接時,則數據機216可為寬頻數據機。無線數據機亦可被用於無線連接至通訊網路220。收發器裝置216可提供傳輸器116及接收器132之功能,而通訊頻道120可被實施於連接221中。
電腦模組201通常包括至少一處理器單元205、及記憶體單元206。例如,記憶體單元206可具有半導體隨機存取記憶體(RAM)及半導體唯讀記憶體(ROM)。電腦模組201亦包括數個輸入/輸出(I/O)介面,包括:音頻-視頻介面207,其係耦合至視頻顯示214、揚聲器217及麥克風280;I/O介面213,其係耦合至鍵盤202、滑鼠203、掃描器226、相機227及選擇性地搖桿或其他人類介面裝置(未顯示);以及用於外部數據機216和印表機215之介面208。從音頻-視頻介面207至電腦監視器214之信號通常為電腦圖形卡之輸出。於某些實施方式中,數據機216可被結合入電腦模組201內,例如於介面208內。電腦模組201亦具有局部網路介面211,其允許經由連接223之電腦系統200的耦合至局部區域通訊網路222,已知為區域網路(LAN)。如圖2A中所示,局部通訊網路222亦可經由連接224而耦合至廣域網路220,該連接224通常將包括所謂的「防火牆」裝置或類似功能的裝置。局部網路介面211可包含EthernetTM 電路卡、BluetoothTM 無線配置或IEEE 802.11無線配置;然而,多種其他類型的介面可被實施於介面211。局部網路介面211亦可提供傳輸器116及接收器132之功能,而通訊頻道120可被實施於局部通訊網路222中。
I/O介面208及213可提供串列及平行連接之一者或兩者,前者通常係依據通用串列匯流排(USB)標準而被實施並具有相應的USB連接器(未顯示)。儲存裝置209被提供且通常包括硬碟驅動器(HDD)210。諸如軟碟驅動器及磁帶驅動器(未顯示)等其他儲存裝置亦可被使用。光碟驅動器212通常被提供以作用為資料之非揮發性來源。可攜式記憶體裝置(諸如光碟(例如,CD-ROM, DVD, Blu ray DiscTM )、USB-RAM、可攜式、外部硬碟驅動器、及軟碟,舉例而言)可被使用為針對電腦系統200之資料的適當來源。通常,HDD 210、光學驅動器212、網路220及222之任一者亦可被組態成操作為視頻來源112、或者為已解碼視頻資料之目的地以被儲存而供經由顯示214之再生。系統100之來源裝置110及目的地裝置130可被實施於電腦系統200中。
電腦模組201之組件205至213通常係經由互連匯流排204來通訊,且係以一種方式,其導致相關技術中那些熟悉本領域人士所已知的電腦系統200之操作的傳統模式。例如,處理器205係使用連接218而被耦合至系統匯流排204。同樣地,記憶體206及光碟驅動器212係藉由連接219而被耦合至系統匯流排204。上述配置可被實行於其上之電腦的範例包括IBM-PC及相容者、Sun SPARCstations、Apple MacTM 或類似的電腦系統。
當適當或想要時,視頻編碼器114及視頻解碼器134(以及以下所描述的方法)可使用電腦系統200來實施。特別地,視頻編碼器114、視頻解碼器134及待描述的方法可被實施為可於電腦系統200內執行的一或更多軟體應用程式233。特別地,視頻編碼器114、視頻解碼器134及所述方法之步驟係由軟體233(其被執行於電腦系統200內)中之指令231(參見圖2B)所實現。軟體指令231可被形成為一或更多碼模組,各用以履行一或更多特定工作。軟體亦可被劃分為兩個分離部分,其中第一部分及相應的碼模組係履行所述的方法而第二部分及相應的碼模組係管理介於第一部分與使用者之間的使用者介面。
軟體可被儲存於電腦可讀取媒體中,包括以下所述之儲存裝置,舉例而言。軟體係從電腦可讀取媒體被載入電腦系統200,且接著由電腦系統200所執行。具有此軟體或電腦程式(其係記錄於電腦可讀取媒體上)之電腦可讀取媒體為一種電腦程式產品。電腦系統200中之電腦程式產品的使用最好是實現一種有利的設備,用以實施視頻編碼器114、視頻解碼器134及所述方法。
軟體233通常被儲存於HDD 210或記憶體206中。軟體係從電腦可讀取媒體被載入電腦系統200,且由電腦系統200所執行。因此,例如,軟體233可被儲存於光學可讀取碟儲存媒體(例如,CD-ROM)225上,其係由光碟驅動器212所讀取。
於某些例子中,應用程式233可被供應至使用者,其係被編碼於一或更多CD-ROM 225上並經由相應的驅動器212來讀取;或者替代地可由使用者從網路220或222所讀取。又再者,軟體亦可從其他電腦可讀取媒體被載入電腦系統200。電腦可讀取儲存媒體係指稱任何非暫態有形儲存媒體,其係提供已記錄指令及/或資料至電腦系統200以供執行及/或處理。此儲存媒體之範例包括軟碟、磁帶、CD-ROM、DVD、Blu-ray DiscTM 、硬碟驅動器、ROM或積體電路、USB記憶體、磁光碟、或電腦可讀取卡(諸如PCMCIA)等等,無論此類裝置係位於電腦模組201之內部或外部。暫態或非有形電腦可讀取傳輸媒體(其亦可參與軟體、應用程式、指令及/或視頻資料或已編碼視頻資料之提供至電腦模組401)的範例包括無線電或紅外線傳輸頻道、以及網路連接至另一電腦或網連裝置、及網際網路或內部網路(包括記錄於網站上之e-mail傳輸和資訊),等等。
上述應用程式233之第二部分及相應的碼模組可被執行以實施一或更多圖形使用者介面(GUI)以被渲染或者表示於顯示214上。透過典型地鍵盤202及滑鼠203之調處,電腦系統200及應用程式之使用者可以一種功能上可調適的方式調處該介面來提供控制命令及/或輸入至其與GUI相關的應用程式。功能上可調適的使用者介面之其他形式亦可被實施,諸如音頻介面,其係利用經由揚聲器217而輸出之語音提升及經由麥克風280而輸入之使用者聲音命令。
圖2B為處理器205及「記憶體」234之詳細的概略方塊圖。記憶體234代表所有記憶體模組(包括HDD 209及半導體記憶體206)之邏輯聚合,其可由圖2A中之電腦模組201所存取。
當電腦模組201被初始地啟動時,開機自我測試(POST)程式250便執行。POST程式250通常被儲存於圖2A之半導體記憶體206的ROM 249中。儲存軟體之硬體裝置(諸如ROM 249)有時被稱為韌體。POST程式250係檢查電腦模組201內之硬體以確保適當的作用且通常係檢查處理器205、記憶體234(209、206)、及基本輸入輸出系統軟體(BIOS)模組251(通常亦儲存於ROM 249中)以利正確操作。一旦POST程式250已成功地運行,則BIOS 251便啟動圖2A之硬碟驅動器210。硬碟驅動器210之啟動造成自舉載入器程式252,其係駐存在硬碟驅動器210上以經由處理器205而執行。如此便將作業系統253載入RAM記憶體206,作業系統253便於其上開始操作。作業系統253為系統階應用程式(可由處理器205所執行),用以完成各種高階功能,包括處理器管理、記憶體管理、裝置管理、儲存管理、軟體應用程式介面、及一般使用者介面。
作業系統253係管理記憶體234(209、206)以確保其運行於電腦模組201上之各程序或應用程式具有足夠的記憶體,其中用以執行而不與其配置給其他程序之記憶體衝突。再者,可用於圖2A之電腦系統200中的不同類型的記憶體需被適當地使用以致其各程序可有效地運行。因此,聚合記憶體234不是想要闡明記憶體之特定片段如何被配置(除非另有聲明),而是提供可由電腦系統200所存取之記憶體以及其如何被使用的一般性視圖。
如圖2B中所示,處理器205包括數個功能性模組,包括:控制單元239、算術邏輯單元(ALU)240、及本地或內部記憶體248(有時稱為快取記憶體)。快取記憶體248通常包括數個儲存暫存器244-246於暫存器區段中。一或更多內部匯流排241功能地互連這些功能模組。處理器205通常亦具有一或更多介面242,使用連接218以經由系統匯流排204與外部裝置通訊。記憶體234係使用連接219而被耦合至匯流排204。
應用程式233包括指令231之序列,其可包括條件式分支及迴路指令。程式233亦可包括資料232,其被用於程式233之執行。指令231及資料232被個別地儲存於記憶體位置228、229、230及235、236、237中。根據指令231及記憶體位置228-230之相對大小,特別指令可被儲存於單一記憶體位置(如由記憶體位置230中所示之指令所描述者)中。另一方面,指令可被分割為數個部分,其各者被儲存於分離的記憶體位置中,如由記憶體位置228及229中所示之指令片段所描述者。
通常,處理器205被提供一組被執行於其中之指令。處理器205等待後續輸入,處理器205係藉由執行另一組指令而對該輸入做出反應。各輸入可被提供自數個來源之一或更多者,包括由輸入裝置202、203之一或更多者所產生的資料、從橫跨網路220、202之一的外部來源所接收的資料、從儲存裝置206、209之一所擷取的資料或者從其插入相應讀取器212之儲存媒體225所擷取的資料,均描繪於圖2A中。一組指令之執行可(於某些情況下)導致資料之輸出。執行亦可涉及將資料或變數儲存至記憶體234。
視頻編碼器114、視頻解碼器134及所述方法可使用輸入變數254,其被儲存於相應記憶體位置255、256、257中之記憶體234中。視頻編碼器114、視頻解碼器134及所述方法係產生輸出變數261,其被儲存於相應記憶體位置262、263、264中之記憶體234中。中間變數258可被儲存於記憶體位置259、260、266及267中。
參考圖2B之處理器205,暫存器244、245、246、算術邏輯單元(ALU)240、及控制單元239係一起工作以履行微操作之序列,該些微操作是用以履行針對指令集(其組成程式233)中之每一指令的「提取、解碼、及執行」循環所需的。各提取、解碼、及執行循環包含: 提取操作,其係從記憶體位置228、229、230提取或讀取指令231; 解碼操作,其中控制單元239係判定哪個指令已被提取;及 執行操作,其中控制單元239及/或ALU 240係執行該指令。
之後,針對下一指令之進一步提取、解碼、及執行循環可被執行。類似地,儲存循環可被履行,控制單元239係藉由該儲存循環以將一值儲存或寫入至記憶體位置232。
圖10及11之方法中的各步驟或子程序(將被描述)係與程式233之一或更多片段相關且通常係由處理器205中之暫存器區段244、245、247、ALU 240、及控制單元239所履行,處理器205中之該些單元係一起工作以履行針對程式233之所述片段的指令集中之每一指令的提取、解碼、及執行循環。
圖3為概略方塊圖,其顯示視頻編碼器114之功能性模組。圖4為概略方塊圖,其顯示視頻解碼器134之功能性模組。通常,資料是在樣本或係數之群組中的視頻編碼器114及視頻解碼器134內的功能性模組之間傳遞,諸如將區塊分割為固定大小的子區塊、或成為陣列。視頻編碼器114及視頻解碼器134可使用通用電腦系統200(如圖2A及2B中所示者)來實施,其中各個功能性模組可藉由以下方式來實施:電腦系統200內之專屬硬體、電腦系統200內可執行之軟體,諸如其駐存在硬碟驅動器205上且由處理器205於其執行時所控制的軟體應用程式233之一或更多軟體碼模組。替代地,視頻編碼器114及視頻解碼器134可藉由專屬硬體與電腦系統200內可執行之軟體的組合而被實施。視頻編碼器114、視頻解碼器134及所述方法可替代地被實施於專屬硬體中,諸如其履行所述方法之功能或子功能的一或更多積體電路。此等專屬硬體可包括圖形處理單元(GPU)、數位信號處理器(DSP)、特定應用標準產品(ASSP)、特定應用積體電路(ASIC)、場可編程閘極陣列(FPGA)或者一或更多微處理器及相關記憶體。特別地,視頻編碼器114包含模組310-386而視頻解碼器134包含模組420-496,其可各被實施為軟體應用程式233之一或更多軟體碼模組。
雖然圖3之視頻編碼器114為多樣視頻編碼(VVC)視頻編碼管線之範例,但其他視頻編碼解碼器亦可被使用以履行文中所述之處理階段。視頻編碼器114係接收已擷取的框資料113,諸如資料一連串的框,各框包括一或更多顏色頻道。框資料113可為4:2:0色度格式或4:2:2色度格式。區塊分割器310首先將框資料113分割為CTU,通常其形狀為方形且被組態以致其CTU之特定大小被使用。CTU之大小可為64×64、128×128、或256×256亮度樣本。區塊分割器310進一步依據亮度編碼樹及色度編碼樹以將各CTU分割為一或更多CB。CB具有多種大小,且可包括方形及非方形高寬比兩者。區塊分割器310之操作係進一步參考圖10來描述。然而,於VVC標準中,CB、CU、PU、及TU總是具有其為二之次方的側面長度。因此,目前CB(表示為312)被輸出自區塊分割器310,依據其涵蓋CTU之一或更多區塊的疊代而前進,依據CTU之亮度編碼樹及色度編碼樹。用以將CTU分割為CB之操作係參考圖5及6而被進一步描述於下。
得自框資料113之第一分割的CTU可依光柵掃描順序而被掃描且可被群集為一或更多「切片」。切片可為「內」(或「I」)切片,內切片(I切片)指示其該切片中之每一CU被內預測。替代地,切片可為單或雙預測(「P」或「B」切片,個別地),其個別地指示該切片中之單及雙預測的額外可用性。
針對各CTU,視頻編碼器114係操作於兩個階段中。於第一階段(稱為「搜尋」階段)中,區塊分割器310測試編碼樹之各種潛在組態。編碼樹之各潛在組態具有關聯的「候選」CB。第一階段涉及測試各種候選CB以選擇其提供具有低失真之高壓縮效率的CB。該測試通常涉及拉格朗日(Lagrangian)最佳化,藉此根據速率(編碼成本)及失真(相對於輸入框資料113之錯誤)之加權組合來評估候選CB。「最佳」候選CB(具有最低經評估速率/失真的CB)被選擇以供後續編碼入位元流115。包括在候選CB之評估中的是使用CB於一既定區域的一種選項、或者依據各種分裂選項以進一步分裂該區域並以進一步CB編碼較小的所得區域之各者、或者甚至進一步分裂該等區域。結果,CB及編碼樹本身兩者是在搜尋階段中選擇。
視頻編碼器114產生預測區塊(PB),由箭號320所指示,針對各CB(例如,CB 312)。PB 320為關聯CB 312之內容的預測。減法器模組322產生差異,指示為324(或「殘餘」,指稱該差異係於空間領域中),介於PB 320與CB 312之間。差異324為介於PB 320與CB 312中的相應樣本之間的區塊大小差異。差異324被變換、量化並表示為變換區塊(TB),由箭號336所指示。PB 320及相關TB 336通常係選自許多可能的候選CB之一,例如基於經評估的成本或失真。
候選編碼區塊(CB)為得自其可用於相關PB及所得殘餘之視頻編碼器114的預測模式之一的CB。各候選CB導致一或更多相應TB,如下文參考圖8所述。TB 336為差異324之經量化且經變換表示。當與視頻解碼器114中之預測PB結合時,TB 336係減少介於已解碼CB與原始CB 312之間的差異,以位元流中之額外告知為代價。
各候選編碼區塊(CB),其為與變換區塊(TB)結合之預測區塊(PB),因此具有關聯編碼成本(或「速率」)及關聯差異(或「失真」)。速率通常係以位元來測量。CB之失真通常被估計為樣本值之差異,諸如絕對差之和(SAD)或平方差之和(SSD)。得自各候選PB之估計係由模式選擇器386使用差異324來判定,以判定內預測模式(由箭號388所表示)。與各候選預測模式及相應殘餘編碼關聯的編碼成本之估計可被履行以比該殘餘之熵編碼顯著更低的成本。因此,數個候選模式可被評估以判定依據速率-失真之最佳模式。
依速率-失真來判定最佳模式通常係使用拉格朗日最佳化之變異來獲得。內預測模式388之選擇通常涉及判定其得自特定內預測模式之應用的殘餘資料之編碼成本。編碼成本可藉由使用「絕對變換差異之和」(SATD)來近似,藉此相對簡單的變換(諸如哈德瑪(Hadamard)變換)被用以獲得估計的已變換殘餘成本。在使用相對簡單變換之一些實施方式中,得自簡化估計方法之成本係單調地相關於實際成本,其將另從完全評估來判定。在具有單調相關估計成本之實施方式中,該簡化估計方法可被用以做出相同的決定(亦即,內預測模式),減少了視頻編碼器114中之複雜度。為了容許介於估計成本與實際成本之間的關係中之可能的非單調性,簡化估計方法可被使用以產生最佳候選者之列表。非單調性可得自進一步模式決定,其可用於(例如)殘餘資料之編碼。最佳候選者之列表可為任意數字。可使用最佳候選者以履行更完整的搜尋來建立用於編碼該等候選者之各者的殘餘資料之最佳模式選擇,容許內預測模式連同其他模式決定之最終選擇。
其他模式決定包括用以跳過向前變換(已知為「變換跳躍」)的能力。跳過變換適於殘餘資料,其缺乏足夠的相關以供減少的編碼成本,經由表示為變換基礎函數。某些類型的內容(諸如相對簡單的電腦產生圖形)可展現類似的行為。針對「跳過的變換」,即使變換本身未被履行,殘餘係數仍被編碼。
拉格朗日或類似的最佳化處理可被利用以:選擇CTU之最佳分割為CB(藉由區塊分割器310)以及從複數可能性選擇最佳預測模式兩者。透過模式選擇器模組386中之候選模式的拉格朗日最佳化程序之應用,具有最低成本測量之內預測模式被選擇為「最佳」模式。最低成本模式是選定的內預測模式388,且亦藉由熵編碼器338而被編碼於位元流115中。藉由模式選擇器模組386之操作的內預測模式388之選擇係延伸至區塊分割器310之操作。例如,針對內預測模式388之選擇的候選者可包括:可用於既定區塊之模式及(額外地)可用於其集體地與該既定區塊共置的多數較小區塊之模式。在包括可用於既定區塊及較小共置區塊之模式的情況下,候選者之選擇的程序隱含地亦為一種判定CTU之最佳階層式分解為CB的程序。
於視頻編碼器114之操作的第二階段(稱為「編碼」階段)中,涵蓋選定亮度編碼樹和選定色度編碼樹(及因此各選定CB)之疊代被履行於視頻編碼器114中。於該疊代中,CB被編碼為位元流115,如進一步描述於文中。
熵編碼器338支援語法元素之可變長度編碼及語法元素之算術編碼兩者。算術編碼係使用背景調適二元算術編碼程序而被支援。算術編碼的語法元素係由一或更多「二元(bins)」之序列所組成。二元(類似位元)具有「0」或「1」之值。然而,二元並未被編碼於位元流115中而成為離散位元。二元具有關聯預測(或「可能」或「最可能」)值及關聯機率,已知為「背景」。當待編碼實際二元匹配該預測值時,「最可能符號」(MPS)被編碼。編碼最可能符號是相對低價的,針對已消耗位元而言。當待編碼實際二元失配該可能值時,「最不可能符號」(LPS)被編碼。編碼最不可能符號是相對高成本的,針對已消耗位元而言。二元編碼技術致能二元之高效率編碼,其中「0」相對於「1」之機率被偏斜。針對具有兩個可能值之語法元素(亦即,「旗標」),單一二元是足夠的。針對具有許多可能值之語法元素,二元之序列是需要的。
該序列中之較晚二元的存在可根據該序列中之較早二元的值來判定。此外,各二元可與多於一個背景相關聯。特定背景之選擇可取決於語法元素中之較早二元,相鄰語法元素之二元值(亦即,來自相鄰區塊之那些)等等。每次背景編碼二元被編碼,則其針對該二元(假如有的話)所選定的背景係以一種反映新二元值之方式來更新。如此一來,二元算術編碼方案被稱為調適性的。
亦由視頻編碼器114所支援者為其缺乏背景之二元(「旁路二元」)。旁路二元被編碼為假設介於「0」與「1」之間的機率相同分佈。因此,各二元佔據位元流115中之一個位元。背景之缺乏係節省記憶體並減少複雜度,而因此旁路二元被使用在其中針對特定二元之值的分佈未被偏斜時。利用背景及調適的熵編碼器之一範例在本技術中已知為CABAC(背景調適性二元算術編碼器),而此編碼器之許多變體已被利用於視頻編碼。
熵編碼器338係使用背景編碼與旁路編碼二元之組合來編碼內預測模式388。通常,「最可能模式」之列表被產生於視頻編碼器114中。最可能模式之列表通常為固定長度(諸如三或六模式),且可包括較早區塊中所遭遇的模式。背景編碼二元係編碼一旗標,其指示內預測模式是否為該些最可能模式之一者。假如內預測模式388是該些最可能模式之一者,則進一步告知係使用旁路編碼二元而被編碼。已編碼的進一步告知係指示哪個最可能模式係與內預測模式388相符,例如使用已截斷的一元二元字串。否則,內預測模式388被編碼為「剩餘模式」。編碼為剩餘模式係使用替代語法(諸如固定長度碼),亦使用旁路編碼二元而被編碼,以表達除了那些存在於最可能模式列表中以外的內預測模式。
多工器模組384依據已判定的最佳內預測模式388而輸出PB 320,該最佳內預測模式388係選自各候選CB之已測試的預測模式。候選預測模式不需包括由視頻編碼器114所支援之每一可想到的預測模式。
預測模式廣泛地落入兩個種類。第一種類為「框內預測」(亦稱為「內預測」)。於內框預測中,產生針對一區塊之預測,且產生方法可使用從目前框所獲得的其他樣本。針對內預測的PB,不同的內預測模式有可能被使用於亮度及色度,而因此內預測主要係針對PB上之操作來描述。
第二種類的預測模式為「框間預測」(亦稱為「間預測」)。於框間預測中,針對一區塊之預測係使用來自目前框前之一或兩個框的樣本來產生,依位元流中之編碼框的順序。此外,針對框間預測,通常係使用單一編碼樹於亮度頻道及色度頻道兩者。位元流中之編碼框的順序可不同於當擷取或顯示時之框的順序。當一個框被用於預測時,該區塊被稱為「單預測」且具有一個關聯移動向量。當兩個框被用於預測時,該區塊被稱為「雙預測」且具有兩個關聯移動向量。針對P切片,各CU可為內預測或單預測。針對B切片,各CU可為內預測、單預測、或雙預測。框通常係使用「圖片之群組」結構來編碼,致能框之時間階層。框之時間階層容許框依顯示該等框之順序來參考先前及後續圖片。該等影像依其確保滿足用以解碼各框之依存性所需的順序來編碼。
間預測之子種類被稱為「跳躍模式」。間預測及跳躍模式被描述為兩個相異的模式。然而,間預測模式及跳躍模式兩者均涉及其參考來自先前框之樣本的區塊之移動向量。間預測涉及已編碼移動向量差量,其係指明對於移動向量預測子之移動向量。移動向量預測子係從一或更多候選移動向量之列表獲得,以「合併指標」選擇。已編碼移動向量差量係提供對於選定移動向量預測之空間偏移。間預測亦使用位元流133中之已編碼殘餘。跳躍模式僅使用一指標(亦稱為「合併指標」)以從數個移動向量候選者選擇一個。選定的候選者被使用而無任何進一步告知。同時,跳躍模式不支援任何殘餘係數之編碼。已編碼殘餘係數之缺乏(當使用跳躍模式時)表示無須履行針對跳躍模式之變換。因此,跳躍模式通常不會導致管線處理問題。管線處理問題可能是針對內預測CU及間預測CU的情況。由於跳躍模式之有限的告知,跳躍模式可用於達成極高的壓縮性能(當有相對高品質參考框可用時)。隨機存取圖片群組結構之較高時間層中的雙預測CU通常具有高品質參考圖片及移動向量候選者,其準確地反映基本移動。
樣本係依據移動向量及參考圖片指標而被選擇。移動向量及參考圖片指標應用於所有顏色頻道而因此間預測主要係針對PU而非PB上之操作來描述。於各種類內(亦即,框內及框間預測),不同技術可被應用以產生PU。例如,內預測可使用來自先前重建樣本之相鄰列及行,與一方向結合以產生依據指定過濾及產生程序之PU。另一方面,PU可使用少數的參數來描述。間預測方法可在移動參數之數目及其精確度上有變化。移動參數通常包含參考框指標,其係指示來自參考框之列表的哪(些)參考框將被使用、加上該些參考框之各者的空間平移,但可包括更多框、空間框、或複合仿射參數(諸如擴縮及旋轉)。此外,預判定移動精化程序可被應用以根據參考的樣本區塊來產生密集的移動估計。
已判定並選定最佳PB 320、且從原始樣本區塊減去PB 320(在減法器322上)後,具有最低編碼成本之殘餘(表示為324)被獲得並接受無損壓縮。無損壓縮程序包含變換、量化及熵編碼之步驟。前向主要變換模組326將前向變換施加於差異324,將差異324從空間領域轉換至頻率領域,及產生由箭號328所表示之主要變換係數。主要變換係數328被傳遞至前向次要變換模組330以藉由履行非可分離次要變換(NSST)來產生由箭號332所表示之變換係數。前向主要變換通常是可分離的,變換各區塊之一組列及接著一組行(通常係使用DCT-2,雖然亦可用DST-7及DCT-8),例如水平地針對不超過16樣本的區塊寬度及垂直地針對不超過16樣本的區塊高度。各組列及行之變換係藉由以下方式來履行:首先將一維變換施加於區塊之各列以產生部分結果並接著施加於該部分結果之各行以產生最終結果。前向次要變換通常是非可分離的變換,其不僅被應用於內預測CU之殘餘且亦仍可被旁路。前向次要變換係操作於16個樣本(配置為主要變換係數328之左上4×4子區塊)或64個樣本(配置為左上8×8係數,配置為主要變換係數328之四個4×4子區塊)之任一者。此外,前向次要變換之矩陣係數係依據CU之內預測模式而被選自多數組,以使得兩組係數可供使用。該些組矩陣係數之一的使用(或前向次要變換的旁路)係以「nsst_index」語法元素來通知,使用已截斷的一元二值化來編碼以表示如下的值:零(次要變換未應用)、一(第一組矩陣係數被選擇)、或二(第二組矩陣係數被選擇)。
變換係數332被傳遞至量化器模組334。在模組334上,依據「量化參數」之量化被履行以產生殘餘係數,由箭號336所表示。量化參數針對既定TB是恆定的,而因此導致針對TB之殘餘係數的產生之均勻擴縮。非均勻擴縮亦藉由施加「量化矩陣」而為可能的,藉此針對各殘餘係數所施加的擴縮因子被導出自量化參數與擴縮矩陣中之相應條目的組合,其通常具有等於TB之大小的大小。殘餘係數336被提供至熵編碼器338以利位元流115中之編碼。通常,具有TU之至少一有效殘餘係數的各TB之殘餘係數被掃描以產生依序列表的值,依據掃描型態。掃描型態一般係掃描TB為4×4「子區塊」之序列,以殘餘係數之4×4集合的粒度提供規律掃描操作,具有取決於TB之大小的子區塊之配置。此外,預測模式388及相應區塊分割亦被編碼於位元流115中。
如上所述,視頻編碼器114需要對於一框表示(其係相應於視頻解碼器134中所見之框表示)之存取。因此,殘餘係數336亦藉由去量化器模組340而被反量化以產生反變換係數,由箭號342所表示。反變換係數342被傳遞通過反次要變換模組344以產生中間反變換係數,由箭號346所表示。中間反變換係數346被傳遞至反主要變換模組348以產生TU之殘餘樣本,由箭號350所表示。由反次要變換模組344所履行之反變換的類型係與由前向次要變換模組330所履行之前向變換的類型相應。由反主要變換模組348所履行之反變換的類型係與由主要變換模組326所履行之主要變換的類型相應。加總模組352將殘餘樣本350與PU 320相加以產生CU之重建樣本(由箭號354所指示)。
重建樣本354被傳遞至參考樣本快取356及迴路中過濾器模組368。參考樣本快取356,通常係使用ASIC上之靜態RAM來實施(因此避免昂貴的晶片外記憶體存取)係提供欲滿足用以產生該框中之後續CU的框內PB之依存性所需的最小樣本儲存。最小依存性通常包括沿著CTU之列的底部之樣本的「線緩衝器」,以供由CTU之下一列所使用,而緩衝其程度的行係由CTU之高度所設定。參考樣本快取356將參考樣本(由箭號358所表示)供應至參考樣本過濾器360。樣本過濾器360施加平坦化操作以產生已過濾參考樣本(由箭號362所指示)。已過濾參考樣本362係由框內預測模組364所使用以產生樣本之內預測區塊(由箭號366所表示)。針對各候選內預測模式,框內預測模組364產生樣本之區塊,其為366。
迴路中過濾器模組368施加數個過濾階段至已重建樣本354。過濾階段包括「解塊過濾器」(DBF),其係施加與CU邊界對準的平坦化以減少得自中斷的假影。存在於迴路中過濾器模組368中的另一過濾階段是「調適性迴路過濾器」(ALF),其係施加維納(Wiener)為基的調適性過濾以進一步減少失真。迴路中過濾器模組368中之再一可用的過濾階段是「樣本調適性偏移」(SAO)過濾器。SAO過濾器係藉由以下方式來操作:首先將已重建樣本分類為一或多個種類;並(依據所配置的種類)在樣本階施加偏移。
已過濾樣本(由箭號370所表示)被輸出自迴路中過濾器模組368。已過濾樣本370被儲存於框緩衝器372中。框緩衝器372通常具有用以儲存數個(例如高達16)圖片之容量而因此被儲存於記憶體206中。框緩衝器372通常並非使用晶片上記憶體來儲存,由於其所需要的大量記憶體損耗。如此一來,對於框緩衝器372之存取是昂貴的,以記憶體頻寬而言。框緩衝器372提供參考框(由箭號374所表示)至移動估計模組376及移動補償模組380。
移動估計模組376係估計「移動向量」(由箭號378所指示)之數目,其各為來自目前CB之位置的笛卡爾空間偏移,參考框緩衝器372中的參考框之一中的區塊。參考樣本之已過濾區塊(表示為382)被產生給各移動向量。已過濾參考樣本382形成可由模式選擇器386用於潛在選擇的進一步候選模式。再者,針對既定CU,PU 320可使用一個參考區塊(「單預測」)而被形成或者可使用兩個參考區塊(「雙預測」)而被形成。針對選定的移動向量,移動補償模組380係依據一過濾程序(其支援移動向量中之子像素準確度)以產生PB 320。如此一來,移動估計模組376(其係操作在許多候選移動向量上)可履行簡化的過濾程序,相較於移動補償模組380(其僅操作在選定的候選者上)之過濾程序,以達成減少的計算複雜度。
雖然圖3之視頻編碼器114係參考多樣視頻編碼(VVC)來描述,但其他視頻編碼標準或實施方式亦可採用模組310-386之處理階段。框資料113(及位元流115)亦可被讀取自(或寫入至)記憶體206、硬碟驅動器210、CD-ROM、藍光光碟(Blu-ray diskTM )或其他電腦可讀取儲存媒體。此外,框資料113(及位元流115)可被接收自(或傳輸至)外部來源,諸如連接至通訊網路220或射頻接收器之伺服器。
視頻解碼器134被顯示於圖4中。雖然圖4之視頻解碼器134為多樣視頻編碼(VVC)視頻解碼管線之範例,但其他視頻編碼解碼器亦可被使用以履行文中所述之處理階段。如圖4中所示,位元流133被輸入至視頻解碼器134。位元流133可被讀取自記憶體206、硬碟驅動器210、CD-ROM、藍光光碟(Blu-ray diskTM )或其他非暫態電腦可讀取儲存媒體。替代地,位元流133可被接收自外部來源,諸如連接至通訊網路220或射頻接收器之伺服器。位元流133含有已編碼語法元素,其代表待解碼之已擷取框資料。
位元流133被輸入至熵解碼器模組420。熵解碼器模組420係藉由解碼「二元」之序列以從位元流133提取語法元素並將該些語法元素之值傳遞至視頻解碼器134中之其他模組。熵解碼器模組420使用算術解碼引擎以將各語法元素解碼為一或更多二元之序列。各二元係使用一或更多「背景」,其中背景係描述將用於編碼該二元之「一」及「零」值的機率位準。當多數背景可用於既定二元時,「背景模擬」或「背景選擇」步驟被履行以選取用以解碼該二元之的可用背景之一。解碼二元之程序形成一依序回饋迴路。回饋迴路中之操作的數目最好是被最小化以致能熵解碼器420達成在二元/第二中的高通量。背景模擬係根據在選擇背景時視頻解碼器134所已知的位元流之其他性質,亦即,在目前二元之前的性質。例如,背景可基於編碼樹中之目前CU的四元樹深度來選擇。依存性最好是基於其在解碼二元之前眾所周知的(或者是無須長的依序程序來判定的)性質。
編碼樹之四元樹深度是針對其易於得知之背景模擬的依存性之範例。內預測模式是針對其相對難以判定或需要密集計算以判定之背景模擬的依存性之範例。內預測模式被編碼為以下之任一者:進入「最可能模式」(MPM)之列表中的指標或進入「剩餘模式」之列表中的指標,其中在MPM模式與剩餘模式之間的選擇係依據已解碼的「intra_luma_mpm_flag」。當使用MPM時,「intra_luma_mpm_idx」語法元素被解碼以選擇將使用該等最可能模式之哪一個。通常有六個MPM。當使用剩餘模式時,「intra_luma_remainder」語法元素被解碼以選擇將使用該等剩餘(非MPM)模式之哪一個。判定最可能模式及剩餘模式兩者需要可觀數目的操作且包括對於相鄰區塊之內預測模式的依存性。例如,相鄰區塊可為目前區塊之左上方的區塊。理想地,各CU之二元的背景可被判定,致能藉由算術編碼引擎的剖析,而無須知道被告知的內預測模式。出現在用於依序二元解碼之算術編碼引擎中的回饋迴路因此避免了對於內預測模式的依存性。內預測模式判定可被延緩至後續處理階段,具有由於MPM列表建構對於相鄰區塊之內預測模式的依存性之分離的回饋迴路。因此,熵解碼器模組420之算術解碼引擎能夠剖析intra_luma_mpm_flag、intra_luma_mpm_idx、 intra_luma_remainder而無須知道任何較早(例如,相鄰)區塊之內預測模式。熵解碼器模組420應用算術編碼演算法(例如「背景調適二元算術編碼」(CABAC))以解碼來自位元流133之語法元素。已解碼語法元素被用以重建視頻解碼器134內之參數。參數包括殘餘係數(由箭號424所表示)及模式選擇資訊,諸如內預測模式(由箭號458所表示)。模式選擇資訊亦包括諸如移動向量、及各CTU之分割為一或更多CB等資訊。參數被用以產生PB,通常係結合來自先前已解碼CB之樣本資料。
殘餘係數424被輸入至去量化器模組428。去量化器模組428係履行反量化(或「擴縮」)於殘餘係數424上,以產生已重建中間變換係數(由箭號432所表示),依據量化參數。已重建中間變換係數432被傳遞至反次要變換模組436,其中係應用次要變換或者無任何操作(旁路),依據已解碼「nsst_index」語法元素。「nsst_index」係藉由熵解碼器420而被解碼自位元流133,在處理器205之執行下。如參考圖3所述,「nsst_index」被解碼自位元流133而成為具有值零至二的已截斷一元語法元素。如進一步參考圖15所述,「nsst_index」語法元素被解碼而無須得知相應CB之內預測模式,其減輕熵解碼器420之算術解碼器中的回饋依存性迴路。反次要變換模組436係產生已重建變換係數440。假設非均勻反量化矩陣之使用被指示於位元流133中,則視頻解碼器134便從位元流133讀取量化矩陣為擴縮因子之序列,並將擴縮因子配置入矩陣中。反擴縮係使用量化矩陣(結合量化參數)以產生已重建中間變換係數432。
已重建變換係數440被傳遞至反主要變換模組444。模組444將該等係數從頻率領域變換至空間領域。TB係有效地基於有效殘餘係數及非有效殘餘係數值。模組444之操作的結果為殘餘樣本(由箭號448所表示)之區塊。殘餘樣本448之大小係等於相應的CU。殘餘樣本448被供應至加總模組450。在加總模組450上,殘餘樣本448被加至已解碼PB(表示為452)以產生已重建樣本(由箭號456所表示)之區塊。已重建樣本456被供應至已重建樣本快取460及迴路中過濾模組488。迴路中過濾模組488係產生框樣本(表示為492)之已重建區塊。框樣本492被寫入至框緩衝器496。
已重建樣本快取460係類似於視頻編碼器114之已重建樣本快取356而操作。已重建樣本快取460提供用以內預測後續CB(無記憶體206)所需之已重建樣本的儲存(例如藉由使用資料232來取代,其通常為晶片上記憶體)。參考樣本(由箭號464所表示)係從已重建樣本快取460獲得且被供應至參考樣本過濾器468以產生已過濾參考樣本(由箭號472所指示)。已過濾參考樣本472被供應至框內預測模組476。模組476係產生內預測樣本(由箭號480所表示)之區塊,依據位元流133中所告知的且由熵解碼器420所解碼的內預測模式參數458。
當CB之預測模式被指示為位元流133中的內預測時,則內預測樣本480係經由多工器模組484而形成已解碼PB 452。內預測產生樣本之預測區塊(PB),亦即,一個顏色成分中之區塊,其係使用相同顏色成分中的「相鄰樣本」來導出。相鄰樣本係相鄰於目前區塊的樣本且(由於在該區塊解碼順序中係位於前方)已被重建。當亮度及色度區塊被共置時,該等亮度及色度區塊可使用不同的內預測模式。然而,兩個色度頻道各共用相同的內預測模式。內預測落入三種類型。「DC內預測」涉及以單一值(其表示相鄰樣本之平均)填佔PB。「平面內預測」涉及以依據平面的樣本填佔PB,其中DC偏移及垂直和水平梯度係從相鄰樣本所導出。「有角內預測」涉及以在特定方向(或「角度」)橫跨PB被過濾且傳播的相鄰樣本填佔PB。在VVC中,65個角度被支援,其中矩形區塊能夠利用額外角度(不可用於方形區塊)以產生總共87個角度。第四類型的內預測可用於色度PB,藉此PB係依據「跨成分線性模型」(CCLM)模式而被產生自共置的亮度已重建樣本。三個不同CCLM模式是可用的,其各者係使用從相鄰亮度及色度樣本所導出的不同模型。經導出模型被接著用以從共置的亮度樣本產生針對色度PB之樣本的區塊。
當CB之預測模式被指示為間預測在位元流133中時,則移動補償模組434產生間預測樣本(表示為438)之區塊,其係使用移動向量及參考框指標以從框緩衝器496選擇並過濾樣本之區塊。樣本498之區塊係從框緩衝器496中所儲存的先前已解碼框獲得。針對雙預測,樣本之兩個區塊被產生並混合在一起以產生針對已解碼PB 452之樣本。框緩衝器496被填入以來自迴路中過濾模組488之已過濾區塊資料492。如同視頻編碼器114之迴路中過濾模組368,迴路中過濾模組488係施加DBF、ALF及SAO過濾操作之任一、至少一者、或全部。通常,移動向量被應用至亮度及色度頻道兩者,雖然針對次取樣內插亮度及色度頻道之過濾程序是不同的。當編碼樹中的分裂導致相當小的亮度區塊之集合且相應的色度區未被分割為相應的小色度區塊時,該等區塊係如個別地參考圖13及14所述者而被編碼及解碼。特別地,假如任何小亮度區塊係使用間預測而被預測,則間預測操作僅被履行於亮度CB,而非相應色度CB之任何部分。迴路中過濾模組368從已重建樣本456產生已過濾區塊資料492。
圖5為概略方塊圖,其顯示一區之可用分割或分裂的集合500為一或更多子區,在多樣視頻編碼之樹狀結構中。集合500中所示之分割可用於編碼器114之區塊分割器310以將各CTU分割為一或更多CU或CB,依據編碼樹,如由拉格朗日最佳化所判定,如參考圖3所述。
雖然集合500僅顯示方形區被分割為其他、可能非方形子區,但應理解圖形500係顯示可能的分割而不需要所含有的區為方形。假如所含有的區是非方形,則得自該分割之區塊的尺寸係依據所含有的區塊之高寬比而被擴縮。一旦區未被進一步分裂,亦即,在編碼樹之葉節點上,CU係佔據該區。CTU之特定子分割為一或更多CU(藉由區塊分割器310)被稱為CTU之「編碼樹」。
將區子分割為子區之程序在當所得子區到達最小CU大小時需終止。除了限制CU以禁止小於預定最小大小(例如,16樣本)以外,CU被限制以具有四之最小寬度或高度。其他最小值,針對寬度及高度或者針對寬度或高度兩者亦是可能的。子分割之程序亦可在分解之最深階前終止,導致大於最小CU大小之CU。可能沒有分裂發生,導致單一CU佔據整個CTU。佔據整個CTU之單一CU為最大可得的編碼單元大小。此外,其中並無分裂發生的CU係大於處理區大小。由於在編碼樹之最高位準處的二元或三元分裂,諸如64×128、128×64、32×128、及128×32等CU大小是可能的,其各者亦大於處理區大小。大於處理區大小之CU的範例係進一步參考圖10A-10F來描述。由於使用次取樣的色度格式(諸如4:2:0),視頻編碼器114及視頻解碼器134之配置可在色度頻道中比在亮度頻道中更早地終止區的分裂。
在編碼樹之葉節點上存在CU,沒有進一步子分割。例如,葉節點510含有一個CU。在編碼樹之非葉節點上存在分裂為二或更多進一步節點,其各者可含有一葉節點(其因此含有一個CU)或者含有進一步分裂為較小的區。在編碼樹之各葉節點處,各顏色頻道存在一個編碼區塊。在亮度及色度兩者之相同深度處分裂終止係導致三個共置的CB。在比色度更深的亮度之深度處分裂終止係導致複數亮度CB與色度頻道之CB共置。
四元樹分裂512將所含有的區分割為四個相等大小的區,如圖5中所示。相較於HEVC,多樣視頻編碼(VVC)利用加入了水平二元分裂514及垂直二元分裂516而達成額外的彈性。分裂514及516之各者將所含有的區分割為兩的相等大小的區。該分割係沿著水平邊界(514)或垂直邊界(516),於所含有的區塊內。
利用三元水平分裂518及三元垂直分裂520之加入而在多樣視頻編碼中達成進一步彈性。三元分裂518及520將該區塊分割為三個區,水平地(518)或垂直地(520)沿著所含有區寬度或高度之1/4及3/4來界定。四元樹、二元樹、及三元樹之組合被稱為「QTBTTT」。樹的根部包括零或更多四元樹分裂(樹之「QT」區段)。一旦QT區段終止,則零或更多二元或三元分裂可發生(樹之「多樹」或「MT」區段),最後結束在樹之葉節點處的CB或CU。當該樹描述所有顏色頻道時,則樹葉節點為CU。當該樹描述所有亮度頻道或色度頻道時,則樹葉節點為CB。
相較於HEVC,其僅支援四元樹而因此僅支援方形區塊,QTBTTT導致多更多的可能CU大小,特別是考量二元樹及/或三元樹分裂的可能遞迴應用。針對異常(非方形)區塊大小的潛在性可藉由限制分裂選擇而被減少,以消除其將導致區塊寬度或高度少於四個樣本或不是四個樣本的倍數之分裂。通常,該約束將適用於考量亮度樣本。然而,在所述的配置中,該約束可被分離地應用於色度頻道之區塊。將對於分裂選項之約束應用於色度頻道可導致亮度相對於色度之不同的最小區塊大小,例如當框資料是4:2:0色度格式或4:2:2色度格式時。各分裂係產生具有相對於所含有的區無論是不變的、減半的或減為四分之一的側面尺寸之子區。接著,因為CTU大小為二的次方,所以所有CU之側面尺寸亦為二的次方。
圖6為概略流程圖,其繪示一種用於多樣視頻編碼中之QTBTTT(或「編碼樹」)結構的資料流600。QTBTTT結構被用於各CTU以界定CTU之分割為一或更多CU。各CTU之QTBTTT結構係由視頻編碼器114中之區塊分割器310所判定且被編碼入位元流115,或藉由視頻解碼器134中之熵解碼器420而被解碼自位元流133。資料流600進一步特徵化其可用於將CTU分割為一或更多CU之區塊分割器310的可允許組合,依據圖5中所示之分割。
從階層之頂部階開始,其係在CTU上,零或更多四元樹分割被首先履行。明確地,四元樹(QT)分裂決定610係由區塊分割器310來做出。回覆「1」之在610上的決定係指示用以將目前節點分裂為四個子節點的決定,依據四元樹分裂512。其結果是四個新節點的產生,諸如在620上,且針對各新節點,遞迴回至QT分裂決定610。各新節點係依光柵(或Z掃描)順序來考量。替代地,假如QT分裂決定610指示其沒有進一步分裂將被履行(回覆「0」符號),則四元樹分割便停止且多重樹(MT)分裂被接著考量。
首先,MT分裂決定612係由區塊分割器310來做出。在612,用以履行MT分裂之決定被指示。在決定612上回覆「0」符號係指示其沒有節點之進一步分裂為子節點將被履行。假如沒有節點之進一步分裂將被履行,則該節點為編碼樹之葉節點且相應於CU。葉節點被輸出在622。替代地,假如MT分裂612指示一用以履行MT分裂(回覆「1」符號)之決定,則區塊分割器310進行至方向決定614。
方向決定614指示MT分裂之方向為水平(「H」或「0」)或者垂直(「V」或「1」)。假如決定614回覆「0」(指示水平方向),則區塊分割器310進行至決定616。假如決定614回覆「1」(指示垂直方向),則區塊分割器310進行至決定618。
在決定616及618之各者上,MT分裂之分割數目被指示為在BT/TT分裂上之二(二元分裂或「BT」節點)或者三(三元分裂或「TT」)。亦即,BT/TT分裂決定616係由區塊分割器310所做出,在當來自614之指示決定為水平時;而BT/TT分裂決定618係由區塊分割器310所做出,在當來自614之指示決定為垂直時。
BT/TT分裂決定616係指示其水平分裂是二元分裂514(藉由回覆「0」來指示)或三元分裂518(藉由回覆「1」來指示)。當BT/TT分裂決定616指示二元分裂時,則在產生HBT CTU節點步驟625上兩個節點係由區塊分割器310所產生,依據二元水平分裂514。當BT/TT分裂616指示三元分裂時,則在產生HTT CTU節點步驟626上三個節點係由區塊分割器310所產生,依據三元水平分裂518。
BT/TT分裂決定618係指示其垂直分裂是二元分裂516(藉由回覆「0」來指示)或三元分裂520(藉由回覆「1」來指示)。當BT/TT分裂618指示二元分裂時,則在產生VBT CTU節點步驟627上兩個節點係由區塊分割器310所產生,依據垂直二元分裂516。當BT/TT分裂618指示三元分裂時,則在產生VTT CTU節點步驟628上三個節點係由區塊分割器310所產生,依據垂直三元分裂520。針對其得自資料流600的步驟625-628遞迴回至MT分裂決定612之各節點被應用,依左至右或頂部至底部順序,根據方向614。因此,二元樹及三元樹分裂可被應用以產生具有各種大小之CU。
在編碼樹之各節點處的多組可容許及不容許分裂係參考圖9而被進一步描述。
圖7A及7B提供CTU 710之範例分割700為數個CU或CB。範例CU 712被顯示於圖7A中。圖7A顯示CTU 710中之CU的空間配置。範例分割700亦被顯示為圖7B中之編碼樹720。
在圖7A之CTU 710中的各非葉節點(例如節點714、716及718)上,所含有的節點(其可被進一步分割或可為CU)被掃描或遍歷以「Z順序」來產生節點之列表,其被表示為編碼樹720中之行。針對四元樹分裂,Z順序掃描導致左上至右接續以左下至右順序。針對水平及垂直分裂,Z順序掃描(遍歷)係簡化至上至下掃描及左至右掃描,個別地。圖7B之編碼樹720列出所有節點及CU,依據所應用的掃描順序。各分裂產生二、三或四個新節點之列表在樹之下一階上,直到葉節點(CU)到達。
已藉由區塊分割器310而將影像分解為CTU且進一步分解為CU、並使用CU以產生各殘餘區塊(324)後(如參考圖3所述),殘餘區塊係接受藉由視頻編碼器114之前向變換及量化。所得的TB 336被接著掃描以形成殘餘係數之依序列表,當作熵編碼模組338之操作的部分。一等效程序被履行於視頻解碼器134中以從位元流133獲得TB。
圖7A及7B之範例描述其可應用於亮度頻道及色度頻道兩者的編碼樹。然而,圖7A及7B之範例亦闡明有關於僅可應用於亮度頻道之編碼樹或僅可應用於色度頻道之編碼樹的遍歷之行為。針對具有許多巢套分裂的編碼樹,在更深位準處之可用的分裂選項係由對於相應小區之可用區塊大小的限制所侷限。對於小區之可用區塊大小加諸限制以防止區塊處理速率太高而對實施方式產生不合理負擔的最差情況。特別地,區塊大小應為色度中之16(十六)樣本的倍數之約束致能了用以處理16(十六)樣本之粒度的樣本之實施方式。將區塊大小限制於十六樣本之倍數是特別相關於「內重建」回饋迴路,其係涉及模組450、460、468、476、及484之圖4的視頻解碼器134中之路徑,以及視頻編碼器114中之同等路徑。特別地,將區塊大小限制於16(十六)樣本之倍數有助於維持內預測模式中之通量。例如,「同時資料多指令」(SIMD)微處理器架構係共同地操作在其可含有16樣本之寬字元上。同時,硬體架構可使用寬匯流排,諸如具有16樣本之寬度的匯流排,用以沿著內重建回饋迴路轉移樣本。假如使用較小的區塊大小(例如四個樣本),則匯流排將是未充分利用的,例如,僅匯流排寬度的四分之一含有樣本資料。雖然未充分利用的匯流排可處置較小的區塊(亦即,少於十六個樣本),但在最差情況情境下(諸如許多或所有區塊是相當小的大小),則未充分利用可能導致妨礙編碼器(114)或解碼器(134)的即時操作。針對間預測,各區塊係取決於從框緩衝器(諸如緩衝器372或496)所獲得的參考樣本。因為框緩衝器被填佔以參考樣本(當處理先前框時),所以沒有影響用以產生間預測區塊的區塊接區塊操作之回饋依存性迴路。除了其相關於內框重建的回饋依存性迴路之外,存在一額外且並行的回饋迴路,其係相關於內預測模式458之判定。內預測模式458係藉由以下方式來判定:從最可能模式列表選擇一模式、或者從剩餘模式列表選擇一模式。最可能模式列表及剩餘模式列表之判定需要相鄰區塊之內預測模式。當使用相當小的區塊大小時,最可能模式列表及剩餘模式列表需被更頻繁地判定,亦即,以由樣本中之區塊大小及頻道之取樣率所決定的頻率。
圖8A、8B、及8C提供依據編碼樹820(圖8B)之CTU 800 (8A)的範例分割,其中色度分裂係在亮度分裂之前終止並使用4:2:0色度格式。當色度分裂終止時,使用一對CB,各色度頻道一個。為了說明性便利,大小64×64亮度樣本之CTU 800。CTU 800係等同於128×128之CTU大小並包括一具有一個額外四元樹分裂的編碼樹。四元樹分裂被應用於8×8亮度區814。8×8亮度區814被分裂為四個4×4亮度CB,然而並無分裂發生在色度頻道中。取而代之,使用色度CB之預定的最小大小(在所述範例中為16)對,每一個相應於各色度頻道。該對色度CB通常是最小大小,其係相應於可理想地被同時處理之樣本數目的最小粒度。例如,視頻編碼器114及視頻編碼器134之許多實施方式將操作於多組16個樣本上,例如由於在硬體實施方式中使用相應地寬的內部匯流排。此外,得自該分裂之各亮度CB係與該對色度CB至少部分地重疊,而集合式亮度CB係與該對色度CB完全地重疊。在區814之範例中,產生一對4×4色度CB。圖8C顯示所得亮度CB與色度CB如何相關的範例。
回頭參考圖8A,垂直二元分裂被應用於16×4亮度區810。16×4亮度區810被分裂為兩個8×4亮度CB,然而並無分裂發生在色度頻道中,導致一對8×2色度CB。垂直三元分裂被應用於16×4亮度區812。16×4亮度區812被分裂為4×4、4×8、及4×4亮度CB,然而並無分裂發生在色度頻道中,導致一對8×2色度CB。水平二元分裂被應用於8×16亮度區816。8×16亮度區816被分裂為8×4、8×8、及8×4亮度CB,然而並無分裂發生在色度頻道中,導致一對4×8色度CB。因此,色度CB之面積為至少16樣本。
圖8C顯示CTU 800之一部分,其中以「分解」(或分離)方式顯示三個顏色平面來示範不同平面中的不同區塊結構。顯示亮度樣本平面850、第一色度樣本平面852、及第二色度樣本平面854。當使用「YCbCr」顏色空間時,亮度樣本平面850含有影像框之Y樣本,第一色度樣本平面852含有影像框之Cb樣本,而第二色度樣本平面854含有影像框之Cr樣本。4:2:0色度格式之使用係導致第一色度樣本平面852及第二色度樣本平面854具有水平地及垂直地相對於亮度樣本平面850之樣本密度的一半。結果,樣本中之色度區塊的CB尺寸通常為相應亮度CB之尺寸的一半。亦即,針對4:2:0色度格式,色度CB寬度及高度各為共置亮度CB之寬度及高度的一半。針對4:2:2色度格式,色度CB高度為共置亮度CB之高度的一半,而其寬度係相同於共置亮度CB之寬度。為了清楚表達,僅顯示8×16亮度區816之編碼樹中的母分裂,且僅顯示亮度樣本平面850中之分裂。當色度分裂終止時,複數亮度CB係與一對色度CB共置。例如CTU 800之編碼樹包括其被應用於8×16亮度區816之水平三元分裂。水平三元分裂導致8×4亮度CB 860、8×8亮度CB 862、及8×4亮度CB 864,其係存在亮度樣本平面850中。因為8×16亮度區816係相應於色度樣本平面(852及854)中之4×8色度樣本的區域,所以編碼樹之三元分裂不被應用於色度樣本平面(852及854)。因此,4×8色度樣本之區域係形成色度之葉節點,導致一對色度CB,亦即,第一色度樣本平面852之色度CB 866及第二色度樣本平面854之色度CB 868。在其僅被應用於亮度平面中之水平三元分裂的範例中,達成了32樣本之最小色度CB大小。其他的範例亮度區域(810、812、及814)導致16之最小色度CB大小,其係相應於最小亮度區塊大小及樣本處理之理想粒度。
圖9顯示其使用4:2:0色度格式所得之色度頻道的變換區塊大小及相關型態的集合900。集合900亦可用於4:2:2色度格式。所述之配置適於配合具有其中影像框之色度頻道係相對於影像框之亮度頻道而被次取樣的色度格式之影像框來使用,特別是針對4:2:0及4:2:2格式。集合900不包括所有可能的色度變換區塊大小。圖9中僅顯示具有小於或等於十六之寬度或者小於或等於八之高度的色度變換區塊。具有更大寬度及高度之色度區塊可能發生但未顯示於圖9中以利參考。
一組禁止變換大小910包括變換區塊大小2×2、2×4、及4×2,其所有均具有小於十六樣本之區域。換言之,在圖9之範例中,16(十六)色度樣本之最小變換大小係得自所述之配置的操作,特別是針對內預測CB。禁止變換大小910之情況係藉由判定如參考圖10所述之分裂選項來避免。變換中之殘餘係數被掃描以兩層方式,其中變換被分割為「子區塊」(或「係數群組」)。掃描係沿著從最後有效(非零)係數往回朝向DC(左上)係數之掃描路徑發生。掃描路徑被定義為各子區塊內之進程(「下層」)及從一個子區塊至下一個之進程(「上層」)。在集合900中,8×2 TB 920係使用8×2子區塊,亦即含有十六個殘餘係數之子區塊。2×8 TB 922係使用2×8子區塊,亦即,亦含有十六個殘餘係數。
具有二之寬度或高度(及八之倍數的其他尺寸)的TB係使用多數2×8或8×2子區塊。因此,在具有二樣本之寬度的一些實例中的色度區塊係使用區塊之分割為子區塊來編碼,各大小為2×8樣本;而在具有二樣本之高度的色度區塊在一些實例中係使用區塊之分割為子區塊來編碼,各大小為8×2樣本。例如,16×2 TB 916具有兩個8×2子區塊,各子區塊被掃描如針對TB 920所示者。從一個子區塊至下一個之掃描的進程係如子區塊進程917中所示。
2×32 TB(未顯示於圖9中)使用四個2×8子區塊,配置為一×四陣列。各子區塊中之殘餘係數被掃描如針對2×8 TB 922所示,其中子區塊係從最下子區塊前進高達一×四陣列之最上子區塊。
更大的TB係依循類似的掃描進程。針對具有各大於或等於四之寬度及高度的所有TB,使用4×4子區塊掃描。例如,4×8 TB 923使用4×4子區塊掃描924,具有從下子區塊至上子區塊的進程。4×4 TB 925可被掃描以類似的方式。8×8 TB 929係使用針對四個4×4子區塊的進程930。在所有情況下,子區塊內之掃描以及從子區塊至子區塊之進程係依循向後對角線掃描,亦即,掃描係從「最後」有效殘餘係數向後朝向TB之左上殘餘係數進行。圖9亦顯示橫跨8×4 TB 932、16×4 TB 934及16×8 TB 936之掃描順序,舉例而言。此外,取決於沿著掃描路徑之最後有效係數的位置,僅含有從最後有效係數位置回至子區塊之左上殘餘係數的最後有效殘餘係數之子區塊的部分需被掃描。在向前方向上進一步沿著掃描路徑的子區塊(亦即,更接近於區塊之右下方)無須被掃描。集合900及特別是禁止變換大小910係對於將編碼樹(在色度中)之區(或節點)分裂為子區(或子節點)的能力加諸限制,如參考圖10所述。
在使用2×2、2×4及4×2 TB(該組TB 910)之VVC系統中,可利用2×2子區塊於兩個樣本之寬度及/或高度的TB。如上所述,TB 910之使用增加了內重建回饋依存性迴路中之通量約束。此外,僅具有四個係數之子區塊的使用增加了以更高通量剖析殘餘係數的困難度。特別地,針對各子區塊,「有效性地圖」係指示其中所含有之各殘餘係數的有效性。一值的有效性旗標之編碼建立了殘餘係數之數值為至少一,而零值的旗標之編碼建立了殘餘係數之數值為零。殘餘係數數值(從一往上)及符號僅針對「有效」殘餘係數而被編碼。非有效性位元被編碼而數值(從零)總是針對DC係數而被編碼。高通量編碼器及解碼器可能需要編碼或解碼每時脈循環之多數有效性地圖二元以維持即時操作。每循環之多二元編碼及解碼的困難度被增加在當二元間依存性更多時(例如當使用較小子區塊大小時)。在系統100中,子區塊大小為16(儘管含有最後有效係數之子區塊的例外),無論區塊大小。
圖10顯示用以產生亮度編碼樹中之容許分裂的列表之一組規則1000。其他框可容許間預測及內預測區塊之混合。雖然編碼樹之全組可用分裂已參考圖6而被描述,對於可用變換大小的限制係對於既定區大小之特定分裂選項加諸約束。如以下所述,針對色度頻道之各者的分裂選項係依據相應編碼樹單元之區的尺寸來判定。
針對色度區之規則1020係顯示不同區域之容許分裂。規則1020之容許分裂被表達以亮度樣本之單元,即使色度頻道被考量,因為可使用不同色度格式。
在遍歷編碼樹之節點時,針對色度之容許分裂的列表係藉由檢查一組分裂選項(具有編碼樹的區大小)之可用性來獲得。導致其可使用CB而被編碼之區的分裂選項被加至容許分裂之列表。針對將使用CB而被編碼之區,區大小必須致能具有來自集合900之特定大小的整數變換之編碼。特定大小被選擇為不超過區大小之最大大小(考量寬度及高度兩者)。如此一來,針對較小的區係使用單一變換。在區大小超過最大可用變換之大小的情況下,最大可用變換被填磚以佔據整個區。
當考量其具有既定面積(以亮度樣本表示)之編碼樹中的節點時,用以履行既定類型的分裂之能力係依據分裂類型及色度區面積來判定。如圖10中所示,分裂選項係針對區大小來測試以判定該分裂選項是否將導致禁止大小之子區。導致容許大小之子區的分裂選項被視為容許色度分裂1070。
例如,如圖所示,針對色度區之規則1021a,假如在QT模式(相應於圖6之決定610)中,四元樹分裂不被容許,假如該區為4:2:0格式中之大小8×8或4:2:2格式中之8×8,因為該分裂將導致個別地針對色度頻道之2×2或2×4的變換大小。可容許的區大小係由箭號1021所指示。類似地,針對色度規則組1020之其他可容許分裂係由箭號1022、1023、1024、1025及1026所指示,且如以下相關於圖13及14所討論。箭號1021、1022、1023、1024、1025及1026各參考一容許色度分裂列表1070。
色度頻道之區大小係相關於亮度樣本柵格來描述。例如,8×4區相應於針對色度頻道之4×2變換,當使用4:2:0色度格式時。當使用4:2:2色度格式時,8×4區相應於色度中之4×4變換。當使用4:4:4色度格式時,色度並未針對亮度而被次取樣而因此色度中之變換大小係相應於區大小。
可容許分裂選項係相關於圖13及14而被進一步描述於下。
圖11顯示一種用以將一影像框之編碼樹編碼入一視頻位元流的方法1100。方法1100可藉由設備(諸如經組態的FPGA、ASIC、或ASSP)來實施。此外,方法1100可在處理器205之執行下藉由視頻解碼器114來履行。如此一來,方法1100可被儲存在電腦可讀取儲存媒體上及/或在記憶體206中。方法1100開始於判定色度格式步驟1105。
在判定色度格式步驟1105,處理器205將框資料113之色度格式判定為4:2:0色度格式或4:2:2色度格式之一。色度格式係框資料的性質且在方法1100之操作期間不改變。方法1100在處理器205之控制下從步驟1105繼續至分割框為CTU步驟1110。
在分割框為CTU步驟1110,區塊分割器310(在處理器205之執行下)將框資料113之目前框分割為CTU之陣列。編碼涵蓋其從該分割所得之CTU的進程開始。處理器中之控制從步驟1110進行至判定編碼樹步驟1120。
在判定編碼樹步驟1120,視頻編碼器114(在處理器205之執行下)測試各個預測模式及分裂選項(共同地)以達到CTU之編碼樹。亦導出針對CTU之編碼樹的各CU之預測模式及殘餘係數。通常,拉格朗日最佳化被履行以選擇針對CTU之最佳編碼樹及CU。當評估間預測之使用時,移動向量被選自一組候選移動向量。候選移動向量係依據搜尋型態而被產生。當候選移動向量之已提取參考區塊的測試失真正被評估時,考量編碼樹中之禁止色度分裂的應用。當一分裂在色度中禁止而在亮度中容許時,所得亮度CB可使用間預測。移動補償僅被應用於亮度頻道,而因此失真計算係考量亮度失真但非色度失真。色度失真不被考量,因為移動補償不被履行在色度頻道中(當色度分裂被禁止時)。針對色度,從經考量的內預測模式以及已編碼的色度TB(假如有的話)所致的失真被考量。當考量亮度及色度兩者時,間預測搜尋可首先基於亮度失真來選擇移動向量並接著藉由亦考量色度失真來「精化」該移動向量。精化通常係考量移動向量值之小變化,諸如子像素置換。當色度分裂被禁止而對於小亮度區塊之間預測的評估被履行時,色度精化是不需要的。處理器205中之控制從步驟1120進行至編碼編碼樹步驟1130。
在編碼編碼樹步驟1130,視頻編碼器114(在處理器205之執行下)履行方法1300(將相關於圖13而被描述)以將目前CTU之編碼樹編碼入位元流115。步驟1130係執行以將目前CTU編碼入位元流。處理器205中之控制從步驟1130進行至最後CTU測試步驟1140。
在最後CTU測試步驟1140,處理器205係測試目前CTU是否為片或框中之最後CTU。假如不是(在步驟1140為「否」),則視頻編碼器114前進至該框中之下個CTU,且處理器205中之控制從步驟1140進行回至步驟1120以繼續處理該框中之剩餘CTU。假如CTU為該框或片中的最後一個,則步驟1140返回「是」且方法1100終止。由於方法1100,整個影像框被編碼為CTU之序列而進入位元流中。
圖12顯示一種用以從一視頻位元流解碼一影像框之編碼樹的方法1200。方法1200可藉由設備(諸如經組態的FPGA、ASIC、或ASSP)來實施。此外,方法1200可在處理器205之執行下藉由視頻解碼器134來履行。如此一來,方法1200可被儲存在電腦可讀取儲存媒體上及/或在記憶體206中。方法1200開始於判定色度格式步驟1205。
在判定色度格式步驟1205,處理器205將框資料113之色度格式判定為4:2:0色度格式或4:2:2色度格式之一。色度格式係框資料的性質且在方法1200之操作期間不改變。視頻解碼器134可藉由位元流133之輪廓以判定色度格式。輪廓界定一組編碼工具,其可由特定位元流133所使用且可將色度格式侷限於特定值(諸如4:2:0)。該輪廓係藉由以下方式來判定:解碼(例如)來自位元流133之「profile_idc」語法元素、或解碼來自位元流133之一或更多約束旗標,其各者係侷限位元流133中之特定工具的使用。當色度格式未由該輪廓所完全地指明時,進一步語法(諸如「chroma_format_idc」)可被解碼以判定色度格式。方法1200在處理器205之執行下從步驟1205繼續至分割框為CTU步驟1210。
在分割框為CTU步驟1210,視頻解碼器134(在處理器205之執行下)判定其將被解碼之框資料133的目前框之分割為CTU之陣列。解碼涵蓋其從經判定分割所得之CTU的進程開始。處理器中之控制從步驟1210進行至解碼編碼樹步驟1220。
在解碼編碼樹步驟1220,視頻解碼器134(在處理器205之執行下)履行方法1400於目前CTU以從位元流133解碼目前CTU之編碼樹。目前CTU係得自步驟1210之執行的CTU之選定一者。處理器205中之控制從步驟1220進行至最後CTU測試步驟1240。
在最後CTU測試步驟1240,處理器205係測試目前CTU是否為片或框中之最後一者。假如不是(在步驟1240為「否」),則視頻解碼器134前進至該框中之下個CTU,且處理器205中之控制從步驟1240進行回至步驟1220以繼續從位元流解碼CTU。假如CTU為該框或片中的最後一個,則步驟1240返回「是」且方法1300終止。
圖13顯示將一影像框之編碼樹編碼入一視頻位元流的方法1300。方法1300可藉由設備(諸如經組態的FPGA、ASIC、或ASSP)來實施。此外,方法1300可在處理器205之執行下藉由視頻編碼器114來履行。如此一來,方法1300可被儲存在電腦可讀取儲存媒體上及/或在記憶體206中。方法1300導致將區塊編碼入位元流115以使得各區塊至少是最小區域。所述之配置係使用樣本之預定最小大小。所述之範例中的最小大小是16樣本,其針對一些硬體與軟體實施方式是較佳的。然而,不同的最小大小仍可被使用。例如,32或64之處理粒度及32或64樣本之相應最小區塊面積個別是可能的。編碼其具有最小面積之區塊針對實施方式可行性是有利的,在硬體及在軟體實施方式兩者中。針對軟體實施方式,16樣本之最小面積係與典型的單指令多資料(SIMD)指令集(諸如AVX-2及SSE4)一致。方法1300(一開始在目前CTU之編碼樹的根節點處調用)開始在編碼分裂模式步驟1310。
在編碼分裂模式步驟1310,熵編碼器338(在處理器205之執行下)將編碼樹之目前節點處的分裂模式編碼入位元流115。分裂模式為如參考圖5所述的分裂之一,而編碼分裂模式之步驟僅容許其為可能的分裂之編碼。例如,四元樹分裂512僅在編碼樹之根節點處或者在編碼樹中之其他四元樹分裂底下是可能的。其將導致具有少於四個樣本之寬度或高度的亮度CB之分裂被禁止,如相關於組910所示。關於二元及/或三元分裂之最大深度的其他約束亦可能生效,例如基於規則組1010。處理器205中之控制從步驟1310進行至無分裂測試步驟1320。
在無分裂測試步驟1320,處理器205係測試目前分裂是否為「無分裂」(亦即,510)。假如目前分裂是無分裂510(在步驟1320為「是」),則處理器205中之控制從步驟1320進行至編碼CU步驟1330。否則,假如目前分裂不是510(在步驟1320為「否」),則處理器205中之控制進行至色度分裂禁止測試步驟1340。
在編碼CU步驟1330,熵編碼器338(在處理器205之執行下)將CU之預測模式以及CU之殘餘編碼入位元流115。當步驟1330到達編碼樹之各葉節點處時,方法1300係於完成步驟1330終止,回到編碼樹遍歷中之母調用。一旦編碼樹之所有節點已被遍歷,則整個CTU被編碼在位元流115中且控制回至方法1100,進行至影像框中之下個CTU。
在色度分裂禁止測試步驟1340,處理器205判定編碼樹中之目前節點的分裂(針對步驟1310)是否容許被應用於色度頻道,依據圖10之色度區1020分裂規則組。假如編碼樹中之目前節點覆蓋128亮度樣本(32×4或4×32或16×8或8×16)之亮度區域,則相應色度區之三元分裂(16×2、2×16、8×4、4×8色度樣本,個別地)被禁止,如規則組1020中所示。假如三元分裂被容許,則所得區塊大小將包括禁止區塊大小(例如2×4或4×2)。當編碼樹中之目前節點覆蓋64亮度樣本之亮度區域時,則二元、三元及四元樹分裂被禁止,如規則組1020中所示。實施二元、三元及四元樹分裂於64亮度樣本之亮度區域將導致禁止色度區塊大小(2×2, 2×4, 4×2)。假如該分裂不被禁止(亦即,該分裂是列表1070之容許的色度分裂),則步驟1340返回「否」且處理器205中之控制從步驟1340進行至履行亮度及色度分裂步驟1350。否則,假如該分裂被禁止(在步驟1340為「是」),則處理器205中之控制進行至履行亮度分裂步驟13100。
在履行亮度及色度分裂步驟1350,處理器205應用該分裂以將與編碼樹之目前節點相關的目前區分割為與編碼樹之子節點相關的子區。該分裂係依據圖5及6之描述而被應用。處理器205中之控制從步驟1350進行至選擇區步驟1360。
在選擇區步驟1360,處理器係選擇得自步驟1350的子區之一。該子區係依據區之Z順序掃描而被選擇。該選擇在步驟1360之後續疊代上進行遍及該等子區。處理器205中之控制從步驟1360進行至編碼編碼樹步驟1370。
在編碼編碼樹步驟1370,處理器205針對得自步驟1360之選定區遞迴地調用方法1300。步驟1370進一步操作以編碼亮度及色度區塊、和相關的預測模式及殘餘係數,針對各區至位元流。處理器205中之控制從步驟1370進行至最後區測試步驟1380。
在最後區測試步驟1380,處理器205係測試該選定區(如在步驟1360所選定者)是否為得自分裂模式分割之區的最後一者,如在步驟1350所實施者。假如該區不是最後區(在步驟1380為「否」),則處理器205中之控制從步驟1380進行至步驟1360,以繼續進行遍及該分裂之區。否則,步驟1380返回「是」,方法1300終止且處理器205中之控制進行至方法1300之母調用。
在履行亮度分裂步驟13100,如在步驟1310所編碼的分裂模式僅藉由處理器205而被履行在亮度頻道中。結果,編碼樹之目前節點係依據該分裂模式而被分割為多數亮度CB。僅一對色度CB(亦即,每色度頻道一個色度CB)被產生。各所得亮度CB係與該對色度CB部分地重疊(共置),而集體地所得亮度CB係與該對色度CB之區域完全地重疊。集合式亮度CB剛好覆蓋該對色度CB之區域。此外,各亮度CB及色度CB之最小面積是最小大小,例如16樣本。
步驟13100及1350係操作以判定針對色度頻道Cb及Cr之色度編碼區塊的大小。在步驟1350,針對色度頻道之色度編碼區塊大小係基於在步驟1310所判定的分裂模式來判定。在步驟13100,針對色度頻道之色度編碼區塊大小係基於預定的最小色度區塊大小來判定。如上所述,步驟1350係基於其針對編碼樹單元而被禁止的色度分裂來實施。如圖10之規則組1020中所指示,可容許分裂、及因而色度編碼區塊之大小係基於在步驟1105所判定的色度格式來判定。
處理器205中之控制從步驟13100進行至選擇亮度CB步驟13110。
在選擇亮度CB步驟13110,處理器205係選擇得自步驟13100的CB之下個亮度CB。方法13100一開始選擇第一CB,其為得自亮度分裂的CB之左上亮度CB。在步驟13110之後續調用時,各「下個」亮度CB係依據涵蓋得自步驟13100之亮度CB的Z順序掃描來選擇。處理器205中之控制從步驟13110進行至編碼亮度CB步驟13120。
在編碼亮度CB步驟13120上,熵編碼器338(在處理器205之執行下)將選定的亮度CB編碼入位元流115。通常,預測模式及殘餘係數係針對選定亮度CB而被編碼。針對亮度CB而編碼的預測模式可使用間預測或內預測。例如,「cu_skip_flag」被編碼以指示無任何殘餘之間預測的使用;另外「pred_mode_flag」及選擇性地「pred_mode_ibc_flag」被編碼以指示內預測、間預測、或區塊內複製,各具有選擇性殘餘係數。當殘餘可能存在時,「cu_cbf」旗標係告知該CB之任何TB中的至少一有效(非零)殘餘係數之存在。當該CB被指示為使用間預測時,相關移動向量僅可應用於亮度CB。亦即,該移動向量不會亦被應用以產生與任何部分共置色度CB相關的任何PB。當該CB被指示為使用區塊內複製時,相關區塊向量僅與該亮度CB相關而不與任何部分共置色度CB相關。處理器205中之控制從步驟13120進行至最後亮度CB測試步驟13130。
在最後亮度CB測試步驟13130,處理器205依據在步驟13100所履行之分裂的亮度CB之Z順序疊代以測試其在步驟13110所選擇的亮度CB是否為最後亮度CB。假如該選定亮度CB不是最後一個(在步驟13130為「否」),則處理器205中之控制從步驟13130進行至步驟13120。否則,步驟13130返回「是」且處理器205中之控制進行至判定色度內預測模式步驟13140。
在判定色度內預測模式步驟13140,視頻編碼器114(在處理器205之執行下)判定針對與步驟13100之亮度CB共置的該對色度CB之內預測模式。步驟13140有效地判定其色度區塊係使用內預測來編碼。判定其由該色度CB所佔據的區是否在亮度頻道中被進一步分裂為多數亮度CB。針對一頻道之色度區塊的大小是預定的最小值(例如16樣本),如由步驟1350之操作所判定。針對該對色度CB之內預測模式被判定,即使相應亮度CB係使用間預測而被編碼在步驟13120。在一個配置中,單一預測模式(諸如DC內預測)被應用於各色度CB。單一預測模式之使用容許該模式將藉由分裂色度之禁止來判定(在步驟1340之「是」結果)而不需要額外的搜尋以判定多數可能模式之哪一個模式將被使用。此外,位元流115不需要針對此情況之額外告知,亦即,無須編碼額外 「intra_chroma_pred_mode」語法元素。然而,配置可藉由從數個可能內預測模式告知一個內預測模式以達成更高的壓縮性能,其係藉由將「intra_chroma_pred_mode」語法元素包括於位元流115中在當色度分裂已被禁止時(在步驟1340為「是」)。視頻編碼器114判定哪個內預測模式將被使用。內預測模式通常係依據編碼成本相較於失真之考量來判定。然而,相較於使用單一內預測模式於此等色度CB,通常獲得了更高的壓縮性能。處理器205中之控制從步驟13140進行至編碼色度CB步驟13150。
在編碼色度CB步驟13150,熵編碼器338(在處理器205之執行下)將針對色度CB之內預測模式編碼入位元流115,使用「intra_chroma_pred_mode」語法元素在當多數內預測模式可供使用時。當一個內預測模式(例如DC內預測)是可能的時,「intra_chroma_pred_mode」不被編碼入位元流115。針對色度內預測子之可用內預測模式可包括DC、平面、及以下角預測模式:水平、垂直、筆直對角。可用的內預測模式亦可包括「直接模式」(DM_CHROMA),藉此色度內預測模式被獲得自共置亮度CB,通常是得自步驟13100之亮度CB的最下及最右。當「跨成分線性模型」內預測為可用時,色度CB可被預測自來自亮度CB之樣本。與色度CB相關的色度TB之殘餘係數亦可被編碼入位元流115,如參考圖14之步驟14150所述。一旦步驟13150由處理器205所執行,方法1300便終止且處理器205中之控制返回至方法1300之母調用。
圖14顯示從視頻位元流解碼一影像框之一編碼樹的方法1400,如在方法1200之步驟1220所實施。方法1400可藉由設備(諸如經組態的FPGA、ASIC、或ASSP)來實施。此外,方法1400可在處理器205之執行下藉由視頻解碼器134來履行。如此一來,方法1400可被儲存在電腦可讀取儲存媒體上及/或在記憶體206中。方法1400導致解碼來自位元流133之區塊以使得各區塊不小於最小面積,諸如16樣本,其係有利於實施可行性,在硬體情況以及在軟體情況兩者。針對軟體情況,16樣本之最小面積係與典型的單指令多資料(SIMD)指令集(諸如AVX-2及SSE4)一致。方法1400(一開始在目前CTU之編碼樹的根節點處調用)開始在解碼分裂模式步驟1410。
在解碼分裂模式步驟1410,熵解碼器420(在處理器205之執行下)將編碼樹之目前節點處的分裂模式解碼入位元流133。分裂模式為如參考圖5所述的分裂之一,而編碼分裂模式之方法僅容許其被容許(亦即,在亮度頻道中被容許)之分裂的編碼,即使該分裂在色度頻道中被禁止。例如,四元樹分裂512僅在編碼樹之根節點處或者在編碼樹中之其他四元樹分裂底下是可能的。其將導致具有少於四個樣本之寬度或高度的亮度CB之分裂被禁止。如此一來,最小亮度CB大小為16樣本。關於二元及/或三元分裂之最大深度的其他約束亦可能生效。處理器205中之控制從步驟1410進行至無分裂測試步驟1420。
在無分裂測試步驟1420,處理器205係測試目前分裂是否為「無分裂」(亦即,510)。假如目前分裂是無分裂510(在1420為「是」),則處理器205中之控制從步驟1420進行至解碼CU步驟1430。否則,步驟1420返回「否」且處理器205中之控制進行至色度分裂禁止測試步驟1440。
在解碼CU步驟1430,熵解碼器420(在處理器205之執行下)解碼位元流115之CU的預測模式以及CU的殘餘係數。步驟1430係操作以藉由熵解碼器420而使用從位元流所判定的殘餘係數及預測模式來解碼編碼單元。當步驟1430到達編碼樹之各葉節點處時,方法1400係於步驟1430之完成時終止,回到編碼樹遍歷中之母調用。一旦編碼樹之所有節點已被遍歷,則整個CTU被解碼自位元流133中且控制回至方法1200,進行至影像框中之下個CTU。
在色度分裂禁止測試步驟1440,處理器205判定編碼樹中之目前節點的分裂(針對步驟1410)是否容許被應用於色度頻道,依據圖10之色度區1020分裂規則組。步驟1440判定該分裂測試是否被禁止以如方法1300之步驟1340的類似方式。步驟1440之操作防止禁止的區塊大小發生。當色度區已是最小大小(例如16色度樣本),則任何類型的進一步分裂均不被容許,因為所得區將小於可容許的最小值。當色度區大小是32樣本且相應的分裂是三元分裂(不管是水平或垂直三元分裂)時,亦不容許進一步分裂以避免8色度樣本之面積的色度區塊。假如該分裂不被禁止(亦即,該分裂是容許的),則步驟1450返回「否」且處理器205中之控制從步驟1440進行至履行亮度及色度分裂步驟1450。否則,假如該分裂被禁止(在步驟1450為「是」),則處理器205中之控制進行至判定色度內預測模式步驟14100。
在履行亮度及色度分裂步驟1450,處理器205應用該分裂以將與編碼樹之目前節點相關的目前區分割為與編碼樹之子節點相關的子區。該分裂被應用如係相關於圖5及6所述。
步驟14100及1450係操作以判定針對色度頻道Cb及Cr之色度編碼區塊的大小。在步驟1450,針對色度頻道之色度編碼區塊大小係基於在步驟1410所解碼的分裂模式來判定。在步驟14100,針對色度頻道之色度編碼區塊大小係基於預定的最小色度區塊大小來判定。如上所述,步驟1450係基於針對編碼樹單元而被禁止的色度分裂來實施,該編碼樹單元係相應於16(以及在亮度面積128樣本之三元分裂的情況下為32)之最小色度CB大小。如圖10之規則組1020中所指示,可容許分裂、及因而色度編碼區塊之大小係基於在步驟1205所判定的色度格式來判定。
處理器205中之控制從步驟1450進行至選擇區步驟1460。
在選擇區步驟1460,處理器205係選擇得自步驟1450的子區之一,依據該等區之Z順序掃描。步驟1460在後續疊代上操作遍及該等子區之進程選擇。處理器205中之控制從步驟1460進行至解碼編碼樹步驟1470。
在解碼編碼樹步驟1470,處理器205針對得自步驟1460之操作的選定區遞迴地調用方法1400。步驟1470進一步操作以使用從該位元流所判定的殘餘係數及預測模式來解碼該編碼樹的各區。處理器205中之控制從步驟1470進行至最後區測試步驟1480。
在最後區測試步驟1480,處理器205係測試該選定區(如在步驟1460之最後疊代所預選者)是否為得自步驟1450所實施的分裂模式分割之區的最後一者。假如該區不是最後區(在步驟1480為「否」),則處理器205中之控制從步驟1480進行至步驟1460,以繼續進行遍及該分裂之區。否則,步驟1480返回「是」,方法1400終止且處理器205中之控制進行至方法1400之母調用。
在履行亮度分裂步驟14100,如在步驟1410所編碼的分裂模式僅藉由處理器205而被履行在亮度頻道中。結果,編碼樹之目前節點係依據該分裂模式而被分割為多數亮度CB。步驟14100操作以產生僅一對色度CB(亦即,每色度頻道一個色度CB)。各所得亮度CB係與該對色度CB部分地重疊(兩者至少部分地共置),而集體地亮度CB係與該對色度CB完全地重疊。此外,各亮度CB及色度CB之最小面積是16樣本。處理器205中之控制從步驟14100進行至選擇亮度CB步驟14110。
在選擇亮度CB步驟14110,處理器205係選擇得自步驟14100的CB之下個亮度CB。下個亮度CB之選擇係以第一CB開始,其為得自亮度分裂的CB之左上亮度CB。在步驟14110之後續調用時,各「下個」亮度CB係依據涵蓋得自步驟14100之亮度CB的Z順序掃描來選擇。處理器205中之控制從步驟14110進行至解碼亮度CB步驟14120。
在解碼亮度CB步驟14120上,熵解碼器420(在處理器205之執行下)將選定的亮度CB解碼入位元流115。通常,預測模式及殘餘係針對選定亮度CB而被解碼。例如,「cu_skip_flag」被解碼以指示無任何殘餘之間預測的使用;另外「pred_mode_flag」及選擇性地「pred_mode_ibc_flag」被解碼以指示內預測、間預測、或區塊內複製,各具有選擇性殘餘係數。當殘餘可能存在時,「cu_cbf」旗標係告知該CB之任何TB中的至少一有效(非零)殘餘係數之存在。當CB被指示為使用間預測時,相關移動向量僅可應用於亮度CB,亦即,該移動向量不會也被應用來產生與任何部分共置之色度CB相關的任何PB。當該CB被指示為使用區塊內複製時,相關區塊向量僅與該亮度CB相關而不與任何部分共置色度CB相關。處理器205中之控制從步驟14120進行至最後亮度CB測試步驟14130。
在最後亮度CB測試步驟14130,處理器205依據在步驟14100所履行之分裂的亮度CB之Z順序疊代以測試其在步驟14110所選擇的亮度CB是否為最後亮度CB。假如該選定亮度CB不是最後一個,則處理器205中之控制從步驟14130進行至步驟14110。否則,處理器205中之控制進行至判定色度內預測模式步驟14140。
在判定色度內預測模式步驟14140,視頻解碼器134(在處理器205之執行下)判定針對與步驟14100之亮度CB共置的該對色度CB之內預測模式。步驟14140有效地判定其色度區塊已使用內預測來編碼,而因此應使用內預測來解碼,假如色度區塊是分裂色度之編碼樹的中斷之結果(當分裂亮度之編碼樹已發生時),如由步驟1440之操作所判定。針對該對色度CB之內預測模式被判定,即使相應亮度CB係使用間預測而被解碼在步驟14120。在一個配置中,單一預測模式(諸如DC內預測)被應用於各色度CB。單一預測模式之使用容許該模式將藉由分裂色度之禁止來判定(在步驟1440之「是」結果)而不需要額外的搜尋以判定多數可能模式之哪一個模式將被使用。此外,位元流134不需要針對此情況之額外告知,亦即,無須編碼額外「intra_chroma_pred_mode」語法元素。然而,配置可藉由從數個可能內預測模式告知一個內預測模式以達成更高的壓縮性能,其係藉由將「intra_chroma_pred_mode」語法元素包括於位元流134中在當色度分裂已被禁止時(在步驟1440為「是」)。視頻解碼器134必須判定哪個內預測模式將被使用,使用熵解碼器420以從位元流134解碼「intra_chroma_pred_mode」語法元素。處理器205中之控制從步驟14140進行至解碼色度CB步驟14150。
在解碼色度CB步驟14150,熵解碼器420(在處理器205之執行下)判定來自位元流420之色度CB的內預測模式,通常依據已解碼的「intra_chroma_pred_mode」語法元素。解碼「intra_chroma_pred_mode」被履行在當有多數內預測模式可用時。當僅有一個內預測模式可用,例如DC內預測,則該模式被推斷而無須解碼來自位元流133之額外語法元素。
針對色度內預測子之可用內預測模式可包括DC、平面、以下角預測模式:水平、垂直、筆直對角。可用的內預測模式亦可包括「直接模式」(DM_CHROMA),藉此色度內預測模式被獲得自共置亮度CB,通常是得自步驟14100之亮度CB的最下及最右。當「跨成分線性模型」內預測為可用時,色度CB可被預測自來自亮度CB之樣本。針對該對色度CB,「cu_cbf」旗標係告知至少一個有效殘餘係數之存在於該對色度CB之任一者中。假如至少一個有效殘餘係數係存在於該對色度CB之任一者中,則「tu_cbf_cb」及「tu_cbf_cr」便告知至少一個有效係數之存在於針對Cb及Cr之色度CB中,個別地。針對具有至少一個有效殘餘係數之色度CB,語法元素之「residual_coding」序列被解碼以判定個別色度CB之殘餘係數。殘餘編碼語法將殘餘係數編碼為其填佔變換區塊(從最後有效係數位置至左上(「DC」)係數位置)之值的序列,依據向後對角掃描。向後對角掃描係履行變換區塊之掃描而成為「子區塊」(或「係數群組」)之序列,通常大小4×4而非2×2、2×4、2×8、8×2、4×2之大小亦是可能的。在各係數群組內之掃描是在向後對角方向,而從一個子區塊至下個子區塊之掃描亦在向後對角方向。一旦步驟14150由處理器205所執行,方法1400便終止且處理器205中之控制返回至方法1400之母調用。
方法1300及1400之編碼樹方式(藉此16樣本之最小區塊面積係針對4:2:0色度格式而維持)有助於軟體及硬體兩者之高通量實施方式。此外,將內預測限制於針對小CB大小的亮度CB係減少了針對移動補償記憶體頻寬之此最差情況的記憶體頻寬,藉由避免亦提取用於產生經移動補償的色度CB之樣本的需求。特別假如最小色度CB大小為2×2且需要額外樣本以提供針對色度CB之次取樣內插的過濾器支援,則將可看出記憶體頻寬之實質上增加(相較於僅履行內預測在小區塊大小之亮度頻道中)。移動補償之編碼增益實質上出現在亮度頻道中,因此省略小區塊的移動補償係達成了針對相對小的編碼性能影響之記憶體頻寬減少。此外,記憶體頻寬減少係貢獻於在4×4亮度CB上履行移動補償之可行性並達成所得的編碼增益。
在視頻編碼器114及視頻解碼器134之一配置中,多於一個亮度分裂可發生在編碼樹中,從編碼樹之色度分裂所終止的點。例如,8×16亮度區域未被分裂在色度頻道中,導致一對4×8色度CB。在亮度頻道中,8×16亮度區域被首先分裂以水平三元分裂,且接著所得亮度CB之一被進一步分裂。例如,所得8×4亮度CB被垂直地二元分裂為兩個4×4亮度CB。具有多於一個亮度分裂在編碼樹中(從編碼樹之色度分裂所終止的點)的配置個別地再調用方法1300及1400於視頻編碼器114及視頻解碼器134中(在色度分裂禁止區域中),具有其在後續調用上無須進一步色度CB的修改。在其中該對色度CB被產生之方法1300及1400的調用上,整個色度區域係由所產生的色度CB來覆蓋,因此方法1300及1400之遞迴調用無須產生額外色度CB。
圖15A-15E顯示NSST之應用於各種大小的變換區塊,其中變換區塊之區包括針對一些變換區塊大小之歸零係數(由於所應用的特定次要變換內核)。歸零係數可為整個子區塊之子區塊的部分。NSST之應用係顯示於圖15A至15E中之前向方向,亦即,其中首先應用的主要前向變換係接續以次要前向變換。NSST之應用係針對一變換區塊之左上8×8區,進一步被限制在當變換區塊尺寸小於8×8時。此外,4×4 NSST內核被應用以填磚方式在4×8及8×4變換區塊內。主要及次要前向變換係個別地與模組326及330之操作相符。相反順序被用於反變換,亦即,視頻編碼器114中之模組34和348及視頻解碼器134中之模組436和444。
圖15A顯示變換區塊大小之集合1510。集合1510包括4×4區塊殘餘係數15100,4×4主要係數15110係藉由履行4×4主要變換而從該殘餘係數15100獲得。針對4×4變換區塊,16個係數係藉由具有8×16內核之次要變換而被變換,導致8個次要係數15120。該等8個次要係數係使用對角掃描順序而被封裝入4×4變換區塊中,其中依對角掃描順序之該變換區塊中的剩餘8個位置被初始化至0。集合1510包括殘餘係數15200之8×4區塊。8×4殘餘15200被主要變換以產生8×4主要係數15210。16×16內核被用於次要變換且被應用於兩組16個係數,其被配置為8×4主要係數內之4×4子區塊,導致8×4次要變換係數15220。係數15220包括兩個4×4子區塊,15230(次要係數)及15240(主要係數)。集合1510包括殘餘係數15300之4×8區塊。4×8殘餘15300被主要變換以產生4×8主要係數15310。16×16內核被用於次要變換且被應用於兩組16個係數,其被配置為4×8主要係數內之4×4子區塊,導致4×8次要變換係數15320。次要變換係數15320包括兩個4×4子區塊,亦即,15330及15340。
圖15B顯示具有大小16×4及4×16之變換區塊大小的集合1520。集合1520包括殘餘係數15400之16×4區塊,16×4主要係數15410係藉由履行主要變換而從該殘餘係數15400產生。最後係數15420之16×4區塊(或組)包括4×4次要變換係數15430及15440之兩個子區塊,其各者係藉由履行16點NSST於主要係數15410之最左兩個4×4子區塊上來產生。係數15420之最後區塊包括8×4主要係數15450,其為主要係數15410之右半的直接副本。集合1520亦包括殘餘係數15500之4×16區塊,4×16主要係數15510係藉由履行主要變換而從該殘餘係數15500產生。4×16最後殘餘係數15520之區塊包括4×4次要變換係數15530及15540之兩個子區塊,其各者係藉由履行16點NSST於主要係數15510之最上兩個4×4子區塊上來產生。殘餘係數15420之最後區塊包括4×8主要係數15550,其為主要係數15510之下半的直接副本。
圖15C顯示一個變換區塊大小(其為8×8)之集合1530。集合1530包括殘餘係數15600之8×8區塊,8×8主要係數15610係藉由履行主要變換而從該殘餘係數15600產生。次要變換係數15620係藉由應用8×64內核來產生,導致8個係數15630。8個次要係數15630係依據對角掃描順序而被映射入次要變換指數15620之左上4×4子區塊。次要變換係數15620之三個其他子區塊被歸零在當履行次要變換時。
圖15D顯示具有大小8×16及16×8之變換區塊的集合1540。集合1540包括殘餘係數15700之8×16區塊,8×16主要係數15710係藉由履行主要變換而從該殘餘係數15700產生。最後係數15720之8×16區塊包括次要變換係數15730,其係藉由履行64點NSST於主要係數15710之最上8×8區上來產生。次要變換係數15730形成次要係數15720之8×8子區塊的最左上4×4區塊。8×8子區塊之三個剩餘4×4子區塊被歸零。區塊最後係數15720包括8×8主要係數15740,其為主要係數15710之下半的直接副本。
集合1540包括殘餘係數15800之16×8區塊,16×8主要係數15810係藉由履行主要變換而從該殘餘係數15800產生。最後係數15820之16×8區塊包括8×8次要變換係數15830之子區塊,其係藉由履行64點NSST於主要係數15810之最左半上來產生。次要變換係數15830形成次要係數15820之8×8子區塊的最左上4×4區塊。8×8子區塊之三個其他4×4子區塊被歸零。最後係數15820之區塊包括8×8主要係數15840,其為主要係數15810之最右半的直接副本。雖然範例集合1540包括大小8×16及16×8之區塊,針對8×16及16×8所述的行為係應用於具有較大大小的TB,其中寬度或高度之任一者為8。
圖15E顯示一個變換大小(其為16×16)之集合1550。集合1550之範例可應用於其可用於VVC之較大變換大小,例如大小16×32、16×64、32×16、32×32、32×64、64×16、64×32、及64×64。集合1550包括殘餘係數15900之16×16區塊,16×16主要係數15910係藉由履行前向主要變換而從該殘餘係數15900產生。次要變換係數15930係藉由對主要係數15910之左上8×8係數履行64點NSST來產生。最後係數15920之區塊包括所得的16個次要係數15930,其佔據15920之左上4×4子區塊。15920之左上8×8係數的其他三個子區塊被歸零。剩餘的192個係數(除15920之左上象限以外的三個8×8象限)被指示為子區塊15940、15950及15960。子區塊15940、15950及15960被複製自15910之相應係數。
如圖15A-15E所示,針對特定的變換區塊大小,變換區塊之部分含有歸零係數(當應用次要變換時)。其通常將藉由應用次要變換而被歸零的區中之非零係數的存在係形成對於視頻解碼器134之如下指示:次要變換不被應用、反而是被旁路以致其僅有主要變換將被履行。哪個(假如有的話)次要變換將被應用之告知係參考圖16來描述。
圖16顯示一種用以在從一視頻位元流133所解碼之殘餘係數的區塊(例如在步驟1430所解碼者)上履行一非可分離次要變換(NSST)的方法1600。方法1600可被執行在(例如)步驟1430、1470或14120之一些實施方式中。方法1600可藉由設備(諸如經組態的FPGA、ASIC、或ASSP)來實施。此外,方法1600可在處理器205之執行下藉由視頻解碼器134來履行。如此一來,方法1600可被儲存在電腦可讀取儲存媒體上及/或在記憶體206中。方法1600導致判定TB(假如可應用的話)之NSST模式而不會引入對於內預測模式之依存,在已解碼語法元素(「nsst_index」)之剖析中。內預測模式之判定最好是被履行在熵解碼器420之算術解碼器解碼相關語法元素(特別針對相對小的區塊大小)後。雖然方法1600描述有關視頻解碼器134之操作,但視頻編碼器114係履行相應步驟以產生適於藉由履行方法1600之視頻解碼器134的解碼之位元流115。方法1600(針對CU中之亮度TB來調用)開始在解碼殘餘步驟1610。
在解碼殘餘步驟1610,熵解碼器420(在處理器205之執行下)從視頻位元流133解碼變換區塊之殘餘係數。殘餘係數被解碼為值之序列,其係依據向後對角掃描而被指派給變換區塊之二維陣列,配置入4×4子區塊中。4×4子區塊被掃描以向後對角方向。在該序列中所遭遇的第一值為「最後有效係數」,亦即,約略具有非零值(為「有效」)之最後係數,沿著針對該變換區塊所界定的掃描路徑。該序列中之各後續已解碼殘餘係數被指派給TB中之一位置,依據從最後有效係數位置進行回至「DC」係數(TB中之左上係數)的掃描。「編碼子區塊旗標」(或「係數群組」旗標)被告知給變換區塊中之殘餘係數的各4×4子區塊群集。當子區塊中之所有殘餘係數均為零時,則編碼子區塊旗標告知其在該子區塊內的掃描被跳過且相關的係數被設為零。處理器205中之控制從步驟1610進行至NSST可用測試步驟1620。
在NSST可用測試步驟1620,處理器205係測試是否有次要變換(NSST)可用以供應用於反量化係數342。NSST僅可用於假如亮度CB之預測模式為內預測且TB係應用於亮度頻道的話。因此,假如預測模式不是內預測或者CB係針對色度頻道的話,則步驟1620返回「否」且方法1600終止,而處理器205係藉由履行主要反變換而重新開始,如參考圖4所述。假如NSST是可用的(在步驟1620為「是」),則處理器205中之控制從步驟1620進行至殘餘係數計數測試步驟1630。
如參考圖15A-15E所述,針對特定TB大小,次要變換之應用係導致變換區塊係數之部分被歸零。此係由於前向次要變換,其產生比輸入係數更少的輸出係數。反次要變換係反轉其由次要前向變換所實施的壓縮,達其在前向方向上給定此一操作的無損本質所可能的程度。在已解碼TB中之「歸零」區的存在係致使「nsst_index」被解碼,告知次要變換是否已被使用。該等區中之任何有效係數的存在係指示其次要變換將不被應用。
在殘餘係數計數測試步驟1630,處理器205判定其來自步驟1610之已解碼殘餘係數是否與NSST之應用相容。亦即,步驟1630係測試特定子區塊是否僅包括非有效殘餘係數。在圖15C-15E中,標示為「0」之子區塊係顯示其由於次要變換之應用所致的歸零區。在圖15C中,左上子區塊僅包括8個次要係數(從DC位置向前),其中子區塊之最後8個係數被歸零。不管左上子區塊是包括8或16個次要係數,用以判定次要變換之潛在應用的歸零檢查被履行在整個子區塊上。歸零檢查被履行在整個子區塊上,亦即,達4×4子區塊之粒度。在圖15C之範例中,歸零檢查被履行在整個子區塊位準上,至15720之上半中標示為「0」的各子區塊(預期將藉由NSST之應用而被歸零的區塊),但非至最左上子區塊15730(預期在NSST之應用後含有次要係數的區塊)。在整個子區塊上履行該檢查係容許係數群組旗標被測試,而非測試子區塊內的個別係數。假如在經測試的子區塊內發現任何有效係數(亦即,子區塊之相應係數群組為一),則NSST尚未被履行在視頻編碼器114中,而因此不被履行在視頻解碼器134中。步驟1630返回「否」且方法1600終止,其中處理器205係履行主要變換,如參考圖4所述。假如在經測試的子區塊內未發現有效係數且子區塊之相應係數群組旗標為零,則步驟1630返回「是」且處理器205中之控制進行至選擇第一背景步驟1640。
在選擇第一背景步驟1640,熵解碼器420(在處理器205之執行下)選擇用以表示nsst_index語法元素之經截斷一元碼字的第一二元之背景。該選擇不使用CB之內預測模式。因此,無須履行intra_luma_mpm_flag、intra_luma_mpm_idx、或intra_luma_remainder語法元素之MPM列表建構及解讀。第一二元係使用兩個背景之一。假如該區塊之主要變換類型是DCT-2或假如該變換被跳過,則使用第一背景。假如主要變換類型不是DCT-2且該變換不被跳過,則使用第二背景,亦即,水平及垂直之主要變換係DST-7及DCT-8 1D變換之組合。主要變換類型係藉由在方法1600之解碼第一或第二二元前解碼「tu_mts_idx」語法元素來判定。主要變換類型係從tu_mts_idx判定而無進一步依存,且因此不會在計算上相對難以判定。處理器205中之控制從步驟1640進行至解碼第一二元步驟1650。
在解碼第一二元步驟1650,熵解碼器420(在處理器205之執行下)使用在步驟1640所選擇的背景以從位元流133解碼二元。已解碼二元形成其編碼「nsst_index」語法元素之經截斷一元碼字的第一二元。處理器205中之控制從步驟1650進行至NSST已應用測試步驟1660。
在NSST已應用測試步驟1660,處理器測試在步驟1650所解碼的二元。零之值指示其次要變換被旁路(NSST未被應用)並導致「否」被回覆在步驟1660。方法1600接著終止,其中處理器205係藉由履行主要變換而重新開始,如參考圖4所述。一之值指示其次要變換被應用,且處理器205中之控制從步驟1660進行至解碼第二二元步驟1680(在步驟1660為「是」)。
在解碼第二二元步驟1680,熵解碼器420(在處理器205之執行下)從位元流133解碼已旁路編碼二元(「第二二元」)。已旁路編碼二元係告知兩個可能NSST內核之哪一個將被應用於變換區塊並形成經截斷一元nsst_index語法元素之第二二元。將已旁路編碼二元用於第二二元(而非已背景編碼二元)被發現為導致無編碼性能影響並節省與儲存該背景相關的記憶體。將已旁路編碼二元用於第二二元(而非已背景編碼二元)亦避免與其選擇將使用多數可用背景之哪一個相關的邏輯。由發明人所執行的實驗顯示其並沒有將已旁路編碼二元用於第二二元(而非已背景編碼二元)所導致的編碼性能懲罰。處理器205中之控制係從步驟1680進行至履行反次要變換步驟1690。
在履行反次要變換步驟1690,反次要變換模組436(在處理器205之執行下)使用選定NSST內核以履行反次要變換在來自熵解碼器420之已解碼殘餘係數上。選定NSST內核之應用在已解碼殘餘係數上係操作以產生係數440。在完成步驟1690後,方法1600終止且處理器205繼續反主要變換444之應用,如參考圖4所述。在履行次要變換時,TB之部分被變換,如參考圖15A-E所述。
方法1600提供nsst_index告知,其避免對於內預測模式之依存性(其難以及時地導出給熵解碼器420內部之二元剖析)及避免背景之過量使用(其節省記憶體並簡化背景模擬計算)。假如使用內預測模式以判定第一二元及已算術編碼第二二元之背景,則將使用八個背景,而非兩個背景,如參考圖16所述。
在方法1600之一個配置中,第一二元被旁路編碼。由於相關背景之缺乏,步驟1640被省略且步驟1650解碼已旁路二元,導致更高的通量,由於較少的已背景編碼二元以及記憶體消耗的相關節省。為了特徵化方法1600優於針對NSST模式之傳統二元化的優點,進一步描述傳統二元化。在傳統二元化中,第一二元亦將取決於區塊之內預測模式(其為DC或是平面)相對於角模式。結合對於主要變換類型之依存性(如參考步驟1640所述),將需要總共四個背景。使用如用於第一二元之相同方案的第二二元之算術編碼將需要額外四個背景,導致總共八個背景。因此,方法1600節省了六個背景(相較於NSST指標之傳統二元化)並藉由使用旁路編碼於第二二元(而非算術編碼)以增加通量。 產業可利用性
所述之配置可應用於電腦及資料處理產業,而特別是針對信號(諸如視頻及影像信號)的編碼及解碼之數位信號處理,達成高壓縮效率。
相反於HEVC,VVC系統容許使用分離的編碼樹於亮度頻道及色度頻道以利增加的彈性。然而,如以上所討論,所得的問題可能由於使用較小的色度區塊(其影響通量)而發生。文中所述之配置係判定適當的規則,隨著各編碼樹單元被處理以協助避免通量問題。此外,如上所述,所述之配置可協助提供用以描述各編碼樹之背景編碼二元的算術編碼之增進效率及準確度,給定用以避免通量問題的規則。
以上僅描述本發明之某些實施例,並可進行修飾及/或改變而不背離本發明之範圍及精神,該些實施例為說明性且非限制性的。
100:視頻編碼及解碼系統 110:來源裝置 112:視頻來源 113:框資料 114:視頻編碼器 115:位元流 116:傳輸器 120:通訊頻道 122:非暫態儲存裝置 130:目的地裝置 132:接收器 133:位元流 134:視頻解碼器 135:已解碼框資料 136:顯示裝置 200:電腦系統 201:電腦模組 202:鍵盤 203:滑鼠指針裝置 204:互連匯流排 205:處理器單元 206:記憶體單元 207:音頻-視頻介面 208:介面 209:儲存裝置 210:硬碟驅動器(HDD) 211:局部網路介面 212:光碟驅動器 213:I/O介面 214:顯示裝置 215:印表機 216:收發器裝置 217:揚聲器 218,219:連接 220:通訊網路 221:連接 222:局部區域通訊網路 223:連接 224:連接 225:碟儲存媒體 226:掃描器 227:相機 228,229,230,235,236,237:記憶體位置 231:指令 232:資料 233:應用程式 234:記憶體 239:控制單元 240:算術邏輯單元(ALU) 241:內部匯流排 242:介面 244-246:暫存器 248:記憶體 249:ROM 250:開機自我測試(POST)程式 251:基本輸入輸出系統軟體(BIOS)模組 252:自舉載入器程式 253:作業系統 254:輸入變數 255,256,257:記憶體位置 258:中間變數 259,260,266,267:記憶體位置 261:輸出變數 262,263,264:記憶體位置 280:麥克風 310:區塊分割器 312:目前CB 320:預測區塊(PB) 322:減法器模組 324:差異 326:主要變換模組 328:主要變換係數 330:次要變換模組 332:變換係數 334:量化器模組 336:殘餘係數 338:熵編碼器 340:去量化器模組 342:反變換係數 344:反次要變換模組 346:中間反變換係數 348:反主要變換模組 350:殘餘樣本 352:加總模組 354:重建樣本 356:參考樣本快取 358:參考樣本 360:參考樣本過濾器 362:已過濾參考樣本 364:框內預測模組 366:內預測區塊 368:迴路中過濾器模組 370:已過濾樣本 372:框緩衝器 374:參考框 376:移動估計模組 378:移動向量 380:移動補償模組 382:已過濾參考樣本 384:多工器模組 386:模式選擇器 388:內預測模式 420:熵解碼器模組 424:殘餘係數 428:去量化器模組 432:已重建中間變換係數 434:移動補償模組 436:反次要變換模組 438:間預測樣本 440:已重建變換係數 444:反主要變換模組 448:殘餘樣本 450:加總模組 452:已解碼PB 456:已重建樣本 458:內預測模式 460:已重建樣本快取 464:參考樣本 468:參考樣本過濾器 472:已過濾參考樣本 476:框內預測模組 480:內預測樣本 484:多工器模組 488:迴路中過濾模組 492:已過濾區塊資料 496:框緩衝器 498:樣本 500:集合 510:葉節點 512:四元樹分裂 514:水平二元分裂 516:垂直二元分裂 518:三元水平分裂 520:三元垂直分裂 600:資料流 610:四元樹(QT)分裂決定 612:MT分裂決定 614:方向決定 616,618:決定 620,622,625,626,627,628:步驟 700:範例分割 710:CTU 712:範例CU 714,716,718:節點 720:編碼樹 800:CTU 810:16×4亮度區 812:16×4亮度區 814:8×8亮度區 816:8×16亮度區 820:編碼樹 850:亮度樣本平面 852:第一色度樣本平面 854:第二色度樣本平面 860:8×4亮度CB 862:8×8亮度CB 864:8×4亮度CB 866:色度CB 868:色度CB 900:集合 910:禁止變換大小 916:16×2 TB 917:子區塊進程 920:8×2 TB 922:2×8 TB 923:4×8 TB 924:4×4子區塊掃描 925:4×4 TB 929:8×8 TB 930:進程 932:8×4 TB 934:16×4 TB 936:16×8 TB 1000,1020:規則 1021,1022,1023,1024,1025,1026:箭號 1070:容許色度分裂列表 1100:方法 1105:判定色度格式步驟 1110:分割框為CTU步驟 1120:判定編碼樹步驟 1130:編碼編碼樹步驟 1140:最後CTU測試步驟 1200:方法 1205:判定色度格式步驟 1210:分割框為CTU步驟 1220:解碼編碼樹步驟 1240:最後CTU測試步驟 1300:方法 1310:編碼分裂模式步驟 1320:無分裂測試步驟 1330:編碼CU步驟 1340:色度分裂禁止測試步驟 1350:履行亮度及色度分裂步驟 1360:選擇區步驟 1370:編碼編碼樹步驟 1380:最後區測試步驟 1400:方法 1410:解碼分裂模式步驟 1420:無分裂測試步驟 1430:解碼CU步驟 1440:色度分裂禁止測試步驟 1450:履行亮度及色度分裂步驟 1460:選擇區步驟 1470:解碼編碼樹步驟 1480:最後區測試步驟 1510,1520,1530,1540,1550:集合 1600:方法 1610:解碼殘餘步驟 1620:NSST可用測試步驟 1630:殘餘係數計數測試步驟 1640:選擇第一背景步驟 1650:解碼第一二元步驟 1660:NSST已應用測試步驟 1680:解碼第二二元步驟 1690:履行反次要變換步驟 13100:履行亮度分裂步驟 13110:選擇亮度CB步驟 13120:編碼亮度CB步驟 13130:最後亮度CB測試步驟 13140:判定色度內預測模式步驟 13150:編碼色度CB步驟 14100:履行亮度分裂步驟 14110:選擇亮度CB步驟 14120:解碼亮度CB步驟 14130:最後亮度CB測試步驟 14140:判定色度內預測模式步驟 14150:解碼色度CB步驟 15100:4×4區塊殘餘係數 15110:4×4主要係數 15120:8個次要係數 15200:8×4殘餘 15210:8×4主要係數 15220:8×4次要變換係數 15230:次要係數 15240:主要係數 15300:4×8殘餘 15310:4×8主要係數 15320:4×8次要變換係數 15330,15340:4×4子區塊 15400:殘餘係數 15410:16×4主要係數 15420:最後係數 15430:4×4次要變換係數 15440:4×4次要變換係數 15450:8×4主要係數 15500:殘餘係數 15510:4×16主要係數 15520:4×16最後殘餘係數 15530:4×4次要變換係數 15540:4×4次要變換係數 15550:4×8主要係數 15600:殘餘係數 15610:8×8主要係數 15620:次要變換係數 15630:8個次要係數 15700:殘餘係數 15710:8×16主要係數 15720:最後係數 15730:次要變換係數 15740:8×8主要係數 15800:殘餘係數 15810:16×8主要係數 15820:最後係數 15830:8×8次要變換係數 15840:8×8主要係數 15900:殘餘係數 15910:16×16主要係數 15920:最後係數 15930:16個次要係數 15940,15950,15960:子區塊
現在將參考以下圖式及附錄來描述本發明之至少一實施例,其中:
[圖1]為概略方塊圖,其顯示一種視頻編碼及解碼系統;
[圖2A和2B]係形成一種通用電腦系統之概略方塊圖,於該系統上可實現圖1之視頻編碼及解碼系統的一者或兩者;
[圖3]為概略方塊圖,其顯示一種視頻編碼器之功能性模組;
[圖4]為概略方塊圖,其顯示一種視頻解碼器之功能性模組;
[圖5]為概略方塊圖,其顯示區塊之可用分割為一或更多區塊,在多樣視頻編碼之樹狀結構中;
[圖6]為資料流之概略方塊圖,用以獲得區塊之允許分割為一或更多區塊,在多樣視頻編碼之樹狀結構中;
[圖7A和7B]顯示編碼樹單元(CTU)之範例分割為數個編碼單元(CU);
[圖8A、8B、及8C]顯示編碼樹單元(CTU)之範例分割為亮度和色度頻道中的數個編碼區塊(CB);
[圖9]顯示變換區塊大小及相關掃描型態的集合;
[圖10]顯示用以產生亮度編碼樹及色度編碼樹中之容許分裂的列表之一組規則;
[圖11]顯示一種用以將一影像框之編碼樹編碼為一視頻位元流的方法;
[圖12]顯示一種用以從一視頻位元流解碼一影像框之編碼樹的方法;
[圖13]顯示一種用以將一影像框之一編碼樹編碼為一視頻位元流的方法;
[圖14]顯示一種用以從一視頻位元流解碼一影像框之一編碼樹的方法;
[圖15A-15E]顯示應用了非可分離次要變換的範例變換區塊;及
[圖16]顯示一種用以在從一視頻位元流所解碼之殘餘係數的區塊上履行一非可分離次要變換的方法。

Claims (26)

  1. 一種解碼來自一位元流的一影像框之一編碼樹單元的編碼區塊之方法,該方法包含:判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;遞迴地將該編碼樹單元分裂成一或多個編碼單元,其各者具有一亮度編碼區塊及色度編碼區塊;判定是否容許對一色度編碼區塊之進一步分裂,其中,假如一目前編碼單元之色度編碼區塊的一區塊大小係一預定色度區塊大小的話,則不容許對該目前編碼單元之該等色度編碼區塊的一三元分裂,即使對該目前編碼單元之一亮度編碼區塊的該三元分裂被履行,及其中,由於對該目前編碼單元之該亮度編碼區塊的該三元分裂,該目前編碼單元之該等色度編碼區塊係與複數相應亮度編碼區塊共置;及假如對該目前編碼單元之該等色度編碼區塊的該三元分裂未被履行、且對該目前編碼單元之該亮度編碼區塊的該三元分裂被履行的話,則使用內預測以解碼該目前編碼單元之該等色度編碼區塊。
  2. 如請求項1之方法,進一步包含使用內預測以解碼該等複數相應亮度編碼區塊之至少一者。
  3. 如請求項1之方法,其中該色度格式為4:2:0。
  4. 如請求項1之方法,其中該色度格式為4:2:2。
  5. 如請求項1之方法,其中假如該等複數相應亮度編碼區塊為128亮度樣本之一亮度區域的一三元分裂之結果的話則該預定色度區塊大小相應於32樣本。
  6. 如請求項1之方法,其中假如該等複數相應亮度編碼區塊為64亮度樣本之一亮度區域的一三元分裂之結果的話則該預定色度區塊大小相應於16樣本。
  7. 如請求項1之方法,其中假如判定其該目前編碼單元之該等色度編碼區塊係使用內預測來解碼的話,則該目前單元之該等色度編碼區塊係使用DC內預測來解碼。
  8. 如請求項1之方法,其中(i)該編碼樹單元之該亮度編碼單元係使用從該位元流所解碼的一分裂模式而被分割為該等複數相應亮度編碼區塊,及(ii)該預定色度區塊大小之該等色度編碼區塊係針對該等色度頻道之各者而被產生。
  9. 如請求項8之方法,其中該等複數相應亮度編碼區塊之各者至少部分地重疊該等已產生色度編碼區塊。
  10. 如請求項1之方法,進一步包含基於禁止色度分裂之一列表以判定該色度編碼區塊之該區塊大小為該預定色度區塊大小。
  11. 如請求項1之方法,其中該位元流藉由 包括一intra_chroma_pred_mode語法元素以告知數個可能內預測模式中的一個內預測模式。
  12. 一種用於解碼來自一位元流的一影像框之一編碼樹單元的編碼區塊之設備,該設備包含:一第一判定單元,其係組態成判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;一分裂單元,其係組態成遞迴地將該編碼樹單元分裂成一或多個編碼單元,其各者具有一亮度編碼區塊及色度編碼區塊;一第二判定單元,其係組態成判定是否容許對一色度編碼區塊之進一步分裂,其中,假如一目前編碼單元之色度編碼區塊的一區塊大小係一預定色度區塊大小的話,則不容許對該目前編碼單元之該等色度編碼區塊的一三元分裂,即使對該目前編碼單元之一亮度編碼區塊的該三元分裂被履行,及其中,由於對該目前編碼單元之該亮度編碼區塊的該三元分裂,該目前編碼單元之該等色度編碼區塊係與複數相應亮度編碼區塊共置;及一解碼單元,其係組態成假如對該目前編碼單元之該等色度編碼區塊的該三元分裂未被履行、且對該目前編碼單元之該亮度編碼區塊的該三元分裂被履行的話,則使用內預測以解碼該目前編碼單元之該等色度編碼區塊。
  13. 一種儲存一電腦程式之非暫態電腦可讀 取媒體,當執行在一電腦上時該電腦程式導致該電腦履行請求項1之方法。
  14. 一種將一影像框之一編碼樹單元的編碼區塊編碼入一位元流之方法,該方法包含:判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;遞迴地將該編碼樹單元分裂成一或多個編碼單元,其各者具有一亮度編碼區塊及色度編碼區塊;判定是否容許對一色度編碼區塊之進一步分裂,其中,假如一目前編碼單元之色度編碼區塊的一區塊大小係一預定色度區塊大小的話,則不容許對該目前編碼單元之該等色度編碼區塊的一三元分裂,即使對該目前編碼單元之一亮度編碼區塊的該三元分裂被履行,及其中,由於對該目前編碼單元之該亮度編碼區塊的該三元分裂,該目前編碼單元之該等色度編碼區塊係與複數相應亮度編碼區塊共置;及假如對該目前編碼單元之該等色度編碼區塊的該三元分裂未被履行、且對該目前編碼單元之該亮度編碼區塊的該三元分裂被履行的話,則使用內預測以編碼該目前編碼單元之該等色度編碼區塊。
  15. 如請求項14之方法,進一步包含使用內預測以編碼該等複數相應亮度編碼區塊之至少一者。
  16. 如請求項14之方法,其中該色度格式為 4:2:0。
  17. 如請求項14之方法,其中該色度格式為4:2:2。
  18. 如請求項14之方法,其中假如該等複數相應亮度編碼區塊為128亮度樣本之一亮度區域的一三元分裂之結果的話則該預定色度區塊大小相應於32樣本。
  19. 如請求項14之方法,其中假如該等複數相應亮度編碼區塊為64亮度樣本之一亮度區域的該三元分裂之結果的話則該預定色度區塊大小相應於16樣本。
  20. 如請求項14之方法,其中假如判定其該目前編碼單元之該等色度編碼區塊係使用內預測來編碼的話,則該目前單元之該等色度編碼區塊係使用DC內預測來編碼。
  21. 如請求項14之方法,其中(i)該編碼樹單元之該亮度編碼單元係使用被編碼入該位元流之一分裂模式而被分割為該等複數相應亮度編碼區塊,及(ii)該預定色度區塊大小之該等色度編碼區塊係針對該等色度頻道之各者而被產生。
  22. 如請求項21之方法,其中該等複數相應亮度編碼區塊之各者至少部分地重疊該等已產生色度編碼區塊。
  23. 如請求項14之方法,進一步包含基於禁止色度分裂之一列表以判定該色度編碼區塊之該區塊大小為該預定色度區塊大小。
  24. 如請求項14之方法,其中該位元流藉由包括一intra_chroma_pred_mode語法元素以告知數個可能內預測模式中的一個內預測模式。
  25. 一種用於將一影像框之一編碼樹單元的編碼區塊編碼入一位元流之設備,該設備包含:一第一判定單元,其係組態成判定該影像框之一色度格式,該色度格式具有相對於該影像框之一亮度頻道而被次取樣的該影像框之色度頻道;一分裂單元,其係組態成遞迴地將該編碼樹單元分裂成一或多個編碼單元,其各者具有一亮度編碼區塊及色度編碼區塊;一第二判定單元,其係組態成判定是否容許對一色度編碼區塊之進一步分裂,其中,假如一目前編碼單元之色度編碼區塊的一區塊大小係一預定色度區塊大小的話,則不容許對該目前編碼單元之該等色度編碼區塊的一三元分裂,即使對該目前編碼單元之一亮度編碼區塊的該三元分裂被履行,及其中,由於對該目前編碼單元之該亮度編碼區塊的該三元分裂,該目前編碼單元之該等色度編碼區塊係與複數相應亮度編碼區塊共置;及一編碼單元,其係組態成假如對該目前編碼單元之該等色度編碼區塊的該三元分裂未被履行、且對該目前編碼單元之該亮度編碼區塊的該三元分裂被履行的話,則使用內預測以編碼該目前編碼單元之該等色度編碼區塊。
  26. 一種儲存一電腦程式之非暫態電腦可讀取媒體,當執行在一電腦上時該電腦程式導致該電腦履行請求項14之方法。
TW109102763A 2019-03-11 2020-01-30 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統 TWI793396B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2019201649A AU2019201649A1 (en) 2019-03-11 2019-03-11 Method, apparatus and system for encoding and decoding a tree of blocks of video samples
AU2019201649 2019-03-11

Publications (2)

Publication Number Publication Date
TW202034704A TW202034704A (zh) 2020-09-16
TWI793396B true TWI793396B (zh) 2023-02-21

Family

ID=72425934

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109102763A TWI793396B (zh) 2019-03-11 2020-01-30 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統

Country Status (10)

Country Link
US (5) US11949857B2 (zh)
EP (1) EP3939297A4 (zh)
JP (3) JP7161619B2 (zh)
KR (1) KR20210096304A (zh)
CN (1) CN113557731B (zh)
AU (2) AU2019201649A1 (zh)
BR (1) BR112021013493A2 (zh)
RU (2) RU2022102804A (zh)
TW (1) TWI793396B (zh)
WO (1) WO2020181316A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020156574A1 (en) * 2019-02-03 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Signaling for video block partition mode
US20220312041A1 (en) * 2019-06-24 2022-09-29 Interdigital Vc Holdings, Inc. Method and apparatus for signaling decoding data using high level syntax elements
EP4088453A4 (en) 2020-02-14 2023-05-10 Beijing Bytedance Network Technology Co., Ltd. COLOCATED IMAGE INDICATION IN VIDEO BITSTREAMS

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140268329A1 (en) * 2013-03-12 2014-09-18 Micro-G Lacoste, Inc. Polarized Beam Director and Method
US20170272748A1 (en) * 2016-03-21 2017-09-21 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding
WO2017192995A1 (en) * 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630440B2 (en) * 2003-05-28 2009-12-08 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
KR20050053297A (ko) * 2003-12-02 2005-06-08 학교법인 성균관대학 동영상 부호화 방법 및 장치
CN103141103B (zh) 2010-04-09 2016-02-03 Lg电子株式会社 处理视频数据的方法和装置
SI2924995T1 (sl) 2010-07-09 2018-10-30 Samsung Electronics Co., Ltd. Postopek za dekodiranje videa z uporabo združevanja blokov
BR112013014371B8 (pt) * 2011-01-07 2022-05-24 Hfi Innovation Inc Método e aparelho de codificação aperfeiçoada de modo de predição intra crominância
JP5402995B2 (ja) * 2011-06-20 2014-01-29 株式会社Jvcケンウッド 画像復号装置、画像復号方法及び画像復号プログラム、並びに、受信装置、受信方法及び受信プログラム
US8964849B2 (en) 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
CA2773990C (en) 2011-11-19 2015-06-30 Research In Motion Limited Multi-level significance map scanning
US9332259B2 (en) 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US9467701B2 (en) 2012-04-05 2016-10-11 Qualcomm Incorporated Coded block flag coding
EP2837186B1 (en) 2012-04-12 2018-08-22 HFI Innovation Inc. Method and apparatus for block partition of chroma subsampling formats
US9538175B2 (en) 2012-09-26 2017-01-03 Qualcomm Incorporated Context derivation for context-adaptive, multi-level significance coding
AU2013200051B2 (en) 2013-01-04 2016-02-11 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking video data
AU2013228045A1 (en) * 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
WO2015051011A1 (en) 2013-10-02 2015-04-09 Arris Enterprises, Inc. Modified hevc transform tree syntax
WO2015102441A1 (ko) 2014-01-03 2015-07-09 삼성전자 주식회사 효율적인 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
JP2014143716A (ja) * 2014-03-12 2014-08-07 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
WO2016205999A1 (en) 2015-06-23 2016-12-29 Mediatek Singapore Pte. Ltd. Adaptive coding group for image/video coding
MY189780A (en) * 2016-02-11 2022-03-07 Thomson Licensing Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
EP3456043A4 (en) * 2016-05-28 2019-11-27 MediaTek Inc. METHOD AND DEVICE FOR REFERENCING THE CURRENT IMAGE FOR VIDEO CODING USING AFFINER MOTION COMPENSATION
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
CN107197296B (zh) * 2017-06-22 2019-08-13 华中科技大学 一种基于COStream的HEVC并行编码方法和系统
AU2018233042A1 (en) 2018-09-21 2020-04-09 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
EP3854087A4 (en) * 2018-10-09 2022-07-06 HFI Innovation Inc. METHOD AND APPARATUS FOR CODING OR DECODING USING REFERENCE SAMPLES DETERMINED BY PREDEFINED CRITERIA
US11140404B2 (en) * 2018-10-11 2021-10-05 Tencent America LLC Method and apparatus for video coding
WO2020108574A1 (en) * 2018-11-28 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Improving method for transform or quantization bypass mode
CN114173114B (zh) * 2019-01-08 2022-09-23 华为技术有限公司 图像预测方法、装置、设备、系统及存储介质
US11671595B2 (en) * 2019-03-12 2023-06-06 Qualcomm Incorporated Reconstruction of blocks of video data using block size restriction
US11277618B2 (en) * 2019-06-21 2022-03-15 Qualcomm Incorporated Increasing decoding throughput of intra-coded blocks
US11206413B2 (en) * 2019-08-13 2021-12-21 Qualcomm Incorporated Palette predictor updates for local dual trees
US11206395B2 (en) * 2019-09-24 2021-12-21 Mediatek Inc. Signaling quantization matrix
US11399195B2 (en) * 2019-10-30 2022-07-26 Tencent America LLC Range of minimum coding block size in video coding
US11265558B2 (en) * 2019-11-22 2022-03-01 Qualcomm Incorporated Cross-component adaptive loop filter
US20220279176A1 (en) * 2021-02-26 2022-09-01 Alibaba Group Holding Limited Directional cross component filter for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140268329A1 (en) * 2013-03-12 2014-09-18 Micro-G Lacoste, Inc. Polarized Beam Director and Method
US20170272748A1 (en) * 2016-03-21 2017-09-21 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding
WO2017192995A1 (en) * 2016-05-06 2017-11-09 Vid Scale, Inc. Method and system for decoder-side intra mode derivation for block-based video coding

Also Published As

Publication number Publication date
JP2022522922A (ja) 2022-04-21
KR20210096304A (ko) 2021-08-04
AU2019201649A1 (en) 2020-10-01
CN113557731A (zh) 2021-10-26
WO2020181316A1 (en) 2020-09-17
AU2021250892B2 (en) 2023-11-02
BR112021013493A2 (pt) 2021-09-21
AU2021250892A1 (en) 2021-11-11
US20220150479A1 (en) 2022-05-12
EP3939297A4 (en) 2022-12-07
RU2766850C1 (ru) 2022-03-16
JP2024012610A (ja) 2024-01-30
EP3939297A1 (en) 2022-01-19
JP2022188276A (ja) 2022-12-20
US20240146912A1 (en) 2024-05-02
RU2022102804A (ru) 2022-03-24
JP7391167B2 (ja) 2023-12-04
US20240146915A1 (en) 2024-05-02
TW202034704A (zh) 2020-09-16
JP7161619B2 (ja) 2022-10-26
US11949857B2 (en) 2024-04-02
US20240146913A1 (en) 2024-05-02
US20240146914A1 (en) 2024-05-02
CN113557731B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
JP7191211B2 (ja) 復号する方法、コンピュータプログラム、ビデオ復号装置
TWI793396B (zh) 用以編碼和解碼視頻樣本之區塊樹的方法、設備及系統
JP2023154047A (ja) ビデオサンプルのツリー若しくはブロックを符号化および復号する方法、装置、およびシステム
TWI786392B (zh) 用於編碼及解碼視訊樣本的區塊的方法、設備和系統
WO2020033992A1 (en) Method, apparatus and system for encoding and decoding a transformed block of video samples
US20240163427A1 (en) Method, apparatus and system for encoding and decoding a tree of blocks of video samples
AU2020202285A1 (en) Method, apparatus and system for encoding and decoding a block of video samples