WO2011049392A2 - Image encoding and decoding apparatus and method - Google Patents

Image encoding and decoding apparatus and method Download PDF

Info

Publication number
WO2011049392A2
WO2011049392A2 PCT/KR2010/007252 KR2010007252W WO2011049392A2 WO 2011049392 A2 WO2011049392 A2 WO 2011049392A2 KR 2010007252 W KR2010007252 W KR 2010007252W WO 2011049392 A2 WO2011049392 A2 WO 2011049392A2
Authority
WO
WIPO (PCT)
Prior art keywords
macroblock
size
current
encoding
decoding
Prior art date
Application number
PCT/KR2010/007252
Other languages
French (fr)
Korean (ko)
Other versions
WO2011049392A3 (en
Inventor
송진한
김수년
임정연
문주희
이영렬
김해광
전병우
한종기
박형미
박민철
김동원
김기백
이주옥
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020100035536A external-priority patent/KR20110043407A/en
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to US13/503,169 priority Critical patent/US9137545B2/en
Priority to CN201080058670.9A priority patent/CN102668565B/en
Priority claimed from KR1020100103075A external-priority patent/KR101534049B1/en
Publication of WO2011049392A2 publication Critical patent/WO2011049392A2/en
Publication of WO2011049392A3 publication Critical patent/WO2011049392A3/en
Priority to US14/808,916 priority patent/US9344731B2/en
Priority to US14/808,993 priority patent/US9344732B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to an image encoding / decoding apparatus and method. More specifically, an apparatus and method for efficiently encoding and decoding an outer portion of an input image when the size of the input image is not an integer multiple of the macroblock size. ) Are coded / decoded on the assumption of the mode that generates the least bits, or the part (block) that crosses the image boundary does not encode / decode data such as prediction information or transform information or uses variable macroblock size.
  • the present invention relates to a method and an apparatus for encoding and decoding an image.
  • Standardized techniques for compressing video data currently include H.261, H.263, H.264, MPEG-2, and MPEG-4. According to the existing video compression technology, each image is divided into macroblocks of fixed size and encoded in macroblock units.
  • the input image is padded such that the input image is an integer multiple of the macroblock, and then all luma components of each macroblock in the padded input image are padded.
  • the chroma components are predicted spatially and temporally, and the predicted residuals are compressed through a process of transform, quantization, and entropy coding.
  • the input image and the size of the macroblock are not integer multiples, the input image is padded to an integer multiple of the macroblock size, and then the type and prediction mode of the macroblock including the padded area Determination and encoding make it difficult to determine an optimal macroblock type and prediction mode, and encoding efficiency may be degraded because a bitstream including data of a padded region is generated.
  • An embodiment of the present invention was devised to efficiently solve the above-described problem.
  • the boundary of an image is crossed when the outer portion is encoded and decoded.
  • the parts (blocks) are coded / decoded on the assumption that they are the least-occurring mode, or the parts (blocks) crossing the image boundary do not encode / decode data such as prediction information or transform information, or macroblocks of variable size.
  • the main purpose is to improve the compression efficiency and the reconstruction efficiency by encoding and decoding the image using the.
  • An image encoding / decoding apparatus for achieving the above object is to set the horizontal and vertical sizes of the variable macroblock when the variable macroblock of the current encoding target is not located inside the input image.
  • An image encoder configured to reduce the size or the ratio to a size smaller than the current size and perform prediction encoding based on the reset variable macroblock; And when the variable macroblock of the current decoding target is not located inside the input image, the image decoding is performed by reducing the size of the variable macroblock of the current decoding target to a set size or ratio and resetting it to a size smaller than the current size. It is characterized by including a group.
  • the size of the horizontal and vertical size of the macroblock of the current encoding target if the macroblock of the current encoding target does not reach a predetermined ratio or more
  • a macroblock size setter configured to reset the size of the macroblock by reducing the ratio to a set size or ratio;
  • a predictor for performing intra prediction or inter prediction on a macroblock of a current encoding target;
  • an encoder for transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
  • the image encoding apparatus when the macroblock of the current encoding target is not located inside the input image, the image encoding apparatus according to another embodiment of the present invention may be used.
  • a macroblock size setter for resetting the size of the macroblock of the current encoding target to the largest size located;
  • a predictor for performing intra prediction or inter prediction on a macroblock of a current encoding target;
  • an encoder for transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
  • the size of the horizontal and vertical size of the macroblock of the current decoding target if the macroblock of the current decoding target does not span more than a predetermined ratio to the input video
  • a macroblock size setter configured to reset the size of the macroblock by reducing the ratio to a set ratio
  • a decoder which extracts and decodes prediction information including type information and transform coefficients of a macroblock to be decoded from the bitstream
  • a predictor for performing intra prediction or inter prediction on a macroblock to be decoded based on the type information
  • a reconstruction unit for inversely quantizing and inversely transforming a transform coefficient to generate a residual signal, and generating a reconstructed macroblock by adding a residual signal generated to a value predicted by the predictor.
  • the image decoding apparatus when the macroblock to be decoded currently is not located inside the input image, the image decoding apparatus according to another embodiment of the present invention may be used.
  • a macroblock size setter for resetting the size of the macroblock to be decoded to the largest size to be located;
  • a decoder which extracts and decodes prediction information including type information and transform coefficients of a macroblock to be decoded from the bitstream;
  • a predictor for performing intra prediction or inter prediction on a macroblock to be decoded based on the type information;
  • a reconstruction unit for generating a residual signal by inversely quantizing and inversely transforming a transform coefficient, and generating a reconstructed macroblock by adding the residual signal generated to a value predicted by a predictor.
  • the video encoding / decoding method for achieving the above object is to set the horizontal and vertical sizes of the variable macroblock when the variable macroblock of the current encoding target is not located inside the input video. Reducing to a size or a ratio and resetting to a size smaller than a current size, and performing predictive encoding based on the reset variable macroblock; And when the variable macroblock of the current decoding target is not located inside the input image, reducing the size of the variable macroblock of the current decoding target by a set size or ratio and resetting the variable macroblock to a size smaller than the current size to perform decoding. It is characterized by including.
  • the size of the horizontal and vertical size of the macroblock of the current encoding target when the macroblock of the current encoding target does not reach a predetermined ratio or more Resetting the size of the macroblock by reducing to a predetermined size or ratio; Performing intra prediction or inter prediction on a macroblock of a current encoding target; And transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
  • the size of the macroblock may be reset by repeatedly reducing the horizontal and vertical sizes to a predetermined ratio until the macroblock of the current encoding target reaches a predetermined ratio or more.
  • the image encoding method may be performed within the input image. Resetting the size of the macroblock of the current encoding target to the largest size located; Performing intra prediction or inter prediction on a macroblock of a current encoding target; And transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
  • the size of the available macroblock is preferably an integer multiple of the size of the available transform.
  • the size of the horizontal and vertical size of the current macroblock to be decoded if the current macroblock to be decoded does not span a predetermined ratio or more Resetting the size of the macroblock by reducing the ratio to a set ratio; Extracting and decoding prediction information including type information and transform coefficients of the macroblock to be decoded from the bitstream; Performing intra prediction or inter prediction on the current macroblock to be decoded based on the type information; And generating a residual signal by inversely quantizing and inversely transforming the transform coefficient, and generating a reconstructed macroblock by adding the residual signal generated to the predicted value.
  • the image decoding method may be performed in the input image. Resetting the size of the macroblock to be decoded to the largest size to be located; Extracting and decoding prediction information including type information and transform coefficients of the macroblock to be decoded from the bitstream; Performing intra prediction or inter prediction on the current macroblock to be decoded based on the type information; And inversely quantizing and inversely transforming the transform coefficient to generate a residual signal, and generating a reconstructed macroblock by adding the residual signal generated to the value predicted by the predictor.
  • the image when the size of the input image is not an integer multiple of the size of the macroblock, the image is encoded and used by using the variable macroblock size when encoding and decoding the outer portion of the input image.
  • the compression efficiency and the recovery efficiency can be improved.
  • 1 and 2 are diagrams for explaining image encoding and decoding when an input image is padded to be an integer multiple of a macroblock size according to a conventional encoding / decoding method.
  • 3 and 4 are diagrams for explaining image encoding and decoding using variable size macroblocks according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating an image encoding method according to another embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating an image decoding method according to another embodiment of the present invention.
  • FIG. 9 is a diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 10 is a diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
  • a video encoding apparatus (Video Encoding Apparatus), a video decoding apparatus (Video Decoding Apparatus) to be described below is a personal computer (PC), notebook computer, personal digital assistant (PDA), portable multimedia player (PMP) : Portable Multimedia Player (PSP), PlayStation Portable (PSP: PlayStation Portable), Mobile Communication Terminal (Mobile Communication Terminal), and the like, and may be used to encode a video or a communication device such as a communication modem for communicating with various devices or a wired or wireless communication network. It refers to various devices having various programs for decoding and a memory for storing data, a microprocessor for executing and controlling a program.
  • PC personal computer
  • PDA personal digital assistant
  • PMP portable multimedia player
  • PSP Portable Multimedia Player
  • PSP PlayStation Portable
  • Mobile Communication Terminal Mobile Communication Terminal
  • the image encoded in the bitstream by the video encoding apparatus is real-time or non-real-time through the wired or wireless communication network, such as the Internet, local area wireless communication network, wireless LAN network, WiBro network, mobile communication network, or the like, or a cable, universal serial bus (USB: Universal)
  • the image decoding apparatus may be transmitted to a video decoding apparatus through a communication interface such as a serial bus, decoded by the video decoding apparatus, reconstructed, and played back.
  • An embodiment of the present invention describes a method of encoding / decoding an outer portion of an input image over a portion of a macroblock when the size of the input image is not an integer multiple of the size of the macroblock.
  • FIGS. 1 and 2 are diagrams for explaining image encoding and decoding when an input image is padded to an integer multiple of a macroblock size according to a conventional encoding / decoding method
  • FIGS. 3 and 4 illustrate the present invention.
  • FIG. I s a diagram for describing image encoding and decoding using a variable size macroblock according to an embodiment of the present invention.
  • the existing encoding / decoding method divides the input image into 1280x768, which is an integer multiple of the macroblock size as shown in FIG. Encoding and decoding are performed in units of macroblocks.
  • the 20 macroblocks located at the bottom are 64x16 that is included in the actual input image and 64x48 is a portion not included in the input image.
  • the conventional encoding / decoding method is as shown in FIG. 2 and pads the input image to 1920x1152, which is an integer multiple of the macroblock size, as shown in FIG. Encoding and decoding are performed by dividing into two macroblocks.
  • the 128x56 pixel area in each macroblock is a part included in the actual input image
  • the 128x72 pixel area is an area belonging to the padded area.
  • the macroblock is positioned at the boundary of the input image.
  • the macroblock is located at the lowermost boundary of the input image, and the macroblocks located at the lowermost end have a lot of padded area data than the actual image area in the macroblock. Can be determined. That is, the prediction mode and the macroblock type determined using only the actual image area may be different.
  • the bitstream is generated to include the data of the padded region, encoding and decoding performance may be degraded.
  • a small sized macroblock such as 16x16 may be encoded, but since a high resolution image is efficiently encoded in a large block unit, a method of encoding / decoding using a small sized macroblock for the entire image is performed. Is not effective.
  • a macroblock having a large size is used for the inside of the input image, and a macroblock having a variable size is used to minimize padding area data when encoding / decoding an outer portion of the input image.
  • Effective encoding / decoding is performed on the outer portion of the input image while maintaining the encoding / decoding efficiency obtained by using the macroblock of.
  • the size of the macroblock for encoding / decoding the outer portion of the input image can be obtained by using the same method as the encoder and the decoder if the size of the input image and the size of the macroblock are known, so additional information indicating the size of the macroblock is necessary. Not.
  • the 16x16 macroblock is encoded / decoded so that data other than the input image is not used for encoding / decoding.
  • the data encoded in the bitstream may use only pixel values belonging to the actual input image.
  • FIG. 4 illustrates an example of another invention in which the size of an input image is 1920x1080 and the size of a macroblock is 128x128, the 1920x1024 pixel area of the input image is encoded / decoded using a macroblock having a size of 128x128.
  • the size of the macroblock is reduced by a predetermined ratio or a predetermined size for the lowermost 1920x56 pixel area covering a part of the macroblock. After resetting the size of the macroblock, even when encoding using the reset macroblock, it is determined whether or not the part of the input image is covered by the macroblock and to what extent, and encoding using the reset macroblock.
  • the encoding / decoding is performed using the reset macroblock.
  • the area of the macroblock that covers the input image is a region of a predetermined size, for example, 1/2 or more, and only a portion of the macroblock is covered, padding is performed and image encoding / decoding is performed.
  • the macroblock of the reset size is used, if the portion of the input image that extends to the macroblock is smaller than an area of a predetermined size, for example, 1/2, the macroblock is resized again and encoded / decoded using the above-described method. Do this.
  • the size of the macroblock is determined whether the size of the macroblock should be reset when encoding / decoding the lowest 1920x56 pixel region of the input image using 1/2 as the reduction ratio of the macroblock. Since the area of the 128x128 macroblock is 128x56, which is smaller than 1/2 of the macroblock, the size of the macroblock is reset using a predetermined reduction ratio, for example, 1/2. Since the area of the reset 64x64 macroblock is 64x56 and is 1/2 or more of the reset macroblock, the lowest region of the input image is encoded / decoded using a 64x64 macroblock. At this time, since the input image exists only for 64x56 pixels which are a part of the macroblock, padding is performed for the 64x16 pixel area.
  • FIG. 5 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
  • the video encoder sets the size and shape of one or more usable macroblocks (S502).
  • the size and shape of the usable macroblocks may be determined by the type or transformation of subblocks in the usable macroblocks or input by the user, or may be a defined candidate group input from other devices.
  • the size and shape of the available macroblock may be one or more, such as 64x64, 32x32, 16x16, 8x8. Provided that the size of the available macroblocks must be a positive integer multiple of the size of the available transforms.
  • the size of available macroblocks is determined by the size of the subblocks or transforms in the macroblocks, and the size of subblocks available for prediction is 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, 16x16, If 16x32, 32x16, 32x32, 32x16, 32x32, 32x64, 64x32, 64x64 and the available transform sizes are 4x4, 8x8, 16x16, the size of the available macroblock may be the same as the type of subblocks in the macroblock. .
  • the size of the available macroblock may be 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, 16x16, 16x32, 32x16, 32x32, 32x16, 32x32, 32x64, 64x32, 64x64.
  • the size and shape information of the macroblock usable herein may be included in sequence header, picture or slice header information, and may be encoded in a bitstream.
  • the size and shape of the available macroblocks may be determined internally according to the type of subblocks used for prediction and the type of subblocks used by the encoder and the decoder. In this case, the size and shape information of the usable macroblock is not encoded in the bitstream.
  • the size information of the input image is encoded in the sequence header, and the decoder extracts and decodes the encoded input image size information from the bitstream, and performs each macroblock decoding using the reconstructed size of the input image.
  • the macroblock is divided into a plurality of subblocks. Predictive encoding of the current macroblock having a reference size is performed to generate encoded image data, and the encoding of the current macroblock to be encoded is terminated and the next macroblock encoding is started (S506).
  • the size of the current encoding target macroblock is reset (S508).
  • the method of resetting the size of the macroblock may reset the size of the macroblock by reducing the width and height of the current macroblock by a predetermined ratio, such as 1/2, and may be used in the input image among the available macroblock sizes. It can also be reset to the macroblock size of the largest size that allows the macroblock to be located. However, it should be one of the sizes of available macroblocks and smaller than the size of the current macroblock.
  • the largest size that allows the macroblock to be positioned inside the input image among the available macroblock sizes may be determined as the macroblock size. Referring to the case of Figure 3 as an example. If the available macroblock sizes are 64x64, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8 For macroblocks of 8x4, 4x8, and 4x4 and the input image in the macroblock is 64x16, the size of the macroblock is reset.
  • the macroblock sizes that allow the macroblock to be placed inside the input image are 64x16, 64x8, 64x4, 32x16, 32x8, 32x4, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8.
  • 4x4 which is 64x16, the largest of which is the size of the current macroblock, and predictively encodes the current coded macroblock to generate coded image data, thereby ending the current macroblock encoding and determining the size of the macroblock as the reference macroblock size. After resetting to 64x64, the next macroblock coding starts.
  • the available macroblock sizes are 64x64, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8 , 8x4, 4x8, 4x4 and 64x48 of the input image in the macroblock
  • the macroblock sizes that allow the macroblock to be located inside the input image are 64x32, 64x16, 64x8, 64x4, 32x32 , 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8, 4x4, the largest of which is 64x32 as the size of the current macroblock and the current encoded macroblock
  • Predictively encode to generate encoded image data end the current macroblock encoding, reset the macroblock size to 64x64 as
  • the encoding method will be described with reference to FIG. 3 as follows. .
  • FIG. 6 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • the image decoder sets one or more usable macroblock sizes (S602).
  • the size of the usable macroblock may be determined by the size of the usable subblock or the type of transform, or may be set by extracting usable macroblock size information from the bitstream. It may also be a predetermined candidate group input from other devices.
  • a method for setting a usable macroblock size uses a method promised with an encoder among the aforementioned methods.
  • the information is extracted from a position promised with an encoder such as a sequence header, a picture header, a slice header, or a macroblock header, and then decoded and set.
  • an encoder such as a sequence header, a picture header, a slice header, or a macroblock header
  • the decoder internally sets the usable macroblock size information in a manner promised by the encoder.
  • the size and shape of the available macroblocks are set using the method promised by the encoder, and then the current in the input image using the current decoding target macroblock number.
  • the position of the decoding target macroblock is calculated (S604). If the current decoding target macroblock is located inside the input image (S606), the macroblock data encoded from the bitstream is extracted and decoded using the reference macroblock size, and the macroblock decoding is performed using the decoded macroblock data. It performs (S608).
  • the current decoding target macroblock is input using the reset macroblock size. After determining whether it is located inside the video or only part of the input video, if it is located inside the input video, macroblock decoding is performed using the reset macroblock, and if it is over the input video, the macroblock size is reset again. (S610).
  • FIG. 7 is a flowchart illustrating a video encoding method according to another embodiment of the present invention.
  • the current encoding target macroblock is positioned inside the input image.
  • the current macroblock divided into the plurality of subblocks is predictively encoded to generate encoded image data to end encoding of the current macroblock to be encoded, and then the next macroblock encoding is started (S710).
  • the input video is recorded as much as the size of the region located outside the input video.
  • the current encoding target macroblock is predictively encoded to generate encoded image data to terminate encoding of the current encoding target macroblock, and the next macroblock encoding is started (S710).
  • the size of the macroblock is reset using the above-described method. Then, it is determined whether the current macroblock of the reset size is located inside the input image and how long it is if not located within the input image, and then the encoding or the input image using the macroblock of the current size described above is padded. After that, the encoding or macroblock size reset process using the macroblock of the current size is repeated (S712).
  • the method of encoding macroblocks including a padded region is encoded / decoded on the assumption that the portions (blocks) crossing the image boundary in the macroblock are the least generated mode, or the data of these blocks are decoded. Do not encode / decode.
  • Each macroblock is divided into a plurality of subblocks and intra prediction or inter prediction encoding is performed.
  • the subblocks located in the input image may be selected from the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) in consideration of an error value between the encoding target block and the reconstruction block and the number of bits required to encode the encoding target block.
  • the subblocks located outside the input image determine the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) by considering only the number of bits necessary to encode the encoding target block, and encode the determined mode information into a bitstream.
  • Each block is restored according to the determined mode information. That is, the current subblock is encoded in the mode having the least generation bits in consideration of only generation bits necessary for data encoding such as prediction mode information, transformation information, and transformation coefficient information during prediction encoding.
  • the subblocks located in the input image may be encoded using the above-described method, and the subblocks located outside the input image may be an intra prediction mode or an inter prediction mode (that is, a motion vector) in consideration of only the number of bits necessary for encoding the encoding target block.
  • reference picture information encodes the determined mode information into a bitstream and reconstructs each block by using a method of padding the input image when generating the reconstructed block. That is, when padding is performed by filling 128 pixel values of portions crossing the image boundary when the input image is padded, all the pixel values of the reconstructed blocks of the subblocks located outside the input image are 128.
  • the subblocks located in the input image are encoded using the above-described method, and data such as prediction information, transform information, or transform coefficient information, etc. of subblocks located outside the input image are encoded into a bitstream and input when generating a reconstructed block. Each block may be reconstructed using a method of padding an image.
  • the above-described method of encoding a macroblock including portions (blocks) crossing an image boundary in the macroblock may be used in combination with an existing encoding method.
  • FIG. 8 is a flowchart illustrating an image decoding method according to another embodiment of the present invention.
  • the image decoder sets the size of one or more usable macroblocks using the method promised with the encoder (S802). If the size of the available macroblock is determined by the information extracted from the bitstream, the information is extracted from a position promised with an encoder such as a sequence header, a picture header, a slice header, or a macroblock header, and then decoded and set.
  • an encoder such as a sequence header, a picture header, a slice header, or a macroblock header
  • the decoder internally sets the usable macroblock size information in a manner promised by the encoder.
  • the size and shape of the available macroblocks are set using the method promised by the encoder, and then the current in the input image using the current decoding target macroblock number.
  • the position of the decoding target macroblock is calculated (S804).
  • the encoded macroblock data is extracted and decoded from the bitstream. Then, macroblock decoding is performed using the decoded macroblock data (S808).
  • the current decoding target macroblock is not located inside the input image and covers a predetermined area, for example, an area smaller than 1/2 (S806), after resetting the size of the macroblock using the above-described method, After determining how much the current macroblock of the reset size extends to the input image, the macroblock size is reset again or macroblock decoding is performed on the macroblock of the currently set size (S810).
  • a predetermined area for example, an area smaller than 1/2 (S806)
  • the block may be a macroblock of size MxN (where M and N may be an integer greater than or equal to 16) or a subblock or subblock of size OxP (where O and P are integers less than or equal to M or N).
  • MxN macroblock of size MxN
  • OxP subblock or subblock of size OxP
  • encoding and decoding in units of blocks is exemplary, and an image may be encoded and decoded into a standardized area or an unstructured area such as a block.
  • the video encoding / decoding apparatus described below may use blocks of any size, but the size of the blocks is the size promised by the video encoding apparatus and the video decoding apparatus.
  • FIG. 9 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
  • An image encoding apparatus is an apparatus for encoding an image using a macroblock of 16x16 or larger size, and includes a macroblock size setter 902, a predictor 903, an encoder 910, and a reconstructor ( 912, filter 914, and frame memory 916.
  • the reconstructor 912, the filter 914, and the frame memory 916 may be selectively omitted or included in other components according to an implementation method.
  • the macroblock size setter 902 resets the size of the macroblock when the current encoding target macroblock is not located inside the input image.
  • the method of resetting the size of the macroblock is only when the current macroblock to be encoded is not located inside the input image, while reducing the horizontal and vertical sizes of the current macroblock by a predetermined ratio, for example, 1/2.
  • the size of may be reset or may be reset to the macroblock size of the largest size that allows the macroblock to be positioned inside the input image among the available macroblock sizes.
  • the size of the macroblock may be reset using the above-described method.
  • the predictor 903 may include a motion estimator 904, a motion compensator 906, and an intra predictor 908, and predict a macroblock of an input image.
  • the macroblock refers to a macroblock of 16x16 or more size (ie, an MxN sized macroblock, provided that M and an integer of N ⁇ 16).
  • the motion estimator 904 generates a motion vector by estimating the motion of the macroblock by comparing the macroblock to be predicted with the reference picture stored in the frame memory.
  • the motion compensator 906 refers to a motion vector generated by the motion estimator 904 to obtain a block corresponding to the size of the macroblock to be predicted from the reference picture stored in the frame memory.
  • the macroblock obtained by the motion compensator 906 becomes a prediction macroblock having a prediction value of the macroblock to be predicted.
  • the intra predictor 908 intra predicts a macroblock to be predicted.
  • the intra prediction unit 908 generates a reference block by using the neighboring pixel information that is already encoded, decoded, and reconstructed, compares the reference block with the macroblock to be encoded, and determines an intra prediction mode, and determines the intra prediction mode. Therefore, the macroblock is intra predicted.
  • the macroblock predicted by the intra prediction unit 908 becomes a prediction macroblock having a prediction value of the target macroblock.
  • the encoder 910 encodes a residual signal that is a difference between pixel values of the target macroblock and the predictive macroblock.
  • the encoder 910 may transform, quantize, and entropy encode the residual signal.
  • the encoder 908 may encode motion information such as a motion vector generated by the motion estimation unit 904 and macroblock mode information such as a size of a macroblock. have.
  • the encoder intra prediction the target macroblock to be encoded the encoder may encode prediction mode information such as an intra prediction mode and macroblock mode information such as a size of the macroblock.
  • the reconstructor 912 reconstructs the target macroblock by inversely quantizing and inversely transforming the changed and quantized residual signal and adding the prediction macroblock output from the predictor.
  • the filter 914 filters the reconstructed target macroblock using a filter such as a deblocking filter.
  • the filtered reconstructed macroblock is stored in the frame memory 916 and used by the predictor 903 to predict the next macroblock or macroblock of the next picture.
  • FIG. 10 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
  • An image decoding apparatus includes a macroblock size setter 1001, a decoder 1002, a predictor 1003, a reconstructor 1008, a filter 1010, and a frame memory 1012. Can be configured.
  • the macroblock size setter 1001 obtains the position of the decoding target macroblock by using the current decoding target macroblock number and resets the size of the macroblock when the decoding target macroblock is not located inside the input image.
  • the macroblock number can be calculated by increasing the number of macroblocks internally decoded by the decoder by 1, and the size of the input image can be obtained by extracting and decoding the sequence header from the bitstream.
  • the method of resetting the size of the macroblock is only when the current macroblock to be decoded is not located inside the input image, while reducing the horizontal and vertical sizes of the current macroblock by a predetermined ratio, for example, 1/2.
  • the size of may be reset or may be reset to the macroblock size of the largest size that allows the macroblock to be positioned inside the input image among the available macroblock sizes.
  • the size of the macroblock may be reset using the above-described method.
  • the decoder 1002 extracts three types of information required for macroblock decoding from the input bitstream.
  • macroblock type information and subblock mode information indicating whether a macroblock to be currently decoded is an inter macroblock or an intra macroblock and a subblock mode of the macroblock are extracted by entropy decoding.
  • information necessary for prediction is extracted by entropy decoding.
  • the type of prediction data to be decoded and the method of decoding the prediction data vary depending on whether each block is an intra block or an inter block.
  • the block to be restored is an inter macro block
  • a reference picture required for motion compensation of each subblock from the bitstream Information about a motion such as information and a motion vector is extracted and decoded.
  • information about an intra prediction mode of a luminance component and a chrominance component is extracted and decoded from a bitstream.
  • the information necessary for decoding the residual signal is decoded.
  • information indicating whether a non-zero transform coefficient is present in each subblock for example, CBP
  • the decoder 1002 calculates the position of each subblock in the macroblock and whether the current subblock crosses the image boundary. After determining, the mode information of the subblock, information necessary for prediction, and information necessary for decoding the residual signal are not decoded for the subblock crossing the image boundary (that is, the decoder does not encode the bitstream into the bitstream. Extraction and decryption from
  • the predictor 1003 predicts a current block to be currently decoded, and may include a motion compensator 1004 and an intra predictor 1006. If the current block is an inter block, the motion compensator 1004 predicts by bringing pixels of the size of the current macroblock from the reference picture stored in the frame memory using the motion vector decoded and decoded by the decoder 1002. Create a macroblock. If the current block is an intra block, the intra predictor 1006 predicts the current macroblock according to the intra prediction mode decoded and reconstructed by the decoder 1002 to generate a predicted macroblock.
  • the encoder determines the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) by considering only the number of bits required as the encoding method of blocks crossing the image boundary in the macroblock, and encodes the determined mode information into the bitstream.
  • the predictor 1006 calculates the position of each subblock in the macroblock and determines whether the current subblock crosses the image boundary. After the determination, the subblock crossing the image boundary is generated without using the mode information extracted from the bitstream by using the padding method promised with the encoder.
  • the encoder does not encode data of blocks crossing the image boundary in the macroblock into a bitstream, it is determined whether the current subblock crosses the image boundary, and then the padding promised to the encoder for the subblock crossing the image boundary.
  • the prediction block is generated using the method.
  • the decompressor 1008 inversely quantizes the quantized transform coefficients decoded by the decoder, and inversely transforms the dequantized transform coefficients using the transform type extracted and reconstructed by the decoder 1002 to generate a residual signal.
  • the reconstructed macroblock is generated by adding the predicted macroblock generated by the predictor to the received residual signal.
  • the generated reconstruction macroblock is filtered by the filter 1010 and stored in the frame memory 1012 and used to reconstruct the next macroblock or the next picture.
  • the encoder determines the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) by considering only the number of bits required as the encoding method of blocks crossing the image boundary in the macroblock, and encodes the determined mode information into the bitstream.
  • the current subblock is an image. After determining whether to cross the boundary, the predicted block generated by using the padding method promised with the encoder is generated as a reconstructed block for the subblock crossing the image boundary. (I.e. no residual signal is assumed)
  • the above-described method of decoding a macroblock including portions (blocks) crossing an image boundary in the macroblock may be used in combination with an existing decoding method.
  • the image when the size of the input image is not an integer multiple of the size of the macroblock of any size, the image is encoded and used by using a variable size macroblock when encoding and decoding the outer part of the image. It is a very useful invention to generate an effect that can improve the compression efficiency and the recovery efficiency by decoding.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention provides an image encoding and decoding apparatus and method. According to one embodiment of the present invention, the image encoding and decoding apparatus comprises: an image encoder which reduces horizontal and vertical sizes of a variable macro block into the set size or ratio so that the variable macro block may be reset in a smaller size than the current size, if the variable macro block of the current encoding target is not positioned inside an input image, and performs a prediction encoding process on the basis of the reset variable macro block; and an image decoder which performs a decoding process by reducing the size of a variable macro block of the current decoding target into the set size or ratio so that the variable macro block may be reset in a smaller size than the current size, if the variable macro block of the current decoding target is not positioned inside an input image.

