WO2023106761A1 - 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 - Google Patents
영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 Download PDFInfo
- Publication number
- WO2023106761A1 WO2023106761A1 PCT/KR2022/019607 KR2022019607W WO2023106761A1 WO 2023106761 A1 WO2023106761 A1 WO 2023106761A1 KR 2022019607 W KR2022019607 W KR 2022019607W WO 2023106761 A1 WO2023106761 A1 WO 2023106761A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- prediction
- block
- boundary
- partition
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Definitions
- the present invention relates to a video encoding/decoding method and apparatus, and a recording medium storing a bitstream, and more particularly, to a video encoding/decoding method and apparatus using in-loop filtering, and a recording medium storing a bitstream. .
- HD High Definition
- UHD Ultra High Definition
- An inter-prediction technique for predicting pixel values included in the current picture from pictures before or after the current picture as an image compression technique an intra-prediction technique for predicting pixel values included in the current picture using pixel information within the current picture
- image compression technology can be used to effectively compress and transmit or store image data.
- This disclosure proposes a deblocking filtering method considering the prediction mode of a filtering boundary block.
- This disclosure proposes a method of calculating boundary strength for deblocking filtering based on whether the filtering boundary block is coded by GPM intra prediction.
- An image decoding method and apparatus determine a target boundary for filtering by dividing a reconstructed picture, and determine the target boundary based on whether at least one block among blocks adjacent to the target boundary is coded by partition combining prediction.
- a boundary strength for a boundary may be derived, and filtering may be performed on the target boundary based on the boundary strength.
- the partition combined prediction may indicate a mode of performing prediction by combining a first prediction block of a first partition and a second prediction block of a second partition.
- the first prediction block and the second prediction block may be prediction blocks in which different predictions are performed.
- the first prediction block and the second prediction block may be prediction blocks in which the same prediction is performed.
- one of the first prediction block and the second prediction block may be a prediction block on which intra prediction is performed, and the other may be a prediction block on which inter prediction is performed.
- the boundary strength when at least one block among blocks adjacent to the target boundary is coded by the partition combining prediction, the boundary strength may be induced to a first predetermined value.
- the boundary strength when all blocks adjacent to the target boundary are coded by the partition joint prediction, the boundary strength is derived to a predetermined second value, and among blocks adjacent to the target boundary When only one block is coded by the partition joint prediction, the boundary strength may be derived as a predetermined third value.
- the image decoding method and apparatus may determine whether a current block among blocks adjacent to the target boundary is coded by the partition combining prediction.
- whether the current block is coded by the partition joint prediction may be determined based on a motion vector stored for the current block.
- the width and height of blocks adjacent to the target boundary may be adaptively determined based on coding information.
- the coding information may include a size of a block adjacent to the target boundary, a size of a predetermined grid, a partitioning angle for the partition combining prediction, or a partitioning angle for the partition combining prediction. It may include at least one of partitioning distances.
- a target boundary for filtering is determined by dividing a reconstructed picture, and the target boundary is determined based on whether at least one block among blocks adjacent to the target boundary is coded by partition combining prediction.
- a boundary strength for a boundary may be derived, and filtering may be performed on the target boundary based on the boundary strength.
- the partition combined prediction may represent a mode of performing prediction by combining a first prediction block of a first partition and a second prediction block of a second partition.
- one of the first prediction block and the second prediction block may be a prediction block on which intra prediction is performed, and the other may be a prediction block on which inter prediction is performed.
- the boundary strength when at least one block among blocks adjacent to the target boundary is coded by the partition combining prediction, the boundary strength may be induced to a first predetermined value.
- the boundary strength when all blocks adjacent to the target boundary are coded by the partition joint prediction, the boundary strength is derived to a predetermined second value, and among blocks adjacent to the target boundary When only one block is coded by the partition joint prediction, the boundary strength may be derived as a predetermined third value.
- the video encoding method and apparatus may determine whether a current block among blocks adjacent to the target boundary is coded by the partition combining prediction.
- whether the current block is coded by the partition joint prediction may be determined based on a motion vector stored for the current block.
- the width and height of blocks adjacent to the target boundary may be adaptively determined based on coding information.
- the coding information may include a size of a block adjacent to the target boundary, a size of a predetermined grid, a partitioning angle for the partition combining prediction, or a partitioning angle for the partition combining prediction. It may include at least one of partitioning distances.
- a computer-readable digital storage medium in which encoded video/image information that causes an image decoding method to be performed by a decoding device according to the present disclosure is stored.
- a computer-readable digital storage medium in which video/image information generated by the video encoding method according to the present disclosure is stored is provided.
- the present disclosure in determining boundary strength for deblocking filtering, it is possible to increase subjective picture quality and improve compression performance by considering whether or not the filtering boundary block is coded by GPM intra prediction.
- FIG. 1 illustrates a video/image coding system according to the present disclosure.
- FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure may be applied and encoding of a video/video signal is performed.
- FIG. 3 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure may be applied and decoding of a video/image signal is performed.
- FIG. 4 illustrates target boundaries and target pixels of a deblocking filter as an embodiment to which the present invention is applied.
- FIG. 5 illustrates an image decoding method performed by a decoding apparatus according to an embodiment of the present disclosure.
- FIG. 6 is a diagram for explaining a method for determining filter strength according to an embodiment of the present disclosure.
- FIG. 7 is a diagram for explaining a GPM intra prediction method according to an embodiment of the present invention.
- FIG. 8 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- FIG. 9 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- FIG. 10 is a diagram illustrating a GPM division direction to which an embodiment of the present disclosure may be applied.
- 11 and 12 are diagrams illustrating a method for determining boundary strength of a target boundary according to an embodiment of the present disclosure.
- FIG. 13 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- FIG. 14 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- 15 is a diagram for explaining a method of determining boundary strength in units of sub-blocks according to an embodiment of the present disclosure.
- 16 is a diagram for explaining a method of determining boundary strength in units of sub-blocks according to an embodiment of the present disclosure.
- FIG. 17 illustrates a schematic configuration of a filtering unit performing an image decoding method according to an embodiment of the present disclosure.
- FIG. 18 illustrates a video encoding method performed by an encoding apparatus according to an embodiment of the present disclosure.
- FIG. 19 illustrates a schematic configuration of a filtering unit performing a video encoding method according to an embodiment of the present disclosure.
- FIG. 20 shows an example of a content streaming system to which embodiments of the present disclosure may be applied.
- first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
- the terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.
- This disclosure relates to video/image coding.
- the method/embodiment disclosed herein may be applied to a method disclosed in a versatile video coding (VVC) standard.
- VVC versatile video coding
- the method/embodiment disclosed in this specification is an essential video coding (EVC) standard, an AOMedia Video 1 (AV1) standard, a 2nd generation of audio video coding standard (AVS2), or a next-generation video/video coding standard (ex. H.267 or H.268, etc.).
- EVC essential video coding
- AV1 AOMedia Video 1
- AVS2 2nd generation of audio video coding standard
- next-generation video/video coding standard ex. H.267 or H.268, etc.
- a video may mean a set of a series of images over time.
- a picture generally means a unit representing one image in a specific time period
- a slice/tile is a unit constituting a part of a picture in coding.
- a slice/tile may include one or more coding tree units (CTUs).
- CTUs coding tree units
- One picture may consist of one or more slices/tiles.
- One tile is a rectangular area composed of a plurality of CTUs in a specific tile column and a specific tile row of one picture.
- a tile column is a rectangular area of CTUs with a height equal to that of the picture and a width specified by the syntax request of the picture parameter set.
- a tile row is a rectangular area of CTUs with a height specified by the picture parameter set and a width equal to the width of the picture.
- CTUs within one tile are consecutively arranged according to the CTU raster scan, whereas tiles within one picture may be consecutively arranged according to the raster scan of the tile.
- One slice may contain an integer number of complete tiles or an integer number of contiguous complete CTU rows within a tile of a picture that may be exclusively included in a single NAL unit. Meanwhile, one picture may be divided into two or more subpictures.
- a subpicture can be a rectangular area of one or more slices within a picture.
- a pixel, pixel, or pel may mean a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or a pixel value, may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component.
- a unit may represent a basic unit of image processing.
- a unit may include at least one of a specific region of a picture and information related to the region.
- One unit may include one luma block and two chroma (eg cb, cr) blocks. Unit may be used interchangeably with terms such as block or area depending on the case.
- an MxN block may include samples (or a sample array) or a set (or array) of transform coefficients consisting of M columns and N rows.
- a or B may mean “only A”, “only B” or “both A and B”.
- a or B (A or B)” in the present specification may be interpreted as “A and / or B (A and / or B)”.
- A, B or C herein means “only A”, “only B”, “only C”, or “any combination of A, B and C ( any combination of A, B and C)”.
- a slash (/) or comma (comma) used in this specification may mean “and/or”.
- A/B may mean “A and/or B”. Accordingly, “A/B” can mean “only A”, “only B”, or “both A and B”.
- A, B, C may mean “A, B or C”.
- At least one of A and B may mean “only A”, “only B” or “both A and B”.
- the expression “at least one of A or B” or “at least one of A and/or B” means “at least one of A and B (at least one of A and B)”.
- At least one of A, B and C means “only A”, “only B”, “only C”, or “A, B and C”. It may mean any combination of A, B and C”. Also, “at least one of A, B or C” or “at least one of A, B and/or C” means It can mean “at least one of A, B and C”.
- parentheses used in this specification may mean “for example”. Specifically, when “prediction (intra prediction)” is indicated, “intra prediction” may be suggested as an example of “prediction”. In other words, “prediction” in this specification is not limited to “intra prediction”, and “intra prediction” may be suggested as an example of “prediction”. Also, even when indicated as “prediction (ie, intra prediction)”, “intra prediction” may be suggested as an example of “prediction”.
- FIG. 1 illustrates a video/image coding system according to the present disclosure.
- a video/image coding system may include a first device (source device) and a second device (receive device).
- the source device may transmit encoded video/image information or data to a receiving device in a file or streaming form through a digital storage medium or network.
- the source device may include a video source, an encoding device, and a transmission unit.
- the receiving device may include a receiving unit, a decoding device, and a renderer.
- the encoding device may be referred to as a video/image encoding device, and the decoding device may be referred to as a video/image decoding device.
- a transmitter may be included in an encoding device.
- a receiver may be included in a decoding device.
- the renderer may include a display unit, and the display unit may be configured as a separate device or an external component.
- a video source may acquire video/images through a process of capturing, synthesizing, or generating video/images.
- a video source may include a video/image capture device and/or a video/image generation device.
- a video/image capture device may include one or more cameras, a video/image archive containing previously captured video/images, and the like.
- Video/image generating devices may include computers, tablets and smart phones, etc., and may (electronically) generate video/images.
- a virtual video/image may be generated through a computer or the like, and in this case, a video/image capture process may be replaced by a process of generating related data.
- An encoding device may encode an input video/picture.
- the encoding device may perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency.
- Encoded data (encoded video/video information) may be output in the form of a bitstream.
- the transmission unit may transmit the encoded video/image information or data output in the form of a bit stream to the receiving unit of the receiving device in the form of a file or streaming through a digital storage medium or a network.
- Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcasting/communication network.
- the receiving unit may receive/extract the bitstream and transmit it to a decoding device.
- the decoding device may decode video/images by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to operations of the encoding device.
- the renderer may render the decoded video/image.
- the rendered video/image may be displayed through the display unit.
- FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure may be applied and encoding of a video/video signal is performed.
- the encoding device 200 includes an image partitioner 210, a predictor 220, a residual processor 230, an entropy encoder 240, It may include an adder 250, a filter 260, and a memory 270.
- the prediction unit 220 may include an inter prediction unit 221 and an intra prediction unit 222 .
- the residual processing unit 230 may include a transformer 232 , a quantizer 233 , a dequantizer 234 , and an inverse transformer 235 .
- the residual processing unit 230 may further include a subtractor 231 .
- the adder 250 may be called a reconstructor or a reconstructed block generator.
- the above-described image segmentation unit 210, prediction unit 220, residual processing unit 230, entropy encoding unit 240, adder 250, and filtering unit 260 may be one or more hardware components ( For example, it may be configured by an encoder chipset or processor). Also, the memory 270 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include a memory 270 as an internal/external component.
- DPB decoded picture buffer
- the image divider 210 may divide an input image (or picture or frame) input to the encoding device 200 into one or more processing units.
- the processing unit may be called a coding unit (CU).
- the coding unit may be partitioned recursively from a coding tree unit (CTU) or a largest coding unit (LCU) according to a quad-tree binary-tree ternary-tree (QTBTTT) structure.
- CTU coding tree unit
- LCU largest coding unit
- QTBTTT quad-tree binary-tree ternary-tree
- one coding unit may be divided into a plurality of coding units having a deeper depth based on a quad tree structure, a binary tree structure, and/or a ternary structure.
- a quad tree structure may be applied first and a binary tree structure and/or ternary structure may be applied later.
- the binary tree structure may be applied before the quad tree structure.
- a coding procedure according to the present specification may be performed based on a final coding unit that is not further divided.
- the largest coding unit can be directly used as the final coding unit, or the coding unit is recursively divided into coding units of lower depths as needed, A coding unit having a size of may be used as a final coding unit.
- the coding procedure may include procedures such as prediction, transformation, and restoration to be described later.
- the processing unit may further include a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit may be divided or partitioned from the above-described final coding unit, respectively.
- the prediction unit may be a unit of sample prediction
- the transform unit may be a unit for deriving transform coefficients and/or a unit for deriving a residual signal from transform coefficients.
- an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows.
- a sample may generally represent a pixel or a pixel value, may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component.
- a sample may be used as a term corresponding to one picture (or image) to a pixel or pel.
- the encoding device 200 subtracts the prediction signal (prediction block, prediction sample array) output from the inter prediction unit 221 or the intra prediction unit 222 from the input video signal (original block, original sample array) to obtain a residual signal (residual signal, residual block, residual sample array) may be generated, and the generated residual signal is transmitted to the conversion unit 232.
- a unit for subtracting a prediction signal (prediction block, prediction sample array) from an input video signal (original block, original sample array) in the encoding device 200 may be called a subtraction unit 231 .
- the prediction unit 220 may perform prediction on a block to be processed (hereinafter referred to as a current block) and generate a predicted block including predicted samples of the current block.
- the predictor 220 may determine whether intra prediction or inter prediction is applied in units of current blocks or CUs.
- the prediction unit 220 may generate and transmit various types of information related to prediction, such as prediction mode information, to the entropy encoding unit 240, as will be described later in the description of each prediction mode. Prediction-related information may be encoded in the entropy encoding unit 240 and output in the form of a bitstream.
- the intra predictor 222 may predict a current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located apart from the current block by a predetermined distance according to a prediction mode.
- prediction modes may include one or more non-directional modes and a plurality of directional modes.
- the non-directional mode may include at least one of a DC mode and a planar mode.
- the directional mode may include 33 directional modes or 65 directional modes according to the degree of detail of the prediction direction. However, this is an example, and more or less directional modes may be used according to settings.
- the intra predictor 222 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
- the inter-prediction unit 221 may derive a prediction block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on correlation of motion information between neighboring blocks and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.).
- a neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture.
- a reference picture including the reference block and a reference picture including the temporal neighboring block may be the same or different.
- the temporal neighboring block may be called a collocated reference block, a collocated CU (colCU), and the like, and a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
- the inter-prediction unit 221 constructs a motion information candidate list based on neighboring blocks, and provides information indicating which candidate is used to derive the motion vector and/or reference picture index of the current block. can create Inter prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter prediction unit 221 may use motion information of neighboring blocks as motion information of the current block. In the case of the skip mode, the residual signal may not be transmitted unlike the merge mode. In the case of motion vector prediction (MVP) mode, the motion vector of the current block is used as a motion vector predictor and the motion vector difference is signaled. can be instructed.
- MVP motion
- the prediction unit 220 may generate a prediction signal based on various prediction methods described below.
- the predictor may apply intra-prediction or inter-prediction to predict one block, as well as apply intra-prediction and inter-prediction at the same time. This may be called a combined inter and intra prediction (CIIP) mode.
- the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for block prediction.
- IBC intra block copy
- the IBC prediction mode or the palette mode can be used for video/video coding of content such as games, such as screen content coding (SCC).
- IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture.
- IBC may use at least one of the inter prediction techniques described in this specification.
- Palette mode can be viewed as an example of intra coding or intra prediction.
- a sample value within a picture may be signaled based on information about a palette table and a palette index.
- the prediction signal generated by the prediction unit 220 may be used to generate a restored signal or a residual signal.
- the transform unit 232 may generate transform coefficients by applying a transform technique to the residual signal.
- the transform technique uses at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT).
- DCT Discrete Cosine Transform
- DST Discrete Sine Transform
- KLT Karhunen-Loeve Transform
- GBT Graph-Based Transform
- CNT Conditionally Non-linear Transform
- GBT means a transformation obtained from the graph when relation information between pixels is expressed as a graph.
- CNT means a transformation obtained by generating a prediction signal using all previously reconstructed pixels, and based thereon.
- the conversion process may be applied to square pixel blocks having the same size, or may be applied to non-square blocks of variable size.
- the quantization unit 233 quantizes the transform coefficients and transmits them to the entropy encoding unit 240, and the entropy encoding unit 240 may encode the quantized signal (information on the quantized transform coefficients) and output it as a bitstream. there is. Information about the quantized transform coefficients may be referred to as residual information.
- the quantization unit 233 may rearrange block-type quantized transform coefficients into a one-dimensional vector form based on a coefficient scan order, and the quantized transform coefficients based on the one-dimensional vector form quantized transform coefficients. Information about transform coefficients may be generated.
- the entropy encoding unit 240 may perform various encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit 240 may encode together or separately information necessary for video/image reconstruction (eg, values of syntax elements, etc.) in addition to quantized transform coefficients.
- Encoded information may be transmitted or stored in a network abstraction layer (NAL) unit unit in the form of a bitstream.
- the video/video information may further include information on various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- the video/image information may further include general constraint information.
- information and/or syntax elements transmitted/signaled from an encoding device to a decoding device may be included in video/image information.
- the video/image information may be encoded through the above-described encoding procedure and included in the bitstream.
- the bitstream may be transmitted through a network or stored in a digital storage medium.
- the network may include a broadcasting network and/or a communication network
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- a transmission unit (not shown) for transmitting the signal output from the entropy encoding unit 240 and/or a storage unit (not shown) for storing may be configured as internal/external elements of the encoding device 200, or the transmission unit It may also be included in the entropy encoding unit 240.
- the quantized transform coefficients output from the quantization unit 233 may be used to generate a prediction signal.
- a residual signal residual block or residual samples
- the adder 250 adds the reconstructed residual signal to the prediction signal output from the inter predictor 221 or the intra predictor 222 to obtain a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) can be created
- a predicted block may be used as a reconstruction block.
- the adder 250 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal may be used for intra prediction of a block to be processed next in the current picture, or may be used for inter prediction of the next picture after filtering as described later.
- LMCS luma mapping with chroma scaling
- the filtering unit 260 may improve subjective/objective picture quality by applying filtering to the reconstructed signal. For example, the filtering unit 260 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 270, specifically the memory 270. It can be stored in DPB.
- the various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, and the like.
- the filtering unit 260 may generate various types of filtering-related information and transmit them to the entropy encoding unit 240 . Filtering-related information may be encoded in the entropy encoding unit 240 and output in the form of a bit stream.
- the modified reconstructed picture transmitted to the memory 270 may be used as a reference picture in the inter prediction unit 221 .
- the encoding device can avoid prediction mismatch between the encoding device 200 and the decoding device, and can also improve encoding efficiency.
- the DPB of the memory 270 may store the modified reconstructed picture to be used as a reference picture in the inter prediction unit 221 .
- the memory 270 may store motion information of a block in a current picture from which motion information is derived (or encoded) and/or motion information of blocks in a previously reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 221 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 270 may store reconstructed samples of reconstructed blocks in the current picture and transfer them to the intra predictor 222 .
- FIG. 3 is a schematic block diagram of a decoding device to which an embodiment of the present disclosure may be applied and decoding of a video/image signal is performed.
- the decoding device 300 includes an entropy decoder 310, a residual processor 320, a predictor 330, an adder 340, and a filtering unit. (filter, 350) and memory (memoery, 360).
- the prediction unit 330 may include an inter prediction unit 331 and an intra prediction unit 332 .
- the residual processing unit 320 may include a dequantizer 321 and an inverse transformer 321 .
- the above-described entropy decoding unit 310, residual processing unit 320, prediction unit 330, adder 340, and filtering unit 350 may be configured as one hardware component (for example, a decoder chipset or processor) according to an embodiment. ) can be configured by Also, the memory 360 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include a memory 360 as an internal/external component.
- DPB decoded picture buffer
- the decoding device 300 may restore an image corresponding to a process in which the video/image information is processed by the encoding device of FIG. 2 .
- the decoding device 300 may derive units/blocks based on block division related information obtained from the bitstream.
- the decoding device 300 may perform decoding using a processing unit applied in the encoding device.
- a processing unit of decoding may be a coding unit, and a coding unit may be one divided from a coding tree unit or a largest coding unit according to a quad tree structure, a binary tree structure, and/or a ternary tree structure.
- One or more transform units may be derived from a coding unit.
- the restored video signal decoded and output through the decoding device 300 may be reproduced through a playback device.
- the decoding device 300 may receive a signal output from the encoding device of FIG. 2 in the form of a bitstream, and the received signal may be decoded through the entropy decoding unit 310 .
- the entropy decoding unit 310 may parse the bitstream to derive information (eg, video/image information) required for image restoration (or picture restoration).
- the video/video information may further include information on various parameter sets such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS).
- the video/image information may further include general constraint information.
- the decoding device may decode a picture further based on the information about the parameter set and/or the general restriction information.
- Signaling/received information and/or syntax elements described later in this specification may be obtained from the bitstream by being decoded through the decoding procedure.
- the entropy decoding unit 310 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and values of syntax elements required for image reconstruction and quantized values of residual transform coefficients. can output them.
- the CABAC entropy decoding method receives bins corresponding to each syntax element in a bitstream, and converts syntax element information to be decoded and decoding information of neighboring and decoding object blocks or symbol/bin information decoded in a previous step.
- a symbol corresponding to the value of each syntax element can be generated by determining a context model, predicting the probability of occurrence of a bin according to the determined context model, and performing arithmetic decoding of the bin.
- the CABAC entropy decoding method may update the context model by using information of the decoded symbol/bin for the context model of the next symbol/bin after determining the context model.
- prediction-related information is provided to the prediction unit (inter prediction unit 332 and intra prediction unit 331), and entropy decoding is performed by the entropy decoding unit 310.
- Dual values that is, quantized transform coefficients and related parameter information may be input to the residual processing unit 320 .
- the residual processor 320 may derive a residual signal (residual block, residual samples, residual sample array). Also, among information decoded by the entropy decoding unit 310 , information about filtering may be provided to the filtering unit 350 . Meanwhile, a receiving unit (not shown) receiving a signal output from the encoding device may be further configured as an internal/external element of the decoding device 300, or the receiving unit may be a component of the entropy decoding unit 310.
- a decoding device may be referred to as a video/video/picture decoding device, and the decoding device may be divided into an information decoder (video/video/picture information decoder) and a sample decoder (video/video/picture sample decoder).
- the information decoder may include the entropy decoding unit 310, and the sample decoder includes the inverse quantization unit 321, an inverse transform unit 322, an adder 340, a filtering unit 350, and a memory 360. ), at least one of an inter prediction unit 332 and an intra prediction unit 331.
- the inverse quantization unit 321 may inversely quantize the quantized transform coefficients and output transform coefficients.
- the inverse quantization unit 321 may rearrange the quantized transform coefficients in a 2D block form. In this case, the rearrangement may be performed based on a coefficient scanning order performed by the encoding device.
- the inverse quantization unit 321 may perform inverse quantization on quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
- a quantization parameter eg, quantization step size information
- a residual signal (residual block, residual sample array) is obtained by inverse transforming the transform coefficients.
- the predictor 320 may perform prediction on a current block and generate a predicted block including predicted samples of the current block.
- the prediction unit 320 may determine whether intra prediction or inter prediction is applied to the current block based on the information about the prediction output from the entropy decoding unit 310, and determine a specific intra/inter prediction mode.
- the prediction unit 320 may generate a prediction signal based on various prediction methods described later.
- the predictor 320 may apply intra-prediction or inter-prediction to predict one block, and may simultaneously apply intra-prediction and inter-prediction. This may be called a combined inter and intra prediction (CIIP) mode.
- the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for block prediction.
- IBC intra block copy
- the IBC prediction mode or the palette mode can be used for video/video coding of content such as games, such as screen content coding (SCC).
- SCC screen content coding
- IBC basically performs prediction within the current picture, but may be performed similarly to inter prediction in that a reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this specification.
- Palette mode can be viewed as an example of intra coding or intra prediction. When the palette mode is applied, information on a palette table and a palette index may be included in the video/
- the intra predictor 331 may predict a current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located apart from the current block by a predetermined distance according to a prediction mode.
- prediction modes may include one or more non-directional modes and a plurality of directional modes.
- the intra prediction unit 331 may determine a prediction mode applied to the current block by using a prediction mode applied to neighboring blocks.
- the inter-prediction unit 332 may derive a prediction block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on correlation of motion information between neighboring blocks and the current block.
- the motion information may include a motion vector and a reference picture index.
- the motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.).
- a neighboring block may include a spatial neighboring block present in the current picture and a temporal neighboring block present in the reference picture.
- the inter-prediction unit 332 may construct a motion information candidate list based on neighboring blocks and derive a motion vector and/or reference picture index of the current block based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the prediction-related information may include information indicating an inter prediction mode for the current block.
- the adder 340 adds the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter prediction unit 332 and/or the intra prediction unit 331) to obtain a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) can be created.
- a prediction block may be used as a reconstruction block.
- the adder 340 may be called a restoration unit or a restoration block generation unit.
- the generated reconstructed signal may be used for intra prediction of the next block to be processed in the current picture, output after filtering as described below, or may be used for inter prediction of the next picture. Meanwhile, luma mapping with chroma scaling (LMCS) may be applied in a picture decoding process.
- LMCS luma mapping with chroma scaling
- the filtering unit 350 may improve subjective/objective picture quality by applying filtering to the reconstructed signal.
- the filtering unit 350 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 360, specifically the DPB of the memory 360. can be sent to
- the various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, and the like.
- a (modified) reconstructed picture stored in the DPB of the memory 360 may be used as a reference picture in the inter prediction unit 332 .
- the memory 360 may store motion information of a block in the current picture from which motion information is derived (or decoded) and/or motion information of blocks in a previously reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 260 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 360 may store reconstructed samples of reconstructed blocks in the current picture and transfer them to the intra prediction unit 331 .
- the embodiments described in the filtering unit 260, the inter prediction unit 221, and the intra prediction unit 222 of the encoding device 200 are the filtering unit 350 and the inter prediction of the decoding device 300, respectively.
- the same or corresponding to the unit 332 and the intra predictor 331 may be applied.
- At least one of quantization/inverse quantization and/or transform/inverse transform may be omitted. If the quantization/inverse quantization is omitted, the quantized transform coefficient may be referred to as a transform coefficient. If the transform/inverse transform is omitted, the transform coefficients may be called coefficients or residual coefficients, or may still be called transform coefficients for unity of expression.
- quantized transform coefficients and transform coefficients may be referred to as transform coefficients and scaled transform coefficients, respectively.
- the residual information may include information on transform coefficient(s), and the information on the transform coefficient(s) may be signaled through residual coding syntax.
- Transform coefficients may be derived based on the residual information (or information about the transform coefficient(s)), and scaled transform coefficients may be derived through inverse transform (scaling) of the transform coefficients.
- Residual samples may be derived based on an inverse transform (transform) of the scaled transform coefficients. This may be applied/expressed in other parts of this document as well.
- the predicted block includes prediction samples in the spatial domain (or pixel domain).
- the predicted block is identically derived from an encoding device and a decoding device, and the encoding device decodes residual information (residual information) between the original block and the predicted block, rather than the original sample value itself of the original block.
- Video coding efficiency can be increased by signaling to the device.
- the decoding device may derive a residual block including residual samples based on the residual information, generate a reconstructed block including reconstructed samples by combining the residual block and the predicted block, and reconstruct the reconstructed blocks. It is possible to create a reconstruction picture that contains
- the residual information may be generated through transformation and quantization procedures.
- the encoding apparatus derives a residual block between the original block and the predicted block, and derives transform coefficients by performing a transform procedure on residual samples (residual sample array) included in the residual block. And, by performing a quantization procedure on the transform coefficients, quantized transform coefficients may be derived, and related residual information may be signaled to the decoding device (through a bitstream).
- the residual information may include information such as value information of the quantized transform coefficients, location information, transform technique, transform kernel, and quantization parameter.
- the decoding device may perform an inverse quantization/inverse transform procedure based on the residual information and derive residual samples (or residual blocks).
- the decoding device may generate a reconstructed picture based on the predicted block and the residual block.
- the encoding device may also derive a residual block by inverse quantizing/inverse transforming the quantized transform coefficients for reference for inter prediction of a later picture, and generate a reconstructed picture based on the residual block.
- FIG. 4 illustrates target boundaries and target pixels of a deblocking filter as an embodiment to which the present invention is applied.
- FIG. 4 is a diagram showing block boundaries 420 and 421 between two different blocks (P block and Q block), and the corresponding block boundary can be classified into a vertical boundary and a horizontal boundary.
- the Q block area refers to the area of the current target block where encoding and/or decoding is currently performed
- the P block area refers to a previously restored block that is spatially adjacent to the Q block.
- the P block and the Q block are pre-restored blocks
- the Q block may mean a region where deblocking filtering is currently performed
- the P block may mean a block spatially adjacent to the Q block.
- FIG. 4 is a diagram conceptually illustrating a P block region and a Q block region to which a deblocking filter is applied, and shows an embodiment of pixels located at a boundary between the P block and Q block to which a deblocking filter is applied. Therefore, the number of pixels to which the deblocking filter proposed in the present invention is applied (hereinafter, the number of target pixels) and the number of taps of the deblocking filter are not limited to those of FIG.
- the number of target pixels for each of the Q and Q blocks may be 1, 2, 3, 4, 5, 6, 7 or more.
- the number of target pixels of the P block may be the same as or different from the number of target pixels of the Q block.
- the number of target pixels in the P block may be 5, and the number of target pixels in the Q block may be 5.
- the number of target pixels in the P block may be 7 and the number of target pixels in the Q block may be 7.
- the number of target pixels in the P block may be 3 and the number of target pixels in the Q block may be 7.
- FIG. 4 An example in which a deblocking filter is applied to the first row 430 of the region of the Q block 400 is shown.
- three pixels (q0, q1, q2) adjacent to the boundary in the vertical direction are target pixels to which deblocking filtering is performed.
- the deblocking filter is applied to the first column 431 of the Q block 401 area among the embodiments of the horizontal boundary shown in FIG. 4, four pixels (q0) belonging to the first column are likewise , q1, q2, q3), three pixels (q0, q1, q2) adjacent to the boundary in the horizontal direction are target pixels to which deblocking filtering is performed.
- filtering may be performed by referring to a pixel value of another pixel value (eg, q3) belonging to the first row or column other than the target pixel to which deblocking filtering is performed.
- filtering may be performed by referring to pixel values of rows or columns adjacent to the first row or column.
- the neighboring row or column may belong to the current target block or may belong to blocks spatially adjacent to the current target block (eg, left/right, top/bottom).
- the position of the spatial neighboring block may be adaptively determined in consideration of the filtering direction (or boundary direction).
- filtering strength, filter coefficients, the number of filter coefficients, filtering direction, etc. may be adaptively determined. The foregoing embodiment may be equally/similarly applied to embodiments to be described later.
- FIG. 4 shows an example in which a deblocking filter is applied to the Q block region, a first row 430 and a first column 431 are representatively shown, and subsequent rows including the first row belong to the Q block region. (second row, third row, etc.) and subsequent columns (second column, third column, etc.) belonging to the Q block area including the first column, the same deblocking filter is performed.
- the P block area means a block area spatially adjacent to a vertical boundary or a horizontal boundary of a current target block on which encoding and/or decoding is currently performed, and an embodiment of the vertical boundary shown in FIG. 4 Among them, an example in which a deblocking filter is applied to the first row 430 of the P block 410 region is shown.
- three pixels (p0, p1, and p2) adjacent to the boundary in the vertical direction are target pixels to which deblocking filtering is performed.
- the deblocking filter is applied to the first column 431 of the P block 411 region among the horizontal boundaries shown in FIG. 4, four pixels p0 belonging to the first column are similarly applied. , p1, p2, p3), three pixels (p0, p1, p2) adjacent to the boundary in the horizontal direction are target pixels to which deblocking filtering is performed.
- the filtering may be performed by referring to the pixel value of p3, which is not the target pixel on which the deblocking filtering is performed.
- FIG. 4 shows an example in which a deblocking filter is applied to a P block region, and a first row 430 and a first column 431 are representatively shown, and subsequent rows including the first row belonging to the P block region are representatively shown. (second row, third row, etc.) and subsequent columns (second column, third column, etc.) belonging to the P block area including the first column, the same deblocking filter is performed.
- FIG. 5 illustrates an image decoding method performed by a decoding apparatus according to an embodiment of the present disclosure.
- a deblocking filtering process may be applied to a reconstructed picture.
- the deblocking filtering process may be performed for each coding unit (or transform unit) of the reconstructed picture in the same order as the decoding process.
- a block boundary to which deblocking filtering is applied may be referred to as an edge.
- filtering on horizontal edges vertical filtering
- the deblocking filtering process can be applied to all coding block (or sub-block) edges and transform block edges of a picture.
- the output of the deblocking filtering process may be a modified reconstruction picture (or a modified reconstruction sample/sample array).
- the decoding device may determine a filtering target boundary within a reconstructed picture (S500). In other words, the decoding device may derive a target boundary for filtering by dividing the reconstructed picture.
- a reconstructed picture may be partitioned into a predetermined NxM pixel grid (sample grid).
- the NxM pixel grid may mean a unit in which deblocking filtering is performed.
- N and M may be 4, 8, 16 or more integers.
- a pixel grid may be defined for each component type. For example, N and M may be set to 4 when the component type is a luminance component, and N and M may be set to 8 when the component type is a chrominance component. Regardless of the component type, a fixed size NxM pixel grid may be used.
- An edge is a block boundary located on the NxM pixel grid, and may include at least one of a coding block boundary, a transform block boundary, a prediction block boundary, or a sub-block boundary.
- the decoding device may determine whether or not to perform filtering on the target boundary based on predefined encoding information prior to step S510 below.
- the decoding device may derive boundary strength (BS) for the target boundary (S510).
- the BS may be derived (or determined) based on two blocks adjacent to the target boundary.
- BS may be derived based on Table 1 below.
- p and q represent two blocks of samples adjacent to the target boundary.
- p0 may represent a sample of the left or upper block adjacent to the target boundary
- q0 may represent a sample of the right or lower block adjacent to the target boundary.
- the edge direction of the target boundary is vertical
- p0 may represent a sample of a left block adjacent to the target boundary
- q0 may represent a sample of a right block adjacent to the target boundary.
- the edge direction of the target boundary is horizontal
- p0 may represent a sample of an upper block adjacent to the target boundary
- q0 may represent a sample of a lower block adjacent to the target boundary.
- a variable gridSize indicating a grid size may be determined according to color components.
- variables for determining the BS may be derived based on the gridSize value.
- the BS may be derived based on various predefined conditions.
- the predefined condition is whether BDPCM (Block Differential Pulse Coded Modulation) is applied to the block including p0 or q0, the prediction mode (intra prediction, inter prediction) of the block including p0 or q0. , CIIP prediction, IBC prediction, etc.), whether or not the block includes a nonzero transform coefficient, a reference picture of the block, and a condition related to at least one of the motion vector of the block.
- BDPCM Block Differential Pulse Coded Modulation
- Table 1 is an example, and the embodiments of the present disclosure are not limited thereto.
- some of the conditions included in Table 1 may not be considered, and conditions other than those included in Table 1 may be additionally considered.
- a BS for a target boundary may be derived based on whether at least one block among blocks adjacent to the target boundary is coded by partition combining prediction.
- partition combined prediction may indicate a mode in which prediction is performed by combining the first prediction block of the first partition and the second prediction block of the second partition.
- the current block may be divided into a plurality of partitions, and a final prediction block may be generated based on a combination (or weighted sum) of prediction blocks of the divided partitions.
- the first prediction block and the second prediction block may be prediction blocks in which different predictions are performed.
- one of the first prediction block and the second prediction block may be a prediction block on which intra prediction is performed, and the other may be a prediction block on which inter prediction is performed.
- one of the first prediction block and the second prediction block may be a prediction block on which intra prediction is performed, and the other may be a prediction block on which intra block copy (IBC) prediction is performed.
- IBC intra block copy
- one of the first prediction block and the second prediction block may be a prediction block on which inter prediction is performed, and the other may be a prediction block on which IBC prediction is performed.
- first prediction block and the second prediction block may be prediction blocks in which the same prediction is performed.
- Both the first prediction block and the second prediction block may be prediction blocks on which intra prediction is performed, or both may be prediction blocks on which inter prediction is performed, or both may be prediction blocks on which IBC prediction is performed. .
- the partition combining prediction of the present disclosure is not limited to its name.
- the partition combining prediction is referred to as Geometric Partition Mode (GPM) prediction, GPM intra blending prediction, GPM intra prediction, GPM intra combining prediction, GPM combining prediction, GPM inter/intra combining prediction, geometric partitioning intra blending prediction, etc. It can be.
- GPM Geometric Partition Mode
- Partition joint prediction will be described later in detail with reference to FIG. 7 .
- An embodiment of determining a BS based on whether at least one block among blocks adjacent to a target boundary is coded by partition joint prediction will be described later in detail with reference to FIGS. 8 to 16 .
- the decoding device may perform filtering based on BS (S520). As an example, when the BS value is 0, filtering may not be applied to the target boundary. Filtering may also be performed based on filter strength (strong/weak) and/or filter length.
- FIG. 6 is a diagram for explaining a method for determining filter strength according to an embodiment of the present disclosure.
- the filter strength of the deblocking filter may be determined (or controlled) based on a variable derived from a quantization parameter.
- the filter strength of the deblocking filter may be determined based on samples in blocks adjacent to the target boundary shown in FIG. 6 .
- the filter strength of the deblocking filter may be determined based on the offset determined according to the luma level of the reconstructed sample.
- the luma level of the reconstructed sample may be calculated using Equation 1 below.
- samples p and q may be as shown in FIG. 6 .
- FIG. 7 is a diagram for explaining a GPM intra prediction method according to an embodiment of the present invention.
- a prediction block may be generated based on a prediction block of a geometric partitioned partition.
- a final prediction block may be generated by combining or weighting the prediction blocks of the partitions.
- the final prediction block may be referred to as a GPM prediction block or a GPM intra prediction block.
- prediction information may be signaled as shown in the syntax of Table 2 below.
- the angle and distance of GPM partitioning may be indicated based on the merge_gpm_partition_idx syntax element. In one embodiment, the angle and distance of GPM partitioning may be determined according to merge_gpm_partition_idx using Table 3.
- Prediction blocks may be individually generated based on prediction information of each partition subjected to GPM partitioning.
- GPM intra prediction as shown in FIG. 7 , final prediction samples may be generated by combining intra predictors (or intra prediction samples) of the first partition and inter predictors of the second partition.
- the final prediction sample may be generated by combining the inter predictor of the first partition and the intra predictor of the second partition.
- FIG. 8 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- the decoding device may determine (or derive) a boundary strength of a target boundary based on whether a block adjacent to the target boundary is coded by GPM intra prediction. That is, an embodiment of the present disclosure proposes a method of determining boundary strength of a target boundary block by block in order to apply deblocking filtering to a block decoded by the GPM prediction method using an intra block.
- the existing GPM prediction method combines (or weights) two prediction blocks generated by inter prediction, but the two prediction blocks are based on the distance and angle derived from information signaled from the bitstream
- the GPM intra-prediction method combines (or weights) a prediction block generated by inter-prediction and a prediction block generated by intra-prediction, but the inter/intra prediction block is a bitstream
- This method is an inter/intra prediction block of partitions divided based on distances and angles derived from information signaled from .
- an embodiment of the present disclosure proposes a deblocking filtering method for a prediction block encoded/decoded by the GPM intra prediction method.
- the embodiment of FIG. 8 may be included in step S510 of FIG. 5 described above.
- the boundary strength may be derived as an arbitrary predetermined value.
- the decoding device may check whether at least one of the two blocks on both sides of the target boundary is a block coded by GPM intra prediction (S800).
- a block coded by GPM intra prediction may be referred to as a GPM intra block, a GPM intra prediction block, a partition combining block, a partition combining prediction block, or the like.
- the decoding device may determine the boundary strength as N (S810).
- N may be a predefined value.
- the N may be defined as 2.
- the N may be defined as 2 or 3. It is not limited thereto, and N may have a predefined specific value.
- the decoding device may determine the boundary strength according to a predefined boundary strength determination process (S820).
- a predefined boundary strength determination process S820.
- the embodiment described above in FIG. 5 and/or Table 1 may be applied as the boundary strength determination process.
- FIG. 9 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- the boundary strength is induced to a predetermined value;
- GPM intra prediction is applied only to one of the blocks on both sides adjacent to the block boundary to be filtered, another arbitrarily determined value may be derived.
- the embodiment of FIG. 9 may be included in step S510 of FIG. 5 described above.
- the decoding device may check whether both blocks on both sides of the target boundary are GPM intra blocks (S900).
- the decoding device may determine the boundary strength as N (S910).
- N may be a predefined value.
- the N may be defined as 2.
- the N may be defined as 2 or 3. It is not limited thereto, and N may have a predefined specific value.
- the decoding device may check whether one of the two blocks on both sides of the target boundary is a GPM intra block (S920).
- the decoding device may determine the boundary strength as M (S930).
- M may be a predefined value.
- the M may be defined as 1. That is, N may be 2 and M may be 1.
- the M may be defined as 1 or 2.
- M may have a specific predefined value smaller than (or smaller than or equal to) N.
- the decoding device may determine the boundary strength according to a predefined boundary strength determination process (S940).
- a predefined boundary strength determination process S940
- the embodiment described above in FIG. 5 and/or Table 1 may be applied as the boundary strength determination process.
- FIG. 10 is a diagram illustrating a GPM division direction to which an embodiment of the present disclosure may be applied.
- GPM partitioning may be performed in a direction (or angle) as shown in FIG. 10 .
- GPM may be applied based on distance and angle.
- the direction shown in FIG. 10 may correspond to angleIdx of Table 3 described above.
- the GPM-based prediction method performs blending of two prediction blocks based on an angle and a distance.
- the blending may represent a combination or a weighted sum. Since prediction blocks are divided according to angles and distances and blended, a block adjacent to a target boundary for deblocking filtering may be a block on which intra prediction has been performed or a block on which inter prediction has been performed. According to an embodiment proposed in the present disclosure, by determining boundary strength in consideration of these points, it is possible to increase subjective image quality and improve compression performance.
- boundary strength determination it is checked whether the current block adjacent to the filtering target boundary is coded in intra prediction mode or inter prediction mode, but among inter prediction modes, CIIP (combined inter prediction), but when blending is performed based on an intra prediction block, the boundary strength of the current block may be set to be the same as the intra prediction mode.
- CIIP combined inter prediction
- a target boundary for calculating boundary strength according to distance or angle may be an intra prediction block or an inter prediction block. Accordingly, subjective picture quality can be improved by adaptively inducing boundary strengths in consideration of partition boundaries rather than equally (or uniformly) setting boundary strengths for all blocks to which GPM intra prediction is applied. Description will be made with reference to the following drawings.
- 11 and 12 are diagrams illustrating a method for determining boundary strength of a target boundary according to an embodiment of the present disclosure.
- FIG. 11 assumes that the edge is in a vertical direction
- FIG. 12 assumes that the edge is in a horizontal direction.
- the left block of the vertical edge 1100 in FIG. 11 is a GPM intra block
- the lower block of the horizontal edge 1200 in FIG. 12 is a GPM intra block.
- adjacent areas of the target boundaries numbered 1 to 8 in FIGS. 11 and 12 represent units divided into units for calculating the boundary strength.
- a unit for calculating the boundary strength may be set to a predefined specific value.
- the specific value may be defined as a unit for storing motion information or a minimum coded block size.
- the unit for calculating the boundary strength is a 4-sample unit.
- blocks 1 to 6 represent inter-predicted regions
- blocks 7 and 8 represent intra-predicted regions.
- it is effective to apply an inter-prediction boundary processing method to blocks 1 through 6, and it may be effective to apply a method of processing an intra-prediction boundary to blocks 7 and 8.
- a block adjacent to the filtering target boundary based on the GPM partitioning boundary is classified as an inter-prediction or intra-prediction coded block, and the boundary strength of the target boundary may be determined accordingly.
- the embodiment previously described in FIG. 5 and/or Table 1 may be applied.
- blocks 1 to 5 are processed as a case where blocks adjacent to the target boundary are intra-predicted blocks, and blocks 7 and 8 are processed as blocks adjacent to the target boundary are inter-predicted blocks.
- block 6 may be classified as another third case to determine the boundary strength. That is, a process for determining boundary strength may be separately defined only for block 6.
- FIG. 12 a case in which the boundary strength determination process for the horizontal edge 1200 of a block to which GPM is applied is applied as in FIG. 11 is shown.
- the horizontal edge 1200 may not be adjacent to the boundary in the area where intra prediction is used depending on the angle and direction of the GPM.
- processing to have the same boundary strength in units of blocks based on whether they are GPM intra-prediction blocks may result in a decrease in filtering efficiency.
- the boundary strength it may be considered whether the GPM partition boundary touches the target boundary.
- whether a block adjacent to the target boundary is an intra-predicted block or an inter-predicted block may be considered as a boundary strength determination unit.
- the boundary strength may be derived based on whether a block adjacent to the target boundary is an intra-predicted block or an inter-predicted block as a boundary strength determination unit.
- a boundary strength may be determined based on whether the
- FIG. 13 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- boundary strength may be determined using stored prediction information for a block to which GPM is applied.
- the prediction information may be included or stored in a buffer, memory, list, table, or the like.
- the decoding device may calculate boundary strength based on prediction information stored in the buffer, that is, whether intra prediction or inter prediction is used. Also, the decoding device may calculate boundary strength in units of sub-blocks for blocks to which GPM is applied.
- the decoding device may initialize a sub-block index and start a boundary strength determination process in units of sub-blocks (S1300).
- the number of sub-blocks may be determined by dividing by a boundary strength determination unit according to whether the sub-block is a horizontal edge or a vertical edge.
- the boundary strength determination unit may be set to a specific predefined value.
- the specific value may be defined as a unit for storing motion information or a minimum coded block size.
- the boundary strength determination unit may be a 4-sample unit.
- the decoding device may perform a boundary strength determination process in units of sub-blocks as many as the number of sub-blocks while increasing index values in an ascending order (S1310).
- the decoding device may check whether prediction information (or motion information) stored for at least one sub-block among sub-blocks on both sides of the target boundary includes intra-prediction information (S1320).
- MotionInfo[] represents a buffer storing prediction information (or motion information) of a designated position.
- P represents a pixel located to the left of the target boundary when the target boundary to be filtered is a vertical edge, and represents a pixel located above the target boundary when the target boundary is a horizontal edge.
- Q represents a pixel located to the right of the target boundary when the target boundary to be filtered is a vertical edge, and represents a pixel located below the target boundary when the target boundary is a horizontal edge.
- the decoding device may determine the boundary strength as N (S1330).
- N may be a predefined value.
- the N may be defined as 2.
- the N may be defined as 2 or 3. It is not limited thereto, and N may have a predefined specific value.
- the decoding device may determine boundary strength according to a predefined boundary strength determination process (S1340).
- a predefined boundary strength determination process S1340
- the embodiment described above in FIG. 5 and/or Table 1 may be applied as the boundary strength determination process. 15 and 16 below, an embodiment of determining the boundary strength in units of sub-blocks will be further described.
- FIG. 14 is a flowchart illustrating a method for determining boundary strength according to an embodiment of the present disclosure.
- the decoding device may initialize a sub-block index and start a process of determining boundary strength in units of sub-blocks (S1400).
- the number of sub-blocks may be determined by dividing by a boundary strength determination unit according to whether the sub-block is a horizontal edge or a vertical edge.
- the boundary strength determination unit may be set to a specific predefined value.
- the specific value may be defined as a unit for storing motion information or a minimum coded block size.
- the boundary strength determination unit may be a 4-sample unit.
- the decoding device may perform a boundary strength determination process in units of sub-blocks as many as the number of sub-blocks while increasing index values in an ascending order (S1410).
- the decoding device may check whether prediction information (or motion information) stored for sub-blocks on both sides of the target boundary includes intra prediction information (S1420).
- MotionInfo[] represents a buffer storing prediction information (or motion information) of a designated position.
- P represents a pixel located to the left of the target boundary when the target boundary to be filtered is a vertical edge, and represents a pixel located above the target boundary when the target boundary is a horizontal edge.
- Q represents a pixel located to the right of the target boundary when the target boundary to be filtered is a vertical edge, and represents a pixel located below the target boundary when the target boundary is a horizontal edge.
- the decoding device may determine the boundary strength as N (S1430).
- N may be a predefined value.
- possible boundary strengths are 0, 1, and 2
- the N may be defined as 2.
- possible boundary strengths are 0, 1, 2, and 3, the N may be defined as 2 or 3. It is not limited thereto, and N may have a predefined specific value.
- the decoding device predicts the stored prediction information for one of the sub-blocks on both sides of the target boundary based on the target boundary. It may be checked whether the information includes intra prediction information (S1440).
- the decoding device may determine the boundary strength as M (S1450).
- M may be a predefined value.
- the M may be defined as 1. That is, N may be 2 and M may be 1.
- the M may be defined as 1 or 2.
- M may have a specific predefined value smaller than (or smaller than or equal to) N.
- the decoding device may determine the boundary strength according to a predefined boundary strength determination process (S1460).
- a predefined boundary strength determination process S1460.
- the embodiment described above in FIG. 5 and/or Table 1 may be applied as the boundary strength determination process.
- the motion vector storage described above with reference to FIGS. 13 and 14 is a buffer for storing information of a block coded in an inter prediction mode, and may be different from a buffer for storing intra prediction mode information.
- an intra prediction mode may be stored for a GPM intra block.
- 15 is a diagram for explaining a method of determining boundary strength in units of sub-blocks according to an embodiment of the present disclosure.
- the unit for determining the boundary strength is a variable gridSize representing a predefined grid size for each component and a sub-unit. It can be derived in units of size.
- the decoding device may determine a unit for deriving boundary strength as shown in FIG. 15 .
- gridSize meaning a grid size may be defined as a unit for detecting a vertical boundary to be filtered.
- the deriving unit for dividing the filtered vertical edge into sub-block (or sub-unit) units is the value of (j ⁇ 2) or (j ⁇ 1) in the process of deriving the value of yDj. indicates
- the size of a sub-block (unit) for a luma component may be set to 4 pixels
- the size of a sub-block (unit) for a chroma component may be set to 2 pixels.
- 16 is a diagram for explaining a method of determining boundary strength in units of sub-blocks according to an embodiment of the present disclosure.
- 16 is a diagram for explaining a problem in calculating boundary strength in units of predefined sub-blocks without considering regions divided based on GPM angles and distances. Considering the GPM angle and distance, one coding block can be divided into two regions, and in this case, the boundary dividing the two regions cannot be accurately derived in units of predefined sub-units.
- a sub-block unit may be adaptively derived in order to more efficiently consider a region divided based on a GPM angle and distance.
- the size of a sub-block may be adaptively determined as shown in Table 4 below.
- N and M may be predefined.
- N may have values of 1, 2, 4, 8, and 16, respectively.
- M may have a value of 1, 2, 4, 8, or 16, respectively.
- the filtering unit may also be defined to be performed in an adaptive unit. there is. In other words, filtering may be performed in consideration of the boundary strength derivation unit.
- a variable subUnitGrid representing a unit of a sub-unit (or sub-block) may be defined.
- the embodiment described in Table 1 above can be applied in substantially the same way, and redundant descriptions in relation to it will be omitted.
- FIG. 17 illustrates a schematic configuration of a filtering unit performing an image decoding method according to an embodiment of the present disclosure.
- the filtering unit 350 may include a target boundary determination unit 1700, a BS derivation unit 1710, and a filtering unit 1720.
- the target boundary determiner 1700 may determine a filtering target boundary within a reconstructed picture. In other words, the target boundary determiner 1700 may derive a target boundary for filtering by dividing the reconstructed picture.
- a reconstructed picture may be partitioned into a predetermined N ⁇ M pixel grid (sample grid).
- the NxM pixel grid may mean a unit in which deblocking filtering is performed.
- N and M may be 4, 8, 16 or more integers.
- a pixel grid may be defined for each component type. For example, N and M may be set to 4 when the component type is a luminance component, and N and M may be set to 8 when the component type is a chrominance component. Regardless of the component type, a fixed size NxM pixel grid may be used.
- the edge is a block boundary located on the NxM pixel grid and may include at least one of a coding block boundary, a transform block boundary, a prediction block boundary, or a sub-block boundary.
- the decoding device may determine whether or not to perform filtering on the target boundary based on predefined encoding information prior to deriving the following BS.
- the BS derivation unit 1710 may derive a boundary strength (BS) for a target boundary.
- the BS may be derived (or determined) based on two blocks adjacent to the target boundary.
- the BS may be determined based on whether at least one block among blocks adjacent to the target boundary is coded by partition joint prediction. In deriving the BS, the method described above with reference to FIGS. 8 to 16 may be applied.
- the filtering unit 1720 may perform filtering based on BS. As an example, when the BS value is 0, filtering may not be applied to the target boundary. Filtering may also be performed based on filter strength (strong/weak) and/or filter length.
- FIG. 18 illustrates a video encoding method performed by an encoding apparatus according to an embodiment of the present disclosure.
- the video decoding method discussed above with reference to FIGS. 5 to 16 may be equally/similarly applied to the video encoding method according to the present disclosure, and redundant descriptions will be omitted.
- an encoding device ie, an encoder may determine a filtering target boundary within a reconstructed picture (S1800). In other words, the encoding device may derive a target boundary for filtering by dividing the reconstructed picture.
- a reconstructed picture may be partitioned into a predetermined N ⁇ M pixel grid (sample grid).
- the NxM pixel grid may mean a unit in which deblocking filtering is performed.
- N and M may be 4, 8, 16 or more integers.
- a pixel grid may be defined for each component type. For example, N and M may be set to 4 when the component type is a luminance component, and N and M may be set to 8 when the component type is a chrominance component. Regardless of the component type, a fixed size NxM pixel grid may be used.
- the edge is a block boundary located on the NxM pixel grid and may include at least one of a coding block boundary, a transform block boundary, a prediction block boundary, or a sub-block boundary.
- the encoding device may determine whether or not to perform filtering on the target boundary based on predefined encoding information prior to step S1810 below.
- the encoding device may derive boundary strength (BS) for the target boundary (S1810).
- the BS may be derived (or determined) based on two blocks adjacent to the target boundary.
- the BS may be determined based on whether at least one block among blocks adjacent to the target boundary is coded by partition joint prediction. In deriving the BS, the method described above with reference to FIGS. 8 to 16 may be equally applied.
- the encoding device may perform filtering based on the BS (S1820). As an example, when the BS value is 0, filtering may not be applied to the target boundary. Filtering may also be performed based on filter strength (strong/weak) and/or filter length.
- FIG. 19 illustrates a schematic configuration of a filtering unit performing a video encoding method according to an embodiment of the present disclosure.
- the filtering unit 260 may include a target boundary determination unit 1900, a BS derivation unit 1910, and a filtering unit 1920.
- the target boundary determiner 1900 may determine a filtering target boundary within a reconstructed picture. In other words, the target boundary determiner 1900 may derive a target boundary for filtering by dividing the reconstructed picture.
- a reconstructed picture may be partitioned into a predetermined N ⁇ M pixel grid (sample grid).
- the NxM pixel grid may mean a unit in which deblocking filtering is performed.
- N and M may be 4, 8, 16 or more integers.
- a pixel grid may be defined for each component type. For example, N and M may be set to 4 when the component type is a luminance component, and N and M may be set to 8 when the component type is a chrominance component. Regardless of the component type, a fixed size NxM pixel grid may be used.
- the edge is a block boundary located on the NxM pixel grid and may include at least one of a coding block boundary, a transform block boundary, a prediction block boundary, or a sub-block boundary.
- the decoding device may determine whether or not to perform filtering on the target boundary based on predefined encoding information prior to deriving the following BS.
- the BS derivation unit 1910 may derive a boundary strength (BS) for a target boundary.
- the BS may be derived (or determined) based on two blocks adjacent to the target boundary.
- the BS may be determined based on whether at least one block among blocks adjacent to the target boundary is coded by partition joint prediction. In deriving the BS, the method described above with reference to FIGS. 8 to 16 may be applied.
- the filtering unit 1920 may perform filtering based on BS. As an example, when the BS value is 0, filtering may not be applied to the target boundary. Filtering may also be performed based on filter strength (strong/weak) and/or filter length.
- the above-described method according to the embodiments of this document may be implemented in the form of software, and the encoding device and/or decoding device according to this document may be used to display images of, for example, a TV, computer, smartphone, set-top box, display device, etc. It can be included in the device that performs the processing.
- a module can be stored in memory and executed by a processor.
- the memory may be internal or external to the processor and may be coupled with the processor in a variety of well-known means.
- a processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and/or data processing devices.
- Memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. That is, the embodiments described in this document may be implemented and performed on a processor, microprocessor, controller, or chip. For example, functional units shown in each drawing may be implemented and performed on a computer, processor, microprocessor, controller, or chip. In this case, information for implementation (eg, information on instructions) or an algorithm may be stored in a digital storage medium.
- a decoding device and an encoding device to which the embodiment(s) of the present specification are applied may be used in a multimedia broadcasting transceiving device, a mobile communication terminal, a home cinema video device, a digital cinema video device, a surveillance camera, a video conversation device, and a video communication device.
- Real-time communication device mobile streaming device, storage medium, camcorder, video-on-demand (VoD) service providing device, OTT video (Over the top video) device, Internet streaming service providing device, 3D (3D) video device, VR (virtual reality) ) device, AR (argumente reality) device, video phone video device, transportation terminal (ex.
- OTT video devices may include game consoles, Blu-ray players, Internet-connected TVs, home theater systems, smart phones, tablet PCs, digital video recorders (DVRs), and the like.
- the processing method to which the embodiment (s) of the present specification is applied may be produced in the form of a program executed by a computer and stored in a computer-readable recording medium.
- Multimedia data having a data structure according to the embodiment(s) of the present specification may also be stored in a computer-readable recording medium.
- the computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored.
- the computer-readable recording medium includes, for example, Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical A data storage device may be included.
- the computer-readable recording medium includes media implemented in the form of a carrier wave (eg, transmission through the Internet).
- the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
- embodiment(s) of the present specification may be implemented as a computer program product using program codes, and the program code may be executed on a computer by the embodiment(s) of the present specification.
- the program code may be stored on a carrier readable by a computer.
- FIG. 20 shows an example of a content streaming system to which embodiments of the present disclosure may be applied.
- a content streaming system to which the embodiment(s) of the present specification is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
- the encoding server compresses content input from multimedia input devices such as smart phones, cameras, camcorders, etc. into digital data to generate a bitstream and transmits it to the streaming server.
- multimedia input devices such as smart phones, cameras, and camcorders directly generate bitstreams
- the encoding server may be omitted.
- the bitstream may be generated by an encoding method or a bitstream generation method to which the embodiment(s) of the present specification is applied, and the streaming server temporarily stores the bitstream in a process of transmitting or receiving the bitstream.
- the streaming server transmits multimedia data to a user device based on a user request through a web server, and the web server serves as a medium informing a user of what kind of service is available.
- the web server transmits the request to the streaming server, and the streaming server transmits multimedia data to the user.
- the content streaming system may include a separate control server, and in this case, the control server serves to control commands/responses between devices in the content streaming system.
- the streaming server may receive content from a media storage and/or encoding server. For example, when content is received from the encoding server, the content can be received in real time. In this case, in order to provide smooth streaming service, the streaming server may store the bitstream for a certain period of time.
- Examples of the user devices include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, Tablet PC, ultrabook, wearable device (e.g., smartwatch, smart glass, HMD (head mounted display)), digital TV, desktop There may be computers, digital signage, and the like.
- PDAs personal digital assistants
- PMPs portable multimedia players
- navigation devices slate PCs
- Tablet PC ultrabook
- wearable device e.g., smartwatch, smart glass, HMD (head mounted display)
- digital TV desktop There may be computers, digital signage, and the like.
- Each server in the content streaming system may be operated as a distributed server, and in this case, data received from each server may be distributed and processed.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims (13)
- 복원 픽쳐를 분할함으로써 필터링을 위한 타겟 경계를 결정하는 단계;상기 타겟 경계에 인접한 블록 중 적어도 하나의 블록이 파티션 결합 예측에 의해 코딩되었는지 여부에 기초하여 상기 타겟 경계에 대한 경계 강도를 유도하는 단계로서, 여기서, 상기 파티션 결합 예측은 제1 파티션의 제1 예측 블록 및 제2 파티션의 제2 예측 블록을 결합하여 예측을 수행하는 모드를 나타냄; 및상기 경계 강도에 기초하여 상기 타겟 경계에 대한 필터링을 수행하는 단계를 포함하는, 영상 디코딩 방법.
- 제1항에 있어서,상기 제1 예측 블록 및 상기 제2 예측 블록은 서로 다른 예측이 수행된 예측 블록인, 영상 디코딩 방법.
- 제2항에 있어서,상기 제1 예측 블록 및 상기 제2 예측 블록 중 하나는 인트라 예측이 수행된 예측 블록이고, 다른 하나는 인터 예측이 수행된 예측 블록인, 영상 디코딩 방법.
- 제1항에 있어서,상기 제1 예측 블록 및 상기 제2 예측 블록은 서로 동일한 예측이 수행된 예측 블록인, 영상 디코딩 방법.
- 제1항에 있어서,상기 타겟 경계에 인접한 블록 중 적어도 하나의 블록이 상기 파티션 결합 예측에 의해 코딩된 경우, 상기 경계 강도는 미리 결정된 제1 값으로 유도되는, 영상 디코딩 방법.
- 제1항에 있어서,상기 타겟 경계에 인접한 블록이 모두 상기 파티션 결합 예측에 의해 코딩된 경우, 상기 경계 강도는 미리 결정된 제2 값으로 유도되고,상기 타겟 경계에 인접한 블록 중 하나의 블록만 상기 파티션 결합 예측에 의해 코딩된 경우, 상기 경계 강도는 미리 결정된 제3 값으로 유도되는, 영상 디코딩 방법.
- 제1항에 있어서,상기 경계 강도를 유도하는 단계는,상기 타겟 경계에 인접한 블록 중 현재 블록이 상기 파티션 결합 예측에 의해 코딩되었는지 여부를 결정하는 단계를 포함하는, 영상 디코딩 방법.
- 제7항에 있어서,상기 현재 블록이 상기 파티션 결합 예측에 의해 코딩되었는지 여부는 상기 현재 블록에 대하여 저장된 모션 벡터에 기초하여 결정되는, 영상 디코딩 방법.
- 제1항에 있어서,상기 타겟 경계에 인접한 블록의 너비 및 높이는 코딩 정보에 기초하여 적응적으로 결정되는, 영상 디코딩 방법.
- 제9항에 있어서,상기 코딩 정보는 상기 타겟 경계에 인접한 블록의 크기, 미리 결정된 그리드(grid)의 크기, 상기 파티션 결합 예측을 위한 파티션 분할 각도 또는 상기 파티션 결합 예측을 위한 파티션 분할 거리 중 적어도 하나를 포함하는, 영상 디코딩 방법.
- 복원 픽쳐를 분할함으로써 필터링을 위한 타겟 경계를 결정하는 단계;상기 타겟 경계에 인접한 블록 중 적어도 하나의 블록이 파티션 결합 예측에 의해 코딩되었는지 여부에 기초하여 상기 타겟 경계에 대한 경계 강도를 유도하는 단계로서, 여기서, 상기 파티션 결합 예측은 제1 파티션의 제1 예측 블록 및 제2 파티션의 제2 예측 블록을 결합하여 예측을 수행하는 모드를 나타냄; 및상기 경계 강도에 기초하여 상기 타겟 경계에 대한 필터링을 수행하는 단계를 포함하는, 영상 인코딩 방법.
- 제11항에 따른 영상 인코딩 방법에 의해 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 저장 매체.
- 복원 픽쳐를 분할함으로써 필터링을 위한 타겟 경계를 결정하는 단계;상기 타겟 경계에 인접한 블록 중 적어도 하나의 블록이 파티션 결합 예측에 의해 코딩되었는지 여부에 기초하여 상기 타겟 경계에 대한 경계 강도를 유도하는 단계로서, 여기서, 상기 파티션 결합 예측은 제1 파티션의 제1 예측 블록 및 제2 파티션의 제2 예측 블록을 결합하여 예측을 수행하는 모드를 나타냄;상기 경계 강도에 기초하여 상기 타겟 경계에 대한 필터링을 수행하는 단계;상기 필터링된 복원 픽쳐에 기초하여 현재 블록을 부호화함으로써 비트스트림을 생성하는 단계; 및상기 비트스트림을 포함한 데이터를 전송하는 단계를 포함하는, 영상 정보에 대한 데이터 전송 방법.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22904591.9A EP4447455A4 (en) | 2021-12-06 | 2022-12-05 | METHOD AND DEVICE FOR IMAGE ENCODING AND DECODING AND RECORDING MEDIUM IN WHICH A BINARY STREAM IS STORED |
| US18/716,867 US20250039432A1 (en) | 2021-12-06 | 2022-12-05 | Image encoding/decoding method and device, and recording medium having bitstream stored therein |
| CN202280080390.0A CN118355664A (zh) | 2021-12-06 | 2022-12-05 | 图像编码/解码方法和设备以及其中存储比特流的记录介质 |
| KR1020247015896A KR20240121215A (ko) | 2021-12-06 | 2022-12-05 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2021-0173189 | 2021-12-06 | ||
| KR20210173189 | 2021-12-06 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023106761A1 true WO2023106761A1 (ko) | 2023-06-15 |
Family
ID=86730875
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2022/019607 Ceased WO2023106761A1 (ko) | 2021-12-06 | 2022-12-05 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20250039432A1 (ko) |
| EP (1) | EP4447455A4 (ko) |
| KR (1) | KR20240121215A (ko) |
| CN (1) | CN118355664A (ko) |
| WO (1) | WO2023106761A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210027252A (ko) * | 2018-07-30 | 2021-03-10 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
| KR20210099008A (ko) * | 2018-12-11 | 2021-08-11 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 이미지를 디블록킹하기 위한 방법 및 장치 |
| KR20210107889A (ko) * | 2019-01-25 | 2021-09-01 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인코더, 디코더 및 디블로킹 필터 적응 방법 |
| KR20210110786A (ko) * | 2010-05-07 | 2021-09-09 | 한국전자통신연구원 | 영상 부호화 및 복호화 장치 및 그 방법 |
| KR20210118219A (ko) * | 2011-11-04 | 2021-09-29 | 엘지전자 주식회사 | 영상 정보 인코딩/디코딩 방법 및 장치 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9807424B2 (en) * | 2011-01-10 | 2017-10-31 | Qualcomm Incorporated | Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation |
| WO2016137149A1 (ko) * | 2015-02-24 | 2016-09-01 | 엘지전자(주) | 폴리곤 유닛 기반 영상 처리 방법 및 이를 위한 장치 |
| CN113056914B (zh) * | 2018-11-20 | 2024-03-01 | 北京字节跳动网络技术有限公司 | 基于部分位置的差计算 |
| CA3148076C (en) * | 2019-07-19 | 2024-10-15 | Nokia Technologies Oy | METHOD AND DEVICE FOR IMAGE ENCODING/DECODING USING FILTERING, AND METHOD FOR TRANSMITTING BINARY STREAMS |
| US11570434B2 (en) * | 2019-08-23 | 2023-01-31 | Qualcomm Incorporated | Geometric partition mode with harmonized motion field storage and motion compensation |
| CN114303382B (zh) * | 2019-09-01 | 2025-10-28 | 北京字节跳动网络技术有限公司 | 视频编解码中预测权重的对准 |
| CN114556953B (zh) * | 2019-10-10 | 2024-07-05 | 北京字节跳动网络技术有限公司 | 视频编解码中非矩形分割的使用 |
-
2022
- 2022-12-05 EP EP22904591.9A patent/EP4447455A4/en active Pending
- 2022-12-05 KR KR1020247015896A patent/KR20240121215A/ko active Pending
- 2022-12-05 CN CN202280080390.0A patent/CN118355664A/zh active Pending
- 2022-12-05 US US18/716,867 patent/US20250039432A1/en active Pending
- 2022-12-05 WO PCT/KR2022/019607 patent/WO2023106761A1/ko not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210110786A (ko) * | 2010-05-07 | 2021-09-09 | 한국전자통신연구원 | 영상 부호화 및 복호화 장치 및 그 방법 |
| KR20210118219A (ko) * | 2011-11-04 | 2021-09-29 | 엘지전자 주식회사 | 영상 정보 인코딩/디코딩 방법 및 장치 |
| KR20210027252A (ko) * | 2018-07-30 | 2021-03-10 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
| KR20210099008A (ko) * | 2018-12-11 | 2021-08-11 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 이미지를 디블록킹하기 위한 방법 및 장치 |
| KR20210107889A (ko) * | 2019-01-25 | 2021-09-01 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인코더, 디코더 및 디블로킹 필터 적응 방법 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4447455A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4447455A4 (en) | 2025-12-10 |
| US20250039432A1 (en) | 2025-01-30 |
| CN118355664A (zh) | 2024-07-16 |
| EP4447455A1 (en) | 2024-10-16 |
| KR20240121215A (ko) | 2024-08-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020246849A1 (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
| WO2020171632A1 (ko) | Mpm 리스트 기반 인트라 예측 방법 및 장치 | |
| WO2021040400A1 (ko) | 팔레트 모드 기반 영상 또는 비디오 코딩 | |
| WO2020256344A1 (ko) | 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링 | |
| WO2021040402A1 (ko) | 팔레트 코딩 기반 영상 또는 비디오 코딩 | |
| WO2020256346A1 (ko) | 변환 커널 세트에 관한 정보에 대한 코딩 | |
| WO2020149630A1 (ko) | 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치 | |
| WO2021040398A1 (ko) | 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩 | |
| WO2021034115A1 (ko) | 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치 | |
| WO2021034116A1 (ko) | 크로마 양자화 파라미터를 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2023153797A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2021034161A1 (ko) | 인트라 예측 장치 및 방법 | |
| WO2023153893A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2023128648A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 | |
| WO2020256345A1 (ko) | 영상 코딩 시스템에서 변환 커널 세트에 관한 정보에 대한 컨텍스트 코딩 | |
| WO2020256506A1 (ko) | 다중 참조 라인 인트라 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| WO2020145620A1 (ko) | Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 장치 | |
| WO2020060259A1 (ko) | 영상 코딩 시스템에서 블록 파티셔닝을 사용하는 영상 디코딩 방법 및 그 장치 | |
| WO2019199093A1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| WO2021034160A1 (ko) | 매트릭스 인트라 예측 기반 영상 코딩 장치 및 방법 | |
| WO2021034158A1 (ko) | 매트릭스 기반 인트라 예측 장치 및 방법 | |
| WO2020185039A1 (ko) | 레지듀얼 코딩 방법 및 장치 | |
| WO2020197031A1 (ko) | 영상 코딩 시스템에서 다중 참조 라인 기반의 인트라 예측 방법 및 장치 | |
| WO2021006651A1 (ko) | 디블록킹 필터링에 기반한 영상 코딩 방법 및 그 장치 | |
| WO2024107022A1 (ko) | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22904591 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280080390.0 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18716867 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202417050953 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2022904591 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2022904591 Country of ref document: EP Effective date: 20240708 |







