KR20180074150A - Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치 - Google Patents

Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20180074150A
KR20180074150A KR1020160177939A KR20160177939A KR20180074150A KR 20180074150 A KR20180074150 A KR 20180074150A KR 1020160177939 A KR1020160177939 A KR 1020160177939A KR 20160177939 A KR20160177939 A KR 20160177939A KR 20180074150 A KR20180074150 A KR 20180074150A
Authority
KR
South Korea
Prior art keywords
offset
value
sao
dynamic range
parameter
Prior art date
Application number
KR1020160177939A
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 KR1020160177939A priority Critical patent/KR20180074150A/ko
Priority to US15/652,760 priority patent/US20180184088A1/en
Publication of KR20180074150A publication Critical patent/KR20180074150A/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • 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/124Quantisation
    • 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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

비디오 데이터의 부호화 방법이 개시된다. 본 개시의 실시예에 따른 비디오 데이터의 부호화 방법은, 양자화 파라미터(Quantization Parameter)에 기초하여 복수의 오프셋(offset)들에 대한 동적 범위(Dynamic Range)를 결정하는 단계; 상기 동적 범위에 기초하여 SAO(Sample Adaptive Offset) 모드를 통해 상기 오프셋들 각각의 값을 결정하는 단계; 및 상기 결정된 오프셋들의 값에 기초하여 처리 유닛에 포함된 픽셀들에 대해 각각 SAO 보상을 수행하는 단계를 포함할 수 있다.

Description

SAO 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치{METHOD AND APPARATUS FOR VIDEO DATA ENCODING WITH SAO FILTERING}
본 개시는 가변하는 동적 범위(Dynamic Range)를 갖는 오프셋에 따른 SAO(Sample Adaptive Offset) 필터링을 수행하는 비디오 데이터의 부호화 방법 및 그 장치에 관한 것이다.
고해상도 또는 고화질 비디오 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 비디오 컨텐트를 효과적으로 부호화하거나 복호화하는 비디오 코덱의 필요성이 증대하고 있다. 기존의 비디오 코덱에 따르면, 비디오는 소정 크기의 부호화 단위에 기반하여 제한된 부호화 방식에 따라 부호화되고 있다.
특히, 비디오 부호화 및 복호화 동작에서 원본영상과 복원영상 간의 오차를 최소화하기 위해 샘플에 적응적으로 결정된 오프셋만큼 복원픽셀값을 조정하는 방법을 적용할 수 있다.
본 개시의 기술적 사상은 비디오 데이터 부호기에 관한 것으로서, 향상된 부호화 효율을 갖는 SAO 필터링 동작을 수행하는 비디오 데이터 부호기 및 부호화 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 비디오 데이터의 부호화 방법은, 양자화 파라미터(Quantization Parameter)에 기초하여 복수의 오프셋(offset)들에 대한 동적 범위(Dynamic Range)를 결정하는 단계; 상기 동적 범위에 기초하여 SAO(Sample Adaptive Offset) 모드를 통해 상기 오프셋들 각각의 값을 결정하는 단계; 및 상기 결정된 오프셋들의 값에 기초하여 처리 유닛에 포함된 픽셀들에 대해 각각 SAO 보상을 수행하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 다른 일측면에 따른 비디오 데이터 부호기는, 양자화 파라미터에 기초하여 비디오 데이터를 양자화 하는 양자화부; 및 상기 양자화 파라미터에 기초하여 동적 범위가 결정된 오프셋들에 따라 상기 양자화 된 비디오 데이터의 처리 유닛에 포함된 픽셀들에 대해 SAO 필터링을 수행하는 SAO 필터를 포함할 수 있다.
본 개시의 기술적 사상에 따른 비디오 데이터의 부호화 방법은, 양자화 파라미터가 작은 값을 갖는 경우 SAO 필터링 동작에서의 부호화 효율을 높일 수 있고, 양자화 파라미터가 큰 값을 갖는 경우 개선된 보상이 이루어지는 SAO 필터링 동작이 수행될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 비디오 데이터 부호기의 블록도를 도시한다.
도 2는 양자화 파라미터에 따른 오프셋 값들의 분포에 대한 실험 결과 그래프의 일 예를 도시한다.
도 3a는 본 개시의 예시적 실시예에 따른 SAO 필터의 구체적인 블록도를, 도 3b는 본 개시의 예시적 실시예에 따라 양자화 파라미터에 기초하여 오프셋의 동적 범위가 달라지는 것을 나타내는 그래프를 각각 도시한다.
도 4a는 도 3a에 도시된 동적 범위 결정부의 구성에 대한 일 예를, 도 4b는 도 3a에 도시된 동적 범위 결정부의 구성에 대한 다른 예에 포함된 테이블의 일 예를 각각 도시한다.
도 5a 는 SAO 에지 타입의 에지 클래스를, 도 5b 및 5c 는 SAO 에지 타입의 SAO 카테고리들을, 도 5d 는 SAO 밴드 타입의 SAO 카테고리를 각각 도시한다.
도 6은 본 개시의 예시적 실시예에 따른 비디오 데이터 복호기의 구성을 나타내는 블록도이다.
도 7은 본 개시의 예시적 실시예에 따른 코딩 유닛의 개념을 도시한다.
도 8은 본 개시의 예시적 실시예에 따른 SAO 필터의 동작의 일 예를 나타내는 순서도를 도시한다.
도 9는 본 개시의 예시적 실시예에 따른 오프셋들의 값 결정에 대한 구체적 단계의 일 예를 나타내는 순서도를 도시한다.
도 10은 본 개시의 예시적 실시예에 따른 비디오 데이터 부호기가 장착된 이동 단말기의 일 예를 나타내는 도면이다.
도 1은 본 개시의 예시적 실시예에 따른 비디오 데이터 부호기의 블록도를 도시한다. 예시적 실시예에 따른 비디오 데이터 부호기는 비디오의 영상들을 입력받아 각각의 영상을, 예를 들어 최대 코딩 유닛(Largest Coding Unit)들로 구획하고, 최대 코딩 유닛마다 샘플들에 대해 예측, 변환, 엔트로피 부호화를 수행하여 생성된 결과 데이터를 비트스트림의 타입으로 출력할 수 있다. 최대 코딩 유닛의 샘플들은 최대 코딩 유닛에 포함된 픽셀들의 픽셀값 데이터일 수 있다.
비디오의 영상들은 주파수 변환을 이용하여 주파수 영역의 계수들로 변환될 수 있다. 비디오 데이터 부호기는, 주파수 변환의 빠른 연산을 위해 영상을 소정의 블록들로 분할하고, 블록마다 주파수 변환을 수행하여, 블록 단위의 주파수 계수들을 부호화할 수 있다. 공간 영역의 영상 데이터에 비해 주파수 영역의 계수들이, 압축하기 쉬운 형태를 가질 수 있다. 비디오 데이터 부호기의 인터 예측 또는 인트라 예측을 통해 공간 영역의 영상 화소값은 예측 오차로 표현되므로, 예측 오차에 대해 주파수 변환이 수행되면 많은 데이터가 0으로 변환될 수 있다. 비디오 데이터 부호기는 연속적이고 반복적으로 발생하는 데이터를 작은 크기의 데이터로 치환함으로써, 데이터량을 절감할 수 있다.
도 1을 참조하면, 비디오 데이터 부호기(100)는 인트라 예측부(110), 움직임 추정부(120) 및 움직임 보상부(122)를 포함할 수 있다. 또한, 비디오 데이터 부호기(100)는 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160) 및 역변환부(170)를 더 포함할 수 있다. 또한, 비디오 데이터 부호기(100)는 디블로킹부(180) 및 SAO 필터(190)를 더 포함할 수 있다.
인트라 예측부(110)는 현재 프레임 중 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행할 수 있다. 움직임 추정부(120) 및 움직임 보상부(122)는 인터 모드의 현재 프레임(105) 및 참조 프레임(195)을 이용하여 움직임 추정 및 움직임 보상을 수행할 수 있다.
인트라 예측부(110), 움직임 추정부(120) 및 움직임 보상부(122)로부터 출력된 데이터는 변환부(130) 및 양자화부(140)를 거쳐 양자화된 변환 계수로 출력될 수 있다. 변환부(130)는, 입력된 데이터에 대해 주파수 변환을 수행하여 변환 계수로 출력할 수 있다. 주파수 변환은, 예를 들어 DCT(Discrete Cosine Transform) 또는 DST(Discrete Sine Transform)로서 수행될 수 있다.
양자화부(140)는 양자화 파라미터(Quantization Parameter, QP)를 통해 변환부(130)로부터 출력된 변환 계수에 대한 양자화 동작을 수행할 수 있다. 양자화 파라미터(QP)는 이웃 샘플들 사이의 절대 차이가 임계치보다 큰 지 여부를 결정하기 위해 사용될 수 있다. 양자화 파라미터(QP)는, 예를 들어 정수일 수 있다. 예시적 실시예에 있어서, 양자화부(140)는 적응적 주파수별 가중 양자화(Adaptive frequency weighting quantization)를 수행할 수 있다. 양자화부(140)는 양자화 동작에 기초가 된 양자화 파라미터(QP)를 SAO 필터(190)로, 양자화된 변환 계수를 역양자화부(160) 및 엔트로피 부호화부(150)로 각각 출력할 수 있다. 양자화부(140)로부터 출력된 양자화된 변환 계수는 역양자화부(160), 역변환부(170)를 통해 공간 영역의 데이터로 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(180)에 의해 디블로킹 필터링이 수행될 수 있다.
디블로킹 필터링이 수행된 픽셀값은, SAO(Sample Adaptive Offset) 필터(190)에 의해 SAO 필터링이 수행될 수 있다. SAO 필터링은, 예를 들어 필터링이 수행되는 처리 유닛(UT)에 포함된 화소들을 분류하고, 분류된 정보를 기반으로 최적의 오프셋(offset) 값을 구한 후 복원 화소에 오프셋 값을 적용함으로써 처리 유닛(UT) 내 평균 화소 왜곡을 감소시킬 수 있다. SAO 필터링은 예를 들어, SAO 필터링 처리된 프레임을 기준으로 후속 프레임들에 영향을 주는 루프 내(in-loop) 프로세스일 수 있다. 예시적 실시예에 있어서, 처리 유닛(UT)은 최대 코딩 유닛일 수 있다.
SAO 필터(190)는, 디블로킹 필터링이 수행된 픽셀값에 대해 SAO 필터링을 수행하여 SAO 필터링 된 데이터(SAO_f_data)를 출력하고, 참조 프레임(195)을 형성할 수 있다. SAO 필터(190)는 또한 SAO 파라미터(SAO_PRM)를 엔트로피 부호화부(150)로 출력할 수 있다. 엔트로피 부호화부(150)는, 엔트로피 부호화된 SAO 파라미터(SAO_PRM)를 포함하는 비트스트림(155)을 출력할 수 있다. 비트스트림(155)은, 예를 들어 비디오 데이터를 표현할 수 있는 NAL(Network Abstraction Layer) 유닛 스트림 또는 바이트 스트림 형태의 비트열일 수 있다.
SAO 필터(190)는, 컬러 성분별로 SAO 조정을 수행할 수 있다. 예를 들어, YCrCb 컬러영상에 대해서는, 루마 성분(Y 성분) 및 제1, 2 크로마 성분(Cr, Cb 성분) 별로 SAO 필터링이 수행될 수 있다.
예시적 실시예에 따른 SAO 필터(190)는, 현재 프레임(105)의 루마 성분에 대해 SAO 필터링을 수행할지 여부를 결정할 수 있다. 예시적 실시예에 따른 SAO 필터(190)는, 현재 프레임(105)의 제1 크로마 성분 및 제2 크로마 성분에 대해 SAO 필터링을 수행할지 여부를 결정하되, 동일하게 결정할 수 있다. 즉, 제1 크로마 컬러 성분에 대해 SAO 조정이 수행된다면 제2 크로마 성분에 대해서도 SAO 조정이 수행되고, 제1 크로마 컬러 성분에 대해 SAO 조정이 수행되지 않는다면 제2 크로마 성분에 대해서도 SAO 조정이 수행되지 않을 수 있다.
SAO 필터(190)는 동적 범위 결정부(191)를 포함할 수 있다. 동적 범위 결정부(191)는, SAO 필터링 수행을 위한 오프셋들에 대한 동적 범위(Dynamic Range)를 결정할 수 있다. 본 개시의 예시적 실시예에 따르면, 동적 범위 결정부(191)는 양자화부(140)로부터 수신받은 양자화 파라미터(QP)에 기초하여 복수의 오프셋들에 대한 동적 범위를 결정할 수 있다. 이에 대해 도 3a 및 3b를 참조하여 보다 상세하게 후술하기로 한다.
도 2는 양자화 파라미터에 따른 오프셋 값들의 분포에 대한 실험 결과 그래프의 일 예를 도시한다. 도 2의 그래프는, 동일한 처리 유닛(UT)에 대해 다른 양자화 파라미터(QP)를 적용한 경우 오프셋 값들의 분포에 대한 그래프일 수 있다. 처리 유닛(UT)은, 예를 들어 최대 부호화 유닛일 수 있다.
양자화 파라미터(QP)가 작은 값을 가질수록, 부호화 되는 비디오 데이터는 고화질의 비디오 데이터일 수 있다. 양자화 파라미터(QP)가 작은 값을 가질수록, SAO 필터링 동작에 필요한 오프셋 값들은 '1' 값의 주위에 대다수가 분포할 수 있다. 즉, 양자화 파라미터(QP)가 작은 값을 가질수록, 오프셋들은 작은 동적 범위만을 필요로 할 수 있다.
양자화 파라미터(QP)가 클수록, 부호화 되는 비디오 데이터는 저화질의 비디오 데이터일 수 있다. 양자화 파라미터(QP)가 큰 값을 가질수록, SAO 필터링 동작에 필요한 오프셋 값들은, 양자화 파라미터(QP)가 작은 값을 가질 때와 비교하여 다양한 값에 분포될 수 있다. 즉, 양자화 파라미터(QP)가 큰 값을 가질수록, 오프셋들은 큰 동적 범위를 필요로 할 수 있다.
본 개시의 예시적 실시예에 따른 SAO 필터(도 1의 190)는, 양자화부(도 1의 140)로부터 현재 프레임의 처리 유닛(UT)에 대한 양자화 파라미터(QP)를 입력받아, 양자화 파라미터(QP)에 따라 오프셋들의 동적 범위를 결정할 수 있다. 따라서, 양자화 파라미터(QP)가 작은 값을 갖는 경우 SAO 필터링 동작에서의 부호화 효율을 높여줄 수 있고, 양자화 파라미터(QP)가 큰 값을 갖는 경우 개선된 보상이 이루어지는 SAO 필터링 동작이 수행될 수 있다.
도 3a는 본 개시의 예시적 실시예에 따른 SAO 필터의 구체적인 블록도를, 도 3b는 본 개시의 예시적 실시예에 따라 양자화 파라미터에 기초하여 오프셋의 동적 범위가 달라지는 것을 나타내는 그래프를 각각 도시한다.
도 3a를 참조하면, SAO 필터(190)는 동적 범위 결정부(191), 오프셋 결정부(192) 및 SAO 보상부(193)를 포함할 수 있다. 동적 범위 결정부(191)는 양자화 파라미터(QP)에 기초하여 오프셋에 대한 동적 범위를 결정할 수 있다. 오프셋에 대한 동적 범위는, 예를 들어 처리 유닛(UT)에 포함된 픽셀들에 대한 SAO 보상에서, 오프셋 절대값 정보를 나타내는 파라미터의 최대값에 따라 달라질 수 있다. 예시적 실시예에 있어서, 오프셋 절대값 정보를 나타내는 파라미터의 최대값은 아래 [수학식 1]을 통해 도출될 수 있다.
Figure pat00001
[수학식 1]의 Sao_Offset_Abs는, 예를 들어 HEVC의 비디오 파라미터 셋(Video Parameter Set, VPS)에서 오프셋 절대값 정보를 나타내는 파라미터를 의미할 수 있다. f(QP)는 양자화 파라미터(QP)에 대한 함수를 의미할 수 있고, Max(Sao_Offset_Abs)는 오프셋 절대값 정보를 나타내는 파라미터의 최대값을 의미할 수 있다.
f(QP)에서, 제1 양자화 파라미터에 따른 제1 함수값 및 제2 양자화 파라미터에 따른 제2 함수값이 각각 도출될 수 있다. 예시적 실시예에 있어서, 제2 양자화 파라미터가 제1 양자화 파라미터보다 큰 경우, 제2 함수값은 제1 함수값보다 크거나 같을 수 있다. 예시적 실시예에 있어서, f(QP)는 아래 [수학식 2]를 통해 도출될 수 있다.
Figure pat00002
[수학식 2]에서 ROUND는 반올림을 의미할 수 있다. 동적 범위 결정부(191)는 최대값이 결정된 오프셋 절대값에 대한 정보를 오프셋 결정부(192)에 제공할 수 있다.
오프셋 결정부(192)는 처리 유닛(UT)에 대해, SAO 모드(SAO mode)를 통해 오프셋들의 값을 각각 결정 및 출력할 수 있다. 예시적 실시예에 있어서, 오프셋 결정부(192)는 동적 범위 결정부(191)에서 결정된 동적 범위에 기초하여 처리 유닛(UT)에 대해, 오프셋들의 값을 결정할 수 있다. 처리 유닛(UT)은, 예를 들어 최대 코딩 유닛일 수 있다.
오프셋 결정부(192)는, 처리 유닛(UT)의 픽셀값 분류 방식에 따라 오프셋 타입을 결정할 수 있다. 예시적 실시예에 따른 오프셋 타입은, 에지 타입 또는 밴드 타입으로 결정될 수 있다. 현재 블록의 픽셀값 분류 방식에 따라, 현재 블록을 에지 타입에 따라 픽셀들을 분류할지, 아니면 밴드 형태에 따라 픽셀들을 분류하는 것이 적합한지 결정될 수 있다. 오프셋 타입에 관한 자세한 설명은 도 5a 내지 5d를 통해 후술한다.
오프셋 결정부(192)는 동적 범위 결정부(191)에서 결정된 동적 범위에 기초하여 SAO 모드(SAO mode)를 통해 오프셋들 각각의 값을 결정할 수 있다. 오프셋들 각각은, 예를 들어 오프셋 부호 정보, 오프셋 절대값 정보 및 오프셋 스케일 정보를 나타내는 파라미터에 의해 결정될 수 있다. 예시적 실시예에 있어서, 오프셋은 아래 [수학식 3]을 통해 도출될 수 있다.
Figure pat00003
[수학식 3]의 Sao_Offset_Val, Sao_Offset_Sign, Sao_Offset_Abs 및 Sao_Offset_Scale은, 예를 들어 HEVC의 비디오 파라미터 셋에서 각각 오프셋, 오프셋 부호 정보, 오프셋 절대값 정보 및 오프셋 스케일 정보를 나타내는 파라미터를 의미할 수 있다. "<<"는 왼쪽 이동(left shift)(또는 비트 시프트) 동작을 나타낼 수 있다.
즉, 오프셋들은, 오프셋 부호 정보를 나타내는 파라미터와 오프셋 절대값 정보를 나타내는 파라미터의 곱에 대한 비트값에 대해, 오프셋 스케일 정보를 나타내는 파라미터 만큼 왼쪽 이동시켜 도출될 수 있다.
예시적 실시예에 있어서, 오프셋 스케일 정보를 나타내는 파라미터는 0일 수 있다. 즉, 이 경우 오프셋들은 오프셋 부호 정보를 나타내는 파라미터와 오프셋 절대값 정보를 나타내는 파라미터의 곱에 대한 비트값으로 도출될 수 있다. 다른 실시예에 있어서, 오프셋 스케일 정보를 나타내는 파라미터는 아래 [수학식 4]를 통해 도출될 수 있다.
Figure pat00004
[수학식 4]의 Bitdepth는 처리 유닛에 포함된 각 픽셀들에 대한 비트 깊이를 의미할 수 있다. 즉, 오프셋 스케일 정보를 나타내는 파라미터는, '각 픽셀들에 대한 비트 깊이-10' 과 0 중 큰 값으로 결정될 수 있다.
예시적 실시예에 있어서, 오프셋 절대값 정보를 나타내는 파라미터의 최대값은 양자화 파라미터(QP)의 함수로 결정될 수 있다. 양자화 파라미터(QP)에 따라 오프셋 절대값 정보를 나타내는 파라미터의 최대값이 증가한 경우, 오프셋들은 각각 동적 범위가 증가할 수 있다.
SAO 보상부(193)는 오프셋 결정부(192)에서 결정된 오프셋들의 값에 기초하여 처리 유닛(UT)에 포함된 픽셀들에 대하여 적합한 SAO 파라미터(SAO_PRM)를 결정하여 출력할 수 있고, 처리 유닛(UT)에 포함된 픽셀들에 대해 각각 SAO 보상을 수행하여 SAO 필터링 된 데이터(SAO_f_data)를 출력할 수 있다. SAO 파라미터(SAO_PRM)의 결정은 휘도 성분과 색차 성분들에 대해서 독립적으로 수행될 수 있다. SAO 파라미터(SAO_PRM)는, 오프셋 타입 정보, 오프셋 클래스 정보 및/또는 오프셋 값들을 포함할 수 있고, 예를 들어 엔트로피 부호화부(예컨대, 도 1의 150)로 출력될 수 있다.
예시적 실시예에 있어서, SAO 보상부(193)는 율-왜곡 최적화 방법(Rate-Distortion Optimization, RDO)을 사용하여 처리 유닛(UT)에 적합한 SAO 파라미터(SAO_PRM)를 결정할 수 있다. 율-왜곡 최적화 방법을 사용하여, SAO 보상부(193)는 밴드 오프셋 타입의 SAO를 사용할지, 에지 오프셋 타입의 SAO를 사용할지, 또는 SAO를 사용하지 않을지에 대해서 결정할 수 있다.
도 3b는 본 개시의 예시적 실시예에 따라 양자화 파라미터(QP)에 기초한 오프셋의 동적 범위를 도시한다. 도 3a 및 3b를 참조하면, 제1 양자화 파라미터(QP1) 및 제2 양자화 파라미터(QP2) 각각의 경우에 따라 동적 범위 결정부(191)에서 결정되는 오프셋의 동적 범위는 상이할 수 있다. 제1 그래프(11)는 제1 양자화 파라미터(QP1)에 따른 오프셋의 동적 범위를, 제2 그래프(12)는 제2 양자화 파라미터(QP2)에 따른 오프셋의 동적 범위를 각각 나타낼 수 있다. 오프셋의 동적 범위는, 예를 들어 SAO 보상에서, 오프셋의 절대값의 최대값에 따라 달라질 수 있다.
본 개시의 예시적 실시예에 따른 오프셋의 절대값의 최대값은 양자화 파라미터(QP)에 대한 함수일 수 있다. 예를 들어, 제2 양자화 파라미터(QP2)가 제1 양자화 파라미터(QP1)보다 큰 경우, 제2 양자화 파라미터(QP2)에 따른 제2 함수값(f(QP2))은 제1 양자화 파라미터(QP1)에 따른 제1 함수값(f(QP1))보다 크거나 같을 수 있다. 즉, 제2 양자화 파라미터(QP2)에 따른 동적 범위는 제1 양자화 파라미터(QP1)에 따른 동적 범위보다 넓거나 같을 수 있다.
이상에서 설명한 바와 같이, 본 개시의 기술적 사상에 따른 비디오 데이터 부호기(도 1의 100)는, 비디오 데이터에 대해, 양자화 파라미터(QP)에 따라 동적 범위가 결정되는 오프셋에 기초하여 SAO 필터링이 수행될 수 있다. 따라서, SAO 필터(190)는 양자화 파라미터(QP)가 작은 값을 갖는 경우 SAO 필터링 동작에서의 부호화 효율을 높일 수 있고, 양자화 파라미터(QP)가 큰 값을 갖는 경우 개선된 보상이 이루어지는 SAO 필터링 동작이 수행될 수 있다.
도 4a는 도 3a에 도시된 동적 범위 결정부의 구성에 대한 일 예를, 도 4b는 도 3a에 도시된 동적 범위 결정부의 구성에 대한 다른 예에 포함된 테이블의 일 예를 각각 도시한다.
도 4a를 참조하면, 동적 범위 결정부(191)는 계산부(191_1)를 포함할 수 있다. 계산부(191_1)는, 양자화 파라미터(QP)를 입력받아 오프셋 절대값 정보를 나타내는 파라미터의 최대값을 계산할 수 있다. 예시적 실시예에 있어서, 오프셋 절대값 정보를 나타내는 파라미터의 최대값은 전술한 [수학식 2]를 통해 결정될 수 있다.
도 4b를 참조하면, 동적 범위 결정부(191)는 제1 테이블(191_2)을 포함할 수 있다. 제1 테이블(191_2)은, 예를 들어 양자화 파라미터(QP)에 따른 오프셋의 절대값의 최대값에 대한 테이블일 수 있다. 동적 범위 결정부(191)는 양자화 파라미터(QP)에 기초하여, 제1 테이블(191_2)을 통해, 대응되는 오프셋의 절대값의 최대값을 찾아 출력할 수 있다.
제1 테이블(191_2)에는 양자화 파라미터(QP)에 따라 정의된 적어도 하나의 동적 범위에 대한 값이 저장될 수 있다. 구체적으로, 제1 테이블(191_2)에는 양자화 파라미터(QP)의 함수로 표현되는 오프셋의 절대값에 대한 최대값이 저장될 수 있다. 예시적 실시예에 있어서, 오프셋의 절대값의 최대값은 [수학식 2]에 의해 도출될 수 있다. [수학식 2]에 의해, 양자화 파라미터(QP)에 따라 오프셋 절대값의 최대값, 즉 오프셋의 동적 범위가 적절하게 도출될 수 있다.
도 5a 는 SAO 에지 타입의 에지 클래스를, 도 5b 및 5c 는 SAO 에지 타입의SAO 카테고리들을, 도 5d는 SAO 밴드 타입의 SAO 카테고리를 각각 도시한다. 이하 도 5a 내지 5d를 참조하여 SAO 필터링에 있어 SAO 타입, 카테고리 및 오프셋 부호에 대해 상술한다.
SAO 필터링의 기법에 따르면, (ⅰ)복원샘플들이 구성하는 에지 타입에 따라 샘플들이 분류되거나, (ⅱ)복원샘플들의 밴드 타입에 따라 샘플들이 분류될 수 있다. 예시적 실시예에 따라, 샘플들이 에지 타입에 따라 분류되는지, 또는 밴드 타입에 따라 분류되는지 여부는, SAO 타입으로 정의될 수 있다.
먼저 도 5a 내지 5c를 참조하여, 예시적 실시예에 따른 SAO 기법에 기초하여, 에지 타입에 따라 샘플들을 분류하는 실시예에 대해 상술한다. 에지 타입에 따른 샘플들의 분류는, 예를 들어 도 3a의 오프셋 결정부(192)에서 수행될 수 있다.
도 5a를 참조하면 SAO 에지 타입의 에지 클래스들이 도시된다. 처리 유닛(UT)에 대해 에지 타입의 오프셋을 결정하는 경우, 현재 처리 유닛(UT)에 포함된 각 복원샘플들의 에지 클래스가 결정될 수 있다. 즉, 현재 복원샘플과 이웃샘플들의 샘플값을 비교하여, 현재 복원샘플들의 에지 클래스가 정의될 수 있다. 처리 유닛(UT)은, 예를 들어 최대 코딩 유닛일 수 있다.
에지 클래스(21 내지 24)의 인덱스가 순서대로 0, 1, 2, 3으로 할당될 수 있다. 에지 타입의 발생빈도가 높을수록 에지 타입의 인덱스는 작게 할당될 수 있다.
에지 클래스는 현재 복원샘플 X0와 인접하는 2개의 이웃샘플들이 형성하는 1차원 에지의 방향을 나타낼 수 있다. 인덱스 0의 에지 클래스(21)는, 현재 복원샘플 X0와 수평방향으로 인접하는 2개의 이웃샘플들 X1, X2가 에지를 형성하는 경우를 나타낼 수 있다. 인덱스 1의 에지 클래스(22)는, 현재 복원샘플 X0와 수직 방향으로 인접하는 2개의 이웃샘플들 X3, X4가 에지를 형성하는 경우를 나타낼 수 있다. 인덱스 2의 에지 클래스(23)는, 현재 복원샘플 X0에 135°대각 방향으로 인접하는 2개의 이웃샘플들 X5, X8이 에지를 형성하는 경우를 나타낼 수 있다. 인덱스 3의 에지 클래스(24)는, 현재 복원샘플 X0에 45°대각 방향으로 인접하는 2개의 이웃샘플들 X6, X7이 에지를 형성하는 경우를 나타낼 수 있다. 따라서, 현재 처리 유닛(UT) 내 포함된 복원샘플들의 에지 방향을 분석하여, 현재 처리 유닛(UT)에서 강한 에지의 방향을 결정함에 따라, 현재 처리 유닛의 에지 클래스가 결정될 수 있다.
각 에지 클래스마다, 현재 샘플의 에지 형태에 따라 카테고리들이 분류될 수 있다. 에지 형태에 따른 카테고리들의 일례를 도 5b 및 5c를 참조하여 후술한다.
도 5b 및 5c는 예시적 실시예에 따른 에지 타입의 카테고리들을 도시한다. 구체적으로, 도 5b는 에지의 카테고리를 결정하기 위한 조건들을 예시하고, 도 5c는 복원샘플과 이웃샘플들의 에지 형태 및 샘플값들 c, a, b의 그래프를 예시한다.에지 카테고리는, 현재 샘플이 오목 에지의 최저점인지, 오목 에지의 최저점 주위에 위치하는 곡선 코너의 샘플인지, 볼록 에지의 최고점인지, 볼록 에지의 최고점 주위에 위치하는 곡선 코너의 샘플인지 여부를 나타낼 수 있다.
c는 복원샘플의 인덱스, a, b는 에지 방향에 따라 현재 복원샘플의 양쪽에 인접하는 이웃샘플들의 인덱스들을 나타낼 수 있다. Xa, Xb, Xc는 각각 인덱스 a, b, c인 복원샘플의 샘플값들을 나타낼 수 있다. 도 5c의 그래프들의 x축은 복원샘플과 양쪽에 인접하는 이웃샘플들의 인덱스들을, y축은 각 샘플들의 샘플값들을 나타낼 수 있다.
카테고리 1은, 현재 샘플이 오목 에지의 최저점, 즉 로컬 밸리(local valley) 지점인 경우를 나타낼 수 있다 (Xc<Xa && Xc<Xb). 그래프 31과 같이, 이웃샘플들 a, b 사이에서 현재 복원샘플 c가 오목에지의 최저점인 경우에, 현재 복원샘플은 카테고리 1로 분류될 수 있다.
카테고리 2는, 현재 샘플이 오목 에지의 최저점 주변에 위치하는 곡선 코너(concave corners)에 위치하는 경우를 나타낼 수 있다 (Xc<Xa && Xc==Xb || Xc==Xa && Xc<Xb). 그래프 32와 같이, 이웃샘플들 a, b 사이에서 현재 복원샘플 c가 오목 에지의 하강 커브가 종료하는 지점에 위치하거나(Xc<Xa && Xc==Xb), 그래프 33과 같이 현재 복원샘플 c가 오목 에지의 상승 커브가 시작하는 지점에 위치하는 경우에(Xc==Xa && Xc<Xb), 현재 복원샘플은 카테고리 2로 분류될 수 있다.
카테고리 3은, 현재 샘플이 볼록 에지의 최고점 주변에 위치하는 곡선 코너(convex corners)에 위치하는 경우를 나타낼 수 있다 (Xc>Xa && Xc==Xb || Xc==Xa && Xc>Xb). 그래프 34와 같이, 이웃샘플들 a, b 사이에서 현재 복원샘플 c가 오목 에지의 하강 커브가 시작하는 지점에 위치하거나(Xc==Xa && Xc>Xb), 그래프 35와 같이 현재 복원샘플 c가 오목 에지의 상승 커브가 종료하는 지점에 위치하는 경우에(Xc>Xa && Xc==Xb), 현재 복원샘플은 카테고리 3으로 분류될 수 있다.
카테고리 4는, 현재 샘플이 볼록 에지의 최고점, 즉 로컬 피크(local peak)지점인 경우를 나타낼 수 있다 (Xc>Xa && Xc>Xb). 그래프 36과 같이, 이웃샘플들 a, b 사이에서 현재 복원샘플 c가 볼록에지의 최고점인 경우에, 현재 복원샘플은 카테고리 4로 분류될 수 있다.
현재 복원샘플에 대해 카테고리 1, 2, 3, 4의 조건이 모두 충족되지 않는 경우에는 에지가 아니므로 카테고리 0으로 분류되고, 카테고리 0에 대한 오프셋은 따로 부호화되지 않을 수 있다.
예시적 실시예에 있어서, 동일한 카테고리에 해당하는 복원샘플들에 대해, 복원샘플과 원본샘플 간의 차이값의 평균치가 현재 카테고리의 오프셋으로 결정될 수 있다. 또한, 각 카테고리마다 오프셋이 결정될 수 있다.
다음으로 도 5d를 참조하여, 예시적 실시예에 따른 SAO 기법에 기초하여, 밴드 타입에 따라 샘플들을 분류하는 실시예에 대해 상술한다. 밴드 타입에 따른 샘플들의 분류는, 예를 들어 도 3a의 오프셋 결정부(192)에서 수행될 수 있다.
그래프(40)는 복원샘플들에 대한 샘플값 및 밴드별 샘플개수를 도시할 수 있다. 예시적 실시예에 있어서, 복원샘플들의 샘플값들은 각각 밴드들 중 하나에 속할 수 있다. 예를 들어, p비트 샘플링에 따라 획득된 샘플값들의 최소샘플값이 Min 및 최대 샘플값이 Max이며 샘플값의 총범위가 Min, ..., (Min+2^(p-1))(=Max) 일 수 있다. 샘플값 총범위 (Min, Max)는 K개의 샘플값 구간들로 분할되는 경우에, 각 샘플값 구간을 밴드라 지칭할 수 있다.
Figure pat00005
가 k번째 밴드의 최대값을 나타내는 경우, 밴드들은 [
Figure pat00006
,
Figure pat00007
], [
Figure pat00008
,
Figure pat00009
], [
Figure pat00010
,
Figure pat00011
], ..., [
Figure pat00012
,
Figure pat00013
]로 분할될 수 있다. 현재 복원샘플의 샘플값이 [
Figure pat00014
,
Figure pat00015
]에 속하는 경우에, 현재 샘플은 밴드 k에 속하는 것으로 결정될 수 있다. 밴드들은 균등한 타입으로 분할되거나, 비균등한 타입으로 분할될 수도 있다.
예를 들어, 샘플값 분류 타입이 8비트 샘플의 균등 밴드인 경우, 샘플값들은 32개의 밴드들로 분할될 수 있다. 구체적으로 [0, 7], [8, 15], ..., [240, 247], [248, 255]의 밴드들로 분류될 수 있다.
밴드 타입에 따라 분류된 다수의 밴드들 중에서, 복원샘플들마다 각각의 샘플값이 속하는 밴드가 결정될 수 있다. 또한, 각각의 밴드마다 원본샘플과 복원샘플 간의 오차들의 평균을 나타내는 오프셋값이 결정될 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 비디오 데이터 복호기의 구성을 나타내는 블록도이다.
도 6을 참조하면, 비디오 데이터 복호기(200)는 파싱부(210), 엔트로피 복호화부(220), 역양자화부(230) 및 역변환부(240)를 포함할 수 있다. 또한, 비디오 데이터 복호기(200)는 인트라 예측부(250), 움직임 보상부(260), 디블로킹부(270) 및 SAO 필터(280)를 더 포함할 수 있다.
파싱부(210)에 입력된 비트스트림(205)을 통해, 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화에 관한 정보가 파싱될 수 있다. 부호화된 영상 데이터는 엔트로피 복호화부(220) 및 역양자화부(230)를 거쳐 역양자화된 데이터로 출력되고, 역변환부(240)를 거쳐 공간 영역의 영상 데이터가 복원될 수 있다. 부호화에 관한 정보는, SAO 파라미터(도 2의 SAO_PRM)를 포함할 수 있고, SAO 필터(280)에서 SAO 필터링 동작의 기초가 될 수 있다. SAO 파라미터(도 2의 SAO_PRM)는, 오프셋 타입 정보, 오프셋 클래스 정보 및/또는 오프셋 값들을 포함할 수 있다.
공간 영역의 영상 데이터에 대해서, 인트라 예측부(250)는 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 보상부(260)는 참조 프레임(285)을 함께 이용하여 인터 모드의 부호화 단위에 대해 움직임 보상을 수행할 수 있다. 인트라 예측부(250) 및 움직임 보상부(260)를 거친 공간 영역의 데이터는 디블로킹부(270) 및 SAO 필터(280)를 거쳐 후처리되어 복원 프레임(295)으로 출력될 수 있다. 또한, 디블로킹부(270) 및 SAO 필터(280)를 거쳐 후처리된 데이터는 참조 프레임(285)으로 출력될 수 있다.
예시적 실시예에 있어서, 파싱부(210), 엔트로피 복호화부(220), 역양자화부(230), 역변환부(240), 인트라 예측부(250), 움직임 보상부(260), 디블로킹부(270) 및 SAO 필터(280)는, 예를 들어 최대 코딩 유닛마다 트리 구조에 따른 부호화 단위들에 기반하여 작업을 수행할 수 있다. 특히, 인트라 예측부(250) 및 움직임 보상부(260)는 트리 구조에 따른 부호화 단위들 각각마다 파티션 및 예측 모드를 결정할 수 있고, 역변환부(240)는 코딩 유닛마다(coding unit) 변환 유닛(transform unit)의 크기를 결정할 수 있다.
SAO 필터(280)는 비트스트림(205)으로부터, 예를 들면 최대 코딩 유닛들의 SAO 파라미터(도 2의 SAO_PRM)를 추출할 수 있다. 예시적 실시예에 있어서, 현재 최대 코딩 유닛의 SAO 파라미터(도 2의 SAO_PRM) 중에서 오프셋 값들은 양자화 파라미터(QP)에 따라 동적 범위가 결정된 오프셋 값들일 수 있다. SAO 필터(280)는, 현재 최대 코딩 유닛의 SAO 파라미터(도 2의 SAO_PRM) 중에서 오프셋 타입 정보 및 오프셋 값들을 이용하여, 복원 프레임(295)의 최대 코딩 유닛의 복원 픽셀들마다, 에지 타입 또는 밴드 타입에 따라 카테고리에 대응되는 오프셋 값만큼 조정할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 코딩 유닛의 개념을 도시한다.
도 7을 참조하면, 코딩 유닛의 크기는 너비X높이로 표현되며, 크기 64X64인 코딩 유닛부터, 32X32, 16X16, 8X8를 포함할 수 있다. 크기 64X64의 코딩 유닛은 크기 64X64, 64X32, 32X64, 32X32의 파티션들로 분할될 수 있고, 크기 32X32의 부호화 단위는 크기 32X32, 32X16, 16X32, 16X16의 파티션들로, 크기 16X16의 코딩 유닛은 크기 16X16, 16X8, 8X16, 8X8의 파티션들로, 크기 8X8의 코딩 유닛은 크기 8X8, 8X4, 4X8, 4X4의 파티션들로 분할될 수 있다.
제1 비디오 데이터(310)에 대해서는, 해상도는 1920X1080, 최대 코딩 유닛의 크기는 64, 최대 심도가 2로 설정될 수 있다. 제2 비디오 데이터(320)에 대해서는, 해상도는 1920X1080, 최대 코딩 유닛의 크기는 64, 최대 심도가 3으로 설정될 수 있다. 제3 비디오 데이터(330)에 대해서는, 해상도는 352X288, 최대 코딩 유닛의 크기는 16, 최대 심도가 1로 설정될 수 있다. 도 7에 도시된 최대 심도는, 최대 코딩 유닛으로부터 최소 코딩 유닛까지의 총 분할 횟수를 나타낼 수 있다.
해상도가 높거나 데이터량이 많은 경우 부호화 효율의 향상뿐만 아니라 영상 특성을 정확히 반영하기 위해 최대 코딩 유닛의 크기가 상대적으로 큰 것이 바람직할 수 있다. 따라서, 제3 비디오 데이터(330)에 비해, 해상도가 높은 제1 또는 제2 비디오 데이터(310, 320)는 최대 코딩 유닛의 크기가 64로 선택될 수 있다.
제1 비디오 데이터(310)의 최대 심도는 2이므로, 제1 비디오 데이터(310)의 코딩 유닛(315)은 장축 크기가 64인 최대 코딩 유닛부터, 2회 분할하며 심도가 두 계층 깊어져서 장축 크기가 32, 16인 코딩 유닛들까지 포함할 수 있다. 반면, 제3 비디오 데이터(330)의 최대 심도는 1이므로, 제3 비디오 데이터(330)의 코딩 유닛(335)은 장축 크기가 16인 최대 코딩 유닛부터, 1회 분할하며 심도가 한 계층 깊어져서 장축 크기가 8인 코딩 유닛들까지 포함할 수 있다.
제2 비디오 데이터(320)의 최대 심도는 3이므로, 제2 비디오 데이터(320)의 코딩 유닛(325)은 장축 크기가 64인 최대 코딩 유닛으로부터, 3회 분할하며 심도가 세 계층 깊어져서 장축 크기가 32, 16, 8인 코딩 유닛들까지 포함할 수 있다. 심도가 깊어질수록 세부 정보의 표현능력이 향상될 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 SAO 필터의 동작의 일 예를 나타내는 순서도를 도시한다. 도 8은, 예를 들어 도 1 및 3a에 도시된 SAO 필터(190)에 대한 동작의 일 예를 나타낼 수 있다.
도 8을 참조하면, SAO 필터(190)는 양자화 파라미터(QP)에 따라 오프셋들에 대한 동적 범위를 결정할 수 있다(S110). 예시적 실시예에 있어서, 동적 범위 결정 단계(S110)는 양자화 파라미터(QP)에 기초하여 동적 범위 결정부(191)에서 수행될 수 있다. 양자화 파라미터(QP)는, 예를 들어 양자화부(140)로부터 출력될 수 있다. 예시적 실시예에 있어서, 동적 범위는 전술한 [수학식 2]로부터 도출될 수 있다. 동적 범위 결정 단계(S110)는, 예를 들어 최대 코딩 유닛 단위로 수행될 수 있다.
오프셋들에 대한 동적 범위 결정 단계(S110) 다음, SAO 필터링을 위한 오프셋들의 값이 결정될 수 있다(S120). 예시적 실시예에 있어서, 오프셋들의 값에 대한 결정 단계(S120)는 오프셋 결정부(192)에서 수행될 수 있다. 오프셋들의 값 결정단계(S120)에서는, 동적 범위 결정 단계(S110)에서 결정된 동적 범위에 기초하여 SAO 모드를 통해 오프셋들 각각의 값이 결정될 수 있다.
오프셋들의 값이 결정 단계(S120) 다음, 오프셋들의 값에 기초하여 SAO 파라미터(SAO_PRM)의 생성 및 SAO 보상이 이루어질 수 있다(S130). 예시적 실시예에 있어서, SAO 파라미터(SAO_PRM)의 생성 및 SAO 보상 단계(S130)는 SAO 보상부(193)에서 수행될 수 있다. SAO 보상은 처리 유닛(UT)에 포함된 픽셀들에 대해 수행될 수 있고, 처리 유닛(UT)은, 예를 들어 최대 코딩 유닛일 수 있다. SAO 파라미터(SAO_PRM)는, 오프셋 타입 정보, 오프셋 클래스 정보 및/또는 오프셋 값들을 포함할 수 있고, 예를 들어 엔트로피 부호화를 통해 비트스트림으로 출력될 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 오프셋들의 값 결정에 대한 구체적 단계의 일 예를 나타내는 순서도를 도시한다. 도 9는, 예를 들어 도 3a에 도시된 오프셋 결정부(192)에 대한 동작의 일 예를 나타낼 수 있다.
도 9를 참조하면, 오프셋 결정부(192)는 오프셋 부호를 결정하고(S121), 오프셋 절대값을 결정할 수 있다(S122). 예시적 실시예에 있어서 오프셋 절대값은, 동적 범위 결정부(191)에서 양자화 파라미터(QP)에 기초하여, 최대값이 결정될 수 있다.
오프셋 절대값 결정 단계(S122) 다음, 오프셋 스케일이 결정될 수 있다(S123). 예시적 실시예에 있어서 오프셋 스케일 결정 단계(S123)는, 전술한 [수학식 4]를 통해 오프셋 스케일을 결정할 수 있다. 다른 실시예에 있어서 오프셋 스케일 결정 단계(S123)는, 오프셋 스케일을 0으로 결정할 수 있다.
오프셋 스케일 결정 단계(S123) 다음, 오프셋 부호, 오프셋 절대값 및 오프셋 스케일을 통해 오프셋들 각각이 계산될 수 있다(S124). 예시적 실시예에 있어서 오프셋 계산 단계(S124)는, 전술한 [수학식 3]을 통해 오프셋들 각각을 도출할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 비디오 데이터 부호기가 장착된 이동 단말기의 일 예를 나타내는 도면이다. 이동 단말기(400)에는, 예를 들어 본 개시의 예시적 실시예에 따른 비디오 데이터 부호기를 포함하는 어플리케이션 프로세서가 장착될 수 있다.
이동 단말기(400)는 기능이 제한되어 있지 않고 응용 프로그램을 통해 상당 부분의 기능을 변경하거나 확장할 수 있는 스마트폰일 수 있다. 이동 단말기(400)는 안테나(410)를 포함하고, 카메라(430)에 의해 촬영된 영상들 또는 안테나(410)에 의해 수신되어 복호화된 영상들을 디스플레이하기 위한 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes)화면 같은 디스플레이화면(420)을 포함할 수 있다. 이동 단말기(400)는 제어버튼, 터치패널을 포함하는 동작 패널(440)을 포함할 수 있다. 또한 디스플레이화면(420)이 터치스크린인 경우, 동작 패널(440)은 디스플레이화면(420)의 터치감지패널을 더 포함할 수 있다. 이동 단말기(400)는, 음성, 음향을 출력하기 위한 스피커(480) 또는 다른 형태의 음향출력부와, 음성, 음향이 입력되는 마이크로폰(450) 또는 다른 형태의 음향입력부를 포함할 수 있다. 이동 단말기(400)는 비디오 및 정지영상을 촬영하기 위한 CCD 또는 CMOS 등의 카메라(430)를 더 포함할 수 있다. 또한, 이동 단말기(400)는 카메라(430)에 의해 촬영되거나 이메일(E-mail)로 수신되거나 다른 형태로 획득된 비디오나 정지영상들과 같이, 부호화되거나 복호화된 데이터를 저장하기 위한 저장매체(470); 그리고 저장매체(470)를 이동 단말기(400)에 장착하기 위한 슬롯(460)을 포함할 수 있다. 저장매체(470)는 SD카드 또는 플라스틱 케이스에 내장된 EEPROM(Electrically Erasable and Programmable Read Only Memory)와 같은 다른 형태의 플래쉬 메모리일 수 있다.
상기한 실시예의 설명은 본 개시의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 개시를 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 개시의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.

