TW202002655A - Filtering of zero unit - Google Patents
Filtering of zero unit Download PDFInfo
- Publication number
- TW202002655A TW202002655A TW108123121A TW108123121A TW202002655A TW 202002655 A TW202002655 A TW 202002655A TW 108123121 A TW108123121 A TW 108123121A TW 108123121 A TW108123121 A TW 108123121A TW 202002655 A TW202002655 A TW 202002655A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- video
- video data
- item
- data block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本專利文件一般地涉及圖像和視頻編碼技術。 [相關申請的交叉引用] 根據適用的專利法和/或依據巴黎公約的規則,本申請及時要求於2018年6月29日提交的國際專利申請第PCT/CN2018/093631號和於2018年7月6日提交的國際專利申請第PCT/CN2018/094767號的優先權和權益。國際專利申請第PCT/CN2018/093631號和國際專利申請第PCT/CN2018/094767號的全部公開內容通過引用併入作為本申請的公開內容的一部分。This patent document generally relates to image and video encoding technologies. [Cross reference to related applications] In accordance with the applicable patent law and/or in accordance with the rules of the Paris Convention, this application promptly requires the international patent application No. PCT/CN2018/093631 filed on June 29, 2018 and the international patent application filed on July 6, 2018 Priority and rights under PCT/CN2018/094767. The entire disclosure contents of International Patent Application No. PCT/CN2018/093631 and International Patent Application No. PCT/CN2018/094767 are incorporated by reference as part of the disclosure content of the present application.
數位視訊佔據網際網路和其它數位通信網路上最大的頻寬使用。隨著能夠接收和顯示視頻的所連接的使用者設備的數量增加,預計數位視訊使用的頻寬需求將繼續增長。Digital video occupies the largest bandwidth usage on the Internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, it is expected that the demand for bandwidth for digital video usage will continue to grow.
描述了與專用編碼單元(CU)和/或編碼樹單元(CTU)相關的用於提高編碼效率的設備、系統和方法。具體地,本公開的技術公開了提供增強例如處理位於視頻資料塊的邊界處的子塊(例如,在圖片、條帶、圖塊等中)的零單元。所描述的方法可以應用於現有的視頻編碼標準(例如,高效視頻編碼(HEVC))和未來的視頻編碼標準或視頻轉碼器兩者。A device, system and method for improving coding efficiency related to a dedicated coding unit (CU) and/or coding tree unit (CTU) are described. In particular, the technology of the present disclosure discloses providing zero units that enhance, for example, processing sub-blocks located at the boundaries of video data blocks (eg, in pictures, slices, tiles, etc.). The described method can be applied to both existing video coding standards (eg, High Efficiency Video Coding (HEVC)) and future video coding standards or video transcoders.
在一個示例方面中,公開了一種視頻處理的方法。該方法包括對於至少高度或寬度為非二的冪數個像素的視頻資料塊做出確定,以將視頻資料塊編碼為位元流表示而無需變換操作;以及對編碼的結果進行環路濾波,其中基於確定選擇環路濾波器的類型。In an example aspect, a method of video processing is disclosed. The method includes determining a video data block that has at least a power of two pixels whose height or width is non-two, to encode the video data block into a bitstream representation without transformation operations; and performing loop filtering on the result of the encoding, The type of loop filter is selected based on the determination.
在另一方面中,公開了另一種視頻處理的方法。該方法包括對於至少高度或寬度為非二的冪數個像素的視頻資料塊做出確定,以從位元流表示解碼視頻資料塊而無需變換操作;以及對解碼的結果進行環路濾波,其中基於確定選擇環路濾波器的類型。In another aspect, another method of video processing is disclosed. The method includes determining a video data block that has at least a non-power-of-two power pixel with a height or width to represent the decoded video data block from the bitstream without transform operations; and performing loop filtering on the decoded result, where The type of loop filter is selected based on the determination.
在另一示例方面中,公開了另一種視頻處理的方法。該方法包括回應於確定視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊中的一個,選擇環路濾波器的類型;基於選擇而確定視頻資料塊的適應性環路濾波器(ALF)模式;將視頻資料塊編碼為位元流表示並且使用ALF模式將ALF應用到編碼的結果。In another example aspect, another method of video processing is disclosed. The method includes selecting the type of loop filter in response to determining that the video data block will be encoded as one of coding unit (CU) or zero unit (ZU) blocks; determining adaptive loop filtering of the video data block based on the selection (ALF) mode; encode video data blocks into a bitstream representation and use ALF mode to apply ALF to the encoded result.
在另一示例方面中,公開了另一種視頻處理的方法。該方法包括從位元流表示確定視頻資料塊將被解碼為編碼單元(CU)或零單元(ZU)塊的一個;回應於該確定,為視頻資料塊選擇適應性環路濾波器(ALF)模式;從位元流表示解碼視頻資料塊並且基於ALF進行適應性環路濾波。In another example aspect, another method of video processing is disclosed. The method includes determining from the bit stream that the video data block will be decoded as one of the coding unit (CU) or zero unit (ZU) blocks; in response to the determination, selecting an adaptive loop filter (ALF) for the video data block Mode; Slave bitstream represents decoded video data block and adaptive loop filtering based on ALF.
在另一示例方面中,公開了另一種視頻處理的方法。該方法包括接收對應於視頻資料塊的位元流;確定作為編碼樹單元(CTU)的視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊的一個;響應於該確定,視頻資料塊將被編碼為CU或ZU塊中的一個,選擇環路濾波器的類型;接收信令以基於選擇控制塊中的適應性環路濾波器(ALF)並且使用所選擇的類型的環路濾波器對該塊進行環路濾波。In another example aspect, another method of video processing is disclosed. The method includes receiving a bit stream corresponding to a video data block; determining that a video data block as a coding tree unit (CTU) will be encoded as one of coding unit (CU) or zero unit (ZU) blocks; in response to the determination, The video data block will be encoded as one of the CU or ZU blocks, select the type of loop filter; receive signaling to select the adaptive loop filter (ALF) in the control block based on the selection and use the selected type of loop The road filter performs loop filtering on the block.
在另一示例方面中,公開了另一種視頻處理的方法。該方法包括確定視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)中的一個;回應於確定視頻資料塊位於靠近圖片邊界並且是CU、PU或TU中的一個,控制環路濾波器並且基於確定來信令通知環路濾波器的控制資訊。In another example aspect, another method of video processing is disclosed. The method includes determining that the video data block is located near the picture boundary and is one of the coding unit (CU), prediction unit (PU), or transform unit (TU); in response to determining that the video data block is located near the picture boundary and is CU, PU, or One of the TUs controls the loop filter and signals the loop filter control information based on the determination.
在另一示例方面中,公開了另一種視頻處理的方法。該方法包括確定視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)的一個;基於確定接收環路濾波器的控制資訊並且基於確定和接收的控制資訊控制環路濾波器。In another example aspect, another method of video processing is disclosed. The method includes determining that the video data block is located near a picture boundary and is one of a coding unit (CU), a prediction unit (PU), or a transform unit (TU); based on determining control information of the receiving loop filter and based on the determined and received control Information control loop filter.
在另一代表性方面中,上述方法以處理器可執行代碼的形式體現並存儲電腦可讀介質上。In another representative aspect, the above method is embodied in the form of processor-executable code and stored on a computer-readable medium.
在另一代表性方面中,公開了一種配置為或可操作為進行上述方法的設備。該設備可以包括處理器,該處理器被程式設計以實現該方法。In another representative aspect, an apparatus configured or operable to perform the above method is disclosed. The device may include a processor that is programmed to implement the method.
在另一代表性方面中,視頻解碼器裝置可實現如本文所述的方法。In another representative aspect, the video decoder device may implement the method as described herein.
在附圖、說明書和申請專利範圍中更詳細地描述了本公開的技術的上述和其它方面和特徵。The above and other aspects and features of the technology of the present disclosure are described in more detail in the drawings, specification, and patent application scope.
由於對更高解析度視頻的需求日益增加,視頻編碼方法和技術在現代技術中無處不在。視頻轉碼器通常包括壓縮或解壓縮數位視訊的電子電路或軟體,並且視頻轉碼器被不斷改進以提供更高的編碼效率。視頻轉碼器將未壓縮視訊轉換為壓縮格式,或反之亦然。視頻品質、用於表示視頻的資料量(由位元速率確定)、編碼和解碼演算法的複雜性、對資料丟失和錯誤的敏感性、編輯便利性、隨機訪問以及端到端延遲(遲延)之間存在複雜的關係。壓縮格式通常符合標準視訊壓縮規範,例如高效視頻編碼(HEVC)標準(也稱為H.265或MPEG-H第2部分)、即將最終確定的通用視頻編碼標準,或其它當前和/或未來的視頻編碼標準。Due to the increasing demand for higher resolution video, video encoding methods and techniques are ubiquitous in modern technology. Video transcoders usually include electronic circuits or software that compresses or decompresses digital video, and video transcoders are continuously improved to provide higher coding efficiency. The video transcoder converts uncompressed video to a compressed format, or vice versa. Video quality, amount of data used to represent video (determined by bit rate), complexity of encoding and decoding algorithms, sensitivity to data loss and errors, ease of editing, random access, and end-to-end delay (delay) There is a complicated relationship. Compression formats generally conform to standard video compression specifications, such as High Efficiency Video Coding (HEVC) standards (also known as H.265 or MPEG-H Part 2), general video coding standards to be finalized, or other current and/or future Video coding standard.
所公開的技術的實施例可以應用於現有的視頻編碼標準(例如,HEVC,H.265)和未來的標準以改善壓縮性能。在本文件中使用章節標題來提高描述的可讀性而不是以任何方式將討論或實施例(和/或實現方式)僅限於各個章節。Embodiments of the disclosed technology can be applied to existing video coding standards (eg, HEVC, H.265) and future standards to improve compression performance. The use of chapter titles in this document to improve the readability of the description does not limit the discussion or embodiments (and/or implementation) to individual chapters in any way.
在本文件中使用章節標題以便於理解,並且不將章節中公開的實施例僅限於該章節。此外,雖然參考通用視頻編碼或其它特定視頻轉碼器描述了某些實施例,但是所公開的技術還可應用於其它視頻編碼技術。此外,雖然一些實施例詳細描述了視頻編碼步驟,但是應當理解的是,撤銷編碼的相應解碼步驟將由解碼器實現。此外,術語視頻處理包括視頻編碼或壓縮、視頻解碼或解壓縮以及視頻轉碼,其中視頻像素從一種壓縮格式表示為另一壓縮格式或以不同的壓縮位元速率表示。 1. 視頻編碼的示例實施例The chapter titles are used in this document for easy understanding, and the embodiments disclosed in the chapter are not limited to the chapter. In addition, although certain embodiments have been described with reference to general video encoding or other specific video transcoders, the disclosed techniques can also be applied to other video encoding techniques. In addition, although some embodiments describe the video encoding step in detail, it should be understood that the corresponding decoding step of undoing the encoding will be implemented by the decoder. In addition, the term video processing includes video encoding or compression, video decoding or decompression, and video transcoding, where video pixels are expressed from one compression format to another compression format or at different compression bit rates. 1. Example embodiments of video encoding
圖1示出了典型HEVC視訊轉碼器和解碼器的示例性框圖。產生符合HEVC的位元流的編碼演算法通常如下進行。每個圖片被分割為塊狀區域,其中精確的塊劃分被傳送到解碼器。視頻序列的第一圖片(以及在對視頻序列的每個乾淨隨機訪問點處的第一圖片)僅使用幀內預測(在同一圖片內使用區域到區域的空間上的資料的一些預測,而不基於其它圖片)進行編碼。對於序列的所有剩餘圖片或隨機訪問點之間的圖片,對於大多數塊通常使用幀間時間預測編碼模式。幀間預測的編碼過程包括選擇包含選定的參考圖片和運動向量(MV)的運動資料,該參考圖片和運動向量(MV)將被應用於預測每個塊的樣本。編碼器和解碼器通過應用運動補償(MC)來生成相同的幀間預測信號,該運動補償(MC)使用作為輔助資訊發送的MV和模式確定資料。FIG. 1 shows an exemplary block diagram of a typical HEVC video transcoder and decoder. The encoding algorithm for generating HEVC-compliant bitstreams usually proceeds as follows. Each picture is divided into block regions, where the precise block division is transferred to the decoder. The first picture of the video sequence (and the first picture at each clean random access point to the video sequence) only uses intra prediction (using some predictions of area-to-area spatial data within the same picture, and not Based on other pictures). For all remaining pictures of the sequence or pictures between random access points, the inter-temporal prediction coding mode is usually used for most blocks. The encoding process of inter prediction includes selecting the motion data containing the selected reference picture and motion vector (MV), which will be applied to predict the samples of each block. The encoder and decoder generate the same inter prediction signal by applying motion compensation (MC), which uses the MV and mode determination data sent as auxiliary information.
通過線性空間變換對幀內預測或幀間預測的殘差信號進行變換,其中該殘差信號是原始塊與其預測之間的差異。然後對變換係數進行縮放、量化、熵編碼並與預測資訊一起發送。The residual signal of intra prediction or inter prediction is transformed by linear spatial transformation, where the residual signal is the difference between the original block and its prediction. Then the transform coefficients are scaled, quantized, entropy encoded and sent with the prediction information.
編碼器複製解碼器處理環路(見圖1中的灰色陰影框),使得兩者都將為後續資料生成相同的預測。因此,量化的變換係數通過逆縮放構造,並且然後進行逆變換以複製殘差信號的解碼的近似值。然後將殘差加入到預測中,並且然後可以將該加法的結果輸入一個或兩個環路濾波器,以平滑由逐塊處理和量化引起的偽影(artifact)。最終的圖片表示(即解碼器輸出的複製)存儲在解碼的圖片緩衝器中以用於後續圖片的預測。通常,圖片的編碼或解碼處理的順序常常不同於它們從來源到達的順序,需要區分解碼器的解碼順序(即位元流順序)和輸出順序(即顯示順序)。The encoder duplicates the decoder processing loop (see the gray shaded box in Figure 1) so that both will generate the same prediction for subsequent data. Therefore, the quantized transform coefficient is constructed by inverse scaling, and then inverse transform is performed to copy the decoded approximation of the residual signal. The residuals are then added to the prediction, and the result of this addition can then be input to one or two loop filters to smooth artifacts caused by block-by-block processing and quantization. The final picture representation (ie a copy of the decoder output) is stored in the decoded picture buffer for prediction of subsequent pictures. Generally, the order of encoding or decoding processing of pictures is often different from the order in which they arrive from the source, and it is necessary to distinguish the decoding order of the decoder (that is, bit stream order) and output order (that is, display order).
通常期望將由HEVC編碼的視頻材料作為逐行掃描圖像輸入(由於源視頻源自該格式或者由於由編碼之前的去隔行(deinterlacing)產生)。在HEVC設計中不存在顯式編碼特徵以支援隔行掃描的使用,因為隔行掃描不再用於顯示器,並且在分佈時變得非常不常見。但是,已經在HEVC中提供了中繼資料語法以允許編碼器指示,隔行掃描的視頻已經通過將隔行掃描視頻的每個場(即每個視頻幀的偶數或奇數行)編碼為單獨的圖片而被發送,或者隔行掃描的視頻已經通過將每個隔行掃描的幀編碼為HEVC編碼的圖片而被發送。這提供了一種有效的編碼隔行掃描的視頻的方法,而無需加重解碼器需支援隔行掃描的視頻的特殊的解碼過程的負擔。1.1. H.264/AVC 中的劃分樹結構的示例 It is generally desirable to input video material encoded by HEVC as a progressive image (because the source video is derived from this format or due to deinterlacing before encoding). There is no explicit coding feature in the HEVC design to support the use of interlaced scanning, because interlaced scanning is no longer used in displays and becomes very uncommon in distribution. However, the metadata syntax has been provided in HEVC to allow the encoder to indicate that the interlaced video has been encoded as a separate picture by encoding each field of the interlaced video (ie, even or odd lines of each video frame) The video that was sent, or interlaced, has been sent by encoding each interlaced frame as a HEVC encoded picture. This provides an effective method of encoding interlaced video without burdening the decoder with the special decoding process that supports interlaced video. 1.1. Examples of partitioned tree structure in H.264/AVC
先前標準中的編碼層的核心是巨集塊,包含16×16的亮度(luma)樣本塊、以及在4:2:0顏色採樣的通常情況下的兩個對應的8×8的色度(chroma)樣本塊。The core of the coding layer in the previous standard is a macro block, which contains a 16×16 luma sample block, and two corresponding 8×8 chroma in the usual case of 4:2:0 color sampling ( chroma) sample block.
幀內編碼塊使用空間預測來利用像素之間的空間相關性。兩種劃分被定義為:16x16和4x4。Intra-coded blocks use spatial prediction to take advantage of the spatial correlation between pixels. Two divisions are defined: 16x16 and 4x4.
幀間編碼塊通過估計圖片之間的運動來使用時間預測而不是空間預測。可以對於16x16宏塊或其任何子宏塊劃分16x8、8x16、8x8、8x4、4x8、4x4來獨立地估計運動,如圖2所示。每子宏塊劃分僅允許一個運動向量(MV)。1.2. HEVC 中的劃分樹結構的示例 Inter-coded blocks use temporal prediction instead of spatial prediction by estimating motion between pictures. The motion can be estimated independently for a 16x16 macroblock or any of its sub-macroblocks by dividing 16x8, 8x16, 8x8, 8x4, 4x8, 4x4, as shown in FIG. Only one motion vector (MV) is allowed per sub-macroblock division. 1.2. Example of a divided tree structure in HEVC
在HEVC中,通過使用表示為編碼樹的四叉樹結構將編碼樹單元(CTU)劃分成編碼單元(CU),以適應各種局部特性。使用幀間(時間)預測還是幀內(空間)預測來對圖片區域進行編碼的確定是在CU級做出的。根據預測單元(PU)劃分類型,每個CU可以進一步劃分成一個、兩個或四個PU。在一個PU內部,應用相同的預測過程,並且在PU的基礎上將相關資訊發送到解碼器。在通過基於PU劃分類型應用預測過程而獲得了殘差塊之後,可以根據類似於CU的編碼樹的另一個四叉樹結構將CU劃分為變換單元(TU)。HEVC結構的關鍵特徵之一是它具有多個劃分概念,包括CU、PU和TU。In HEVC, a coding tree unit (CTU) is divided into coding units (CU) by using a quadtree structure represented as a coding tree to adapt to various local characteristics. The determination of whether to use inter (temporal) prediction or intra (spatial) prediction to encode a picture area is made at the CU level. According to the prediction unit (PU) division type, each CU may be further divided into one, two, or four PUs. Within a PU, the same prediction process is applied, and related information is sent to the decoder on the basis of the PU. After the residual block is obtained by applying the prediction process based on the PU division type, the CU may be divided into transform units (TU) according to another quadtree structure similar to the coding tree of the CU. One of the key features of the HEVC structure is that it has multiple partitioning concepts, including CU, PU, and TU.
對使用HEVC的混合視頻編碼中涉及的某些特徵包括:Some of the features involved in hybrid video coding using HEVC include:
(1)編碼樹單元(CTU)和編碼樹塊(CTB)結構:HEVC中的類似結構是編碼樹單元(CTU),其具有由編碼器選擇的尺寸並且可以大於傳統宏塊。CTU由亮度CTB和相應的色度CTB以及語法元素組成。亮度CTB的尺寸L×L可以被選擇為L=16、32或64個樣本,較大的尺寸通常能夠實現更好的壓縮。然後,HEVC支援使用樹結構和類似四叉樹的信令來將CTB劃分為更小的塊。(1) Coding tree unit (CTU) and coding tree block (CTB) structure: A similar structure in HEVC is a coding tree unit (CTU), which has a size selected by an encoder and can be larger than a traditional macroblock. The CTU consists of luminance CTB and corresponding chrominance CTB and syntax elements. The size L×L of the luminance CTB can be selected as L=16, 32 or 64 samples, and a larger size can usually achieve better compression. Then, HEVC supports the use of tree structure and quadtree-like signaling to divide the CTB into smaller blocks.
(2)編碼單元(CU)和編碼塊(CB):CTU的四叉樹語法指定其亮度CB和色度CB的尺寸和位置。四叉樹的根與CTU相關聯。因此,亮度CTB的尺寸是亮度CB的最大支持尺寸。將CTU劃分成亮度CB和色度CB是信令聯合的。一個亮度CB和通常兩個色度CB以及相關聯的語法一起形成編碼單元(CU)。CTB可以僅包含一個CU或者可以被劃分以形成多個CU,並且每個CU具有相關聯的、向預測單元(PU)以及變換單元(TU)的樹的劃分。(2) Coding unit (CU) and coding block (CB): The quadtree syntax of CTU specifies the size and position of its luminance CB and chroma CB. The root of the quadtree is associated with the CTU. Therefore, the size of the luminance CTB is the maximum supported size of the luminance CB. The division of CTU into luma CB and chroma CB is joint signaling. One luma CB and usually two chroma CBs and associated syntax together form a coding unit (CU). The CTB may contain only one CU or may be divided to form multiple CUs, and each CU has an associated division into a tree of prediction units (PU) and transform units (TU).
(3)預測單元和預測塊(PB):使用幀間圖片預測還是幀內圖片預測來對圖片區域編碼的決策是在CU級進行的。PU劃分結構的根在CU級。取決於基本預測類型決策,然後可以在尺寸上進一步劃分亮度CB和色度CB,並根據亮度和色度預測塊(PB)對其進行預測。HEVC支援從64×64到4×4樣本的可變PB尺寸。圖3示出了對於MxM CU所允許的PB的示例。(3) Prediction unit and prediction block (PB): The decision to use inter-picture prediction or intra-picture prediction to encode a picture region is made at the CU level. The root of the PU division structure is at the CU level. Depending on the basic prediction type decision, the luminance CB and chroma CB can then be further divided in size and predicted based on the luminance and chroma prediction block (PB). HEVC supports variable PB size from 64×64 to 4×4 samples. FIG. 3 shows an example of PB allowed for MxM CU.
(4)變換單元(TU)和變換塊:使用塊變換對預測殘差進行編碼。TU樹結構的根在CU級。亮度CB殘差可以與亮度變換塊(TB)相同,或者可以被進一步劃分成更小的亮度TB。這同樣適用於色度TB。對於正方形TB尺寸4×4、8×8、16×16和32×32,定義類似於離散余弦變換(DCT)的整數基函數。對於亮度幀內圖片預測殘差的4×4變換,可以替代地指定從離散正弦變換(DST)的形式匯出的整數變換。1.2.1. 樹結構的劃分到 TB 和 TU 的示例 (4) Transform unit (TU) and transform block: use block transform to encode prediction residuals. The root of the TU tree structure is at the CU level. The luma CB residual may be the same as the luma transform block (TB), or may be further divided into smaller luma TB. The same applies to chroma TB. For square TB sizes of 4×4, 8×8, 16×16, and 32×32, an integer basis function similar to discrete cosine transform (DCT) is defined. For the 4×4 transform of the luma intra-picture prediction residual, an integer transform derived from the form of discrete sine transform (DST) can be specified instead. 1.2.1. Example of division of tree structure into TB and TU
對於殘差編碼,可以將CB遞迴地劃分為變換塊(TB)。由殘差四叉樹信令通知劃分。僅指定正方形CB和TB劃分,其中塊可以被遞迴地劃分到象限(quadrant),如圖4A到4B所示。對於尺寸為M×M的給定亮度CB,標誌(flag)表明是否將該CB劃分成四個尺寸為M/2×M/2的塊。如果如SPS中指示的殘差四叉樹的最大深度所信令通知的,每個象限能夠進一步劃分,則為每個象限分配標誌,該標誌指示是否將其劃分成四個象限。由殘差四叉樹產生的葉節點塊是變換塊,通過變換編碼對其進一步處理。編碼器指示它將使用的最大和最小亮度TB尺寸。當CB尺寸大於最大TB尺寸時,劃分是隱含的。當劃分將導致亮度TB尺寸小於所指示的最小值時,不劃分是隱含的。除了當亮度TB尺寸為4×4時,色度TB尺寸在每個維度上是亮度TB尺寸的一半,在亮度TB尺寸為4×4的情況下,單個4×4色度TB被用於由四個4×4亮度TB覆蓋的區域。在幀內圖片預測的CU的情況下,最近鄰的TB(在CB內或在CB外)的解碼後樣本被用作用於幀內圖片預測的參考資料。For residual coding, CB can be recursively divided into transform blocks (TB). The division is signaled by the residual quadtree signaling. Only square CB and TB divisions are specified, where blocks can be recursively divided into quadrants, as shown in FIGS. 4A to 4B. For a given brightness CB of size M×M, a flag indicates whether the CB is divided into four blocks of size M/2×M/2. If each quadrant can be further divided as signaled by the maximum depth of the residual quadtree indicated in the SPS, then each quadrant is assigned a flag indicating whether it is divided into four quadrants. The leaf node blocks generated by the residual quadtree are transform blocks, which are further processed by transform coding. The encoder indicates the maximum and minimum brightness TB size it will use. When the CB size is larger than the maximum TB size, the division is implicit. When the division will cause the brightness TB size to be less than the indicated minimum value, no division is implicit. Except when the luminance TB size is 4×4, the chromaticity TB size is half of the luminance TB size in each dimension. In the case of the luminance TB size of 4×4, a single 4×4 chromaticity TB is used to The area covered by four 4×4 brightness TBs. In the case of a CU for intra picture prediction, the decoded samples of the nearest neighbor TB (inside or outside the CB) are used as reference material for intra picture prediction.
與先前的標準相反,HEVC設計允許TB跨越多個PB以用於幀間預測的CU,以使四叉樹結構的TB劃分的潛在編碼效率益處最大化。1.2.2. 圖片邊界編碼的示例 Contrary to previous standards, the HEVC design allows TBs to span multiple PBs for inter-predicted CUs to maximize the potential coding efficiency benefits of the quadtree structured TB partition. 1.2.2. Examples of picture boundary coding
圖片的邊界以最小允許的亮度CB大小為單位定義。因此,在圖片的右邊界和底邊界,一些CTU可能會覆蓋部分位於圖片邊界之外的區域。該條件被解碼器檢測到,並且CTU四叉樹根據需要被隱式地分割,以將CB大小減小到整個CB將適合到圖片中的程度。The boundary of the picture is defined in units of the minimum allowable brightness CB size. Therefore, at the right and bottom borders of the picture, some CTUs may cover some areas outside the picture border. This condition is detected by the decoder, and the CTU quadtree is implicitly split as needed to reduce the CB size to the point where the entire CB will fit into the picture.
圖5示出了一個幀的劃分結構的示例,其中解析度為416×240像素,尺寸為7 CTB×4 CTB,其中CTB的大小為64×64。如圖5所示,部分位於右邊界和底邊界之外的CTB具有隱含的分割(虛線,表示為502),並且完全落在外面的CU就被跳過(不被編碼)。FIG. 5 shows an example of a frame division structure, in which the resolution is 416×240 pixels, the size is 7 CTB×4 CTB, and the size of CTB is 64×64. As shown in FIG. 5, CTBs partially outside the right and bottom boundaries have an implicit division (dashed line, indicated as 502), and CUs that completely fall outside are skipped (not coded).
在圖5所示的示例中,突出顯示的CTB(504),其行CTB索引等於2且列CTB索引等於3,在當前圖片內具有64×48像素,並且不適合64×64 CTB。因此,它被強制分割為32x32而沒有分割標誌信號。對於左上角的32x32,它被幀完全覆蓋。當它選擇根據速率-失真成本以較小的塊編碼時(對於左上角的16x16用8x8,並且其餘的以16x16編碼),需要編碼幾個分割標誌。這些分割標誌(用於是否將左上角的32x32分割為四個16x16塊的一個標誌,以及用於信令通知一個16x16是否被進一步分割,以及對於在左上角的16x16中的四個8x8塊中的每一個是否進一步分割8x8的標誌)必須被明確地信令通知。右上角的32x32塊存在類似情況。對於兩個底部32x32塊,因為它們部分位於圖片邊界(506)的外部,需要應用進一步的QT分割而不用信令通知。圖6A和6B分別示出了圖5中突出顯示的CTB(504)的細分和信令方法。1.2.3. CTB 大小指示的示例 In the example shown in FIG. 5, the highlighted CTB (504) has a row CTB index equal to 2 and a column CTB index equal to 3, has 64×48 pixels within the current picture, and is not suitable for 64×64 CTB. Therefore, it is forcibly divided into 32x32 without the division flag signal. For the 32x32 in the upper left corner, it is completely covered by the frame. When it chooses to encode in a smaller block according to the rate-distortion cost (8x8 for 16x16 in the upper left corner, and 16x16 for the rest), it is necessary to encode several split flags. These split flags (a flag for splitting the 32x32 in the upper left corner into four 16x16 blocks, and for signaling whether a 16x16 is further split, and for four 8x8 blocks in the 16x16 in the upper left corner Whether each 8x8 flag is further divided) must be clearly signaled. A similar situation exists for the 32x32 block in the upper right corner. For the two bottom 32x32 blocks, because they are partially outside the picture boundary (506), further QT segmentation needs to be applied without signaling. 6A and 6B show the subdivision and signaling method of CTB (504) highlighted in FIG. 5, respectively. 1.2.3. Examples of CTB size indication
表1中示出了用於一般序列參數集的示例RBSP(原始位元組序列有效載荷)語法表。
表1:RBSP 語法結構
相應的語義包括:log2_min_luma_coding_block_size_minus3 加3指定最小亮度編碼塊大小;以及log2_diff_max_min_luma_coding_block_size 指定最大亮度編碼塊大小和最小亮度編碼塊大小之間的差異。The corresponding semantics include: log2_min_luma_coding_block_size_minus3 plus 3 to specify the minimum luminance coding block size; and log2_diff_max_min_luma_coding_block_size to specify the difference between the maximum luminance coding block size and the minimum luminance coding block size.
變數:MinCbLog2SizeY,CtbLog2SizeY,MinCbSizeY,CtbSizeY,PicWidthInMinCbsY,PicWidthInCtbsY,PicHeightInMinCbsY,PicHeightInCtbsY,PicSizeInMinCbsY,PicSizeInCtbsY,PicSizeInSamplesY,PicWidthInSamplesC and PicHeightInSamplesC 通過以下得到: MinCbLog2SizeY = log2_min_luma_coding_block_size_minus3 + 3 CtbLog2SizeY = MinCbLog2SizeY + log2_diff_max_min_luma_coding_block_size MinCbSizeY = 1 >> MinCbLog2SizeY CtbSizeY = 1 >> CtbLog2SizeY PicWidthInMinCbsY = pic_width_in_luma_samples/MinCbSizeY PicWidthInCtbsY = Ceil( pic_width_in_luma_samples ÷ CtbSizeY ) PicHeightInMinCbsY = pic_height_in_luma_samples/MinCbSizeY PicHeightInCtbsY = Ceil( pic_height_in_luma_samples ÷ CtbSizeY ) PicSizeInMinCbsY = PicWidthInMinCbsY * PicHeightInMinCbsY PicSizeInCtbsY = PicWidthInCtbsY * PicHeightInCtbsY PicSizeInSamplesY = pic_width_in_luma_samples * pic_height_in_luma_samples PicWidthInSamplesC = pic_width_in_luma_samples/SubWidthC PicHeightInSamplesC = pic_height_in_luma_samples/SubHeightCVariables: MinCbLog2SizeY, CtbLog2SizeY, MinCbSizeY, CtbSizeY, PicWidthInMinCbsY, PicWidthInCtbsY, PicHeightInMinCbsY, PicHeightInCtbsY, PicSizeInMinCbsY, PicSizeInCtbsY, PicSizeInSamplesY, PicWidthInSamplesY, C MinCbLog2SizeY = log2_min_luma_coding_block_size_minus3 + 3 CtbLog2SizeY = MinCbLog2SizeY + log2_diff_max_min_luma_coding_block_size MinCbSizeY = 1 >> MinCbLog2SizeY CtbSizeY = 1 >> CtbLog2SizeY PicWidthInMinCbsY = pic_width_in_luma_samples/MinCbSizeY PicWidthInCtbsY = Ceil (pic_width_in_luma_samples ÷ CtbSizeY) PicHeightInMinCbsY = pic_height_in_luma_samples/MinCbSizeY PicHeightInCtbsY = Ceil (pic_height_in_luma_samples ÷ CtbSizeY) PicSizeInMinCbsY = PicWidthInMinCbsY * PicHeightInMinCbsY PicSizeInCtbsY = PicWidthInCtbsY * PicHeightInCtbsY PicSizeInSamplesY = pic_width_in_luma_samples * pic_height_in_luma_samples PicWidthInSamplesC = pic_width_in_luma_samples/SubWidthC PicHeightInSamplesC = pic_height_in_luma_samples/SubHeightC
變數CtbWidthC和CtbHeightC,其分別指定每個色度CTB陣列的寬度和高度,通過以下得到: 如果chroma_format_idc等於0(單色)或者separate_colour_plane_flag 等於1,則CtbWidthC和CtbHeightC 都等於0; 否則,CtbWidthC和CtbHeightC通過以下得到: CtbWidthC = CtbSizeY/SubWidthC CtbHeightC = CtbSizeY/SubHeightC1.3. 在 JEM 中具有較大 CTU 的四叉樹加二叉樹塊結構的示例 The variables CtbWidthC and CtbHeightC, which specify the width and height of each chroma CTB array, are obtained by: If chroma_format_idc is equal to 0 (monochrome) or separate_colour_plane_flag is equal to 1, then CtbWidthC and CtbHeightC are both equal to 0; otherwise, CtbWidthC and CtbHeightC are passed Get the following: CtbWidthC = CtbSizeY/SubWidthC CtbHeightC = CtbSizeY/SubHeightC 1.3. An example of a quadtree plus a binary tree block structure with a large CTU in JEM
在一些實施例中,使用被稱為聯合探索模型(JEM)(參考[4])的參考軟體探索未來的視頻編碼技術(參考[3])。除二叉樹結構外,JEM還描述了四叉樹加二叉樹(QTBT)和三叉樹(TT)結構。1.5. 替代視頻編碼技術中的分割結構的示例 In some embodiments, reference software called a joint exploration model (JEM) (reference [4]) is used to explore future video coding techniques (reference [3]). In addition to the binary tree structure, JEM also describes the quadtree plus binary tree (QTBT) and triple tree (TT) structures. 1.5. Examples of alternative segmentation structures in video encoding technology
在一些實施例中,支持稱為多樹類型(MTT)的樹結構(其是QTBT的一般化)。在QTBT中,如圖11所示,首先用四叉樹結構劃分編碼樹單元(CTU)。四叉樹葉節點進一步由二叉樹結構劃分。In some embodiments, a tree structure called multi-tree type (MTT) (which is a generalization of QTBT) is supported. In QTBT, as shown in FIG. 11, the coding tree unit (CTU) is first divided with a quadtree structure. The quad leaf nodes are further divided by a binary tree structure.
MTT的結構由兩種類型的樹節點構成:區域樹(RT)和預測樹(PT),支援九種類型的劃分,如圖10A至10I所示。區域樹可以遞迴地將CTU分割成方形塊,直到4×4大小的區域的樹葉節點。在區域樹中的每個節點處,可以從三種樹類型中的一個形成預測樹:二叉樹,三叉樹和非對稱二叉樹。在PT分割中,禁止在預測樹的分支中具有四叉樹劃分。與在JEM中一樣,亮度樹和色度樹在I切片中分開。The structure of MTT consists of two types of tree nodes: area tree (RT) and prediction tree (PT), which supports nine types of division, as shown in Figures 10A to 10I. The area tree can recursively divide the CTU into square blocks until the leaf nodes of the 4×4 size area. At each node in the area tree, a prediction tree can be formed from one of three tree types: binary tree, trigeminal tree, and asymmetric binary tree. In PT partitioning, it is forbidden to have quadtree partitions in the branches of the prediction tree. As in JEM, the luma tree and chroma tree are separated in I slices.
通常,除了上下文推導之外,RT信令與JEM中的QT信令相同。對於PT信令,需要多達4個額外的二進位位元(bin),如圖11所示。第一個二進位位元指示PT是否被進一步分割。該二進位位元的上下文基於對進一步分割的可能性與當前塊與其相鄰塊的相對大小高度相關的觀察來計算。如果進一步分割PT,則第二個二進位位元指示其是水準劃分還是垂直劃分。在一些實施例中,中心側三叉樹和非對稱二叉樹(ABT)的存在增加了“高”塊或“寬”塊的出現。第三個二進位位元表示劃分的樹的類型,即它是二叉樹/三叉樹還是非對稱二叉樹。在二叉樹/三叉樹的情況下,第四個二進位位元表示樹的類型。在非對稱二叉樹的情況下,第四個二進位位元指示對於水準劃分樹的向上或向下類型,對於垂直劃分樹的向右或向左類型。1.5.1. 圖片邊界處的限制的示例 Generally, RT signaling is the same as QT signaling in JEM except for context derivation. For PT signaling, up to 4 additional binary bits (bin) are required, as shown in Figure 11. The first binary bit indicates whether the PT is further divided. The context of this binary bit is calculated based on the observation that the possibility of further segmentation is highly correlated with the relative size of the current block and its neighboring blocks. If the PT is further divided, the second binary bit indicates whether it is a horizontal division or a vertical division. In some embodiments, the presence of a center-side trigeminal tree and an asymmetric binary tree (ABT) increases the appearance of "high" blocks or "wide" blocks. The third binary bit indicates the type of divided tree, that is, whether it is a binary tree/trigeminal tree or an asymmetric binary tree. In the case of binary/trigeminal trees, the fourth binary bit indicates the type of tree. In the case of an asymmetric binary tree, the fourth binary bit indicates the upward or downward type for the horizontal division tree and the right or left type for the vertical division tree. 1.5.1. Examples of restrictions at the picture boundary
在一些實施例中,如果CTB/LCU大小由M×N指示(通常M等於N,如HEVC/JEM中所定義),並且對於位於圖片(或圖塊或條帶或其它類型)邊界的CTB,K x L個樣本處於圖片邊界內。In some embodiments, if the CTB/LCU size is indicated by M×N (usually M is equal to N, as defined in HEVC/JEM), and for CTB located at the boundary of a picture (or tile or strip or other type), K x L samples are within the picture boundary.
在圖片底邊界和右邊界上的CU分割規則可以應用於任何編碼樹配置QTBT + TT、QTBT + ABT或QTBT + TT + ABT。它們包括以下兩個方面:The CU segmentation rules on the bottom and right boundaries of the picture can be applied to any coding tree configuration QTBT + TT, QTBT + ABT, or QTBT + TT + ABT. They include the following two aspects:
(1)如果給定編碼樹節點(CU)的一部分部分地位於圖片外部,則總是允許沿著相關邊界方向(沿著底邊界的水準分割定向,如圖12A所示,沿右邊界的垂直分割定向,如圖12B所示)的CU的二元對稱分割。如果當前CU的右下角在幀外(如圖12C所示),則只允許CU的四叉樹分割。另外,如果當前二叉樹深度大於最大二叉樹深度並且當前CU在幀邊界上,則啟用二元分割以確保到達幀邊界。(1) If a part of a given coding tree node (CU) is partially outside the picture, it is always allowed to be oriented along the relevant boundary direction (horizontal segmentation along the bottom boundary, as shown in FIG. 12A, vertical along the right boundary Split orientation, as shown in Figure 12B) CU's binary symmetric split. If the lower right corner of the current CU is outside the frame (as shown in FIG. 12C), only the quadtree partition of the CU is allowed. In addition, if the current binary tree depth is greater than the maximum binary tree depth and the current CU is on the frame boundary, binary segmentation is enabled to ensure that the frame boundary is reached.
(2)關於三叉樹分割過程,在產生的子CU之間的第一邊界或第二邊界恰好位於圖片的邊界上的情況下,允許三叉樹分割。如果分割線(由分割產生的兩個子CU之間的邊界)與圖片邊界完全匹配,則允許不對稱二叉樹分割。2. 現有實現方式的示例 (2) Regarding the trigeminal tree segmentation process, in the case where the first boundary or the second boundary between the generated sub-CUs is exactly on the boundary of the picture, trigeminal tree segmentation is allowed. If the segmentation line (the boundary between the two sub-CUs generated by the segmentation) exactly matches the picture boundary, then asymmetric binary tree segmentation is allowed. 2. Examples of existing implementations
現有實現方式,CTU或CU的寬度或高度可能不等於2N ,其中N是正整數。這些情況很難處理。具體來說,如果行數或列數不是2N 的形式,則可能難以設計具有不包括除法的整數運算的變換。In the existing implementation, the width or height of the CTU or CU may not be equal to 2 N , where N is a positive integer. These situations are difficult to deal with. Specifically, if the number of rows or columns is not in the form of 2 N , it may be difficult to design a transformation with integer operations that does not include division.
在一個示例中,為了避免CTU或CU具有不等於2N 的寬度或高度,CTU或CU被強制分割為更小,直到寬度和高度兩者都是2N 的形式或通過填充或 使用變換跳過。如果以更靈活的方式處理這些塊,則可以進一步改善編碼增益。In one example, to avoid the CTU or CU having a width or height that is not equal to 2 N , the CTU or CU is forced to be divided into smaller ones until both the width and height are in the form of 2 N or skipped by padding or using transforms . If these blocks are processed in a more flexible manner, the coding gain can be further improved.
在另一個示例中,對於寬度或高度不是2N 形式的CU定義變換。這種變換在實際的視頻編碼應用中是不期望的。3. 使用基於本公開的技術的零單元的示例方法 In another example, a transformation is defined for a CU whose width or height is not in the form of 2 N. This transformation is undesirable in actual video coding applications. 3. Example method using zero cell based on the technology of the present disclosure
本公開的技術的實施例克服了現有實施方式的缺點,從而為視頻編碼提供了更高的效率。具體地,提出零單元塊作為特殊的CU/CTU,並且塊在當且僅當其高度和/或寬度不是2N 的形式時被解釋為零單元。Embodiments of the technology of the present disclosure overcome the shortcomings of existing implementations, thereby providing higher efficiency for video encoding. Specifically, a zero-unit block is proposed as a special CU/CTU, and the block is interpreted as a zero-unit if and only if its height and/or width is not in the form of 2 N.
在以下針對各種實現方式所描述的示例中闡明了使用零單元來提高視頻編碼效率並增強現有和未來的視頻編碼標準。下面提供的本公開的技術的示例解釋了一般概念,並不意欲被解釋為限制。在示例中,除非明確地相反指示,否則可以組合這些示例中描述的各種特徵。在另一示例中,這些示例中描述的各種特徵可以應用於使用向後相容的塊大小的圖片邊界編碼和使用劃分樹進行可視媒體編碼的方法。The examples described below for various implementations illustrate the use of zero units to increase video coding efficiency and enhance existing and future video coding standards. The examples of the technology of the present disclosure provided below explain general concepts and are not intended to be interpreted as limitations. In the examples, unless explicitly indicated to the contrary, various features described in these examples may be combined. In another example, the various features described in these examples can be applied to a picture boundary encoding using backward compatible block sizes and a method of visual media encoding using partition trees.
示例 1. 在一個示例中,塊的寬度、高度或兩者都可以等於不是2N 的形式的任意正整數。這樣的塊被定義為零單元(ZU),其中所有殘差被設置為0。圖13示出了圖片邊界處的零單元的示例。 Example 1. In one example, the width, height, or both of the blocks may be equal to any positive integer that is not in the form of 2 N. Such a block is defined as a zero unit (ZU), where all residuals are set to zero. FIG. 13 shows an example of zero cells at the picture boundary.
(a)在一個示例中,ZU的寬度和高度必須是偶數(以2N的形式)。(A) In one example, the width and height of the ZU must be even (in the form of 2N).
(b)在一個示例中,ZU的寬度和高度必須是2K N的形式(例如,K等於1, 2, 3, 4等)。(B) In an example, the width and height of the ZU must be in the form of 2 K N (for example, K equals 1, 2, 3, 4, etc.).
示例 2. 在一個示例中,提出對於零單元,不調用變換、逆變換、量化和去量化操作。 Example 2. In one example, it is proposed that for zero units, no transform, inverse transform, quantization, and dequantization operations are invoked.
(a)在一個示例中,零單元被推斷為用Skip模式編碼;在這種情況下,不需要信令通知skip標誌、以及幀內或幀間或其它模式的指示。(A) In one example, the zero cell is inferred to be encoded in Skip mode; in this case, there is no need to signal the skip flag and the indication of intra-frame or inter-frame or other modes.
(b)可替代地,此外,也可以跳過merge索引。 (i)零塊可以從其相鄰塊之中的一個繼承運動資訊,該相鄰塊的大小等於2N x 2M 。 (ii)在一個示例中,相鄰塊被定義為與邊界平行的塊,例如對於位於底邊界的零單元,它可以從其上面的塊繼承運動資訊。 (iii)在一個示例中,可以應用某些規則來選擇其相鄰塊的一個,諸如零單元與其相鄰塊之間的連續性。 (iv)在一個示例中,運動資訊可以從相鄰塊的運動資訊得到。(B) Alternatively, in addition, the merge index can also be skipped. (I) A zero block can inherit motion information from one of its neighboring blocks, and the size of the neighboring block is equal to 2 N x 2 M. (Ii) In one example, the neighboring block is defined as a block parallel to the boundary. For example, for a zero cell at the bottom boundary, it can inherit motion information from the block above it. (Iii) In one example, certain rules can be applied to select one of its neighboring blocks, such as the continuity between the zero unit and its neighboring blocks. (Iv) In one example, the motion information can be obtained from the motion information of neighboring blocks.
(c)在一個示例中,零單元可以用Skip模式或non-skip模式、和/或幀內或幀間模式編碼。在這種情況下,模式資訊的傳統信令保持不變,但是,不信令通知cbf_flag並且零單元的所有cbf_flag都被推斷為零。對零單元,不信令通知諸如量化係數或transform_skip_flag的殘差資訊。(C) In one example, the zero cell may be encoded in Skip mode or non-skip mode, and/or intra or inter mode. In this case, the traditional signaling of mode information remains unchanged, but cbf_flag is not signaled and all cbf_flags of the zero cell are inferred to be zero. For the zero unit, no residual information such as quantization coefficient or transform_skip_flag is signaled.
示例 3. 在一個示例中,零單元中可能存在殘差。但是對於零單元沒有變換和逆變換操作。 Example 3. In one example, there may be residuals in the zero cell. But there is no transform and inverse transform operation for the zero unit.
(a)在一個示例中,零單元的殘差總是用transform-skip模式編碼。對於零單元,不信令通知Transform_skip_flag並且Transform_skip_flag被推斷為一。(A) In one example, the residual of zero units is always encoded in transform-skip mode. For unit zero, Transform_skip_flag is not signaled and Transform_skip_flag is inferred to be one.
示例 4. ABT劃分中的分割CU可以是零單元。 Example 4. The divided CU in ABT division may be a zero unit.
示例 5. 圖片/條帶/片邊界處的CTU或CU可以是零單元。 Example 5. The CTU or CU at the picture/strip/slice boundary may be a zero unit.
(a)在一個示例中,不需要信令通知用於邊界CTU/CU的標誌。對於位於圖片邊界上的CU,只允許ZU。(A) In one example, there is no need to signal the flag for the border CTU/CU. For CUs located on the picture boundary, only ZU is allowed.
(b)在一個示例中,所有邊界CTU/CU需要標誌來區分正常CU和ZU。在另一個示例中,該標誌可以結合示例6和7中描述的對大小的限制條件來考慮。(B) In one example, all boundary CTU/CUs need flags to distinguish normal CU and ZU. In another example, the flag can be considered in conjunction with the size restrictions described in Examples 6 and 7.
示例 6. 可以預先定義零塊的寬度/高度的最大值和最小值,或者可以從編碼器向解碼器發信令通知零塊的寬度/高度的最大值和最小值。在一個示例中,它們可以在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)或編碼單元(CU)中信令通知。 Example 6. The maximum and minimum values of the width/height of the zero block can be predefined, or the maximum and minimum values of the width/height of the zero block can be signaled from the encoder to the decoder. In one example, they can be signaled in the video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, coding tree unit (CTU) or coding unit (CU) .
示例 7. 零單元可以進一步分割為兩個單元(BT或ABT)、三個單元(TT、FTT)或四個單元(QT、EQT)。 從零單元分割的分割單元可以是零單元,或者它可以是正常CU,其具有2N 的形式的寬度或高度。假設零單位Z的大小為S×T。 Example 7. The zero cell can be further divided into two cells (BT or ABT), three cells (TT, FTT) or four cells (QT, EQT). The split unit split from the zero unit may be a zero unit, or it may be a normal CU, which has a width or height in the form of 2 N. Assume that the size of the zero unit Z is S×T.
(a)在一個示例中,Z可以用BT分割為兩個單元,二者具有大小為 S/2×T。(A) In one example, Z can be divided into two units by BT, and the two have a size of S/2×T.
(b)在一個示例中,Z可以用BT分割為兩個單元,二者具有大小為 S×T/2。(B) In one example, Z can be divided into two units with BT, and both have a size of S×T/2.
(c)在一個示例中,假設2N
>S≤2N+1
,Z可以用BT分割為兩個單元,其具有大小為2N
×T和(S-2N
)×T,或(S-2N
)×T和2N
×T。(C) In an example, assuming 2 N >
(d)在一個示例中,假設2N
>T≤2N+1
,Z可以用BT分割為兩個單元,其具有大小為S×2N
和S×(T-2N
),或S×(T-2N
)和S×2N
。(D) In an example, assuming 2 N >
(e)在一個示例中,Z可以用TT分割為三個單元,其具有大小為S/4×T、S/2×T和S/4×T。(E) In one example, Z can be divided into three units with TT, which have sizes of S/4×T, S/2×T, and S/4×T.
(f)在一個示例中,Z可以用TT分割為三個單元,其具有大小為S×T/4、S×T/2和S×T/4。(F) In one example, Z can be divided into three units with TT, which have sizes of S×T/4, S×T/2, and S×T/4.
(g)在一個示例中,假設2N >S>2N+1 ,Z可以用TT分割為三個單元,其具有大小為2N-1 ×T、2N-1 ×T和(S-2N )×T,或2N-1 ×T、(S-2N )×T和2N-1 ×T,或(S-2N )×T、2N‑1 ×T和2N-1 ×T。(G) In an example, assuming 2 N >S>2 N+1 , Z can be divided into three units by TT, which has the size of 2 N-1 ×T, 2 N-1 ×T and (S- 2 N )×T, or 2 N-1 ×T, (S-2 N )×T and 2 N-1 ×T, or (S-2 N )×T, 2 N‑1 ×T and 2 N- 1 ×T.
(h)在一個示例中,假設2N
>T≤2N+1
,Z可以用TT分割為三個單元,其具有大小為S×2N-1
、S×2N-1
和S×(T-2N
),或S×2N-1
、S×(T-2N
)和S×2N-1
,或S×(T-2N
)、S×2N‑1
和S×2N-1
。(H) In an example, assuming that 2 N >
(i)在一個示例中,Z可以用QT分割為四個單元,均具有大小為 S/2×T/2。(I) In one example, Z can be divided into four units with QT, all of which have a size of S/2×T/2.
(j)在一個示例中,假設2N
>S≤2N+1
,Z可以用QT分割為四個單元,具有大小為 2N
×T/2、2N
×T/2、(S-2N
)×T/2和(S-2N
)×T/2,或(S-2N
)×T/2、(S-2N
)×T/2、2N
×T/2和2N
×T/2。(J) In an example, assuming 2 N >
(k)在一個示例中,假設2N
>T≤2N+1
,Z可以用QT分割為四個單元,具有大小為 S/2×2N
、S/2×2N
、S/2×(T-2N
)和S/2×(T-2N
),或S/2×(T-2N
)、S/2×(T-2N
)、S/2×2N
和S/2×2N
。(K) In an example, assuming 2 N >
(l)在一個示例中,假設2N
>S≤2N+1
和2M
>T≤2M+1
,Z可以用QT分割為四個單元,具有大小為 2N
×2M
、2N
×2M
、(S-2N
)×(T-2M
)和(S-2N
)×(T-2M
),或(S-2N
)×(T-2M
)、(S-2N
)×(T-2M
)、2N
×2M
和2N
×2M
,或2N
×(T-2M
)、2N
×(T-2M
)、(S-2N
)× 2M
和(S-2N
)× 2M
,或(S-2N
)× 2M
、(S-2N
)× 2M
、2N
×(T-2M
)和 2N
×(T-2M
)。(L) In an example, assuming 2 N >
(m)在一個示例中,所有分割單元的寬度/高度應為偶數。如果一個劃分結構導致單元的寬度或高度為奇數,則自動禁止這樣的劃分結構。(M) In an example, the width/height of all split units should be even. If a division structure results in an odd number of cell widths or heights, such division structure is automatically disabled.
或者,此外,跳過這種劃分結構的信令。Or, in addition, skip the signaling of this divided structure.
(n)在一個示例中,Z 可以用TT分割為三個單元。(N) In one example, Z can be divided into three units by TT.
在一個示例中,假設3*2N >S>=3*2N+1 ,三個單元的大小分別為2N ×T、2N+1 ×T和(S-3*2N )×T。In an example, assuming 3*2 N >S>=3*2 N+1 , the size of the three units are 2 N ×T, 2 N+1 ×T and (S-3*2 N )×T .
在一個示例中,假設3*2N >T>=3*2N+1 ,三個單元的大小分別為Sx2N 、Sx2N+1 和S×(T-3*2N )。In an example, assuming 3*2 N >T>=3*2 N+1 , the size of the three units are Sx2 N , Sx2 N+1, and S×(T-3*2 N ).
(o)在一個示例中,所有分割單元的寬度和/或高度應為K * M的形式,其中M是允許的編碼單元/預測單元的最小寬度和/或高度,諸如4; K是大於0的整數。如果一個劃分結構導致單元的寬度或高度不是這樣的形式,則自動禁止該劃分結構。(O) In one example, the width and/or height of all the split units should be in the form of K*M, where M is the minimum width and/or height of the allowed coding unit/prediction unit, such as 4; K is greater than 0 Integer. If a division structure results in a unit whose width or height is not such a form, the division structure is automatically disabled.
例如,假設劃分結構中分割單元的寬度和高度為W和H,如果W >M或H >M或(W&(M-1)!= 0)或(H&(M-1)! = 0),則禁止該劃分結構。For example, suppose the width and height of the split unit in the partition structure are W and H. If W >M or H >M or (W&(M-1)! = 0) or (H&(M-1)! = 0), The division structure is prohibited.
或者,此外,跳過這種劃分結構的信令。Or, in addition, skip the signaling of this divided structure.
或者,所有分割的非ZU的寬度和/或高度應為K*M的形式,其中M是允許的編碼單元/預測單元的最小寬度和/或高度,諸如4。在這種情況下, 如果分割的零單元不遵循此限制但非ZU遵循此限制,則仍允許劃分結構。Alternatively, the width and/or height of all divided non-ZUs should be in the form of K*M, where M is the minimum width and/or height of the allowed coding unit/prediction unit, such as 4. In this case, if the segmented zero cells do not follow this limit but non-ZUs follow this limit, the partition structure is still allowed.
示例 8. ZU的分割信令方法與正常CU的分割信令方法相同。 Example 8. The split signaling method of ZU is the same as that of normal CU.
a. 在一個示例中,可以使用不同的上下文來編碼ZU或非ZU。a. In one example, different contexts can be used to encode ZU or non-ZU.
b. 或者,對於ZU,僅允許正常CU的部分分割方法。 i. 對ZU所允許的正常CU的分割方法的子集由ZU大小和/或圖片/條帶/片邊界位置(底部、右部、右下部等)和/或條帶類型確定。 ii. 在一個示例中,對於ZU只允許QT和BT劃分結構。 iii. 或者,此外,在ZU分割資訊中不發信號通知是否使用TT以及如何使用TT(以及除QT / BT之外的其它種類的劃分結構)。 iv. 或者,此外,ZU的分割信令方法仍然與正常CU的分割信令方法保持相同,然而,TT(或其它類型的劃分結構)的指示的上下文可以進一步取決於當前塊是否是ZU。b. Or, for ZU, only the normal CU partial division method is allowed. i. The subset of normal CU segmentation methods allowed by ZU is determined by ZU size and/or picture/strip/slice boundary location (bottom, right, lower right, etc.) and/or stripe type. ii. In one example, only QT and BT partition structures are allowed for ZU. iii. Alternatively, in addition, whether to use TT and how to use TT (and other types of division structures other than QT/BT) are not signaled in the ZU split information. iv. Alternatively, in addition, the split signaling method of ZU remains the same as the split signaling method of a normal CU, however, the context of the indication of TT (or other type of split structure) may further depend on whether the current block is ZU.
示例 9. 在一個示例中,寬度和高度均等於(2N ×2M )的塊也可以定義為ZU。 Example 9. In an example, a block whose width and height are equal to (2 N × 2 M ) can also be defined as ZU.
(a)在這種情況下,與其它ZU(其中寬度或高度不等於2N
)一樣,如第2項所述,不調用變換、逆變換、量化和去量化操作。(A) In this case, as with other ZUs (where width or height is not equal to 2 N ), as described in
(b)假設CU的大小是W×H,則當以下條件成立時,CU被視為ZU, (i)W> = T0且H> = T1。T0和/或T1是諸如128或256的整數。 (ii)W> = T0或H> = T1。T0和/或T1是諸如128或256的整數。 (iii)W×H> = T。T是諸如16384或65536的整數。(B) Assuming that the size of CU is W×H, when the following conditions are true, CU is regarded as ZU, (I) W> = T0 and H> = T1. T0 and/or T1 are integers such as 128 or 256. (Ii) W>=T0 or H>=T1. T0 and/or T1 are integers such as 128 or 256. (Iii) W×H>=T. T is an integer such as 16384 or 65536.
示例 10. 在一個實施例中,ZU必須是幀間編碼的塊。 Example 10. In one embodiment, ZU must be an inter-coded block.
(a)在一個示例中,ZU只能用於P/B圖片/條帶中。(A) In one example, ZU can only be used in P/B pictures/strips.
(b)在一個示例中,對於ZU,不信令通知prediction_mode_flag,並且總是被推斷為被幀間編碼。(B) In one example, for ZU, prediction_mode_flag is not signaled and is always inferred to be inter-coded.
(c)在一個示例中,ZU可以與用於運動預測的幾何劃分結合使用(參考[6]),使得幀間預測可以生成更好地適合於視頻的運動和紋理的預測器。 (i)在一個示例中,允許的劃分類型可以取決於父劃分的形狀。例如,如果塊的橫縱比大於或等於4(寬度)比1(高度),應禁止接近水平線的角度。如果橫縱比小於或等於4(寬度)比1(高度),則應禁止接近垂直線的角度。 (ii)在一個示例中,僅Merge模式可用於子運動劃分以節省開銷位元。 (iii)在一個示例中,Merge模式和常規AMVP模式都可用於子運動劃分。是否允許常規AMVP模式也可以通過條帶標頭來信令通知,使得有效編碼模式可以適應於視頻內容。(C) In one example, ZU can be used in conjunction with geometric partitioning for motion prediction (refer to [6]), so that inter prediction can generate a predictor that is better suited to the motion and texture of the video. (I) In one example, the allowed division type may depend on the shape of the parent division. For example, if the aspect ratio of the block is greater than or equal to 4 (width) to 1 (height), the angle close to the horizontal line should be prohibited. If the aspect ratio is less than or equal to 4 (width) to 1 (height), the angle close to the vertical line should be prohibited. (Ii) In one example, only the Merge mode can be used for sub-motion division to save overhead bits. (Iii) In one example, both the Merge mode and the regular AMVP mode can be used for sub-motion division. Whether to allow the conventional AMVP mode can also be signaled through the strip header, so that the effective encoding mode can be adapted to the video content.
(d)在一個示例中,可以使用運動單元的更小的組來更好地預測ZU。例如,可以允許2x2 ATMVP和2x2仿射模式用於ZU。這也有助於當ZU的寬度或高度為2時,最小化角落情況的影響。(D) In one example, a smaller group of motion units can be used to better predict ZU. For example, 2x2 ATMVP and 2x2 affine modes can be allowed for ZU. This also helps minimize the effect of corner conditions when the width or height of the ZU is 2.
示例 11. 在一個示例中,ZU必須被劃分為I條帶或幀內編碼的圖片。 Example 11. In one example, the ZU must be divided into I slices or intra-coded pictures.
(a)在一個示例中,ZU的寬度或高度不是2N 的形式。(A) In one example, the width or height of ZU is not in the form of 2 N.
(b)在一個示例中,當以下條件成立時,CU被視為ZU: i. W> = T0且H> = T1。T0和/或T1是諸如128或256的整數。 ii. W> = T0或H> = T1。T0和/或T1是諸如128或256的整數。 iii. W×H> = T。T是諸如16384或65536的整數。(B) In one example, CU is considered ZU when the following conditions are true: i. W> = T0 and H> = T1. T0 and/or T1 are integers such as 128 or 256. ii. W> = T0 or H> = T1. T0 and/or T1 are integers such as 128 or 256. iii. W×H> = T. T is an integer such as 16384 or 65536.
示例 12. 對於ZU,環路過濾的強度應設置為強。 Example 12. For ZU, the strength of the loop filter should be set to strong.
(a)在一個示例中,用於去方塊(de-blocking)的強濾波器應該被用於ZU。(A) In one example, a strong filter for de-blocking should be used for ZU.
(b)在一個示例中,強雙邊濾波器應該被用於ZU。(B) In one example, a strong bilateral filter should be used for ZU.
(c)在一個示例中,可以使用運動補償平滑濾波器(例如,重疊塊運動補償)。(C) In one example, a motion compensation smoothing filter (eg, overlapping block motion compensation) may be used.
示例 13. 對於ZU和正常CU,可以以不同方式實現啟用/禁用適應性環路濾波器(ALF)。 Example 13. For ZU and normal CU, enabling/disabling adaptive loop filter (ALF) can be implemented in different ways.
(a)在一個示例中,如果CTU是ZU,則整個ZU被控制為整體上進行ALF或不進行ALF,而不是分割成子塊來進行ALF開/關控制。相應地,對於這樣的CTU,僅信令通知一個alf_control_flag。(A) In one example, if the CTU is ZU, the entire ZU is controlled to perform ALF as a whole or not, instead of splitting into sub-blocks for ALF on/off control. Accordingly, for such a CTU, only one alf_control_flag is signaled.
(b)在另一個示例中,如果CTU是ZU,則ZU被分割為N個子塊以進行ALF開/關控制。該分割不依賴於CTU內的ZU或CU劃分。相應地,對於這樣的CTU,信令通知多個(例如,高達N個)alf_control_flag。 (i)例如,如果CTU大小是W×H,則子塊大小是w×h。 (1)在一個示例中,CTU被分割為(W + w-1)/ w列和(H + h-1)/ h行的子塊(所有除法均是在C語言中定義的整除)。最後一行/最後一列中的子塊可能比其它塊更小。 (2)在一個示例中,CTU被分割為W / w列和H / h行的子塊(所有除法均是在C語言中定義的整除)。最後一行/最後一列中的子塊可能比其它塊更大。 圖18A和18B示出了將ZU塊劃分成子塊以用於自我調整環路控制(ALF)開/關控制的示例。(B) In another example, if the CTU is ZU, the ZU is divided into N sub-blocks for ALF on/off control. The division does not depend on the ZU or CU division within the CTU. Accordingly, for such CTUs, multiple (eg, up to N) alf_control_flags are signaled. (I) For example, if the CTU size is W×H, the sub-block size is w×h. (1) In one example, the CTU is divided into (W + w-1)/w columns and (H + h-1)/h row sub-blocks (all divisions are integer divisions defined in the C language). The sub-blocks in the last row/last column may be smaller than other blocks. (2) In one example, the CTU is divided into sub-blocks of column W/w and row H/h (all divisions are integer divisions defined in the C language). The sub-blocks in the last row/last column may be larger than other blocks. 18A and 18B show an example of dividing the ZU block into sub-blocks for self-adjusting loop control (ALF) on/off control.
(c)如果一個ZU位於圖像邊界處,則ALF將被自動禁用而無需任何信令通知。(C) If a ZU is located at the image boundary, ALF will be automatically disabled without any signaling.
(d)上述方法可以擴展到需要塊級開/關控制標誌的信令通知的其它種類的濾波方法。(D) The above method can be extended to other types of filtering methods that require signaling of block-level on/off control flags.
示例 14. 對於位於圖像邊界處的CU / PU / TU,可以自動禁用ALF或需要塊級開/關控制標誌的其它種類的濾波方法。 Example 14. For CU/PU/TU located at the image boundary, ALF or other kinds of filtering methods that require block-level on/off control flags can be automatically disabled.
(a)在這種情況下,對於這些塊的開/關控制標誌的信令被跳過。(A) In this case, signaling of on/off control flags for these blocks is skipped.
上述示例可以結合在下面描述的方法的上下文中——例如,方法1400和1500,其可以在視頻解碼器和/或視訊轉碼器處實現。The above examples can be combined in the context of the methods described below-for example,
圖14示出了用於視頻編碼的示例性方法的流程圖,其可以在視訊轉碼器中實現。方法1400包括,在步驟1410處,確定視頻資料塊的維度。14 shows a flowchart of an exemplary method for video encoding, which may be implemented in a video transcoder.
方法1400包括,在步驟1420處,在確定至少一個維度是非二的冪時,將視頻資料塊作為零單元(ZU)塊來信令通知,其是不可變換的。
在一些實施例中,非二的冪是不能以2N 的形式表示的任何非零數字。例如,不包括二的冪的整數(例如,1,3,5,6,7,9,10,11,12,13,14,15,17,18,...)的每個都是非二的冪。In some embodiments, a non-power of two is any non-zero number that cannot be represented in the form of 2 N. For example, integers that do not include powers of two (for example, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, ...) are each non-two Power.
在一些實施例中,可以定義不可變換,使得不對零單元調用變換、逆變換、量化和去量化操作。例如,零單元的不可變換屬性是其被推斷為用跳過模式進行編碼,並且因此,不需要明確地用信令通知跳過模式。在其它實施例中,可以在示例3的上下文中定義不可變換,使得儘管可能存在非零殘差,但對於零單元沒有定義變換和逆變換操作。In some embodiments, non-transformation may be defined so that transform, inverse transform, quantization, and dequantization operations are not invoked on zero units. For example, the non-transformable property of the zero unit is that it is inferred to be encoded in skip mode, and therefore, skip mode need not be explicitly signaled. In other embodiments, non-transformation may be defined in the context of Example 3, so that although there may be non-zero residuals, no transform and inverse transform operations are defined for zero cells.
圖15示出了用於視頻編碼的另一示例性方法的流程圖,該方法可以在視頻解碼器中實現。該流程圖包括與圖14中所示並且在上面描述的類似的一些特徵和/或步驟。本章節中可能未單獨描述這些特徵和/或步驟中的至少一些。FIG. 15 shows a flowchart of another exemplary method for video encoding, which may be implemented in a video decoder. The flowchart includes some features and/or steps similar to those shown in FIG. 14 and described above. At least some of these features and/or steps may not be separately described in this section.
方法1500包括,在步驟1510處,接收對應於視頻資料塊的位元流。
方法1500包括,在步驟1520處,接收信令,其指示視頻資料塊是零單元(ZU)塊,該零單元(ZU)塊是不可變換的,並且具有非二的冪的至少一個維度。The
方法1500包括,在步驟1530處,基於信令解碼位元流以重建視頻資料塊。
在一些實施例中,方法1400和1500,以及如在示例1的上下文中所描述的,可以進一步包括視頻資料塊的維度是偶數,具有2N形式,或者具有2K
N的形式,其中K = 1,2,3,4…。在其它實施例中,信令可以不包括合併索引或跳過標記、和/或不包括prediction_mode_flag、和/或包括ZU塊的至少一個維度的最大值或最小值。在示例中,信令在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)或編碼單元(CU)中。In some embodiments,
在一些實施例中,ZU塊的運動資訊從大小為2N
×2M
的相鄰塊的運動資訊繼承。In some embodiments, the motion information of the ZU block is inherited from the motion information of adjacent blocks of
在一個實施例中,並且如在示例7的上下文中所描述的,ZU塊被分割為兩個或更多個單元。在示例中,兩個或更多個單元中的至少一個是零單元。在另一個示例中,在兩個或更多個單元中的至少一個是尺寸為2N ×2M 的編碼單元(CU)。In one embodiment, and as described in the context of Example 7, the ZU block is divided into two or more units. In an example, at least one of the two or more cells is a zero cell. In another example, at least one of the two or more units is a coding unit (CU) with a size of 2 N ×2 M.
在一些實施例中,並且如在示例10的上下文中所描述的,ZU塊的環路濾波強度被設置為強。在HEVC標準的示例中,“強”濾波器修改所感興趣像素的每一側上的三個像素,而“弱”濾波器修改每一側上的一個或兩個像素。例如,環路濾波包括雙邊濾波、去方塊濾波和/或使用運動補償的平滑濾波器。4. 所公開的技術的示例實現方式 In some embodiments, and as described in the context of Example 10, the loop filtering strength of the ZU block is set to strong. In the example of the HEVC standard, the "strong" filter modifies three pixels on each side of the pixel of interest, and the "weak" filter modifies one or two pixels on each side. For example, loop filtering includes bilateral filtering, de-blocking filtering, and/or smoothing filters using motion compensation. 4. Example implementation of the disclosed technology
圖16是示出可以用於實現本公開的技術的各個部分的電腦系統或其它控制設備1600的架構的示例的框圖,本公開的技術包括(但不限於)方法1400和1500。在圖16中,電腦系統1600包括經由互連1625連接的一個或多個處理器1605和記憶體1610。互連1625可以代表通過適當的橋接器、適配器連接的任何一個或多個單獨的物理匯流排、點對點連接或兩者。因此,互連1625可以包括例如,系統匯流排、周邊元件連接(PCI)匯流排、雙向傳輸匯流排(HyperTransport)或工業標準架構(ISA)匯流排、小型電腦系統介面(SCSI)匯流排、 通用序列匯流排(USB)、IIC(I2C)匯流排或電氣和電子工程師協會(IEEE)標準674匯流排,有時也稱為“Firewire”。16 is a block diagram illustrating an example of an architecture of a computer system or
(一個或多個)處理器1605可以包括中央處理單元(CPU)以控制例如主機電腦的整體操作。在某些實施例中,(一個或多個)處理器1605通過執行記憶體1610中存儲的軟體或固件來實現這一點。(一個或多個)處理器1605可以是或可以包括一個或多個可程式設計通用或專用微處理器、數位訊號處理器(DSP)、可程式設計控制器、專用積體電路(ASIC)、可程式設計邏輯器件(PLD)等,或這些器件的組合。The processor(s) 1605 may include a central processing unit (CPU) to control, for example, the overall operation of the host computer. In some embodiments, the processor(s) 1605 implements this by executing software or firmware stored in the
記憶體1610可以是或可以包括電腦系統的主記憶體。記憶體1610表示任何合適形式的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體記憶體等,或其組合。在使用中,記憶體1610可以包含機器指令集,當由處理器1605執行該機器指令集時,使得處理器1605進行操作以實現本公開技術的實施例。The
通過互連1625也連接到(一個或多個)處理器1605的是(可選的)網路介面卡1615。網路介面卡1615向電腦系統1600提供與遠端設備通信的能力,遠端設備例如儲存器用戶端和/或其它儲存器伺服器,並且網路介面卡1615可以是例如乙太網適配器或光纖通道適配器。Also connected to the processor(s) 1605 through the
圖17示出了可用於實現本公開技術的各個部分的移動設備1700的示例實施例的框圖,包括(但不限於)方法700、750、800、850、900、950、600、1400和1500。移動設備1700可以是膝上型電腦、智慧型電話、平板電腦、可擕式攝像機或能夠處理視頻的其它類型的設備。移動設備1700包括用於處理資料的處理器或控制器1701,以及與處理器1701通信以存儲和/或緩衝資料的記憶體1702。例如,處理器1701可以包括中央處理單元(CPU)或微控制器單元(MCU)。在一些實現方式中,處理器1701可以包括現場可程式設計閘陣列(FPGA)。在一些實現方式中,移動設備1700包括用於智慧型電話設備的各種可視和/或通信資料處理功能的圖形處理單元(GPU)、視頻處理單元(VPU)和/或無線通訊單元或與之通信。例如,記憶體1702可以包括並存儲處理器可執行代碼,其在由處理器1701執行時配置移動設備1700以執行各種操作,例如接收資訊、命令和/或資料,處理資訊和資料,並且將處理後的資訊/資料發送或提供給諸如致動器或外部顯示器的另一個設備。17 shows a block diagram of an example embodiment of a
為了支援移動設備1700的各種功能,記憶體1702可以存儲資訊和資料,諸如指令、軟體、值、圖像以及由處理器1701處理或參考的其它資料。例如,各種類型的隨機存取記憶體(RAM)設備、唯讀記憶體(ROM)設備、快閃記憶體設備和其它合適的存儲介質可已被用於實現記憶體1702的存儲功能。在一些實現方式中,移動設備1700包括輸入/輸出(I/O)單元1703,以將處理器1701和/或記憶體1702與其它模組、單元或設備介面。例如,I/O單元1703可以利用與典型資料通信標準(例如,在雲中的一個或多個電腦與使用者設備之間的)相容的各種類型的無線介面,以將處理器1701與記憶體1702介面。在一些實現方式中,移動設備1700可以經由I/O單元1703使用有線連接與其它設備介面。移動設備1700還可以與其它外部介面(例如資料記憶體)和/或視覺或音訊顯示裝置1704介面,以取回和傳送資料和資訊,該資料和資訊可由處理器處理、存儲在記憶體中或在顯示裝置1704或外部設備的輸出單元上展示。例如,顯示裝置1704可以顯示包括塊(CU、PU或TU)的視頻幀,該塊基於是否使用運動補償演算法並根據所公開的技術對塊進行編碼來應用塊內複製。To support various functions of the
在一些實施例中,視頻解碼器設備可以實現使用如本文中所描述的零單元的方法以用於視頻解碼。該方法的各種特徵可以類似於上述方法1500。In some embodiments, the video decoder device may implement a method of using zero units as described herein for video decoding. Various features of this method may be similar to the
在一些實施例中,視頻解碼方法可以使用解碼設備來實現,該解碼設備在如圖16和圖17中所述的硬體平臺上實現。In some embodiments, the video decoding method may be implemented using a decoding device, which is implemented on a hardware platform as described in FIGS. 16 and 17.
可以使用以下解決方案來捕獲本文描述的一些實施例。The following solutions can be used to capture some of the embodiments described herein.
1. 一種視頻編碼方法(例如,圖7A中所描述的方法700),包括:對於至少高度或寬度為非二的冪數個像素的視頻資料塊做出確定(702),以將視頻資料塊編碼為位元流表示而無需變換操作;以及對編碼的結果進行(704)環路濾波,其中基於確定選擇環路濾波器的類型。1. A video encoding method (for example, the
2. 一種視頻解碼方法(例如,圖7B中所描述的方法750),包括:對於至少高度或寬度為非二的冪數個像素的視頻資料塊做出確定(752),以從位元流表示解碼視頻資料塊而無需變換操作;以及對解碼的結果進行(754)環路濾波,其中基於確定選擇環路濾波器的類型。2. A video decoding method (for example, the
3. 如解決方案1所述的方法,其中,無需變換操作的編碼禁用係數變換或殘差係數編碼。3. The method according to
4. 如解決方案1或2所述的方法,其中,濾波包括去方塊濾波。4. The method according to
5. 如解決方案1或2所述的方法,其中,環路濾波包括雙邊濾波。5. The method according to
6. 如解決方案1或2所述的方法,其中,環路濾波包括使用運動補償的平滑濾波器。6. The method according to
7. 如解決方案1至6的任一項所述的方法,其中,環路濾波器的類型是強類型的環路濾波器。7. The method according to any one of
8. 一種視頻編碼方法(例如,圖8A中描述的方法800),包括:回應於確定視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊的一個而選擇(802)環路濾波器的類型;基於該選擇確定(804)用於視頻資料塊的適應性環路濾波器(ALF)模式;將視頻資料塊編碼(806)為位元流表示;以及使用ALF模式將ALF應用於(808)編碼的結果。8. A video encoding method (for example, the
9. 一種視頻解碼方法(例如,圖8B中描述的方法850),包括:由於塊的像素寬度或像素高度為非二的冪的整數,確定(852)視頻資料塊將從位元流表示被解碼為編碼單元(CU)或零單元(ZU)塊的一個;回應於確定,為視頻資料塊選擇(854)適應性環路濾波器(ALF)模式;從位元流表示解碼(856)視頻資料塊;以及基於ALF進行(858)適應性環路濾波。9. A video decoding method (for example,
10. 一種視頻解碼方法(例如,圖9A中描述的方法900),包括:接收(902)對應於視頻資料塊的位元流;由於塊的像素寬度或像素高度為非二的冪的整數,確定(904)作為編碼樹單元(CTU)的視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊的一個;回應於確定視頻資料塊將被編碼為CU或ZU塊的一個,選擇(906)環路濾波器的類型;接收(908)信令以基於選擇控制塊中的適應性環路濾波器(ALF);以及使用所選擇的類型的環路濾波器對該塊進行環路濾波(910)。10. A video decoding method (for example, the
11. 如解決方案9或10所述的方法,其中,當確定視頻資料塊為ZU塊時,ZU塊被控制為作為整體塊而不是分割為子塊來進行ALF,切換ALF為開,並且其中信令包括用於整體塊的一個ALF控制標誌。11. The method according to solution 9 or 10, wherein, when it is determined that the video data block is a ZU block, the ZU block is controlled to perform ALF as a whole block instead of being divided into sub-blocks, switching ALF to on, and wherein The signaling includes an ALF control flag for the overall block.
12. 如解決方案9或10所述的方法,其中,視頻資料塊是ZU塊並且被分割為N個子塊,切換ALF為開,並且其中信令包括用於每個子塊的一個ALF控制標誌。12. The method according to solution 9 or 10, wherein the video data block is a ZU block and is divided into N sub-blocks, ALF is switched on, and wherein the signaling includes an ALF control flag for each sub-block.
13. 如解決方案12所述的方法,其中,與作為ZU塊的視頻資料塊有關的編碼樹單元(CTU)的尺寸為W×H並且子塊大小的尺寸為w×h,CTU被分割為(W+w-1)/w列、(H+h-1)/h行的子塊。13. The method according to solution 12, wherein the size of the coding tree unit (CTU) related to the video data block as the ZU block is W×H and the size of the sub-block size is w×h, the CTU is divided into Sub-blocks in (W+w-1)/w column, (H+h-1)/h row.
14. 如解決方案12所述的方法,其中,與作為ZU塊的當前視頻塊有關的編碼樹單元(CTU)的尺寸為W×H並且子塊大小的尺寸為w×h,CTU被分割為W/w列、H/h行的子塊。14. The method according to solution 12, wherein the size of the coding tree unit (CTU) related to the current video block as the ZU block is W×H and the size of the sub-block size is w×h, the CTU is divided into Sub-blocks in column W/w, row H/h.
15. 如解決方案9或10所述的方法,其中,由於ZU塊位於圖片邊界處,自動禁用ALF而無需任何信令通知。15. The method according to solution 9 or 10, wherein since the ZU block is located at the picture boundary, ALF is automatically disabled without any signaling.
16. 如解決方案9或10所述的方法,其中,信令切換濾波方法。16. The method according to solution 9 or 10, wherein the filtering method is switched by signaling.
17. 一種視頻編碼方法(例如,圖9B中描述的方法950),包括:確定(952)視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)的一個;回應於確定視頻資料塊位於靠近圖片邊界並且是CU、PU或TU的一個,控制(954)環路濾波器;以及基於確定來信令通知(956)環路濾波器的控制資訊。17. A video encoding method (eg,
18. 一種視頻解碼方法(例如,圖9C中描述的方法960),包括:確定(962)視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)的一個;基於確定接收(964)環路濾波器的控制資訊;以及基於確定和所接收的控制資訊(966)環路濾波器。18. A video decoding method (for example, the
19. 如解決方案17或18所述的方法,其中,需要塊級開/關控制標誌的環路濾波器可以被自動禁用。19. The method according to solution 17 or 18, wherein the loop filter requiring the block-level on/off control flag can be automatically disabled.
20. 如解決方案17所述的方法,其中,塊級開/關控制標誌的信令通知被跳過。20. The method of solution 17, wherein the signaling of the block-level on/off control flag is skipped.
21. 如解決方案17至19的任一項所述的方法,其中,環路濾波器包括適應性環路濾波(ALF)。21. The method according to any one of solutions 17 to 19, wherein the loop filter includes adaptive loop filtering (ALF).
22. 一種視頻系統中的裝置,包括處理器和其上具有指令的非暫態性的記憶體,其中,當由處理器執行指令時,使得處理器實現如解決方案1到21中的任一個所述的方法。22. An apparatus in a video system, including a processor and a non-transitory memory having instructions thereon, wherein, when the instructions are executed by the processor, the processor is caused to implement any one of
23. 一種儲存在非暫態性的電腦可讀介質上的電腦程式產品,電腦程式產品包括用於執行解決方案1到21中的任一個中的方法的程式碼。23. A computer program product stored on a non-transitory computer readable medium, the computer program product including program code for performing the method in any one of
關於上述解決方案,接收操作可以包括通過網路連接接收視頻資料或者從記憶體或存放裝置通過諸如匯流排的資料通信鏈路接收視頻資料。關於上述解決方案,非二的冪數包括不是2的整數次冪的數(例如,4,8,16,32 ......)。關於上述解決方案,如在示例中所描述的,變換可以是DCT變換或用於資料壓縮的另外的合適的變換(例如,小波變換或Haar變換)。此外,在上面列出的解決方案中使用的各種環路濾波示例包括ALF、SAO等。關於這裡列出的解決方案,ALF可以在重建之後(或例如,去量化)用於(或應用於)視頻像素。關於上面列出的解決方案,可以使用放置在視頻編碼表示的預定義位元流語法中的語法元素來實現資訊的信令通知。Regarding the above solution, the receiving operation may include receiving video data through a network connection or receiving video data from a memory or storage device through a data communication link such as a bus. Regarding the above solution, non-two powers include numbers that are not integer powers of 2 (for example, 4, 8, 16, 32...). With regard to the above solution, as described in the example, the transform may be a DCT transform or another suitable transform for data compression (eg, wavelet transform or Haar transform). In addition, various examples of loop filtering used in the solutions listed above include ALF, SAO, etc. Regarding the solutions listed here, ALF can be used (or applied) to video pixels after reconstruction (or, for example, dequantization). Regarding the solutions listed above, it is possible to use the syntax elements placed in the pre-defined bitstream syntax of the video encoding representation to signal the information.
從前述內容可以理解,本文已經出於說明的目的描述了本公開技術的具體實施例,但是可以在不脫離本發明範圍的情況下進行各種修改。因此,本公開的技術除了所附申請專利範圍外不受限制。As can be understood from the foregoing, specific embodiments of the disclosed technology have been described herein for illustrative purposes, but various modifications can be made without departing from the scope of the invention. Therefore, the technology of the present disclosure is not limited except for the scope of the attached patent application.
本發明中描述的主題和功能操作的實現方式可以以各種系統、數位電子電路實現,或者以電腦軟體、固件或硬體實現,包括說明書中公開的結構及其結構等同物,或者以它們中的一個或多個的組合實現。公開和其它實施例可以實現為一個或多個電腦程式產品,即,在有形且非暫態性的電腦可讀介質上編碼的一個或多個電腦程式指令模組,用於由資料處理裝置執行或控制資料處理裝置的操作。電腦可讀介質可以是機器可讀存放裝置、機器可讀存儲基板、記憶體設備、影響機器可讀傳播信號的物質組合、或者它們中的一個或多個的組合。術語“資料處理單元”或“資料處理裝置”涵蓋用於處理資料的所有裝置、設備和機器,包括例如可程式設計處理器、電腦或多個處理器或電腦。除了硬體之外,該裝置還可以包括為所討論的電腦程式創建執行環境的代碼,例如,構成處理器固件、協定棧、資料庫管理系統、作業系統、或者它們中的一個或多個的組合的代碼。The implementation of the subject matter and functional operations described in the present invention can be implemented in various systems, digital electronic circuits, or computer software, firmware, or hardware, including the structures disclosed in the specification and their structural equivalents, or One or more combinations are realized. The disclosed and other embodiments can be implemented as one or more computer program products, that is, one or more computer program instruction modules encoded on a tangible and non-transitory computer readable medium for execution by a data processing device Or control the operation of data processing devices. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a material combination that affects a machine-readable propagation signal, or a combination of one or more of them. The term "data processing unit" or "data processing device" encompasses all devices, equipment, and machines used to process data, including, for example, a programmable processor, computer, or multiple processors or computers. In addition to the hardware, the device may also include code to create an execution environment for the computer program in question, for example, the processor firmware, protocol stack, database management system, operating system, or one or more of them Combined code.
電腦程式(也稱為程式、軟體、軟體應用、腳本或代碼)可以用任何形式的程式設計語言編寫,包括編譯或解釋語言,並且可以以任何形式來部署電腦程式,包括獨立程式或適合在計算環境中使用的模組、元件、子常式或其它單元。電腦程式並不必需對應於檔案系統中的檔案。程式可以存儲在檔案的保存其它程式或資料(例如,存儲在標記語言檔案中的一個或多個腳本)的部分中,存儲在專用於所討論的程式的單個檔案中,或存儲在多個協調檔案中(例如,存儲一個或多個模組、副程式或代碼部分的檔案)。可以部署電腦程式以在一個電腦上或在位於一個網站上或分佈在多個網站上並通過通信網路互連的多個電腦上執行。Computer programs (also called programs, software, software applications, scripts, or codes) can be written in any form of programming language, including compiled or interpreted languages, and computer programs can be deployed in any form, including standalone programs or suitable for computing Modules, components, subroutines or other units used in the environment. The computer program does not necessarily correspond to files in the file system. Programs can be stored in parts of files that hold other programs or data (for example, one or more scripts stored in markup language files), in a single file dedicated to the program in question, or in multiple coordination In files (for example, files that store one or more modules, subprograms, or code parts). A computer program can be deployed to execute on one computer or on multiple computers located on one website or distributed across multiple websites and interconnected by a communication network.
本說明書中描述的過程和邏輯流程可以由執行一個或多個電腦程式的一個或多個可程式設計處理器執行,以通過對輸入資料進行操作並生成輸出來執行功能。過程和邏輯流程也可以由專用邏輯電路執行,並且裝置也可以實現為專用邏輯電路,例如FPGA(現場可程式設計閘陣列)或ASIC(專用積體電路)。The processes and logic flows described in this specification can be executed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The process and logic flow can also be performed by dedicated logic circuits, and the device can also be implemented as dedicated logic circuits, such as FPGA (field programmable gate array) or ASIC (dedicated integrated circuit).
舉例來說,適合於執行電腦程式的處理器包括通用和專用微處理器、以及任何種類的數位電腦的任何一個或多個處理器。通常,處理器將從唯讀記憶體或隨機存取記憶體或兩者接收指令和資料。電腦的基本元件是用於執行指令的處理器和用於存儲指令和資料的一個或多個記憶體設備。通常,電腦還將包括或可操作地耦合到用於存儲資料的一個或多個大型存放區設備,例如磁片、磁光碟或光碟,以從該一個或多個大型存放區設備接收資料,或將資料傳輸到該一個或多個大型存放區設備,或者既接收又傳遞資料。然而,電腦不需要具有這樣的設備。適用於存儲電腦程式指令和資料的電腦可讀介質包括所有形式的非易失性記憶體、介質和記憶體設備,包括例如半導體記憶體設備,例如EPROM、EEPROM和快閃記憶體設備。處理器和記憶體可以由專用邏輯電路補充或併入專用邏輯電路中。For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, the processor will receive commands and data from read-only memory or random access memory or both. The basic components of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, the computer will also include or be operatively coupled to one or more large storage area devices for storing data, such as magnetic disks, magneto-optical disks, or optical discs, to receive data from the one or more large storage area devices, or Transfer data to the one or more large storage area devices, or both receive and transfer data. However, the computer does not need to have such equipment. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices. The processor and memory can be supplemented by or incorporated into dedicated logic circuits.
說明書和附圖旨在被認為僅是示例性的,其中示例性意味著示例。如這裡所使用的,單數形式的“一”,“一個”和“該”旨在也包括複數形式,除非上下文另有明確說明。另外,除非上下文另有明確說明,否則“或”的使用旨在包括“和/或”。The description and drawings are intended to be considered exemplary only, where exemplary means exemplary. As used herein, the singular forms "a", "an" and "the" are intended to also include the plural forms unless the context clearly dictates otherwise. In addition, unless the context clearly indicates otherwise, the use of "or" is intended to include "and/or".
雖然本發明包含許多細節,但這些細節不應被解釋為對任何發明或可要求保護的範圍的限制,而是作為特定於特定發明的特定實施例的特徵的描述。在本發明中,在單獨的實施例的上下文中描述的某些特徵也可以在單個實施例中組合實現。相反,在單個實施例的上下文中描述的各種特徵也可以單獨地或以任何合適的子組合在多個實施例中實現。此外,儘管上面的特徵可以描述為以某些組合起作用並且甚至最初如此要求權利保護,但是在某些情況下,可以從所要求保護的組合中去除來自該組合的一個或多個特徵,並且所要求保護的組合可以指向子組合或子組合的變型。Although the invention contains many details, these details should not be construed as limitations on the scope of any inventions or of what can be claimed, but as descriptions of features specific to particular embodiments of particular inventions. In the present invention, certain features described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although the above features can be described as functioning in certain combinations and even claimed as such initially, in some cases, one or more features from the claimed combination can be removed from the combination, and The claimed combination may point to sub-combinations or variations of sub-combinations.
類似地,雖然在附圖中以特定順序描繪了操作,但是這不應該被理解為要求以所示的特定順序或按循序執行這樣的操作,或者執行所有示出的操作,以實現期望的結果。此外,在本發明中描述的實施例中的各種系統元件的分離不應被理解為在所有實施例中都要求這種分離。Similarly, although the operations are depicted in a specific order in the drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in order, or to perform all the operations shown to achieve the desired result . Furthermore, the separation of various system elements in the embodiments described in the present invention should not be understood as requiring such separation in all embodiments.
僅描述了幾個實現方式和示例,並且可以基於本發明中描述和示出的內容來做出其它實現方式、增強和變型。Only a few implementations and examples are described, and other implementations, enhancements, and variations can be made based on what is described and shown in the disclosure.
100‧‧‧典型的高效視頻編碼視訊轉碼器和解碼器
200‧‧‧H.264/AVC中的宏塊劃分
300‧‧‧編碼塊(CB)分割成預測塊
500‧‧‧幀的劃分結構
502‧‧‧隱含的分割
504‧‧‧突出顯示的CTB
506‧‧‧圖片邊界
700、750、800、850、900、950、960、1400、1500‧‧‧方法
702、704、752、754、802、804、806、808、852、854、856、858、900、902、904、906、908、910、952、954、956、960、962、964、966、1410、1420、1500、1520、1530‧‧‧步驟
1100‧‧‧樹類型信令
1600‧‧‧電腦系統
1605‧‧‧(一個或多個)處理器
1610、1702‧‧‧記憶體
1615‧‧‧網路介面卡
1625‧‧‧互連
1700‧‧‧移動設備
1701‧‧‧處理器
1703‧‧‧I/O單元
1704‧‧‧顯示裝置100‧‧‧Typical high-efficiency video encoding video transcoder and
圖1示出了典型的高效視頻編碼(HEVC)視訊轉碼器和解碼器的示例框圖。 圖2示出了H.264/AVC中的宏塊(MB)劃分的示例。 圖3示出了將編碼塊(CB)分割成預測塊(PB)的示例。 圖4A和4B分別示出了將編碼樹塊(CTB)細分為CB和變換塊(TB)以及相應的四叉樹的示例。 圖5示出了一幀的劃分結構的示例。 圖6A和6B分別示出了在圖5中的示例性幀中突出顯示的CTB的細分和信令方法。 圖7A至7B是視頻處理方法示例的流程圖。 圖8A至8B是視頻處理方法示例的流程圖。 圖9A至9C是視頻處理方法示例的流程圖。 圖10A至10I示出了基於QTBT的CB的細分示例。 圖11示出了樹類型信令的示例。 圖12A至12C示出了跨越圖片邊界的CTB的示例。 圖13示出了圖片邊界處的零單元的示例。 圖14示出了根據本公開的技術的用於視頻編碼的示例方法的流程圖。 圖15示出了根據本公開的技術的用於視頻解碼的另一示例方法的流程圖。 圖16是示出可用於實現本公開技術的各個部分的電腦系統或其它控制設備的架構的示例的框圖。 圖17示出了可用於實現本公開技術的各個部分的移動設備的示例實施例的框圖。 圖18A和18B示出了將ZU塊分割為子塊以進行自我調整環路控制(ALF)開/關控制的示例。Figure 1 shows an example block diagram of a typical high efficiency video coding (HEVC) video transcoder and decoder. FIG. 2 shows an example of macroblock (MB) division in H.264/AVC. FIG. 3 shows an example of dividing a coding block (CB) into a prediction block (PB). 4A and 4B show examples of subdividing the coding tree block (CTB) into CB and transform block (TB) and the corresponding quadtree, respectively. FIG. 5 shows an example of the divided structure of one frame. 6A and 6B respectively show the subdivision and signaling method of CTB highlighted in the exemplary frame in FIG. 5. 7A to 7B are flowcharts of examples of video processing methods. 8A to 8B are flowcharts of examples of video processing methods. 9A to 9C are flowcharts of examples of video processing methods. 10A to 10I show subdivision examples of CB based on QTBT. FIG. 11 shows an example of tree type signaling. 12A to 12C show examples of CTB across picture boundaries. FIG. 13 shows an example of zero cells at the picture boundary. 14 shows a flowchart of an example method for video encoding according to the techniques of this disclosure. 15 shows a flowchart of another example method for video decoding according to the techniques of this disclosure. 16 is a block diagram showing an example of the architecture of a computer system or other control device that can be used to implement various parts of the disclosed technology. 17 shows a block diagram of an example embodiment of a mobile device that can be used to implement various parts of the disclosed technology. 18A and 18B show examples of dividing the ZU block into sub-blocks for self-adjusting loop control (ALF) on/off control.
700‧‧‧方法 700‧‧‧Method
702、704‧‧‧步驟 702, 704‧‧‧ steps
Claims (23)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018093631 | 2018-06-29 | ||
WOPCT/CN2018/093631 | 2018-06-29 | ||
CN2018094767 | 2018-07-06 | ||
WOPCT/CN2018/094767 | 2018-07-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202002655A true TW202002655A (en) | 2020-01-01 |
TWI719520B TWI719520B (en) | 2021-02-21 |
Family
ID=67226317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108123121A TWI719520B (en) | 2018-06-29 | 2019-07-01 | Filtering of zero unit |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110662035B (en) |
TW (1) | TWI719520B (en) |
WO (1) | WO2020003264A2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115176468A (en) * | 2020-02-03 | 2022-10-11 | 抖音视界有限公司 | Cross-component adaptive loop filter |
WO2022179414A1 (en) * | 2021-02-23 | 2022-09-01 | Beijing Bytedance Network Technology Co., Ltd. | Transform and quantization on non-dyadic blocks |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7961963B2 (en) * | 2005-03-18 | 2011-06-14 | Sharp Laboratories Of America, Inc. | Methods and systems for extended spatial scalability with picture-level adaptation |
EP2592831A2 (en) * | 2010-07-09 | 2013-05-15 | Samsung Electronics Co., Ltd | Method and apparatus for encoding video using adjustable loop filtering, and method and apparatus for decoding video using adjustable loop filtering |
KR101834541B1 (en) * | 2011-07-22 | 2018-03-07 | 에스케이텔레콤 주식회사 | Image Encoding/Decoding Method and Apparatus Using Deblocking Filtering |
GB2559062B (en) * | 2011-10-17 | 2018-11-14 | Kt Corp | Video decoding method using transform method selected from a transform method set |
CN103518375B (en) * | 2012-04-16 | 2017-08-18 | 寰发股份有限公司 | Loop filter processing method and its device for video data |
AU2012232992A1 (en) * | 2012-09-28 | 2014-04-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the transform units of a coding unit |
US20140192862A1 (en) * | 2013-01-07 | 2014-07-10 | Research In Motion Limited | Methods and systems for prediction filtering in video coding |
CN104202599B (en) * | 2014-09-23 | 2017-07-28 | 浙江工商大学 | A kind of all-zero blocks method applied to HEVC interframe encodes |
US10057574B2 (en) * | 2015-02-11 | 2018-08-21 | Qualcomm Incorporated | Coding tree unit (CTU) level adaptive loop filter (ALF) |
CN115134609A (en) * | 2015-06-11 | 2022-09-30 | 杜比实验室特许公司 | Method for encoding and decoding image using adaptive deblocking filtering and apparatus therefor |
US10595046B2 (en) * | 2016-05-13 | 2020-03-17 | Sony Corporation | Image processing apparatus and method |
-
2019
- 2019-07-01 WO PCT/IB2019/055553 patent/WO2020003264A2/en active Application Filing
- 2019-07-01 CN CN201910584189.6A patent/CN110662035B/en active Active
- 2019-07-01 TW TW108123121A patent/TWI719520B/en active
Also Published As
Publication number | Publication date |
---|---|
WO2020003264A2 (en) | 2020-01-02 |
TWI719520B (en) | 2021-02-21 |
CN110662035A (en) | 2020-01-07 |
CN110662035B (en) | 2022-06-10 |
WO2020003264A3 (en) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI723433B (en) | Improved border partition | |
TWI815927B (en) | Block size restrictions for video coding | |
TWI759604B (en) | Generalized ternary tree | |
US20180139453A1 (en) | Method of processing video signal and device for same | |
TWI714153B (en) | Definition of zero unit | |
TWI719520B (en) | Filtering of zero unit | |
TWI707576B (en) | Constrains for tiny blocks | |
TWI707580B (en) | Partitioning of zero unit |