WO2009093879A2 - 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치 - Google Patents

시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치 Download PDF

Info

Publication number
WO2009093879A2
WO2009093879A2 PCT/KR2009/000400 KR2009000400W WO2009093879A2 WO 2009093879 A2 WO2009093879 A2 WO 2009093879A2 KR 2009000400 W KR2009000400 W KR 2009000400W WO 2009093879 A2 WO2009093879 A2 WO 2009093879A2
Authority
WO
WIPO (PCT)
Prior art keywords
complexity
mode
encoding mode
spatial
macroblock
Prior art date
Application number
PCT/KR2009/000400
Other languages
English (en)
French (fr)
Other versions
WO2009093879A3 (ko
Inventor
Inseong Hwang
Hoojong Kim
Original Assignee
Sk Telecom Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sk Telecom Co., Ltd. filed Critical Sk Telecom Co., Ltd.
Priority to EP09703110.8A priority Critical patent/EP2242276B1/en
Priority to CN2009801029358A priority patent/CN101926178B/zh
Priority to JP2010544235A priority patent/JP5054826B2/ja
Priority to US12/812,890 priority patent/US8611416B2/en
Publication of WO2009093879A2 publication Critical patent/WO2009093879A2/ko
Publication of WO2009093879A3 publication Critical patent/WO2009093879A3/ko

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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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 a method and apparatus for determining a coding mode using spatiotemporal complexity. More specifically, in determining an optimal coding mode for a macro block using a rate-distortion optimization (RDO) technique, a rate-distortion value (RD Cost) is used.
  • RDO rate-distortion optimization
  • RD Cost rate-distortion value
  • the present invention relates to a method and apparatus for determining an encoding mode for minimizing the calculation of Cost.
  • one frame is divided into a plurality of macroblocks. After that, prediction is performed on a macroblock basis to obtain a prediction block, and the image data is compressed by transforming and quantizing the difference between the original image block and the prediction block.
  • a video compression standard such as MPEG-1, MPEG-2, MPEG-4 Visual, H.261, H.263, and H.264 / MPEG-4 AVC
  • Intra prediction performs prediction of the current block by using data of neighboring blocks existing in the current frame.
  • Inter prediction uses block-based motion compensation to generate a prediction block corresponding to the current block from one or more previously encoded video frames.
  • H.264 / MPEG-4 AVC performs motion prediction using 7 types of variable block modes ranging from 4x4 to 16x16, not blocks of fixed size.
  • 1A is an exemplary diagram illustrating blocks of various sizes used in variable block size motion prediction of a conventional H.264 / MPEG-4 AVC.
  • each macro block may be divided into one 16 ⁇ 16 macroblock partition, two 16 ⁇ 8 partitions, two 8 ⁇ 16 partitions, or four 8 ⁇ 8 partitions to be motion predicted.
  • each 8x8 block is one 8x8 sub macroblock partition, two 8x4 sub macroblock partitions, two 4x8 sub macroblock partitions, or four 4x It is divided into one of four sub macroblock partitions.
  • Equation 1 A typical rate-distortion optimization equation is shown in Equation 1 below.
  • Equation 1 J mode is a rate-distortion value, ⁇ mode is a Lagrangian multiplier, D is a distortion value between an original macroblock and a reconstructed macroblock, R is a mode selection and a quantization value of a macroblock, etc. A factor that reflects the number of bits involved.
  • each macroblock is divided into various variable blocks and encoded, and then a mode having a minimum rate-distortion value is determined as an optimal mode.
  • the encoder performs encoding on all predicted encoding modes and then calculates a rate-distortion value to determine a prediction mode having the smallest rate-distortion value as a prediction mode to be used for actual encoding.
  • This rate-distortion optimization technique greatly improves the compression performance of the H.264 / AVC encoder, but there is a problem that the real-time coding is a big obstacle because of its complexity.
  • 1B is an exemplary diagram showing the computational complexity according to the rate-distortion optimization.
  • the complexity of the calculation increases by at least 7 to 8 times compared to the case where the rate-distortion optimization is not performed.
  • the present invention provides a method of determining an encoding mode for minimizing the calculation of the rate-distortion value in determining an optimal encoding mode for a macroblock using a rate-distortion optimization technique. And to provide a device.
  • the present invention provides an apparatus for determining an encoding mode, comprising: a temporal complexity calculator for calculating a temporal complexity of a macroblock; And a mode determiner configured to determine an encoding mode using the temporal complexity.
  • an apparatus for determining an encoding mode comprising: a spatial complexity calculator for calculating a spatial complexity of a macroblock; And a mode determiner configured to determine an encoding mode by using spatial complexity.
  • a method of determining an encoding mode by an apparatus for determining an encoding mode comprising: (a) calculating a temporal complexity of a macroblock; (b) calculating the spatial complexity of the macro block; (c) if the temporal complexity is greater than a preset time threshold, determining the intra block mode as an encoding mode; And (d) if the temporal complexity is less than or equal to the temporal threshold, determining the interblock mode as an encoding mode.
  • the temporal complexity and the spatial complexity of the macroblock can be more accurately calculated, but also the complexity of the calculation when applying the rate-distortion optimization technique by selecting the optimal coding mode using the same. Reduce processing speed and improve processing speed.
  • 1A is an exemplary diagram illustrating blocks of various sizes used in variable block size motion prediction of a conventional H.264 / MPEG-4 AVC;
  • 1B is an exemplary diagram showing the computational complexity according to the rate-distortion optimization
  • FIG. 2 is a block diagram illustrating an electronic configuration of an encoding mode determination apparatus using a spatiotemporal complexity according to an embodiment of the present invention
  • FIG. 3 is a flowchart illustrating a method of determining an encoding mode using spatiotemporal complexity according to an embodiment of the present invention
  • FIG. 4 is an exemplary diagram for describing a process of calculating temporal complexity and spatial complexity according to an embodiment of the present invention.
  • Table 1 shows types and classifications of intra block modes
  • Table 2 shows types and classifications of inter block modes.
  • intra block modes intra 16X16_Vertical, intra 16X16_Horizontal, intra 16X16_DC, intra 16X16_Plane
  • inter block modes inter SKIP, inter 16X16, inter 16X8, and inter 8X16
  • intra block modes Intra 4X4_Vertical, Intra 4X4_Horizontal, Intra 4X4_DC, Intra 4X4_Diagonal Down Left, Intra 4X4_Diagonal Down Right, Intra 4X4_Vertical Down, Intra 4X4_Horizontal Down, Intra 4X4_Vertical4
  • the modes (inter 8x8, inter 8x4, inter 4x8, inter 4x4) are defined as 'small block modes'.
  • intra block modes (intra 16X16_Vertical, intra 4X4_Vertical, intra 4X4_Vertical Right, intra 4X4_Vertical Left) having vertical directionality and two inter block modes (inter 8X16, inter 4X8) having vertical directionality may be used.
  • the intra block mode or inter block mode shown in Tables 1 and 2 may be classified as shown in the 'classification' item according to their size and directionality, respectively. That is, for example, 'Intra 16X16_Vertical' is 'Intra Block Mode' and has a size of 16X16, so it is a 'Large Block Mode' and has a characteristic of Vertical and thus is a 'Vertical Directional Block Mode'. Therefore, combining these characteristics can be classified as 'large vertical directional intra block mode' as shown in Table 1. The remaining intra block modes and inter block modes can also be classified in this manner.
  • FIG. 2 is a block diagram illustrating an electronic configuration of an encoding mode determination apparatus using a spatiotemporal complexity according to an embodiment of the present invention.
  • An apparatus for determining a coding mode includes a temporal complexity calculator 210, a spatial complexity calculator 220, and a mode determiner 220.
  • the temporal complexity calculator 210 is a data processing means for generating and storing data by performing an operation, and calculates a temporal complexity of the macro block by analyzing a macro block of an image. .
  • the temporal complexity calculator 210 calculates a block residual, which is a residual of a macro block, and performs a time by transforming the block residual by a Hadamard transform. After calculating the block complexity, the temporal complexity is calculated by dividing the temporal block complexity by the quantization step size. A process of calculating the temporal complexity will be described in detail with reference to FIG. 4.
  • the spatial complexity calculator 220 is a data processing means for generating and storing data by performing an operation.
  • the spatial complexity calculator 220 calculates a spatial complexity of a macro block by analyzing a macro block of an image.
  • the spatial complexity calculator 220 calculates the vertical complexity by vertically filtering the macroblock, and horizontally filters the macroblock by horizontal filtering. (Horizontal Complexity) is calculated, and spatial block complexity is calculated by adding vertical and horizontal complexity, and then the spatial complexity is calculated by dividing by the quantization width. A process of calculating the spatial complexity will be described in detail with reference to FIG. 4.
  • the mode determiner 230 is a data processing means for generating and storing data by performing an operation, and the temporal complexity and spatial complexity calculator 220 calculated by the temporal complexity calculator 210.
  • the encoding mode which is a block mode to be encoded, is determined by using the spatial complexity calculated at.
  • the mode determining unit 230 has a high probability of encoding into an intra mode when the temporal complexity is large, so that an intra block mode (Intra 16X16_Vertical, Intra 16X16_Horizontal, Intra 16X16_DC, Intra 16X16_Plane, Intra 4X4_Vertical, Intra 4X4_Horizontal, intra 4X4_DC, intra 4X4_Diagonal Down Left, intra 4X4_Diagonal Down Right, intra 4X4_Vertical Right, intra 4X4_Horizontal Down, intra 4X4_Verticaltal, intra 4X4_Horizontal UP Since the interblock mode (inter SKIP, inter 16X16, inter 16X8, inter 8X16, inter 8X8, inter 8X4, inter 4X8, inter 4X4) is determined as the encoding mode.
  • an intra block mode Intra 16X16_Vertical, Intra 16X16_Horizontal, Intra 16X16_DC, Intra 16X
  • the mode determiner 230 compares the temporal complexity with a preset time threshold, and when the temporal complexity is greater than the temporal threshold, determines the intra block mode as an encoding mode, and the temporal complexity is time. If less than or equal to the threshold, the interblock mode is determined as the encoding mode.
  • the time threshold refers to the temporal complexity of the previous macro block having the same position as the current macro block in the previous frame, which is the previous frame of the current frame including the current macro block.
  • the mode determining unit 230 has a high probability that a small block mode, i.e., a small block mode, is determined as an encoding mode when the spatial complexity is large, so that the small block mode (Intra 4X4_Vertical, Intra 4X4_Horizontal, Intra 4X4_DC, Intra 4X4_Diagonal Down Left, Intra 4X4_Diagonal Down Right, Intra 4X4_Vertical Right, Intra 4X4_Horizontal Down, Intra 4X4_Vertical Left, Intra 4X4_Horizontal UP, Inter 8X8, Inter 8X4, Inter 4X8, Inter 4X4).
  • a small block mode i.e., a small block mode
  • a large block mode (intra 16X16_Vertical, intra 16X16_Horizontal, intra 16X16_DC, intra 16X16_Plane, inter SKIP, inter 16X16, inter 16X8, inter 8X16) is determined as an encoding mode. .
  • the mode determiner 230 compares the spatial complexity with a preset spatial threshold and determines the small block mode as an encoding mode when the spatial complexity is greater than the spatial threshold, and the spatial complexity is greater than the spatial threshold. If smaller or equal, the large block mode is determined as the encoding mode.
  • the spatial threshold refers to the spatial complexity of the previous macro block having the same position as the current macro block in the previous frame, which is the previous frame of the current frame including the current macro block.
  • the mode determination unit 230 compares the vertical complexity of the macroblock with the horizontal complexity of the macroblock, and if the vertical complexity is greater than the horizontal complexity, the vertical decision block mode having the vertical directional block mode ( Intra 16X16_Vertical, Intra 4X4_Vertical, Intra 4X4_Vertical Right, Intra 4X4_Vertical Left, INTER 8X16, INTER 4X8) are determined as encoding modes, and if the vertical and horizontal complexity are the same, non-directional block mode (Intra 16X16_DC) , Intra 16X16_Plane, Intra 4X4_DC, Intra 4X4_Diagonal Down Left, Intra 4X4_Diagonal Down Right, Inter SKIP, Inter 16X16, Inter 8X8, Inter 4X4) are determined as the encoding modes. If the vertical complexity is less than the horizontal complexity, the horizontal directional block mode ( Intra 16X16_Horizontal, Intra 4X4_Horizontal, Intra 4X4_Ho
  • the temporal complexity calculator 210, the spatial complexity calculator 220, and the mode calculator 230 execute a program that performs each function and a memory for storing data and a program stored in the memory and generate data.
  • a program module for performing each function, stored in the memory and executed by the microprocessor.
  • the mode calculator 230 determines an intra block mode or an inter block mode as an encoding mode using temporal complexity, and determines a small block mode or a large block mode as an encoding mode using spatial complexity, although it is described that each of the vertical directional block mode, the non-directional block mode, and the horizontal directional block mode is selected as the encoding mode by using the horizontal complexity, each of them may be selectively performed.
  • the mode calculation unit 230 is a small vertical in the intra block mode, which is a block mode having a small vertical direction.
  • the directional intra block mode (Intra 4X4_Vertical, Intra 4X4_Vertical Right, Intra 4X4_Vertical Left) is determined as the encoding mode. Therefore, in this case, the encoder including the encoding mode determining apparatus using the spatiotemporal complexity according to the embodiment of the present invention calculates the rate-distortion value of only the three block modes described above as the encoding mode by the encoding mode determining apparatus.
  • the encoding mode may be determined, thereby minimizing the amount of computation or processing time for performing the rate-distortion optimization technique.
  • An encoder for compressing an image or a video divides the video into frame units and encodes the image of each frame into macroblocks before encoding the video, and determines an encoding mode.
  • the H.264 video compression standard uses rate-distortion optimization.
  • the rate-distortion optimization technique is performed by performing the rate-distortion optimization technique for all the block modes expected to be encoded modes (that is, the intra block modes and the inter block modes). As the value is obtained, the calculation becomes very complicated and the load of the encoder increases due to the calculation, which takes a lot of time to encode.
  • the inefficiency of calculating the rate-distortion value for all the block modes is improved by determining the encoding mode so that the encoder can minimize the number of block modes in which the rate-distortion value should be calculated. do.
  • the encoder may be implemented as a kind of hardware or software module, and the encoding mode determination apparatus using the spatiotemporal complexity according to the embodiment of the present invention described above with reference to FIG. 2 calculates the temporal complexity and the spatial complexity of the macroblock.
  • the minimum number of encoding modes is determined, and the encoder determines a final encoding mode by calculating a rate-distortion value by performing a rate-distortion optimization technique on the determined number of encoding modes.
  • FIG. 3 is a flowchart illustrating a method of determining an encoding mode using spatiotemporal complexity according to an embodiment of the present invention.
  • An encoding mode determination apparatus using a spatiotemporal complexity calculates a temporal complexity of a macroblock (S310), The spatial complexity is calculated (S320).
  • the encoding mode determination apparatus that calculates the temporal complexity and the spatial complexity of the macroblock determines whether the temporal complexity is greater than the time threshold by comparing the temporal complexity with a preset time threshold (S330), and when the temporal complexity is greater than the time threshold. Intrablock mode is determined as the encoding mode (S340). If the temporal complexity is less than or equal to the time threshold, the interblock mode is determined as the encoding mode (S342).
  • the intra-blocking mode determines the encoding mode.
  • the intra block mode is determined as the encoding mode, and vice versa, the inter block mode is determined as the encoding mode.
  • the encoding mode determining apparatus determines whether the spatial complexity is larger than the spatial threshold by comparing the spatial complexity with a preset spatial threshold (S350). When the spatial complexity is larger than the spatial threshold, the encoding mode determination apparatus determines the small block mode as the encoding mode. If the spatial complexity is less than or equal to the spatial threshold, the large block mode is determined as the encoding mode (S362).
  • the encoding mode determination apparatus determines the encoding mode by calculating a rate-distortion value.
  • the small block mode is determined as the encoding mode, and vice versa, the large block mode is determined as the encoding mode.
  • the encoding mode determination apparatus determines whether the vertical complexity is greater than the horizontal complexity by comparing the vertical complexity included in the spatial complexity with the horizontal complexity (S370), and when the vertical complexity is greater than the horizontal complexity, the vertical directional block mode is encoded. If the vertical complexity is equal to the horizontal complexity, the non-directional block mode is determined as the encoding mode (S374). If the vertical complexity is smaller than the horizontal complexity, the horizontal directional block mode is determined as the encoding mode. (S376).
  • the encoding mode determining apparatus has a high probability that the vertical directional block mode is determined as the encoding mode even when the current frame has a vertical complexity of the current macroblock greater than the horizontal complexity, even if the encoding mode is determined by calculating a rate-distortion value.
  • the vertical block mode is determined as the encoding mode, and in the same case, the non-directional block mode is selected, and in the small case, the large block mode is determined as the encoding mode.
  • the encoding mode determination apparatus determines the encoding mode by using temporal complexity, spatial complexity, vertical complexity and horizontal complexity included in the spatial complexity.
  • step S330 to S342 a process of determining an encoding mode using temporal complexity
  • step S350 to Step 3 a process of determining an encoding mode using spatial complexity
  • step S360 to S376 a process of determining the encoding mode by using both the vertical complexity and the horizontal complexity included in the spatial complexity
  • the encoder determines the final encoding mode by calculating the rate-distortion value only in the above three block modes, and compresses the image in the final encoding mode.
  • the encoding mode determination apparatus performs a process of determining the encoding mode using both vertical complexity and horizontal complexity (steps S360 to S376), and then uses the temporal complexity after the horizontal directional block mode is determined as the encoding mode.
  • the interblock mode is determined as the encoding mode by performing the process of determining the encoding mode (steps S330 to S342)
  • the block mode determined as the encoding mode is a horizontal directional interblock mode (that is, a large horizontal directionality).
  • Interblock mode 'and' Small horizontal directional interblock mode ')' inter 16X8 'and' inter 8X4 ' that is, the encoder calculates the rate-distortion value only in the above two block modes to determine the final encoding mode and compresses the image in the final encoding mode.
  • FIG. 4 is an exemplary diagram for describing a process of calculating temporal complexity and spatial complexity according to an embodiment of the present invention.
  • 4A shows a Hadamard Transform matrix used to calculate temporal complexity.
  • the encoding mode determiner calculates a block residual, which is a matrix of residual signals, by performing motion compensation on the macroblock to remove redundancy, and then converts the adamard transform shown in 1A into the block residual. Compute the temporal block complexity by multiplying the matrix and performing the Adamard transform.
  • the encoding mode determining apparatus calculates the temporal complexity by dividing the temporal block complexity by the quantization width.
  • the macro block refers to a matrix of 16 ⁇ 16 having pixel values of the macro block. This process can be expressed as Equation 2.
  • an additional Adam transform is performed to remove the redundancy on the residual signal once more to drastically reduce the error of the actual bit generation amount.
  • the encoding mode determining apparatus can accurately predict the amount of data generating a difference signal with a previous frame having similarity in time by using the frequency resolved through the Hadamard transformation, thereby calculating the time complexity very accurately. have.
  • 4B shows a vertical filter used to calculate spatial complexity
  • 4C shows a horizontal filter used to calculate spatial complexity
  • the encoding mode determining apparatus multiplies the macroblock by the vertical filter shown in 4B to vertically filter the macroblock, calculates the vertical complexity of the macroblock, and multiplies the macroblock by the horizontal filter shown in 4C. Horizontally filter the macro block to calculate the horizontal complexity of the macro block.
  • the encoding mode determination apparatus calculates a spatial block complexity by dividing a value obtained by adding vertical complexity and horizontal complexity by 2, and calculates spatial complexity by dividing the spatial block complexity by a quantization width.
  • the macro block refers to a matrix of 16 ⁇ 16 having pixel values of the macro block. This process can be expressed as in Equation 3.
  • spatial complexity is calculated using filters having two taps of two dimensions (that is, a vertical filter and a horizontal filter). Spatial complexity is calculated to predict with high accuracy the amount of bits generated when intra prediction is used.
  • the difference between adjacent pixels of a macroblock is calculated, and the complexity is simply calculated by using the sum of the differences.
  • two-dimensional high pass filters ie, vertical filters and horizontal filters
  • Edge is detected. Since the edges may have various directionality, the edges may be filtered using both a horizontal filter and a vertical filter, and the edges may be summed to detect edges in diagonal directions as well as horizontal and vertical directions.
  • the spatial complexity is more accurately calculated by using the quantization width, which is very important for adjusting the bit generation amount, in calculating the spatial complexity. That is, the spatial complexity is calculated by dividing the macroblock by the vertically filtered value and the horizontally filtered value, and dividing by the quantization width, thereby drastically reducing the error between the amount of bit generation and the spatial complexity that can vary according to the quantization width. You can. This approach is used to select only the most efficient of the various prediction directions in intra prediction, which allows for a more accurate determination of the encoding mode.
  • the present invention provides a method and apparatus for determining an encoding mode for minimizing the calculation of the rate-distortion value in determining an optimal encoding mode for a macroblock using a rate-distortion optimization technique.
  • a rate-distortion optimization technique In addition to calculating the temporal and spatial complexity of macroblocks more precisely, they can be used to select the optimal coding mode, thereby reducing the computational complexity and improving the processing speed when applying the rate-distortion optimization technique. It is a very useful invention that produces an effect that can be achieved.

Landscapes

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

Abstract

본 발명은 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치에 관한 것이다. 본 발명은 부호화 모드를 결정하는 장치에 있어서, 매크로 블록의 시간적 복잡도를 계산하는 시간적 복잡도 계산부; 및 시간적 복잡도를 이용하여 부호화 모드를 결정하는 모드 결정부를 포함하는 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치를 제공한다. 본 발명에 의하면, 매크로 블록에 대한 시간적 복잡도와 공간적 복잡도를 더욱 정확하게 계산할 수 있을 뿐만 아니라 그를 이용하여 최적의 부호화 모드를 선별함으로써 율-왜곡 최적화 기법을 적용할 때의 계산의 복잡도를 줄이고 처리 속도를 향상할 수 있다.

Description

[규칙 제26조에 의한 보정] 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
본 발명은 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치에 관한 것이다. 더욱 상세하게는, 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 기법을 이용하여 매크로 블록(Macro Block)에 대해서 최적의 부호화 모드를 결정하는 데 있어서, 율-왜곡값(RD Cost: Rate-Distortion Cost)의 계산을 최소로 하기 위한 부호화 모드를 결정하는 방법 및 장치에 관한 것이다.
통상적으로, MPEG-1, MPEG-2, MPEG-4 Visual, H.261, H.263 및 H.264/MPEG-4 AVC 등의 영상 압축 표준안에서는 하나의 프레임을 복수 개의 매크로블록들로 분할한 후, 매크로블록 단위로 예측을 수행하여 예측 블록을 구하고, 원래의 영상 블록과 예측 블록의 차이를 변환 및 양자화하는 방식으로 영상 데이터를 압축한다.
예측의 방식으로는 인트라 예측(Intra Prediction)과 인터 예측(Inter Prediction)의 두 가지 종류가 있다. 인트라 예측은 현재 프레임에 존재하는 주변 블록의 데이터를 이용하여 현재 블록의 예측을 수행한다. 인터 예측은 블록 기반 움직임 보상을 이용하여 이전에 부호화된 하나 또는 그 이상의 비디오 프레임으로부터 현재 블록에 대응되는 예측 블록을 생성한다.
특히, 인터 예측시에 H.264/MPEG-4 AVC는 고정된 크기의 블록이 아니라 4×4로부터 16×16까지의 7 종류의 가변 블록 모드를 이용하여 움직임 예측을 수행한다.
도 1a는 종래 H.264/MPEG-4 AVC의 가변 블록 크기 움직임 예측에서 이용되는 다양한 크기의 블록들을 나타낸 예시도이다.
도 1a에 도시된 바와 같이, 각 매크로블록의 휘도 성분(16×16 샘플)은 4가지 방법으로 분할될 수 있다. 즉, 각 매크로 블록은 하나의 16×16 매크로블록 파티션, 두 개의 16×8 파티션, 두 개의 8×16 파티션 또는 네 개의 8×8 파티션으로 분할되어 움직임 예측될 수 있다.
또한, 8×8 모드가 선택되면 매크로블록 내의 네 개의 8×8 서브 매크로블록은 각각 4가지 방법으로 다시 분할될 수 있다. 즉, 8×8 모드가 선택된 경우, 각 8×8 블록은 하나의 8×8 서브 매크로블록 파티션, 두 개의 8×4 서브 매크로블록 파티션, 두 개의 4×8 서브 매크로블록 파티션 또는 네 개의 4×4 서브 매크로블록 파티션 중 하나로 분할된다.
각 매크로블록 내에서 이러한 파티션과 서브 매크로블록의 매우 많은 수의 조합이 가능하다. 매크로블록을 다양한 크기의 서브 블록으로 나누는 이러한 방법을 트리구조 움직임 보상(Tree Structured Motion Compensation)이라고 한다.
하나의 매크로블록에 대해서 최적의 부호화 모드를 결정하기 위해서, H.264 표준안에 따르면 율-왜곡 최적화 기법을 이용한다. 통상적인 율-왜곡 최적화 등식은 다음의 수학식 1과 같다.
수학식 1
Figure PCTKR2009000400-appb-M000001
수학식 1에서 Jmode는 율-왜곡값, λmode는 라그랑지 승산자(Lagrangian Multiplier), D는 원 매크로블록과 재구성된 매크로블록 사이의 왜곡값, R은 모드 선택 및 매크로블록의 양자화값 등과 관련된 비트수를 반영하는 계수이다. 수학식 1을 이용하여 각 매크로블록을 다양한 가변블록으로 나누어 부호화해 본 다음에 최소의 율-왜곡값을 갖는 모드를 최적의 모드로 결정한다.
즉, 부호화기는 모든 예측된 부호화 모드에 대해 부호화 과정을 수행한 후 율-왜곡값을 계산하여 율-왜곡값이 가장 작은 예측 모드를 실제 부호화에 이용할 예측 모드로서 결정한다.
이러한 율-왜곡 최적화 기법은 H.264/AVC 부호화기의 압축 성능을 획기적으로 향상시키지만, 그로 인해 복잡도가 매우 많이 증가하기 때문에 실시간 부호화에 큰 장애가 되는 문제점이 있다.
도 1b는 율-왜곡 최적화의 수행에 따른 계산 복잡도를 나타낸 예시도이다.
도 1b에 도시한 바와 같이, 율-왜곡 최적화를 수행하는 경우가 그렇지 않은 경우에 비해 최소 7배 내지 8배 이상으로 계산의 복잡도가 증가한다.
따라서, 율-왜곡 최적화 기법을 이용하여 부호화하여 압축에 대한 성능을 유지하면서도 부호화기가 영상을 압축하는 데 소요되는 속도를 최소화하고 계산의 복잡도를 획기적으로 감소시키기 위한 기술의 개발이 필요한 실정이다.
전술한 요구에 부응하기 위해 본 발명은, 율-왜곡 최적화 기법을 이용하여 매크로 블록에 대해서 최적의 부호화 모드를 결정하는 데 있어서, 율-왜곡값의 계산을 최소로 하기 위한 부호화 모드를 결정하는 방법 및 장치를 제공하는 데 그 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 부호화 모드를 결정하는 장치에 있어서, 매크로 블록의 시간적 복잡도를 계산하는 시간적 복잡도 계산부; 및 시간적 복잡도를 이용하여 부호화 모드를 결정하는 모드 결정부를 포함하는 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 부호화 모드를 결정하는 장치에 있어서, 매크로 블록의 공간적 복잡도를 계산하는 공간적 복잡도 계산부; 및 공간적 복잡도를 이용하여 부호화 모드를 결정하는 모드 결정부를 포함하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 부호화 모드를 결정하는 장치가 부호화 모드를 결정하는 방법에 있어서, (a) 매크로 블록의 시간적 복잡도를 계산하는 단계; (b) 매크로 블록의 공간적 복잡도를 계산하는 단계; (c) 시간적 복잡도가 기 설정된 시간 임계치보다 큰 경우에는 인트라 블록 모드를 부호화 모드로서 결정하는 단계; 및 (d) 시간적 복잡도가 시간 임계치보다 작거나 같은 경우에는 인터 블록 모드를 부호화 모드로서 결정하는 단계를 포함하는 것을 특징으로 하는 시공간적 복잡도를 이용한 부호화 모드 결정 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 매크로 블록에 대한 시간적 복잡도와 공간적 복잡도를 더욱 정확하게 계산할 수 있을 뿐만 아니라 그를 이용하여 최적의 부호화 모드를 선별함으로써 율-왜곡 최적화 기법을 적용할 때의 계산의 복잡도를 줄이고 처리 속도를 향상할 수 있다.
도 1a는 종래 H.264/MPEG-4 AVC의 가변 블록 크기 움직임 예측에서 이용되는 다양한 크기의 블록들을 나타낸 예시도,
도 1b는 율-왜곡 최적화의 수행에 따른 계산 복잡도를 나타낸 예시도,
도 2는 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 장치의 전자적인 구성을 나타낸 블록 구성도,
도 3은 도 3은 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 방법을 설명하기 위한 순서도,
도 4는 본 발명의 일 실시예에 따라 시간적 복잡도와 공간적 복잡도를 계산하는 과정을 설명하기 위한 예시도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
H.264의 영상 압축 표준에 따르면, 매크로 블록이 가질 수 있는 블록 모드의 종류는 표 1 및 표 2에 나타낸 바와 같다.
표 1은 인트라 블록 모드의 종류와 분류를 나타낸 것이고, 표 2는 인터 블록 모드의 종류와 분류를 나타낸 것이다.
표 1
Figure PCTKR2009000400-appb-T000001
표 2
Figure PCTKR2009000400-appb-T000002
본 발명에서는 크기에 따라, 4 개의 인트라 블록 모드(인트라 16X16_Vertical, 인트라 16X16_Horizontal, 인트라 16X16_DC, 인트라 16X16_Plane)와 4 개의 인터 블록 모드(인터 SKIP, 인터 16X16, 인터 16X8, 인터 8X16)를 '대형 블록 모드'라 정의하고, 9 개의 인트라 블록 모드(인트라 4X4_Vertical, 인트라 4X4_Horizontal, 인트라 4X4_DC, 인트라 4X4_Diagonal Down Left, 인트라 4X4_Diagonal Down Right, 인트라 4X4_Vertical Right, 인트라 4X4_Horizontal Down, 인트라 4X4_Vertical Left, 인트라 4X4_Horizontal UP)와 4 개의 인터 블록 모드(인터 8X8, 인터 8X4, 인터 4X8, 인터 4X4)를 '소형 블록 모드'라 정의한다.
또한, 본 발명에서는 방향성에 따라, 수직 방향성을 갖는 4 개의 인트라 블록 모드(인트라 16X16_Vertical, 인트라 4X4_Vertical, 인트라 4X4_Vertical Right, 인트라 4X4_Vertical Left)와 수직 방향성을 갖는 2 개의 인터 블록 모드(인터 8X16, 인터 4X8)를 '수직 방향성 블록 모드'라 정의하고, 수평 방향성을 갖는 4 개의 인트라 블록 모드(인트라 16X16_Horizontal, 인트라 4X4_Horizontal, 인트라 4X4_Horizontal Down, 인트라 4X4_Horizontal UP)와 2 개의 인터 블록 모드(인터 16X8, 인터 8X4)를 '수평 방향성 블록 모드'라 정의하며, 수직 또는 수평의 방향성을 갖지 않는 5 개의 인트라 블록 모드(인트라 16X16_DC, 인트라 16X16_Plane, 인트라 4X4_DC, 인트라 4X4_Diagonal Down Left, 인트라 4X4_Diagonal Down Right)와 4 개의 인터 블록 모드(인터 SKIP, 인터 16X16, 인터 8X8, 인터 4X4)를 '비 방향성 블록 모드'라 정의한다.
따라서, 표 1 및 표 2에 나타낸 인트라 블록 모드 또는 인터 블록 모드는 각각 그 크기와 방향성에 따라 '분류' 항목에 나타낸 바와 같이 분류될 수 있다. 즉, 예를 들어 '인트라 16X16_Vertical'은 '인트라 블록 모드'로서 16X16의 크기를 갖으므로 '대형 블록 모드'이고 Vertical의 특성이 있으므로 '수직 방향성 블록 모드'이다. 따라서 이러한 특성들을 조합하면 표 1에 나타낸 분류와 같이 '대형 수직 방향성 인트라 블록 모드'로 분류할 수 있다. 나머지 인트라 블록 모드 및 인터 블록 모드도 이러한 방식으로 분류할 수 있다.
도 2는 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 장치의 전자적인 구성을 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 부호화 모드 결정 장치는 시간적 복잡도(Temporal Complexity) 계산부(210), 공간적 복잡도(Spatial Complexity) 계산부(220) 및 모드 결정부(220)를 포함하여 구성한다.
본 발명의 일 실시예에 따른 시간적 복잡도 계산부(210)는 연산을 수행하여 데이터를 생성하고 저장하는 데이터 처리 수단으로서, 영상의 매크로 블록(Macro Block)을 분석하여 매크로 블록의 시간적 복잡도를 계산한다.
또한, 본 발명의 일 실시예에 따른 시간적 복잡도 계산부(210)는 매크로 블록의 레지듀얼(Residual)인 블록 레지듀얼(Block Residual)을 계산하고 블록 레지듀얼을 아다마드 변환(Hadamard Transform)하여 시간적 블록 복잡도(Temporal Block Complexity)를 계산한 후 시간적 블록 복잡도를 양자화 폭(Quantization Step Size)으로 나누어 시간적 복잡도를 계산한다. 시간적 복잡도를 계산하는 과정에 대해서는 도 4를 통해 상세히 설명한다.
본 발명의 일 실시예에 따른 공간적 복잡도 계산부(220)는 연산을 수행하여 데이터를 생성하고 저장하는 데이터 처리 수단으로서, 영상의 매크로 블록을 분석하여 매크로 블록의 공간적 복잡도를 계산한다.
또한, 본 발명의 일 실시예에 따른 공간적 복잡도 계산부(220)는 매크로 블록을 수직 필터링(Vertical Filtering)하여 수직 복잡도(Vertical Complexity)를 계산하고, 매크로 블록을 수평 필터링(Horizontal Filtering)하여 수평 복잡도(Horizontal Complexity)를 계산하며, 수직 복잡도와 수평 복잡도를 합하여 공간적 블록 복잡도(Spatial Block Complexity)를 계산한 후 양자화 폭으로 나누어 공간적 복잡도를 계산한다. 공간적 복잡도를 계산하는 과정에 대해서는 도 4를 통해 상세히 설명한다.
본 발명의 일 실시예에 따른 모드 결정부(230)는 연산을 수행하여 데이터를 생성하고 저장하는 데이터 처리 수단으로서, 시간적 복잡도 계산부(210)에서 계산한 시간적 복잡도와 공간적 복잡도 계산부(220)에서 계산한 공간적 복잡도를 이용하여 부호화할 블록 모드인 부호화 모드(Encoding Mode)를 결정한다.
즉, 본 발명의 일 실시예에 따른 모드 결정부(230)는 시간적 복잡도가 크면 인트라 모드로 부호화할 확률이 높으므로 인트라 블록 모드(인트라 16X16_Vertical, 인트라 16X16_Horizontal, 인트라 16X16_DC, 인트라 16X16_Plane, 인트라 4X4_Vertical, 인트라 4X4_Horizontal, 인트라 4X4_DC, 인트라 4X4_Diagonal Down Left, 인트라 4X4_Diagonal Down Right, 인트라 4X4_Vertical Right, 인트라 4X4_Horizontal Down, 인트라 4X4_Vertical Left, 인트라 4X4_Horizontal UP)를 부호화 모드로서 결정하고, 시간적 복잡도가 작으면 인터 모드로 부호화할 확률이 높으므로 인터 블록 모드(인터 SKIP, 인터 16X16, 인터 16X8, 인터 8X16, 인터 8X8, 인터 8X4, 인터 4X8, 인터 4X4)를 부호화 모드로서 결정한다.
따라서, 본 발명의 일 실시예에 따른 모드 결정부(230)는 시간적 복잡도를 기 설정된 시간 임계치와 비교하여 시간적 복잡도가 시간 임계치보다 큰 경우에는 인트라 블록 모드를 부호화 모드로서 결정하고, 시간적 복잡도가 시간 임계치보다 작거나 같은 경우에는 인터 블록 모드를 부호화 모드로서 결정한다.
본 발명에서 시간 임계치란 현재의 매크로 블록을 포함하는 현재 프레임의 이전의 프레임인 이전 프레임에서 현재의 매크로 블록과 동일한 위치를 갖는 이전 매크로 블록의 시간적 복잡도를 말한다.
또한, 본 발명의 일 실시예에 따른 모드 결정부(230)는 공간적 복잡도가 크면 작은 크기 즉 소형의 블록 모드가 부호화 모드로 결정될 확률이 높으므로 소형 블록 모드(인트라 4X4_Vertical, 인트라 4X4_Horizontal, 인트라 4X4_DC, 인트라 4X4_Diagonal Down Left, 인트라 4X4_Diagonal Down Right, 인트라 4X4_Vertical Right, 인트라 4X4_Horizontal Down, 인트라 4X4_Vertical Left, 인트라 4X4_Horizontal UP, 인터 8X8, 인터 8X4, 인터 4X8, 인터 4X4)를 부호화 모드로서 결정하고, 공간적 복잡도가 작으면 큰 크기 즉 대형의 블록 모드가 부호화 모드로 결정될 확률이 높으므로 대형 블록 모드(인트라 16X16_Vertical, 인트라 16X16_Horizontal, 인트라 16X16_DC, 인트라 16X16_Plane, 인터 SKIP, 인터 16X16, 인터 16X8, 인터 8X16)를 부호화 모드로서 결정한다.
따라서, 본 발명의 일 실시예에 따른 모드 결정부(230)는 공간적 복잡도와 기 설정된 공간 임계치를 비교하여 공간적 복잡도가 공간 임계치보다 크면 소형 블록 모드를 부호화 모드로서 결정하고, 공간적 복잡도가 공간 임계치보다 작거나 같으면 대형 블록 모드를 부호화 모드로서 결정한다.
본 발명에서 공간 임계치란 현재의 매크로 블록을 포함하는 현재 프레임의 이전의 프레임인 이전 프레임에서 현재의 매크로 블록과 동일한 위치를 갖는 이전 매크로 블록의 공간적 복잡도를 말한다.
또한, 본 발명의 일 실시예에 따른 모드 결정부(230)는 매크로 블록의 수직 복잡도와 매크로 블록의 수평 복잡도를 비교하여 수직 복잡도가 수평 복잡보다 크면 수직 방향성을 갖는 블록 모드인 수직 방향성 블록 모드(인트라 16X16_Vertical, 인트라 4X4_Vertical, 인트라 4X4_Vertical Right, 인트라 4X4_Vertical Left, 인터 8X16, 인터 4X8)를 부호화 모드로서 결정하고, 수직 복잡도와 수평 복잡도가 동일한 경우에는 방향성을 갖지 않는 블록 모드인 비 방향성 블록 모드(인트라 16X16_DC, 인트라 16X16_Plane, 인트라 4X4_DC, 인트라 4X4_Diagonal Down Left, 인트라 4X4_Diagonal Down Right, 인터 SKIP, 인터 16X16, 인터 8X8, 인터 4X4)를 부호화 모드로서 결정하며, 수직 복잡도가 수평 복잡도보다 작은 경우에는 수평 방향성 블록 모드(인트라 16X16_Horizontal, 인트라 4X4_Horizontal, 인트라 4X4_Horizontal Down, 인트라 4X4_Horizontal UP, 인터 16X8, 인터 8X4)를 부호화 모드로 결정한다.
본 발명에서 시간적 복잡도 계산부(210), 공간적 복잡도 계산부(220) 및 모드 계산부(230)는 각 기능을 수행하는 프로그램과 데이터를 저장하는 메모리 및 메모리에 저장된 프로그램을 실행하고 데이터를 생성하여 메모리에 저장하는 마이크로프로세서를 포함하는 독립적인 하드웨어로서 구현될 수도 있지만, 각 기능을 수행하는 프로그램 모듈로서 구현되어 메모리에 저장되고 마이크로프로세서에 의해 실행될 수도 있을 것이다.
또한, 이상에서는 모드 계산부(230)가 시간적 복잡도를 이용하여 인트라 블록 모드 또는 인터 블록 모드를 부호화 모드로서 결정하고 공간적 복잡도를 이용하여 소형 블록 모드 또는 대형 블록 모드를 부호화 모드로서 결정하며 수직 복잡도와 수평 복잡도를 이용하여 수직 방향성 블록 모드, 비 방향성 블록 모드 및 수평 방향성 블록 모드 중 어느 하나를 부호화 모드로서 결정하는 것이 각각 선택적으로 수행되는 것으로 설명했지만, 각각 서로 종합하여 수행할 수도 있을 것이다.
즉, 예를 들어 시간적 복잡도가 시간 임계치보다 크고 공간적 복잡도가 공간 임계치보다 크며 수직 복잡도가 수평 복잡도보다 큰 경우, 모드 계산부(230)는 인트라 블록 모드 중에서 소형이면서 수직 방향성을 갖는 블록 모드인 소형 수직 방향성 인트라 블록 모드(인트라 4X4_Vertical, 인트라 4X4_Vertical Right, 인트라 4X4_Vertical Left)를 부호화 모드로서 결정한다. 따라서, 이 경우 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 장치를 포함하는 부호화기는 부호화 모드 결정 장치가 부호화 모드로 결정한 전술한 3 개의 블록 모드만의 율-왜곡값을 계산하여 최종 부호화 모드를 결정할 수 있어, 율-왜곡 최적화 기법을 수행하기 위한 계산량이나 처리 시간을 최소화할 수 있다.
영상 또는 동영상을 압축하는 부호화기는 동영상을 부호화하기 전에 동영상을 프레임 단위로 분할하고, 각 프레임의 이미지를 매크로 블록으로 분할하여 부호화하는데, 이때 부호화 모드를 결정한다. 부호화기가 부호화 모드를 결정할 때 H.264 영상 압축 표준에서는 율-왜곡 최적화 기법을 이용한다. 하지만, 율-왜곡 최적화 기법을 이용하여 부호화 모드를 결정할 때, 부호화 모드로 예상되는 모든 블록 모드(즉, 인트라 블록 모드들과 인터 블록 모드들)에 대해 율-왜곡 최적화 기법을 수행하여 율-왜곡값을 구하므로 계산이 매우 복잡해 지고 계산에 따른 부호화기의 부하 부담이 증가하며 그로 인해 부호화에 많은 시간이 소요된다.
따라서, 본 발명에서는 전술한 바와 같이, 부호화기가 율-왜곡값을 계산해야 하는 블록 모드의 개수를 최소화할 수 있도록 부호화 모드를 결정하여 모든 블록 모드에 대해 율-왜곡값을 계산해야 하는 비효율을 개선한다.
이를 위해, 부호화기에 일종의 하드웨어 또는 소프트웨어 모듈로서 구현될 수 있으며, 도 2를 통해 전술한 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 장치가 매크로 블록의 시간적 복잡도와 공간적 복잡도를 계산하여 최소 개수의 부호화 모드를 결정하고, 부호화기는 이와 같이 결정된 최소 개수의 부호화 모드에 대해 율-왜곡 최적화 기법을 수행하여 율-왜곡값을 계산하여 최종 부호화 모드를 결정한다.
이하에서는 도 3을 통해 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 장치가 부호화 모드를 결정하는 과정에 대해 설명한다.
도 3은 본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 시공간적 복잡도를 이용한 부호화 모드 결정 장치(이하 설명의 편의를 위해, '부호화 모드 결정 장치'라 약칭함)는 매크로 블록의 시간적 복잡도를 계산하고(S310), 매크로 블록의 공간적 복잡도를 계산한다(S320).
매크로 블록의 시간적 복잡도와 공간적 복잡도를 계산한 부호화 모드 결정 장치는 시간적 복잡도를 기 설정한 시간 임계치와 비교함으로써 시간적 복잡도가 시간 임계치보다 큰지 여부를 확인하여(S330), 시간적 복잡도가 시간 임계치보다 큰 경우에는 인트라 블록 모드를 부호화 모드로서 결정하고(S340), 시간적 복잡도가 시간 임계치보다 작거나 같은 경우에는 인터 블록 모드를 부호화 모드로서 결정한다(S342).
즉, 부호화 모드 결정 장치는 현재 프레임의 현재의 매크로 블록의 시간적 복잡도가 이전 프레임의 이전 매크로 블록의 시간적 복잡도보다 큰 경우에는 율-왜곡값을 계산하여 부호화 모드를 결정한다고 해도 인트라 블록 모드가 부호화 모드로서 결정될 확률이 높으므로 인트라 블록 모드를 부호화 모드로서 결정하고 그 반대의 경우에는 인터 블록 모드를 부호화 모드로서 결정하는 것이다.
또한, 부호화 모드 결정 장치는 공간적 복잡도를 기 설정한 공간 임계치와 비교함으로써 공간적 복잡도가 공간 임계치보다 큰지 여부를 확인하여(S350), 공간적 복잡도가 공간적 임계치보다 큰 경우에는 소형 블록 모드를 부호화 모드로서 결정하고(S360), 공간적 복잡도가 공간적 임계치보다 작거나 같은 경우에는 대형 블록 모드를 부호화 모드로서 결정한다(S362).
즉, 부호화 모드 결정 장치는 현재 프레임의 현재의 매크로 블록의 공간적 복잡도가 이전 프레임의 이전 매크로 블록의 공간적 복잡도보다 큰 경우에는 율-왜곡값을 계산하여 부호화 모드를 결정한다고 해도 소형 블록 모드가 부호화 모드로서 결정될 확률이 높으므로 소형 블록 모드를 부호화 모드로서 결정하고 그 반대의 경우에는 대형 블록 모드를 부호화 모드로서 결정하는 것이다.
또한, 부호화 모드 결정 장치는 공간적 복잡도에 포함된 수직 복잡도와 수평 복잡도를 비교함으로써 수직 복잡도가 수평 복잡도보다 큰지 여부를 확인하여(S370), 수직 복잡도가 수평 복잡도보다 큰 경우에는 수직 방향성 블록 모드를 부호화 모드로서 결정하고(S372), 수직 복잡도와 수평 복잡도가 동일한 경우에는 비 방향성 블록 모드를 부호화 모드로서 결정하며(S374), 수직 복잡도가 수평 복잡도보다 작은 경우에는 수평 방향성 블록 모드를 부호화 모드로서 결정한다(S376).
즉, 부호화 모드 결정 장치는 현재 프레임이 현재의 매크로 블록의 수직 복잡도가 수평 복잡도보다 큰 경우에는 율-왜곡값을 계산하여 부호화 모드를 결정한다고 해도 수직 방향성 블록 모드가 부호화 모드로서 결정될 확률이 높으므로 수직방향성 블록 모드를 부호화 모드로서 결정하고 동일한 경우에는 비 방향성 블록 모드를 그리고 그 작은 경우에는 대형 블록 모드를 부호화 모드로서 결정하는 것이다.
이와 같이, 부호화 모드 결정 장치는 시간적 복잡도, 공간적 복잡도, 공간적 복잡도에 포함된 수직 복잡도와 수평 복잡도 등을 이용하여 부호화 모드를 결정한다.
한편, 도 3을 통해서는 부호화 모드를 결정하는 데 있어서, 시간적 복잡도를 이용하여 부호화 모드를 결정하는 과정(단계 S330 내지 단계 S342), 공간적 복잡도를 이용하여 부호화 모드를 결정하는 과정(단계 S350 내지 단계 S362) 및 공간적 복잡도에 포함된 수직 복잡도와 수평 복잡도를 모두 이용하여 부호화 모드를 결정하는 과정(단계 S360 내지 단계 S376)을 모두 수행하는 것으로 설명했지만, 이러한 각 과정은 하나 또는 두 개만이 선택적으로 수행될 수도 있고 세 개의 과정이 모두 수행될 수 있으며, 그 수행되는 순서도 임의로 결정될 수 있다.
따라서, 예를 들어 도 3에 도시한 바와 같이 세 개의 과정이 순서대로 수행되어 시간적 복잡도를 이용하여 인트라 블록 모드가 결정되고 공간적 복잡도를 이용하여 소형 블록 모드가 결정되며 수직 복잡도와 수평 복잡도를 이용하여 수직 방향성 블록 모드가 결정된 것으로 가정하면, 부호화 모드로서 결정되는 블록 모드는 표 1에서 '소형 수직 방향성 인트라 블록 모드'로 분류되는 '인트라 4X4_Vertical', '인트라 4X4_Vertical Right' 및 '인트라 4X4_Vertical Left'가 된다. 즉, 부호화기는 전술한 세 개의 블록 모드에서만 율-왜곡값을 계산하여 최종 부호화 모드를 결정하고 최종 부호화 모드로 영상을 압축한다.
또한, 예를 들어, 부호화 모드 결정 장치가 수직 복잡도와 수평 복잡도를 모두 이용하여 부호화 모드를 결정하는 과정(단계 S360 내지 단계 S376)을 수행하여 수평 방향성 블록 모드가 부호화 모드로서 결정된 후 시간적 복잡도를 이용하여 부호화 모드를 결정하는 과정(단계 S330 내지 단계 S342)을 수행하여 인터 블록 모드가 부호화 모드로서 결정된 것으로 가정하면, 부호화 모드로서 결정되는 블록 모드는 '수평 방향성 인터 블록 모드(즉, '대형 수평 방향성 인터 블록 모드'와 '소형 수평 방향성 인터 블록 모드')'인 '인터 16X8'과 '인터 8X4'가 된다. 즉, 부호화기는 전술한 두 개의 블록 모드에서만 율-왜곡값을 계산하여 최종 부호화 모드를 결정하고 최종 부호화 모드로 영상을 압축한다.
도 4는 본 발명의 일 실시예에 따라 시간적 복잡도와 공간적 복잡도를 계산하는 과정을 설명하기 위한 예시도이다.
4A는 시간적 복잡도를 계산하기 위해 사용되는 아다마드 변환(Hadamard Transform) 행렬을 나타낸 것이다.
부호화 모드 결정 장치는 매크로 블록의 시간적 복잡도를 계산하기 위해, 매크로 블록에 움직임 보상을 수행하여 중복성을 제거함으로써 레지듀얼 신호의 행렬인 블록 레지듀얼을 계산하고, 블록 레지듀얼에 1A에 나타낸 아다마드 변환 행렬을 곱하여 아다마드 변환을 수행함으로써 시간적 블록 복잡도를 계산한다. 또한, 부호화 모드 결정 장치는 시간적 블록 복잡도를 양자화 폭으로 나누어 시간적 복잡도를 계산한다. 여기서 매크로 블록은 매크로 블록의 픽셀(Pixel)값을 갖는 16X16의 행렬을 말한다. 이와 같은 과정은 수학식 2와 같이 표시할 수 있다.
수학식 2
Figure PCTKR2009000400-appb-M000002
본 발명에서는 움직임 보상에 의해 매크로 블록의 중복성을 제거한 후, 아다마드 변환을 추가로 수행하여 레지듀얼 신호 상의 중복성을 한 번 더 제거함으로써 실제 비트 발생량의 오차를 획기적으로 감소시킨다.
즉, 아다마드 변환은 입력 신호를 주파수로 분해하는 기능이 있으므로 아다마드 변환을 거친 레지듀얼 신호는 총 16 개의 주파수로 분해되며, 이와 같이 분해된 주파수는 실제 부호화 과정에서 신호를 압축하기 위해 사용되는 이산 코사인 변환(DCT: Discrete Cosine Transform)의 주파수 분해된 결과물과 매우 근사한 값을 갖게 된다. 따라서, 부호화 모드 결정 장치는 아다마드 변환을 통해 분해된 주파수를 이용하여 시간상으로 유사성을 갖는 이전 프레임과의 차분 신호를 발생하는 데이터량을 매우 정확하게 예측할 수 있고, 이를 통해 시간적 복잡도를 매우 정확하게 계산할 수 있다.
4B는 공간적 복잡도를 계산하기 위해 사용되는 수직 필터(Vertical Filter)를 나타낸 것이고, 4C는 공간적 복잡도를 계산하기 위해 사용되는 수평 필터(Horizontal Filter)를 나타낸 것이다.
부호화 모드 결정 장치는 공간적 복잡도를 계산하기 위해, 매크로 블록에 4B에 도시한 수직 필터를 곱함으로써 매크로 블록을 수직 필터링하여 매크로 블록의 수직 복잡도를 계산하고, 매크로 블록에 4C에 도시한 수평 필터를 곱하여 매크로 블록을 수평 필터링하여 매크로 블록의 수평 복잡도를 계산한다. 또한, 부호화 모드 결정 장치는 수직 복잡도와 수평 복잡도를 더한 값을 2로 나누어 공간적 블록 복잡도를 계산하고, 공간적 블록 복잡도를 양자화 폭으로 나누어 공간적 복잡도를 계산한다. 여기서 매크로 블록은 매크로 블록의 픽셀(Pixel)값을 갖는 16X16의 행렬을 말한다. 이와 같은 과정을 수학식 3과 같이 표시할 수 있다.
수학식 3
Figure PCTKR2009000400-appb-M000003
본 발명에서는 2차원의 5 개의 탭(Tap)을 갖는 필터들(즉, 수직 필터와 수평 필터)을 사용하여 공간적 복잡도를 계산한다. 공간적 복잡도는 인트라 예측이 사용된 경우의 비트 발생량을 높은 정확도로 예측하고자 계산하는 것이다.
통상적인 공간적 복잡도를 계산하는 방식에서는 매크로 블록의 인접한 화소들의 차이를 구한 후 그 차이의 총 합을 이용하여 단순하게 복잡도를 계산한다. 하지만, 본 발명에서는 2차원으로 구성되는 고역 통화 필터(High Pass Filter, 즉 수직 필터 및 수평 필터)를 이용하여 화소의 위치에 따라 그 중요도에 가중치를 두어 검출을 시행하여 부호화기의 입력 영상에 존재하는 모서리(Edge)를 검출하도록 한다. 모서리는 다양한 방향성을 가질 수 있으므로 수평 필터와 수직 필터를 모두 사용하여 필터링하며, 이를 합산하여 수평 방향과 수직 방향뿐만 아니라 대각선 방향들에 대해서도 모서리를 검출할 수 있다.
또한, 본 발명에서는 실제 부호화 과정에서 비트 발생량을 조절하는 데 매우 중요하게 이용되는 양자화 폭을 공간적 복잡도를 계산하는 데 사용함으로써, 더욱 정확하게 공간적 복잡도를 계산한다. 즉, 매크로 블록을 수직 필터링한 값과 수평 필터링한 값을 더한 후 양자화 폭으로 나누어 공간적 복잡도를 계산하므로, 양자화 폭에 따라 변화할 수 있는 비트 발생량과 공간적 복잡도 사이에 발생할 수 있는 오차를 획기적으로 감소시킬 수 있다. 이러한 접근은 인트라 예측에서 다양한 예측 방향(Prediction Direction) 중 가장 효율적인 것만을 선별하는 데 사용되며, 이를 통해 부호화 모드를 더욱 정확하게 결정할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 율-왜곡 최적화 기법을 이용하여 매크로 블록에 대해서 최적의 부호화 모드를 결정하는 데 있어서, 율-왜곡값의 계산을 최소로 하기 위한 부호화 모드를 결정하는 방법 및 장치분야에 적용되어, 매크로 블록에 대한 시간적 복잡도와 공간적 복잡도를 더욱 정확하게 계산할 수 있을 뿐만 아니라 그를 이용하여 최적의 부호화 모드를 선별함으로써 율-왜곡 최적화 기법을 적용할 때의 계산의 복잡도를 줄이고 처리 속도를 향상할 수 있는 효과를 발생하는 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2008.01. 24.에 한국에 출원한 특허출원번호 제 10-2008-0007666 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.(This non-provisional application claims priorities under 35 U.S.C § 119(a) on Patent Application No.10-2008-0007666 filed in Korea on January 24, 2008, the entire contents of which are hereby incorporated by reference.) 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (18)

  1. 부호화 모드를 결정하는 장치에 있어서,
    매크로 블록의 시간적 복잡도를 계산하는 시간적 복잡도 계산부; 및
    상기 시간적 복잡도를 이용하여 상기 부호화 모드를 결정하는 모드 결정부
    를 포함하는 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치.
  2. 제 1 항에 있어서, 상기 모드 결정부는,
    상기 시간적 복잡도가 기 설정된 시간 임계치보다 큰 경우에는 인트라 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치.
  3. 제 1 항에 있어서, 상기 모드 결정부는,
    상기 시간적 복잡도가 기 설정된 시간 임계치보다 작거나 같은 경우에는 인터 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 시간 임계치는,
    상기 매크로 블록을 포함하는 현재 프레임의 이전 프레임에서 상기 매크로 블록과 동일한 위치를 갖는 이전 매크로 블록의 시간적 복잡도인 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치.
  5. 제 1 항에 있어서, 상기 시간적 복잡도 계산부는,
    상기 매크로 블록의 블록 레지듀얼을 아다마드 변환하고 양자화 폭으로 나누어 상기 시간적 복잡도를 계산하는 것을 특징으로 하는 시간적 복잡도를 이용한 부호화 모드 결정 장치.
  6. 부호화 모드를 결정하는 장치에 있어서,
    매크로 블록의 공간적 복잡도를 계산하는 공간적 복잡도 계산부; 및
    상기 공간적 복잡도를 이용하여 상기 부호화 모드를 결정하는 모드 결정부
    를 포함하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  7. 제 6 항에 있어서, 상기 모드 결정부는,
    상기 공간적 복잡도가 기 설정된 공간 임계치보다 큰 경우에는 소형 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  8. 제 6 항에 있어서, 상기 모드 결정부는,
    상기 공간적 복잡도가 기 설정된 공간 임계치보다 작거나 같은 경우에는 대형 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  9. 제 7 항 또는 제 8 항에 있어서, 상기 공간 임계치는,
    상기 매크로 블록을 포함하는 현재 프레임의 이전 프레임에서 상기 매크로 블록과 동일한 위치를 갖는 이전 매크로 블록의 공간적 복잡도인 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  10. 제 6 항에 있어서,
    상기 공간적 복잡도는 상기 매크로 블록의 수직 복잡도 및 상기 매크로 블록의 수평 복잡도를 포함하되, 상기 모드 결정부는 상기 수직 복잡도가 상기 수평 복잡도보다 큰 경우에는 수직 방향성 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  11. 제 6 항에 있어서,
    상기 공간적 복잡도는 상기 매크로 블록의 수직 복잡도 및 상기 매크로 블록의 수평 복잡도를 포함하되, 상기 모드 결정부는 상기 수직 복잡도와 상기 수평 복잡도가 동일한 경우에는 비 방향성 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  12. 제 6 항에 있어서,
    상기 공간적 복잡도는 상기 매크로 블록의 수직 복잡도 및 상기 매크로 블록의 수평 복잡도를 포함하되, 상기 모드 결정부는 상기 수직 복잡도가 상기 수평 복잡도보다 작은 경우에는 수평 방향성 블록 모드를 상기 부호화 모드로서 결정하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  13. 제 6 항에 있어서, 상기 공간적 복잡도 계산부는,
    상기 매크로 블록의 수직 복잡도 및 상기 매크로 블록의 수평 복잡도의 합을 양자화 폭으로 나누어 상기 공간적 복잡도를 계산하는 것을 특징으로 하는 공간적 복잡도를 이용한 부호화 모드 결정 장치.
  14. 부호화 모드를 결정하는 장치가 상기 부호화 모드를 결정하는 방법에 있어서,
    (a) 매크로 블록의 시간적 복잡도를 계산하는 단계;
    (b) 상기 매크로 블록의 공간적 복잡도를 계산하는 단계;
    (c) 상기 시간적 복잡도가 기 설정된 시간 임계치보다 큰 경우에는 인트라 블록 모드를 상기 부호화 모드로서 결정하는 단계; 및
    (d) 상기 시간적 복잡도가 상기 시간 임계치보다 작거나 같은 경우에는 인터 블록 모드를 상기 부호화 모드로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 시공간적 복잡도를 이용한 부호화 모드 결정 방법.
  15. 제 14 항에 있어서, 상기 부호화 모드 결정 방법은,
    상기 단계 (b) 이후에,
    (e) 상기 공간적 복잡도가 기 설정된 공간 임계치보다 큰 경우에는 소형의 블록 모드를 상기 부호화 모드로서 결정하는 단계; 및
    (f) 상기 공간적 복잡도가 상기 공간 임계치보다 작거나 같은 경우에는 대형의 블록 모드를 상기 부호화 모드로서 결정하는 단계
    를 추가로 포함하는 것을 특징으로 하는 시공간적 복잡도를 이용한 부호화 모드 결정 방법.
  16. 제 15 항에 있어서, 상기 부호화 모드 결정 방법은,
    상기 단계 (b) 이후에,
    (g) 상기 공간 복잡도를 이용하여 상기 매크로 블록의 수직 복잡도와 상기 매크로 블록의 수평 복잡도를 비교하는 단계;
    (h) 상기 매크로 블록의 수직 복잡도가 상기 매크로 블록의 수평 복잡도보다 큰 경우에는 수직 방향성 블록 모드를 상기 부호화 모드로서 결정하는 단계;
    (i) 상기 매크로 블록의 수직 복잡도가 상기 매크로 블록의 수평 복잡도와 동일한 경우에는 비 방향성 블록 모드를 상기 부호화 모드로서 결정하는 단계; 및
    (j) 상기 매크로 블록의 수직 복잡도가 상기 매크로 블록의 수평 복잡도보다 작은 경우에는 수평 방향성 블록 모드를 상기 부호화 모드로서 결정하는 단계
    를 추가로 포함하는 것을 특징으로 하는 시공간적 복잡도를 이용한 부호화 모드 결정 방법.
  17. 제 14 항에 있어서, 상기 단계 (a)에서, 상기 부호화 모드 결정 장치는,
    상기 매크로 블록의 블록 레지듀얼을 아다마드 변환하고 양자화 폭으로 나누어 상기 시간적 복잡도를 계산하는 것을 특징으로 하는 시공간적 복잡도를 이용한 부호화 모드 결정 방법.
  18. 제 14 항에 있어서, 상기 단계 (b)에서, 상기 부호화 모드 결정 장치는,
    상기 매크로 블록의 수직 복잡도 및 상기 매크로 블록의 수평 복잡도의 합을 양자화 폭으로 나누어 상기 공간적 복잡도를 계산하는 것을 특징으로 하는 시공간적 복잡도를 이용한 부호화 모드 결정 방법.
PCT/KR2009/000400 2008-01-24 2009-01-28 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치 WO2009093879A2 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP09703110.8A EP2242276B1 (en) 2008-01-24 2009-01-28 Method and apparatus for determining encoding mode based on temporal and spatial complexity
CN2009801029358A CN101926178B (zh) 2008-01-24 2009-01-28 基于时间复杂度和空间复杂度来确定编码模式的方法及装置
JP2010544235A JP5054826B2 (ja) 2008-01-24 2009-01-28 時空間的複雑度を用いた符号化モード決定方法及び装置
US12/812,890 US8611416B2 (en) 2008-01-24 2009-01-28 Method and apparatus for determining encoding mode by using temporal and spatial complexity

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2008-0007666 2008-01-24
KR20080007666A KR100952340B1 (ko) 2008-01-24 2008-01-24 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치

Publications (2)

Publication Number Publication Date
WO2009093879A2 true WO2009093879A2 (ko) 2009-07-30
WO2009093879A3 WO2009093879A3 (ko) 2009-10-15

Family

ID=40901563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/000400 WO2009093879A2 (ko) 2008-01-24 2009-01-28 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치

Country Status (6)

Country Link
US (1) US8611416B2 (ko)
EP (1) EP2242276B1 (ko)
JP (1) JP5054826B2 (ko)
KR (1) KR100952340B1 (ko)
CN (1) CN101926178B (ko)
WO (1) WO2009093879A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934436A (zh) * 2010-04-13 2013-02-13 三星电子株式会社 使用基于根据树结构确定的编码单元的预测单元的视频编码方法和视频编码设备以及使用基于根据树结构确定的编码单元的预测单元的视频解码方法和视频解码设备
CN102939752A (zh) * 2010-04-05 2013-02-20 三星电子株式会社 通过基于树结构的数据单元执行环路滤波来对视频进行编码的方法和设备,以及通过基于树结构的数据单元执行环路滤波来对视频进行解码的方法和设备
JP5470405B2 (ja) * 2009-12-28 2014-04-16 パナソニック株式会社 画像符号化装置および方法
US9262804B2 (en) 2010-04-05 2016-02-16 Samsung Electronics Co., Ltd. Method and apparatus for performing interpolation based on transform and inverse transform
WO2016165603A1 (zh) * 2015-04-16 2016-10-20 华为技术有限公司 一种视频数据的编解码方法及装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
US8724707B2 (en) 2009-05-07 2014-05-13 Qualcomm Incorporated Video decoding using temporally constrained spatial dependency
US9113169B2 (en) 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
KR101130733B1 (ko) * 2010-02-19 2012-03-28 연세대학교 산학협력단 매크로 블록의 부호화 모드 결정 방법 및 그 장치
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
CN102353954B (zh) * 2011-06-30 2013-06-05 桂林电子科技大学 线性调频连续波汽车防撞雷达系统及使用方法
US20130044811A1 (en) * 2011-08-18 2013-02-21 Hyung Joon Kim Content-Based Adaptive Control of Intra-Prediction Modes in Video Encoding
KR102114252B1 (ko) 2013-07-05 2020-05-22 삼성전자 주식회사 영상을 부호화하기 위한 영상 예측 모드 결정 방법 및 장치
US9294765B2 (en) 2014-01-07 2016-03-22 Vixs Systems, Inc. Video encoder with intra-prediction pre-processing and methods for use therewith
EP2899975A1 (en) * 2014-01-21 2015-07-29 ViXS Systems Inc. Video encoder with intra-prediction pre-processing and methods for use therewith
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US9936203B2 (en) * 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
US10805635B1 (en) * 2016-03-22 2020-10-13 NGCodec Inc. Apparatus and method for coding tree unit bit size limit management
CN109587479B (zh) * 2017-09-29 2023-11-10 华为技术有限公司 视频图像的帧间预测方法、装置及编解码器
CN107766105B (zh) * 2017-10-31 2020-12-15 Oppo广东移动通信有限公司 应用清理方法、装置、存储介质及电子设备
CN108289223B (zh) * 2018-02-06 2021-09-21 上海通途半导体科技有限公司 一种用于液晶屏过驱动装置中的图像压缩方法及装置
US20190045195A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Reduced Partitioning and Mode Decisions Based on Content Analysis and Learning
CN110166771B (zh) * 2018-08-01 2022-09-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
CN110876082B (zh) * 2018-08-31 2020-12-29 网宿科技股份有限公司 一种视频帧的复杂度的确定方法及装置
CN109068142B (zh) * 2018-09-06 2022-08-16 北方工业大学 360度视频帧内预测快速决策方法、装置、编解码器和介质
CN118120234A (zh) * 2021-08-05 2024-05-31 抖音视界有限公司 用于视频处理的方法、装置和介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3755155B2 (ja) * 1994-09-30 2006-03-15 ソニー株式会社 画像符号化装置
JPH08126013A (ja) 1994-10-27 1996-05-17 Meidensha Corp 画像伝送装置
US5832234A (en) * 1995-09-29 1998-11-03 Intel Corporation Encoding images using block-based macroblock-level statistics
US5682204A (en) * 1995-12-26 1997-10-28 C Cube Microsystems, Inc. Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level
US7072398B2 (en) * 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
WO2003021971A1 (en) * 2001-08-28 2003-03-13 Ntt Docomo, Inc. Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method, decoding method, and program usable for the same
KR100850705B1 (ko) * 2002-03-09 2008-08-06 삼성전자주식회사 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
FR2857205B1 (fr) 2003-07-04 2005-09-23 Nextream France Dispositif et procede de codage de donnees video
WO2005124664A2 (en) * 2004-06-14 2005-12-29 Precoad, Inc. Image clean-up and pre-coding
JP2006020217A (ja) * 2004-07-05 2006-01-19 Sharp Corp 画像符号化装置
US8155189B2 (en) * 2005-10-19 2012-04-10 Freescale Semiconductor, Inc. System and method of coding mode decision for video encoding
US7778476B2 (en) * 2005-10-21 2010-08-17 Maxim Integrated Products, Inc. System and method for transform coding randomization
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
KR100728031B1 (ko) 2006-01-23 2007-06-14 삼성전자주식회사 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치
US7952646B2 (en) * 2006-12-27 2011-05-31 Intel Corporation Method and apparatus for content adaptive spatial-temporal motion adaptive noise reduction
KR100930164B1 (ko) * 2007-11-29 2009-12-07 주식회사 창해에너지어링 고속 율-왜곡 최적화 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP2242276A4

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5470405B2 (ja) * 2009-12-28 2014-04-16 パナソニック株式会社 画像符号化装置および方法
US9369720B2 (en) 2009-12-28 2016-06-14 Panasonic Intellectual Property Management Co., Ltd. Image coding apparatus and image coding method
US9424625B2 (en) 2010-04-05 2016-08-23 Samsung Electronics Co., Ltd. Method and apparatus for performing interpolation based on transform and inverse transform
CN102939752A (zh) * 2010-04-05 2013-02-20 三星电子株式会社 通过基于树结构的数据单元执行环路滤波来对视频进行编码的方法和设备,以及通过基于树结构的数据单元执行环路滤波来对视频进行解码的方法和设备
CN105744273B (zh) * 2010-04-05 2018-12-07 三星电子株式会社 对视频进行解码的方法
US9547886B2 (en) 2010-04-05 2017-01-17 Samsung Electronics Co., Ltd. Method and apparatus for performing interpolation based on transform and inverse transform
US9262804B2 (en) 2010-04-05 2016-02-16 Samsung Electronics Co., Ltd. Method and apparatus for performing interpolation based on transform and inverse transform
CN102939752B (zh) * 2010-04-05 2016-03-09 三星电子株式会社 通过基于树结构的数据单元执行环路滤波来对视频进行编解码的方法和设备
US9436975B2 (en) 2010-04-05 2016-09-06 Samsung Electronics Co., Ltd. Method and apparatus for performing interpolation based on transform and inverse transform
CN105744273A (zh) * 2010-04-05 2016-07-06 三星电子株式会社 对视频进行编码和解码的方法和设备
US9390470B2 (en) 2010-04-05 2016-07-12 Samsung Electronics Co., Ltd. Method and apparatus for performing interpolation based on transform and inverse transform
US9485511B2 (en) 2010-04-13 2016-11-01 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
US9712822B2 (en) 2010-04-13 2017-07-18 Samsung Electronics Co., Ltd. Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
CN105898298A (zh) * 2010-04-13 2016-08-24 三星电子株式会社 对视频解码的方法
CN102934436B (zh) * 2010-04-13 2016-06-08 三星电子株式会社 使用基于根据树结构确定的编码单元的预测单元的视频编码方法和视频编码设备以及使用基于根据树结构确定的编码单元的预测单元的视频解码方法和视频解码设备
US10432965B2 (en) 2010-04-13 2019-10-01 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
CN102934436A (zh) * 2010-04-13 2013-02-13 三星电子株式会社 使用基于根据树结构确定的编码单元的预测单元的视频编码方法和视频编码设备以及使用基于根据树结构确定的编码单元的预测单元的视频解码方法和视频解码设备
US9247247B2 (en) 2010-04-13 2016-01-26 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
US9565438B2 (en) 2010-04-13 2017-02-07 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
CN102948145B (zh) * 2010-04-13 2017-04-05 三星电子株式会社 基于根据树结构确定的编码单元的视频编码方法和视频编码设备以及基于根据树结构确定的编码单元的视频解码方法和视频解码设备
US9654790B2 (en) 2010-04-13 2017-05-16 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
US9712823B2 (en) 2010-04-13 2017-07-18 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
CN105812801A (zh) * 2010-04-13 2016-07-27 三星电子株式会社 视频解码设备
US9936216B2 (en) 2010-04-13 2018-04-03 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
US9942564B2 (en) 2010-04-13 2018-04-10 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus based on encoding units determined in accordance with a tree structure
US10027972B2 (en) 2010-04-13 2018-07-17 Samsung Electronics Co., Ltd. Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
CN102948145A (zh) * 2010-04-13 2013-02-27 三星电子株式会社 基于根据树结构确定的编码单元的视频编码方法和视频编码设备以及基于根据树结构确定的编码单元的视频解码方法和视频解码设备
US10306262B2 (en) 2010-04-13 2019-05-28 Samsung Electronics Co., Ltd. Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
CN105812801B (zh) * 2010-04-13 2019-06-07 三星电子株式会社 视频解码设备
CN105898298B (zh) * 2010-04-13 2019-06-18 三星电子株式会社 对视频解码的方法
US10412411B2 (en) 2010-04-13 2019-09-10 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
WO2016165603A1 (zh) * 2015-04-16 2016-10-20 华为技术有限公司 一种视频数据的编解码方法及装置

Also Published As

Publication number Publication date
JP5054826B2 (ja) 2012-10-24
KR100952340B1 (ko) 2010-04-09
EP2242276B1 (en) 2018-11-21
EP2242276A2 (en) 2010-10-20
EP2242276A4 (en) 2011-08-31
JP2011510591A (ja) 2011-03-31
KR20090081672A (ko) 2009-07-29
WO2009093879A3 (ko) 2009-10-15
CN101926178B (zh) 2012-08-22
US20110051801A1 (en) 2011-03-03
CN101926178A (zh) 2010-12-22
US8611416B2 (en) 2013-12-17

Similar Documents

Publication Publication Date Title
WO2009093879A2 (ko) 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
US11962766B2 (en) Encoding method and decoding method, and device using same
WO2010095915A2 (ko) 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
CN103997646B (zh) 一种高清视频编码中快速帧内预测模式选择方法
CN101889405B (zh) 用于执行运动估计的方法和装置
WO2018199459A1 (ko) 압축 파라미터를 이용한 영상 복원용 머신러닝 알고리즘 및 이를 이용한 영상 복원방법
KR100739790B1 (ko) 인트라 예측 모드 결정 방법 및 장치
WO2013062191A1 (ko) 인트라 예측 모드에서의 영상 부호화 방법 및 장치
WO2012018198A2 (ko) 예측 블록 생성 장치
WO2012144830A2 (en) Methods and apparatuses for encoding and decoding image using adaptive filtering
WO2012057528A2 (ko) 적응적 화면내 예측 부호화 및 복호화 방법
KR20070090700A (ko) 영상의 인트라 예측 부호화, 복호화 방법 및 장치
EP2775718A1 (en) Method, device, and program for coding and decoding of images
WO2009121233A1 (zh) 一种用于视频编码的空间预测方法
WO2015122726A1 (ko) 시각적 인지 특성을 이용한 pvc 방법
CN113491129A (zh) 图像/视频压缩中的自适应滤波器帧内预测模式
WO2011068332A2 (ko) 공간적 예측장치 및 그 예측방법, 그것을 이용한 영상 부호화 장치 및 방법, 및 영상 복호화 장치 및 방법
US20080137743A1 (en) Intra-mode predication search method and apparatus for compression of real-time video signal
KR100727991B1 (ko) 영상의 인트라 예측 부호화 방법 및 그 방법을 사용하는부호화 장치
KR100771640B1 (ko) 고속 모드 결정 기능을 구비한 h.264 인코더
WO2010047492A2 (ko) 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체
WO2011142644A2 (ko) 확장 블록 필터링을 이용한 비디오 부호화, 복호화 방법 및 장치
EP3754983B1 (en) Early intra coding decision
WO2011078562A2 (ko) 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치
KR100900316B1 (ko) 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치

Legal Events

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

Ref document number: 200980102935.8

Country of ref document: CN

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

Ref document number: 09703110

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 12812890

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2009703110

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010544235

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE