KR100283579B1 - 격행형상코더에사용하기위한모드코딩방법및장치 - Google Patents

격행형상코더에사용하기위한모드코딩방법및장치 Download PDF

Info

Publication number
KR100283579B1
KR100283579B1 KR1019970078373A KR19970078373A KR100283579B1 KR 100283579 B1 KR100283579 B1 KR 100283579B1 KR 1019970078373 A KR1019970078373 A KR 1019970078373A KR 19970078373 A KR19970078373 A KR 19970078373A KR 100283579 B1 KR100283579 B1 KR 100283579B1
Authority
KR
South Korea
Prior art keywords
field
coded data
intra
inter
signal
Prior art date
Application number
KR1019970078373A
Other languages
English (en)
Other versions
KR19990058282A (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 KR1019970078373A priority Critical patent/KR100283579B1/ko
Publication of KR19990058282A publication Critical patent/KR19990058282A/ko
Application granted granted Critical
Publication of KR100283579B1 publication Critical patent/KR100283579B1/ko

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 이진값 '0' 혹은 '255'를 갖는 M × N 화소들의 목표 블록의 모드 신호들을 엔코딩하기 위한 방법에 관한 것이다. 본 발명에서, 목표 블록이 "all_0" 혹은 "all_255" 중 어느 것으로도 설정되지 않으면, 상기 목표 블록은 상부 필드 및 하부 필드로 분할되는데, 여기서 상부 필드는 목표 블록의 모든 기수(odd)행을 포함하는 M/2 × N 화소 블록이고, 하부 필드는 목표 블록의 모든 우수(even)행을 포함하는 M/2 × N 화소 블록으로 구성된다. 이후, 상부 필드가 엔코딩되고, 상기 상부 필드에 근거하여 하부 필드를 엔코딩함으로써 변경된 하부 필드 코딩 데이터 및 변경된 하부 모드가 발생된다.

Description

격행 형상 코더에 사용하기 위한 모드 코딩 방법 및 장치{METHOD AND APPARATUS FOR CODING MODE SIGNALS IN INTERLACED SHAPE CODING TECHNIQUE}
본 발명은 이진 형상 신호의 모드 신호들을 엔코딩(encoding)하기 위한 방법 및 장치에 관한 것으로서, 보다 상세하게는 격행 형상 코더(coder)에서 두 개의 필드 사이의 상관관계를 사용하여 모드 신호들을 엔코딩하기 위한 방법 및 장치에 관한 것이다.
비디오 전화, 원격 화상 회의 및 고선명 텔레비젼 시스템과 같은 디지털 방송수신형 시스템에 있어서, 비디오 프레임 신호 내의 비디오 라인 신호가 화소값으로서 지칭되는 디지털 데이터의 시퀀스(sequence)를 포함하기 때문에, 각각의 비디오 프레임 신호를 규정하는데에는 다량의 디지털 데이터가 필요하다. 그러나, 통상적인 전송 채널의 사용가능한 주파수 대역폭은 제한적이므로, 이를 통해 다량의 디지털 데이터를, 특히, 비디오 전화 및 원격 화상 회의 시스템에 사용되는 낮은 비트 속도의 비디오 신호 엔코더들(encoders)로 전송하기 위해, 여러 가지 데이터 압축 기법을 사용하여 데이터의 크기(volume)를 압축시키거나 혹은 감소시키는 것이 필수적이다.
낮은 비트 속도의 엔코딩 시스템에 있어서, 비디오 신호들을 엔코딩하기 위한 그러한 기법들 중 하나는 객체 지향형 분석-합성 코딩 기법으로 지칭되는 기법이며, 여기서 입력 비디오 이미지는 객체들로 분할되고, 각 객체의 움직임, 윤곽선 및 화소 데이터를 정의하기 위한 3세트의 파라미터들은 상이한 엔코딩 채널을 통해 처리된다.
이러한 객체 지향형 분석-합성 코딩 체계의 일실시예는 MPEG-4)로서 지칭되며, 이것은 낮은 비트 속도 통신과, 쌍방향 멀티미디어(interactive multimedia)(예를 들면, 게임, 쌍방향 TV 등) 및 감시장비와 같은 애플리케이션에서 내용 기반형 쌍방향성(content-based interactivity)과, 개선된 코딩 효율 및/또는 범용 액세스성(accessibility)을 허용하기 위한 오디오-비디오 코딩 표준을 제공하도록 설계된다.
MPEG-4에 따르면, 입력 비디오 이미지는 다수의 비디오 객체 평면들(Video Object Plane : VOP)로 분할되는데, 이는 사용자가 액세스할 수 있고 다룰수 있는 비트스트림(bitstream)인 실체들에 대응한다. VOP는 객체로서 지칭되며 그 폭과 높이가 각각 객체를 둘러싸는 16화소(매크로블록 사이즈)의 정수배인 사각형 중에서 최소 크기인 경계 사각형(bounding rectangle)으로 표현되므로 엔코더가 입력 비디오 이미지를 VOP 단위로 처리할 수 있다.
MPEG-4에서 설명된 VOP는 루미넌스(luninace) 및 크로미넌스(chrominance) 데이터로 구성되는 형상 정보 및 색 정보(color information)를 포함하는데, 여기서 이진 형상 신호들로 표시된 형상 정보는 알파 평면(alpha plane)으로서 지칭된다. 알파 평면은 각각 16 × 16 이진 화소들을 갖는 다수의 이진 알파 블록들(BAB)로 분할된다. 각각의 이진 화소들은 배경 화소 혹은 객체 화소 중 하나로 분류되며, 객체 내에 있는 객체 화소가 다른 이진 화소값, 예를 들면, 255의 값을 갖도록 할당되는데 사용되는 반면에, 알파 평면 내의 객체 밖에 위치된 배경 화소는 이진 화소값, 예를 들면, 0의 값을 갖도록 할당되는데 사용된다.
BAB내의 각 이진 화소들은 내용 기반형 산술 엔코딩(context-based arithmetic encoding : CAE) 원리와 같은 통상적인 비트 맵 기반형 형상 코딩 방법을 사용하여 엔코딩된다. 예를 들면, 인트라 모드(intra mode)에서, BAB의 모든 이진 화소들은 인트라 CAE 원리를 사용하여 엔코딩됨으로써, 인트라 코딩된 BAB를 발생하며, 인트라 CAE 원리에 있어서 BAB의 각 이진 화소에 대한 내용값은 이진 화소값의 사전 설정된 개수, 예를 들면, BAB 내의 상기 각 이진 화소를 둘러싸는 10개를 사용하여 연산된다. 반면에, 인터 모드(inter mode)에서, 현재 BAB의 모든 이진 화소들은 인터 CAE 원리를 사용하여 엔코딩됨으로써 인터 엔코딩된 BAB를 발생시킨다. 여기서 인터 CAE 원리에 있어서 현재 BAB의 각 이진 화소의 내용값은 이진 화소값의 사전설정된 개수, 예를 들면, 현재 BAB내의 각 이진 화소를 둘러싸는 4개의 이진 화소 및 이진 값의 사전 설정된 개수, 예를 들면, 경계 움직임 보상된 BAB내의 5개의 이진 화소를 사용하여 연산된다(MPEG-4 Video Verification Model Version 7.0, International Organisation for Standardisation, Coding of Moving Pictures And Associated Audio Information, ISO/IEC JTC1/SC29/WG11 MPEG97/N1642, Bristol, April 1997, pp 28-30 참조).
예를 들면, BAB 내의 모든 이진 화소들이 객체 화소들이면, 전송되어질 엔코딩된 이진 화소값들을 발생시키기 위해, 객체 화소들의 이진 화소값들을 엔코딩하는 대신에 BAB내의 모든 이진 화소들이 객체 화소들임을 알려주는 모드 신호를 엔코딩하는 것이 바람직하다. 전술한 방법을 채용함으로써, BAB에 대한 이진 형상 정보와 같은 대응 엔코딩 모드 신호를 전송함으로써 코딩 효율을 증대시킬 수 있다.
하기 표 1을 참조하면, 통상적인 모드 코딩 원리에 따른 BAB의 이진 알파 정보에 대한 7개의 모드들이 있으며, 여기서 BAB의 형상에 대한 움직임 벡터 차이(MVD)는 형상에 대한 움직임 벡터(MV)와 형상에 대한 움직임 벡터 예측기(MVP) 사이의 차이이고, MVP는 통상적인 움직임 판단 원리를 사용하여 결정된다(MPEG-4 Video Verfication Model Version 7.0, International Organization for Standardization, Coding of Moving Pictures And Associated Audio Information, ISO/IEC JTC/SC29/WG11 MPEG97/N1642, Bristol, April 1997, pp 20-23 참조).
모드 코딩 조건
1 MVD==0 && no_update
2 MVD!=0 && no_update
3 MVD==0 && inter_CAE
4 MVD!=0 && inter_CAE
5 intra_CAE
6 all_0
7 all_255
표 1에서, 모드 1은 BAB에 대한 형상의 움직임 벡터 차이(MVP)가 0으로서 정의되고 BAB 내의 모든 이진 화소들은 엔코딩될 필요가 없음을 나타내고, 모드 2는 MVD가 0으로서 정의되지 않고 BAB 내의 모든 이진 화소들이 엔코딩될 필요가 없음을 나타내며, 모드 3은 MVD가 0으로서 정의되고 BAB 내의 모든 이진 화소들이 인터 CAE 원리에 의해 엔코딩되었음을 나타내고, 모드 4는 MVD가 0으로서 정의되지 않으고 BAB 내의 모든 이진 화소들은 인터 CAE 원리에 의해 엔코딩되었음을 나타내며, 모드 5는 BAB 내의 모든 이진 화소가 인트라 CAE 원리에 의해 엔코딩되었음을 나타내고, 모드 6은 BAB 내의 모든 이진 화소들이 배경 화소들로서 정의됨을 나타내며, 모드 7은 BAB 내의 모든 이진 화소들이 객체 화소들로서 정의됨을 나타낸다.
전술한 통상적인 모드 코딩 방법을 채용한 종래의 이진 형상 엔코딩 방법들은 기본적인 프로그래시브(progressive) 코딩 방법이다. 즉, 종래의 이진 형상 엔코딩 방법에서는, 필드 단위의 움직임 추정 방법을 사용하여 수행된 격행 코딩 기법이 사용되지 않았다. 따라서, 프레임들 사이의 공간적 및/또는 시간적 상관관계가 필드들의 상관관계보다 더 작은 경우라도, 격행 코딩 기법이 채용되지 않아 코딩 효율이 증대되지 않았다.
그러므로, 본 발명의 기본적인 목적은 격행 형상 코더에서 두 개의 필드 사이의 상관관계를 고려하여 효율적으로 모드 신호들을 코딩하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 상부 필드의 상부 모드에 근거하여 하부 필드의 하부 모드를 변경시킴으로써 효율적으로 모드 신호들을 코딩하기 위한 방법 및 장치를 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명에 따르면, 각기 제 1 및 제 2 이진값 중 하나를 갖는 M × N(M 및 N은 우수인 양의 정수) 화소의 블록들로 분할되는 다수의 픽쳐(picture)들을 포함하는 이진 형상 신호의 블록들 중 하나를 나타내는 목표 블록의 모드 신호들을 엔코딩하기 위한 방법에 있어서, (a) 제1의 이진 화소값을 갖는 제1의 M × N 기준 블록에 대한 상기 목표 블록의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 1 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M× N 기준 블록에 대한 상기 목표 블록의 에러가 상기 사전설정된 임계치보다 더 크지 않은 경우에 제 2 표시 신호를 발생하는 단계; (b) 상기 단계(a)에서 상기 제 1 및 제 2 표시 신호들이 발생되지 않은 경우에, 상기 목표 블록을 모든 기수 행 및 우수 행을 포함하는 각각의 M/2 × N 화소의 상부 필드 및 하부 필드로 분할하는 단계; (c) 상기 상부 필드를 코딩하여 상부 필드 코딩 데이터와 상기 상부 필드 코딩 데이터의 코딩 조건을 나타내는 상부 모드를 발생하는 단계; (d) 상기 상부 필드 코딩 데이터에 근거하여 상기 하부 필드를 코딩하여 하부 필드 코딩 데이터와 상기 하부 필드 코딩 데이터의 조건을 나타내는 하부 모드 를 발생하는 단계; (e) 상기 상부 모드에 근거하여 상기 하부 모드를 변경시켜 변경된 하부 모드를 발생하는 단계; (f) 상기 상부 모드를 상기 변경된 하부 모드에 부가하여 모드 신호를 발생하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명의 바람직한 실시예에 따라 이진 알파 블록(binary alpha block : BAB)에 근거한 형상 정보의 모드들을 코딩하기 위한 장치의 블록 구성도,
도 2는 도 1에 도시된 상부 필드 코딩 회로의 상세한 블록 구성도,
도 3은 도 1에 도시된 하부 필드 코딩 회로의 상세한 블록 구성도,
도 4는 I/P 픽쳐에서 상부 필드와 하부 필드 사이의 상관관계를 도시한 도면,
도 5a 내지 도 5c는 각각의 인트라(intra), 인터(inter) 및 상부 내용값(top context values)들을 연산하기 위한 다수의 후보 화소들을 도시한 도면.
<도면의 주요부분에 대한 부호의 설명>
10 : 프레임 검출부 20 : 프레임 분할기
30 : 상부 필드 코딩 회로 50 : 하부 필드 코딩 회로
70 : 상부 모드 코딩 회로 83 : 하부 모드 발생기
85 : 하부 모드 모듈레이터 90 : 멀티플렉서
도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 격행 형상 코더(an interlaced shape coder)에서 이진 알파 블록(binary alpha block : BAB)에 근거하여 형상 정보의 모드들을 코딩하기 위한 장치가 도시되는데, 여기서 이진 형상 신호들 내에 표시된 형상 정보는 픽쳐(picture), 즉, 알파 평면(alpha plane)으로서 지칭된다. 알파 평면은 다수의 이진 알파 블록들로 분할되고, 이진 알파 블록들은 형상 정보로서 프레임 검출 회로(10)에 인가된다. 여기서 이진 알파 블록(BAB)은 통상적으로 4 내지 6 범위의 우수인 양의 정수 M과 N의 M × N 이진 화소들을 갖는다.
설명을 간단히하기 위해, 인가된 BAB는 이전 기준 픽쳐로부터 예측된 P 픽쳐인 예측 픽쳐(P 픽쳐)라고 가정한다.
프레임 검출 회로(10)는 각 BAB의 코딩 모드가 "all_0" 혹은 "all_255"인지를 조사한다. 특히, BAB는 바람직하게 4 × 4 화소들의 16개의 서브블록들(subblocks)로 분할된다. BAB의 모든 서브블록들과 all_0 서브블록 사이의 모든 에러들이 사전설정된 임계치보다 작거나 혹은 동일한 경우, BAB의 모든 이진 화소들은 화소값 '0'을 갖는 배경 화소들로 변경되어, BAB가 "all_0"으로서 정의됨을 나타내는 표시 신호 S0='all_0'이 멀티플렉서(MUX)(90)에 제공되는데, 여기서 all_0 서브블록은 모두 '0'의 이진 화소값을 갖는 서브블록이다. BAB의 모든 서브블록들과 all_255 사이의 모든 에러들이 사전설정된 임계치보다 작거나 혹은 동일한 경우, BAB의 모든 이진 화소들은 화소값 '255'를 갖는 객체 화소들로 변경되어, BAB가 "all_255"로서 정의됨을 나타내는 표시 신호 S0='all_255'이 MUX(90)에 제공되는데, 여기서 all_255 서브블록은 모두 '255'의 이진 화소값을 갖는 서브블록이다. BAB의 코딩 모드가 "all_0" 혹은 "all_255" 중 어느 것도 아닌 경우, BAB의 알파 평면은 프레임 분할기(20)에 제공된다.
프레임 분할기(20)는 M × N 이진 화소들을 갖는 각 BAB를 상부 및 하부 필드 BAB로 분할한다. 여기서 M/2 × N 이진 화소들을 갖는 상부 필드 BAB는 각BAB의 모든 기수 행을 포함하고 M/2 × N 이진 화소들을 갖는 하부 필드 BAB는 각 BAB의 모든 우수 행을 포함한다. 프레임 분할기(20)는 상부 및 하부 필드 BAB를 각각 상부 및 하부 필드 코딩 회로(30, 50)에 제공한다. BAB가 16 × 16 화소들을 가지면, 상부 및 하부 필드 BAB는 모두 8 × 16 화소들을 갖는 것이 바람직하다.
도 2는 도 1에 도시된 상부 필드 코딩 회로(30)의 상세한 블록도로서, 프레임 분할기(20)로부터 제공된 상부 필드 BAB가 현재 필드로서 필드 검출 회로(31)에 제공되는 것으로 도시된다.
필드 검출 회로(31)는 필드 단위에 근거하여 현재 필드의 코딩 모드가 "all_0" 혹은 "all_255" 중 하나인지를 검사한다. 처음에, 8 × 16 화소들을 포함하는 현재 필드는 바람직하게 4 × 4 화소들의 8 개의 서브블록들로 분할된다. 필요하다면, 현재 필드는 2 × 4 화소들의 16 개의 서브블록들로 분할될 수 있다.
현재 필드의 모든 서브블록들과 all_0 서브블록 사이의 모든 에러들이 사전설정된 임계치보다 작거나 혹은 동일하면, 현재 필드의 모든 이진 화소들은 화소값 '0'을 갖는 배경 화소들로 변경되어, 현재 필드가 "all_0"으로서 정의됨을 나타내는 표시 신호 S1='all_0'이 모드 결정 회로(43)에 제공되는데, 여기서 all_0 서브블록은 모두 '0'의 이진 화소값을 갖는 서브블록이다. 현재 필드의 모든 서브블록들과 all_255 서브블록 사이의 모든 에러들이 사전설정된 임계치보다 작거나 혹은 동일하면, 현재 필드의 모든 이진 화소들이 화소값 '255'를 갖는 객체 화소들로 변경되어, 현재 필드가 "all_255"로서 정의됨을 나타내는 표시 신호 S1='all_255'가 모드 MUX(90)에 제공되는데, 여기서 all_255 서브블록은 모두 '255'의 이진 화소값을 갖는 서브블록이다. 현재 필드의 코딩 모드가 "all_0" 혹은 "all_255" 중 하나이면, 현재 필드가 "all_0" 혹은 "all_255" 중 하나임을 나타내는 표시 신호 S1이 모드 결정 회로(43)에 제공된다. 현재 필드의 코딩 모드가 "all_0" 혹은 "all_255" 중 어느 것도 아닌 경우, 현재 필드는 필드 no_updata 회로(32)와, ME & MC 회로(33) 및 필드 재구성 유니트(44) 내의 상부 MUX(35)에 제공된다.
ME & MC 회로(33)는 필드 재구성 유니트(44) 내의 메모리(34)로부터 검색된 후보 MVP에 근거하여 현재 필드의 움직임 벡터 예측자(a motion vector predictor : MVP)를 결정하고, 현재 필드의 움직임 벡터(MV) 및 움직임 벡터 차이(MVD)를 연산하며, 경계 움직임 보상된(경계 MC) 필드를 발생하기 위해 MV에 따라 움직임 보상을 수행하고, MVD 및 경계 MC 필드를 각각 MVD 코딩 회로(36) 및 필드 no_update 회로(32)에 제공하되, 여기서 MVD는 MV와 MVP 사이의 변위를 나타내고, 경계 MC 필드는 MV에 의해 MVP에 대응하는 각 이진 화소의 이전 상부/하부 필드를 치환함으로써 획득된 움직임 보상된 필드(MC 필드)와 MC 필드 주변의 1 화소 폭의 경계를 모두 나타낸다.
MVD 코딩 회로(36)는 MVD가 '0'인지의 여부를 나타내는 MVD 신호 S2를 발생하고, 그 MVD 신호 S2를 모드 결정 회로(43)에 제공한다. MVD가 '0'이 아니면, MVD 코딩 회로(36)는 현재 필드의 MVD를 엔코딩하며, MVD 코딩 회로(36)에 의해 엔코딩된 MVD 데이터는 라인 L36을 통해 내용기반형 산술 엔코딩 유니트(CAE 유니트)(45) 내의 인터 비트 연산 회로(40) 및 MUX(90)에 제공한다.
이 동안에, 필드 no_update 회로(32)는 현재 필드가 MC 필드와 동일한지의 여부를 결정하여, 현재 필드가 엔코딩되어야만 하는지의 여부를 나타내는 no_update 신호 S3을 모드 결정 회로(43)에 제공한다. 처음에, 필드 no_update 회로(32)는 현재 필드를 서브블록들로 분할하고 MC 필드를 MC 서브블록들로 분할한다. 이 때, 각각의 MC 서브블록들은 2 × 4 화소들 혹은 4 × 4 화소들을 가지며 MC 필드는 경계 MC 필드 주변의 1 화소 폭의 경계를 제거함으로써 획득된다. 필드 no_update 회로(32)는 각각의 서브블록들과 MC 서브블록에 대응하는 각각의 서브블록간의 에러가 사전설정된 임계치보다 작은지 혹은 동일한지의 여부를 결정한다. 모든 에러들이 사전설정된 임계치보다 작거나 혹은 동일한 경우, 현재 필드가 엔코딩될 필요가 없기 때문에 신호 S3은 바람직하게 no_update, 즉, not_encoded를 확인한다.
이와 반대로, 하나 이상의 에러들이 사전설정된 임계치보다 더 크면, 즉, 아래에 설명되는 바와 같이 현재 필드가 엔코딩되는 것이 필요하다면, 필드 no_update 회로(32)는 현재 필드를 CAE 유니트(45) 내의 인트라 CAE 회로(37) 및 인터 CAE 회로(39)에 제공하고, 경계 MC 필드를 인터 CAE 회로(39)에 제공한다.
인트라 CAE 회로(37)는 통상적인 CAE 원리를 사용하여 라인 L35를 통해 재구성 유니트(44) 내의 상부 MUX(35)로부터 검색되어 3개의 인접한 재구성된 필드에 근거하여 현재 필드의 모든 이진 화소들을 엔코딩하는데, 상부 왼쪽, 상부 혹은 왼쪽 방향에 있는 현재 필드에 인접한 각각의 인접한 재구성된 필드는 제각기 8 × 16의 재구성된 화소들을 포함한다. 통상적인 인트라 CAE 원리에 있어서, 현재 필드 내의 각 이진 화소의 인트라 내용값은 이진 화소값들의 사전설정된 개수, 즉, 상기 각 이진 화소를 둘러싸는 10개의 후보 화소들를 사용하여 연산되는데, 여기서 후보 화소들은 3개의 인접한 재구성된 필드에 있는 모든 재구성된 화소들과 인트라 CAE 원리에 의해 이미 엔코딩된 하나 이상의 인트라 엔코딩 화소들 중에서 선택되고, 상기 각 이진 화소는 이에 대해 인트라 엔코딩된 화소로서 제공될 인트라 내용값에 근거하여 엔코딩된다. 도 5a를 참조하면, 빗금침 박스(box)내에 도시된 이진 화소에 대한 10개의 후보 화소들 C0내지 C9가 도시되는데, 여기서 후보 화소 C1은 통상적으로 후보 C0보다 앞서서, C2는 C1보다 앞서는 것과 같이 엔코딩된다. 인트라 엔코딩된 화소들은 인트라 CAE 데이터로서 인트라 비트 연산 회로(38)와 선택기(42)에 제공된다.
인트라 비트 연산 블록(38)은 인트라 CAE 데이터를 나타내는데 필요한 비트수를 연산하고, 인트라 CAE 데이터의 비트수를 비교기(41)에 제공한다.
한편, 인터 CAE 회로(39)는 라인 L35를 통해 검색된 인접한 재구성된 필드에 근거하여 현재 필드의 모든 이진 화소들을 엔코딩하고, 인터 CAE 원리를 사용하여 경계 MC 필드를 엔코딩한다. 인터 CAE 원리에 있어서, 현재 필드 내의 각 이진 화소의 인터 내용값은 이진 화소값의 사전설정된 개수, 예를 들면, 현재 필드 내의 상기 각 이진 화소를 둘러싸는 4개의 재구성된 혹은 인터 엔코딩된 필드 및 경계 MC 필드 내의 5개의 경계 MC 화소들을 사용하여 연산된다. 도 5b를 참조하면, 인터 CAE 원리에서 빗금친 박스 내에 도시된 이진 화소에 대한 9개의 후보 화소들 C0내지 C8이 도시되는데, 여기서 각각의 점선 박스 C4내지 C8은 경계 MC 필드 내의 경계 MC 화소를 나타내고 각각의 후보 실선박스 C0내지 C3은 재구성된 필드 내의 재구성된 화소 혹은 현재 필드 내의 인터 엔코딩된 화소를 나타낸다. 경계 MC 화소 C6이 경계 MC 필드인 것은 빗금친 박스로 도시된 이진 화소가 현재 필드인 것과 같다. 각각의 이진 화소는 인터 내용값에 근거하여 엔코딩되어 각각의 이진 화소에 대한 인터 엔코딩된 화소들을 발생한다. 모든 인터 엔코딩된 화소들은 인터 CAE 데이터로서 인터 비트 연산 회로(40) 및 선택기(42)에 제공된다.
인터 비트 연산 회로(40)는 인터 CAE 데이터와 엔코딩된 MVD 데이터를 모두 나타내는데 필요한 비트수를 연산하고, 연산된 비트수를 비교기(41)에 제공한다.
비교기(41)는 인트라 CAE 데이터의 비트수와 인터 CAE 데이터 및 엔코딩된 MVD 데이터의 비트수를 비교한다. 비교기(41)에서, 인트라 CAE 데이터의 비트수가 인터 CAE 데이터 및 엔코딩된 MVD 데이터의 비트수보다 작으면, 인트라 CAE 데이터를 나타내는 인트라/인터 신호 S4가 선택기(42) 및 모드 결정 회로(43)에 제공되고, 이외의 경우에는, 인터 CAE 데이터 및 엔코딩된 MVD 데이터를 나타내는 인트라/인터 신호 S4가 선택기(42) 및 모드 결정 회로(43)에 제공된다.
선택기(42)는, 인트라/인터 신호 S4에 응답하여, 인트라 CAE 데이터 혹은 인터 CAE 데이터 중 하나와 엔코딩된 MVD 데이터를 선택함으로써, 선택된 결과를 라인 L42를 통해 MUX(95)에 제공한다.
이 동안에, 모드 결정 회로(43)는 현재 필드의 상부 모드, 즉, 신호 S1, S2, S3, S4에 근거하여 상부 필드를 발생하고, 그 상부 모드를 필드 재구성 유니트(44)내의 상부 MUX(35) 및 도 1에 도시된 상부 모드 코딩 회로(70)에 제공한다.
모드 결정 회로(43)로부터 출력된 상부 모드에 응답하여, 상부 MUX(35)는 현재 필드를 재구성하여, 재구성된 필드를 발생한다. 보다 상세히 말해서, 상부 MUX(35)는 상부 모드에 근거하여 재구성된 BAB를 갖는 MC & ME 회로(33)로부터 입력된 경계 MC BAB 중 "all_0", "all_255", 현재 필드 자체 혹은 MC 필드를 치환한다. 재구성된 필드는 다음 필드를 처리하기 위해 라인 L35를 통해 상부 MUX(35)로부터 메모리(34), 인트라 CAE 회로(37) 및 인터 CAE 회로(39)에 제공된다. 또한 재구성된 필드는 하부 필드를 처리하기 위해 라인 L35를 통해 도 3에 도시된 상부 CAE 회로(66) 및 하부 MUX(55)에 제공된다.
다시 도 1을 참조하면, 상부 모드 코딩 회로(70)는 상부 모드 신호를 하부 모드 코딩 회로(80) 내의 하부 모드 모듈러(85) 및 MUX(90)에 제공하기 위하여 통상적인 통계적 코딩 기법에 근거하여 현재 BAB에 대한 상부 모드 신호를 발생한다. 하기 표 2를 참조하면, 신호 S1, S2, S3, S4에 근거한 P 픽쳐 내의 상부 필드 BAB에 대한 전형적인 7 개의 상부 모드 신호들 T1 내지 T7이 예시된다. 여기서 T1은 BAB에 대한 형상의 움직임 벡터 차이(MVD)가 0 으로서 정의됨과 제 1 상부 모드 및 BAB 내의 모든 이진 화소들이 엔코딩될 필요가 없음 등을 나타낸다.
상부 모드 상부 모드 신호
MVD==0 && No_Update (T1) 11110
MVD!=0 && No_Update (T2) 110
MVD==0 && inter_CAE (T3) 10
MVD==0 && inter_CAE (T4) 0
intra_CAE (T5) 1110
all_0 (T6) 111110
all_255 (T7) 111111
도 3은 도 1에 도시된 하부 필드 코딩 회로의 상세한 블록도로서, 하부 필드 BAB가 다른 현재 필드로서 필드 검출 회로(51)에 제공되는 것으로 도시된다. 하부 필드 코딩 회로(50)는 CAE 코딩 유니트(65) 및 모드 결정 회로(63)만 제외하고 상부 필드 코딩 회로(30)와 유사하기 때문에, 하부 필드 코딩 회로는 다음과 같이 간략하게 설명된다.
필드 검출 회로(51)에 있어서, 현재 필드가 "all_0" 및 "all_255" 중 하나로서 정의됨을 나타내는 표시 신호 S6이 모드 결정 회로(63)에 제공된다. 현재 필드의 코딩 모드가 "all_0" 혹은 "all_22" 중 어느 것도 아니면, 현재 필드는 필드 no_update 회로(52), ME & MC 회로(53), 및 필드 재구성 유니트(64) 내의 하부 MUX(55)에 제공된다.
ME & MC 회로(53)는 통상적인 MPEG-4 원리에 따라 필드 재구성 유니트(64)내의 메모리(64)로부터 검색된 후보 MVP에 근거하여 현재 필드의 움직임 벡터 예측자(MVP)를 발생하는데, 여기서 각각의 후보 MVP는 바람직하게 메모리(34)내의 재구성된 하부 필드 중에서 선택된다. 통상적으로 상부 필드 코딩 회로(30) 및 하부 필드 코딩 회로(50)는 메모리(34)를 갖는다. 현재 필드의 MV 및 MVD를 연산한 후에, ME & MC 회로(53)는 MVD 및 경계 MC 필드를 각각 MVD 코딩 회로(56) 및 필드 no_update 회로(52)에 제공한다.
실제로 MVD 코딩 회로(36)와 동일한 MVD 코딩 회로(56)는 MVD가 '0'인지를 나타내는 MVD 신호 S6을 모드 결정 회로(63)에 제공하고, MVD가 있으면 현재 필드의 MVD를 엔코딩하여 엔코딩된 MVD 데이터 자체를 라인 L56을 통해 인터 비트 연산 회로(60) 및 MUX(90)에 제공한다.
이 동안에, 필드 no_update 회로(52)는 no_update 신호 S7을 모드 결정 회로(63)에 제공한다. 여기서 no_update 신호 S7은 현재 필드가 MC 필드와 동일한지의 여부를 나타내기 때문에 현재 필드가 엔코딩 되어야 한다. 현재 필드가 아래에 설명된 바와 같이 엔코딩되어야 하면, 필드 no_update 회로(52)는 현재 필드를 상부 CAE 회로(66)에 더 제공하는 점만 제외하고, 상부 필드 코딩 회로(30)에 대해 전술된 유사한 방식으로 현재 필드 및 경계 MC 필드를 CAE 코딩 유니트(65)에 제공한다.
CAE 코딩 유니트(65)은 상부 CAE 회로(66)와, 상부 모드 선택 회로(67) 및 상부 비트 연산 회로(68)를 더 포함하는 점만 제외하고, 도 2 에 도시된 CAE 유니트(45)과 유사하다. 다시 말해서, 인트라 CAE 회로(57)는 인트라 CAE 원리에 따라 도 5a에 도시된 바와 같이 각각의 이진 화소를 둘러싸는 이진 화소값들의 사전설정된 개수, 예를 들면, 10개의 후보 화소들 C0내지 C9를 이용하여 현재 필드의 각 이진 화소에 대한 인트라 내용값을 연산하고, 이 내용값에 근거하여 각각의 이진 화소를 엔코딩하여 인트라 엔코딩된 데이터를 발생한다. 또한, 인터 CAE 회로(59)는 도 5b에 도시된 바와 같이, 현재 필드 내의 각각의 이진 화소를 둘러싸는 이진 화소값들의 사전설정된 개수, 예를 들면, 4개의 재구성된 혹은 인터 엔코딩된 화소들 C0내지 C3및 경계 MC 필드 내의 5개의 경계 MC 화소들 C4내지 C8을 사용하여 현재 필드 내에 있는 각각의 이진 화소의 인터 내용값을 연산하고, 연산된 인터 내용값에 근거하여 각 이진 화소를 엔코딩하여 인터 엔코딩된 데이터를 발생한다.
이 동안에, 상부 CAE 회로(66)는 본 발명에 따른 상부 CAE 원리를 사용하여 라인 L35를 통해 검색되어 재구성된 상부 필드에 근거하여 현재 필드의 모든 이진 화소들을 엔코딩한다. 처음에, 각각의 이진 화소, 즉, 하부 화소에 대해, 사전설정된 개수, 예를 들면, 각각의 이진 화소에 대해 6개의 재구성된 상부 화소들이 상부/하부 필드로 분할되기 이전의 원래 BAB 내의 각각의 이진 화소의 위치에 근거하여 상부 필드 내용 화소들로서 검출된다. 도 5c를 참조하면, 인터 CAE 원리에서 빗금친 박스로 그려진 이진 화소에 대한 7개의 후보 화소들 C0내지 C6이 도시되며, 여기서 각 점선 박스 C1내지 C6은 재구성된 상부 필드 내의 상부 필드 내용 화소를 나타내고 실선 박스 C0는 현재 필드 내의 상부 엔코딩된 화소, 즉, 하부 필드 BAB를 나타낸다. 상부 필드 내용 화소 C5가 상부 필드인 것은 빗금친 박스로 그려진 각각의 이진 화소가 하부 필드인 것과 동일하다. 상부 CAE 회로(66)는, 상기 검출된 후보 화소들의 7개의 이진 화소값들을 사용하여 현재 필드내 각각의 이진 화소의 상부 내용값을 연산한 후에, 상부 내용값에 근거하여 각각의 이진 화소를 엔코딩하여 이에 대한 상부 엔코딩된 화소를 발생한다. 모든 인터 엔코딩된 화소들은 상부 CAE 데이터로서 상부 모드 선택 회로(670 및 선택기(62)에 제공된다.
상부 모드 선택 회로(67)는 no_update_top 신호 S8를 모드 결정 회로(63)에 제공한다. 여기서 no_update_top 신호 S8는 현재 필드, 즉, 하부 필드 BAB 내의 상부 필드 내용 화소들에 근거하여 예측된 상부 CAE가 실제로 상부 필드 BAB와 동일한지의 여부를 나타낸다. 하부 필드 BAB가 상부 필드 BAB와 동일하면, 표시 신호 S8은 "예측값으로 코딩되지 않음"을 나타내고, 이외의 경우, 표시 신호 S8은 "상부 필드 내용으로 코딩됨", 즉, 상부 CAE 데이터를 나타낸다. 상부 CAE 데이터가 상부 필드 BAB와 상이하면, 상부 모드 선택 회로(67)는 상부 CAE 데이터를 상부 비트 연산 회로(68)에 제공한다.
인트라 비트 연산 회로(58), 인터 비트 연산 회로(60) 및 상부 비트 연산 회로(68)는 인트라 CAE 데이터에 대한 비트수, 인터 CAE 데이터의 비트수뿐만 아니라 엔코딩된 MVD 데이터 및 상부 CAE 데이터의 비트수를 각각 연산하고, 이들을 서로 비교하기 위해 비교기(61)에 제공한다.
비교기(61)로부터, 인트라 CAE 데이터, 인터 CAE 데이터 및 상부 CAE 데이터가 작은 비트수를 가짐을 나타내는 인트라/인터/상부 신호 S9가 선택기(620 및 모드 결정 회로(63)에 제공된다. 인트라/인터/상부 신호 S9에 응답하여, 선택기(62)는 인트라 CAE 데이터, 인터 CAE 데이터 및 상부 CAE 데이터 중 하나를 선택하여, 그 선택된 결과를 라인 L62를 통해 MUX(90)에 제공한다.
이 동안에, 모드 결정 회로(63)는 신호 S5, S6, S7, S8, S9에 근거하여 현재 필드의 필드 코딩 모드를 발생하는데, 필드 코딩 모드는 MPEG-4 내의 통상적인 7 개 모드들에 부가하여 2 개 이상의 특정 모드들, 즉, "상부 필드 내용으로 코딩됨"과 "예측값으로 코딩되지 않음"을 포함하는 9개의 필드 코딩 모드들 중에서 선택되어, 필드 코딩 모드를 재구성 유니트(64)내의 하부 MUX(55) 및 도 1에 도시된 하부 모드 코딩 회로(80) 내의 하부 모드 발생기(83)에 제공한다.
모드 결정 회로(63)로부터 출력된 필드 코딩 모드에 응답하여, 하부 MUX(55)는 현재 필드, 즉, 하부 필드 BAB를 재구성한다. 다시 말해서, 필드 코딩 모드에 응답하여, 하부 MUX(55)에서, "all_0" 필드, "all_255" 필드, 필드 검출 회로(51)로부터 입력된 현재 필드 자체, ME & MC 회로(53)로부터 입력된 MC 필드 및 상부 MUX(35)로부터 입력된 상부 필드 중 하나가 현재 필드에 대한 재구성된 필드로 치환된다. 재구성된 필드는 다음 하부 필드 데이터를 처리하기 위해 라인 L55를 통해 하부 MUX(55)로부터 인트라 CAE 회로(57) 및 인터 CAE 회로(59)에 제공된다.
다시 도 1을 참조하면, 하부 모드 코딩 회로(80)내 하부 모드 발생기(83)는 통상적인 통계적 코딩 기법에 근거하여 현재 하부 필드에 대한 하부 모드 신호를 발생한다. 하부 모드 신호는 상부 모드 신호에 의해 변경되도록 하부 모드 모듈레이터(85)에 인가된다. 하부 모드 모듈레이터(85)는 상부 모드 신호에 의존하는 변경된 하부 모드 신호를 발생한다.
상부 모드
T1 T2 T3 T4 T5 T6 T7
하부모드 B1 110 0 1110 11110 1111110 11110 11110
B2 0 110 11110 1110 111110 111110 111110
B3 1110 11110 0 110 11110 110 110
B4 11110 1110 110 0 1110 1110 1110
B5 1111110 1111110 1111110 1111110 0 10 10
B6 11111110 11111110 11111110 11111110 11111110 x 111111
B7 11111111 11111111 11111111 11111111 11111111 111111 x
B8 10 10 10 10 10 x xx
B9 111110 111110 111110 111110 1110 0 0
표 3을 참조하면, 7개의 모드 신호들에 의해 변경된 하부 필드에 대해 전형적인 59개의 변경된 하부 모드 신호들이 예시되는데, i는 1 내지 7일 때 Bi는 하부 필드인 것은 Ti가 상부 필드인 것과 같으며, B8 및 B9는 각각 "상부 필드 내용으로 코딩됨" 및 "예측값으로 코딩되지 않음"을 나타낸다. 6번째 상부 모드 T6에 있어서, 프레임 BAB에 대한 "all_0"은 이미 프레임 검출 회로(10)에서 검사되었기 때문에, 6 번째 하부 모드 B6, 즉, 하부 모드 내의 "all_0"은 없다.
다시 도 1을 참조하면, MUX(90)는 표시 신호 S0, 상부 모드 신호, 하부 모드 신호, 상부 엔코딩된 데이터를 하부 엔코딩된 데이터에 멀티플렉싱하여 전송용 트랜스미터(도시되지 않음)에 제공한다.
도 4를 참도하면, 본 발명에 따라 I/P 픽쳐에서 상부 필드와 하부 필드 사이의 상관관계가 도시되는데, 여기서 I 픽쳐는 임의의 다른 기준 픽쳐를 고려하지 않고 엔코딩되며 P 픽쳐는 자신의 이전 기준 픽쳐로부터 예측된다. I 픽쳐에 있어서, 하부 필드는 쇄선으로 도시된 인트라 코딩 원리 혹은 상부 코딩 원리 중 하나에 의해 엔코딩될 수 있는 반면에, 상부 필드는 인트라 코딩 원리에 의해서만 엔코딩된다. 이와 반대로, P 픽쳐에 있어서, 하부 필드는 인트라 코딩 원리, 실선으로 도시된 인터 코딩 원리 및 쇄선으로 도시된 상부 코딩 원리 중 하나에 의해 엔코딩될 수 있는 반면에, 상부 필드는 인트라 코딩 원리 혹은 실선으로 도시된 인터 코딩 원리 중 하나에 의해 엔코딩될 수 있다.
본 발명이 특정한 실시에에 대하여 설명되었지만, 당업자라면 여러 가지 변경 및 변형이 다음의 첨구범위에 정의된 바로서 본 발명의 정신 및 범주를 벗어나지 않고 행해질 수 있음을 알 수 있을 것이다.

Claims (14)

  1. M 및 N이 우수인 양의 정수이고, 각기 제 1 및 제 2 이진값 중 하나를 갖는 M × N 화소의 블록들로 분할되는 다수의 픽쳐들을 포함하는 이진 형상 신호의 블록들 중 하나를 나타내는 목표 블록의 모드 신호들을 엔코딩하기 위한 방법에 있어서,
    (a) 제1의 이진 화소값을 갖는 제1의 M × N 기준 블록에 대한 상기 목표 블록의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 1 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M× N 기준 블록에 대한 상기 목표 블록의 에러가 상기 사전설정된 임계치보다 더 크지 않은 경우에 제 2 표시 신호를 발생하는 단계;
    (b) 상기 단계(a)에서 상기 제 1 및 제 2 표시 신호들이 발생되지 않은 경우에, 상기 목표 블록을 모든 기수 행 및 우수 행을 포함하는 각각의 M/2 × N 화소의 상부 필드 및 하부 필드로 분할하는 단계;
    (c) 상기 상부 필드를 코딩하여 상부 필드 코딩된 데이터와 상기 상부 필드 코딩 데이터의 코딩 조건을 나타내는 상부 모드를 발생하는 단계;
    (d) 상기 상부 필드 코딩된 데이터에 근거하여 상기 하부 필드를 코딩하여 하부 필드 코딩된 데이터와 상기 하부 필드 코딩된 데이터의 조건을 나타내는 하부 모드를 발생하는 단계;
    (e) 상기 상부 모드에 근거하여 상기 하부 모드를 변경시켜 변경된 하부 모드를 발생하는 단계;
    (f) 상기 상부 모드를 상기 변경된 하부 모드에 부가하여 모드 신호를 발생하는 단계를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  2. 제 1 항에 있어서, 상기 단계(c)는,
    (c1) 제1의 이진 화소값을 갖는 제1의 M/2 × N 기준 필드에 대한 상기 상부 필드의 에러가 사전설정된 임계치보다 더 큰 경우에 제 1 상부 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M/2 × N 기준 필드에 대한 상기 상부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 2 상부 표시 신호를 발생하는 단계;
    (c2) 상기 단계(c1)에서 상기 제 1 및 제 2 상부 표시 신호들이 발생되지 않은 경우에, 현재 픽쳐의 하나 이상의 이전 픽쳐들을 기준으로 상부 필드를 움직임 추정 및 보상함으로써, 움직임 벡터 및 상기 상부 필드에 대해 가장 유사한 필드를 갖는 움직임 보상된 필드를 포함하는 움직임 벡터 정보를 발생하는 단계;
    (c3) 상기 상부 필드와 가장 유사한 필드 사이의 움직임 보상 에러(MCE) 및 상기 움직임 벡터와 그의 예측자 사이의 움직임 벡터 차이(MVD)를 연산하는 단계;
    (c4) 상기 MVD가 0인지를 나타내는 상부 MVD 신호를 발생하는 단계;
    (c5) 상기 MVD가 0이 아닌 경우에 MVD 데이터를 발생하기 위해 상기 MVD를 엔코딩하는 단계;
    (c6) 상기 MCE가 상기 사전설정된 임계치보다 작은지의 여부를 나타내는 상부 no_update 신호를 설정하는 단계;
    (c7) 상기 MCE가 상기 사전설정된 임계치보다 작지 않은 경우에, 상기 상부 필드의 사전설정된 화소들에 근거한 상기 상부 필드의 화소들의 엔코딩에 의해 생성된 인트라 코딩된 데이터 및 상기 상부 필드와 상기 움직임 보상된 필드내에 포함된 현재 화소들에 근거한 상기 상부 필드의 상기 화소들의 엔코딩에 의해 생성된 인터 코딩된 데이터를 제공하는 단계;
    (c8) 상기 인트라 코딩된 데이터 혹은 상기 인터 코딩된 데이터 중 하나가 선택된 경우에 인트라/인터 신호를 발생하는 단계;
    (c9) 상기 제 1/제 2 상부 표시 신호들과, 상기 상부 MVD 신호와, 상기 상부 no_update 신호 및/또는 상기 인트라/인터 신호에 근거하여 상부 모드를 결정하는 단계를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  3. 제 2 항에 있어서, 상기 단계 (c8)은,
    (c81) 상기 인트라 코딩된 데이터의 비트 수 및 상기 인터 코딩된 데이터의 비트 수를 연산하는 단계;
    (c82) 상기 인트라 코딩된 데이터의 비트 수와 상기 인터 코딩된 데이터의 비트 수를 비교하여 작은 비트수를 선택하는 단계;
    (c83) 상기 선택된 작은 비트 수에 응답하여, 상기 인트라 코딩된 데이터의 비트 수가 상기 인터 코딩된 데이터의 비트 수보다 작은지의 여부를 나타내는 상기 인터/인트라 신호를 발생하는 단계;
    (c84) 상기 인트라/인터 신호에 응답하여, 상부 필드 코딩된 데이터로서 상기 인트라 코딩된 데이터 혹은 상기 인터 코딩된 데이터 중 하나를 제공하는 단계를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  4. 제 2 항에 있어서, 상기 단계 (d)는,
    (d1) 제1의 이진 화소값을 갖는 제1의 M/2 × N 기준 필드에 대한 상기 하부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 1 하부 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M/2 × N 기준 필드에 대한 상기 하부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우 제 2 하부 표시 신호를 발생하는 단계;
    (d2) 상기 단계 (d1)에서 상기 제 1 및 제 2 하부 표시 신호들이 발생되지 않은 경우에, 현재 픽쳐의 하나 이상의 이전 픽쳐들을 기준으로 하여 하부 필드를 움직임 추정 및 보상함으로써, 움직임 벡터 및 상기 하부 필드에 대하여 가장 유사한 필드를 갖는 움직임 보상된 필드를 포함하는 움직임 벡터 정보를 발생하는 단계;
    (d3) 상기 하부 필드와 가장 유사한 필드 사이의 움직임 보상 에러(MCE) 및 상기 움직임 벡터와 그의 예측자 사이의 움직임 벡터 차이(MVD)를 연산하는 단계;
    (d4) 상기 MVD가 0인지를 나타내는 하부 MVD 신호를 발생하는 단계;
    (d5) 상기 MVD가 0이 아닌 경우에 상기 MVD를 엔코딩하여 MVD 데이터를 발생하는 단계;
    (d6) 상기 MCE가 상기 사전설정된 임계치보다 작은지의 여부를 나타내는 하부 no_update 신호를 설정하는 단계;
    (d7) 상기 MCE가 상기 사전설정된 임계치보다 작지 않은 경우에, 상기 하부 필드의 사전설정된 화소들에 근거하여 상기 하부 필드의 화소들의 엔코딩에 의해 생성된 인트라 코딩된 데이터 및 상기 하부 필드와 상기 움직임 보상된 필드 내에 포함된 현재 화소들에 근거한 상기 하부 필드의 상기 화소들의 엔코딩에 의해 생성되는 인터 코딩된 데이터를 제공하는 단계;
    (d8) 상기 인트라 코딩된 데이터 혹은 상기 인터 코딩된 데이터 중 하나가 선택된 경우에 인트라/인터 신호를 발생하는 단계;
    (d9) 상기 제 1/제 2 하부 표시 신호들과, 상기 하부 MVD 신호와, 상기 하부 no_update 신호 및/또는 상기 인트라/인터 신호에 근거하여 상기 하부 모드를 결정하는 단계를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  5. 제 4 항에 있어서, 상기 단계 (d8)은,
    (d81) 상기 인트라 코딩된 데이터의 비트 수, 상기 인터 코딩된 데이터의 비트 수 및 상기 상부 필드 코딩된 데이터의 비트 수를 연산하는 단계;
    (d82) 상기 인트라 코딩된 데이터의 비트 수, 상기 인터 코딩된 데이터의 비트 수 및 상기 상부 필드 코딩된 데이터의 비트 수를 비교하여 최소의 비트 수를 선택하는 단계;
    (d83) 상기 최소의 비트수에 응답하여, 상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터 중 비트 수가 최소인 것을 나타내는 상기 인트라/인터/상부 신호를 발생하는 단계;
    (d84) 상기 인트라/인터/상부 신호에 응답하여, 하부 필드 코딩된 데이터로서 상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터 중 하나를 발생하는 단계를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  6. 제 4 항에 있어서, 상기 단계 (d)는,
    (d10) 상기 하부 필드의 상기 상부 필드 코딩된 데이터를 상기 상부 필드와 비교하여 상기 상부 필드 코딩된 데이터가 상기 상부 필드와 동일한지의 여부를 나타내는 상부 연관형 신호를 발생하는 단계;
    (d11) 상기 상부 연관형 신호에 근거하여 상기 하부 모드를 변경시켜 상기 변경된 하부 모드를 발생하는 단계를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  7. 제 2 항 또는 제 4 항에 있어서,
    상기 인트라 코딩된 데이터는 인트라 내용 기반형 산술 엔코딩(CAE0 방법에 의해 제공되고 상기 인터 코딩된 데이터는 인터 CAE 방법에 의해 제공되는 것을 특징으로 하는 모드 신호 엔코딩 방법.
  8. M 및 N이 우수인 양의 정수이고, 각기 제 1 및 제 2 이진값 중 하나를 갖는 M × N 화소의 블록들로 분할되는 다수의 픽쳐들을 포함하는 이진 형상 신호의 블록들 중 하나를 나타내는 목표 블록의 모드 신호들을 엔코딩하기 위한 장치에 있어서,
    제1의 이진 화소값을 갖는 제1의 M × N 기준 블록에 대한 상기 목표 블록의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 1 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M × N 기준 블록에 대한 상기 목표 블록의 에러가 상기 사전설정된 임계치보다 더 크지 않은 경우에 제 2 표시 신호를 발생하는 프레임 검출 수단;
    상기 목표 블록을 모든 기수 행 및 우수 행을 포함하는 각각의 M/2 × N 화소의 상부 필드 및 하부 필드로 분할하는 프레임 분할기;
    상기 상부 필드를 코딩하여 상부 필드 코딩 데이터와 상기 상부 필드 코딩 데이터의 코딩 조건을 나타내는 상부 모드를 발생하는 상부 필드 코더;
    상기 상부 필드 코딩 데이터에 근거하여 상기 하부 필드를 코딩하여 하부 필드 코딩 데이터와 상기 하부 필드 코딩 데이터의 코딩 조건을 나타내는 하부 모드를 발생하는 하부 필드 코더;
    상기 상부 모드에 근거하여 상기 하부 모드를 변경시켜 변경된 하부 모드를 발생하는 하부 모드 모듈레이터;
    상기 상부 모드를 상기 변경된 하부 모드에 부가하여 모드를 발생하는 멀티플렉서를 포함하는 것을 특징으로 하는 모드 신호 엔코딩 장치.
  9. 제 8 항에 있어서, 상기 상부 필드 코더는,
    제1의 이진 화소값을 갖는 제1의 M/2 × N 기준 필드에 대한 상기 상부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 1 상부 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M/2 × N 기준 필드에 대한 상기 상부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 2 상부 표시 신호를 발생하는 수단;
    현재 픽쳐의 하나 이상의 이전 픽쳐들을 기준으로 하여 상기 상부 필드를 움직임 추정 및 보상함으로써 움직임 벡터 및 상기 상부 필드에 가장 유사한 필드를 갖는 움직임 보상된 필드를 포함하는 움직임 벡터 정보를 발생하는 수단;
    상기 상부 필드와 가장 유사한 필드 사이의 움직임 보상 에러(MCE) 및 상기 움직임 벡터와 그의 예측자 사이의 움직임 벡터 차이(MVD)를 연산하는 수단;
    상기 MVD가 0인지의 여부를 나타내는 상부 MVD 신호를 발생하는 수단;
    상기 MVD가 0이 아닌 경우에 상기 MVD를 엔코딩하여 MVD 데이터를 발생하는 수단;
    상기 MCE가 상기 사전설정된 임계치보다 작은지의 여부를 나타내는 상부 no_update 신호를 설정하는 수단;
    상기 상부 필드의 사전설정된 화소들에 근거한 상기 상부 필드의 상기 화소들의 엔코딩에 의해 생성된 인트라 코딩된 데이터 및 상기 상부 필드와 상기 움직임 보상된 필드내에 포함된 현재 화소들에 근거한 상기 상부 필드의 상기 화소들의 엔코딩에 의해 생성된 인터 코딩된 데이터를 제공하는 인트라/인터 엔코더;
    상기 인트라 코딩된 데이터 혹은 상기 인터 코딩된 데이터 중 하나가 선택된 경우에 인트라/인터 신호를 발생하는 인트라/인터 신호 발생기;
    상기 제 1/제 2 상부 표시 신호들, 상기 상부 MVD 신호, 상기 상부 no_UPDATE 신호 및/또는 상기 인트라/인터 신호에 근거하여 상기 상부 모드를 결정하기 위한 수단을 포함하는 것을 특징으로 하는 모드 신호 엔코딩 장치.
  10. 제 9 항에 있어서, 상기 인트라/인터 신호 발생기는,
    상기 인트라 코딩된 데이터의 비트 수 및 상기 인터 코딩된 데이터의 비트 수를 연산하는 수단;
    상기 인트라 코딩된 데이터의 비트 수와 상기 인터 코딩된 데이터의 비트 수를 비교하여 작은 비트 수를 선택하는 수단;
    상기 작은 비트 수에 응답하여, 상기 인트라 코딩된 데이터의 비트 수가 상기 인터 코딩된 데이터의 비트 수보다 작은지의 여부를 나타내는 상기 인트라/인터 신호를 발생하는 수단;
    상기 인트라/인터 신호에 응답하여, 상부 필드 코딩된 데이터로서 상기 인트라 코딩된 데이터 혹은 상기 인터 코딩된 데이터 중 하나를 제공하는 수단을 포함하는 것을 특징으로 하는 모드 신호 엔코딩 장치.
  11. 제 9 항에 있어서, 상기 하부 필드 코더는,
    제1의 이진 화소값을 갖는 제1의 M/2 × N 기준 필드에 대한 상기 하부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 1 하부 표시 신호를 발생하고, 제2의 이진 화소값을 갖는 제2의 M/2 × N 기준 필드에 대한 상기 하부 필드의 에러가 사전설정된 임계치보다 더 크지 않은 경우에 제 2 하부 표시 신호를 발생하는 수단;
    현재 픽쳐의 하나 이상의 이전 픽쳐들을 기준으로 하여 상기 하부 필드를 움직임 추정 및 보상함으로써 움직임 벡터 및 상기 하부 필드에 가장 유사한 필드를 갖는 움직임 보상된 필드를 포함하는 움직임 벡터 정보를 발생하는 수단;
    상기 하부 필드와 상기 가장 유사한 필드 사이의 움직임 보상 에러(MCE) 및 상기 움직임 벡터와 그의 예측자 사이의 움직임 벡터 차이(MVD)를 연산하는 수단;
    상기 MVD가 0인지의 여부를 나타내는 하부 MVD 신호를 발생하는 수단;
    상기 MVD가 0이 아닌 경우에 상기 MVD를 엔코딩하여 MVD 데이터를 발생하는 수단;
    상기 MCE가 상기 사전설정된 임계치보다 작은지의 여부를 나타내는 하부 no_update 신호를 설정하는 수단;
    상기 하부 필드의 사전설정된 화소들에 근거한 상기 하부 필드의 상기 화소들의 엔코딩에 의해 생성된 인트라 코딩된 데이터, 상기 하부 필드와 상기 움직임 보상된 필드내에 포함된 현재 화소들에 근거한 상기 하부 필드의 상기 화소들의 엔코딩에 의해 생성된 인터 코딩된 데이터 및 상기 상부 필드내에 포함된 사전설정된 화소들에 근거한 상기 하부 필드의 화소들의 엔코딩에 의해 생성된 상기 상부 필드 코딩된 데이터를 발생하는 인트라/인터/상부 엔코더;
    상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터 중 하나가 선택된 경우에 인트라/인터/상부 신호를 발생하는 인트라/인터/상부 신호 발생기;
    상기 제 1 및 제 2 하부 표시 신호들, 상기 하부 MVD 신호, 상기 하부 no_update 신호 및/또는 상기 인트라/인터/상부 신호에 근거하여 상기 하부 모드를 결정하는 수단을 포함하는 것을 특징으로 하는 모드 신호 엔코딩 장치.
  12. 제 11 항에 있어서, 상기 인트라/인터/상부 신호 발생기는,
    상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터의 비트 수를 연산하는 수단;
    상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터의 비트수를 비교하여 작은 비트수를 선택하는 수단;
    상기 작은 비트수에 응답하여, 상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터의 비트 수 중 비트 수가 최소인 것을 나타내는 상기 인트라/인터/상부 신호를 발생하는 수단;
    상기 인트라/인터/상부 신호에 응답하여, 하부 필드 코딩된 데이터로서 상기 인트라 코딩된 데이터, 상기 인터 코딩된 데이터 및 상기 상부 필드 코딩된 데이터를 발생하는 수단을 포함하는 것을 특징으로 하는 모드 신호 엔코딩 장치.
  13. 제 11 항에 있어서, 상기 하부 필드 코더는,
    상기 하부 필드의 상부 필드 코딩된 데이터와 상기 상부 필드를 비교하여 상기 상부 필드 코딩된 데이터가 상기 상부 필드와 동일한지의 여부를 나타내는 상부 연관형 신호를 발생하는 수단;
    상기 상부 연관형 신호에 근거하여 상기 하부 모드를 변경시켜 상기 변경된 하부 모드를 발생하는 수단을 더 포함하는 것을 특징으로 하는 모드 신호 엔코딩 장치.
  14. 제 9 항 또는 제 11 항에 있어서, 상기 인트라 코딩된 데이터는 인트라 내용 기반형 산술 엔코딩(CAE) 방법에 의해 제공되고 상기 인터 코딩된 데이터는 인터 CAE 방법에 의해 제공되는 것을 특징으로 하는 모드 신호 엔코딩 장치.
KR1019970078373A 1997-12-30 1997-12-30 격행형상코더에사용하기위한모드코딩방법및장치 KR100283579B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970078373A KR100283579B1 (ko) 1997-12-30 1997-12-30 격행형상코더에사용하기위한모드코딩방법및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970078373A KR100283579B1 (ko) 1997-12-30 1997-12-30 격행형상코더에사용하기위한모드코딩방법및장치

Publications (2)

Publication Number Publication Date
KR19990058282A KR19990058282A (ko) 1999-07-15
KR100283579B1 true KR100283579B1 (ko) 2001-03-02

Family

ID=66180608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078373A KR100283579B1 (ko) 1997-12-30 1997-12-30 격행형상코더에사용하기위한모드코딩방법및장치

Country Status (1)

Country Link
KR (1) KR100283579B1 (ko)

Also Published As

Publication number Publication date
KR19990058282A (ko) 1999-07-15

Similar Documents

Publication Publication Date Title
US6094225A (en) Method and apparatus for encoding mode signals for use in a binary shape coder
US5973743A (en) Mode coding method and apparatus for use in an interlaced shape coder
US6243418B1 (en) Method and apparatus for encoding a motion vector of a binary shape signal
USRE41383E1 (en) Method and apparatus for encoding interplaced macroblock texture information
US6256345B1 (en) Method and apparatus for coding interlaced shape information
US6069976A (en) Apparatus and method for adaptively coding an image signal
KR100283579B1 (ko) 격행형상코더에사용하기위한모드코딩방법및장치
KR100275273B1 (ko) 이진 형상 코더에 사용하기 위한 모드 신호 엔코딩 방법 및장치
KR100291719B1 (ko) 이진 형상 신호의 움직임 벡터 부호화 장치 및 방법
EP0923250A1 (en) Method and apparatus for adaptively encoding a binary shape signal
GB2341030A (en) Video motion estimation
JPH11187394A (ja) 2値形状信号符号化装置
KR20000021867A (ko) 이진 형상 신호의 움직임 벡터 부호화 방법
MXPA00008745A (en) Method and apparatus for encoding a motion vector of a binary shape signal

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
FPAY Annual fee payment

Payment date: 20121203

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131202

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee