KR100513014B1 - 비디오 코딩 시스템 및 비디오 코딩 방법 - Google Patents

비디오 코딩 시스템 및 비디오 코딩 방법 Download PDF

Info

Publication number
KR100513014B1
KR100513014B1 KR10-2003-0032664A KR20030032664A KR100513014B1 KR 100513014 B1 KR100513014 B1 KR 100513014B1 KR 20030032664 A KR20030032664 A KR 20030032664A KR 100513014 B1 KR100513014 B1 KR 100513014B1
Authority
KR
South Korea
Prior art keywords
error
video
data
information
video encoder
Prior art date
Application number
KR10-2003-0032664A
Other languages
English (en)
Other versions
KR20040100359A (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-2003-0032664A priority Critical patent/KR100513014B1/ko
Priority to US10/849,864 priority patent/US20040258163A1/en
Publication of KR20040100359A publication Critical patent/KR20040100359A/ko
Application granted granted Critical
Publication of KR100513014B1 publication Critical patent/KR100513014B1/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/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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/124Quantisation
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/90Methods 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/91Entropy 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

본 발명에 따른 비디오 통신 시스템은, 비디오 인코더와 비디오 디코더 간에 양방향으로 신호를 송수신하는 비디오 통신 시스템에 있어서, 데이터 숨김(data hiding) 기법을 이용하여 비디오 디코더에 에러 정보를 삽입하여 전송하는 데이터 숨김 처리부와, 비디오 디코더로부터 제공된 에러 정보를 참조하여 에러 은닉(error concealment)을 수행하는 제 1 에러 은닉 처리부를 구비하는 비디오 인코더와; 에러가 발생된 프레임의 정보를 추출하여 그 추출된 프레임 정보를 비디오 인코더에 제공하며, 비디오 인코더로부터 제공되는 숨김 데이터를 추출하는 데이터 추출부와, 데이터 추출부로부터 제공되는 숨김 데이터를 참조하여 에러 은닉을 수행하는 제 2 에러 은닉 처리부를 구비하는 비디오 디코더; 를 포함한다.
여기서 본 발명에 의하면, 비디오 인코더의 데이터 숨김 처리부에서 데이터 숨김 기법을 이용하여 비디오 디코더에 전송하는 에러 정보는, 인코딩되는 영상에 삽입되어 전송된다.
또한 본 발명에 의하면, 비디오 인코더의 데이터 숨김 처리부에서 데이터 숨김 기법을 이용하여 비디오 디코더에 삽입하여 전송하는 에러 정보는, 비디오 인코더에서 에러 은닉을 수행하는 경우에 있어 인코딩되는 프레임의 참조 프레임 번호이다.

Description

비디오 코딩 시스템 및 비디오 코딩 방법{Video communication system and video coding method}
본 발명은 비디오 통신 시스템에 관한 것으로서, 특히 네트웍 환경의 전송 과정에 발생되는 비디오 데이터의 손상 또는 소실을 방지하고, 발생된 에러의 전파를 방지할 수 있는 비디오 통신 시스템 및 비디오 코딩 방법에 관한 것이다.
일반적으로, 비디오 통신 시스템에서는 도 1에 나타낸 바와 같은 과정을 통하여 비디오 코딩이 수행된다. 비디오는 비트율(bit rate)을 낮추기 위해 인코더(encoder)에서 압축된다. 그리고, 압축된 비트 스트림(bit-stream)은 고정 혹은 가변 세그먼트 패킷(Segment Packet)으로 분할되어 오디오와 같은 다른 데이터들과 다중화(multiplexing) 처리된다.
여기서, 만약 네트웍이 에러가 전혀 없는 환경으로 보장된다면 패킷은 곧바로 네트웍으로 보내진다. 그러나 그러한 환경이 보장되지 않는다면, 패킷들은 전송 에러로부터 보호하기 위하여 전형적인 순방향 오류 수정(FEC: Forward Error Correction)을 이용한 채널 코딩(channel coding) 단계를 거치게 된다.
한편, 수신단(비디오 디코더)에서는 수신된 패킷들이 FEC 디코딩(decoding) 되고 패킷을 푸는 과정(unpacketizing)이 수행된다. 그리고, 비트 스트림(bit-stream)은 비디오 디코더(video decoder)로 보내져 원 영상을 복원하게 된다. 또한, 실제 많은 응용에서는 네트웍에 적응층(adaptation layer)으로서 소스 코더(source coder) 내에 패킷화(packetization) 처리부와 채널 코딩(channel coding) 처리부가 내장되어 있다.
실제 네트웍 환경에서, 네트웍은 전송에러 무비트(bit error free transmission)를 보장하지 못하기 때문에 채널 인코딩(Channel encoding)의 필요성이 요구되며, 이러한 전송에러로부터 보호하기 위해 전형적으로 FEC를 사용한다. 네트웍이 QOS(Quality of Service)를 보장하지 못하는 경우에는, 데이터 패킷이 전송 정체(traffic congestion) 때문에 소실되거나 손상되며 또한 물리적인 채널(physical channels)의 손상 때문에 비트 에러(bit error)가 발생한다.
인터넷이나 무선환경에서는 자동 재전송 요구(ARQ: Automatic Repeat Request)를 이용한 재전송 방법 등을 이용함으로써 데이터 패킷의 무에러 전달(error-free delivery)을 수행할 수 있다. 그러나, 실시간 응용(application)에서 재전송요구 방법은 지연(delay) 때문에 적합하지 않다. 심지어 방송과 같은 응용(application)에서는 네트웍 범람 때문에 재전송요구 방법을 전혀 사용하지 않고 있다. 따라서, 전송에러에 강한 압축 비트 스트림(bit stream)을 만드는 코덱(codec)의 설계가 매우 중요하다.
에러 제어에는 다음과 같은 몇 가지 흥미로운 점이 있다.
첫 째, 압축 비디오 스트림은 전송 에러에 매우 민감하다. 그 이유는, 예측 부호화와 가변장 부호화(VLC)의 시공간 예측기법을 사용함으로써 하나의 잘못 복원된 샘플은 연속된 샘플들에 에러를 전파하기 때문이다. 이와 같은 에러 전파의 예를 도 2에 나타내었다. 도 2에 나타낸 바와 같이, 발생된 에러가 이후 프레임에 영향을 미침을 알 수 있으며, 또한 비트 에러율(BER: Bit Error Rate)에 따라 이후 프레임에 미치는 영향이 상이함을 알 수 있다. 가변장 부호화(VLC)의 사용 때문에, 하나의 비트 에러(bit error)에서 동기(synchronization)를 잃을 수도 있으며, 따라서 정확히 수신된 비트들도 무용지물이 되게 된다.
둘 째, 비디오 소스와 네트웍 환경은 전형적으로 시간에 따라 변화된다 (time-varying). 따라서, 소스와 네트웍의 통계적인 모델에 기반한 최적의 해결 방안(optimal solution)을 이끌어 내는 것이 거의 불가능하다.
마지막으로, 비디오 소스는 고 데이터율(high data rate)을 갖는다. 따라서 코덱(codec) 연산은 지나치게 복잡해서는 안되며, 특히 실시간 응용(application)의 경우는 더욱 조심스럽게 설계 되어야 한다.
한편, 전송에러에 강한 압축 비트 스트림(bit stream)을 만들기 위한 방법들을 간단히 소개 하면 다음과 같다.
먼저, 소스 또는 채널에서 스트림(stream)에 리던던시(redundancy)를 추가하는 방법이다. 'Classical Shannon information' 이론에서는 소스와 채널을 분리하여 디자인하고, 소스에서 최적화된 압축을 하고 채널에서는 네트웍에 최적화된 채널코딩을 하면 무에러 전달(error-free delivery)을 구현할 수 있다고 소개했다. 그러나 이 이론은 무한 지연을 허용할 경우에만 가능하기 때문에 실질적으로 사용하기 어렵다.
이와 같은 이유 때문에 'joint source and channel' 코딩이 보다 실행 가능하다. 'Joint source and channel coding'에서는 채널과 소스 코덱(codec) 전체 리던던시(redundancy)를 할당한다. 거의 모든 에러 복원 인코딩(error resilient encoding) 방법들은 이러한 전제 하에서 적용되며, 또한 의도적으로 가능한 소스 코덱(codec)을 비효율적으로 설계하고 채널 인코딩 리던던시(encoding redundancy)를 많이 부여함으로써 에러 지연 길이를 제한한다.
전송에러 때문에 블록이 손상 되었을 때 디코더(decoder)가 시공간의 인접한 블록들의 고유 관계를 이용해서 손상된 블록을 은닉 하거나 은폐하는 것을 '에러 은닉(Error concealment)'이라 한다. 손상된 블록의 시공간 상에서 인접한 블록들을 이용하여 손상되거나 손실된 블록을 복원하는 이유는 소스 인코딩(encoding)에서 시공간의 예측 부호화 방법을 이용하기 때문이다. 소스 인코딩(encoding)에서 추가적인 비트(bit)는 필요 없지만 디코더에서 계산량의 증가가 발생한다.
위에서 설명한 전송에러는 랜덤 비트 에러(random bit error)와 손실 에러(erasure error)로 분류할 수 있다. 여기서, 랜덤 비트 에러(Random bit error)는 인코딩 된 스트림(stream)의 중간중간에 비트(bit)가 잘못 전송되는 경우이고, 손실 에러(erasure error)는 비트 스트림(bit-stream)이 제대로 전송되지 못하고 전송되는 중간에 정보가 손실된 경우를 말한다.
이러한 전송에러(transmission error)에 대해 대응하는 기법에는 크게 두 가지가 있다. 하나는 'Traditional error control and recovery scheme'으로 손실 없는 복원(lossless recovery)에 초점을 맞추는 방법(FEC, ECC, ARQ)이다. 그리고, 다른 하나는 'Signal-reconstruction and error-concealment technique'으로 원 신호(original signal)와 거의 비슷하게 근사(approximation) 시키거나 디코더 (decoder)의 출력 신호(output signal)가 사람의 눈으로 보기에 원 신호와 비슷하게 하는 기술이다.
각 기법들을 인코더와 디코더로 분류해서 3 가지 기법으로 다시 볼 수 있는데, 첫 째, 소스와 채널 인코더(encoder)에서 하는 방법으로, 잠재적인 에러보다 강한 비트 스트림(bit-stream)을 만드는 방법이다. 둘 째는 에러 검출에 기반 하여 디코더(decoder)에서 수행하는 방법이다. 이 방법은 에러를 은폐하거나 은닉한다. 셋 째는 소스 인코더(encoder)와 디코더(decoder)에서 하는 방법이다. 디코더에서 검출된 에러 정보를 피드백(feedback) 채널을 이용하여 인코더(encoder)에 전달하고 인코더(encoder)는 이러한 정보에 기반 하여 에러 복원 인코딩(error resilience encoding)을 수행한다.
하지만, 이상에서 설명된 에러 복원 방법과 에러 은닉 방법을 각각 이용하는 방법만으로는 발생된 에러를 모두 제거 시킬 수 없는 단점을 가지고 있다.
본 발명은, 네트웍 환경의 전송 과정에 발생되는 비디오 데이터의 손상 또는 소실을 방지하고, 발생된 에러의 전파를 방지할 수 있는 비디오 통신 시스템 및 비디오 코딩 방법을 제공함에 그 목적이 있다.
상기의 목적을 달성하기 위하여 본 발명에 따른 비디오 통신 시스템은, 비디오 인코더와 비디오 디코더 간에 양방향으로 신호를 송수신하는 비디오 통신 시스템에 있어서,
데이터 숨김(data hiding) 기법을 이용하여 상기 비디오 디코더에 에러 정보를 삽입하여 전송하는 데이터 숨김 처리부와, 상기 비디오 디코더로부터 제공된 에러 정보를 참조하여 에러 은닉(error concealment)을 수행하는 제 1 에러 은닉 처리부를 구비하는 비디오 인코더와;
에러가 발생된 프레임의 정보를 추출하여 그 추출된 프레임 정보를 상기 비디오 인코더에 제공하며, 상기 비디오 인코더로부터 제공되는 숨김 데이터를 추출하는 데이터 추출부와, 상기 데이터 추출부로부터 제공되는 숨김 데이터를 참조하여 에러 은닉(error concealment)을 수행하는 제 2 에러 은닉 처리부를 구비하는 비디오 디코더; 를 포함하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 비디오 인코더의 데이터 숨김 처리부에서 데이터 숨김 기법을 이용하여 상기 비디오 디코더에 전송하는 에러 정보는, 인코딩되는 영상에 삽입되어 전송되는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 비디오 인코더의 데이터 숨김 처리부에서 데이터 숨김 기법을 이용하여 상기 비디오 디코더에 삽입하여 전송하는 에러 정보는, 상기 비디오 인코더에서 에러 은닉을 수행하는 경우에 있어 인코딩되는 프레임의 참조 프레임 번호인 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 비디오 디코더의 데이터 추출부에서 에러가 발생된 프레임의 정보를 추출하여 상기 비디오 인코더에 제공함에 있어, 상기 추출되는 프레임 정보는 각 GOB(Group Of Block)에서 에러가 발생되었는지의 여부를 나타내는 정보인 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 비디오 인코더에서 데이터 숨김을 수행함에 있어, 인코딩되는 영상에 대한 양자화 파라메터 및/또는 DCT가 수행되는 블록 내의 레벨 값(DCT 계수를 양자화 파라메타로 나눈 값)을 이용하여 데이터 숨김을 수행하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 제 1 및 제 2 에러 은닉 처리부에서 에러 은닉을 수행함에 있어, 에러가 발생된 블록에 대하여 주위 블록의 움직임 벡터의 평균값을 구하고, 참조 프레임에 대한 움직임 보상을 통하여 에러 은닉을 수행하는 점에 그 특징이 있다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 비디오 디코더는,
비디오 인코더로부터 전송되는, 압축된 비디오 스트림을 수신하고 가변장 디코딩을 수행하는 VLD 처리부와;
상기 VLD 처리부에서의 가변장 디코딩된 스트림에서, 상기 비디오 인코더로부터 데이터 숨김 기법을 통하여 전송되는 숨김 데이터를 추출하며, 에러가 발생된 프레임의 정보를 추출하여 그 추출된 프레임 정보를 상기 비디오 인코더에 제공하는 데이터 추출부; 및
상기 데이터 추출부에서 추출된 숨김 데이터를 참조하여 에러 은닉(error concealment)을 수행하는 에러 은닉 처리부; 를 포함하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 데이터 추출부는 역양자화 과정에서 숨김 데이터를 추출하며, 상기 추출되는 숨김 데이터는 상기 비디오 인코더에서의 인코딩되는 과정에서 양자화 파라메터 및/또는 DCT가 수행되는 블록 내의 레벨 값(DCT 계수를 양자화 파라메타로 나눈 값)을 이용하여 데이터 숨김이 수행되는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 데이터 추출부에서 추출되는 숨김 데이터는, 상기 비디오 인코더에서 에러 은닉을 수행하는 경우에 있어 인코딩되는 프레임의 참조 프레임 번호인 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 데이터 추출부에서 에러가 발생된 프레임의 정보를 추출하여 상기 비디오 인코더에 제공함에 있어, 상기 추출되는 프레임 정보는 각 GOB(Group Of Block)에서 에러가 발생되었는지의 여부를 나타내는 정보인 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 에러 은닉 처리부에서 에러 은닉을 수행함에 있어, 에러가 발생된 블록에 대하여 주위 블록의 움직임 벡터의 평균값을 구하고, 참조 프레임에 대한 움직임 보상을 통하여 에러 은닉을 수행하는 점에 그 특징이 있다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 비디오 코딩 방법은,
비디오 디코더에서 디코딩시 에러가 발생되는 프레임의 정보를 추출하는 단계와;
상기 비디오 디코더는 상기 추출된 프레임 정보를 비디오 인코더에 제공하는 단계와;
상기 비디오 인코더는, 상기 비디오 디코더로부터 제공된 에러 정보를 참조하여 에러 은닉(error concealment)을 수행하고, 에러 은닉시 이용된 참조 프레임을 데이터 숨김(data hiding) 기법을 이용하여 상기 비디오 디코더에 삽입 전송하는 단계; 및
상기 비디오 디코더는, 상기 비디오 인코더로부터 전송되는 숨김 데이터를 추출하고, 그 추출된 숨김 데이터를 이용하여 인코딩될 프레임의 참조 프레임을 수정하고 에러 은닉을 수행하는 단계를 포함하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 비디오 디코더에서 추출된 프레임 정보는 각 GOB(Group Of Block)에서 에러가 발생되었는지의 여부를 나타내는 정보인 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 비디오 인코더에서 데이터 숨김을 수행함에 있어, 인코딩되는 영상에 대한 양자화 파라메터 및/또는 DCT가 수행되는 블록 내의 레벨 값(DCT 계수를 양자화 파라메타로 나눈 값)을 이용하여 데이터 숨김을 수행하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 비디오 인코더 및 비디오 디코더에서 에러 은닉을 수행함에 있어, 에러가 발생된 블록에 대하여 주위 블록의 움직임 벡터의 평균값을 구하고, 참조 프레임에 대한 움직임 보상을 통하여 에러 은닉을 수행하는 점에 그 특징이 있다.
이와 같은 본 발명에 의하면, 네트웍 환경에서 전송된 비디오 데이터의 손상 또는 소실이 발생하였을 경우에 나타나는 화질 저하와, 이러한 에러 영상의 연속된 다음 프레임들의 전파를 막아 사용자에게 좋은 품질의 영상 데이터를 제공할 수 있는 장점이 있다.
본 발명은 네트웍 환경에서 채널 에러 때문에 발생되는 비디오 데이터의 손상 또는 소실을 방지하고자 하는 것으로서, 데이터 숨김(Data Hiding) 기법을 이용하여 발생된 에러정보를 상대편에 전송함으로써, 상대편에서 수신된 에러정보를 기반으로 하여 에러전파를 막을 수 있도록 비디오 데이터를 인코딩하는 방안을 제시하고자 한다.
에러 복원(Error Resilience) 방법 중에서 몇 가지 방법은 표준으로 명시되어 있지만 현재 본 발명에서 제안하는 방법은 표준에 종속되지 않는 방법이다. 그리고, 본 발명에서 사용한 데이터 숨김(Data Hiding) 기법은 에러 정보를 압축 영역의 비디오 데이터에 삽입하는 방법에 관한 것으로서 실제 비디오 데이터의 화질의 저하는 없으며 또한 데이터 양도 줄어들게 된다. 또한, 데이터 숨김(Data Hiding)을 구현하는 일부 방법들은 숨김이 수행된 정보를 추출하기 위해서 인코딩하기 이전의 원본 영상이 필요한 경우가 있지만 본 발명에서 제안한 방법은 원본 영상이 필요 없는 방법이다. 본 발명에 채용된 데이터 숨김 기법에 대해서는 뒤에서 다시 부연하여 설명하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명한다.
먼저, 기존의 에러 발생에 대한 대처 방법들에 관련하여 두 가지로 분류하여 간단하게 살펴보기로 한다.
첫 째, 에러 복원(Error Resilience) 방법들의 경우는 인코더에서 에러에 강인하도록 인코딩 하는 방법으로서 채널 에러가 발생한 경우 해당 프레임에서 에러가 최소한으로 전파되도록 하는 것이다. 그러나 에러가 발생된 부분에 대한 복원은 수행하지 않기 때문에 에러가 발생된 부분의 화질저하가 발생되며, 또한 손상된 영상은 다음 프레임으로 전파되어 영향을 미친다. 여기서 손상된 영상이 전파되는 가장 큰 이유는 대부분의 영상 압축 방법들이 움직임 벡터 기반의 압축방식을 사용하고 있기 때문이다.
두 번째, 에러 은닉(Error Concealment)의 경우는 에러에 의해 손상된 부분을 디코더에서 복원하는 방법이다. 이와 같이 디코더에서 에러에 의한 영상을 복원하기 위한 방법은 주로 이전 프레임의 같은 위치에 있는 데이터를 복사하거나 또는 에러가 발생된 블록의 주위 블록 들의 움직임 벡터 등을 이용하여 복원하는 방법이다. 그러나 이러한 에러 은닉(Error Concealment) 방법은 정확하게 손상된 블록들의 영상 데이터를 복원하기 어렵고 특히 움직임이 큰 경우에는 복원된 블록의 예측 에러가 더욱 커지게 된다. 또한 이렇게 정확하지 않게 복원된 블록의 영상 데이터는 다음 프레임에 전파되어 영상 화질의 저하는 더욱 커지게 된다.
위에서 살펴본 것과 같이, 에러 환경에서 사용자에게 좋은 화질의 영상 데이터를 제공하기 위해서는 첫 째, 발생한 에러의 해당 프레임에서 최소한으로 전파되도록 하고, 둘 째, 에러가 발생한 블록의 영상데이터를 보다 정확하게 복원해야 하고, 마지막으로 손상된 영상 데이터가 다음 프레임으로 전파되는 것을 방지해야 한다.
따라서 본 발명에서는 첫 번째, 발생한 에러가 해당 프레임에서 최소한으로 전파되도록 하기 위해서 기존 표준에 있는 방법들을 적용하였고, 두 번째로 에러가 발생한 블록의 영상 데이터를 복원하기 위해서는 주위 블록들의 움직임 벡터를 이용하여 복원하였으며, 마지막으로 에러 영상이 다음 프레임으로 전파되는 것을 막기 위해서 데이터 숨김(Data Hiding)을 이용한 에러 정보 전송과 비디오 인코더에서의 에러 은닉(Error Concealment) 방법을 적용하였다.
그러면, 도 3을 참조하여 본 발명에 따른 비디오 통신 시스템에서의 비디오 코딩 과정을 설명해 보기로 한다. 도 3은 본 발명에 따른 비디오 통신 시스템에서의 비디오 코딩 과정을 개략적으로 나타낸 도면이다.
먼저, 본 발명에 따른 비디오 통신 시스템에서의 비디오 코딩 과정을 설명하기 이전에 종래 비디오 통신 시스템에서의 비디오 코딩 과정을 간략하게 설명하면 다음과 같다.
즉, 종래 비디오 통신 시스템에서의 비디오 코딩 과정은, 입력된 비디오에 대하여 움직임 보상(motion compensation)과 움직임 예측(motion estimation)을 통해 움직임 벡터(motion vector)를 추출하고, 그 차 영상에 대해서는 DCT와 양자화 과정을 수행한다. 양자화를 수행한 데이터를 데이터 압축을 좀 더 효율적으로 하기 위해 가변장 부호화(VLC)를 수행한다. 그리고 역 양자화와 역 DCT(IDCT)를 수행한 것과 이전 영상을 합해 기존 영상으로 복원하고 그 영상을 가지고 또 다음 영상의 차 영상을 구한다. 이러한 방식으로 비디오 데이터 압축이 이루어진다.
그런데, 본 발명에 따른 비디오 통신 시스템에서는, 도 3에 나타낸 바와 같이, 비디오 인코더에서 데이터 숨김(Data Hiding) 기법을 이용한 에러 정보 전송이 수행되며, 또한 비디오 인코더에서 에러 은닉(Error Concealment)이 수행된다. 이를 위하여 비디오 디코더에서는 에러가 발생된 프레임으로부터 데이터를 추출하고, 그 추출된 프레임 정보를 비디오 인코더에 제공하며 비디오 디코더 자체적으로 에러 은닉도 수행하게 된다.
이와 같이, 본 발명에 따른 비디오 통신 시스템에서 에러 복원(Error Resilience)이 수행되는 과정을 설명하면 다음과 같다.
디코딩 과정에서 에러가 발생되는 경우 비디오 디코더의 에러 검출부에서는 에러를 검출하게 되며, 에러가 발생된 블록의 영상 데이터를 복원하기 위해 비디오 디코더의 에러 은닉 처리부에서 에러 은닉을 수행한다. 이때, 에러가 발생된 블록의 주위 블록(위와 아래 블록)의 움직임 벡터의 평균 값을 이용하여 참조 프레임에 대해 움직임 보상을 수행하여 에러 은닉을 수행한다. 또한, 비디오 디코더에서는 에러 은닉을 수행하고 에러가 발생된 정보(각 GOB에 에러가 발생 했는가에 대한 정보)와 현재 에러가 발생된 프레임의 번호를 같이 비디오 인코더에 제공한다.
이에 따라, 에러 정보와 에러가 발생한 프레임 번호 정보를 제공받은 비디오 인코더에서는, 데이터 숨김(data hiding) 기법을 이용하여 삽입할 정보를 비트 스트림(bitstream)으로 만들고 각 블록의 QP(Qunaization Parameter)를 수정하여 1 비트를 삽입하여 상대방에 전송한다. 이와 같은 데이터 숨김 기법에 대해서는 뒤에서 다시 설명하기로 한다.
이때, 삽입된 정보를 제공 받은 비디오 디코더의 숨김 데이터 추출부에서는 역 양자화 과정에서 숨겨진 데이터를 추출하게 된다. 그리고, 숨김 데이터 추출부는 각 블록의 QP 값에서 1 비트의 데이터를 뽑아 삽입된 데이터에 대한 비트 스트림을 구성하여 에러 정보와 에러가 발생한 프레임 번호를 데이터 구분 처리부에 전송한다.
이에 따라 데이터 구분 처리부에서는, 숨김 데이터 추출부로부터 수신된 정보가 에러 정보와 에러 발생 프레임 번호인 경우에 비디오 인코더의 참조 프레임 제공부와 에러 은닉 처리부에 전달한다. 에러가 발생한 프레임 번호를 전달 받은 비디오 인코더의 참조 프레임 제공부는 비디오 인코더의 버퍼에서 에러 발생 프레임 번호에 해당 하는 프레임을 가져와서 비디오 인코더의 에러 은닉 처리부에 전달한다.
그러면, 비디오 인코더의 에러 은닉 처리부에서는 참조 프레임 제공부로부터 전달 받은 에러 발생 프레임과 비디오 디코더의 데이터 구분 처리부로부터 수신된 에러 정보를 이용하여 에러가 발생된 프레임에 대해 디코더와 같은 방법(위와 아래 블록의 움직임벡터의 평균 값을 이용하여 참조 프레임에 대해 움직임 보상을 수행한 복원)으로 에러 은닉을 수행한다.
이와 같은 과정을 통하여 에러 은닉이 수행된 프레임은 현재 인코딩하고자 하는 프레임의 참조 프레임이 되며, 수정된 참조 프레임 정보는 비디오 인코더의 데이터 숨김 처리부로 보내지게 된다. 그리고, 비디오 인코더의 데이터 숨김 처리부에서는 현재 인코딩하는 프레임에 데이터 숨김 기법을 이용하여 참조 프레임 정보를 삽입하고, 그 삽입된 참조 프레임 정보를 에러 정보를 보낸 상대방(비디오 디코더)에 전송한다. 이때, 비디오 인코더에서 수행되는 데이터 숨김은 양자화 과정에서 처리된다.
처음 에러 정보를 보냈던 비디오 디코더의 데이터 추출부에서는 역양자화 과정에서 삽입된 참조 프레임 정보를 추출하고, 추출된 참조 프레임 번호를 데이터 구분 처리부에 보내며, 상기 데이터 구분 처리부는 참조 프레임 번호를 비디오 디코더의 참조 프레임 제공부에 보낸다. 참조 프레임 번호를 받은 참조 프레임 제공부는 수신된 참조 프레임에 해당되는 프레임을 현재 디코딩하고자 하는 프레임의 참조 프레임으로 설정하고, 이후 이어지는 영상에 대한 디코딩을 수행하게 된다.
이와 같이, 비디오 디코더와 비디오 인코더 간에 에러 정보를 공유하고 상호 에러 은닉을 수행함으로서, 에러가 발생된 영상을 정상적으로 복원할 수 있으며, 발생된 에러가 이어지는 프레임에 영향을 미치는 것을 효과적으로 방지할 수 있게 된다.
이와 같은 비디오 코딩 방법이 채용된 응용의 한 예를 도 4에 나타내었다.
도 4에 나타낸 바와 같이, 비디오 인코더와 비디오 디코더를 모두 탑재한 두 개의 단말기가 상호 통신을 할 때, 먼저 각각의 비디오 인코더는 해당 프레임을 인코딩하여 영상 26 및 영상 27과 같이 인코딩하여 상대방에게 전송하며, 전송된 영상 데이터는 각각의 비디오 디코더에 의해서 복원된다.
그러나, 예컨대 영상 29에서 인코딩하여 전송한 영상 데이터가 에러에 의해 손상된 경우 영상 30과 같이 에러 은닉을 수행하여 손상된 블록의 영상을 복원한다. 그리고 손상된 블록의 GOB의 번호(에러 위치 정보)를 영상 31과 같이 인코딩하고자 하는 영상에 삽입(데이터 숨김)하여 전송한다. 이에 따라, 영상 33과 같이 수신된 영상에서 에러 위치 정보를 추출하여 영상 34와 같이 비디오 인코더에서 에러 은닉을 수행하고 영상 36과 같이 현재 인코딩하고자 하는 프레임의 참조 프레임을 영상 34로 선택하여 인코딩한다. 그리고 영상 36과 같이 인코딩되는 영상에 참조 프레임 번호를 삽입하여 전송한다. 영상 37과 같이 수신된 영상에서 수정된 참조 프레임 번호를 추출하여 참조 프레임을 영상 30으로 선택하여 디코딩한다.
이상의 설명에서와 같이, 본 발명에 의하면 에러가 발생하는 네트웍 환경에서 에러에 강인한 영상 데이터를 전송하여 사용자에게 좋은 품질의 영상을 제공하기 때문에 영상 전화와 같은 응용의 활성화를 가져올 수 있으며, 이러한 활성화는 컨텐츠의 산업의 육성과 기간 산업에 활성화를 촉진할 수 있을 것으로 기대된다.
이제, 본 발명에서 적용되는 데이터 숨김 기법에 대하여 부연하여 살펴 보기로 한다.
데이터 숨김 기법이라는 것은 디지털 멀티미디어에 원하는 정보를 숨겼다가 필요할 때 숨겨진 정보를 추출하는 기술이다. 데이터를 숨기는 기술로는 크게 숨긴 정보를 추출하기 위해 원본이 필요한 기술과 원본이 필요 없는 기술로 나눌 수 있다. 본 발명에서는 사용할 데이터 숨김 방법으로서 원본 데이터를 필요로 하지 않는 방법을 이용하고자 한다.
본 발명에서의 데이터 숨김은 비디오 압축 시 수행된다. 데이터의 숨김은 입력 영상을 압축할 때 데이터 압축 시 이용되는 파라메터나 입력 영상에 의존적인 값을 변형하여 수행할 수 있다. 비디오 압축을 수행할 때 데이터 숨김을 할 수 있으려면, 데이터 숨김을 하여 원래 파라메터나 원본 데이터가 변형되더라도 화질이나 압축되는 데이터 양에 큰 영향을 미치지 않는 부분이어야 한다. 그러한 값으로는 양자화 파라메터(QP)와, DCT 계수를 양자화 파라메터로 나눈 'level' 값이 있다.
양자화 파라메터를 이용하여 데이터 숨김을 수행하는 것에 대하여 도 5에 나타내었다. 도 5는 본 발명에 따른 비디오 코딩 방법에 의하여, 양자화 파라메터를 이용하여 데이터 숨김이 수행되는 과정을 설명하기 위한 도면이다.
알려진 바와 같이, 인코딩되는 데이터 양을 조절하는 것이 양자화 파라메터이다. 양자화 파라메터는 입력 영상이나 입력 영상의 차분치를 DCT한 계수 값을 나눠주는 파라메터이다. 양자화 파라메터가 커지면 DCT 계수를 나눠주는 값이 커지기 때문에 인코딩되는 데이터양이 줄어들고 양자화 파라메터가 줄어들면 DCT계수를 나눠주는 값이 작아지기 때문에 인코딩되는 데이터양이 늘어난다.
그리고, 네트웍을 통해 비디오 동영상을 주고 받을 때 네트웍의 대역폭에 맞게 데이터를 압축하게 된다. 네트웍의 대역폭이 넓으면 통신할 수 있는 데이터 양이 많기 때문에 인코딩되는 양은 많아지고 화질은 좋아지게 된다. 반대로 네트웍의 대역폭이 좁으면 통신할 수 있는 데이터 양이 적기 때문에 인코딩되는 양은 적어지고 화질은 나빠지게 된다. 위와 같이 네트웍 상황을 보고 인코딩되는 데이터 양을 양자화 파라메터를 이용하여 조절하게 되는데 이때 데이터 숨김을 하게 된다.
도 5에 나타낸 바와 같이, 입력 영상이나 입력 영상의 차분치 영상에 대하여 DCT를 한 후 네트웍의 대역폭을 고려하여 적절한 양자화 파라메터를 설정한다. 양자화 파라메터는 매크로블록 헤더로 들어가 압축한 영상을 디코딩 할 때 사용하게 된다. 이때 실제 양자화 파라메터를 이용하여 양자화하기 전에 데이터 숨김을 수행하게 된다. 여기서 데이터 숨김은 다음과 같이 수행할 수 있다.
QP_new %2 == Hide bit[k]
QP_new 변동 없음
QP_new %2 != Hide bit[k]
QP_new = QP_new + 1 ;
Hide bit[k] : 숨길 데이터의 비트 스트림
위와 같이 데이터 숨김을 하게 되면 디코더에서 압축된 데이터를 디코딩 하면서 양자화 파라미터의 값을 보고 숨겨진 데이터를 추출할 수 있게 된다. 디코더에서 양자화 파라메터가 짝수이면 숨겨진 데이터는 '0'이 되고 양자화 파라메터가 홀수이면 숨겨진 데이터는 '1'이 되는 것이다.
이때, 데이터 숨김을 위해 인코더에서는 양자화 파라메터를 약간 변경하게 된다. 즉, 숨길 데이터와 양자화 파라메터가 2로 나눴을 때 나머지가 같지 않다면 양자화 파라메터 값을 1만큼 증가시켜 2로 나눴을 때 나머지를 같게 해준다. 이렇게 되면 DCT 계수를 나눠주는 값이 커지기 때문에 인코딩되는 데이터양은 줄어들게 된다. 하지만 사람 눈으로 느껴지는 화질 저하는 거의 발생되지 않는다.
한편, 입력 영상이나 차분치 영상의 DCT 계수 값을 양자화 한 값인 'level' 값에 데이터 숨김을 수행하는 것에 대하여 도 6에 나타내었다. 도 6은 본 발명에 따른 비디오 코딩 방법에 의하여, 레벨 값을 이용하여 데이터 숨김이 수행되는 과정을 설명하기 위한 도면이다.
본 발명에 따른 비디오 코딩 방법에 의하면, 압축을 위해 입력 영상이나 차분치 영상에 대하여 DCT를 한다. 그 후 전송할 대역폭을 살펴보고 양자화 파라메터를 지정하여 인코딩되는 비트량을 조절하게 된다. 양자화 파라메터가 나누는 값은 DCT 계수이다.
도 6에서 DCT는 8*8 블록 단위로 수행된다. DCT가 수행된 블록에 양자화 파라메터가 적용되어 계수 값을 나눠주게 되는데, 이때 양자화 파라메터로 나눈 몫을 'level' 이라고 한다. 각 블록마다 나온 몫인 'level'을 이용하여 데이터 숨김을 수행하게 된다. 여기서, 데이터의 숨김은 다음과 같이 할 수 있다.
LevelSum %2 == Hide Bit[k]
Level 변경 없음
LevelSum %2 != Hide Bit[k]
Level 중 중요도가 가장 낮은 level 값을 1 줄임
LevelSum : 블록의 level을 모두 더한 값
각각의 'level'에 데이터 숨김을 하지 않고 블록 단위로 'level'을 합한 값에 데이터 숨김을 하는 이유는 각 'level'에 대해 데이터 숨김을 할 경우 화질에 영향을 주기 때문이다. 'Level'은 양자화 파라메터로 DCT 계수를 나눈 값의 몫이기 때문에 양자화 파라메터가 클수록 'level' 하나가 의미하는 DCT 계수의 범위는 커지게 된다.
예를 들어 'level' 값이 똑같이 '1'이더라도 양자화 파라메터가 10이면 가능한 DCT 범위는 10에서부터 19이고, 양자화 파라메터가 30이면 가능한 DCT 범위는 30부터 59까지이다. 그러므로 8*8 블록 단위로 'level'의 'sum'을 구한 뒤, 'level'의 'sum'을 2로 나눈 나머지와 숨길 데이터 비트가 동일하면 'level'의 변동이 없고 같지 않다면 중요도가 가장 낮은 'level'의 값을 1 만큼 줄인다.
여기서, 중요도가 가장 낮은 'level'이라 함은 사람의 눈에 가장 민감도가 낮은 부분을 말한다. 사람의 눈은 고주파 영역에 대해 민감도가 낮으므로 숨길 데이터 비트와 'level sum'을 2로 나눈 나머지가 같지 않을 경우 가장 고주파를 갖는 'level'의 값에 대하여 1을 줄인다.
즉, 'level sum'이 '16'이고 삽입해야 할 비트가 '1'이면 그 블록의 가장 고주파 영역인 'level'의 값을 '1' 줄여 블록 'level sum'이 '15'가 되게 하여 숨길 비트와 'level sum'을 2로 나눴을 때 나머지를 같게 해 준다.
하지만 만일 'level sum'이 '1'일 때는 문제가 생긴다. 'Level sum'이고 숨길 비트가 '1'이면 가장 민감도가 낮은 부분의 'level'을 '1'을 줄여 전체 블록의 합이 '0'이 된다. 하지만 원래 블록의 합이 '0'인 블록은 더 이상 'level'을 줄일 수 없기 때문에 데이터를 숨기지 않는다. 그렇게 되면 원래 'level sum'이 '1'이었다가 데이터를 숨겨 'level sum'이 '0'으로 된 블록과 처음부터 level sum이 '0'이고 데이터 숨김이 없는 블록을 구분할 수 없게 된다.
본 발명에서는 이러한 오류를 막고자 다음과 같은 방법을 사용하였다. 'Level'의 합이 '1'일 때 숨길 데이터가 '1' 이면 그 블록에 데이터를 삽입하였다. 그래도 'level'의 합은 변하지 않는다. 만일 'level'의 합이 '1'이고 숨길 데이터가 '0'이면 그 블록의 'level'의 합을 '0'으로 바꾸고 데이터 숨김은 하지 않는다. 디코더에서는 'level'의 합이 '0'일 때는 그 블록에 데이터 숨김이 없다고 여기게 된다.
이러한 방법으로 'level'의 합이 '1'인 블록을 제외하고 모든 블록은 숨길 데이터와 자신의 블록의 합을 2로 나눈 나머지 값이 같으면 블록의 'level'이 변화가 없고 그렇지 않으면 가장 민감도가 낮은 부분의 'level'을 '1' 만큼 감소시켜 데이터를 숨길 수 있다.
'Level'의 합이 '1'인 블록은 숨길 데이터가 '1' 이면 데이터를 숨기고 숨김 데이터가 '0'이면 데이터를 숨기지 않고 블록의 'level' 값만 '0'으로 변경시킨다. 'Level'의 합이 0'일 때도 데이터 숨김은 이루어 지지 않는다.
이상의 설명에서와 같이 본 발명에 따른 비디오 코딩 시스템 및 비디오 코딩 방법에 의하면, 에러가 발생하는 네트웍 환경에서 전송된 비디오 데이터의 손상 또는 소실이 발생하였을 경우에 나타나는 화질 저하와 이러한 에러 영상의 연속된 다음 프레임들의 전파를 막아 사용자에게 좋은 품질의 영상 데이터를 제공할 수 있는 장점이 있다.
도 1은 종래 비디오 통신 시스템에서 비디오 코딩이 수행되는 과정을 개략적으로 나타낸 도면.
도 2는 일반적인 비디오 통신 시스템에서, 발생된 에러가 다음 프레임에 미치는 영향을 설명하기 위한 도면.
도 3은 본 발명에 따른 비디오 통신 시스템에서의 비디오 코딩 과정을 설명하기 위한 도면.
도 4는 본 발명에 따른 비디오 코딩 방법이 적용된 응용의 한 예를 나타낸 도면.
도 5는 본 발명에 따른 비디오 코딩 방법에 의하여, 양자화 파라메터를 이용하여 데이터 숨김이 수행되는 과정을 설명하기 위한 도면.
도 6은 본 발명에 따른 비디오 코딩 방법에 의하여, 레벨 값을 이용하여 데이터 숨김이 수행되는 과정을 설명하기 위한 도면.

Claims (16)

  1. 비디오 인코더와 비디오 디코더 간에 양방향으로 신호를 송수신하는 비디오 통신 시스템에 있어서,
    데이터 숨김(data hiding) 기법을 이용하여 상기 비디오 디코더에 에러 정보를 삽입하여 전송하는 데이터 숨김 처리부와, 상기 비디오 디코더로부터 제공된 에러 정보를 참조하여 에러 은닉(error concealment)을 수행하는 제 1 에러 은닉 처리부를 구비하는 비디오 인코더와;
    에러가 발생된 프레임의 정보를 추출하여 그 추출된 프레임 정보를 상기 비디오 인코더에 제공하며, 상기 비디오 인코더로부터 제공되는 숨김 데이터를 추출하는 데이터 추출부와, 상기 데이터 추출부로부터 제공되는 숨김 데이터를 참조하여 에러 은닉(error concealment)을 수행하는 제 2 에러 은닉 처리부를 구비하는 비디오 디코더; 를 포함하는 것을 특징으로 하는 비디오 통신 시스템.
  2. 제 1항에 있어서,
    상기 비디오 인코더의 데이터 숨김 처리부에서 데이터 숨김 기법을 이용하여 상기 비디오 디코더에 전송하는 에러 정보는, 인코딩되는 영상에 삽입되어 전송되는 것을 특징으로 하는 비디오 통신 시스템.
  3. 제 1항에 있어서,
    상기 비디오 인코더의 데이터 숨김 처리부에서 데이터 숨김 기법을 이용하여 상기 비디오 디코더에 삽입하여 전송하는 에러 정보는, 상기 비디오 인코더에서 에러 은닉을 수행하는 경우에 있어 인코딩되는 프레임의 참조 프레임 번호인 것을 특징으로 하는 비디오 통신 시스템.
  4. 제 1항에 있어서,
    상기 비디오 디코더의 데이터 추출부에서 에러가 발생된 프레임의 정보를 추출하여 상기 비디오 인코더에 제공함에 있어, 상기 추출되는 프레임 정보는 각 GOB(Group Of Block)에서 에러가 발생되었는지의 여부를 나타내는 정보인 것을 특징으로 하는 비디오 통신 시스템.
  5. 제 1항에 있어서,
    상기 비디오 인코더에서 데이터 숨김을 수행함에 있어, 인코딩되는 영상에 대한 양자화 파라메터 및/또는 DCT가 수행되는 블록 내의 레벨 값(DCT 계수를 양자화 파라메타로 나눈 값)을 이용하여 데이터 숨김을 수행하는 것을 특징으로 하는 비디오 통신 시스템.
  6. 제 1항에 있어서,
    상기 제 1 및 제 2 에러 은닉 처리부에서 에러 은닉을 수행함에 있어, 에러가 발생된 블록에 대하여 주위 블록의 움직임 벡터의 평균값을 구하고, 참조 프레임에 대한 움직임 보상을 통하여 에러 은닉을 수행하는 것을 특징으로 하는 비디오 통신 시스템.
  7. 제 6항에 있어서,
    상기 제 1 및 제 2 에러 은닉 처리부에서 에러 은닉을 수행함에 있어, 움직임 벡터의 평균값을 구하는 주위 블록은 상기 에러가 발생된 블록의 위와 아래의 블록인 것을 특징으로 하는 비디오 통신 시스템.
  8. 비디오 인코더로부터 전송되는, 압축된 비디오 스트림을 수신하고 가변장 디코딩을 수행하는 VLD 처리부와;
    상기 VLD 처리부에서의 가변장 디코딩된 스트림에서, 상기 비디오 인코더로부터 데이터 숨김 기법을 통하여 전송되는 숨김 데이터를 추출하며, 에러가 발생된 프레임의 정보를 추출하여 그 추출된 프레임 정보를 상기 비디오 인코더에 제공하는 데이터 추출부; 및
    상기 데이터 추출부에서 추출된 숨김 데이터를 참조하여 에러 은닉(error concealment)을 수행하는 에러 은닉 처리부; 를 포함하는 것을 특징으로 하는 비디오 디코더.
  9. 제 8항에 있어서,
    상기 데이터 추출부는 역양자화 과정에서 숨김 데이터를 추출하며, 상기 추출되는 숨김 데이터는 상기 비디오 인코더에서의 인코딩되는 과정에서 양자화 파라메터 및/또는 DCT가 수행되는 블록 내의 레벨 값(DCT 계수를 양자화 파라메타로 나눈 값)을 이용하여 데이터 숨김이 수행되는 것을 특징으로 하는 비디오 디코더.
  10. 제 8항에 있어서,
    상기 데이터 추출부에서 추출되는 숨김 데이터는, 상기 비디오 인코더에서 에러 은닉을 수행하는 경우에 있어 인코딩되는 프레임의 참조 프레임 번호인 것을 특징으로 하는 비디오 디코더.
  11. 제 8항에 있어서,
    상기 데이터 추출부에서 에러가 발생된 프레임의 정보를 추출하여 상기 비디오 인코더에 제공함에 있어, 상기 추출되는 프레임 정보는 각 GOB(Group Of Block)에서 에러가 발생되었는지의 여부를 나타내는 정보인 것을 특징으로 하는 비디오 디코더.
  12. 제 8항에 있어서,
    상기 에러 은닉 처리부에서 에러 은닉을 수행함에 있어, 에러가 발생된 블록에 대하여 주위 블록의 움직임 벡터의 평균값을 구하고, 참조 프레임에 대한 움직임 보상을 통하여 에러 은닉을 수행하는 것을 특징으로 하는 비디오 디코더.
  13. 비디오 디코더에서 디코딩시 에러가 발생되는 프레임의 정보를 추출하는 단계와;
    상기 비디오 디코더는 상기 추출된 프레임 정보를 비디오 인코더에 제공하는 단계와;
    상기 비디오 인코더는, 상기 비디오 디코더로부터 제공된 에러 정보를 참조하여 에러 은닉(error concealment)을 수행하고, 에러 은닉시 이용된 참조 프레임을 데이터 숨김(data hiding) 기법을 이용하여 상기 비디오 디코더에 삽입 전송하는 단계; 및
    상기 비디오 디코더는, 상기 비디오 인코더로부터 전송되는 숨김 데이터를 추출하고, 그 추출된 숨김 데이터를 이용하여 인코딩될 프레임의 참조 프레임을 수정하고 에러 은닉을 수행하는 단계를 포함하는 것을 특징으로 하는 비디오 코딩 방법.
  14. 제 13항에 있어서,
    상기 비디오 디코더에서 추출된 프레임 정보는 각 GOB(Group Of Block)에서 에러가 발생되었는지의 여부를 나타내는 정보인 것을 특징으로 하는 비디오 코딩 방법.
  15. 제 13항에 있어서,
    상기 비디오 인코더에서 데이터 숨김을 수행함에 있어, 인코딩되는 영상에 대한 양자화 파라메터 및/또는 DCT가 수행되는 블록 내의 레벨 값(DCT 계수를 양자화 파라메타로 나눈 값)을 이용하여 데이터 숨김을 수행하는 것을 특징으로 하는 비디오 코딩 방법.
  16. 제 13항에 있어서,
    상기 비디오 인코더 및 비디오 디코더에서 에러 은닉을 수행함에 있어, 에러가 발생된 블록에 대하여 주위 블록의 움직임 벡터의 평균값을 구하고, 참조 프레임에 대한 움직임 보상을 통하여 에러 은닉을 수행하는 것을 특징으로 하는 비디오 코딩 방법.
KR10-2003-0032664A 2003-05-22 2003-05-22 비디오 코딩 시스템 및 비디오 코딩 방법 KR100513014B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-0032664A KR100513014B1 (ko) 2003-05-22 2003-05-22 비디오 코딩 시스템 및 비디오 코딩 방법
US10/849,864 US20040258163A1 (en) 2003-05-22 2004-05-21 Video communication system and video coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0032664A KR100513014B1 (ko) 2003-05-22 2003-05-22 비디오 코딩 시스템 및 비디오 코딩 방법

Publications (2)

Publication Number Publication Date
KR20040100359A KR20040100359A (ko) 2004-12-02
KR100513014B1 true KR100513014B1 (ko) 2005-09-05

Family

ID=33516346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0032664A KR100513014B1 (ko) 2003-05-22 2003-05-22 비디오 코딩 시스템 및 비디오 코딩 방법

Country Status (2)

Country Link
US (1) US20040258163A1 (ko)
KR (1) KR100513014B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188025A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Error concealment
US7916796B2 (en) * 2005-10-19 2011-03-29 Freescale Semiconductor, Inc. Region clustering based error concealment for video data
CN101502119B (zh) * 2006-08-02 2012-05-23 汤姆逊许可公司 用于视频编码的自适应几何分割方法和设备
KR100827091B1 (ko) 2006-09-29 2008-05-02 삼성전자주식회사 동영상 복호화시 손실 은폐 방법 및 이를 이용한 복호화장치
EP2061255A4 (en) * 2007-03-30 2012-08-22 Sony Corp INFORMATION PROCESSING DEVICE AND METHOD
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272253B1 (en) * 1995-10-27 2001-08-07 Texas Instruments Incorporated Content-based video compression
US6141448A (en) * 1997-04-21 2000-10-31 Hewlett-Packard Low-complexity error-resilient coder using a block-based standard
US6694040B2 (en) * 1998-07-28 2004-02-17 Canon Kabushiki Kaisha Data processing apparatus and method, and memory medium
JP3606306B2 (ja) * 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US7133455B2 (en) * 2000-12-29 2006-11-07 Intel Corporation Providing error resilience and concealment for video data
WO2002061669A1 (en) * 2001-01-10 2002-08-08 The Trustees Of Columbia University In The City Of New York Method and apparatus for watermarking images
US6721362B2 (en) * 2001-03-30 2004-04-13 Redrock Semiconductor, Ltd. Constrained discrete-cosine-transform coefficients for better error detection in a corrupted MPEG-4 bitstreams
US7006656B2 (en) * 2001-10-15 2006-02-28 The Research Foundation Of Suny Lossless embedding of data in digital objects

Also Published As

Publication number Publication date
US20040258163A1 (en) 2004-12-23
KR20040100359A (ko) 2004-12-02

Similar Documents

Publication Publication Date Title
JP5007012B2 (ja) ビデオ符号化方法
Redmill et al. The EREC: An error-resilient technique for coding variable-length blocks of data
JP4362259B2 (ja) ビデオ符号化方法
US7260150B2 (en) Systems and methods for decoding of partially corrupted reversible variable length code (RVLC) intra-coded macroblocks and partial block decoding of corrupted macroblocks in a video decoder
JP4537583B2 (ja) 映像信号のエラー隠蔽
WO2003007536A1 (en) Method for detection and recovery of errors in the frame
US20050063473A1 (en) Method and apparatus for transmitting and receiving coded packet and program therefor
Huang et al. Unequal error protection for MPEG-2 video transmission over wireless channels
EP1158812A2 (en) Method for detecting errors in a video signal
KR100513014B1 (ko) 비디오 코딩 시스템 및 비디오 코딩 방법
CA2474931A1 (en) Video processing
KR100586100B1 (ko) 동영상 코딩 방법
Adsumilli et al. Adapive Wireless Video Communications: Challenges and Approaches
KR100380230B1 (ko) 다해상도 기반 영상신호 부호화 및 복호화 방법과 장치
KR100586101B1 (ko) 동영상 코딩 방법
EP1555788A1 (en) Method for improving the quality of an encoded video bit stream transmitted over a wireless link, and corresponding receiver
de los Reyes et al. Video transcoding for resilience in wireless channels
Tonoli et al. Error resilience in current distributed video coding architectures
KR100586099B1 (ko) 동영상 코딩 방법
Khan et al. Error Detection and Correction in H. 263 coded video over wireless network
Navarro et al. Adaptive joint h. 263-channel coding for memoryless binary channels
Papadakis et al. Syntax based error concealment
Yang Robust image/video transmission with efficient error resilient codecs
da Silva Tavares et al. Error statistical analysis of H. 263 syntactical elements
Lin et al. Multiple description video coding based on forward error correction within expanding windows

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee