TWI719520B - Filtering of zero unit - Google Patents

Filtering of zero unit Download PDF

Info

Publication number
TWI719520B
TWI719520B TW108123121A TW108123121A TWI719520B TW I719520 B TWI719520 B TW I719520B TW 108123121 A TW108123121 A TW 108123121A TW 108123121 A TW108123121 A TW 108123121A TW I719520 B TWI719520 B TW I719520B
Authority
TW
Taiwan
Prior art keywords
block
alf
video
video data
sub
Prior art date
Application number
TW108123121A
Other languages
Chinese (zh)
Other versions
TW202002655A (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 TW202002655A publication Critical patent/TW202002655A/en
Application granted granted Critical
Publication of TWI719520B publication Critical patent/TWI719520B/en

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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264

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

Devices, systems and methods for using zero-units in video and image coding are described. In a representative aspect, a method for video coding includes making a determination, for a block of video data having at least a height or a width that is a non-power-of-two number of pixels, to encode the block of video data into a bitstream representation without a transform operation and performing an in-loop filtering on a result of the encoding, wherein a type of the in-loop filter is selected based on the determination.

Description

零單元的濾波Zero cell filtering

本專利文件一般地涉及圖像和視頻編碼技術。 [相關申請的交叉引用] 根據適用的專利法和/或依據巴黎公約的規則,本申請及時要求於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 coding technology. [Cross references to related applications] In accordance with applicable patent laws and/or in accordance with the rules of the Paris Convention, this application promptly requests 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 No. PCT/CN2018/094767. The entire disclosures 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 of this 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 used by digital video will continue to grow.

描述了與專用編碼單元(CU)和/或編碼樹單元(CTU)相關的用於提高編碼效率的設備、系統和方法。具體地,本公開的技術公開了提供增強例如處理位於視頻資料塊的邊界處的子塊(例如,在圖片、條帶、圖塊等中)的零單元。所描述的方法可以應用於現有的視頻編碼標準(例如,高效視頻編碼(HEVC))和未來的視頻編碼標準或視頻轉碼器兩者。Described are devices, systems, and methods related to dedicated coding units (CU) and/or coding tree units (CTU) for improving coding efficiency. Specifically, the technology of the present disclosure discloses a zero unit that provides enhancement, for example, processing of sub-blocks (eg, in pictures, slices, tiles, etc.) located at the boundaries of video material blocks. The described method can be applied to both existing video coding standards (for example, 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 whose height or width is at least a power of two pixels, so as to encode the video data block into a bit stream representation without a transformation operation; 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 whose height or width is at least a power of two pixels to represent the decoded video data block from a bit stream without a transform operation; and performing loop filtering on the decoded result, wherein 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 a video data block will be encoded as one of a coding unit (CU) or a zero unit (ZU) block; and determining the adaptive loop filter of the video data block based on the selection (ALF) mode; the video data block is encoded into a bit stream representation and the ALF mode is used 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 bitstream representation that a video data block will be decoded into one of 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; From the bit stream represents the decoded video data block and performs 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 the video data block as a coding tree unit (CTU) will be encoded as one of a coding unit (CU) or a zero unit (ZU) block; 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 and use the selected type of loop The path 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 a video data block is located near the picture boundary and is one of a coding unit (CU), a prediction unit (PU) or a transform unit (TU); in response to determining that the video data block is located near the picture boundary and is a CU, PU, or One of the TUs controls the loop filter and signals control information of the loop filter based on the determination.

在另一示例方面中,公開了另一種視頻處理的方法。該方法包括確定視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)的一個;基於確定接收環路濾波器的控制資訊並且基於確定和接收的控制資訊控制環路濾波器。In another example aspect, another method of video processing is disclosed. The method includes determining that a video data block is located close to the picture boundary and is one of a coding unit (CU), a prediction unit (PU) or a transformation unit (TU); based on determining the control information of the receiving loop filter and based on determining and receiving 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, a video decoder device may implement the method as described herein.

在附圖、說明書和申請專利範圍中更詳細地描述了本公開的技術的上述和其它方面和特徵。The above-mentioned and other aspects and features of the technology of the present disclosure are described in more detail in the drawings, specification, and scope of patent application.

由於對更高解析度視頻的需求日益增加,視頻編碼方法和技術在現代技術中無處不在。視頻轉碼器通常包括壓縮或解壓縮數位視訊的電子電路或軟體,並且視頻轉碼器被不斷改進以提供更高的編碼效率。視頻轉碼器將未壓縮視訊轉換為壓縮格式,或反之亦然。視頻品質、用於表示視頻的資料量(由位元速率確定)、編碼和解碼演算法的複雜性、對資料丟失和錯誤的敏感性、編輯便利性、隨機訪問以及端到端延遲(遲延)之間存在複雜的關係。壓縮格式通常符合標準視訊壓縮規範,例如高效視頻編碼(HEVC)標準(也稱為H.265或MPEG-H第2部分)、即將最終確定的通用視頻編碼標準,或其它當前和/或未來的視頻編碼標準。Due to the increasing demand for higher-resolution video, video coding methods and technologies are ubiquitous in modern technologies. Video transcoders usually include electronic circuits or software that compress or decompress digital video, and video transcoders are continuously improved to provide higher coding efficiency. Video codec converts uncompressed video to compressed format, or vice versa. Video quality, amount of data used to represent the 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 between them. The compression format usually conforms to standard video compression specifications, such as the High Efficiency Video Coding (HEVC) standard (also known as H.265 or MPEG-H Part 2), the general video coding standard to be finalized, or other current and/or future Video coding standard.

所公開的技術的實施例可以應用於現有的視頻編碼標準(例如,HEVC,H.265)和未來的標準以改善壓縮性能。在本文件中使用章節標題來提高描述的可讀性而不是以任何方式將討論或實施例(和/或實現方式)僅限於各個章節。The embodiments of the disclosed technology can be applied to existing video coding standards (for example, HEVC, H.265) and future standards to improve compression performance. In this document, chapter headings are used to improve the readability of the description, instead of limiting the discussion or embodiments (and/or implementation) to each chapter in any way.

在本文件中使用章節標題以便於理解,並且不將章節中公開的實施例僅限於該章節。此外,雖然參考通用視頻編碼或其它特定視頻轉碼器描述了某些實施例,但是所公開的技術還可應用於其它視頻編碼技術。此外,雖然一些實施例詳細描述了視頻編碼步驟,但是應當理解的是,撤銷編碼的相應解碼步驟將由解碼器實現。此外,術語視頻處理包括視頻編碼或壓縮、視頻解碼或解壓縮以及視頻轉碼,其中視頻像素從一種壓縮格式表示為另一壓縮格式或以不同的壓縮位元速率表示。 1. 視頻編碼的示例實施例The chapter titles are used in this document to facilitate understanding, and the embodiments disclosed in the chapters are not limited to this chapter. In addition, although certain embodiments have been described with reference to general video coding or other specific video transcoders, the disclosed technology can also be applied to other video coding technologies. 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, in which video pixels are expressed from one compression format to another compression format or at different compression bit rates. 1. Example embodiment of video encoding

圖1示出了典型HEVC視訊轉碼器和解碼器的示例性框圖。產生符合HEVC的位元流的編碼演算法通常如下進行。每個圖片被分割為塊狀區域,其中精確的塊劃分被傳送到解碼器。視頻序列的第一圖片(以及在對視頻序列的每個乾淨隨機訪問點處的第一圖片)僅使用幀內預測(在同一圖片內使用區域到區域的空間上的資料的一些預測,而不基於其它圖片)進行編碼。對於序列的所有剩餘圖片或隨機訪問點之間的圖片,對於大多數塊通常使用幀間時間預測編碼模式。幀間預測的編碼過程包括選擇包含選定的參考圖片和運動向量(MV)的運動資料,該參考圖片和運動向量(MV)將被應用於預測每個塊的樣本。編碼器和解碼器通過應用運動補償(MC)來生成相同的幀間預測信號,該運動補償(MC)使用作為輔助資訊發送的MV和模式確定資料。Figure 1 shows an exemplary block diagram of a typical HEVC video transcoder and decoder. The coding algorithm for generating a bit stream conforming to HEVC usually proceeds as follows. Each picture is divided into block regions, where the precise block division is transmitted to the decoder. The first picture of the video sequence (and the first picture at each clean random access point of the video sequence) only uses intra prediction (some predictions of the data from area to area are used in the same picture, but not Based on other pictures) for encoding. For all remaining pictures of the sequence or pictures between random access points, the inter-frame temporal prediction coding mode is usually used for most blocks. The encoding process of inter-frame prediction includes selecting motion data containing selected reference pictures and motion vectors (MV), which will be applied to predict the samples of each block. The encoder and decoder generate the same inter-frame prediction signal by applying motion compensation (MC), which uses MV and mode determination data sent as auxiliary information.

通過線性空間變換對幀內預測或幀間預測的殘差信號進行變換,其中該殘差信號是原始塊與其預測之間的差異。然後對變換係數進行縮放、量化、熵編碼並與預測資訊一起發送。The residual signal of intra-frame prediction or inter-frame 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 coded and sent together with the prediction information.

編碼器複製解碼器處理環路(見圖1中的灰色陰影框),使得兩者都將為後續資料生成相同的預測。因此,量化的變換係數通過逆縮放構造,並且然後進行逆變換以複製殘差信號的解碼的近似值。然後將殘差加入到預測中,並且然後可以將該加法的結果輸入一個或兩個環路濾波器,以平滑由逐塊處理和量化引起的偽影(artifact)。最終的圖片表示(即解碼器輸出的複製)存儲在解碼的圖片緩衝器中以用於後續圖片的預測。通常,圖片的編碼或解碼處理的順序常常不同於它們從來源到達的順序,需要區分解碼器的解碼順序(即位元流順序)和輸出順序(即顯示順序)。The encoder replicates 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 inversely transformed to replicate the decoded approximation of the residual signal. The residual is then added to the prediction, and the result of this addition can then be input to one or two loop filters to smooth out 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, the bit stream order) and the output order (that is, the display order).

通常期望將由HEVC編碼的視頻材料作為逐行掃描圖像輸入(由於源視頻源自該格式或者由於由編碼之前的去隔行(deinterlacing)產生)。在HEVC設計中不存在顯式編碼特徵以支援隔行掃描的使用,因為隔行掃描不再用於顯示器,並且在分佈時變得非常不常見。但是,已經在HEVC中提供了中繼資料語法以允許編碼器指示,隔行掃描的視頻已經通過將隔行掃描視頻的每個場(即每個視頻幀的偶數或奇數行)編碼為單獨的圖片而被發送,或者隔行掃描的視頻已經通過將每個隔行掃描的幀編碼為HEVC編碼的圖片而被發送。這提供了一種有效的編碼隔行掃描的視頻的方法,而無需加重解碼器需支援隔行掃描的視頻的特殊的解碼過程的負擔。1.1. H.264/AVC 中的劃分樹結構的示例 It is generally desirable to input the video material encoded by HEVC as a progressive image (because the source video originates from this format or because it is produced by 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 by encoding each field of the interlaced video (that is, the even or odd lines of each video frame) into a separate picture. The video that is sent, or interlaced, has been sent by encoding each interlaced frame into an HEVC-encoded picture. This provides an effective method of encoding interlaced video without adding to the burden of a special decoding process that the decoder needs to support interlaced video. 1.1. Example of partition 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 block of 16×16 luma samples and two corresponding 8×8 chromaticities 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 as: 16x16 and 4x4.

幀間編碼塊通過估計圖片之間的運動來使用時間預測而不是空間預測。可以對於16x16宏塊或其任何子宏塊劃分16x8、8x16、8x8、8x4、4x8、4x4來獨立地估計運動,如圖2所示。每子宏塊劃分僅允許一個運動向量(MV)。1.2. HEVC 中的劃分樹結構的示例 The inter-coding block uses temporal prediction instead of spatial prediction by estimating the motion between pictures. A 16x16 macroblock or any of its sub-macroblocks can be divided into 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 to independently estimate the motion, as shown in FIG. 2. Only one motion vector (MV) is allowed per sub-macroblock division. 1.2. Example of partition 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 quad-tree structure expressed 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 region is made at the CU level. According to the prediction unit (PU) division type, each CU can be further divided into one, two, or four PUs. Within a PU, the same prediction process is applied, and relevant 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 transformation units (TU) according to another quad-tree structure similar to the coding tree of the CU. One of the key features of the HEVC structure is that it has multiple partition concepts, including CU, PU, and TU.

對使用HEVC的混合視頻編碼中涉及的某些特徵包括:Some of the features involved in hybrid video encoding 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 the encoder and can be larger than a traditional macroblock. CTU is composed 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 location of its luminance CB and chrominance CB. The root of the quadtree is associated with the CTU. Therefore, the size of the brightness CTB is the maximum supported size of the brightness CB. The division of CTU into luminance CB and chrominance CB is a joint signaling. One luma CB and usually two chroma CBs and the 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 transformation 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 partition structure is at the CU level. Depending on the basic prediction type decision, then the luminance CB and chrominance CB can be further divided in size and predicted based on the luminance and chrominance prediction blocks (PB). HEVC supports variable PB size from 64×64 to 4×4 samples. Figure 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) Transformation unit (TU) and transform block: use block transform to encode the prediction residual. The root of the TU tree structure is at the CU level. The luminance CB residual may be the same as the luminance transform block (TB), or may be further divided into smaller luminance TB. The same applies to chroma TB. For square TB sizes 4×4, 8×8, 16×16, and 32×32, an integer basis function similar to a discrete cosine transform (DCT) is defined. For the 4×4 transform of the prediction residual of the luma intra picture, an integer transform derived from the discrete sine transform (DST) can be alternatively specified. 1.2.1. Example of dividing the 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 notified by residual quadtree signaling. Only square CB and TB divisions are specified, where blocks can be recursively divided into quadrants, as shown in Figures 4A to 4B. For a given brightness CB with a size of M×M, a flag indicates whether to divide the CB into four blocks with a size of M/2×M/2. If, as signaled by the maximum depth of the residual quadtree indicated in the SPS, each quadrant can be further divided, a flag is assigned to each quadrant, which indicates whether to divide it into four quadrants. The leaf node block generated by the residual quadtree is a transform block, which is further processed by transform coding. The encoder indicates the maximum and minimum brightness TB size it will use. When the CB size is greater than the maximum TB size, the division is implicit. When the division will result in the luminance TB size being smaller than the indicated minimum value, no division is implicit. Except when the luminance TB size is 4×4, the chrominance TB size is half of the luminance TB size in each dimension. When the luminance TB size is 4×4, a single 4×4 chrominance TB is used by Area covered by four 4×4 TBs of brightness. In the case of a CU for intra picture prediction, the decoded samples of the nearest neighbor TB (within or outside the CB) are used as reference materials 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, so as to maximize the potential coding efficiency benefits of the quad-tree structure of TB partitioning. 1.2.2. Example 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 part of the area outside the picture boundary. This condition is detected by the decoder, and the CTU quadtree is implicitly divided as needed to reduce the CB size to the extent that the entire CB will fit in the picture.

圖5示出了一個幀的劃分結構的示例,其中解析度為416×240像素,尺寸為7 CTB×4 CTB,其中CTB的大小為64×64。如圖5所示,部分位於右邊界和底邊界之外的CTB具有隱含的分割(虛線,表示為502),並且完全落在外面的CU就被跳過(不被編碼)。FIG. 5 shows an example of the division structure of a frame, where the resolution is 416×240 pixels, the size is 7 CTB×4 CTB, and the size of the CTB is 64×64. As shown in Figure 5, the CTB that is partially located outside the right and bottom borders has an implicit segmentation (dashed line, denoted as 502), and the CUs that are completely outside are skipped (not encoded).

