KR20180019548A - 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치 - Google Patents

영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치 Download PDF

Info

Publication number
KR20180019548A
KR20180019548A KR1020177035611A KR20177035611A KR20180019548A KR 20180019548 A KR20180019548 A KR 20180019548A KR 1020177035611 A KR1020177035611 A KR 1020177035611A KR 20177035611 A KR20177035611 A KR 20177035611A KR 20180019548 A KR20180019548 A KR 20180019548A
Authority
KR
South Korea
Prior art keywords
filter
directionality
sample
image
activity
Prior art date
Application number
KR1020177035611A
Other languages
English (en)
Inventor
김철근
남정학
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20180019548A publication Critical patent/KR20180019548A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

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

Abstract

본 발명에 따른 디코딩 장치에 의하여 수행되는 복원 픽처 필터링 방법은 복원 픽처의 대상 영역에 대한 영상의 활동성을 계산하는 단계, 상기 대상 영역에 대한 상기 영상의 방향성을 결정하는 단계, 상기 활동성 및 상기 방향성을 기반으로 필터 집합 내에서 특정 필터를 선택하는 단계, 및 상기 선택된 필터를 기반으로 복원 픽처에 대한 필터링을 수행하는 단계를 포함한다. 본 발명에 따르면, 복원 픽처의 대상 블록에 대한 영상 특성을 기반으로 적응적으로 필터링을 적용할 수 있으며, 이를 통하여 복원 픽처에 대한 주관적/객관적 화질을 향상시킬 수 있다.

Description

영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치
본 발명은 영상 코딩 기술에 관한 것으로서 보다 상세하게는 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가하고 있다.
정보량의 증가로 인해 다양한 성능의 장치와 다양한 환경의 네트워크가 등장하고 있다. 다양한 성능의 장치와 다양한 환경의 네트워크가 등장함에 따라서, 동일한 컨텐츠를 다양한 품질로 이용할 수 있게 되었다.
구체적으로, 단말 장치가 지원할 수 있는 품질의 영상이 다양해지고, 구축된 네트워크 환경이 다양해짐으로써, 어떤 환경에서는 일반적인 품질의 영상을 이용하지만, 또 다른 환경에서는 더 높은 품질의 영상을 이용할 수 있게 된다.
예를 들어, 휴대 단말에서 비디오 컨텐츠를 구매한 소비자가 가정 내 대화면의 디스플레이를 통해 동일한 비디오 컨텐츠를 더 큰 화면과 더 높은 해상도로 감상할 수 있게 되는 것이다.
최근에는 HD(High Definition) 해상도를 가지는 방송이 서비스되면서 많은 사용자들은 이미 고해상도, 고화질의 영상에 익숙해지고 있고, 서비스 제공자와 사용자들은 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition) 이상의 서비스에도 관심을 기울이고 있다.
이에 따라 주관적/객관적 화질을 보다 향상시키기 위한 복원 픽처 필터링 방법이 요구되고 있다.
본 발명의 기술적 과제는 영상 코딩 효율을 높이는 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 복원 픽처의 주관적/객관적 화질을 향상시키기 위한 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 복원 픽처 필터링 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상의 특성을 기반한 적응적 필터링 방법 및 장치를 제공에 있다.
본 발명의 또 다른 기술적 과제는 영상의 특성을 고려하여 필터를 적응적으로 적용함에 있다.
본 발명의 일 실시예에 따르면, 디코딩 장치에 의하여 수행되는 복원 픽처 필터링 방법에 제공한다. 상기 필터링 방법은 복원 픽처의 대상 영역에 대한 영상의 활동성을 계산하는 단계, 상기 대상 영역에 대한 상기 영상의 방향성을 결정하는 단계, 상기 활동성 및 상기 방향성을 기반으로 필터 집합 내에서 특정 필터를 선택하는 단계, 및 상기 선택된 필터를 기반으로 복원 픽처에 대한 필터링을 수행하는 단계를 포함함을 특징으로 한다.
여기서, 상기 방향성을 결정하는 단계는 상기 대상 영역 내 샘플 및 상기 샘플에 인접한 4개의 주변 샘플들을 기반으로 상기 샘플에 대한 방향성을 결정하는 단계, 및 상기 샘플에 대한 방향성을 기반으로 상기 대상 영역에 대한 방향성을 결정하는 단계를 포함할 수 있다. 이 경우 상기 샘플에 대한 방향성은 상기 샘플에 대한 수직 방향의 변화도 및 수평 방향의 변화도를 기반으로 결정될 수 있다.
여기서, 상기 대상 영역에 대한 상기 영상의 활동성은 수평 방향 활동성, 수직 방향 활동성을 포함할 수 있다.
여기서, 상기 방향성을 결정하는 단계는 상기 대상 영역 내 샘플 및 상기 샘플에 인접한 8개의 주변 샘플들을 기반으로 상기 샘플에 대한 방향성을 결정하는 단계, 및 상기 샘플에 대한 방향성을 기반으로 상기 대상 영역에 대한 방향성을 결정하는 단계를 포함할 수 있다. 이 경우 상기 대상 영역에 대한 상기 영상의 방향성은 수평 방향, 수직 방향, 우상향 대각 방향, 좌상향 대각 방향, 무방향 중 하나를 나타낼 수 있다.
여기서, 상기 대상 영역의 사이즈는 가변적일 수 있다.
여기서, 상기 필터링 방법은 가변 영역 사이즈 가용 플래그를 수신하는 단계, 및 상기 가변 영역 사이즈 가용 플래그의 값이 1을 나타내는 경우 영역 사이즈 정보를 수신하는 단계를 더 포함할 수 있다. 이 경우 상기 대상 영역의 사이즈는 상기 영역 사이즈 정보를 기반으로 결정될 수 있다. 이 경우 상기 영역 사이즈 정보는 인덱스 0 내지 4의 5가지 값으로 분류될 수 잇다. 이 경우 상기 인덱스 0 내지 4는 각각 이진화 값 "0", "100", "101", "110" 및 "111"로 나타내어질 수 있다. 여기서 이진화 값은 Bin 값으로 불릴 수 있다.
여기서, 상기 필터링 방법은 대각 활동성 가용 플래그를 수신하는 단계를 더 포함할 수 잇다. 상기 대각 활동성 가용 플래그의 값이 1을 나타내는 경우, 대각 방향을 고려하여 상기 대상 영역에 대한 상기 영상의 방향성을 결정할 수 있다.
여기서, 상기 영상의 해상도를 기반으로 상기 필터 집합이 결정될 수 있다. 이 경우 상기 필터링 방법은 가변 필터 집합 가용 플래그를 수신하는 단계, 상기 가변 필터 집합 가용 플래그의 값이 1을 나타내는 경우, 필터 개수 정보 및 필터 탭 정보 중 적어도 하나를 더 수신하는 단계를 더 포함할 수 있다. 이 경우 상기 필터 개수 정보 및 상기 필터 탭 정보 중 적어도 하나를 기반으로 상기 필터 집합이 결정될 수 있다. 또한, 상기 필터링 방법은 가변 필터 모양 가용 플래그를 수신하는 단계를 더 포함할 수 있다. 이 경우 상기 가변 필터 모양 가용 플래그의 값이 0을 나타내는 경우와 1을 나타내는 경우, 상기 필터 탭 정보에 의하여 지시되는 필터의 모양이 서로 다를 수 있다.
본 발명의 또 다른 일 실시예에 따르면, 복원 픽처 필터링을 수행하는 디코딩 장치를 제공한다. 상기 디코딩 장치는 가변 영역 사이즈 가용 플래그, 대각 활동성 가용 플래그, 가변 필터 집합 가용 플래그 및 가변 필터 모양 가용 플래그 중 적어도 하나를 수신하는 수신부, 및 복원 픽처의 대상 영역에 대한 영상의 활동성을 계산하고, 상기 대상 영역에 대한 상기 영상의 방향성을 결정하고, 상기 활동성 및 상기 방향성을 기반으로 필터 집합 내에서 특정 필터를 선택하고, 상기 선택된 필터를 기반으로 복원 픽처에 대한 필터링을 수행하는 필터부를 포함함을 특징으로 한다.
본 발명에 따르면, 복원 픽처의 대상 블록에 대한 영상 특성을 기반으로 적응적으로 필터링을 적용할 수 있으며, 이를 통하여 복원 픽처에 대한 주관적/객관적 화질을 향상시킬 수 있다. 또한, 이렇게 필터링된 복원 픽처는 메모리에 저장되어 다른 픽처를 위한 참조 픽처로 활용될 수 있으며, 이 경우 인터 예측 효율이 향상될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따라 영상 특성(활동성 및 방향성)을 도출하는 방법을 예시적으로 나타낸다.
도 4는 대상 영역이 4×4 사이즈를 갖는 경우에 샘플들의 특성값의 가중합을 기반으로 대상 영역의 대표 특성을 구하는 방법을 예시적으로 나타낸다.
도 5는 영상의 활동성 특성이 같으나 방향성 특성이 다른 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 수평 활동성 및 수직 활동성의 조합을 통한 영상 특성 분류의 예를 나타낸다.
도 7은 본 발명의 다른 일 실시예에 따라 영상 특성(활동성 및 방향성)을 도출하는 방법을 예시적으로 나타낸다.
도 8은 본 발명의 일 실시예에 따른 영상 특성에 기반한 필터 선택 방법을 개략적으로 나타낸다.
도 9는 본 발명이 적용되는 대상 영역의 예를 나타낸다. 여기서 대상 영역은 특성 분류 단위라고 불릴 수 있다.
도 10은 본 발명의 일 실시예에 따른 영상 특성에 기반한 필터 선택 방법을 개략적으로 나타낸다.
도 11은 본 발명에 따른 필터 모양들의 일 실시예를 나타내는 도면이다.
도 12 및 도 13은 본 발명에 따른 필터 모양들의 다른 실시예들을 나타내는 도면이다.
도 14는 영상 해상도에 따른 라지 필터 선택 비율의 예를 나타내고, 도 15는 영상 해상도에 따른 스몰 필터 선택 비율의 예를 나타낸다.
도 16은 본 발명에 따른 필터의 개수와 종류의 예를 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예를 보다 상세하게 설명하고자 한다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 1을 참조하면, 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 인코딩부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위로서의 블록은 예측 유닛(Prediction Unit, PU)일 수도 있고, 변환 유닛(Transform Unit, TU)일 수도 있으며, 코딩 유닛(Coding Unit, CU)일 수도 있다. 픽처는 복수의 코딩 트리 유닛(Coding Tree Unit, CTU)들로 구성될 수 있으며, 각각의 CTU는 쿼드 트리(quad-tree) 구조로 CU들로 분할(split)될 수 있다. CU는 보다 하위(deeper) 뎁스의 CU들로 쿼드 트리 구조로 분할될 수도 있다. PU 및 TU는 CU로부터 획득될 수 있다. 예를 들어, PU는 CU로부터 대칭 또는 비대칭 사각형 구조로 파티셔닝(partitioning)될 수 있다. 또한 TU는 CU로부터 쿼드 트리 구조로 분할될 수도 있다.
예측부(110)는 후술하는 바와 같이, 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함한다. 예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 샘플(또는 예측 샘플 어레이)을 포함하는 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 예측부(110)는 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)을 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 예측 방법의 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.
인터 예측을 통해서는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽처 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, AMVP(Advanced Motion Vector Prediction) 등을 이용할 수 있다. 인터 예측에서는 PU에 대하여, 참조 픽처를 선택하고 PU에 대응하는 참조 블록을 선택할 수 있다. 참조 블록은 정수 픽셀(또는 샘플) 또는 분수 픽셀(또는 샘플) 단위로 선택될 수 있다. 이어서, 현재 PU와의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되는 예측 블록이 생성된다.
예측 블록은 정수 픽셀 단위로 생성될 수도 있고, 1/2 픽셀 단위 또는 1/4 픽셀 단위와 같이 정수 이하 픽셀 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터 차분(motion vector difference, MDV), 움직임 벡터 예측자(motion vector predictor, MVP), 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달될 수 있다. 스킵 모드가 적용되는 경우에는 레지듀얼을 예측 블록을 복원 블록으로 할 수 있으므로, 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.
인트라 예측을 수행하는 경우에는, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 인트라 예측이 수행될 수도 있다.
인트라 예측에서 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수 있다.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 인코딩부(130)에서 인코딩되어 디코딩 장치에 전달된다.
변환부(115)는 변환 블록 단위로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다.
변환 블록은 샘플들의 직사각형 블록으로서 동일한 변환이 적용되는 블록이다. 변환 블록은 변환 유닛(TU)일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다.
변환부(115)는 레지듀얼 블록에 적용된 예측 모드와 블록의 크기에 따라서 변환을 수행할 수 있다.
예컨대, 레지듀얼 블록에 인트라 예측이 적용되었고 블록이 4x4의 레지듀얼 배열이라면, 레지듀얼 블록을 DST(Discrete Sine Transform)를 이용하여 변환하고, 그 외의 경우라면 레지듀얼 블록을 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
변환부(115)는 변환에 의해 변환 계수들의 변환 블록을 생성할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 레지듀얼 값들, 즉 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화된 변환 계수를 재정렬한다. 양자화된 변환 계수를 재정렬함으로써 엔트로피 인코딩부(130)에서의 인코딩 효율을 높일 수 있다.
재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화된 변환 계수들을 1차원의 벡터 형태로 재정렬할 수 있다.
엔트로피 인코딩부(130)는 재정렬부(125)에 의해 재정렬된 양자화된 변환 값들 또는 코딩 과정에서 산출된 인코딩 파라미터 값 등을 기초로 심볼(symbol)을 확률 분포에 따라 엔트로피 코딩하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 인코딩 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 디코딩 가능한 2진수의 열로 표현하는 방법이다.
여기서, 심볼이란 인코딩/디코딩 대상 구문 요소(syntax element) 및 코딩 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 인코딩 파라미터는 인코딩 및 디코딩에 필요한 매개변수로서, 구문 요소와 같이 인코딩 장치에서 인코딩되어 디코딩 장치로 전달되는 정보뿐만 아니라, 인코딩 혹은 디코딩 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 인코딩하거나 디코딩할 때 필요한 정보를 의미한다. 인코딩 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 코딩 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 인코딩이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 인코딩 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 인코딩을 통해서 영상 인코딩의 압축 성능이 높아질 수 있다.
엔트로피 인코딩을 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 인코딩 방법이 사용될 수 있다. 예를 들어, 엔트로피 인코딩부(130)에는 가변 길이 코딩(VLC: Variable Length Coding/Code) 테이블과 같은 엔트로피 인코딩을 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 인코딩부(130는 저장된 가변 길이 코딩(VLC) 테이블을 사용하여 엔트로피 인코딩을 수행할 수 있다. 또한 엔트로피 인코딩부(130)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출(derive)한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 인코딩을 수행할 수도 있다.
또한, 엔트로피 인코딩부(130)는 필요한 경우에, 전송하는 파라미터 셋(parameter set) 또는 신택스에 일정한 변경을 가할 수도 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다.
역양자화부(135) 및 역변환부(140)에서 생성된 레지듀얼 값(또는 레지듀얼 샘플 또는 레지듀얼 샘플 어레이)과 예측부(110)에서 예측된 예측 블록이 합쳐져 복원 샘플(또는 복원 샘플 어레이)를 포함하는 복원 블록(Reconstructed Block)이 생성될 수 있다.
도 1에서는 가산기를 통해서, 레지듀얼 블록과 예측 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수도 있다.
필터부(145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수도 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 나타낸 블록도이다. 도 2를 참조하면, 비디오 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 메모리(240)를 포함할 수 있다.
비디오 인코딩 장치에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 비디오 인코딩 장치에서 영상 정보가 처리된 절차에 따라서 디코딩될 수 있다.
엔트로피 디코딩부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 디코딩하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 디코딩 방법은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다. 엔트로피 디코딩 방법은 상술한 엔트로피 인코딩 방법과 유사하다.
예컨대, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 코딩(Variable Length Coding: VLC, 이하 'VLC' 라 함)가 사용된 경우에, 엔트로피 디코딩부(210)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(210)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 디코딩부(210)에서 엔트로피 디코딩된 비트스트림의 정보, 즉 양자화된 변환 계수를 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다.
재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 현재 블록(변환 블록)에 적용된 예측 모드와 변환 블록의 크기를 기반으로 계수에 대한 스캐닝을 수행하여 2 차원 블록 형태의 계수(양자화된 변환 계수) 배열을 생성할 수 있다.
역양자화부(220)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 비디오 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다.
역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(225)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 디코딩부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 샘플(또는 예측 샘플 어레이)를 포함하는 예측 블록을 생성할 수 있다.
현재 PU에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 현재 픽처 내의 픽셀 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다.
현재 PU에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 PU에 대한 인터 예측을 수행할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 PU의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
현재 픽처에 대한 인터 예측 시, 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다.
한편, 움직임 정보 도출 방식은 현재 블록의 예측 모드에 따라 달라질 수 있다. 인터 예측을 위해 적용되는 예측 모드에는 AMVP(Advanced Motion Vector Prediction) 모드, 머지(merge) 모드 등이 있을 수 있다.
일 예로, 머지 모드가 적용되는 경우, 인코딩 장치 및 디코딩 장치는 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트를 생성할 수 있다. 머지 모드에서는 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 인코딩 장치는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 디코딩 장치로 전송할 수 있다. 이 때, 디코딩 장치는 상기 머지 인덱스를 이용하여, 현재 블록의 움직임 벡터를 도출할 수 있다.
다른 예로, AMVP(Advanced Motion Vector Prediction) 모드가 적용되는 경우, 인코딩 장치 및 디코딩 장치는 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트를 생성할 수 있다. 즉, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 인코딩 장치는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 디코딩 장치로 전송할 수 있다. 이 때, 디코딩 장치는 상기 움직임 벡터 인덱스를 이용하여, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다.
인코딩 장치는 현재 블록의 움직임 벡터(MV)와 움직임 벡터 예측자(MVP) 간의 움직임 벡터 차분(MVD)을 구할 수 있고, 이를 인코딩하여 디코딩 장치로 전송할 수 있다. 즉, MVD는 현재 블록의 MV에서 MVP를 뺀 값으로 구해질 수 있다. 이 때, 디코딩 장치는 수신된 움직임 벡터 차분을 디코딩할 수 있고, 디코딩된 움직임 벡터 차분과 움직임 벡터 예측자의 가산을 통해 현재 블록의 움직임 벡터를 도출할 수 있다.
인코딩 장치는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 디코딩 장치에 전송할 수 있다.
디코딩 장치는 주변 블록의 움직임 정보들을 이용하여 현재 블록의 움직임 벡터를 예측하고, 인코딩 장치로부터 수신한 레지듀얼을 이용하여 현재 블록에 대한 움직임 벡터를 유도할 수 있다. 디코딩 장치는 유도한 움직임 벡터와 인코딩 장치로부터 수신한 참조 픽처 인덱스 정보를 기반으로 현재 블록에 대한 예측 블록을 생성할 수 있다.
다른 예로, 머지(merge) 모드가 적용되는 경우, 인코딩 장치 및 디코딩 장치는 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보를 이용하여, 머지 후보 리스트를 생성할 수 있다. 즉, 인코딩 장치 및 디코딩 장치는 복원된 주변 블록 및/또는 콜 블록의 움직임 정보가 존재하는 경우, 이를 현재 블록에 대한 머지 후보로 사용할 수 있다.
인코딩 장치는 머지 후보 리스트에 포함된 머지 후보 중에서 최적의 인코딩 효율을 제공할 수 있는 머지 후보를 현재 블록에 대한 움직임 정보로 선택할 수 있다. 이 때, 상기 선택된 머지 후보를 지시하는 머지 인덱스가 비트스트림에 포함되어 디코딩 장치로 전송될 수 있다. 디코딩 장치는 상기 전송된 머지 인덱스를 이용하여, 머지 후보 리스트에 포함된 머지 후보 중에서 하나를 선택할 수 있으며, 상기 선택된 머지 후보를 현재 블록의 움직임 정보로 결정할 수 있다. 따라서, 머지 모드가 적용되는 경우, 복원된 주변 블록 및/또는 콜 블록의 움직임 정보가 현재 블록의 움직임 정보로 그대로 사용될 수 있다. 디코딩 장치는 예측 블록과 인코딩 장치로부터 전송되는 레지듀얼을 더하여 현재 블록을 복원할 수 있다.
상술한 AMVP 및 머지 모드에서는, 현재 블록의 움직임 정보를 도출하기 위해, 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보가 사용될 수 있다.
화면 간 예측에 이용되는 다른 모드 중 하나 인 스킵 모드의 경우에, 주변 블록의 정보를 그대로 현재 블록에 이용할 수 있다. 따라서 스킵 모드의 경우에, 인코딩 장치는 현재 블록의 움직임 정보로서 어떤 블록의 움직임 정보를 이용할 것인지를 지시하는 정보 외에 레지듀얼 등과 같은 신택스 정보를 디코딩 장치에 전송하지 않는다.
인코딩 장치 및 디코딩 장치는 상기 도출된 움직임 정보에 기반하여 현재 블록에 대한 움직임 보상을 수행함으로써, 현재 블록의 예측 블록을 생성할 수 있다. 여기서, 예측 블록은 현재 블록에 대한 움직임 보상 수행 결과 생성된, 움직임 보상된 블록을 의미할 수 있다. 또한, 복수의 움직임 보상된 블록은 하나의 움직임 보상된 영상을 구성할 수 있다.
복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다. 도 2에서는 가산기에서 예측 블록과 레지듀얼 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다. 여기서 상기 복원 블록은 상술한 바와 같이 복원 샘플(또는 복원 샘플 어레이)를 포함하고, 상기 예측 블록은 예측 샘플(또는 예측 샘플 어레이)를 포함하고, 상기 레지듀얼 블록은 레지듀얼 샘플(또는 레지듀얼 샘플 어레이)를 포함할 수 있다. 따라서, 복원 샘플(또는 복원 샘플 어레이)은 대응하는 예측 샘플(또는 예측 샘플 어레이)과 레지듀얼 샘플(레지듀얼 샘플 어레이)이 합쳐서 생성된다고 표현될 수도 있다.
스킵 모드가 적용되는 블록에 대하여는 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.
복원된 블록 및/또는 픽처는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 ALF 등을 적용할 수 있다.
메모리(240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.
디코딩 장치(200)에 포함되어 있는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 및 메모리(240) 중 영상의 디코딩에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 등을 다른 구성요소와 구분하여 디코더 또는 디코딩부로 표현할 수 있다.
또한, 디코딩 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱(parsing)하는 도시되지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 디코딩부(210)를 포함할 수도 있고, 엔트로피 디코딩부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.
양자화 등 압축 코딩 과정에서 발생하는 에러에 의한 원본(original) 픽처과 복원 픽처의 차이를 보상하기 위해, 복원 픽처에는 인루프 필터가 적용될 수 있다. 앞서 설명한 바와 같이, 인 루프 필터링은 인코더 및 디코더의 필터부에서 수행될 수 있으며, 필터부는 디블록킹 필터, SAO(Sample Adaptive Offset) 및/또는 적응적 루프 필터(ALF) 등을 복원 픽처에 적용할 수 있다. 여기서, ALF는 디블록킹 필터링 및/또는 SAO 과정이 수행된 후 복원된 픽처과 원래의 픽처를 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 디블록킹 필터링 및/또는 SAO 과정이 수행된 후 복원된 픽처에 대해 적응적으로 위너 필터(Wiener filter)를 적용할 수 있다. 즉, ALF는 위너 필터를 이용하여 부호화 에러를 보상할 수 있다.
복원된 픽처의 샘플에 적용되는 필터(예를 들어 ALF)는 일 예로, 필터 모양(filter shape) 및 필터 계수(filter coefficient)를 기반으로 결정될 수 있다. 즉, 인코더 및 디코더는 필터 모양 및 필터 계수를 기반으로 필터링을 수행할 수 있다. 필터 모양은 사용되는 필터의 모양/크기를 나타낸다. 즉, 소정의 복수의 필터 모양 중에서 대상 영역 별로 하나의 필터 모양이 선택될 수 있다. 예를 들어, ALF의 경우 상기 필터 모양은 n×n 스타 모양, m×n 크로스 모양, m×n 다이아몬드 모양 등 여러 필터 모양 및 크기가 사용될 수 있다. 여기서 n, m은 양의 정수이고, n과 m은 같을 수도 있고 다를 수도 있다.
여기서 필터 모양은 필터 크기, 필터 타입, 필터 모드 등 다양한 표현으로 나타내어질 수 있다. 또한, 필터 모양에 따라 정해진 필터 계수가 사용되는 경우, 필터 모양(필터 크기, 필터 타입 또는 필터 모드 등)이 결정되면 이를 기반으로 필터 계수도 결정될 수 있다.
인코더는 소정의 프로세스를 통해 필터 모양 및/또는 필터 계수를 결정할 수 있다. 압축 부호화 과정에서 발생하는 에러를 최소화하기 위해 필터링이 적용될 수 있으며, 인코더는 상기 에러를 최소화할 수 있도록 필터 모양 및/또는 필터 계수를 결정할 수 있다. 결정된 필터에 관한 정보는 디코더로 전송될 수 있고, 디코더는 상기 전송된 정보를 기반으로 필터 모양 및/또는 필터 계수를 결정할 수 있다.
한편, 영상 특성을 기반으로 필터 집합(또는 필터 리스트)을 구성하고, 상기 필터 집합을 기반으로 대상 영역에 적응적으로 최적의 필터를 적용할 수 있다. 이 경우 인코더는 디코더로 상기 필터 집합 상의 인덱스 정보를 전송하고, 디코더는 상기 인덱스 정보를 기반으로 상기 대상 영역에 적용되는 필터에 관한 필터 정보를 획득할 수 있게 된다. 즉, 상기 필터 집합에 포함되는 필터 정보는 상기 필터 모양 및/또는 필터 계수를 포함할 수 있다. 또는 인코더와 디코더가 동일한 방법을 통하여 대상 블록에 대한 영상 특성을 구하고, 영상 특성에 따라 미리 정의된 필터 집합 내의 특정 필터 정보를 선택하여 사용하는 경우, 상기 인덱스 정보는 전송되지 않을 수 있다.
즉, 본 발명에 따르면 영상 특성에 따라 다른 필터를 적용할 수 있으며, 이를 통하여 코딩 효율을 향상시킬 수 있다.
상기 영상 특성은 대상 영역(또는 대상 블록)에 대한 활동성(activity) 인자 및 방향성(direction) 인자 중 적어도 하나를 기반으로 특정될 수 있다.
활동성은 픽처의 대상 영역 내의 텍스처 혹은 에러의 특성을 나타낸다. 예를 들어 평활한 배경 부분에서는 상기 활동성 값이 낮게 나타난다. 반대로 복잡한 부분에서는 상기 활동성 값이 높게 나타난다. 상기 활동성 값은 정규화(normalizing)을 통하여 특정 범위안의 값으로 설정될 수 있고, 또는 원래 값 자체로 사용될 수도 있다. 예를 들어, 상기 상기 활동성 값의 최대값이 100이라고 했을 때, 값 0~10은 0, 11~20은 1로 나타내는 등 상기 활동성 값을 0~9로 정규화하여 사용할 수도 있고, 또는 원래 값인 0~100의 값이 그대로 사용할 수도 있다. 한편, 정규화를 수행하는 경우, 정규화를 위하여 매핑되는 범위 또한 중요도에 따라 균등/비균등하게 설정될 수 있다. 예를 들어, 높은 활동성을 가지는 경우에 보다 세세한 필터링을 적용하고자 하는 경우, 상대적으로 낮은 활동성을 나타내는 값들은 상대적으로 넓은 범위(예를 들어 20 단위)에 대하여 하나의 값으로 정규화되고, 상대적으로 높은 활동성을 나타내는 값들은 상대적으로 좁은 범위(예를 들어 5 단위)에 대하여 하나의 값으로 정규화될 수도 있다. 본 발명에서 활동성 값이라 함은 원래 값 및 정규화한 값을 포함할 수 있다.
방향성은 상기 대상 영역 내의 텍스처 혹은 에러의 방향적 특성을 나타낸다. 예를 들어, 상기 방향성은 수평, 수직, 대각선(우상향/좌상향 등) 등이 있다.
일 예로, 상기 활동성 및 방향성은 샘플 포인트들을 기반으로 도출할 수 있다.
도 3은 본 발명의 일 실시예에 따라 영상 특성(활동성 및 방향성)을 도출하는 방법을 예시적으로 나타낸다. 도 3은 5개 (샘플) 포인트를 이용한 영상 특성 계산 방법이다.
도 3을 참조하면, E는 현재 샘플(또는 픽셀)을 나타내고, A, B, C, D는 주변 (4방향의) 샘플들을 나타낸다. 여기서 A는 상측 주변 샘플, B는 하측 주변 샘플, C는 좌측 주변 샘플, D는 우측 주변 샘플을 나타낸다. E와 A, B의 샘플 값들 차이를 기반으로 E의 수직 방향의 변화도를 알 수 있고, E와 C, D의 샘플 값들 차이를 이용하여 E의 수평 방향의 변화도를 알 수 있다. 상기 수직 방향의 변화도 및 수평 방향의 변화도는 일 예로 다음과 같이 구할 수 있다.
Figure pct00001
수학식 1에서, Vertical은 수직 방향의 변화도를 나타내고, Horizontal은 수평 방향의 변화도를 나타낸다. E, A, B, C, D는 각 샘플 포인트에 대한 샘플 값을 나타내고, <<은 산술 좌측 쉬프트(arithmetic left shift)를 나타낸다. 즉, 현재 샘플에 대한 수직 방향의 변화도는 E<<1에서 A 및 B를 뺀 값의 절대값으로 볼 수 있고, 수직 방향의 변화도는 E<<1에서 C 및 D를 뺀 값의 절대값으로 볼 수 있다.
수평 방향의 변화도, 수직 방향의 변화도 등은 영상의 복잡도를 대변할 수 있으며 이를 기반으로 영상의 활동성을 도출할 수 있다. 또한, 상기 수직 방향의 변화도 및 상기 수평 방향의 변화도 등의 비교를 통하여 해당 영역에 대한 방향성을 획득할 수 있다. 한편, 이 경우 각 샘플별로 가중치가 부여될 수도 있다. 예를 들어 도 3에서 각 샘플 포인트 옆의 숫자는 해당 샘플 포인트에 대한 가중치를 예시적으로 나타낸다.
또한, 예를 들어, 영상의 활동성을 1 내지 5의 5가지로 정의하고, 영상의 방향성을 수평, 수직, 무방향의 3가지로 구분하는 경우, 총 15가지의 영상 특성을 기반으로 최대 15가지(5(활동성)×3(방향성)=15)의 필터가 지시될 수 있다.
한편, 이러한 영상의 특성은 샘플(또는 픽셀) 단위로 구할 수 있으며 특정 대상 영역 단위로 구할 수도 있다. 예를 들어 대상 영역 내의 각 샘플(또는 픽셀) 단위로 상기 특성(활동성 및 방향성)을 구한 후, 각 값들의 합, 가중합(weighted sum), 평균, 또는 중간(median) 값을 기반으로 상기 대상 영역에 대한 대표 특성을 정할 수 있다. 이 경우 상기 대상 영역의 주변 샘플들에 대한 특성 값들을 더 기반으로 상기 대상 영역에 대한 대표 특성을 정할 수도 있다.
도 4는 대상 영역이 4×4 사이즈를 갖는 경우에 샘플들의 특성값의 가중합을 기반으로 대상 영역의 대표 특성을 구하는 방법을 예시적으로 나타낸다.
도 4를 참조하면, 해칭된 샘플들(411, 412, 413, 414 등)은 대상 영역 내의 샘플들을 나타내고, 해칭되지 않은 샘플들(415, 416 등)은 대상 영역의 주변 샘플들을 나타낸다. 여기서 각 샘플은 수평 특성, 수직 특성 등의 특성 값을 포함할 수 있다. 샘플 411, 412, 413, 414, 415, 416에 대한 특성값을 각각, b, c, d, e, a, f라고 할 때, 대상 영역의 대표 특성 값은 다음과 같은 수학식을 기반으로 구해질 수 있다.
Figure pct00002
즉, 대상 영역의 대표 특성은 열 및/또는 행의 샘플들에 대한 가중 합을 기반으로 구할 수 있다.
한편, 방향성을 구하기 위하여 수평 특성 값, 수직 특성 값의 비교를 통하여 둘 중의 어느 특성이 더 큰 지를 알 수 있다. 하지만, 이와 같은 비교를 통한 방법은 상대적인 것이기 때문에, 영상의 절대적인 방향적 특성의 강도를 알 수는 없다. 즉, 영상의 활동성 특성은 수평, 수직 특성의 합으로 나타내고, 방향성 특성은 수평 특성, 수직 특성간의 비교를 통하여 나타낼 수 있으나, 이 경우 방향적 특성을 고려한 강도를 나타내기는 부족한 면이 있다.
도 5는 영상의 활동성 특성이 같으나 방향성 특성이 다른 예를 나타낸다.
도 5를 참조하면, 도 5의 (a)와 (b)의 전체적인 활동성(또는 복잡도)는 같으나, 둘의 방향성을 고려한 활동성은 서로 다르게 된다. 따라서, 이러한 경우를 보다 정확한 영상 특성을 반영하기 위하여, 본 발명의 일 실시예로 영상의 활동성 특성과 방향성 특성을 조합하여 나타낼 수 있다. 즉, 영상의 활동성(또는 복잡도)를 수평 활동성과 수직 활동성의 조합으로 나타냄으로써 전체적인 활동성과 방향적인 활동성을 모두 사용할 수 있다.
도 6은 본 발명의 일 실시예에 따른 수평 활동성 및 수직 활동성의 조합을 통한 영상 특성 분류의 예를 나타낸다. 대상 영역에 대한 대표 활동성은 수평 활동성 및 수직 활동성의 합, 가중합, 평균 또는 중간값으로 표현할 수 있다.
한편, 비록 도 3에서는 5개의 샘플 포인트를 이용하여 현재 샘플에 대한 영상 특성을 계산하였으나, 예를 들어 9개의 샘플 포인트를 이용하여 현재 샘플에 대한 영상 특성을 계산할 수도 있다.
도 7은 본 발명의 다른 일 실시예에 따라 영상 특성(활동성 및 방향성)을 도출하는 방법을 예시적으로 나타낸다. 도 7은 9개 (샘플) 포인트를 이용한 영상 특성 계산 방법이다. 이 경우 대각 방향의 특성을 보다 잘 반영할 수 있다.
도 7을 참조하면, E는 현재 샘플(또는 픽셀)을 나타내고, A, B, C, D, F, G, H, I는 주변 (8방향의) 샘플들을 나타낸다. 여기서 A는 좌상측 주변 샘플, B는 상측 주변 샘플, C는 우상측 주변 샘플, D는 좌측 주변 샘플, F는 우측 주변 샘플, G는 좌하측 주변 샘플, H는 하측 주변 샘플, I는 우하측 주변 샘플을 나타낸다. E와 A, B의 샘플 값들 차이를 기반으로 E의 수직 방향의 변화도를 알 수 있고, E와 C, D의 샘플 값들 차이를 이용하여 E의 수평 방향의 변화도를 알 수 있다. 상기 수직 방향의 변화도 및 수평 방향의 변화도는 일 예로 다음과 같이 구할 수 있다.
E, C, G를 기반으로 45도(우상향 대각) 방향의 변화도를 구할 수 있고, E, A, I를 기반으로 -45도(좌상향 대각 또는 우하향 대각) 방향의 변화도를 구할 수 있다. 한편, 상술한 바와 같이 E, B, H를 기반으로 수직 방향의 변화도를 구할 수 있고, E, D, F를 기반으로 수평 방향의 변화도를 구할 수 있다. 이 경우 상기 5 포인트를 이용하였을 때보다 더 많은 방향성을 나타낼 수 있다. 한편, 이 경우 상술한 바와 같이 각 샘플별로 가중치가 부여될 수 있으며, 예를 들어 도 4에 도시된 바와 같이 대각 방향 샘플들보다 수평/수직 방향 샘플들에 상대적으로 더 큰 가중치가 부여될 수도 있다.
또한, 이 경우 예를 들어, 방향성을 수평, 수직, 45도, -45도, 무방향의 5가지로 구분할 수 있다. 활동성을 1 내지 5의 5가지로 정의하는 경우, 총 25가지 영상 특성을 기반으로 최대 25가지(5(활동성)×5(방향성)=25)의 필터가 지시될 수 있다.
이 경우 대상 영역 내의 각 샘플(또는 픽셀) 단위로 상기 특성(활동성 및 방향성)을 구한 후, 각 값들의 합, 가중합(weighted sum), 평균, 또는 중간(median) 값을 기반으로 상기 대상 영역에 대한 대표 특성을 정할 수 있다. 이 경우 상기 대상 영역의 주변 샘플들에 대한 특성 값들을 더 기반으로 상기 대상 영역에 대한 대표 특성을 정할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 영상 특성에 기반한 필터 선택 방법을 개략적으로 나타낸다. 도 8에서 개시된 방법은 코딩 장치, 즉 인코더 또는 디코더에 의하여 수행될 수 있다. 이하 코딩 장치를 기반으로 설명하며, 코딩 장치는 인코더 및 디코더를 포함할 수 있다.
코딩 장치는 복원된 픽처 내에서 영상의 활동성을 계산한다(S800). 여기서 영상의 활동성은 대상 영역 단위로 계산할 수 있다. 상기 대상 영역 단위로 활동성을 계산하는 방법은 상술한 바를 포함한다.
코딩 장치는 상기 복원된 픽처 내에서 영상의 방향성을 결정한다(S810). 여기서 영상의 방향성은 상기 대상 영역 단위로 계산할 수 있다. 상기 대상 영역 단위로 활동성을 계산하는 방법은 상술한 바를 포함한다. 영상의 방향성 및 영상의 활동성은 합쳐서 영상 특성으로 불릴 수 있다.
코딩 장치는 대상 영역에 대한 영상 특성(즉, 영상의 활동성 및 영상의 방향성)을 기반으로 사용할 특정 필터(필터 모양)에 대한 인덱스를 검출한다(S820). 코딩 장치는 상기 영상 특성을 기반으로 필터 집합(또는 필터 리스트) 중에서 상기 특정 필터의 인덱스를 검출할 수 있다.
코딩 장치는 상기 인덱스가 가리키는 상기 특정 필터를 복원 픽처의 상기 대상 영역에 적용할 수 있다. 이를 통하여 코딩 장치는 영상 특성에 부합하는 필터를 복원 픽처에 적용하여 상기 복원 픽처의 주관적/객관적 화질을 향상시킬 수 있다.
도 9는 본 발명이 적용되는 대상 영역의 예를 나타낸다. 여기서 대상 영역은 특성 분류 단위라고 불릴 수 있다.
도 9를 참조하면, 영역 A는 2×2 사이즈를 갖는 영역이고, 영역 B는 4×4 사이즈를 갖는 영역이다. 본 발명에 따른 대상 영역은 상기 영역 A 및 영역 B를 포함할 수 있다. 즉, 상기 대상 영역은 2×2 사이즈를 가질 수 있고, 또는 4×4 사이즈를 가질 수도 있다. 다만 이는 예시로서 상기 대상 영역은 8×8, 16×16, 32×32, 또는 64×64 사이즈를 가질 수도 있다.
이 경우 상술한 바와 같이 대상 영역에 대한 활동성 및 방향성은 도 3 및 도 7 등에서 상술한 바와 같이 대상 영역 내의 각 샘플(또는 픽셀) 단위로 상기 특성(활동성 및 방향성)을 구한 후, 각 값들의 합, 가중합, 평균, 또는 중간 값을 기반으로 상기 대상 영역에 대한 대표 특성을 정할 수 있다. 또는 상기 대상 영역의 주변 샘플들까지 상기 특성(활동성 및 방향성)을 구한 후, 상기 대상 영역 내의 샘플들 및 상기 대상 영역의 주변 샘플들의 특성 값들의 대한 특성 값들을 기반으로 상기 대상 영역에 대한 대표 특성을 정할 수도 있다.
한편, 일 예로, 대상 영역의 사이즈는 인코더로부터 디코더로 시그널링될 수 있으며, 영상 특성 검출에 있어 대각선 방향도 고려할지 여부도 시그널링될 수도 있다.
도 10은 본 발명의 일 실시예에 따른 영상 특성에 기반한 필터 선택 방법을 개략적으로 나타낸다. 도 10에서 개시된 방법은 디코더에 의하여 수행될 수 있다.
도 10을 참조하면, 디코더는 가변(variable) 영역 사이즈 가용(enable) 플래그를 수신하고, 해당 플래그의 값이 1을 나타내는지 확인한다(S1000). 여기서 가변 영역 사이즈 가용 플래그는 예를 들어 Variable_Var_Size_enabled_flag 신텍스 요소(syntax element)로 나타내어질 수 있다. 상기 가변 영역 사이즈 가용 플래그는 시퀀스 레벨, 픽처 레벨 또는 슬라이스 레벨 등에서 시그널링될 수 있다.
상기 가변 영역 사이즈 가용 플래그의 값이 0이면 대상 영역의 사이즈가 고정되고, 1이면 대상 영역의 사이즈가 다양해질 수 있으며 이 경우 구체적인 사이즈에 대한 코딩이 필요하다.
만약 S1000에서 상기 가변 영역 사이즈 플래그의 값이 1인 경우, 디코더는 영역 사이즈 정보를 수신 및 파싱한다(S1010). 디코더는 상기 영역 사이즈 정보를 기반으로 대상 영역의 사이즈를 알 수 있다. 상기 영역 사이즈 정보는 예를 들어 Var_Size 신텍스 요소로 나타내어질 수 있다.
상기 대상 영역의 사이즈는 영상 특성 분류 단위로 볼 수 있으며, 이는 픽셀 단위부터 특정 사이즈의 블록 단위로 정의할 수 있다.
Var size cMax=4, TU 이진화
0 0
1 10
2 110
3 1110
4 1111
표 1을 참조하면, Var size는 분류 단위를 나타내는 인덱스이다. 즉, Var size는 대상 영역 사이즈 정보의 값을 나타낸다. 예를 들어 대상 영역은 Var size 값이 0인 경우 픽셀 단위(즉, 1×1 단위), 1인 경우 2×2 단위, 2인 경우 4×4 단위, 3인 경우 8×8 단위, 4인 경우 16×16 단위를 나타낼 수 있다. 상기 각 Var size 값들 0 내지 4에 대응하는 이진화 값(즉, Bin 값)은 예를 들어 각각 0, 10, 110, 1110, 1111일 수 있다. 여기서 이진화 값은 TU(truncated unary) 이진화된 값으로, cMax=4인 경우를 예시적으로 나타낸다.
한편, 다음 표와 같이 이진화에 할당되는 비트수를 고려하여 다음과 같은 이진화 값이 사용될 수도 있다.
Var size cMax=4, TU 이진화
0 0
1 100
2 101
3 110
4 111
또한 이 외에도 고정 길이 코딩(fixed length code, FLC) 지수 골룸(exponential-Golomb) 이진화 등 다양한 이진화 방법이 사용될 수도 있다.
만약 S1000에서 상기 가변 영역 사이즈 플래그의 값이 0인 경우, 디코더는 대상 영역의 사이즈가 미리 정의된 값으로 고정되는 것으로 판단한다.
디코더는 대각 활동성 가용 플래그를 수신하고, 상기 대각 활동성 가용 플래그의 값이 1을 나타내는지 확인한다(S1020). 여기서 대각 활동성 가용 플래그는 예를 들어 Diagonal_Activity_enabled_flag 신텍스 요소(syntax element)로 나타내어질 수 있다. 상기 대각 활동성 가용 플래그는 시퀀스 레벨, 픽처 레벨 또는 슬라이스 레벨 등에서 시그널링될 수 있다.
상기 대각 활동성 가용 플래그의 값이 0이면 디코더는 대상 영역에 대하여 수평, 수직 방향의 변화도를 고려하고, 1이면 디코더는 대상 영역에 대하여 대각 방향의 변화도를 더 고려할 수 있다.
만약 S1020에서 상기 대각 활동성 가용 플래그의 값이 1인 경우, 디코더는 대각 방향을 고려하여 영상 특성을 계산한다(S1030). 이 경우 디코더는 대각 방향뿐 아니라 수평, 수직 방향을 고려할 수 있다.
만약 S1020에서 상기 대각 활동성 가용 플래그의 값이 0인 경우, 디코더는 대각 방향을 고려하지 않고 영상 특성을 계산한다(S1040). 이 경우 디코더는 수평, 수직 방향만을 고려하여 영상 특성을 계산(또는 검출)할 수 있다.
한편, 비록 도 10에서는 영상 특성 계산을 S1020 후에 수행하는 것으로 도시되었으나, 영상 특성 중 영상의 활동성 계산은 S1020 전에 수행하고, 영상의 방향성 계산만 S1020 후에 수행할 수도 있다. 이 경우 영상의 활동성 계산은 S1020 단계와 무관하게 대각 방향을 고려하지 않고 수행될 수도 있고, 대각 방향을 고려하여 수행될 수도 있다.
디코더는 S1030 또는 S1040에서 검출된 대상 영역에 대한 영상 특성을 기반으로, 상기 영상 특성에 대응하는 필터(필터 모양)을 결정한다(S1050). 디코더는 상기 영상 특성을 기반으로 필터 집합(또는 필터 리스트) 중에서 사용하고자 하는 특정 필터를 검출할 수 있고, 이 경우 상기 필터 집합 내에서 상기 특정 필터에 대한 인덱스를 검출할 수 있다.
본 발명에 따르면 대상 영역 별로 다양한 필터 모양이 사용될 수 있으며 인코더/디코더는 영상 특성을 기반으로 대상 영역 별로 다양한 필터(필터 모양)를 선택할 수 있다. 예를 들어, ALF의 경우 필터는 n×n 제1 모양(예를 들어 스타 모양), m×n 제2 모양(예를 들어 크로스 모양), m×n 제3 모양(예를 들어 다이아몬드 모양) 등 여러 필터 모양 및 크기가 사용될 수 있다. 여기서 n, m은 양의 정수이고, n과 m은 같을 수도 있고 다를 수도 있다.
도 11은 본 발명에 따른 필터 모양들의 일 실시예를 나타내는 도면이다.
상술한 바와 같이, 인코더 및 디코더는 본 발명에 따른 필터링을 수행함에 있어, 소정의 복수의 필터들 중에서 하나의 필터를 선택하여 사용할 수 있다. 즉, 부호화기 및 복호화기는 복수의 필터들을 포함하는 소정의 필터 집합으로부터 하나의 필터를 선택할 수 있고, 선택된 필터에 기반하여 필터링을 수행할 수 있다. 일 예로, 상기 본 발명에 따른 필터링을 위하여 ALF 필터링이 적용될 수 있다.
상기 필터 집합에 포함되는 필터는 도 11에서 도시된 바와 같은 필터 모양을 가질 수 있다.
한편, 본 발명에 따르면 필터 모양에 따라 필터 계수가 할당될 수 있다. 이하, 본 명세서에서는 각각의 필터 계수가 할당되는 위치 및/또는 단위는 필터 탭이라 한다. 이 때, 각각의 필터 탭에는 하나의 필터 계수가 할당될 수 있고, 필터 탭이 배열된 형태는 필터 모양에 해당될 수 있다.
또한 이하, 본 명세서에서 필터 모양의 센터에 위치한 필터 탭은 센터 필터 탭이라 한다. 상기 필터 탭은 상기 필터 모양의 센터에 위치한 센터 필터 탭을 중심으로 하여 대칭을 이룬다. 예를 들어, 상기 필터 탭은 래스터 스캔 순서(raster scan order)로 넘버링될 수 있으며, 처음부터 센터 탭까지는 오름차순으로 그리고 센터 탭부터 끝까지는 내림차순으로 넘버링 될 수 있다. 센터 필터 탭에 할당되는 필터 계수를 제외한 나머지 필터 계수들도 각각 센터 필터 탭을 기준으로 서로 대응되는 위치에 존재하는 두 개의 필터 탭에 동일하게 할당될 수 있다. 도 11에서는 5×5 필터의 경우 C6가 센터 탭이고, 7×7 필터의 경우 C12가 센터 탭, 9×7 필터의 경우 C19가 센터 탭을 나타낸다.
한편, 상기와 같은 필터 모양 및 크기는 예시로서 보다 다양한 모양 및 크기의 필터들이 사용될 수 있다. 다양한 모양과 크기의 필터를 사용하는 것은 영상 특성에 따라 적합한 필터의 모양 및 크기가 다르기 때문이다. 인코딩/디코딩 과정에서는 가장 RD 코스트(Rate-Distortion Cost)가 좋은 필터가 선택되어 사용될 수 있다. 사용되는 영상의 크기가 다양해지고 특허 고해상도의 영상이 사용되고 있기 때문에 최적의 필터링을 위하여 필터의 크기와 모양 또한 다양해질 필요가 있다.
도 12 및 도 13은 본 발명에 따른 필터 모양들의 다른 실시예들을 나타내는 도면이다.
도 12 및 13에서 각각의 필터 탭에 표시된 문자는 각각의 필터 탭에 할당되는 필터 계수를 나타낸다. 상기 필터 계수들은 도 11의 실시예에서와 마찬가지로, 센터 필터 탭을 중심으로 하여 중앙 대칭 형태로 할당될 수 있다. 즉, 센터 필터 탭을 기준으로 서로 대칭되는 위치에 존재하는 두 개의 필터 탭에는 동일한 필터 계수가 할당될 수 있다.
따라서, 도 12 및 도 13의 필터 모양 각각에서는, 센터 필터 탭을 기준으로 서로 대칭되는 위치에 존재하는 두 개의 필터 탭 중에서 상대적으로 좌측 및/또는 상단에 위치한 필터 탭에만 필터 계수가 표시되어 있다. 도 12 및 도 13에서 필터 계수가 표시되어 있지 않은 필터 탭에는, 센터 필터 탭을 기준으로 이와 대칭인 위치의 필터 탭에 할당되어 있는 필터 계수가 동일하게 할당될 수 있다.
도 12에서는 11×11 필터, 13×13 필터를 도시하고 있다. 다만, 이는 예시로서 필터의 가로 크기와 세로 크기가 서로 다를 수 있다. 예를 들어, 11×9, 13×11의 필터 또한 가능하다.
또한 도 13에서는 수평방향 필터와 수직방향 필터의 예를 도시하고 있다. 수평방향 필터와 수직방향 필터는 가로 크기와 세로 크기가 서로 다를 수 있다. 여기서는 9×5 사이즈의 필터 및 5×9 사이즈의 필터가 도시되었다. 이 경우 사용되는 필터 계수의 수는 7×7 필터와 동일하다. 즉, 이 경우 13개의 필터 계수들이 가지고 25개의 필터 탭을 채울 수 있다. 한편, 필요한 필터 계수의 개수 변화 없이 영상 특성에 따라 수평, 수직 특성에 맞춰서 필터를 적용할 수도 있다. 이 경우 9×5 사이즈, 5×9 사이즈 외에도, 11×7 사이즈, 7×11 사이즈, 13×9 사이즈, 9×13 사이즈를 갖는 필터가 사용될 수 있다.
한편, 사용할 수 있는 필터의 개수가 많으면 영상에 적합한 필터를 적용할 수 있는 장점이 있지만, 그만큼 계산 복잡도 문제가 커질 수 있다. 예를 들어 인코더가 적합한 필터를 선택하여 해당 필터를 지시하는 정보를 디코더로 시그널하는 경우, 인코더는 어떤 필터를 사용하는 것이 좋은지 판단하기 위하여 존재하는 필터들을 모두 적용해야 하는 단점이 있고, 또한, 여러 개의 필터 중에서 선택된 필터를 지시하는 정보를 시그널링하기 위한 비트량도 증가하게 된다. 따라서 필터링 효율을 높이고자 필터 집합 내에 사용 가능한 필터의 개수를 과도하게 늘리는 경우 오히려 계산 복잡도가 증가하고, 선택된 필터를 지시하는 정보의 비트량이 증가하게 되어 성능 향상을 이룰 수 없게 된다.
이를 막기 위하여 영상의 해상도를 기반으로 필터 집합에 포함되는 필터들의 개수 및 모양(또는 크기)을 달릴 정할 수 있다.
도 14는 영상 해상도에 따른 라지 필터 선택 비율의 예를 나타내고, 도 15는 영상 해상도에 따른 스몰 필터 선택 비율의 예를 나타낸다. 여기서 라지 필터의 예로 9×7 사이즈의 필터가 사용되었고, 스몰 필터의 예로 5×5 사이즈의 필터가 사용되었다. 도 14 및 도 15를 참조하면, D, C, B, A, 4K 순으로 영상의 해상도가 더 크다. 4K 해상도는 가로 해상도가 4 킬로 픽셀(kilo pixel, 4 kP)로 차세대 고화질 해상도를 지칭하는 용어이다.
도 14에서 영상의 해상도가 커짐에 따라 라지 필터 선택 비율이 커짐을 볼 수 있다. 4K 해상도에서는 약 90%의 비율로 라지 필터가 선택되었다. 반면에 도 15에서는 스몰 필터의 선택 비율은 영상의 해상도가 커짐에 따라 감소하는 것을 볼 수 있으며, 4K 해상도에서는 거의 선택되지 않는다.
본 발명에서는 이러한 통계적 특성을 기반으로 필터 집합 내에 포함되는 필터들의 크기를 영상의 해상도에 따라 달리 정할 수 있다. 즉, 해상도가 큰 영상을 필터링하는 경우 필터 집합에 포함되는 라지 필터들의 개수를 늘리고, 스몰 필터들의 개수를 줄일 수 있다. 반대로 해상도가 작은 영상을 필터링하는 경우 필터 집합에 포함되는 라지 필터들의 개수를 줄이고, 스몰 필터들의 개수를 늘릴 수 있다.
이 경우, 예를 들어 다음과 같이 영상 해상도를 기반으로 필터 집합을 구성할 수 있다.
영상 해상도 필터 집합
SD {3×3 필터, 5×5 필터, 7×7 필터}
HD {7×7 필터, 9×7 필터, 9×9 필터, 11×11 필터}
4K {9×9 필터, 11×11 필터, 13×13 필터}
이와 같이 가변적인 필터 집합이 사용되는지 여부를 나타내기 위하여 가변 필터 집합 가용 플래그(variable filter set enabled flag)가 인코더로부터 디코더로 시그널링될 수 있다. 여기서 상기 가변 필터 집합 가용 플래그는 예를 들어 Variable_Filter_Set_enabled_flag 신텍스 요소(syntax element)로 나타내어질 수 있다. 상기 가변 필터 집합 가용 플래그는 시퀀스 레벨, 픽처 레벨 또는 슬라이스 레벨 등에서 시그널링될 수 있다.
상기 가변 필터 집합 가용 플래그의 값이 0이면 고정된 필터 집합이 사용되고, 1이면 유동적인 필터 집합이 사용될 수 있다.
한편, 표 3과 같이 사전에 영상의 해상도에 따른 필터 집합이 미리 정의될 수도 있으나, 사용하는 필터의 개수와 종류가 부호화되어 시그널링될 수도 있다.
이 경우, 필터 개수에 대한 정보는 Num_Filter 신텍스 요소로 나타내어질 수 있고, 필터의 종류에 대한 정보는 필터 탭 정보를 통하여 나타내어질 수 있다. 필터 탭 정보는 Filter_Tap 신텍스 요소로 나타내어질 수 있다.
Figure pct00003
여기서, Num_Filter 신텍스 요소는 사용하는 필터의 개수를 나타내고, Filter_Tap[i] 신텍스 요소는 인덱스 i의 필터 종류를 나타낸다.
도 16은 본 발명에 따른 필터의 개수와 종류의 예를 나타낸다.
도 16에서는 필터의 개수가 4개이고, 필터 탭 정보는 각각 7, 9, 11, 13인 경우를 나타낸다. 즉, 이 실시예에서는 Filter_Tap[0]은 7을 나타내고, Filter_Tap[1]은 9를 나타내고, Filter_Tap[2]는 11을, Filter_Tap[3]은 13을 나타낸다. 여기서 필터 탭 정보는 필터의 가로 및 세로 크기가 서로 동일한 경우의 가로 및 세로의 크기 값을 나타낼 수 있다. 예를 들어, 필터 탭 정보가 7을 나타내는 경우 원칙적으로 7×7 필터를 나타낼 수 있고, 필터 탭 정보가 9를 나타내는 경우 원칙적으로 11×11 필터를 나타낼 수 있다. 이는 나머지의 경우에도 마찬가지이다. 한편, 여기서 7, 9, 11. 13은 예시로서 이 외에도 임의의 양수인 N 값이 사용될 수도 있다.
또한, 이 경우 본 발명에 따르면 영상 특성에 따라 능동적으로 필터의 모양을 변경할 수 있다. 예를 들어 HD 영상을 위한 필터 집합을 사용할 경우 상기 표 3에 따르면 필터 인덱스 0은 7×7 필터를 가리키게 된다. 하지만 영상의 특징이 수평 또는 수직 방향성이 큰 경우 9×5 필터 또는 5×9 필터를 가리킬 수 있다. 이 경우 상기 7×7 필터와 9×5 필터 및 5×9 필터는 필터 탭을 채우기 위하여 필요한 필터 계수들의 수가 13개로 동일하므로, 필터 모양이 서로간에 변경되더라도 추가적인 필터 계수를 위한 정보가 필요하지 않은 장점이 있다.
이와 같이 영상 특성을 기반으로 능동적으로 필터의 모양을 변경할지 여부를 결정하기 위한 플래그 정보가 시그널링될 수 있다. 예를 들어, 디코더는 가변 필터 모양 가용 플래그를 인코더로부터 수신할 수 있다. 상기 가변 필터 모양 가용 플래그는 Variable_Filter_Shape_enabled_flag 신텍스 요소로 나타내어질 수 있다. 상기 가변 필터 모양 가용 플래그의 값이 0이면 고정된 필터 모양을 사용하고, 1이면 유동적인 필터 모양을 사용함을 나타낼 수 있다.
본 발명에 따르면, 복원 픽처의 대상 블록에 대한 영상 특성을 기반으로 적응적으로 필터링을 적용할 수 있으며, 이를 통하여 복원 픽처에 대한 주관적/객관적 화질을 향상시킬 수 있다. 또한, 이렇게 필터링된 복원 픽처는 메모리에 저장되어 다른 픽처를 위한 참조 픽처로 활용될 수 있으며, 이 경우 인터 예측 효율이 향상될 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 할 것이다.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 프로세서는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.

Claims (15)

  1. 디코딩 장치에 의하여 수행되는 복원 픽처 필터링 방법에 있어서,
    복원 픽처의 대상 영역에 대한 영상의 활동성을 계산하는 단계;
    상기 대상 영역에 대한 상기 영상의 방향성을 결정하는 단계;
    상기 활동성 및 상기 방향성을 기반으로 필터 집합 내에서 특정 필터를 선택하는 단계; 및
    상기 선택된 필터를 기반으로 복원 픽처에 대한 필터링을 수행하는 단계를 포함함을 특징으로 하는, 필터링 방법.
  2. 제 1항에 있어서,
    상기 방향성을 결정하는 단계는
    상기 대상 영역 내 샘플 및 상기 샘플에 인접한 4개의 주변 샘플들을 기반으로 상기 샘플에 대한 방향성을 결정하는 단계, 및
    상기 샘플에 대한 방향성을 기반으로 상기 대상 영역에 대한 방향성을 결정하는 단계를 포함함을 특징으로 하는, 필터링 방법
  3. 제 2항에 있어서,
    상기 샘플에 대한 방향성은 상기 샘플에 대한 수직 방향의 변화도 및 수평 방향의 변화도를 기반으로 결정되고,
    상기 수직 방향의 변화도 및 상기 수평 방향의 변화도는 다음 수학식을 기반으로 계산됨을 특징으로 하는, 필터링 방법,
    Figure pct00004

    여기서, Vertical은 상기 수직 방향의 변화도, Horizontal은 상기 수평 방향의 변화도, E는 상기 샘플의 값, A, B, C, D는 상기 4개의 주변 샘플의 값들을 나타낸다.
  4. 제 1항에 있어서,
    상기 대상 영역이 4×4 사이즈를 갖는 경우, 상기 대상 영역에 대한 상기 영상의 방향성은 다음 수학식을 기반으로 계산됨을 특징으로 하는, 필터링 방법,
    Figure pct00005

    여기서, a, b, c, d, e, f는 동일 행 또는 열의 샘플들이고, b, c, d, e, f는 상기 대상 영역 내의 샘플들의 방향성 값들을 나타내고, a, f는 상기 대상 영역 주변 샘플들의 방향성 값들을 나타낸다.
  5. 제 1항에 있어서,
    상기 대상 영역에 대한 상기 영상의 활동성은 수평 방향 활동성, 수직 방향 활동성을 포함함을 특징으로 하는, 필터링 방법.
  6. 제 1항에 있어서,
    상기 방향성을 결정하는 단계는
    상기 대상 영역 내 샘플 및 상기 샘플에 인접한 8개의 주변 샘플들을 기반으로 상기 샘플에 대한 방향성을 결정하는 단계, 및
    상기 샘플에 대한 방향성을 기반으로 상기 대상 영역에 대한 방향성을 결정하는 단계를 포함함을 특징으로 하는, 필터링 방법
  7. 제 6항에 있어서,
    상기 대상 영역에 대한 상기 영상의 방향성은 수평 방향, 수직 방향, 우상향 대각 방향, 좌상향 대각 방향, 무방향 중 하나를 나타냄을 특징으로 하는, 필터링 방법.
  8. 제 1항에 있어서,
    상기 대상 영역의 사이즈는 가변적인 것을 특징으로 하는, 필터링 방법.
  9. 제 1항에 있어서,
    가변 영역 사이즈 가용 플래그를 수신하는 단계; 및
    상기 가변 영역 사이즈 가용 플래그의 값이 1을 나타내는 경우 영역 사이즈 정보를 수신하는 단계를 더 포함하되,
    상기 대상 영역의 사이즈는 상기 영역 사이즈 정보를 기반으로 결정됨을 특징으로 하는, 필터링 방법.
  10. 제 9항에 있어서,
    상기 영역 사이즈 정보는 인덱스 0 내지 4의 5가지 값으로 분류되는 것을 특징으로 하는, 필터링 방법.
  11. 제 10항에 있어서,
    상기 인덱스 0 내지 4는 각각 이진화 값 "0", "100", "101", "110" 및 "111"로 나타내어짐을 특징으로 하는, 필터링 방법.
  12. 제 1항에 있어서,
    대각 활동성 가용 플래그를 수신하는 단계를 더 포함하되,
    상기 대각 활동성 가용 플래그의 값이 1을 나타내는 경우, 대각 방향을 고려하여 상기 대상 영역에 대한 상기 영상의 방향성을 결정함을 특징으로 하는, 필터링 방법.
  13. 제 1항에 있어서,
    상기 영상의 해상도를 기반으로 상기 필터 집합을 결정함을 특징으로 하는, 필터링 방법
  14. 제 13항에 있어서,
    가변 필터 집합 가용 플래그를 수신하는 단계;
    상기 가변 필터 집합 가용 플래그의 값이 1을 나타내는 경우, 필터 개수 정보 및 필터 탭 정보 중 적어도 하나를 더 수신하는 단계를 더 포함하되,
    상기 필터 개수 정보 및 상기 필터 탭 정보 중 적어도 하나를 기반으로 상기 필터 집합을 결정함을 특징으로 하는, 필터링 방법..
  15. 제 14항에 있어서,
    가변 필터 모양 가용 플래그를 수신하는 단계를 더 포함하되,
    상기 가변 필터 모양 가용 플래그의 값이 0을 나타내는 경우와 1을 나타내는 경우, 상기 필터 탭 정보에 의하여 지시되는 필터의 모양이 서로 다름을 특징으로 하는, 필터링 방법.
KR1020177035611A 2015-06-18 2016-02-02 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치 KR20180019548A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562181730P 2015-06-18 2015-06-18
US201562181731P 2015-06-18 2015-06-18
US62/181,730 2015-06-18
US62/181,731 2015-06-18
US201562240541P 2015-10-13 2015-10-13
US62/240,541 2015-10-13
PCT/KR2016/001136 WO2016204373A1 (ko) 2015-06-18 2016-02-02 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180019548A true KR20180019548A (ko) 2018-02-26

Family

ID=57546128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177035611A KR20180019548A (ko) 2015-06-18 2016-02-02 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치

Country Status (5)

Country Link
US (1) US10600156B2 (ko)
EP (1) EP3313078B1 (ko)
KR (1) KR20180019548A (ko)
CN (1) CN107750459B (ko)
WO (1) WO2016204373A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3174007A1 (en) 2015-11-30 2017-05-31 Delphi Technologies, Inc. Method for calibrating the orientation of a camera mounted to a vehicle
EP3173979A1 (en) 2015-11-30 2017-05-31 Delphi Technologies, Inc. Method for identification of characteristic points of a calibration pattern within a set of candidate points in an image of the calibration pattern
US11563938B2 (en) 2016-02-15 2023-01-24 Qualcomm Incorporated Geometric transforms for filters for video coding
EP3454556A1 (en) * 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
EP3534334B1 (en) 2018-02-28 2022-04-13 Aptiv Technologies Limited Method for identification of characteristic points of a calibration pattern within a set of candidate points derived from an image of the calibration pattern
EP3534333A1 (en) * 2018-02-28 2019-09-04 Aptiv Technologies Limited Method for calibrating the position and orientation of a camera relative to a calibration pattern
CN109862374A (zh) * 2019-01-07 2019-06-07 北京大学 一种自适应环路滤波方法及装置
WO2021040481A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 크로스 컴포넌트 필터링 기반 영상 코딩 장치 및 방법
BR112022005046A2 (pt) * 2019-09-18 2022-07-05 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento não transitório legível por computador e meio de gravação não transitório legível por computador
JP7393550B2 (ja) 2019-12-11 2023-12-06 北京字節跳動網絡技術有限公司 クロス成分適応ループフィルタリングのためのサンプルパディング
US11418792B2 (en) * 2020-03-27 2022-08-16 Tencent America LLC Estimating attributes for the classification of adaptive loop filtering based on projection-slice theorem
CN114339224B (zh) * 2020-06-05 2022-12-23 杭州海康威视数字技术股份有限公司 图像增强方法、装置及机器可读存储介质
EP4173290A4 (en) * 2020-06-30 2024-01-10 Beijing Bytedance Network Technology Co., Ltd. BOUNDARY LOCATION FOR ADAPTIVE LOOP FILTERING
CN114598867B (zh) * 2020-12-04 2023-08-25 杭州海康威视数字技术股份有限公司 滤波方法、装置及设备
CN118101933A (zh) * 2021-02-23 2024-05-28 杭州海康威视数字技术股份有限公司 滤波方法、装置及设备
US11706461B2 (en) * 2021-03-18 2023-07-18 Tencent America LLC Method and apparatus for video coding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940009490B1 (ko) * 1991-07-26 1994-10-14 삼성전자주식회사 3차원 서브밴드 영상신호의 적응적 선택회로 및 방법
US6950547B2 (en) * 2001-02-12 2005-09-27 3M Innovative Properties Company Web inspection method and device
JP2006014121A (ja) * 2004-06-29 2006-01-12 Sanyo Electric Co Ltd 画像符号化方法、画像符号化装置および撮像装置
JP4656912B2 (ja) * 2004-10-29 2011-03-23 三洋電機株式会社 画像符号化装置
KR100612871B1 (ko) * 2004-11-11 2006-08-14 삼성전자주식회사 액정 표시장치의 동적 캐패시턴스 보상장치 및 방법
JP4712642B2 (ja) 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
KR20090098214A (ko) 2008-03-13 2009-09-17 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
EP2485489A4 (en) * 2009-10-01 2014-01-15 Sk Telecom Co Ltd METHOD AND DEVICE FOR CODING AND DECODING IMAGES THROUGH VARIABLE SIZE MACROBLOCKS
JPWO2011158657A1 (ja) * 2010-06-17 2013-08-19 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
US9819966B2 (en) * 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US8982960B2 (en) * 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric filtering
JP5291134B2 (ja) * 2011-03-09 2013-09-18 日本電信電話株式会社 映像符号化/復号方法,映像符号化/復号装置およびそのプログラム
KR20120118782A (ko) 2011-04-19 2012-10-29 삼성전자주식회사 적응적 필터링을 이용한 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9357235B2 (en) 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
CN103813176A (zh) * 2012-11-14 2014-05-21 北京三星通信技术研究有限公司 视频编解码中的去块效应滤波方法和自适应环路滤波方法
IN2015DN03822A (ko) 2012-12-18 2015-10-02 Siemens Ag
CN105637874B (zh) * 2013-10-18 2018-12-07 Lg电子株式会社 解码多视图视频的视频解码装置和方法

Also Published As

Publication number Publication date
US10600156B2 (en) 2020-03-24
CN107750459A (zh) 2018-03-02
EP3313078A4 (en) 2019-01-30
EP3313078A1 (en) 2018-04-25
US20180197276A1 (en) 2018-07-12
CN107750459B (zh) 2020-09-15
EP3313078B1 (en) 2020-12-23
WO2016204373A1 (ko) 2016-12-22

Similar Documents

Publication Publication Date Title
EP3313078B1 (en) Image properties-based adaptive filtering method and device in image coding system
KR102622465B1 (ko) 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
KR102328179B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN113873242B (zh) 用于对视频进行解码的方法和用于对视频进行编码的方法
CN106878743B (zh) 解码视频信号的方法
KR20180059482A (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
KR20180048736A (ko) 영상 코딩 시스템에서 인터 예측 방법 및 장치
KR20180019092A (ko) 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치
KR20180028513A (ko) 비디오 코딩 시스템에서 인터 예측 방법 및 장치
US10750170B2 (en) Image filtering method and device in image coding system
KR20180059443A (ko) 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
KR102604680B1 (ko) 선택적 변환에 기반한 영상 코딩 방법 및 그 장치
KR20180058224A (ko) 영상 코딩 시스템에서 모델링 기반 영상 디코딩 방법 및 장치
KR20180048735A (ko) 영상 코딩 시스템에서 영상 필터링 방법 및 장치
KR20180030791A (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
KR20180081716A (ko) 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
KR20210082421A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10812796B2 (en) Image decoding method and apparatus in image coding system
KR20180044935A (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
US10721467B2 (en) Method and device for processing coding unit in image coding system
KR20180019547A (ko) 영상 코딩 시스템에서 필터 뱅크를 이용한 영상 필터링 방법 및 장치
KR20180064423A (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
KR20180050333A (ko) 영상 코딩 시스템에서 필터링 방법 및 장치
AU2015200359B2 (en) Method for inducing a merge candidate block and device using same