KR100331333B1 - 영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법 - Google Patents

영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법 Download PDF

Info

Publication number
KR100331333B1
KR100331333B1 KR1019980048651A KR19980048651A KR100331333B1 KR 100331333 B1 KR100331333 B1 KR 100331333B1 KR 1019980048651 A KR1019980048651 A KR 1019980048651A KR 19980048651 A KR19980048651 A KR 19980048651A KR 100331333 B1 KR100331333 B1 KR 100331333B1
Authority
KR
South Korea
Prior art keywords
data
information
group
data group
macroblock
Prior art date
Application number
KR1019980048651A
Other languages
English (en)
Other versions
KR20000032248A (ko
Inventor
유국열
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019980048651A priority Critical patent/KR100331333B1/ko
Publication of KR20000032248A publication Critical patent/KR20000032248A/ko
Application granted granted Critical
Publication of KR100331333B1 publication Critical patent/KR100331333B1/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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

Abstract

본 발명은 영상데이터의 전송시 발생하는 에러에 효과적으로 대처하도록 하는 오류강인 영상데이터 전송을 위한 영상 데이터 분할 방법 및 그에 의한 부호화데이터의 복호화방법에 관한 것으로서, 그 영상데이터 분할 방법은 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 높은 에러강도를 갖도록 데이터를 분할하여 비트스트림으로 형성하는 방법에 있어서, 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, COD, MCBPC 및 DCT정보의 DC성분을 제1데이터, CBPY, DQUANT 및 DCT 정보의 AC성분를 제2데이터라할 때, 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성하는 단계; 매크로블록들의 MV정보를 추출하여 MV정보그룹을 형성하는 단계; 매크로블록들의 제2데이터를 추출하여 제2데이터그룹을 형성하는 단계; 및 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성하는 단계를 포함함을 특징으로 한다.
본 발명에 의하면, 기존의 데이터 분할기법들이 단순히 데이터의 성격에 따라서 분할하는 것과 달리 실제의 복호화기에서 오류은닉이 용이하게 구성되어 있어서 고품격의 오류 강인 특성을 가진다.

Description

영상데이터 분할방법 및 그에 의한 부호화데이터의 복호화방법
본 발명은 영상데이터의 부호화에 사용되는 데이터 분할 방법 및 그 복호화방법에 관한 것으로서, 특히 영상데이터의 전송시 발생하는 에러에 효과적으로 대처하도록 하는 오류강인 영상데이터 전송을 위한 영상 데이터 분할 방법 및 그에 의한 부호화데이터의 복호화방법에 관한 것이다.
최근들어 전송망에 오류가 있는 이동통신망과 같은 환경에서 압축된 영상신호를 효과적으로 전송하기 위한 연구들이 진행되어 왔다. 이런 오류강인(error resilient) 영상데이터 전송문제는 크게 두 개의 분야로 나뉘어진다. 첫째, 전송된 영상비트열(video bitstream) 중에서 오류가 없는 부분의 데이터들을 이용해서 오류가 발생한 부분의 데이터를 인간의 시각에 거슬리지 않는 형태로 복원하는 기법이 있다. 이런 종류의 기법들은 오류은닉 기법(error concealment method)이라고 불린다. 둘째, 영상의 전송시에 채널의 오류에 강인하도록 영상 비트열의 순서를 바꾸거나 재생영상의 화질에 큰 영향을 미치는 비트열의 일부요소(element)들을 반복해서 전송하거나, 채널부호화를 하는 방법들이 있다. 이들 방법들은 오류강인 영상부호화기법(error resilient video coding method)이라고 불린다.
이런 두가지의 채널오류 대처 방안들은 외형상 서로 상이해 보이나 실제의 경우에는 매우 긴밀하게 연관되어 있다. 오류강인 영상부호화기법에 따라 복호화기에서 오류강인 부호화 요소들을 이용해서 재생영상의 화질을 높이기 위한 오류 은닉기법들이 함께 개발되어야 한다. 또한 오류강인성을 높이기 위해서는 부호화 측에서 오류강인 부호화기를 설계할 때에 복호화기 측에서의 오류은닉의 효율성을 고려해야 한다.
압축된 영상신호들은 일정한 규칙의 신택스(syntax)로 구성되어 있다. 이런 syntax 들은 매 영상내의 작은 블록인 매크로블록(Macro Block : MB)별로 반복적으로 사용된다. 각 MB 내의 syntax element 들은 고압축율을 얻기 위해서 VLC(Variable Length Code)로 되어 있다. 그러나 이런 VLC 부호화된 syntax element 들은 채널오류가 발생한 경우에 다음 syntax element 에도 오류가 전파되는 효과를 가진다. 이런 오류전파는 오류가 발생한 부분 이후에 있는 재동기 패턴까지 모든 데이터들에 오류가 전파된다. 이런 오류전파 효과를 효과적으로 대처하기 위해, 영상비트열내의 syntax element 들을 같은 종류별로 모아서 전송하는 데이터 분할기법들이 제안된 바 있다.
도 1a는 H.263 비트열의 순서를 도시한 것이다. 도 1a 의 경우, 하나의 픽쳐에 대해서, 상기 픽쳐데이터는 먼저 픽쳐시작코드(Picture Start Code : PSC) 및 픽쳐계층헤더(Picture Layer Header)가 위치하고 그 다음에 각 매크로블록 데이터가 반복적으로 위치한다. 여기서는 매크로블록이 99개 있음을 나타낸다. 상기 매크로블록은 각각 헤더(header), MVD(Motion Vector Difference ), DCT 정보들을 포함한다. 그리고 도 1b에 도시된 바와 같이 상기 매크로블록의 헤더는 COD(Coded), MCBPC, CBPY(Coded Block Pattern Luminance ) 및 DQUANT(Difference Quantization step size) 정보로 이루어진다. MCBPC는 모드(Mode) 정보와 CBPC(Coded Block Pattern Chrominance )로 이루어진다. 상기 COD는 매크로블록 마다 하나씩 할당되어 있는데, 전송할 데이터가 없으면 '0' 으로 되고, 전송할 데이터가 있으면 '1'로 세팅된다. 즉, CBPY, CBPC, MV, Quantizer step size의 변화가 없고, DCT가 0 이면 COD는 '1'로 세팅된다.
도 1a의 H.263 비트열에서 만일 다섯 번째 MB의 이동정보(MVD)에 오류가 있으면, 이후의 모든 정보들이 손실되고, 다음 재동기 패턴인 PSC(Picture Start Code) 이후에 다시 복호화가 재개된다.
이러한 단점을 해결하기 위해, 영상비트열내의 syntax element 들을 같은 종류별로 모아서 전송하는 데이터 분할기법이 있다. 도 2는 상기 데이터 분할기법을 픽쳐(picture )단위로 분할한 경우의 비트열 순서를 보여준다. 도 2에 도시된 바와 같이 데이터 분할기법의 경우, 같은 종류의 데이터별로 모아져 있음을 알 수 있다. 즉, 하나의 픽쳐에 대해서, 상기 픽쳐를 구성하는 모든 매크로블록에 대해 헤더는 헤더끼리, MVD 데이터는 MVD 데이터 끼리, DCT는 DCT 끼리 모아서 비트스트림을 구성한다. 그리고 헤더와 MVD 경계에서 헤더 마커를 삽입하고, MVD 와 DCT 사이에는 Motion 마커를 삽입하여 그 경계를 구별한다.
이렇게 할 경우, 만일 두 번째 MB의 DCT 데이터에 오류가 있는 경우에 두 번째 DCT데이터 이후의 모든 데이터는 손실되지만, 이전의 헤더정보와 이동정보는 아무런 손상을 받지 않기 때문에 두 번째 이후의 MB의 재생시에 이동정보를 이용할 수 있다는 장점이 있다. 또한 데이터 그룹간에는 마커(200, 210)가 삽입되어 있어서 발생한 오류는 그룹별로 지역화되는 장점을 가진다. 그러나 이렇게 하는데도 에러 강도(error resilience )에는 한계가 있다.
본 발명이 이루고자하는 기술적 과제는 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 비트스트림을 형성함에 있어 높은 에러강도를 갖도록 하는 매크로블록 데이터 분할 방법을 제공하는 것이다.
본 발명이 이루고자하는 다른 기술적 과제는 영상데이터의 매크로블록을 COD, MCBPC 를 포함하는 제1데이터 그룹, 움직임벡터 정보를 포함하는 제2데이터 그룹, DCT의 AC 정보를 포함하는 제3데이터 그룹으로 분할함에 의하여 형성된 부호화된 영상데이터를 복호화방법을 제공하는 것이다.
도 1a는 H.263 비트열의 순서를 도시한 것이다.
도 1b는 H.263 비트열의 매크로블록의 헤더를 도시한 것이다.
도 2는 데이터 분할기법을 픽쳐(picture )단위로 분할한 경우의 비트열 순서를 보여준다.
도 3은 본 발명에 의한 데이터 분할 기법에 따른 비트스트림 신택스(syntax) 를 도시한 것이다.
도 4는 본 발명에 의한 데이터분할방법을 모의실험하기 위한 채널오류모델을 도시한 것이다.
도 5는 데이터 분할 방법의 다른 예에 대한 비트스트림을 도시한 것이다.
도 6는 데이터 분할 방법의 또 다른 예에 대한 비트스트림을 도시한 것이다.
도 7a 내지 도 7c는 각 데이터 그룹별로 복호화(decoding)하는 과정을 흐름도로 도시한 것이다.
도 8은 데이터 은닉기법 가운데 DC성분을 대체하는 방법을 도시한 것이다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 높은 에러강도를 갖도록 데이터를 분할하여 비트스트림으로 형성하는 방법은, 상기 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, 상기 COD, MCBPC 및 DCT정보의 DC성분을 제1데이터, 상기 CBPY, DQUANT 및 DCT 정보의 AC성분를 제2데이터라할 때, 상기 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성하는 단계; 상기 매크로블록들의 MV정보를 추출하여 MV정보그룹을 형성하는 단계; 상기 매크로블록들의 제2데이터를 추출하여 제2데이터그룹을 형성하는 단계; 및 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성하는 단계를 포함함을 특징한다. 그리고 상기 비트스트림의 제1데이터그룹, MV정보그룹 및 제2데이터그룹 간에는 서로를 구별하는 마커 정보가 삽입된다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 영상데이터의 매크로블록을 COD, MCBPC를 포함하는 제1데이터 그룹, 움직임벡터 정보를 포함하는 제2데이터 그룹, DCT의 AC 정보를 포함하는 제3데이터 그룹으로 분할함에 의하여 형성된 부호화된 영상데이터를 복호화방법은, 상기 제1데이터 그룹을 매크로블록별로 순차적으로 복호화하다가 복호화가 안되는 블록이 발생한 지점에서 복호화를 멈추는 단계; 상기 복호화를 멈춘지점에서 제2데이터그룹의 시작점을 나타내는 마커를 찾고, 제2데이터그룹의 복호화를 시작하여 순차적으로 복호화를 하되, 상기 제1데이터 그룹이 올바르게 복호화된 매크로블록 번호까지만 복호화를 수행하는 단계; 상기 제2데이터 그룹의 복호화가 끝난 뒤에 상기 제2데이터그룹의 복호화에서 모든 움직임벡터들의 복호화가 성공적으로 이루어진 경우에만 상기 제3데이터 그룹의 복호화를 수행하고 그렇지 않은 경우에는 상기 제3데이터그룹의 데이터들은 무시하는 단계; 및 상기 제1데이터 그룹, 제2데이터 그룹 및 제3데이터 그룹의 데이터 중에서 일부 복호화가 실패한 데이터들은 소정의 오류은닉 방법을 이용해서 데이터를 복원하는 단계를 포함함을 특징으로 한다.
상기 오류은닉 방법은, 현재의 매크로블록에 대한 정보가 제1데이터그룹, 제2데이터그룹 및 제3데이터 그룹이 모두 손실된 경우, 현재의 매크로블록의 모드정보를 바로 위 GOB 상에 있는 매크로 블록의 모드정보로 대체하는 모드대체단계; 상기 모드대체단계에서의 대체한 모드정보가 INTRA 또는 INTRA_Q 이면, 모드를 INTRA로 하고, CBPY 및 CBPC를 모두 영으로 바꾸고, DC값은 바로 위의 매크로 블록의 DC값들로 대체하는 단계; 상기 모드대체단계에서의 대체한 모드정보가 INTER 또는 INTER_Q 이면, INTER로 수정하고, 바로위 매크로블록의 움직임벡터를 현재 매크로블록의 움직임벡터로 대체하고 CBPY 및 CBPC 를 영으로 바꾸는 단계; 및 상기 모드대체단계에서의 대체한 모드 정보가 INTER4V 또는 INTER4V_Q 이면, INTER 로 수정하고, 바로 위 매크로 블록의 움직임벡터를 현재 매크로블록의 움직임 벡터로 대체하고, CBPY 및 CBPC를 영으로 바꾸는 단계로 이루어짐을 특징으로 한다. 그리고 상기 DC값 대체는 휘도 데이터일 경우, 바로 위 매크로블록의 4개의 블록 중 아래에 위치하는 두 개의 블록을 현재 매크로 블록의 4개의 블록에 대체한다.
상기 오류은닉 방법은, 현재 매크로블록에 대한 정보가 제1데이터 그룹만 존재하는 경우, 현재 매크로블록의 모드가 INTRA 또는 INTRA_Q 이면 모드를 INTRA로 하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계; 및 현재 매크로블록의 모드가 INTER, INTRA_Q, INTER4V, INTER4V_Q 이면 모드를 INTER로 하고, 바로 위 매크로블록의 움직임벡터를 현재 매크로 블록의 움직임벡터로 대체하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계로 이루어짐을 특징으로 한다.
상기 오류은닉 방법은, 현재 매크로블록에 대한 정보가 제1데이터그룹 및 제2데이터그룹만 존재하는 경우, 현재 매크로블록의 모드가 INTRA 또는 INTRA_Q 인 경우에는 모드를 INTRA로 하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계; 및 현재 매크로블록의 모드가 INTER, INTRA_Q, INTER4V, INTER4V_Q 이면 모드를 INTER 및 INTER_Q는 INTER로 하고 INTER4V 및 INTER4V_Q는 INTER4V로 하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계로 이루어짐을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다. 데이터 분할기법의 가장 큰 장점은 영상데이터 전송시 각 데이터를 종류별 로 모아 오류가 발생했을 때 오류의 전파를 지역화시키는 것이다. 따라서 이러한 장점을 최대한 살리기 위해서는 다양한 종류의 데이터들을 어떻게 모으는 가가 중요하다. 이에 따라서 성능에 큰 영향을 미친다. 이 때 상기 데이터를 종류별로 모으는 방법은 복호화기측에서 일부의 데이터 그룹만을 이용해서 복호화시에 재생영상의 화질을 최대화할수 있는 가에 바탕을 두어야 한다.
재생 영상에 가장 큰 영향을 미치는 정보는 각 MB에서 사용한 부호화모드를 나타내는 정보이다. H.263에는 6가지의 부호화모드를 제공한다. 먼저, 양자화 스텝 크기에 변화가 있느냐 없느냐에 따라 각기 3가지씩의 부호화모드가 있다. 즉 일정한 양자화스텝 크기를 가지면서 움직임벡터를 1개 사용하는 INTER 모드, 움직임벡터를 4개 사용하는 INTER4V 모드, 그리고 움직임벡터를 사용하지 않는 INTRA 모드가 있다. 그리고 양자화스텝 크기에 변화가 있으면서 움직임벡터를 1개 사용하는 INTER_Q 모드, 움직임벡터를 4개 사용하는 INTER4V_Q 모드, 그리고 움직임 벡터를 사용하지 않는 INTRA_Q 모드가 있다.
상기 부호화 모드 정보 다음으로 재생영상의 화질에 미치는 영향이 큰 정보는 INTRA MB(Macro Block)의 경우에는 DC 정보이고, INTER MB의 경우에는 MV(Motion Vector) 정보이다. INTER MB은 그 성격상 이전의 영상내의 정보를 이용하는 것이나, INTRA MB의 경우에는 이전의 영상의 정보로 복원하기 힘든 데이터로 구성되어 있으므로, INTRA MB의 DC 데이터에 대한 높은 오류 강인성을 부여해야 한다. 또한 이동정보(움직임벡터)의 경우에는 인접한 MB들의 이동정보를 이용하여 효과적으로 복원이 가능하다. 이동정보와 DC 정보를 제외한 정보인 DCT 계수 중의 AC 정보의 경우는 상대적으로 재생영상에 미치는 영향이 작다.
도 1b에 도시된 MB 헤더의 정보를 살펴보자. MB 헤더 정보중에 CBPY 정보와 QDUANT 정보는 DCT 계수중의 AC 정보와 관련되는 정보이다. 그러므로 이들 정보는 매크로 블록(MB) 헤더내에 있는 정보이지만 상대적으로 재생영상에 미치는 영향이 작은 것이므로, 도 2에 도시된 기존의 기법과 같이 다른 중요한 헤더정보와 같이 다룰 필요성이 낮다. 이상의 분석에 바탕을 두고 데이터들의 중요도를 나타내면 표 1과 같이 나타낼 수 있다.
데이터 중요도 데이터 형태
1 COD, MCPBC, DC
2 MV
3 CBPY, DQUANT, AC
본 발명은 표 1에 도시된 데이터의 중요도에 따라서 새로운 데이터 분할 기법을 제안한다. 도 3은 본 발명에 의한 데이터 분할 기법에 따른 비트스트림 syntax 를 도시한 것이다. 상기 비트스트림을 보다 상세히 설명하기로 한다.
상기 비트스트림은 여러 개의 픽쳐로 이루어진다. 상기 픽쳐 각각은 복수의 매크로 블록으로 이루어진다. 여기서는 하나의 픽쳐는 99개의 매크로블록(MB#0 - MB#98)으로 이루어진다고 가정한다. 그리고 각 픽쳐를 구성하는 비트스트림은 맨 앞에 픽쳐시작코드(Picture Start Code) 정보와 픽쳐계층헤더(Picture Layer Header) 정보가 위치한다. 그리고 각 매크로블록의 부호화된 영상데이터는 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어진다.
여기서 상기 COD, MCBPC 및 DCT정보의 DC성분을 제1데이터(Data_1), 상기 CBPY, DQUANT 및 DCT 정보의 AC성분를 제2데이터(Data_2)라 부르기로 한다. 이때, 상기 각 픽쳐의 비트스트림의 형성은 다음과 같이 이루어진다. 먼저 상기 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성한다. 계속해서 상기 매크로블록들의 MV정보를 추출하여 MV정보그룹을 형성하고, 상기 매크로블록들의 제2데이터를 추출하여 제2데이터그룹을 형성한다. 그리고나서 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 하나로 합쳐서 픽쳐단위의 비트스트림으로 형성한다.
이 때, 상기 비트스트림의 제1데이터그룹와 MV정보그룹을 구별하기 위해 제1데이터 그룹과 MV정보그룹사이에는 헤더 마커(Header Marker)를 삽입한다. 그리고 MV정보그룹과 제2데이터그룹을 구별하기 위해서는 상기 MV 정보그룹과 제2데이터 그룹 사이에는 Motion Marker를 삽입한다.
상기 본 발명에 의한, 영상데이터의 비트스트림을 위한 에러강도를 높이는 데이터 분할방법의 성능을 평가하기 위해서 H.263 부호화기에 바탕을 두고 실험을 하였다. 비교를 위해서 다음과 같은 3가지 방법들(S1, S2, S3)의 성능을 평가하였다.
S1 : H.263 + TCON
S2 : 기존의 데이터 분할방법 + TCON
S3 : 본 발명에 의한 데이터 분할방법 + TCON
여기서 상기 TCON은 TMN version 8에 명시되어 있는 오류은닉 방법을 말한다. TCON 방법의 장점을 충실히 활용하기 위해서 S2 및 S3 방법은 GOB단위로 데이터 분할을 행하고, 매 GOB 동기코드(synchronization code)를 삽입하였다. 실험상의 편의를 위해서 RVLC(Rerversible Variable Length Code)는 사용하지 않았다. 도 4는 본 발명에 의한 데이터분할방법을 모의실험하기 위한 채널오류모델을 도시한 것이다. 그리고 모의실험에 사용된 채널 오류패턴들은 표 2에 나타내었다. 그리고 모의실험에 사용된 영상은 표 3에 나타내었다. 모든 실험영상들은 부호화된 프레임의 개수는 100 프레임으로 되어있다.
모의실험에 사용한 채널오류 패턴들
에러 패턴 Doupler 주파수[Hz] 평균 비트에러율 최대 버스트 길이[bits]
E1 211 9.73x10-4 15
E2 5.3 8.17x10-5 11
E3 70 1.21x10-4 13
모의 실험에 사용한 실험 영상의 특성
테스트 시퀀스 포맷 프레임 율[frame/sec] QUANT
Foreman QCIF 7.5 11
Hall objects QCIF 10 6
Container QCIF 10 6
News QCIF 10 9
다양한 오류강인 부호화 방법들의 성능을 재생영상의 PSNR을 이용해서 성능을 평가하였다. 표 4에 재생영상의 화질을 평균 PSNR을 이용하여 평가하였다.
표 4에서 보인 결과들을 전체적으로 평가하면, H.263 보다 데이터 분할방법들이 전반적으로 성능이 우수함을 알 수 있다. 또한 본 발명에 의한 데이터 분할 방법이 기존의 방식보다 상당한 이득이 있음을 알 수 있다. INTRA MB 이 많은 영상들인 Foreman과 News 영상들에서 본 발명에 의한 방법이 기존의 방법보다 이득이 높음을 알 수 있다. 이는 본 발명에 의한 방법이 INTRA MB 의 정보중에서 DC 계수들을 AC 계수들과 분리한 것에 기인한다.
PSNR을 이용한 채널오류에 대한 각 기법들의 성능평가(dB) - (a) Foreman
에러 패턴 S1 S2 S3
에러 없음 31.49
E1 28.49 29.47 30.39
E2 28.46 29.58 29.43
E3 29.01 30.64 31.27
평균 28.65 29.90 30.36
(b) Hall objects
에러 패턴 S1 S2 S3
에러 없음 36.05
E1 33.76 33.94 34.51
E2 32.53 34.83 34.61
E3 32.69 29.80 31.31
평균 32.99 32.86 33.48
(c) Container
에러 패턴 S1 S2 S3
에러 없음 34.96
E1 31.94 30.92 34.51
E2 30.07 34.21 33.88
E3 33.54 34.71 34.72
평균 31.85 33.28 34.37
(d) News
에러 패턴 S1 S2 S3
에러 없음 32.80
E1 28.66 31.08 31.13
E2 30.62 30.02 30.97
E3 30.88 31.19 31.97
평균 30.05 30.76 31.36
한편, 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 비트스트림을 형성함에 있어 높은 에러강도를 갖도록 하는 매크로블록 데이터를 분할하는 방법은 상기 방법외에 두가지 방법이 더 있다.
그 중 하나는 다음과 같다. 상기 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, 상기 COD 및 MCBPC를 제1데이터, 상기 CBPY, DQUANT 및 DCT 정보를 제2데이터라한다. 상기 매크로블록들로부터 제1데이터를 추출하여 제1데이터그룹을 형성하고, MV정보를 추출하여 MV정보 그룹을 형성하고, 제2데이터를 추출하여 제2데이터그룹을 형성한다. 그리고 나서 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성한다. 이 때, 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹 간에는 서로를 구별하는 마커 정보를 삽입한다. 도 5는 상술한 방법에 의해 생성된 데이터 분할 방법의 비트스트림을 도시한 것이다.
두 번째 방법은 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, 상기 COD, MCBPC, CBPY, DQUANT 및 DCT의 DC 성분을 제1데이터, 상기 DCT의 AC성분을 제2데이터라 한다, 상기 첫 번째 방법과 마찬가지로 상기 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성하고, MV정보를 추출하여 MV정보 그룹을 형성하고, 제2데이터를 추출하여 제2데이터그룹을 형성한다. 그 다음에 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성한다. 이 때, 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹 간에는 서로를 구별하는 마커 정보를 삽입한다. 도 6는 상술한 두 번째 방법에 의해 생성된 데이터 분할 방법의 비트스트림을 도시한 것이다.
한편, 상기 본 발명에 의한 데이터 분할 방법의 복호화 방법 및 그에 적합한 오류은닉방법을 설명하기로 한다. 본 발명에 의한 데이터 분할방법은 각 데이터 그룹을 다음과 같은 3개의 데이터그룹으로 나눈다.
DG1(i) = { COD, MCVPC, DC1, DC2, DC3, DC4, DC5, DC6}
DG2(i) = { MV0, MV1, MV2, MV3, MV4 }
DG3(i) = { CBPY, DQUANT, AC }
여기서 i={1,2,3,…,L} 이고, 상기 L은 QCIF 영상의 경우에는 최대 99까지 CIF 영상의 경우에는 496 이내의 숫자이며 매크로 블록 번호를 의미한다. 그리고 DG는 Data Group의 약자이다.
도 7a 내지 도 7c에 도시된 바와 같이 각 데이터 그룹별로 복호화(decoding)을 처리한다. 우선 데이터 그룹 DG1의 경우를 생각해 보자. 우선 매크로 블록 번호를 하나씩 증가시키면서 복호화를 진행하고 복호화가 안되는 블록이 발생한 지점에서 복호화를 멈춘다. 복호화를 멈춘 지점에서 움직임벡터 데이터그룹 DG2의 시작점을 나타내는 마크를 찾고, DG2의 복호화를 시작한다. DG2의 복호화는 DG1이 올바르게 복호화된 매크로블록 번호까지만 복호화를 수행한다. DG2의 복호화가 끝난 뒤에 DG2의 복호화에서 모든 움직임벡터들의 복호화가 성공적으로 이루어진 경우에만 DG3의 복호화를 수행하고 그렇지 않은 경우에는 DG3의 데이터들은 무시한다. 이 때 최종적으로 나온 I, j, k 값들은 각각 DG1, DG2, DG3에 대한 올바르게 복호화된 매크로 블록의 위치를 의미한다.
여기서 상기 DG2의 복호화가 끝난 뒤에 DG3의 복호화를 수행하는 방법을 달리할 수도 있다. 즉, DG2의 복호화를 DG1이 올바르게 복호화된 매크로블록 번호까지만 복호화를 수행하되, 상기 수행도중 DG2의 복호화가 매크로블록별로 순차적으로 진행되다가 복호화가 안되는 블록이 발생하면, 그 지점에서 복호화를 멈춘다. 그리고 DG3의 복호화도 DG2에서와 마찬가지로 DG2가 올바르게 복호화된 매크로블록 번호까지만 복호화를 수행하되, 상기 수행도중 DG3의 복호화가 매크로블록별로 순차적으로 진행되다가 복호화가 안되는 블록이 발생하면, 그 지점에서 복호화를 멈춘다. 이렇게 해서 복호화가 멈춘 지점까지는 영상데이터를 제대로 복원할 수 있게 된다.
상기 DG1, DG2, DG3들의 데이터 중에서 일부 복호화가 실패한 데이터들은 오류은닉(error concealment) 기법을 이용해서 주위의 데이터들을 이용해서 복원한다. 이 때 오류은닉의 규칙은 다음과 같다.
첫번째는 현재의 매크로블록에 대한 정보가 DG1, DG2, DG3 모두 손실된 경우이다.
1) 현재의 매크로 블록의 모드 정보는 바로 위 GOB 상에 가로방향으로 같은 위치에 있는 매크로 블록의 모드로 대치한다.
2) 대치한 모드가 INTRA/INTRA_Q 인 경우에는 다음과 같은 규칙에 의해서 오류은닉을 한다. 이때 모드 중에 INTRA_Q는 INTRA로 바꾼다. 또한 CBPY, CBPC는 모드 영(zero)으로 바꾼다. DC 값은 도 8에 도시된 규칙에 의해서 위 매크로 블록의 DC값들로 대치한다. 상기 도 8에 의하면, DC값 대체는 휘도 데이터일 경우, 바로 위 매크로블록의 4개의 블록 중 아래에 위치하는 두 개의 블록을 현재 매크로 블록의 4개의 블록에 대체한다.
3) 대치한 모드가 INTER/INTER_Q 인 경우에는 모드정보를 INTER로 수정하고, 바로 위 매크로 블록의 움직임벡터를 현재 매크로 블록의 움직임벡터로 대치하고, CBPY, CBPC를 영(zero)로 바꾼다.
4) 대치한 모드가 INTER4V/INTER4V_Q 인 경우에는 모드정보를 INTER로 수정하고, 바로 위 매크로 블록의 움직임 벡터를 현재 매크로 블록의 움직임 벡터로 대치하고, CBPY, CBPC를 영(zero)로 바꾼다.
두 번째는 현재 매크로 블록에 대한 정보가 DG1만 존재하는 경우이다.
1) 현재 매크로블록의 모드가 INTRA/INTRA_Q인 경우에는 모드가 INTRA_Q 인 경우에 INTRA로 바꾼다. 또한 CBPY, CBPC는 모두 영(zero)로 바꾼다.
2) 현재 매크로 블록의 모드가 INTER/INTRA_Q/INTER4V/INTER4V_Q 인 경우에는 상기 첫 번째의 (3), (4)의 규칙에 따라 오류 은닉을 한다. 또한 CBPY, CBPC는 모두 영(zero)으로 바꾼다.
세 번째는 현재 매크로 블록에 대한 정보가 DG1, DG2 만 존재하는 경우이다.
1) 현재 매크로 블록의 모드가 INTRA/INTRA_Q 인 경우에는 모드가 INTRA_Q는 INTRA로 바꾼다. CBPY, CBPC는 모두 영(zero)으로 바꾼다.
2) 현재 매크로 블록의 모드가 INTER/INTER_Q/INTER4V/INTER4V_Q 인 경우에는 INTER_Q 는 INTER로, INTER4V_Q는 INTER4V로 모드를 바꾸고, CBPY, CBPC는 모두 영(zero)로 바꾼다.
본 발명은 영상부호화기에서 발생된 비트열의 중요성에 따라 데이터를 분할하는 방법을 제시한다. 본 발명은 기존의 데이터 분할기법들이 단순히 데이터의 성격에 따라서 분할하는 것과 달리 실제의 복호화기에서 오류은닉이 용이하게 구성되어 있어서 고품격의 오류 강인 특성을 가지는 것이 특징이다.
그리고 이동망을 통해서 영상신호를 전송하는 경우에 적합하다. 차후의 이동망인 IMT-2000 이나 인터넷과 같은 패킷망을 통해서 영상신호를 전송하는 경우에 매우 중요한 기술로 사용될 수 있다.

Claims (9)

  1. 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 높은 에러강도를 갖도록 데이터를 분할하여 비트스트림으로 형성하는 방법에 있어서,
    상기 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, 상기 COD, MCBPC 및 DCT정보의 DC성분을 제1데이터, 상기 CBPY, DQUANT 및 DCT 정보의 AC성분를 제2데이터라할 때,
    상기 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성하는 단계;
    상기 매크로블록들의 MV정보를 추출하여 MV정보그룹을 형성하는 단계;
    상기 매크로블록들의 제2데이터를 추출하여 제2데이터그룹을 형성하는 단계; 및
    상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성하는 단계를 포함함을 특징으로 하는 영상데이터의 비트스트림을 위한 에러강도를 높이는 데이터 분할방법.
  2. 제1항에 있어서, 상기 비트스트림의 제1데이터그룹, MV정보그룹 및 제2데이터그룹 간에는
    서로를 구별하는 마커 정보가 삽입됨을 특징으로 하는 영상데이터의 비트스트림을 위한 에러강도를 높이는 데이터 분할방법.
  3. 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 비트스트림을 형성함에 있어 높은 에러강도를 갖도록 매크로블록 데이터를 분할하는 방법에 있어서,
    상기 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, 상기 COD 및 MCBPC를 제1데이터, 상기 CBPY, DQUANT 및 DCT 정보를 제2데이터라할 때,
    상기 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성하는 단계;
    상기 매크로블록들의 MV정보를 추출하여 MV정보 그룹을 형성하는 단계;
    상기 매크로블록들의 제2데이터를 추출하여 제2데이터그룹을 형성하는 단계; 및
    상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성하되, 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹 간에는 서로를 구별하는 마커 정보를 삽입하는 단계를 포함함을 특징으로 하는 영상데이터의 비트스트림을 위한 에러강도를 높이는 데이터 분할방법.
  4. 복수의 매크로블록으로 구성되는 픽쳐들을 포함하는 영상데이터를 부호화하여 비트스트림을 형성함에 있어 높은 에러강도를 갖도록 매크로블록 데이터를 분할하는 방법에 있어서,
    상기 각 매크로블록의 부호화된 영상데이터가 COD, MCBPC, CBPY, DQUANT, MV, DCT 정보로 이루어지고, 상기 COD, MCBPC, CBPY, DQUANT 및 DCT의 DC 성분을 제1데이터, 상기 DCT의 AC성분을 제2데이터라할 때,
    상기 매크로블록들의 제1데이터를 추출하여 제1데이터그룹을 형성하는 단계;
    상기 매크로블록들의 MV정보를 추출하여 MV정보 그룹을 형성하는 단계;
    상기 매크로블록들의 제2데이터를 추출하여 제2데이터그룹을 형성하는 단계; 및
    상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹을 픽쳐단위의 비트스트림으로 형성하되, 상기 제1데이터그룹, MV정보그룹 및 제2데이터그룹 간에는 서로를 구별하는 마커 정보를 삽입하는 단계를 포함함을 특징으로 하는 영상데이터의 비트스트림을 위한 에러강도를 높이는 데이터 분할방법.
  5. 영상데이터의 매크로블록을 COD, MCBPC를 포함하는 제1데이터 그룹, 움직임벡터 정보를 포함하는 제2데이터 그룹, DCT의 AC 정보를 포함하는 제3데이터 그룹으로 분할함에 의하여 형성된 부호화된 영상데이터를 복호화방법에 있어서,
    상기 제1데이터 그룹을 매크로블록별로 순차적으로 복호화하다가 복호화가 안되는 블록이 발생한 지점에서 복호화를 멈추는 단계;
    상기 복호화를 멈춘지점에서 제2데이터그룹의 시작점을 나타내는 마커를 찾고, 제2데이터그룹의 복호화를 시작하여 순차적으로 복호화를 하되, 상기 제1데이터 그룹이 올바르게 복호화된 매크로블록 번호까지만 복호화를 수행하는 단계;
    상기 제2데이터 그룹의 복호화가 끝난 뒤에 상기 제2데이터그룹의 복호화에서 모든 움직임벡터들의 복호화가 성공적으로 이루어진 경우에만 상기 제3데이터 그룹의 복호화를 수행하고 그렇지 않은 경우에는 상기 제3데이터그룹의 데이터들은 무시하는 단계; 및
    상기 제1데이터 그룹, 제2데이터 그룹 및 제3데이터 그룹의 데이터 중에서 일부 복호화가 실패한 데이터들은 소정의 오류은닉 방법을 이용해서 데이터를 복원하는 단계를 포함함을 특징으로 하는 영상데이터 복호화방법.
  6. 제5항에 있어서, 상기 오류은닉 방법은
    현재의 매크로블록에 대한 정보가 제1데이터그룹, 제2데이터그룹 및 제3데이터 그룹이 모두 손실된 경우,
    현재의 매크로블록의 모드정보를 바로 위 GOB 상에 있는 매크로 블록의 모드정보로 대체하는 모드대체단계;
    상기 모드대체단계에서의 대체한 모드정보가 INTRA 또는 INTRA_Q 이면, 모드를 INTRA로 하고, CBPY 및 CBPC를 모두 영으로 바꾸고, DC값은 바로 위의 매크로 블록의 DC값들로 대체하는 단계 ;
    상기 모드대체단계에서의 대체한 모드정보가 INTER 또는 INTER_Q 이면, INTER로 수정하고, 바로위 매크로블록의 움직임벡터를 현재 매크로블록의 움직임벡터로 대체하고 CBPY 및 CBPC 를 영으로 바꾸는 단계; 및 상기 모드대체단계에서의 대체한 모드 정보가 INTER4V 또는 INTER4V_Q 이면, INTER 로 수정하고, 바로 위 매크로 블록의 움직임벡터를 현재 매크로블록의 움직임 벡터로 대체하고, CBPY 및 CBPC를 영으로 바꾸는 단계로 이루어짐을 특징으로 하는 영상데이터 복호화방법.
  7. 제6항에 있어서, 상기 DC값 대체는
    휘도 데이터일 경우, 바로 위 매크로블록의 4개의 블록 중 아래에 위치하는 두 개의 블록을 현재 매크로 블록의 4개의 블록에 대체함을 특징으로 하는 영상데이터 복호화방법.
  8. 제5항에 있어서, 상기 오류은닉 방법은
    현재 매크로블록에 대한 정보가 제1데이터 그룹만 존재하는 경우,
    현재 매크로블록의 모드가 INTRA 또는 INTRA_Q 이면 모드를 INTRA로 하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계; 및
    현재 매크로블록의 모드가 INTER, INTRA_Q, INTER4V, INTER4V_Q 이면 모드를 INTER로 하고, 바로 위 매크로블록의 움직임벡터를 현재 매크로 블록의 움직임벡터로 대체하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계로 이루어짐을 특징으로 하는 영상데이터 복호화방법.
  9. 제5항에 있어서, 상기 오류은닉 방법은
    현재 매크로블록에 대한 정보가 제1데이터그룹 및 제2데이터그룹만 존재하는 경우,
    현재 매크로블록의 모드가 INTRA 또는 INTRA_Q 인 경우에는 모드를 INTRA로 하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계; 및
    현재 매크로블록의 모드가 INTER, INTRA_Q, INTER4V, INTER4V_Q 이면 모드를 INTER 및 INTER_Q는 INTER로 하고 INTER4V 및 INTER4V_Q는 INTER4V로 하고, CBPY 및 CBPC를 모두 영으로 바꾸는 단계로 이루어짐을 특징으로 하는 영상데이터 복호화방법.
KR1019980048651A 1998-11-13 1998-11-13 영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법 KR100331333B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980048651A KR100331333B1 (ko) 1998-11-13 1998-11-13 영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980048651A KR100331333B1 (ko) 1998-11-13 1998-11-13 영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법

Publications (2)

Publication Number Publication Date
KR20000032248A KR20000032248A (ko) 2000-06-05
KR100331333B1 true KR100331333B1 (ko) 2002-05-09

Family

ID=19558183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980048651A KR100331333B1 (ko) 1998-11-13 1998-11-13 영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법

Country Status (1)

Country Link
KR (1) KR100331333B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100533025B1 (ko) 2003-03-06 2005-12-02 엘지전자 주식회사 동영상 데이터의 분할장치 및 방법
KR100712532B1 (ko) 2005-09-10 2007-04-30 삼성전자주식회사 단일표현과 다중표현 전환을 이용한 동영상 변환부호화장치 및 방법
KR101712098B1 (ko) * 2009-09-04 2017-03-03 삼성전자 주식회사 구문 요소에 기초한 비트스트림 생성 방법 및 장치

Also Published As

Publication number Publication date
KR20000032248A (ko) 2000-06-05

Similar Documents

Publication Publication Date Title
KR100281462B1 (ko) 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
CN101175213B (zh) 视频源编码的方法和设备以及视频源解码的方法和设备
CN100394802C (zh) 视频信号编码/解码方法和装置及对应的无线电电信装置
US7400684B2 (en) Video coding
CN1856111B (zh) 视频信号编解码方法、编解码器及其相关的设备
KR100501902B1 (ko) 영상정보부호화/복호화장치및방법
KR100359093B1 (ko) 오류허용모드비디오코덱방법및그장치
DE19952685B4 (de) Verfahren und Apparat für die Übertragung von Videosignalen
Al-Mualla et al. Motion field interpolation for temporal error concealment
KR100281329B1 (ko) 이진 형상 신호의 모드 신호 부호화 방법 및 그 복원 방법
KR100331333B1 (ko) 영상데이터 분할방법 및 그에 의한 부호화 데이터의 복호화방법
KR20040018043A (ko) 가변길이 동영상 부호화 방법
Soares et al. MPEG-4: a flexible coding standard for the emerging mobile multimedia applications
KR100535630B1 (ko) 디지털 그레이 모양정보/색상정보의 부호화/복호화 방법
JP2004524744A (ja) ビデオビットストリームウォッシャ
KR100370227B1 (ko) 비디오 코덱의 에러 방지 방법 및 장치
KR100679787B1 (ko) 동영상 데이터의 비디오 패킷 단위 전송 방법 및 장치,디코딩 방법 및 장치
KR100620695B1 (ko) 동영상 데이터의 비디오 패킷 단위 전송 방법
KR20000004638A (ko) 디지털 그레이 모양정보/색상정보의 부호화/복호화 방법
KR20020028200A (ko) 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치
KR100632106B1 (ko) 디지털 비월주사 인터픽쳐 부호화/복호화 방법
Li et al. VLC/FLC data partitioning with intra AC prediction disabled
JP2007074746A (ja) 動映像伝送方法及び装置、ならびに動映像復号化方法及び装置
JP2000324491A (ja) 動画像符号化装置および動画像復号化装置
KR19990080657A (ko) 비디오 코덱의 에러 방지방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080228

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee