Method and apparatus for signaling subblock transform information - Patents.com

JP7652761B2Active Publication Date: 2025-03-27HFI INNOVATION INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022513113
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-09-13
Filing Date
2020-07-24
Publication Date
2025-03-27
Estimated Expiration
2040-07-24

Smart Images

  • Figure 0007652761000001
    Figure 0007652761000001
  • Figure 0007652761000002
    Figure 0007652761000002
  • Figure 0007652761000003
    Figure 0007652761000003
Patent Text Reader

Abstract

The present disclosure provides apparatus and methods for signaling sub-block transform (SBT) information. The SBT information is used to encode video data. According to certain disclosed embodiments, an exemplary method includes signaling, in a sequence parameter set (SPS) of a video sequence, a first flag indicating whether sub-block transform (SBT) is enabled and a second flag indicating a maximum transform block (TB) size that allows for SBT. The maximum coding unit (CU) size that allows for SBT is determined directly based on the maximum TB size in response to the first flag indicating that SBT is enabled.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This disclosure claims priority to U.S. Provisional Patent Application No. 62 / 900,395, filed Sep. 13, 2019, which is incorporated herein by reference in its entirety. [Background technology]

[0002] background

[0002] A video is a sequence of still pictures (or "frames") that capture visual information. To reduce storage memory and transmission bandwidth, a video may be compressed before storage or transmission and decompressed before display. The compression process is usually called encoding, and the decompression process is usually called decoding. There are various video coding formats that use standardized video coding techniques, most commonly based on prediction, transformation, quantization, entropy coding, and in-loop filtering. Video coding standards, such as the High Efficiency Video Coding (HEVC) / H.265 standard, the Versatile Video Coding (VVC) / H.266 standard, and the AVS standard, that specify specific video coding formats, are developed by standardization organizations. As more and more advanced video coding techniques are adopted into video standards, the coding efficiency of the new video coding standards becomes higher and higher. Summary of the Invention [Means for solving the problem]

[0003] Disclosure Summary

[0003] An embodiment of the present disclosure provides a method and apparatus for video processing. In an exemplary embodiment, a video processing method includes signaling a first flag indicating whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of a video sequence, and signaling a second flag indicating a maximum transform block (TB) size that allows SBT. In response to the first flag indicating that SBT is enabled, a maximum coding unit (CU) size that allows SBT can be determined directly based on the maximum TB size.

[0004] In another exemplary embodiment, a video processing device includes at least one memory for storing instructions and at least one processor. The at least one processor executes the instructions to cause the device to signal a first flag indicating whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of a video sequence and to signal a second flag indicating a maximum transform block (TB) size that allows SBT. In response to the first flag indicating that SBT is enabled, a maximum coding unit (CU) size that allows SBT is determined based directly on the maximum TB size.

[0005]

[0005] In another exemplary embodiment, a non-transitory computer-readable storage medium stores a set of instructions. The set of instructions is executable by at least one processor to cause a computer to perform a video processing method. The method includes signaling, in a sequence parameter set (SPS) of a video sequence, a first flag indicating whether sub-block transform (SBT) is enabled, and a second flag indicating a maximum transform block (TB) size that allows for SBT. A maximum coding unit (CU) size that allows for SBT is determined directly based on the maximum TB size in response to the first flag indicating that SBT is enabled.

[0006] BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Embodiments and various aspects of the present disclosure are set forth in the following detailed description and the accompanying drawings, in which various features are not drawn to scale. [Brief description of the drawings]

[0007] [Figure 1]

[0007] FIG. 1 is a schematic diagram illustrating the structure of an example video sequence according to some embodiments of the present disclosure. [Diagram 2]

[0008] 1 shows a schematic diagram of an example encoder in a hybrid video encoding system, according to some embodiments of the present disclosure. [Diagram 3]

[0009] 2 shows a schematic diagram of an example decoder in a hybrid video coding system according to some embodiments of the present disclosure. [Figure 4]

[0010] 1 shows a block diagram of an exemplary apparatus for encoding or decoding video in accordance with some embodiments of the present disclosure. [Diagram 5]

[0011] 1 illustrates example sub-block transform (SBT) types and SBT positions for an inter-prediction coding unit (CU) in accordance with some embodiments of this disclosure. [Figure 6A]

[0012] 1 shows an example Table 1 illustrating a portion of an SPS syntax table according to some embodiments of the present disclosure. [Figure 6B]

[0012] Exemplary Table 1 illustrates a portion of an SPS syntax table according to some embodiments of the present disclosure. [Figure 7]

[0013] 1 illustrates a flowchart of an exemplary video processing method according to some embodiments of the present disclosure. [Figure 8A]

[0014] 1 shows an example Table 2 illustrating a portion of an SPS syntax table according to some embodiments of the present disclosure. [Figure 8B]

[0014] Exemplary Table 2 illustrates a portion of an SPS syntax table according to some embodiments of the present disclosure. [Figure 9]

[0015] 1 shows an example Table 3 illustrating a portion of a CU syntax table according to some embodiments of the present disclosure. [Figure 10]

[0016] 4 illustrates a flowchart of another example video processing method according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Detailed Description

[0017] Reference will now be made in detail to the exemplary embodiments illustrated in the accompanying drawings. The following description refers to the accompanying drawings, in which the same numbers in different drawings represent the same or similar elements unless otherwise stated. The implementations described in the following description of the exemplary embodiments do not represent all implementations consistent with the present invention. Instead, they are merely examples of apparatus and methods consistent with aspects related to the present invention as described in the appended claims. Certain aspects of the present disclosure are described in more detail below. In the event of a conflict with a term and / or definition incorporated by reference, the term and definition provided herein shall prevail.

[0009]

[0018] The ITU-T Video Coding Expert Group (VCEG) and the ISO / IEC Moving Picture Expert Group (MPEG) Joint Video Experts Team (JVET) are currently developing the Versatile Video Coding (VVC) / H.266 standard. The VVC standard aims to double the compression efficiency of its predecessor, the High Efficiency Video Coding (HEVC) / H.265 standard. In other words, the goal of VVC is to achieve the same subjective quality as HEVC / H.265, but with half the bandwidth.

[0010]

[0019] To achieve the same subjective quality as HEVC / H.265 at half the bandwidth, JVET has developed techniques that go beyond HEVC using the joint exploration model (JEM) reference software. As the coding techniques are incorporated into JEM, JEM has achieved significantly higher coding performance than HEVC.

[0011]

[0020] The VVC standard is a recent development and continues to add more coding techniques that provide better compression performance. VVC is based on the same hybrid video coding system that has been used in modern video compression standards such as HEVC, H.264 / AVC, MPEG2, and H.263.

[0012]

[0021] A video is a series of still pictures (or "frames") arranged in time sequence to preserve visual information. A video capture device (e.g., a camera) can be used to capture and store these pictures in time sequence, and a video playback device (e.g., a television, a computer, a smartphone, a tablet computer, a video player, or any end-user terminal with a display capability) can be used to display such pictures in time sequence. In some applications, the video capture device can also transmit the captured video in real time to a video playback device (e.g., a computer with a monitor) for surveillance, conference hosting, or live broadcasting, etc.

[0013]

[0022] To reduce the storage space and transmission bandwidth required in such applications, video may be compressed before storage and transmission, and decompressed before display. Compression and decompression may be performed by software executed by a processor (e.g., a processor of a general-purpose computer) or dedicated hardware. The compression module is commonly called an "encoder" and the decompression module is commonly called a "decoder." The encoders and decoders may be collectively referred to as a "codec." The encoders and decoders may be implemented as any of a variety of suitable hardware, software, or combinations thereof. For example, hardware implementations of the encoders and decoders may include circuitry such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, or any combination thereof. Software implementations of the encoders and decoders may include any suitable computer-implemented algorithm or process fixed in program code, computer-executable instructions, firmware, or a computer-readable medium. Video compression and decompression may be performed by a variety of algorithms or standards, such as MPEG-1, MPEG-2, MPEG-4, H.26x family, etc. In some applications, a codec can reconstruct video from a first encoding standard and recompress the reconstructed video using a second encoding standard, in which case the codec is sometimes called a "transcoder."

[0014]

[0023] A video encoding process can identify and retain useful information that can be used for reconstruction of a picture and ignore information that is not important for reconstruction. If the ignored, unimportant information cannot be perfectly reconstructed, such an encoding process may be called "lossy". Otherwise, it may be called "lossless". Most encoding processes are lossy, which is a tradeoff to reduce the required storage space and transmission bandwidth.

[0015]

[0024] Useful information of a picture being encoded (called the "current picture") includes changes with respect to a reference picture (e.g., a previously encoded and reconstructed picture). Such changes may include pixel position changes, luminance changes, or color changes, among which position changes are the most important. Position changes of pixels representing an object may reflect the object's motion between the reference picture and the current picture.

[0016]

[0025] A picture that is coded without reference to another picture (i.e., it is its own reference picture) is called an "I-picture". A picture that is coded using a previous picture as a reference picture is called a "P-picture". A picture that is coded using both a previous picture and a future picture as reference pictures (i.e., the references are "bidirectional") is called a "B-picture".

[0017]

[0026] 1 illustrates the structure of an example video sequence 100 according to some embodiments of the present disclosure. Video sequence 100 may be live video or captured and archived video. Video 100 may be real video, computer-generated video (e.g., computer game video), or a combination thereof (e.g., real video with augmented reality effects). Video sequence 100 may be input from a video capture device (e.g., a camera), a video archive containing previously captured video (e.g., video files saved on a storage device), or a video feed interface for receiving video from a video content provider (e.g., a video broadcast transceiver).

[0018]

[0027] As shown in FIG. 1, a video sequence 100 may include a series of pictures arranged in time along a timeline including pictures 102, 104, 106, and 108. Pictures 102-106 are consecutive, with more pictures between pictures 106 and 108. In FIG. 1, picture 102 is an I-picture whose reference picture is picture 102 itself. Picture 104 is a P-picture whose reference picture is picture 102, as indicated by the arrow. Picture 106 is a B-picture whose reference pictures are pictures 104 and 108, as indicated by the arrows. In some embodiments, the reference picture of a picture (e.g., picture 104) may not be immediately preceding or following the picture. For example, the reference picture of picture 104 may be a picture preceding picture 102. It should be noted that the reference pictures of pictures 102-106 are merely examples, and this disclosure does not limit the embodiment of the reference pictures to the example shown in FIG.

[0019]

[0028] Typically, video codecs do not encode or decode an entire picture at once due to the computational complexity of such a task. Rather, they may divide a picture into basic segments and encode or decode the picture segment by segment. Such basic segments are referred to as basic processing units ("BPUs") in this disclosure. For example, structure 110 in FIG. 1 illustrates an example structure for a picture (e.g., any of pictures 102-108) in video sequence 100. In structure 110, the picture is divided into 4x4 basic processing units, whose boundaries are indicated by dashed lines. In some embodiments, the elementary processing units may be referred to as "macroblocks" in some video coding standards (e.g., the MPEG family, H.261, H.263, or H.264 / AVC) or as "coding tree units" (CTUs) in some other video coding standards (e.g., H.265 / HEVC or H.266 / VVC). The elementary processing units may have variable sizes of pictures, such as 128x128, 64x64, 32x32, 16x16, 4x8, 16x32, or any shape and size of pixels. The size and shape of the elementary processing units may be selected on a picture-by-picture basis based on a balance between coding efficiency and the level of detail to be maintained in the elementary processing units.

[0020]

[0029] A basic processing unit may be a logical unit that may include a collection of different types of video data stored in a computer memory (e.g., in a video frame buffer). For example, a basic processing unit for a color picture may include a luma component (Y) representing achromatic lightness information, one or more chroma components (e.g., Cb and Cr) representing color information, and related syntax elements (wherein the luma and chroma components may have the same size of the basic processing unit). The luma and chroma components may be referred to as "coding tree blocks" (CTBs) in some video coding standards (e.g., H.265 / HEVC or H.266 / VVC). Any operation performed on a basic processing unit may be repeated on each of its luma and chroma components.

[0021]

[0030] Video coding has multiple stages of operation, examples of which are shown in FIG. 2 and FIG. 3. At each stage, the size of the basic processing unit may still be too large to process, and therefore may be further divided into segments, referred to as "basic processing subunits" in this disclosure. In some embodiments, the basic processing subunits may be referred to as "blocks" in some video coding standards (e.g., MPEG family, H.261, H.263, or H.264 / AVC), or as "coding units" ("CUs") in some other video coding standards (e.g., H.265 / HEVC or H.266 / VVC). The basic processing subunits may have the same or smaller size as the basic processing units. Similar to the basic processing units, the basic processing subunits are also logical units that may include a collection of different types of video data (e.g., Y, Cb, Cr, and related syntax elements) stored in computer memory (e.g., in a video frame buffer). Any operation performed on a basic processing sub-unit can be repeated on each of its luma and chroma components. Note that such division can be done to further levels depending on the processing needs. Note also that different stages can use different schemes to divide the basic processing units.

[0022]

[0031] For example, in a mode decision stage (an example of which is shown in FIG. 2), an encoder may decide which prediction mode (e.g., intra-picture prediction or inter-picture prediction) to use for a basic processing unit, which may be too large to make such a decision. The encoder may split the basic processing unit into multiple basic processing sub-units (e.g., CUs in the case of H.265 / HEVC or H.266 / VVC) and decide the prediction type for each individual basic processing sub-unit.

[0023]

[0032] As another example, in the prediction stage (one example of which is shown in FIG. 2), the encoder can perform prediction operations at the level of the basic processing subunit (e.g., CU). However, in some cases, the basic processing subunit may still be too large to process. The encoder can further divide the basic processing subunit into smaller segments (e.g., called "prediction blocks" or "PBs" in H.265 / HEVC or H.266 / VVC), and perform prediction operations at the level of the segments.

[0024]

[0033] As another example, in the transform stage (one example of which is shown in FIG. 2), the encoder can perform transform operations on residual elementary processing subunits (e.g., CUs). However, in some cases, the elementary processing subunits may still be too large to process. The encoder can further divide the elementary processing subunits into smaller segments (e.g., called "transform blocks" or "TBs" in H.265 / HEVC or H.266 / VVC), and perform transform operations at the level of the segments. Note that the division scheme of the same elementary processing subunit may be different in the prediction stage and the transform stage. For example, in H.265 / HEVC or H.266 / VVC, the prediction blocks and transform blocks of the same CU may have different sizes and numbers.

[0025]

[0034] 1, the basic processing units 112 are further divided into 3×3 basic processing sub-units, the boundaries of which are indicated by dotted lines. Different basic processing units of the same picture may be divided into basic processing sub-units in different schemes.

[0026]

[0035] In some implementations, to provide parallel processing capabilities and error resilience for video encoding and decoding, a picture may be divided into multiple regions for processing, such that for each region of a picture, the encoding or decoding process can not depend on information from any other region of the picture. That is, each region of a picture can be processed independently. In this way, the codec can process different regions of a picture in parallel, thus improving coding efficiency. Also, if data of one region is corrupted during processing or lost during network transmission, the codec can correctly encode or decode other regions of the same picture without relying on the corrupted or lost data, thus providing error resilience capabilities. In some video coding standards, a picture may be divided into different types of regions. For example, H.265 / HEVC and H.266 / VVC provide two region types: "slice" and "tile". It should also be noted that different pictures of the video sequence 100 may have different partition schemes for dividing the picture into regions.

[0027]

[0036] For example, in Figure 1, structure 110 is divided into three regions 114, 116, and 118, whose boundaries are shown as solid lines within structure 110. Region 114 includes four basic processing units. Regions 116 and 118 each include six basic processing units. It should be noted that the basic processing units, basic processing sub-units, and regions of structure 110 in Figure 1 are merely examples, and this disclosure is not limited to those embodiments.

[0028]

[0037] 2 illustrates a schematic diagram of an example encoder 200 in a hybrid video coding system according to some embodiments of this disclosure. The video encoder 200 may perform intra- or inter-coding of blocks in video frames, including video blocks or partitions or sub-partitions of video blocks. Intra-coding may rely on spatial prediction to reduce or remove spatial redundancy of video within a given video frame. Inter-coding may rely on temporal prediction to reduce or remove temporal redundancy of video in adjacent frames of a video sequence. Intra-modes may refer to several spatial-based compression modes. Inter-modes (such as uni-predictive or bi-predictive) may refer to several temporal-based compression modes.

[0029]

[0038] With reference to FIG. 2, the input video signal 202 may be processed block by block. For example, a video block unit may be a 16×16 pixel block (e.g., a macroblock (MB)). The size of the video block unit may vary depending on the encoding technique used and the required accuracy and efficiency. In HEVC, extended block sizes (e.g., coding tree units (CTUs)) may be used to compress video signals with resolutions of, for example, 1080p or higher. In HEVC, a CTU may include up to 64×64 luma samples, corresponding chroma samples, and related syntax elements. In VVC, the size of a CTU may be further increased to include 128×128 luma samples, corresponding chroma samples, and related syntax elements. The CTU may be further divided into coding units (CUs), for example, using a quad-tree, binary tree, or ternary tree. The CUs may be further partitioned into prediction units (PUs) to which separate prediction methods may be applied. Each input video block may be processed by using a spatial prediction unit 260 or a temporal prediction unit 262.

[0030]

[0039] Spatial prediction unit 260 performs spatial prediction (e.g., intra prediction) on a current block / CU using information about the same picture / slice that contains the current block. Spatial prediction may use pixels from already coded neighboring blocks in the same video picture frame / slice to predict the current video block. Spatial prediction can reduce spatial redundancy inherent in video signals.

[0031]

[0040] The temporal prediction unit 262 performs temporal prediction (e.g., inter prediction) on the current block using information from one or more pictures / slices different from the picture / slice containing the current block. The temporal prediction for the video block may be signaled by one or more motion vectors. In unidirectional temporal prediction, only one motion vector pointing to one reference picture is used to generate a prediction signal for the current block. In bidirectional temporal prediction, on the other hand, two motion vectors (each motion vector pointing to a respective reference picture) may be used to generate a prediction signal for the current block. The motion vector may indicate the amount and direction of motion between the current block and one or more associated blocks in a reference frame. If multiple reference pictures are supported, one or more reference picture indexes may be sent for the video block. The one or more reference indexes may be used to identify which reference picture or pictures in the reference picture store or decoded picture buffer (DPB) 264 the temporal prediction signal may come from.

[0032]

