KR20150105184A - 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치 - Google Patents

영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20150105184A
KR20150105184A KR1020140182549A KR20140182549A KR20150105184A KR 20150105184 A KR20150105184 A KR 20150105184A KR 1020140182549 A KR1020140182549 A KR 1020140182549A KR 20140182549 A KR20140182549 A KR 20140182549A KR 20150105184 A KR20150105184 A KR 20150105184A
Authority
KR
South Korea
Prior art keywords
data
chroma
luma
image
channel
Prior art date
Application number
KR1020140182549A
Other languages
English (en)
Other versions
KR101683175B1 (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 삼성전자주식회사
Publication of KR20150105184A publication Critical patent/KR20150105184A/ko
Application granted granted Critical
Publication of KR101683175B1 publication Critical patent/KR101683175B1/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/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/186Methods 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 a colour or a chrominance component
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

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 decoding, method and apparatus for video encoding}
본 발명은 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치에 관한 것이다. 상세하게는 YUV 4:2:0 포맷의 영상 데이터를 복호화하기 위한 영상 복호화 방법 및 장치, YUV 4:2:0 포맷의 영상 데이터를 효율적으로 부호화하기 위한 영상 부호화 방법 및 장치에 관한 것이다.
고해상도 또는 고화질 비디오 컨텐트를 디스플레이하기 위해 디스플레이 링크를 통해 고해상도 또는 고화질 비디오 컨텐트를 디스플레이 장치에 전송하게 된다. 하지만 디스플레이 링크의 대역폭은 한정되어 있기 때문에, 고해상도 또는 고화질 비디오 컨텐트를 효율적으로 압축하여 디스플레이 링크를 통해 전송할 필요성이 증대하고 있다. 따라서 고해상도 또는 고화질 비디오 컨텐트를 효율적으로 부호화하거나 복호화하는 다양한 비디오 코덱이 발달하였다.
한편 비디오 코덱의 경우, YUV 4:4:4 포맷의 영상 데이터를 입력으로 하는 것을 전제로 부호화 및 복호화될 수 있다. 하지만 전자 기기가 YUV 4:2:0 포맷의 영상 데이터를 이용하는 경우, YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환하는 과정이 필요하다. 특히 영상 데이터를 변환하는 과정에서 영상 데이터에 포함된 크로마 데이터를 보간(interpolation)하는 과정이 수행되는데, 비디오 코덱에서는 보간 과정에서 생성된 크로마 데이터를 정보가 있는 크로마 데이터로 판단하여 부호화하기 때문에 불필요한 크로마 데이터와 함께 부호화됨으로 인해서 YUV 4:2:0 포맷의 데이터를 부호화하는 것을 가정하여 산출된 압축 비율보다 코덱에서 압축되는 실제 압축 비율이 커지는 문제점이 있었다.
본 발명은 YUV 4:2:0 포맷의 영상 데이터를 복호화하기 위한 영상 복호화 방법 및 장치, YUV 4:2:0 포맷의 영상 데이터를 효율적으로 부호화하기 위한 영상 부호화 방법 및 장치를 제공한다.
본 발명은 일 실시예에 따라, 보간 과정에서 발생하는 크로마 데이터의 발생을 최소화하도록 YUV 4:2:0 포맷의 영상 데이터를 효율적으로 YUV 4:4:4 포맷의 영상 데이터로 변환하거나, 영상 데이터를 부호화하는 과정에서 입력되는 영상 데이터가 YUV 4:2:0 포맷의 영상 데이터임을 고려하여 처리할 수 있도록 함으로써, 부호화 효율을 향상시킬 수 있는 비디오 부호화 및 복호화 방법을 제공하는 것을 특징으로 한다.
물론, 본 발명의 기술적 과제들은 이상에서 언급한 특징으로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당해 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 영상 데이터의 부호화 방법은 영상 데이터에 포함된 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당하는 단계; 상기 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 채널로 이루어진 크로마 채널에 할당하는 단계; 및 상기 루마 채널에 할당된 루마 데이터 및 상기 크로마 채널에 할당된 크로마 데이터에 기초하여 상기 영상 데이터를 부호화하는 단계를 포함한다.
상기 채널은 2개의 채널을 포함하고, 상기 루마 채널에 할당하는 단계는,
상기 루마 채널에 할당하는 단계는, 상기 루마 데이터를 공간 영역에서(spatial domain)에서 2개의 루마 데이터로 분할하는 단계; 및 상기 분할된 루마 데이터를 상기 2개의 채널에 할당하는 단계를 포함할 수 있다.
한편, 상기 영상 데이터를 부호화하는 단계는, 상기 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 상기 복수의 채널로 이루어진 상기 루마 채널에 할당된 루마 데이터를 부호화하는 단계를 포함할 수 있다.
한편, 상기 루마 채널은 2개의 채널을 포함하고,상기 루마 채널에 할당하는 단계는, 상기 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할하는 단계; 및 상기 분할된 2개의 루마 데이터를 상기 2개의 채널에 각각 할당하는 단계를 포함할 수 있다.
상기 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할하는 단계는, 상기 하나의 성분을 갖는 루마 데이터를 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할할 수 있다.
상기 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할하는 단계는,
고주파수 영역의 샘플값을 획득하는 단계; 상기 고주파수 영역의 샘플값의 제1 허용 범위에 대응하는 복수의 제1 부분 범위들 중 획득된 샘플값을 포함하는 하나의 제1 부분 범위를 결정하고,
상기 제1 부분을 상기 고주파수 영역의 샘플값의 제2 허용범위에 대응하는 복수의 제2 부분 범위 들 중 하나의 제2 부분 범위에 맵핑하는 단계를 포함하고, 상기 제1 허용 범위의 크기는 상기 제2 허용 범위의 크기보다 크고, 상기 고주파수 영역의 샘플값의 절대값이 소정의 값 이상인 경우, 상기 결정된 제1 부분 범위의 크기는 상기 하나의 제2 부분 범위의 크기보다 크고, 상기 고주파수 영역의 루마 데이터는 상기 하나의 제2 부분 범위에 포함된 값에 맵핑된 고주파수 영역의 샘플값을 포함할 수 있다.
한편, 상기 크로마 채널에 할당하는 단계는, 상기 크로마 채널을 시분할(time sharing)하여, 상기 시분할된 크로마 채널에 복수의 성분을 갖는 크로마 데이터를 할당하는 단계를 포함할 수 있다.
상기 영상 데이터는 YUV 색공간에서의 영상 데이터고, 상기 영상 데이터에 포함된 하나의 성분을 갖는 루마 데이터는 Y성분의 데이터를 포함하고, 상기 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터는 U, V 성분의 데이터를 포함할 수 있다.
본 발명의 다른 실시예에 따른 영상 데이터의 부호화 방법은 영상 데이터를 수신하는 단계; 상기 수신된 영상 데이터를 업샘플링하는 단계; 및 상기 업샘플링된 영상 데이터를 부호화하는 단계를 포함하고,
상기 수신된 영상 데이터를 업샘플링하는 단계는, 상기 수신된 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나의 크로마 성분을 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 상기 크로마 데이터를 변환하는 단계; 및 상기 변환된 크로마 데이터에 기초하여, 상기 하나의 라인을 제외한 나머지 라인에 소정의 샘플값을 할당하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따른 영상 데이터으 부호화 방법은 영상 데이터를 수신하는 단계; 상기 수신된 영상 데이터를 업샘플링하는 단계; 및 상기 업샘플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각을 상기 적어도 하나의 크로마 성분 각각이 위치한 영역과 다른 상기 라인의 영역에 할당하는 단계; 및 상기 할당된 크로마 성분을 포함하는 크로마 데이터를 부호화하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따른 영상 데이터의 부호화 방법은 영상 데이터를 수신하는 단계; 상기 수신된 영상 데이터에 포함된 크로마 데이터를 업샘플링하는 단계; 및 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터를 부호화하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 영상 데이터의 부호화 방법은 영상 데이터를 수신하는 단계; 상기 수신된 영상 데이터를 업샘플링하는 단계; 및 상기 업샘플링된 영상 데이터를 부호화하는 단계를 포함하고, 상기 수신된 영상 데이터를 업샘플링하는 단계는, 상기 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분을 상기 하나의 라인과 상이한 라인에 할당하는 단계; 상기 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 상기 하나의라인의 빈 영역에 할당될 샘플값을 획득하는 단계를 포함한다.
본 발명의 일 실시예에 따른 영상 데이터의 복호화 방법은 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계; 상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득하는 단계; 상기 획득된 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합하는 단계;
상기 획득된 크로마 데이터를 복수의 성분을 갖는 크로마 데이터로 분할하는 단계; 및 상기 병합되어 생성된 하나의 성분을 갖는 루마 데이터 및 상기 분할된 복수의 성분을 갖는 크로마 데이터에 기초하여 상기 영상을 복원하는 단계를 포함한다.
상기 루마 채널은 2개의 채널을 포함하고, 상기 획득된 루마 채널의 루마 데이터는 공간 영역에서 상기 루마 데이터가 2개의 루마 데이터로 분할되어 상기 2개의 루마 채널에 각각 할당된 루마 데이터이고, 상기 하나의 성분을 갖는 루마 데이터로 병합하는 단계는, 상기 2개의 루마 데이터를 하나의 루마 데이터로 병합하는 단계를 포함한다.
상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득하는 단계는, 상기 복수의 채널로 이루어진 루마 채널에 독립적인 양자화 파라미터를 이용하여 상기 영상을 복호화하는 단계를 포함한다.
상기 루마 채널은 2개의 채널을 포함하고, 상기 획득된 루마 채널의 루마 데이터는 주파수 영역에서 2개의 루마 데이터로 분할되어 상기 2개의 루마 채널에 각각 할당된 루마 데이터이고, 상기 하나의 성분을 갖는 루마 데이터로 병합하는 단계는, 상기 주파수 영역에서 분할된 2개의 루마 데이터를 하나의 루마 데이터로 병합하는 단계를 포함한다.
한편, 상기 루마 채널의 루마 데이터는 상기 하나의 성분을 갖는 루마 데이터가 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할되어 복수의 채널로 이루어진 상기 2개의 루마 채널에 각각 할당된 루마 데이터일 수 있다.
본 발명의 다른 실시예에 따른 영상 데이터의 복호화 방법은 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나의 크로마 성분이 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당되어 변환된 크로마 데이터에 기초하여 하나의 라인을 제외한 나머지 라인에 소정의 값이 할당되어, 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계; 상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 크로마 데이터 및 상기 루마 데이터를 획득하는 단계; 및 상기 획득된 크로마 데이터 및 상기 획득된 루마 데이터를 기초로 영상을 복원하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따른 영상 데이터의 복호화 방법은 영상 데이터가 업샘플링되고, 상기 업생플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록, 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각이 상기 적어도 하나의 크로마 성분 각각이 위치하는 영역과 다른 상기 라인의 영역에 할당되고, 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계; 상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 획득하는 단계; 및 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 기초로 영상을 복원하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 영상 데이터의 복호화 방법은 영상 데이터에 포함된 크로마 데이터가 업샘플링되고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계;
상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 획득하는 단계; 및 상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 기초로 영상을 복원하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 영상 데이터의 복호화 방법은 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분이 상기 하나의 라인과 상이한 라인에 할당되고, 상기 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 상기 하나의 라인의 빈 영역에 할당될 샘플값이 획득되고, 상기 획득된 샘플값을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계; 상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 획득된 샘플값을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 획득하는 단계; 및 상기 획득된 샘플값을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 기초로 영상을 복원하는 단계를 포함한다
본 발명은, 일 실시예에 따른 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함할 수 있다.
본 발명의 일 실시예에 따른 영상 데이터의 부호화 장치는 영상 데이터를 수신하는 수신부; 상기 영상 데이터의 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당하고, 상기 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 채널로 이루어진 크로마 채널에 할당하는 데이터 할당부; 및 상기 루마 채널에 할당된 루마 데이터 및 크로마 채널에 할당된 크로마 데이터에 기초하여 상기 영상 데이터를 부호화하는 부호화부를 포함한다.
본 발명의 일 실시예에 따른 영상 데이터의 복호화 장치는 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 수신부; 상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하는 복호화부; 및 상기 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득하고 상기 획득된 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합하고,
상기 획득된 크로마 데이터를 복수의 성분을 갖는 크로마 데이터로 분할하고, 상기 병합되어 생성된 하나의 성분을 갖는 루마 데이터 및 상기 분할된 복수의 성분을 갖는 크로마 데이터에 기초하여 상기 영상을 복원하는 복원부를 포함한다.
도 1은 영상 데이터를 부호화하고 복호화하는 환경을 도시한 도면이다.
도 2a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 2b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 2c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 2d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 3a는 본 발명의 일 실시예에 따른 부호화 장치를 도시한 블록도이다.
도 3b는 본 발명의 일 실시예에 따른 부호화 방법을 도시한 흐름도이다.
도 3c는 본 발명의 일 실시예에 따른 복호화 장치를 도시한 블록도이다.
도 3d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 4a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 4b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 4c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 4d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 5a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 5b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 5c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 5d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 6a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 6b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 6c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 6d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 7a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 7b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 7c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 7d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 8a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 8b-8d는 본 발명의 일 실시예에 따른 부복호화장치에서 현재 화소를 예측하는 방법을 설명하기 위한 도면이다.
도 8e는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 9a는 본 발명의 일 실시예에 따른 업샘플링없이 YUV 4:2:0 포맷의 데이터를 부복호화하는 과정을 설명하기 위한 도면이다.
도 9b는 본 발명의 일 실시예에 따른 업샘플링없이 YUV 4:2:0 포맷의 데이터를 부복호화하는 과정을 설명하기 위한 도면이다.
도 9c는 본 발명의 일 실시예에 따른 부호화 장치가 수직 변환(Vertical transform)을 수행하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 부호화 장치가 업샘플링하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 부복호화 장치가 크로마 데이터를 분할하여 부복호화하는 과정을 설명하기 위한 도면이다.
도 12a는 본 발명의 일 실시예에 따른 YUV 4:2:2포맷의 영상 데이터를 위한 부호화 장치가 영상 데이터를 부호화하는 과정을 설명하기 위한 도면이다.
도 12b는 본 발명의 일 실시예에 따른 ICH 모드를 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른 YUV 4:2:0포맷의 영상 데이터를 위한 부호화 장치가 영상 데이터를 부호화하는 과정을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 부호화 장치 및 복호화 장치에서 채널별로 독립적인 파라미터를 이용하여 부복호화하는 과정을 설명하기 위한 도면이다.
도 15a는 본 발명의 일 실시예에 따른 고주파수 영역의 루마 데이터를 결정하는 과정을 설명하기 위한 도면이다.
도 15b는 본 발명의 일 실시예에 따른 고주파수 영역의 루마 데이터를 결정하는 구체적인 과정을 설명하기 위한 도면이다.
도 15c는 본 발명의 일 실시예에 따른 고주파수 영역의 루마 데이터를 결정하는 구체적인 과정을 설명하기 위한 도면이다.
이하, '영상'은 비디오의 정지영상이거나 동영상, 즉 비디오 그 자체를 나타낼 수 있다.
이하 '샘플'은, 영상의 샘플링 위치에 할당된 데이터로서 프로세싱 대상이 되는 데이터를 의미한다. 예를 들어, 공간영역의 영상에서 픽셀들이 샘플들일 수 있다.
도 1은 영상 데이터를 부호화하고 복호화하는 환경을 도시한 도면이다.
부호화 장치(1)는 YUV 4:4:4 포맷의 영상 데이터를 입력으로 하여 영상 데이터를 부호화함을 가정한다.
복호화 장치(2)는 부호화된 YUV 4:4:4포맷의 영상 데이터를 입력으로 하여 YUV 4:4:4포맷의 영상 데이터를 복호화하여 출력함을 가정한다.
한편, 부호화 장치(1)는 전자 기기에 포함되어 그 기능을 수행할 수 있다.
예를 들어, 부호화 장치(1)는 후술되는 부호화 장치(10,20,30,40,50,60)에 포함되어 그 기능을 수행할 수 있다. 다만 부호화 장치(10,20,30,40,50,60)는 부호화 장치(1)에서 수행되는 일부 기능과 배치되는 기능을 우선적으로 수행하고, 부호화 장치(1)에서 수행되는 일부 기능을 수행하지 않을 수 있다.
또한, 복호화 장치(2)는 부호화 장치(1)를 포함하는 전자 기기 또는 전자 기기와다른 별도의 전자 기기에 포함되어 그 기능을 수행할 수 있다. 예를 들어, 복호화 장치(2)는 후술되는 복호화 장치(15,25,35,45,55,65)에 포함되어 그 기능을 수행할 수 있다. 다만 복호화 장치(15,25,35,45,55,65)는 복호화 장치(2)에서 수행되는 일부 기능과 배치되는 기능을 우선적으로 수행하고, 복호화 장치(2)에서 수행되는 일부 기능을 수행하지 않을 수 있다.
도 1을 참조하면, 화질이 8K이고, 주파수는 60Hz이고, 루마 데이터를 표현하기 위한 화소의 비트수가 10bit이고, 영상 데이터 포맷이 YUV 4:2:0 포맷인 영상 데이터(8K 60Hz YUV420 10b)가 입력된다고 가정한다. 이때 8k(7680*4320의 해상도), 주파수(60Hz) 및 루마 데이터를 표현하기 위한 화소의 비트수(10b) 및 영상 데이터 포맷(4:2:0포맷인 경우, 총 필요한 비트수는 루마 데이터를 표현하기 위해 이용된 비트수의 1.5배)를 고려할 때, 요구되는 데이터의 전송속도는 1초당 7680*4320*60*1.5=29.86Gps이다.
한편 이러한 YUV 4:2:0 포맷의 영상 데이터를 2.5:1로 압축하려고 한다. 이 경우, 최종 출력되는 영상 데이터의 전송속도는 29.89Gps*1/2.5=11.94Gps가 되어야 한다.
한편 부호화 장치(1)에서 영상 데이터를 처리하기 위해서 먼저 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환하여야 한다. 이때, YUV 4:2:0 포맷의 영상 데이터에 포함된 루마 데이터에 대해서는 별도의 변환 과정이 수행되지 않고, YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 데이터(Chroma data, 이하 YUV 4:2:0 포맷의 크로마 데이터라 한다)에 대한 보간(Interpolation) 과정이 수행되어야 한다.
부호화 장치(1)는 단계적으로 먼저 YUV 4:2:0 포맷의 크로마 데이터에서 YUV 4:2:2 포맷의 크로마 데이터로 변환하고, YUV 4:2:2 포맷의 크로마 데이터를 YUV 4:4:4 포맷의 크로마 데이터로 변환할 수 있다.
일 예로 도 1을 참조하면, YUV 4:2:0포맷의 크로마 데이터(100)에서 인접하는 두 홀수 라인의 크로마 성분의 샘플값에 대한 평균값을 산출하고, 산출된 평균값을 그 사이에 있는 짝수 라인의 크로마 성분의 샘플값으로 하여 YUV 4:2:2 포맷의 크로마 데이터(110)로 변환할 수 있다. 이러한 데이터의 변환 과정을 업샘플링(up-sampling)한다고 한다.
구체적으로 업샘플링(up-sampling)은 루마 화소(luma pixel)에 대응하는 크로마 화소(예를 들어, 영상에서 루마 화소의 위치와 동일한 위치의 크로마 화소) 중 데이터가 없는 빈 크로마 화소의 샘플값을 (주변 크로마 화소의 샘플값을 이용하여) 채우는 과정을 의미한다.
도 1을 참조하면, YUV 4:2:2 포맷의 크로마 데이터(110)에서 인접하는 두 홀수 열의 크로마 성분의 샘플값에 대한 평균값을 산출하고, 산출된 평균값을 그 사이에 있는 짝수 열의 크로마 성분의 샘플값으로 하여 YUV 4:4:4 포맷의 크로마 데이터(120)로 변환할 수 있다. 마찬가지로 YUV 4:2:2 포맷의 크로마 데이터를 YUV 4:4:4 포맷의 크로마 데이터로 변환하는 과정을 업샘플링이라고 한다.
한편 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4포맷의 영상 데이터로 변환하는 과정에서 영상 데이터의 크기는 증가하게 된다. 이론적으로 YUV 4:4:4포맷의 영상 데이터의 크기는 YUV 4:2:0 포맷의 영상 데이터의 크기보다 최대 2배 커지게 된다. 따라서 이를 고려하게 되면 YUV 4:4:4 포맷의 영상 데이터에 요구되는 전송 속도는 29.86Gps의 2배인 59.71Gps(7680*4320*60*3*10)가 된다.
한편 부호화 장치(1)가 YUV 4:4:4 포맷의 영상 데이터를 입력으로 하여, YUV 4:4:4 포맷의 영상 데이터를 부호화하고, 부호화된 영상 데이터를 출력으로 할 때, 부호화된 영상 데이터의 전송속도가 11.94Gps가 되려면, 이론적으로 영상 데이터를 5:1 비율로 압축하여야 한다.
따라서 부호화 장치(1)에 입력되는 YUV 4:4:4 포맷의 영상 데이터 대비 부호화된 데이터에 요구되는 압축비율(5:1)이 실제 의미있는 정보만을 포함하고 있는 YUV 4:2:0 포맷의 영상 데이터 대비 부호화된 데이터의 압축 비율(2.5:1)보다 훨씬 높은 문제점이 있다. 이때, 의미있는 정보란 실제 영상과 관련된 부호화된 영상 정보를 의미하고, 의미 없는 정보는 영상과 직접적으로 관련없는 정보를 의미한다. 예를 들어, 의미 없는 정보는 크로마 화소 중 데이터가 없는 빈 크로마 화소의 샘플값을 채우는 과정(즉, 업샘플링 과정)에서 채워진 샘플값을 포함하는 정보일 수 있다.
따라서 YUV 4:2:0 포맷의 영상 데이터가 YUV 4:4:4 포맷의 영상 데이터로 변환될 때, 영상 데이터를 효율적으로 압축(즉, 부호화)할 수 있도록 영상 데이터가 업샘플링될 필요성이 있다.
한편, 부호화 장치(1)에서도 YUV 4:4:4 포맷의 영상 데이터를 입력받아 부호화하여 출력하는데 제한되지 않고, 의미있는 정보만을 포함하고 있는 YUV 4:2:0 포맷의 영상 데이터가 입력되는 것을 전제로 영상 데이터를 부호화할 수 있도록 부호화 장치(1)의 구성을 일부 수정할 수 있다. 예를 들어, 부호화 장치(1)가 업샘플링된 화소의 데이터를 부호화하지 않거나, 업샘플링된 화소와 관련된 정보를 포함하는 영상 데이터를 최소화하는 방식으로 부호화하여 영상 데이터를 효율적으로 압축할 필요성이 있다.
한편 복호화 장치(2)는 부호화 장치(1)에서 부호화된 영상 정보를 포함하는 비트스트림을 수신한다.
이때 복호화 장치(2)는 비트스트림으로부터 획득된 부호화된 영상 정보를 이용하여 부호화 장치(1)에서 수행된 과정을 역으로 수행한다. 따라서 복호화 장치(2)는 부호화 장치(1)에서 부호화된 영상 정보를 복호화하여 YUV 4:4:4 포맷의 영상데이터를 복원할 수 있다.
이때, 의미있는 정보만을 포함하는 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터이고, 이러한 YUV 4:2:0 포맷의 영상 데이터가 업샘플링되고, 업샘플링된 영상 데이터가 부호화되었기 때문에 실제 전자 기기에서 영상을 디스플레이하기 위해 이용하는 데이터도 YUV 4:2:0포맷의 영상 데이터가 되어야 한다.
따라서 YUV 4:4:4 포맷의 영상 데이터를 YUV 4:2:0 포맷의 영상 데이터로 변환하는 과정이 추가적으로 수행된다.
구체적으로 도 1을 참조하면, YUV 4:4:4 포맷의 영상 데이터에 포함된 크로마 데이터(130)에서 인접하는 짝수 열의 크로마 성분의 샘플값을 버려서(Drop) YUV 4:2:2포맷의 크로마 데이터(140)로 변환할 수 있다.
이러한 데이터의 변환 과정을 다운 샘플링(Down-sampling)이라고 한다. 구체적으로 다운샘플링(down-sampling)은 루마 화소에 대응하는 크로마 화소(예를 들어, 영상 내 루마 화소의 위치와 동일한 위치의 크로마 화소) 중 의미있는 정보를 포함하고 있지 않은 크로마 화소의 샘플값을 버리는 과정을 의미한다.
다시 도 1을 참조하면, YUV 4:2:2 포맷의 크로마 데이터(140)에서 짝수 행의 크로마 성분의 샘플값을 버려서(drop), YUV 4:2:0 포맷의 크로마 데이터(150)로 변환할 수 있다. 마찬가지로 YUV 4:2:2 포맷의 크로마 데이터를 YUV 4:4:0 포맷의 크로마 데이터로 변환하는 과정을 다운샘플링이라고 한다.
전자 기기는 변환된 YUV 4:2:0 포맷의 크로마 데이터(150)를 이용하여 영상을 복원할 수 있다. 전자 기기는 복원된 영상을 디스플레이하고, 사용자는 디스플레이된 영상을 시청할 수 있다.
한편, 만약 영상 데이터가 부호화 장치(1)에 입력되기 전에 YUV 4:2:0 포맷의 영상 데이터에서 YUV 4:4:4 포맷의 영상 데이터로 변환하는 과정에서 효율적으로 압축할 수 있게 하는 업샘플링 방법이 이용되었다면, 영상을 복호화하는 입장에서도 YUV 4:4:4 포맷의 영상 데이터에서 YUV 4:2:0 포맷의 영상 데이터로 변환하는 과정에서는 상기 업샘플링 방법을 반대로 하여 다운샘플링하는 방법이 필요하다.한편 부호화 장치(1)에서도 의미있는 정보만을 포함하고 있는 YUV 4:2:0 포맷의 영상 데이터가 입력되는 것을 전제로 영상 데이터를 부호화할 수 있도록 부호화 장치(1)의 구성을 일부 수정하는 경우, 복호화 장치(2)에서도 의미있는 정보만을 포함하고 있는 YUV 4:2:0 포맷의 영상 데이터가 역으로 출력될 수 있도록 복호화 장치(2)를 수정하여 업샘플링된 화소의 데이터를 부호화하지 않거나, 업샘플링된 화소와 관련된 정보를 포함하는 영상 데이터를 최소화하는 방식으로 효율적으로 압축 부호화된 영상 데이터를 역으로 복호화할 방법이 필요하다.
도 2a는 본 발명의 일 실시예에 따른 부호화 장치(10)의 블록도를 도시한다.
본 발명의 일 실시예에 따른 부호화 장치(10)는 영상 데이터의 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당하고, 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 크로마 채널에 할당하고, 루마 채널에 할당된 루마 데이터 및 크로마 채널에 할당된 크로마 데이터에 기초하여 영상 데이터를 부호화함으로써 부호화 효율을 향상시킬 수 있다.
부호화 장치(10)는 부호화 장치(1)를 수정하지 않고, 그대로 포함하면서 루마 채널 및 크로마 채널에 영상 데이터를 효율적으로 할당하여 부호화 효율을 향상시킨다.
일반적으로 부호화 장치(1)에서 루마 데이터를 위한 채널은 하나이고, 크로마 데이터를 위한 채널은 두개이다.
즉 Y성분의 루마 데이터를 위한 채널이 하나이고, U, V성분의 크로마 데이터를 위한 각각의 채널이 하나씩 존재하여 총 크로마 데이터를 위한 두 개의 채널이 존재한다. 이와 달리 부호화 장치(10)는 크로마 데이터를 위한 하나의 채널을 루마 데이터를 위한 추가적인 채널로 변경한다. 부호화 장치(10)는 하나의 성분을 갖는 루마 데이터를 분할하여 변경된 루마데이터를 위한 추가적인 채널 및 부호화 장치(1)에서의 루마 데이터를 위한 채널에 할당할 수 있다.
한편, 크로마 데이터를 위한 채널이 루마 데이터를 위한 추가적인 채널로 변경됨으로써 크로마 데이터를 위한 채널은 하나가 된다.
따라서 부호화 장치(10)는 복수의 성분을 갖는 크로마 데이터를 하나의 크로마 채널에 할당할 수 있다.
부호화 장치(10)는 각각의 채널에 할당된 데이터를 기초로 영상 데이터를 부호화할 수 있다.
한편, YUV 4:2:0 포맷의 영상 데이터에서 Y성분의 루마 데이터 크기는 U 또는 V 성분을 포함하는 크로마 데이터의 크기의 4배이다. 부호화 장치(1)에서 YUV 4:2:0 포맷의 영상 데이터를 위한 채널은 Y, U, V 성분 각각 하나씩 할당되어 있는데, 각각의 성분의 데이터 크기가 상이하다. 따라서 어떤 채널에서는 의미 있는 정보를 포함하는 데이터가 많고, 다른 채널에서는 의미있는 정보를 포함하는 데이터가 적기 때문에 각 채널을 효율적으로 이용하지 못하는 측면이 있다.
한편, YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환하는 과정은 루마 데이터에 비해 부족한 크로마 데이터를 루마 데이터의 크기와 같게 하기 위해 데이터를 채우는 과정으로 의미 있는 정보가 아닌 데이터를 할당하게 된다. 따라서 영상을 복호화하는데 필요없는 데이터를 채움으로 인해 불필요한 비트가 낭비되는 측면이 있다.
따라서 업샘플링을 하는 것보다 업샘플링 과정없이 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널에 할당하고, 복수의 성분을 갖는 크로마 데이터를 하나의 채널에 할당하여 각 채널에 의미 있는 데이터를 동일한 크기로 할당할 수 있다. 이때 동일한 크기라고 함은 각 픽셀당 비트수가 동일함을 전제로 이용하는 비트수가 동일함을 의미할 수 있다.
따라서 결과적으로 YUV 4:4:4 포맷의 영상 데이터처럼 각 채널에 동일한 크기의 루마 또는 크로마 데이터가 할당된다.
하지만 YUV 4:4:4 포맷의 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터를 이용하여 업샘플링된 영상 데이터이기 때문에 일부 데이터가 의미 있는 정보를 포함하고 있지 않는 반면, 업샘플링 과정없이 일부 크로마 채널을 루마 채널로 변경하고, 루마 데이터를 분할하고, 분할된 루마 데이터를 루마 채널로 변경된 채널에 할당하고, 남은 크로마 채널에 복수의 성분을 갖는 크로마 데이터를 할당함으로써 모두 의미 있는 정보를 포함하고 있기 때문에 채널을 보다 효율적으로 이용할 수 있다.
즉 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환함으로써 영상을 부호화하는데 불필요한 의미 없는 정보를 포함하지 않고, YUV 4:2:0 포맷의 영상 데이터만을 가지고, 각 채널에 동일한 크기의 데이터가 할당될 수 있도록 하고, 따라서 채널을 효율적으로 활용하고 영상 데이터에 의미 없는 부호화된 영상 정보를 포함하지 않도록 하여 부호화 효율을 향상시킬 수 있다.
도 2a를 참조하면, 부호화 장치(10)는 수신부(11), 데이터 할당부(12) 및 부호화부(13)를 포함한다.
수신부(11)는 영상 데이터를 수신한다. 구체적으로 영상 데이터는 하나의 성분의 갖는 루마 데이터 및 복수의 성분을 갖는 크로마 데이터를 포함할 수 있다. 예를 들어, 영상 데이터는 YUV 색공간에서의 영상 데이터이고, 루마 데이터는 Y성분의 데이터를 포함하고, 크로마 데이터는 U, V 성분의 데이터를 포함할 수 있다. 특히, 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터를 포함할 수 있다.
데이터 할당부(12)는 수신부(10)에서 수신한 영상 데이터의 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당할 수 있다. 이때 루마 채널은 2개의 채널을 포함할 수 있다.
한편, 데이터 할당부(12)는 루마 데이터를 공간 영역에서 2개의 루마 데이터로 분할할 수 있다. 데이터 할당부(12)는 공간 영역을 짝수 열, 홀수 열로 분할함으로써 루마 데이터를 2개의 루마 데이터로 분할할 수 있다. 또는 데이터 할당부(12)는 짝수 라인, 홀수 라인으로 분할함으로써 루마 데이터를 2개의 루마 데이터로 분할할 수 있다. 또는 데이터 할당부(12)를 공간 영역의 좌우 또는 상하로 분할함으로써 루마 데이터를 2개의 루마 데이터로 분할할 수 있다. 한편 이에 제한되지 않고 데이터 할당부(12)는 루마 데이터를 다양한 형태의 2개의 루마 데이터로 분할할 수 있다.
한편, 데이터 할당부(12)는 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할할 수 있다.
데이터 할당부(12)는 주파수 영역에서 분할된 2개의 루마 데이터를 2개의 채널에 할당할 수 있다. 예를 들어, 데이터 할당부(12)는 하나의 성분을 갖는 루마 데이터를 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할할 수 있다.
한편 데이터 할당부(12)는 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 채널로 이루어진 크로마 채널에 할당할 수 있다. 구체적으로 데이터 할당부(12)는 2개의 크로마 성분을 포함하는 2개의 크로마 데이터를 하나의 공간 영역에 할당할 수 있다.
부호화부(13)는 루마 채널 및 크로마 채널에 할당된 루마 데이터 및 크로마 데이터를 수신하고, 수신된 루마 데이터 및 크로마 데이터에 기초하여 영상 데이터를 부호화할 수 있다. 영상 데이터를 부호화하는 과정에서 부호화부(13)는 부호화 장치(1)에서 수행하는 기능을 수행할 수 있다.
부호화부(13)는 복수의 채널 각각에 대해 독립적인 양자화 파라미터(Quantization Parameter)를 이용하여 복수의 채널로 이루어진 루마 채널의 루마 데이터를 부호화할 수 있다. 특히, 부호화부(13)는 루마 데이터를 공간 영역에서 2개의 루마 데이터로 나눌 때, 2개의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 복수의 채널로 이루어진 루마 채널의 루마 데이터를 부호화할 수 있다. 이때, 부호화 장치(1)에서 이용되던 크로마 채널을 부호화부(13)에서 추가적인 루마 채널로 이용하게 된다. 부호화 장치(1)의 경우 루마 채널에 대해 이용되는 양자화 파라미터(Quantization Parameter)에 종속하여 크로마 채널에 대해 이용되는 양자화 파라미터가 결정된다. 따라서 부호화 장치(1)의 기능을 그대로 수행하는 경우, 추가적인 루마 채널로 변경된 부호화 장치(1)의 크로마 채널에서 부호화된 루마 데이터의 일부는 부호화 장치(1)의 루마 채널에서 부호화된 루마 데이터의 일부와 상이한 양자화 파라미터를 이용하기 때문에 양자화 과정에서 손실되는 영상 데이터의 양이 달라지게 되고 이를 복원하게 되는 경우, 양자화 과정에서 손실된 정도에 따라 영상의 위치에 따른 영상의 화질이 달라지게 되고, 따라서 화질 열화 현상이 발생하게 된다. 이러한 현상을 방지하기 위해 부호화 장치(1)를 수정하여 부호화부(13)에서 2개의 루마 채널 각각에 대해 독립적인 양자화 파라미터를 이용할 수 있다.
예를 들어, 부호화부(13)는 공간 영역을 짝수, 홀수 라인으로 분할하여 루마 데이터를 2개의 루마 데이터로 분할하고, 분할된 2개의 루마 데이터를 2개의 채널에 할당하고, 2개의 채널에 대해 동일한 양자화 파라미터를 이용하여 루마 데이터를 부호화할 수 있다.
한편, 부호화부(13)는 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할할 때, 주파수 변환을 통해 고주파수 영역의 샘플값을 획득하고, 고주파수 영역의 샘플값의 제1 허용 범위에 대응하는 복수의 제1 부분 범위들 중 획득된 샘플값을 포함하는 하나의 제1 부분 범위를 결정할 수 있다. 이때, 제2 허용범위를 여러 구간으로 나누어서 복수의 제2 부분 범위를 생성할 수 있다. 이때 여러 구간으로 나눌 때, 균등 분할하지 않고 비균등 분할할 수 있다. 비균등 분할할 때, 특히 샘플값의 크기가 일정 크기 이상의 구간에서 그 구간의 크기를 일정 크기 이하의 구간에서의 크기보다 작게 할 수 있다.
부호화부(13)는 고주파수의 영역의 샘플값의 절대값이 소정의 값 이상인 경우, 제1 허용 범위 보다 작은 크기의 제2 허용범위에 대응하는 복수의 제2 부분 범위들 중 하나의 제2 부분 범위(이하, 맵핑 범위라 한다) 의 값들을 제1부분 범위의 값들에 대응되도록 맵핑할 수 있다. 이때 맵핑 범위의 크기는 상기 결정된 하나의 제1 부분 범위의 크기보다 작을 수 있다. 따라서 상기 결정된 하나의 제1 부분 범위에 포함된 값들을 맵핑 범위에 포함된 값들에 맵핑하는 경우, 1:1이 아닌 2:1, 3:1, 4:1의 비율로 맵핑될 수 있따.
한편, 상기와 같이 비균등 맵핑을 수행하는 이유는 주파수 변환을 통해 획득된 고주파수 영역의 크로마 화소 샘플값의 비트수가 주파수 변환전 크로마 화소 샘플값의 비트수와 달라지기 때문에 주파수 변환전 크로마 화소 샘플값의 비트수와 같게 하기 위해 비트수를 조정하기 위함이다. 특히 고주파수 영역의 경우 사용자가 민감하게 인지하는 부분이 아니기 때문에 샘플값의 크기가 큰 경우, 그 값의 크기의 차이에 따라 사용자가 느끼는 차이는 크지 않을 수 있다. 즉 그 값에 손실이 있더라도 사용자는 그 손실에 따른 화질 열화를 거의 느끼지 않는다. 따라서 고주파수 영역에서 가능한 샘플값의 절대값이 큰 범위에서 2:1, 3:1, 4:1과 같은 비균등 맵핑을 함으로써 일부 데이터에 손실이 발생할 수 있지만 사용하는 비트수를 줄일 수 있다. 또한 고주파의 샘플값의 크기가 큰 경우가 확률적으로 많지 않기 때문에 데이터의 손실이 일어날 확률도 그만큼 적다. 설령 데이터의 손실이 일어나더라도 그 데이터의 손실은 사용자 입장에서는 거의 느낄 수 없다.
부호화부(13)는 획득된 샘플값을 부호화할 수 있다. 구체적으로 샘플값을 포함하는 영상 데이터를 엔트로피 부호화하여 영상 데이터를 생성할 수 있다.
도 2b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
단계 210에서, 부호화 장치(10)는 영상 데이터를 수신한다. 예를 들어, 부호화 장치(10)는 YUV 4:2:0 포맷의 영상 데이터를 수신할 수 있다. 부호화 장치(10)는 수신된 영상 데이터에 포함된 복수의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당할 수 있다.
단계 220에서, 부호화 장치(10)는 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 채널로 이루어진 크로마 채널에 할당할 수 있다.
단계 230에서, 부호화 장치(10)는 루마 채널 및 크로마 채널에 각각 할당된 루마 데이터 및 크로마 데이터에 기초하여 루마 채널 및 크로마 채널에 할당된 루마 데이터 및 크로마 데이터에 기초하여 영상 데이터를 부호화할 수 있다.
도 2c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 2c를 참조하면, 복호화 장치(15)는 수신부(16), 복호화부(17) 및 복원부(18)를 포함할 수 있다.
수신부(16)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다.
복호화부(17)는 부호화된 영상 정보에 기초하여 영상을 복호화할 수 있다. 부호화된 영상 정보에 기초하여 영상을 복호화함으로써 루마 데이터 및 크로마 데이터를 획득할 수 있다. 복호화부(17)는 부호화된 영상 정보를 복호화하는 과정에서 복호화부(17)는 복호화 장치(2)에서 수행하는 기능을 수행할 수 있다.
한편, 복호화부(17)는 복수의 채널로 이루어진 루마 채널에 독립적인 양자화 파라미터를 이용하여 영상을 복호화할 수 있다.
한편, 루마 채널에서 획득된 루마 데이터는 부호화 장치(10)에서 하나의 성분을 갖는 루마 데이터가 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할되어 복수의 루마 채널에 각각 할당된 루마 데이터에 대응될 수 있다.
한편, 복호화부(17)는 주파수 역변환을 하기 전에 획득된 고주파수 영역의 샘플값을 고주파수 영역의 샘플값의 제2 허용 범위에 대응하는 복수의 제2 부분 범위들 중 획득된 샘플값을 포함하는 하나의 제2 부분 범위를 결정할 수 있다. 이때, 제2 허용범위는 여러 구간으로 나누어져서 복수의 제2 부분 범위를 생성할 수 있다. 이때 여러 구간으로 나눌 때, 균등 분할하지 않고 비균등 분할할 수 있다. 비균등 분할할 때, 특히 샘플값의 크기가 일정 크기 이상의 구간에서 그 구간의 크기를 일정 크기 이하의 구간에서의 크기보다 작게 할 수 있다.
복호화부(17)는 고주파수의 영역의 샘플값의 절대값이 소정의 값 이상인 경우, 제2 허용 범위 보다 크거나 같은 크기의 제1 허용범위에 대응하는 복수의 제1 부분 범위들 중 하나의 제1 부분 범위(이하, 역맵핑 범위라 한다)의 값들을 제2 부분 범위의 값들에 대응되도록 맵핑할 수 있다. 이때 역맵핑 범위의 크기는 상기 결정된 하나의 제2 부분 범위의 크기보다 작을 수 있다. 따라서 상기 결정된 하나의 제2 부분 범위에 포함된 값들을 역맵핑 범위에 포함된 값들에 맵핑하는 경우, 1:1이 아닌 1:2, 1:3, 1:4의 비율로 맵핑될 수 있다. 이때, 맵핑된 데이터를 복호화(특히 주파수 역변환)되어 생성된 데이터로 할 수 있다.
복원부(18)는 복호화부(17)에서 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득할 수 있다.
복원부(18)는 획득된 루마 채널의 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합할 수 있다. 이때, 루마 채널은 2개의 채널을 포함할 수 있고, 복원부(18)는 2개의 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합할 수 있다.
획득된 루마 채널의 루마 데이터는 부호화 장치(10)에서 공간 영역에서 하나의 성분을 갖는 루마 데이터가 2개의 루마 데이터로 분할되어 2개의 채널에 각각 할당되어 부호화된 루마 데이터일 수 있다.
한편, 획득된 루마 채널의 루마 데이터는 부호화 장치(10)에서 주파수 영역에서 2개의 루마 데이터로 분할되어 루마 채널에 각각 할당된 루마 데이터일 수 있다. 이 경우 복원부(18)는 주파수 영역에서 분할된 2개의 루마 데이터를 하나의 루마 데이터로 병합할 수 있다, 획득된 루마 채널의 루마 데이터는 부호화 장치(10)에서 하나의 성분을 갖는 루마 데이터가 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할되어 루마 채널에 각각 할당된 루마 데이터에 대응될 수 있다.
한편 복원부(18)는 획득된 크로마 채널의 크로마 데이터를 복수의 성분을 갖는 크로마 데이터로 분할할 수 있다. 크로마 데이터는 2개의 크로마 성분을 포함할 수 있고, 복원부(18)는 하나의 공간 영역에서 2개의 크로마 성분을 갖는 크로마 데이터를 각각의 크로마 성분을 갖는 각각의 크로마 데이터로 분할할 수 있다.
복원부(18)는 병합되어 생성된 하나의 성분을 갖는 루마 데이터 및 분할된 복수의 성분을 갖는 크로마 데이터를 획득할 수 있다. 이때 획득되는 루마 데이터 및 크로마 데이터는 YUV 4:2:0포맷의 영상 데이터일 수 있다.
복원부(18)는 획득된 하나의 성분을 갖는 루마 데이터 및 복수의 성분을 갖는 크로마 데이터에 기초하여 영상을 복원할 수 있다.
도 2d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 2d를 참조하면, 단계 250에서, 복호화 장치(15)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다.
단계 260에서, 복호화 장치(15)는 부호화된 영상 정보에 기초하여 영상을 복호화하고, 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 크로마 채널에 할당된 크로마 데이터를 획득할 수 있다.
단계 270에서, 복호화 장치(15)는 획득된 루마 채널의 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합할 수 있다.
단계 280에서, 복호화 장치(15)는 획득된 크로마 채널의 크로마 데이터를 복수의 성분을 갖는 크로마 데이터로 분할할 수 있다.
단계 290에서, 복호화 장치(15)는 병합되어 생성된 하나의 성분을 갖는 루마 데이터 및 분할되어 복수의 성분을 갖는 크로마 데이터에 기초하여 영상을 복원할 수 있다.
도 3a는 본 발명의 일 실시예에 따른 부호화 장치를 도시한 블록도이다.
본 발명의 일 실시예에 따른 부호화 장치(20)는 영상 데이터를 수신(획득)하고, 수신(획득)된 영상에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나 이상의 크로마 성분을 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 크로마 데이터를 변환하고, 변환된 크로마 데이터에 기초하여 하나의 라인을 제외한 나머지 라인에 소정의 값을 할당함으로써 수신된 데이터를 업샘플링하여 부호화 효율을 향상시킬 수 있다.
즉, 복수의 라인의 크로마 데이터에 포함된 크로마 성분을 하나의 라인에 위치하도록 하고, 이를 이용하여 나머지 라인에 소정의 값을 할당함으로써 생성되는 부호화된 영상 정보의 크기를 최소화할 수 있다.
도 3a를 참조하면, 부호화 장치(20)는 수신부(21), 업샘플링부(22) 및 부호화부(23)을 포함할 수 있다.
수신부(21)는 영상 데이터를 수신할 수 있다. 구체적으로 영상 데이터는 YUV 4:2:0포맷의 영상 데이터일 수 있다.
업샘플링부(22)는 수신부(21)에서 수신한 영상 데이터를 업샘플링할 수 있다. 업샘플링부(22)는 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4포맷의 영상 데이터로 변환할 수 있다. 한편 업샘플링부(22)는 YUV 4:2:0 포맷의 영상 데이터를 우선 YUV 4:2:2 포맷의 영상 데이터로 변환하고, 변환된 YUV 4:2:2 포맷의 영상 데이터를 YUV 4:2:0 포맷의 영상 데이터로 변환할 수 있다.
업샘플링부(22)는 수신된 영상에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나 이상의 크로마 성분을 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 크로마 데이터를 변환할 수 있다. 업샘플링부(22)는 하나의 라인을 제외한 나머지 라인에 변환된 크로마 데이터에 기초하여 소정의 값을 할당할 수 있다.
즉 업샘플링부(22)는 영상 데이터에 포함된 크로마 데이터 크기를 줄여, 데이터의 전송을 최소화하기 위해서 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환시 크로마 데이터를 하나의 라인에 집중되도록 하고 나머지 빈 영역을 크로마 데이터에 포함된 성분들 중 적어도 하나이상의 평균 또는 크로마 데이터에 포함된 성분들을 복사하여 채우는 방식으로 영상 데이터에 대한 업샘플링을 수행할 수 있다.
부호화부(23)는 업샘플링된 영상 데이터를 부호화할 수 있다. 이때 영상 데이터를 부호화하는 과정에서 부호화부(23)는 부호화 장치(1)에서 수행하는 기능을 수행할 수 있다.
도 3b는 본 발명의 일 실시예에 따른 부호화 방법을 도시한 흐름도이다.
도 3b를 참조하면, 단계 310에서, 수신부(310)는 영상 데이터를 수신할 수 있다. 이때, 수신하는 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다.
단계 320에서, 부호화 장치(20)는 수신된 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나이상의 크로마 성분을 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 크로마 데이터를 변환할 수 있다.
단계 330에서, 부호화 장치(20)는 변환된 크로마 데이터에 기초하여 상기 하나의 라인을 제외한 나머지 라인에 소정의 값을 할당함으로써 영상 데이터를 업샘플링할 수 있다.
단계 340에서, 부호화 장치(20)는 업샘플링된 영상 데이터를 부호화할 수 있다. 구체적으로 부호화 장치(20)는 상기 하나의 라인을 제외한 나머지 라인에 소정의 값이 할당된 크로마 데이터를 부호화할 수 있다.
도 3c는 본 발명의 일 실시예에 따른 복호화 장치를 도시한 블록도이다.
도 3c를 참조하면, 복호화 장치(25)는 수신부(26), 복호화부(27) 및 다운 샘플링부(28)를 포함한다.
수신부(26)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다. 이 때, 비트스트림은 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나의 크로마 성분을 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 변환된 크로마 데이터에 기초하여 하나의 라인을 제외한 나머지 라인에 소정의 값이 할당되어 부호화된 영상 정보를 포함할 수 있다.
복호화부(27)는 수신부(26)에서 부호화된 영상 정보에 기초하여 영상을 복호화할 수 있다. 이때, 부호화된 영상 정보를 복호화하는 과정에서 복호화부(27)는 복호화 장치(2)에서 수행하는 기능을 수행할 수 있다.
다운 샘플링부(28)는 복호화부(27)에서 영상이 복호화되어 생성된 루마 데이터 및 크로마 데이터를 획득할 수 있다. 이때 루마 데이터 및 크로마 데이터를 포함하는 영상 데이터는 YUV 4:4:4포맷의 영상 데이터일 수 있다.
구체적으로, 다운 샘플링부(28)는 획득된 크로마 데이터에서 하나의 라인에 위치한 적어도 하나 이상의 크로마 성분을 라인을 포함하는 복수의 라인에 할당하여 크로마 데이터를 변환할 수 있다. 이때 변환된 크로마 데이터는 YUV 4:2:0포맷의 영상 데이터일 수 있다. 다운 샘플링부(28)는 루마 데이터 및 변환된 크로마 데이터에 기초하여 영상을 복원할 수 있다. 특히 다운 샘플링부(28)는 업샘플링부(22)의 기능을 역으로 수행할 수 있다.
도 3d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 3d를 참조하면, 단계 350에서, 복호화 장치(25)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다. 구체적으로 비트스트림은 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나 이상의 크로마 성분을 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 변환된 크로마 데이터에 기초하여 하나의 라인을 제외한 나머지 라인에 소정의 값이 할당되어 부호화된 영상 정보를 포함할 수 있다.
단계 360에서, 복호화 장치(25)는 수신부(26)에서 수신한 부호화된 영상 정보에 기초하여 영상을 복호화하고, 복호화 장치(25)는 영상이 복호화되어 생성된 루마 데이터 및 크로마 데이터를 획득할 수 있다. 이때 획득된 루마 데이터 및 크로마 데이터를 포함하는 영상 데이터는 YUV 4:4:4 포맷의 영상 데이터일 수 있다.
단계 370에서, 복호화 장치(25)는 크로마 데이터 및 루마 데이터를 기초로 영상을 복원할 수 있다. 이때, 크로마 데이터 및 루마 데이터는 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나 이상의 크로마 성분을 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 변환된 크로마 데이터에 기초하여 하나의 라인을 제외한 나머지 라인에 소정의 값이 할당됨으로써 업샘플링된 영상 데이터일 수 있다.
복호화 장치(25)는 획득된 크로마 데이터에서 하나의 라인에 위치한 적어도 하나 이상의 크로마 성분을 상기 라인을 포함하는 복수의 라인에 할당하여 크로마 데이터를 변환할 수 있다. 변환된 크로마 데이터에 기초하여 영상을 복원할 수 있다. 구체적으로 다운 샘플링부(28)는 획득된 루마 데이터 및 변환된 크로마 데이터에 기초하여 영상을 복원할 수 있다. 이때 루마 데이터 및 변환된 크로마 데이터를 포함하는 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다. 구체적으로 복호화 장치(25)는 업샘플링부의 기능을 역으로 수행하여 영상을 복원할 수 있다. 부호화 장치(20)에서 업샘플링을 할 때 영상 데이터를 입력으로 하고, 입력된 영상 데이터를 업샘플링하여 업샘플링된 영상 데이터를 생성하게 되는데, 이를 역으로 수행한다 함은 업샘플링된 데이터를 입력으로 하고, 입력된 업샘플링 영상 데이터를 처리하여 영상 데이터를 출력하는 것을 의미한다.
도 4a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
부호화 장치(20)는 영상 데이터를 수신하면, 영상 데이터를 업샘플링하고, 업샘플링 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각을 상기 적어도 하나의 크로마 성분 각각이 위치한 영역과 다른 상기 라인의 영역에 할당하고, 할당된 크로마 성분을 포함하는 크로마 데이터를 부호화할 수 있다. 부호화 장치(30)는 크로마 데이터에 포함된 크로마 성분들이 홀수 열 또는 짝수 열에 띄엄띄엄 위치하게 하는 것이 아니라, 연속적으로 크로마 성분들이 위치하도록 하여 부호화 장치(30)에서 효율적으로 영상 데이터를 부호화할 수 있도록 할 수 있다. 예를 들면 부호화 장치(30)에 (특히 부호화 장치(30)에 포함된 부호화부(33)) YUV 4:2:0 포맷의 데이터가 입력된다고 전제하고, 하나의 라인에 위치한 6개의 루마 화소 중 앞쪽에 위치하는 3개의 루마 화소에 대응되는 3개의 크로마 화소가 왼쪽부터 연속적으로 위치하도록 크로마 데이터를 변환하여, 뒤쪽에 위치하는 3개의 루마 화소의 경우, 이에 대응되는 크로마 데이터 부분은 부호화를 하지않고, 3개의 루마 화소만을 부호화할 수 있다. 즉 불필요한 크로마 데이터 부분에 대해서는 부호화를 하지 않음으로써 부호화 효율을 높일 수 있다.
한편, 부호화 장치(30)(특히, 부호화 장치에 포함된 부호화부(33))는 뒤쪽에 위치하는 3개의 루마 화소 대해서는 ICH(Index Color History) 모드를 이용하지 않도록 할 수 있다. 자세한 내용은 도 12b와 관련하여 후술하도록 하겠다.
도 4a를 참조하면, 부호화 장치(30)는 수신부(31), 업샘플링부(32) 및 부호화부(33)를 포함할 수 있다.
수신부(31)는 영상 데이터를 수신할 수 있다. 이때 수신되는 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다.
업샘플링부(32)는 영상 데이터를 업샘플링할 수 있다. 예를 들어 업샘플링부(32)는 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환할 수 있다. 특히, 영상 데이터에 포함된 루마 데이터는 변환하지 않고, 영상 데이터에 포함된 크로마 데이터를 변환할 수 있다.
부호화부(33)는 업샘플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각을 상기 적어도 하나의 크로마 성분 각각이 위치한 영역과 다른 상기 라인의 영역에 할당하고, 할당된 크로마 성분을 포함하는 크로마 데이터를 부호화할 수 있다. 할당된 크로마 성분을 포함하는 크로마 데이터를 부호화하는 과정에서 부호화부(33)는 부호화 장치(1)에서 수행되는 기능을 수행할 수 있다.
도 4b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 4b를 참조하면, 단계 410에서, 부호화 장치(30)는 영상 데이터를 수신한다. 이때 수신되는 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다.
단계 420에서, 부호화 장치(30)는 영상 데이터를 업샘플링할 수 있다. 예를 들면, 업샘플링부(32)는 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상데이터로 변환할 수 있다.
단계 430에서, 부호화 장치(30)는 업샘플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각을 적어도 하나의 크로마 성분 각각이 위치한 영역과 다른 상기 라인의 영역에 할당할 수 있다.
단계 440에서, 상기 할당된 크로마 성분을 포함하는 크로마 데이터를 부호화한다.
도 4c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 4c를 참조하면, 복호화 장치(35)는 수신부(36), 복호화부(37) 및 다운 샘플링부(38)을 포함한다.
수신부(36)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다. 이때, 비트스트림은 영상 데이터가 업샘플링되고, 업샘플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각이 상기 적어도 하나의 크로마 성분 각각이 위치하는 영역과 다른 상기 라인의 영역에 할당되고, 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함할 수 있다.
복호화부(37)는 수신부(36)에서 수신한 부호화된 영상 정보에 기초하여 영상을 복호화할 수 있다. 복호화부(37)는 영상을 복호화하여 크로마 데이터 및 루마 데이터를 생성할 수 있다. 이때, 복호화부(37)는 복호화 장치(2)에서 수행되는 기능을 수행할 수 있다. 이때, 출력되는 데이터는 YUV 4:4:4 포맷의 영상 데이터일 수 있다.
추가적으로 복호화부(37)는 크로마 데이터에서 하나의 라인에 위치한 적어도 하나의 크로마 성분을 하나의 라인의 적어도 하나의 크로마 성분이 위치하는 영역과 다른 영역에 할당하여 크로마 데이터를 변환할 수 있다. 이때, 적어도 하나의 크로마 성분이 위치하는 영역과 다른 영역은 다운샘플링되지 않을 영역일 수 있다. 구체적으로 복호화부(37)는 부호화부(33)에서 업샘플링된 데이터를 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각이 상기 적어도 하나의 크로마 성분 각각이 위치하는 영역과 다른 상기 라인의 영역에 할당되는 과정을 역으로 수행한다. 따라서 복호화부(37)에서 최종적으로 출력되는 영상 데이터는 업샘플링된 영상 데이터일 수 있다.
다운 샘플링부(38)는 변환된 크로마 데이터를 다운 샘플링하여 영상 데이터를 획득할 수 있다. 즉, 변환된 크로마 데이터를 다운 샘플링하여 생성된 크로마 데이터와 복호화부(37)에서 복호화하여 생성된 크로마 데이터를 포함하는 영상 데이터를 획득할 수 있다. 이때 영상 데이터는 YUV 4:2:0 또는 YUV 4:2:2 포맷의 영상 데이터일 수 있다. 다운 샘플링부(38)는 영상 데이터를 이용하여 영상을 복원할 수 있다.
도 4d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 4d를 참조하면, 450단계에서, 복호화 장치(35)는 부호화된 영상 정보를 포함하는 비트스트림을 수신한다. 이때, 비트스트림은 영상 데이터가 업샘플링되고, 업샘플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각이 상기 적어도 하나의 크로마 성분 각각이 위치히나느 영역과 다른 상기 라인의 영역에 할당되고, 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함할 수 있다.
460 단계에서, 복호화 장치(35)는 부호화된 영상 정보에 기초하여 크로마 데이터를 복호화할 수 있다. 복호화 장치(35)는 복호화 장치(2)에서 수행되는 기능을 수행할 수 있다.
470 단계에서, 복호화 장치(35)는 복호화된 크로마 데이터 및 복호화된 루마 데이터에 기초하여 영상을 복원할 수 있다. 구체적으로 복호화 장치(35)는 복호화된 크로마 데이터에서 하나의 라인에 적어도 하나이상의 크로마 성분을 상기 하나의 라인의 다른 영역에 할당하여 크로마 데이터를 변환할 수 있다. 이때, 상기 하나의 라인의 다른 영역은 다운샘플링되지 않을 영역일 수 있다. 복호화 장치(35)는 변환된 크로마 데이터 및 복호화하여 생성된 크로마 데이터에 기초하여 영상을 복원할 수 있다.
도 5a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 5a를 참조하면, 부호화 장치(40)는 영상 데이터를 수신하고, 수신된 영상 데이터에 포함된 크로마 데이터를 업샘플링하고, 업샘플링된 크로마 데이터의 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터를 부호화할 수 있다.
영상 데이터가 YUV 4:2:0 포맷의 영상 데이터인 경우, 영상 데이터에 포함된 크로마 데이터는 홀수 라인 또는 짝수 라인에만 크로마 성분에 관한 정보가 있을 수 있다. 예를 들어, 만약 홀수 라인에 크로마 성분에 관한 정보가 있는 경우, 짝수 라인에는 크로마 성분에 관한 정보를 포함하지 않을 수 있다.
비록 업샘플링된 데이터는 겉에서는 모든 영역에서 크로마 성분에 관한 정보를 포함하는 것처럼 보이지만, 실제 업샘플링되는 영역에서의 크로마 성분에 관한 정보는 의미있는 정보를 포함하고 있지 않다. 업샘플링되는 영역에 대해서는 부호화를 수행하지 않게 되면, 불필요한 비트수 낭비를 방지할 수 있게 된다.
예를 들어, 홀수 라인에 크로마 성분에 관한 의미 있는 정보를 포함하는 경우, 부호화 장치(40)는 홀수 라인의 크로마 데이터를 부호화하여 업샘플링만 되는 영역인 짝수 라인의 크로마 성분을 부호화하지 않을 수 있다.
부호화 장치(40)는 수신부(41), 업샘플링부(42) 및 부호화부(43)를 포함할 수 있다.
수신부(41)는 영상 데이터를 수신한다. 이때 수신하는 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다.
업샘플링부(42)는 영상 데이터에 포함된 크로마 데이터를 업샘플링할 수 있다. 예를 들면, 업샘플링부(42)는 영상 데이터에 포함된 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환할 수 있다.
부호화부(43)는 업샘플링된 크로마 데이터에 포함된 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터를 선택적으로 부호화할 수 있다. 예를 들어, YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 데이터에서 홀수 라인에서만 크로마 성분에 관한 정보를 포함하고 있는 경우, 부호화부(43)는 업샘플링된 영상 데이터 중 홀수 라인의 크로마 데이터를 부호화하고 짝수라인의 크로마 데이터는 부호화하지 않을 수 있다.
도 5b는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 5b를 참조하면, 510 단계에서, 부호화 장치(40)는 영상 데이터를 수신할 수 있다. 이때 수신된 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다.
520 단계에서, 부호화 장치(40)는 영상 데이터에 포함된 크로마 데이터를 업샘플링할 수 있다. 예를 들어, 업샘플링부(42)는 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환할 수 있다.
530 단계에서, 부호화 장치(40)는 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터를 부호화할 수 있다.
도 5c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 5c를 참조하면, 복호화 장치(45)는 수신부(46), 복호화부(47) 및 다운 샘플링부(48)을 포함한다.
수신부(46)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다. 이때, 비트스트림은 영상 데이터에 포함된 크로마 데이터가 업샘플링되고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터가 부호화된 영상 정보를 포함할 수 있다.
복호화부(47)는 복호화 장치(2)에서 수행되는 기능을 수행할 수 있다. 다만, 복호화 장치(2)와 달리 모든 라인을 복호화하지 않고, 부호화된 영상 정보에 기초하여 영상에 포함된 복수의 라인에서 짝수 라인 또는 홀수 라인 중 하나의 라인을 복호화할 수 있다. 이때 복호화부(47)는 부호화된 영상 정보를 복호화하여 크로마 데이터 및 루마 데이터를 생성할 수 있다.
다운 샘플링부(48)는 복호화하여 생성된 크로마 데이터를 다운 샘플링할 수 있다. 예를 들어, 다운 샘플링부(48)는 복호화하여 생성된 크로마 데이터를 YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 데이터로 변환할 수 있다. 다운 샘플링부(48)는 복호화하여 생성된 루마 데이터 및 다운 샘플링된 크로마 데이터에 기초하여 영상을 복원할 수 있다.
도 5d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 5d를 참조하면, 단계 550에서, 복호화 장치(45)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다. 이때, 비트스트림은 영상 데이터에 포함된 크로마 데이터가 업샘플링되고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터가 부호화된 영상 정보를 포함할 수 있다.
단계 560에서, 복호화 장치(45)는 부호화된 영상 정보에 기초하여 영상에 포함된 복수의 라인에서 짝수 라인 또는 홀수 라인 중 하나의 라인을 복호화할 수 있다.
단계 570에서, 복호화 장치(45)는 복호화하여 생성된 크로마 데이터를 다운 샘플링 할 수 있다. 복호화 장치(45)는 다운 샘플링된 크로마 데이터와 복호화하여 생성된 루마 데이터에 기초하여 영상 데이터를 획득할 수 있다. 복호화 장치(45)는 획득된 영상 데이터에 기초하여 영상을 복원할 수 있다.
도 6a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 6a를 참조하면, 부호화 장치(50)는 수신부(51), 업샘플링부(52) 및 부호화부(53)을 포함한다.
수신부(51)는 영상 데이터를 수신한다. 예를 들어, 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터를 수신할 수 있다.
업샘플링부(52)는 수신부(51)에서 수신된 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분을 상기 라인과 상이한 라인에 할당할 수 있다.
업샘플링부(52)는 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 해당 라인의 빈 영역에 할당될 샘플값을 획득함으로써 업샘플링된 영상 데이터를 생성할 수 있다.
부호화부(53)는 상기 업샘플링된 영상 데이터를 부호화할 수 있다. 부호화부(53)는 부호화 장치(1)에서 수행되는 기능을 수행할 수 있다.
도 6b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 6b를 참조하면, 610 단계에서, 부호화 장치(50)는 영상 데이터를 수신할 수 있다. 이때, 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터일 수 있다.
620 단계에서, 부호화 장치(50)는 수신된 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치한 복수개의 크로마 성분 중 적어도 하나의 성분을 상기 라인과 상이한 라인에 할당한다.
630 단계에서, 부호화 장치(50)는 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 해당 라인의 빈 영역에 할당될 샘플값을 획득함으로써 영상 데이터를 업샘플링할 수 있다.
640 단계에서, 부호화 장치(50)는 업샘플링된 영상 데이터를 부호화할 수 있다. 구체적으로 및 수신된 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치한 복수개의 크로마 성분 중 적어도 하나의 성분을 상기 라인과 상이한 라인에 할당하고, 상기 할당된 크로마 성분의 샘플값에 기초하여 해당 라인의 빈 영역에 할당될 샘플값을 획득하여 변환된 크로마 데이터 및 영상 데이터에 포함된 루마 데이터를 부호화할 수 있다.
도 6c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 6c를 참조하면, 복호화 장치(55)는 수신부(56), 복호화부(57) 및 다운 샘플링부(58)을 포함할 수 있다.
수신부(56)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다. 이때 비트스트림은 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분이 상기 하나의 라인과 상이한 라인에 할당되고, 상기 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 상기 하나의 라인의 빈 영역에 할당될 샘플값이 획득되고, 상기 획득된 샘플값을 포함하는 영상 데이터가 부호화된 영상 정보를 포함한다.
복호화부(57)는 부호화된 정보에 기초하여 영상을 복호화할 수 있다. 복호화부(57)는 복호화하여 루마 데이터 및 크로마 데이터를 생성할 수 있다. 이때 루마 데이터 및 크로마 데이터는 YUV 4:4:4 포맷의 영상데이터일 수 있다. 복호화부(57)는 복호화 장치(2)에서 수행되는 기능을 수행할 수 있다.
다운 샘플링부(58)는 복호화부(57)에서 획득된 크로마 데이터 및 루마 데이터를 기초로 영상을 복원할 수 있다.
다운 샘플링부(58)는 복호화부(57)에서 복호화하여 생성된 영상 데이터에 포함된 크로마 데이터는 복수의 라인 중 하나의 라인에 할당된 복수의 샘플값을 기초로 하나의 라인에 할당될 하나의 크로마 성분의 샘플값을 획득할 수 있다.
다운 샘플링부(58)는 획득된 라인에 할당된 크로마 성분을 상기 하나의 라인과 상이한 라인에 할당할 수 있다. 다운 샘플링부(58)는 획득된 라인에 할당된 크로마 성분을 기초로 변환된 크로마 데이터를 획득할 수 있다. 즉 다운 샘플링부(58)는 복호화부(57)에서 복호화하여 생성된 루마 데이터 및 변환된 크로마 데이터를 획득할 수 있다. 다운 샘플링부(58)는 획득된 루마 데이터 및 변환된 크로마 데이터를 포함하는 영상 데이터를 기초로 영상을 복원할 수 있다.
구체적으로 다운 샘플링부(58)는 업샘플링부(52)에서 수행된 기능을 역으로 역으로 수행할 수 있다.
도 6d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 6d를 참조하면, 650 단계에서, 복호화 장치(55)는 부호화된 영상 정보를 포함하는 비트스트림을 수신한다. 이때, 비트스트림은 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분이 상기 하나의 라인과 상이한 라인에 할당되고, 상기 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 상기 하나의 라인의 빈 영역에 할당될 샘플값이 획득되고, 상기 획득된 샘플값을 포함하는 영상 데이터가 부호화된 영상 정보를 포함할 수 있다.
660 단계에서, 복호화 장치(55)는 부호화된 영상 정보에 기초하여 영상을 복호화할 수 있다. 복호화 장치(55)는 복호화하여 루마 데이터 및 크로마 데이터를 생성할 수 있다. 이때 루마 데이터 및 크로마 데이터는 YUV 4:4:4 포맷의 영상데이터일 수 있다.
670, 680 단게에서, 복호화 장치(55)는 복호화하여 생성된 루마 데이터 및 크로마 데이터에 기초하여 영상을 복원할 수 있다.
670 단계에서, 복호화 장치(55)는 복호화된 영상 데이터에 포함된 크로마 데이터 복호화 장치(55)는 복호화된 영상 데이터에 포함된 크로마 데이터는 복수의 라인 중 하나의 라인에 할당된 복수의 샘플값을 기초로 하나의 라인에 할당될 하나의 크로마 성분의 샘플값을 획득할 수 있다.
680단계에서, 복호화 장치(55)는 획득된 라인에 할당된 크로마 성분을 상기 하나의 라인과 상이한 라인에 할당할 수 있다. 복호화 장치(55)는 획득된 라인에 할당된 크로마 성분을 기초로 변환된 크로마 데이터를 획득할 수 있다. 즉 복호화 장치(55)는 부호화하여 생성된 루마 데이터 및 변환된 크로마 데이터를 획득할 수 있다. 복호화 장치(55)는 획득된 루마 데이터 및 변환된 크로마 데이터를 포함하는 영상 데이터를 기초로 영상을 복원할 수 있다.
도 7a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
부호화 장치(60)는 크로마 및 루마 성분을 포함하는 복수의 성분을 갖는 영상 데이터를 수신하고, 수신된 크로마 및 루마 성분을 포함하는 복수의 성분을 갖는 영상 데이터를 복수의 채널에 각각 할당하고, 복수의 채널에 각각 할당된 복수의 성분을 갖는 영상 데이터를 부호화한다. 이때, 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 영상 데이터를 부호화할 수 있다.
부호화 장치(60)는 하나의 채널의 양자화 파라미터를 기준으로 다른 채널의 양자화 파라미터를 결정하여 오프셋을 비트스트림에 포함할 수 있다. 예를 들어, 부호화 장치(60)는 채널 1의 양자화 파라미터가 10인 경우, 채널 2의 양자화 파라미터를 11로 결정된 경우, 채널 2의 오프셋은 채널 1 기준으로 11-10=1로 결정되고, 오프셋 정보를 비트스트림에 포함할 수 있다. 복호화 장치에서는 비트스트림에 포함된 오프셋을 이용하여 기준 채널의 QP에서 해당 채널의 QP를 결정할 수 있다.
한편 부호화 장치(60)는 하나의 성분을 갖는 루마 데이터를 공간 영역에서 두개의 루마 데이터로 분할하고, 분할된 데이터를 2개의 채널에 할당하여 루마 데이터를 부호화 할 수 있다. 이때, 2개의 채널이 종속적인 경우, 예를 들어 하나의 채널의 양자화 파라미터보다 다른 채널의 양자화 파라미터가 항상 작게 결정되는 경우, 서로 다른 양자화 파라미터에 따라 양자화되고, 이 과정에서 분할된 루마 데이터 간에 양자화에 따른 데이터의 손실 정도가 달라질 수 있다.
따라서 양자화하여 부호화된 루마 데이터를 복호화 장치에서 복호화하는 경우, 양자화 파라미터가 채널마다 상이하기 때문에 양자화 파라미터가 다르게 적용된 2개의 복호화된 루마 데이터를 병합하여 하나의 성분을 갖는 루마 데이터로 병합하는 경우, 사람의 눈으로 보는 경우 양자화 오차의 차이에 따라 데이터 간 화질의 차이가 발생하여 화질이 좋지 않다고 판단할 수 있다.
도 7a를 참조하면, 부호화 장치(60)는 수신부(61), 데이터 할당부(62) 및 부호화부(63)을 포함할 수 있다.
수신부(61)는 영상 데이터를 수신할 수 있다. 예를 들어, 수신부(61)는 크로마 성분 및 루마 성분을 포함하는 복수의 성분을 갖는 영상 데이터를 수신할 수 있다.
데이터 할당부(62)는 크로마 및 루마 성분을 포함하는 복수의 성분을 갖는 영상 데이터를 복수의 채널에 각각 할당할 수 있다.
부호화부(63)는 복수의 채널에 각각 할당된 복수의 성분을 갖는 영상 데이터를 부호화할 수 있다. 이때, 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 영상 데이터를 부호화할 수 있다.
이때, 부호화 장치(60)는 하나의 채널의 양자화 파라미터를 기준으로 다른 채널의 양자화 파라미터를 결정하여 오프셋에 관한 정보를 비트스트림에 포함할 수 있다.
도 7b는 본 발명의 일 실시예에 따른 부호화 방법의 흐름도를 도시한다.
도 7b를 참조하면, 710단계에서, 부호화 장치(60)는 영상 데이터를 수신할 수 있다. 부호화 장치(60)는 크로마 성분 및 루마 성분을 포함하는 복수의 성분을 갖는 영상 데이터를 수신할 수 있다.
720 단계에서, 부호화 장치(60)는 크로마 성분 및 루마 성분을 포함하는 복수의 성분을 갖는 영상 데이터를 복수의 채널에 각각 할당할 수 있다.
730 단계에서, 부호화 장치(60)는 복수의 채널에 각각 할당된 복수의 성분을 갖는 영상 데이터를 부호화할 수 있다. 이때, 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 영상 데이터를 부호화할 수 있다. 이때, 부호화 장치(60)는 하나의 채널의 양자화 파라미터를 기준으로 다른 채널의 양자화 파라미터를 결정하여 오프셋에 관한 정보를 비트스트림에 포함할 수 있다.
도 7c는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 7c를 참조하면, 복호화 장치(65)는 수신부(66), 복호화부(67) 및 복원부(68)을 포함한다.
수신부(66)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다.
복호화부(67)는 부호화된 영상 정보에 기초하여 영상을 복호화할 수 있다.
복호화부(67)는 복호화 장치(2)에서 수행되는 기능을 수행할 수 있다. 복호화부(67)는 영상을 복호화하여 생성된 데이터로부터 복수의 채널에 할당된 루마 데이터 및 크로마 데이터를 획득할 수 있다.
복호화부(67)는 복호화 장치(2)와 달리 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 영상을 복호화할 수 있다. 구체적으로 복호화부(67)는 비트스트림에 포함된 오프셋과 관련된 정보를 이용하여 하나의 채널의 양자화 파라미터에서 다른 채널의 양자화 파라미터를 결정할 수 있다.
도 7d는 본 발명의 일 실시예에 따른 복호화 방법의 흐름도를 도시한다.
도 7d를 참조하면, 750 단계에서, 복호화 장치(65)는 부호화된 영상 정보를 포함하는 비트스트림을 수신할 수 있다.
760 단계에서, 복호화 장치(65)는 부호화된 영상 정보에 기초하여 영상을 복호화할 수 있다. 이때 영상을 복호화하여 복수의 채널에 할당된 루마 데이터 및 크로마 데이터가 생성될 수 있다. 복호화 장치(65)는 복호화하여 생성된 복수의 채널에 할당된 루마 데이터 및 크로마 데이터를 획득할 수 있다.
이때, 복호화 장치(65)는 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 영상을 복호화할 수 있다.
770단계에서, 복호화 장치(65)는 복수의 채널에 할당된 루마 데이터 및 크로마 데이터를 이용하여 영상을 복원할 수 있다.
도 8a는 본 발명의 일 실시예에 따른 부호화 장치의 블록도를 도시한다.
도 8a를 참조하면, 부호화 장치(1)는 예측 양자화 및 복원부(805), 라인 버퍼부(810), ICH 모드 설정부(815), 엔트로피 부호화부(820), 평탄도 결정부(825), 비트레이트 제어부(830) 및 레이트 버퍼부(835)를 포함한다.
예측 양자화 및 복원부(805)는 영상에 포함된 현재 화소를 예측한다. 예측 양자화 및 복원부(805)는 현재 화소의 예측값과 실제 현재 화소의 샘플값과의 차이를 나타내는 레지듀 성분을 생성하고, 레지듀 성분을 양자화하여 부호화한다.
예측 양자화 및 복원부(805)는 부호화된 화소를 다시 복호화하여 라인 버퍼부(810)에 저장하고, 다른 화소를 예측하는데 활용할 수 있다.
구체적으로 예측 양자화 및 복원부(805)는 MMAP(Modified Median-Adaptive Predictor)를 이용하여 3개의 현재 화소를 다음 표 1과 같이 동시에 예측할 수 있다.
Figure pat00001
예측 양자화 및 복원부(805)는 도 8b에 도시된 바와 같이, 현재 첫번째, 두번째, 세번째 화소를 상기 표 1과 같이 각각 P0, P1 및 P2로 예측할 수 있다. 즉 현재 라인의 바로 이전 픽셀 a 및 라인 버퍼부(820)에 저장된 전 라인의 s, c, b, d, e, f 화소의 샘플값을 이용할 수 있다.
이때 -QuantDivisor[qLevel]/2, QuantDivisor[qLevel]/2는 현재 양자화 가능한 최대 또는 최소값을 의미한다. CLAMP(a,b,c)함수는 a 값이 b와 c 사이인 경우 그래도 a값을 출력하고, a값이 b보다 작은 경우 b, a값이 c보다 큰 경우 c를 출력하는 함수를 의미한다. Maxbpc는 채널 당 최대 비트수를 의미한다.
예를 들면, 예측 양자화 및 복원부(805)는 화소 b에 대한 필터링 출력 filtB를 화소 b, 화소 b에 인접한 좌측 화소 c, 화소 b에 인접한 화소 d를 이용하여 결정한다. 이와 유사한 방법으로 예측 양자화 및 복원부(805)는 화소 c,d,e에 대한 필터링 출력 filtC, filtD, filtE를 결정할 수 있다.
한편 예측 양자화 및 복원부(805)는 filtC 및 화소 c의 값, 현재 양자화 가능한 최대 또는 최소값을 이용하여 화소 c와 관련된 diffC를 결정할 수 있다. 예를 들면, 예측 양자화 및 복원부(805)는 현재 양자화 가능한 최대 또는 최소값 사이의 filtC와 화소 c의 값의 차이값(flitC-c)으로 diffC를 결정할 수 있다. 이와 유사한 방법으로 예측 양자화 및 복원부(805)는 diffB, diffD, diffE를 결정할 수 있다.
예측 양자화 및 복원부(805)는 화소 c의 값과 화소 c와 관련된 filtC를 이용하여 c와 관련된 blendC를 결정할 수 있다. 이와 유사한 방법으로 예측 양자화 및 복원부(805)는 blendB, blendD, blendE를 결정할 수 있다.
한편 현재 첫번째 화소의 예측값 P0는 화소 a의 값, blendB, blendC를 이용하여 결정할 수 있다. JPEG-LS 표준의 경우, 현재 화소 P0의 예측값 P0는 화소 a의 값, 화소 b의 값, 화소 c의 값을 이용하여 결정되는데, 예측 양자화 및 복원부(805)는 화소 b의 값 대신 blendB, 화소 c의 값 대신 blendC를 이용하여 부호화를 효율적으로 수행할 수 있다.
한편 현재 두번째 화소의 예측값 P1은 화소 a의 값, blendB, blendC, blendD 및 현재 첫번째 화소의 레지듀얼 R0를 이용하여 결정될 수 있다.
한편 세번째 화소의 예측값 P2는 화소 a의 값, blendB, blendC, blendD, blendE, 현재 첫번째 화소의 레지듀얼 R0, 현재 두번째 화소의 레지듀얼 R1을 이용하여 결정될 수 있다.
한편, 현재 화소가 첫번째 라인에 위치하는 경우, 이전 라인이 없기 때문에 현재 첫번째 화소의 예측값 P0는 화소 a의 값으로 결정되고, 현재 두번째 화소의 예측값 P1은 화소 a의 값 및 현재 첫번째 화소의 레지듀얼 R0 및 채널 당 최대 비트수 Maxbpc를 이용하여 결정될 수 있다. 마찬가지로 현재 세번째 화소의 예측값 P2는 화소 a의 값 및 현재 첫번째 화소의 레지듀얼 R0, 현재 두번째 화소의 레지듀얼 R1 및 채널 당 최대 비트수 Maxbpc를 이용하여 결정될 수 있다
한편 현재 첫번째, 두번째 화소, 세번째 화소를 예측(P0,P1,P2)하기 위해 BP(Block Prediction)를 이용하여 다음 표 2와 같은 다른 예측이 수행될 수 있다.
Figure pat00002
예측 양자화 및 복원부(805)는 도 8c에 도시된바와 같이 vpVector값을 결정하고, 결정된 vpVector값에 따라 해당 화소의 값을 참조하여 현재 화소를 예측할 수 있다. hPos는 현재 화소의 위치를 나타내는 인덱스를 의미한다. 예를 들어, hpos가 0이면 현재 첫번째 화소를 의미하고, 현재 첫번째 화소의 예측값 P[hPos]는 vpVector 값(-3~-10)에 따라 참조하는 픽셀의 위치를 나타내는 인덱스가 hPos + vpVector인 화소의 값을 이용하여 예측된 값일 수 있다.
한편, 예측 양자화 및 복원부(805)는 MPP(Midpoint prediction)을 이용하여 현재 3개의 화소를 다음 표 3과 같이 예측할 수 있다.
Figure pat00003
현재 3개의 화소의 레지듀 성분의 최대 값이 채널당 최대 비트수(maxBpc) 및 양자화 파라미터(qLevel)의 차이보다 같거나 큰 경우 도 8d에 도시된 바와 같이 MPP(Midpoint prediction)가 수행될 수 있다. 이때 현재 3개의 비트에 대해 예측된 예측값 midpointPred는 화소 a의 값, 채널당 최대 비트수(maxBpc), 양자화 파라미터(qLevel)를 이용하여 결정될 수 있다. MPP에 따라 예측되는 경우, 레지듀 성분의 사이즈는 채널당 최대 비트수(maxBpc)와 양자화 파라미터(qLevel)의 차이로 설정될 수 있다.
ICH 모드 결정부(815)는 현재 3개의 화소에 대해 ICH모드를 이용할 것인지 여부를 결정할 수 있다. 예를 들어, ICH 모드 결정부(815)는 상기와 같은 예측 방식(MMAP)를 이용할 것인지 또는 ICH 모드를 이용할 것인지 결정할 수 있다. ICH 모드는 후술한다. ICH모드는 MMAP로 예측이 잘되지 않지만 주변에서 픽셀값을 참조할 수 있는 패턴이나 그래픽에 적합한 모드일 수 있다.
라인 버퍼부(810)는 현재 3개의 화소가 위치한 라인의 이전 라인에 있는 화소들의 샘플값을 저장할 수 있다.
엔트로피 부호화부(820)는 현재 3개의 화소의 레지듀 성분 및 기타 부호화 정보를 엔트로피 부호화할 수 있다. 구체적으로 엔트로피 부호화부(820)는 현재 3개의 화소의 레지듀 성분 및 기타 부호화 정보를 가변 길이 엔트로피 코딩할 수 있다.
평탄도 결정부(825)는 양자화 왜곡을 줄이기 위해서 평탄하지 않은 화소를 포함하는 영역에서 평탄한 화소를 포함하는 영역으로 변화하는지 여부를 판단한다. 평탄도 결정부(825)의 판단에 기초하여 비트레이트 제어부(830)는 양자화 파라미터를 조절할 수 있다.
비트레이트 제어부(830)는 레이트 버퍼부(835)의 상태, 현재 예측에서 사용되는 비트수 및 평탄도 결정부(825)에서 결정된 양자화 파라미터 조절 여부 등에 기초하여 비트레이트를 제어할 수 있다.
레이트 버퍼부(835)는 비트스트림이 손실되지 않고 전송될 수 있도록 비트스트림을 임시적으로 저장한다.
도 8e는 본 발명의 일 실시예에 따른 복호화 장치의 블록도를 도시한다.
도 8e는 복호화 장치(2)는 레이트 버퍼부(850), 엔트로피 복호화부(855), 평탄도 결정부(860), 비트레이트 제어부(865), ICH 모드 결정부(870), 라인 버퍼부(875), 예측 역양자화 및 복원부(880)를 포함한다.
레이트 버퍼부(850)는 비트스트림이 손실되지 않고 수신될 수 있도록 비트스트림을 임시적으로 저장한다.
엔트로피 복호화부(855)는 수신된 비트스트림을 엔트로피 복호화한다.
평탄도 결정부(860)는 수신된 비트스트림에 포함된 부호화 정보에 기초하여 양자화 왜곡을 줄이기 위해서 평탄하지 않은 화소를 포함하는 영역에서 평탄한 화소를 포함하는 영역으로 변화하는지 여부를 판단한다.
평탄도 결정부(860)의 판단에 기초하여 비트레이트 제어부(865)는 양자화 파라미터를 조절할 수 있다.
비트레이트 제어부(865)는 현재 예측에서 사용되는 비트수 및 평탄도 결정부(860)에서 결정된 양자화 파라미터 조절 여부 등에 기초하여 비트레이트를 제어할 수 있다.
ICH 모드 결정부(870)는 비트스트림으로부터 수신된 부호화 정보에 기초하여 현재 3개의 화소에 대해 ICH모드를 이용할 것인지 여부를 결정할 수 있다. 예를 들어, 상기와 같은 예측 방식(MMAP)를 이용할 것인지또는 ICH 모드를 이용할 것인지 결정할 수 있다. ICH 모드는 후술한다. ICH모드는 MMAP로 예측이 잘되지 않지만 주변에서 픽셀값을 참조할 수 있는 패턴이나 그래픽에 적합한 모드일 수 있다.
라인 버퍼부(875)는 현재 3개의 화소 이전의 라인에 위치한 화소들의 샘플값을 저장할 수 있다.
예측 역양자화 및 복원부(880)는 수신된 비트스트림에 포함된 부호화 정보를 기초로 현재 화소를 예측하고, 비트스트림에 포함된 레지듀 성분을 역이진화하여 현재 화소의 예측값과 합성하여 현재 3개의 화소를 복원하고, 복호화된 화소를 라인버퍼부(875)에 저장하고, 다음 화소를 예측하는데 활용될 수 있다.
구체적으로 예측 역양자화 및 복원부(880)는 MMAP(Modified Median-Adaptive Predictor)를 이용하여 3개의 화소를 다음 표 4와 같이 예측할 수 있다.
Figure pat00004
현재 첫번째, 두번째 및 세번째 화소를 도 8b에 도시된 바와 같이, 예측하여 P0, P1, P2를 결정할 수 있다. 즉 현재 라인의 바로 이전 픽셀 a 및 라인 버퍼부(875)에 저장된 전 라인의 s, c, b, d, e, f 화소를 이용할 수 있다. 이때 -QuantDivisor[qLevel]/2, QuantDivisor[qLevel]/2는 현재 양자화 가능한 최대 또는 최소값을 의미한다.
CLAMP(a,b,c)함수는 a 값이 b와 c 사이인경우 그래도 a값을 출력하고, a값이 b보다 작은 경우 b, a값이 c보다 큰 경우 c를 출력하는 함수를 의미한다. Maxbpc는 채널 당 최대 비트수를 의미한다. 예를 들면, 예측 양자화 및 복원부(805)는 화소 b에 대한 필터링 출력 filtB를 화소 b, 화소 b에 인접한 좌측 화소 c, 화소 b에 인접한 화소 d를 이용하여 결정한다. 이와 유사한 방법으로 예측 양자화 및 복원부(805)는 화소 c, d, e에 대한 필터링 출력 filtC, filtD, filtE를 결정할 수 있다.
한편 예측 양자화 및 복원부(805)는 filtC 및 화소 c의 값, 현재 양자화 가능한 최대 또는 최소값을 이용하여 화소 c와 관련된 diffC를 결정할 수 있다. 예를 들어, 예측 양자화 및 복원부(805)는 현재 양자화 가능한 최대 또는 최소값 사이의 filtC와 화소 c의 값의 차이값(filtC-c)으로 결정할 수 있다. 이와 유사한 방법으로 예측 양자화 및 복원부(805)는 diffB, diffD, diffE를 결정할 수 있다.
예측 양자화 및 복원부(805)는 화소 c의 값과 화소 c와 관련된 diffC를 이용하여 c와 관련된 blendC를 결정할 수 있다. 이와 유사한 방법으로 예측 양자화 및 복원부(805)는 blendB, blendD, blendE를 결정할 수 있다.
한편 현재 첫번째 화소의 예측값 P0는 화소 a의 값, blendB, blendC를 이용하여 결정할 수 있다. JPEG-LS 표준의 경우, 현재 화소 P0의 예측값 P0는 화소 a의 값, 화소 b의 값, 화소 c의 값을 이용하여 결정되는데, 예측 양자화 및 복원부(805)는 화소 b의 값 대신 blendB, 화소 c의 값 대신 blendC를 이용한다.
한편 현재 두번째 화소의 예측값 P1은 화소 a의 값, blendB, blendC, blendD 및 현재 첫번째 화소의 레지듀얼 R0를 이용하여 결정될 수 있다.
한편 세번째 화소의 예측값 P2는 화소 a의 값, blendB, blendC, blendD, blendE, 현재 첫번째 화소의 레지듀얼 R0, 현재 두번째 화소의 레지듀얼 R1을 이용하여 결정될 수 있다.
한편, 현재 픽셀이 첫번째 라인에 위치하는 경우, 이전 라인이 없기 때문에 현재 첫번째 화소의 예측값 P0는 화소 a의 값으로 결정되고, 현재 두번째 화소의 예측값 P1은 화소 a의 값 및 현재 첫번째 화소의 레지듀얼 R0 및 채널 당 최대 비트수 Maxbpc를 이용하여 결정될 수 있다. 마찬가지로 현재 세번째 화소의 예측값 P2는 화소 a의 값 및 현재 첫번째 화소의 레지듀얼 R0, 현재 두번째 화소의 레지듀얼 R1 및 채널 당 최대 비트수 Maxbpc를 이용하여 결정될 수 있다
한편 현재 첫번째, 두번째, 세번째 화소를 예측하기 위해 BP(Block Prediction)를 이용하여 다음 표 5와 같은 다른 예측이 수행될 수 있다.
Figure pat00005
예측 역양자화 및 복원부(880)는 도 8c에 도시된 바와 같이, vpVector값을 결정하고, 결정된 vpVector값에 따라 해당 화소의 값을 참조하여 현재 화소를 예측할 수 있다. hPos는 현재 화소의 위치를 나타내는 인덱스(index)를 의미한다. 예를 들어, hpos가 0이면 현재 첫번째 화소를 의미하고, 현재 첫번째 픽셀의 예측값 P[hPos]는 vpVector 값(-3~-10)에 따라 참조하는 픽셀의 위치를 나타내는 인덱스가 hPos + vpVector인 화소의 값을 이용하여 예측된 값일 수 있다.한편, 예측 역양자화 및 복원부(880)는 MPP(Midpoint prediction)를 이용하여 현재 3개의 화소를 다음 표 6과 같이 예측할 수 있다.
Figure pat00006
현재 3개의 화소의 레지듀 성분의 최대 값이 채널 당 비트수(maxBpc) 및 양자화 파라미터(qLevel)의 차이보다 같거나 큰 경우 도 8d에 도시된 바와 같이, MPP(Midpoint prediction)가 수행될 수 있다. 이때 현재 3개의 비트에 대해 예측된 예측값 midpointPred는 화소 a의 값, 채널당 최대 비트수, 양자화 파라미터를 이용하여 결정될 수 있다. MPP에 따라 예측되는 경우, 레지듀 성분의 사이즈는 채널당 최대 비트수(maxBpc)와 양자화 파라미터(qLevel)의 차이로 설정될 수 있다.
도 9a는 본 발명의 일 실시예에 따른 업샘플링없이 YUV 4:2:0 포맷의 데이터를 부복호화하는 과정을 설명하기 위한 도면이다.
도 9a를 참조하면, 영상의 높이가 H, 영상의 너비가 W인 YUV 4:2:0 포맷의 영상 데이터가 입력 데이터라고 가정한다. 일반적으로 부호화 장치(1)는 3 채널의 입력을 수신하여 영상을 부호화할 수 있는데, 이때 3 채널의 입력은 각각 Y성분, U성분, V성분의 입력일 수 있다.
한편 YUV 4:2:0 포맷의 영상 데이터의 경우, U성분, V성분의 데이터 양은 Y성분의 데이터 양의 1/4배이다.
부호화 장치(10)(특히, 부호화부(13))의 3개의 채널을 통해 YUV 4:2:0 포맷의 영상 데이터에 포함된 Y, U, V성분을 각각 입력하면, 각각의 채널에 입력되는 데이터의 양이 상이하다.
또한, 부호화 장치(10)는 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환한 후에 변환된 영상 데이터를 부호화한다.
따라서, YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환하는 과정에서 영상 데이터에 포함된 크로마 데이터가 업샘플링될 수 있다. 이때 업샘플링하여 생성된 크로마 데이터는 실제 영상과 관련된 데이터가 아니기 때문에 불필요하게 데이터의 양이 증가되는 측면이 있다.
따라서 하나의 성분을 갖는 루마 데이터와 두 성분을 갖는 크로마 데이터의 데이터의 양을 고려하여 각각의 채널에 동일한 데이터의 양을 할당하고, 부호화 장치(10)의 입장에서 마치 Y채널 U채널 V채널로 각 3개의 채널로 동일한 데이터의 양이 입력되어 YUV 4:4:4 포맷의 영상 데이터처럼 인식할 수 있도록 하여 불필요한 업샘플링을 수행하지 않게 하는 방법이 제안된다.
일 실시예에 따라 부호화 장치(10)는 각 채널에 영상 데이터를 할당할 수 있다. 먼저 Y성분을 포함하는 루마 데이터를 주파수 영역에서 두개의 루마 데이터로 분할하여 채널에 할당되는 데이터의 양을 1/2배로 줄인다. 여기서는 루마 데이터를 주파수 변환하여 고주파수 영역의 루마 데이터 및 저주파수 영역의 루마 데이터를 생성하여 루마 데이터를 고주파수 및 저주파수 영역의 루마 데이터로 분할할 수 있다. 이때, 주파수 변환하는 방법은 화소의 샘플값 a 및 인접하는 화소의 샘플값 b를 이용하여 저주파수 및 고주파수 영역의 루마 데이터를 결정할 수 있다.
예를 들어, 이렇게 분할된 두 루마 데이터는 Ch0 및 Ch1에 할당될 수 있다. 이때 채널에 할당되는 데이터의 양은 절반이 되므로, 높이가 절반이 되거나(Vertical transform의 경우), 너비가 절반(Horizontal transform)의 경우)이 되어 Ch0, Ch1을 통해 해당 데이터가 전송될 수 있다. 일 예인 수직 변환(Vertical transform)이 수행되는 과정은 도 9c를 참조하여 구체적으로 후술하도록 하겠다.
일반적으로 부호화부(13)에서 Ch0는 루마 데이터를 위한 채널이고, Ch1 및 Ch2는 크로마 데이터를 위한 채널이다. 사람의 눈은 크로마에 덜 민감하기 때문에 채널 Ch0로 입력되는 루마 데이터에 대해서는 낮은 양자화 파라미터를 이용하여 루마 데이터를 부호화한다. 한편 채널 Ch1, Ch2로 입력되는 크로마 데이터에 대해서는 높은 양자화 파라미터를 이용하여 크로마 데이터를 부호화한다.
한편, 부호화 장치(10)는 루마 데이터를 2개의 루마 데이터로 분할하고, 저주파수 영역의 데이터는 Ch0에 할당하고, 고주파수 영역의 데이터를 Ch1에 할당할 수 있다. 사람의 눈은 저역 통과 필터의 특성을 가지기 때문에 저주파수에는 민감하고, 고주파수에는 덜 민감하기 때문에 상대적으로 민감한 저주파수 영역의 데이터는 낮은 양자화 파라미터를 이용하는 Ch0에 할당하고, 상대적으로 덜 민감한 고주파수 영역의 데이터는 높은 양자화 파라미터를 이용하는 Ch1에 할당하여 효율적으로 루마 데이터를 부호화할 수 있다.
한편, 부호화 장치(10)는 2개의 성분을 갖는 크로마 데이터를 채널 CH2에 할당할 수 있다. 이때 YUV 4:2:0 포맷의 영상 데이터에서 2개의 성분을 갖는 크로마 데이터는 루마 데이터의 1/4배이고, 루마 데이터를 절반으로 분할하여 2개의 채널에 할당하였는데, 이때, 2개의 성분을 갖는 크로마 데이터를 하나의 채널에 할당하게 되면 동일한 데이터의 양을 각각의 채널에서 전송하게 된다.
따라서 마치 부호화 장치(10)의 입장에서는 Y채널, U채널, V채널에서 동일한 데이터의 양이 들어오는 YUV 4:4:4 포맷의 영상 데이터와 같이 인식할 수 있다.
결국 부호화 장치(10)는 별도의 업샘플링 없이 영상을 부호화하기 때문에 불필요한 데이터를 생성하지 않을 수 있다.
한편, 부호화 장치(10)는 채널 Ch0, Ch1, Ch2를 통해 입력되는 루마 데이터 및 크로마 데이터를 부호화한다. 전술한 바와 같이 각 채널에 대해서 양자화 파라미터를 달리하여 부호화할 수 있다. 부호화 장치(10)는 부호화된 정보를 포함하는 비트스트림을 생성할 수 있다.
복호화 장치(15)는 부호화된 영상 정보를 포함하는 비트스트림을 수신하고, 수신된 부호화된 영상 정보를 이용하여 영상을 복호화할 수 있다. 이때, 복호화된 영상의 데이터는 각각의 채널로부터 획득될 수 있다. 복호화 장치(15)에서 획득된 데이터는 채널 Ch0에 할당된 저주파수 영역의 루마 데이터, 채널 Ch1에서 할당된 고주파수 영역의 루마 데이터 및 채널 Ch2에 할당된 2개의 성분을 갖는 크로마 데이터를 포함할 수 있다. 복호화 장치(15)는 채널 Ch0에 할당된 저주파수 영역의 루마 데이터 및 채널 Ch1에 할당된 고주파수 영역의 루마 데이터를 병합하여 하나의 성분을 갖는 루마 데이터를 생성할 수 있다.
이때 병합된 데이터는 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터가 단순히 합쳐진 형태에 불과할 수 있다. 따라서 복호화 장치(15)는 병합된 데이터에 대한 주파수 역변환을 수행하여 공간 영역의 루마 데이터로 변환할 수 있다. 주파수 역변환을 수행할 때, 저주파수 성분 low 및 고주파수 성분 high를 이용하여 화소의 샘플값 a'및 b'를 결정할 수 있다.
이 때, 복원되는 루마 데이터는 너비가 W이고 높이가 H인 영상의 루마 데이터이다. 반면 영상을 복호화하여 채널 ch2에서 U, V성분을 갖는 크로마 데이터를 획득할 수 있다. 복호화 장치(15)는 획득된 크로마 데이터를 U성분, V성분의 크로마 데이터로 분할할 수 있다.
복호화 장치(15)는 Ch0, Ch1을 통해 획득된 Y성분의 루마 데이터와 Ch2를 통해 획득된 U, V성분의 크로마 데이터를 포함하는 영상 데이터를 이용하여 영상을 복원할 수 있다. 이때 영상이 복원되는데 이용되는 각각 Y, U, V성분의 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터이다.
도 9b는 본 발명의 일 실시예에 따른 업샘플링없이 YUV 4:2:0 포맷의 데이터를 부복호화하는 과정을 설명하기 위한 도면이다.
도 9b를 참조하면, 영상의 높이가 H, 영상의 너비가 W 인 YUV 4:2:0 포맷의 영상 데이터가 입력 데이터라고 가정한다. 일반적으로 부호화 장치(10)는 3채널의 입력을 수신하여 영상을 부호화할 수 있는데, 이때 3채널의 입력은 각각 Y성분, U성분, V성분의 입력일 수 있다. 한편 YUV 4:2:0 포맷의 영상 데이터의 경우, U성분, V성분의 데이터 양은 각각 Y성분의 데이터 양의 1/4배이다.
3채널을 통해 YUV 4:2:0 포맷의 데이터의 Y, U, V성분을 각각 부호화 장치(10)에 입력되는 경우, 각각의 채널에 할당되는 데이터의 양이 상이하다.
일반적으로 부호화 장치(10)는 YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4포맷의 영상 데이터로 변환한 후에 처리한다. 따라서, YUV 4:2:0 포맷의 영상 데이터를 YUV 4:4:4 포맷의 영상 데이터로 변환하는 과정에서 영상 데이터에 포함된 크로마 데이터가 업샘플링된다. 이때 업샘플링하여 생성된 크로마 데이터는 실제 영상에 관한 정보를 나타내는 데이터가 아니다. 따라서 불필요하게 데이터의 양이 증가된다.
부호화 장치(10)가 하나의 성분을 갖는 루마 데이터와 두 성분을 갖는 크로마 데이터의 데이터의 양을 고려하여 각각의 채널에 동일한 데이터의 양을 할당함으로써 부호화 장치(10)의 입장에서 마치 Y채널 U채널 V채널로 각 3개의 채널로 동일한 데이터의 양이 입력되어 YUV 4:4:4 포맷의 영상 데이터처럼 인식할 수 있도록 하여 불필요한 데이터의 양을 증가시키는 업샘플링을 수행하지 않게 하는 방법이 제안된다.
일 실시예에 따라 부호화 장치(10)는 각 채널에 영상 데이터를 할당할 수 있다. 먼저 Y성분을 포함하는 루마 데이터를 공간 영역에서 두개의 루마 데이터로 분할하여 채널에 할당되는 데이터의 양을 1/2배로 줄인다. 예를 들어, 공간 영역에서 짝수/홀수 라인에 따라 영역을 분할함으로써 두개의 루마 데이터로 분할할 수 있다. 또는 짝수/홀수 열에 따라 영역을 분할함으로써 두개의 루마 데이터로 분할할 수 있다.
이렇게 분할된 2개의 루마 데이터는 Ch0 및 Ch1에 할당될 수 있다. 이때 채널에 할당되는 데이터의 양은 절반이 되므로, 짝수/홀수 라인에 따라 영역을 분할하는 경우, 높이가 절반이 될 수 있고 짝수/홀수 열에 따라 영역을 분할하는 경우 너비가 절반이 되어 Ch0, Ch1을 통해 해당 데이터가 전송될 수 있다.
예를 들어, 부호화 장치(10)는 루마 데이터를 공간 영역에서 짝수/홀수 라인에 따라 영역을 분할하는 경우, 2개의 루마 데이터로 분할하고, 짝수 라인 영역의 데이터는 Ch0에 할당하고, 홀수 라인 영역의 데이터를 Ch1에 할당할 수 있다.
한편, 부호화 장치(10)는 2개의 성분을 갖는 크로마 데이터를 채널 CH2에 할당할 수 있다. 이때 YUV 4:2:0 포맷의 영상 데이터에서 하나의 성분을 갖는 크로마 데이터는 루마 데이터의 1/4배이고, 루마 데이터를 절반으로 분할하여 2개의 채널에 할당하였는데, 2개의 성분을 갖는 크로마 데이터를 하나의 채널에 할당하게 되면 동일한 데이터의 양을 각각의 채널에서 전송하게 된다.
따라서 마치 부호화 장치(10)의 입장에서 Y채널, U채널, V채널에서 동일한 데이터의 양이 들어오는 YUV 4:4:4 포맷의 영상 데이터와 같이 인식할 수 있다.
따라서 별도의 업샘플링 없이 영상을 부호화하기 때문에 불필요한 데이터를 생성하지 않을 수 있다.
한편, 부호화 장치(10)는 채널 Ch0, Ch1, Ch2를 통해 입력되는 루마 데이터 및 크로마 데이터를 부호화한다. 전술한 바와 같이 각 채널에 대해서 양자화 파라미터를 달리하여 부호화할 수 있다. 부호화 장치(10)는 부호화된 영상 정보를 포함하는 비트스트림을 생성할 수 있다.
복호화 장치(15)는 부호화된 영상 정보를 포함하는 비트스트림을 수신하고, 부호화된 영상 정보를 이용하여 영상을 복호화할 수 있다. 이때, 복호화되는 영상의 데이터는 각각의 채널로부터 획득될 수 있다. 복호화 장치(15)에서 획득된 데이터는 채널 Ch0에 할당된 짝수라인 영역의 루마 데이터, 채널 Ch1에서 할당된 홀수라인 영역의 루마 데이터 및 채널 Ch2에 할당된 2개의 성분을 갖는 크로마 데이터를 포함할 수 있다. 복호화 장치(15)는 채널 Ch0에 할당된 짝수라인 영역의 루마 데이터 및 채널 Ch1에 할당된 홀수라인 영역의 루마 데이터를 병합하여 하나의 성분을 갖는 루마 데이터를 생성할 수 있다.
이 때, 복원된 루마데이터는 너비가 W이고 높이가 H인 영상의 루마 데이터이다. 영상을 복호화하여 채널 ch2에서 U, V성분을 갖는 크로마 데이터를 획득할 수 있다. 복호화 장치(15)는 획득된 크로마 데이터를 U성분, V성분의 크로마 데이터로 분할할 수 있다.
복호화 장치(15)는 Ch0, Ch1을 통해 획득된 Y성분의 루마 데이터와 Ch2를 통해 획득된 U, V성분의 크로마 데이터를 포함하는 영상 데이터를 이용하여 영상을 복원할 수 있다. 이때 영상을 복원하기 위해 이용되는 Y, U, V성분의 영상 데이터는 YUV 4:2:0 포맷의 영상 데이터이다.
도 9c는 본 발명의 일 실시예에 따른 부호화 장치가 수직 변환(Vertical transform)을 수행하는 과정을 설명하기 위한 도면이다.
도 9c의 왼쪽 도면을 참조하면, YUV 4:2:0 포맷의 영상 데이터를 도시하고 있다.
부호화 장치가 주파수 변환의 방법으로 수직 변환(Vertical transform)을 수행하는 경우, 현재 픽셀의 루마 샘플값 및 이와 인접하는 같은 열 다른 행의 픽셀의 루마 샘플값을 이용하여 고주파수 영역의 루마 샘플값 및 저주파수 영역의 샘플값을 결정할 수 있다. 예를 들어, 현재 픽셀이 0번째 행 0번째 열에 위치한 화소의 루마 샘플값(Y0_0)과 1번째 행 0번째 열에 위치한 화소의 루마 샘플값(Y_1_0)를 이용하여 고주파수 영역의 루마 샘플값(H0_0) 및 저주파수 영역의 샘플값(L0_0)을 결정할 수 있다. 또한 현재 픽셀이 2번째 행 0번째 열에 위치한 화소의 루마 샘플값(Y2_0) 및 3번째 행 0번째 열에 위치한 화소의 루마 샘플값(Y_3_0)를 이용하여 고주파수 영역의 루마 샘플값(H2_0) 및 저주파수 영역의 샘플값(L2_0)을 결정할 수 있다. 한편, 수직 변환(Vertical Transform)는 매 행마다 수행되지 않고, 한 행씩 건너뛰면서(짝수행 또는 홀수행마다) 수행될 수 있다.
따라서 수직 변환(Vertical Transform)을 수행하여 생성된 고주파수 영역의 샘플값들을 포함하는 루마 데이터는 영상의 너비가 W이고, 영상의 높이가 H/2인 데이터이다. 저주파수 영역의 샘플값들을 포함하는 루마 데이터도 마찬가지이다.
한편 수평 변환(Horizental Transform)의 경우, 수직 변환(Vertical Transform)과 달리, 현재 픽셀의 루마 샘플값 및 인접하는 같은 행 다른 열의 픽셀의 루마 샘플값을 이용하여 고주파수 영역의 루마 샘플값 및 저주파수 영역의 샘플값을 결정할뿐, 그 수행되는 과정은 유사하므로 이에 대한 상세한 설명은 생략하도록 하겠다.
도 10은 본 발명의 일 실시예에 따른 부호화 장치가 업샘플링하는 과정을 설명하기 위한 도면이다.
부호화 장치(20)는 YUV 4:2:0 포맷의 영상 데이터를 수신하고, 이를 YUV 4:4:4 포맷의 영상 데이터로 업샘플링하려고 한다.
도 10을 참조하면, YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 데이터(1010)를 도시하고 있다. YUV 4:2:0 포맷의 영상 데이터(1010)에서 YUV 4:4:4 포맷의 영상 데이터로 업샘플링하는 과정에서 YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 화소(2, 3)를 하나의 라인에 위치하는 빈 크로마 화소로 이동시켜 하나의 라인을 채우고, 채워진 하나의 라인의 화소(0,2,1,3)를 이용하여 나머지 라인을 채운다. 나머지 라인은 빈 영역으로 YUV 4:4:4 포맷의 영상 데이터로 변환하기 위해서 채워져야 하는 영역이다.
부호화 장치(10)는 하나의 라인을 채우고, 하나의 라인에 위치한 화소의 샘플값을 취하여 그대로 아래 라인들로 복사(copy)하는 방식으로 나머지 라인을 채울 수 있따. 한편, 부호화 장치(10)는 하나의 라인을 채우고, 하나의 라인에 위치한 복수 화소의 샘플값의 평균을 산출하여 아래 라인들을 채울 수 있다. 다만, 이에 제한되지 않고, 부호화 장치(20)는 주변에 복원된 화소의 샘플값으로부터 아래 라인에 채울 값을 결정하여 아래 라인들을 채울 수 있다.
부호화 장치(20)는 YUV 4:4:4 포맷의 영상 데이터(1020)를 입력으로 하여 영상 데이터를 부호화한다.
부호화 장치(20)는 부호화된 영상 정보를 포함하는 비트스트림을 생성한다.
복호화 장치(25)는 부호화된 영상 정보를 포함하는 비트스트림을 수신하고, 부호화된 정보로부터 영상을 복호화할 수 있다. 복호화 장치(25)는 영상을 복호화하여 크로마 데이터 및 루마 데이터를 포함하는 영상 데이터를 획득할 수 있다. 이때 획득된 영상 데이터는 YUV 4:4:4 포맷의 영상 데이터(1030)일 수 있다.
복호화 장치(25)는 YUV 4:4:4 포맷의 영상 데이터(1030)를 YUV 4:2:0 포맷의 영상 데이터(1040)로 변환한다. 이때, 복호화 장치(25)는 부호화 장치(20)에서 수행한 과정을 정반대로 수행하게 된다. 즉, 복호화 장치(25)는 하나의 라인에 위치한 크로마 화소를 다른 라인에 위치하도록 하여 YUV 4:2:0 포맷의 영상 데이터에서 나타나는 크로마 화소에 위치하도록 배치하고, 업샘플링된 영역의 샘플값은 버리는(Drop)하는 과정을 통해 YUV 4:2:0 포맷의 영상 데이터(1040)를 획득할 수 있다.
이때 부호화 장치(20), 복호화 장치(25)는 업샘플링되는 크로마 데이터의 전송을 최소화하기 위해 영상과 관련된 정보가 있는 데이터는 하나의 라인에 몰아서 압축 효율을 높이고, 나머지 라인에 예측하여 생성되는 레지듀 정보를 최소화할 수 있도록 값을 채움으로써 압축 효율을 높일 수 있다.
도 11은 본 발명의 일 실시예에 따른 부복호화 장치가 크로마 데이터를 분할하여 부복호화하는 과정을 설명하기 위한 도면이다.
부호화 장치(50)가 YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 Cb 데이터를 분할하여 부복호화할 수 있다.
도 11을 참조하면, 부호화 장치(50)는 Cb_0 화소를 표현하는 데이터 10비트의 일부를 업샘플링 영역에 분산한다. 예를 들어, Cb_0화소의 10비트 중 LSB 기준 7-9번째 비트(Cb_0[9:7])는 그대로 위치하게 하고, Cb_0화소의 10비트 중 LSB 기준 4~6번째 비트(Cb_0[6:4])는 Cb_0 화소 바로 오른쪽 화소 부분에 할당하고, Cb_0화소의 10비트 중 LSB 기준 2-3번째 비트(Cb_0[3:2])는 현재 Cb_1 화소 위치에 할당하고, Cb_0화소의 10비트 중 LSB 기준 0-1번째 비트(Cb_0[1:0])는 Cb_1 화소 위치 옆에 할당하여 10비트를 하나의 라인에 분산하여 배치한다.
한편, 각각의 화소의 샘플값은 10비트로 표현되는데, 분산 배치함으로 인해 10비트를 모두 채워져서 화소의 샘플값이 표현되지 않은 상태이다.
이때 분산되는 데이터는 해당 화소의 MSB부터 채워지고, 나머지 비트는 제로 패딩(zero padding)에 의해 0으로 채울 수 있다. 한편 Cb_1 화소가 Cb_0 아래 라인에 위치되도록 하고, Cb_0 화소와 같은 형태로 데이터를 분산시킬 수 있다. 이렇게 데이터를 분산시킴으로써 높은 양자화 파라미터를 이용하여 크로마 데이터를 부호화하는 경우에 손실되는 데이터를 최소화시킬 수 있다.
즉, 양자화되는 과정에서 손실되는 데이터는 하위 LSB쪽인데 하위 LSB 위치하는 양자화된 데이터를 업샘플링 영역의 MSB 부분에 분산하여 손실되는 부분을 최소화할 수 있다.
구체적으로 부호화 장치(50)에서 양자화하는 과정에서 양자화 파라미터의 값에 따라 오른쪽으로 bit shift연산을 수행하고 복호화 장치(55)에서 역양자화하는 과정에서 다시 왼쪽으로 bit shift하게 된다.
예를 들면, 크로마 화소가 8비트로 표현되는 경우, 화소값이 15라면 비트로는 0000 1111로 표현된다. 이때, 4개의 화소 비트의 MSB쪽에 각각 2비트씩 분산시킬 수 있다. 예를 들어, 4개의 화소 비트의 MSB쪽에 각각 2비트씩 분산시키고 하위 비트를 0으로 채우면 각 화소 비트는 (0000 0000), (0000 0000) (1100 0000) (1100 0000)이 된다. 이때 양자화 파라미터(Quantization parameter)가 5인 경우, 각 화소는 하위 5bit를 오른쪽 bit shift 연산을 통해 제거할 수 있다. 이때 각 화소 비트는 (000), (000), (110), (110)가 된다. 이를 다시 역양자화하게 되면 왼쪽으로 5 bit 만큼 bit shift 연산을 수행하여 (0000 0000), (0000 0000), (1100 0000), (1100 0000)이 된다. 이때 각 화소의 MSB부터 2비트를 취해서 병합하면, 15(0000 1111)를 복원할 수 있다. 한편 데이터를 분산시키지 않는 경우, 양자화 파라미터가 5인 경우 15는 0이 되고, 이를 다시 역양자화하면 0이 되어 데이터의 손실이 발생하게 된다. 따라서 업샘플링 영역을 활용하여 데이터를 분산시킴으로써 화질 열화를 최소화할 수 있다.
부호화 장치(50)는 YUV 4:4:4 포맷의 영상 데이터를 수신하고, 수신된 영상 데이터를 부호화할 수 있다. 이때 부호화된 영상 정보를 포함하는 비트스트림을 생성하여 전송할 수 있다.
복호화 장치(55)는 부호화된 영상 정보를 포함하는 비트스트림을 수신하고, 부호화된 영상 정보를 이용하여 영상을 복호화할 수 있다.
복호화 장치(55)는 영상을 복호화하여 크로마 데이터 및 루마 데이터를 포함하는 영상 데이터를 생성할 수 있다. 이 때 생성되는 영상 데이터는 YUV 4:4:4 포맷의 영상 데이터일 수 있다. 복호화 장치(55)는 YUV 4:4:4 포맷의 영상 데이터에서 각각의 라인의 화소의 MSB로부터 2 또는 3비트를 취하여 각각의 라인의 화소에서 대표값을 결정할 수 있다. 화소 1, 화소 3의 경우, 결정된 대표값을 각각 첫번째 세번째 라인의 세번째 열에 할당할 수 있다. 화소 0, 화소 2의 경우 결정된 대표값을 첫번째, 세번째 라인의 첫번째 열에 할당할 수 있다.
복호화 장치(55)는 상기와 같이 할당된 샘플값을 포함하는 크로마 데이터에서 업샘플링된 영역의 샘플값은 버려서(Drop) YUV 4:2:0 포맷의 영상 데이터를 획득할 수 있다.
도 12a는 본 발명의 일 실시예에 따른 YUV 4:2:2 포맷의 영상 데이터를 위한 부호화 장치가 영상 데이터를 부호화하는 과정을 설명하기 위한 도면이다.
도 12a를 참조하면, YUV 4:2:2 포맷의 영상 데이터에 포함된 크로마 데이터를 도시하고 있다.
YUV 4:2:2 포맷의 크로마 데이터는 홀수열에 크로마 샘플값이 존재하고, 짝수열에는 크로마 샘플값이 존재하지 않는다. 한편 효과적으로 크로마 데이터를 부호화하기 위해 두개의 루마 그룹(3화소) 당 하나의 크로마 그룹(3화소)을 맵핑시킬 수 있다. 도 12를 다시 참조하면, YUV 4:2:2 포맷의 크로마 데이터는 한 라인에 여섯 화소의 루마 데이터에 대응하여 한 라인의 홀수열에 세 화소에 관한 정보를 포함하고 있다.
크로마 데이터는 홀수열마다 배치되어 있는데 이를 도 12a의 오른쪽 도면에 도시된 바와 같이 한쪽으로 몰아서 앞쪽 3화소는 크로마 샘플값을 포함하고, 뒤쪽 3화소는 크로마 샘플값은 포함하지 않도록 할 수 있다. 한편, 부호화 장치(30)는 앞쪽 3화소에 대해서는 루마, 크로마 성분을 모두 부호화하게 되지만, 뒤쪽 3화소에 대해서는 루마 성분만을 부호화하도록 할 수 있다.
한편, 앞쪽 3화소의 경우 루마 성분 및 이에 대응되는 크로마 성분을 포함하고 있기 때문에 앞쪽 3화소를 부호화하는 경우 부호화 장치(30)는 ICH 모드에 따라 부호화할 수 있다.
반면, 부호화 장치(30)는 뒤쪽 3 화소의 경우 루마 성분만을 부호화하기 때문에 뒤쪽 부분에 대해서는 ICH 모드에 따라 부호화하지 않도록 결정할 수 있다. 이 경우 ICH 모드에 따라 부호화하지 않기 때문에 ICH 모드와 관련된 인덱스 정보도 생성되지 않는다.
도 12b는 ICH 모드를 설명하기 위한 도면이다.
부호화 장치(1)는 3화소 단위로 부호화하게 된다. 이때 부호화 장치(1)는 3픽셀을 함께 예측을 수행할 수 있다. 예측을 수행하는 화소를 P0, P1, P2라고 가정한다. 한편 s,c,b,d,e,f 화소는 이전 라인에서 부호화되고 복호화된 화소이다. 이러한 픽셀의 YUV성분의 샘플값은 특정 저장 공간에 저장되어 5BIT의 INDEX에 의해 접근될 수 있다. 예를 들면, INDEX 25-31까지 이전 라인의 픽셀의 위치의 YUV성분의 샘플값이 접근될 수 있다. ICH 모드에서는 INDEX에 의해 YUV 성분의 샘플값에 접근하면 해당값이 현재 예측하는 픽셀의 예측값이 된다. 한편 INDEX 0-24까지는 현재 예측이 수행되는 라인에서 이전에 부호화되고 복호화된 픽셀의 YUV성분의 샘플값이 저장되어 있다.
결국, ICH모드는 최근에 이용된 픽셀의 YUV성분의 값이 저장되고 특정 인덱스를 이용하여 바로 해당값을 참조하여 현재 예측하는 픽셀의 예측값으로 하는 모드를 의미한다.
예를 들어, b픽셀에는 YUV성분의 샘플값이 각각 10,9,8이라고 한다면 그 값은 라인 버퍼에 저장되어 있고 이와 함께 INDEX 27에 의해 접근될 수 있다. 현재 P0 픽셀의 예측값을 결정하는 경우에 ICH 모드에 의해 부호화한다고 결정되고 b픽셀의 YUV성분의 샘플값을 그대로 현재 P0 픽셀의 YUV성분의 예측값으로 할 수 있다. 이때 비트스트림에 해당 INDEX 27 및 ICH 모드를 이용하는지 여부를 나타내는 정보가 포함될 수 있다. 복호화부(2)는 비트스트림에 포함된 ICH 모드를 이용하는지 여부를 나타내는 정보 및 인덱스를 이용하여 ICH모드에 따라 현재 P0픽셀의 YUV성분의 예측값을 결정할 수 있다.
도 13은 본 발명의 일 실시예에 따른 YUV 4:2:0 포맷의 영상 데이터를 위한 부호화 장치가 영상 데이터를 부호화하는 과정을 설명하기 위한 도면이다.
도 13을 참조하면 YUV 4:2:0 포맷의 영상 데이터에 포함된 크로마 데이터는 홀수 또는 짝수 라인에서 크로마 샘플값을 포함하지 않는다. 본 실시예에서는 짝수라인에서 크로마 샘플값을 포함하지 않는다고 가정한다.
일반적인 부호화 장치(1)는 YUV 4:4:4 포맷의 영상 데이터가 입력됨을 전제로 하기 때문에 업샘플링된 모든 크로마 데이터를 부호화한다.
하지만 YUV 4:2:0 포맷의 영상 데이터가 입력된다고 가정하는 경우, 짝수 라인의 크로마 데이터는 부호화하지 않고, 홀수 라인의 크로마 데이터를 부호화할 수 있다.
즉 YUV 4:2:0 포맷의 영상 데이터가 YUV 4:4:4 포맷의 영상데이터로 변환되어 부호화 장치(40)에 입력되더라도 업샘플링만 되는 라인의 크로마 데이터를 부호화하지 않을 수 있다. 한편, 업샘플링만 되는 라인은 루마 데이터만 전송할 수 있다.
도 14는 본 발명의 일 실시예에 따른 부호화 장치 및 복호화 장치에서 채널별로 독립적인 파라미터를 이용하여 부복호화하는 과정을 설명하기 위한 도면이다.
도 14을 상단을 참조하면, 부호화 장치(1)는 Y성분을 위한 채널 ch0, U성분을 위한 채널 ch1, V성분을 위한 채널 ch2를 통해 YUV성분의 영상 데이터를 입력받을 수 있다. 한편, 부호화 장치(1)는 각 채널에 대해 양자화 파라미터를 달리하여 각 성분의 영상 데이터를 양자화 및 부호화할 수 있다. 사람의 눈은 크로마보다 루마에 민감하기 때문에 일반적으로 루마 데이터에 대해 낮은 양자화 파라미터를 이용하여 루마 데이터를 양자화 및 부호화할 수 있다.
한편 U성분, V성분과 같이 크로마 데이터는 상대적으로 높은 양자화 파라미터를 이용하여 크로마 데이터를 양자화 및 부호화할 수 있다.
다만 부호화 장치(1)는 Y성분, U성분, V성분을 위한 채널을 미리 설정해두고 Y성분을 위한 채널에 이용되는 양자화 파라미터는 종속적으로 U성분 또는 V성분을 위한 채널에 이용되는 양자화 파라미터의 값보다 작게 결정된다.
한편, 도 14의 하단을 참조하면, 전술한 바와 같이 부호화 장치(60)는 루마 데이터를 공간 영역에서 분할하여 2개의 루마 데이터로 분할할 수 있고, 분할된 2개의 루마 데이터를 2개의 채널에 할당할 수 있다. 하지만 ch0가 루마 성분을 위한 채널이라고 하고, ch1이 크로마 성분을 위한 채널이라고 하면, 크로마 성분을 위한 채널의 양자화 파라미터는 루마 성분을 위한 채널의 양자화 파라미터보다 크게 결정될 수 있다. 따라서 분할된 2개의 데이터를 ch0, ch1에 각각 할당하는 경우, 다른 양자화 파라미터를 이용하여 각각 루마 데이터를 부호화하게 된다. 따라서 이 경우, 양자화 파라미터가 다름으로 인하여 왜곡현상이 발생할 수 있다. 따라서 본 발명의 일 실시예에 따른 부호화 장치(60)는 크로마 및 루마 성분을 포함하는 복수의 성분을 포함하는 크로마 데이터 및 루마 데이터를 할당하는 복수의 채널에 각각 독립적인 양자화 파라미터를 이용하여 크로마 데이터 및 루마 데이터를 부호화할 수 있다.
이 경우 채널마다 독립적으로 양자화 파라미터를 결정할 수 있기 때문에, 루마 데이터를 2개의 데이터로 분할하고, 2개의 루마 데이터를 2개의 채널에 할당하더라도 동일한 양자화 파라미터를 이요하여 루마 데이터를 부호화할 수 있어 영상의 왜곡 현상을 방지할 수 있다.
한편 부호화 장치(60)는 각각의 채널에 대해 독립적으로 양자화 파라미터를 결정할 수 있고, 하나의 채널을 기준으로 나머지 채널의 양자화 파라미터는 오프셋을 결정하여 오프셋과 관련된 정보를 비트스트림에 포함하여 전송할 수 있다.
복호화 장치(65)는 비트스트림에 포함된 오프셋과 관련된 정보를 기초로 하나의 채널을 기준으로 나머지 채널의 양자화 파라미터를 결정할 수 있다. 이렇게 결정된 양자화 파라미터를 이용하여 영상 데이터를 복호화할 수 있다.
도 15a는 본 발명의 일 실시예에 따른 고주파수 영역의 루마 데이터를 결정하는 과정을 설명하기 위한 도면이다.
도 15a를 참조하면, 부호화 장치(10)는 루마 데이터를 주파수 변환할 때, 잘 알려진 S-transform 방법을 이용하여 주파수 변환할 수 있다. 에를 들어, H'0_0(0번째 행 0번째 열 화소의 고주파수 성분)은 Y0_0 (0번째 행 0번째 열 화소의 루마 샘플값)과 Y1_0(1번째 행 0번째 열 화소의 루마 샘플값)의 차이를 이용하여 산출될 수 있다. 이때, H'0_0를 나타내기 위해 이용되는 비트수는 Y0_0, Y1_0의 비트수와 달라질 수 있다. 예를 들어, Y0_0, Y1_0를 나타내는 비트수가 8비트인 경우, H'0_0를 나타내는 비트수는 9비트가 된다.
한편 H'0_0를 나타내는 비트수를 Y0_0, Y1_0를 나타내는 비트수와 동일하게 하기 위해서 H'0_0를 나타내는 비트수로 표현되는 값들을 비균등하게 Y0_0, Y1_0를 나타내는 비트수로 표현되는 값에 맵핑할 수 있다. (Forward Transform)
특히 비균등하게 맵핑하는 이유는 고주파수 영역의 샘플값은 작은 경우가 대부분이기 때문이다. 크기가 작은 샘플값들에 대해서는 1:1로 맵핑한다. 한편, 크기가 큰 샘플값들에 대해서는 비균등하게 맵핑을 하여(2:1,4:1 맵핑) 비록 샘플값의 손실이 일어나게 되지만 비트수를 줄일 수 있다. 한편 복호화하는 과정에서 복호화 장치(15)는 원래 H'0_0를 복원하기 위해 부호화 과정에서와 반대의 과정을 거치게 된다.(Backward Transform) 이때 샘플값의 크기가 큰 구간에서의 샘플값들은 역맵핑을 하여(1:2, 1:4 역맵핑) 원래 H'0_0를 복원할 수 있다. 이때, 복원된 H'0_0는 부호화하기 전의 H'0_0와 상이할 수 있다. 왜냐하면 샘플값을 맵핑하는 과정에서 2:1, 4:1 맵핑의 경우 데이터의 손실이 발생할 수 있기 때문이다. 한편 맵핑하는 과정(Forward Transform) 및 역맵핑하는 과정(Backward Transform)은 도 15a의 하단과 같은 수도코드(psudo code)에 의해 부호화 장치(10) 또는 복호화 장치(15)에서 수행될 수 있다.(여기서 bitdepth는 루마 화소를 나타내는 비트의 심도(depth)를 의미한다) 예를 들어, 루마 화소를 나타내는 비트의 심도가 8이면, offset1은 64가 되고 offset2는 128이 된다. 이때, offset1 및 offset2는 도 15a에 도시된 바와 같이 맵핑하는 방법을 달리하는 구간의 경계값을 의미한다.
도 15b는 본 발명의 일 실시예에 따른 고주파수 영역의 루마 데이터를 결정하는 구체적인 과정을 설명하기 위한 도면이다.
도 15b를 참조하면, 부호화 장치(10) 또는 복호화 장치(15)는 도 15a와 관련하여 상술한 바와 같이 샘플값을 맵핑 또는 역맵핑이 수행되는 과정에서 C언어 형태로 표현된 코드를 도시한다. 도 15b에 도시된 바와 같이 샘플값을 맵핑 또는 역맵핑이 수행되는 과정에서 비트를 이동시키는 shift 연산자(>>), 비트 간에 비교를 수행하는 비트 연산자(&,|)와 같이 하드웨어 상에서 비교적 빠르게 수행할 수 있는 연산자를 이용하게 된다. 따라서 하드웨어적으로 덧셈이나 뺄셈과 같은 연산 동작이 일어나지 않기 때문에 샘플값을 맵핑 또는 역맵핑이 수행되는 속도가 빠를 수 있다.
도 15c는 본 발명의 일 실시예에 따른 고주파수 영역의 루마 데이터를 결정하는 구체적인 과정을 설명하기 위한 도면이다.
도 15c를 참조하면, 부호화 장치(10) 또는 복호화 장치(15)는 도 15a 와 관련하여 상술한 바와 같이 샘플값을 맵핑 또는 역맵핑이 수행되는 과정에서 RTL(Register transfer language) 형태로 표현된 코드를 도시한다. 도 15c에 도시된 바와 같이 샘플값을 맵핑 또는 역맵핑이 수행되는 과정에서 비트 간에 비교 및 비트를 할당하는 동작과 같이 하드웨어 상에서 비교적 빠르게 수행할 수 있는 연산을 수행하게 된다. 따라서 하드웨어적으로 덧셈이나 뺄셈과 같은 연산 동작이 일어나지 않기 때문에 샘플값을 맵핑 또는 역맵핑이 수행되는 속도가 빠를 수 있다.
이제까지 개시된 다양한 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 명세서에서 개시된 실시예들의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 명세서의 개시 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 명세서의 개시범위에 포함된 것으로 해석되어야 할 것이다.

Claims (24)

  1. 영상 데이터에 포함된 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당하는 단계;
    상기 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 채널로 이루어진 크로마 채널에 할당하는 단계; 및
    상기 루마 채널에 할당된 루마 데이터 및 상기 크로마 채널에 할당된 크로마 데이터에 기초하여 상기 영상 데이터를 부호화하는 단계를 포함하는 영상 데이터의 부호화 방법.
  2. 제 1 항에 있어서,
    상기 루마 채널은 2개의 채널을 포함하고,
    상기 루마 채널에 할당하는 단계는,
    상기 루마 데이터를 공간 영역에서(spatial domain)에서 2개의 루마 데이터로 분할하는 단계; 및
    상기 분할된 루마 데이터를 상기 2개의 채널에 할당하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  3. 제 1 항에 있어서,
    상기 영상 데이터를 부호화하는 단계는,
    상기 복수의 채널 각각에 대해 독립적인 양자화 파라미터를 이용하여 상기 복수의 채널로 이루어진 상기 루마 채널에 할당된 루마 데이터를 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  4. 제 1 항에 있어서,
    상기 루마 채널은 2개의 채널을 포함하고,
    상기 루마 채널에 할당하는 단계는,
    상기 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할하는 단계; 및
    상기 분할된 2개의 루마 데이터를 상기 2개의 채널에 각각 할당하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  5. 제 4 항에 있어서,
    상기 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할하는 단계는,
    상기 하나의 성분을 갖는 루마 데이터를 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할하는 것을 특징으로 하는 부호화 방법.
  6. 제 4 항에 있어서,
    상기 하나의 성분을 갖는 루마 데이터를 주파수 영역에서 2개의 루마 데이터로 분할하는 단계는,
    고주파수 영역의 샘플값을 획득하는 단계;
    상기 고주파수 영역의 샘플값의 제1 허용 범위에 대응하는 복수의 제1 부분 범위들 중 획득된 샘플값을 포함하는 하나의 제1 부분 범위를 결정하고,
    상기 제1 부분을 상기 고주파수 영역의 샘플값의 제2 허용범위에 대응하는 복수의 제2 부분 범위 들 중 하나의 제2 부분 범위에 맵핑하는 단계를 포함하고,
    상기 제1 허용 범위의 크기는 상기 제2 허용 범위의 크기보다 크고, 상기 고주파수 영역의 샘플값의 절대값이 소정의 값 이상인 경우, 상기 결정된 제1 부분 범위의 크기는 상기 하나의 제2 부분 범위의 크기보다 크고,
    상기 고주파수 영역의 루마 데이터는 상기 하나의 제2 부분 범위에 포함된 값에 맵핑된 고주파수 영역의 샘플값을 포함하는 것을 특징으로 하는 부호화 방법.
  7. 제 1 항에 있어서,
    상기 크로마 채널에 할당하는 단계는,
    상기 크로마 채널을 시분할(time sharing)하여,
    상기 시분할된 크로마 채널에 복수의 성분을 갖는 크로마 데이터를 할당하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  8. 제 1 항에 있어서,
    상기 영상 데이터는 YUV 색공간에서의 영상 데이터고, 상기 영상 데이터에 포함된 하나의 성분을 갖는 루마 데이터는 Y성분의 데이터를 포함하고, 상기 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터는 U, V 성분의 데이터를 포함하는 것을 특징으로 하는 부호화 방법.
  9. 영상 데이터를 수신하는 단계;
    상기 수신된 영상 데이터를 업샘플링하는 단계; 및
    상기 업샘플링된 영상 데이터를 부호화하는 단계를 포함하고,
    상기 수신된 영상 데이터를 업샘플링하는 단계는,
    상기 수신된 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나의 크로마 성분을 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당하여 상기 크로마 데이터를 변환하는 단계; 및
    상기 변환된 크로마 데이터에 기초하여, 상기 하나의 라인을 제외한 나머지 라인에 소정의 샘플값을 할당하는 단계를 포함하는 것을 특징으로 하는 영상 데이터의 부호화 방법.
  10. 영상 데이터를 수신하는 단계;
    상기 수신된 영상 데이터를 업샘플링하는 단계; 및
    상기 업샘플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각을 상기 적어도 하나의 크로마 성분 각각이 위치한 영역과 다른 상기 라인의 영역에 할당하는 단계; 및
    상기 할당된 크로마 성분을 포함하는 크로마 데이터를 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 데이터의 부호화 방법.
  11. 영상 데이터를 수신하는 단계;
    상기 수신된 영상 데이터에 포함된 크로마 데이터를 업샘플링하는 단계; 및
    복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터를 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 데이터의 부호화 방법.
  12. 영상 데이터를 수신하는 단계;
    상기 수신된 영상 데이터를 업샘플링하는 단계; 및
    상기 업샘플링된 영상 데이터를 부호화하는 단계를 포함하고,
    상기 수신된 영상 데이터를 업샘플링하는 단계는,
    상기 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분을 상기 하나의 라인과 상이한 라인에 할당하는 단계;
    상기 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 상기 하나의라인의 빈 영역에 할당될 샘플값을 획득하는 단계를 포함하는 것을 특징으로 하는 영상 데이터의 부호화 방법.
  13. 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계;
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득하는 단계;
    상기 획득된 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합하는 단계;
    상기 획득된 크로마 데이터를 복수의 성분을 갖는 크로마 데이터로 분할하는 단계; 및
    상기 병합되어 생성된 하나의 성분을 갖는 루마 데이터 및 상기 분할된 복수의 성분을 갖는 크로마 데이터에 기초하여 상기 영상을 복원하는 단계를 포함하는 영상 데이터의 복호화 방법.
  14. 제 13 항에 있어서,
    상기 루마 채널은 2개의 채널을 포함하고,
    상기 획득된 루마 채널의 루마 데이터는 공간 영역에서 상기 루마 데이터가 2개의 루마 데이터로 분할되어 상기 2개의 루마 채널에 각각 할당된 루마 데이터이고,
    상기 하나의 성분을 갖는 루마 데이터로 병합하는 단계는,
    상기 2개의 루마 데이터를 하나의 루마 데이터로 병합하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  15. 제 13 항에 있어서,
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득하는 단계는,
    상기 복수의 채널로 이루어진 루마 채널에 독립적인 양자화 파라미터를 이용하여 상기 영상을 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  16. 제 13 항에 있어서,
    상기 루마 채널은 2개의 채널을 포함하고,
    상기 획득된 루마 채널의 루마 데이터는 주파수 영역에서 2개의 루마 데이터로 분할되어 상기 2개의 루마 채널에 각각 할당된 루마 데이터이고,
    상기 하나의 성분을 갖는 루마 데이터로 병합하는 단계는,
    상기 주파수 영역에서 분할된 2개의 루마 데이터를 하나의 루마 데이터로 병합하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  17. 제 16 항에 있어서,
    상기 루마 채널의 루마 데이터는 상기 하나의 성분을 갖는 루마 데이터가 저주파수 영역의 루마 데이터 및 고주파수 영역의 루마 데이터로 분할되어 복수의 채널로 이루어진 상기 2개의 루마 채널에 각각 할당된 루마 데이터인 것을 특징으로 하는 복호화 방법.
  18. 영상 데이터를 수신하는 수신부;
    상기 영상 데이터의 하나의 성분을 갖는 루마 데이터를 분할하여 복수의 채널로 이루어진 루마 채널에 할당하고, 상기 영상 데이터에 포함된 복수의 성분을 갖는 크로마 데이터를 하나의 채널로 이루어진 크로마 채널에 할당하는 데이터 할당부; 및
    상기 루마 채널에 할당된 루마 데이터 및 크로마 채널에 할당된 크로마 데이터에 기초하여 상기 영상 데이터를 부호화하는 부호화부를 포함하는 영상 데이터의 부호화 장치.
  19. 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 수신부;
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하는 복호화부; 및
    상기 복호화되어 생성된 데이터로부터 복수의 채널로 이루어진 루마 채널에 할당된 루마 데이터 및 하나의 채널로 이루어진 크로마 채널에 할당된 크로마 데이터를 획득하고
    상기 획득된 루마 데이터를 하나의 성분을 갖는 루마 데이터로 병합하고,
    상기 획득된 크로마 데이터를 복수의 성분을 갖는 크로마 데이터로 분할하고,
    상기 병합되어 생성된 하나의 성분을 갖는 루마 데이터 및 상기 분할된 복수의 성분을 갖는 크로마 데이터에 기초하여 상기 영상을 복원하는 복원부를 포함하는 영상 데이터의 복호화 장치.
  20. 제 1 항 내지 제 8 항 및 제 13 항 내지 제 17 항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.
  21. 영상 데이터에 포함된 크로마 데이터에서 복수개의 라인에 위치한 적어도 하나의 크로마 성분이 상기 복수개의 라인 중 하나의 라인의 빈 영역에 할당되어 변환된 크로마 데이터에 기초하여 하나의 라인을 제외한 나머지 라인에 소정의 값이 할당되어, 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계;
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 크로마 데이터 및 루마 데이터를 획득하는 단계; 및
    상기 획득된 크로마 데이터 및 상기 획득된 루마 데이터를 기초로 영상을 복원하는 단계를 포함하는 영상 데이터의 복호화 방법.
  22. 영상 데이터가 업샘플링되고, 상기 업생플링된 영상 데이터에 포함된 크로마 데이터의 하나의 라인에서 업샘플링되지 않은 영역에 위치한 복수의 크로마 성분이 인접하여 위치하도록, 상기 라인에서 업샘플링되지 않은 영역에 위치한 적어도 하나의 크로마 성분 각각이 상기 적어도 하나의 크로마 성분 각각이 위치하는 영역과 다른 상기 라인의 영역에 할당되고, 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계;
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 획득하는 단계; 및
    상기 할당된 크로마 성분을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 기초로 영상을 복원하는 단계를 포함하는 영상 데이터의 복호화 방법.
  23. 영상 데이터에 포함된 크로마 데이터가 업샘플링되고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계;
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 획득하는 단계; 및
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 업샘플링된 크로마 데이터 중 복수의 라인에서 홀수 라인 또는 짝수 라인 중 하나의 라인의 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 기초로 영상을 복원하는 단계를 포함하는 영상 데이터의 복호화 방법.
  24. 영상 데이터에 포함된 크로마 데이터의 복수개의 라인 중 하나의 라인에 위치하는 복수개의 크로마 성분 중 적어도 하나의 성분이 상기 하나의 라인과 상이한 라인에 할당되고, 상기 상이한 라인에 할당된 크로마 성분의 샘플값에 기초하여 상기 하나의 라인의 빈 영역에 할당될 샘플값이 획득되고, 상기 획득된 샘플값을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터가 부호화된 영상 정보를 포함하는 비트스트림을 수신하는 단계;
    상기 부호화된 영상 정보에 기초하여 상기 영상을 복호화하고, 상기 획득된 샘플값을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 획득하는 단계; 및
    상기 획득된 샘플값을 포함하는 크로마 데이터 및 상기 영상 데이터에 포함된 루마 데이터를 기초로 영상을 복원하는 단계를 포함하는 영상 데이터의 복호화 방법.
KR1020140182549A 2014-03-06 2014-12-17 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치 KR101683175B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461948881P 2014-03-06 2014-03-06
US61/948,881 2014-03-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160162284A Division KR101718897B1 (ko) 2014-03-06 2016-11-30 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20150105184A true KR20150105184A (ko) 2015-09-16
KR101683175B1 KR101683175B1 (ko) 2016-12-06

Family

ID=54055479

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020140182549A KR101683175B1 (ko) 2014-03-06 2014-12-17 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치
KR1020160162284A KR101718897B1 (ko) 2014-03-06 2016-11-30 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020160162284A KR101718897B1 (ko) 2014-03-06 2016-11-30 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치

Country Status (6)

Country Link
US (1) US10506243B2 (ko)
EP (1) EP3104608B1 (ko)
KR (2) KR101683175B1 (ko)
CN (1) CN106464887B (ko)
MX (1) MX360669B (ko)
WO (1) WO2015133712A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135759A1 (ko) * 2016-02-04 2017-08-10 삼성전자 주식회사 크로마 다중 변환에 의한 비디오 복호화 방법 및 장치, 크로마 다중 변환에 의한 비디오 부호화 방법 및 장치
CN109716771A (zh) * 2016-09-15 2019-05-03 高通股份有限公司 用于视频译码的线性模型色度帧内预测

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9872040B2 (en) 2014-01-02 2018-01-16 Qualcomm Incorporated Color index coding for palette-based video coding
US10455230B2 (en) 2015-01-09 2019-10-22 Avago Technologies International Sales Pte. Limited Methods for improving low-cost video/image compression
US20170366819A1 (en) * 2016-08-15 2017-12-21 Mediatek Inc. Method And Apparatus Of Single Channel Compression
US10567803B2 (en) * 2017-04-12 2020-02-18 Qualcomm Incorporated Midpoint prediction error diffusion for display stream compression
US11310517B2 (en) 2017-12-07 2022-04-19 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding using selective information sharing between channels
CN108235038B (zh) * 2018-02-09 2020-09-11 西安万像电子科技有限公司 图像编解码压缩的方法和装置
KR20210087928A (ko) 2018-11-06 2021-07-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측을 위한 파라미터 유도의 복잡성 감소
US11197005B2 (en) 2018-11-08 2021-12-07 Qualcomm Incorporated Cross-component prediction for video coding
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
CA3128769C (en) 2019-02-24 2023-01-24 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
KR20240036121A (ko) 2019-06-24 2024-03-19 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
CN110636304B (zh) * 2019-10-23 2021-11-12 威创集团股份有限公司 一种YCbCr444和YCbCr422转换方法
CN113329269A (zh) * 2020-02-28 2021-08-31 杭州海康威视数字技术股份有限公司 视频编码、解码方法、装置、电子设备及存储介质
CN111770347A (zh) * 2020-07-17 2020-10-13 广州市奥威亚电子科技有限公司 一种视频传输方法及系统
CN113038179A (zh) * 2021-02-26 2021-06-25 维沃移动通信有限公司 视频编码方法、视频解码方法、装置及电子设备
CN115348432B (zh) * 2022-08-15 2024-05-07 上海壁仞科技股份有限公司 数据处理方法及装置、图像处理方法、电子设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040075030A (ko) * 2001-12-24 2004-08-26 실리콘 이미지, 인크.(델라웨어주 법인) 시리얼 링크를 통한 비디오 및 보조 데이터 전송 방법 및시스템
JP2013021408A (ja) * 2011-07-07 2013-01-31 Sony Corp 信号送信装置、信号送信方法、信号受信装置、信号受信方法及び信号伝送システム
KR20130084228A (ko) * 2010-05-05 2013-07-24 삼성전자주식회사 무선 네트워크들에서 비압축된 비디오 송신을 위한 크로마 파티셔닝 및 레이트 적응을 위한 방법 및 시스템

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569006B2 (ja) 1986-04-02 1997-01-08 株式会社日立製作所 映像信号の記録装置
JPS63302688A (ja) 1987-06-02 1988-12-09 Pioneer Electronic Corp 高品位映像信号記録再生方法
JP2616719B2 (ja) 1994-11-21 1997-06-04 株式会社日立製作所 情報信号の記録装置および記録再生装置
JP3534465B2 (ja) * 1994-12-28 2004-06-07 パイオニア株式会社 サブバンド符号化方法
US6069982A (en) * 1997-12-23 2000-05-30 Polaroid Corporation Estimation of frequency dependence and grey-level dependence of noise in an image
JP4294810B2 (ja) * 1999-09-10 2009-07-15 富士フイルム株式会社 固体撮像装置および信号読出し方法
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
KR20020001760A (ko) 2000-01-12 2002-01-09 요트.게.아. 롤페즈 영상 데이터 압축
US7283666B2 (en) * 2003-02-27 2007-10-16 Saquib Suhail S Digital image exposure correction
US7339630B2 (en) * 2004-04-02 2008-03-04 Broadcom Corporation Method and system for a correlation sharpening filter
KR100657268B1 (ko) 2004-07-15 2006-12-14 학교법인 대양학원 컬러 영상의 신축적 부호화, 복호화 방법 및 장치
US7639892B2 (en) * 2004-07-26 2009-12-29 Sheraizin Semion M Adaptive image improvement
US20080044097A1 (en) 2006-08-21 2008-02-21 Siemens Medical Solutions Usa, Inc. Fast JPEG-LS Based Compression Method for Medical Images
KR100834638B1 (ko) * 2006-10-13 2008-06-02 삼성전자주식회사 영상 투사기의 영상 색상 조절 방법 및 그 장치
US7991235B2 (en) * 2007-02-27 2011-08-02 Xerox Corporation Light compression for color images using error diffusion
US7944508B1 (en) * 2007-06-08 2011-05-17 Kolorific, Inc. Method and system for automatic detection and suppression of cross-luma and cross-color in a component video signal
TWI387325B (zh) * 2008-10-09 2013-02-21 Silicon Motion Inc 影像擷取裝置與影像前處理方法
TWI433053B (zh) * 2010-11-02 2014-04-01 Orise Technology Co Ltd 運用像素區域特性之影像銳利度強化方法及系統
JP2012213134A (ja) 2011-03-24 2012-11-01 Sony Corp 画像処理装置および方法
US8885706B2 (en) * 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
WO2013063638A2 (en) * 2011-10-30 2013-05-10 Hd2 Technologies Pty. Ltd. Perceptually lossless and perceptually enhanced image compression system & method
US9807401B2 (en) 2011-11-01 2017-10-31 Qualcomm Incorporated Transform unit partitioning for chroma components in video coding
TWI575933B (zh) 2011-11-04 2017-03-21 杜比實驗室特許公司 階層式視覺動態範圍編碼中之層分解技術
US9243887B2 (en) * 2012-01-04 2016-01-26 The Johns Hopkins University Lateral distortion corrected optical coherence tomography system
CN103260018B (zh) 2012-02-16 2017-09-22 乐金电子(中国)研究开发中心有限公司 帧内图像预测编解码方法及视频编解码器
US20130251028A1 (en) * 2012-03-22 2013-09-26 The Hong Kong University Of Science And Technology Video encoding and decoding with channel prediction and error correction capability
WO2013152736A1 (en) * 2012-04-12 2013-10-17 Mediatek Singapore Pte. Ltd. Method and apparatus for block partition of chroma subsampling formats
US9460497B2 (en) * 2012-09-21 2016-10-04 Htc Corporation Image enhancement methods and systems using the same
CN103313055B (zh) 2013-06-03 2016-04-20 电子科技大学 一种基于分割的色度帧内预测方法、及视频编码解码方法
US9699469B2 (en) * 2014-02-21 2017-07-04 Lattice Semiconductor Corporation Adaptive processing of video streams with reduced color resolution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040075030A (ko) * 2001-12-24 2004-08-26 실리콘 이미지, 인크.(델라웨어주 법인) 시리얼 링크를 통한 비디오 및 보조 데이터 전송 방법 및시스템
KR20130084228A (ko) * 2010-05-05 2013-07-24 삼성전자주식회사 무선 네트워크들에서 비압축된 비디오 송신을 위한 크로마 파티셔닝 및 레이트 적응을 위한 방법 및 시스템
JP2013021408A (ja) * 2011-07-07 2013-01-31 Sony Corp 信号送信装置、信号送信方法、信号受信装置、信号受信方法及び信号伝送システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Gabriellini, et al. AHG7: Coding 4:2:2 chroma format with 4:2:0 and 4:4:4 format codecs. JCT-VC of ITU-T and ISO/IEC. JCTVC-L0162 ver.2, Jan. 16, 2013, pp.1-7* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017135759A1 (ko) * 2016-02-04 2017-08-10 삼성전자 주식회사 크로마 다중 변환에 의한 비디오 복호화 방법 및 장치, 크로마 다중 변환에 의한 비디오 부호화 방법 및 장치
US11265578B2 (en) 2016-02-04 2022-03-01 Samsung Electronics Co., Ltd. Video decoding method and apparatus by chroma-multi-transform, and video encoding method and apparatus by chroma-multi-transform
CN109716771A (zh) * 2016-09-15 2019-05-03 高通股份有限公司 用于视频译码的线性模型色度帧内预测
CN109716771B (zh) * 2016-09-15 2022-06-28 高通股份有限公司 用于视频译码的线性模型色度帧内预测

Also Published As

Publication number Publication date
MX2016011533A (es) 2017-01-23
MX360669B (es) 2018-11-13
EP3104608A1 (en) 2016-12-14
EP3104608B1 (en) 2020-09-09
US10506243B2 (en) 2019-12-10
CN106464887B (zh) 2019-11-29
US20170019672A1 (en) 2017-01-19
KR101718897B1 (ko) 2017-03-22
CN106464887A (zh) 2017-02-22
WO2015133712A1 (ko) 2015-09-11
KR101683175B1 (ko) 2016-12-06
KR20160141696A (ko) 2016-12-09
EP3104608A4 (en) 2018-02-21

Similar Documents

Publication Publication Date Title
KR101718897B1 (ko) 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치
US11575899B2 (en) Single layer high dynamic range coding with standard dynamic range backward compatibility
AU2011275436B2 (en) Generation of high dynamic range images from low dynamic range images in multi-view video coding
KR102588146B1 (ko) 멀티-뷰 신호 코덱
US20230080852A1 (en) Use of tiered hierarchical coding for point cloud compression
JP2016522588A (ja) 階層符号化を用いたマルチフォーマットハイダイナミックレンジビデオの配信
EP3942814B1 (en) Temporal processing for video coding technology
WO2014066182A1 (en) Band separation filtering / inverse filtering for frame packing / unpacking higher-resolution chroma sampling formats
KR20130054413A (ko) 특징 기반 비디오 코딩 방법 및 장치
KR20010040929A (ko) 인터레이스된 동화상의 최적화 압축을 위한 장치 및 방법
US20110317755A1 (en) Systems and methods for highly efficient compression of video
Richter et al. JPEG-XS—A high-quality mezzanine image codec for video over IP
WO2022112775A2 (en) Video decoding using post-processing control
JP6719200B2 (ja) デジタル信号の伝送装置及びデジタル信号の伝送方法
US20240040160A1 (en) Video encoding using pre-processing
US10291915B2 (en) Video decoding method and apparatus and video encoding method and apparatus
KR101703331B1 (ko) 영상 복호화 방법 및 그 장치, 영상 부호화 방법 및 그 장치
EP3035688B1 (en) Encoding and decoding of 3d hdr images using a tapestry representation
GB2614054A (en) Digital image processing
EA040379B1 (ru) Способ и устройство кодирования, декодирования видеосигнала в иерархии уровней качества

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
FPAY Annual fee payment

Payment date: 20191030

Year of fee payment: 4