TW202002633A - 用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統 - Google Patents

用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統 Download PDF

Info

Publication number
TW202002633A
TW202002633A TW108120053A TW108120053A TW202002633A TW 202002633 A TW202002633 A TW 202002633A TW 108120053 A TW108120053 A TW 108120053A TW 108120053 A TW108120053 A TW 108120053A TW 202002633 A TW202002633 A TW 202002633A
Authority
TW
Taiwan
Prior art keywords
conversion
horizontal
vertical
block
module
Prior art date
Application number
TW108120053A
Other languages
English (en)
Other versions
TWI827616B (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 TW202002633A publication Critical patent/TW202002633A/zh
Application granted granted Critical
Publication of TWI827616B publication Critical patent/TWI827616B/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本發明提供一種從位元流中解碼影像訊框中之轉換區塊的方法(1200)。該方法包括從該位元流中解碼單一截斷式一元碼二元化,該單一截斷式一元碼二元化被使用於該影像訊框之轉換區塊的水平轉換和垂直轉換。該方法然後基於該解碼後的單一截斷式一元碼二元化來決定該水平和垂直轉換的類型以及藉由對該影像之該轉換區塊施加該決定類型的水平和垂直轉換來解碼該影像訊框中的該轉換區塊。

Description

用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統
本發明係有關一般數位視訊訊號處理,且特別有關用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統。本發明亦有關包含電腦可讀媒體的電腦程式產品,該電腦可讀媒體具有用以編碼及解碼經轉換之視訊樣本區塊的電腦程式記錄於其上。
目前存在有許多用於視訊編碼的應用,其包含用於視訊資料之傳輸和儲存的應用。許多視訊編碼標準也已經被開發而且其他的視訊編碼標準目前正在開發中。視訊編碼標準化方面的近期發展已經帶向稱為「聯合視訊專家團隊」(JVET)之群組的形成。聯合視訊專家團隊(JVET)包含國際電信聯盟(ITU)的電信標準化部門(ITU-T)的第16研究群組,Question 6(SG16/Q6)的會員,也被稱為「視訊編碼專家小組」(VCEG),以及國際標準化組織/國際電子電工委員會第一聯合技術委員會/第29小組委員會/第11工作小組(ISO/IEC JTC1/SC29/WG11),也被稱為「動畫專家小組」(MPEG)。
聯合視訊專家團隊(JVET)發表具有在美國聖地牙哥其第10次會議所分析的回應之徵求提案(CfP)。所提出的回應展示顯著地勝過目前視訊壓縮標準(亦即,「高效率視訊編碼」(HEVC))技術水準的視訊壓縮能力。基於此優勝,決定開始發展一項新的視訊壓縮標準的計畫,其將被命名為「多功能視訊編碼」((versatile video coding(VVC))。期望VVC滿足對於越來越高之壓縮性能的不斷需求,特別是當視訊格式在能力上增加(例如,具有更高的解析度和更高的訊框速率(frame rate)),以及滿足對於透過WANs之服務提供不斷增加的市場需求時,其中,頻寬成本係相對高的。同時,VVC在現代的矽製程方面必須是可施行的,並且提供介於達成的性能對上施行成本之間可接受的妥協(例如,就矽面積、CPU處理器負載、記憶體利用及頻寬而言)。
視訊資料包含一序列的影像資料訊框,其各自包含一或更多個色彩通道。通常,有一個主要的色彩通道和兩個次要的色彩通道。主要的色彩通道一般被稱為「亮度(luma)」通道而次要的色彩通道一般被稱為「色度(chroma)」通道。雖然視訊資料典型上被顯示在RGB(紅-綠-藍)色彩空間中,但是該色彩空間在該三個個別的成分之間具有高度的相關性。由編碼器或解碼器所看到的視訊資料表示法常常使用諸如YCbCr的色彩空間。YCbCr將亮度集中在Y(主要)通道且將色度集中在Cb和Cr(次要)通道。而且,Cb和Cr通道相較於亮度通道可以用較低的速率來取樣,例如,水平上一半和垂直上一半—被稱為「4:2:0色度格式」。
VVC為「基於區塊的」編碼解碼(codec),其中,訊框被分成區塊,而該等區塊按照特別的順序來處理。對於各個區塊而言,該區塊之內容的預測被產生,而且介於該預測內容與真正區塊內容間之差異(或空間域上的「殘差(residual)」)的表示(被看作為到編碼器的輸入)被形成。該差異可以被編碼成為一序列的殘差係數(residual coefficient),係源自於對殘差值區塊施加順向初級轉換(forward primry transform),諸如離散餘弦轉換(DCT)或其他轉換。此初級轉換被分開地施加於殘差樣本區塊,亦即,該二維變換以兩輪(two passes)來實施,首先該等列藉由對各列施加一維變換而被變換,接著藉由對各行施加一維變換來變換此結果,以產生實質上使該等殘差樣本去相關(decorrelate)的殘差係數區塊。而且,多重變換係可供使用於此列和行處理,需要發訊(signaling)來指示哪一個是要被使用的。雖然在該區塊中使用不同的轉換之選項提供壓縮好處,但是其因為需要將索引編碼來選擇哪種變換係要被水平上和垂直上使用而被稍微地縮減。此發訊的有效編碼係有利於此發訊開銷(overhead)的衝擊。
本發明的目的在於實質上克服,或者至少改善現有配置的一或更多個缺點。
本發明的一個態樣提供一種從位元流中解碼影像訊框中之轉換區塊的方法,該方法包括:從位元流中解碼單一截斷式一元碼二元化,該單一截斷式一元碼二元化被使用於該影像訊框之轉換區塊的水平轉換和垂直轉換;根據該解碼後的單一截斷式一元碼二元化來決定該水平和垂直轉換的類型;以及藉由對該影像之該轉換區塊施加該決定類型的水平和垂直轉換來解碼該影像訊框中的該轉換區塊。
本發明的另一個態樣提供一種包括電腦應用程式的非暫態性電腦可讀媒體,該等程式係可由電腦設備執行以使該電腦實施從位元流中解碼影像訊框中之轉換區塊的方法,該方法包括:從位元流中解碼單一截斷式一元碼二元化,該單一截斷式一元碼二元化被使用於該影像訊框之轉換區塊的水平轉換和垂直轉換;根據該解碼後的單一截斷式一元碼二元化來決定該水平和垂直轉換的類型;以及藉由對該影像之該轉換區塊施加該決定類型的水平和垂直轉換來解碼該影像訊框中的該轉換區塊。
其他態樣也被揭示出。
在附圖的任一或更多者中參考步驟及/或特徵的情況中,其具有相同的參考數字,那些步驟及/或特徵為了此說明的目的而具有相同的功能或操作,除非有相反的意圖出現。
圖1為顯示視訊編碼及解碼系統100之功能模組的示意方塊圖。該系統100可以利用係數掃描法來改善壓縮係數及/或達成降低的施行成本。該系統100包含來源裝置110和終點裝置130。通訊通道120被用來使編碼後的視訊資訊從來源裝置110通訊至終點裝置130。在有些配置中,來源裝置110和終點裝置130可以任一或兩者皆包括各自的行動電話手機或「智慧型電話」,在該情況中,通訊通道120為無線通道。在其他配置中,來源裝置110和終點裝置130可以包括視訊會議配備,在該情況中,通訊通道120典型上為有線通道,諸如網際網路連接。而且,來源裝置110和終點裝置130可以包括寬廣範圍的裝置,包含支援空中電視廣播、有線電視應用、網際網路視訊應用(包含串流(streaming))以及其中之編碼後的視訊資料被擷取於一些電腦可讀儲存媒體(諸如,檔案伺服器中的硬碟機)上之應用的任何者。
如圖1所示,來源裝置110包含視訊源112、視訊編碼器114、和發送器116。視訊源112典型上包括擷取之視訊訊框資料的來源(顯示為113),諸如成像感測器、儲存在非暫態性紀錄媒體上之先前擷取的視訊序列、或從遠端成像感測器饋入的視訊輸入(video feed)。視訊源112也可以是電腦圖形卡的輸出,例如,顯示執行於例如平板電腦之計算裝置上的作業系統及各種應用程式的視訊輸出。可包含成像感測器作為視訊源112之來源裝置110的範例包含智慧型電話、錄影機(video camcorder)、專業攝影機(video camera)、及網路攝影機。視訊編碼器114將來自視訊源112之擷取的訊框資料(由箭號113所指示者)轉變(或編碼)成位元流(由箭號115所指示者),如同進一步參考圖3所說明的。位元流115透過通訊通道120而由發送器116發送作為編碼後的視訊資料(或「編碼後的視訊資訊」)。位元流115也有可能被儲存在非暫態性儲存裝置122上,諸如「快閃」記憶體或硬碟機,直到稍後被發送於通訊通道120上,或者代替透過通訊通道120的傳輸。
終點裝置130包含接收器132、視訊解碼器134、及顯示裝置136。接收器132接收來自通訊通道120之編碼後的視訊資料,並且將接收到的視訊資料傳送給視訊解碼器134作為位元流(由箭號133所指示者)。視訊解碼器134然後將解碼後的訊框資料(由箭號135所指示者)輸出至顯示裝置136。顯示裝置136的範例包含陰極射線管、液晶顯示器,諸如在智慧型電話、平板電腦、電腦監視器中、或者在獨立的電視機中。也有可能來源裝置110和終點裝置130之各者的功能性被具體化於單一裝置中,其範例包含行動電話手機和平板電腦。
儘管上面所提及的範例裝置,來源裝置110和終點裝置130之各者可以被組構於通用計算系統內,典型上經由硬體和軟體組件的組合。圖2A繪示這樣的一個電腦系統200,其包含:電腦模組201;輸入裝置,諸如鍵盤202、滑鼠指向器裝置203、掃描器226、相機227,其可以被組構為該視訊源112,以及麥克風280;以及輸出裝置,包含印表機215、顯示裝置214,其可以被組構為該顯示裝置136、和擴音器217。外部調變解調變器數據機(modem)收發器裝置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)介面,包含:耦接至視訊顯示器214、擴音器217、和麥克風280的音訊-視訊介面207;耦接至鍵盤202、滑鼠203、掃描器226、相機227以及可選的操縱桿(joystick)或其他人體學介面(human interface)裝置(未繪示出)的I/O介面213;以及用於外部數據機216和印表機215的介面208。從音訊-視訊介面207到電腦監視器214的訊號通常是電腦圖形卡的輸出。在有些施行中,數據機216可以被併入於電腦模組201之內,例如在介面208之內。該電腦模組201也具有局部網路介面211,其允許經由連接223使電腦系統200耦接至局域通訊網路222(被稱為局域網路(LAN))。如圖2A所繪示者,局域通訊網路222也可以經由連接224而耦接至廣域網路220,其典型上將包含所謂的「防火牆」裝置或類似功能性的裝置。局部網路介面211可包括EthernetTM 電路卡、BluetoothTM 無線配置或IEEEE 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,或者系統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中的指令231來予以實現(見圖2B),而該等指令231係實施於電腦系統200內。該等軟體指令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)的範例包含無線電或紅外線傳輸通道以及到另一電腦或網路連接裝置的網路連接,和網際網路(Internet)或內部網路(Intranet),包含電子郵件(e-mail)傳輸及記錄於網站上的資訊等等。
上面所述之應用程式233的第二部分及其對應的碼模組可以被執行來施行一或更多個圖形使用者介面(GUI),其要被渲染或者繪製於顯示器214上。經由典型上鍵盤202和滑鼠203的操縱,電腦系統200的使用者及應用程式可以以功能性上可適應的方式來操縱介面,以提供控制命令及/或輸入給與GUI相關聯的應用程式。功能性上可適應的使用者介面的其他形式也可以被施行,諸如利用經由擴音器217的語音提示輸出和經由麥克風280的使用者聲音命令輸入的音訊介面。
圖2B為處理器205和「記憶體」234的詳細示意方塊圖。記憶體234代表所有可以被圖2A之電腦模組201所存取之記憶體模組(包含HDD 209和半導體記憶體206)的邏輯聚集。
當電腦模組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的起動致使處於硬碟機210上的啟動載入程式252經由處理器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,用以經由系統匯流排204、使用連接218而與外部裝置相通訊。記憶體234使用連接219而被耦接至匯流排204。
應用程式233包含一序列指令231,其可包含條件性分支和迴圈指令。程式233也可以包含被使用於程式233之執行的資料232。指令231和資料232分別被儲存在記憶體位置228, 229, 230和235, 236, 237中。視指令231和記憶體位置228至230的相對尺寸而定,特別指令可以被儲存在單一個記憶體位置中,如同由顯示在記憶體位置230中的指令所描述的。或者,指令有時可以被分段成許多部分,各個部分被儲存在分開的記憶體位置中,如同由顯示在記憶體位置228和229中的指令分段(segment)所描述的。
通常,處理器205被給予一組執行於其中的指令。處理器205等候後續的輸入,處理器205藉由執行另一組指令來反應。各個輸入可以從許多來源的一或更多者來提供,其包含由該等輸入裝置202, 203的一或更多者所產生的資料、跨越網路220, 202的其中一者而從外部來源接收到的資料、從儲存裝置206, 209的其中一者所擷取到的資料或者從插入於對應的閱讀器212中之儲存媒體225中所擷取到的資料,通通被描述於圖2A中。該等指令之一組的執行在有些情況下可以導致資料的輸出。執行也可以涉及將資料或變數儲存至記憶體234。
視訊編碼器114、視訊解碼器134和所述方法可以使用輸入變數254,其可以被儲存在記憶體234中,在對應的記憶體位置255, 256, 257中。視訊編碼器114、視訊解碼器134和所述方法產生輸出變數261,其可以被儲存在記憶體234中,在對應的記憶體位置262, 263, 264中。中間變數258可以被儲存在259, 260, 266和267中。
參照圖2B的處理器205,對於組成程式233之指令集中的每一個指令而言,暫存器244, 245, 246、算術邏輯單元(ALU)240、和控制單元239一起工作來進行微操作的序列,其為進行「提取、解碼、和執行」週期所需。各提取、解碼、和執行週期包括: (a) 提取操作,其從記憶體位置228, 229, 230中提取或讀取指令231; (b) 解碼操作,其中,控制單元239決定哪個指令已經被提取;以及 (c) 執行操作,其中,控制單元239和/或ALU 240執行該指令。
之後,針對下一個指令的另一個提取、解碼、和執行週期可以被執行。類似地,儲存週期可以被實施,藉此,控制單元239將數值儲存或寫入至記憶體位置232。
即將要說明之圖12及13的方法中的各步驟或次處理係與程式233的一或更多個分段相關聯,並且典型上藉由處理器205中的暫存器區段244, 245, 247、ALU 240、和控制單元239來予以處理,而處理器205中的暫存器區段244, 245, 247、ALU 240、和控制單元239一起工作來為程式233之注意到的分段(noted segment)針對指令集中每一個指令進行提取、解碼、和執行週期。
圖3為顯示視訊編碼器114之功能性模組的示意方塊圖。圖4為顯示視訊解碼器134之功能性模組的示意方塊圖。通常,資料以樣本或係數群組的形式通過視訊編碼器114和視訊解碼器134之內的功能性模組之間,諸如將區塊分割成固定尺寸的子區塊的分割,或者作為陣列(array)。如圖2A和2B所示,視訊編碼器114和視訊解碼器134可以使用電腦系統200來予以施行,在該處,各種的功能性模組可以藉由電腦系統200之內的專用硬體,藉由可執行於電腦系統200之內的軟體來予以施行,諸如位在硬碟機205上並且藉由處理器205而被控制於其執行中之軟體應用程式233的一或更多個軟體碼模組。視訊編碼器114和視訊解碼器134可以藉由可執行於電腦系統200內之專用硬體及軟體的組合來予以施行。視訊編碼器114、視訊解碼器134和所述方法可以施行於專用硬體中,諸如施行該所述方法之功能或次功能的一或更多個積體電路。此種專用硬體可包含圖形處理單元(GPU)、數位訊號處理器(DSP)、特殊應用標準產品(ASSP)、特殊應用積體電路(ASIC)、現場可編程閘陣列(FPGA)或一或更多個微處理器及相關聯的記憶體。特別是,視訊編碼器114包括模組322到386且視訊解碼器134包括模組420到496,其各自可以被施行為該軟體應用程式233的一或更多個軟體碼模組。
雖然圖3的視訊編碼器114為多功能視訊編碼(VCC)視訊編碼管線(video encoding pipeline)的範例,其他的視訊編碼解碼(codec)也可以被用來實施本文中所敘述的處理階段。視訊編碼器114接收擷取的訊框資料113,諸如一序列的訊框,各訊框包含一或更多個色彩通道。區塊分隔器(block partitioner)310首先將訊框資料113分隔成一般被稱為「編碼樹單元」(CTU)的區域,通常其形狀是正方形,並且被組構而使得針對CTU的特殊尺寸被使用。例如,編碼樹單元的尺寸可以為64×64, 128×128, 或者256×256亮度樣本。區塊分隔器310進一步將各CTU分割成一或更多個編碼單元(CU),且CU具有各種各樣的尺寸,其可以包含正方形和非正方形的長寬比(aspect ratio)。因此,目前的區塊312,「編碼單元」(CU),從區塊分隔器310被輸出,依據重複迭代(iteration)而行進於CTU的一或更多個區塊之上。然而,CU的概念並不限於起因自分隔器310的區塊分隔(block partitioning)。視訊解碼器134也可以被說成是產生CU,其由於有損壓縮技術(lossy compression technique)的使用而典型上為來自區塊分隔器310之區塊的近似。而且,視訊編碼器114產生具有和如同在視訊解碼器134中所看到之近似相同的近似之CU,致使該樣本資料之確切的知識可供使用於視訊解碼器134中的區塊預測方法。用以將CTU分隔成CU的選項參照圖5及圖6而被進一步說明於下。
由於訊框資料113的第一次分割的編碼樹單元(CTU)可以按照光柵掃描順序(raster scan order)來予以掃描,並且被分組成一或更多個「切片(slice)」。因為訊框資料113典型上包含多個色彩通道,所以CTU和CU係與來自所有色彩通道的樣本相關聯,其與由區塊分隔器310之操作所界定的區塊區(block area)重疊。CU可以被說成是包括一或更多個編碼區塊(CB),且各CB佔據和該CU相同的區塊區(block area),但是與訊框資料113之色彩通道的每一個色彩通道相關聯。由於色度通道相較於亮度通道之樣本率(sample rate)潛在的差異,所以用於色度通道之CB的尺寸可能會和用於亮度通道之CB的尺寸不同。當使用該4:2:0色度格式時,CU之色度通道的CB具有CU之色度通道之CB的寬度及高度一半的尺寸。
在由於區塊分隔器310而重複迭代於所有的CU之上時,視訊編碼器114為各區塊(例如,區塊312)產生由箭號320所指示的「預測單元」(PU)。PU 320為相關CU 312之內容的預測。減法器模組322產生PU 320與CU 312之間的差值,由324所指示的(或者「殘差」,指的是空間域中的差異)。差值324為PU 320與CU 312中介於對應的樣本間之區塊大小的差異。差值324被轉換、量化和表示為轉換單元(TU),由箭號336所指示的。PU 320典型上被選為作為許多可能的候選PU之「最佳」的一個。候選PU是得自可供視訊編碼器114使用之預測模式其中一者的PU。各候選PU產生對應的轉換單元。轉換單元336為差值324經量化和轉換後的表示。當與解碼器114中之預測的PU相結合時,轉換單元336以位元流中額外的發訊為代價地減小解碼後CU與原來區塊312之間的差異。
各候選PU因而具有相關聯的編碼成本(率)以及相關聯的差異(或失真(distortion))。編碼率(成本)典型上以位元為單位來予以測量,區塊的編碼失真典型上以樣本率的形式而被估算為差值,諸如絕對差值的和(SAD)或者平方差值的和(SSD)。源自於各候選PU的估算(estimate)係由模式選擇器386使用差值324來決定,以決定畫面內預測模式(由箭號388所表示者)。與各候選預測模式及對應的殘差編碼相關聯之編碼成本的估算可以用明顯比殘差的熵編碼(entropy coding)之成本更低的成本來進行。因此,許多的候選模式可以被評估來從率失真的意義上決定最佳模式。
決定最佳模式典型上使用拉格朗(Lagrangian)最佳化法的變異來達成。畫面內預測模式388的選擇典型上涉及決定源自於特別的畫面內預測模式的應用之針對殘差資料的編碼成本。編碼成本可以藉由使用「轉換後差值的和」來予以近似,藉此,諸如哈達馬德轉換(Hadamard transform)之相對簡單的轉換被用來取得估算之轉換後的殘差成本。對於使用相對簡單的轉換之施行而言,假設源自於簡化之估算法的成本係單調地(monotonically)相關於在其他方面會由完全評估所決定的真正成本,該簡化之估算法可以被用來做出相同的決定(亦即,畫面內預測模式),而可縮減視訊編碼器114的複雜度。為了允許介於估算成本與真正成本間之關係上可能的非單調性(non-monotonicity),其可能源自於可用於殘差資料的編碼之其他的模式決定,簡化的估算法可以被用來產生最佳候選者的列表(list)。該最佳候選者的列表可以是任意數目的。更完整的搜尋可以使用該等最佳候選者來進行,以建立用於該等候選者各者之殘差資料的編碼之最佳的模式決定,使得畫面內預測模式以及其他模式決定的最終選擇成為可能。
該等其他的模式決定包含略過主要及次要轉換的能力,被稱為「轉換省略(transform skip)」。略過該等轉換適合於缺少充分相關性(adequate correlation)的殘差資料,用以經由表示成基於轉換之函數來縮減編碼成本。某些類型的內容,諸如相對簡單的電腦產生圖形,可以展示類似的行為。
與模式選擇器模組386相關聯的另一個模式決定為明確的多個轉換索引(explicit multiple transform index)的選擇(由箭號390所表示者)。該明確的多個轉換索引390具有四個可能值。這四個可能值為兩個索引的組合(圖10A中的行1046和1048所示),其中,各索引係在0到1的範圍中。第一個索引係與水平轉換索引H有關而第二個索引係與垂直轉換索引V有關。該水平轉換索引H也被稱為水平轉換選擇而垂直轉換索引V也被稱為垂直轉換選擇。該明確的多個轉換索引390的選擇及編碼係參照圖10來做說明。
拉格朗(Lagrangian)或類似的最佳化處理可以被用來(藉由區塊分隔器310)選擇將CTU轉變成CU的最佳分隔以及從複數個可能性中選出最佳預測模式兩者。經由在模式選擇器模組386應用該等候選模式的拉格朗最佳化處理,具有最低成本計量(cost measurement)的畫面內預測模式被選擇作為最佳模式。該最佳模式為選擇到的畫面內預測模式388,而且也藉由熵編碼器(entropy encoder)338而被編碼於位元流115中。藉由模式選擇器模組386的操作之畫面內預測模式388的選擇延伸至區塊分隔器310的操作。例如,畫面內預測模組388之選擇的候選者可以包含可應用於給定區塊的模式以及可應用於係共同與該給定區塊搭配之多個更小區塊的其他模式。在此等情況下,候選者之選擇的處理隱含地也是決定將CTU轉變成CU之最佳階層分解(hierarchical decomposition)的處理。
熵編碼器338支援句法要素(syntax element)的可變長度編碼(variable-length coding)和句法要素的算術編碼(arithmetic coding)兩者。使用內文適應性二元算術編碼處理(context-adaptive binary arithmetic coding process)來支援算術編碼。算術編碼後的句法要素由一或更多個‘bin’的序列組成。Bin,就像位元一樣,具有‘0’或‘1’的值。然而,bin不被編碼於位元流115中做為分開的位元。Bin具有相關聯的可能值以及相關聯的可能性,被稱為「內文(context)」。當要被編碼之真正的bin和該可能值匹配時,「最有可能的符號」(MPS)被編碼。將最有可能的符號編碼就耗損的位元(consumed bits)而言係相對不昂貴的。當要被編碼之真正的bin和該可能值不匹配時,「最不可能的符號」(LPS)被編碼。將最不可能的符號編碼就耗損的位元而言係相對高成本的。該等bin編碼技術致使能夠有效率地編碼bin,其中,‘0’對上‘1’的機率被偏斜(skewed)。對於具有兩個可能值的句法要素(亦即,「旗標」)而言,單一個bin係足夠的。對於具有許多可能值的句法要素而言,需要一序列的bin。然後,該序列中較後面的bin的出現可以基於該序列中較前面的bin的值來決定。除此之外,各個bin可以和一個以上的內文相關聯,視該句法要素中較前面的bin而和特別內文的選擇相關聯,以及和鄰近之句法要素(亦即,從鄰近之區塊算起的區塊)的bin值相關聯等等。每一次一bin被編碼,內文即被更新而適於新的bin值。因此,二元算術編碼方案被說成是適應性的。
也被編碼器114所支援的是缺少內文的bin (「旁路bin(bypass bin)」)。旁路bin被編碼於介在‘0’與‘1’間之機率相同的分布(equiprobable distribution)的假設下。缺少內文節省記憶體並且降低複雜性,因而旁路bin被使用在用於特別bin之值的分布未被偏斜的情況下。使用內文及適應性之熵編碼器的一個範例在習知技術中已知為CABAC(內文適應性二元算術編碼器(context adaptive binary arithmetic coder)),而且此編碼器的許多變型已經被使用於視訊編碼上。
熵編碼器338使用經內文編碼和(可選地)經旁路編碼(bypass-coded)的bin來編碼畫面內預測模式388。典型上,「最有可能模式」的表列被產生於視訊編碼器114中。最有可能模式的表列典型上為具有固定長度的模式,諸如3或6個模式,而且可以包含在先前區塊中所遇到的模式。經內文編碼的bin將旗標編碼,該旗標指示該畫面內預測模式是否為該等最有可能模式的其中之一。如果該畫面內預測模式388為該等最有可能模式的其中之一,則進一步的發訊被編碼,指示哪一個最有可能模式與該畫面內預測模式388相對應,例如使用截斷式一元碼bin串(bin string)。否則,該畫面內預測模式388被編碼成為「剩餘模式(remaining mode)」,使用交替的句法,諸如固定長度的碼,以表達出現在最有可能模式表列中的畫面內預測模式之外的畫面內預測模式。
熵編碼器338也為特別的編碼單元或轉換區塊而將該明確的多個轉換索引390編碼,如同參照圖10所說明的。特別是,該明確的多個轉換索引390包含垂直轉換索引V和水平轉換索引H。垂直轉換索引V和水平轉換索引H兩者皆藉由模式選擇器386來選擇(如上所述)。基於垂直轉換索引V和水平轉換索引H的組合(見圖10A),熵編碼器338將對應的bin串(圖10A之行1042中所示)編碼成位元流115。
多工器模組384依據決定的最佳畫面內預測模式388(自該等測試後的候選預測模式中選出)而輸出PU 320。該等候選預測模式不需要包含由視訊編碼器114所支援的每一個可以想到的預測模式。預測模式大體上落在兩個類別之內。第一類為「畫面內預測(intra-frame prediction)」(或「畫面內預測(intra prediction)」)。在畫面內預測中,針對一區塊的預測係使用來自(drawn from)目前畫面的其他樣本所產生的。第二類為「畫面間預測(inter-frame prediction)」(或「畫面間預測(inter prediction)」)。在畫面內預測中,針對一區塊的預測係使用來自目前畫面之前的畫面的樣本,按照位元流中之編碼訊框的順序(其可以和當擷取或顯示時訊框的順序不同)所產生的。在各類別(亦即,畫面內預測和畫面間預測)之內,可以應用不同的技術來產生PU。例如,畫面內預測可以使用來自先前重建的樣本之相鄰列和行的值,依據規定的濾波程序而與一方向結合來產生PU。或者,PU可以使用小量的參數來予以描述。畫面間預測方法其移動參數(motion parameter)的數量及其精確性可以改變。移動參數典型上包括參考訊框偏移(reference frame offset)加上一或二個參考訊框的平移(translation),但是可以包含更多訊框、特殊訊框、或複雜的仿射(affine)參數,諸如按比例縮放(scaling)及旋轉。除此之外,可以應用預定的移動精煉(refinement)程序,基於作為參考的樣本區塊而產生密集的(dense)移動估算(motion estimate)。
已經決定及選擇最好的PU 320,並且在減法器322處從原始的樣本區塊中減去該PU 320,獲得到具有最低編碼成本的殘差(residual)324而且受到有損壓縮(lossy compression)。有損壓縮程序包括轉換、量化和熵編碼的步驟。轉換模組326將第一轉換施加於差值324,將該差值324轉換成頻域,並且產生由箭號328所表示的中間轉換係數。第一轉換典型上係可分開的,轉換各個區塊之一組的列而後一組的行。藉由在區塊的各列和各行中重複地施加一維轉換來進行各組列和行的轉換。該轉換跨越(span)整個區塊上。
特別是,該畫面內預測模式388和該明確的多個轉換索引390被用來選擇水平的一維轉換和垂直的一維轉換,其共同地構成由轉換模組326所實施的主要轉換。水平的一維轉換和垂直的一維轉換各自皆為分開的轉換。水平的一維轉換和垂直的一維轉換係實施於整個轉換區塊上,其實質上使該等殘差樣本去相關。
針對轉換模組326之可用的轉換類型包含DST-VII, DST-VIII, DCT-VIII, DST-I,及DCT-V。從此組的轉換開始,三個「轉換組」842被定義,如同參照圖8B所述的。對於水平方向或垂直方向的每一個方向來說,依據畫面內預測模式388來選擇轉換組842,如同參照圖8C所述的。從各轉換組842開始,一個轉換類型被選擇及應用,如同參照圖11所述的。中間轉換係數328被傳給次要轉換模組330。
次要轉換模組330運作於中間轉換係數328的子集合上,諸如佔據全部區塊的左上方4×4或8×8區域(area)的中間轉換係數。中間轉換係數328中的其他轉換係數沒有改變地通過該模組330。次要轉換模組330將各種轉換的其中一者施加於中間轉換係數328的子集合,以產生由箭號332所表示的轉換係數。次要轉換模組330以類似於逆次要轉換模組344之方式的方式選擇來施加順向(forward)次要轉換。可供次要轉換模組330使用的該等轉換典型上為不可分離的(non-separable),因而不能夠以兩階段(亦即,列和行)來實施,如同針對轉換模組326的情況。由於次要轉換的複雜度越高,以及主要轉換的去相關越早,其足以對該轉換區塊的左上方區域實施次要轉換。由次要轉換模組330所實施的轉換可以至少部分地根據預測模式來做選擇。除此之外,視訊編碼器114可以將在模組330處所施加之轉換的選擇認為是針對基於編碼率/失真成本評估之選擇的進一步候選者的測試。
轉換係數332被傳送至量化模組334。在模組334處,依據「量化參數」的量化被實施以產生由箭號336所表示的殘差係數。量化參數對於給定的轉換區塊而言為固定的,因而導致一轉換區塊之殘差係數的乘積的等比例縮放(uniform scaling)。藉由應用「量化矩陣」,非等比例縮放(non-uniform scaling)也是可能的,藉此,針對各殘差係數所施加的縮放比例因數(scaling factor)係從量化參數和縮放矩陣(scaling matrix)中的相對應元素(entry)的組合獲得,其典型上具有和轉換區塊的尺寸相等的尺寸。量化矩陣對於訊號而言係昂貴的,所以僅不常(如果有的話)被編碼於位元流115中。量化矩陣的編碼需要將二維矩陣的縮放比例因數轉變成一表列要被熵編碼進位元流115中的縮放比例因數。現有的Z順序掃描(Z-order scan)可以為此目的而被重用,以避免與支援針對編碼量化矩陣之不常實施操作的額外掃描圖樣(scan pattern)相關聯的間接成本(overhead)。殘差係數336被供應至熵編碼器338,用於位元流115中的編碼。典型上,轉換區塊的殘差係數按照掃描圖樣而被掃描以產生有序列表的數值。該掃描圖樣通常掃描轉換區塊作為4×4「子區塊(sub-block)」的序列,以4×4集合之殘差係數的粒度(granularity)來提供正常的掃描操作,具有子區塊根據轉換區塊之尺寸的排列(arrangement)。除此之外,預測模式和相對應的區塊分隔也被編碼於位元流115中。如上所述,視訊編碼器114需要獲得(access to)對應於視訊解碼器134中所看到之訊框表示的訊框表示(frame representation)。因此,殘差係數336也被去量化器(dequantiser)模組340逆量化而產生由箭號342所表示的逆轉換係數。逆轉換係數342通過逆次要轉換模組344。逆次要轉換模組344施加選到的次要轉換,以產生中間逆轉換係數,如同由箭號346所表示的。中間逆轉換係數346被供應至逆轉換模組348以產生該轉換單元的殘差樣本,如同由箭號350所表示的。求和(summation)模組352將殘差樣本350和PU 320相加而產生CU之重建後的樣本(由箭號354所指示的)。重建後的樣本354被傳到參考樣本快取記憶體356和迴路內濾波器(in-loop filter)模組368。參考樣本快取記憶體356,其典型上使用ASIC上的靜態RAM來予以施行(因而避免昂貴的晶片外(off-chip)記憶體存取),提供滿足為該訊框中後續的CU產生畫面內預測區塊之依存性(dependency)所需的最小樣本儲存。該最小依存性典型上包含沿著一列CTU之底部的一行緩衝器(line buffer)的樣本,以供由下一列CTU的使用以及行緩衝其由CTU之高度所設定的範圍(extent)。參考樣本快取記憶體356將參考樣本(由箭號358所指示的)供應至參考樣本濾波器360。樣本濾波器360施加平滑操作(smoothing operation)以產生濾波後的參考樣本(由箭號362所指示的)。濾波後的參考樣本362被畫面內預測模組364所使用,以產生畫面內預測後區塊的樣本,由箭號366所表示的。對於各候選畫面內預測模式,畫面內預測模組364產生一區塊的樣本,亦即366。
迴路內濾波器模組368對重建後的樣本354施加幾個濾波階段。濾波階段包含「去區塊濾波器(deblocking filter)」(DBF),其對齊該等CU邊界地施加平滑操作以減少由於不連續所造成的人工製品(artefacts)。出現在迴路內濾波器模組368中的另一個濾波階段為「自適應性迴路內濾波器(adaptive loop filter)」(ALF),其應用以溫妮為基礎的(Wiener-based)適應性濾波器來進一步減低失真。迴路內濾波器模組368中之另一個可用的濾波階段為「取樣自適應性偏移(sample adaptive offset)」(SAO)濾波器。SAO濾波器的操作藉由首先將重建後的樣本分類成一或多個類別,而且依據所分配的類別,以取樣層級(sample level)施加偏移。濾波後的樣本370從迴路內濾波器模組368輸出。濾波後的樣本370被除儲存在訊框緩衝器(frame buffer)372中。訊框緩衝器372典型上具有儲存幾個(例如,高達16個)圖像的容量,因而被儲存在記憶體206中。因此,對訊框緩衝器372的存取從記憶體頻寬的觀點來看係昂貴的。訊框緩衝器372將參考訊框(由箭號374所表示的)提供給移動估算模組376和移動補償模組380。
移動估算模組376估算許多個「移動向量(motion vector)」(表示為378),各移動向量為從目前CU的位置算起的笛卡爾(Cartesian)空間偏移,參考訊框緩衝器372中之參考訊框其中一個中的區塊。濾波後的參考樣本區塊(表示為382)係為各個移動向量而產生的。濾波後的參考樣本382構成可供由模式選擇器386所做出之可能選擇的進一步候選模式。況且,對於給定的CU,PU 320可以使用一個參考區塊來予以形成(單一預測(uni-predicted))或者可以使用兩個參考區塊來予以形成(雙重預測(bi-predicted))。對於選到的移動向量,移動補償模組380依據可由移動向量中之子像素準確性支援(supportive of)的濾波程序而產生PU 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)視訊編碼管線的範例,但是其他的視訊編碼解碼器(codec)也可以被用來實施本文中所述的處理階段。如同圖4中所看到的,位元流133被輸入至視訊解碼器134。位元流133可以從記憶體206、硬碟機210、CD-ROM、Blu-ray diskTM 、或其他非暫態性電腦可讀儲存媒體中讀出。或者,位元流133可以從諸如連接至通訊網路220的伺服器或射頻接收器等的外部來源被接收到。位元流133含有代表要被解碼之擷取到的訊框資料之編碼後的句法要素。
位元流133被輸入至熵解碼器模組420。熵解碼器模組420從位元流133中提取出句法要素,而且將句法要素的數值傳給視訊解碼器134中的其他模組。熵解碼器模組420施加CABAC演算法以解碼來自位元流133中的句法要素。解碼後的句法要素被用來重建視訊解碼器134內的參數。該等參數包含殘差係數(由箭號424所表示的)和諸如畫面內預測模式458及明確的多個轉換索引454的模式選擇資訊。該模式選擇資訊也包含諸如移動向量的資訊,以及將各CTU分隔成一或更多個CU的分隔。參數被用來產生PU,典型上與來自先前解碼後之CU的樣本資料相組合。
位元流133也含有來自bin串行1042的bin串(見圖10A)。熵解碼器模組420提取該bin串以及產生垂直轉換集合索引(來自垂直轉換集合索引行1046)和水平轉換集合索引(來自水平轉換集合索引行1048)。
殘差係數424被輸入至去量化器模組428。去量化器模組428對殘差係數424實施逆比例縮放(inverse scaling),以依據量化參數而產生重建的中間轉換係數(由箭號432所表示的)。萬一非等比例逆量化矩陣的使用被指示於位元流133中,視訊解碼器134從位元流133中讀出量化矩陣作為一序列的縮放比例因數以及依據使用於殘差係數的編碼之Z順序掃描而將縮放比例因數排列成矩陣。然後,逆比例縮放使用量化矩陣與量化參數組合而產生重建的中間轉換係數。針對殘差係數而使用Z順序掃描也用以掃描量化矩陣縮放比例因數為不常實施的掃描避免了額外掃描圖樣以及相關的記憶體及複雜度負擔的出現。重建的中間轉換係數432被傳給逆次要轉換模組436。逆次要轉換模組436實施「次要逆轉換」以產生重建的轉換係數,由箭號440所表示的。依據決定的轉換區塊尺寸來實施次要轉換。重建的轉換係數440被傳給逆轉換模組444,如同參照圖9所說明的。模組444將該等係數從頻域轉換回到空間域。基於顯著殘差係數值和非顯著殘差係數值,轉換區塊係有效的。模組444之操作的結果為一區塊的殘差樣本,由箭號448所表示的。殘差樣本448和相對應的CU在尺寸上是相等的。殘差樣本448被供應至求和模組450。在求和模組450處,殘差樣本448被加到解碼後的PU 452以產生一區塊的重建樣本,由箭號456所表示的。重建樣本456被供應至重建樣本快取記憶體460和迴路內濾波(in-loop filtering)模組488。迴路內濾波模組488產生重建後區塊的視訊樣本,表示為492。視訊樣本492被寫至訊框緩衝器496。
重建樣本快取記憶體460操作類似於視訊編碼器114的重建樣本快取記憶體356。重建樣本快取記憶體460將重建樣本所需的儲存提供給畫面內預測後續的CU,而不需要記憶體206(例如,藉由使用資料232,其典型上為晶片內建的記憶體(on-chip memory))。由箭號464所表示的參考樣本係從重建樣本快取記憶體460獲得到並且被供應至參考樣本濾波器468,以產生由箭號472所表示之濾波後的參考樣本。濾波後的參考樣本472被供應至畫面內預測模組476。模組476依據發訊於位元流133中且由熵解碼器420所解碼的畫面內預測模式參數458而產生一區塊的畫面內預測樣本,由箭號480所表示的。
針對目前的CU,當畫面內預測被指示於位元流133中時,畫面內預測樣本經由多工器模組484而構成該解碼後的PU 452。
針對目前的CU,當畫面間預測被指示於位元流133中時,移動補償模組434使用移動向量及參考訊框索引來產生一區塊的畫面間預測樣本438,以選擇及濾波來自訊框緩衝器496之一區塊的樣本。該區塊的樣本498係獲得自儲存在訊框緩衝器496中之先前解碼後的訊框。對於二重預測,兩個區塊的樣本被產生而且被混和在一起,以產生用於該解碼後的PU 452之樣本。訊框緩衝器496係充滿著(populated with)來自迴路內濾波模組488之濾波後的區塊資料492。和視訊編碼器114的迴路內濾波模組368一樣,迴路內濾波模組488施加DBF、ALF和SAO濾波程序中的至少任何一個或者全部。迴路內濾波模組368從重建樣本456中產生濾波後的區塊資料492。
圖5為顯示在多功能視訊編碼之樹結構中將一區塊分割成一或更多個區塊之可用分割或分裂之收集500的示意方塊圖。收集500中所顯示的分割係可供編碼器114的區塊分隔器310使用,以依據拉格朗最佳化法而將各CTU分割成一或更多個CU,如同參照圖3所述者。
雖然收集500僅顯示方形區塊被分割成其他形狀,有可能是非方形區塊,但是應該了解到圖形500係顯示可能的分割而非限制包含的區塊一定是方形的。如果包含的區塊為非方形的,則由於分割所導致之區塊的維度依據包含區塊的長寬比(aspect ratio)而按比例縮放。藉由區塊分隔器310將一CTU分割成一或更多個CU之特別的子分割(subdivision)被稱為CTU的「編碼樹(coding tree)」。在本發明的內文中,葉節點為子分割程序終止之處的節點。子分割程序必須終止於當對應於該葉節點的區域等於最小編碼單元尺寸之時。造成最小尺寸之編碼單元的葉節點存在於編碼樹之最深的分解層級(deepest level of decomposition)。子分割程序也可以終止於最深的分解層級之前,造成大於最小編碼單元尺寸的編碼單元。
在編碼樹的葉節點存在有CU時,沒有進一步的子分割。例如,葉節點510含有一個CU。在編碼樹的非葉節點存在有分裂成兩個或更多個其他節點的分裂時,其每一個可以不是含有一個CU就是含有分裂成更小區域的進一步分裂。
四元樹(quad-tree)分裂512將含有的區域分割成四個相等大小的區域,如圖5所示。相較於HEVC,多功能視訊編碼達成額外的彈性,其增加了水平的二元分裂514及垂直的二元分裂516。該等分裂514和516的每一個將含有的區域分割成兩個相等大小的區域。該分割不是沿著該含有區域內的水平邊界(514)就是沿著垂直邊界(516)。
進一步的彈性被達成於多功能視訊編碼中,其增加了三元的水平分裂518及三元的垂直分裂520。三元分裂518和520將該區塊分割成三個區域,不是在水平方向上(518)就是在垂直方向上(520)沿著該含有區域寬度或高度的1/4或3/4為界。四元樹、二元樹、和三元樹的組合被稱為「QTBTTT」或者被稱為多重樹(MT)。
相較於HEVC,其僅支援四元樹且因而僅支援方形區塊,QTBTTT造成許多更有可能的CU尺寸,特別是考慮二元樹及/或三元樹分裂之可能的遞迴應用。異常(例如,非方形)區塊尺寸的潛在性可以藉由限制分裂選向來予以降低,以消除會導致區塊寬度或高度小於四個樣本或者不是四個樣本的倍數的分裂。通常,該限制會適用於考慮到亮度樣本。然而,該限制也可以分開地施加於用於色度通道的區塊,潛在地導致針對亮度對上色度會有不同的最小區塊尺寸,例如,當訊框資料係在4:2:0色度格式中時。
圖6為繪示多功能視訊編碼中所使用之QTBTTT(或「編碼樹」)結構之資料流程600的示意繪示圖。QTBTTT結構被使用於各CTU以定義將CTU分割成一或更多個CU的分割。各CTU之QTBTTT結構被視訊編碼器114的區塊分隔器310所決定,並且被編碼成位元流115或者藉由視訊解碼器134的熵解碼器420而被解成位元流113。資料流程600進一步將可供區塊分隔器310使用的允許組合特徵化,以依據圖5所示的分割而將一CTU分割成一或更多個CU。
從階層的頂層(亦即,在該CTU處)開始,首先進行零或更多個四元樹分割。明確地說,由區塊分隔器310做成四元樹(QT)分裂決定610。在610處返回「1」符號的決定指示依據四元樹分裂512而將目前的節點分裂成四個子節點(sub-nodes)。該結果為四個新節點的產生,諸如在620處,而且對於各個新節點而言,遞迴回到該QT分裂決定610。各個新節點被認為呈光柵(或Z掃描)順序。或者,如果該QT分裂決定610指示沒有進一步分裂需要被實施(返回「0」符號),則四元樹分隔停止而且多重樹(MT)分裂後續被考慮。
首先,由區塊分隔器310做成MT分裂決定612。在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分裂處被指示為不是2(二元分裂或「BT」節點)就是3(三元分裂或「TT」節點)。亦即,當來自614之所指示的方向為水平的時,由區塊分隔器310做成BT/TT分裂決定616,當來自614之所指示的方向為垂直的時,由區塊分隔器310做成BT/TT分裂決定618。
BT/TT分裂決定616指示該水平分裂為二元分裂514(由返回「0」符號所指示者)或三元分裂518(由返回「1」符號所指示者)。當BT/TT分裂616指示二元分裂時,在產生HBT CTU節點步驟625處,依據二元水平分裂514,由區塊分隔器310產生兩個節點。當BT/TT分裂616指示三元分裂時,在產生HTT CTU節點步驟626處,依據三元水平分裂518,由區塊分隔器310產生三個節點。
BT/TT分裂決定618指示該垂直分裂為二元分裂516(由返回「0」符號所指示者)或三元分裂520(由返回「1」符號所指示者)。當BT/TT分裂決定618指示二元分裂時,在產生VBT CTU節點步驟627處,依據垂直二元分裂516,由區塊分隔器310產生兩個節點。當BT/TT分裂決定618指示三元分裂時,在產生VTT CTU節點步驟628處,依據垂直三元分裂520,由區塊分隔器310產生三個節點。對於由於步驟625到628所造成的各個節點而言,根據方向614,以從左到右或者從上到下的順序,施加資料流程600回到MT分裂決定612的遞迴。結果,二元樹及三元樹分裂可以被施加來產生具有各種尺寸的CUs。
圖7A及7B提供將CTU 710分割成數個編碼單元(CU)的範例分割700。CU 712的範例係顯示在圖7A中。圖7A顯示CTU 710之CUs的空間配置。範例分割700也被顯示為圖7B中的編碼樹720。
在圖7A之CTU 710中的各個非葉節點處,例如節點714, 716及718,所含有的節點(其可以被進一步分割或者可以為CU)按照「Z順序」而被掃描及遍歷而產生表列的節點,被表示為編碼樹720中的行。對於四元樹分裂,Z順序掃描造成從左上到右上接著從左下到右下的順序。對於水平和垂直分裂,Z順序掃描(遍歷)分別簡化為從上到下以及從左到右掃描。圖7B的編碼樹720依據所施加的掃描順序來表列出所有的節點和CU。各分裂在該樹的下一層級處產生一表列的2, 3或4個新的節點,直到到達葉節點(CU)為止。
已經藉由區塊分隔器310將影像分解為CTU而且進一步分解為CU,並且使用CU來產生各殘差區塊(324),如同參照圖3所述的,殘差區塊藉由編碼器114而受到順向轉換和量化。結果的轉換區塊(TB)336隨後被掃描而形成一序向表列的殘差係數,作為熵編碼模組338之操作的部分。等同的程序被實施於視訊解碼器134中,以從位元流133中獲得轉換區塊。
圖8A顯示針對一轉換區塊之畫面內預測模式的集合800,其可以使用畫面內預測模組388和458來表示。在圖8A中,67個畫面內預測模式被定義。模式0為「平面的(planar)」畫面內預測模式,模式1為「DC」畫面內預測模式,且模式2至66為「有角度的(angular)」畫面內預測模式。平面的畫面內預測模式(模式0)依據一平面,亦即具有偏移以及水平和垂直的梯度,以使預測區塊佈滿樣本。在可用之處從相鄰的參考樣本獲得平面參數。同樣地,DC畫面內預測模式(模式1)也使用相鄰的參考樣本(在可用之處)來使預測區塊佈滿偏移。
有角度的畫面內預測模式(模式2至66)藉由產生與65個方向的其中一個方向對齊的紋理,或「角度(angle)」來填滿該區塊。為了清楚起見,該65個角度的子集合被顯示於圖8A中,為模式2, 18, 34,50,及66。對於各模式,相鄰的參考樣本被用來為有角度的畫面內預測模式產生填滿該預測區塊於由箭號所指示的方向上的紋理。其他的角度,未明確地顯示於圖8A中,為在中間的位置(亦即,3至17, 19至33, 35至49,及51至65)。從圖8A中,沿著有角度的模式34以及在從預測區塊的左上到右下的對角線方向上,第一個對稱係明顯的。從該第一個對稱開始,模式2到34被顯示對應於模式66向下到34,具有沿著對角線軸線調換位置(transposition)。
圖8B顯示依據轉換索引844,從轉換集合842的每一個到特別的轉換類型之映射840。三個轉換集合842由0, 1,及2之個別的轉換集合索引來予以界定和識別。各轉換集合842包含兩個轉換類型,其係可以由轉換索引844選擇的。結果是,映射840讓給定的轉換類型能夠基於轉換集合842的轉換集合索引和轉換索引844來予以選擇。所選到的轉換為一維轉換。對於水平和垂直方向分開進行轉換類型的選擇。轉換的尺寸(點的數目)對應於轉換區塊的維度。也就是說,當選擇垂直轉換時,轉換的尺寸對應於轉換區塊的高度,而當選擇水平轉換時,轉換的尺寸對應於轉換區塊的寬度。
圖8C係顯示針對轉換區塊,基於該轉換區塊是在水平方向(「H」)上或是在垂直方向(「V」)上,從畫面內預測模式到轉換集合842的轉換集合索引之映射880的表。對於各畫面內預測模式,轉換集合索引之與該三個轉換集合842相關聯的其中一個被選擇用於水平方向H,而轉換集合索引之與該三個轉換集合842相關聯的其中一個被選擇用於垂直方向V。
例如,畫面內預測模式14對於垂直方向上的轉換區塊而言被映射至轉換集合索引0,而畫面內預測模式14對於水平方向上的轉換區塊而言被映射至轉換集合索引2。如圖8B的映射840中所示,轉換集合索引0被映射至DST-VII或DCT-VIII,其係可以根據轉換索引844來選擇的。又如圖8B的映射840中所示,轉換集合索引2被映射至DST-VII或DCT-V,其係可以根據轉換索引844來選擇的。因此,對於垂直方向上的轉換區塊而言,畫面內預測模式14根據轉換索引844而使用DST-VII或DCT-VIII。因此,對於水平方向上的轉換區塊而言,畫面內預測模式14根據轉換索引844而使用DST-VII或DCT-V。轉換索引844係基於該明確的多個轉換索引390或454。如上所述,該明確的多個轉換索引390被模式選擇器306所選擇,且該明確的多個轉換索引454藉由熵編碼器模組420而從位元流133中被衍生出(derived)。
圖9為顯示視訊編碼器114之逆轉換模組348或視訊解碼器134之逆轉換模組444的示意繪示圖。兩個模組348和444的操作相同,其反映需要視訊編碼器114模型化視訊解碼器134中所實施之殘差係數的逆量化和逆轉換。
逆轉換模組348和444各自包含轉換集合表模組910、轉換索引衍生器(deriver)模組920、水平轉換選擇器模組940、垂直轉換選擇器模組945、水平轉換模組960、和垂直轉換模組980。
轉換集合表模組910接收畫面內預測模式388或458。當被施行為逆轉換模組348時,轉換集合表模組910從模式選擇器386接收畫面內預測模式388(見圖3)。當被施行為逆轉換模組444時,轉換集合表模組910從熵編碼器420接收畫面內預測模式458(見圖4)。
轉換集合表模組910從畫面內預測模式388或458決定水平轉換集合索引(被表示為箭號915)和垂直轉換集合索引(被表示為箭號917)。依據映射880來決定水平轉換集合索引915和垂直轉換集合索引917(見圖8C)。
轉換索引衍生器920接收明確的多個轉換索引390或454。當被施行為逆轉換模組348時,轉換索引衍生器920從模式選擇器386接收明確的多個轉換索引390(見圖3)。當被施行為逆轉換模組444時,轉換索引衍生器920從熵編碼器420接收明確的多個轉換索引454(見圖4)。
轉換索引衍生器920從明確的多個轉換索引390或454提取出水平轉換索引920和垂直轉換索引925。水平轉換索引920和垂直轉換索引925係各自在0到1的範圍中。
水平轉換選擇器模組940(從轉換集合表模組910)接收水平轉換集合索引915以及(從轉換索引衍生器920)接收水平轉換索引920。水平轉換選擇器940依據映射840而從水平轉換集合索引915和水平轉換索引920產生選擇到的水平轉換(被表示為箭號950)(見圖8B)。水平轉換集合索引915被用來選擇該等轉換組842的其中一個,以及水平轉換索引920被用來選擇該等轉換索引844的其中一個。
垂直轉換選擇器模組945(從轉換集合表模組910)接收垂直轉換集合索引917以及(從轉換索引衍生器920)接收垂直轉換索引925。垂直轉換選擇器945依據映射840而從垂直轉換集合索引917和垂直轉換索引925產生選擇到的垂直轉換(被表示為箭號955)(見圖8B)。垂直轉換集合索引917被用來選擇該等轉換組842的其中一個,以及垂直轉換索引925被用來選擇該等轉換索引844的其中一個。
水平轉換模組960將選擇到的水平轉換950施加於中間逆轉換係數346或重建的轉換係數440。中間逆轉換係數346係來自逆次要轉換模組344(見圖3)。重建的轉換係數440係來自逆次要轉換模組436(見圖4)。
依據選擇到的水平轉換950來轉換該等轉換係數346或440。也就是說,具有一集合的一維轉換之選擇到的水平轉換950被施加於該陣列之轉換係數346或440的各列。各個一維轉換跨越轉換區塊的寬度上。水平轉換模組960將水平轉換後的轉換係數970輸出為具有和目前的轉換區塊相同尺寸的陣列。轉換係數970被供應至垂直轉換模組980。為了易於說明,轉換係數970指的是水平轉換後的轉換係數346和440。
垂直轉換模組980將具有一集合的一維轉換之選擇到的垂直轉換955施加於水平轉換後的轉換係數970的各行。垂直轉換模組980使用選擇到的垂直轉換955而從個別之水平轉換後的轉換係數346或440產生殘差樣本350或448。
圖10A顯示表1000,其顯示針對轉換選擇,介於截斷式一元碼句法要素與轉換索引之間的關係。轉換索引為水平轉換索引H(顯示於行1048中)與垂直轉換索引V(顯示於行1046中)。表1000包含bin串行1042、二元化行1044、垂直轉換索引行1046、和水平轉換索引行1048。
bin串行1042具有四個可能的bin串,其係來自具有最大值3(亦即,範圍從0到3)的截斷式一元碼二元化。對於編碼器114,行1042中所顯示之bin串為熵編碼器338編碼成為位元流115的bin串。基於已由模式選擇器386所選到之水平轉換索引H與垂直轉換索引V來選擇要被編碼成為位元流115的bin串。
對於解碼器134,行1042中所顯示之bin串為熵解碼器420自位元流133所解碼的bin串。熵解碼器420然後基於所解碼的bin串來輸出水平轉換索引H與垂直轉換索引V。
二元化行1044包含針對bin串行1042之各bin串的組合。在此命名法(nomenclature)中,「Ctx0」和「Ctx1」指的是兩個不同的CABAC內容,其被用來將bin串行1042中之對應的bin編碼。術語「Byp」指的是被用來將bin串行1042中之對應的bin編碼之旁路編碼後的bin (bypass coded bin)。
垂直轉換索引行1046含有索引值(其為0或1),用以從轉換集合中選擇出用於垂直1D轉換的轉換。水平轉換索引行1048含有索引值(其為0或1),用以從轉換集合中選擇出用於水平1D轉換的轉換。在表1000中,最短的bin串被指派給「0」和「0」之垂直和水平索引的情況。該最短的bin串對應於由模式選擇器386所最常選到的情況。然後,第二最短的bin串被指派給「1」和「1」之垂直和水平索引的情況。這對應於由模式選擇器386所第二最常選到的情況。然後,針對垂直轉換索引和水平轉換索引的組合之「01」或「10」之索引值組合的情況係均等地不大可能的而且被指派給行1044中之最長的bin串。況且,這兩種情況之間的差別使用旁路編碼後的bin來實施,其反映由模式選擇器386所做之這兩種選擇間之約略相等的發生機率。所述之統計特性(statistical property)被發現為轉換尺寸的大部分不變,因而這些內文的出現(係依據他們在截斷式一元碼bin串中的位置所選擇的)係不足以擷取bin值的非對稱機率分布。
圖10B係顯示針對水平和垂直轉換索引,介於截斷式一元碼句法要素與轉換索引間之另一關係的表1050,具有使用內文編碼而非旁路編碼(bypass code)之截斷式一元碼二元化的第三個bin。
圖11係依據明確的轉換選擇來實施初級轉換以將殘差係數的轉換區塊編碼成位元流115之方法1100的流程圖。方法1100可以藉由諸如組構化的FPGA, ASIC,或ASSP的設備來予以具體化。除此之外,方法1100可以藉由視訊編碼器114在處理器205的執行下實施。因此,方法1100可以被儲存於電腦可讀儲存媒體上及/或儲存在記憶體206中。方法1100由處理器205開始於決定畫面內預測模式步驟1110。
方法1100開始於畫面內預測模式步驟1110。在畫面內預測模式步驟1110,模式選擇器386在處理器205的執行下為與目前之編碼單元相關聯的預測單元選擇畫面內預測模式388。該選擇通常被實施於兩輪(two passes)。在第一輪時,用於亮度預測區塊的所有畫面內預測模式被測試。對於各模式而言,例如,使用「轉換後絕對差值之和(sum of absolute transformed differences)」法,諸如哈達碼轉換(Hadamard transform),來近似殘差成本。由此測試,一表列之「最佳」(最低失真)候選預測模式被衍生出。然後,對該表列的候選預測模式進行殘差編碼的完整測試。完整測試的結果是,為目前的編碼單元選擇一個畫面內預測模式388。畫面內預測模式388藉由熵編碼器338而被編碼成為位元流115。處理器205的控制然後從畫面內預測模式步驟1110進行到決定轉換集合步驟1120。
在決定轉換集合步驟1120,逆轉換模組348在處理器205的執行下使用所決定的畫面內預測模式388,依據映射880來決定水平轉換集合索引915(如同上面相關於圖9所述者)和垂直轉換集合索引917(如同上面相關於圖9所述者)(見圖8C)。從水平轉換集合索引915,依據映射840而為該水平轉換決定一集合的轉換。從垂直轉換集合索引917,依據映射840而為該垂直轉換決定一集合的轉換。
如同上面範例中所述,如果畫面內預測模式388為模式14,則針對垂直轉換之可能的轉換為DST-VII或DCT-VIII,而針對水平轉換之可能的轉換為DST-VII或DCT-V。
處理器205的控制然後從決定轉換集合步驟1120進行到測試轉換步驟1130。
在測試轉換步驟1130,轉換模組326和逆轉換模組348在處理器205的執行下,測試從步驟1120來自針對水平轉換之該集合的轉換以及來自針對垂直轉換之該集合的轉換之各個轉換組合。在當畫面內預測模式388為模式14的範例中,為垂直轉換而測試DST-VII和DCT-VIII的轉換以及為水平轉換而測試DST-VII或DCT-V的轉換。
如上所述,藉由轉換模組326和逆轉換模組348來進行測試。使用水平轉換索引920(針對水平轉換)和垂直轉換索引925(針對垂直轉換)來引用各集合中的特別轉換。水平和垂直轉換的各個組合被測試以決定用來將殘差編碼的失真。
在測試期間,轉換模組326和逆轉換模組348實施模組的正常操作。因此,對於由逆轉換模組348所實施的所有逆轉換操作而言,轉換模組326進行對應的順向轉換操作。測試過程可以使用近似的方法來進行相較於進行完全轉換具有減少之複雜度的測試。
處理器205的控制然後從測試轉換集合步驟1130進行到選擇轉換步驟1140。
在選擇轉換步驟1140,造成將殘差編碼的最低失真之垂直和水平轉換的組合被選擇。在畫面內預測模式388為模式14的範例中,提供最低失真的該組合針對垂直轉換可以是DCT-VIII以及針對水平轉換可以是DST-VII。處理器205的控制然後從選擇轉換步驟1140進行到施加水平轉換步驟1150。
在施加水平轉換步驟1150,逆轉換模組348進行水平轉換。特別是水平轉換模組960進行所選到的水平轉換950。在畫面內預測模式388為模式14的範例中,DST-VII被使用於水平轉換。處理器205的控制然後從施加水平轉換步驟1150進行到施加垂直轉換步驟1160。
在施加垂直轉換步驟1160,逆轉換模組348進行垂直轉換。特別是垂直轉換模組980進行所選到的垂直轉換955。在畫面內預測模式388為模式14的範例中,DCT-VIII被使用於垂直轉換。作為施加水平轉換步驟1150和施加垂直轉換步驟1160的結果,並且在次要轉換的選項性施加(亦即,模組330的操作)之後,轉換係數332被產生。處理器205的控制然後從施加垂直轉換步驟1160進行到量化殘差係數步驟1170。
在量化殘差係數步驟1170,量化模組334在處理器205的執行下,依據量化參數來量化該轉換係數332而產生殘差係數336。處理器205的控制然後從量化殘差係數步驟1170進行到編碼殘差係數步驟1180。
在編碼殘差係數步驟1180,熵編碼器338在處理器205的執行下,將殘差係數336編碼成為位元流115。針對給定轉換區塊的殘差係數336藉由掃描二維陣列的係數而被編碼成為一表列。該掃描通常將轉換區塊分割成子區塊,各子區塊的尺寸為4×4(儘管其他的尺寸也是可能的)。各子區塊中之顯著係數的出現被發訊有「編碼後之子區塊的旗標」,而且如果出現至少一個顯著係數,則在該子區塊中每一個殘差係數有一個顯著性旗標(significance flag)。編碼後之子區塊的旗標以及顯著性旗標使用經內文編碼的bin。額外的量值指示,諸如「大於一個旗標」和「大於兩個旗標」,也使用經內文編碼的bin來予以編碼。最後,進一步的量值指示通常使用具有旁路編碼後的bin的Golomb Rice編碼法來予以編碼。在將殘差係數336編碼上位元的成本大大地受到他們的量值所影響。作為最佳EMT索引之選擇的結果,這些量值稍微的減小,導致壓縮效率方面的改善。在步驟1190所實施之這些索引的二元化進一步改善壓縮效率。處理器205的控制然後從編碼殘差係數步驟1180進行到編碼EMT bin串步驟1190。
在編碼EMT bin串步驟1190,熵編碼器338在處理器205的執行下,使用參照圖10A所述之截斷式一元碼二元化(最大值3)、內文模型化、和bin串到索引值的映射而將水平轉換索引920和垂直轉換索引925編碼成為位元流115。當最常選到之索引對(「0」水平方向和「0」垂直方向)使用最短的bin串(「0」)來予以編碼時,編碼效率係高於在對各索引使用一個bin之簡單情況中的編碼效率。第二最常選到之索引對(「1」水平方向和「1」垂直方向)使用第二最短的bin串(亦即,「10」)來予以編碼,而且該兩個大約均等之最不可能的組合(「1」和「0」,「0」和「1」)使用最長的bin串(「110」和「111」)來予以編碼。第三個bin使用旁路編碼,因為沒有統計非對稱可供使用內文編碼的開發使用。方法1100然後中止於步驟1190的結論。
圖12為用以從位元流133中解碼一轉換區塊的殘差係數之方法1200的流程圖。藉由依據明確的轉換選擇所選到的主要逆轉換來進行方法1200的解碼。方法1200可以藉由諸如組構化的FPGA, ASIC,或ASSP的設備來予以具體化。除此之外,方法1200可以藉由視訊解碼器134在處理器205的執行下實施。因此,方法1200可以被儲存於電腦可讀儲存媒體上及/或儲存在記憶體206中。方法1200由處理器205開始於解碼畫面內預測模式步驟1210。
在解碼畫面內預測模式步驟1210,熵解碼器420在處理器205的執行下,從位元流133中解碼該畫面內預測模式458。熵解碼器420產生一表列的最有可能的模式,包含被認為最有可能已經被模式選擇器386所選到的模式。經內文編碼的bin被解碼以指示最有可能模式的其中一個或不在最有可能模式表列中的其他模式(「剩餘模式」)的用法。然後,進一步的bin被解碼以識別哪一個最有可能模式正在使用中或哪一個剩餘模式正在使用中。處理器205的控制然後從解碼畫面內預測模式步驟1210進行到解碼殘差係數步驟1220。
在解碼殘差係數步驟1220,熵解碼器420在處理器205的執行下,針對一轉換區塊,將一表列的殘差係數解碼以及將該等殘差係數組合成為一陣列。該組合接著一掃描圖樣,其典型上將殘差係數分組成4×4的子區塊。該表列的殘差係數典型上被掃描於反方向上,其係從「最後一個」顯著殘差係數返回到左上方的殘差係數(「DC」殘差係數,雖然這可能非基於餘弦函數而不對應於用於轉換的區塊偏移(block offset))。經內文編碼的bin被解碼以指示各子區塊中之顯著殘差係數的出現,而且如果被指示出,則額外之經內文編碼的bin被解碼以指示各子區塊中之各殘差係數的顯著性(significance)。各殘差係數的量值可以藉由將「大於一個」旗標或「大於兩個」旗標解碼來加以進一步特徵化。最後,對於其量值不是由先前之經內文編碼的bin所決定的殘差係數,使用具有旁路編碼後的bin的Golomb Rice編碼法來解碼「剩餘量值」。作為此解碼的結果,針對轉換區塊的殘差係數424係解碼自位元流133。處理器205的控制然後從解碼殘差係數步驟1220進行到逆量化殘差係數步驟1230。
在逆量化殘差係數步驟1230,去量化器模組428在處理器205的執行下,藉由依據量化參數來比例縮放殘差係數424而產生中間轉換係數432。中間轉換係數432可以藉由施加不可分離的次要轉換來予以轉換,其通常僅被施加於轉換區塊的左上方區域,以產生中間轉換係數432。作為此比例縮放操作的結果,中間轉換係數432具有大約和視訊編碼器中在量化之前的那些(亦即,轉換係數332)相同的量值。經由逆不可分離的次要轉換(亦即,逆次要轉換模組436)的選項性操作,從中間轉換係數432獲得到重建的轉換係數440。處理器205的控制然後從逆量化殘差係數步驟1230進行到解碼EMT bin串步驟1240。
在解碼EMT bin串步驟1240,熵解碼器420在處理器205的執行下,將來自位元流133之截斷式一元碼bin串解碼。截斷式一元碼bin串為表列於圖10A之行1042中之該等bin串的其中一個。如圖10A中所示並且如上所述,一元碼bin串在長度上被限制在3個bin (其係在0到3的範圍中)。截斷式一元碼bin串的長度係從1到3個bin,具有其第一個bin被內文編碼,第二個bin(如果有的話)被內文編碼以不同的內文,且第三個bin(如果有的話)被旁路編碼。此二元化係如同參照圖10所說明的。處理器205的控制然後從解碼EMT bin串步驟1240進行到決定EMT索引步驟1250。
在決定EMT索引步驟1250,視訊解碼器134中的轉換索引衍生器920在處理器205的執行下,依據圖10A中的表1000,決定水平轉換索引920和垂直轉換索引925。處理器205的控制然後從決定EMT索引步驟1250進行到決定轉換集合步驟1260。
在決定轉換集合步驟1260,逆轉換模組444在處理器205的執行下,決定映射840中的哪一個轉換集合係要被使用於主要逆轉換的水平轉換和垂直轉換。特別是,使用畫面內預測模式458,轉換集合表910被用來決定水平轉換集合915和垂直轉換集合917。處理器205的控制然後從決定轉換集合步驟1260進行到選擇轉換步驟1270。
在選擇轉換步驟1270,逆轉換模組444在處理器205的執行下,決定水平轉換950和垂直轉換955。分別藉由水平轉換選擇器940和垂直轉換選擇器945來進行水平轉換950和垂直轉換955的決定。該等模組把水平轉換集合915、垂直轉換集合917、水平轉換索引920、和垂直轉換索引925作為輸入,如圖9所示,並且依據圖8B而產生選到的水平轉換950和選到的垂直轉換960。處理器205的控制然後從選擇轉換步驟1270進行到施加水平轉換步驟1280。
在施加水平轉換步驟1280,逆轉換模組444在處理器205的執行下,使用水平轉換模組960來施加選到的水平轉換950。選到的水平轉換950被施加於重建的轉換係數440的各列以產生水平轉換後的轉換係數970。水平轉換後的轉換係數970被供應至垂直轉換模組980。垂直轉換模組980然後藉由施加選到的垂直轉換955而產生殘差樣本448。殘差樣本950被進一步使用於與畫面內預測後的PU加總求和以產生重建的樣本,如同參照圖4所述的。方法1200然後終止。
在方法1100和1200的另一配置中,截斷式一元碼bin串的二元化被修正,使得僅一個經內文編碼後的bin被使用。特別是,參考圖10A,二元化1044的第一個bin仍然保持經內文編碼的,而二元化1044的第二個bin使用經旁路編碼後的bin而不是內文編碼。僅使用一個經內文編碼後的bin之配置以壓縮效率上的稍微劣化為代價來節省施行成本。然而,僅使用一個經內文編碼後的bin之配置能夠達成稍微更高的產能(throughput)。更高的產能是因為熵編碼器338和熵解碼器420中的CABAC過程能夠以比經內文編碼後的bin更高的速率來處理經旁路編碼後的bin,至少由於沒有內文狀態更新之故。
如同參照圖10A所述的,具有值分別為「0」和「1」或者分別為「1」和「0」之水平轉換索引H與垂直轉換索引V之選擇的機率大約相等。因此,圖10A中所示的另一種二元化倒反第三個(經旁路編碼後的)bin的使用。倒反第三個bin的使用之配置針對個別的垂直和水平轉換索引具有「1 1 1」的bin串被映射至「0」,「1」,以及針對個別的垂直和水平轉換索引具有bin串「1 1 0」被映射至「1」,「0」。由於介於這兩種選擇間之大約相等的機率,所以均等的壓縮優點被達成。
作為明確的多個轉換選擇水平和垂直上的二元化的結果,特別是它們依據其各個索引值之選擇所預期的機率而被聯合共同編碼的態樣,相較於獨立的句法要素各自被使用於水平和垂直索引的情況(例如,各自有一個經內文編碼後的bin),編碼效率被改善。 工業適用性
所述的配置係可應用於電腦及資料處理工業,且特別可用於針對將諸如視訊和影像訊號之訊號的編碼與解碼的數位訊號處理,就記憶體頻寬而言,由於殘差係數的非本地化掃描而能夠達成高的壓縮效率,但沒有超額的成本。
前述僅說明本發明的一些實施例,而且修正及/或改變可以被做成,但沒有違離本發明的範疇及精神,該等實施例係舉例說明性而非限制性的。
在說明書的上下文中,用語「包括」意謂「原則上而非僅僅是必要地包含」或者「具有」或「包含」,而且不是「僅由…組成」。用語「包括(comprising)」的變型,諸如「包括(comprise)」和「包括(comprises)」,具有相應的多種意義。
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‧‧‧記憶體位置 231‧‧‧指令 232‧‧‧資料 233‧‧‧軟體 234‧‧‧記憶體 235‧‧‧記憶體位置 236‧‧‧記憶體位置 237‧‧‧記憶體位置 239‧‧‧控制單元 240‧‧‧算術邏輯單元(ALU) 241‧‧‧內部匯流排 242‧‧‧介面 244‧‧‧儲存暫存器 245‧‧‧儲存暫存器 246‧‧‧儲存暫存器 247‧‧‧儲存暫存器 248‧‧‧快取記憶體 249‧‧‧唯讀記憶體 250‧‧‧開機自我檢測(POST)程式 251‧‧‧基本輸入輸出系統軟體(BIOS)模組 252‧‧‧啟動載入程式 253‧‧‧作業系統 254‧‧‧輸入變數 255‧‧‧記憶體位置 256‧‧‧記憶體位置 257‧‧‧記憶體位置 258‧‧‧中間變數 259‧‧‧記憶體位置 260‧‧‧記憶體位置 261‧‧‧輸出變數 262‧‧‧記憶體位置 263‧‧‧記憶體位置 264‧‧‧記憶體位置 265‧‧‧記憶體位置 266‧‧‧記憶體位置 267‧‧‧記憶體位置 280‧‧‧麥克風 310‧‧‧區塊分隔器 312‧‧‧編碼單元(CU) 320‧‧‧預測單元(PU) 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‧‧‧畫面內預測模式 390‧‧‧明確的多個轉換索引 420‧‧‧熵解碼器模組 424‧‧‧殘差係數 428‧‧‧去量化模組 432‧‧‧重建的中間轉換係數 434‧‧‧移動補償模組 436‧‧‧逆次要轉換模組 438‧‧‧控制線路 440‧‧‧重建的轉換係數 444‧‧‧逆轉換模組 448‧‧‧殘差樣本 450‧‧‧求和模組 452‧‧‧解碼後的PU 454‧‧‧明確的多個轉換索引 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‧‧‧BT/TT分裂決定 618‧‧‧BT/TT分裂決定 620‧‧‧產生QT CTU節點 622‧‧‧產生葉節點 625‧‧‧HBT CTU節點步驟 626‧‧‧HTT CTU節點步驟 627‧‧‧VBT CTU節點步驟 628‧‧‧VTT CTU節點步驟 700‧‧‧範例分割 710‧‧‧編碼樹(CTU) 712‧‧‧編碼單元(CU) 714‧‧‧節點 716‧‧‧節點 718‧‧‧節點 720‧‧‧編碼樹 800‧‧‧畫面內預測模式的集合 840‧‧‧映射 842‧‧‧轉換集合 844‧‧‧轉換索引 880‧‧‧映射 910‧‧‧轉換集合表模組 915‧‧‧水平轉換集合索引 917‧‧‧垂直轉換集合索引 920‧‧‧轉換索引衍生器模組 925‧‧‧垂直轉換索引 940‧‧‧水平轉換選擇器模組 945‧‧‧垂直轉換選擇器模組 950‧‧‧選擇到的水平轉換 955‧‧‧選擇到的垂直轉換 960‧‧‧水平轉換模組 970‧‧‧轉換係數 980‧‧‧垂直轉換模組 1000‧‧‧表 1042‧‧‧bin串行 1044‧‧‧二元化行 1046‧‧‧垂直轉換集合索引行 1048‧‧‧水平轉換集合索引行 1050‧‧‧表 1100‧‧‧方法 1110‧‧‧畫面內預測模式步驟 1120‧‧‧決定轉換集合步驟 1130‧‧‧測試轉換步驟 1140‧‧‧選擇轉換步驟 1150‧‧‧施加水平轉換步驟 1160‧‧‧施加垂直轉換步驟 1170‧‧‧量化殘差係數步驟 1180‧‧‧編碼殘差係數步驟 1190‧‧‧編碼EMT bin串步驟 1200‧‧‧方法 1210‧‧‧解碼畫面內預測模式步驟 1220‧‧‧解碼殘差係數步驟 1230‧‧‧逆量化殘差係數步驟 1240‧‧‧解碼EMT bin串步驟 1250‧‧‧決定EMT索引步驟 1260‧‧‧決定轉換集合步驟 1270‧‧‧選擇轉換步驟 1280‧‧‧施加水平轉換步驟 1290‧‧‧施加垂直轉換步驟
Figure 02_image001
現在將參考下面的圖式和附件來說明本發明的至少一個實施例,其中:
圖1係顯示視訊編碼及解碼系統的示意方塊圖;
圖2A及2B形成通用電腦系統的示意方塊圖,圖1之視訊編碼及解碼系統的一者或兩者可被實行於其上;
圖3係顯示視訊編碼器之功能性模組的示意方塊圖;
圖4係顯示視訊解碼器之功能性模組的示意方塊圖;
圖5係顯示多功能視訊編碼之樹結構中將一區塊分割成一或更多個區塊之可用分割的示意方塊圖;
圖6係達成多功能視訊編碼之樹結構中將一區塊分割成一或更多個區塊之允許分割之資料流程的示意繪示圖;
圖7A及7B係將一編碼樹單元(CTU)分割成數個編碼單元(CU)的範例分割;
圖8A係顯示畫面內預測模式(intra prediction mode)的圖形;
圖8B係顯示依據轉換索引,從轉換集合到特別轉換之映射的表;
圖8C係顯示針對轉換區塊在水平方向和垂直方向上,從畫面內預測模式到轉換集合之映射的表;
圖9係顯示圖3之視訊編碼器或圖4之視訊解碼器之逆轉換模組的示意繪示圖;
圖10A係顯示針對水平和垂直轉換索引,介於截斷式一元碼句法要素與轉換索引間之關係的圖形;
圖10B係顯示針對水平和垂直轉換索引,介於截斷式一元碼句法要素與轉換索引間之另一關係的圖形;
圖11係依據明確的轉換選擇來實施初級轉換以將殘差係數的轉換區塊編碼成位元流之方法的流程圖;
圖12係依據明確的轉換選擇,藉由初級逆轉換而從位元流中解碼殘差係數的轉換區塊之方法的流程圖。
346‧‧‧中間逆轉換係數
348‧‧‧逆轉換模組
350‧‧‧殘差樣本
388‧‧‧畫面內預測模式
390‧‧‧明確的多個轉換索引
440‧‧‧重建的轉換係數
444‧‧‧逆轉換模組
448‧‧‧殘差樣本
454‧‧‧明確的多個轉換索引
458‧‧‧畫面內預測模式
910‧‧‧轉換集合表模組
915‧‧‧水平轉換集合索引
917‧‧‧垂直轉換集合索引
920‧‧‧轉換索引衍生器
925‧‧‧垂直轉換索引
940‧‧‧水平轉換選擇器模組
945‧‧‧垂直轉換選擇器模組
950‧‧‧選擇到的水平轉換
955‧‧‧選擇到的垂直轉換
960‧‧‧水平轉換模組
970‧‧‧轉換係數
980‧‧‧垂直轉換模組

Claims (14)

  1. 一種從位元流中解碼影像訊框中之轉換區塊的方法,該方法包括: 從該位元流中解碼單一截斷式一元碼二元化,該單一截斷式一元碼二元化被使用於該影像訊框之轉換區塊的水平轉換和垂直轉換; 根據該解碼後的單一截斷式一元碼二元化來決定該水平和垂直轉換的類型;以及 藉由對該影像之該轉換區塊施加該決定類型的水平和垂直轉換來解碼該影像訊框中的該轉換區塊。
  2. 如請求項1的方法,其中,該水平和垂直轉換的該類型係由轉換集合與轉換索引之間的映射所決定的,其中,該等轉換集合和該等轉換索引係根據該解碼後的單一截斷式一元碼二元化所決定的。
  3. 如請求項2的方法,其中,該決定的轉換集合為包括轉換類型DST-VII和DST-VIII的轉換集合0。
  4. 如請求項1的方法,其中,該單一截斷式一元碼二元化編碼水平轉換選擇和垂直轉換選擇,用以分別選擇該影像訊框之該轉換區塊的該水平轉換和該垂直轉換。
  5. 如請求項4的方法,其中,該單一截斷式一元碼二元化中的該水平轉換選擇和該垂直轉換選擇係根據該水平和垂直轉換選擇發生的可能性來予以編碼。
  6. 如請求項1的方法,其中,該水平和垂直轉換之該類型的該決定包括: 從該位元流中解碼畫面內預測模式;以及 根據該解碼後的畫面內預測模式來決定該水平和垂直轉換選擇。
  7. 如請求項1的方法,其中,在該垂直轉換之前,該水平轉換先被施加於該影像訊框的該轉換區塊。
  8. 一種包括電腦應用程式的非暫態性電腦可讀媒體,該等程式係可由電腦設備執行以使該電腦實施從位元流中解碼影像訊框中之轉換區塊的方法,該方法包括: 從該位元流中解碼單一截斷式一元碼二元化,該單一截斷式一元碼二元化被使用於該影像訊框之轉換區塊的水平轉換和垂直轉換; 根據該解碼後的單一截斷式一元碼二元化來決定該水平和垂直轉換的類型;以及 藉由對該影像之該轉換區塊施加該決定類型的水平和垂直轉換來解碼該影像訊框中的該轉換區塊。
  9. 如請求項8的非暫態性電腦可讀媒體,其中,該水平和垂直轉換的該類型係由轉換集合與轉換索引之間的映射所決定的,其中,該等轉換集合和該等轉換索引係根據該解碼後的單一截斷式一元碼二元化所決定的。
  10. 如請求項9的非暫態性電腦可讀媒體,其中,該決定的轉換集合為包括轉換類型DST-VII和DST-VIII的轉換集合0。
  11. 如請求項8的非暫態性電腦可讀媒體,其中,該單一截斷式一元碼二元化編碼水平轉換選擇和垂直轉換選擇,用以分別選擇該影像訊框之該轉換區塊的該水平轉換和該垂直轉換。
  12. 如請求項11的非暫態性電腦可讀媒體,其中,該單一截斷式一元碼二元化中的該水平轉換選擇和該垂直轉換選擇係根據該水平和垂直轉換選擇發生的可能性來予以編碼。
  13. 如請項求8的非暫態性電腦可讀媒體,其中,該水平和垂直轉換之該類型的該決定包括: 從該位元流中解碼畫面內預測模式;以及 根據該解碼後的畫面內預測模式來決定該水平和垂直轉換選擇。
  14. 如請求項8的非暫態性電腦可讀媒體,其中,在該垂直轉換之前,該水平轉換先被施加於該影像訊框的該轉換區塊。
TW108120053A 2018-06-29 2019-06-11 用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統 TWI827616B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2018204786 2018-06-29
AU2018204786A AU2018204786A1 (en) 2018-06-29 2018-06-29 Method, apparatus and system for encoding and decoding a transformed block of video samples

Publications (2)

Publication Number Publication Date
TW202002633A true TW202002633A (zh) 2020-01-01
TWI827616B TWI827616B (zh) 2024-01-01

Family

ID=68984392

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108120053A TWI827616B (zh) 2018-06-29 2019-06-11 用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統

Country Status (10)

Country Link
US (6) US11445191B2 (zh)
EP (1) EP3815362A4 (zh)
JP (2) JP2021530124A (zh)
KR (1) KR102579286B1 (zh)
CN (6) CN117528121A (zh)
AU (1) AU2018204786A1 (zh)
BR (1) BR112020024151A2 (zh)
RU (2) RU2764258C1 (zh)
TW (1) TWI827616B (zh)
WO (1) WO2020000019A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020138352A1 (ja) * 2018-12-26 2021-11-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020141892A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
US11425378B2 (en) * 2019-01-31 2022-08-23 Hfi Innovation Inc. Method and apparatus of transform type assignment for intra sub-partition in video coding
AU2020247645B2 (en) * 2019-03-26 2023-10-12 Lg Electronics Inc. Transform-based image coding method and device therefor
JP2022537989A (ja) * 2019-06-21 2022-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ビデオコーディングシステムおよびビデオコーディング方法
JP7453581B2 (ja) * 2020-02-25 2024-03-21 日本電信電話株式会社 符号化方法、符号化装置及びプログラム
WO2022109910A1 (zh) * 2020-11-26 2022-06-02 深圳市大疆创新科技有限公司 视频编码方法、装置、编码器和存储介质
CN114900703A (zh) * 2022-03-31 2022-08-12 中南大学 一种通用视频编码系统及数据处理方法
WO2024020117A1 (en) * 2022-07-19 2024-01-25 Google Llc Dependent context model for transform types

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471834B2 (en) 2000-07-24 2008-12-30 Vmark, Inc. Rapid production of reduced-size images from compressed video streams
US7760950B2 (en) * 2002-09-26 2010-07-20 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
PT2728866T (pt) 2011-06-28 2019-02-21 Samsung Electronics Co Ltd Método e aparelho para codificar vídeo e método e aparelho para descodificar vídeo acompanhado com codificação aritmética
CN108718412B (zh) 2012-04-13 2020-10-16 三菱电机株式会社 图像编码装置、图像解码装置及其方法
US9319684B2 (en) * 2012-08-21 2016-04-19 Qualcomm Incorporated Alternative transform in scalable video coding
CN107005695B (zh) 2014-11-28 2020-01-07 联发科技股份有限公司 用于视频编码的替代变换的方法及装置
US9936201B2 (en) * 2015-01-27 2018-04-03 Qualcomm Incorporated Contexts for large coding tree units
CN107211133B (zh) 2015-11-06 2020-04-03 华为技术有限公司 反量化变换系数的方法、装置及解码设备
CN109417636B (zh) 2016-06-24 2022-04-01 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
KR20180007680A (ko) * 2016-07-13 2018-01-23 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20230066148A (ko) * 2016-07-14 2023-05-12 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 변환 기반 잔차 코딩을 이용한 예측 화상 코딩
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
JP2019525577A (ja) * 2016-07-18 2019-09-05 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 画像符号化/復号方法、装置、及び、ビットストリームを保存した記録媒体
US11095893B2 (en) 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
US10986340B2 (en) * 2018-06-01 2021-04-20 Qualcomm Incorporated Coding adaptive multiple transform information for video coding

Also Published As

Publication number Publication date
CN117560512A (zh) 2024-02-13
EP3815362A4 (en) 2022-06-22
US20220368903A1 (en) 2022-11-17
US20230028567A1 (en) 2023-01-26
RU2021139861A (ru) 2022-02-09
RU2764258C1 (ru) 2022-01-14
US20220368905A1 (en) 2022-11-17
CN117544791A (zh) 2024-02-09
KR20210003238A (ko) 2021-01-11
BR112020024151A2 (pt) 2021-03-02
TWI827616B (zh) 2024-01-01
CN117544792A (zh) 2024-02-09
CN117528121A (zh) 2024-02-06
CN112335241A (zh) 2021-02-05
US20220368904A1 (en) 2022-11-17
US11445191B2 (en) 2022-09-13
JP2021530124A (ja) 2021-11-04
JP2023179798A (ja) 2023-12-19
US20220368906A1 (en) 2022-11-17
CN117560513A (zh) 2024-02-13
KR102579286B1 (ko) 2023-09-18
CN112335241B (zh) 2023-10-20
WO2020000019A1 (en) 2020-01-02
US20210203933A1 (en) 2021-07-01
AU2018204786A1 (en) 2020-01-16
EP3815362A1 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
TWI827616B (zh) 用以編碼及解碼經轉換之視訊樣本區塊的方法、設備和系統
KR101822765B1 (ko) 비디오 데이터의 인코딩 및 디코딩을 위한 방법, 장치 및 시스템
TWI820714B (zh) 用於編碼和解碼視訊樣本區塊的樹的方法、設備及系統
TWI813922B (zh) 從視訊位元流解碼影像和編碼影像為視訊位元流的方法及其解碼設備和編碼設備以及非暫態電腦可讀取媒體
TWI821610B (zh) 用於將編碼樹單元編碼與解碼的方法、設備及系統
TWI784345B (zh) 用於將編碼樹單元編碼與解碼的方法、設備及系統
CN113557731B (zh) 用于编码和解码视频样本的块树的方法、设备和系统
TW202002653A (zh) 用於編碼及解碼視訊樣本的轉換區塊的方法、設備及系統
TWI786392B (zh) 用於編碼及解碼視訊樣本的區塊的方法、設備和系統
TW202126050A (zh) 用於編碼及解碼視訊取樣區段的方法, 設備及系統
CN112602327B (zh) 对视频样本的变换块编码和解码的方法、设备和系统