이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 스케일러블 비디오 신호 코딩 방법이 적용되는 비디오 신호 인코딩 장치를 나타내는 블록도이다. 도 1의 장치는 2개의 층의 입력 비디오 신호를 코딩하도록 구현되지만, 이하 설명되는 본 발명의 원리는 비디오 신호가 3개 이상의 층에서 코딩될 때 적용될 수 있다. 본 발명은 또한 예로서 이하에서 설명되는 MCTF 방식에 한정되지 않고 임의의 스케일러블 비디오 코딩 방식에 적용될 수 있다.
도 1에 도시된 비디오 신호 인코딩 장치는 본 발명이 적용되는 MCTF 인코더(Enhanced Layer Encoder;100), 텍스쳐 코딩부(Texture Coding Unit;110), 움직임 코딩부(Motion Coding Unit;120), 베이스층 인코더(BL Encoder;150) 및 먹스(멀티플렉서)(Muxer;130)를 포함한다. MCTF 인코더(100)는 MCTF 방식에 따라 매크로블록당 입력 비디오 신호를 인코딩하고 적절한 관리 정보를 발생시키는 인핸스드층 인코더이다. 텍스쳐 코딩부(11)는 인코딩된 매크로블록의 정보를 압축 비트스트림으로 변환한다. 움직임 코딩부(120)는 MCTF 인코더(100)에 의해 얻어진 이미지 블록의 움직임 벡터를 특정 방식에 따른 압축 비트스트림으로 변환한다. 베이스층 인코더(150)는, 특정 방식, 예를 들어, MPEG-1, 2 또는 4 표준 또는 H.261, H.263 또는 H.264 표준에 따라 입력 비디오 신호를 인코딩하고 작은 화면의 픽쳐 시퀀스, 예를 들어, 본래 크기의 25%로 축소된 픽쳐 시퀀스를 생성한다. 멀티플렉서(130) 는 텍스쳐 코딩부(110)의 출력 데이터, 베이스층 인코더(150)로부터 출력된 작은 화면의 픽쳐 시퀀스, 및 움직임 코딩부(120)의 출력 벡터 데이터를 원하는 포맷으로 캡슐화한다. 멀티플렉서(130)는 캡슐화된 데이터를 원하는 전송 포맷으로 멀티플렉싱하여 출력한다. 베이스층 인코더(150)는 입력 비디오 신호를 인핸스드층 픽쳐보다 작은 화면 크기를 갖는 픽쳐 시퀀스로 인코딩할 뿐만 아니라 입력 비디오 신호를 인핸스드층보다 낮은 프레임 레이트에서 인핸스드층 픽쳐와 동일한 화면 크기를 갖는 픽쳐 시퀀스로 인코딩함으로써 낮은 비트레이트의 데이터 스트림을 제공할 수 있다. 이하 설명되는 본 발명의 실시예에서, 베이스층은 작은 화면의 픽쳐 시퀀스로 인코딩되고, 작은 화면의 픽쳐 시퀀스는 베이스층 시퀀스라 하고, MCTF 인코더(100)로부터 출력된 프레임 시퀀스는 인핸스드층 시퀀스라 한다.
MCTF 인코더(100)는 비디오 프레임 내의 각각의 타겟 매크로블록에 대하여 움직임 추정 및 예측을 수행한다. MCTF 인코더(100)는 타겟 매크로블록과 이웃 프레임 내의 대응 매크로블록간의 이미지 차를 이웃 프레임 내의 대응하는 매크로블록에 추가함으로써 각 타겟 매크로블록에 대한 갱신 동작을 수행한다. 도 2는 이들 동작을 수행하는 MCTF 인코더(100)의 일부 요소를 나타낸다.
도 2에 도시된 MCTF 인코더(100)의 요소들은 추정기/예측기(Estimate;102), 갱신기(Update;103) 및 디코더(Decoder;105)를 포함한다. 디코더(105)는 베이스층 인코더(150)로부터 수신된 인코딩된 스트림을 디코딩하고 디코딩된 작은 화면의 프레임을 내부 스케일러(105a)를 이용하여 인핸스드층의 프레임 크기로 확대한다. 추정기/예측기(102)는 잔여 데이터로 코딩될 현재 프레임 내, 현재 프레임의 이전 또는 이후의 인접 프레임 내, 및 스케일러(105a)에 의해 확대된 프레임 내의 각각의 매크로블록의 기준 블록을 검색한다. 추정기/예측기(102)는 기준 블록 또는 스케일러(105a)에 의해 확대된 시간적으로 일치된 프레임 내의 대응 블록으로부터 현재 프레임 내의 각각의 매크로블록의 이미지 차(즉, 화소간 차)를 구하고 이미지 차를 매크로블록으로 코딩한다. 추정기/예측기(102)는 또한 매크로블록으로부터 기준 블록으로 연장되는 움직임 벡터를 구한다. 갱신기(103)는, 매크로블록의 이미지 차에 적절한 상수(예를 들어, 1/2 또는 1/4)를 곱하고 그 결과 값을 기준 블록에 더함으로써, 현재 프레임 이전 또는 이후의 프레임 내에서 기준 블록이 발견되는 현재 프레임 내의 매크로블록의 갱신 동작을 수행한다. 갱신기(103)에 의해 수행된 동작은 "U" 동작이라 하고 "U" 동작에 의해 생성된 프레임은 "L" 프레임이라 한다.
도 2의 추정기/예측기(102)와 갱신기(103)는 비디오 프레임에 대한 동작을 수행하는 대신에 단일 프레임을 분할함으로써 생성된 복수의 슬라이스에 대하여 동작을 동시 또는 병렬로 수행할 수 있다. 추정기/예측기(102)에 의해 생성된 이미지 차를 갖는 프레임(또는 슬라이스)은 "H" 프레임(또는 슬라이스)이라 한다. "H" 프레임(또는 슬라이스)은 비디오 신호의 고주파 성분을 갖는 데이터를 포함한다. 실시예의 다음의 설명에서, 용어 "픽쳐"는, 그 용어의 사용이 기술적으로 가능하다면, 슬라이스 또는 프레임을 지칭하는데 사용된다.
추정기/예측기(102)는 입력 비디오 프레임(또는 이전 레벨에서 얻어진 L 프레임)의 각각을 원하는 크기의 매크로블록으로 분할한다. 각각의 분할된 매크로블 록에 대하여, 추정기/예측기(102)는 인핸스드층의 이전/다음 이웃 프레임 및/또는 스케일러(105a)에 의해 확대된 베이스층 프레임 내에서 이미지가 각각의 분할된 매크로블록과 매우 유사한 블록을 검색한다. 즉, 추정기/예측기(102)는 각각의 분할된 매크로블록과 시간적으로 상관된 매크로블록을 검색한다. 타겟 이미지 블록과 매우 유사한 이미지를 갖는 블록은 타겟 이미지 블록과 가장 작은 이미지 차를 갖는다. 2개의 이미지 블록간의 이미지 차는 예를 들어 2개의 이미지 블록의 화소간 차의 합 또는 평균으로서 정의된다. 현재의 프레임 내의 타겟 매크로블록보다 작거나 임계 이미지 차를 갖는 블록 중에서, 타겟 매크로블록과 가장 작은 이미지 차를 갖는 블록은 기준 블록이라 한다. 기준 블록을 포함하는 픽쳐는 기준 픽쳐라 한다. 현재의 프레임의 각각의 매크로블록에 대하여, 2개의 기준 블록(또는 2개의 기준 픽쳐)이 현재 프레임의 이전 프레임(베이스층 프레임 포함) 또는 현재 프레임의 다음 프레임(베이스층 프레임 포함)에 존재하거나, 이전 프레임 내에 하나의 기준 블록이 존재하고 다음 프레임 내에 하나의 기준 블록이 존재할 수 있다.
기준 블록을 찾으면, 추정기/예측기(102)는 현재 블록으로부터 기준 블록으로의 움직임 벡터를 산출하여 출력한다. 추정기/예측기(102)는 또한 이전 프레임 또는 다음 프레임에 존재하는 기준 블로의 픽셀 값 또는 이전 및 다음 프레임에 존재하는 2개의 기준 프레임의 평균 픽셀 값으로부터 현재 블록의 픽셀 에러 값(즉, 필셀 차 값)을 산출하여 출력한다. 이미지 또는 픽셀 차 값은 또한 잔여 데이터라 한다.
원하는 임계 이미지 차를 갖거나 현재 매크로블록보다 작은 매크로블록이 움 직임 추정 동작을 통해 2개의 이웃 프레임(베이스층 프레임을 포함)에서 찾을 수 없으면, 추정기/예측기(102)는 현재의 프레임과 동일한 시간 영역의 프레임(이하, 시간적 일치 프레임이라 한다) 또는 현재 프레임에 근접한 시간 영역의 프레임(이하, 시간적 근접 프레임이라 한다)이 베이스층 시퀀스에 존재하는지를 판정한다. 이러한 프레임이 베이스층 시퀀스에 존재하면, 추정기/예측기(102)는 2개의 매크로블록의 픽셀 값에 기초하여 시간적 일치 또는 근접 프레임 내의 대응 매크로블록으로부터 현재 매크로블록의 이미지 차(즉, 잔여 데이터)를 구하고, 대응하는 매크로블록에 대하여 현재 매크로블록의 움직임 벡터는 구하지 않는다. 현재 프레임에 대한 근접 시간 영역은 현재 프레임과 동일한 이미지를 갖는 것으로 간주될 수 있는 프레임을 포함하는 시간 간격에 대응한다. 이 시간 간격의 정보는 인코딩된 스트림 내에 포함된다.
추정기/예측기(102)의 상술한 동작은 "P" 동작이라 한다. 추정기/예측기(102)가 현재 프레임 내의 각각의 매크로블록의 기준 블록을 검색하고 각각의 매크로블록을 잔여 데이터로 코딩함으로써 "P" 동작을 수행하여 H 프레임을 생성하면, 추정기/예측기(102)는 기준 픽쳐로서, 도 3a에 도시된 바와 같이, 현재 프레임 이전 및 이후의 인핸스드층의 이웃 L 프레임에 더하여, 스케일러(105a)로부터 수신된 베이스층의 확대된 픽쳐를 선택적으로 사용할 수 있다.
본 발명의 일 실시예에서, 5개의 프레임이 각각의 H 프레임을 생성하는데 사용된다. 도 3b는 H 프레임을 생성하는데 사용될 수 있는 5개의 프레임을 나타낸다. 도시한 바와 같이, 현재의 L 프레임(400L)은 현재의 L 프레임(400L) 이전의 L 프레임(401) 및 현재의 L 프레임(400L) 다음의 L 프레임(402)을 갖는다. 또한, 현재의 L 프레임(400L)은 동일한 시간 영역 내의 베이스층 프레임(405)을 갖는다. 현재의 L 프레임(400L)과 동일한 MCTF 레벨의 L 프레임(401 및 402) 중의 하나 또는 두개의 프레임, L 프레임(400L)과 동일한 시간 영역의 베이스층의 프레임(405) 및 프레임(405) 이전 및 이후의 베이스층 프레임(403 및 404)은 기준 픽쳐로서 사용되어 현재의 L 프레임(400L)으로부터 H 프레임(400H)을 생성한다. 상술한 바와 같이, 다양한 기준 블록 선택 모드가 있다. 어느 모드가 선택되었는지를 디코더에 알리기 위하여, MCTF 인코더(100)는 "기준 블록 선택 모드" 정보를 대응하는 매크로블록의 헤더 영역의 특정 위치의 필드에 삽입한 후에 "기준 블록 선택 모드" 정보를 텍스쳐 코딩부(110)로 전송한다.
베이스층의 픽쳐가 도 3b에 도시된 바와 같이 기준 픽쳐 선택 방법에서 인핸스드층의 픽쳐 예측을 위한 기준 픽쳐로서 사용되면, 베이스층 픽쳐의 전부 또는 일부가 인핸스드층 픽쳐의 예측에 사용될 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 베이스층 픽쳐가 4:3의 종횡비를 가지고, 베이스층 픽쳐의 실제 이미지부(502)가 16:9의 종횡비를 가지며 인핸스드층 픽쳐(500)가 16:9의 종횡비를 가지면, 베이스층 픽쳐의 상부 및 하부 수평부(501a 및 501b)는 무효 데이터를 포함한다. 이 경우, 베이스층 픽쳐의 이미지부(502) 만이 인핸스드층 픽쳐(500)의 예측에 사용된다. 이를 달성하기 위하여, 스케일러(105a)는 베이스층 픽쳐의 이미지부(502)를 선택(또는 절단)하고(S41), 선택된 이미지부(502)를 업-샘플링(up-sample)하여 인핸스드층 픽쳐(500)의 크기로 확대하고(S42), 확대된 이미지부를 추 정기/예측기(102)에 제공한다.
MCTF 인코더(100)는 베이스층 픽쳐의 선택된 부분의 위치 정보를 잔여 데이터로 코딩된 현재 픽쳐의 헤더에 병합한다. MCTF 인코더(100)는 또한 베이스층 픽쳐의 일부가 선택되어 사용된다는 것을 나타내는 플래그 "flag_base_layer_cropping"을 설정하여 적절한 위치의 픽쳐 헤드로 삽입함으로써 플래그가 디코더로 전달되도록 한다. 플래그 "flag_base_layer_cropping"이 리셋될 때는 위치 정보가 전송되지 않는다.
도 5a 및 5b는 베이스층 픽쳐의 선택된 부분(512)에 관한 정보의 구조의 실시예를 나타낸다. 도 5a의 실시예에서, 베이스층 픽쳐의 선택된 부분(512)은 베이스층 픽쳐의 좌측, 우측, 상부 및 하부 경계로부터의 오프셋(left_offset, right_offset, top_offset 및 bottom_offset)에 의해 지정된다. 좌측 오프셋은 베이스층 이미지 내의 좌측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 선택된 부분(512) 내의 좌측 픽셀간의 위치 오프셋을 나타낸다. 상부측 오프셋은 베이스층 이미지 내의 상부측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 선택된 부분(512) 내의 상부측 픽셀간의 위치 오프셋을 나타낸다. 우측 오프셋은 베이스층 이미지 내의 우측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 선택된 부분(512) 내의 우측 픽셀간의 위치 오프셋을 나타낸다. 하부측 오프셋은 베이스층 이미지 내의 하부측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 선택된 부분(512) 내의 하부측 픽셀간의 위치 오프셋을 나타낸다. 도 5b의 실시예에서, 베이스층 픽쳐의 선택된 부분(512)은 베이스층 픽쳐의 좌측 및 상부 경계로부터의 오 프셋(left_offset 및 top_offset) 및 선택된 부분(512)의 폭 및 높이(crop_width 및 crop_height)에 의해 지정된다. 또한, 다른 다양한 지정 방법이 가능하다.
도 5a 및 5b에 도시된 선택된 부분의 정보에 있어서의 오프셋은 네가티브 값을 가질 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 베이스층 픽쳐가 4:3의 종횡비를 갖고, 인핸스드층 픽쳐(600)가 16:9의 종횡비를 갖고, 픽쳐의 실제 이미지부가 4:3의 종횡비를 가지면, 좌측 및 우측 오프셋값(left_offset 및 right_offset)은 네가티브 값(-dL 및 -dR)을 갖는다. 베이스층 픽쳐로부터 연장된 부분(601a 및 601b)은 네가티브 값(-dL 및 -dR)에 의해 지정된다. 연장된 부분(601a 및 601b)은 오프스크린(offscreen) 데이터로 채워지고, 연장된 부분(601a 및 601b)을 포함하는 픽쳐(610)는 인핸스드층 픽쳐(600)와 동일한 크기를 갖도록 업샘플링된다. 따라서, 인핸스드층 픽쳐(600)의 실제 이미지부에 대응하는 확대된 베이층 픽쳐 내의 영역(611)의 데이터는 인핸스드층 픽쳐(600)의 실제 이미지부의 예측에 사용될 수 있다.
도 5a 및 5b에 도시된 정보의 오프셋 필드가 네가티브 값을 가질 수 있으므로, 베이스층 픽쳐 내의 선택된 영역을 지정하는 도 5a 및 5b의 정보를 이용하는 대신, 확대된 베이스층 픽쳐와 관련되는 인핸스드층 픽쳐와 중첩하는 영역의 위치 정보로서 도 5a 및 5b의 정보를 이용함으로써 도 4의 예에서 설명한 것과 동일한 이점이 얻어진다.
특히, 도 7을 참조하면, 베이스층 픽쳐(702)가 업샘플링되어 베이스층 픽 쳐(702)의 실제 이미지 영역(701)이 인핸스드층 픽쳐(700)의 크기로 확대되면, 확대된(예를 들어, 업샘플링된) 픽쳐는 인핸스드층 픽쳐(700)보다 큰 영역에 대응한다. 이 예에서, 상부측 및 하부측 오프셋(top_offset 및 bottom_offset)은 인핸스드층 픽쳐(700)와 중첩하는 영역의 위치 정보에 포함된다. 이들 오프셋은 확대된 베이스층 픽쳐에 대응하고 네가티브 값(-dT 및 dB)이 할당되어 확대된 베이스층 픽쳐의 실제 이미지 영역만이 인핸스드층 픽쳐(700)의 예측에 사용되도록 한다. 도 7의 예에서, 확대된 베이스층 픽쳐에 대응하는 영역의 위치 정보의 좌측 및 우측 오프셋은 제로이다. 그러나, 좌측 및 우측 오프셋은 제로가 아닐 수 있으며 확대된 베이스층 픽쳐에 대응한다는 것을 이해할 것이다. 확대된 베이스층 픽쳐 내의 이미지의 일부는 인핸스드층 픽쳐를 결정하는데 사용되지 않을 수 있다. 마찬가지로, 오프셋 정보가 베이스층 픽쳐에 대응하면, 업샘플 베이스층 픽쳐와 반대로, 베이스층 픽쳐의 이미지의 일부가 인핸스드층 픽쳐를 결정하는데 사용되지 않을 수 있다.
또한, 이 실시예에서, 좌측 오프셋은 업샘플링된 베이스층 이미지 내의 좌측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 인핸스드층 이미지 내의 좌측 픽셀간의 위치 오프셋을 나타낸다. 상부측 오프셋은 업샘플링된 베이스층 내의 상부측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 인핸스드층 이미지 내의 상부측 픽셀간의 위치 오프셋을 나타낸다. 우측 오프셋은 업샘플링된 베이스층 이미지 내의 우측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 인핸스드층 이미지 내의 우측 픽셀간의 위치 오프셋을 나타낸다. 하부측 오프셋은 업샘플링된 베이스층 이미지 내의 하부측 픽셀(또는, 예를 들어, 적어도 하나의 픽셀) 및 인핸스드층 이미지 내의 하부측 픽셀간의 위치 오프셋을 나타낸다.
상술한 바와 같이, 도 5a 및 5b의 정보는 인핸스드층 픽쳐의 예측에 사용되는 베이스층 픽쳐의 일부의 선택을 위한 정보로서 사용되거나 인핸스드층 픽쳐의 예측에 사용되는 베이스층 픽쳐와 관련된 인핸스드층 픽쳐와 중첩되는 영역의 위치 정보로서 사용될 수 있다.
베이스층 픽쳐의 크기 및 종횡비의 정보, 베이스층 픽쳐의 실제 이미지의 모드 정보 등은 예를 들어 인코딩된 베이스층 스트림의 시퀀스 헤더로부터 디코딩함으로써 결정될 수 있다. 즉, 정보는 인코딩된 베이스층 스트림의 시퀀스 헤더에 기록될 수 있다. 따라서, 상술한 베이스층 픽쳐 내의 선택된 영역 또는 베이스층 픽쳐에 대응하는 인핸스드층 픽쳐와 중첩하는 영역의 위치는 위치 또는 오프셋 정보에 기초하여 결정되고, 베이스층 픽쳐의 전부 또는 일부가 이 결정을 적응시키는데 사용된다.
도 1 및 2로 되돌아가면, MCTF 인코더(100)는 소정 길이의 픽쳐 시퀀스, 예를 들어 픽쳐 그룹(GOP)에 대해 상술한 "P" 및 "U" 동작을 수행함으로써 H 프레임의 시퀀스 및 L 프레임의 시퀀스를 각각 생성한다. 그 후, 직렬 접속된 다음 단(도시하지 않음)의 추정기/예측기 및 갱신기는 생성된 L 프레임 시퀀스에 대하여 "P" 및 "U" 동작을 반복함으로써 H 프레임의 시퀀스 및 L 프레임의 시퀀스를 생성한다. "P" 및"U" 동작은 소정 횟수(예를 들어, GOP에 대하여 하나의 L 프레임이 생성될 때까지) 수행되어 최종 인핸스드층 시퀀스를 생성한다.
상술한 방법으로 인코딩된 데이터 스트림은 디코딩 장치로 무선 또는 유선으로 전송되거나 기록 매체를 통해 전송된다. 디코딩 장치는 후술하는 방법에 따라 인핸스드 및/또는 베이스층 내의 본래의 비디오 신호를 재구성한다.
도 8은 도 1의 장치에 의해 인코딩된 데이터 스트림을 디코딩하는 장치를 나타내는 블록도이다. 도 8의 디코딩 장치는 디먹스(디멀티플렉서)(200), 텍스쳐 디코딩부(210), 움직임 디코딩부(220), MCTF 디코더(230) 및 베이스층 디코더(240)을 포함한다. 디멀티플렉서(200)는 수신된 데이터 스트림을 압축 움직임 벡터 스트림, 압축 매크로블록 정보 스트림 및 베이스층 스트림으로 분리한다. 텍스쳐 디코딩부(210)는 압축 매크로블록 정보 스트림을 압축되지 않은 본래의 상태로 재구성한다. 움직임 디코딩부(220)는 압축 움직임 벡터 스트림을 압축하지 않은 본래의 상태로 재구성한다. MCTF 디코더(230)는 압축되지 않은 매크로블록 정보 스트림 및 압축되지 않은 움직임 벡터 스트림을 MCTF 방식에 따라 본래의 비디오 신호로 변환하는 인핸스드층 디코더이다. 베이스층 디코더(240)는 지정된 방식, 예를 들어, MPEG-4 또는 H.264 표준에 따라 베이스층 스트림을 디코딩한다.
MCTF 디코더(230)는 내부 요소로서 입력 스트림을 본래의 프레임 시퀀스로 재구성하기 위한 도 9에 도시된 구조를 갖는 역필터를 포함한다.
도 9는 MCTF 레벨 N의 H 및 L 프레임의 시퀀스를 레벨 N-1의 L 프레임의 시퀀스로 재구성하는 역필터의 일부 요소를 나타낸다. 도 9의 역필터의 요소는 역갱신기(231), 역예측기(232), 움직임 벡터 디코더(235), 배열기(arranger)(234), 및 스케일러(230a)를 포함한다. 역갱신기(231)는 입력 L 프레임의 대응하는 픽셀값으로부터 입력 H 프레임의 픽셀 차 값을 감산한다. 역예측기(232)는 H 프레임의 이미지 차가 감산된 L 프레임 및/또는 스케일러(240a)로부터 출력된 확대된 픽쳐를 참조하여 입력 H 프레임을 본래의 이미지를 갖는 프레임으로 재구성한다. 움직임 벡터 디코더(235)는 입력 움직임 벡터 스트림을 각각의 블록의 움직임 벡터 정보로 디코딩하고 움직임 벡터 정보를 각 단의 역예측기(예를 들어, 역예측기(232))로 공급한다. 배열기(234)는 역갱신기(231)로부터 출력된 L 프레임간의 역예측기(232)에 의해 완성된 프레임을 인터리브하여 정상 비디오 프레임 시퀀스를 생성한다. 스케일러(230a)는 예를 들어 도 5a 및 5b에 도시된 바와 같은 정보에 따라 베이스층의 작은 화면 픽쳐를 인핸스드층 픽쳐 크기로 확대한다.
배열기(234)로부터 출력된 L 프레임은 레벨 N-1의 L 프레임 시퀀스(601)를 구성한다. 레벨 N-1의 다음단의 역갱신기 및 예측기는 레벨 N-1의 L 프레임 시퀀스(601) 및 입력 H 프레임 시퀀스(602)를 L 프레임 시퀀스로 재구성한다. 이 디코딩 프로세스는 인코딩 처리에서 채용된 MCTF 레벨의 수와 동일한 횟수만큼 수행되어 본래의 비디오 프레임 시퀀스를 재구성한다. 입력 H 프레임의 각각의 매크로블록의 헤더에 포함된 "reference_selection_code" 정보를 참조하여, 역예측기(232)는 기준 프레임으로서 사용된 베이스층의 확대된 프레임 및/또는 인핸스드층의 L 프레임을 지정하여 매크로블록을 잔여 데이터로 코딩한다. 역예측기(232)는 움직임 벡터 디코더(235)로부터 제공된 움직임 벡터에 기초하여 지정된 프레임 내의 기준 블록을 결정하고 기준 블록의 픽셀 값 (또는 매크로블록의 기준 블록으로서 사 용되는 2개의 매크로블록의 평균 픽셀 값)을 H 프레임의 매크로블록의 픽셀 차 값에 부가하여 H 프레임의 매크로블록의 본래의 이미지를 재구성한다.
베이스층 픽쳐가 현재 H 프레임의 기준 프레임으로서 사용되면, 스케일러(230a)는 베이스층 픽쳐(도 4의 예에서) 내의 영역을 선택하여 확대하거나 MCTF 디코더(230)에 의해 분석된 헤더에 포함된 도 5a 및 5b에 도시된 바와 같은 위치 관계 정보에 기초하여 베이스층 픽쳐(도 6의 예에서)보다 큰 영역을 확대하여 베이스층 픽쳐의 확대된 영역이 상술한 바와 같이 현재의 H 프레임 내의 잔여 데이터를 포함하는 매크로블록을 본래의 이미지 블록으로 재구성하는데 사용되도록 한다. 위치 관계 정보는 헤더로부터 추출되어 위치 관계 정보가 포함되어 있는지를 나타내는 정보(특히, 도 5a 및 5b의 예의 플래그 "flag_base_layer_cropping")가 위치 관계 정보가 포함되었다는 것을 나타낼 때 참조된다.
도 5a 및 5b의 정보가 인핸스드층 픽쳐의 예측에 사용되는 인핸스드층 픽쳐와 중첩되는 영역의 위치를 나타내는 정보로서 사용되는 경우, 역예측기(232)는 오프셋 정보의 값(포지티브 또는 네가티브)에 따라 확대된 베이스층 픽쳐의 전체를 현재의 H 프레임보다 큰 영역 또는 현재의 H 프레임의 전부 또는 일부와 관련시킴으로써 인핸스드층 픽쳐의 예측을 위해 스케일러(230a)로부터 수신된 베이스층 픽쳐 중에서 확대된 것을 사용한다. 확대된 베이스층 픽쳐가 현재의 H 프레임보다 큰 영역과 관련된 도 7의 경우에, 예측기(232)는 현재의 H 블록 내의 매크로블록을 본래의 이미지로 재구성하기 위하여 H 프레임에 대응하는 확대된 베이스층 픽쳐의 영역만을 이용한다. 이 예에서, 오프셋 정보는 네가티브 값을 포함한다.
하나의 H 프레임에 대하여, 프레임 내의 매크로블록이 재구성된 자신의 본래의 이미지를 갖도록 MCTF 디코딩이 특정 단위, 예를 들어, 병렬 방식의 슬라이스 단위로 수행되고, 재구성된 매크로 블록은 결합되어 완전한 비디오 프레임을 구성한다.
상술한 디코딩 방법은 MCTF 인코딩 데이터 스트림을 완전한 비디오 프레임 시퀀스로 재구성한다. 디코딩 장치는 그 처리 및 프리젠테이션 능력에 의존하는 베이스층을 이용하여 베이스층 시퀀스를 디코딩하여 출력하거나 인핸스드층 시퀀스를 디코딩하여 출력한다.
상술한 디코딩 장치는 이동 통신 단말기, 미디어 플레이어 등에 병합될 수 있다.
본 발명은 예시적인 실시예를 참조하여 설명하였지만, 본 발명의 범위를 벗어나지 않은 한도내에서 다양한 개량, 변경, 대체, 및 추가 등이 가능함은 당업자에게 자명한 것이다. 따라서, 본 발명은 본 발명의 개량, 변경, 대체 및 추가를 포함한다.