KR20140049613A - 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents

참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20140049613A
KR20140049613A KR1020140038197A KR20140038197A KR20140049613A KR 20140049613 A KR20140049613 A KR 20140049613A KR 1020140038197 A KR1020140038197 A KR 1020140038197A KR 20140038197 A KR20140038197 A KR 20140038197A KR 20140049613 A KR20140049613 A KR 20140049613A
Authority
KR
South Korea
Prior art keywords
offset
reference frame
pixel
block
residual
Prior art date
Application number
KR1020140038197A
Other languages
English (en)
Other versions
KR101479525B1 (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 KR20140038197A priority Critical patent/KR101479525B1/ko
Publication of KR20140049613A publication Critical patent/KR20140049613A/ko
Application granted granted Critical
Publication of KR101479525B1 publication Critical patent/KR101479525B1/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Abstract

본 발명은 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명은 참조 프레임을 생성하는 장치에 있어서, 참조 프레임을 분수 화소 단위로 보간하는 보간부; 보간된 참조 프레임을 이용하여 현재 프레임의 블록 모드와 블록 모드에 따른 움직임 벡터를 결정하는 가상 부호화부; 블록 모드와 움직임 벡터를 이용하여 보간된 참조 프레임의 각 화소에 대한 오프셋을 산출하는 오프셋 산출부; 및 각 화소에 대한 오프셋을 보간된 참조 프레임의 각 화소에 가산하여 오프셋 보간 참조 프레임을 생성하는 오프셋 가산부를 포함하는 것을 특징으로 하는 참조 프레임 생성 장치를 제공한다.
본 발명에 의하면, 인터 예측을 위한 참조 프레임에 블록 모드에 따라 산출되는 오프셋을 가산하여 움직임 추정 및 보상에 이용되는 참조 프레임을 부호화될 현재 프레임과 유사해지도록 함으로써, 더욱 정확한 예측을 할 수 있고 그에 따라 부호화 효율 및 압축 효율을 향상시킬 수 있다.

Description

참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치{Reference Frame Creating Method and Apparatus and Video Encoding/Decoding Method and Apparatus Using Same}
본 발명은 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 참조 프레임을 보간하고 가공하여 원본 프레임과 더욱 유사하게 생성하고 그를 이용하여 움직임 추정 및 보상을 통한 인터 예측을 수행하여 영상을 효율적으로 부호화하고 복호화하는 방법 및 장치에 관한 것이다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 더욱 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced video Coding)이라 하며, MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동 발표되었다.
H.264/AVC(이하 'H.264'라 약칭함)에서는 인터 예측에 사용되는 참조 프레임을 보간하기 위해 6탭 필터와 평균값 필터를 사용하여 1/4 분수 화소 정밀도로 보간된 참조 프레임을 생성한다. 더욱 상세하게는, 1/2 분수 화소를 생성하기 위해 6탭 필터를 사용하며, 1/4 분수 화소를 생성하기 위해 평균값 필터를 사용한다.
H.264에서는 인터 예측을 수행할 때 전술한 바와 같이, 분수 화소 정밀도로 보간된 참조 프레임을 이용하여 1/4 분수 화소 정밀도로 움직임 예측과 보상을 수행하기 때문에, 정수 화소 정밀도를 갖는 참조 프레임만을 사용하는 이전의 방법에 비해 높은 압축 효율을 얻을 수 있다.
하지만, 전술한 H.264와 같은 기존의 압축 기술에서는 고정된 필터만을 이용한 참조 프레임을 보간하기 때문에, 조명의 변화나 페이드 인(Fade-in), 페이드 아웃(Fade-out)과 같이 밝기가 시간적으로 변화하는 영상을 부호화할 때, 휘도 신호의 변화를 고려하지 못하여 움직임 예측을 효과적으로 수행하지 못하는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 예측에 활용할 참조 프레임을 부호화될 현재 프레임과 유사해지도록 하여 더욱 정확한 예측을 할 수 있고 그에 따라 부호화 효율 및 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 참조 프레임을 생성하는 장치에 있어서, 참조 프레임을 분수 화소 단위로 보간하는 보간부; 보간된 참조 프레임을 이용하여 현재 프레임의 블록 모드와 블록 모드에 따른 움직임 벡터를 결정하는 가상 부호화부; 블록 모드와 움직임 벡터를 이용하여 보간된 참조 프레임의 각 화소에 대한 오프셋을 산출하는 오프셋 산출부; 및 각 화소에 대한 오프셋을 보간된 참조 프레임의 각 화소에 가산하여 오프셋 보간 참조 프레임을 생성하는 오프셋 가산부를 포함하는 것을 특징으로 하는 참조 프레임 생성 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 참조 프레임을 생성하는 방법에 있어서, 참조 프레임을 분수 화소 단위로 보간하는 보간 단계; 보간된 참조 프레임을 이용하여 현재 프레임의 블록 모드와 블록 모드에 따른 움직임 벡터를 결정하는 가상 부호화 단계; 블록 모드와 움직임 벡터를 이용하여 보간된 참조 프레임의 각 화소에 대한 오프셋을 산출하는 오프셋 산출 단계; 및 각 화소에 대한 오프셋을 보간된 참조 프레임의 각 화소에 가산하여 오프셋 보간 참조 프레임을 생성하는 오프셋 가산 단계를 포함하는 것을 특징으로 하는 참조 프레임 생성 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 분수 화소 단위로 보간된 참조 프레임에 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성하는 참조 프레임 생성부; 오프셋 보간 참조 프레임을 이용하여 생성한 현재 블록의 잔차 블록을 부호화하는 부호화부; 및 각 화소에 대한 오프셋을 부호화하고, 부호화된 잔차 블록과 부호화된 각 화소에 대한 오프셋을 포함하는 부호화 데이터를 생성하는 부호화 데이터 생성부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 분수 화소 단위로 보간된 참조 프레임에 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성하는 참조 프레임 생성 단계; 오프셋 보간 참조 프레임을 이용하여 생성한 현재 블록의 잔차 블록을 부호화하는 부호화 단계; 및 각 화소에 대한 오프셋을 부호화하고, 부호화된 잔차 블록과 부호화된 각 화소에 대한 오프셋을 포함하는 부호화 데이터를 생성하는 부호화 데이터 생성 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 부호화 데이터로부터 부호화된 각 화소에 대한 오프셋을 추출하고 복호화하여 각 화소에 대한 오프셋을 복원하는 오프셋 추출부; 분수 화소 단위로 보간된 참조 프레임에 추출된 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성하는 참조 프레임 생성부; 및 부호화 데이터에 포함된 부호화된 잔차 블록을 복호화하여 잔차 블록을 복원하고 오프셋 보간 참조 프레임을 이용하여 생성한 현재 블록의 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 복호화부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 부호화 데이터로부터 부호화된 각 화소에 대한 오프셋을 추출하고 복호화하여 각 화소에 대한 오프셋을 복원하는 오프셋 추출 단계; 분수 화소 단위로 보간된 참조 프레임에 추출된 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성하는 참조 프레임 생성 단계; 부호화 데이터에 포함된 부호화된 잔차 블록을 복호화하여 잔차 블록을 복원하는 복호화 단계; 및 오프셋 보간 참조 프레임을 이용하여 생성한 현재 블록의 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 참조 프레임의 화소들을 이용하여 분수 화소 단위로 보간된 화소들을 생성하는 보간 단계; 보간된 화소들에 오프셋을 가산하는 오프셋 가산 단계; 보간되어 오프셋이 가산된 화소들을 이용하여 현재 블록을 인터 예측 부호화하는 부호화 단계; 및 오프셋을 부호화하고 부호화된 오프셋 및 인터 예측 부호화된 현재 블록을 포함하는 부호화 데이터를 출력하는 부호화 데이터 출력 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 부호화 데이터로부터 부호화된 잔차 블록과 부호화된 오프셋을 추출하는 추출 단계; 부호화된 잔차 블록과 부호화된 오프셋을 복호화하여 잔차 블록과 오프셋을 복원하는 복호화 단계; 참조 프레임의 화소들을 이용하여 분수 화소 단위로 보간된 화소들을 생성하는 보간 단계; 보간된 화소들에 복원된 오프셋을 가산하는 오프셋 가산 단계; 및 보간되어 오프셋이 가산된 화소들을 이용하여 현재 블록을 인터 예측하여 생성한 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 복원 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 인터 예측을 위한 참조 프레임에 블록 모드에 따라 산출되는 오프셋을 가산하여 움직임 추정 및 보상에 이용되는 참조 프레임을 부호화될 현재 프레임과 유사해지도록 함으로써, 더욱 정확한 예측을 할 수 있고 그에 따라 부호화 효율 및 압축 효율을 향상시킬 수 있다.
도 1은 분수 화소 단위로 보간된 참조 프레임과 정수 화소의 화소 위치에 대한 관계를 나타낸 예시도,
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도,
도 3은 블록 모드에 따른 각 화소에 대한 오프셋을 나타낸 예시도,
도 4는 현재 프레임에 대해 결정되는 블록 모드를 나타낸 예시도,
도 5는 인터 16x16 모드에 따른 각 화소에 대한 오프셋을 1/4 분수 화소 단위로 보간된 참조 프레임에 가산하는 과정을 나타낸 예시도,
도 6은 1/4 분수 화소 단위로 보간된 참조 프레임의 일부 화소를 나타낸 예시도,
도 7은 1/4 분수 화소 단위로 보간된 참조 프레임의 일부 화소에 인터 16x16 모드에 따른 각 화소에 대한 오프셋을 가산한 결과는 나타낸 예시도,
도 8은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 9는 본 발명의 일 실시예에 따른 참조 프레임 생성 방법을 설명하기 위한 순서도,
도 10은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도,
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 분수 화소 단위로 보간된 참조 프레임과 정수 화소의 화소 위치에 대한 관계를 나타낸 예시도이다.
도 1을 참조하면, An, Bn, Cn, Dn, En, Fn는 정수 화소를 나타내며(단, n=1, 2, 3, 4, 5), b, h, j는 정수 화소를 6탭 필터링하여 생성한 1/2 분수 화소들이다. 6탭 필터링을 위한 6탭 필터의 계수는 (1, -5, 20, 20, -5, 1)/32이며, 수직 혹은 수평 방향으로 6개의 정수 화소에 6탭 필터를 적용하여 6탭 필터링함으로써 1/2 분수 화소를 생성한다. 예를 들어, 1/2 분수 화소 b는 수평 방향의 정수 화소인 C1, C2, C3, C4, C5, C6에 6탭 필터를 적용하여 얻을 수 있는데, 이를 수식으로 나타내면 수학식 1과 같이 나타낼 수 있다.
Figure pat00001
여기서, round()는 정수로의 반올림 연산을 나타낸다. b, h, j를 제외한 나머지 1/4 분수 화소들(a, c, d, e, f, g, i, k, l, m, n, o)은 정수 화소와 1/2 분수 화소를 평균값 필터링하여 생성된다. 예를 들어, 1/4 분수 화소 a는 정수 화소 C3과 1/2 분수 화소 b를 평균값 필터링함으로써 선형적으로 보간하여 생성된다. 이를 수식으로 나타내면, 수학식 2와 같이 나타낼 수 있다.
Figure pat00002
H.264와 같은 압축 기술에서는 전술한 바와 같이, 정수 화소들을 이용하여 1/2 분수 화소를 생성하고, 정수 화소와 1/2 분수 화소를 이용하여 1/4 분수 화소를 생성하는 과정을 거쳐, 도 1에 나타낸 바와 같은 1/4 분수 화소 단위로 보간된 참조 프레임을 생성하고, 보간된 참조 프레임을 이용하여 인터 예측을 위한 움직임 예측을 수행한다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(200)는 참조 프레임 생성부(210), 부호화부(220) 및 부호화 데이터 생성부(230)를 포함하여 구성될 수 있다. 이러한 영상 부호화 장치(200)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
참조 프레임 생성부(210)는 분수 화소 단위로 보간된 참조 프레임에 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성한다. 이러한 참조 프레임 생성부는 도시한 바와 같이, 영상 부호화 장치(200) 내에 하나의 구성 요소로서 구현될 수도 있지만, 독립적인 하나의 장치 즉, 본 발명의 일 실시예에 따른 참조 프레임 생성 장치로서 구현될 수도 있으며, 보간부(212), 가상 부호화부(214), 오프셋 산출부(216) 및 오프셋 가산부(218)를 포함하여 구성될 수 있다.
보간부(212)는 참조 프레임을 분수 화소 단위로 보간한다. 즉, 보간부(212)는 부호화부(220)로부터 출력되는 참조 프레임을, 도 1을 통해 전술한 바와 같이, 분수 화소 단위로 보간하여 보간된 참조 프레임을 출력한다. 이때, 보간부(212)는 참조 프레임을 보간할 때 1/2 분수 화소 단위로 보간할 수도 있고 1/4 분수 화소 단위로 보간할 수도 있다.
가상 부호화부(214)는 보간된 참조 프레임을 이용하여 현재 프레임의 블록 모드와 현재 프레임의 블록 모드에 따른 움직임 벡터를 결정한다. 즉, 가상 부호화부(214)는 보간부(212)로부터 출력되는 보간된 참조 프레임을 이용하여 현재 프레임의 블록 모드를 결정하고, 결정된 블록 모드에 따라 현재 부호화하고자 하는 현재 블록의 움직임을 추정하여 움직임 벡터를 결정한다. 여기서, 가상 부호화부(214)는 인터 예측 부호화를 수행하지만 부호화 데이터와 참조 프레임을 생성하여 출력하지는 않고, 현재 프레임의 블록 모드와 블록 모드에 따른 움직임 벡터만을 결정하여 출력할 수 있다.
또한, 가상 부호화부(214)는 율-왜곡 최적화(RDO: Rate-Distortion Optimization)를 이용하여 기 설정된 복수 개의 블록 모드 중에서 하나의 블록 모드를 결정함으로써, 현재 프레임의 블록 모드를 결정할 수 있다. 또한, 가상 부호화부(214)는 율-왜곡 최적화, 경계 화소 정합, 인접 화소 정합 등 다양한 방법을 이용하여 블록 모드에 따른 움직임 벡터를 결정할 수 있다. 여기서, 복수 개의 블록 모드는, H.264/AVC 표준에 따라, SKIP 모드, 인터 16x16 모드, 인터 16x8 모드, 인터 8x16 모드, 인터 8x8 모드, 인터 8x4 모드, 인터 4x8 모드, 인터 4x4 모드, 인트라 16x16 모드, 인터 4x4 모드 등이 될 수도 있지만, 반드시 이에 한정되지 않고 다양한 블록 모드일 수 있다.
오프셋 산출부(216)는 블록 모드와 움직임 벡터를 이용하여 보간된 참조 프레임의 각 화소에 대한 오프셋을 산출한다. 즉, 오프셋 산출부(216)는 가상 부호화부(216)로부터 출력되는 현재 프레임의 블록 모드와 현재 프레임의 블록 모드에 따른 움직임 벡터를 이용하여 보간부(212)로부터 출력되는 보간된 참조 프레임의 각 화소에 대한 오프셋을 산출한다.
여기서, 오프셋 산출부(216)는 블록 모드에 따른 블록의 각 화소의 화소값과 보간된 참조 프레임에서 블록의 움직임 벡터에 의해 지시되는 블록의 각 화소의 화소값의 차이를 각 화소에 대한 오프셋으로서 산출할 수 있다. 블록 모드에 따른 각 화소에 대한 오프셋을 예시적으로 나타낸 도 3을 참조하면, 보간부(212)에 의해 참조 프레임이 1/4 분수 화소 단위로 보간되는 경우, 보간된 참조 프레임은 3A와 같이 하나의 화소(I)마다 15 개의 분수 화소(a 내지 o)가 생성될 수 있다. 이때, 가상 부호화부(214)에 의해 결정된 현재 프레임의 블록 모드 중 하나의 블록 모드가 인터 16x16 모드라면, 인터 16x16 모드로 결정된 블록 모드에 따른 각 화소의 오프셋은, 인터 16x16 모드로 결정된 블록의 각 화소(하나의 정수 화소와 15 개의 분수 화소)의 화소값과 보간된 참조 프레임에서 인터 16x16 모드로 결정된 해당 블록의 움직임 벡터가 지시하는 블록의 각 화소(하나의 정수 화소와 15 개의 분수 화소)의 화소값의 차이가 될 수 있다. 인터 16x16 모드로 결정된 블록 모드에 따른 화소의 오프셋은 3B와 같이 나타낼 수 있다. 결정된 블록 모드가 인터 8x8 모드라면, 인터 8x8 모드로 결정된 블록 모드에 따른 화소의 오프셋은 인터 16x16 모드의 경우와 동일한 방법으로 계산될 수 있으며, 3C와 같이 나타낼 수 있다. 이때, 각 화소에 대한 오프셋은, 전술한 바와 같이 보간된 참조 프레임의 각 화소에 대해 오프셋이 각각 산출될 수 있지만, 프레임 단위로 산출되거나 블록 단위로 산출될 수도 있다.
프레임 단위로 산출되는 경우, 각 화소에 대한 오프셋은 보간된 참조 프레임 내에서 대응하는 위치의 하나 이상의 화소에 대한 오프셋을 평균한 값일 수 있다. 예를 들어, 도 1에 나타낸 보간된 참조 프레임의 정수 화소 C3에 대한 오프셋은 보간된 참조 프레임 내의 각 정수 화소 A1 내지 A5, B1 내지 B6, C1, C2, C4 내지 C6, E1 내지 E6, F1 내지 F6에 대한 오프셋을 평균하여 구할 수 있으며, 이 경우 보간된 참조 프레임 내의 각 정수 화소에 대한 오프셋은 동일할 수 있다. 마찬가지로 도 1에 나타낸 보간된 참조 프레임의 분수 화소 a 내지 o에 대한 오프셋도 각 정수 화소로부터 보간되어 생성된 각 분수 화소에 대한 오프셋의 평균값으로 구할 수 있으며, 이 경우 보간된 참조 프레임 내의 각 분수 화소에 대한 오프셋은 그 위치에 따라 동일할 수 있다.
블록 단위로 산출되는 경우, 각 화소에 대한 오프셋은 보간된 참조 프레임의 블록 모드에 따른 블록 내에서 대응하는 위치의 하나 이상의 화소에 대한 오프셋을 평균한 값일 수 있다. 예를 들어, 도 1에 나타낸 보간된 참조 프레임의 정수 화소 C3이 다른 정수 C4 내지 C6, D3 내지 D6, E3 내지 E6, F3 내지 F6와 동일한 블록에 포함되어 있다고 가정하면, C3에 대한 오프셋은 해당 블록 내의 각 정수 화소 C4 내지 C6, D3 내지 D6, E3 내지 E6, F3 내지 F6에 대한 오프셋을 평균하여 구할 수 있으며, 이 경우 해당 블록 내의 각 정수 화소에 대한 오프셋은 동일할 수 있다. 마찬가지로 도 1에 나타낸 보간된 참조 프레임의 분수 화소 a 내지 o에 대한 오프셋도 해당 블록 내의 각 정수 화소로부터 보간되어 생성된 각 분수 화소에 대한 오프셋의 평균값으로 구할 수 있으며, 이 경우 해당 블록 내의 각 분수 화소에 대한 오프셋은 그 위치에 따라 동일할 수 있다.
따라서, 3B 및 3C에 나타낸 블록 모드에 따른 각 화소에 대한 오프셋은, 오프셋이 화소 단위, 블록 단위 및 프레임 단위 중 어느 단위로 산출되는지 여부에 따라, 보간된 참조 프레임의 각 화소에 대해 각각 산출되거나 보간된 참조 프레임 내의 각 화소에 대해 동일하게 산출되거나 보간된 참조 프레임의 블록 내의 각 화소에 대해 동일하게 산출될 수 있다.
또한, 오프셋 산출부(216)는 블록 모드별로 각 화소에 대한 오프셋을 산출하거나 블록 모드의 집합별로 각 화소에 대한 오프셋을 산출할 수 있다. 즉, 오프셋 산출부(216)는 블록 모드가 동일하더라도 블록 모드에 따라 결정되는 블록마다 각 화소에 대한 오프셋을 산출하거나 블록 모드가 동일한 블록들을 집합으로 선정하여 해당 블록들에 대해선 전술한 방식으로 각 화소에 대한 오프셋을 산출할 수 있다.
현재 프레임에 대해 결정되는 블록 모드를 예시적으로 나타낸 도 4를 참조하면, 가상 부호화부(214)는 보간된 참조 프레임을 이용하여 현재 프레임의 블록 모드를 36 개의 블록 모드로 결정할 수 있다. 도 4에서, 10 개의 A 블록(410)은 인터 16x16 모드로 결정된 블록을 나타내며, 10 개의 B 블록(420)은 인터 8x8 모드로 결정된 블록을 나타내며, 16 개의 C 블록(430)은 인터 4x4 모드로 결정된 블록을 나타낸다.
블록 모드별로 각 화소에 대한 오프셋을 산출하는 경우, 오프셋 산출부(216)는 36 개의 모든 블록 모드 각각에 대해 각 화소에 대한 오프셋을 산출하거나 동일한 블록 모드를 갖는 블록 모드별로 각 화소에 대한 오프셋을 산출할 수 있다. 즉, 오프셋 산출부(216)는 10 개의 인터 16x16 모드에 따른 각 화소에 대한 오프셋, 10 개의 인터 8x8 모드에 따른 각 화소에 대한 오프셋과 16 개의 인터 4x4 모드에 따른 각 화소에 대한 오프셋을 산출할 수도 있으며, 1 개의 인터 16x16 모드에 따른 각 화소에 대한 오프셋, 1 개의 인터 8x8 모드에 따른 각 화소에 대한 오프셋 및 1 개의 인터 4x4 모드에 따른 각 화소에 대한 오프셋을 포함하는 3 개의 블록 모드에 따른 각 화소에 대한 오프셋을 산출할 수도 있다.
블록 모드의 집합별로 각 화소에 대한 오프셋을 산출하는 경우, 오프셋 산출부(216)는 복수 개의 블록 모드를 임의의 집합으로 합쳐서 블록 모드의 집합을 선정하고, 선정된 블록 모드의 집합별로 각 화소에 대한 오프셋을 산출할 수 있다. 즉, 오프셋 산출부(216)는 인터 16x16 모드로 결정된 A 블록(410)들을 하나의 블록 모드의 집합(440)으로 선정하고 인터 8x8 모드로 결정된 B 블록(430)들과 인터 4x4 모드로 결정된 C 블록(450)들을 다른 블록 모드의 집합(450)으로 선정하여 각 블록 모드의 집합(440, 450)별로 각 화소에 대한 오프셋을 산출할 수 있다.
도 4에 나타낸 현재 프레임의 각 블록 모드(410 내지 430)와 블록 모드의 집합(440, 450)은 예시적으로 나타낸 것일 뿐, 이와 다른 다양한 방식으로 블록 모드 또는 블록 모드의 집합이 결정될 수 있다.
오프셋 가산부(218)는 각 화소에 대한 오프셋을 보간된 참조 프레임의 각 화소에 가산하여 오프셋 보간 참조 프레임을 생성한다. 즉, 오프셋 가산부(218)는 오프셋 산출부(216)로부터 출력되는 보간된 참조 프레임의 각 화소에 대한 오프셋을 보간부(212)로부터 출력되는 보간된 참조 프레임의 동일한 위치에 있는 각 화소에 가산하여 오프셋 보간 참조 프레임을 생성하여 출력한다.
인터 16x16 모드에 따른 각 화소에 대한 오프셋을 1/4 분수 화소 단위로 보간된 참조 프레임에 가산하는 과정을 예시적으로 나타낸 도 5를 참조하면, 오프셋 가산부(218)는 도 4에 나타낸 인터 16x16 모드로 결정된 A 블록(410)에 도 3의 3B에 나타낸 인터 16x16 모드에 따른 각 화소에 대한 오프셋을 가산하여 인터 16x16 모드를 위한 오프셋 보간 참조 프레임을 생성할 수 있다. 도 5에서는 설명의 편의를 위해, 인터 16x16 모드로 결정된 A 블록(410)의 16 개의 정수 화소와 각 정수 화소에 대한 15 개의 분수 화소만을 나타내었다.
예를 들어, 도 5에 도시한 참조 프레임에서 인터 16x16 모드로 결정된 A 블록(410)의 일부의 화소들(510, 520, 530)이 도 6에 도시한 바와 같다면, 도 6에 도시한 일부의 화소들(510, 520, 530)에 도 3의 3B에 나타낸 인터 16x16 모드에 따른 각 화소에 대한 오프셋을 가산하여, 도 7에 나타낸 바와 같이 오프셋 보간 참조 프레임의 각 화소(710, 720, 730)를 생성할 수 있다. 도 6에서, I1 내지 I3은 정수 화소를 나타내고 나머지 화소는 모두 분수 화소를 나타낸다. 도시한 바와 같이, 인터 16x16 모드로 결정된 A 블록(410)의 일부의 화소들(510, 520, 530)의 각 정수 화소에는 인터 16x16 모드에 따른 각 화소에 대한 오프셋 중 정수 화소에 대한 오프셋이 가산되고, 나머지 화소에는 동일한 위치의 나머지 화소에 대한 오프셋이 가산될 수 있다.
또한, 오프셋 가산부(218)는 블록 모드별로 오프셋 보간 참조 프레임을 생성할 수도 있고, 블록 모드의 집합별로 오프셋 보간 참조 프레임을 생성할 수도 있다. 즉, 오프셋 가산부(218)는 오프셋 산출부(216)로부터 출력되는 블록 모드에 따른 각 화소에 대한 오프셋을 이용하여 오프셋 보간 참조 프레임을 생성하는 데, 오프셋 산출부(216)에서 블록 모드별로 각 화소에 대한 오프셋을 산출한 경우, 블록 모드별로 블록 모드의 개수 또는 모든 블록 모드의 개수만큼 오프셋 보간 참조 프레임을 생성할 수 있으며, 오프셋 산출부(216)에서 블록 모드의 집합별로 각 화소에 대한 오프셋을 산출한 경우 블록 모드의 집합별로 블록 모드의 집합의 개수만큼 오프셋 보간 참조 프레임을 생성할 수 있다.
부호화부(220)는 오프셋 보간 참조 프레임을 이용하여 생성한 현재 블록의 잔차 블록을 부호화한다. 즉, 부호화부(220)는 참조 프레임 생성부(210)의 오프셋 가산부(218)로부터 출력되는 오프셋 보간 참조 프레임을 이용하여 현재 블록을 인터 예측 부호화하는데, 오프셋 보간 참조 프레임을 이용하여 현재 블록을 예측하여 생성한 예측 블록과 현재 블록을 감산하여 생성한 잔차 블록을 부호화한다.
이를 위해, 부호화부(220)는 현재 블록의 각 화소의 화소값(Pixel Value)을 예측하여 예측된 각 화소의 예측 화소값(Predicted Pixel Value)을 갖는 예측 블록(Predicted Block)을 생성할 수 있다. 부호화부(220)는 현재 블록의 각 화소의 화소값과 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔차 신호(Residual Signal)를 갖는 잔차 블록을 생성할 수 있다.
또한, 부호화부(220)는 잔차 블록을 변환 및 양자화하여 양자화된 잔차 블록을 출력할 수 있는데, 잔차 블록의 잔차 신호를 주파수 영역으로 변환하여 잔차 블록의 각 화소값을 주파수 계수로 변환하고, 주파수 계수를 갖는 잔차 블록을 양자화(Quantization)한다. 여기서, 부호화부(220)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반 변환(DCT based Transform: Discrete Cosine Transform Based Transform) 등과 같은 공간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다.
또한, 부호화부(220)는 변환된 잔차 블록을 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 또는 이를 개량한 양자화 기법 등을 사용하여 양자화할 수 있다. 한편, 부호화부(220)는 전술한 바와 같이, 잔차 블록을 변환하고 양자화할 수도 있지만, 잔차 블록의 잔차 신호를 변환하여 주파수 계수를 갖는 잔차 블록을 생성하고 양자화 과정을 수행하지 않을 수 있으며, 잔차 블록의 잔차 신호를 주파수 계수로 변환하지 않고 양자화 과정만을 수행할 수 있을 뿐만 아니라, 심지어는 변환과 양자화 과정을 모두 수행하지 않을 수 있다.
또한, 부호화부(220)는 잔차 블록의 양자화 주파수 계수, 주파수 계수 또는 잔차 신호를 지그재그 스캔과 같은 다양한 스캔 방식에 따라 스캔하여 양자화 주파수 계수열, 주파수 계수열 또는 신호열을 생성하고 엔트로피 부호화(Entropy Coding) 기법 등 다양한 부호화 기법을 이용하여 부호화할 수 있다.
또한, 부호화부(220)는 양자화된 잔차 블록을 역 양자화(Inverse Quantization)하고 역 변환(Inverse Transform)하여 잔차 블록을 복원할 수 있다. 즉, 부호화부(220)는 앙자화된 잔차 블록의 양자화 주파수 계수들을 역 양자화하여 주파수 계수를 갖는 잔차 블록을 생성하고, 역 양자화된 잔차 블록을 역 변환하여 화소값을 갖는 잔차 블록 즉, 복원된 잔차 블록을 생성한다. 여기서, 복호화부(220)는 전술한 변환 방식과 양자화 방식을 역으로 사용하여 역 변환 및 역 양자화할 수 있다. 또한, 부호화부(220)는 변환만을 수행하고 양자화를 수행하지 않은 경우, 역 변환만을 수행하고 역 양자화를 수행하지 않으며, 양자화만을 수행하고 변환을 수행하지 않은 경우에는 역 양자화만을 수행하고 역 변환을 수행하지 않을 수 있다. 만약, 부호화부(220)에서 변환 및 양자화를 모두 수행하지 않은 경우, 역 변환 및 역 양자화를 모두 수행하지 않을 수 있다.
또한, 부호화부(220)는 예측된 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원할 수 있으며, 복원된 현재 블록을 프레임 단위로 저장하여 참조 프레임을 출력할 수 있으며, 부호화부(220)는 블록 모드와 움직임 벡터를 부호화하여 출력할 수 있다.
부호화 데이터 생성부(230)는 참조 프레임의 각 화소에 대한 오프셋을 부호화하고, 부호화된 잔차 블록과 부호화된 각 화소에 대한 오프셋을 포함하는 부호화 데이터를 생성한다. 즉, 부호화 데이터 생성부(230)는 오프셋 산출부(216)로부터 출력되는 참조 프레임의 각 화소에 대한 오프셋을 부호화하고, 부호화부(220)로부터 출력되는 부호화된 잔차 블록과 부호화된 각 화소에 대한 오프셋을 포함하는 부호화 데이터를 생성하고 출력한다.
또한, 부호화 데이터 생성부(230)는, 참조 프레임의 각 화소에 대한 오프셋이 프레임 단위로 산출되는 경우, 부호화된 각 화소에 대한 오프셋을 부호화 데이터의 프레임 헤더 또는 슬라이스 헤더에 포함시킬 수 있으며, 참조 프레임의 각 화소에 대한 오프셋이 블록 단위로 산출되는 경우, 부호화된 각 화소에 대한 오프셋을 부호화 데이터의 블록 헤더에 포함시킬 수 있다. 부호화 데이터 생성부(230)는 부호화부(220)로부터 출력되는 부호화된 블록 모드와 부호화된 움직임 벡터를 부호화 데이터에 추가로 포함시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치(200)는 참조 프레임을 분수 화소 단위로 보간하고 보간된 참조 프레임에 참조 프레임의 각 화소에 대한 오프셋을 가산하여 오프셋 가산 참조 프레임을 생성한다(S810).
영상 부호화 장치(200)는 오프셋 가산 참조 프레임을 이용하여 현재 블록을 예측하여 현재 블록의 잔차 블록을 생성하고 부호화한다(S820). 즉, 영상 부호화 장치(200)는 통상적인 참조 프레임이나 보간된 참조 프레임이 아닌 보간된 참조 프레임에 참조 프레임의 각 화소에 대한 오프셋이 가산된 오프셋 가산 참조 프레임을 이용하여 현재 블록의 움직임을 추정 및 보상함으로써 예측한 예측 블록과 현재 블록을 감산하여 잔차 블록을 생성하고 부호화한다.
영상 부호화 장치(200)는 부호화된 잔차 블록과 부호화된 오프셋을 포함하는 부호화 데이터를 생성하고 출력한다(S830).
도 9는 본 발명의 일 실시예에 따른 참조 프레임 생성 방법을 설명하기 위한 순서도이다.
참조 프레임 생성부(210)는 이미 부호화되고 복호화됨으로써 복원되어 저장된 참조 프레임을 다양한 필터 등을 이용하여 분수 화소 단위로 보간하고(S910), 보간된 참조 프레임을 이용하여 부호화 과정을 수행하여 현재 프레임의 블록 모드와 블록 모드에 따른 움직임 벡터를 결정하며(S920), 각 블록 모드에 따른 참조 프레임의 각 화소에 대한 오프셋을 산출하여(S930), 산출된 각 블록 모드에 따른 참조 프레임의 각 화소에 대한 오프셋을 보간된 참조 프레임에 가산함으로써 오프셋 보간 참조 프레임을 생성한다(S940).
이상에서 전술한 바와 같이, 영상 부호화 장치(200)에 의해 부호화 데이터로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 후술할 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
도 10은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(1000)는 오프셋 추출부(1010), 참조 프레임 생성부(1020) 및 복호화부(1030)를 포함하여 구성될 수 있다. 이러한 영상 복호화 장치(1000)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
오프셋 추출부(1010)는 부호화 데이터로부터 부호화된 각 화소에 대한 오프셋을 추출하고 복호화하여 각 화소에 대한 오프셋을 복원한다. 여기서, 오프셋 추출부(1010)는 부호화된 각 화소에 대한 오프셋을 부호화 데이터의 프레임 헤더 또는 슬라이스 헤더로부터 추출하거나 부호화된 각 화소에 대한 오프셋을 부호화 데이터의 블록 헤더로부터 추출할 수 있다.
참조 프레임 생성부(1020)는 분수 화소 단위로 보간된 참조 프레임에 추출된 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성한다. 이를 위해, 참조 프레임 생성부(1020)는 도시한 바와 같이, 복호화부(1030)로부터 출력되는 참조 프레임을 분수 화소 단위로 보간하여 보간된 참조 프레임을 생성하고 출력하는 보간부(1022) 및 오프셋 추출부(1010)로부터 출력되는 각 화소에 대한 오프셋을 보간부(1022)로부터 출력되는 보간된 참조 프레임의 각 화소에 가산하여 오프셋 보간 참조 프레임을 생성하여 출력하는 오프셋 가산부(1024)를 포함하여 구성될 수 있다. 여기서, 보간부(1022)와 오프셋 가산부(1024)는 도 2를 통해 전술한 보간부(212)와 오프셋 가산부(218)와 동일 또는 유사한 방법으로 보간된 참조 프레임을 생성하고 참조 프레임에 각 화소에 대한 오프셋을 가산하므로 이에 대한 상세한 설명은 생략한다.
다만, 오프셋 추출부(1010)는 부호화 데이터로부터 블록 모드에 대한 정보를 추가로 추출하여 출력하거나 추출된 블록 모드에 대한 정보가 부호화되었다면 복호화하여 출력할 수 있는데, 오프셋 가산부(1024)는 오프셋 추출부(1010)로부터 출력되는 블록 모드에 대한 정보에 따른 블록 모드에 따라 보간된 참조 프레임에 각 화소에 대한 오프셋을 가산할 수 있다. 즉, 오프셋 가산부(1024)는 블록 모드별로 오프셋 보간 참조 프레임을 생성할 수 있으며, 블록 모드의 집합별로 오프셋 보간 참조 프레임을 생성할 수 있다. 이 경우, 블록 모드의 개수만큼 또는 블록 모드의 집합의 개수만큼 오프셋 보간 참조 프레임이 생성될 수 있다.
또한, 오프셋 가산부(1024)는, 오프셋 추출부(1010)가 프레임 헤더 또는 슬라이스 헤더로부터 부호화된 각 화소에 대한 오프셋을 추출한 경우, 복원된 각 화소에 대한 오프셋을 보간된 참조 프레임에 프레임 단위로 가산할 수 있으며, 오프셋 추출부(1010)가 블록 헤더로부터 부호화된 각 화소에 대한 오프셋을 추출한 경우, 추출된 각 화소에 대한 오프셋을 보간된 참조 프레임에 블록 단위로 가산할 수 있다.
복호화부(1030)는 부호화 데이터에 포함된 부호화된 잔차 블록을 복호화하여 잔차 블록을 복원하고 오프셋 보간 참조 프레임을 이용하여 생성한 현재 블록의 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 즉, 복호화부(1030)는 오프셋 추출부(1010)로부터 출력되는 (부호화된 각 화소에 대한 오프셋이 추출된) 부호화 데이터에 포함된 부호화된 잔차 블록을 복호화하여 잔차 블록을 복원하고, 참조 프레임 생성부(1020)로부터 출력되는 오프셋 보간 참조 프레임을 이용하여 현재 블록의 움직임을 보상하여 예측 블록을 생성하고 복원된 잔차 블록과 가산하여 현재 블록을 복원하고 출력한다. 이와 같이 출력되는 현재 블록은 프레임 단위로 저장되어 복원 영상으로서 출력되거나 참조 프레임을 출력될 수 있다.
여기서, 복호화부(1030)는 부호화된 잔차 블록을 복호화하는 데 있어서, 도 2를 통해 전술한 부호화부(220)가 잔차 블록을 부호화하는 부호화 기법을 이용할 수 있으며, 복호화된 잔차 블록을 복원하는 데 있어서, 역 양자화 및 역 변환 등이 수행될 수 있으며, 이는 도 2를 통해 전술한 부호화부(220)에서 수행하는 역 양자화 및 역 변환과 동일 또는 유사할 수 있고 본 발명의 기술분야에서 통상의 지식을 가진자라면 도 2를 통해 전술한 바로 복호화부(1030)를 구현할 수 있으므로, 이에 대한 상세한 설명은 생략한다.
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
유무선 통신망 또는 케이블 등을 통해 영상에 대한 부호화 데이터를 수신하여 저장한 영상 복호화 장치(1000)는 사용자의 선택 또는 실행 중인 다른 프로그램의 알고리즘에 따라 영상을 재생하기 위해, 영상을 복호화하여 복원한다.
이를 위해, 영상 복호화 장치(1000)는 부호화 데이터로부터 부호화된 각 화소에 대한 오프셋을 추출하고 복호화하여 각 화소에 대한 오프셋을 복원하고(S1110), 참조 프레임을 분수 화소 단위로 보간한 보간된 참조 프레임의 각 화소에 복원된 각 화소에 대한 오프셋을 가산하여 오프셋 보간 참조 프레임을 생성한다(S1120). 또한, 영상 복호화 장치(1000)는, 부호화 데이터에 포함된 부호화된 잔차 블록을 복호화하여 잔차 블록을 복원하며(S1130), 오프셋 보간 참조 프레임을 이용하여 현재 블록의 움직임을 보상함으로써 현재 블록의 예측 블록을 생성하며(S1140), 복원된 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원한다(S1150). 이와 같이 복원된 현재 블록을 프레임 단위로 누적되어 복원 영상으로서 출력된다.
이상에서는 본 발명의 일 실시예를 통해, 영상 부호화 장치(200)가 오프셋 보간 참조 프레임을 생성하는 것으로 설명했지만, 본 발명은 이러한 실시예에 반드시 한정되지 않으며, 후술하는 다른 실시예와 같이 참조 프레임을 화소 단위로 보간한 후 화소 단위로 오프셋을 산출하고 보간된 참조 프레임에 가산하여 인터 예측을 수행할 수 있다.
이러한 본 발명의 다른 실시예에 따른 영상 부호화 방법은 참조 프레임의 화소들을 이용하여 분수 화소 단위로 보간된 화소들을 생성하고, 보간된 화소들에 오프셋을 가산하며, 보간되어 오프셋이 가산된 화소들을 이용하여 현재 블록을 인터 예측 부호화를 수행하며, 오프셋을 부호화하고 부호화된 오프셋 및 인터 예측 부호화된 현재 블록을 포함하는 부호화 데이터를 출력함으로써, 영상을 부호화할 수 있다. 여기서, 오프셋은 현재 블록의 블록 모드에 따라 산출될 수 있으며, 정수 화소의 위치 또는 분수 화소의 위치에 따라 결정될 수 있다.
또한, 본 발명의 다른 실시예에 따른 영상 복호화 방법은, 부호화 데이터로부터 부호화된 잔차 블록과 부호화된 오프셋을 추출하고, 부호화된 잔차 블록과 부호화된 오프셋을 복호화하여 잔차 블록과 오프셋을 복원하며, 참조 프레임의 화소들을 이용하여 분수 화소 단위로 보간된 화소들을 생성하여, 보간된 화소들에 복원된 오프셋을 가산하며, 보간되어 오프셋이 가산된 화소들을 이용하여 현재 블록을 인터 예측하여 생성한 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원함으로써, 영상을 복호화할 수 있다. 여기서, 오프셋은 현재 블록의 블록 모드에 따라 산출될 수 있으며, 정수 화소의 위치 또는 분수 화소의 위치에 따라 결정될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 영상을 효율적으로 부호화하고 복호화하는 방법 및 장치와 관련된 분야에 적용되어, 인터 예측을 위한 참조 프레임에 블록 모드에 따라 산출되는 오프셋을 가산하여 움직임 추정 및 보상에 이용되는 참조 프레임을 부호화될 현재 프레임과 유사해지도록 함으로써, 더욱 정확한 예측을 할 수 있고 그에 따라 부호화 효율 및 압축 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.

