KR20100046289A - Video encoding/decoding apparatus, adaptive deblocking filter and deblocing filtering method, and recording medium therefor - Google Patents
Video encoding/decoding apparatus, adaptive deblocking filter and deblocing filtering method, and recording medium therefor Download PDFInfo
- Publication number
- KR20100046289A KR20100046289A KR1020080105062A KR20080105062A KR20100046289A KR 20100046289 A KR20100046289 A KR 20100046289A KR 1020080105062 A KR1020080105062 A KR 1020080105062A KR 20080105062 A KR20080105062 A KR 20080105062A KR 20100046289 A KR20100046289 A KR 20100046289A
- Authority
- KR
- South Korea
- Prior art keywords
- filtering
- pixel
- degrees
- boundary
- pixels
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 동영상 부호화/복호화 장치에 관한 것으로서, 특히 블록 기반의 이산 여현 변환과 양자화를 이용하여 부호화하는 장치에서 발생하는 블록킹 효과(blocking Artifact)를 효과적으로 제거하기 위한, 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체 디블록킹 필터 및 필터링 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a video encoding / decoding apparatus, and more particularly, to a video encoding / decoding apparatus for effectively removing a blocking artifact occurring in an apparatus for encoding using block-based discrete cosine transform and quantization. Apparatus and method for adaptive deblocking filtering and recording medium deblocking filter and filtering method.
일반적으로, 대부분의 상용 비디오 압축 방식 및 그 장치(H.263, H.264, MPEG-4, H.264/AVC)에서는, 영상의 공간 중복성을 줄이기 위해 블록 기반 이산 여현 변환(Discrete cosine transform: DCT)과 양자화(Quantization) 기술을 사용한다. 이 때, 서로 겹쳐지지 않는 블록 단위의 변환(Transform)은 주변 블록 또는 화소 간의 상관 관계가 전혀 고려되지 않은 채 독립적으로 이산 여현 변환과 양자화 과정이 수행되어 데이터 손실이 발생하고, 특히 양자화 값을 크게 갖는 저 비트율의 비디오에서는 블록 간의 경계 면에 화소 값의 구조화된 불연속성인 블록화 현상 뚜렷하게 나타나는데, 이를 블록킹 아티팩트(Blocking Artifact)라 한다. 블록킹 아티팩트는 비디오 화면의 화질을 크게 떨어뜨릴 뿐만 아니라, 블록 왜곡이 생긴 채로 프레임 메모리에 저장되고, 움직임 보상 과정에 블록 왜곡이 포함된 영상이 참조되어 화질열화가 그대로 전파되어 압축 성능을 크게 떨어뜨리는 문제점이 있다.In general, in most commercial video compression schemes and devices (H.263, H.264, MPEG-4, H.264 / AVC), block-based discrete cosine transforms are used to reduce spatial redundancy of images. DCT) and quantization techniques. In this case, the transforms of block units that do not overlap each other are independently subjected to discrete cosine transform and quantization without any correlation between neighboring blocks or pixels, thereby causing data loss, and in particular, greatly increasing the quantization value. In low bit-rate video, the blocking phenomenon, which is a structured discontinuity of pixel values, appears clearly at the interface between blocks, which is called blocking artifact. Blocking artifacts not only significantly reduce the picture quality of the video screen, but are also stored in the frame memory with block distortion, and the image with block distortion is referenced in the motion compensation process, so that image quality deterioration is propagated, which greatly reduces the compression performance. There is a problem.
이 때문에 부호화기에서 참조 프레임 메모리에 복호된 영상을 저장하기 전에 블록킹 아티팩트를 감소시키고, 또한 복화화기에서도 화질 개선을 위해서, 블록간의 경계 오차를 부드럽게 해주는 저 대역 필터를 사용하여 이러한 문제를 해결할 수 있었는데 이러한 기법을 디블로킹 필터라고 한다. For this reason, this problem can be solved by using a low-band filter that reduces the blocking artifacts before the decoder stores the decoded image in the reference frame memory and also improves the image quality in the decoder. The technique is called deblocking filter.
그러나 블록 경계 면에서 영상 내에 존재하는 에지나 화면 내 오브젝트의 경계가 존재할 경우, 여기에 디블록킹 필터를 적용하게 되면 원래 영상의 성분인 에지 부분이 훼손하는 경우가 발생하여 화질 열화의 원인이 된다.However, if there is an edge present in the image or an object boundary in the screen at the block boundary surface, applying the deblocking filter to this may cause the edge portion of the original image to be damaged, thereby causing deterioration of image quality.
그래서 H.264/AVC 비디오 코덱에서의 디블록킹 필터는 DCT와 양자화를 수행하는 블록 단위인 4x4 화소를 갖는 블록의 경계마다 적응적으로 필터링을 수행한다. 좀더 자세히 말하면, 블록의 경계면이 실제 영상의 에지나 오브젝트의 경계라고 판단되면 필터링을 취하지 않고, 경계면이 블로킹 아티팩트로 인한 왜곡이라고 판단되면 필터링을 취함으로써 상기 문제를 해결하였다.Therefore, the deblocking filter in the H.264 / AVC video codec adaptively performs filtering for each boundary of a block having 4x4 pixels, which is a block unit performing quantization with DCT. In more detail, if the boundary of the block is determined to be the edge of the real image or the boundary of the object, the filtering is not performed. If the boundary is determined to be distortion due to blocking artifacts, the problem is solved.
그러나 H.264/AVC의 디블록킹 필터는 수직과 수평 방향으로만 에지 존재 여부를 판단하기 때문에 대각선 방향으로 에지나 오브젝트의 경계가 위치하게 되면, 블록간의 경계 부분의 대각선 방향 화소에 대해서 불연속성이 발생하여 여전히 블 록킹 아티팩트가 생길 수 있는 문제점이 있다.However, since the H.264 / AVC deblocking filter determines the existence of an edge only in the vertical and horizontal directions, when a boundary of an edge or an object is placed in a diagonal direction, discontinuity occurs in diagonal pixels of the boundary between blocks. There is still a problem that blocking artifacts can occur.
전술한 문제점을 해결하기 위해 본 발명은, 블록간의 경계에서 수직과 수평 방향뿐만 아니라 그 외의 다수 방향에 대하여 에지 방향을 화소 단위로 판별하고, 그 방향으로 디블록킹 필터링을 수행함으로써 블록킹 아티팩트를 제거하여 화질을 향상시키도록 하는, 동영상 부호화/복호화 장치, 이를 위한 적응적 디블록킹 필터링 장치와 필터링 방법, 및 기록 매체를 제공하는 것을 목적으로 한다.In order to solve the above problems, the present invention, by determining the edge direction in the pixel unit in the vertical and horizontal direction as well as a number of other directions at the boundary between blocks, and remove the blocking artifacts by performing deblocking filtering in that direction An object of the present invention is to provide a video encoding / decoding apparatus, an adaptive deblocking filtering apparatus and a filtering method, and a recording medium for improving image quality.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 일 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정부; 상기 경계를 기준으로 기 설정된 복수의 방향 중 하나씩 순차적으로 선택하는 방향 선택부; 상기 선택된 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택부; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 선택된 방향에 대한 필터링 여부를 결정하는 필터링 결정부; 상기 결정된 필터링 여부에 따라 상기 선택된 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링부를 포함하는 적응적 디블록킹 필터링 장치가 제공된다.According to an aspect of an embodiment of the present invention to achieve the above object, a boundary strength determination unit for determining the strength of the boundary between the sub-blocks of the current block; A direction selector which sequentially selects one of a plurality of preset directions based on the boundary; A pixel selector which selects pixels to filter based on the selected direction; A filtering determiner configured to determine whether to filter the selected direction according to a relationship between pixel values between the selected pixels; An adaptive deblocking filtering device including a filtering unit which performs filtering on the selected pixels in the selected direction according to the determined filtering is provided.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 단계; 상기 경계를 기준으로 기 설정된 복수의 방향 중 하나씩 순차적으로 선택하는 방향 선택 단 계; 상기 선택된 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 단계; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 선택된 방향에 대한 필터링 여부를 결정하는 필터링 결정 단계; 상기 결정된 필터링 여부에 따라 상기 선택된 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 단계를 포함하는 적응적 디블록킹 필터링 방법이 제공된다.According to another aspect of an embodiment of the present invention to achieve the above object, a boundary strength determination step of determining the strength of the boundary between sub-blocks of the current block; A direction selection step of sequentially selecting one of a plurality of preset directions based on the boundary; Selecting a pixel to filter based on the selected direction; A filtering determination step of determining whether to filter in the selected direction according to the relationship of pixel values between the selected pixels; An adaptive deblocking filtering method including a filtering step of performing filtering on the selected pixels in the selected direction according to the determined filtering is provided.
상기 필터링 결정부 또는 상기 필터링 결정 단계는, 상기 선택된 화소들간의 화소값의 관계가, 상기 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 상기 선택된 방향을 필터링 방향으로 결정할 수 있다.In the filtering determining unit or the filtering determining step, the relationship between the pixel values between the selected pixels is an absolute value of the pixel value difference between the first pixels facing the boundary, and the two sides on the basis of the boundary are determined. If the absolute value of the pixel value difference between the first pixel and the first pixel, and the absolute value of the pixel value difference between the second pixel and the first pixel on the other side based on the boundary, respectively satisfy the condition less than the preset thresholds, The selected direction may be determined as the filtering direction.
상기 필터링부 또는 상기 필터링 단계는, 상기 결정된 필터링 방향이 다수일 경우, 다수의 필터링 방향 중 하나 이상 선택하여 필터링을 수행할 수 있다.The filtering unit or the filtering step may perform filtering by selecting one or more of the plurality of filtering directions when the determined filtering directions are multiple.
상기 기 설정된 복수의 방향은, 일 예로 45도, 90도, 및 135도를 포함하거나, 다른 예로 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도를 포함할 수 있다.The preset plurality of directions may include, for example, 45 degrees, 90 degrees, and 135 degrees, or in another example, 45 degrees, 56.25 degrees, 67.5 degrees, 78.75 degrees, 90 degrees, 101.25 degrees, 112.5 degrees, 123.75 degrees, and 135 degrees. May comprise a diagram.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 상기 잔차 블록을 주파수 영역으로 변환하는 변환부; 상기 변환된 잔차 블록을 양자화하는 양자화부; 상 기 양자화된 잔차 블록을 부호화하는 부호화부; 상기 잔차 블록을 역 양자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 시간축상의 화소 신호를 갖는 잔차 블록으로 역변환하는 역변환부; 상기 역변환된 잔차 블록에 상기 예측 블록을 가산하여 현재 블록을 복원하는 가산부; 및 상기 복원된 현재 블록을 디블로킹 필터링하되, 상기 복원된 현재 블록의 경계를 기준으로 기 설정된 복수의 방향별로 필터링할 화소들을 선택하고, 그 선택된 화소들간의 화소값의 관계에 따라 해당 방향에 대한 필터링 여부를 결정하고, 그 결정된 필터링 여부에 따라 상기 해당 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 부호화 장치가 제공된다.According to another aspect of an embodiment of the present invention to achieve the above object, a prediction unit for predicting the current block of the image to generate a prediction block; A subtraction unit for generating a residual block by subtracting the prediction block from the current block; A transformer for converting the residual block into a frequency domain; A quantizer for quantizing the transformed residual block; An encoder which encodes the quantized residual block; An inverse quantizer for inversely quantizing the residual block; An inverse transform unit for inversely transforming the inverse quantized residual block into a residual block having a pixel signal on a time axis; An adder configured to add the prediction block to the inverse transformed residual block to restore a current block; And deblocking and filtering the reconstructed current block, selecting pixels to be filtered in a plurality of preset directions based on the boundary of the reconstructed current block, and reconstructing the corresponding block according to the relationship of pixel values between the selected pixels. A video encoding apparatus including a deblocking filter unit configured to determine whether to filter and to perform filtering on the selected pixels in the corresponding direction according to the determined filtering.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 비트스트림을 복호화하여 잔차 블록을 추출하는 복호화부; 상기 잔차 블록을 역 양자화하는 역양자화부; 상기 역 양자화된 잔차 블록을 역 변환하는 역변환부; 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 상기 역 변환된 잔차 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산부; 및 상기 가산부 의해 복원된 상기 현재 블록을 디블로킹 필터링하되, 상기 현재 블록의 경계를 기준으로 기 설정된 복수의 방향별로 필터링할 화소들을 선택하고, 그 선택된 화소들간의 화소값의 관계에 따라 해당 방향에 대한 필터링 여부를 결정하고, 그 결정된 필터링 여부에 따라 상기 해당 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 디블로킹 필터부를 포함하는 동영상 복호화 장치가 제공된다.According to another aspect of an embodiment of the present invention to achieve the above object, a decoding unit for decoding the bitstream to extract the residual block; An inverse quantizer for inversely quantizing the residual block; An inverse transform unit for inversely transforming the inverse quantized residual block; A prediction unit for predicting a current block to generate a prediction block; An adder configured to add the inverse transformed residual block and the prediction block to restore the current block; And deblocking and filtering the current block restored by the adder, selecting pixels to be filtered according to a plurality of preset directions based on the boundary of the current block, and selecting corresponding pixels according to the relationship between pixel values among the selected pixels. A video decoding apparatus including a deblocking filter unit configured to determine whether to filter for and to filter the selected pixels in the corresponding direction according to the determined filtering.
상기 동영상 부호화/복호화 장치의 상기 디블로킹 필터부는, 상기 선택된 화 소들간의 화소값의 관계가, 상기 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 상기 해당 방향을 필터링 방향으로 결정할 수 있다.The deblocking filter unit of the video encoding / decoding apparatus may have a relationship between pixel values between the selected pixels, an absolute value of pixel value differences between first pixels facing the boundary, and one side based on the boundary. The absolute value of the pixel value difference between the second pixel and the first pixel of, and the absolute value of the pixel value difference between the second pixel and the first pixel on the other side with respect to the boundary satisfy each of the preset thresholds. In this case, the corresponding direction may be determined as the filtering direction.
전술한 목적을 달성하기 위하여 본 발명의 실시예의 또 다른 측면에 따르면, 현재 블록의 서브 블록간의 경계의 세기를 결정하는 경계 세기 결정 기능; 상기 경계를 기준으로 기 설정된 복수의 방향 중 하나씩 순차적으로 선택하는 방향 선택 기능; 상기 선택된 방향에 근거하여 필터링할 화소들을 선택하는 화소 선택 기능; 상기 선택된 화소들간의 화소값의 관계에 따라 상기 선택된 방향에 대한 필터링 여부를 결정하는 필터링 결정 기능; 상기 결정된 필터링 여부에 따라 상기 선택된 방향의 상기 선택된 화소들에 대해 필터링을 수행하는 필터링 기능을 포함하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.According to another aspect of an embodiment of the present invention to achieve the above object, a boundary strength determination function for determining the strength of the boundary between sub-blocks of the current block; A direction selection function for sequentially selecting one of a plurality of preset directions based on the boundary; A pixel selection function for selecting pixels to be filtered based on the selected direction; A filtering determination function for determining whether to filter in the selected direction according to a relationship of pixel values between the selected pixels; A computer readable recording medium having recorded thereon a program including a filtering function for performing filtering on the selected pixels in the selected direction according to the determined filtering is provided.
상기 필터링 결정 기능은 상기 선택된 화소들간의 화소값의 관계가, 상기 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 상기 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 상기 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 상기 선택된 방향을 필터링 방향으로 결정할 수 있다.The filtering determination function may include a relationship between pixel values between the selected pixels, an absolute value of pixel value differences between first pixels facing the boundary, and a second pixel and a first pixel on one side based on the boundary. If the absolute value of the pixel value difference between the absolute value and the absolute value of the pixel value difference between the second pixel and the first pixel on the basis of the boundary are respectively smaller than the preset thresholds, the selected direction is filtered. Can be determined.
본 발명의 실시예에 의하면, 수직 수평 방향 뿐만 아니라 그 밖의 다수의 방향에 대해서도 화소 단위로 디블록킹 필터를 적용하여, 다수의 사선 방향에 대한 에지로 인하여 생기는 사선 방향의 불연속 성에 의한 블록 왜곡 현상을 효과적으로 제거하는 효과가 발생한다.According to an exemplary embodiment of the present invention, the block blocking phenomenon due to the discontinuity in the diagonal direction caused by the edges of the plurality of diagonal directions is applied by applying the deblocking filter in units of pixels not only in the vertical horizontal direction but also in many other directions. Effective removal occurs.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected to or connected to that other component, but there may be another configuration between each component. It is to be understood that the elements may be "connected", "coupled" or "connected".
동영상 화면은 1초 동안에 30장의 프레임으로 구성되므로 한 프레임과 이웃한 프레임 사이에는 그 차이가 작기 때문에, 인간의 눈으로 구분하지 못한다. 이 때문에, 1초 동안에 30장의 프레임을 뿌리면 인간의 눈은 프레임이 연속적인 것으 로 인식한다. Since the video screen is composed of 30 frames in one second, the difference is small between one frame and neighboring frames, and thus cannot be distinguished by the human eye. Because of this, if 30 frames are sprayed in one second, the human eye perceives the frames as continuous.
이와 같이, 이전 프레임과 현재 프레임이 비슷하다면, 이전 프레임을 구성하고 있는 이미 알고 있는 화소값으로부터 다음 프레임의 화소값을 예측할 수 있다. 이를 화면간 예측(inter-prediction)이라 한다. As such, when the previous frame is similar to the current frame, the pixel value of the next frame can be predicted from the known pixel values constituting the previous frame. This is called inter-prediction.
이러한 동영상 데이터의 부호화 및 복호화는 움직임 예측(motion prediction) 기술을 기반으로 이루어진다. 움직임 예측은 시간 축을 기준으로 과거 프레임을 참조하거나 과거 프레임과 미래 프레임을 모두 참조하는 방식으로 수행된다. 현재 프레임을 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임이라고 한다. 그리고, 블록 기반 동영상 부호화에서 동영상을 구성하는 하나의 정지영상(프레임)은 매크로블록과 매크로블록을 구성하는 서브블록으로 나누어져, 블록단위로 움직임이 예측되고 부호화가 수행된다.The encoding and decoding of such video data is performed based on a motion prediction technique. The motion prediction is performed by referring to past frames or referring to both past and future frames based on the time axis. The frame referred to to encode or decode the current frame is called a reference frame. In block-based video encoding, one still image (frame) constituting a video is divided into macroblocks and subblocks constituting the macroblock, and motion is predicted in units of blocks and encoding is performed.
또한 동일한 프레임 내에서 화소신호의 상관관계를 사용해 다음 화소를 예측하고 그 예측오차를 부호화할 수도 있다. 이를 화면 내 예측(intra-prediction)이라 한다.In addition, the correlation of the pixel signal may be used to predict the next pixel and to encode the prediction error in the same frame. This is called intra-prediction.
도 1은 본 발명의 일 실시예에 따른 동영상 부호화 장치의 블록 구성도이다.1 is a block diagram of a video encoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 동영상 부호화 장치(100)는 예측부(110), 감산부(120), 변환부(130), 양자화부(140), 부호화부(150), 역 양자화부(160), 역 변환부(170), 가산부(180) 및 디블로킹 필터부(190)를 포함하여 구성될 수 있다.The
이러한 동영상 부호화 장치(100)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티 미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The
예측부(110)는 위에서 설명한 바와 같이 움직임 예측을 기반으로 하는 화면간 예측이나 동일한 프레임 내에서 화소신호의 상관관계를 사용해 다음 화소를 예측하는 화면 내 예측 중 어느 하나 또는 둘의 조합을 이용하여 현재 블록(또는 매크로블록)을 예측할 수 있다.As described above, the
예를 들어, 예측부(110)는 움직임 추정부(미도시)와 움직임 보상부(미도시)로 나누어 구성될 수 있다. 움직임 추정부는 현재 프레임의 매크로 블록의 움직임 예측치를 참조 프레임에서 찾아 그 움직임의 차이를 움직임 벡터로써 출력한다. 즉, 찾고자 하는 매크로 블록을 참조 프레임의 소정의 탐색영역 내에서 탐색하여, 가장 유사한 매크로 블록을 찾아 그 이동 정도를 움직임 벡터로써 출력한다. 움직임 보상부는 구해진 움직임 벡터에 해당하는 예측 매크로 블록을 참조 프레임으로부터 얻는다.For example, the
또 다른 예로, 예측부(110)는 현재 프레임의 현재 매크로 블록을 영상 내에서 현재 매크로 블록의 주변 매크로 블록을 이용하여 예측하는 인트라 예측부로, 하나 이상의 주변 매크로 블록의 하나 이상의 화소값(Pixel Value)을 이용하여 현 재 매크로 블록의 각 화소의 예측 화소값(Predicted Pixel Value)을 계산함으로써 예측 매크로 블록을 예측한다. 여기서, 주변 매크로 블록은 현재 매크로 블록 이전에 압축되고 현재 매크로 블록의 주변에 위치한 하나 이상의 주변 매크로 블록일 수 있다.As another example, the
감산부(120)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(120)는 현재 블록의 각 화소의 원 화소값(Original Pixel Value)과 예측 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차 신호(Residual Signal)를 갖는 잔차 블록을 생성한다.The
변환부(130)는 잔차 블록을 주파수 영역으로 변환(Transform)한다. 즉, 변환부(130)는 잔차 블록을 주파수 영역(Frequency Domain)으로 변환하여 주파수 계수(Frequency Coefficient)를 갖는 잔차 블록을 생성한다. 여기서, 변환부(130)는 잔차 블록을 변환하는 데 있어서, 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반 변환(Discrete Cosine Transform Based Transform) 등과 같은 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다.The
양자화부(140)는 변환부(130)에서 변환된 잔차 블록을 양자화(Quantization)한다. 즉, 양자화부(140)는 잔차 블록의 주파수 계수를 양자화하여 양자화 주파수 계수를 생성한다. 여기서, 양자화부(140)는 잔차 블록의 주파수 계수를 양자화하는 데 있어서, 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix)를 이용하거나 그를 계량한 양자화 방법 등을 이용할 수 있다.The
부호화부(150)는 양자화부(140)에 의해 양자화된 잔차 블록의 주파수 계수들을 부호화하여 비트스트림을 생성한다. 또한, 부호화부(150)는 예측부(110)로부터 움직임 벡터 및 회전 정보가 전달되면, 잔차 블록의 양자화된 주파수 계수와 함께 부호화하여 비트스트림을 출력할 수 있다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다.The
역양자화부(160)는 양자화부(130)에 의해 양자화된 잔차 블록을 역 양자화(Inverse Quantization)한다. 즉, 역 양자화부(160)는 양자화된 잔차 블록의 양자화 주파수 계수를 역 양자화하여 주파수 계수를 생성한다.The
역변환부(170)는 역 양자화부(160)에 의해 역 양자화된 잔차 블록을 역 변환(Inverse Transform)한다. 즉, 역변환부(170)는 역 양자화된 잔차 블록의 주파수 계수를 역 변환하여 시간축상의 화소 신호를 갖는 잔차 블록을 복원한다.The
가산부(180)는 역 변환부(170)에 의해 역 변환된 잔차 블록에 예측부(110)에서 예측한 예측 블록을 가산하여 현재 블록을 복원한다.The
디블로킹 필터부(190)는 가산부(180)에 의해 복원된 현재 블록을 디블로킹 필터링(Deblcking Filtering)한다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터 를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다. 이와 같이, 가산부(180)에 의해 복원되고 디블로킹 필터부(190)에 의해 디블로킹 필터링된 현재 블록은 예측부(110)에 입력되어 다음 픽처를 예측할 때 사용되는 참조 픽처로서 저장될 수 있다. The
본 발명의 실시예에 따른 디블록킹 필터부(190)는 현재 블록을 디블로킹 필터링하되, 특히 현재 블록의 경계를 기준으로 기 설정된 복수의 방향별로 필터링할 화소들을 선택하고, 그 선택된 화소들간의 화소값의 관계에 따라 해당 방향에 대한 필터링 여부를 결정하고, 그 결정된 필터링 여부에 따라 해당 방향의 선택된 화소들에 대해 필터링을 수행한다. 또한, 디블로킹 필터부(190)는 각 방향에 따라 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 그 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 그 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 해당 방향을 필터링 방향으로 결정한다. 이와 같은 디블록킹 필터부(190)에 대해 도 2를 참조하여 더욱 상세히 설명한다.The
도 2는 본 발명의 일 실시예에 따른 적응적 디블록킹 필터링 장치의 블록도로서, 도 1의 디블록킹 필터부(190)에 대응하므로 동일 부호를 부가하여 설명한다.FIG. 2 is a block diagram of an adaptive deblocking filtering apparatus according to an embodiment of the present invention, and corresponds to the
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 적응적 디블록킹 필터링 장치(190)는 경계 세기 결정부(191), 방향 선택부(193), 화소 선택부(195), 필터링 결정부(197), 및 필터링부(199)를 포함한다.As shown in FIG. 2, the adaptive
경계 세기 결정부(191)는 현재 블록의 서브 블록간의 경계의 세기를 결정하는 것으로서, 현재 위치의 블록 경계에서 화소들이 속하는 블록의 특성에 따라 경계 세기(Boundary Strength: BS)를 결정한다. BS는 0과 4사이의 값을 갖고 결정하는 방법은 예를 들어 H.264/AVC 표준화 문서에 명시되어 있다. 즉, 경계 세기 결정부(191)는 각 블록의 경계면의 BS 값을 결정하고 각각의 BS 값에 따라서 어느 정도의 강도로 필터링을 적용할 것인지를 결정한다. BS는 현재 필터링 하고자 하는 경계가 속해 있는 블록이 화면내 예측(Intra Prediction) 부호화 사용 여부에 따라서, 또는 화면간 예측(Inter Prediction) 부호화를 사용할 경우 움직임 보상을 위한 참조 블록의 거리 차에 따라서 0과 4사이의 값으로 결정된다.The boundary strength determiner 191 determines the strength of the boundary between sub-blocks of the current block and determines the boundary strength (BS) according to the characteristics of the block to which pixels belong to the block boundary of the current position. The BS has a value between 0 and 4 and the method of determining is specified in the H.264 / AVC standardization document, for example. That is, the boundary strength determiner 191 determines the BS value of the boundary surface of each block and determines how much strength to apply filtering according to each BS value. The BS determines whether 0 and 0 depend on the distance between the reference block for motion compensation when the block to which the boundary to be filtered currently belongs uses intra prediction encoding or when using inter prediction encoding. It is determined by a value between four.
방향 선택부(193)는 블록 경계를 기준으로 기 설정된 복수의 방향 중 하나씩 순차적으로 선택한다. 즉, 방향 선택부(193)는, 일 예로 도 3에 도시된 바와 같이 블록 경계면에 대하여 45도, 90도, 및 135도의 3가지 방향으로 필터링할 방향을 기 설정하고 이 3가지의 방향 중 하나씩 순차적으로 선택하거나, 다른 예로 도 5에 도시된 바와 같이 수평 또는 수직 경계면에 대하여 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도의 9가지 방향으로 필터링할 방향을 기 설정하고 이 9가지의 방향 중 하나씩 순차적으로 선택할 수 있다. The direction selector 193 sequentially selects one of a plurality of preset directions based on the block boundary. That is, the direction selector 193 presets a direction to filter in three directions of 45 degrees, 90 degrees, and 135 degrees with respect to the block boundary surface as shown in FIG. 3, for example, one of the three directions. Selected sequentially, or as another example, in nine directions: 45 degrees, 56.25 degrees, 67.5 degrees, 78.75 degrees, 90 degrees, 101.25 degrees, 112.5 degrees, 123.75 degrees, and 135 degrees with respect to the horizontal or vertical boundary as shown in FIG. The direction to filter can be preset and one of these nine directions can be selected sequentially.
화소 선택부(195)는 방향 선택부(193)에 의해 선택된 방향에 근거하여 필터링할 화소들을 선택한다. 즉, 화소 선택부(195)는, 일 예로 방향 선택부(193)에 의해 도 3과 같이 45도, 90도, 및 135도의 3가지 방향 중 선택된 1가지의 방향에 대해 도 4에 도시된 바와 같이 필터링할 화소들을 선택하거나, 다른 예로 방향 선택 부(193)에 의해 도 5과 같이 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도의 9가지 방향 중 선택된 1가지의 방향에 대해 도 6내지 도 14에 도시된 바와 같이 필터링할 화소들을 선택한다.The pixel selector 195 selects pixels to filter based on the direction selected by the direction selector 193. That is, the pixel selector 195 is, for example, as shown in FIG. 4 with respect to one direction selected from three directions of 45 degrees, 90 degrees, and 135 degrees by the direction selector 193 as shown in FIG. 3. Likewise, the pixels to be filtered are selected, or as another example, the nine directions of 45 degrees, 56.25 degrees, 67.5 degrees, 78.75 degrees, 90 degrees, 101.25 degrees, 112.5 degrees, 123.75 degrees, and 135 degrees as shown in FIG. The pixels to be filtered are selected as shown in Figs. 6 to 14 for one of the selected directions.
필터링 결정부(197)는 화소 선택부(195)에 의해 선택된 화소들간의 화소값의 관계에 따라 방향 선택부(193)에 의해 선택된 해당 방향에 대한 필터링 여부를 결정한다. 즉, 필터링 결정부(197)는 화소 선택부(195)에 의해 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 방향 선택부(193)에 의해 선택된 해당 방향을 필터링 방향으로 결정한다. 이와 같은 필터링 결정부(197)에서의 필터링 여부 결정 과정에 대한 구체적인 예시는 후술하도록 한다.The filtering determiner 197 determines whether to filter the corresponding direction selected by the direction selector 193 according to the relationship between the pixel values between the pixels selected by the pixel selector 195. In other words, the filtering determiner 197 determines that the relationship between the pixel values between the pixels selected by the pixel selector 195 is the absolute value of the pixel value difference between the first pixels facing the boundary, based on the boundary. The absolute value of the pixel value difference between the second pixel and the first pixel on one side, and the absolute value of the pixel value difference between the second pixel and the first pixel on the other side based on the corresponding boundary are smaller than the preset thresholds, respectively. If the condition is satisfied, the direction selected by the direction selector 193 is determined as the filtering direction. A detailed example of the filtering determination process in the filtering determination unit 197 will be described later.
필터링부(199)는 필터링 결정부(197)에 의해 결정된 필터링 여부에 따라 해당 방향의 해당 화소들에 대해 디블록킹 필터링을 수행하되, 필터링 결정부(197)에 의해 결정된 필터링 방향이 다수일 경우, 다수의 필터링 방향 중 하나 이상 선택하여 필터링을 수행할 수 있다.The filtering unit 199 performs deblocking filtering on the pixels in the corresponding direction according to the filtering determined by the filtering determining unit 197, but when the filtering direction determined by the filtering determining unit 197 is multiple, One or more filtering directions may be selected to perform filtering.
도 15는 본 발명의 일 실시예에 따른 적응적 디블록킹 필터링 방법의 흐름도로서, 도 2의 장치에 적용되므로 그 장치의 동작과 함께 설명한다.FIG. 15 is a flowchart of an adaptive deblocking filtering method according to an embodiment of the present invention, which is applied to the apparatus of FIG. 2 and described with the operation of the apparatus.
본 발명의 일 실시예의 설명을 위하여, 우선 H.264(“Advanced video coding for generic audiovisual services”, Draft, ITU-T Recommendation H.264, Mar, 2005, p.182~p.194)의 디블록킹 필터링 방법에 대해 간단히 설명한다.In order to explain an embodiment of the present invention, first, deblocking of H.264 (“Advanced video coding for generic audiovisual services”, Draft, ITU-T Recommendation H.264, Mar, 2005, p. 182 to p.194) Briefly explain the filtering method.
H.264의 디블록킹 필터링 방법은, 잔여 신호의 이산 여현 변환(DCT)과 양자화(Quantization) 단위인 4x4 블록의 경계 면을 기준으로 하여 도 16과 같이 수직방향으로 필터링을 취하고, 그 다음 도 17과 같이 수평 방향으로 필터링을 취한다.In the deblocking filtering method of H.264, filtering is performed in the vertical direction as shown in FIG. 16 based on the boundary surface of the discrete cosine transform (DCT) and the quantization unit of the 4x4 block of the residual signal. Filter in the horizontal direction as follows.
먼저 디블록킹 필터를 적용하기에 앞서 도 18과 같이 p0 ~ p3으로 구성된 블록과 q0 ~ q3으로 구성된 블록이 있을 때, 각 블록의 경계면에 대해 블록 경계 세기(Boundary Strength: BS) 값을 결정하고 각각의 블록 경계 세기 값에 따라서 어느 정도의 강도로 필터링을 적용할 것인지를 결정한다. 필터링 세기는 현재 필터링 하고자 하는 경계가 속해 있는 블록이 화면내 예측(Intra Prediction) 부호화 사용 여부에 따라서, 혹은 화면간 예측(Inter Prediction) 부호화를 사용할 경우 움직임 보상을 위한 참조 블록의 거리 차에 따라서 0과 4사이의 값으로 결정된다.First, before applying the deblocking filter, when there are blocks composed of p0 to p3 and blocks composed of q0 to q3 as shown in FIG. 18, a block boundary strength (BS) value is determined for the boundary of each block. The strength of the filter boundary is determined based on the block boundary strength value of the filter. The filtering strength is 0 depending on whether the block to which the boundary to be filtered currently belongs uses intra prediction encoding or when distance between the reference blocks for motion compensation is used when inter prediction encoding is used. It is determined by a value between and 4.
블록 경계 세기 값이 결정되면 각 블록의 경계 면의 화소들이 블록킹 아티팩트에 의해 왜곡된 경계 면인지, 실제 영상에 존재하는 에지인지 판별하여 필터링을 수행해야 할지를 결정하게 된다. H.264에서는 다음과 같은 [식 1]을 만족시키지 못할 경우에는 실제 영상에 존재하는 에지라고 판별하여 필터링을 수행하지 않고, 조건식을 만족하는 경우에는 블로킹 아티팩트에 의해 왜곡된 경계 면이라고 판단하여 디블록킹 필터를 수행하게 된다.If the block boundary strength value is determined, it is determined whether the filtering should be performed by determining whether the pixels of the boundary surface of each block are the boundary surface distorted by the blocking artifact or the edge present in the actual image. In case H.264 does not satisfy the following [Equation 1], it is determined that the edge exists in the real image and filtering is not performed. If the condition is satisfied, H.264 judges that the boundary is distorted by blocking artifacts. Blocking filter will be performed.
[식 1][Equation 1]
① ①
② ; ; ② ; ;
여기서 , 는 양자화 파라미터(Quantization Parameter)에 따라 적응적으로 그 값이 결정되는 값으로써, 현재 경계 면이 블록킹 아티팩트로 발생한 화소 값의 차이인지, 실제 에지에 의한 것인지를 판별할 수 있는 문턱치(Threshold) 값을 의미한다. 양자화 정도가 큰 경우에는 블록킹 아티팩트의 정도가 더욱 크게 발생하므로 문턱치의 값이 크게 설정되는 구조로 되어 있다.here , Is a value that is adaptively determined according to a quantization parameter, and is a threshold value for determining whether a current boundary is a difference between pixel values caused by blocking artifacts or an actual edge. it means. If the degree of quantization is large, the degree of blocking artifacts is greater, and thus the threshold value is set large.
필터링의 수행 여부가 결정되면 상기의 블록 경계 강도 값에 따라서 저 대역 필터링을 사용하여 경계면 양단의 화소에 대하여 부드럽게 만들어준다. 필터링에 대한 연산 방법은 예를 들어 H.264(“Advanced video coding for generic audiovisual services”, Draft, ITU-T Recommendation H.264, Mar, 2005, p.182~p.194)에 명시된 방법을 사용할 수 있다.When it is determined whether filtering is performed or not, the low band filtering is used according to the block boundary strength value to smooth the pixels on both sides of the boundary surface. The calculation method for filtering can be used, for example, using the method specified in H.264 (“Advanced video coding for generic audiovisual services”, Draft, ITU-T Recommendation H.264, Mar, 2005, p. 182 to p.194). Can be.
상술한 바와 같이, H.264의 디블록킹 필터는 블록의 부호화 속성에 따라 필터 강도를 결정하고, 블록 경계 면에 [식 1]을 이용해 에지 존재 여부를 판별하여 에지 성분은 최대한 보존하면서 각 경계 면에 대하여 적응적으로 디블록킹 필터링을 수행함으로써, 블록킹 아티팩트를 줄여준다. 하지만, 이와 같이 수평과 수직 방향으로만 디블록킹 필터링을 수행할 경우 대각선 방향의 불연속에 의해 발생하는 블록킹 아티팩트에 의한 왜곡은 보정할 수가 없다.As described above, the deblocking filter of H.264 determines the filter strength according to the encoding property of the block, and determines whether or not the edge exists by using [Equation 1] on the block boundary surface, while preserving the edge components as much as possible, each boundary surface By adaptively performing deblocking filtering on, we reduce blocking artifacts. However, when the deblocking filtering is performed only in the horizontal and vertical directions as described above, the distortion due to blocking artifacts caused by the discontinuity in the diagonal direction cannot be corrected.
좀 더 자세히 살펴보면, 기존의 수평과 수직 방향으로만 디블록킹 필터를 수행하게 되면, 도 19의 (a)와 같이 블록 경계 면에 대각선 방향의 에지 성분이 존재 할 경우에는 p0 ~ p3 화소와 q0 ~ q3 화소로 구성되는 경계 면에 대하여 [식 1]을 적용했을 때, 조건을 만족하지 못하여 에지라고 판별하고 디블록킹 필터링을 수행하지 않게 된다. 그러나, 만약 A 블록과 B 블록의 블록 경계 강도 값이 1 이상이라면 p0과 dq0이 같은 값을 갖는 화소임에도 불구하고 블록킹 아티팩트로 인하여 화소 값의 불연속이 사선 방향으로 발생하는 것을 관찰할 수 있다. 그러므로 사선 방향으로 발생하는 화소 간의 불연속으로 인한 블록킹 아티팩트를 해결하기 위해서는, 수직과 수평 방향뿐만 아니라 사선 방향으로 디블록킹 필터링을 적응적으로 수행해야 할 것이다. 좀 더 구체적으로는 도 19의 (b)와 같이 대각선 방향으로 경계 면에 저 대역 필터링을 취한다면 p0과 q0의 화소 값이 비슷하게 변하면서 부드러워져 블록 경계 면의 화소 값 불연속에 의한 왜곡을 해소할 수 있을 것이다.In more detail, when the deblocking filter is performed only in the existing horizontal and vertical directions, as shown in FIG. 19 (a), when there are diagonal edge components on the block boundary surface, p0 to p3 pixels and q0 to When [Equation 1] is applied to the boundary surface composed of q3 pixels, the condition is not satisfied and the edge is not determined and the deblocking filtering is not performed. However, if the block boundary strength values of the A blocks and the B blocks are equal to or greater than 1, it can be observed that discontinuities of pixel values occur due to blocking artifacts even though p0 and dq0 have the same value. Therefore, in order to solve the blocking artifacts caused by the discontinuity between the pixels occurring in the diagonal direction, it is necessary to adaptively perform the deblocking filtering in the diagonal direction as well as the vertical and horizontal directions. More specifically, if low-band filtering is performed on the boundary surface in the diagonal direction as shown in (b) of FIG. 19, the pixel values of p0 and q0 are changed and smoothed to solve the distortion caused by the discontinuity of pixel values at the block boundary surface. Could be.
따라서, 본 발명의 실시예는 수직과 수평 방향뿐만 아니라 그 밖의 방향에 대해서도 디블록킹 필터를 수행할 수 있도록 한다.Accordingly, embodiments of the present invention allow the deblocking filter to be performed not only in the vertical and horizontal directions but also in other directions.
본 발명의 실시예 1에서는 각 경계 면의 화소 마다 각각 세가지 방향에 대해서 실제 에지에 의한 경계 면인지 블록킹 아티팩트에 의한 경계 면인지를 검사하고, 블록킹 아티팩트라고 생각되는 모든 방향에 대해서 필터링을 수행한다.In Embodiment 1 of the present invention, each pixel of each boundary plane is inspected for three directions, respectively, whether the boundary plane is the boundary plane due to the actual edge or the blocking artifact, and the filtering is performed for all the directions considered to be blocking artifacts.
실시예 1Example 1
도 16 및 도 17의 수직 및 수평 방향의 모든 경계 면에 존재하는 화소에 대하여 아래의 단계 1 내지 단계 5를 수행한다.Steps 1 to 5 below are performed on the pixels existing on all boundary surfaces in the vertical and horizontal directions of FIGS. 16 and 17.
단계 1: 경계 세기 결정 단계(S1510)에서 경계 세기 결정부(191)는 4x4 블록의 경계에 대하여 블록 경계 세기(BS)를 결정한다. BS가 0일 경우 디블록킹 필터링 를 취하지 않고, BS가 1~4일 때는 조건식을 검사하여 디블록킹 필터링을 수행해야 할지를 결정한다.Step 1: Determining boundary strength In step S1510, the boundary strength determining unit 191 determines a block boundary strength BS with respect to a boundary of a 4 × 4 block. If the BS is 0, the deblocking filtering is not performed. If the BS is 1 to 4, the BS determines whether the deblocking filtering should be performed by checking the conditional expression.
단계 2: 방향 선택 단계(S1530)에서 방향 선택부(193)는 도 3에 도시된 바와 같이 경계 면의 모든 화소에 대해서 45도, 90도 및 135도의 3가지 방향 중 하나씩 차례로 선택한다.Step 2: In the direction selecting step S1530, the direction selecting unit 193 sequentially selects one of three directions of 45 degrees, 90 degrees, and 135 degrees for all the pixels on the boundary surface as shown in FIG. 3.
단계 3: 화소 선택 단계(S1550)에서 화소 선택부(195)는 도 4에 도시된 바와 같이 방향 선택부(193)에 의해 선택된 방향에 따라 필터링할 화소들을 선택한다.Step 3: In the pixel selection step S1550, the pixel selector 195 selects pixels to be filtered according to the direction selected by the direction selector 193 as shown in FIG. 4.
단계 4 및 단계 5: 필터링 결정 단계(S1570)에서 필터링 결정부(197)는 화소 선택부(195)에 의해 선택된 화소들간의 화소값의 관계에 따라 방향 선택부(193)에 의해 선택된 방향에 대한 필터링 여부를 결정하고, 필터링 결정 단계(S1590)에서 필터링부(199)는 필터링 결정부(197)에 의해 결정된 방향의 화소들에 대해 BS 값에 따라서 디블록킹 필터링 연산을 수행한다. 즉, 필터링 결정부(197)는 화소 선택부(195)에 의해 선택된 화소들간의 화소값의 관계가 기 설정된 조건을 만족하는가의 여부를 검사하고, 조건을 만족시키는 방향에 대하여 필터링을 수행하도록 결정하며, 필터링부(199)는 필터링 결정부(197)에 의해 결정된 방향의 화소들에 대해 BS 값에 따라서 디블록킹 필터링 연산을 수행한다. 구체적으로 살펴보면, 도 4에서와 같이 45도, 90도, 및 135도 방향에 대하여 아래의 [조건식 1], [조건식 2], 및 [조건식 3]을 각각 검사하고, 조건을 만족시키면 해당 방향에 위치하는 화소들을 이용하여 디블록킹 필터 연산을 수행한다.Step 4 and Step 5: Filtering Determination In operation S1570, the filtering determination unit 197 may determine the direction selected by the direction selection unit 193 according to the relationship of the pixel values between the pixels selected by the pixel selection unit 195. In operation S1590, the filtering unit 199 performs a deblocking filtering operation on the pixels in the direction determined by the filtering determination unit 197 according to the BS value. That is, the filtering determiner 197 determines whether the relationship between the pixel values between the pixels selected by the pixel selector 195 satisfies a preset condition, and determines to perform filtering on the direction satisfying the condition. The filtering unit 199 performs a deblocking filtering operation on the pixels in the direction determined by the filtering determination unit 197 according to the BS value. Specifically, as shown in FIG. 4, the following [Conditions 1], [Conditions 2], and [Conditions 3] are examined in the 45 °, 90 °, and 135 ° directions, respectively. The deblocking filter operation is performed by using the located pixels.
[조건식 1][Condition 1]
; ; ; ;
45 도 방향일 경우, [조건식 1]을 만족하면 BS 값에 따라 필터링 연산을 수행한다. 이 때, 디블록킹 필터 연산을 하기 위해 사용되는 화소는 45도 방향에 위치하는 화소들로써 p0, dp1, dp2, dp3, dq0, dq1, dq2, dq3을 사용한다. 이 때, , 는 상수로 문턱치 값을 조절하여, 대각선 방향에서의 디블록킹 필터링의 수행 정도를 결정하는 것이 가능하다. In the case of 45 degree direction, if [Condition 1] is satisfied, filtering operation is performed according to BS value. In this case, the pixels used for the deblocking filter operation use p0, dp1, dp2, dp3, dq0, dq1, dq2, and dq3 as pixels positioned in the 45 degree direction. At this time, , It is possible to determine the degree of performance of deblocking filtering in the diagonal direction by adjusting the threshold value with a constant.
[조건식 2][Condition Formula 2]
; ; ; ;
90 도 방향일 경우, [조건식 2]를 만족하면 BS 값에 따라 필터링 연산을 수행한다. 이 때, 디블록킹 필터 연산을 하기 위해 사용되는 화소는 p0, p1, p2, p3, q0, q1, q2, q3 이다.In the 90 degree direction, if [Condition 2] is satisfied, the filtering operation is performed according to the BS value. At this time, the pixels used for the deblocking filter operation are p0, p1, p2, p3, q0, q1, q2, q3.
[조건식 3][Condition 3]
; ; ; ;
135 도 방향일 경우, [조건식 3]을 만족하면 BS 값에 따라 필터링 연산을 수행한다. 이 때, 디블록킹 필터 연산을 하기 위해 사용되는 화소는 135도 방향에 위치하는 화소들로써 p0, ap1, ap2, ap3, aq0, aq1, aq2, aq3을 사용한다.In the 135 degree direction, if the condition 3 is satisfied, the filtering operation is performed according to the BS value. In this case, the pixels used for the deblocking filter operation use p0, ap1, ap2, ap3, aq0, aq1, aq2, and aq3 as pixels located in the 135 degree direction.
본 발명의 실시예 2에서는 각 경계 면의 화소 마다 각각 9가지 방향에 대해서 실제 에지에 의한 경계 면인지 블록킹 아티팩트에 의한 경계 면인지를 검사하 고, 그 중에서 가장 적합한 방향을 선택하여 필터링을 수행한다. 후술하는 실시예 2에서는 9가지 방향 중에서 1가지 방향을 선택하였지만 이 것은 일 예에 해당하는 것일 뿐, 그 밖의 다수의 방향에서 적합한 다수의 방향을 선택하더라도 본 발명의 범주에 속할 것이다.In Embodiment 2 of the present invention, each pixel of each boundary plane is inspected for each of nine directions to determine whether the boundary plane is a real edge or a blocking artifact, and the filtering is performed by selecting the most suitable direction. . In Example 2 described later, one direction is selected from nine directions, but this is only an example, and even if a plurality of suitable directions are selected from other directions, they will fall within the scope of the present invention.
실시예 2Example 2
도 16 및 도 17의 수직 및 수평 방향의 모든 경계 면에 존재하는 화소에 대하여 아래의 단계 1 내지 단계 5를 수행한다.Steps 1 to 5 below are performed on the pixels existing on all boundary surfaces in the vertical and horizontal directions of FIGS. 16 and 17.
단계 1: 경계 세기 결정 단계(S1510)에서 경계 세기 결정부(191)는 4x4 블록의 경계에 대하여 블록 경계 세기(BS)를 결정한다. BS가 0일 경우 디블록킹 필터링를 취하지 않고, BS가 1~4일 때는 조건식을 검사하여 디블록킹 필터링을 수행해야 할지를 결정한다.Step 1: Determining boundary strength In step S1510, the boundary strength determining unit 191 determines a block boundary strength BS with respect to a boundary of a 4 × 4 block. If the BS is 0, deblocking filtering is not performed. If the BS is 1 to 4, the BS determines whether deblocking filtering should be performed by checking a conditional expression.
단계 2: 방향 선택 단계(S1530)에서 방향 선택부(193)는 도 5의 (a) 및 (b)에 도시된 바와 같이 수평 및 수직 경계 면의 모든 화소에 대해서 45도, 56.25도, 67.5도, 78.75도, 90도, 101.25도, 112.5도, 123.75도 및 135도의 9 가지 방향 중 하나씩 차례로 선택한다.Step 2: In the direction selection step S1530, the direction selector 193 is 45 degrees, 56.25 degrees, and 67.5 degrees for all the pixels on the horizontal and vertical boundary planes as shown in FIGS. 5A and 5B. , One of nine directions, 78.75 degrees, 90 degrees, 101.25 degrees, 112.5 degrees, 123.75 degrees, and 135 degrees.
단계 3: 화소 선택 단계(S1550)에서 화소 선택부(195)는 도 6 내지 도 14에 도시된 바와 같이 방향 선택부(193)에 의해 선택된 방향에 따라 필터링할 화소들을 선택한다.Step 3: In the pixel selection step S1550, the pixel selector 195 selects pixels to be filtered according to the direction selected by the direction selector 193 as illustrated in FIGS. 6 to 14.
단계 4 및 단계 5: 필터링 결정 단계(S1570)에서 필터링 결정부(197)는 화소 선택부(195)에 의해 선택된 화소들간의 화소값의 관계에 따라 방향 선택부(193)에 의해 선택된 방향에 대한 필터링 여부를 결정하고, 필터링 결정 단계(S1590)에서 필터링부(199)는 필터링 결정부(197)에 의해 결정된 방향의 화소들에 대해 BS 값에 따라서 디블록킹 필터링 연산을 수행한다. 즉, 필터링 결정부(197)는 화소 선택부(195)에 의해 선택된 화소들간의 화소값의 관계가 기 설정된 조건을 만족하는가의 여부를 검사하고, 조건을 만족시키는 방향에 대하여 필터링을 수행하도록 결정하며, 필터링부(199)는 필터링 결정부(197)에 의해 결정된 방향의 화소들에 대해 BS 값에 따라서 디블록킹 필터링 연산을 수행한다. 구체적으로 살펴보면, 도 6 내지 도 14에서와 같이 90도, 78.75도, 67.5도, 56.25도, 45도, 101.25도, 112.5도, 123.75도 및 135도의 9 가지 방향에 대하여 아래의 [조건식 4], [조건식 5], [조건식 6], [조건식 7], [조건식 8], [조건식 9], [조건식 10], [조건식 11], 및 [조건식 12]를 각각 검사하고, 조건을 만족시키면 해당 방향에 위치하는 화소들을 이용하여 디블록킹 필터 연산을 수행한다.Step 4 and Step 5: Filtering Determination In operation S1570, the filtering determination unit 197 may determine the direction selected by the direction selection unit 193 according to the relationship of the pixel values between the pixels selected by the pixel selection unit 195. In operation S1590, the filtering unit 199 performs a deblocking filtering operation on the pixels in the direction determined by the filtering determination unit 197 according to the BS value. That is, the filtering determiner 197 determines whether the relationship between the pixel values between the pixels selected by the pixel selector 195 satisfies a preset condition, and determines to perform filtering on the direction satisfying the condition. The filtering unit 199 performs a deblocking filtering operation on the pixels in the direction determined by the filtering determination unit 197 according to the BS value. Specifically, as shown in FIGS. 6 to 14, the following nine conditions of 90 degrees, 78.75 degrees, 67.5 degrees, 56.25 degrees, 45 degrees, 101.25 degrees, 112.5 degrees, 123.75 degrees, and 135 degrees are given below. [Condition 5], [Condition 6], [Condition 7], [Condition 8], [Condition 9], [Condition 10], [Condition 11], and [Condition 11], respectively. A deblocking filter operation is performed using pixels positioned in the direction.
각 방향에 대한 조건식은 구체적으로 아래와 같다. 이 때, 와 는 상수로 문턱치 값을 조절하여, 각각의 방향에서 디블록킹 필터링의 수행 정도를 결정하는 것이 가능하다. The conditional expression for each direction is specifically as follows. At this time, Wow It is possible to determine the degree of performance of deblocking filtering in each direction by adjusting the threshold value with a constant.
도 6의 90도 방향에 대한 조건식은 아래의 [조건식 4]와 같다.The conditional expression for the 90 degree direction of FIG. 6 is as follows [Condition 4].
[조건식 4][Condition 4]
; ; ; ;
도 7의 78.75도 방향에 대한 조건식은 아래의 [조건식 5]와 같다.The conditional expression for the 78.75 degree direction of FIG. 7 is as follows [Condition 5].
[조건식 5][Condition 5]
; ; ; ;
도 8의 67.5도 방향에 대한 조건식은 아래의 [조건식 6]과 같다.The conditional expression for the direction of 67.5 degrees of FIG. 8 is as follows [Condition 6].
[조건식 6][Condition 6]
; ; ; ;
도 9의 56.25도 방향에 대한 조건식은 아래의 [조건식 7]과 같다.The conditional expression for the 56.25 degree direction of FIG. 9 is as follows [Condition 7].
[조건식 7][Condition 7]
; ; ; ;
도 10의 45도 방향에 대한 조건식은 아래의 [조건식 8]과 같다.The conditional expression for the 45 degree direction of FIG. 10 is as follows [conditional formula 8].
[조건식 8][Condition 8]
; ; ; ;
도 11의 101.25도 방향에 대한 조건식은 아래의 [조건식 9]와 같다.The conditional expression for the direction of 101.25 degree of FIG. 11 is as follows [Condition 9].
[조건식 9][Condition 9]
; ; ; ;
도 12의 112.5도 방향에 대한 조건식은 아래의 [조건식 10]과 같다.The conditional expression for the direction of 112.5 degrees in FIG. 12 is as follows [conditional expression 10].
[조건식 10][Condition 10]
; ; ; ;
도 13의 123.75도 방향에 대한 조건식은 아래의 [조건식 11]과 같다.The conditional expression for the direction of 123.75 degree of FIG. 13 is as follows [Condition 11].
[조건식 11][Condition 11]
; ; ; ;
도 14의 135도 방향에 대한 조건식은 아래의 [조건식 12]와 같다.Conditional formulas for the 135-degree direction of FIG. 14 are as follows.
[조건식 12][Condition 12]
; ; ; ;
필터링부(199)는 만약 도 6 내지 도 14에 도시된 모든 방향 중에서 조건식을 만족하는 방향이 다수개가 선정되었을 경우, 선정된 각 방향에 대해 경계 면상에서 화소간의 변화량을 구하고, 변화량이 가장 작은 한가지 또는 변화량이 작은 순으로 복수 개를 선택하여 디블록킹 필터링을 수행한다.If a plurality of directions satisfying the conditional expression are selected among all the directions shown in FIGS. 6 to 14, the filtering unit 199 calculates the amount of change between pixels on the boundary surface for each of the selected directions, and the one with the smallest amount of change. Alternatively, deblocking filtering may be performed by selecting a plurality of values in a small order of change.
경계면에서 각각의 방향에 대한 화소간의 변화량을 구하는 식은 아래와 같다. 는 경계 면의 화소(pixel)에서의 방향 세트에서 화소 간의 변화량을 나타낸다. 와 은 가중치(weight)를 나타내는 상수로써, 블록 간의 경계 근처 화소 간의 변화량이 경계에서 멀리 떨어져 있는 화소간의 변화량보다 전체 변화량에 더 큰 비중을 갖도록 , 을 만족하는 값으로 설정된다.The equation for calculating the amount of change between pixels in each direction at the interface is as follows. Denotes the amount of change between pixels in the set of directions in pixels of the interface. Wow Is a constant that represents the weight, so that the amount of change between pixels near the boundary between blocks has a greater proportion to the total amount of change than the amount of change between pixels far away from the boundary. , It is set to a value satisfying.
각 방향에 대한 변화량을 구하는 식은 구체적으로 아래와 같다The equation for calculating the change amount in each direction is as follows.
도 6 내지 도 14에 도시된 90도, 78.75도, 67.5도, 56.25도, 45도, 101.25도, 112.5도, 123.75도 및 135도의 9 가지 방향에 대한 변화량은 아래의 [식 2] 내 지 [식 10]에 의해 각각 구해진다.The changes in the nine directions of 90 degrees, 78.75 degrees, 67.5 degrees, 56.25 degrees, 45 degrees, 101.25 degrees, 112.5 degrees, 123.75 degrees and 135 degrees shown in FIGS. 6 to 14 are shown in [Equation 2] to [ Equation 10] respectively.
[식 2][Equation 2]
[식 3][Equation 3]
[식 4][Equation 4]
[식 5][Equation 5]
[식 6][Equation 6]
[식 7][Equation 7]
[식 8][Equation 8]
[식 9][Equation 9]
[식 10][Equation 10]
9가지의 각 방향에 대하여 디블록킹 필터링을 적용할 때 사용되는 화소 즉, 화소 선택부(195)에 의해 선택된 화소는, 도 6내지 도 14에 도시된 바와 같이 각 방향에 대해 굵은 테두리로 표기된 화소를 사용한다. 예를 들어, 도 8의 67.5도 방향에서 사용되는 픽셀은 p04, p14, p25, p35, q03, q13, q22, 및 q32 이다.The pixels used when the deblocking filtering is applied to each of the nine directions, that is, the pixels selected by the pixel selector 195 are pixels marked with bold borders for each direction as shown in FIGS. 6 to 14. Use For example, the pixels used in the 67.5 degree direction of FIG. 8 are p04, p14, p25, p35, q03, q13, q22, and q32.
도 20은 본 발명의 일 실시예에 따른 동영상 복호화 장치의 블록도이다.20 is a block diagram of a video decoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 동영상 복호화 장치(2000)는 복호화부(2010), 역양자화부(2020), 역변환부(2030), 예측부(2040), 가산부(2050) 및 디블로킹 필터부(2060)를 포함하여 구성될 수 있다.The video decoding apparatus 2000 according to an embodiment of the present invention includes a
이러한 동영상 복호화 장치(2000)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The video decoding apparatus 2000 may be a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), or a PlayStation Portable (PSP). ), A communication device such as a communication modem for communicating with various devices or a wired / wireless communication network, a memory for storing various programs and data for decoding an image, and executing a program. Means a variety of devices including a microprocessor for operation and control.
복호화부(2010)는 비트스트림을 복호화하여 잔차 블록을 추출한다. 즉, 복호화부(2010)는 영상 부호화 장치(100)에 의해 부호화된 영상인 비트스트림을 복호화 하여 영상의 현재 블록에 대한 화소 정보를 포함하고 있는 잔차 블록과 움직임 벡터 및 회전 정보를 추출한다.The
역양자화부(2020)는 복호화부(2010)에 의해 추출된 잔차 블록을 역 양자화하고, 역변환부(2030)는 역 양자화된 잔차 블록을 역 변환한다. 여기서, 역 양자화와 역 변환은 각각 도 1을 통해 전술한 역 양자화와 역 변환과 같은 방식으로 역 양자와 역 변환될 수 있다.The inverse quantizer 2020 inversely quantizes the residual block extracted by the
예측부(2040)는 복호화부(2010)에서 추출한 움직임 벡터 및 회전 정보를 이용하여 영상의 현재 블록의 회전 움직임을 포함하는 움직임을 보상함으로써 현재 블록을 예측하여 예측 블록을 생성한다.The
가산부(2050)는 역변환부(2030)에서 역 변환된 잔차 블록에 예측부(2040)에 의해 예측된 예측 블록을 가산하여 현재 블록을 복원한다.The adder 2050 adds the prediction block predicted by the
디블로킹 필터부(2060)는 가산부(2050) 의해 복원된 현재 블록을 디블로킹 필터링하되, 현재 블록의 경계를 기준으로 기 설정된 복수의 방향별로 필터링할 화소들을 선택하고, 그 선택된 화소들간의 화소값의 관계에 따라 해당 방향에 대한 필터링 여부를 결정하고, 그 결정된 필터링 여부에 따라 해당 방향의 선택된 화소들에 대해 필터링을 수행한다. 디블로킹 필터부(2060)는 선택된 화소들간의 화소값의 관계가, 해당 경계를 기준으로 마주하는 첫 번째 화소들간의 화소값 차이의 절대값, 해당 경계를 기준으로 일 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값, 및 해당 경계를 기준으로 타 측의 두 번째 화소와 첫 번째 화소간의 화소값 차이의 절대값이 각각 기 설정된 문턱치들보다 작은 조건을 만족하면, 해당 방향을 필터링 방향으로 결정한다. 디블로킹 필터부(2060)는 결정된 필터링 방향이 다수일 경우, 선택된 화소들간의 화소값의 변화량에 따라 다수의 필터링 방향 중 하나 이상 선택하여 필터링을 수행할 수 있다. 이와 같은 디블록킹 필터부(2060)는 일 예로 도 2의 디블록킹 필터링 장치(190)와 동일하게 구성된다.The
가산부(2050)에 의해 복원된 현재 블록은 픽처 단위로 결합되어 복원 영상으로 출력되고, 디블로킹 필터부(2060)에 의해 디블로킹 필터링된 현재 블록은 예측부(2040)에서 다음 픽처를 예측할 때 사용되는 참조 픽처로서 저장될 수 있다.The current block reconstructed by the adder 2050 is combined in picture units and output as a reconstructed image, and the current block deblocked and filtered by the
본 발명의 실시예에 따른 적응적 디블록킹 필터링 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로써 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. The adaptive deblocking filtering method according to an embodiment of the present invention can be implemented as computer readable codes on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것이다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.In the above description, all elements constituting the embodiments of the present invention are described as being operated in combination, and the present invention is necessarily limited to these embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be included, unless otherwise stated, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meanings as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms commonly used, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be construed in an ideal or excessively formal sense unless explicitly defined in the present invention.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질 적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may make various modifications and changes without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
이상 설명한 바와 같이, 본 발명은 동영상 부호화 및 복호화 기술 분야에 적용되어, 수직 수평 방향 뿐만 아니라 그 밖의 다수의 방향에 대해서도 화소 단위로 디블록킹 필터를 적용할 수 있는 방법을 제공함으로써, 다수의 사선 방향에 대한 에지로 인하여 생기는 사선 방향의 불연속 성에 의한 블록 왜곡 현상을 효과적으로 제거하여 화질을 향상시키는 효과를 발생하는 매우 유용한 발명이다.As described above, the present invention is applied to a video encoding and decoding technique, and provides a method for applying a deblocking filter on a pixel-by-pixel basis for not only a vertical horizontal direction but also a plurality of other directions, thereby providing a plurality of diagonal directions. It is a very useful invention that effectively removes the block distortion caused by the discontinuity in the diagonal direction caused by the edges to improve the image quality.
도 1은 본 발명의 일 실시예에 따른 동영상 부호화 장치의 블록도,1 is a block diagram of a video encoding apparatus according to an embodiment of the present invention;
도 2는 본 발명의 일 실시예에 따른 적응적 디블록킹 필터링 장치의 블록도,2 is a block diagram of an adaptive deblocking filtering device according to an embodiment of the present invention;
도 3은 본 발명의 실시예에 따른 필터링 방향의 일 예를 설명하는 도면,3 is a view for explaining an example of a filtering direction according to an embodiment of the present invention;
도 4는 도 3의 필터링 방향에 따라 선택된 화소의 예를 설명하는 도면,4 is a view for explaining an example of a pixel selected according to the filtering direction of FIG. 3;
도 5은 본 발명의 실시예에 따른 필터링 방향의 다른 예를 설명하는 도면,5 is a view for explaining another example of a filtering direction according to an embodiment of the present invention;
도 6 내지 도 14는 도 5의 필터링 방향에 따라 선택된 화소의 예를 설명하는 도면,6 to 14 illustrate examples of pixels selected according to the filtering direction of FIG. 5;
도 15는 본 발명의 일 실시예에 따른 적응적 디블록킹 필터링 방법의 흐름도,15 is a flowchart of an adaptive deblocking filtering method according to an embodiment of the present invention;
도 16 및 도 17은 매크로 블록의 수직 및 수평 방향의 경계를 나타내는 도면,16 and 17 are views showing the boundaries of the macro block in the vertical and horizontal directions,
도 18은 수직 및 수평 방향 블록 경계인 경우에 수평 및 수직 방향 필터링할 화소의 예를 나타낸 도면,18 illustrates an example of pixels to be horizontally and vertically filtered in the case of vertical and horizontal block boundaries;
도 19는 대각선 방향의 에지가 존재할 경우 (a)는 수직 방향의 필터링 시의 예를 나타내고, (b)는 대각선 방향 필터링 시의 예를 나타낸 도면,19 is a diagram illustrating an example of filtering in a vertical direction when an edge in a diagonal direction exists, and (b) illustrates an example of filtering in a diagonal direction;
도 20은 본 발명의 일 실시예에 따른 동영상 복호화 장치의 블록도.20 is a block diagram of a video decoding apparatus according to an embodiment of the present invention.
< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>
100: 부호화 장치(또는 부호기라 칭함)100: encoding device (or coder)
110: 예측부 120: 감산부110: prediction unit 120: subtraction unit
130: 변환부 140: 양자화부130: transform unit 140: quantization unit
150: 부호화부 160: 역양자화부150: encoding unit 160: inverse quantization unit
170: 역변환부 180: 가산부170: inverse transform unit 180: adder
190: 디블록킹 필터부, 적응적 디블록킹 필터링 장치190: deblocking filter unit, adaptive deblocking filtering device
191: 경계 세기 결정부 193: 방향 선택부191: boundary strength determination unit 193: direction selection unit
195: 화소 선택부 197: 필터링 결정부195: pixel selection unit 197: filtering determination unit
199: 필터링부199: filtering unit
2000: 복호화 장치(또는 복호기라 칭함)2000: decoding device (or decoder)
2010: 복호화부 2020: 역양자화부2010: decryption unit 2020: inverse quantization unit
2030: 역변환부 2040: 예측부2030: inverse transform unit 2040: prediction unit
2050: 가산부 2060: 디블록킹 필터부2050: adder 2060: deblocking filter part
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080105062A KR101597253B1 (en) | 2008-10-27 | 2008-10-27 | / Video encoding/decoding apparatus Adaptive Deblocking filter and deblocing filtering method and Recording Medium therefor |
US13/126,144 US9596485B2 (en) | 2008-10-27 | 2009-10-22 | Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium |
PCT/KR2009/006127 WO2010050699A2 (en) | 2008-10-27 | 2009-10-22 | Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080105062A KR101597253B1 (en) | 2008-10-27 | 2008-10-27 | / Video encoding/decoding apparatus Adaptive Deblocking filter and deblocing filtering method and Recording Medium therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100046289A true KR20100046289A (en) | 2010-05-07 |
KR101597253B1 KR101597253B1 (en) | 2016-02-24 |
Family
ID=42273569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080105062A KR101597253B1 (en) | 2008-10-27 | 2008-10-27 | / Video encoding/decoding apparatus Adaptive Deblocking filter and deblocing filtering method and Recording Medium therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101597253B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9479791B2 (en) | 2010-05-12 | 2016-10-25 | Sk Telecom Co., Ltd. | Image-filtering method and apparatus, and encoding/decoding method and apparatus using same |
KR102272660B1 (en) * | 2019-12-30 | 2021-07-02 | 이화여자대학교 산학협력단 | Adaptive deblocking filter control method for 360 degree immersive video and decoder |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040068257A (en) * | 2001-12-17 | 2004-07-30 | 마이크로소프트 코포레이션 | Skip macroblock coding |
KR20050091270A (en) * | 2004-03-11 | 2005-09-15 | 학교법인 대양학원 | Filter for removing blocking effect and filtering method thereof |
KR20070014926A (en) * | 2005-07-29 | 2007-02-01 | 삼성전자주식회사 | Deblocking filtering method considering intra bl mode, and video encoder/decoder based on multi-layer using the method |
KR20090046814A (en) * | 2006-08-02 | 2009-05-11 | 톰슨 라이센싱 | Methods and apparatus for adaptive geometric partitioning for video encoding |
-
2008
- 2008-10-27 KR KR1020080105062A patent/KR101597253B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040068257A (en) * | 2001-12-17 | 2004-07-30 | 마이크로소프트 코포레이션 | Skip macroblock coding |
KR20050091270A (en) * | 2004-03-11 | 2005-09-15 | 학교법인 대양학원 | Filter for removing blocking effect and filtering method thereof |
KR20070014926A (en) * | 2005-07-29 | 2007-02-01 | 삼성전자주식회사 | Deblocking filtering method considering intra bl mode, and video encoder/decoder based on multi-layer using the method |
KR20090046814A (en) * | 2006-08-02 | 2009-05-11 | 톰슨 라이센싱 | Methods and apparatus for adaptive geometric partitioning for video encoding |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9479791B2 (en) | 2010-05-12 | 2016-10-25 | Sk Telecom Co., Ltd. | Image-filtering method and apparatus, and encoding/decoding method and apparatus using same |
US9532065B2 (en) | 2010-05-12 | 2016-12-27 | Sk Telecom Co., Ltd. | Image-filtering method and apparatus, and encoding/decoding method and apparatus using same |
US9787988B2 (en) | 2010-05-12 | 2017-10-10 | Sk Telecom Co., Ltd. | Image-filtering method and apparatus, and encoding/decoding method and apparatus using same |
KR102272660B1 (en) * | 2019-12-30 | 2021-07-02 | 이화여자대학교 산학협력단 | Adaptive deblocking filter control method for 360 degree immersive video and decoder |
Also Published As
Publication number | Publication date |
---|---|
KR101597253B1 (en) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101590500B1 (en) | / Video encoding/decoding apparatus Deblocking filter and deblocing filtering method based intra prediction direction and Recording Medium therefor | |
US10469840B2 (en) | Motion picture encoding apparatus and method thereof | |
US9596485B2 (en) | Motion picture encoding/decoding apparatus, adaptive deblocking filtering apparatus and filtering method for same, and recording medium | |
KR101432775B1 (en) | Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock | |
KR101538704B1 (en) | Method and apparatus for coding and decoding using adaptive interpolation filters | |
KR20090097688A (en) | Method and apparatus of encoding/decoding image based on intra prediction | |
KR20090095317A (en) | Method and apparatus for encoding and decoding image | |
KR20130011878A (en) | Image encoding/decoding method and apparatus using deblocking filtering | |
JP2008503177A (en) | Method for color difference deblocking | |
KR101597253B1 (en) | / Video encoding/decoding apparatus Adaptive Deblocking filter and deblocing filtering method and Recording Medium therefor | |
KR101997599B1 (en) | Method and Apparatus for Image Encoding/Decoding using Efficient Non-fixed Quantization | |
KR101943425B1 (en) | Method and Apparatus for Image Encoding/Decoding using Efficient Non-fixed Quantization | |
KR101534050B1 (en) | Video encoding/decoding apparatus, Deblocking filter and deblocing filtering method, and Recording Medium therefor | |
KR101537767B1 (en) | Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock | |
KR101483495B1 (en) | Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock | |
JP5814191B2 (en) | Deblocking processing method, deblocking processing apparatus, program, and recording medium | |
KR101379189B1 (en) | Video Coding Method and Apparatus by Using Filtering Motion Compensation Frame | |
KR101534014B1 (en) | Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock | |
KR101347272B1 (en) | Method and apparatus for inter prediction | |
KR101464949B1 (en) | Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock | |
KR101464944B1 (en) | Video Encoding/Decoding Method and Apparatus Using Arbitrary Pixel in Subblock | |
JP5728330B2 (en) | Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, moving picture decoding method, and program | |
KR101802304B1 (en) | Methods of encoding using hadamard transform and apparatuses using the same | |
KR20110073154A (en) | Apparatus and method for video encoding/decoding | |
KR20190065620A (en) | Video coding method and apparatus using bilateral filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190131 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191216 Year of fee payment: 5 |