Description

영상 부호화/복호화 장치 및 방법Image encoding / decoding apparatus and method
본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 더욱 상세하게는, 입력 영상의 크기가 매크로블록 크기의 정수 배가 아닌 경우 입력 영상의 외곽부분을 효율적으로 부호화하고 복호화하는 장치 및 방법으로서 영상의 외곽부분 부호화 및 복호화 시 영상 경계를 넘어가는 부분(블록)들은 발생비트가 가장 적게 되는 모드로 가정하여 부호화/복호화 하거나 또는 영상 경계를 넘어가는 부분(블록)은 예측 정보 또는 변환 정보와 같은 데이터를 부호화/복호화 하지 않거나 또는 가변적인 매크로블록의 크기를 이용하여 영상을 부호화 및 복호화하는 방법 및 장치에 관한 것이다. The present invention relates to an image encoding / decoding apparatus and method. More specifically, an apparatus and method for efficiently encoding and decoding an outer portion of an input image when the size of the input image is not an integer multiple of the macroblock size. ) Are coded / decoded on the assumption of the mode that generates the least bits, or the part (block) that crosses the image boundary does not encode / decode data such as prediction information or transform information or uses variable macroblock size. The present invention relates to a method and an apparatus for encoding and decoding an image.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the embodiments of the present invention and do not constitute a prior art.
동영상 데이터를 압축하기 위한 표준화된 기술로는 현재 H.261, H.263, H.264, MPEG-2, MPEG-4 등이 있다. 이러한 기존의 동영상 압축 기술에 따르면, 각 영상을 고정된 크기의 매크로블록(Macroblock)들로 나누고 매크로블록 단위로 부호화한다. Standardized techniques for compressing video data currently include H.261, H.263, H.264, MPEG-2, and MPEG-4. According to the existing video compression technology, each image is divided into macroblocks of fixed size and encoded in macroblock units.
만약, 입력 영상의 크기가 매크로블록의 크기의 정수 배가 아닌 경우, 입력 영상을 매크로블록의 정수 배가 되도록 입력 영상을 패딩한 후, 패딩된 입력 영상 내 각 매크로블록의 모든 휘도 성분(Luma Component)과 색차 성분(Chroma Component)들을 공간적으로나 시간적으로 예측하고, 예측 잔여(Predicted Residual)를 변환(Transform) 및 양자화(Quantization), 엔트로피 부호화(Entropy Coding) 등의 과정을 거치면서 압축한다.If the size of the input image is not an integer multiple of the size of the macroblock, the input image is padded such that the input image is an integer multiple of the macroblock, and then all luma components of each macroblock in the padded input image are padded. The chroma components are predicted spatially and temporally, and the predicted residuals are compressed through a process of transform, quantization, and entropy coding.
하지만, 통상적인 영상 압축 기술에서는 입력 영상의 크기와 매크로블록의 크기의 정수 배가 아닌 경우, 입력 영상을 매크로블록 크기의 정수 배가 되도록 패딩한 후, 패딩된 영역을 포함하여 매크로블록의 타입 및 예측 모드 결정하고 부호화하기 때문에 최적의 매크로블록 타입 및 예측 모드 결정이 어려우며, 패딩된 영역의 데이터를 포함하는 비트스트림을 생성하기 때문에 부호화 효율이 저하될 수 있다. However, in a conventional video compression technique, if the size of the input image and the size of the macroblock are not integer multiples, the input image is padded to an integer multiple of the macroblock size, and then the type and prediction mode of the macroblock including the padded area Determination and encoding make it difficult to determine an optimal macroblock type and prediction mode, and encoding efficiency may be degraded because a bitstream including data of a padded region is generated.
또한, 영상의 복호화는 영상의 부호화에 대응하여 이루어지기 때문에, 고해상도 영상의 부호화에 대한 압축 효율이 저하된 상태에서는 고효율의 복호화를 기대하기 어렵다는 문제점이 있다.In addition, since the decoding of the image is performed corresponding to the encoding of the image, it is difficult to expect high-efficiency decoding in a state where the compression efficiency for encoding of the high resolution image is deteriorated.
본 발명의 실시예는 전술한 문제점을 효율적으로 해결하기 위하여 창안된 것으로서, 입력 영상의 크기가 임의의 크기의 매크로블록 크기의 정수 배가 아닌 경우, 영상의 외곽 부분 부호화 및 복호화 시 영상 경계를 넘어가는 부분(블록)들은 발생비트가 가장 적게 되는 모드로 가정하여 부호화/복호화 하거나 또는 영상 경계를 넘어가는 부분(블록)은 예측 정보 또는 변환 정보와 같은 데이터를 부호화/복호화하지 않거나 또는 가변 크기의 매크로블록을 이용하여 영상을 부호화 및 복호화함으로써 압축 효율 및 복원 효율을 향상시키는 데 주된 목적이 있다. An embodiment of the present invention was devised to efficiently solve the above-described problem. When the size of an input image is not an integer multiple of the size of a macroblock of an arbitrary size, the boundary of an image is crossed when the outer portion is encoded and decoded. The parts (blocks) are coded / decoded on the assumption that they are the least-occurring mode, or the parts (blocks) crossing the image boundary do not encode / decode data such as prediction information or transform information, or macroblocks of variable size. The main purpose is to improve the compression efficiency and the reconstruction efficiency by encoding and decoding the image using the.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화/복호화 장치는, 현재 부호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 가변 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하며, 재설정된 가변 매크로블록에 기초하여 예측 부호화를 수행하는 영상 부호화기; 및 현재 복호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 현재 복호화 대상의 가변 매크로블록의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하여 복호화를 수행하는 영상 복호화기를 포함하는 것을 특징으로 한다.An image encoding / decoding apparatus according to an embodiment of the present invention for achieving the above object is to set the horizontal and vertical sizes of the variable macroblock when the variable macroblock of the current encoding target is not located inside the input image. An image encoder configured to reduce the size or the ratio to a size smaller than the current size and perform prediction encoding based on the reset variable macroblock; And when the variable macroblock of the current decoding target is not located inside the input image, the image decoding is performed by reducing the size of the variable macroblock of the current decoding target to a set size or ratio and resetting it to a size smaller than the current size. It is characterized by including a group.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 영상 부호화 장치는, 현재 부호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 현재 부호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기; 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및 인트라 예측 또는 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 부호화부를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention for achieving the above object, the size of the horizontal and vertical size of the macroblock of the current encoding target, if the macroblock of the current encoding target does not reach a predetermined ratio or more A macroblock size setter configured to reset the size of the macroblock by reducing the ratio to a set size or ratio; A predictor for performing intra prediction or inter prediction on a macroblock of a current encoding target; And an encoder for transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
전술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 부호화 장치는, 현재 부호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 입력 영상의 내부에 위치하는 가장 큰 크기로 현재 부호화 대상의 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기; 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및 인트라 예측 또는 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 부호화부를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, when the macroblock of the current encoding target is not located inside the input image, the image encoding apparatus according to another embodiment of the present invention may be used. A macroblock size setter for resetting the size of the macroblock of the current encoding target to the largest size located; A predictor for performing intra prediction or inter prediction on a macroblock of a current encoding target; And an encoder for transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 영상 복호화 장치는, 현재 복호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 현재 복호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 비율로 줄여 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기; 비트스트림으로부터 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 복호화부; 타입정보에 기초하여 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 예측기에 의해 예측된 값에 생성된 잔여신호를 가산하여 복원된 매크로블록을 생성하는 복원부를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention for achieving the above object, the size of the horizontal and vertical size of the macroblock of the current decoding target, if the macroblock of the current decoding target does not span more than a predetermined ratio to the input video A macroblock size setter configured to reset the size of the macroblock by reducing the ratio to a set ratio; A decoder which extracts and decodes prediction information including type information and transform coefficients of a macroblock to be decoded from the bitstream; A predictor for performing intra prediction or inter prediction on a macroblock to be decoded based on the type information; And a reconstruction unit for inversely quantizing and inversely transforming a transform coefficient to generate a residual signal, and generating a reconstructed macroblock by adding a residual signal generated to a value predicted by the predictor.
전술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 복호화 장치는, 현재 복호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 입력 영상의 내부에 위치하는 가장 큰 크기로 현재 복호화 대상의 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기; 비트스트림으로부터 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 복호화부; 타입정보에 기초하여 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 예측기에 의해 예측된 값에 생성된 상기 잔여신호를 가산하여 복원된 매크로블록을 생성하는 복원부를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, when the macroblock to be decoded currently is not located inside the input image, the image decoding apparatus according to another embodiment of the present invention may be used. A macroblock size setter for resetting the size of the macroblock to be decoded to the largest size to be located; A decoder which extracts and decodes prediction information including type information and transform coefficients of a macroblock to be decoded from the bitstream; A predictor for performing intra prediction or inter prediction on a macroblock to be decoded based on the type information; And a reconstruction unit for generating a residual signal by inversely quantizing and inversely transforming a transform coefficient, and generating a reconstructed macroblock by adding the residual signal generated to a value predicted by a predictor.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화/복호화 방법은, 현재 부호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 가변 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하며, 재설정된 가변 매크로블록에 기초하여 예측 부호화를 수행하는 단계; 및 현재 복호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 현재 복호화 대상의 가변 매크로블록의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하여 복호화를 수행하는 단계를 포함하는 것을 특징으로 한다.The video encoding / decoding method according to an embodiment of the present invention for achieving the above object is to set the horizontal and vertical sizes of the variable macroblock when the variable macroblock of the current encoding target is not located inside the input video. Reducing to a size or a ratio and resetting to a size smaller than a current size, and performing predictive encoding based on the reset variable macroblock; And when the variable macroblock of the current decoding target is not located inside the input image, reducing the size of the variable macroblock of the current decoding target by a set size or ratio and resetting the variable macroblock to a size smaller than the current size to perform decoding. It is characterized by including.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 영상 부호화 방법은, 현재 부호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 현재 부호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 매크로블록의 크기를 재설정하는 단계; 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및 인트라 예측 또는 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 단계를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention for achieving the above object, the size of the horizontal and vertical size of the macroblock of the current encoding target when the macroblock of the current encoding target does not reach a predetermined ratio or more. Resetting the size of the macroblock by reducing to a predetermined size or ratio; Performing intra prediction or inter prediction on a macroblock of a current encoding target; And transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
여기서, 재설정단계는, 현재 부호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸칠 때까지 가로 및 세로의 크기를 설정된 비율로 반복적으로 줄여 매크로블록의 크기를 재설정할 수 있다.Here, in the resetting step, the size of the macroblock may be reset by repeatedly reducing the horizontal and vertical sizes to a predetermined ratio until the macroblock of the current encoding target reaches a predetermined ratio or more.
전술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 부호화 방법은, 현재 부호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 입력 영상의 내부에 위치하는 가장 큰 크기로 현재 부호화 대상의 매크로블록의 크기를 재설정하는 단계; 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및 인트라 예측 또는 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 단계를 포함하는 것을 특징으로 한다.According to another exemplary embodiment of the present invention for achieving the above object, when the macroblock of the current encoding target is not located inside the input image, the image encoding method may be performed within the input image. Resetting the size of the macroblock of the current encoding target to the largest size located; Performing intra prediction or inter prediction on a macroblock of a current encoding target; And transforming, quantizing, and entropy encoding the residual signal obtained by intra prediction or inter prediction.
여기서, 사용 가능한 매크로블록의 크기는 사용 가능한 변환의 크기의 양의 정수 배인 것이 바람직하다.Here, the size of the available macroblock is preferably an integer multiple of the size of the available transform.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 영상 복호화 방법은, 현재 복호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 현재 복호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 비율로 줄여 매크로블록의 크기를 재설정하는 단계; 비트스트림으로부터 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 단계; 타입정보에 기초하여 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 예측단계에 의해 예측된 값에 생성된 잔여신호를 가산하여 복원된 매크로블록을 생성하는 단계를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention for achieving the above object, the size of the horizontal and vertical size of the current macroblock to be decoded, if the current macroblock to be decoded does not span a predetermined ratio or more Resetting the size of the macroblock by reducing the ratio to a set ratio; Extracting and decoding prediction information including type information and transform coefficients of the macroblock to be decoded from the bitstream; Performing intra prediction or inter prediction on the current macroblock to be decoded based on the type information; And generating a residual signal by inversely quantizing and inversely transforming the transform coefficient, and generating a reconstructed macroblock by adding the residual signal generated to the predicted value.
전술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 복호화 방법은, 현재 복호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 입력 영상의 내부에 위치하는 가장 큰 크기로 현재 복호화 대상의 매크로블록의 크기를 재설정하는 단계; 비트스트림으로부터 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 단계; 타입정보에 기초하여 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 예측기에 의해 예측된 값에 생성된 잔여신호를 가산하여 복원된 매크로블록을 생성하는 단계를 포함하는 것을 특징으로 한다.According to another exemplary embodiment of the present invention for achieving the above object, when the macroblock to be decoded currently is not located inside the input image, the image decoding method may be performed in the input image. Resetting the size of the macroblock to be decoded to the largest size to be located; Extracting and decoding prediction information including type information and transform coefficients of the macroblock to be decoded from the bitstream; Performing intra prediction or inter prediction on the current macroblock to be decoded based on the type information; And inversely quantizing and inversely transforming the transform coefficient to generate a residual signal, and generating a reconstructed macroblock by adding the residual signal generated to the value predicted by the predictor.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 입력 영상의 크기가 매크로블록의 크기의 정수 배가 아닌 경우, 입력 영상의 외곽부분 부호화 및 복호화 시 가변적인 매크로블록의 크기를 이용하여 영상을 부호화 및 복호화함으로써 압축 효율 및 복원 효율을 향상시킬 수 있다.As described above, according to the exemplary embodiment of the present invention, when the size of the input image is not an integer multiple of the size of the macroblock, the image is encoded and used by using the variable macroblock size when encoding and decoding the outer portion of the input image. By decoding, the compression efficiency and the recovery efficiency can be improved.
도 1과 도 2는 종래의 부호화/복호화 방법에 따라 입력되는 영상을 매크로블록 크기의 정수배가 되도록 패딩하였을 경우의 영상 부호화 및 복호화를 설명하기 위해 도시한 도면이다.1 and 2 are diagrams for explaining image encoding and decoding when an input image is padded to be an integer multiple of a macroblock size according to a conventional encoding / decoding method.
도 3과 도 4는 본 발명의 실시예에 따른 가변크기의 매크로블록을 이용하여 영상 부호화 및 복호화를 설명하기 위해 도시한 도면이다.3 and 4 are diagrams for explaining image encoding and decoding using variable size macroblocks according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 영상 부호화 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 영상 복호화 방법을 나타낸 흐름도이다.6 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
도 7는 본 발명의 다른 실시예에 따른 영상 부호화 방법을 나타낸 흐름도이다.7 is a flowchart illustrating an image encoding method according to another embodiment of the present invention.
도 8은 본 발명의 다른 실시예에 따른 영상 복호화 방법을 나타낸 흐름도이다.8 is a flowchart illustrating an image decoding method according to another embodiment of the present invention.
도 9은 본 발명의 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 도면이다.9 is a diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
도 10은 본 발명의 실시예에 따른 영상 복호화 장치를 개략적으로 도시한 도면이다.10 is a diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be "connected", "coupled" or "connected".
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.A video encoding apparatus (Video Encoding Apparatus), a video decoding apparatus (Video Decoding Apparatus) to be described below is a personal computer (PC), notebook computer, personal digital assistant (PDA), portable multimedia player (PMP) : Portable Multimedia Player (PSP), PlayStation Portable (PSP: PlayStation Portable), Mobile Communication Terminal (Mobile Communication Terminal), and the like, and may be used to encode a video or a communication device such as a communication modem for communicating with various devices or a wired or wireless communication network. It refers to various devices having various programs for decoding and a memory for storing data, a microprocessor for executing and controlling a program.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.In addition, the image encoded in the bitstream by the video encoding apparatus is real-time or non-real-time through the wired or wireless communication network, such as the Internet, local area wireless communication network, wireless LAN network, WiBro network, mobile communication network, or the like, or a cable, universal serial bus (USB: Universal) The image decoding apparatus may be transmitted to a video decoding apparatus through a communication interface such as a serial bus, decoded by the video decoding apparatus, reconstructed, and played back.
본 발명의 실시예에서는 입력영상의 크기가 매크로블록의 크기의 정수 배가 아닌 경우, 입력 영상이 매크로블록의 일부에 걸치는 외곽부분을 부호화/복호화하는 방법을 기술한다. An embodiment of the present invention describes a method of encoding / decoding an outer portion of an input image over a portion of a macroblock when the size of the input image is not an integer multiple of the size of the macroblock.
도 1과 도 2는 기존의 부호화/복호화 방법에 따라 입력되는 영상을 매크로블록 크기의 정수 배가 되도록 패딩하였을 경우의 영상 부호화 및 복호화를 설명하기 위해 도시한 도면이며, 도 3과 도 4는 본 발명의 실시예에 따른 가변크기의 매크로블록을 이용하여 영상 부호화 및 복호화를 설명하기 위해 도시한 도면이다.1 and 2 are diagrams for explaining image encoding and decoding when an input image is padded to an integer multiple of a macroblock size according to a conventional encoding / decoding method, and FIGS. 3 and 4 illustrate the present invention. FIG. Is a diagram for describing image encoding and decoding using a variable size macroblock according to an embodiment of the present invention.
입력 영상의 크기가 1280x720이고 매크로블록의 크기가 64x64인 경우에 대해서 기존의 부호화/복호화 방법은, 입력 영상을 도 1과 같이 매크로블록 크기의 정수 배인 1280x768로 패딩한 후 총 240개의 매크로블록으로 나누어 매크로블록 단위로 부호화 및 복호화를 수행하도록 한다. 여기서 최하단에 위치하는 20개의 매크로블록들은 64x16은 실제 입력 영상에 포함되는 부분이고 64x48은 입력 영상에 포함되지 않는 부분이다. In the case where the size of the input image is 1280x720 and the size of the macroblock is 64x64, the existing encoding / decoding method divides the input image into 1280x768, which is an integer multiple of the macroblock size as shown in FIG. Encoding and decoding are performed in units of macroblocks. Here, the 20 macroblocks located at the bottom are 64x16 that is included in the actual input image and 64x48 is a portion not included in the input image.
또 다른 예로 입력영상의 크기가 1920x1080이고 매크로블록의 크기가 128x128인 경우, 기존의 부호화/복호화와 방법은 도 2에 도시한 것과 같이 입력 영상을 매크로블록 크기의 정수 배인 1920x1152로 패딩한 후 총 135개의 매크로블록으로 나누어 부호화 및 복호화를 수행하도록 한다. 여기서 최하단에 위치하는 15개의 매크로블록들에 대해서 각 매크로블록 내 128x56 화소 영역은 실제 입력 영상에 포함되는 부분이고 128x72 화소 영역은 패딩된 영역에 속하는 영역이다. As another example, when the size of the input image is 1920x1080 and the size of the macroblock is 128x128, the conventional encoding / decoding method is as shown in FIG. 2 and pads the input image to 1920x1152, which is an integer multiple of the macroblock size, as shown in FIG. Encoding and decoding are performed by dividing into two macroblocks. Here, for the 15 macroblocks located at the lowest level, the 128x56 pixel area in each macroblock is a part included in the actual input image, and the 128x72 pixel area is an area belonging to the padded area.
입력 영상의 가로 크기가 매크로블록 가로크기의 정수 배가 아니거나 또는 입력 영상의 세로크기가 매크로블록 세로크기의 정수 배가 아닌 경우, 매크로블록은 입력영상의 경계에 위치하게 된다. 도 1과 도 2의 예의 경우 매크로블록은 입력 영상의 최하단 경계에 위치하게 되며, 최하단에 위치하는 매크로블록들은 매크로블록 내 실제 이미지 영역보다 패딩된 영역 데이터가 많기 때문에, 잘못된 모드 또는 매크로블록 타입으로 결정될 수 있다. 즉, 실제 이미지 영역만을 이용하여 결정한 예측 모드 및 매크로블록 타입과 달라질 수 있다. 또한 패딩된 영역의 데이터를 포함하도록 비트스트림을 만들기 때문에 부호화 및 복호화 성능이 떨어질 수 있다. If the horizontal size of the input image is not an integer multiple of the macroblock horizontal size or the vertical size of the input image is not an integer multiple of the macroblock vertical size, the macroblock is positioned at the boundary of the input image. In the example of FIG. 1 and FIG. 2, the macroblock is located at the lowermost boundary of the input image, and the macroblocks located at the lowermost end have a lot of padded area data than the actual image area in the macroblock. Can be determined. That is, the prediction mode and the macroblock type determined using only the actual image area may be different. In addition, since the bitstream is generated to include the data of the padded region, encoding and decoding performance may be degraded.
이에 대한 해결책으로 16x16과 같이 작은 크기의 매크로블록을 사용하여 부호화할 수도 있지만, 고해상도 영상은 큰 블록 단위로 부호화하는 것이 효율적이기 때문에 영상 전체에 대해 작은 크기의 매크로블록을 이용하여 부호화/복호화하는 방법은 효과적이라 할 수 없다. As a solution to this, a small sized macroblock such as 16x16 may be encoded, but since a high resolution image is efficiently encoded in a large block unit, a method of encoding / decoding using a small sized macroblock for the entire image is performed. Is not effective.
따라서 본 발명의 실시예에서는 입력 영상의 내부에 대해서는 큰 크기의 매크로블록을 이용하고, 입력 영상의 외곽부분 부호화/복호화할 때 패딩 영역 데이터를 최소화하도록 가변적인 크기의 매크로블록을 이용하도록 하여 큰 크기의 매크로블록을 사용하여 얻을 수 있는 부호화/복호화 효율을 유지하면서 입력 영상 외곽 부분에 대해서도 효과적인 부호화/복호화를 수행하도록 한다. 이때 입력 영상의 외곽부분 부호화/복호화를 위한 매크로블록의 크기는 입력 영상의 크기와 매크로블록의 크기가 알고 있으면 부호화기와 복호화기가 동일한 방법을 이용하여 얻을 수 있으므로 매크로블록의 크기를 나타내는 부가정보는 필요하지 않다. Therefore, in the embodiment of the present invention, a macroblock having a large size is used for the inside of the input image, and a macroblock having a variable size is used to minimize padding area data when encoding / decoding an outer portion of the input image. Effective encoding / decoding is performed on the outer portion of the input image while maintaining the encoding / decoding efficiency obtained by using the macroblock of. In this case, the size of the macroblock for encoding / decoding the outer portion of the input image can be obtained by using the same method as the encoder and the decoder if the size of the input image and the size of the macroblock are known, so additional information indicating the size of the macroblock is necessary. Not.
도 3에 도시한 본 발명의 실시예에 따른 영상 부호화/복호화 방법에 의하면, 입력 영상의 크기가 1280x720이고 매크로블록의 크기가 64x64인 경우, 입력되는 영상이 매크로블록의 일부에 걸치는 최하단의 1280x16 영역에 대해서는 16x16크기의 매크로블록을 이용하여 부호화/복호화하도록 하여 입력 영상 외의 데이터는 부호화/복호화에 사용하지 않도록 한다. 또한 비트스트림에 부호화하는 데이터도 실제 입력 이미지 안에 속하는 화소값만을 이용하도록 한다. According to the video encoding / decoding method according to the embodiment of the present invention shown in FIG. 3, when the size of the input image is 1280x720 and the size of the macroblock is 64x64, the lowest 1280x16 area in which the input image spans a part of the macroblock is shown. For the encoding, the 16x16 macroblock is encoded / decoded so that data other than the input image is not used for encoding / decoding. In addition, the data encoded in the bitstream may use only pixel values belonging to the actual input image.
도 4는 또 다른 발명의 예로 입력 영상의 크기가 1920x1080이고, 매크로블록의 크기가 128x128인 경우, 입력 영상의 1920x1024 화소 영역은 128x128 크기의 매크로블록을 이용하여 부호화/복호화를 수행하고, 입력 영상이 매크로블록의 일부에 걸치는 최하단의 1920x56 화소 영역에 대해서는 매크로블록의 크기를 소정 비율 또는 소정 크기만큼 축소하여. 매크로블록의 크기를 재설정한 후, 재설정된 매크로블록을 이용하여 부호화하는 경우에도 입력 영상의 일부분이 매크로블록에 걸치는지와 어느 정도 걸치는지의 여부를 판단하고, 재설정된 크기의 매크로블록을 이용하여 부호화/복호화 시 입력 영상이 매크로블록 내 걸치는 부분이 소정 크기의 영역, 예컨대 1/2 이상이 되는 경우에 대해서는 재설정된 크기의 매크로블록을 이용하여 부호화/복호화를 수행한다. 이때 매크로블록 내 입력 영상이 걸치는 영역이 소정 크기의 영역, 예컨대 1/2 이상이며 일부분만 걸치는 경우에는 패딩을 수행한 후, 영상 부호화/복호화를 수행한다.4 illustrates an example of another invention in which the size of an input image is 1920x1080 and the size of a macroblock is 128x128, the 1920x1024 pixel area of the input image is encoded / decoded using a macroblock having a size of 128x128. The size of the macroblock is reduced by a predetermined ratio or a predetermined size for the lowermost 1920x56 pixel area covering a part of the macroblock. After resetting the size of the macroblock, even when encoding using the reset macroblock, it is determined whether or not the part of the input image is covered by the macroblock and to what extent, and encoding using the reset macroblock. In the case where a portion of the input image that extends within the macroblock becomes a region of a predetermined size, for example, 1/2 or more, the encoding / decoding is performed using the reset macroblock. In this case, when the area of the macroblock that covers the input image is a region of a predetermined size, for example, 1/2 or more, and only a portion of the macroblock is covered, padding is performed and image encoding / decoding is performed.
만약 재설정된 크기의 매크로블록을 이용하는 경우에도 입력 영상이 매크로블록에 걸치는 부분이 소정 크기의 영역, 예컨대 1/2보다 작은 경우, 매크로블록의 크기를 다시 재설정하고 전술한 방법을 이용하여 부호화/복호화를 수행한다. Even when the macroblock of the reset size is used, if the portion of the input image that extends to the macroblock is smaller than an area of a predetermined size, for example, 1/2, the macroblock is resized again and encoded / decoded using the above-described method. Do this.
예를 들어 도 4에서는 매크로블록의 축소 비율로 1/2을 사용하여 입력 영상의 최하단 1920x56 화소 영역 부호화/복호화 시 매크로블록의 크기를 재설정해야 하는지 여부를 판단한다. 128x128 크기의 매크로블록 내 입력 영상이 걸치는 영역은 128x56이고 이는 매크로블록의 1/2보다 작기 때문에 매크로블록의 크기를 소정의 축소비율, 예컨대 1/2을 이용하여 재설정한다. 재설정된 64x64 크기의 매크로블록 내 입력 영상이 걸치는 영역은 64x56이며 재설정된 매크로블록의 1/2 이상이므로 입력 영상의 최하단 영역에 대해서는 64x64 크기의 매크로블록을 이용하여 부호화/복호화를 수행한다. 이때 입력 영상은 매크로블록 내 일부분인 64x56화소에 대해서만 존재하므로 64x16화소 영역에 대해서는 패딩을 수행한다.For example, in FIG. 4, it is determined whether the size of the macroblock should be reset when encoding / decoding the lowest 1920x56 pixel region of the input image using 1/2 as the reduction ratio of the macroblock. Since the area of the 128x128 macroblock is 128x56, which is smaller than 1/2 of the macroblock, the size of the macroblock is reset using a predetermined reduction ratio, for example, 1/2. Since the area of the reset 64x64 macroblock is 64x56 and is 1/2 or more of the reset macroblock, the lowest region of the input image is encoded / decoded using a 64x64 macroblock. At this time, since the input image exists only for 64x56 pixels which are a part of the macroblock, padding is performed for the 64x16 pixel area.
도 5는 본 발명의 실시예에 따른 영상 부호화 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
본 발명의 실시예의 영상 부호화 방법에 따르면, 영상 부호화기는 하나 이상의 사용 가능한 매크로블록의 크기 및 모양을 설정한다(S502). 사용 가능한 매크로블록의 크기 및 모양은 사용자에 의해 입력되거나 또는 사용 가능한 매크로블록 내 서브블록의 크기 또는 변환의 종류에 의해 결정될 수도 있고, 기타 다른 장치로부터 입력되는 정해진 후보군일 수 있다. 또한, 사용 가능한 매크로블록의 크기 및 모양은 64x64, 32x32, 16x16, 8x8과 같이 하나 이상일 수 있다. 단, 사용 가능한 매크로블록의 크기는 사용 가능한 변환의 크기의 양의 정수 배이어야 한다. According to the video encoding method of the embodiment of the present invention, the video encoder sets the size and shape of one or more usable macroblocks (S502). The size and shape of the usable macroblocks may be determined by the type or transformation of subblocks in the usable macroblocks or input by the user, or may be a defined candidate group input from other devices. In addition, the size and shape of the available macroblock may be one or more, such as 64x64, 32x32, 16x16, 8x8. Provided that the size of the available macroblocks must be a positive integer multiple of the size of the available transforms.
예를 들어 사용 가능한 매크로블록의 크기가 매크로블록 내 서브블록의 크기 또는 변환의 크기에 의해 결정되고, 예측에 사용할 수 있는 서브블록의 크기가 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, 16x16, 16x32, 32x16, 32x32, 32x16, 32x32, 32x64, 64x32, 64x64이고 사용할 수 있는 변환의 크기가 4x4, 8x8, 16x16인 경우, 사용 가능한 매크로블록의 크기는 매크로블록 내 서브블록들의 타입과 동일할 수 있다. 즉, 사용 가능한 매크로블록의 크기는 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, 16x16, 16x32, 32x16, 32x32, 32x16, 32x32, 32x64, 64x32, 64x64일 수 있다. For example, the size of available macroblocks is determined by the size of the subblocks or transforms in the macroblocks, and the size of subblocks available for prediction is 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, 16x16, If 16x32, 32x16, 32x32, 32x16, 32x32, 32x64, 64x32, 64x64 and the available transform sizes are 4x4, 8x8, 16x16, the size of the available macroblock may be the same as the type of subblocks in the macroblock. . That is, the size of the available macroblock may be 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, 16x16, 16x32, 32x16, 32x32, 32x16, 32x32, 32x64, 64x32, 64x64.
여기서 사용 가능한 매크로블록의 크기 및 모양 정보는 시퀀스 헤더(sequence header) 또는 픽쳐(picture) 또는 슬라이스 헤더(slice header) 정보에 포함되어 비트스트림으로 부호화될 수도 있다. The size and shape information of the macroblock usable herein may be included in sequence header, picture or slice header information, and may be encoded in a bitstream.
또한 사용 가능한 매크로블록의 크기 및 모양은 부호화기와 복호화기가 예측에 이용되는 서브블록의 종류와 변환에 이용되는 서브블록의 종류에 따라 내부적으로 결정할 수도 있다. 이 경우 사용 가능한 매크로블록의 크기 및 모양 정보는 비트스트림으로 부호화되지 않는다.In addition, the size and shape of the available macroblocks may be determined internally according to the type of subblocks used for prediction and the type of subblocks used by the encoder and the decoder. In this case, the size and shape information of the usable macroblock is not encoded in the bitstream.
또한 입력 영상의 크기정보는 시퀀스 헤더에 부호화하고 복호화기는 비트스트림으로부터 부호화된 입력영상 크기정보를 추출하여 복호화하고 복원된 입력영상의 크기 정보를 이용하여 각 매크로블록 복호화를 수행한다.In addition, the size information of the input image is encoded in the sequence header, and the decoder extracts and decodes the encoded input image size information from the bitstream, and performs each macroblock decoding using the reconstructed size of the input image.
이하의 각 실시예에서는 설명의 편의를 위해, 입력영상의 크기정보를 시퀀스 헤더에 부호화하고 복호화하는 과정에 대한 설명은 생략한다.In the following embodiments, for convenience of description, a description of a process of encoding and decoding size information of an input image in a sequence header is omitted.
부호화기와 복호화기가 약속한 사용 가능한 매크로블록의 크기 및 모양을 이용하여 매크로블록 단위로 입력 영상을 부호화할 때 현재 부호화 대상 매크로블록이 입력 영상 내 위치하는 경우(S504), 복수 개의 서브블록으로 분할되는 기준 크기의 현재 매크로블록을 예측 부호화하여 부호화된 영상 데이터를 생성하여 현재 부호화 대상 매크로블록 부호화를 종료하고 다음 매크로블록 부호화를 시작한다(S506). When the current encoding target macroblock is located in the input image when the input image is encoded in macroblock units using the size and shape of the available macroblocks promised by the encoder and the decoder (S504), the macroblock is divided into a plurality of subblocks. Predictive encoding of the current macroblock having a reference size is performed to generate encoded image data, and the encoding of the current macroblock to be encoded is terminated and the next macroblock encoding is started (S506).
만약 현재 부호화 대상 매크로블록이 입력 영상에 걸치는 경우, 현재 부호화 대상 매크로블록의 크기를 재설정한다(S508). 매크로블록의 크기를 재설정하는 방법은 현재 매크로블록의 가로와 세로크기를 소정의 비율, 예컨대 1/2로 줄여나가면서 매크로블록의 크기를 재설정할 수도 있고 사용 가능한 매크로블록 크기들 중 입력 영상 내부에 매크로블록이 위치하도록 하는 가장 큰 크기의 매크로블록 크기로 재설정할 수도 있다. 단, 이때 사용 가능한 매크로블록의 크기들 중 하나이어야 하며 현재 매크로블록의 크기보다 작아야 한다. If the current encoding target macroblock spans the input video, the size of the current encoding target macroblock is reset (S508). The method of resetting the size of the macroblock may reset the size of the macroblock by reducing the width and height of the current macroblock by a predetermined ratio, such as 1/2, and may be used in the input image among the available macroblock sizes. It can also be reset to the macroblock size of the largest size that allows the macroblock to be located. However, it should be one of the sizes of available macroblocks and smaller than the size of the current macroblock.
또한 매크로블록 크기 재설정 시, 사용 가능한 매크로블록의 크기들 중 입력 영상 내부에 매크로블록이 위치하도록 하는 가장 큰 크기를 매크로블록의 크기로 결정할 수도 있다. 도 3의 경우를 예를 들어 설명하면 다음과 같다. 만약 사용 가능한 매크로블록 크기가 64x64, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8, 4x4이고 매크로블록 내 입력 영상이 64x16이 걸치는 매크로블록들에 대해서는 매크로블록의 크기를 재설정한다. 사용 가능한 매크로블록의 크기들 중 매크로블록이 입력 영상의 내부에 위치하도록 하는 매크로블록 크기들은 64x16, 64x8, 64x4, 32x16, 32x8, 32x4, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8, 4x4이며 이중 가장 큰 크기인 64x16을 현재 매크로블록의 크기로 결정하고 현재 부호화 매크로블록을 예측 부호화하여 부호화된 영상 데이터를 생성하여 현재 매크로블록 부호화를 종료하고 매크로블록의 크기를 기준 매크로블록 크기인 64x64로 재설정한 후, 다음 매크로블록 부호화를 시작한다. In addition, when resetting the macroblock size, the largest size that allows the macroblock to be positioned inside the input image among the available macroblock sizes may be determined as the macroblock size. Referring to the case of Figure 3 as an example. If the available macroblock sizes are 64x64, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8 For macroblocks of 8x4, 4x8, and 4x4 and the input image in the macroblock is 64x16, the size of the macroblock is reset. Among the available macroblock sizes, the macroblock sizes that allow the macroblock to be placed inside the input image are 64x16, 64x8, 64x4, 32x16, 32x8, 32x4, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8. , 4x4, which is 64x16, the largest of which is the size of the current macroblock, and predictively encodes the current coded macroblock to generate coded image data, thereby ending the current macroblock encoding and determining the size of the macroblock as the reference macroblock size. After resetting to 64x64, the next macroblock coding starts.
만약 사용 가능한 매크로블록 크기가 64x64, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8, 4x4이고 매크로블록 내 입력 영상이 64x48이 걸치는 경우, 사용 가능한 매크로블록의 크기들 중 매크로블록이 입력 영상의 내부에 위치하도록 하는 매크로블록 크기들은 64x32, 64x16, 64x8, 64x4, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8, 4x4이며 이중 가장 큰 크기인 64x32를 현재 매크로블록의 크기로 결정하고 현재 부호화 매크로블록을 예측 부호화하여 부호화된 영상 데이터를 생성하여 현재 매크로블록 부호화를 종료하고 매크로블록 크기를 기준 매크로블록 크기인 64x64로 재설정하고 다음 매크로블록 부호화를 시작한다. If the available macroblock sizes are 64x64, 64x32, 64x16, 64x8, 64x4, 32x64, 16x64, 8x64, 4x64, 32x32, 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8 , 8x4, 4x8, 4x4 and 64x48 of the input image in the macroblock, the macroblock sizes that allow the macroblock to be located inside the input image are 64x32, 64x16, 64x8, 64x4, 32x32 , 32x16, 32x8, 32x4, 16x32, 8x32, 4x32, 16x16, 16x8, 16x4, 8x16, 4x16, 8x8, 8x4, 4x8, 4x4, the largest of which is 64x32 as the size of the current macroblock and the current encoded macroblock Predictively encode to generate encoded image data, end the current macroblock encoding, reset the macroblock size to 64x64 as the reference macroblock size, and start the next macroblock encoding.
사용 가능한 매크로블록의 크기가 64x64, 32x32, 16x16, 8x8, 4x4이고 매크로블록의 크기를 재설정하는 소정의 크기 및 비율로 1/2을 사용할 때, 도 3을 이용하여 부호화 방법을 설명하면 다음과 같다.When the size of the available macroblocks is 64x64, 32x32, 16x16, 8x8, 4x4 and 1/2 is used as a predetermined size and ratio for resetting the size of the macroblock, the encoding method will be described with reference to FIG. 3 as follows. .
먼저 사용 가능한 매크로블록의 크기 정보로 64x64, 32x32, 16x16, 8x8, 4x4를 설정한다. 현재 부호화 대상 매크로블록이 입력 영상의 내부에 위치하는지를 판단하여 입력 영상의 내부에 위치하는 경우 64x64 단위로 부호화하여 영상 데이터를 생성한다. 입력 영상의 최하단에 위치하는 64x64 매크로블록인 경우, 매크로블록이 입력 영상 내부에 위치하지 않고 일부분만 입력 영상에 걸치기 때문에 매크로블록 크기를 32x32로 재설정한 후, 재설정된 현재 매크로블록의 크기가 입력 영상 내부에 위치하는지 또는 일부분만 입력 영상에 걸치는지를 다시 판단한다. 32x32 크기의 매크로블록에 대해서도 입력 영상의 일부분에만 걸치기 때문에 매크로블록의 크기를 기존 가로크기와 세로크기를 절반씩 줄인 값인 16x16으로 재설정하고 다시 재설정된 현재 매크로블록의 크기가 입력 영상 내부에 위치하는지 또는 일부분만 입력영상에 걸치는지를 판단한다. 재설정된 16x16 크기를 갖는 매크로블록은 입력 영상 내부에 포함되므로 현재 매크로블록의 크기를 16x16으로 결정하고 현재 부호화 매크로블록을 예측 부호화하여 부호화된 영상 데이터를 생성하여 현재 매크로블록 부호화를 종료하고 다음 매크로블록 부호화를 시작한다.First, set 64x64, 32x32, 16x16, 8x8, and 4x4 as size information of available macroblocks. It is determined whether the current macroblock to be encoded is located inside the input image, and when the macroblock is located inside the input image, the image data is generated by encoding in 64x64 units. In the case of a 64x64 macroblock located at the bottom of the input image, since the macroblock is not located inside the input image and only partially covers the input image, after resetting the macroblock size to 32x32, the size of the reset current macroblock is set to the input image. Re-determine whether it is located inside or only part of the video. Even for 32x32 sized macroblocks, only a portion of the input image is reset, so reset the size of the macroblock to 16x16, which is half the size of the existing horizontal and vertical sizes, and then reset the size of the current macroblock within the input image. It is determined whether only part of the input image is covered. Since the macroblock having the reset 16x16 size is included in the input image, the size of the current macroblock is determined to be 16x16, the current encoded macroblock is predictively encoded to generate encoded image data, and the current macroblock encoding is terminated. Start encoding.
도 6은 본 발명의 실시예에 따른 영상 복호화 방법을 나타낸 흐름도이다.6 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
본 발명의 실시예의 영상 복호화 방법에 따르면, 영상 복호화기는 하나 이상의 사용 가능한 매크로블록 크기를 설정한다(S602). 사용 가능한 매크로블록의 크기는 사용 가능한 서브블록의 크기 또는 변환의 종류에 의해 결정될 수도 있고, 비트스트림으로부터 사용 가능한 매크로블록 크기 정보를 추출하여 설정할 수도 있다. 또한 기타 다른 장치로부터 입력되는 정해진 후보군일 수도 있다. 이때 사용 가능한 매크로블록 크기를 설정하는 방법은 전술한 복수 개의 방법들 중 부호화기와 약속한 방법을 이용한다. According to the image decoding method of the embodiment of the present invention, the image decoder sets one or more usable macroblock sizes (S602). The size of the usable macroblock may be determined by the size of the usable subblock or the type of transform, or may be set by extracting usable macroblock size information from the bitstream. It may also be a predetermined candidate group input from other devices. In this case, a method for setting a usable macroblock size uses a method promised with an encoder among the aforementioned methods.
만약 사용 가능한 매크로블록의 크기가 비트스트림으로부터 추출된 정보에 의해 결정되는 경우 시퀀스 헤더 또는 픽쳐 헤더 또는 슬라이스 헤더 또는 매크로블록 헤더 등의 부호화기와 약속한 위치로부터 해당 정보를 추출한 후, 복호화하여 설정한다. If the size of the available macroblock is determined by the information extracted from the bitstream, the information is extracted from a position promised with an encoder such as a sequence header, a picture header, a slice header, or a macroblock header, and then decoded and set.
또한 사용 가능한 매크로블록의 크기가 예측 또는 변환에 이용되는 서브블록의 종류에 의해 결정되는 경우, 복호화기 내부적으로 부호화기와 약속된 방법으로 사용 가능한 매크로블록 크기 정보를 설정한다.In addition, when the size of the usable macroblock is determined by the type of subblock used for prediction or transformation, the decoder internally sets the usable macroblock size information in a manner promised by the encoder.
시퀀스 헤더 및 매크로블록 헤더를 비트스트림으로부터 추출하고 복호화한 후, 부호화기와 약속된 방법을 이용하여 사용 가능한 매크로블록의 크기 및 모양을 설정한 후, 현재 복호화 대상 매크로블록 번호를 이용하여 입력 영상 내 현재 복호화 대상 매크로블록의 위치를 계산한다(S604). 현재 복호화 대상 매크로블록이 입력 영상 내부에 위치하는 경우(S606), 기준 매크로블록 크기를 이용하여 비트스트림으로부터 부호화된 매크로블록 데이터를 추출 및 복호화하고, 복호화된 매크로블록 데이터를 이용하여 매크로블록 복호화를 수행한다(S608). 만약 현재 복호화 대상 매크로블록이 입력 내부에 위치하는 않는 경우(S606), 매크로블록 크기를 부호화기와 약속된 방법을 이용하여 재설정한 후, 재설정된 매크로블록의 크기를 이용하여 현재 복호화 대상 매크로블록이 입력 영상 내부에 위치하는지 또는 일부분만 입력 영상에 걸치는지를 판단한 후, 입력 영상 내부에 위치하는 경우 재설정된 크기의 매크로블록을 이용하여 매크로블록 복호화를 수행하고 입력 영상 일부분에 걸치는 경우 매크로블록 크기를 다시 재설정한다(S610).After extracting and decoding the sequence header and the macroblock header from the bitstream, the size and shape of the available macroblocks are set using the method promised by the encoder, and then the current in the input image using the current decoding target macroblock number. The position of the decoding target macroblock is calculated (S604). If the current decoding target macroblock is located inside the input image (S606), the macroblock data encoded from the bitstream is extracted and decoded using the reference macroblock size, and the macroblock decoding is performed using the decoded macroblock data. It performs (S608). If the current decoding target macroblock is not located inside the input (S606), after resetting the macroblock size using the method promised with the encoder, the current decoding target macroblock is input using the reset macroblock size. After determining whether it is located inside the video or only part of the input video, if it is located inside the input video, macroblock decoding is performed using the reset macroblock, and if it is over the input video, the macroblock size is reset again. (S610).
도 7은 본 발명의 다른 실시예에 따른 영상 부호화 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a video encoding method according to another embodiment of the present invention.
본 발명의 다른 실시예의 영상 부호화 방법에 따르면, 영상 부호화기는 전술한 방법을 이용하여 하나 이상의 사용 가능한 매크로블록 크기 및 모양을 설정한 후(S702), 현재 부호화 대상 매크로블록이 입력 영상의 내부에 위치하는 경우(S704)에는 복수개의 서브블록으로 분할되는 현재 매크로블록을 예측 부호화하여 부호화된 영상 데이터를 생성하여 현재 부호화 대상 매크로블록 부호화를 종료하고 다음 매크로블록 부호화를 시작한다(S710). According to the image encoding method of another embodiment of the present invention, after the image encoder sets one or more available macroblock sizes and shapes by using the above-described method (S702), the current encoding target macroblock is positioned inside the input image. In operation S704, the current macroblock divided into the plurality of subblocks is predictively encoded to generate encoded image data to end encoding of the current macroblock to be encoded, and then the next macroblock encoding is started (S710).
만약, 현재 부호화 대상 매크로블록이 입력 영상의 내부에 위치하지 않으면서 소정의 영역, 예컨대 1/2 이상 걸치는 경우(S704, S706)에는 매크로블록이 입력 영상 외부에 위치하는 영역의 크기만큼 입력 영상을 패딩한 후(S708), 현재 부호화 대상 매크로블록을 예측 부호화하여 부호화된 영상 데이터를 생성하여 현재 부호화 대상 매크로블록 부호화를 종료하고 다음 매크로블록 부호화를 시작한다(S710).If the current macroblock to be encoded is not located inside the input video, but covers a predetermined area, for example, 1/2 or more (S704 and S706), the input video is recorded as much as the size of the region located outside the input video. After padding (S708), the current encoding target macroblock is predictively encoded to generate encoded image data to terminate encoding of the current encoding target macroblock, and the next macroblock encoding is started (S710).
만약, 현재 부호화 대상 매크로블록이 입력영상의 내부에 위치하지 않으면서 소정의 영역, 예컨대 1/2보다 작은 영역을 걸치는 경우에는(S704, S706) 매크로블록의 크기를 전술한 방법을 이용하여 재설정한 후, 재설정된 크기의 현재 매크로블록이 입력 영상 내부에 위치하는지 여부와 입력 영상 내부에 위치하는 않는다면 어느 정도 걸치는지 여부를 판단한 후, 전술한 현재 크기의 매크로블록을 이용한 부호화 또는 입력 영상을 패딩한 후 현재 크기의 매크로블록을 이용한 부호화 또는 매크로블록 크기 재설정 과정을 반복한다(S712).If the current macroblock to be encoded covers a predetermined area, for example, an area smaller than 1/2 without being located inside the input image (S704, S706), the size of the macroblock is reset using the above-described method. Then, it is determined whether the current macroblock of the reset size is located inside the input image and how long it is if not located within the input image, and then the encoding or the input image using the macroblock of the current size described above is padded. After that, the encoding or macroblock size reset process using the macroblock of the current size is repeated (S712).
매크로블록 내 입력 영상 경계를 넘어가는 부분 또는 블록들을 포함하여 부호화하는 경우, 예를 들어 도 4의 최하단에 위치하는 매크로블록들을 부호화하는 경우, 은 매크로블록 내 실제 입력영상 경계를 넘어가는 부분들, 즉 패딩된 영역을 포함하여 매크로블록들을 부호화하는 방법은 매크로블록 내 영상 경계를 넘어가는 부분(블록)들에 대해서는은 발생비트가 가장 적게 되는 모드로 가정하여 부호화/복호화하거나 또는 이러한 블록들의 데이터를 부호화/복호화하지 않는다.In the case of encoding the block including the portion or blocks that cross the input image boundary in the macroblock, for example, when encoding the macroblocks located at the bottom of FIG. 4, denotes the portions beyond the actual input image boundary in the macroblock, That is, the method of encoding macroblocks including a padded region is encoded / decoded on the assumption that the portions (blocks) crossing the image boundary in the macroblock are the least generated mode, or the data of these blocks are decoded. Do not encode / decode.
이하에서는 매크로블록 내 영상 경계를 넘어가는 부분(블록)들을 포함하는 매크로블록을 부호화하는 방법을 설명한다.Hereinafter, a method of encoding a macroblock including portions (blocks) crossing an image boundary in a macroblock will be described.
각 매크로블록은 복수개의 서브블록으로 분할되어 인트라 예측 또는 인터 예측 부호화된다. Each macroblock is divided into a plurality of subblocks and intra prediction or inter prediction encoding is performed.
이때 입력영상 내에 위치하는 서브블록들은 부호화 대상 블록과 복원 블록 사이의 에러값과 부호화 대상 블록을 부호화하는데 필요한 비트수를 고려하여 인트라 예측 모드 또는 인터 예측 모드(즉, 움직임 벡터와 참조픽쳐 정보)를 결정하고 결정된 모드 정보를 비트스트림으로 부호화하고, 결정된 모드 정보에 따라 각 블록을 복원한다. 입력영상 외부에 위치하는 서브블록들은 부호화 대상 블록을 부호화하는데 필요한 비트수만을 고려하여 인트라 예측 모드 또는 인터 예측 모드(즉, 움직임 벡터와 참조픽쳐 정보)를 결정하고 결정된 모드 정보를 비트스트림으로 부호화하고, 결정된 모드 정보에 따라 각 블록을 복원한다. 즉, 예측 부호화 시 예측 모드 정보, 변환 정보, 변환 계수정보 등의 데이터 부호화에 필요한 발생 비트만을 고려하여 발생비트가 가장 적은 모드로 현재 서브블록의 부호화한다. In this case, the subblocks located in the input image may be selected from the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) in consideration of an error value between the encoding target block and the reconstruction block and the number of bits required to encode the encoding target block. Determine and encode the determined mode information into a bitstream, and reconstruct each block according to the determined mode information. The subblocks located outside the input image determine the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) by considering only the number of bits necessary to encode the encoding target block, and encode the determined mode information into a bitstream. Each block is restored according to the determined mode information. That is, the current subblock is encoded in the mode having the least generation bits in consideration of only generation bits necessary for data encoding such as prediction mode information, transformation information, and transformation coefficient information during prediction encoding.
또는 입력영상 내에 위치하는 서브블록들은 전술한 방법을 이용하여 부호화하고 입력영상 외부에 위치하는 서브블록들은 부호화 대상 블록을 부호화하는데 필요한 비트수만을 고려하여 인트라 예측 모드 또는 인터 예측 모드(즉, 움직임 벡터와 참조픽쳐 정보)를 결정하고 결정된 모드 정보를 비트스트림으로 부호화하고, 복원 블록 생성시 입력영상을 패딩하는 방법을 이용하여 각 블록을 복원한다. 즉, 입력영상 패딩시 영상 경계를 넘어가는 부분들의 화소값을 128을 채워 패딩을 한 경우, 입력영상 외부에 위치하는 서브블록의 복원 블록은 내 화소값은 모두 128이 된다. Alternatively, the subblocks located in the input image may be encoded using the above-described method, and the subblocks located outside the input image may be an intra prediction mode or an inter prediction mode (that is, a motion vector) in consideration of only the number of bits necessary for encoding the encoding target block. And reference picture information), and encodes the determined mode information into a bitstream and reconstructs each block by using a method of padding the input image when generating the reconstructed block. That is, when padding is performed by filling 128 pixel values of portions crossing the image boundary when the input image is padded, all the pixel values of the reconstructed blocks of the subblocks located outside the input image are 128.
또한 입력영상 내에 위치하는 서브블록들은 전술한 방법을 이용하여 부호화하고 입력영상 외부에 위치하는 서브블록들의 예측 정보 또는 변환 정보 또는 변환 계수 정보등과 같은 데이터는 비트스트림으로 부호화하고 복원 블록 생성시 입력영상을 패딩하는 방법을 이용하여 각 블록을 복원할 수도 있다..In addition, the subblocks located in the input image are encoded using the above-described method, and data such as prediction information, transform information, or transform coefficient information, etc. of subblocks located outside the input image are encoded into a bitstream and input when generating a reconstructed block. Each block may be reconstructed using a method of padding an image.
전술한 매크로블록 내 영상 경계를 넘어가는 부분(블록)들을 포함하는 매크로블록을 부호화하는 방법은 기존의 부호화 방법과 결합하여 사용될 수도 있다.The above-described method of encoding a macroblock including portions (blocks) crossing an image boundary in the macroblock may be used in combination with an existing encoding method.
도 8은 본 발명의 다른 실시예에 따른 영상 복호화 방법을 나타낸 흐름도이다. 8 is a flowchart illustrating an image decoding method according to another embodiment of the present invention.
먼저, 영상 복호화기는 부호화기와 약속된 방법을 이용하여 하나 이상의 사용 가능한 매크로블록의 크기를 설정한다(S802). 만약 사용 가능한 매크로블록의 크기가 비트스트림으로부터 추출된 정보에 의해 결정되는 경우 시퀀스 헤더 또는 픽쳐 헤더 또는 슬라이스 헤더 또는 매크로블록 헤더 등의 부호화기와 약속한 위치로부터 해당 정보를 추출한 후, 복호화하여 설정한다. First, the image decoder sets the size of one or more usable macroblocks using the method promised with the encoder (S802). If the size of the available macroblock is determined by the information extracted from the bitstream, the information is extracted from a position promised with an encoder such as a sequence header, a picture header, a slice header, or a macroblock header, and then decoded and set.
또는 사용 가능한 매크로블록의 크기가 예측 또는 변환에 이용되는 서브블록의 종류에 의해 결정되는 경우, 복호화기 내부적으로 부호화기와 약속된 방법으로 사용 가능한 매크로블록 크기 정보를 설정한다.Alternatively, when the size of the usable macroblock is determined by the type of subblock used for prediction or transformation, the decoder internally sets the usable macroblock size information in a manner promised by the encoder.
시퀀스 헤더 및 매크로블록 헤더를 비트스트림으로부터 추출하고 복호화한 후, 부호화기와 약속된 방법을 이용하여 사용 가능한 매크로블록의 크기 및 모양을 설정한 후, 현재 복호화 대상 매크로블록 번호를 이용하여 입력 영상 내 현재 복호화 대상 매크로블록의 위치를 계산한다(S804).After extracting and decoding the sequence header and the macroblock header from the bitstream, the size and shape of the available macroblocks are set using the method promised by the encoder, and then the current in the input image using the current decoding target macroblock number. The position of the decoding target macroblock is calculated (S804).
현재 복호화 대상 매크로블록이 입력 영상의 내부에 위치하거나 또는 입력 영상의 내부에 위치하지 않으면서 소정의 영역, 예컨대 1/2 이상 걸치는 경우(S806), 비트스트림으로부터 부호화된 매크로블록 데이터를 추출 및 복호화하고, 복호화한 매크로블록 데이터를 이용하여 매크로블록 복호화를 수행한다(S808).If the current decoding target macroblock is located inside the input video or not within the input video, and covers a predetermined area, for example, 1/2 or more (S806), the encoded macroblock data is extracted and decoded from the bitstream. Then, macroblock decoding is performed using the decoded macroblock data (S808).
만약, 현재 복호화 대상 매크로블록이 입력 영상의 내부에 위치하지 않으면서 소정의 영역, 예컨대 1/2보다 작은 영역에 걸치는 경우(S806), 매크로블록의 크기를 전술한 방법을 이용하여 재설정한 후, 재설정된 크기의 현재 매크로블록이 입력 영상에 어느 정도 걸치는지 판단한 후, 매크로블록 크기를 다시 재설정하거나 또는 현재 설정된 크기의 매크로블록에 대한 매크로블록 복호화를 수행한다(S810).If the current decoding target macroblock is not located inside the input image and covers a predetermined area, for example, an area smaller than 1/2 (S806), after resetting the size of the macroblock using the above-described method, After determining how much the current macroblock of the reset size extends to the input image, the macroblock size is reset again or macroblock decoding is performed on the macroblock of the currently set size (S810).
이하에서는 영상을 블록 단위로 부호화하고 복호화하는 장치에 대해 예를 들어 설명한다. 여기서, 블록은 MxN(단, M과 N은 16 이상의 정수일 수 있다) 크기의 매크로블록이나 OxP(단, O와 P는 M 또는 N보다 작거나 같은 정수임) 크기의 서브블록 또는 하위 블록일 수 있는데, 블록 단위로 부호화하고 복호화하는 것은 예시적인 것이며, 영상을 블록과 같이 정형화된 영역 또는 비정형화된 영역으로 부호화하고 복호화할 수도 있을 것이다. 단, 다음에 설명하는 영상 부호화/복호화 장치는 임의의 크기의 블록을 사용할 수 있지만, 블록의 크기는 영상 부호화 장치와 영상 복호화 장치가 약속한 크기이다.Hereinafter, an apparatus for encoding and decoding an image in units of blocks will be described as an example. Here, the block may be a macroblock of size MxN (where M and N may be an integer greater than or equal to 16) or a subblock or subblock of size OxP (where O and P are integers less than or equal to M or N). For example, encoding and decoding in units of blocks is exemplary, and an image may be encoded and decoded into a standardized area or an unstructured area such as a block. However, the video encoding / decoding apparatus described below may use blocks of any size, but the size of the blocks is the size promised by the video encoding apparatus and the video decoding apparatus.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 장치를 개략적으로 도시한 블록 구성도이다.9 is a block diagram schematically illustrating an image encoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화 장치는 16x16 크기 이상의 매크로블록을 이용하여 영상을 부호화하는 장치로서, 매크로블록 크기 설정기(902), 예측기(903), 부호화부(910), 복원부(912), 필터(914) 및 프레임 메모리(916)를 포함하여 구성될 수 있다. 여기서, 복원부(912), 필터(914) 및 프레임 메모리(916)는 구현 방식에 따라 선택적으로 생략되거나 다른 구성 요소에 포함되어 구성될 수 있다.An image encoding apparatus according to an embodiment of the present invention is an apparatus for encoding an image using a macroblock of 16x16 or larger size, and includes a macroblock size setter 902, a predictor 903, an encoder 910, and a reconstructor ( 912, filter 914, and frame memory 916. Here, the reconstructor 912, the filter 914, and the frame memory 916 may be selectively omitted or included in other components according to an implementation method.
매크로블록 크기 설정기(902)는 현재 부호화 대상 매크로블록이 입력 영상의 내부에 위치하지 않는 경우 매크로블록의 크기를 재설정한다. The macroblock size setter 902 resets the size of the macroblock when the current encoding target macroblock is not located inside the input image.
매크로블록의 크기를 재설정하는 방법은 현재 부호화 대상 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 대해서만, 현재 매크로블록의 가로와 세로 크기를 소정의 비율, 예컨대 1/2로 줄여나가면서 매크로블록의 크기를 재설정할 수도 있고 사용 가능한 매크로블록 크기들 중 입력 영상 내부에 매크로블록이 위치하도록 하는 가장 큰 크기의 매크로블록 크기로 재설정할 수도 있다.The method of resetting the size of the macroblock is only when the current macroblock to be encoded is not located inside the input image, while reducing the horizontal and vertical sizes of the current macroblock by a predetermined ratio, for example, 1/2. The size of may be reset or may be reset to the macroblock size of the largest size that allows the macroblock to be positioned inside the input image among the available macroblock sizes.
또는 현재 부호화 대상 매크로블록이 입력 영상의 내부에 위치하지 않으면서 소정의 영역, 예컨대 1/2보다 작은 영역을 걸치는 경우에는 매크로블록의 크기를 전술한 방법을 이용하여 재설정할 수도 있다. Alternatively, when the macroblock to be encoded currently covers a predetermined area, for example, an area smaller than 1/2 without being located inside the input image, the size of the macroblock may be reset using the above-described method.
예측기(903)는 움직임 추정부(904), 움직임 보상부(906) 및 인트라 예측부(908)를 포함하여 구성될 수 있으며, 입력 영상의 매크로블록을 예측한다. 여기서, 매크로블록은 16x16 크기 이상의 매크로블록(즉, MxN 크기의 매크로블록, 단 M, N ≥ 16인 정수)을 말한다.The predictor 903 may include a motion estimator 904, a motion compensator 906, and an intra predictor 908, and predict a macroblock of an input image. Here, the macroblock refers to a macroblock of 16x16 or more size (ie, an MxN sized macroblock, provided that M and an integer of N≥16).
움직임 추정부(904)는 예측하고자 하는 매크로블록을 프레임 메모리에 저장된 참조 픽처와 비교하여 해당 매크로블록의 움직임을 추정함으로써 움직임 벡터를 생성한다.The motion estimator 904 generates a motion vector by estimating the motion of the macroblock by comparing the macroblock to be predicted with the reference picture stored in the frame memory.
움직임 보상부(906)는 움직임 추정부(904)에 의해 생성된 움직임 벡터를 참조하여 프레임 메모리에 저장된 참조 픽처에서 예측하고자 하는 매크로블록의 크기만큼의 블록을 가져온다. 움직임 보상부(906)가 가져온 매크로블록이 예측하고자 하는 매크로블록의 예측값을 가지는 예측 매크로블록이 된다.The motion compensator 906 refers to a motion vector generated by the motion estimator 904 to obtain a block corresponding to the size of the macroblock to be predicted from the reference picture stored in the frame memory. The macroblock obtained by the motion compensator 906 becomes a prediction macroblock having a prediction value of the macroblock to be predicted.
인트라 예측부(908)는 예측하고자 하는 매크로블록을 인트라 예측한다. 이를 위해, 인트라 예측부(908)는 이미 부호화되고 복호화되어 복원된 주변 화소 정보를 이용하여 참조 블록을 생성하고 참조 블록과 부호화 대상 매크로블록을 비교하여 인트라 예측 모드를 결정하고, 결정된 인트라 예측 모드에 따라 매크로블록을 인트라 예측한다. 인트라 예측부(908)에 의해 예측된 매크로블록이 대상 매크로블록의 예측값을 가지는 예측 매크로블록이 된다.The intra predictor 908 intra predicts a macroblock to be predicted. To this end, the intra prediction unit 908 generates a reference block by using the neighboring pixel information that is already encoded, decoded, and reconstructed, compares the reference block with the macroblock to be encoded, and determines an intra prediction mode, and determines the intra prediction mode. Therefore, the macroblock is intra predicted. The macroblock predicted by the intra prediction unit 908 becomes a prediction macroblock having a prediction value of the target macroblock.
부호화부(910)는 대상 매크로블록과 예측 매크로블록의 화소값의 차이인 잔여 신호를 부호화하는데, 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하여 부호화할 수 있다. 또한, 부호화부(908)는 부호화하고자 하는 대상 매크로블록을 인터 예측하는 경우, 움직임 추정부(904)에서 생성한 움직임 벡터 등과 같은 움직임 정보와 매크로블록의 크기와 같은 매크로블록 모드 정보를 부호화할 수 있다. 부호화기는 부호화하고자 하는 대상 매크로블록을 인트라 예측하는 경우, 인트라 예측 모드와 같은 예측 모드 정보와 매크로블록의 크기와 같은 매크로블록 모드 정보를 부호화할 수 있다.The encoder 910 encodes a residual signal that is a difference between pixel values of the target macroblock and the predictive macroblock. The encoder 910 may transform, quantize, and entropy encode the residual signal. In addition, when inter prediction of a target macroblock to be encoded, the encoder 908 may encode motion information such as a motion vector generated by the motion estimation unit 904 and macroblock mode information such as a size of a macroblock. have. When the encoder intra prediction the target macroblock to be encoded, the encoder may encode prediction mode information such as an intra prediction mode and macroblock mode information such as a size of the macroblock.
복원부(912)는 변화 및 양자화된 잔여 신호를 역 양자화 및 역 변환하여 예측기로부터 출력되는 예측 매크로블록과 가산하여 대상 매크로블록을 복원한다.The reconstructor 912 reconstructs the target macroblock by inversely quantizing and inversely transforming the changed and quantized residual signal and adding the prediction macroblock output from the predictor.
필터(914)는 디블로킹 필터와 같은 필터를 이용하여 복원된 대상 매크로블록을 필터링한다. 필터링된 복원 매크로블록은 프레임 메모리(916)에 저장되어, 예측기(903)에서 다음 매크로블록 또는 다음 픽처의 매크로블록을 예측하는 데 활용된다.The filter 914 filters the reconstructed target macroblock using a filter such as a deblocking filter. The filtered reconstructed macroblock is stored in the frame memory 916 and used by the predictor 903 to predict the next macroblock or macroblock of the next picture.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 장치를 개략적으로 나타낸 블록 구성도이다.10 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 복호화 장치는 매크로블록 크기 설정기(1001), 복호화부(1002), 예측기(1003), 복원부(1008), 필터(1010) 및 프레임 메모리(1012)를 포함하여 구성될 수 있다. An image decoding apparatus according to an embodiment of the present invention includes a macroblock size setter 1001, a decoder 1002, a predictor 1003, a reconstructor 1008, a filter 1010, and a frame memory 1012. Can be configured.
매크로블록 크기 설정기(1001)는 현재 복호화 대상 매크로블록 번호를 이용하여 복호화 대상 매크로블록의 위치를 구하고 복호화 대상 매크로블록이 입력 영상의 내부에 위치하지 않는 경우 매크로블록의 크기를 재설정한다. 이때 매크로블록 번호는 복호화기에서 내부적으로 복호화한 매크로블록의 개수를 1씩 증가시키면서 계산하여 구하고 입력 영상의 크기는 비트스트림 내 시퀀스 헤더로부터 추출하여 복호화하여 입력 영상 크기를 알 수 있다.The macroblock size setter 1001 obtains the position of the decoding target macroblock by using the current decoding target macroblock number and resets the size of the macroblock when the decoding target macroblock is not located inside the input image. In this case, the macroblock number can be calculated by increasing the number of macroblocks internally decoded by the decoder by 1, and the size of the input image can be obtained by extracting and decoding the sequence header from the bitstream.
매크로블록의 크기를 재설정하는 방법은 현재 복호화 대상 매크로블록이 입력영상의 내부에 위치하지 않는 경우에 대해서만, 현재 매크로블록의 가로와 세로 크기를 소정의 비율, 예컨대 1/2로 줄여나가면서 매크로블록의 크기를 재설정할 수도 있고 사용 가능한 매크로블록 크기들 중 입력 영상 내부에 매크로블록이 위치하도록 하는 가장 큰 크기의 매크로블록 크기로 재설정할 수도 있다.The method of resetting the size of the macroblock is only when the current macroblock to be decoded is not located inside the input image, while reducing the horizontal and vertical sizes of the current macroblock by a predetermined ratio, for example, 1/2. The size of may be reset or may be reset to the macroblock size of the largest size that allows the macroblock to be positioned inside the input image among the available macroblock sizes.
또는 현재 복호화 대상 매크로블록이 입력영상의 내부에 위치하지 않으면서 소정의 영역, 예컨대 1/2보다 작은 영역을 걸치는 경우에는 매크로블록의 크기를 전술한 방법을 이용하여 재설정할 수도 있다. Alternatively, when the current decoding target macroblock covers a predetermined area, for example, an area smaller than 1/2, without being located inside the input image, the size of the macroblock may be reset using the above-described method.
복호화부(1002)는 입력되는 비트스트림으로부터 매크로블록 복호화에 필요한 3가지 타입의 정보를 추출한다. The decoder 1002 extracts three types of information required for macroblock decoding from the input bitstream.
첫 번째로 현재 복호화하고자 하는 매크로블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부와 매크로블록의 서브블록 모드를 나타내는 매크로블록 타입 정보와 서브블록 모드 정보를 엔트로피 복호화하여 추출한다. First, macroblock type information and subblock mode information indicating whether a macroblock to be currently decoded is an inter macroblock or an intra macroblock and a subblock mode of the macroblock are extracted by entropy decoding.
두 번째로 예측에 필요한 정보를 엔트로피 복호화하여 추출한다. 이때 복호화할 예측 데이터의 종류와 예측 데이터 복호화 방법은 각 블록이 인트라 블록인지 인터 블록인지에 따라 달라지게 되는데 복원할 블록이 인터 매크로블록인 경우에는 비트스트림으로부터 각 서브블록들의 움직임 보상에 필요한 참조픽쳐 정보와 움직임 벡터 등과 같은 움직임에 대한 정보를 추출하여 복호화하고, 인트라 블록인 경우에는 비트스트림으로부터 휘도 성분과 색차 성분의 인트라 예측 모드에 대한 정보를 추출하여 복호화한다. Second, information necessary for prediction is extracted by entropy decoding. In this case, the type of prediction data to be decoded and the method of decoding the prediction data vary depending on whether each block is an intra block or an inter block. When the block to be restored is an inter macro block, a reference picture required for motion compensation of each subblock from the bitstream Information about a motion such as information and a motion vector is extracted and decoded. In the case of an intra block, information about an intra prediction mode of a luminance component and a chrominance component is extracted and decoded from a bitstream.
마지막으로 잔여신호 복호화에 필요한 정보들을 복호화하는데, 먼저 각 서브블록에 0이 아닌 변환계수가 있는지를 나타내는 정보(예컨대 CBP)를 복호화하고 0이 아닌 변환계수가 있는 블록들에 대해서는 변환의 종류를 나타내는 변환정보와 양자화된 변환계수를 복호화한다. Finally, the information necessary for decoding the residual signal is decoded. First, information indicating whether a non-zero transform coefficient is present in each subblock (for example, CBP) is decoded. Decode the transform information and the quantized transform coefficients.
이때 부호화기에서 매크로블록 내 영상 경계를 넘어가는 블록들의 데이터를 비트스트림으로 부호화하지 않는 경우, 복호화부(1002)는 매크로블록 내 각 서브블록들의 위치를 계산하면서 현재 서브블록이 영상 경계를 넘어가는지 여부를 판단한 후 영상 경계를 넘어가는 서브블록에 대해서는 서브블록의 모드 정보, 예측에 필요한 정보, 잔여신호 복호화에 필요한 정보들을 복호화하지 않는다(즉, 부호화기에서 비트스트림으로 부호화하지 않았으므로 복호화기에서도 비트스트림으로부터 추출 및 복호화하지 않는다).In this case, when the encoder does not encode data of blocks crossing the image boundary in the macroblock into a bitstream, the decoder 1002 calculates the position of each subblock in the macroblock and whether the current subblock crosses the image boundary. After determining, the mode information of the subblock, information necessary for prediction, and information necessary for decoding the residual signal are not decoded for the subblock crossing the image boundary (that is, the decoder does not encode the bitstream into the bitstream. Extraction and decryption from
예측기(1003)는 현재 복호화하고자 하는 현재 블록을 예측하는데, 움직임 보상부(1004)와 인트라 예측부(1006)를 포함하여 구성될 수 있다. 움직임 보상부(1004)는 현재 블록이 인터 블록인 경우, 복호화부(1002)에 의해 복호화되어 복원된 움직임 벡터를 이용하여 프레임 메모리에 저장된 참조 픽처에서 현재 매크로블록의 크기만큼의 화소를 가져와서 예측 매크로블록을 생성한다. 인트라 예측부(1006)는 현재 블록이 인트라 블록인 경우, 복호화부(1002)에 의해 복호화되어 복원된 인트라 예측 모드에 따라 현재 매크로블록을 예측하여 예측 매크로블록을 생성한다. The predictor 1003 predicts a current block to be currently decoded, and may include a motion compensator 1004 and an intra predictor 1006. If the current block is an inter block, the motion compensator 1004 predicts by bringing pixels of the size of the current macroblock from the reference picture stored in the frame memory using the motion vector decoded and decoded by the decoder 1002. Create a macroblock. If the current block is an intra block, the intra predictor 1006 predicts the current macroblock according to the intra prediction mode decoded and reconstructed by the decoder 1002 to generate a predicted macroblock.
이때 부호화기에서 매크로블록 내 영상 경계를 넘어가는 블록들의 부호화 방법으로 필요한 비트수만을 고려하여 인트라 예측 모드 또는 인터 예측 모드(즉, 움직임 벡터와 참조픽쳐 정보)를 결정하고 결정된 모드 정보를 비트스트림으로 부호화하고, 복원 블록 생성시 입력영상을 패딩하는 방법을 이용하여 각 블록을 복원한 경우, 예측부(1006)는 매크로블록 내 각 서브블록들의 위치를 계산하면서 현재 서브블록이 영상 경계를 넘어가는지 여부를 판단한 후 영상 경계를 넘어가는 서브블록에 대해서는 비트스트림으로부터 추출한 모드 정보를 따르지 않고 부호화기와 약속된 패딩 방법을 이용하여 예측 블록을 생성한다.In this case, the encoder determines the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) by considering only the number of bits required as the encoding method of blocks crossing the image boundary in the macroblock, and encodes the determined mode information into the bitstream. In the case of reconstructing each block using a method of padding the input image when generating the reconstructed block, the predictor 1006 calculates the position of each subblock in the macroblock and determines whether the current subblock crosses the image boundary. After the determination, the subblock crossing the image boundary is generated without using the mode information extracted from the bitstream by using the padding method promised with the encoder.
또한 부호화기에서 매크로블록 내 영상 경계를 넘어가는 블록들의 데이터를 비트스트림으로 부호화하지 않는 경우에도 현재 서브블록이 영상 경계를 넘어가는지 여부를 판단한 후 영상 경계를 넘어가는 서브블록에 대해서는 부호화기와 약속된 패딩 방법을 이용하여 예측 블록을 생성한다.Also, even when the encoder does not encode data of blocks crossing the image boundary in the macroblock into a bitstream, it is determined whether the current subblock crosses the image boundary, and then the padding promised to the encoder for the subblock crossing the image boundary. The prediction block is generated using the method.
복원부(1008)는 복호화기에 의해 복호화된 양자화된 변환계수를 역 양자화하고 복호화부(1002)에서 추출하고 복원한 변환종류를 이용하여 역 양자화된 변환계수를 역변환하여 잔여 신호를 생성한 후, 생성된 잔여신호를 예측기에 의해 생성된 예측 매크로블록을 더하여 복원 매크로블록을 생성한다. 생성된 복원 매크로블록은 필터(1010)에서 필터링되어 프레임 메모리(1012)에 저장되고, 다음 매크로블록이나 다음 픽처를 복원하는 데 이용된다. The decompressor 1008 inversely quantizes the quantized transform coefficients decoded by the decoder, and inversely transforms the dequantized transform coefficients using the transform type extracted and reconstructed by the decoder 1002 to generate a residual signal. The reconstructed macroblock is generated by adding the predicted macroblock generated by the predictor to the received residual signal. The generated reconstruction macroblock is filtered by the filter 1010 and stored in the frame memory 1012 and used to reconstruct the next macroblock or the next picture.
이때 부호화기에서 매크로블록 내 영상 경계를 넘어가는 블록들의 부호화 방법으로 필요한 비트수만을 고려하여 인트라 예측 모드 또는 인터 예측 모드(즉, 움직임 벡터와 참조픽쳐 정보)를 결정하고 결정된 모드 정보를 비트스트림으로 부호화하고, 복원 블록 생성시 입력영상을 패딩하는 방법을 이용하여 각 블록을 복원한 경우, 또는 부호화기에서 매크로블록 내 영상 경계를 넘어가는 블록들의 데이터를 비트스트림으로 부호화하지 않는 경우, 현재 서브블록이 영상 경계를 넘어가는지 여부를 판단한 후 영상 경계를 넘어가는 서브블록에 대해서는 부호화기와 약속된 패딩 방법을 이용하여 생성된 예측 블록을 복원블록으로 생성한다. (즉, 잔여신호가 없는 것으로 간주한다.)In this case, the encoder determines the intra prediction mode or the inter prediction mode (that is, the motion vector and the reference picture information) by considering only the number of bits required as the encoding method of blocks crossing the image boundary in the macroblock, and encodes the determined mode information into the bitstream. In the case of reconstructing each block using a method of padding an input image when generating a reconstructed block, or when the encoder does not encode data of blocks that cross the image boundary in a macroblock into a bitstream, the current subblock is an image. After determining whether to cross the boundary, the predicted block generated by using the padding method promised with the encoder is generated as a reconstructed block for the subblock crossing the image boundary. (I.e. no residual signal is assumed)
전술한 매크로블록 내 영상 경계를 넘어가는 부분(블록)들을 포함하는 매크로블록을 복호화하는 방법은 기존의 복호화 방법과 결합하여 사용될 수도 있다.The above-described method of decoding a macroblock including portions (blocks) crossing an image boundary in the macroblock may be used in combination with an existing decoding method.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.In the above description, it is described that all the components constituting the embodiments of the present invention are combined or operated in one, but the present invention is not necessarily limited to these embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless specifically stated otherwise, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms commonly used, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
이상에서 설명한 바와 같이 본 발명의 실시예는, 입력 영상의 크기가 임의의 크기의 매크로블록 크기의 정수 배가 아닌 경우, 영상의 외곽 부분 부호화 및 복호화 시 가변 크기의 매크로블록을 이용하여 영상을 부호화 및 복호화함으로써 압축 효율 및 복원 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.As described above, in the embodiment of the present invention, when the size of the input image is not an integer multiple of the size of the macroblock of any size, the image is encoded and used by using a variable size macroblock when encoding and decoding the outer part of the image. It is a very useful invention to generate an effect that can improve the compression efficiency and the recovery efficiency by decoding.
CROSS-REFERENCE TO RELATED APPLICATIONCROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2009년 10월 21일 한국에 출원한 특허출원번호 제 10-2009-0100443 호 및 2010년 04월 16일 출원한 특허출원번호 제 10-2010-0035446 호, 2010년 04월 16일 출원한 특허출원번호 제 10-2010-0035456 호, 2010년 04월 16일 출원한 특허출원번호 제 10-2010-0035536 호, 2010년 10월 21일 출원한 특허출원번호 제 10-2010-0103075 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.This patent application is filed with the patent application number 10-2009-0100443 filed in Korea on October 21, 2009, and the patent application number 10-2010-0035446 filed on April 16, 2010, April 16, 2010. Patent Application No. 10-2010-0035456, April 16, 2010 Patent Application No. 10-2010-0035536, Patent Application No. 10-2010-0103075, filed October 21, 2010 If a priority is claimed in accordance with US Patent § 119 (a) (35 USC § 119 (a)), all of which is incorporated by reference in this patent application. In addition, if this patent application claims priority for the same reason as above for a country other than the United States, all the contents thereof are incorporated into this patent application by reference.

Claims (14)

  1. 영상 부호화/복호화 장치에 있어서,In the video encoding / decoding device,
    현재 부호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 상기 가변 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하며, 재설정된 상기 가변 매크로블록에 기초하여 예측 부호화를 수행하는 영상 부호화기; 및When the variable macroblock of the current encoding target is not located inside the input image, the horizontal and vertical sizes of the variable macroblock are reduced to a set size or ratio and reset to a size smaller than the current size. An image encoder for performing predictive encoding based on the block; And
    현재 복호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 상기 현재 복호화 대상의 가변 매크로블록의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하여 복호화를 수행하는 영상 복호화기When the variable macroblock of the current decoding target is not located inside the input image, the image decoding is performed by reducing the size of the variable macroblock of the current decoding target to a set size or ratio and resetting it to a size smaller than the current size to perform decoding. group
    를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.Image encoding / decoding apparatus comprising a.
  2. 영상 부호화/복호화 장치에 있어서,In the video encoding / decoding device,
    현재 부호화 대상의 매크로블록 내의 입력 영상의 경계를 넘어가는 부분 또는 블록들을 포함하여 부호화하는 경우, 영상 경계를 넘어가는 부분(블록)은 발생비트가 가장 적게 되는 모드로 가정하여 부호화/복호화하는 것을 특징으로 하는 영상 부호화/복호화 장치.In the case of encoding including a portion or blocks beyond the boundary of the input image in the macroblock to be encoded, the portion (block) crossing the image boundary is encoded / decoded on the assumption that the generation bit is the mode with the least generation bit. A video encoding / decoding device.
  3. 영상 부호화/복호화 장치에 있어서,In the video encoding / decoding device,
    현재 부호화 대상의 매크로블록 내의 입력 영상의 경계를 넘어가는 부분 또는 블록들을 포함하여 부호화하는 경우, 영상 경계를 넘어가는 부분(블록)은 예측 정보 또는 변환 정보를 포함하는 데이터의 부호화/복호화를 생략하는 것을 특징으로 하는 영상 부호화/복호화 장치.In the case where the encoding includes a portion or blocks crossing the boundary of the input image in the macroblock to be encoded, the portion (block) crossing the image boundary omits encoding / decoding of data including prediction information or transform information. An image encoding / decoding apparatus, characterized in that.
  4. 영상 부호화 장치에 있어서,In the video encoding apparatus,
    현재 부호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 상기 현재 부호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기;If the macroblock of the current encoding target does not reach a predetermined ratio or more, the macroblock size setter resets the size of the macroblock by reducing the horizontal and vertical sizes of the macroblock of the current encoding target to a predetermined size or ratio. ;
    상기 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및A predictor for performing intra prediction or inter prediction on the macroblock of the current encoding target; And
    상기 인트라 예측 또는 상기 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 부호화부An encoder that transforms, quantizes, and entropy encodes a residual signal obtained by the intra prediction or the inter prediction.
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.An image encoding apparatus comprising a.
  5. 영상 부호화 장치에 있어서,In the video encoding apparatus,
    현재 부호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 상기 입력 영상의 내부에 위치하는 가장 큰 크기로 상기 현재 부호화 대상의 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기;If the macroblock of the current encoding target is not located inside the input image, the macro which resets the size of the macroblock of the current encoding target to the largest size among the available macroblocks located inside the input image. Block size setter;
    상기 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및A predictor for performing intra prediction or inter prediction on the macroblock of the current encoding target; And
    상기 인트라 예측 또는 상기 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 부호화부An encoder that transforms, quantizes, and entropy encodes a residual signal obtained by the intra prediction or the inter prediction.
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.An image encoding apparatus comprising a.
  6. 영상 복호화 장치에 있어서,In the video decoding apparatus,
    현재 복호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 상기 현재 복호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 비율로 줄여 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기;A macroblock size setter configured to reset the size of the macroblock by reducing the horizontal and vertical sizes of the current macroblock to be decoded to a predetermined ratio when the macroblock to be decoded does not reach the input image more than a predetermined ratio;
    비트스트림으로부터 상기 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 복호화부; A decoder which extracts and decodes prediction information including type information and transform coefficients of the current macroblock to be decoded from a bitstream;
    상기 타입정보에 기초하여 상기 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및A predictor for performing intra prediction or inter prediction on the macroblock of the current decoding target based on the type information; And
    상기 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 상기 예측기에 의해 예측된 값에 생성된 상기 잔여신호를 가산하여 복원된 매크로블록을 생성하는 복원부A reconstruction unit for generating a residual signal by inversely quantizing the transform coefficients and inversely transforming the residual coefficient, and generating a reconstructed macroblock by adding the residual signal generated to a value predicted by the predictor
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.Video decoding apparatus comprising a.
  7. 영상 복호화 장치에 있어서,In the video decoding apparatus,
    현재 복호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 상기 입력 영상의 내부에 위치하는 가장 큰 크기로 상기 현재 복호화 대상의 매크로블록의 크기를 재설정하는 매크로블록 크기 설정기;If the macroblock to be decoded currently is not located inside the input image, the macro which resets the size of the macroblock to be decoded to the largest size among the available macroblocks located inside the input image. Block size setter;
    비트스트림으로부터 상기 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 복호화부; A decoder which extracts and decodes prediction information including type information and transform coefficients of the current macroblock to be decoded from a bitstream;
    상기 타입정보에 기초하여 상기 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 예측기; 및A predictor for performing intra prediction or inter prediction on the macroblock of the current decoding target based on the type information; And
    상기 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 상기 예측기에 의해 예측된 값에 생성된 상기 잔여신호를 가산하여 복원된 매크로블록을 생성하는 복원부A reconstruction unit for generating a residual signal by inversely quantizing the transform coefficients and inversely transforming the residual coefficient, and generating a reconstructed macroblock by adding the residual signal generated to a value predicted by the predictor
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.Video decoding apparatus comprising a.
  8. 영상 부호화/복호화 방법에 있어서,In the video encoding / decoding method,
    현재 부호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 상기 가변 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하며, 재설정된 상기 가변 매크로블록에 기초하여 예측 부호화를 수행하는 단계; 및When the variable macroblock of the current encoding target is not located inside the input image, the horizontal and vertical sizes of the variable macroblock are reduced to a set size or ratio and reset to a size smaller than the current size. Performing predictive encoding based on the block; And
    현재 복호화 대상의 가변 매크로블록이 입력 영상의 내부에 위치하지 않는 경우에 상기 현재 복호화 대상의 가변 매크로블록의 크기를 설정된 크기 또는 비율로 줄여 현재의 크기보다 작은 크기로 재설정하여 복호화를 수행하는 단계Performing decoding by resetting the size of the variable macroblock of the current decoding target to a size or a ratio smaller than the current size when the variable macroblock of the current decoding target is not located inside the input image.
    를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법.Image encoding / decoding method comprising a.
  9. 영상 부호화 방법에 있어서,In the video encoding method,
    현재 부호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 상기 현재 부호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 크기 또는 비율로 줄여 매크로블록의 크기를 재설정하는 단계;Resetting the size of the macroblock by reducing the horizontal and vertical sizes of the macroblock of the current encoding target to a predetermined size or ratio when the macroblock of the current encoding target does not reach a predetermined ratio or more;
    상기 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및Performing intra prediction or inter prediction on the macroblock of the current encoding target; And
    상기 인트라 예측 또는 상기 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 단계Transforming, quantizing, and entropy encoding a residual signal obtained by the intra prediction or the inter prediction
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.Image encoding method comprising a.
  10. 제 9항에 있어서,The method of claim 9,
    상기 재설정단계는,The reset step,
    상기 현재 부호화 대상의 매크로블록이 상기 입력 영상에 상기 소정 비율 이상 걸칠 때까지 가로 및 세로의 크기를 상기 설정된 비율로 반복적으로 줄여 매크로블록의 크기를 재설정하는 것을 특징으로 하는 영상 부호화 방법.And resetting the size of the macroblock by repeatedly reducing the horizontal and vertical sizes to the set ratio until the macroblock of the current encoding target is over the predetermined ratio.
  11. 영상 부호화 방법에 있어서,In the video encoding method,
    현재 부호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 상기 입력 영상의 내부에 위치하는 가장 큰 크기로 상기 현재 부호화 대상의 매크로블록의 크기를 재설정하는 단계;If the macroblock of the current encoding target is not located inside the input image, resetting the size of the macroblock of the current encoding target to the largest size among the available macroblocks located inside the input image. ;
    상기 현재 부호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및Performing intra prediction or inter prediction on the macroblock of the current encoding target; And
    상기 인트라 예측 또는 상기 인터 예측으로 얻어진 잔여 신호를 변환 및 양자화하고 엔트로피 부호화하는 단계Transforming, quantizing, and entropy encoding a residual signal obtained by the intra prediction or the inter prediction
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.Image encoding method comprising a.
  12. 제 11항에 있어서,The method of claim 11,
    상기 사용 가능한 매크로블록의 크기는 사용 가능한 변환의 크기의 양의 정수 배인 것을 특징으로 하는 영상 부호화 방법.And the size of the usable macroblock is a positive integer multiple of the size of the usable transform.
  13. 영상 복호화 방법에 있어서,In the video decoding method,
    현재 복호화 대상의 매크로블록이 입력 영상에 소정 비율 이상 걸치지 않는 경우, 상기 현재 복호화 대상의 매크로블록의 가로 및 세로의 크기를 설정된 비율로 줄여 매크로블록의 크기를 재설정하는 단계;Resetting the size of the macroblock by reducing the horizontal and vertical sizes of the current macroblock to be decoded to a predetermined ratio when the macroblock to be currently decoded does not reach a predetermined ratio over the input image;
    비트스트림으로부터 상기 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 단계; Extracting and decoding prediction information including type information and transform coefficients of the current macroblock to be decoded from the bitstream;
    상기 타입정보에 기초하여 상기 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및Performing intra prediction or inter prediction on the current macroblock to be decoded based on the type information; And
    상기 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 상기 예측단계에 의해 예측된 값에 생성된 상기 잔여신호를 가산하여 복원된 매크로블록을 생성하는 단계Inversely quantizing and inversely transforming the transform coefficients to generate a residual signal, and generating a reconstructed macroblock by adding the residual signal generated to the value predicted by the prediction step
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.Image decoding method comprising a.
  14. 영상 복호화 방법에 있어서,In the video decoding method,
    현재 복호화 대상의 매크로블록이 입력 영상의 내부에 위치하지 않는 경우, 사용 가능한 매크로블록의 크기들 중 상기 입력 영상의 내부에 위치하는 가장 큰 크기로 상기 현재 복호화 대상의 매크로블록의 크기를 재설정하는 단계;Resetting the size of the macroblock of the current decoding target to the largest size located inside the input video among the available sized macroblocks if the macroblock of the current decoding target is not located inside the input video; ;
    비트스트림으로부터 상기 현재 복호화 대상의 매크로블록에 대한 타입정보, 변환계수를 포함하는 예측정보를 추출하여 복호화하는 단계; Extracting and decoding prediction information including type information and transform coefficients of the current macroblock to be decoded from the bitstream;
    상기 타입정보에 기초하여 상기 현재 복호화 대상의 매크로블록에 대한 인트라 예측 또는 인터 예측을 수행하는 단계; 및Performing intra prediction or inter prediction on the current macroblock to be decoded based on the type information; And
    상기 변환계수를 역양자화하고 역변환하여 잔여신호를 생성하며, 상기 예측단계에 의해 예측된 값에 생성된 상기 잔여신호를 가산하여 복원된 매크로블록을 생성하는 단계Inversely quantizing and inversely transforming the transform coefficients to generate a residual signal, and generating a reconstructed macroblock by adding the residual signal generated to the value predicted by the prediction step
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.Image decoding method comprising a.
PCT/KR2010/007252 2009-10-21 2010-10-21 Image encoding and decoding apparatus and method WO2011049392A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/503,169 US9137545B2 (en) 2009-10-21 2010-10-21 Image encoding and decoding apparatus and method
CN201080058670.9A CN102668565B (en) 2009-10-21 2010-10-21 Image coding and decoding apparatus and method
US14/808,916 US9344731B2 (en) 2009-10-21 2015-07-24 Image encoding and decoding apparatus and method
US14/808,993 US9344732B2 (en) 2009-10-21 2015-07-24 Image encoding and decoding apparatus and method

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
KR20090100443 2009-10-21
KR10-2009-0100443 2009-10-21
KR10-2010-0035456 2010-04-16
KR1020100035536A KR20110043407A (en) 2009-10-21 2010-04-16 Video coding and decoding method and apparatus
KR10-2010-0035536 2010-04-16
KR20100035456 2010-04-16
KR20100035446 2010-04-16
KR10-2010-0035446 2010-04-16
KR1020100103075A KR101534049B1 (en) 2009-10-21 2010-10-21 Video Coding and Decoding Method and Apparatus
KR10-2010-0103075 2010-10-21

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/503,169 A-371-Of-International US9137545B2 (en) 2009-10-21 2010-10-21 Image encoding and decoding apparatus and method
US14/808,916 Continuation US9344731B2 (en) 2009-10-21 2015-07-24 Image encoding and decoding apparatus and method

Publications (2)

Publication Number Publication Date
WO2011049392A2 true WO2011049392A2 (en) 2011-04-28
WO2011049392A3 WO2011049392A3 (en) 2011-11-03

Family

ID=43900840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/007252 WO2011049392A2 (en) 2009-10-21 2010-10-21 Image encoding and decoding apparatus and method

Country Status (1)

Country Link
WO (1) WO2011049392A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112567749A (en) * 2018-06-18 2021-03-26 Lg电子株式会社 Method and apparatus for processing video signal using affine motion prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000077241A (en) * 1999-05-14 2000-12-26 이데이 노부유끼 Data recording apparatus, data recording/reproducing apparatus, data recording method, and data recording/reproducing method
KR20050035480A (en) * 2003-10-13 2005-04-18 엘지전자 주식회사 Macroblock detecting method in mobile communication system
KR20080114375A (en) * 2007-06-27 2008-12-31 티유미디어 주식회사 Variable block-based method and apparatus for filtering of deblocking type, and deblocking filter applied to the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000077241A (en) * 1999-05-14 2000-12-26 이데이 노부유끼 Data recording apparatus, data recording/reproducing apparatus, data recording method, and data recording/reproducing method
KR20050035480A (en) * 2003-10-13 2005-04-18 엘지전자 주식회사 Macroblock detecting method in mobile communication system
KR20080114375A (en) * 2007-06-27 2008-12-31 티유미디어 주식회사 Variable block-based method and apparatus for filtering of deblocking type, and deblocking filter applied to the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112567749A (en) * 2018-06-18 2021-03-26 Lg电子株式会社 Method and apparatus for processing video signal using affine motion prediction
CN112567749B (en) * 2018-06-18 2024-03-26 Lg电子株式会社 Method and apparatus for processing video signal using affine motion prediction

Also Published As

Publication number Publication date
WO2011049392A3 (en) 2011-11-03

Similar Documents

Publication Publication Date Title
WO2011004986A2 (en) Image encoding/decoding method and apparatus
WO2013002549A2 (en) Method and apparatus for coding/decoding image
KR101673028B1 (en) Video Coding and Decoding Method and Apparatus
WO2009157665A2 (en) Intra prediction method and apparatus using block transform, and image encoding/decoding method and apparatus using the same
WO2011145836A2 (en) Image coding/decoding device using coding block in which intra block and inter block are mixed, and method thereof
WO2011145819A2 (en) Image encoding/decoding device and method
WO2013070006A1 (en) Method and apparatus for encoding and decoding video using skip mode
WO2012057528A2 (en) Adaptive intra-prediction encoding and decoding method
WO2011019234A2 (en) Method and apparatus for encoding and decoding image by using large transformation unit
WO2013062196A1 (en) Image decoding apparatus
WO2013062197A1 (en) Image decoding apparatus
WO2011037337A2 (en) Method and apparatus for encoding/decoding images considering low frequency components
WO2012093854A2 (en) Method and device for encoding and decoding by using parallel intra-prediction by a coding unit
WO2010087620A2 (en) Method and apparatus for encoding and decoding images by adaptively using an interpolation filter
WO2013002550A2 (en) Method and apparatus for coding/decoding through high-speed coding unit mode decision
WO2012011672A2 (en) Method and device for encoding/decoding image using extended skip mode
WO2011096662A2 (en) Image encoding/decoding method for rate-distortion optimization and apparatus for performing same
WO2012033344A2 (en) Method and apparatus for encoding/decoding images using the effective selection of an intra-prediction mode group
WO2012046979A2 (en) Method and apparatus for encoding frequency conversion block using frequency mask table, and method and apparatus for encoding/decoding video using same
WO2013062198A1 (en) Image decoding apparatus
WO2017043763A1 (en) Encoding device, decoding device, and encoding and decoding method thereof
WO2010151018A2 (en) Image encoding/decoding apparatus and method using multi-dimensional integer transform
WO2011108879A2 (en) Video coding device, video coding method thereof, video decoding device, and video decoding method thereof
WO2012077959A2 (en) Method and device for encoding/decoding image in spatial domain for noise component
WO2013062194A1 (en) Method and apparatus for generating reconstructed block

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080058670.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10825217

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13503169

Country of ref document: US

NENP Non-entry into the national phase in:

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 27/07/12)

122 Ep: pct application non-entry in european phase

Ref document number: 10825217

Country of ref document: EP

Kind code of ref document: A2