Claims (7)

  1. 참조 프레임 보간에 의해 인터 예측을 수행하는 영상 복호화 방법에 있어서,
    부호화 데이터로부터 오프셋을 추출하는 단계;
    참조 프레임 내의 정소 화소에 대한 분수 단위 보간 및 상기 추출된 오프셋에 근거하여 예측 화소값들을 생성하는 단계;
    상기 부호화 데이터로부터 잔차 신호를 획득하는 단계;
    상기 잔차 신호를 복호화하여 잔차 화소값들을 복원하는 단계;
    서로 대응하는 상기 예측 화소값들과 상기 잔차 화소값들을 가산하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 잔차 화소값들을 복원하는 단계는,
    역양자화 및 역변환을 위한 조건을 식별하는 단계; 및
    상기 잔차 신호에 대한 역양자화 및 역변환을 모두 스킵하고 상기 잔차 신호로부터 직접 상기 잔차 화소값들을 복원하는 과정, 상기 잔차 신호를 역양자화하되 역변환을 스킵함으로써 상기 잔차 화소값들을 복원하는 과정, 및 상기 잔차 신호에 대한 역양자화 및 역변환을 모두 수행하여 상기 잔차 화소값들을 복원하는 과정 중 어느 하나의 과정을 상기 식별된 조건에 근거하여 선택적으로 수행하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  3. 제1항에 있어서,
    상기 오프셋은 상기 부호화 데이터의 슬라이스 헤더에 포함되는 것을 특징으로 하는 영상 복호화 방법.
  4. 제1항에 있어서,
    참조 프레임 내의 정소 화소를 1/4 분수 화소 단위로 보간하는 것을 특징으로 하는 영상 복호화 방법.
  5. 제1항에 있어서,
    상기 예측 화소값들을 생성하는 단계는,
    상기 참조 프레임 내의 상기 정수 화소에 대한 분수 단위 보간을 통해 제1예측 화소값들을 생성하는 단계; 및
    상기 제1예측 화소값들에 상기 오프셋을 적용하여 상기 예측 화소값들로 사용할 제2예측 화소값들을 생성하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  6. 제1항에 있어서,
    상기 참조 프레임 내의 정소 화소에 대한 분수 단위 보간은 움직임 벡터에 근거하여 수행되는 것을 특징으로 하는 영상 복호화 방법.
  7. 제1항에 있어서,
    상기 역양자화 및 역변환을 위한 조건은 상기 부호화 데이터에 포함된 정보에 근거하여 식별되는 것을 특징으로 하는 영상 복호화 방법.
