KR20080035904A - 영상 인코더 및 디코더에서의 색차 신호 보간 방법 - Google Patents

영상 인코더 및 디코더에서의 색차 신호 보간 방법 Download PDF

Info

Publication number
KR20080035904A
KR20080035904A KR1020060102539A KR20060102539A KR20080035904A KR 20080035904 A KR20080035904 A KR 20080035904A KR 1020060102539 A KR1020060102539 A KR 1020060102539A KR 20060102539 A KR20060102539 A KR 20060102539A KR 20080035904 A KR20080035904 A KR 20080035904A
Authority
KR
South Korea
Prior art keywords
subpixel
interpolation
decoder
motion vector
equation
Prior art date
Application number
KR1020060102539A
Other languages
English (en)
Other versions
KR100899730B1 (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 KR1020060102539A priority Critical patent/KR100899730B1/ko
Priority to US11/893,811 priority patent/US8189672B2/en
Priority to DE602007011378T priority patent/DE602007011378D1/de
Priority to EP07118863A priority patent/EP1919213B1/en
Publication of KR20080035904A publication Critical patent/KR20080035904A/ko
Application granted granted Critical
Publication of KR100899730B1 publication Critical patent/KR100899730B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation

Landscapes

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

Abstract

본 발명은 영상 인코더 및 디코더에서의 색차 신호 보간 방법에 관한 것으로, 영상 인코더 및 디코더에 있어서 복수개의 움직임 보상 블록에 대해서 정수배 화소 값을 로드하기 위해 메모리부로 엑세스하는 과정과, 움직임 블록에 대한 색차 신호의 부 화소 보간을 수행하기 위해 움직임 벡터의 위치를 탐색하는 과정 및 움직임 벡터가 움직임 블록에 대하여 1/4 위치의 화소를 나타내는 경우 로우 및 칼럼 단위로 쉬프팅에 의해서 1/4 부 화소 보간하는 과정을 포함하여 기존 H.264의 색차 신호 보간법에 비해서 곱하기 연산이 없고, 메모리 접근이 적어 빠른 연산을 수행할 수 있다.
H.264, MPEG, 부 화소, 보간, 색차, 블록, 움직임 벡터, 인코더, 디코더

Description

영상 인코더 및 디코더에서의 색차 신호 보간 방법{Method Chroma Interpolation of Image Encoder and Decoder}
도 1은 종래의 H.264 압축 코덱의 색차 신호 보간 방법을 설명하기 위한 예시도
도 2는 본 발명의 바람직한 실시 예에 따른 MPEG 디코더의 블록도
도 3은 본 발명의 바람직한 실시 예에 따른 MPEG 인코더의 블록도
도 4는 본 발명의 바람직한 실시 예에 따른 움직임 보상의 단위가 되는 움직임 보상 블록들을 보여주는 예시도
도 5는 본 발명의 바람직한 실시 예에 따른 보간부에서 수행되는 보간 방법의 흐름도
도 6은 본 발명의 바람직한 실시 예에 따른 움직임 보상 블록을 구성하는 화소들의 일부를 나타낸 예시도
도 7은 본 발명의 바람직한 실시 예에 따른 보간부에서 수행되는 보간 방법을 설명하기 위한 예시도
도 8은 본 발명의 바람직한 다른 실시 예에 따른 보간부에서 수행되는 보간 방법을 설명하기 위한 예시도
도 9는 본 발명의 바람직한 또 다른 실시 예에 따른 보간부에서 수행되는 보 간 방법을 설명하기 위한 예시도
* 주요 도면부호에 대한 설명 *
10 : 엔트로피 디코딩부 20 : 리오더링부
30 : 역-양자화부 40 : 역-이산 코사인 변환부
50 : 데이터 예측부 60 : 화면내 예측부
70 : 움직임 보상부 200 : MPEG 디코더
300 : MPEG 인코더 500 : 보간부
본 발명은 영상 인코더 및 디코더에서 최적화된 연산 및 메모리 접근으로 적은 전력 소모를 나타내면서도 효율적으로 동작할 수 있는 색차 신호 보간 방법에 관한 것이다.
영상의 압축은 MPEG, H.26x 등의 압축 표준이 있고, 이러한 영상 압축 기법은 비디오 플레이어, VOD, 영상 전화, DMB 등 많은 응용에 사용되고 있다. 또한 2.5G/3G 등의 무선 통신의 발달로 무선 모바일 환경(wireless mobile base)에서 영상 전송이 상업화되고 있다.
MPEG이나 H.26x 계열의 동영상 코덱(CODEC) 등 대부분의 동영상 압축 표준은 움직임 보상 기법(Motion Estimation & Compensation)과 변환(Transform)에 기반한 압축방식을 채택하고 있다. 이러한 움직임 보상 기반 부호화에서는 각 블록
(block)의 움직임 벡터(Motion Vector) 정보를 부호화해서 전송해야 하며, 움직임 벡터를 어떻게 부호화하느냐에 따라 압축 효율이 크게 달라지기도 한다.
최근 들어 ITU-T와 ISO가 공동 제정한 차세대 동영상 압축 표준 H.264는, 다양한 네트워크 환경에 쉽게 부응할 수 있는 유연성과 동영상의 부호화 효율성 측면에서 MPEG-2, MPEG-4(Part 2) 등 기존 기술표준들에 비해 많은 진보를 가져왔다.
영상을 부호화하는 일반적인 과정은 디지털 영상신호를 DCT(이산 코사인 변환) 처리하고, 변환계수를 양자화하여 가변길이 부호화(VLC)를 수행하는 한편, 양자화된 DCT 계수를 역양자화 및 역 DCT 변환하여 복원한 영상을 메모리에 저장하고, 메모리에 저장된 복원 영상과 다음 프레임 영상을 이용해서 움직임 벡터를 산출하며, 움직임 벡터를 가변길이 부호화하여 상기 부호화된 영상정보와 함께 비트 스트림으로 구성하여 전송하는 수순을 따른다. 영상을 복호화(디코딩)하는 방법은 상기 부호화 과정의 역순으로 수행한다.
이와 같이 영상을 압축 부호화하는 방법은 공간 중복성 및/또는 시간 중복성을 이용해서 이루어진다. 시간 중복성에 기반 한 동영상 코덱(CODEC)의 경우 이전 프레임과의 시간적 중복성을 매크로 블록의 움직임 벡터를 이용함으로써 효율적으로 제거할 수 있었다. 예를 들면, 현재 프레임(current frame)의 매크로 블록과 가장 유사한 매크로 블록을 이전(참조) 프레임(reference frame)에서 찾게 되는데,
현재 프레임의 매크로 블록과 이전 프레임의 매크로 블록간의 유사성의 기준 으로 두 벡터 사이의 거리의 제곱이 최소가 되는 매크로 블록을 찾음으로써 프레임 간의 중복성을 효율적으로 제거하여 압축 효율을 높이는 것이다.
도 1은 종래의 H.264 압축 코덱의 색차 신호 보간 방법을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 1/8 보간을 사용하는 H.264의 색차 신호 부 화소 보간법은 단순히 Motion Vector (MV)가 가르키는 곳에 인접한 정수배 위치의 화소 (Integer Pixel) 값을 이용한다. 즉, 네개의 인접 정수배 화소 값들을 이용한 보간법을 이용하는데, 수학식 1은 다음과 같다.
Pred_Pixel = ((8 - xFrac)*(8 - yFrac)*A + xFrac*(8 - yFrac)*B + (8 - xFrac)*yFrac*C + xFrac*yFrac*D + 32) >> 6
위와 같은 방법을 이용하면 주변 정수배 화소를 이용하여 높은 성능의 보간이 가능하다는 장점이 있으나, 1/8 위치의 부 화소 값을 한가지의 수식만을 이용하여 구할 수 있다는 단점이 있다.
기본적으로 H.264의 휘도(Luma) 신호 보간법은 1/4 부 화소 연산을 수행하며 이에 따라 색차 신호 보간법은 1/8 보간을 사용한다. 1/8 부 화소를 사용하는 이 색차 신호 보간법은 주변 4개의 정수배 화소만을 이용하여 높은 정확성을 나타기 위해서 개발되었다. 하지만 수식 상 여러 번의 곱하기 연산과 비효율적인 메모리 접근을 요구하여 전체 연산 량을 증가시킨다는 단점이 있다. 결국, H.264의 색차 신호 보간법에 대해 새로운 연산 방법이 요구되며, 특히 메모리 접근 횟수를 줄이 는 방법이 필요하며, H.264 비디오 부호기 및 복호기의 계산 특성을 분석함으로써, 보다 적은 크기를 가지고 효율적인 연산을 수행할 수 있는 방안이 모색되어야 한다.
본 발명의 목적은 최적화된 연산 및 메모리 접근을 나타내는 새로운 색차 신호 보간법을 제시하여 적은 전력 소모를 나타내면서도 효율적으로 동작하는 코덱을 제공하는데 있다.
상기한 목적을 달성하기 위한 본 발명은 영상 인코더 및 디코더에 있어서, 복수개의 움직임 보상 블록에 대해서 정수배 화소 값을 로드하기 위해 메모리부로 엑세스하는 과정과, 상기 블록에 대한 색차 신호의 부 화소 보간을 수행하기 위해 움직임 벡터의 위치를 탐색하는 과정 및 상기 움직임 벡터가 상기 블록에 대하여 1/4 위치의 화소를 나타내는 경우 로우 및 칼럼 단위로 쉬프팅에 의해서 1/4 부 화소 보간하는 과정을 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다. 도면에서 동일한 구성요소들에 대해서는 비록 다른 도면에 표시되더라도 가능한 한 동일한 참조번호 및 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.
도 2는 본 발명의 바람직한 실시 예에 따른 MPEG 디코더(200)의 블록도이고, 도 3은 본 발명의 바람직한 실시 예에 따른 MPEG 인코더(300)의 블록도이다.
도 2 및 도 3에 도시된 바와 같이, MPEG 디코더(200) 및 인코더(300) 회로는 모두 H.264 표준을 따르는 회로로서, 동일한 구성요소에 대해서는 각각 동일한 참조번호가 부가되었다. 특히, 참조번호 100으로 표시된 영역은 H.264 표준에 따라 디코더(200) 및 인코더(300) 모두에 공통으로 포함된다. 따라서, 본 발명에서는 중복되는 설명을 피하고, 설명을 간단히 하기 위해, MPEG 디코더(200)에 대한 회로 구성을 예를 들어 설명한다.
도 2를 참조하면, MPEG 디코더(200)는 압축된 비트스트림인 NAL(Network Abstraction Layer)을 받아들여 엔트로피 디코딩을 수행하는 엔트로피 디코딩부(entropy decoding unit ; 10)와, 상기 데이터를 그룹으로 재배열하는 리오더링부(reordering nit ; 20)와, 리오더링부(20)로부터 출력된 데이터를 역-양자화하는 역-양자화부(inverse quantization unit ;30)와, 역-양자화된 데이터에 대해 역-이산 코사인 변환을 수행하는 역-이산 코사인 변환부(inverse discrete cosine transform(IDCT) unit ; 40)와, 화면내 예측 또는 화면간 예측을 수행하고 보상하는 화면내/화면간 데이터 예측부(intra/inter data prediction unit ; 50), 그리고 역-양자화 과정에서 발생된 오류를 제거하는 인-루프 디블로킹 필터(in-loop deblocking filter ; 90)를 포함한다. 화면내/화면간 데이터 예측부(50)는 화면내 예측을 수행하는 화면내 예측부(60)와, 화면간 예측을 수행하는 움직임 보상부(70)를 포함한다. 그리고, 움직임 보상부(70)는 보다 정밀한 움직임 보상을 수행하기 위해 영상을 보간해 주는 보간부(500)를 포함한다.
여기서, 도 2 및 도 3에 도시된 디코더(200) 및 인코더(300) 회로는 각각 H.264 표준을 따르기 때문에, 상기 보간부(500)는 1/4 보간을 수행하게 된다.
특히 상기 보간부(500)에서 수행되는 1/4 보간 과정은 엔트로피 디코딩부(10)로부터 제공되는 움직임 벡터(X_Frac, Y_Frac)에 응답해서 선택적으로 수행된다. 그리고, 상기 보간부(500)에서 수행되는 보간 과정은 외부 메모리부의 레지스터(도시하지 않음)에 저장된 데이터를 단순히 로우(Row) 및 칼럼(Column)단위로 쉬프팅함에 의해서 구해지게 되므로, 계산이 빠르게 수행된다. 또한, 다양한 크기를 갖는 모든 서브-매크로 블록에 적용할 수 있는 최소한의 레지스터가 구비되므로, 보간부(500)의 전체 구조가 간단해 진다. 보간부(500)의 상세 구성을 살펴보기에 앞서, 디코딩된 영상에 대한 보간 동작 및 보간 결과를 살펴보면 다음과 같다.
도 4는 본 발명의 바람직한 실시 예에 따른 움직임 보상의 단위가 되는 움직임 보상 블록들을 보여주는 예시도이다.
도 4를 참조하면, 메모리부는 복수개의 움직임 보상 블록들로 구성된다. 움직임 보상 블록은 본 실시예에 따른 16ㅧ16 매크로 블록(MB)은 물론, 매크로 블록을 수평 방향으로 이분할하여 얻어진 16ㅧ8 참조 블록, 매크로 블록을 수직 방향으로 이분할하여 얻어진 8ㅧ16 블록, 매크로 블록을 수평 및 수직 방향으로 각각 이분할하여 얻어진 8ㅧ8 블록, 이를 다시 수평 또는 수직 방향으로 이분할하여 얻어 진 8ㅧ4 블록 또는 4ㅧ8 블록, 수평 및 수직 방향으로 각각 이분할하여 얻어진 4ㅧ4 블록을 포함한다.
도 5는 본 발명의 바람직한 실시 예에 따른 보간부에서 수행되는 보간 방법의 흐름도이다.
보간부는 다양한 크기를 갖는 복수개의 움직임 보상 블록에 대해서 메모리부로 엑세스한 해당 블록의 정수배 화소 값과 엔트로피 디코딩부(10)로부터 제공되는 움직임 벡터(X_Frac, Y_Frac)가 가리키는 영역의 인접한 화소 값을 필요로 한다. 즉, 해당 블록에 대한 부 화소 보간을 하기 위해서는 해당 블록의 색차 신호에 대한 정수배 화소 값을 로드하기 위해 메모리부로 엑세스하게 된다(S500).
보간부는 해당 블록에 대한 색차 신호의 부 화소 보간을 수행하기 위해 엔트로피 디코딩부(10)로부터 제공되는 움직임 벡터(X_Frac, Y_Frac)의 위치를 탐색한다(S510). 이 때, 만일 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)가 1/4 위치의 화소 값 자체를 나타내는 경우, 1/4 보간부(580)는 1/4 보간 결과를 그대로 출력하게 된다. 그리고, 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)가 1/8 위치의 화소를 나타내는 경우, 보간부는 기본적으로 H.264 표준을 따르기 때문에 수학식 2와 같이 1/8 위치의 화소 값을 2로 나누어서 반올림하여 1/4 위치의 화소로 변환한다(S520).
1/4 MV = (1/8 MV + 1)>>1
여기서 ">>"는 오른쪽 방향 Bit-Shift를 의미 한다.
보간부는 해당 블록에 대한 1/4 보간을 수행하기 위해서는 먼저, 부 화소 위치의 화소 값을 생성해야 하며, 부 화소 위치 별로 최적화된 별도의 계산식을 사용하여 보간된 색차 신호의 부 화소 값을 획득하게 된다.
도 6은 본 발명의 바람직한 실시 예에 따른 움직임 보상 블록을 구성하는 화소들의 일부를 나타낸 예시도이다.
도 6에 도시된 바와 같이, 보간부에서 1/4 부 화소 보간을 수행할 화소 위치는 a, b, c, d, e, f, g, h, i, j, k, n, p, q, r 이다. 도 6에서 A, B, C, D 는 정수배 위치의 화소 값을 의미 한다. 즉 이 A, B, C, D 화소 값을 기반으로 보간을 이용하여 a ~ r 까지의 위치별 부 화소 값을 획득하게 된다.
특히 보간을 할 각 위치의 부 화소를 연속적으로 계산하는 방법과 인접한 부 화소 계산에 이용된 중간 결과 값을 다시 이용하는 방법을 사용한다. 다시 말해서 인접한 정수배 화소 6개를 이용해서 두개의 부 화소 값(a1, a2 ~ r1, r2)을 계산한다.
본 발명의 1/4 부 화소 보간은 복수개의 움직임 보상 블록에 대하여 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)의 위치에 따라 다음 방식 중 하나를 택하여 이루어 질 수 있다(S530).
도 7은 본 발명의 바람직한 실시 예에 따른 보간부에서 수행되는 보간 방법을 설명하기 위한 예시도이다.
도 7에 도시된 바와 같이, 보간부는 <방식 1>. 복수개의 움직임 보상 블록에 대하여 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)의 위치 에 따라 로우(Row)단위로 쉬프팅에 의해서 a, b, c, d, h, n 위치의 부 화소 값을 계산하는 것으로, 움직임 벡터(X_Frac, Y_Frac)가 가리키는 위치의 부 화소 값을 해당 블록에 인접한 정수배 위치의 화소 값을 이용하여 계산하며(S540), 여기서 b1, b2는 기존 b 위치의 부 화소 값이고, h1, h2는 기존 h 위치의 부 화소 값이다.
또한, 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)가 가리키는 위치의 인접한 부 화소 값과 해당 블록에 인접한 정수배 위치의 화소 값을 이용하여 계산하며, a1, a2는 도 6에 a 위치이다. 즉, 기존 a 위치의 부 화소 값이고, c1, c2는 기존 c 위치의 부 화소 값이다. 또한 d1, d2는 기존 d 위치의 부 화소 값이고, n1, n2는 기존 n 위치의 부 화소 값이다. 다음은 각 부 화소 값을 구하는 방법은 수학식 3과 같다.
b1 = (A + B + 1) >> 1, b2 = (B + C + 1) >> 1
h1 = (A + D + 1) >> 1, h2 = (B + E + 1) >> 1
a1 = (A + b1 + 1) >> 1, a2 = (B + b2 + 1) >> 1
c1 = (B + b1 + 1) >> 1, c2 = (C + b2 + 1) >> 1
d1 = (A + h1 + 1) >> 1, d2 = (B + h2 + 1) >> 1
n1 = (D + h1 + 1) >> 1, n2 = (E + h2 + 1) >> 1
여기서 ">>"는 오른쪽 방향 Bit-Shift를 의미 한다.
<방식 2>
보간부에서 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)의 위치에 따라 f, j, q 위치의 부 화소 값을 계산하는 것으로, 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)가 가리키는 위치의 인접한 부 화소 값과 해당 블록에 인접한 정수배 위치의 화소 값을 이용하여 계산하며(S550), f1, f2는 기존 f 위치의 부 화소 값이고, j1, j2는 기존 j 위치의 부 화소 값이고, q1, q2는 기존 q 위치의 부 화소 값이다. 각 부 화소 값을 구하는 방법은 수학식 4와 같다.
f1 = (A + h2 + 1) >> 1, f2 = (C + h2 + 1) >> 1
q1 = (D + h2 + 1) >> 1, q2 = (F + h2 + 1) >> 1
j1 = (A + E + 1) >> 1, j2 = (C + E + 1) >> 1
여기서 ">>"는 오른쪽 방향 Bit-Shift를 의미 한다.
도 8은 본 발명의 바람직한 다른 실시 예에 따른 보간부에서 수행되는 보간 방법을 설명하기 위한 예시도이다.
도 8에 도시된 바와 같이, 보간부는 <방식 3>. 복수개의 움직임 보상 블록에 대하여 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)의 위치에 따라 칼럼(Column)단위로 쉬프팅에 의해서 i, k 위치의 부 화소 값을 계산하는 것으로, 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)가 가리키는 위치의 인접한 부 화소 값과 해당 블록에 인접한 정수배 위치의 화소 값을 이용하여 계산하며(S560), i1, i2는 기존 i 위치의 부 화소 값이고, k1, k2는 기존 k 위치의 부 화소 값이다. 각 부 화소 값을 구하는 방법은 수학식 5와 같다.
i1 = (A + b2 + 1) >> 1, i2 = (E + b2 + 1) >> 1
k1 = (B + b2 + 1) >> 1, k2 = (F + b2 + 1) >> 1
여기서 ">>"는 오른쪽 방향 Bit-Shift를 의미 한다.
도 9는 본 발명의 바람직한 또 다른 실시 예에 따른 보간부에서 수행되는 보간 방법을 설명하기 위한 예시도이다.
도 9에 도시된 바와 같이, 보간부는 <방식 4>. 복수개의 움직임 보상 블록에 대하여 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)의 위치에 따라 로우(Row)단위로 쉬프팅에 의해서 e, g, p, r 위치의 부 화소 값을 계산하는 것으로, 엔트로피 디코딩부(10)로부터 제공된 움직임 벡터(X_Frac, Y_Frac)가 가리키는 위치의 인접한 부 화소 값과 해당 블록에 인접한 정수배 위치의 화소 값을 이용하여 계산하며(S570), e1, e2는 기존 e 위치의 부 화소 값이고, g1, g2는 기존 g 위치의 부 화소 값이고, p1, p2는 기존 p 위치의 부 화소 값이고, r1, r2는 기존 r 위치의 부 화소 값이다. 각 부 화소 값을 구하는 방법은 수학식 6과 같다.
e1 = (A + j1 + 1) >> 1, 여기서 j1 = (B + D + 1) >> 1
e2 = (B + j2 + 1) >> 1, 여기서 j2 = (C + E + 1) >> 1
g1 = (B + j1 + 1) >> 1, 여기서 j1 = (A + E + 1) >> 1
g2 = (C + j2 + 1) >> 1, 여기서 j2 = (B + F + 1) >> 1
p1 = (D + j1 + 1) >> 1, 여기서 j1 = (A + E + 1) >> 1
p2 = (E + j2 + 1) >> 1, 여기서 j2 = (B + F + 1) >> 1
r1 = (E + j1 + 1) >> 1, 여기서 j1 = (B + D + 1) >> 1
r2 = (F + j2 + 1) >> 1, 여기서 j2 = (C + E + 1) >> 1
여기서 ">>"는 오른쪽 방향 Bit-Shift를 의미 한다.
또한, 위 수식에서 주의해야 할 점은 각 위치별로 부 화소 값을 생성할 때 사용되는 j1, j2의 값을 구하는 방법이 다르다는 것이다.
앞에서 설명한 바와 같이, 본 발명에 따른 보간부(500)는 계산량이 많은 1/8 보간을 수행하지 않고, 1/4 보간 과정으로 구분하여 단계적으로 수행한다.
1/4 보간 과정은 움직임 벡터를 참조하여 선택적으로 수행하며, 1/4 보간 연산은 레지스터에 저장되어 있는 데이터를 단순히 로우(Row) 및 칼럼(Column)단위로 쉬프팅에 의해 수행되므로, 계산이 빠르게 수행될 수 있다. 그리고, 기존 H.264의 색차 신호 보간법에 비해서 곱하기 연산이 없고 메모리 접근량이 적어 빠른 연산을 수행하는데 효과적이다. 이 외에도, 보간을 위해 가변적인 매크로 블록들의 크기를 모두 지원하며, 모든 화소의 이동 방향으로 수행되기 때문에, 구조가 간단해 진다.
상기와 같이 본 발명의 실시 예에 따른 영상 인코더 및 디코더에서의 색차 신호 보간 방법이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 요지를 벗어나지 않고 다양한 실시예가 있을 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이 이루어진 본 발명은 새로운 색차 신호 보간법을 제안하며, 기존 H.264의 색차 신호 보간법에 비해서 곱하기 연산이 없고, 메모리 접근이 적어 빠른 연산을 수행할 수 있다.

