KR20190057910A - 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치 - Google Patents

적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치 Download PDF

Info

Publication number
KR20190057910A
KR20190057910A KR1020170155385A KR20170155385A KR20190057910A KR 20190057910 A KR20190057910 A KR 20190057910A KR 1020170155385 A KR1020170155385 A KR 1020170155385A KR 20170155385 A KR20170155385 A KR 20170155385A KR 20190057910 A KR20190057910 A KR 20190057910A
Authority
KR
South Korea
Prior art keywords
loop filter
adaptive loop
filter
block
unit
Prior art date
Application number
KR1020170155385A
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 디지털인사이트 주식회사
Priority to KR1020170155385A priority Critical patent/KR20190057910A/ko
Publication of KR20190057910A publication Critical patent/KR20190057910A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

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

Abstract

본 발명은 비디오 코딩 기술 중 적응적 루프 필터에 관한 것으로써, 적응적 루프 필터를 적용함에 있어 해당 화소와 공간적으로 인접한 화소 간의 유사성을 기반을 적응적 루프 필터의 적용 유무를 결정하는 비디오 부호화 및 복호화하는 방법 및 장치에 관한 것이다.

Description

적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치 {VIDEO CODING METHOD AND APPARATUS USING ADAPTIVE LOOP FILTER}
본 발명은 영상 복호화 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 비디오 압축 기술에서 적응적 인-루프 필터 방법 및 장치에 관한 것이다.
[1] 최근 고해상도, 고화질 비디오에 대한 요구가 증가함에 따라 차세대 비디오 서비스를 위한 고효율 비디오 압축 기술에 대한 필요성이 대두되었다. 이러한 필요성에 기반하여 H.264/AVC, HEVC 비디오 압축 표준을 공동으로 표준화한 ISO/IEC MPEG과 ITU-T VCEG은 JVET (Joint Video Exploration Team)을 구성하여 2015년 10월부터 새로운 비디오 압축 표준을 제정하기 위한 연구 및 탐색을 진행하고 있다.
[2] 비디오 압축 기술에서 인-루프 필터 기술은 영상의 주관적, 객관적 화질 향상과 더불어 영상의 참조 성능 향상을 위하여 부호화 및 복호화 루프 내에서 수행되는 필터 기술을 의미한다.
[3] 디블록킹 필터 기술은 대표적인 인-루프 필터 기술의 하나로써, 블록 단위 양자화에 따라 공간적으로 이웃한 블록 사이에서 발생하는 블록킹 효과 (Blocking Artifact)를 제거하고 주관적, 객관적 화질을 향상 시키는 기술이다.
[4] 최신 비디오 압축 표준 HEVC에서는 기존의 비디오 압축 표준에서 전통적으로 사용되던 디블록킹 필터 외에도 복원 영상과 원본 영상의 부호화 오차를 감소시키기 위한 인-루프 필터로써 SAO (Sample Adaptive Offset) 기술을 새롭게 채택하였다.
[5] HEVC 표준에는 채택되지 않았으나, 표준화 과정에서 제안되었던 적응적 루프 필터 (ALF: Adaptive Loop Filter) 또한, 인-루프 필터의 하나로써 복원 영상과 원본 영상의 부호화 오차를 감소시키기 위한 필터링 기술이다.
[6] 적응적 루프 필터와 더불어, 새로운 인-루프 필터의 하나로써 기존 FIR 필터로 인해 엣지 영역의 손상을 방지하고 이를 보존하기 위한 양방향 필터 (Bilateral filter) 기술이 있다.
비디오 압축 효율의 향상과 더불어 주관적 및 객관적 화질 향상을 위하여 상기 언급된 인-루프 필터 기술들에 대한 연구가 활발히 진행되고 있다.
[1] 본 발명은 적응적 루프 필터를 적용함에 있어, 해당 화소와 공간적으로 인접한 화소 간의 유사성을 기반으로 적응적 루프 필터의 적용 유무를 결정함으로써 기존의 비디오 압축 기술 대비 부호화 효율을 향상시키는 방법 및 장치를 제공하는 것을 그 목적으로 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
[1] 상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 현재 부호화 유닛의 적응적 루프 필터 적용 여부를 판단하는 단계, 해당 부호화 유닛을 하나 이상의 서브-블록들로 분할하는 단계, 상기 분할된 서브-블록 단위로 적응적 루프 필터의 클래스를 결정하는 단계, 상기 결정된 적응적 루프 필터의 클래스에 대응하는 필터를 적용하는 단계, 및 상기 적응적 루프 필터가 적용된 블록을 출력하는 단계를 포함한다.
[2] 상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 현재 서브-블록 내의 모든 화소 위치에 대하여 하나 이상의 방향에 대하여 화소의 기울기를 공간적으로 인접한 화소들을 이용하여 계산하는 단계, 상기 계산된 공간적으로 인접한 화소 간의 기울기를 합산하여 현재 서브-블록의 direction을 유도하는 단계, 상기 계산된 공간적으로 인접한 화소 간의 기울기 중 수직 방향 기울기와 수평 방향 기울기를 합산하여 현재 서브-블록의 activity를 유도하는 단계, 및 상기 유도된 현재 서브-블록의 direction과 activity를 이용하여 현재 서브 블록에 적용하는 적응적 루프 필터의 계수를 결정하는 단계를 포함한다.
[3] 상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 하나 이상의 적응적 루프 필터 계수의 셋들 중 현재 서브-블록의 적응적 루프 필터 클래스에 대응하는 단 하나의 필터 계수 셋을 획득하는 단계, 상기 획득한 필터 계수 셋을 현재 서브-블록에 대한 하나 이상의 방향에 대한 기울기의 크기 비교를 통하여 필터 계수의 위치를 변환하는 단계, 및 상기 결정된 필터 계수를 이용하여 현재 서브-블록에 적응적 루프 필터를 수행하는 단계를 포함한다.
[4] 상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 현재 부호화 유닛의 적응적 루프 필터 적용 여부를 판단하는 단계, 해당 부호화 유닛을 하나 이상의 서브-블록들로 분할하는 단계, 상기 분할된 서브-블록 단위로 적응적 루프 필터의 클래스를 결정하는 단계, 상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 여부를 판단하는 단계, 상기 결정된 적응적 루프 필터의 클래스에 대응하는 필터를 적용하는 단계, 및 상기 적응적 루프 필터가 적용된 블록을 출력하는 단계를 포함한다.
[5] 상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 여부를 판단하는 단계, 상기 분할된 서브-블록에 대한 수직 방향 기울기와 수평 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계를 포함하고, 상기 수직 방향 기울기와 수평 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작은 경우, 상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 단계를 건너뛰는 특징을 포함한다.
[6] 상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 상기 분할된 서브-블록에 대한 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계를 포함하고, 상기 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작은 경우, 상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 단계를 건너뛰는 특징을 포함한다.
상기 과제를 해결하기 위하여 본 발명의 실시예에 따른 비디오 코딩 방법 및 장치는 상기 분할된 서브-블록에 대한 수직 방향 기울기와 수평 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계, 상기 분할된 서브-블록에 대한 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계를 포함하고, 상기 수직 방향 기울기와 수평 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작거나, 상기 좌측 대각선 방향 기울기와 우측 대각선 반향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작은 경우, 상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 단계를 건너뛰는 특징을 포함한다.
[1] 본 발명은 부호화 효율 향상을 위하여 비디오 코딩 기술 중 적응적 루프 필터 (ALF: Adaptive Loop Filter)를 사용하는 방법 및 장치를 제공하는 것을 그 목적으로 한다.
[2] 본 발명의 일 실시 예에 따르면, 어떠한 화소와 해당 화소와 공간적으로 인접한 화소들의 화소 값의 유사성을 기반으로 해당 화소가 포함된 특정한 크기의 블록에 대한 적응적 루프 필터의 수행 여부를 판별함으로써 부호화 효율을 향상 시킬 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 어떠한 화소와 해당 화소와 공간적으로 인접한 화소들의 화소 값의 유사성을 기반으로 해당 화소가 포함된 특정한 크기의 블록에 대한 적응적 루프 필터의 수행 여부를 판별함으로써 부호화 및 복호화에 소요되는 총 연산 복잡도를 감소 시킬 수 있다.
[1] 도 1은 본 발명의 일 실시예에 따른 비디오 부호화 장치의 구성을 나타내는 블록도를 도시한다.
[2] 도 2는 본 발명의 일 실시예에 따른 비디오 복호화 장치의 구성을 나타내는 블록도를 도시한다.
[3] 도 3 은 본 발명의 일 실시예에 따른 적응적 루프 필터의 필터 모양의 종류와 필터 계수의 대칭적 특성을 도시한다.
[4] 도 4는 본 발명의 일 실시예에 따른 적응적 루프 필터의 필터 모양의 종류와 필터 계수의 대칭적 특성을 도시한다.
[5] 도 5는 본 발명의 일 실시예에 따른 비디오 부호화기에서 적응적 루프 필터의 수행 순서의 일 예를 도시한다.
[6] 도 6은 본 발명의 일 실시예에 따른 비디오 복호화기에서 적응적 루프 필터의 수행 순서의 일 예를 도시한다.
[7] 도 7은 본 발명의 일 실시예에 따른 ALF 클래스 결정부와 ALF 수행부의 세부 단계에 따른 수행 순서의 일 예를 도시한다.
[8] 도 8은 본 발명의 일 실시예에 따른 방향성 계산을 위한 공간적으로 인접한 화소들의 위치 관계를 도시한다.
도 9는 본 발명의 일 실시예에 따른 ALF SKIP 수행에 따른 수행 순서의 일 예를 도시한다.
[1] 하기는 본 명세서에 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
[2] 본 명세서 전체에서 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다.
[3] 또한, 본 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
[4] 본 명세서 전체에서 사용되는 정도의 용어 ~(하는) 단계 또는 ~의 단계는 ~를 위한 단계를 의미하지 않는다.
[5] 또한, 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
[6] 덧붙여, 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 기술되고, 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
[7] 이하 본 명세서에 기재된 본 발명의 다양한 실시예에서, "~부", "~기", "~유닛", "~모듈", "~블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
[8] 이하 본 발명의 일 실시예에 따라 제안하는 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에 대하여 도 9를 참조하여 구체적으로 설명하기로 한다.
[9] 도 1은 본 발명의 일 실시예에 따른 비디오 부호화 방법 및 장치의 구성을 나타내는 블록도를 도시한다.
[10] 일 실시예에 따른 비디오 부호화 방법 및 장치는 화면 간 예측부(120), 화면 내 예측부(125), 감산부(130), 변환부(140), 양자화부(150), 엔트로피 부호화부(160), 역변환부(145), 역양자화부(155), 가산부(135), 인-루프 필터부(180), 복원 픽쳐 버퍼(190)를 포함할 수 있다.
[11] 화면 간 예측부(120)는 입력 영상(110)과 복원 픽쳐 버퍼(190)에 저장되어 있는 복원 영상을 이용하여 움직임 예측을 수행하여 예측 신호를 생성한다.
[12] 화면 내 예측부(125)는 부호화되는 현재 블록과 공간적으로 인접하는 기-복원된 주변 블록의 화소 값을 이용하여 공간적 예측을 수행하여 예측 신호를 생성한다.
[13] 감산부(130)는 입력 영상과 화면 간 예측부(120) 혹은 화면 내 예측부(125)를 통해 생성된 예측 신호를 이용하여 잔차 신호 (residual signal)를 생성한다.
[14] 변환부(140) 및 양자화부(150)는 감산부(130)를 통해 생성된 잔차 신호에 대하여 변환 및 양자화를 수행하여 양자화된 계수 (quantized coefficient)를 생성한다.
[15] 엔트로피 부호화부(160)는 비디오 압축 표준에 정의된 신택스 요소 (syntax elements) 및 양자화된 계수 등과 같은 부호화 정보에 대하여 엔트로피 부호화를 수행하여 비트스트림을 출력한다.
[16] 역변환부(145) 및 역양자화부(155)는 양자화 계수를 수신하여 역양자화 및 역변환을 차례대로 수행하고, 복원된 잔차 신호를 생성한다.
[17] 가산부(135)는 화면 간 예측부(120) 혹은 화면 내 예측부(125)를 통해 생성된 예측 신호와 복원된 잔차 신호를 이용하여 복원 신호를 생성한다.
[18] 상기 복원 신호는 인-루프 필터부(180)로 전달되어 디블록킹 필터, SAO (Sample Adaptive Offset), ALF (Adaptive Loop Filter)와 같은 하나 혹은 그 이상의 인-루프 필터를 적용하여 최종 복원 신호를 생성하여 복원 픽쳐 버퍼(190)에 저장한다. 상기 복원 픽쳐 버퍼(190)에 저장된 복원 신호는 화면 간 예측부(120)에서 참조 신호로 사용될 수 있다.
[19] 도 2는 본 발명의 일 실시예에 따른 비디오 복호화 장치 및 방법의 구성을 나타내는 블록도를 도시한다.
[20] 일 실시예에 따른 비디오 복호화 장치 및 방법은 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 화면 내 예측부(240), 화면 간 예측부(250), 가산부(260), 인-루프 필터부(270), 복원 픽쳐 버퍼(280)를 포함할 수 있다.
[21] 엔트로피 복호화부(210)는 입력된 비트스트림(200)을 복호화하여 신택스 요소(syntax elements) 및 양자화된 계수 등과 같은 복호화 정보를 출력한다.
[22] 역양자화부(220) 및 역변환부(230)는 양자화 계수를 수신하여 역양자화 및 역변환을 차례대로 수행하고, 잔차 신호(residual signal)를 출력한다.
[23] 화면 내 예측부(240)는 복호화되는 현재 블록과 공간적으로 인접하는 기-복호화된 주변 블록의 화소 값을 이용하여 공간적 예측을 수행하여 예측 신호를 생성한다.
[24] 화면 간 예측부(250)는 비트스트림으로부터 추출된 움직임 벡터와 복원 픽쳐 버퍼(280)에 저장되어 있는 복원 영상을 이용하여 움직임 보상을 수행하여 예측 신호를 생성한다.
[25] 상기 화면 내 예측부(240)와 화면 간 예측부(250)에서 출력된 예측 신호는 가산부(260)를 통해 잔차 신호와 합산하여 복원 신호를 생성한다.
[26] 상기 복원 신호는 인-루프 필터부(270)로 전달되어 디블록킹 필터, SAO (Sample Adaptive Offset), ALF (Adaptive Loop Filter)와 같은 하나 혹은 그 이상의 인-루프 필터를 적용하여 최종 복원 신호를 생성하여 복원 픽쳐 버퍼(190)에 저장한다. 상기 복원 픽쳐 버퍼(190)에 저장된 복원 신호는 화면 간 예측부(120)에서 참조 신호로 사용될 수 있다.
[27] 도 3 은 본 발명의 일 실시예에 따른 인-루프 필터부의 구성을 나타내는 블록도를 도시한다.
[28] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서는 하나 혹은 그 이상의 인-루프 필터를 사용할 수 있다. 일 예로 인-루프 필터부(300)는 양방향 필터(Bilateral filter)부(320), 디블록킹 필터(DBF: De-Blocking Filter)부(330), SAO (Sample Adaptive Offset)부(330), ALF (Adaptive Loop Filter)부(350)을 포함할 수 있으며, 인-루프 필터부(300)의 입력은 복원 영상(310), 출력은 필터처리 영상(360)을 포함할 수 있다.
[29] 상기 양방향 필터부(320)는 기존 FIR 필터로 인해 물체의 경계 영역에서 발생하는 손상을 방지하고 이를 보존하기 위하여 화소 간의 유클리디언 거리 뿐 아니라 공간적으로 인접한 화소들의 강도(Intensity) 차이를 필터 계수를 결정하는데 포함한다.
[30] 상기 디블록킹 필터부(330)는 블록과 블록 경계에서 발생하는 블록킹 열화 (Blocking Artifact)를 제거하기 위하여 블록 경계에 위치한 화소들에 대하여 공간적으로 인접한 화소들을 이용하여 필터링을 수행하는 것을 포함한다. 디블록킹 필터를 수행함에 있어, 블록의 경계 강도, 공간적으로 인접한 블록들의 예측 모드, QP (Quantization Parameter)에 따라 천이하는 하나 혹은 둘 이상의 파라미터를 기준으로 디블록킹 필터의 수행 여부와 필터 종류를 판단한다.
[31] 상기 SAO부(340)는 인접한 화소와 필터 대상 화소의 방향성과 값의 분포에 따라 원본 영상과 복원 영상의 오차를 줄여주는 오프셋을 가감하는 필터 방법을 포함한다. 일 실시예에 따른 인-루프 필터부(300)에서 SAO부(330)의 입력은 디블록킹 필터부(320)가 수행된 화소 혹은 디블록킹 필터 수행 여부가 거짓인 경우 디블록킹 필터가 수행되지 않은 화소가 사용될 수 있다.
[32] 상기 ALF부(350)는 복원 영상과 원본 영상의 부호화 오차를 최소화하는 필터 계수를 이용하여 필터를 수행하는 것을 포함한다. 일 실시예에 따른 인-루프 필터부(300)에서 ALF부(350)의 입력은 양방향 필터부(320), 디블록킹 필터부(330)와 SAO부(340)을 거치지 않거나, 혹은 하나의 인-루프 필터가 적용된 필터처리 영상이 입력으로 사용되며, ALF부(350) 또한 필터 수행 여부를 판별하여 ALF 필터가 적용되거나, 혹은 필터가 적용되지 않은 필터 처리 영상을 출력하는 것을 포함한다.
[33] 도 4는 본 발명의 일 실시예에 따른 적응적 루프 필터의 필터 모양의 종류와 필터 계수의 대칭적 특성을 도시한다.
[34] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서는 하나 혹은 그 이상의 모양과 크기를 갖는 필터를 이용하여 필터링을 수행하는 것을 포함한다. 일 예로 상기 하나 혹은 그 이상의 모양과 크기를 갖는 필터는 5x5 다이아몬드 필터(410), 7x7 다이아몬드 필터(420), 9x9 다이아몬드 필터(430), 잘려진 형태(truncated)의 9x9 다이아몬드 필터(440)를 포함할 수 있다.
[35] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서는 상기 하나 혹은 그 이상의 모양과 크기를 갖는 필터의 모양 중에서 현재 픽쳐 내의 휘도(luminance) 성분에 적용할 하나의 필터 모양에 대한 정보를 미리 정의된 인덱스 형태로 픽쳐 단위에서 시그널링 하는 것을 포함한다.
[36] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서는 상기 하나 혹은 그 이상의 모양과 크기를 갖는 필터의 모양 중에서 현재 픽쳐 내의 색차(chrominance) 성분에 대해서는 미리 정의된 하나의 필터 모양을 추가적인 시그널링 없이 사용하는 것을 포함한다. 일 예로 픽쳐 내의 색차 성분에 대해서는 5x5 다이아몬드 필터(410) 모양을 갖는 필터를 이용하여 적응적 루프 필터링을 적용할 수 있다.
[37] 또한, 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서는 상기 하나 혹은 그 이상의 모양과 크기를 갖는 필터의 모양 중에서 현재 픽쳐 내의 색차 성분에 대해서는 미리 정의된 하나의 필터 모양을 추가적인 시그널링 없이 사용하되, 해당 적응적 루프 필터의 필터 계수를 휘도 성분의 적응적 루프 필터 적용에서 사용한 필터 계수를 이용하여 유도된 계수로 적응적 루프 필터링을 적용할 수 있다.
[38] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서는 필터의 모양과 크기에 따라 필터의 중심을 기준으로 대칭성을 갖는 필터 계수들로 구성되는 것을 포함한다. 일 예로 5x5 다이아몬드 필터(410)를 사용하는 적응적 루프 필터의 경우, 필터의 중심에 위치한 필터 계수 (C6)를 기준으로 여섯 개의 필터 계수들 (C0, C1, C2, C3, C4, C5)이 대칭성을 갖도록 구성되어 전송되거나 혹은 저장되는 필터 계수의 양을 감소시키는 것을 포함한다.
[39] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서 상기 적응적 루프 필터 계수를 이용하여 적어도 하나 이상의 화소로 구성된 블록 단위로 수식 (1)과 같이 적응적 루프 필터를 수행한다.
Figure pat00001
(1)
상기 수식 (1)에서 i, j는 화소 위치에 대응되는 x, y 위치 값을 의미하며, S'(i,j)는 적응적 루프 필터가 적용된 i, j 위치의 화소를 의미하며, S(i, j)는 i, j 위치의 적응적 루프 필터 적용 이전의 복원 화소를 의미한다. C(k, l)은 적응적 루프 필터 계수를 의미하며, N과 M은 적응적 루프 필터가 적용되는 블록의 너비와 높이 값을 의미한다.
[40] 도 5는 본 발명의 일 실시예에 따른 비디오 부호화기에서 적응적 루프 필터의 수행 순서의 일 예를 도시한다.
[41] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 부호화기에서는 영상 입력부(510), ALF 클래스 결정부(520), Luma 필터 계수 유도부(530), CU 단위 Luma 필터 수행 결정부(540), Luma 필터 모양 결정부(550), 픽쳐 단위 Luma 필터 수행 결정부(560), Chroma 필터 계수 유도부(570), 픽쳐 단위 Chroma 필터 수행 결정부(580), 영상 출력부(590)을 포함한다.
[42] 상기 영상 입력부(510)는 적응적 루프 필터 수행 전까지의 비디오 부호화 과정이 완료된 입력 영상이 적응적 루프 필터의 수행을 위하여 입력되는 것을 의미하며, 양방향 필터, 디블록킹 필터, SAO와 같은 인-루프 필터가 적용되지 않았거나 혹은 하나 이상의 인-루프 필터를 적용하여 생성된 복원 영상을 포함한다. 상기 복원 영상은 다수의 블록이 결합된 하나의 픽쳐 만을 의미하는 것은 아니며, 복원된 하나의 블록 혹은 하나 이상의 블록이 결합된 단위를 포함 할 수 있다.
[43] 상기 ALF 클래스 결정부(520)는 적응적 루프 필터의 클래스를 결정하는 단계를 포함한다. 일 실시예에 따른 적응적 루프 필터는 하나 이상의 클래스를 이용하여 블록을 분류(Classification) 할 수 있으며 클래스는 블록 내 화소들의 방향성(Direction)과 움직임(Activity)을 이용하여 분류 할 수 있다. 적응적 루프 필터를 위한 클래스 분류의 일 예로 적응적 루프 필터의 클래스는 5개의 방향성과 5개의 움직임으로 구분하여 최대 총 25개의 클래스로 분류될 수 있다. 일 실시예에 따른 클래스 분류가 수행되는 블록의 크기는 2x2, 4x4 블록 크기와 같이 하나의 CU 크기 보다 같거나 작은 블록 크기를 사용하는 것을 포함한다.
[44] 상기 Luma 필터 계수 유도부(530)는 현재 픽쳐 내의 휘도 성분에 해당하는 화소들에 적용될 적응적 루프 필터의 계수를 유도하는 단계를 포함한다. 일 실시예에 따른 상기 Luma 필터 계수 유도부(530)에서는 현재 부호화하는 픽쳐 내의 휘도 성분에 해당하는 화소들의 복원 화소와 원본 화소간의 오차를 최소화할 수 있는 적응적 필터 계수에 대하여 상기 결정된 최대 25개의 클래스 별로 각각 유도하는 것을 포함한다.
[45] 상기 CU 단위 Luma 필터 수행 결정부(540)는 현재 픽쳐 내의 각 CU별 적응적 루프 필터의 적용 여부에 대하여 선택하는 단계를 포함한다. 일 실시예에 따른 상기 각 CU 별 적응적 루프 필터의 적용 여부에 대하여 선택하는 단계는 율-왜곡 간의 최적의 값을 계산하는 율-왜곡 최적화 과정을 포함 할 수 있다.
[46] 상기 Luma 필터 모양 결정부(550)는 현재 픽쳐 내에서 상기 CU 단위 Luma 필터 수행 결정부(540)에서 적응적 루프 필터의 수행이 확정된 모든 CU에서 사용할 하나의 필터 모양을 결정하는 단계를 포함한다. 일 실시예에 따른 상기 Luma 필터 모양 결정부(550)는 도 4에서 도시한 하나 이상의 필터 모양 중 하나의 필터 모양으로 결정하는 단계를 포함한다. 결정된 하나의 필터 모양은 하나의 픽쳐 내에서 적응적 루프 필터가 적용되는 모든 CU에서 동일하게 적용되는 것을 포함한다.
[47] 상기 픽쳐 단위 Luma 필터 수행 결정부(560)는 상기 이전 단계들을 통해 결정된 현재 픽쳐 내의 휘도 성분에 적용할 필터 모양과 필터 계수들을 이용하여 현재 픽쳐 내의 휘도 성분에 적응적 루프 필터 수행에 대한 여부를 결정하는 단계를 포함한다. 일 실시예에 따른 상기 픽쳐 단위 Luma 필터 수행 결정부에서 현재 픽쳐 내의 휘도 성분에 적응적 루프 필터 수행 여부에 대하여 수행하지 않도록 결정되는 경우, 상기 CU 단위 Luma 필터 수행 결정부(540)에서 각 CU 단위로 적응적 루프 필터를 적용하도록 결정된 경우에도 적응적 루프 필터를 적용하지 않는다.
[48] 상기 Chroma 필터 계수 유도부(570)에서는 현재 픽쳐 내의 색차 성분에 적용할 필터 계수를 유도하는 단계를 포함한다. 일 실시예에 따른 상기 Chroma 필터 계수 유도부(570)에서 유도되는 필터 계수는 색차 성분에 적용되는 필터 계수로 휘도 성분에 적용되는 필터와 달리 클래스의 구분이 없으며, 현재 픽쳐 내에서 단 하나의 클래스에 해당하는 필터 계수만이 유도된다.
[49] 상기 픽쳐 단위 Chroma 필터 수행 결정부(580)는 현재 픽쳐 내의 색차 성분에 대하여 적응적 루프 필터 적용 여부를 경정하는 단계를 포함한다. 일 실시예에 따른 상기 픽쳐 단위 Chroma 필터 수행 결정부에서 현재 픽쳐 내의 색차 성분에 적응적 루프 필터 수행 여부에 대하여 적응적 루프 필터가 수행하지 않도록 결정되는 경우, 현재 픽쳐 내의 모든 색차 성분에 적응적 루프 필터는 적용되지 않는다. 반면, 일 실시예에 따른 상기 픽쳐 단위 Chroma 필터 수행 결정부에서 현재 픽쳐 내의 색차 성분에 적응적 루프 필터 수행 여부에 대하여 적응적 루프 필터가 수행하도록 결정되는 경우, 현재 픽쳐 내의 모든 색차 성분에대하여 적응적 루프 필터를 일괄적으로 적용한다.
[50] 상기 영상 출력부(590)에서는 상기적응적 루프 필터 수행을 위한 단계들에서 출력된 최종 픽쳐를 출력하는 것을 포함한다. 일 실시예에 따른 상기 최종 픽쳐를 출력하는 것은 복원된 하나의 픽쳐를 서로 다른 픽쳐에서 참조하기 위한 목적의 메모리 공간으로 출력하는 것, 디스플레이를 위하여 외부 메모리 혹은 디스플레이 장치로 출력하는 것을 포괄적으로 의미한다.
[51] 도 6은 본 발명의 일 실시예에 따른 비디오 복호화기에서 적응적 루프 필터 수행 순서의 일 예를 도시한다.
[52] 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 복호화기에서는 영상 입력부(610), ALF 수행 판단부(620), ALF 클래스 결정부(630), ALF 수행부(640), 영상 출력부(650)을 포함한다.
[53] 상기 영상 입력부(610)는 적응적 루프 필터 수행 전까지의 비디오 복호화 과정이 완료된 입력 영상이 적응적 루프 필터의 수행을 위하여 입력되는 것을 의미하며, 양방향 필터, 디블록킹 필터, SAO와 같은 인-루프 필터가 적용되지 않았거나 혹은 하나 이상의 인-루프 필터를 적용하여 생성된 복원 영상을 포함한다. 상기 복원 영상은 다수의 블록이 결합된 하나의 픽쳐 만을 의미하는 것은 아니며, 복원된 하나의 블록 혹은 하나 이상의 블록이 결합된 단위를 포함 할 수 있다.
[54] 상기 ALF 수행 판단부(620)는 적응적 루프 필터의 적용 여부에 대한 판단을 수행하는 단계를 포함한다. 상기 적응적 루프 필터의 적용 여부는 하나의 시퀀스 단위의 적용, 하나의 픽쳐 단위의 적용, 및 하나의 CU 단위의 적용을 포함하여, 현재 적응적 루프 필터를 적용하는 하나의 블록을 포함하는 단위에서 적응적 루프 필터를 수행하는지에 대한 여부를 포괄적으로 지칭한다. 상기 적응적 루프 필터의 적용 여부는 일 실시예에 따라 시퀀스 파라미터 셋 (SPS: Sequence Parameter Set), 슬라이스 헤더 (Slice header), CU와 같은 부호화 단위의 파라미터 전송 단위에서 플래그 (flag) 형태로 전송될 수 있다.
[55] 상기 ALF 클래스 결정부(630)는 적응적 루프 필터의 클래스를 결정하는 단계를 포함한다. 일 실시예에 따른 적응적 루프 필터는 하나 이상의 클래스를 이용하여 블록을 분류(Classification) 할 수 있으며 클래스는 블록 내 화소들의 방향성(Direction)과 움직임(Activity)을 이용하여 분류 할 수 있다. 적응적 루프 필터를 위한 클래스 분류의 일 예로 적응적 루프 필터의 클래스는 5개의 방향성과 5개의 움직임으로 구분하여 최대 총 25개의 클래스로 분류될 수 있다. 일 실시예에 따른 클래스 분류가 수행되는 블록의 크기는 2x2, 4x4 블록 크기와 같이 하나의 CU 크기 보다 같거나 작은 블록 크기를 사용하는 것을 포함한다.
[56] 상기 ALF 수행부(640)는 상기 결정된 적응적 루프 필터 클래스 정보를 이용하여 해당 클래스에 대응되는 적응적 루프 필터 계수를 이용하여 필터링을 수행하는 것을 포함한다. 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서 상기 적응적 루프 필터 계수를 이용하여 적어도 하나 이상의 화소로 구성된 블록 단위로 수식 (1)과 같이 적응적 루프 필터를 수행한다.
[57] 상기 영상 출력부(650)에서는 상기 적응적 루프 필터 수행을 위한 단계들에서 출력된 최종 픽쳐를 출력하는 것을 포함한다. 일 실시예에 따른 상기 최종 픽쳐를 출력하는 것은 복원된 하나의 픽쳐를 서로 다른 픽쳐에서 참조하기 위한 목적의 메모리 공간으로 출력하는 것, 디스플레이를 위하여 외부 메모리 혹은 디스플레이 장치로 출력하는 것을 포괄적으로 의미한다.
[58] 도 7은 본 발명의 일 실시예에 따른 ALF 클래스 결정부와 ALF 수행부의 세부 단계에 따른 수행 순서의 일 예를 도시한다.
[59] 일 실시예에 따른 ALF 클래스 결정부와 ALF 수행부는 블록 입력부(710), Direction 계산부(720), Activity 계산부(730), 클래스 결정부(740), 클래스 출력부(750), 필터 계수 획득부(760), 필터 계수 변환부(770), ALF 수행부(780)을 포함한다.
[60] 상기 블록 입력부(710)는 적응적 루프 필터 수행 전까지의 비디오 복호화 과정이 완료된 복원 영상이 적응적 루프 필터의 클래스 결정을 위하여 입력되는 단계를 포함한다. 이때, 상기 블록 입력부(710)를 통하여 입력되는 복원 영상의 블록은 양방향 필터, 디블록킹 필터, SAO와 같은 인-루프 필터가 적용되지 않았거나 혹은 하나 이상의 인-루프 필터를 적용하여 생성된 복원 영상에 대응하는 2x2, 4x4, 8x8 과 같은 블록 크기 단위 중 하나의 크기를 갖는 블록을 포함한다. 이때, 상기 클래스 결정을 위한 블록 크기 단위는 본 발명의 일 실시예에 따라, 2x2, 4x4, 8x8 과 같은 블록 크기 단위 중 단 하나의 크기로 고정되어 사용될 수 있다. 혹은, 본 발명의 일 실시예에 따라, 상기 클래스 결정을 위한 블록 크기 단위는 2x2, 4x4, 8x8 과 같은 다양한 블록 중 하나로 선택하는 부가적인 정보가 시퀀스 단위, 픽쳐 단위, 슬라이스 단위 중 하나 이상의 파라미터 셋에서 전송되는 것을 포함한다.
[61] 일 실시예에 따른 상기 ALF 클래스 결정부(630)는 Direction 계산부(720), Activity 계산부(730), 클래스 결정부(740), 클래스 출력부(750)을 포함한다.
[62] 상기 Direction 계산부(720)는 상기 블록 입력부(710)로부터 입력된 블록 내의 화소들과 해당 화소들과 공간적으로 인접한 화소들의 차이를 이용하여 해당 블록의 방향성을 나타내는 값 D(Direction)를 계산하는 단계를 포함한다. 이때, 상기 해당 블록의 방향성을 나타내는 값 D는 수식 (2), (3), (4), (5)를 이용하여 수직방향, 수평방향 및 두 종류의 대각선 방향에 대한 화소 간의 기울기(G: Gradient)를 계산한다.
Figure pat00002
(2)
Figure pat00003
(3)
Figure pat00004
(4)
Figure pat00005
(5)
수식 (2), (3), (4), (5)에서 S는 상기 Direction 계산부(720)로 입력된 블록 내 화소 값을 의미하며, i, kj, l은 화소의 x좌표와 y좌표에 대응되는 위치이며, NM은 화소 간의 기울기 계산에 사용되는 커널의 크기를 나타낸다.
[63] 상기 Direction 계산부(720)는 본 발명의 일 실시예에 따라 계산된 하나 이상의 방향에 대한 화소 간의 기울기(G: Gradient)를 이용하여, 입력된 블록의 방향성을 결정하는 단계를 포함한다. 상기 다수 방향에 대한 화소 간의 기울기가 존재할 때, 상기 기울기를 수직, 수평 방향 및 두 방향의 대각선에 대한 기울기로 분류하여, 각각의 서로 다른 두 방향 간에 대한 기울기의 대소를 수식 (6), (7)과 같이 비교하는 것을 포함한다.
Figure pat00006
,
Figure pat00007
(6)
Figure pat00008
,
Figure pat00009
(7)
상기 수식 (6)과 (7)에서 max와 min은 두 개의 기울기 중 최댓값과 최솟값을 출력하는 연산을 의미한다. 본 발명의 일 실시예에 따른 상기 계산된 입력 블록에 대한 기울기의 대소 비교는 상기 서로 다른 두 방향 간에 대한 비교에만 국한되지 않으며, 상기 계산된 둘 이상의 서로 다른 방향들을 비교하여 최댓값과 최솟값을 출력하는 연산을 포함한다.
[64] 상기 Direction 계산부(720)는 본 발명의 일 실시예에 따라 계산된 최댓값과 최솟값은 추가적인 비교 단계를 거쳐 최종 입력 블록의 방향성(D: Direction)으로 결정하는 단계를 포함한다. 본 발명의 일 실시예에 따른 상기 블록의 방향성(D)를 결정하는 추가적인 비교 단계의 일 예로 최댓값과 최솟값을 비교하는 단계를 포함할 수 있으며, 이때, 최댓값과 최솟값에 특정한 가중치(W: Weight)를 적용하여 비교하는 것을 포함한다. 수식 (8), (9)와 같이 서로 다른 방향성 A, B에 대하여 최댓값과 최솟값에 가중치(W)를 적용하여 서로 다른 방향성 A, B의 방향성의 정도를 비교하는 단계를 포함한다.
Figure pat00010
(8)
Figure pat00011
(9)
상기 수식 (9), (10)에서 나타나는 바와 같이, 최댓값과 최솟값의 비교에 있어 서로 다른 가중치 W0와 W1을 사용하여 하나 이상의 조건을 생성하여 방향성 D를 결정하는 것을 포함한다.
[65] 상기 Activity 계산부(730)는 입력 블록의 2D Laplacian을 이용한 활동성(A: Activity)를 계산하는 단계를 포함한다. 본 발명의 일 실시예에 따라 입력 블록의 활동성 값 A는 수식 (2), 수식(3)와 수식 (10)을 이용하여 계산될 수 있다.
Figure pat00012
(10)
상기 수식 (10)에서 N과 M은 화소 간의 기울기 계산에 사용되는 커널의 크기를 나타내며, V와 H는 수식(2)과 수식(3)에서 계산한 화소 간의 수직 방향과 수평 방향에 대한 기울기 값을 나타낸다. 본 발명의 일 실시예에서는 상기 수식 (10)을 이용하여 계산된 활동성 A에 대하여 양자화를 수행하여 특정 범위로 양자화된 값 A'을 적응적 루프 필터의 클래스 유도에 사용하는 것을 포함한다. 상기 특정 범위로 양자화된 값 A'은 0을 포함하는 정수 값의 범위를 가질 수 있다.
[66] 상기 클래스 결정부(740)는 상기 Direction 계산부(720)와 Activity 계산부(730)에서 계산된 D와 A 값을 이용하여 상기 블록 입력부(710)을 통하여 입력된 블록에 대한 최종적인 클래스를 결정하는 단계를 포함한다.
[67] 상기 클래스 출력부(750)는 상기 클래스 결정부(740)에서 결정된 입력 블록에 대한 적응적 루프 필터 클래스를 출력하는 단계를 포함한다. 본 발명의 일 실시예에 따라 상기 클래스 출력부(750)에서 출력되는 적응적 루프 필터 클래스는 하나의 정수 값으로 ALF 수행부의 입력으로 전달될 수 있다.
[68] 일 실시예에 따른 상기 ALF 클래스 수행부(640)는 필터 계수 획득부(760), 필터 계수 변환부(770), ALF 수행부(780)를 포함한다.
[69] 상기 필터 계수 획득부(760)는 상기 클래스 출력부(750)로부터 입력 받은 적응적 루프 필터 클래스에 대응되는 적응적 필터 계수를 획득하는 단계를 포함한다. 본 발명의 일 실시예에 따라 상기 적응적 필터 계수는 부호화기에서 복호화기로 전송되었거나 혹은 부호화기와 복호화기에서 동일하게 사용하는 고정된 필터 계수를 포함할 수 있다. 본 발명의 일 실시예에 따라 상기 부호화기에서 복호화기로 전송된 적응적 필터 계수는 하나의 픽쳐 단위로 전송 될 수 있으며, 전송시 부호화 효율을 향상 시키기 위하여 이전에 전송된 적응적 필터 계수를 참조하여 현재 필터 계수와의 차이(Difference) 값이 전송되어 이를 복원한 필터 계수를 포함한다. 또한, 본 발명의 일 실시예에 따라 상기 부호화기에서 복호화기로 전송되는 필터 계수는 상기 이전에 전송된 적응적 필터 계수를 참조하여 현재 필터 계수와의 차이 값을 전송하는 방법과 더불어, 부호화기와 복호화기에서 동일하게 사용하는 고정된 필터 계수를 참조하여 현재 필터 계수와의 차이(Difference) 값을 전송하는 방법을 이용하여 전송되어 이를 복원한 필터 계수를 포함한다.
[70] 상기 필터 계수 획득부(760)는 상기 클래스 출력부(750)로부터 입력 받은 적응적 루프 필터 클래스에 대응되는 적응적 필터 계수를 상기 참조하는 필터 계수와 합산하는 단계를 포함 할 수 있다.
[71] 상기 필터 계수 변환부(770)는 상기 필터 계수 획득부(760)에서 획득한 적응적 루프 필터 계수를 현재 블록의 방향성(D: Direction)을 고려하여 필터 계수의 위치 정보를 변환하는 단계를 포함한다. 본 발명의 일 실시예에 따라 상기 필터 계수 획득부(760)에서 획득한 적응적 루프 필터 계수를 현재 블록의 방향성이 수직, 수평 및 두 종류의 대각선 방향의 대소 비교를 통하여 필터 계수의 위치 정보를 변환하는 단계를 수행하거나 수행하지 않는 판단을 수행하는 단계를 포함한다.
[72] 상기 ALF 수행부(780)는 상기 결정된 적응적 루프 필터 클래스 정보를 이용하여 해당 클래스에 대응되는 적응적 루프 필터 계수를 이용하여 필터링을 수행하는 것을 포함한다. 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서 상기 적응적 루프 필터 계수를 이용하여 적어도 하나 이상의 화소로 구성된 블록 단위로 수식 (1)과 같이 적응적 루프 필터를 수행한다.
상기 영상 출력부(650)에서는 상기 적응적 루프 필터 수행을 위한 단계들에서 출력된 최종 픽쳐를 출력하는 것을 포함한다. 일 실시예에 따른 상기 최종 픽쳐를 출력하는 것은 복원된 하나의 픽쳐를 서로 다른 픽쳐에서 참조하기 위한 목적의 메모리 공간으로 출력하는 것, 디스플레이를 위하여 외부 메모리 혹은 디스플레이 장치로 출력하는 것을 포괄적으로 의미한다.
[73] 도 8은 본 발명의 일 실시예에 따른 방향성 계산을 위한 공간적으로 인접한 화소들의 위치 관계를 도시한다.
[74] 일 실시예에 따른 상기 적응적 루프 필터의 입력 블록에 대한 방향성 계산을 위하여 참조되는 공간적으로 인접한 화소들은 현재 화소(805)을 포함하여 좌측 상단 화소(801), 상단 화소(802), 우측 상단 화소(803), 좌측 화소(804), 우측 화소(806), 좌측 하단 화소(807), 하단 화소(808), 우측 하단 화소(809)을 포함한다.
[75] 일 실시예에 따른 상기 적응적 루프 필터의 입력 블록에 대한 방향성 계산 단계에서 계산되는 기울기(G: Gradient)의 종류는 수직 방향(810), 수평 방향(820), 좌측 대각선 방향(830), 우측 대각선 방향(840)을 포함한다.
[76] 일 실시예에 따른 상기 수직 방향(810) 기울기(G: Gradient) 계산에는 상기 수식 (2)가 사용될 수 있으며, 상기 수직 방향(820) 기울기 계산에는 상기 수식 (3)이 사용될 수 있다. 이와 더불어, 상기 좌측 대각선 방향(830) 기울기 계산에는 상기 수식 (4)가 사용될 수 있으며, 상기 우측 대각선 방향(840) 기울기 계산에는 상기 수식 (5)가 사용될 수 있다.
[77] 도 9는 본 발명의 일 실시예에 따른 ALF SKIP 수행에 따른 적응적 루프 필터 수행부의 일 예를 도시한다.
[78] 일 실시예에 따른 ALF SKIP 수행에 따른 적응적 루프 필터 수행부는 블록 입력부(710), ALF 클래스 결정부(630), ALF SKIP 판단부(910), ALF 수행부(640), 영상 출력부(650)을 포함한다.
[79] 상기 블록 입력부(710)는 적응적 루프 필터 수행 전까지의 비디오 복호화 과정이 완료된 복원 영상이 적응적 루프 필터의 클래스 결정을 위하여 입력되는 단계를 포함한다. 이때, 상기 블록 입력부(710)를 통하여 입력되는 복원 영상의 블록은 양방향 필터, 디블록킹 필터, SAO와 같은 인-루프 필터가 적용되지 않았거나 혹은 하나 이상의 인-루프 필터를 적용하여 생성된 복원 영상에 대응하는 2x2, 4x4, 8x8 과 같은 블록 크기 단위 중 하나의 크기를 갖는 블록을 포함한다. 이때, 상기 클래스 결정을 위한 블록 크기 단위는 본 발명의 일 실시예에 따라, 2x2, 4x4, 8x8 과 같은 블록 크기 단위 중 단 하나의 크기로 고정되어 사용될 수 있다. 혹은, 본 발명의 일 실시예에 따라, 상기 클래스 결정을 위한 블록 크기 단위는 2x2, 4x4, 8x8 과 같은 다양한 블록 중 하나로 선택하는 부가적인 정보가 시퀀스 단위, 픽쳐 단위, 슬라이스 단위 중 하나 이상의 파라미터 셋에서 전송되는 것을 포함한다.
[80] 일 실시예에 따른 상기 ALF 클래스 결정부(630)는 Direction 계산부(720), Activity 계산부(730), 클래스 결정부(740), 클래스 출력부(750)을 포함한다.
[81] 상기 Direction 계산부(720)는 상기 블록 입력부(710)로부터 입력된 블록 내의 화소들과 해당 화소들과 공간적으로 인접한 화소들의 차이를 이용하여 해당 블록의 방향성을 나타내는 값 D(Direction)를 계산하는 단계를 포함한다. 이때, 상기 해당 블록의 방향성을 나타내는 값 D는 수식 (2), (3), (4), (5)를 이용하여 수직방향, 수평방향 및 두 종류의 대각선 방향에 대한 화소 간의 기울기(G: Gradient)를 계산한다.
[82] 상기 Direction 계산부(720)는 본 발명의 일 실시예에 따라 계산된 하나 이상의 방향에 대한 화소 간의 기울기(G: Gradient)를 이용하여, 입력된 블록의 방향성을 결정하는 단계를 포함한다. 상기 다수 방향에 대한 화소 간의 기울기가 존재할 때, 상기 기울기를 수직, 수평 방향 및 두 방향의 대각선에 대한 기울기로 분류하여, 각각의 서로 다른 두 방향 간에 대한 기울기의 대소를 수식 (6), (7)과 같이 비교하는 것을 포함한다. 본 발명의 일 실시예에 따른 상기 계산된 입력 블록에 대한 기울기의 대소 비교는 상기 서로 다른 두 방향 간에 대한 비교에만 국한되지 않으며, 상기 계산된 둘 이상의 서로 다른 방향들을 비교하여 최댓값과 최솟값을 출력하는 연산을 포함한다.
[83] 상기 Direction 계산부(720)는 본 발명의 일 실시예에 따라 계산된 최댓값과 최솟값은 추가적인 비교 단계를 거쳐 최종 입력 블록의 방향성(D: Direction)으로 결정하는 단계를 포함한다. 본 발명의 일 실시예에 따른 상기 블록의 방향성(D)를 결정하는 추가적인 비교 단계의 일 예로 최댓값과 최솟값을 비교하는 단계를 포함할 수 있으며, 이때, 최댓값과 최솟값에 특정한 가중치(W: Weight)를 적용하여 비교하는 것을 포함한다. 수식 (8), (9)와 같이 서로 다른 방향성 A, B에 대하여 최댓값과 최솟값에 가중치(W)를 적용하여 서로 다른 방향성 A, B의 방향성의 정도를 비교하는 단계를 포함한다. 상기 수식 (9), (10)에서 나타나는 바와 같이, 최댓값과 최솟값의 비교에 있어 서로 다른 가중치 W0와 W1을 사용하여 하나 이상의 조건을 생성하여 방향성 D를 결정하는 것을 포함한다.
[84] 상기 Activity 계산부(730)는 입력 블록의 2D Laplacian을 이용한 활동성(A: Activity)를 계산하는 단계를 포함한다. 본 발명의 일 실시예에 따라 입력 블록의 활동성 값 A는 수식 (2), 수식(3)와 수식 (10)을 이용하여 계산될 수 있다.
[85] 상기 클래스 결정부(740)는 상기 Direction 계산부(720)와 Activity 계산부(730)에서 계산된 D와 A 값을 이용하여 상기 블록 입력부(710)을 통하여 입력된 블록에 대한 최종적인 클래스를 결정하는 단계를 포함한다.
[86] 상기 클래스 출력부(750)는 상기 클래스 결정부(740)에서 결정된 입력 블록에 대한 적응적 루프 필터 클래스를 출력하는 단계를 포함한다. 본 발명의 일 실시예에 따라 상기 클래스 출력부(750)에서 출력되는 적응적 루프 필터 클래스는 하나의 정수 값으로 ALF 수행부의 입력으로 전달될 수 있다.
[87] 일 실시예에 따른 상기 ALF SKIP 판단부는 상기 ALF 클래스 결정부(630)에서 결정된 클래스와 클래스 결정을 위한 연산과정에서 계산된 연산 결과들을 이용하여 현재 입력 블록의 적응적 루프 필터 수행 여부를 판단하는 단계를 포함한다. 상기 적응적 루프 필터 클래스의 결정을 위한 연산과정에서 계산된 연산 결과들은 기울기(G: Gradient), 방향성(D: Direction), 활동성(A: Activity)을 포함하며, 상기 기울기, 방향성, 활동성의 연산과정에서 계산된 중간 결과 값들 또한 포함될 수 있다.
[88] 일 실시예에 따른 상기 ALF SKIP 판단부에서 현재 입력 블록에 대한 적응적 루프 필터 수행 여부를 판단하는 단계에서 입력 블록 내 각 화소 위치에 대응하는 하나 이상의 방향에 대한 화소 기울기(G: Gradient)를 이용하는 것을 포함한다. 상기 하나 이상의 방향에 대한 화소 기울기는 상기 수식 (2), (3), (4), (5)에서 계산되는 수직 방향, 수평 방향, 좌측 대각선 방향, 우측 대각선 방향의 기울기를 포함한다.
[89] 일 실시예에 따른 상기 ALF SKIP 판단부에서 현재 입력 블록에 대한 적응적 루프 필터 수행 여부가 필요하다고 판단되는 경우, 해당 입력 블록에 대한 적응적 루프 필터 적용을 위하여 ALF 수행부(640)에 대응되는 단계를 포함한다. 반면, 일 실시예에 따라 상기 ALF SKIP 판단부에서 현재 입력 블록에 대한 적응적 루프 필터 수행 여부가 불필요하다고 판단되는 경우, 해당 입력 블록에 대한 적응적 루프 필터 적용을 위한 ALF 수행부(640) 단계를 수행하지 않는다.
[90] 일 실시예에 따른 상기 ALF 클래스 수행부(640)는 필터 계수 획득부(760), 필터 계수 변환부(770), ALF 수행부(780)를 포함한다.
[91] 상기 필터 계수 획득부(760)는 상기 클래스 출력부(750)로부터 입력 받은 적응적 루프 필터 클래스에 대응되는 적응적 필터 계수를 획득하는 단계를 포함한다. 본 발명의 일 실시예에 따라 상기 적응적 필터 계수는 부호화기에서 복호화기로 전송되었거나 혹은 부호화기와 복호화기에서 동일하게 사용하는 고정된 필터 계수를 포함할 수 있다. 본 발명의 일 실시예에 따라 상기 부호화기에서 복호화기로 전송된 적응적 필터 계수는 하나의 픽쳐 단위로 전송 될 수 있으며, 전송시 부호화 효율을 향상 시키기 위하여 이전에 전송된 적응적 필터 계수를 참조하여 현재 필터 계수와의 차이(Difference) 값이 전송되어 이를 복원한 필터 계수를 포함한다. 또한, 본 발명의 일 실시예에 따라 상기 부호화기에서 복호화기로 전송되는 필터 계수는 상기 이전에 전송된 적응적 필터 계수를 참조하여 현재 필터 계수와의 차이 값을 전송하는 방법과 더불어, 부호화기와 복호화기에서 동일하게 사용하는 고정된 필터 계수를 참조하여 현재 필터 계수와의 차이(Difference) 값을 전송하는 방법을 이용하여 전송되어 이를 복원한 필터 계수를 포함한다.
[92] 상기 필터 계수 획득부(760)는 상기 클래스 출력부(750)로부터 입력 받은 적응적 루프 필터 클래스에 대응되는 적응적 필터 계수를 상기 참조하는 필터 계수와 합산하는 단계를 포함 할 수 있다.
[93] 상기 필터 계수 변환부(770)는 상기 필터 계수 획득부(760)에서 획득한 적응적 루프 필터 계수를 현재 블록의 방향성(D: Direction)을 고려하여 필터 계수의 위치 정보를 변환하는 단계를 포함한다. 본 발명의 일 실시예에 따라 상기 필터 계수 획득부(760)에서 획득한 적응적 루프 필터 계수를 현재 블록의 방향성이 수직, 수평 및 두 종류의 대각선 방향의 대소 비교를 통하여 필터 계수의 위치 정보를 변환하는 단계를 수행하거나 수행하지 않는 판단을 수행하는 단계를 포함한다.
[94] 상기 ALF 수행부(780)는 상기 결정된 적응적 루프 필터 클래스 정보를 이용하여 해당 클래스에 대응되는 적응적 루프 필터 계수를 이용하여 필터링을 수행하는 것을 포함한다. 일 실시예에 따른 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치에서 상기 적응적 루프 필터 계수를 이용하여 적어도 하나 이상의 화소로 구성된 블록 단위로 수식 (1)과 같이 적응적 루프 필터를 수행한다.
상기 영상 출력부(650)에서는 상기 적응적 루프 필터 수행을 위한 단계들에서 출력된 최종 픽쳐를 출력하는 것을 포함한다. 일 실시예에 따른 상기 최종 픽쳐를 출력하는 것은 복원된 하나의 픽쳐를 서로 다른 픽쳐에서 참조하기 위한 목적의 메모리 공간으로 출력하는 것, 디스플레이를 위하여 외부 메모리 혹은 디스플레이 장치로 출력하는 것을 포괄적으로 의미한다.
해당 없음