KR20140038197A 2014-03-31 2014-03-31 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 KR101479525B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140038197A KR101479525B1 (ko) 2014-03-31 2014-03-31 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140038197A KR101479525B1 (ko) 2014-03-31 2014-03-31 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080101742A Division KR101441903B1 (ko) 2008-10-16 2008-10-16 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020140111756A Division KR101524664B1 (ko) 2014-08-26 2014-08-26 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140049613A true KR20140049613A (ko) 2014-04-25
KR101479525B1 KR101479525B1 (ko) 2015-01-09

Family

ID=50655082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140038197A KR101479525B1 (ko) 2014-03-31 2014-03-31 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101479525B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653132B2 (en) 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation
US8750387B2 (en) 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8804831B2 (en) 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution

Also Published As

Publication number Publication date
KR101479525B1 (ko) 2015-01-09

Similar Documents

Publication Publication Date Title
KR101441903B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101830352B1 (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
KR101377660B1 (ko) 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101444675B1 (ko) 영상 부호화 및 복호화 방법과 장치
US9124901B2 (en) Method and apparatus for encoding/decoding images considering low frequency components
KR101341993B1 (ko) 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치
KR101418104B1 (ko) 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101601813B1 (ko) 인터 예측을 이용한 영상 복호화 방법 및 장치
KR20120015495A (ko) 필터링모드 생략가능한 영상 부호화/복호화 방법 및 장치
KR20100019088A (ko) 인터 예측 장치 및 그를 이용한 영상 부호화/복호화 장치와방법
KR101524664B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101533435B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101533441B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101479525B1 (ko) 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101590493B1 (ko) 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
KR101575605B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101575635B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101379189B1 (ko) 움직임 보상 프레임의 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR101441889B1 (ko) 움직임벡터 부호화 및 복호화 장치와 방법
KR101693284B1 (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR101582504B1 (ko) 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
KR101575636B1 (ko) 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101575645B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101575616B1 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20120010738A (ko) 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20171204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 5