KR100494275B1 - 내용기초형비디오압축 - Google Patents

내용기초형비디오압축 Download PDF

Info

Publication number
KR100494275B1
KR100494275B1 KR1019960048763A KR19960048763A KR100494275B1 KR 100494275 B1 KR100494275 B1 KR 100494275B1 KR 1019960048763 A KR1019960048763 A KR 1019960048763A KR 19960048763 A KR19960048763 A KR 19960048763A KR 100494275 B1 KR100494275 B1 KR 100494275B1
Authority
KR
South Korea
Prior art keywords
frame
decoder
motion
pixels
blocks
Prior art date
Application number
KR1019960048763A
Other languages
English (en)
Other versions
KR970025168A (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 텍사스 인스트루먼츠 인코포레이티드
Publication of KR970025168A publication Critical patent/KR970025168A/ko
Application granted granted Critical
Publication of KR100494275B1 publication Critical patent/KR100494275B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream

Abstract

본 발명은 디코더 피드백을 사용하여 객체 지향 압축 및 에러 정정을 포함한 비디오 압축 방법 및 시스템(도 1)을 제공한다.

Description

내용 기초형 비디오 압축
본 발명은 전자(electronic) 비디오 방법 및 장치에 관한 것으로, 특히 비디오를 압축시킨 디지탈 통신 및 기억 시스템에 관한 것이다.
비디오 통신(텔레비젼, 원격지간 회의 등)은 전형적으로 수신기에서 실시간 시청 및 청취하기 위해 전송 채널을 통해 오디오와 함께 비디오 프레임(이미지) 스트림을 전송한다. 그러나, 전송 채널은 종종 전와된 노이즈(corrupting noise)를 부가시키며 제한된 대역 폭(예를 들어 6㎒로 제한된 텔레비젼 채널)을 갖는다. 따라서, 압축된 디지탈 비디오 전송이 광범위하게 사용된다. 특히, 디지탈 비디오의 압축을 위한 각종 표준 규격이 출현되고 있는 바, 이에는 H.261, MPEG-1 및 MPEG-2가 포함되며, 더 나아가서는 개정된 H.263 및 MPEG-4가 포함된다. CELP 및 MELP 등과 같은 유사한 오디오 압축 방법이 있다.
Teka1p의 Digita1 Video Processing(Prentice Ha1l 1995), Clarke의 Digita1 Compression of Still Images 및 Video(Academic Press 1995) 및 Schafer 등의 Digita1 Video Coding Standards and Their Role in Video Communications[83 Proc. IEEE 907(1995)]는 H.261, MPEG-1 및 MPEG-2 표준 규격 이외에 H.263 권고안의 기술 및 MPEG-4의 소망 기능 표시를 포함하여 각종의 압축 방법의 요약을 포함하고 있다. 이들 문헌 및 다른 모든 참조 문헌들은 본원에서 참고 사항으로서 함께 사용된다.
H.261 압축은 공간 리던던시(spatia1 redundancy)를 감소시키기 위한 고 공간 주파수 차단과 함께 블럭 라벨에 대한 시간 리던던시(tempora1 redundancy) 및 이산적 코사인 변환(DCT)을 감소시키기 위한 프레임간 예측(interframe prediction)을 사용한다. H.261은 64Kbps(초당 킬로비트) 내지 2Mbps(초당 메가비트) 배수의 전송 레이트를 사용하도록 권고되어 있다.
H.263 권고안은 16×16 매크로블럭과 8×8 블럭의 모션 보상 간에서의 적응성 스위칭과 보다 많은 계산을 행하여 조밀한 모션 필드(모션 벡터 집합)를 얻기 위해(H.261에서 이용하는 루프 필터링 필요성을 제거시키는) 1/2 픽셀 정확도의 모션 추정 및 중첩 모션 보상과 약 22Kbps(트위스트 페어 전화선 겸용)의 비트 레이트를 제외하고는 H.261과 동일하다.
MPEG-1 및 MPEG-2는 또한 H.261과 같이 블럭 레벨에 대해 2차원 DCT 변환이 후속되는 시간적 예측을 이용하지만, 이들은 또한 모션 보상 예측, 보간 및 프레임간 코딩의 각종 결합을 이용한다. MPEG-1은 비디오 CD를 겨냥하고 있는 것으로 약 360 픽셀, 240 라인의 프레임에 대한 약 1 내지 1.5Mbps의 레이트와 초당 24 내지 30 프레임에 잘 적용된다. MPEG-1은 I, P 및 B 프레임을 정의하는 것으로, I 프레임은 내부 프레임이며, P 프레임은 이전의 I 또는 P 프레임으로부터의 모션 보상 예측을 사용하여 코드화되며, B 프레임은 인접한 I 및 P 프레임으로부터의 모션 보상된 양방향성 예측/보간을 사용한다.
MPEG-2는 디지탈 텔레비젼(720 픽셀, 480 라인)을 겨냥한 것으로 I, P 및 B 프레임을 갖는 MPEG-1 타입의 모션 보상을 사용하여 약 10Mbps까지의 비트 레이트를 사용하며 스케일링 가능성이 부가된다(낮은 해상도의 이미지를 전송하도록 낮은 비트 레이트를 추출할 수 있다).
그러나, 상기 MPEG 압축 방법을 이용하면 매우 낮은 비트 레이트를 동작할 때는 블럭킹도(b1ockiness) 및 부자연스러운 객체 모션 등과 같은 허용할 수 없는 여러 아티팩트(artifact)들이 발생한다. 이들 기술은 단지 블럭 레벨에서의 신호의 통계적인 종속성(statistica1 dependency)만을 이용하고 비디오 스트림의 의미 내용(semantic content)은 고려하지 않기 때문에, 매우 낮은 비트 레이트(고양자화 계수) 하에서는 블럭 경계들에서 아티팩트가 도입된다. 통상적으로 이들 경계는 이동 객체의 물리적인 경계와 일치하지 않으므로 가시적으로 처리해야 하는 아티팩트가 생성된다. 제한된 대역 폭에 의해 프레임 레이트가 평활한 모션(smooth motion)에 요구되는 것 보다 그 이하로 떨어질 경우에 부자연스러운 모션이 나타난다.
MPEG-4는 10Kbps 내지 1Mbps의 전송 비트 레이트에 적용하기 위한 것으로 스케일링 가능성, 내용 기초형 조작(content-based manipulations), 에러 경향 환경에서의 강성(robustness), 멀티미디어 데이타 액세스 툴, 개선된 코딩 효율, 그래픽스 및 비디오 인코딩 능력 및 개선된 랜덤 액세스 등과 같은 기능성을 갖는 내용에 근거한 코딩 방법을 사용하는 것이다. 비디오 코딩 방법은 코드화된 동시성 객체의 개수 및/또는 품질을 변화시킬 수 있으면 내용이 스케일링 가능한 것으로 고려된다. 객체 스케일링 가능성은 코드화된 동시성 객체의 개수를 제어하는 것을 의미하며, 품질 스케일링 가능성은 코드화된 객체의 공간 및/또는 시간 해상도를 제어하는 것을 의미한다. 스케일링 가능성은 제한된 대역 폭의 전송 채널, 또한 대역 폭이 동적인 채널에 걸쳐 동작하는 비디오 코딩 방법에서는 중요한 특성이다. 예를 들어, 내용 스케일링 가능한 비디오 코더는 장면 중에서 중요한 객체만을 인코딩하여 고품질로 전송함으로써 제한된 대역 폭에도 아랑곳없이 성능을 최적화시키는 능력을 갖는다. 따라서, 잔여량 객체를 누락(drop)시키거나 그들을 보다 더 낮은 품질로 코드화시키도록 선택할 수 있다. 채널의 대역 폭이 증가하면, 코더는 추가의 비트를 전달하여 불충분하게 코드화된 객체의 품질을 개선시키거나 누락된 객체를 복원시킬 수 있다.
Musmann 등에 의한 Object-Oriented Ana1ysis-Synthesis Coding of Moving Images[1 Sig, Proc.: Image Comm. 117(1989)]에서는 소스 모델(source models)을 사용하는 계층적 이동 객체 검출이 예시되어 있다. Teka1p의 23 내지 24장에서도 객체 기초형 코딩(object-based coding)에 대해 기재되어 있다.
Medioni씨 등에 의한 Corner Detetection and Curvature Representation Using Cubic B-Splines[39 comp. Vis. Grph. Image Processing, 267(1987)]에서는 B-스플라인으로 곡선을 인코딩하는 것에 대해 예시되어 있다. 마찬가지로, Foley 등에 의한 Computer Graphics(Addison-Wesely 2d Ed.)(pages 491 내지 495 및 504 내지 507)에서는 큐빅 B-스플라인 및 Catmull-Rom 스플라인(이들 모두는 제어점을 통과하도록 한정되어 있다)에 대해 기술되어 있다.
비디오를 효율적으로 전송하기 위해서는, 대역 폭이 효율적인 압축 방식을 시스템이 활용해야 한다. 압축된 비디오 데이타는 에러가 발생하기 쉬운 통신 채널을 통해 전송되어진다. 비디오 데이타에서 시간 상관(tempora1 correlation)을 이용하는 비디오 코딩 방식의 경우, 채널 에러에 의해 디코더가 인코더와 동기되지 않게 된다. 이것을 적절하게 처리하지 않는 한, 이에 의해 화질의 저하가 두드러지게 된다. 만족스러운 비디오 품질 또는 서비스 품질을 유지하기 위해서는 이들 채널 에러로부터 데이타를 보호하는 방식을 이용하는 것이 바람직하다. 그러나, 에러 방지 방식은 비트 레이트를 증가시키는 댓가로 얻어진다. 또한, 주어진 에러 제어 코드를 사용하여 모든 가능한 에러를 정정할 수는 없다. 따라서, 이들 채널 에러에 의해 도입되어진 성가시고 가시적으로 방해가 되는 아티팩트를 효율적으로 제거시키기 위해서는 에러 제어 이외에 다른 소정의 기술을 이용할 필요가 있다.
사실상, 압축된 비디오가 전송되는 무선 채널과 같은 전형적인 채널은 고 랜덤 비트 에러율(BER) 및 다수의 버스트 에러(burst error)로 특징지어 진다. 랜덤 비트 에러는 약 0.001의 확률로 발생하며 버스트 에러는 통상 24 밀리초(msec)까지 지속되는 지속 기간을 갖는다.
리드-솔로몬(RS) 코드와 같은 에러 정정 코드는 코드 심볼 블럭당 계획된 개수까지 랜덤 에러를 정정한다. 버스트 에러는 소수의 수신된 심볼로 클러스터(cluster)되는 경향이 있으므로 버스트 에러의 발생이 용이한 채널에서 코드를 사용할 때 문제가 발생된다. 시판 중인 디지탈 음악 콤팩트 디스크(CD)는 인터리브된 코드워드를 사용하여 디코딩시 채널 버스트를 다수의 코드워드에 산포(spread out) 시킬 수 있다. 특히, CD 에러 제어 인코더는 코드 알파벳 GF(256)의 8-비트 심볼을 갖는 단축된 2개의 RS 코드를 사용한다. 따라서, 16-비트 음성 샘플 각각은 2개의 정보 심볼을 갖는다. 우선, 샘플은 한번에 (28, 24) RS 코드에 의해 12개 (따라서 24 심볼) 인코딩되어, 28-심볼 코드워드는 28-브랜치 인터리버를 통하며 브랜치 간에서 28 심볼의 지연 증분이 존재한다. 따라서, 28개 연속하는 28-심볼 코드워드는 심볼마다 인터리브된다. 인터리빙 후, 28-심볼 블럭은 (32, 28) RS 코더로 인코딩되어 전송용 32 심볼 코드워드가 출력된다. 디코더는 미러 이미지: (32, 28) RS 디코더, 지연 증분 4 심볼의 28-브랜치 디인터리버 및 (28, 24) RS 디코더이다. (32, 28) RS 디코더는 입력 32-심볼 코드워드에서는 1 에러를 정정할 수 있으며 32-심볼 입력 코드워드에서는 2개 이상의 에러에 대해 28개 삭제된 심볼을 출력할 수 있다. 다음에 디인터리버는 이들 삭제된 심볼을 28 코드워드에 산포시킨다. (28, 24) RS 디코더는 24-심볼 출력워드에서 삭제된 심볼로 대체되는 4개의 심볼 에러까지 검출하도록 설정되어 있으며, 5개 이상의 에러의 경우에는 24 심볼 모두 삭제된다. 이것은 삭제된 음악 샘플에 대응한다. 디코더는 삭제된 음악 샘플을 인접한 샘플에 보간시킬 수 있다. 일반적으로, Wickes의 Error Control System for Digita1 Communication and Storage(Prentice Ha1l 1995)를 참조 바람.
H.261, MPEG-1 및 MPEG-2 압축 및 압축 해제에 대한 하드웨어 및 소프트웨어 구현이 다수 있다. 하드웨어는 단일 또는 다칩(multichip) 집적 회로 구현(Tekalp의 455 내지 456 페이지 참조) 또는 적절한 소프트웨어를 실행하는 Ultrasparc 또는 TMS320C80 등과 같은 범용 프로세서일 수 있다. 스탠포드 대학의 포터블 비디오 리서치 그룹으로부터 특허권 권리 소멸 상태의 소프트웨어를 구입할 수 있다.
본 발명은 엄격하게 이동하는 객체 인코딩 대신 차분 영역 인코딩(difference region encoding), 블럭형 외형 인코딩(b1ockwise contour encoding), 블럭형 외형 타일링(tiling)에 접속된 모션 보상 실패 인코딩, 프레임의 부영역으로 제한된 웨이브렛을 포함하는 서브 밴드 인코딩, 객체에 관련된 언커버된 배경에 의한 스케일링 가능성, 및 디인터리버로의 코더 피드백 이외에 각각 이동하는 객체의 코드에서 고정된 동기화를 통한 에러 강성을 갖는 내용 기초형 비디오 압축을 제공한다. 본 발명은 또한 랜덤 액세스 메모리 형태의 디지탈 기억 장치를 사용하며 비디오 전화와, 시간 경과 감시를 포함하는 보안용 고정 카메라 감시와 같은 압축용 용도를 갖는 비디오 시스템을 제공한다.
전송 및 기억이 용이한 매우 낮은 비트 레이트 비디오 압축으로 객체 스케일링 가능성 및 에러 강성을 갖는 효율적인 저 비트 레이트 비디오 인코딩이 장점이다. 이것에 의해 저 비트 레이트로 텔레비젼 회의를 할 수 있으며 또한 시리얼 액세스 자기 테이프가 아닌 랜덤 액세스 하드 디스크 드라이브에 의해 감지 정보를 기억시킬 수 있다. 그리고 이동 객체의 분할은 하나 이상의 어떠한 이동 객체에도 집중할 수 있게 허용한다.
도 1은 바람직한 실시예의 압축, 인코딩, 디코딩 및 인코딩 및 디코딩에 대한 에러 정정을 포함한 압축 해제를 이용하여 화자(말하는 사람)의 음성과 이미지를 모두 전송하는 바람직한 실시예의 비디오 전화(원격지간 회의) 시스템의 블럭 다이어그램이다. 물론, 도 1에서는 단지 일 방향으로의 전송과 단지 하나의 수신기만을 도시하였지만, 실제로는 반대 방향으로의 전송을 위해 제2 카메라 및 제2 수신기를 사용할 수 있으며 제3 또는 그 이상의 수신기와 송신기를 상기 비디오 전화 시스템에 연결시킬 수 있다. 비디오와 음성은 따로따로 압축되어지며 비디오와 음성 간의 전송 채널 대역의 할당은 상황에 따라 동적으로 조정될 수 있다. 전화망 대역 폭의 비용 문제는 저 비트 레이트 전송을 요구한다. 실제로, 매우 낮은 비트 레이트 비디오 압축은 가시 품질이 저하될 수 있는 멀티미디어에 적용되는 것을 찾아볼 수 있다.
도 2는 고정 배경(204) 상에 포커스되는[경우에 따라서는 이동 객체(206)는 시계를 통과한다] 하나 이상의 고정 비디오 카메라(202), 비디오 압축기(208), 원격 기억 장치(210)와 디코더 및 디스플레이(220)를 구비하며 참조 번호(200)로 개략적으로 도시된 바람직한 제1 실시예의 감시 시스템을 도시하고 있다. 압축기(208)는 장면의 비디오 이미지 스트림의 압축(예를 들어, 초당 30 프레임, 각각의 프레임은 176×144의 8-비트 단색 픽셀)을 제공하여 압축기(208)에서 기억 장치(210)로의 데이타 전송 레이트는 고 품질의 이미지를 유지하면서, 예를 들어, 초당 22Kbit로 매우 낮을 수 있다. 시스템(200)은 고정 배경을 의지하며 저 데이타 레이트를 달성하기 위해 단지 이동 객체(이것은 배경에 대해 이동하는 프레임 내의 영역으로서 나타남)만을 예측 모션으로 인코딩한다. 이러한 낮은 데이타 레이트에 의해 카메라로부터 개인용 컴퓨터에서 이용하는 자기 하드 디스크 드라이브와 같은 랜덤 액세스 메모리 및 모니터로의 간단한 전송 채널이 작동된다. 사실상, 현행의 단일 전화선으로 압축된 비디오 이미지 스트림을 원격 모니터로 전송할 수 있다. 또한, 이러한 압축 후에는 특정한 감시 상황에서 요구되는 1일 또는 1주간 등의 시간 기간 동안의 비디오 이미지 스트림을 기억하는데 기억 장치를 훨씬 더 적게 필요로 할 것이다.
비디오 카메라(202)는 압축기(208)의 출력이 도 2에서 개략적으로 도시된 디지탈 프레임의 시퀀스가 되도록 카메라에 내장된 아날로그-디지탈 변환기를 갖는 CCD 카메라일 수 있거나, 또는 하드웨어가 추가된 아날로그 카메라를 사용하여 디지탈 비디오 프레임 스트림을 발생시킬 수 있다. 압축기(208)는 하드와이어되거나 또는 보다 편리하게는 은보드 기억 장치인 RAM 또는 ROM이나 이들 모두에 기억되어 있는 압축 단계를 이용하는 디지탈 신호 처리기(DSP)일 수 있다. 예를 들어, TMS320C50 또는 TMS320C80 유형의 DSP이면 충분하다. 또한, 도 1에서 도시된 원격지간 회의 시스템의 경우에는, 실시간 수신시에 에러 정정이 포함되며 범용 프로세서로 구현될 수 있다.
도 3은 프레임 시퀀스(각각의 프레임은 176 픽셀의 144행 또는 352 픽셀의 288행을 가지며 초당 10 프레임의 프레임 레이트를 가짐) F0, F1, F2···로 이루어지는 입력에 대해 다음 단계를 포함하는 바람직한 실시예의 비디오 압축 방법에 대한 상위 레벨 흐름도이다.
이들 두 크기의 프레임들은 각각의 매크로블럭이 16 픽셀 × 16 픽셀인 11개 매크로블럭의 9행 또는 22개 매크로블럭의 18행 어레이로 분할된다. 프레임은 I 픽쳐 또는 P 픽쳐로서 인코딩될 것이며, 후방 보간을 갖는 B 픽쳐는 매우 낮은 비트 레이트 전송을 위해 과도하게 많은 시간 지연을 발생할 것이다. I 픽쳐는 5 또는 10초마다 단지 1번 발생하며 대부분의 픽쳐는 P 픽쳐이다. 176 픽셀의 144행 크기의 프레임 경우, 대략 I 픽쳐는 20Kbit로 인코딩되며, P 픽쳐는 2Kbit로 인코딩되어, 전체 비트 레이트는 대략 22Kbps가 된다(단, 초당 10 프레임 또는 그 이하). 프레임은 단색 또는 인텐시티 프레임(Y 신호)과 1/4 해상도(서브 샘플) 칼라 배합 프레임(U 및 V 신호)에 의해 주어지는 색을 갖는 칼라일 수 있다.
(1) 초기에, DCT 또는 웨이브렛 변형에 기초하는 파형 코딩 기술을 사용하여 MPEG-1, 2에서와 같이 I 픽쳐로서 제로번째의 F0을 인코딩한다. DCT의 경우, 프레임을 8×8 블럭으로 분할시키고, 각 블럭의 DCT를 계산하고, 고 공간 주파수를 차단시키고, 나머지 주파수를 양자화하여 인코딩시키고 전송한다. 인코딩은 런 렝쓰 인코딩(run length encoding), 허프만(Huffman) 인코딩, 그리고 에러 정정 인코딩을 포함한다. 웨이브렛의 경우, 프레임의 다중 레벨(multi-level) 분해를 계산하고, 결과적으로 생성된 웨이브렛 계수를 양자화하여 인코딩시켜 전송한다. 다른 프레임은 또한 전송 채널 비트 레이트에 따른 주파수를 갖는 I 픽쳐로서 인코딩 될 것이다. 프레임 FN이 I 픽쳐인 경우, 동일하게 인코딩시킨다.
(2) 프레임 FN이 P 픽쳐인 경우, 재구성된 FN-1에서 FN으로의 변경 영역을 발견함으로써 프레임 중의 이동 객체를 검출한다. 재구성된 FN-1은 사실상 후술된 바와 같이 전송되는 FN-1과 근사하다. 변경 영역은 이동 객체와 언커버된 배경으로 분할될 필요가 없으며 다시 이동 객체만을 개략적으로 기술한 것이다. 그러나, 이러한 근사로 충분하여 보다 효율적인 낮은 코딩을 제공한다. 물론, 이러한 분할 영역이 이전 프레임에서 변경 영역의 외측에 매핑(mapping)되어 언커버된 배경인지를 판정하는 역 모션 벡터, 객체를 판정하는 엣지 검출 또는 객체와 배경을 구별하는 객체 특성(모델) 추정과 같은 메카니즘을 통해 이동 객체와 언커버된 배경으로 만들 수 있다.
(3) 단계(2)로부터의 변경 영역의 각 접속 성분에 대해 내부 홀을 포함하여 그 경계부 외형을 코드화한다. 따라서, 이동 객체의 경계는 정확히 코드화되지 않고, 그보다는 전체 변경 영역의 경계부가 코드화되어 이동 객체의 경계부와 근사된다. 경계부 코딩은 경계부를 근사시키는 스플라인 또는 변경 영역 내의 블럭을 표시하는 2진 마스크에 의해 이루어질 수 있다. 스플라인은 보다 정확한 경계부의 표현은 제공하지만, 2진 마스크는 보다 적은 수의 비트를 사용한다. 변경 영역의 접속 성분 2진 이미지 마스크의 래스터 주사(raster scanning)와 마스크 중의 픽셀을 인접한 픽셀의 분류에 따라 합체할 수 있는 그룹으로 분류함으로써 정해질 수 있다. 픽셀의 최종 그룹이 접속 성분(접속 영역)이다. 프로그램의 예로서는, Ballard 등에 의한 Computer Vision (Prentice) Hall의 149 내지 152페이지 참조 바람. 후술되는 설명의 편의상 접속 성분(접속 영역)을 (이동) 객체로 할 수 있다.
(4) 이전 프레임으로부터 객체의 모션 추정에 의해 비디오 시퀀스 내의 시간 리던던시를 제거한다. 특히, 현재 프레임 FN 내의 객체의 16×16 블럭과 사전에 재구성된 프레임 FN-1 내의 동일 위치의 16×16 블럭을 일치시키며, 이와 함께 모든 방향으로 15개 픽셀까지 이러한 블럭을 변환시킨다. 양호한 일치는 이 블럭의 모션 벡터를 규정하며, 현재 프레임 FN과의 근사 F'N은 이전 프레임의 대응 블럭을 갖는 모션 벡터를 사용하여 선행 프레임 FN-1로부터 합성될 수 있다.
(5) 근사 F'N을 합성시키는 객체 모션을 사용 후에, 고속 변경 영역과 같은 상당량의 나머지 정보를 포함하는 프레임 내에 여전히 영역이 존재한다. 즉, FN과 합성된 근사 F'N 간의 차분 영역은 단계(2)-(3)과 유사하게 적용된 모션 분할을 가지게 되어 상당한 정보를 포함하는 모션 실패 영역을 한정한다.
(6) DCT 또는 웨이브렛 변형에 근거하는 파형 코딩 기술을 사용하여 단계 (5)로부터의 모션 실패 영역을 인코딩한다. DCT의 경우, 16×16 매크로블럭으로 영역을 타일(tile)하고, 매크로블럭의 8×8 블럭에 DCT를 적용시키고, 양자화하여 인코딩(런 렝쓰 그리고 허프만 코딩)한다. 웨이브렛의 경우, 영역 외의 모든 픽셀 값을 0로 셋트시키고, 다중 레벨 분해를 적용시키고, 선택된 영역에 대응하는 웨이브렛 계수만을 양자화 및 인코딩(제로트리 및 산술 코딩)시킨다.
I 픽쳐 (DCT 또는 웨이브렛 데이타) 또는 P 픽쳐(외형, 모션 벡터 및 모션 실패 데이타를, 각각 갖는 객체로 정렬된 객체)에 대한 인코딩된 정보를 어셈블한다. 이들은 허프만 코드의 테이블로부터의 코드워드일 수 있는데, 이것은 동적 테이블이 아니고 실험적으로 생성된 것이다.
(8) 각각의 I 픽쳐, P 픽쳐, 외형 데이타, 모션 벡터 데이타 및 모션 실패 데이타의 개시시에 재동기 워드를 삽입한다. 이들 재동기 워드는 이들이 허프만 코드워드 테이블에서는 나타나지 않으므로 명료하게 결정된다는 점이 특이하다.
(9) 단계(8)로부터 결과적으로 나타난 비트 스트림을 인터리빙과 함께 리드-솔로몬 코드로 인코딩한다.
(10) 디인터리빙하면서 수신된 인코딩 비트 스트림을 리드-솔로몬에 의해 디코딩한다. 재동기 워드는 디코딩 실패 후에 도움이 되고 또한 랜덤 액세스의 액세스 포인트를 제공한다. 또한, 개선된 에러 정정을 위해 디인터리버와 제2 디코더에서 제1 디코더로의 피드백(디코더 입력의 스토어된 카피)의 한쪽에서 단축형 리드-솔로몬 디코더로 행해질 수 있다.
(11) 스케일링 가능한 비트 스트림을 생성시키는 객체 스케일링 가능성(시퀀스에서 객체의 선택적 인코딩/디코딩) 및 품질 스케일링 가능성(객체의 품질에 대한 선택적 향상) 등의 부가 기능성이 포함 지원된다.
이동 객체 검출 및 분할
바람직한 제1 실시예의 방법은 연속적인 비디오 프레임의 차분 영역을 이용하여 이동 객체를 검출하고 분할하지만, 이러한 영역을 이동 객체와 언커버된 배경으로 분리시키지는 않는다. 이것은 정보를 간략화시키지만 충분한 품질을 제공하는 것으로 보인다. 특히, 프레임 FN에서는 각 픽셀에서 FN과 재구성된 FN-1 간의 인텐시티(Y 신호) 차의 절대값을 구한다. 8-비트 인텐시티(0 내지 255로 레이블된 256 레벨)의 경우, 카메라 교정 변화 능력은 0 내지 15의 인텐시티 범위는 어둡게 하고 240 내지 255의 범위는 포화된 휘도로 하도록 제안할 수 있다. 픽셀에서 인텐시티 차의 절대값은 0 내지 255의 범위에 속해 있어, 최소의 차를 제거시키고 임계화에 의해 2진 이미지를 형성한다[(장면 주위 조도에 따라) 5 내지 10 또는 그 이하의 임의 픽셀 절대차를 0으로 셋트시키고 30 이상의 임의 픽셀 절대차를 1로 셋팅시킨다]. 이는 얼룩질 수 있는 이진 이미지를 만든다: 도 4a∼b는 2개의 연속 프레임을 도시하며 도 4c는 1을 나타내는 검은 픽셀과의 임계 절대 차로서 큰 차를 나타내고 또 흰색의 배경 픽셀은 0을 나타내는 이진 이미지를 도시한다.
미디언 필터링에 의해 노이즈로부터 발생될 수 있는 것과 같이 2진 이미지에서 분리된 소규모 영역을 제거시킨다[4(8?)개의 가장 근접한 픽셀이 모두 0이면 픽셀에서의 1을 0으로 대체시킨다].
다음에, 근접된 부분 사이에 기입하도록 형태적인 클로즈 동작(침식 동작이 뒤따르는 확장 동작)을 행하는데, 이는 즉 도4c의 얼룩 부분을 솔리드 부분(solid area)으로 대체한다. 반경 K 픽셀의 원형 커널(K는 QCIP 프레임인 경우는 11과 CIF 프레임인 경우는 13이어도 됨)을 갖는 확장과 침식 동작을 사용하고, 특히 확장 동작은 만일 본래의 0 픽셀의 K 픽셀 내에서 다른 픽셀이 1픽셀이라면 0픽셀을 1로 대체하고, 침식 동작은, 또한 1 픽셀인 본래의 1 픽셀의 K 픽셀 내에서 모든 픽셀이 역시 1이 아니라면 1 픽셀을 0으로 대체한다. 클로우즈 동작 후, 첫째의 작은 절연부를 제거하기 위해 오픈 동작(확장 동작에 따른 침식 동작)을 공급한다. 이는 도4d에 도시되는 바와 같이 꽤 부드러운 경계들을 갖는 1 픽셀의 접속 구성(영역) 세트를 산출한다. 접속 구성이 경계 외형을 또한 제공하는 하나 또는 그 이상의 내부 홀을 갖어도 된다는 것을 주목하라.
다음, 접속부 및, 그들의 경계 외형(1이고, 또 0인 가장 이웃한 적어도 하나의 픽셀을 갖는 픽셀이 경계 외형 픽셀로 간주됨)을 검출하고 레이블링(labeling)하기 위해 2진 이미지 래스터를 주사한다. ccomp(발라드 참조 또는 부록을 보라)와 같은 프로씨저(procedure)는 이것을 완성할 수 있다. 이들 각 영역은 모션에 의해 언커버된 배경과 하나 또는 그 이상의 모션 사물을 추정하여 나타낸다. 작은 영역들은 극도의 경계 픽셀 좌표들 사이에 최소차와 같은 한계를 사용함으로써 무시될 수 있다. 그런 작은 영역들은 연속적인 프레임으로 성장하고, 실제로 나중 프레임의 동작 실패 영역에서 결과적으로 생길 수 있다. 물론, 접속 영역은, K 픽셀 사출부 확장/침식 커널보다 더 작을 수 없는데, 그렇지 않으면 개방 동작에서 살아남을 수 없게 된다.
외형 표현
바람직한 실시예는 스플라인 근사 또는 외형을 스트래들링(straddling)하는 블럭에 의해 경계 외형 인코딩할 선택권을 갖는다; 이것은 고해상도 또는 저해상도의 선택을 가능하게 하고 이에 의해 스케일링 능력을 제공한다. 블럭 표현으로 인코딩하는 경계 외형은 적은 비트를 가지지만 스플라인 표현보다 덜 정확하다. 따라서, 이 출원에 따라 선택될 수 있는 타협 사항이 있게 된다.
(ⅰ) 블럭 경계 외형 표현
이전의 섹션의 FN으로부터 유도된 2진 이미지의 접속 영역 각각에 대해서, 최소 및 최대의 경계 화소 x 좌표와 y 좌표를 찾아 영역의 경계 직사각형(bounding rectangle)을 찾는다: 최소 x 좌표(x0)와 최소 y 좌표(y0)는 하부 좌측 직사각형 코너(x0, y0)를 정의하고 최대 좌표는 상부 우측 코너(x1, y1)를 정의하며; 접속 영역을 나타내는 도 5a와 이 영역에 경계 직사각형을 더한 것을 도 5b에서 나타낸다.
다음에, (x0, y0)에서 시작하는 16×16으로 직사각형을 타일링하는데, 이 매크로블럭은 직사각형 측변이 다수개의 16 픽셀이 아닌 경우 상부 및/또는 우측 엣지를 지나 연장되어 있다. 타일링을 설명하는 도 5c를 참조한다. 타일링이 프레임의 외측으로 연장되어 있으면, 타일링을 프레임 내로 유지하도록 코너(x0, y0)를 변환시킨다.
경계 또는 영역 내의 256 픽셀 중 적어도 50개(즉, 적어도 약 20%)를 갖는 타일링 매크로블럭은 1로 나타내도록 또 갖지 않는 매크로블럭에 대해서는 0으로 나타나도록 비트 맵을 형성한다. 이것은 경계 외형의 블럭 설명 즉, 개시 코너(x0, y0)와 비트 맵을 제공한다. 비트 맵을 나타내는 도 5d를 참조한다.
코너 및 비트 맵 정보는 영역이 적은 경우, 즉 최대한 3 또는 4개의 매크로 블럭이 경계 직사각형을 타일하는 경우, 전송될 것이다. 영역이 더 큰 경우에는, 더 효과적인 코딩이 다음과 같이 진행하게 된다. 먼저, 비트 맵을 이전의 프레임의 비트 맵과 비교하는데, 통상 이전의 프레임은 3 또는 4 비트 맵만을 갖고 있다. 비트 맵이 매칭되면, 이전 프레임의 비트 맵의 관련 코너, (x'0, y'0)를 (x0, y0)와 비교한다. 다음에, (x'0, y'0)이 (x0, y0)과 일치하면, 코너를 나타내는 비트와 이전의 프레임의 것에 매칭되는 비트 맵이 전체 비트 맵과 코너 대신에 전송될 수 있다. 도 5e는 이 단일의 비트 외형 전송을 나타낸다.
유사하게, 비트 맵이 이전의 프레임의 비트 맵과 매칭되지만 관련 코너(x'0, y'0)가 (x0, y0)와 일치하지 않으면, 전체 비트 맵과 코너 대신에 변환 벡터 [(x'0, y'0)-(x0, y0)]를 전송한다. 이 변환 벡터는 통상 객체가 프레임에서 프레임으로 너무 많이 이동하지 않기 때문에 충분히 작게 될 것이다. 도 5f를 참조하라.
더욱이, 비트 맵이 일치하지 않지만, 비트 맵 차이가 더하거나 빼어 4 또는 5 매크로블럭 차이 정도로 크지 않으면, 더하거나 뺀 다음에 변경된 매크로블럭의 위치 및 관련 직사각형 코너의 임의의 변환 벡터, (x'0, y'0)-(x0, y0)도 함께 전송한다. 도 5g를 참조한다.
마지막으로, 매크로블럭의 큰 차이에 대해서는, 전송을 도시한 도 5h에서 나타낸 바와 같이, 코너 (x0, y0)에 실행 길이를 더하여 전송하고 경계 직사각형에서 매크로블럭 열을 따라 비트 맵을 인코딩한다. 영역 내의 충분히 큰 홀에 프로젝션을 더하게 되면 로우에 다수의 주행(run)이 발생하게 할 수 있다.
(ⅱ) 스플라인 경계 외형 표시:
이전의 섹션에서 유도된 각 접속 영역에 대하여 이 영역의 어느 내부 홀의 코너 지점을 포함하는 경계 외형의 코너 지점을 찾는다. 직경이 50 픽셀 정도의 크기인 영역은 경계 외형에서 200-300 픽셀을 가지게 되어, 외형 표시에서 픽셀의 약 20%를 사용함에 주의해야 한다. 코너 지점에 적당한 Catmull Rom 스플라인(Foley의 참고문이나 부록을 참조하라)은 경계를 근사화한다.
모션 추정
선행 섹션의 FN으로부터 유도된 비트 맵 및 각각 접속된 영역에 대하여, 영역의 모션 벡터를 추정하는 것은 다음과 같다. 먼저, 영역 내에 있는 비트 맵에 의해 표시된 매크로블럭에 해당하는 FN 내의 각각의 16×16 매크로블럭에 대하여, 이러한 매크로블럭을 선행 재구성된 프레임 FN-1 내의 매크로블럭과 비교하는데, 이는 FN 내의 상기 매크로블럭의 15개의 픽셀(탐색 영역)까지 변환시키게 된다. 이러한 비교는 FN 내의 선택된 매크로블럭 및 FN-1 내의 비교되는 매크로블럭의 픽셀 인텐시티들의 절대값 차이의 합이다. 탐색은 양호한 매칭을 얻도록 서브-픽셀 해상(비교를 위해 보간된 하프 픽셀)으로 수행되며, 모든 방향으로 15개 픽셀까지 행해진다. 그 다음으로, 최소 차이 합을 갖는 FN 내지 FN-1까지의 선택된 매크로블럭의 변환에 해당하는 모션 벡터는 선택된 매크로블럭의 모션에 대한 추정값으로서 취해질 수 있다. 비트 맵과 동일한 매크로블럭 위치를 사용하는 것은 추가 개시 위치를 전송할 필요가 없도록 만든다는 사실을 주목해야 한다. 모션 벡터를 나타내는 도6을 참조하라.
만일 모션 벡터를 정하는 최소 차이 합이 임계값보다 크다면, FN-1 내에서 탐색된 매크로블럭의 어떠한 것도 FN 내의 선택된 매크로블럭과 충분히 매칭하지 않으며, 따라서 모션 벡터 표현을 사용하지 않는다. 차라리, 선택된 매크로블럭을 (이전 프레임의 블럭에 대한 변환으로서 예측된) P 블럭으로서가 아닌 (그 전체에서 프레임간 인코딩된) I 블럭으로서 단순히 인코딩한다.
다음으로, 모션 벡터를 갖는 각각의 매크로블럭에 대하여, 매크로블럭을 FN 내의 8 × 8 블럭으로 부분할하고, 각각의 8 × 8 블럭에 대한 모션 벡터를 찾기 위하여 FN-1의 8 × 8 블럭의 변환과의 비교를 반복한다. 만일 8 × 8 블럭의 4개의 모션 벡터에 대해 요구되는 코드 비트의 전체 수가 16 × 16 매크로블럭의 모션 벡터에 대한 코드 비트 수보다 작고, 또 4개의 모션 벡터를 사용함으로써 가중된 에러가 단일 매크로블럭 모션 벡터에 비교되었다면, 8 × 8 블럭 모션 벡터를 사용한다.
전체 영역에 대해 평균 모션 벡터를 찾기 위하여 영역 내에 있는 FN 내의 모든 매크로블럭에 대하여 모션 벡터를 평균한다. 그 다음으로, 만일 어떠한 매크로블럭 모션 벡터들도 임계값만큼 평균 모션 벡터와 다르지 않다면, 단지 변환되는 것이 요구되는 모션만을 평균한다. 또한, 평균 모션 벡터는 다음의 에러 은폐 섹션에서 지적되는 바와 같이 에러 복구에 사용될 수 있다.
따라서, 선행 세그먼트 섹션에 의해 FN 내에 찾아지는 각각의 접속된 영역에 대하여, 모션 벡터와 비트 맵을 함께 변환한다. 전형적으로, 176 ×144 픽셀 프레임으로 원격지간 회의하는 것은 예측되는 2 내지 4개의 접속 영역의 형상을 인코딩 하기 위한 100-150 비트와 함께 모션 벡터를 위한 200-300 비트를 요구할 것이다.
또한, 선택적인 8 × 8 또는 16 × 16 모션 벡터 및 중첩 모션 보상 기법이 사용될 수 있다.
모션 실패 영역 검출
FN에 대한 근사는 선행 섹션에서 찾을 수 있는 바와 같이 모션 벡터와 FN-1로부터의 해당 (매크로) 블럭을 함께 사용함으로써 재구성된 FN-1로부터 합성될 수 있는데: 분할 섹션에서 찾아지는 차분 영역 외에 놓인 FN의 부분 내의 픽셀에 대하여는 FN-1 내의 해당 픽셀의 값을 바로 사용하고 또 접속 영역 내의 픽셀에 대해서는 모션 벡터가 픽셀을 갖는 FN 내의 매크로블럭으로 변환하는 FN-1 내의 해당 픽셀의 값을 사용한다. 모션 벡터와 FN-1로부터의 해당 (매크로) 블럭을 함께 사용함으로써 근사 합성된 것 내의 해당 픽셀의 인텐시티로부터 임계값보다 크게 다른 인텐시티를 갖는 FN 내의 픽셀은 모션 보상 실패 영역을 나타낸다. 이러한 모션 실패 영역을 처리하기 위하여, 인텐시티 차이가 임계값이 되어 미디언 필터렁(median filtering)되고, 또 선행 객체 검출 및 분할 섹션에서 설명된 FN 내지 FN-1로부터의 차이와 동일한 방식으로 형태적 폐쇄(morphologica1 close) 및 개방(open) 동작 처리된다. 모션 실패 영역은 이동 객체 영역 내에 놓일 것이라는 사실을 주목해야 되는데, 이는 도7에 도시된다.
만일 스플라인 경계 외형(spline boundary contour)이 사용되었다면, 경계 외형 내의 매크로블럭의 부분만을 고려하면 된다.
잔존 신호 인코딩
모션 실패 영역을 다음과 같이 인코딩한다: 선행 경계 외형 섹션의 비트 맵의 16 × 16 매크로블럭을 갖는 이러한 모션 실패 영역을 타일링하는데, 이는 비트 맵에 대한 것과 동일하기 때문에 타일링하기 위하여 개시 픽셀을 전송할 필요를 제거한다. 또한, 이는 타일링이 객체와 함께 모션하고 따라서 변화를 줄일 수 있다는 것을 의미한다.
모션 실패 영역에 대하여, 각각의 매크로블럭 내에서 계수 양자화를 사용하여 DCT를 단순히 적용시키고 인코딩을 진행시키며 또 그 다음으로 허프만 인코딩을 행한다. 그리드 내의 매크로블럭을 나타내는 도8을 참조하라.
양호한 실시예의 모션 실패 영역 인코딩은 DCT 또는 DPCM 대신에 웨이브렛(wavelet)을 사용한다. 특히, 양호한 실시예는 도8에 도시된 바와 같이 모션 실패 영역의 매크로블럭 상에서 웨이브렛 변환을 사용한다. 웨이브렛 변환은 전형적으로 모웨이브렛(mother wavelet), Ψ(), 및 모스케일링 함수(mother scaling function), Φ()의 확장(dilation) 및 변환에 기초된 완전 프레임 변환(full frame transform)이라는 것을 기억해야 하는데; 이때 Ψ() 및 Φ() 양자 모두는 특정 모웨이브렛에 따라 몇몇 인접 픽셀에 대해서만 근본적으로 영(zero)이 아니다. 한편, 1차원 내에서의 웨이브렛 변환용 기준 함수(basis function)는 정수인 n 및 m에 대해 Ψ n,m(t) = 2-m/2 Ψ(2-mt - n)이다. Ψ() 및 Φ()들은 변환이 적분(개별 경우에 대한 합)에 의해 용이하게 계산될 수 있도록 변환 및 확장이 sin(kt) 및 cos(kt)의 직교도(orthogonality)와 유사한 직교가 되도록 선택된다. 2차원 변환은 각 차원의 Ψ n,m()의 프러덕트(product)로서 기본 함수를 간단히 사용한다. 지수 n은 변환을 나타내며, 지수 m은 확장을 나타냄을 주목해야 한다. 압축은 DCT로 압축한 것과 유사한 변환 계수의 양자화로부터 발생한다. 예를 들어 Antonini 등에 의한 1992년도 1 IEEE Trans. Image Proc. 205의 "Image Coding Using Wavelet Transform" 및 Mallat에 의한 웨이브렛 변환 검토를 위한 1989년도 3월 The Wavelet Representation 11 IEEE Tran. Patt. Anal. Mach. Intel. 674의 "A Theory for Multiresolution Signal Decomposition"을 참조하라. 개별 변수에 대하여 웨이브렛 변환은 서브밴드(subband) 필터링으로서 간주될 수 있는데: 필터 출력은 변환 계수 집합으로부터 재구성된 것이다. 웨이브렛 변환은 필터링을 통하여 이미지를 4개의 서브밴드로 분해하는 연속적인 단계로 진행되는데, 이들은 수직적 저역통과를 갖는 수평적 저역통과, 수직적 저역통과를 갖는 수평적 고역통과, 수직적 고역통과를 갖는 수평적 저역통과, 및 수평 및 수직 양자 모두의 고역통과이다. 제1 단계에서, 고역통과 필터링은 변환 Ψ n,l과의 컨벌루션(convolution)이며, 저역통과는 스케일링 함수 변환 Φ n,l과의 컨벌루션이다. 제2 단계에서, 수평 및 수직 양자 모든 방향의 저역통과의 제1 단계 서브밴드의 출력은 4개의 서브밴드로 다시 필터링 되나, 이번의 고역통과 필터링은 어떤 의미에서는 Ψ n,1의 1/2 주파수를 갖는 Ψ n,2와의 컨벌루션이고, 또 마찬가지로 저역통과 필터링은 Φ n,2와의 컨벌루션이다. 도 9a-c는 각각의 필터링된 이미지가 각 방향으로 2인 팩터만큼 서브샘플링될 수 있고 이에 따라 4개의 출력 이미지들이 원시 입력 이미지와 동일한 픽셀 수를 갖게 되는 결과를 갖는 4개의 서브밴드 필터링을 도시한다. 양호한 실시예는 필터에 선형 위상을 제공하는 양직교(biorthogonal) 웨이브렛을 사용할 수 있다. 양직교 웨이브렛은 상술된 직교 웨이브렛과 유사하나, (분해 및 재구성 단계에 대해) 2개의 관련 모웨이브렛 및 모스케일링 함수를 사용한다. 예를 들어, 양호한 양직교 웨이브렛의 몇몇 예를 제공하는 Villasenor 등의 1994년 Utah Snowbird에서의 IEEE Proceedings of Data Compression Conference의 "Filter Evaluation and Selection in Wavelet Image Compression"을 참조하라. 양호한 실시예는 분해 및 합성 필터에 대해 h0 = 0.707107, h1 = 0.707107 및 g0 = -0.088388, g1 = -0.088388, g2 = 0.707107, g3 = 0.707107, g4 = 0.088388, g5 = -0.088388인 저역통과 필터 계수를 갖는 Villasenor 논문으로부터의 (6,2) 탭 필터 쌍을 사용할 수 있다.
양호한 실시예의 웨이브렛은 원시 이미지 내에 관심을 갖는 원래의 영역에 해당하는 각각의 단계에서 서브밴드 내의 영역만을 코딩함으로써 이미지 내의 대상 영역만의 정보를 일반적으로 선택 변환시킨다. 서브밴드 필터링된 출력 내에 영역이 어떻게 나타나는가를 발견적(heuristically)으로 도시하는 도10a-c를 참조하라. 이러한 방법은 대상 영역외의 비트를 낭비하는 것을 회피하게 하며 또 비디오 품질을 개선시킨다. 모션 실패 영역을 위한 특정 사용은 대상 영역을 인코딩 하기만 하는 특별한 경우이다. H. J. Barnard의 논문(1994년 Technical Universiteit Delft의 "Image and Video Coding Using a Wavelet Decomposition")은 이미지를 비교적 균일한 영역으로 분할한 다음 비디오 시퀀스가 아닌 단일 이미지로만 여겨지는 각각의 영역을 코딩하기 위하여 다른 웨이브렛 변환을 사용한다는 사실을 주목해야 한다. Barnard의 방법은 웨이브렛 변환이 각각의 영역 형상에 대해 변형될 것을 역시 요구하는데, 이는 필터링 단계 및 코딩 단계를 복잡하게 만든다. 양호한 실시예는 단일 필터링 변환을 사용한다. 또한, 양호한 실시예는 전체 프레임을 채우는 Barnard에서와 같이 균일한 영역이 아닌 대상 영역을 응용한다.
양호한 실시예는 이미지 맵으로 대상 영역을 나타낸다. 맵은 주어진 이미지의 어떠한 픽셀이 대상 영역 내에 있는지를 나타낸다. 만일 2개 이상의 값들이 맵에 사용된다면, 가변 특성이 다른 영역에 주어질 수 있다. 이러한 맵은 부가 정보(side information)로서 디코더에 역시 전송될 수 있다. 효율적이기 위하여, 맵 정보는 모션 압축과 같은 다른 부가 정보와 결합될 수 있다.
맵은 양자화 하는 동안 사용된다. 웨이브렛은 이미지를 서브밴드로 분할하기 때문에, 제1 단계는 맵을 서브밴드 구조로 변환하는 것이다(즉, 서브밴드 출력 이미지 내의 어떠한 위치가 원시 맵에 해당하는가를 결정한다). 이는 코딩될 서브밴드의 서브영역 집합을 발생한다. 도10a-c는 서브영역을 도시하는데, 도10a는 도시된 대상 영역을 갖는 원시 이미지 맵을 도시하며, 또 도10b는 분해의 한 단계 후에 코딩되는 해당 대상 영역을 갖는 4개의 서브밴드 출력을 도시한다. 도10c는 대상 영역을 갖는 2단계 후의 서브밴드 구조를 도시한다.
양호한 실시예는 먼저 대상 영역외에 있는 픽셀들을 0으로 설정한 다음 웨이브렛 분해를 행한다(서브밴드 필터링 단계). 분해 후 및 웨이브렛 변환 계수의 양자화 동안, 인코더는 코딩되는 대상 영역 내에 있는 값에 대한 정보만을 송신한다. 계수의 양자화는 DCT 변화 계수 양자화와 유사한 압축을 제공한다. 대상 영역 방법을 사용하면 이를 사용하지 않는 경우에 비해 압축에 따라 비디오 품질이 증가한다는 것을 실험에 의해 알 수 있었다.
웨이브렛 필터링 프로세스는 정보를 어느 정도 훼손할 것이고 또 대상 영역 경계 밖을 훼손시키는 어떠한 정보도 잃어버리게 될 것이기 때문에 선택된 대상 영역의 엣지 근처의 값들을 나타내는 경우 어느 정도 약간의 희생이 있게 된다. 이는 만일 대상 영역 내의 값들이 완벽하게 코딩된 경우조차도 대상 영역 내의 값들을 완벽하게 재구성할 것이라는 보장을 할 수 없다는 것을 의미한다. 실제로, 전형적인 압축 응용에 요구되는 양자화 레벨은 이미지가 어째든 임의의 완전한 재구성 레벨이 아니며 또 엣지 근처의 작은 효과는 모든 실제 목적에 대해서는 무시될 수 있다는 것을 의미하기 때문에 이는 엄격한 제한 요소는 아닌 것으로 여겨진다.
양호한 실시예는 변환 계수에 대해 제로트리 양자화 방법(zerotree quantization method)을 사용할 수 있다. 단일 이미지에 응용되는 제로트리 방법에 대한 상세한 사항은 Shapiro의 1993년도 41 IEEE Trans. Sig. Proc. 3445의 "Embedded Image Coding Using Zerotrees of Wavelet coefficients"를 참조하면 된다. 제로트리 방법은 대상 서브영역 내에 있는 제로트리만 코딩됨을 의미한다. 물론, 다른 양자화 방법이 제로트리 대신에 사용될 수 있다. 도11은 제로트리 관계를 도시한다.
응용시, 대상 영역은 다양한 방법으로 선택될 수 있는데, 이는 (모션 압축 후에 비디오를 압축하는 것과 같은) 많은 수의 에러를 포함하는 영역 또는 스케일링 가능한 압축을 위해 중요하게 인식되는 (얼굴과 같은) 이미지 특징 또는 객체에 해당하는 영역들이다. 영역을 선택하는 능력을 갖는 것은 잔존 이미지의 양자화가 전형적으로 프레임에 걸쳐 균일하게 분산되기보다는 모션 영역 내에 집중된 정보를 포함하는 경우의 모션 압축형 비디오 코딩시 특히 유용하다.
대상 영역은 모션 압축 후 임계값을 초과하는 에러를 갖는 매크로블럭으로서 선택될 수 있다. 이러한 응용은 본질적으로 대상 맵 정보 영역을 모션 압축 정보와 결합시킨다. 또한, 대상 영역은 다음에 설명되는 바와 같이 객체 및 그 모션 실패 영역을 담당하는 매크로블럭일 수 있다.
도12는 대상 영역 상에서의 웨이브렛 변환을 사용하는 비디오 압축기를 도시한다.
대안적인 양호한 실시예는 모션 실패 영역 매크로블럭 상에서 웨이브렛 변환을 사용하며 또 이는 직각 그리드와 정렬될 수 있다.
(1) 먼저, 제0 프레임 F0을 I 픽처로 인코딩한다. 전체 프레임의 다중 레벨 분해를 계산하고, 결과 웨이브렛 계수를 양자화하여 인코딩한 후 전송한다. 양호한 실시예는 양자화 및 인코딩의 제로트리 방법을 사용한다. I 이미지가 되는 어떠한 후속 프레임 FN도 동일한 방식으로 인코딩될 수 있다.
(2) (I 픽처가 아닌) P 픽처로서 인코딩되는 각각의 프레임에 대해서, 프레임의 픽셀 값을 이전 재구성된 프레임의 픽셀 값과 비교함으로써 입력 프레임 상에서 모션 압축을 수행한다. 결과 예측되는 프레임이 잔존 이미지(예측된 픽셀 값과 실제 픽셀 값의 차이)를 발생하기 위하여 입력 프레임으로부터 감산된다. 모션 압축은 앞서 설명된 분할 방법을 사용하거나 또는 (H.263에서와 같이) 블럭마다에 기초하여 간단히 행해질 수 있다. 결과 모션 벡터 정보는 코딩되어 전송된다.
(3) 단계(2)에서 계산된 각각의 잔존 이미지에 대하여, 부가 정보가 송신될 대상 영역 또는 영역을 결정한다. 이는 앞서 설명된 모션 실패 방법을 사용하거나 매크로블럭의 잔존 값의 제곱 값들의 합을 임계값에 비교하고 또 대상 영역의 임계값보다 큰 매크로블럭만을 포함시킴으로써 매크로블럭에 기초하여 간단히 행해질 수 있다. 이러한 단계는 대상 영역 맵을 발생시킨다. 이러한 맵은 코딩되어 전송된다. 맵 정보가 단계(2)의 모션 벡터 정보와 관련되기 때문에, 대안적인 실시예는 요구되는 비트 수를 감소시키기 위하여 모션 벡터 및 맵 정보를 함께 코딩하여 전송한다.
(4) 단계(2)에서 계산된 잔존 이미지 및 단계(3)에서 발생된 대상 영역 맵을 사용함으로써, 대상 영역 맵 밖의 위치에 해당하는 잔존 이미지의 값들이 0으로 설정될 수 있다. 이는 대상 영역외의 값들은 웨이브렛 분해 후 대상 영역 내의 값들에 영향을 주지 않는 것을 보장한다. 단계(4)는 선택적이며 영역 기초형 웨이브렛 방법이 모션 보상 잔존량 이외의 것에 응용되는 경우는 적절하지 않을 수 있다.
(5) 전통적인 다중 레벨 웨이브렛 분해는 단계(4)에서 계산된 이미지에 응용된다. 필터링 동작의 수는 대상 영역 내에서만 필터링을 수행함으로써 (복잡하게 됨에 따른 비용 증가를 갖으면서) 감소될 수 있다. 그러나, 단계(4)로부터 0으로 만드는 것으로 인하여, 동일한 결과가 필터링 단계를 간략하게 만드는 전체 이미지 상에서 필터링을 수행함으로써 얻어질 것이다.
(6) 단계(5)에서 발생된 분해된 이미지가 다음으로 양자화 되어 인코딩 된다. 대상 영역 맵은 분해된 서브밴드의 어떠한 해당 웨이브렛 계수가 고려되어야 하는지를 규정하기 위하여 사용된다. 도10은 대상 영역 맵이 서브밴드 내의 어떠한 서브영역이 코딩될 것인지를 나타내기 위하여 어떻게 사용되는지를 나타낸다. 다음으로, 대상 서브영역 내의 모든 계수들이 양자화 되어 인코딩 된다. 양호한 실시예는 Shapiro에 의한 제로트리 방법의 변형을 사용하는데, 이는 서브밴드, 스케일러 양자화 및 산술 코딩 사이의 연관을 결합한다. 제로트리 방법은 대상 서브영역 내의 계수들에 응용된다. 다른 양자화 및 코딩 방법이 만일 대상 서브영역 내의 계수를 단지 코딩하도록 변형된다면 역시 사용될 수 있다. 그 다음으로, 양자화 및 인코딩 단계의 출력 비트가 전송된다. 결과 양자화 분해된 이미지가 단계(7)에서 사용된다.
(7) 종래의 다중 레벨 웨이브렛 재구성이 단계(6)으로부터의 양자화 분해된 이미지에 응용된다. 필터링 동작의 수는 대상 영역 내에서만 필터링을 수행함으로써 (보다 복잡해짐에 따른 증가된 비용으로) 감소될 수 있다. 그러나, 단계(4)로부터 0으로 만든 것으로 인하여, 동일한 결과가 필터링 단계를 간략하게 만드는 전체 이미지 상에서의 필터링을 수행함으로써 얻어질 것이다.
(8) 단계(4)에서와 같이, 단계(7)에서 계산된 재구성된 잔존 이미지 및 단계(3)에서 발생된 대상 영역 맵들이 대상 영역 맵 밖의 위치에 해당하는 재구성된 잔존 이미지 내의 값을 0으로 만드는데 사용될 수 있다. 이는 대상 영역외의 값들이 재구성된 잔존 값이 예측된 이미지에 부가되는 때에 변형되지 않는 것을 보장한다. 단계(8)은 선택적이며 만일 영역 기초 웨이브렛 방법이 모션 보상된 잔존 이외의 것에 응용된다면 적절하지 않을 수 있다.
(9) 단계(8)로부터의 결과 잔존 이미지가 재구성된 프레임(즉, 디코더가 디코딩할 대상)을 발생시키기 위하여 단계(2)로부터 예측된 프레임에 부가된다. 재구성된 프레임은 다음 프레임에 대한 모션 보상용으로 사용되기 위하여 프레임 기억 장치에 저장된다.
보다 일반적으로, QMF 및 Johnston과 같은 다른 유형의 서브밴드 필터링이 대상 영역 기초 방법이 유지된다면 웨이브렛 필터링 대신에 사용될 수 있다.
스케일링 가능성
양호한 실시예의 객체 지향 방법은 스케일링이 가능하도록 허용한다. 스케일링 가능한 압축은 예를 들어 특정 사람을 나타내는 모든 객체가 제거된 인코딩된 정보의 서브집합을 가질 수 있는 압축된 비디오 비트스트림 구성을 말하는데, 그 잔존 비트스트림은 역시 마치 사람이 결코 비디오 화면 상에 있던 적이 없었던 것처럼 제거되는 사람 없이 정확하게 디코딩할 것이다. 제거는 어떠한 객체도 디코딩 또는 재디코딩 하지 않고 행해져야만 한다. 객체는 화면으로부터 객체를 제거하지 않을 손실을 갖는 "개선형(enhancement)" 객체와 같은 다른 유형일 수 있으나, 오히려 가시 표현(visua1 appearance) 또는 생략 오디오(omit audio) 또는 객체에 링크된 다른 데이타의 품질을 떨어뜨린다.
양호한 실시예의 스케일링 가능한 객체-기초 비디오 코딩은 다음과 같이 진행된다:
각 프레임에 대한 분할 마스크를 갖는 프레임의 입력 비디오 시퀀스를 가정하면, 마스크는 픽셀이 어떠한 객체에 속하는지 외형을 그린다. 상기와 같은 마스크는 병합(merger) 및 분리(separation)를 포함하여 객체 인식용 마스크의 접속 영역의 프레임을 통하여 커버되지 않은 배경을 결정하고 또 추적하기 위한 역 모션 벡터를 함께 갖는 차분 영역에 의해 형성될 수 있다. 배경을 참조한다. 프레임은 초기 프레임은 I 프레임이 되도록 I 프레임 및 P 프레임으로서 코딩되며, 또 다른 I 프레임은 그 다음에 규칙 또는 비규칙 간격으로 발생할 수 있다. 삽입 프레임들은 P 프레임이며, 또 최근접한 선행하는 I 프레임으로부터의 예측에 좌우된다. I 프레임이 "I 객체"를 객체로서 정하기 위하여, 분할 마스크는 I 객체들이 I 프레임 내에 있는 것은 아니나 P 프레임 내에 있을 수 있는지를 식별한다. 도 13a-b는 제1 프레임 및 그 분할 마스크를 도시한다.
분할 마스크의 역 이미지를 형성하기 위하여 먼저 I 프레임을 인코딩한다. 그 다음으로, 이러한 이미지는 블럭킹 되며(그리드 상에 정렬된 최소 수의 16 × 16 매크로블럭으로 커버되며), 또 블럭킹된 이미지는 프레임으로부터 배경 이미지를 추출하기 위한 마스크로서 사용된다. 블럭킹된 이미지 및 추출된 배경을 도시하는 도13c-d를 참조한다.
다음으로, 블럭킹된 마스크가 상술된 차분 외형 인코딩과 같은 방법에 의하여 효과적으로 인코딩 된다. 이러한 마스크 비트는 객체 #0(배경 객체)의 일부분으로서 출력 비트스트림 내에 넣어진다.
그 다음으로, 추출된 배경이 상술된 바와 같이 DCT 인코딩된 16 × 16 매크로블럭과 같은 것에 의하여 효과적으로 인코딩 된다. 이러한 비트들은 객체 #0의 일부분으로서 출력 비트스트림에 넣어진다.
또한, 프레임 내의 각각의 객체에 대하여, 상기 객체에 대한 분할 마스크가 블럭킹 되어 인코딩 되고, 또 배경 이미지에 대해 행해진 것처럼 블럭킹 되어 인코딩된 마스크를 통하여 제1 프레임으로부터 객체가 추출된다. 블럭킹된 객체 마스크 및 추출된 객체를 도시하는 도13e-f를 참조한다. 블럭킹된 마스크 및 추출된 객체들은 배경과 동일한 방식으로 인코딩되어 그 비트들이 출력 비트스트림 내로 넣어진다.
각각의 객체가 비트스트림 내에 넣어지는 때, 객체 번호, (I 객체와 같은) 객체 유형 및 (비트 단위의) 객체 길이들이 기록되는 고정형 헤더가 선행되어 넣어 진다.
모든 객체들이 코딩된 후, 재구성된 프레임이 형성되는데, 이때 배경의 디코딩된 이미지와 각각의 객체가 하나의 프레임 내로 결합되게 된다. 이렇게 재구성된 프레임은 만일 모든 객체를 디코딩한다면 디코더에 의해 발생될 프레임과 동일한 프레임이다. (다른 객체로부터의) 중첩 매크로블럭은 동일할 것이며, 따라서 재구성은 모호하지 않을 것이라는 사실을 주목해야 한다. 재구성된 배경 및 객체와 프레임을 도시하는 도13g-i를 참조한다.
평균 프레임은 재구성된 프레임으로부터 계산된다. 평균 픽셀 값은 재구성된 프레임 내의 각각의 채널에 대해 계산되며(예를 들어, 루미넌스, 청색, 및 적색), 또 상기 픽셀 값들은 평균 프레임을 생성하기 위하여 그들 채널 내에 복제된다. 3개의 평균 픽셀 값들은 출력 비트스트림에 기입된다. 이와 같이 하여 I 프레임 인코딩이 종료된다.
I 프레임 뒤에, 비디오 시퀀스의 각 후속 프레임이, 만일 있다면, I 프레임 때까지 P 프레임으로서 인코딩된다. "P"는 "Predicted(예측된)"을 상징하고, P 프레임이 선행 프레임으로부터 예측된다는 사실을 말한다(I 프레임은 그들 자신에 관해서만 코딩된다). 인코더에서 모든 입력 프레임이 인코딩될 필요는 없다. 30Hz 시퀀스의 매 제3 프레임은 10Hz 시퀀스를 생성하도록 코딩될 수 있다.
I 프레임에서와 같이, P프레임의 경우에는 각 객체에 대한 분할 마스크를 블럭화하고 그 객체를 추출한다. P 프레임, 객체 마스크, 블럭킹된 객체 마스크 및 추출된 객체를 각각 도시하는 13j-m을 참조하라. 객체(#0)는 변경되지 않아야 하고 예측될 필요가 없기 때문에 사용하지 말아야 한다.
다음으로, 각 추출된 객체는 이전 프레임의 재구성된 판(reconstructed version)과 비교되어 차별화된다. 다음으로 차분화된 이미지에 개방되어 있을 수 있는 어떠한 홀(hole)도 반영하도록 블럭 마스크(b1ock mask)가 조절된다. 즉, 재구성된 객체는 객체의 일부와 밀접하게 매칭되어 그 차이는 분할 마스크(segmentation mask) 내의 영역 내에서 임계 이하일 수 있고, 이 부분은 따로 인코딩될 필요가 없다. 객체의 차이점과 조절된 블럭 마스크를 각각 도시하는 도13n-o를 참조하라. 다음으로 블럭 마스크가 효율적으로 인코딩되어 출력 비트 스트림에 놓인다.
진정한 객체-스케일링 가능한(object sca1ab1e) 비트스트림을 가지기 위해서는, 각 객체를 타일링하는 블럭들에 대응하는 모션 벡터는 이 객체의 이전 위치 내의 지점만 가리켜야 한다. 따라서 이러한 비트 스트림을 형성하는데 있어서, 현재의 이미지에서 코딩될 각 객체에 대해, 인코더는 이전 프레임에 있는 이 객체의 재구성된 판만으로 별개의 재구성된 이미지를 형성하고 다른 모든 객체와 배경은 제거된다. 현재의 객체에 대한 모션 벡터는 이 이미지에 관해 추정된다. 모션 추정을 수행하기 전에, 객체가 정의되어 있지 않은 재구성된 이미지의 나머지 모든 영역(비마스크 영역)은 블럭 경계선에서 양호한 모션 추정을 얻기 위해 평균 배경 값으로 채워진다. 이 평균 배경 값은 각 객체마다 다를 수 있고 디코더가 사용하도록 비트스트림으로 전송될 수 있다. 도13p는 비마스크 영역에서 평균값을 갖는 재구성된 객체의 이미지를 도시한다. 이는 모션 추정을 위해 사용되는 이미지이다. 그 다음으로, 계산된 모션 벡터는 효과적으로 인코딩되고 비트스트림에 출력된다.
다음으로 모션 보상된 객체(motion compensated object)와 현재의 객체 사이의 차이점이 매크로블럭을 기초로 DCT 웨이브렛 인코딩된다. 만일 차이가 임계값을 만족하지 못하면, 인코딩되지 않고 8×8 픽셀 덩이(granularity)로 전환된다. 또한, 만일 모션 추정이 블럭 상에서 훌륭한 결과를 보이지 않는 것으로 계산되면, 모션 추정 중에, 몇 개의 블럭이 INTRA 블럭으로 지정될 수 있다(I 프레임에서와 같으며, P 프레임에 대한 INTER 블럭과는 반대된다). INTRA 블럭은 모션 벡터를 가지지 않으며 이들의 DCT 코딩은 현재의 블럭에만 관한 것이며 보상된 객체 블럭과는 차이점이 없다. DCT 코딩된(INTRA 블럭) 블럭들을 도시하는 도13q-r을 참조하라.
다음으로, 이전 프레임의 객체의 위치에 관해 객체의 운동이 만들어 낸 커버되지 않은 배경이 계산되어 비트스트림을 위한 분리된 객체로서 인코딩된다. 각 객체 운동 보상과 함께 커버되지 않은 배경의 이러한 분리된 처리는 비트스트림을 스케일링 가능하게 만든다. 비트스트림은 생성된 것으로 역할할 수 있는데, 객체와 그 커버되지 않은 배경은 객체가 재생되지 않도록 제거되거나 단지 객체가 자신의 비트스트림 상에서 역할하거나 다른 비트스트림에 추가되기 위해 추출될 수 있다. 커버되지 않은 배경 픽셀, 픽셀에 대한 블럭 마스크 및 마스크 내의 이미지를 도시하는 도13s-u를 참조하라. 언커버된 배경 이미지는 INTRA 블럭으로서 DCT 인코딩된다(이는 언커버된 배경 객체를 I 객체로 만든다). 재구성된 프레임에 대한 도 13v를 참조하라.
스케일링 가능한 객체 기초형 비디오에 대한 비트스트림을 인코딩하는 것은 한 시점에서 프레임 대신에 객체를 인코딩한다는 점만 제외하고는 앞서 기술된 디코더와 같은 방식으로 작용한다. 객체를 누락할 때, 디코더는 단지 객체의 헤더(header)만을 읽어 그 비트 길이를 알아내고 그 비트들을 읽은 후, 그들을 버린다.
또한, 품질 스케일링 가능성은 각 객체와 관련된 추가 개선용 비트스트림(enhancement bitstream)을 제공함으로써 성취될 수 있다. 개선용 비트스트림을 디코딩해서 사용함으로써 선택된 객체의 품질이 개선될 수 있다. 만일 채널 밴드 폭이 상기 개선용 비트스트림의 전송을 허용하지 못한다면 인코더에서 누락될 수 있다. 대안으로, 응용시 개선용 비트스트림이 필요없다면 어떤 객체와 관련된 개선용 비트스트림을 누락함으로써 디코더는 그 수행성을 최적화할 수 있다. 현재 프레임 내의 객체와 마지막으로 재구성된 객체 사이의 차이를 계산하고 낮은 양자화 계수(quantization factor)로 그 차이를 다시 DCT(또는 웨이브렛) 인코딩함으로써 특정 객체에 대응하는 개선용 비트스트림이 인코더에서 발생된다. 재구성된 이미지는 비트스트림이 스케일링 가능성을 유지하도륵 수정되지 않아야 한다. 즉, 어떤 객체에 대한 개선용 비트스트림이 누락되는 경우조차도 인코더와 디코더는 동기를 유지한다.
도14a-b는 객체 제거의 양호한 실시예를 설명한다. 도14a의 좌측에 있는 사람이 도14b에서는 제거되었다.
에러 은폐(error concealment)
앞선 객체 지향형 방법은 각 프레임 내의 움직이는 객체(또는 객체와 언커버된 배경 모두를 포함할 수 있는 차이를 보이는 영역)를 검출해서 그들을 정적인 배경과 분리함으로써 비디오 시퀀스를 압축한다. 이들 객체들의 형상, 내용 및 모션은 만일 있다면 DCT나 웨이브렛을 사용함으로써 모션 보상 및 차이가 효과적으로 코딩될 수 있다. 이러한 압축된 데이타가 채널 에러에 노출되면, 디코더는 인코더와의 동기를 잃게 된다. 이는 화질에 큰 손실을 일으킨다. 따라서, 디코더가 동기를 회복하기 위해, 양호한 실시의 재동기화 워드(resynchronization word)가 비트 스트림 내에 삽입될 수 있다. 이들 재동기화 워드는 I 프레임에 대해 데이타의 시작부에 도입되고 P 프레임의 시작부에 부가해서 P 프레임 내의 모든 움직이는 객체에 대해 다음의 항목들에 대한 각 코드의 시작부에 도입된다.
(ⅰ) 경계 외형 데이타(비트 맵 또는 스플라인)
(ⅱ) 모션 벡터 데이타 및
(ⅲ) 모션 실패 영역에 대한 DCT 데이타
또한, 제어 데이타나 다른 데이타가 포함되면, 이들 데이타는 재동기화 워드를 가질 수 있다. 재동기화 워드는 이들이 유일하다는 점에서 특징적이다. 즉, 이들은 정적 테이블인 허프만 코드 테이블 내에 있지 않기 때문에 동일한 길이의 어떤 주어진 코딩된 비트 시퀀스와는 다르다. 예를 들어, P 프레임이 3개의 움직이는 객체를 가진다면, 시퀀스는 다음과 같을 것이다.
프레임 시작 재동기화 워드
외형 재동기화 워드
제1 객체의 외형 데이타(예를 들어 비트 맵이나 스플라인)
모션 벡터 재동기화 워드
(비트 맵 매크로블럭과 관련된) 제1 객체의 모션 벡터
DCT/wavelet 재동기화 워드
제1 객체의 모션 실패 데이타
외형 재동기화 워드
제2 객체의 외형 데이타
모션 벡터의 재동기화 워드
제2 객체의 재동기화 워드
DCT/웨이브렛 재동기화 워드
제2 객체의 모션 실패 데이타
외형 재동기화 워드
제3 객체의 외형 데이타
모션 벡터 재동기화 워드
제3 객체의 모션 벡터 데이타
DCT/웨이브렛 재동기화 워드
제3 객체의 모션 실패 데이타
이들 재동기화 워드는 또한 디코더가 에러를 검출하는 것을 돕는다. 일단 디코더가 수신된 비트스트림에서 에러를 검출하면, 가장 가까운 재동기화 워드를 발견하려 한다. 따라서 디코더는 코딩된 데이타를 최소한으로 잃도록 하며 가능한 가장 빠른 시간에 동기를 재설정한다.
다음과 같은 상태가 관측된다면 디코더에서 에러가 검출될 것이다.
(ⅰ) 무효 코드워드(invalid codeword) 발견
(ⅱ) 디코딩 동안 무효 모드 검출
(ⅲ) 디코딩된 데이타 블럭에 후속해서 나타나지 않는 재동기화 워드
(ⅳ) 프레임 바깥을 가리키는 모션 벡터
(ⅴ) 허용가능한 한계 바깥에 있는 디코딩된 DCT 값
(ⅵ) 무효한(이미지 바깥에 놓여 있는) 경계 외형
만일 에러가 경계 외형 데이타 바깥에서 검출되면, 외형은 누락되어 배경의 일부가 된다. 이는 대응되는 이전 프레임 영역이 사용됨을 의미한다. 비디오 시퀀스에는 많은 시간적 상관 관계가 있기 때문에 이것은 얼마간의 왜곡을 줄인다.
만일 에러가 모션 벡터 데이타에서 검출되면, 객체에 대한 평균 모션 벡터가 자신의 모션 벡터를 사용하는 각 매크로블럭이 아닌 전체 객체에 적용된다. 이것은 주어진 프레임에서 큰 공간적 상관 관계가 있다는 사실에 의존한다. 따라서, 주어진 객체에 대한 대부분의 모션 벡터는 거의 동일하다. 따라서, 객체의 다양한 매크로블럭에 적용되는 평균 모션 벡터는 좋은 근사치가 될 것이고 시각적 왜곡을 상당히 줄이는데 도움이 된다.
만일 에러가 모션 실패 영역 DCT 데이타에서 발견되면, 모든 DCT 계수는 0으로 셋팅되고 디코더는 재동기화를 시도한다.
에러 보정
양호한 실시예의 에러 제어 코드는 도15a에 도시된 바와 같이 사이에 인터리버(interleaver)를 갖는 2 개의 리드-솔로몬(RS) 코더를 포함한다. 전송될 비트스트림은 6개의 연속된 비트 그룹으로 분할되어 RS 코드용 심볼을 형성한다. 이것은 랜덤 에러 이외에 버스트 에러를 갖는 채널을 통한 전송에 일반적으로 적용된다. 인터리버는 코드워드로부터의 심볼을 혼합해서 어떤 주어진 코드워드로부터의 심볼이 전송 중에 잘 분리되도록 한다. 코드워드가 수신기 내의 디인터리버(deinterleaver)에 의해 재구성될 때, 채널에 의해 유입된 에러 버스트가 효과적으로 나누어져 몇 개의 코드워드 전체에 분산된다. 인터리버와 디인터리버 쌍은 버스트 에러를 랜덤 에러로 효과적으로 변환한다. 지연 멀티플라이어(delay multiplier) m은 전체 지연이 250 msec 보다 작게 되도록 선택된다.
각각의 RS 코더는 갈로이스 필드(Galois field) GF(64)의 RS 코드를 사용하고 블럭 6비트 정보 심볼을 더 큰 6비트 코드워드 심볼 블럭으로 매핑한다. 제1 RS 코더는 입력 6비트 정보 심볼 블럭을 n2 6비트 정보 심볼로서 코딩하고 이를 인터리버에 공급한다. 그리고, 재2 RS 코더는 인터리버의 출력을 취해 n2 6비트 정보 심볼을 n1 6비트 코드워드 심볼로 매핑한다. 여기서 n1-n2=4이다.
수신기에서, 각 n1 6비트 심볼 블럭은 제2 코더용 디코더에 입력된다. 이 RS 디코더는 2개의 6비트 심볼 에러까지 보정할 수 있는 능력을 가지지만 단지 하나의 에러만 보정하도록 셋팅된다. 더 많은 수의 에러를 검출하면, n2개의 소거된 심볼을 출력한다. 디인터리버는 이러한 소거를 n2 코드워드 전체에 분산하여 제1 RS 코더용 디코더에 입력한다. 이 디코더는 2E+S<=n2-k가 되는 E에러와 S소거의 어떠한 조합도 보정할 수 있다. 만일 2E+S가 상기 숫자보다 크다면, 이들 데이타는 있는 그대로 출력되고, 데이타 내의 소거는 만일 있다면 디코더에 의해 인지된다.
양호한 실시의 에러 보정의 성능은 제2 디코더로부터 제1 디코더로 피드백을 추가해 제1 디코더의 에러 보정을 개선함으로써 지금까지 기술된 간단한 보정을 능가할 수 있다. 특히, 제1 디코더는 E 에러를 보정하고 T 에러를 검출(및 소거)한다고 가정하자. 또한, 제2 디코더는 N2 심볼의 주어진 블럭 내의 S 소거를 보정할 수 있다고 가정하자. 또한 시간 t에서 X>E인 N1 6비트 심볼을 구성하는 입력 블럭 B에서의 X 에러(시간 t에서 디코딩 실패를 의미)를 검출한다고 가정하자. 이 디코딩 실패는 제1 디코더가 N2 소거된 심볼을 출력하는 결과를 낳는다. 도15b에 도시된 바와 같은 양호한 실시의 에러 보정 시스템은 디코딩 실패가 발생하는 시간 t에서 입력 N1 심볼 블럭 B를 저장하기 위한 버퍼를 포함한다. 이것은 아래에 기술될 피드백에서 사용될 것이다. 디인터리버는 제1 디코더의 N2 소거된 심볼 블럭 출력을 취해 소거된 심볼을 다음번 N2 블럭 전체에 분산한다. 따라서, 블럭 B로부터의 소거된 심볼은 시간 t, t+d, t+2d, ... t+(N2-1)d에서 제2 디코더에 나타난다. 여기서, d는 디인터리버의 지연 증가분이고 블럭 길이에 관계한다.
시간 t를 생각해 보자. 만일 시간 t에서 제2 디코더로의 입력 블럭 내의 소거된 심볼 갯수가 S보다 작거나 같으면, 제2 디코더는 이 입력 블럭 내의 모든 소거를 보정할 수 있다. 보정된 소거들 중의 하나는 시간 t에서 제1 디코더로의 입력 블럭 B로부터 발생한 것이다. 이 보정된 소거는 (1) 제1 디코더에 의해 검출된 에러가 있는 입력 블럭 B의 심볼 중의 하나 또는 (2) 블럭 B내의 에러가 있는 심볼들 중의 하나는 아니지만 디코딩 실패로 인해 소거된 것 중의 하나일 수 있다.
보정된 소거와 버퍼 내에 저장된 블럭 B 내의 대응된 위치에 있는 내용을 비교한다. 만일 보정된 소거가 저장된 블럭 B의 대응하는 내용과 같다면, 보정을 거친 소거된 심볼은 범주(2)의 것이고, 제2 디코더의 이러한 출력은 변경없이 사용된다. 그러나, 보정을 거친 소거된 심볼이 블럭 B 내의 대응하는 위치의 내용과 매칭하지 않는다면, 이 대응하는 위치의 심볼은 블럭 B 내의 에러 심볼들 중의 하나이다. 따라서, 이러한 에러는 제2 디코더에 의해 보정되고, 이 보정은 버퍼 내에 저장된 블럭 B내에서 행해질 수도 있다. 즉, 제1 디코더에 대한 블럭 B 내의 원래 보정 불가능한 에러가 제2 디코더로부터의 피드백에 의해 블럭 B의 저장된 복사본에서 보정된다. B로부터 기인한 소거에 대응하는 더 나중의 시간 t+id[i=1, ...,(N2-1)]에서 제2 디코더에 의해 이러한 소거 보정을 반복한다. 이것은 블럭 B 내의 검출 가능한 에러 개수를 X-Y로 줄인다. 일단 X-Y가 E보다 작다면, 현재 보정된 입력 블럭 B 내에 남아 있는 모든 에러는 보정될 수 있고 디인터리버는 이렇게 보정된 입력 블럭 B로 갱신될 것이다. 이것은 후속 시간에서 제2 디코더로 전달될 소거된 심볼 개수를 줄이게 되어 전체 에러 보정 확률을 증가시킨다. 반면에 입력 블럭 B 내의 모든 에러를 보정하는 것이 가능하지 않다면, 제2 디코더에 의한 보정이 변경되지 않고 사용된다. 만일 전체 지연 연장이 용인할 수 있는 정도면, 보정된 블럭 B가 제1 디코더로 재입력될 수 있다.
시물레이션은 앞의 채널 코딩이 전송률 24 Kbps와 48 Kbps로 24 msec보다 작은 모든 버스트 존속 길이를 보정할 능력이 있음을 보여준다.
(24,28,32), (26,30,34), (27,31,34), 및 (28,32,36)과 동등한 (k,n2,n1)의 선택에 대해 확률 0.001의 랜덤 에러인 경우에, 디코딩된 비트 에러율은 멀티플라이어 m=1일 때, 각각 0.00000125, 0.000007 및 0.0000285보다 작다. 유사하게, m=2일 때, (38,43,48)이 사용될 수 있다. 전체 지연은 인터리버 지연으로 인해 코드워드 크기에 좌우됨을 주지해야 한다. 실제로, 전체 지연은 다음과 같다.
지연 = (mn2)26/비트 레이트
여기에서, 6은 6-비트 심볼의 사용으로 인한 것이고, 코드워드 내의 심볼 수로부터의 제2 급수(second power)는 지연 수 및 지연간 증분을 결정한다. 물론, 사용된 패리티 심볼의 수(n1-n2 및 n2-k)는 바람직한 비트 에러율 성능 및 전체 지연에 좌우된다.
1e-3의 에러 확률에서의 3604480의 비트스트림, 즉 6-비트 심볼과의 시뮬레이션에 있어서, 피드백 없는 소거 수는 46/3604480, 즉 6-비트 심볼(1.28e-5)이다. 피드백이 있으면, 소거 수는 24/3604480, 즉 6-비트 심볼(6.66e-6)이다. 버스트 에러와 랜덤 에러의 조합에 있어서, 피드백 없는 소거 수는 135/3604480(3.75e-5)이고, 피드백 있는 소거 수는 118/2703360, 즉 6-비트 심볼(3.27e-5)이다.
도 16a-b는 피드백 에러 교정을 나타내는 발견적 예(heuristic example)이다. 특히, 도 16a에서의 제1 로우는 전송될 정보 비트스트림인 심볼 A1, B1, A2, B2,···의 시퀀스를 나타내고, 각각의 심볼은 연속 비트(예를 들면, 6 비트)의 그룹이다. 설명의 간략성을 위해, 제1 코더는 2개의 정보 심볼, 즉 A1, B1을 3개의 심볼 코드워드로, A1, B1, P1으로서 인코딩되는데, P1은 패리티 심볼이다. 이는 상기 양호한 실시예들 중 하나에서와 같이 4 패리티 심볼을 갖는 30 심볼로서 인코딩된 26 정보 심볼과 유사하다. 도 16a의 제2 로우는 코드워드를 나타낸다. 인터리버는 도 16a의 제2 및 제3 로우에 도시된 바와 같이, 지연만큼 심볼을 산포시킨다. 상세하게 말하면, Aj 심볼은 지연이 없고, Bj 심볼은 3 심볼의 지연을 가지며, Pj 심볼은 6 심볼의 지연을 갖는다. 도 16a에서의 경사진 화살표는 지연을 나타낸다.
인터리버 출력(3-심볼 워드의 시퀀스)은 4-심볼 코드워드로서의 제2 인코딩에 의해 인코딩된다. 도 16a의 제4 로우는 4-심볼 코드워드를 형성하도록 패리티 심볼 Qj를 가산하는 제3 로우의 3-심볼 워드의 제2 인코딩을 도시한다.
도 16a의 제5 로우는 심볼 A3, P1 및 B3에 대해 X 표시로 3가지 예시적 전송 에러를 도시한다. 간략한 가정으로, 디코더가 코드워드당 1개의 에러를 교정할 수 있거나, 2개의 에러를 검출할 수 있으며, 상기 코드워드 심볼을 소거할 수 있다고 가정하자. 도 16a의 로우 6은 심볼 B3 내의 에러를 교정하고 심볼에 대해 동그라미로 표시된 A3, B2, P1 워드를 에로스(Eros)할 수 있는 인코딩을 도시한다.
디인터리버는 인터리버 지연에 대해 보완적인 지연에 의해 3-심볼 코드워드를 다시 어셈블링한다. Aj 심볼은 6 심볼의 지연을 갖고, Bj 심볼은 3 심볼의 지연을 가지며, Pj 심볼은 지연이 없다. 로우 6-7에서의 지연은 경사진 화살표로 표시된다. 소거된 심볼은 디인터리빙에서 산포됨을 주지해야 한다.
도 16a에서, 제8 로우는 A1, B1, A2, B2..... 정보를 복구하기 위해서 소거된 심볼을 교정하는 제2 디코더를 도시한다.
도 16b는 도 16a에서와 같으나, 디인터리버에 양호한 실시예의 피드백을 사용하여 단지 교정될 수 있는 추가 에러를 갖는 동일한 배치를 도시한다. 특히, 도 16b의 제5 로우는 심볼 A2, B1, A3, P1, A4 및 B3에 대해 X 표시로서 도시된 6개의 에러를 도시한다. 이 경우, 제1 디코더는 대응하는 코드워드 각각 내에서 2개의 에러를 검출하고, 도 16b의 제6 로우의 심볼에 대해 동그라미 표시로 도시된 모든 3개의 에러를 전부 소거한다.
디인터리버는 인터리버 지연에 대해 보완적인 지연에 의해 3-심볼 코드워드를 다시 어셈블링하는데, 도 16b의 로우 6-7은 경사진 화살표로 표시된 지연을 나타낸다. 소거된 심볼은 다시 산포되지만, 코드워드 A2, B2, P2에서의 3개의 소거는 교정될 수 없다. 그러나, B1 및 P1이 소거된 코드워드 A1, B1, P1은 제2 디코더에 의해 교정될 수 있어, 참(true) 코드워드 A1, B1, P1을 제공한다. 그 다음, 참 B1은 로우 5 내의 워드 A2, B1, P0, Q2에 비교될 수 있고, 이 워드에서 B1이 다르다는 사실은 B1이 이 워드에서 2개의 에러 중 하나임을 의미한다. 따라서, 참 B1은 오직 하나의 나머지 에러(A2) 및 교정된 워드 에러를 형성하는데 사용될 수 있어, 참 A2, B1, P0을 제공한다. 이는 피드백을 의미한다. 나중 에러 교정(이 예에서는 B1)은(이미 디코딩된) 이전에 비교정된 워드에서 에러 교정을 행하는데 사용된 다음, 이러한 행해진 교정은 또한, 장래 용도의 심볼(이 예에서는 A2)의 교정을 제공한다. 인터리버에서 지연되는 소거된 A2는 참 A2로 교정될 수 있고, 코드워드 A2, B2, P2에서의 에러 수를 2로 감소시킬 수 있다. 따라서, 코드워드 A2, B2, P2는 이제 교정될 수 있다. 따라서, A2, B1, P0, Q2 디코딩에 대한 A1, B1, P1 교정으로부터의 피드백은 A2의 교정으로 유도된 다음, 코드워드 A2, B2, P2의 가능한 교정으로 유도된다. 물론, 이들 예에서 사용되고 교정가능한 심볼의 수는 발견적이고 단지 설명의 간략성을 위한 것이다.
부록
상기 양호한 실시예의 구현을 위한 C 언어에 기입된 기계 명령의 리스팅은 첨부된 부록에 나타나 있다.
변형
양호한 실시예는 1개 이상의 특징을 유지하면서 여러 방식으로 변형될 수 있다. 예를 들어, 블럭의 크기, 코드, 임계값, 근접 형태(morpholoy neighborhoods), 양자화 레벨, 심볼 등은 변경될 수 있다. 특정 스플라인과 같은 방법, 양자화 방법, 변환 방법 등과 같은 방법은 변형될 수 있다.
도 1은 바람직한 실시예의 전화 시스템(telephony system).
도 2는 바람직한 실시예의 감시 시스템(surveillance system).
도 3은 바람직한 실시예의 비디오 압축에 대한 흐름도.
도 4a 내지 도 4d는 모션 분할을 도시.
도 5a 내지 도 5h는 경계부 외형 인코딩의 도시도.
도 6은 모션 보상의 도시도.
도 7은 모션 실패 영역의 도시도.
도 8은 모션 실패 영역에서의 제어 그리드의 도시도.
도 9a 및 도 9b는 단일의 웨이브렛(wavelet) 필터링 단계도.
도 10a 내지 도 10c는 웨이브렛 분해도.
도 11은 웨이브렛 계수 양자화에 대한 제로트리(zerotree)의 도시도.
도 12는 웨이브렛 압축기 블럭 다이어그램.
도 13a 내지 도 13v는 스케일링 가능 단계의 도시도.
도 14a 및 도 14b는 특징 객체를 갖는 장면 및 특정 객체를 갖지 않는 장면.
도 15a 및 도 15b는 에러 정정 코더 및 디코더의 도시도.
도 16a 및 도 16b는 디코더 피드백의 도시도.
〈도면의 주요 부분에 대한 부호의 설명〉
200 : 감시 시스템
202 : 고정 비디오 카메라
208 : 비디오 압축기
210 : 원격 기억 장치
220 : 원격 디코더 및 디스플레이

Claims (20)

  1. 모션 보상된(motion-compensated) 비디오 디코딩 방법에 있어서,
    심볼의 제1 시퀀스를 2개 이상의 블록의 모션 데이터로서 해석(interpreting)하는 단계; 및
    심볼의 제2 시퀀스를 상기 2개 이상의 블록의 잔여(residual) 데이터로서 해석하는 단계
    를 포함하며, 상기 제1 시퀀스 및 상기 제2 시퀀스는 재동기화 워드(resynchronization word)에 의해 분리되는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 블록들 각각은 프레임의 픽셀의 16*16의 메크로블록인 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 2개 이상의 블록 각각은, 프레임 내의 단일의 비디오 객체 내에 부분적으로 위치한 픽셀의 16*16의 메크로블록의 일부의 픽셀인 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 2개 이상의 블록 각각은 프레임의 픽셀의 8*8의 블록의 픽셀인 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 2개 이상의 블록 각각은 프레임 내의 단일의 비디오 객체 내의 부분적으로 위치한 픽셀의 8*8의 블록의 일부의 픽셀인 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 심볼의 제3 시퀀스를 비디오 객체를 위한 형상(shape) 데이터로서 해석하는 단계를 더 포함하며,
    상기 2개 이상의 블록은 상기 비디오 객체 내에 위치한 픽셀이고, 제2 재동기화 워드가 상기 모션 데이터와 상기 잔여 데이터로부터 상기 형상 데이터를 분리하는 것을 특징으로 하는 방법.
  7. 모션 보상된 비디오를 위한 디코더에 있어서,
    심볼의 제1 시퀀스를 블록의 모션 데이터로서 해석하고, 심볼의 제2 시퀀스를 상기 블록의 잔여 데이터로서 해석하도록 동작하는 제1 회로를 포함하며, 상기 제1 시퀀스 및 상기 제2 시퀀스는 재동기화 워드에 의해 분리되는 것을 특징으로 하는 디코더.
  8. 제7항에 있어서, 상기 블록들 각각은 프레임의 픽셀의 16*16의 메크로블록의 픽셀인 것을 특징으로 하는 디코더.
  9. 제7항에 있어서, 상기 블록들 각각은 프레임 내의 비디오 객체 내에 부분적으로 위치한 픽셀의 16*16의 메크로블록의 일부의 픽셀인 것을 특징으로 하는 디코더.
  10. 제7항에 있어서, 상기 블록들 각각은 프레임의 픽셀의 8*8의 블록의 일부의 픽셀인 것을 특징으로 하는 디코더.
  11. 제7항에 있어서, 픽셀의 상기 그룹 각각은 프레임 내의 비디오 객체 내에 부분적으로 위치한 픽셀의 8*8의 블록의 일부의 픽셀인 것을 특징으로 하는 디코더.
  12. 제7항에 있어서, 상기 제1 회로의 입력에 결합되고, 상기 모션 데이터를 출력하도록 동작하는 가변 길이 코드(variable-length-code) 디코더를 더 포함하는 디코더.
  13. 제7항에 있어서, 상기 제1 회로의 입력에 결합되고, 상기 잔여 데이터를 출력하도록 동작하는 가변 길이 코드 디코더를 더 포함하는 디코더.
  14. 제7항에 있어서, 상기 제1 회로는 또한 심볼의 제3 시퀀스를 상기 블록들을 포함하는 비디오 객체를 위한 형상 데이터로서 해석하도록 동작하며, 제2 재동기화 워드가 상기 모션 데이터 및 상기 잔여 데이터로부터 상기 형상 데이터를 분리하는 것을 특징으로 하는 디코더.
  15. 제7항에 있어서, 상기 제1 회로는 프로그램을 실행시키는 프로그램가능 프로세서인 것을 특징으로 하는 디코더.
  16. 모션 보상된 비디오를 위한 인코더에 있어서,
    입력 디지털 비디오의 픽셀의 2개 이상의 블록에 대한 모션 데이터 및 잔여 데이터를 추출하도록 동작하는 제1 회로; 및
    상기 제1 회로의 출력에 결합되어, 상기 모션 데이터 및 상기 잔여 데이터를 수집(aggregate)하여, 수집된 상기 모션 데이터와 상기 잔여 데이터 사이에 재동기화 워드를 삽입하도록 동작하는 제2 회로
    를 포함하는 것을 특징으로 하는 인코더.
  17. 제16항에 있어서, 픽셀의 상기 블록들 각각은 프레임의 픽셀의 16*16의 메크로블록의 픽셀인 것을 특징으로 하는 인코더.
  18. 제16항에 있어서, 상기 블록들 각각은 프레임 내의 비디오 객체 내에 위치한 픽셀의 16*16의 메크로블록의 일부의 픽셀인 것을 특징으로 하는 인코더.
  19. 제16항에 있어서, 상기 블록들 각각은 프레임의 픽셀의 8*8의 블록의 픽셀인 것을 특징으로 하는 인코더.
  20. 제16항에 있어서, 상기 블록들 각각은 프레임 내의 객체 내에 위치한 픽셀의 8*8의 블록의 일부의 픽셀인 것을 특징으로 하는 인코더.
KR1019960048763A 1995-10-27 1996-10-26 내용기초형비디오압축 KR100494275B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US802995P 1995-10-27 1995-10-27
US597095P 1995-10-27 1995-10-27
US60/005,971 1995-10-27
US60/008.029 1995-10-27
US60/005,970 1995-10-27
US60/005.970 1995-10-27
US60/008,029 1995-10-27

Publications (2)

Publication Number Publication Date
KR970025168A KR970025168A (ko) 1997-05-30
KR100494275B1 true KR100494275B1 (ko) 2006-05-16

Family

ID=66316897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960048763A KR100494275B1 (ko) 1995-10-27 1996-10-26 내용기초형비디오압축

Country Status (1)

Country Link
KR (1) KR100494275B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction

Also Published As

Publication number Publication date
KR970025168A (ko) 1997-05-30

Similar Documents

Publication Publication Date Title
US6272253B1 (en) Content-based video compression
US6614847B1 (en) Content-based video compression
US5896176A (en) Content-based video compression
US6026183A (en) Content-based video compression
Talluri et al. A robust, scalable, object-based video compression technique for very low bit-rate coding
US5944851A (en) Error concealment method and apparatus
Girod et al. Scalable video coding with multiscale motion compensation and unequal error protection
JP2007028579A (ja) ビデオデータストリームの統合及び補償方法
CA2188840C (en) Content-based video compression
US6445823B1 (en) Image compression
EP0892557A1 (en) Image compression
Al-Mualla et al. Error concealment using motion field interpolation
KR100281322B1 (ko) 이진 형상 신호 부호화 및 복호화 장치와 그 방법
KR100494275B1 (ko) 내용기초형비디오압축
EP1830574A2 (en) Video compression using resynchronization words between sequences of symbols
KR100259471B1 (ko) 개선된형태부호화장치및방법
KR100238888B1 (ko) 적응적인 형태 부호화 장치 및 그 부호화 방법
KR100240344B1 (ko) 적응적인 윤곽선 부호화 장치 및 방법
KR100212560B1 (ko) 하이브리드 윤곽 부호화에서의 부호화 모드 결정장치
KR20030033123A (ko) 주변 화소의 표본들을 이용한 에러 은닉 장치 및 방법
KR100220680B1 (ko) 물체 윤곽 부호화를 위한 버텍스 부호화 장치
EP0848557A2 (en) Subband image encoding method
Motta Optimization methods for data compression
KR100207388B1 (ko) 적응적인 벡터 양자화를 이용한 영상 부호화 시스템
Meng et al. Video compression for wireless communications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
A107 Divisional application of patent
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: 9

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 12

EXPY Expiration of term