[0041] A mode decision and encoder control unit 280 in the encoder may choose a prediction mode based on, for example, rate-distortion optimization. Based on the determined prediction mode, a prediction block may be obtained. The prediction block may be subtracted from the current video block at summer 216. The prediction residual may be transformed by transform unit 204 and quantized by quantization unit 206. The quantized residual coefficients may be inverse quantized in inverse quantization unit 210 and inverse transformed in inverse transform unit 212 to form a reconstructed residual. The reconstructed residual may be added to the prediction block at summer 226 to form a reconstructed video block. The reconstructed video block before loop filtering may be used to provide reference samples for intra prediction.

[0033]

[0042] The reconstructed video block may undergo loop filtering in loop filter 266. Loop filtering such as, for example, a deblocking filter, sample adaptive offset (SAO), and adaptive loop filter (ALF) may be applied. The reconstructed block after loop filtering may be stored in reference picture store 264 and can be used to provide inter-prediction reference samples for encoding other video blocks. To form output video bitstream 220, the coding mode (e.g., inter or intra), prediction mode information, motion information, and quantized residual coefficients may be sent to entropy coding unit 208 to further reduce the bitrate before data is compressed and packed to form bitstream 220.

[0034]

[0043] 3 shows a schematic diagram of an example decoder 300 in a hybrid video coding system according to some embodiments of the present disclosure. With reference to FIG. 3, a video bitstream 302 may be unpacked or entropy decoded in an entropy decoding unit 308. The coding mode information may be used to determine whether a spatial prediction unit 360 or a temporal prediction unit 362 is selected. The prediction mode information may be sent to a corresponding prediction unit to form a prediction block. For example, motion compensation prediction may be applied by the temporal prediction unit 362 to form a temporal prediction block.

[0035]

[0044] The residual coefficients may be sent to an inverse quantization unit 310 and an inverse transform unit 312 to obtain a reconstructed residual. The prediction block and the reconstructed residual may be summed at 326, thereby forming a reconstructed block before loop filtering. The reconstructed block may then undergo loop filtering at a loop filter 366. Loop filtering such as a deblocking filter, SAO, and ALF may be applied. The reconstructed block after loop filtering may then be stored in a reference picture store 364. The reconstructed data in the reference picture store 364 may be used to obtain a decoded picture 320 or may be used to predict future video blocks. The decoded picture 320 may be displayed on a display device such as a TV, PC, smartphone, or tablet for viewing by an end user.

[0036]

[0045] FIG. 4 is a block diagram of an example device 400 for encoding or decoding video, according to some embodiments of the present disclosure. As shown in FIG. 4, the device 400 may include a processor 402. When the processor 402 executes instructions described herein, the device 400 can become a dedicated machine for video encoding or decoding. The processor 402 may be any type of circuitry capable of manipulating or processing information. For example, the processor 402 may include any combination of several central processing units (i.e., "CPU"), graphic processing units (i.e., "GPU"), neural processing units ("NPU"), microcontroller units ("MCU"), optical processors, programmable logic controllers, microcontrollers, microprocessors, digital signal processors, intellectual property (IP) cores, programmable logic arrays (PLAs), programmable array logic (PALs), general purpose array logic (GALs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), systems on chips (SoCs), or application specific integrated circuits (ASICs), etc. In some embodiments, processor 402 may be a set of processors grouped together as a single logical component. For example, as shown in FIG. 4, processor 402 may include multiple processors, including processor 402a, processor 402b, and processor 402n.

[0037]

[0046] The device 400 may also include a memory 404 configured to store data (e.g., an instruction set, computer code, or intermediate data, etc.). For example, as shown in FIG. 4, the stored data may include program instructions (e.g., program instructions for implementing the stages of FIG. 2 or FIG. 3) and data for processing. The processor 402 may access the program instructions and the data for processing (e.g., via a bus 410) and execute the program instructions to perform operations or manipulations on the data for processing. The memory 404 may include a high-speed random access storage device or a non-volatile storage device. In some embodiments, the memory 404 may include any combination of several random access memories (RAM), read-only memories (ROM), optical disks, magnetic disks, hard drives, solid-state drives, flash drives, security digital (SD) cards, memory sticks, or compact flash (CF) cards, etc. The memory 404 may also be a collection of memories (not shown in FIG. 4) grouped as a single logical component.

[0038]

[0047] Bus 410 may be a communications device that transfers data between components within apparatus 400, such as an internal bus (eg, a CPU memory bus) or an external bus (eg, a Universal Serial Bus port, a Peripheral Component Interconnect Express port).

[0039]

[0048] For the sake of clarity and simplicity, in this disclosure, the processor 402 and other data processing circuitry are collectively referred to as "data processing circuitry." The data processing circuitry may be implemented entirely as hardware, or as a combination of software, hardware, or firmware. Furthermore, the data processing circuitry may be a single, independent module, or may be fully or partially integrated with any other components of the device 400.

[0040]

[0049] The device 400 may further include a network interface 406 to provide wired or wireless communication with a network (e.g., the Internet, an intranet, a local area network, or a mobile communication network, etc.) In some embodiments, the network interface 406 may include any combination of a number of network interface controllers (NICs), radio frequency (RF) modules, transponders, transceivers, modems, routers, gateways, wired network adapters, wireless network adapters, Bluetooth adapters, infrared adapters, near field communication ("NFC") adapters, or cellular network chips, etc.

[0041]

[0050] In some embodiments, optionally, apparatus 400 may further include a peripheral interface 408 to provide a connection to one or more peripheral devices. As shown in FIG. 4, the peripheral devices may include, but are not limited to, a cursor control device (e.g., a mouse, a touchpad, or a touch screen), a keyboard, a display (e.g., a cathode ray tube display, a liquid crystal display, or a light emitting diode display), or a video input device (e.g., a camera, or an input interface coupled to a video archive), etc.

[0042]

[0051] It should be noted that the video codec may be implemented as any combination of any software or hardware modules within the device 400. For example, some or all of the stages of the encoder 200 of Figure 2 or the decoder 300 of Figure 3 may be implemented as one or more software modules of the device 400, such as program instructions that may be loaded into the memory 404. As another example, some or all of the stages of the encoder 200 of Figure 2 or the decoder 300 of Figure 3 may be implemented as one or more hardware modules of the device 400, such as dedicated data processing circuits (e.g., FPGAs, ASICs, or NPUs).

[0043]

[0052] In the quantization and inverse quantization functional blocks (e.g., quantization unit 206 and inverse quantization unit 210 in FIG. 2, inverse quantization unit 310 in FIG. 3), a quantization parameter (QP) is used to determine the amount of quantization (and inverse quantization) applied to the prediction residual. The initial QP value used for coding a picture or slice can be signaled at a high level, for example, using the syntax element init_qp_minus 26 in the picture parameter set (PPS) and using the syntax element slice_qp_delta in the slice header. Additionally, the QP value can be adapted at a local level per CU using a delta QP value signaled at the granularity of a quantization group.

[0044]

[0053] In VVC, sub-block transform (SBT) is used for inter prediction coding units (CUs). In this transform mode, only a subpart of the residual block is coded for the CU. When inter prediction CU using syntax element cu_cbf is equal to 1, syntax element cu_sbt_flag can be signaled to indicate whether the entire residual block is coded or a subpart of the residual block is coded. In the former case, inter multiple transform selected (MTS) information is further parsed to determine the transform type of the CU. In the latter case, a part of the residual block is coded using an inferred adaptive transform and the remaining part of the residual block is filled with zeros.

[0045]

[0054] When SBT is used for inter-predicted CU, SBT type and SBT position information are signaled in the bitstream. As shown in FIG. 5, there are two SBT types and two SBT positions. For SBT-V (or SBT-H), the transform unit (TU) width (or height) may be equal to half the CU width (or height) or 1 / 4 the CU width (or height), resulting in a 2:2 partition or a 1:3 / 3:1 partition. A 2:2 partition is like a binary tree (BT) partition, and a 1:3 / 3:1 partition is like an asymmetric binary tree (ABT) partition. In an ABT partition, only a small region contains non-zero residuals. If one dimension of a CU is 8 in luma samples, a 1:3 / 3:1 partition along that dimension is rejected. There are at most 8 SBT modes for a CU.

[0046]

[0055] To specify whether SBT is enabled or disabled, a Sequence Parameter Set (SPS) level syntax may use the syntax element sps_sbt_enabled_flag. When the syntax element sps_sbt_enabled_flag is equal to 0, it signals that SBT for inter-predicted CUs is disabled for the entire video sequence that references this SPS. When the syntax element sps_sbt_enabled_flag is equal to 1, it signals that SBT for inter-predicted CUs is enabled for the entire video sequence that references this SPS.

[0047]

[0056] Also, when sps_sbt_enabled_flag is equal to 1, another SPS syntax element sps_sbt_max_size_64_flag can be used to specify the maximum CU width and height for which SBT is allowed. When the syntax element sps_sbt_max_size_64_flag is equal to 0, it signals that the maximum CU width and height for which SBT is allowed is 32 luma samples. When the syntax element sps_sbt_max_size_64_flag is equal to 1, it signals that the maximum CU width and height for which SBT is allowed is 64 luma samples. The variable MaxSbtSize, which can specify the maximum allowed CU size for SBT, is calculated based on the following Equation 1. MaxSbtSize = Min( MaxTbSizeY, sps_sbt_max_size_64_flag ? 64 : 32 ) (Formula 1) where MaxTbSizeY is the maximum allowed transform block (TB) size, which can be derived from another SPS level syntax element sps_max_luma_transform_size_64_flag according to Equation 2 below. MaxTbSizeY = sps_max_luma_transform_size_64_flag ? 64 : 32 (Formula 2)

[0048]

[0057] As mentioned above, the derivation of MaxSbtSize depends on two syntax elements sps_max_luma_transform_size_64_flag and sps_sbt_max_size_64_flag. If the value of the syntax element sps_max_luma_transform_size_64_flag=0, MaxSbtSize is always 32, regardless of the value of the syntax element sps_sbt_max_size_64_flag. Therefore, if the syntax element sps_max_luma_transform_size_64_flag is zero, there is no need to signal the syntax element sps_sbt_max_size_64_flag. Such syntax redundancy in VVC unnecessarily increases the signaling overhead.

[0049]

[0058] To improve video coding efficiency, according to some disclosed embodiments, the syntax element sps_sbt_max_size_64_flag is signaled only if the syntax elements sps_max_luma_transform_size_64_flag and sps_sbt_enabled_flag are both 1. FIG. 6 shows an example Table 1 according to some embodiments of the present disclosure. Table 1 shows an example SPS syntax table for some embodiments. As shown in Table 1 (emphasis in italics), the syntax element sps_sbt_max_size_64_flag is signaled only if the syntax elements sps_max_luma_transform_size_64_flag and sps_sbt_enabled_flag are both 1. If the syntax element sps_max_luma_transform_size_64_flag is 0, then the syntax element sps_sbt_max_size_64_flag can be inferred to be zero (which means that the maximum CU width and height allowed for SBT is 32 (in luma samples)).

[0050]

[0059] 7 illustrates a flowchart of an example video processing method 700 according to some embodiments of the present disclosure. In some embodiments, the method 700 may be performed by one or more software or hardware components of an encoder (e.g., the encoder 200 of FIG. 2), a decoder (e.g., the decoder 300 of FIG. 3), or an apparatus (e.g., the apparatus 400 of FIG. 4). For example, a processor (e.g., the processor 402 of FIG. 4) may perform the method 700. In some embodiments, the method 700 may be implemented by a computer program product embodied in a computer-readable medium that includes computer-executable instructions, such as program code, executed by a computer (e.g., the apparatus 400 of FIG. 4).

[0051]

[0060] At step 702, method 700 may include determining whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of the video sequence. In some embodiments, a flag indicating whether SBT is enabled (e.g., syntax element sps_sbt_enabled_flag as shown in Table 1 of FIG. 6) may be signaled in the SPS. For example, syntax element sps_sbt_enabled_flag equal to 0 may specify that SBT for inter-predicted CUs is disabled for the entire video sequence that references the SPS. And syntax element sps_sbt_enabled_flag equal to 1 may specify that SBT for inter-predicted CUs is enabled for the entire video sequence that references the SPS.

[0052]

[0061] In step 704, the method 700 may include determining a value of a first flag in the SPS indicating a maximum transform block (TB) size that allows for SBT. The first flag may be set to a first value or a second value. For example, the first value is 1 and the second value is 0. The maximum TB size may be 32 or 64, etc. In some embodiments, the method 700 may also include setting the value of the first flag to the first value in response to the maximum TB size being 64, and setting the value of the first flag to the second value in response to the maximum TB size being 32. In some embodiments, the first flag may be a syntax element sps_max_luma_transform_size_64_flag of Table 1 of FIG. 6.

