KR101757464B1 - 부호화 방법 및 장치와 복호화 방법 및 장치 - Google Patents

부호화 방법 및 장치와 복호화 방법 및 장치 Download PDF

Info

Publication number
KR101757464B1
KR101757464B1 KR1020170043096A KR20170043096A KR101757464B1 KR 101757464 B1 KR101757464 B1 KR 101757464B1 KR 1020170043096 A KR1020170043096 A KR 1020170043096A KR 20170043096 A KR20170043096 A KR 20170043096A KR 101757464 B1 KR101757464 B1 KR 101757464B1
Authority
KR
South Korea
Prior art keywords
image
encoding
information
pixel
region
Prior art date
Application number
KR1020170043096A
Other languages
English (en)
Other versions
KR20170040164A (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 KR1020170043096A priority Critical patent/KR101757464B1/ko
Publication of KR20170040164A publication Critical patent/KR20170040164A/ko
Application granted granted Critical
Publication of KR101757464B1 publication Critical patent/KR101757464B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/182Methods 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 pixel
    • 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/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

영상을 부호화 하는 부호화 장치에 있어서, 디바이스로부터 디바이스에 관련된 디바이스 정보를 수신하는 통신부, 및 영상에 관한 영상 정보와 디바이스 정보를 이용하여 영상을 부호화하기 위한 프로세서를 포함하고, 프로세서는, 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 영상을 처리(process)하고, 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 영상의 비부호화 영역(Non-encoding Region), 블록 기반 부호화 영역(Block-based Encoding Region) 및 픽셀 기반 부호화 영역(Pixel-based Encoding Region)을 결정하고, 블록 기반 부호화 영역에 대하여 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 결정된 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하고, 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하고, 블록 기본 부호화 또는 픽셀 기반 부호화에 의하여 결정된 심볼(Symbol)을 엔트로피 부호화하여 부호화 영상(encoded image)을 생성하는 프로세서를 포함하고, 부호화 영상, 블록 기반 부호화 영역과 픽셀 기반 부호화 영역에 관한 영역 정보 및 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 생성하고, 통신부는, 비트스트림을 디바이스에 전송하는 것을 특징으로 하는 부호화 장치.

Description

부호화 방법 및 장치와 복호화 방법 및 장치 {Method and Apparatus for Encoding and Method and Apparatus for Decoding}
영상의 부호화 방법 및 장치, 복호화 방법 및 장치에 관한 것으로, 구체적으로는 영상에 관한 영상 정보 및 영상을 재생하는 디바이스의 디바이스 정보에 기초하여, 영상을 부호화하는 장치 및 방법, 복호화하는 장치 및 방법에 관한 것이다.
스마트 폰, 디지털카메라와 같은 모바일 기기의 성능이 계속하여 향상되고 있다. 따라서 모바일 기기에서 소비되는 디지털 컨텐츠들의 용량도 기하급수적으로 증가하고 있다. 디지털 컨텐츠의 저장/전송 용량에서 이미지 등 멀티미디어 데이터가 약 60%를 차지함에 따라, 멀티미디어 데이터의 용량을 줄이기 위한 효율적인 영상 압축 방식이 요구되고 있다.
특히 일반 CE (Consumer Electronics) 사용 환경과 달리 스마트 글래스(Smart Glasses), 스마트 와치(Smart Watch)와 같은 웨어러블 디바이스의 경우, 배터리나, 화면 형태, 저장 공간 또는 전송 대역폭의 제약이 심하다. 그렇기 때문에 웨어러블 디바이스의 대중화를 위하여, 웨어러블 디바이스의 사용자가 인식하지 못하는 한도 내에서 멀티미디어 데이터의 압축 성능을 높일 수 있는 방법이 필요하다.
영상의 부호화 방법 및 장치, 복호화 방법 및 장치의 실시 예가 제공된다. 또한, 본 발명의 일 실시 예에 따른 부호화 방법 또는 복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 개시된다. 본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
영상을 부호화 하는 부호화 장치에 있어서, 디바이스로부터 상기 디바이스에 관련된 디바이스 정보를 수신하는 통신부, 및 상기 디바이스 정보와 상기 영상에 관한 영상 정보를 이용하여 상기 영상을 부호화기 위한 프로세서를 포함하고, 상기 프로세서는, 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상을 처리(process)하고, 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 비부호화 영역(Non-encoding Region), 블록 기반 부호화 영역(Block-based Encoding Region) 및 픽셀 기반 부호화 영역(Pixel-based Encoding Region)을 결정하고, 상기 블록 기반 부호화 영역에 대하여 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 결정된 상기 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하고, 상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하고, 상기 블록 기본 부호화 또는 상기 픽셀 기반 부호화에 의해 결정된 심볼(Symbol)을 엔트로피 부호화하여 부호화 영상(encoded image)을 생성하고, 상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 생성하고, 상기 통신부는, 상기 비트스트림을 상기 디바이스에 전송하는 것을 특징으로 하는 부호화 장치가 제공된다.
상기 프로세서는, 상기 블록 기반 부호화 영역의 부호화 단위(coding unit)에 대하여 인트라 예측(intra prediction) 또는 인터 예측(inter prediction)을 수행하고, 상기 블록 기반 예측부의 상기 인트라 예측 또는 상기 인터 예측으로부터 생성된 레지듀얼 데이터(residual data)를 변환하고, 상기 양자화 파라미터를 이용하여 상기 변환된 레지듀얼 데이터를 양자화하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 픽셀 기반 부호화 영역의 픽셀 각각에 대하여 인접 픽셀에 대한 픽셀 기반 예측을 수행하고, 상기 픽셀 기반 예측부의 상기 픽셀 기반 예측으로부터 생성된 레지듀얼 데이터를, 레지듀얼 데이터의 반복되는 레지듀얼 스트링을 매칭하고, 상기 레지듀얼 스트링의 길이와 위치 정보를 이용하여 압축하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 픽셀 기반 부호화 영역의 픽셀들이 나타내는 색들에 대응되는 인덱스가 포함된 인덱스 맵을 생성하고, 상기 인덱스 맵 생성부에서 생성된 상기 인덱스 맵을, 상기 인덱스 맵의 반복되는 인덱스 스트링을 매칭하고, 상기 인덱스 스트링의 길이와 위치 정보를 이용하여 압축하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보를 수신하고, 상기 프로세서는, 상기 디스플레이 형태 정보에 따라 상기 영상에서 상기 디스플레이에 표시되지 않는 영역을 상기 비부호화 영역으로 결정하고, 상기 비부호화 영역은 부호화하지 않는 영역인 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 영상을 복수의 영역으로 분할하고, 상기 분할된 영역이 상기 블록 기반 부호화부에서 사용되는 정수 개의 부호화 단위로 분할될 수 있도록, 상기 분할된 영역의 크기를 확장하고, 상기 확장 후 영역의 상기 확장 전 영역에 대한 면적비를 획득하고, 상기 면적비에 따라 상기 영역을 상기 블록 기반 부호화 영역 및 상기 픽셀 기반 부호화 영역 중 하나로 결정하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 영상을 구성하는 색들의 수에 대한 색 정보를 획득하고, 상기 색 정보에 따라, 사용되는 색들의 수가 임계치 이하인 영역을 픽셀 기반 부호화 영역으로 결정하고, 사용되는 색들의 수가 상기 임계치 이상인 영역을 블록 기반 부호화 영역으로 결정하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 영상에 포함된 픽셀들에 대하여, 인접 픽셀들 간의 픽셀 값의 크기 차이를 나타내는 값들을 나타내는 픽셀 경도 정보를 획득하고, 상기 픽셀 경도 정보에 따라, 상기 인접 픽셀들 간의 픽셀 값의 크기 차이를 나타내는 값들 중 최대값을 선택하고, 상기 최대값이 임계치 이상인 영역을 픽셀 기반 부호화 영역으로 결정하고, 상기 최대값이 상기 임계치 이하인 영역을 블록 기반 부호화 영역으로 결정하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 영상에 포함된 픽셀들이 분포된 패턴에 관한 패턴 정보를 획득하고, 상기 패턴 정보에 따라, 상기 픽셀들의 분포 패턴이 존재하고 상기 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이상인 영역은 픽셀 기반 부호화 영역으로 결정하고, 상기 분포 패턴이 없거나 상기 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이하인 영역은 블록 기반 부호화 영역으로 결정하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스에 포함된 디스플레이의 디스플레이 해상도 정보를 수신하고, 상기 프로세서는, 상기 영상의 영상 해상도 정보를 획득하고, 상기 디스플레이 해상도 정보 및 상기 영상 해상도 정보로부터 계산된 영상 해상도와 디스플레이 해상도의 비율에 따라 상기 양자화 파라미터를 결정하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스의 조도에 대한 조도 정보를 수신하고, 상기 프로세서는, 상기 조도 정보에 의한 상기 디바이스에 포함된 디스플레이의 밝기의 변화에 따라 상기 영상의 프레임율을 조절하고, 상기 조도 정보에 의한 상기 디바이스에 포함된 디스플레이의 밝기의 변화에 따라 상기 양자화 파라미터를 결정하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스의 조도에 대한 조도 정보를 수신하고, 상기 프로세서는, 상기 조도 정보에 따라 상기 영상의 대조비(contrast)을 변환하고, 상기 대조비에 따라 상기 양자화 파라미터를 결정하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스를 사용하는 사용자의 시선 정보를 수신하고, 상기 프로세서는, 상기 시선 정보에 따라, 상기 사용자의 시선이 집중된 영역의 양자화 파라미터가 상기 사용자의 시선에서 벗어난 영역의 양자화 파라미터보다 작은 값을 가지도록 결정하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스가 저전력 모드인지 나타내는 전력 정보를 수신하고, 상기 프로세서는, 상기 전력 정보가 상기 저전력 모드를 나타낼 경우, 상기 영상의 프레임율을 감소시키거나, 상기 영상의 컬러 포맷을 변환하고, 상기 전력 정보가 상기 저전력 모드를 나타낼 경우, 상기 저전력 모드가 아닐 때의 양자화 파라미터보다 크도록 상기 양자화 파라미터를 결정하는 것을 특징으로 할 수 있다.
상기 통신부는, 상기 영상을 재생하는 디바이스가 저전력 모드인지 나타내는 전력 정보를 수신하고, 상기 프로세서는, 상기 전력 정보가 상기 저전력 모드를 나타낼 경우, 상기 심볼들 중 발생 확률이 높은 심볼들을 흑색 계열에 해당하는 값으로 매핑(mapping)하고, 상기 심볼을 엔트로피 부호화하는 것을 특징으로 할 수 있다.
부호화 장치가 영상을 부호화하는 방법에 있어서, 디바이스로부터 상기 디바이스에 관련된 디바이스 정보를 수신하는 단계, 상기 영상에 관한 영상 정보를 획득하는 단계, 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상을 처리(process)하는 단계, 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 비부호화 영역, 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하는 단계, 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 블록 기반 부호화 영역을 위한 양자화 파라미터를 결정하는 단계, 상기 블록 기반 부호화 영역에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계, 상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계, 상기 블록 기반 부호화 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계, 및 상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법이 제공된다.
부호화 영상을 복호화하는 복호화 장치에 있어서, 복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보를 부호화 장치에 전송하고, 상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 처리된 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 통신부, 상기 부호화 영상을 엔트로피 복호화하고, 상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하고, 상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하고, 상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 프로세서를 포함하는 복호화 장치가 제공된다.
상기 프로세서는, 상기 블록 기반 부호화 영역에 대응되는 부호화 영상을 엔트로피 복호화하여 생성된 양자화된 변환 계수를 역양자화하여 변환계수를 생성하고, 상기 변환계수를 역변환하여 레지듀얼 데이터를 생성하고, 및 상기 레지듀얼 데이터를 기초로 블록 기반 보상을 수행하여 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분을 복원하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 픽셀 기반 부호화 영역에 대응되는 부호화 영상을 엔트로피 복호화하여 생성된 레지듀얼 스트링 매칭 정보를 이용하여 반복되는 레지듀얼 스트링을 복사함으로써 레지듀얼 데이터를 복원하고, 상기 레지듀얼 데이터를 이용하여 픽셀 기반 보상을 수행함으로써 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 복원하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 픽셀 기반 부호화 영역에 대응되는 부호화 영상을 엔트로피 복호화하여 생성된 인덱스 맵 스트링 매칭 정보를 이용하여 반복되는 인덱스 맵 스트링을 복사함으로써 인덱스 맵을 재생성하고, 상기 인덱스 맵과 상기 인덱스 맵의 인덱스가 나타내는 색 정보를 이용하여 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분의 픽셀을 재생성하는 것을 특징으로 할 수 있다.
복호화 장치가 부호화 영상을 복호화하는 방법에 있어서, 복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보를 부호화 장치에 전송하는 단계, 상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 처리된 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 단계, 상기 부호화 영상을 엔트로피 복호화하는 단계, 상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하는 단계, 상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하는 단계, 및 상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 단계를 포함하는 복호화 방법이 제공된다.
위에서 제시된 부호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
위에서 제시된 복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
도 1 은 부호화 장치를 포함하는 제1 디바이스(102)와 복호화 장치를 포함하는 제2 디바이스(104) 간의 상호 작용 메커니즘에 관한 컴퓨터 시스템(100)의 일 실시예를 설명하기 위한 도면이다.
도 2a 및 도2b 는 각각 부호화 장치의 일 실시예의 블록도이다.
도 3 은 부호화 장치의 부호화 방법의 일 실시예를 설명하기 위한 순서도이다.
도 4a 및 도4b 는 각각 복호화 장치의 일 실시예의 블록도이다.
도 5 는 복호화 장치의 복호화 방법의 일 실시예를 설명하기 위한 순서도이다.
도6는 부호화 영역 결정부의 일 실시예를 설명하기 위한 블록도이다.
도7은 해상도 비율 분석부의 일 실시예를 설명하기 위한 도면이다.
도8은 디스플레이의 해상도의 변화에 따른 왜곡 인지 민감도 변화를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 부호화 단위의 개념을 설명하기 위한 도면이다.
도 10 은 양자화 행렬의 일 실시예를 설명하기 위한 도면이다.
도 11은 영상 블록의 압축 강도 조절을 위한 계수 억제 임계값 행렬의 일 실시예를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 부호화 단위에 기초한 부호화부(500)의 블록도를 도시한다.
도 13은 일 실시예에 따른 부호화 단위에 기초한 복호화부(600)의 블록도를 도시한다.
도 14는 픽셀 기반 예측 방법의 일 실시예를 설명하기 위한 도면이다.
도15a 및 15c은 인덱스 맵을 이용한 부호화 방법의 일 실시예를 설명하기 위한 도면이다.
도16은 레지듀얼 스트링 매칭부(254)와 맵 스트링 매칭부(254)에서 적용되는 LZ77 기반의 매칭 기술을 설명하기 위한 도면이다.
이하 첨부된 도면을 참고하면서 본 발명을 한정하지 아니하고 오로지 예시를 위한 실시예에 의해 본 발명을 상세히 설명하기로 한다. 본 발명의 하기 실시예는 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예로부터 본 발명이 속하는 기술분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리범위에 속하는 것으로 해석된다.
본원에서 언급된 "소프트웨어"는 기계어(machine code), 펌웨어(firmware), 임베디드 코드(embedded code) 그리고 응용 소프트웨어(application software) 등을 포함할 수 있다. 또한 "하드웨어"는 회로, 프로세서, 컴퓨터, 집적 회로, 집적 회로 코어, 압력 센서, 관성 센서, MEMS, 수동 소자 또는 이들의 조합을 포함할 수 있다.
도 1 은 부호화 장치를 포함하는 제1 디바이스(102)와 복호화 장치를 포함하는 제2 디바이스(104) 간의 상호 작용 메커니즘에 관한 컴퓨터 시스템(100)의 일 실시예를 설명하기 위한 도면이다.
컴퓨터 시스템(100)은 제1 디바이스(102)와 제2 디바이스(104)를 포함한다. 제1 디바이스(102)는 클라이언트 장치나 서버 장치일 수 있다. 마찬가지로 제 2 디바이스(104)는 클라이언트 장치나 서버 장치일 수 있다.
제1 디바이스(102)와 제2 디바이스(104)로 다양한 기기가 선택될 수 있다. 예를 들어, 제1 디바이스(102) 또는 제2 디바이스(104)는 데스크탑 컴퓨터, 서버, 라우터(router), 또는 랩탑 컴퓨터와 같은 컴퓨터 장치일 수 있다. 그리고 제1 디바이스(102) 또는 제2 디바이스(104)는 웨어러블 디바이스, 노트북 컴퓨터, 타블렛 컴퓨터, 또는 스마트 폰과 같은 개인용 휴대 장치일 수 있다. 또한 제1 디바이스(102) 또는 제2 디바이스(104)는 멀티미디어 컨텐츠를 제공하기 위한 디스플레이를 포함하는 세탁기, 건조기, 냉장고와 같은 기기일 수 있다.
또한 제1 디바이스(102)와 제2 디바이스(104)는 서로 통신적으로 연결될 수 있다. 예를 들어 제1 디바이스(102)와 제2 디바이스(104)는 무선 통신, 유선 통신, 광통신, 초음파 통신 또는 이들의 조합에 의하여 연결될 수 있다. 구체적으로 제1 디바이스(102)와 제2 디바이스(104)는 블루투스, NFC(near field communication), 와이파이(WiFi) 등과 같은 통신 방법에 의하여 연결될 수 있다.
더불어 제1 디바이스(102)와 제2 디바이스(104)는 한 개 이상의 네트워크 에 의하여 연결될 수 있다. 예를 들어, 제1 디바이스(102)와 제2 디바이스(104)는 개인 영역 네트워크(PAN), 근거리 통신망(LAN), 도시권 통신망(MAN), 광역 통신망(WAN) 또는 이들의 임의의 조합에 의하여 연결될 수 있다.
도1에서 제1 디바이스(102)는 스마트폰으로 표시되었지만, 실시예에 따라 다른 종류의 기기가 제1 디바이스(102)로 사용될 수 있다. 마찬가지로 제2 디바이스(104)는 스마트워치로 표시되었지만, 실시예에 따라 다른 종류의 기기가 제2 디바이스(104)로 사용될 수 있다.
제1 디바이스(102)는 부호화 장치를 포함한다. 그리고 부호화 장치는 제1 디바이스(102)에 입력된 영상을 부호화한다. 부호화 장치는 영상 정보와 환경 정보 등에 기초하여 영상을 부호화할 수 있다.
제2 디바이스(104)는 복호화 장치를 포함한다. 그리고 복호화 장치는 제2 디바이스(104)에 전송된 부호화 영상을 복호화한다. 제2 디바이스(104)는 복호화 장치에 의하여 복원된 영상을 재생한다.
블록 110에서 제1디바이스(102)는 입력된 영상에 관한 영상 정보를 획득한다. 영상 정보는 영상에 포함된 픽셀들의 특성에 관한 정보를 포함한다. 예를 들어, 영상 정보는 영상에 포함된 픽셀들의 수, 픽셀의 픽셀 값, 픽셀들의 위치에 관련된 정보를 포함할 수 있다. 따라서 영상 정보는 영상의 해상도, 영상에 쓰인 색 정보, 픽셀들의 배열 패턴, 특정 픽셀 값의 출현 빈도 등을 포함할 수 있다.
블록112에서 제2 디바이스(104)는 제2 디바이스(104)에 관한 디바이스 정보를 제1 디바이스(102)에 전송한다. 디바이스 정보는 제2 디바이스(104)의 성능 또는 제2 디바이스(104)의 동작에 영향을 주는 환경적 요소를 의미한다. 예를 들어, 디바이스 정보는 제2 디바이스(104)의 잔여 전력량, 디스플레이 성능, 연산 능력, 주변 온도, 주변 조도 등이 포함할 수 있다. 이러한 디바이스 정보는 제2 디바이스(104)에 저장되어 있거나, 제2 디바이스(104)에 부착된 센서에 의하여 검출될 수 있다. 예를 들어 디스플레이 성능 및 연산 능력에 관한 디바이스 정보는 제2 디바이스(104)에 저장되어 있을 수 있다. 반면 디바이스 주변의 온도 및 조도에 관한 디바이스 정보는 제2 디바이스(104)에 부착된 온도계 및 조도계에 의하여 검출될 수 있다. 그 외에도 다양한 방법으로 디바이스 정보가 획득될 수 있다.
블록 114에서 제1 디바이스(102)에 입력된 영상이 영상 정보 및 디바이스 정보 중 적어도 하나에 기초하여 부호화된다. 영상은 다양한 방식으로 부호화될 수 있다. 예를 들어, 영상은 정지 영상 표준 코덱인 JPEG(Joint Photograph Expert Group), JPEG2000 또는 동영상 압축 표준 코덱인 MPEG(Motion Picture Expert Group)-1, MPEG-2/H.262, MPEG-4, MPEG-4 AVC/H.264, HEVC(High Efficiency Video Codec), AVS(Auto Video coding Standard) 등에 부합하는 부호화 방식이 적용되어 부호화될 수 있다. 또한 영상은 위에서 언급된 표준 코덱에 부합하는 부호화 방식이 아닌 다른 부호화 방식에 의하여 부호화될 수 있다.
영상 정보와 디바이스 정보가 부호화 과정에서 미치는 영향은 도2 내지 도3에서 자세히 설명된다.
블록 116에서 부호화 영상이 제1 디바이스(102)에서 제2 디바이스(104)로 전송된다. 제1 디바이스(102)는 부호화 영상과 함께 영상의 부호화에 사용된 부호화 정보를 제2 디바이스(104)에 전송할 수 있다. 예를 들어, 부호화 정보는 부호화에 사용된 표준 코덱에 관한 정보, 영상이 블록 기반 부호화 방식에 의하여 부호화된 경우, 부호화 단위에 관한 정보 등을 포함할 수 있다.
블록 118에서 제2 디바이스(104)에 전송된 부호화 영상이 복호화된다. 부호화 영상을 복호화하기 위한 복호화 방법은 부호화 영상과 함께 전송된 부호화 정보에 의하여 결정된다. 복호화 과정에서 복원된 영상은 제2 디바이스(104)에 최적화되어 있으므로 원본 영상과 다를 수 있다. 예를 들어, 복원된 영상의 프레임율은 제2 디바이스(104)의 디스플레이 성능, 잔여 전력량을 고려하여 원본 영상의 프레임율보다 작을 수 있다. 복호화된 영상은 제2 디바이스(104)에서 재생된다.
도1에서 설명된 컴퓨터 시스템(100)의 프로세스는 도2 내지 도5에서 자세히 설명된다.
도 2a 및 도 2b 는 각각 영상을 부호화하는 부호화 장치(200)의 일 실시예의 블록도이다.
도 2a는 영상을 부호화하는 부호화 장치(200)의 일 실시예의 블록도이다.
부호화 장치(200)는 통신부(210) 및 프로세서(220)를 포함할 수 있다.
통신부(210)는 제2 디바이스(104)로부터 제2 디바이스(104)에 관련된 디바이스 정보를 수신할 수 있다.
또한 통신부(210)는 부호화 영상, 블록 기반 부호화 영역과 픽셀 기반 부호화 영역에 관한 영역 정보 및 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 제2 디바이스(104)에 전송할 수 있다.
프로세서(220)는 영상에 관한 영상 정보를 획득할 수 있다.
프로세서(220)는 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 결정된 부호화 포맷에 따라 영상을 처리(process)할 수 있다.
프로세서(220)는 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 영상의 비부호화 영역(Non-encoding Region), 블록 기반 부호화 영역(Block-based Encoding Region) 및 픽셀 기반 부호화 영역(Pixel-based Encoding Region)을 결정할 수 있다.
프로세서(220)는 블록 기반 부호화 영역에 대하여 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 결정된 양자화 파라미터를 이용하여 블록 기반 부호화를 수행할 수 있다. 또한 프로세서(220)는 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행할 수 있다.
프로세서(220)는 블록 기본 부호화 또는 픽셀 기반 부호화에 의해 결정된 심볼(Symbol)을 엔트로피 부호화하여 부호화 영상(encoded image)을 생성할 수 있다.
프로세서(220)는 부호화 영상, 블록 기반 부호화 영역과 픽셀 기반 부호화 영역에 관한 영역 정보 및 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 생성할 수 있다.
도 2b는 영상을 부호화하는 부호화 장치(200)의 일 실시예의 블록도이다.
부호화 장치(200)는 통신부(210) 및 프로세서(220)를 포함할 수 있다.
프로세서(220)는 영상 정보 획득부(230), 부호화 조절부(240)와 부호화부(250)을 포함할 수 있다.
통신부(210)는 디바이스 정보 수신부(212) 및 비트스트림 전송부(216)를 포함할 수 있다.
디바이스 정보 수신부(212)는 제2디바이스(104)로부터 제2 디바이스(104)에 관련된 디바이스 정보를 수신한다. 디바이스 정보는 디바이스 또는 디바이스의 구성 요소들의 성능에 관한 정보를 포함할 수 있다. 예를 들어 디바이스 정보는 디바이스에 포함된 디스플레이의 크기 또는 형태에 관한 정보를 포함할 수 있다. 디바이스 정보는 디바이스 내부 또는 외부의 환경에 관한 정보를 포함할 수 있다. 예를 들어 디바이스 정보는 디바이스에 포함된 베터리의 전력량 또는 디바이스 외부의 온도 또는 조도에 관한 정보를 포함할 수 있다. 디바이스 정보는 디바이스와 디바이스의 사용자 간의 상호작용에 관한 정보를 포함할 수 있다. 예를 들어 디바이스 정보는 사용자의 시선 또는 움직임에 관한 정보를 포함할 수 있다.
디바이스 정보 수신부(212)는 제2 디바이스(104)에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보 및 디스플레이 해상도 정보를 수신할 수 있다. 그리고 디바이스 정보 수신부(212)는 제2 디바이스(104)의 조도에 대한 조도 정보 및 제2 디바이스(104)를 사용하는 사용자의 시선 정보를 수신할 수 있다. 또한 디바이스 정보 수신부(212)는 제2 디바이스(104)가 저전력 모드인지 나타내는 전력 정보를 수신할 수 있다.
비트스트림 전송부(216)는 부호화 영상, 블록 기반 부호화 영역과 픽셀 기반 부호화 영역에 관한 영역 정보 및 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 제2 디바이스(104)에 전송한다.
영상 정보 획득부(230)는 영상에 관한 영상 정보를 획득한다. 영상 정보는 영상에 포함된 픽셀들의 특성에 관한 정보를 포함한다. 예를 들어, 영상 정보는 영상에 포함된 픽셀들의 수, 픽셀의 픽셀 값, 픽셀들의 위치에 관련된 정보를 포함할 수 있다. 따라서 영상 정보는 영상의 해상도, 영상에 쓰인 색 정보, 픽셀들의 배열 패턴, 특정 픽셀 값의 출현 빈도 등을 포함할 수 있다.
영상 정보 획득부(230)는 영상을 구성하는 색들의 수에 대한 색 정보를 획득할 수 있다. 또한 영상 정보 획득부(230)는 영상에 포함된 픽셀들에 대하여, 인접 픽셀들 간의 픽셀 값의 크기 차이를 나타내는 값들을 나타내는 픽셀 경도(gradient) 정보를 획득할 수 있다. 그리고 영상 정보 획득부(214)는 영상에 포함된 픽셀들이 분포된 패턴에 관한 패턴 정보를 획득할 수 있다. 영상 정보 획득부(230)는 영상의 영상 해상도 정보를 획득할 수 있다.
부호화 조절부(240)는 부호화부(250)에서 영상을 부호화하는데 필요한 부호화 포맷, 부호화 영역 및 양자화 파라미터 등을 결정하여 부호화를 조절한다.
부호화 조절부(240)는 영상 처리부(242), 부호화 영역 결정부(244), 양자화 파라미터 결정부(246)를 포함할 수 있다.
영상 처리부(242)는 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 결정된 부호화 포맷에 따라 상기 영상을 처리할 수 있다.
부호화 포맷은 컬러 포맷, 비트 뎁스 및 프레임율과 같이 영상의 부호화에 고려되는 영상의 속성이다. 부호화 포맷에 따라 부호화 영상의 복호화에 대한 연산량이 결정된다. 따라서 디바이스 정보 및 영상 정보에 따라 적응적으로 부호화 포맷을 결정하여 부호화 영상의 복호화에 대한 연산량을 조절할 수 있다. 영상의 복호화에 대한 연산량에 따라 영상의 복호화에 소모되는 전력량이 결정되므로, 부호화 포맷을 조절하여 제2 디바이스(104)가 소모하는 전력량을 소정의 임계치 이하로 유지시킬 수 있다.
영상 처리부(242)는 조도 정보에 의한 제2 디바이스(104)에 포함된 디스플레이의 밝기의 변화에 따라 영상의 프레임율을 결정할 수 있다. 제2 디바이스(104) 주변의 조도가 높을 경우, 제2 디바이스(104)의 디스플레이의 밝기가 증가한다. 따라서 디스플레이에서 소모되는 전력량이 증가하게 된다. 그러므로 제2 디바이스(104)에서 소모되는 전력량을 유지하기 위하여, 영상 처리부(242)는 프레임율을 낮춤으로써 제2 디바이스(104)의 부호화 장치(200)에서 영상의 복호화에 소모되는 전력 소모량을 감소시킬 수 있다.
영상 처리부(242)는 조도 정보에 따라 상기 영상의 대조비(contrast)를 결정할 수 있다. 제2 디바이스(104) 주변의 조도가 높을 경우, 영상의 시인성을 개선하기 위하여 영상 처리부(242)는 영상의 대조비를 증가시킬 수 있다. 대신 영상의 대조비가 증가되면 복호화 장치(200)에서 소모되는 전력량이 증가하기 때문에 프레임율을 감소시키기거나, 양자화 파라미터 결정부(246)에서 양자화 파라미터를 증가시킨다.
영상 처리부(242)는 전력 정보에 따라, 영상의 프레임율 또는 영상의 컬러 포맷을 결정할 수 있다. 예를 들어 영상 처리부(242)는 제2 디바이스(104)의 배터리가 완전히 충전되어 있을 때는 입력 영상의 컬러 포맷을 YUV 4:4:4 포맷으로 결정할 수 있다. 제2 디바이스(104)의 배터리의 전력 레벨이 줄어듦에 따라, 영상 처리부(242)는 입력 영상의 컬러 포맷을 색차(Chroma) 성분인 Cb-Cr이 샘플링된 YUV 4:2:0 혹은 YUV 4:2:2 포맷으로 결정할 수 있다. 제2 디바이스(104)의 배터리의 전력 레벨이 낮을 경우, 영상 처리부(242)는 입력 영상의 컬러 포맷을 색차 성분이 없이 밝기값 (Luma) 성분만으로 구성된 모노크롬(Monochrome) 포맷으로 결정할 수 있다. 제2 디바이스(104)의 배터리의 전력 레벨이 0%에 가까운 경우, 영상 처리부(242)는 입력 영상의 컬러 포맷을 입력 영상을 이진화하여 구성한 이진 영상 포맷으로 결정할 수 있다. 제2 디바이스(104)의 배터리 상태에 따라 컬러 포맷을 변환함으로써 배터리에 저장된 전력이 효율적으로 사용될 수 있다. 또한 제2 디바이스(104)의 배터리의 전력 레벨이 낮을 경우, 영상 처리부(242)는 프레임율을 감소시켜 부호화 과정에서 소모되는 전력량을 감소시킬 수 있다.
부호화 영역 결정부(244)는 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 영상의 영역을 비부호화 영역(Non-encoding Region), 블록 기반 부호화 영역(Block-based Encoding Region) 및 픽셀 기반 부호화 영역(Pixel-based Encoding Region) 중 하나로 결정한다.
비부호화 영역이란 부호화되지 않는 영역을 의미한다. 그리고 영상의 비부호화 영역에 대응되는 부분은 제1 디바이스(102)에서 제2 디바이스(104)로 전송되지 않는다. 따라서 제2디바이스(104)의 디스플레이에 영상의 비부호화 영역에 대응되는 부분은 표시되지 않는다.
블록 기반 부호화 영역이란 블록 기반 부호화 방법이 적용되는 영역을 의미한다. 따라서 영상의 블록 기반 부호화 영역에 대응되는 부분은 블록 기반 부호화 방법으로 부호화 된다.
픽셀 기반 부호화 영역이란 픽셀 기반 부호화 방법이 적용되는 영역을 의미한다. 따라서 영상의 픽셀 기반 부호화 영역에 대응되는 부분은 픽셀 기반 부호화 방법으로 부호화 된다. 픽셀 기반 부호화 방법에는 픽셀 기반 예측을 이용한 부호화 방법 또는 인덱스 맵을 이용한 부호화 방법 등이 포함된다.
부호화 영역 결정부(244)는 디스플레이 형태 정보에 따라 영상에서 디스플레이에 표시되지 않는 영역을 비부호화 영역으로 결정할 수 있다. 예를 들어 영상의 형태는 직사각형인데 영상을 재생하는 제2디바이스(104)에 포함된 디스플레이의 형태가 원일 경우, 영상의 원 모양의 중앙부만을 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 설정하고 나머지는 비부호화 영역으로 설정할 수 있다.
부호화 영역 결정부(244)는 비부호화 영역을 제외하고 남은 나머지 영역을 다양한 방법으로 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정할 수 있다. 도6 및 도7에서 부호화 영역 결정 방법이 자세히 설명된다.
양자화 파라미터 결정부(246)는 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 상기 블록 기반 부호화 영역을 위한 양자화 파라미터를 결정한다. 양자화 파라미터 결정부(246)에서 양자화 파라미터를 증가시키면 영상 데이터의 손실이 증가함에 따라 영상의 압축률이 증가한다. 그러므로 복호화 과정의 연산량이 감소한다. 그리고 연산량이 감소함에 따라 복호화 과정에서 소모되는 전력량도 감소한다. 반대로 양자화 파라미터 결정부(246)에서 양자화 파라미터를 감소시키면 복호화 과정에서 소모되는 전력량도 증가한다.
양자화 파라미터 결정부(246)는 디스플레이 해상도 정보 및 영상 해상도 정보로부터 계산된 영상 해상도와 디스플레이 해상도의 비율에 따라 양자화 파라미터를 결정할 수 있다. 도8에서 디스플레이 해상도 정보 및 영상 해상도 정보를 이용하여 양자화 파라미터를 결정하는 방법이 자세히 설명된다.
그리고 양자화 파라미터 결정부(246)는 조도 정보에 의한 디바이스에 포함된 디스플레이의 밝기의 변화에 따라 양자화 파라미터를 결정할 수 있다. 또한 양자화 파라미터 결정부(246)는 조도 정보에 의하여 대조비가 변환된 경우, 대조비에 따라 양자화 파라미터를 결정할 수 있다. 디스플레이 주변의 조도가 증가하여 디스플레이의 밝기가 증가하거나, 영상의 대조비가 증가한 경우 제2 디바이스(104)에서 소모되는 전력량이 증가된다. 따라서 양자화 파라미터 결정부(246)는 조도가 증가할 때 양자화 파라미터를 증가시켜 소모되는 전력량이 일정하게 유지될 수 있도록 한다.
양자화 파라미터 결정부(246)는 시선 정보에 따라, 제2 디바이스(104)의 사용자의 시선이 집중된 영역의 양자화 파라미터가 사용자의 시선에서 벗어난 영역의 양자화 파라미터보다 작은 값을 가지도록 결정할 수 있다. 예를 들어, 스마트 글래스의 경우, 스마트 글래스의 사용자가 보고 있지 않는 영역에 대하여는 사용자가 상기 영역에서 발생한 영상의 열화를 파악할 수 없다. 따라서 사용자의 시선이 집중된 영역에 양자화 파라미터를 작게 하고, 사용자의 시선에서 벗어난 영역의 양자화 파라미터를 크게 하여 복호화 과정에서 소모되는 전력량을 감소시킬 수 있다.
양자화 파라미터 결정부(246)는 생체 정보에 따라 양자화 파라미터를 결정할 수 있다. 예를 들어 양자화 파라미터 결정부(246)는 심박수 등과 같은 제2 디바이스(104)의 사용자의 생체 신호 정보를 이용하여 사용자의 집중력의 정도를 판단할 수 있다. 그리고 사용자의 집중력이 약해진 경우 양자화 파라미터를 증가시켜 제2 디바이스(104)에서 소모되는 전력량을 감소시킬 수 있다.
양자화 파라미터 결정부(246)는 전력 정보가 저전력 모드를 나타낼 경우, 저전력 모드가 아닐 때의 양자화 파라미터보다 크도록 양자화 파라미터를 결정할 수 있다. 양자화 파라미터 결정부(246)는 제2 디바이스(104)가 저전력 모드일 때는 제2 디바이스(104)에서 소모되는 전력량을 최소화해야 하기 때문에, 양자화 파라미터를 증가시킬 수 있다.
부호화부(250)는 블록 기반 부호화부(260), 픽셀 기반 부호화부(270), 엔트로피 부호화부(280) 및 비트스트림 생성부(290)를 포함할 수 있다.
부호화부(250)는 영상을 부호화 조절부(240)에서 결정된 정보에 따라, 영상을 부호화하고, 부호화 영상, 블록 기반 부호화 영역과 픽셀 기반 부호화 영역에 관한 영역 정보 및 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 생성할 수 있다.
블록 기반 부호화부(260)는 블록 기반 부호화 영역에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 부호화를 수행한다. 블록 기반 부호화부(260)는 블록 기반 예측부(262), 변환부(264) 및 양자화부(266)를 포함할 수 있다.
블록 기반 부호화부(260)는 부호화 단위(coding unit)을 기반으로 영상을 부호화를 할 수 있다. 부호화 단위에 대하여는 도 9에서 자세히 설명된다.
블록 기반 예측부(262)는 블록 기반 부호화 영역의 부호화 단위(coding unit)에 대하여 인트라 예측(intra prediction) 또는 인터 예측(inter prediction)을 수행한다. 인트라 예측은 공간상 인접한 블록으로부터 현재 블록을 예측하는 것을 의미한다. 인터 예측은 시간상 인접한 참조 프레임의 참조 블록으로부터 현재 블록을 예측하는 것을 의미한다.
변환부(264)는 블록 기반 예측부(262)의 인트라 예측 또는 인터 예측으로부터 생성된 레지듀얼 데이터(residual data)를 변환하여 변환 계수를 생성한다. 변환부(264)는 레지듀얼 데이터를 공간 영역에서 주파수 영역으로 변환한다. 예를 들어 변환부(264)는 DCT (Discrete Cosine Transform) 혹은 DCT를 정수화한 정수 변환 기술을 적용하여 레지듀얼 데이터를 변환할 수 있다. 또 다른 예로 변환부(264)는 DST (Discrete Sine Transform)를 적용하여 레지듀얼 데이터를 변환할 수 있다. 또 다른 예로 변환부(264)는 DWT (Discrete Wavelet Transform)를 적용하여 레지듀얼 데이터를 변환할 수 있다.
양자화부(266)는 양자화 파라미터를 이용하여 변환부(264)에서 생성된 변환 계수를 양자화하여 양자화 계수를 생성한다. 양자화부(266)는 변환 계수의 정보량을 줄여, 엔트로피 부호화 과정에서 높은 압축 효율을 얻을 수 있도록 한다. 양자화 파라미터가 클수록 정보량이 더 많이 감소되고, 작을수록 정보량이 덜 감소된다.
양자화로 손실된 정보는 복호화 과정에서 복원되지 않기 때문에 양자화 파라미터가 클 경우, 복원된 영상의 화질이 원본 영상에 비하여 크게 열화될 수 있다. 그러므로 영상의 열화를 육안으로 감지할 수 없도록 양자화 파라미터가 선택되어야 한다. 따라서 계수 억제 임계값 행렬을 이용하여 선택된 양자화 파라미터가 적절한지 판단된다. 양자화 행렬은 도 10에서 계수 억제 임계값 행렬은 도 11에서 자세히 설명된다.
위에서 설명된 블록 기반 예측부(262), 변환부(264) 및 양자화부(266)과 도2b에 미도시된 블록 기반 부호화부(260)의 구성 단위들은 도 12에서 자세하게 설명된다.
픽셀 기반 부호화부(270)는 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행한다. 픽셀 기반 부호화부(270)는 픽셀 기반 예측을 이용한 부호화 방법 또는 인덱스 맵을 이용한 부호화 방법을 사용할 수 있다.
픽셀 기반 부호화부(270)는 픽셀 기반 예측부(272), 레지듀얼 스트링 매칭부(274), 인덱스 맵 생성부(276) 및 인덱스 맵 스트링 매칭부(278)를 포함할 수 있다.
픽셀 기반 예측부(272)는 픽셀 기반 부호화 영역의 픽셀 각각에 대하여 인접 픽셀에 대한 픽셀 기반 예측을 수행한다. 픽셀 기반 예측부(272)는 픽셀 기반 예측으로 인한 레지듀얼 데이터를 생성한다. 픽셀 기반 예측을 이용한 부호화 방법은 도 14에서 자세히 설명된다.
레지듀얼 스트링 매칭부(274)는 레지듀얼 데이터의 반복되는 레지듀얼 스트링을 매칭하고, 레지듀얼 스트링의 길이와 위치 정보를 이용하여 상기 레지듀얼 데이터를 압축한다. 레지듀얼 스트링 매칭부(274)는 LZ77 기반의 매칭 기술을 적용할 수 있다.
인덱스 맵 생성부(276)는 픽셀 기반 부호화 영역의 픽셀들이 나타내는 색들에 대응되는 인덱스가 포함된 인덱스 맵을 생성한다. 인덱스 맵을 이용한 부호화 방법은 도 15a 내지 15c에서 자세히 설명된다.
인덱스 맵 스트링 매칭부(278)는 인덱스 맵 생성부에서 생성된 상기 인덱스 맵을, 인덱스 맵의 반복되는 인덱스 스트링을 매칭하고, 인덱스 스트링의 길이와 위치 정보를 이용하여 상기 인덱스 데이터를 압축한다. 인덱스 맵 스트링 매칭부(274)는 LZ77 기반의 매칭 기술을 적용할 수 있다.
레지듀얼 스트링 매칭부(274)와 인덱스 맵 스트링 매칭부(274)에서 적용되는 LZ77 기반의 매칭 기술은 도 16에서 자세히 설명된다.
엔트로피 부호화부(280)는 블록 기반 부호화부(260) 또는 픽셀 기반 부호화부(270)에서 결정된 심볼(Symbol)을 엔트로피 부호화하여 부호화 영상(encoded image)을 생성한다. 심볼은 블록 기반 부호화에 의해 획득된 양자화된 변환 계수일 수 있다. 다른 예로 심볼은 픽셀 기반 부호화에 의해 획득된 압축 레지듀얼 스트링 또는 압축 인덱스 스트링일 수 있다. 엔트로피 부호화부(280)는 각 심볼들의 발생 확률에 기초하여 각 심볼의 정보량을 결정함으로써 양자화 계수를 압축할 수 있다. 구체적으로 엔트로피 부호화부(280)는 발생 확률이 높은 심볼의 정보량을 낮게 결정하고, 반대로 발생 확률이 낮은 심볼의 정보량을 높게 결정하여 양자화 계수를 압축할 수 있다.
예를 들어 엔트로피 부호화부(280)는 양자화 계수의 데이터량을 감소하기 위한 가변 길이 부호화(Variable Length Coding)를 적용할 수 있다. 또 다른 예로 엔트로피 부호화부(280)는 허프만 부호화(Huffman Encoding)를 적용할 수 있다. 또 다른 예로 엔트로피 부호화부(280)는 산술 부호화(Arithmetic Encoding)를 적용할 수도 있다. 또한 엔트로피 부호화부(280)는 골롬-라이스 부호화 (Glolomb-Rice Encoding) 기술을 상기 부호화 방법과 함께 혹은 독립적으로 적용할 수도 있다. 상기 방법에 국한되지 않고, 엔트로피 부호화부(280)는 다양한 엔트로피 부호화 방법을 적용할 수도 있다.
엔트로피 부호화부(280)는 전력 정보가 저전력 모드를 나타낼 경우, 심볼들 중 발생 확률이 높은 심볼들을 흑색 계열에 해당하는 값으로 매핑(mapping)하고, 심볼을 엔트로피 부호화할 수 있다. 따라서 영상에서 출현 빈도가 높은 색이 어두운 색으로 변환되면서 제2 디바이스(104)의 디스플레이에서 소모되는 전력량이 감소될 수 있다.
도 2b에서 통신부(210) 및 프로세서(220)는 별도의 구성 단위로 표현되어 있으나, 실시 예에 따라 통신부(210) 및 프로세서(220)는 합쳐져 동일한 구성 단위로 구현될 수도 있다.
그리고 구성 단위에 속한 하위 구성 단위들 합쳐져 하나의 구성 단위로 구현될 수 있다. 예를 들어 통신부(210)를 구성하는 하위 구성 단위인 디바이스 정보 수신부(212) 및 비트스트림 전송부(216)는 별도의 구성 단위로 표현되어 있으나, 실시 예에 따라 디바이스 정보 수신부(212) 및 비트스트림 전송부(216)는 합쳐져 하나의 구성 단위로 구현될 수 있다.
또한 구성 단위의 레벨과 관계없이 복수의 구성 단위들이 합쳐져 하나의 구성 단위로 구현될 수 있다. 예를 들어 블록 기반 예측부(262), 변환부(264) 및 양자화부(266)는 양자화 파라미터 결정부(246)와 합쳐져 하나의 구성 단위로 구현될 수 있다.
실시 예에 따라 부호화 장치(200)의 모든 구성 단위들은 하나의 구성 단위로 구현될 수 있다. 예를 들어 부호화 장치(200)의 모든 구성 단위들이 가진 기능은 하나의 장치에 의하여 구현될 수 있다. 그러나 실시 예에 따라 부호화 장치(200)의 구성 단위들의 기능들이 복수의 장치에 할당되어 처리될 수 있다. 실시 예에 따라 하나의 구성 단위의 기능이 복수의 장치에 의하여 병렬적으로 처리될 수 있다.
도 2b에서 통신부(210) 및 프로세서(220)는 부호화 장치(200) 내부에 위치한 구성 단위로 표현되었지만, 통신부(210), 부호화 조절부(220) 및 부호화부(230)의 각 기능을 담당하는 장치는 반드시 물리적으로 인접할 필요는 없다. 따라서 실시 예에 따라 통신부(210) 및 프로세서(220)가 분산되어 있을 수 있다. 또한 하나의 구성 단위의 기능을 병렬적으로 처리하는 복수의 장치도 분산되어 있을 수 있다.
도 2b의 부호화 장치(200)는 물리적 장치에 한정되지 않는다. 예를 들어 부호화 장치(200)의 기능 중 일부는 하드웨어가 아닌 소프트웨어로 구현될 수도 있다.
도 3 은 부호화 장치(200)의 부호화 방법(300)의 일 실시예를 설명하기 위한 순서도이다.
단계 310에서 디바이스로부터 디바이스에 관련된 디바이스 정보가 수신된다.
예를 들어, 제2 디바이스(104)에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보 및 디스플레이 해상도 정보가 수신될 수 있다. 그리고 제2 디바이스(104)의 조도에 대한 조도 정보 및 제2 디바이스(104)를 사용하는 사용자의 시선 정보가 수신될 수 있다. 또한 제2 디바이스(104)가 저전력 모드인지 나타내는 전력 정보가 수신될 수 있다.
단계 320에서 영상에 관한 영상 정보가 획득된다.
예를 들어 영상을 구성하는 색들의 수에 대한 색 정보가 획득될 수 있다. 또한 영상에 포함된 픽셀들에 대하여, 인접 픽셀들 간의 픽셀 값의 크기 차이를 나타내는 값들을 나타내는 픽셀 경도(gradient) 정보가 획득될 수 있다. 그리고 영상에 포함된 픽셀들이 분포된 패턴에 관한 패턴 정보 및 영상의 영상 해상도 정보가 획득될 수 있다.
단계 330에서 영상 정보 및 디바이스 정보 중 적어도 하나에 따라 부호화될 결정된 부호화 포맷에 따라서 영상이 처리된다.
조도 정보에 의하여 제2 디바이스(104)에 포함된 디스플레이의 밝기의 변화에 따라 영상의 프레임율이 변환될 수 있다. 또한 조도 정보에 따라 영상의 대조비가 변환될 수 있다.
전력 정보가 저전력 모드를 나타낼 경우, 영상의 프레임율이 감소되거나, 영상의 컬러 포맷이 변환될 수 있다.
단계 340에서 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 영상의 비부호화 영역, 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역이 결정된다.
디스플레이 형태 정보에 따라 영상에서 디스플레이에 표시되지 않는 영역이 비부호화 영역으로 결정될 수 있다. 비부호화 영역을 제외하고 남은 나머지 영역은 다양한 방법으로 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정될 수 있다. 도6 내지 도8에서 부호화 영역 결정 방법이 자세히 설명된다.
단계 350에서 디바이스 정보 및 영상 정보 중 적어도 하나에 따라 블록 기반 부호화 영역을 위한 양자화 파라미터가 결정된다.
디스플레이 해상도 정보 및 영상 해상도 정보로부터 계산된 영상 해상도와 디스플레이 해상도의 비율에 따라 양자화 파라미터가 결정될 수 있다. 또한 조도 정보에 의한 디바이스에 포함된 디스플레이의 밝기의 변화에 따라 양자화 파라미터가 결정될 수 있다. 그리고 시선 정보에 따라, 제2 디바이스(104)의 사용자의 시선이 집중된 영역의 양자화 파라미터가 사용자의 시선에서 벗어난 영역의 양자화 파라미터보다 작은 값을 가지도록 결정될 수 있다.
또 다른 예로 생체 정보에 따라 양자화 파라미터가 결정될 수 있다. 그리고 전력 정보가 저전력 모드를 나타낼 경우, 저전력 모드가 아닐 때의 양자화 파라미터보다 크도록 양자화 파라미터가 결정될 수 있다.
단계 360에서 블록 기반 부호화 영역에 대하여 양자화 파라미터를 이용하여 블록 기반 부호화가 수행된다. 구체적으로 블록 기반 부호화 영역의 부호화 단위에 대하여 인트라 예측 또는 인터 예측이 수행되고, 인트라 예측 또는 인터 예측으로부터 생성된 레지듀얼 데이터를 변환하고, 변환된 레지듀얼 데이터를 양자화하여 양자화 계수를 생성할 수 있다.
단계 370에서 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화가 수행된다.
픽셀 기반 예측을 수행하여 픽셀 기반 부호화가 수행될 수 있다. 구체적으로 픽셀 기반 부호화 영역의 픽셀 각각에 대하여 인접 픽셀에 대한 픽셀 기반 예측이 수행될 수 있다. 그리고 픽셀 기반 예측으로부터 생성된 레지듀얼 데이터를, 레지듀얼 데이터의 반복되는 레지듀얼 스트링을 매칭함으로써, 레지듀얼 스트링의 길이와 위치 정보를 이용하여 압축할 수 있다.
인덱스 맵을 이용하여 픽셀 기반 부호화가 수행될 수 있다. 구체적으로 픽셀 기반 부호화 영역의 픽셀들이 나타내는 색들에 대응되는 인덱스가 포함된 인덱스 맵이 생성되고, 인덱스 맵 생성부에서 생성된 인덱스 맵을, 인덱스 맵의 반복되는 인덱스 스트링을 매칭하고, 매칭된 인덱스 스트링의 길이와 위치 정보를 이용하여 압축할 수 있다.
단계 380에서 블록 기반 부호화 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상이 생성된다.
전력 정보가 저전력 모드를 나타낼 경우, 심볼들 중 발생 확률이 높은 심볼들은 흑색 계열에 해당하는 값으로 매핑(mapping)된 후 엔트로피 부호화될 수 있다.
단계 390에서 부호화 영상, 블록 기반 부호화 영역과 픽셀 기반 부호화 영역에 관한 영역 정보 및 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림이 디바이스에 전송된다.
도 4a 는 복호화 장치(400)의 일 실시예의 블록도이다.
복호화 장치(400)는 통신부(410) 및 프로세서(420)를 포함할 수 있다.
통신부(410)는 복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보를 부호화 장치에 전송할 수 있다.
통신부(410)는 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상의 화질 요소를 결정하고, 영상을 부호화하여 생성된 부호화 영상, 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보 및 영상의 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 부호화 장치로부터 수신할 수 있다.
프로세서(420)는 부호화 영상을 엔트로피 복호화할 수 있다.
프로세서(420)는 엔트로피 복호화된 영상의 블록 기반 부호화 영역에 대응되는 부분에 대하여 양자화 파라미터를 이용하여 블록 기반 복호화를 수행할 수 있다.
프로세서(420)는 엔트로피 복호화된 영상의 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행할 수 있다.
프로세서(420)는 블록 기반 복호화된 영상의 블록 기반 부호화 영역에 대응되는 부분과 픽셀 기반 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 디바이스에서 재생될 영상을 복원할 수 있다.
도 4b 는 복호화 장치(400)의 일 실시예의 블록도이다.
복호화 장치(400)는 통신부(410) 및 프로세서(420)를 포함할 수 있다.
통신부(410)는 디바이스 정보 전송부(412) 및 비트스트림 수신부(414)를 포함할 수 있다.
디바이스 정보 전송부(412)는 복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보를 부호화 장치에 전송한다.
디바이스 정보 전송부(412)는 제2 디바이스(104)에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보 및 디스플레이 해상도 정보를 전송할 수 있다. 그리고 디바이스 정보 전송부(412)는 제2 디바이스(104)의 조도에 대한 조도 정보 및 제2 디바이스(104)를 사용하는 사용자의 시선 정보를 전송할 수 있다. 또한 디바이스 정보 전송부(412)는 제2 디바이스(104)가 저전력 모드인지 나타내는 전력 정보를 전송할 수 있다.
비트스트림 수신부(414)는 부호화 영상, 영역 정보, 및 양자화 정보를 포함하는 비트스트림을 부호화 장치로부터 수신한다.
영역 정보는 영상의 영역들이 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역 중 어떤 영역인지 나타내는 정보이다.
양자화 정보는 영상의 블록 기반 부호화 영역들에 적용된 양자화 파라미터에 관한 정보이다.
프로세서(420)은 부호화 영상을 복호화할 수 있다.
프로세서(420)는 엔트로피 복호화부(430), 블록 기반 복호화부(440) 및 픽셀 기반 복호화부(450)를 포함할 수 있다.
엔트로피 복호화부(430)는 부호화 영상을 엔트로피 복호화한다. 엔트로피 복호화부(430)는 부호화 영상을 엔트로피 복호화하여 블록 기반 부호화를 위한 양자화된 변환 계수를 획득할 수 있다. 또한 엔트로피 복호화부(430)는 부호화 영상을 엔트로피 복호화하여 픽셀 기반 부호화를 위한 압축 레지듀얼 스트링 또는 압축 인덱스 스트링을 획득할 수 있다.
블록 기반 복호화부(440)는 엔트로피 복호화된 영상의 블록 기반 부호화 영역에 대응되는 부분에 대하여 양자화 파라미터를 이용하여 블록 기반 복호화를 수행한다.
블록 기반 복호화부(440)는 역양자화부(442), 역변환부(444) 및 블록 기반 보상부(446)를 포함할 수 있다.
역양자화부(442)는 엔트로피 복호화부(430)에서 생성된 양자화된 변환 계수를 양자화 파라미터를 이용하여 역양자화하여 변환계수를 생성한다.
역변환부(444)는 역양자화부(442)에서 생성된 변환계수를 역변환하여 레지듀얼 데이터를 생성한다.
블록 기반 보상부(446)는 역변환부(444)에서 레지듀얼 데이터를 기초로 블록 기반 보상을 수행하여 영상의 블록 기반 부호화 영역에 대응되는 부분을 복원한다.
위에서 설명된 역양자화부(442), 역변환부(444) 및 블록 기반 보상부(446)와 도4에 미도시된 블록 기반 부호화부(440)의 구성 단위들은 도 13에서 자세하게 설명되었다.
픽셀 기반 복호화부(450)는 엔트로피 복호화된 영상의 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행한다.
픽셀 기반 복호화부(450)는 레지듀얼 스트링 복사부(452), 픽셀 기반 보상부(454), 인덱스 맵 재생성부(456) 및 픽셀 재생성부(458)를 포함할 수 있다.
레지듀얼 스트링 복사부(452)는 엔트로피 복호화부(430)에서 생성된 레지듀얼 스트링 매칭 정보를 이용하여 반복되는 레지듀얼 스트링을 복사함으로써 레지듀얼 데이터를 복원한다.
픽셀 기반 보상부(454)는 레지듀얼 데이터를 이용하여 픽셀 기반 보상을 수행함으로써 영상의 픽셀 기반 부호화 영역에 대응되는 부분을 복원한다.
인덱스 맵 재생성부(456)는 엔트로피 복호화부에서 생성된 인덱스 맵 스트링 매칭 정보를 이용하여 반복되는 인덱스 맵 스트링을 복사함으로써 인덱스 맵을 재생성한다.
픽셀 재생성부(458)는 인덱스 맵과 인덱스 맵의 인덱스가 나타내는 색 정보를 이용하여 영상의 픽셀 기반 부호화 영역에 대응되는 부분의 픽셀을 재생성한다. 그리고 픽셀 재생성부(458)는 재생성된 픽셀들을 배열하여 픽셀 기반 부호화 영역에 대응되는 부분을 복원한다
도 4에서 통신부(410) 및 프로세서(420)는 별도의 구성 단위로 표현되어 있으나, 실시 예에 따라 통신부(410) 및 프로세서(420)는 합쳐져 동일한 구성 단위로 구현될 수도 있다.
그리고 구성 단위에 속한 하위 구성 단위들 합쳐져 하나의 구성 단위로 구현될 수 있다. 예를 들어 통신부(410)를 구성하는 하위 구성 단위인 디바이스 정보 전송부(412) 및 비트스트림 수신부(414)는 별도의 구성 단위로 표현되어 있으나, 실시 예에 따라 디바이스 정보 전송부(412) 및 비트스트림 수신부(414)는 합쳐져 하나의 구성 단위로 구현될 수 있다.
또한 구성 단위의 레벨과 관계없이 복수의 구성 단위들이 합쳐져 하나의 구성 단위로 구현될 수 있다. 예를 들어 역양자화부(442), 역변환부(444) 및 블록 기반 보상부(446)는 엔트로피 복호화부(430)와 합쳐져 하나의 구성 단위로 구현될 수 있다.
실시 예에 따라 복호화 장치(400)의 모든 구성 단위들은 하나의 구성 단위로 구현될 수 있다. 예를 들어 복호화 장치(400)의 모든 구성 단위들이 가진 기능은 하나의 장치에 의하여 구현될 수 있다. 그러나 실시 예에 따라 복호화 장치(400)의 구성 단위들의 기능들이 복수의 장치에 할당되어 처리될 수 있다. 실시 예에 따라 하나의 구성 단위의 기능이 복수의 장치에 의하여 병렬적으로 처리될 수 있다.
도 4에서 통신부(410) 및 프로세서(420)는 복호화 장치(400) 내부에 위치한 구성 단위로 표현되었지만, 통신부(410) 및 프로세서(420)의 각 기능을 담당하는 장치는 반드시 물리적으로 인접할 필요는 없다. 따라서 실시 예에 따라 통신부(410) 및 프로세서(420)가 분산되어 있을 수 있다. 마찬가지로 통신부(410) 및 프로세서(420)의 하위 구성 단위들도 반드시 물리적으로 인접할 필요는 없다. 또한 하나의 구성 단위의 기능을 병렬적으로 처리하는 복수의 장치도 분산되어 있을 수 있다.
도 4의 복호화 장치(400)는 물리적 장치에 한정되지 않는다. 예를 들어 복호화 장치(400)의 기능 중 일부는 하드웨어가 아닌 소프트웨어로 구현될 수도 있다.
도 5 은 복호화 장치(400)의 복호화 방법(500)의 일 실시예를 설명하기 위한 순서도이다.
단계 510에서 복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보가 부호화 장치에 전송된다.
제2 디바이스(104)에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보, 상기 디스플레이의 해상도에 관한 디스플레이 해상도 정보, 제2 디바이스(104)의 조도에 대한 조도 정보, 제2 디바이스(104)를 사용하는 사용자의 시선 정보 및 제2 디바이스(104)가 저전력 모드인지 나타내는 전력 정보를 전송할 수 있다.
단계 520에서 부호화 영상, 영역 정보, 및 양자화 정보를 포함하는 비트스트림이 부호화 장치로부터 복호화 장치로 수신된다.
단계 530에서 부호화 영상이 엔트로피 복호화된다.
단계 540에서 엔트로피 복호화된 영상의 블록 기반 부호화 영역에 대응되는 부분에 대하여 양자화 파라미터를 이용하여 블록 기반 복호화가 수행된다.
단계 550에서 엔트로피 복호화된 영상의 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화가 수행된다.
단계 560에서 블록 기반 복호화된 영상의 블록 기반 부호화 영역에 대응되는 부분과 픽셀 기반 복호화된 영상의 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 디바이스에서 재생될 영상이 복원된다.
도6는 부호화 영역 결정부(244)의 일 실시예를 설명하기 위한 블록도이다.
부호화 영역 결정부(244)은 해상도 비율 분석부(610), 색 종류 분석부(620), 경도 분석부(630), 패턴 분석부(640)를 포함할 수 있다.
해상도 비율 분석부(610)는 영상 분할부(612), 영역 확장부(614), 부호화 방식 결정부(616)를 포함할 수 있다.
영상 분할부(612)는 영상을 복수의 영역으로 분할한다.
영역 확장부(614)는 분할된 영역이 블록 기반 부호화부에서 사용되는 정수 개의 소정 크기의 부호화 단위로 분할될 수 있도록, 분할된 영역의 크기를 확장한다.
부호화 방식 결정부(616)는 확장 후 영역의 확장 전 영역에 대한 면적비를 획득하고, 면적비에 따라 영역을 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역 중 하나로 결정한다.
해상도 비율 분석부(610)의 각 구성 단위의 동작은 도 7에서 자세히 설명된다.
색 종류 분석부(620)는 영상 정보 획득부(230)에서 획득한 색 정보에 따라, 영역을 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정할 수 있다. 사용되는 색들의 수가 임계치 이하인 경우, 인덱스 맵을 이용한 압축 방법을 적용할 경우 데이터량을 효과적으로 감소시킬 수 있다.
그러므로 색 종류 분석부(620)는 사용되는 색들의 수가 임계치 이하인 영역을 픽셀 기반 부호화 영역으로 결정하고, 사용되는 색들의 수가 임계치 이상인 영역을 블록 기반 부호화 영역으로 결정한다.
경도 분석부(630)는 영상 정보 획득부(230)에서 획득한 픽셀 경도 정보에 따라, 영역을 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정한다.
픽셀의 경도에는 수평 경도와 수직 경도가 있다. 수평 경도는 현재 픽셀과 현재 픽셀의 우측 픽셀과의 차의 절대 값에 해당된다. 수직 경도는 현재 픽셀과 현재 픽셀의 아래 픽셀과의 차의 절대 값에 해당된다.
경도 분석부(630)는 영역에 포함된 픽셀들의 수직 경도들과 수평 경도들 중 최대값에 따라, 영역을 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정할 수 있다. 경도들의 최대값이 소정의 임계치 이상인 영역은 인접 픽셀 간 색상 변화가 큰 영역이다. 따라서 경도들의 최대값이 임계치 이상인 영역에 대하여 블록 기반 부호화를 적용할 경우, 양자화 손실로 인하여 화질 저하가 발생할 가능성이 높다.
그러므로 경도 분석부(630)는 경도들의 최대값이 임계치 이상일 경우 영역을 픽셀 기반 부호화 영역으로 결정하고, 경도들의 최대값이 임계치 이하일 경우 영역을 블록 기반 부호화 영역으로 결정할 수 있다.
경도 분석부(630)는 영역에 포함된 픽셀들의 수직 경도들과 수평 경도들 중 경도 값이 0인 경도들의 수를 획득하고, 경도 값이 0인 경도들의 수에 기초하여 영역을 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정할 수 있다. 경도 값이 0인 경도가 소정의 임계치 이상일 경우 영역의 대조비가 작을 가능성이 높다. 그리고 대조비가 낮은 영역에 대하여 도11에서 설명된 픽셀 기반 부호화 과정에 적용되는 LZ77 기반의 매칭 기술을 적용할 경우 효율적으로 상기 영역에 대응되는 영상을 압축할 수 있다.
그러므로 경도 분석부(630)는 경도 값이 0인 경도가 소정의 임계치 이상일 경우 영역을 픽셀 기반 부호화 영역으로 결정하고, 경도 값이 0인 경도가 소정의 임계치 이하일 경우 영역을 블록 기반 부호화 영역으로 결정한다.
패턴 분석부(640)는 영상 정보 획득부(230)에서 획득한 패턴 정보에 따라, 영역을 블록 기반 부호화 영역 또는 픽셀 기반 부호화 영역으로 결정할 수 있다. 픽셀들의 분포 패턴이 존재하고 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이상일 경우, LZ77 기반의 매칭 기술을 적용할 경우 효율적으로 상기 영역에 대응되는 영상을 압축할 수 있다.
따라서 패턴 분석부(640)는 픽셀들의 분포 패턴이 존재하고 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이상일 영역은 픽셀 기반 부호화 영역으로 결정하고, 분포 패턴이 없거나 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이하인 영역은 블록 기반 부호화 영역으로 결정할 수 있다.
부호화 영역 결정부(244)는 해상도 비율 분석부(610), 색 종류 분석부(620), 경도 분석부(630), 패턴 분석부(640) 중 하나 이상의 분석 결과를 기초로 하여, 영역들이 블록 기반 부호화 영역인지 픽셀 기반 부호화 영역인지 결정할 수 있다.
도7은 해상도 비율 분석부(610)의 일 실시예를 설명하기 위한 도면이다.
도 7에서 영상 분할부(612)는 영상을 영역0(710), 영역1(720) 및 영역2(730)로 분할한다.
영역 확장부(614)는 영역0(710), 영역1(720) 및 영역2(730)이 블록 기반 부호화부에서 사용되는 정수 개의 부호화 단위로 분할될 수 있도록, 영역0(710), 영역1(720) 및 영역2(730)의 크기를 확장한다. 영역0(710), 영역1(720)은 우측으로 확장되었고, 영역2(730)는 우측 및 하단으로 확장되었다.
영역 확장부(614)는 확장으로 새롭게 추가된 픽셀들이 임의의 픽셀 값을 가지도록 할 수 있다. 예를 들어 새롭게 추가된 픽셀들의 픽셀 값은 모두 128일 수 있다. 또한 영역 확장부(614)는 확장 전 영역의 경계에 위치한 픽셀을 복사하여 영역을 확장할 수도 있다.
부호화 방식 결정부(616)는 확장 후 영역의 확장 전 영역에 대한 면적비를 획득한다. 면적비는 확장된 영역의 면적을 확장 전 영역의 면적으로 나눈 값이다.
부호화 방식 결정부(616)는 획득된 면적비에 따라 영역을 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역 중 하나로 결정한다.
그러므로 부호화 방식 결정부(616)는 면적비가 소정의 임계치 이상인 영역을 픽셀 기반 부호화 영역으로 결정하고, 면적비가 임계치 이하인 영역을 블록 기반 부호화 영역으로 결정할 수 있다.
도 7에서는 부호화 방식 결정부(616)는 영역0(710), 영역1(720)을 면적비가 작아서 블록 기반 부호화 영역으로, 영역2(730)는 면적비가 커서 픽셀 기반 부호화 영역으로 결정한다.
도8는 디스플레이의 해상도의 변화에 따른 왜곡 인지 민감도 변화를 설명하기 위한 도면(800)이다.
디스플레이 화면이 작아지면 디스플레이 해상도가 증가한다. 고해상도 화면(820)에서 입력 왜곡 신호(810)의 공간 주파수인 CPD(Cycle Per Degree) 성분이 증가한다. 그리고 공간주파수 성분인 CPD가 증가하면 주파수 성분에 대한 인지 민감도를 나타내는 CSF(Contrast Sensitivity Function) 값이 감소한다. 따라서 CSF 값이 감소함에 따라 입력 왜곡 신호(810)에 대한 인지 민감도도 같이 감소한다. 그러므로 제2 디바이스(104)에 포함된 디스플레이가 작을수록 왜곡 민감도가 감소하기 때문에, 양자화 파라미터 결정부(226)는 양자화 파라미터를 증가시킬 수 있다.
반대로 저해상도 화면(830)에서는 CPD 성분이 감소하고, CSF 값이 증가한다. 따라서 입력 왜곡 신호(810)에 대한 인지 민감도도 증가한다. 그러므로 양자화 파라미터 결정부(226)는 양자화 파라미터를 감소시킬 수 있다.
도 9은 일 실시예에 따른 부호화 단위의 개념을 도시한다.
부호화 단위의 예는, 부호화 단위의 크기는 너비x높이로 표현되며, 크기 64x64인 부호화 단위부터, 32x32, 16x16, 8x8를 포함할 수 있다. 크기 64x64의 부호화 단위는 크기 64x64, 64x32, 32x64, 32x32의 파티션들로 분할될 수 있고, 크기 32x32의 부호화 단위는 크기 32x32, 32x16, 16x32, 16x16의 파티션들로, 크기 16x16의 부호화 단위는 크기 16x16, 16x8, 8x16, 8x8의 파티션들로, 크기 8x8의 부호화 단위는 크기 8x8, 8x4, 4x8, 4x4의 파티션들로 분할될 수 있다.
비디오 데이터(910)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 2로 설정되어 있다. 비디오 데이터(920)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 3로 설정되어 있다. 비디오 데이터(930)에 대해서는, 해상도는 352x288, 부호화 단위의 최대 크기는 16, 최대 심도가 1로 설정되어 있다. 도 4에 도시된 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낸다.
해상도가 높거나 데이터량이 많은 경우 부호화 효율의 향상뿐만 아니라 영상 특성을 정확히 반형하기 위해 부호화 사이즈의 최대 크기가 상대적으로 큰 것이 바람직하다. 따라서, 비디오 데이터(930)에 비해, 해상도가 높은 비디오 데이터(910, 920)는 부호화 사이즈의 최대 크기가 64로 선택될 수 있다.
비디오 데이터(910)의 최대 심도는 2이므로, 비디오 데이터(910)의 부호화 단위(915)는 장축 크기가 64인 최대 부호화 단위로부터, 2회 분할하며 심도가 두 계층 깊어져서 장축 크기가 32, 16인 부호화 단위들까지 포함할 수 있다. 반면, 비디오 데이터(930)의 최대 심도는 1이므로, 비디오 데이터(930)의 부호화 단위(935)는 장축 크기가 16인 부호화 단위들로부터, 1회 분할하며 심도가 한 계층 깊어져서 장축 크기가 8인 부호화 단위들까지 포함할 수 있다.
비디오 데이터(920)의 최대 심도는 3이므로, 비디오 데이터(920)의 부호화 단위(925)는 장축 크기가 64인 최대 부호화 단위로부터, 3회 분할하며 심도가 세 계층 깊어져서 장축 크기가 32, 16, 8인 부호화 단위들까지 포함할 수 있다. 심도가 깊어질수록 세부 정보의 표현능력이 향상될 수 있다.
도 10의 양자화 행렬(1000)은 입력 이미지가 입력 비트스트림으로 부호화되는 과정에서 이용된 양자화 행렬의 일 예이다.
양자화 행렬(1000)에 포함된 양자화 파라미터는 각각 양자화 행렬(1000)에서의 양자화 파라미터의 위치에 대응되는 변환 계수의 양자화에 사용된다.
양자화 파라미터가 증가될 경우, 압축 효율이 증가하지만, 데이터 손실은 증가하고, 양자화 파라미터가 감소될 경우, 압축 효율이 감소하지만, 데이터 손실은 감소한다.
한편 인간의 눈은 DC 또는 저주파 영역에 해당되는 신호의 변화를 잘 인지하는 반면에, 고주파 영역에 해당되는 신호의 변화를 상대적으로 잘 인지하지 못한다. 따라서 고주파 영역의 변환 계수에 대응되는 양자화 파라미터는 크고, DC 또는 저주파 영역에 해당되는 변환 계수에 대응되는 양자화 파라미터는 작도록 결정된다. 따라서 도 10에 도시된 바와 같이 양자화 행렬(1000)에 포함된 양자화 파라미터의 값들은 좌상측에서 우하측으로 갈수록 커지는 경향을 갖는다.
도 11은 영상 블록의 압축 강도 조절을 위한 계수 억제 임계값 행렬(1100)의 일 실시예를 설명하기 위한 도면이다. 양자화 행렬의 양자화 파라미터가 적절한지 판단하기 위하여 변환 계수와 양자화와 역양자화를 거쳐 복원된 변화 계수를 비교한다. 변환 계수와 복원된 변환 계수의 차의 절대값이 계수 억제 임계값 행렬(1100)의 계수 억제 임계값보다 작을 경우, 육안으로 데이터의 손실을 검출할 수 없다. 따라서 양자화 파라미터를 증가시킬 수 있다.
반대로 변환 계수와 복원된 변환 계수의 차의 절대값이 계수 억제 임계값 행렬(1100)의 계수 억제 임계값보다 클 경우, 육안으로 데이터의 손실을 알 수 있을 가능성이 높으므로, 양자화 파라미터를 감소시킬 수 있다.
도 12 일 실시예에 따른 부호화 단위에 기초한 블록 기반 부호화부(1200)의 블록도를 도시한다.
일 실시예에 따른 블록 기반 부호화부(1200)에서, 인트라 예측부(1220)는 현재 영상(1205) 중 인트라 모드의 부호화 단위에 대해 예측 단위별로 인트라 예측을 수행하고, 인터 예측부(1215)는 인터 모드의 부호화 단위에 대해 예측단위별로 현재 영상(1205) 및 복원 픽처 버퍼(1210)에서 획득된 참조 영상을 이용하여 인터 예측을 수행한다. 현재 영상(1205)은 최대부호화 단위로 분할된 후 순차적으로 인코딩이 수행될 수 있다. 이때, 최대 부호화 단위가 트리 구조로 분할될 부호화 단위에 대해 인코딩을 수행될 수 있다.
인트라 예측부(1220) 또는 인터 예측부(1215)로부터 출력된 각 모드의 부호화 단위에 대한 예측 데이터를 현재 영상(1205)의 인코딩되는 부호화 단위에 대한 데이터로부터 빼줌으로써 레지듀 데이터를 생성하고, 레지듀얼 데이터는 변환부(1225) 및 양자화부(1230)를 거쳐 변환 단위별로 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화부(1245), 역변환부(1250)을 통해 공간 영역의 레지듀 데이터로 복원된다. 복원된 공간 영역의 레지듀 데이터는 인트라 예측부(1220) 또는 인터 예측부(1215)로부터 출력된 각 모드의 부호화 단위에 대한 예측 데이터와 더해짐으로써 현재 영상(1205)의 부호화 단위에 대한 공간 영역의 데이터로 복원된다. 복원된 공간 영역의 데이터는 디블로킹부(1255) 및 SAO 수행부(1260)를 거쳐 복원 영상으로 생성된다. 생성된 복원 영상은 복원 픽쳐 버퍼(1210)에 저장된다. 복원 픽처 버퍼(1210)에 저장된 복원 영상들은 다른 영상의 인터예측을 위한 참조 영상으로 이용될 수 있다. 변환부(1225) 및 양자화부(1230)에서 양자화된 변환 계수는 엔트로피 부호화부(1235)를 거쳐 비트스트림(1240)으로 출력될 수 있다.
일 실시예에 따른 블록 기반 부호화부(1200)가 비디오 부호화 장치(1200)에 적용되기 위해서, 블록 기반 부호화부(1200)의 구성 요소들인 인터 예측부(1215), 인트라 예측부(1220), 변환부(1225), 양자화부(1230), 엔트로피 부호화부(1235), 역양자화부(1245), 역변환부(1250), 디블로킹부(1255) 및 SAO 수행부(1260)가 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반한 작업을 수행할 수 있다.
특히, 인트라 예측부(1220)및 인터예측부(1215)는 현재 최대 부호화 단위의 최대 크기 및 최대 심도를 고려하여 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위의 파티션 모드 및 예측 모드를 결정하며, 변환부(1225)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위 내의 쿼드 트리에 따른 변환 단위의 분할 여부를 결정할 수 있다.
도 13는 일 실시예에 따른 부호화 단위에 기초한 비디오 복호화부(1300)의 블록도를 도시한다.
엔트로피 복호화부(1315)는 비트스트림(1305)으로부터 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보를 파싱한다. 부호화된 영상 데이터는 양자화된 변환계수로서, 역양자화부(1320) 및 역변환부(1325)는 양자화된 변환 계수로부터 레지듀 데이터를 복원한다.
인트라 예측부(1340)는 인트라 모드의 부호화 단위에 대해 예측 단위 별로 인트라 예측을 수행한다. 인터 예측부(1335)는 현재 영상 중 인터 모드의 부호화 단위에 대해 예측 단위 별로 복원 픽처 버퍼(1330)에서 획득된 참조 영상을 이용하여 인터 예측을 수행한다.
인트라 예측부(1340) 또는 인터 예측부(1335)를 거친 각 모드의 부호화 단위에 대한 예측 데이터와 레지듀 데이터가 더해짐으로써 입력 영상(1205)의 부호화 단위에 대한 공간 영역의 데이터가 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(1345) 및 SAO 수행부(1350)를 거쳐 복원 영상(1360)으로 출력될 수 있다. 또한, 복원 픽쳐 버퍼(1330)에 저장된 복원 영상들은 참조 영상으로서 출력될 수 있다.
일 실시예에 따른 비디오 복호화부(1300)의 엔트로피 복호화부(1315) 이후의 단계별 작업들이 수행될 수 있다.
비디오 복호화부(1300)의 구성 요소들인 엔트로피 복호화부(1315), 역양자화부(1320), 역변환부(1325), 인트라 예측부(1340), 인터 예측부(1335), 디블로킹부(1345) 및 SAO 수행부(1350)가 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반하여 작업을 수행할 수 있다.
특히, 인트라 예측부(1340)및 인터 예측부(1335)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위마다 파티션 모드 및 예측 모드를 결정하며, 역변환부(1325)는 부호화 단위마다 쿼드 트리구조에 따른 변환단위의 분할 여부를 결정할 수 있다.
도 14는 픽셀 기반 예측 방법(1400)의 일 실시예를 설명하기 위한 도면이다.
일반적으로 픽셀들은 좌측에서 우측 방향으로, 상단에서 하단 방향으로 스캔된다. 따라서 주로 현재 부호화되는 현재 픽셀들의 좌측 또는 상단에 있는 픽셀들이 현재 픽셀의 예측 값을 계산하기 위한 참조 픽셀로 사용된다. 그러므로 도 14의 X(1410)가 현재 픽셀일 때, A(1420), B(1422) 및 C(1424)는 X(1410)의 부호화에 참조되는 참조 픽셀이 될 수 있다.
현재 픽셀의 예측 값은 다양한 방법으로 계산될 수 있다. 예를 들어, 현재 픽셀의 좌측에 위치한 픽셀의 픽셀 값 또는 현재 픽셀의 상단에 위치한 픽셀의 픽셀 값이 예측 값이 될 수 있다. 그리고 현재 픽셀의 좌측에 위치한 픽셀의 픽셀 값과 현재 픽셀의 상단에 위치한 픽셀의 픽셀 값의 평균값이 예측 값이 될 수도 있다. 또는 현재 픽셀의 좌측에 위치한 픽셀의 픽셀 값과 현재 픽셀의 상단에 위치한 픽셀의 픽셀 값을 더한 값에서 현재 픽셀의 좌측 상단에 위치한 픽셀의 픽셀 값을 뺀 값이 예측 값이 될 수도 있다.
도 14에서는 A(1420)의 픽셀 값, B(1422)의 픽셀 값, A(1420)의 픽셀 값과 B(1422)의 픽셀 값의 평균값 및 A(1420)의 픽셀 값과 B(1422)의 픽셀 값의 합에서 C(1424)의 픽셀값을 뺀 값 중 하나가 X(1410)의 예측 값이 된다.
그리고 현재 픽셀의 픽셀 값과 예측 값의 차를 현재 픽셀의 레지듀얼 데이터로 결정한다. 도 14에서는 A(1420), B(1422) 및 C(1424)를 이용하여 예측된 예측값과 X(1410)의 픽셀 값의 차가 X(1410)의 레지듀얼 데이터가 된다.
도15a 내지 15c는 인덱스 맵을 이용한 부호화 방법의 일 실시예를 설명하기 위한 도면이다.
도15a에는 원본 블록(1500)이 도시되어 있다. 원본 블록(1500)의 픽셀들은 4가지 색 중 하나이다.
도15b는 인덱스 맵(1520)을 생성하기 위하여 필요한 팔레트(1510)가 도시되어 있다. 원본 블록(1500)에 사용된 4가지 색에 대하여 각각 인덱스 값이 할당되고, 팔레트(1510)에는 4가지 색 각각에 대한 인덱스 값이 표시되어 있다. 예를 들어, 도15b에서 흰색의 인덱스 값은 0, 녹색의 인덱스 값은 1, 청색의 인덱스 값은 2, 주황색의 인덱스 값은 3이다.
도 15c는 팔레트(1510)에 표시된 인덱스 값에 따라 원본 블록(1500)에 포함된 픽셀들을 인덱스 값으로 나타낸 인덱스 맵(1520)이 도시된다. 원본 블록(1500)의 픽셀들이 픽셀들의 색에 대응되는 인덱스 값으로 표시되면서, 원본 블록(1500)은 인덱스 값이 나열된 인덱스 맵 스트링으로 표시될 수 있다.
인덱스 맵을 이용한 부호화 방법은 도15a의 원본 블록(1500)과 같이 사용된 픽셀들의 색의 수가 적은 경우, 픽셀의 색을 표현하기 위한 정보량을 효과적으로 줄일 수 있다. 따라서 사용된 픽셀들의 색의 수가 적을 때, 주로 인덱스 맵을 이용한 부호화 방법이 적용된다.
도16은 레지듀얼 스트링 매칭부(254)와 인덱스 맵 스트링 매칭부(258)에서 적용되는 LZ77 기반의 매칭 기술을 설명하기 위한 도면이다.
LZ77 기반의 매칭 기술이란 동일한 스트링이 반복될 경우, 최초의 스트링만 남겨두고, 그 후의 반복되는 스트링은 바로 이전에 출현한 스트링의 위치 및 스트링의 길이를 나타내는 포인터로 대체하여, 전체 스트링을 압축하는 기술을 의미한다.
예를 들어, 도16의 전체 스트링(1600)은 27개의 캐릭터(character)로 구성되어 있다. 그 중 제1 스트링(1602), 제2 스트링(1604) 및 제3 스트링(1606)은 01001100이다. 동일한 스트링이 3번 반복되므로, 제2 스트링(1604) 및 제3 스트링(1606)은 포인터로 대체된다. 예를 들어, 제2 스트링(1604)은 제1 스트링(1602)이 제2 스트링(1604)으로부터 8개의 캐릭터 뒤에 위치하고 있고, 제1 스트링(1602)의 길이가 8이므로 (8,8) (1614)로 표현될 수 있다. 제3 스트링(1606)은 제2 스트링(1604)이 제3 스트링(1606)으로부터 11개의 캐릭터 뒤에 위치하고 있고, 제2 스트링(1604)의 길이가 8이므로 (11,8) (1606)으로 표현될 수 있다.
결과적으로 전체 스트링(1600)은 LZ77 기반의 매칭 기술으로 압축되어 압축 스트링(1610)으로 표현된다.
본 발명은 정지영상 압축을 위한 JPEG(Joint Photographic Expert Group) 및 동영상 압축을 위한 MPEG(Motion Picture Expert Group) 표준 기술에 적용할 수 있으나 특정 압축 방식에 국한되지 않고 다양한 압축 방식 적용이 가능하다.
한편, 상술한 본 발명의 일 실시예에 따른 추적 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (18)

  1. 영상을 부호화 하는 부호화 장치에 있어서,
    디바이스로부터 상기 디바이스에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보를 포함하는 디바이스 정보를 수신하는 통신부; 및
    상기 영상에 관한 영상 정보와 상기 디바이스 정보를 이용하여 상기 영상을 부호화하기 위한 프로세서를 포함하고,
    상기 프로세서는,
    상기 디스플레이 형태 정보에 따라 상기 영상에서 상기 디스플레이에 표시되지 않는 영역을 비부호화 영역으로 결정하고,
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하고,
    상기 블록 기반 부호화 영역에 대하여 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 결정된 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하고,
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하고,
    상기 블록 기반 부호화에 의하여 결정된 심볼 및 상기 픽셀 기반 부호화에 의하여 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하고,
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 생성하는 것을 특징으로 하고,
    상기 통신부는, 상기 비트스트림을 상기 디바이스에 전송하는 것을 특징으로 하는 부호화 장치.
  2. 영상을 부호화하는 방법에 있어서,
    디바이스로부터 상기 디바이스에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보를 포함하는 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 디스플레이 형태 정보에 따라 상기 영상에서 상기 디스플레이에 표시되지 않는 영역을 비부호화 영역으로 결정하는 단계;
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하는 단계;
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 블록 기반 부호화 영역을 위한 양자화 파라미터를 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계; 및
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  3. 영상을 부호화 하는 부호화 방법에 있어서,
    디바이스로부터 상기 디바이스에 관련된 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 영상에 포함된 픽셀들에 대하여, 인접 픽셀들 간의 픽셀 값의 크기 차이를 나타내는 값들을 나타내는 픽셀 경도 정보를 획득하는 단계;
    상기 픽셀 경도 정보에 따라, 상기 인접 픽셀들 간의 픽셀 값의 크기 차이를 나타내는 값들 중 최대값을 선택하고, 상기 최대값이 임계치 이상인 영역을 픽셀 기반 부호화 영역으로 결정하고, 상기 최대값이 임계치 이하인 영역을 블록 기반 부호화 영역으로 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 결정된 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계; 및
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  4. 영상을 부호화 하는 부호화 방법에 있어서,
    디바이스로부터 상기 디바이스에 관련된 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 영상에 포함된 픽셀들이 분포된 패턴에 관한 패턴 정보를 획득하는 단계;
    상기 패턴 정보에 따라, 상기 픽셀들의 분포 패턴이 존재하고 상기 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이상인 영역은 픽셀 기반 부호화 영역으로 결정하고, 상기 분포 패턴이 없거나 상기 분포 패턴에 따라 반복되는 픽셀값들의 길이가 임계치 이하인 영역은 블록 기반 부호화 영역으로 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 결정된 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계;
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  5. 영상을 부호화 하는 부호화 방법에 있어서,
    디바이스로부터 상기 디바이스에 포함된 디스플레이의 디스플레이 해상도 정보를 포함하는 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 비부호화 영역, 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하는 단계;
    상기 디스플레이 해상도 정보 및 상기 영상 정보로부터 계산된 영상 해상도와 디스플레이 해상도의 비율에 따라 양자화 파라미터를 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 결정된 상기 양자화 파라미터를 이용하여 블록 기반 부호화를 수행 하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계; 및
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  6. 영상을 부호화 하는 부호화 방법에 있어서,
    디바이스로부터 상기 디바이스의 조도에 대한 조도 정보를 포함하는 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 조도 정보에 의한 상기 디바이스에 포함된 디스플레이의 밝기의 변화에 따라 상기 영상의 프레임율을 조절하는 단계;
    상기 조도 정보에 의한 상기 디바이스에 포함된 디스플레이의 밝기의 변화에 따라 양자화 파라미터를 결정하는 단계;
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 비부호화 영역, 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계; 및
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  7. 영상을 부호화 하는 부호화 방법에 있어서,
    디바이스로부터 상기 디바이스를 사용하는 사용자의 시선 정보를 포함하는 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 비부호화 영역, 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하는 단계;
    상기 시선 정보에 따라, 상기 사용자의 시선이 집중된 영역의 양자화 파라미터가 상기 사용자의 시선에서 벗어난 영역의 양자화 파라미터보다 작은 값을 가지도록 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계; 및
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  8. 영상을 부호화 하는 부호화 방법에 있어서,
    디바이스로부터 상기 디바이스가 저전력 모드인지 나타내는 전력 정보를 포함하는 디바이스 정보를 수신하는 단계;
    상기 영상에 관한 영상 정보를 획득하는 단계;
    상기 전력 정보가 상기 저전력 모드를 나타낼 경우, 상기 영상의 프레임율을 감소시키거나, 상기 영상의 컬러 포맷을 변환하는 단계;
    상기 디바이스 정보 및 상기 영상 정보 중 적어도 하나에 따라 상기 영상의 비부호화 영역, 블록 기반 부호화 영역 및 픽셀 기반 부호화 영역을 결정하는 단계;
    상기 전력 정보가 상기 저전력 모드를 나타낼 경우, 상기 저전력 모드가 아닐 때의 양자화 파라미터보다 크도록 양자화 파라미터를 결정하는 단계;
    상기 블록 기반 부호화 영역에 대하여 양자화 파라미터를 이용하여 블록 기반 부호화를 수행하는 단계;
    상기 픽셀 기반 부호화 영역에 대하여 픽셀 기반 부호화를 수행하는 단계;
    상기 블록 기반 부호화 수행 단계에서 결정된 심볼 및 픽셀 기반 부호화 수행 단계에서 결정된 심볼을 엔트로피 부호화하여 부호화 영상을 생성하는 단계; 및
    상기 부호화 영상, 상기 블록 기반 부호화 영역과 상기 픽셀 기반 부호화 영역에 관한 영역 정보 및 상기 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 디바이스에 전송하는 단계를 포함하는 부호화 방법.
  9. 부호화 영상을 복호화하는 복호화 장치에 있어서,
    복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보를 부호화 장치에 전송하고,
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역, 및 부호화가 적용되지 않은 비부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 통신부;
    상기 부호화 영상을 엔트로피 복호화하고,
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하고,
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하고,
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 프로세서를 포함하고,
    상기 디바이스 정보는 상기 디바이스에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보를 포함하고,
    상기 비부호화 영역은 상기 디스플레이 형태 정보에 따라 상기 영상에서 상기 디스플레이에 표시되지 않는 영역을 포함하는 것을 특징으로 하는 복호화 장치.
  10. 부호화 영상을 복호화하는 복호화 장치에 있어서,
    복호화 장치를 포함하는 디바이스에 포함된 디스플레이의 디스플레이 해상도 정보를 포함하는 디바이스 정보를 부호화 장치에 전송하고,
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 통신부;
    상기 부호화 영상을 엔트로피 복호화하고,
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하고,
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하고,
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 프로세서를 포함하고,
    상기 양자화 파라미터는 상기 디스플레이 해상도 정보 및 상기 영상 정보로부터 계산된 영상 해상도와 디스플레이 해상도의 비율에 따라 결정된 것을 특징으로 하는 복호화 장치.
  11. 부호화 영상을 복호화하는 복호화 장치에 있어서,
    복호화 장치를 포함하는 디바이스의 조도에 대한 조도 정보가 포함된 디바이스 정보를 부호화 장치에 전송하고,
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상,
    상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및
    상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 통신부;
    상기 부호화 영상을 엔트로피 복호화하고,
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하고,
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하고,
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 프로세서를 포함하고,
    상기 영상의 프레임율 및 상기 양자화 파라미터는 상기 조도 정보에 따른 상기 디바이스에 포함된 디스플레이의 밝기 변화에 따라 결정된 것을 특징으로 하는 복호화 장치.
  12. 부호화 영상을 복호화하는 복호화 장치에 있어서,
    복호화 장치를 포함하는 디바이스를 사용하는 사용자의 시선 정보가 포함된 디바이스 정보를 부호화 장치에 전송하고,
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상,
    상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및
    상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 통신부;
    상기 부호화 영상을 엔트로피 복호화하고,
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하고,
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하고,
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 프로세서를 포함하고,
    상기 양자화 파라미터는 상기 시선 정보에 따라, 상기 사용자의 시선이 집중된 영역의 양자화 파라미터가 상기 사용자의 시선에서 벗어난 영역의 양자화 파라미터보다 작은 값을 가지도록 결정된 것을 특징으로 하는 복호화 장치.
  13. 부호화 영상을 복호화하는 복호화 장치에 있어서,
    복호화 장치를 포함하는 디바이스가 저전력 모드인지 나타내는 전력 정보를 포함하는 디바이스 정보를 부호화 장치에 전송하고,
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상,
    상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및
    상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 통신부;
    상기 부호화 영상을 엔트로피 복호화하고,
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하고,
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하고,
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 프로세서를 포함하고,
    상기 전력 정보가 상기 저전력 모드를 나타낸 경우, 상기 부호화된 영상의 프레임율은 감소되고, 컬러 포맷은 변환되며, 상기 양자화 파라미터가 증가하는 것을 특징으로 하는 복호화 장치.
  14. 복호화 장치가 부호화 영상을 복호화하는 방법에 있어서,
    복호화 장치를 포함하는 디바이스에 관련된 디바이스 정보를 부호화 장치에 전송하는 단계;
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역, 및 부호화가 적용되지 않은 비부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 단계;
    상기 부호화 영상을 엔트로피 복호화하는 단계;
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하는 단계;
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하는 단계; 및
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 단계를 포함하고,
    상기 디바이스 정보는 상기 디바이스에 포함된 디스플레이의 형태에 관한 디스플레이 형태 정보를 포함하고,
    상기 비부호화 영역은 상기 디스플레이 형태 정보에 따라 상기 영상에서 상기 디스플레이에 표시되지 않는 영역을 포함하는 것을 특징으로 하는 복호화 방법.
  15. 복호화 장치가 부호화 영상을 복호화하는 방법에 있어서,
    복호화 장치를 포함하는 디바이스에 포함된 디스플레이의 디스플레이 해상도 정보를 포함하는 디바이스 정보를 부호화 장치에 전송하는 단계;
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 단계;
    상기 부호화 영상을 엔트로피 복호화하는 단계;
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하는 단계;
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하는 단계; 및
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 단계를 포함하고,
    상기 양자화 파라미터는 상기 디스플레이 해상도 정보 및 상기 영상 정보로부터 계산된 영상 해상도와 디스플레이 해상도의 비율에 따라 결정된 것을 특징으로 하는 복호화 방법.
  16. 복호화 장치가 부호화 영상을 복호화하는 방법에 있어서,
    복호화 장치를 포함하는 디바이스의 조도에 대한 조도 정보가 포함된 디바이스 정보를 부호화 장치에 전송하는 단계;
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 단계;
    상기 부호화 영상을 엔트로피 복호화하는 단계;
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하는 단계;
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하는 단계; 및
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 단계를 포함하고,
    상기 영상의 프레임율 및 상기 양자화 파라미터는 상기 조도 정보에 따른 상기 디바이스에 포함된 디스플레이의 밝기 변화에 따라 결정된 것을 특징으로 하는 복호화 방법.
  17. 복호화 장치가 부호화 영상을 복호화하는 방법에 있어서,
    복호화 장치를 포함하는 디바이스를 사용하는 사용자의 시선 정보가 포함된 디바이스 정보를 부호화 장치에 전송하는 단계;
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 단계;
    상기 부호화 영상을 엔트로피 복호화하는 단계;
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하는 단계;
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하는 단계; 및
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 단계를 포함하고,
    상기 양자화 파라미터는 상기 시선 정보에 따라, 상기 사용자의 시선이 집중된 영역의 양자화 파라미터가 상기 사용자의 시선에서 벗어난 영역의 양자화 파라미터보다 작은 값을 가지도록 결정된 것을 특징으로 하는 복호화 방법.
  18. 복호화 장치가 부호화 영상을 복호화하는 방법에 있어서,
    복호화 장치를 포함하는 디바이스가 저전력 모드인지 나타내는 전력 정보를 포함하는 디바이스 정보를 부호화 장치에 전송하는 단계;
    상기 디바이스 정보 및 영상에 관한 영상 정보 중 적어도 하나에 따라 영상을 부호화하여 생성된 상기 부호화 영상, 상기 영상의 영역 중 블록 기반 부호화가 적용된 블록 기반 부호화 영역과 픽셀 기반 부호화가 적용된 픽셀 기반 부호화 영역에 관한 영역 정보, 및 상기 영상의 상기 블록 기반 부호화 영역의 부호화 과정에서 이용된 양자화 파라미터에 관한 양자화 정보를 포함하는 비트스트림을 상기 부호화 장치로부터 수신하는 단계;
    상기 부호화 영상을 엔트로피 복호화하는 단계;
    상기 엔트로피 복호화된 영상의 상기 블록 기반 부호화 영역에 대응되는 부분에 대하여 상기 양자화 파라미터를 이용하여 블록 기반 복호화를 수행하는 단계;
    상기 엔트로피 복호화된 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분에 대하여 픽셀 기반 복호화를 수행하는 단계; 및
    상기 블록 기반 복호화된 상기 영상의 상기 블록 기반 부호화 영역에 대응되는 부분과 상기 픽셀 기반 복호화된 상기 영상의 상기 픽셀 기반 부호화 영역에 대응되는 부분을 조합하여 상기 디바이스에서 재생될 영상을 복원하는 단계를 포함하고,
    상기 전력 정보가 상기 저전력 모드를 나타낸 경우, 상기 부호화된 영상의 프레임율은 감소되고, 컬러 포맷은 변환되며, 상기 양자화 파라미터가 증가하는 것을 특징으로 하는 복호화 방법.
KR1020170043096A 2017-04-03 2017-04-03 부호화 방법 및 장치와 복호화 방법 및 장치 KR101757464B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170043096A KR101757464B1 (ko) 2017-04-03 2017-04-03 부호화 방법 및 장치와 복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170043096A KR101757464B1 (ko) 2017-04-03 2017-04-03 부호화 방법 및 장치와 복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140186369A Division KR101724555B1 (ko) 2014-12-22 2014-12-22 부호화 방법 및 장치와 복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170040164A KR20170040164A (ko) 2017-04-12
KR101757464B1 true KR101757464B1 (ko) 2017-07-27

Family

ID=58580459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170043096A KR101757464B1 (ko) 2017-04-03 2017-04-03 부호화 방법 및 장치와 복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101757464B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3129747A1 (fr) * 2021-11-29 2023-06-02 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif d’affichage a dechiffrement local des donnees numeriques

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007081474A (ja) * 2005-09-09 2007-03-29 Toshiba Corp 画像符号化装置及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007081474A (ja) * 2005-09-09 2007-03-29 Toshiba Corp 画像符号化装置及び方法

Also Published As

Publication number Publication date
KR20170040164A (ko) 2017-04-12

Similar Documents

Publication Publication Date Title
KR101724555B1 (ko) 부호화 방법 및 장치와 복호화 방법 및 장치
CN107566848B (zh) 编解码的方法及装置
KR102431537B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
CN110248196B (zh) 用于调色板编解码的方法和设备
KR102442931B1 (ko) 비디오 코딩을 위한 방법 및 장치
KR102305988B1 (ko) 팔레트-기반 비디오 코딩을 위한 컬러 인덱스 코딩
KR20220162871A (ko) 비디오 코딩을 위한 방법 및 장치
CN112055971B (zh) 视频编解码方法、编解码器以及存储介质
WO2015194187A1 (en) Harmonized palette coding
JP2022177269A (ja) 動画を復号する方法、装置、及びコンピュータプログラム
US11153591B2 (en) Method and apparatus for color transform in VVC
KR20150090178A (ko) 차세대 비디오용 코딩된/코딩되지 않은 데이터의 콘텐츠 적응적 엔트로피 코딩
KR102218696B1 (ko) 영상 변환 부호화/복호화 방법 및 장치
JP7297918B2 (ja) ビデオ符号化のための色変換
CN110248187B (zh) 用于视频压缩中的方向性帧内预测的方法、设备和存储介质
KR20210125088A (ko) 매트릭스 기반 인트라 예측 및 2차 변환 코어 선택을 조화시키는 인코더, 디코더 및 대응 방법
KR20210031669A (ko) 영상 부호화/복호화 방법 및 장치
KR20220130183A (ko) 비디오 코딩을 위한 방법 및 장치
KR102647645B1 (ko) 비디오 코딩을 위한 방법 및 장치
KR20170044682A (ko) 비디오 코딩에서 인-루프 필터링을 위한 시스템 및 방법
KR20220065880A (ko) 아핀 모션 보상에서 dct 기반 보간 필터 및 향상된 쌍선형 보간 필터의 사용
US20230188738A1 (en) Encoding and decoding video content using prediction-aware flexible skip coding
KR101757464B1 (ko) 부호화 방법 및 장치와 복호화 방법 및 장치
KR20210059768A (ko) 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
JP7412443B2 (ja) 非線形ループフィルタリングのための方法および装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant