KR101710623B1 - 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치 - Google Patents

컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치 Download PDF

Info

Publication number
KR101710623B1
KR101710623B1 KR1020100056194A KR20100056194A KR101710623B1 KR 101710623 B1 KR101710623 B1 KR 101710623B1 KR 1020100056194 A KR1020100056194 A KR 1020100056194A KR 20100056194 A KR20100056194 A KR 20100056194A KR 101710623 B1 KR101710623 B1 KR 101710623B1
Authority
KR
South Korea
Prior art keywords
limit value
dynamic range
unit
value
encoding
Prior art date
Application number
KR1020100056194A
Other languages
English (en)
Other versions
KR20110112165A (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 PCT/KR2011/002372 priority Critical patent/WO2011126272A2/en
Priority to US13/079,982 priority patent/US9100661B2/en
Publication of KR20110112165A publication Critical patent/KR20110112165A/ko
Application granted granted Critical
Publication of KR101710623B1 publication Critical patent/KR101710623B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

입력 비디오의 컨텐트에 기반하여 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터를 이용하여, 현재 프레임에 대한 인트라 예측 및 움직임 추정을 통한 인터 예측을 수행하고, 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하고, 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행하여 양자화된 변환 계수에 대해 엔트로피 부호화를 수행하는, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법이 개시된다.

Description

컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치{Method and apparatus for video encoding using dynamic-range trasformation, method and apparatus for video decoding using dynamic-range transformation}
본 발명은 비디오의 부호화 및 복호화에 관한 것이다.
고해상도 또는 고화질 비디오 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 비디오 컨텐트를 효과적으로 부호화하거나 복호화하는 비디오 코덱의 필요성이 증대하고 있다. 기존의 비디오 코덱에 따르면, 비디오는 소정 크기의 매크로블록에 기반하여 제한된 부호화 방식에 따라 부호화되고 있다.
디지털 비디오 캡쳐 장치는 고정된 비트뎁스(bit-depth)에 기반한 픽셀값의 비디오 데이터를 획득한다. 부호화 및 복호화 프로세스 중 연산의 정확성을 향상시키기 위해, 픽셀값의 비트뎁스를 일시적으로 확장하는 기법 등이 이용되고 있다.
본 발명은, 컨텐트에 기반하여 다이나믹 레인지가 변환된 비디오의 부호화 및 복호화에 관한 것이다.
본 발명의 일 실시예에 따라 컨텐트에 기반하는 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법은, 입력 비디오의 컨텐트에 기반하는 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터를 이용하여, 인트라 예측 및 움직임 추정을 통한 인터 예측을 수행하는 단계; 상기 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하고, 상기 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행하는 단계; 및 상기 양자화된 변환 계수에 대해 엔트로피 부호화를 수행하고, 상기 현재 프레임에 대한 부호화된 데이터를 포함하는 비트스트림을 출력하는 단계를 포함한다.
일 실시예에 따른 상기 인트라 예측 및 인터 예측 수행 단계는, 픽셀값의 현재 비트 뎁스(bit depth)로 표현 가능한 최대한계값 내지 최소한계값의 범위로, 상기 현재 프레임의 픽셀값들을 확장하도록 다이나믹 레인지가 변환된 영상 데이터를 이용하여 상기 인트라 예측 및 상기 인터 예측을 수행할 수 있다.
일 실시예에 따른 상기 인트라 예측 및 인터 예측 수행 단계는, 상기 현재 프레임의 픽셀값들 중 상한값보다 큰 값을 상기 최대한계값에 대응하도록 변환하고, 상기 현재 프레임의 픽셀값들 중 하한값보다 작은 값을 상기 최소한계값에 대응하도록 변환하고, 상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들을 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환할 수 있다. 일 실시예에 따른 상기 상한값 및 상기 하한값은, 각각 상기 현재 프레임의 픽셀값들 중 극대값 및 극소값일 수 있다.
일 실시예에 따른 상기 인트라 예측 및 인터 예측 수행 단계는, 상기 상한값 및 상기 하한값 사이의 픽셀값들에 대하여, 현재 픽셀값과 상기 하한값의 차이와 상기 최대한계값 및 상기 최대한계값의 차이의 곱을, 상기 상한값 및 상기 하한값의 차이로 나눈 값이 일대일 대응되도록 변환할 수 있다.
일 실시에에 따라, 상기 상한값 및 상기 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값이, 현재 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력될 수 있다.
다른 실시예에 따른 상기 현재 비트뎁스는, 상기 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스일 수 있다. 다른 실시예에 따른 상기 현재 비트뎁스는, 다이나믹 레인지의 확장을 위한 제 1 비트뎁스 및 내부적으로 확장된 제 2 비트뎁스의 총합일 수 있다. 다른 실시예에 따른 상기 인트라 예측 및 인터 예측 수행 단계는, 상기 비디오의 픽셀값의 비트뎁스를 상기 제 2 비트뎁스만큼 확장하는 단계; 상기 제 2 비트뎁스만큼 확장된 비트뎁스의 중간 데이터에 대해 상기 제 1 비트뎁스만큼 다이나믹 레인지를 확장하는 단계; 및 상기 다이나믹 레인지가 확장된 데이터에 대해 상기 인트라 예측 및 인터 예측을 수행하는 단계를 포함할 수 있다.
다른 실시예에 따른 상기 다이나믹 레인지 확장 단계는, 상기 중간 데이터 중 상한값보다 큰 값을 상기 최대한계값에 대응하도록 변환하고, 상기 현재 프레임의 픽셀값들 중 하한값보다 작은 값을 상기 최소한계값에 대응하도록 변환하고, 상기 중간 데이터 중 상기 상한값 및 상기 하한값 사이의 데이터를 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환할 수 있다. 다른 실시예에 따른 상기 다이나믹 레인지 확장 단계는, 상기 상한값 및 상기 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값을, 상기 제 1 비트뎁스 및 상기 제 2 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력할 수 있다.
일 실시예에 따른 상기 인트라 예측 및 인터 예측 수행 단계는, 상기 현재 프레임의 픽셀값들은 루마 성분 및 크로마 성분별로 다이나믹 레인지가 변환된 영상 데이터를 이용하여, 상기 인트라 예측 및 상기 인터 예측을 수행할 수 있다.
일 실시예에 따라, 상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들이, 비선형 함수 관계를 따라 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환될 수 있다. 일 실시예에 따라 상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들이 소정 개수의 구간들로 분할되는 경우, 상기 구간별 픽셀값은 선형적으로 증가하는 구간별 기울기의 함수 관계에 따라 대응되는 결과값이 결정되고, 상기 구간들 중 연속하는 구간의 결과값들은 연속되어, 상기 모든 구간의 픽셀값들에 대한 결과값들이 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환될 수 있다.
일 실시에에 따라, 상기 상한값보다 크거나 상기 하한값보다 작은 현재 픽셀값은 절삭될 수 있다.
일 실시예에 따른 상기 상한값 및 상기 하한값은, 상기 입력 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정될 수 있다.
일 실시예에 따른 상기 컨텐트에 기반하는 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법은, 상기 다이나믹 레인지의 변환에 대한 정보를 부호화하여 전송하는 단계를 더 포함할 수 있다.
일 실시예에 따른 상기 다이나믹 레인지의 변환에 대한 정보는, 상기 입력 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함할 수 있다.
일 실시예에 따른 상기 다이나믹 레인지의 변환에 대한 정보는, 상기 입력 비디오의 컨텐트의 하한값, 및 상기 픽셀값의 최대한계값 및 최소한계값의 차이로부터 상기 상한값을 뺀 값에 대한 정보를 포함할 수 있다.
일 실시에에 따른 상기 인트라 예측 단계 및 인터 예측 수행 단계는, 상기 현재 프레임이 소정 최대 크기의 부호화 단위로 분할된 각각의 최대 부호화 단위에 대하여, 심도가 깊어짐에 따라 상기 최대 부호화 단위가 계층적으로 분할되어 축소된 영역별로, 적어도 하나의 심도별 부호화 단위마다 상기 인트라 예측 및 상기 인터 예측을 수행하고, 상기 주파수변환 및 양자화 수행 단계는, 각각의 최대 부호화 단위에 대해 상기 영역별로 적어도 하나의 심도별 부호화 단위마다 상기 주파수변환 및 상기 양자화를 수행하고, 상기 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법은, 상기 픽처의 원본 영상과의 최소 부호화 오차를 발생시키는 적어도 하나의 부호화 심도에 관한 정보를 포함하는 상기 부호화 심도의 부호화 단위에 대한 부호화 모드를 결정하는 단계를 더 포함하고, 상기 엔트로피 부호화 수행 단계는, 상기 결정된 부호화 심도 및 부호화 모드에 따른 부호화 결과인 부호화된 영상 데이터에 대해 엔트로피 부호화를 수행하여, 상기 결정된 부호화 심도 및 부호화 모드에 대한 정보 및 부호화된 영상 데이터를 포함하는 비트스트림을 출력할 수 있다.
본 발명의 일 실시예에 따라, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법은, 수신된 비트스트림을 파싱하여 원본 비디오의 현재 프레임의 부호화된 데이터를 추출하는 단계; 상기 추출된 부호화된 데이터에 대해 엔트로피 복호화를 수행하여 데이터 심볼을 복원하는 단계; 상기 복원된 데이터 심볼에 대해, 역양자화 및 역주파수변환을 수행하여 상기 현재 프레임에 대한 레지듀얼 데이터를 복원하고, 상기 복원된 레지듀얼 데이터에 대해 인트라 예측 및 움직임 보상을 수행하여 영상 데이터를 복원하는 단계; 및 상기 복원된 영상 데이터에 대해 디블로킹 필터링을 수행하고, 상기 원본 비디오의 컨텐트를 기반으로 변환된 다이나믹 레인지를 복원함으로써, 상기 현재 프레임을 복원하는 단계를 포함한다.
일 실시예에 따른 상기 현재 프레임 복원 단계는, 상기 복원된 영상 데이터에 대해, 픽셀값의 현재 비트 뎁스(bit depth)로 표현 가능한 최대한계값 내지 최소한계값의 범위로 확장되어 있는 복원 픽셀값을 상기 현재 프레임의 다이나믹 레인지로 복원할 수 있다.
일 실시예에 따른 상기 현재 프레임 복원 단계는, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값을, 각각 상기 현재 프레임의 픽셀값들 중 상한값 및 하한값에 대응하도록 복원하고, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들을 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 변환할 수 있다.
일 실시예에 따른 상기 현재 프레임 복원 단계는, 상기 최대한계값 및 최소한계값 사이의 값들에 대하여, 현재 복원된 데이터 값과 상기 상한값 및 상기 하한값의 차이의 곱을, 상기 최대한계값 및 상기 최대한계값의 차이로 나눈 값에 상기 하한값을 더한 값이 일대일 대응되도록 변환할 수 있다.
일 실시예에 따라, 상기 최대한계값 및 최소한계값 사이의 값들에 대하여 일대일 대응되는 픽셀값이, 현재 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력될 수 있다.
다른 실시예에 따른 현재 비트뎁스는, 상기 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스일 수 있다. 다른 실시예에 따른 상기 현재 프레임 복원 단계는, 상기 제 1 비트뎁스만큼 확장된 상기 복원된 영상 데이터의 다이나믹 레인지를 복원하는 단계; 및 상기 다이나믹 레인지가 복원되어 생성된 중간 데이터의 비트뎁스를 상기 제 2 비트뎁스만큼 축소하여 상기 현재 프레임의 픽셀값의 비트뎁스를 복원하는 단계를 포함할 수 있다.
다른 실시예에 따른 상기 다이나믹 레인지 복원 단계는, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값을, 각각 상기 중간 데이터의 상한값 및 하한값에 대응하도록 복원하는 단계; 및 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들을 상기 중간 데이터의 상한값 및 하한값 사이의 값에 일대일 대응하도록 변환하여 상기 중간 데이터를 생성하는 단계를 포함할 수 있다.
다른 실시예에 따른 상기 중간 데이터 생성 단계는, 상기 중간 데이터의 상한값 및 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값을, 상기 제 1 비트뎁스 및 제 2 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력할 수 있다.
일 실시예에 따른 상기 현재 프레임 복원 단계는, 상기 복원된 영상 데이터에 대해, 루마 성분 및 크로마 성분별로 다이나믹 레인지를 복원하여, 상기 현재 프레임의 픽셀값을 복원하할 수 있다.
일 실시예에 따라, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들이, 비선형 함수 관계를 따라 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 변환될 수 있다. 일 실 시예에 따라 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 픽셀값들이 소정 개수의 구간들로 분할되는 경우, 상기 구간별 데이터는 선형적으로 증가하는 구간별 기울기의 함수 관계에 따라 대응되는 픽셀값이 결정되고, 상기 구간들 중 연속하는 구간들의 데이터에 대응되는 픽셀값들은 연속되어, 상기 모든 구간의 데이터에 대한 픽셀값들이 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 변환될 수 있다.
일 실시예에 따른 상기 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법은, 상기 현재 프레임의 다이나믹 레인지의 변환에 대한 정보를 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따른 상기 데이터 심볼 복원 단계는, 상기 수신된 비트스트림의 부호화 단계 중, 입력 영상 시퀀스 중 픽처를 소정 최대 크기의 부호화 단위로 분할하고, 각각의 최대 부호화 단위에 대해, 심도가 깊어짐에 따라 상기 최대 부호화 단위가 계층적으로 분할되어 축소된 영역별로, 적어도 하나의 심도별 부호화 단위마다 부호화를 수행하여, 상기 픽처의 원본 영상과의 최소 부호화 오차를 발생시키는 적어도 하나의 부호화 심도에 관한 정보를 포함하는 상기 부호화 심도의 부호화 단위에 대한 부호화 모드에 관한 정보를 상기 비트스트림으로부터 더 추출하고, 상기 영상 데이터 복원 단계는, 상기 부호화 모드에 관한 정보에 기초하여, 상기 부호화 심도 및 부호화 모드에 기초하여 역영쟈화, 역주파수변환, 인트라 예측 및 움직음 보상을 수행하여 상기 부호화된 영상 데이터를 복호화할 수 있다.
본 발명의 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치는, 입력 비디오의 컨텐트에 기반하여 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터를 이용하여, 인트라 예측을 수행하는 인트라 예측부; 상기 다이나믹 레인지 변환된 영상 데이터를 이용하여, 움직임 추정을 통한 인터 예측을 수행하는 인터 예측부; 상기 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하는 주파수변환부; 상기 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행하는 양자화부; 상기 양자화된 변환 계수에 대해 엔트로피 부호화를 수행하는 엔트로피 부호화부; 및 상기 엔트로피 부호화에 의해 생성된, 상기 현재 프레임의 부호화된 데이터를 포함하는 비트스트림을 출력하는 출력부를 포함한다.
본 발명의 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치는, 수신된 비트스트림을 파싱하여 원본 비디오의 현재 프레임의 부호화된 데이터를 추출하는 파싱부; 상기 추출된 부호화된 데이터에 대해 엔트로피 복호화를 수행하여 데이터 심볼을 복원하는 엔트로피 복호화부; 상기 복원된 데이터 심볼에 대해, 역양자화 및 역주파수변환을 수행하여 상기 현재 프레임에 대한 레지듀얼 데이터를 복원하는 역양자화 및 역주파수변환부; 상기 복원된 레지듀얼 데이터에 대해 인트라 예측을 수행하는 인트라 예측부; 상기 복원된 레지듀얼 데이터에 대해 움직임 보상을 수행하는 움직임 보상부; 및 상기 인트라 예측 및 상기 움직임 보상에 의해 복원된 영상 데이터에 대해 디블로킹 필터링을 수행하고, 상기 원본 비디오의 컨텐트를 기반하여 변환된 다이나믹 레인지를 복원함으로써, 상기 현재 프레임을 복원하는 영상 복원부를 포함한다.
본 발명은, 본 발명의 일 실시예에 따라 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체를 포함한다.
본 발명은, 본 발명의 일 실시예에 따라 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체를 포함한다.
도 1 은 본 발명의 일 실시예에 따른, 컨텐트에 기반하는 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치의 블록도를 도시한다.
도 2 는 본 발명의 일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치의 블록도를 도시한다.
도 3 은 일 실시예에 따라 다이나믹 레인지가 변환된 데이터의 그래프를 도시한다.
도 4 은 일 실시예에 따라 확장된 비트뎁스에 기반하여 다이나믹 레인지가 변환된 데이터의 그래프를 도시한다.
도 5 는 일 실시예에 따른 원본 데이터의 픽셀값의 확률 밀도 함수 그래프를 도시한다.
도 6 은 본 발명의 일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법의 흐름도를 도시한다.
도 7 는 본 발명의 일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법의 흐름도를 도시한다.
도 8 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치의 블록도를 도시한다.
도 9 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치의 블록도를 도시한다.
도 10 은 본 발명의 일 실시예에 따른 부호화 단위의 개념을 도시한다.
도 11 는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부의 블록도를 도시한다.
도 12 는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부의 블록도를 도시한다.
도 13 는 본 발명의 일 실시예에 따른 심도별 부호화 단위 및 예측 단위를 도시한다.
도 14 은 본 발명의 일 실시예에 따른, 부호화 단위 및 변환 단위의 관계를 도시한다.
도 15 은 본 발명의 일 실시예에 따라, 심도별 부호화 정보들을 도시한다.
도 16 는 본 발명의 일 실시예에 따른 심도별 부호화 단위를 도시한다.
도 17, 18 및 19는 본 발명의 일 실시예에 따른, 부호화 단위, 예측 단위 및 주파수 변환 단위의 관계를 도시한다.
도 20 은 본 발명의 일 실시예에 따른 부호화 단위별 부호화 정보를 도시한다.
도 21 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법의 흐름도를 도시한다.
도 22 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법의 흐름도를 도시한다.
도 23 은 일 실시예에 따라 비선형 함수에 기초하여 다이나믹 레인지가 변환된 데이터의 그래프를 도시한다.
이하, 도 1 내지 도 22를 참조하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법 및 그 장치, 그리고 비디오 복호화 방법 및 그 장치의 다양한 실시예들이 상술된다. 구체적으로 도 1 내지 7을 참조하여, 본 발명의 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 및 복호화에 관한 다양한 실시예들이 개시되고, 도 8 내지 22를 참조하여, 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 및 복호화에 관한 다양한 실시예들이 개시된다.
도 1 은 본 발명의 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치의 블록도를 도시한다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)는, 인트라 예측부(110), 인터 예측부(120), 주파수변환부(130), 양자화부(140), 엔트로피 부호화부(150) 및 출력부(160)를 포함한다.
일 실시예에 따른 인트라 예측부(110)는, 입력 비디오의 컨텐트에 기반하여 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터에 대하여 인트라 예측을 수행하고, 일 실시예에 따른 인터 예측부(120)는, 현재 프레임의 다이나믹 레인지 변환된 영상 데이터에 대하여, 움직임 추정을 통한 인터 예측을 수행한다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)는, 픽셀값의 현재 비트 뎁스로 표현 가능한 최소한계값 내지 최대한계값의 최대 범위로, 현재 프레임의 픽셀값의 다이나믹 레인지를 확장할 수 있다. 이에 따라 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)는, 픽셀값의 다이나믹 레인지가 최대 범위로 확장되도록 변환된 영상 데이터를 이용하여, 현재 프레임을 부호화할 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 다이나믹 레인지가 변환된 영상 데이터를 이용하여 현재 프레임에 대한 인트라 예측 및 인터 예측을 각각 수행하여, 레지듀얼 데이터를 출력할 수 있다.
이하, 본 명세서에서는, 현재 프레임의 실질적 다이나믹 레인지를 결정하기 위해 설정된 원본 영상의 픽셀값들 중 큰 값을 상한값이라 지칭하고, 작은 값을 하한값이라 지칭한다. 또한, 소정 비트 뎁스로 표현 가능한 픽셀값 중 최대값 및 최소값을 각각 최대한계값 및 최소한계값이라 지칭한다.
일 실시예에 따라, 입력 비디오의 원본 영상의 상한값 내지 하한값 사이의 픽셀값들이 소정 비트 뎁스로 표현가능한 최소한계값 내지 최대한계값의 사이의 값으로 대응되도록 다이나믹 레인지가 확장되므로, 입력 비디오의 컨텐트에 기반하여 다이나믹 레인지가 확장될 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 현재 프레임의 픽셀값들 중 상한값보다 큰 값이 최대한계값에 대응하도록 변환하고, 현재 프레임의 픽셀값들 중 하한값보다 작은 값이 최소한계값에 대응하도록 변환할 수 있다. 또한, 현재 프레임의 픽셀값들 중 상한값 및 하한값 사이의 픽셀값들이 최대한계값 및 최소한계값 사이의 값으로 일대일 대응하도록 변환될 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 상한값 및 하한값을, 각각 현재 프레임의 픽셀값들 중 극대값 및 극소값으로 결정할 수 있다. 여기서 해당 구간에서 현재 픽셀값보다 큰 픽셀이 없다면 현재 픽셀값이 극대값으로 정의되고, 현재 픽셀값보다 작은 픽셀이 없다면 현재 픽셀값이 극소값으로 정의돈다.
예를 들어 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, '상한값 및 하한값 사이의 픽셀값'들에 대하여, '현재 픽셀값과 하한값의 차이'와 '최대한계값 및 최소한계값의 차이'의 곱을, '상한값 및 하한값의 차이'로 나눈 값을 일대일 대응시킬 수 있다.
일 실시예에 따른 다이나믹 레인지 변환에 따라, 현재 프레임 중 상한값보다 크거나 하한값보다 작은 현재 픽셀값은 절삭되는 결과가 유도될 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 연산 속도 향상을 위해, 상한값 및 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값을 현재 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 결정할 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)는, 입력 비디오의 부복호화 과정 중, 내부적으로 영상 픽셀값의 비트 뎁스를 확장하여 이용할 수 있다. 픽셀값의 비트뎁스가 확장됨에 따라, 픽셀값의 최대 범위도 확장될 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)가 내부적으로 확장된 비트뎁스에 따른 영상 데이터를 이용하여 현재 프레임에 대한 인트라 예측 및 인터 예측을 수행하는 경우, 확장된 비트뎁스에 따른 픽셀값의 최대 범위로 다이나믹 레인지가 확장하도록 변환된 현재 프레임의 영상 데이터를 이용하여, 현재 프레임에 대한 인트라 예측 및 인터 예측을 수행할 수 있다.
예를 들어, 일 실시예에 따른 다이나믹 레인지의 확장에 따른 비트뎁스의 증가량이 제 1 비트뎁스이고, 내부적으로 확장된 비트뎁스는 제 2 비트뎁스일 때, 제 1 비트뎁스 및 제 2 비트뎁스의 총합에 따른 픽셀값의 최대 범위로 다이나믹 레인지가 확장될 수 있다. 이를 위해, 비디오의 픽셀값의 비트뎁스가 제 2 비트뎁스만큼 확장하는 동작 및 제 2 비트뎁스만큼 확장된 비트뎁스의 중간 데이터에 대해 제 1 비트뎁스만큼 다이나믹 레인지를 확장하는 동작이 순차적으로 수행될 수도 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 입력 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 등의 소정 데이터 단위별로 상한값 및 하한값을 결정함으로써, 입력 비디오의 소정 데이터 단위의 컨텐트에 기반하여 다이나믹 레인지를 변환할 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 입력 비디오의 컨텐트에 기반하여 다이나믹 레인지가 변환된 이전 프레임들에 대하여 인트라 예측 및 인터 예측을 수행하여 이전 프레임에 대한 레지듀얼 데이터를 출력할 수 있다.
이전 프레임에 대한 레지듀얼 데이터는, 주파수변환, 양자화를 통해 부호화되고, 양자화된 데이터는 역양자화, 역주파수변환 및 인루프 필터링을 거쳐 이전 프레임에 대한 복원 프레임으로 복원될 수 있다. 다아나믹 레인지 변환을 위한 상한값 및 하한값이 프레임마다 설정된다면, 일 실시예에 따른 인터 예측부(120)는, 이전 프레임들에 대한 복원 프레임들의 다이나믹 레인지를 일단 원본 다이나믹 레인지로 복원하고 현재 프레임의 다이나믹 레인지에 기초하여 재변환한 후, 현재 프레임과 동일한 다이나믹 레인지로 변환된 복원 프레임을 참조하여 현재 프레임의 인터 예측을 수행할 수 있다.
일 실시예에 따른 인트라 예측부(110)는, 다이나믹 레인지가 변환된 현재 프레임의 주변 영역 정보를 이용하여 인트라 예측을 수행할 수 있다.
일 실시예에 따른 주파수변환부(130)는, 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하고, 일 실시예에 따른 양자화부(140)는, 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행한다. 일 실시예에 따른 엔트로피 부호화부(150)는, 양자화된 변환 계수에 대해 엔트로피 부호화를 수행한다. 일 실시예에 따른 출력부(160)는, 엔트로피 부호화에 의해 생성된 현재 프레임의 부호화된 데이터를 포함하는 비트스트림을 출력한다.
일 실시예에 따른 출력부(160)는, 다이나믹 레인지의 변환에 대한 정보를 부호화하여 현재 프레임의 부호화된 데이터와 함께 전송할 수 있다. 예를 들어, 다이나믹 레인지의 변환에 대한 정보는, 현재 프레임의 부호화된 데이터를 포함하는 비트스트림의 시퀀스 파라미터 세트 또는 슬라이스 헤더에 삽입될 수 있다.
일 실시예에 따른 다이나믹 레인지의 변환에 대한 정보는, 입력 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함할 수 있다. 비트수를 절약하기 위해 상한값에 대한 정보 대신에, 픽셀값의 최대한계값 및 최소한계값의 차이로부터 상한값을 뺀 값이 부호화될 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)는, 일 실시예에 따른 영역별 계층적 데이터 단위에 기반한 비디오 부호화 방식에 기초할 수 있다. 일 실시예에 따른 영역별 계층적 데이터 단위에 기반한 비디오 부호화 방식에 기초하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치에 대해서는 도 8 내지 도 22를 참고하여 구체적으로 후술하도록 한다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)에 따라, 부호화 중 내부적 연산을 위한 데이터의 다이나믹 레인지가 확장됨에 따라 예측 부호화, 주파수변환 및 인루프 필터링 등의 성능이 향상될 수 있다. 또한, 데이터 단위별로 상한값 및 하한값 등이 실질적인 데이터 단위별로 설정되므로, 컨텐트에 기반하여 다이나믹 레인지가 변환될 수 있다.
도 2 는 본 발명의 일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치의 블록도를 도시한다.
일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치(200)는, 파싱부(210), 엔트로피 복호화부(220), 역양자화 및 역주파수변환부(230), 인트라 예측부(240), 움직임 보상부(250) 및 영상 복원부(260)를 포함한다.
일 실시예에 따른 파싱부(210)는, 수신된 비트스트림을 파싱하여 원본 비디오의 현재 프레임의 부호화된 데이터를 추출한다. 일 실시예에 따른 엔트로피 복호화부(220)는, 추출된 부호화된 데이터에 대해 엔트로피 복호화를 수행하여 데이터 심볼을 복원한다. 일 실시예에 따른 역양자화 및 역주파수변환부(230)는, 복원된 데이터 심볼에 대해, 역양자화 및 역주파수변환을 수행하여 현재 프레임에 대한 레지듀얼 데이터를 복원한다. 일 실시예에 따른 인트라 예측부(240)는, 복원된 레지듀얼 데이터에 대해 인트라 예측을 수행하고, 일 실시예에 따른 움직임 보상부(250)는, 움직임 벡터를 이용하여 복원된 레지듀얼 데이터에 대해 움직임 보상을 수행한다. 움직임 벡터는 파싱부(210)에 의해 추출되어 움직임 보상부(250)에 제공될 수 있다.
일 실시예에 따른 영상 복원부(260)는, 인트라 예측 및 움직임 보상에 의해 복원된 영상 데이터에 대해 디블로킹 필터링 등의 인루프 필터링을 수행하고, 현재 프레임을 복원한다. 특히, 추출된 부호화된 데이터가 원본 비디오의 컨텐트에 기반한 다이나믹 레인지가 변환된 영상 데이터가 부호화에 따른 데이터라면, 다이나믹 레인지를 복원함으로써 현재 프레임을 복원한다. 파싱부(210)에 의해 다이나믹 레인지 변환에 대한 정보가 추출된다면, 추출된 부호화된 데이터가 다이나믹 레인지 변환된 데이터임이 유추될 수도 있다.
디블로킹 필터링 등의 인루프 필터링에 의해 복원된 영상 데이터의 다이나믹 레인지는, 픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로 확장되어 있는 상태이다. 따라서 일 실시예에 따라 영상 복원부(260)는 복원된 영상 데이터의 다니막 레인지를 현재 프레임의 다이나믹 레인지로 복원할 수 있다.
복원 프레임의 다이나믹 레인지를 복원하기 위해, 일 실시예에 따른 영상 복원부(260)는 복원 픽셀값들 중 최대한계값 및 최소한계값을, 각각 현재 프레임의 픽셀값들 중 상한값 및 하한값에 대응하도록 복원하고, 최대한계값 및 최소한계값 사이의 값들을 상한값 및 하한값 사이의 값에 일대일 대응하도록 변환할 수 있다. 현재 프레임의 상한값 및 하한값의 일례는, 각각 현재 프레임의 픽셀값들 중 극대값 및 극소값일 수 있다.
일 실시예에 따른 영상 복원부(260)는, 최대한계값 및 최소한계값 사이의 값들에 대하여, 현재 복원된 데이터 값과 '상한값 및 하한값의 차이'의 곱을, '최대한계값 및 최소한계값의 차이'로 나눈 값에 하한값을 더한 값을 일대일 대응시키는 연산을 통해, 다이나믹 레인지를 역변환할 수 있다. 일 실시예에 따른 영상 복원부(260)는, 비트시프트에 의한 연산을 이용해, 다이나믹 레인지의 역변환을 위한 일대일 대응 결과값을 산출할 수 있다.
일 실시예에 따른 현재 비트뎁스는, 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스일 수도 있다. 이 경우, 일 실시예에 따른 영상 복원부(260)는 내부적으로 확장된 비트뎁스를 원본 비트뎁스로 복원할 수 있다. 예를 들어 영상 복원부(260)는 제 1 비트뎁스만큼 확장된 다이나믹 레인지가 확장된 복원된 영상 데이터의 다이나믹 레인지를 제 1 비트뎁스만큼 축소하여 다이나믹 레인지를 복원하는 동작 및 다이나믹 레인지가 복원되어 생성된 중간 데이터의 비트뎁스를 내부적으로 제 2 비트뎁스만큼 축소하여 원본 프레임의 픽셀값의 비트뎁스로 복원하는 동작을 순차적으로 수행할 수 있다.
일 실시예에 따른 영상 복원부(260)에 의해 복원된 현재 프레임의 픽셀값은, 대응되는 원본 영상의 상한값보다 크거나 하한값보다 작은 픽셀값은 절삭된 결과값일 수 있다.
현재 프레임의 상한값 및 하한값은, 각각 원본 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정될 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치(200)는, 현재 프레임의 다이나믹 레인지의 변환에 대한 정보를 수신할 수 있다.
일 실시예에 따라 수신된 다이나믹 레인지의 변환에 대한 정보는, 원본 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함할 수 있다. 수신된 정보 중 픽셀값의 최대한계값 및 최소한계값의 차이로부터 상한값을 뺀 값에 대한 정보가 포함되어 있는 경우, 이로부터 상한값이 유추될 수 있다. 또한, 현재 프레임의 상한값 및 하한값이 설정된 데이터 단위에 대한 정보도 함께 수신될 수 있다.
일 실시예에 따른 움직임 보상부(260)는, 원본 비디오의 이전 프레임에 대한 복원 프레임들을 참조하여, 현재 프레임에 대한 움직임 보상을 수행할 수 있다. 이 경우 다이나믹 레인지 변환에 대한 정보가 프레임별로 설정되어 있는 경우, 현재 프레임의 변환된 다이나믹 레인지에 동기화하도록 복원 프레임의 다이나믹 레인지를 재변환함으로써, 현재 프레임과 동일한 다이나믹 레인지로 변환된 복원 프레임을 참조하여 현재 프레임의 움직임 보상이 수행될 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치(200)는, 일 실시예에 따른 영역별 계층적 데이터 단위에 기반한 비디오 복호화 방식에 기초할 수 있다. 일 실시예에 따른 영역별 계층적 데이터 단위에 기반한 비디오 복호화 방식에 기초하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치에 대해서는 도 8 내지 도 22를 참고하여 구체적으로 후술하도록 한다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치(200)에 따라, 부호화 중 내부적 연산을 위해 확장된 다이나믹 레인지에 기초하여 부호화된 데이터를 복호화하여 원본 비디오를 복원할 수 있다.
도 3 은 일 실시예에 따라 다이나믹 레인지가 변환된 데이터의 그래프를 픽셀값 도시한다.
그래프 가로축에 원본 데이터의 픽셀값이, 세로축에는 일 실시예에 따른 비디오 부호화 장치(100) 및 비디오 복호화 장치(200)에서 다이나믹 레인지가 변환된 데이터의 픽셀값이 도시되어 있다. 도 3의 그래프는 상한값 B보다 큰 픽셀값이 없으므로 극대값이 상한값 B로 설정되고, 하한값 A보다 작은 픽셀값이 없으므로 극소값이 하한값 A로 설정될 수 있다.
원본 데이터의 픽셀값은 [0, 255]의 구간에 분포되어 있으며, 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 원본 데이터의 픽셀값의 다이나믹 레인지가 변환된 데이터를 이용하여, 각각 인트라 예측 및 인터 예측을 수행할 수 있다. 이 경우, 하한값 A의 픽셀값은, 현재 비트뎁스에 따른 최소한계값 0에 대응되고, 상한값 B의 픽셀값은 현재 비트뎁스에 따른 최대한계값 255에 대응되며, 하한값 A 및 상한값 B 사이의 픽셀값은, 현재 비트뎁스에 따른 최소한계값 및 최대한계값 사이의 데이터구간 (0, 255)의 값에 일대일 대응되도록 다이나믹 레인지가 변환되어 있다.
일 실시예에 따른 영상 복원부(260)는, 다이나믹 레인지가 변환된 데이터에 대해, 데이터값 0을 현재 프레임의 하한값 A에, 데이터값 255을 현재 프레임의 상한값 B에 대응시키고, 구간 (0, 255) 사이의 데이터값은 하한값 A 및 상한값 B 사이의 픽셀값에 대응시킴으로써, 원본 다이나믹 레인지를 복원할 수 있다.
도 4 은 일 실시예에 따라 확장된 비트뎁스에 기반하여 다이나믹 레인지가 변환된 데이터의 픽셀값 그래프를 도시한다.
그래프 가로축에 원본 데이터의 픽셀값이, 그래프의 세로축은 일 실시예에 따른 비디오 부호화 장치(100) 및 비디오 복호화 장치(200)에서 확장된 비트뎁스에 기반하여 다이나믹 레인지가 변환된 데이터의 픽셀값이 도시되어 있다.
일 실시예에 따른 비디오 부호화 장치(100) 및 비디오 복호화 장치(200)는 픽셀값의 비트뎁스를 확장하여 변환된 데이터값을 이용하여 각종 프로세싱을 수행할 수 있다. 이 경우, 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 다이나믹 레인지가 확장된 비트뎁스에 따른 최대 범위로 확장된 데이터를 이용하여 현재 프레임에 대한 인트라 예측 및 인터 예측을 수행할 수 있다. 또한, 일 실시예에 따른 영상 복원부(260)는, 확장된 비트뎁스에 기반하여 다이나믹 레인지가 변환된 데이터를 원본 데이터의 다이나믹 레인지로 복원할 수 있다. 또한 일 실시예에 따른 영상 복원부(260)는 다이나믹 레인지와 함께 내부적으로 확장된 비트뎁스를 복원할 수 있다.
예를 들어, 픽셀값의 비트뎁스가 8비트에서 12비트로, 4비트만큼 확장되는 경우, 데이터 구간은 [0, 255]에서 [0, 4095]로 확장될 수 있다. 이 경우, 하한값 A의 픽셀값은 12비트로 확장된 비트뎁스에 따른 최소한계값 0에 대응되고, 상한값 B의 픽셀값은 12비트 비트뎁스에 따른 최대한계값 4095에 대응되며, 하한값 A 및 상한값 B 사이의 픽셀값은 12비트 비트뎁스에 따른 데이터구간 [0, 4095]의 값에 일대일 대응되도록 다이나믹 레인지가 변환할 수 있다. 따라서, 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는 4비트 확장된 비트뎁스에 기반하여 다이나믹 레인지가 변환된 데이터값을 이용하여, 인트라 예측 및 인터 예측에 이용될 수 있다.
또한 이 경우, 일 실시예에 따른 영상 복원부(260)는, 12비트로 확장된 다이나믹 레인지가 변환된 데이터에 대해, 데이터값 0을 현재 프레임의 하한값 A에, 데이터값 4095을 현재 프레임의 상한값 B에 대응시키고, 구간 (0, 4095) 사이의 데이터값은 하한값 A 및 상한값 B 사이의 픽셀값에 대응시킴으로써, 확장된 비트뎁스에 기반하여 확장된 다이나믹 레인지를 원본 다이나믹 레인지로 복원할 수 있다. 또한, 내부적으로 12비트로 확장된 비트뎁스도 8비트로 복원될 수 있다.도 5 는 일 실시예에 따른 원본 데이터의 픽셀값의 확률 밀도 함수(probability density function; pdf) 그래프를 도시한다.
그래프 가로축에 원본 프레임의 픽셀값이, 세로축은 원본 프레임의 픽셀값의 확률 밀도가 도시되어 있다. 일반적으로 원본 프레임의 픽셀값의 하한값 이하 및 상한값보다 큰 픽셀값에 대한 확률 밀도는 극히 작다. 이 점을 고려하여, 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 소정 확률 밀도에 대한 임계치를 설정하여, 해당 임계치에 대응하는 원본 프레임의 픽셀값 중 작은 값을 하한값으로, 큰 값을 상한값으로 설정할 수 있다.
일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 원본 프레임의 하한값보다 작은 픽셀값 및 상한값보다 큰 픽셀값은 절삭하고 나머지 하한값 및 상한값 사이의 픽셀값의 다이나믹 레인지를 확장한 데이터를 이용하여, 현재 프레임에 대한 인트라 예측 및 인터 예측을 수행할 수 있다. 원본 프레임의 다이나믹 레인지를 결정하는데 있어서, 상한값보다 크거나 하한값보다 작은 값은 절삭됨으로써 상한값 및 하한값 간의 차이가 줄어들 수 있다.
또한 이 경우, 일 실시예에 따른 영상 복원부(260)는, 다이나믹 레인지가 변환된 데이터의 최소한계값을 현재 프레임의 하한값 A에, 최대한계값을 현재 프레임의 상한값 B에 대응시키고, 최소한계값 및 최대한계값 사이의 데이터값은 하한값 A 및 상한값 B 사이의 픽셀값에 대응시킴으로써, 확장된 다이나믹 레인지를 원본 다이나믹 레인지로 복원할 수 있다. 하지만, 다이나믹 레인지 확장 과정에서 절삭된 원본 프레임의 픽셀값 중 하한값보다 작거나 상한값보다 큰 픽셀값은 복원될 수 없다.
따라서, 하한값이 작을수록 또는 상한값이 클수록, 다이나믹 레인지가 덜 확장되지만, 다이나믹 레인지의 복원 과정에서 원본 프레임의 픽셀값이 덜 손실될 수 있다. 반대로, 하한값이 클수록 또는 상한값이 작을수록, 다이나믹 레인지는 더 확장되어 세밀한 영상 처리에 유리하지만, 다이나믹 레인지의 복원 과정에서 원본 프레임의 픽셀값의 손실률이 커질 수 있다. 따라서, 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)는, 필요에 따라 하한값 및 상한값을 가변적으로 설정하여 원본 프레임의 픽셀값의 절삭률을 조절함으로써, 다이나믹 레인지의 확장성과 원본 픽셀의 복원성을 조절할 수도 있다.
이하, 일 실시예에 따른 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)가 인트라 예측 및 인터 예측에 이용하기 위해, 원본 프레임의 픽셀값의 다이나믹 레인지의 변환 방식을 관계식에 따라 상술된다.
일반적으로 디지털 비디오 캡처 장치의 비디오 포맷은 고정 비트뎁스를 사용한다. 현재 가장 널리 쓰이는 비디오 포맷은, 컬러별로 픽셀마다 8비트가 할당된다. N비트 비트뎁스의 비디오 포맷에서, 픽셀값은 [0, 2N-1]의 구간, 즉 0으로부터 2N-1 중에 분포하므로, 8비트 비트뎁스의 비디오 시퀀스의 픽셀값 구간은 [0, 28-1]이다. 일반적으로 비디오 시퀀스의 픽셀값은, 픽셀값 구간 중 중앙 근처에 분포할 확률이 더 높고, 구간 중 외곽 근처에 분포할 확률은 희박하다.
즉, 원본 비디오 시퀀스의 픽셀값의 분포는 다음과 같은 관계식 (1)에 따를 수 있다.
0 ≤ OrgMin ≤ Org ≤ OrgMax ≤ 2N-1 ...(1)
원본 픽셀값 Org, 원본 픽셀값 중 최소값 OrgMin 및 최대값 OrgMax은 0보다 크거나 같고 2N-1보다 작거나 같으므로, 원본 픽셀값은 실제 가능한 최대 범위 2N-1보다 좁은 범위의 픽셀값 구간에 분포할 수 있다.
일 실시예에 따른 다이나믹 레인지 변환에 따르면, 컨텐트에 기초하여 원본 픽셀값의 최소값 OrgMin 및 최대값 OrgMax이 각각 하한값, 상한값으로 설정되고, 상한값 OrgMax는 상한값 및 하한값의 차 Range(= OrgMin - OrgMax)를 이용하여, OrgMin + Range으로 대체될 수 있다. 이 경우, 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환 방식은 아래 변환식 (2),(3),(4)에 따를 수 있다.
if(Org< OrgMin) OrgTransformed = 0; ...(2)
else if(Org> (OrgMin+ Range)) OrgTransformed= 2N- 1; ...(3)
else OrgTransformed= (Org- OrgMin)* (2N- 1)/Range; ...(4)
변환식 (2)에 따라 원본 픽셀값 Org가 하한값 OrgMin보다 작은 경우, 다이나믹 레인지 변환에 의해 변환된 데이터 OrgTransformed는 0으로 결정되고, 변환식 (3)에 따라 원본 픽셀값 Org가 상한값 OrgMin + Range보다 작은 경우, 변환된 데이터 OrgTransformed는 2N - 1으로 결정되며, 변환식 (4)에 따라 원본 픽셀값 Org가 하한값 OrgMin 이상 상한값 OrgMin + Range 이하인 경우, 변환된 데이터 OrgTransformed는 원본 픽셀값 Org에 대하여 (Org - OrgMin) * (2N - 1)/Range의 값으로 일대일 대응될 수 있다.
변환식 (2), (3), (4)에 따른 다이나믹 레인지 변환 방식은, 원본 픽셀값 Org가 하한값 OrgMin 이상 상한값 OrgMin + Range 이하인 경우에, 기울기 (2N - 1)/Range의 선형 함수에 따라 원본 픽셀값 Org이, 변환된 데이터 OrgTransformed로 대응되는 경우이다.
변환식 (2), (3), (4)는 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 위한 변환식의 예시일 뿐, 본 발명의 다이나믹 레인지 변환 방식이 선형 함수에 기초한 변환식에 한정되는 것은 아니다. 예를 들어, 원본 픽셀값 Org가 하한값 OrgMin 보다 작은 경우 확장된 다이나믹 레인지의 최소한계값으로 변환되고, 원본 픽셀값 Org가 상한값 OrgMin + Range 보다 큰 경우 확장된 다이나믹 레인지의 최대한계값으로 변환된다는 조건은 유지되는 것이 바람직하다. 원본 픽셀값 Org가 하한값 OrgMin 이상 상한값 OrgMin + Range 이하인 경우에, 원본 픽셀값 Org이 증가할수록 이에 대응되는 변환된 데이터 OrgTransformed도 단조 증가하도록 다이나믹 레인지가 변환될 수 있다면, 필요에 따라 가변적으로 변환식이 결정될 수 있다. 다만 설명의 편의를 위해, 예시적인 변환식 (2), (3), (4)에 기초하여 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환 방식에 대해 후술한다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환은 비트시프트를 이용하여 나눗셈 연산을 수행함으로써 연산 속도를 향상할 수 있다. 비트시프트를 이용한 변환식을 표현하기 위해, 오프셋 OFFSET 는 1 << (CADR_BITS -1) 로 설정될 수 있다. 컨텐트에 기반한 다이나믹 레인지 변환을 위한 비트뎁스 CADR_BITS는 입력 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정될 수 있다. 이하 설명의 편의를 위해, 비트뎁스 CADR_BITS가 8인 실시예를 기초로 상술된다. 또한 상수 s = (((2N- 1)<< BITS)+ (Range>> 1)) /Range가 설정될 수 있다. 이에 따라, 변환식 (4)가 아래와 같이 변환식 (5)으로 변경됨으로써, 비트시프트를 이용한 변환식이 결정될 수 있다.
if(Org< OrgMin) OrgTransformed= 0; ...(2)
else if(Org> (OrgMin+ Range)) OrgTransformed= 2N- 1; ...(3)
else OrgTransformed= (s* (Org- OrgMin)+ OFFSET)>> CADR_BITS ...(5)
컨텐트에 기반한 다이나믹 레인지 변환식 (2), (3) 및 (4) (또는 (5))의 결과, 변환된 데이터 OrgTransformed 의 구간은 0 ≤ OrgTransformed ≤ 2N- 1 으로 변환될 수 있다. 즉, 원본 픽셀값의 구간 [OrgMin, OrgMax]는 변환된 데이터 OrgTransformed 의 구간 [0, 2N- 1]으로 확장될 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(100)의 인트라 예측부(110) 및 인터 예측부(120)는, 변환된 데이터 OrgTransformed 를 이용하여 인트라 예측 및 인터 예측을 수행할 수 있다. 원본 픽셀값 Org를 이용한 인트라 예측 및 인터 예측에 의해 생성되는 레지듀얼의 분포에 비해, 변환된 데이터 OrgTransformed 를 이용한 경우 생성되는 레지듀얼의 분포가 넓이지므로 내부 연산의 정확성이 향상될 수 있다.
이하, 일 실시예에 따른 일 실시예에 따른 영상 복원부(260)가 복호화에 의해 복원된 데이터의 다이나믹 레인지를 원본 프레임의 다이나믹 레인지로 복원하는 방식이 관계식에 따라 상술된다.
복호화 과정을 통해 복원된 데이터의 다이나믹 레인지를 역변환함으로써, 원본 프레임의 다이나믹 레인지가 복원될 수 있다. 즉 아래 변환식 (6)에 따른 컨텐트에 기반한 다이나믹 레인지 역변환식을, 복호화를 거쳐 복원된 데이터 Rec에 적용함으로써, 다이나믹 레인지가 역변환된 데이터 RecInvTransformed가 출력될 수 있다.
RecInvTransformed= Rec* Range/ (2N- 1)+ OrgMin; ...(6)
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지의 역변환식 (6)도 아래 변환식 (7)과 같이 비트시프트를 이용한 변환식으로 변경될 수 있다.
RecInvTransformed= (si* Rec+ (OrgMin<< CADR_BITS)+ OFFSET)>> CADR_BITS...(7)
이때 상수 si는 si= ((Range<< CADR_BITS)+ ((2N- 1)>> 1))/ (2N- 1)로 설정될 수 있다.
현재 시퀀스가 YUV 컬러 포맷을 따르는 경우, 루마 성분 및 크로마 성분에 대해 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환이 각각 수행될 수 있다. 앞서 관계식 (1) 내지 (7)을 참조하여 전술한 다이나믹 레인지의 변환식 및 역변환식이 픽셀값의 루마 성분인 Y 성분 픽셀값에 대해 적용된 것이라 보면, 이하 관계식 (8) 내지 (23)을 참조하여 크로마 성분인 U성분 픽셀값 및 V성분 픽셀값에 대한 컨텐트에 기반한 다이나믹 레인지 변환식 및 역변환식이 기술된다.
이하 관계식 (8) 내지 (17)에서, Org_U 및 Org_V는 각각 원본 U성분 픽셀값 및 원본 V성분 픽셀값을 나타낸다. OrgMin_U 및 OrgMax_U은 각각 원본 U성분 픽셀값의 최소값 및 최대값을 나타내고, OrgMin_V 및 OrgMax_V은 각각 원본 V성분 픽셀값의 최소값 및 최대값을 나타낸다. OrgMin_U와 OrgMin_V는 서로 다를 수 있으며, OrgMax_U 및 OrgMax_V도 다를 수 있다. 설명의 편의를 위해, 이하 관계식(8) 내지 (17)에서 OrgMin_U 및 OrgMax_U가 각각 U성분의 하한값 및 상한값, OrgMin_V 및 OrgMax_V이 V성분 픽셀값의 하한값 및 상한값으로 가정된다.
또한 iRange_U는 U성분 픽셀값의 상한값 OrgMax_U 및 하한값 OrgMin_U 간의 차(OrgMax_U - OrgMin_U)를 나타내며, iRange_V는 상한값 OrgMax_V 및 하한값 OrgMin_V 간의 차(OrgMax_V - OrgMin_V)를 나타낸다. 일 실시예에 따른 크로마 U 성분의 픽셀값에 대한 컨텐트에 기반한 다이나믹 레인지 변환 방식은 아래 변환식 (8), (9), (10)에 따를 수 있다.
if(Org_U< OrgMin_U) OrgTransformed_U = 0; ...(8)
else if(Org_U > (OrgMin_U + iRange_U)) OrgTransformed_U = 2N- 1; ...(9)
else OrgTransformed_U = (Org_U - OrgMin_U)* (2N- 1)/iRange_U; ...(10)
크로마 V 성분의 픽셀값에 대한 컨텐트에 기반한 다이나믹 레인지 변환 방식은 아래 변환식 (11), (12), (13)에 따를 수 있다.
if(Org_V< OrgMin_V) OrgTransformed_V = 0; ...(11)
else if(Org_V > (OrgMin_V + iRange_V)) OrgTransformed_V = 2N- 1; ...(12)
else OrgTransformed_V = (Org_V - OrgMin_V)* (2N- 1)/iRange_V; ...(13)
컨텐트에 기반한 다이나믹 레인지 변환의 연산 속도를 향상시키고 연산의 복잡도를 줄이기 위해, 관계식 (8)~(10) 및 (11)~(13)의 나눗셈은, 비트시프트 연산을 통해 수행될 수 있다. 예를 들어, U성분 및 V성분을 위한 상수 s_U 및 s_V가 각각 관계식 (14) 및 (15)에 따라 미리 정의될 수 있다.
s_U = (((2N- 1)<< CADR_BITS)+ (iRange_U >>1)) /iRange_U; ...(14)
s_V = (((2N- 1)<< CADR_BITS)+ (iRange_V >>1)) /iRange_V; ...(15)
크로마 U 성분의 픽셀값에 대한 컨텐트에 기반한 다이나믹 레인 변환식 (8), (9), (10) 중 (10)는 상수 s_U 및 비트연산을 이용하여, 아래 관계식 (16)으로 변형될 수 있다.
if(Org_U < OrgMin_U) OrgTransformed_U = 0; ...(8)
else if(Org_U > (OrgMin_U + iRange_U)) OrgTransformed_U = 2N- 1; ...(9)
else OrgTransformed_U =(s_U *(Org_U -OrgMin_U)+ OFFSET)>> CADR_BITS ...(16)
마찬가지로, 크로마 V 성분의 픽셀값에 대한 컨텐트에 기반한 다이나믹 레인지 변환식 (11), (12), (13) 중 (13)은, 상수 s_V 및 비트연산을 이용하여 아래 관계식 (17)로 변형될 수 있다.
if(Org_V < OrgMin_V) OrgTransformed_V = 0; ...(11)
else if(Org_V > (OrgMin_V + iRange_V)) OrgTransformed_V = 2N- 1; ...(12)
else OrgTransformed_V= (s_V *(Org_V -OrgMin_V)+ OFFSET)>> CADR_BITS ...(17)
컨텐트에 기반한 다이나믹 레인지 변환과 마찬가지로, 역변환 과정도 크로마 성분별로 수행될 수 있다. 전술된 컨텐트에 기반한 다이나믹 레인지 역변환식 (6) 및 (7)이 루마 성분에 대한 역변환식이었다고 하면, 이하 크로마 U성분 및 Y성분을 위한 컨텐트에 기반한 다이나믹 레인지 역변환식이 관계식 (18) 내지 (23)을 참조하여 기술된다.
관계식 (18) 및 (19)을 통해, 복호화를 거쳐 복원된 데이터의 U성분 픽셀값 Rec_U 및 V성분 픽셀값 Rec_V가 입력받아, 다이나믹 레인지가 역변환된 U성분 픽셀값 RecInvTransformed_U 및 역변환된 V성분 픽셀값 RecInvTransformed_V가 출력될 수 있다.
RecInvTransformed_U= Rec_U * iRange_U / (2N- 1)+ OrgMin_U; ...(18)
RecInvTransformed_V= Rec_V * iRange_V / (2N- 1)+ OrgMin_V; ...(19)
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지의 역변환식 (18) 및 (19)도 각각 비트시프트를 이용한 고속 연산식 (22) 및 (23)로 변경될 수 있다. 먼저, U성분 및 V성분의 역변환을 위한 상수 si_U 및 si_V가 각각 관계식 (20) 및 (21)에 따라 미리 정의될 수 있다.
si_U = ((iRange_U << CADR_BITS)+ ((2N- 1)>> 1))/ (2N- 1); ...(20)
si_V = ((iRange_V << CADR_BITS)+ ((2N- 1)>> 1))/ (2N- 1); ...(21)
상수 si_U 및 si_V를 이용하여, 크로마 U 성분 및 V성분의 픽셀값에 대한 컨텐트에 기반한 다이나믹 레인 역변환식 (18) 및 (19)는 각각 아래 관계식 (22) 및 (23)로 정의될 수 있다.
RecInvTransformed_U= (si_U* Rec_U+ (OrgMin_U<< CADR_BITS)+ OFFSET)>> CADR_BITS...(22)
RecInvTransformed_V= (si_V * Rec_V + (OrgMin_V << CADR_BITS)+ OFFSET)>> CADR_BITS...(23)
루마 성분에 대한 컨텐트에 기반한 다이나믹 레인지 변환 및 역변환과 마찬가지로, 크로마 성분의 픽셀값의 상한값 및 하한값 간의 범위 iRange_U 및 iRange_V은, 입력 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정될 수 있다.
크로마 성분에 대한 컨텐트에 기반한 다이나믹 레인지 변환에서도, 정확성의 향상을 위해 절삭 과정이 추가적으로 수행될 수 있다. 크로마 성분의 픽셀값의 대부분은, 루마 성분에 비해 훨씬 좁은 대역에 집중되어 있으므로, 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지 변환에 따라 다이나믹 레인지가 효과적으로 확장될 수 있으며, 이에 따라 정확한 예측 부호화가 도모될 수 있다.
도 4를 참고하여 전술한 바와 같이, 일 실시예에 따른 비디오 부호화 장치(100) 및 비디오 복호화 장치(200)는, 픽셀값의 비트뎁스가 내부적으로 확장된 데이터에 대해 컨텐츠에 기반하여 다이나믹 레인지가 변환된 데이터값을 이용하여 각종 프로세싱을 수행할 수 있다. 이 경우, 일 실시예에 따른 인트라 예측부(110) 및 인터 예측부(120)는, 확장된 비트뎁스 및 컨텐츠에 기반하여 다이나믹 레인지가 확장된 데이터를 이용하여 현재 프레임에 대한 인트라 예측 및 인터 예측을 수행할 수 있다.
또한, 일 실시예에 따른 영상 복원부(260)는, 복호화된 데이터의 다이나믹 레인지를 역변환하여 내부적으로 비트뎁스가 확장된 데이터를 복원하고, 확장된 비트뎁스의 데이터를 역변환하여 원본 다이나믹 레인지의 데이터로 복원할 수 있다. 또는 복호화된 데이터의 다이나믹 레인지 및 내부적으로 확장된 비트뎁스를 동시에 역변환하여 원본 다이나믹 레인지의 비디오 데이터를 복원할 수도 있다.
이하, 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지의 변환식 및 역변환식이 상술된다.
일 실시예에 따라 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지의 변환 과정은, 비트뎁스의 내부적 확장 과정 및 컨텐츠에 기반한 다이나믹 레인지의 변환 과정으로 이루어질 수 있다. 이 경우, 변환 후 총 비트뎁스 Nbits는, 관계식 (24)에 따라 컨텐트에 기반한 다이나믹 레인지 변환을 위한 BitDepth 및 확장된 비트증가량 BitIncrement의 합으로 결정될 수 있다.
Nbits = BitDepth + BitIncrement ...(24)
먼저, 원본 픽셀값 Org에 확장된 비트뎁스를 적용하여 내부적으로 비트뎁스가 확장된 데이터는 관계식(25)에 따라 출력될 수 있다.
Org = Org<< BitIncrement ...(25)
관계식 (25)에 따른 결과 Org는 내부적으로 확장된 비트뎁스의 데이터이므로, 상한값 OrgMax 및 하한값 OrgMin도 모두 내부적으로 확장된 비트뎁스의 데이터의 범위에서 결정될 수 있다.
내부적으로 비트뎁스가 확장된 픽셀값의 다이나믹 레인지를 확장한 결과 데이터는 아래 관계식 (26)에 따라 결정될 수 있다.
OrgTranformed = (Org - OrgMin)*(2BitDepth + BitIncrement - 1)/(OrgMax - OrgMin)
≒ (Org - OrgMin) * 2BitIncrement *2BitDepth/(OrgMax - OrgMin + 1)...(26)
이하 상수 RangeFast를 관계식 (27)에 따라 정의한다.
RangeFast = OrgMax - OrgMin + 1 ...(27)
일 실시예에 따라 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지의 변환을 위한 관계식 (25) 및 (26) 중 관계식 (26)을 비트연산을 이용한 관계식 (28)으로 변경할 수 있다.
Org = Org << BitIncrement ...(25)
OrgTranformed = (((Org - OrgMin) << BitIncrement) << BitDepth)/ RangeFast ...(28)
이상 관계식 (25)에 따른 비트뎁스의 내부적 확장 단계 및 관계식 (26) 또는 (28)에 따른 컨텐트에 기반한 다이나믹 레인지 변환 단계가 수행됨에 따라, 일 실시예에 따라 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지의 변환이 수행될 수 있다.
일 실시예에 따라 내부적으로 확장된 비트뎁스를 고려하여 컨텐츠에 기반하여 다이나믹 레인지가 변환된 데이터에 대해, 다이나믹 레인지 및 내부적으로 확장된 비트뎁스를 복원하기 위한 역변환 과정은, 다이나믹 레인지의 역변환(복원) 과정 및 내부적으로 확장된 비트뎁스의 복원 과정으로 이루어질 수 있다.
먼저, 다이나믹 레인지의 역변환 과정은 관계식 (29)에 따를 수 있다.
RecInvTransformed = ((Rec*RangeFast + CADR_OFFSET) >> BitDepth) + (OrgMin << BitIncrement); ...(29)
여기서 상수 CADR_OFFSET는 관계식 (30)에 따라 정의될 수 있다.
CADR_OFFSET = (1 << (BitDepth -1)) ...(30)
관계식 (29)에 따라 출력된 복원된 다이나믹 레인지의 데이터 RecInvTransformed는 아직 내부적으로 확장된 비트뎁스의 데이터이다. 따라서 관계식 (31)에 따라 비트뎁스가 원본 비트뎁스로 복원될 수 있다.
Rec= (RecInvTransformed + (1 << (BitIncrement-1)))>> BitIncrement ...(31)
이상, 관계식 (31)에 따른 출력 데이터 Rec가 복원된 다이나믹 레인지의 비디오 데이터일 수 있다.
내부적으로 비트뎁스가 확장되지 않은 경우에 대해서는, 전술된 관계식 (24) 내지 (31)에서 변수 BitIncrement가 0으로 설정되며, 변환 과정 중 관계식 (25) 및 역변환 과정 중 관계식 (31)이 생략될 수 있다.
관계식 (24) 내지 (31)에 따른 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지의 변환식 및 역변환식에 따라, 원본 데이터의 손실이 발생할 수 있으나, 손실 대비 고속 연산의 이점이 더 필요한 경우 유용할 수 있다.
이상, 일 실시예 따른 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지의 변환식 (25)~(28) 및 역변환식 (29)~(31)은, 루마 성분의 원본 픽셀값 Org 및 복원 픽셀값 Rec을 위한 예시적 관계식들이다. 크로마 성분의 비디오 데이터를 위한 일 실시예 따른 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지 변환 및 역변환이 수행될 수 있다.
크로마 성분을 위한 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지 변환에 있어서, 크로마 성분의 대부분의 데이터는, 오프셋 CADR_OFFSET(= 1 << (BitDepth - 1)) 근처의 좁은 대역에 집중된다. 이에 따라, 일 실시예에 따라 크로마 성분 U성분 및 V성분에 대한 내부적으로 확장된 비트뎁스를 고려한 컨텐츠에 기반한 다이나믹 레인지 변환을 위한 예시적 관계식은, 비트뎁스의 내부적 확장을 위한 관계식 (32) 및 (33) 및, 컨텐트에 기반한 다이나믹 레인지 변환을 위한 관계식 (34) 및 (35)에 따를 수 있다.
Org_U = Org_U << BitIncrement ...(32)
Org_V = Org_V << BitIncrement ...(33)
OrgTranformed_U = ((Org_U + CADR_OFFSET) << BitDepth)/ RangeFast + CADR_OFFSET ...(34)
OrgTranformed_V = ((Org_V + CADR_OFFSET) << BitDepth)/ RangeFast + CADR_OFFSET ...(35)
관계식 (34) 및 (35) 중 상수 RangeFast는, 루마 성분을 위한 다이나믹 레인지 변환 중 관계식 (27) 및 (28)의 상수 RangeFast로 그대로 이용될 수 있다. 이로 인해, 크로마 성분을 위한 추가적인 오버헤드가 최소화될 수 있다.
관계식 (32) 내지 (35)에 따라 일 실시예에 따라 크로마 성분 U성분 및 V성분의 데이터에 대해, 다이나믹 레인지 및 내부적으로 확장된 비트뎁스를 복원하기 위한 역변환 과정을 위한 예시적 관계식은, 컨텐트에 기반한 다이나믹 레인지 역변환을 위한 관계식 (36) 및 (37) 및, 내부적으로 확장된 비트뎁스의 복원을 위한 관계식 (38) 및 (39)에 따를 수 있다.
RecInvTransformed_U = (((Rec_U - (CADR_OFFSET << BitIncrement)) * RangeFast) >> BitDepth) + (CADR_OFFSET << BitIncrement) ...(36)
RecInvTransformed_V = (((Rec_V - (CADR_OFFSET << BitIncrement)) * RangeFast) >> BitDepth) + (CADR_OFFSET << BitIncrement) ...(37)
Rec_U = (RecInvTransformed_U + (1 << (Bit_Increment-1))) >> Bit_Increment ...(38)
Rec_V = (RecInvTransformed_V + (1 << (Bit_Increment-1))) >> Bit_Increment ...(39)
따라서, 좁은 대역에 집중되어 있는 크로마 성분에 대해, 비트뎁스를 내부적으로 확장하고, 컨텐트에 기반하여 다이나믹 레인지를 최대화함으로써 비디오 부호화시 크로마 성분의 데이터에 대한 정확한 예측이 가능할 수 있다. 또한, 비디오 복호화 시 최대화된 다이나믹 레인지에 기반하여 예측된 데이터를 이용함으로써, 비디오 데이터의 보다 정확한 복원이 가능하다.
도 23 는 일 실시예에 따라 비선형 함수에 기초하여 다이나믹 레인지가 변환된 데이터의 그래프를 도시한다.
전술한 바와 같이 본 발명의 다이나믹 레인지 변환 방식이 선형 함수에 기초한 매핑 관계에 한정되는 것은 아니므로, 비선형 함수가 이용될 수도 있다. 다만, 비선형 함수가 이용되는 경우 정확성이 향상되는 것에 비해 연산량의 부담이 더 커질 수 있으며, 율-왜곡 코스트가 나빠질 수 있다.
또한, 도 23에서 예시된, 구간별로 선형 함수이며 구간들이 연속적인 특성을 지닌 구간 선형(piece-wise linear) 함수에 기초한 매핑 관계가 이용될 수 있다. 도 23의 구간 비선형 함수의 가로축은 입력 픽셀의 최대 픽셀값 대비 현재 픽셀값을 나타내며, 세로축은 변환된 데이터의 최대값 대비 현재값을 나타낸다. 이러한 구간 비선형 함수가 원본 픽셀값의 누적식 분포 함수(cumulative distributioin function)에 근사하는 경우, 이에 기초한 다이나믹 레인지 변환은 보다 효과적일 수 있다. 또한, 구간별로 각각의 기울기가 일정하므로 구간별 율-왜곡 코스트가 결정될 수 있으며, 정확성의 향상과 함께 연산량의 부담도 경감될 수 있다.
도 6 은 본 발명의 일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법의 흐름도를 도시한다.
단계 61에서, 입력된 비디오 시퀀스의 프레임별 인트라 예측 및 인터 예측이 수행된다. 이 때, 입력 비디오의 컨텐트에 기반하여 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터를 이용하여, 현재 프레임에 대한 인트라 예측 및 인터 예측이 수행된다.
픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로, 현재 프레임의 픽셀값들이 확장되도록 변환된 다이나믹 레인지의 영상 데이터에 기초하여, 현재 프레임의 인트라 예측 및 인터 예측이 수행될 수 있다. 예를 들어, 현재 프레임의 픽셀값들 중 상한값보다 큰 값은 최대한계값에 대응하도록 변환되고, 현재 프레임의 픽셀값들 중 하한값보다 작은 값은 최소한계값에 대응하도록 변환되고, 현재 프레임의 픽셀값들 중 상한값 및 하한값 사이의 픽셀값들은 최대한계값 및 최소한계값 사이의 값에 일대일 대응하도록 변환될 수 있다.
현재 픽셀값 중 상한값보다 크거나 하한값보다 작은 픽셀값은 절삭될 수 있다. 상한값 및 하한값은 입력 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정될 수 있다.
현재 비트뎁스는, 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스일 수 있다.
단계 63에서, 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환이 수행되고, 주파수변환에 의해 생성된 변환 계수에 대해 양자화가 수행된다.
단계 65에서, 양자화된 변환 계수에 대해 엔트로피 부호화가 수행되고, 현재 프레임에 대한 부호화된 데이터를 포함하는 비트스트림이 출력된다. 또한, 다이나믹 레인지의 변환에 대한 정보가 부호화하여 전송될 수 있다. 예를 들어 다이나믹 레인지 변환에 대한 정보는, 입력 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함할 수 있다. 또한, 상한값에 대한 정보 대신에, 픽셀값의 최대한계값 및 최소한계값의 차이로부터 상한값을 뺀 값에 대한 정보로 표현함으로써 비트수가 절감될 수 있다.
도 7 는 본 발명의 일 실시예에 따른, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법의 흐름도를 도시한다.
단계 71에서, 수신된 비트스트림이 파싱되고, 비트스트림으로부터 원본 비디오의 현재 프레임의 부호화된 데이터가 추출된다. 원본 프레임의 다이나믹 레인지으로의 역변환을 위해, 영상 데이터에 대한 비트스트림과 함께 상한값 및 하한값에 대한 정보가 수신될 수 있다.
단계 73에서, 추출된 부호화된 데이터에 대해 엔트로피 복호화가 수행되어 데이터 심볼이 복원된다.
단계 75에서, 복원된 데이터 심볼에 대한 역양자화 및 역주파수변환이 수행되어 현재 프레임에 대한 레지듀얼 데이터가 복원된다. 그리고 복원된 레지듀얼 데이터에 대해 인트라 예측 및 움직임 보상이 수행되어 영상 데이터가 복원된다.
단계 77에서, 복원된 영상 데이터에 대해 디블로킹 필터링이 수행되고, 원본 비디오의 컨텐트에 기반하여 변환된 다이나믹 레인지를 복원함으로써, 현재 프레임이 복원된다. 예를 들어, 픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로 확장되어 있는 복원 픽셀값의 다이나믹 레인지는, 현재 프레임의 다이나믹 레인지로 복원될 수 있다.
복원 프레임의 다이나믹 레인지가 현재 프레임의 다이나믹 레인지로 복원되기 위해, 복원된 영상 데이터 중 최대한계값 및 최소한계값이 각각 현재 프레임의 픽셀값들 중 상한값 및 하한값에 대응하도록 복원될 수 있으며, 복원된 영상 데이터 중 최대한계값 및 최소한계값 사이의 값들은 상한값 및 하한값 사이의 값에 일대일 대응하도록 변환될 수도 있다.
복원된 다이나믹 레인지의 비트뎁스는, 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스일 수 있다. 이 경우, 비트뎁스를 원본 비디오의 비트뎁스로 복원될 수 있다.
원본 프레임의 다이나믹 레인지의 상한값 및 하한값은, 원본 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정되어 있을 수 있다.
일 실시예에 따른 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인 변환을 이용하는 비디오 부호화 방법 및 그 장치, 또는 일 실시예에 따른 컨텐트에 기반한 다이나믹 레인 변환을 이용하는 비디오 복호화 방법 및 그 장치에 따르면, 입력 영상의 다이나믹 레인지를 확장하여 인트라 예측 및 인터 예측 등의 영상 처리를 보다 세밀하게 수행할 수 있으므로, 부호화 및 복호화에 따른 영상 화질이 개선될 수 있다.
이하 도 8 내지 22를 참조하여, 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 및 복호화에 관한 다양한 실시예들이 개시된다.
도 8 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치의 블록도를 도시한다.
일 실시예에 따른 비디오 부호화 장치(80)는, 최대 부호화 단위 분할부(81), 다이나믹 레인지 변환된 영상 부호화부(83) 및 비트스트림 출력부(85)를 포함한다.
이하 설명의 편의를 위해, 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치(80)는, 일 실시예에 따른 비디오 부호화 장치(80)로 축약하여 지칭한다.
일 실시예에 따른 최대 부호화 단위 분할부(81)는, 영상의 현재 픽처를 위한 최대 크기의 부호화 단위인 최대 부호화 단위에 기반하여 현재 픽처를 구획할 수 있다. 현재 픽처가 최대 부호화 단위보다 크다면, 현재 픽처의 영상 데이터는 적어도 하나의 최대 부호화 단위로 분할될 수 있다. 최대 부호화 단위의 높이 및 너비를 계층적으로 분할할 수 있는 총 횟수를 제한하는 최대 심도 및 부호화 단위의 최대 크기가 미리 설정되어 있을 수 있다. 영상 데이터는 적어도 하나의 최대 부호화 단위별로, 다이나믹 레인지 변환된 영상 부호화부(83)로 출력될 수 있다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 현재 픽처가 소정 최대 크기의 부호화 단위로 분할된 각각의 최대 부호화 단위에 대하여, 영역별 계층적 부호화 단위별로 부호화를 수행한다. 일 실시예에 따른 영역별 계층적 부호화 단위별 부호화는, 심도가 깊어짐에 따라 최대 부호화 단위가 분할된 영역마다, 심도가 더 깊어짐에 따라 계층적으로 분할되는 심도별 부호화 단위에 대한 부호화를 뜻한다.
일 실시예에 따른 부호화 단위는 최대 크기 및 심도로 특징지어질 수 있다. 심도란 부호화 단위가 최대 부호화 단위로부터 계층적으로 분할되는 횟수에 따르는 지표이며, 심도가 깊어질수록 심도별 부호화 단위는 최대 부호화 단위로부터 최소 부호화 단위까지 분할될 수 있다. 최대 부호화 단위의 심도가 최상위 심도이며 최소 부호화 단위가 최하위 부호화 단위로 정의될 수 있다. 최대 부호화 단위는 심도가 깊어짐에 따라 심도별 부호화 단위의 크기는 감소하므로, 상위 심도의 부호화 단위는 복수 개의 하위 심도의 부호화 단위를 포함할 수 있다.
일 실시예에 따른 최대 심도는 최대 부호화 단위로부터 최소 부호화 단위까지의 분할 횟수와 관련된 지표이다. 일 실시예에 따른 제 1 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낼 수 있다. 일 실시예에 따른 제 2 최대 심도는 최대 부호화 단위로부터 최소 부호화 단위까지의 심도 레벨의 총개수를 나타낼 수 있다. 예를 들어, 최대 부호화 단위의 심도가 0이라고 할 때, 최대 부호화 단위가 1회 분할된 부호화 단위의 심도는 1, 2번 분할된 부호화 단위의 심도가 2로 설정될 수 있다. 이 경우, 최대 부호화 단위로부터 4회 분할된 부호화 단위가 최소 부호화 단위라면, 심도 0, 1, 2, 3 및 4의 심도 레벨이 존재하므로 일 실시예에 따른 최대 심도는 4, 다른 실시예에 따른 최대 심도는 5로 설정될 수 있다.
전술한 바와 같이 부호화 단위의 최대 크기에 따라, 현재 픽처의 영상 데이터를 최대 부호화 단위로 분할하며, 각각의 최대 부호화 단위는 심도별로 분할되는 부호화 단위들을 포함할 수 있다. 일 실시예에 따른 최대 부호화 단위는 심도별로 분할되므로, 최대 부호화 단위에 포함된 공간 영역(spatial domain)의 영상 데이터가 심도에 따라 계층적으로 분류될 수 있다. 심도별 부호화 단위에 대한 기술적 특징은 이하 도 10 내지 19를 참조하여 상술된다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 최대 부호화 단위의 적어도 하나의 심도별 부호화 단위에 기초하여 인트라 예측 및 인터 예측, 주파수변환 및 양자화를 수행할 수 있다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 현재 프레임의 다이나믹 레인지가 컨텐트에 기반하여 변환된 영상 데이터를 이용하여 현재 프레임에 대한 인트라 예측 및 인터 예측을 수행할 수 있다. 여기서 컨텐트에 기반한 다이나믹 레인지의 변환은 일 실시예에 따른 비디오 부호화부(100)를 통해 전술한 다이나믹 레인지의 변환에 대응된다.
일 실시예에 따르면, 픽셀값의 현재 비트 뎁스로 표현 가능한 최소한계값 내지 최대한계값의 범위로, 현재 픽처의 픽셀값들이 확장되도록 다이나믹 레인지가 변환될 수 있다. 이에 따라 일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 픽셀값의 최소한계값 내지 최대한계값의 범위로 다이나믹 레인지가 변환된 영상 데이터를 이용하여, 현재 픽처를 부호화할 수 있다.
따라서 현재 픽처의 다이나믹 레인지가 변환된 영상 데이터를 이용하여 현재프레임에 대한 인트라 예측 및 인터 예측이 각각 수행될 수 있다. 이 경우, 현재 픽처의 다이나믹 레인지는, 현재 픽처의 픽셀값들 중 상한값보다 큰 값은 최대한계값에 대응하도록 변환되고, 하한값보다 작은 값은 최소한계값에 대응하도록 변환되고, 상한값 및 하한값 사이의 픽셀값들은 최대한계값 및 최소한계값 사이의 값으로 일대일 대응하도록 변환될 수 있다.
현재 픽처의 픽셀값 중 상한값 및 하한값은, 각각 현재 픽처의 픽셀값들 중 극대값 및 극소값으로 결정될 수 있다. 또는 현재 픽처의 픽셀값 중 상한값 및 하한값이 별도로 설정되는 경우에는, 일 실시예에 따른 다이나믹 레인지 변환에 따라 현재 픽처 중 상한값보다 크거나 하한값보다 작은 현재 픽셀값은 절삭되는 결과가 유도될 수 있다.
일 실시예에 따르면, 입력 비디오의 픽처 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 상한값 및 하한값이 결정할 수 있다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(85)는, 입력 비디오의 컨텐트에 기반하여 다이나믹 레인지가 변환된 이전 픽처들에 대하여 인트라 예측 및 인터 예측을 수행하여 이전 픽처에 대한 레지듀얼 데이터를 출력할 수 있다. 이전 픽처에 대한 레지듀얼 데이터는, 주파수변환, 양자화, 역양자화, 역주파수변환 및 디블로킹 필터링을 통해 이전 픽처에 대한 복원 픽처로 복원될 수 있다.
일 실시예에 따라 다이나믹 레인지가 픽처마다 변환되는 경우, 이전 픽처들에 대한 복원 픽처들의 다이나믹 레인지는 일단 원본 다이나믹 레인지로 복원되고 현재 픽처의 다이나믹 레인지에 기초하여 재변환되는 것이 바람직하다. 이런 식으로 현재 픽처와 동일한 다이나믹 레인지에 기초하도록 생성된 복원 픽처를 참조하여 현재 픽처 인터 예측이 수행될 수 있다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 다이나믹 레인지가 변환된 현재 픽처의 주변 영역 정보를 이용하여 현재 픽처에 대한 인트라 예측을 수행할 수 있다.
일 실시예에 따른 비디오 부호화 장치(80)는, 입력 비디오의 부복호화 과정 내부적으로, 영상 픽셀값의 비트 뎁스를 확장하여 이용할 수 있다. 이에 따라 내부적으로 확장된 비트뎁스에 따른 영상 데이터의 다이나믹 레인지가 변환되고, 변환된 다이나믹 레인지의 영상 데이터를 이용하여 현재 픽처에 대한 인트라 예측 및 인터 예측이 수행될 수도 있다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하고, 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행한다.
일 실시예에 따른 비디오 부호화 장치(80)가 일 실시예에 따른 영역별 계층적 데이터 단위에 기반한 비디오 부호화 방식에 기초하는 경우, 일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 영역별 계층적 부호화 단위를 부호화하여 최종 부호화 결과가 출력될 심도를 결정한다. 즉 일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는, 현재 픽처의 최대 부호화 단위마다 심도별 부호화 단위로 영상 데이터를 부호화하여 가장 작은 부호화 오차가 발생하는 심도를 선택하여 부호화 심도로 결정할 수 있다. 적어도 하나의 부호화 심도마다, 해당 부호화 단위에 대한 부호화 모드가 결정될 수 있다. 결정된 부호화 심도 및 최대 부호화 단위별 영상 데이터는 비트스트림 출력부(85)로 출력된다.
최대 부호화 단위 내의 영상 데이터는 최대 심도 이하의 적어도 하나의 심도에 따라 심도별 부호화 단위에 기반하여 부호화되고, 각각의 심도별 부호화 단위에 기반한 부호화 결과가 비교된다. 심도별 부호화 단위의 부호화 오차의 비교 결과 부호화 오차가 가장 작은 심도가 선택될 수 있다. 각각의 최대화 부호화 단위마다 적어도 하나의 부호화 심도가 결정될 수 있다.
최대 부호화 단위의 크기는 심도가 깊어짐에 따라 부호화 단위가 계층적으로 분할되어 분할되며 부호화 단위의 개수는 증가한다. 또한, 하나의 최대 부호화 단위에 포함되는 동일한 심도의 부호화 단위들이라 하더라도, 각각의 데이터에 대한 부호화 오차를 측정하고 하위 심도로의 분할 여부가 결정된다. 따라서, 하나의 최대 부호화 단위에 포함되는 데이터라 하더라도 위치에 따라 심도별 부호화 오차가 다르므로 위치에 따라 부호화 심도가 달리 결정될 수 있다. 따라서, 하나의 최대 부호화 단위에 대해 부호화 심도가 하나 이상 설정될 수 있으며, 최대 부호화 단위의 데이터는 하나 이상의 부호화 심도의 부호화 단위에 따라 구획될 수 있다.
최대 부호화 단위의 예측 부호화 및 주파수변환이 수행될 수 있다. 예측 부호화 및 주파수변환도 마찬가지로, 최대 부호화 단위마다, 최대 심도 이하의 심도마다 심도별 부호화 단위를 기반으로 수행된다.
최대 부호화 단위가 심도별로 분할될 때마다 심도별 부호화 단위의 개수가 증가하므로, 심도가 깊어짐에 따라 생성되는 모든 심도별 부호화 단위에 대해 예측 부호화 및 주파수변환을 포함한 부호화가 수행되어야 한다. 이하 설명의 편의를 위해 적어도 하나의 최대 부호화 단위 중 현재 심도의 부호화 단위를 기반으로 예측 부호화 및 주파수변환을 설명하겠다.
일 실시예에 따른 비디오 부호화 장치(80)는, 영상 데이터의 부호화를 위한 데이터 단위의 크기 또는 형태를 다양하게 선택할 수 있다. 영상 데이터의 부호화를 위해서는 예측 부호화, 주파수변환, 엔트로피 부호화 등의 단계를 거치는데, 모든 단계에 걸쳐서 동일한 데이터 단위가 사용될 수도 있으며, 단계별로 데이터 단위가 변경될 수도 있다.
예를 들어 비디오 부호화 장치(80)는, 영상 데이터의 부호화를 위한 부호화 단위 뿐만 아니라, 부호화 단위의 영상 데이터의 예측 부호화를 수행하기 위해, 부호화 단위와 다른 데이터 단위를 선택할 수 있다.
최대 부호화 단위의 예측 부호화를 위해서는, 최대 부호화 단위의 심도별 부호화 단위의 부분적 데이터 단위를 기반으로 예측 부호화가 수행될 수 있다. 부호화 단위의 부분적 데이터 단위는, 부호화 단위 및 심도별 부호화 단위의 높이 및 너비 중 적어도 하나가 분할된 데이터 단위를 포함할 수 있다.
예를 들어, 부호화 단위의 크기가 2Nx2N(단, N은 양의 정수)인 경우, 부분적 데이터 단위의 크기는 2Nx2N, 2NxN, Nx2N, NxN 등일 수 있다. 부호화 단위의 높이 또는 너비 중 적어도 하나를 반분하는 형태의 데이터 단위 이외에도 다양하게 분할한 형태의 데이터 단위를 기반으로 예측 부호화가 수행될 수도 있다. 이하, 예측 부호화의 기반이 되는 데이터 단위는 '예측 단위'라고 지칭될 수 있다.
부호화 단위의 예측 모드는, 인트라 모드, 인터 모드 및 스킵 모드 중 적어도 하나일 수 있다. 예를 들어 인트라 모드 및 인터 모드는, 2Nx2N, 2NxN, Nx2N, NxN 크기의 예측 단위에 대해서 수행될 수 있다. 또한, 스킵 모드는 2Nx2N 크기의 예측 단위에 대해서만 수행될 수 있다. 부호화 단위 이내의 하나의 예측 단위마다 독립적으로 부호화가 수행되어 부호화 오차가 가장 작은 예측 모드가 선택될 수 있다.
또한, 일 실시예에 따른 비디오 부호화 장치(80)는, 영상 데이터의 부호화를 위한 부호화 단위 뿐만 아니라, 부호화 단위와 다른 데이터 단위를 기반으로 부호화 단위의 영상 데이터의 주파수변환을 수행할 수 있다.
부호화 단위의 주파수변환을 위해서는, 부호화 단위보다 작거나 같은 크기의 데이터 단위를 기반으로 주파수변환이 수행될 수 있다. 예를 들어, 주파수변환을 위한 데이터 단위는, 인트라 모드를 위한 데이터 단위 및 인터 모드를 위한 데이터 단위를 포함할 수 있다. 이하, 주파수변환의 기반이 되는 데이터 단위는 '변환 단위'라고 지칭될 수 있다.
부호화 심도별 부호화 정보는, 부호화 심도 뿐만 아니라 예측 관련 정보 및 주파수변환 관련 정보가 필요하다. 따라서, 일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는 최소 부호화 오차를 발생시킨 부호화 심도 뿐만 아니라, 부호화 심도의 부호화 단위를 예측 단위로 분할한 파티션 타입, 예측 단위별 예측 모드, 주파수변환을 위한 변환 단위의 크기 등을 결정할 수 있다.
일 실시예에 따른 다이나믹 레인지 변환된 영상 부호화부(83)는 심도별 부호화 단위의 부호화 오차를 라그랑지 곱(Lagrangian Multiplier) 기반의 율-왜곡 최적화 기법(Rate-Distortion Optimization)을 이용하여 측정할 수 있다.
일 실시예에 따른 비트스트림 출력부(85)는 부호화 심도 및 부호화 모드에 대한 정보 및 부호화된 영상 데이터를 포함하는 비트스트림을 출력할 수 있다. 일 실시예에 따른 비트스트림 출력부(85)는, 영역별 계층적 데이터 단위에 기반하여 결정된 부호화 심도 및 부호화 모드에 따른 부호화 결과인 부호화된 영상 데이터에 대해 엔트로피 부호화를 수행하고, 비트스트림 출력부(85)는 부호화 심도 및 부호화 모드에 대한 정보 및 부호화된 영상 데이터를 포함하는 비트스트림을 출력할 수 있다.
일 실시예에 따른 비트스트림 출력부(85)는, 다이나믹 레인지 변환된 영상 부호화부(85)에서 결정된 적어도 하나의 부호화 심도에 기초하여 부호화된 최대 부호화 단위의 영상 데이터 및 심도별 부호화 모드에 관한 정보를 비트스트림 형태로 출력한다. 다이나믹 레인지 변환된 영상 부호화부(85)에 의해 부호화된 영상 데이터는 엔트로피 부호화를 통해 비트스트림 형태로 변환된 후, 전송용 비트스트림에 삽입될 수 있다.
일 실시예에 따라 부호화된 영상 데이터는 영상의 레지듀얼 데이터의 부호화 결과일 수 있다. 일 실시예에 따른 심도별 부호화 모드에 관한 정보는, 부호화 심도 정보, 부호화 심도의 부호화 단위의 예측 단위의 파티션 타입 정보, 예측 단위별 예측 모드 정보, 변환 단위의 크기 정보 등을 포함할 수 있다.
부호화 심도 정보는, 현재 심도로 부호화하지 않고 하위 심도의 부호화 단위로 부호화할지 여부를 나타내는 심도별 분할 정보를 이용하여 정의될 수 있다. 현재 부호화 단위의 현재 심도가 부호화 심도라면, 현재 부호화 단위는 현재 심도의 부호화 단위로 부호화되므로 현재 심도의 분할 정보는 더 이상 하위 심도로 분할되지 않도록 정의될 수 있다. 반대로, 현재 부호화 단위의 현재 심도가 부호화 심도가 아니라면 하위 심도의 부호화 단위를 이용한 부호화를 시도해보아야 하므로, 현재 심도의 분할 정보는 하위 심도의 부호화 단위로 분할되도록 정의될 수 있다.
현재 심도가 부호화 심도가 아니라면, 하위 심도의 부호화 단위로 분할된 부호화 단위에 대해 부호화가 수행된다. 현재 심도의 부호화 단위 내에 하위 심도의 부호화 단위가 하나 이상 존재하므로, 각각의 하위 심도의 부호화 단위마다 반복적으로 부호화가 수행되어, 동일한 심도의 부호화 단위마다 재귀적(recursive) 부호화가 수행될 수 있다.
하나의 최대 부호화 단위 안에 적어도 하나의 부호화 심도가 결정되며 부호화 심도마다 적어도 하나의 부호화 모드에 관한 정보가 결정되어야 하므로, 하나의 최대 부호화 단위에 대해서는 적어도 하나의 부호화 모드에 관한 정보가 결정될 수 있다. 또한, 최대 부호화 단위의 데이터는 심도에 따라 계층적으로 구획되어 위치 별로 부호화 심도가 다를 수 있으므로, 데이터에 대해 부호화 심도 및 부호화 모드에 관한 정보가 설정될 수 있다.
현재 프레임 또는 현재 시퀀스 등 소정 범위의 비디오 단위 내에서 설정된 부호화 단위들, 예측 단위들 및 변환 단위들 중 가장 작은 크기의 정사각 데이터 단위가 '최소 단위'라 지칭될 수 있다. 일 실시예에 따른 비트스트림 출력부(85)는, 최대 부호화 단위에 포함되어 있는 최소 단위마다 해당 부호화 정보를 설정할 수 있다. 즉, 부호화 심도의 부호화 단위는 동일한 부호화 정보를 보유하고 있는 최소 단위를 하나 이상 포함하고 있다. 이를 이용하여, 인근 최소 단위들이 동일한 심도별 부호화 정보를 갖고 있다면, 동일한 최대 부호화 단위에 포함되는 최소 단위일 수 있다.
예를 들어 일 실시예에 따른 비트스트림 출력부(85)를 통해 출력되는 부호화 정보는, 심도별 부호화 단위별 부호화 정보와 예측 단위별 부호화 정보로 분류될 수 있다. 심도별 부호화 단위별 부호화 정보는, 예측 모드 정보, 파티션 크기 정보를 포함할 수 있다. 예측 단위별로 전송되는 부호화 정보는 인터 모드의 추정 방향에 관한 정보, 인터 모드의 참조 영상 인덱스에 관한 정보, 움직임 벡터에 관한 정보, 인트라 모드의 크로마 성분에 관한 정보, 인트라 모드의 보간 방식에 관한 정보 등을 포함할 수 있다. 또한, 픽처, 슬라이스 또는 GOP별로 정의되는 부호화 단위의 최대 크기에 관한 정보 및 최대 심도에 관한 정보는 비트스트림의 헤더에 삽입될 수 있다.
일 실시예에 따른 일 실시예에 따른 비트스트림 출력부(85)는 적응적 루프 필터링에 이용되는 필터 계수를 부호화하여 출력할 수 있다. 또한, 일 실시예에 따른 적응적 루프 필터링을 위해, 각각의 1차원 필터의 종류, 개수, 크기, 양자화 비트, 계수, 필터링 방향, 필터링 수행 여부 및 러닝 필터링 수행 여부 등이 설정될 수 있으므로, 루프 필터링의 1차원 필터 세트에 대한 정보가 부호화되어 전송될 수도 있다.
일 실시예에 따른 비디오 부호화 장치(80)의 가장 간단한 형태의 실시예에 따르면, 심도별 부호화 단위는 한 계층 상위 심도의 부호화 단위의 높이 및 너비를 반분한 크기의 부호화 단위이다. 즉, 현재 심도의 부호화 단위의 크기가 2Nx2N이라면, 하위 심도의 부호화 단위의 크기는 NxN 이다. 또한, 2Nx2N 크기의 현재 부호화 단위는 NxN 크기의 하위 심도 부호화 단위를 최대 4개 포함할 수 있다.
또한 일 실시예에 따른 비트스트림 출력부(85)는, 다이나믹 레인지 복원을 위한 다이나믹 레인지에 대한 정보를 부호화하여 전송용 비트스트림에 삽입될 수 있다. 일 실시예에 따른 비트스트림 출력부(85)는, 다이나믹 레인지 변환된 영상 부호화부(85)로부터 다이나믹 레인지 변환에 대한 부가 정보를 입력받아, 이를 부호화하여 비트스트림에 삽입할 수도 있다.
예를 들어, 다이나믹 레인지 변환에 대한 정보는, 현재 픽처의 부호화된 데이터를 포함하는 비트스트림의 시퀀스 파라미터 세트 또는 슬라이스 헤더에 삽입될 수 있다. 일 실시예에 따른 다이나믹 레인지 변환에 대한 정보는, 입력 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함할 수 있다. 비트수를 절약하기 위해 상한값에 대한 정보 대신에, '픽셀값의 최대한계값 및 최소한계값의 차이'로부터 상한값을 뺀 값이 부호화될 수 있다.
따라서, 일 실시예에 따른 비디오 부호화 장치(80)는 현재 픽처의 특성을 고려하여 결정된 최대 부호화 단위의 크기 및 최대 심도를 기반으로, 각각의 최대 부호화 단위마다 최적의 형태 및 크기의 부호화 단위를 결정할 수 있다. 또한, 각각의 최대 부호화 단위마다 다양한 예측 모드, 주파수변환 방식 등으로 부호화할 수 있으므로, 다양한 영상 크기의 부호화 단위의 영상 특성을 고려하여 최적의 부호화 모드가 결정될 수 있다.
따라서, 영상의 해상도가 매우 높거나 데이터량이 매우 큰 영상을 기존 매크로블록 단위로 부호화한다면, 픽처당 매크로블록의 수가 과도하게 많아진다. 이에 따라, 매크로블록마다 생성되는 압축 정보도 많아지므로 압축 정보의 전송 부담이 커지고 데이터 압축 효율이 감소하는 경향이 있다. 따라서, 일 실시예에 따른 비디오 부호화 장치는, 영상의 크기를 고려하여 부호화 단위의 최대 크기를 증가시키면서, 영상 특성을 고려하여 부호화 단위를 조절할 수 있으므로, 영상 압축 효율이 증대될 수 있다.
또한 일 실시예에 따라 컨텐트에 기반하여 다이나믹 레인지가 확장된 영상 데이터를 이용하여, 부호화 단위별로 인트라 예측 및 인터 예측 등의 영상 처리가 보다 세밀하게 수행될 수 있으므로, 부호화 및 복호화에 따른 영상 화질이 개선될 수 있다.
도 9 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치의 블록도를 도시한다.
일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치(90)는, 수신부(91), 부호화된 데이터, 부호화 정보 및 다이나믹 레인지 정보 추출부(93), 영상 데이터 복호화부(95) 및 다이나믹 레인지 복원된 영상 복원부(97)를 포함한다. 이하 편의를 위해, 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치(90)는 일 실시예에 따른 비디오 복호화 장치(90)로 축약하고, 일 실시예에 따른 부호화된 데이터, 부호화 정보 및 다이나믹 레인지 정보 추출부(93)는 일 실시예에 따른 정보 추출부(93)으로 축약하고, 일 실시예에 따른 다이나믹 레인지 복원된 영상 복원부(97)는 일 실시예에 따른 영상 복원부(97)로 축약하여 지칭한다.
일 실시예에 따른 비디오 복호화 장치(90)의 각종 프로세싱을 위한 부호화 단위, 심도, 예측 단위, 변환 단위, 각종 부호화 모드에 관한 정보 등 각종 용어의 정의는, 도 8 및 일 실시예에 따른 비디오 부호화 장치(80)를 참조하여 전술한 바와 동일하다.
일 실시예에 따른 수신부(91)는 부호화된 비디오에 대한 비트스트림을 수신하여 파싱하고, 일 실시예에 따른 정보 추출부(93)는 파싱된 비트스트림으로부터 비트스트림으로부터 부호화된 데이터, 부호화 정보 및 다이나믹 레인지 정보를 추출한다. 추출된 부호화된 데이터 및 부호화 정보는 영상 데이터 복호화부(95)로 출력된다. 다이나믹 레인지 정보는 일 실시예에 따른 영상 복원부(97)로 출력될 수 있다.
일 실시예에 따른 정보 추출부(93)는 현재 픽처에 대한 헤더로부터 현재 픽처의 부호화 단위의 최대 크기에 관한 정보를 추출할 수 있다.
또한, 일 실시예에 따른 정보 추출부(93)는 파싱된 비트스트림으로부터 최대 부호화 단위별 부호화 심도 및 부호화 모드에 관한 정보를 추출한다. 추출된 부호화 심도 및 부호화 모드에 관한 정보는 영상 데이터 복호화부(95)로 출력된다. 즉, 비트열의 영상 데이터를 최대 부호화 단위로 분할하여, 영상 데이터 복호화부(95)가 최대 부호화 단위마다 영상 데이터를 복호화하도록 할 수 있다.
최대 부호화 단위별 부호화 심도 및 부호화 모드에 관한 정보는, 하나 이상의 부호화 심도 정보에 대해 설정될 수 있으며, 부호화 심도별 부호화 모드에 관한 정보는, 부호화 단위별 예측 단위의 파티션 타입 정보, 예측 모드 정보 및 변환 단위의 크기 정보 등을 포함할 수 있다. 또한, 부호화 심도 정보로서, 심도별 분할 정보가 추출될 수도 있다.
일 실시예에 따른 정보 추출부(93)가 추출한 최대 부호화 단위별 부호화 심도 및 부호화 모드에 관한 정보는, 일 실시예에 따른 비디오 부호화 장치(80)와 같은 부호화단에서, 최대 부호화 단위별 심도별 부호화 단위마다 반복적으로 부호화를 수행하여 최소 부호화 오차를 발생시키는 것으로 결정된 부호화 심도 및 부호화 모드에 관한 정보이다. 따라서, 일 실시예에 따른 비디오 복호화 장치(90)는 최소 부호화 오차를 발생시키도록 부호화된 데이터를 복호화하여, 그에 상응하는 부호화 방식에 따라 원본 영상을 복원할 수 있다.
일 실시예에 따른 정보 추출부(93)는 최소 단위별로 부호화 심도 및 부호화 모드에 관한 정보를 추출할 수 있다. 최소 단위별로, 해당 최대 부호화 단위의 부호화 심도 및 부호화 모드에 관한 정보가 기록되어 있다면, 동일한 부호화 심도 및 부호화 모드에 관한 정보를 갖고 있는 최소 단위들은 동일한 최대 부호화 단위에 포함되는 데이터 단위로 유추될 수 있다. 즉, 동일한 정보의 최소 단위를 모아 복호화하면, 부호화 오차가 가장 작은 부호화 심도의 부호화 단위를 기반으로 한 복호화가 가능하다.
일 실시예에 따른 영상 데이터 복호화부(95)는 최대 부호화 단위별 부호화 심도 및 부호화 모드에 관한 정보에 기초하여 각각의 최대 부호화 단위의 영상 데이터를 복호화한다. 최대 부호화 단위별 부호화 심도 정보에 기초하여, 일 실시예에 따른 영상 데이터 복호화부(95)는 적어도 하나의 부호화 심도의 부호화 단위마다 영상 데이터를 복호화할 수 있다. 복호화 과정은 인트라 예측 및 움직임 보상을 포함하는 예측 과정, 및 역주파수변환 과정을 포함할 수 있다.
일 실시예에 따른 영상 데이터 복호화부(95)는, 부호화 단위별 예측 부호화를 위해, 부호화 심도별 부호화 단위의 예측 단위의 파티션 타입 정보 및 예측 모드 정보에 기초하여, 부호화 단위마다 각각의 예측 단위 및 예측 모드로 인트라 예측 또는 움직임 보상을 수행할 수 있다.
또한, 일 실시예에 따른 영상 데이터 복호화부(95)는, 최대 부호화 단위별 역주파수변환을 위해, 부호화 심도별 부호화 단위의 변환 단위의 크기 정보에 기초하여, 부호화 단위마다 각각의 변환 단위로 역주파수변환을 수행할 수 있다.
일 실시예에 따른 영상 데이터 복호화부(95)는 심도별 분할 정보를 이용하는 현재 최대 부호화 단위의 부호화 심도를 결정할 수 있다. 만약, 분할 정보가 현재 심도로 복호화할 것을 나타내고 있다면 현재 심도가 부호화 심도이다. 따라서, 일 실시예에 따른 복호화부(95)는 현재 최대 부호화 단위의 영상 데이터에 대해 현재 심도의 부호화 단위를 예측 단위의 파티션 타입, 예측 모드 및 변환 단위 크기 정보를 이용하여 복호화할 수 있다.
즉, 최소 단위에 대해 설정되어 있는 부호화 정보를 해석하여, 동일한 분할 정보를 포함한 부호화 정보를 보유하고 있는 최소 단위를 모아, 하나의 데이터 단위로 복호화할 수 있다.
일 실시예에 따른 영상 데이터 복호화부(95)에 의해 심도별 부호화 단위에 기초하여 복호화된 영상 데이터들은, 일 실시예에 따른 영상 복원부(97)로 입력될 수 있다. 일 실시예에 따른 영상 복원부(97)는, 복호화된 영상 데이터들을 최대 부호화 단위별로 복원하여 현재 픽처를 복원할 수 있다. 현재 픽처의 복원 화질을 향상시키기 위해, 디블로킹 필터링, 적응적 루프 필터링 등의 인루프 필터링이 수행될 수 있다.
또한, 일 실시예에 따른 컨텐트에 기반하여 변환된 다이나믹 레인에 기반하여 부호화된 영상 데이터가 복호화된 경우라면, 일 실시예에 따른 영상 복원부(97)는, 일 실시예에 따른 정보 추출부(93)에 의해 추출된 다이나믹 레인지 정보를 이용하여, 현재 픽처의 원본 다이나믹 레인지를 복원할 수 있다.
일 실시예에 따른 정보 추출부(93)에 의해 추출된 다이나믹 레인지 정보는, 현재 픽처의 다이나믹 레인지의 변환에 대한 정보를 포함할 수 있다. 예를 들어 일 실시예에 따라 수신된 다이나믹 레인지의 변환에 대한 정보는, 원본 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함할 수 있다. 추출된 정보 중 상한값에 대한 정보 대신에, 픽셀값의 최대한계값 및 최소한계값의 차이로부터 상한값을 뺀 값에 대한 정보가 포함되어 있을 수 있다.
또한, 현재 프레임의 상한값 및 하한값이 설정된 데이터 단위에 대한 정보도 함께 수신될 수 있다. 예를 들어 현재 프레임의 상한값 및 하한값은, 각각 원본 비디오의 영상 시퀀스, 픽처, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 설정되어 있을 수 있다.
일 실시예에 따른 영상 복원부(97)는, 복호화, 루프 필터링 등에 의해 복원된 영상 데이터에 대해, 픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로 확장되어 있는 복원 픽셀값을, 현재 프레임의 다이나믹 레인지로 복원할 수 있다.
일 실시예에 따른 영상 복원부(97)는, 복원 픽셀값들 중 최대한계값 및 최소한계값을, 각각 현재 프레임의 픽셀값들 중 상한값 및 하한값에 대응하도록 복원하고, 최대한계값 및 최소한계값 사이의 값들을 상한값 및 하한값 사이의 값에 일대일 대응하도록 변환할 수 있다. 현재 프레임의 상한값 및 하한값의 일례는, 각각 현재 프레임의 픽셀값들 중 극대값 및 극소값일 수 있다.
일 실시예에 따른 영상 복원부(97)는, 최대한계값 및 최소한계값 사이의 값들에 대하여, 현재 복원된 데이터 값과 '상한값 및 하한값의 차이'의 곱을, '최대한계값 및 최소한계값의 차이'로 나눈 값에 하한값을 더한 값이, 일대일 대응되도록 변환할 수 있다. 일 실시예에 따른 영상 복원부(97)는, 현재 비트뎁스를 이용한 비트시프트에 의한 연산을 이용해, 최대한계값 및 최소한계값 사이의 값들에 대하여 일대일 대응되는 픽셀값을 연산하여 출력할 수 있다. 일 실시예에 따른 현재 비트뎁스는, 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스일 수도 있다.
일 실시예에 따른 영상 복원부(97)에 의해 복원된 현재 프레임의 픽셀값은, 대응되는 원본 영상의 상한값 이상의 픽셀값 및 하한값 이하의 픽셀값은 절삭된 결과값일 수 있다.
일 실시예에 따른 영상 데이터 복호화부(95)는, 원본 비디오의 이전 픽처에 대한 복원 픽처들을 참조하여, 현재 픽처에 대한 움직임 보상을 수행할 수 있다. 만일 픽처 단위로 다이나믹 레인지 변환에 대한 정보가 설정된 경우라면, 일 실시예에 따른 영상 데이터 복호화부(95)는, 일 실시예에 따른 영상 복원부(97)로부터 이전 픽처들에 대한 복원 픽처들을 수신하고, 복원 픽처들의 다이나믹 레인지를 현재 픽처의 변환된 다이나믹 레인지에 기초하여 재변환함으로써, 동일하게 확장된 다이나믹 레인지에 기반하는 복원 픽처를 참조하여 현재 픽처의 움직임 보상을 수행할 수 있다.
일 실시예에 따른 비디오 복호화 장치(90)는, 부호화 과정에서 최대 부호화 단위마다 재귀적으로 부호화를 수행하여 최소 부호화 오차를 발생시킨 부호화 단위에 대한 정보를 획득하여, 이를 이용하여 현재 픽처에 대한 복호화를 수행할 수 있다. 즉, 최대 부호화 단위마다 최적 부호화 단위로 영상 데이터의 복호화가 가능해진다. 또한, 다이나믹 레인지가 변환되어 부호화된 영상 데이터에 대한 복호화인 경우, 수신된 다이나믹 레인지 변환에 관한 정보를 이용하여 원본 픽처의 다이나믹 레인지가 복원되므로, 부호화 단위별로 보다 세밀한 인트라 예측 및 인터 예측을 통해 부호화된 데이터를 최대 부호화 단위마다 최적 부호화 단위로 복호화할 수 있다.
이하 도 10 내지 20을 참조하여, 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 및 복호화를 위해, 영역별 계층적 데이터 단위에 대해 상술된다.
도 10 은 본 발명의 일 실시예에 따른 부호화 단위의 개념을 도시한다.
부호화 단위의 예는, 너비x높이가 64x64인 부호화 단위부터, 32x32, 16x16, 8x8, 및 4x4를 포함할 수 있다. 정사각형 형태의 부호화 단위 이외에도, 너비x높이가 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, 4x8인 부호화 단위들이 존재할 수 있다.
비디오 데이터(310)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 2로 설정되어 있다. 비디오 데이터(320)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 4로 설정되어 있다. 비디오 데이터(330)에 대해서는, 해상도는 352x288, 부호화 단위의 최대 크기는 16, 최대 심도가 2로 설정되어 있다. 도 10에 도시된 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낸다.
해상도가 높거나 데이터량이 많은 경우 부호화 효율의 향상 뿐만 아니라 영상 특성을 정확히 반형하기 위해 부호화 사이즈의 최대 크기가 상대적으로 큰 것이 바람직하다. 따라서, 비디오 데이터(330)에 비해, 해상도가 높은 비디오 데이터(310, 320)는 부호화 사이즈의 최대 크기가 64로 선택될 수 있다.
최대 심도는 계층적 부호화 단위에서 총 계층수를 나타낸다. 따라서, 비디오 데이터(310)의 최대 심도는 2이므로, 비디오 데이터(310)의 부호화 단위(315)는 장축 크기가 64인 최대 부호화 단위로부터, 심도가 두 계층 깊어져서 장축 크기가 32, 16인 부호화 단위들까지 포함할 수 있다. 반면, 비디오 데이터(330)의 최대 심도는 2이므로, 비디오 데이터(330)의 부호화 단위(335)는 장축 크기가 16인 부호화 단위들로부터, 심도가 두 계층 깊어져서 장축 크기가 8, 4인 부호화 단위들까지 포함할 수 있다.
비디오 데이터(320)의 최대 심도는 4이므로, 비디오 데이터(320)의 부호화 단위(325)는 장축 크기가 64인 최대 부호화 단위로부터, 심도가 네 계층 깊어져서 장축 크기가 32, 16, 8, 4인 부호화 단위들까지 포함할 수 있다. 심도가 깊어질수록 세부 정보의 표현능력이 향상될 수 있다.
도 11 는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부의 블록도를 도시한다.
일 실시예에 따른 영상 부호화부(400)는, 일 실시예에 따른 비디오 부호화 장치(80)의 다이나믹 레인지 조정된 영상 부호화부(83)에서 영상 데이터를 부호화하는데 거치는 작업들을 포함한다. 즉, 인트라 예측부(410)는 현재 프레임(405) 중 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 추정부(420) 및 움직임 보상부(425)는 인터 모드의 현재 프레임(405) 및 참조 프레임(495)를 이용하여 인터 추정 및 움직임 보상을 수행한다.
인트라 예측부(410), 움직임 추정부(420) 및 움직임 보상부(425)로부터 출력된 데이터는 주파수변환부(430) 및 양자화부(440)를 거쳐 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화부(460), 역주파수변환부(470)을 통해 공간 영역의 데이터로 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(480) 및 루프 필터링부(490)를 거쳐 후처리되어 참조 프레임(495)으로 출력된다. 양자화된 변환 계수는 엔트로피 부호화부(450)를 거쳐 비트스트림(455)으로 출력될 수 있다.
일 실시예에 따른 비디오 부호화 장치(80)에 적용되기 위해서는, 영상 부호화부(400)의 구성 요소들인 인트라 예측부(410), 움직임 추정부(420), 움직임 보상부(425), 주파수변환부(430), 양자화부(440), 엔트로피 부호화부(450), 역양자화부(460), 역주파수변환부(470), 디블로킹부(480) 및 루프 필터링부(490)가 모두, 최대 부호화 단위마다 최대 심도를 고려한 심도별 부호화 단위에 기반하여 작업을 수행하여야 한다.
특히, 인트라 예측부(410), 움직임 추정부(420) 및 움직임 보상부(425)는 부호화 단위의 최대 크기 및 심도를 고려하여 부호화 단위 내의 예측 단위 및 예측 모드를 결정하며, 주파수변환부(430)는 부호화 단위의 최대 크기 및 심도를 고려하여 변환 단위의 크기를 고려하여야 한다.
도 12 는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부의 블록도를 도시한다.
비트스트림(505)이 파싱부(510)를 거쳐 복호화 대상인 부호화된 비디오 데이터 및 복호화를 위해 필요한 부호화에 관한 정보가 파싱된다. 부호화된 비디오 데이터는 엔트로피 복호화부(520) 및 역양자화부(530)를 거쳐 역양자화된 데이터로 출력되고, 역주파수변환부(540)를 거쳐 공간 영역의 영상 데이터가 복원된다.
공간 영역의 영상 데이터에 대해서, 인트라 예측부(550)는 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 보상부(560)는 참조 프레임(585)를 함께 이용하여 인터 모드의 부호화 단위에 대해 움직임 보상을 수행한다.
인트라 예측부(550) 및 움직임 보상부(560)를 거친 공간 영역의 데이터는 디블로킹부(570) 및 루프 필터링부(580)를 거쳐 후처리되어 복원 프레임(595)으로 출력될 수 있다. 또한, 디블로킹부(570) 및 루프 필터링부(580)를 거쳐 후처리된 데이터는 참조 프레임(585)으로서 출력될 수 있다.
일 실시예에 따른 비디오 복호화 장치(90)의 영상 데이터 복호화부(95)에서 영상 데이터를 복호화하기 위해, 일 실시예에 따른 영상 복호화부(500)의 파싱부(510) 이후의 단계별 작업들이 수행될 수 있다.
일 실시예에 따른 비디오 복호화 장치(90)에 적용되기 위해서는, 영상 복호화부(500)의 구성 요소들인 파싱부(510), 엔트로피 복호화부(520), 역양자화부(530), 역주파수변환부(540), 인트라 예측부(550), 움직임 보상부(560), 디블로킹부(570) 및 루프 필터링부(580)가 모두, 최대 부호화 단위마다 부호화 심도의 부호화 단위에 기반하여 작업을 수행하여야 한다.
특히, 인트라 예측부(550), 움직임 보상부(560)는 부호화 단위의 최대 크기 및 심도를 고려하여 부호화 단위 및 예측 모드를 결정하며, 역주파수변환부(540)는 부호화 단위의 최대 크기 및 심도를 고려하여 변환 단위의 크기를 고려하여야 한다.
도 13 는 본 발명의 일 실시예에 따른 심도별 부호화 단위 및 예측 단위를 도시한다.
일 실시예에 따른 비디오 부호화 장치(80) 및 일 실시예에 따른 비디오 복호화 장치(90)는 영상 특성을 고려하기 위해 계층적인 부호화 단위를 사용한다. 부호화 단위의 최대 높이 및 너비, 최대 심도는 영상의 특성에 따라 적응적으로 결정될 수도 있으며, 사용자의 요구에 따라 다양하게 설정될 수도 있다. 미리 설정된 부호화 단위의 최대 크기에 따라, 심도별 부호화 단위의 크기가 결정될 수 있다.
일 실시예에 따른 부호화 단위의 계층 구조(600)는 부호화 단위의 최대 높이 및 너비가 64이며, 최대 심도가 5인 경우를 도시하고 있다. 도 13에 도시된 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 심도 레벨의 총 개수를 나타낸다.
일 실시예에 따른 부호화 단위의 계층 구조(600)의 세로축을 따라서 심도가 깊어지므로 심도별 부호화 단위의 높이 및 너비가 각각 분할한다. 또한, 부호화 단위의 계층 구조(600)의 가로축을 따라, 각각의 심도별 부호화 단위의 예측 부호화의 기반이 되는 부분적 데이터 단위인 예측 단위가 도시되어 있다.
즉, 부호화 단위(610)는 부호화 단위의 계층 구조(600) 중 최대 부호화 단위로서 심도가 0이며, 부호화 단위의 크기, 즉 높이 및 너비가 64x64이다. 세로축을 따라 심도가 깊어지며, 크기 32x32인 심도 1의 부호화 단위(620), 크기 16x16인 심도 2의 부호화 단위(630), 크기 8x8인 심도 3의 부호화 단위(640), 크기 4x4인 심도 4의 부호화 단위(650)가 존재한다. 크기 4x4인 심도 4의 부호화 단위(650)는 최소 부호화 단위이다.
각각의 심도별로 가로축을 따라, 부호화 단위의 예측 단위로서, 부분적 데이터 단위들이 배열된다. 즉, 심도 0의 크기 64x64의 부호화 단위(610)의 예측 단위는, 크기 64x64의 부호화 단위(610)에 포함되는 크기 64x64의 부분적 데이터 단위(610), 크기 64x32의 부분적 데이터 단위들(612), 크기 32x64의 부분적 데이터 단위들(614), 크기 32x32의 부분적 데이터 단위들(616)일 수 있다. 반대로 보면, 부호화 단위는 예측 단위들(610, 612, 614, 616)을 포함하는 최소 크기의 정사각형의 데이터 단위일 수 있다.
마찬가지로, 심도 1의 크기 32x32의 부호화 단위(620)의 예측 단위는, 크기 32x32의 부호화 단위(620)에 포함되는 크기 32x32의 부분적 데이터 단위(620), 크기 32x16의 부분적 데이터 단위들(622), 크기 16x32의 부분적 데이터 단위들(624), 크기 16x16의 부분적 데이터 단위들(626)일 수 있다.
마찬가지로, 심도 2의 크기 16x16의 부호화 단위(630)의 예측 단위는, 크기 16x16의 부호화 단위(630)에 포함되는 크기 16x16의 부분적 데이터 단위(630), 크기 16x8의 부분적 데이터 단위들(632), 크기 8x16의 부분적 데이터 단위들(634), 크기 8x8의 부분적 데이터 단위들(636)일 수 있다.
마찬가지로, 심도 3의 크기 8x8의 부호화 단위(640)의 예측 단위는, 크기 8x8의 부호화 단위(640)에 포함되는 크기 8x8의 부분적 데이터 단위(640), 크기 8x4의 부분적 데이터 단위들(642), 크기 4x8의 부분적 데이터 단위들(644), 크기 4x4의 부분적 데이터 단위들(646)일 수 있다.
마지막으로, 심도 4의 크기 4x4의 부호화 단위(650)는 최소 부호화 단위이며 최하위 심도의 부호화 단위이고, 크기 4x4의 부호화 단위(650)의 예측 단위는, 크기 4x4의 부분적 데이터 단위(650), 크기 4x2의 부분적 데이터 단위들(652), 크기 2x4의 부분적 데이터 단위들(654), 크기 2x2의 부분적 데이터 단위들(656)일 수 있다.
일 실시예에 따른 비디오 부호화 장치(80)의 부호화 심도 및 부호화 모드 결정부(83)는, 최대 부호화 단위(610)의 부호화 심도를 결정하기 위해, 최대 부호화 단위(610)에 포함되는 각각의 심도의 부호화 단위마다 부호화를 수행하여야 한다.
동일한 범위 및 크기의 데이터를 포함하기 위한 심도별 부호화 단위의 개수는, 심도가 깊어질수록 심도별 부호화 단위의 개수도 증가한다. 예를 들어, 심도 1의 부호화 단위 한 개가 포함하는 데이터에 대해서, 심도 2의 부호화 단위는 네 개가 필요하다. 따라서, 동일한 데이터의 부호화 결과를 심도별로 비교하기 위해서, 한 개의 심도 1의 부호화 단위 및 네 개의 심도 2의 부호화 단위를 이용하여 각각 부호화되어야 한다.
각각의 심도별 부호화를 위해서는, 부호화 단위의 계층 구조(600)의 가로축을 따라, 심도별 부호화 단위의 예측 단위들마다 부호화를 수행하여, 해당 심도에서 가장 작은 부호화 오차인 대표 부호화 오차가 선택될 수다. 또한, 부호화 단위의 계층 구조(600)의 세로축을 따라 심도가 깊어지며, 각각의 심도마다 부호화를 수행하여, 심도별 대표 부호화 오차를 비교하여 최소 부호화 오차가 검색될 수 있다. 최대 부호화 단위(610) 중 최소 부호화 오차가 발생하는 심도가 최대 부호화 단위(610)의 부호화 심도 및 파티션 타입으로 선택될 수 있다.
도 14 은 본 발명의 일 실시예에 따른, 부호화 단위 및 변환 단위의 관계를 도시한다.
일 실시예에 따른 비디오 부호화 장치(80) 또는 일 실시예에 따른 비디오 복호화 장치(90)는, 최대 부호화 단위마다 최대 부호화 단위보다 작거나 같은 크기의 부호화 단위로 영상을 부호화하거나 복호화한다. 부호화 과정 중 주파수변환을 위한 변환 단위의 크기는 각각의 부호화 단위보다 크지 않은 데이터 단위를 기반으로 선택될 수 있다.
예를 들어, 일 실시예에 따른 비디오 부호화 장치(80) 또는 일 실시예에 따른 비디오 복호화 장치(90)에서, 현재 부호화 단위(710)가 64x64 크기일 때, 32x32 크기의 변환 단위(720)를 이용하여 주파수변환이 수행될 수 있다.
또한, 64x64 크기의 부호화 단위(710)의 데이터를 64x64 크기 이하의 32x32, 16x16, 8x8, 4x4 크기의 변환 단위들로 각각 주파수변환을 수행하여 부호화한 후, 원본과의 오차가 가장 적은 변환 단위가 선택될 수 있다.
도 15 은 본 발명의 일 실시예에 따라, 심도별 부호화 정보들을 도시한다.
일 실시예에 따른 비디오 부호화 장치(80)의 부호화 정보 부호화부는 부호화 모드에 관한 정보로서, 각각의 부호화 심도의 부호화 단위마다 파티션 타입에 관한 정보(800), 예측 모드에 관한 정보(810), 변환 단위 크기에 대한 정보(820)를 부호화하여 전송할 수 있다.
파티션 타입에 대한 정보(800)는, 현재 부호화 단위의 예측 부호화를 위해 예측 단위로서, 현재 부호화 단위가 분할된 타입에 대한 정보를 나타낸다. 예를 들어, 심도 0 및 크기 2Nx2N의 현재 부호화 단위 CU_0는, 크기 2Nx2N의 예측 단위(802), 크기 2NxN의 예측 단위(804), 크기 Nx2N의 예측 단위(806), 크기 NxN의 예측 단위(808) 중 어느 하나의 타입으로 분할되어 예측 단위로 이용될 수 있다. 이 경우 현재 부호화 단위의 파티션 타입에 관한 정보(800)는 크기 2Nx2N의 예측 단위(802), 크기 2NxN의 예측 단위(804), 크기 Nx2N의 예측 단위(806) 및 크기 NxN의 예측 단위(808) 중 하나를 나타내도록 설정된다.
예측 모드에 관한 정보(810)는, 각각의 예측 단위의 예측 모드를 나타낸다. 예를 들어 예측 모드에 관한 정보(810)를 통해, 파티션 타입에 관한 정보(800)가 가리키는 예측 단위가 인트라 모드(812), 인터 모드(814) 및 스킵 모드(816) 중 하나로 예측 부호화가 수행되는지 여부가 설정될 수 있다.
또한, 변환 단위 크기에 관한 정보(820)는 현재 부호화 단위를 어떠한 변환 단위를 기반으로 주파수변환을 수행할지 여부를 나타낸다. 예를 들어, 변환 단위는 제 1 인트라 변환 단위 크기(822), 제 2 인트라 변환 단위 크기(824), 제 1 인터 변환 단위 크기(826), 제 2 인트라 변환 단위 크기(828) 중 하나일 수 있다.
일 실시예에 따른 비디오 복호화 장치(90)의 정보 추출부(93)는, 각각의 심도별 부호화 단위마다 파티션 타입에 관한 정보(800), 예측 모드에 관한 정보(810), 변환 단위 크기에 대한 정보(820)를 추출하여 복호화에 이용할 수 있다.
도 16 는 본 발명의 일 실시예에 따른 심도별 부호화 단위를 도시한다.
심도의 변화를 나타내기 위해 분할 정보가 이용될 수 있다. 분할 정보는 현재 심도의 부호화 단위가 하위 심도의 부호화 단위로 분할될지 여부를 나타낸다.
심도 0 및 2N_0x2N_0 크기의 부호화 단위의 예측 부호화를 위한 예측 단위(910)는 2N_0x2N_0 크기의 파티션 타입(912), 2N_0xN_0 크기의 파티션 타입(914), N_0x2N_0 크기의 파티션 타입(916), N_0xN_0 크기의 파티션 타입(918)을 포함할 수 있다.
파티션 타입마다, 한 개의 2N_0x2N_0 크기의 예측 단위, 두 개의 2N_0xN_0 크기의 예측 단위, 두 개의 N_0x2N_0 크기의 예측 단위, 네 개의 N_0xN_0 크기의 예측 단위마다 반복적으로 예측 부호화가 수행되어야 한다. 크기 2N_0x2N_0, 크기 N_0x2N_0 및 크기 2N_0xN_0 및 크기 N_0xN_0의 예측 단위에 대해서는, 인트라 모드 및 인터 모드로 예측 부호화가 수행될 수 있다. 스킵 모드는 크기 2N_0x2N_0의 예측 단위에 예측 부호화가 대해서만 수행될 수 있다.
크기 N_0xN_0의 파티션 타입(918)에 의한 부호화 오차가 가장 작다면, 심도 0를 1로 변경하고(920), 심도 2 및 크기 N_0xN_0의 파티션 타입의 부호화 단위들(922, 924, 926, 928)에 대해 반복적으로 최소 부호화 오차를 검색해 나갈 수 있다.
동일한 심도의 부호화 단위들(922, 924, 926, 928)에 대해 부호화가 반복적으로 수행되므로, 이중 하나만 예를 들어 심도 1의 부호화 단위의 부호화를 설명한다. 심도 1 및 크기 2N_1x2N_1 (=N_0xN_0)의 부호화 단위의 예측 부호화를 위한 예측 단위(930)는, 크기 2N_1x2N_1의 파티션 타입(932), 크기 2N_1xN_1의 파티션 타입(934), 크기 N_1x2N_1의 파티션 타입(936), 크기 N_1xN_1의 파티션 타입(938)을 포함할 수 있다. 파티션 타입마다, 한 개의 크기 2N_1x2N_1의 예측 단위, 두 개의 크기 2N_1xN_1의 예측 단위, 두 개의 크기 N_1x2N_1의 예측 단위, 네 개의 크기 N_1xN_1의 예측 단위마다 반복적으로 예측 부호화가 수행되어야 한다.
또한, 크기 N_1xN_1 크기의 파티션 타입(938)에 의한 부호화 오차가 가장 작다면, 심도 1을 심도 2로 변경하면서(940), 심도 2 및 크기 N_2xN_2의 부호화 단위들(942, 944, 946, 948)에 대해 반복적으로 최소 부호화 오차를 검색해 나갈 수 있다.
최대 심도가 d인 경우, 심도별 분할 정보는 심도 d-1일 때까지 설정될 수 있다. 즉, 심도 d-1 및 크기 2N_(d-1)x2N_(d-1)의 부호화 단위의 예측 부호화를 위한 예측 단위(950)는, 크기 2N_(d-1)x2N_(d-1)의 파티션 타입(952), 크기 2N_(d-1)xN_(d-1)의 파티션 타입(954), 크기 N_(d-1)x2N_(d-1)의 파티션 타입(956), 크기 N_(d-1)xN_(d-1)의 파티션 타입(958)을 포함할 수 있다.
파티션 타입마다, 한 개의 크기 2N_(d-1)x2N_(d-1)의 예측 단위, 두 개의 크기 2N_(d-1)xN_(d-1)의 예측 단위, 두 개의 크기 N_(d-1)x2N_(d-1)의 예측 단위, 네 개의 크기 N_(d-1)xN_(d-1)의 예측 단위마다 반복적으로 예측 부호화를 통한 부호화가 수행되어야 한다. 최대 심도가 d이므로, 심도 d-1의 부호화 단위(952)는 더 이상 분할 과정을 거치지 않는다.
일 실시예에 따른 비디오 부호화 장치(80)는 부호화 단위(912)를 위한 부호화 심도를 결정하기 위해, 심도별 부호화 오차를 비교하여 가장 작은 부호화 오차가 발생하는 심도를 선택한다.
예를 들어, 심도 0의 부호화 단위에 대한 부호화 오차는 파티션 타입(912, 914, 916, 918)마다 예측 부호화를 수행한 후 가장 작은 부호화 오차가 발생하는 예측 단위가 결정된다. 마찬가지로 심도 0, 1, ..., d-1 마다 부호화 오차가 가장 작은 예측 단위가 검색될 수 있다. 크기 2N_dx2N_d의 데이터 단위(960)는 최소 단위이면서, 심도 d-1의 부호화 단위(952)의 예측 단위이므로 이를 기반으로 예측 부호화를 통해 부호화 오차가 결정될 수도 있다.
이런 식으로 심도 0, 1, ..., d-1의 모든 심도별 최소 부호화 오차를 비교하여 오차가 가장 작은 심도가 선택되어 부호화 심도로 결정될 수 있다. 부호화 심도 및 해당 심도의 예측 단위는 부호화 모드에 관한 정보로써 부호화되어 전송될 수 있다. 또한, 심도 0으로부터 부호화 심도에 이르기까지 부호화 단위가 분할되어야 하므로, 부호화 심도의 분할 정보만이 '0'으로 설정되고, 부호화 심도를 제외한 심도별 분할 정보는 '1'로 설정되어야 한다.
일 실시예에 따른 비디오 복호화 장치(90)의 정보 추출부(93)는 부호화 단위(912)에 대한 부호화 심도 및 예측 단위에 관한 정보를 추출하여 부호화 단위(912)를 복호화하는데 이용할 수 있다. 일 실시예에 따른 비디오 복호화 장치(90)는 심도별 분할 정보를 이용하여 분할 정보가 '0'인 심도를 부호화 심도로 파악하고, 해당 심도에 대한 부호화 모드에 관한 정보를 이용하여 복호화에 이용할 수 있다.
도 17, 18 및 19는 본 발명의 일 실시예에 따른, 부호화 단위, 예측 단위 및 주파수변환 단위의 관계를 도시한다.
부호화 단위(1010)는, 최대 부호화 단위에 대해 일 실시예에 따른 비디오 부호화 장치(80)가 결정한 부호화 심도별 부호화 단위들이다. 예측 단위(1060)는 부호화 단위(1010) 중 각각의 부호화 심도별 부호화 단위의 예측 단위들이며, 변환 단위(1070)는 각각의 부호화 심도별 부호화 단위의 변환 단위들이다.
심도별 부호화 단위들(1010)은 최대 부호화 단위의 심도가 0이라고 하면, 부호화 단위들(1012, 1054)은 심도가 1, 부호화 단위들(1014, 1016, 1018, 1028, 1050, 1052)은 심도가 2, 부호화 단위들(1020, 1022, 1024, 1026, 1030, 1032, 1048)은 심도가 3, 부호화 단위들(1040, 1042, 1044, 1046)은 심도가 4이다.
예측 단위들(1060) 중 일부(1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054)는 부호화 단위가 분할된 타입이다. 즉, 예측 단위(1014, 1022, 1050, 1054)는 2NxN의 파티션 타입이며, 예측 단위(1016, 1048, 1052)는 Nx2N의 파티션 타입, 예측 단위(1032)는 NxN의 파티션 타입이다. 즉, 심도별 부호화 단위들(1010)의 예측 단위는 각각의 부호화 단위보다 작거나 같다.
변환 단위들(1070) 중 일부(1052)의 영상 데이터에 대해서는 부호화 단위에 비해 작은 크기의 데이터 단위로 주파수변환 또는 역주파수변환이 수행된다. 또한, 변환 단위(1014, 1016, 1022, 1032, 1048, 1050, 1052, 1054)는 예측 단위들(1060) 중 해당 예측 단위와 비교해보면, 서로 다른 크기 또는 형태의 데이터 단위이다. 즉, 일 실시예에 따른 비디오 부호화 장치(80) 및 일 실시예에 다른 비디오 복호화 장치(90)는 동일한 부호화 단위에 대한 인트라 예측/움직임 추정/움직임 보상 작업, 및 주파수변환/역변환 작업이라 할지라도, 각각 별개의 데이터 단위를 기반으로 수행할 수 있다.
도 20 은 본 발명의 일 실시예에 따른 부호화 단위별 부호화 정보를 도시한다.
일 실시예에 따른 비디오 부호화 장치(80)의 비트스트림 출력부(85)는 부호화 단위별 부호화 정보를 출력하고, 일 실시예에 따른 비디오 복호화 장치(90)의 정보 추출부(93)는 부호화 단위별 부호화 정보를 추출할 수 있다.
부호화 정보는 부호화 단위에 대한 분할 정보, 파티션 타입 정보, 예측 모드 정보, 변환 단위 크기 정보를 포함할 수 있다. 도 11에 도시되어 있는 부호화 정보들은 일 실시예에 따른 비디오 부호화 장치(80) 및 일 실시예에 따른 비디오 복호화 장치(90)에서 설정할 수 있는 일례이다.
분할 정보는 해당 부호화 단위의 부호화 심도를 나타낼 수 있다. 즉, 분할 정보에 따라 더 이상 분할되지 않는 심도가 부호화 심도이므로, 부호화 심도에 대해서 파티션 타입 정보, 예측 모드, 변환 단위 크기 정보가 정의될 수 있다. 분할 정보에 따라 한 단계 더 분할되어야 하는 경우에는, 분할된 4개의 하위 심도의 부호화 단위마다 독립적으로 부호화가 수행되어야 한다.
파티션 타입 정보는, 부호화 심도의 부호화 단위의 변환 단위의 파티션 타입을 2Nx2N, 2NxN, Nx2N 및 NxN 중 하나로 나타낼 수 있다. 예측 모드는, 인트라 모드, 인터 모드 및 스킵 모드 중 하나로 나타낼 수 있다. 인트라 모드 및 인터 모드는 파티션 타입 2Nx2N, 2NxN, Nx2N 및 NxN에서 정의될 수 있으며, 스킵 모드는 파티션 타입 2Nx2N에서만 정의될 수 있다. 변환 단위 크기는 인트라 모드에서 두 종류의 크기, 인터 모드에서 두 종류의 크기로 설정될 수 있다.
부호화 단위 내의 최소 단위마다, 소속되어 있는 부호화 심도의 부호화 단위별 부호화 정보를 수록하고 있을 수 있다. 따라서, 인접한 최소 단위들끼리 각각 보유하고 있는 부호화 정보들을 확인하면, 동일한 부호화 심도의 부호화 단위에 포함되는지 여부가 확인될 수 있다. 또한, 최소 단위가 보유하고 있는 부호화 정보를 이용하면 해당 부호화 심도의 부호화 단위를 확인할 수 있으므로, 최대 부호화 단위 내의 부호화 심도들의 분포가 유추될 수 있다.
따라서 이 경우 현재 부호화 단위가 주변 데이터 단위를 참조하여 예측하기 경우, 현재 부호화 단위에 인접하는 심도별 부호화 단위 내의 최소 단위의 부호화 정보가 직접 이용됨으로써 최소 단위의 데이터가 참조될 수 있다.
또 다른 실시예로, 심도별 부호화 단위의 부호화 정보가 심도별 부호화 단위 내 중 대표되는 최소 단위에 대해서만 저장되어 있을 수 있다. 이 경우 현재 부호화 단위가 주변 부호화 단위를 참조하여 예측되는 경우, 인접하는 심도별 부호화 단위의 부호화 정보를 이용하여, 심도별 부호화 단위 내에서 현재 부호화 단위에 인접하는 데이터가 검색됨으로써 참조될 수도 있다.
도 21 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법의 흐름도를 도시한다.
단계 2110에서, 입력된 비디오 시퀀스 중 현재 픽처가 최대 부호화 단위로 분할된다.
단계 2120에서, 현재 픽처의 영상 데이터에 대해 컨텐트에 기반하여 다이나믹 레인지를 변환하고, 다이나믹 레인지가 변환된 영상 데이터에 대해 영역별 계층적 데이터 단위에 기반한 인트라 예측, 인터 예측, 주파수변환 및 양자화가 수행된다. 최대 부호화 단위의 영역별로 재귀적인 부호화를 수행한 결과, 부호화 심도 및 부호화 모드가 결정될 수 있다. 일 실시예에 따라 컨텐트에 기반하여 다이나믹 레인지가 변환된 영상 데이터에 대해 인트라 예측 및 인터 예측이 수행될 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지의 변환에 따라, 원본 영상의 상한값 내지 하한값 구간의 픽셀값들이 소정 비트 뎁스로 표현가능한 최소한계값 내지 최대한계값의 구간의 값으로 대응되도록 다이나믹 레인지가 확장될 수 있다.
단계 2130에서, 최대 부호화 단위마다 심도별 부호화 단위별로 부호화된 데이터에 대해 엔트로피 부호화가 수행되고, 부호화된 데이터, 부호화 심도 및 부호화 모드에 관한 정보 및 다이나믹 레인지 정보를 포함하는 비트스트림이 출력된다.
도 22 은 본 발명의 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여, 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법의 흐름도를 도시한다.
단계 2210에서 부호화된 비디오 비트스트림이 수신되고, 단계 2220에서는 수신된 비트스트림을 파싱하여 파싱된 비트스트림으로부터 부호화된 데이터, 부호화 정보 및 다이나믹 레인지 정보가 추출된다. 단계 2230에서는 부호화된 데이터에 대해 엔트로피 복호화을 수행하여 데이터 심볼들이 복원된다.
단계 2240에서, 데이터 심볼에 대하여 부호화 정보에 기초하여 영역별 계층적 데이터 단위에 기초한 역양자화 및 역주파수변환, 인트라 예측 및 움직임 보상을 수행하여, 최대 부호화 단위별로 영상 데이터가 복호화된다.
단계 2250에서, 복호화된 픽처에 대해 디블로킹 필터링 등의 인루프 필터링을 수행함으로써 현재 픽처가 복원되고, 현재 픽처의 다이나믹 레인지가 복원된다. 비트스트림으로부터 다이나믹 레인지 변환에 대한 정보가 추출된 경우, 다이나믹 레인지 변환에 대한 정보에 기초하여 현재 픽처의 원본 다이나믹 레인지가 복원될 수 있다.
일 실시예에 따른 컨텐트에 기반한 다이나믹 레인지의 복원에 따라, 복원 영상 데이터의 최소한계값 내지 최대한계값의 구간의 값이, 원본 영상의 상한값 내지 하한값 구간의 픽셀값으로 대응되도록 다이나믹 레인지가 축소될 수 있다.
일 실시예에 따른 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인 변환을 이용하는 비디오 부호화 방법 또는 일 실시예에 따른 영역별 계층적 데이터 단위에 기반하여 컨텐트에 기반한 다이나믹 레인 변환을 이용하는 비디오 복호화 방법에 따르면, 입력 영상의 다이나믹 레인지를 확장하여 인트라 예측 및 인터 예측 등의 영상 처리를 보다 세밀하게 수행할 수 있으므로, 부호화 및 복호화에 따른 영상 화질이 개선될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등) 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (44)

  1. 입력 비디오의 컨텐트에 기반하여 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터를 이용하여, 상기 현재 프레임에 대한 인트라 예측 및 움직임 추정을 통한 인터 예측을 수행하는 단계;
    상기 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하고, 상기 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행하는 단계; 및
    상기 양자화된 변환 계수에 대해 엔트로피 부호화를 수행하고, 상기 현재 프레임에 대한 부호화된 데이터를 포함하는 비트스트림을 출력하는 단계를 포함하고,
    상기 인트라 예측 및 인터 예측 수행 단계는,
    픽셀값의 현재 비트 뎁스(bit depth)로 표현 가능한 최대한계값 내지 최소한계값의 범위로, 상기 현재 프레임의 픽셀값들을 확장하도록 다이나믹 레인지가 변환된 영상 데이터를 이용하여 상기 인트라 예측 및 상기 인터 예측을 수행하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하고,
    상기 다이나믹 레인지 변환에 있어서, 상기 현재 프레임의 픽셀값들 중 상한값보다 큰 값이 상기 최대한계값에 대응되고, 상기 현재 프레임의 픽셀값들 중 하한값보다 작은 값이 상기 최소한계값에 대응되도록 변환되고, 상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들이 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응되도록 변환되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 상한값 및 상기 하한값은, 각각 상기 현재 프레임의 픽셀값들 중 극대값 및 극소값인 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  5. 제 1 항에 있어서, 상기 인트라 예측 및 인터 예측 수행 단계는,
    상기 상한값 및 상기 하한값 사이의 픽셀값들에 대하여, 현재 픽셀값과 상기 하한값의 차이와 상기 최대한계값 및 상기 최대한계값의 차이의 곱을, 상기 상한값 및 상기 하한값의 차이로 나눈 값이 일대일 대응되도록 변환하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  6. 제 5 항에 있어서,
    상기 상한값 및 상기 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값이, 현재 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  7. 제 1 항에 있어서,
    상기 현재 비트뎁스는, 상기 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스인 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  8. 제 7 항에 있어서,
    상기 현재 비트뎁스는, 다이나믹 레인지의 확장을 위한 제 1 비트뎁스 및 내부적으로 확장된 제 2 비트뎁스의 총합인 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  9. 제 8 항에 있어서, 상기 인트라 예측 및 인터 예측 수행 단계는,
    상기 비디오의 픽셀값의 비트뎁스를 상기 제 2 비트뎁스만큼 확장하는 단계;
    상기 제 2 비트뎁스만큼 확장된 비트뎁스의 중간 데이터에 대해 상기 제 1 비트뎁스만큼 다이나믹 레인지를 확장하는 단계; 및
    상기 다이나믹 레인지가 확장된 데이터에 대해 상기 인트라 예측 및 인터 예측을 수행하는 단계를 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  10. 제 9 항에 있어서, 상기 다이나믹 레인지 확장 단계는,
    상기 중간 데이터 중 상한값보다 큰 값을 상기 최대한계값에 대응하도록 변환하고, 상기 현재 프레임의 픽셀값들 중 하한값보다 작은 값을 상기 최소한계값에 대응하도록 변환하고,
    상기 중간 데이터 중 상기 상한값 및 상기 하한값 사이의 데이터를 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  11. 제 10 항에 있어서, 상기 다이나믹 레인지 확장 단계는,
    상기 상한값 및 상기 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값을, 상기 제 1 비트뎁스 및 상기 제 2 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  12. 제 1 항에 있어서, 상기 인트라 예측 및 인터 예측 수행 단계는,
    상기 현재 프레임의 픽셀값들은 루마 성분 및 크로마 성분별로 다이나믹 레인지가 변환된 영상 데이터를 이용하여, 상기 인트라 예측 및 상기 인터 예측을 수행하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  13. 제 1 항에 있어서,
    상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들이, 비선형 함수 관계를 따라 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  14. 제 13 항에 있어서,
    상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들이 소정 개수의 구간들로 분할되는 경우, 상기 구간별 픽셀값은 선형적으로 증가하는 구간별 기울기의 함수 관계에 따라 대응되는 결과값이 결정되고, 상기 구간들 중 연속하는 구간의 결과값들은 연속되어, 상기 모든 구간의 픽셀값들에 대한 결과값들이 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응하도록 변환되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  15. 제 1 항에 있어서,
    상기 상한값보다 크거나 상기 하한값보다 작은 현재 픽셀값은 절삭되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  16. 제 1 항에 있어서,
    상기 상한값 및 상기 하한값은, 상기 입력 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  17. 제 1 항에 있어서, 상기 인트라 예측 및 인터 예측 수행 단계는,
    상기 입력 비디오의 컨텐트에 기반하여 다이나믹 레인지가 변환된 이전 프레임들에 대하여, 인트라 예측, 움직임 추정 및 보상을 통한 인터 예측, 주파수변환, 양자화, 역양자화, 역주파수변환 및 디블로킹 필터링을 통해 생성된 복원 프레임들의 다이나믹 레인지를 복원하는 단계;
    상기 현재 프레임의 다이나믹 레인지에 기초하여, 상기 다이나믹 레인지가 복원된 복원 프레임의 다이나믹 레인지를 변환하는 단계; 및
    상기 다이나믹 레인지가 변환된 참조 프레임을 참조하여, 상기 현재 프레임에 대한 인터 예측을 수행하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  18. 제 1 항에 있어서, 상기 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법은,
    상기 다이나믹 레인지의 변환에 대한 정보를 부호화하여 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  19. 제 18 항에 있어서,
    상기 다이나믹 레인지의 변환에 대한 정보는, 상기 입력 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  20. 제 1 항에 있어서,
    상기 인트라 예측 단계 및 인터 예측 수행 단계는, 상기 현재 프레임이 소정 최대 크기의 부호화 단위로 분할된 각각의 최대 부호화 단위에 대하여, 심도가 깊어짐에 따라 상기 최대 부호화 단위가 계층적으로 분할되어 축소된 영역별로, 적어도 하나의 심도별 부호화 단위마다 상기 인트라 예측 및 상기 인터 예측을 수행하고,
    상기 주파수변환 및 양자화 수행 단계는, 각각의 최대 부호화 단위에 대해 상기 영역별로 적어도 하나의 심도별 부호화 단위마다 상기 주파수변환 및 상기 양자화를 수행하고,
    상기 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법은, 픽처의 원본 영상과의 최소 부호화 오차를 발생시키는 적어도 하나의 부호화 심도에 관한 정보를 포함하는 상기 부호화 심도의 부호화 단위에 대한 부호화 모드를 결정하는 단계를 더 포함하고,
    상기 엔트로피 부호화 수행 단계는, 상기 결정된 부호화 심도 및 부호화 모드에 따른 부호화 결과인 부호화된 영상 데이터에 대해 엔트로피 부호화를 수행하여, 상기 결정된 부호화 심도 및 부호화 모드에 대한 정보 및 부호화된 영상 데이터를 포함하는 비트스트림을 출력하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법.
  21. 수신된 비트스트림을 파싱하여 원본 비디오의 현재 프레임의 부호화된 데이터를 추출하는 단계;
    상기 추출된 부호화된 데이터에 대해 엔트로피 복호화를 수행하여 데이터 심볼을 복원하는 단계;
    상기 복원된 데이터 심볼에 대해, 역양자화 및 역주파수변환을 수행하여 상기 현재 프레임에 대한 레지듀얼 데이터를 복원하고, 상기 복원된 레지듀얼 데이터에 대해 인트라 예측 및 움직임 보상을 수행하여 영상 데이터를 복원하는 단계; 및
    상기 복원된 영상 데이터에 대해 디블로킹 필터링을 수행하고, 상기 원본 비디오의 컨텐트에 기반하여 변환된 다이나믹 레인지를 복원함으로써, 상기 현재 프레임을 복원하는 단계를 포함하고,
    상기 현재 프레임 복원 단계는,
    상기 복원된 영상 데이터에 대해, 픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로 확장되어 있는 복원 픽셀값을 상기 현재 프레임의 다이나믹 레인지로 복원하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하고,
    상기 다이나믹 레인지 변환에 있어서, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값을, 각각 상기 현재 프레임의 픽셀값들 중 상한값 및 하한값에 대응하도록 복원하고, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들을 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 복원하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  22. 삭제
  23. 삭제
  24. 제 21 항에 있어서,
    상기 상한값 및 상기 하한값은, 각각 상기 현재 프레임의 픽셀값들 중 극대값 및 극소값인 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  25. 제 21 항에 있어서, 상기 현재 프레임 복원 단계는,
    상기 최대한계값 및 최소한계값 사이의 값들에 대하여, 현재 복원된 데이터 값과 상기 상한값 및 상기 하한값의 차이의 곱을, 상기 최대한계값 및 상기 최대한계값의 차이로 나눈 값에 상기 하한값을 더한 값이 일대일 대응되도록 변환하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  26. 제 25 항에 있어서,
    상기 최대한계값 및 최소한계값 사이의 값들에 대하여 일대일 대응되는 픽셀값이, 현재 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  27. 제 21 항에 있어서,
    상기 현재 비트뎁스는, 상기 비디오의 부복호화 과정 동안 내부적으로 확장된 비트뎁스인 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  28. 제 27 항에 있어서,
    상기 현재 비트뎁스는, 다이나믹 레인지의 확장을 위한 제 1 비트뎁스 및 내부적으로 확장된 제 2 비트뎁스의 총합인 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  29. 제 28 항에 있어서, 상기 현재 프레임 복원 단계는,
    상기 제 1 비트뎁스만큼 확장된 상기 복원된 영상 데이터의 다이나믹 레인지를 복원하는 단계; 및
    상기 다이나믹 레인지가 복원되어 생성된 중간 데이터의 비트뎁스를 상기 제 2 비트뎁스만큼 축소하여 상기 현재 프레임의 픽셀값의 비트뎁스를 복원하는 단계를 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  30. 제 29 항에 있어서, 상기 다이나믹 레인지 복원 단계는,
    상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값을, 각각 상기 중간 데이터의 상한값 및 하한값에 대응하도록 복원하는 단계; 및
    상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들을 상기 중간 데이터의 상한값 및 하한값 사이의 값에 일대일 대응하도록 변환하여 상기 중간 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  31. 제 30 항에 있어서, 상기 중간 데이터 생성 단계는,
    상기 중간 데이터의 상한값 및 하한값 사이의 픽셀값들에 대하여 일대일 대응되는 픽셀값을, 상기 제 1 비트뎁스 및 제 2 비트뎁스를 이용한 비트시프트에 의한 연산을 통해 출력하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  32. 제 21 항에 있어서, 상기 현재 프레임 복원 단계는,
    상기 복원된 영상 데이터에 대해, 루마 성분 및 크로마 성분별로 다이나믹 레인지를 복원하여, 상기 현재 프레임의 픽셀값을 복원하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  33. 제 21 항에 있어서,
    상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들이, 비선형 함수 관계를 따라 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 변환하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  34. 제 33 항에 있어서,
    상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 픽셀값들이 소정 개수의 구간들로 분할되는 경우, 상기 구간별 데이터는 선형적으로 증가하는 구간별 기울기의 함수 관계에 따라 대응되는 픽셀값이 결정되고, 상기 구간들 중 연속하는 구간들의 데이터에 대응되는 픽셀값들은 연속되어, 상기 모든 구간의 데이터에 대한 픽셀값들이 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 변환되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  35. 제 21 항에 있어서,
    상기 상한값보다 크거나 상기 하한값보다 작은 현재 픽셀값은 절삭된 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  36. 제 21 항에 있어서,
    상기 상한값 및 상기 하한값은, 상기 원본 비디오의 영상 시퀀스, 프레임, 인트라 예측을 위한 프레임 세트, 영역 및 부호화 단위 중 하나의 데이터 단위별로 결정된 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  37. 제 21 항에 있어서, 상기 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법은,
    상기 현재 프레임의 다이나믹 레인지의 변환을 위한 상기 원본 비디오에 대한 정보를 수신하는 단계를 더 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  38. 제 37 항에 있어서,
    상기 다이나믹 레인지의 변환에 대한 정보는, 상기 원본 비디오의 컨텐트의 상한값 및 하한값에 대한 정보를 포함하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  39. 제 21 항에 있어서, 상기 영상 데이터 복원 단계는,
    상기 원본 비디오의 이전 프레임에 대한 복원 프레임의 다이나믹 레인지를 복원하는 단계;
    상기 현재 프레임의 다이나믹 레인지에 기초하여, 상기 복원 프레임의 다이나믹 레인지를 변환하는 단계; 및
    상기 다이나믹 레인지가 변환된 복원 프레임을 참조하여, 상기 현재 프레임에 대한 움직임 보상을 수행하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법.
  40. 제 21 항에 있어서,
    상기 데이터 심볼 복원 단계는, 상기 수신된 비트스트림의 부호화 단계 중, 입력 영상 시퀀스 중 픽처를 소정 최대 크기의 부호화 단위로 분할하고, 각각의 최대 부호화 단위에 대해, 심도가 깊어짐에 따라 상기 최대 부호화 단위가 계층적으로 분할되어 축소된 영역별로, 적어도 하나의 심도별 부호화 단위마다 부호화를 수행하여, 상기 픽처의 원본 영상과의 최소 부호화 오차를 발생시키는 적어도 하나의 부호화 심도에 관한 정보를 포함하는 상기 부호화 심도의 부호화 단위에 대한 부호화 모드에 관한 정보를 상기 비트스트림으로부터 더 추출하고,
    상기 영상 데이터 복원 단계는, 상기 부호화 모드에 관한 정보에 기초하여, 상기 부호화 심도 및 부호화 모드에 기초하여 역영쟈화, 역주파수변환, 인트라 예측 및 움직음 보상을 수행하여 상기 부호화된 영상 데이터를 복호화하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치.
  41. 입력 비디오의 컨텐트에 기반하여 현재 프레임의 다이나믹 레인지를 변환한 영상 데이터를 이용하여, 상기 현재 프레임에 대한 인트라 예측을 수행하는 인트라 예측부;
    상기 다이나믹 레인지 변환된 영상 데이터를 이용하여, 상기 현재 프레임에 대한 움직임 추정을 통한 인터 예측을 수행하는 인터 예측부;
    상기 인트라 예측 및 인터 예측에 의해 생성된 레지듀얼 데이터에 대해 주파수변환을 수행하는 주파수변환부;
    상기 주파수변환에 의해 생성된 변환 계수에 대해 양자화를 수행하는 양자화부;
    상기 양자화된 변환 계수에 대해 엔트로피 부호화를 수행하는 엔트로피 부호화부; 및
    상기 엔트로피 부호화에 의해 생성된, 상기 현재 프레임의 부호화된 데이터를 포함하는 비트스트림을 출력하는 출력부를 포함하고,
    상기 인트라 예측부 및 인터 예측부는,
    픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로, 상기 현재 프레임의 픽셀값들을 확장하도록 다이나믹 레인지가 변환된 영상 데이터를 이용하여 상기 인트라 예측 및 상기 인터 예측을 수행하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하고,
    상기 다이나믹 레인지 변환에 있어서, 상기 현재 프레임의 픽셀값들 중 상한값보다 큰 값이 상기 최대한계값에 대응되고, 상기 현재 프레임의 픽셀값들 중 하한값보다 작은 값이 상기 최소한계값에 대응되도록 변환되고, 상기 현재 프레임의 픽셀값들 중 상기 상한값 및 상기 하한값 사이의 픽셀값들이 상기 최대한계값 및 상기 최소한계값 사이의 값에 일대일 대응되도록 변환되는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 장치.
  42. 수신된 비트스트림을 파싱하여 원본 비디오의 현재 프레임의 부호화된 데이터를 추출하는 파싱부;
    상기 추출된 부호화된 데이터에 대해 엔트로피 복호화를 수행하여 데이터 심볼을 복원하는 엔트로피 복호화부;
    상기 복원된 데이터 심볼에 대해, 역양자화 및 역주파수변환을 수행하여 상기 현재 프레임에 대한 레지듀얼 데이터를 복원하는 역양자화 및 역주파수변환부;
    상기 복원된 레지듀얼 데이터에 대해 인트라 예측을 수행하는 인트라 예측부;
    상기 복원된 레지듀얼 데이터에 대해 움직임 보상을 수행하는 움직임 보상부; 및
    상기 인트라 예측 및 상기 움직임 보상에 의해 복원된 영상 데이터에 대해 디블로킹 필터링을 수행하고, 상기 원본 비디오의 컨텐트에 기반하여 변환된 다이나믹 레인지를 복원함으로써, 상기 현재 프레임을 복원하는 영상 복원부를 포함하고,
    상기 영상 복원부는,
    상기 복원된 영상 데이터에 대해, 픽셀값의 현재 비트 뎁스로 표현 가능한 최대한계값 내지 최소한계값의 범위로 확장되어 있는 복원 픽셀값을 상기 현재 프레임의 다이나믹 레인지로 복원하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하고,
    상기 다이나믹 레인지 변환에 있어서, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값을, 각각 상기 현재 프레임의 픽셀값들 중 상한값 및 하한값에 대응하도록 복원하고, 상기 복원된 영상 데이터 중 상기 최대한계값 및 최소한계값 사이의 값들을 상기 상한값 및 상기 하한값 사이의 값에 일대일 대응하도록 복원하는 것을 특징으로 하는 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 장치.
  43. 제 1 항 및 제 4 항 내지 제 20 항 중 어느 한 항의 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체.
  44. 제 21 항 및 제 24 항 내지 제 40 항 중 어느 한 항의 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체.
KR1020100056194A 2010-04-05 2010-06-14 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치 KR101710623B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2011/002372 WO2011126272A2 (en) 2010-04-05 2011-04-05 Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
US13/079,982 US9100661B2 (en) 2010-04-05 2011-04-05 Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100031142 2010-04-05
KR20100031142 2010-04-05

Publications (2)

Publication Number Publication Date
KR20110112165A KR20110112165A (ko) 2011-10-12
KR101710623B1 true KR101710623B1 (ko) 2017-03-09

Family

ID=45028055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100056194A KR101710623B1 (ko) 2010-04-05 2010-06-14 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치

Country Status (1)

Country Link
KR (1) KR101710623B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018174591A1 (ko) * 2017-03-22 2018-09-27 김기백 영상을 구성하는 화소값 범위를 이용한 영상 부호화/복호화 방법
WO2022211374A1 (ko) * 2021-03-31 2022-10-06 현대자동차주식회사 매핑 기반 비디오 코딩방법 및 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069972A1 (ko) * 2011-11-08 2013-05-16 한국전자통신연구원 인트라 예측 방법 및 그 장치
WO2013077660A1 (ko) * 2011-11-24 2013-05-30 에스케이텔레콤 주식회사 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
KR102072124B1 (ko) 2011-11-24 2020-02-04 에스케이텔레콤 주식회사 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치
KR102403360B1 (ko) * 2015-06-16 2022-05-30 광운대학교 산학협력단 하위 호환성을 고려한 hdr 영상 복호화 장치에서 다이나믹 레인지 매핑 정보를 이용하는 방법 및 장치
MX2021011244A (es) * 2019-03-15 2022-06-13 Samsung Electronics Co Ltd Método y dispositivo de codificación de imagenes y método y dispositivo de decodificación de imágenes.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090087111A1 (en) * 2006-03-30 2009-04-02 Reiko Noda Image encoding apparatus and method for the same and image decoding apparatus and method for the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090087111A1 (en) * 2006-03-30 2009-04-02 Reiko Noda Image encoding apparatus and method for the same and image decoding apparatus and method for the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018174591A1 (ko) * 2017-03-22 2018-09-27 김기백 영상을 구성하는 화소값 범위를 이용한 영상 부호화/복호화 방법
US11509895B2 (en) 2017-03-22 2022-11-22 Industry-University Cooperation Foundation Hanyang University Image encoding/decoding method using pixel value range constituting image
US11949865B2 (en) 2017-03-22 2024-04-02 Industry-University Cooperation Foundation Hanyang University Image encoding/decoding method using pixel value range constituting image
WO2022211374A1 (ko) * 2021-03-31 2022-10-06 현대자동차주식회사 매핑 기반 비디오 코딩방법 및 장치

Also Published As

Publication number Publication date
KR20110112165A (ko) 2011-10-12

Similar Documents

Publication Publication Date Title
JP6388685B2 (ja) 固定小数点変換のためのビット深度調節を伴うビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置
KR101624649B1 (ko) 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101675118B1 (ko) 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101487686B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5654594B2 (ja) 映像の符号化方法及び装置、その復号化方法及び装置
KR101483750B1 (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101710623B1 (ko) 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치
KR101617336B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101662741B1 (ko) 영상 복호화 방법
KR101618766B1 (ko) 영상 복호화 방법 및 장치
KR101943991B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101917656B1 (ko) 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101894398B1 (ko) 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101750052B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101644092B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101676793B1 (ko) 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101676794B1 (ko) 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101643621B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101454642B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624661B1 (ko) 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101624662B1 (ko) 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101675120B1 (ko) 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101618214B1 (ko) 영상 복호화 방법
KR101573335B1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR101540684B1 (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