在圖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), whose row CTB index is equal to 2 and column CTB index equal to 3, has 64×48 pixels in the current picture, and is not suitable for 64×64 CTB. Therefore, it is forcibly divided into 32x32 without a division flag signal. For the 32x32 in the upper left corner, it is completely covered by the frame. When it chooses to encode in smaller blocks according to the rate-distortion cost (8x8 for 16x16 in the upper left corner, and 16x16 for the rest), it needs to encode several segmentation marks. These division flags (a flag for whether to divide the 32x32 in the upper left corner into four 16x16 blocks, and a flag for signaling whether a 16x16 is further divided, and for the 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 in the 32x32 block in the upper right corner. For the two bottom 32x32 blocks, because they are partially located outside the picture boundary (506), further QT segmentation needs to be applied without signaling. 6A and 6B respectively show the subdivision and signaling method of the CTB (504) highlighted in FIG. 5. 1.2.3. Example of CTB size indication

表1中示出了用於一般序列參數集的示例RBSP(原始位元組序列有效載荷)語法表。 表1:RBSP 語法結構

Figure 108123121-A0304-0001
An example RBSP (Raw Byte Sequence Payload) syntax table for general sequence parameter sets is shown in Table 1. Table 1: RBSP syntax structure
Figure 108123121-A0304-0001

相應的語義包括: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 specifies the minimum luminance coding block size; and log2_diff_max_min_luma_coding_block_size specifies 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, PiclesInCtbInSampY, PiclesInCtbsInSampY, PiclesSampsInSampY, PiclesSampInSampY 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 The following is obtained: CtbWidthC = CtbSizeY/SubWidthC CtbHeightC = CtbSizeY/SubHeightC 1.3. Example of quadtree plus binary tree block structure with larger CTU in JEM

在一些實施例中,使用被稱為聯合探索模型(JEM)(參考[4])的參考軟體探索未來的視頻編碼技術(參考[3])。除二叉樹結構外,JEM還描述了四叉樹加二叉樹(QTBT)和三叉樹(TT)結構。1.5. 替代視頻編碼技術中的分割結構的示例 In some embodiments, a reference software called Joint Exploration Model (JEM) (reference [4]) is used to explore future video coding technologies (reference [3]). In addition to the binary tree structure, JEM also describes the quadtree plus binary tree (QTBT) and trigeminal tree (TT) structures. 1.5. Examples of alternative segmentation structures in video coding technology

在一些實施例中,支持稱為多樹類型(MTT)的樹結構(其是QTBT的一般化)。在QTBT中,如圖11所示,首先用四叉樹結構劃分編碼樹單元(CTU)。四叉樹葉節點進一步由二叉樹結構劃分。In some embodiments, a tree structure called a multi-tree type (MTT) (which is a generalization of QTBT) is supported. In QTBT, as shown in Figure 11, the coding tree unit (CTU) is first divided into a quadtree structure. The quad leaf nodes are further divided by the binary tree structure.

MTT的結構由兩種類型的樹節點構成:區域樹(RT)和預測樹(PT),支援九種類型的劃分,如圖10A至10I所示。區域樹可以遞迴地將CTU分割成方形塊,直到4×4大小的區域的樹葉節點。在區域樹中的每個節點處,可以從三種樹類型中的一個形成預測樹:二叉樹,三叉樹和非對稱二叉樹。在PT分割中,禁止在預測樹的分支中具有四叉樹劃分。與在JEM中一樣,亮度樹和色度樹在I切片中分開。The structure of MTT is composed of two types of tree nodes: regional tree (RT) and prediction tree (PT), which supports nine types of divisions, as shown in Figures 10A to 10I. The area tree can divide the CTU into square blocks recursively, up to the leaf nodes of the 4×4 area. At each node in the area tree, a prediction tree can be formed from one of three tree types: binary tree, trinomial tree, and asymmetric binary tree. In the PT division, it is forbidden to have a quadtree division in the branches of the prediction tree. As in JEM, the luminance tree and the chrominance 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 the 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 trinomial tree and an asymmetric binary tree (ABT) increases the appearance of "high" blocks or "wide" blocks. The third binary bit indicates the type of tree to be divided, that is, whether it is a binary tree/trinomial tree or an asymmetrical binary tree. In the case of a binary tree/trinomial tree, 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 horizontally divided trees, and the right or leftward type for vertically divided trees. 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 slice 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 edges 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 located outside the picture, it is always allowed to be along the relevant boundary direction (horizontal division orientation along the bottom boundary, as shown in Figure 12A, along the vertical of the right boundary Split orientation, as shown in Figure 12B) of the binary symmetrical split of the CU. If the lower right corner of the current CU is outside the frame (as shown in Figure 12C), only the quadtree division 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 ternary 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, the ternary tree segmentation is allowed. If the partition line (the boundary between the two sub-CUs generated by the partition) exactly matches the picture boundary, an asymmetric binary tree partition is allowed. 2. Examples of existing implementations

現有實現方式,CTU或CU的寬度或高度可能不等於2N ,其中N是正整數。這些情況很難處理。具體來說,如果行數或列數不是2N 的形式,則可能難以設計具有不包括除法的整數運算的變換。In existing implementations, 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 the number of columns is not in the form of 2N , 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, in order 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 pieces until both the width and height are in the form of 2 N or skip by padding or using transform . If these blocks are processed in a more flexible way, 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 2N. This transformation is undesirable in actual video coding applications. 3. Example method using zero unit based on the technology of the present disclosure

本公開的技術的實施例克服了現有實施方式的缺點,從而為視頻編碼提供了更高的效率。具體地,提出零單元塊作為特殊的CU/CTU,並且塊在當且僅當其高度和/或寬度不是2N 的形式時被解釋為零單元。The 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 are not in the form of 2N.

在以下針對各種實現方式所描述的示例中闡明了使用零單元來提高視頻編碼效率並增強現有和未來的視頻編碼標準。下面提供的本公開的技術的示例解釋了一般概念,並不意欲被解釋為限制。在示例中,除非明確地相反指示,否則可以組合這些示例中描述的各種特徵。在另一示例中,這些示例中描述的各種特徵可以應用於使用向後相容的塊大小的圖片邊界編碼和使用劃分樹進行可視媒體編碼的方法。The following examples described for various implementations clarify the use of zero units to improve 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 construed as limitations. In the examples, unless explicitly indicated to the contrary, the various features described in these examples may be combined. In another example, the various features described in these examples can be applied to a method of picture boundary coding using a backward compatible block size and visual media coding using a partition tree.

示例 1. 在一個示例中,塊的寬度、高度或兩者都可以等於不是2N 的形式的任意正整數。這樣的塊被定義為零單元(ZU),其中所有殘差被設置為0。圖13示出了圖片邊界處的零單元的示例。 Example 1. In one example, the width, height, or both of the block can be equal to any positive integer that is not in the form of 2N. Such blocks are defined as zero units (ZU), in which all residuals are set to zero. Fig. 13 shows an example of zero cells at the picture boundary.

(a)在一個示例中,ZU的寬度和高度必須是偶數(以2N的形式)。(A) In an example, the width and height of ZU must be even numbers (in the form of 2N).

(b)在一個示例中,ZU的寬度和高度必須是2K N的形式(例如,K等於1, 2, 3, 4等)。(B) In an example, the width and height of ZU must be in the form of 2 K N (for example, K equals 1, 2, 3, 4, etc.).

示例 2. 在一個示例中,提出對於零單元,不調用變換、逆變換、量化和去量化操作。 Example 2. In an example, it is proposed that for the zero unit, the transform, inverse transform, quantization, and dequantization operations are not called.

(a)在一個示例中,零單元被推斷為用Skip模式編碼;在這種情況下,不需要信令通知skip標誌、以及幀內或幀間或其它模式的指示。(A) In one example, the zero unit is inferred to be coded in Skip mode; in this case, there is no need to signal skip flags, and indications of intra or inter or other modes.

(b)可替代地,此外,也可以跳過merge索引。 (i)零塊可以從其相鄰塊之中的一個繼承運動資訊,該相鄰塊的大小等於2N x 2M 。 (ii)在一個示例中,相鄰塊被定義為與邊界平行的塊,例如對於位於底邊界的零單元,它可以從其上面的塊繼承運動資訊。 (iii)在一個示例中,可以應用某些規則來選擇其相鄰塊的一個,諸如零單元與其相鄰塊之間的連續性。 (iv)在一個示例中,運動資訊可以從相鄰塊的運動資訊得到。(B) Alternatively, in addition, the merge index can also be skipped. (I) The 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 an example, the neighboring block is defined as a block parallel to the boundary. For example, for a zero unit located at the bottom boundary, it can inherit motion information from the block above it. (Iii) In an example, certain rules can be applied to select one of its neighboring blocks, such as the continuity between a zero unit and its neighboring block. (Iv) In an 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 an example, the zero unit can be coded in Skip mode or non-skip mode, and/or intra or inter mode. In this case, the traditional signaling of the mode information remains unchanged, but the cbf_flag is not signaled and all cbf_flags of the zero unit are inferred to be zero. For zero units, residual information such as quantization coefficients or transform_skip_flag is not signaled.

示例 3. 在一個示例中,零單元中可能存在殘差。但是對於零單元沒有變換和逆變換操作。 Example 3. In one example, there may be residuals in the zero unit. But there is no transform and inverse transform operation for zero unit.

(a)在一個示例中,零單元的殘差總是用transform-skip模式編碼。對於零單元,不信令通知Transform_skip_flag並且Transform_skip_flag被推斷為一。(A) In an example, the residual of the zero unit is always encoded in transform-skip mode. For zero units, Transform_skip_flag is not signaled and Transform_skip_flag is inferred to be one.

示例 4. ABT劃分中的分割CU可以是零單元。 Example 4. The partition CU in the ABT partition can be a zero unit.

示例 5. 圖片/條帶/片邊界處的CTU或CU可以是零單元。 Example 5. The CTU or CU at the picture/slice/slice boundary can be a zero unit.

(a)在一個示例中,不需要信令通知用於邊界CTU/CU的標誌。對於位於圖片邊界上的CU,只允許ZU。(A) In one example, there is no need to signal the flag for the boundary CTU/CU. For the CU 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 between normal CUs and ZUs. In another example, the logo can be considered in conjunction with the size restriction conditions 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 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 unit can be further divided into two units (BT or ABT), three units (TT, FTT) or four units (QT, EQT). The division unit divided 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 2N. Assume that the size of the zero unit Z is S×T.

(a)在一個示例中,Z可以用BT分割為兩個單元,二者具有大小為 S/2×T。(A) In an example, Z can be divided into two units using BT, both of which have a size of S/2×T.

(b)在一個示例中,Z可以用BT分割為兩個單元,二者具有大小為 S×T/2。(B) In an example, Z can be divided into two units using BT, both of which 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 that 2 N > S ≤ 2 N+1 , Z can be divided into two units by BT, which have sizes of 2 N × T and (S-2 N ) × T, or (S -2 N )×T and 2 N ×T.

(d)在一個示例中,假設2N >T≤2N+1 ,Z可以用BT分割為兩個單元,其具有大小為S×2N 和S×(T-2N ),或S×(T-2N )和S×2N(D) In an example, assuming that 2 N > T ≤ 2 N+1 , Z can be divided into two units by BT, which have sizes of S×2 N and S×(T-2 N ), or S× (T-2 N ) and S×2 N.

(e)在一個示例中,Z可以用TT分割為三個單元,其具有大小為S/4×T、S/2×T和S/4×T。(E) In an example, Z can be divided into three units by 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 an example, Z can be divided into three units with TT, which have sizes 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 that 2 N >S> 2 N+1 , Z can be divided into three units by TT, which have sizes 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 > T ≤ 2 N+1 , Z can be divided into three units by TT, which have sizes S×2 N-1 , S×2 N-1 and S×( T-2 N ), or S×2 N-1 , S×(T-2 N ) and S×2 N-1 , or S×(T-2 N ), S×2 N-1 and S×2 N-1 .

(i)在一個示例中,Z可以用QT分割為四個單元,均具有大小為 S/2×T/2。(I) In an example, Z can be divided into four units by QT, each of which has 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 that 2 N >S≤2 N+1 , Z can be divided into four units by QT, with sizes of 2 N ×T/2, 2 N ×T/2, (S-2 N )×T/2 and (S-2 N )×T/2, or (S-2 N )×T/2, (S-2 N )×T/2, 2 N ×T/2 and 2 N ×T/2.

(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 that 2 N > T ≤ 2 N+1 , Z can be divided into four units by QT, with sizes S/2×2 N , S/2×2 N , S/2× (T-2 N ) and S/2×(T-2 N ), or S/2×(T-2 N ), S/2×(T-2 N ), S/2×2 N and S/ 2×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 that 2 N >S≤2 N+1 and 2 M >T≤2 M+1 , Z can be divided into four units by QT, with sizes of 2 N × 2 M and 2 N ×2 M , (S-2 N ) × (T-2 M ) and (S-2 N ) × (T-2 M ), or (S-2 N ) × (T-2 M ), (S- 2 N ) × (T-2 M ), 2 N × 2 M and 2 N × 2 M , or 2 N × (T-2 M ), 2 N × (T-2 M ), (S-2 N ) × 2 M and (S-2 N ) × 2 M , or (S-2 N ) × 2 M , (S-2 N ) × 2 M , 2 N × (T-2 M ) and 2 N × (T -2 M ).

(m)在一個示例中,所有分割單元的寬度/高度應為偶數。如果一個劃分結構導致單元的寬度或高度為奇數,則自動禁止這樣的劃分結構。(M) In an example, the width/height of all division units should be even numbers. If a division structure results in an odd number of cell width or height, such division structure is automatically prohibited.

或者,此外,跳過這種劃分結構的信令。Or, in addition, skip the signaling of this division structure.

(n)在一個示例中,Z 可以用TT分割為三個單元。(N) In an example, Z can be divided into three units with 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 sizes of the three units are 2 N ×T, 2 N+1 ×T, and (S-3*2 N )×T, respectively .

在一個示例中,假設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 sizes 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 an example, the width and/or height of all segmentation 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 causes the width or height of the cell to be not in this form, the division structure is automatically prohibited.

例如,假設劃分結構中分割單元的寬度和高度為W和H,如果W >M或H >M或(W&(M-1)!= 0)或(H&(M-1)! = 0),則禁止該劃分結構。For example, assuming that the width and height of the division unit in the division 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 division structure.

或者,所有分割的非ZU的寬度和/或高度應為K*M的形式,其中M是允許的編碼單元/預測單元的最小寬度和/或高度,諸如4。在這種情況下, 如果分割的零單元不遵循此限制但非ZU遵循此限制,則仍允許劃分結構。Alternatively, the width and/or height of all partitioned 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 divided zero unit does not follow this restriction but the non-ZU complies with this restriction, the structure is still allowed to be divided.

示例 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 part of the normal CU segmentation 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 position (bottom, right, bottom right, etc.) and/or strip type. ii. In one example, only QT and BT partition structures are allowed for ZU. iii. Or, in addition, there is no signal in the ZU division information whether to use TT and how to use TT (and other types of division structures except QT / BT). iv. Or, in addition, the split signaling method of ZU remains the same as the split signaling method of normal CU, however, the context of the indication of TT (or other type of partition structure) may further depend on whether the current block is a 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 the width or height is not equal to 2 N ), as described in item 2, the transform, inverse transform, quantization, and dequantization operations are not called.

(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/stripes.

(b)在一個示例中,對於ZU,不信令通知prediction_mode_flag,並且總是被推斷為被幀間編碼。(B) In one example, for ZU, prediction_mode_flag is not signaled, and it is always inferred to be inter-coded.

(c)在一個示例中,ZU可以與用於運動預測的幾何劃分結合使用(參考[6]),使得幀間預測可以生成更好地適合於視頻的運動和紋理的預測器。 (i)在一個示例中,允許的劃分類型可以取決於父劃分的形狀。例如,如果塊的橫縱比大於或等於4(寬度)比1(高度),應禁止接近水平線的角度。如果橫縱比小於或等於4(寬度)比1(高度),則應禁止接近垂直線的角度。 (ii)在一個示例中,僅Merge模式可用於子運動劃分以節省開銷位元。 (iii)在一個示例中,Merge模式和常規AMVP模式都可用於子運動劃分。是否允許常規AMVP模式也可以通過條帶標頭來信令通知,使得有效編碼模式可以適應於視頻內容。(C) In an example, ZU can be used in combination with geometric partitioning for motion prediction (refer to [6]), so that inter-frame 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 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 the conventional AMVP mode is allowed or not can also be signaled through the slice header, so that the effective coding 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 to minimize the impact of corner situations when the ZU width or height is 2.

示例 11. 在一個示例中,ZU必須被劃分為I條帶或幀內編碼的圖片。 Example 11. In one example, 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 2N.

(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 an example, CU is considered as 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 loop filtering should be set to strong.

(a)在一個示例中,用於去方塊(de-blocking)的強濾波器應該被用於ZU。(A) In one example, a strong filter used for de-blocking should be used for ZU.

(b)在一個示例中,強雙邊濾波器應該被用於ZU。(B) In an example, a strong bilateral filter should be used for ZU.

(c)在一個示例中,可以使用運動補償平滑濾波器(例如,重疊塊運動補償)。(C) In one example, a motion compensation smoothing filter (for example, overlapping block motion compensation) can be used.

示例 13. 對於ZU和正常CU,可以以不同方式實現啟用/禁用適應性環路濾波器(ALF)。 Example 13. For ZU and normal CU, enabling/disabling of 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 a ZU, the entire ZU is controlled to perform ALF or not to perform ALF as a whole, instead of being divided into sub-blocks for ALF on/off control. Correspondingly, 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 a ZU, the ZU is divided into N sub-blocks for ALF on/off control. This division does not depend on the ZU or CU division within the CTU. Correspondingly, for such a CTU, multiple (for example, 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 an example, CTU is divided into sub-blocks of (W + w-1)/w columns and (H + h-1)/h rows (all divisions are defined in C language). The sub-blocks in the last row/last column may be smaller than other blocks. (2) In an example, CTU is divided into sub-blocks of W/w column and H/h row (all divisions are defined in 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, the 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, methods 1400 and 1500, which can be implemented at a video decoder and/or a video transcoder.

圖14示出了用於視頻編碼的示例性方法的流程圖,其可以在視訊轉碼器中實現。方法1400包括,在步驟1410處,確定視頻資料塊的維度。Figure 14 shows a flowchart of an exemplary method for video encoding, which can be implemented in a video transcoder. The method 1400 includes, at step 1410, determining the dimensions of the video material block.

方法1400包括,在步驟1420處,在確定至少一個維度是非二的冪時,將視頻資料塊作為零單元(ZU)塊來信令通知,其是不可變換的。The method 1400 includes, at step 1420, when it is determined that at least one dimension is a power of two, signaling the video material block as a zero unit (ZU) block, which is not transformable.

在一些實施例中,非二的冪是不能以2N 的形式表示的任何非零數字。例如,不包括二的冪的整數(例如,1,3,5,6,7,9,10,11,12,13,14,15,17,18,...)的每個都是非二的冪。In some embodiments, a non-two power is any non-zero number that cannot be expressed in the form of 2N. For example, each integer that does not include a power of two (for example, 1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18,...) is non-two The power of.

在一些實施例中,可以定義不可變換,使得不對零單元調用變換、逆變換、量化和去量化操作。例如,零單元的不可變換屬性是其被推斷為用跳過模式進行編碼,並且因此,不需要明確地用信令通知跳過模式。在其它實施例中,可以在示例3的上下文中定義不可變換,使得儘管可能存在非零殘差,但對於零單元沒有定義變換和逆變換操作。In some embodiments, non-transformable can 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 with skip mode, and therefore, there is no need to explicitly signal skip mode. In other embodiments, non-transformation may be defined in the context of Example 3, so that although there may be non-zero residuals, the transformation and inverse transformation operations are not defined for the zero unit.

圖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處,接收對應於視頻資料塊的位元流。The method 1500 includes, at step 1510, receiving a bitstream corresponding to a block of video material.

方法1500包括,在步驟1520處,接收信令,其指示視頻資料塊是零單元(ZU)塊,該零單元(ZU)塊是不可變換的,並且具有非二的冪的至少一個維度。The method 1500 includes, at step 1520, receiving signaling indicating that the video material block is a zero unit (ZU) block, the zero unit (ZU) block is not transformable and has at least one dimension that is not a power of two.

方法1500包括,在步驟1530處,基於信令解碼位元流以重建視頻資料塊。The method 1500 includes, at step 1530, decoding the bitstream based on the signaling to reconstruct the video data block.

在一些實施例中,方法1400和1500,以及如在示例1的上下文中所描述的,可以進一步包括視頻資料塊的維度是偶數,具有2N形式,或者具有2K N的形式,其中K = 1,2,3,4…。在其它實施例中,信令可以不包括合併索引或跳過標記、和/或不包括prediction_mode_flag、和/或包括ZU塊的至少一個維度的最大值或最小值。在示例中,信令在視頻參數集(VPS)、序列參數集(SPS)、圖片參數集(PPS)、條帶標頭、編碼樹單元(CTU)或編碼單元(CU)中。In some embodiments, the methods 1400 and 1500, and as described in the context of Example 1, may further include that the dimensions of the video material block are even numbers, have the form of 2N, or have the form of 2 K N, where K = 1 , 2, 3, 4... In other embodiments, the signaling may not include the merge index or skip flag, and/or not include prediction_mode_flag, and/or include the maximum or minimum value of at least one dimension of the ZU block. In an example, the signaling is in a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, a coding tree unit (CTU), or a coding unit (CU).

在一些實施例中,ZU塊的運動資訊從大小為2N ×2M 的相鄰塊的運動資訊繼承。In some embodiments, the motion information ZU block from the adjacent blocks of size 2 N × 2 M of motion information inheritance.

在一個實施例中,並且如在示例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, two or more units in at least one dimension of 2 N × 2 M coding units (CU).

在一些實施例中,並且如在示例10的上下文中所描述的,ZU塊的環路濾波強度被設置為強。在HEVC標準的示例中,“強”濾波器修改所感興趣像素的每一側上的三個像素,而“弱”濾波器修改每一側上的一個或兩個像素。例如,環路濾波包括雙邊濾波、去方塊濾波和/或使用運動補償的平滑濾波器。4. 所公開的技術的示例實現方式 In some embodiments, and as described in the context of Example 10, the loop filter strength of the ZU block is set to be strong. In the example of the HEVC standard, the "strong" filter modifies three pixels on each side of the pixel of interest, while the "weak" filter modifies one or two pixels on each side. For example, loop filtering includes bilateral filtering, deblocking 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 showing an example of the architecture of a computer system or other control device 1600 that can be used to implement various parts of the technology of the present disclosure. The technology of the present disclosure includes (but is not limited to) methods 1400 and 1500. In FIG. 16, a computer system 1600 includes one or more processors 1605 and a memory 1610 connected via an interconnection 1625. Interconnect 1625 may represent any one or more separate physical buses, point-to-point connections, or both, connected by suitable bridges, adapters. Therefore, the interconnection 1625 may include, for example, a system bus, a peripheral component connection (PCI) bus, a two-way transmission bus (HyperTransport) or an industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal Serial bus (USB), IIC (I2C) bus or Institute of Electrical and Electronics Engineers (IEEE) standard 674 bus, sometimes called "Firewire".

(一個或多個)處理器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 memory 1610. The processor(s) 1605 may be or may include one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSP), programmable controllers, special-purpose integrated circuits (ASICs), Programmable logic device (PLD), etc., or a combination of these devices.

記憶體1610可以是或可以包括電腦系統的主記憶體。記憶體1610表示任何合適形式的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體記憶體等,或其組合。在使用中,記憶體1610可以包含機器指令集,當由處理器1605執行該機器指令集時,使得處理器1605進行操作以實現本公開技術的實施例。The memory 1610 may be or include the main memory of the computer system. The memory 1610 represents any suitable form of random access memory (RAM), read-only memory (ROM), flash memory, etc., or a combination thereof. In use, the memory 1610 may contain a machine instruction set, and when the machine instruction set is executed by the processor 1605, the processor 1605 is caused to operate to implement the embodiments of the technology of the present disclosure.

通過互連1625也連接到(一個或多個)處理器1605的是(可選的)網路介面卡1615。網路介面卡1615向電腦系統1600提供與遠端設備通信的能力,遠端設備例如儲存器用戶端和/或其它儲存器伺服器,並且網路介面卡1615可以是例如乙太網適配器或光纖通道適配器。Also connected to the processor(s) 1605 via the interconnect 1625 is an (optional) network interface card 1615. The network interface card 1615 provides the computer system 1600 with the ability to communicate with remote devices, such as a storage client and/or other storage servers, and the network interface card 1615 can be, for example, an Ethernet adapter or optical fiber Channel adapter.

圖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以執行各種操作,例如接收資訊、命令和/或資料,處理資訊和資料,並且將處理後的資訊/資料發送或提供給諸如致動器或外部顯示器的另一個設備。FIG. 17 shows a block diagram of an example embodiment of a mobile device 1700 that can be used to implement various parts of the disclosed technology, including (but not limited to) methods 700, 750, 800, 850, 900, 950, 600, 1400, and 1500 . The mobile device 1700 may be a laptop computer, a smart phone, a tablet computer, a camcorder, or other types of devices capable of processing video. The mobile device 1700 includes a processor or controller 1701 for processing data, and a memory 1702 that communicates with the processor 1701 to store and/or buffer data. For example, the processor 1701 may include a central processing unit (CPU) or a microcontroller unit (MCU). In some implementations, the processor 1701 may include a field programmable gate array (FPGA). In some implementations, the mobile device 1700 includes or communicates with a graphics processing unit (GPU), a video processing unit (VPU), and/or a wireless communication unit for various visual and/or communication data processing functions of a smart phone device . For example, the memory 1702 may include and store processor-executable code, which when executed by the processor 1701 configures the mobile device 1700 to perform various operations, such as receiving information, commands and/or data, processing information and data, and processing The latter information/data is sent or provided to another device such as an actuator or an external display.

為了支援移動設備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)的視頻幀,該塊基於是否使用運動補償演算法並根據所公開的技術對塊進行編碼來應用塊內複製。In order to support various functions of the mobile device 1700, the memory 1702 can store information and data, such as commands, software, values, images, and other data processed or referenced by the processor 1701. For example, various types of random access memory (RAM) devices, read-only memory (ROM) devices, flash memory devices, and other suitable storage media may have been used to implement the storage function of the memory 1702. In some implementations, the mobile device 1700 includes an input/output (I/O) unit 1703 to interface the processor 1701 and/or the memory 1702 with other modules, units, or devices. For example, the I/O unit 1703 can utilize various types of wireless interfaces compatible with typical data communication standards (for example, between one or more computers in the cloud and the user equipment) to connect the processor 1701 with the memory Body 1702 interface. In some implementations, the mobile device 1700 can interface with other devices via the I/O unit 1703 using a wired connection. The mobile device 1700 can also interface with other external interfaces (such as data memory) and/or a visual or audio display device 1704 to retrieve and transmit data and information, which can be processed by a processor, stored in memory or It is displayed on the display device 1704 or the output unit of an external device. For example, the display device 1704 may display a video frame including a block (CU, PU, ​​or TU) that applies intra-block copy based on whether a motion compensation algorithm is used and the block is encoded according to the disclosed technology.

在一些實施例中,視頻解碼器設備可以實現使用如本文中所描述的零單元的方法以用於視頻解碼。該方法的各種特徵可以類似於上述方法1500。In some embodiments, the video decoder device may implement a method using zero units as described herein for video decoding. The various features of the method may be similar to the method 1500 described above.

在一些實施例中,視頻解碼方法可以使用解碼設備來實現,該解碼設備在如圖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 FIG. 16 and FIG. 17.

可以使用以下解決方案來捕獲本文描述的一些實施例。The following solutions can be used to capture some of the embodiments described herein.

1. 一種視頻編碼方法(例如,圖7A中所描述的方法700),包括:對於至少高度或寬度為非二的冪數個像素的視頻資料塊做出確定(702),以將視頻資料塊編碼為位元流表示而無需變換操作;以及對編碼的結果進行(704)環路濾波,其中基於確定選擇環路濾波器的類型。1. A video coding method (for example, the method 700 described in FIG. 7A), comprising: determining (702) a video data block whose height or width is at least a power of two pixels, so as to convert the video data block Encoding into a bit stream representation without a transform operation; and performing (704) loop filtering on the encoded result, wherein the type of loop filter is selected based on the determination.

2. 一種視頻解碼方法(例如,圖7B中所描述的方法750),包括:對於至少高度或寬度為非二的冪數個像素的視頻資料塊做出確定(752),以從位元流表示解碼視頻資料塊而無需變換操作;以及對解碼的結果進行(754)環路濾波,其中基於確定選擇環路濾波器的類型。2. A video decoding method (for example, the method 750 described in FIG. 7B), including: making a determination (752) for a video data block whose height or width is at least a power-of-two pixel to obtain data from the bit stream Indicates that the video data block is decoded without a transform operation; and the decoded result is subjected to (754) loop filtering, wherein the type of loop filter is selected based on the determination.

3. 如解決方案1所述的方法,其中,無需變換操作的編碼禁用係數變換或殘差係數編碼。3. The method according to solution 1, wherein the coding without transform operation disables coefficient transform or residual coefficient coding.

4. 如解決方案1或2所述的方法,其中,濾波包括去方塊濾波。4. The method according to solution 1 or 2, wherein the filtering includes deblocking filtering.

5. 如解決方案1或2所述的方法,其中,環路濾波包括雙邊濾波。5. The method according to solution 1 or 2, wherein the loop filtering includes bilateral filtering.

6. 如解決方案1或2所述的方法,其中,環路濾波包括使用運動補償的平滑濾波器。6. The method according to solution 1 or 2, wherein the loop filtering includes a smoothing filter using motion compensation.

7. 如解決方案1至6的任一項所述的方法,其中,環路濾波器的類型是強類型的環路濾波器。7. The method according to any one of solutions 1 to 6, wherein the type of the loop filter is a strong type of loop filter.

8. 一種視頻編碼方法(例如,圖8A中描述的方法800),包括:回應於確定視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊的一個而選擇(802)環路濾波器的類型;基於該選擇確定(804)用於視頻資料塊的適應性環路濾波器(ALF)模式;將視頻資料塊編碼(806)為位元流表示;以及使用ALF模式將ALF應用於(808)編碼的結果。8. A video encoding method (for example, the method 800 described in FIG. 8A), comprising: selecting (802) loop in response to determining that a block of video data will be encoded as one of a coding unit (CU) or a zero unit (ZU) block The type of path filter; based on the selection, determine (804) the adaptive loop filter (ALF) mode for the video data block; encode (806) the video data block into a bitstream representation; and use the ALF mode to convert the ALF Applied to the result of (808) encoding.

9. 一種視頻解碼方法(例如,圖8B中描述的方法850),包括:由於塊的像素寬度或像素高度為非二的冪的整數,確定(852)視頻資料塊將從位元流表示被解碼為編碼單元(CU)或零單元(ZU)塊的一個;回應於確定,為視頻資料塊選擇(854)適應性環路濾波器(ALF)模式;從位元流表示解碼(856)視頻資料塊;以及基於ALF進行(858)適應性環路濾波。9. A video decoding method (for example, the method 850 described in FIG. 8B), including: since the pixel width or pixel height of the block is an integer that is not a power of two, determining (852) that the video data block will be represented by the bit stream Decode as a coding unit (CU) or zero unit (ZU) block; in response to the determination, select (854) adaptive loop filter (ALF) mode for the video data block; decode (856) video from the bit stream representation Data block; and (858) adaptive loop filtering based on ALF.

10. 一種視頻解碼方法(例如,圖9A中描述的方法900),包括:接收(902)對應於視頻資料塊的位元流;由於塊的像素寬度或像素高度為非二的冪的整數,確定(904)作為編碼樹單元(CTU)的視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊的一個;回應於確定視頻資料塊將被編碼為CU或ZU塊的一個,選擇(906)環路濾波器的類型;接收(908)信令以基於選擇控制塊中的適應性環路濾波器(ALF);以及使用所選擇的類型的環路濾波器對該塊進行環路濾波(910)。10. A video decoding method (for example, the method 900 described in FIG. 9A), comprising: receiving (902) a bit stream corresponding to a video data block; since the pixel width or pixel height of the block is an integer that is not a power of two, Determine (904) that the video data block as a coding tree unit (CTU) will be encoded as one of the coding unit (CU) or zero unit (ZU) block; in response to determining that the video data block will be encoded as one of the CU or ZU block , Select (906) the type of loop filter; receive (908) signaling to select the adaptive loop filter (ALF) in the control block based on; and use the selected type of loop filter to perform Loop filtering (910).

11. 如解決方案9或10所述的方法,其中,當確定視頻資料塊為ZU塊時,ZU塊被控制為作為整體塊而不是分割為子塊來進行ALF,切換ALF為開,並且其中信令包括用於整體塊的一個ALF控制標誌。11. The method according to solution 9 or 10, wherein when the video material block is determined to be a ZU block, the ZU block is controlled as a whole block instead of being divided into sub-blocks for ALF, switch ALF to on, and The signaling includes an ALF control flag for the whole block.

12. 如解決方案9或10所述的方法,其中,視頻資料塊是ZU塊並且被分割為N個子塊,切換ALF為開,並且其中信令包括用於每個子塊的一個ALF控制標誌。12. The method of solution 9 or 10, wherein the video material block is a ZU block and is divided into N sub-blocks, switch ALF to 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 of solution 12, wherein the size of the coding tree unit (CTU) related to the video material block as the ZU block is W×H and the size of the sub-block size is w×h, and the CTU is divided into (W+w-1)/w column, (H+h-1)/h row sub-block.

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, and the CTU is divided into W/w column, H/h row sub-block.

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 signaling switches the filtering method.

17. 一種視頻編碼方法(例如,圖9B中描述的方法950),包括:確定(952)視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)的一個;回應於確定視頻資料塊位於靠近圖片邊界並且是CU、PU或TU的一個,控制(954)環路濾波器;以及基於確定來信令通知(956)環路濾波器的控制資訊。17. A video coding method (for example, the method 950 described in FIG. 9B), comprising: determining (952) that the video data block is located close to the picture boundary and is a coding unit (CU), prediction unit (PU) or transformation unit (TU) In response to determining that the video data block is located near the picture boundary and is one of the CU, PU, or TU, controlling (954) the loop filter; and signaling (956) the control information of the loop filter based on the determination.

18. 一種視頻解碼方法(例如,圖9C中描述的方法960),包括:確定(962)視頻資料塊位於靠近圖片邊界並且是編碼單元(CU)、預測單元(PU)或變換單元(TU)的一個;基於確定接收(964)環路濾波器的控制資訊;以及基於確定和所接收的控制資訊(966)環路濾波器。18. A video decoding method (for example, the method 960 described in FIG. 9C), comprising: determining (962) that the video data block is located close to the picture boundary and is a coding unit (CU), prediction unit (PU) or transformation unit (TU) One; based on determining the received (964) loop filter control information; and based on the determined and received control information (966) the loop filter.

19. 如解決方案17或18所述的方法,其中,需要塊級開/關控制標誌的環路濾波器可以被自動禁用。19. The method as described in solution 17 or 18, wherein the loop filter that requires block-level on/off control flags 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 of any one of solutions 17 to 19, wherein the loop filter includes adaptive loop filtering (ALF).

22. 一種視頻系統中的裝置,包括處理器和其上具有指令的非暫態性的記憶體,其中,當由處理器執行指令時,使得處理器實現如解決方案1到21中的任一個所述的方法。22. A device in a video system, including a processor and a non-transitory memory with instructions thereon, wherein when the instructions are executed by the processor, the processor is made to implement any one of solutions 1 to 21 The method described.

23. 一種儲存在非暫態性的電腦可讀介質上的電腦程式產品,電腦程式產品包括用於執行解決方案1到21中的任一個中的方法的程式碼。23. A computer program product stored on a non-transitory computer readable medium, the computer program product including program code for executing the method in any one of solutions 1 to 21.

關於上述解決方案,接收操作可以包括通過網路連接接收視頻資料或者從記憶體或存放裝置通過諸如匯流排的資料通信鏈路接收視頻資料。關於上述解決方案,非二的冪數包括不是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...). Regarding the above solution, as described in the example, the transform may be a DCT transform or another suitable transform for data compression (for example, 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, the syntax elements placed in the predefined bitstream syntax represented by the video encoding can be used to implement information signaling.

從前述內容可以理解,本文已經出於說明的目的描述了本公開技術的具體實施例,但是可以在不脫離本發明範圍的情況下進行各種修改。因此,本公開的技術除了所附申請專利範圍外不受限制。It can be understood from the foregoing that the 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 present 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 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 in their 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 the data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of substances that affect a machine-readable propagated signal, or a combination of one or more of them. The term "data processing unit" or "data processing device" covers all devices, equipment, and machines used to process data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, for example, constituting processor firmware, protocol stack, database management system, operating system, or one or more of them The 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 stand-alone programs or suitable for computing Modules, components, subroutines, or other units used in the environment. The computer program does not necessarily correspond to the files in the file system. Programs can be stored in the part of the file that holds other programs or data (for example, one or more scripts stored in a markup language file), 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). Computer programs can be deployed to be executed on one computer or on multiple computers located on one website or distributed on 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 executed by a dedicated logic circuit, and the device can also be implemented as a dedicated logic circuit, 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. Generally, 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. Generally, the computer will also include or be operatively coupled to one or more large storage area devices for storing data, such as floppy disks, magneto-optical discs or optical discs, to receive data from the one or more large storage area devices, or Transmit data to the one or more large storage area devices, or both receive and transmit 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 a dedicated logic circuit.

說明書和附圖旨在被認為僅是示例性的,其中示例性意味著示例。如這裡所使用的,單數形式的“一”,“一個”和“該”旨在也包括複數形式,除非上下文另有明確說明。另外,除非上下文另有明確說明,否則“或”的使用旨在包括“和/或”。The description and drawings are intended to be considered as exemplary only, where exemplary means example. As used herein, the singular "a", "an" and "the" are intended to also include the plural, unless the context clearly dictates otherwise. In addition, the use of "or" is intended to include "and/or" unless the context clearly dictates otherwise.

雖然本發明包含許多細節,但這些細節不應被解釋為對任何發明或可要求保護的範圍的限制,而是作為特定於特定發明的特定實施例的特徵的描述。在本發明中,在單獨的實施例的上下文中描述的某些特徵也可以在單個實施例中組合實現。相反,在單個實施例的上下文中描述的各種特徵也可以單獨地或以任何合適的子組合在多個實施例中實現。此外,儘管上面的特徵可以描述為以某些組合起作用並且甚至最初如此要求權利保護,但是在某些情況下,可以從所要求保護的組合中去除來自該組合的一個或多個特徵,並且所要求保護的組合可以指向子組合或子組合的變型。Although the present invention contains many details, these details should not be construed as limitations on any invention or the scope of which can be claimed, but as a description of features specific to a particular embodiment of a particular invention. 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 described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, although the above features may be described as working in certain combinations and even as claimed initially, in some cases, one or more features from the combination may be removed from the claimed combination, and The claimed combination may refer to a sub-combination or a variant of the sub-combination.

類似地,雖然在附圖中以特定順序描繪了操作,但是這不應該被理解為要求以所示的特定順序或按循序執行這樣的操作,或者執行所有示出的操作,以實現期望的結果。此外,在本發明中描述的實施例中的各種系統元件的分離不應被理解為在所有實施例中都要求這種分離。Similarly, although operations are depicted in a specific order in the drawings, this should not be understood as requiring that such operations be performed in the specific order shown or in a sequential order, or that all the operations shown are performed to achieve the desired result . In addition, 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 modifications can be made based on the content described and shown in the present invention.

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 coding video transcoder and decoder 200‧‧‧Macro block division in H.264/AVC 300‧‧‧The coding block (CB) is divided into prediction blocks 500‧‧‧Frame division structure 502‧‧‧Implicit division 504‧‧‧Highlighted CTB 506‧‧‧Picture border 700, 750, 800, 850, 900, 950, 960, 1400, 1500‧‧‧Method 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‧‧‧Step 1100‧‧‧Tree type signaling 1600‧‧‧Computer system 1605‧‧‧ (one or more) processors 1610, 1702‧‧‧Memory 1615‧‧‧Network Interface Card 1625‧‧‧Interconnection 1700‧‧‧Mobile Device 1701‧‧‧Processor 1703‧‧‧I/O unit 1704‧‧‧Display device

圖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. Figure 2 shows an example of macro block (MB) division in H.264/AVC. FIG. 3 shows an example of partitioning a coding block (CB) into prediction blocks (PB). 4A and 4B respectively show examples of subdividing the coding tree block (CTB) into CB and transform block (TB) and the corresponding quadtree. Fig. 5 shows an example of the division 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 examples of subdivision of CB based on QTBT. Fig. 11 shows an example of tree type signaling. 12A to 12C show examples of CTB crossing the picture boundary. Fig. 13 shows an example of zero cells at the picture boundary. FIG. 14 shows a flowchart of an example method for video encoding according to the technology of the present disclosure. FIG. 15 shows a flowchart of another example method for video decoding according to the technology of the present disclosure. FIG. 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. Figure 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 an example of dividing the ZU block into sub-blocks for self-adjustment loop control (ALF) on/off control.

700‧‧‧方法 700‧‧‧Method

702、704‧‧‧步驟 Step 702, 704‧‧‧

Claims (14)

一種視頻編碼方法,包括:對於至少高度或寬度為非二的冪數個像素的視頻資料塊確定為零單元(ZU)塊,其中對於所述ZU塊,不調用變換、逆變換、量化和去量化操作,以將所述視頻資料塊編碼為位元流表示而無需變換操作;以及對所述編碼的結果進行强的環路濾波。 A video encoding method includes: determining a zero unit (ZU) block for a video data block whose height or width is at least a power of two pixels, wherein for the ZU block, transform, inverse transform, quantization, and deselection are not called A quantization operation is used to encode the video data block into a bit stream representation without a transformation operation; and a strong loop filter is performed on the result of the encoding. 一種視頻解碼方法,包括:對於至少高度或寬度為非二的冪數個像素的視頻資料塊確定為零單元(ZU)塊,其中對於所述ZU塊,不調用變換、逆變換、量化和去量化操作,以從位元流表示解碼所述視頻資料塊而無需變換和/或逆變換操作;以及對所述解碼的結果進行强的環路濾波。 A video decoding method includes: determining a zero unit (ZU) block for a video data block whose height or width is at least a power-of-two pixel, wherein for the ZU block, transform, inverse transform, quantization and removal are not called A quantization operation to decode the video data block from the bit stream representation without transform and/or inverse transform operations; and perform strong loop filtering on the decoded result. 如申請專利範圍第1項所述的方法,其中,無需變換操作的所述編碼禁用係數變換或殘差係數編碼。 The method according to the first item of the scope of patent application, wherein the coding without a conversion operation disables coefficient conversion or residual coefficient coding. 如申請專利範圍第1項或第2項所述的方法,其中,所述濾波包括去方塊濾波。 The method according to item 1 or item 2 of the scope of patent application, wherein the filtering includes deblocking filtering. 如申請專利範圍第1項或第2項所述的方法,其中,所述環路濾波包括雙邊濾波。 The method according to item 1 or item 2 of the scope of patent application, wherein the loop filtering includes bilateral filtering. 如申請專利範圍第1項或第2項所述的方法,其中,所述環路濾波包括使用運動補償的平滑濾波器。 The method according to item 1 or item 2 of the scope of patent application, wherein the loop filtering includes a smoothing filter using motion compensation. 一種視頻編碼方法,包括:回應於由於所述塊的像素寬度或像素高度為非二的冪的整數而確定視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊中的一個,為所述視頻資料塊選擇適應性環路濾波器(ALF)模式;將所述視頻資料塊編碼為位元流表示;當所述ZU塊位於圖片邊界處時,自動禁用所述ALF而無需任何信令通知,否則,發送信令以控制所述塊中的ALF;以及使用所述ALF模式將所述ALF應用到所述編碼的結果,其中,當確定所述視頻資料塊為ZU塊時,所述ZU塊被控制為作為整體塊而不是分割為子塊來進行ALF,切換ALF為開,並且其中所述信令包括用於整體塊的一個ALF控制標誌,或者,所述視頻資料塊是所述ZU塊並且被分割為N個子塊,切換ALF為開,並且其中所述信令包括用於每個子塊的一個ALF控制標誌。 A video encoding method, comprising: responding to determining that a block of video data will be encoded as one of a coding unit (CU) or a zero unit (ZU) block because the pixel width or the pixel height of the block is an integer that is not a power of two , Select the adaptive loop filter (ALF) mode for the video data block; encode the video data block into a bit stream representation; when the ZU block is located at the picture boundary, automatically disable the ALF without Any signaling, otherwise, send signaling to control the ALF in the block; and use the ALF mode to apply the ALF to the result of the encoding, where, when it is determined that the video material block is a ZU block The ZU block is controlled to be ALF as a whole block instead of being divided into sub-blocks, switch ALF to on, and wherein the signaling includes an ALF control flag for the whole block, or the video data block Is the ZU block and is divided into N sub-blocks, switching ALF to on, and wherein the signaling includes an ALF control flag for each sub-block. 一種視頻解碼方法,包括:由於所述塊的像素寬度或像素高度為非二的冪的整數,確定視頻資料塊將從位元流表示被解碼為編碼單元(CU)或零單元(ZU)塊中的一個;回應於所述確定,為所述視頻資料塊選擇適應性環路濾波器(ALF)模式;當所述ZU塊位於圖片邊界處時,自動禁用所述ALF而無需任何信令通知,否則,接收信令以基於所述選擇控制所述塊中的ALF; 從所述位元流表示解碼所述視頻資料塊;以及基於所述ALF進行適應性環路濾波,其中,當確定所述視頻資料塊為ZU塊時,所述ZU塊被控制為作為整體塊而不是分割為子塊來進行ALF,切換ALF為開,並且其中所述信令包括用於整體塊的一個ALF控制標誌,或者,所述視頻資料塊是所述ZU塊並且被分割為N個子塊,切換ALF為開,並且其中所述信令包括用於每個子塊的一個ALF控制標誌。 A video decoding method, including: since the pixel width or pixel height of the block is an integer that is not a power of two, it is determined that a video data block will be decoded from a bit stream representation into a coding unit (CU) or zero unit (ZU) block One of; in response to the determination, select an adaptive loop filter (ALF) mode for the video material block; when the ZU block is located at the picture boundary, automatically disable the ALF without any signaling , Otherwise, receive signaling to control the ALF in the block based on the selection; Decoding the video data block from the bitstream representation; and performing adaptive loop filtering based on the ALF, wherein when it is determined that the video data block is a ZU block, the ZU block is controlled as a whole block Instead of dividing into sub-blocks for ALF, switch ALF to on, and the signaling includes an ALF control flag for the entire block, or the video material block is the ZU block and is divided into N sub-blocks. Block, switch ALF to on, and wherein the signaling includes an ALF control flag for each sub-block. 一種視頻解碼方法,包括:接收對應於視頻資料塊的位元流;由於所述塊的像素寬度或像素高度為非二的冪的整數,確定作為編碼樹單元(CTU)的所述視頻資料塊將被編碼為編碼單元(CU)或零單元(ZU)塊中的一個;響應於確定所述視頻資料塊將被編碼為CU或ZU塊的一個,選擇環路濾波器的類型;當所述ZU塊位於圖片邊界處時,自動禁用所述ALF而無需任何信令通知,否則,接收信令以基於所述選擇控制所述塊中的適應性環路濾波器(ALF);以及使用所選擇的類型的環路濾波器對所述塊進行環路濾波,其中,當確定所述視頻資料塊為ZU塊時,所述ZU塊被控制為作為整體塊而不是分割為子塊來進行ALF,切換ALF為開,並且其中所述信令包括用於整體塊的一個ALF控制標誌,或者,所述視頻資料塊是所述ZU塊並且被分割為N個子塊,切換ALF為 開,並且其中所述信令包括用於每個子塊的一個ALF控制標誌。 A video decoding method includes: receiving a bit stream corresponding to a video data block; since the pixel width or pixel height of the block is an integer that is not a power of two, determining the video data block as a coding tree unit (CTU) Will be encoded as one of a coding unit (CU) or a zero unit (ZU) block; in response to determining that the video material block will be encoded as one of a CU or a ZU block, the type of loop filter is selected; when the When the ZU block is located at the picture boundary, automatically disable the ALF without any signaling, otherwise, receive signaling to control the adaptive loop filter (ALF) in the block based on the selection; and use the selection The type of loop filter performs loop filtering on the block, wherein when it is determined that the video data block is a ZU block, the ZU block is controlled as a whole block rather than divided into sub-blocks for ALF, Switch ALF is on, and the signaling includes an ALF control flag for the entire block, or, the video data block is the ZU block and is divided into N sub-blocks, and the switch ALF is Open, and wherein the signaling includes an ALF control flag for each sub-block. 如申請專利範圍第8或9項所述的方法,其中,與作為所述ZU塊的所述視頻資料塊有關的編碼樹單元(CTU)的尺寸為W×H並且子塊大小的尺寸為w×h,所述CTU被分割為(W+w-1)/w列、(H+h-1)/h行的子塊。 The method according to item 8 or 9 of the scope of patent application, wherein the size of the coding tree unit (CTU) related to the video material 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 of (W+w-1)/w columns and (H+h-1)/h rows. 如申請專利範圍第8或9項所述的方法,其中,與作為所述ZU塊的當前視頻塊有關的編碼樹單元(CTU)的尺寸為W×H並且子塊大小的尺寸為w×h,所述CTU被分割為W/w列、H/h行的子塊。 The method according to item 8 or 9 of the scope of patent application, 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 of W/w columns and H/h rows. 如申請專利範圍第8項或第9項所述的方法,其中,信令切換濾波方法。 The method described in item 8 or item 9 of the scope of patent application, wherein the signaling switching filtering method. 一種視頻系統中的裝置,包括處理器和其上具有指令的非暫態性的記憶體,其中,當由所述處理器執行所述指令時,使得處理器實現如申請專利範圍第1項至第9項中的一個或多個所述的方法。 A device in a video system, comprising a processor and a non-transitory memory with instructions thereon, wherein when the instructions are executed by the processor, the processor is made to implement items such as items 1 to One or more of the methods described in item 9. 一種儲存在非暫態性的電腦可讀介質上的電腦程式產品,所述電腦程式產品包括用於執行申請專利範圍第1項至第9項中的一個或多個中所述的方法的程式碼。 A computer program product stored on a non-transitory computer readable medium, the computer program product including a program for executing one or more of the methods described in items 1 to 9 of the scope of the patent application code.
TW108123121A 2018-06-29 2019-07-01 Filtering of zero unit TWI719520B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
WOPCT/CN2018/093631 2018-06-29
CN2018093631 2018-06-29
WOPCT/CN2018/094767 2018-07-06
CN2018094767 2018-07-06

Publications (2)

Publication Number Publication Date
TW202002655A TW202002655A (en) 2020-01-01
TWI719520B true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022179414A1 (en) * 2021-02-23 2022-09-01 Beijing Bytedance Network Technology Co., Ltd. Transform and quantization on non-dyadic blocks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3019490A1 (en) * 2016-05-13 2017-11-16 Sony Corporation Image processing apparatus and method
EP3310054A1 (en) * 2015-06-11 2018-04-18 Intellectual Discovery Co., Ltd. Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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
BR112013000556A2 (en) * 2010-07-09 2019-09-24 Samsung Electronics Co Ltd method for decoding a video using a video decoding processor, method for encoding a video using a video encoding processor, video decoding apparatus with respect to a video decoding processor, video encoding apparatus with respect to a video encoding processor, and computer readable recording medium
CN107295342B (en) * 2011-07-22 2020-04-28 Sk电信有限公司 Video encoding apparatus
CN104094597B (en) * 2011-10-17 2018-04-20 株式会社Kt Adaptive transformation method based on infra-frame prediction and the device using this method
SI2697973T1 (en) * 2012-04-16 2017-11-30 Hfi Innovation Inc. Method and apparatus for loop filtering across slice or tile boundaries
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)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3310054A1 (en) * 2015-06-11 2018-04-18 Intellectual Discovery Co., Ltd. Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor
CA3019490A1 (en) * 2016-05-13 2017-11-16 Sony Corporation Image processing apparatus and method

Also Published As

Publication number Publication date
CN110662035B (en) 2022-06-10
WO2020003264A3 (en) 2020-02-27
WO2020003264A2 (en) 2020-01-02
TW202002655A (en) 2020-01-01
CN110662035A (en) 2020-01-07

Similar Documents

Publication Publication Date Title
TWI725456B (en) Automatic partition for cross blocks
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
TWI707576B (en) Constrains for tiny blocks
TWI719520B (en) Filtering of zero unit
TWI707580B (en) Partitioning of zero unit
US12034911B2 (en) Definition of zero unit