KR100454526B1 - 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법 - Google Patents

시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법 Download PDF

Info

Publication number
KR100454526B1
KR100454526B1 KR10-2002-0005414A KR20020005414A KR100454526B1 KR 100454526 B1 KR100454526 B1 KR 100454526B1 KR 20020005414 A KR20020005414 A KR 20020005414A KR 100454526 B1 KR100454526 B1 KR 100454526B1
Authority
KR
South Korea
Prior art keywords
frame
macroblock
error
macroblocks
information
Prior art date
Application number
KR10-2002-0005414A
Other languages
English (en)
Other versions
KR20030065694A (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 KR10-2002-0005414A priority Critical patent/KR100454526B1/ko
Publication of KR20030065694A publication Critical patent/KR20030065694A/ko
Application granted granted Critical
Publication of KR100454526B1 publication Critical patent/KR100454526B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/177Methods 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 a group of pictures [GOP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 MPEG-2 알고리즘에 따른 영상 부호화기술에서 인트라 프레임(Intra frame)에서 발생된 에러를 시공간 정보를 이용하여 은닉하는 방법에 관한 것이다. 이러한 본 발명의 방법은 인트라 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출한 후 이에 대응하는 B프레임의 매크로블록 B(i,j)를 찾고, 그 매크로블록의 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 I(i,j)에 상응하는 매크로블록 B'(i,j)를 찾는다. 그리고 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)을 보정하고, 보정된 매크로블록 B"(i,j)와 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구한다. 이어 베이스 매크로블록의 순방향 움직임벡터 MVF(i,j)로 앵커 프레임의 레퍼런스 매크로블록 P(i,j)을 찾아 앞서 산출된 거리만큼 보정하여 보정된 레퍼런스 매크로블록 P'(i,j)을 구하고, 이 레퍼런스 매크로블록의 각 픽셀 데이터를 매크로블록 I(i,j)의 픽셀 데이터로서 복사하여 에러를 은닉한다.

Description

시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법{ Error concealment method of Itra coded frame by spatio-temporal information }
본 발명은 MPEG-2 알고리즘에 따른 영상 부호화기술에서 에러를 은닉하기 위한 에러은닉 기술에 관한 것으로, 더욱 상세하게는 인트라 프레임(Intra frame)에서 발생된 에러를 시공간 정보를 이용하여 은닉하는 방법에 관한 것이다.
일반적으로, 디지탈 TV/HDTV 신호는 제한된 채널 대역폭으로 인해 MPEG-2 알고리즘을 이용한 높은 압축율로 압축된 신호를 사용한다. MPEG-2에서는 움직임보상(Motion compensation), 혼합 이산코사인변환(Hybrid Discrete Cosine Transform), 가변장부호화(Variable Length Coding), 적응 양자화(Adaptive Quantization) 등으로 압축된 신호를 계층구조의 비트 스트림으로 형성하여 전송채널로 보낸다. 이때 전송채널로 보내진 압축 데이터는 채널잡음이나 물리적인 채널의 손상등과 같은 전송에러로 인하여 손실되거나 손상될 수 있으며, 압축된 데이터에 손상을 주는 전송에러는 크게 랜덤 비트 에러(random bit error)와 이레이져 에러(erasure error)가 있다.
랜덤 비트 에러는 물리적 채널의 결함에 의해서 생성되며, 고정길이 부호화를 사용할 때에는 단 하나의 코드워드에만 영향을 미치지만 가변장 부호화를 사용하게 되면 코드화된 정보의 동기화를 잃어버리게 할 수도 있다. 이레이져 에러는 패킷 네트워크에서 패킷손실, 물리적 결함에 의한 저장 미디어에서의 버스트 에러(burst error), 짧은 시간동안의 시스템 결함등에 의해 야기되며, 비트의 연속적인 세그먼트의 손실 혹은 손상 등으로 인하여 랜덤 비트보다 훨씬 심한 손상을 발생시킨다.
이러한 전송에러에 의한 데이터의 손실이나 손상으로부터 화질의 열화를 방지하기 위하여 MPEG-2에서 주로 사용하는 종래의 에러은닉기술은 디코더에서 전송에러에 의해 손실된 정보를 복구하거나 추정하는 것이다. 이러한 종래의 에러은닉기술은 크게 시간적인 에러은닉과 공간적인 에러은닉 2가지 방식으로 나누어 볼 수 있다.
시간적인 에러은닉 방식은 하나의 시퀀스에서의 시간 중복성(temporal redundancy)을 이용하는 것으로, 움직임 정보를 가지고 있는 인터코딩(inter coding) 프레임에서 사용되는 반면에, 공간적인 에러은닉 방식은 하나의 프레임에서의 공간적 중복성(spatial redundancy)을 이용하는 것으로, 움직임 정보를 가지고 있지 않은 인트라코딩(intra coding) 프레임을 위해서 사용된다.
또한, 시간적인 에러 은닉 기술은 단순한 시간적 에러 은닉 방식과 움직임 보상 시간적 에러 은닉방식으로 나뉜다. 단순한 시간적 에러 은닉방식은 현재 프레임에서 에러가 발견된 부분과 일치하는 이전에 전송된 앵커 프레임(anchor frame)에서의 값을 그대로 사용하는 방식이다. 따라서 이 방식의 경우에는 구현이 간단하지만 현재 프레임과 이전의 앵커 프레임간에 움직임이 있을 경우, 프레임간의 움직임으로 인한 시각적인 오류가 보일 수 있다는 단점이 있다. 움직임보상 시간적 에러은닉 방식은 위의 단순 시간적 에러은닉 방식에서의 단점을 보완한 방식으로서, 현재 프레임의 움직임 벡터가 존재한다면 에러가 난 부분의 주변 매크로블록의 움직임 벡터를 사용하여 에러를 처리하는 방식이다. 이러한 움직임보상 시간적 에러은닉 방식은 단순 시간적 에러은닉 방식보다 효과적이어서 널리 사용되고 있으나 주변 매크로블록의 움직임 벡터가 손상된 경우, 정확하지 않은 움직임 벡터의 예측으로 인하여 복원된 이미지에서 큰 오류가 생길 수 있다는 문제점이 있다.
공간적인 에러은닉 방식은 에러가 발생한 매크로 블록을 블록단위로 에러를 은닉하는 방식과 하나의 매크로블록 단위로 에러를 은닉하는 방식 2가지가 있다. 블록단위로 에러를 은닉하는 방식은 에러가 발생한 매크로 블록을 구성하는 4개 블록의 픽셀들을 각 블록과 인접하는 픽셀들을 이용하여 에러를 은닉하는 것이다. 이 기술은 에러가 발생한 매크로블록의 주변 4개 매크로블록에 에러가 존재하지 않을 때는 좋은 결과를 얻을 수 있으나, 주변의 매크로블록이 손상되었을 경우에는 에러를 제대로 은닉할 수 없다. 예를 들어, 연속적인 매크로블록의 에러가 발생한경우(슬라이스 에러), 왼쪽과 오른쪽의 매크로블록에도 에러가 발생하게 되어 위쪽과 아래쪽의 매크로블록의 픽셀들만을 이용하여 에러를 은닉하기 때문에 제대로 에러를 은닉할 수 없게 된다. 그리고 매크로블록 단위로 에러를 은닉하는 방식은 에러가 발생한 주변 4개의 매크로블록을 가지고 전체 매크로블록의 각 픽셀을 복원하는 방식으로서, MPEG-2 비디오에서 주로 사용된다. 즉, MPEG-2에서 비디오 전송단위인 슬라이스(slice)에 에러가 발생하여 여러개의 연속적인 매크로블록이 손상된 경우, 왼쪽과 오른쪽의 매크로블록은 에러은닉에 사용할 수 없게 된다. 그래서 에러가 발생한 매크로블록의 위, 아래 매크로블록만을 사용하여 에러를 은닉하게 되는데, 이때에 주로 사용되는 방식이다.
이러한 공간적 에러 은닉방식은 에러가 발생한 매크로블록의 주변 매크로블록들이 제대로 존재할 때에는 좋은 결과를 얻을 수 있다. 그러나 블록에 기초한 에러 은닉방식은 이웃한 블록의 색상과 현재 블록의 색상이 같을 경우는 거의 정확하게 에러가 복원되지만 이웃한 블록간에 색상차가 있을 경우 흐려짐(blur)현상이 발생할 수 있다. 또한 매크로블록에 기초한 에러 은닉방식은 블록에 기반한 에러은닉방식에서의 blur 현상은 보이지 않지만 하나의 매크로블록에 경계가 있을 경우에는 역시 blur 현상이 발생할 수 있고, 하나의 슬라이스가 아닌 연속적인 여러개의 슬라이스에 에러가 발생했을 경우에 화질이 열화되는 문제점이 있다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 제안된 것으로, 시공간 정보를 이용하여 인트라 프레임에 에러가 발생한 것을 은닉하기 위한 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법을 제공하는데 그 목적이 있다.
도 1은 본 발명이 적용될 수 있는 전형적인 MPEG-2 비디오 부호화기의 개략도,
도 2는 본 발명이 적용될 수 있는 전형적인 MPEG-2 비디오 복호화기의 개략도,
도 3은 본 발명의 실시예에 따른 GOP의 구조,
도 4는 본 발명에 따른 에러 은닉방법을 도시한 순서도,
도 5는 본 발명에 따라 B프레임에서 I프레임의 에러발생 대응블록을 찾는 개념을 설명하기 위한 개략도,
도 6은 본 발명에 따라 B프레임의 대응블록에 역방향 움직임벡터를 적용한 것을 설명하기 위한 개략도,
도 7은 본 발명에 따라 B프레임의 매크로블록의 순방향 움직임벡터로 P프레임의 레퍼런스 매크로블록을 찾는 것을 설명하기 위한 개략도,
도 8은 본 발명에 따라 P프레임의 레퍼런스 매크로블록에 거리를 보상하여 I프레임의 에러를 은닉하는 개념을 설명하기 위한 개략도이다.
☞도면의 주요부분에 대한 부호의 설명☜
102,124,212: 프레임메모리 104,122,210: 가산기
106: 이산코사인변환기 108: 양자화기
110: 가변장부호화 및 다중화기 112,202: 버퍼
114: 레이트제어기 116: 복잡도 계산부
118,206: 역양자화기 120,208: 역이산코사인변환기
126,214: 적응 예측부 128: 움직임추정부
204: 역다중화 및 가변장복호기
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 시계열상에 연속되는 일련의 픽쳐그룹으로 이루어진 영상 프레임이 MPEG-2 부호화 방식으로 부호화되어 전송되는 비트스트림을 디코딩하면서 인트라 프레임에서 검출된 에러를 은닉하기 위한 방법에 있어서, 인트라 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출하는 단계; 이전 GOP의 인접 B프레임에서 매크로블록 I(i,j)와 대응하는 B프레임의 매크로블록 B(i,j)를 찾는 단계; 상기 B프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는 단계; 상기 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)을 보정하여 보정된 매크로블록 B"(i,j)를 구하는 단계; 상기 보정된 매크로블록 B"(i,j)와 상기 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구하는 단계; 상기 베이스 매크로블록에 대한 정보에서 순방향 움직임벡터 MVF(i,j)를 찾아 해당 앵커 프레임의 레퍼런스 매크로블록 P(i,j)을 찾는 단계; 상기 앵커 프레임의 레퍼런스 매크로블록의 위치를 상기 거리만큼 보정하여 보정된레퍼런스 매크로블록 P'(i,j)을 구하는 단계; 및 상기 보정된 레퍼런스블록의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 1은 본 발명이 적용될 수 있는 전형적인 MPEG-2 비디오 부호화기의 개략도로서, 부호화기는 프레임 메모리(102)와, 가산기(104), 이산코사인변환기(106: DCT), 적응 양자화기(108: Q), 가변장부호화 및 다중화기(110: VLC & MUX), 버퍼(112), 레이트(Rate) 제어기(114), 복잡도(Activity) 계산부(116), 역양자화기(118: DeQ), 역이산코사인변환기(120: IDCT), 가산기(122), 프레임메모리(124), 적응예측부 (126), 움직임추정부(128)로 구성된다.
MPEG 비디오 알고리즘은 시간적 중복성(temporal redundancy)을 줄이기 위한 블록기반 움직임 보상(block based motion compensation) 방식과 공간적인 중복성(spatial redundancy)을 줄이기 위한 이산코사인변환(Discrete Cosine Transform) 방식 등 2가지 기본기술에 의존한다. MPEG-2 비디오 소스 코딩의 경우 움직임 보상 혼합 이산코사인 변환을 기반으로 하는 코딩방식을 사용하는데, 여기에는 인트라 코딩(Intra coding) 프레임이라 불리우는 I 프레임과 인터 코딩(Inter coding) 프레임이라 불리우는 P, B 프레임 등 3가지 형태의 프레임이 사용된다.
I 프레임은 다른 프레임의 참조없이 자기 자신의 정보를 이용하여 코딩되며, 비트 스트림에서의 랜덤 억세스 지점으로 사용되고, P, B 프레임의 참조 프레임으로 사용된다. P 프레임은 이전의 I 프레임 혹은 P 프레임으로부터 순방향 움직임 보상 예측(Forward motion prediction)을 사용하며, B 프레임은 이전의 I 혹은 P 프레임으로부터 순방향 움직임 보상 예측(Forward motion prediction)과 다음의 I 혹은 P 프레임으로부터의 역방향 움직임 보상 예측(Backward motion prediction) 등 쌍방향 움직임 보상 예측 (Bidirectional motion prediction)을 사용한다. 이때 I 프레임과 P 프레임을 앵커 프레임(anchor frame)이라 한다.
또한 몇개의 프레임을 하나의 그룹으로 묶어서 픽처 그룹(GOP:Group Of Picture)이라 부르며, 하나의 GOP에는 단지 하나의 I 프레임이 포함된다. 각 프레임들은 슬라이스(slice)로 구성되며, 하나의 슬라이스(slice)는 여러개의 매크로블록(macro block)으로 구성되고, 각 매크로블록(macro block)은 8 x 8 픽셀의 형태를 가지는 4개의 블록(block)으로 구성된다.
도 1을 참조하면, 프레임 메모리(102)로는 GOP를 형성할 일련의 픽쳐들이 순차적으로 저장된다. 프레임 메모리(102)에 저장된 프레임을 I 프레임으로 인트라 코딩할 경우, I 프레임 코딩은 움직임 예측이 없으므로 가산기(104)를 지나 이산코사인변환기(106)와 적응 양자화기(108)와 가변장부호기(110)를 거치면서 블록 혹은 매크로블록 단위로 인트라 코딩이 이루어진다.
이산 코사인 변환기(106)에서 이산 코사인 변환은 8 x 8 블록단위로 이루어지는데, 블록의 모든 에너지가 이 블록의 DC값에 집중되도록 주파수 도메인으로프레임의 정보를 이동시키는 것이다. 여기서, 이산코사인 변환과정에 의하여 얻어진 이산코사인 변환계수는 저주파(DC) 성분과 고주파(AC) 성분으로 나누어 독립적으로 양자화하되는데, 저주파(DC) 성분은 바로 이전 매크로블록의 저주파(DC) 성분을 예측치로 한 차이값이 부호화되고, 고주파(AC) 성분은 블록마다 지그재그 스캔하여 일렬로 나열된 후 부호화된다. 양자화기(108)는 인간의 시각적 특성과 부호화 효율을 고려하여 가중치 메트릭스(weighting matrix)와 적절한 크기의 양자화 스텝으로 이산코사인 변환계수를 양자화하는데, 부호화할 프레임의 복잡도(activity)와 전송속도를 고려하여 양자화 스텝을 조절한다. 즉, MPEG-2에서는 피드백(feed-back) 방식과 피드포워드(feed-forward)방식을 결합하여 전송율을 조정하는데, 이를 위해 레이트 제어기(114)는 버퍼(112)의 충만도와 복잡도 계산부(116)의 복잡도를 고려하여 양자화 스텝 사이즈를 가변한다.
한편, 프레임 메모리(102)에 저장된 프레임 데이터를 P나 B 프레임으로 인터 코딩할 경우, 블록매칭알고리즘(Block Matching Algorithm: BMA)에 의해 예측된 움직임 벡터(Motion Vector)를 사용한다. P 프레임의 경우에는 이전 I나 P프레임으로부터 예측된 순방향 움직임 벡터를 사용하고, B 프레임의 경우에는 이전 I나 P프레임과 다음 I나 P 프레임으로부터 예측된 순방향 및 역방향 움직임 벡터를 사용한다.
또한, MPEG-2는 프레임 단위와 필드 단위 등 2가지 방식의 움직임 보상 예측방식을 사용하는데, 프레임 단위의 경우 하나의 프레임은 하나의 전체 픽쳐가 되고, 각 매크로 블록당 하나의 움직임 벡터를 갖게 된다. 반면에, 필드 단위의 경우 하나의 필드는 인터레이스드 하프 프레임(interlaced half frame)이 되며, 필드당 하나씩 매크로블록 하나에 2개의 움직임 벡터를 가지게 된다. 인코더에서는 움직임 보상 예측 방식에 의하여 발생된 예측에러를 계산하여 비트 스트림에 삽입하게 되고, 예측에러는 인트라 코딩 매크로블록처럼 이산코사인변환을 사용하여 시간중복성 감소를 가지고 압축하게 된다. 이때 움직임과 관련된 정보는 16x16 블록에 기반하여 공간정보와 함께 전송되며, 움직임 정보는 최대 효율성을 위하여 가변장 부호화를 사용하여 압축된다. 이와 같이 MPEG-2방식의 영상 예측에러, 움직임벡터 등의 정보를 코딩할 때 가변장 부호화를 사용하므로 전송시에 발생되는 에러에 매우 민감하게 된다.
다시 도 1을 참조하면, I프레임에 대한 인트라 코딩이 진행된 후 프레임 메모리(102)에는 역양자화기(118)에서 역양자화되고 역이산코사인변환기(120)에서 역이산코사인변환되어 복원된 참조 프레임의 데이터가 저장되어 있다. 인터 코딩할 경우 움직임 추정은 통상 매크로블록 단위로 이루어지는데, 움직임 추정부(128)는 코딩할 매크로블록과 가장 유사한 매크로블록을 이전 참조 프레임에서 찾아 움직임 벡터를 구하고, 적응 예측부(126)는 움직임벡터에 의해 지정된 레퍼런스 블록을 찾아 가산기(104)로 출력한다. 가산기(104)는 코딩할 프레임의 해당 매크로블록과 레퍼런스 블록의 차(예측에러)를 출력하고, 이산코사인변환기(106)를 이를 이산코사인변환한다. 양자화기(108)는 이산코사인 변환계수를 양자화하고, 가변장 부호화 및 다중화기(110)는 양자화기(108)가 출력하는 양자화된 예측에러와 부가적인 여러 정보(움직임벡터, 양자화정보 등)를 가변장 부호화한 후 다중화하여 출력한다.
이와 같이 MPEG-2 부호화기에서 코딩된 비트 스트림은 전송매체를 통해 전송되어 도 2에 도시된 비와 같은 MPEG-2 비디오 복호화기에서 복호화된다.
도 2를 참조하면, MPEG-2 비디오 복호화기는 버퍼(202), 역다중화 및 가변장복호기(204: DeMUX & VLD), 역양자화기(206: DeQ), 역이산여현변환기(208: IDCT), 가산기(210), 프레임 메모리(212), 적응예측부(214)로 구성된다. 버퍼(202)로 수신된 I 프레임의 비디오 데이터는 역다중화 및 가변장 복호기(204)에서 역다중화 및 가변장 복호화된 후 역양자화기(206)에서 역양자화되고, 역이산코사인변환기(208)에서 역이산코사인변환되어 가산기(210)를 거쳐 프레임 메모리(212)에 저장된다. 인터코딩된 P나 B프레임의 데이터는 예측에러는 I 프레임과 같이 역양자화기(206)와 역이산여현변환기(208)를 거쳐 가산기(210)로 전달되고, 수신된 움직임벡터(MV)에 의해 적응 예측부(214)에서 예측된 레퍼런스 블록과 가산되어 원래의 소스 데이터로 복원된다.
도 3은 본 발명의 실시예에 따른 GOP(Group Of Picture)의 구조로서, 하나의 GOP는 I, B1, B2, P, B1, B2, P, B1, B2, P, B1, B2로 이루어지는 12개의 픽쳐로 이루어진다. 여기서, I 픽쳐는 I 프레임이고, B1 및 B2 픽쳐는 B 프레임이며, P 픽쳐는 P 프레임이다. 그리고 I 혹은 P 프레임 사이에 2개의 B 프레임이 포함되는 것을 알 수 있다.
도 3을 참조하면, 본 발명의 실시예에서는 시계열상에 순차적으로 배열되는 GOP에서 이전 GOP에 이어 수신되는 현재 GOP의 첫번째 프레임인 I 프레임에서 에러가 발생된 경우 이전 GOP에서 현재 GOP의 I 프레임에 시간적으로 가장 가까운 B1이나 B2 프레임의 움직임벡터를 이용하여 이전 앵커 프레임(이전 GOP의 마지막 P프레임)의 해당 매크로블록을 I프레임으로 복사하여 에러를 은닉하는 것을 보여준다. 즉, 본 발명은 MPEG-2에 기반하여 움직임 정보를 가지고 있지 않은 I프레임에서의 슬라이스 에러를 처리하기 위한 것이다. 일반적인 코딩 스킴의 경우 I 프레임은 움직임 예측을 사용하지 않지만 H.263+와 MPEG-4의 경우 움직임을 예측할 수 있는 옵션이 설정되어 있다.
이와 같이 본 발명에 따라 I 프레임에서 발생된 에러를 은닉하는 방법은 도 4에 도시된 바와 같이, 현재 I프레임에서 에러를 검출하는 단계(S1)와, 인접 B프레임에서 대응 매크로블록을 찾는 단계(S2), 역방향 움직임 보상하는 단계(S3), 움직임벡터를 보정하는 단계(S4), 거리를 산출하는 단계(S5), 앵커 프레임에서 레퍼런스 매크로블록을 찾는 단계(S6), 산출된 거리만큼 보정하는 단계(S7), 앵커 프레임에서 I프레임으로 복사하여 에러를 은닉하는 단계(S8) 등으로 이루어진다.
도 4를 참조하면, 단계 S1에서는 인트라(I) 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출한다.
단계 S2에서는 도 5에 도시된 바와 같이, 이전 GOP의 인접 B 프레임에서 매크로블록 I(i,j)와 대응하는 B 프레임의 매크로블록 B(i,j)를 찾는다.
도 5를 참조하면, 현재 GOP의 I프레임과 이전 GOP의 마지막 P프레임 사이에는 B1, B2 2개의 B프레임이 있기 때문에 I 프레임의 I(i,j)에 대응하는 B1 프레임의 매크로블록과 B2 프레임의 매크로블록을 찾을 수 있다. 이와 같이 본 발명은 2개의 B 프레임중 어느 것이나 이용할 수 있지만 I 프레임에 시간적으로 보다 가까운 B2 프레임을 이용하는 것이 보다 효율적이다. 본 발명의 실시예에서는 이전 GOP의 마지막 프레임인 B2 프레임을 이용한다.
단계 S3에서는 도 6에 도시된 바와 같이, B 프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B 프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는다.
앞서 설명한 바와 같이 인코딩시 B 프레임은 B 프레임보다 앞선 P 프레임으로부터 순방향 움직임을 예측할 뿐만 아니라 앵커 프레임인 다음 GOP의 I 프레임으로부터도 역방향 움직임을 예측한다. 따라서 에러가 발생된 I프레임의 매크로블록 I(i,j)은 이전 프레임인 B 프레임의 동일한 위치의 매크로블록에서 역방향 움직임 벡터만큼 이동된 곳에 위치할 것이다. 이를 위해 B 프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 B 프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는다.
이와 같이 I(i,j)에 상응하는 위치의 매크로블록 B'(i,j)는 다음 수학식1과 같이 표현된다.
이어 단계 S4에서는 매크로블록 B'(i,j)를 포함하는 B 프레임의 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)를 보정하여 보정된 매크로블록 B"(i,j)를 구한다. 즉, 단계 S3에서 구한I(i,j)에 상응하는 위치의 매크로블록 B'(i,j)는 도 6에 도시된 바와 같이 주위의 4개 매크로블록 B(i-1,j-1), B(i,j-1), B(i-1,j), B(i,j)에 의하여 표현되기 때문에 이 4개의 매크로블록의 역방향 움직임 벡터를 구해 평균함으로써 세부 보정할 필요가 있다. 본 발명의 실시예에서는 4개의 매크로블록으로 표현되지만 역방향 움직임벡터값에 따라 매크로블록 B'(i,j)가 임의의 하나의 매크로 블록과 일치할 경우에는 하나의 매크로블록에 의해 표현될 수도 있다. 그리고 평균은 B'(i,j)가 포함된 정도에 따른 가중평균이나 메디안 등 다른 방법으로 구할 수도 있다.
이와 같이 세부 보정된 매크로블록 B"(i,j)는 다음 수학식 2와 같이 구해진다.
단계 S5에서는 보정된 매크로블록 B"(i,j)의 위치와 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구한다. 매크로블록 B'(i,j)를 포함하는 주위의 4개 매크로블록 B(i-1,j-1), B(i,j-1), B(i-1,j), B(i,j) 중에서 이전 P프레임에 대한 참조에 이용될 매크로 블록을 '베이스 매크로블록'이라 하고, 본 발명의 실시예에서는 B(i-1,j-1)를 베이스 매크로블록으로 한다. 따라서 베이스 매크로블록 B(i-1,j-1)와 보정된 매크로블록 B"(i,j)의 거리 d(m,n)을 다음 수학식 3과 같이 구한다.
단계 S6에서는 도 7에 도시된 바와 같이, 베이스 매크로블록에 대한 정보에서 순방향 움직임벡터 MVF(i,j)를 찾아 앵커 프레임의 레퍼런스 매크로블록 P(i,j)을 찾는다.
에러가 발생한 I(i,j)에 상응하는 B프레임의 매크로블록 B"(i,j)는 앵커 프레임의 매크로블록이 아니므로 앵커 프레임인 이전 GOP의 마지막 P프레임을 이용하여 위치를 파악해야 한다. 이는 B 프레임이 I 프레임과 더불어 사용되는 P프레임으로부터 순방향 움직임 예측값과 예측에러가 같이 인코딩되기 때문이다. 따라서 평균값만큼 이동된 매크로블록 B"(i,j)의 참조지점을 포함하고 있는 B 프레임의 매크로블록 B(i-1,j-1)의 순방향 움직임벡터 MVF(i-1,j-1)를 이용하여 바로 이전의 앵커 프레임인 P프레임에서 I(i,j)에 상응하는 매크로블록 P(i,j)를 찾아낸다.
이어 단계 S7에서는 앵커 프레임의 매크로블록 P(i,j)을 단계 S5에서 구한 거리 d(m,n)만큼 보정하여 보정된 매크로블록 P'(i,j)을 구하고, 단계 S8에서는 도 8에 도시된 바와 같이 보정된 매크로블록 P'(i,j)의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하여 I프레임의 매크로블록 I(i,j)에서 발생된 에러를 은닉한다.
이와 같이 에러가 발생된 I프레임의 매크로블록 I(i,j)를 P프레임의 매크로블록으로부터 에러은닉하는 것은 다음 수학식 4와 같이 표현된다.
상기 수학식 4에서와 같이 P프레임에 있는 B프레임으로부터 찾아진 매크로블록을 순방향 움직임 벡터만큼 이동하고 거리 d(m,n)만큼 다시 이동하여 매크로블록 I(i,j)에 상응하는 P프레임의 매크로블록 P'(i,j)을 찾은 후 이를 I프레임의 I(i,j) 위치로 복사한다.
이상에서 설명한 바와 같이, 본 발명에 따르면 움직임 정보를 가지고 있지 않은 I 프레임에서 에러가 발생된 경우 I 프레임에 인접한 이전 GOP의 B 프레임의 양방향 움직임 벡터를 이용하여 이전 앵커 프레임에서 I프레임의 에러발생 매크로블록에 상응하는 매크로블록을 I 프레임의 해당 위치로 복사하여 에러를 은닉함으로써 종래 공간적 에러 은닉방식에서의 흐려짐(blur) 현상을 막을 수 있고, 특히 연속적인 매크로블록(예컨대, 슬라이스)에서 에러가 발생할 경우에도 효과적으로 에러를 감출 수 있는 효과가 있다.

Claims (6)

  1. 삭제
  2. 시계열상에 연속되는 일련의 픽쳐그룹으로 이루어진 영상 프레임이 MPEG-2 부호화 방식으로 부호화되어 전송되는 비트스트림을 디코딩하면서 인트라 프레임에서 검출된 에러를 은닉하기 위한 방법에 있어서,
    현재 GOP의 인트라 프레임에서 에러가 발생된 매크로블록 I(i,j)을 검출하는 단계;
    이전 GOP의 인접 B프레임에서 매크로블록 I(i,j)와 대응하는 B프레임의 매크로블록 B(i,j)를 찾는 단계;
    상기 B프레임의 매크로블록 B(i,j)에 대한 정보에서 역방향 움직임벡터 MVB(i,j)를 찾아 상기 B프레임의 매크로블록 B(i,j) 위치로부터 역방향 움직임벡터만큼 이동된 위치의 매크로블록 B'(i,j)를 찾는 단계;
    상기 매크로블록 B'(i,j)를 포함하는 상기 B프레임의 매크로블록들에 대한 정보로부터 각각의 역방향 움직임벡터를 찾아 평균을 구해 매크로블록 B'(i,j)을 보정하여 보정된 매크로블록 B"(i,j)를 구하는 단계;
    상기 보정된 매크로블록 B"(i,j)와 상기 매크로블록 B'(i,j)를 포함하는 B프레임의 매크로블록들 중 베이스 매크블록과의 거리 d(m,n)를 구하는 단계;
    상기 베이스 매크로블록에 대한 정보에서 순방향 움직임벡터 MVF(i,j)를 찾아 이전 GOP의 P 프레임의 레퍼런스 매크로블록 P(i,j)을 찾는 단계;
    상기 이전 GOP의 P 프레임의 레퍼런스 매크로블록의 위치를 상기 거리만큼 보정하여 보정된 레퍼런스 매크로블록 P'(i,j)을 구하는 단계; 및
    상기 보정된 레퍼런스블록 P'(i,j)의 각 픽셀 데이터를 상기 에러가 발생된 매크로블록 I(i,j)의 픽셀 데이터로서 복사하는 단계를 포함하는 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.
  3. 삭제
  4. 제2항에 있어서, 상기 베이스 매크로블록은 상기 매크로블록 B'(i,j)를 포함하는 B 프레임의 4개의 매크로블록들 중에서 첫번째 매크로블록인 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.
  5. 삭제
  6. 제2항에 있어서, 상기 B 프레임은 현재 GOP의 I프레임과 이전 GOP의 P프레임 사이에 위치하는 이전 GOP의 B1 혹은 B2 프레임중 어느 하나인 것을 특징으로 하는 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법.
KR10-2002-0005414A 2002-01-30 2002-01-30 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법 KR100454526B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0005414A KR100454526B1 (ko) 2002-01-30 2002-01-30 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0005414A KR100454526B1 (ko) 2002-01-30 2002-01-30 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법

Publications (2)

Publication Number Publication Date
KR20030065694A KR20030065694A (ko) 2003-08-09
KR100454526B1 true KR100454526B1 (ko) 2004-11-05

Family

ID=32219933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0005414A KR100454526B1 (ko) 2002-01-30 2002-01-30 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법

Country Status (1)

Country Link
KR (1) KR100454526B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101044935B1 (ko) 2004-01-14 2011-06-28 삼성전자주식회사 전송 에러가 발생한 지점을 탐지하여 바르게 디코딩된데이터를 복원하는 디코딩 방법 및 그 디코딩 장치
KR100671871B1 (ko) * 2004-08-31 2007-01-19 중앙대학교 산학협력단 압축영역에서의 움직임 벡터 해석방법
KR101086435B1 (ko) 2007-03-29 2011-11-25 삼성전자주식회사 영상 데이터 스트림의 에러 검출 방법 및 그 장치
US9100636B2 (en) 2012-09-07 2015-08-04 Intel Corporation Motion and quality adaptive rolling intra refresh
KR102151975B1 (ko) * 2019-01-28 2020-09-04 건국대학교 산학협력단 양방향 영상 에러 은닉 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000050599A (ko) * 1999-01-12 2000-08-05 구자홍 오류 은폐방법
KR20010010753A (ko) * 1999-07-22 2001-02-15 구자홍 엠펙­2 압축복원시스템에서의 오류 은폐방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000050599A (ko) * 1999-01-12 2000-08-05 구자홍 오류 은폐방법
KR20010010753A (ko) * 1999-07-22 2001-02-15 구자홍 엠펙­2 압축복원시스템에서의 오류 은폐방법

Also Published As

Publication number Publication date
KR20030065694A (ko) 2003-08-09

Similar Documents

Publication Publication Date Title
US7929608B2 (en) Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder
US6744924B1 (en) Error concealment in a video signal
US20060002466A1 (en) Prediction encoder/decoder and prediction encoding/decoding method
WO2007091601A1 (ja) 符号化装置、符号化方法およびプログラム
KR100827091B1 (ko) 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
JP3519441B2 (ja) 動画像伝送装置
KR100454526B1 (ko) 시공간적 정보를 이용한 인트라 프레임의 에러 은닉방법
KR100364748B1 (ko) 영상 변환 부호화 장치
KR20090064375A (ko) 각 그룹이 인트라 인코딩된 픽처와 둘 이상의 예측 인코딩된 픽처를 포함하는, 비디오 시퀀스의 픽처들의 그룹들을 인코딩하기 위한 방법 및 장치
JP4004597B2 (ja) 映像信号のエラー隠ぺい装置
JP3599942B2 (ja) 動画像符号化方法、及び動画像符号化装置
Tsai et al. H. 264 error resilience coding based on multi-hypothesis motion-compensated prediction
KR20070090494A (ko) 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치 및방법
KR100689216B1 (ko) 서브블록을 이용한 인트라 프레임의 시간적인 오류은닉방법
JP4570081B2 (ja) 動画像エラー隠蔽方法および装置
JP4485409B2 (ja) 動画像復号装置
KR100238087B1 (ko) 인트라블록 삽입방법 및 이를 이용한 동영상부호화장치
KR100590328B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
KR100312418B1 (ko) 동영상부호화장치에서인트라모드부호화선택방법
KR100557118B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
Hui et al. An efficient error concealment algorithm for intra-frames of H. 264
KR100827094B1 (ko) 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
KR100632106B1 (ko) 디지털 비월주사 인터픽쳐 부호화/복호화 방법
JP3590976B2 (ja) 動画像圧縮装置
KR20050089457A (ko) 동영상 복호화 시 에러 은닉 방법

Legal Events

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

Payment date: 20080416

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee