TW202037163A - 改善的子劃分內預測 - Google Patents

改善的子劃分內預測 Download PDF

Info

Publication number
TW202037163A
TW202037163A TW109103106A TW109103106A TW202037163A TW 202037163 A TW202037163 A TW 202037163A TW 109103106 A TW109103106 A TW 109103106A TW 109103106 A TW109103106 A TW 109103106A TW 202037163 A TW202037163 A TW 202037163A
Authority
TW
Taiwan
Prior art keywords
block
current block
sub
width
height
Prior art date
Application number
TW109103106A
Other languages
English (en)
Inventor
阿達許 克里許納 瑞瑪蘇布雷蒙尼安
德 艾瓦拉 吉特 范
范文龍
馬塔 卡茲維克茲
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202037163A publication Critical patent/TW202037163A/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/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/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/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/167Position within a video image, e.g. region of interest [ROI]
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/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/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

Abstract

本發明描述用於改善用於將寫碼區塊分裂成子區塊之內子劃分(ISP)模式的技術。在一些情況下,是否針對一寫碼區塊啟用ISP模式係基於關於資料單元(例如,VPDU、變換區塊以及其他)之大小約束。舉例而言,基於與一VPDU相關之一大小約束,可針對越過VPDU邊界之寫碼區塊停用該ISP模式。在一些情況下,是否啟用ISP模式可係基於該寫碼區塊之寬度及/或高度與對應於一或多個最大變換區塊大小之大小臨限值的比較。在一些情況下,當針對一寫碼區塊啟用該ISP模式時,用於定義用於該寫碼區塊之一分裂類型為水平或垂直之一旗標的一值可基於相對於一或多個臨限值的該寫碼區塊之該寬度及/或高度來推斷。

Description

改善的子劃分內預測
本申請案係關於視訊寫碼。更特定言之,本申請案係關於用於執行經改善視訊寫碼的系統、方法及電腦可讀媒體。
許多器件及系統允許處理並輸出視訊資料以供消耗。數位視訊資料包括大量資料以滿足消費者及視訊提供者之需求。舉例而言,視訊資料之消費者需要具有最優品質(具有高保真度、解析度、圖框速率及其類似者)之視訊。結果,滿足此等需求所需之大量視訊資料對處理及儲存視訊資料之通信網路及器件造成負擔。
各種視訊寫碼技術可用於壓縮視訊資料。視訊寫碼係根據一或多個視訊寫碼標準執行。舉例而言,視訊寫碼標準包括高效率視訊寫碼(HEVC)、進階視訊寫碼(AVC)、MPEG-2第2部分寫碼(MPEG代表活動圖像專家組)、VP9、開放媒體聯盟(AOMedia)視訊1 (AV1)、基本視訊寫碼(EVC)或其類似者。視訊寫碼通常使用利用存在於視訊影像或序列中之冗餘的預測方法(例如,框間預測、框內預測或其類似者)。視訊寫碼技術之重要目標為將視訊資料壓縮成使用較低位元速率之形式,同時避免視訊品質之降級或使視訊品質之降級最小化。隨著不斷演進的視訊服務變得可用,需要具有較佳寫碼效率之編碼技術。
本文中描述用於改善用於將視訊資料之寫碼區塊分裂成子區塊的內子劃分(ISP)模式之使用的系統及方法。在一些實例中,關於ISP模式是否可經允許用於寫碼區塊的決策可係基於大小約束。可基於基於資料單元之大小定義的一或多個大小臨限值實施大小約束。舉例而言,寬度大小臨限值可定義為資料單元之寬度且高度大小臨限值可定義為資料單元之高度。在一些情況下,單一臨限值可經定義(例如,當資料單元之寬度及高度相等時)。資料單元可包括虛擬管線資料單元(Virtual Pipeline Data Unit;VPDU)、變換區塊或其他資料單元或區塊。在一個說明性實例中,一或多個大小臨限值可用以防止針對越過VPDU邊界之寫碼區塊啟用ISP模式。此類約束(被稱作VPDU約束)藉由確保自分裂寫碼區塊獲得的子區塊不在不同VPDU中被獨立地處理而改善VPDU之處理效率。
在一些實例中,是否啟用使用ISP模式來分裂寫碼區塊之判定可係基於寫碼區塊之寬度及高度與對應於一或多個最大變換區塊大小之大小臨限值的比較。在一些實例中,當針對一寫碼區塊啟用ISP模式時,最佳分裂類型(水平或垂直)可基於寫碼區塊之寬度及高度而判定。
在一些實例中,提供用於ISP模式之劃分結構。劃分結構確保藉由劃分寫碼區塊獲得的子區塊之尺寸不違反諸如最大變換區塊大小之大小臨限值。在一些實例中,以導致子區塊之大小與最大變換區塊大小臨限值要求相容的方式提供一遞歸(recursive)樹型結構以用於確保將子劃分分裂類型判定為水平或垂直。在一些實例中,判定寫碼區塊經分裂成的子區塊之數目,使得子區塊之尺寸與最大變換區塊大小臨限值要求相容。在一些實例中,啟用ISP模式經調整以確保自分裂寫碼區塊獲得的子區塊之尺寸與最大變換區塊大小臨限值要求相容。
根據至少一個實例,提供一種用於編碼視訊資料之裝置。該裝置包括一記憶體及實施於電路系統中之一處理器。處理器經組態以且可獲得視訊資料之圖像的當前區塊;判定圖像之當前區塊的寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者,該寬度大小臨限值對應於資料單元之寬度且該高度大小臨限值對應於資料單元之高度;基於當前區塊之寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者判定內子劃分模式旗標是否經發信用於當前區塊,其中內子劃分模式旗標之值指示當前區塊是否經劃分成矩形變換區塊子劃分;及基於判定內子劃分模式旗標是否將經發信用於當前區塊而產生包括至少當前區塊的經編碼視訊位元串流。
在另一實例中,提供一種用於編碼視訊資料之方法。該方法包括獲得視訊資料之圖像的當前區塊;判定圖像之當前區塊的寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者,該寬度大小臨限值對應於資料單元之寬度且該高度大小臨限值對應於資料單元之高度;基於當前區塊之寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者判定內子劃分模式旗標是否經發信用於當前區塊,其中內子劃分模式旗標之值指示當前區塊是否經劃分成矩形變換區塊子劃分;及基於判定內子劃分模式旗標是否將經發信用於當前區塊而產生包括至少當前區塊的經編碼視訊位元串流。
在另一實例中,提供一種其上儲存有指令的非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使該一或多個處理器:獲得視訊資料之圖像的當前區塊;判定圖像之當前區塊的寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者,該寬度大小臨限值對應於資料單元之寬度且該高度大小臨限值對應於資料單元之高度;基於當前區塊之寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者判定內子劃分模式旗標是否經發信用於當前區塊,其中內子劃分模式旗標之值指示當前區塊是否經劃分成矩形變換區塊子劃分;及基於判定內子劃分模式旗標是否將經發信用於當前區塊而產生包括至少當前區塊的經編碼視訊位元串流
在另一實例中,提供一種用於編碼視訊資料之裝置。該裝置包括用於獲得視訊資料之圖像的當前區塊的構件;用於判定圖像之當前區塊的寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者的構件,該寬度大小臨限值對應於資料單元之寬度且該高度大小臨限值對應於資料單元之高度;用於基於當前區塊之寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者判定內子劃分模式旗標是否經發信用於當前區塊的構件,其中內子劃分模式旗標之值指示當前區塊是否經劃分成矩形變換區塊子劃分;及用於基於判定內子劃分模式旗標是否將經發信用於當前區塊而產生包括至少當前區塊的經編碼視訊位元串流的構件。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,寬度大小臨限值等於高度大小臨限值。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,寬度大小臨限值不同於高度大小臨限值。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,該內子劃分模式旗標之一值等於一第一值指定該當前區塊經劃分成矩形變換區塊子劃分,且該內子劃分模式旗標之該值等於一第二值指定該當前區塊未經劃分成矩形變換區塊子劃分。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度大於寬度大小臨限值或當前區塊之高度大於高度大小臨限值;及基於當前區塊之寬度大於寬度大小臨限值或當前區塊之高度大於高度大小臨限值的判定,判定用於當前區塊之內子劃分模式旗標的值等於第二值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度小於或等於寬度大小臨限值及當前區塊之高度小於或等於高度大小臨限值;及基於當前區塊之寬度小於或等於寬度大小臨限值及當前區塊之高度小於或等於高度大小臨限值的判定,判定發信用於當前區塊之內子劃分模式旗標。舉例而言,用於當前區塊之內子劃分模式旗標可經設定為等於第一值或第二值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度小於或等於大小臨限值及當前區塊之高度小於或等於大小臨限值,該大小臨限值對應於最大變換區塊大小;及基於當前區塊之寬度小於或等於大小臨限值及當前區塊之高度小於或等於大小臨限值的判定,判定發信用於當前區塊之內子劃分模式旗標。舉例而言,用於當前區塊之內子劃分模式旗標可經設定為等於第一值或第二值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度小於或等於大小臨限值或當前區塊之高度小於或等於大小臨限值,該大小臨限值對應於最大變換區塊大小;及基於當前區塊之寬度小於或等於大小臨限值或當前區塊之高度小於或等於大小臨限值的判定,判定用於當前區塊之內子劃分模式旗標的值為第二值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度小於或等於寬度大小臨限值及當前區塊之高度小於或等於高度大小臨限值;及基於當前區塊之寬度小於或等於寬度大小臨限值及當前區塊之高度小於或等於高度大小臨限值的判定,判定用於當前區塊的內子劃分模式旗標之值等於第一值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度小於或等於大小臨限值及當前區塊之高度小於或等於大小臨限值,該大小臨限值對應於最大變換區塊大小;及基於當前區塊之寬度小於或等於大小臨限值及當前區塊之高度小於或等於大小臨限值的判定,判定用於當前區塊的內子劃分模式旗標之值等於第一值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度小於或等於大小臨限值或當前區塊之高度小於或等於大小臨限值,該大小臨限值對應於最大變換區塊大小;及基於當前區塊之寬度小於或等於大小臨限值或當前區塊之高度小於或等於大小臨限值的判定,判定用於當前區塊之內子劃分模式旗標的值為第二值。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定內子劃分模式旗標將經發信用於當前區塊;及基於內子劃分模式旗標將經發信用於當前區塊的判定,將用於當前區塊之內子劃分模式旗標包括在經編碼視訊位元串流中。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度及高度中之至少一者大於對應於最大變換區塊大小的大小臨限值;及基於當前區塊之寬度或高度大於對應於最大變換區塊大小之大小臨限值的判定,判定用於當前區塊之內子劃分分裂旗標的值,該內子劃分分裂旗標指定用於劃分當前區塊之一分裂類型為水平抑或垂直。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度大於大小臨限值;及基於當前區塊之寬度大於大小臨限值的判定,判定內子劃分分裂旗標之第一分裂值,該第一分裂值對應於垂直分裂類型。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之高度大於大小臨限值;及基於當前區塊之高度大於大小臨限值的判定,判定內子劃分分裂旗標之第二分裂值,該第二分裂值對應於水平分裂類型。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括基於用於當前區塊的內子劃分分裂旗標之值將當前區塊垂直地或水平地分成子劃分。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,當前區塊為經框內預測區塊。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,資料單元為虛擬管線資料單元(VPDU)。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,資料單元為變換區塊。在一些情況下,寬度大小臨限值及高度大小臨限值等於一最大變換區塊大小。
在另一實例中,提供一種解碼視訊資料的方法。該方法包括獲得包括視訊資料之經編碼視訊位元串流;判定內子劃分分裂旗標不存在於視訊資料之當前區塊的經編碼視訊位元串流中,該內子劃分分裂旗標指定用於當前區塊之內子劃分模式的一分裂類型為水平抑或垂直;判定當前區塊之寬度及高度中之至少一者大於對應於最大變換區塊大小的大小臨限值;及基於當前區塊之寬度或高度是否大於大小臨限值判定用於當前區塊之內子劃分分裂旗標的值。
在另一實例中,提供一種用於解碼視訊資料之裝置。該裝置包括一記憶體及實施於電路系統中之一處理器。處理器經組態以且可獲得包括視訊資料之經編碼視訊位元串流;判定內子劃分分裂旗標不存在於視訊資料之當前區塊的經編碼視訊位元串流中,該內子劃分分裂旗標指定用於當前區塊的內子劃分模式之一分裂類型為水平抑或垂直;判定當前區塊之寬度及高度中之至少一者大於對應於最大變換區塊大小的大小臨限值;及基於當前區塊之寬度或高度是否大於大小臨限值判定用於當前區塊之內子劃分分裂旗標的值。
在另一實例中,提供一種其上儲存有指令之非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使該一或多個處理器執行以下操作:獲得包括視訊資料之經編碼視訊位元串流;判定內子劃分分裂旗標不存在於視訊資料之當前區塊的經編碼視訊位元串流中,該內子劃分分裂旗標指定用於當前區塊的內子劃分模式之一分裂類型為水平抑或垂直;判定當前區塊之寬度及高度中之至少一者大於對應於最大變換區塊大小的大小臨限值;及基於當前區塊之寬度或高度是否大於大小臨限值而判定用於當前區塊之內子劃分分裂旗標的值。
在另一實例中,提供一種用於解碼視訊資料之裝置。該裝置包括用於獲得包括視訊資料之經編碼視訊位元串流的構件;用於判定內子劃分分裂旗標不存在於視訊資料之當前區塊的經編碼視訊位元串流中的構件,該內子劃分分裂旗標指定用於當前區塊的內子劃分模式之一分裂類型為水平抑或垂直;用於判定當前區塊之寬度及高度中之至少一者大於對應於最大變換區塊大小的大小臨限值的構件;及用於基於當前區塊之寬度或高度是否大於大小臨限值而判定用於當前區塊之內子劃分分裂旗標的值的構件。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定針對該當前區塊啟用一內子劃分模式旗標;及基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之寬度大於大小臨限值;及基於當前區塊之寬度大於大小臨限值的判定,判定內子劃分分裂旗標之第一分裂值,該第一分裂值對應於垂直分裂類型。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括使用垂直分裂類型將當前區塊分裂成兩個或更多個子區塊,其中兩個或更多個子區塊中之每一者的各別寬度基於垂直分裂類型而小於當前區塊之寬度。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定當前區塊之高度大於大小臨限值;及基於當前區塊之高度大於大小臨限值的判定,判定內子劃分分裂旗標之第二分裂值,該第二分裂值對應於水平分裂類型。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括使用水平分裂類型將當前區塊分裂成兩個或更多個子區塊,其中兩個或更多個子區塊中之每一者的各別高度基於水平分裂類型而小於當前區塊之高度。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括判定用於針對視訊資料之第二區塊啟用內子劃分模式的內子劃分模式旗標不存在於經編碼視訊位元串流中;及基於內子劃分模式旗標不存在於第二區塊之經編碼視訊位元串流中而判定用於第二區塊之內子劃分模式旗標的模式值。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,不存在於第二區塊的經編碼視訊位元串流中之內子劃分模式旗標指示第二區塊之寬度大於寬度大小臨限值或第二區塊之高度大於高度大小臨限值中之至少一者,該寬度大小臨限值對應於資料單元之寬度且高度大小臨限值對應於資料單元之高度。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,寬度大小臨限值等於高度大小臨限值。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,寬度大小臨限值不等於高度大小臨限值。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,資料單元為虛擬管線資料單元(VPDU)。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,資料單元為變換區塊。在一些情況下,寬度大小臨限值及高度大小臨限值等於一最大變換區塊大小。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,當前區塊為經框內預測區塊。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括執行視訊資料區塊的基於區塊之劃分以產生包括當前區塊之一或多個寫碼區塊;判定針對當前區塊啟用內子劃分模式;及基於判定針對當前區塊啟用內子劃分模式,使用內子劃分模式將當前區塊劃分成兩個或更多個子區塊。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括藉由將各別兩個或更多個殘餘值應用於兩個或更多個子區塊而重建構兩個或更多個子區塊。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,裝置包含具有用於捕捉一或多個圖像之攝影機的行動器件。
上文所描述之方法、裝置及電腦可讀媒體的一些態樣進一步包括用於顯示一或多個圖像之一顯示器。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以判定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
相關申請案之交叉參考
本申請案主張2019年2月5日申請之美國臨時申請案第62/801,625號的權益,其全部內容以引用的方式且出於所有目的併入本文中。
下文提供本發明之某些態樣及實施例。此等態樣及實施例之一些可獨立地應用,且其中之一些可組合地應用,如熟習此項技術者將顯而易見。在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對本申請案之實施例之透徹理解。然而,將顯而易見的是,可在無此等特定細節之情況下實踐各種實施例。諸圖及描述不意欲為限制性的。
隨後描述僅提供例示性實施例且並不意欲限制本發明的範疇、可應用性或組態。實際上,例示性實施例之隨後描述將為熟習此項技術者提供能夠實施例示性實施例之描述。應理解,可在不背離如所附申請專利範圍中所闡述之申請案之精神及範疇的情況下對元件之功能及配置做出各種變化。
視訊寫碼器件實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用不同預測模式(包括空間預測(例如圖框內預測或框內預測)、時間預測(例如圖框間預測或框間預測)、層間預測(橫越視訊資料之不同層)及/或其他預測技術)以減少或移除為視訊序列所固有的冗餘。視訊編碼器可將原始視訊序列之每一圖像劃分成被稱作視訊區塊或寫碼單元(下文更詳細地描述)之矩形區。可使用特定預測模式來編碼此等視訊區塊。
視訊區塊可以一或多種方式分成較小區塊之一或多個群組。區塊可包括寫碼樹型區塊、預測區塊、變換區塊或其他合適區塊。除非另外指定,否則通常對「區塊」之參考可指此類視訊區塊(例如,寫碼樹型區塊、寫碼區塊、預測區塊、變換區塊或其他合適區塊或子區塊,如將藉由一般熟習此項技術者理解)。另外,此等區塊中之每一者在本文中亦可互換地稱作「單元」(例如寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)或其類似者)。在一些情況下,單元可指示經編碼於位元串流中的寫碼邏輯單元,而區塊可指示一程序目標所指向的視訊圖框緩衝器之一部分。
對於框間預測模式,視訊編碼器可搜尋類似於經編碼於定位於另一時間位置中的圖框(或圖像)(被稱作參考圖框或參考圖像)中之區塊的區塊。視訊編碼器可將搜尋限定於自待編碼之區塊的某一空間移位。可使用包括水平移位分量及垂直移位分量之二維(2D)運動向量來定位最好匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之先前經編碼相鄰區塊的資料使用空間預測技術而形成預測區塊。
視訊編碼器可判定預測誤差。舉例而言,可判定預測為經編碼區塊與預測區塊中之像素值之間的差。預測誤差亦可被稱作殘餘。視訊編碼器亦可將變換應用於預測誤差(例如,離散餘弦變換(DCT)或其他合適之變換)從而產生變換係數。在變換之後,視訊編碼器可量化變換係數。可使用語法元素來表示經量化變換係數及運動向量,且其連同控制資訊一起形成視訊序列之經寫碼表示。在一些情況下,視訊編碼器可熵寫碼語法元素,藉此進一步減少其表示所需之位元數目。
視訊解碼器可使用上文所論述之語法元素及控制資訊建構用於解碼當前圖框之預測性資料(例如,預測性區塊)。舉例而言,視訊解碼器可將預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數而加權變換基底函數來判定經壓縮預測誤差。經重建構圖框及原始圖框之間的差被稱作重建構誤差。
本文中描述用於改善用於將視訊資料之寫碼區塊分裂成子區塊的一內子劃分或內子劃分(ISP)模式之使用(服從一或多個限制及/或約束)的系統及方法。在一些實例中,是否針對寫碼區塊執行ISP模式的決策係基於大小約束。大小約束可基於使用資料單元之大小定義的一或多個大小臨限值。舉例而言,如下文更詳細地描述,寬度大小臨限值可定義為資料單元之寬度且高度大小臨限值可定義為資料單元之高度。在一些情況下,單一臨限值可經定義(例如,當資料單元之寬度及高度相等時)。資料單元可包括虛擬管線資料單元(VPDU)、變換區塊或其他資料單元或區塊。在一個說明性實例中,本文定義VPDU約束,其防止針對越過虛擬管線資料單元(VPDU)邊界的寫碼區塊啟用ISP模式。此類VPDU約束可藉由確保自使用ISP分裂寫碼區塊獲得的子區塊不在不同VPDU中被獨立地處理而改善VPDU之處理效率。在一些實例中,VPDU約束可藉由編碼器應用,其中當VPDU約束藉由寫碼區塊違反時ISP模式旗標未在經編碼視訊位元串流中或未隨經編碼視訊位元串流一起而發信用於寫碼區塊。在此類實例中,基於ISP模式旗標未在經編碼視訊位元串流中發信或隨經編碼視訊位元串流一起發信,ISP模式旗標的值可藉由解碼器推斷為指示未針對寫碼區塊啟用ISP模式的一值(例如,為0之值)。
分裂旗標(在一些情況下在本文中稱作內子劃分分裂旗標)可在經編碼視訊位元串流中發信並用以判定針對啟用ISP模式所針對的寫碼區塊執行的ISP分裂類型(例如,水平類型或垂直類型)。在實例態樣中,提供用於判定及發信分裂旗標的改善之技術。舉例而言,可基於相對於最大變換區塊大小之寫碼區塊特定尺寸判定用於寫碼區塊的最佳ISP分裂類型,此可避免可根據現有實施產生的非所要分裂類型。在一個實例中,當針對寫碼區塊啟用ISP模式時,針對寫碼區塊執行的ISP分裂類型(例如,水平類型或垂直類型)的判定可係基於寫碼區塊之寬度及/或高度與對應於最大變換區塊大小之大小臨限值的比較。舉例而言,用於寫碼區塊之分裂旗標的值可基於寫碼區塊之寬度及/或高度與最大變換區塊大小臨限值的比較而判定,且分裂旗標之值可用以判定ISP分裂類型(例如,如水平或垂直)。
在一些實例中,用於ISP模式之劃分結構可經提供以確保藉由劃分寫碼區塊獲得的子區塊之尺寸不違反諸如最大變換區塊大小之大小臨限值。在一些實例中,以導致子區塊之大小與最大變換區塊大小臨限值要求相容的方式提供一遞歸樹型結構以用於確保將子劃分分裂類型判定為水平或垂直。在一些實例中,判定寫碼區塊經分裂成的子區塊之數目,使得子區塊之尺寸與最大變換區塊大小臨限值要求相容。在一些實例中,啟用ISP模式經調整以確保自分裂寫碼區塊獲得的子區塊之尺寸與最大變換區塊大小臨限值要求相容。
圖1為說明包括編碼器件104及解碼器件112之系統100之實例的方塊圖。編碼器件104可為源器件之部分,且解碼器件112可為接收器件之部分。源器件及/或接收器件可包括電子器件,諸如行動或靜止電話手機(例如,智慧型電話、蜂巢式電話或其類似者)、桌上型電腦、膝上型或筆記型電腦、平板電腦、機頂盒、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件、網際網路協定(IP)攝影機或任何其他合適的電子器件。在一些實例中,源器件及接收器件可包括用於無線通信之一或多個無線收發器。本文中所描述之寫碼技術可適用於各種多媒體應用中之視訊寫碼,包括串流視訊傳輸(例如,經由網際網路)、電視廣播或傳輸、編碼數位視訊以供儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之數位視訊或其他應用。在一些實例中,系統100可支援單向或雙向視訊傳輸以支援諸如視訊會議、視訊串流、視訊播放、視訊廣播、遊戲及/或視訊電話之應用。
使用視訊寫碼標準或協定以產生經編碼視訊位元串流,編碼器件104(或編碼器)可用以編碼視訊資料。視訊寫碼標準的實例包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264 (亦稱作ISO/IEC MPEG-4 AVC)(包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展)及高效率視訊寫碼(HEVC)或ITU-T H.265。存在涉及多層視訊寫碼的HEVC之各種擴展,包括範圍及螢幕內容寫碼擴展、3D視訊寫碼(3D-HEVC)及多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。HEVC及其擴展已藉由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼擴展開發聯合協作小組(JCT-3V)開發。
MPEG及ITU-T VCEG亦已形成聯合探索視訊小組(JVET)以探索用於下一代視訊寫碼標準(稱作多功能視訊寫碼(VVC))之新的寫碼工具。參考軟體稱作VVC測試模型(VTM)。VVC之目標係提供對於現有HEVC標準的壓縮效能之顯著改善,輔助較高品質視訊服務及新興應用(例如360°全向沉浸式多媒體、高動態範圍(HDR)視訊,以及其他)的部署。VP9、開放媒體聯盟(AOMedia)視訊1 (AV1)及基本視訊寫碼(EVC)為本文中所描述之技術可應用於的其他視訊寫碼標準。
可使用視訊編解碼器(諸如VTM、VVC、HEVC、AVC及/或其擴展)執行本文中所描述的許多實施例。然而,本文中所描述的技術及系統亦可適用於其他寫碼標準,諸如MPEG、JPEG (或用於靜止影像之其他寫碼標準)、VP9、AV1、其擴展,或已經可用或尚未可用或開發的其他合適寫碼標準。因此,雖然可參考特定視訊寫碼標準描述本文中所描述之技術及系統,但一般熟習此項技術者將瞭解,描述不應解譯為僅適用於彼特定標準。
參看圖1,視訊源102可將視訊資料提供至編碼器件104。視訊源102可為源器件之一部分,或可為除源器件以外的器件之一部分。視訊源102可包括視訊捕捉器件(例如,視訊攝影機、攝影機電話、視訊電話或其類似者)、含有經儲存視訊之視訊存檔、提供視訊資料之視訊伺服器或內容提供者、自視訊伺服器或內容提供者接收視訊之視訊饋入介面、用於產生電腦圖形視訊資料之電腦圖形系統、此等源之組合或任何其他合適的視訊源。
來自視訊源102之視訊資料可包括一或多個輸入圖像或圖框。圖像或圖框為在一些情況下為視訊之部分的靜態影像。在一些實例中,來自視訊源102之資料可為並非為視訊之一部分的靜態影像。在HEVC、VVC及其他視訊寫碼規範中,視訊序列可包括一系列圖像。圖像可包括三個樣本陣列,指示為SL 、SCb 及SCr 。SL 為明度樣本之二維陣列,SCb 為Cb色訊樣本之二維陣列且SCr 為Cr色訊樣本之二維陣列。色訊樣本亦可在本文中被稱作「色度(chroma)」樣本。在其他情況下,圖像可為單色的且可僅包括明度樣本陣列。
編碼器件104之編碼器引擎106 (或編碼器)編碼視訊資料以產生經編碼視訊位元串流。在一些實例中,經編碼視訊位元串流(或「視訊位元串流」或「位元串流」)為一系列之一或多個經寫碼視訊序列。經寫碼視訊序列(CVS)包括一系列存取單元(AU),其始於在基礎層中具有隨機存取點圖像且具有某些性質之AU,直至且不包括在基礎層中具有隨機存取點圖像且具有某些性質之下一AU。舉例而言,開始CVS的隨機存取點圖像之某些性質可包括等於1之一RASL旗標(例如,NoRaslOutputFlag)。否則,隨機存取點圖像(具有等於0之RASL旗標)不開始CVS。存取單元(AU)包括一或多個經寫碼圖像及對應於共用相同輸出時間之經寫碼圖像的控制資訊。圖像之經寫碼圖塊在位元串流層級經囊封至被稱作網路抽象層(NAL)單元之資料單元中。舉例而言,HEVC視訊位元串流可包括一或多個CVS,該一或多個CVS包括NAL單元。NAL單元中之每一者具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC (除了多層擴展以外)為一個位元組且對於HEVC為兩個位元組。NAL單元標頭中之語法元素採取經指定位元,且因此對所有種類之系統及輸送層可見,諸如輸送串流、即時輸送(RTP)協定、檔案格式以及其他。
兩種類別之NAL單元存在於HEVC標準中,包括視訊寫碼層(VCL)NAL單元及非VCL NAL單元。VCL NAL單元包括經寫碼圖像資料之一個圖塊或圖塊片段(如下描述),且非VCL NAL單元包括關於一或多個經寫碼圖像之控制資訊。在一些情況下,NAL單元可被稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。
NAL單元可含有形成視訊資料之經寫碼表示(諸如,視訊中之圖像的經寫碼表示)的位元序列(例如,經編碼視訊位元串流、位元串流之CVS或其類似者)。編碼器引擎106藉由將每一圖像劃分成多個圖塊而產生圖像之經寫碼表示。一圖塊獨立於其他圖塊,以使得在不依賴於來自同一圖像內之其他圖塊之資料的情況下寫碼該圖塊中之資訊。一圖塊包括一或多個圖塊片段,該一或多個圖塊片段包括獨立圖塊片段及(若存在)取決於先前圖塊片段之一或多個相關圖塊片段。
在HEVC中,圖塊接著劃分成明度樣本及色度樣本之寫碼樹型區塊(CTB)。明度樣本之CTB及色度樣本之一或多個CTB連同樣本之語法被稱作寫碼樹型單元(CTU)。CTU亦可被稱作「樹型區塊」或「最大寫碼單元」(LCU)。CTU為用於HEVC編碼之基本處理單元。CTU可經分裂成具有不同大小之多個寫碼單元(CU)。CU含有被稱作寫碼區塊(CB)之明度及色度樣本陣列。
明度及色度CB可進一步被分裂成預測區塊(PB)。PB為對於框間預測或塊內複本(IBC)預測(在可用或經啟用以供使用時)使用相同運動參數的明度分量或色度分量之樣本之區塊。明度PB及一或多個色度PB以及相關聯語法形成預測單元(PU)。對於框間預測,一組運動參數(例如,一或多個運動向量、參考索引或其類似者)係在用於每一PU之位元串流中發信且用於明度PB及一或多個色度PB之框間預測。運動參數亦可被稱作運動資訊。CB亦可劃分成一或多個變換區塊(TB)。TB表示色彩分量之樣本的一正方形區塊,殘餘變換(例如在一些情況下相同二維變換)經應用於該區塊以用於寫碼一預測殘餘信號。變換單元(TU)表示明度及色度樣本之TB及對應語法元素。以下更詳細地描述變換寫碼。
CU之大小對應於寫碼模式之大小,且可為正方形形狀。舉例而言,CU之大小可為8×8樣本、16×16樣本、32×32樣本、64×64樣本或達至相應CTU之大小的任何其他適當大小。片語「N×N」在本文中用於指就垂直及水平尺寸而言視訊區塊之像素尺寸(例如,8像素×8像素)。可按列及行來配置區塊中之像素。在一些實施例中,區塊在水平方向上可不具有與在垂直方向上相同的數目個像素。與CU相關聯之語法資料可描述例如將CU劃分成一或多個PU。劃分模式可在CU經框內預測模式編碼抑或經框間預測模式編碼之間有所不同。PU可被劃分成非正方形形狀。與CU相關聯之語法資料亦可描述(例如)根據CTU將CU劃分成一或多個TU。TU可為正方形或非正方形形狀。
根據HEVC標準,可使用變換單元(TU)來執行變換。TU可針對不同CU而變化。可基於給定CU內之PU的大小而對TU設定大小。TU可與PU大小相同或小於PU。在一些實例中,可使用被稱作「殘餘四分樹」(RQT)之四分樹結構將對應於CU之殘餘樣本再分成較小單元。RQT之葉節點可對應於TU。可變換與TU相關聯之像素差值以產生變換係數。變換係數可接著由編碼器引擎106量化。
一旦視訊資料之圖像被劃分成CU,編碼器引擎106便使用預測模式來預測每一PU。接著自原始視訊資料減去預測單元或預測區塊以得到殘餘(如下描述)。對於各CU,可使用語法資料在位元串流內部傳信預測模式。預測模式可包括框內預測(或圖像內預測)或框間預測(或圖像間預測)。框內預測利用圖像內之空間相鄰樣本之間的相關性。舉例而言,在使用框內預測之情況下,使用(例如)DC預測以發現PU之平均值、使用平面預測以使平面表面擬合於PU、使用方向預測以自相鄰資料外插或使用任何其他合適類型之預測,自同一圖像中之相鄰影像資料預測每一PU。框間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。舉例而言,在使用框間預測之情況下,使用運動補償預測自一或多個參考圖像(按輸出次序在當前圖像之前或之後)中之影像資料預測每一PU。可(例如)在CU層級決定使用圖像間預測抑或圖像內預測來寫碼圖像區域。
編碼器引擎106及解碼器引擎116 (如下更詳細地描述)可經組態以根據VVC操作。根據VVC,視訊寫碼器(諸如編碼器引擎106及/或解碼器引擎116)將圖像劃分成複數個寫碼樹型單元(CTU)(其中明度樣本之CTB及色度樣本之一或多個CTB以及用於明度及色度樣本之語法被稱作CTU)。視訊寫碼器可根據樹型結構劃分CTU,諸如四分樹二進位樹型(QTBT)結構或多類型樹型(MTT)結構。QTBT結構移除多個劃分類型之概念,諸如HEVC之CU、PU及TU之間的間距。QTBT結構包括兩個層級:根據四分樹劃分劃分的第一層級,及根據二進位樹劃分劃分的第二層級。QTBT結構之根節點對應於CTU。二進位樹之葉節點對應於寫碼單元(CU)。
在MTT劃分結構中,區塊可使用四分樹劃分、二進位樹劃分及一或多種類型之三重樹劃分來劃分。三重樹劃分為區塊分裂成三個子區塊的劃分。在一些實例中,三重樹劃分在不經由中心分隔原始區塊情況下將區塊分成三個子區塊。MTT中之劃分類型(例如四分樹、二進位樹及三重樹)可為對稱或不對稱的。
在一些實例中,視訊寫碼器可使用單一QTBT或MTT結構以表示明度及色訊分量中之每一者,而在其他實例中,視訊寫碼器可使用兩個或大於兩個QTBT或MTT結構,諸如用於明度分量之一個QTBT或MTT結構及用於兩個色訊分量之另一QTBT或MTT結構(或用於各別色訊分量之兩個QTBT及/或MTT結構)。
視訊寫碼器可經組態以使用根據HEVC之四分樹劃分、QTBT劃分、MTT劃分,或其他劃分結構。出於說明之目的,本文中之描述可指QTBT劃分。然而,應理解,本發明之技術亦可應用於經組態以使用四分樹劃分亦或其他類型之劃分的視訊寫碼器。
在一些實例中,圖像之一或多個圖塊被指派圖塊類型。圖塊類型包括I圖塊、P圖塊及B圖塊。I圖塊(框內預測圖框,可獨立解碼)為僅藉由框內預測寫碼之圖像的圖塊,且因此可獨立解碼,此係因為I圖塊僅需要圖框內之資料來預測圖塊之任何預測單元或預測區塊。P圖塊(單向預測圖框)為可藉由框內預測及藉由單向框間預測寫碼之圖像的圖塊。藉由框內預測或框間預測寫碼P圖塊內之每一預測單元或預測區塊。當應用框間預測時,僅藉由一個參考圖像預測該預測單元或預測區塊,且因此參考樣本僅來自一個圖框之一個參考區。B圖塊(雙向預測性圖框)為可藉由框內預測及框間預測(例如,雙向預測或單向預測)寫碼的圖像之圖塊。B圖塊之預測單元或預測區塊可自兩個參考圖像雙向預測,其中每一圖像貢獻一個參考區且兩個參考區之樣本集合經加權(例如,運用相等權重或運用不同權重)以產生雙向預測區塊之預測信號。如上文所解釋,一個圖像之圖塊被獨立寫碼。在一些情況下,圖像可僅作為一個圖塊而被寫碼。
如上文所提及,圖像內預測利用圖像內之空間相鄰樣本之間的相關性。存在複數個框內預測模式(亦被稱作「框內模式」)。在一些實例中,明度區塊之框內預測包括35種模式,包括平面模式、DC模式及33個角度模式(例如對角框內預測模式及鄰近於對角框內預測模式之角度模式)。框內預測之35個模式如下表1中所展示經索引化。在其他實例中,可定義可能不會已表示為33個角度模式的更多個包括預測角之框內模式。在其他實例中,與角度模式相關聯之預測角可能不同於用於HEVC中之彼等預測角。
框內預測模式 相關聯名稱
0 INTRA_PLANAR
1 INTRA_DC
2..34 INTRA_ANGULAR2..INTRA_ANGULAR34
表1-框內預測模式及相關聯名稱之詳細說明
圖像間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。使用平移運動模型,先前解碼之圖像(參考圖像)中的區塊之位置係藉由運動向量(
Figure 02_image001
)指示,其中
Figure 02_image003
指定水平位移且
Figure 02_image005
指定參考區塊相對於當前區塊之位置的垂直位移。在一些情況下,運動向量(
Figure 02_image007
)可在整數樣本準確度(亦稱作整數準確度)中,在此情況下運動向量指向參考圖框之整數像素網格(或整數像素取樣網格)。在一些情況下,運動向量(
Figure 02_image009
)可具有分數樣本準確度(亦稱作分數像素準確度或非整數準確度)以更準確地捕捉基礎物件之移動而不限於參考圖框之整數像素網格。運動向量之準確度可由運動向量之量化層級表達。舉例而言,量化層級可為整數準確度(例如,1像素)或分數像素準確度(例如,¼像素、½像素或其他子像素值)。當對應運動向量具有分數樣本準確度時,對參考圖像應用內插以導出預測信號。舉例而言,在整數位置處可用的樣本可經濾波(例如使用一或多個內插濾波器)以估計在分數位置處之值。先前經解碼參考圖像由參考圖像清單的參考索引(refIdx)指示。運動向量及參考索引可被稱作運動參數。可執行兩種圖像間預測,包括單向預測及雙向預測。
在框間預測使用雙向預測情況下,兩組運動參數(
Figure 02_image011
Figure 02_image013
Figure 02_image015
Figure 02_image017
Figure 02_image019
Figure 02_image021
)用於產生兩個經運動補償之預測(自相同參考圖像或可能自不同參考圖像)。舉例而言,藉由雙向預測,每一預測區塊使用兩個運動補償預測信號,且產生B預測單元。接著組合兩個運動補償預測以得到最終運動補償預測。舉例而言,可藉由取平均值來組合兩個運動補償預測。在另一實例中,可使用加權預測,在此情況下,不同權重可應用於每一運動補償預測。可用於雙向預測中之參考圖像儲存於兩個單獨清單(表示為清單0及清單1)中。可使用運動估計程序在編碼器處導出運動參數。
在框間預測使用單向預測情況下,一組運動參數(
Figure 02_image023
Figure 02_image025
Figure 02_image027
)用以自參考圖像產生經運動補償之預測。舉例而言,藉由單向預測,每一預測區塊使用至多一個運動補償預測信號,且產生P預測單元。
PU可包括與預測程序相關之資料(例如,運動參數或其他合適資料)。舉例而言,當使用框內預測編碼PU時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當使用框間預測來編碼PU時,PU可包括定義用於PU之運動向量的資料。定義用於PU之運動向量的資料可描述(例如)運動向量之水平分量(
Figure 02_image029
)、運動向量之垂直分量(
Figure 02_image031
)、運動向量之解析度(例如,整數精度、四分之一像素精度或八分之一像素精度)、運動向量指向的參考圖像、參考索引、用於運動向量之參考圖像清單(例如,清單0、清單1或清單C),或其任何組合。
在使用框內預測及/或框間預測執行預測之後,編碼器件104可執行變換及量化。舉例而言,在預測之後,編碼器引擎106可計算對應於PU之殘餘值。殘餘值可包含被寫碼的像素之當前區塊(PU)與用以預測當前區塊之預測區塊(例如,當前區塊之預測版本)之間的像素差值。舉例而言,在產生預測區塊(例如,發出框間預測或框內預測)之後,編碼器引擎106可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘餘區塊。殘餘區塊包括量化當前區塊之像素值與預測區塊之像素值之間的差的一組像素差值。在一些實例中,殘餘區塊可以二維區塊格式(例如,像素值之二維矩陣或陣列)表示。在此等實例中,殘餘區塊為像素值之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘餘資料,此變換可基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他合適的變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如,大小32×32、16×16、8×8、4×4或其他合適大小)可應用於每一CU中之殘餘資料。在一些實施例中,TU可用於藉由編碼器引擎106實施的變換及量化程序。給定之具有一或多個PU的CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘餘值變換成變換係數,且接著可使用TU來量化且掃描殘餘值以產生用於熵寫碼之串列化變換係數。
在一些實施例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘餘資料。PU可包含空間域(或像素域)中之像素資料。在應用區塊變換之後,TU可包含變換域中之係數。如先前所提及,殘餘資料可對應於未經編碼圖像之像素與對應於PU之預測值之間的像素差值。編碼器引擎106可形成包括CU之殘餘資料的TU,且接著可變換TU以產生CU之變換係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以減少用以表示係數之資料的量而提供進一步壓縮。舉例而言,量化可減少與係數中之一些或所有相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經降值捨位為m位元值,其中n大於m。
在量化被執行後,經寫碼視訊位元串流包括經量化變換係數、預測資訊(例如,預測模式、運動向量、區塊向量或其類似者)、劃分資訊及任何其他合適之資料,諸如其他語法資料。接著可藉由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可利用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的串列化向量。在一些實例中,編碼器引擎106可執行自適應掃描。在掃描經量化變換係數以形成一向量(例如一維向量)之後,編碼器引擎106可熵編碼該向量。舉例而言,編碼器引擎106可使用上下文自適應可變長度寫碼、上下文自適應二進位算術寫碼、基於語法之上下文自適應二進位算術寫碼、機率區間劃分熵寫碼或另一合適的熵編碼技術。
如先前所描述,HEVC位元串流包括NAL單元之群組,包括VCL NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列存在於VCL NAL單元中。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級級資訊的參數集。舉例而言,參數集可包括視訊參數集(VPS)、序列參數集(SPS)及圖像參數集(PPS)。參數集之目標之實例包括位元速率效率、錯誤復原(error resiliency)及提供系統層介面。每一圖塊參考單一作用中PPS、SPS及VPS以存取解碼器件112可用於解碼圖塊之資訊。可針對每一參數集寫碼識別符(ID),包括VPS ID、SPS ID及PPS ID。SPS包括SPS ID及VPS ID。PPS包括PPS ID及SPS ID。每一圖塊標頭包括PPS ID。使用ID,可識別針對給定圖塊之作用中參數集。
PPS包括適用於給定圖像中之所有圖塊的資訊。因此,圖像中之所有圖塊參考同一PPS。不同圖像中之圖塊亦可參考同一PPS。SPS包括適用於同一經寫碼視訊序列(CVS)或位元串流中之所有圖像的資訊。如先前所描述,經寫碼視訊序列為一系列存取單元(AU),其始於在基礎層中且具有某些性質(如上文所描述)之隨機存取點圖像(例如,瞬時解碼參考(IDR)圖像或斷鏈存取(BLA)圖像或其他適當的隨機存取點圖像),直至且不包括具有在基礎層中且具有某些性質之隨機存取點圖像的下一AU (或位元串流之末端)。SPS中之資訊可能不在經寫碼視訊序列內在圖像間變化。經寫碼視訊序列中之圖像可使用同一SPS。VPS包括適用於經寫碼視訊序列或位元串流內之所有層的資訊。VPS包括具有適用於全部經寫碼視訊序列之語法元素的語法結構。在一些實施例中,可與經編碼位元串流一起頻帶內傳輸VPS、SPS或PPS。在一些實施例中,可在與含有經寫碼視訊資料之NAL單元分開的傳輸中帶外傳輸VPS、SPS或PPS。
視訊位元串流亦可包括補充增強資訊(SEI)訊息。舉例而言,SEI NAL單元可為視訊位元串流之部分。在一些情況下,SEI訊息可含有解碼程序未必需要的資訊。舉例而言,SEI訊息中之資訊對於解碼器解碼位元串流之視訊圖像可能並不重要,但解碼器可使用資訊以改善圖像之顯示或處理(例如,經解碼輸出)。SEI訊息中之資訊可為嵌入型後設資料。在一個說明性實例中,SEI訊息中之資訊可由解碼器側實體使用以改善內容之可見性。在一些情況下,某些應用標準可強制此類SEI訊息在位元串流中之存在以使得符合應用標準之所有器件可達成品質之改善(例如,用於圖框可相容平面立體3DTV視訊格式之圖框封裝SEI訊息的攜載,其中針對視訊之每一圖框攜載SEI訊息;恢復點SEI訊息之處置;拉移式掃描矩形SEI訊息在DVB中之使用;外加許多其他實例)。
編碼器件104之輸出110可經由通信鏈路120將組成經編碼視訊位元串流資料之NAL單元發送至接收器件之解碼器件112。解碼器件112之輸入114可接收NAL單元。通信鏈路120可包括由無線網路、有線網路或有線網路與無線網路之組合提供的通道。無線網路可包括任何無線介面或無線介面之組合,且可包括任何合適的無線網路(例如,網際網路或其他廣域網路、基於封包之網路、WiFiTM 、射頻(RF)、UWB、WiFi-Direct、蜂巢式、長期演進(LTE)、WiMaxTM 或其類似者)。有線網路可包括任何有線介面(例如,光纖、乙太網路、電力線乙太網路、經由同軸纜線之乙太網路、數位信號線(DSL)或其類似者)。可使用各種設備來實施有線及/或無線網路,該等設備諸如基地台、路由器、存取點、橋接器、閘道器、交換器或其類似者。可根據通信標準(諸如,無線通信協定)調變經編碼視訊位元串流資料,且將其傳輸至接收器件。
在一些實例中,編碼器件104可將經編碼視訊位元串流資料儲存於儲存器108中。輸出110可自編碼器引擎106或自儲存器108擷取經編碼視訊位元串流資料。儲存器108可包括多種分散式或本端存取之資料儲存媒體中之任一者。舉例而言,儲存器108可包括硬碟機、儲存光碟、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。儲存器108亦可包括用於儲存參考圖像以供用於框間預測的經解碼圖像緩衝器(DPB)。在另一實例中,儲存器108可對應於檔案伺服器或可儲存由源器件產生之經編碼視訊的另一中間儲存器件。在此情況下,包括解碼器件112之接收器件可經由串流傳輸或下載自儲存器件存取經儲存視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至接收器件的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)器件或本端磁碟機。接收器件可經由任何標準資料連接(包括網際網路連接)存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者的組合。自儲存器108的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
解碼器件112之輸入114接收經編碼視訊位元串流資料,且可將視訊位元串流資料提供至解碼器引擎116,或提供至儲存器118以供稍後由解碼器引擎116使用。舉例而言,儲存器118可包括用於儲存參考圖像以供用於框間預測的DPB。包括解碼器件112之接收器件可經由儲存器108接收待解碼的經編碼視訊資料。可根據通信標準(諸如,無線通信協定)調變該經編碼視訊資料,且將其傳輸至接收器件。用於傳輸經編碼視訊資料的通信媒體可包括任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可能適用於促進自源器件至接收器件之通信的任何其他設備。
解碼器引擎116可藉由熵解碼(例如,使用熵解碼器)及提取組成經編碼視訊資料之一或多個經寫碼視訊序列的元素而解碼經編碼視訊位元串流資料。解碼器引擎116可接著重新按比例調整經編碼視訊位元串流資料且對經編碼視訊位元串流資料執行反變換。殘餘資料接著傳遞至解碼器引擎116之預測級。解碼器引擎116接著預測像素之區塊(例如PU)。在一些實例中,預測被添加至反變換之輸出(殘餘資料)。
解碼器件112可將經解碼視訊輸出至視訊目的地器件122,視訊目的地器件可包括用於將經解碼視訊資料顯示給內容之消費者的顯示器或其他輸出器件。在一些態樣中,視訊目的地器件122可為包括解碼器件112的接收器件之部分。在一些態樣中,視訊目的地器件122可為不同於接收器件的單獨器件之部分。
在一些實施例中,視訊編碼器件104及/或視訊解碼器件112可分別與音訊編碼器件及音訊解碼器件整合。視訊編碼器件104及/或視訊解碼器件112亦可包括實施上文所描述之寫碼技術所必要的其他硬體或軟體,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器件104及視訊解碼器件112可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。下文參看圖10描述編器件104之具體細節的實例。下文參看圖11描述解碼器件112之具體細節的實例。
圖1中展示之實例系統為可在本文中使用的一個說明性實例。用於使用本文中所描述之技術處理視訊資料的技術可藉由任何數位視訊編碼及/或解碼器件來執行。儘管通常本發明之技術由視訊編碼器件或視訊解碼器件來執行,但該等技術亦可由組合式視訊編碼器-解碼器(通常被稱作「編解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及接收器件僅為其中源器件產生經寫碼視訊資料以供傳輸至接收器件的此類寫碼器件之實例。在一些實例中,源器件及接收器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
對HEVC標準之擴展包括多視圖視訊寫碼擴展(被稱作MV-HEVC)及可調式視訊寫碼擴展(被稱作SHVC)。MV-HEVC及SHVC擴展共用分層寫碼之概念,其中不同層包括於經編碼視訊位元串流中。經寫碼視訊序列中之每一層係由唯一層識別符(ID)定址。層ID可存在於NAL單元之標頭中以識別NAL單元所相關聯之層。在MV-HEVC中,不同層可表示視訊位元串流中之同一場景的不同視圖。在SHVC中,提供以不同空間解析度(或圖像解析度)或不同重建構保真度表示視訊位元串流的不同可調式層。可調式層可包括基礎層(具有層ID=0)及一或多個增強層(具有層ID=1、2、…n)。基礎層可符合HEVC之第一版本的設定檔,且表示位元串流中之最低可用層。與基礎層相比,增強層具有增加之空間解析度、時間解析度或圖框速率及/或重建構保真度(或品質)。增強層經階層式組織,且可(或可不)取決於較低層。在一些實例中,可使用單一標準編解碼器來寫碼不同層(例如,使用HEVC、SHVC或其他寫碼標準編碼所有層)。在一些實例中,可使用多標準編碼解碼器來寫碼不同層。舉例而言,可使用AVC來寫碼基礎層,而可使用對HEVC標準之SHVC及/或MV-HEVC擴展來寫碼一或多個增強層。
一般而言,層包括一組VCL NAL單元及對應的一組非VCL NAL單元。NAL單元被指派特定層ID值。在層可取決於較低層的意義上,層可為階層式的。層集合指表示於位元串流內之獨立的層之集合,意謂在解碼程序中層集合內之層可取決於層集合中之其他層,但並不取決於任何其他層來進行解碼。因此,層集合中之層可形成可表示視訊內容之獨立位元串流。可藉由子位元串流提取程序之操作自另一位元串流獲得層集合中之層的集合。層集合可對應於待在解碼器希望根據某些參數操作時被解碼之層集合。
圖像次序計數(POC)可用於視訊寫碼標準以識別圖像之顯示次序。儘管存在一個經寫碼視訊序列內之兩個圖像可具有相同POC值的情況,但經寫碼視訊序列內通常不發生此類情況。當位元串流中存在多個經寫碼視訊序列時,就解碼次序而言,具有同一POC值之圖像可更接近於彼此。圖像之POC值可用於參考圖像清單建構、如HEVC中之參考圖像集合之導出及運動向量按比例調整。
如先前所描述,各種預測模式可用於視訊寫碼程序中,包括框內預測及框間預測。如先前所解釋,視訊寫碼器可根據樹型結構(諸如四分樹二進位樹型(QTBT)結構或多型樹型(MTT)結構)劃分寫碼區塊(諸如CTU)以產生兩個或更多個子區塊,其中該兩個或更多個子區塊可經獨立地寫碼。舉例而言,由使用樹型結構劃分的寫碼區塊產生的不同子區塊可運用平面模式、DC模式等來寫碼,而不繼承不同子區塊之共同預測模式要求。
在一些實例中,內子劃分或內子劃分(ISP)模式可用作用於將寫碼區塊分裂成兩個或更多個劃分的寫碼工具。在一些情況下除了規則或樹型劃分結構外還可使用ISP模式。舉例而言,可使用QTBT結構或MTT結構將圖像分裂成寫碼單元或區塊,且可使用ISP進一步分裂寫碼單元或寫碼區塊。在ISP模式中,由分裂寫碼區塊產生的兩個或更多個劃分共用同一框內預測模式。舉例而言,寫碼區塊之兩個或更多個劃分可經獨立地(例如,按順序次序)編碼或解碼但相同框內預測模式用於兩個或更多個劃分中之每一者。舉例而言,在一些實施中,若ISP模式經啟用或經選擇以應用於寫碼區塊,則寫碼區塊可經劃分且相同框內預測模式可應用於劃分中之每一者。
在各個實例中,ISP模式可用以取決於寫碼區塊之大小或尺寸將諸如明度經框內預測區塊之寫碼區塊分成兩個或四個ISP劃分(或ISP子區塊或子區塊)。在一些實例中,分割可基於寫碼區塊之尺寸而為垂直或水平的。寫碼區塊經分裂成的ISP子區塊之數目可基於將存在於ISP子區塊中之樣本的數目。舉例而言,在一些實施中,可需要ISP子區塊具有最小數目個樣本,諸如16個樣本或其他數目個樣本。因此,若將區塊分成四個ISP子區塊可導致四個子區塊中之每一者具有至少最小數目個樣本(例如,16個樣本),則ISP模式可決定將區塊分裂成四個ISP子區塊。然而,若將區塊劃分成四個ISP子區塊可不導致四個子區塊中之每一者具有至少最小數目個樣本(例如,16個樣本),則在兩個子區塊中之每一者可具有至少最小數目個樣本(例如,16個樣本)情況下ISP模式可將區塊分裂成兩個ISP子區塊。ISP子區塊下文中將稱作子區塊,其如上文所提及可不同於可使用規則或樹型劃分結構(例如,使用QTBT結構或MTT結構)產生的子區塊。
圖2為說明將寫碼區塊分裂成子區塊之實例的方塊圖。當前區塊202可按ISP模式分裂成數個子區塊。由使用ISP分裂區塊產生的子區塊亦稱作ISP子區塊或ISP區塊。當前區塊202經展示為具有寬度W及高度H之尺寸。在一實例中,當前區塊202可具有對應於H×W之數目個樣本。舉例而言,尺寸4×8之當前區塊202可具有32個樣本。若使用ISP模式將當前區塊202分裂成四個子區塊,則四個所得子區塊中之每一者將具有32個樣本之四分之一,亦即每一子區塊8個樣本。在如上文所提及樣本之最小數目為16的情況下,此分割將違反每一子區塊具有至少16個樣本之要求。因此,對於上文提及之H及W的值,當前區塊202分裂成兩個子區塊,各自具有32個樣本之二分之一,亦即16個樣本,從而滿足最小樣本要求。應注意出於類似原因,尺寸8×4之區塊亦可經分成兩個子區塊以滿足每一子區塊中16個樣本的最小樣本要求。
如圖2中所展示,當前區塊202之水平ISP分裂可導致兩個ISP區塊204a及204b,每一者具有與當前區塊202之寬度相同的寬度(W)及當前區塊202之一半高度(H/2)。類似地,當前區塊202之垂直ISP分裂可導致兩個ISP區塊206a及206b,每一者具有與當前區塊202之高度相同的高度(H)及當前區塊202之一半寬度(W/2)。
圖3為說明將寫碼區塊分裂成四個子區塊之實例的方塊圖。當前區塊302可按ISP模式分裂成四個子區塊或ISP區塊。當前區塊302經展示為具有寬度W及高度H之尺寸。將當前區塊302分裂成四個子區塊之實例可應用於當分裂成四個子區塊時在所得子區塊中之每一者中可產生至少16個樣本的當前區塊302之尺寸。舉例而言,在樣本之最小數目對於每一子區塊為16的情況下,當前區塊302可具有不同於(例如,大於)上文關於圖2提及之4×8或8×4的尺寸。當前區塊302之4×4的尺寸(其在一些實施中將為用於寫碼區塊的最小可允許大小)亦可自使用ISP模式分裂成子區塊中排除。
在一實例中,當前區塊302之水平ISP分裂可導致四個ISP區塊304a、304b、304c及304d,每一者具有與當前區塊202之寬度相同的寬度(W)及當前區塊202之四分之一高度(H/4)。類似地,當前區塊302之垂直ISP分裂可導致四個ISP區塊306a、306b、306c及306d,每一者具有與當前區塊202之高度相同的高度(H)及當前區塊302之四分之一寬度(W/4)。
在ISP模式之實例實施中,在已針對一區塊判定劃分之數目(例如,二或四)及指示劃分之類型(例如,水平或垂直分裂)的ISP分裂類型後,當前區塊或寫碼區塊可相應地被分裂且可按次序處理所得ISP子區塊。舉例而言,可順序地處理由將ISP模式應用於寫碼區塊產生的兩個或更多個子區塊。處理子區塊可包括使用框內預測預測每一子區塊,應用變換寫碼,及接著如先前所論述重建構子區塊。
在一些實施中,各種語法元素可用於寫碼及發信ISP模式。使用ISP模式寫碼單元之語法表經展示於表2中並在下文進一步論述。根據實例實施,用於寫碼區塊之一個位元(在一些情況下,被稱作intra_subpartitions_mode_flag[x0][y0])可用以發信寫碼區塊是否經分裂成ISP區塊。第二位元(在一些情況下,被稱作intra_subpartitions_split_flag[x0][y0])可用以指示將對於寫碼區塊執行的ISP分裂類型,例如,分裂類型為水平抑或垂直。
在一些實例中,處理次序之不同類別可用於處理藉由使用ISP模式分裂寫碼區塊獲得的ISP區塊。處理次序可係基於用於寫碼區塊之框內預測模式及分裂類型。舉例而言,處理次序之兩個不同類別(被稱作正常次序及反向次序)可用於處理自分裂寫碼區塊獲得的兩個或更多個ISP區塊。
在正常次序中,待處理之第一子劃分為含有寫碼區塊之左上方樣本且接著繼續向下(在水平分裂之情況下)或向右(在垂直分裂之情況下)的子劃分。舉例而言,在圖2中,用於水平分裂之正常處理次序可包括首先處理ISP區塊204a及接著繼續向下進行以處理ISP區塊204b。類似地,在圖2中,用於垂直分裂之正常處理次序可包括首先處理ISP區塊206a及接著繼續向右進行以處理ISP區塊206b。在圖3中,用於水平分裂之正常處理次序可包括首先處理ISP區塊304a及接著繼續向下進行以按順序次序處理ISP區塊304b、304c及304d。類似地,在圖3中,用於垂直分裂之正常處理次序可包括首先處理ISP區塊306a及接著繼續向右進行以按順序次序處理ISP區塊306b、306c及306d。
反向處理次序可包括以含有寫碼區塊之左下方樣本的子劃分開始及繼續向上(在水平分裂之情況下)或以含有寫碼區塊之右上方樣本的子劃分開始及繼續向左(在垂直分裂之情況下)。舉例而言,在圖2中,用於水平分裂之反向處理次序可包括首先處理ISP區塊204b及接著繼續向上進行以處理ISP區塊204a。類似地,在圖2中,用於垂直分裂的反向處理次序可包括首先處理ISP區塊206b及接著繼續向左進行以處理ISP區塊206a。在圖3中,用於水平分裂之反向處理次序可包括首先處理ISP區塊304d及接著繼續向上進行以按順序次序處理ISP區塊304c、304b及304a。類似地,在圖3中,用於垂直分裂之反向處理次序可包括首先處理ISP區塊306d及接著繼續向左進行以按順序次序處理ISP區塊306c、306b及306a。
僅僅使用正常處理次序的ISP之變體係在JVET工作草案4 (WD4,可在http://phenix.it-sudparis.eu/jvet/doc_end_user/ documents/13_Marrakech/wg11/JVET-M1001-v1.zip處獲得)中使用,該工作草案全部內容以引用的方式且出於所有目的併入本文中。應注意術語子區塊(如關於ISP使用)、子劃分(如關於ISP使用)及ISP區塊在本文中可互換地使用,且此等術語之全部指代藉由使用ISP模式劃分寫碼區塊獲得的區塊。
JVET WD4中與ISP模式相關聯的語法及語義之實例展示於以下表2中。使用斜體本文強調的語法對應於位於圖像之(x,y)座標[x0][y0]處的寫碼單元之ISP模式。藉由編碼器選擇的用於預測寫碼單元的參考線候選者之參考線索引係藉由語法元素intra_luma_ref_idx指示。語法元素cbWidth及cbHeight對應於寫碼單元之寬度及高度尺寸(例如,如圖2及圖3中針對各別當前區塊202及203所展示,寬度W及高度H)。變數MaxTbSizeY指代最大變換區塊大小並用作cbWidth及cbHeight尺寸之大小臨限值。如先前所提及,intra_subpartitions_mode_flag[x0][y0]為用以發信是否使用ISP模式將寫碼單元分裂成子區塊(或ISP區塊)的語法元素。語法元素intra_subpartitions_split_flag[x0][y0]用以指示ISP分裂類型(將執行的分裂之類型),例如係使用水平分裂抑或垂直分裂來分裂寫碼區塊。
coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { 描述符
  
                } else {   
                        if( treeType = = SINGLE_TREE  | |  treeType = = DUAL_TREE_LUMA ) {   
                                if( ( y0 % CtbSizeY )  >  0 )   
                                       intra_luma_ref_idx [ x0 ][ y0 ] ae(v)
if (intra_luma_ref_idx[ x0 ][ y0 ] = = 0  && ( cbWidth <= MaxTbSizeY  | | cbHeight <= MaxTbSizeY )  && ( cbWidth * cbHeight > MinTbSizeY * MinTbSizeY ))   
intra_subpartitions_mode_flag [ x0 ][ y0 ] ae(v)
if( intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 1  && cbWidth <= MaxTbSizeY  &&  cbHeight <= MaxTbSizeY )
intra_subpartitions_split_flag [ x0 ][ y0 ] ae(v)
                                if( intra_luma_ref_idx[ x0 ][ y0 ] = = 0  &&                                          intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 )   
                                       intra_luma_mpm_flag [ x0 ][ y0 ] ae(v)
                                if( intra_luma_mpm_flag[ x0 ][ y0 ] )   
                                       intra_luma_mpm_idx [ x0 ][ y0 ] ae(v)
  
表2-寫碼單元之語法表
如自表2所見,當至少滿足條件(cbWidth<=MaxTbSizeY||cbHeight<=MaxTbSizeY)時(亦即,當cbWidth或cbHeight(或兩者)小於MaxTbSizeY時)發信intra_subpartitions_mode_flag[x0][y0]。另一方面,當至少滿足條件cbWidth<=MaxTbSizeY及cbHeight<=MaxTbSizeY時(亦即,cbWidth及cbHeight兩者皆小於MaxTbSizeY)發信intra_subpartitions_split_flag[x0][y0]。因此,在使用表2中指定之語義的實施中,當cbWidth或cbHeight中的一者而非兩者大於MaxTbSizeY時,僅僅發信intra_subpartitions_mode_flag[x0][y0],但不發信intra_subpartitions_split_flag[x0][y0]。如下文將進一步解釋,當不發信intra_subpartitions_mode_flag[x0][y0]時,intra_subpartitions_mode_flag[x0][y0]之值經推斷為等於0;且類似地,當不發信intra_subpartitions_split_flag[x0][y0]時,intra_subpartitions_split_flag[x0][y0]之值經推斷為等於0。
除了intra_subpartitions_mode_flag[x0][y0]及intra_subpartitions_split_flag[x0][y0]之外,定義變數IntraSubPartitionsSplitType,其指定用於當前明度寫碼區塊的分裂之類型。以下表3說明IntraSubPartitionsSplitType之值及對應名稱關聯。
IntraSubPartitionsSplitType IntraSubPartitionsSplitType之名稱
0 ISP_NO_SPLIT
1 ISP_HOR_SPLIT
2 ISP_VER_SPLIT
表3-IntraSubPartitionsSplitType之名稱關聯
如自表3所見,IntraSubPartitionsSplitType為用以指示是否不存在ISP分裂(IntraSubPartitionsSplitType=0)、是否將應用水平ISP分裂(IntraSubPartitionsSplitType=1)或是否將應用垂直ISP分裂(IntraSubPartitionsSplitType=2)的變數。當不存在ISP分裂(IntraSubPartitionsSplitType=0)時,規則變換樹型剖析結構用於例如根據QTBT、MTT等之劃分區塊。對於水平或垂直ISP分裂之情況,變數NumIntraSubPartitions用以指示子區塊或ISP區塊的數目(例如,如圖2中之2個ISP區塊或如圖3中之4個ISP區塊)。針對對應於寫碼單元的變換單元順次地剖析對應數目個子區塊。以下表4提供使用ISP模式的變換樹之語法。
transform_tree( x0, y0, tbWidth, tbHeight , treeType) { 描述符
InferTuCbfLuma = 1   
if( IntraSubPartSplitType = = NO_ISP_SPLIT ) {   
                if( tbWidth  >  MaxTbSizeY  | |  tbHeight > MaxTbSizeY ) {   
                        trafoWidth  =  ( tbWidth  >  MaxTbSizeY ) ? (tbWidth / 2) : tbWidth   
                        trafoHeight  =  ( tbHeight  >  MaxTbSizeY ) ? (tbHeight / 2) : tbHeight   
                        transform_tree( x0, y0, trafoWidth,  trafoHeight )   
                        if( tbWidth  >  MaxTbSizeY )   
                                transform_tree( x0 + trafoWidth, y0, trafoWidth, trafoHeight, treeType )   
                        if( tbHeight  >  MaxTbSizeY )   
                                transform_tree( x0, y0 + trafoHeight, trafoWidth, trafoHeight, treeType )   
                        if( tbWidth  >  MaxTbSizeY  &&  tbHeight  >  MaxTbSizeY )   
                                transform_tree( x0 + trafoWidth, y0 + trafoHeight, trafoWidth, trafoHeight, treeType )   
                } else {   
                        transform_unit( x0, y0, tbWidth, tbHeight, treeType, 0 )   
                }   
} else if( IntraSubPartitionsSplitType = = ISP_HOR_SPLIT ) {   
trafoHeight = tbHeight / NumIntraSubPartitions   
for( partIdx = 0; partIdx < NumIntraSubPartitions; partIdx++ )   
transform_unit( x0, y0 + trafoHeight * partIdx, tbWidth, trafoHeight, treeType, partIdx )   
} else if( IntraSubPartitionsSplitType = = ISP_VER_SPLIT ) {   
trafoWidth = tbWidth / NumIntraSubPartitions   
for( partIdx = 0; partIdx < NumIntraSubPartitions; partIdx++ )   
transform_unit( x0 + trafoWidth * partIdx, y0, trafoWidth, tbHeight, treeType, partIdx )   
}   
}   
表4-變換樹之語法表
基於語法元素及與ISP模式相關聯之變數的上述描述,以下語義可用於將ISP應用於寫碼單元: 等於1的intra _ subpartitions _ mode _ flag [ x0 ][ y0 ] 指定當前框內寫碼單元經劃分成NumIntraSubPartitions[x0][y0]矩形變換區塊子劃分。等於0的intra_subpartitions_mode_flag[x0][y0]指定當前框內寫碼單元未經劃分成矩形變換區塊子劃分。 當intra_subpartitions_mode_flag[x0][y0]不存在時,推斷其為等於0。intra _ subpartitions _ split _ flag [ x0 ][ y0 ] 指定內子劃分分裂類型為水平抑或垂直。當intra_subpartitions_split_flag[x0][y0]不存在時,推斷其為等於0。 變數IntraSubPartitionsSplitType如表3中所說明指定用於當前明度寫碼區塊的分裂類型。如下導出IntraSubPartitionsSplitType: –  若intra_subpartitions_mode_flag[x0][y0]等於0,則IntraSubPartitionsSplitType經設定為等於0。 –  否則,IntraSubPartitionsSplitType經設定為等於1+intra_subpartitions_split_flag[x0][y0]。
如自以上語義所見,等於1的intra_subpartitions_mode_flag[x0][y0]之值可用以指定寫碼單元經劃分成藉由變數NumIntraSubPartitions[x0][y0]指示的數個子區塊,其中此等子區塊為諸如圖2及圖3中展示的ISP區塊之矩形變換區塊子劃分。等於0之intra_subpartitions_mode_flag[x0][y0]的值可用以指定寫碼單元未使用ISP模式劃分成矩形變換區塊子劃分。在一些實施中,當不存在用於寫碼單元之intra_subpartitions_mode_flag[x0][y0]時,用於寫碼單元之intra_subpartitions_mode_flag[x0][y0]的值經推斷為等於0。
如先前所描述,intra_subpartitions_split_flag[x0][y0]可用以指定ISP分裂類型為水平或垂直。在一些實施中,當不存在用於寫碼單元之intra_subpartitions_split_flag[x0][y0]時,intra_subpartitions_split_flag[x0][y0]的值經推斷為等於0。
變數IntraSubPartitionsSplitType指定用於寫碼區塊之分裂類型,如參考以上表3所描述。此變數IntraSubPartitionsSplitType的值可經導出如下:若intra_subpartitions_mode_flag[x0][y0]之值等於0,則IntraSubPartitionsSplitType經設定為等於0;否則,IntraSubPartitionsSplitType的值經設定為等於1+intra_subpartitions_split_flag[x0][y0]。
在一些實施中,用以指定寫碼單元經劃分成的子區塊之數目的變數NumIntraSubPartitions可導出如下:若變數IntraSubPartitionsSplitType具有等於0 (指示ISP_NO_SPLIT)之值,則變數NumIntraSubPartitions之值經設定為等於1 (其為指示不存在應用於寫碼單元之ISP的預設值)。否則,若變數IntraSubPartitionsSplitType具有等於1 (水平分裂ISP_HOR_SPLIT)或2 (垂直分裂ISP_VER_SPLIT)之值,則變數NumIntraSubPartitions的值如參看圖2及圖3所解釋基於寫碼單元或當前區塊之尺寸而設定為等於2或4。舉例而言,若當前區塊202為4×8區塊(cbWidth等於4且cbHeight等於8)或8×4區塊(cbWidth等於8且cbHeight等於4),則NumIntraSubPartitions經設定為2,以基於可藉由變數IntraSubPartitionsSplitType指示的水平或垂直分裂實施將當前區塊202分裂成每一者具有最小數目16個樣本的兩個ISP區塊。另一方面,若寫碼單元之尺寸不同於(大於)8×4、4×8及4×4區塊大小,則NumIntraSubPartitions經設定為等於4 (例如,如參考基於可藉由變數IntraSubPartitionsSplitType指示的水平或垂直分裂將圖3之當前區塊302分裂成四個ISP區塊所論述)。
在基於如參考表2至表4描述的上文所提及之語義及語法實施ISP模式中存在若干問題。在一個實例中,(例如,基於VVC),當明度寫碼區塊(CB)之寬度(cbWidth)或高度(cbHeight)大於最大變換區塊大小(表示為MaxTbSizeY,其中Y指示明度樣本)時,如上文參考表4之變換樹語法結構所論述,寫碼區塊分裂成兩個或更多個變換單元。應注意,一些實施可包括用於MaxTbSizeY之固定值(例如,JVET WD4指定用於MaxTbSizeY之為64的固定值)。有可能一些實施或將來標準允許MaxTbSizeY的值為另一固定值(例如,為32之值或其他值)或為變數。在一些實例中,MaxTbSizeY的值可在位元串流中發信,或可自位元串流中之其他語法元素導出。因此,在判定上文所提及之語法元素的發信時的cbWidth及cbHeight與MaxTbSizeY之比較可係基於MaxTbSizeY之固定值或變數值。
如先前所提及,當寫碼區塊寬度(cbWidth)或寫碼區塊高度(cbHeight)小於或等於最大變換區塊大小(MaxTbSizeY)時或在cbWidth及cbHeight兩者皆小於或等於MaxTbSizeY的情況下,用於ISP模式之模式旗標(intra_subpartitions_mode_flag)經發信用於寫碼區塊。因此,在cbWidth或cbHeight中之一者大於MaxTbSizeY且另一者小於MaxTbSizeY的實例中,intra_subpartitions_mode_flag經發信(例如,具有指示針對寫碼區塊啟用ISP模式的一值,諸如具有為1之值)。在此等實施(返回參看表2中所展示的寫碼單元的語法)中,由於cbWidth或cbHeight中之一者大於MaxTbSizeY,因此分裂旗標之語法元素(intra_subpartitions_split_flag)未經發信。
當intra_subpartitions_split_flag未經發信用於寫碼區塊時,intra_subpartitions_split_flag根據現有實施經推斷為等於0。自上文所提供之語義,藉由變數IntraSubPartitionsSplitType之值提供寫碼區塊之分裂類型,該變數經設定為等於1+intra_subpartitions_split_flag。因此,當intra_subpartitions_split_flag經推斷為0時,變數IntraSubPartitionsSplitType經導出為等於1。自展示IntraSubPartitionsSplitType之名稱關聯的表3,為值1之IntraSubPartitionsSplitType對應於水平分裂(ISP_HOR_SPLIT)。如先前所提及,等於1 (對應於水平分裂)之IntraSubPartitionsSplitType的導出係針對在cbWidth或cbHeight中之一者大於MaxTbSizeY且另一者小於MaxTbSizeY時的情況。值得注意的是,不管cbWidth大於MaxTbSizeY(且cbHeight小於MaxTbSizeY)或不管cbHeight大於MaxTbSizeY(且cbWidth小於MaxTbSizeY),分裂類型為水平分裂之此導出係相同的。無關於寫碼區塊之兩個尺寸(cbWidth或cbHeight)中之哪一者大於MaxTbSizeY而導出為等於1的IntraSubPartitionsSplitType之值可導致非所要的結果。
舉例而言,當intra_subpartitions_mode_flag等於1且寫碼區塊之cbWidth或cbHeight任一者大於MaxTbSizeY時,分裂類型始終經導出為水平可能對於cbWidth或cbHeight之一些值而言並非係分裂類型之最佳選擇。為了說明,考慮其中MaxTbSizeY等於32、cbWidth等於64且cbHeight等於32的實例。在此實例中,寫碼區塊之形狀將類似於圖2中展示的當前區塊202之形狀,其中寬度W大於高度H。在此情況下,ISP垂直分裂將為可產生子區塊(類似於ISP區塊206a及206b之形狀)的最佳選擇,該等子區塊之個別寬度及高度各自小於或等於MaxTbSizeY。舉例而言,等於64之cbWidth及等於32之cbHeight的寫碼區塊成兩個子劃分之ISP垂直分裂將產生兩個子區塊,其中之每一者寬度等於32且高度等於32,其中寬度及高度兩者均等於為32之MaxTbSizeY。然而,將在如上所解釋之當前實施中基於經推斷為0值之intra_subpartitions_split_flag及相應地經導出為等於1的IntraSubPartitionsSplitType而推斷ISP水平分裂。在等於64之cbWidth及等於32之cbHeight的寫碼區塊成兩個子劃分之實例中的ISP水平分裂將產生兩個子區塊,其中之每一者寬度等於64且高度等於16 (類似於ISP區塊204a及204b之形狀),其中兩個子區塊之高度將違反大於為32之MaxTbSizeY的要求。因此,需要無關於寫碼區塊之cbWidth及cbHeight之特定值可克服與推斷水平分裂決策相關聯之以上非所要結果的解決方案。
在ISP模式之現有實施中的另一問題可對應於藉由分裂寫碼區塊獲得的子區塊之一或多個尺寸。考慮解釋與大於最大大小臨限值的子區塊之寬度相關聯之問題的另一說明性實例。在此實例中,對於寫碼區塊假定以下內容:MaxTbSizeY等於16,cbWidth等於32且cbHeight等於64。如先前所描述,值之此組合將導致cbWidth及cbHeight兩者大於MaxTbSizeY,其將導致啟用用於分裂寫碼區塊之ISP模式的決策。由於cbWidth及cbHeight中之至少一者(實際上在此情況下cbWidth及cbHeight兩者)大於MaxTbSizeY,因此intra_subpartitions_split_flag未被發信且因此在當前實施中經推斷為等於0,從而導致IntraSubPartitionsSplitType經導出為1,對應於寫碼區塊之ISP水平分裂。在此情況下子劃分的數目可為4,在給定如前解釋之區塊尺寸情況下,因此NumIntraSubPartitions經導出為4。自水平分裂獲得的四個所得子區塊(類似於用於藉由使用水平分裂分裂當前區塊302獲得四個ISP區塊304a至304d的圖3之實例)將各具有為32之寬度及為16之高度。因此,為32的每一子區塊之寬度將意謂子區塊中之每一者具有大於為16之MaxTbSizeY的寬度。如先前解釋,具有大於最大變換區塊大小MaxTbSizeY之寬度的子區塊係不需要的。相應地,亦存在對其中藉由將ISP分裂應用於寫碼區塊獲得的子區塊之寬度及高度尺寸不超過最大變換區塊大小MaxTbSizeY之大小臨限值的ISP解決方案之需求。
與現有實施相關聯的又一個問題係關於在利用虛擬管線資料單元(VPDU)之編碼器或解碼器設計中ISP模式的使用。VPDU為圖像或視訊圖框中之非重疊單元。舉例而言,VPDU可為圖像中之非重疊M×M-明度(L)/N×N-色度(C)單元。在硬體解碼程序之一些實例中,連續VPDU可藉由多個處理/解碼管線級平行處理(例如,不同解碼管線級同時處理不同VPDU)。為支援平行處理,每一VPDU可包括可獨立處理的寫碼單元。舉例而言,諸如重建構、變換及預測之處理級可在使用VPDU處理寫碼單元的不同管線級中執行。在一些情況下,VPDU大小可大致與一些管線中之緩衝器大小成比例。舉例而言,VPDU大小可經設定成具有變換區塊(TB)大小之大小。在一些實例中,VPDU之處理級(諸如變換或反變換)的僅僅一子集可經獨立處理。
在VVC中,用於VPDU之設計選擇包括64×64明度樣本的大小,其中最大變換區塊大小MaxTbSizeY可為64個樣本。當使用劃分方案時,一些實施可包括不允許劃分邊界以穿過VPDU邊界以便支援上文所提及之獨立處理能力的一或多個約束。在VPDU之大小各自為64×64樣本的一個說明性實例中,VPDU可實施於使用可處置64×64個樣本單元之管線的硬體中。在此類實例中,一或多個約束可防止大於64×64個樣本的寫碼單元之劃分。此約束可確保僅僅可在VPDU中容納而未被劃分的寫碼區塊被允許使用VPDU來處理。JVET-L1002包括關於在使用VPDU時劃分寫碼單元的此等及其他約束之實例。
運用ISP模式之當前實施,有可能具有其大小超過64×64邊界的寫碼單元。舉例而言,在VVC中支援大小為64×128及128×64之一些寫碼單元。在一些情況下,ISP模式可經啟用以指示用於大於64×64邊界之此類寫碼單元的ISP分裂。若ISP分裂應用於64×128或128×64之此類寫碼單元例如以產生小於64×64邊界的子區塊,則此類子區塊可容納於VPDU內以用於處理。相同寫碼單元之不同子區塊可如上文所論述不支援不同VPDU中之獨立處理。因此,在單獨VPDU中處理不同子區塊(藉由分裂同一寫碼單元獲得)並非所需要的且可違反對於越過VPDU邊界之寫碼單元的限制。由於當前實施可允許大於64×64之大小的寫碼單元待運用ISP模式寫碼,因此需要當啟用ISP模式時不違反VPDU大小約束的解決方案。
本文中描述用於改善視訊寫碼的系統、方法及電腦可讀媒體。舉例而言,本文中所描述的系統、方法及電腦可讀媒體改善框內子區塊劃分(ISP)模式之設計及使用並滿足現有實施中之上述需要。本文中所描述的各種特徵可單獨或以任何合適組合方式使用。如前所提及,術語框內子區塊劃分(ISP)、子劃分(如關於ISP模式所使用)、子區塊框內預測(如關於ISP模式所使用)及其他類似術語可在本文中互換使用。
在實施ISP模式之一些實例中,可以確保內子劃分分裂旗標之最佳值經判定用於寫碼區塊的方式提供用於寫碼區塊之內子劃分分裂旗標(在本文中亦被稱作子劃分分裂旗標)之語義及/或語法。內子劃分分裂旗標之一個說明性實例為上文提及之intra_subpartitions_split_flag。舉例而言,在cbWidth或cbHeight中之一者大於MaxTbSizeY (在本文中亦被稱作「大小臨限值」)的上述情形中,即使intra_subpartitions_split_flag可能不存在,intra_subpartitions_split_flag的值仍被推斷為可導致分裂類型變數IntraSubPartitionsSplitType之最佳導出的值。在一些實例中,取決於cbWidth是否大於MaxTbSizeY或cbHeight是否大於MaxTbSizeY,intra_subpartitions_split_flag的值經推斷使得使用intra_subpartitions_split_flag之推斷值導出的IntraSubPartitionsSplitType分別指示ISP垂直分裂或ISP水平分裂。下文提供展示VVC之JVET WD4的現有語法及/或語義之變化以獲得intra_subpartitions_split_flag的上文所提及之推斷的說明性實例。
在一些實例中,用於ISP模式之劃分結構可經提供以確保藉由劃分寫碼區塊獲得的子區塊之尺寸不違反諸如MaxTbSizeY之大小臨限值。舉例而言,可提供一ISP模式,在該ISP模式中子區塊中之任一者的任何尺寸(寬度或高度)不超過MaxTbSizeY之值。在一個實例中,當子劃分分裂類型為水平或垂直時可實施類似於表4之transform_tree()語法結構的遞歸結構(在本文中亦被稱作「變換樹語法結構」)。在另一實例中,當運用ISP寫碼的寫碼區塊之cbWidth或cbHeight (或cbWidth及cbHeight兩者)大於MaxTbSizeY時,變數NumIntraSubPartitions (在本文中亦被稱作「子劃分數目」)的值經修改,使得子區塊之寬度或高度不超過MaxTbSizeY。在另一實例中,intra_subpartitions_mode_flag (在本文中稱作「子劃分模式旗標」)的語義或語法經提供以確保子區塊之尺寸(寬度或高度或兩者)不超過MaxTbSize。在另一實例中,當寫碼區塊之cbWidth或chHeight大於MaxTbSizeY時,寫碼區塊限於待運用ISP寫碼來寫碼。下文進一步描述展示VVC之JVET WD4的現有語法及/或語義之變化以按上述方式限制子區塊大小的說明性實例。
在啟用ISP模式的一些實例中,一或多個大小約束可經實施以用於可使用VPDU處理的寫碼單元。在一些實例中,一或多個大小約束防止針對越過VPDU邊界的寫碼單元啟用ISP模式。下文提供展示VVC之JVET WD4的額外現有語法及/或語義的說明性實例。
圖4為說明可使用本文中所描述之實例語法及/或語義運用ISP寫碼的寫碼區塊之實例的方塊圖。在一些實例中,關於啟用ISP模式的各種決策、在啟用ISP模式情況下待應用的分裂之類型(水平或垂直)、ISP子劃分之數目以及其他可至少部分地基於寫碼區塊之一或多個尺寸。寫碼區塊402展示為具有分別對應於寫碼區塊402之寬度及高度的尺寸cbWidth及cbHeight。寫碼區塊402可包括諸如圖像之CU或PU (或CB或PB)之寫碼區塊,其可使用ISP模式處理。在一些實例中,寫碼區塊402中之樣本(例如,明度樣本)的數目可與藉由cbWidth×cbHeight獲得的寫碼區塊402之大小成比例。在一些實例中,ISP模式可用於基於尺寸cbWidth及cbHeight與各別大小臨限值之關係分裂寫碼區塊402。
在一些實例中,用以根據變換樹型結構(或其他劃分結構)分裂寫碼區塊的變換區塊可為正方形形狀,其中變換區塊之最大高度及寬度係相同的,被稱作最大變換區塊大小MaxTbSizeY。在一些實例中,應用用於分裂寫碼區塊402的ISP模式可係基於相對於MaxTbSizeY的cbWidth及cbHeight尺寸。在一些實例中,藉由分裂寫碼區塊402 (例如類似於圖2及圖3中展示的ISP分裂)獲得的子區塊或ISP區塊之尺寸亦可藉由本文中針對確保自分裂寫碼區塊402獲得之子區塊亦不違反對應大小臨限值所描述之技術,基於MaxTbSizeY來限制。在可使用VPDU處理寫碼區塊402的一些實例中,對於寫碼區塊402之cbWidth及cbHeight尺寸的一或多個約束可相對於VPDU邊界(例如,基於VPDU之最大寬度及/或高度)實施。將在下文更詳細地論述此等及其他實例。
如先前所提及,可存在其中intra_subpartitions_split_flag可不經發信用於經指定用於使用ISP模式寫碼的寫碼區塊的情形。在一些實例中,若用於寫碼區塊402之內子劃分分裂旗標(例如,intra_subpartitions_split_flag)不存在,則用於寫碼區塊402之內子劃分分裂旗標(例如,intra_subpartitions_split_flag)的值可基於相對於大小臨限值(諸如最大變換區塊大小MaxTbSizeY)的cbWidth及/或cbHeight而推斷為第一值或第二值。在一些實例中,待應用於寫碼區塊402的分裂類型(垂直或水平)可基於第一值或第二值。
在一些實例中,用於寫碼區塊402之ISP模式旗標(例如,intra_subpartitions_mode_flag)可在cbWidth或cbHeight小於或等於MaxTbSizeY時或在cbWidth及cbHeight兩者小於或等於MaxTbSizeY情況下被發信。因此,在cbWidth或cbHeight中之一者大於MaxTbSizeY且另一者小於MaxTbSizeY的實例中,intra_subpartitions_mode_flag係以一值(例如,為1之值指示針對寫碼區塊啟用ISP模式或為0之值指示不針對寫碼區塊執行ISP模式)發信。在此等實施中,由於cbWidth或cbHeight中之一者大於MaxTbSizeY時,因此內子劃分分裂旗標intra_subpartitions_split_flag可不存在或可不被發信。
在一些實例中,當用於寫碼區塊402之ISP模式經啟用(例如,當intra_subpartitions_mode_flag被發信時)且內子劃分分裂旗標(例如,intra_subpartitions_split_flag)不存在時,接著若cbWidth大於MaxTbSizeY,則內子劃分分裂旗標(例如,intra_subpartitions_split_flag)可經推斷為等於用於寫碼區塊402之第一值(例如,為1之值)。在一些實例中,應用針對藉由等於1+intra_subpartitions_split_flag之IntraSubPartitionsSplitType(亦即IntraSubPartitionsSplitType等於2)獲得的分裂類型的公式可指示經推斷為等於1的intra_subpartitions_split_flag之值可導致垂直分裂(例如,如針對對應於ISP垂直分裂ISP_VER_SPLIT之IntraSubPartitionsSplitType值2的表3中之名稱關聯中所見)。
另一方面,當用於寫碼區塊402之ISP模式經啟用(例如,當intra_subpartitions_mode_flag被發信時)且內子劃分分裂旗標(例如,intra_subpartitions_split_flag)不存在時,接著若cbHeight大於MaxTbSizeY,則內子劃分分裂旗標(例如,intra_subpartitions_split_flag)可經推斷為等於用於寫碼區塊402之第二值(例如,為0之值)。在一些實例中,應用針對藉由等於1+intra_subpartitions_split_flag之IntraSubPartitionsSplitType(亦即IntraSubPartitionsSplitType等於1)獲得的分裂類型的公式可指示經推斷為等於0的intra_subpartitions_split_flag之值在此情況下可導致水平分裂(例如,如針對對應於ISP水平分裂ISP_HOR_SPLIT之IntraSubPartitionsSplitType值1的表3中之名稱關聯中所見)。
在一些情況下,當用於寫碼區塊402之ISP模式被啟用時(例如,當發信具有真值(諸如1)的intra_subpartitions_mode_flag時)且若cbHeight既不cbWidth亦不大於MaxTbSizeY,則發信內子劃分分裂旗標且intra_subpartitions_split_flag之值指示分裂類型如上文所提及係垂直抑或水平。
現在描述展示VVC之JVET WD4的現有語法及/或語義關於intra_subpartitions_split_flag之變化的實例。至詳細說明之添加係以斜體本文展示,其中刪除線本文展示自詳細說明移除本文。以下語法用以描述對於存在於座標[x0][y0]處之寫碼區塊402的上述實施,其中現有實施之變化係以斜體本文強調,其中刪除線突出顯示自詳細說明的移除。intra _ subpartitions _ split _ flag [x0][y0]指定內子劃分分裂類型為水平抑或垂直。當intra_subpartitions_splitmode _flag[x0][y0]不存在時,其推斷如下: - cbWidth MaxTbSizeY intra _ subpartitions _ split _ flag [ x0 ][ y0 ] 經推斷為等於 1 -否則 cbHeight MaxTbSizeY intra _ subpartitions _ split _ flag [ x0 ][ y0 ] 經推斷為等於 0 如下導出IntraSubPartitionsSplitType: –  若intra_subpartitions_mode_flag[x0][y0]等於0,則IntraSubPartitionsSplitType經設定為等於0。 –  否則,IntraSubPartitionsSplitType經設定為等於1+intra_subpartitions_split_flag[x0][y0]。
如先前所描述,變數NumIntraSubPartitions可用以指定寫碼區塊402基於子區塊之最小樣本要求(intra_subpartitions_split_flag及intra_subpartitions_mode_flag)劃分成的子區塊之數目。舉例而言,參看表3,若變數IntraSubPartitionsSplitType具有等於0之值(指示ISP_NO_SPLIT),則變數NumIntraSubPartitions之值經設定為等於1 (其為指示不存在應用於寫碼區塊402的ISP的預設值)。否則,若變數IntraSubPartitionsSplitType具有等於1 (水平分裂ISP_HOR_SPLIT)或2 (垂直分裂ISP_VER_SPLIT)之值,則變數NumIntraSubPartitions的值如參看圖2及圖3所解釋基於寫碼單元或當前區塊之尺寸而設定為等於2或4。舉例而言,若寫碼區塊402為4×8區塊(cbWidth等於4且cbHeight等於8)或8×4區塊(cbWidth等於8且cbHeight等於4),則NumIntraSubPartitions經設定為2,以基於可藉由變數IntraSubPartitionsSplitType指示的水平或垂直分裂實施將寫碼區塊402分裂成每一者具有最小數目16個樣本的兩個ISP區塊。另一方面,若寫碼區塊402之尺寸cbWidth及cbHeight對應於不同於(大於)8×4、4×8及4×4區塊大小,則NumIntraSubPartitions經設定為等於4。
在另一實例中,當用於寫碼區塊402之ISP模式經啟用(例如,當intra_subpartitions_mode_flag被發信時)且內子劃分分裂旗標intra_subpartitions_split_flag不存在時,接著若cbWidth大於MaxTbSizeY且cbHeight小於或等於MaxTbSizeY,則intra_subpartitions_split_flag可經推斷為等於寫碼區塊402之第一值(例如,為1的值)。在一些實例中,應用針對藉由等於1+intra_subpartitions_split_flag之IntraSubPartitionsSplitType(亦即IntraSubPartitionsSplitType等於2)獲得的分裂類型的公式可指示經推斷為等於1的intra_subpartitions_split_flag之值在此情況下可導致垂直分裂(例如,如針對對應於ISP垂直分裂ISP_VER_SPLIT之IntraSubPartitionsSplitType值2的表3中之名稱關聯中所見)。
另一方面,當用於寫碼區塊402之ISP模式經啟用(例如,當intra_subpartitions_mode_flag被發信時)且內子劃分分裂旗標intra_subpartitions_split_flag不存在時,接著若cbHeight大於MaxTbSizeY且cbWidth小於或等於MaxTbSizeY,則intra_subpartitions_split_flag可經推斷為等於寫碼區塊402之第二值(例如,為0的值)。在一些實例中,應用針對藉由等於1+intra_subpartitions_split_flag之IntraSubPartitionsSplitType(亦即IntraSubPartitionsSplitType等於1)獲得的分裂類型的公式可指示經推斷為等於1的intra_subpartitions_split_flag之值在此情況下可導致水平分裂(例如,如針對對應於ISP水平分裂ISP_HOR_SPLIT之IntraSubPartitionsSplitType值1的表3中之名稱關聯中所見)。
以下語法用以描述對於存在於座標[x0][y0]處之寫碼區塊402的上述實施,其中現有實施之變化係以斜體本文強調,其中刪除線突出顯示自詳細說明的移除。intra _ subpartitions _ split _ flag [x0][y0]指定內子劃分分裂類型為水平抑或垂直。當intra_subpartitions_splitmode _flag[x0][y0]不存在時,其推斷如下: – cbWidth MaxTbSizeY cbHeight <= MaxTbSizeY intra _ subpartitions _ split _ flag [ x0 ][ y0 ] 經推斷為等於 1 。 –否則 cbHeight MaxTbSizeY cbWidth <= MaxTbSizeY intra _ subpartitions _ split _ flag [ x0 ][ y0 ] 經推斷為等於 0 。 –否則 intra _ subpartitions _ split _ flag [ x0 ][ y0 ] 等於 0
現在描述展示VVC之JVET WD4的現有語法及/或語義關於定義ISP之劃分結構之變化的實例,其中自劃分寫碼區塊獲得的子區塊之尺寸不超過MaxTbSizeY之大小臨限值。至表2及表4之添加係以斜體本文展示,其中刪除線本文展示自對應詳細說明移除本文。
在定義啟用ISP模式所針對的寫碼區塊402之劃分結構的第一實例中,兩個或更多個子區塊可基於按需要基於intra_subpartitions_mode_flag及intra_subpartitions_split_flag之以上論述應用水平或垂直分裂而獲得。舉例而言,可如參看圖2及圖3解釋獲得子區塊或ISP區塊。可遵從小於MaxTbSizeY之要求而測試此等子區塊之尺寸。若自分裂寫碼區塊402 (針對該寫碼區塊啟用ISP模式)獲得的個別子區塊之任何尺寸(寬度或高度)超過MaxTbSizeY,則其經遞歸地劃分直至獲得其寬度及高度不超過MaxTbSizeY之值的子區塊為止。
在一個實例中,當子區塊之寬度或高度超過MaxTbSizeY時,當分裂類型為NO_ISP_SPLIT時可使用表4之transform_tree()結構進一步分裂子區塊。另一方面,當對於其cbHeight超過MaxTbSizeY的寫碼區塊,分裂類型為水平時,例如接著寫碼區塊可首先分裂成預設數目四個子區塊(假設可滿足用於四個子區塊之最小樣本需求,如參看圖3所論述)。若所得四個子區塊具有超過MaxTbSizeY的寬度,則將使用垂直分裂類型分裂四個子區塊以各自產生兩個或四個其他子區塊(取決於每一子區塊之寬度及最小樣本需求)且可遵從MaxTbSizeY大小臨限值測試此等其他子區塊之尺寸。分裂子區塊之以上程序可遞歸地繼續進行直至最終子區塊滿足MaxTbSizeY大小臨限值為止。
考慮其中MaxTbSizeY=32,且寫碼區塊402具有為64之cbWidth及為128之cbHeight(亦即寫碼區塊402為64×128區塊)的說明性實例,水平ISP分裂將產生大小64×32之子區塊,其中子區塊之寬度將超過MaxTbSizeY。在此情況下,表4之transform_tree()語法結構將在NO_ISP_SPLIT模式情況下應用(此僅僅針對分裂且內部預測將遵循ISP處理)且每一64×32子區塊將分裂成兩個32×32區塊。
對於分裂類型為垂直(ISP_VER_SPLIT)或水平(ISP_HOR_SPLIT)的情況(亦即,當分裂類型經設定為不等於ISP_NO_SPLIT的一值時且寫碼區塊或子區塊之寬度或高度中之一者超過MaxTbSizeY),可修改表4之transform_tree()結構。舉例而言,coding_unit()及transform_tree()之語法表可對於水平及垂直分裂類型分別自表2及表4修改,其中分別在以下表2'及表4'中以斜體本文識別修改。
coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { 描述符
        if( tile_group_type  !=  I ) {   
  
                       cu_cbf ae(v)
                if( cu_cbf )   
                        transform_tree( x0, y0, cbWidth, cbHeight, treeType ,IntraSubPartSplitType , idx )   
        }   
}   
表2'-修改之寫碼單元的語法表
transform_tree( x0, y0, tbWidth, tbHeight , treeType,splitType, idx ) { 描述符
        InferTuCbfLuma = 1   
        if(IntraSubPartSplitTypesplitType = = NO_ISP_SPLIT ) {   
                if( tbWidth  >  MaxTbSizeY  | |  tbHeight > MaxTbSizeY ) {   
                        trafoWidth  =  ( tbWidth  >  MaxTbSizeY ) ? (tbWidth / 2) : tbWidth   
                        trafoHeight  =  ( tbHeight  >  MaxTbSizeY ) ? (tbHeight / 2) : tbHeight   
                        transform_tree( x0, y0, trafoWidth,  trafoHeight )   
                        if( tbWidth  >  MaxTbSizeY )   
                                transform_tree( x0 + trafoWidth, y0, trafoWidth, trafoHeight, treeType )   
                        if( tbHeight  >  MaxTbSizeY )   
                                transform_tree( x0, y0 + trafoHeight, trafoWidth, trafoHeight, treeType )   
                        if( tbWidth  >  MaxTbSizeY  &&  tbHeight  >  MaxTbSizeY )   
                                transform_tree( x0 + trafoWidth, y0 + trafoHeight, trafoWidth, trafoHeight, treeType )   
                } else {   
                        transform_unit( x0, y0, tbWidth, tbHeight, treeType,0idx )   
                }   
        } else if(IntraSubPartSplitTypesplitType = = ISP_HOR_SPLIT ) {   
                trafoHeight = tbHeight / NumIntraSubPartitions   
                for( partIdx = 0; partIdx < NumIntraSubPartitions; partIdx++ )   
if( tbWidth > MaxTbSizeY )   
transform_tree( x0, y0 + trafoHeight * partIdx, tbWidth, trafoHeight, treeType, ISP_NO_SPLIT , partIdx )   
                       else   
                                transform_unit( x0, y0 + trafoHeight * partIdx, tbWidth, trafoHeight, treeType, partIdx )   
        } else if(IntraSubPartSplitTypesplitType = = ISP_VER_SPLIT ) {   
                trafoWidth = tbWidth / NumIntraSubPartitions   
                for( partIdx = 0; partIdx < NumIntraSubPartitions; partIdx++ )   
if( tbHeight > MaxTbSizeY )   
transform_tree( x0 + trafoWidth * partIdx, y0, trafoWidth, tbHeight, treeType, ISP_NO_SPLIT , partIdx )   
else   
                                transform_unit( x0 + trafoWidth * partIdx, y0, trafoWidth, tbHeight, treeType, partIdx )   
        }   
}   
表4'-經修改變換樹的語法表
在替代實施中,藉由用於子區塊之transform_tree()利用的分裂類型可經設定為一值,其中分裂類型可導致超過MaxTbSizeY之寬度或高度尺寸的減少。在此類實例中,在變換樹減少之每一級處子劃分的數目可係相同的或經獨立地導出。考慮與上述相同之實例,其中MaxTbSizeY=32,及cbWidth為64且cbHeight為128(亦即64×128寫碼區塊),水平ISP分裂將導致大小64×32之子區塊,其中寬度將超過MaxTbSizeY。在此情況下,當分裂類型為NO_ISP_SPLIT且每一64×32子區塊將分裂成兩個32×32區塊時可利用表4'之transform_tree()語法結構。對於其中分裂類型為水平或垂直的情況,在一些替代方案中可利用以下表4"中所展示的transform_tree()之語法結構。以下表4"包括如斜體本文中強調的表4之修改,其中表4"可用於其中分裂類型基於水平抑或垂直分裂分別將導致超過MaxTbSizeY之尺寸(高度或寬度)的減少而設定為水平或垂直的實施:
transform_tree( x0, y0, tbWidth, tbHeight , treeType,splitType, idx ) { 描述符
        InferTuCbfLuma = 1   
        if(IntraSubPartSplitTypesplitType = = NO_ISP_SPLIT ) {   
                if( tbWidth  >  MaxTbSizeY  | |  tbHeight > MaxTbSizeY ) {   
                        trafoWidth  =  ( tbWidth  >  MaxTbSizeY ) ? (tbWidth / 2) : tbWidth   
                        trafoHeight  =  ( tbHeight  >  MaxTbSizeY ) ? (tbHeight / 2) : tbHeight   
                        transform_tree( x0, y0, trafoWidth,  trafoHeight )   
                        if( tbWidth  >  MaxTbSizeY )   
                                transform_tree( x0 + trafoWidth, y0, trafoWidth, trafoHeight, treeType )   
                        if( tbHeight  >  MaxTbSizeY )   
                                transform_tree( x0, y0 + trafoHeight, trafoWidth, trafoHeight, treeType )   
                        if( tbWidth  >  MaxTbSizeY  &&  tbHeight  >  MaxTbSizeY )   
                                transform_tree( x0 + trafoWidth, y0 + trafoHeight, trafoWidth, trafoHeight, treeType )   
                } else {   
                        transform_unit( x0, y0, tbWidth, tbHeight, treeType, 0idx )   
                }   
        } else if(IntraSubPartSplitTypesplitType = = ISP_HOR_SPLIT ) {   
                trafoHeight = tbHeight / NumIntraSubPartitions   
                for( partIdx = 0; partIdx < NumIntraSubPartitions; partIdx++ )   
if( tbWidth > MaxTbSizeY )   
transform_tree( x0, y0 + trafoHeight * partIdx, tbWidth, trafoHeight, treeType, ISP_VER_SPLIT , partIdx )   
else   
                                transform_unit( x0, y0 + trafoHeight * partIdx, tbWidth, trafoHeight, treeType, partIdx )   
        } else if(IntraSubPartSplitTypesplitType = = ISP_VER_SPLIT ) {   
                trafoWidth = tbWidth / NumIntraSubPartitions   
                for( partIdx = 0; partIdx < NumIntraSubPartitions; partIdx++ )   
if( tbHeight > MaxTbSizeY )   
transform_tree( x0 + trafoWidth * partIdx, y0, trafoWidth, tbHeight, treeType, ISP_HOR_SPLIT , partIdx )   
else   
                                transform_unit( x0 + trafoWidth * partIdx, y0, trafoWidth, tbHeight, treeType, partIdx )   
        }   
}   
表4"-經修改變換樹的語法表
在啟用ISP模式的其他實例中,對於自使用ISP模式分裂區塊獲得的每一子區塊,表4'及表4"之transform_tree()結構兩者可用於兩個分裂類型(水平分裂類型或垂直分裂類型)中之任一者。用於修改之transform_tree()的表4'與表4"之間的選擇可基於區塊之寬度及高度與MaxTbSizeY之間的關係。
在使用ISP模式將寫碼區塊分裂成子區塊的以上實例中,在一或多個所得子區塊經進一步劃分之情況下,用於子區塊之劃分索引(partIdx)的值可基於用於子區塊之處理次序而指派。在一個實例中,partIdx可經指派給子區塊,使得僅僅第一子劃分(按如先前所描述之正常或反向次序)經指派為0的partIdx值且其餘子劃分根據子劃分之解碼次序而指派值。在其他實例中,一或多個子區塊可經指派為0之partIdx值,該值指示相同處理應用於當前經指派為0之partIdx值的全部子劃分。
在當啟用ISP模式時使用ISP分裂寫碼區塊的另一實例中,指派寫碼區塊經分裂成的子劃分之數目,使得任何所得子區塊之寬度既不高度亦不超過MaxTbSizeY之值。以下語義識別將寫碼區塊分裂成該數目個子劃分,該數目確保所得子區塊與MaxTbSizeY大小臨限值相容。斜體本文識別自ISP分裂之現有實施的修改。 變數NumIntraSubPartitions指定框內明度寫碼區塊經分成的變換區塊子劃分的數目。如下導出NumIntraSubPartitions: -  若IntraSubPartitionsSplitType等於ISP_NO_SPLIT,則NumIntraSubPartitions設定為等於1。 -  否則,若以下條件中之一者為真,則將NumIntraSubPartitions設定為等於2: -  cbWidth等於4且cbHeight等於8, -  cbWidth等於8且cbHeight等於4。 -否則 cbWidth <= MaxTbSizeY cbHeight MaxTbSizeY IntraSubPartitionsSplitType 等於 ISP _ HOR _ SPLIT NumIntraSubPartitions 經設定為等於 Max ( 4 , cbHeight / MaxTbSizeY ) -否則 cbWidth MaxTbSizeY cbHeight <= MaxTbSizeY IntraSubPartitionsSplitType 等於 ISP _ VER _ SPLIT NumIntraSubPartitions 經設定為等於 Max ( 4 , cbWidth / MaxTbSizeY ) -  否則,將NumIntraSubPartitions設定為等於4。
在一些實施中,除了以上變化之外,添加以下約束,使得intra_subpartitions_mode_flag及intra_subpartitions_split_flag的值經約束,使得由分裂寫碼區塊產生的子劃分之寬度及高度小於或等於MaxTbSizeY。
在寫碼區塊已啟用ISP模式之一些實施中,當寫碼區塊之寬度cbWidth大於MaxTbSizeY或寫碼區塊之高度cbHeight大於MaxTbSizeY (或cbWidth及cbHeight兩者皆大於MaxTbSizeY)時,寫碼區塊可水平地及垂直地分裂。對於此類情況的子劃分之數目NumIntraSubPartitions可經指派為等於4。在一些實施中,NumIntraSubPartitions可經導出為等於4及cbWidth*cbHeight/MaxTbSizeY/MaxTbSizeY之最大值,由表達式Max(4,cbWidth*cbHeight/MaxTbSizeY/MaxTbSizeY)表示。在此等實施中,解碼子劃分的次序可經定義為類似於解碼寫碼單元之次序,或可經指定用於ISP模式的另一掃描次序。
在當啟用ISP模式時劃分寫碼區塊的另一實例中,可添加一約束,使得當由分裂寫碼區塊產生的子區塊中之任一者的寬度或高度大於MaxTbSizeY時,intra_subpartitions_mode_flag之值不允許為1。以下語義說明此類實施,其中斜體本文突出顯示自現有實施的修改:當對於具有寬度 cbWidth 及高度 cbHeight 之寫碼區塊 intra _ sub _ partitions _ mode _ flag [ x0 ][ y0 ] 等於 1 sbWidth sbHeight 的值應皆小於或等於 MaxTbSizeY 係位元串流一致性的要求 其中 sbWidth sbHeight 經如下導出 - IntraSubPartitionsSplitType 等於 ISP _ HOR _ SPLIT sbWidth 經設定等於 cbWidth 之寬度且 sbHeight 經設定等於 cbHeight / NumIntraSubPartitions - IntraSubPartitionsSplitType 等於 ISP _ VER _ SPLIT sbWidth 經設定等於 cbWidth / NumIntraSubPartitions 之寬度且 sbHeight 經設定等於 cbHeight
在另一實例中,語法元素intra_subpartitions_mode_flag之發信經約束,使得當由分裂寫碼區塊產生之子區塊將具有大於MaxTbSizeY之寬度或高度(或寬度及高度兩者)時,intra_subpartitions_mode_flag的值未被發信且推斷為等於0。舉例而言,若自分裂寫碼區塊獲得的子區塊中之任一者可具有大於MaxTbSizeY之寬度及高度中之一或多者,則可停用用於寫碼區塊之ISP模式。
現在描述展示VVC之JVET WD4的現有語法及/或語義關於VPDU邊界之變化的實例。至詳細說明之現有實施的添加係以斜體本文展示,其中刪除線本文展示自詳細說明移除本文。在此類實例中,一約束可被添加以確保運用經啟用ISP模式寫碼的寫碼區塊不越過VPDU邊界。語義可如下添加至詳細說明: cbWidth cbHeight 大於 SizeV intra _ subpartitions _ mode _ flag 的值應等於 0 係位元串流一致性的要求。
在一些情況下,VPDU之寬度及高度約束可並不相等,在該情況下位元串流約束獨立地應用於CU之寬度及高度。
在一些情況下,約束可在語法中強加如下:當cbWidth或cbHeight大於SizeV時,語法元素intra_subpartitions_mode_flag未經發信且intra_subpartitions_mode_flag的值經推斷為等於0。
如先前所提及,虛擬管線資料單元(VPDU)為可用於平行處理的圖像或視訊圖框中之非重疊單元。在一些實例中,VPDU建構可包括用於記憶體存取(例如,以判定記憶體之哪一區域用於處理資料之一或多個特定區塊)的虛擬區塊,定義經分配以實施基於標準之寫碼程序(例如,HEVC、VVC或其他寫碼程序)的記憶體之大小。儘管VPDU建構可出於寫碼目的不對應於區塊劃分機構,但VPDU可用於視訊處理管線。舉例而言,在硬體解碼程序中,連續VPDU可藉由多個處理/解碼管線級平行處理(例如,不同解碼管線級同時處理不同VPDU)。在一些情況下,VPDU大小可大致與一些管線中之緩衝器大小成比例。舉例而言,VPDU大小可經設定成具有變換區塊(TB)大小之大小。在一個說明性實例中,VPDU之大小可為64×64樣本(例如,明度樣本)。在HEVC中,VPDU大小經設定為最大變換區塊大小,其為32×32-L(明度樣本)及16×16-C(色度樣本)。在VVC中,VPDU大小經設定為64×64-L(明度樣本)及32×32-C(色度樣本),其導致較大VPDU大小的請求。
在一些實例中,VPDU可含有一或多個區塊(例如,CU、PU、TU,或其他區塊)。舉例而言,在一些情況下,單一CU可包括於一個VPDU中(例如,CU之大小及VPDU大小係相同的)。參考圖4,若寫碼區塊402之大小對應於VPDU大小,則寫碼區塊402可接著含於單一VPDU內。在寫碼區塊402及VPDU為正方形區塊(其中VPDU之每一側具有大小SizeV)的說明性實例中,寫碼區塊402之寬度cbWidth及高度cbHeight將各自等於SizeV。在VPDU可完全含有寫碼區塊的此類實例中,寫碼區塊將不越過VPDU邊界。因此,若運用ISP模式寫碼寫碼區塊402,則寫碼區塊402將不會藉由越過VPDU邊界而違反VPDU約束。因此,在此類實例中,當cbWidth及cbHeight小於或等於VPDU之大小臨限值(SizeV)時,語法元素intra_subpartitions_mode_flag可以為1之值發信,該值1指示針對寫碼區塊402啟用ISP模式。
圖5為說明VPDU 500多個寫碼單元之實例的圖式。在一個此類實例中,含於VPDU 500內的多個CU中之每一者可具有小於VPDU大小的大小。如所展示,在VPDU 500內識別四個區塊或寫碼單元,包括第一區塊520、第二區塊522、第三區塊524及第四區塊526。第一區塊520、第二區塊522、第三區塊524及/或第四區塊526中之每一者可為圖像之CU、PU、TU或其他區塊。尺寸(寬度cbWidth及高度cbHeight)已經識別用於第一區塊520以說明此等尺寸與VPDU 500之大小的關係。相應地,高度SizeV_height及寬度SizeV_width亦已經識別用於VPDU 500,其中在一些實例中,SizeV_height及SizeV_width可等於同一值SizeV。
在以上實例中,第一區塊520之寬度cbWidth將小於VPDU 500之寬度SizeV_width,且第一區塊520之高度cbHeight將小於VPDU 500之高度SizeV_height。因此,若運用ISP模式寫碼第一區塊520,則第一區塊520將不會藉由越過VPDU邊界而違反VPDU約束。因此,在此類實例中,當cbWidth及cbHeight小於或等於對應於VPDU邊界的大小臨限值時,ISP模式可係可允許用於第一區塊520且可以為1之值發信語法元素intra_subpartitions_mode_flag,該值指示ISP模式用於第一區塊520。儘管未明確地展示,但第二區塊522、第三區塊524及第四區塊526的尺寸可與上文參考第一區塊520所論述的尺寸相同。因此在此類實例中,亦可運用經啟用之ISP模式來寫碼第二區塊522、第三區塊524及第四區塊526。在一些實例中,當基於VPDU約束可允許ISP模式時ISP模式是否可經啟用或使用可係基於如前解釋及下文進一步描述之cbWidth及cbHeight與最大變換區塊大小臨限值MaxTbSizeY的其他比較。
在一些實例中,寫碼區塊(例如,CU、PU或另一區塊)之大小可橫跨多個VPDU。舉例而言,可使用多個VPDU處理寫碼區塊。舉例而言,具有128×64 (128樣本寬×64樣本高)之大小的寫碼區塊或具有64×128 (64樣本寬×128樣本高之大小)的寫碼區塊可橫跨各具有64×64之大小的兩個VPDU。在另一實例中,具有128×128 (128樣本寬×128樣本高)之大小的寫碼區塊可橫跨各具有64×64之大小的四個VPDU。寫碼區塊可分裂成某一數目個子區塊以用於藉由VPDU管線級中之每一者執行框間預測。舉例而言,128×128寫碼區塊可分裂成64×64子區塊以用於藉由四個不同VPDU管線級處理。寫碼區塊可經分裂用於框間預測,此係因為不存在對於用於執行框間預測之相鄰區塊的依賴。然而,橫跨多個VPDU的此類寫碼區塊亦越過VPDU邊界,此可違反關於允許內子劃分模式用於分裂寫碼區塊的VPDU約束。
圖6為說明跨越多個VPDU的寫碼區塊602之實例的圖式。舉例而言,寫碼區塊602含有與四個VPDU (包括第一VPDU 630、第二VPDU 632、第三VPDU 634及第四VPDU 636)相關聯的樣本。寫碼區塊602可具有包括寬度cbWidth及高度cbHeight之尺寸。四個VPDU中之每一者可具有包括SizeV之寬度及高度的尺寸(如針對第一VPDU 630代表性地說明)。在一個說明性實例中,當前區塊602具有128×128之大小,且VPDU 630至634中之每一者具有64×64之大小。寫碼區塊602可為圖像之CU、PU、TU或其他區塊。
在圖6之實例中,寫碼區塊602的cbWidth及cbHeight兩者皆大於四個VPDU 630至634中之每一者的SizeV。因此,寫碼區塊602之尺寸將違反對於待運用ISP模式寫碼來寫碼區塊602之需求。如前所提及,在實例實施中,位元串流一致性可包括當寫碼區塊之cbWidth或cbHeight大於SizeV時intra_subpartitions_mode_flag的值應等於0的要求。在VPDU之寬度及高度可能不相等(例如,如參看圖6所論述)的實例中,位元串流一致性可包括當cbWidth大於SizeV_width或cbHeight大於SizeV_height時intra_subpartitions_mode_flag的值應等於0以指示不針對寫碼區塊602啟用ISP模式的要求。在一些實例中,用於寫碼區塊602之intra_subpartitions_mode_flag可基於寫碼區塊602之cbWidth及cbHeight大於第一VPDU 630的SizeV (及類似地大於其餘VPDU 632、634及636的SizeV)而設定為0。
在另一替代方案中,如前提及,一約束可經強加於ISP模式之語法中,該約束為當cbWidth或cbHeight大於SizeV時,語法元素intra_subpartitions_mode_flag未經發信且intra_subpartitions_mode_flag的值經推斷為等於0。因此,在寫碼區塊602之情況下,因為cbWidth及cbHeight大於一或多個VPDU (包括四個VPDU 630至636)之SizeV,因此intra_subpartitions_mode_flag未藉由例如編碼器件發信用於寫碼區塊602。在其中intra_subpartitions_mode_flag未經發信或包括於含有寫碼區塊602之經編碼位元串流中的此類情況下,intra_subpartitions_mode_flag之值可例如藉由接收經編碼位元串流的解碼器件推斷為等於0。
在一些實例中,基於寫碼區塊之尺寸與VPDU邊界的上述比較判定ISP模式是否可允許可與其他考慮因素組合以用於當ISP模式可允許時啟用ISP模式。舉例而言,當滿足一或多個VPDU約束時,intra_subpartitions_mode_flag可經發信以指示針對一區塊啟用ISP模式。舉例而言,如先前參考現有實施所論述,intra_subpartitions_mode_flag可在cbWidth或cbHeight中之一者大於MaxTbSizeY且cbWidth或cbHeight中之另一者小於MaxTbSizeY時或在cbWidth及cbHeight兩者皆小於MaxTbSizeY的情況下經發信(例如,指示ISP經啟用)用於一寫碼區塊。
因此,在最大變換區塊大小MaxTbSizeY與VPDU相同的實例中,接著若寫碼區塊之cbWidth或cbHeight大於SizeV (當SizeV等於MaxTbSizeY時),則ISP模式不可允許且因此intra_subpartitions_mode_flag未經發信用於寫碼區塊,此係因為寫碼區塊之尺寸將藉由越過VPDU邊界而違反一或多個VPDU約束。舉例而言,若在說明性實例中,SizeV及MaxTbSizeY兩者均等於64,則對於cbWidth或cbHeight大於64,VPDU約束將防止ISP模式可被允許且intra_subpartitions_mode_flag未經發信(亦即,ISP模式未經啟用)用於寫碼區塊。
然而,若在另一說明性實例中,MaxTbSizeY為32且SizeV為64,則有可能intra_subpartitions_mode_flag在一些情形中可被允許並經啟用。舉例而言,若對於一寫碼區塊,cbWidth等於64且cbHeight等於32,則在此實例中cbWidth及cbHeight將小於SizeV,因此導致基於VPDU約束被滿足而允許ISP模式的判定。另外,由於等於64之cbWidth將使cbWidth大於大小為32的MaxTbSizeY且等於32之cbHeight將使cbHeight小於或等於大小為32的MaxTbSizeY,因此用於寫碼區塊之ISP模式可經啟用且intra_subpartitions_mode_flag可例如藉由編碼器件在位元串流中發信。然而,因為cbWidth大於為32之MaxTbSizeY,因此intra_subpartitions_split_flag將不被發信。在此實例中,接收位元串流的解碼器件之現有實施可推斷intra_subpartitions_split_flag的值為如參考表2解釋的0 (對應於水平分裂ISP_HOR_SPLIT),從而導致非所要結果。然而,藉由實施修改以用於推斷intra_subpartitions_split_flag之值為如參看圖7所論述之垂直分裂ISP_VER_SPLIT,用於等於64之cbWidth及等於32之cbHeight之寫碼區塊的所需分裂將導致每一寬度32及高度32之兩個子區塊,其中此等所得子區塊將限制於大小為32之MaxTbSizeY內。
在另一實例中,intra_subpartitions_mode_flag之發信亦可自現有實施修改以在寫碼區塊之cbWidth或cbHeight大於MaxTbSizeY時停用ISP模式(或不發信intra_subpartitions_mode_flag)。如前所提及,當明度寫碼區塊之寬度或高度大於最大變換大小MaxTbSizeY時,寫碼區塊如在表2之transform_tree()語法結構中所指定分裂成兩個或更多個變換單元。無關於垂直或水平分裂是否將係最佳選擇,intra_subpartitions_split_flag被推斷為0 (對應於水平分裂ISP_HOR_SPLIT)的上文所提及之問題歸因於現有實施中的intra_subpartitions_mode_flag之語法(其允許intra_subpartitions_mode_flag待在寫碼區塊的cbWidth及cbHeight中之一者大於MaxTbSizeY且cbWidth及cbHeight中之另一者小於或等於MaxTbSizeY時發信)而產生。然而,若當cbWidth及cbHeight兩者皆小於或等於MaxTbSizeY時僅發信intra_subpartitions_mode_flag,則用於intra_subpartitions_mode_flag及intra_subpartitions_split_flag兩者的語法將變為彼此一致。舉例而言,以下展示的表2"以斜體本文說明當cbWidth<=MaxTbSizeY&&cbHeight<=MaxTbSizeY時對intra_subpartitions_mode_flag之發信的修改(其中在表2之現有實施中,當(cbWidth<=MaxTbSizeY||cbHeight<=MaxTbSizeY)時發信intra_subpartitions_mode_flag)。
                                if (intra_luma_ref_idx[ x0 ][ y0 ] = = 0  &&                                         ( cbWidth <= MaxTbSizeY  && cbHeight <= MaxTbSizeY )   &&                                          ( cbWidth * cbHeight > MinTbSizeY * MinTbSizeY ))
                                       intra_subpartitions_mode_flag [ x0 ][ y0 ]
                                if( intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 1  &&                                          cbWidth <= MaxTbSizeY  &&  cbHeight <= MaxTbSizeY )
                                       intra_subpartitions_split_flag [ x0 ][ y0 ]
表2"-經修改變換樹的語法表
在當cbWidth小於或等於大小臨限值MaxTbSizeY且cbHeight小於或等於大小臨限值MaxTbSizeY時intra_subpartitions_mode_flag經發信用於寫碼區塊的實施中,可瞭解intra_subpartitions_mode_flag基於寫碼區塊之尺寸與大小臨限值之間的關係的發信對於當大小臨限值係基於VPDU大小(SizeV)或最大變換區塊大小(MaxTbSizeY)時係相同的。因此,intra_subpartitions_mode_flag經發信以啟用用於寫碼區塊之ISP模式,當cbWidth及cbHeight兩者均小於大小臨限值時允許用於該寫碼區塊的ISP模式,其中大小臨限值為等於MaxTbSizeY的SizeV。若cbWidth或cbHeight中之任一者違反大小臨限值,則intra_subpartitions_mode_flag不被發信且ISP模式可不被允許或經停用用於該寫碼區塊。
圖7為說明藉由判定待應用於一寫碼區塊(針對該寫碼區塊啟用intra_subpartition(ISP)模式)的子劃分之類型而解碼視訊資料的程序700之實例的流程圖。在702處,程序700包括獲得包括視訊資料之經編碼視訊位元串流。在一些實例中,獲得該經編碼視訊位元串流之程序可藉由一解碼器件執行。視訊資料可包括複數個圖像,且該等圖像可分成複數個區塊,如先前所描述。視訊資料亦可包括用於圖像及/或區塊之運動資訊,其可用以執行運動補償。
在704處,程序700包括判定內子劃分分裂旗標不存在於視訊資料之當前區塊的視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之內子劃分模式的分裂類型為水平抑或垂直。舉例而言,用於寫碼區塊402之ISP模式旗標(intra_subpartitions_mode_flag)可能已在cbWidth或cbHeight小於或等於大小臨限值MaxTbSizeY時或在cbWidth及cbHeight兩者小於或等於MaxTbSizeY情況下被發信。因此,在cbWidth或cbHeight中之一者大於MaxTbSizeY且另一者小於MaxTbSizeY的實例中,intra_subpartitions_mode_flag將作為真來發信(其中一值指示針對寫碼區塊啟用ISP模式)。在此等實施中,當cbWidth或cbHeight中之一者大於MaxTbSizeY時,內子劃分分裂旗標intra_subpartitions_split_flag可不存在於所發信位元串流中。
在706處,程序700包括判定當前區塊之寬度及高度中之至少一者大於對應於最大變換區塊大小之大小臨限值。舉例而言,當intra_subpartitions_split_flag對於寫碼區塊402並不存在時,cbWidth或cbHeight可經判定為大於MaxTbSizeY。
在708處,程序700包括基於當前區塊之寬度或高度是否大於大小臨限值而判定用於當前區塊之內子劃分分裂旗標的值。舉例而言,若cbWidth大於MaxTbSizeY,則intra_subpartitions_split_flag可推斷為等於用於寫碼區塊402之第一值(例如,對應於ISP垂直分裂ISP_VER_SPLIT的為1之值)。另一方面,若cbHeight大於MaxTbSizeY,則intra_subpartitions_split_flag可推斷為等於用於寫碼區塊402之第二值(例如,對應於ISP水平分裂ISP_HOR_SPLIT的為0之值)。
圖8為說明藉由定義用於ISP模式之劃分結構以確保自分裂寫碼區塊獲得的子區塊之尺寸符合大小臨限值來解碼視訊資料的程序800之實例的流程圖。在802處,程序800包括獲得包括視訊資料之經編碼視訊位元串流。在一些實例中,獲得該經編碼視訊位元串流之程序可藉由一解碼器件執行。視訊資料可包括複數個圖像,且該等圖像可分成複數個區塊,如先前所描述。視訊資料亦可包括用於圖像及/或區塊之運動資訊,其可用以執行運動補償。
在804處,程序800包括判定針對視訊資料之當前區塊啟用用於劃分當前區塊的內子劃分模式。舉例而言,用於寫碼區塊402之ISP模式旗標(intra_subpartitions_mode_flag)可在cbWidth或cbHeight小於或等於大小臨限值MaxTbSizeY時或在cbWidth及cbHeight兩者小於或等於MaxTbSizeY情況下被發信。因此,在cbWidth或cbHeight中之一者大於MaxTbSizeY且另一者小於MaxTbSizeY的實例中,intra_subpartitions_mode_flag係運用一值(例如,值1)來發信,該值指示針對寫碼區塊啟用ISP模式。在一些實例中,若由使用ISP模式將寫碼區塊分裂成子區塊而產生的子區塊之尺寸(寬度或高度)大於大小臨限值MaxTbSizeY,則intra_subpartitions_mode_flag可不被發信。
在806處,程序800包括判定用於將當前區塊劃分成子區塊之劃分結構,其中由劃分產生的子區塊之尺寸不超過大小臨限值。舉例而言,在一些實施中,根據表4'或表4"中所展示的修改之transform_tree()語法結構的遞歸結構可用以在子區塊之尺寸超過大小臨限值的情況下劃分自劃分寫碼區塊402獲得的子區塊。舉例而言,若子區塊之寬度或高度超過MaxTbSizeY,則垂直或水平分裂類型可用於遞歸地劃分所得子區塊直至獲得不超過MaxTbSizeY大小臨限值之尺寸之子區塊為止。
圖9為說明藉由基於寫碼區塊是否違反一或多個約束(例如,越過VPDU邊界)判定是否針對寫碼區塊啟用ISP模式而編碼視訊資料的程序900之實例的流程圖。在902處,程序900包括獲得視訊資料之圖像之當前區塊。在一些實例中,諸如當程序900藉由編碼器件執行時,視訊資料可包括未經編碼視訊資料。視訊資料可包括複數個圖像,且該等圖像可分成複數個區塊,如先前所描述。程序900可判定用於圖像及/或區塊之運動資訊,其可用以執行運動補償。
在904處,程序900包括判定以下二者中之至少一者:圖像之當前區塊的寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值,該寬度大小臨限值對應於資料單元的寬度且高度大小臨限值對應於資料單元的高度。在一些情況下,資料單元為一虛擬管線資料單元(VPDU)。在一些情況下,資料單元為一變換區塊。在資料單元為變換區塊之情況下,寬度大小臨限值及高度大小臨限值可經定義為等於一最大變換區塊大小(例如,MaxTbSizeY)。在一個說明性實例中,當資料單元為VPDU時,參看圖5,第一區塊520之cbWidth及cbHeight可分別與VPDU 500的SizeV_width及SizeV_Height相比較以判定以下二者中之至少一者:cbWidth是否大於SizeV_width或cbHeight是否大於SizeV_height。在另一實例中,參看圖6,寫碼區塊602之cbWidth及cbHeight可分別與VPDU 630的SizeV (對於寬度尺寸)及SizeV (對於高度尺寸)相比較(其中寬度大小臨限值等於高度大小臨限值,等於SizeV),以判定cbWidth是否大於SizeV或cbHeight是否大於SizeV。
在906處,程序900基於當前區塊之寬度是否大於寬度大小臨限值及當前區塊之高度是否大於高度大小臨限值中之至少一者判定內子劃分模式旗標是否將經發信用於當前區塊,其中內子劃分模式旗標之值指示ISP模式是否應用於當前區塊以將當前區塊劃分成矩形變換區塊子劃分。在圖6之實例中,寫碼區塊602的cbWidth及cbHeight兩者皆大於四個VPDU 630至634中之每一者的SizeV。因此,寫碼區塊602之尺寸將違反用於待運用ISP模式寫碼的寫碼區塊602之一或多個VPDU約束。如前所提及,位元串流一致性可包括當寫碼區塊之cbWidth或cbHeight大於SizeV時intra_subpartitions_mode_flag的值應等於0的要求。在此類實例中,當當前區塊之寬度大於寬度大小臨限值或當前區塊之高度大於高度大小臨限值時,內子劃分模式未經允許用於當前區塊。在此類實例中,當內子劃分模式未經允許用於寫碼區塊且intra_subpartition_mode_flag之值可藉由解碼器件推斷為第一值(0)時,不自編碼器件在經編碼視訊位元串流中發信intra_subpartition_mode_flag,該第一值指示內子劃分模式未經允許用於寫碼區塊。
在區塊908處,程序900包括基於判定內子劃分模式旗標是否將經發信用於當前區塊而產生包括至少當前區塊之經編碼視訊位元串流。舉例而言,經編碼位元串流可包括當前區塊及intra_subpartitions_mode_flag,該intra_subpartitions_mode_flag指示當當前區塊不違反VPDU約束時針對當前區塊啟用ISP模式。
在圖5之實例中,當cbWidth及cbHeight兩者小於或等於對應於VPDU邊界的大小臨限值時,語法元素intra_subpartitions_mode_flag可以一值來發信,該值指示是否針對第一區塊520啟用ISP模式(例如,為1或「真」的值指示針對第一區塊520啟用ISP模式或為0或「假」的值指示未針對第一區塊520執行ISP模式)。在一些實例中,基於判定內子劃分模式被啟用,程序700可在內子劃分分裂旗標未被發信時用於判定內子劃分分裂旗標的值。
在一些實施中,本文中所描述的程序(或方法)(包括程序700、800及900)可藉由計算器件或裝置(諸如圖1中所展示的系統100)執行。舉例而言,程序可藉由圖1及圖10中展示之編碼器件104、藉由另一視訊源側器件或視訊傳輸器件、藉由圖1及圖11中展示之解碼器件112及/或藉由另一用戶端側器件(諸如播放器器件、顯示器或任何其他用戶端側器件)執行。在一些實例中,計算器件或裝置可包括經組態以捕捉包括視訊圖框之視訊資料(例如,視訊序列)的攝影機。在一些實例中,捕捉視訊資料之攝影機或其他捕捉器件與計算器件分離,在此情況下,計算器件接收或獲得所捕捉視訊資料。
在一些情況下,計算器件或裝置可包括一或多個輸入器件、一或多個輸出器件、一或多個處理器、一或多個微處理器、一或多個微電腦,及/或經組態以實施本文中所描述的程序之步驟的其他組件。在一些實例中,計算器件可包括行動器件、桌上型電腦、伺服器電腦及/或伺服器系統,或其他類型之計算器件。計算器件可進一步包括經組態以傳達視訊資料之網路介面。網路介面可經組態以傳達基於網際網路協定(IP)之資料或其他類型之資料。在一些實例中,計算器件或裝置可包括用於顯示輸出視訊內容(諸如,視訊位元串流之圖像的樣本)之顯示器。
計算器件之組件(例如,一或多個輸入器件、一或多個輸出器件、一或多個處理器、一或多個微處理器、一或多個微電腦及/或其他組件)可實施於電路系統中。舉例而言,組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體實施(電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適之電子電路)),及/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合實施,以執行本文中所描述的各種操作。
程序700、800、900經說明為邏輯流程圖,其中之操作表示可在硬體、電腦指令或其組合中實施的操作之序列。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、對象、組件、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,本文中所描述的程序(包括程序800及900)可在經組態有可執行指令之一或多個電腦系統的控制下執行且可作為共同在一或多個處理器上執行的程式碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)實施、藉由硬體實施,或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
本文所論述之寫碼技術可實施於實例視訊編碼及解碼系統(例如,系統100)中。在一些實例中,系統包括提供稍後由目的地器件解碼之經編碼視訊資料的源器件。詳言之,源器件經由電腦可讀媒體將視訊資料提供至目的地器件。源器件及目的地器件可包含廣泛範圍之器件中之任一者,包括桌上型電腦、筆記型(例如,膝上型)電腦、平板電腦、機頂盒、諸如所謂的「智慧型」電話之電話手持機、所謂的「智慧型」板、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或其類似者。在一些情況下,源器件及目的地器件可經裝備以用於無線通信。
目的地器件可經由電腦可讀媒體接收待解碼之經編碼視訊資料。電腦可讀媒體可包含能夠將經編碼視訊資料自源器件移動至目的地器件的任何類型之媒體或器件。在一個實例中,電腦可讀媒體可包含通信媒體以使得源器件能夠即時地將經編碼視訊資料直接傳輸至目的地器件。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地器件。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件至目的地器件之通信的任何其他設備。
在一些實例中,經編碼資料可自輸出介面輸出至儲存器件。類似地,可藉由輸入介面自儲存器件存取經編碼資料。儲存器件可包括多種分佈式或本機存取式資料儲存媒體中之任一者,諸如,硬碟機、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他適合數位儲存媒體。在另一實例中,儲存器件可對應於檔案伺服器或可儲存由源器件產生之經編碼視訊的另一中間儲存器件。目的地器件可經由串流傳輸或下載而自儲存器件存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)器件或本端磁碟機。目的地器件可經由任何標準資料連接(包括網際網路連接)而存取經編碼之視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者的組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在一個實例中,源器件包括視訊源、視訊編碼器及輸出介面。目的地器件可包括輸入介面、視訊解碼器及顯示器件。源器件之視訊編碼器可經組態以應用本文中所揭示之技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣,目的地器件可與外部顯示器件介接,而非包括整合式顯示器件。
以上實例系統僅為一個實例。用於平行地處理視訊資料之技術可由任何數位視訊編碼及/或解碼器件來執行。儘管本發明之技術通常由視訊編碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「CODEC」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及目的地器件僅為源器件產生經寫碼視訊資料以供傳輸至目的地器件之此類寫碼器件的實例。在一些實例中,源器件及目的地器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
視訊源可包括視訊捕捉器件,諸如視訊攝影機、含有先前捕捉之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊之視訊饋入介面。作為另一替代方案,視訊源可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源為視訊攝影機,則源器件及目的地器件可形成所謂攝影機電話或視訊電話。然而,如上文所提及,本發明中描述之技術一般適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,可由視訊編碼器編碼所捕捉、經預捕捉或電腦產生之視訊。經編碼視訊資訊接著可由輸出介面輸出至電腦可讀媒體上。
如所提到,電腦可讀媒體可包括暫時性媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(圖中未示)可自源器件接收經編碼視訊資料且例如經由網路傳輸提供經編碼視訊資料至目的地器件。類似地,媒體生產設施(諸如,光碟衝壓設施)之計算器件可自源器件接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,可理解電腦可讀媒體包括各種形式之一或多個電腦可讀媒體。
目的地器件之輸入介面自電腦可讀媒體接收資訊。電腦可讀媒體之資訊可包括由視訊編碼器定義之語法資訊(其亦由視訊解碼器使用),該語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。顯示器件將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。已描述本申請案之各種實施例。
編碼器件104及解碼器件112之特定細節分別展示於圖10及圖11中。圖10為說明可實施本發明中所描述之技術中之一或多者的實例編碼器件104之方塊圖。編碼器件104可(例如)產生本文中所描述的語法結構(例如,VPS、SPS、PPS或其他語法元素之語法結構)。編碼器件104可執行視訊圖塊內之視訊區塊的框內預測及框間預測寫碼。如先前所描述,框內寫碼至少部分地依賴於空間預測以減少或移除給定視訊圖框或圖像內之空間冗餘。框間寫碼至少部分地依賴於時間預測以減少或移除視訊序列之鄰近或周圍圖框內的時間冗餘。框內模式(I模式)可指若干基於空間之壓縮模式中的任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指若干基於時間之壓縮模式中的任一者。
編碼器件104包括劃分單元35、預測處理單元41、濾波器單元63、圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。預測處理單元41包括運動估計單元42、運動補償單元44及框內預測處理單元46。對於視訊區塊重建構,編碼器件104亦包括反量化單元58、反變換處理單元60及求和器62。濾波器單元63意欲表示一或多個迴路濾波器,諸如解塊濾波器、自適應迴路濾波器(ALF)及樣本自適應偏移(SAO)濾波器。儘管濾波器單元63在圖10中展示為迴路濾波器,但在其他組態中,濾波器單元63可實施為後迴路濾波器。後處理器件57可對由編碼器件104產生之經編碼視訊資料執行額外處理。在一些情況下,本發明之技術可藉由編碼器件104實施。然而,在其他情況下,本發明之技術中的一或多者可藉由後處理器件57實施。
如圖10中所展示,編碼器件104接收視訊資料,且劃分單元35將資料劃分成視訊區塊。劃分亦可包括(例如)根據LCU及CU之四分樹結構劃分成圖塊、圖塊片段、圖像塊或其他較大單元,以及視訊區塊劃分。編碼器件104通常說明編碼待編碼之視訊圖塊內的視訊區塊之組件。可將圖塊分成多個視訊區塊(且可能分成被稱作圖像塊之視訊區塊集合)。預測處理單元41可基於誤差結果(例如,寫碼速率及失真等級,或其類似者)選擇複數個可能寫碼模式中之一者(諸如,複數個框內預測寫碼模式中之一者或複數個框間預測寫碼模式中之一者)以用於當前視訊區塊。預測處理單元41可將所得經框內或框間寫碼區塊提供至求和器50以產生殘餘區塊資料,並提供至求和器62以重建構經編碼區塊以用於用作參考圖像。
預測處理單元41內之框內預測處理單元46可執行當前視訊區塊相對於與待寫碼的當前區塊相同之圖框或圖塊中的一或多個相鄰區塊之框內預測寫碼以提供空間壓縮。預測處理單元41內之運動估計單元42及運動補償單元44執行當前視訊區塊相對於一或多個參考圖像中之一或多個預測性區塊之框間預測性寫碼以提供時間壓縮。
運動估計單元42可經組態以根據視訊序列之預定圖案來判定用於視訊圖塊之框間預測模式。預定圖案可將序列中之視訊圖塊指定為P圖塊、B圖塊或GPB圖塊。運動估計單元42及運動補償單元44可高度整合,但為概念目的而單獨說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。運動向量(例如)可指示當前視訊圖框或圖像內之視訊區塊的預測單元(PU)相對於參考圖像內之預測性區塊的移位。
預測性區塊為就像素差而言被發現緊密地匹配待寫碼的視訊區塊之PU之區塊,該像素差可由絕對差和(SAD)、平方差和(SSD)或其他差度量判定。在一些實例中,編碼器件104可計算儲存於圖像記憶體64中之參考圖像的次整數像素位置的值。舉例而言,編碼器件104可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋並輸出具有分數像素精確度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像的預測性區塊之位置而計算經框間寫碼片段中的視訊區塊之PU之運動向量。參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等清單中之每一者識別儲存於參考圖像記憶體64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵編碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可涉及基於由運動估計(可能執行內插至子像素精確度)判定之運動向量而提取或產生預測性區塊。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44可在一參考圖像清單中找到運動向量所指向之預測性區塊的位置。編碼器件104藉由自正經寫碼之當前視訊區塊之像素值減去預測性區塊之像素值從而形成像素差值來形成殘餘視訊區塊。像素差值形成區塊之殘餘資料,且可包括明度及色度差分量兩者。求和器50表示執行此減法運算之該或該等組件。運動補償單元44亦可產生與視訊區塊及視訊圖塊相關聯之語法元素,以供解碼器件112用於解碼視訊圖塊之視訊區塊。
如上文所描述,作為藉由運動估計單元42及運動補償單元44執行的框間預測之替代方案,框內預測處理單元46可框內預測當前區塊。特定而言,框內預測處理單元46可判定框內預測模式以用以編碼當前區塊。在一些實例中,框內預測處理單元46可(例如)在單獨編碼遍次期間使用各種框內預測模式來編碼當前區塊,且框內預測處理單元46可自所測試模式中選擇適當框內預測模式來使用。舉例而言,框內預測處理單元46可使用對各種所測試框內預測模式之速率-失真分析來計算速率-失真值,且可在所測試模式間選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析大體上判定經編碼區塊與原始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元速率(亦即,位元之數目)。框內預測處理單元46可根據各種經編碼區塊之失真及速率計算比率以判定哪一框內預測模式展現該區塊之最佳速率-失真值。
在任何情況下,在選擇用於區塊之框內預測模式後,框內預測處理單元46可將指示用於區塊之所選框內預測模式的資訊提供至熵編碼單元56。熵編碼單元56可編碼指示所選框內預測模式之資訊。編碼器件104可將各種區塊之編碼上下文之定義以及待用於上下文中之每一者的最可能的框內預測模式、框內預測模式索引表及經修改框內預測模式索引表之指示包括於經傳輸位元串流組態資料中。位元串流組態資料可包括複數個框內預測模式索引表及複數個經修改框內預測模式索引表(亦被稱作碼字映射表)。
在預測處理單元41經由框間預測或框內預測產生當前視訊區塊之預測性區塊之後,編碼器件104藉由自當前視訊區塊減去預測性區塊而形成殘餘視訊區塊。殘餘區塊中之殘餘視訊資料可包括於一或多個TU中且被應用於變換處理單元52。變換處理單元52使用諸如離散餘弦變換(DCT)或概念上類似變換之變換將殘餘視訊資料變換成殘餘變換係數。變換處理單元52可將殘餘視訊資料自像素域轉換至變換域(諸如,頻域)。
變換處理單元52可將所得變換係數發送至量化單元54。量化單元54對變換係數進行量化以進一步減小位元速率。量化程序可減小與該等係數中之一些或全部相關聯的位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執行對包括經量化變換係數之矩陣的掃描。替代地,熵編碼單元56可執行掃描。
在量化之後,熵編碼單元56熵編碼經量化變換係數。舉例而言,熵編碼單元56可執行上下文自適應可變長度寫碼(CAVLC)、上下文自適應二進位算術寫碼(CABAC)、基於語法之上下文自適應二進位算術寫碼(SBAC)、機率區間劃分熵(PIPE)寫碼或另一熵編碼技術。在由熵編碼單元56進行熵編碼之後,經編碼位元串流可傳輸至解碼器件112,或經存檔以供稍後由解碼器件112傳輸或由解碼器件112擷取。熵編碼單元56亦可熵編碼正經寫碼之當前視訊圖塊的運動向量及其他語法元素。
反量化單元58及反變換處理單元60分別應用反量化及反變換以重建構像素域中之殘餘區塊以供稍後用作參考圖像之參考區塊。運動補償單元44可藉由將殘餘區塊添加至參考圖像清單內之參考圖像中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘餘區塊以計算子整數像素值以供用於運動估計。求和器62將經重建構殘餘區塊添加至由運動補償單元44產生之運動補償預測區塊以產生用於儲存於圖像記憶體64中之參考區塊。參考區塊可由運動估計單元42及運動補償單元44用作參考區塊以框間預測後續視訊圖框或圖像中之區塊。
以此方式,圖10之編碼器件104表示經組態以執行本文中描述之技術中之任一者的視訊編碼器之實例,包括上文關於圖7、圖8及/或圖9所描述之程序。在一些情況下,本發明之技術中之一些亦可藉由後處理器件57實施。
圖11為說明實例解碼器件112之方塊圖。解碼器件112包括熵解碼單元80、預測處理單元81、反量化單元86、反變換處理單元88、求和器90、濾波器單元91及圖像記憶體92。預測處理單元81包括運動補償單元82及框內預測處理單元84。在一些實例中,解碼器件112可執行大體上與關於來自圖11之編碼器件104描述的編碼遍次互逆的解碼遍次。
在解碼程序期間,解碼器件112接收表示由編碼器件104發送之經編碼視訊圖塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。在一些實施例中,解碼器件112可自編碼器件104接收經編碼視訊位元串流。在一些實施例中,解碼器件112可自網路實體79 (諸如,伺服器、媒體感知網路元件(MANE)、視訊編輯器/編接器或經組態以實施上文所描述之技術中之一或多者的其他此類器件)接收經編碼視訊位元串流。網路實體79可或可不包編碼器件104。在網路實體79將經編碼視訊位元串流傳輸至解碼器件112之前,本發明中所描述之技術中的一些可由網路實體79實施。在一些視訊解碼系統中,網路實體79及解碼器件112可為獨立器件之部分,而在其他情況下,關於網路實體79描述之功能性可由包含解碼器件112之同一器件執行。
解碼器件112之熵解碼單元80對位元串流進行熵解碼以產生經量化係數、運動向量及其他語法元素。熵解碼單元80將運動向量及其他語法元素轉遞至預測處理單元81。解碼器件112可接收在視訊圖塊層級及/或視訊區塊層級的語法元素。熵解碼單元80可處理並剖析諸如VPS、SPS及PPS之一或多個參數集中之固定長度語法元素及可變長度語法元素兩者。
當將視訊圖塊寫碼為經框內寫碼(I)圖塊時,預測處理單元81之框內預測處理單元84可基於發信的框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。當將視訊圖塊寫碼為經框間寫碼(亦即,B、P或GPB)圖塊時,預測處理單元81之運動補償單元82基於運動向量及自熵解碼單元80接收之其他語法元素而產生當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單內之參考圖像中的一者產生。解碼器件112可基於儲存於圖像記憶體92中之參考圖像使用預設建構技術來建構參考圖框清單--清單0及清單1。
運動補償單元82藉由剖析運動向量及其他語法元素來判定當前視訊圖塊之視訊區塊的預測資訊,且使用該預測資訊產生用於正經解碼之當前視訊區塊之預測性區塊。舉例而言,運動補償單元82可使用參數集中之一或多個語法元素以判定用以寫碼視訊圖塊之視訊區塊之預測模式(例如,框內預測或框間預測)、框間預測圖塊類型(例如,B圖塊、P圖塊或GPB圖塊)、圖塊之一或多個參考圖像清單之建構資訊、圖塊之每一框間編碼視訊區塊之運動向量、圖塊之每一框間寫碼視訊區塊之框間預測狀態,及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。
運動補償單元82亦可執行基於內插濾波器之內插。運動補償單元82可使用如在編碼視訊區塊期間由編碼器件104使用的內插濾波器來計算參考區塊之子整數像素的內插值。在此情況下,運動補償單元82可自所接收語法元素判定由編碼器件104使用之內插濾波器,且可使用內插濾波器來產生預測性區塊。
反量化單元86反量化或解量化位元串流中所提供且由熵解碼單元80解碼之經量化變換係數。反量化程序可包括使用由編碼器件104針對視訊圖塊中之每一視訊區塊計算的量化參數來判定量化程度及同樣應應用之反量化程度。反變換處理單元88將反變換(例如,反DCT或其他合適的反變換)、反整數變換或概念上類似的反變換過程應用於變換係數以便在像素域中產生殘餘區塊。
在運動補償單元82基於運動向量及其他語法元素而產生當前視訊區塊之預測性區塊之後,解碼器件112藉由將來自反變換處理單元88之殘餘區塊與由運動補償單元82產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器90表示執行此求和運算之一或多個組件。若需要,亦可使用迴路濾波器(在寫碼迴路中或在寫碼迴路後)以使像素轉變平滑,或以其他方式改良視訊品質。濾波器單元91意欲表示一或多個迴路濾波器,諸如解塊濾波器、自適應迴路濾波器(ALF)及樣本自適應偏移(SAO)濾波器。儘管濾波器單元91在圖11中展示為迴路濾波器,但在其他組態中,濾波器單元91可實施為後迴路濾波器。給定圖框或圖像中之經解碼視訊區塊接著儲存於圖像記憶體92中,該圖像記憶體儲存用於後續運動補償之參考圖像。圖像記憶體92亦儲存經解碼視訊以供稍後呈現於顯示器件(諸如,圖1中所展示之視訊目的地器件122)上。
以此方式,圖11之解碼器件112表示經組態以執行本文中描述之技術中之任一者的視訊解碼器之實例,包括上文關於圖8及/或圖9所描述之程序。
如本文所用,術語「電腦可讀媒體」包括(但不限於)攜帶型或非攜帶型儲存器件、光儲存器件及能夠儲存、含有或攜載指令及/或資料的各種其他媒體。電腦可讀媒體可包括非暫時性媒體,其中可儲存資料並且不包括載波及/或無線地或經由有線連接傳播之暫時電子信號。非暫時性媒體之實例可包括(但不限於)磁碟或磁帶、諸如緊密光碟(CD)或數位化通用光碟(DVD)之光學儲存媒體、快閃記憶體、記憶體或記憶體器件。電腦可讀媒體可具有儲存於其上之程式碼及/或機器可執行指令,該等程式碼及/或機器可執行指令可表示程序、函數、子程式、程式、常式、次常式、模組、軟體套件、類別,或指令、資料結構或程式語句之任何組合。一個碼段可藉由傳遞及/或接收資訊、資料、論證、參數或記憶體內容耦接至另一碼段或硬體電路。資訊、引數、參數、資料等可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸或其類似者之任何合適方式傳遞、轉遞或傳輸。
在一些實施例中,電腦可讀儲存器件、媒體及記憶體可包括含有位元串流及類似者之纜線或無線信號。然而,當提到時,非暫時性電腦可讀儲存媒體明確地排除諸如能量、載波信號、電磁波及信號本身之媒體。
在以上描述中提供特定細節從而提供本文提供之實施例及實例的透徹理解。然而,一般熟習此項技術者應理解,實施例可在無需此等具體細節的情況下實踐。為了解釋之清楚起見,在一些情況下,本發明技術可呈現為包括個別功能區塊,其包括包含軟體或硬體及軟體之組合中所體現的器件、器件組件、方法中之步驟或常式的功能區塊。除諸圖中展示及/或本文中所描述的彼等組件以外,可使用額外組件。舉例而言,電路、系統、網路、程序及其他組件可以方塊圖形式展示為組件以免以不必要的細節混淆實施例。在其他情況下,可在無不必要細節之情況下展示熟知電路、程序、演算法、結構及技術以便避免混淆實施例。
個別實施例可在上文描述為描繪為流程圖(flowchart, a flow diagram)、資料流程圖、結構圖或方塊圖的程序或方法。儘管流程圖可能將操作描述為順序程序,但許多操作可並行地或同時加以執行。另外,可再配置操作之次序。程序在其操作完成時終止,但可具有不包括於圖中之額外步驟。程序可對應於方法、函數、程序、次常式、次程式等。當程序對應於函數時,其終止可對應於函數傳回至呼叫函數或主函數。
可使用經儲存或以其他方式可自電腦可讀媒體獲得的電腦可執行指令實施根據上文所描述之實例的程序及方法。此等指令可包括(例如)使或以其他方式組態通用電腦、專用電腦或處理器件以執行某一功能或功能群組之指令及資料。可經由網路存取所使用的電腦資源之部分。電腦可執行指令可為(例如)二進位中間格式指令,諸如,組合語言、韌體、原始程式碼等。可用於儲存指令、所使用資訊及/或根據所描述實例之方法期間所產生的資訊之電腦可讀媒體的實例包括磁碟或光碟、快閃記憶體、具備非揮發性記憶體之USB器件、網路連接儲存器件等等。
實施根據此等揭示內容之程序及方法的器件可包括硬體、軟體、韌體、中間軟體、微碼、硬體描述語言或其任何組合,且可採取多種外觀尺寸中之任一者。當以軟體、韌體、中間軟體或微碼實施時,用以執行必要任務之程式碼或碼段(例如,電腦程式產品)可儲存於電腦可讀或機器可讀媒體中。一或多個處理器可執行必要任務。外觀尺寸之典型實例包括膝上型電腦、智慧型手機、行動電話、平板電腦器件或其他小外觀尺寸個人電腦、個人數位助理、機架式器件、獨立式器件等。本文中所描述之功能性亦可體現於周邊裝置或附加卡。作為進一步之實例,此功能性亦可實施於不同晶片或執行於單一器件中之不同程序中的電路板上。
該等指令、用於輸送此等指令之媒體、用於執行此等媒體之計算資源,及用於支援此等計算資源之其他結構為用於提供本發明中所描述之功能的實例構件。
在前述描述中,參考其特定實施例描述申請案之態樣,但熟習此項技術者將認識到本申請案不限於此。因此,雖然本文中已詳細描述申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之申請案之各種特徵及態樣可個別地或聯合地使用。此外,實施例可用於超出本文中所描述之彼等環境及應用的任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代實施例中,可以與所描述之次序不同之次序來執行該等方法。
一般技術者將瞭解,在不脫離本說明書之範疇之情況下,本文中所使用之小於(「<」)及大於(「>」)符號或術語可分別用小於或等於(「≤」)及大於或等於(「≥」)符號替換。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如,微處理器或其他適合之電子電路)以執行操作或其任何組合來實現此組態。
片語「耦接至」指直接地或間接地實體地連接至另一組件之任何組件,及/或直接地或間接地與另一組件(例如經由有線或無線連接及/或其他合適通信介面連接至其他組件)通信的任何組件。
列舉一集合「中之至少一者」及/或一集合之「中之一或多者」的技術方案語言或其他語言指示該集合之一個成員或該集合之多個成員(以任何組合)滿足該技術方案。舉例而言,列舉「A及B中之至少一者」的技術方案語言意謂A、B或A及B。在另一實例中,列舉「A、B及C中之一或多者」的技術方案語言意謂A、B、C、或A及B、或A及C、或B及C,或A及B及C。語言一集合「中之至少一者」及/或一集合「中之一或多者」並不將該集合限制為該集合中所列舉之項。舉例而言,列舉「A及B中之至少一者」的技術方案語言可意謂A、B或A及B,且可另外包括A及B之集合中未列舉的項。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。將此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統上之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,而不應將此等實施決策解譯為使脫離本發明之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種器件中之任何者中,諸如,通用電腦、無線通信器件手機或具有多種用途(包括在無線通信器件手機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於整合式邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行上文所描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM),諸如,同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體,及其類似者。另外或替代地,該等技術可至少部分由電腦可讀通信媒體實現,電腦可讀通信媒體攜載或傳達呈指令或資料結構形式且可由電腦存取、讀取及/或執行的程式碼,諸如,經傳播的信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路系統。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組內,或併入於經組合視訊編碼器-解碼器(編碼解碼器)中。
本發明之說明性實例包括:
實例1:    一種處理視訊資料之方法,該方法包含:獲得該視訊資料之一當前區塊;判定該當前區塊的一寬度及一高度中之至少一者大於一大小臨限值;判定不存在用於該當前區塊之一子劃分分裂旗標;及判定用於該當前區塊之該子劃分分裂旗標的一值,該子劃分分裂旗標定義該當前區塊之一分裂,其中該子劃分分裂旗標之該值係基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定。
實例2:    如請求項1之方法,其中該子劃分分裂旗標經判定當該當前區塊之該寬度大於該大小臨限值時具有一第一值,該第一值對應於一垂直分裂。
實例3:    如實例1至2中的任一項之方法,其中該子劃分分裂旗標經判定當該當前區塊之該高度大於該大小臨限值時具有一第二值,該第二值對應於一水平分裂。
實例4:    如實例1之方法,其中該子劃分分裂旗標經判定當該當前區塊之該寬度大於該大小臨限值且該當前區塊之該高度小於該大小臨限值時具有一第一值,該第一值對應於一垂直分裂。
實例5:    如實例1或4中的任一項之方法,其中該子劃分分裂旗標經判定當該當前區塊之該高度大於該大小臨限值且該當前區塊之該寬度小於該大小臨限值時具有一第二值,該第二值對應於一水平分裂。
實例6:    如實例1至5中的任一項之方法,其中基於該當前區塊的該寬度及該高度中之至少一者大於該大小臨限值而不發信該子劃分分裂旗標。
實例7:    如實例1至6中的任一項之方法,其進一步包含:基於該子劃分分裂旗標將該當前區塊垂直地或水平地分成子劃分。
實例8:    如實例1至7中的任一項之方法,其中該當前區塊為一經框內預測區塊。
實例9:    如實例1至8中的任一項之方法,其中該當前區塊為一明度經框內預測區塊。
實例10.    一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例1至9中任一項之處理該視訊資料的一處理器的裝置。
實例11:  如實例10之裝置,其中該裝置包括一解碼器。
實例12:  如實例10之裝置,其中該裝置包括一編碼器。
實例13:  如實例10至12中的任一項之裝置,其中該裝置為一行動器件。
實例14:  如實例10至13中的任一項之裝置,其中該裝置包括經組態以顯示該視訊資料之一顯示器。
實例15:  如實例10至14中的任一項之裝置,其中該裝置包括經組態以捕捉一或多個圖像之一攝影機。
實例16:  一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例1至9中任一項之方法。
實例17:  一種處理視訊資料的方法,該方法包含:獲得該視訊資料之一當前區塊;判定該當前區塊之一寬度及一高度中之至少一者大於一大小臨限值;及將該當前區塊劃分成子劃分,其中該當前區塊經劃分直至該子劃分之寬度及高度不超過該大小臨限值為止。
實例18:  如實例17之方法,其中劃分該當前區塊包括減少超過該大小臨限值的該寬度及該高度中之至少一者。
實例19:  如實例17至18中的任一項之方法,其中將該當前區塊劃分成子劃分包括當一子劃分分裂類型為水平或垂直時使用一變換樹語法結構。
實例20:  如實例17至18中的任一項之方法,其進一步包含當該經寫碼區塊的該寬度及高度中之至少一者大於該大小臨限值時修改一子劃分數目變數的一值,該子劃分數目變數指定一區塊被分成的子劃分之一數目,其中該修改值使該等子劃分之該寬度及高度中之至少一者不超過該大小臨限值。
實例21:  如實例17至18中的任一項之方法,其中與該當前區塊相關聯的一子劃分模式旗標之一值將一子劃分約束於不超過寬度及高度中之至少一者的該大小臨限值,該子劃分模式旗標指定該當前區塊是否經劃分成數個區塊子劃分。
實例22:  如實例21之方法,其中區塊子劃分的該數目係藉由一子劃分數目變數指定。
實例23:  一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例17至22中任一項之處理該視訊資料的一處理器的裝置。
實例24:  如實例23之裝置,其中該裝置包括一解碼器。
實例25:  如實例23之裝置,其中該裝置包括一編碼器。
實例26:  如實例23至25中的任一項之裝置,其中該裝置為一行動器件。
實例27:  如實例23至26中的任一項之裝置,其中該裝置包括經組態以顯示該視訊資料之一顯示器。
實例28:  如實例23至27中的任一項之裝置,其中該裝置包括經組態以捕捉一或多個圖像之一攝影機。
實例29:  一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例17至22中任一項之方法。
實例30:  一種處理視訊資料的方法,該方法包含:獲得該視訊資料之一當前區塊;及基於一約束寫碼該當前區塊,該約束指定該當前區塊不越過一虛擬管線資料單元(VPDU)邊界。
實例31:  如實例30之裝置,其中該約束指定當該當前區塊的一寬度及一高度中之至少一者大於一VPDU之一最大寬度或高度時,與該當前區塊相關聯的一子劃分模式旗標的一值應等於一特定值,該特定值指定該當前區塊未經劃分成區塊子劃分。
實例32:  一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例30至31中任一項之處理該視訊資料的一處理器的裝置。
實例33:  如實例32之裝置,其中該裝置包括一解碼器。
實例34:  如實例32之裝置,其中該裝置包括一編碼器。
實例35:  如實例32至34中的任一項之裝置,其中該裝置為一行動器件。
實例36:  如實例32至35中的任一項之裝置,其中該裝置包括經組態以顯示該視訊資料之一顯示器。
實例37:  如實例32至36中的任一項之裝置,其中該裝置包括經組態以捕捉一或多個圖像之一攝影機。
實例38:  一種其上儲存有指令之電腦可讀媒體,該等指令在由一處理器執行時執行如實例30至31中任一項之方法。
條項1:一種用於編碼視訊資料之裝置,該裝置包含:一記憶體;及一處理器,其實施於電路系統中且經組態以執行以下操作:獲得視訊資料之一圖像的一當前區塊;判定該圖像之該當前區塊的一寬度是否大於一寬度大小臨限值及該當前區塊之一高度是否大於一高度大小臨限值中之至少一者,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度;基於該當前區塊之該寬度是否大於該寬度大小臨限值及該當前區塊之該高度是否大於該高度大小臨限值中之至少一者判定一內子劃分模式旗標是否將經發信用於該當前區塊,其中該內子劃分模式旗標之一值指示該當前區塊是否經劃分成矩形變換區塊子劃分;及基於判定該內子劃分模式旗標是否將經發信用於該當前區塊而產生包括至少該當前區塊的一經編碼視訊位元串流。
條項2:如條項1之裝置,其中該寬度大小臨限值等於該高度大小臨限值。
條項3:如條項1至2中任一項之裝置,其中該寬度大小臨限值不同於該高度大小臨限值。
條項4:如條項1至3中任一項之裝置,其中該內子劃分模式旗標之一值等於一第一值指定該當前區塊經劃分成矩形變換區塊子劃分,且該內子劃分模式旗標之該值等於一第二值指定該當前區塊未經劃分成矩形變換區塊子劃分。
條項5:如條項1至4中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該寬度大於該寬度大小臨限值或該當前區塊之該高度大於該高度大小臨限值;及基於該當前區塊之該寬度大於該寬度大小臨限值或該當前區塊之該高度大於該高度大小臨限值的判定,判定用於該當前區塊之該內子劃分模式旗標的該值等於該第二值。
條項6:如條項1至5中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該寬度小於或等於該寬度大小臨限值且該當前區塊之該高度小於或等於該高度大小臨限值;及基於該當前區塊之該寬度小於或等於該寬度大小臨限值且該當前區塊之該高度小於或等於該高度大小臨限值的判定,判定發信用於該當前區塊之該內子劃分模式旗標(例如,為該第一值或該第二值)。
條項7:如條項1至6中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該寬度小於或等於一大小臨限值且該當前區塊之該高度小於或等於該大小臨限值,該大小臨限值對應於一最大變換區塊大小;及基於該當前區塊之該寬度小於或等於該大小臨限值及該當前區塊之該高度小於或等於該大小臨限值的判定,判定發信用於該當前區塊之該內子劃分模式旗標(例如,為該第一值或該第二值)。
條項8:如條項1至7中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該寬度小於或等於一大小臨限值或該當前區塊之該高度小於或等於該大小臨限值,該大小臨限值對應於一最大變換區塊大小;及基於該當前區塊之該寬度小於或等於該大小臨限值或該當前區塊之該高度小於或等於該大小臨限值的判定,判定用於該當前區塊之該內子劃分模式旗標的該值為該第二值。
條項9:如條項1至8中任一項之裝置,其中該處理器經進一步組態以:判定該內子劃分模式旗標將經發信用於該當前區塊;及基於該內子劃分模式旗標將經發信用於該當前區塊的判定,將該當前區塊之該內子劃分模式旗標包括於該經編碼視訊位元串流中。
條項10:如條項1至9中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊的一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及基於該當前區塊之該寬度或該高度大於對應於該最大變換區塊大小之該大小臨限值的判定,判定用於該當前區塊之一內子劃分分裂旗標的一值,該內子劃分分裂旗標指定用於劃分該當前區塊的一分裂類型為水平抑或垂直。
條項11:如條項1至10中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該寬度大於該大小臨限值;及基於該當前區塊之該寬度大於該大小臨限值的判定,判定該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
條項12:如條項1至11中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該高度大於該大小臨限值;及基於該當前區塊之該高度大於該大小臨限值的判定,判定該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
條項13:如條項1至12中任一項之裝置,其中該處理器經進一步組態以:基於該當前區塊之該內子劃分分裂旗標將該當前區塊垂直地或水平地分成子劃分。
條項14:如條項1至13中任一項之裝置,其中該當前區塊為一經框內預測區塊。
條項15:如條項1至14中任一項之裝置,其中該資料單元為一虛擬管線資料單元(VPDU)。
條項16:如條項1至15中任一項之裝置,其中該資料單元為一變換區塊。
條項17:如條項1至16中任一項之裝置,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
條項18:一種解碼視訊資料的方法,該方法包含:獲得包括視訊資料之一經編碼視訊位元串流;判定一內子劃分分裂旗標不存在於視訊資料之一當前區塊的該經編碼視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式之一分裂類型為水平抑或垂直;判定該當前區塊的一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊之該內子劃分分裂旗標的一值。
條項19:如條項18之方法,其進一步包含:判定針對該當前區塊啟用一內子劃分模式旗標;及基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
條項20:如條項18至19中任一項之方法,其進一步包含:判定該當前區塊之該寬度大於該大小臨限值;及基於該當前區塊之該寬度大於該大小臨限值的判定,判定該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
條項21:如條項18至20中任一項之方法,其進一步包含:使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
條項22:如條項18至21中任一項之方法,其進一步包含:判定該當前區塊之該高度大於該大小臨限值;及基於該當前區塊之該高度大於該大小臨限值的判定,判定該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
條項23:如條項18至22中任一項之方法,其進一步包含:使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
條項24:如條項18至23中任一項之方法,其進一步包含:判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中;及基於該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標的一模式值。
條項25:如條項18至24中任一項之方法,其中該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中指示該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值中之至少一者,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度。
條項26:如條項18至25中任一項之方法,其中該寬度大小臨限值等於該高度大小臨限值。
條項27:如條項18至26中任一項之方法,其中該寬度大小臨限值不等於該高度大小臨限值。
條項28:如條項18至27中任一項之方法,其中該資料單元為一虛擬管線資料單元(VPDU)。
條項29:如條項18至28中任一項之方法,其中該資料單元為一變換區塊。
條項30:如條項18至29中任一項之方法,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
條項31:如條項18至30中任一項之方法,其中該當前區塊為一經框內預測區塊。
條項32:如條項18至31中任一項之方法,其進一步包含:執行一視訊資料區塊的基於區塊之劃分以產生包括該當前區塊之一或多個寫碼區塊;判定針對該當前區塊啟用該內子劃分模式;及基於判定針對該當前區塊啟用該內子劃分模式,使用該內子劃分模式將該當前區塊劃分成兩個或更多個子區塊。
條項33:如條項18至32中任一項之方法,其進一步包含:藉由將各別兩個或更多個殘餘值應用於該兩個或更多個子區塊而重建構該兩個或更多個子區塊。
條項34:一種用於解碼視訊資料之裝置,該裝置包含:一記憶體;及一處理器,其實施於電路系統中且經組態以:獲得包括視訊資料之一經編碼視訊位元串流;判定一內子劃分分裂旗標不存在於視訊資料之一當前區塊的該經編碼視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式之一分裂類型為水平抑或垂直;判定該當前區塊的一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊的該內子劃分分裂旗標之一值。
條項35:如條項34之裝置,其中該處理器經進一步組態以:判定針對該當前區塊啟用一內子劃分模式旗標;及基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
條項36:如條項34至35中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該寬度大於該大小臨限值;及基於該當前區塊之該寬度大於該大小臨限值的判定,判定該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
條項37:如條項34至36中任一項之裝置,其中該處理器經進一步組態以:使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
條項38:如條項34至37中任一項之裝置,其中該處理器經進一步組態以:判定該當前區塊之該高度大於該大小臨限值;及基於該當前區塊之該高度大於該大小臨限值的判定,判定該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
條項39:如條項34至38中任一項之裝置,其中該處理器經進一步組態以:使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
條項40:如條項34至39中任一項之裝置,其中該處理器經進一步組態以:判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中;及基於該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標的一模式值。
條項41:如條項34至40中任一項之裝置,其中該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中指示該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值中之至少一者,該寬度大小臨限值對應於一虛擬管線資料單元(VPDU)的一寬度且該高度大小臨限值對應於該VPDU之一高度。
條項42:如條項34至41中任一項之裝置,其中該寬度大小臨限值等於該高度大小臨限值。
條項43:如條項34至42中任一項之裝置,其中該寬度大小臨限值不等於該高度大小臨限值。
條項44:如條項34至43中任一項之裝置,其中該資料單元為一虛擬管線資料單元(VPDU)。
條項45:如條項34至44中任一項之裝置,其中該資料單元為一變換區塊。
條項46:如條項34至45中任一項之裝置,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
條項47:如條項34至43中任一項之裝置,其中該當前區塊為一經框內預測區塊。
條項48:如條項34至44中任一項之裝置,其中該處理器經進一步組態以:執行一視訊資料區塊的基於區塊之劃分以產生包括該當前區塊之一或多個寫碼區塊;判定針對該當前區塊啟用該內子劃分模式;及基於判定針對該當前區塊啟用該內子劃分模式,使用該內子劃分模式將該當前區塊劃分成兩個或更多個子區塊。
條項49:如條項34至48中任一項之裝置,其中該處理器經進一步組態以:藉由將各別兩個或更多個殘餘值應用於該兩個或更多個子區塊而重建構該兩個或更多個子區塊。
條項50:如條項34至49中任一項之裝置,其中該裝置包含具有用於捕捉一或多個圖像之一攝影機的一行動器件。
實例51:如實例34至50中任一項之裝置,其進一步包含用於顯示一或多個圖像之一顯示器。
條項52:一種其上儲存有指令的非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使該一或多個處理器執行以下操作:獲得包括視訊資料之一經編碼視訊位元串流;判定一內子劃分分裂旗標不存在於視訊資料之一當前區塊的該經編碼視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式之一分裂類型為水平抑或垂直;判定該當前區塊之一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊之該內子劃分分裂旗標的一值。
條項53:如條項52之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:判定針對該當前區塊啟用一內子劃分模式旗標;及基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
條項54:如條項52至53中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:判定該當前區塊之該寬度大於該大小臨限值;及基於該當前區塊之該寬度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
條項55:如條項52至54中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使處理器:使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
條項56:如條項52至55中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:判定該當前區塊之該高度大於該大小臨限值;及基於該當前區塊之該高度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
條項57:如條項52至56中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
條項58:如條項52至57中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中;及基於該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標之一模式值。
條項59:如條項52至58中任一項之非暫時性電腦可讀媒體,其中該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中指示該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值中之至少一者,該寬度大小臨限值對應於一虛擬管線資料單元(VPDU)的一寬度且該高度大小臨限值對應於該VPDU之一高度。
條項60:如條項52至59中任一項之非暫時性電腦可讀媒體,其中該寬度大小臨限值等於該高度大小臨限值。
條項61:如條項52至60中任一項之非暫時性電腦可讀媒體,其中該寬度大小臨限值不等於該高度大小臨限值。
條項62:如條項52至61中任一項之非暫時性電腦可讀媒體,其中該資料單元為一虛擬管線資料單元(VPDU)。
條項64:如條項52至62中任一項之非暫時性電腦可讀媒體,其中該資料單元為一變換區塊。
條項65:如條項52至63中任一項之非暫時性電腦可讀媒體,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
條項66:如條項52至64中任一項之非暫時性電腦可讀媒體,其中該當前區塊為一經框內預測區塊。
條項67:如條項52至65中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:執行一視訊資料區塊的基於區塊之劃分以產生包括該當前區塊之一或多個寫碼區塊;判定針對該當前區塊啟用該內子劃分模式;及基於判定針對該當前區塊啟用該內子劃分模式,使用該內子劃分模式將該當前區塊劃分成兩個或更多個子區塊。
條項68:如條項52至66中任一項之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器:藉由將各別兩個或更多個殘餘值應用於該兩個或更多個子區塊而重建構該兩個或更多個子區塊。
條項69:一種用於解碼視訊資料之裝置,該裝置包含:用於獲得包括視訊資料之一經編碼視訊位元串流的構件;用於判定一內子劃分分裂旗標不存在於視訊資料之一當前區塊之該經編碼視訊位元串流中的構件,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式的一分裂類型為水平抑或垂直;用於判定該當前區塊的一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值的構件;及用於基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊的該內子劃分分裂旗標之一值的構件。
條項70:如條項69之裝置,其進一步包含:用於判定針對該當前區塊啟用一內子劃分模式旗標的構件;及用於基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中的構件,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
條項71:如條項69至70中任一項之裝置,其進一步包含:用於判定該當前區塊之該寬度大於該大小臨限值的構件;及基於該當前區塊之該寬度大於該大小臨限值的判定,用於判定該內子劃分分裂旗標之一第一分裂值的構件,該第一分裂值對應於一垂直分裂類型。
條項72:如條項69至71中任一項之裝置,其進一步包含:用於使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊的構件,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
條項73:如條項69至72中任一項之裝置,其進一步包含:用於判定該當前區塊之該高度大於該大小臨限值的構件;及基於該當前區塊之該高度大於該大小臨限值的判定,用於判定該內子劃分分裂旗標之一第二分裂值的構件,該第二分裂值對應於一水平分裂類型。
條項74:如條項69至73中任一項之裝置,其進一步包含:用於使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊的構件,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
條項75:如條項69至74中任一項之裝置,其進一步包含:用於判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中的構件;及用於基於該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標之一模式值的構件。
條項76:如條項69至75中任一項之裝置,其中該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中指示該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值中之至少一者,該寬度大小臨限值對應於一虛擬管線資料單元(VPDU)的一寬度且該高度大小臨限值對應於該VPDU之一高度。
條項77:如條項69至76中任一項之裝置,其中該寬度大小臨限值等於該高度大小臨限值。
條項78:如條項69至77中任一項之裝置,其中該寬度大小臨限值不等於該高度大小臨限值。
條項79:如條項69至78中任一項之裝置,其中該資料單元為一虛擬管線資料單元(VPDU)。
條項80:如條項69至79中任一項之裝置,其中該資料單元為一變換區塊。
條項81:如條項69至80中任一項之裝置,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
條項82:如條項69至81中任一項之裝置,其中該當前區塊為一經框內預測區塊。
條項83:如條項69至82中任一項之裝置,其進一步包含:用於執行一視訊資料區塊的基於區塊之劃分以產生包括該當前區塊之一或多個寫碼區塊的構件;用於判定針對該當前區塊啟用該內子劃分模式的構件;及基於判定針對該當前區塊啟用該內子劃分模式,用於使用該內子劃分模式將該當前區塊劃分成兩個或更多個子區塊的構件。
條項84:如條項69至83中任一項之裝置,其進一步包含:用於藉由將各別兩個或更多個殘餘值應用於該兩個或更多個子區塊而重建構該兩個或更多個子區塊的構件。
35:劃分單元 41:預測處理單元 42:運動估計單元 44:運動補償單元 46:框內預測處理單元 50:求和器 52:變換處理單元 54:量化單元 56:熵編碼單元 57:後處理器件 58:反量化單元 60:反變換處理單元 62:求和器 63:濾波器單元 64:圖像記憶體 79:網路實體 80:熵解碼單元 81:預測處理單元 82:運動補償單元 84:框內預測處理單元 86:反量化單元 88:反變換處理單元 90:求和器 91:濾波器單元 92:圖像記憶體 100:系統 102:視訊源 104:編碼器件 106:編碼器引擎 108:儲存器 110:輸出 112:解碼器件 114:輸入 116:解碼器引擎 118:儲存器 120:通信鏈路 122:視訊目的地器件 202:當前區塊 204a:ISP區塊 204b:ISP區塊 206a:ISP區塊 206b:ISP區塊 302:當前區塊 304a:ISP區塊 304b:ISP區塊 304c:ISP區塊 304d:ISP區塊 306a:ISP區塊 306b:ISP區塊 306c:ISP區塊 306d:ISP區塊 402:寫碼區塊 500:虛擬管線資料單元(VPDU) 520:第一區塊 522:第二區塊 524:第三區塊 526:第四區塊 602:寫碼區塊 630:第一VPDU 632:第二VPDU 634:第三VPDU 636:第四VPDU 700:程序 702:步驟 704:步驟 706:步驟 708:步驟 800:程序 802:步驟 804:步驟 806:步驟 900:程序 902:步驟 904:步驟 906:步驟 908:區塊 H:高度 W:寬度
下文參考以下圖式詳細描述本申請案之說明性實施例:
圖1為說明根據一些實例之編碼器件及解碼器件之實例的方塊圖;
圖2為說明根據一些實例之區塊之分割的實例之概念圖;
圖3為說明根據一些實例之區塊之分割的另一實例之概念圖;
圖4為說明根據一些實例之寫碼區塊的實例之概念圖;
圖5為說明根據一些實例之含有四個區塊的VPDU之實例的概念圖;
圖6為說明根據一些實例之跨越多個VPDU的當前區塊之實例的概念圖;
圖7為說明根據一些實施例之處理視訊資料之程序的實例之流程圖;
圖8為說明根據一些實施例之處理視訊資料之程序的實例之流程圖;
圖9為說明根據一些實施例之處理視訊資料之程序的實例之流程圖;
圖10為說明根據一些實例之實例視訊編碼器件之方塊圖;且
圖11為說明根據一些實例之實例視訊解碼器件之方塊圖。
302:當前區塊
304a:ISP區塊
304b:ISP區塊
304c:ISP區塊
304d:ISP區塊
306a:ISP區塊
306b:ISP區塊
306c:ISP區塊
306d:ISP區塊
H:高度
W:寬度

Claims (69)

  1. 一種用於編碼視訊資料之裝置,該裝置包含: 一記憶體;及 一處理器,其實施於電路系統中且經組態以執行以下操作: 獲得視訊資料之一圖像的一當前區塊; 判定以下之至少一者:該圖像之該當前區塊的一寬度是否大於一寬度大小臨限值及該當前區塊之一高度是否大於一高度大小臨限值,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度; 基於該當前區塊之該寬度是否大於該寬度大小臨限值及該當前區塊之該高度是否大於該高度大小臨限值二者中之至少一者判定一內子劃分模式旗標是否將經發信用於該當前區塊,其中該內子劃分模式旗標之一值指示該當前區塊是否經劃分成矩形變換區塊子劃分;及 基於判定該內子劃分模式旗標是否將經發信用於該當前區塊,產生包括至少該當前區塊之一經編碼視訊位元串流。
  2. 如請求項1之裝置,其中該寬度大小臨限值等於該高度大小臨限值。
  3. 如請求項1之裝置,其中該寬度大小臨限值不同於該高度大小臨限值。
  4. 如請求項1之裝置,其中該內子劃分模式旗標之一值等於一第一值指定該當前區塊經劃分成矩形變換區塊子劃分,且該內子劃分模式旗標之該值等於一第二值指定該當前區塊未經劃分成矩形變換區塊子劃分。
  5. 如請求項4之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該寬度大於該寬度大小臨限值或該當前區塊之該高度大於該高度大小臨限值;且 基於該當前區塊之該寬度大於該寬度大小臨限值或該當前區塊之該高度大於該高度大小臨限值的判定,判定用於該當前區塊的該內子劃分模式旗標之該值等於該第二值。
  6. 如請求項4之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該寬度小於或等於該寬度大小臨限值且該當前區塊之該高度小於或等於該高度大小臨限值;且 基於該當前區塊之該寬度小於或等於該寬度大小臨限值且該當前區塊之該高度小於或等於該高度大小臨限值的判定,判定發信用於該當前區塊之該內子劃分模式旗標。
  7. 如請求項4之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該寬度小於或等於一大小臨限值且該當前區塊之該高度小於或等於該大小臨限值,該大小臨限值對應於一最大變換區塊大小;且 基於該當前區塊之該寬度小於或等於該大小臨限值且該當前區塊之該高度小於或等於該大小臨限值的判定,判定發信用於該當前區塊之該內子劃分模式旗標。
  8. 如請求項4之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該寬度小於或等於一大小臨限值或該當前區塊之該高度小於或等於該大小臨限值,該大小臨限值對應於一最大變換區塊大小;且 基於該當前區塊之該寬度小於或等於該大小臨限值或該當前區塊之該高度小於或等於該大小臨限值的判定,判定用於該當前區塊之該內子劃分模式旗標的該值為該第二值。
  9. 如請求項4之裝置,其中該處理器經進一步組態以: 判定該內子劃分模式旗標將經發信用於該當前區塊;且 基於該內子劃分模式旗標將經發信用於該當前區塊的判定,將用於該當前區塊之該內子劃分模式旗標包括於該經編碼視訊位元串流中。
  10. 如請求項1之裝置,其中該處理器經進一步組態以: 判定該當前區塊之一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;且 基於該當前區塊之該寬度或該高度大於對應於該最大變換區塊大小之該大小臨限值的判定,判定用於該當前區塊之一內子劃分分裂旗標的一值,該內子劃分分裂旗標指定用於劃分該當前區塊的一分裂類型為水平抑或垂直。
  11. 如請求項10之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該寬度大於該大小臨限值;且 基於該當前區塊之該寬度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
  12. 如請求項10之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該高度大於該大小臨限值;且 基於該當前區塊之該高度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
  13. 如請求項10之裝置,其中該處理器經進一步組態以: 基於用於該當前區塊之該內子劃分分裂旗標的該值將該當前區塊垂直地或水平地分成子劃分。
  14. 如請求項1之裝置,其中該當前區塊為一經框內預測區塊。
  15. 如請求項1之裝置,其中該資料單元為一虛擬管線資料單元(VPDU)。
  16. 如請求項1之裝置,其中該資料單元為一變換區塊。
  17. 如請求項16之裝置,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
  18. 一種解碼視訊資料之方法,該方法包含: 獲得包括視訊資料之一經編碼視訊位元串流; 判定一內子劃分分裂旗標不存在於用於視訊資料之一當前區塊的該經編碼視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式之一分裂類型為水平抑或垂直; 判定該當前區塊之一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及 基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊之該內子劃分分裂旗標的一值。
  19. 如請求項18之方法,其進一步包含: 判定針對該當前區塊啟用一內子劃分模式旗標;及 基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
  20. 如請求項18之方法,其進一步包含: 判定該當前區塊之該寬度大於該大小臨限值;及 基於該當前區塊之該寬度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
  21. 如請求項20之方法,其進一步包含: 使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
  22. 如請求項18之方法,其進一步包含: 判定該當前區塊之該高度大於該大小臨限值;及 基於該當前區塊之該高度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
  23. 如請求項22之方法,其進一步包含: 使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
  24. 如請求項18之方法,其進一步包含: 判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中;及 基於該內子劃分模式旗標不存在於用於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標的一模式值。
  25. 如請求項24之方法,其中該內子劃分模式旗標不存在於用於該第二區塊之該經編碼視訊位元串流中指示以下之至少一者:該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度。
  26. 如請求項25之方法,其中該寬度大小臨限值等於該高度大小臨限值。
  27. 如請求項25之方法,其中該寬度大小臨限值不等於該高度大小臨限值。
  28. 如請求項25之方法,其中該資料單元為一虛擬管線資料單元(VPDU)。
  29. 如請求項25之方法,其中該資料單元為一變換區塊。
  30. 如請求項29之方法,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
  31. 如請求項18之方法,其中該當前區塊為一經框內預測區塊。
  32. 如請求項18之方法,其進一步包含: 執行一視訊資料區塊的基於區塊之劃分以產生包括該當前區塊之一或多個寫碼區塊; 判定針對該當前區塊啟用該內子劃分模式;及 基於判定針對該當前區塊啟用該內子劃分模式,使用該內子劃分模式將該當前區塊劃分成兩個或更多個子區塊。
  33. 如請求項32之方法,其進一步包含: 藉由將各別兩個或更多個殘餘值應用於該兩個或更多個子區塊而重建構該兩個或更多個子區塊。
  34. 一種用於解碼視訊資料之裝置,該裝置包含: 一記憶體;及 一處理器,其實施於電路系統中且經組態以執行以下操作: 獲得包括視訊資料之一經編碼視訊位元串流; 判定一內子劃分分裂旗標不存在於用於視訊資料之一當前區塊的該經編碼視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式之一分裂類型為水平抑或垂直; 判定該當前區塊之一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及 基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊之該內子劃分分裂旗標的一值。
  35. 如請求項34之裝置,其中該處理器經進一步組態以: 判定針對該當前區塊啟用一內子劃分模式旗標;且 基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
  36. 如請求項34之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該寬度大於該大小臨限值;且 基於該當前區塊之該寬度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型。
  37. 如請求項36之裝置,其中該處理器經進一步組態以: 使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
  38. 如請求項34之裝置,其中該處理器經進一步組態以: 判定該當前區塊之該高度大於該大小臨限值;且 基於該當前區塊之該高度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型。
  39. 如請求項38之裝置,其中該處理器經進一步組態以: 使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
  40. 如請求項34之裝置,其中該處理器經進一步組態以: 判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中;且 基於該內子劃分模式旗標不存在於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標之一模式值。
  41. 如請求項40之裝置,其中該內子劃分模式旗標不存在於用於該第二區塊之該經編碼視訊位元串流中指示以下之至少一者:該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度。
  42. 如請求項41之裝置,其中該寬度大小臨限值等於該高度大小臨限值。
  43. 如請求項41之裝置,其中該寬度大小臨限值不等於該高度大小臨限值。
  44. 如請求項41之裝置,其中該資料單元為一虛擬管線資料單元(VPDU)。
  45. 如請求項41之裝置,其中該資料單元為一變換區塊。
  46. 如請求項45之裝置,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
  47. 如請求項34之裝置,其中該當前區塊為一經框內預測區塊。
  48. 如請求項34之裝置,其中該處理器經進一步組態以: 執行一視訊資料區塊的基於區塊之劃分以產生包括該當前區塊之一或多個寫碼區塊; 判定針對該當前區塊啟用該內子劃分模式;且 基於判定針對該當前區塊啟用該內子劃分模式,使用該內子劃分模式將該當前區塊劃分成兩個或更多個子區塊。
  49. 如請求項48之裝置,其中該處理器經進一步組態以: 藉由將各別兩個或更多個殘餘值應用於該兩個或更多個子區塊而重建構該兩個或更多個子區塊。
  50. 如請求項34之裝置,其中該裝置包含具有用於捕捉一或多個圖像之一攝影機的一行動器件。
  51. 如請求項34之裝置,其進一步包含用於顯示一或多個圖像之一顯示器。
  52. 一種其上儲存有指令之非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使該一或多個處理器執行以下操作: 獲得包括視訊資料之一經編碼視訊位元串流; 判定一內子劃分分裂旗標不存在用於視訊資料之一當前區塊的該經編碼視訊位元串流中,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式之一分裂類型為水平抑或垂直; 判定該當前區塊之一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值;及 基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊之該內子劃分分裂旗標的一值。
  53. 如請求項52之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器執行以下操作: 判定針對該當前區塊啟用一內子劃分模式旗標;及 基於針對該當前區塊啟用該內子劃分模式旗標之判定而判定該內子劃分分裂旗標不存在於該經編碼視訊位元串流中,其中基於針對該當前區塊啟用該內子劃分模式旗標使用該內子劃分模式將該當前區塊劃分成矩形變換區塊子劃分。
  54. 如請求項52之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器執行以下操作: 判定該當前區塊之該寬度大於該大小臨限值;及 基於該當前區塊之該寬度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第一分裂值,該第一分裂值對應於一垂直分裂類型;及 使用該垂直分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別寬度基於該垂直分裂類型而小於該當前區塊之該寬度。
  55. 如請求項52之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器執行以下操作: 判定該當前區塊之該高度大於該大小臨限值;及 基於該當前區塊之該高度大於該大小臨限值的判定,判定用於該內子劃分分裂旗標之一第二分裂值,該第二分裂值對應於一水平分裂類型;及 使用該水平分裂類型將該當前區塊分裂成兩個或更多個子區塊,其中該兩個或更多個子區塊中之每一者的各別高度基於該水平分裂類型而小於該當前區塊之該高度。
  56. 如請求項52之非暫時性電腦可讀媒體,其中該等指令進一步使該處理器執行以下操作: 判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中;及 基於該內子劃分模式旗標不存在用於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標之一模式值。
  57. 如請求項56之非暫時性電腦可讀媒體,其中該內子劃分模式旗標不存在用於該第二區塊之該經編碼視訊位元串流中指示以下之至少一者:該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度。
  58. 如請求項57之非暫時性電腦可讀媒體,其中該寬度大小臨限值等於該高度大小臨限值。
  59. 如請求項57之非暫時性電腦可讀媒體,其中該寬度大小臨限值不等於該高度大小臨限值。
  60. 如請求項57之非暫時性電腦可讀媒體,其中該資料單元為一虛擬管線資料單元(VPDU)。
  61. 如請求項57之非暫時性電腦可讀媒體,其中該資料單元為一變換區塊。
  62. 如請求項57之非暫時性電腦可讀媒體,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
  63. 如請求項52之非暫時性電腦可讀媒體,其中該當前區塊為一經框內預測區塊。
  64. 一種用於解碼視訊資料之裝置,該裝置包含: 用於獲得包括視訊資料之一經編碼視訊位元串流的構件; 用於判定一內子劃分分裂旗標不存在用於視訊資料之一當前區塊之該經編碼視訊位元串流中的構件,該內子劃分分裂旗標指定用於該當前區塊之一內子劃分模式的一分裂類型為水平抑或垂直; 用於判定該當前區塊之一寬度及一高度中之至少一者大於對應於一最大變換區塊大小之一大小臨限值的構件;及 用於基於該當前區塊之該寬度或該高度是否大於該大小臨限值而判定用於該當前區塊之該內子劃分分裂旗標之一值的構件。
  65. 如請求項64之裝置,其進一步包含: 用於判定用於啟用用於該視訊資料之一第二區塊之該內子劃分模式的一內子劃分模式旗標不存在於該經編碼視訊位元串流中的構件;及 用於基於該內子劃分模式旗標不存在用於該第二區塊之該經編碼視訊位元串流中而判定用於該第二區塊之該內子劃分模式旗標之一模式值的構件。
  66. 如請求項65之裝置,其中該內子劃分模式旗標不存在用於該第二區塊之該經編碼視訊位元串流中指示以下之至少一者:該第二區塊之一寬度大於一寬度大小臨限值或該第二區塊之一高度大於一高度大小臨限值,該寬度大小臨限值對應於一資料單元之一寬度且該高度大小臨限值對應於該資料單元之一高度。
  67. 如請求項66之裝置,其中該資料單元為一虛擬管線資料單元(VPDU)。
  68. 如請求項66之裝置,其中該資料單元為一變換區塊。
  69. 如請求項68之裝置,其中該寬度大小臨限值及該高度大小臨限值等於一最大變換區塊大小。
TW109103106A 2019-02-05 2020-01-31 改善的子劃分內預測 TW202037163A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962801625P 2019-02-05 2019-02-05
US62/801,625 2019-02-05
US16/777,732 2020-01-30
US16/777,732 US20200252608A1 (en) 2019-02-05 2020-01-30 Sub-partition intra prediction

Publications (1)

Publication Number Publication Date
TW202037163A true TW202037163A (zh) 2020-10-01

Family

ID=71835808

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109103106A TW202037163A (zh) 2019-02-05 2020-01-31 改善的子劃分內預測

Country Status (6)

Country Link
US (2) US20200252608A1 (zh)
EP (1) EP3922020A2 (zh)
KR (1) KR20210119992A (zh)
CN (1) CN113366837A (zh)
TW (1) TW202037163A (zh)
WO (1) WO2020163182A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706405B2 (en) * 2018-03-30 2023-07-18 Lg Electronics Inc. Image/video coding method based on intra prediction involving parsing of MPM index, and apparatus thereof
US10893286B2 (en) * 2018-10-09 2021-01-12 Tencent America LLC Methods and apparatus for low-complexity MTS
US11272198B2 (en) * 2019-01-30 2022-03-08 Tencent America LLC Method and apparatus for improved sub-block partitioning intra sub-partitions coding mode
WO2020163535A1 (en) * 2019-02-05 2020-08-13 Beijing Dajia Internet Information Technology Co., Ltd. Video coding using intra sub-partition coding mode
KR20210116668A (ko) * 2019-02-21 2021-09-27 엘지전자 주식회사 인트라 예측을 위한 비디오 신호의 처리 방법 및 장치
KR20210102462A (ko) * 2019-02-24 2021-08-19 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
KR20200110214A (ko) * 2019-03-12 2020-09-23 현대자동차주식회사 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
US11025909B2 (en) * 2019-03-21 2021-06-01 Tencent America LLC Method and apparatus for video coding
WO2020197038A1 (ko) * 2019-03-22 2020-10-01 엘지전자 주식회사 영상 코딩 시스템에서 인트라 서브 파티션 기반의 인트라 예측 방법 및 장치
US11032543B2 (en) * 2019-03-22 2021-06-08 Tencent America LLC Method and apparatus for video coding
US11677969B2 (en) * 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding
EP3734972A1 (en) * 2019-05-03 2020-11-04 InterDigital VC Holdings, Inc. High level syntax simplified video coding tool set for small blocks
MX2021012503A (es) * 2019-06-21 2021-11-12 Panasonic Ip Corp America Sistema y metodo de codificacion de video.
WO2020262963A1 (ko) * 2019-06-24 2020-12-30 엘지전자 주식회사 크로마 블록의 최대 변환 크기 설정을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020260313A1 (en) * 2019-06-25 2020-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder, encoder and methods comprising a coding for intra subpartitions
US11190777B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding
CN114175657B (zh) * 2019-07-26 2023-12-26 北京字节跳动网络技术有限公司 基于块尺寸的图片分割模式确定
US11438616B2 (en) * 2019-08-27 2022-09-06 Tencent America LLC Method and apparatus for video coding
US20220345701A1 (en) * 2019-09-17 2022-10-27 Vid Scale, Inc. Intra sub-partitions related infra coding
KR102467334B1 (ko) * 2019-09-21 2022-11-16 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
US11818395B2 (en) 2021-04-22 2023-11-14 Electronics And Telecommunications Research Institute Immersive video decoding method and immersive video encoding method
WO2022242729A1 (en) * 2021-05-19 2022-11-24 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
CN115379217A (zh) * 2022-07-14 2022-11-22 百果园技术(新加坡)有限公司 一种视频编码处理方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140029670A1 (en) * 2012-07-27 2014-01-30 Motorola Mobility Llc Devices and methods for processing of partition mode in high efficiency video coding
JP2017512026A (ja) * 2014-03-04 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー イントラブロックコピー予測におけるブロック反転及びスキップモード
CN110999306B (zh) * 2017-08-22 2022-09-16 松下电器(美国)知识产权公司 图像编码器和图像解码器
CN112385220B (zh) * 2018-07-14 2022-12-09 寰发股份有限公司 对具有分割约束的视频图像进行编码或解码的方法和装置
WO2020111843A1 (ko) * 2018-11-28 2020-06-04 주식회사 윌러스표준기술연구소 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
EP3922020A2 (en) 2021-12-15
US20230232000A1 (en) 2023-07-20
WO2020163182A2 (en) 2020-08-13
US20200252608A1 (en) 2020-08-06
KR20210119992A (ko) 2021-10-06
WO2020163182A3 (en) 2020-09-17
CN113366837A (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
TW202037163A (zh) 改善的子劃分內預測
TWI826546B (zh) 對以歷史為基礎之運動向量預測器之改良
TWI724008B (zh) 在視訊寫碼中限制雙向預測之方法及系統
TW202041030A (zh) 用於當前圖片參考及區塊內複制之虛擬檢索區域
JP6538727B2 (ja) パラメータセットにおいてレイヤセットのための情報をシグナリングするためのシステムおよび方法
TWI633780B (zh) 高效率視訊寫碼擴展中之目標輸出層之選擇
TWI615021B (zh) 對多層視訊寫碼之層間預測信令之最佳化
KR102140361B1 (ko) 멀티 계층 코딩에서의 컨포먼스 윈도우 정보
CN113711595B (zh) 针对帧内预测模式推导的基于块的量化残差域脉冲编解码调制分配
CN112740681A (zh) 自适应多重变换译码
TWI527440B (zh) 在視訊寫碼中針對高效率視訊寫碼(hevc)延伸之多層之低複雜度支援
TW202046739A (zh) 用於適應性迴圈濾波器變數之適應變數集合
TW202110178A (zh) 具有可切換濾波器之參考圖像重新取樣
JP6363190B2 (ja) Vps内のビットレート情報およびピクチャレート情報のシグナリング
TW202121899A (zh) 針對局部雙樹的調色板預測器更新
TW201735608A (zh) 用於產生對視訊之顏色再映射資訊之補充增強資訊訊息之方法及系統
TW202042552A (zh) 用於照明補償之區塊大小限制
JP2018514985A (ja) ビデオデータを処理するためのデバイスおよび方法
TW202103496A (zh) 用於適應性迴路濾波器之剪切值計算之簡化
TW202110180A (zh) 跨逐線掃描切片之適應性迴圈濾波
TW202236852A (zh) 高效視訊編碼器架構
TW202031052A (zh) 用於照明補償模式之刪剪
TW202236848A (zh) 使用增強內插濾波器的訊框內預測
CN113286152B (zh) 视频解码方法、装置、计算机设备及存储介质
TW202312739A (zh) 綠色中繼資料訊號傳遞