KR20130098481A - 비디오 압축 시스템의 sao 처리 장치 및 그 방법 - Google Patents

비디오 압축 시스템의 sao 처리 장치 및 그 방법 Download PDF

Info

Publication number
KR20130098481A
KR20130098481A KR1020120020036A KR20120020036A KR20130098481A KR 20130098481 A KR20130098481 A KR 20130098481A KR 1020120020036 A KR1020120020036 A KR 1020120020036A KR 20120020036 A KR20120020036 A KR 20120020036A KR 20130098481 A KR20130098481 A KR 20130098481A
Authority
KR
South Korea
Prior art keywords
offset
sao
depth information
offset value
block
Prior art date
Application number
KR1020120020036A
Other languages
English (en)
Other versions
KR101364085B1 (ko
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 KR1020120020036A priority Critical patent/KR101364085B1/ko
Publication of KR20130098481A publication Critical patent/KR20130098481A/ko
Application granted granted Critical
Publication of KR101364085B1 publication Critical patent/KR101364085B1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria

Abstract

본 발명의 실시예에 따른 비디오 압축 시스템의 손실 압축에 의한 정보 손실을 보상하기 위한 SAO(Sample Adaptive Offset) 처리 장치 및 그 방법이 개시된다. 여기서, SAO 처리 장치는, 원본 영상 및 디블록킹 필터링된 복원 영상을 입력받아 상기 원본 영상 및 상기 복원 영상을 복수의 계층적 깊이 정보 별로 각각의 하나 이상의 블록으로 분할하고, 상기 하나 이상의 블록 각각에 대한 오프셋 값-상기 오프셋 값은 상기 원본 영상 및 상기 복원 영상 간의 왜곡을 보상하는 값임-을 연산하는 연산부; 및 상기 연산부로부터 상기 하나 이상의 블록 각각에 대한 오프셋 값을 전달받아 율 왜곡 최적화 알고리즘을 사용하여 왜곡율이 최소화인 깊이 정보를 선택하고, 선택한 깊이 정보에 따라 분할된 각각의 블록에 대해 연산된 오프셋 값을 상기 비디오 압축 시스템의 부호화부로 출력하는 제어부를 포함한다.

Description

비디오 압축 시스템의 SAO 처리 장치 및 그 방법{SAO PROCESSING DEVICE AND METHOD FOR VIDEO COMPRESSION SYSTEM}
본 발명은 비디오 압축 시스템의 SAO(Sample Adaptive Offset) 처리 장치 및 그 방법에 관한 것으로서, 구체적으로 HEVC(High-Efficiency Video Coding) 시스템에서 손실 압축에 의한 정보 손실을 보상하기 위한 SAO 처리 장치 및 그 방법에 관한 것이다.
최근의 멀티미디어 서비스는 HD(High Definition) 및 UHD(Ultra High Definition) 등과 같은 고해상도/고화질 영상을 요구하는 환경으로 급속히 천이하고 있다.
그러나, 현재 가장 우수한 압축 효율을 가진 것으로 알려진 H.264/AVC 표준[1]과 같은 최신 압축 표준으로도 이러한 방대한 데이터를 저장하거나 현재의 통신채널로 손쉽게 전송하기에는 상당한 비용이 발생하고 있다.
이러한 문제에 대응하고자, 영상 압축 표준의 대표적인 양대 표준화 기구인 ISO/IEC JTC1/SC29/WG11 MPEG(Moving Picture Experts Group)과 ITU-TQ6/WP3/SG16 VCEG(Video Coding Experts Group)은, 지난 2010년 4월 독일 Dresden에서 개최된 제1회 JCT-VC(Joint Collaborative Team on Video Coding) 표준화 회의를 시작으로 차세대 영상 압축 표준인 HEVC(High Efficiency Video Coding) 표준 제정 프로젝트를 시작하였다.
현재 표준화가 진행되고 있는 HEVC 표준은 핵심원리에서는 기존의 H.264/AVC 표준과 같은 전통적인 움직임 보상 변환부호화 압축 기술에 기반하고 있으나, 보다 향상된 다양한 요소 기술을 적용함으로써 압축 효율을 극대화하고 있다.
한편, H.264/AVC 표준에서 디블록킹 필터는 복호화 과정 내에 디블록킹 필터링 과정을 포함시킴으로써 필터가 적용된 영상을 참조 영상으로 활용하는 루프내 필터링(In-loop filtering)을 제공한다.
그런데 H.264/AVC에서의 루프내 필터링은 디블록킹 필터만으로 처리가 가능하였으나 HEVC 코덱의 경우에는 디블록킹 필터외에 영상의 오프셋(offset) 값을 보정하기 위한 SAO(Sample Adaptive Offset) 블록을 필요로 한다.
이러한 SAO 블록 처리를 위해서는 SAO에서 나눈 블록별 오프셋 값의 연산이 필요하며, 연산된 오프셋 값을 비교하여 적절한 오프셋 값을 영역 별로 적용해야 한다. 그러나 SAO 블록의 추가 연산으로 인한 처리 경로의 증가와 오프셋 비교를 위한 노드 별 트리 탐색에 따른 복잡한 연산 과정이 필요하게 된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 디블럭킹 필터링 연산과 동시에 오프셋 값 연산이 가능한 구조로 설계된 SAO(Sample Adaptive Offset) 처리 장치 및 그 방법을 제공하는 것이다.
본 발명의 한 특징에 따르면 SAO(Sample Adaptive Offset) 처리 장치가 제공된다. 이 장치는, 비디오 압축 시스템의 손실 압축에 의한 정보 손실을 보상하기 위한 SAO(Sample Adaptive Offset) 처리 장치로서, 원본 영상 및 디블록킹 필터링된 복원 영상을 입력받아 상기 원본 영상 및 상기 복원 영상을 복수의 계층적 깊이 정보 별로 각각의 하나 이상의 블록으로 분할하고, 상기 하나 이상의 블록 각각에 대한 오프셋 값-상기 오프셋 값은 상기 원본 영상 및 상기 복원 영상 간의 왜곡을 보상하는 값임-을 연산하는 연산부; 및 상기 연산부로부터 상기 하나 이상의 블록 각각에 대한 오프셋 값을 전달받아 율 왜곡 최적화 알고리즘을 사용하여 왜곡율이 최소화인 깊이 정보를 선택하고, 선택한 깊이 정보에 따라 분할된 각각의 블록에 대해 연산된 오프셋 값을 상기 비디오 압축 시스템의 부호화부로 출력하는 제어부를 포함한다.
또한, 상기 깊이 정보는, 계층화된 4개의 깊이 정보를 포함하고,
상기 연산부는, 가장 하위 계층인 제1 깊이 정보에 따라 분할된 64개의 블록 각각에 대한 오프셋 값을 연산하는 복수개의 오프셋 연산기를 포함하는 제1 오프셋 연산기; 상기 제1 오프셋 연산기로부터 연산 결과를 수신하여 제2 깊이 정보에 따라 분할된 16개의 블록 각각에 대한 오프셋 값을 연산하는 복수개의 오프셋 연산기를 포함하는 제2 오프셋 연산기; 상기 제2 오프셋 연산기로부터 연산 결과를 수신하여 제3 깊이 정보에 따라 분할된 4개의 블록 각각에 대한 오프셋 값을 연산하는 복수개의 오프셋 연산기를 포함하는 제3 오프셋 연산기; 및 상기 제3 오프셋 연산기로부터 연산 결과를 수신하여 가장 상위 계층의 제4 깊이 정보에 따른 1개의 블록에 대한 오프셋 값을 연산하는 제4 오프셋 연산기를 포함한다.
또한, 상기 연산부는, 상기 제1 오프셋 연산기, 상기 제2 오프셋 연산기, 상기 제3 오프셋 연산기 및 상기 제4 오프셋 연산기는, 병렬 구조로 이루어지고, 디블록킹 필터링 연산과 동시에 오프셋 연산을 수행할 수 있다.
또한, 상기 제어부는, 상기 율 왜곡 최적화 알고리즘을 사용하여 각각의 깊이 정보에 따라 분할된 블록 별로 오프셋 값을 비교하여 왜곡율이 최소화인 깊이 정보를 선택하는 율 왜곡 비교부; 상기 율 왜곡 비교부가 선택한 깊이 정보에 해당하는 블록 각각에 대한 SAO 타입-상기 SAO 타입은 SAO를 적용하지 않는 타입, EO(Edge Offset) 타입 및 BO(Band Offset) 타입을 포함함-을 결정하는 오프셋 타입 결정부; 상기 율 왜곡 비교부가 선택한 깊이 정보에 해당하는 블록 각각에 대한 오프셋 값을 선택하여 출력하하는 오프셋 값 결정부; 및 상기 율 왜곡 비교부가 선택한 깊이 정보에 따른 블록의 분할 여부를 표현하는 정보, 상기 오프셋 타입 결정부가 결정한 상기 SAO 타입, 오프셋이 적용된 영상 데이터 정보를 포함하는 SAO 파라미터를 생성하여 출력하는 SAO 파라미터 생성부를 포함할 수 있다.
본 발명의 다른 특징에 따르면 SAO(Sample Adaptive Offset) 처리 방법이 제공된다. 이 방법은, 비디오 압축 시스템의 손실 압축에 의한 정보 손실을 보상하기 위한 SAO(Sample Adaptive Offset) 처리 방법으로서, 원본 영상 및 디블록킹 필터링된 복원 영상을 입력받는 단계; 기 원본 영상 및 상기 복원 영상을 복수의 계층적 깊이 정보 별로 분할된 하나 이상의 블록 각각에 대한 오프셋 값-상기 오프셋 값은 상기 원본 영상 및 상기 복원 영상 간의 왜곡을 보상하는 값임-을 연산하는 단계; 상기 하나 이상의 블록 각각에 대한 오프셋 값 중에서 율 왜곡 최적화 알고리즘을 사용하여 왜곡율이 최소화인 깊이 정보를 선택하는 단계; 및 선택한 깊이 정보에 따라 분할된 각각의 블록에 대해 연산된 오프셋 값을 상기 비디오 압축 시스템의 부호화부로 출력하는 단계를 포함한다.
또한, 상기 연산하는 단계는,
가장 하위 계층인 제1 깊이 정보에 따라 분할된 64개의 블록 각각에 대한 오프셋 값을 연산하는 단계; 상기 64개의 블록 각각에 대한 오프셋 값 연산 결과를 이용하여 제2 깊이 정보에 따라 분할된 16개의 블록 각각에 대한 오프셋 값을 연산하는 단계; 상기 16개의 블록 각각에 대한 오프셋 값 연산 결과를 이용하여 제3 깊이 정보에 따라 분할된 4개의 블록 각각에 대한 오프셋 값을 연산하는 단계; 및 상기 4개의 블록 각각에 대한 오프셋 값 연산 결과를 이용하여 가장 상위 계층의 제4 깊이 정보에 따른 1개의 블록에 대한 오프셋 값을 연산하는 단계를 포함할 수 있다.
또한, 상기 선택하는 단계는,
상기 율 왜곡 최적화 알고리즘을 사용하여 각각의 깊이 정보에 따라 분할된 블록 별로 오프셋 값을 비교하여 왜곡율이 최소화인 깊이 정보를 선택할 수 있다.
또한, 상기 출력하는 단계는,
상기 최소화인 깊이 정보에 해당하는 블록 각각에 대한 SAO 타입-상기 SAO 타입은 SAO를 적용하지 않는 타입, EO(Edge Offset) 타입 및 BO(Band Offset) 타입을 포함함-을 결정하는 단계; 상기 최소화인 깊이 정보에 해당하는 블록 각각에 대한 오프셋 값을 선택하여 출력하는 단계; 및 상기 최소화인 깊이 정보에 따른 블록의 분할 여부를 표현하는 정보, 상기 SAO 타입, 오프셋이 적용된 영상 데이터 정보를 포함하는 SAO 파라미터를 생성하여 출력하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 디블럭킹 필터링 연산과 동시에 오프셋 값 연산이 가능한 구조로 설계하여 연산 지연이 거의 없이 처리가 가능하며, 병렬 처리를 이용하여 SAO(Sample Adaptive Offset) 연산을 빠르게 처리할 수 있다.
도 1은 본 발명의 실시예가 적용되는 HEVC(High-Efficiency Video Coding) 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 인루프 필터링을 종래와 비교하여 나타낸 도면이다.
도 3은 본 발명의 실시예가 적용되는 SAO 분할(partitioning) 구조 및 SAO 타입 적용의 예를 나타낸다.
도 4는 본 발명의 실시예가 적용되는 EO(Edge Offset)의 카테고리를 나타낸다.
도 5는 본 발명의 실시예가 적용되는 2 개의 그룹을 가진 BO를 나타낸다.
도 6은 본 발명의 실시예에 따른 LCU 단위의 영상을 나타낸다.
도 7은 본 발명의 실시예에 따른 SAO 처리부의 세부적인 구성을 나타낸 블록도이다.
도 8은 본 발명의 실시예에 따른 연산부의 오프셋 계산 구조를 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 SAO 처리 방법을 나타내는 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부"의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 비디오 압축 시스템의 SAO(Sample Adaptive Offset) 처리 장치 및 그 방법에 대하여 상세히 설명한다.
도 1은 본 발명의 실시예가 적용되는 HEVC(High-Efficiency Video Coding) 시스템의 구성도이다.
도 1을 참조하면, HEVC 시스템(1)은 변환 부호화부(T)(100), 양자화부(Q)(200), 움직임 예측부(ME)(300), 움직임 보상부(MC)(400), 인트라 예측 선택부(500), 인트라 예측부(600), 역변환 부호화부(T-1)(700), 역양자화부(Q-1)(800), 엔트로피 부호화부(900), 디블록킹 필터(Debloccking Filter, DF)(1000), SAO(Sample Adaptive Offset) 처리부(1100) 및 영상 버퍼(1200)를 포함한다.
이때, 변환 부호화부(T)(100), 양자화부(Q)(200), 움직임 예측부(ME)(300), 움직임 보상부(MC)(400), 인트라 예측 선택부(500), 인트라 예측부(600), 역변환 부호화부(T-1)(700), 역양자화부(Q-1)(800), 엔트로피 부호화부(900)의 각 구성 부분에 대하여는 HEVC 표준 문서를 참조하며, 자세한 설명은 생략한다. 그리고 디블록킹 필터(Debloccking Filter, DF)(1000), SAO(Sample Adaptive Offset) 처리부(1100) 및 영상 버퍼(1200)에 대해서 설명하면 다음과 같다.
디블록킹 필터(1000)는 블록화 현상(Blocking artifact)을 제거하는 기능을 구현한다. 디지털 영상 압축 알고리즘은 한 개의 프레임 데이터를 여러 개의 블록(64×64, 32×32, 16×16, 8×8, 4×4)으로 나누어 처리함으로써 블록 내의 화소들이 갖는 시공간적 공통성(redundancy)을 효율적으로 제거하여 압축률을 높일 수 있지만, 블록의 경계에 존재하는 화소들의 불연속성을 증가시키는 문제점이 있다. 이러한 문제점을 블록화 현상이라 한다.
SAO 처리부(1100)는 디블록킹 필터(1000)의 다음에 위치하며, 한 프레임의 영상을 BO(Band offset) 필터 또는 EO(Edge offset) 필터를 사용하여 필터링을 수행한다. 디블록킹 필터(1000)와 달리, SAO 기술은 원본 영상과 복원 영상 간의 오류를 직접 계산하기 때문에 주관적 화질뿐만 아니라 객관적 화질(PSNR)의 향상을 보장할 수 있다. 또한, SAO 역시 루프내 필터링 과정의 일부로 적용되어 왜곡이 보상된 영상을 참조 영상으로 활용함으로써 부호화 효율을 향상시킬 수 있다.
즉 SAO 처리부(1100)는 디블록킹 필터(1000)를 통해 필터링된 부호화된 영상에 대해 양자화 등의 부호화 과정을 통해 발생하는 원본 영상과 복원 영상 간의 왜곡(distortion)을 샘플(sample) 단위의 오프셋(offset)을 통해 보상하는 기능을 한다. 이러한 기능을 통해 주관적 화질과 부호화 효율을 같이 향상시킨다.
영상 버퍼(1200)는 디블록킹 필터(1000)가 출력하는 복원 영상을 버퍼링하면서, SAO 처리부(1100)로 출력한다.
여기서, 디블록킹 필터(1000), SAO 처리부(1100)를 포함한 인루프 필터링(In-loop filtering) 구조에 대해 설명하면 다음과 같다.
도 2는 본 발명의 실시예에 따른 인루프 필터링을 종래와 비교하여 나타낸 도면이다.
도 2의 (A)는 H.264/AVC 표준의 인루프 필터링을 나타내고, 도 2의 (B)는 HEVC 시스템에 포함된 인루프 필터링을 나타낸다.
이처럼, 디블록킹 필터링만을 수행하는 H.264/AVC 표준의 인루프 필터링과 달리 HEVC 시스템에 포함된 인루프 필터링은 디블록킹 필터(1000)→SAO 처리부(1100)의 순서로 이루어진다.
여기서, SAO 처리부(1100)는 한 프레임 영상이 구성된 기본 단위는 H.264/AVC의 매크로 블록(macroblock)과 유사한 개념인 Largest CU(LCUs)로 구성된 영역이며, 각 영역을 필터링 프로세싱을 하기 전에 픽셀 분류(pixel classification)와 각 카테고리(category)를 위한 오프셋(offset)을 이용하여 EO 필터와 BO 필터 중에 하나를 선택한다.
SAO 처리부(1100)가 디블록킹 처리된 영상에 대한 SAO partitioning 에 대해 도 3을 참고하여 설명한다.
도 3은 본 발명의 실시예가 적용되는 SAO 분할(partitioning) 구조 및 SAO 타입 적용의 예를 나타낸다.
도 3을 참고하면, SAO 처리부(1100)는 쿼드트리(quadtree) 기반의 CU(Coding Unit) 분할 방법과 동일한 방식으로 LCU(Largest CU) 블록을 최대 4-depth(depth 0, depth 1, depth 2, depth 3)까지의 하위 블록으로 분할할 수 있으며, 분할된 각 하위 블록에는 서로 다른 SAO 타입이 적용될 수 있다. 도 3에서 '0'은 더 분할될 필요성이 없음을 의미하고, '1'은 더 분할될 필요성이 있음을 나타낸다.
이때, SAO 처리부(1100)는 왜곡 최적화(rate-distortion) 방법을 사용하여 부호화 효율 측면에서 최적인 SAO 블록 분할 여부 및 SAO 타입(type)을 결정한다.
여기서, 결정된 정보는 블록의 분할 여부를 표현하는 정보(도 3의 숫자로 표시된 sao_split_flag) 및 분할된 각 하위 블록에 적용된 SAO 타입을 표현하는 정보(도 3의 괄호안의 숫자로 표시된 sao_type_idx)를 포함한다.
이때, SAO 타입은 SAO를 적용하지 않는 방법, EO(Edge Offset) 방법 및 BO(Band Offset) 방법으로 구분할 수 있다.
여기서, EO 및 BO 방법은 해당 화소의 카테고리를 구분하기 위한 방법에 따라 다시 4 종류의 EO 방법(0-degree, 90-degree, 135-degree 및 45-degree patterns) 및 2 종류의 BO 방법(Central 및 side bands)으로 구분된다.
먼저, EO는 해당 화소(C)와 인접 화소(N) 간 차이의 패턴에 따라 해당 화소가 속하는 카테고리를 분류하고, 분류된 카테고리 별로 서로 다른 오프셋(offset)을 적용할 수 있는 방법으로 패턴은 도 4와 같다.
도 4는 본 발명의 실시예가 적용되는 EO(Edge Offset)의 카테고리를 나타낸다.
도 4를 참조하면, 해당 블록에 0-degree pattern의 EO가 적용되면, 해당 블록에 속한 모든 화소는 0-degree pattern에 기반해 5개의 카테고리로 분류되고, 카테고리 0을 제외한 분류된 각각의 카테고리 단위로 각각의 오프셋이 결정된다. 따라서 EO가 적용되면 카테고리 0을 제외한 4개의 카테고리를 위해 4개의 오프셋이 결정된다.
또한, BO는 해당 화소값에 따라 해당 화소가 속하는 영역을 분류하고, 분류된 영역 별로 서로 다른 offset을 적용할 수 있는 방법이다. 화소가 속할 수 있는 값을 일정한 크기의 32개의 영역으로 구분하고, 각 영역 단위로 각각의 오프셋이 결정되며, 도 5와 같다.
도 5는 본 발명의 실시예가 적용되는 2 개의 그룹을 가진 BO를 나타낸다.
도 5를 참조하면, BO는 16개의 영역을 갖는 2개의 그룹으로 나뉘어지며, 이는 2개의 SAO type으로 구분될 수 있으므로, BO가 적용되면 16개의 영역을 위해 16개의 오프셋이 결정된다.
지금까지 설명한 것처럼, SAO 타입이 적용된 영상은 도 6과 같다.
도 6은 본 발명의 실시예에 따른 LCU 단위의 영상을 나타낸다.
도 6을 참조하면, 하나의 영상이 LCU 단위의 영역별로 그리고 깊이 정보(depth)별로 BO, EO, OFF로 나뉘어 지며, 내부의 점선으로 이루어진 영역이 LCU 경계(boundary)이다.
이제, 도 1~ 도 6에서 설명한 SAO 처리부(1100)의 세부적인 구성과 동작에 대해 설명하기로 한다.
도 7은 본 발명의 실시예에 따른 SAO 처리부의 세부적인 구성을 나타낸 블록도이다. 이는 HEVC 시스템(1)에서 사용되는 SAO 처리부(1100)의 병렬 아키텍처이며, 디블록킹 필터링된 복원 영상 및 원본 영상이 입력되어 SAO 블록 분할 여부와 SAO 타입(type)이 결정되어 최종적으로 오프셋(offset) 및 SAO 파라미터가 출력되는 블록을 나타낸다.
도 7을 참조하면, SAO 처리부(1100)는 연산부(1110) 및 제어부(1130)를 포함한다.
연산부(1110)는 원본 영상(또는 원본 스트림 데이터) 및 디블록킹 필터로부터 출력된 복원 영상(또는 디코딩 스트림 데이터)을 입력받는다. 그리고 입력받은 원본 영상의 화소와, 복원 영상의 화소 간의 오차를 평균적으로 최소화하는 오프셋 값을 계산한다.
이때, 도 3에서 설명한 것처럼, 디코딩된 스트림 데이터의 LCU(Largest CU) 블록을 최대 4-depth(depth 0, depth 1, depth 2, depth 3)까지의 계층화된 하위 블록으로 분할하고, depth 별로 오프셋을 계산한다.
여기서, depth는 영상의 깊이 정보 값을 의미하는데, 영상에 포함되는 화소의 깊이 정보로써, 영상의 표면으로부터의 깊이를 수치화한 정보를 말한다.
이때, 연산부(1110)는 각 depth 별로 오프셋 값을 계산하는 각각의 오프셋 계산기(1111, 1113, 1115, 1117)가 병렬 구조로 구성되어 있다. 이처럼, SAO의 경우에는 원본 영상과 복원 영상을 이용하여 각 depth 별 Tree 노드마다의 비교가 필요함으로 SAO 상위 수준 구조와 같이 블럭별로 병렬 처리하여 비교하여 오프셋 값을 찾도록 설계되었다.
즉 연산부(1110)는 가장 하위 계층인 depth 3의 오프셋 값을 계산하는 제1 오프셋 계산기(1111), depth 2의 오프셋 값을 계산하는 제2 오프셋 계산기(1113), depth 1의 오프셋 값을 계산하는 제3 오프셋 계산기(1115), 가장 상위 계층인 depth 0의 오프셋 값을 계산하는 제4 오프셋 계산기(1117)를 포함한다.
이때, 각 오프셋 계산기(1111, 1113, 1115, 1117)는 하기 수학식 1을 이용하여 오프셋 값을 계산할 수 있다.
Figure pat00001
여기서, originaln은 원본 화소를 의미하고, reconstructn은 복원 화소를 의미한다. 그리고 N는 총 분할 블록을 의미한다. 그리고 최종 복원 화소인 reconstruct'n은 복원 화소인 reconstructn에 오프셋을 더하여 산출된다.
이러한 수학식 1에서는 오프셋 값의 연산 및 재건된 영상 데이터 업데이트 방법이 수식으로 기술되어 있다. 즉 부호화기 측에서 N개의 화소에 대해 원본 화소와 복원 화소 간의 오차를 평균적으로 최소화하는 오프셋을 계산하고, 이를 역변환 부호화부(T-1)(700)에게 전송하여 동일한 방법으로 복원 화소의 왜곡을 보상할 수 있다.
이때, 제1 오프셋 계산기(1111)는 총 64개의 각 블록에 대한 각각의 오프셋을 계산하는 64개의 오프셋 계산기로 구성된다.
제2 오프셋 계산기(1113)는 총 16개의 각 블록에 대한 각각의 오프셋 값을 계산하는 16개의 오프셋 계산기로 구성된다. 그리고 제1 오프셋 계산기(1111)의 오프셋 계산 결과를 토대로 총 16개의 각 블록에 대한 오프셋 값을 계산한다.
제3 오프셋 계산기(1115)는 총 4개의 각 블록에 대한 각각의 오프셋 값을 계산하는 4개의 오프셋 계산기로 구성된다. 그리고 제2 오프셋 계산기(1113)의 오프셋 계산결과를 토대로 총 4개의 각 블록에 대한 오프셋 값을 계산한다.
제4 오프셋 계산기(1117)는 총 1개의 블록에 대한 오프셋 값을 계산하는 1개의 오프셋 계산기로 구성된다. 그리고 제3 오프셋 계산기(1115)의 오프셋 값 계산결과를 토대로 총 1개의 각 블록에 대한 오프셋 값을 계산한다.
이처럼, 제1 오프셋 계산기(1111), 제2 오프셋 계산기(1113), 제3 오프셋 계산기(1115), 제4 오프셋 계산기(1117)가 하위 블록의 오프셋 값 계산 결과를 토대로 오프셋 값을 계산하는 원리는 도 8을 통해 설명할 수 있다.
도 8은 본 발명의 실시예에 따른 연산부의 오프셋 계산 구조를 설명하기 위한 도면이다.
도 8을 참조하면, depth-2의 총 16개(0~15)의 각 블록에 대한 오프셋은 하위 블록의 오프셋의 평균으로 나타낼 수 있다. 예를 들어, depth-2의 첫번째 블록에 대한 오프셋 값은 depth-3의 네개의 블록 즉 (0, 1, 8, 9) 각각의 블록의 오프셋의 평균이 될 수 있다. 마찬가지로, depth-1의 첫번째 블록에 대한 오프셋 값은 depth-2의 네개의 블록(굵은 선으로 표시됨) 각각의 오프셋의 평균이 될 수 있다. 마찬가지로, depth-0의 첫번째 블록에 대한 오프셋 값은 depth-1의 네 개의 블록(점선으로 표시됨) 각각의 오프셋 값의 평균이 될 수 있다.
다시, 도 7을 참조하면, 제어부(1130)는 연산부(1110)와 연동하여 동작하며, 오프셋 값 연산 결과를 토대로 SAO 처리 후, SAO 오프셋 및 SAO 파라미터를 포함하는 SAO 정보(Information)를 엔트로피 부호화부(도 1의 900)로 출력한다.
이러한 제어부(1130)는 세부적으로, 율 왜곡 비교부(Rate Distortion comparision)(1131), 오프셋 타입 결정부(Offset type decision)(1133), 오프셋 값 결정부(Offset value decision)(1135) 및 SAO 파라미터 생성부(SAO parameter generator)(1137)를 포함한다.
율 왜곡 비교부(1131)는 율 왜곡(rate-distortion) 최적화 알고리즘을 사용하여 각각의 깊이 정보에 따라 분할된 블록 별로 오프셋 값을 비교하여 왜곡율이 최소화인 깊이 정보를 선택한다. 이때, 율 왜곡(rate-distortion) 최적화 알고리즘을 토대로 적용하여 왜곡율을 판단하고, 왜곡율이 최소화되는 depth를 선택한다. 즉 부호화 효율 측면에서 최적인 SAO 블록분할 여부 및 SAO 타입을 결정한다.
오프셋 타입 결정부(1133)는 율 왜곡 비교부(1131)가 선택한 깊이 정보에 해당하는 블록 각각에 대한 SAO 타입을 결정한다. 즉 수집된 정보를 바탕으로 하여 최종적으로 해당 depth에서 각 영역의 가장 작은 율 왜곡 값과 함께 SAO 타입을 선택한다. 최하위 자식 노드에서부터 최상의 부모 노드까지 모든 노드의 정보를 조합(combine)하여 입력된 영상의 SAO 정보를 엔트로피 엔코더로 전달하여 스트림을 생성한다.
오프셋 값 결정부(1135)는 율 왜곡 비교부(1131)가 선택한 깊이 정보에 해당하는 블록 각각에 대한 오프셋 값을 선택하여 엔트로피 엔코더로 출력한다.
SAO 파라미터 생성부(1137)는 율 왜곡 비교부(1131)가 선택한 깊이 정보에 따른 블록의 분할 여부를 표현하는 정보(sao_split_flag), 분할된 각 하위 블록에 적용된 SAO type 을 표현하는 정보(sao_type_idx), 오프셋 값 결정부(1135)가 결정한 SAO 타입, 오프셋 값이 적용된 영상 데이터 정보를 포함하는 SAO 파라미터를 생성하여 엔트로피 엔코더로 출력한다.
이처럼, SAO 처리부(1100)는 디블록킹 필터(deblocking filter)의 연산이 모두 끝나고 나서 SAO 블록이 수행되는 것이 아닌, 디블록킹 필터(1100)가 끝나고 나온 영상이 영상 버퍼(1200)에 저장되는 루틴에 단순히 연산 블럭이 하나 추가되는 구조로 하드웨어 구조를 사용하였다. 이는 영상의 인코딩 시에 추가 프로세싱을 위한 추가 연산 시간이 필요한 것이 아니라 디블록킹 필터(1000)의 연산과 동시에 이루어짐으로써 전체 인코딩 시간에 영향을 주지 않도록 설계되었다.
연산 블록 또한 간단한 덧셈과 레지스터만으로 설계가 가능하고, 타입 및 픽셀 분류(pixel classification)를 위한 간단한 비교기 정도가 필요하게 되어 하드웨어 복잡도 또한 크지 않게 설계가 되었다.
도 9는 본 발명의 실시예에 따른 SAO 처리 방법을 나타내는 순서도로서, 도 7의 SAO 처리 장치의 동작을 나타낸 순서도이다.
도 9를 참조하면, 연산부(1110)가 원본 영상 및 디블록킹 필터링된 복원 영상을 입력받는다(S101). 그리고 원본 영상 및 복원 영상을 각 depth 별로 해당하는 하나 이상의 블록으로 분할하고, 수학식 1을 이용하여 분할된 각 블록에 대한 오프셋 값을 계산한다(S103). 여기서, 오프셋 값은 원본 영상 및 복원 영상 간의 왜곡을 보상하는 값이다.
다음, 제어부(1130)는 S103 단계에서 계산된 하나 이상의 블록 각각에 대한 오프셋 값의 왜곡율을 비교(S105)하여 왜곡율이 최소화인 깊이 정보를 선택한다(S107).
다음, S105 단계에서 선택한 깊이 정보에 따라 분할된 각각의 블록에 대해 연산된 SAO 오프셋 값 및 SAO 파라미터를 생성하여 엔트로피 부호화부(900)로 출력한다(S109).
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (8)

  1. 비디오 압축 시스템의 손실 압축에 의한 정보 손실을 보상하기 위한 SAO(Sample Adaptive Offset) 처리 장치로서,
    원본 영상 및 디블록킹 필터링된 복원 영상을 입력받아 상기 원본 영상 및 상기 복원 영상을 복수의 계층적 깊이 정보 별로 각각의 하나 이상의 블록으로 분할하고, 상기 하나 이상의 블록 각각에 대한 오프셋 값-상기 오프셋 값은 상기 원본 영상 및 상기 복원 영상 간의 왜곡을 보상하는 값임-을 연산하는 연산부; 및
    상기 연산부로부터 상기 하나 이상의 블록 각각에 대한 오프셋 값을 전달받아 율 왜곡 최적화 알고리즘을 사용하여 왜곡율이 최소화인 깊이 정보를 선택하고, 선택한 깊이 정보에 따라 분할된 각각의 블록에 대해 연산된 오프셋 값을 상기 비디오 압축 시스템의 부호화부로 출력하는 제어부
    를 포함하는 SAO 처리 장치.
  2. 제1항에 있어서,
    상기 깊이 정보는, 계층화된 4개의 깊이 정보를 포함하고,
    상기 연산부는,
    가장 하위 계층인 제1 깊이 정보에 따라 분할된 64개의 블록 각각에 대한 오프셋 값을 연산하는 복수개의 오프셋 연산기를 포함하는 제1 오프셋 연산기;
    상기 제1 오프셋 연산기로부터 연산 결과를 수신하여 제2 깊이 정보에 따라 분할된 16개의 블록 각각에 대한 오프셋 값을 연산하는 복수개의 오프셋 연산기를 포함하는 제2 오프셋 연산기;
    상기 제2 오프셋 연산기로부터 연산 결과를 수신하여 제3 깊이 정보에 따라 분할된 4개의 블록 각각에 대한 오프셋 값을 연산하는 복수개의 오프셋 연산기를 포함하는 제3 오프셋 연산기; 및
    상기 제3 오프셋 연산기로부터 연산 결과를 수신하여 가장 상위 계층의 제4 깊이 정보에 따른 1개의 블록에 대한 오프셋 값을 연산하는 제4 오프셋 연산기
    를 포함하는 SAO 처리 장치.
  3. 제2항에 있어서,
    상기 연산부는,
    상기 제1 오프셋 연산기, 상기 제2 오프셋 연산기, 상기 제3 오프셋 연산기 및 상기 제4 오프셋 연산기는, 병렬 구조로 이루어지고, 디블록킹 필터링 연산과 동시에 오프셋 연산을 수행하는 SAO 처리 장치.
  4. 제2항에 있어서,
    상기 제어부는,
    상기 율 왜곡 최적화 알고리즘을 사용하여 각각의 깊이 정보에 따라 분할된 블록 별로 오프셋 값을 비교하여 왜곡율이 최소화인 깊이 정보를 선택하는 율 왜곡 비교부;
    상기 율 왜곡 비교부가 선택한 깊이 정보에 해당하는 블록 각각에 대한 SAO 타입-상기 SAO 타입은 SAO를 적용하지 않는 타입, EO(Edge Offset) 타입 및 BO(Band Offset) 타입을 포함함-을 결정하는 오프셋 타입 결정부;
    상기 율 왜곡 비교부가 선택한 깊이 정보에 해당하는 블록 각각에 대한 오프셋 값을 선택하여 출력하는 오프셋 값 결정부; 및
    상기 율 왜곡 비교부가 선택한 깊이 정보에 따른 블록의 분할 여부를 표현하는 정보, 상기 오프셋 타입 결정부가 결정한 상기 SAO 타입, 오프셋이 적용된 영상 데이터 정보를 포함하는 SAO 파라미터를 생성하여 출력하는 SAO 파라미터 생성부
    를 포함하는 SAO 처리 장치.
  5. 비디오 압축 시스템의 손실 압축에 의한 정보 손실을 보상하기 위한 SAO(Sample Adaptive Offset) 처리 방법으로서,
    원본 영상 및 디블록킹 필터링된 복원 영상을 입력받는 단계;
    기 원본 영상 및 상기 복원 영상을 복수의 계층적 깊이 정보 별로 분할된 하나 이상의 블록 각각에 대한 오프셋 값-상기 오프셋 값은 상기 원본 영상 및 상기 복원 영상 간의 왜곡을 보상하는 값임-을 연산하는 단계;
    상기 하나 이상의 블록 각각에 대한 오프셋 값 중에서 율 왜곡 최적화 알고리즘을 사용하여 왜곡율이 최소화인 깊이 정보를 선택하는 단계; 및
    선택한 깊이 정보에 따라 분할된 각각의 블록에 대해 연산된 오프셋 값을 상기 비디오 압축 시스템의 부호화부로 출력하는 단계
    를 포함하는 SAO 처리 방법.
  6. 제5항에 있어서,
    상기 연산하는 단계는,
    가장 하위 계층인 제1 깊이 정보에 따라 분할된 64개의 블록 각각에 대한 오프셋 값을 연산하는 단계;
    상기 64개의 블록 각각에 대한 오프셋 값 연산 결과를 이용하여 제2 깊이 정보에 따라 분할된 16개의 블록 각각에 대한 오프셋 값을 연산하는 단계;
    상기 16개의 블록 각각에 대한 오프셋 값 연산 결과를 이용하여 제3 깊이 정보에 따라 분할된 4개의 블록 각각에 대한 오프셋 값을 연산하는 단계; 및
    상기 4개의 블록 각각에 대한 오프셋 값 연산 결과를 이용하여 가장 상위 계층의 제4 깊이 정보에 따른 1개의 블록에 대한 오프셋 값을 연산하는 단계
    를 포함하는 SAO 처리 방법.
  7. 제5항에 있어서,
    상기 선택하는 단계는,
    상기 율 왜곡 최적화 알고리즘을 사용하여 각각의 깊이 정보에 따라 분할된 블록 별로 오프셋 값을 비교하여 왜곡율이 최소화인 깊이 정보를 선택하는 SAO 처리 방법.
  8. 제5항에 있어서,
    상기 출력하는 단계는,
    상기 최소화인 깊이 정보에 해당하는 블록 각각에 대한 SAO 타입-상기 SAO 타입은 SAO를 적용하지 않는 타입, EO(Edge Offset) 타입 및 BO(Band Offset) 타입을 포함함-을 결정하는 단계;
    상기 최소화인 깊이 정보에 해당하는 블록 각각에 대한 오프셋 값을 선택하여 출력하는 단계; 및
    상기 최소화인 깊이 정보에 따른 블록의 분할 여부를 표현하는 정보, 상기 SAO 타입, 오프셋이 적용된 영상 데이터 정보를 포함하는 SAO 파라미터를 생성하여 출력하는 단계
    를 포함하는 SAO 처리 방법.
KR1020120020036A 2012-02-28 2012-02-28 비디오 압축 시스템의 sao 처리 장치 및 그 방법 KR101364085B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120020036A KR101364085B1 (ko) 2012-02-28 2012-02-28 비디오 압축 시스템의 sao 처리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020036A KR101364085B1 (ko) 2012-02-28 2012-02-28 비디오 압축 시스템의 sao 처리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130098481A true KR20130098481A (ko) 2013-09-05
KR101364085B1 KR101364085B1 (ko) 2014-02-21

Family

ID=49450263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020036A KR101364085B1 (ko) 2012-02-28 2012-02-28 비디오 압축 시스템의 sao 처리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101364085B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150117854A (ko) * 2014-04-11 2015-10-21 한국전자통신연구원 적응적 오프셋 필터 적용 방법 및 장치
WO2016068493A1 (ko) * 2014-10-31 2016-05-06 삼성전자 주식회사 다중 오프셋 방식을 적용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20160125712A (ko) 2015-04-22 2016-11-01 인하대학교 산학협력단 하드웨어 기반 에이치브이씨 부호화기의 에스에이오를 위한 양자화 값을 고려한 알-디 계산 방법
WO2016182152A1 (ko) * 2015-05-12 2016-11-17 삼성전자 주식회사 샘플값 보상을 위한 영상 부호화 방법과 그 장치, 및 샘플값 보상을 위한 영상 복호화 방법과 그 장치
WO2016204479A1 (ko) * 2015-06-16 2016-12-22 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750137B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화,복호화 방법 및 장치
KR20100136907A (ko) * 2009-06-19 2010-12-29 한국전자통신연구원 비디오 부호화 및 복호화를 위한 부호화 모드 보상 적응적 인루프 필터링 방법과 그 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150117854A (ko) * 2014-04-11 2015-10-21 한국전자통신연구원 적응적 오프셋 필터 적용 방법 및 장치
WO2016068493A1 (ko) * 2014-10-31 2016-05-06 삼성전자 주식회사 다중 오프셋 방식을 적용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR20160125712A (ko) 2015-04-22 2016-11-01 인하대학교 산학협력단 하드웨어 기반 에이치브이씨 부호화기의 에스에이오를 위한 양자화 값을 고려한 알-디 계산 방법
WO2016182152A1 (ko) * 2015-05-12 2016-11-17 삼성전자 주식회사 샘플값 보상을 위한 영상 부호화 방법과 그 장치, 및 샘플값 보상을 위한 영상 복호화 방법과 그 장치
US10609377B2 (en) 2015-05-12 2020-03-31 Samsung Electronics Co., Ltd. Image encoding method and device for sample value compensation and image decoding method and device for sample value compensation
WO2016204479A1 (ko) * 2015-06-16 2016-12-22 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
US10506259B2 (en) 2015-06-16 2019-12-10 Lg Electronics Inc. Method for encoding/decoding image, and device therefor

Also Published As

Publication number Publication date
KR101364085B1 (ko) 2014-02-21

Similar Documents

Publication Publication Date Title
KR102509513B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10924767B2 (en) Method for encoding and decoding image information
US10750202B2 (en) Method for inducing prediction motion vector and apparatuses using same
US9832467B2 (en) Deblock filtering for intra block copying
KR102229157B1 (ko) 영상 정보 부호화 및 복호화 방법
EP2787728B1 (en) Method for inducing a merge candidate block
US10504208B2 (en) Method of removing deblocking artifacts
KR102138828B1 (ko) 영상 부호화 방법 및 장치
US20150146779A1 (en) In-loop filtering method and apparatus using same
CN103518375A (zh) 用于贯穿条带或图块边界环路滤波的方法及其装置
KR20120125193A (ko) 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR101364085B1 (ko) 비디오 압축 시스템의 sao 처리 장치 및 그 방법
KR102294016B1 (ko) 변환생략을 참조하는 디블록킹 필터링을 이용한 영상의 부호화/복호화 방법 및 이를 이용하는 장치
US11064201B2 (en) Method and device for image encoding/decoding based on effective transmission of differential quantization parameter
US20230090641A1 (en) Filtering method and video decoding apparatus
US11546589B2 (en) Filtering method and video decoding apparatus
KR101443865B1 (ko) 인터 예측 방법 및 장치
KR101850152B1 (ko) 적응적 루프 필터 적용 방법 및 그를 이용한 스케일러블 비디오 부호화 장치
KR20150100355A (ko) 화면간 예측 방법 및 장치
KR20140043014A (ko) 영상 부호화 방법 및 장치
KR102206225B1 (ko) 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
KR102410326B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101906831B1 (ko) 영상 부호화 방법 및 장치
Kesireddy A new adaptive trilateral filter for in-loop filtering
KR20130107611A (ko) 상향식 예측 모드 방법을 사용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee