KR102294016B1 - Video encoding and decoding method using deblocking fitering with transform skip and apparatus using the same - Google Patents
Video encoding and decoding method using deblocking fitering with transform skip and apparatus using the same Download PDFInfo
- Publication number
- KR102294016B1 KR102294016B1 KR1020140173783A KR20140173783A KR102294016B1 KR 102294016 B1 KR102294016 B1 KR 102294016B1 KR 1020140173783 A KR1020140173783 A KR 1020140173783A KR 20140173783 A KR20140173783 A KR 20140173783A KR 102294016 B1 KR102294016 B1 KR 102294016B1
- Authority
- KR
- South Korea
- Prior art keywords
- filtering
- boundary
- block
- deblocking
- transform skip
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 따른 영상 복호화 방법은 디블록킹 필터링이 수행될 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보를 복호화하는 단계, 예측 신호와 잔차 신호를 기반으로 복원 픽처를 생성하는 단계 및 상기 필터링 정보를 기반으로 상기 복원 픽처 내 디블록킹 필터링이 수행될 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 단계를 포함한다. An image decoding method according to the present invention includes decoding filtering information indicating whether to perform deblocking filtering with reference to a transform skip mode of a filtering target block on which deblocking filtering is to be performed, a reconstructed picture based on a prediction signal and a residual signal and performing deblocking filtering with reference to transform skip modes of two filtering target blocks forming a filtering boundary on which deblocking filtering is to be performed in the reconstructed picture based on the filtering information.
Description
본 발명은 영상의 부호화 및 복호화 처리에 관한 것으로서, 보다 상세하게는 영상 압축 시 변환 생략 블록을 참조한 디블록킹 필터링 방법 및 장치에 관한 것이다. The present invention relates to encoding and decoding processing of an image, and more particularly, to a deblocking filtering method and apparatus with reference to a transform skip block when compressing an image.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.Recently, as broadcasting services having high definition (HD) resolution are expanding not only in Korea but also worldwide, many users are getting used to high-resolution and high-definition images, and accordingly, many organizations are spurring the development of next-generation imaging devices. In addition, as interest in Ultra High Definition (UHD) having a resolution four times higher than that of HDTV is increasing along with HDTV, a compression technology for higher resolution and high-definition images is required.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 인터(inter, 화면 내) 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 인트라(intra, 화면 간) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.For image compression, inter (in-screen) prediction technology that predicts pixel values included in the current picture from temporally previous and/or later pictures, pixel values included in the current picture using pixel information in the current picture An intra (inter-screen) prediction technique for predicting , an entropy coding technique for allocating a short code to a symbol with a high frequency of occurrence and a long code for assigning a long code to a symbol with a low frequency of occurrence may be used.
본 발명은 필터링이 수행될 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 방법 및 장치를 제공한다. The present invention provides a method and apparatus for performing deblocking filtering with reference to a transform skip mode of a block on which filtering is to be performed.
본 발명은 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 지시하는 정보를 시그널링하는 방법을 제공한다. The present invention provides a method of signaling information indicating whether to perform deblocking filtering with reference to a transform skip mode.
본 발명은 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능 자체를 사용할지 여부를 나타내는 정보를 시그널링하는 방법을 제공한다. The present invention provides a method of signaling information indicating whether to use the function itself for performing deblocking filtering with reference to the transform skip mode.
본 발명의 일 실시예에 따르면 영상 복호화 방법이 제공된다. 상기 영상 복호화 방법은 디블록킹 필터링이 수행될 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보를 복호화하는 단계, 예측 신호와 잔차 신호를 기반으로 복원 픽처를 생성하는 단계 및 상기 필터링 정보를 기반으로 상기 복원 픽처 내 디블록킹 필터링이 수행될 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 단계를 포함한다. According to an embodiment of the present invention, an image decoding method is provided. The image decoding method includes decoding filtering information indicating whether to perform deblocking filtering with reference to a transform skip mode of a filtering target block on which deblocking filtering is to be performed, generating a reconstructed picture based on a prediction signal and a residual signal and performing deblocking filtering with reference to a transform skip mode of two filtering target blocks forming a filtering boundary on which deblocking filtering is to be performed in the reconstructed picture based on the filtering information.
본 발명에 따르면, 디블록킹 필터링을 수행하고자 하는 블록 경계를 이루는 블록들 중 변환 생략 블록이 존재하는 경우, 변환 생략 블록의 신호 성질에 더욱 적합한 디블록킹 필터링을 수행할 수 있으므로, 영상의 화질을 향상시킬 수 있다. According to the present invention, when a transform skip block exists among blocks forming a boundary of a block for which deblocking filtering is to be performed, deblocking filtering more suitable for the signal properties of the transform skip block can be performed, thereby improving image quality can do it
본 발명에 따르면, 변환 생략 여부를 참조하여 디블록킹 필터링을 수행함으로써 부호화 효율을 높일 수 있고, 이와 더불어 영상의 주관적 화질도 향상시킬 수 있다. 특히, 컴퓨터에 의해 만들어진 인공 영상에 효과적일 수 있다.According to the present invention, encoding efficiency can be improved by performing deblocking filtering with reference to whether or not transform is omitted, and in addition, subjective image quality of an image can be improved. In particular, it can be effective for artificial images created by a computer.
도 1은 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 기존의 디블록킹 필터링 방법을 나타낸 순서도이다.
도 4는 p와 q 블록 내 디블록킹 필터링 수행 여부 결정 시 참조되는 화소들을 나타낸 도면이다.
도 5는 p와 q 블록 내 필터의 종류 결정 시 참조되는 화소들을 나타낸 도면이다.
도 6은 p와 q 블록 내 임의의 한 행에 대해 강한 필터링이 적용되는 화소 범위를 나타낸 것이다.
도 7은 p와 q 블록 내 임의의 한 행에 대해 약한 필터링이 적용되는 화소 범위를 나타낸 것이다.
도 8은 본 발명의 실시예에 따른 변환 생략 모드를 참조하는 디블록킹 필터링이 적용된 영상 복호화 방법을 나타낸 순서도이다.
도 9는 본 발명의 실시예에 따른 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 방법을 나타낸 순서도이다.
도 10은 p와 q 블록 내 필터링 종류 결정 시 참조되는 화소들을 나타낸 것이다.
도 11은 필터링 경계를 기준으로 p와 q 블록 내 화소 위치를 나타낸 것이다.
도 12는 본 발명의 실시예에 따른 변환 생략 모드를 참조하는 디블록킹 필터링이 적용된 영상 부호화 방법을 나타낸 순서도이다.1 is a block diagram illustrating a configuration of an image encoding apparatus to which the present invention is applied according to an embodiment.
2 is a block diagram illustrating a configuration of an image decoding apparatus to which the present invention is applied according to an embodiment.
3 is a flowchart illustrating a conventional deblocking filtering method.
4 is a diagram illustrating pixels referenced when determining whether to perform deblocking filtering in blocks p and q.
5 is a diagram illustrating pixels referred to when determining a type of a filter in blocks p and q.
6 shows a pixel range to which strong filtering is applied for any one row in blocks p and q.
7 shows a pixel range to which weak filtering is applied for any one row in blocks p and q.
8 is a flowchart illustrating an image decoding method to which deblocking filtering referring to a transform skip mode is applied according to an embodiment of the present invention.
9 is a flowchart illustrating a method of performing deblocking filtering with reference to a transform skip mode according to an embodiment of the present invention.
10 illustrates pixels referred to when determining a filtering type in blocks p and q.
11 shows pixel positions in blocks p and q based on a filtering boundary.
12 is a flowchart illustrating an image encoding method to which deblocking filtering referring to a transform skip mode is applied according to an embodiment of the present invention.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of this invention is described concretely with reference to drawings. In describing the embodiments of the present specification, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present specification, the detailed description thereof will be omitted.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.When it is said that a component is “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be In addition, the content described as “including” a specific configuration in the present invention does not exclude configurations other than the corresponding configuration, and means that additional configurations may be included in the practice of the present invention or the scope of the technical spirit of the present invention.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.In addition, the components shown in the embodiment of the present invention are shown independently to represent different characteristic functions, and it does not mean that each component is composed of separate hardware or a single software component. That is, each component is listed as each component for convenience of description, and at least two components of each component are combined to form one component, or one component can be divided into a plurality of components to perform a function, and each Integrated embodiments and separate embodiments of components are also included in the scope of the present invention without departing from the essence of the present invention.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
In addition, some of the components are not essential components for performing essential functions in the present invention, but may be optional components for merely improving performance. The present invention can be implemented by including only essential components to implement the essence of the present invention, except for components used for performance improvement, and a structure including only essential components excluding optional components used for performance improvement Also included in the scope of the present invention.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of an image encoding apparatus to which the present invention is applied according to an embodiment.
도 1을 참조하면, 영상 부호화 장치(100)는 인터 예측부(110), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽처 버퍼(190)를 포함한다.Referring to FIG. 1 , the
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. The image encoding
인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)을 의미할 수 있다.In the intra mode, the
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화/복호화된 블록의 샘플 값을 참조 샘플로 이용할 수 있다. 인트라 예측부(120)는 참조 샘플을 이용하여 공간적 예측을 수행하고 현재 블록에 대한 예측 샘플들을 생성할 수 있다.In the intra mode, the
인터 모드인 경우, 인터 예측부(110)는, 움직임 예측 과정에서 참조 픽처 버퍼(190)에 저장되어 있는 참조 픽처에서 입력 블록(현재 블록)과의 차이가 가장 적은 참조 블록을 특정하는 움직임 벡터를 구할 수 있다. 인터 예측부(110)는 움직임 벡터와 참조 픽처 버퍼(190)에 저장되어 있는 참조 픽처를 이용하여 움직임 보상을 수행함으로써 현재 블록에 대한 예측 블록을 생성할 수 있다.In the inter mode, the
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. The
변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록 및/또는 잔차 신호에 대한 변환을 수행함으로써 생성된 계수 값을 의미할 수 있다. 이하, 본 명세서에서는 변환 계수에 양자화가 적용되어 생성된, 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수로 불릴 수 있다. The
변환 생략(transform skip) 모드가 적용되는 경우, 변환부(130)는 잔차 블록에 대한 변환을 생략할 수도 있다.When a transform skip mode is applied, the
양자화부(140)는 입력된 변환 계수를 양자화 파라미터(quantization parameter (QP), 또는 양자화 매개변수)에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 양자화된 계수는 양자화된 변환 계수 레벨(quantized transform coefficient level)로 불릴 수도 있다. 이때, 양자화부(140)에서는 양자화 행렬을 사용하여 입력된 변환 계수를 양자화할 수 있다.The
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bitstream)을 출력할 수 있다. 엔트로피 부호화부(150)는 비디오의 화소 정보 외에 비디오 디코딩을 위한 정보(예컨대, 신택스 엘리먼트(syntax element (SE)) 등)을 엔트로피 부호화 할 수도 있다.The
부호화 파라미터는 부호화 및 복호화에 필요한 정보로서, 신택스 엘리먼트와 같이 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있다.The encoding parameter is information necessary for encoding and decoding, and may include information that is encoded in the encoding apparatus and transmitted to the decoding apparatus, such as a syntax element, as well as information that can be inferred during encoding or decoding.
예를 들어, 부호화 파라미터는 인트라/인터 예측 모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔차 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. For example, the coding parameter includes values such as intra/inter prediction mode, motion/motion vector, reference image index, coding block pattern, presence/absence of residual signal, transform coefficient, quantized transform coefficient, quantization parameter, block size, block partition information, etc. or statistics.
잔차 신호는 원신호와 예측 신호 간의 차이를 의미할 수 있고, 또한 원신호와 예측 신호 간의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호 간의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔차 신호는 블록 단위에서는 잔차 블록이라 할 수 있다.The residual signal may mean a difference between the original signal and the predicted signal, and a signal in which the difference between the original signal and the predicted signal is transformed or a signal in which the difference between the original signal and the predicted signal is transformed and quantized. may mean The residual signal may be referred to as a residual block in block units.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.When entropy encoding is applied, a small number of bits are allocated to a symbol having a high probability of occurrence and a large number of bits are allocated to a symbol having a low probability of occurrence to express the symbol, so that the size of the bit string for the symbols to be encoded is increased. can be reduced. Accordingly, compression performance of image encoding may be improved through entropy encoding.
엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)는 가변 길이 부호화(VLC: Variable Length Coding/Code) 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.The
도 1의 실시예에 따른 영상 부호화 장치(100)는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록(Reconstructed Block)이 생성된다.Since the
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽처 버퍼(190)에 저장될 수 있다.
The reconstructed block passes through the
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of an image decoding apparatus to which the present invention is applied according to an embodiment.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 인터 예측부(250), 가산기(255), 필터부(260) 및 참조 픽처 버퍼(270)를 포함한다.Referring to FIG. 2 , the
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. The
인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다.In the case of the intra mode, the switch may be switched to the intra mode, and in the case of the inter mode, the switch may be switched to the inter mode.
영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.The
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient)와 신택스 엘리먼트 등의 정보를 출력할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법의 역과정이다.The
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환된다. 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔차 블록이 생성될 수 있다. 이때, 역양자화부(220)에서는 양자화된 계수에 양자화 행렬을 적용할 수 있다. 일부 블록에 대하여 역변환부(230)는 역변환을 생략하도록 구성될 수도 있다. 또한, 역양자화부(220)도 일부 블록에 대하여 생략되도록 구성될 수도 있다.The quantized coefficients are inverse quantized by the
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 샘플 값을 이용하여 공간적 예측을 수행하고, 현재 블록에 대한 예측 샘플들을 생성할 수 있다. In the intra mode, the
인터 모드인 경우, 인터 예측부(250)는 움직임 벡터 및 참조 픽처 버퍼(270)에 저장되어 있는 참조 픽처를 이용하여 움직임 보상을 수행함으로써 현재 블록에 대한 예측 블록을 생성할 수 있다.In the inter mode, the
복원된 잔차 블록과 예측 블록은 가산기(255)에서 더해져서, 복원 블록이 생성된다. 다시 말하면, 잔차 샘플과 예측 샘플이 더해져서 복원된 샘플 또는 복원된 픽처가 생성된다.The reconstructed residual block and the prediction block are added in an
복원된 픽처는 필터부(260)에서 필터링 된다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된(modified) 혹은 필터링된(filtered) 복원 픽처(reconstructed picture)를 출력한다. 복원 영상은 참조 픽처 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.The reconstructed picture is filtered by the
또한, 영상 복호화 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 파싱부(미도시)를 더 포함할 수 있다. 파싱부는 엔트로피 복호화부(210)를 포함할 수도 있고, 엔트로피 복호화부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.
Also, the
한편, H.264 또는 HEVC(High efficiency video coding)와 같은 블록 기반의 영상 압축 기술에서는 블록의 경계에서 발생하는 블로킹 열화(blocking artifact)를 제거 또는 완화하기 위하여 디블록킹 필터링(deblocking filtering)을 수행한다. HEVC의 경우, 디블록킹 필터링을 수행하는 과정에서 블록이 인트라 예측 모드로 코딩된 블록인지 또는 인터 예측 모드로 코딩된 블록인지에 따라 경계 강도(Boundary Strength, Bs)를 결정하고 블록 경계의 화소 값들을 참조하여 필터 종류(strong/weak 필터)를 결정한다. 그러나, 현재 기술에 따르면 디블록킹 필터링 과정에서 잔차 신호의 코딩 모드(즉, 변환의 적용 또는 변환 생략의 적용 여부)는 고려되지 않으므로, 디블록킹 필터링 과정에서 전혀 성격이 다른 두 경우(변환 적용 또는 변환 생략)의 잔차 신호의 성질을 고려할 수 없다. 이러한 경우, 화질 저화 또는 압축률 저하의 문제점이 발생한다. On the other hand, in block-based video compression techniques such as H.264 or high efficiency video coding (HEVC), deblocking filtering is performed to remove or alleviate blocking artifacts occurring at the boundary of blocks. . In the case of HEVC, in the process of performing deblocking filtering, a boundary strength (Bs) is determined according to whether a block is a block coded in an intra prediction mode or a block coded in an inter prediction mode, and pixel values of the block boundary are determined. Refer to it to determine the filter type (strong/weak filter). However, according to the current technology, the coding mode of the residual signal (ie, whether transform is applied or whether transform is applied) is not considered in the deblocking filtering process. omitted) cannot be considered. In this case, a problem of image quality deterioration or compression rate deterioration occurs.
HEVC에서는 잔차 신호의 코딩 모드로써 변환 생략(transform skip) 모드가 있다. HEVC version 1 기술에 따르면 변환 생략 모드는 4x4 TU(Transform Unit; 변환 유닛)에 대하여 잔차 신호의 변환을 생략하고 양자화를 수행하여 부호화하는 모드이다. 또한, HEVC Range Extensions 의 기술의 경우, 인코더가 지시하는 변환 생략이 가능한 최대 블록 크기까지 이와 같은 변환 생략모드가 적용될 수 있다. In HEVC, there is a transform skip mode as a coding mode of the residual signal. According to the HEVC version 1 technology, the transform skip mode is a mode for encoding a 4x4 TU (Transform Unit) by omitting transform of the residual signal and performing quantization. In addition, in the case of the HEVC Range Extensions technique, such a transform skip mode may be applied up to the maximum block size in which transform omitting indicated by the encoder is possible.
변환 생략 모드는 잔차 신호의 공간적 변화도가 매우 크거나 강한 엣지(edge) 성분을 가지는 경우와 같이 변환을 생략하고 양자화를 수행하는 것이 압축률 및 화질 측면에서 이득을 가져올 수 있는 경우 주로 사용될 수 있다. The transform skip mode may be mainly used when omitting transform and performing quantization can bring benefits in terms of compression ratio and image quality, such as when the spatial gradient of the residual signal is very large or has a strong edge component.
이처럼 변환 생략 모드가 사용된 블록은 잔차 신호 값의 공간적 변화도가 매우 크므로, 일반적인 변환을 수행한 블록과는 확연히 다른 특성을 지니며 특히 블록 내부에서도 화소 값의 변화가 큰 것이 특징이다. 따라서, 이러한 이질적인 특성을 지닌 블록들 간의 경계 또는 이러한 이질적인 특성을 지닌 블록과의 경계에서는 블록킹 열화가 발생할 가능성이 크다. 그러나, HEVC(version 1)와 같은 현재의 기술에 따르면 디블록킹 필터링 과정에서는 변환 생략 모드를 전혀 고려하지 않고, 필터링 강도 및 종류를 선택하기 위하여 블록 경계를 구성하는 화소들 중 일부 화소만을 참조하고 있다. 이러한 블록 경계의 일부 화소만으로는 변화도가 큰 변환 생략 블록의 특성을 대변하기 어렵다. 따라서, 기존의 디블록킹 필터링 방법처럼, 디블록킹 필터링 수행 시에 변환 생략을 고려하지 않을 경우, 필터링 강도가 과도하거나 부족할 수 있다. Since the block in which the transform skip mode is used has a very large spatial variation of the residual signal value, it has a characteristic significantly different from that of a block in which a general transform is performed. Accordingly, there is a high possibility that blocking degradation occurs at a boundary between blocks having such heterogeneous characteristics or at a boundary with blocks having such heterogeneous characteristics. However, according to the current technology such as HEVC (version 1), the deblocking filtering process does not consider the transform skip mode at all, and only refers to some pixels among the pixels constituting the block boundary to select the filtering strength and type. . It is difficult to represent the characteristic of a transform skip block having a large degree of change with only some pixels on the block boundary. Therefore, like the existing deblocking filtering method, if transform omission is not considered when performing deblocking filtering, filtering strength may be excessive or insufficient.
이하, 본 발명에서는 디블록킹 필터링을 수행하고자 하는 블록 경계를 이루는 블록들의 변환 또는 변환 생략 여부를 참조하여 변환 생략 블록이 존재하는 경우, 변환 생략 블록이 존재하는 경우의 신호 성질에 더욱 적합한 디블록킹 필터링을 수행할 수 있는 방법을 제공한다. 본 발명에 따르면 변환 생략 유무를 참조하여 디블록킹 필터링을 수행함으로써 부호화 효율을 높일 수 있으며, 또한 주관적 화질도 향상시킬 수 있다. 이러한 효과는 특히 컴퓨터에 의하여 만들어진 인공 영상의 경우 더욱 두드러진다.
Hereinafter, in the present invention, when a transform skip block exists, deblocking filtering more suitable for signal properties when a transform skip block exists with reference to whether or not transform or transform skip of blocks forming a block boundary to be performed deblocking filtering provides a way to do it. According to the present invention, encoding efficiency can be increased by performing deblocking filtering with reference to whether or not transform is omitted, and subjective image quality can also be improved. This effect is especially noticeable in the case of artificial images created by a computer.
도 3은 기존의 디블록킹 필터링 방법을 나타낸 순서도이다. 3 is a flowchart illustrating a conventional deblocking filtering method.
현재의 HEVC version 1에서는 부호화/복호화 시 (디블록킹 필터링 전) 복원 픽처 내 블록 경계면에서 디블록킹 필터링을 수행한다. 이때, 복원 픽처에서 먼저 블록의 수직 경계(수직 에지 경계)에 대해서 수평 방향으로 필터링을 수행한 후, 블록의 수평 경계(수평 에지 경계)에 대해서 수직 방향으로 필터링을 수행한다. In the current HEVC version 1, deblocking filtering is performed at the block boundary in the reconstructed picture (before deblocking filtering) during encoding/decoding. In this case, in the reconstructed picture, first, filtering is performed in the horizontal direction on the vertical boundary (vertical edge boundary) of the block, and then filtering is performed in the vertical direction on the horizontal boundary (horizontal edge boundary) of the block.
도 3의 방법은 휘도(luma) 성분에 대한 디블록킹 필터링 과정을 나타낸다. 또한, 도 3의 방법은 부호화 장치 및 복호화 장치에 의해 수행될 수 있으며, 설명의 편의 상 복호화 장치에서 수행되는 것으로 설명한다. The method of FIG. 3 shows a deblocking filtering process for a luma component. Also, the method of FIG. 3 may be performed by the encoding apparatus and the decoding apparatus, and for convenience of description, it will be described as being performed by the decoding apparatus.
도 3을 참조하면, 복호화 장치는 복원 픽처에서 8x8 블록의 경계를 단위로 하여, 8x8 블록 경계에 위치하는 PU(Prediction Unit, 예측 유닛) 또는 TU(Transform Unit, 변환 유닛) 경계인지를 판단한다(S300).Referring to FIG. 3 , the decoding apparatus determines whether the boundary of the 8x8 block in the reconstructed picture is a PU (Prediction Unit) or TU (Transform Unit) boundary positioned at the 8x8 block boundary as a unit ( S300).
만일, PU 또는 TU 경계가 존재하지 않는 8x8 블록 경계에 대해서는 디블록킹 필터링을 수행하지 않는다. If there is no PU or TU boundary, deblocking filtering is not performed on the 8x8 block boundary.
8x8 블록 경계이면서 PU 또는 TU 경계일 경우, 복호화 장치는 디블록킹 필터링이 수행될 필터링 경계에서의 경계 강도(Boundary Strength, 이하 Bs라 함)를 계산한다(S310). In the case of an 8x8 block boundary and a PU or TU boundary, the decoding apparatus calculates a boundary strength (Boundary Strength, hereinafter referred to as Bs) at a filtering boundary on which deblocking filtering is to be performed (S310).
Bs 값은 필터링 경계에서 4행 또는 4열 단위로 계산되며, 그 계산 과정은 다음과 같다. 여기서, 필터링 경계를 이루는 두 블록을 p와 q라 한다. 예컨대, 수평 경계에 대한 디블록킹 필터링을 수행하는 경우에는 수평 경계를 기준으로 위쪽에 위치하는 블록을 p, 아래쪽에 위치하는 블록이 q가 된다. 수직 경계에 대한 디블록킹 필터링을 수행하는 경우에는 수직 경계를 기준으로 왼쪽에 위치하는 블록을 p, 오른쪽에 위치하는 블록이 q가 된다. The Bs value is calculated in units of 4 rows or 4 columns at the filtering boundary, and the calculation process is as follows. Here, the two blocks forming the filtering boundary are referred to as p and q. For example, when deblocking filtering is performed on a horizontal boundary, a block located above the horizontal boundary becomes p, and a block located below the horizontal boundary becomes q. When deblocking filtering is performed on a vertical boundary, a block located on the left side of the vertical boundary becomes p, and a block located on the right side becomes q.
[Bs 계산 과정][Bs calculation process]
상기 Bs 계산 과정을 요약하자면, p 또는 q 블록이 인트라 예측 모드로 코딩된 경우 Bs 값은 2가 되며, p와 q 블록이 인터 예측 모드로 코딩된 경우 Bs 값은 1 또는 0이 된다. To summarize the Bs calculation process, when the p or q block is coded in the intra prediction mode, the Bs value becomes 2, and when the p and q blocks are coded in the inter prediction mode, the Bs value becomes 1 or 0.
복호화 장치는 Bs 값이 0보다 큰 경우에 문턱 값인 β, tc를 계산한다(S320). The decoding apparatus calculates threshold values β and t c when the Bs value is greater than 0 ( S320 ).
만일, Bs 값이 0인 경우라면 문턱 값 계산을 생략하고 디블록킹 필터링을 수행하지 않는다. If the Bs value is 0, the threshold value calculation is omitted and deblocking filtering is not performed.
여기서, β, tc는 1) 필터링 수행 여부 결정(필터링 on/off 결정), 2) 강한(strong)/약한(weak) 필터 선택, 3) 약한 필터링에 사용되는 값이다. Here, β and t c are values used for 1) determining whether to perform filtering (filtering on/off determination), 2) selecting strong/weak filters, and 3) weak filtering.
β, tc는 p와 q 블록의 양자화 파라미터(Quantization Parameter, 이하 QP라 함)를 기반으로 HEVC에서 정의한 아래 표 1을 참조하여 결정된다. 표 1은 β, tc를 산출하기 위해 사용되는 부호화기와 복호화기에 미리 정의된 테이블이다. β and t c are determined with reference to Table 1 below defined in HEVC based on the quantization parameters (Quantization Parameter, hereinafter referred to as QP) of the p and q blocks. Table 1 is a table predefined in the encoder and decoder used to calculate β and t c .
[표 1][Table 1]
복호화 장치는 p와 q 블록의 QP 값을 이용하여 Q 값을 계산하고, 계산된 Q 값에 해당하는 β', tc'을 표 1로부터 산출하여 최종 β, tc를 결정할 수 있다. The decoding apparatus may calculate the Q value by using the QP values of the p and q blocks, calculate β' and t c ' corresponding to the calculated Q values from Table 1, and determine the final β and t c .
β 값을 결정하기 위해 사용되는 Q 값은 아래 수학식 1과 같이 계산될 수 있다. The Q value used to determine the β value may be calculated as in Equation 1 below.
[수학식 1][Equation 1]
수학식 1에서, qPL은 p와 q 블록의 QP 값의 평균값이며, slice_beta_offset_div2는 부호화기로부터 시그널링되는 값일 수 있다. In Equation 1, qP L is an average value of QP values of blocks p and q, and slice_beta_offset_div2 may be a value signaled from an encoder.
tc 값을 결정하기 위해 사용되는 Q 값은 아래 수학식 2와 같이 계산될 수 있다. The Q value used to determine the t c value may be calculated as in Equation 2 below.
[수학식 2][Equation 2]
수학식 2에서, qPL은 p와 q 블록의 QP 값의 평균값이며, slice_tc_offset_div2는 부호화기로부터 시그널링되는 값일 수 있다.In Equation 2, qP L is an average value of QP values of p and q blocks, and slice_tc_offset_div2 may be a value signaled from an encoder.
복호화 장치는 β, tc 값을 기반으로 디블록킹 필터링을 수행할지 여부(필터링 on/off)를 결정한다(S330).The decoding apparatus determines whether to perform deblocking filtering (filtering on/off) based on the β and t c values (S330).
이때, 디블록킹 필터링 수행 여부는 4행(또는 4열) 단위로 결정된다. 즉, 복호화 장치는 Bs 값이 0보다 큰 값을 갖는 필터링 경계에서 첫 번째 행과 네 번째 행(수직 경계인 경우) 또는 첫 번째 열과 네 번째 열(수평 경계인 경우)에 위치하는 화소들로부터 계산된 값을 β 값과 비교하여 필터링 수행 여부를 결정할 수 있다.In this case, whether to perform deblocking filtering is determined in units of 4 rows (or 4 columns). That is, the decoding device calculates a value calculated from pixels located in the first and fourth rows (in the case of a vertical boundary) or in the first and fourth columns (in the case of a horizontal boundary) at the filtering boundary where the Bs value is greater than 0. can be compared with the β value to determine whether to perform filtering.
다음 조건식 1은 디블록킹 필터링 수행 여부를 결정하기 위한 조건들을 나타낸 것이고, 도 4는 p와 q 블록 내 디블록킹 필터링 수행 여부 결정 시 참조되는 화소들을 나타낸 도면이다.The following conditional expression 1 shows conditions for determining whether to perform deblocking filtering, and FIG. 4 is a diagram illustrating pixels referenced when determining whether to perform deblocking filtering in blocks p and q.
[조건식 1][Conditional Expression 1]
복호화 장치는 상기 조건식 1의 조건 1, 2를 모두 만족하는 경우 디블록킹 필터링을 수행하는 것(필터링 on)으로 결정한다. The decoding apparatus determines to perform deblocking filtering (filtering on) when both conditions 1 and 2 of Conditional Expression 1 are satisfied.
단계 S330에서 디블록킹 필터링을 수행하는 것으로 결정된 경우, 복호화 장치는 β, tc 값을 기반으로 필터의 종류(강한 필터/약한 필터)를 결정한다(S340).If it is determined to perform deblocking filtering in step S330, the decoding apparatus determines a filter type (strong filter/weak filter) based on β and t c values (S340).
이때, 필터의 종류(강한 필터링을 적용할지 또는 약한 필터링을 적용할지)는 4행(또는 4열) 단위로 결정된다. 즉, 복호화 장치는 필터링 경계에서 첫 번째 행과 네 번째 행(수직 경계인 경우) 또는 첫 번째 열과 네 번째 열(수평 경계인 경우)에 위치하는 화소들과 β, tc 값을 사용하여 필터링의 강도를 결정할 수 있다. In this case, the type of filter (whether strong filtering or weak filtering is applied) is determined in units of 4 rows (or 4 columns). That is, the decoding device determines the strength of filtering by using pixels located in the first and fourth rows (in the case of a vertical boundary) or in the first and fourth columns (in the case of a horizontal boundary) and β and t c values at the filtering boundary. can decide
다음 조건식 2는 필터의 종류를 결정하기 위한 조건들을 나타낸 것이고, 도 5는 p와 q 블록 내 필터의 종류 결정 시 참조되는 화소들을 나타낸 도면이다. The following conditional expression 2 shows conditions for determining the type of filter, and FIG. 5 is a diagram showing pixels referred to when determining the type of filter in the p and q blocks.
[조건식 2][Conditional Expression 2]
복호화 장치는 상기 조건식 2의 조건 1~6을 모두 만족하는 경우 강한 필터를 선택하고, 그렇지 않은 경우 약한 필터를 선택한다. The decoding apparatus selects a strong filter when all conditions 1 to 6 of Conditional Expression 2 are satisfied, and selects a weak filter if not.
상기 조건식 2를 참조하면, 조건식 2의 조건 1~3은 도 5에서 p와 q 블록 내 첫 번째 행에 대한 조건들이며, 조건식 2의 조건 4~6은 도 5에서 p와 q 블록 내 네 번째 행에 대한 조건들이다. Referring to Conditional Expression 2, Conditions 1 to 3 of Conditional Expression 2 are conditions for the first row in blocks p and q in FIG. 5, and Conditions 4 to 6 of Condition Expression 2 are the fourth rows in blocks p and q in FIG. 5 are the conditions for
단계 S340에서 강한 필터가 선택된 경우, 복호화 장치는 각 행 또는 각 열 단위로 강한 필터링을 수행한다(S350). When the strong filter is selected in step S340, the decoding apparatus performs strong filtering in units of each row or each column (S350).
도 6은 p와 q 블록 내 임의의 한 행에 대해 강한 필터링이 적용되는 화소 범위를 나타낸 것이다. 6 shows a pixel range to which strong filtering is applied for any one row in blocks p and q.
도 6에 도시된 바와 같이, 필터링 경계에서 강한 필터가 선택된 경우, 복호화 장치는 필터링 경계를 기준으로 p 블록 내 3개 화소와 q 블록 내 3개 화소에 대해 필터링을 수행할 수 있다. As shown in FIG. 6 , when a strong filter is selected at the filtering boundary, the decoding apparatus may perform filtering on three pixels in the p block and three pixels in the q block based on the filtering boundary.
강한 필터링에 관한 연산 과정은 다음 수학식 3과 같으며, 수학식 3에서 p', q'은 강한 필터링이 적용된 화소 값을 의미하고, p, q는 필터링이 적용되기 전의 화소 값을 의미한다. A calculation process related to strong filtering is shown in Equation 3 below, where p' and q' denote pixel values to which strong filtering is applied, and p and q denote pixel values before filtering is applied.
[수학식 3][Equation 3]
단계 S340에서 약한 필터가 선택된 경우, 복호화 장치는 각 행 또는 각 열 단위로 약한 필터링을 수행한다(S360). When the weak filter is selected in step S340, the decoding apparatus performs weak filtering in units of each row or each column (S360).
도 7은 p와 q 블록 내 임의의 한 행에 대해 약한 필터링이 적용되는 화소 범위를 나타낸 것이다. 7 shows a pixel range to which weak filtering is applied for any one row in blocks p and q.
도 7에 도시된 바와 같이, 필터링 경계에서 약한 필터가 선택된 경우, 복호화 장치는 필터링 경계를 기준으로 p와 q 블록 각각에서 최대 2개 화소까지 필터링을 수행할 수 있다. 7 , when a weak filter is selected at the filtering boundary, the decoding apparatus may perform filtering of up to two pixels in each of the p and q blocks based on the filtering boundary.
약한 필터링은 강한 필터링과는 달리, 각 행 또는 각 열 단위로 필터링을 수행할지 여부를 재결정하는 과정을 포함하고 있다. Unlike strong filtering, weak filtering includes a process of re-determining whether to perform filtering in units of each row or each column.
다음 조건식 3은 약한 필터링을 수행할지 여부를 결정하기 위한 조건을 나타낸 것이다. The following conditional expression 3 shows a condition for determining whether to perform weak filtering.
[조건식 3][Conditional Expression 3]
복호화 장치는 각 행 또는 각 열 단위로 상기 조건식 3의 조건을 만족하는 경우 약한 필터링을 수행하는 것으로 결정하고, 그렇지 않은 경우 해당 행 또는 해당 열에 대해서는 약한 필터링을 수행하지 않는다. The decoding apparatus determines to perform weak filtering when the condition of Conditional Expression 3 is satisfied in units of each row or each column, otherwise, weak filtering is not performed on the corresponding row or corresponding column.
상기 조건식 3의 조건이 만족된 경우, 복호화 장치는 먼저 필터링 경계를 기준으로 p와 q 블록 내 첫 번째 화소인 p0', q0' 화소 위치에 약한 필터링을 수행한다. p0', q0' 화소 위치에 대한 약한 필터링의 연산 과정은 다음 수학식 4와 같다. When the condition of Equation 3 is satisfied, the decoding apparatus first performs weak filtering on pixel positions p0' and q0', which are first pixels in blocks p and q, based on the filtering boundary. The calculation process of weak filtering for the pixel positions p0' and q0' is expressed in Equation 4 below.
[수학식 4][Equation 4]
다음으로, 복호화 장치는 필터링 경계를 기준으로 p와 q 블록 내 두 번째 화소인 p1', q1' 화소 각각에 대해 필터링을 수행할지 여부를 결정하고, 상기 결정된 결과에 따라 p1', q1' 화소 각각에 대해 약한 필터링을 수행한다. Next, the decoding apparatus determines whether to perform filtering on each of the pixels p1' and q1', which are the second pixels in the p and q blocks, based on the filtering boundary, and according to the determined result, each of the pixels p1' and q1' Weak filtering is performed on
다음 조건식 4는 p1' 화소에 대해 필터링을 수행할지 여부를 결정하기 위한 조건을 나타낸 것이다. 이때, p와 q 블록 내 첫 번째 행(또는 첫 번째 열)과 네 번째 행(또는 네 번째 열)의 화소 값을 참조하여 필터링 수행 여부를 결정할 수 있다. The following conditional expression 4 shows a condition for determining whether to perform filtering on the p1' pixel. In this case, it is possible to determine whether to perform filtering by referring to pixel values in the first row (or first column) and fourth row (or fourth column) in the p and q blocks.
[조건식 4][Conditional Expression 4]
상기 조건식 4를 만족하는 경우, p1' 화소 값은 다음 수학식 5와 같이 계산될 수 있다. When condition 4 is satisfied, the pixel value p1' may be calculated as in Equation 5 below.
[수학식 5][Equation 5]
다음 조건식 5는 q1' 화소에 대해 필터링을 수행할지 여부를 결정하기 위한 조건을 나타낸 것이다. 이때, p와 q 블록 내 첫 번째 행(또는 첫 번째 열)과 네 번째 행(또는 네 번째 열)의 화소 값을 참조하여 필터링 수행 여부를 결정할 수 있다.The following conditional expression 5 shows a condition for determining whether to perform filtering on the q1' pixel. In this case, it is possible to determine whether to perform filtering by referring to pixel values in the first row (or first column) and fourth row (or fourth column) in the p and q blocks.
[조건식 5][Conditional Expression 5]
상기 조건식 5를 만족하는 경우, q1' 화소 값은 다음 수학식 6과 같이 계산될 수 있다. When conditional expression 5 is satisfied, the pixel value q1' may be calculated as in Equation 6 below.
[수학식 6][Equation 6]
상기 조건식들과 상기 수학식들, 도 4 내지 도 7에서는 수직 경계를 이루는 p와 q 블록 내 화소 위치를 기준으로 설명하였지만, 수평 경계에 대한 필터링을 수행하는 경우에도 위쪽 블록을 p로, 아래쪽 블록을 q로 지정하여 동일한 방법으로 적용될 수 있다.
Although the conditional expressions and the above equations and FIGS. 4 to 7 have been described with reference to the pixel positions within the blocks p and q forming the vertical boundary, even when filtering on the horizontal boundary is performed, the upper block is referred to as p, and the lower block is set to p. can be applied in the same way by designating q as .
도 3에서 상술한 바와 같이, 기존의 디블록킹 필터링 과정에서는 디블록킹 필터링을 수행할 경계를 이루는 블록의 변환 생략 여부를 고려하지 않고 있다. 상술한 바와 같이, 변환을 수행한 블록과 변환을 수행하지 않은 변환 생략 블록 간의 잔차 신호는 매우 다른 특징을 가지기 때문에, 이러한 블록들 경계에서는 블록킹 열화가 발생할 가능성이 크다. 따라서, 본 발명에서는 변환 생략 여부를 고려하여 디블록킹 필터링을 수행하는 방법에 관해 설명한다. As described above with reference to FIG. 3 , in the existing deblocking filtering process, it does not consider whether to omit transformation of a block forming a boundary for performing deblocking filtering. As described above, since the residual signal between the transformed block and the non-transformed transform skip block has very different characteristics, blocking degradation is highly likely to occur at the boundary between these blocks. Accordingly, in the present invention, a method of performing deblocking filtering in consideration of whether or not transform is omitted will be described.
본 발명에 따르면, 부호화기는 디블록킹 필터링이 수행될 블록의 변환 생략(transform skip) 여부를 참조하는 디블록킹 필터링을 수행하여 부호화를 수행하는지 여부를 지시하는 정보(예컨대, 플래그)를 부호화하고, 이를 복호화기로 시그널링한다. 또한, 부호화기는 디블록킹 필터링이 수행될 블록의 변환 생략 여부를 참조하는 디블록킹 필터링을 수행하여 부호화한다. According to the present invention, an encoder performs deblocking filtering referring to whether transform skip of a block to be subjected to deblocking filtering is performed to encode information (eg, a flag) indicating whether encoding is performed, and signal to the decoder. In addition, the encoder performs deblocking filtering referring to whether or not transformation of a block to be subjected to deblocking filtering is omitted to perform encoding.
본 발명에 따르면, 복호화기는 디블록킹 필터링이 수행될 블록의 변환 생략 여부를 참조하여 디블록킹 필터링을 수행하는지 여부를 지시하는 정보(예컨대, 플래그)를 복호화(파싱)한다. 또한, 복호화기는 디블록킹 필터링이 수행될 블록의 변환 생략 여부를 참조하여 디블록킹 필터링을 수행한다. According to the present invention, the decoder decodes (parses) information (eg, a flag) indicating whether to perform deblocking filtering with reference to whether transformation of a block on which deblocking filtering is to be performed is omitted. In addition, the decoder performs deblocking filtering by referring to whether or not transformation of a block on which deblocking filtering is to be performed is omitted.
이때, 디블록킹 필터링이 수행될 블록의 변환 생략 여부를 참조하여 디블록킹 필터링을 수행하는지 여부를 지시하는 정보는 플래그 값으로 표현될 수 있으며, 예컨대, 플래그 값이 1이면 복호화기는 디블록킹 필터링 과정에서 변환 생략 여부를 참조한 디블록킹 필터링을 수행하며, 플래그 값이 0이면 복호화기는 디블록킹 필터링 과정에서 변환 생략 여부를 참조하지 않는 디블록킹 필터링을 수행할 수 있다. In this case, information indicating whether to perform deblocking filtering with reference to whether transformation of a block to be subjected to deblocking filtering is omitted may be expressed as a flag value. For example, if the flag value is 1, the decoder performs the deblocking filtering process. Deblocking filtering is performed with reference to whether transform is omitted, and when the flag value is 0, the decoder may perform deblocking filtering that does not refer to whether or not transform is omitted in the deblocking filtering process.
디블록킹 필터링이 수행될 블록의 변환 생략 여부를 참조하여 디블록킹 필터링을 수행하는지 여부를 지시하는 정보는 슬라이스 세그먼트 헤더(slice segment header) 단위로 시그널링 될 수 있다. Information indicating whether to perform deblocking filtering with reference to whether transformation of a block to be subjected to deblocking filtering is omitted may be signaled in units of slice segment headers.
또한, 본 발명에 따르면, "디블록킹 필터링이 수행될 블록의 변환 생략 여부를 참조하여 디블록킹 필터링을 수행"하는 기능 자체를 사용할지 여부를 나타내는 정보(예컨대, 플래그)를 시그널링할 수 있도록 하며, 이러한 정보는 슬라이스 세그먼트 헤더보다 상위 레이어에서 전달되는 신택스(syntax)를 통해 시그널링될 수 있다. 예컨대, SPS(Sequence Parameter Set), PPS(Picture parameter set), SPS_extension (Extended Sequence Parameter Set), PPS_extension (Extended Picture parameter set) 등을 통해 시그널링될 수 있다.
In addition, according to the present invention, information (eg, flag) indicating whether to use the function itself of "performing deblocking filtering with reference to whether or not transformation of a block to be subjected to deblocking filtering is omitted" can be signaled, Such information may be signaled through a syntax transmitted from a layer higher than the slice segment header. For example, it may be signaled through a sequence parameter set (SPS), a picture parameter set (PPS), an extended sequence parameter set (SPS_extension), an extended picture parameter set (PPS_extension), and the like.
도 8은 본 발명의 실시예에 따른 변환 생략 모드를 참조하는 디블록킹 필터링이 적용된 영상 복호화 방법을 나타낸 순서도이다. 도 8의 방법은 상술한 도 2의 영상 복호화 장치에 의해 수행될 수 있다. 8 is a flowchart illustrating an image decoding method to which deblocking filtering referring to a transform skip mode is applied according to an embodiment of the present invention. The method of FIG. 8 may be performed by the above-described image decoding apparatus of FIG. 2 .
도 8을 참조하면, 복호화 장치는 디블록킹 필터링이 수행될 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보를 복호화(파싱) 한다(S800).Referring to FIG. 8 , the decoding apparatus decodes (parses) filtering information indicating whether to perform deblocking filtering with reference to a transform skip mode of a filtering target block on which deblocking filtering is to be performed (S800).
상기 필터링 정보는 부호화기로부터 시그널링되며, 플래그로 표현된 정보일 수 있다. 예컨대, 플래그 값이 1이면, 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 것을 지시하고, 플래그 값이 0이면, 필터링 대상 블록의 변환 생략 모드를 참조하지 않는 디블록킹 필터링을 수행하는 것을 지시할 수 있다. The filtering information is signaled from the encoder and may be information expressed as a flag. For example, if the flag value is 1, it indicates that deblocking filtering is performed with reference to the transform skip mode of the filtering target block, and if the flag value is 0, deblocking filtering that does not refer to the transform skip mode of the filtering target block is performed can instruct you to do
상기 필터링 정보는 슬라이스 세그먼트 헤더, SPS, PPS 등을 통해 시그널링될 수 있다. 상기 필터링 정보를 시그널링하는 방법에 대해서는 후술하도록 한다. The filtering information may be signaled through a slice segment header, SPS, PPS, or the like. A method of signaling the filtering information will be described later.
복호화 장치는 예측 신호와 잔차 신호를 기반으로 복원 픽처를 생성한다(S810). The decoding apparatus generates a reconstructed picture based on the prediction signal and the residual signal (S810).
복호화 장치는 예측이 수행될 블록의 예측 모드에 따라 인트라 예측 혹은 인터 예측을 수행하여 예측 신호(예측 샘플)를 생성하고, 양자화된 계수를 역양자화/역변환하여 잔차 신호(잔차 샘플)을 생성한 후, 상기 예측 신호와 상기 잔차 신호를 더하여 복원 신호(복원 샘플)를 생성함으로써 복원된 픽처를 얻을 수 있다. The decoding apparatus generates a prediction signal (prediction sample) by performing intra prediction or inter prediction according to the prediction mode of the block in which prediction is to be performed, and inversely quantizes/inverse-transforms the quantized coefficient to generate a residual signal (residual sample). , a reconstructed picture may be obtained by generating a reconstructed signal (reconstructed sample) by adding the prediction signal and the residual signal.
복호화 장치는 상기 필터링 정보를 기반으로 복원 픽처 내 디블록킹 필터링이 수행될 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행한다(S820).The decoding apparatus performs deblocking filtering with reference to the transform skip mode of two filtering target blocks forming a filtering boundary on which deblocking filtering is to be performed in the reconstructed picture based on the filtering information (S820).
즉, 상기 필터링 정보가 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 것을 지시할 경우, 변환 생략 모드를 참조하는 디블록킹 필터링을 수행한다. 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 방법에 대해서는 도 9를 참조하여 구체적으로 설명한다. That is, when the filtering information indicates that deblocking filtering is performed with reference to the transform skip mode of the filtering target block, deblocking filtering with reference to the transform skip mode is performed. A method of performing deblocking filtering with reference to the transform skip mode will be described in detail with reference to FIG. 9 .
한편, 부호화 장치에서는 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능 자체를 사용할지 여부를 나타내는 필터링 사용 여부 정보를 슬라이스 세그먼트 헤더, SPS, PPS, SPS_entension, PPS_extension 등을 통해 시그널링할 수 있다. 복호화 장치는 상기 필터링 사용 여부 정보를 부호화 장치로부터 수신하여 복호화할 수 있다. On the other hand, the encoding device refers to the transform skip mode and indicates whether to use the function for performing deblocking filtering itself through a slice segment header, SPS, PPS, SPS_entension, PPS_extension, etc. Can be signaled. The decoding apparatus may receive the filtering usage information from the encoding apparatus and decode it.
만일, 상기 필터링 사용 여부 정보가 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능 자체를 사용하는 것으로 지시할 경우, 복호화 장치는 상기 필터링 정보에 기초하여 변환 생략 모드를 참조한 디블록킹 필터링을 수행한다. 그렇지 않은 경우, 복호화 장치는 변환 생략 모드를 참조하지 않는 (기존의) 디블록킹 필터링 방법을 수행한다.
If the filtering use information indicates that the function of performing deblocking filtering is used by referring to the transform skip mode, the decoding apparatus performs deblocking filtering with reference to the transform skip mode based on the filtering information. . Otherwise, the decoding apparatus performs a (conventional) deblocking filtering method that does not refer to the transform skip mode.
도 9는 본 발명의 실시예에 따른 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 방법을 나타낸 순서도이다. 도 9의 방법은 상술한 도 2의 영상 복호화 장치에 의해 수행될 수 있으며, 보다 구체적으로는 도 2의 필터부에 의해 수행될 수 있다. 9 is a flowchart illustrating a method of performing deblocking filtering with reference to a transform skip mode according to an embodiment of the present invention. The method of FIG. 9 may be performed by the above-described image decoding apparatus of FIG. 2 , and more specifically, may be performed by the filter unit of FIG. 2 .
본 실시예에서는 휘도(luma) 성분에 대한 디블록킹 필터링 과정을 나타낸다. 이 디블록킹 필터링 과정은 또 다른 실시예에 따라, 컬러 (chroma) 성분, 또는 RGB, XYZ, 또는 YCoCg 등을 포함한 여타의 컬러 공간내의 성분들에게도 적용될 수 있다.In this embodiment, a deblocking filtering process for a luma component is shown. According to another embodiment, this deblocking filtering process may be applied to a color (chroma) component or components in other color spaces including RGB, XYZ, or YCoCg.
상술한 바와 같이, 디블록킹 필터링은 (디블록킹 필터링 전) 복원 픽처에서 먼저 블록의 수직 경계(수직 에지 경계)에 대해서 수평 방향으로 필터링을 수행한 후, 블록의 수평 경계(수평 에지 경계)에 대해서 수직 방향으로 필터링을 수행한다.As described above, in the deblocking filtering (before deblocking filtering), filtering is first performed in the horizontal direction on the vertical boundary (vertical edge boundary) of the block in the reconstructed picture, and then on the horizontal boundary (horizontal edge boundary) of the block. Filtering is performed in the vertical direction.
본 실시예에서는 설명의 편의를 위해서 수직 에지 경계를 기준으로 디블록킹 필터링을 수행하는 과정에 대해 설명하나, 이는 수평 에지 경계에 대해서도 동일한 방법으로 적용될 수 있다.In this embodiment, for convenience of description, a process of performing deblocking filtering based on a vertical edge boundary is described, but this can be applied to a horizontal edge boundary in the same way.
도 9를 참조하면, 복호화 장치는 복원 픽처에서 8x8 블록의 경계를 단위로 하여, 8x8 블록 경계에 위치하는 PU(Prediction Unit, 예측 유닛) 또는 TU(Transform Unit, 변환 유닛) 경계인지를 판단한다(S900).9, the decoding apparatus determines whether the boundary of the 8x8 block in the reconstructed picture is a PU (Prediction Unit) or TU (Transform Unit) boundary positioned at the 8x8 block boundary as a unit ( S900).
만일, PU 또는 TU 경계가 존재하지 않는 8x8 블록 경계에 대해서는 디블록킹 필터링을 수행하지 않는다. If there is no PU or TU boundary, deblocking filtering is not performed on the 8x8 block boundary.
8x8 블록 경계이면서 PU 또는 TU 경계일 경우, 복호화 장치는 디블록킹 필터링이 수행될 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 경계 강도(Boundary Strength, 이하 Bs라 함)를 결정한다(S910). In the case of an 8x8 block boundary and a PU or TU boundary, the decoding apparatus determines the boundary strength (hereinafter referred to as Bs) with reference to the transform skip mode of two filtering target blocks forming the filtering boundary on which deblocking filtering is to be performed. (S910).
여기서, 필터링 경계를 이루는 두 개의 필터링 대상 블록을 p 블록, q 블록이라 한다. 예를 들어, 수평 경계에 대한 디블록킹 필터링을 수행하는 경우에는 수평 경계를 기준으로 위쪽에 위치하는 블록을 p, 아래쪽에 위치하는 블록이 q가 된다. 수직 경계에 대한 디블록킹 필터링을 수행하는 경우에는 수직 경계를 기준으로 왼쪽에 위치하는 블록을 p, 오른쪽에 위치하는 블록이 q가 된다. Here, two filtering target blocks forming a filtering boundary are referred to as a p block and a q block. For example, when deblocking filtering is performed on a horizontal boundary, a block located above the horizontal boundary becomes p, and a block located below the horizontal boundary becomes q. When deblocking filtering is performed on a vertical boundary, a block located on the left side of the vertical boundary becomes p, and a block located on the right side becomes q.
필터링 경계를 이루는 p 블록과 q 블록 중 적어도 하나가 변환 생략 모드가 적용된 블록인 경우, 다시 말해 p 블록과 q 블록 중 적어도 하나가 변환 생략을 한 경우, 복호화 장치는 다음의 네 가지 경계강도(Bs) 결정 방법 중, 부/복호화기에서 기 정의된 적어도 하나의 방법을 사용하여 Bs를 결정할 수 있다. 한편 아래의 구현에 설명에서는 편의상 Bs 값의 범위가 [0,2]로 한정된 경우를 특정하여 설명하였으나, Bs의 최대값이 2가 아닌 다른 값 (Bs_max 라 하자)일 경우도 본 발명은 동일한 사상으로 적용될 수 있다.When at least one of the p-block and q-block constituting the filtering boundary is a block to which the transform skip mode is applied, that is, when at least one of the p block and the q block has the transform omitted, the decoding apparatus performs the following four boundary strengths (Bs). ) among the determination methods, Bs may be determined using at least one method predefined in the encoder/decoder. Meanwhile, in the following implementation description, the case where the range of the Bs value is limited to [0,2] has been specifically described for convenience, but the present invention provides the same idea when the maximum value of Bs is a value other than 2 (let's call it Bs_max). can be applied as
1) p 또는 q 블록이 인트라 블록(인트라 예측 모드로 코딩된 블록)인 경우, Bs를 1로 설정한다. 1) If the p or q block is an intra block (a block coded in the intra prediction mode), Bs is set to 1.
2) 기존의 Bs 결정 방법(도 3의 Bs 계산 과정 참조)에 의해 산출된 Bs 값에서 1을 뺀 값을 최종 Bs로 설정한다. 단, 최종 Bs 값이 음수일 경우, 최종 Bs 값을 0으로 설정한다. 이는 다음 수학식 7과 같이 표현될 수 있다. 2) A value obtained by subtracting 1 from the Bs value calculated by the conventional Bs determination method (refer to the Bs calculation process of FIG. 3 ) is set as the final Bs. However, if the final Bs value is negative, the final Bs value is set to 0. This can be expressed as Equation 7 below.
[수학식 7][Equation 7]
3) 기존의 Bs 결정 방법(도 3의 Bs 계산 과정 참조)에 의해 산출된 Bs 값에서 1을 더한 값을 최종 Bs로 설정한다. 단, 최종 Bs 값이 Bs_max보다 큰 경우, 최종 Bs 값을 Bs_max 값으로 설정한다. 이는 다음 수학식 8과 같이 표현될 수 있다(다음 수학식은 Bs_max =2 인 경우를 특정하여 보여준다. Bs_max 가 2가 아닌 경우는 다음 수학식에서 2를 Bs_max로 바꾸면 된다).3) A value obtained by adding 1 to the Bs value calculated by the existing Bs determination method (refer to the Bs calculation process of FIG. 3 ) is set as the final Bs. However, when the final Bs value is greater than Bs_max, the final Bs value is set as the Bs_max value. This can be expressed as in Equation 8 (the following Equation specifically shows a case where Bs_max =2. If Bs_max is not 2, just replace 2 with Bs_max in the following Equation).
[수학식 8][Equation 8]
4) Bs를 [0, B_max] 의 범위내의 특정값으로 결정할 수 있다. 이를 좀 더 살펴보면 다음과 같다4) Bs can be determined as a specific value within the range of [0, B_max]. Here's a closer look at this:
4-1) 항상 Bs를 0으로 결정할 수 있다. 이는 해당 블록 경계면에 디블록킹 필더링을 수행하지 않는 것으로 간주될 수 있다. 4-1) Bs can always be determined to be 0. This may be regarded as not performing deblocking filtering on the corresponding block boundary.
4-2) 항상 Bs를 Bs_max 값으로 (예를 들어, Bs_max =2인 경우, Bs=2 로 정함) 결정할 수 있다. 이는 해당 블록 경계면에 가장 강한 강도의 디블록킹 필더링을 수행하는 것으로 간주될 수 있다.4-2) Bs can always be determined as the Bs_max value (eg, when Bs_max = 2, Bs = 2 is set). This can be considered as performing the strongest deblocking filtering on the corresponding block boundary.
4-3) 항상 Bs를 1로 결정할 수 있다.
4-3) Bs can always be determined to be 1.
또한, 추가적으로, p 또는 q 블록이 인트라 블록(인트라 예측 모드로 코딩된 블록)인 경우, 상가의 방법으로 결정된 Bs에 대하여 소정의 값 (예를 들어, 1의 값)을 더하도록 구현될 수도 있다.In addition, when the p or q block is an intra block (a block coded in the intra prediction mode), it may be implemented to add a predetermined value (eg, a value of 1) to Bs determined by an additive method. .
한편, 또 다른 구현에서는 필터링 경계를 이루는 p 블록과 q 블록 모두가 변환 생략 모드 적용된 블록의 경우, 복호화 장치는 위에서 상술한 네 가지 경계강도(Bs) 결정 방법 중, 부/복호화기에서 기 정의된 적어도 하나의 방법을 사용하여 Bs를 결정하도록 실현될 수 있다. On the other hand, in another implementation, in the case of a block to which the transform skip mode is applied to both the p block and the q block constituting the filtering boundary, the decoding apparatus uses a predefined method among the four boundary strength (Bs) determination methods described above in the encoder/decoder. It may be realized to determine Bs using at least one method.
필터링 경계를 이루는 p 블록과 q 블록 모두가 변환 생략 모드가 적용된 블록이 아닌 경우, 복호화 장치는 기존의 방법에 따라 Bs를 결정한다. 기존 방법은 도 3의 실시예에서 설명한 바 있다. When both the p-block and the q-block constituting the filtering boundary are not blocks to which the transform skip mode is applied, the decoding apparatus determines Bs according to a conventional method. The existing method has been described in the embodiment of FIG. 3 .
복호화 장치는 Bs 값이 0보다 큰 경우에 해당하는 필터링 경계에서 디블록킹 필터링을 수행할지 여부를 결정한다(S920). 이때, 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링 수행 여부를 결정한다. The decoding apparatus determines whether to perform deblocking filtering at a filtering boundary corresponding to a case in which the Bs value is greater than 0 (S920). At this time, it is determined whether deblocking filtering is performed by referring to the transform skip mode of two filtering target blocks forming the filtering boundary.
보다 구체적으로, 먼저 복호화 장치는 디블록킹 필터링 수행 여부를 결정하기 위해 사용되는 변수 β, tc를 계산한다. More specifically, first, the decoding apparatus calculates variables β and t c used to determine whether to perform deblocking filtering.
필터링 경계를 이루는 p 블록과 q 블록 중 적어도 하나가 변환 생략 모드가 적용된 블록인 경우, 복호화 장치는 다음과 같이 변수 β, tc를 계산할 수 있다. When at least one of the p block and the q block forming the filtering boundary is a block to which the transform skip mode is applied, the decoding apparatus may calculate the variables β and t c as follows.
1) 변수 β, tc 값 계산 시에 동일한 오프셋(offset)을 사용하는 경우1) When using the same offset when calculating the values of β and t c
오프셋은 β, tc 값을 결정하기 위해 사용되는 Q 값 계산 시 필요한 정보이며, 상위 레이어(슬라이스 세그먼트 헤더 등)를 통해 시그널링되는 값이다. 예컨대, slice_deblock_transformskip_offset 신택스 요소(syntax element)로 시그널링될 수 있다. The offset is information necessary for calculating the Q value used to determine the β and t c values, and is a value signaled through an upper layer (such as a slice segment header). For example, it may be signaled by a slice_deblock_transformskip_offset syntax element.
β 값을 결정하기 위해 사용되는 Q 값은 아래 수학식 9와 같이 계산될 수 있다. The Q value used to determine the β value may be calculated as in Equation 9 below.
[수학식 9][Equation 9]
tc 값을 결정하기 위해 사용되는 Q 값은 아래 수학식 10과 같이 계산될 수 있다. The Q value used to determine the t c value may be calculated as in Equation 10 below.
[수학식 10] [Equation 10]
2) 변수 β, tc 값 계산 시에 서로 다른 오프셋을 사용하는 경우2) When using different offsets when calculating the values of β and t c
β 값을 결정하기 위해 사용되는 오프셋은 slice_beta_transformskip_offset일 수 있으며, tc 값을 결정하기 위해 사용되는 오프셋은 slice_tc_transformskip_offset일 수 있다. 상기 오프셋은 상위 레이어(슬라이스 세그먼트 헤더 등)를 통해 시그널링되는 값이다.The offset used to determine the β value may be slice_beta_transformskip_offset, and the offset used to determine the t c value may be slice_tc_transformskip_offset. The offset is a value signaled through an upper layer (such as a slice segment header).
β 값을 결정하기 위해 사용되는 Q 값은 아래 수학식 11과 같이 계산될 수 있다. The Q value used to determine the β value may be calculated as in Equation 11 below.
[수학식 11][Equation 11]
tc 값을 결정하기 위해 사용되는 Q 값은 아래 수학식 12와 같이 계산될 수 있다. The Q value used to determine the t c value may be calculated as in Equation 12 below.
[수학식 12][Equation 12]
복호화 장치는 상기와 같이 Q 값을 계산하고, 계산된 Q 값을 입력으로 하여β, tc 값을 결정하기 위해 미리 정의된 테이블(표 1 참조)로부터 β', tc'을 산출하고, 산출된 β', tc'를 기반으로 최종 β, tc 값을 결정할 수 있다. The decoding apparatus calculates the Q value as described above, and calculates β' and t c ' from a predefined table (see Table 1) to determine the β and t c values by inputting the calculated Q value as an input. Based on the obtained β', t c ', the final β, t c values can be determined.
변수 β, tc 값 계산 시에 사용되는 오프셋은 부호화기에서 복호화기로 전달하는 방법에 따라 다음과 같이 구현 가능하다. 예를 들어, slice_deblock_transformskip_offset, slice_beta_transformskip_offset, slice_tc_transformskip_offset 등의 오프셋 값을 그대로 시그널링할 수 있다. 또는, 부호화기에서는 각 오프셋 값에 대하여 우측 쉬프트(shift) 연산(>>1)을 수행한 값을 전송하고, 복호화기에서는 전송된 오프셋 값을 좌측 쉬프트 연산(<<1)을 수행한 다음 사용할 수 있다. The offset used when calculating the values of variables β and t c can be implemented as follows depending on the method of transmission from the encoder to the decoder. For example, offset values such as slice_deblock_transformskip_offset, slice_beta_transformskip_offset, and slice_tc_transformskip_offset may be signaled as they are. Alternatively, the encoder transmits a value obtained by performing a right shift operation (>>1) on each offset value, and the decoder performs a left shift operation (<<1) on the transmitted offset value before use. have.
필터링 경계를 이루는 p 블록과 q 블록 모두가 변환 생략 모드가 적용된 블록이 아닌 경우, 복호화 장치는 기존의 방법에 따라 β, tc를 결정한다. 기존 방법은 도 3의 실시예에서 설명한 바 있다. When both the p block and the q block constituting the filtering boundary are not blocks to which the transform skip mode is applied, the decoding apparatus determines β and t c according to a conventional method. The existing method has been described in the embodiment of FIG. 3 .
복호화 장치는 상기 계산된 β, tc 값을 기반으로 디블록킹 필터링을 수행할지 여부를 결정할 수 있다. β, tc 값을 기반으로 디블록킹 필터링을 수행할지 여부를 결정하는 과정은 도 3의 실시예에서 상술한 바 있으므로, 여기서는 구체적인 설명을 생략한다. The decoding apparatus may determine whether to perform deblocking filtering based on the calculated β and t c values. Since the process of determining whether to perform deblocking filtering based on the β and t c values has been described above in the embodiment of FIG. 3 , a detailed description thereof will be omitted.
디블록킹 필터링을 수행하는 것으로 결정된 경우, 복호화 장치는 라인 단위(수직 경계인 경우 행 단위/수평 경계인 경우 열 단위)로 필터링 종류(강한 필터링/약한 필터링)를 결정하고, 결정된 필터링 종류에 따라 필터링을 수행한다(S930).When it is determined to perform deblocking filtering, the decoding device determines the filtering type (strong filtering/weak filtering) on a line-by-line basis (row unit for vertical boundary/column unit for horizontal boundary), and performs filtering according to the determined filtering type do (S930).
필터링 경계를 이루는 p 블록과 q 블록 중 적어도 하나가 변환 생략 모드가 적용된 블록인 경우, 복호화 장치는 다음 과정을 수행한다. When at least one of blocks p and q forming the filtering boundary is a block to which the transform skip mode is applied, the decoding apparatus performs the following process.
1) 복호화 장치는 기존의 블록 단위와는 달리, 라인 단위로 강한 필터링을 적용할지 또는 약한 필터링을 적용할지를 결정할 수 있다. 1) The decoding apparatus may determine whether to apply strong filtering or weak filtering in units of lines, unlike the existing block units.
다음 조건식 6은 필터링 종류를 결정하기 위한 조건들을 나타낸 것이고, 도 10은 p와 q 블록 내 필터링 종류 결정 시 참조되는 화소들을 나타낸 것이다. 도 10에 도시된 바와 같이, 본 발명의 실시예에 따른 필터링 종류 결정 시에는 p와 q 블록 내 화소들을 라인 단위로 참조한다. The following conditional expression 6 shows conditions for determining the filtering type, and FIG. 10 shows pixels referenced when determining the filtering type in blocks p and q. As shown in FIG. 10 , when determining a filtering type according to an embodiment of the present invention, pixels in p and q blocks are referred to in units of lines.
[조건식 6][Conditional Expression 6]
복호화 장치는 상기 조건식 6의 조건 1~3을 모두 만족하는 경우 강한 필터링을 적용하고, 그렇지 않은 경우 약한 필터링을 적용한다. The decoding apparatus applies strong filtering when all conditions 1 to 3 of Conditional Expression 6 are satisfied, and applies weak filtering if not.
2-1) 강한 필터링을 적용하는 것으로 결정된 경우, 복호화 장치는 해당 라인의 화소들에 대해 강한 필터링을 수행할 수 있다. 이때, 강한 필터링은 기존의 방법과 동일하게 수행될 수 있으며, 강한 필터링 연산 과정은 도 3의 수학식 3과 같이 수행될 수 있다.2-1) When it is determined to apply strong filtering, the decoding apparatus may perform strong filtering on pixels of a corresponding line. In this case, strong filtering may be performed in the same manner as in the existing method, and the strong filtering operation may be performed as in Equation 3 of FIG. 3 .
2-2) 약한 필터링을 적용하는 것으로 결정된 경우, 복호화 장치는 필터링 경계를 기준으로 p와 q 블록의 첫 번째 화소에 대해서는 기존의 약한 필터링과 동일한 방법으로 필터링을 수행할 수 있다. 기존의 약한 필터링 연산 과정은 도 3의 수학식 4와 같이 수행될 수 있다. 2-2) When it is determined to apply the weak filtering, the decoding apparatus may perform filtering on the first pixel of the p and q blocks based on the filtering boundary in the same manner as in the existing weak filtering. The existing weak filtering operation process may be performed as in Equation 4 of FIG. 3 .
필터링 경계를 기준으로 p와 q 블록의 첫 번째 화소에 약한 필터링이 수행된 경우, 복호화 장치는 필터링 경계를 기준으로 p와 q 블록의 두 번째 화소에 대해 약한 필터링을 수행할지 여부를 결정할 수 있다. 이때, p와 q 블록 내 첫 라인과 마지막 라인을 참조하여 약한 필터링 수행 여부를 결정하는 기존의 방법과는 달리, 본 발명에서는 해당 라인의 화소 값만을 참조하여 p와 q 블록의 두 번째 화소에 대한 필터링 여부를 결정할 수 있다. When weak filtering is performed on the first pixel of the p and q blocks based on the filtering boundary, the decoding apparatus may determine whether to perform the weak filtering on the second pixel of the p and q blocks based on the filtering boundary. At this time, unlike the conventional method of determining whether to perform weak filtering by referring to the first and last lines in the p and q blocks, the present invention refers to only the pixel values of the corresponding lines for the second pixel of the p and q blocks. You can decide whether to filter or not.
도 11은 필터링 경계를 기준으로 p와 q 블록 내 화소 위치를 나타낸 것이다. 11 shows pixel positions in p and q blocks based on a filtering boundary.
도 11을 참조하면, 필터링 경계를 기준으로 p와 q 블록 내 첫 번째 화소는 p0'과 q0'일 수 있다. 필터링 경계를 기준으로 p와 q 블록 내 두 번째 화소는 p1'과 q1'일 수 있다. Referring to FIG. 11 , the first pixels in the blocks p and q based on the filtering boundary may be p0' and q0'. Based on the filtering boundary, the second pixels in the blocks p and q may be p1' and q1'.
다음 조건식 7은 p 블록 내 첫 번째 화소 p1'에 대해 필터링을 수행할지 여부를 결정하기 위한 조건을 나타낸 것이며, 조건식 7이 만족되는 경우 전술한 수학식 5를 사용하여 p1'의 화소값을 계산한다.The following conditional expression 7 shows a condition for determining whether to perform filtering on the first pixel p1' in the p block, and when conditional expression 7 is satisfied, the pixel value of p1' is calculated using the above-mentioned Equation 5 .
[조건식 7][Conditional Expression 7]
다음 조건식 8은 q 블록 내 첫 번째 화소 q1'에 대해 필터링을 수행할지 여부를 결정하기 위한 조건을 나타낸 것이며, 조건식 8이 만족되는 경우 전술한 수학식 6을 사용하여 q1'의 화소값을 계산한다.The following conditional expression 8 represents a condition for determining whether to perform filtering on the first pixel q1' in the q block, and when conditional expression 8 is satisfied, the pixel value of q1' is calculated using the above-mentioned Equation 6 .
[조건식 8][Conditional Expression 8]
필터링 경계를 이루는 p 블록과 q 블록 모두가 변환 생략 모드가 적용된 블록이 아닌 경우, 복호화 장치는 기존의 방법에 따라 필터링 종류를 결정하여 필터링을 수행할 수 있다. 기존의 방법은 도 3의 실시예에서 설명한 바 있다. When both the p-block and the q-block constituting the filtering boundary are not blocks to which the transform skip mode is applied, the decoding apparatus may determine a filtering type according to an existing method and perform filtering. The conventional method has been described in the embodiment of FIG. 3 .
상술한 도 9의 실시예는 설명의 편의상 복호화 장치에서 수행되는 것으로 설명하였으나, 상술한 도 1의 부호화 장치, 보다 구체적으로는 도 1의 부호화 장치의 필터부에서 동일하게 수행될 수 있다.
Although the above-described embodiment of FIG. 9 has been described as being performed by the decoding apparatus for convenience of description, the above-described encoding apparatus of FIG. 1 , and more specifically, the same may be performed in the filter unit of the encoding apparatus of FIG. 1 .
한편, 본 발명의 또 다른 실시 형태로, 변환 생략 TU의 크기를 기반으로 변환 생략 모드를 참조한 디블록킹 필터링을 수행할지 여부를 결정할 수 있다. Meanwhile, according to another embodiment of the present invention, it may be determined whether to perform deblocking filtering with reference to the transform skip mode based on the size of the transform skip TU.
p 또는 q 블록에 변환생략이 적용되고 그 변환 생략 TU의 크기가 기 정의된 문턱값 보다 작은 경우, 항상 도 3의 실시예와 같은 기존 방법으로 디블록킹 필터링을 수행하도록 할 수 있다. 변환 생략 TU의 크기가 큰 경우 본 발명의 효과가 크기 때문에, p 또는 q 블록의 변환 생략 TU의 크기가 기 정의된 문턱값 보다 큰 경우, 도 9의 실시예와 같이 변환 생략 모드를 참조한 디블록킹 필터링을 수행하도록 할 수 있다. When transform skip is applied to the p or q block and the size of the transform skip TU is smaller than a predefined threshold, deblocking filtering may be always performed in the existing method as in the embodiment of FIG. 3 . Since the effect of the present invention is large when the size of the transform skip TU is large, when the size of the transform skip TU of the p or q block is larger than a predefined threshold, deblocking referring to the transform skip mode as in the embodiment of FIG. 9 . Filtering can be done.
이때, p와 q 블록 모두 변환 생략 모드가 적용된 경우, p와 q 블록의 TU 중 더 큰 크기의 TU를 변환 생략 TU의 크기로 결정하여 기 정의된 문턱값과 비교할 수 있다. 또는, p와 q 블록의 TU 중 작은 크기의 TU를 변환 생략 TU의 크기로 결정하여 기 정의된 문턱값과 비교할 수 있다. In this case, when the transform skip mode is applied to both the p and q blocks, a TU having a larger size among the TUs of the p and q blocks may be determined as the size of the transform skip TU and compared with a predefined threshold value. Alternatively, a TU having a smaller size among the TUs of the p and q blocks may be determined as the size of the transform skip TU and compared with a predefined threshold value.
기 정의된 문턱값은 상위 레이어(예컨대, 슬라이스 세그먼트 헤더 등)에서 시그널링된 값일 수 있다. The predefined threshold may be a value signaled from a higher layer (eg, a slice segment header, etc.).
또한, p 또는 q 블록의 변환 생략 TU의 크기라 함은 해당 p 또는 q 블록이 속한 TU의 크기를 지칭한다.
In addition, the size of a TU for which the p or q block is omitted for transformation refers to the size of the TU to which the corresponding p or q block belongs.
이하에서는 본 발명에 따른 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보와, 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능 자체를 사용할지 여부를 나타내는 필터링 사용 여부 정보를 시그널링하는 방법에 대해 설명한다. Hereinafter, filtering information indicating whether to perform deblocking filtering with reference to the transform skip mode according to the present invention, and filtering use information indicating whether to use the function for performing deblocking filtering with reference to the transform skip mode A signaling method will be described.
표 2는 PPS에서 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능 자체를 사용할지 여부를 나타내는 필터링 사용 여부 정보를 시그널링하는 것을 나타낸 것이다. Table 2 shows signaling of whether to use filtering information indicating whether to use the function itself for performing deblocking filtering with reference to the transform skip mode in the PPS.
[표 2] [Table 2]
표 2를 참조하면, deblocking_filter_refer_transform_skip_enabled_flag 값이 1인 경우, 해당 PPS를 참조하는 슬라이스에서는 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능 자체를 사용하는 것을 나타낸다. Referring to Table 2, when the value of deblocking_filter_refer_transform_skip_enabled_flag is 1, the slice referring to the corresponding PPS indicates that the function of performing deblocking filtering is used by referring to the transform skip mode.
deblocking_filter_refer_transform_skip_enabled_flag 값이 0인 경우, 해당 PPS를 참조하는 모든 슬라이스에서는 변환 생략 모드를 참조하지 않는 (기존의) 디블록킹 필터링 방법을 사용하는 것을 나타낸다. When the deblocking_filter_refer_transform_skip_enabled_flag value is 0, it indicates that the (conventional) deblocking filtering method that does not refer to the transform skip mode is used in all slices referring to the corresponding PPS.
표 3은 슬라이스 세그먼트 헤더에서 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보를 시그널링하는 것을 나타낸 것이다.Table 3 shows signaling of filtering information indicating whether to perform deblocking filtering by referring to the transform skip mode in the slice segment header.
[표 3][Table 3]
표 3을 참조하면, deblocking_filter_refer_transform_skip_flag 값이 1인 경우, 해당 슬라이스 내의 디블록킹 수행 시에는 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 것을 나타낸다. Referring to Table 3, when the value of deblocking_filter_refer_transform_skip_flag is 1, it indicates that deblocking filtering is performed with reference to the transform skip mode when deblocking within a corresponding slice is performed.
deblocking_filter_refer_transform_skip_flag 값이 0인 경우, 해당 슬라이스 내의 디블록킹 수행 시에는 변환 생략 모드를 참조하지 않는 디블록킹 필터링을 수행하는 것을 나타낸다. When the value of deblocking_filter_refer_transform_skip_flag is 0, it indicates that deblocking filtering that does not refer to the transform skip mode is performed when deblocking within a corresponding slice is performed.
상기의 표 2와 표3의 설명에서는 구체적인 설명을 위하여 PPS 레벨의 전달을 picture_parameter_set_rbsp()를 예들 들어 설명하였으나, 실제 구현에서는 다른 레벨일 수 있으며, 또한 PPS의 확장판(extension) 인 extended_picture_parameter_set_rbsp()일 수 있다. 또한, 표 3내의 deblocking_filter_refer_transform_skip_flag 값을 참조하는 과정은 extension 의 경우에만 수행되도록 할 수 있다.
In the descriptions of Tables 2 and 3 above, the transmission of the PPS level has been described using picture_parameter_set_rbsp() as an example for a detailed description, but in actual implementation, it may be at a different level, and may also be an extended_picture_parameter_set_rbsp() which is an extension of the PPS. have. In addition, the process of referring to the deblocking_filter_refer_transform_skip_flag value in Table 3 may be performed only in the case of extension.
도 12는 본 발명의 실시예에 따른 변환 생략 모드를 참조하는 디블록킹 필터링이 적용된 영상 부호화 방법을 나타낸 순서도이다. 도 12의 방법은 상술한 도 1의 영상 부호화 장치에 의해 수행될 수 있다. 12 is a flowchart illustrating an image encoding method to which deblocking filtering referring to a transform skip mode is applied according to an embodiment of the present invention. The method of FIG. 12 may be performed by the above-described image encoding apparatus of FIG. 1 .
도 12를 참조하면, 부호화 장치는 예측 신호와 잔차 신호를 기반으로 복원 픽처를 생성한다(S1200). Referring to FIG. 12 , the encoding apparatus generates a reconstructed picture based on a prediction signal and a residual signal ( S1200 ).
부호화 장치는 예측이 수행될 블록의 예측 모드에 따라 인트라 예측 혹은 인터 예측을 수행하여 예측 신호(예측 샘플)를 생성하고, 양자화된 계수를 역양자화/역변환하여 잔차 신호(잔차 샘플)을 생성한 후, 상기 예측 신호와 상기 잔차 신호를 더하여 복원 신호(복원 샘플)를 생성함으로써 복원된 픽처를 얻을 수 있다.The encoding apparatus generates a prediction signal (prediction sample) by performing intra prediction or inter prediction according to the prediction mode of the block in which prediction is to be performed, and generates a residual signal (residual sample) by inverse quantizing/inverse transforming the quantized coefficients. , a reconstructed picture may be obtained by generating a reconstructed signal (reconstructed sample) by adding the prediction signal and the residual signal.
부호화 장치는 복원 픽처 내 디블록킹 필터링이 수행될 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행한다(S1210).The encoding apparatus performs deblocking filtering with reference to transform skip modes of two filtering target blocks forming a filtering boundary on which deblocking filtering is to be performed in the reconstructed picture (S1210).
변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 방법에 대해서는 도 9를 참조하여 구체적으로 설명한 바 있으므로, 여기서는 설명을 생략하도록 한다.Since the method of performing deblocking filtering with reference to the transform skip mode has been described in detail with reference to FIG. 9 , a description thereof will be omitted herein.
부호화 장치는 디블록킹 필터링이 수행될 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보를 부호화한다(S1220).The encoding apparatus encodes filtering information indicating whether to perform deblocking filtering with reference to a transform skip mode of a filtering target block on which deblocking filtering is to be performed (S1220).
부호화된 필터링 정보는 슬라이스 세그먼트 헤더, PPS, SPS 등을 통해 복호화 장치로 시그널링될 수 있다.
The encoded filtering information may be signaled to the decoding apparatus through a slice segment header, PPS, SPS, or the like.
상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The method according to the present invention described above may be produced as a program to be executed by a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape. , a floppy disk, an optical data storage device, and the like, and also includes those implemented in the form of a carrier wave (eg, transmission through the Internet).
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer-readable recording medium is distributed in network-connected computer systems, so that the computer-readable code can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention pertains.
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiments, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of the steps, and some steps may occur in a different order or at the same time as other steps as described above. can In addition, those of ordinary skill in the art will recognize that the steps shown in the flowchart are not exclusive, other steps may be included, or that one or more steps in the flowchart may be deleted without affecting the scope of the present invention. You will understand.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 특허청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
Claims (11)
디블록킹 필터링이 수행될 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행할지 여부를 나타내는 필터링 정보를 복호화하는 단계;
예측 신호와 잔차 신호를 기반으로 복원 픽처를 생성하는 단계; 및
상기 필터링 정보를 기반으로 상기 복원 픽처 내 디블록킹 필터링이 수행될 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.In the video decoding method,
decoding filtering information indicating whether to perform deblocking filtering with reference to a transform skip mode of a filtering target block on which deblocking filtering is to be performed;
generating a reconstructed picture based on the prediction signal and the residual signal; and
and performing deblocking filtering with reference to transform skip modes of two filtering target blocks forming a filtering boundary on which deblocking filtering is to be performed in the reconstructed picture based on the filtering information.
상기 필터링 정보는 시퀀스 파라미터 세트, 익스텐디드 시퀀스 파라미터 세트, 픽처 파라미터 세트, 익스텐디드 픽처 파라미터 세트 또는 슬라이스 헤더에서 시그널링 되는 것을 특징으로 하는 영상 복호화 방법.According to claim 1,
The filtering information is signaled in a sequence parameter set, an extended sequence parameter set, a picture parameter set, an extended picture parameter set, or a slice header.
상기 필터링 대상 블록의 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 기능의 사용 여부를 나타내는 필터링 사용 여부 정보를 복호화하는 단계를 더 포함하며,
상기 필터링 사용 여부 정보가 상기 기능을 사용하는 것으로 지시하면 상기 필터링 정보에 기초하여 상기 복원 픽처에 대한 디블록킹 필터링을 수행하는 것을 특징으로 하는 영상 복호화 방법.According to claim 1,
The method further includes decoding information on whether to use filtering indicating whether to use a function for performing deblocking filtering with reference to a transform skip mode of the filtering target block,
When the filtering usage information indicates that the function is used, deblocking filtering is performed on the reconstructed picture based on the filtering information.
상기 필터링 경계를 이루는 두 개의 필터링 대상 블록 중 적어도 하나의 변환 블록의 크기가 기 정의된 임계값 이상인 경우, 상기 변환 생략 모드를 참조하여 디블록킹 필터링을 수행하는 것을 특징으로 하는 영상 복호화 방법.According to claim 1,
Deblocking filtering is performed with reference to the transform skip mode when the size of at least one transform block among the two filtering target blocks forming the filtering boundary is equal to or greater than a predefined threshold.
상기 필터링 경계를 이루는 두 개의 필터링 대상 블록 중 적어도 하나에 변환 생략 모드가 적용된 경우, 상기 필터링 경계를 이루는 두 개의 필터링 대상 블록의 예측 모드에 기초하여 경계 강도(BS)를 결정하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법. According to claim 1,
When the transform skip mode is applied to at least one of the two filtering object blocks forming the filtering boundary, determining the boundary strength (BS) based on the prediction mode of the two filtering object blocks forming the filtering boundary A video decoding method characterized in that.
상기 필터링 경계를 이루는 두 개의 필터링 대상 블록 중 적어도 하나가 인트라 모드로 예측된 경우, 상기 경계 강도는 1로 설정되는 것을 특징으로 하는 영상 복호화 방법. 6. The method of claim 5,
When at least one of the two filtering blocks constituting the filtering boundary is predicted in the intra mode, the boundary strength is set to 1.
상기 필터링 경계를 이루는 두 개의 필터링 대상 블록 중 적어도 하나에 변환 생략 모드가 적용된 경우, 디블록킹 필터링 과정에서 사용되는 변수 β와 tc에 대한 오프셋 정보를 파싱하는 단계를 더 포함하고,
상기 디블록킹 필터링을 수행하는 단계는,
상기 오프셋 정보에 기초하여 상기 변수 β와 tc를 연산하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.According to claim 1,
When the transform skip mode is applied to at least one of the two filtering target blocks forming the filtering boundary, the method further comprises parsing offset information on variables β and tc used in the deblocking filtering process,
The step of performing the deblocking filtering comprises:
and calculating the variables β and tc based on the offset information.
상기 변수 β와 상기 변수 tc에 대한 오프셋은 동일한 것을 특징으로 하는 영상 복호화 방법.8. The method of claim 7,
An image decoding method, characterized in that the variable β and the offset with respect to the variable tc are the same.
상기 변수 β와 상기 변수 tc에 대한 오프셋은 서로 상이한 것을 특징으로 하는 영상 복호화 방법.8. The method of claim 7,
The video decoding method according to claim 1, wherein offsets for the variable β and the variable tc are different from each other.
상기 디블록킹 필터링을 수행하는 단계는,
상기 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 경계 강도(BS)를 결정하는 단계;
상기 경계 강도가 0보다 크면, 상기 필터링 경계를 이루는 두 개의 필터링 대상 블록의 변환 생략 모드를 참조하여 계산된 변수 β와 tc를 이용하여 디블록킹 필터링 수행 여부를 결정하는 단계;
상기 디블록킹 필터링을 수행하는 것으로 결정되고, 상기 필터링 경계를 이루는 두 개의 필터링 대상 블록 중 적어도 하나에 변환 생략 모드가 적용된 경우, 상기 필터링 경계와 수직 또는 수평한 개별적인 라인에 대하여 필터링 종류를 결정하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.According to claim 1,
The step of performing the deblocking filtering comprises:
determining a boundary strength (BS) with reference to a transform skip mode of two filtering target blocks constituting the filtering boundary;
if the boundary strength is greater than 0, determining whether to perform deblocking filtering using variables β and tc calculated with reference to transform skip modes of two filtering target blocks constituting the filtering boundary;
When it is determined to perform the deblocking filtering and a transform skip mode is applied to at least one of the two filtering target blocks forming the filtering boundary, determining a filtering type for an individual line perpendicular or horizontal to the filtering boundary An image decoding method comprising a.
상기 필터링 종류가 약한 필터링으로 결정된 경우, 상기 필터링 경계로부터 두 번째 위치에 있는 화소 값은 상기 두 번째 위치에 있는 화소와 동일한 라인의 화소 값만을 참조하여 결정되는 것을 특징으로 하는 영상 복호화 방법. 11. The method of claim 10,
When the filtering type is determined to be weak filtering, the pixel value at the second position from the filtering boundary is determined by referring only to the pixel value on the same line as the pixel at the second position.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140173783A KR102294016B1 (en) | 2014-12-05 | 2014-12-05 | Video encoding and decoding method using deblocking fitering with transform skip and apparatus using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140173783A KR102294016B1 (en) | 2014-12-05 | 2014-12-05 | Video encoding and decoding method using deblocking fitering with transform skip and apparatus using the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20160068288A KR20160068288A (en) | 2016-06-15 |
| KR102294016B1 true KR102294016B1 (en) | 2021-08-25 |
Family
ID=56135018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020140173783A Active KR102294016B1 (en) | 2014-12-05 | 2014-12-05 | Video encoding and decoding method using deblocking fitering with transform skip and apparatus using the same |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102294016B1 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018066241A1 (en) | 2016-10-03 | 2018-04-12 | Sharp Kabushiki Kaisha | Systems and methods for applying deblocking filters to reconstructed video data |
| KR20200073124A (en) * | 2018-12-13 | 2020-06-23 | 에스케이텔레콤 주식회사 | Filtering method and apparatus |
| WO2020122573A1 (en) | 2018-12-13 | 2020-06-18 | 에스케이텔레콤 주식회사 | Filtering method and image decoding device |
| CN120568044A (en) | 2019-03-07 | 2025-08-29 | 数字洞察力有限公司 | Image encoding/decoding method and method of transmitting bitstream |
| CN118018731A (en) | 2019-06-25 | 2024-05-10 | 日本放送协会 | Encoding device, decoding device, and computer-readable storage medium |
| JP7267191B2 (en) * | 2019-12-26 | 2023-05-01 | Kddi株式会社 | Image decoding device, image decoding method and program |
| EP4131971A4 (en) | 2020-04-02 | 2024-04-17 | LG Electronics, Inc. | IMAGE CODING METHODS BASED ON CHROMA DEBLOCKING PARAMETER INFORMATION FOR SINGLE COLOR FORMAT IN A VIDEO OR IMAGE CODING SYSTEM |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130294524A1 (en) * | 2012-05-04 | 2013-11-07 | Qualcomm Incorporated | Transform skipping and lossless coding unification |
| WO2014002897A1 (en) * | 2012-06-29 | 2014-01-03 | ソニー株式会社 | Image processing device and method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI600318B (en) * | 2010-05-18 | 2017-09-21 | Sony Corp | Image processing apparatus and image processing method |
| EP3306921B1 (en) * | 2011-09-09 | 2020-11-04 | Sun Patent Trust | Low complex deblocking filter decisions |
| KR101762294B1 (en) * | 2011-10-18 | 2017-07-28 | 주식회사 케이티 | Method for encoding image, method for decoding image, image encoder, and image decoder |
| US9167269B2 (en) * | 2011-10-25 | 2015-10-20 | Qualcomm Incorporated | Determining boundary strength values for deblocking filtering for video coding |
-
2014
- 2014-12-05 KR KR1020140173783A patent/KR102294016B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130294524A1 (en) * | 2012-05-04 | 2013-11-07 | Qualcomm Incorporated | Transform skipping and lossless coding unification |
| WO2014002897A1 (en) * | 2012-06-29 | 2014-01-03 | ソニー株式会社 | Image processing device and method |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20160068288A (en) | 2016-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11356665B2 (en) | Method for determining color difference component quantization parameter and device using the method | |
| KR102229157B1 (en) | Image information encoding and decoding method | |
| CN106664405B (en) | Robust encoding/decoding of escape-coded pixels with palette mode | |
| CN104205836B (en) | The method and product for offseting and deblocking for colourity slicing layer level quantized parameter in Video coding | |
| KR102030304B1 (en) | Apparatus for applying sample adaptive offsets | |
| KR101744024B1 (en) | Method and apparatus for video encoding and decoding based on constrained offset compensation and loop filter | |
| KR102294016B1 (en) | Video encoding and decoding method using deblocking fitering with transform skip and apparatus using the same | |
| CN103999469A (en) | Performing transform dependent de-blocking filtering | |
| WO2017003978A1 (en) | Computationally efficient sample adaptive offset filtering during video encoding | |
| US11979573B2 (en) | Method for determining color difference component quantization parameter and device using the method | |
| KR102410326B1 (en) | Method and apparatus for encoding/decoding a video signal | |
| KR102301654B1 (en) | Method and apparatus for applying Sample Adaptive Offset filtering | |
| KR102206225B1 (en) | Video encoding/decoding method using error-resilient in-loop filter and signaling method relating to the same | |
| KR20130070215A (en) | Method and apparatus for seletcing the adaptive depth information and processing deblocking filtering |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20141205 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20191205 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20141205 Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20210216 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210520 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210820 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20210820 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20240625 Start annual number: 4 End annual number: 4 |