Claims (7)

  1. 영상 복호화 장치에 의하여 수행되는 복호화 방법에 있어서,
    현재 부호화 유닛의 적응적 루프 필터 적용 여부를 판단하는 단계;
    해당 부호화 유닛을 하나 이상의 서브-블록들로 분할하는 단계;
    상기 분할된 서브-블록 단위로 적응적 루프 필터의 클래스를 결정하는 단계;
    상기 결정된 적응적 루프 필터의 클래스에 대응하는 필터를 적용하는 단계; 및
    상기 적응적 루프 필터가 적용된 블록을 출력하는 단계를 포함하는 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 분할된 서브-블록 단위로 적응적 루프 필터의 클래스를 결정하는 단계는,
    현재 서브-블록 내의 모든 화소 위치에 대하여 하나 이상의 방향에 대하여 화소의 기울기를 공간적으로 인접한 화소들을 이용하여 계산하는 단계;
    상기 계산된 공간적으로 인접한 화소 간의 기울기를 합산하여 현재 서브-블록의 direction을 유도하는 단계;
    상기 계산된 공간적으로 인접한 화소 간의 기울기 중 수직 방향 기울기와 수평 방향 기울기를 합산하여 현재 서브-블록의 activity를 유도하는 단계; 및
    상기 유도된 현재 서브-블록의 direction과 activity를 이용하여 현재 서브-블록에 적용하는 적응적 루프 필터의 계수를 결정하는 단계를 포함하는 영상 복호화 방법.
  3. 제1항에 있어서,
    상기 결정된 적응적 루프 필터의 클래스에 대응하는 필터를 적용하는 단계는,
    하나 이상의 적응적 루프 필터 계수의 셋들 중 현재 서브-블록의 적응적 루프 필터 클래스에 대응하는 단 하나의 필터 계수 셋을 획득하는 단계;
    상기 획득한 필터 계수 셋을 현재 서브-블록에 대한 하나 이상의 방향에 대한 기울기의 크기 비교를 통하여 필터 계수의 위치를 변환하는 단계; 및
    상기 결정된 필터 계수를 이용하여 현재 서브-블록에 적응적 루프 필터를 수행하는 단계를 포함하는 영상 복호화 방법.
  4. 영상 복호화 장치에 의하여 수행되는 복호화 방법에 있어서,
    현재 부호화 유닛의 적응적 루프 필터 적용 여부를 판단하는 단계;
    해당 부호화 유닛을 하나 이상의 서브-블록들로 분할하는 단계;
    상기 분할된 서브-블록 단위로 적응적 루프 필터의 클래스를 결정하는 단계;
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 여부를 판단하는 단계;
    상기 결정된 적응적 루프 필터의 클래스에 대응하는 필터를 적용하는 단계; 및
    상기 적응적 루프 필터가 적용된 블록을 출력하는 단계를 포함하는 영상 복호화 방법.
  5. 제4항에 있어서,
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 여부를 판단하는 단계는,
    상기 분할된 서브-블록에 대한 수직 방향 기울기와 수평 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계를 포함하고,
    상기 수직 방향 기울기와 수평 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작은 경우,
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 단계를 건너뛰는 것을 특징으로하는 영상 복호화 방법.
  6. 제4항에 있어서,
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 여부를 판단하는 단계는,
    상기 분할된 서브-블록에 대한 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계를 포함하고,
    상기 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작은 경우,
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 단계를 건너뛰는 것을 특징으로하는 영상 복호화 방법.
  7. 제4항에 있어서,
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 여부를 판단하는 단계는,
    상기 분할된 서브-블록에 대한 수직 방향 기울기와 수평 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계;
    상기 분할된 서브-블록에 대한 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값과 최솟값을 가중치를 적용하여 비교하는 단계를 포함하고,
    상기 수직 방향 기울기와 수평 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작거나;
    상기 좌측 대각선 방향 기울기와 우측 대각선 방향 기울기 중 최댓값이 최솟값에 가중치를 곱한 값보다 작은 경우,
    상기 분할된 서브-블록에 대하여 적응적 루프 필터의 적용 단계를 건너뛰는 것을 특징으로하는 영상 복호화 방법.
KR1020170155385A 2017-11-21 2017-11-21 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치 KR20190057910A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170155385A KR20190057910A (ko) 2017-11-21 2017-11-21 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170155385A KR20190057910A (ko) 2017-11-21 2017-11-21 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20190057910A true KR20190057910A (ko) 2019-05-29

Family

ID=66673001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170155385A KR20190057910A (ko) 2017-11-21 2017-11-21 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190057910A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
WO2021194222A1 (ko) * 2020-03-23 2021-09-30 주식회사 케이티 비디오 신호 처리 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN114097227A (zh) * 2019-07-11 2022-02-25 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
US12081772B2 (en) 2019-07-11 2024-09-03 Samsung Electronics Co., Ltd. Video decoding method and apparatus, and video encoding method and apparatus
WO2021194222A1 (ko) * 2020-03-23 2021-09-30 주식회사 케이티 비디오 신호 처리 방법 및 장치

Similar Documents

Publication Publication Date Title
US10373295B2 (en) Image processing apparatus and image processing method
JP6163596B2 (ja) 映像符号化装置
KR101246294B1 (ko) 영상의 인트라 예측 부호화, 복호화 방법 및 장치
KR20090095316A (ko) 영상 인트라 예측 방법 및 장치
KR20140111039A (ko) 화상 복호 장치, 화상 부호화 장치, 화상 복호 방법 및 화상 부호화 방법
KR20200090716A (ko) 영상 부호화 방법 및 장치
WO2014049981A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
TWI824940B (zh) 影像處理裝置、及影像處理方法
KR20190057910A (ko) 적응적 루프 필터를 사용하는 비디오 코딩 방법 및 장치
JP5488684B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5488685B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
KR20200073124A (ko) 필터링 방법 및 영상 복호화 장치
KR20130020511A (ko) 영상 인트라 예측 방법 및 장치
JP2015080002A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR20190065620A (ko) 양방향 필터를 사용하는 비디오 코딩 방법 및 장치
KR20180040827A (ko) 부호화 유닛의 그룹을 사용하는 비디오 코딩 방법 및 장치