상기의 과제를 이루기 위하여, 본원 발명에 따른 동영상 부호화 방법은 현재 영상에 대해 이전 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 1차 에러 영상을 생성하는 단계와, 상기 생성된 현재 영상의 1차 에러 영상에 대해, 상기 이전 영상의 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 2차 에러 영상을 생성하는 단계를 포함하며, 상기 이전 영상의 에러 영상은 상기 이전 영상의 부호호시 움직임 예측 및 보상을 수행하여 얻어진 에러 영상이다.
상기 과제를 이루기 위해서는, 상기 1차 에러 영상을 생성하는 단계는 상기 생성된 1차 에러 영상에 대해 제1 부호화를 수행하는 단계와, 상기 부호화된 1차 에러 영상에 대해 상기 제1 부호화에 대응하는 제1 복호화를 수행하는 단계를 더 포함하며, 상기 2차 에러 영상을 생성하는 단계는 상기 제1 복호화가 수행된 상기 1차 에러 영상에 대해, 상기 이전 영상의 에러 영상을 참조하는 움직임 예측 및 보상을 수행하여 2차 에러 영상을 생성하는 단계를 더 포함하는 것이 바람직하다.
상기 과제를 이루기 위해서는, 상기 생성된 2차 에러 영상, 상기 1차 에러 영상 생성시 얻어진 제1 움직임 벡터, 상기 2차 에러 영상 생성시 얻어진 제2 움직임 벡터에 대해 엔트로피 부호화를 수행하는 단계를 더 포함하는 것이 바람직하다.
상기 과제를 이루기 위해서는, 상기 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 상기 1차 에러 영상, 또는 상기 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 상기 2차 에러 영상 생성시 얻어진 제2 움직임 벡터와 상기 2차 에러 영상에 대해 선택적으로 엔트로피 부호화를 수행하는 단계를 더 포함하는 것이 바람직하다.
상기 과제를 이루기 위해서는, 상기 선택적인 엔트로피 부호화는 상기 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 상기 1차 에러 영상의 데이터량 및 상기 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 상기 2차 에러 영상 생성시 얻어진 제2 움직임 벡터와 상기 2차 에러 영상의 데이터량에 기초하여 수행되는 것이 바람직하다.
상기 과제를 이루기 위하여, 본 발명에 따른 영상 부호화 장치는 현재 영상에 대해 이전 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 1차 에러 영상을 생성하는 1차 에러 영상 생성부와, 상기 생성된 현재 영상의 1차 에러 영상에 대해, 상기 이전 영상의 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 2차 에러 영상을 생성하는 2차 에러 영상 생성부를 포함하며, 상기 이전 영상의 에러 영상은 상기 이전 영상의 부호화시 움직임 예측 및 보상을 수행하여 얻어진 에러 영상이다.
상기 과제를 이루기 위하여, 본 발명에 따른 영상 복호화 방법은 엔트로피 복호화된 현재 영상의 2차 에러 영상에 움직임 예측 및 보상된 이전 영상의 에러 영상을 가산하여, 현재 영상의 1차 에러 영상을 복원하는 단계와, 상기 복원된 현재 영상의 1차 에러 영상에 움직임 예측 및 보상된 이전 영상을 가산하여 복원된 현재 영상을 생성하는 단계를 포함하며, 상기 1차 에러 영상은 현재 영상에 대해 이전 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상이며, 상기 2차 에러 영상은 상기 생성된 1차 에러 영상에 대해, 상기 이전 영상의 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상이다.
상기 과제를 이루기 위해서는, 상기 현재 영상의 1차 에러 영상을 생성하는 단계는, 상기 이전 영상의 1차 에러 영상을 엔트로피 복호화하는 단계와, 상기 엔트로피 복호화된 이전 영상의 1차 에러 영상에 대해 제1 복호화를 수행하는 단계와, 상기 제1 복호화가 수행된 이전 영상의 1차 에러 영상을 저장하는 단계와, 상기 엔트로피 복호화된 2차 에러 영상에 대해 제2 복호화를 수행하는 단계와, 상기 제2 복호화가 수행된 2차 에러 영상에, 상기 제1 복호화후 저장된 이전 영상의 에러 영상에 대해 움직임 예측 및 보상을 수행한 후, 가산하는 단계를 더 포함하는 것이 바람직하다.
상기의 과제를 이루기 위하여, 본원 발명에 따른 영상 복호화 장치는 엔트로피 복호화된 현재 영상의 2차 에러 영상에 움직임 예측 및 보상된 이전 영상의 에러 영상을 가산하여, 현재 영상의 1차 에러 영상을 복원하는 1차 에러 영상 복원부와, 상기 복원된 현재 영상의 1차 에러 영상에 움직임 예측 및 보상된 이전 영상을 가산하여 복원된 현재 영상을 생성하는 영상 복원부를 포함하며, 상기 1차 에러 영상은 현재 영상에 대해 이전 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상이며, 상기 2차 에러 영상은 상기 생성된 1차 에러 영상에 대해, 상기 이전 영상의 부호화시 움직임 예측 및 보상을 수행하여 얻어진 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상이다.
상기 과제는 또한 현재 영상에 대해 이전 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 1차 에러 영상을 생성하는 단계와, 상기 생성된 현재 영상의 1차 에러 영상에 대해, 상기 이전 영상의 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 2차 에러 영상을 생성하는 단계를 포함하며, 상기 이전 영상의 에러 영상은 상기 이전 영상의 부호화시 움직임 예측 및 보상을 수행하여 얻어진 에러 영상인, 동영상 부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 의해서도 달성된다.
상기 과제는 또한, 엔트로피 복호화된 현재 영상의 2차 에러 영상에 움직임 예측 및 보상된 이전 영상의 에러 영상을 가산하여, 현재 영상의 1차 에러 영상을 복원하는 단계와, 상기 복원된 현재 영상의 1차 에러 영상에 움직임 예측 및 보상된 이전 영상을 가산하여 복원된 현재 영상을 생성하는 단계를 포함하며, 상기 1차 에러 영상은 현재 영상에 대해 이전 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상이며, 상기 2차 에러 영상은 상기 생성된 1차 에러 영상에 대해, 상기 이전 영상의 부호화시 움직임 예측 및 보상을 수행하여 얻어진 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상인 동영상 복호화 방 법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 의해서도 달성된다.
상기 과제를 이루기 위해서는, 상기 부분 영상은 상기 영상의 블록의 경계에 해당하는 영상인 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 4는 본 발명에 따른 부호화 방법을 설명하기 위한 도면이다.
아래에서는, 설명의 용이성을 위해 도 4에 도시된 IPPP의 GOP 구조를 참조한다.
첫번째 I 프레임(프레임 1)에 대해서는 종래의 인트라 부호화가 수행된다. 뒤따르는 P 프레임 (프레임 2)에 대해서는 부호화 및 복호화가 수행된 I 프레임(프레임 1)을 참조하여 종래의 인터 부호화를 수행하여 인터 프레임 2을 얻는다.
그 다음, P 프레임 (프레임 3)에 대해서는 본 발명에 따른 부호화 방법이 적용된다. 우선, P 프레임 (프레임 3)에 대해 앞선 부호화 및 복호화가 수행된 P 프레임 (프레임 2)을 참조하여 인터 부호화를 수행하여 인터 프레임 3을 얻는다.
이후, 얻어진 인터 프레임 3에 대해, 앞선 P 프레임 (프레임 2)에 대해 인터 부호화를 수행하여 얻어진 인터 프레임 2를 참조하여 움직임 추정 및 보상을 수행하여 인터-인터 프레임 3을 얻는다. 즉, 인터 프레임 3의 각 매크로블록은 인터 프레임 2를 참조로 하여 한번 더 MC-DCT를 수행하는 것이다.
이와 같이, 프레임 3에 대해, 매크로 블록 단위로 2차에 걸쳐 MC-DCT를 수행 하고, 최종적으로 얻어진 인터-인터 프레임 3을 매크로블록 단위로 부호화하여 전송한다. 이때, 전송되는 최소한의 데이터는 최종적으로 얻어진 인터-인터 프레임 3의 에러 데이터와 인터 프레임 3을 얻을때의 움직임 벡터와 인터-인터 프레임 3을 얻을 때의 움직임 벡터이다.
한편, 경우에 따라서는, 최종적인 인터-인터 프레임 3은 두 개의 움직임 벡터가 필요하기 때문에, 인터 프레임 3을 부호화하여 전송할 때 보다 전송되는 정보량이 더 많을 수가 있다. 따라서, 부호화부에서 전송되는 정보량을 비교하고, 비교 결과에 따라 인터-인터 프레임 3에 대한 데이터 또는 인터 프레임 3에 대한 데이터 중 하나를 선택적으로 전송하고, 전송되는 데이터의 종류를 나타내는 모드 정보를 전송하도록 할 수 있다. 이러한 모드 정보는 매크로블록 단위로 생성 및 전송될 수 있다. 또한, 선택적으로 이러한 모드 정보는 다른 소정의 블록 크기 단위로 생성 및 전송될 수 있다.
선택적으로, 이 모드 정보는 비트 스트림에 추가되어 복호화부로 전송된다.
동일한 방식이 후속하는 P 프레임들 (프레임 4 및 5)에도 적용될 수 있다.
도 5는 본 발명에 따른 동영상 부호기를 도시하는 블록도이다.
본 발명에 따른 동영상 부호기는 감산부(510), 제1 부호화부(520), 제1 복호화부(530), 제1 가산부(512), 제1 프레임 메모리부(540), 제1 움직임 추정/보상부(542), 제2 프레임 메모리부(550), 제2 움직임 추정/보상부(552), 제2 부호화부(560), 제2 복호화부(570), 제2 가산부(514), 및 가변장 부호화부(580)를 포함한다. 제1 부호화부(520)는 제1 변환부(522) 및 제1 양자화부(524)를 포함하며, 제1 복호화부는 제1 역양자화부(532) 및 제1 역변환부(534)를 포함한다. 또한, 제2 부호화부(560)는 제2 변환부(562) 및 제2 양자화부(564)를 포함하며, 제2 복호화부(570)는 제2 역양자화부(572) 및 제2 역변환부(574)를 포함한다.
도 5의 감산부(510), 제1 변환부(520), 제2 변환부(522), 제1 역양자화부(530), 제1 역변환부(532), 제1 가산부(512), 제1 프레임 메모리부(540), 제1 움직임 추정/보상부(542)는 도 1에 도시된 종래의 동영상 부호화 장치의 대응 기능부와 동일한 기능을 수행하므로 상세한 설명은 생략한다. 예를 들어, 제1 변환부(520), 제2 변환부(522), 제1 역양자화부(530), 제1 역변환부(532) 등은 소정의 코덱, 예를 들어 MPEG 2, H.264, VC1, MPEG 4 등과 같은 코덱의 부호화기의 기능부들을 사용할 수 있다.
이하에서는, 입력 영상이 도 4에 도시된 IPPP 구조의 GOP 구조, 즉, 입력 영상이 I1, P2, P3, P4 ,P5인 경우를 예를 들어 설명한다.
I1 프레임의 경우, 종래의 인트라 부호화부(도시되지 않음)에 의해 인트라 부호화가 수행된 후, 차분 영상을 구하고, 제1 변환부(520) 및 제1 양자화부(522)에서 변환 및 양자화를 수행하여 Ie 1 영상을 생성한다. 생성된 Ie 1 영상에 대해 제1 역양자화부(530) 및 제1 역변환부(532)에서 역양자화 및 역변환을 수행하고, 제1 가산부(512)를 거쳐 복원된 I1 영상, 즉 Ir 1 영상을 생성하여 제1 프레임 메모리부 (540)에 저장한다. 한편, 인트라 부호화 결과 얻어진 Ie 1 영상은 가변 길이 부호화부(580)로 입력된다.
뒤따르는 P2 프레임 (프레임 2)은 제1 프레임 메모리부(540)에 저장된 부호화 및 복호화가 수행된 I 프레임, 즉 Ir 1 영상을 참조하여 움직임 추정 및 보상을 수행하여 에러 영상을 생성하고, 생성된 에러 영상에 대해 제1 변환부(520) 및 제1 양자화(530)에서의 영상 변환 및 양자화를 수행하여 Pe 2 영상을 생성한다. 생성된 Pe 2 영상에 대해 제1 역양자화부(530) 및 제1 역변환부(532)에서 역양자화 및 역변환을 수행하고, 제1 가산부(512)를 거쳐 복원된 P2 영상, 즉 Pr 2 영상을 생성하여 제1 프레임 메모리부(540)에 저장한다. 한편, 부호화 결과 얻어진 Pe 2 영상은 가변 길이 부호화부(580)로 입력된다. 인터 부호화 결과 얻어진 Pe 2 영상에 대해 제1 역양자화부(530) 및 제1 역변환부(532)에서 제1 역양자화 및 제1 역변환이 수행된 Pe' 2 영상은 제2 프레임 메모리부(550)에 저장된다.
그 다음, P3 프레임에 대해서는 본 발명에 따른 부호화 방법이 적용된다. 우선, 제1 움직임 추정/보상부(542)에서는 입력된 P3 프레임 및 제1 프레임 메모리 (540)에 저장된 Pr 2 영상을 참조하여 움직임 추정 및 보상을 수행하여 에러 영상을 생성하고, 생성된 에러 영상에 대해 제1 변환부(520) 및 제1 양자화(530)에서의 영상 변환 및 양자화를 수행하여 Pe 3 영상을 생성한다.
생성된 Pe 3 영상에 대해 제1 역양자화부(530) 및 제1 역변환부(532)에서 제1 역양자화 및 제1 역변환을 수행하여 Pe' 3 영상을 생성하고, 생성된 Pe' 3 영상은 제2 움직임 추정/보상부(552)로 입력된다.
제2 움직임 추정/보상 및 2차 에러 영상 생성부(552)에서는 입력된 Pe' 3 영상과 제2 프레임 메모리(550)에 저장된 이전 프레임의 Pe' 2 영상에 대해 움직임 추정/보상을 수행하여, 2차 에러 영상을 생성하고, 생성된 2차 에러 영상에 대해 제2 변환부(560) 및 제2 양자화(562)에서 제2 영상 변환 및 제2 양자화를 수행하여 제2 부호화된 2차 에러 영상, 즉 Pe'e 3 영상을 생성한다.
생성된 Pe'e 3 영상은 가변 길이 부호화부(580) 및 제2 역양자화부(570)로 입력된다.
가변 길이 부호화부(580)로 입력된 Pe'e 3 영상은 가변 길이 부호화후 제1 움 직임 추정/보상부(542)에서 얻어진 제1 움직임 벡터 및 제2 움직임 추정/보상부(552)에서 얻어진 제2 움직임 벡터와 함께 디코더 (도시되지 않음)로 전송된다.
한편, 제2 역양자화부(570)로 입력된 Pe'e 3 영상은 제2 역양자화부(570)에서의 제2 역양자화 및 제2 역변환부(572)에서의 제2 역변환을 거쳐 복원된 2차 에러 영상, 즉 Pe'e' 3 영상을 생성한다.
생성된 Pe'e' 3 영상은 제2 가산부(518)에서, 제2 움직임 추정/보상 및 2차 에러 영상 생성부(552)에서 입력된 참조 영상과 가산되어, 복원된 에러 영상, 즉 Pre' 3 영상을 생성하고, 생성된 Pre' 3 영상을 다음 프레임의 2차 에러 영상 생성을 위해 제2 프레임 메모리(550)에 저장한다. 또한, 생성된 Pre' 3 영상은 제1 가산부(512)로 입력되어, 다음 프레임의 제1 움직임 추정/보상을 위한 참조 영상, 즉 Pr 3를 생성하고, 생성된 참조 영상 Pr은 제1 프레임 메모리(540)에 저장된다.
이와 같이, 프레임 P3에 대해, 매크로 블록 단위로 2차에 걸쳐 MC-DCT를 수행, 즉 생성된 에러 영상들 간에 다시 한번 움직임 추정 및 보상을 수행함으로써 에러 영상에 남아있는 리던던시(redundancy)를 추가적으로 제거할 수 있다는 효과가 있다.
또한, 본 실시예에서는 2차 에러 영상, 즉 2차에 걸친 MC-DCT를 하여 생성된 에러 영상들을 이용하여 움직임 추정 및 보상을 수행함으로써 압축 효율을 개선하는 방식을 예를 들어 설명하였다. 하지만, 동일한 방식으로 3차 이상의 에러 영상에 대해 움직임 추정 및 보상을 수행하여 압축 효율을 개선하는 것도 가능하다.
도 6은 도 5에 도시된 부호화 장치에서 수행되는 부호화 방법을 설명하기 위한 흐름도이다. 이하에서는, 설명을 간단을 위해 도 5의 부호화 장치에서 수행되는 부호화 단계 중, 본 발명에 따른 부호화 방법이 적용되는 P3 프레임에 대한 부호화 과정에 대해서만 설명한다.
단계 620에서는 현재 영상(P3 프레임)에 대해 이전 영상(P2 프레임)을 참조하여 움직임 예측 및 보상을 수행하여 1차 에러 영상, 즉 Pe' 3를 생성한다. 도 5의 부호화 장치에 대해서는, 움직임 예측 및 보상을 수행하여 얻어진 에러 영상에 대해 제1 부호화 및 제2 복호화를 수행하여, 1차 에러 영상을 얻었지만, 선택적으로 제1 부호화 및 제2 복호화 과정을 생략하는 것도 가능하다.
단계 640에서는 단계 620에서 생성된 현재 영상의 1차 에러 영상에 대해, 상기 이전 영상(P2 프레임)의 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 2차 에러 영상, 즉 Pe'e' 3를 생성한다. 도 5의 부호화 장치에 대해서는, 움직임 예측 및 보상을 수행하여 얻어진 2차 에러 영상에 대해 제2 부호화 및 제2 복호화를 수행하여, 2차 에러 영상을 얻었지만, 선택적으로 제2 부호화 및 제2 복호화 과정을 생략하는 것도 가능하다. 여기에서, 이전 영상의 에러 영상은 상기 이전 영상(P2 프레임)에 대해 상기 이전 영상(P2 프레임)의 이전 영상(I1 프레임)을 참조하여 움직임 예측 및 보상을 수행하여 얻어진 에러 영상, 즉 Pe 2이다.
단계 660에서는 단계 640에서 얻어진 2차 에러 영상, 단계 620에서의 움직임 예측/보상시 얻어진 제1 움직임 벡터, 단계 640에서의 움직임 예측/보상시 얻어진상기 2차 에러 영상 생성시 얻어진 제2 움직임 벡터에 대해 엔트로피 부호화를 수행한다.
여기에서, 2차 에러 영상을 디코더로 전송하는 경우, 1차 에러 영상 생성시 얻어진 제1 움직임 벡터 및 2차 에러 영상 생성시 얻어진 제2 움직임 벡터 모두가 필요하기 때문에, 경우에 따라서는, 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 1차 에러 영상 만을 디코더로 전송하는 것이 압축 효율 면에서 보다 더 바람직할 수 있다.
따라서, 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 상기 1차 에러 영상의 데이터량 및 상기 1차 에러 영상 생성시 얻어진 제1 움직임 벡터와 상기 2차 에러 영상 생성시 얻어진 제2 움직임 벡터와 상기 2차 에러 영상의 데이터량을 비교하여, 압축 효율이 보다 나은 데이터만을 엔트로피 부호화하여 디코더로 전송하도록 하는 것도 가능하다. 이 경우, 어떤 데이터가 부호화되어 전송되는 지를 나타내는 모드 정보를 전송하는 것이 필요하다. 이에 대한, 실시예는 도 7을 참조하여 아래에서 설명한다.
도 7은 본 발명의 또 다른 실시예에 따른 부호화 장치를 도시하는 도면이다.
본 발명에 따른 동영상 부호기는 감산부(710), 제1 부호화부(720), 제1 복호화부(730), 제1 가산부(712), 제1 프레임 메모리부(740), 제1 움직임 추정/보상부(742), 제2 프레임 메모리부(750), 제2 움직임 추정/보상부(752), 제2 부호화부(760), 제2 복호화부(770), 제2 가산부(714), 가변장 부호화부(780), 및 모드 결정부(790)를 포함한다. 제1 부호화부(720)는 제1 변환부(722) 및 제2 변환부(724)를 포함하고, 제2 복호화부(730)는 제1 역양자화부(732) 및 제1 역변환부(734)를 포함하다. 또한, 제2 부호화부(760)는 제2 변환부(762) 및 제2 양자화부(764)를 포함하고, 제2 복호화부(770)는 제2 역양자화부(772) 및 제2 역변환부(774)를 포함한다.
모드 결정부(790)을 제외한 나머지 기능부는 도 5에 도시된 부호화 장치의 대응 기능부와 동일한 기능을 수행하므로 상세한 설명은 생략한다.
본 발명에 따른 모드 결정부(790)는 제1 움직임 추정/보상부(742) 및 제2 움직임 추정/보상 및 2차 에러 정보 생성부(752)로부터 입력된 제1 움직임 벡터, 제2 움직임 벡터, 제1 SAD(sum of absolute difference), 및 제2 SAD에 기초하여 입력된 영상 데이터에 대한 부호화 모드를 결정하고, 결정된 모드 정보를 가변장 부호화부(580)로 전송한다. 모드 결정부(790)에서는 상기 모드들 중 어떤 모드에 따른 데이터량이 최소가 되는지, 즉 압축율이 향상될 수 있는지에 따라 모드를 결정한다.
예를 들어, 제1 모드 정보는 비트스트림에 포함된 정보가 부호화된 1차 에러 정보 및 제1 움직임 벡터임을 나타낸다. 또한, 제2 모드 정보는 비트스트림에 포함된 정보가 부호화된 2차 에러 정보, 제1 움직임 벡터, 및 제2 움직임 벡터임을 나타낸다.
결국, 결정된 모드에 따라 매크로블록 별로 가변길이 부호화될 대상이 정해진다. 본 발명의 일 실시예로서, 모드 선택은 움직임 벡터의 비트 발생량과 SAD의 선형 조합(linear combination)을 측정자(measure)로 채택하여 이루어질 수 있다. 또 다른 실시예로는 SAD 대신 에러 정보에 대해 실제 가변장 부호화시의 비트 발생량을 사용할 수 있다.
도 8은 도 5의 부호화 장치에 대응하는 본 발명에 따른 복호화 장치를 도시하는 블록도이다.
본 발명에 따른 복호화 장치는 가변장 복호화부(810), 제1 복호화부(820), 제2 복호화부(830),제1 가산부(840), 제2 가산부(842), 제2 프레임 메모리부(850), 제2 움직임 보상부(852), 제1 프레임 메모리부(860), 및 제1 움직임 보상부(862)를 포함한다. 제1 복호화부(820)는 제1 역양자화부(822) 및 제2 역변환부(824)를 포함하고, 제2 복호화부(830)는 제2 역양자화부(832) 및 제2 역변환부(834)를 포함한다.
이하에서는, 입력 비트 스트림에 부호화된 영상이 I1, P2, P3, P4, P5인 경우를 예를 들어 설명한다.
우선, 가변 길이 복호화된 I1 프레임에 대해 제1 역양자화부(820) 및 제1 역 변환부(822)를 거쳐 복호화된 에러 영상을 생성하고, 종래의 인트라 복호화 과정을 통해 복원된 Ir 1 영상을 생성하고, 생성된 Ir 1 영상은 다음 프레임의 복호화를 위해 제1 프레임 메모리(860)에 저장된다.
다음으로, 가변 길이 복호화된 P2 프레임에 대해 제1 역양자화부(820) 및 제1 역변환부(822)를 거쳐 복호화된 에러 영상 Pe' 2를 생성한다. 생성된 에러 영상 Pe' 2는 다음 프레임의 복호화를 위해 제2 프레임 메모리(850)에 저장된다. 또한, 생성된 복호화된 에러 영상 Pe' 2과 제1 프레임 메모리(860)에 저장된 Ir 1 영상에 기초하여 복원된 Pr 2 영상을 생성하고, 생성된 Pr 2 영상은 다음 프레임의 복호화를 위해 제1 프레임 메모리(860)에 저장된다.
다음으로, 가변 길이 복호화된 P3 프레임에 대해서는 제2 역양자화부(830) 및 제2 역변환부(832)를 거쳐 복호화된 2차 에러 영상 Pe'e' 3를 생성한다. 한편, 가변 길이 복호화된 프레임에 대한 복호화를 제1 역양자화부 및 제1 역변환부에서 수행할 지, 또는 가변 길이 복호화된 프레임에 대한 복호화를 제2 역양자화부 및 제2 역변환부에서 수행할 지 여부는 비트 스트림을 가변 길이 복호화하여 얻어진 모드 정보에 따라 결정된다.
생성된 2차 에러 영상 Pe'e' 3과 제2 프레임 메모리(850)에 저장된 생성된 에러 영상 Pe' 2에 기초하여, 복원된 에러 영상 Pre' 3을 생성하고, 생성된 1차 에러 영상 Pe'r 3은 다음 프레임의 복호화를 위해 제2 프레임 메모리(850)에 저장된다. 또한, 생성된 복호화된 에러 영상 Pre' 3과 제1 프레임 메모리(860)에 저장된 Pr 2 영상에 기초하여 복원된 Pr 3 영상을 생성하고, 생성된 Pr 3 영상은 다음 프레임의 복호화를 위해 제1 프레임 메모리(860)에 저장된다.
다음 프레임들에 대해서도 I1, P2, 및 P3와 동일한 방식으로 복호화가 수행되므로 설명의 간단을 위해 상세한 설명은 생략한다.
도 9는 도 8에 도시된 본 발명에 따른 동영상 복호화 장치에서 수행되는 복호화 방법을 설명하기 위한 흐름도이다. 이하에서는, 설명을 간단을 위해 도 8의 부호화 장치에서 수행되는 복호화 단계 중, 본 발명에 따른 부호화 방법이 적용되는 P3 프레임에 대한 복호화 과정에 대해서만 설명한다.
단계 940에서는 엔트로피 복호화된 현재 영상(P3 프레임)의 2차 에러 영상에 움직임 예측 및 보상된 이전 영상(P2 프레임)의 에러 영상을 가산하여, 현재 영상의 1차 에러 영상을 복원한다. 여기에서, 복원된 1차 에러 영상은 부호화부에서 현재 영상(P3 프레임)에 대해 이전 영상(P2 프레임)을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상에 대응한다. 또한, 2차 에러 영상은 생성된 1차 에러 영상에 대해, 이전 영상(P2 프레임)의 에러 영상을 참조하여 움직임 예측 및 보상을 수행함으로써 생성된 영상이다. 도 8의 부호화 장치에 대해서는, 엔트로피 복호화를 수행하여 얻어진 에러 영상에 대해 복호화를 수행하여, 2차 에러 영상을 얻었지만, 선택적으로 복호화 과정을 생략하는 것도 가능하다.
단계 960에서는 단계 920에서 복원된 현재 영상(P3 프레임)의 1차 에러 영상에 움직임 예측 및 보상된 이전 영상(P2 프레임)을 가산하여 복원된 현재 영상을 생성한다.
선택적으로, 입력 비트스트림을 엔트로피 복호화하고, 모드 정보를 추출하고, 추출된 모드 정보에 기초하여, 복호화를 적응적으로 수행하도록 하는 단계 920을 더 포함하는 것도 가능하다.
한편, 유사한 방법을 B-프레임에 대해 적용하는 것도 가능하다. 현재 프레임과 인접한 프레임들의 에러 영상들 중 두 개의 에러 영상을 참조하여 현재 에러 프레임에 대해 움직임 추정 및 보상을 수행하여 2차 에러 영상을 구하는 것도 가능하다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.