Claims (8)

  1. 영상 인코더 및 디코더에 있어서,
    복수개의 움직임 보상 블록에 대해서 정수배 화소 값을 로드하기 위해 메모리부로 엑세스하는 과정과;
    상기 블록에 대한 색차 신호의 부 화소 보간을 수행하기 위해 움직임 벡터의 위치를 탐색하는 과정; 및
    상기 움직임 벡터가 상기 블록에 대하여 1/4 위치의 화소를 나타내는 경우 로우 및 칼럼 단위로 쉬프팅에 의해서 1/4 부 화소 보간하는 과정을 포함하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
  2. 제1항에 있어서, 상기 탐색 과정은 상기 움직임 벡터가 상기 블록에 대하여 1/8 위치의 화소를 나타내는 경우, 수학식 2와 같이 1/4 위치의 화소로 변환하여 1/4 부 화소 보간하는 과정을 더 포함하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
    [수학식 2]
    1/4 MV = (1/8 MV + 1)>>1
    여기서, ">>"는 오른쪽 방향 Bit-Shift
  3. 제1항 또는 제2항에 있어서, 상기 1/4 부 화소 보간은 상기 블록에 대하여 로우 단위로 쉬프팅에 의해서 상기 움직임 벡터가 가리키는 위치의 부 화소 값을 상기 위치의 인접한 부 화소 값과 해당 블록에 인접한 위치의 정수배 화소 값을 이용하여 계산하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
  4. 제3항에 있어서, 상기 움직임 벡터가 a, b, c, d, h, n 위치의 부 화소에 위치하는 경우 상기 부 화소 값을 수학식 3과 같이 계산하여 획득하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
    [수학식 3]
    b1 = (A + B + 1) >> 1, b2 = (B + C + 1) >> 1
    h1 = (A + D + 1) >> 1, h2 = (B + E + 1) >> 1
    a1 = (A + b1 + 1) >> 1, a2 = (B + b2 + 1) >> 1
    c1 = (B + b1 + 1) >> 1, c2 = (C + b2 + 1) >> 1
    d1 = (A + h1 + 1) >> 1, d2 = (B + h2 + 1) >> 1
    n1 = (D + h1 + 1) >> 1, n2 = (E + h2 + 1) >> 1
    여기서 ">>"는 오른쪽 방향 Bit-Shif
  5. 제4항에 있어서, 상기 움직임 벡터가 f, j, q 위치의 부 화소에 위치하는 경우 상기 부 화소 값을 수학식 4와 같이 계산하여 획득하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
    [수학식 4]
    f1 = (A + h2 + 1) >> 1, f2 = (C + h2 + 1) >> 1
    q1 = (D + h2 + 1) >> 1, q2 = (F + h2 + 1) >> 1
    j1 = (A + E + 1) >> 1, j2 = (C + E + 1) >> 1
    여기서 ">>"는 오른쪽 방향 Bit-Shift
  6. 제4항에 있어서, 상기 움직임 벡터가 e, g, p, r 위치의 부 화소에 위치하는 경우 상기 부 화소 값을 수학식 6과 같이 계산하여 획득하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
    [수학식 6]
    e1 = (A + j1 + 1) >> 1, 여기서 j1 = (B + D + 1) >> 1
    e2 = (B + j2 + 1) >> 1, 여기서 j2 = (C + E + 1) >> 1
    g1 = (B + j1 + 1) >> 1, 여기서 j1 = (A + E + 1) >> 1
    g2 = (C + j2 + 1) >> 1, 여기서 j2 = (B + F + 1) >> 1
    p1 = (D + j1 + 1) >> 1, 여기서 j1 = (A + E + 1) >> 1
    p2 = (E + j2 + 1) >> 1, 여기서 j2 = (B + F + 1) >> 1
    r1 = (E + j1 + 1) >> 1, 여기서 j1 = (B + D + 1) >> 1
    r2 = (F + j2 + 1) >> 1, 여기서 j2 = (C + E + 1) >> 1
    여기서 ">>"는 오른쪽 방향 Bit-Shift
  7. 제1항 또는 제2항에 있어서, 상기 1/4 부 화소 보간은 상기 블록에 대하여 칼럼 단위로 쉬프팅에 의해서 부 화소 값을 움직임 벡터가 가리키는 위치의 인접한 부 화소 값과 상기 블록에 인접한 정수배 위치의 화소 값을 이용하여 계산하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
  8. 제7항에 있어서, 상기 움직임 벡터가 I, k 위치의 부 화소에 위치하는 경우 상기 부 화소 값을 수학식 5와 같이 계산하여 획득하는 것을 특징으로 하는 영상 인코더 및 디코더에서의 색차 신호 보간 방법.
    [수학식 5]
    i1 = (A + b2 + 1) >> 1, i2 = (E + b2 + 1) >> 1
    k1 = (B + b2 + 1) >> 1, k2 = (F + b2 + 1) >> 1
    여기서 ">>"는 오른쪽 방향 Bit-Shift
KR1020060102539A 2006-10-20 2006-10-20 영상 인코더 및 디코더에서의 색차 신호 보간 방법 KR100899730B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020060102539A KR100899730B1 (ko) 2006-10-20 2006-10-20 영상 인코더 및 디코더에서의 색차 신호 보간 방법
US11/893,811 US8189672B2 (en) 2006-10-20 2007-08-17 Method for interpolating chrominance signal in video encoder and decoder
DE602007011378T DE602007011378D1 (de) 2006-10-20 2007-10-19 Verfahren zur Interpolation von Chrominanzsignalen in Videocodierern und Videodecodierern
EP07118863A EP1919213B1 (en) 2006-10-20 2007-10-19 Method for interpolating chrominance signal in video encoder and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060102539A KR100899730B1 (ko) 2006-10-20 2006-10-20 영상 인코더 및 디코더에서의 색차 신호 보간 방법

Publications (2)

Publication Number Publication Date
KR20080035904A true KR20080035904A (ko) 2008-04-24
KR100899730B1 KR100899730B1 (ko) 2009-05-27

Family

ID=39186164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060102539A KR100899730B1 (ko) 2006-10-20 2006-10-20 영상 인코더 및 디코더에서의 색차 신호 보간 방법

Country Status (4)

Country Link
US (1) US8189672B2 (ko)
EP (1) EP1919213B1 (ko)
KR (1) KR100899730B1 (ko)
DE (1) DE602007011378D1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968371B1 (ko) * 2008-04-25 2010-07-06 주식회사 코아로직 영상의 복호화 방법 및 장치
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
CN113099231B (zh) * 2021-03-23 2022-12-20 北京百度网讯科技有限公司 确定亚像素插值位置的方法、装置、电子设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3806211B2 (ja) 1997-01-08 2006-08-09 株式会社リコー 撮像信号処理方法及び撮像信号処理装置
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7116831B2 (en) 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US7349473B2 (en) * 2002-07-09 2008-03-25 Nokia Corporation Method and system for selecting interpolation filter type in video coding
KR20040106202A (ko) * 2003-06-11 2004-12-17 학교법인 대양학원 움직임 벡터 탐색 방법 및 그 장치
EP1617672A1 (en) * 2004-07-13 2006-01-18 Matsushita Electric Industrial Co., Ltd. Motion estimator/compensator including a 16-bit 1/8 pel interpolation filter
JP4612825B2 (ja) 2004-09-21 2011-01-12 キヤノン株式会社 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US7653132B2 (en) 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation

Also Published As

Publication number Publication date
KR100899730B1 (ko) 2009-05-27
EP1919213B1 (en) 2010-12-22
US8189672B2 (en) 2012-05-29
DE602007011378D1 (de) 2011-02-03
US20080095240A1 (en) 2008-04-24
EP1919213A1 (en) 2008-05-07

Similar Documents

Publication Publication Date Title
RU2513708C1 (ru) Способ и устройство для кодирования видео, и способ и устройство для декодирования видео
JP5197630B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
RU2544799C2 (ru) Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
KR101747122B1 (ko) 모션 보상 예측을 위한 방법 및 장치
KR101147744B1 (ko) 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr
KR20010082933A (ko) 움직임 벡터 메모리의 갱신방법 및 장치
JP7375224B2 (ja) 符号化・復号方法、装置及びそのデバイス
KR100827093B1 (ko) 영상 부호화 방법 및 장치
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
KR20080035794A (ko) 동영상 처리 장치에서 메모리 액세스 방법
KR100899730B1 (ko) 영상 인코더 및 디코더에서의 색차 신호 보간 방법
US9420308B2 (en) Scaled motion search section with parallel processing and method for use therewith
KR101691380B1 (ko) 시프팅 매트릭스를 이용한 dct 기반의 부화소 단위 움직임 예측 방법
JP4802928B2 (ja) 画像データ処理装置
KR100801974B1 (ko) 저비용 움직임 추정 장치 및 움직임 추정 방법
Corrêa et al. A High‐Throughput Hardware Architecture for the H. 264/AVC Half‐Pixel Motion Estimation Targeting High‐Definition Videos
KR101505815B1 (ko) 서브 픽셀 정밀도를 갖는 모션 추정 방법 및 장치, 이를 이용한 비디오 인코더
Wong et al. A hardware-oriented intra prediction scheme for high definition AVS encoder
Murmu Fast motion estimation algorithm in H. 264 standard
Silva Adaptive tiling algorithm based on highly correlated picture regions for the HEVC standard
KR20060080294A (ko) 화면내 예측에서의 예측값 계산 장치
Lin et al. Introduction to Video Coding and H. 264/AVC

Legal Events

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

Payment date: 20130429

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140429

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee