KR101631278B1 - 모드 정보를 부호화, 복호화하는 방법 및 장치 - Google Patents

모드 정보를 부호화, 복호화하는 방법 및 장치 Download PDF

Info

Publication number
KR101631278B1
KR101631278B1 KR1020100010482A KR20100010482A KR101631278B1 KR 101631278 B1 KR101631278 B1 KR 101631278B1 KR 1020100010482 A KR1020100010482 A KR 1020100010482A KR 20100010482 A KR20100010482 A KR 20100010482A KR 101631278 B1 KR101631278 B1 KR 101631278B1
Authority
KR
South Korea
Prior art keywords
mode
block
information
encoding
current block
Prior art date
Application number
KR1020100010482A
Other languages
English (en)
Other versions
KR20110011504A (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 KR20110011504A publication Critical patent/KR20110011504A/ko
Application granted granted Critical
Publication of KR101631278B1 publication Critical patent/KR101631278B1/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/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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 정보를 먼저 복호화하고, 현재 블록이 제1 모드에 따라 부호화되지 않은 경우에만 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 정보를 복호화하는 계층적인 모드 정보복호화 방법 및 장치, 그에 대응되는 모드 정보 부호화 방법 및 장치가 개시된다.

Description

모드 정보를 부호화, 복호화하는 방법 및 장치{Method and apparatus for encoding/decoding mode information}
본 발명은 모드 정보를 부호화, 복호화하는 방법 및 장치에 관한 것으로 보다 상세히는 복수의 모드에 따라 부호화되는 영상의 모드 정보를 부호화, 복호화하는 방법 및 장치에 관한 것이다.
무선 네트워크 기술이 발전하면서, 무선 네트워크를 통한 디바이스 사이의 상호 연결이 이슈가 되고 있다. 많은 기업이 무선 네트워크를 통한 디바이스 사이의 상호 연결 기술을 확보하기 위해 노력하고 있다. 특히 최근에는 HDMI(High Definition Multimedia Interface)를 대체할 비압축 HD 상호 연결 기술인 WiHD (Wireless HD) 표준화가 진행되고 있다. WiHD에 따르면 TV, 홈시어터, DVD 플레이어, 블루레이 플레이어, 캠코더 등과 다양한 디바이스이 무선 네트워크를 통해 상호 연결된다.
본 발명이 해결하고자 하는 기술적 과제는 복수의 모드에 따라 부호화되는 영상의 모드 정보를 부호화, 복호화하는 방법 및 장치를 제공하는데 있고, 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 모드 정보 복호화 방법은 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 복호화하는 단계; 상기 정보의 복호화 결과, 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 복호화하는 단계; 및 상기 제1 정보 및 제2 정보 중 적어도 하나의 복호화 결과에 기초해 상기 현재 블록의 복호화에 이용될 모드를 결정하는 단계를 포함하고, 상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드인 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 제2 모드는 이산 코사인 변환에 기초해 소정의 블록을 부호화하는 모드이고, 상기 제3 모드는 픽셀 값들에 대한 복수의 비트 플레인(bit plane)에 기초해 소정의 블록을 부호화하는 모드인 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 제1 정보를 복호화하는 단계는 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보에 기초해 선택적으로 상기 제1 정보를 파싱하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 선택적으로 제1 정보를 파싱하는 단계는 상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하는지 제3 정보에 기초해 판단하는 단계; 상기 제3 정보에 기초해 판단한 결과, 상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하면, 상기 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 파싱하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 선택적으로 제2 정보를 파싱하는 단계는 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하는지 제4 정보에 기초해 판단하는 단계; 및 상기 제4 정보에 기초해 판단한 결과, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 파싱하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 제2 정보를 복호화하는 단계는 상기 제1 정보의 복호화 결과, 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하는지 제4 정보에 기초해 선택적으로 상기 제2 정보를 파싱하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 선택적으로 제2 정보를 파싱하는 단계는 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하는지 제4 정보에 기초해 판단하는 단계; 및 상기 제4 정보에 기초해 판단한 결과, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 파싱하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 제2 모드는 상기 제1 블록의 픽셀 값들을 이산 코사인 변환하고, 이산 코사인 결과 생성된 계수들을 최상위 비트로부터 최하위 비트까지의 복수의 비트 플레인(bit plane)으로 나누어 비트 플레인 단위로 부호화하는 모드인 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 제3 모드는 상기 제1 블록의 픽셀 값들을 최상위 비트로부터 최하위 비트까지의 복수의 비트 플레인으로 나누어 비트 플레인 단위로 부호화하는 모드인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 모드 정보 부호화 방법은 현재 블록의 부호화 모드를 결정하는 단계; 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화하는 단계; 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화하는 단계를 포함하고, 상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 모드 정보 복호화 장치는 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 복호화하는 제1 정보 복호화부; 상기 정보의 복호화 결과, 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 복호화하는 제2 정보 복호화부; 및 상기 제1 정보 및 제2 정보 중 적어도 하나의 복호화 결과에 기초해 상기 현재 블록의 복호화에 이용될 모드를 결정하는 모드 결정부를 포함하고, 상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 모드 정보 복호화 장치는 현재 블록의 부호화 모드를 결정하는 모드 결정부; 상기 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화하는 제1 정보 부호화부; 및 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화하는 제2 정보 부호화부를 포함하고, 상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드인 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해 본 발명은 상기 모드 정보 부호화 방법 및 모드 정보 복호화 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 따르면, 계층적으로 영상 블록의 부호화 모드에 대한 정보를 부호화함으로써, 보다 효율적으로 모드 정보를 부호화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 단위를 도시한다.
도 3은 본 발명의 일 실시예에 따른 스킵 모드를 판단하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다.
도 5는 본 발명의 일 실시예에 따른 내추럴 모드 부호화부를 도시한다.
도 6a는 본 발명의 일 실시예에 따른 그래픽 모드 부호화부를 도시한다.
도 6b는 본 발명의 일 실시예에 따른 비트 플레인 기반 부호화 방법을 도시한다.
도 7은 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 9는 본 발명의 또 다른 실시예에 따른 영상 복호화 장치를 도시한다.
도 10은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 또 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 모드 정보 부호화 장치를 도시한다.
도 14는 본 발명의 일 실시예에 따른 모드 정보 부호화 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 또 다른 실시예에 따른 모드 정보 부호화 방법을 설명하기 위한 흐름도이다.
도 16은 본 발명의 또 다른 실시예에 따른 모드 정보 부호화 방법을 설명하기 위한 흐름도이다.
도 17은 본 발명의 일 실시예에 따른 모드 정보 복호화 장치를 도시한다.
도 18은 본 발명의 일 실시예에 따른 모드 정보 복호화 방법을 설명하기 위한 흐름도이다.
도 19는 본 발명의 또 다른 실시예에 따른 모드 정보 복호화 방법을 설명하기 위한 흐름도이다.
도 20은 본 발명의 또 다른 실시예에 따른 모드 정보 복호화 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 모드 결정부(110), 부호화부(120) 및 모드 정보 부호화부(130)를 포함한다.
모드 결정부(110)는 현재 블록의 부호화에 이용되는 모드를 결정한다. 무선 네트워크를 통한 디바이스들의 상효 연결에 대한 기술들은 무선 네트워크를 통해 HD 이상의 고화질 콘텐트를 송수신하는 것을 목적으로 하고 있다. 다만, 다양한 디바이스 사이의 상호 연결이 가능하게하기 위해 적은 메모리와 낮은 복잡도에 포커스를 맞추어 표준화가 진행 중이다. 따라서, 영상의 부호화에 있어서도 최대한 낮은 복잡도를 추구하고 있는 바, MPEG-1, MPEG-2, MPEG-4 H.264/MPEG-4 AVC(Advanced Video coding)와 같은 종래 기술에 따른 영상 부호화 방법과 달리 압축률을 높이기 위한 복잡한 기법들을 이용하지 않는다.
그러나, 영상의 픽셀 값들을 전혀 압축하지 않고 전송하는 것은 높은 전송율의 무선 네트워크를 요구하게 되므로, 이 또한 다양한 디바이스 사이의 상호 연결을 방해하는 요소가 될 수 있다. 따라서, 후술하는 스킵 모드(skip mode), 내추럴 모드(natural mode) 및 그래픽 모드(graphic mode)의 세 가지 모드를 이용하여 영상을 부호화, 복호화함으로써 낮은 복잡도와 적정 수준의 압축률을 보장할 수 있다.
스킵 모드는 현재 블록이 현재 블록에 인접한 블록과 동일한지 여부에 기초해 현재 블록을 부호화하는 모드이고, 내추럴 모드는 현재 블록이 자연 영상에 대한 블록이면, 이산 코사인 변환(DCT : discrete cosine transform) 및 비트 플레인(bit plane) 분할을 이용해 현재 블록을 부호화하는 모드이다. 그래픽 모드는 현재 블록이 문자(text)와 같이 인위적(artificially)으로 생성된 영상에 대한 블록이면, 비트 플레인 분할을 이용해 현재 블록을 부호화하는 모드이다. 스킵 모드, 내추럴 모드 및 그래픽 모드에 대해서는 도 3 내지 5를 참조하여 상세히 후술한다.
모드 결정부(110)는 전술한 복수의 모드 중 어떤 모드에 따라 현재 블록을 부호화할지 결정한다. 우선, 모드 결정부(110)는 현재 블록이 현재 블록에 인접한 이전에 부호화된 현재 슬라이스의 다른 블록과 동일 또는 유사한지 판단한다. 현재 블록의 픽셀 값과 현재 슬라이스의 이전에 부호화된 블록의 픽셀 값을 비교하여 동일 또는 유사한지 판단한다. 도 2 및 3을 참조하여 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 단위를 도시한다.
도 2를 참조하면, 영상 부호화 장치(100)는 슬라이스 단위, 블록 단위, 비트 플레인 단위로 영상을 분할하여 부호화한다. 현재 픽처(210)를 복수의 슬라이스(212 내지 216)로 분할한다. 세로가 N인 복수의 슬라이스(212 내지 216)로 분할할 수 있다. 그런 다음 각각의 슬라이스를 NxN 크기의 블록으로 분할한다. 블록은 다시 최상위 비트에 대한 비트 플레인으로부터 최하위 비트에 대한 비트 플레인까지 복수의 비트 플레인으로 분할될 수 있다. 만약 블록의 픽셀 값 또는 이산 코사인 계수가 M 비트로 표현된다면, 전제 M 개의 비트 플레인으로 분할될 수 있다.
도 3은 본 발명의 일 실시예에 따른 스킵 모드를 판단하는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 도 2와 관련하여 전술한 바와 같이 현재 픽처(310)는 복수의 슬라이스로 분할될 수 있다. 영상 부호화 장치(100)가 도 3에 도시된 슬라이스(320)를 부호화하는 경우를 예로 들어 설명한다.
현재 슬라이스(320)의 현재 블록(322)을 부호화하기 위해 영상 부호화 장치(100)의 모드 결정부(110)는 현재 블록(322)이 현재 블록에 인접한 이전에 부호화된 블록(324)과 동일 또는 유사한지 판단한다. 부호화되는 현재 블록(322)은 공간적으로 인접한 이전에 부호화된 블록과 동일 또는 유사한 확률이 높다. 따라서, 모드 결정부(110)는 현재 블록(322)이 좌측에 인접한 이전에 부호화된 블록(324)과 동일 또는 유사하면, 현재 블록(322)의 부호화 모드를 스킵 모드로 결정할 수 있다. 인접한 블록(324)은 현재 블록의 부호화 바로 직전에 부호화된 블록일 수 있다.
현재 블록(322)과 인접한 블록(324)이 동일 또는 유사한지 여부에 대한 판단은 다양한 방법으로 수행될 수 있다. 현재 블록(322)과 인접한 블록(324) 사이의 SAD(Sum of Absolute Difference), MSE(Mean Square Error), SNR(Signal to Noise Ratio), 최대 차이(Max Difference) 등에 기초해 코스트(cost)를 계산하고, 계산된 코스트에 따라 현재 블록(322)과 인접한 블록(324)이 동일 또는 유사한지 판단한다. SAD, MSE, 최대 차이가 '0'에 가까울수록 현재 블록(322)과 인접한 블록(324)이 동일 또는 유사한 것으로 판단할 수 있다.
모드 결정부(110)는 현재 블록(322)과 인접한 블록(324)이 완전히 동일한 경우에만 현재 블록(322)의 부호화 모드를 스킵 모드로 결정할 수도 있고, 현재 블록(322)과 유사한 경우에도 현재 블록(322)의 부호화 모드를 스킵 모드로 결정할 수도 있다. 다시 말해, 전술한 SAD, MSE, 최대 차이 등이 '0'일 때만, 현재 블록(322)의 부호화 모드를 스킵 모드로 결정할 수도 있고, 소정 임계 값 이하인 때에도 현재 블록(322)과 인접한 블록(324)이 유사한 것으로 판단하여 현재 블록(322)의 부호화 모드를 스킵 모드로 결정할 수도 있다.
모드 결정부(110)가 현재 블록과 인접한 블록의 동일 또는 유사 여부를 판단한 결과, 현재 블록의 부호화 모드를 스킵 모드가 아닌 것으로 결정하면, 모드 결정부(110)는 다시 현재 블록을 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화할지 판단한다. 현재 블록이 자연 연상, 즉 인위적으로 생성되지 않은 영상에 대한 블록인 것으로 판단되면 현재 블록의 부호화 모드를 내추럴 모드로 결정하고, 반대로 현재 블록이 텍스트, 컴퓨터 그래픽과 같이 인위적으로 생성된 영상에 대한 블록인 것으로 판단되면, 현재 블록의 부호화 모드를 그래픽 모드로 결정한다.
현재 블록을 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화할지 판단하는 기준에는 제한이 없으며, 다양한 알고리즘을 이용해 현재 블록이 인위적으로 생성된 영상에 대한 블록인지 판단할 수 있다. 예를 들어, 인위적인 영상은 특정 영역에 동일한 픽셀 값들이 분포할 확률이 높으므로, 현재 블록의 픽셀 값들을 비교하여 동일한 픽셀 값들이 소정 개수 이상이면, 인위적으로 생성된 영상에 대한 블록인 것으로 판단할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 현재 블록을 내추럴 모드 및 그래픽 모드에 따라 각각 부호화한 다음, 부호화 결과를 RD 코스트(Rate Distortion Cost)에 기초해 내추럴 모드 또는 그래픽 모드를 현재 블록의 부호화 모드로 결정할 수 있는데, 이에 대한 상세한 설명은 도 7을 참조하여 후술한다.
모드 결정부(110)에서 현재 블록의 부호화에 이용될 모드를 결정하면, 부호화부는 모드 결정부(110)에서 결정된 부호화 모드에 따라 현재 블록을 부호화한다.
현재 블록이 이전에 부호화된 인접한 블록과 동일 또는 유사하여 현재 블록의 부호화 모드가 스킵 모드로 결정되었다면, 현재 블록의 픽셀 값 대신에 현재 블록이 스킵 모드로 부호화되었음을 나타내는 정보를 부호화한다. 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 플래그 정보를 현재 블록의 픽셀 값 대신에 부호화할 수 있다.
현재 블록의 픽셀 값을 직접 부호화하는 대신에 1 비트의 플래그 정보로 현재 블록을 부호화할 수 있으므로, 영상의 압축률이 향상된다. 또한, 스킵 모드에 따라 현재 블록을 부호화하기 위해 현재 블록 바로 이전에 부호화된 블록만 참조하므로, 낮은 복잡도로 스킵 모드를 구현할 수 있다.
현재 블록이 이전에 부호화된 인접한 블록과 동일 또는 유사하지 않아 현재 블록의 부호화 모드가 스킵 모드가 아닌 것으로 결정되었다면, 부호화부(130)는 현재 블록을 내추럴 모드 또는 그래픽 모드에 따라 부호화한다. 모드 결정부(110)가 현재 블록의 부호화 모드를 내추럴 모드로 결정하였다면, 내추럴 모드에 따라 현재 블록을 부호화하고, 모드 결정부(110)가 현재 블록의 부호화 모드를 그래픽 모드로 결정하였다면, 그래픽 모드에 따라 부호화한다. 내추럴 모드 및 그래픽 모드에 따른 부호화 방법은 도 4 내지 6을 참조하여 상세히 설명한다.
도 4는 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(400)는 모드 결정부(410), 내추럴 모드 부호화부(420), 그래픽 모드 부호화부(430) 및 모드 정보 부호화부(440)를 포함한다. 모드 결정부(410)는 도 1의 모드 결정부(110)에 대응되며, 내추럴 모드 부호화부(420), 그래픽 모드 부호화부(430) 및 모드 정보 부호화부(440)는 도 1의 부호화부(120)에 대응된다.
모드 결정부(410)는 현재 블록의 부호화 모드를 결정한다. 스킵 모드, 내추럴 모드 및 그래픽 모드 중 현재 블록의 부호화에 이용되는 모드를 결정할 수 있다.
모드 결정부(410)가 현재 블록의 부호화 모드를 스킵 모드로 결정하면, 모드 정보 부호화부(440)는 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다. 현재 블록의 픽셀 값 대신에 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 플래그 정보를 부호화할 수 있다.
모드 결정부(410)가 현재 블록의 부호화 모드를 내추럴 모드로 결정하면, 내추럴 모드 부호화부(420)는 현재 블록을 내추럴 모드에 따라 부호화한다. 현재 블록을 이산 코사인 변환하여 이산 코사인 계수들을 생성하고, 생성된 계수들을 복수의 비트 플레인으로 분리하여 각각의 비트 플레인을 비트 플레인 기반(bit plane basis) 부호화 방법을 이용해 부호화한다. 도 5를 참조하여 상세히 설명한다.
도 5는 본 발명의 일 실시예에 따른 내추럴 모드 부호화부를 도시한다.
도 5를 참조하면, 본 발명의 일 실시예에 다른 내추럴 모드 부호화부(420)는 변환부(510), 비트 플레인 선택부(520) 및 비트 플레인 부호화부(530)를 포함한다.
변환부(510)는 현재 블록을 이산 코사인 변환(DCT : discrete cosine transform)하여 이산 코사인 변환 계수들을 생성한다. 이산 코사인 변환은 픽셀 도메인의 픽셀 값을 주파수 도메인으로 변환하여 주파수 도메인의 계수들을 생성하는 방법의 예시일 뿐이며, 다른 방법이 현재 블록의 변환에 이용될 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람은 쉽게 알 수 있다.
변환부(510)가 현재 블록을 이산 코사인 변환하여 생성된 이산 코사인 변환 계수들 중 DC(direct current) 성분의 계수에 대한 비트열은 그대로 비트스트림에 삽입된다. 그러나, AC(alternating current) 성분의 계수들은 비트 플레인 기반 부호화 방법에 따라 부호화된다.
비트 플레인 선택부(520)는 AC 성분의 계수들을 복수의 비트 플레인으로 분리한다. AC 성분의 계수들의 최상위 비트들로 구성된 비트 플레인으로부터 최하위 비트들로 구성된 비트 플레인까지 복수의 비트플레인으로 분리한다. M 비트의 AC 성분의 계수들을 비트 단위로 분리하여 M 개의 비트 플레인을 생성한다. AC 성분의 계수들에 대한 비트열들의 최상위 비트들로 구성된 제1 비트 플레인을 분리하고, 최상위 비트 다음의 비트들로 구성된 제2 비트 플레인을 분리한다. 비트 플레인의 분리를 최하위 비트까지 반복하여 M 개의 비트 플레인을 분리한다.
비트 플레인 선택부(520)에서 복수의 비트 플레인을 분리하면, 비트 플레인 부호화부(530)는 생성된 복수의 비트 플레인 각각을 비트 플레인 기반 부호화 방법을 이용해 부호화한다. 비트 플레인을 부호화하는 방법에는 제한이 없으며, 종래 기술에 따른 모든 비트 플레인 기반 부호화 방법에 본 발명에 이용될 수 있다. 또한, 본 발명의 일 실시예에 따르면, 비트 마스크(bit mask)를 이용해 각각의 비트 플레인을 부호화할 수 있다. 각각의 비트 플레인에서 의미있는 비트가 존재하는 영역을 비트 마스트를 이용해 설정하고, 설정된 영역에 대해서만 비트 플레인 기반 부호화를 수행할 수 있다.
이상, 도 5와 관련하여 DC 계수 및 AC 계수를 분리하여 별도로 부호화하는 방법에 대해서 설명하였다. 그러나, 도 5와 관련하여 전술한 부호화 방법은 예시적인 것이며, 이산 코사인 변환 및 비트 플레인 기반 부호화 방법을 이용하여 현재 블록을 이용하는 모든 방법이 내추럴 모드 부호화부(420)에 적용될 수 있다.
다시 도 4를 참조하면, 모드 결정부(410)가 현재 블록의 부호화 모드를 그래픽 모드로 결정하면, 그래픽 모드 부호화부(430)는 현재 블록을 그래픽 모드에 따라 부호화한다. 현재 블록의 픽셀 값을 복수의 비트 플레인으로 분리하여 각각의 비트 플레인을 비트 플레인 기반(bit plane basis) 부호화 방법을 이용해 부호화한다. 도 6a를 참조하여 상세히 설명한다.
도 6a는 본 발명의 일 실시예에 따른 그래픽 모드 부호화부를 도시한다.
도 6a를 참조하면, 본 발명의 일 실시예에 따른 그래픽 모드 부호화부(430)는 비트 플레인 선택부(610) 및 비트 플레인 부호화부(620)를 포함한다.
비트 플레인 선택부(610)는 현재 블록의 픽셀 값들을 복수의 비트 플레인으로 분리한다. P 비트의 픽셀 값들을 비트 단위로 분리하여 픽셀 값의 최상위 비트들로 구성된 비트 플레인으로부터 픽셀 값의 최하위 비트들로 구성된 비트 플레인까지 P 개의 비트 플레인을 생성한다.
비트 플레인 선택부(610)에서 복수의 비트 플레인을 분리하면, 비트 플레인 부호화부(620)는 생성된 복수의 비트 플레인 각각을 비트 플레인 기반 부호화 방법을 이용해 부호화한다.
도 6b는 본 발명의 일 실시예에 따른 비트 플레인 기반 부호화 방법을 도시한다.
도 6b를 참조하면, 비트 플레인 부호화부(620)는 동일한 비트 값들을 그룹화하여 비트 플레인을 부호화한다. 블록의 크기가 4x4이고, 픽셀 값이 8 비트인 경우를 예로 들어 설명하면, 비트 플레인 부호화부(620)는 먼저 최상위 비트인 비트 7에 대한 비트 플레인을 도 6b에 도시된 바와 같이 부호화한다. 비트 7에 대한 비트 플레인을 ‘0’의 그룹(631)과 ‘1’의 그룹들(632)로 나누어 부호화한다. 최상위 비트 7에 대한 비트 플레인이 동일한 비트를 포함하고 있지 않으므로, 먼저 ‘1’을 부호화하고, 분할 형태를 나타내기 위해 ‘000111111111000’을 부호화한다.
비트 6에 대한 비트 플레인은 비트 7의 그룹들에 기초해 각각의 그룹들이 다시 서로 다른 비트 값에 의해 분할되는지 여부에 따라 부호화된다. 도 6b에 도시된 실시예에서는 ‘0’의 그룹(631) 및 ‘1’의 그룹(632)이 모두 분할되지 않았으므로, ‘0’의 그룹(631)이 분할되지 않았음을 나타내는 ‘00’과 ‘1’의 그룹(632)이 분할되지 않았음을 나타내는 ‘01’을 부호화한다.
비트 5에 대한 비트 플레인에서는 비트 6에 대한 비트 플레인의 ‘1’의 그룹(632)이 두 개의 그룹(634 및 644)로 분할된다. 따라서, ‘0’의 그룹이 분할되지 않았음을 나타내는 ‘00’을 먼저 부호화하고, ‘1’의 그룹(632)이 분할되었음을 나타내기 위해 ‘1’을 부호화한다. 그런 다음, ‘1’의 그룹(632)이 분할된 형태를 나타내기 위해 ‘0000011111’을 부호화한다.
비트 4에 대한 비트 플레인에서는 ‘1’의 그룹(632)이 분할되어 생성된 그룹들(633 및 634) 중 ‘0’의 그룹(633)이 다시 한번 분할된다. 따라서, ‘0’의 그룹(631)이 분할되지 않았음을 나타내기 위해 ‘00’을 먼저 부호화한다. 또한, ‘1’의 그룹(632)이 분할되어 생성된 그룹들(633 및 634) 중 ‘0’의 그룹(633)이 분할되었음을 나타내기 위해 ‘1’을 부호화하고, ‘0’의 그룹(633)의 분할 형태를 나타내기 위해 ‘11100’이 부호화된다. 그런 다음, ‘1’의 그룹(634)은 분할되지 않았음을 나타내기 위해 ‘01’이 부호화된다.
비트 플레인 부호화부(620)는 전술한 동일한 비트 값을 그룹화하여 생성된 비트 그룹에 기초한 비트 플레인 기반 부호화 방법을 최하위 비트까지 반복 적용하여 각각의 비트 플레인을 부호화한다.
다시, 도 4를 참조하면, 모드 정보 부호화부(440)는 현재 블록의 부호화에 이용된 모드에 대한 정보를 부호화한다. 모드 결정부(410)가 현재 블록의 부호화 모드를 스킵 모드로 결정하면, 모드 정보 부호화부(440)는 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다. 전술한 바와 같이 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 플래그 정보를 부호화할 수 있다.
모드 결정부(410)가 현재 블록의 부호화 모드를 내추럴 모드 또는 그래픽 모드로 결정하면, 모드 정보 부호화부(440)는 현재 블록이 내추럴 모드에 따라 부호화되었음을 나타내는 정보 또는 그래픽 모드에 따라 부호화되었음을 나타내는 정보를 부호화할 수 있다. 스킵 모드와 마찬가지로 현재 블록이 내추럴 모드 또는 그래픽 모드에 따라 부호화되었음을 나타내는 플래그 정보를 부호화할 수 있다.
또한, 모드 정보 부호화부(440)는 현재 블록을 포함하는 현재 슬라이스가 스킵 모드 또는 내추럴 모드 또는 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 정보를 부호화할 수 있다. 현재 슬라이스에 대한 플래그 정보이므로, 현재 슬라이스의 구문 요소(syntax element)로서 플래그 정보를 부호화할 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다.
도 7을 참조하면, 본 발명의 또 다른 실시예에 따른 영상 부호화 장치(700)는 스킵 모드 결정부(710), 내추럴 모드 부호화부(720), 그래픽 모드 부호화부(730), 모드 결정부(740) 및 모드 정보 부호화부(750)를 포함한다.
스킵 모드 결정부(710) 및 모드 결정부(740)는 도 1의 모드 결정부(110)에 대응되고, 내추럴 모드 부호화부(720), 그래픽 모드 부호화부(730) 및 모드 정보 부호화부(750)는 도 1의 부호화부(120)에 대응된다.
스킵 모드 결정부(710)는 현재 블록을 스킵 모드에 따라 부호화할지 여부를 결정한다. 현재 블록의 픽셀 값과 현재 블록에 인접한 이전에 부호화된 블록의 픽셀 값을 비교하여 현재 블록과 인접한 블록이 동일 또는 유사한 것으로 판단되면 현재 블록의 부호화 모드를 스킵 모드로 결정한다.
스킵 모드 결정부(710)가 현재 블록의 부호화 모드를 스킵 모드로 결정하면, 모드 정보 부호화부(750)는 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다. 전술한 바와 같이 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 플래그 정보가 모드 정보 부호화부(750)에서 부호화될 수 있다.
스킵 모드 결정부(710)가 현재 블록의 부호화 모드를 스킵 모드가 아닌 것으로 결정하면, 내추럴 모드 부호화부(720) 및 그래픽 모드 부호화부(730)는 현재 블록을 내추럴 모드 및 그래픽 모드에 따라 각각 부호화한다.
모드 결정부(740)는 내추럴 모드 부호화부(720)의 부호화 결과와 그래픽 모드 부호화부(730)의 부호화 결과를 비교하여 현재 블록을 내추럴 모드에 따라 부호화할지 그래픽 모드에 따라 부호화할지 결정한다.
내추럴 모드에 따라 부호화한 결과와 그래픽 모드에 따라 부호화한 결과에 기초해 RD 코스트를 계산한다. 코스트 = (Rate) + (lambda)x(distortion)에 따라 코스트를 계산하여 코스트가 작은 모드를 현재 블록의 부호화 모드로 결정한다. 'lambda'는 실시예에 따라 다르게 설정될 수 있으며, 'lambda'를 조정하여 내추럴 모드 및 그래픽 모드의 선택 비율을 변경할 수 있다.
모드 결정부(740)에서 현재 블록의 부호화 모드를 내추럴 모드 또는 그래픽 모드로 결정하면, 모드 정보 부호화부(750)는 결정된 부호화 모드에 대한 정보를 부호화한다. 현재 블록이 내추럴 모드에 따라 부호화되었음을 나타내는 플래그 정보 또는 그래픽 모드에 따라 부호화되었음을 나타내는 플래그 정보를 부호화할 수 있다.
또한, 전술한 바와 같이 모드 정보 부호화부(750)는 각각의 블록에 대한 모드 정보 이외에 현재 슬라이스가 스킵 모드 또는 내추럴 모드 또는 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 정보를 부호화할 수 있다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(800)는 모드 정보 복호화부(810) 및 복호화부(820)를 포함한다.
모드 정보 복호화부(810)는 비트스트림에 포함되어 있는 현재 블록의 부호화 모드에 대한 정보를 복호화한다. 비트스트림을 파싱하여 현재 블록이 스킵 모드, 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 정보를 복호화한다.
복호화부(820)는 모드 정보 복호화부(810)에서 복호화된 모드 정보에 기초해 현재 블록을 복호화한다. 모드 정보의 복호화 결과 현재 블록이 스킵 모드에 따라 부호화되었다면, 현재 블록과 동일 또는 유사한 블록 즉, 인접한 이전에 복호화된 블록에 기초해 현재 블록을 복원한다. 인접한 블록은 현재 블록의 복호화 바로 이전에 복호화된 블록일 수 있다. 현재 블록이 내추럴 모드 또는 그래픽 모드에 따라 부호화되었다면, 도 5 및 도 6a와 관련하여 전술한 부호화 방법들을 역으로 수행하여 현재 블록을 복원한다. 도 9를 참조하여 상세히 설명한다.
도 9는 본 발명의 또 다른 실시예에 따른 영상 복호화 장치를 도시한다.
도 9를 참조하면 본 발명의 또 다른 실시예에 따른 영상 복호화 장치(900)는 모드 정보 복호화부(910), 스킵 모드 복호화부(920), 내추럴 모드 복호화부(930) 및 그래픽 모드 복호화부(940)를 포함한다. 모드 정보 복호화부(910)는 도 8의 모드 정보 복호화부(810)에 대응되고, 스킵 모드 복호화부(920), 내추럴 모드 복호화부(930) 및 그래픽 모드 복호화부(940)는 도 8의 복호화부(820)에 대응된다.
모드 정보 복호화부(910)는 도 9의 모드 정보 복호화부(810)와 같이 비트스트림에 포함되어 있는 현재 블록의 부호화 모드에 대한 정보를 복호화한다.
스킵 모드 복호화부(920)는 복호화된 모드 정보가 스킵 모드에 대한 정보이면, 현재 블록을 스킵 모드에 따라 복호화한다. 현재 블록이 인접한 이전에 복호화된 블록에 기초해 현재 블록을 복원한다. 인접한 블록을 그대로 복사함으로써 현재 블록을 복원할 수 있다.
내추럴 모드 복호화부(930)는 복호화된 모드 정보가 내추럴 모드에 대한 정보이면, 현재 블록을 내추럴 모드에 따라 복호화한다. 내추럴 모드 복호화부(930)는 우선 비트스트림에 포함되어 있는 이산 코사인 계수 중 DC 성분의 계수를 파싱한다. 그런 다음, 비트 플레인 기반 복호화 방법을 이용해 이산 코사인 계수 중 AC 성분의 계수들에 대한 복수의 비트 플레인을 복원한다. 복원된 복수의 비트 플레인을 결합하여 AC 성분의 계수들이 복원되면, 복원된 AC 성분의 계수들 및 파싱된 DC 성분의 계수에 기초해 역이산 코사인 변환을 수행한다. 역이산 코사인 변환의 결과 현재 블록이 복원된다.
그래픽 모드 복호화부(940)는 복호화된 모드 정보가 그래픽 모드에 대한 정보이면, 현재 블록을 그래픽 모드에 따라 복호화한다. 비트 플레인 기반 복호화 방법을 이용해 현재 블록의 픽셀 값들에 대한 복수의 비트 플레인을 복원한다. 그런 다음, 복원된 복수의 비트 플레인을 결합하여 현재 블록의 픽셀 값들을 복원한다.
도 10은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 단계 1010에서 본 발명의 일 실시예에 따른 영상 부호화 장치(100 또는 400)는 현재 블록을 스킵 모드에 따라 부호화할지 결정한다. 스킵 모드는 현재 블록과 인접한 블록이 동일 또는 유사하면, 현재 블록의 픽셀 값 대신에 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화하는 모드이다.
단계 1010에서 현재 블록의 부호화 모드가 스킵 모드가 아닌 것으로 결정되면, 단계 1020에서 영상 부호화 장치(100 또는 400)는 현재 블록을 내추럴 모드에 따라 부호화할지 그래픽 모드에 따라 부호화할지 결정한다. 도 1의 모드 결정부(110)와 관련하여 전술한 바와 같이 현재 블록이 자연 영상에 대한 블록인지 인위적으로 생성된 영상에 대한 블록인지 판단하여 현재 블록을 내추럴 모드에 따라 부호화할지 그래픽 모드에 따라 부호화할지 결정한다.
단계 1030에서 영상 부호화 장치(100 또는 400)는 현재 블록을 내추럴 모드에 따라 부호화한다. 단계 1020의 판단 결과, 현재 블록이 자연 영상에 대한 블록으로 판단되면, 현재 블록을 내추럴 모드에 따라 부호화한다. 내추럴 모드의 부호화 방법은 도 5와 관련하여 전술하였다.
단계 1040에서 영상 부호화 장치(100 또는 400)는 현재 블록을 그래픽 모드에 따라 부호화한다. 단계 1020의 판단 결과, 현재 블록이 인위적으로 생성된 영상에 대한 블록으로 판단되면, 현재 블록을 그래픽 모드에 따라 부호화한다. 그래픽 모드의 부호화 방법은 도 6a와 관련하여 전술하였다.
단계 1050에서 영상 부호화 장치(100 또는 400)는 현재 블록의 부호화에 이용된 부호화 모드에 대한 정보를 부호화한다. 단계 1010에서 현재 블록의 부호화 모드가 스킵 모드로 결정되었으면, 현재 블록의 픽셀 값 대신에 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다. 또한, 단계 1010에서 현재 블록의 부호화 모드가 스킵 모드가 아닌 것으로 결정되어 단계 1030 내지 1040에서 내추럴 모드 또는 그래픽 모드에 따라 현재 블록을 부호화되었으면, 현재 블록이 내추럴 모드에 따라 부호화되었음을 나타내는 정보 또는 그래픽 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다.
도 11은 본 발명의 또 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, 단계 1110에서 본 발명의 일 실시예에 따른 영상 부호화 장치(100 또는 700)는 현재 블록을 스킵 모드에 따라 부호화할지 결정한다. 단계 1110은 도 10의 단계 1010에 대응된다.
단계 1110에서 현재 블록의 부호화 모드가 스킵 모드가 아닌 것으로 결정되면, 단계 1120 및 1130에서 영상 부호화 장치(100 또는 700)는 현재 블록을 내추럴 모드 및 그래픽 모드에 따라 각각 부호화한다.
단계 1140에서 영상 부호화 장치(100 또는 700)는 현재 블록을 내추럴 모드에 따라 부호화한 결과 및 그래픽 모드에 따라 부호화한 결과를 비교하여 현재 블록의 부호화 모드를 결정한다. 내추럴 모드에 따라 부호화한 결과 및 그래픽 모드에 따라 부호화한 결과에 기초해 RD 코스트(Rate Distortion Cost)를 계산한다. 코스트 계산 결과 코스트가 작은 모드를 현재 블록의 부호화 모드로 결정한다.
단계 1150에서 영상 부호화 장치(100 또는 700)는 현재 블록의 부호화에 이용된 부호화 모드에 대한 정보를 부호화한다. 단계 1110에서 현재 블록의 부호화 모드가 스킵 모드로 결정되었으면, 현재 블록의 픽셀 값 대신에 현재 블록이 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다. 또한, 단계 1110에서 현재 블록의 부호화 모드가 스킵 모드가 아닌 것으로 결정되어, 단계 1140에서 현재 블록의 부호화 모드가 내추럴 모드 또는 그래픽 모드로 결정되었으면, 현재 블록이 내추럴 모드에 따라 부호화되었음을 나타내는 정보 또는 그래픽 모드에 따라 부호화되었음을 나타내는 정보를 부호화한다.
도 12는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 단계 1210에서 본 발명의 일 실시예에 따른 영상 복호화 장치(800 또는 900)는 비트스트림에 포함되어 있는 현재 블록의 부호화 모드에 대한 정보를 복호화한다. 비트스트림을 파싱하여 현재 블록이 스킵 모드, 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 부호화 모드에 대한 정보를 복호화한다.
단계 1220에서 영상 복호화 장치(800 또는 900)는 복호화된 모드 정보에 기초해 현재 블록을 복호화한다. 단계 1210에서 모드 정보의 복호화 결과 현재 블록이 스킵 모드에 따라 부호화되었다면, 현재 블록과 동일 또는 유사한 블록 즉, 인접한 이전에 복호화된 블록에 기초해 현재 블록을 복원한다. 현재 블록이 내추럴 모드 또는 그래픽 모드에 따라 부호화되었다면, 도 5 및 도 6a와 관련하여 전술한 부호화 방법들을 역으로 수행하여 현재 블록을 복원한다.
도 13은 본 발명의 일 실시예에 따른 모드 정보 부호화 장치를 도시한다. 도 13에 도시된 모드 정보 부호화 장치는 도 4의 모드 정보 부호화부(440) 및 도 7의 모드 정보 부호화부(750)에 대응된다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 모드 정보 부호화 장치(1300)는 제1 정보 부호화부(1310), 제2 정보 부호화부(1320) 및 슬라이스 정보 부호화부(1330)를 포함한다.
제1 정보 부호화부(1310)는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화한다. 제1 정보는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 플래그 정보일 수 있다. 예를 들어, 모드 결정부(110, 410 및 740) 및 스킵 모드 결정부(710)의 부호화 모드를 결정에 기초해 현재 블록이 스킵 모드에 따라 부호화되었다면, 플래그 정보를 '1'로 설정하고, 현재 블록이 스킵 모드에 따라 부호화되지 않았다면, 플래그 정보를 '0'으로 설정할 수 있다.
본 발명의 또 다른 실시예에 따르면, 제1 정보 부호화부(1310)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 여부에 기초해 선택적으로 제1 정보를 부호화할 수 있다. 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하지 않는다면, 현재 슬라이스의 모든 블록에 대해 스킵 모드에 대한 정보는 동일하다. 다시 말해, 현재 슬라이스의 모든 블록에 대해 스킵 모드에 따라 부호화되었는지 나타내는 플래그 정보는 모두 '0'이다. 따라서, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하지 않는다면, 각각의 블록에 대해 제1 정보를 부호화할 필요가 없다. 따라서, 제1 정보 부호화부(1310)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 경우에만, 각각의 블록에 대해 제1 정보를 부호화한다.
또한, 본 발명의 또 다른 실시예에 따르면, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 경우에도 현재 슬라이스가 내추럴 모드 또는 그래픽 모드에 따라 부호화된 블록을 포함하지 않는다면, 현재 블록은 스킵 모드에 따라 부호화됨이 명백하다. 따라서, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 경우에도 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 또는 그래픽 모드에 따라 부호화된 블록을 포함하는 경우만 제1 정보를 부호화할 수 있다.
현재 블록이 스킵 모드에 따라 부호화되지 않은 것으로 판단되면, 제2 정보 부호화부(1320)는 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화한다. 제1 정보는 내추럴 모드 및 그래픽 모드에 대한 정보로서 내추럴 모드 및 그래픽 모드 중 현재 블록의 부호화에 이용된 모드를 특정하기 위한 플래그 정보일 수 있다.
예를 들어, 현재 블록이 내추럴 모드에 따라 부호화되었다면, 플래그 정보를 '0'으로 설정하고, 현재 블록이 그래픽 모드에 따라 부호화되었다면, 플래그 정보를 '1'로 설정할 수 있다. 현재 블록이 스킵 모드에 따라 부호화되었으면, 제1 정보 부호화부(1310)에서 이미 스킵 모드에 대한 정보가 부호화되므로, 제2 정보 부호화부(1320)가 내추럴 모드 및 그래픽 모드에 대한 정보를 부호화할 필요가 없다.
현재 블록이 스킵 모드에 따라 부호화되었는지 여부에 따라 선택적으로 제2 모드(예를 들어, 내추럴 모드) 및 제3 모드(예를 들어, 그래픽 모드) 중 어떤 모드에 따라 부호화되었는지 나타내는 정보를 부호화하기 때문에 모드에 대한 정보를 부호화하는데 필요한 비트 수를 줄일 수 있다.
다시 말해, 호프먼 코드(Hoffman code)에 따라 모드에 대한 정보가 부호화가 되어 모드에 대한 정보를 보다 효율적으로 부호화할 수 있다. 예를 들어, 현재 블록이 스킵 모드에 따라 부호화되면, '1'의 한 개의 비트로 스킵 모드에 따라 부호화되었음을 나타내는 정보를 부호화할 수 있고, 현재 블록이 내추럴 모드에 따라 부호화되면, '00'의 두개의 비트로 내추럴 모드에 따라 부호화되었음을 나타내는 정보를 부호화할 수 있다. 또한, 현재 블록이 그래픽 모드에 따라 부호화되면, '01'의 두개의 비트로 그래픽 모드에 따라 부호화되었음을 나타내는 정보를 부호화할 수 있다. 내추럴 모드에 대한 정보와 그래픽 모드에 대한 정보에서 첫 번째 비트인 '0'은 제1 정보로서 현재 블록이 스킵 모드에 따라 부호화되지 않았음을 나타내는 정보이고, 두 번째 비트인 '0' 및 '1'이 제2 정보로서 내추럴 모드와 그래픽 모드 중 어떤 모드에 따라 현재 블록이 부호화되는지 나타내는 정보이다.
또한, 제2 부호화부(1320)는 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 모두 포함하는지 여부에 따라 선택적으로 제2 정보를 부호화할 수 있다.
제1 부호화부(1320)에서 현재 블록의 부호화 모드가 스킵 모드가 아닌 것으로 결정된 경우에만 제2 부호화부(1320)에서 제2 정보를 부호화한다. 그러므로, 현재 블록의 부호화 모드는 내추럴 모드 또는 그래픽 모드이다.
그런데, 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록만 포함한다면, 현재 블록은 명백히 내추럴 모드에 따라 부호화된 블록이다. 따라서, 제2 정보를 부호화하지 않아도 현재 블록의 부호화 모드가 내추럴 모드임을 복호화하는 측에서 알 수 있다. 현재 슬라이스가 그래픽 모드에 따라 부호화된 블록만 포함하는 경우에도 마찬가지이다. 제2 정부 부호화부(1320)가 제2 정보를 부호화하지 않아도, 현재 블록이 그래픽 모드에 따라 부호화된 블록임을 복호화하는 측에서 알 수 있다.
그러나, 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 모두 포함하면, 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되는지 부호화하는 측에서 알 수 없으므로, 제2 정보 부호화부(1320)는 내추럴 모드 및 그래픽 모드 중 현재 블록의 부호화에 이용된 모드를 특정하기 위한 제2 정보를 부호화한다.
슬라이스 정보 부호화부(1330)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보, 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 제4 정보를 부호화한다. 제4 정보는 내추럴 모드에 따라 부호화된 블록을 포함하는 나타내는 플래그 정보 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보를 포함할 수 있다. 전술한 바와 같이 제1 정보 부호화부(1310) 및 제2 정보 부호화부(1320)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 여부, 내추럴 모드에 따라 부호화된 블록을 포함하는지 여부 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 여부에 따라 선택적으로 제1 정보 및 제2 정보를 부호화할 수 있다. 따라서, 슬라이스 정보 부호화부(1330)는 제3 정보 및 제4 정보를 부호화하여 제1 정보 및 제2 정보가 부호화되지 않아도 복호화하는 측이 현재 블록의 부호화 모드를 특정할 수 있게 한다.
도 14는 본 발명의 일 실시예에 따른 모드 정보 부호화 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 단계 1410에서 모드 정보 부호화 장치(1300)는 현재 블록의 부호화 모드를 결정한다. 모드 결정부(110, 410 및 740) 및 스킵 모드 결정부(710)를 통해 현재 블록의 부호화에 이용되는 모드를 결정한다.
단계 1420에서 모드 정보 부호화 장치(1300)는 스킵 모드에 대한 정보를 부호화한다. 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화한다. 현재 블록의 부호화 모드가 스킵 모드이면, 플래그 정보를 '1'로 설정하고, 현재 블록의 부호화 모드가 스킵 모드가 아니면, 플래그 정보를 '0'으로 설정할 수 있다.
단계 1430에서 모드 정보 부호화 장치(1300)는 현재 블록의 부호화 모드가 스킵 모드인지 판단한다. 현재 블록의 부호화 모드가 스킵 모드이면, 단계 1450에서 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보를 부호화한다. 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보를 '1'로 설정할 수 있다.
현재 블록의 부호화 모드가 스킵 모드가 아니면, 단계 1440에서 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화한다. 현재 블록의 부호화 모드가 내추럴 모드이면 플래그 정보를 '0'으로 설정하고, 현재 블록의 부호화 모드가 그래픽 모드이면 플래그 정보를 '1'로 설정할 수 있다.
단계 1440에서 제2 정보의 부호화가 끝나면, 단계 1450에서 현재 슬라이스가 내추럴 모드 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 제4 정보를 부호화한다. 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보를 부호화한다.
도 15는 본 발명의 또 다른 실시예에 따른 모드 정보 부호화 방법을 설명하기 위한 흐름도이다.
도 15를 참조하면, 단계 1510에서 모드 정보 부호화 장치(1300)는 현재 블록의 부호화 모드를 결정한다. 도 14의 단계 1410에 대응된다.
단계 1520에서 모드 정보 부호화 장치(1300)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 판단한다. 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하지 않으면, 현재 블록에 대해 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화할 필요가 없다.
단계 1520에서 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 것으로 판단되면, 단계 1530에서 모드 정보 부호화 장치(1300)는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화한다. 현재 블록이 스킵 모드에 따라 부호화되었으면, 플래그 정보를 '1'로 설정하고, 스킵 모드에 따라 부호화되지 않았으면, 플래그 정보를 '0'으로 설정할 수 있다.
단계 1540에서 모드 정보 부호화 장치(1300)는 현재 블록이 스킵 모드에 따라 부호화되었는지 판단한다. 현재 블록이 스킵 모드에 따라 부호화되었으면, 현재 블록이 내추럴 모드 또는 그래픽 모드에 따라 부호화되었는지 나타내는 정보를 부호화할 필요가 없으므로 단계 1570으로 이동한다.
단계 1550에서 모드 정보 부호화 장치는 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 모두 포함하는지 판단한다. 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록만 포함한다면, 현재 블록도 내추럴 모드에 따라 부호화된 블록임이 명백하므로, 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화할 필요가 없어 단계 1570으로 이동한다. 또한, 현재 슬라이스가 그래픽 모드에 따라 부호화된 블록만 포함한다면, 현재 블록도 그래픽 모드에 따라 부호화된 블록임이 명백하므로, 제2 정보를 부호화할 필요가 없어 단계 1570으로 이동한다.
단계 1560에서 모드 정보 부호화 장치는 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화한다. 현재 블록이 내추럴 모드에 따라 부호화되었으면, 플래그 정보를 '0'으로 설정하고, 현재 블록이 그래픽 모드에 따라 부호화되었으면, '1'로 설정한다.
단계 1570에서 모드 정보 부호화 장치는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보 및 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 제4 정보를 부호화한다. 제4 정보는 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보 및 현재 슬라이스가 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보를 포함할 수 있다.
도 16은 본 발명의 또 다른 실시예에 따른 모드 정보를 부호화하는 방법을 설명하기 위한 흐름도이다.
도 16에 도시된 실시예를 도 15에 도시된 실시예와 비교하면 단계 1630이 추가된 것이 상이하다. 도 15에 도시된 실시예에 따르면, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록만 포함하는 경우에도 제1 정보를 부호화하였다. 그러나, 도 16에 도시된 실시예에 따르면, 단계 1630이 추가되어 현재 슬라이스가 스킵 모드에 따라 부호화된 블록만 포함하는 경우에는 단계 1680으로 이동하여 제1 정보를 부호화하지 않는다.
도 17에 따라 부호화되는 모드 정보를 정리하면 다음의 표와 같을 수 있다.
Figure 112010007764920-pat00001
'skip_mode_used'는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보로서, 전술한 제3 정보에 대응된다. 'nat_mode_used'는 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보이며, 'graphic_mode_used'는 현재 슬라이스가 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보이다. 'nat_mode_used' 및 'graphic_mode_used'는 전술한 제4 정보에 대응된다. 제1 정보는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 플래그 정보이며, 제2 정보는 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 플래그 정보이다.
도 17은 본 발명의 일 실시예에 따른 모드 정보 복호화 장치를 도시한다.
도 17에 도시된 모드 정보 부호화 장치는 도 8의 모드 정보 복호화부(810) 및 도 9의 모드 정보 복호화부(910)에 대응된다.
도 17을 참조하면, 본 발명의 일 실시예에 따른 모드 정보 복호화 장치(1700)는 슬라이스 정보 복호화부(1710), 제1 정보 복호화부(1720), 제2 정보 부호화부(1730) 및 모드 결정부(1740)를 포함한다.
슬라이스 정보 복호화부(1710)는 비트스트림으로부터 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보, 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 제4 정보를 파싱한다. 제4 정보는 내추럴 모드에 따라 부호화된 블록을 포함하는 나타내는 플래그 정보 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 플래그 정보를 포함할 수 있다.
제1 정보 복호화부(1720)는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 파싱한다. 제1 정보는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 플래그 정보일 수 있다. 현재 블록이 스킵 모드에 따라 부호화되었다면, 플래그 정보는 '1'일 수 있고, 현재 블록이 스킵 모드에 따라 부호화되지 않았다면, 플래그 정보를 '0'일 수 있다.
본 발명의 또 다른 실시예에 따르면, 제1 정보 복호화부(1720)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 여부에 기초해 선택적으로 제1 정보를 부호화할 수 있다. 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하지 않는다면, 현재 슬라이스의 모든 블록이 스킵 모드에 따라 부호화되지 않았음이 명백하고, 모드 정보 부호화장치(1300)는 제1 정보를 부호화하지 않는다. 따라서, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하지 않는다면, 각각의 블록에 대해 제1 정보를 파싱할 필요가 없다. 따라서, 제1 정보 복호화부(1710)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 경우에만, 각각의 블록에 대해 제1 정보를 부호화한다.
또한, 본 발명의 또 다른 실시예에 따르면, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 경우에도 모드 정보 부호화 장치(1300)는 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 또는 그래픽 모드에 따라 부호화된 블록을 포함하는 경우에만 제1 정보를 부호화한다. 제1 정보 복호화부(1720)는 슬라이스 정보 복호화부(1710)에서 복호화된 제4 정보를 참조하여, 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 또는 그래픽 모드에 따라 부호화된 블록을 포함하는 경우에만 제1 정보를 파싱할 수 있다.
제2 정보 복호화부(1720)는 현재 블록이 스킵 모드에 따라 부호화되지 않은 것으로 판단되면, 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 파싱한다. 제2 정보는 내추럴 모드 및 그래픽 모드 중 현재 블록의 부호화에 이용된 모드를 특정하기 위한 플래그 정보일 수 있다. 현재 블록이 스킵 모드에 따라 부호화되면, 제1 정보 복호화부(1710)에서 이미 스킵 모드에 대한 정보가 파싱하고, 현재 블록의 복호화에 이용될 모드가 스킵 모드로 결정되므로, 내추럴 모드 및 그래픽 모드에 대한 정보를 파싱할 필요가 없다.
또한, 제2 정보 복호화부(1320)는 슬라이스 정보 복호화부(1710)에서 복호화된 제4 정보를 참조하여 선택적으로 제2 정보를 부호화할 수 있다. 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록만 포함하면, 현재 블록은 내추럴 모드에 따라 부호화된 블록이 명백하고, 모드 정보 부호화 장치(1300)는 제2 정보를 부호화하지 않으므로 제2 정보 복호화부(1320)가 제2 정보를 파싱할 필요가 없다. 또한, 현재 슬라이스가 그래픽 모드에 따라 부호화된 블록만 포함하면, 현재 블록은 그래픽 모드에 따라 부호화된 블록이 명백하고, 모드 정보 부호화 장치(1300)는 제2 정보를 부호화하지 않으므로, 제2 정보 복호화부(1320)가 제2 정보를 파싱할 필요가 없다.
요컨대, 제2 정보 복호화부(1320)는 제4 정보를 참조한 결과 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 모두 포함하는 경우에만 제2 정보를 파싱한다.
모드 결정부(1740)는 제1 정보 복호화부(1720)에서 복호화된 제1 정보 및 제2 정보 복호화부(1730)에서 복호화된 제2 정보 중 적어도 하나에 기초해 현재 블록의 복호화에 이용될 모드를 결정한다. 제1 정보에 기초해 현재 블록의 복호화에 이용될 모드가 스킵 모드인지 먼저 결정하고, 스킵 모드가 아니면, 내추럴 모드 및 그래픽 모드 중 어떤 모드를 이용해 현재 블록을 복호화할 것인지 결정한다.
도 18은 본 발명의 일 실시예에 따른 모드 정보 복호화 방법을 설명하기 위한 흐름도이다.
도 18을 참조하면, 단계 1810에서 모드 정보 복호화 장치(1700)는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 복호화한다. 비트스트림에서 제1 정보를 파싱한다.
단계 1820에서 모드 정보 복호화 장치(1700)는 단계 1820에서 복호화된 제1 정보에 기초해 현재 블록이 스킵 모드에 따라 부호화되었는지 판단한다. 현재 블록이 스킵 모드에 따라 부호화되었으면, 단계 1840로 이동하여 현재 블록의 복호화에 이용될 모드를 스킵 모드로 결정한다.
단계 1820에서 현재 블록이 스킵 모드에 따라 부호화되지 않은 것으로 판단되면, 단계 1830에서 모드 정보 복호화 장치(1700)는 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 부호화 모드에 따라 부호화되었는지 나타내는 제2 정보를 복호화한다. 비트스트림에서 제2 정보를 파싱한다. 그런 다음, 복호화된 제2 정보에 기초해 단계 1840에서 현재 블록의 복호화에 이용될 모드를 내추럴 모드 또는 그래픽 모드로 결정한다.
도 19는 본 발명의 또 다른 실시예에 따른 모드 정보 복호화 방법을 설명하기 위한 흐름도이다.
도 19를 참조하면, 단계 1910에서 모드 정보 복호화 장치(1700)는 모드 정보 부호화 장치는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보 및 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 포함하는지 나타내는 제4 정보를 복호화한다. 비트스트림에서 제3 정보 및 제4 정보를 파싱한다.
단계 1920에서 모드 정보 복호화 장치(1700)는 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 판단한다. 단계 1910에서 복호화된 제3 정보에 기초해 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는지 판단한다. 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하지 않으면, 현재 블록에 대해 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 파싱할 필요가 없다.
단계 1920에서 현재 슬라이스가 스킵 모드에 따라 부호화된 블록을 포함하는 것으로 판단되면, 단계 1930에서 모드 정보 복호화 장치(1700)는 현재 블록이 스킵 모드에 따라 부호화되었는지 나타내는 제1 정보를 파싱한다.
단계 1940에서 모드 정보 복호화 장치(1700)는 현재 블록이 스킵 모드에 따라 부호화되었는지 판단한다. 단계 1930에서 파싱된 제1 정보에 기초해 현재 블록이 스킵 모드에 따라 부호화되었는지 판단한다. 현재 블록이 스킵 모드에 따라 부호화되었다면, 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 정보를 파싱할 필요가 없으므로 단계 1970으로 이동한다.
단계 1950에서 모드 정보 복호화 장치(1700)는 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록 및 그래픽 모드에 따라 부호화된 블록을 모두 포함하는지 판단한다. 단계 1910에서 복호화된 제4 정보에 기초해 판단한다. 현재 슬라이스가 내추럴 모드에 따라 부호화된 블록만 포함한다면, 현재 블록도 내추럴 모드에 따라 부호화된 블록임이 명백하므로, 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 파싱할 필요가 없어 단계 1970으로 이동한다. 또한, 현재 슬라이스가 그래픽 모드에 따라 부호화된 블록만 포함한다면, 현재 블록도 그래픽 모드에 따라 부호화된 블록임이 명백하므로, 제2 정보를 파싱할 필요가 없어 단계 1970으로 이동한다.
단계 1960에서 모드 정보 복호화 장치(1700)는 현재 블록이 내추럴 모드 및 그래픽 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 파싱한다.
단계 1970에서 단계 1930 및 단계 1960에서 파싱된 제1 정보 및 제2 정보 중 적어도 하나에 기초해 현재 블록의 복호화에 이용될 모드를 결정한다.
도 20은 본 발명의 또 다른 실시예에 따른 모드 정보를 부호화하는 방법을 설명하기 위한 흐름도이다. 도 20은 도 16의 모드 정보 부호화 방법에 대응되는 모드 정보 복호화 방법을 도시한다.
도 20에 도시된 실시예를 도 19에 도시된 실시예와 비교하면 단계 2030이 추가된 것이 상이하다. 도 19에 도시된 실시예에 따르면, 현재 슬라이스가 스킵 모드에 따라 부호화된 블록만 포함하는 경우에도 제1 정보를 파싱하였다. 그러나, 도 20에 도시된 실시예에 따르면, 단계 2030이 추가되어 현재 슬라이스가 스킵 모드에 따라 부호화된 블록만 포함하는 경우에는 단계 2080으로 이동하여 제1 정보를 파싱하지 않는다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
예를 들어, 본 발명의 예시적인 실시예에 따른 영상 부호화 장치 및 영상 복호화 장치는 도 1, 4, 7, 8 및 9에 도시된 바와 같은 장치의 각각의 유닛들에 커플링된 버스, 상기 버스에 결합된 적어도 하나의 프로세서를 포함할 수 있다. 또한, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 결합되어, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (21)

  1. 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 복호화하는 단계;
    상기 정보의 복호화 결과, 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 복호화하는 단계; 및
    상기 제1 정보 및 제2 정보 중 적어도 하나의 복호화 결과에 기초해 상기 현재 블록의 복호화에 이용될 모드를 결정하는 단계를 포함하고,
    상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드이고,
    상기 제2 모드는 이산 코사인 변환에 기초하여 상기 현재 블록을 부호화하는 모드이고,
    상기 제3 모드는 픽셀 값들에 대한 복수의 비트 플레인(bit plane)에 기초해 상기 현재 블록을 부호화하는 모드인 것을 특징으로 하는 모드 정보 복호화 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 제1 정보를 복호화하는 단계는
    현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하는지 나타내는 제3 정보에 기초해 선택적으로 상기 제1 정보를 파싱하는 단계를 포함하는 것을 특징으로 하는 모드 정보 복호화 방법.
  4. 제 3 항에 있어서, 상기 선택적으로 제1 정보를 파싱하는 단계는
    상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하는지 제3 정보에 기초해 판단하는 단계;
    상기 제3 정보에 기초해 판단한 결과, 상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하면, 상기 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 파싱하는 단계를 포함하는 것을 특징으로 하는 모드 정보 복호화 방법.
  5. 제 3 항에 있어서, 상기 선택적으로 제1 정보를 파싱하는 단계는
    상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하는지 제3 정보에 기초해 판단하고, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 또는 제3 모드에 따라 부호화된 블록을 포함하는지 제4 정보에 기초해 판단하는 단계;
    상기 제3 정보 및 제4 정보에 기초해 판단한 결과, 상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하고, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 또는 제3 모드에 따라 불록을 포함하지 않으면, 상기 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 파싱하는 단계를 포함하는 것을 특징으로 하는 모드 정보 복호화 방법.
  6. 제 1 항에 있어서, 상기 제2 정보를 복호화하는 단계는
    상기 제1 정보의 복호화 결과, 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하는지 제4 정보에 기초해 선택적으로 상기 제2 정보를 파싱하는 단계를 포함하는 것을 특징으로 하는 모드 정보 복호화 방법.
  7. 제 6 항에 있어서, 상기 선택적으로 제2 정보를 파싱하는 단계는
    상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하는지 제4 정보에 기초해 판단하는 단계; 및
    상기 제4 정보에 기초해 판단한 결과, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 파싱하는 단계를 포함하는 것을 특징으로 하는 모드 정보 복호화 방법.
  8. 제 1 항에 있어서, 상기 제2 모드는
    상기 제1 블록의 픽셀 값들을 이산 코사인 변환하고, 이산 코사인 결과 생성된 계수들을 최상위 비트로부터 최하위 비트까지의 복수의 비트 플레인(bit plane)으로 나누어 비트 플레인 단위로 부호화하는 모드인 것을 특징으로 하는 모드 정보 복호화 방법.
  9. 제 1 항에 있어서, 상기 제3 모드는
    상기 제1 블록의 픽셀 값들을 최상위 비트로부터 최하위 비트까지의 복수의 비트 플레인으로 나누어 비트 플레인 단위로 부호화하는 모드인 것을 특징으로 하는 모드 정보 복호화 방법.
  10. 현재 블록의 부호화 모드를 결정하는 단계;
    현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화하는 단계;
    상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화하는 단계를 포함하고,
    상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드이고,
    상기 제2 모드는 이산 코사인 변환에 기초하여 상기 현재 블록을 부호화하는 모드이고,
    상기 제3 모드는 픽셀 값들에 대한 복수의 비트 플레인(bit plane)에 기초해 상기 현재 블록을 부호화하는 모드인 것을 특징으로 하는 모드 정보 부호화 방법.
  11. 삭제
  12. 제 10 항에 있어서, 상기 제1 정보를 부호화하는 단계는
    현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하는지 여부에 기초해 선택적으로 상기 제1 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 모드 정보 부호화 방법.
  13. 제 12 항에 있어서, 상기 선택적으로 상기 제1 정보를 부호화하는 단계는
    상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하면, 상기 제1 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 모드 정보 부호화 방법.
  14. 제 12 항에 있어서, 상기 선택적으로 상기 제1 정보를 부호화하는 단계는
    상기 현재 슬라이스가 제1 모드에 따라 부호화된 블록을 포함하고, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 또는 제3 모드에 따라 불록을 포함하지 않으면, 상기 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 모드 정보 부호화 방법.
  15. 제 10 항에 있어서, 상기 제2 정보를 부호화하는 단계는
    상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하는지 여부에 기초해 선택적으로 상기 제2 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 모드 정보 부호화 방법.
  16. 제 15 항에 있어서, 상기 선택적으로 상기 제2 정보를 부호화하는 단계는
    상기 현재 슬라이스가 제2 모드에 따라 부호화된 블록 및 제3 모드에 따라 부호화된 블록을 모두 포함하면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 상기 제2 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 모드 정보 부호화 방법.
  17. 제 10 항에 있어서, 상기 제2 모드는
    상기 제1 블록의 픽셀 값들을 이산 코사인 변환하고, 이산 코사인 결과 생성된 계수들을 최상위 비트로부터 최하위 비트까지의 복수의 비트 플레인(bit plane)으로 나누어 비트 플레인 단위로 부호화하는 모드인 것을 특징으로 하는 모드 정보 부호화 방법.
  18. 제 10 항에 있어서, 상기 제3 모드는
    상기 제1 블록의 픽셀 값들을 최상위 비트로부터 최하위 비트까지의 복수의 비트 플레인으로 나누어 비트 플레인 단위로 부호화하는 모드인 것을 특징으로 하는 모드 정보 부호화 방법.
  19. 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 복호화하는 제1 정보 복호화부;
    상기 정보의 복호화 결과, 상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 복호화하는 제2 정보 복호화부; 및
    상기 제1 정보 및 제2 정보 중 적어도 하나의 복호화 결과에 기초해 상기 현재 블록의 복호화에 이용될 모드를 결정하는 모드 결정부를 포함하고,
    상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드이고,
    상기 제2 모드는 이산 코사인 변환에 기초하여 상기 현재 블록을 부호화하는 모드이고,
    상기 제3 모드는 픽셀 값들에 대한 복수의 비트 플레인(bit plane)에 기초해 상기 현재 블록을 부호화하는 모드인 것을 특징으로 하는 모드 정보 복호화 장치.
  20. 현재 블록의 부호화 모드를 결정하는 모드 결정부;
    상기 현재 블록이 제1 모드에 따라 부호화되었는지 나타내는 제1 정보를 부호화하는 제1 정보 부호화부; 및
    상기 현재 블록이 제1 모드에 따라 부호화되지 않은 것으로 판단되면, 상기 현재 블록이 제2 모드 및 제3 모드 중 어떤 모드에 따라 부호화되었는지 나타내는 제2 정보를 부호화하는 제2 정보 부호화부를 포함하고,
    상기 제1 모드는 상기 제1 블록이 상기 제1 블록에 인접한 이전에 부호화된 제2 블록과 동일하여 상기 제1 모드에 따라 부호화되었음을 나타내는 정보를 상기 제1 블록의 픽셀 값 대신에 부호화하는 모드이고,
    상기 제2 모드는 이산 코사인 변환에 기초하여 상기 현재 블록을 부호화하는 모드이고,
    상기 제3 모드는 픽셀 값들에 대한 복수의 비트 플레인(bit plane)에 기초해 상기 현재 블록을 부호화하는 모드인 것을 특징으로 하는 모드 정보 부호화 장치.
  21. 제 1 항 또는 제3항 내지 제10항 또는 제12항 내지 제 18 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020100010482A 2009-07-28 2010-02-04 모드 정보를 부호화, 복호화하는 방법 및 장치 KR101631278B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US22902409A 2009-07-28 2009-07-28
US61/229,024 2009-07-28
US24321809P 2009-09-17 2009-09-17
US61/243,218 2009-09-17
US24413909P 2009-09-21 2009-09-21
US61/244,139 2009-09-21
US25760909P 2009-11-03 2009-11-03
US61/257,609 2009-11-03
KR20090108664 2009-11-11
KR1020090108664 2009-11-11

Publications (2)

Publication Number Publication Date
KR20110011504A KR20110011504A (ko) 2011-02-08
KR101631278B1 true KR101631278B1 (ko) 2016-06-16

Family

ID=43771700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100010482A KR101631278B1 (ko) 2009-07-28 2010-02-04 모드 정보를 부호화, 복호화하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101631278B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101692067B1 (ko) 2014-08-21 2017-01-17 주식회사 엘케이글로벌 엘이디 형광등 어셈블리 및 이의 설치 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100925968B1 (ko) * 2001-12-17 2009-11-09 마이크로소프트 코포레이션 컴퓨터 시스템에서 비디오 시퀀스의 복수의 비디오 화상을 처리하는 방법, 시스템 및 컴퓨터 판독가능 매체
CN102176754B (zh) * 2005-07-22 2013-02-06 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法

Also Published As

Publication number Publication date
KR20110011504A (ko) 2011-02-08

Similar Documents

Publication Publication Date Title
US8588307B2 (en) Method and apparatus for encoding and decoding mode information
JP5957562B2 (ja) 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置
KR101631280B1 (ko) 스킵 모드에 기초한 영상을 복호화하는 방법 및 장치
KR101375668B1 (ko) 변환 계수의 부호화, 복호화 방법 및 장치
AU2010231805B2 (en) Image signal decoding device, image signal decoding method, image signal encoding device, image signal encoding method, and program
JP4837047B2 (ja) ビデオ信号をグループ別にエンコーディングおよびデコーディングする方法および装置
EP1811785A2 (en) Method and apparatus for video encoding/decoding based on orthogonal transform and vector quantization
KR101631274B1 (ko) 모드 정보를 부호화, 복호화하는 방법 및 장치
KR101631278B1 (ko) 모드 정보를 부호화, 복호화하는 방법 및 장치
KR101631277B1 (ko) 스킵 모드에 따라 영상을 부호화, 복호화하는 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 4