[0053]

[0062] In step 706, the method 700 may include signaling a second flag indicating a maximum coding unit (CU) size for which the SBT is allowed in response to the SBT being enabled and the value of the first flag being equal to the first value. In response to the SBT being disabled or the value of the first flag being equal to the second value, the second flag is not signaled. For example, the second flag may be a syntax element sps_sbt_max_size_64_flag as shown in Table 1 of FIG. 6. The syntax element sps_sbt_max_size_64_flag is signaled only if the syntax elements sps_max_luma_transform_size_64_flag and sps_sbt_enabled_flag are both 1.

[0054]

[0063] In some embodiments, method 700 may also include signaling a third flag in the SPS indicating whether SBT is enabled (e.g., syntax element sps_sbt_enabled_flag as shown in Table 1 of FIG. 6 ), and signaling the first flag in the SPS (e.g., syntax element sps_max_luma_transform_size_64_flag in Table 1 of FIG. 6 ).

[0055]

[0064] In some embodiments, the maximum CU size may be 32 or 64. The maximum CU width or height that allows for an SBT may be determined based on the smaller of the maximum TB size and the maximum CU size (eg, according to Equation 1).

[0056]

[0065] In some disclosed embodiments, the syntax element sps_sbt_max_size_64_flag is not signaled at all. In this case, the maximum allowed CU width and height of SBT depends directly on the syntax element sps_max_luma_transform_size_64_flag. If the syntax element sps_max_luma_transform_size_64_flag is equal to 0, the maximum allowed CU width and height of SBT is 32 luma samples. If the syntax element sps_max_luma_transform_size_64_flag is equal to 1, the maximum allowed CU width and height of SBT is 64 luma samples. That is, MaxSbtSize is set equal to MaxTbSizeY. FIG. 8 illustrates an example Table 2 according to some embodiments of the present disclosure. Table 2 illustrates an example SPS syntax for implementing these embodiments. As shown in Table 2, the syntax element sps_sbt_max_size_64_flag is not signaled and is removed from the above syntax. Figure 9 shows an example Table 3 according to some embodiments of the present disclosure. Table 3 (emphasis in italics) shows an example coding unit (CU) syntax table that directly uses MaxTbSizeY to set the maximum CU width and height. MaxTbSizeY is calculated based on Equation 3 below. MaxTbSizeY = sps_max_luma_transform_size_64_flag ? 64 : 32 (Formula 3) FIG. 9 shows that cbWidth and cbHeight are compared with MaxTbSizeY, and cu_sbt_flag is signaled depending on the result of the comparison.

[0057]

[0066] 10 shows a flowchart of another example video processing method 1000 according to some embodiments of the present disclosure. In some embodiments, the method 1000 may be performed by one or more software or hardware components of an encoder (e.g., the encoder 200 of FIG. 2), a decoder (e.g., the decoder 300 of FIG. 3), or an apparatus (e.g., the apparatus 400 of FIG. 4). For example, a processor (e.g., the processor 402 of FIG. 4) may perform the method 1000. In some embodiments, the method 1000 may be implemented by a computer program product embodied in a computer-readable medium that includes computer-executable instructions, such as program code, executed by a computer (e.g., the apparatus 400 of FIG. 4).

[0058]

[0067] At step 1002, the method 1000 includes signaling a first flag indicating whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of the video sequence. In some embodiments, the first flag may be a syntax element sps_sbt_enabled_flag as shown in Table 2 of FIG. 8. For example, a syntax element sps_sbt_enabled_flag equal to 0 may specify that SBT for inter-predicted CUs is disabled for the entire video sequence that references this SPS. And, a syntax element sps_sbt_enabled_flag equal to 1 may specify that SBT for inter-predicted CUs is enabled for the entire video sequence that references this SPS.

[0059]

[0068] In step 1004, the method 1000 may include signaling a second flag indicating a maximum transform block (TB) size that allows for SBT. The second flag may be set to a first value or a second value. For example, the first value is 1 and the second value is 0. The maximum TB size may be 32 or 64, etc. In some embodiments, the method 1000 may also include setting a value of the second flag to 0 in response to the maximum TB size being 32, and setting a value of the second flag to 1 in response to the maximum TB size being 64. In some embodiments, the first flag may be a syntax element sps_max_luma_transform_size_64_flag of Table 2 of FIG. 8.

[0060]

[0069] The maximum CU size that allows SBT can be determined based directly on the maximum TB size in response to the first flag indicating that SBT is enabled. For example, the maximum CU size is determined to be equal to the maximum TB size. The maximum CU size may include a maximum CU width and a maximum CU height.

[0061]

[0070] In some embodiments, a non-transitory computer-readable storage medium is also provided that includes instructions, which can be executed by a device (such as the disclosed encoder and decoder) to perform the above-described methods. Common forms of non-transitory media include, for example, floppy disks, flexible disks, hard disks, solid state drives, magnetic tapes or other magnetic data storage media, CD-ROMs, other optical data storage media, any physical media with a pattern of holes, RAM, PROMs, and EPROMs, FLASH-EPROMs or other flash memories, NVRAMs, caches, registers, other memory chips or cartridges, and networked versions of the above. A device may include one or more processors (CPUs), input / output interfaces, network interfaces, and / or memory.

[0062]

[0071] The embodiments can be further described using the following clauses. 1. Determining whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of a video sequence; determining a value of a first flag in the SPS indicating a maximum transform block (TB) size that allows the SBT; signaling a second flag indicating a maximum coding unit (CU) size that allows the SBT in response to the SBT being enabled and the value of the first flag being equal to the first value; A video processing method comprising: 2. The method of clause 1, wherein in response to the SBT being disabled or the value of the first flag being equal to the second value, the second flag is not signaled. 3. Signaling a third flag in the SPS indicating whether the SBT is enabled; signaling a first flag in the SPS; 3. The method of claim 1 or 2, further comprising: 4. The method of claim 2, wherein the first value is 1 and the second value is 0. 5. The method of any one of clauses 1 to 4, wherein the maximum TB size is 32 or 64. 6. The method of claim 5, further comprising setting a value of a first flag to a first value in response to the maximum TB size being 64. 7. The method of claim 5, further comprising setting a value of the first flag to a second value in response to the maximum TB size being 32. 8. The method of any one of clauses 1 to 7, wherein the maximum CU size allowed for SBT is 32 or 64. 9. The method of any one of clauses 1 to 8, wherein the maximum CU width that allows the SBT is determined based on the smaller of the maximum TB size and the maximum CU size that allows the SBT. 10. The method of any one of clauses 1 to 9, wherein the maximum CU height that allows the SBT is determined based on the smaller of the maximum TB size and the maximum CU size that allows the SBT. 11. A video processing device, comprising: at least one memory for storing instructions; and at least one processor, the at least one processor executing instructions to determining whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of a video sequence; determining a value of a first flag in the SPS indicating a maximum transform block (TB) size that allows the SBT; signaling a second flag indicating a maximum coding unit (CU) size that allows the SBT in response to the SBT being enabled and the value of the first flag being equal to the first value; The image processing device causes the device to perform the above. 12. The apparatus of clause 11, wherein in response to the SBT being disabled or the value of the first flag being equal to the second value, the second flag is not signaled. 13. At least one processor further executes instructions to signaling, in the SPS, a third flag indicating whether the SBT is enabled; signaling a first flag in the SPS; 13. The apparatus of claim 11 or 12, causing the apparatus to 14. The apparatus of claim 12, wherein the first value is 1 and the second value is 0. 15. An apparatus according to any one of clauses 11 to 14, wherein the maximum TB size is 32 or 64. 16. The apparatus of clause 15, further comprising: in response to the maximum TB size being 64, setting a value of the first flag to a first value. 17. The apparatus of clause 15, further comprising: in response to the maximum TB size being 32, setting a value of the first flag to a second value. 18. A device described in any one of clauses 11 to 17, wherein the maximum CU size allowing SBT is 32 or 64. 19. The device described in any one of clauses 11 to 18, wherein the maximum CU width that allows SBT is determined based on the smaller of the maximum TB size and the maximum CU size that allow SBT. 20. The apparatus of any one of clauses 11 to 19, wherein the maximum CU height that allows the SBT is determined based on the smaller of the maximum TB size and the maximum CU size that allows the SBT. 21. A non-transitory computer-readable storage medium having stored thereon a set of instructions, the set of instructions being executable by at least one processor to cause a computer to perform a method of image processing, the method comprising: determining whether sub-block transform (SBT) is enabled in a sequence parameter set (SPS) of a video sequence; determining a value of a first flag in the SPS indicating a maximum transform block (TB) size that allows the SBT; signaling a second flag indicating a maximum coding unit (CU) size that allows the SBT in response to the SBT being enabled and the value of the first flag being equal to the first value; A non-transitory computer readable storage medium comprising: 22. The non-transitory computer-readable storage medium of clause 21, wherein in response to the SBT being disabled or the value of the first flag being equal to the second value, the second flag is not signaled. 23. An instruction set executable by at least one processor is signaling, in the SPS, a third flag indicating whether the SBT is enabled; signaling a first flag in the SPS; 23. The non-transitory computer-readable storage medium of claim 21 or 22, further causing a computer to perform the steps of: 24. The non-transitory computer-readable storage medium of claim 22, wherein the first value is 1 and the second value is 0. 25. The non-transitory computer-readable storage medium of any one of clauses 21 to 24, wherein the maximum TB size is 32 or 64. 26. An instruction set executable by at least one processor is 26. The non-transitory computer-readable storage medium of clause 25, further causing the computer to set a value of a first flag to a first value in response to the maximum TB size being 64. 27. An instruction set executable by at least one processor is 26. The non-transitory computer-readable storage medium of claim 25, further causing the computer to set a value of the first flag to a second value in response to the maximum TB size being 32. 28. A non-transitory computer-readable storage medium according to any one of clauses 21 to 27, wherein the maximum CU size allowing SBT is 32 or 64. 29. A non-transitory computer-readable storage medium according to any one of clauses 21 to 28, wherein the maximum CU width allowing SBT is determined based on the smaller of the maximum TB size allowing SBT and the maximum CU size. 30. A non-transitory computer-readable storage medium according to any one of clauses 21 to 29, wherein the maximum CU height that allows SBT is determined based on the smaller of the maximum TB size and the maximum CU size that allows SBT. 31. Signaling a first flag in a sequence parameter set (SPS) of a video sequence indicating whether sub-block transform (SBT) is enabled; signaling a second flag indicating a maximum transform block (TB) size that allows the SBT; Including, A video processing method, wherein a maximum coding unit (CU) size that allows SBT is determined based directly on a maximum TB size in response to a first flag indicating that SBT is enabled. 32. The method of claim 31, wherein the maximum CU size that allows SBT is a maximum CU width or a maximum CU height. 33. The method of clause 31 or 32, wherein the maximum CU size that allows SBT is determined to be equal to the maximum TB size. 34. The method of any one of clauses 31 to 33, wherein the maximum TB size is 32 or 64. 35. The method of claim 34, further comprising setting a value of a second flag to 0 in response to the maximum TB size being 32. 36. The method of claim 34, further comprising setting a value of a second flag to 1 in response to the maximum TB size being 64. 37. A video processing device, at least one memory for storing instructions; and at least one processor, the at least one processor executing instructions to signaling a first flag in a sequence parameter set (SPS) of a video sequence indicating whether sub-block transform (SBT) is enabled; signaling a second flag indicating a maximum transform block (TB) size that allows the SBT; The device performs the following: A video processing device, wherein a maximum coding unit (CU) size that allows SBT is determined directly based on a maximum TB size in response to a first flag indicating that SBT is enabled. 38. The apparatus of clause 37, wherein the maximum CU size that allows SBT is a maximum CU width or a maximum CU height. 39. The apparatus of clause 37 or 38, wherein the maximum CU size that allows SBT is determined to be equal to the maximum TB size. 40. The apparatus of any one of clauses 37 to 39, wherein the maximum TB size is 32 or 64. 41. At least one processor further executes instructions to 41. The apparatus of clause 40, wherein in response to the maximum TB size being 32, the apparatus is caused to set a value of a second flag to 0. 42. At least one processor further executes instructions to 41. The apparatus of clause 40, further comprising: causing the apparatus to set a value of a second flag to 1 in response to the maximum TB size being 64. 43. A non-transitory computer-readable storage medium storing a set of instructions, the set of instructions being executable by at least one processor to cause a computer to perform a method of image processing, the method comprising: signaling a first flag in a sequence parameter set (SPS) of a video sequence indicating whether sub-block transform (SBT) is enabled; signaling a second flag indicating a maximum transform block (TB) size that allows the SBT; Including, A non-transitory computer-readable storage medium, wherein a maximum coding unit (CU) size that allows for SBT is determined based directly on a maximum TB size in response to a first flag indicating that SBT is enabled. 44. The non-transitory computer-readable storage medium of clause 43, wherein the maximum CU size that allows SBT is a maximum CU width or a maximum CU height. 45. The non-transitory computer-readable storage medium of clause 43 or 44, wherein a maximum CU size allowing SBT is determined to be equal to a maximum TB size. 46. ​​The non-transitory computer-readable storage medium of any one of clauses 43 to 45, wherein the maximum TB size is 32 or 64. 47. An instruction set executable by at least one processor is 47. The non-transitory computer-readable storage medium of clause 46, further causing the computer to set a value of a second flag to 0 in response to the maximum TB size being 32. 48. An instruction set executable by at least one processor is 47. The non-transitory computer-readable storage medium of claim 46, further causing the computer to set a value of a second flag to 1 in response to the maximum TB size being 64.

[0063]

[0072] It should be noted that relative terms herein, such as "first" and "second," are used only to distinguish one entity or operation from another, and do not require or imply an actual relationship or order between those entities or operations. Also, the words "comprising," "having," "containing," and "including," as well as other similar forms, are intended to be equivalent in meaning and to be open-ended in that the term or terms following any one of these terms is not an exhaustive enumeration of such term or terms, or limited to only the enumerated term or terms.

[0064]

[0073] As used herein, unless specifically stated otherwise, the term "or" encompasses all possible combinations unless not feasible. For example, if it is stated that a database may include A or B, the database may include A, or B, or A and B, unless specifically stated otherwise or unless not feasible. As a second example, if it is stated that a database may include A, B, or C, the database may include A, or B, or C, or A and B, or A and C, or B and C, or A and B and C, unless specifically stated otherwise or unless not feasible.

[0065]

[0074] It is understood that the above embodiments may be implemented by hardware, or software (program code), or a combination of hardware and software. If implemented by software, it may be stored in the above computer-readable medium. The software, when executed by a processor, may perform the disclosed method. The computing units and other functional units described in this disclosure may be implemented by hardware, or software, or a combination of hardware and software. Those skilled in the art will also understand that more than one of the above modules / units may be integrated into one module / unit, and each of the above modules / units may be further divided into multiple sub-modules / sub-units.

[0066]

[0075] In the foregoing specification, the embodiments have been described with reference to numerous specific details that may vary from implementation to implementation. Certain adaptations and modifications of the described embodiments may be made. Other embodiments may become apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the above specification and examples be considered as merely exemplary, with the true scope and spirit of the invention being indicated by the following claims. Additionally, the order of steps depicted in the figures is intended to be merely illustrative, and is not intended to be limited to any particular order of steps. Thus, one skilled in the art will appreciate that these steps may be performed in different orders while performing the same method.

[0067]

[0076] In the drawings and specification, illustrative embodiments have been disclosed. However, many variations and modifications can be made to these embodiments. Thus, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

1. 1. A method for decoding a bitstream to output one or more pictures of a video sequence, the method comprising: decoding the bitstream; and determining a maximum transform size in luma samples based on the decoded bitstream; determining whether sub-block transform (SBT) is allowed for a CU of the video sequence; Including, The method, wherein the determining whether the SBT is allowed for the CU is based on a comparison of a size of the CU to a maximum transform size in luma samples.

2. decoding the bitstream includes decoding a flag associated with the video sequence; The method of claim 1 , wherein determining a maximum transform size per luma sample comprises determining a maximum transform size per luma sample based on a value of the flag.

3. The method of claim 2 , wherein the flag is signaled in a sequence parameter set (SPS) of the bitstream.

4. The method of claim 2 , wherein the flag is sps_max_luma_transform_size_64_flag.

5. in response to the flag having a value of one, determining a maximum transform size in luma samples to be equal to 64; or determining a maximum transform size in luma samples to be equal to 32 in response to the value of the flag being 0; The method of claim 2 , further comprising:

6. in response to the flag having a first value, determining the maximum transform size in luma samples to be equal to a second value; or determining a maximum transform size in luma samples to be equal to a fourth value in response to the flag having a third value; The method of claim 2 , further comprising:

7. The comparison of the size of the CU to a maximum transform size in luma samples comprises: a comparison of the width of the CU to the maximum transform size in luma samples; or A comparison of the height of the CU to the maximum transform size in luma samples. The method of claim 1 , comprising at least one of:

8. The method of claim 1 , further comprising determining a maximum CU size that allows for the SBT to be equal to a maximum transform size in luma samples.

9. 1. A method for encoding a video sequence into a bitstream, the method comprising: determining a maximum transform size in luma samples of the video sequence; determining whether to use sub-block transform (SBT) for a coding unit of the video sequence; Including, The method, wherein the determining whether to use the SBT for the CU is based on a comparison of a size of the CU to a maximum transform size in luma samples.

10. The method of claim 9 , further comprising encoding a flag indicating a maximum transform size in luma samples.

11. The method of claim 10 , wherein the flag is encoded in a sequence parameter set (SPS) of a bitstream associated with the video sequence.

12. The method of claim 10, wherein the flag is sps_max_luma_transform_size_64_flag.

13. setting a value of the flag to 1 in response to the maximum transform size in luma samples being determined to be equal to 64; or setting the value of the flag to 0 in response to the maximum transform size in luma samples being determined to be equal to 32. The method of claim 10 further comprising:

14. in response to the maximum transform size in luma samples being determined to be equal to a first value, setting the flag to have a second value; or setting the flag to have a fourth value in response to the maximum transform size in luma samples being determined to be equal to a third value. The method of claim 10 further comprising:

15. The comparison of the size of the CU to a maximum transform size in luma samples comprises: a comparison of the width of the CU to the maximum transform size in luma samples; or A comparison of the height of the CU to the maximum transform size in luma samples. The method of claim 9 , comprising at least one of:

Citation Information

Patent Citations

  • Video signal processing method and apparatus

    JP2022541798A