KR101337990B1 - 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법 - Google Patents

부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법 Download PDF

Info

Publication number
KR101337990B1
KR101337990B1 KR1020120059050A KR20120059050A KR101337990B1 KR 101337990 B1 KR101337990 B1 KR 101337990B1 KR 1020120059050 A KR1020120059050 A KR 1020120059050A KR 20120059050 A KR20120059050 A KR 20120059050A KR 101337990 B1 KR101337990 B1 KR 101337990B1
Authority
KR
South Korea
Prior art keywords
alf
depth
level
unit
cost
Prior art date
Application number
KR1020120059050A
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 KR1020120059050A priority Critical patent/KR101337990B1/ko
Application granted granted Critical
Publication of KR101337990B1 publication Critical patent/KR101337990B1/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/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/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

Abstract

부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법이 개시된다. 본 발명에 따른 부호화 장치는, CU 레벨 ALF 결정을 위해 ALF의 최대 깊이에 대해서만 RD 비용을 산출하는 CU 레벨 ALF 결정 유닛; 및 프레임 레벨 ALF 결정부에 의해 산출된 RD 비용, 상기 CU 레벨 ALF 결정 유닛에 의해 산출된 RD 비용 및 ALF가 적용되지 않았을 때의 RD 비용을 비교하여 ALF 적용 여부를 결정하는 ALF 적용 결정부를 포함한다. 본 발명에 의하여, 부호화 장치의 연산 복잡도가 최소화될 수 있다.

Description

부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법{Encoder and CU-level ALF decision method}
본 발명은 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법에 관한 것이다.
최근의 멀티미디어 서비스는 HD(High Definition) 및 UHD(Ultra High Definition) 등과 같은 고해상도/고화질 영상을 요구하는 환경으로 급속히 천이하고 있다.
그러나 현재 가장 우수한 압축 효율을 가진 것으로 알려진 H.264/AVC 압축 표준에 의해서도 이러한 방대한 데이터를 저장하거나 현재의 통신채널로 손쉽게 전송하기에는 상당한 비용이 요구되는 실정이다.
이러한 문제에 대응하고자, 영상 압축 표준의 대표적인 양대 표준화 기구인 ISO/IEC JTC1/SC29/WG11 MPEG(Moving Picture Experts Group)과 ITU-TQ6/WP3/SG16 VCEG(Video Coding Experts Group)는 차세대 영상 압축 표준인 HEVC(High Efficiency Video Coding) 표준 제정 프로젝트를 진행하고 있다.
현재 표준화가 진행되고 있는 HEVC 표준은 핵심원리에서는 기존의 H.264/AVC 표준과 같은 전통적인 움직임 보상 변환 부호화 압축 기술에 기반하고 있으나, 보다 향상된 다양한 요소 기술을 적용함으로써 압축 효율의 극대화를 시도하고 있다.
특히, HEVC 표준은 다양한 크기의 부호화 유닛(Coding Unit, CU), 예측 유닛(Prediction Unit, PU), 변환 유닛(Transform Unit, TU)의 사용으로 인해 HD(High Definition) 이상의 영상에 대하여 기존의 H.264/AVC 표준에 비해 약 40%의 압축률 향상을 보이고 있다.
도 1은 HEVC 표준의 루프내 필터링(In-Loop Filtering) 유닛의 블록 구성도이고, 도 2는 HEVC Test Model(HM) 5.0에서의 ALF(Adaptive Loop Filter) 부호화 절차를 나타낸 도면이다.
H.264/AVC 표준에서는 루프내 필터링 기술에서 블록화 현상(blocking artifact)을 제거하기 위한 디블록킹 필터(Deblocking Filter)만을 포함하였으나, HEVC 표준에서의 루프내 필터링 유닛(100)은 디블록킹 필터(110) 뿐 아니라 양자화 등의 손실 압축에 의해 발생하는 정보의 손실을 보상하기 위한 SAO(Sample Adaptive Offset)(120) 및 ALF(Adaptive Loop Filter)(130)와 같은 구성 요소를 추가적으로 포함한다. 이를 통해, 주관적 화질뿐 아니라 압축 효율을 향상시킬 수 있다.
그리고, 디블록킹 필터링만을 수행하는 H.264/AVC 표준의 인루프 필터링과 달리, HEVC 표준의 테스트 모델인 HM(HEVC Test Model) 5.0에 포함된 인루프 필터링은 HE(High Efficiency) 조건인 경우에는 도 1에 도시된 바와 같이 DF(110), SAO(120) 및 ALF(130)의 순서로 처리가 수행되지만, LC(Low Complexity) 조건인 경우에는 ALF(130)가 제외되어 DF(110) 및 SAO(120) 순서로 처리가 수행된다.
도 1에 도시된 각 구성요소의 기능을 간략히 설명하면, DF(110)는 복호화 과정에서 필터가 적용된 영상을 참조 영상으로 활용하는 루프내 필터링을 수행한다. 이를 통해, 예측 및 양자화로 인해 발생하는 블록 경계의 왜곡을 효과적으로 제거할 수 있어 주관적 화질이 향상되고, 디블록킹 필터링이 적용된 영상을 참조 영상으로 활용함으로써 약 0.5dB 내외의 부호화 효율이 달성될 수 있다.
SAO(120)는 양자화 등의 부호화 과정을 통해 발생하는 원본 영상과 복원 영상 간의 왜곡을 화소(sample) 단위의 오프셋(offset)을 통해 보상한다. 이를 통해 주관적 화질 및 부호화 효율의 향상이 기대될 수 있다.
원본 영상과 복원 영상 간의 오류를 직접 계산하여 보상한다는 개념은 ALF(130)와 유사할 수 있으나, 전술한 바와 같이 LC(Low Complexity) 조건에서는 ALF(130)가 사용되지 않으므로 SAO(120)가 ALF(130)의 역할을 대체하는 간략화된 기술로서 이해될 수도 있을 것이다.
ALF(130)는 영상을 블록 단위로 나누어 각각의 블록에 대해 ALF를 적용할 것인지 여부에 대한 정보 및 ALF(Adaptive Loop Filter)에 대한 필터 계수를 부호화한다. HM 5.0에 포함된 ALF(130)는 위너 필터(Wiener filter)를 기반으로 동작하며, 원본 영상과 복원 영상과의 오차를 최소화시키는 최적의 계수를 계산하여 최적 필터링을 수행하고, 아울러 산출된 필터 계수를 부호화하여 전송한다. 복호화 장치는 전송 받은 필터 계수를 사용하여 동일하게 ALF 과정을 수행한다.
이하, HEVC에서의 ALF(Adaptive Loop Filter)의 적용 절차(즉, 프레임 또는 부호화 유닛 단위로 ALF를 적용할 것인지 여부의 결정 절차)에 대해 간략히 설명한다.
도 2를 참조하면, HEVC에서는 ALF를 적용하기 위해서는 먼저, 프레임 단위에서 모든 화소를 대상으로 ALF를 적용해 보고(Frame-level ALF decision), 그 이후로 ALF 깊이(depth) 정보(예를 들어, 0, 1, 2 및 3)에 부합하도록 각각의 부호화 유닛(Coding Unit, CU) 단위에서 적응적으로 ALF를 적용(CU-level ALF decision)해 본 후 전술한 두 가지 방법 중 RD 비용(Rate-Distortion Cost)이 작은 것과 ALF가 적용되지 않은 경우의 RD 비용을 비교한다. 그 비교 결과에 따라 ALF 적용 여부가 결정되고 이에 따라 부호화가 수행되며, ALF 적용 여부에 대한 정보는 비트스트림에 포함되어 복호화 장치로 제공된다.
즉, ALF 적용 여부를 결정하기 위해서는 ALF를 적용했을 때의 RD 비용(율-왜곡 수치)과 ALF를 적용하지 않았을 때의 RD 비용을 산출 및 비교하여 ALF 적용 여부를 결정하고 부호화를 수행한다. 이때, ALF의 깊이 정보는 RD 비용 관점에서 최적의 깊이가 선택되며, ALF의 깊이가 깊어질수록 기준이 되는 부호화 유닛의 크기는 1/2씩 감소(예를 들어, ALF의 깊이 0인 경우 부호화 유닛의 기준 크기는 64x64이고, ALF의 깊이 1인 경우 부호화 유닛의 기준 크기는 32x32임)된다. 다만, 부호화/복호화를 수행함에 있어 ALF의 깊이 정보는 CTB(Coding Tree Block)의 깊이 정보와는 다르게 설정될 수도 있다.
도 2에 도시된 HM 5.0에서의 ALF 부호화 절차를 수도코드(Pseudo Code)로 표시하면 아래와 같다.
CU-level ALF control processing {
for from ALF max_depth = 0 to ALF max_depth = 3 do
for from redesign = 0 to redesign = 3 do
if (redesign > 0)
redesign process
CU_ALF_Control_Flag (max_depth)
end
if (original_cost > ALF_cost)
setting ALF parameters
end
}
또한, 어떠한 부호화 유닛(CU)에 ALF를 적용하는 것이 이득인지 알기 위해서, 전술한 부호화 유닛 단위에서의 ALF 제어 단계(즉, 각각의 ALF의 깊이(depth)에서 ALF 적용 여부 판단)의 과정 내에서 매번 각 부호화 유닛의 ALF 적용 전과 후의 RD 비용을 비교하며, 그 이후에 RD 비용 이득이 있는 부호화 유닛에 표시(masking)를 한다. 이와 같이 표시된 정보는 각 ALF의 깊이에서 3번 수행되는 재설계과정에 이용되며, 이 정보를 토대로 필터 계수가 계속 재설계된다.
각 ALF 깊이에서의 RD 비용을 비교하고 표시하는 부호화 유닛의 ALF 표시 제어 단계(CU ALF Control Flag)를 수도코드로 나타내면 아래와 같다.
CU_ALF_Control_Flag (max_depth) {
for from CU_address = 0 to CU_address = Last_CU_in_frame do
Recursive_CU_ALF_Control_Flag (CU_address, max_depth, 0)
end
}
Recursive_CU_ALF_Control_Flag (CU_address, max_depth, depth) {
if (depth < max_depth & this CU is boundary)
for from index = 0 to index = 3 do
Recursive_CU_ALF_Control_Flag (CU_address, max_depth, depth+1)
end
return
comparison RD cost between original and ALF
if (original_cost > ALF_cost)
setting ALF control flags into 1
masking this pixels into 1
else
setting ALF control flags into 0
masking this pixels into 0
}
그러나, 전술한 ALF 적용 여부의 결정 과정에서 특히 가장 큰 복잡도를 나타내는 부분이 바로 두 번째 과정인 부호화 유닛(CU) 단위에서의 ALF 제어 단계(CU-level ALF decision)이다.
이는, CU 단위의 ALF 제어 단계에서 비트 절감을 위해서 부호화 단위의 최대 깊이(max depth)를 0에서부터 3까지 순차적으로 늘려가며 판단하고, 각 과정에서 3번씩 필터 계수를 재설계(re-design)를 하게 되기 때문이다. 즉, 많은 수(즉, 깊이수 4 x 재설계횟수 3)의 재설계 과정이 많은 복잡도를 야기한다.
따라서, ALF 부호화 절차에서 가장 복잡한 단계인 CU 단위의 ALF 제어 단계를 간략화하여 복잡도를 최소화하는 방안이 요구된다.
본 발명은 부호화 유닛(CU)의 크기에 따른 ALF(Adaptive Loop Filter)의 적용 가능성 정보를 토대로 ALF 적용 여부를 즉시적으로 결정할 수 있어 연산 복잡도를 최소화할 수 있는 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법을 제공하기 위한 것이다.
본 발명은 RD 비용의 비교에 따른 ALF 적용 여부의 결정 방법이 아닌 부호화 유닛의 결정된 깊이 정보를 토대로 ALF의 최대 깊이(max depth)와 ALF 적용 여부를 즉시적으로 결정할 수 있어 부호화 시간을 최소화할 수 있는 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 부호화 장치에 있어서, CU 레벨 ALF 결정(CU-level Adaptive Loop Filter Decision)을 위해 ALF(Adaptive Loop Filter)의 최대 깊이(max depth)에 대해서만 RD 비용(Rate-Distortion Cost)을 산출하는 CU 레벨 ALF 결정 유닛; 및 프레임 레벨 ALF 결정부에 의해 산출된 RD 비용, 상기 CU 레벨 ALF 결정 유닛에 의해 산출된 RD 비용 및 ALF가 적용되지 않았을 때의 RD 비용을 비교하여 ALF 적용 여부를 결정하는 ALF 적용 결정부를 포함하는 부호화 장치가 제공된다.
상기 CU 레벨 ALF 결정 유닛은, 상기 ALF의 최대 깊이를 이용하여 미리 지정된 기준에 따라 산출된 기준 깊이를 이용하여 ALF가 적용될 부호화 유닛(Coding Unit)의 대상 깊이를 결정하는 적용 깊이 결정부; 및 상기 대상 깊이에 해당하는 부호화 유닛의 깊이에 대해서는 ALF가 적용되고, 그 이외의 깊이에 대해서는 ALF가 적용되지 않은 상기 RD 비용을 산출하는 RD 비용 산출부를 포함할 수 있다.
상기 부호화 장치는 상기 ALF의 최대 깊이를 인식하는 최대 깊이 인식부를 더 포함할 수도 있다.
상기 ALF의 최대 깊이는 상기 부호화 유닛의 최대 크기를 고려하여 상기 최대 깊이 인식부가 실시간 산출하거나, 미리 지정된 값이거나 또는 사용자에 의해 입력된 값일 수 있다.
상기 미리 지정된 기준은 상기 ALF의 최대 깊이 중 절반에 해당하는 깊이를 상기 기준 깊이로 설정하는 것이고, 상기 대상 깊이는 상기 기준 깊이보다 깊은 깊이일 수 있다.
상기 CU 레벨 ALF 결정을 위해 ALF의 최대 깊이에서만 1회의 재설계 프로세스(redesign process)가 수행되도록 구현될 수 있다.
상기 ALF 적용 결정부는 하나의 프레임 또는 부호화 유닛 단위로 ALF 적용 여부를 결정할 수 있다.
상기 ALF 적용 결정부에 의해 결정된 ALF 적용 여부에 대한 정보는 비트스트림에 삽입되어 복호화 장치로 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 부호화 유닛(CU)의 크기에 따른 ALF(Adaptive Loop Filter)의 적용 가능성 정보를 토대로 ALF 적용 여부를 즉시적으로 결정할 수 있어 연산 복잡도를 최소화할 수 있는 효과가 있다.
또한 RD 비용의 비교에 따른 ALF 적용 여부의 결정 방법이 아닌 부호화 유닛의 결정된 깊이 정보를 토대로 ALF의 최대 깊이(max depth)와 ALF 적용 여부를 즉시적으로 결정할 수 있어 부호화 시간을 최소화할 수 있는 효과도 있다.
도 1은 HEVC 표준의 루프내 필터링(In-Loop Filtering) 유닛의 블록 구성도.
도 2는 HEVC Test Model(HM) 5.0에서의 ALF(Adaptive Loop Filter) 부호화 절차를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 ALF(Adaptive Loop Filter, 적응적 루프 필터) 사용 결정 장치의 구성을 나타낸 블록 구성도.
도 4는 본 발명의 일 실시예에 따른 부호화 유닛 정보를 이용한 ALF 사용 여부의 결정 방법을 나타낸 순서도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부", "…기", "…유닛", "…모듈", "…블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 3은 본 발명의 일 실시예에 따른 ALF(Adaptive Loop Filter, 적응적 루프 필터) 사용 결정 장치의 구성을 나타낸 블록 구성도이다.
도 3을 참조하면, ALF 사용 결정 장치는 프레임 레벨 ALF 결정부(Frame-level ALF decision)(300), CU 레벨 ALF 결정(CU-level ALF decision) 유닛(310) 및 ALF 적용 결정부(ALF on/off Decision)(320)를 포함할 수 있다. ALF 사용 결정 장치는 소프트웨어 프로그램 및 하드웨어 장치 중 어느 하나 또는 이들의 조합으로 구현될 수 있으며, 부호화 장치의 일 구성요소로 포함될 수 있다.
프레임 레벨 ALF 결정부(300)는 한 프레임의 모든 화소에 대해 필터링을 수행하고 이에 따른 RD 비용을 산출한다. 프레임 레벨 ALF 결정부(300)의 동작 및 구성은 당업자에게 자명한 사항이므로 이에 대한 설명은 생략한다.
CU 레벨 ALF 결정 유닛(310)은 최대 깊이 인식부(360), 적용 깊이 결정부(370) 및 RD 비용 산출부(380)를 포함한다.
최대 깊이 인식부(360)는 ALF 적용 여부를 결정하기 위한 대상 부호화 유닛(Coding Unit, CU)의 크기를 참조하여 최대 깊이(Max_depth)를 인식한다.
만일 부호화 유닛의 크기가 64x64부터 8x8까지 적용 가능하고(곧, 부호화 유닛의 깊이가 0에서 3까지 적용 가능하고), ALF의 깊이가 0에서 3까지 가능하다면, ALF 깊이가 0일 때에는 (곧, 64x64의 단위로 인식한다면), 부호화 유닛의 크기에 상관없이 64x64의 단위로 인식될 수 있다. ALF 깊이가 1 (곧, 32x32 단위) 또는 그 이상 (곧, 32x32, 16x16, 8x8)일 경우에는, 부호화 유닛의 크기가 ALF 깊이에 따른 크기보다 작거나 같은 경우에는 ALF의 깊이에 따른 크기로 인식되고 부호화 유닛의 크기가 더 큰 경우에는 부호화 유닛의 크기로 인식된다.
다만, 앞서 설명한 바와 같이 ALF의 깊이 정보는 CTB(Coding Tree Block)의 깊이 정보와는 다르게 설정될 수도 있으나, 본 명세서에서는 설명의 편의를 위해 ALF의 깊이 정보와 부호화 유닛의 깊이 정보가 같게 설정되는 경우를 가정하여 설명한다.
적용 깊이 결정부(370)는 부호화 유닛의 크기에 따른 ALF의 적용 가능성 정보를 토대로 미리 지정된 기준에 따라 산출된 기준 깊이(special_depth)를 고려하여 ALF가 적용될 대상 부호화 유닛의 깊이를 결정한다.
다만, 적용 깊이 결정부(370)는 ALF의 최대 깊이(예를 들어, 도 2에 도시된 깊이(depth) 3)에서만 부호화 유닛의 대상 깊이를 결정하고, 이를 기준으로 RD 비용 산출부(380)가 CU 레벨 ALF 결정을 위한 ALF가 적용된 경우의 RD 비용을 산출한다. 이와 같이, 본 실시예에 따른 CU 레벨 ALF 결정 유닛(310)은 종래의 HEVC에서의 CU 레벨 ALF 결정 과정이 각각의 ALF 깊이에 대해 반복적으로 수행되어 총 12번 수행되던 과정을 단 한번으로 줄여 처리할 수 있으므로 연산 복잡도를 최소화할 수 있는 장점을 가진다.
또한, 이후 수도코드(Pseudo code)에서도 제시되고 또한 설명되는 바와 같이 재설계 과정 역시 단 한번으로 설정되어 있어 복잡도 감소를 극대화할 수 있는 장점을 가진다.
부호화 유닛의 크기에 따른 ALF의 적용 가능성 정보는 하기 표 1에 제시된 부호화 유닛의 크기에 따라 ALF가 적용되는 비율에 대한 분석표를 기준할 수 있다.
CU 크기 ParkScene (%) BQMall
(%)
BasketballPass (%) Vidyo3
(%)
BQSquare (%)
64 89 59 80 62 89
32 93 72 79 87 88
16 98 84 86 93 94
8 99 86 89 98 97
표 1에 제시된 바와 같이, 부호화 유닛의 깊이가 0(즉 64x64)부터 3(즉 8x8)까지 존재하는 경우, ParkScene은 깊이 1부터 3까지, Vidyo3은 깊이 2부터 3까지, BQSquare는 깊이 2부터 3까지에서 ALF 적용 비율이 각각 90%를 초과한다.
즉, 최대 깊이 측으로 갈수록 ALF 적용 비율이 절대적으로 높아지는 경향이 나타나며, 적용 깊이 결정부(370)는 이러한 경향을 반영하여 ALF가 적용될 대상 부호화 유닛의 깊이를 결정하기 위한 기준 깊이를 결정할 수 있다.
본 출원인은 시간 복잡도의 감소, PSNR의 감소 및 비트레이트 증가율을 고려하여 기준 깊이를 결정하기 위해 다수의 실험을 반복하였으며, 그 결과 기준 깊이가 부호화 유닛의 결정된 깊이의 절반(또는 절반보다 작은 깊이들 중 가장 큰 깊이)일 때 가장 우수한 효율을 나타냄을 확인하였다.
즉, 최대 부호화 유닛의 크기가 64x64이고 부호화 유닛의 최대 깊이가 4인 경우(즉, 최소 부호화 유닛의 크기가 8x8인 경우)라면, 적용 깊이 결정부(370)는 기준 깊이를 0, 1, 2, 3에 해당하는 4개의 깊이 중 절반 또는 절반보다 작은 깊이들 중 가장 큰 깊이인 1로 지정할 수 있으며, 따라서 부호화 유닛의 깊이가 2와 3인 경우에만 ALF가 적용되도록 결정할 수 있다.
물론, 기준 깊이를 자연수 값으로 결정하지 않고 4개의 깊이 중 절반에 해당하는 1.5로 결정하고, 기준 깊이보다 큰 2와 3인 깊이에 대해서만 ALF가 적용되도록 결정할 수도 있을 것이다. 또한, 만일 최대 부호화 유닛의 크기가 64x64이고 부호화 유닛의 최대 깊이가 5인 경우(즉, 부호화 유닛의 최소 크기가 4x4인 경우)라면, 적용 깊이 결정부(370)는 기준 깊이를 절반인 2로 결정하고, 깊이 3과 4 또는 깊이 2, 3 및 4인 경우에서 ALF가 적용되도록 결정할 수도 있다.
이와 같이, 본 실시예에 따른 적용 깊이 결정부(370)는 ALF가 적용될 부호화 유닛의 깊이를 결정하기 위해 종래와 같은 RD 비용 비교의 절차를 진행하지 않으며, 단지 최대 깊이를 고려하여 결정된 기준 깊이 이상인지 여부로서 ALF 적용 여부를 즉시적으로 결정하는 특징을 가진다.
RD 비용 산출부(380)는 적용 깊이 결정부(370)가 ALF의 최대 깊이에서 기준 깊이를 고려하여 결정된 부호화 유닛의 대상 깊이에 대해서만 ALF를 적용하고, 대상 깊이가 아닌 부호화 유닛의 깊이들에 대해서는 ALF를 적용하지 않은 상태에서의 RD 비용을 산출한다.
ALF 적용 결정부(320)는 프레임 레벨 ALF 결정부(300)로부터 제공되는 RD 비용값, CU 레벨 ALF 결정 유닛(310)으로부터 제공되는 RD 비용값과 ALF를 적용하지 않았을 때의 RD 비용값을 비교하여 ALF 적용 여부를 결정한다. 복수의 RD 비용값을 비교하여 ALF 적용 여부를 결정하고, 이에 따라 부호화하는 방법은 당업자에게 자명하므로 이에 대한 설명은 생략한다.
전술한 CU 레벨 ALF 결정 유닛(310)의 처리 과정을 수도코드(Pseudo Code)로 표현하면 다음과 같다. 하기 수도코드에서는 ALF 최대 깊이가 3인 경우가 가정되었으나, ALF의 최대 깊이가 3 이외의 값을 가질 수도 있음은 당연하다.
CU-level ALF control processing {
ALF MAX_depth = 3
CU_ALF_Control_Flag (MAX_depth)
if (original_cost > ALF_cost)
setting ALF parameters
redesign process
}
CU_ALF_Control_Flag (max_depth) {
for from CU_address = 0 to CU_address = Last_CU_in_frame do
Recursive_CU_ALF_Control_Flag (CU_address, max_depth, 0)
end
}
Recursive_CU_ALF_Control_Flag (CU_address, max_depth, depth) {
if (depth < max_depth & this CU is boundary)
for from index = 0 to index = 3 do
Recursive_CU_ALF_Control_Flag (CU_address, max_depth, depth+1)
end
return
if (depth > special_depth)
setting ALF control flags into 1
masking this pixels into 1
else
setting ALF control flags into 0
masking this pixels into 0
}
전술한 수도코드에서 보이는 바와 같이, 본 실시예에 따른 CU 레벨 ALF 결정 과정은 앞서 설명한 HEVC의 CU 레벨 ALF 결정 방법의 수도코드와 달리 최적의 CU 깊이를 찾기 위한 루프가 제거되고 ALF의 최대 깊이(즉, ALF MAX_depth = 3)에 대해서만 CU 레벨 ALF 결정이 수행되며, 또한 재설계 과정에서 소요되는 루프 또한 제거되어 재설계 과정이 단 1회로 감소되어 있어 부호화 장치의 연산 복잡도를 최소화하는 특징을 가지고 있다.
아울러, 종래의 HEVC는 각각의 부호화 유닛의 크기에 따라 ALF를 적용할지 여부를 RD 비용 비교를 통해 결정하는 복잡성을 가지고 있으나, 본 실시예에 따른 CU 레벨 ALF 결정 과정은 RD 비용의 비교 과정 없이 ALF의 최대 깊이(ALF MAX_depth)에서 기준 깊이(special_depth)를 고려하여 결정된 부호화 유닛의 대상 깊이에 대해서만 ALF를 적용하는 것으로 간이하며 신속한 결정 처리가 가능한 특징도 가진다.
도 4는 본 발명의 일 실시예에 따른 CU 레벨 ALF 결정(CU-level ALF decision) 방법을 나타낸 순서도이다.
도 4를 참조하면, 단계 410에서 CU 레벨 ALF 결정 유닛(310)은 ALF 적용 여부를 결정하기 위한 부호화 유닛(CU)의 크기를 참조하여 최대 깊이(Max_depth)를 인식한다.
여기서, 부호화 유닛의 크기를 참조하여 인식된 최대 깊이는 CU 레벨 ALF 결정이 제한적으로 수행될 ALF의 최대 깊이로 이용될 수 있다. 앞서 설명한 바와 같이, ALF의 최대 깊이는 대상 부호화 유닛의 크기를 참조하여 실시간 인식될 수도 있으나, 미리 지정되거나 사용자에 의해 입력될 수도 있다. 또한, ALF의 깊이 정보가 CTB(Coding Tree Block)의 깊이 정보와는 다르게 설정될 수도 있음은 당연하다.
단계 420에서 CU 레벨 ALF 결정 유닛(310)은 ALF 최대 깊이를 기초로 산출된 기준 깊이(special_depth)를 고려하여 부호화 유닛의 n개의 깊이들 중 ALF가 적용될 m개의 부호화 유닛의 깊이를 결정한다. 기준 깊이는 앞서 표 1을 참조하여 설명한 바와 같이 부호화 단위의 크기에 따라 ALF가 적용되는 비율에 대한 분석을 통해 산출될 수 있다. 여기서, n은 임의의 자연수이며, 부호화 유닛의 최대 사이즈를 기준하여 나타나는 계층적 깊이의 전체 개수이다. 또한 m은 n보다 작은 임의의 자연수이고, 기준 깊이보다 깊은 깊이들의 개수이다.
예를 들어, 기준 깊이가 1인 경우 2, 3에 해당하는 깊이를 더 깊은 깊이라 표현할 수 있다. 즉, 기준 깊이가 ALF의 최대 깊이의 절반(또는 절반보다 작은 깊이들 중 가장 큰 깊이)으로 지정하였다고 가정하고, 최대 부호화 유닛의 크기가 64x64이고 ALF의 최대 깊이가 3(즉, n=4)인 경우(즉, 최소 부호화 유닛의 크기가 8x8인 경우)라면, 적용 깊이 결정부(370)는 기준 깊이를 0, 1, 2, 3에 해당하는 4개의 깊이들 중 절반 또는 절반보다 작은 깊이들 중 가장 큰 깊이인 1로 지정할 수 있으며, 따라서 부호화 유닛의 깊이가 2와 3인 2개(즉, m=2)에 대해서만 ALF가 적용되도록 결정할 수 있다.
단계 430에서 CU 레벨 ALF 결정 유닛(310)은 ALF의 최대 깊이에서 기준 깊이를 고려하여 결정된 부호화 유닛의 대상 깊이(즉, 전술한 m개의 깊이들)에 대해서만 ALF를 적용하고, 대상 깊이가 아닌 부호화 유닛의 깊이들(즉, n-m개의 깊이들)에 대해서는 ALF를 적용하지 않은 상태에서의 RD 비용을 산출한다.
단계 430에 의해 산출된 RD 비용은 ALF 적용 결정부(320)로 제공되어, 프레임 레벨 ALF 결정부(300)로부터 제공되는 RD 비용값 및 ALF를 적용하지 않았을 때의 RD 비용값을 비교되어 ALF 적용 여부가 결정될 것이다.
본 실시예에 따른 CU 레벨 ALF 결정 방법 적용시의 효율성에 대한 실험 결과가 하기 표 2 및 3에 제시되어 있다. 참고로, 표 2는 실험 환경을 나타내고, 표 3은 실험 결과를 나타낸다.
표 3에 제시된 바와 MPEG-H HEVC test model 5.0의 All Intra 환경과 비교하여 평균적으로 약 16%의 부호화 시간이 절감되었으며, 이에 비하여 비트레이트는 0.04 감소율(이득), PSNR 감소율 0.00dB로 실험되었다.
Test Sequences · Class A (2560'600):Traffic and PeopleOnStreet
· Class B (1920'080):Kimono , Cactus , BasketballDrive , ParkScene and BQTerrace
· Class C (832'80): BasketballDrill , BQMall , PartyScene , and RaceHorsesC
· Class E (416x240): BasketballPass , BQSquare , BlowingBubbles , and RaceHorses
· Class E (1280'20): Vidyo1 , Vidyo3 , and Vidyo4
Total Frames
to be Coded
·Class A: 5 seconds of video duration
·Other Classes: 10 seconds of video duration
Software ·HM 5.0
Quantization Parameter ·32
Condition ·All Intra
Sequences Δ Bitrate (%) ΔY ( dB ) ΔU ( dB ) ΔV( dB ) Δ Time (%)
Traffic 0.00 0.00 0.00 0.00 -18
PeopleOnStreet -0.03 0.00 0.00 0.00 -17
Kimono -0.03 0.00 0.00 0.00 -19
Cactus -0.05 0.00 0.00 0.00 -17
BasketballDrive -0.11 -0.01 0.00 0.00 -15
ParkScene -0.02 0.00 0.00 0.00 -18
BQTerrace -0.04 0.00 0.00 0.00 -15
BasketballDrill -0.05 0.00 0.00 0.00 -15
BQMall -0.13 -0.01 0.00 0.00 -15
PartyScene -0.06 -0.01 0.00 0.00 -13
RaceHorsesC 0.00 0.00 0.00 0.00 -14
BlowingBubbles -0.02 0.00 0.00 0.00 -14
BasketballPass -0.06 -0.01 0.00 0.00 -14
BQSquare -0.02 0.00 0.00 0.00 -12
RaceHorses 0.00 0.00 0.00 0.00 -17
Vidyo1 0.00 0.00 0.00 0.00 -18
Vidyo3 -0.11 -0.01 0.00 0.00 -22
Vidyo4 -0.01 0.00 0.00 0.00 -17
Average -0.04 0.00 0.00 0.00 -16
상술한 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법은 부호화 장치에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다.
또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
300 : 프레임 레벨 ALF 결정부(Frame-level ALF decision)
310 : CU 레벨 ALF 결정(CU-level ALF decision) 유닛
320 : ALF 적용 결정부(ALF on/off Decision)
360 : 최대 깊이 인식부
370 : 적용 깊이 결정부
380 : RD 비용 산출부

Claims (8)

  1. 부호화 장치에 있어서,
    CU 레벨 ALF 결정(CU-level Adaptive Loop Filter Decision)을 위해 ALF(Adaptive Loop Filter)의 최대 깊이(max depth)에 대해서만 RD 비용(Rate-Distortion Cost)을 산출하는 CU 레벨 ALF 결정 유닛; 및
    프레임 레벨 ALF 결정부에 의해 한 프레임의 모든 화소에 대해 필터링을 수행하여 산출된 RD 비용, 상기 CU 레벨 ALF 결정 유닛에 의해 산출된 RD 비용 및 ALF가 적용되지 않았을 때의 RD 비용을 비교하여 가장 적은 RD 비용에 따른 필터링 방법이 선택되도록 ALF 적용 여부를 결정하는 ALF 적용 결정부를 포함하는 부호화 장치.
  2. 제1항에 있어서,
    상기 CU 레벨 ALF 결정 유닛은,
    상기 ALF의 최대 깊이를 이용하여 미리 지정된 기준에 따라 산출된 기준 깊이를 이용하여 ALF가 적용될 부호화 유닛(Coding Unit)의 대상 깊이를 결정하는 적용 깊이 결정부; 및
    상기 대상 깊이에 해당하는 부호화 유닛의 깊이에 대해서는 ALF가 적용되고, 그 이외의 깊이에 대해서는 ALF가 적용되지 않은 상기 RD 비용을 산출하는 RD 비용 산출부를 포함하는 부호화 장치.
  3. 제2항에 있어서,
    상기 ALF의 최대 깊이를 인식하는 최대 깊이 인식부를 더 포함하는 부호화 장치.
  4. 제3항에 있어서,
    상기 ALF의 최대 깊이는 상기 부호화 유닛의 최대 크기를 고려하여 상기 최대 깊이 인식부가 실시간 산출하거나, 미리 지정된 값이거나 또는 사용자에 의해 입력된 값인 것을 특징으로 하는 부호화 장치.
  5. 제2항에 있어서,
    상기 미리 지정된 기준은 상기 ALF의 최대 깊이 중 절반에 해당하는 깊이를 상기 기준 깊이로 설정하는 것이고,
    상기 대상 깊이는 상기 기준 깊이보다 깊은 깊이인 것을 특징으로 하는 부호화 장치.
  6. 제1항에 있어서,
    상기 CU 레벨 ALF 결정을 위해 ALF의 최대 깊이에서만 1회의 재설계 프로세스(redesign process)가 수행되는 것을 특징으로 하는 부호화 장치.
  7. 제1항에 있어서,
    상기 ALF 적용 결정부는 하나의 프레임 또는 부호화 유닛 단위로 ALF 적용 여부를 결정하는 것을 특징으로 하는 부호화 장치.
  8. 제1항에 있어서,
    상기 ALF 적용 결정부에 의해 결정된 ALF 적용 여부에 대한 정보는 비트스트림에 삽입되어 복호화 장치로 제공되는 것을 특징으로 하는 부호화 장치.
KR1020120059050A 2012-06-01 2012-06-01 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법 KR101337990B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120059050A KR101337990B1 (ko) 2012-06-01 2012-06-01 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120059050A KR101337990B1 (ko) 2012-06-01 2012-06-01 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법

Publications (1)

Publication Number Publication Date
KR101337990B1 true KR101337990B1 (ko) 2013-12-09

Family

ID=49987518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120059050A KR101337990B1 (ko) 2012-06-01 2012-06-01 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법

Country Status (1)

Country Link
KR (1) KR101337990B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019066211A1 (ko) * 2017-09-28 2019-04-04 엘지전자 주식회사 영상 코딩 시스템에서 영상 필터링 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110017720A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110070823A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 비디오 부호화/복호화 방법 및 장치
KR20120005968A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 조절 가능한 루프 필터링을 이용한 비디오 부호화 방법 및 그 장치, 조절 가능한 루프 필터링을 이용한 비디오 복호화 방법 및 그 장치
KR20120035126A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110017720A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110070823A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 비디오 부호화/복호화 방법 및 장치
KR20120005968A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 조절 가능한 루프 필터링을 이용한 비디오 부호화 방법 및 그 장치, 조절 가능한 루프 필터링을 이용한 비디오 복호화 방법 및 그 장치
KR20120035126A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019066211A1 (ko) * 2017-09-28 2019-04-04 엘지전자 주식회사 영상 코딩 시스템에서 영상 필터링 방법 및 장치
US11240535B2 (en) 2017-09-28 2022-02-01 Lg Electronics Inc. Method and device for filtering image in image coding system

Similar Documents

Publication Publication Date Title
US10742981B2 (en) Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
US20200296426A1 (en) In loop chroma deblocking filter
US11153562B2 (en) Method and apparatus of advanced deblocking filter in video coding
EP2622577B1 (en) Video coding using intra-prediction
EP2278815B1 (en) Method and apparatus for controlling loop filtering or post filtering in block based motion compensated video coding
CN109417639B (zh) 利用自适应裁剪的视频编码的方法和设备
KR102323427B1 (ko) 영상 부호화 방법 및 장치
WO2007081713A1 (en) Method and apparatus for providing reduced resolution update mode for multi-view video coding
US20190238843A1 (en) Devices and methods for video coding
US10841582B2 (en) Method and apparatus for encoding a picture
US9167270B2 (en) Methods and apparatus for efficient adaptive filtering for video encoders and decoders
WO2017138831A1 (en) Method and apparatus for scan order selection
CN113784126A (zh) 图像编码方法、装置、设备及存储介质
CN111213383B (zh) 用于视频编码的环内滤波装置及方法
KR20170020939A (ko) 디-아티팩트 필터링을 위한 영역-기반 필터 파라미터 선택 방법들 및 장치들
CA2842489C (en) Adaptive filtering based on pattern information
KR101337990B1 (ko) 부호화 장치 및 부호화 유닛 레벨의 적응적 루프 필터 적용 여부 결정 방법
KR101307431B1 (ko) 부호화 장치 및 프레임 기반 적응적 루프 필터의 사용 여부 결정 방법
Li et al. Complexity Reduction of an Adaptive Loop Filter Based on Local Homogeneity
US11425388B2 (en) Methods and apparatuses of coding pictures with CTU based slice partitions in video coding system
US20210258582A1 (en) Method for processing image providing improved arithmetic encoding, method for decoding and encoding image using same, and apparatus for same
EP3576408A1 (en) Adaptive transformation and coefficient scan order for video coding
WO2019212816A1 (en) Encoding and decoding a video
EP3282704A1 (en) Method and apparatus for coding a video into a bitstream
KR20160010021A (ko) 이미지 부호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 7