WO2011074924A2 - 비디오 부호화/복호화 방법 및 장치 - Google Patents

비디오 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2011074924A2
WO2011074924A2 PCT/KR2010/009092 KR2010009092W WO2011074924A2 WO 2011074924 A2 WO2011074924 A2 WO 2011074924A2 KR 2010009092 W KR2010009092 W KR 2010009092W WO 2011074924 A2 WO2011074924 A2 WO 2011074924A2
Authority
WO
WIPO (PCT)
Prior art keywords
filter
adaptive
encoding
current image
manager
Prior art date
Application number
PCT/KR2010/009092
Other languages
English (en)
French (fr)
Other versions
WO2011074924A3 (ko
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
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US13/516,911 priority Critical patent/US20120275513A1/en
Priority claimed from KR1020100129885A external-priority patent/KR20110070823A/ko
Publication of WO2011074924A2 publication Critical patent/WO2011074924A2/ko
Publication of WO2011074924A3 publication Critical patent/WO2011074924A3/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/117Filters, e.g. for pre-processing or post-processing

Definitions

  • the present invention relates to a video encoding / decoding method and apparatus, and more particularly, to a technique for performing encoding by determining an adaptive filter to be performed on a current image.
  • AIF adaptive interpolation filter
  • ALF adaptive loop filter
  • An adaptive interpolation filter (AIF) is used to interpolate a reference picture every frame.
  • the encoding apparatus calculates the adaptive filter in units of frames or slices.
  • the encoding apparatus transmits the calculated information about the adaptive filter to the decoding apparatus. As a result, when the encoding bits of the entire frame are small, the overhead is increased due to the adaptive filter information.
  • the adaptive loop filter may be used to improve the quality of the reconstructed image.
  • an adaptive filter may be used to improve encoding performance.
  • the filter is calculated in units of frames or slices for a similar purpose as the adaptive storage filter, and the information about the calculated filter is transmitted to the decoding apparatus.
  • the conventional video device uses a fixed encoding mode according to the applied profile.
  • the number of times of encoding modes varies depending on the characteristics of the image. Accordingly, when encoding mode information, it is obvious that the encoding efficiency is improved. Therefore, an encoding scheme capable of improving encoding performance in consideration of such characteristics is required.
  • the present invention provides an apparatus and method for performing encoding and decoding by determining an adaptive filter to be performed on a current image.
  • the video encoding method comprises the steps of determining an adaptive filter corresponding to a current image, comparing the determined adaptive filter and at least one existing adaptive filter included in the filter manager, and determined based on the comparison result.
  • the method may include determining whether to add the adaptive filter to the filter manager, and encoding the current video using the adaptive filter included in the filter manager.
  • the command structure of the filter manager may include a type of command for controlling the determined adaptive filter, a target filter manager, and filter information.
  • the comparing may include the adaptive filter and the existing adaptive filter determined using the dot product, the Euclidean distance, the first-order norm, or the second-order norm between the determined adaptive filter and the existing adaptive filter. The similarity between the filters can be compared.
  • the determined adaptive filter may be added to the filter manager.
  • the determining may include deleting the existing adaptive filter in the filter manager when the determined adaptive filter and the existing adaptive filters are not similar.
  • the method may further include assigning each of the adaptive filters an index indicating a frequency of use of the adaptive filters included in the filter manager, and sorting the adaptive filters based on the assigned index.
  • a video encoding method comprises the steps of: determining an adaptive filter corresponding to a current image, comparing at least one existing adaptive filter included in the determined adaptive filter and the filter manager; Determining whether to add the determined adaptive filter to the filter manager based on a comparison result, encoding the current video using the adaptive filter included in the filter manager, and encoding information of a previous video.
  • the method may include determining an encoding mode of the current image by using.
  • the encoding information of the previous image may include: changing a maximum size of a coding unit to be used for encoding the current image, changing a minimum size of a coding unit to be used for encoding the current image, changing a maximum size of a transform to be used for encoding the current image, and It may include at least one of changing the minimum size of a transform to be used for current image encoding.
  • the method may further include determining an encoding mode of the current image using a number of uses of encoding modes of a plurality of previous images.
  • the method may further include transmitting the encoding mode of the current image in a command form or inserting the encoding mode into a picture or slice header.
  • a video decoding method includes extracting filter manager information from a video encoded bitstream, and adding an adaptive filter corresponding to a current image to the filter manager based on the filter manager information. It may include.
  • the filter manager information may include a type of an adaptive filter corresponding to the current image and change information of the filter manager.
  • the change information of the filter manager may include information indicating whether a new adaptive filter is added to the filter manager, information indicating deletion of at least one of the adaptive filters included in the filter manager, or the filter manager. It may include information indicating the index change of the adaptive filter.
  • the adaptive filter may include at least one of an adaptive interpolation filter and an adaptive loop filter.
  • the filter manager may include at least one of an adaptive interpolation filter manager and an adaptive loop filter manager.
  • the method may further include deleting the existing adaptive filter from the filter manager using a frequency of use of each of the existing adaptive filters or a first in first out (FIFO) technique, and the current image using the filters included in the filter manager. It may further comprise the step of decoding.
  • the adaptive filter corresponding to the current image may be added to the filter manager after deleting the filter from the filter manager.
  • a video decoding method may include extracting mode information on a current video from a video encoded bitstream, and decoding the current video with a decoding size corresponding to the mode information. Can be.
  • the mode information may include at least one of a maximum size change of the coding unit, a minimum size change of the coding unit, a maximum transform size change, and a minimum transform size change.
  • the extracting of the mode information on the current image may include: 1) receiving mode information on the current image in a command form, or 2) extracting mode information on the current image inserted in a picture or slice header. Can be.
  • the mode information may include a decoding size that is determined or changed in units of frames, groups of pictures, slices, or macro blocks with respect to the current image.
  • the present invention can manage the adaptive interpolation filter and the adaptive loop filters in a list to reduce the overhead due to the adaptive filter information.
  • encoding performance may be improved by determining a mode corresponding to the current video and performing encoding.
  • the number of bits representing the encoding mode information can be reduced.
  • FIG. 1 is a block diagram illustrating a configuration of a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a flowchart provided to explain a method of managing an adaptive filter list according to an embodiment of the present invention.
  • FIG. 3 is a flowchart provided to explain a method for managing a filter list in a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a flowchart provided to explain a mode determination method in a video encoding apparatus according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a configuration of a video decoding apparatus according to an embodiment of the present invention.
  • FIG. 6 is a flowchart provided to explain a video decoding method according to an embodiment of the present invention.
  • the coding unit is defined as a basic unit of coding, and the coding unit will be described. That is, the coding unit may be defined as follows.
  • the encoding / decoding unit in image encoding / decoding may refer to the divided unit when encoding / decoding a single image into subdivided blocks.
  • the coding unit may be called a macroblock or a coding unit.
  • FIG. 1 is a block diagram illustrating a configuration of a video encoding apparatus according to an embodiment of the present invention.
  • the encoding apparatus 100 may include an intra prediction unit 110, an inter prediction unit 115, a difference unit 120, a transform and quantization unit 125, and entropy encoding. Part 130.
  • the inverse quantization and inverse transform unit 140, the adder 150, the filter determiner 160, the filter list controller 170, the adaptive filter 180, and the mode determiner 190 may be included.
  • the intra prediction unit 110 predicts and encodes a block to be encoded using spatially adjacent pixel values in order to encode a block of an input image.
  • the intra prediction unit 110 may generate a prediction block that is a prediction value of the current block included in the input image.
  • the input image may include a plurality of coding units.
  • the plurality of coding units may each include a plurality of subblocks.
  • the inter prediction unit 110 may predict the input image based on the encoding information of the previous image.
  • the difference unit 120 may generate a difference block by subtracting the prediction block from the current block.
  • the transform and quantization unit 125 may perform discrete cosine transform on the difference block generated by the difference unit 120 and quantize it to generate a quantized transform coefficient.
  • the entropy encoder 130 may entropy encode encoding information such as a quantized transform coefficient and a motion vector. In this case, the encoding information may be inserted into the bitstream and transmitted to the decoding apparatus.
  • the inverse quantization and inverse transform unit 140 dequantizes the quantized differential block in the transform and quantization unit 125 for use in prediction of the next encoded image, and inverse discrete cosine transform to restore the differential block before encoding. Can be.
  • the adder 150 may reconstruct the current block before encoding by adding the reconstructed difference block and the predictive block generated by the intra prediction unit 110.
  • the filter determiner 160 may include an interpolation filter determiner 161 and a loop filter determiner 163.
  • the filter determiner 160 may determine an adaptive filter corresponding to the input current image.
  • the interpolation filter determiner 161 may determine an adaptive interpolation filter by calculating a filter coefficient and a filter tap corresponding to the input current image. For example, the interpolation filter determiner 161 may determine an adaptive interpolation filter corresponding to the current image by using a Wiener filter.
  • the loop filter determiner 163 may determine an adaptive loop filter by calculating a filter coefficient and a filter tap corresponding to the current image.
  • the loop filter determiner 161 may determine an adaptive loop filter corresponding to the current image by using a Wiener filter.
  • various methods of determining a loop filter and an interpolation filter corresponding to the current image are various and well-known techniques, and thus detailed description thereof will be omitted.
  • the filter list controller 170 may include an interpolation filter list controller 171 and a loop filter list controller 173.
  • the filter list corresponds to an example of the filter manager for managing the plurality of filters, and other means or methods other than the filter list may be used to manage the plurality of filters.
  • the filter list controller 170 may determine whether to add an adaptive filter corresponding to the current image determined by the filter determiner 160 to the filter list.
  • the command structure of the interpolation and loop filter list may include a type of command, a target filter list, and filter information as shown in Table 1 below.
  • the type of command may include a command for adding an adaptive filter determined by the filter determiner 160 to the filter list, a command for deleting any one of the existing adaptive filters included in the filter list, and the filter list. It may include an instruction to adjust the index of the adaptive filter.
  • the filter information may include the size of the filter, the frequency of use of the filter, the filter coefficient, the data format of the filter coefficient, and the characteristic information of the filter.
  • the characteristic information of the filter may include symmetry of the filter.
  • the interpolation filter list control unit 171 may compare the similarity between the adaptive interpolation filter determined by the interpolation filter determiner 161 and the existing adaptive interpolation filters included in the interpolation filter list. The interpolation filter list control unit 171 may determine whether to add the adaptive interpolation filter to the interpolation filter list based on the similarity.
  • the interpolation filter list may include one or more existing adaptive interpolation filters.
  • the interpolation filter list may include pre-defined archival filters before encoding. That is, when an adaptive filter and a fixed filter predefined before encoding are used together, the interpolation filter list may include not only an adaptive interpolation filter but also a fixed interpolation filter.
  • the interpolation filter list control unit 171 may include an inner product, an Euclidean distance, a first-order norm, and a second order between the adaptive interpolation filter corresponding to the current image and each of the existing adaptive or fixed interpolation filters.
  • the similarity between the adaptive interpolation filter corresponding to the current image and the existing interpolation filters may be compared using a norm.
  • the interpolation filter list control unit 171 may normalize the inner product of the adaptive interpolation filter and the existing interpolation filters corresponding to the current image. (Normalized Inner Product) can be calculated separately.
  • the interpolation filter list controller 171 may compare the calculated normalized dot products with the preset reference dot products, respectively.
  • the interpolation filter list controller 171 may determine that the characteristics of the adaptive interpolation filter corresponding to the current image and the existing interpolation filter are similar. That is, the interpolation filter list controller 171 may determine that the characteristics of the adaptive interpolation filter corresponding to the current image and the existing interpolation filter are similar when any one of the plurality of normalized dot products is equal to or greater than the reference dot product.
  • the interpolation filter list controller 171 may determine that the characteristics of the adaptive interpolation filter corresponding to the current image and the existing interpolation filter are not similar. . That is, the interpolation filter list controller 171 may determine an adaptive interpolation filter corresponding to the current image as a new interpolation filter.
  • the interpolation filter list control unit 171 may add the adaptive interpolation filter corresponding to the current image to the interpolation filter list.
  • the target filter list is the subpixel c of FIG. 2
  • the size of the filter is 7 ⁇ 7
  • the adaptive interpolation filter corresponding to the current image is added to the filter list corresponding to the subpixel c , it is adapted to the filter list.
  • the structure of the command to add the red interpolation filter may be as shown in Table 2 below.
  • 1 to 15 may be allocated in order from subpixels a to o in FIG. 2.
  • the interpolation filter list control unit 171 may separately manage 15 interpolation filter lists corresponding to a to o .
  • the interpolation filter list controller 171 may calculate normalized dot products between each of the existing adaptive interpolation filters included in the interpolation filter list corresponding to the subpixel c and the adaptive interpolation filter corresponding to the current image. .
  • the interpolation filter list controller 171 may interpolate the filter list corresponding to the subpixel c .
  • An adaptive interpolation filter corresponding to the current image may be added to the.
  • the interpolation filter list control unit 171 may add one of the existing adaptive interpolation filters included in the interpolation filter list and add an adaptive interpolation filter corresponding to the current image.
  • the size of the filter list corresponding to the subpixel c is 4, the filter list includes four existing adaptive interpolation filters, and the adaptive interpolation filter corresponding to the current image is not similar to the existing adaptive interpolation filter.
  • the interpolation filter list control unit 171 may add an adaptive interpolation filter corresponding to the current image by deleting one of the existing adaptive interpolation filter lists from the filter list.
  • the interpolation filter list control unit 171 may delete any one of the existing adaptive filters from the interpolation filter list based on the FIFO (First In First Out) technique or the frequency of use of each of the existing adaptive filters.
  • FIFO First In First Out
  • the existing adaptive interpolation filter list may be deleted from the interpolation filter list corresponding to the subpixel c by using the use frequency of the existing adaptive interpolation filters.
  • the interpolation filter list control unit 171 may select the fourth adaptive interpolation filter among the existing adaptive interpolation filters included in the filter list corresponding to the subpixel c . You can delete it. Then, after deleting the number 4 existing adaptive interpolation filters, the interpolation filter list control unit 171 may add the adaptive interpolation filter corresponding to the current image to the interpolation filter list by the command structure of Table 2.
  • the interpolation filter list control unit 171 may delete in order from the first existing adaptive filter added to the interpolation filter list first using the FIFO technique.
  • the interpolation filter list control unit 171 may adjust the indexes of the adaptive interpolation filters included in the interpolation filter list.
  • the index may be information indicating the positions of the adaptive interpolation filters on the interpolation filter list.
  • the interpolation filter list control unit 171 may change positions between the adaptive interpolation filters included in the interpolation filter list by the command structure as shown in Table 4 below.
  • the interpolation filter list control unit 171 may change the indices of filters 0 and 2 of the adaptive interpolation filters included in the interpolation filter list corresponding to the subpixel c . That is, the positions of filters 0 and 2 can be changed.
  • the interpolation filter list control unit 171 may not only directly change the positions of the adaptive filters included in the interpolation filter list, but may also sort based on the number of uses.
  • the interpolation filter list control unit 171 may sort in descending order from ascending order of use of the adaptive interpolation filters included in the filter list corresponding to the subpixel c .
  • the interpolation filter list control unit 171 may perform descending sorting by allocating a lower index as the adaptive interpolation filter has a higher number of uses. In this case, the interpolation filter list control unit 171 may sort the interpolation filter list after the adaptive filter corresponding to the current image is added and the interpolation filter list before the addition.
  • the adaptive loop filter controller 173 may compare the similarity between the adaptive loop filter corresponding to the current image determined by the loop filter determiner 163 and the existing adaptive loop filters included in the loop filter list.
  • the similarity comparison is the same as that of the adaptive interpolation filter controller, detailed description thereof will be omitted.
  • the loop filter list controller 173 may add an adaptive loop filter corresponding to the current image to the loop filter list.
  • the loop filter list control unit 173 deletes any one of the existing adaptive loop filters and adaptively corresponds to the current image. You can add loop filters to the loop filter list.
  • the loop filter list controller 173 may delete the existing adaptive loop filter from the loop filter list by the command structure of Table 3. In this case, the loop filter list controller 173 may count the number of times of use of the FIFO technique or the existing adaptive loop filters and delete the number of times of use.
  • the loop filter list controller 173 may add the adaptive loop filter corresponding to the current video to the loop filter list by the command structure of Table 2.
  • the loop filter list controller 173 may arrange the adaptive loop filters by adjusting the indexes of the adaptive loop filters included in the loop filter list according to the instruction structure of Table 4.
  • the operation of the loop filter list control unit 173 is the same as the interpolation filter list control unit 171, a detailed description thereof will be omitted.
  • Adaptive filter 180 may include interpolation filter 181 and loop filter 183.
  • the interpolation filter 181 may encode the current image using the adaptive interpolation filters included in the interpolation filter list.
  • the interpolation filter 181 may encode the current image using an interpolation filter list to which an adaptive interpolation filter corresponding to the current image is added. That is, the interpolation filter 181 may encode the current image using the existing adaptive interpolation filters included in the interpolation filter list and the adaptive interpolation filter corresponding to the current image.
  • two pass encoding may refer to a case where encoding is performed two or more times for the current image.
  • the adaptive filter obtained from the current video may be added to the filter list before decoding the current video.
  • the filter list command can be used. Accordingly, the adaptive interpolation filter obtained from the current image can be used in the decoding process.
  • the interpolation filter 181 encodes the current image using existing adaptive interpolation filters included in the interpolation filter list before the adaptive interpolation filter corresponding to the current image is added. can do.
  • the next image may be encoded using an interpolation filter list after the adaptive interpolation filter corresponding to the current image is added.
  • the interpolation filter 181 uses the existing adaptive interpolation filters before the interpolation filter list control unit 171 deletes any one of the existing adaptive interpolation filters.
  • the single pass encoding may refer to a case in which one encoding of the current image is set to be possible.
  • the filter list controller 171 may include a filter addition command in the encoded stream to be applied from the current video. . Then, the video decoding apparatus may add the filter to the filter list before decoding the current image by interpreting the filter addition command.
  • the filter list controller 171 may include a filter addition command in the encoded stream to be applied from the next video. . Then, the video decoding apparatus may decode all the current images and add the corresponding filter to the filter list based on the filter addition command. Subsequently, the decoding apparatus may control the decoding operation to enable the filter application from the next image decoding.
  • the interpolation filter list control unit 171 may delete any one of the existing adaptive interpolation filters and add the adaptive interpolation filter corresponding to the current image to the interpolation filter list. .
  • the loop filter 183 may encode the current image using loop filters included in the loop filter list.
  • the loop filter 183 may perform encoding on the current image including the reconstructed current block by using adaptive loop filters.
  • the loop filter 183 may encode the current video using the existing adaptive loop filters.
  • the loop filter 183 may encode the current image using the adaptive loop filter and the existing loop filters corresponding to the current image.
  • the existing loop filters may include not only an adaptive loop filter generated during the encoding process but also fixed loop filters predefined before encoding.
  • the technique of encoding the current image using the filter list according to the single pass encoding and the two pass encoding is the same as the interpolation filter, a detailed description thereof will be omitted.
  • the mode determiner 190 may determine an encoding mode corresponding to the maximum encoding size of the current image or the minimum encoding size of the current image by using previous encoding information.
  • the encoding information of the previous video may be used for changing the maximum size of the coding unit to be used for encoding the current video, changing the minimum size of the coding unit to be used for encoding the current video, changing the maximum size of the transform to be used for encoding the current video, and for encoding the current video. It may include at least one of the minimum size change of the transform.
  • an encoding mode corresponding to an encoding size may include 4 ⁇ 4, 16 ⁇ 16, 32 ⁇ 32, 64 ⁇ 64, 128 ⁇ 128, and the like.
  • the previous encoding information may include the number of uses of each encoding mode. In this case, the number of times of use may be calculated using one previous image immediately before the current image or N previous images before the current image.
  • N may be a constant.
  • the mode determiner 190 may change the maximum coding size of the current video or the mode corresponding to the coding size of the current video by using the number of times of use of the coding mode and a predetermined reference number. That is, the mode determiner 190 may change the maximum coding size of the current video or the minimum coding size of the current video.
  • the mode determination unit 190 may calculate the number of times of use of the 4, 32 ⁇ 32, up, down, left, and right for the GOP.
  • the mode determiner 190 may change the maximum coding size from 32 ⁇ 32 to 64 ⁇ 64 when the calculated number of uses is more than the reference number of times. That is, the mode determiner 190 may change the encoding mode such that encoding is performed in units of 64 ⁇ 64 in the next GOP.
  • the mode determiner 190 may include, in addition to the GOP, statistics for each frame, frame / slice type, The mode can be determined and changed by counting the number of times of use in a slice unit and a predetermined macroblock number unit.
  • the mode determining unit 190 may change the maximum coding size from 64 ⁇ 64 to 32 ⁇ 32 when the calculated number of uses is less than the reference number. Then, encoding may be performed using only up to 32 ⁇ 32 SMB in the next GOP.
  • the maximum coding size of the SMB is a concept corresponding to a large coding unit (LCU) in a method of using a coding tree block (CTB), it can be easily applied to a method of using a CTB.
  • the size change method of the maximum coding unit (LCU) may be applied to the size change of the minimum coding unit. Since the process of changing the size of the minimum coding unit is similar to the method of changing the size of the maximum coding unit, a detailed description thereof will be omitted.
  • the size change method of the coding unit may be applied to the size change of the transform.
  • the process of changing the size of the transform is similar to the method of changing the size of the maximum coding unit, detailed description thereof will be omitted.
  • the mode determiner 190 may change the encoding mode by an instruction structure similarly to the filter list controller 170. That is, the mode determiner 190 may add, delete, or change an encoding mode by the instruction structure.
  • the mode determiner 190 may add an encoding mode by a command structure as shown in Table 5 below.
  • Table 5 4 in the first column adds an encoding mode, and 1 in the second column means an SMB coding unit.
  • 1 in the third column means a case where the maximum coding size is 32 ⁇ 32, and 2 in the third column means a case where the maximum coding size is 64 ⁇ 64.
  • the mode determiner 190 may determine a detailed method for each encoding mode by using previous encoding information.
  • the mode determiner 190 may selectively apply 4 ⁇ 4 and 8 ⁇ 8 transforms on a coding unit basis. In this case, the mode determiner 190 may determine whether to apply to the next encoding by calculating the usage statistics for each transformation.
  • the mode determiner 190 may transmit a command to instruct not to use the 8x8 transform during the next statistical processing unit. Then, in the coding unit, the information used to indicate whether it is an 8x8 transform or a 4x4 transform can be omitted. Through this, coding efficiency can be improved.
  • the encoding apparatus when determining the maximum size and the minimum size of a coding unit using a tree structure (CTB: Coding Tree Block) like HEVC, 1) coding with depth information (CTB Depth), and 2) two pieces of information.
  • CTB Coding Tree Block
  • the depth information means the size of the maximum coding unit (LCU Size) and how much the minimum size goes down from the maximum size.
  • LCU Size size of the maximum coding unit
  • the encoding apparatus may be determined whether to increase or decrease the maximum size of the coding unit.
  • the encoding apparatus may independently determine whether to increase or decrease the minimum size of the coding unit by measuring the frequency of use of the minimum size coding unit.
  • the determined information may be transmitted to the mode determination unit as a command.
  • An embodiment of the command is as follows.
  • the first value of the command indicates the meaning of the command.
  • the first value of the instruction when the first value of the instruction is 5, it means a change to the maximum size of the coding unit, and if it is 6, it means a change to the minimum size of the coding unit. I mean.
  • the second value of the command means what the change is. At this time, if the second value of the command is 0, it means that one unit is increased, and if it is 1, it means that one unit is decreased.
  • the size of the coding unit has a value corresponding to the exponential power of 2, it means that the increment of one unit is changed from the current size to twice the size, and the decrease of one unit is changed from the current size to half the size It means.
  • the third value of the command is used only when the first value of the command is 7. That is, this value is used only when simultaneously changing the maximum size and the minimum size of the coding unit.
  • the second value of the instruction may be used to convey a change to the maximum size of the coding unit
  • the third value of the instruction may be used to convey a change to the minimum size of the coding unit.
  • the mode information may include at least one of a maximum size change of the coding unit, a minimum size change of the coding unit, a maximum transform size change, and a minimum transform size change.
  • FIG. 3 is a flowchart provided to explain a method for managing a filter list in a video encoding apparatus according to an embodiment of the present invention.
  • the interpolation filter list control unit 171 and the loop filter list control unit 173 are replaced with the filter list control unit 170. It will be described by reference.
  • the filter determiner 160 may determine an adaptive filter corresponding to the current image (S310).
  • the adaptive filter may include an interpolation filter and a loop filter.
  • the interpolation filter 161 may determine an adaptive interpolation filter corresponding to the current image.
  • the loop filter 163 may determine an adaptive loop filter corresponding to the current image.
  • the filter list controller 170 may compare the similarity between the adaptive filter corresponding to the current image and the existing filters included in the filter list (S220). In this case, the filter list controller 170 may compare the similarity using an inner product, an Euclidean distance, a primary norm, a secondary norm, and the like between the adaptive filter corresponding to the current image and the existing filters.
  • the interpolation filter list control unit 171 may compare the similarity between the adaptive interpolation filter corresponding to the current image and the existing interpolation filters included in the interpolation filter list.
  • the loop filter list controller 173 may compare the similarity between the adaptive loop filter corresponding to the current image and the existing loop filters included in the loop filter list.
  • the loop filter list controller 173 may compare the similarity between the adaptive loop filter corresponding to the current image and the existing loop filters included in the loop filter list.
  • the filter list controller 170 may delete any one of the existing adaptive filters included in the filter list (S240). In this case, the filter list controller 170 may delete any one existing adaptive filter from the filter list based on the FIFO technique or the use frequency of each of the existing adaptive filters.
  • the fixed filters may be excluded from the object to be deleted from the filter list. That is, fixed filters always exist in the filter list, and the above-described deletion process may be deleted by determining whether to delete only the adaptive filter.
  • the filter list When encoding using a fixed filter together, the filter list includes information identifying whether a filter in the filter list is a predefined fixed filter or an adaptive filter generated in the encoding process.
  • the filter list controller 170 may add the adaptive filter corresponding to the current image to the filter list (S250). That is, the adaptive filter determined in step S210 may be added to the filter list.
  • the filter list controller 170 filters the determined adaptive filter with similar characteristics to the existing adaptive filter. Can be determined. Then, the determined adaptive filter may not be added to the filter list.
  • the adaptive filter 180 may encode the current image using the adaptive filters included in the filter list.
  • the adaptive filter may include an interpolation filter and a loop filter. Accordingly, the current image may be encoded through adaptive interpolation filters included in the interpolation filter list or loop filters included in the loop filter list.
  • the adaptive filter 180 may not encode or encode the current image using an adaptive filter corresponding to the current image according to whether two pass encoding or single pass encoding of the current image is set.
  • the current image is determined in step S210 and the existing adaptive filters included in the filter list. It can be coded using an adaptive filter.
  • the adaptive filter 180 uses existing adaptive filters included in the filter list of the current image. Can be encoded.
  • the adaptive filter determined in step S210 is not added to the filter list. Then, after encoding of the current image is performed, the filter list controller 170 may add an adaptive filter corresponding to the current image to the filter list so as to be used for encoding the next image.
  • a filter list including the type of adaptive filter used for encoding the current video corresponding to the current video determined through the encoding apparatus and method of FIGS. 1 and 3 described above, the type of command, whether the filter list is changed, and the like. Information may be added to the bitstream and delivered to the decoding apparatus.
  • FIG. 4 is a flowchart provided to explain a mode determination method in a video encoding apparatus according to an embodiment of the present invention.
  • the mode determiner 190 may determine a mode corresponding to the maximum size of the SMB as an encoding mode by using previous encoding information (S410).
  • the previous encoding information may include the number of uses of the encoding mode.
  • the current video may be encoded in the determined encoding mode (S420). If the number of times of use of the encoding mode is less than the predetermined reference number (S430: YES), the mode determiner 190 determines the encoding mode. Can be changed (S440). Then, the current image may be encoded with a maximum coding block size corresponding to the changed encoding mode. In this case, the mode information indicating the encoding mode may be added to the bitstream and transmitted to the decoding apparatus.
  • the mode determiner 190 may not change the encoding mode.
  • the encoding apparatus and method for managing the adaptive filters have been described above, but the decoding apparatus may manage the interpolation filters and the loop filters through corresponding lists, respectively.
  • the decoding apparatus may add or delete an adaptive filter corresponding to the current video to the filter list or change the index by using the filter list information received from the encoding apparatus.
  • the decoding apparatus may decode the current image with decoding block sizes corresponding to the mode information received from the encoding apparatus.
  • the operation of managing the interpolation filter list and the loop filter list in the decoding apparatus 300 may be configured only by the filter list controller.
  • the filter list control operation in the decoding apparatus is substantially the same as the filter list control operation in the encoding apparatus, and the operation of decoding using the mode information in the decoding apparatus uses the encoding mode in the encoding apparatus 100. Since the operation is substantially the same as the encoding operation on the current image, overlapping description will be omitted.
  • the decoding apparatus may control the filter list according to the filter management command.
  • the filter determiner of the encoder is not necessary in the decoder. That is, the filter management command contains contents corresponding to the result determined by the filter determiner of the encoding apparatus.
  • FIG. 5 is a diagram illustrating a configuration of a video decoding apparatus according to an embodiment of the present invention.
  • the decoding apparatus 500 includes an entropy decoding unit 510, an inverse quantization and inverse transform unit 520, an intra prediction unit 530, an inter prediction unit 540, an adder 550, and a filter list. It may include a controller 560 and an adaptive filter 570.
  • the entropy decoder 510 may entropy decode the bitstream to extract transform coefficients, motion vectors, filter list information, and mode information.
  • the mode information may include a decoding mode corresponding to the encoding mode determined or changed in units of frames, GOPs, slices, or macroblocks with respect to the current image in the encoding apparatus.
  • the filter list information may include the type of the adaptive filter corresponding to the current video and the change information of the filter list.
  • the change information of the filter list may include information indicating whether an adaptive filter corresponding to the current image has been added to the filter list, information indicating whether at least one filter among the adaptive filters included in the filter list is deleted, or the filter list. It may include information indicating whether to change the adaptive filter included in.
  • the inverse quantization and inverse transform unit 320 may inverse quantize the extracted transform coefficient and inverse transform the discrete cosine to obtain a differential block.
  • the inverse quantization and inverse transform unit 320 may perform different inverse quantization on each of coding units or subblocks included in the input image.
  • the inverse quantization and inverse transform unit 320 may include inverse quantization information indicating the type of inverse quantization performed on the differential block in the inverse quantized bitstream and output the same.
  • the type of inverse quantization may include frequency domain scalar inverse quantization, space domain scalar inverse quantization, frequency domain vector inverse quantization, and spatial domain vector inverse quantization.
  • the dequantization information may be included in the bitstream in the form of flag bits or indexes. In this case, since the process of determining the type of inverse quantization according to the inverse quantization information is the same as that of the image encoding apparatus 100, a detailed description thereof will be omitted.
  • the intra prediction unit 530 may predict and decode a macroblock to be decoded using spatially adjacent pixel values in order to encode a block of an entropy decoded image.
  • the inter prediction unit 540 may generate a prediction block of the current block by using the motion vector extracted by the entropy decoder 310.
  • the adder 550 may reconstruct the current block by adding the predictive block and the difference block obtained by the inverse quantization and inverse transform unit 520.
  • the prediction block may be transferred from the intra prediction unit 530 or the inter prediction unit 320 to the adder 550.
  • the filter list controller 560 may include an interpolation filter list controller 561 and a loop filter list controller 562.
  • the interpolation filter list control unit 561 interpolates the adaptive interpolation filter corresponding to the current image. Can be added to
  • the interpolation filter list controller 561 may compare the similarity between the adaptive filter corresponding to the current image and the existing filters included in the filter list.
  • the interpolation filter list controller 561 corresponds to the current image using an inner product, an Euclidean distance, a first-order nor a second norm between an adaptive filter corresponding to the current image and existing filters.
  • the similarity between the adaptive filter and the existing filters can be compared.
  • similarity comparison since similarity comparison has already been described in the encoding apparatus, a detailed description thereof will be omitted.
  • the interpolation filter list controller 561 may add the adaptive interpolation filter corresponding to the current image to the interpolation filter list when the adaptive filter corresponding to the current image and the existing adaptive filters are not similar.
  • the interpolation filter list controller 561 may delete any one of the existing adaptive interpolation filters from the interpolation filter list by using the frequency of use of each of the existing adaptive filters and the FIFIO technique. After deleting the existing adaptive interpolation filter, an adaptive filter corresponding to the current image may be added to the interpolation filter list.
  • the loop filter list controller 562 selects an adaptive loop filter corresponding to the current image from the loop filter list. Can be added to In this case, the process of adding the adaptive loop filter corresponding to the current image to the loop filter list or deleting the existing adaptive loop filter is the same as that of the interpolation filter list controller 561, and thus, a detailed description thereof will be omitted.
  • the adaptive filter 570 may include an interpolation filter 571 and a loop filter 572.
  • interpolation filter and the loop filter of the decoding apparatus are substantially the same as the interpolation filter and the loop filter of the encoding apparatus, detailed description thereof will be omitted.
  • the interpolation filter 571 may decode the current image using adaptive or fixed interpolation filters included in the interpolation filter list.
  • the encoding apparatus may add a new adaptive filter to the interpolation filter list before encoding the current video.
  • the command may be included in the bitstream and transmitted to the decoding apparatus.
  • the decoding apparatus may register the new adaptive interpolation filter determined for the current image by interpreting the command included in the bitstream, in the interpolation filter list. Thereafter, the decoding apparatus may decode the current video using the changed interpolation filter list.
  • the decoding apparatus may perform decoding without the adaptive interpolation filter of the current image obtained by the encoder being added to the filter list. Subsequently, the decoding apparatus may process the command by interpreting the filter addition command for the next image.
  • the decoding process does not vary greatly according to the single pass and the two pass, and there is only a difference between adding the filter to the filter list before the current video decoding or after the current video decoding. This can be done by including a filter add command before or after the current video stream in the bitstream.
  • the interpolation filter 581 may decode the current image using existing interpolation filters included in the interpolation filter list before the adaptive interpolation filter corresponding to the current image is added. In this case, the next image may be decoded using the interpolation filter list after the adaptive interpolation filter corresponding to the current image is added.
  • the current video when decoding the current video, the current video may be decoded in a decoding size unit corresponding to the mode information.
  • the decoding size unit may be a frame unit, a GOP, a slice, or a coding unit unit.
  • the loop filter 572 may decode the current video using the adaptive loop filters included in the loop filter list.
  • the process of decoding the current image through loop filtering differs only from the type of the filter, and is substantially the same as the process of decoding the current image by performing interpolation filtering.
  • FIG. 6 is a flowchart provided to explain a video decoding method according to an embodiment of the present invention.
  • the decoding apparatus may extract filter list information and mode information from the bitstream received from the encoding apparatus (S610).
  • the bitstream may be video encoded by the encoding apparatus.
  • the mode information is information indicating the encoding mode of the current video.
  • the filter list information may include a type of the adaptive filter used to encode the current video, information indicating change information of the filter list, and the like.
  • the change information of the filter list may include whether an adaptive filter corresponding to the current image is added to the filter list, whether to delete existing adaptive filters included in the filter list, or an index of the adaptive filters included in the filter list. Information indicating whether or not to change may be included.
  • the decoding apparatus may add an adaptive filter corresponding to the current image to the filter list based on the extracted filter list information (S620).
  • the adaptive filter may include an adaptive interpolation filter and an adaptive loop filter.
  • the filter list may include an interpolation filter list and a loop filter list.
  • the decoding apparatus may add the adaptive filter corresponding to the current image to the filter list. have.
  • the decoding apparatus may encode the current video using the adaptive filter and the existing filters corresponding to the current video. Can be decrypted
  • the decoding apparatus may decode the current image using the existing filters.
  • the decoding apparatus may decode the current video with a decoding size corresponding to the mode information (S630). That is, the current video may be decoded with a maximum decoding size corresponding to the maximum coding size determined by the encoding apparatus.
  • the decoding apparatus interprets the 8 ⁇ 8 transform when the header of each mode is interpreted. It can be interpreted that there is no flag. In addition, the decoding apparatus may interpret that there is no header of the 64 ⁇ 64 coding unit layer, and analyze and decode the header from the 32 ⁇ 32 coding unit layer.
  • the filter list control unit 170 has been described as separately managing the filter list corresponding to each of the sub-pixels, this is an embodiment, and the number of filter lists smaller than the number of the sub-pixels using the symmetry of the sub-pixels. Can manage.
  • the same filter may be used for each of the subpixels a and c, d and l, e and o, g and m, i and k, f and n which are symmetrical to each other.
  • the filter list controller 170 may manage seven filter lists instead of 15 filter lists.
  • the filter list controller 170 may include one or more existing filters in the filter list. Adaptive filters can be deleted.
  • the adaptive filter having a higher number of times of use has been described as performing a descending sort by allocating a lower index.
  • the filter list controller 170 may determine the number of times of use.
  • Adaptive filters included in the filter list may be sorted in descending or ascending order based on the result.
  • the filter list management or mode is determined using the adaptive filter or the frequency of use of each mode.
  • this is an embodiment for convenience of description, and the statistics of the adaptive filter or the mode-specific statistics are used. Filter list management or mode can be determined.
  • the decoding apparatus may infer whether to change the mode even if the encoding apparatus does not transmit the mode information in addition to the mode information included in the bit stream in the form of an instruction. That is, the decoding apparatus may infer whether or not the mode is changed by performing the same mode determination process performed by the encoding apparatus.
  • the video encoding method and apparatus may use other transform schemes in addition to the discrete cosine transform. In this case, even if the present video encoding method and apparatus use other transformation methods, the effects of the present invention are not affected.
  • the video decoding method and the apparatus may use other inverse transform schemes in addition to the inverse discrete cosine transform. At this time, even if a different conversion scheme is used in the video decoding method and apparatus, the effects of the present invention are not affected.

Abstract

비디오 부호화/복호화 방법 및 장치가 개시된다. 비디오 부호화 방법은, 현재 영상에 해당하는 적응적 필터를 결정하는 단계, 결정된 적응적 필터 및 필터 리스트에 포함된 적어도 하나의 기존 적응적 필터를 비교하는 단계, 비교 결과를 기초로 결정된 적응적 필터를 필터 리스트에 추가할지 여부를 결정하는 단계, 및 필터 리스트에 포함된 적응적 필터를 이용하여 현재 영상을 부호화하는 단계를 포함할 수 있다. 이를 통해, 부호화 효율을 향상시킬 수 있다.

Description

비디오 부호화/복호화 방법 및 장치
본 발명은 비디오 부호화/복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 현재 영상에 수행하고자 하는 적응적 필터를 결정하여 부호화를 수행하는 기술에 관한 것이다.
차세대 비디오 부호화를 위해 적응적 필터를 이용하여 입력 영상에 대해 부호화가 수행된다. 일반적으로, 적응적 필터로 적응적 보간 필터(Adaptive Interpolation Filter: AIF)와 적응적 루프 필터(Adaptive Loop Filter)가 많이 이용된다.
적응적 보간 필터(Adaptive Interpolation Filter: AIF)는, 매 프레임마다 참조 영상을 보간하기 위해 이용된다. 특히, 적응적 보간 필터가 이용되는 경우,부호화 장치는 프레임 또는 슬라이스(Slice) 단위로 적응적 필터를 계산한다. 그리고, 부호화 장치에서는 계산된 적응적 필터에 대한 정보를 복호화 장치로 전송한다. 결국, 전체 프레임의 부호화 비트가 적은 경우, 적응적 필터 정보로 인해 오버헤드가 커지게 된다.
이때, 적응적 루프 필터는 복원된 영상의 화질을 개선을 위해 이용될 수 있다. 또한, 복원된 영상이 참조 영상으로 사용될 경우, 부호화 성능까지 개선시키기 위해 적응적 필터가 이용될 수 있다. 이러한, 적응적 보관 필터와 유사한 목적으로 프레임 또는 슬라이스 단위로 필터가 계산되며, 계산된 필터에 대한 정보는 복호화 장치로 전송된다
이에 따라, 적응적 필터 정보로 인한 오버헤드를 감소시키면서, 매 프레임의 비트율이 적은 경우에도 부호화 성능을 향상시킬 수 있는 부호화 기법이 필요하다.
또한 종래의 비디오 장치에서는 적용된 프로파일에 따라 부호화 모드를 고정하여 사용하고 있다. 이때, 부호화 모드는 영상의 특성에 따라 사용회수가 달라진다. 이에 따라, 모드 정보를 부호화 할 경우, 부호화 효율이 개선될 것은 자명하므로, 이러한 특성을 고려하여 부호화 성능을 향상시킬 수 있는 부호화 기법이 필요하다.
본 발명은 현재 영상에 수행하고자 하는 적응적 필터를 결정하여 부호화 및 복호화를 수행하는 장치 및 방법을 제공한다.
본 발명에 따른 비디오 부호화 방법은, 현재 영상에 해당하는 적응적 필터를 결정하는 단계, 결정된 적응적 필터 및 필터 관리자에 포함된 적어도 하나의 기존적응적 필터를 비교하는 단계, 비교 결과를 기초로 결정된 적응적 필터를 필터 관리자에 추가할지 여부를 결정하는 단계, 및 필터 관리자에 포함된 적응적 필터를 이용하여 현재 영상을 부호화하는 단계를 포함할 수 있다.
이때, 필터 관리자의 명령어 구조는, 결정된 적응적 필터를 제어하기 위한 명령어의 종류, 타겟 필터 관리자, 및 필터 정보를 포함할 수 있다.
또한, 비교하는 단계는, 결정된 적응적 필터 및 기존 적응적 필터 간의 내적, 유클리디언 거리(Euclidean Distance), 1차 놈(Norm), 또는 2차 놈을 이용하여 결정된 적응적 필터와 기존 적응적 필터들 간의 유사성을 비교할 수 있다.
이때, 결정하는 단계는, 결정된 적응적 필터와 기존 적응적 필터들이 유사하지 않은 경우, 결정된 적응적 필터를 필터 관리자에 추가할 수 있다.
또한, 결정하는 단계는, 결정된 적응적 필터와 기존 적응적 필터들이 유사하지 않은 경우, 필터 관리자에서 기존 적응적 필터를 삭제하는 단계를 포함할 수 있다.
또한, 필터 관리자에 포함된 적응적 필터들의 사용회수를 나타내는 인덱스를 적응적 필터들 각각에 할당하는 단계, 및 할당된 인덱스에 기초하여 적응적 필터들을 정렬하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 비디오 부호화 방법 은, 현재 영상에 해당하는 적응적 필터를 결정하는 단계, 상기 결정된 적응적 필터 및 필터 관리자에 포함된 적어도 하나의 기존 적응적 필터를 비교하는 단계, 상기 비교 결과를 기초로 상기 결정된 적응적 필터를 상기 필터 관리자에 추가할지 여부를 결정하는 단계, 상기 필터 관리자에 포함된 적응적 필터를 이용하여 상기 현재 영상을 부호화하는 단계, 및 이전 영상의 부호화 정보를 이용하여 현재 영상의 부호화 모드를 결정하는 단계를 포함할 수 있다.
또한, 상기 이전 영상의 부호화 정보는, 상기 현재 영상 부호화에 사용할 부호화 유닛의 최대 크기 변경, 상기 현재 영상 부호화에 사용할 부호화 유닛의 최소 크기 변경, 상기 현재 영상 부호화에 사용할 변환의 최대 크기 변경, 및 상기 현재 영상 부호화에 사용할 변환의 최소 크기 변경 중 적어도 하나를 포함할 수 있다.
또한, 복수의 이전 영상의 부호화 모드의 사용회수를 이용하여, 상기 현재 영상의 부호화 모드를 결정하는 단계를 더 포함할 수 있다.
또한, 상기 현재 영상의 부호화 모드를 명령어 형태로 전달하거나, 픽쳐 또는 슬라이스 헤더에 삽입하여 전달하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 비디오 복호화 방법은, 비디오 부호화된 비트스트림으로부터 필터 관리자 정보를 추출하는 단계, 상기 필터 관리자 정보에 기초하여 현재 영상에 해당하는 적응적 필터를 필터 관리자에 추가하는 단계를 포함할 수 있다. 여기서, 상기 필터 관리자 정보는, 상기 현재 영상에 해당하는 적응적 필터의 종류, 및 상기 필터 관리자의 변경 정보를 포함할 수 있다.
또한, 상기 필터 관리자의 변경 정보는, 새로운 적응적 필터가 상기 필터 관리자에 추가되는지를 알리는 정보, 상기 필터 관리자에 포함된 적응적 필터들 중 적어도 하나의 삭제를 알리는 정보, 또는 상기 필터 관리자에 포함된 적응적 필터의 인덱스 변경을 알리는 정보를 포함할 수 있다. 그리고, 상기 적응적 필터는, 적응적 보간 필터 및 적응적 루프 필터 중 적어도 하나를 포함할 수 있다. 그리고, 상기 필터 관리자는, 적응적 보간 필터 관리자 및 적응적 루프 필터관리자 중 적어도 하나를 포함할 수 있다.
또한, 기존 적응적 필터 각각의 사용회수 또는 FIFO(First In First Out) 기법을 이용하여 상기 필터 관리자에서 상기 기존 적응적 필터를 삭제하는 단계, 및 상기 필터 관리자에 포함된 필터들을 이용하여 상기 현재 영상을 복호화하는 단계를 더 포함할 수 있다. 이때, 상기 현재 영상에 해당하는 적응적 필터를 필터 관리자에 추가하는 단계는, 상기 필터 관리자에서 삭제한 이후에 상기 현재 영상에 해당하는 적응적 필터를 상기 필터 관리자에 추가할 수 있다.
본 발명의 일실시예에 따른 비디오 복호화 방법은, 비디오 부호화된 비트스트림으로부터 현재 영상에 대한 모드 정보를 추출하는 단계, 및 상기 모드 정보에 해당하는 복호화 크기로 상기 현재 영상을 복호화하는 단계를 포함할 수 있다.
여기서, 상기 모드 정보는, 부호화 유닛의 최대 크기 변경, 부호화 유닛의 최소 크기 변경, 최대 변환 크기 변경, 및 최소 변환 크기 변경 중 적어도 하나를 포함할 수 있다.
또한, 상기 현재 영상에 대한 모드 정보를 추출하는 단계는, 1)상기 현재 영상에 대한 모드 정보를 명령어 형태로 전달 받거나, 혹은 2)픽쳐 또는 슬라이스 헤더에 삽입된 현재 영상에 대한 모드 정보를 추출할 수 있다.
또한, 상기 모드 정보는, 상기 현재 영상에 대해 프레임 단위, GOP(Group Of picture), 슬라이스(Slice), 또는 매크로 블록(Macro Block) 단위로 결정 또는 변경된 복호화 크기를 포함할 수 있다.
본 발명은 적응적 보간 필터 및 적응적 루프 필터들을 리스트로 관리하여 적응적 필터 정보로 인한 오버헤드를 감소시킬 수 있다.
또한, 현재 영상에 해당하는 모드를 결정하여 부호화를 수행함으로써 부호화 성능을 향상시킬 수 있다. 특히 부호화 모드 정보를 표현하는 비트 수를 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 부호화 장치의 구성을 나타낸 블럭도이다.
도 2는 본 발명의 일 실시예에 따른 적응적 필터 리스트를 관리하는 방법을 설명하기 위해 제공되는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 비디오 부호화 장치에서의 필터 리스트관리 방법을 설명하기 위해 제공되는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 비디오 부호화 장치에서의 모드 결정 방법을 설명하기 위해 제공되는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 비디오 복호화 장치의 구성을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 비디오 복호화 방법을 설명하기 위해 제공되는 흐름도이다.
이하, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
다만, 본 발명을 설명함에 있어서, 관련된 공기 기술 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다.
본 발명에서는 부호화 유닛을 부호화의 기본 단위로 정의하며, 부호화 유닛을 이용하여 설명을 한다. 즉, 부호화 유닛은 다음과 같이 정의될 수 있다. 영상 부호화/ 복호화 시 부호화/복호화 단위라 함은, 하나의 영상을 세분화 된 블록으로 분할하여 부호화/복호화 할 때 그 분할된 단위를 의미할 수 있다. 일례로, 부호화 단위는 매크로블록 또는 부호화 유닛(Coding Unit)이라 부를 수 있다.
본 명세서에서 사용되는 용어들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 비디오 부호화 장치의 구성을 나타낸 블럭도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 부호화 장치(100)는 인트라예측부(110), 인터예측부(115), 차분부(120), 변환 및 양자화부(125), 엔트로피 부호화부(130). 역양자화 및 역변환부(140), 가산부(150), 필터 결정부(160), 필터리스트 제어부(170), 적응적 필터(180), 및 모드 결정부(190)를 포함할 수 있다.
인트라예측부(110)는 입력 영상의 블록을 부호화하기 위해서 공간적으로 인접한 픽셀 값을 이용하여 부호화하고자 하는 블록을 예측하여 부호화한다.
즉, 인트라예측부(110)는 입력 영상에 포함된 현재 블록의 예측값인 예측 블록을 생성할 수 있다. 여기서, 입력 영상은 복수의 부호화 유닛들을 포함할 수 있다.
또한, 복수의 부호화 유닛들은 각각 복수의 서브 블록들을 포함할 수 있다.
인터예측부(110)는 이전 영상의 부호화 정보에 기초하여 입력 영상을 예측할 수 있다.
차분부(120)는 현재 블록에서 예측 블록을 감산하여 차분 블록을 생성할 수 있다.
변환 및 양자화부(125)는 차분부(120)에서 생성된 차분 블록을 이산 코사인변환하고, 양자화하여 양자화된 변환계수를 생성할 수 있다. 엔트로피 부호화부(130)는 양자화된 변환계수, 움직임 벡터 등의 부호화 정보를 엔트로피 부호화할 수 있다. 이때, 부호화 정보는 비트스트림에 삽입되어 복호화 장치로 전송될 수 있다.
역양자화 및 역변환부(140)는 변환 및 양자화부(125)에서 양자화된 차분 블록을 다음에 부호화되는 영상의 예측에 이용하기 위해 역양자화하고, 역이산 코사인 변환하여 부호화 이전의 차분 블록을 복원할 수 있다.
가산부(150)는 복원된 차분 블록과 인트라예측부(110)에서 생성된 예측 블록을 가산하여 부호화 이전의 현재 블록을 복원할 수 있다.
필터 결정부(160)는 보간 필터 결정부(161) 및 루프 필터 결정부(163)를 포함할 수 있다. 그리고, 필터 결정부(160)는 입력되는 현재 영상에 해당하는 적응적 필터를 결정할 수 있다.
보간 필터 결정부(161)는 입력되는 현재 영상에 해당하는 필터 계수 및 필터탭을 계산하여 적응적 보간 필터를 결정할 수 있다. 일례로, 보간 필터 결정부(161)는 위너 필터(Wiener Filter)를 이용하여 현재 영상에 해당하는 적응적 보간 필터를 결정할 수 있다
루프 필터 결정부(163)는 현재 영상에 해당하는 필터 계수 및 필터 탭을 계산하여 적응적 루프 필터를 결정할 수 있다. 일례로, 루프 필터 결정부(161)는 위너 필터(Wiener Filter)를 이용하여 현재 영상에 해당하는 적응적 루프 필터를 결정할 수 있다. 여기서, 현재 영상에 해당하는 루프 필터 및 보간 필터를 결정하는 방법은 다양하고, 이미 잘 알려진 기술이므로 자세한 설명은 생략하기로 한다.
필터 리스트 제어부(170)는 보간 필터 리스트 제어부(171) 및 루프 필터 리스트 제어부(173)를 포함할 수 있다. 여기서, 필터 리스트는 복수의 필터들을 관리하기 위한 필터 관리자의 일례에 해당될 뿐, 복수의 필터들을 관리하기 위해 필터 리스트 이외에 다른 수단 또는 방법이 이용될 수 있다.
그리고, 필터 리스트 제어부(170)는 필터 결정부(160)에서 결정된 현재 영상에 해당하는 적응적 필터를 필터 리스트에 추가할지 여부를 결정할 수 있다. 이때, 보간 및 루프 필터 리스트의 명령어 구조는 아래의 표1과 같이, 명령어의 종류, 타겟 필터 리스트 및 필터 정보를 포함할 수 있다.
Figure PCTKR2010009092-appb-I000001
여기서, 명령어의 종류는, 필터 결정부(160)에서 결정된 적응적 필터를 필터리스트에 추가하는 명령, 필터 리스트에 포함된 기존 적응적 필터들 중 어느 하나를 삭제하는 명령, 및 필터 리스트에 포함된 적응적 필터의 인덱스를 조정하는 명령을 포함할 수 있다.
또한, 필터 정보는, 필터의 크기, 필터의 사용회수, 필터 계수, 필터 계수의 데이터 형식, 및 필터의 특성 정보를 포함할 수 있다. 여기서, 필터의 특성 정보는 필터의 대칭성을 포함할 수 있다.
보다 상세하게는, 보간 필터 리스트 제어부(171)는 보간 필터 결정부(161)에서 결정된 적응적 보간 필터와 보간 필터 리스트에 포함된 기존 적응적 보간 필터들 간의 유사성을 비교할 수 있다. 그리고, 보간 필터 리스트 제어부(171)는 유사성에 기초하여 적응적 보간 필터를 보간 필터 리스트에 추가할지 여부를 결정할 수 있다.
여기서, 보간 필터 리스트에는 하나 이상의 기존 적응적 보간 필터가 포함될 수 있다. 이때, 보간 필터 리스트에는 부호화 이전에 미리 정의된 보관 필터들이 포함될 수도 있다. 즉, 적응적 필터와 부호화 이전에 미리 정의된 고정필터가 함께 사용될 경우, 보간 필터 리스트에는 적응적 보간 필터뿐만 아니라 고정된 보간 필터도 포함될 수 있다.
이때, 보간 필터 리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터와 기존 적응적 또는 고정 보간 필터들 각각 간의 내적, 유클리디언 거리(Euclidean Distance), 1차 놈(Norm), 2차 놈 등을 이용하여 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터들 각각의 유사성을 비교할 수 있다.
일례로, 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터들 각각 간의 내적을 이용하는 경우, 보간 필터 리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터들 간의 정규화된 내적(Normalized Inner Product)을 각각 계산할 수 있다.
그리고, 보간 필터 리스트 제어부(171)는 계산된 정규화된 내적들과 기설정된 기준 내적을 각각 비교할 수 있다.
이때, 계산된 정규화된 내적이 기설정된 기준 내적 이상인 경우, 보간 필터리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터의 특성이 유사한 것으로 결정할 수 있다. 즉, 보간 필터 리스트 제어부(171)는 복수의 정규화된 내적들 중 어느 하나라도 기준 내적 이상이면, 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터의 특성이 유사한 것으로 결정할 수 있다.
또한, 계산된 정규화된 내적들 모두가 기설정된 기준 내적을 미달하는 경우,보간 필터 리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터의 특성이 유사하지 않은 것으로 결정할 수 있다. 즉, 보간 필터리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터를 새로운 보간 필터로 결정할 수 있다.
그러면, 현재 영상에 해당하는 적응적 보간 필터와 기존 보간 필터의 특성이 유사하지 않은 경우, 보간 필터 리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터를 보간 필터 리스트에 추가할 수 있다.
일례로, 타겟 필터 리스트가 도 2의 서브 픽셀 c, 필터의 크기가 7×7이고,서브 픽셀 c에 해당하는 필터 리스트에 현재 영상에 해당하는 적응적 보간 필터를 추가하는 경우, 필터 리스트에 적응적 보간 필터를 추가하기 위한 명령어의 구조는 아래의 표 2와 같을 수 있다.
이때, 도 2에서 서브 픽셀 a부터 o까지 순서대로 1부터 15가 할당될 수 있다. 이를 통해, 보간 필터 리스트 제어부(171)는 a부터 o까지 각각에 해당하는15개의 보간 필터 리스트를 별도로 관리할 수 있다.
표 2를 참조하면, 보간 필터 리스트 제어부( 171)는 서브 픽셀 c에 해당하는 보간 필터 리스트에 포함된 기존 적응적 보간 필터 각각과 현재 영상에 해당하는 적응적 보간 필터 간의 정규화된 내적들을 계산할 수 있다.
그리고, 정규화된 내적들이 모두 기준 내적을 미달하여 현재 영상에 해당하는 적응적 보간 필터가 기존 적응적 보간 필터와 유사하지 않은 경우, 보간 필터리스트 제어부(171)는 서브 픽셀 c에 해당하는 보간 필터 리스트에 현재 영상에 해당하는 적응적 보간 필터를 추가할 수 있다.
이때, 보간 필터 리스트 제어부(171)는 보간 필터 리스트에 포함된 복수의 기존 적응적 보간 필터들 중 어느 하나를 삭제하여 현재 영상에 해당하는 적응적 보간 필터를 추가할 수 있다.
일례로, 서브 픽셀 c에 해당하는 필터 리스트의 크기가 4이고, 필터 리스트에 4개의 기존 적응적 보간 필터가 포함되고, 현재 영상에 해당하는 적응적 보간 필터가 기존 적응적 보간 필터와 유사하지 않은 경우, 보간 필터 리스트 제어부(171)는 필터 리스트에서 기존 적응적 보간 필터 리스트들 중 어느 하나를 삭제해야 현재 영상에 해당하는 적응적 보간 필터를 추가할 수 있다.
이를 위해, 보간 필터 리스트 제어부(171)는 FIFO(First In First Out) 기법 또는 기존 적응적 필터들 각각의 사용회수에 기초하여 보간 필터 리스트에서 어느 하나의 기존 적응적 필터를 삭제할 수 있다.
일례로, 아래의 표 3과 같이 기존 적응적 보간 필터들의 사용회수를 이용하여 서브 픽셀 c에 해당하는 보간 필터 리스트에서 기존 적응적 보간 필터 리스트를 삭제할 수 있다.
Figure PCTKR2010009092-appb-I000003
표 3에 따르면, 4번 필터의 사용회수가 가장 작은 경우, 보간 필터 리스트 제어부(171)는 서브 픽셀 c에 해당하는 필터 리스트에 포함된 기존 적응적 보간 필터 들 중 4번 기존 적응적 보간 필터를 삭제할 수 있다. 그러면, 4번 기존 적응적 보간 필터를 삭제한 이후에, 보간 필터 리스트 제어부(171)는 표 2의 명령어 구조에 의해 현재 영상에 해당하는 적응적 보간 필터를 보간 필터 리스트에 추가할 수 있다.
마찬가지로, 기존 적응적 보간 필터의 삭제가 필요한 경우, 보간 필터 리스트 제어부(171)는 FIFO 기법을 이용하여 보간 필터 리스트에 가장 먼저 추가된 기존 적응적 필터부터 순서대로 삭제할 수 있다.
또한, 보간 필터 리스트 제어부(171)는 보간 필터 리스트에 포함된 적응적 보간 필터들의 인덱스를 조정할 수 있다. 여기서, 인덱스는, 보간 필터 리스트 상에서 적응적 보간 필터들의 위치를 나타내는 정보일 수 있다.
일례로, 보간 필터 리스트 제어부(171)는 아래의 표 4와 같은 명령어 구조에 의해 보간 필터 리스트에 포함된 적응적 보간 필터들 간의 위치를 변경할 수 있다.
Figure PCTKR2010009092-appb-I000004
표 4에 따르면, 보간 필터 리스트 제어부(171)는 서브 픽셀 c에 해당하는 보간 필터 리스트에 포함된 적응적 보간 필터들 중 0번과 2번 필터의 인덱스를 변경할 수 있다. 즉, 0번과 2번 필터의 위치를 변경할 수 있다.
이때, 보간 필터 리스트 제어부(171)는 표 4와 같이, 보간 필터 리스트에 포함된 적응적 필터들의 위치를 직접적으로 변경할 수 있을 뿐만 아니라, 사용회수에 기초하여 정렬할 수도 있다.
일례로, 보간 필터 리스트 제어부(171)는 서브 픽셀 c에 해당하는 필터 리스트에 포함된 적응적 보간 필터들의 사용회수가 많은 것부터 낮은 순으로 내림 차순 정렬할 수 있다.
보다 상세하게는, 보간 필터 리스트 제어부(171)는 사용회수가 많은 적응적 보간 필터일수록 낮은 인덱스를 할당하여 내림 차순 정렬을 수행할 수 있다. 이때,보간 필터 리스트 제어부(171)는 현재 영상에 해당하는 적응적 필터가 추가된 이후의 보간 필터 리스트 및 추가되기 이전의 보간 필터 리스트에 대해 정렬을 수행할 수 있다.
적응적 루프 필터 제어부(173)는 루프 필터 결정부(163)에서 결정된 현재 영상에 해당하는 적응적 루프 필터와 루프 필터 리스트에 포함된 기존 적응적 루프필터들 간의 유사성을 비교할 수 있다. 여기서, 유사성 비교는 적응적 보간 필터 제어부와 동일하므로 자세한 설명은 생략하기로 한다.
그리고, 루프 필터 리스트 제어부(173)는 현재 영상에 해당하는 적응적 루프필터와 기존 적응적 루프 필터들이 유사하지 않은 경우, 현재 영상에 해당하는 적응적 루프 필터를 루프 필터 리스트에 추가할 수 있다.
이때, 루프 필터 리스트의 크기가 4이고, 4개의 기존 적응적 루프 필터가 포함된 경우, 루프 필터 리스트 제어부(173)는 기존 적응적 루프 필터들 중 어느 하나를 삭제하고 현재 영상에 해당하는 적응적 루프 필터를 루프 필터 리스트에 추가할 수 있다.
일례로, 루프 필터 리스트 제어부(173)는 표 3의 명령어 구조에 의해 기존적응적 루프 필터를 루프 필터 리스트에서 삭제할 수 있다. 이때, 루프 필터 리스트제어부(173)는 FIFO 기법 또는 기존 적응적 루프 필터들의 사용회수를 카운트하여 사용회수가 낮은 순으로 삭제할 수 있다.
또한, 루프 필터 리스트 제어부(173)는 표 2의 명령어 구조에 의해 현재 영상에 해당하는 적응적 루프 필터를 루프 필터 리스트에 추가할 수 있다.
또한, 루프 필터 리스트 제어부(173)는 표 4의 명령어 구조에 의해 루프 필터 리스트에 포함된 적응적 루프 필터들의 인덱스를 조정하여 적응적 루프 필터들을 정렬할 수 있다. 여기서, 루프 필터 리스트 제어부(173)의 동작은 보간 필터리스트 제어부(171)와 동일하므로 자세한 설명은 생략하기로 한다.
적응적 필터(180)는 보간 필터(181) 및 루프 필터(183)를 포함할 수 있다.
보간 필터(181)는 보간 필터 리스트에 포함된 적응적 보간 필터들을 이용하여 현재 영상을 부호화할 수 있다.
이때, 현재 영상에 two pass 부호화가 설정된 경우, 보간 필터(181)는 현재영상에 해당하는 적응적 보간 필터가 추가된 보간 필터 리스트를 이용하여 현재 영상을 부호화할 수 있다. 즉, 보간 필터(181)는 보간 필터 리스트에 포함된 기존적응적 보간 필터들과 현재 영상에 해당하는 적응적 보간 필터를 이용하여 현재 영상을 부호화할 수 있다. 여기서, two pass 부호화는 현재 영상에 대해 2번 이상 부호화가 가능하도록 설정된 경우를 나타낼 수 있다. 이때, 현재 영상에서 구한 적응적 필터가 현재 영상 복호화 이전에 필터리스트에 추가될 수 있다. 이를 위해, 필터 리스트 명령어 사용될 수 있다. 이에 따라, 현재 영상에서 구해진 적응적 보간 필터가 복호화 과정에서 이용될 수 있게 된다.
또한, 현재 영상에 single pass 부호화가 설정된 경우, 보간 필터(181)는 현재 영상에 해당하는 적응적 보간 필터가 추가되기 이전의 보간 필터 리스트에 포함된 기존 적응적 보간 필터들을 이용하여 현재 영상을 부호화할 수 있다. 이때, 다음 영상은 현재 영상에 해당하는 적응적 보간 필터가 추가된 이후의 보간 필터 리스트를 이용하여 부호화 될 수 있다.
보다 상세하게는, 현재 영상에 single pass 부호화가 설정된 경우, 보간 필터 리스트 제어부(171)에서 기존 적응적 보간 필터들 중 어느 하나를 삭제 하기 이전에 보간 필터(181)는 기존 적응적 보간 필터들을 이용하여 현재 영상을 부호화할 수 있다. 여기서, single pass 부호화는 현재 영상에 대해 한번의 부호화가 가능하도록 설정된 경우를 나타낼 수 있다.
이때, 현재 영상에 Two pass 부호화가 설정되고, 현재 영상에서 구한 필터를 필터 리스트에 추가하는 것으로 결정된 경우, 필터 리스트 제어부(171)는 현재 영상부터 적용되도록 필터 추가 명령어를 부호화 스트림에 포함할 수 있다. 그러면, 비디오 복호화 장치는 필터 추가 명령어를 해석하여 현재 영상 복호화 이전에 필터리스트에 해당 필터를 추가할 수 있다.
그리고, 현재 영상에 Sing pass 부호화가 설정되고, 현재 영상에서 구한 필터를 필터 리스트에 추가하는 것으로 결정된 경우, 필터 리스트 제어부(171)는 다음 영상부터 적용되도록 필터 추가 명령어를 부호화 스트림에 포함할 수 있다. 그러면, 비디오 복호화 장치는 현재 영상을 모두 복호화 한 후, 필터 추가 명령어를 기초로 필터 리스트에 해당 필터를 추가할 수 있다. 이어, 복호화 장치는 다음 영상 복호화부터 필터 적용이 가능하도록 복호화 동작을 제어할 수 있다.
그러면, 현재 영상의 부호화가 수행된 이후에, 보간 필터 리스트 제어부(171)는 기존 적응적 보간 필터들 중 어느 하나를 삭제하여 현재 영상에 해당하는 적응적 보간 필터를 보간 필터 리스트에 추가할 수 있다.
루프 필터(183)는 루프 필터 리스트에 포함된 루프 필터들을 이용하여 현재 영상을 부호화할 수 있다.
보다 상세하게는, 루프 필터(183)는 복원된 현재 블록을 포함하는 현재 영상에 대해 적응적 루프 필터들을 이용하여 부호화를 수행할 수 있다. 이때, 보간 필터(181)와 마찬가지로 two pass 부호화가 설정된 경우, 루프 필터(183)는, 현재 영상을 기존 적응적 루프 필터들을 이용하여 부호화할 수 있다.
또한, single pass 부호화가 설정된 경우, 루프 필터(183)는 현재 영상에 해당하는 적응적 루프 필터 및 기존 루프 필터들을 이용하여 현재 영상을 부호화할 수 있다. 여기서 기존 루프 필터들은 부호화 과정 중에 생성된 적응적 루프 필터뿐만 아니라, 부호화 이전에 미리 정의된 고정 루프 필터들도 포함할 수 있다. 여기서, single pass 부호화 및 two pass 부호화에 따라 필터 리스트를 이용하여 현재 영상을 부호화하는 기술은 보간 필터와 동일하므로, 자세한 설명은 생략하기로 한다.
모드 결정부(190)는 이전 부호화 정보를 이용하여 현재 영상의 최대 부호화 크기, 또는 현재 영상의 최소 부호화 크기에 해당하는 부호화 모드를 결정할 수 있다. 여기서, 이전 영상의 부호화 정보는, 현재 영상 부호화에 사용할 부호화 유닛의 최대 크기 변경, 현재 영상 부호화에 사용할 부호화 유닛의 최소 크기 변경, 현재 영상 부호화에 사용할 변환의 최대 크기 변경, 및 현재 영상 부호화에 사용할 변환의 최소 크기 변경 중 적어도 하나를 포함할 수 있다.
일례로, 부호화 크기에 해당하는 부호화 모드는 4×4, 16×16, 32×32, 64×64, 128x128 등을 포함할 수 있다. 또한, 이전 부호화 정보는 부호화 모드 각각의 사용회수를 포함할 수 있다. 이때, 사용회수는 현재 영상 바로 직전의 하나의 이전 영상, 또는 현재 영상 이전의 N개의 이전 영상을 이용하여 계산될 수 있다. 여기서, N은 상수일 수 있다.
또한, 모드 결정부(190)는 부호화 모드의 사용회수와 기설정된 기준 회수를 이용하여 현재 영상의 최대 부호화 크기, 또는 현재 영상의 부호화 크기에 해당하는 모드를 변경할 수 있다. 즉, 모드 결정부(190)는 현재 영상의 최대 부호화 크기, 또는 현재 영상의 최소 부호화 크기를 변경할 수 있다.
일례로, 슈퍼 매트로 블록(Super Macro Block: SMB)의 최대 부호화 크기가32×32인 경우, GOP(Group Of Picture)에서는 32×32 단위로 부호화가 수행될 수 있다. 이때, 모드 결정부(190)는 GOP에 대해 32×32가 상하좌우로 4개씩 발생하는 사용회수를 계산할 수 있다.
그리고, 모드 결정부(190)는 계산된 사용회수가 기준 회수 이상인 경우, 최대 부호화 크기를 32×32에서 64×64로 변경할 수 있다. 즉, 모드 결정부(190)는 다음 GOP에서는 64×64단위로 부호화가 수행되도록 부호화 모드를 변경할 수 있다.이때, 모드 결정부(190)는, GOP 이외에, 프레임 단위, 프레임/슬라이스 종류별 통계, 슬라이스(Slice) 단위, 및 일정 매크로 블록 개수 단위로 사용회수를 카운트하여 모드를 결정 및 변경할 수 있다.
반대로, SMB의 최대 부호화 크기가 64×64인 경우, 모드 결정부(190)는 계산된 사용회수가 기준 회수 미만인 경우, 최대 부호화 크기를 64×64에서 32×32로 변경할 수 있다. 그러면, 다음 GOP에서는 32×32 SMB까지만 사용하여 부호화가 수행될 수 있다.
이때, SMB 의 최대 부호화 크기는 CTB (coding Tree block)을 사용하는 방식에서 LCU(Largest coding unit)에 대응하는 개념이므로, 쉽게 CTB를 사용하는 방식에 적용할 수 있다. 여기서, 최대 부호화 유닛(LCU)의 크기 변경 방식을 최소 부호화 유닛의 크기 변경에도 적용할 수 있다. 최소 부호화 유닛의 크기를 변경하는 과정은 최대 부호화 유닛의 크기 변경 방식과 유사하므로 상세한 설명은 생략하기로 한다.
또한, 상기 부호화 유닛의 크기 변경 방식을 변환의 크기 변경에도 적용 할 수 있다. 이때, 변환의 크기를 변경하는 과정은 최대 부호화 유닛의 크기 변경 방식 과 유사하므로 상세한 설명은 생략하기로 한다.
한편, 모드 결정부(190)는 필터 리스트 제어부(170)와 마찬가지로 명령어 구조에 의해 부호화 모드를 변경할 수 있다. 즉, 모드 결정부(190)는 명령어 구조에 의해 부호화 모드를 추가, 삭제, 변경할 수 있다.
일례로, 모드 결정부(190)는 아래의 표 5와 같은 명령어 구조에 의해 부호화 모드를 추가할 수 있다.
Figure PCTKR2010009092-appb-I000005
표 5에서, 첫 번째 열의 4는 부호화 모드 추가, 두 번째 열의 1은 부호화 단위가 SMB를 의미한다. 그리고, 표 5에서 세 번째 열의 1은 최대 부호화 크기가 32×32인 경우를 의미하고, 세 번째 열의 2는 최대 부호화 크기가 64×64인 경우를 의미한다.
또한, 모드 결정부(190)는 이전 부호화 정보를 이용하여 부호화 모드 별로 세부 방법을 결정할 수 있다.
일례로, 인터(Inter) 부호화 모드인 경우, 모드 결정부(190)는 부호화 유닛 단위로 4×4, 8×8 변환을 선택적으로 적용할 수 있다. 이때, 모드 결정부(190)는 각 변환 시, 사용 통계를 계산하여 다음 부호화에 적용 여부를 결정할 수 있다.
일례로, 8×8 변환의 사용회수가 기설정된 기준 회수 미만인 경우, 모드 결정부(190)는 다음 통계 처리 단위 동안 8×8 변환을 사용하지 않을 것을 지시하는 명령어를 전달할 수 있다. 그러면, 부호화 유닛에서는 8×8 변환인지 또는 4×4변환인지를 표시하기 위해 이용되는 정보를 생략할 수 있다. 이를 통해 부호화 효율이 향상될 수 있다.
또 다른 일례로, HEVC와 같이 트리구조(CTB: Coding Tree Block) 를 이용하여 부호화 유닛의 최대 크기와 최소 크기를 결정하는 경우, 1)깊이 정보(CTB Depth), 및 2)2개의 정보로 부호화에서 사용하는 부호화 유닛의 크기 범위를 지정할 수 있다. 여기서, 깊이 정보는, 최대 부호화 유닛의 크기(LCU Size)와 최대 크기로부터 최소 크기가 얼마까지 내려가는지를 의미한다.. 이처럼 트리 구조를 이용하는 경우에도, 부호화 장치는 최대 크기 부호화 유닛의 사용회수에 따라 부호화 유닛의 최대 크기를 증가시킬지, 감소시킬지를 결정할 수 있다. 또한, 부호화 장치는 독립적으로 최소 크기 부호화 유닛의 사용 빈도를 측정하여 부호화 유닛의 최소 크기를 증가시킬지, 줄이지를 결정할 수도 있다.
상기 결정된 정보를 모드 결정부에 명령어로 전달 시킬 수 있는데, 명령어의 일실시예는 아래와 같다.
Figure PCTKR2010009092-appb-I000006
표 6에서, 명령어의 첫번째 값은 명령의 의미를 나타낸다. 이때, 명령어의 첫번째 값이 5일 경우, 부호화 유닛의 최대 크기에 대한 변경을 의미, 6일 경우 부호화 유닛의 최소 크기에 대한 변경을 의미, 7일 경우 부호화 유닛의 최대 크기와 최소 크기를 동시에 변경하는 것을 의미한다. 그리고, 명령어의 두번째 값은 변화가 무엇인가를 의미한다. 이때, 명령어의 두번째 값이 0일 경우, 한 단위를 증가 시킨다는 의미, 1일 경우 한 단위를 감소 시킨다는 것을 의미힌다. 여기서, 부호화 유닛의 크기는 2의 지수승에 해당하는 값을 가지므로, 한단위 증가는 현재 크기에서 2배 크기로 변화된다는 것을 의미하고, 한 단위 감소는 현재 크기에서 1/2배 크기로 변화된다는 것을 의미한다.
표 6에서, 명령어의 세번째 값은, 명령어의 첫번째 값이 7일 경우에만 사용되는 값이다. 즉, 부호화 유닛의 최대 크기와 최소 크기를 동시에 변경시킬 때 만 사용되는 값이다. 이처럼, 부호화 유닛의 최대 크기와 최소 크기를 동시에 변경하는 경우 명령어의 두번째값은 부호화 유닛의 최대 크기에 대한 변경을, 명령어의 세번째 값은 부호화 유닛의 최소 크기에 대한 변경을 전달하는데 사용될 수 있다.
상기 모드 정보의 변화에 관한 부호화기와 복호화기 간의 정보 전달은 상기와 같은 명령어 형태로도 가능하고, 픽쳐(picture) 또는 슬라이스(Slice) 헤더(Header)에 변경된 모드 정보를 명시적으로 최대 크기(LCU Size) 와 깊이 정보(CU Depth)를 보내는 방식도 가능하다. 여기서, 모드 정보는, 부호화 유닛의 최대 크기 변경, 부호화 유닛의 최소 크기 변경, 최대 변환 크기 변경, 및 최소 변환 크기 변경 중 적어도 하나를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른 비디오 부호화 장치에서의 필터 리스트관리 방법을 설명하기 위해 제공되는 흐름도이다. 도 3에서는, 보간 필터 리스트제어부(171) 및 루프 필터 리스트 제어부(173)의 기능이 실질적으로 동일하므로,보간 필터 리스트 제어부(171) 및 루프 필터 리스트 제어부(173)를 필터 리스트 제어부(170)로 칭하여 설명하기로 한다.
도 3을 참조하면, 필터 결정부(160)는 현재 영상에 해당하는 적응적 필터를 결정할 수 있다(S310). 여기서, 적응적 필터는, 보간 필터 및 루프 필터를 포함할 수 있다.
보다 상세하게는, 보간 필터(161)는 현재 영상에 해당하는 적응적 보간 필터를 결정할 수 있다. 그리고, 루프 필터(163)는 현재 영상에 해당하는 적응적 루프필터를 결정할 수 있다.
이어, 필터 리스트 제어부(170)는 현재 영상에 해당하는 적응적 필터와 필터리스트에 포함된 기존 필터들 간의 유사성을 비교할 수 있다(S220). 이때,필터 리스트 제어부(170)는 현재 영상에 해당하는 적응적 필터와 기존 필터들 간의 내적, 유클리디언 거리, 1차 놈(norm), 2차 놈 등을 이용하여 유사성을 비교할 수 있다.
보다 상세하게는, 보간 필터 리스트 제어부(171)는 현재 영상에 해당하는 적응적 보간 필터와 보간 필터 리스트에 포함된 기존 보간 필터들 간의 유사성을 비교할 수 있다.
마찬가지로, 루프 필터 리스트 제어부(173)는 현재 영상에 해당하는 적응적 루프 필터와 루프 필터 리스트에 포함된 기존 루프 필터들 간의 유사성을 비교할 수 있다. 여기서, 현재 영상에 해당하는 적응적 보간 또는 루프 필터와 기존보간 또는 루프 필터 간의 유사성을 비교하는 기술은 도 1에서 이미 설명하였으므로, 자세한 설명은 생략하기로 한다.
그리고, 결정된 적응적 필터가 기존 적응적 필터와 유사하지 않은 경우(S230:NO), 필터 리스트 제어부(170)는 필터 리스트에 포함된 기존 적응적 필터를 중 어느 하나를 삭제할 수 있다(S240). 이때, 필터 리스트 제어부(170)는 FIFO기법 또는 기존 적응적 필터들 각각의 사용회수에 기초하여 필터 리스트에서 어느 하나의 기존 적응적 필터를 삭제할 수 있다.
이때 필터 리스트에 부호화 이전에 정의된 고정 필터도 존재하는 경우, 고정된 필터들은 필터리스트에서 삭제되는 대상에서 제외될 수 있다. 즉 고정된 필터들은 필터 리스트에 항상 존재하고, 앞에서 설명한 삭제 처리 과정은 적응적 필터에 대해서만 삭제여부를 판별하여 삭제 처리될 수 있다.
고정된 필터도 함께 사용하여 부호화 할 경우 필터리스트는 필터 리스트에 있는 필터가 미리 정의된 고정 필터인지, 부호화 과정에서 생성된 적응적 필터인지를 구별하는 정보도 포함하여 구성된다.
그러면, 필터 리스트 제어부(170)는 현재 영상에 해당하는 적응적 필터를 필터 리스트에 추가할 수 있다(S250). 즉, S210 단계에서 결정된 적응적 필터가 필터 리스트에 추가될 수 있다.
한편, S230 단계에서, 결정된 적응적 필터가 필터 리스트에 포함된 기존 적응적 필터와 유사한 경우(S230:YES), 필터 리스트 제어부(170)는 결정된 적응적 필터를 기존 적응적 필터와 특성이 유사한 필터로 결정할 수 있다. 그러면, 결정된 적응적 필터는 필터 리스트에 추가되지 않을 수 있다.
이어, 적응적 필터(180)는 필터 리스트에 포함된 적응적 필터들을 이용하여 현재 영상을 부호화할 수 있다(S280). 여기서, 적응적 필터는 보간 필터 및 루프필터를 포함할 수 있다. 이에 따라, 현재 영상은 보간 필터 리스트에 포함된 적응적 보간 필터들 또는 루프 필터 리스트에 포함된 루프 필터들을 통해 부호화 될 수 있다.
이때, 적응적 필터(180)는, 현재 영상의 two pass 부호화 또는 single pass부호화 설정 여부에 따라 현재 영상에 해당하는 적응적 필터를 이용하여 현재 영상을 부호화하거나 부호화하지 않을 수 있다.
보다 상세하게는, S230단계에서 결정된 적응적 필터와 기존 적응적 필터가 유사하지 않고, 현재 영상에 two pass 부호화가 설정된 경우, 현재 영상은 필터 리스트에 포함된 기존 적응적 필터들과 S210단계에서 결정된 적응적 필터를 이용하여 부호화될 수 있다.
또한, S230단계에서 결정된 적응적 필터와 기존 적응적 필터가 유사하지 않고, 현재 영상에 single pass 부호화가 설정된 경우, 적응적 필터(180)는 현재 영상은 필터 리스트에 포함된 기존 적응적 필터들을 이용하여 부호화될 수 있다.
이때, 필터 리스트에는 S210단계에서 결정된 적응적 필터가 추가되지 않은 상태이다. 그러면, 현재 영상의 부호화가 수행된 이후, 다음 영상의 부호화에 이용되도록 필터 리스트 제어부(170)는 현재 영상에 해당하는 적응적 필터를 필터 리스트에 추가할 수 있다.
이상에서 설명한 도 1 및 도 3의 부호화 장치 및 방법을 통해 결정된 현재영상에 해당하는 현재 영상의 부호화에 이용된 적응적 필터의 종류, 및 명령어의종류, 필터 리스트의 변경 여부 등을 포함하는 필터 리스트 정보가 비트스트림에 추가되어 복호화 장치로 전달될 수 있다.
도 4는 본 발명의 일 실시예에 따른 비디오 부호화 장치에서의 모드 결정 방법을 설명하기 위해 제공되는 흐름도이다.
도 4를 참조하면, 모드 결정부(190)는 이전 부호화 정보를 이용하여 SMB의 최대 크기에 해당하는 모드를 부호화 모드로 결정할 수 있다(S410). 일례로, 이전부호화 정보는, 부호화 모드의 사용회수를 포함할 수 있다.
그러면, 현재 영상은 결정된 부호화 모드로 부호화될 수 있다(S420).<0109> 이어, 부호화 모드의 사용회수가 기설정된 기준 회수 미만인 경우(S430:YES), 모드 결정부(190)는 부호화 모드를 변경할 수 있다(S440). 그러면,현재 영상은 변경된 부호화 모드에 해당하는 최대 부호화 블록 크기로 부호화될 수 있다. 이때, 부호화 모드를 나타내는 모드 정보는 비트스트림에 추가되어 복호화 장치로 전달될 수 있다.
한편, 부호화 모드의 사용회수가 기설정된 기준 회수 이상인 경우(S430:NO), 모드 결정부(190)는 부호화 모드를 변경하지 않을 수 있다.
이상에서는 적응적 필터들을 관리하는 부호화 장치 및 방법에 대해서 설명하였으나, 복호화 장치 역시 보간 필터 및 루프 필터들을 각각 해당하는 리스트를 통해 관리할 수 있다.
일례로, 복호화 장치는, 부호화 장치로부터 수신된 필터 리스트 정보를 이용하여 현재 영상에 해당하는 적응적 필터를 필터 리스트에 추가 또는 삭제하거나,인덱스를 변경할 수 있다.
또한, 복호화 장치는, 부호화 장치로부터 수신된 모드 정보에 해당하는 복호화 블록 크기들로 현재 영상을 복호화할 수 있다.
이때, 복호화 과정에서는 필터 결정과정이 없으므로, 복호화 장치(300)에서, 보간 필터 리스트 및 루프 필터 리스트를 관리하는 동작은 필터 리스트 제어부로만 구성될 수 있다. 이때, 복호화 장치에서의 필터 리스트 제어동작은 부호화 장치에서의 필터 리스트 제어동작과 실질적으로 동일하고, 복호화 장치에서 모드 정보를 이용하여 복호화를 수행하는 동작은 부호화 장치(100)에서 부호화 모드를 이용하여 현재 영상에 대해 부호화를 수행하는 동작과 실질적으로 동일하므로 중복되는 설명은 생략하기로 한다.
또한, 복호화 장치에서는 필터 관리 명령어에 따라 필터 리스트를 제어할 수 있다. 이에 따라, 복호화 장치에서는 부호화 장치의 필터 결정부가 필요없다. 즉 필터 관리 명령어는 부호화 장치의 필터 결정부에서 결정된 결과에 대응하는 내용을 담고 있다.
도 5는 본 발명의 일 실시예에 따른 비디오 복호화 장치의 구성을 도시한 도면이다.
도 5를 참조하면, 복호화 장치(500)는 엔트로피 복호화부(510), 역양자화 및 역변환부(520), 인트라예측부(530), 인터예측부(540), 가산부(550), 필터 리스트제어부(560), 및 적응적 필터(570)를 포함할 수 있다.
엔트로피 복호화부(510)는 비트스트림을 엔트로피 복호화하여 변환계수, 움직임 벡터, 필터 리스트 정보, 및 모드 정보를 추출할 수 있다.
여기서, 모드 정보는, 부호화 장치에서, 현재 영상에 대해 프레임 단위,GOP, 슬라이스, 또는 매크로 블록 단위로 결정 또는 변경된 부호화 모드에 대응되는 복호화 모드를 포함할 수 있다.
한편, 필터 리스트 정보는, 현재 영상에 해당하는 적응적 필터의 종류, 필터리스트의 변경 정보를 포함할 수 있다.
이때, 필터 리스트의 변경 정보는 현재 영상에 해당하는 적응적 필터가 필터리스트에 추가되었는지 여부를 나타내는 정보, 필터 리스트에 포함된 적응적 필터들 중 적어도 하나의 필터 삭제 여부를 나타내는 정보, 또는 필터 리스트에 포함된 적응적 필터의 변경 여부를 나타내는 정보를 포함할 수 있다.
역양자화 및 역변환부(320)는 추출된 변환계수를 역양자화하고 이산 코사인 역변환하여 차분 블록을 획득할 수 있다. 이때, 역양자화 및 역변환부(320)는 입력 영상에 포함된 부호화 유닛들 또는 서브 블록들 각각에 대해 서로 다른 역양자화를 수행할 수 있다.
이때, 역양자화 및 역변환부(320)는 차분 블록에 수행된 역양자화의 종류를 나타내는 역양자화 정보를 역양자화된 비트스트림에 포함시켜 출력할 수 있다.
여기서, 역양자화의 종류는 주파수 영역 스칼라 역양자화, 공간 영역 스칼라 역양자화, 주파수 영역 벡터 역양자화, 및 공간 영역 벡터 역양자화를 포함할 수 있다. 또한, 역양자화 정보는 플래그 비트 또는 인덱스 형식으로 비트스트림에 포함될 수 있다. 이때, 역양자화 정보에 따라 역양자화 종류를 판별하는 과정은 영상 부호화 장치(100)와 동일하므로 자세한 설명은 생략하기로 한다.
인트라예측부(530)는 엔트로피 복호화된 영상의 블록을 부호화하기 위해서 공간적으로 인접한 픽셀 값을 이용하여 복호화하고자 하는 매크로 블록을 예측하여 복호화할 수 있다.
인터예측부(540)는 엔트로피 복호화부(310)에서 추출된 움직임 벡터를 이용하여 현재 블록의 예측 블록을 생성할 수 있다.
가산부(550)는 역양자화 및 역변환부(520)에서 획득된 차분 블록과 예측 블록을 더하여 현재 블록을 복원할 수 있다. 이때, 예측 블록은 인트라예측부(530) 또는 인터예측부(320)로부터 가산부(550)로 전달될 수 있다.
필터 리스트 제어부(560)는 보간 필터 리스트 제어부(561), 및 루프 필터 리스트제어부(562)를 포함할 수 있다.
보간 필터 리스트 제어부(561)는 엔트로피 복호화부(510)에서 추출된 필터리스트 정보에 포함된 현재 영상에 해당하는 적응적 필터가 보간 필터인 경우, 현재 영상에 해당하는 적응적 보간 필터를 보간 필터 리스트에 추가할 수 있다.
이때, 보간 필터 리스트 제어부(561)는, 현재 영상에 해당하는 적응적 필터와 필터 리스트에 포함된 기존 필터들 간의 유사성을 비교할 수 있다.
일례로, 보간 필터 리스트 제어부(561)는 현재 영상에 해당하는 적응적 필터와 기존 필터들 간의 내적, 유클리디언 거리, 1차 놈, 2차 놈(norm) 등을 이용하여 현재 영상에 해당하는 적응적 필터와 기존 필터들 간의 유사성을 비교할 수 있다. 여기서, 유사성 비교는 이미 부호화 장치에서 설명하였으므로 자세한 설명은 생략하기로 한다.
그리고, 보간 필터 리스트 제어부(561)는 현재 영상에 해당하는 적응적 필터와 기존 적응적 필터들이 유사하지 않은 경우, 현재 영상에 해당하는 적응적 보간 필터를 보간 필터 리스트에 추가할 수 있다.
이때, 보간 필터 리스트 제어부는(561)는 기존 적응적 필터 각각의 사용회수, FIFIO 기법을 이용하여 보간 필터 리스트에서 기존 적응적 보간 필터들 중 어느 하나를 삭제할 수 있다. 그리고, 기존 적응적 보간 필터를 삭제한 이후에 보간 필터 리스트에 현재 영상에 해당하는 적응적 필터를 추가할 수 있다.
루프 필터 리스트 제어부(562)는 엔트로피 복호화부(510)에서 추출된 필터리스트 정보에 포함된 현재 영상에 해당하는 적응적 필터가 루프 필터인 경우, 현재 영상에 해당하는 적응적 루프 필터를 루프 필터 리스트에 추가할 수 있다. 이때, 루프 필터 리스트에 현재 영상에 해당하는 적응적 루프 필터를 추가하거나, 기존 적응적 루프 필터를 삭제하는 과정은 보간 필터 리스트 제어부(561)와 동일하므로 자세한 설명은 생략하기로 한다.
적응적 필터(570)는 보간 필터(571) 및 루프 필터(572)를 포함할 수 있다.
여기서, 복호화 장치의 보간 필터 및 루프 필터는 부호화 장치의 보간 필터 및 루프 필터와 실질적으로 동일하므로 자세한 설명은 생략하기로 한다.
보간 필터(571)는 보간 필터 리스트에 포함된 적응적 또는 고정 보간 필터들을 이용하여 현재 영상을 복호화할 수 있다.
일 예로, 현재 영상이 two pass 이상으로 부호화되고, 현재 영상에서 구한 적응적 보간 필터가 필터 리스트에 추가되어 현재 영상 부호화에 사용되는 경우 부호화 장치는 현재 영상 부호화 이전에 새로운 적응 필터가 보간 필터 리스트에 등록될 수 있도록 명령어가 비트스트림에 포함시켜 복호화 장치로 전달할 수 있다. 그러면, 복호화 장치는 비트스트림에 포함된 상기 명령어를 해석하여 현재 영상에 대해 결정한 새로운 적응 보간 필터를 보간 필터 리스트에 등록할 수 있다. 이후, 복호화 장치는 변경된 보간 필터리스트를 이용하여 현재 영상을 복호화할 수 있다.
다른 예로, 현재 영상이 single pass로 부호화되고, 현재 영상에서 구한 적응적 보간 필터가 필터 리스트에 있는 기존 필터와 달라 필터 추가가 필요하다고 결정된 경우, 현재 영상에서 구한 적응적 보간 필터는 필터리스트에 추가되고, 다음 영상 부호화부터 사용될 수 있다. 그러면, 비트 스트림에는 현재 영상 스트림이 있고, 그 뒤에 필터 추가명령어가 비트스트림에 추가될 수 있다. 이때, 복호화 장치는 현재 영상 복호화에서는 부호화기에서 구한 현재 영상의 적응적 보간 필터가 필터 리스트에 추가되진 않은 상태로 복호화를 수행할 수 있다. 이어, 복호화 장치는, 다음 영상을 위해 필터 추가 명령어를 해석하여 명령어를 처리할 수 있다.
상기와 같이 복호화 과정에서는 부호화 과정과 달리, Single pass와 two pass 에 따라 크게 달라지는 것이 없으며, 필터리스트에 필터 추가가 현재 영상 복호화 이전에 처리되는지 현재 영상 복호화 이후에 처리되는지 차이만 있다. 이는 필터 추가 명령어를 비트스트림에서 현재 영상 스트림 이전에 포함 또는 현재 영상 스트림 이후에 포함되도록 하여 처리가 가능하다.
현재 영상에 single pass 복호화가 설정된 경우, 보간 필터(581)는 현재 영상에 해당하는 적응적 보간 필터가 추가되기 이전의 보간 필터 리스트에 포함된 기존 보간 필터들을 이용하여 현재 영상을 복호화할 수 있다. 이때, 다음 영상은 현재 영상에 해당하는 적응적 보간 필터가 추가된 이후의 보간 필터 리스트를 이용하여 복호화 될 수 있다.
이때, 현재 영상을 복호화는 경우, 모드 정보에 해당하는 복호화 크기 단위로 현재 영상이 복호화될 수 있다. 일례로, 복호화 크기 단위는 프레임 단위,GOP, 슬라이스, 또는 부호화 유닛 단위 등이 이용될 수 있다.
루프 필터(572)는 루프 필터 리스트에 포함된 적응적 루프 필터들을 이용하여 현재 영상을 복호화할 수 있다. 여기서, 루프 필터링을 통해 현재 영상을 복호화하는 과정은 필터의 종류만 상이할 뿐, 보간 필터링을 수행하여 현재 영상을 복호화하는 과정과 실질적으로 동일하므로 자세한 설명은 생략하기로 한다.
도 6은 본 발명의 일 실시예에 따른 비디오 복호화 방법을 설명하기 위해 제공되는 흐름도이다.
먼저, 복호화 장치는, 부호화 장치로부터 수신된 비트스트림으로부터 필터리스트 정보 및 모드 정보를 추출할 수 있다(S610). 여기서, 비트스트림은 부호화 장치에 의해 비디오 부호화될 수 있다. 그리고, 모드 정보는, 현재 영상의 부호화 모드를 나타내는 정보이다.
또한, 필터 리스트 정보는, 현재 영상을 부호화하기 위해 이용된 적응적 필터의 종류, 필터 리스트의 변경 정보를 나타내는 정보 등을 포함할 수 있다.
일례로, 필터 리스트의 변경 정보는 현재 영상에 해당하는 적응적 필터가 필터 리스트에 추가되었는지 여부, 필터 리스트에 포함된 기존 적응적 필터들의 삭제여부, 또는, 필터 리스트에 포함된 적응적 필터들의 인덱스 변경 여부를 나타내는 정보 등을 포함할 수 있다.
이어, 복호화 장치는, 추출된 필터 리스트 정보를 기초로 현재 영상에 해당하는 적응적 필터를 필터 리스트에 추가할 수 있다(S620). 여기서, 적응적 필터는, 적응적 보간 필터 및 적응적 루프 필터를 포함할 수 있다. 마찬가지로, 필터리스트는 보간 필터 리스트 및 루프 필터 리스트를 포함할 수 있다.
일례로, 복호화 장치는, 필터 리스트 정보를 기초로 부호화 장치에서 현재영상에 해당하는 적응적 필터가 필터 리스트에 추가된 경우, 복호화 장치는 현재영상에 해당하는 적응적 필터를 필터 리스트에 추가할 수 있다.
이때, 부호화 장치에서 현재 영상이 현재 영상에 해당하는 적응적 필터 및 기존 필터들을 이용하여 부호화된 경우, 복호화 장치는, 현재 영상이 현재영상에 해당하는 적응적 필터 및 기존 필터들을 이용하여 현재 영상을 복호화할 수 있다.
마찬가지로, 부호화 장치에서 현재 영상이 기존 적응적 또는 고정 필터들만으로 부호화된 경우, 복호화 장치는, 기존 필터들을 이용하여 현재 영상을 복호화할 수 있다.
이때, 복호화 장치는, 모드 정보에 해당하는 복호화 크기로 현재 영상을 복호화할 수 있다(S630). 즉, 현재 영상은 부호화 장치에서 결정된 최대 부호화 크기에 해당하는 최대 복호화 크기로 복호화될 수 있다.
일례로, 모드 정보에 8×8 변환을 사용하지 않고, 최대 부호화 블록 크기를 32×32 단위로 복호화하는 명령어가 포함된 경우, 복호화 장치는, 각 모드의 헤더를 해석할 때, 8×8 변환 플래그는 없는 것으로 해석할 수 있다. 또한, 복호화 장치는, 64×64 부호화 유닛 레이어의 헤더는 없는 것으로 해석하고 32×32 부호화 유닛 레이어부터 헤더를 해석하여 복호화를 수행할 수 있다.
지금까지, 필터 리스트 제어부(170)에서 서브 픽셀 각각에 해당하는 필터 리스트를 별도로 관리하는 것으로 설명하였으나, 이는 실시예에 해당되며, 서브 픽셀들의 대칭성을 이용하여 서브 픽셀의 개수보다 작은 개수의 필터 리스트를 관리할 수 있다.
일례로, 도 2를 참조하면, 서로 대칭인 서브 픽셀 a와 c, d와 l, e와 o, g와m, i와 k, f와 n 각각에 동일한 필터가 이용될 수 있다. 그러면, 필터 리스트 제어부(170)는 15개의 필터 리스트 대신 7개의 필터 리스트를 관리할 수 있다.
또한, 이상에서는, 필터 리스트에 포함된 기존 적응적 필터들 중 어느 하나를 삭제하는 것으로 설명하였으나, 이는 설명의 편의를 위한 실시예에 해당되며,필터 리스트 제어부(170)는 필터 리스트에서 하나 이상의 기존 적응적 필터들을 삭제할 수 있다.
또한, 이상에서는, 사용회수가 많은 적응적 필터일수록 낮은 인덱스를 할당하여 내림 차순 정렬을 수행하는 것으로 설명하였으나, 이는 설명의 편의를 위한 실시예에 해당되며, 필터 리스트 제어부(170)는 사용회수에 기초하여 필터 리스트에 포함된 적응적 필터들을 내림 차순 또는 오름 차순 정렬할 수 있다.
또한, 이상에서는 적응적 필터 또는 모드 별 사용회수를 이용하여 필터 리스트 관리 또는 모드를 결정하는 것으로 설명하였으나, 이는 설명의 편의를 위한 실시예에 해당되며, 적응적 필터의 통계 또는 모드 별 통계를 이용하여 필터 리스트관리 또는 모드를 결정할 수 있다.
상기 모드 정보를 명령어 형태로 비트 스트림에 포함하여 전달하는 형태 이외에 부호화 장치에서 모드 정보를 전달하지 않더라도 복호화 장치는 모드 변경 여부를 유추할 수 있다. 즉, 복호화 장치에서도 부호화 장치에서 수행한 모드 결정 과정을 동일하게 수행하여 모드 변경 여부를 유추할 수 있다.
지금까지, 비디오 부호화 방법 및 장치에서 이산 코산인 변환을 수행하는 경우를 예를 들어 설명하였으나, 비디오 부호화 방법 및 장치는 이산 코사인 변환 이외에 다른 변환 방식을 이용할 수도 있다. 이때, 본 비디오 부호화 방법 및 장치에서 다른 변환 방식을 이용하더라도 본 발명의 효과에는 영향이 없다.
마찬가지로, 비디오 복호화 방법 및 장치에서 역이산 코사인 변환을 수행하는 경우를 예를 들어 설명하였으나, 비디오 복호화 방법 및 장치는 역이산 코산인 변환 이외에 다른 역변환 방식을 이용할 수도 있다. 이때, 본 비디오 복호화 방법 및 장치에서 다른 변환 방식을 이용하더라도 본 발명의 효과에는 영향이 없다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 현재 영상에 해당하는 적응적 필터를 결정하는 단계;
    상기 결정된 적응적 필터 및 필터 관리자에 포함된 적어도 하나의 기존 적응적 필터를 비교하는 단계;
    상기 비교 결과를 기초로 상기 결정된 적응적 필터를 상기 필터 관리자에 추가할지 여부를 결정하는 단계; 및
    상기 필터 관리자에 포함된 적응적 필터를 이용하여 상기 현재 영상을 부호화하는 단계
    를 포함하는 비디오 부호화 방법.
  2. 제 1항에 있어서,
    상기 필터 관리자의 명령어 구조는,
    상기 결정된 적응적 필터를 제어하기 위한 명령어의 종류, 타겟 필터 관리자, 및 필터 정보를 포함하고,
    상기 적응적 필터는, 적응적 보간 필터 및 적응적 루프 필터 중 적어도 하나를 포함하고,
    상기 적응적 필터 관리자는, 적응적 보간 필터 관리자 및 적응적 루프 필터 관리자 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  3. 제 2항에 있어서,
    상기 명령어의 종류는, 상기 결정된 적응적 필터를 상기 필터 관리자에 추가하는 명령, 상기 필터 관리자에 포함된 적응적 필터들 중 적어도 하나를 삭제하는 명령, 및 상기 필터 관리자에 포함된 적응적 필터의 인덱스를 조정하는 명령 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  4. 제 1항에 있어서,
    상기 비교하는 단계는,
    상기 결정된 적응적 필터 및 상기 기존 필터, 적응적 또는 고정 필터, 간의 내적, 유클리디언 거리(Euclidean Distance), 1차 놈(Norm), 또는 2차 놈을 이용하여 상기 결정된 적응적 필터와 상기 기존 필터들 간의 유사성을 비교하는 것을 특징으로 하는 비디오 부호화 방법.
  5. 제 4항에 있어서,
    상기 결정하는 단계는,
    상기 결정된 적응적 필터와 상기 기존 적응적 필터들이 유사하지 않은 경우, 상기 결정된 적응적 필터를 상기 필터 관리자에 추가하는 비디오 부호화 방법.
  6. 제 5항에 있어서,
    상기 부호화하는 단계는,
    상기 현재 영상이 two pass 이상의 부호화로 설정된 경우, 상기 결정된 적응적 필터가 추가된 상기 필터 관리자에 포함된 적응적 필터들을 이용하여 상기 현재 영상을 부호화하는 것을 특징으로 하는 비디오 부호화 방법.
  7. 제 5항에 있어서,
    상기 부호화하는 단계는,
    상기 현재 영상이 single pass 부호화로 설정된 경우, 상기 결정된 적응적 필터가 추가되기 이전에, 상기 필터 관리자에 포함된 기존 적응적 필터들을 이용하여 상기 현재 영상을 부호화하고,
    상기 결정된 적응적 필터가 추가된 상기 필터 관리자에 포함된 적응적 필터들을 이용하여 다음 영상을 부호화하는 것을 특징으로 하는 비디오 부호화 방법.
  8. 제 4항에 있어서,
    상기 결정하는 단계는,
    상기 결정된 적응적 필터와 상기 기존 필터들이 유사하지 않은 경우, 상기 기존 필터 중 적응적 필터 각각의 사용회수 또는 FIFO(First In First Out) 기법을 이용하여 상기 필터 관리자에서 상기 기존 필터 중 적응적 필터를 삭제하고,
    상기 결정된 적응적 필터와 상기 기존 필터들이 유사한 경우, 상기 필터 관리자에 포함된 기존 적응적 필터들을 이용하여 상기 현재 영상을 부호화하는 것을 특징으로 하는 비디오 부호화 방법.
  9. 제 1항에 있어서,
    상기 필터 관리자에 포함된 필터들의 사용회수를 나타내는 인덱스를 상기 필터들 각각에 할당하는 단계; 및
    상기 할당된 인덱스에 기초하여 상기 필터들을 정렬하는 단계
    를 더 포함하는 비디오 부호화 방법.
  10. 현재 영상에 해당하는 적응적 필터를 결정하는 단계;
    상기 결정된 적응적 필터 및 필터 관리자에 포함된 적어도 하나의 기존 적응적 필터를 비교하는 단계;
    상기 비교 결과를 기초로 상기 결정된 적응적 필터를 상기 필터 관리자에 추가할지 여부를 결정하는 단계;
    상기 필터 관리자에 포함된 적응적 필터를 이용하여 상기 현재 영상을 부호화하는 단계; 및
    이전 영상의 부호화 정보를 이용하여 현재 영상의 부호화 모드를 결정하는 단계
    를 포함하고,
    상기 이전 영상의 부호화 정보는,
    상기 현재 영상 부호화에 사용할 부호화 유닛의 최대 크기 변경, 상기 현재 영상 부호화에 사용할 부호화 유닛의 최소 크기 변경, 상기 현재 영상 부호화에 사용할 변환의 최대 크기 변경, 및 상기 현재 영상 부호화에 사용할 변환의 최소 크기 변경 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  11. 제 10항에 있어서,
    복수의 이전 영상의 부호화 모드의 사용회수를 이용하여, 상기 현재 영상의 부호화 모드를 결정하는 단계
    를 더 포함하는 비디오 부호화 방법
  12. 제 10항에 있어서,
    상기 현재 영상의 부호화 모드를 명령어 형태로 전달하거나, 픽쳐 또는 슬라이스 헤더에 삽입하여 전달하는 단계
    를 더 포함하는 비디오 부호화 방법.
  13. 현재 영상에 해당하는 적응적 필터를 결정하는 필터 결정부;
    상기 결정된 적응적 필터 및 필터 관리자에 포함된 적어도 하나의 기존 적응적 필터의 유사성을 비교하여 상기 결정된 적응적 필터를 상기 필터 관리자에 추가할지 여부를 결정하는 필터 관리자 제어부;
    상기 필터 관리자에 포함된 적응적 필터를 이용하여 상기 현재 영상을 부호화하는 적응적 필터; 및
    이전 영상의 필터 정보를 이용하여 상기 현재 영상의 부호화 크기에 해당하는 모드를 결정하는 모드 결정부
    를 포함하는 비디오 부호화 장치.
  14. 제 13항에 있어서,
    상기 필터 관리자 제어부는,
    상기 현재 영상에 해당하는 적응적 필터가 보간 필터인 경우, 상기 보간 필터를 보간 필터 관리자에 추가할지 여부를 결정하는 보간 필터 관리자 제어부; 및
    상기 현재 영상에 해당하는 적응적 필터가 루프 필터인 경우, 상기 루프 필터를 루프 필터 관리자에 추가할지 여부를 결정하는 루프 필터 관리자 제어부를 포함하고,
    상기 적응적 필터는,
    상기 현재 영상에 대해 적응적 보간 필터링을 수행하는 적응적 보간 필터; 및
    상기 현재 영상에 대해 적응적 루프 필터링을 수행하는 적응적 루프 필터
    를 포함하는 비디오 부호화 장치.
  15. 비디오 부호화된 비트스트림으로부터 필터 관리자 정보를 추출하는 단계;
    상기 필터 관리자 정보에 기초하여 현재 영상에 해당하는 적응적 필터를 필터 관리자에 추가하는 단계
    를 포함하고,
    상기 필터 관리자 정보는, 상기 현재 영상에 해당하는 적응적 필터의 종류, 및 상기 필터 관리자의 변경 정보를 포함하는 비디오 복호화 방법.
  16. 제 15항에 있어서,
    상기 필터 관리자의 변경 정보는, 새로운 적응적 필터가 상기 필터 관리자에 추가되는지를 알리는 정보, 상기 필터 관리자에 포함된 적응적 필터들 중 적어도 하나의 삭제를 알리는 정보, 또는 상기 필터 관리자에 포함된 적응적 필터의 인덱스 변경을 알리는 정보를 포함하고,
    상기 적응적 필터는, 적응적 보간 필터 및 적응적 루프 필터 중 적어도 하나를 포함하고,
    상기 필터 관리자는, 적응적 보간 필터 관리자 및 적응적 루프 필터관리자 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  17. 제 15항에 있어서,
    기존 적응적 필터 각각의 사용회수 또는 FIFO(First In First Out) 기법을 이용하여 상기 필터 관리자에서 기존 적응적 필터를 삭제하는 단계; 및
    상기 필터 관리자에 포함된 필터들을 이용하여 상기 현재 영상을 복호화하는 단계
    를 더 포함하고,
    상기 현재 영상에 해당하는 적응적 필터를 필터 관리자에 추가하는 단계는,
    상기 필터 관리자에서 삭제한 이후에 상기 현재 영상에 해당하는 적응적 필터를 상기 필터 관리자에 추가하는 것을 특징으로 하는 비디오 복호화 방법.
  18. 비디오 부호화된 비트스트림으로부터 현재 영상에 대한 모드 정보를 추출하는 단계; 및
    상기 모드 정보에 해당하는 복호화 크기로 상기 현재 영상을 복호화하는 단계
    를 포함하고,
    상기 모드 정보는, 부호화 유닛의 최대 크기 변경, 부호화 유닛의 최소 크기 변경, 최대 변환 크기 변경, 및 최소 변환 크기 변경 중 적어도 하나를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  19. 제 18항에 있어서,
    상기 현재 영상에 대한 모드 정보를 추출하는 단계는,
    상기 현재 영상에 대한 모드 정보를 명령어 형태로 전달 받거나, 혹은
    픽쳐 또는 슬라이스 헤더에 삽입된 현재 영상에 대한 모드 정보를 추출하는 것을 특징으로 하는 비디오 복호화 방법.
  20. 제 18항에 있어서,
    상기 모드 정보는, 상기 현재 영상에 대해 프레임 단위, GOP(Group Of picture), 슬라이스(Slice), 또는 매크로 블록(Macro Block) 단위로 결정 또는 변경된 복호화 크기를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
PCT/KR2010/009092 2009-12-18 2010-12-17 비디오 부호화/복호화 방법 및 장치 WO2011074924A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/516,911 US20120275513A1 (en) 2009-12-18 2010-12-17 Video encoding/decoding method and device

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20090126614 2009-12-18
KR10-2009-0126614 2009-12-18
KR10-2010-0010842 2010-02-05
KR20100010842 2010-02-05
KR10-2010-0129885 2010-12-17
KR1020100129885A KR20110070823A (ko) 2009-12-18 2010-12-17 비디오 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
WO2011074924A2 true WO2011074924A2 (ko) 2011-06-23
WO2011074924A3 WO2011074924A3 (ko) 2011-11-03

Family

ID=44167905

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/009092 WO2011074924A2 (ko) 2009-12-18 2010-12-17 비디오 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2011074924A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI513278B (zh) * 2011-11-28 2015-12-11 Qualcomm Inc 在視訊寫碼中用於可適性迴路濾波及樣本可適性偏移之基於最大寫碼單元或分段之語法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032861A (ko) * 1996-10-15 1998-07-25 모리시타요우이치 영상 및 음성 부호화 방법, 부호화 장치 및 부호화 프로그램 기록 매체
KR20080021268A (ko) * 2006-09-02 2008-03-07 세종대학교산학협력단 3차원 웨이블릿 기반 영상 부호화/복호화 방법 및 장치
KR20080092425A (ko) * 2006-01-10 2008-10-15 노키아 코포레이션 스케일링가능한 비디오 코딩을 위한 스위치드 필터업-샘플링 메커니즘
JP2009525639A (ja) * 2006-01-31 2009-07-09 トムソン ライセンシング エッジ・ベースの空間‐時間的フィルタリングの方法および装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032861A (ko) * 1996-10-15 1998-07-25 모리시타요우이치 영상 및 음성 부호화 방법, 부호화 장치 및 부호화 프로그램 기록 매체
KR20080092425A (ko) * 2006-01-10 2008-10-15 노키아 코포레이션 스케일링가능한 비디오 코딩을 위한 스위치드 필터업-샘플링 메커니즘
JP2009525639A (ja) * 2006-01-31 2009-07-09 トムソン ライセンシング エッジ・ベースの空間‐時間的フィルタリングの方法および装置
KR20080021268A (ko) * 2006-09-02 2008-03-07 세종대학교산학협력단 3차원 웨이블릿 기반 영상 부호화/복호화 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI513278B (zh) * 2011-11-28 2015-12-11 Qualcomm Inc 在視訊寫碼中用於可適性迴路濾波及樣本可適性偏移之基於最大寫碼單元或分段之語法
US9386305B2 (en) 2011-11-28 2016-07-05 Qualcomm Incorporated Largest coding unit (LCU) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding

Also Published As

Publication number Publication date
WO2011074924A3 (ko) 2011-11-03

Similar Documents

Publication Publication Date Title
WO2020071829A1 (ko) 히스토리 기반 영상 코딩 방법 및 그 장치
WO2017086765A2 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2016052977A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017039256A1 (ko) 비디오 신호 처리 방법 및 장치
WO2011010900A2 (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
WO2018190594A1 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2012148138A2 (ko) 인트라 예측 방법과 이를 이용한 부호화기 및 복호화기
WO2011090313A2 (ko) 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치
WO2015009036A1 (ko) 시간적 서브 레이어 정보에 기반한 인터 레이어 예측 방법 및 장치
WO2020091213A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2020017861A1 (ko) 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
WO2016114583A1 (ko) 비디오 신호 처리 방법 및 장치
WO2011021910A2 (ko) 인트라 예측 부호화/복호화 방법 및 장치
WO2015012600A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2018128222A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2015194913A1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2019240539A1 (ko) Cabac에 기반한 엔트로피 코딩 방법 및 그 장치
WO2017195917A1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2018190595A1 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2020180043A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020141856A1 (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
WO2020141833A1 (ko) 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 영상 부호화 장치 및 컴퓨터 판독 가능한 기록 매체
WO2020013497A1 (ko) 영상 코딩 시스템에서 인트라 예측 정보를 사용하는 영상 디코딩 방법 및 그 장치
WO2019225932A1 (ko) 영상 코딩 시스템에서 dmvr을 사용하는 영상 디코딩 방법 및 그 장치

Legal Events

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

Ref document number: 10837920

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13516911

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10837920

Country of ref document: EP

Kind code of ref document: A2