KR101261525B1 - 영상 부호화 및 복호화 방법과 장치 - Google Patents

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

Info

Publication number
KR101261525B1
KR101261525B1 KR1020060066579A KR20060066579A KR101261525B1 KR 101261525 B1 KR101261525 B1 KR 101261525B1 KR 1020060066579 A KR1020060066579 A KR 1020060066579A KR 20060066579 A KR20060066579 A KR 20060066579A KR 101261525 B1 KR101261525 B1 KR 101261525B1
Authority
KR
South Korea
Prior art keywords
block
pattern
block pattern
luminance
actual
Prior art date
Application number
KR1020060066579A
Other languages
English (en)
Other versions
KR20070009487A (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 KR20070009487A publication Critical patent/KR20070009487A/ko
Application granted granted Critical
Publication of KR101261525B1 publication Critical patent/KR101261525B1/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

영상 부호화 및 복호화 방법과 장치가 개시된다. 그 복호화 방법은, 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 (a) 단계 및 상기 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 실제 블록패턴을 구하는 (b) 단계를 포함하는 것이 바람직하다.

Description

영상 부호화 및 복호화 방법과 장치 {Method and apparatus for encoding and decoding image}
도 1은 영상 부호화 및 복호화 과정을 개괄적으로 설명하기 위한 블록도이다.
도 2는 도 1에 도시된 부호화부(110)를 설명하기 위한 일 실시예(110A)의 블록도이다.
도 3은 도 1에 도시된 복호화부(120)를 설명하기 위한 일 실시예(120A)의 블록도이다.
도 4a 내지 도 4c는 4:2:0 포맷, 4:2:2 포맷, 4:4:4 포맷을 설명하기 위한 도면들이다.
도 5는 본 발명에 의한 영상 부호화 장치를 설명하기 위한 블록도이다.
도 6은 본 발명에 의한 영상 복호화 장치를 설명하기 위한 블록도이다.
도 7 및 도 8은 4:2:0 포맷을 갖는 영상을 이용하여 본 발명에 의한 영상 부호화/복호화 원리를 설명하기 위한 도면들이다.
도 9 및 도 10은 4:2:2 포맷을 갖는 영상을 이용하여 본 발명에 의한 영상 부호화/복호화 원리를 설명하기 위한 도면들이다.
도 11 및 도 12는 4:4:4 포맷을 갖는 영상을 이용하여 본 발명에 의한 영상 부호화/복호화 원리를 설명하기 위한 도면들이다.
도 13은 본 발명에 의한 영상 부호화 방법을 설명하기 위한 제1 실시예의 플로우챠트이다.
도 14는 본 발명에 의한 영상 복호화 방법을 설명하기 위한 제1 실시예의 플로우챠트이다.
도 15는 본 발명에 의한 영상 부호화 방법을 설명하기 위한 제2 실시예의 플로우챠트이다.
도 16은 본 발명에 의한 영상 복호화 방법을 설명하기 위한 제2 실시예의 플로우챠트이다.
본 발명은 영상 압축 및 복원에 관한 것으로, 보다 상세하게는, 블록패턴(CBP : Coded Block Pattern)의 압축 및 복원을 위한 영상 부호화 및 복호화 방법과 장치에 관한 것이다.
하나 이상의 휘도(luma) 블록과 하나 이상의 색차(chroma) 블록으로 표현된 영상을 부호화하는 부호화기는, 각각의 블록마다 이산여현변환(DCT: Discrete Cosine Transform)을 수행하여 DCT 계수들을 생성하고, 생성된 DCT 계수들을 양자화한다.
이 경우, 부호화기는 각각의 블록마다 블록패턴(CBP : Coded Block Pattern) 을 생성한다. 여기서, 블록패턴이란 양자화된 결과 중 0이 아닌 수치가 존재하는지의 여부를 나타내는 데이터를 의미한다. 예컨대, 어떤 블록의 블록패턴이 0이라 함은 그 블록의 양자화된 결과들이 모두 0임을 의미하고, 블록패턴이 1이라 함은 그 블록의 양자화된 결과들 중 0이 아닌 수치가 존재함을 의미한다.
종래의 부호화기는 이와 같이 생성된 블록패턴들을 압축하여 복호화기에 전송한다. 이와 관련하여, 블록패턴들을 보다 효율적으로 압축할 수 있는 방안이 요구되고 있다.
본 발명이 이루고자 하는 제1 기술적 과제는, 주어진 가상 블록패턴과 추측된 블록패턴을 이용하여 실제 블록패턴을 복원함으로써, 복수의 실제 블록패턴들이 보다 효율적으로 복원될 수 있도록 하는 영상 복호화 방법 및 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 제2 기술적 과제는, 색차 블록의 주어진 가상 블록패턴과 휘도 블록의 실제 블록패턴을 이용하여 색차 블록의 실제 블록패턴을 복원함으로써, 복수의 색차 블록들의 실제 블록패턴들이 보다 효율적으로 복원될 수 있도록 하는 영상 복호화 방법 및 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 제3 기술적 과제는, 실제 블록패턴을 그대로 압축하지 않고, 실제 블록패턴과 추측된 블록패턴을 이용하여 연산된 가상 블록패턴을 압축함으로써, 복수의 실제 블록패턴들이 보다 효율적으로 압축될 수 있도록 하는 영상 부호화 방법 및 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 제4 기술적 과제는, 색차 블록의 실제 블록패턴을 그대로 압축하지 않고, 색차 블록의 실제 블록패턴과 휘도 블록의 실제 블록패턴을 이용하여 연산된 가상 블록패턴을 압축함으로써, 복수의 색차 블록들의 실제 블록패턴들이 보다 효율적으로 압축될 수 있도록 하는 영상 부호화 방법 및 장치를 제공하는 데 있다.
상기 제1 기술적 과제를 이루기 위해, 본 발명에 의한 영상 복호화 방법은, 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 (a) 단계 및 상기 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 실제 블록패턴을 구하는 (b) 단계를 포함하는 것이 바람직하다.
상기 제1 기술적 과제를 이루기 위해, 본 발명에 의한 영상 복호화 장치는, 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부 및 상기 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 실제 블록패턴을 연산하는 연산부를 포함하는 것이 바람직하다.
상기 제2 기술적 과제를 이루기 위해, 본 발명에 의한 영상 복호화 방법은, 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 (a) 단계와, 상기 휘도 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 실제 블록패턴을 구하는 (b) 단계 및 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 주어진 가상 블록패턴을 이용하여 상기 색차 블록의 실제 블록패턴을 구하는 (c) 단계를 포함하는 것이 바람직하다.
상기 제2 기술적 과제를 이루기 위해, 본 발명에 의한 영상 복호화 장치는, 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부와, 상기 휘도 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 실제 블록패턴을 연산하는 제1 패턴 연산부 및 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 주어진 가상 블록패턴을 이용하여 상기 색차 블록의 실제 블록패턴을 연산하는 제2 패턴 연산부를 포함하는 것이 바람직하다.
상기 제3 기술적 과제를 이루기 위해, 본 발명에 의한 영상 부호화 방법은, 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 (a) 단계와, 상기 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 가상 블록패턴을 구하는 (b) 단계 및 상기 구해진 가상 블록패턴을 부호화하는 (c) 단계를 포함하는 것이 바람직하다.
상기 제3 기술적 과제를 이루기 위해, 본 발명에 의한 영상 부호화 장치는, 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부와, 상기 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 가상 블록패턴을 연산하는 연산부 및 상기 연산된 가상 블록패턴을 부호화하는 패턴 부호화부를 포함하는 것이 바람직하다.
상기 제4 기술적 과제를 이루기 위해, 본 발명에 의한 영상 부호화 방법은, 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 단계와, 상기 휘도 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 가상 블록패턴을 구하는 단계와, 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 실제 블록패턴을 이용하여 상기 색차 블록의 가상 블록패턴을 구하는 단계 및 상기 휘도 블록의 구해진 가상 블록패턴 및 상기 색차 블록의 구해진 가상 블록패턴을 부호화하는 단계를 포함하는 것이 바람직하다.
상기 제4 기술적 과제를 이루기 위해, 본 발명에 의한 영상 부호화 장치는, 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부와, 상기 휘도 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 가상 블록패턴을 연산하는 제1 패턴 연산부와, 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 실제 블록패턴을 이용하여 상기 색차 블록의 가상 블록패턴을 연산하는 제2 패턴 연산부 및 상기 휘도 블록의 연산된 가상 블록패턴 및 상기 색차 블록의 연산된 가상 블록패턴을 부호화하는 패턴 부호화부를 포함하는 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.
이하, 본 발명에 의한 영상 부호화 및 복호화 방법과 장치를 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 영상 부호화 및 복호화 과정을 개괄적으로 설명하기 위한 블록도로서, 부호화부(110) 및 복호화부(120)로 이루어진다.
부호화부(110)는 입력단자 IN 1을 통해 입력된 영상을 부호화하여 비트스트림(bitstream)을 생성하고 이를 복호화부(120)에 전송한다. 여기서, 영상은 RGB 컬러 공간에서 표현된 영상인 것보다, 휘도 성분과 색차 성분이 분리되어 표현된 영상인 것이 바람직하다. 이 경우, 휘도 성분의 영상은 하나 이상의 휘도 블록으로 이루어지며, 색차 성분의 영상은 하나 이상의 색차 블록으로 이루어진다. 한편, 영상은 시간적 선후관계를 갖는 복수의 프레임(frame)으로 이루어진 것이 바람직하다.
복호화부(120)는 부호화부(110)로부터 전송된 비트스트림을 복호화하여 영상을 복원하고 이를 출력단자 OUT 1을 통해 출력한다. 만일, 부호화부(110)가 영상을 무손실(lossless) 압축하였다면, 복원된 영상은 입력단자 IN 1을 통해 입력된 영상과 완전 동일하게 된다. 이와 비슷하게, 부호화부(110)가 영상을 손실(lossy) 압축하였다면, 복원된 영상은 입력단자 IN 1을 통해 입력된 영상에 근사할 뿐 완전히 동일할 수는 없다.
이러한 부호화 및 복호화는 매크로블록(macroblock) 단위로 수행될 수 있다. 즉, 영상은 매크로블록 단위로 압축될 수 있으며, 매크로블록 단위로 복원될 수 있다. 여기서, 매크로블록은 하나 이상의 휘도 블록과 하나 이상의 색차 블록을 포함 한다.
도 2는 도 1에 도시된 부호화부(110)를 설명하기 위한 일 실시예(110A)의 블록도로서, 움직임 추정부(212), 참조영상 저장부(214), 움직임 보상부(216), 공간 변환부(218), 양자화부(220), 역 양자화부(222), 역 공간변환부(224), 재배열부(226), 제로 부호화부(228), 및 엔트로피 부호화부(230)로 이루어질 수 있다.
부호화부(110)는 입력단자 IN 2를 통해 입력된 영상을 인터(inter) 모드(mode)로 부호화할 수도 있고, 인트라(intra) 모드로 부호화할 수도 있다. 입력단자 IN 2는 도 1에 도시된 입력단자 IN 1과 동일하다.
여기서, 인터 모드란 움직임 보상을 사용하여 부호화(또는, 복호화)하는 방법을 의미하고, 인트라 모드란 움직임 보상을 사용하지 않고 부호화(또는, 복호화)하는 방법을 의미한다.
부호화부(110)가 영상을 인터 모드로 부호화한다면, 움직임 추정부(212) 내지 엔트로피 부호화부(230) 모두가 동작한다. 그에 반해, 부호화부(110)가 영상을 인트라 모드로 부호화한다면, 움직임 추정부(212), 움직임 보상부(216), 역 양자화부(222), 및 역 공간변환부(224)는 동작하지 않는다.
인터 모드에 따라 동작하는 부호화부(110)의 동작을 설명하면 다음과 같다. 설명의 편의상, 블록 기반(block-based) 움직임 보상(motion compensation)을 수행하는 부호화부(110)의 동작을 설명하도록 한다.
움직임 추정부(212)는 관심 블록(단, 관심 블록은 m*n 블록이며, m, n은 자연수이고, m*n 블록은 m개의 화소(pixel)들이 n개의 열로 배열되어 있는 블록을 의 미함)과 가장 일치하는(matching) m*n 블록을 참조 프레임(reference frame)내에서 찾는다. 이와 같은 과정을 통해 찾아진 블록을 예측 블록이라 명명한다.
여기서, 관심 블록이란 현재 부호화하고자 하는 블록을 의미하며, 참조 프레임이란 이전에 부호화된 하나 이상의 프레임을 의미한다. 이러한 참조 프레임은 참조영상 저장부(214)에 저장되어 있으며, 움직임 추정부(212)는 참조영상 저장부(214)에 저장된 참조 프레임을 독출하여 사용한다.
움직임 보상부(216)는 관심 블록에서 예측 블록을 감산함으로써, 오차 블록을 생성한다. 한편, 움직임 보상부(216)는 관심 블록의 예측 블록에 대한 상대적인 위치를 나타내는 벡터인 움직임 벡터(MV: motion vector)도 생성한다.
전술한 바와 같이, 관심 블록, 예측 블록, 오차 블록 모두 m*n 블록이며, 화소값들로 이루어져 있다.
공간 변환부(218)는 이러한 '화소값'을 '주파수'로 변환한다. 구체적으로, 공간 변환부(218)는 오차 블록을 이루는 데이터들을 저주파수 대역으로 밀집시킨다.
보다 구체적으로, 공간 변환부(218)는 이산여현변환(DCT : Discrete Cosine Transform)을 수행할 수 있다. 여기서, DCT의 구체적인 개념은 K.R.Rao 와 P.Yip의 공저로 Academic Press 사에서 1990년에 발간된 "Discrete Cosine Transform"에 상세히 개시되어 있다. 이 경우, 공간 변환부(218)는 오차 블록에 포함된 m*n개의 화소값들을 m*n개의 DCT 계수(coefficient)들로 변환한다.
양자화부(220)는 공간 변환부(218)에서 생성된 DCT 계수들을 양자 화(quantization)한다. 이 때, 양자화부(220)는 선형 양자화를 수행할 수도 있고, 비선형 양자화를 수행할 수도 있다. 특히, 양자화부(220)는 비선형 양자화를 수행함으로써, 0에 근접한 크지 않은 DCT 계수들을 0으로 만들 수 있다.
역 양자화부(222) 및 역 공간변환부(224)는 다음에 부호화될 관심 블록의 부호화시 사용될 참조 프레임을 만들기 위해 동작한다.
역 양자화부(222)는 양자화부(220)에서 양자화된 결과를 역 양자화하고, 역 공간변환부(224)는 역 양자화부(222)에서 역 양자화된 결과에 대해 역 공간변환(예를 들어, 역(inverse) DCT)을 수행한다. 이로써, 역 공간변환부(224)는 오차 블록을 생성한다.
이 경우, '생성된 오차 블록'과 '움직임 추정부(212)에서 찾아진 예측 블록'이 더해져 '관심 블록'이 복원되고, 복원된 관심 블록은 참조 프레임의 일부로서 참조영상 저장부(214)에 저장된다.
재배열부(226)는 양자화부(220)에서 양자화된 결과들을 지그재그(zig-zag) 스캔하며 재배열한다. 제로 부호화부(228)는 RL(run-level) 부호화를 수행할 수 있다. 구체적으로, 제로 부호화부(228)는 재배열된 수치들을 보다 간결하게 표현할 수 있다. 보다 구체적으로, 제로 부호화부(228)는 재배열된 수치들을 (run, level)의 연속으로 표현할 수 있다. 여기서, run은 0이 아닌 재배열된 수치 앞에 있는 0의 개수를 의미하고, level은 0의 아닌 재배열된 수치를 의미한다.
엔트로피 부호화부(230)는 제로 부호화부(228)에서 부호화된 결과를 엔트로피 부호화한다. 또한, 엔트로피 부호화부(230)는 움직임 보상부(216)에서 생성된 움직임 벡터도 엔트로피 부호화한다. 이와 같이 엔트로피 부호화부(230)에서 엔트로피 부호화된 결과들은 하나의 비트스트림으로서 출력단자 OUT 2를 통해 출력된다.
한편, 인트라 모드에 따라 동작하는 부호화부(110)의 동작을 설명하면 다음과 같다.
공간 변환부(218)는 입력단자 IN 2를 통해 입력된 영상의 화소값을 주파수로 변환한다. 구체적으로, 공간 변환부(218)는 영상을 이루는 데이터들을 저주파수 대역으로 밀집시킨다. 보다 구체적으로, 공간 변환부(218)는 DCT를 수행할 수 있다.
이 경우, 양자화부(220)는 공간 변환부(218)에서 생성된 DCT 계수들을 양자화한다. 이 때, 양자화부(220)는 선형 양자화를 수행할 수도 있고, 비선형 양자화를 수행할 수도 있다. 특히, 양자화부(220)는 비선형 양자화를 수행함으로써, 0에 근접한 크지 않은 DCT 계수들을 0으로 만들 수 있다.
재배열부(226)는 양자화부(220)에서 양자화된 결과들을 지그재그(zig-zag) 스캔하며 재배열한다. 제로 부호화부(228)는 RL(run-level) 부호화를 수행할 수 있다. 구체적으로, 제로 부호화부(228)는 재배열된 수치들을 보다 간결하게 표현할 수 있다. 보다 구체적으로, 제로 부호화부(228)는 재배열된 수치들을 (run, level)의 연속으로 표현할 수 있다. 여기서, run은 0이 아닌 재배열된 수치 앞에 있는 0의 개수를 의미하고, level은 0의 아닌 재배열된 수치를 의미한다.
엔트로피 부호화부(230)는 제로 부호화부(228)에서 부호화된 결과를 엔트로피 부호화한다. 이와 같이 엔트로피 부호화부(230)에서 엔트로피 부호화된 결과들 은 하나의 비트스트림으로서 출력단자 OUT 2를 통해 출력된다.
도 3은 도 1에 도시된 복호화부(120)를 설명하기 위한 일 실시예(120A)의 블록도로서, 엔트로피 복호화부(312), 제로 복호화부(314), 역 재배열부(316), 역 양자화부(318), 역 공간변환부(320), 움직임 추정부(322), 및 참조영상 저장부(324)로 이루어질 수 있다.
복호화부(120)는 입력단자 IN 3을 통해 입력된 비트스트림을 인터(inter) 모드(mode)로 복호화할 수도 있고, 인트라(intra) 모드로 복호화할 수도 있다. 입력단자 IN 3을 통해 입력된 비트스트림은 도 2에 도시된 출력단자 OUT 2를 통해 출력된 비트스트림일 수 있다.
복호화부(120)가 비트스트림을 인터 모드로 복호화한다면, 엔트로피 복호화부(312) 내지 참조영상 저장부(324) 모두가 동작한다. 그에 반해, 복호화부(120)가 비트스트림을 인트라 모드로 복호화한다면, 움직임 추정부(322)는 동작하지 않는다.
인터 모드에 따라 동작하는 복호화부(120)의 동작을 설명하면 다음과 같다.
엔트로피 복호화부(312)는 입력단자 IN 3을 통해 입력된 비트스트림을 엔트로피 복호화한다. 이로써, 엔트로피 복호화부(312)는 입력단자 IN 3을 통해 입력된 비트스트림으로부터 '제로 부호화부(228)에서 RL 부호화된 결과', '움직임 보상부(216)에서 생성된 움직임 벡터'를 추출한다.
제로 복호화부(314)는 RL 복호화를 수행하며, 역 재배열부(316)는 '양자화부(220)에서 양자화된 결과들'을 생성한다.
역 양자화부(318)는 역 재배열부(316)로부터 입력된 '양자화부(220)에서 생성된 결과'를 역 양자화하고, 역 공간변환부(320)는 역 양자화부(318)에서 역 양자화된 결과에 대해 역 공간변환(예를 들어, 역(inverse) DCT)을 수행한다. 이로써, 역 공간변환부(318)는 오차 블록을 생성한다.
움직임 추정부(322)는 엔트로피 복호화부(312)에서 추출된 움직임 벡터를 이용하여, 참조영상 저장부(324)에 저장된 참조 프레임내에서 예측 블록을 찾는다.
이 경우, '역 공간변환부(318)에서 생성된 오차 블록'과 '움직임 추정부(322)에서 찾아진 예측 블록'이 더해져 '관심 블록'이 복원되고, 복원된 관심 블록은 출력단자 OUT 3을 통해 출력된다. 복원된 관심 블록은 참조 프레임의 일부로서 참조영상 저장부(324)에 저장된다.
한편, 인트라 모드에 따라 동작하는 복호화부(120)의 동작을 설명하면 다음과 같다.
엔트로피 복호화부(312)는 입력단자 IN 3을 통해 입력된 비트스트림으로부터 '제로 부호화부(228)에서 RL 부호화된 결과'를 추출한다.
제로 복호화부(314)는 RL 복호화를 수행하며, 역 재배열부(316)는 '양자화부(220)에서 양자화된 결과들'을 생성한다.
역 양자화부(318)는 역 재배열부(316)로부터 입력된 '양자화부(220)에서 생성된 결과'를 역 양자화하고, 역 공간변환부(320)는 역 양자화부(318)에서 역 양자화된 결과에 대해 역 공간변환(예를 들어, 역(inverse) DCT)을 수행한다. 이로써, 역 공간변환부(318)는 영상을 복원하고, 복원된 영상을 출력단자 OUT 4를 통해 출 력한다. 그 복원된 영상은 참조영상 저장부(324)에 저장될 수 있다.
도 4a 내지 도 4c는 4:2:0 포맷, 4:2:2 포맷, 4:4:4 포맷을 설명하기 위한 도면들이다.
도 4a는 4:2:0 포맷을 갖는 영상의 매크로블록을 나타낸다. 보다 구체적으로, 4:2:0 포맷을 갖는 영상의 매크로블록은 4개의 휘도 블록(Y), 1개의 청색 색차 블록(Cb), 및 1개의 적색 색차 블록(Cr)로 이루어질 수 있다. 각각의 휘도 블록(Y), 청색 색차 블록(Cb) 또는 적색 색차 블록(Cr)은 8*8블록이다. 즉, 각각의 휘도 블록(Y), 청색 색차 블록(Cb) 또는 적색 색차 블록(Cr)에는 8개의 화소(pixel)들이 8열로 배치되어 있어 총 64개의 샘플(sample)들이 존재한다.
도 4b는 4:2:2 포맷을 갖는 영상의 매크로블록을 나타낸다. 보다 구체적으로, 4:2:2 포맷을 갖는 영상의 매크로블록은 4개의 휘도 블록(Y), 2개의 청색 색차 블록(Cb), 및 2개의 적색 색차 블록(Cr)로 이루어질 수 있다. 각각의 휘도 블록(Y), 각각의 청색 색차 블록(Cb) 또는 각각의 적색 색차 블록(Cr)은 8*8블록이다. 즉, 각각의 휘도 블록(Y), 각각의 청색 색차 블록(Cb) 또는 각각의 적색 색차 블록(Cr)에는 8개의 화소(pixel)들이 8열로 배치되어 있어 총 64개의 샘플(sample)들이 존재한다.
도 4c는 4:4:4 포맷을 갖는 영상의 매크로블록을 나타낸다. 보다 구체적으로, 4:4:4 포맷을 갖는 영상의 매크로블록은 4개의 휘도 블록(Y), 4개의 청색 색차 블록(Cb), 및 4개의 적색 색차 블록(Cr)로 이루어질 수 있다. 각각의 휘도 블록(Y), 각각의 청색 색차 블록(Cb) 또는 각각의 적색 색차 블록(Cr)은 8*8블록이 다. 즉, 각각의 휘도 블록(Y), 각각의 청색 색차 블록(Cb) 또는 각각의 적색 색차 블록(Cr)에는 8개의 화소(pixel)들이 8열로 배치되어 있어 총 64개의 샘플(sample)들이 존재한다.
도 5는 본 발명에 의한 영상 부호화 장치를 설명하기 위한 블록도로서, 블록패턴 생성부(510), 추측부(520), 연산부(530), 패턴 부호화부(540)로 이루어질 수 있다.
블록패턴 생성부(510), 추측부(520), 및 연산부(530)는 도 2에 도시된 부호화부(110)에 추가적으로 마련될 수 있고, 패턴 부호화부(540)는 도 2에 도시된 엔트로피 부호화부(230)에 구현될 수 있다.
블록패턴 생성부(510)는 양자화부(220)에서 양자화가 완료된 블록마다, 양자화된 결과들을 분석하여 블록패턴을 생성한다. 여기서, 블록패턴은 양자화된 결과 중 0이 아닌 수치가 존재하는지의 여부를 나타내는 데이터를 의미한다. 또한, 블록패턴은 이진 데이터일 수 있다. 예컨대, 어떤 블록의 블록패턴이 0이라 함은 그 블록의 양자화된 결과들이 모두 0임을 의미하고, 블록패턴이 1이라 함은 그 블록의 양자화된 결과들 중 0이 아닌 수치가 존재함을 의미할 수 있다.
도 2에 도시된 입력단자 IN 2를 통해 입력된 영상을 이루는 각 프레임이, A*B 행렬(단, A, B 각각은 2이상의 정수)의 형태로 분포된 복수의 블록으로 구성된다면, 블록패턴 생성부(510)는 좌측 블록의 블록패턴을 우측 블록의 블록패턴보다 먼저 생성하고, 상측 블록의 블록패턴을 하측 블록의 블록패턴보다 먼저 생성할 수 있다.
추측부(520)는 도 2에 도시된 입력단자 IN 2를 통해 입력된 프레임을 이루는 각 블록마다, 블록의 블록패턴을 추측한다.
구체적으로, 추측부(520)는 블록의 블록패턴을 그 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측한다. 이 때, 그 주변 블록의 블록패턴은 그 주변 블록의 실제(actual) 블록패턴을 의미한다. 즉, 그 주변 블록의 블록패턴은 블록패턴 생성부(510)에서 생성된다. 블록패턴 생성부(510)가 좌측 블록의 블록패턴을 우측 블록의 블록패턴보다 먼저 생성하고, 상측 블록의 블록패턴을 하측 블록의 블록패턴보다 먼저 생성한다면, 추측부(520)는 블록의 블록패턴을 그 블록의 상측 블록의 블록패턴, 좌상측 블록의 블록패턴, 우상측 블록의 블록패턴, 좌측 블록의 블록패턴 중 적어도 하나를 이용하여 추측할 수 있다.
예컨대, 추측부(520)는 그 블록의 상측(upper) 블록의 블록패턴이 그 블록의 좌상측(upper-left) 블록의 블록패턴과 일치한다면, 그 블록의 좌측(left) 블록의 블록패턴을 그 추측된 블록패턴으로서 출력한다. 또한, 추측부(520)는 그 블록의 상측(upper) 블록의 블록패턴이 그 블록의 좌상측(upper-left) 블록의 블록패턴과 일치한다면, 그 블록의 상측 블록의 블록패턴을 그 추측된 블록패턴으로서 출력한다.
이를 위해, 추측부(520)는 비교부(522) 및 추측패턴 출력부(524)로 이루어질 수 있다.
비교부(522)는 그 블록의 상측 블록의 블록패턴이 그 블록의 좌상측 블록의 블록패턴과 일치하는지 검사한다. 추측패턴 출력부(524)는, 비교부(522)에서 일치 한다고 검사되면 그 블록의 좌측 블록의 블록패턴을 그 추측된 블록패턴으로서 출력하고, 비교부(522)에서 일치하지 않는다고 검사되면 그 블록의 상측 블록의 블록패턴을 그 추측된 블록패턴으로서 출력한다.
연산부(530)는 그 블록의 실제 블록패턴과 그 추측된 블록패턴을 이용하여, 그 블록의 가상 블록패턴을 연산한다. 예컨대, 연산부(530)는 그 블록의 실제 블록패턴과 그 추측된 블록패턴을 배타적 논리합(XOR: eXclusive OR)하여 그 블록의 가상 블록패턴을 연산할 수 있다.
패턴 부호화부(540)는 연산부(530)에서 연산된 가상 블록패턴을 압축한다. 구체적으로, 패턴 부호화부(540)는 연산부(530)에서 연산된 복수의 가상 블록패턴들을 엔트로피 부호화한다.
본 명세서 상에서, 실제 블록패턴을 부호화하지 않고, 가상 블록패턴을 부호화하는 것은, 이를 통해 패턴 부호화부(540)의 압축 기능의 향상을 도모하기 위함이다.
한편, 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:2:0 포맷을 갖는다면, 휘도 블록(Y)에 대해서는 블록패턴 생성부(510), 추측부(520), 연산부(530), 및 패턴 부호화부(540) 모두가 동작하나, 색차 블록(Cb, Cr)에 대해서는 블록패턴 생성부(510), 및 패턴 부호화부(540)가 동작한다. 즉, 패턴 부호화부(540)는 '복수의 휘도 블록(Y)의 가상 블록패턴들'과 '복수의 색차 블록(Cb, Cr)의 실제 블록패턴들'을 엔트로피 부호화한다. 이 경우, 패턴 부호화부(540)는 모든 엔트로피 부호화된 결과들을 하나의 비트스트림으로서 출력단자 OUT 5를 통해 출력 한다.
반면, 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:2:2 포맷, 또는 4:4:4 포맷을 갖는다면, 블록패턴 생성부(510), 추측부(520), 연산부(530), 및 패턴 부호화부(540) 모두는, 휘도 블록(Y)에 대해서도 동작하고 색차 블록(Cb, Cr)에 대해서도 동작한다. 즉, 패턴 부호화부(540)는 '복수의 휘도 블록(Y)의 가상 블록패턴들'과 '복수의 색차 블록(Cb, Cr)의 가상 블록패턴들'을 엔트로피 부호화한다. 이 경우, 패턴 부호화부(540)는 모든 엔트로피 부호화된 결과들을 하나의 비트스트림으로서 출력단자 OUT 5를 통해 출력한다.
도 6은 본 발명에 의한 영상 복호화 장치를 설명하기 위한 블록도로서, 패턴 복호화부(610), 블록패턴 출력부(620), 추측부(630), 및 연산부(640)로 이루어질 수 있다.
패턴 복호화부(610)는 도 3에 도시된 엔트로피 복호화부(312)에 구현될 수 있고, 블록패턴 출력부(620), 추측부(630), 및 연산부(640)는 도 3에 도시된 복호화부(120)에 추가적으로 마련될 수 있다.
패턴 복호화부(610)는 입력단자 IN 4를 통해 입력된 비트스트림을 엔트로피 복호화하여, '가상 블록패턴들'을 복원할 수도 있고, '가상 블록패턴들과 실제 블록패턴들'을 복원할 수도 있다. 이 때, 그 입력된 비트스트림은 도 5에 도시된 출력단자 OUT 5를 통해 출력된 비트스트림과 동일한 것이 바람직하다.
구체적으로, 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:2:0 포맷을 갖는다면, 휘도 블록(Y)에 대해서는 패턴 복호화부(610), 블록패턴 출력 부(620), 추측부(630), 및 연산부(640) 모두가 동작하나, 색차 블록(Cb, Cr)에 대해서는 패턴 복호화부(610), 및 블록패턴 출력부(620)가 동작한다. 즉, 패턴 복호화부(610)는 '복수의 휘도 블록(Y)의 가상 블록패턴들'과 '복수의 색차 블록(Cb, Cr)의 실제 블록패턴들'을 복원한다.
반면, 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:2:2 포맷, 또는 4:4:4 포맷을 갖는다면, 패턴 복호화부(610), 블록패턴 출력부(620), 추측부(630), 및 연산부(640) 모두는, 휘도 블록(Y)에 대해서도 동작하고 색차 블록(Cb, Cr)에 대해서도 동작한다. 즉, 패턴 복호화부(610)는 '복수의 휘도 블록(Y)의 가상 블록패턴들'과 '복수의 색차 블록(Cb, Cr)의 가상 블록패턴들'을 복원한다.
블록패턴 출력부(620)는 입력단자 IN 4를 통해 입력된 비트스트림으로부터 복수의 실제 블록패턴들을 복원하고, 복원된 실제 블록패턴을 출력단자 OUT 6을 통해 출력한다.
한편, 블록패턴 출력부(620)는 좌측 블록의 실제 블록패턴을 우측 블록의 실제 블록패턴보다 먼저 복원하고, 상측 블록의 실제 블록패턴을 하측 블록의 실제 블록패턴보다 먼저 복원할 수 있다.
추측부(630)는 블록의 블록패턴을 추측한다.
구체적으로, 추측부(630)는 블록의 블록패턴을 그 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측한다. 이 때, 그 주변 블록의 블록패턴은 그 주변 블록의 실제 블록패턴을 의미한다. 즉, 그 주변 블록의 블록패턴은 블록패턴 출력부(620)에서 복원된다.
블록패턴 출력부(630)가 좌측 블록의 블록패턴을 우측 블록의 블록패턴보다 먼저 복원하고, 상측 블록의 블록패턴을 하측 블록의 블록패턴보다 먼저 복원한다면, 추측부(630)는 그 블록의 블록패턴을 그 블록의 상측 블록의 블록패턴, 좌상측 블록의 블록패턴, 우상측 블록의 블록패턴, 좌측 블록의 블록패턴 중 적어도 하나를 이용하여 추측할 수 있다.
추측부(630)는 비교부(632), 및 추측패턴 출력부(634)로 이루어질 수 있다.
비교부(632)는 그 블록의 상측 블록의 블록패턴이 그 블록의 좌상측 블록의 블록패턴과 일치하는지 검사한다. 추측패턴 출력부(634)는, 비교부(632)에서 일치한다고 검사되면 그 블록의 좌측 블록의 블록패턴을 그 추측된 블록패턴으로서 출력하고, 비교부(632)에서 일치하지 않는다고 검사되면 그 블록의 상측 블록의 블록패턴을 그 추측된 블록패턴으로서 출력한다.
연산부(640)는 그 블록의 가상 블록패턴과 그 추측된 블록패턴을 이용하여, 그 블록의 실제 블록패턴을 연산한다. 예컨대, 연산부(530)는 그 블록의 가상 블록패턴과 그 추측된 블록패턴을 배타적 논리합(XOR: eXclusive OR)하여 그 블록의 실제 블록패턴을 연산할 수 있다. 이 때, 그 블록의 가상 블록패턴은 패턴 복호화부(610)로부터 주어진다.
패턴 복호화부(610)가 '복수의 휘도 블록(Y)의 가상 블록패턴들'과 '복수의 색차 블록(Cb, Cr)의 실제 블록패턴들'을 복원한다면, 블록패턴 출력부(620)는 패턴 복호화부(610)에서 복원된 '복수의 색차 블록(Cb, Cr)의 실제 블록패턴들'과, 연산부(640)에서 연산된 '복수의 휘도 블록(Y)의 가상 블록패턴들'을 출력단자 OUT 6을 통해 출력한다.
또한, 패턴 복호화부(610)가 '복수의 휘도 블록(Y)의 가상 블록패턴들'과 '복수의 색차 블록(Cb, Cr)의 가상 블록패턴들'을 복원한다면, 블록패턴 출력부(620)는 연산부(640)에서 연산된 '복수의 색차 블록(Cb, Cr)의 실제 블록패턴들'과 '복수의 휘도 블록(Y)의 가상 블록패턴들'을 출력단자 OUT 6을 통해 출력한다.
도 7 및 도 8은 4:2:0 포맷을 갖는 영상을 이용하여 본 발명에 의한 영상 부호화/복호화 원리를 설명하기 위한 도면들이다.
도 7의 (a)는 도 4a에 도시된 '4:2:0 포맷을 갖는 영상의 매크로블록'을 나타낸다. 설명의 편의상, 참조번호 712, 714, 716, 718, 720, 730 각각은 제1, 제2, 제3, 제4, 제5, 제6 블록이라 명명한다.
도 7의 (b)는 도 7의 (a)에 도시된 매크로블록의 실제 블록패턴들과 가상 블록패턴들(CBP(0), ...,CBP(5))이 비트스트림(740)으로 표현된 일 례를 나타낸다. 이와 같이, 비트스트림의 형태로 배열된 실제 블록패턴들과 가상 블록패턴들의 조합을 이하 CBPCY라 명명할 수 있다. CBPCY는 패턴 부호화부(540)에 입력되는 데이터를 의미할 수도 있다. 여기서, C는 색차 블록(720, 또는 730)의 블록패턴을 의미하고, Y는 휘도 블록(712, 714, 716, 또는 718)의 블록패턴을 의미한다.
도 7의 (b)에 도시된 바에서, CBPCY(740)는 6비트로 구성되며, 0에서 63까지의 값을 가질 수 있다. 여기서, CBP(0), CBP(1), CBP(2), CBP(3), CBP(4), CBP(5) 각각은 제1 블록(712)의 가상 블록패턴, 제2 블록(714)의 가상 블록패턴, 제3 블록(716)의 가상 블록패턴, 제4 블록(718)의 가상 블록패턴, 제5 블록(720)의 실제 블록패턴, 제6 블록(722)의 실제 블록패턴 각각을 의미한다.
도 8은 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:2:0 포맷의 영상인 경우, 도 5에 도시된 추측부(520), 연산부(530)의 동작을 설명하기 위한 도면이다. 다만, 후술하는 설명은 도 6에 도시된 추측부(630), 연산부(640)의 동작을 설명하는 데 있어 유추 가능하다.
도 8에 도시된 블록들은, 16개의 휘도 블록들이며 총 4개의 서로 다른 매크로블록에 포함된 휘도 블록들이다. 또한, 참조번호 810에 표기된 모든 블록패턴들은 가상 블록패턴들이고, 참조번호 820, 830, 840에 표기된 모든 블록패턴들은 실제 블록패턴들이다.
추측부(520)는 다음의 수학식들을 이용하여 CBPp(0) 내지 CBPp(3) 각각을 추측하고, 연산부(530)는 다음의 수학식들을 이용하여 CBP(0) 내지 CBP(3) 각각을 연산한다.
Figure 112006050590942-pat00001
여기서, 첨자 p는 '추측'을 의미한다. 즉, CBPp는 추측된 블록패턴을 의미한다. 수학식 1의 의미를 가상 블록패턴(CBP(0))을 연산하기 위한 과정을 일 례로 들어 설명하고자 한다.
비교부(522)는 CBP(0)이 위치한 블록의 상측 블록의 블록패턴(CBPb(2))과 좌상측 블록의 블록패턴(CBPc(3))이 일치하는지 검사한다.
만일, 일치한다고 검사되면, 추측패턴 출력부(524)는 "CBP(0)은 좌측 블록의 블록패턴(CBPa(1))일 것"이라고 추측한다. (즉, CBPp(0) = CBPa(1)) 그에 반해, 일치하지 않는다고 검사되면, 추측패턴 출력부(524)는 "CBP(0)은 상측 블록의 블록패턴(CBPb(2))일 것"이라고 추측한다. (즉, CBPp(0) = CBPb(2))
또한, 연산부(530)는 그 추측된 블록패턴(CBPp(0))과 실제 블록패턴((CBPCY>>5)&0x01)을 배타적 논리합(XOR)하여, 가상 블록패턴(CBP(0))을 연산할 수 있다. 여기서, '(CBPCY>>5)&0x01'이라 함은, 도 7에 도시된 'CBPCY(740)의 LSB로부터 MSB방향으로 5번째에 위치한 비트값'을 의미한다. 상기 수학식에서 ^는 XOR를 의미한다.
한편, 도 7에 도시된 CBP(4)는 연산부(530)에서 연산되는 것이 아니라, 실제 블록패턴 즉, (CBPCY>>1)&0x01을 의미한다. 마찬가지로, 도 7에 도시된 CBP(4)는 연산부(530)에서 연산되는 것이 아니라, 실제 블록패턴 즉, (CBPCY>>0)&0x01을 의미한다.
도 9 및 도 10은 4:2:2 포맷을 갖는 영상을 이용하여 본 발명에 의한 영상 부호화/복호화 원리를 설명하기 위한 도면들이다.
도 9의 (a)는 도 4b에 도시된 '4:2:2 포맷을 갖는 영상의 매크로블록'을 나타낸다. 설명의 편의상, 참조번호 912, 914, 916, 918, 920, 922, 924, 926 각각은 제1, 제2, 제3, 제4, 제5, 제6, 제7, 제8 블록이라 명명한다.
도 9의 (b)는 도 9의 (a)에 도시된 매크로블록의 CBPCY(930)를 의미한다. 여기서, C는 색차 블록(920, 922, 924, 또는 926)의 블록패턴을 의미하고, Y는 휘도 블록(912, 914, 916, 또는 918)의 블록패턴을 의미한다.
도 9의 (b)에 도시된 바에서, CBPCY(930)는 8비트로 구성되며, 0에서 255까지의 값을 가질 수 있다. 여기서, CBP(0), CBP(1), CBP(2), CBP(3), CBP(4), CBP(5), CBP(6), CBP(7) 각각은 제1 블록(912)의 가상 블록패턴, 제2 블록(914)의 가상 블록패턴, 제3 블록(916)의 가상 블록패턴, 제4 블록(918)의 가상 블록패턴, 제5 블록(920)의 실제 블록패턴, 제6 블록(922)의 실제 블록패턴, 제7 블록(924)의 실제 블록패턴, 제8 블록(926)의 실제 블록패턴 각각을 의미한다.
도 10은 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:2:2 포맷의 영상인 경우, 도 5에 도시된 추측부(520), 연산부(530)의 동작을 설명하기 위한 도면이다. 다만, 후술하는 설명은 도 6에 도시된 추측부(630), 연산부(640)의 동작을 설명하는 데 있어 유추 가능하다.
설명의 편의상, 도 10에서 휘도 블록들의 도시는 생략하기로 한다.
참조번호 1010, 1020에 표기된 모든 블록패턴들은 가상 블록패턴들이고, 참조번호 1012, 1014, 1016, 1022, 1024, 1026에 표기된 모든 블록패턴들은 실제 블록패턴들이다.
추측부(520)는 다음의 수학식들을 이용하여 CBPp(0) 내지 CBPp(3) 각각을 추측하고, 연산부(530)는 다음의 수학식들을 이용하여 CBP(0) 내지 CBP(3) 각각을 연산한다.
Figure 112006050590942-pat00002
이에 대한 설명은 수학식 1에 대한 상기 설명으로 대체하기로 한다.
마찬가지로, 추측부(520)는 다음의 수학식들을 이용하여 CBPp(4) 내지 CBPp(7) 각각을 추측하고, 연산부(530)는 다음의 수학식들을 이용하여 CBP(4) 내지 CBP(7) 각각을 연산한다.
Figure 112006050590942-pat00003
이에 대한 설명 역시, 수학식 1에 대한 상기 설명으로 대체 가능하다. 다만, 수학식 3의 의미를 가상 블록패턴(CBP(4))을 연산하기 위한 과정을 일 례로 들어 부언하고자 한다.
비교부(522)는 CBP(4)이 위치한 블록의 상측 블록의 블록패턴(CBPb(5))과 좌상측 블록의 블록패턴(CBPc(5))이 일치하는지 검사한다.
만일, 일치한다고 검사되면, 추측패턴 출력부(524)는 "CBP(4)은 좌측 블록의 블록패턴(CBPa(4))일 것"이라고 추측한다.(즉, CBPp(4) = CBPa(4)) 그에 반해, 일치하지 않는다고 검사되면, 추측패턴 출력부(524)는 "CBP(4)은 상측 블록의 블록패턴(CBPb(5))일 것"이라고 추측한다. (즉, CBPp(4) = CBPb(5))
또한, 연산부(530)는 그 추측된 블록패턴(CBPp(4))과 실제 블록패턴((CBPCY>>3)&0x01)을 배타적 논리합(XOR)하여, 가상 블록패턴(CBP(4))을 연산할 수 있다. 여기서, '(CBPCY>>3)&0x01'이라 함은, 도 9에 도시된 'CBPCY(930)의 LSB 로부터 MSB방향으로 3번째에 위치한 비트값'을 의미한다. 상기 수학식에서 ^는 XOR를 의미한다.
도 11 및 도 12는 4:4:4 포맷을 갖는 영상을 이용하여 본 발명에 의한 영상 부호화/복호화 원리를 설명하기 위한 도면들이다.
도 11의 (a)는 도 4c에 도시된 '4:4:4 포맷을 갖는 영상의 매크로블록'을 나타낸다. 설명의 편의상, 참조번호 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134 각각은 제1, 제2, 제3, 제4, 제5, 제6, 제7, 제8, 제9, 제10, 제11, 제12 블록이라 명명한다.
도 11의 (b)는 도 11의 (a)에 도시된 매크로블록의 CBPCY(1140)를 의미한다. 여기서, C는 색차 블록(1120 내지 1134)의 블록패턴을 의미하고, Y는 휘도 블록(1112 내지 1118)의 블록패턴을 의미한다.
도 11의 (b)에 도시된 바에서, CBPCY(1140)는 12비트로 구성되며, 0에서 4095까지의 값을 가질 수 있다. 여기서, CBP(0), CBP(1), CBP(2), CBP(3), CBP(4), CBP(5), CBP(6), CBP(7), CBP(8), CBP(9), CBP(10), CBP(11) 각각은 제1 블록(1112)의 가상 블록패턴, 제2 블록(1114)의 가상 블록패턴, 제3 블록(1116)의 가상 블록패턴, 제4 블록(1118)의 가상 블록패턴, 제5 블록(1120)의 실제 블록패턴, 제6 블록(1122)의 실제 블록패턴, 제7 블록(1124)의 실제 블록패턴, 제8 블록(1126)의 실제 블록패턴, 제9 블록(1128)의 실제 블록패턴, 제10 블록(1130)의 실제 블록패턴, 제11 블록(1132)의 실제 블록패턴 각각을 의미한다.
도 12는 도 2에 도시된 입력단자 IN 2를 통해 입력된 영상이 4:4:4 포맷의 영상인 경우, 도 5에 도시된 추측부(520), 연산부(530)의 동작을 설명하기 위한 도면이다. 다만, 후술하는 설명은 도 6에 도시된 추측부(630), 연산부(640)의 동작을 설명하는 데 있어 유추 가능하다.
설명의 편의상, 도 12에서 휘도 블록들의 도시는 생략하기로 한다.
참조번호 1210, 1220에 표기된 모든 블록패턴들은 가상 블록패턴들이고, 참조번호 1212, 1214, 1216, 1222, 1224, 1226에 표기된 모든 블록패턴들은 실제 블록패턴들이다.
추측부(520)는 다음의 수학식들을 이용하여 CBPp(0) 내지 CBPp(3) 각각을 추측하고, 연산부(530)는 다음의 수학식들을 이용하여 CBP(0) 내지 CBP(3) 각각을 연산한다.
Figure 112006050590942-pat00004
이에 대한 설명은 수학식 1에 대한 상기 설명으로 대체하기로 한다.
마찬가지로, 추측부(520)는 다음의 수학식들을 이용하여 CBPp(4) 내지 CBPp(11) 각각을 추측하고, 연산부(530)는 다음의 수학식들을 이용하여 CBP(4) 내지 CBP(11) 각각을 연산한다.
Figure 112006050590942-pat00005
이에 대한 설명 역시, 수학식 1에 대한 상기 설명으로 대체 가능하다. 다만, 수학식 5의 의미를 가상 블록패턴(CBP(4))을 연산하기 위한 과정을 일 례로 들어 부언하고자 한다.
비교부(522)는 CBP(4)이 위치한 블록의 상측 블록의 블록패턴(CBPb(6))과 좌상측 블록의 블록패턴(CBPc(7))이 일치하는지 검사한다.
만일, 일치한다고 검사되면, 추측패턴 출력부(524)는 "CBP(4)은 좌측 블록의 블록패턴(CBPa(5))일 것"이라고 추측한다.(즉, CBPp(4)= CBPa(5)) 그에 반해, 일치하지 않는다고 검사되면, 추측패턴 출력부(524)는 "CBP(4)은 상측 블록의 블록패턴(CBPb(6))일 것"이라고 추측한다.(즉, CBPp(4) = CBPb(6))
또한, 연산부(530)는 그 추측된 블록패턴(CBPp(4))과 실제 블록패턴((CBPCY>>7)&0x01)을 배타적 논리합(XOR)하여, 가상 블록패턴(CBP(4))을 연산할 수 있다. 여기서, '(CBPCY>>7)&0x01'이라 함은, 도 11에 도시된 'CBPCY(1140)의 LSB로부터 MSB방향으로 7번째에 위치한 비트값'을 의미한다. 상기 수학식에서 ^는 XOR를 의미한다.
한편, 도 11 및 도 12에 도시된 바와 같이, 입력단자 IN 2를 통해 입력된 영상이 4:4:4 포맷의 영상인 경우에는, 추측부(520 또는 630)와 연산부(530 또는 640)가 제1 실시예에 따라 동작할 수도 있고, 제2 실시예에 따라 동작할 수도 있다.
추측부(520 또는 630)와 연산부(530 또는 640)의 제1 실시예에 따른 동작은 전술한 설명에서 이미 개시되었다.
즉, 추측부(520 또는 630)는 블록의 블록패턴을 그 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측한다. 또한, 연산부(530)는 그 블록의 실제 블록패턴과 그 추측된 블록패턴을 이용하여, 그 블록의 가상 블록패턴을 연산하고, 연산부(640)는 그 블록의 가상 블록패턴과 그 추측된 블록패턴을 이용하여, 그 블록의 실제 블록패턴을 복원한다.
추측부(520)와 연산부(530)의 제2 실시예에 따른 동작은 다음과 같다.
추측부(520)는 휘도 블록(또는, 색차 블록)의 블록패턴을 그 휘도 블록(또는, 그 색차 블록)의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측한다.
제2 실시예에 따르면, 연산부(530)는 제1 패턴 연산부(미 도시)와 제2 패턴 연산부(미 도시)로 이루어질 수 있다.
여기서, 제1 패턴 연산부(미 도시)는 그 휘도 블록(또는, 그 색차 블록)의 실제 블록패턴과 그 추측된 블록패턴을 이용하여, 그 휘도 블록(또는, 그 색차 블록)의 가상 블록패턴을 연산한다. 구체적으로, 제1 패턴 연산부(미 도시)는 그 휘도 블록(또는, 그 색차 블록)의 실제 블록패턴과 그 추측된 블록패턴을 배타적 논리합하여, 그 휘도 블록(또는, 그 색차 블록)의 가상 블록패턴을 연산할 수 있다.
반면, 제2 패턴 연산부(미 도시)는 '색차 블록(또는, 휘도 블록)의 위상과 동일한 위상을 갖는 휘도 블록(또는, 색차 블록)의 실제 블록패턴' 및 '그 색차 블록(또는, 그 휘도 블록)의 실제 블록패턴'을 이용하여 그 색차 블록(또는, 그 휘도 블록)의 가상 블록패턴을 연산한다.
구체적으로, 제2 패턴 연산부(미 도시)는 '색차 블록(또는, 휘도 블록)의 위 상과 동일한 위상을 갖는 휘도 블록(또는, 색차 블록)의 실제 블록패턴' 및 '그 색차 블록(또는, 그 휘도 블록)의 실제 블록패턴'을 배타적 논리합하여, 그 색차 블록(또는, 그 휘도 블록)의 가상 블록패턴을 연산할 수 있다.
여기서, 색차 블록(또는, 휘도 블록)의 위상이란, 그 색차 블록(또는, 그 휘도 블록)의 그 색차 블록(또는, 그 휘도 블록)이 속한 매크로블록내에서의 위치를 의미한다. 도 11에 도시된 바에서, 제1 블록(1112)의 위상과 제5 블록(1120)의 위상과 제9 블록(1128)의 위상은 모두 동일하다. 마찬가지로, 제2 블록(1114)의 위상과 제6 블록(1122)의 위상과 제10 블록(1130)의 위상도 서로 동일하고, 제3 블록(1116)의 위상과 제7 블록(1124)의 위상과 제11 블록(1132)의 위상도 서로 동일하고, 제4 블록(1118)의 위상과 제8 블록(1126)의 위상과 제12 블록(1132)의 위상도 서로 동일하다.
이러한 제2 패턴 연산부(미 도시)의 동작은 다음과 같은 수학식으로 표현될 수 있다.
Figure 112006050590942-pat00006
한편, 패턴 부호화부(540)는 제1 패턴 연산부(미 도시)에서 연산된 결과들과 제2 패턴 연산부(미 도시)에서 연산된 결과들 모두를 엔트로피 부호화한다.
마찬가지로, 추측부(630)와 연산부(640)의 제2 실시예에 따른 동작은 다음과 같다.
추측부(630)는 휘도 블록(또는, 색차 블록)의 블록패턴을 그 휘도 블록(또는, 그 색차 블록)의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측한다.
제2 실시예에 따르면, 연산부(640)는 제1 패턴 연산부(미 도시)와 제2 패턴 연산부(미 도시)로 이루어질 수 있다.
여기서, 제1 패턴 연산부(미 도시)는 그 휘도 블록(또는, 그 색차 블록)의 가상 블록패턴과 그 추측된 블록패턴을 이용하여, 그 휘도 블록(또는, 그 색차 블록)의 실제 블록패턴을 연산한다. 구체적으로, 제1 패턴 연산부(미 도시)는 그 휘도 블록(또는, 그 색차 블록)의 가상 블록패턴과 그 추측된 블록패턴을 배타적 논리합하여, 그 휘도 블록(또는, 그 색차 블록)의 실제 블록패턴을 연산할 수 있다.
반면, 제2 패턴 연산부(미 도시)는 '색차 블록(또는, 휘도 블록)의 위상과 동일한 위상을 갖는 휘도 블록(또는, 색차 블록)의 실제 블록패턴' 및 '그 색차 블록(또는, 그 휘도 블록)의 가상 블록패턴'을 이용하여 그 색차 블록(또는, 그 휘도 블록)의 실제 블록패턴을 연산한다.
구체적으로, 제2 패턴 연산부(미 도시)는 '색차 블록(또는, 휘도 블록)의 위상과 동일한 위상을 갖는 휘도 블록(또는, 색차 블록)의 실제 블록패턴' 및 '그 색차 블록(또는, 그 휘도 블록)의 가상 블록패턴'을 이용하여 그 색차 블록(또는, 그 휘도 블록)의 실제 블록패턴을 연산할 수 있다.
도 13은 본 발명에 의한 영상 부호화 방법을 설명하기 위한 제1 실시예의 플로우챠트로서, 실제 블록패턴을 그대로 압축하지 않고, 실제 블록패턴과 추측된 블록패턴을 이용하여 연산된 가상 블록패턴을 압축하는 단계들(제1310~ 1340 단계들)로 이루어질 수 있다.
추측부(520)는 블록의 상측 블록의 블록패턴이 그 블록의 좌상측 블록의 블록패턴과 일치하는지 판단한다(제1310 단계).
제1310 단계에서 일치한다고 판단되면, 연산부(530)는 '그 블록의 좌측 블록의 블록패턴'과 '그 블록의 실제 블록패턴'을 이용하여, 그 블록의 가상 블록패턴을 구한다(제1320 단계).
만일, 제1310 단계에서 일치하지 않는다고 판단되면, 연산부(530)는 '그 블록의 상측 블록의 블록패턴'과 '그 블록의 실제 블록패턴'을 이용하여, 그 블록의 가상 블록패턴을 구한다(제1330 단계).
제1320 단계 또는 제1330 단계 후에, 패턴 부호화부(540)는 제1320 단계 또는 제1330 단계에서 구해진 가상 블록패턴들을 엔트로피 부호화한다.
도 14는 본 발명에 의한 영상 복호화 방법을 설명하기 위한 제1 실시예의 플로우챠트로서, 주어진 가상 블록패턴과 추측된 블록패턴을 이용하여 실제 블록패턴을 복원하는 단계들(제1410~ 1430 단계들)로 이루어질 수 있다.
추측부(630)는 블록의 상측 블록의 블록패턴이 그 블록의 좌상측 블록의 블록패턴과 일치하는지 판단한다(제1410 단계).
제1410 단계에서 일치한다고 판단되면, 연산부(640)는 '그 블록의 좌측 블록의 블록패턴'과 '그 블록의 가상 블록패턴'을 이용하여, 그 블록의 실제 블록패턴을 구한다(제1420 단계).
제1410 단계에서 일치하지 않는다고 판단되면, 연산부(640)는 '그 블록의 상측 블록의 블록패턴'과 '그 블록의 가상 블록패턴'을 이용하여, 그 블록의 실제 블록패턴을 구한다(제1430 단계).
도 15는 본 발명에 의한 영상 부호화 방법을 설명하기 위한 제2 실시예의 플로우챠트로서, 색차 블록의 실제 블록패턴을 그대로 압축하지 않고, 색차 블록의 실제 블록패턴과 휘도 블록의 실제 블록패턴을 이용하여 연산된 가상 블록패턴을 압축하는 단계들(제1510~ 1540 단계들)로 이루어질 수 있다.
추측부(520)는 휘도 블록의 블록패턴을 그 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하고(제1510 단계), 제1 패턴 연산부(미 도시)는 '그 휘도 블록의 실제 블록패턴' 및 '제1510 단계에서 추측된 블록패턴'을 이용하여 그 휘도 블록의 가상 블록패턴을 구한다(제1520 단계).
제1520 단계 후에, 제2 패턴 연산부(미 도시)는 '색차 블록의 위상과 동일한 위상을 갖는 휘도 블록의 실제 블록패턴' 및 '그 색차 블록의 실제 블록패턴'을 이용하여 그 색차 블록의 가상 블록패턴을 구한다(제1530 단계).
제1530 단계 후에, 패턴 부호화부(540)는 제1520 단계에서 구해진 가상 블록패턴들과 제1530 단계에서 구해진 가상 블록패턴들을 엔트로피 부호화한다.
도 16은 본 발명에 의한 영상 복호화 방법을 설명하기 위한 제2 실시예의 플 로우챠트로서, 색차 블록의 주어진 가상 블록패턴과 휘도 블록의 실제 블록패턴을 이용하여 색차 블록의 실제 블록패턴을 복원하는 단계들(제1610~ 1630 단계들)로 이루어질 수 있다.
추측부(630)는 휘도 블록의 블록패턴을 그 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하고(제1610 단계), 제1 패턴 연산부(미 도시)는 '그 휘도 블록의 가상 블록패턴' 및 '제1610 단계에서 추측된 블록패턴'을 이용하여 그 휘도 블록의 실제 블록패턴을 구한다(제1620 단계).
제1620 단계 후에, 제2 패턴 연산부(미 도시)는 '색차 블록의 위상과 동일한 위상을 갖는 휘도 블록의 실제 블록패턴' 및 '그 색차 블록의 가상 블록패턴'을 이용하여 그 색차 블록의 실제 블록패턴을 구한다(제1630 단계).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브 (예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의 미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 엔트로피 부호화 및 복호화 장치와 방법은, 관심 블록의 CBP값을 주변 블록의 CBP값을 이용하여 예측하고, 그 예측된 CBP값과 실제 CBP값을 이용하여 코딩 CBP값을 연산하고 그 연산된 결과를 이용하여 엔트로피 부호화하고, 관심 블록의 CBP값을 주변 블록의 CBP값을 이용하여 예측하고, 그 예측된 CBP값과 입력된 코딩 CBP값을 이용하여 실제 CBP값을 생성함으로써 엔트로피 복호화하므로, 고 품질의 영상 데이터를 효율적으로 압축할 수 있는 효과를 갖는다.

Claims (22)

  1. 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 단계; 및
    상기 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 실제 블록패턴을 구하는 단계를 포함하고,
    상기 추측하는 단계는
    상기 블록의 상측 블록의 블록패턴이 상기 블록의 좌상측 블록의 블록패턴과 일치하는지 판단하는 단계; 및
    상기 판단 결과에 기초하여, 상기 블록의 좌측 블록의 블록패턴 또는 상기 블록의 상측 블록의 블록패턴을 상기 추측된 블록패턴으로서 결정하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  2. 제1 항에 있어서, 상기 결정하는 단계는
    상기 상측 및 좌상측 블록의 상기 블록패턴이 일치한다고 판단되면, 상기 블록의 좌측 블록의 블록패턴을 상기 추측된 블록패턴으로서 결정하는 것을 특징으로 하는 영상 복호화 방법.
  3. 제2 항에 있어서, 상기 결정하는 단계는
    상기 상측 및 좌상측 블록의 상기 블록패턴이 일치하지 않는다고 판단되면, 상기 블록의 상측 블록의 블록패턴을 상기 추측된 블록패턴으로서 결정하는 것을 특징으로 하는 영상 복호화 방법.
  4. 제1 항에 있어서, 상기 실제 블록패턴을 구하는 단계는
    상기 블록의 주어진 가상 블록패턴과 상기 추측된 블록패턴을 배타적 논리합(XOR)하여 상기 블록의 실제 블록패턴을 구하는 것을 특징으로 하는 영상 복호화 방법.
  5. (a) 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 단계;
    (b) 상기 휘도 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 실제 블록패턴을 구하는 단계; 및
    (c) 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 주어진 가상 블록패턴을 이용하여 상기 색차 블록의 실제 블록패턴을 구하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  6. 제5 항에 있어서, 상기 (b) 단계는, 상기 휘도 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 배타적 논리합(XOR)하여 상기 휘도 블록의 실제 블록패턴을 구하고,
    상기 (c) 단계는, 상기 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 주어진 가상 블록패턴을 배타적 논리합(XOR)하여 상기 색차 블록의 실제 블록패턴을 구하는 것을 특징으로 하는 영상 복호화 방법.
  7. 제5 항에 있어서, 상기 휘도 블록 및 상기 색차 블록의 포맷은 4:4:4 포맷인 것을 특징으로 하는 영상 복호화 방법.
  8. 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 단계;
    상기 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 가상 블록패턴을 구하는 단계; 및
    상기 구해진 가상 블록패턴을 부호화하는 단계를 포함하고,
    상기 추측하는 단계는
    상기 블록의 상측 블록의 블록패턴이 상기 블록의 좌상측 블록의 블록패턴과 일치하는지 판단하는 단계; 및
    상기 판단 결과에 기초하여, 상기 블록의 좌측 블록의 블록패턴 또는 상기 블록의 상측 블록의 블록패턴을 상기 추측된 블록패턴으로서 결정하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  9. 제8 항에 있어서, 상기 결정하는 단계는
    상기 상측 및 좌상측 블록의 상기 블록패턴이 일치한다고 판단되면, 상기 블록의 좌측 블록의 블록패턴을 상기 추측된 블록패턴으로서 결정하는 것을 특징으로 하는 영상 부호화 방법.
  10. 제9 항에 있어서, 상기 결정하는 단계는
    상기 상측 및 좌상측 블록의 상기 블록패턴이 일치하지 않는다고 판단되면, 상기 블록의 상측 블록의 블록패턴을 상기 추측된 블록패턴으로서 결정하는 것을 특징으로 하는 영상 부호화 방법.
  11. 제8 항에 있어서, 상기 가상 블록패턴을 구하는 단계는
    상기 블록의 실제 블록패턴과 상기 추측된 블록패턴을 배타적 논리합(XOR)하여 상기 블록의 가상 블록패턴을 구하는 것을 특징으로 하는 영상 부호화 방법.
  12. 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 단계;
    상기 휘도 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 가상 블록패턴을 구하는 단계;
    색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 실제 블록패턴을 이용하여 상기 색차 블록의 가상 블록패턴을 구하는 단계; 및
    상기 휘도 블록의 구해진 가상 블록패턴 및 상기 색차 블록의 구해진 가상 블록패턴을 부호화하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  13. 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부; 및
    상기 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 실제 블록패턴을 연산하는 연산부를 포함하고,
    상기 추측부는
    상기 블록의 상측 블록의 블록패턴이 상기 블록의 좌상측 블록의 블록패턴과 일치하는지 검사하는 비교부; 및
    상기 검사된 결과에 응답하여, 상기 블록의 좌측 블록의 블록패턴을 상기 추측된 블록패턴으로서 출력하는 추측패턴 출력부를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  14. 삭제
  15. 제13 항에 있어서, 상기 연산부는
    상기 블록의 주어진 가상 블록패턴과 상기 추측된 블록패턴을 배타적 논리합(XOR)하여 상기 블록의 실제 블록패턴을 연산하는 것을 특징으로 하는 영상 복호화 장치.
  16. 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부;
    상기 휘도 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 실제 블록패턴을 연산하는 제1 패턴 연산부; 및
    색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 주어진 가상 블록패턴을 이용하여 상기 색차 블록의 실제 블록패턴을 연산하는 제2 패턴 연산부를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  17. 제16 항에 있어서, 상기 제1 패턴 연산부는, 상기 휘도 블록의 주어진 가상 블록패턴 및 상기 추측된 블록패턴을 배타적 논리합(XOR)하여 상기 휘도 블록의 실제 블록패턴을 연산하고,
    상기 제2 패턴 연산부는, 상기 색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 주어진 가상 블록패턴을 배타적 논리합(XOR)하여 상기 색차 블록의 실제 블록패턴을 연산하는 것을 특징으로 하는 영상 복호화 장치.
  18. 제16 항에 있어서, 상기 휘도 블록 및 상기 색차 블록의 포맷은 4:4:4 포맷인 것을 특징으로 하는 영상 복호화 장치.
  19. 블록의 블록패턴을 상기 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부;
    상기 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 블록의 가상 블록패턴을 연산하는 연산부; 및
    상기 연산된 가상 블록패턴을 부호화하는 패턴 부호화부를 포함하고,
    상기 추측부는
    상기 블록의 상측 블록의 블록패턴이 상기 블록의 좌상측 블록의 블록패턴과 일치하는지 검사하는 비교부; 및
    상기 검사된 결과에 응답하여, 상기 블록의 좌측 블록의 블록패턴을 상기 추측된 블록패턴으로서 출력하는 추측패턴 출력부를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  20. 삭제
  21. 제19 항에 있어서, 상기 연산부는
    상기 블록의 실제 블록패턴과 상기 추측된 블록패턴을 배타적 논리합(XOR)하여 상기 블록의 가상 블록패턴을 연산하는 것을 특징으로 하는 영상 부호화 장치.
  22. 휘도 블록의 블록패턴을 상기 휘도 블록의 하나 이상의 주변 블록의 블록패턴을 이용하여 추측하는 추측부;
    상기 휘도 블록의 실제 블록패턴 및 상기 추측된 블록패턴을 이용하여 상기 휘도 블록의 가상 블록패턴을 연산하는 제1 패턴 연산부;
    색차 블록의 위상과 동일한 위상을 갖는 상기 휘도 블록의 실제 블록패턴 및 상기 색차 블록의 실제 블록패턴을 이용하여 상기 색차 블록의 가상 블록패턴을 연산하는 제2 패턴 연산부; 및
    상기 휘도 블록의 연산된 가상 블록패턴 및 상기 색차 블록의 연산된 가상 블록패턴을 부호화하는 패턴 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치.
KR1020060066579A 2005-07-15 2006-07-14 영상 부호화 및 복호화 방법과 장치 KR101261525B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050064454 2005-07-15
KR1020050064454 2005-07-15

Publications (2)

Publication Number Publication Date
KR20070009487A KR20070009487A (ko) 2007-01-18
KR101261525B1 true KR101261525B1 (ko) 2013-05-06

Family

ID=37809066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060066579A KR101261525B1 (ko) 2005-07-15 2006-07-14 영상 부호화 및 복호화 방법과 장치

Country Status (3)

Country Link
US (1) US20070297517A1 (ko)
KR (1) KR101261525B1 (ko)
WO (1) WO2007027011A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781418B1 (en) * 2012-06-12 2017-10-03 Google Inc. Adaptive deadzone and rate-distortion skip in video processing
US9179155B1 (en) 2012-06-14 2015-11-03 Google Inc. Skipped macroblock video encoding enhancements
EP3398331A4 (en) * 2016-02-05 2019-04-10 Mediatek Inc. METHOD AND APPARATUS FOR MOTION COMPENSATION BASED ON BIDIRECTIONAL OPTICAL FLUSH TECHNOLOGIES FOR VIDEO CODING

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033583A1 (en) 1998-11-30 2000-06-08 Microsoft Corporation Efficient macroblock header coding for video compression
EP1156680A2 (en) 1997-12-31 2001-11-21 Microsoft Corporation Improved video coding using adaptive coding of block parameters for coded/uncoded blocks
JP2003324731A (ja) 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818532A (en) * 1996-05-03 1998-10-06 Lsi Logic Corporation Micro architecture of video core for MPEG-2 decoder
TWI273832B (en) * 2002-04-26 2007-02-11 Ntt Docomo Inc Image encoding device, image decoding device, image encoding method, image decoding method, image decoding program and image decoding program
US7269288B2 (en) * 2003-07-30 2007-09-11 Mediatek Inc. Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof
EP1534018B1 (en) * 2003-11-21 2008-11-12 Samsung Electronics Co., Ltd. Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1156680A2 (en) 1997-12-31 2001-11-21 Microsoft Corporation Improved video coding using adaptive coding of block parameters for coded/uncoded blocks
WO2000033583A1 (en) 1998-11-30 2000-06-08 Microsoft Corporation Efficient macroblock header coding for video compression
JP2003324731A (ja) 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム

Also Published As

Publication number Publication date
KR20070009487A (ko) 2007-01-18
WO2007027011A1 (en) 2007-03-08
US20070297517A1 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
KR102015374B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
KR101261526B1 (ko) 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
KR101311403B1 (ko) 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US9462279B2 (en) Image encoding/decoding method and device
KR101997604B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101256548B1 (ko) 영상 부호화 및 복호화 장치 및 그 방법
US8934541B2 (en) Method, medium, and apparatus encoding and/or decoding an image using the same coding mode across components
US9277240B2 (en) Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
KR101348365B1 (ko) 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
CN107396126B (zh) 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
EP2460355B1 (en) Method for decoding a stream of coded data representative of a sequence of images and method for coding a sequence of images
KR101442620B1 (ko) 영상 부호화 및 복호화 방법과 장치
KR20090097688A (ko) 영상의 인트라 예측 부호화/복호화 방법 및 장치
CN103782598A (zh) 用于无损编码的快速编码方法
EP2319241A2 (en) Skip modes for inter-layer residual video coding and decoding
KR20130011878A (ko) 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치
KR100949475B1 (ko) 스캔 패턴 결정 장치 및 이를 이용한 영상 데이터 부호화방법과 그 장치, 그리고, 이를 이용한 영상 데이터 복호화방법과 그 장치
KR20120015495A (ko) 필터링모드 생략가능한 영상 부호화/복호화 방법 및 장치
KR20170114598A (ko) 적응적 색상 순서에 따른 색상 성분 간 예측을 이용한 동영상 부호화 및 복호화 방법 및 장치
KR101261525B1 (ko) 영상 부호화 및 복호화 방법과 장치
WO2022130663A1 (ja) 復号装置、プログラム、及び復号方法
KR20170122351A (ko) 화면 내 예측 방향성에 따른 적응적 부호화 순서를 사용하는 비디오 코딩 방법 및 장치
KR101365566B1 (ko) 영상 부호화 및 복호화 방법과 장치
Zhang et al. Modified advanced image coding
KR101377136B1 (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
LAPS Lapse due to unpaid annual fee