[go: up one dir, main page]

KR100392379B1 - 아래층과현재층의모드를이용한신축형이진영상부호화/복호화방법및장치 - Google Patents

아래층과현재층의모드를이용한신축형이진영상부호화/복호화방법및장치 Download PDF

Info

Publication number
KR100392379B1
KR100392379B1 KR1019980027641A KR19980027641A KR100392379B1 KR 100392379 B1 KR100392379 B1 KR 100392379B1 KR 1019980027641 A KR1019980027641 A KR 1019980027641A KR 19980027641 A KR19980027641 A KR 19980027641A KR 100392379 B1 KR100392379 B1 KR 100392379B1
Authority
KR
South Korea
Prior art keywords
mode
coded
intra
layer
encoding
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019980027641A
Other languages
English (en)
Other versions
KR19990013733A (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
Priority claimed from KR1019970038946A external-priority patent/KR19990016416A/ko
Priority claimed from KR1019980009479A external-priority patent/KR19990075333A/ko
Application filed by 주식회사 팬택앤큐리텔 filed Critical 주식회사 팬택앤큐리텔
Publication of KR19990013733A publication Critical patent/KR19990013733A/ko
Application granted granted Critical
Publication of KR100392379B1 publication Critical patent/KR100392379B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

"all_0", "all_255" 또는 "intra predicted"로 결정된 MB는 모두 "intra not coded" 모드로 전송된다. 수신단에서는 아래 계층의 영상들을 참조하여 "intra not coded" 모드로 부터 다시 "all_0","all_255","intra predicted"를 구별해 낸다.
"inter coded && MVD=0" 및 "inter coded && MVD!=0"는 "inter coded"로서 표현하고, "inter not coded && MVD = 0"와 "inter not coded && MVD!=0" 는 "inter not coded"로 표현한다.
그 결과 P-영상은 부호화 모드를 2가지 모드로 줄일수 있고, B-영상은 부호화 모드를 4가지로 줄일 수 있다.

Description

아래층과 현재층의 모드를 이용한 신축형 이진영상 부호화/복호화 방법 및 장치
본 발명은 이진 영상의 부호화/복호화에 관한 것으로, 특히 아래층과 현재층의 상관성을 고려하여 이진영상의 부호화 모드를 줄이고, 그 상관성에 따라 모드 부호화 비트를 할당하여 부호화 비트량을 줄이는 아래층과 현재층의 모드를 이용한 신축형 이진영상 부호화/복호화 방법 및 장치에 관한 것이다.
신축형(Scalable) 부호화는 해상도가 다른 복수 개의 층(기본층(base layer), 고위층(enhancement layer))을 전송하고 복호화를 할 수 있는 기능이다. 복수 개의 다른 해상도를 가지는 정보를 전송하기 위해서는 일반적인 부호화 방법보다 더 많은 정보를 전송해야 한다.
전송할 정보의 양을 줄이기 위해서 도1에 도시된 바와 같이 저해상도의 기본층(base layer)을 이용하여 고해상도의 고위층(enhancement layer)을 추정하는 방법을 적용한다.
이진 영상정보를 복수 개의 층(layer)을 사용하여 신축형(Scalable) 부호화하는 방법에 있어서도 위와 같이 기본층을 이용하거나, 또는 여러 개의 층으로 구성된 경우, 고위층에서는 아래층들을 이용하여 효과적으로 부호화 한다.
도1은 일반적인 영상정보의 신축형 부호화 방법을 보인다.
여기서는 고위층을 1단계만 표시하였지만 일반적으로 여러 단계의 고위층이 포함된다. 따라서 현재 계층(current layer)의 바로 아래 계층(lower layer)은 최하위계층(기본층)일수도 있고, 고위층 중의 한 계층일 수도 있다. 이진 영상(binary image)정보에 대한 신축형 부호화 방법도 일반적인 신축형 부호화 방법과 같은 구조를 갖는다.
이진 영상에 대한 고위층을 부호화하기 위하여, 인트라 영상 (Intra-Picture)의 고위층(P-VOP)인 경우에는, 도1에 도시된 바와 같이 바로 아래층(lower layer)으로 부터 예측하여 부호화한다. 고위층의 예측영상(B-VOP)인 경우에는 바로 아래층 영상과 이전 영상의 양쪽으로부터 예측하여 부호화한다.
영상정보를 부호화 하는 과정에서 블럭 단위(16X16 크기)의 부호화를 수행한다. 이진 영상정보에 대한 블럭(Macro Block : 이하MB)을 부호화하는데 있어서 고위층의 P-영상(P-VOP) 또는 고위층의 B-영상(B-VOP)에서 intra MB, 즉, 이전영상으로부터 예측하지 않고 자신의 아래층만을 사용하여 부호화 해야 하는 MB는 ISO/IEC WG11의 VM(Verification Model)7.0에 제시된 스캔 인터리빙(scan interleaving) 방법을 사용하여 부호화 한다. 그리고 그 이외의 MB는 기본층의 부호화 방법인 CAE 방법을 사용하여 부호화한다.
스캔 인터리빙 방법이 도2에 도시된다.
기본층에서 고위층을 부호화하기 위해서 아래와 위의 두 이웃하는 화소 값을 이용한다. 만약 두 이웃 화소 값이 같을 경우 현재 위치의 화소 값도 같은 값을 가질 가능성이 많다. 따라서 두 이웃 화소 값이 같고 현재 위치의 화소 값도 두 이웃 화소 값과 같을 경우는 부호화를 하지 않아도 된다.
두 이웃 화소 값이 다를 경우는 현재 위치의 화소 값을 부호화해야 한다. 이 경우를 트랜지셔널 샘플 데이터(TSD : Transitional Sample Data)라고 한다. 그리고 두 이웃 화소 값은 같지만 현재 위치의 화소 값이 다를 경우도 부호화해야 한다. 이 경우를 익셉셔널 샘플 데이터(ESD : Exceptional Sample Data)이라 한다. 따라서, 고위층을 스캔 인터리빙 방법을 사용하여 부호화하기 위해서는 두 가지 종류의 데이터(TSD, ESD)를 부호화해야 한다.
스캔 인터리빙 방법을 사용하여 부호화 할 때 TSD와 ESD를 부호화 하기 위해 먼저 ESD의 존재 유무에 대한 정보가 전송되며, ESD 가 존재하는 MB와 존재하지 않는 MB에 대해서 스캔 인터리빙 적용 범위를 다르게 한다.
도3(a) 및 (b)는 CAE(Context-based Arithmetic Encode) 방법에 사용되는 컨텍스트를 보인다.
도3(a)에 도시된 바와 같이 부호화 대상화소 Y를 둘러싸는 주변화소들에 의해 구성되는 컨텍스트의 위치에 따라서 컨텍스트 인덱스(Context_ID)가 결정된다. X,Y 위치의 정보를 전송하기 위해서 C0~C6로 구성되는 컨텍스트 인덱스(Context_ID) 형태의 발생 빈도수에 따라 미리 결정되어 있는 Arithmetic 부호화 테이블에 의하여 부호화 된다.
이와 같이 스캔 인터리빙 방법으로 부호화하지 않는 MB는 기본층(base layer)의 부호화 방법과 같은 방법(예를들면, CAE방법)을 사용하여 부호화 한다. 그 중 고위층의 P-영상에서 inter MB는 움직임 벡터(motion vector)를 사용하여 이전 영상으로부터 예측하여 부호화 한다.
또 다른 경우는 MB 내의 모든 화소가 '0' 의 값을 갖거나 또는 모든 화소가 '255' 의 값을 갖는 경우에는 부호화할 필요가 없이 모든 화소가 '0' 이다 또는 모든 화소가 '255' 이다"라고 하는 부가정보(mode 정보)만을 전송한다. 여기서 부호화하고자 하는 영상은 이진 영상이므로 각 화소는 '0' 또는 '255' 의 2가지 값만을 가질 수 있다. 일반적으로 '0'은 배경(background)을 나타내고 '255'는 물체(object)를 나타낸다.
이와 같이 이진 영상을 부호화하기 위해서는 각 MB에 따라서 부호화 방법이 다르게 결정되며, 각 MB가 어떤 부호화 방법을 사용했는지에 대한 부가 정보(mode)를 전송해야 한다. 이때 부가 정보(mode)에 대한 종류와 부가 정보의 부호(firstshape code)에 대한 표(table)가 필요하다.
I-영상 와 P-영상 그리고 B-영상의 고위층(P-VOP, B-VOP)에 대한 기존의 부가 정보(mode) 구성은 아래와 같다.
I-영상의 고위층(P-VOP)의 모드
1) "all_0":MB내의 모든화소가 배경(0)
2) "all_255":MB내의 모든화소가 물체(255)
3) "intra coded":ESD(Exceptional Sample Data)가 존재하면 MB내의 모든 화소에 대해서 스캔인터리빙 방법을 사용하여 부호화한다. ESD가 존재하지 않으면 TSD(Transitional Sample Data)만 스캔 인터리빙 방법을 사용하여 부호화한다.
P-영상 또는 B-영상의 고위층(B-VOP)의 모드
1) "all_0":앞서의 설명과 동일
2) "all_255":앞서의 설명과 동일
3) "intra coded":앞서의 설명과 동일
4) "intra not coded":아래계층의 영역을 보간(Interpolation)하여 만든 MB와 현재 계층 MB와의 차이가 기준치 이하.
5) "inter coded && MVD = 0":움직임 벡터를 사용하여 이전 영상으로부터 가져온 MB와 현재 MB를 사용하여 CAE(Context based Arithmetic encoding)로 부호화하며 움직임 벡터는 0.
6) "inter not coded && MVD = 0":움직임 벡터를 사용하여 이전 영상으로부터 가져온 MB와 현재 MB의 차이가 기준치 이하이며, 움직임 벡터가 0.
7) "inter coded && MVD!=0":움직임 벡터를 사용하여 이전 영상으로부터 가져온 MB와 현재 MB를 사용하여 CAE부호화.
8) "inter not coded && MVD!=0":움직임 벡터를 사용하여 이전 영상으로부터 가져온 MB와 현재 MB와의 차이가 기준치 이하.
상기와 같이 부호화된 데이터는 다음과 같이 복호화된다. 이진 영상의 각 MB에 대한 비트스트림(bitstream)의 맨 처음에 모드를 표시하는 부가정보가 들어있다. 각 MB를 복호화하기 위해서 먼저 비트스트림으로부터 모드정보를 읽는다.
P-영상과 B-영상의 고위층에 대한 기존의 부가정보(mode)를 전송하기위한 부호화 테이블이 구성되어있다. 이때 전송되는 비트수를 줄이기 위해서 아래 계층 또는 이전 영상으로부터 예측하여 구성한다. 구성 방법은 바로 아래 계층의 해당 MB 가 "all_0" 또는 "all_255"인 경우와 그 이외의 경우에 대한 부호화 테이블이 구성된다.
바로 아래 계층의 해당 MB의 모드가 "all_0"도 아니고 "all_255"도 아닌 경우는 바로 이전 영상의 같은 계층의 해당 MB의 모드에 따라서 부호화 테이블이 구성된다.
바로 아래 계층의 해당 MB의 모드가 "all_0"인 경우
바로 아래 계층의 해당 MB의 모드가 "all_255"인 경우
각 MB 당 고위층에 대한 기존의 부가정보(mode)는 I-영상의 경우 3 종류("all_0", "all_255", "intra coded") 이며, P-영상의 경우 8 종류("all_0", "all_255", "intra coded", "intra not coded", "inter coded && MVD=0", "inter not coded && MVD=0", "inter coded && MVD!=0", "inter not coded && MVD!=0")이다. 부가정보의 종류가 많으면 각 모드를 표현하기 위한 비트 수가 많아지며 따라서 전송되는 비트 양이 많다는 것을 뜻한다.
도4는 현재층(current layer)와 아래층(lower layer) 사이의 관계를 설명한다. 현재층과 아래층의 영상은 서로 크기가 같을 수도 있고, 다를 수도 있다. 크기가 서로 다른 경우 수직, 수평으로 모두 다를 수 있으며, 한쪽 방향으로만 다를 수도 있다. 도4는 수평으로만 다른 경우를 설명한다. 영상의 크기가 다르더라도 모든 층의 각 MB의 크기(16X16)는 일정하다. 따라서 현재층의 영상이 아래층의 영상보다 큰 경우는 현재층의 MB는 아래층의 MB 내에 포함된다(현재층의 MB 여러 개가 아래층의 1개의 MB에 해당된다). 즉, 현재층의 영상이 다운 샘플링되어 아래층의 영상을 구성하기 때문이다. 도4에 도시된 바와 같이 현재층이 아래층의 2 배 크기이며, 이 경우는 현재층의 MB가 아래층 MB 의 반쪽(아래층의 빗금친 영역)에 해당된다.
본 발명은 상기와 같은 종래의 문제점을 해소하기 위한 것으로, 본 발명의 목적은 부호화 방법을 표시하는 부가 정보의 종류와 부가 정보의 종류를 줄여 부호화 효율을 향상시키는 아래층과 현재층의 모드를 이용한 신축형 이진영상 부호화/복호화 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 아래층과 현재층의 상관성을 고려하여 이진영상의 부호화 모드를 줄이고, 그 상관성에 따라 모드 부호화 비트를 할당하여 부호화 비트량을 줄이는 아래층과 현재층의 모드를 이용한 신축형 이진영상 부호화/복호화 방법및 장치를 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 "all_0", "all_255", "intra predicted"(아래층으로부터 업샘플링되어 구성된 MB와 현재의 MB 사이의 차이가 기준치 이하인 경우에 해당하며, 기존 방식에서의 "intra not coded"를 의미한다. 이후부터 본 발명에서 새롭게 정의된 "intra not coded"와 종래의 "intra not coded"를 구별하기 위하여 "intra not coded"는 "intra predicted"라고 한다)의 3가지 모드대신 하나의 모드 "inter not coded"만을 사용한다.
송신단에서 "all_0", "all_255" 또는 "intra predicted"로 결정된 MB는 모두 "inter not coded" 모드로 전송된다.
수신단에서는 아래 계층의 화소들을 참조하여 "inter not coded" 모드로부터 다시 "all_0", "all_255", "intra predicted"를ㄹ 구별해낸다.
"inter coded && MVD=0" 및 "inter coded && MVD!=0"는 "intra coded"로서 표현하고, "inter not coded && MVD=0" 및 "inter not coded && MVD!=0"는 "internot coded"로서 표현한다.
그 결과 P-영상은 부호화 모드를 2가지 모드로 줄일 수 있고, B-영상 부호화 모드를 4가지로 줄일 수 있다.
이러한 모드를 사용하여 부호화 테이블을 만든다. 부호화 테이블은 아래층과 고위층의 상관성을 고려하여 아래층 모드에 대해 발생하는 고위층의 모드를 부호화한다. 각 아래층 모드에 대하여 발생확률이 높은 고위층의 모드일수록 적은 비트량을 할당하여 부호화한다.
도1은 일반적인 영상정보의 신축형 부호화 방법이다.
도2는 스캔 인터리빙 방법이다.
도3(a) 및 (b)는 CAE(Context-based Arithmetic Encode) 방법에 사용되는 컨텍스트이다.
도4는 공간적 신축형 부호화에서 현재층(current layer)과 아래층(lower layer) 사이의 관계를 설명하는 설명도이다.
도5는 본 발명에 의한 I-영상의 고위층을 부호화하는 방법을 보이는 플로우 차트이다.
도6은 본 발명에 의한 고위층영상이 "intra not coded" 모드인지를 판단하는 방법을 보이는 플로우 차트이다.
도7 및 도8은 비트스트림에서 복호한 모드정보가 "intra not coded"일 때 복호화하는 방법을 보이는 플로우차트이다.
도9는 본 발명에 의한 고위층 P-영상과 B-영상을 부호화하는 플로우차트이다.
도10은 최하위 계층의 영상과 현재 계층의 영상의 크기의 비율에 따라서 최하위 계층의 움직임 벡터를 조정하는 방법을 보이는 설명도이다.
도11은 본 발명에 의한 P-영상 또는 B-영상의 고위층을 복호화하는 플로우차트이다.
도12는 본 발명에 의한 신축형 부호화 장치의 구성을 보이는 블럭도이다.
도13은 본 발명에 의한 신축형 부호화수단의 일실시예를 보이는 블럭도이다.
도14는 본 발명에 의한 "intra not coded"모드 결정수단의 구성을 보이는 블럭도이다.
도15는 본발명에 의한 "inter not coded"모드 결정수단의 구성을 보이는 블럭도이다.
도16은 본 발명에 의한 신축형 복호화 장치의 구성을 보이는 블럭도이다.
도17은 본 발명에 의한 신축형 복호화 수단의 구성을 보이는 블럭도이다.
도18은 본 발명에 의한 신축형 복호화 수단의 "intra not coded" 블럭 구성 수단의 구성을 보이는 블럭도이다.
이하, 본 발명의 기술적 사상에 따른 일 실시예를 들어 그 구성 및 동작을 첨부된 도면에 의거 상세히 설명한다.
I-영상(예를들면, VOP, 프레임, 16×16매크로 블럭 등)의 고위층(P-VOP)에 대한 부호화 모드는 종래 방식의 모드들 중 "all_0", "all_255", "intra predicted"(아래층으로부터 업샘플링되어 구성된 MB와 현재의 MB 사이의 차이가 기준치 이하인 경우에 해당하며, 기존 방식에서의 "intra not coded"를 의미한다. 이후부터 본 발명에서 새롭게 정의된 "intra not coded"와 종래의 "intra not coded"를 구별하기 위하여 종래의 "intra not coded"는 "intra predicted"로 표시한다)의 3가지 모드를 하나의 모드 "intra not coded" 만을 사용하여 표시하는 것에 의해 I-영상의 고위층(P-VOP)에 대한 부호화 모드를 다음과 같이 2가지 모드로 한다.
(1) "intra not coded"
(2) "intra coded"
부호화모드가 "intra coded"인 경우
1) ESD의 존재 유무에 대한 정보를 보냄
2) ESD가 존재하면 MB 전체를 CAE 수행하고, ESD가 존재하지 않으면 TSD 만 CAE를 수행한다.
부호화 모드가 "intra not coded"인 경우
부호화 모드가 "intra not coded"인 경우는 다음의 3가지 경우를 포함한다.
a. 아래층의 MB가 "all_0"이고, 고위층의 MB도 "all_0"인 경우 또는 고위층의 MB를 "all_0"라고 했을 때 1 MB 내에서 고위층 MB와 차이가 나는 픽셀(pixel)의 갯수의 합이 기준치 이하인 경우.
b. 아래층의 MB가 "all_255"이고, 고위층의 MB도 "all_255"인 경우 또는 고위층의 MB를 "all_255"라고 했을 때 1 MB 내에서 고위층 MB와 차이가 나는 픽셀의 갯수의 합이 기준치 이하인 경우.
c. 아래층의 MB가 "all_0"도 아니고 "all_255"도 아닌 경우, 아래층의 MB로부터 업샘플링(up sampling)했을 때 1 MB 내에서 고위층의 MB와 차이가 나는 픽셀갯수의 합이 기준치 이하인 경우(즉, 아래계층으로부터 업샘플링하여 구성된 MB와 현재의 MB를 비교하여 결정하는데, MB를 4×4블럭으로 분할하고 업샘플링하여 구성된 MB와 현재의 MB 사이의 에러가 임계치보다 작거나 같을 경우).
따라서, 복호화시에는 "intra not coded"를 표시하는 부가정보를 수신하고, 아래층을 참조하여 아래층이 "all_0" 의 경우 고위층의 MB를 모두 0으로 채운다. 아래층이 "all_255"의 경우 고위층의 MB를 모두 255으로 채운다. 아래층이 "all_0"나 "all_255"가 아닌 경우 아래층의 MB로부터 업샘플링하여 고위층의 MB를 만든다.
도5는 본 발명에 의한 I-영상의 고위층을 부호화하는 방법을 보이는 플로우 차트이다.
단계 ST501에서 현재의 매크로 블럭이 "intra not coded"인지를 판단한다. 본 발명에서는 "intra not coded"가 "all_0", "all_255", "intra predicted" 의 3가지 모드를 포함하므로, 도6에 설명되는 과정에 의해 "intra not coded" 모드인지를 판단한다.
현재 매크로 블럭이 "intra not coded" 모드가 아닌 경우, 단계 ST502에서 "intra coded" 모드를 표시하는 부가정보를 복호기측으로 전송하고, 현재 매크로 블럭을 스캔 인터리빙(Scan Interleaving) 방법으로 부호화하여 복호기측으로 전송한다. 즉, ESD의 존재 유무에 대한 정보를 보내고, ESD가 존재하면 MB 전체를 CAE 수행하고, ESD가 존재하지 않으면 TSD만 CAE를 수행한다.
현재 매크로 블럭이 "intra not coded" 모드인 경우, 단계 ST503에서 "intra not coded" 모드를 표시하는 부가정보를 복호화측으로 전송한다.
본 발명에서는 "intra not coded"가 "all_0", "all_255", "intra predicted"(종래의 "intra not coded"임)를 의미하기 때문에 도6에 설명되는 바와 같이 상기 3가지의 경우에 해당하는지를 판단한다. 도6은 본 발명에 의한 고위층영상이 "intra not coded" 모드인지를 판단하는 방법을 보이는 플로우 차트이다.
단계 ST601에서, 현재 매크로 블럭에 해당하는 아래층 MB이 "all_0" 모드인지를 판단한다. 상기 아래층 MB이 "all_0" 모드인 경우, 단계 ST602에서, 현재의매크로 블럭이 "all_0" 모드인지를 판단한다. 현재 매크로 블럭과 대응하는 아래층 MB이 동시에"all_0"모드인 경우, "intra not coded" 모드를 표시하는 부가정보를 복호기측으로 전송한다.
현재 매크로 블럭 또는 대응하는 아래층 MB이 "all_0" 모드가 아닌 경우, 단계 ST603에서, 현재 매크로 블럭에 대응하는 아래층 MB이 "all_255" 모드인지를 판단한다. 상기 아래층 MB이 "all_255" 모드인 경우, 단계 ST504에서, 현재의 매크로 블럭이 "all_255" 모드인지를 판단한다. 현재의 매크로 블럭과 대응하는 아래층 MB이 동시에 "all_255" 모드인 경우, "intra not coded" 모드를 표시하는 부가정보를 복호기측으로 전송한다. 현재의 매크로 블럭 또는 대응하는 아래층 MB이 "all_255"모드가 아닌 경우, 단계 ST605에서, 현재 매크로 블럭이 "intra predicted" 모드인지를 판단한다. 현재 매크로 블럭이 "intra predicted" 모드인 경우, "intra not coded" 모드를 표시하는 부가정보를 복호기측으로 전송하는 단계로 진행한다. 현재매크로 블럭이 "intra predicted" 모드가 아닌 경우, "intra coded" 또는 "inter coded" 모드를 부호화하는 단계로 진행한다.
복호화 수신단에서는 도7 및 도8에 도시된 바와 같이 "intra not coded" 모드로부터 복호화하고, "all_0", "all_255"와 "intra predicted"를 분리하고, 각각에 해당되는 동작을 한다. 비트스트림에서 복호한 모드정보가 "intra not coded"일 때 도7에 도시된 바와 같이 복호화한다.
단계 ST701에서 아래층의 MB이 "all_0"이거나 현재 매크로 블럭의 MB에 해당되는 아래층 영역 내의 모든 화소(sample)가 0 인 경우 현재층의 MB은 "all_0" 에해당되며, 단계 ST702에서 현재층 MB 내의 모든 화소는 0으로 치환된다.
단계 ST703에서 아래층의 MB가 "all_255"이거나 현재층 MB에 해당되는 아래층의 영역 내의 모든 화소가 255인 경우, 현재층 MB은 "all_255"에 해당되며, 단계 ST704에서 현재층 MB 내의 모든 화소는 255로 치환된다.
아래층의 MB이 "all_0"도 아니고 "all_255"도 아니면 현재층 MB에 해당되는 아래층의 MB내에 '0' 와 '255'를 갖는 화소가 함께 존재하는 경우이다. 기존 방법에서의 "intra not coded"에 해당 된다. 이 경우 단계 ST705에서 아래층으로부터 예측되어 구성된 MB를 현재층의 MB로서 사용한다.
종래 방식에서 P-영상과 B-영상의 고위층 모드는 앞서 설명한 바와 같이 8가지로 구성되지만, 본 발명에 의한 부호화방법에서는 3가지 모드 "all_0", "all_255", "intra predicted(종래의 "intra not coded")는 "intra not coded" 모드로 부호화되어 복호화장치로 전송한다. 이것은 I-영상의 고위층 모드와 같은 방법이다.
또한 본 발명에서는 움직임 벡터를 전송하지 않음으로써 움직임 벡터를 찾기위한 복잡도를 줄인다. 따라서, 종래의 "Inter coded && MVD=0" 및 "inter coded && MVD!=0"는 "inter coded"로서 표현하고, "inter not coded && MVD=0" 및 "inter not coded && MVD!=0"는 "inter not coded"로 표현한다. 그 결과 P-영상(또는 B-영상)의 고위층에 대한 부호화 모드를 다음과 같이 4가지 모드로 한다.
(1) "intra not coded"("all_0", "all_255", "intra predicted(종래의 "intra not coded"))
(2) "intra coded"
(3) "intra not coded"("intra not coded && MVD=0", "intra not coded && MVD!=0")
(4) "intra coded"("intra coded && MVD=0", "inter coded && MVD!=0")
부호화모드가 "intra not coded" 및 "intra coded"의 경우 I-영상의 고위층의 "intra not coded" 및 "intra coded"의 의미와 같다.
"inter coded"와 "inter not coded"의 경우 이전 VOP로부터 움직임 보상하여 매크로 블럭을 가져오기 위하여 움직임 벡터가 필요하다. 움직임 벡터는 기본층(base layer)의 움직임 벡터를 현재층 영상과 아래층 영상 크기의 비율로 조정하여 사용한다. 현재층의 영상이 다운 샘플링되어 아래층의 영상을 구성하기 때문이다. 도4에 도시된 바와 같이 현재층이 아래층의 수평방향으로 2 배인 경우, 현재층의 MB가 아래층 MB의 비율에 따라 아래층의 움직임 벡터를 수평성분을 2배 하여 현재층의 움직임 벡터로 한다.
아래층이 "MVDs==0 && No Update" 또는 "MVDs!=0 && No Update" 의 경우는 움직임 벡터가 0 이다. "intra not coded"는 아래층의 움직임 벡터를 이용하여 이전 영상으로부터 가져온 MB와 비교하여 차이가 나는 화소의 MB 내의 합이 기준치 이하인 경우를 의미한다. 따라서, 부호화 모드가 "intra not coded"인 경우는 아래층의 움직임 벡터를 사용하여 이전 영상으로부터 가져오며 추가의 부호화 또는 복호화를 하지 않는다.
아래층이 "MVDs==0 && No Update" 또는 "MVDs!=0 && No Update"의 경우는 움직임 벡터가 0 이다. "intra coded"는 아래층의 움직임 벡터를 이용하여 이전 영상으로부터 가져온 MB와 비교하여 차이가 나는 화소의 MB 내의 합이 기준치 이상인 경우를 의미한다. 따라서 부호화 모드가 "intra coded"인 경우는 아래층의 움직임 벡터를 사용하여 이전 영상으로부터 가져온 MB를 사용하여 CAE를 수행함으로서 고위층 MB를 얻는다.
본 발명에서 P-영상과 B-영상의 고위층(enhancement layer)의 모드는 기존 방식의 8가지 모드에서 4가지 모드로 줄어든다.
도9는 본 발명에 의한 고위층 P-영상와 B-영상을 부호화하는 플로우차트이다.
단계 ST901에서 현재 매크로 블럭이 "intra not coded"인지 앞서 도6에서 설명한 방법에 의해서 판단된다. "intra not coded"의 경우는 부호화하지 않으며 단계ST902에서 "intra not coded" 모드를 표시하는 부가정보만 전송된다. "intra not coded"가 아니면 단계 ST903에서 앞서 설명한 방식대로 "intra coded" 및 "intra not coded"의 움직임 벡터는 기본층(base layer)의 움직임 벡터를 현재층 영상과 아래층 영상 크기의 비율로 조정하여 움직임 벡터를 재생한다. 단계 ST904에서 현재 매크로 블럭이 "inter not coded"인지를 판단한다. "inter not coded"인 경우, 단계 ST905에서 현재 매크로 블럭을 부호화하지 않고 "inter not coded" 모드를 표시하는 부가정보만 전송된다.
현재 매크로 블럭이 "inter not coded"가 아닌 경우, 단계 ST906에서 현재 매크로 블럭이 "intra coded"인지를 판단한다. 현재 매크로 블럭이 "intra coded"인 경우, 단계 ST908에서, "intra coded" 모드를 표시하는 부가정보와 현재 매크로 블럭을 스캔 인터리빙 방법으로 부호화한 데이터를 복호화장치로 전송한다. "intra coded"가 아닌 경우, 단계 ST907에서 "inter coded" 모드를 표시하는 부가정보를 전송하고, 현재 매크로 블럭을 CAE(CAE : Contexed-based Arithmetic Encod) 부호화하여 복호화 장치로 전송한다.
"inter coded"와 "inter not coded"의 경우 이전 영상으로부터 움직임 보상하여 MB를 가져오기 위하여 움직임 벡터가 필요하다. 움직임 벡터는 최하위 계층(base layer)의 움직임 벡터를 영상 크기의 비율로 조정한 후 사용한다.
최하위 계층으로부터 움직임 벡터를 얻는 방법은 다음과 같다.
1. 최하위 계층의 해당 MB의 모드가 "all_0", "all_255" 또는 "intraCAE"의 경우 현재 계층의 MB의 움직임 벡터는 0이다.
2. 최하위 계층의 해당 MB의 모드가 "MVDs==0 && No Update", "MVDs!=0 && No Update", "interCAE && MVDs==0" 또는 "interCAE && MVDs!=0"의 경우 최하위 계층에서 재생된 움직임 벡터를 사용한다.
이때 최하위 계층의 영상와 현재 계층의 영상의 크기의 비율에 따라서 최하위 계층의 움직임 벡터를 조정한다. x축 움직임 벡터는 영상 의 x축 크기의 비율에 따라서 조정되고, y측 움직임 벡터는 영상 의 y축 크기의 비율에 따라서 조정된다. 예를들어 도10에서 현재 계층의 영상(101)가 최하위 계층의 영상(102)보다 x축으로 n배 크다고 하면, 현재 계층의 움직임 벡터 V는 기본층의 움직임 벡터 v를 n배이다. 즉, V= n*v 가 된다. 또한, y축으로 m배 크다고 하면, 현재 MB의 움직임 벡터는 최하위 계층의 움직임 벡터에서 y축 움직임 벡터에 m배 곱하여 얻는다.
도11은 본 발명에 의한 고위층 P-영상또는 B-영상을 복호화하는 플로우차트이다.
먼저 단계 ST110에서 비트 스트림(Bitstream)으로 부터 모드가 복호된다. 단계 ST111 에서 "intra not coded"인 경우, 단계ST112에서 아래층의 해당 매크로 블럭의 모드에 따라 복호화없이 화소를 선택한다. "intra not coded"가 아닌 경우, 단계ST113에서 앞서 설명한 방식대로, "intra coded" 및 "intra not coded"의 움직임 벡터는 아래층의 움직임 벡터를 그대로 사용하여 움직임 벡터를 재생한다. 단계 ST114에서 현재 매크로 블럭이 "inter not coded" 모드인지를 판단한다. 모드가 "inter not coded"인 경우는 단계 ST115에서, 복호화하지 않고 이전 영상에서 움직임 보상하여 현재 MB의 화소를 채운다. "inter not coded"가 아닌 경우, 단계 ST116에서, 현재 매크로 블럭이 "intra coded"인지를 판단한다. "intra coded"인 경우는 단계 ST118에서 현재 매크로 블럭을 스캔 인터리빙 방법으로 복호화한다. "intra coded"가 아닌 경우, 단계 ST117에서 현재 매크로 블럭을 CAE 복호화한다.
도12에 본 발명에 의한 신축형 부호화 장치의 구성을 보이는 블럭도가 도시된다.
다수의 서브샘플링수단(1210, 1211,...,121N-2,121N-1)은 그 전단의 서브샘플링수단들(1210,1211,...,121N-2)로부터 영상을 입력받아 서브샘플링한다.
다수의 스캔순서변환수단(1220, 1221, ..., 122N-1, 122N)은 상기 서브샘플링수단(1210, 1211, ..., 121N-2, 121N-1)에서 서브샘플링된 각 층의 영상을 입력받아 소정크기의 매크로 블럭 단위로 분할하여 출력한다.
다수의 신축형 부호화수단(1230, 1231, ..., 123N-1, 123N)은 상기 스캔순서 변환수단(1220, 1221, ..., 122N-1,122N)에서 각층의 영상매크로 블럭 및 아래층의 영상블럭과 각층의 이전 영상을 입력받아 "all_0", "all_255", "intra not coded" 의 3가지 모드를 하나의 모드로 부호화하고, "intra not coded && MVD=0"와 "inter not coded && MVD!=0"를 "intra not coded" 모드로, 그리고 "inter coded && MVD=0"와 "inter coded && MVD!=0"를 "inter Coded" 모드로 놓아 신축형 부호화한다.
입력된 영상(Picture)은 N-1층 서브샘플링수단(121N-1)과 N층 스캔순서 변환수단(122N)에 입력된다. N층 스캔순서 변환수단(122N)은 N층 영상을 소정크기의 매크로 블럭(예, 16×16매크로 블럭 등)으로 분할하여 출력한다. 이 매크로 블럭은 N층 신축형 부호화수단(123N)에서 신축형 부호화되어 비트스트림으로 복호기측으로 전송된다.
N층 신축형 부호화수단(123N)은 N층 이전영상, 상기 N층 영상의 매크로 블럭과 N-1층 영상의 매크로 블럭 및 기본층 부호화수단(1230)의 움직임 벡터를 입력받아 신축형 부호화한다.
N-1층 서브샘플링 수단(121N-1층)은 입력된 영상을 서브샘플링하여 N-1층 영상으로 변환하여 출력한다. 예를들면, 영상을2×2매크로 블럭으로 분할하고 2×2매크로 블럭당 하나의 화소를 추출하여 서브 샘플링된 영상을 만든다. 이렇게 서브샘플링된 N-1층영상은 N-1층 스캔순서 변환수단(122N-1)에서 소정크기의 매크로 블럭으로 분할되어 N-1층 신축형 부호화수단(123N-1)에 입력된다.
N-1층 신축형 부호화수단(123N-1)은 상기 N-1층 이전 영상, N-1층 영상의 매크로 블럭과 N-1층 영상의 매크로 블럭 및 기본층 부호화수단(1230)의 움직임 벡터를 입력받아 신축형 부호화한다.
이와 같이 N층으로부터 기본층까지 순차적으로 여러번 서브샘플링되고, 이렇게 서브샘플링된 각층의 영상매크로 블럭 및 그 아래층의 영상매크로 블럭과 각층의 이전 영상들이 다수의 신축형 부호화수단(1230, 1231, ..., 123N-1, 123N)에 입력되어 "all_0", "all_255", "intra not coded"의 3가지 모드는 "intra not coded"의 모드로 부호화되고, "inter not coded && MVD=0"와 "inter not coded && MVD!=0"는 "intra not coded" 모드로, 그리고 "inter coded && MVD=0"와 "inter coded && MVD!=0"는"inter coded" 모드로 신축형 부호화된다. 따라서, N+1개 계층의 해상도를 갖는 다수의 영상층으로 신축형 부호화된다.
도13에 본 발명에 의한 신축형 부호화수단의 일실시예를 보이는 블럭도가 도시된다. 각 층의 신축형 부호화수단들(1230,1231,...,123N-1,123N)은 동일한 구조를 가지며 설명의 편의상 N층의 신축형 부호화수단(123N)에 대해서 설명한다.
움직임 벡터 조정수단(131)은 상기 기본층 신축형 부호화수단(1230)에서 움직임 벡터를 입력받아 현재층과 기본층의 비율로 확대하여 출력한다.
움직임 보상수단(132)은 현재층(N층)의 이전영상과 상기 움직임 벡터 조정수단(131)에서 출력되는 조정된 움직임 벡터를 입력받아 현재층의 이전 영상으로부터 현재 매크로 블럭에 해당하는 부분을 찾아서 출력한다.
CAE부호화수단(133)은 현재층 영상의 매크로 블럭과 움직임 보상된 현재층의 이전영상을 입력받아 CAE부호화한다.
스캔인터리빙 부호화수단(134)은 현재층 영상과 아래층(N-1층) 영상의 매크로 블럭들을 입력받아 스캔인터리빙 방법으로 부호화한다.
"intra not coded" 모드 결정수단(135)은 현재층 영상과 아래층 영상의 매크로 블럭들을 입력받아 그 매크로 블럭이 "intra not coded" 모드인지 아닌지를 표시하는 신호를 출력한다. 즉 "inter not coded" 모드 결정수단(136)은 현재층(예를 들면, N층) 영상의 매크로 블럭과 아래층(예를 들면, N-1층) 영상의 매크로 블럭을 입력받아 상기 현재층 매크로 블럭이 "inter not coded" 모드인지를 결정하고 그 결과신호를 출력한다(도6참조).
"intra not coded" 모드 결정수단(136)은 현재층 영상의 매크로 블럭과 상기 움직임 보상수단(132)에서 출력되는 움직임 보상된 현재층의 이전영상을 입력받고 현재층 매크로 블럭이 "intra not coded" 모드인지 아닌지에 대한 신호를 출력한다.
비교수단(137)은 상기 스캔인터리빙 부호화수단(134)과 CAE부호화수단(133)에서 출력되는 비트 스트림의 크기를 비교하여 작은 것을 선택하는 신호를 출력한다.
모드 테이블 저장수단(138)은 상기 "intra not coded" 모드 결정수단(135), "intra not coded" 모드 결정수단(136) 및 비교수단(137)에서 신호를 입력받아 그 신호들의 조합에 의해 선택된 모드에 해당하는 데이터를 출력한다.
선택수단(139)은 상기 "intra not coded" 모드 결정신호, "inter not coded" 모드 결정신호 및 비교수단(137)의 비교결과 신호를 입력받아 상기 스캔인터리빙 부호화수단(134)과 CAE부호화수단(133)에서 출력되는 신호들중 하나를 선택하여 출력한다.
"intra not coded" 모드 결정수단(135)는 현재층(예를들면, N층) 영상의 매크로 블럭과 아래층(예를들면, N-1층) 영상의 매크로 블럭을 입력받아 상기 현재층 영상의 매크로 블럭이 "intra not coded" 모드인지를 결정하고 그 결과신호를 출력한다(도6참조).
도14에 본 발명에 의한 "intra not coded" 모드 결정수단의 구성을 보이는 블럭도가 도시된다.
물체/배경 비부호 판단수단(141)은 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 업샘플링하여 현재 매크로 블럭과의 차분 절대치를 추출하고, 그 차가 임계치보다 작은지를 판단한다.
아래층 물체모드 판단수단(142)은 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 입력받아 물체모드인지를 판단한다.
아래층 배경모드 판단수단(143)은 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 입력받아 배경 모드인지를 판단한다.
현재층 물체모드 판단수단(144)은 현재 매크로 블럭을 입력받아 배경모드인지를 판단한다.
현재층 배경에러 판단수단(145)은 현재 매크로 블럭을 입력받아 물체모드인지를 판단한다.
논리연산수단(146)은 상기 물체/배경 비부호 판단수단(141), 아래층 물체모드 판단수단(142), 아래층 배경모드 판단수단(143), 현재층 물체모드 판단수단(144) 및 현재층 배경에러판단수단(145)에서 출력되는 신호들을 논리연산하여 "all_0", "all_255" 및 "intra predicted" 중 어느 하나가 발생했는지를 표시하는 신호를 출력한다.
물체/배경 비부호 판단수단(141)은 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 업샘플링하는 업샘플링 수단(141a)과, 상기 업샘플링된 아래층 매크로 블럭과 현재 매크로 블럭과의 차분 절대치를 추출하는 차분 절대치 추출수단(141b)과, 상기 추출된 차분 절대치가 임계치보다 작은지를 판단하는 에러비교수단(141c)로 구성된다.
업샘플링 수단(141a)은 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 수평, 수직으로 반복시키는 보간법(interpolation)등에 의해 현재 매크로 블럭과 같은 크기의 매크로 블럭으로 변환시킨다. 이 업샘플링된 아래층 매크로블럭은 차분절대치 추출수단(141b)에서 현재 매크로 블럭과 각 대응하는 화소끼리 차분이 계산되고, 그차분은 절대값이 취해진다. 이때 현재 매크로 블럭과 업샘플링된 아래층 매크로 블럭의 각 화소는 0 또는 255이므로, 차분에 대한 절대치도 0 또는 255의 값을 갖는다. 즉, 서로 다른 값을 빼는 경우에만 255 값이 나오므로 255를 갖는 위치의 화소는 현재 매크로 블럭과 업샘플링된 아래층 매크로 블럭이 서로 다르다는 것을 의미한다.
이렇게 차분의 절대치로 이루어진 매크로 블럭이 에러비교수단(141c)에 입력되어 에러가 기준치 이하인지 검사된다. 즉, 차분의 절대치로 이루어진 매크로 블럭이 4×4 크기의 매크로 블럭으로 분할되고, 모든 매크로 블럭의 에러가 임계치보다 작거나 같을 때 에러가 기준치 이하로 판단한다. 에러가 기준치 이하이면 "intra predicted"가 되고, 상기 에러비교수단(141c)은 1을 출력한다.
아래층 물체모드 판단수단(142)은 현재 매크로 블럭에 대응하는 아래층의 영역이 모두 물체값(예를들면,255)을 갖는지를 판단하여 모두 물체값인 경우, 1을 출력하고, 모두 물체값이 아닌 경우, 0을 출력하는 물체판단수단(142a)과, 아래층의 이전영상의 MB의 모드와 상기 물체판단수단(142a)의 출력을 오어(OR)연산하는 오어(OR)게이트(142d)로 구성된다.
현재 매크로 블럭에 대응하는 아래층의 매크로 블럭이 아래층 물체모드 판단수단(142)에 입력되어 현재 매크로 블럭에 대응하는 아래층의 영역을 구성하는 모든 화소가 물체값 255를 가지면, 1을 출력하여 "all_255" 모드임을 표시한다. 그렇지 못하면, 0신호를 출력한다. 아래층의 이전영상의 MB의 모드와 물체판단수단(142c) 중 어느 하나라도 1을 출력하면, 즉 현재 매크로 블럭에 대응하는 아래층 매크로 블럭의 모든 화소가 255이거나 255가 아닌 화소가 있더라도 그 수가 임계치보다 작은 "all_255" 모드를 표시하며, 오어(OR) 게이트(142d)의 출력은 1이 된다.
아래층 배경모드 판단수단(143)은 현재 매크로 블럭에 대응하는 아래층의 영역이 모두 배경값(예를들면,0)을 갖는지를 판단하여 모두 배경값인 경우, 1을 출력하고, 모두 배경값이 아닌 경우, 0을 출력하는 배경판단수단(143a)와, 아래층의 이전영상의 MB의 모드와 상기 배경판단수단(142a)의 출력을 오아(OR)연산하는 오어(OR) 게이트(142d)로 구성된다.
현재 매크로 블럭에 대응하는 아래층의 매크로 블럭이 아래층 배경모드 판단수단(143)에 입력되어 현재매크로 블럭에 대응하는 아래층의 영역을 구성하는 모든 화소가 물체값 0를 가지면, 1을 출력하여 "all_0" 모드임을 표시한다. 그렇지 못하면, 0신호를 출력한다. 아래층의 이전영상의 MB의 모드와 배경판단수단(143a) 중 어느 하나라도 1을 출력하면, 즉 현재 매크로 블럭에 대응하는 아래층 매크로 블럭의 모든 화소가 0이거나 0가 아닌 화소가 있더라도 그 수가 임계치보다 작은 "all_0" 모드를 표시하며, 오어(OR) 게이트(143b)의 출력은 1이 된다.
현재층 물체모드 판단수단(144)은 입력되는 현재 매크로 블럭과 모두 0 값을 갖는 매크로 블럭과 차분을 구하고, 그 절대치를 취하는 물체 차분 절대치 추출수단(144a)과, 상기 추출된 차분 절대치가 임계치보다 작은지를 판단하는 에러비교수단(144b)으로 구성된다.
현재 매크로 블럭은 현재층 물체모드 판단수단(144)에 입력되어 모두 0 값을 갖는 매크로 블럭과 차분의 절대치가 취해진다. 상기 차분 절대치는 에러비교수단(144b)에서 임계치보다 작은지를 판단된다. 임계치보다 작으면 "all_255" 모드가 되고, 에러비교수단(144b)는 1을 출력한다.
현재층 배경에러 비교수단(145)은 현재 매크로 블럭을 입력받아 상기 현재 매크로 블럭을 4×4블럭으로 분할하고, 그 매크로 블럭들의 에러가임계치(16×Alpha)보다 작거나 같은 때 에러가 기준치 이하라고 판단한다. 에러가 기준치 이하라고 판단되면 에러비교수단(145a)은 1을 출력하여 현재 매크로 블럭이 "all_0" 모드라는 것을 표시한다.
상기 아래층 물체모드 판단수단(142)와 상기 현재층 물체판단수단(144)에서 동시에 1이 출력되어야만 앤드(AND) 게이트(U1)이 1을 출력한다. 즉, 현재층 매크로 블럭과 그것에 대응하는 아래층매크로 블럭이 둘다 물체값을 갖는 경우에 앤드(AND) 게이트(U1)는 1을 출력한다.
마찬가지로, 상기 아래층 배경모드 판단수단(143)와 상기 현재층 배경모드 판단수단(145)에서 동시에 1이 출력되어야만 앤드(AND) 게이트(U2)이 1을 출력한다. 즉, 현재층 매크로 블럭과 그것에 대응하는 아래층매크로 블럭이 둘다 배경값을 갖는 경우에 앤드(AND) 게이트(U2)는 1을 출력한다.
따라서, "all_0", "all_255" 및 "intra predicted" 중 어느 하나라도 해당되면 오어(OR) 게이트(U4)는 1을 출력한다. 즉, "all_0"와 "all_255" 및 "intra predicted" 중 어느 하나가 발생했다는 것을 의미한다.
도15에 본 발명에 의한 "inter not coded" 모드 결정수단의 구성을 보이는 블럭도가 도시된다. 현재 매크로 블럭과 움직임 보상된 이전영상의 대응 매크로 블럭을 입력받아 차분절대치를 취하는 차분 절대치 추출수단(151)과, 상기 차분 절대치가 임계치보다 작은지를 판단하는 에러비교수단(152)과, 상기 에러비교수단(152)의 출력과 현재 입력되는 영상이 인트라 모드(I)인지, 예측모드(P) 또는 양방향 예측모드(B)인지에 대한 정보(I/P,B)를 앤드(AND)연산하는 앤드(AND) 게이트(153)로구성된다.
현재 매크로 블럭과 움직임 보상된 이전영상의 대응 매크로 블럭을 입력받아 차분절대치를 취하면, 서로 다른값을 갖는 위치의 화소만 255의 값을 갖는다. 상기 에러비교수단(152)은 상기 차분 절대치가 임계치보다 작은지를 판단한다. 현재영상이 인트라 모드일때는 I/P,B 신호는 0이므로, 앤드(AND) 게이트(153)는 현재영상이 예측모드(P)또는 양방향 예측모드(B)인 경우에만 에러비교수단(152)의 비교결과를 출력한다.
도16은 본 발명에 의한 신축형 복호화 장치의 구성을 보이는 블럭도이다.
도 12에 도시된 신축형 부호화장치와 대응되도록 N+1개의 계층을 표시한다. 다수의 신축형 복호화수단(1610, 1611, ...., 161N-1, 161N)은 각 층의 비트스트림, 기본층의 움직임 벡터, 이전영상 및 아래층 복호화영상을 각각 수신하여 신축형 복호화한다. 영상저장수단(162)은 상기 N층 신축형부호화수단(161N)에서 입력되는 현재층의 영상매크로 블럭을 저장한다.
도17은 본 발명에 의한 신축형 복호화 수단의 구성을 보이는 블럭도이다.
각 층의 신축형 복호화수단들(1610,1611,...,161N-1,161N)은 동일한 구조를 가지며 설명의 편의상 N층의 신축형 복호화수단(161N)에 대해서 설명한다.
움직임 벡터 조정수단(171)은 상기 기본층 신축형 복호화수단(1610)에서 움직임 벡터를 입력받아 현재층과 기본층의 비율로 확대하여 출력한다.
움직임 보상수단(172)은 현재층(N층)의 이전영상과 상기 움직임 벡터 조정수단(171)에서 출력되는 조정된 움직임 벡터를 입력받아 현재층의 이전 영상으로부터현재 매크로 블럭에 해당하는 매크로 블럭(B)을 움직임 보상하여 출력한다.
모드 복호수단(173)은 현재층 비트스트림과 I/P,B신호를 입력받아 모드정보를 복호화한다.
"intra not coded" 매크로 블럭 구성수단(174)은 아래층 영상의 매크로 블럭과 그 모드를 입력받아 사전에 결정된 규칙에따라 처리하여 현재영상 매크로 블럭(A)을 출력한다.
CAE부호화수단(176)은 현재층 영상의 비트스트림과 움직임 보상된 현재층의 이전영상을 입력받아 CAE부호화한 신호(D)를 출력한다.
스캔인터리빙 복호화수단(175)은 현재층 영상의 비트스트림과 아래층(N-1층) 영상의 매크로 블럭들을 입력받아 스캔인터리빙 방법으로 복호화한 신호(C)를 출력한다.
다중화 수단(177)은 상기 모드 복호수단(173)에서 복호된 모드에 따라 A,B,C 및 D 중 하나를 출력한다.
도18은 본 발명에 의한 신축형 복호화수단의 "intra not coded" 매크로 블럭 구성 수단의 구성을 보이는 블럭도이다.
물체모드 판단수단(181)은 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭의 화소가 모두 255이면 1을 출력하고 그렇지않으면 0을 출력한다. 오어(OR) 게이트(U1)은 아래 계층의 MB의 모드가 "all_255"이거나 상기 물체모드 판단수단(181)의 출력이 1이면 그 출력은 1이 된다.
배경모드 판단수단(182)은 은 아래 계층의 MB내의 화소들중 현재 계층의 MB에 해당하는 영역 내의 화소들이 모두 0이면 1을 출력하고 그렇지않으면 0을 출력한다.
오어(OR) 게이트(U2)는 아래 계층의 MB의 모드가 "all_0" 이거나 배경모드 판단수단(182)의 출력이 1이면 그 출력은 1이 된다.
"all_0" 블럭 발생수단(183)은 모든 화소가 0인 MB을 발생시킨다.
"all_255"블럭 발생수단(184)는 모든 화소가 255인 MB을 발생시킨다.
업샘플링수단(185)은 아래 계층의 영역을 업샘플링(up sampling)하여 현재 MB을 구성한다.
제1멀티플렉서 (186)은 오어(OR) 게이트(U1)의 출력신호에 따라 "all_255" 블럭 발생수단(184) 또는 상기 업샘플링수단(185)의 출력을 선택한다.
제2멀티플렉서(187)은 오어(OR) 게이트(U2)의 출력신호에 따라 "all_0" 블럭 발생수단(183) 또는 상기 제1멀티플렉서(186)의 출력을 선택한다.
물체모드 판단수단(181)은 아래 계층의 MB 내의 화소들중 현재 계층의 MB에 해당하는 영역 내의 화소들이 모두 255이면 1을 출력하고 그렇지않으면 0을 출력한다. 아래 계층의 MB의 mode 가 all_255 이거나 물체모드 판단수단(181)의 출력이 1이면 오어(OR) 게이트 (U1)의 출력은 1이 된다. 여기서 "all_0", "all_255" 모드를 전송하거나 부호화 복호화하는 데는 사용하지않지만 오어(OR) 게이트 (U1, U2)의 출력을 "all_0", "all_255" 모드로서 매 MB 마다 저장해놓고 여기서 사용한다.
배경모드 판단수단(182)은 아래 계층의 MB 내의 화소들중 현재 계층의 MB에 해당하는 영역 내의 화소들이 모두 0이면 1을 출력하고 그렇지않으면 0을 출력한다. 아래 계층의 MB의 모드 가 "all_0" 이거나 배경모드 판단수단(182)의 출력이 1이면 오어(OR) 게이트 (U2)의 출력은 1이 된다.
"all_0" 블럭 발생수단(183)는 모든 화소가 0인 MB를 구성하는 불록이다. 출력되는 MB의 모든화소는 0이다.
"all_255" 블럭 발생수단(184)는 모든 화소가 255인 MB를 구성하는 블럭이다. 출력되는 MB의 모든 화소는 255이다.
업샘플링수단(185)은 아래 계층의 영역을 업샘플링(up sampling)하여 현재 MB을 구성한다.
제1 MUX(186)의 출력은 오어(OR) 게이트(U1)의 출력 "all_255"가 1이면 "all_255" 블럭 발생수단(184)의 출력 즉 모든 화소가 255인 MB이 선택되며 0이면 업샘플링수단(185)의 출력 즉, 업샘플링된 MB이 선택된다.
제2MUX(187)의 출력은 오어(OR) 게이트(U2)의 출력 "all_0"가 1이면 "all_0" 블럭 발생수단(183)의 출력 즉 모든 화소가 0인 MB이 선택되며 0이면 제1MUX(186)의 출력이 선택된다.
영상을 다수의 계층으로 부호화시에 고위층과 그것을 다운 샘플링한 아래층과의 사이에는 상관성이 높다. 즉, 고위층이 "inter not coded"이면, 그 아래층도 "inter not coded"일 확률이 높다. 이 상관성을 고려하여 I-영상, P-영상(또는 B-영상)의 고위층의 부호화 모드에 대한 비트를 할당하는 것이 부호화 비트량을 줄일 수 있다.
다음에 I-영상 및 P-영상(B-영상)의 고위층의 부호화 모드에 대한 비트 할당 방법을 설명한다.
아래층 부호화 모드를 알고있을 때 고위층의 부호화 모드에 대한 발생 비트 수를 허프만(Hufman) 부호화 방식을 사용하여 발생확률이 많으면 작은 비트수를 할당하고, 발생확률이 작으면 긴 비트를 할당한다. 예를들면, 아래층이 "intra not coded"일 경우, 현재층도 "intra not coded"일 확률이 가장 크므로, 가장 작은 길이의 비트를 할당하고, 그 다음 발생확률이 큰 부호화 모드에 2, 3,... 비트를 할당한다. 또한, MB의 부호화 모드는 "intra coded"가 가장 많이 발생하므로 전체 부호화 모드에 관계없이 대부분 "intra coded"는 1비트 또는 2비트로 비교적 적은 비트수를 할당한다.
다음에 본 발명에 의한 부호화 비트 할당방법으로 할당한 예를 보인다
다음에 실제로 상기의 방법대로 아래층 모드를 알고있을 때 고위층 모드에 대한 코드의 실시예를 보인다. 여기서 각 고위층의 각 할당된 bit에 대한 code는다음 2 가지를 사용한다.
I-영상 및 P-영상 그리고 B-영상의 고위층에서 본 발명의 부가정보(mode) 구성 방법과 부호 테이블은 아래와 같다.
I-영상의 고위층인 경우에는 다음과 같은 2가지 종류의 부호화 모드를 사용한다.
(1) "intra not coded"
(2) "intra coded"
종래의 방식에서는 I-영상의 고위층인 경우 3가지의 모드 "all_0", "all_255", "intra coded"를 사용하였다. 본 발명에서는 기존 방식에서의 "all_0", "all_255" 모드와 기존 방식의 P-영상 또는 B-영상의 고위층에서의 "intra not coded"를 하나의 모드 "intra not coded"로 전송하고, 수신단에서는 아래층의 정보를 이용하여 수신된 "intra not coded"가 "all_0"인지 또는 "all_255"인지를 알아내는 방법을 사용한다.
따라서 본 발명에서는 2가지 모드만을 사용함으로서 3가지 모드를 사용하는 종래의 방법에 비해서 모드를 전송하는데 따른 bit량을 줄일수 있다.
각 MB에 대한 모드의 부호(code)를 다음과 같은 코드 테이블(code table)을사용하여 부호화 한다. 각 모드는 고정길이(fixed length)로 1 비트가 전송된다.
ISO/IEC WG11에서 현재 표준화가 진행중인 MPEG-4 에서는 비트스트림에서 영상를 구별하기 위해서 영상 시작할 때 23개의 연속된 '0'를 표시한다. 영상 내에서 23개의 연속된 '0'가 발생하는 경우 영상의 시작으로 판단하게 된다. 따라서 영상의 시작이 아닌 경우 23개의 연속된 '0'가 발생하지 않도록 할 필요가 있다. 또는 전송 에러에 의하여 일부의 '1'이'0'로 바뀌어 23개의 연속된 '0'가 쉽게 발생하지 않도록 가능하면 '1'이 많이 발생하도록 하는 것이 유리하다. 따라서 위의 테이블에서 "intra coded"의 모드에 '1'이 포함되도록 다음과 같이 변경한다.
P-영상의 아래층을 부호화하는 첫 번째 방법은 다음과 같다.
(1) "all_0" 또는 "all_255" 또는 "intra predicted"(종래의 "intra not coded")
(2) "intraCAE" 또는 "intra coded"
(3) "MVDs==0 && No Update" 또는 "MVDs!=0 && No Update" 또는 "inter not coded"
(4) "interCAE && MVDs==0" 또는 "interCAE && MVDs!=0" 또는 "inter coded"
P-영상의 고위층의 부호화 모드는 다음과 같이 구분할 수 있다.
(1) "inter not coded"
(2) "intra coded"
(3) "inter not coded"
(4) "inter coded"
기존 방식에서 P-영상과 B-영상의 고위층 모드는 8가지로 구성된다. 여기서 3가지 모드 "all_0", "all_255", "intra predicted"(종래의 "inter not coded")는 하나의 모드 "intra not coded" 모드로 복호화장치로 전송한다. 이것은 I-영상의 고위층 모드와 같은 방법이다. 또한 본 발명에서는 움직임 벡터를 전송하지 않음으로서 움직임 벡터를 찾기 위한 복잡도를 줄인다.
따라서 기존 방식의 모드에서 "inter coded && MVD=0" 및 "inter coded && MVD!=0"는 하나의 모드 "inter coded"로서 표현하고, "inter not coded && MVD=0"및 "inter not coded && MVD!=0"는 "inter not coded"로 표현한다.
"inter coded"와 "inter not coded"의 경우 이전 영상으로부터 움직임 보상하여 MB를 가져오기 위하여 움직임 벡터가 필요하다. 움직임 벡터는 최하위 계층(base층)의 움직임 벡터를 영상 크기의 비율로 조정한 후 사용한다.
최하위 계층(기본층)으로부터 움직임 벡터를 얻는 방법은 다음과 같다.
첫째 최하위 계층의 해당 MB의 모드가 "all_0", "all_255" 또는 "intraCAE"의 경우 현재 계층의 MB의 움직임 벡터는 0이다.
둘째 최하위계층의 해당 MB의 모드가 "MVDs==0 && No Update", "MVDs!=0 && No Update", "interCAE && MVDs==0 " 또는 "interCAE && MVDs!=0"의 경우 최하위계층에서 재생된 움직임 벡터를 사용한다.
이때 최하위 계층의 영상와 현재 계층의 영상의 크기의 비율에 따라서 최하위 계층의 움직임 벡터를 조정한다. x측 움직임 벡터는 영상 의 x축 크기의 비율에 따라서 조정되고, y측 움직임 벡터는 영상 의 y축 크기의 비율에 따라서 조정된다. 예를들어 현재 계층의 영상가 최하위 계층의 영상보다 x축으로 n배 y축으로 m배 크다고 하면, 현재 MB의 움직임 벡터는 최하위 계층의 움직임 벡터에서 x축 움직임 벡터에 n배 곱하고, y축 움직임 벡터에 m배 곱하여 얻는다.
본 발명에서 P-영상과 B-영상의 고위층의 모드는 기존 방식의 8가지 모드 에서 4가지 모드로 줄어든다.
각 MB에 대한 모드의 부호(code)를 다음과 같은 부호화 테이블을 사용하여 부호화 한다. 이때 발생되는 비트를 줄이기 위하여 다음과 같이 바로 아래 계층(lower층)의 모드와 화소값들을 이용하여 부호화 테이블을 구성한다.
여기서 바로 아래 계층의 모드를 부호화하는 두 번째 방법은 다음과 같다.
(1)"all_0", "all_255", "intra not coded" 또는 현재층의 MB에 해당되는 아래층 매크로블럭 영역 내의 모든 화소(sample)가 0이거나 모든 화소(sample)가 255 인 경우
(2)"intraCAE" 또는 "intra coded"
(3)"MVDs==0 && No Update", "MVDs!=0 && No Update" 또는 "inter not coded"
(4)"interCAE && MVDs==0", "interCAE && MVDs!=0" 또는 "inter coded"
바로 아래 계층(lower층)이 최하위계층(base층)인 경우와 아닌 경우를 나누어 설명하면 다음과 같다.
바로 아래 계층(lower층)이 최 하위계층(base층)인 경우:
(1) "all_0" 또는 "all_255" 또는 현재층의 MB에 해당되는 아래층의 영역 내의 모든 화소 (sample)가 0 이거나 모든 화소 (sample)가 255 인 경우
(2) "intraCAE"
(3) "MVDs==0 && No Update" 또는 "MVDs!=0 && No Update"
(4) "interCAE && MVDs==0 " 또는 "interCAE && MVDs!=0"
바로 아래계층(lower층)이 최하위계층(base층)이 아닌 경우:
(1)"intra not coded" 또는 현재층 MB에 해당되는 아래층의 영역 내의 모든 화소(sample)가 0 이거나 모든 화소 (sample)가 255 인 경우
(2)"intra coded"
(3)"inter not coded"
(4)"inter coded"
아래층 모드를 알고있을 때 고위층 모드에 대한 code(first shape code)를다음과 같이 정한다.
ISO/IEC WG11에서 현재 표준화가 진행중인 MPEG-4 에서는 비트스트림(bitstream)에서 영상을 구별하기 위해서 영상 시작할 때 23개의 연속된 '0'을 표시한다. 영상 내에서 23개의 연속된 '0'이 발생하는 경우 영상의 시작으로 판단하게 된다. 따라서 영상의 시작이 아닌 경우 23개의 연속된 '0'이 발생하지 않도록 할 필요가 있다. code table 1에 따르면 23개의 연속된 '0'이 발생 할 수 있으므로 다음과 같은 테이블을 사용한다.
바로 아래 계층(lower층)이 (2)일 때 현재 계층(고위층)이 (1)인 경우보다 (3)인 경우가 더 자주 발생할 수 있는데 이때는 다음의 테이블을 사용한다.
전송 에러에 의하여 일부의 '1'이 '0'로 바뀌어 23개의 연속된 '0'이 쉽게발생하지 않도록 가능하면 '1'이 많이 발생하도록 하는 것이 유리하다. 따라서 위의 테이블에서 모든 모드에 '1'이 반드시 포함되도록 다음과 같이 변경한다.
code table 2 을 수정하여 다음과 같은 테이블을 구성한다.
또한 위와 같은 이유로 code table 3 을 수정하여 다음과 같은 테이블을 구성한다.
본 발명에서 모드를 결정하는 순서는 기존의 방법을 개선하여 다음과 같이 결정한다.
데이터 베이스로부터 원하는 영상 또는 이진 영상을 빠르게 찾기 위해서 MB 단위로 "all_0", "all_255" 또는 "all_0"나 "all_255"가 아닌 MB(즉 edge에 해당되는 MB)를 구분할 필요가 있다. 이렇게 구분하면, MB 를 1 개의 화소로 표시하는 작은 크기의 이진 영상을 만들 수 있고, 작은 크기의 이진 영상으로부터 전체 영상을 대충 판단할 수 있으며 전체 영상이 찾고자 하는 영상인지 아닌지를 알 수가 있다. 즉 "all_0" MB은 0 값의 화소로 표시하고, "all_255"의 MB은 255의 값으로 표시하며, "all_0" 나 "all_255" 가 아닌 MB(즉 edge에 해당되는 MB)은 128 값으로 표시함으로서 작은 크기의 영상을 얻을 수 있다. 이와 같이 "all_0", "all_255" 또는"all_0"나 "all_255"가 아닌 MB를 정확히 구분하기 위해서 "all_0" 또는 "all_255"가 먼저 결정되어야 한다. 따라서 다음과 같은 순서로 모드를 결정한다.
최하위 계층에서는 다음과 같은 순서로 결정한다.
(1) "all_0" 또는 "all_255"
(2) "MVDs==0 && No Update" 또는 "MVDs!=0 && No Update"
(3) "intraCAE" 와 "interCAE && MVDs==0" 또는 "interCAE && MVDs!=0" 중 bit가 적게 발생하는 모드
고위층에서는 위의 이유 뿐만 아니라, "all_0" 또는 "all_255" 가 먼저 결정되는 것이 발생되는 비트(bit) 수가 적게되므로 다음과 같이 고위층 I-영상과 P-영상에 대한 모드 결정 방법을 사용한다.
I-영상의 고위층에 대한 모드 결정 순서는 다음과 같다.
(1)"all_0" 또는 "all_255"인 경우 "intra not coded"로 결정
(2)아래층(lower층)으로부터 예측되어 구성된 MB과 현재의 MB을 비교하여 에러가 기준치 이하인 경우 "intra not coded" 로 결정
(3) "intra coded"
P-영상 또는 B-영상의 고위층 에 대한 모드 결정 순서 도9와 같은 순서로 결정되는데, "intra predicted"보다 "inter not coded"를 먼저 결정하는 것이 비트 발생을 적게할 수 있는데 이것을 고려하여 다음과 같은 순서로 모드를 결정한다.
(1)"all_0" 또는 "all_255" 인 경우 "intra not coded"로 결정
(2)"inter not coded" 결정
(3) 아래층으로부터 예측되어 구성된 MB과 현재의 MB을 비교하여 에러가 기준치 이하인 경우 "intra not coded"로 결정
(4) "intra coded" 와 "inter coded"에 따라서 부호화를 각각 수행하고 그 중 발생 비트가 적은 모드로 결정
각 MB 마다 위의 순서에 따라서 모드가 결정되며, 위의 순서에서 하나가 결정되면 모드 결정을 끝내고, 다음 MB의 모드를 결정한다.
이상에서 살펴본 바와 같이, 이진영상의 모드에 따라 아래층을 참조하여 부호화하고, 아래층과 고위층 사이의 상관성을 고려하여 부호화 비트를 할당함으로써 부호화 비트의 양을 줄여서 부호화 효율을 향상시킬 수 있게 되는 것이다.

Claims (40)

  1. 아래층(lower layer) 및 현재층(current layer)의 모드를 이용하여 신축형 형상 이진 영상(scalable shape binary image)을 부호화하는 장치-상기 장치에서 상기 이진 영상은 상이한 해상도(resolution)를 갖는 복수의 층(layer)으로 인코딩됨-에 있어서,
    그 전단의 서브샘플링수단으로부터 영상을 입력받아 서브샘플링하는 복수의 서브샘플링수단;
    상기 서브샘플링수단에서 서브샘플링된 각 층의 영상을 입력받아 소정 크기의 매크로 블럭 단위로 분할하여 출력하는 다수의 스캔순서변환수단; 및
    각 층의 영상 매크로 블럭(image macro block), 아래층의 영상 블럭(image block) 및 각 층의 이전 영상(previous image)을 상기 스캔순서변환수단으로부터 입력받아 "all_0", "all_255" 및 "intra predicted"(종래의 "intra not coded")의 3가지 모드를 하나의 "intra not coded" 모드로 부호화하고, "intra CAE" 또는 "intra coded"모드를 "intra coded" 모드로 부호화하고, "intra not coded && MVD==0" 및 "intra not coded && MVD!=0"를 "intra coded" 모드로 하여 신축형 형상 부호화하는 복수의 신축형형상부호화수단
    을 포함하되,
    상기 신축형형상부호화수단은
    기본층(base layer)의 상기 신축형형상부호화수단으로부터 움직임벡터(motion vector)를 입력받아 상기 움직임 벡터를 상기 현재층과 기본츠의 비율로 확대하여 출력하는 움직임벡터조정수단;
    상기 현재층의 이전 영상 및 상기 움직임벡터조정수단으로부터 출력되는 조정된 움직임 벡터를 입력받아 상기 현재층의 이전 영상으로부터 현재 매크로 블럭에 해당하는 부분을 찾아서 출력하는 움직임보상수단;
    상기 현재층 영상의 매크로 블럭과 움직임 보상된 현재층의 이전 영상을 입력받아 CAE부호화하는 CAE부호화수단;
    상기 현재층 영상과 아래층 영상의 매크로 블럭을 입력받아 스캔인터리빙 방법으로 부호화하는 스캔인터리빙부호화수단;
    상기 현재층 영상과 아래층 영상의 매크로 블럭을 입력받아 상기 매크로 블럭이 "intra not coded" 모드인지 아닌지를 나타내는 신호를 출력하는 "intra not coded" 모드결정수단;
    상기 현재층 영상의 매크로 블럭과 상기 움직임보상수단으로부터 출력되는 상기 현재층의 움직임 보상된 이전 영상을 입력받아 상기 현재층 매크로 블럭이 "intra not coded"모드인지 아닌지를 나타내는 신호를 출력하는 "intra not coded" 모드결정수단;
    상기 스캔인터리빙부호화수단 및 CAE부호화수단으로부터 출력되는 비트 스트림의 크기를 비교하여 작은 비트 스트림을 선택하기 위한 신호를 출력하는 비교수단;
    상기 "intra not coded" 모드결정수단, "intra not coded"모드 결정수단 및비교수단으로부터 신호를 입력받아 상기 신호의 조합에 의해 선택된 모드에 해당하는 데이터를 출력하는 모드테이블저장수단; 및
    상기 "intra not coded" 모드결정신호, "intra not coded"모드 결정신호 및 비교수단의 비교결과 신호를 입력받아 상기 스캔인터리빙부호화수단 및 CAE부호화수단으로부터 출력되는 신호 중 하나를 선택하여 출력하는 선택수단
    을 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  2. 제1항에 있어서,
    상기 "intra not coded" 모드결정수단은
    상기 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 업샘플링하여 상기 현재 매크로 블럭과 상기 업샘플링된 매크로 블럭의 차분 절대치를 추출하고, 상기 차분 절대치가 임계치보다 작은지를 판단하는 물체/배경비부호(non-code)판단수단;
    상기 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 입력받아 물체모드인지를 판단하는 아래층물체모드판단수단;
    상기 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 입력받아 배경 모드인지를 판단하는 아래층배경모드판단수단;
    상기 현재 매크로 블럭을 입력받아 배경모드인지를 판단하는 현재층물체모드판단수단;
    상기 현재 매크로 블럭을 입력받아 물체모드인지를 판단하는 현재층배경에러판단수단; 및
    상기 물체/배경비부호판단수단, 아래층물체모드판단수단, 아래층배경모드판단수단, 현재층물체모드판단수단 및 현재층배경에러판단수단으로부터 출력되는 신호들을 논리연산하여 "all_0", "all_255" 및 "intra prdicted" 중 어느 하나의 모드가 발생되는지를 나타내는 신호를 출력하는 논리연산수단
    을 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화장치.
  3. 제1항에 있어서,
    상기 "intra not coded" 모드결정수단은
    상기 현재 매크로 블럭 및 이전영상의 움직임 보상된 대응 매크로 블럭을 입력받아 차분 절대치를 추출하는 차분절대치추출수단;
    상기 차분 절대치가 임계치보다 작은지를 판단하는 에러비교수단; 및
    상기 에러비교수단의 출력과 현재 입력되는 영상의 모드를 표시하는 정보를 앤드(AND)연산하는 앤드(AND) 게이트
    를 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  4. 제2항에 있어서,
    상기 물체/배경비부호판단수단은
    상기 현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 업샘플링하는 업샘플링수단;
    상기 업샘플링된 아래층 매크로 블럭과 현재 매크로 블럭과의 차분 절대치를 추출하는 차분절대치추출수단; 및
    상기 추출된 차분 절대치가 임계치보다 작은지를 판단하는 에러비교수단
    을 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  5. 제2항에 있어서,
    상기 아래층물체모드판단수단은
    상기 현재 매크로 블럭에 대응하는 아래층의 모든 영상이 물체값을 갖는지를 판단하여 모두 물체값을 가지면 '1'을 출력하고 모두 물체값을 갖지 않으면 '0'을 출력하는 물체판단수단;
    상기 아래층의 이전 영상의 매크로 블럭의 모드 및 상기 물체판단수단의 출력을 오어(OR)연산하는 오어(OR)게이트
    를 포함하는 아래층 및 현재츠의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  6. 제2항에 있어서,
    상기 아래층배경모드판단수단은
    상기 아래층 대응 매크로 블럭의 픽셀값이 임계치보다 작은지를 판단하는 에러비교수단;
    상기 현재 매크로 블럭에 대응하는 아래층 매크로 블럭을 구성하는 모든 픽셀이 배경값으로서 '0'을 갖는지를 판단하는 배경판단수단, 및
    상기 에러비교수단 및 배경판단수단의 출력을 오어(OR)연산하는 오어(OR)게이트
    를 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  7. 제2항에 있어서,
    현재층물체모드판단수단은
    입력되는 현재 매크로 블럭과 모드 0 값을 갖는 매크로 블럭의 차분값을 구하고, 상기 차분값의 절대치를 추출하는 물체차분절대치추출수단; 및
    상기 추출된 차분 절대치가 임계치보다 작은지를 판단하는 에러비교수단
    를 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  8. 아래층(lower layer)의 블럭 및 현재층(current layer)의 블럭의 관계를 이용하여 각 층의 영상을 소정 사이즈의 블럭으로 분할하고 상기 현재층을 부호화하는 신축형 형상 이진 영상(scalable shape binary image) 부호화 방법-상기 방법에서 상기 이진 영상은 상이한 해상도(resolution)를 갖느 복수의 층(layer)으로 인코딩됨-에 있어서,
    상기 아래층의 블럭으로부터 업샘플링되어 상기 현재층이 구성된 경우에 상기 현재층의 매크로 블럭의 부호화 모드가 "intra not coded" 모드(MPEG-4의 기본층에서 "all_0", "all_255" 및 "intra not coded")인지를 판단하는 제1단계;
    상기 제1단계의 판단결과,"intra not coded" 모드인 경우에는 현재층의 매크로 블럭을 부호화하지 않고 "intra not coded" 모드를 표시하는 부가 정보만을 복호화 장치로 전송하는 제2단계;
    상기 제1단계의 판단결과,"intra not coded" 모드가 아닌 경우에는 "intra coded" 모드 및 "intra not coded" 모드의 움직임벡트를 아래층의 움직임벡터를 현재층 영상과 아래층 영상 크기의 비율로 조정하여 움직임벡터를 재생하는 제3단계;
    상기 현재층의 매크로 블럭의 부호화 모드가 "intra not coded"모드인지를 판단하는 제4단계;
    상기 제4단계의 판단결과, "intra not coded" 모드인 경우에는 현재층의 매크로 블럭을 부호화하지 않고 "intra not coded" 모드를 표시하는 부가정보만을 복호화 장치로 전송하는 제5단계;
    상기 제4단계의 판단결과, "intra not coded" 모드가 아닌 겨우에는 상기 현재층의 매크로 블록의 부호화 모드가 "intra coded" 모드인지를 판단하는 제6단계;
    상기 제6단계의 판단결과, "intra coded" 모드인 경우에는 "intra coded" 모드를 표시하는 부가정보와 함께 현재층의 매크로 블럭을 스캔인터리빙방법으로 부호화한 데이터를 복호화 장치로 전송하는 제7단계; 및
    상기 제6단계의 판단결과, "intra coded" 모드가 아닌 경우 "intra coded"모드를 표시하는 부가정보와 함께 현재층의 매크로 블럭을 CAE 부호화한 데이터를 복호화 장치로 전송하는 제8단계
    를 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 장치.
  9. 제8항에 있어서,
    상기 제7단계는
    ESD(Exceptional Sample Data)의 존재 또는 부존재에 대한 정보를 전송하고, ESD가 존재하면 모든 매크로 블럭에 대해서CAE(Context-based Arithmetic Encode)부호화를 수행하며, ESD가 존재하지 않으면 TSD(Transitional Sample Data)에 대해서만 CAE부호화를 수행하는
    아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 부호화 방법.
  10. 각 층의 비트스트림, 기본층(base layer)의 움직임 벡터(motion vector), 아래층(lower layer)의 복호화 영상(decoding image) 및 이전 영상(previous image)을 각각 수신하여 신축형 형상 복호(scalable shape decoding)를 수행하는 복수의 신축형형상복호화 수단을 갖는 신축형 형상 이진 영상(scalable shape binaryimage)을 복호화하는 장치-상기 장ㅊ치에서 상기 이진 영상은 상이한 해상도(resolution)를 갖는 복수의 층(layer)으로 디코딩됨-에 있어서,
    상기 신축형 형상 복호화수단은
    움직임 벡터를 입력받아 상기 움직임 벡터를 현재층(current layer)과 기본층의 비율로 확대하여 출력하는 움직임벡터조정수단;
    상기 현재층의 이전 영상과 상기 움직임벡터조정수단으로부터 출력되는 조정된 움직임 벡터를 입력받아 상기 현재층의 이전 영상으로부터 현재 매크로 블럭에 해당하는 매크로 블럭을 움직임 보상하여 출력하는 움직임보상수단;
    현재층 비트스트림 및 영상의 모드를 표시하는 신호를 입력받아 모드정보를 복호하는 모드복호수단;
    아래층 영상의 매크로 블럭 및 상기 매크로 블럭의 모드를 입력받아 사전에 결정된 규칙에 따라 처리하여 현재 영상 매크로 블럭을 출력하는 "intra not coded" 매크로블럭구성수단;
    현재층 영상의 비트스트림 및 움직임 보상된 현재층의 이전 영상을 입력받아 CAE를 수행하여 신호를 출력하는 CAE부호화수단;
    현재층 영상의 비트스트림 및 아래층 영상의 매크로 블럭을 입력받아 스캔 인터리빙 방법으로 복호화된 신호를 출력하는 스캔인터리빙복호화수단; 및
    상기 모드복호수단에서 복호된 모드에 따라 상기 각 수단으로부터 출력되는 신호를 선택하여 출력하는 다중화 수단
    을 포함하는 아래층과 현재층의 모드를 이용한 신축형 이진영상 복호화 장치.
  11. 제10항에 있어서,
    상기 "intra not coded" 매크로블럭구성수단은
    현재 매크로 블럭에 대응하는 아래층의 매크로 블럭을 구성하는 모든 픽셀이 '255'이면 "1"을 출력하고 그렇지 않으면 "0"을 출력하는 물체모드판단수단;
    아래층 매크로 블럭의 모드가 "all_255"이거나 상기 물체모드판단수단의 출력이 '1'이면 "1"을 출력하는 제1오어(OR)게이트;
    아래층 매크로 블럭 내의 픽셀 중 현재층 매크로 블럭에 해당하는 영역 내의 모든 픽셀이 '0'이면 "1"을 출력하고 그렇지 않으면 "0"을 출력하는 배경모드판단수단;
    아래층 매크로 블럭의 모드가 "all_0"이거나 상기 배경모드판단수단의 출력이 '1'이면 "1"을 출력하는 제2오어(OR)게이트;
    모든 픽셀이 '0'의 값을 갖는 매크로 블럭을 생성하는 "all_0" 블럭생성수단;
    모든 픽셀이 '255'의 값을 갖는 매크로 블럭을 생성하는 "all_255" 블럭생성수단;
    아래층의 영역을 업샘플링(up sampling)하여 현재 매크로 블럭을 구성하는 업샘플링수단;
    상기 제1오어(OR)게이트의 출력신호에 응하여 상기 "all_255" 블럭생성수단또는 상기 업샘플링수단의 출력을 선택하는 제1멀티플렉서; 및
    상기 제2오어(OR)게이트의 출력신호에 응하여 상기 "all_0" 블럭생성수단 또는 상기 제1멀티플렉서의 출력을 선택하는 제2멀티플렉서
    을 포함하는 아래층과 현재층의 모드를 이용한 신축형 이진영상 복호화 장치.
  12. 아래층(lower layer)의 블럭 및 현재층(current layer)의 모드를 이용한 신축형 형상 이진 영상(scalable shape binary image) 복호화 방법에 있어서,
    입력되는 비트스트림으로부터 현재층의 매크로 블럭의 부호화 모드를 복호하는 제1단계;
    상기 제1단계에서 복호된 부호화 모드가 "intra not coded" 모드(MPEG-4의 기본층에서 "all_0, "all_255 및 "intra not coded")인지를 판단하는 제2단계;
    상기 제2단계의 판단결과, "intra not coded" 모드인 경우에는 아래층의 해당 매크로 블럭의 모드에 따라 복호화 없이 화소를 선택하는 제3단계;
    상기 제2단계의 판단결과, "intra not coded"모드가 아닌 경우에는 아래층의 움직임벡터를 사용하여 "intra coded" 모드 및 "intra not coded" 모드의 움직임벡터를 현재층 영상과 아래층 영상 크기의 비율로 조정하여 움직임벡터를 재생하는 제4단계;
    상기 부호화 모드가 "intra not coded" 모드인지를 판단하는 제5단계;
    상기 제5단계의 판단결과, "intra not coded" 모드인 경우에는 복호화하지않고 이전 영상에서 움직임 보상하여 현재층의 매크로 블럭을 채우는 제6단계;
    상기 제5단계의 판단결과, "intra not coded" 모드가 아닌 경우에는 상기 부호화 모드가 "intra coded" 모드인지를 판단하느 제7단계;
    상기 제7단계의 판단결과, "intra coded" 모드인 경우에는 현재층의 매크로 블럭을 스캔인터리빙방법으로 복호화하는 제8단계; 및
    상기 제2단계의 판단결과, "intra coded" 모드가 이닌 경우에는 현재층의 매크로 블럭을 CAE 복호화하는 제9단계
    를 포함하는 아래층 및 현재층의 모드를 이용한 신축형 형상 이진 영상 복호화 방법.
  13. 신축형 형상 이진 영상(scalable shape vinary image) 부호화 방법에 있어서,
    아래층(lower layer) 및 현재층(current layer)의 부호화 모드를 (1) "intra not coded" (2) "intra coded" (3) "intra not coded" 및 (4) "intra coded" 모드 중 어느 하나로 결정하되 하기 표1에 따라 결정하는 결정단계
    를 포함하는 신축형 형상 이진 영상 부호화 방법.
    표1
    상기 아래층 모드가 (1)인 경우 상기 고위층은, 상기 고위층 모드가 (1)이면 "1", 상기 고위층 모드가 (2)이면 "01", 상기 고위층 모드가 (3)이면 "001", 상기 고위층 모드가 (4)이면 "000"로 결정되고;
    상기 아래층 모드가 (2)인 경우 상기 고위층은, 상기 고위층 모드가 (1)이면 "110", 상기 고위층 모드가 (2)이면 "0", 상기 고위층 모드가 (3)이면 "10", 상기 고위층 모드가 (4)이면 "111"로 결정되고;
    상기 아래층 모드가 (3)인 경우 상기 고위층은, 상기 고위층 모드가 (1)이면 "001", 상기 고위층 모드가 (2)이면 "01", 상기 고위층 모드가 (3)이면 "1", 상기 고위층 모드가 (4)이면 "000"으로 결정되고;
    상기 아래층 모드가 (4)인 경우 상기 고위층은, 상기 고위층 모드가 (1)이면 "110", 상기 고위층 모드가 (2)이면 "0", 상기 고위층 모드가 (3)이면 "111", 상기고위층 모드가 (4)이면 "10"으로 결정됨.
  14. 재13항에 있어서,
    상기 아래층의 (1), (2), (3) 및 (4)의 모드 각각이 기본층(base layer)의 모드인 경우에 상기 아래층의 (1), (2), (3) 및 (4)의 모드는 아래와 같이 매핑되는 신축형 형상 이진 영상 부호화 방법.
    (1) "all_0" 또는 "all_255"
    (2) "intraCAE"
    (3) "MVDs == 0 && No Update" 또는 "MVDs! == 0 && No Update"
    (4) "intraCAE && MVDs == 0" 또는 "intraCAE && MVDs! = 0"
  15. 제13항에 있어서,
    상기 아래층 및 현재층의 부호화 모드가 상기 "intra not coded" 및 "intra coded" 중 어느 하나로 결정되는 것은
    하기 표2에 따라 결정되는
    신축형 형상 이진 영상부호화 방법.
    표2
    상기 아래층 모드가 "intra not coded" 모드로 결정된 경우 상기 고위층은 "1"로 결정되고;
    상기 아래층 모드가 "intra coded" 모드로 결정된 경우 상기 고위층은 "01"로 결정됨.
  16. 아래층(base layer) 영상보다 높은 해상도(resolution)를 갖는 적어도 하나의 고위층(enhancement layer) 영상을 포함하는 신축형 형상 이진 영상(scalable shape binary image)을 고위층의 부호화 모드를 이용하여 부호화하기 위한 신축형 이진 영상 부호화 방법에 있어서,
    고위층의 영상을 소정 크기의 블럭으로 분할하는 제1단계;
    상기 고위층의 각 블럭에 있는 화소(pixel)들을 아래층의 해당 영역 화소들과 비교하여, 그 비교결과에 따라 상기 고위층의 각각의 블럭에 대한 부호화 모드를 (1) "intra not coded" 모드,(2) "intra coded" 모드,(3) "intra not coded" 모드 및 (4) "intra coded" 모드 중 하나로 결정하는 제2단계;
    상기 고위층에 있는 P-VOP(Predictive-coded Video Object Plane)에 대한 부호화 모드가 "intra not coded" 모드 및 "intra coded" 모드 중 하나일 경우, 상기 부호화 모드를 나타내는 부가정보를 전송하는 제3단계; 및
    상기 고위층에 있는 B-VOP(Bidirectionally predictive coded VOP)에 대한 부호화 모드가 "intra not coded" 모드, "intra coded" 모드, "intra not coded" 모드 및 "intra coded" 모드 중 하나일 경우, 상기 부호화 모드를 나타내는 부가정보를 전송하는 제4단계
    를 포함하는 신축형 이진 영상 부호화 방법.
  17. 제16항에 있어서,
    상기 "intra not coded" 모드는
    각 고위층 블럭에 있는 화소들 중에서 상응하는 아래층의 화소와 다른 값을 가는 화소들의 수가 기준 값보다 적으며, 고위층이 intra mode CAE 부호화되어있지않음을 나타내고,
    상기 "intra coded" 모드는
    상기 고위층이 intra mode CAE 부호화되었음을 나타내며,
    상기 "intra not coded" 모드 및 상기 "intra coded"모드는
    움직임 벡ㅌ터(motion vector)가 고위층 블럭의 예측을 위해 부호화되지 않았고 아래층 블럭의 움직임 벡터가 사용되었음을 나타내며,
    상기 "intra not coded" 모드는
    현재 VOP의 화소들 중에서 이전의 VOP로부터 예측된 각 고위층 블럭의 화소와 다른 값을 갖는 화소의 수가 기준 값보다 적으며, 고위층의 현재 블럭이 intra mode CAE 부호화 되지 않았음을 나타내며,
    상기 "intra coded" 모드는
    고위층의 현재 블럭이 intra mode CAE 부호화 되었음을 나타내는
    신축형 이진 영상 부호화 방법.
  18. 제16항에 있어서,
    상기 제3단계는,
    상기 부호화 모드가 "inter not coded" 모드일 경우, "intra not coded" 모드를 나타내는 부가정보를 전송하는 단계; 및
    상기 부호화 모드가 "intra coded" 모드일 경우, 고위층 블럭을 인트라 모드(intra mode) CAE(Context-based Arithmetic Encoding) 방식에 따라 부호화하여 제1부호화 데이터를 생성하고 "intra coded" 모드를 나타내는 부가정보 및 제1부호화 데이터를 전송하는 단계
    를 포함하는 신축형 이진 영상 부호화 방법.
  19. 제16항에 있어서,
    상기 제1부호화 데이터를 생성하는 단계는,
    ESD(Exceptional Sample Data)의 존재유무에 대한 정보를 보내고, ESD가 존재하면 상기 고위층 블럭 전체를 부호화하고, ESD가 존재하지 않으면 TSD(Transitional Sample Data)만을 부호화하는
    신축형 이진 영상 부호화 방법.
  20. 제14항에 있어서,
    상기 제4단계는,
    상기 부호화 모드가 "intra coded" 모드일 경우, 고위층 블럭을 인터 모드(intra mode) CAE 방식에 따라 부호화하여 제2부호화 데이터를 생성하고 "intra coded" 모드를 나타내는 부가정보 및 제2부호화 데이터를 전송하는 단계
    를 포함하는 신축형 이진 영상 부호화 방법.
  21. 제14항에 있어서,
    상기 고위층에서 B-VOP를 위한 상기 부가정보는
    다음의 표3에 기재된 값을 갖는 신축형 형상 이진 영상 부호화 방법.
    표3
  22. 제21항에 있어서,
    상기 아래층의 부호화 모드들 (1), (2), (3) 및 (4)가 기본층(base layer)의 부호화 모드들일 경우, 각각 다음과 같이 매핑되는 신축형 형상 이진 영상 부호화 방법.
    (1) "all_0" 또는 "all_255"
    (2) "intraCAE"
    (3) "MVDs == 0 && No Update" 또는 "MVDs! = 0 && No Update"
    (4) "intraCAE && MVDs == 0" 또는 "intraCAE && MVDs! = 0"
  23. 제16항에 있어서,
    상기 고위층에서 P-VOP를 위한 상기 부가정보는
    다음의 표4에 기재된 값을 갖는 신축형 형상 이진 영상 부호화 방법.
    표 4
  24. 아래층(base layer) 영상보다 높은 해상도(resolution)를 갖는 적어도 하나의 고위층(enhancement layer) 영상을 포함하는 신축형 형상 이진 영상(scalable shape binary image)을 고위층의 부호화 모드를 이용하여 부호화하기 위한 신축형 이진 영상 부호화 방법에 있어서,
    (1) "intra not coded" 모드,(2)"intra coded" 모드,(3)"intra not coded" 모드 및 (4)"intra coded" 모드 중 하나인 상기 고위층의 부호화 모드를 나타내는 부가정보를 수신하여 부호화 모드를 결정하는 제1단계;
    상기 고위층에 있는 P-VOP(Predictive-coded Video Object Plane)에 대한 부호화 모드가 "intra not coded" 모드 및 "intra coded" 모드 중 하나일 경우, 상기 부호화 모드에 따라 상기 고위층 블럭에 존재하는 화소들을 재생하는 제2단계; 및
    상기 고위층에 있는 B_VOP(Bidirectionally predictive coded VOP)에 대한부호화 모드가 "intra not coded" 모드, "intra coded" 모드, "intra not coded" 모드 및 "intra coded" 모드 중 하나일 경우, 상기 부호호ㅘ 모드에 따라 상기 고위층의 블럭을 재생하는 제3단계
    를 포함하는 신축형 이진 영상 복호화 방법.
  25. 제24항에 있어서,
    상기 "intra not coded" 모드는
    각 고위층 블럭에 있는 화소들 중에서 상응하는 아래층의 화소와 다른 값을 갖는 화소들의 수가 기준 값보다 적으며, 고위층이 intra mode CAE 부호화되어있지 않음을 나타내고,
    상기 "intra coded" 모드는
    상기 고위층이 intra mode CAE 부호화되었음을 나타내며,
    상기 "intra not coded" 모드 및 상기 "intra coded"모드는
    움직임 벡터(motion vector)가 고위층블럭의 예측을 위해 부호화되지 않았고 아래층 블럭의 움직임 벡터가 사용되었음을 나타내며,
    상기 "intra not coded" 모드는
    현재 VOP의 화수들 중에서 이전의 VOP로부터 예측된 각 고위층 블럭의 화소와 다른 값을 갖는 화소의 수가 기준 값보다 적으며, 고위층의 현재 블럭이 intra mode CAE 부호화 되지 않았음을 나타내며,
    상기 "intra coded" 모드는
    고위층의 현재블럭이 intra mode CAE 부호화 되었음을 나타내는
    신축형 이진 영상 복호화 방법.
  26. 제25항에 있어서,
    상기 제2단계는,
    상기 부호화 모드가 "intra not coded"이고, 상기 고위층 블럭에 상응하는 아래층 블럭의 모든 화소가 "0" 인 경우, 상기 고위층 블럭내의 모든 화소를 "0"으로 치환하는 단계;
    상기 부호화 모드가 "intra not coded"이고, 상기 고위층 블럭에 상응하는 아래층 블럭의 모든 화소가 "255" 인 경우, 상기 고위층 블럭내의 모든 화소를 "255"로 치환하는 단계;
    상기 부호화 모드가 "intra not coded"이고, 상기 고위층 블럭에 상응하는 아래층 블럭의 모든 화소가 "0" 도 아니고 "255"도 아닌 경우, 상기 아래층 블럭으로부터 예측되어 구성된 블럭을 고위층 블럭으로 사용하는 단계
    를 포함하는 신축형 이진 영상 복호화 방법.
  27. 제24항에 있어서,
    상기 고위층에서 B-VOP를 위한 상기 부가정보는
    다음의 표5에 기재된 값을 갖는 신축형 형상 이진 영상 복호화 방법.
    표5
  28. 제27항에 있어서,
    상기 아래층의 부호화 모드들, 즉 (1), (2), (3) 및 (4)가 기본층(base layer)의 부호화 모드일 경우, 각각 다음과 같이 매핑되는 것을 특징으로 하는 신축형 형상 이진 영상 복호화 방법.
    (1) "all_0" 또는 "all_255"
    (2) "intraCAE"
    (3) "MVDs == 0 && No Update" 또는 "MVDs! = 0 && No Update"
    (4) "interCAE && MVDs == 0" 또는 "interCAE && MVDs! = 0"
  29. 제24항에 있어서,
    상기 고위층에서 P-VOP를 위한 상기 부가정보는
    다음의 표6에 기재된 값을 갖는 신축형 형상 이진 영상 복호화 방법.
    표6
  30. 아래층(base layer) 영상보다 높은 해상도(resolution)를 갖는 적어도 하나의 고위층(enhancement layer) 영상을 포함하는 신축형 형상 이진 영상(scalable shape binary image)을 고위층의 부호화 모드를 이용하여 부호화하기 위한 신축형 이진 영상 부호화 방법에 있어서,
    상기 고위층의 영상을 소정 크기의 블럭으로 분할하기 위한 분할 수단;
    상기 고위층의 각 블럭에 있는 화소들을 아래층의 해당 영역 화소들과 비교하여, 그 비교결과에 따라 상기 고위층의 각각의 블럭에 대한 부호화 모드를 (1) "intra not coded" 모드,(2) "intra coded" 모드,(3) "inter not coded" 모드 및 (4) "inter coded" 모드 중 하나로 결정하기위한 부호화 모드 결정 수단;
    상기 고위층에 있는 P-VOP(Predictive-coded Video Object Plane)에 대한 부호화 모드가 "intra not coded" 모드 및 "intra coded" 모드 중 하나일 경우, 상기부호화 모드를 나타내는 부가정보를 전송하기 위한 제1부호화 수단; 및
    상기 고위층에 있는 B-VOP(Bidirectionally predictive coded VOP)에 대한 부호화 모드가 "intra not coded" 모드, "intra coded" 모드, "inter not coded" 모드 및 "inter coded" 모드 중 하나일 경우, 상기 부호화 모드를 나타내는 부가정보를 전송하기 위한 제2부호화 수단
    를 포함하는 신축형 이진 영상 부호화 방법.
  31. 제30항에 있어서,
    상기 "intra not coded" 모드는
    각 고위층 블럭에 있는 화소들 중에서 상응하는 아래층의 화소와 다른 값을 갖는 화소들의 수가 기준 값보다 적으며, 고위층이 intra mode CAE 부호화되어있지 않음을 나타내고,
    상기 "intra coded" 모드는
    상기 고위층이 intra mode CAE 부호화되었음을 나타내며,
    상기 "inter not coded" 모드 및 상기 "inter coded"모드는
    움직임 벡터가 고위층블럭의 예측을 위해 부호화되지 않았고 아래층 블럭의 움직임 벡터가 사용되었음을 나타내며,
    상기 "inter not coded" 모드는
    현재 VOP의 화소들 중에서 이전의 VOP로부터 예측된 각 고위층 블럭의 화소와 다른 값을 갖는 화소의 수가 기준 값보다 적으며, 고위층의 현재 블럭이 intermode CAE 부호화 되지 않았음을 나타내며,
    "inter coded" 모드는
    고위층의 현재블럭이 inter mode CAE 부호화 되었음을 나타내는
    신축형 이진 영상 부호화 장치.
  32. 제30항에 있어서,
    상기 제1부호화 수단은,
    상기 부호화 모드가 "intra coded" 모드일 경우, 고위층 블럭을 부호화하여 인트라(intra) 모드 CAE(Context-based Arithmetic Encoding) 방식에 따라 제1부호화 데이터를 생성하고 "intra coded" 모드를 나타내는 부가정보와 제1부호화 데이터를 전송하기 위한 수단
    을 포함하고,
    상기 제2부호화 수단은,
    상기 부호화 모드가 "inter coded" 모드일 경우, 고위층 블럭을 부호화하여 인터(inter) 모드 CAE 방식에 따라 제2부호화 데이터를 생성하고 "inter coded" 모드를 나타내는 부가정보와 제2부호화 데이터를 전송하기 위한 수단
    을 포함하는 신축형 이진 영상 부호화 장치.
  33. 제30항에 있어서,
    상기 고위층에서 B-VOP를 위한 상기 부가정보는
    다음의 표7에 기재된 값을 갖는 신축형 형상 이진 영상 부호화 장치.
    표7
  34. 제31항에 있어서,
    상기 아래층의 부호화 모듣들 즉, (1), (2), (3) 및 (4)가 기본 계층 (base layer)의 부호화 모드들일 경우, 각각 다음과 같이 매핑되는 신축형 형상 이진 영상 부호화 장치.
    (1) "all_0" 또는 "all_255"
    (2) "intraCAE"
    (3) "MVDs == 0 && No Update" 또는 "MVDs! = 0 && No Update"
    (4) "interCAE && MVDs == 0" 또는 "interCAE && MVDs! = 0"
  35. 제30항에 있어서,
    상기 고위층에서 P-VOP를 위한 상기 부가정보는
    다음의 표8에 기재된 값을 갖는 신축형 형상 이진 영상 부호화 장치.
    표8
  36. 아래층(lower layer) 영상보다 높은 해상도(resolution)를 갖는 적어도 하나의 고위층(enhancement layer) 영상을 포함하는 신축형 형상 이진 영상(scalable shape binary image)을 고위층의 부호화 모드를 이용하여 부호화하기 위한 신축형 이진 영상 복호화 방법에 있어서,
    (1) "intra not coded" 모드, (2)"intra coded" 모드, (3)"inter not coded" 모드 및 (4)"inter coded" 모드 중 하나인 상기 고위층의 부호화 모드를 나타내는 부가정보를 수신하여 부호화 모드를 결정하기 위한 부호화 모드 결정 수단;
    상기 고위층에 있는 P-VOP(Predictive-coded Video Object Plane)에 대한 부호화 모드가 "intra not coded" 모드 및 "intra coded" 모드 중 하나일 경우, 상기 부호화 모드에 따라 상기 고위층 블럭에 존재하는 화소들을 재생하기 위한 제1복호화 수단; 및
    상기 고위층에 있는 B-VOP(Bidirectionally predictive coded VOP)에 대한 부호화 모드가 "intra not coded" 모드, "intra coded" 모드, "inter not coded" 모드 및 "inter coded" 모드 중 하나일 경우, 상기 부호화 모드를에 따라 상기 고위층의 블럭을 재생하기 위한 제2복호화 수단
    를 포함하는 신축형 이진 영상 부호화 방법.
  37. 제35항에 있어서,
    상기 "intra not coded" 모드는
    각 고위층 블럭에 있는 화소들중에서 상응하는 아래층의 화소와 다른 값을 갖는 화소들의 수가 기준 값보다 적으며, 고위층이 부호화되어있지 않음을 나타내고,
    상기 "intra coded" 모드는
    상기 고위층이 부호화되었음을 나타내며,
    상기 "inter not coded" 모드 및 상기 "inter coded"모드는
    움직임 벡터가 고위층 블럭의 예측을 위해 부호화되지 않았고 아래층 블럭의 움직임 벡터가 사용되었음을 나타내며,
    상기 "inter not coded" 모드는
    현재 VOP의 화소들 중에서 이전의 VOP로부터 예측된 각 고위층 블럭의 화소와 다른 값을 갖는 화소의 수가 기준 값보다 적으며, 고위층의 현재 블럭이 부호화 되지 않았음을 나타내며,
    상기 "inter coded" 모드는
    고위층의 현재 블럭이 부호화 되었음을 나타내는
    신축형 이진 영상 복호화 장치.
  38. 제35항에 있어서,
    상기 고위층에서 B-VOP를 위한 상기 부가정보는
    다음의 표9에 기재된 값을 갖는 신축형 형상 이진 영상 부호화 장치.
    표9
  39. 제38항에 있어서,
    상기 아래층의 부호화 모드들 (1), (2), (3) 및 (4)이 기본 계층(base layer)의 부호화 모드들일 경우, 각각 다음과 같이 매핑되는 신축형 형상 이진 영상 복호화 장치.
    (1) "all_0" 또는 "all_255"
    (2) "intraCAE"
    (3) "MVDs == 0 && No Update" 또는 "MVDs! = 0 && No Update"
    (4) "interCAE && MVDs == 0" 또는 "interCAE && MVDs! = 0"
  40. 제36항에 있어서,
    상기 고위층에서 P-VOP를 위한 상기 부가정보는
    다음의 표10에 기재된 값을 갖는 신축형 형상 이진 영상 부호화 장치.
    표10
KR1019980027641A 1997-07-09 1998-07-09 아래층과현재층의모드를이용한신축형이진영상부호화/복호화방법및장치 Expired - Fee Related KR100392379B1 (ko)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
KR97-31815 1997-07-02
KR19970031815 1997-07-09
KR1019970031815 1997-07-09
KR1019970032644 1997-07-14
KR19970032644 1997-07-14
KR97-32644 1997-07-14
KR1019970038946A KR19990016416A (ko) 1997-08-14 1997-08-14 이진 모양정보의 신축형 모양정보 부호화시 부가정보 부호화방법
KR97-38946 1997-08-14
KR1019970038946 1997-08-14
KR98-09479 1998-03-19
KR1019980009479 1998-03-19
KR1019980009479A KR19990075333A (ko) 1998-03-19 1998-03-19 모양정보의 신축형 부호화시에 부호화모드를 결정하는 부가정보부호화방법

Publications (2)

Publication Number Publication Date
KR19990013733A KR19990013733A (ko) 1999-02-25
KR100392379B1 true KR100392379B1 (ko) 2003-11-28

Family

ID=27483217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980027641A Expired - Fee Related KR100392379B1 (ko) 1997-07-09 1998-07-09 아래층과현재층의모드를이용한신축형이진영상부호화/복호화방법및장치

Country Status (3)

Country Link
EP (1) EP0890923A3 (ko)
JP (2) JP3596728B2 (ko)
KR (1) KR100392379B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11527197B2 (en) 2021-01-25 2022-12-13 Samsung Display Co., Ltd. Display device

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2813001B1 (fr) * 2000-08-11 2002-12-20 Thomson Multimedia Sa Procede de conversion de format couleur d'une sequence d'images
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
KR100472457B1 (ko) * 2002-06-21 2005-03-10 삼성전자주식회사 차등 영상 압축 방법 및 그 장치
KR100679025B1 (ko) * 2004-11-12 2007-02-05 삼성전자주식회사 다 계층 기반의 인트라 예측 방법, 및 그 방법을 이용한비디오 코딩 방법 및 장치
KR100896279B1 (ko) 2005-04-15 2009-05-07 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR100703776B1 (ko) * 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
CN101288311B (zh) * 2005-10-12 2011-05-11 汤姆森特许公司 用于可分级视频编码和解码中的加权预测的方法和装置
KR100763196B1 (ko) * 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
US9100621B2 (en) 2010-12-08 2015-08-04 Lg Electronics Inc. Intra prediction in image processing
US9743097B2 (en) * 2013-03-01 2017-08-22 Qualcomm Incorporated Spatial motion vector scaling for scalable video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849812A (en) * 1987-03-10 1989-07-18 U.S. Philips Corporation Television system in which digitized picture signals subjected to a transform coding are transmitted from an encoding station to a decoding station
KR940025195A (ko) * 1993-04-13 1994-11-19 김광호 동작추정에 의한 부호화방법 및 그 장치
WO1995004914A1 (en) * 1993-08-04 1995-02-16 Data Measurement Corporation Virtual two gauge profile system
US5414469A (en) * 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
KR950026255A (ko) * 1994-02-28 1995-09-18 배순훈 계층적 부호화를 이용한 개선된 상위계층의 움직임 벡터 전송 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849812A (en) * 1987-03-10 1989-07-18 U.S. Philips Corporation Television system in which digitized picture signals subjected to a transform coding are transmitted from an encoding station to a decoding station
US5414469A (en) * 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
KR940025195A (ko) * 1993-04-13 1994-11-19 김광호 동작추정에 의한 부호화방법 및 그 장치
WO1995004914A1 (en) * 1993-08-04 1995-02-16 Data Measurement Corporation Virtual two gauge profile system
KR950026255A (ko) * 1994-02-28 1995-09-18 배순훈 계층적 부호화를 이용한 개선된 상위계층의 움직임 벡터 전송 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11527197B2 (en) 2021-01-25 2022-12-13 Samsung Display Co., Ltd. Display device

Also Published As

Publication number Publication date
EP0890923A2 (en) 1999-01-13
KR19990013733A (ko) 1999-02-25
JPH11150730A (ja) 1999-06-02
JP3596728B2 (ja) 2004-12-02
EP0890923A3 (en) 2005-06-15
JP2004242341A (ja) 2004-08-26

Similar Documents

Publication Publication Date Title
US6580832B1 (en) Apparatus and method for coding/decoding scalable shape binary image, using mode of lower and current layers
US6983018B1 (en) Efficient motion vector coding for video compression
US10390028B2 (en) Methods for palette coding of image and video data
JP7085021B2 (ja) 動画の符号化並びに復号の方法、装置及びコンピュータプログラム
CN112470474A (zh) 基于历史的仿射合并和运动矢量预测
US9020047B2 (en) Image decoding device
US6690724B1 (en) Image processing method, image processing device, and data recording medium
CN113424541A (zh) 用于变换跳过模式和块差分脉冲编码调制的残差编解码
KR19990071425A (ko) 이진 형상 신호 부호화 장치 및 방법_
KR100392379B1 (ko) 아래층과현재층의모드를이용한신축형이진영상부호화/복호화방법및장치
CN110971902A (zh) 视频解码的方法和装置、计算机设备
CN113615201A (zh) 点云压缩的方法和装置
JP3518733B2 (ja) 物体単位映像信号符号化/復号化装置及び方法
EP0939554A2 (en) Method and apparatus for coding a transparency signal
US6133955A (en) Method for encoding a binary shape signal
JP3466164B2 (ja) 画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法、及び媒体
CN113841412A (zh) 基于cu的插值滤波器选择的信令
KR102794774B1 (ko) 미러링 기반 비디오 부호화/복호화 방법
KR100535632B1 (ko) 적응적으로 보더링하는 모양정보 부호화/복호화 장치 및 방법
KR100476386B1 (ko) 신축형대상물영상의스캔인터리빙방법및이를이용한mpeg-4의신축형모양정보부호화방법
KR100466591B1 (ko) 영상정보부호화시물체경계블록합병후합병된블록내의픽셀값을부호화하는방법
KR100477795B1 (ko) 이진모양정보의신축형모양정보부호화시부가정보부호화방법
HK40070671A (en) Method, apparatus and computer device for video decoding
HK40064132A (en) Method and apparatus for point cloud compression and decompression
KR100476384B1 (ko) 신축형대상물영상의스캔인터리빙방법및이를이용한mpeg-4의신축형모양정보부호화방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19980709

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20010312

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19980709

Comment text: Patent Application

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20010614

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20021129

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20030617

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20030710

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20030711

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20060629

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20070627

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20080701

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20090701

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20100623

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20110701

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20120706

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20130628

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20140704

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20140704

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20150708

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20150708

Start annual number: 13

End annual number: 13

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 14

PR1001 Payment of annual fee

Payment date: 20160701

Start annual number: 14

End annual number: 14

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20180421