WO2021194307A1 - 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 - Google Patents
랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 Download PDFInfo
- Publication number
- WO2021194307A1 WO2021194307A1 PCT/KR2021/003790 KR2021003790W WO2021194307A1 WO 2021194307 A1 WO2021194307 A1 WO 2021194307A1 KR 2021003790 W KR2021003790 W KR 2021003790W WO 2021194307 A1 WO2021194307 A1 WO 2021194307A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- wrap
- current
- information
- motion compensation
- picture
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 321
- 238000000034 method Methods 0.000 title claims abstract description 208
- 230000008569 process Effects 0.000 description 74
- 239000000523 sample Substances 0.000 description 47
- 238000001914 filtration Methods 0.000 description 42
- 239000013074 reference sample Substances 0.000 description 33
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 29
- 238000013139 quantization Methods 0.000 description 22
- 241000023320 Luma <angiosperm> Species 0.000 description 19
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 238000009795 derivation Methods 0.000 description 7
- 238000002360 preparation method Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 1
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000002490 spark plasma sintering Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
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/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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/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/172—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 picture, frame or field
-
- 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/174—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 slice, e.g. a line of blocks or a group of 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/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/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
-
- 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/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/57—Motion estimation characterised by a search window with variable size or shape
-
- 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/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the present disclosure relates to a method and apparatus for encoding/decoding an image, and more particularly, a method and apparatus for encoding/decoding an image based on wrap-around motion compensation, and a bitstream generated by the image encoding method/device of the present disclosure It relates to the storage medium.
- HD images high definition (HD) images and ultra high definition (UHD) images
- UHD images ultra high definition
- An object of the present disclosure is to provide an image encoding/decoding method and apparatus with improved encoding/decoding efficiency.
- Another object of the present disclosure is to provide a method and apparatus for encoding/decoding an image based on wrap-around motion compensation.
- Another object of the present disclosure is to provide a video encoding/decoding method and apparatus based on wrap-around motion compensation for independently coded subpictures.
- Another object of the present disclosure is to provide a method of transmitting a bitstream generated by an image encoding method or apparatus according to the present disclosure.
- Another object of the present disclosure is to provide a recording medium storing a bitstream generated by an image encoding method or apparatus according to the present disclosure.
- Another object of the present disclosure is to provide a recording medium storing a bitstream that is received and decoded by an image decoding apparatus according to the present disclosure and used to restore an image.
- An image decoding method includes obtaining inter prediction information and wrap-around information of a current block from a bitstream, and based on the inter prediction information and the wrap-around information, , generating a prediction block of the current block, wherein the wrap-around information includes a first flag indicating whether wrap-around motion compensation is available for a current video sequence including the current block, and , based on the presence in the current video sequence of one or more subpictures independently coded and having a width different from that of the current picture including the current block, the first flag indicates that the wrap-around motion compensation is not It may have a first value indicating tolerance.
- An image decoding apparatus includes a memory and at least one processor, wherein the at least one processor obtains inter prediction information and wrap-around information of a current block from a bitstream and generating a prediction block of the current block based on the inter prediction information and the wrap-around information, wherein the wrap-around information includes wrap-around motion compensation for a current video sequence including the current block.
- the at least one processor obtains inter prediction information and wrap-around information of a current block from a bitstream and generating a prediction block of the current block based on the inter prediction information and the wrap-around information, wherein the wrap-around information includes wrap-around motion compensation for a current video sequence including the current block.
- the wrap-around information includes wrap-around motion compensation for a current video sequence including the current block.
- An image encoding method includes determining whether to apply wrap-around motion compensation to a current block, and performing inter prediction based on the determination, thereby providing the current block generating a prediction block of , and encoding inter prediction information of the current block and wrap-around information on the wrap-around motion compensation, wherein the wrap-around information includes the current block
- One or more subpictures that include a first flag indicating whether the wrap-around motion compensation is available for the current video sequence, are independently coded, and have a width different from the width of the current picture including the current block. Based on what is present in the current video sequence, the first flag may have a first value indicating that the wrap-around motion compensation is not available.
- a computer-readable recording medium may store a bitstream generated by the image encoding method or image encoding apparatus of the present disclosure.
- a transmission method may transmit a bitstream generated by the image encoding method or the image encoding apparatus of the present disclosure.
- an image encoding/decoding method and apparatus having improved encoding/decoding efficiency may be provided.
- an image encoding/decoding method and apparatus based on wrap-around motion compensation may be provided.
- an image encoding/decoding method and apparatus based on wrap-around motion compensation for independently coded subpictures may be provided.
- a method for transmitting a bitstream generated by an image encoding method or apparatus according to the present disclosure may be provided.
- a recording medium storing a bitstream generated by the image encoding method or apparatus according to the present disclosure may be provided.
- a recording medium storing a bitstream received and decoded by the image decoding apparatus according to the present disclosure and used to restore an image.
- FIG. 1 is a diagram schematically illustrating a video coding system to which an embodiment according to the present disclosure can be applied.
- FIG. 2 is a diagram schematically illustrating an image encoding apparatus to which an embodiment according to the present disclosure can be applied.
- FIG. 3 is a diagram schematically illustrating an image decoding apparatus to which an embodiment according to the present disclosure can be applied.
- FIG. 4 is a schematic flowchart of an image decoding procedure to which an embodiment according to the present disclosure can be applied.
- FIG. 5 is a schematic flowchart of an image encoding procedure to which an embodiment according to the present disclosure can be applied.
- FIG. 6 is a flowchart illustrating an inter prediction-based video/image decoding method.
- FIG. 7 is a diagram exemplarily illustrating the configuration of the inter prediction unit 260 according to the present disclosure.
- FIG. 8 is a diagram illustrating an example of a subpicture.
- FIG. 9 is a diagram illustrating an example of an SPS including information about a subpicture.
- FIG. 10 is a diagram illustrating a method of encoding an image using a subpicture by an image encoding apparatus according to an embodiment of the present disclosure.
- FIG. 11 is a diagram illustrating a method for an image decoding apparatus to decode an image using a subpicture according to an embodiment of the present disclosure.
- FIG. 12 is a diagram illustrating an example of a 360-degree image converted into a 2D picture.
- FIG. 13 is a diagram illustrating an example of a horizontal wrap-around motion compensation process.
- 14A is a diagram illustrating an example of an SPS including information on wrap-around motion compensation.
- 14B is a diagram illustrating an example of a PPS including information on wrap-around motion compensation.
- 15 is a flowchart illustrating a method for an image encoding apparatus to perform wrap-around motion compensation.
- 16 is a flowchart illustrating a method of determining, by an image encoding apparatus, whether wrap-around motion compensation is available according to an embodiment of the present disclosure.
- 17 is a flowchart illustrating a method of determining, by an image encoding apparatus, whether wrap-around motion compensation is available, according to an embodiment of the present disclosure.
- FIG. 18 is a flowchart illustrating a method of performing wrap-around motion compensation by an image encoding apparatus according to an embodiment of the present disclosure.
- 19 is a flowchart illustrating an image encoding method according to an embodiment of the present disclosure.
- 20 is a flowchart illustrating an image decoding method according to an embodiment of the present disclosure.
- 21 is a diagram exemplarily illustrating a content streaming system to which an embodiment according to the present disclosure can be applied.
- a component when it is said that a component is “connected”, “coupled” or “connected” with another component, it is not only a direct connection relationship, but also an indirect connection relationship in which another component exists in the middle. may also include.
- a component when a component is said to "include” or “have” another component, it means that another component may be further included without excluding other components unless otherwise stated. .
- first, second, etc. are used only for the purpose of distinguishing one component from another, and do not limit the order or importance between the components unless otherwise specified. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment is referred to as a first component in another embodiment. can also be called
- components that are distinguished from each other are for clearly explaining each characteristic, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated to form one hardware or software unit, or one component may be distributed to form a plurality of hardware or software units. Accordingly, even if not specifically mentioned, such integrated or dispersed embodiments are also included in the scope of the present disclosure.
- components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, an embodiment composed of a subset of components described in one embodiment is also included in the scope of the present disclosure. In addition, embodiments including other components in addition to components described in various embodiments are also included in the scope of the present disclosure.
- the present disclosure relates to encoding and decoding of an image, and terms used in the present disclosure may have conventional meanings commonly used in the technical field to which the present disclosure belongs unless they are newly defined in the present disclosure.
- a “picture” generally means a unit representing one image in a specific time period
- a slice/tile is a coding unit constituting a part of a picture
- one picture is one It may be composed of more than one slice/tile.
- a slice/tile may include one or more coding tree units (CTUs).
- pixel or “pel” may mean a minimum unit constituting one picture (or image).
- sample may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or a value of a pixel, may represent only a pixel/pixel value of a luma component, or may represent only a pixel/pixel value of a chroma component.
- a “unit” may indicate a basic unit of image processing.
- the unit may include at least one of a specific region of a picture and information related to the region.
- a unit may be used interchangeably with terms such as “sample array”, “block” or “area” in some cases.
- the MxN block may include samples (or sample arrays) or a set (or arrays) of transform coefficients including M columns and N rows.
- current block may mean one of “current coding block”, “current coding unit”, “coding object block”, “decoding object block”, or “processing object block”.
- current block may mean “current prediction block” or “prediction target block”.
- transform inverse transform
- quantization inverse quantization
- current block may mean “current transform block” or “transform target block”.
- filtering the “current block” may mean a “filtering target block”.
- the "current block” may mean a block including both a luma component block and a chroma component block or "a luma block of the current block” unless there is an explicit description of the chroma block.
- the luma component block of the current block may be explicitly expressed by including an explicit description of the luma component block, such as “luma block” or “current luma block”.
- the chroma component block of the current block may be explicitly expressed by including an explicit description of the chroma component block, such as “chroma block” or “current chroma block”.
- “/” and “,” may be interpreted as “and/or”.
- “A/B” and “A, B” may be interpreted as “A and/or B”.
- “A/B/C” and “A, B, C” may mean “at least one of A, B, and/or C”.
- FIG. 1 is a diagram schematically illustrating a video coding system to which an embodiment according to the present disclosure can be applied.
- a video coding system may include an encoding apparatus 10 and a decoding apparatus 20 .
- the encoding apparatus 10 may transmit encoded video and/or image information or data in the form of a file or streaming to the decoding apparatus 20 through a digital storage medium or a network.
- the encoding apparatus 10 may include a video source generator 11 , an encoder 12 , and a transmitter 13 .
- the decoding apparatus 20 may include a receiving unit 21 , a decoding unit 22 , and a rendering unit 23 .
- the encoder 12 may be referred to as a video/image encoder, and the decoder 22 may be referred to as a video/image decoder.
- the transmitter 13 may be included in the encoder 12 .
- the receiver 21 may be included in the decoder 22 .
- the rendering unit 23 may include a display unit, and the display unit may be configured as a separate device or external component.
- the video source generator 11 may acquire a video/image through a process of capturing, synthesizing, or generating the video/image.
- the video source generating unit 11 may include a video/image capturing device and/or a video/image generating device.
- a video/image capture device may include, for example, one or more cameras, a video/image archive containing previously captured video/images, and the like.
- a video/image generating device may include, for example, a computer, tablet, and smart phone, and may (electronically) generate a video/image.
- a virtual video/image may be generated through a computer, etc. In this case, the video/image capturing process may be substituted for the process of generating related data.
- the encoder 12 may encode an input video/image.
- the encoder 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency.
- the encoder 12 may output encoded data (encoded video/image information) in the form of a bitstream.
- the transmitter 13 may transmit the encoded video/image information or data output in the form of a bitstream in the form of a file or streaming to the receiver 21 of the decoding apparatus 20 through a digital storage medium or a network.
- the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the transmission unit 13 may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network.
- the receiver 21 may extract/receive the bitstream from the storage medium or the network and transmit it to the decoder 22 .
- the decoder 22 may decode the video/image by performing a series of procedures such as inverse quantization, inverse transform, and prediction corresponding to the operation of the encoder 12 .
- the rendering unit 23 may render the decoded video/image.
- the rendered video/image may be displayed through the display unit.
- FIG. 2 is a diagram schematically illustrating an image encoding apparatus to which an embodiment according to the present disclosure can be applied.
- the image encoding apparatus 100 includes an image segmentation unit 110 , a subtraction unit 115 , a transform unit 120 , a quantization unit 130 , an inverse quantization unit 140 , and an inverse transform unit ( 150 ), an adder 155 , a filtering unit 160 , a memory 170 , an inter prediction unit 180 , an intra prediction unit 185 , and an entropy encoding unit 190 .
- the inter prediction unit 180 and the intra prediction unit 185 may be collectively referred to as a “prediction unit”.
- the transform unit 120 , the quantization unit 130 , the inverse quantization unit 140 , and the inverse transform unit 150 may be included in a residual processing unit.
- the residual processing unit may further include a subtraction unit 115 .
- All or at least some of the plurality of components constituting the image encoding apparatus 100 may be implemented as one hardware component (eg, an encoder or a processor) according to an embodiment.
- the memory 170 may include a decoded picture buffer (DPB), and may be implemented by a digital storage medium.
- DPB decoded picture buffer
- the image dividing unit 110 may divide an input image (or a picture, a frame) input to the image encoding apparatus 100 into one or more processing units.
- the processing unit may be referred to as a coding unit (CU).
- Coding unit is a coding tree unit (coding tree unit, CTU) or largest coding unit (LCU) according to the QT / BT / TT (Quad-tree / binary-tree / ternary-tree) structure recursively ( can be obtained by recursively segmenting.
- one coding unit may be divided into a plurality of coding units having a lower depth based on a quad tree structure, a binary tree structure, and/or a ternary tree structure.
- a quad tree structure may be applied first and a binary tree structure and/or a ternary tree structure may be applied later.
- a coding procedure according to the present disclosure may be performed based on the last coding unit that is no longer divided.
- the largest coding unit may be directly used as the final coding unit, and a coding unit of a lower depth obtained by dividing the largest coding unit may be used as the final cornet unit.
- the coding procedure may include procedures such as prediction, transformation, and/or restoration, which will be described later.
- the processing unit of the coding procedure may be a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit may be divided or partitioned from the final coding unit, respectively.
- the prediction unit may be a unit of sample prediction
- the transform unit may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from the transform coefficient.
- the prediction unit (the inter prediction unit 180 or the intra prediction unit 185) performs prediction on a processing target block (current block), and generates a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied on a current block or CU basis.
- the prediction unit may generate various information regarding prediction of the current block and transmit it to the entropy encoding unit 190 .
- the prediction information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.
- the intra prediction unit 185 may predict the current block with reference to samples in the current picture.
- the referenced samples may be located in the vicinity of the current block according to an intra prediction mode and/or an intra prediction technique, or may be located apart from each other.
- the intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the non-directional mode may include, for example, a DC mode and a planar mode (Planar mode).
- the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is an example, and a higher or lower number of directional prediction modes may be used according to a setting.
- the intra prediction unit 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the inter prediction unit 180 may derive the predicted block for the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on the correlation between 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 (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks present in the reference picture.
- the reference picture including the reference block and the 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), or the like.
- the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic).
- the inter prediction unit 180 constructs a motion information candidate list based on neighboring blocks, and provides information indicating which candidate is used to derive a motion vector and/or a reference picture index of the current block. can create Inter prediction may be performed based on various prediction modes. For example, in the skip mode and merge mode, the inter prediction unit 180 may use motion information of a neighboring block as motion information of the current block. In the skip mode, unlike the merge mode, a residual signal may not be transmitted.
- a motion vector of a neighboring block is used as a motion vector predictor, and a motion vector difference and an indicator for the motion vector predictor ( indicator) to signal the motion vector of the current block.
- the motion vector difference may mean a difference between the motion vector of the current block and the motion vector predictor.
- the prediction unit may generate a prediction signal based on various prediction methods and/or prediction techniques to be described later. For example, the prediction unit may apply intra prediction or inter prediction for prediction of the current block, and may simultaneously apply intra prediction and inter prediction. A prediction method that simultaneously applies intra prediction and inter prediction for prediction of the current block may be referred to as combined inter and intra prediction (CIIP). Also, the prediction unit may perform intra block copy (IBC) for prediction of the current block. The intra block copy may be used for video/video coding of content such as games, for example, screen content coding (SCC). IBC is a method of predicting a current block using a reconstructed reference block in a current picture located a predetermined distance away from the current block.
- CIIP combined inter and intra prediction
- IBC intra block copy
- the intra block copy may be used for video/video coding of content such as games, for example, screen content coding (SCC).
- IBC is a method of predicting a current block using a reconstructed reference block in a current picture located
- the position of the reference block in the current picture may be encoded as a vector (block vector) corresponding to the predetermined distance.
- 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 disclosure.
- the prediction signal generated by the prediction unit may be used to generate a reconstructed signal or may be used to generate a residual signal.
- the subtraction unit 115 subtracts the prediction signal (predicted block, prediction sample array) output from the prediction unit from the input image signal (original block, original sample array) to obtain a residual signal (residual signal, residual block, and residual sample array). ) can be created.
- the generated residual signal may be transmitted to the converter 120 .
- the transform unit 120 may generate transform coefficients by applying a transform technique to the residual signal.
- the transformation method may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Karhunen-Loeve Transform (KLT), Graph-Based Transform (GBT), or 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 this graph when expressing relationship information between pixels in a graph.
- CNT refers to a transformation obtained by generating a prediction signal using all previously reconstructed pixels and based thereon.
- the transformation process may be applied to a block of pixels having the same size as a square, or may be applied to a block of variable size that is not a square.
- the quantization unit 130 may quantize the transform coefficients and transmit them to the entropy encoding unit 190 .
- the entropy encoding unit 190 may encode a quantized signal (information on quantized transform coefficients) and output it as a bitstream.
- Information about the quantized transform coefficients may be referred to as residual information.
- the quantization unit 130 may rearrange the quantized transform coefficients in the block form into a one-dimensional vector form based on a coefficient scan order, and the quantized transform coefficients in the one-dimensional vector form are quantized based on the quantized transform coefficients in the one-dimensional vector form.
- Information about the transform coefficients may be generated.
- the entropy encoding unit 190 may perform various encoding methods such as, for example, exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit 190 may encode information necessary for video/image reconstruction (eg, values of syntax elements, etc.) other than the quantized transform coefficients together or separately.
- Encoded information e.g., encoded video/image information
- NAL network abstraction layer
- the video/image information may further include information about 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). Also, the video/image information may further include general constraint information.
- APS adaptation parameter set
- PPS picture parameter set
- SPS sequence parameter set
- VPS video parameter set
- the video/image information may further include general constraint information.
- the signaling information, transmitted information, and/or syntax elements mentioned in this disclosure may be encoded through the above-described encoding procedure and included in the bitstream.
- the bitstream may be transmitted over a network or may be 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) and/or a storage unit (not shown) for storing the signal output from the entropy encoding unit 190 may be provided as internal/external elements of the image encoding apparatus 100 , or transmission The unit may be provided as a component of the entropy encoding unit 190 .
- the quantized transform coefficients output from the quantization unit 130 may be used to generate a residual signal.
- a residual signal residual block or residual samples
- a residual signal residual block or residual samples
- the adder 155 adds a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185 .
- a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit 180 or the intra prediction unit 185 .
- the adder 155 may be referred to as a restoration unit or a restoration block generator.
- the generated reconstructed signal may be used for intra prediction of the next processing object block in the current picture, or may be used for inter prediction of the next picture after filtering as described below.
- the filtering unit 160 may improve subjective/objective image quality by applying filtering to the reconstructed signal.
- the filtering unit 160 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 170 , specifically, the DPB of the memory 170 .
- the various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
- the filtering unit 160 may generate various information regarding filtering and transmit it to the entropy encoding unit 190 as described later in the description of each filtering method.
- the filtering-related information may be encoded by the entropy encoding unit 190 and output in the form of a bitstream.
- the modified reconstructed picture transmitted to the memory 170 may be used as a reference picture in the inter prediction unit 180 .
- the image encoding apparatus 100 can avoid a prediction mismatch between the image encoding apparatus 100 and the image decoding apparatus, and can also improve encoding efficiency.
- the DPB in the memory 170 may store a reconstructed picture corrected for use as a reference picture in the inter prediction unit 180 .
- the memory 170 may store motion information of a block in which motion information in the current picture is derived (or encoded) and/or motion information of blocks in an already reconstructed picture.
- the stored motion information may be transmitted to the inter prediction unit 180 to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory 170 may store reconstructed samples of reconstructed blocks in the current picture, and may transmit the reconstructed samples to the intra prediction unit 185 .
- FIG. 3 is a diagram schematically illustrating an image decoding apparatus to which an embodiment according to the present disclosure can be applied.
- the image decoding apparatus 200 includes an entropy decoding unit 210 , an inverse quantization unit 220 , an inverse transform unit 230 , an adder 235 , a filtering unit 240 , and a memory 250 .
- the inter prediction unit 260 and the intra prediction unit 265 may be included.
- the inter prediction unit 260 and the intra prediction unit 265 may be collectively referred to as a “prediction unit”.
- the inverse quantization unit 220 and the inverse transform unit 230 may be included in the residual processing unit.
- All or at least some of the plurality of components constituting the image decoding apparatus 200 may be implemented as one hardware component (eg, a decoder or a processor) according to an embodiment.
- the memory 250 may include a DPB, and may be implemented by a digital storage medium.
- the image decoding apparatus 200 may reconstruct the image by performing a process corresponding to the process performed by the image encoding apparatus 100 of FIG. 2 .
- the image decoding apparatus 200 may perform decoding using a processing unit applied in the image encoding apparatus.
- the processing unit of decoding may be, for example, a coding unit.
- a coding unit may be a coding tree unit or may be obtained by dividing the largest coding unit.
- the reconstructed image signal decoded and output through the image decoding apparatus 200 may be reproduced through a reproducing apparatus (not shown).
- the image decoding apparatus 200 may receive the signal output from the image encoding apparatus of FIG. 2 in the form of a bitstream.
- the received signal may be decoded through the entropy decoding unit 210 .
- the entropy decoding unit 210 may parse the bitstream to derive information (eg, video/image information) required for image restoration (or picture restoration).
- the video/image information may further include information about 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 image decoding apparatus may additionally use the information about the parameter set and/or the general restriction information to decode the image.
- the signaling information, received information and/or syntax elements mentioned in this disclosure may be obtained from the bitstream by being decoded through the decoding procedure.
- the entropy decoding unit 210 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC or CABAC, and quantizes a value of a syntax element required for image reconstruction and a transform coefficient related to a residual values can be printed.
- the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and receives syntax element information to be decoded and decoding information of neighboring blocks and blocks to be decoded or information of symbols/bins decoded in the previous step.
- the CABAC entropy decoding method may update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after determining the context model.
- Prediction-related information among the information decoded by the entropy decoding unit 210 is provided to the prediction unit (the inter prediction unit 260 and the intra prediction unit 265), and the entropy decoding unit 210 performs entropy decoding. Dual values, that is, quantized transform coefficients and related parameter information may be input to the inverse quantization unit 220 . Also, information on filtering among the information decoded by the entropy decoding unit 210 may be provided to the filtering unit 240 .
- a receiving unit for receiving a signal output from the image encoding apparatus may be additionally provided as an internal/external element of the image decoding apparatus 200 , or the receiving unit is provided as a component of the entropy decoding unit 210 . it might be
- the image decoding apparatus may be referred to as a video/image/picture decoding apparatus.
- the image decoding apparatus may include an information decoder (video/image/picture information decoder) and/or a sample decoder (video/image/picture sample decoder).
- the information decoder may include an entropy decoding unit 210, and the sample decoder includes an inverse quantizer 220, an inverse transform unit 230, an adder 235, a filtering unit 240, a memory 250, At least one of an inter prediction unit 260 and an intra prediction unit 265 may be included.
- the inverse quantizer 220 may inverse quantize the quantized transform coefficients to output transform coefficients.
- the inverse quantizer 220 may rearrange the quantized transform coefficients in a two-dimensional block form. In this case, the rearrangement may be performed based on a coefficient scan order performed by the image encoding apparatus.
- the inverse quantizer 220 may perform inverse quantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain transform coefficients.
- a quantization parameter eg, quantization step size information
- the inverse transform unit 230 may inverse transform the transform coefficients to obtain a residual signal (residual block, residual sample array).
- the prediction unit may perform prediction on the current block and generate a predicted block including prediction samples for the current block.
- the prediction unit may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoding unit 210, and determine a specific intra/inter prediction mode (prediction technique).
- the intra prediction unit 265 may predict the current block with reference to samples in the current picture.
- the description of the intra prediction unit 185 may be equally applied to the intra prediction unit 265 .
- the inter prediction unit 260 may derive the predicted block for the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture.
- motion information may be predicted in units of blocks, subblocks, or samples based on the correlation between 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 (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks present in the reference picture.
- the inter prediction unit 260 may construct a motion information candidate list based on neighboring blocks, and derive a motion vector and/or a reference picture index of the current block based on the received candidate selection information.
- Inter prediction may be performed based on various prediction modes (techniques), and the prediction information may include information indicating a mode (technique) of inter prediction for the current block.
- the adder 235 restores the obtained residual signal by adding it to the prediction signal (predicted block, prediction sample array) output from the prediction unit (including the inter prediction unit 260 and/or the intra prediction unit 265 ).
- a signal (reconstructed picture, reconstructed block, reconstructed sample array) may be generated.
- the predicted block may be used as a reconstructed block.
- the description of the adder 155 may be equally applied to the adder 235 .
- the addition unit 235 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 processing object block in the current picture, or may be used for inter prediction of the next picture after filtering as described below.
- the filtering unit 240 may improve subjective/objective image quality by applying filtering to the reconstructed signal.
- the filtering unit 240 may generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 250 , specifically, the memory 250 . It can be stored in DPB.
- the various filtering methods may include, for example, deblocking filtering, a sample adaptive offset, an adaptive loop filter, a bilateral filter, and the like.
- the (modified) reconstructed picture stored in the DPB of the memory 250 may be used as a reference picture in the inter prediction unit 260 .
- the memory 250 may store motion information of a block in which motion information in the current picture is derived (or decoded) and/or motion information of blocks in an already 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 250 may store reconstructed samples of blocks reconstructed in the current picture, and may transmit the reconstructed samples to the intra prediction unit 265 .
- the embodiments described in the filtering unit 160, the inter prediction unit 180, and the intra prediction unit 185 of the image encoding apparatus 100 include the filtering unit 240 of the image decoding apparatus 200, The same or corresponding application may be applied to the inter prediction unit 260 and the intra prediction unit 265 .
- the prediction unit of the image encoding apparatus/image decoding apparatus may perform inter prediction on a block-by-block basis to derive a prediction sample.
- Inter prediction may indicate a prediction derived in a method dependent on data elements (e.g., sample values, motion information, etc.) of a picture(s) other than the current picture.
- the motion information of the current block may be predicted in units of blocks, subblocks, or samples based on the correlation between 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 type (L0 prediction, L1 prediction, Bi prediction, etc.) information.
- the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks present in the reference picture.
- the reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different.
- the temporal neighboring block may be called a name such as a collocated reference block, a collocated CU (colCU), a colBlock, and the like, and a reference picture including the temporal neighboring block is a collocated picture (collocated). picture, colPic), colPicture, and the like.
- a motion information candidate list may be constructed based on neighboring blocks of the current block, and a flag indicating which candidate is selected (used) to derive a motion vector and/or a reference picture index of the current block.
- index information may be signaled.
- Inter prediction may be performed based on various prediction modes.
- the motion information of the current block may be the same as the motion information of the selected neighboring block.
- a residual signal may not be transmitted.
- MVP motion vector prediction
- a motion vector of a selected neighboring block may be used as a motion vector predictor, and a motion vector difference may be signaled.
- the motion vector of the current block may be derived using the sum of the motion vector predictor and the motion vector difference.
- MVP mode may be used in the same meaning as AMVP (Advanced Motion Vector Prediction).
- the motion information may include L0 motion information and/or L1 motion information according to an inter prediction type (L0 prediction, L1 prediction, Bi prediction, etc.).
- a motion vector in the L0 direction may be referred to as an L0 motion vector or MVL0
- a motion vector in the L1 direction may be referred to as an L1 motion vector or MVL1.
- the prediction based on the L0 motion vector may be called L0 prediction
- the prediction based on the L1 motion vector may be called the L1 prediction
- the prediction based on both the L0 motion vector and the L1 motion vector may be called a bi-prediction.
- the L0 motion vector may indicate a motion vector associated with the reference picture list L0 (L0), and the L1 motion vector may indicate a motion vector associated with the reference picture list L1 (L1).
- the reference picture list L0 may include pictures earlier than the current picture in output order as reference pictures, and the reference picture list L1 may include pictures that are later than the current picture in output order.
- the previous pictures may be called forward (reference) pictures, and the subsequent pictures may be called backward (reference) pictures.
- the reference picture list L0 may further include pictures later than the current picture in output order as reference pictures. In this case, the previous pictures may be indexed first, and the subsequent pictures may be indexed next in the reference picture list L0.
- the reference picture list L1 may further include pictures prior to the current picture as reference pictures in an output order.
- the subsequent pictures may be indexed first and the previous pictures may be indexed next in the reference picture list L1.
- the output order may correspond to a picture order count (POC) order.
- POC picture order count
- FIG. 4 is a flowchart illustrating an inter prediction-based video/image encoding method.
- FIG 5 is a diagram exemplarily illustrating the configuration of the inter prediction unit 180 according to the present disclosure.
- the encoding method of FIG. 4 may be performed by the image encoding apparatus of FIG. 2 .
- step S410 may be performed by the inter prediction unit 180 and step S420 may be performed by the residual processing unit.
- step S420 may be performed by the subtraction unit 115 .
- Step S430 may be performed by the entropy encoding unit 190 .
- the prediction information of step S430 may be derived by the inter prediction unit 180, and the residual information of step S430 may be derived by the residual processing unit.
- the residual information is information about the residual samples.
- the residual information may include information about quantized transform coefficients for the residual samples.
- the residual samples may be derived as transform coefficients through the transform unit 120 of the image encoding apparatus, and the transform coefficients may be derived as quantized transform coefficients through the quantization unit 130 .
- Information on the quantized transform coefficients may be encoded by the entropy encoding unit 190 through a residual coding procedure.
- the image encoding apparatus may perform inter prediction on the current block (S410).
- the image encoding apparatus may derive the inter prediction mode and motion information of the current block, and generate prediction samples of the current block.
- the procedures of determining the inter prediction mode, deriving motion information, and generating prediction samples may be performed simultaneously, or one procedure may be performed before another procedure.
- the inter prediction unit 180 of the video encoding apparatus may include a prediction mode determiner 181 , a motion information derivation unit 182 , and a prediction sample derivation unit 183 . have.
- the prediction mode determining unit 181 determines a prediction mode for the current block
- the motion information deriving unit 182 derives motion information of the current block
- the prediction sample deriving unit 183 predicts the current block samples can be drawn.
- the inter prediction unit 180 of the image encoding apparatus searches for a block similar to the current block within a predetermined area (search area) of reference pictures through motion estimation, and a difference from the current block It is possible to derive a reference block of which is less than or equal to a minimum or a certain criterion. Based on this, a reference picture index indicating a reference picture in which the reference block is located may be derived, and a motion vector may be derived based on a position difference between the reference block and the current block.
- the image encoding apparatus may determine a mode applied to the current block from among various prediction modes.
- the image encoding apparatus may compare rate-distortion (RD) costs for the various prediction modes and determine an optimal prediction mode for the current block.
- RD rate-distortion
- the method for the image encoding apparatus to determine the prediction mode for the current block is not limited to the above example, and various methods may be used.
- the image encoding apparatus may derive merge candidates from neighboring blocks of the current block, and construct a merge candidate list using the derived merge candidates.
- the apparatus for encoding an image may derive a reference block having a difference from the current block of the reference blocks indicated by the merge candidates included in the merge candidate list of which is a minimum or a predetermined criterion or less.
- a merge candidate associated with the derived reference block may be selected, and merge index information indicating the selected merge candidate may be generated and signaled to the image decoding apparatus.
- the motion information of the current block may be derived using the motion information of the selected merge candidate.
- the video encoding apparatus when the MVP mode is applied to the current block, derives motion vector predictor (mvp) candidates from neighboring blocks of the current block, and constructs an mvp candidate list using the derived mvp candidates.
- the apparatus for encoding an image may use a motion vector of an mvp candidate selected from among mvp candidates included in the mvp candidate list as the mvp of the current block.
- a motion vector pointing to the reference block derived by the above-described motion estimation may be used as the motion vector of the current block, and the difference from the motion vector of the current block among the mvp candidates is the smallest.
- An mvp candidate having a motion vector may be the selected mvp candidate.
- a motion vector difference (MVD) that is a difference obtained by subtracting the mvp from the motion vector of the current block may be derived.
- index information indicating the selected mvp candidate and information on the MVD may be signaled to the video decoding apparatus.
- the value of the reference picture index may be configured as reference picture index information and separately signaled to the image decoding apparatus.
- the image encoding apparatus may derive residual samples based on the prediction samples ( S420 ).
- the image encoding apparatus may derive the residual samples by comparing original samples of the current block with the prediction samples. For example, the residual sample may be derived by subtracting the corresponding prediction sample from the original sample.
- the image encoding apparatus may encode image information including prediction information and residual information (S430).
- the image encoding apparatus may output encoded image information in the form of a bitstream.
- the prediction information is information related to the prediction procedure, and may include prediction mode information (e.g., skip flag, merge flag or mode index, etc.) and motion information.
- a skip flag is information indicating whether skip mode is applied to the current block
- a merge flag is information indicating whether a merge mode is applied to the current block.
- the prediction mode information may be information indicating one of a plurality of prediction modes, such as a mode index. When each of the skip flag and the merge flag is 0, it may be determined that the MVP mode is applied to the current block.
- the information on the motion information may include candidate selection information (e.g., merge index, mvp flag or mvp index) that is information for deriving a motion vector.
- the merge index among the candidate selection information may be signaled when a merge mode is applied to the current block, and may be information for selecting one of the merge candidates included in the merge candidate list.
- the mvp flag or mvp index among the candidate selection information may be signaled when the MVP mode is applied to the current block, and may be information for selecting one of the mvp candidates included in the mvp candidate list.
- the information on the motion information may include the above-described MVD information and/or reference picture index information.
- the information on the motion information may include information indicating whether L0 prediction, L1 prediction, or pair (Bi) prediction is applied.
- the residual information is information about the residual samples.
- the residual information may include information about quantized transform coefficients for the residual samples.
- the output bitstream may be stored in a (digital) storage medium and transmitted to the image decoding apparatus, or may be transmitted to the image decoding apparatus through a network.
- the image encoding apparatus may generate a reconstructed picture (a picture including reconstructed samples and reconstructed blocks) based on the reference samples and the residual samples. This is because the image encoding apparatus can derive the same prediction result as that performed by the image decoding apparatus, and through this, the coding efficiency can be increased. Accordingly, the image encoding apparatus may store the reconstructed picture (or reconstructed samples or reconstructed block) in a memory and use it as a reference picture for inter prediction. As described above, an in-loop filtering procedure may be further applied to the reconstructed picture.
- FIG. 6 is a flowchart illustrating a video/image decoding method based on inter prediction
- FIG. 7 is a diagram illustrating the configuration of the inter prediction unit 260 according to the present disclosure.
- the image decoding apparatus may perform an operation corresponding to the operation performed by the image encoding apparatus.
- the image decoding apparatus may perform prediction on the current block based on the received prediction information and derive prediction samples.
- the decoding method of FIG. 6 may be performed by the image decoding apparatus of FIG. 3 .
- Steps S610 to S630 may be performed by the inter prediction unit 260 , and the prediction information of step S610 and residual information of step S640 may be obtained from the bitstream by the entropy decoding unit 210 .
- the residual processing unit of the image decoding apparatus may derive residual samples for the current block based on the residual information (S640).
- the inverse quantization unit 220 of the residual processing unit derives transform coefficients by performing inverse quantization based on the quantized transform coefficients derived based on the residual information, and the inverse transform unit ( 230) may perform inverse transform on the transform coefficients to derive residual samples for the current block.
- Step S650 may be performed by the adder 235 or the restorer.
- the image decoding apparatus may determine a prediction mode for the current block based on the received prediction information (S610).
- the image decoding apparatus may determine which inter prediction mode is applied to the current block based on prediction mode information in the prediction information.
- the skip mode may be applied to the current block based on the skip flag. Also, based on the merge flag, it may be determined whether the merge mode is applied to the current block or whether the MVP mode is determined. Alternatively, one of various inter prediction mode candidates may be selected based on the mode index.
- the inter prediction mode candidates may include a skip mode, a merge mode, and/or an MVP mode, or may include various inter prediction modes to be described later.
- the image decoding apparatus may derive motion information of the current block based on the determined inter prediction mode (S620). For example, when a skip mode or a merge mode is applied to the current block, the image decoding apparatus may configure a merge candidate list to be described later and select one merge candidate from among the merge candidates included in the merge candidate list. The selection may be performed based on the aforementioned candidate selection information (merge index).
- the motion information of the current block may be derived using the motion information of the selected merge candidate. For example, motion information of the selected merge candidate may be used as motion information of the current block.
- the image decoding apparatus may construct an mvp candidate list and use a motion vector of an mvp candidate selected from among mvp candidates included in the mvp candidate list as the mvp of the current block. have.
- the selection may be performed based on the aforementioned candidate selection information (mvp flag or mvp index).
- the MVD of the current block may be derived based on the information on the MVD
- the motion vector of the current block may be derived based on the mvp of the current block and the MVD.
- the reference picture index of the current block may be derived based on the reference picture index information.
- a picture indicated by the reference picture index in the reference picture list for the current block may be derived as a reference picture referenced for inter prediction of the current block.
- the image decoding apparatus may generate prediction samples for the current block based on the motion information of the current block (S630).
- the reference picture may be derived based on the reference picture index of the current block, and the prediction samples of the current block may be derived using samples of the reference block indicated by the motion vector of the current block on the reference picture.
- a prediction sample filtering procedure for all or some of the prediction samples of the current block may be further performed.
- the inter prediction unit 260 of the image decoding apparatus may include a prediction mode determiner 261 , a motion information derivation unit 262 , and a prediction sample derivation unit 263 . have.
- the inter prediction unit 260 of the image decoding apparatus determines the prediction mode for the current block based on the prediction mode information received from the prediction mode determiner 261 , and the motion information received from the motion information derivation unit 262 .
- Motion information (such as a motion vector and/or a reference picture index) of the current block may be derived based on the information on , and the prediction samples of the current block may be derived from the prediction sample derivation unit 263 .
- the image decoding apparatus may generate residual samples for the current block based on the received residual information (S640).
- the image decoding apparatus may generate reconstructed samples for the current block based on the prediction samples and the residual samples, and generate a reconstructed picture based thereon ( S650 ). Thereafter, as described above, an in-loop filtering procedure may be further applied to the reconstructed picture.
- the inter prediction procedure may include an inter prediction mode determination step, a motion information derivation step according to the determined prediction mode, and a prediction operation (prediction sample generation) step based on the derived motion information.
- the inter prediction procedure may be performed by the image encoding apparatus and the image decoding apparatus as described above.
- One picture may be divided in units of tiles, and each tile may be further divided in units of subpictures.
- Each subpicture includes one or more slices, and may constitute a rectangular region within the picture.
- FIG. 8 is a diagram illustrating an example of a subpicture.
- one picture may be divided into 18 tiles. 12 tiles may be disposed on the left side of the picture, and each of the tiles may include one subpicture/slice composed of 16 CTUs. In addition, 6 tiles may be disposed on the right side of the picture, and each of the tiles may include 2 subpictures/slices composed of 4 CTUs. As a result, the picture is divided into 24 subpictures, and each of the subpictures may include one slice.
- Information on subpictures may be encoded/signaled through higher-level syntax, for example, SPS, PPS, and/or slice header.
- FIG. 9 is a diagram illustrating an example of an SPS including information about a subpicture.
- the SPS may include a syntax element subpic_info_present_flag indicating whether subpicture information for a coded layer video sequence (CLVS) exists.
- subpic_info_present_flag having a first value (e.g., 0) may indicate that subpicture information for CLVS does not exist and only one subpicture exists in each picture of the CLVS.
- subpic_info_present_flag having a second value e.g., 1 may indicate that subpicture information for CLVS exists and that one or more subpictures exist in each picture of the CLVS.
- the value of subpic_info_present_flag may be limited to a first value (eg, 0). have.
- the bitstream includes only a subset of subpictures of the input bitstream for the sub-bitstream extraction process as a result of the sub-bitstream extraction process
- the value of subpic_info_present_flag is the second It can be limited to a value (eg, 1).
- the SPS may include a syntax element sps_num_subpics_minus1 indicating the number of subpictures.
- a value obtained by adding 1 to sps_num_subpics_minus1 may indicate the number of subpictures included in each picture in the CLVS.
- the value of sps_num_subpics_minus1 may be greater than or equal to 0 and may be limited to have a range of Ceil( pic_width_max_in_luma_samples ⁇ CtbSizeY ) x Ceil( pic_height_max_in_luma_samples / CtbSizeY ) or less.
- Ceil(x) may be a sailing function that outputs the smallest integer value greater than or equal to x.
- pic_width_max_in_luma_samples means the maximum width of the luma sample unit of each picture
- pic_height_max_in_luma_samples means the maximum height of the luma sample unit of each picture
- CtbSizeY is each luma component coding tree block (CTB) in both width and height. may mean the size of the array.
- CtbSizeY is each luma component coding tree block (CTB) in both width and height. may mean the size of the array.
- CtbSizeY is each luma component coding tree block (CTB) in both width and height.
- CtbSizeY is each luma component coding tree block (CTB) in both width and height. may mean the size of the array.
- sps_num_subpics_minus1 may be inferred as a first value (e
- the SPS may include a syntax element sps_independent_subpics_flag indicating whether to treat a subpicture boundary as a picture boundary.
- sps_independent_subpics_flag with a second value e.g., 1
- sps_independent_subpics_flag having the first value e.g., 0
- the value of sps_independent_subpics_flag may be inferred as a first value (e.g., 0).
- the SPS may include syntax elements subpic_ctu_top_left_x[ i ], subpic_ctu_top_left_y[ i ], subpic_width_minus1[ i ] and subpic_height_minus1[ i ] indicating the position and size of the subpicture.
- subpic_ctu_top_left_x[ i ] may indicate the horizontal position of the top left CTU of the i-th subpicture in units of CtbSizeY.
- the length of subpic_ctu_top_left_x[ i ] may be Ceil( Log2( ( pic_width_max_in_luma_samples + CtbSizeY - 1 ) >> CtbLog2SizeY ) ) bits.
- the value of subpic_ctu_top_left_x[ i ] may be inferred as the first value (e.g., 0).
- subpic_ctu_top_left_y[ i ] may indicate the vertical position of the upper-left CTU of the i-th subpicture in units of CtbSizeY.
- the length of subpic_ctu_top_left_y[ i ] may be Ceil( Log2( ( pic_height_max_in_luma_samples + CtbSizeY - 1 ) >> CtbLog2SizeY ) ) bits.
- the value of subpic_ctu_top_left_y[ i ] may be inferred as the first value (e.g., 0).
- a value obtained by adding 1 to subpic_width_minus1[ i ] may represent the width of the i-th subpicture in units of CtbSizeY.
- the length of subpic_width_minus1[ i ] may be Ceil( Log2( ( pic_width_max_in_luma_samples + CtbSizeY - 1 ) >> CtbLog2SizeY ) ) bits.
- subpic_width_minus1[ i ] when subpic_width_minus1[ i ] does not exist, the value of subpic_width_minus1[ i ] may be inferred as ( ( pic_width_max_in_luma_samples + CtbSizeY - 1 ) >> CtbLog2SizeY ) - subpic_ctu_top_left_x[ i ] - 1.
- a value obtained by adding 1 to subpic_height_minus1[ i ] may represent the height of the i-th subpicture in units of CtbSizeY.
- the length of subpic_height_minus1[i] may be Ceil(Log2(( pic_height_max_in_luma_samples + CtbSizeY - 1 ) >> CtbLog2SizeY ) ) bits.
- subpic_height_minus1[ i ] when subpic_height_minus1[ i ] does not exist, the value of subpic_height_minus1[ i ] may be inferred as ( ( pic_height_max_in_luma_samples + CtbSizeY - 1 ) >> CtbLog2SizeY ) - subpic_ctu_top_left_y[ i ] - 1.
- the SPS may include subpic_treated_as_pic_flag[i] indicating whether a subpicture is treated as one picture.
- subpic_treated_as_pic_flag[ i ] with a first value is that the i-th subpicture in each coded picture in CLVS is not treated as one picture in the decoding process except for the in-loop filtering operation can represent
- subpic_treated_as_pic_flag[ i ] having a second value (eg, 1) may indicate that the i-th subpicture of each coded picture in the CLVS is treated as one picture in the decoding process except for the in-loop filtering operation. have.
- subpic_treated_as_pic_flag[ i ] When subpic_treated_as_pic_flag[ i ] does not exist, the value of subpic_treated_as_pic_flag[ i ] may be inferred to be the same value as sps_independent_subpics_flag described above. In one example, subpic_treated_as_pic_flag[ i ] may be encoded/signaled only when the aforementioned sps_independent_subpics_flag has a first value (e.g., 0) (ie, not treated as a subpicture boundary picture boundary).
- a first value e.g., 0
- subpic_treated_as_pic_flag[ i ] has a second value (eg, 1)
- each output layer in the output layer set (OLS) including the layer including the i-th subpicture as an output layer and
- OLS output layer set
- All SPSs referenced by the output layer and its reference layers are sps_num_subpics_minus1 of the same value, and subpic_ctu_top_left_x[ j ], subpic_ctu_top_left_y[ jj ], and subpic_width_min_aus1[ j Must have [ j ].
- j is greater than or equal to 0 and has a range less than or equal to sps_num_subpics_minus1.
- the SPS may include a syntax element loop_filter_across_subpic_enabled_flag[ i ] indicating whether an in-loop filtering operation traversing a subpicture boundary can be performed.
- loop_filter_across_subpic_enabled_flag[i] having a first value may indicate that an in-loop filtering operation that crosses the boundary of the i-th subpicture in each coded picture in the CLVS is not performed. have.
- loop_filter_across_subpic_enabled_flag[ i ] having a second value (eg, 1) may indicate that an in-loop filtering operation that crosses the boundary of the i-th subpicture in each coded picture in the CLVS can be performed. have. If loop_filter_across_subpic_enabled_flag[i] does not exist, the value of loop_filter_across_subpic_enabled_flag[i] may be inferred to be a value equal to 1 - sps_independent_subpics_flag.
- loop_filter_across_subpic_enabled_flag[i] may be encoded/signaled only when the aforementioned sps_independent_subpics_flag has a first value (e.g., 0) (ie, a subpicture boundary is not treated as a picture boundary).
- a first value e.g. 0
- the shape of subpictures is such that when each subpicture is decoded, the entire left boundary and the entire top boundary of each subpicture are the boundaries of the picture or the boundaries of previously decoded subpictures. It should be in a form that is composed of
- FIG. 10 is a diagram illustrating a method of encoding an image using a subpicture by an image encoding apparatus according to an embodiment of the present disclosure.
- the image encoding apparatus may encode the current picture based on the subpicture structure.
- the image encoding apparatus may encode at least one subpicture constituting the current picture and output a (sub)bitstream including (encoded) information on at least one (encoded) subpicture.
- the image encoding apparatus may divide an input picture into a plurality of subpictures ( S1010 ). Then, the image encoding apparatus may generate information about the subpicture (S1020).
- the information on the subpicture may include, for example, information on the area of the subpicture and/or information on grid spacing for use in the subpicture.
- the information about the subpicture includes information on whether each subpicture can be treated as one picture and/or information on whether in-loop filtering can be performed across the boundary of each subpicture may include.
- the image encoding apparatus may encode at least one subpicture based on information about the subpicture. For example, each subpicture may be independently coded based on information about the subpicture.
- the image encoding apparatus may encode image information including information about the subpicture and output it as a bitstream (S1030).
- a bitstream for a subpicture may be referred to as a substream or a subbitstream.
- FIG. 11 is a diagram illustrating a method for an image decoding apparatus to decode an image using a subpicture according to an embodiment of the present disclosure.
- the apparatus for decoding an image may decode at least one subpicture included in the current picture using (encoded) information on at least one (encoded) subpicture obtained from a (sub)bitstream.
- the image decoding apparatus may obtain information about a subpicture from a bitstream ( S1110 ).
- the bitstream may include a substream or a subbitstream for a subpicture.
- Information about the subpicture may be configured in a higher-level syntax of the bitstream.
- the image decoding apparatus may derive at least one subpicture based on the information on the subpicture ( S1120 ).
- the image decoding apparatus may decode at least one subpicture based on information about the subpicture (S1130). For example, when the current subpicture including the current block is treated as one picture, the current subpicture may be independently decoded. In addition, when in-loop filtering can be performed across the boundary of the current subpicture, in-loop filtering (eg, deblocking filtering) is performed on the boundary of the current subpicture and the boundary of an adjacent subpicture adjacent to the boundary. can be Also, when the boundary of the current subpicture coincides with the picture boundary, in-loop filtering across the boundary of the current subpicture may not be performed.
- in-loop filtering eg, deblocking filtering
- the image decoding apparatus may decode a subpicture based on a CABAC method, a prediction method, a residual processing method (transformation, quantization), an in-loop filtering method, and the like.
- the image decoding apparatus may output at least one decoded subpicture or output a current picture including at least one subpicture.
- the decoded sub-picture may be output in the form of an output sub-picture set (OPS).
- OPS output sub-picture set
- OPS output sub-picture set
- the prediction block of the current block may be derived based on the reference block specified by the motion vector of the current block.
- the sample value of the reference sample may be replaced with a sample value of a neighboring sample existing at the boundary or outermost boundary of the reference picture. This is called padding, and the boundary of the reference picture may be extended through the padding.
- samples adjacent to the left boundary (or right boundary) of the reference picture may have the same/similar sample values and/or motion information as samples adjacent to the right boundary (or left boundary) of the picture.
- at least one reference sample outside the boundary of the reference picture in the reference block may be replaced with a neighboring sample in the reference picture corresponding to the reference sample. This is called (horizontal) wrap-around motion compensation, and the motion vector of the current block may be adjusted to point to the inside of the reference picture through the wrap-around motion compensation.
- Wrap-around motion compensation refers to a coding tool designed to improve the visual quality of a reconstructed image/video, for example, a 360-degree image/video projected in an ERP format.
- the sample values of the samples out of the boundary are the sample values of neighboring samples closest to the boundary through repeated padding. It can be derived by copying.
- 360-degree images/videos are acquired in the form of a sphere and have essentially no image boundaries, reference samples that fall outside the boundary of the reference picture on the projected domain (two-dimensional domain) are always in the spherical domain (three-dimensional domain). ) can be obtained from neighboring samples adjacent to the reference samples. Therefore, iterative padding is inappropriate for 360-degree images/videos and may cause visual artifacts called seam artifacts in the reconstructed viewport images/videos.
- FIG. 12 is a diagram illustrating an example of a 360-degree image converted into a 2D picture.
- a 360-degree image 1210 may be converted into a 2D picture 1230 through a projection process.
- the 2D picture 1230 may have various projection formats such as an equi-rectangular projection (ERP) format or a padded ERP (PERP) format according to a projection method applied to the 360-degree image 1210 .
- ERP equi-rectangular projection
- PROP padded ERP
- the 360-degree image 1210 does not have an image boundary due to the characteristics of the image acquired from all directions.
- the two-dimensional picture 1230 obtained from the 360-degree image 1210 has an image boundary due to the projection process.
- the left boundary LBd and the right boundary RBd of the 2D picture 1230 may be in contact with each other while forming one line RL in the 360-degree image 1210 . Accordingly, similarity between samples adjacent to the left boundary LBd and the right boundary RBd in the 2D picture 1230 may be relatively high.
- a predetermined region in the 360-degree image 1210 may correspond to an internal region or an external region of the 2D picture 1230 according to a reference image boundary. For example, based on the left boundary LBd of the 2D picture 1230 , region A in the 360-degree image 1210 may correspond to region A1 existing outside the 2D picture 1230 . . Conversely, when the right boundary RBd of the 2D picture 1230 is used as a reference, region A in the 360-degree image 1210 may correspond to region A2 existing inside the 2D picture 1230 . Regions A1 and A2 may have the same/similar sample properties to each other in that they correspond to the same region A based on the 360-degree image 1210 .
- the external samples outside the left boundary LBd of the 2D picture 1230 are 2 existing at positions spaced apart by a predetermined distance in the first direction DIR 1 through wrap-around motion compensation. It may be replaced with internal samples of the dimensional picture 1230 .
- external samples of the 2D picture 1230 included in the A1 region may be replaced with internal samples of the 2D picture 1230 included in the A2 region.
- external samples outside the right boundary RBd of the 2D picture 1230 exist at positions spaced apart by a predetermined distance in the second direction DIR 2 through wrap-around motion compensation. can be replaced with internal samples of
- FIG. 13 is a diagram illustrating an example of a wrap-around motion compensation process.
- the prediction block of the current block 1310 may be derived based on the reference block 1330 .
- the reference block 1330 may be specified by the motion vector 1320 of the current block 1310 .
- the motion vector 1320 may indicate the upper-left position of the reference block 1330 based on the upper-left position of the co-located block 1315 that exists at the same position as the current block 1310 in the reference picture.
- the reference block 1330 may include a first region 1335 outside the left boundary of the reference picture as shown in FIG. 13 . Since the first region 1335 cannot be used for inter prediction of the current block 1310, it may be replaced with the second region 1340 in the reference picture through wrap-around motion compensation.
- the second area 1340 may correspond to the same area as the first area 1335 on a sphere domain (a three-dimensional domain), and the location of the second area 1340 is a predetermined location ( eg, the upper left position) can be specified by adding the wrap-around offset.
- the wrap-around offset may be set to the ERP width before padding of the current picture.
- the ERP width may mean the width of an ERP format original picture (ie, ERP picture) obtained from a 360-degree image.
- a padding process in the horizontal direction may be performed on the left boundary and the right boundary of the ERP picture.
- the width (PicWidth) of the current picture is the sum of the ERP width (ERP width), the amount of padding on the left boundary of the ERP picture (left padding), and the amount of padding on the right boundary of the ERP picture (right padding). can be decided.
- the wrap-around offset may be encoded/signaled using a predetermined syntax element (e.g., pps_ref_wraparound_offset) in the higher-level syntax.
- a predetermined syntax element e.g., pps_ref_wraparound_offset
- the syntax element is not affected by the amount of padding for the left and right boundaries of the ERP picture, and as a result, asymmetric padding for the original picture can be supported. That is, the amount of padding for the left boundary of the ERP picture and the amount of padding for the right boundary of the ERP picture may be different from each other.
- wrap-around motion compensation information (e.g., activation status, wrap-around offset, etc.) may be encoded/signaled through higher-level syntax, for example, SPS and/or PPS.
- 14A is a diagram illustrating an example of an SPS including information on wrap-around motion compensation.
- the SPS may include a syntax element sps_ref_wraparound_enabled_flag indicating whether wrap-around motion compensation is applied at the sequence level.
- sps_ref_wraparound_enabled_flag having the first value e.g., 0
- sps_ref_wraparound_enabled_flag having the second value e.g., 1
- wrap-around motion compensation for the current video sequence may be applied only when the picture width (e.g., pic_width_in_luma_samples) and the CTB width (CtbSizeY) satisfy the following conditions.
- CtbSizeY may mean the width or height of the luma component CTB
- MinCbSizeY may mean the minimum width or the minimum height of the luma component CB (coding block).
- pic_width_max_in_luma_samples may mean the maximum width of a luma sample unit of each picture.
- 14B is a diagram illustrating an example of a PPS including information on wrap-around motion compensation.
- the PPS may include a syntax element pps_ref_wraparound_enabled_flag indicating whether wrap-around motion compensation is applied at the picture level.
- the PPS may include a syntax element pps_ref_wraparound_enabled_flag indicating whether wrap-around motion compensation is applied at the sequence level.
- pps_ref_wraparound_enabled_flag having the first value e.g., 0
- pps_ref_wraparound_enabled_flag having the second value e.g., 1
- pps_ref_wraparound_enabled_flag having the second value may indicate that wrap-around motion compensation is applied to the current picture including the current block.
- wrap-around motion compensation for the current picture may be applied only when the picture width (e.g., pic_width_in_luma_samples) is greater than the CTB width (CtbSizeY). For example, when the value of (CtbSizeY / MinCbSizeY + 1) is greater than the value of (pic_width_in_luma_samples / MinCbSizeY - 1), pps_ref_wraparound_enabled_flag may be limited to the first value (e.g.
- sps_ref_wraparound_enabled_flag has a first value (e.g., 0)
- the value of pps_ref_wraparound_enabled_flag may be limited to the first value (e.g., 0).
- the PPS may include a syntax element pps_ref_wraparound_offset indicating an offset of wrap-around motion compensation. For example, a value obtained by adding ((CtbSizeY / MinCbSizeY) + 2) to pps_ref_wraparound_offset may indicate a wrap-around offset for calculating a wrap-around position in units of luma samples.
- the value of pps_ref_wraparound_offset may be greater than or equal to 0 and less than or equal to ((pic_width_in_luma_samples / MinCbSizeY) - (CtbSizeY / MinCbSizeY) - 2).
- variable PpsRefWraparoundOffset may be set to the same value as (pps_ref_wraparound_offset + (CtbSizeY / MinCbSizeY) + 2).
- the variable PpsRefWraparoundOffset may be used in a process of clipping reference samples that exceed a boundary of a reference picture.
- wrap-around motion compensation may be selectively performed based on properties of each subpicture.
- 15 is a flowchart illustrating a method for an image encoding apparatus to perform wrap-around motion compensation.
- the image encoding apparatus may determine whether a current subpicture is independently coded ( S1510 ).
- the image encoding apparatus may determine not to perform wrap-around motion compensation on the current block (S1530). In this case, the image encoding apparatus may clip the reference sample position of the current block based on the subpicture boundary, and may perform motion compensation using the reference sample at the clipped position.
- the operation is, for example, a luma sample bilinear interpolation process, a luma sample interpolation process, a luma integer sample fetching process, or a chroma sample interpolation process. It may be performed using a chroma sample interpolation process or the like.
- the image encoding apparatus may determine whether wrap-around motion compensation is available (S1520).
- the image encoding apparatus may determine whether wrap-around motion compensation is available at the sequence level. For example, if all subpictures in the current video sequence have non-contiguous subpicture boundaries, wrap-around motion compensation may be limited so that it is not available for the current video sequence. If wrap-around motion compensation is not available at the sequence level, wrap-around motion compensation at the picture level may be forced to be unavailable. Alternatively, when wrap-around motion compensation is available at the sequence level, the image encoding apparatus may determine whether wrap-around motion compensation is available at the picture level.
- the image encoding apparatus may perform wrap-around motion compensation on the current block (S1540).
- the image encoding apparatus may perform wrap-around motion compensation by shifting the reference sample location of the current block by the wrap-around offset and then clipping the shifted location based on the boundary of the reference picture.
- the image encoding apparatus may not perform wrap-around motion compensation on the current block (S1550).
- the image encoding apparatus may clip the reference sample position of the current block based on the boundary of the reference picture, and may perform motion compensation using the reference sample at the clipped position.
- the image decoding apparatus may determine whether the current subpicture is independently coded based on subpicture related information (e.g., subpic_treated_as_pic_flag) obtained from the bitstream. For example, when subpic_treated_as_pic_flag has a first value (e.g., 0), the current subpicture may not be independently coded. On the other hand, when subpic_treated_as_pic_flag has a second value (e.g., 1), the current subpicture may be independently coded.
- subpic_treated_as_pic_flag has a first value (e.g., 0)
- subpic_treated_as_pic_flag has a second value (e.g., 1)
- the current subpicture may be independently coded.
- the image decoding apparatus determines whether wrap-around motion compensation is available based on wrap-around related information (eg, pps_ref_wraparound_enabled_flag) obtained from the bitstream, and based on the determination, wrap-around motion with respect to the current block. Compensation can be performed. For example, when pps_ref_wraparound_enabled_flag has a first value (eg, 0), the image decoding apparatus determines that wrap-around motion compensation is not available for the current picture, and performs wrap-around motion compensation on the current block.
- wrap-around related information eg, pps_ref_wraparound_enabled_flag
- pps_ref_wraparound_enabled_flag has a second value (eg, 1)
- the image decoding apparatus determines that wrap-around motion compensation is available for the current picture, and may perform wrap-around motion compensation on the current block. have.
- wrap-around motion compensation may be performed only when the current subpicture is not treated as one picture.
- the wrap-around related coding tool cannot be used together with various subpicture related coding tools that are premised on independent coding of subpictures. This may act as a factor of lowering encoding/decoding performance with respect to a picture having inter-boundary continuity, such as an ERP picture or a PERP picture.
- wrap-around motion compensation may be performed according to a predetermined condition.
- wrap-around motion compensation may be forced not to be available for the current video sequence.
- flag information e.g., sps_ref_wraparound_enabled_flag
- a first value e.g., 0
- 16 is a flowchart illustrating a method of determining, by an image encoding apparatus, whether wrap-around motion compensation is available according to an embodiment of the present disclosure.
- the image encoding apparatus may determine whether one or more independently coded subpictures exist in the current video sequence ( S1610 ).
- the image encoding apparatus wraps-around the current video sequence based on a predetermined wrap-around constraint condition. It may be determined whether motion compensation is available (S1640). In this case, the image encoding apparatus sets flag information (eg, sps_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the current video sequence as a first value (eg, 0) or a second value based on the determination (eg, 1) can be coded.
- flag information eg, sps_wraparound_enabled_flag
- wrap-around motion compensation when wrap-around motion compensation is limited for one or more output layer sets (OLSs) specified by a video parameter set (VPS), wrap-around for the current video sequence Motion compensation may be limited so that it is not available.
- wrap-around motion compensation when all subpictures in the current video sequence have non-contiguous subpicture boundaries, wrap-around motion compensation may be limited to not available for the current video sequence.
- the video encoding apparatus determines whether at least one of the independently coded subpictures has a width different from the picture width. can be determined (S1620).
- the picture width may be derived as in Equation 1 based on the maximum width that a picture can have in the current video sequence.
- pic_width_max_in_luma_samples may indicate the maximum width of a picture in units of luma samples
- CtbSizeY may indicate the width of a coding tree block (CTB) in a picture in units of luma samples
- CtbLog2SizeY may indicate a log scale value of CtbSizeY.
- the image encoding apparatus determines that wrap-around motion compensation is not available for the current video sequence. Can be (S1630). In this case, the image encoding apparatus may encode sps_ref_wraparound_enabled_flag as a first value (e.g., 0) based on the determination.
- the video encoding apparatus performs a wrap-around motion with respect to the current video sequence based on the aforementioned wrap-around constraint. It may be determined whether compensation is available (S1640). In this case, the image encoding apparatus may encode sps_ref_wraparound_enabled_flag as a first value (e.g., 0) or a second value (e.g., 1) based on the determination.
- steps S1610 and S1620 are sequentially performed, but this is merely exemplary, and embodiments of the present disclosure are not limited thereto.
- step S1620 may be performed simultaneously with step S1610, or may be performed before step S1610.
- sps_ref_wraparound_enabled_flag encoded by the image encoding apparatus may be stored in a bitstream and signaled to the image decoding apparatus.
- the image decoding apparatus may determine whether wrap-around motion compensation is available for the current video sequence based on sps_ref_wraparound_enabled_flag obtained from the bitstream.
- the image decoding apparatus determines that wrap-around motion compensation is not available for the current video sequence, and applies wrap-around motion compensation for the current block. may not perform.
- the reference sample position of the current block may be clipped based on the reference picture boundary or the subpicture boundary, and motion compensation may be performed using the reference sample at the clipped position.
- the image decoding apparatus can perform correct motion compensation according to the present disclosure without separately determining whether one or more subpictures independently coded and having a width different from the picture width exist in the current video sequence.
- the operation of the image decoding apparatus is not limited thereto, and for example, the image decoding apparatus determines whether one or more subpictures independently coded in the current video sequence and having a width different from the picture width exist, and then the determination is made. Motion compensation may be performed based on the result.
- the image decoding apparatus determines whether one or more subpictures independently decoded and having a width different from the picture width exist in the current video sequence, and when such subpictures exist, sps_ref_wraparound_enabled_flag is set to a first value (eg , 0), so that wrap-around motion compensation may not be performed.
- the image decoding apparatus may determine that wrap-around motion compensation is available for the current video sequence. In this case, the image decoding apparatus additionally obtains flag information (eg, pps_ref_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the current picture from the bitstream, and adds it to the current block based on the additionally obtained flag information. Whether to perform wrap-around motion compensation may be determined.
- flag information eg, pps_ref_wraparound_enabled_flag
- pps_ref_wraparound_enabled_flag has a first value (e.g., 0)
- the image decoding apparatus may not perform wrap-around motion compensation on the current block.
- the reference sample position of the current block may be clipped based on the reference picture boundary or the subpicture boundary, and motion compensation may be performed using the reference sample at the clipped position.
- pps_ref_wraparound_enabled_flag has a second value (e.g., 1)
- the image decoding apparatus may perform wrap-around motion compensation on the current block.
- Embodiment 1 of the present disclosure when one or more subpictures independently coded and having a width different from the picture width exist in the current video sequence, wrap-around motion compensation is not available for the current video sequence. can be forced This means that if all independently coded subpictures in the current video sequence have the same width as the picture width, wrap-around motion compensation may be applied to each subpicture in the current video sequence regardless of whether or not independently coded. can be nested Accordingly, since a coding tool related to a subpicture and a coding tool related to wrap-around motion compensation can be used together, encoding/decoding efficiency can be further improved.
- wrap-around motion compensation when one or more subpictures having a width different from the picture width exist in the current video sequence, wrap-around motion compensation may be forced not to be available for the current video sequence.
- flag information e.g., sps_ref_wraparound_enabled_flag
- a first value e.g., 0
- 17 is a flowchart illustrating a method of determining, by an image encoding apparatus, whether wrap-around motion compensation is available, according to an embodiment of the present disclosure.
- the image encoding apparatus may determine whether one or more subpictures having a width different from a picture width exist in the current video sequence ( S1710 ).
- the video encoding apparatus determines that wrap-around motion compensation is not available for the current video sequence. It can be (S1720).
- the image encoding apparatus may encode sps_ref_wraparound_enabled_flag as a first value (e.g., 0).
- the video encoding apparatus may be determined whether wrap-around motion compensation is available for the current video sequence based on a predetermined wrap-around constraint (S1730).
- a predetermined wrap-around constraint is as described above with reference to FIG. 16 .
- the image encoding apparatus may encode sps_ref_wraparound_enabled_flag as a first value (e.g., 0) or a second value (e.g., 1) based on the determination.
- sps_ref_wraparound_enabled_flag encoded by the image encoding apparatus may be stored in a bitstream and signaled to the image decoding apparatus.
- the image decoding apparatus may determine whether wrap-around motion compensation is available for the current video sequence based on sps_ref_wraparound_enabled_flag obtained from the bitstream.
- sps_ref_wraparound_enabled_flag has a first value (eg, 0)
- the image decoding apparatus determines that wrap-around motion compensation is not available for the current video sequence, and applies wrap-around motion compensation for the current block. may not perform.
- sps_ref_wraparound_enabled_flag has a second value (e.g., 1)
- the image decoding apparatus may determine that wrap-around motion compensation is available for the current video sequence.
- the image decoding apparatus additionally obtains flag information (eg, pps_ref_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the current picture from the bitstream, and adds it to the current block based on the additionally obtained flag information. Whether to perform wrap-around motion compensation may be determined.
- flag information eg, pps_ref_wraparound_enabled_flag
- wrap-around motion compensation may be forced not to be available for the current video sequence. This may imply that if all subpictures in the current video sequence have the same width as the picture width, wrap-around motion compensation may be applied to each subpicture in the current video sequence regardless of whether independent coding or not. . Accordingly, since a coding tool related to a subpicture and a coding tool related to wrap-around motion compensation can be used together, encoding/decoding efficiency can be further improved.
- Embodiment 3 of the present disclosure even if the current subpicture is independently coded, if it has the same width as the current picture, or if the current subpicture is not independently coded, wrap-around motion compensation for the current block is performed.
- FIG. 18 is a flowchart illustrating a method of performing wrap-around motion compensation by an image encoding apparatus according to an embodiment of the present disclosure.
- the image encoding apparatus may determine whether a current subpicture is independently coded ( S1810 ).
- the image encoding apparatus may determine whether the width of the current subpicture is the same as the width of the current picture (S1820).
- the image encoding apparatus may determine whether wrap-around motion compensation is available (S1830).
- the image encoding apparatus may determine that wrap-around motion compensation is not available.
- the image encoding apparatus may encode flag information (e.g., sps_ref_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the current video sequence as a first value (e.g., 0) based on the determination.
- the video encoding apparatus may determine whether wrap-around motion compensation is available based on a predetermined wrap-around constraint. have.
- wrap-around motion compensation when the CTB width (e.g., CtbSizeY) is greater than the picture width (e.g., pic_width_in_luma_samples), the wrap-around motion compensation may be limited so that it is not available for the current picture.
- wrap-around motion compensation if wrap-around motion compensation is limited for one or more output layer sets (OLSs) specified by a video parameter set (VPS), wrap-around motion with respect to the current picture. Compensation may be restricted from being available.
- wrap-around motion compensation when all subpictures in the current picture have non-contiguous subpicture boundaries, wrap-around motion compensation may be limited to not available for the current picture.
- the image encoding apparatus may perform wrap-around motion compensation on the current block based on the boundary of the current subpicture (S1840). ). For example, when the reference sample position of the current block is out of the left boundary of the reference picture (eg, xInti ⁇ 0), the image encoding apparatus sets the x-coordinate of the reference sample as a wrap-around offset (eg, PpsRefWraparoundOffset ⁇ MinCbSizeY) After shifting in the positive direction by a corresponding amount, wrap-around motion compensation may be performed by clipping based on the left and right boundaries of the current subpicture.
- a wrap-around offset eg, PpsRefWraparoundOffset ⁇ MinCbSizeY
- the image encoding apparatus shifts the x-coordinate of the reference sample in the negative direction by the wrap-around offset. Then, wrap-around motion compensation may be performed by clipping based on the left and right boundaries of the current subpicture.
- the image encoding apparatus may not perform wrap-around motion compensation on the current block (S1850). In this case, the image encoding apparatus may clip the reference sample position of the current block based on the boundary of the current subpicture, and may perform motion compensation using the reference sample at the clipped position.
- the image encoding apparatus may determine whether wrap-around motion compensation is available (S1860).
- the specific determination method is the same as described above in step S1830.
- the image encoding apparatus may perform wrap-around motion compensation with respect to the current block based on the boundary of the reference picture (S1870). .
- the image encoding apparatus may perform wrap-around motion compensation by shifting the reference sample location of the current block by the wrap-around offset and then clipping the shifted location based on the boundary of the reference picture.
- the image encoding apparatus may not perform wrap-around motion compensation on the current block (S1880).
- the image encoding apparatus may clip the reference sample position of the current block based on the boundary of the reference picture, and may perform motion compensation using the reference sample at the clipped position.
- the image decoding apparatus may determine whether the current subpicture is independently coded based on subpicture related information (e.g., subpic_treated_as_pic_flag) obtained from the bitstream. For example, when subpic_treated_as_pic_flag has a first value (e.g., 0), the current subpicture may not be independently coded. On the other hand, if subpic_treated_as_pic_flag has a second value (e.g., 1), the current subpicture may be independently coded.
- subpic_treated_as_pic_flag has a first value (e.g., 0)
- subpic_treated_as_pic_flag has a second value (e.g., 1)
- the current subpicture may be independently coded.
- the image decoding apparatus determines whether wrap-around motion compensation is available based on wrap-around related information (eg, pps_ref_wraparound_enabled_flag) obtained from the bitstream, and based on the determination, wrap-around motion with respect to the current block. Compensation can be performed. For example, when pps_ref_wraparound_enabled_flag has a first value (eg, 0), the image decoding apparatus determines that wrap-around motion compensation is not available for the current picture, and performs wrap-around motion compensation on the current block.
- wrap-around related information eg, pps_ref_wraparound_enabled_flag
- pps_ref_wraparound_enabled_flag has a second value (eg, 1)
- the image decoding apparatus determines that wrap-around motion compensation is available for the current picture, and may perform wrap-around motion compensation on the current block. have.
- the image decoding apparatus may perform correct motion compensation according to the present disclosure without separately determining whether the width of the current subpicture is the same as the width of the current picture.
- the operation of the image decoding apparatus is not limited thereto, and for example, as shown in FIG. 18 , the image decoding apparatus determines whether the width of the independently coded current subpicture is the same as the width of the current picture. , it may be determined whether wrap-around motion compensation is available based on the determination result.
- Embodiment 3 of the present disclosure even if the current subpicture is independently coded, if it has the same width as the current picture or if the current subpicture is not independently coded, wrap-around motion compensation for the current block is performed. can be Accordingly, since a coding tool related to a subpicture and a coding tool related to wrap-around motion compensation can be used together, encoding/decoding efficiency can be further improved.
- 19 is a flowchart illustrating an image encoding method according to an embodiment of the present disclosure.
- the image encoding method of FIG. 19 may be performed by the image encoding apparatus of FIG. 2 .
- steps S1910 and S1920 may be performed by the inter prediction unit 180
- step S1930 may be performed by the entropy encoding unit 190 .
- the image encoding apparatus may determine whether to apply wrap-around motion compensation to the current block ( S1910 ).
- the apparatus for encoding an image determines whether wrap-around motion compensation is available based on whether there are one or more subpictures independently coded and having a width different from the picture width in the current video sequence including the current block. can decide whether For example, when one or more subpictures independently coded and having a width different from the picture width exist in the current video sequence, the video encoding apparatus may determine that wrap-around motion compensation is not available. On the other hand, when all independently coded subpictures in the current video sequence have the same width as the picture width, the video encoding apparatus may determine that wrap-around motion compensation is available based on a predetermined wrap-around constraint. .
- an example of the wrap-around constraint is as described above with reference to FIGS. 16 to 18 .
- the image encoding apparatus may determine whether to apply wrap-around motion compensation to the current block based on the determination. For example, when wrap-around motion compensation is not available for the current picture, the image encoding apparatus may determine not to perform wrap-around motion compensation on the current block. Alternatively, when wrap-around motion compensation is available for the current picture, the image encoding apparatus may determine to perform wrap-around motion compensation on the current block.
- the image encoding apparatus may generate a prediction block of the current block by performing inter prediction based on the determination result of step S1910 ( S1920 ). For example, when wrap-around motion compensation is applied to the current block, the image encoding apparatus shifts the reference sample position of the current block by the wrap-around offset, and sets the shifted position based on the reference picture boundary or the subpicture boundary. can be clipped to In addition, the image encoding apparatus may generate a prediction block of the current block by performing motion compensation using the reference sample at the clipped position.
- the image encoding apparatus clips the reference sample position of the current block based on the reference picture boundary or the subpicture boundary, and then uses the reference sample at the clipped position. By using motion compensation, a prediction block of the current block may be generated.
- the image encoding apparatus may generate a bitstream by encoding inter prediction information of the current block and wrap-around information regarding wrap-around motion compensation (S1930).
- the wrap-around information may include a first flag (e.g., sps_ref_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the video sequence including the current block.
- the first flag is independently coded, based on the presence in the current video sequence of one or more subpictures having a width different from the width of the current picture including the current block, wrap-around motion compensation for the current video sequence. It may have a first value (eg, 0) indicating this unavailability.
- the width of the current picture may be derived based on information (e.g., pic_width_max_in_luma_samples) about the maximum width that a picture can have in the current video sequence.
- information e.g., pic_width_max_in_luma_samples
- the wrap-around information may further include a second flag (e.g., pps_ref_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the current picture.
- the second flag may have a first value (eg, 0) indicating that wrap-around motion compensation is not available for the current picture based on the first flag having a first value (eg, 0). have.
- the second flag is a first value indicating that wrap-around motion compensation is not available for the current picture based on a predetermined condition regarding the width of the coding tree block (CTB) in the current picture and the width of the current picture. (eg, 0).
- CTB coding tree block
- sps_ref_wraparound_enabled_flag may be limited to a first value (e.g., 0).
- the wrap-around information may further include a wrap-around offset (e.g., pps_ref_wraparound_offset) based on the available wrap-around motion compensation for the current picture.
- the image encoding apparatus may perform wrap-around motion compensation based on the wrap-around offset.
- 20 is a flowchart illustrating an image decoding method according to an embodiment of the present disclosure.
- the image decoding method of FIG. 20 may be performed by the image decoding apparatus of FIG. 3 .
- steps S2010 and S2020 may be performed by the inter prediction unit 260 .
- the image decoding apparatus may obtain inter prediction information and wrap-around information of a current block from a bitstream ( S2010 ).
- the inter prediction information of the current block may include motion information of the current block, for example, a reference picture index, differential motion vector information, and the like.
- the wrap-around information is information about wrap-around motion compensation, and may include a first flag (e.g., sps_ref_wraparound_enabled_flag) indicating whether wrap-around motion compensation is available for the current video sequence including the current block.
- the first flag indicates that the wrap-around motion compensation is not available, based on the presence in the current video sequence of one or more subpictures that are independently coded and have a width different from the width of the current picture including the current block. It may have a first value (eg, 0) that is indicated.
- the width of the current picture may be derived based on information (e.g., pic_width_max_in_luma_samples) about the maximum width that a picture can have in the current video sequence.
- the wrap-around information may further include a second flag (e.g., pps_ref_wraparound_enabled_flag) indicating whether the wrap-around motion compensation is available for the current picture.
- the second flag may have a first value (eg, 0) indicating that wrap-around motion compensation is not available for the current picture based on the first flag having a first value (eg, 0). have.
- the second flag is a first value indicating that wrap-around motion compensation is not available for the current picture based on a predetermined condition regarding the width of the coding tree block (CTB) in the current picture and the width of the current picture. (eg, 0).
- CTB coding tree block
- sps_ref_wraparound_enabled_flag may be limited to a first value (e.g., 0).
- the image decoding apparatus may generate a prediction block of the current block based on inter prediction information and wrap-around information obtained from the bitstream (S2020).
- wrap-around motion compensation may be performed on the current block.
- the image decoding apparatus may shift the reference sample position of the current block by the wrap-around offset, and clip the shifted position based on the reference picture boundary or the subpicture boundary.
- the image decoding apparatus may generate a prediction block of the current block by performing motion compensation using the reference sample at the clipped position.
- the image encoding apparatus clips the reference sample position of the current block based on the reference picture boundary or the subpicture boundary.
- a prediction block of the current block may be generated by performing motion compensation using the reference sample of the clipped position.
- the name of the syntax element described in the present disclosure may include information about a position at which the corresponding syntax element is signaled.
- a syntax element starting with “sps_” may mean that the corresponding syntax element is signaled in the sequence parameter set (SPS).
- a syntax element starting with "pps_”, “ph_”, “sh_”, etc. may mean that the corresponding syntax element is signaled in a picture parameter set (PPS), a picture header, a slice header, and the like, respectively.
- Example methods of the present disclosure are expressed as a series of operations for clarity of description, but this is not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order.
- other steps may be included in addition to the illustrated steps, steps may be excluded from some steps, and/or other steps may be included except for some steps.
- an image encoding apparatus or an image decoding apparatus performing a predetermined operation may perform an operation (step) of confirming a condition or situation for performing the corresponding operation (step). For example, if it is stated that a predetermined operation is performed when a predetermined condition is satisfied, the video encoding apparatus or the image decoding apparatus performs an operation to check whether the predetermined condition is satisfied and then performs the predetermined operation can be done
- various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof.
- ASICs Application Specific Integrated Circuits
- DSPs Digital Signal Processors
- DSPDs Digital Signal Processing Devices
- PLDs Programmable Logic Devices
- FPGAs Field Programmable Gate Arrays
- general purpose It may be implemented by a processor (general processor), a controller, a microcontroller, a microprocessor, and the like.
- the image decoding apparatus and the image encoding apparatus to which the embodiments of the present disclosure are applied are real-time communication apparatuses such as a multimedia broadcasting transceiver, a mobile communication terminal, a home cinema video apparatus, a digital cinema video apparatus, a surveillance camera, a video conversation apparatus, and a video communication apparatus.
- 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, three-dimensional (3D) video device, video telephony video device, and medical use It may be included in a video device and the like, and may be used to process a video signal or a data signal.
- the OTT video (Over the top video) device may include a game console, a Blu-ray player, an Internet-connected TV, a home theater system, a smart phone, a tablet PC, a digital video recorder (DVR), and the like.
- a game console a Blu-ray player
- an Internet-connected TV a home theater system
- a smart phone a tablet PC
- DVR digital video recorder
- 21 is a diagram exemplarily illustrating a content streaming system to which an embodiment according to the present disclosure can be applied.
- the content streaming system to which the embodiment of the present disclosure 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 generates a bitstream by compressing content input from multimedia input devices such as a smart phone, a camera, a camcorder, etc. into digital data, and transmits it to the streaming server.
- multimedia input devices such as a smart phone, a camera, a camcorder, etc. directly generate a bitstream
- the encoding server may be omitted.
- the bitstream may be generated by an image encoding method and/or an image encoding apparatus to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream in a process of transmitting or receiving the bitstream.
- the streaming server transmits multimedia data to the user device based on a user request through the web server, and the web server may serve as a medium informing the user of a service.
- the web server transmits it to a streaming server, and the streaming server may transmit multimedia data to the user.
- the content streaming system may include a separate control server.
- the control server may serve to control commands/responses between devices in the content streaming system.
- the streaming server may receive content from a media repository and/or an encoding server. For example, when receiving content from the encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined time.
- Examples of the user device include a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a slate PC, Tablet PC (tablet PC), ultrabook (ultrabook), wearable device (e.g., watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display)), digital TV, desktop There may be a computer, digital signage, and the like.
- PDA personal digital assistant
- PMP portable multimedia player
- PDA portable multimedia player
- slate PC slate PC
- Tablet PC Tablet PC
- ultrabook ultrabook
- wearable device e.g., watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display)
- digital TV desktop
- desktop There may be a computer, 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.
- FIG. 22 is a diagram schematically illustrating an architecture for providing a 3D image/video service in which embodiment(s) of the present disclosure can be utilized.
- FIG. 22 may represent a 360 degree or omnidirectional video/image processing system. Also, the system of FIG. 22 may be implemented in, for example, an extended reality (XR: eXtended Reality) supported device. That is, the system may provide a method of providing virtual reality to the user.
- XR extended reality
- the extended reality is a generic term for virtual reality (VR), augmented reality (AR), and mixed reality (MR).
- VR technology provides only CG images of objects or backgrounds in the real world
- AR technology provides virtual CG images on top of images of real objects
- MR technology is a computer that mixes and combines virtual objects in the real world. graphic technology.
- MR technology is similar to AR technology in that it shows both real and virtual objects. However, there is a difference in that in AR technology, a virtual object is used in a form that complements a real object, whereas in MR technology, a virtual object and a real object are used with equal characteristics.
- the XR device may include a first digital device and/or a second digital device to be described later.
- 360-degree content means overall content for implementing and providing VR, and may include 360-degree video and/or 360-degree audio.
- 360-degree video may mean video or image content that is captured or played back in all directions (360 degrees or less) at the same time necessary to provide VR.
- a 360 video may mean a 360 degree video.
- 360-degree audio is also audio content for providing VR, and may refer to spatial audio content in which a sound generator can be recognized as being located in a specific three-dimensional space.
- 360-degree content can be created, processed, and transmitted to users, and users can consume VR experiences using 360-degree content.
- a 360 degree video may be referred to as an omnidirectional video
- a 360 degree image may be referred to as an omnidirectional image.
- 360-degree video is a 3D model Accordingly, it may mean a video or image displayed on various types of 3D space, for example, a 360-degree video may be displayed on a spherical surface.
- first 360 degree video may be captured via one or more cameras.
- the captured 360-degree video is transmitted through a series of processes, and the receiving end can process the received data back into the original 360-degree video and render it. Through this, a 360-degree video can be provided to the user.
- the entire process for providing a 360-degree video may include a capture process, a preparation process, a transmission process, a processing process, a rendering process, and/or a feedback process.
- the capturing process may refer to a process of capturing an image or video for each of a plurality of viewpoints through one or more cameras.
- Image/video data such as 2210 of FIG. 22 shown by the capture process may be generated.
- Each plane 2210 of FIG. 22 may mean an image/video for each viewpoint.
- the plurality of captured images/videos may be referred to as raw data.
- metadata related to the capture may be generated.
- a special camera for VR can be used for this capture.
- capturing through a real camera may not be performed.
- the process of simply generating related data may be substituted for the process of capturing.
- the preparation process may be a process of processing the captured image/video and metadata generated during the capture process.
- the captured image/video may go through a stitching process, a projection process, a region-wise packing process, and/or an encoding process during this preparation process.
- each image/video may go through a stitching process.
- the stitching process may be a process of making one panoramic image/video or a spherical image/video by connecting each captured image/video.
- the stitched image/video may be subjected to a projection process.
- the stretched image/video can be projected onto the 2D image.
- This 2D image may be referred to as a 2D image frame depending on the context.
- Projection into a 2D image can also be expressed as mapping to a 2D image.
- the projected image/video data may be in the form of a 2D image such as 2220 of FIG. 22 .
- Video data projected on the 2D image may be subjected to region-wise packing in order to increase video coding efficiency and the like.
- Packing by region may refer to a process of dividing video data projected on a 2D image for each region and applying processing.
- a region may mean a region in which a 2D image projected with 360-degree video data is divided. These regions may be divided equally by dividing the 2D image, or may be divided and divided arbitrarily, depending on the embodiment. Also, according to an embodiment, regions may be divided according to a projection scheme.
- the region-specific packing process is an optional process and may be omitted from the preparation process.
- this processing may include rotating each region or rearranging it on a 2D image in order to increase video coding efficiency. For example, by rotating the regions so that specific sides of the regions are located close to each other, efficiency in coding can be increased.
- this processing process may include a process of increasing or decreasing the resolution for a specific region in order to differentiate the resolution for each region on the 360-degree video. For example, regions corresponding to relatively more important regions on a 360-degree video may have higher resolution than other regions.
- Video data projected on the 2D image or packed video data for each region may go through an encoding process through a video codec.
- the preparation process may additionally include an editing process and the like.
- editing process editing of image/video data before and after projection may be further performed.
- metadata for stitching/projection/encoding/editing may be generated.
- metadata regarding an initial view of video data projected on the 2D image or a region of interest (ROI) may be generated.
- the transmission process may be a process of processing and transmitting image/video data and metadata that have undergone a preparation process. For transmission, processing according to any transmission protocol may be performed. Data that have been processed for transmission may be transmitted through a broadcasting network and/or broadband. These data may be delivered to the receiving side in an on-demand manner. The receiving side may receive the corresponding data through various paths.
- the processing process may refer to a process of decoding received data and re-projecting projected image/video data onto a 3D model.
- image/video data projected on 2D images may be re-projected onto 3D space.
- this process may be called mapping or projection.
- the mapped 3D space may have a different shape depending on the 3D model.
- a 3D model can have a Sphere, Cube, Cylinder, or Pyramid.
- the processing process may additionally include an editing process, an up scaling process, and the like.
- editing process editing of image/video data before and after re-projection may be further performed.
- the size may be enlarged by upscaling the samples during the upscaling process. If necessary, an operation of reducing the size through downscaling may be performed.
- the rendering process may refer to a process of rendering and displaying re-projected image/video data in a 3D space. Depending on the expression, it can be expressed as rendering on the 3D model by combining re-projection and rendering.
- the image/video re-projected onto the 3D model (or rendered onto the 3D model) may have a shape such as 2230 of FIG. 22 .
- 2230 of FIG. 22 is a case of re-projection on a 3D model of a sphere.
- a user may view a partial area of the rendered image/video through a VR display or the like. In this case, the area viewed by the user may have the same shape as 2240 of FIG. 22 .
- the feedback process may refer to a process of delivering various feedback information that may be obtained in the display process to the transmitter. Interactivity can be provided in 360-degree video consumption through the feedback process. According to an embodiment, during the feedback process, head orientation information, viewport information indicating an area currently being viewed by the user, and the like may be transmitted to the transmitter. According to an embodiment, the user may interact with things implemented in the VR environment, and in this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. Depending on the embodiment, the feedback process may not be performed.
- the head orientation information may refer to information about the user's head position, angle, movement, and the like. Based on this information, information about the area the user is currently viewing in the 360-degree video, ie, viewport information, may be calculated.
- the viewport information may be information on a region currently being viewed by a user in a 360-degree video.
- a gaze analysis may be performed to determine how the user consumes the 360-degree video, which area of the 360-degree video, how much, and the like.
- Gaze analysis may be performed at the receiving side and transmitted to the transmitting side through a feedback channel.
- a device such as a VR display may extract the viewport area based on the position/direction of the user's head, vertical or horizontal field of view (FOV) information supported by the device, and the like.
- FOV horizontal field of view
- a 360-degree video/image may be processed based on a subpicture.
- a projected picture or a packed picture including a 2D image may be divided into subpictures, and processing may be performed in units of subpictures.
- a high resolution may be given to a specific subpicture(s) according to a user viewport or the like, or only a specific subpicture(s) may be encoded and signaled to a receiving device (toward a decoding device).
- the apparatus for decoding the subpicture bitstream may reconstruct/decode the specific subpicture(s) and render it according to the user's viewport.
- the above-described feedback information may be not only transmitted to the transmitting side but also consumed at the receiving side. That is, decoding, re-projection, rendering, etc. of the receiving side may be performed using the above-described feedback information. For example, using head orientation information and/or viewport information, only a 360-degree video for a region currently being viewed by a user may be preferentially decoded and rendered.
- a viewport or a viewport area may mean an area that a user views in a 360-degree video.
- a viewpoint is a point at which a user views a 360-degree video, and may mean a central point of the viewport area. That is, the viewport is an area centered on the viewpoint, and the size and shape of the area may be determined by the Field Of View (FOV).
- FOV Field Of View
- 360-degree video data image/video data that undergoes a series of processes of capture/projection/encoding/transmission/decoding/re-projection/rendering may be referred to as 360-degree video data.
- the term 360 degree video data may also be used as a concept including metadata or signaling information related to these image/video data.
- the media file may have a file format based on ISO base media file format (ISO BMFF).
- ISO BMFF ISO base media file format
- the scope of the present disclosure includes software or machine-executable instructions (eg, operating system, application, firmware, program, etc.) that cause operation according to the method of various embodiments to be executed on a device or computer, and such software or and non-transitory computer-readable media in which instructions and the like are stored and executed on a device or computer.
- software or machine-executable instructions eg, operating system, application, firmware, program, etc.
- An embodiment according to the present disclosure may be used to encode/decode an image.
Abstract
Description
Claims (15)
- 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서, 상기 영상 복호화 방법은,비트스트림으로부터 현재 블록의 인터 예측 정보 및 랩-어라운드(wrap-around) 정보를 획득하는 단계; 및상기 인터 예측 정보 및 상기 랩-어라운드 정보에 기반하여, 상기 현재 블록의 예측 블록을 생성하는 단계를 포함하고,상기 랩-어라운드 정보는, 상기 현재 블록을 포함하는 현재 비디오 시퀀스에 대하여 랩-어라운드 움직임 보상이 가용한지 여부를 나타내는 제1 플래그를 포함하고,독립적으로 코딩되고, 상기 현재 블록을 포함하는 현재 픽처의 너비와 다른 너비를 갖는 하나 이상의 서브픽처들이 상기 현재 비디오 시퀀스에 존재하는 것에 기반하여, 상기 제1 플래그는 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 복호화 방법.
- 제1항에 있어서,상기 현재 픽처의 너비는, 상기 현재 비디오 시퀀스 내에서 픽처가 가질 수 있는 최대 너비에 관한 정보에 기반하여 유도되는영상 복호화 방법.
- 제1항에 있어서,상기 랩-어라운드 정보는, 상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 가용한지 여부를 나타내는 제2 플래그를 더 포함하는영상 복호화 방법.
- 제3항에 있어서,상기 제1 플래그가 상기 제1 값을 갖는 것에 기반하여, 상기 제2 플래그는 상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 복호화 방법.
- 제3항에 있어서,상기 현재 픽처 내 CTB(coding tree block)의 너비 및 상기 현재 픽처의 너비에 관한 소정의 조건에 기반하여, 상기 제2 플래그는 상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 복호화 방법.
- 제3항에 있어서,상기 제2 플래그가 상기 랩-어라운드 움직임 보상이 가용함을 나타내는 제2 값을 갖는 것에 기반하여, 상기 현재 블록의 예측 블록은 상기 랩-어라운드 움직임 보상에 의해 생성되는영상 복호화 방법.
- 제1항에 있어서,상기 현재 비디오 시퀀스 내의 각각의 서브픽처가 독립적으로 코딩되는지 여부는 상기 비트스트림으로부터 획득되는 제3 플래그에 기반하여 결정되는영상 복호화 방법.
- 메모리 및 적어도 하나의 프로세서를 포함하는 영상 복호화 장치로서,상기 적어도 하나의 프로세서는,비트스트림으로부터 현재 블록의 인터 예측 정보 및 랩-어라운드(wrap-around) 정보를 획득하고,상기 인터 예측 정보 및 상기 랩-어라운드 정보에 기반하여, 상기 현재 블록의 예측 블록을 생성하되,상기 랩-어라운드 정보는, 상기 현재 블록을 포함하는 현재 비디오 시퀀스에 대하여 랩-어라운드 움직임 보상이 가용한지 여부를 나타내는 제1 플래그를 포함하고,독립적으로 코딩되고, 상기 현재 블록을 포함하는 현재 픽처의 너비와 다른 너비를 갖는 하나 이상의 서브픽처들이 상기 현재 비디오 시퀀스에 존재하는 것에 기반하여, 상기 제1 플래그는 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 복호화 장치.
- 영상 부호화 장치에 의해 수행되는 영상 부호화 방법으로서, 상기 영상 부호화 방법은,현재 블록에 대하여 랩-어라운드(wrap-around) 움직임 보상을 적용할지 여부를 결정하는 단계;상기 결정에 기반하여 인터 예측을 수행함으로써, 상기 현재 블록의 예측 블록을 생성하는 단계; 및상기 현재 블록의 인터 예측 정보 및 상기 랩-어라운드 움직임 보상에 관한 랩-어라운드 정보를 부호화하는 단계를 포함하고,상기 랩-어라운드 정보는, 상기 현재 블록을 포함하는 현재 비디오 시퀀스에 대하여 상기 랩-어라운드 움직임 보상이 가용한지 여부를 나타내는 제1 플래그를 포함하고,독립적으로 코딩되고, 상기 현재 블록을 포함하는 현재 픽처의 너비와 다른 너비를 갖는 하나 이상의 서브픽처들이 상기 현재 비디오 시퀀스에 존재하는 것에 기반하여, 상기 제1 플래그는 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 부호화 방법.
- 제9항에 있어서,상기 현재 픽처의 너비는 상기 현재 비디오 시퀀스 내에서 픽처가 가질 수 있는 최대 너비에 관한 정보에 기반하여 유도되는영상 부호화 방법.
- 제9항에 있어서,상기 랩-어라운드 정보는, 상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 가용한지 여부를 나타내는 제2 플래그를 더 포함하는영상 부호화 방법.
- 제11항에 있어서,상기 제1 플래그가 상기 제1 값을 갖는 것에 기반하여, 상기 제2 플래그는 상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 복호화 방법.
- 제11항에 있어서,상기 현재 픽처 내 CTB(coding tree block)의 너비 및 상기 현재 픽처의 너비에 관한 소정의 조건에 기반하여, 상기 제2 플래그는 상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 비가용함을 나타내는 제1 값을 갖는영상 부호화 방법.
- 제9항에 있어서,상기 현재 픽처에 대하여 상기 랩-어라운드 움직임 보상이 가용한 것에 기반하여, 상기 현재 블록의 예측 블록은 상기 랩-어라운드 움직임 보상에 의해 생성되는영상 부호화 방법.
- 제9항의 영상 부호화 방법에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 기록매체.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227036940A KR20220159415A (ko) | 2020-03-26 | 2021-03-26 | 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN202180036154.4A CN115668935A (zh) | 2020-03-26 | 2021-03-26 | 基于卷绕运动补偿的图像编码/解码方法和设备及存储比特流的记录介质 |
EP21775832.5A EP4131959A4 (en) | 2020-03-26 | 2021-03-26 | METHOD AND APPARATUS FOR IMAGE ENCODING/DECODING BASED ON WRAPPING MOTION COMPENSATION, AND RECORDING MEDIUM STORING BIT STREAM |
JP2022558216A JP7348411B2 (ja) | 2020-03-26 | 2021-03-26 | ラップアラウンド動き補償に基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存した記録媒体 |
US17/952,898 US11917194B2 (en) | 2020-03-26 | 2022-09-26 | Image encoding/decoding method and apparatus based on wrap-around motion compensation, and recording medium storing bitstream |
JP2023145362A JP2023162431A (ja) | 2020-03-26 | 2023-09-07 | ラップアラウンド動き補償に基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存した記録媒体 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063000473P | 2020-03-26 | 2020-03-26 | |
US63/000,473 | 2020-03-26 | ||
US202063009975P | 2020-04-14 | 2020-04-14 | |
US63/009,975 | 2020-04-14 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/952,898 Continuation US11917194B2 (en) | 2020-03-26 | 2022-09-26 | Image encoding/decoding method and apparatus based on wrap-around motion compensation, and recording medium storing bitstream |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021194307A1 true WO2021194307A1 (ko) | 2021-09-30 |
Family
ID=77892034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/003790 WO2021194307A1 (ko) | 2020-03-26 | 2021-03-26 | 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11917194B2 (ko) |
EP (1) | EP4131959A4 (ko) |
JP (2) | JP7348411B2 (ko) |
KR (1) | KR20220159415A (ko) |
CN (1) | CN115668935A (ko) |
WO (1) | WO2021194307A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024002185A1 (en) * | 2022-06-29 | 2024-01-04 | Douyin Vision (Beijing) Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024016955A1 (en) * | 2022-07-22 | 2024-01-25 | Mediatek Inc. | Out-of-boundary check in video coding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180056730A (ko) * | 2015-09-23 | 2018-05-29 | 노키아 테크놀로지스 오와이 | 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품 |
US20180213248A1 (en) * | 2014-07-21 | 2018-07-26 | Gurulogic Microsystems Oy | Encoder, decoder and method |
WO2020050752A1 (en) * | 2018-09-07 | 2020-03-12 | Huawei Technologies Co., Ltd. | Method and apparatus for interpolation filtering for intra- and inter-prediction in video coding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220377344A1 (en) * | 2019-09-19 | 2022-11-24 | Vid Scale, Inc. | Systems and methods for versatile video coding |
US11375238B2 (en) * | 2019-09-20 | 2022-06-28 | Tencent America LLC | Method for padding processing with sub-region partitions in video stream |
US20210297704A1 (en) * | 2020-03-20 | 2021-09-23 | Qualcomm Incorporated | Independent subpicture signaling in video coding |
CN115699755A (zh) * | 2020-03-26 | 2023-02-03 | Lg电子株式会社 | 基于卷绕运动补偿的图像编码/解码方法和装置及存储比特流的记录介质 |
-
2021
- 2021-03-26 CN CN202180036154.4A patent/CN115668935A/zh active Pending
- 2021-03-26 WO PCT/KR2021/003790 patent/WO2021194307A1/ko unknown
- 2021-03-26 KR KR1020227036940A patent/KR20220159415A/ko active Search and Examination
- 2021-03-26 JP JP2022558216A patent/JP7348411B2/ja active Active
- 2021-03-26 EP EP21775832.5A patent/EP4131959A4/en active Pending
-
2022
- 2022-09-26 US US17/952,898 patent/US11917194B2/en active Active
-
2023
- 2023-09-07 JP JP2023145362A patent/JP2023162431A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180213248A1 (en) * | 2014-07-21 | 2018-07-26 | Gurulogic Microsystems Oy | Encoder, decoder and method |
KR20180056730A (ko) * | 2015-09-23 | 2018-05-29 | 노키아 테크놀로지스 오와이 | 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품 |
WO2020050752A1 (en) * | 2018-09-07 | 2020-03-12 | Huawei Technologies Co., Ltd. | Method and apparatus for interpolation filtering for intra- and inter-prediction in video coding |
Non-Patent Citations (3)
Title |
---|
BENJAMIN BROSS , JIANLE CHEN , SHAN LIU , YE-KUI WANG: "Versatile Video Coding (Draft 8)", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q2001-vE, 12 March 2020 (2020-03-12), pages 1 - 510, XP030285390 * |
See also references of EP4131959A4 * |
Y. HE (INTERDIGITAL), A. HAMZA (INTERDIGITAL), B. CHOI (TENCENT), S. WENGER (TENCENT): "[AHG9/AHG12] On sub-picture wrap around signaling", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 1 January 2020 (2020-01-01), XP030222911 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024002185A1 (en) * | 2022-06-29 | 2024-01-04 | Douyin Vision (Beijing) Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024016955A1 (en) * | 2022-07-22 | 2024-01-25 | Mediatek Inc. | Out-of-boundary check in video coding |
Also Published As
Publication number | Publication date |
---|---|
US20230012751A1 (en) | 2023-01-19 |
EP4131959A4 (en) | 2024-03-06 |
JP2023519332A (ja) | 2023-05-10 |
JP2023162431A (ja) | 2023-11-08 |
CN115668935A (zh) | 2023-01-31 |
US11917194B2 (en) | 2024-02-27 |
KR20220159415A (ko) | 2022-12-02 |
JP7348411B2 (ja) | 2023-09-20 |
EP4131959A1 (en) | 2023-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021040480A1 (ko) | 인루프 필터링 기반 영상 코딩 장치 및 방법 | |
WO2021145687A1 (ko) | 서브 픽처 및 픽처 헤더에 관한 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021132964A1 (ko) | Nal 유닛 관련 정보 기반 영상 또는 비디오 코딩 | |
WO2021006579A1 (ko) | 머지 후보의 양방향 예측을 위한 가중치 인덱스를 유도하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021194307A1 (ko) | 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2020185047A1 (ko) | 인트라 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020256455A1 (ko) | 디폴트 머지 모드에 기반하여 예측 샘플을 도출하는 영상 디코딩 방법 및 그 장치 | |
WO2021141477A1 (ko) | 머지 후보들의 최대 개수 정보를 포함하는 시퀀스 파라미터 세트를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021132963A1 (ko) | 슬라이스 또는 픽처에 대한 nal 유닛 타입 기반 영상 또는 비디오 코딩 | |
WO2021177791A1 (ko) | 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021125700A1 (ko) | 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치 | |
WO2021040482A1 (ko) | 적응적 루프 필터링 기반 영상 코딩 장치 및 방법 | |
WO2021194308A1 (ko) | 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
WO2021112633A1 (ko) | 동일 위치 픽처에 관한 정보를 포함하는 픽처 헤더에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021125702A1 (ko) | 가중된 예측에 기반한 영상/비디오 코딩 방법 및 장치 | |
WO2021162494A1 (ko) | 필터 가용 정보를 선택적으로 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021015512A1 (ko) | Ibc를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020184990A1 (ko) | Ibc 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021125701A1 (ko) | 인터 예측 기반 영상/비디오 코딩 방법 및 장치 | |
WO2021049865A1 (ko) | Bdof를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2021034122A1 (ko) | Hmvp 후보에 기반하여 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020185045A1 (ko) | 크로마 블록에 대한 분할 제한을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020256486A1 (ko) | 크로마 블록의 분할 조건을 제한하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2024076141A1 (ko) | 포스트 디코딩 필터에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 | |
WO2024010291A1 (ko) | 휘도 보상(illumination compensation)에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 |
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: 21775832 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022558216 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 20227036940 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2021775832 Country of ref document: EP Effective date: 20221026 |