Claims (10)

  1. 양자화 파라미터(Quantization Parameter)에 기초하여 복수의 오프셋(offset)들에 대한 동적 범위(Dynamic Range)를 결정하는 단계;
    상기 동적 범위에 기초하여 SAO(Sample Adaptive Offset) 모드를 통해 상기 오프셋들 각각의 값을 결정하는 단계; 및
    상기 결정된 오프셋들의 값에 기초하여 처리 유닛에 포함된 픽셀들에 대해 각각 SAO 보상을 수행하는 단계를 포함하는 비디오 데이터의 부호화 방법.
  2. 제1 항에 있어서, 상기 오프셋들 각각의 값을 결정하는 단계는,
    오프셋 부호 정보를 나타내는 파라미터의 값을 결정하는 단계;
    오프셋 절대값 정보를 나타내는 파라미터의 값을 결정하는 단계;
    오프셋 스케일 정보를 나타내는 파라미터의 값을 결정하는 단계; 및
    상기 오프셋 부호 정보를 나타내는 파라미터, 상기 오프셋 절대값 정보를 나타내는 파라미터 및 상기 오프셋 스케일 정보를 나타내는 파라미터를 통해 상기 오프셋들 각각의 값을 계산하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터의 부호화 방법.
  3. 제2 항에 있어서, 상기 계산하는 단계는,
    상기 오프셋 부호 정보를 나타내는 파라미터와 상기 오프셋 절대값 정보를 나타내는 파라미터의 곱에 대한 비트값에 대해, 상기 오프셋 스케일 정보를 나타내는 파라미터 만큼 왼쪽 이동(left shift) 시켜 상기 오프셋들을 각각 도출하는 것을 특징으로 하는 비디오 데이터의 부호화 방법.
  4. 제2 항에 있어서, 상기 동적 범위를 결정하는 단계는,
    상기 오프셋 절대값 정보를 나타내는 파라미터의 최대값을 상기 양자화 파라미터의 함수로 결정하는 것을 특징으로 하는 비디오 데이터의 부호화 방법.
  5. 제4 항에 있어서,
    상기 함수에 따라 제1 양자화 파라미터에 따른 제1 함수값 및 상기 제1 양자화 파라미터보다 큰 제2 양자화 파라미터에 따른 제2 함수값이 각각 도출될 때,
    상기 제2 함수값은 상기 제1 함수값보다 크거나 같은 것을 특징으로 하는 비디오 데이터의 부호화 방법.
  6. 제4 항에 있어서, 상기 동적 범위를 결정하는 단계는,
    상기 오프셋 절대값 정보를 나타내는 파라미터의 최대값을
    Figure pat00016
    를 반올림한 값으로 결정하는 것을 특징으로 하는 비디오 데이터의 부호화 방법.
  7. 제1 항에 있어서, 상기 동적 범위를 결정하는 단계는,
    상기 양자화 파라미터에 따라 정의된 적어도 하나의 동적 범위에 대한 값이 저장된 테이블에 기초하여 상기 동적 범위를 결정하는 것을 특징으로 하는 비디오 데이터의 부호화 방법.
  8. 양자화 파라미터에 기초하여 비디오 데이터를 양자화 하는 양자화부; 및
    상기 양자화 파라미터에 기초하여 동적 범위가 결정된 오프셋들에 따라 상기 양자화 된 비디오 데이터의 처리 유닛에 포함된 픽셀들에 대해 SAO 필터링을 수행하는 SAO 필터를 포함하는 비디오 데이터 부호기.
  9. 제8 항에 있어서, 상기 SAO 필터는,
    상기 양자화 파라미터에 기초하여 상기 동적 범위를 결정하는 동적 범위 결정부;
    상기 동적 범위에 기초하여 SAO 모드를 통해 상기 오프셋들 각각의 값을 결정하는 오프셋 결정부; 및
    상기 결정부에서 결정된 상기 오프셋들의 값에 기초하여 상기 처리 유닛에 포함된 픽셀들에 대해 각각 SAO 보상을 수행하는 SAO 보상부를 포함하는 것을 특징으로 하는 비디오 데이터 부호기.
  10. 제9 항에 있어서, 상기 동적 범위 결정부는,
    상기 양자화 파라미터 중 제1 양자화 파라미터를 기초로 제1 동적 범위를 결정하고, 상기 양자화 파라미터 중 제1 양자화 파라미터 보다 큰 값을 갖는 제2 양자화 파라미터를 기초로 제2 동적 범위를 결정하며,
    상기 제2 동적 범위는 상기 제1 동적 범위보다 넓거나 같은 것을 특징으로 하는 비디오 데이터 부호기.
KR1020160177939A 2016-12-23 2016-12-23 Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치 KR20180074150A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160177939A KR20180074150A (ko) 2016-12-23 2016-12-23 Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치
US15/652,760 US20180184088A1 (en) 2016-12-23 2017-07-18 Video data encoder and method of encoding video data with sample adaptive offset filtering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160177939A KR20180074150A (ko) 2016-12-23 2016-12-23 Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180074150A true KR20180074150A (ko) 2018-07-03

Family

ID=62630851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160177939A KR20180074150A (ko) 2016-12-23 2016-12-23 Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US20180184088A1 (ko)
KR (1) KR20180074150A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681358B2 (en) * 2017-12-19 2020-06-09 Qualcomm Incorporated Quantization parameter control for video coding with joined pixel/transform based quantization
CN110062230B (zh) * 2019-04-29 2022-03-25 湖南国科微电子股份有限公司 图像编码方法及装置
WO2021061744A1 (en) * 2019-09-23 2021-04-01 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for quantization and de-quantization design in video coding
US11558616B2 (en) * 2020-03-05 2023-01-17 Qualcomm Incorporated Methods for quantization parameter control for video coding with joined pixel/transform based quantization
WO2024094066A1 (en) * 2022-11-01 2024-05-10 Douyin Vision Co., Ltd. Using side information for sample adaptive offset in video coding
WO2024094042A1 (en) * 2022-11-01 2024-05-10 Douyin Vision Co., Ltd. Using side information for bilateral filter in video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5973434B2 (ja) * 2011-06-23 2016-08-23 華為技術有限公司Huawei Technologies Co.,Ltd. 画像フィルタ装置、フィルタ方法および動画像復号装置
KR101674777B1 (ko) * 2011-11-08 2016-11-09 구글 테크놀로지 홀딩스 엘엘씨 샘플 적응 오프셋 코딩 및/또는 시그널링을 위한 장치들 및 방법들
US10694214B2 (en) * 2012-12-21 2020-06-23 Qualcomm Incorporated Multi-type parallelized sample adaptive offset in video coding
US9300967B2 (en) * 2013-06-19 2016-03-29 Apple Inc. Sample adaptive offset control
GB2516021A (en) * 2013-07-05 2015-01-14 Canon Kk Method, device, and computer program for pre-encoding and post-decoding high bit-depth content in video encoder and decoder
JP6328759B2 (ja) * 2013-07-15 2018-05-23 寰發股▲ふん▼有限公司HFI Innovation Inc. ビデオ符号化のサンプル適応オフセット処理の方法
WO2015076634A1 (en) * 2013-11-24 2015-05-28 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal using adaptive sampling
US9628822B2 (en) * 2014-01-30 2017-04-18 Qualcomm Incorporated Low complexity sample adaptive offset encoding
EP4087247A1 (en) * 2014-02-26 2022-11-09 Dolby Laboratories Licensing Corp. Luminance based coding tools for video compression
US9924175B2 (en) * 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding

Also Published As

Publication number Publication date
US20180184088A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
TWI558212B (zh) 一種後期處理重建畫面的方法
KR102062568B1 (ko) 평면 표현을 이용한 향상된 인트라-예측 부호화
KR20180074150A (ko) Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치
US9299133B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method for generating a prediction image
KR101805531B1 (ko) 비디오 신호의 디코딩 방법 및 장치
JP2020065277A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及び符号化ビットストリームを記録した記録媒体
KR20190016982A (ko) 인트라 예측 정보 부호화 방법 및 장치
US10298937B2 (en) Method, device, computer program, and information storage means for encoding or decoding a video sequence
TWI555342B (zh) 清除解塊人為雜訊的方法
KR20130045148A (ko) 인트라 예측 모드에서의 영상 부호화 방법 및 장치
KR20180092774A (ko) 샘플 적응적 오프셋 처리를 수행하는 영상 처리 장치 및 영상 처리 방법
KR102096407B1 (ko) 비디오 신호의 디코딩 방법 및 장치
AU2022204998B2 (en) Residual and coefficients coding for video coding
CN114640847A (zh) 编解码方法、装置及其设备
JP2017073602A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
WO2021045059A1 (ja) 符号化装置、復号装置、及びプログラム
CN117837148A (zh) 用于视频编解码的基于历史的莱斯编码参数推导
Kolla et al. A perceptual adaptive quantizer for quality improvement of HEVC