KR100590328B1 - 동영상 디코더 및 이를 이용한 디코딩 방법 - Google Patents
동영상 디코더 및 이를 이용한 디코딩 방법 Download PDFInfo
- Publication number
- KR100590328B1 KR100590328B1 KR1020020070575A KR20020070575A KR100590328B1 KR 100590328 B1 KR100590328 B1 KR 100590328B1 KR 1020020070575 A KR1020020070575 A KR 1020020070575A KR 20020070575 A KR20020070575 A KR 20020070575A KR 100590328 B1 KR100590328 B1 KR 100590328B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- value
- rounding type
- video frame
- decoded
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 압축된 동영상 비트스트림을 디코딩할 때, 다중 경로를 통하여 전송되므로 발생하는 영상 프레임의 라운딩 타입 에러를 보정할 수 있는 동영상 디코더 및 이를 이용한 디코딩 방법을 개시한다. 개시된 본 발명은 압축된 동영상 비트스트림을 가변장복호화하는 단계; 상기 가변장복호화된 영상 비트스트림을 디코딩하여 픽체 헤더 정보에 라운딩 타입 정보가 추가되었는지를 판단하는 단계; 상기 라운딩 타입 정보를 판단하고, 판단된 정보에 에러가 발생하였는지를 판단하기 위하여 상기 픽쳐 헤더 정보 중에서 움직임을 추정하는 Has 옵션 정보 유무를 판단하는 단계; 상기 Has 옵션 정보가 있는 경우에는 이전 영상 프레임의 라운딩 타입 정보를 판단하는 단계; 및 상기 이전 영상 프레임에서 판단된 라운딩 타입 정보 값과 반대의 라운딩 타입 정보 값을 디코딩되는 영상 프레임의 라운딩 값으로 보정하여 디코딩을 진행하는 단계;를 포함하는 것을 특징으로 한다.
디코딩, 라운딩 타입, 픽쳐 헤더, 에러, 영상, 비트스트림
Description
도 1은 종래 기술에 따른 동영상 디코더의 구조를 도시한 블록도.
도 2는 종래 기술에 따른 라운딩 컨트롤을 이용한 반화소 움직임 추정 방법을 설명하기 위한 도면.
도 3은 본 발명에 따른 라운딩 타입 정보 에러를 보정하여 디코딩하는 방법을 설명하기 위한 플로챠트.
*도면의 주요 부분에 대한 부호의 설명*
1: 버퍼부 3: VLD
5: 에러 감지/복원부 7: 역양자화부
9: 역DCT 10: 디스플레이부
11: 합산기 12: 움직임 보상기(MC)
15: 영상 프레임 메모리
본 발명은 동영상 디코딩 방법으로서, 보다 구체적으로는 IMT-2000 무선망에 서 채널 비트 에러에 의하여 픽쳐 헤더 정보에 포함되어 있는 라운딩 타입 정보에 에러가 발생하는 것을 보정하도록 하여 디코딩 효율을 향상과 화질 개선을 할 수 있는 동영상 디코더 및 이를 이용한 디코딩 방법에 관한 것이다.
현재, 그리고 미래의 통신 환경은 유선과 무선의 영역 구분이나, 지역 국가의 구분을 초월할 만큼 급변하고 있으며, 특히 IMT-2000 등으로 대별되는 미래 통신환경은 영상과 음성은 물론 사용자가 필요로 하는 다양한 정보를 실시간으로, 또는 종합적으로 제공하는 환경으로 구축되어 가는 추세이다.
또한, 개인 휴대 통신 시스템의 발달은 현재 셀룰러폰이나 PCS등에서도 단순히 음성 통신만을 수행하던 차원에서 벗어나서 문자 정보의 전송은 물론, 개인 휴대 통신 단말기를 이용해서 무선으로 인터넷에 접속하거나, TV에서나 보던 동영상들을 송신할 수 있도록 개발되어지고 있다.
특히, 동영상을 디지털 데이터로 가공하여 실시간으로 전송하고 또 이 것을 수신하여 디스플레이하는 디지털 텔레비전 시스템과, 실시간으로 전송되는 동영상을 IMT2000을 이용한 개인 휴대 단말기 등에서는 필수적인 요소로 자리 잡아 가고 있는 실정이다.
이것은 종래에는 휴대 단말기가 사람의 음성만을 송수신하도록 되어 있었으나, 멀티 미디어의 개발과 디지털 정보처리 기술의 발달로 인하여 음성, 영상등 다양한 정보들을 송신할 수 있게 되었다.
이와 같은 기술이 상용화될 수 있었던 것은 무엇보다도 아날로그 영상 신호를 양자화, 가변장부호화등 특수한 디지털 처리를 한 다음, 이를 디지털 정보에 포 함시켜 송신하고, 수신되는 단말기에서는 이를 반대로 디코딩함으로써 빠른 전송 속도와 보다 풍부한 정보량을 송수신하도록 한 동영상 압축기술의 발달이 크게 기여하였다.
최근 디지털 신호처리 기술의 발전에 힘입어 제한된 대역폭의 전송 채널을 통해 많은 양의 동영상 정보를 압축, 전송하는 방식들이 개발되어 왔으나, 전송 채널상의 오류가 발생하면 복원 영상의 화질이 크게 저하되는 문제가 생긴다.
이때 제한된 대역폭을 최대한으로 이용하기 위해 오류 정정 부호를 사용하지 않고, 정상적으로 복원된 주변의 정보들로부터 잃어버린 정보를 보완하여 원 영상에 가깝게 복구하는 오류 은폐 기법들이 연구되고 있다.
특히 MPEG(Moving Picture Experts Group)과 같은 경우 에러(error)가 발생하면 다음 동기 신호인 슬라이스 헤더를 찾을 때까지의 모든 정보를 손실하게 된다. 또한, 움직임 보상 부호화기법을 이용하기 때문에 손상된 부분의 영향이 이후 계속된 여러 장의 프레임에 걸쳐 계속된다.
최근 데이터 정보 통신에 사용되는 ADSL 망은 현재의 전화선을 그대로 사용하면서 고속 데이터 통신과 일반 전화를 동시에 이용할 수 있는 것이 특징이다.
따라서, ADSL 망을 통한 동영상 서비스를 위해서는 고속의 비디오 코덱 구현이 필수적이다.
비디오 코덱은 현재 표준화가 진행중인 MPEG4 및 영상 전화 시스템용 비디오 압축 표준인 ITU-T H.26x(H.263, H.263+,H.263++, H.26L), MPEG2 등으로 구현 가능하며 이러한 기법들은 모두 영상의 시간적 상관성을 이용하기 위해서 움직임 추정 방법을 이용하는데, 복잡도 측면에서 전체 코덱 성능 즉, 초당 부호화할 수 있는 프레임 수에 영향을 미치게 된다.
현재 표준화되었거나 표준화되고 있는 대부분의 동영상 부호화기는 도1의 신호 흐름도와 같이, 프레임 부호화, 움직임 추정/보상 및 엔트로피 코딩(Entropy Coding)을 수행하는데, 첫번째 프레임(I-프레임)은 이산 코사인 변환(DCT ; DiscreteCosine Transform), 양자화(Quantization), 가변장 부호화(VLC ; Variable Length Coding) 과정을 거쳐 부호화하고 나머지 프레임들은 P-프레임 부호화 과정을 통해 움직임 추정 및 보상하게 된다.
일반적으로 P-프레임 부호화 과정은 정수 화소 단위의 움직임 추정, 각각의 매크로 블럭에 대한 모드 결정 및 반화소 단위의 움직임 추정의 일련의 과정으로 이루어지는데, 이의 동작을 설명하면 다음과 같다.
먼저, 각각의 매크로 블럭에 대해 정수 화소 단위의 움직임 추정을 행한 후 그 매크로 블럭에 대해 INTRA 모드인지 또는INTER 모드인지를 판단하게 된다.
이에 따라, INTRA 모드로 판단되면 매크로 블럭에 대해 I-프레임 부호화와 동일한 방법으로 부호화하며, 이 경우 움직임 추정 및 보상은 필요없다.
반대로, INTER 모드로 결정되면 매크로 블럭에 대해 움직임을 추정하여 움직임 벡터를 구한 후 움직임 보상을 실행하고그때의 움직임 보상 에러값을 INTRA 모드인 경우와 동일한 방법으로 부호화하게 된다.
도 1은 종래 기술에 따른 동영상 디코더의 구조를 도시한 블록도이다.
도 1에 도시된 바와 같이, 부호화된 영상 데이터가 비트스트림(bit stream) 형태로 디코더부에 들어오면 이를 원래의 영상으로 복원하기 위하여 인코더에서 행해지는 부호화와 반대로 복호화가 이루어진다.
따라서, 압축된 비트스트림을 복호화하는 디코더는 일정한 비트스트림의 데이터 양을 임시적으로 저장하는 버퍼부(1)와, 상기 버퍼부(1)에 저장되어 있는 비트스트림을 영상으로 재현하기 위하여 디코딩 작업을 하는 가변장복호화기(Variable Length Decodiding :VLD 3)와, 상기 가변장복호화기(3)로부터 디코딩된 비트스트림에서 에러 검출, 움직임 벡터 복원 및 영상 재현을 위한 에러 감지/복원부(5)와, 상기 에러 감지/복원부(5)에서 영상 재현을 위한 영상 데이터는 엔코더에서 실시한 압축 방식의 반대로 진행하기 위하여 역양자화와 역이산여현변환을 실시하는 역양자화부(Inverse Quantization:7)와 역DCT(Inverse Discrete Cosine Transform: 9), 상기 에러 감지/복원부(5)에서 복원한 움직임 벡터를 보상하기 위한 움직임 보상기(Motion Compensation: MC 12)와, 동영상을 디스플레이하는 디스플레이부(10)로부터 이전 영상들을 저장하는 영상 프레임 메모리(15)로 구성되어 있다.
상기와 같은 구조를 갖는 디코더에 의하여 압축된 동영상이 재현되는 과정을 다음과 같다.
아날로그 영상 신호를 엔코더(encoder)에서 이상여현변환(Discrete Cosine Transform), 양자화(Quantization)를 거쳐 가변장부호화가된 영상 프레임 신호가 압축된 비트스트림(bit stream) 상태로 디코더(decoder)에 수신되면, 먼저 이를 임시적으로 저장하기 위하여 상기 버퍼부(1)에 저장된다.
상기 버퍼부(1)에 저장된 압축된 동영상 비트스트림은 상기 가변장복호화기(3)에서 압축된 비트스트림의 값, 길이 등을 이차원부호화로 변환시킨 후에 에러 검출 및 이의 대응을 위하여 상기 에러 감지/복원부(5)에서 움직임 벡터 값과 에러(error) 여부를 감지한다.
그런 다음, 상기 에러 감지/복원부(5)로부터 인가되는 압축 영상을 엔코더(encoder)에서 압축할 때와 반대 방향으로 다시 복원 과정을 거친다. 상기 역양자화부(7)에서 역스캔 및 역 양자화된 다음, 역 이산여현변환기(IDCT: 9)(103)에서 IDCT 변환을 실시한다.
이렇게 상기 역이산여현변환(Inverse Discrete Cosine Transform)이 이루어진 영상 신호를 가산기(11)에 입력시키는데, 상기 가산기(11)에서는 복원하는 영상 프레임이 처음 시작하는 인트라 모드(Intra Mode) 영상인가, 이전 영상 프레임이 존재하는 인터 모드 영상인가를 파악한 다음, 인트라 모드 영상인 경우에는 움직임 벡터가 없으므로 바로 상기 디스플레이부(10)에서 영상을 재현한다.
그리고, 인터 모드로 판단된 경우에는 움직임 벡터가 존재하므로 압축된 비트스트림으로부터 상기 에러 감지/복원부(5)에서 움직임 벡터를 추출한 후, 이를 보상하기 위하여 움직임 보상기(Motion Compensation: 12)로 움직임 벡터를 전송한다.
상기 움직임 보상기(12)에서는 상기 디스플레이부(10)에서 재현되는 이전 영상 프레임을 저장하는 상기 영상 프레임 메모리(15)로부터 상기 에러 감지/복원부(5)에서 추출된 움직임 벡터의 차를 구하여 디코딩된 영상을 보상한다.
그러므로 상기 움직임 보상기(12)에서 이전 영상 프레임으로부터 현재 움직임 벡터 값을 뺀 차를 상기 가산기(11)에 전송하고, 압축된 비트스트림이 이전 영상 프레임이 존재하는 인터 모드(Inter mode)인 경우에는 상기 역DCT된 값과 합하여 영상을 재현하게 된다.
상기에서 복원되는 영상 프레임은 각각의 매크로 블록 단위로 구분되어 있는데, 각각의 매크로 블록의 데이터들은 디코딩 되면서 움직임 벡터를 포함하고 있고, 이러한 움직임 벡터들은 일정한 방향을 지시하고 있다. 동영상 압축 기술은 이러한 움직임 벡터를 이용하여 이전 영상 프레임의 매크로 블록을 가져와 현재 영상 프레임을 복원하는 방식을 취하여 압축률을 줄인다.
크로미넌스가 낮아지면 빨간색 성분이 두드러지게 나타나게 되는데, 이러한 현상을 없애기 위하여 픽쳐 헤더내에서 1비트의 RTYPE 비트를 "1"과 "0"을 번갈아 가면서 삽입한다. H.263 규격에 따른 코딩 방법에서는 이러한 RTYPE의 변화가 가장 빈번하다.
도 2는 종래 기술에 따른 라운딩 컨트롤을 이용한 반화소 움직임 추정 방법을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 디코딩되는 영상 프레임의 화질 향상과 동영상의 흐름이 자연스럽게 하기 위하여 움직임 보상을 하는데, 특히 예측되는 화소의 위치가 두 개의 화소 사이에 존재하는 경우에는 두 화소치의 평균 값을 구하여 반화소 보상을 하게된다.
하지만, 반화소 보상과 같이 단순히 화소 값의 평균값을 일괄적으로 보상하 는 경우에는 평균 값에 의하여 색차 신호 값이 낮아져서 영상이 붉게 보이게된다.
이와 같은 단점을 보완하기 위하여 라운딩 컨트롤을 이용한 반화소 움직임 보상을 하게되는데, 그것은 주기적으로 0.5 값을 반올림하거나 하지 않도록 RTYPE 정보에 "1" 또는 "0" 값을 인코더에서 인코딩할 때 픽쳐 헤더 정보에 추가하여 전송한다.
디코더에서는 이를 디코딩할 때, 인코더에서 같은 타입으로 라운딩 컨트롤을 하여야 정확한 영상을 재현할 수 있기 때문에 픽쳐 헤더 정보에 삽입되어 있는 RTYPE 정보를 확인하여 반화소 움직임 보상을 한다.
일반적으로 반화소에 의한 움직임 추정 과정은 H.263+ 프로토콜을 적용하는 경우에에는 영상 프레임 각각의 매크로 블럭(16*16) 크기의 각 매크로 블록에 대해 정수 화소 단위의 움직임 보상을 행한 후, 그 매크로 블록에 대해 INTER 모드인지 또는 INTRA 모드인지를 판단하게 된다.
이에 따라, INTRA 모드로 판단되면 16*16 매크로 블록에 대해 I-프레임 부호화와 동일한 방법으로 부호화하며, 움직임 추정 및 보상은 필요가 없다.
하지만, INTER 모드인 경우에는 도면에 도시된 바와 같이, 소정의 영역의 정수 화소들 A를 기준으로 수직, 수평 및 대각 방향의 화소(B, C, D)간에 보산 연산을 수행함으로써 반화소 (a, b, c, d)를 구하게된다.
여기서, 반화소 단위의 움직임 추정은 INTER 모드로 결정된 매크로 블록에 대해 이전에 재구성된 영상의 매크로 블록의 휘도 성분(Luma: Y-Component)에서 행하게 된다.
따라서, 디코딩된 영상 프레임의 화소들을 움직임 추정한 결과 추정 값이 A의 화소에 위치하는 할 경우에는 라운딩 컨트롤을 이용한 반화소 움직임 추정에 의하여 a 값을 A로 구한다. 그리고, A와 B의 화소 중간에 움직임 추정 값이 존재하는 경우에는 두 개의 평균 값에 대하여 RTYPE 정보에 따라 반올림 하거나 하지 않는 값으로 보상하여 사용한다.
즉, b=(A+B+1-RTYPE)/2로 보상되는데, A값이 2이고 B값이 4일 경우 RTYPE 정보가 "0"의 값을 갖는 경우에는 b 값이 3.5 값을 갖고 반올림하여 4가 되지만, RTYPE 정보가 "1"의 값을 갖는 경우에는 b 값은 3이된다.
마찬가지 방법으로 c=(A+C+1-RTYPE)/2, d=(A+B+C+D+2-RTYPE)/4에 의하여 반화소 움직임 추정을 하게된다.
그러나, IMT2000과 같이 무선망을 통하여 동영상 신호를 실시간으로 송수신하는 시스템에서는 인코딩된 영상 데이터가 다중 경로를 통하여 송수신이 이루어지므로 데이터 손실 및 채널 비트 에러가 필연적으로 발생한다.
특히, 다양한 옵션(option) 유무의 정보를 제공하는 픽쳐 헤더의 RTYPE 정보가 바뀌는 경우에는 잘못된 기준 영상을 참조하여 움직임 추정을 하게되어 화질 저하가 초래하는 문제가 있다.
또한, 라운딩 컨트롤을 사용하여 반화소 움직임 추정을 하기 위한 계산식에서 RTYPE의 오류로 인하여 잘못된 영상 메모리를 참조하여 디코딩함으로써, 디코딩 작업이 중단되거나 시스템이 다운되는 문제가 발생한다.
본 발명은, IMT-2000 무선망에서 영상 비트스트림의 에러로 인하여 라운딩 타입이 바뀌는 오류 발생에 대응하기 위하여 디코더에서 디코딩 처리를 할때 픽쳐 헤더 정보의 옵션 정보를 이용하여 정확한 RTYPE 정보로 보정하여 화질 개선을 할 수 있는 동영상 디코딩 방법을 제공함에 그 목적이 있다.
상기한 목적을 달성하기 위한, 본 발명에 따른 동영상 디코딩 방법은,
압축된 동영상 비트스트림을 가변장복호화하는 단계;
상기 가변장복호화된 영상 비트스트림을 디코딩하여 픽체 헤더 정보에 라운딩 타입 정보가 추가되었는지를 판단하는 단계;
상기 라운딩 타입 정보를 판단하고, 판단된 정보에 에러가 발생하였는지를 판단하기 위하여 상기 픽쳐 헤더 정보 중에서 움직임을 추정하는 Has 옵션 정보 유무를 판단하는 단계;
상기 Has 옵션 정보가 있는 경우에는 이전 영상 프레임의 라운딩 타입 정보를 판단하는 단계; 및
상기 이전 영상 프레임에서 판단된 라운딩 타입 정보 값과 반대의 라운딩 타입 정보 값을 디코딩되는 영상 프레임의 라운딩 값으로 보정하여 디코딩을 진행하는 단계;를 포함하는 것을 특징으로 한다.
여기서, 상기 픽쳐 헤더 정보 중에서 Has 옵션 정보 유무를 판단하고, 상기 Has 옵션 정보가 존재하지 않는 경우에는 움직임 예측을 위한 추가 기능이 포함되지 않은 것으로 판단하여 디코딩되는 영상 프레임의 라운딩 타입 값을 "0"으로 보정하여 디코딩하는 것을 특징으로 한다.
그리고 상기 Has 옵션 정보는 디코딩되는 영상 프레임에 추가되는 기능이 있는 경우에는 "0"의 값 이외의 다른 값을 갖고, 상기 디코딩되는 영상 프레임에 추가되는 기능이 없을 때에는 상기 Has 옵션 정보는 "1"의 값을 갖으며, 상기 Has 옵션 정보가 없는 경우에는 상기 디코딩되는 영상 프레임의 라운딩 타입 정보에 상관없이 라운딩 타입 정보를 "0"으로 판단하는 것을 특징으로 한다.
특히, 상기 이전 영상 프레임 메모리에 저장되어 있는 이전 영상 프레임의 라운딩 타입 정보가 "0" 또는 "1"의 값중 어느 하나의 값을 갖는 지를 판단하고, 상기 이전 영상 프레임의 라운딩 타입 정보 값이 "0"의 값을 갖는 경우에는 상기 디코딩되는 영상 프레임의 라운딩 타입 정보를 "1"로 판단하며, 상기 이전 영상 프레임의 라운딩 타입 정보 값이 "1"의 값을 갖는 경우에는 현재 디코딩된 영상 프레임의 라운딩 타입 정보를 "0"으로 판단하는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 의한 동영상 디코더는,
압축된 동영상 비트스트림을 역 가변장 부호화하는 VLD;
상기 VLD에서 역 가변장 부호화된 비트 스트림을 감지하여 움직임 벡터와 영상 프레임을 복원하는 에러 감지/복원부;
상기 에러 감지/복원부에서 감지된 영상 프레임의 비트스트림을 영양자화 및 역이산여현변환을 하는 역양자화부와 역DCT;
상기 에러 감지/복원부에서 디코딩된 영상 프레임의 라운딩 타입과 움직임 추정 옵션 정보의 유무를 판별하는 보정기;
상기 보정기로부터 라운딩 타입이 보정된 영상 프레임의 움직임 벡터들을 보상하기 위한 움직임 보상기;
상기 움직임 보상기에서 디코딩된 영상 프레임을 보상하도록 이전 영상 프레임을 제공하는 영상 프레임 메모리; 및
상기 역DCT에서 얻어지는 영상 데이터와 상기 움직임 보상기에서 얻어지는 보상값을 이용하여 영상을 복원하는 복원 영상 프레임부를 포함하는 것을 특징으로 한다.
여기서, 상기 디코딩된 영상 프레임에 옵션 정보가 있는 경우에는 상기 보정기에서는 이전 영상 프레임의 라운딩 타입과 현재 디코딩된 영상 프레임의 라운딩 타입을 비교하여 보정하는 것을 특징으로 한다.
본 발명에 의하면, 압축된 동영상 비트스트림을 전송할 때 발생하는 채널 비트 에러로 인하여 라운딩 타입 정보 오류를 개선하여 디코딩의 효율을 향상시키고, 영상 화질의 품위를 높일 수 있는 이점이 있다.
IMT-2000과 같은 통신 단말기는 동영상 프레임들을 인코더에서 인코딩한 다음 픽쳐 헤더 정보, GOB 정보, 매크로 블록 정보 등을 삽입하여 비트스트림 형태로 전송하는데, 압축된 비트스트림 동영상의 처음 시작됨을 나타내는 코드로서 PSC{Picture Start Code(22 bits)}와, 각각의 영상 프레임의 시계열 방향의 레퍼런스 번호를 나타내는 TR{Temporal Reference (8 bits)}와, 디코딩하는 영상 프레임 의 픽쳐 타입을 식별할 수 있는 정보를 나타내는 PTYPE{Picture Type Information (Variable Length)}와, 인코더에서 영상 프레임이 양자화된 정보를 나타내는 PQUANT{Quantizer Information (5 bits)}와, 계속되는 현재 멀티 포인트와 비디오 멀티 플렉스를 나타내는 CPM{Continuous Presence Multipoint and Video Multiplex (1 bit)}와, PSBI{Picture Sub-Bitstream Indicator (2 bits)}와, P 픽쳐와 B픽쳐 프레임에서 B픽쳐에 대한 시간 기준을 나타내는 TRB{Temporal Reference for B-pictures in PB-frames (3/5 bits)}와, P픽쳐와 B픽쳐 프레임에서 B픽쳐에 대한 양자화 정보를 나타내는 DBQUANT{Quantization information for B-pictures in PB frames (2 bits)}와, 픽쳐 층으로서 이후 사용자 데이터가 있는지를 지정하는 PEI{Extra Insertion Information (1 bit)}와, 픽쳐 보상 강화 정보를 나타내는 PSUPP{Supplemental Enhancement Information (0/8/16 ... bits)}, 영상 프레임을 일정한 매크로 블록 그룹단위로 구분한 GOB(Group Of Black)와 ESTUF{Stuffing (Variable length)}, EOS{End Of Sequence (22 bits)}, PSTUF{Stuffing(Variable length)}와 같은 정보를 포함한다.
따라서, 비트스트림을 디코딩할 때 제일 첫단의 PSC를 확인함으로써 영상 프레임을 디코딩하는데, 이후 픽쳐 헤더 영역에 삽입되어 있는 정보를 통하여 픽쳐 타입, 영상 프레임의 크기, 양자화 정보 등을 판별한다.
H.263일 경우에는 픽쳐 헤더 정보, GOB 헤더 정보 및 매크로 블록 정보들을 디코딩하며, MPEG4일 경우에는 픽쳐 헤더 정보, 매크로 블록 정보들을 디코딩하여 영상을 재현하는데, 비트스트림의 마지막 헤더 정보인 상기 PSTUF가 디코딩되면 디 코딩되는 동영상 프레임이 끝나고 다시 처음으로 디코딩할 동영상 프레임이 다음에 올 거라고 판단하여 디코딩한다.
다양한 동영상 압축 표준안 들에 의하면 동영상 부호화는 크게 나누어 I 프레임 부호화 및 P 프레임 부호화로 나뉘어 지며, 기본적으로 첫 번째 프레임은 영상 자체의 공간적인 상관성을 이용해서 I 프레임을 부호화하고, 잇따르는 프레임들(P프레임)의 부호화는 인접 프레임(I프레임)과의 시간적인 연관성을 이용해서 움직임 추정 및 보상을 한 후 부호화한다.
이때, 반화소에 의한 움직임 추정을할 때 RTYPE 정보의 오류로 인하여 수식에 의하여 정확한 움직임 추정을 하지 못하는 경우가 발생하는데 이러한 채널 오류에 의한 RTYPE 정보를 보정하여 움직임 추정을 함으로써 구현되는 화질을 재현한다.
이하, 첨부한 도면에 의거하여 본 발명의 바람직한 실시 예를 자세히 설명하도록 한다.
도 3은 본 발명에 따른 라운딩 타입 정보 에러를 보정하여 디코딩하는 방법을 설명하기 위한 플로챠트이다.
도 3에 도시된 바와 같이, 동영상 신호를 압축하여 비트스트림 형태로 전송한 후, 디코더에서 디코딩 할 때 인코딩된 비트스트림에 다양한 옵션 정보가 삽입되어 있는지를 판단한다. 이러한 판단은 라운딩 컨트롤 정보를 분석하여 각각의 영상 프레임당 옵션이 붙은 경우에는 RTYPE이 "0"에서 "1"로 변하거나, "1"에서 "0"으로 변한다.
이와 같이 옵션 정보가 삽입되는 경우에는 인코더에서 인코딩을 할때 반드시 픽쳐 헤더 정보에 RTYPE 정보를 삽입하여야만, 디코더에서 디코딩할 때 이러한 정보를 디코딩하여 반화소 움직임 추정을 위한 계수 값으로 사용하게 된다.
따라서, 디코더에서는 영상 프레임의 비트스트림을 디코딩할 때 라운딩 타입의 정보가 어떤 것인지를 판단하고, 이러한 라운딩 타입 정보 값이 무선망을 통하여 송수신되는 과정에서 채널 에러로 인하여 정보가 바뀌었는지를 먼저 판단하고 보정하여 준다음에 움직임 보상을 실시하여 영상을 재현한다.
상기와 같이 디코더에서 픽쳐 헤더 정보를 디코딩하여 RTYPE 정보를 판단하면(S301), 이후에는 Has 옵션 유무를 판단하여야 한다(S302).
상기 Has 옵션은 디코더에서 영상 프레임을 디코딩할 때, 디코딩되는 영상 프레임이 옵션을 갖는 경우와 갖지 않는 경우에는 H.263 표준에서는 RTYPE 정보를 삽입하거나 삽입하지 않는다.
그리고 상기 Has 옵션이 있는 경우에는 RTYPE 정보가 존재하고, 반화소에 의한 움직임 추정을 통하여 영상 프레임의 화소를 보상하여 구현할 경우 크로미넌스(Chrominance)가 낮아지면서 빨간색 성분이 두드러지게 나타나게 되는데, 이러한 현상을 방지하기 위하여 RTYPE 정보를 주기적으로 바꿔 픽쳐 헤더 정보에 삽입한다.
따라서, Has 옵션 정보가 있는 경우에는 RTYPE 정보가 존재하는 것이 되고, 또한 이전 영상 프레임의 RTYPE 정보와 다른 값이 주기적으로 반복되어야 한다.
그러므로, 이전 영상 프레임 메모리로부터 이전 영상 프레임의 라운딩 타입 정보를 판단하여 현재 디코딩되는 영상 프레임의 RTYPE 정보를 예측하게된다.
즉, 이전 영상 프레임의 라운딩 타입 값이 "0"의 값을 갖는 경우에는 반드시 현재 디코딩되는 영상 프레임의 라운딩 타입이 "1"의 값을 가져야되므로, 처음에 디코딩된 라운딩 타입 판단 값이 "0"의 값을 갖더라도, 이전 라운딩 타입과 반대되는 값을 취하여 영상 프레임을 반화소 움직임 추정을 하게된다(S303, S304).
하지만, Has 옵션 정보 값이 존재하지만, 이전 라운딩 값이 "0"의 값이 아닌 경우에는(보통 "0"이 아닌 경우에는 "1"의 값을 갖는다) 이전 라운딩 값이 "1"의 값을 갖는 경우이므로, 현재 디코딩되는 영상 프레임의 라운딩 타입은 H.263의 표준에서 일반적으로 사용되는 방식에 따라 "0"의 값을 갖는다고 판단하여 반화소 움직임 추정을 한다(S303, S304).
즉, 처음 디코딩된 라운딩 타입 정보가 "1"의 값을 갖는 경우에도 이전 영상 프레임의 라운딩 값을 판단하여 "0"의 값을 취하게되는데, 이 경우에는 채널 비트 에러 발생에 의하여 디코딩되는 라운딩 타입 정보가 "0"에서 "1"의 값의 에러가 발생한 것으로 취급하여 보정이 되는 것이다.
물론, 처음 디코딩되는 라운딩 타입 값이 "0"인 경우에는 무선 채널 망을 통하여 비트스트림 정보가 인가될 때 에러가 발생하지 않는 것으로 판단하게 되는 것이다.
또한, Has 옵션 정보 값이 존재하지 않는 경우에는 별도의 옵션이 첨부되지 않은 것이므로 라운딩 타입의 정보는 "0"의 값을 항상 취하므로 현재 디코딩되는 영상 프레임의 라운딩 값이 "1" 이거나 "0"에 관계없이 항상 "0"의 값을 취하여 반 화소 움직임 추정을 한다(S305).
즉, 옵션 정보가 처음부터 존재하지 않는 경우에는 항상 RTYPE 값이 "0"의 값을 갖는 것을 이용하여 디코딩되는 영상 프레임이 혹시 "1"의 값을 갖는 경우에는 채널 에러가 발생한 것으로 판단하여 "0"의 값으로 보정하여 반화소 움직임 추정을 하게 된다.
상기와 같이 압축된 동영상 비트스트림을 디코딩하는 디코더는 수신된 비트스트림을 임시적으로 버퍼에 저장한 후 VLD에서 역 가변장 부호화를 실시하고, 상기 VLD에서 역 가변장 부호화된 비트스트림을 디코딩하여 움직임 벡터와 영상 프레임에 포함되어 있는 다양한 헤더 정보를 에러 감지/복원부에서 판단한다.
그리고 영상 프레임에 함께 삽입되어 전송되어 오는 매크로 블록과 블록 정보들을 인코더에서 수행한 부호화 방식과 반대 방향으로 역양자화부와 역DCT에서 역양자화 및 역이산여현변환을 실시한다.
상기 에러 감지/복원부에서는 디코딩된 영상 프레임의 픽쳐 헤더 정보로부터 라운딩 타입 정보를 판단하고, 보정하도록 움직임 보상기 사이에 보정기를 배치한다.
상기 보정기로부터 라운딩 타입이 보정된 영상 프레임의 움직임 벡터들은 상기 움직임 보상기로 전송되고, 이전 영상 프레임 메모리에서 제공하는 이전 영상 프레임과 움직임 보상을 하여, 상기 역DCT에서 역이산여현변환이된 값과 합산하여 복원 영상 프레임부에서 영상을 재현하다.
상기 보정기에서는 디코딩된 영상 프레임의 라운딩 타입과 추가되는 옵션 정보 유무를 판단하고, 상기 디코딩된 영상 프레임에 옵션 정보가 있는 경우에는 상기 보정기에서는 이전 영상 프레임의 라운딩 타입과 현재 디코딩된 영상 프레임의 라운딩 타입을 비교하여 보정한다.
이상에서 자세히 설명된 바와 같이, 본 발명은 IMT2000과 같은 무선망을 이용하여 압축 동영상을 전송하는 시스템의 디코더에서 채널 에러로 인하여 라운딩 타입 오류 발생을 판단하고 보정하여 디코딩 효율과 화질 개선을 할 수 있는 효과가 있다.
아울러, 이전 영상 프레임의 라운드 타입과 현재 디코딩된 영상 프레임의 라운딩 타입을 비교할 수 있도록 하여 에러가 발생한 라운딩 타입 정보를 보정할 수 있어 디코딩 에러를 줄일 수 있는 이점이 있다.
본 발명은 상기한 실시 예에 한정되지 않고, 이하 청구 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능할 것이다.
Claims (12)
- 압축된 동영상 비트스트림을 가변장복호화하는 단계;상기 가변장복호화된 영상 비트스트림을 디코딩하여 픽처 헤더 정보에 라운딩 타입 정보가 추가되었는지를 판단하는 단계;상기 라운딩 타입 정보를 판단하고, 판단된 정보에 에러가 발생하였는지를 판단하기 위하여 상기 픽쳐 헤더 정보 중에서 움직임을 추정하는 Has 옵션 정보 유무를 판단하는 단계;상기 Has 옵션 정보가 있는 경우에는 이전 영상 프레임의 라운딩 타입 정보를 판단하는 단계; 및상기 이전 영상 프레임에서 판단된 라운딩 타입 정보 값과 반대의 라운딩 타입 정보 값을 디코딩되는 영상 프레임의 라운딩 값으로 보정하여 디코딩을 진행하는 단계;를 포함하는 것을 특징으로 하는 동영상 디코딩 방법.
- 삭제
- 제 1 항에 있어서,상기 픽쳐 헤더 정보 중에서 Has 옵션 정보 유무를 판단하고, 상기 Has 옵션 정보가 존재하지 않는 경우에는 움직임 예측을 위한 추가 기능이 포함되지 않은 것으로 판단하여 디코딩되는 영상 프레임의 라운딩 타입 값을 "0"으로 보정하여 디코딩하는 것을 특징으로 하는 동영상 디코딩 방법.
- 제 1 항에 있어서,상기 Has 옵션 정보는 디코딩되는 영상 프레임에 추가되는 기능이 있는 경우에는 "0"의 값 이외의 다른 값을 갖는 것을 특징으로 하는 동영상 디코딩 방법.
- 제 4 항에 있어서,상기 디코딩되는 영상 프레임에 추가되는 기능이 없을 때에는 상기 Has 옵션 정보는 "1"의 값을 갖는 것을 특징으로 하는 동영상 디코딩 방법.
- 제 1 항에 있어서,상기 Has 옵션 정보가 없는 경우에는 상기 디코딩되는 영상 프레임의 라운딩 타입 정보에 상관없이 라운딩 타입 정보를 "0"으로 판단하는 것을 특징으로 하는 동영상 디코딩 방법.
- 제 1 항에 있어서,상기 이전 영상 프레임 메모리에 저장되어 있는 이전 영상 프레임의 라운딩 타입 정보가 "0" 또는 "1"의 값중 어느 하나의 값을 갖는 지를 판단하는 것을 특징 으로 하는 동영상 디코딩 방법.
- 제 7 항에 있어서,상기 이전 영상 프레임의 라운딩 타입 정보 값이 "0"의 값을 갖는 경우에는 상기 디코딩되는 영상 프레임의 라운딩 타입 정보를 "1"로 판단하는 것을 특징으로 하는 동영상 디코딩 방법.
- 제 7 항에 있어서,상기 이전 영상 프레임의 라운딩 타입 정보 값이 "1"의 값을 갖는 경우에는 현재 디코딩된 영상 프레임의 라운딩 타입 정보를 "0"으로 판단하는 것을 특징으로 하는 동영상 디코딩 방법.
- 압축된 동영상 비트스트림을 역 가변장 부호화하는 VLD;상기 VLD에서 역 가변장 부호화된 비트 스트림을 감지하여 움직임 벡터와 영상 프레임을 복원하는 에러 감지/복원부;상기 에러 감지/복원부에서 감지된 영상 프레임의 비트스트림을 영양자화 및 역이산여현변환을 하는 역양자화부와 역DCT;상기 에러 감지/복원부에서 디코딩된 영상 프레임의 라운딩 타입과 움직임 추정 옵션 정보의 유무를 판별하는 보정기;상기 보정기로부터 라운딩 타입이 보정된 영상 프레임의 움직임 벡터들을 보상하기 위한 움직임 보상기;상기 움직임 보상기에서 디코딩된 영상 프레임을 보상하도록 이전 영상 프레임을 제공하는 영상 프레임 메모리; 및상기 역DCT에서 얻어지는 영상 데이터와 상기 움직임 보상기에서 얻어지는 보상값을 이용하여 영상을 복원하는 복원 영상 프레임부를 포함하는 것을 특징으로 하는 동영상 디코더.
- 삭제
- 제 10 항에 있어서,상기 디코딩된 영상 프레임에 옵션 정보가 있는 경우에는 상기 보정기에서는 이전 영상 프레임의 라운딩 타입과 현재 디코딩된 영상 프레임의 라운딩 타입을 비교하여 보정하는 것을 특징으로 하는 동영상 디코더.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020070575A KR100590328B1 (ko) | 2002-11-14 | 2002-11-14 | 동영상 디코더 및 이를 이용한 디코딩 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020070575A KR100590328B1 (ko) | 2002-11-14 | 2002-11-14 | 동영상 디코더 및 이를 이용한 디코딩 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040042325A KR20040042325A (ko) | 2004-05-20 |
KR100590328B1 true KR100590328B1 (ko) | 2006-06-15 |
Family
ID=37339127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020070575A KR100590328B1 (ko) | 2002-11-14 | 2002-11-14 | 동영상 디코더 및 이를 이용한 디코딩 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100590328B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010037661A (ko) * | 1999-10-19 | 2001-05-15 | 윤종용 | 디지털 비디오 코딩 방법 및 장치 |
-
2002
- 2002-11-14 KR KR1020020070575A patent/KR100590328B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010037661A (ko) * | 1999-10-19 | 2001-05-15 | 윤종용 | 디지털 비디오 코딩 방법 및 장치 |
Non-Patent Citations (3)
Title |
---|
"Avoidance of error accumulation in motion compensation"".(3쪽 참조)" * |
Core Experiment Description for Error Resilient Header Repetition - RTYPE 데이터를 이용하여 에러 은폐를 수행하는 것을 특징으로 함. * |
ITU 표준화 SG16 Q15-1-25, 13 Oct. 1999, Miska hannuksela "Core experiment description for error resilient header repetition" * |
Also Published As
Publication number | Publication date |
---|---|
KR20040042325A (ko) | 2004-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5007322B2 (ja) | ビデオ符号化方法 | |
RU2302707C2 (ru) | Кодирующие динамические фильтры | |
KR100495820B1 (ko) | 비디오 코딩 | |
JP4820559B2 (ja) | 映像データ符号化及び復号化方法及び装置 | |
US20080084934A1 (en) | Video error concealment | |
JP2004215252A (ja) | ビデオエラー隠蔽のための動的イントラ符号化マクロブロックリフレッシュインターバル | |
KR20040031949A (ko) | 동영상 인코딩 및 디코딩 방법 | |
KR100590328B1 (ko) | 동영상 디코더 및 이를 이용한 디코딩 방법 | |
KR100454526B1 (ko) | 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법 | |
US8218639B2 (en) | Method for pixel prediction with low complexity | |
KR100557118B1 (ko) | 동영상 디코더 및 이를 이용한 디코딩 방법 | |
KR100543607B1 (ko) | 동영상 디코딩 방법 | |
KR100557047B1 (ko) | 동영상 디코딩 방법 | |
KR100564967B1 (ko) | 동영상 디코더 및 이를 이용한 디코딩 방법 | |
KR20040047045A (ko) | 동영상 디코딩 방법 | |
KR20040031948A (ko) | 동영상 디코딩 방법 | |
KR100632105B1 (ko) | 디지털 비월주사 인트라픽쳐 부호화/복호화 방법 | |
KR20040035013A (ko) | 동영상 디코딩 방법 | |
KR20040039808A (ko) | 움직임 벡터 예측 방법 | |
KR20040039809A (ko) | 동영상 부호화기 및 이를 이용한 부호화 방법 | |
KR20050026110A (ko) | 동영상 디코더 및 디코딩 방법 | |
KR0128876B1 (ko) | 동영상 신호의 에러 블록 보간 장치 | |
KR20040034188A (ko) | 동영상 디코딩 방법 | |
KR20050089457A (ko) | 동영상 복호화 시 에러 은닉 방법 | |
KR20040035014A (ko) | 동영상 디코딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |