KR20040027982A - 비디오 에러 은닉을 위한 시스템 및 방법 - Google Patents

비디오 에러 은닉을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20040027982A
KR20040027982A KR10-2004-7002604A KR20047002604A KR20040027982A KR 20040027982 A KR20040027982 A KR 20040027982A KR 20047002604 A KR20047002604 A KR 20047002604A KR 20040027982 A KR20040027982 A KR 20040027982A
Authority
KR
South Korea
Prior art keywords
macroblock
data
macroblocks
encoded
video
Prior art date
Application number
KR10-2004-7002604A
Other languages
English (en)
Other versions
KR100691307B1 (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 폴리콤 인코포레이티드
Publication of KR20040027982A publication Critical patent/KR20040027982A/ko
Application granted granted Critical
Publication of KR100691307B1 publication Critical patent/KR100691307B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/46Embedding additional information in the video signal during the compression process
    • 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/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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • 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/70Methods 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
    • 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Radio Transmission System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 일실시예에서, 비디오 에러를 은닉하기 위한 시스템 및 방법을 제공한다. 본 시스템은 데이터 패킷을 수신하고, 패킷해제하고, 정리하고, (915) 그리고 디코딩할때 잃어버린 비디오 데이터 패킷에 의해 야기된 에러를 은닉하도록 통신 네트워크상에서 전송을 위한 비디오 데이터 패킷으로 비디오정보를 인코딩하고, 재정리하고, 패킷화한다. 일 실시예에서, 본 시스템 및 방법은 비디오 정보를 인코딩하고 패킷화하므로, 인접 매크로블록은 동일한 비디오 데이터 패킷(925)에 위치되지 않는다. 또한, 본 시스템 및 방법은 디코딩 프로세스를 용이하게하기 위하여 비디오 데이터 패킷에 부가된 정보를 제공할 수 있다. 이러한 구성의 이점은 비디오 데이터 패킷의 손실에 따른 에러가 비디오 프레임상에서 공간적으로 분산된다는 것이다. 따라서, 잃어버린 매크로블록 주위의 데이터 영역이 성공적으로 디코딩되면, 디코더는 보다높은 정확도로 움직임 벡터와 공간적 콘텐츠를 예상할 수 있고, 이것이 보다높은 비디오 퀄리티를 유도한다.

Description

비디오 에러 은닉을 위한 시스템 및 방법{SYSTEM AND METHOD FOR VIDEO ERROR CONCEALMENT}
비디오 이미지는 점점더 글로벌 통신의 중요한 부분이 되고있다. 특히, 화상회의 및 화상전화는 데스크탑 및 룸 기반 회의, 인터넷 및 전화선을 통한 비디오, 감시 및 모니터링, 원격의료, 및 컴퓨터기반 트레이닝 및 교육과 같은 광범위한 응용분야가 있다. 이러한 응용분야의 각각에서, 비디오와 부가 오디오 정보는 전화선, ISDN, DSL, 및 라디오 주파수를 포함하는, 통신 링크상에서 전송된다.
화상회의에 사용되는 표준 비디오 포맷은, 국제 전기통신 연합(ITU) H.261 화상회의 표준의 일부인, CIF(Common Intermediate Format)이다. 1차 CIF 포맷은 풀CIF 또는 FCIF로 알려져있다. FCIF보다 높거나 낮은 해상도를 가진 부가 포맷 또한 제정되어있다. 도 1은 종래 기술에 따라, 하나의 픽셀을 표현하기 위해 12비트가 필요하다는 가정하에 다양한 비디오 포맷에 필요한 해상도와 비트율을 나타낸 표이다. (초당 메가비트, 즉 Mbps로) 도시된 비트율은 비압축 컬러 프레임에 대한 것이다.
현재, 비디오 신호의 효율적인 전송과 수신을 위해 비디오 및 부가 오디오데이터의 인코딩 및 압축을 필요로할 수 있다. 비디오 압축 코딩은 비디오 데이터를 저장하기 위한 메모리를 줄이고 필요한 전송 대역폭을 줄이기위하여 디지털 비디오 데이터를 인코딩하는 방법이다. 필요한 전송 비트율을 줄이기 위하여 특정한 압축/압축해제(CODEC) 스킴이 자주 사용된다. 따라서, CODEC 하드웨어 및 소프트웨어는 디지털 비디오 데이터가 원본 (즉, 압축되지 않은) 디지털 비디오 포맷에 필요한 것보다 적은 이진 포맷으로 압축될 수 있도록 한다.
소스 비디오 신호를 인코딩하고 압축하기 위한 몇가지 종래의 접근법과 표준이 존재한다. 몇몇 표준은 정지 영상을 위한 JPEG(Joint Photographic Experts Group), 및 동영상을 위한 H.261, H.263, MPEG(Moving Pictures Experts Group), MPEG-2 및 MPEG-4와 같은 특정 애플리케이션을 위해 고안되었다. 전형적으로, 이러한 코딩 표준은, 일반적으로, 매크로블록이라 불리는,16X16픽셀상에서 블록기반의 움직임 보상 예측을 사용한다. 매크로블록은 4:2:0의 샘플링 구조에 따라 4개의 8X8블록의 명도 데이터와 2개의 대응 8X8 블록의 색상 데이터를 포함하는 정보의 단위인데, 여기서 색상 데이터는 수직 및 수평의 양방향으로 2:1로 서브샘플링된다.
실제적으로는, 오디오 데이터 또한 비디오 데이터와 함께 압축, 전송, 및 동기화되어야 한다. 동기화, 멀티플렉싱, 및 프로토콜에 관한 것은 H.320(ISDN기반 화상회의), H.324(POTS기반 화상전화), 및 H.323(LAN 또는 IP기반 화상회의)과 같은 표준에 포함되어있다. H.263(또는 그 이전 프로토콜인, H.261)은 이러한 표준 군에서 비디오 코딩부에 관한 것이다.
움직임 추정 및 압축 스킴은 비디오 신호에 필요한 전송 대역을 줄이기 위해 종래 전형적으로 사용되는 방법중 하나이다. 매크로블록은 기본 데이터 단위이므로, 움직임 추정 및 압축 스킴은 현재의 비디오 프레임에서 주어진 매크로블록과 이전에 전송된 비디오 프레임에서 주어진 매크로블록의 주위 영역을 비교하고, 근접한 데이터 매치의 발견을 시도한다. 전형적으로, 이전에 전송된 비디오 프레임내의 근접하게 매치된 매크로블록은 주어진 매크로블록으로부터 주어진 매크로블록의 폭보다 작은폭으로 공간적으로 오프세트된다. 근접한 데이터 매치가 발견되면, 차이(즉, 나머지)와 공간적 오프세트만이 인코딩되어 전송되도록, 이전에 전송된 비디오 프레임내의 근접하게 매치된 오프세트 매크로블록으로부터 현재의 비디오 프레임내의 주어진 매크로블록을 뺀다. 공간적 오프세트는 일반적으로 움직임 벡터로 불린다. 움직임 추정과 보상 프로세스가 효율적이면, 남아있는 나머지 매크로블록은 이전 비디오 프레임에서 현재의 비디오 프레임 및 움직임 벡터까지 변하는 픽셀과 연계된 데이터를 기술하기 위해 필요한 정도의 정보만을 포함해야 한다. 따라서, 변하지 않는 비디오 프레임 영역(즉, 배경)은 인코딩 및 전송되지 않는다.
종래, H.263 표준은 움직임 추정과 움직임 보상에 사용되는 움직임 벡터가 차별적으로 인코딩된다고 명기되어 있다. 차별적 인코딩은 전송에 필요한 데이터 양을 줄이지만, 하나의 매크로블록에 대한 움직임 벡터 데이터가 상실되거나 오류있는 임의의 에러는 인접한 매크로블록에 부정적인 영향을 끼친다. 결과적으로 비디오 퀄리티를 떨어뜨리는 오류있는 데이터에 의한 에러가 전달된다.
패킷 교환 통신 네트워크를 통해 전송하기 위한 비디오 프레임 정보를 준비할때, 인코딩 스킴은, 움직임 추정 및 보상에 의해 압축된 비디오 프레임 정보를 통신 네트워크를 통해 전송하기 위하여 데이터 패킷으로 변형시킨다. 데이터 패킷이 전송효율을 증가시키지만, 상실되거나, 오류발생되거나 지연된 데이터 패킷은 비디오 퀄리티를 악화시키는 결과를 야기할 수도 있다. 대안으로, 종단점중 하나가 회선 교환 네트워크 및 게이트웨이에 연결되어 있거나 또는 다른 패킷 교환-회선 교환 네트워크 브리징 디바이스가 사용되는 이종 통신 네트워크상에서 비디오 데이터가 전송될 수 있다.
현재, 상실되거나 오류있는 데이터 패킷은 종종 비디오 퀄리티의 감소를 일으킨다. 따라서, 데이터 패킷 손실에 의해 야기된 에러를 은닉하기 위하여 데이터패킷을 조직화하여 전송하는 시스템과 방법이 필요하다.
본 발명은 대체로 비디오 통신, 특히 비디오 에러 은닉에 관한 것이다.
도 1은 종래 기술에 따라, 다양한 비디오 포맷에 대하여 필요한 해상도와 비트율을 나타낸 표,
도 2는 본 발명에 따라, 전형적인 화상회의 시스템의 블록도,
도 3은 도 2의 화상회의 시스템의 전형적인 화상회의 스테이션의 블록도,
도 4는 도 3의 이미지 프로세싱 엔진의 전형적인 실시예의 블록도,
도 5는 QCIF포맷된 비디오 프레임을 위한 매크로블록 재정리 패턴의 전형적인 도면이고, 각각의 번호는 대응하는 공간적 위치에서 매크로블록에 할당된 MBGID이고,
도 6은 도 5의 QCIF프레임 매크로블록 재정리 패턴의 전형적인 도면이고, MBGID=5인 매크로블록에 대한 코딩된 매크로블록 데이터를 포함하는 데이터 패킷은 상실되고,
도 7은 본 발명의 일 실시예에 따라, 인접 매크로블록에 위치된 픽셀과 연계된 데이터를 사용하는 2차원 보간 스킴의 블록도,
도 8은 본 발명에 따라, 상실된 매크로블록m의 움직임 벡터를 추정하기 위해 사용되는 인접 매크로블록의 전형적인 블록도,
도 9는 본 발명의 일 실시예에 따라, 비디오 데이터 프로세싱을 위한 방법 단계의 전형적인 흐름도, 그리고
도 10은 본 발명에 따라, 비디오 데이터의 수신시 비디오 에러 은닉을 위한 방법 단계의 전형적인 흐름도.
본 시스템 및 방법은 비디오 데이터의 패킷 손실과 관련된 종래의 문제를 극복하거나 실질적으로 경감시킨다. 일반적으로, 본 발명은 비디오 데이터 패킷 손실에 의해 야기된 비디오 에러를 은닉하기 위한 기능을 가지고 있고, 패킷 교환 네트워크를 통해 전송하기 위해 비디오 정보를 인코딩하고, 재정리하고, 패킷화하는 시스템 및 방법을 제공한다.
전형적인 실시예에서, 비디오 신호는 일단의 매크로블록으로 인코딩된다. 그 다음에 매크로블록 재정리 엔진이 매크로블록 그룹 식별자(MBGID)라 불리는 정수 라벨을 각각의 매크로블록에 할당한다. 유리하게도, 일 전형적 실시예에서, 인접 매크로블록은 동일한 MBGID가 할당되지 않는다. 그 다음에 매크로블록 패킷화엔진이 매크로블록을 패킷화하고, 동일한 MBGID로 할당된 매크로블록은 함께 패킷화된다. 인접 매크로블록은 동일한 MBGID으로 할당되지 않는 본 발명의 실시예에 대하여, 공간적으로 인접한 매크로블록은 함깨 패킷화되지 않는다. 또한, 대응 디코딩 프로세스를 용이하게하기 위해 인트라-매크로블록 맵과같은 대응 데이터가 몇몇 다른 메커니즘에 의해 픽쳐 헤더에 부가되거나 전달될 수 있다.
본 발명의 또다른 실시예에서, 이미지 프로세싱 엔진이 인코딩된 매크로블록을 포함하는 데이터 패킷을 수신할때, 데이터 패킷은 패킷화해제되고, 인코딩된 매크로블록은 재정리되고 디코딩된다. 대안의 실시예에서, 이미지 프로세싱 엔진은 수신된 데이터 패킷을 패킷화해제하고, 그 다음에 프로세싱 지연을 줄이기 위하여 수신된 순서로 매크로블록을 디코딩한다. 하나 이상의 데이터 패킷이 상실되면, 성공적으로 전송된 데이터 패킷의 매크로블록에 부착된 데이터가 상실된 데이터 패킷의 효과를 약화시키는데 사용된다. 상실된 매크로블록이 인트라-코딩되었는지 또는 인터-코딩되었는지에 기초한 다양한 방법이 상실된 매크로블록을 보상한다. 보상후, 비디오 신호가 디스플레이될 수 있다. 결과적으로, 본 시스템 및 방법은 데이터 패킷 손실으로부터 야기된 비디오 에러를 은닉할 수 있다.
본 발명은 데이터 패킷 소실에 의해 야기된 비디오 신호에서의 에러를 은닉한다. 본 시스템 및 방법은 비디오 프레임내에서 유연한 (예컨대, 논-라스트-스캔)순으로 매크로블록을 패킷화함에 의한 기존 기술로부터 시작한다. 기존 비디오 코딩 표준과 달리, 매크로블록은 매크로블록 재정리 패턴에 의해 명기된 순으로 패킷화된다. 또한, 각각의 매크로블록에 대한 움직임 벡터는 비차별적으로 인코딩될 수 있다. 이러한 개선은 통신 링크를 통해 데이터 패킷 손실에 의해 야기된 방해를 경감한다. 본 발명의 범위는, H.261, H.263, H.264, MPEG, MPEG-2, 및 MPEG-4를 포함하는, 그러나 이것에 제한되지는 않고, 다양한 비디오 표준을 포괄한다.
도 2는 전형적인 화상회의 시스템(200)을 도시한다. 화상회의 시스템(200)은 네트워크(206)를 통해 연결된 로컬 화상회의 스테이션(202)과 리모트 화상회의 스테이션(204)을 포함한다. 도 2가 2개의 화상회의 스테이션(202, 204)만을 도시하고 있지만, 당업자는 더 많은 화상회의 스테이션이 화상회의 시스템(200)에 접속될 수 있다는 것을 이해할 것이다. 본 시스템 및 방법은 네트워크를 통해 비디오 데이터가 전달되는 임의의 통신 시스템에 이용될 수 있음을 주목해야 한다. 네트워크는, POTS, 케이블, 광섬유, 그리고 무선 전송 매체와 같은, 그러나 이것에 제한되지는 않고, 임의의 타입의 전자 통신 매체일 수 있다.
도 3은 전형적인 화상회의 스테이션(300)의 블록도이다. 리모트 화상회의 스테이션(도 2; 204)이 동일한 구성을 취할 수 있지만, 간략화를 위해, 화상회의 스테이션(300)은 로컬 화상회의 스테이션(도 2; 202)에 의해 기술될 것이다. 일 실시예에서, 화상회의 스테이션(300)은 디스플레이 디바이스(302), CPU(304), 메모리(306), 적어도 하나의 화상 캡쳐 디바이스(308), 이미지 프로세싱 엔진(310), 및 통신 인터페이스(312)를 포함한다. 대안으로, 다른 디바이스가 화상회의 스테이션(300)에 제공될 수 있고, 또는 상기 디바이스의 전부가 제공되어야 하는 것은 아니다. 적어도 하나의 화상 캡쳐 디바이스(308)는 전하결합소자(CCD :charge coupled device), 상보성 금속 산화물 반도체(CMOS : complementary metal oxide semiconductor), 또는 임의의 다른 타입의 이미지 캡쳐 디바이스로 구현될 수 있다. 적어도 하나의 화상 캡쳐 디바이스(308)는 사용자, 회의실, 또는 기타 장면들의 이미지를 캡쳐해서, 이미지 프로세싱 엔진(310)에 전송한다. 전형적으로는, 이미지 프로세싱 엔진(310)은 통신 인터페이스(312)가 데이터 패킷을 리모트 화상회의 스테이션(204)에 전송하기 전에 비디오 이미지를 데이터 패킷으로 프로세싱한다. 이미지 프로세싱 엔진(310)은 도 4와 연계하여 보다 상세하게 기술될 것이다. 역으로, 이미지 프로세싱 엔진(310)은 또한 디스플레이 디바이스(302)에 디스플레이하기 위해 리모트 화상회의 스테이션(204)로부터 수신된 데이터 패킷을 비디오 신호로 변환한다.
도 4는 도 3의 이미지 프로세싱 엔진(310)의 전형적인 실시예이다. 이미지 프로세싱 엔진(310)은 코딩 엔진(402), 매크로블록 재정리 엔진(404), 매크로블록 패킷화 엔진(406), 그리고 통신 버퍼(408)를 포함한다. 처음에, 비디오 캡쳐 디바이스(도 3; 308)로부터 나온 비디오 신호는 비디오의 각각의 프레임을 원하는 포맷으로 변환하는 코딩 엔진(402)으로 들어가고, 비디오 신호의 각각의 프레임을 일단의 매크로블록으로 변환한다. 매크로블록은 (픽셀로도 불리는) 화소와 연계된 명도와 색상 성분을 포함하는 데이터 블록을 포함하는 데이터 단위이다. 예컨대, H.263에서는, 4:2:0의 크로마 샘플링 포맷에서 매크로블록은 4개의 8X8블록의 명도 데이터와 두개의 대응 8X8블록의 색상 데이터로 구성된다. 8X8블록의 데이터는 8개의 열 X 8개의 행의 행렬이고, 각각의 데이터는 비디오 프레임의 픽셀에 대응한다. 4:2:0 크로마 포맷된 매크로블록은 16픽셀 X 16픽셀의 비디오 프레임 섹션을 포괄하는 데이터를 포함한다. 그러나, 본 발명은 종래 정의된 것과 같은 매크로블록에 제한되지 않고, 명도 및/또는 색상 데이터를 포함하는 임의의 데이터 단위로 확장될 수 있다. 또한, 본 발명의 범위는 4개의 8X8 블록의 명도 데이터 및 4개의 대응 8X8 블록의 색상 데이터를 포함하는 4:2:2 크로마 샘플링 포맷, 또는 4개의 8X8 블록의 명도 데이터 및 8개의 대응 8X8 블록의 색상 데이터를 포함하는 4:4:4 크로마 샘플링 포맷과 같은, 다른 샘플링 포맷을 포괄한다.
또한, 코딩 엔진(402)은 데이터 콘텐츠를 표현하는데 사용되는 비트수를 줄이기 위해 각각의 매크로블록을 인코딩(즉, 압축)한다. 각각의 매크로블록은 "인트라-코딩" 또는 "인터-코딩"될 수 있고 프레임은 인트라-코딩 및 인터-코딩된 매크로블록의 임의의 조합으로 구성될 수 있다. 인터-코딩된 매크로블록은 일시적 유사성(즉, 하나의 프레임으로부터의 매크로블록과 이전 프레임으로부터의 근접하게 매치된 매크로블록사이에 존재하는 유사성)을 사용하여 인코딩된다. 상세하게는, 주어진 인터-코딩된 매크로블록은 주어진 매크로블록과 이전 비디오 프레임으로부터의 근접하게 매치된 매크로블록사이의 인코딩된 차이를 포함한다. 이전 비디오 프레임으로부터의 근접하게 매치된 매크로블록은 주어진 매크로블록과 연계된 픽셀로부터 오프세트되는 픽셀과 연계된 데이터를 포함할 수 있다. 대안으로, 인트라-코딩된 매크로블록은 JPEG 정지 이미지 인코딩 표준에 의해 채용된것과 같은 방식으로 다른 비디오 프레임으로부터의 정보의 사용없이 인코딩된다.
예컨대, 주어진 매크로블록이 인터-코딩된 매크로블록과 같이 인코딩될 수있을지를 판정하기 위해, 코딩 엔진(402)은 현재의 비디오 프레임의 주어진 매크로블록의 데이터와 (오프세트 매크로블록으로 불리는) 이전의 비디오 프레임으로부터의 매크로블록의 데이터사이의 차이를 계산하는데, 여기서 상기 차이는, 예컨대, 매크로블록내에 공통으로 배치된곳에 위치된 픽셀에 대응하는 데이터 사이의 절대 평균 에러 또는 평균 제곱 에러에 의해, 실현될 수 있다. 주어진 매크로블록에 대해, 코딩 엔진(402)은 복수의 오프세트 매크로블록에 대하여 에러를 계산한다. 코딩 엔진(402)이 소정 차이의 임계치이상의 에러를 발견하기만 하면, 주어진 매크로블록으로부터의 데이터와 이전 프레임으로부터의 데이터사이에 큰 유사성은 존재하지 않고, 매크로블록은 인트라-코딩된다. 그러나, 하나의 에러가 주어진 매크로블록과 이전 프레임으로부터의 주어진 오프세트 매크로블록에 대한 소정 차이의 임계치이하인 것이 발견되면, 주어진 매크로블록은 인터-코딩된다.
주어진 매크로블록을 인터-코딩하기 위해, 코딩 엔진(402)은 오프세트 매크로블록의 데이터로부터 주어진 매크로블록의 데이터를 빼서(즉, 주어진 매크로블록의 픽셀과 연계된 명도 및 색상 데이터를 모든 픽셀에 대한 오프세트 매크로블록의 대응 픽셀에 연계된 명도 및 색상데이터로부터 뺀다) 차이 데이터를 제공하고, 그 차이 데이터를 이산 여현 변환(Discrete Cosine Transform) 및 서로간의 양자화법(quantization method)과 같은 표준 코딩 기술을 사용하여 인코딩하고, 주어진 매크로블록으로부터 오프세트 매크로블록까지의 (움직임 벡터로 불리는) 오프세트 벡터를 결정하고, 움직임 벡터를 인코딩한다.
현재, H.261 및 H.263과 같은 비디오 코딩 표준은 인터-코딩된 매크로블록의움직임 벡터는 코딩 효율을 개선시키기위해 차별적으로 인코딩된다고 명기되어 있다. 그러나, 일반적으로 주어진 매크로블록과 연계된 인코딩된 움직임 벡터 데이터는 이웃 매크로블록의 움직임 벡터 데이터에 독립적이지 않기때문에, 차별적 인코딩은 상실되거나 오류있는 움직임 벡터 데이터에 의해 발생된 에러로 하여금, 상실되거나 오류있는 움직임 벡터 데이터가 없다면 에러없이 디코딩될 인접 매크로블록으로 전달되게한다. 따라서, 주어진 매크로블록의 움직임 벡터 데이터의 효과는 공간적으로 주어진 매크로블록으로 국한되지 않는다. 그러나, 각각의 인터-코딩된 매크로블록의 움직임 벡터가 비차별적으로 인코딩되면, 움직임 베터의 효과는 주어진 매크로블록으로 국한되고, 에러 복원성을 크게 증가시킨다. 대부분의 경우에, 차별적 기술에서 비차별적 기술로의 움직임 벡터 코딩법의 변경으로 전체 코딩 효율에서 손실을 줄인다(전형적으로는 몇 퍼센트이하). 유리하게도, 종래의 방법과 달리, 본 발명의 일 실시예에 따른, 각각의 인터-코딩된 매크로블록에 연계된 움직임 벡터 구성요소는 차별적으로 인코딩되지 않는다.
본 발명의 또다른 실시예에서, 코딩 엔진(402)은 "워크-어라운드-리프레시(walk-around-refresh)" 메커니즘을 사용하여 프레임의 매크로블록을 인트라-코딩할 수 있다. "워크-어라운드-리프레시" 메커니즘은 각각의 프레임에 대한 매크로블록의 특정 패턴을 인트라-코딩함으로써, 데이터 드리프트라 불리는 참조 프레임 부정합을 제거하기위한 중요한 메커니즘이다. 코딩 엔진(402)은 현재의 프레임의 인터-코딩된 매크로블록을 디코딩할때 오프세트 매크로블록으로서 참조 프레임의 매크로블록을 사용한다. 본 발명의 일 실시예에서, "워크-어라운드-리프레시" 메커니즘은 일단의 소정의 정수 워커-어라운드 간격으로부터 선택된 정수 워커-어라운드 간격 정수를 사용하여 매크로블록의 패턴을 인트라-코딩할 수 있다. 예컨대, w=47이면, 코딩 엔진(402)은 모든 w번째 매크로블록을 인트라-코딩한다. 워크-어라운드 간격은 비디오 데이터 전송율과 에러율에 기초하여 선택될 수 있다. "워크-어라운드-리프레시" 인트라-코딩된 매크로블록이 리모트 화상회의 스테이션(도 2; 204)의 코딩 엔진에 의해 수신될때, 이러한 "워크-어라운드-리프레시" 인트라-코딩된 매크로블록은 비디오 데이터 전송 에러에 의해 손상될 수 있는 이전 프레임으로부터 대응 매크로블록을 대체한다. 비디오 데이터 전송 에러에 의해 손상될 수 있는 (그리고 대체되지 않은) 임의의 매크로블록은 리모트 화상회의 스테이션(204)의 코딩 엔진이 기타 수신된 매크로블록을 디코딩하기 위한 참조 매크로블록으로서 손상된 매크로블록을 사용할때 데이터 드리프트를 더 전달하고 가능하게는 확대시킨다. 따라서, "워크-어라운드-리프레시" 인트라-코딩된 매크로블록은 리모트 화상회의 스테이션(204)의 코딩 엔진에 "프레시한" 일단의 인트라-코딩된 매크로블록을 제공하여 참조 매크로블록으로 사용되게하고, 따라서 데이터 드리프트의 전달을 줄인다.
더욱이, 코딩 엔진(402)은 코딩된 비디오 프레임내의 어느 매크로블록이 인트라-코딩되는지를 식별하는 인트라-매크로블록 맵을 생성시킬 수 있다. 인트라-매크로블록 맵이 생성된후, 이미지 프로세싱 엔진(310)은 리모트 화상회의 스테이션(204)에 맵을 전송한다. 맵은, 예컨대, 다른 필드가 사용될 수 있지만, 코딩된 비디오 프레임에 연계된 픽쳐 헤더 필드의 일부로서 전송될 수 있다.
본 발명에 따라, 코딩 엔진(402)은 두가지 방식중 하나로 인트라-매크로블록을 생성시킬 수 있다. 본 발명의 일 실시예에서, 코딩 엔진(402)은 프레임내의 인트라-코딩된 매크로블록의 위치를 기술하기 위해 런-렝쓰(run-length) 인코딩을 사용한다. 런-렝쓰 인코딩은 반복적 문자열의 크기를 줄이는 기술이다. 본 발명의 또다른 실시예에서, 코딩 엔진(402)은 비트맵을 생성하는데, 여기서 비트맵의 각각의 비트는 프레임의 하나의 매크로블록에 대응된다. 하나의 비트값은 대응 매크로블록의 코딩 타입을 식별한다. 예컨대, 본 발명의 일 실시예에서, "1"비트는 대응 매크로블록이 인트라-코딩되었음을 의미한다. 인트라-매크로블록을 생성하기위한 다른 방법이 본 발명의 사용에 고려될 수 있다.
본 발명의 또다른 실시예에서, 코딩 엔진(402)은 가장 적은 비트수를 발생시키기위해 인트라-매크로블록 맵 코딩법을 선택한다. 예컨대, 352X288 픽셀(즉, 352픽셀의 수평해상도 X 288픽셀의 수직 해상도) FCIF 비디오 프레임은 22X18 매크로블록 행렬로 구성된 396개의 매크로블록을 포함한다. 필요한 임의의 비트 오버헤드를 포함하지 않으면, 비트맵 인코딩법은 (각각의 매크로블록당 1비트인) 396개의 매크로블록을 필요로한다. 따라서, FCIF프레임내의 인트라-코딩된 매크로블록의 수와는 무관하게, 비트맵 인코딩된 인트라-매크로블록 맵을 전송하기 위해 396비트가 사용된다. 그러나, 역으로, 런-렝쓰 인코딩된 인트라-매크로블록 맵을 전송하는데 사용되는 비트수는 FCIF 프레임내의 인트라-코딩된 매크로블록의 수에 의존한다. 런-렝쓰 인코딩된 인트라-매크로블록 맵을 전송하는데 인트라-코딩된 매크로블록당 8비트가 소요되고(즉, 런값 8비트), 여기서 런값은 FCIF프레임내의 인트라-코딩된 매크로블록의 위치를 식별한다. 따라서, FCIF프레임이 인트라-코딩된 매크로블록을 포함하면, 런-렝쓰 인코딩된 인트라-매크로블록 맵을 전송하기 위해 8n비트가 필요하다.
따라서, CIF프레임이 50미만의 의 인트라-코딩된 매크로블록을 포함하면(n<50), 소스 코딩 엔진(402)은 런-렝쓰 인코딩법을 선택하고, 50개 이상의 인트라-코딩된 매크로블록을 포함하면 소스 코딩 엔진(402)은 비트맵 인코딩법을 선택한다. 인트라-매크로블록 맵 인코딩법의 선택은, FCIF비디오 포맷이 전형적인 예인, 비디오 포맷에 의존한다.
이어서, 인코딩된 매크로블록은 매크로블록 재정리 엔진(404)으로 전송된다. 매크로블록 재정리 엔진(404)은 인코딩된 매크로블록을 재정리한다. 상세하게는, 각각의 매크로블록은 복수의 매크로블록 그룹 식별자(MBGID : macroblock group identifier)로부터 MBGID를 할당받는다. 일 전형적 실시예에서, 매크로블록은 행당 11개의 매크로블록으로 구성된 9개의 행을 가지는 QCIF포맷 프레임에 대하여 도 5에서 도시된 전형적 매크로블록 할당 패턴에 따라 1에서 6까지의 번호를 부여받는다. 최대 MBGID는 최대 그룹 식별자(MGID : maximum group identifier)로 불린다. 도 5의 전형적인 실시예에서, MGID는 6이다. 도시된 바와 같이, MBGID는 동일한 MBGID가 할당되는 인접 매크로블록을 최소화하는 방식으로 할당된다. 대안으로, 다른 할당 패턴이 인접 매크로블록에 동일한 MBGID를 할당하거나 임의의 다른 할당순으로 할당할 수 있다.
이하에서 도 6과 연계하여 더 기술되는 바와 같이, 매크로블록의 할당, 따라서 인접 매크로블록은 동일한 MBGID로 할당되지 않고, 상실된 데이터 패킷의 매크로블록은 프레임을 통해 공간적으로 분산되므로, 유리하게도 프레임의 1 영역에서의 에러의 집중을 최소화한다. 상실된 패킷에 의한 에러는 프레임의 1영역에 집중되는것 같지는 않으므로, 상실된 매크로블록과 연계된 상실된 데이터는 이웃 매크로블록으로부터의 데이터를 사용하여 보다 정확하게 재구성될 수 있다. 즉, 프레임내의 데이터 상실이 공간적으로 국부적으로 나타나지 않으면, 이웃 매크로블록으로부터의 데이터의 공간적 보간이나 상실된 매크로블록의 움직임 벡터의 추정이 보다 정확히 결정된다.
리모트 화상회의 스테이션(도 2; 204)의 이미지 프로세싱 엔진(도 3; 310)의 코딩 엔진(도 4; 402)은 비디오 퀄리티를 개선하기위해 매크로블록의 재정리와 연계한 다양한 에러 은닉 기술을 사용할 수 있다. 예컨대, 본 발명의 일 실시예에서, 코딩 엔진(402)은 상실된 인터-코딩된 매크로블록의 이웃 매크로블록을 디코딩하고, 상실된 매크로블록의 움직임 벡터를 추정하고, 그 다음에 상실된 매크로블록의 데이터를 재구성하기 위해 추정된 움직임 벡터를 사용한다. 본 발명의 또다른 실시예에서, 코딩 엔진(402)은 상실된 인트라-코딩된 매크로블록의 이웃 매크로블록을 디코딩하고, 상실된 데이터를 재구성하기 위해 디코딩된 이웃 데이터를 공간적으로 보간할 수 있다. 본 발명의 범위는 상실되거나 손상된 매크로블록에 의한 비디오 퀄리티를 개선하기 위해 매크로블록 재정리와 관련된 다른 에러 은닉 기술을 포괄한다.
본 발명에 따른 상이한 재정리 패턴 및 MBGID가 사용될 수 있다. 본 발명의일 실시예에서, 매크로블록 재정리 엔진(404)은 비디오 데이터율 및/또는 비디오 포맷에 기초하여 MGID를 선택한다.
도 4로 돌아가서, 일단 매크로블록에 MBGID가 할당되었다면, 매크로블록 패킷화 엔진(406)이 MBGID에 따라 이산 데이터 패킷에 매크로블록을 위치시킨다. 따라서, 동일한 MBGID(예컨대, MBGID=1)를 가진 매크로블록은 공통의, 이산 데이터 패킷(예컨대, 데이터 패킷 1)에 위치된다. 도 5의 본 발명의 전형적인 실시예를 참조하면, 패킷화 엔진(406)은 매크로블록을 QCIF 프레임당 6개의 데이터 패킷에 위치시킨다. 그러나, 패킷화 엔진(406)은 주어진 MBGID를 가진 매크로블록을 전송하기위해 주어진 MBGID를 가진 하나 이상의 패킷을 사용할 수 있다. 예컨대, 패킷화 엔진(406)은 MBGID=1을 가진 매크로블록의 일부를 포함하는 제 1 데이터 패킷1 및 MBGID=1을 가진 매크로블록의 나머지를 포함하는 제 2 데이터 패킷1을 생성할 수 있다. 이러한 방식으로 패킷을 분할하는 것은 전형적으로 네트워크(도 2; 206)과 연계된 최대 전송 유닛크기(MTU : maximum transfer unit size)에 의해 조절된다.
이어서, 데이터 패킷과 픽쳐 헤더는 통신 인터페이스(도 3; 312)에 의해 네트워크(도 2; 206)를 통해 전송하기 위해 통신 버퍼(408)에 전송된다. 패킷 손실에 대한 회복을 더 촉진시키기위해, 픽쳐 헤더는 프레임당 한번이상 전송될 수 있다. 픽쳐 헤더는 인트라-매크로블록을 포함할 수 있다.
역으로, 이미지 프로세싱 엔진(310)은 또한 원거리 위치에서 수신된 비디오 데이터 패킷을 프로세싱하고 디스플레이하기위한 비디오 신호를 제공한다. 처음에, 비디오 데이터 패킷은 통신 인터페이스(도 3; 312)에 의해 수신되고, 통신 버퍼(408)에 전송된다. 그 다음에 비디오 데이터 패킷은, 매크로블록을 언패킹하는 매크로블록 패킷화 엔진(406)에 전송된다. 다음에, 매크로블록 재정리 엔진(404)은 매크로블록을 원래의, 정리된 패턴(즉, 전형적으로 라스터-스캔인, 리모트 화상회의 스테이션(도 2; 204)에서 매크로블록을 재정리하기전의 패턴)으로 재정리한다.
이어서, 코딩 엔진(402)은 디코더로서 기능하고, 비디오 데이터 패킷이 네트워크(206)를 통해 전송될때 상실되는지 여부를 판정한다. 도 6은 MBGID=5를 가진 매크로블록을 위한 코딩된 매크로블록 데이터를 포함하는 데이터 패킷이 상실될때의, 도 5의 QCIF 프레임 매크로블록 재정리 패턴의 도면이다. 상실된 매크로블록은 "x"로 마킹된다. 본 발명의 일 실시예에 따라, 상실된 매크로블록은 유리하게도 QCIF프레임을 통해 공간적으로 분산되고, 따라서 공간적 보간 또는 움직임 벡터 추정 및 보상과 같은 방법을 채용하는 정확하고, 덜복잡한 에러 은닉 기술을 가능하게 한다는 것을 주목해야 한다. 도 6이 설명의 편의를 위해 하나의 결손 데이터 패킷을 도시했지만, 본 발명의 범위는 전송하는동안 임의의 수의 데이터 패킷이 손상되거나 상실될때의 에러 은닉을 포괄한다. 본 명세서에서 전송과 수신의 양 기능을 위한 동일한 구성요소가 사용되는것처럼 기술되었지만, 별개의 수신기 및 송신기 디바이스에서 본 구성요소가 구체화될 수 있다는것 역시 주목해야 한다.
도 4를 다시 참조하면, 각각의 상실된 매크로블록을 위해, 코딩 엔진(402)은 상실된 매크로블록이 인트라-코딩되는지 인터-코딩되는지를 판정한다. 예컨대, 코딩 엔진(402)은 상실된 매크로블록이 인트라-코딩되는지를 판정하기 위해 인트라-매크로블록 맵을 검사할 수 있다. 상기한 바와 같이, 인트라-매크로블록 맵은 픽쳐 헤드 필드에 또는 비디오 스트림외부에 전달된 사이드 정보처럼 전송될 수 있고, 인트라-코딩된 매크로블록을 식별하는 비트맵과 같이 구성된, 런-렝쓰 인코딩 알고리즘, 또는 몇몇 다른 효율적인 코딩법을 사용하여 압축될 수 있다.
상실된 매크로블록이 인트라-코딩되면, 몇몇 에러 은닉 기술이 사용될 수 있다. 예컨대, 상실된 매크로블록이 "워크-어라운드-리프레시" 메커니즘의 일부와 같이 인트라-코딩되면, 코딩 엔진(402)은 상실된 매크로블록을 이전 프레임으로부터의 "대응" 매크로블록의 콘텐츠로 대체하고, 여기서 2개의 "대응" 매크로블록은 각각의 프레임의 동일한 공간적 영역을 포괄한다. 본 발명에 따라서, "워크-어라운드-리프레시" 메커니즘의 제거율은 데이터 및 에러율의 함수이다.
대안으로, 상실된 인트라-코딩된 매크로블록이 "워크-어라운드-리프레시" 메커니즘의 일부로서 코딩되지 않으면, 코딩 엔진(402)은 인접 매크로블록으로부터의 상실된 매크로블록의 콘텐츠를 공간적으로 보간한다. 본 발명의 일 실시예에서, 상실된 매크로블록의 각각의 8X8 블록은 인접 매크로블록에 위치한 2개의 가장 가까운 블록으로부터 공간적으로 보간된다. 도 7은 인접 매크로블록에 위치한 픽셀과 연계된 데이터를 사용하는 전형적인 보간 스킴을 도시한다. 도 7은 상실된 매크로블록(705), 좌측 인접 매크로블록(710), 상측 인접 매크로블록(715), 및 우측 인접 매크로블록(720)을 포함한다. 예컨대, 상실된 16X16 매크로블록(705)의 8X8 상부 좌측 블록(725)에 대한 데이터를 재구성(즉, 보간)하기 위해, 코딩 엔진(도4; 402)은 좌측 인접 매크로블록(710)의 8X8 상부 우측 블록(735)으로부터의 (x로 표시된) 데이터(730)의 마지막 열에 있는 데이터, 그리고 상측 인접 매크로블록(715)의 8X8 하측 블록(745)으로부터의 (x로 표시된) 데이터(740)의 마지막 행에 있는 데이터를 보간한다.
마찬가지로, 상실된 매크로블록(705)의 8X8 상부 우측 블록(750)에 대한 데이터를 재구성하기 위하여, 코딩 엔진(402)은 우측 인접 매크로블록(720)의 8X8 상부 좌측 블록(760)으로부터의 데이터(755)의 제 1 열에 있는 데이터, 그리고 상측 인접 매크로블록(715)의 8X8 하부 우측 블록(770)으로부터의 데이터(765)의 마지막 행에 있는 데이터를 보간한다. 본 발명의 범위내에서, 다른 형태의 보간 또한 적용될 수 있고 인접 매크로블록의 다른 블록이 이용될 수 있다.
상실된 매크로블록이 인터-코딩되면, 코딩 엔진(402)은 인접 매크로블록의 움직임 벡터를 검사함으로써 상실된 매크로블록의 움직임 벡터의 견적을 계산한다. 도 8은 본 발명의 일 실시예에 따라, 상실된 매크로블록m의 움직임 벡터를 추정하기위해 사용된 인접 매크로블록의 블록도이다. 상실된 매크로블록m을 위해, 3개의 이웃 매크로블록 a, b, c의 움직임 벡터의 중점이 계산된다. 예컨대, 매크로블록m의 추정된 움직임 벡터의 x성분은 MVm x=중점(MVa x', MVb x', MVc x)이고 매크로블록m의 추정된 움직임 벡터의 y성분은 MVm y=중점(MVa y', MVb y', MVc y)인데, 여기서 MVa x', MVb x', MVc x는 매크로블록a, b, c 각각의 움직임 벡터의 x성분이고, MVa y', MVb y', MVc y은 매크로블록a, b, c 각각의 움직임 벡터의 y성분이다. 본 발명의 도 8의 실시예가 매크로블록m에 대한 추정된 움직임 벡터를 계산하기위해 인접 매크로블록a, b, c로부터의 움직임 벡터를 사용하지만, 상실된 매크로블록의 움직임 벡터를 추정하기 위해 임의의 수 및 임의의 조합의 인접 매크로블록이 사용될 수 있다.
상실된 매크로블록의 움직임 벡터가 추정되면, 코딩 엔진(도 4; 402)은 상실된 매크로블록의 데이터 콘텐츠를 재구축하기 위해 추정된 움직임 벡터를 사용함으로써 상실된 매크로블록을 움직임 보상한다. 주어진 프레임의 모든 상실된 매크로블록의 데이터 콘텐츠가 재구축된후, 코딩 엔진(402)은 디스플레이 디바이스(도 3; 302)상에 디스플레이하기위해 매크로블록을 비디오 신호로 변형한다. 단 하나의 상실된 데이터 패킷으로써 도시되었지만, 본 발명은 복수의 상실된 데이터 패킷에 의한 에러를 은닉하는데 사용될 수 있다.
도 9는 본 발명의 일 실시예에 따라, 패킷 교환 네트워크를 통해 비디오 데이터를 전송할때 비디오 에러 은닉을 위한 방법의 단계의 전형적인 순서도(900)이다. 단계(905)에서, 비디오 캡쳐 디바이스(도 3; 308)는 비디오 이미지를 캡쳐하고 비디오 신호를 발생시킨다. 다음에, 단계(910)에서, (전송을 위한 데이터의 프로세싱시 인코더로도 불리는) 코딩 엔진(도 4; 402)은 비디오 신호를 수신하고 그 비디오 신호를 하나 이상의 인트라-코딩되고 인터-코딩된 매크로블록으로 변형시킨다. 비디오 프레임은 인터-코딩된 매크로블록, 인트라-코딩된 매크로블록, 또는 인트라-코딩되고 인터-코딩된 매크로블록의 임의의 조합을 포함할 수 있다. 본 발명의 일 실시예에서, "워크-어라운드-리프레시" 메커니즘은 일단의 소정의 워크-어라운드 간격으로부터 선택된 워크-어라운드 간격을 사용하여 매크로블록의 패턴을 인트라-코딩할 수 있다. 워크-어라운드 간격은 비디오 데이터율과 에러율에 기초하여 선택될 수 있다. 또한, 코딩 엔진(402)은 각각의 인터-코딩된 매크로블록에 대한 비차별적으로 인코딩된 움직임 벡터를 계산한다.
이어서, 단계(915)에서, 코딩 엔진(402)은 인트라-코딩된 매크로블록의 위치를 식별하는 인트라-매크로블록 맵을 발생시킨다. 본 발명의 일 실시예에서, 인트라-매크로블록 맵은 인트라-매크로블록 맵을 코딩하는데 필요한 전체 비트수에 기초한 비트맵 인코딩법이나 런-렝쓰 인코딩법을 사용하여 코딩된다.
다음에, 단계(920)에서 매크로블록 재정리 엔진(도 4; 404)은 각각의 매크로블록에 MBGID를 할당한다. 예컨대, 매크로블록은 도 5에 도시된 것과 같은 패턴으로 MBGID를 할당받을 수 있다. 일 실시예에서, 매크로블록은 동일한 MBGID로 할당되는 인접 매크로블록을 최소화하도록 할당된다. 대안으로, 인접 매크로블록에 동일한 MBGID를 할당하는 다른 실시예가 고려될 수 있다.
이후에, 단계(925)에서 매크로블록 패킷화 엔진(도 4; 406)은 이산 데이터 패킷을 생성하고 매크로블록을 MBGID에 따른 이산 데이터 패킷에 위치시킨다. 예컨대, 동일한 MBGID을 가진 매크로블록은 공통의 이산 데이터 패킷에 위치된다. 대안으로, 매크로블록 패킷화 엔진(406)은 회선 교환 네트워크상에서 전송하기 위해 매크로블록을 특정 포맷으로 위치시키기위한 전송 엔진일 수 있다. 마지막으로, 단계(930)에서, 리모트 화상회의 스테이션(도 2; 204)에 전송하기위해 데이터 패킷과 (인트라-매크로블록 맵을 포함하는) 픽쳐 헤더가 통신 버퍼(도 4; 408)에전송된다.
도 10은 본 발명에 따라, 비디오 데이터를 수신시에 비디오 에러 은닉을 위한 방법의 단계의 전형적인 순서도(1000)이다. 단계(1005)에서, 통신 버퍼(도 4; 408)는 네트워크(도 2; 206)를 경유하여 리모트 화상회의 스테이션(도 2; 204)으로 부터 전송된 데이터 패킷을 수신한다. 그 다음에, 단계(1010)에서, 매크로블록 패킷화 엔진(도 4; 406)은 수신된 데이터 패킷을 매크로블록으로 패킷화해제한다. 이후에, 단계(1015)에서, 매크로블록 재정리 엔진(도 4; 404)은 매크로블록을 정리하고 적당한 공간적 구성으로 비디오 프레임내에 매크로블록을 위치시킨다.
다음에, 단계(1020)에서 코딩 엔진(도 4; 402)은 매크로블록을 디코딩한다. 단계(1025)에서 (디코더로서 기능하는) 코딩 엔진(402)이나 비디오 데이터 패킷 변형에 관한 몇몇 다른 메커니즘(예컨대, RTP 시퀀스 넘버)은 비디오 프레임을 포함하는 임의의 매크로블록이 손실되는지 여부를 판정한다. 하나 이상의 비디오 데이터 패킷이 네트워크(206)를 통한 비디오 데이터 패킷의 전송을 통해 상실되거나 손상되면 매크로블록은 상실된다. 단계(1025)에서, 매크로블록이 손실되지않다고 판정되면, 단계(1030)에서 매크로블록은 디스플레이 디바이스(도 3; 302)에 의해 디스플레이된다. 그러나, 단계(1025)에서, 하나 이상의 매크로블록이 손실된다고 판정되면, 단계(1035)에서 하나 이상의 매크로블록과 연계된 데이터는 매크로블록 코딩 타입에 기초하여, 재구성된다. 코딩 엔진(402)은 각각의 상실된 매크로블록의 코딩 타입을 결정하기위해 인트라-매크로블록 맵을 사용할 수 있다.
예컨대, 상실된 매크로블록이 "워크-어라운드-리프레시" 메커니즘의 일부로서 인트라-코딩되면, 코딩 엔진(402)은 상실된 매크로블록의 콘텐츠를 이전 프레임으로부터의 대응 매크로블록의 데이터 콘텐츠로 대체한다. 대안으로, 상실된 인트라-코딩된 매크로블록이 "워크-어라운드-리프레시" 메커니즘의 일부로서 코딩되지 않으면, 상실된 매크로블록의 콘텐츠는 가장 이웃한 인접 매크로블록으로부터 공간적으로 보간된다. 본 발명의 일 실시예에서, 코딩 엔진(402)은 인접 매크로블록으로부터의 데이터를 보간하기 위해 2차원 보간을 사용한다(도 7).
대안으로, 상실된 매크로블록이 인터-코딩되면, 코딩 엔진(402)은 인접 매크로블록의 움직임 벡터를 검사함으로써 상실된 매크로블록의 움직임 벡터를 추정한다. 본 발명의 일 실시예에서, 움직임 벡터는 3개의 이웃 매크로블록의 움직임 벡터의 중점으로서 계산된다(도 8). 그 다음에 코딩 엔진(402)은 상실된 매크로블록의 데이터 콘텐츠의 견적을 재구성함으로써 상실된 매크로블록의 데이터 콘텐츠를 보상하기위해 추정된 움직임 벡터를 사용한다. 일단 손실된 매크로블록의 데이터 콘텐츠가 재구성되면, 단계(1025)에서, 매크로블록은 디스플레이 디바이스(302)에 의해 디스플레이된다.
본 발명은 전형적인 실시예를 참조하여 설명되었다. 본 발명의 사상과 범위의 테두리를 벗어남이없이 다양한 변형이 수행될 수 있음은 당업자에게 명백하다. 더욱이, 본 발명이 특별한 환경에서 특별한 응용분야를 위해 구현된다는 관점에서 기술되었지만, 본 발명의 유용성은 그것으로 제한되지 않고 임의의 많은 환경과 구현을 위해 유용하게 사용될 수 있음을 당업자는 이해할 것이다. 따라서, 상기 상세한 설명과 도면은 제한적 관점이 아닌 설명을 위한 것으로 이해되어야 한다.

Claims (49)

  1. 비디오 데이터를 프로세싱하기위한 시스템으로서,
    매크로블록을 발생시키고 상기 매크로블록을 인코딩하기 위하여 비디오 신호의 각각의 프레임을 프로세싱하기 위한 코딩 엔진;
    복수의 MBGID로부터 상기 MBGID를 각각의 매크로블록에 할당하기 위한 매크로블록 재정리 엔진; 및
    상기 인코딩된 매크로블록의 각각을 상기 MBGID에 따라 특정 데이터 패킷에 위치시키기위한 매크로블록 패킷화 엔진을 포함하는 것을 특징으로 하는 시스템.
  2. 제 1 항에 있어서, 상기 매크로블록 재정리 엔진은 상이한 MBGID를 인접 인코딩된 매크로블록에 할당하는 것을 특징으로 하는 시스템.
  3. 제 1 항에 있어서, 상기 코딩 엔진은 인터-코딩 매크로블록인 상기 인코딩된 매크로블록의 각각을 위해 비차별적으로 인코딩된 움직임 벡터를 발생시키는 것을 특징으로 하는 시스템.
  4. 제 1 항에 있어서, 상기 매크로블록 패킷화 엔진은 상이하게 할당된 MBGID를 가진 인코딩된 매크로블록을 상이한 데이터 패킷에 위치시키는 것을 특징으로 하는 시스템.
  5. 제 1 항에 있어서, 상기 MBGID는 1에서부터 MGID까지의 값을 가지는 것을 특징으로 하는 시스템.
  6. 제 5 항에 있어서, 상기 매크로블록 재정리 엔진은 비디오 데이터율에 기초하여 상기 MGID를 결정하는 것을 특징으로 하는 시스템.
  7. 제 5 항에 있어서, 상기 매크로블록 재정리 엔진은 비디오 포맷에 기초하여 상기 MGID를 결정하는 것을 특징으로 하는 시스템.
  8. 제 1 항에 있어서, 상기 코딩 엔진은 현재 프레임의 소정의 매크로블록의 데이터와 이전 프레임의 가장 근접한 매칭 오프세트 매크로블록의 데이터사이에 상당한 차이가 있으면 현재 프레임의 소정의 매크로블록을 인트라-코딩 매크로블록으로 인코딩하는 것을 특징으로 하는 시스템.
  9. 제 1 항에 있어서, 상기 코딩 엔진은 현재 프레임의 소정의 매크로블록의 데이터와 이전 프레임의 가장 근접한 매칭 오프세트 매크로블록의 데이터사이에 상당한 유사성이 있으면 현재 프레임의 소정의 매크로블록을 인터-코딩 매크로블록으로 인코딩하는 것을 특징으로 하는 시스템.
  10. 제 1 항에 있어서, 상기 코딩 엔진은 소정의 프레임내의 인트라-코딩 매크로블록을 식별하는 인트라-매크로블록 맵을 더 발생시키는 것을 특징으로 하는 시스템.
  11. 제 10 항에 있어서, 상기 코딩 엔진은 가장적은 비트수를 발생시키는 인트라-매크로블록 맵 인코딩법을 선택함으로써 상기 인트라-매크로블록 맵을 인코딩하는 것을 특징으로 하는 시스템.
  12. 제 10 항에 있어서, 상기 코딩 엔진은 상기 인트라-매크로블록 맵을 인코딩하기 위해 런-렝쓰 인코딩을 사용하는 것을 특징으로 하는 시스템.
  13. 제 10 항에 있어서, 상기 코딩 엔진은 상기 인트라-매크로블록 맵을 인코딩하기 위해 비트맵을 사용하는 것을 특징으로 하는 시스템.
  14. 제 1 항에 있어서, 수신 디바이스의 매크로블록 패킷화 엔진은 상기 인코딩된 매크로블록을 패킷화해제하는 것을 특징으로 하는 시스템.
  15. 제 1 항에 있어서, 수신 디바이스의 매크로블록 재정리 엔진은 상기 인코딩된 매크로블록을 정리하는 것을 특징으로 하는 시스템.
  16. 제 1 항에 있어서, 수신 디바이스의 코딩 엔진은 상기 인코딩된 매크로블록을 디코딩하고 손실된 디코딩된 매크로블록을 발견하는 것을 특징으로 하는 시스템.
  17. 제 16 항에 있어서, 상기 수신 디바이스의 상기 코딩 엔진은, 소정의 손실된 디코딩된 매크로블록이 인트라-코딩 매크로블록으로서 인코딩되었다면, 비디오 에러의 효과를 은닉하기위하여 인접 디코딩된 매크로블록의 데이터로부터 소정의 손실된 디코딩된 매크로블록의 데이터를 공간적으로 보간하는 것을 특징으로 하는 시스템.
  18. 제 16 항에 있어서, 상기 수신 디바이스의 코딩 엔진은, 소정의 손실된 디코딩된 매크로블록이 인터-코딩 매크로블록으로서 인코딩되었다면, 비디오 에러의 효과를 은닉하기 위해 움직임 보상을 거쳐 상기 소정의 손실된 디코딩된 매크로블록의 데이터 콘텐츠를 재구성하기위해 인접 디코딩된 매크로블록의 움직임벡터에 기초하여 소정의 손실된 디코딩된 매크로블록의 움직임 벡터를 추정하는 것을 특징으로 하는 시스템.
  19. 제 1 항에 있어서, 상기 매크로블록 패킷화 엔진은 회선 교환 네트워크상에서 전송하기위해 상기 MBGID에 따라 인코딩된 매크로블록의 각각을 특정 포맷에 위치시키기위한 전송 엔진인 것을 특징으로 하는 시스템.
  20. 비디오 데이터를 프로세싱하기위한 방법으로서,
    매크로블록을 발생시키기 위하여 비디오 신호의 각각의 프레임을 프로세싱하는 단계;
    상기 매크로블록을 인코딩하는 단계;
    복수의 MBGID로부터의 MBGID를 각각의 인코딩된 매크로블록에 할당하는 단계; 및
    상기 인코딩된 매크로블록의 각각을 MBGID에 따른 특정 데이터 패킷에 위치시키는 단계를 포함하는 것을 특징으로 하는 방법.
  21. 제 20 항에 있어서, 상기 할당하는 단계는 인접 인코딩된 매크로블록에 상이한 MBGID를 할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제 20 항에 있어서, 인터-코딩 매크로블록인 상기 인코딩된 매크로블록의 각각에 대하여 비차별적으로 인코딩된 움직임 벡터를 발생시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제 20 항에 있어서, 상기 위치시키는 단계는 상이하게 할당된 MBGID를 가진 인코딩된 매크로블록을 상이한 데이터 패킷에 위치시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 제 20 항에 있어서, 상기 MBGID는 1에서 MGID까지의 값을 가지는 것을 특징으로 하는 방법.
  25. 제 23 항에 있어서, 비디오 데이터율에 기초하여 상기 MGID를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제 23 항에 있어서, 비디오 포맷에 기초하여 상기 MGID를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  27. 제 20 항에 있어서, 상기 인코딩하는 단계는 현재 프레임의 소정의 매크로블록의 데이터와 이전 프레임의 가장 근접한 매칭 오프세트 매크로블록의 데이터사이에 상당한 차이가 존재하면 현재 프레임의 소정의 매크로블록을 인트라-코딩 매크로블록으로 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  28. 제 20 항에 있어서, 상기 인코딩하는 단계는 현재 프레임의 소정의 매크로블록의 데이터와 이전 프레임의 가장 근접한 매칭 오프세트 매크로블록의 데이터사이에 상당한 유사성이 존재하면 현재 프레임의 소정의 매크로블록을 인터-코딩된 매크로블록으로 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  29. 제 20 항에 있어서, 소정의 매크로블록내의 인트라-코딩 매크로블록을 식별하는 인트라-매크로블록 맵을 발생시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  30. 제 29 항에 있어서, 최소 비트수를 발생시키는 인트라-매크로블록 맵 인코딩법을 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  31. 제 29 항에 있어서, 상기 인트라-매크로블록 맵을 인코딩하기 위해 런-렝쓰 인코딩을 사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  32. 제 29 항에 있어서, 상기 인트라-매크로블록 맵을 인코딩하기 위해 비트맵을 사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  33. 제 20 항에 있어서, 상기 인코딩된 매크로블록을 패킷화해제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  34. 제 20 항에 있어서, 상기 인코딩된 매크로블록을 정리하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  35. 제 20 항에 있어서, 상기 인코딩된 매크로블록을 디코딩하는 단계와 손실된디코딩된 매크로블록을 검출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  36. 제 35 항에 있어서, 상기 소정의 손실된 디코딩된 매크로블록이 인트라-코딩 매크로블록이었다면, 비디오 에러의 효과를 은닉하기 위해 인접 디코딩된 매크로블록의 데이터로부터 소정의 손실된 디코딩된 매크로블록의 데이터를 공간적으로 보간하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  37. 제 35 항에 있어서, 상기 소정의 손실된 디코딩된 매크로블록이 인터-코딩 매크로블록으로 인코딩되었다면, 비디오 에러의 효과를 은닉하기 위해 움직임 보상을 통해 상기 소정의 손실된 디코딩된 매크로블록의 데이터 콘텐츠를 재구성하기 위하여 인접 디코딩된 매크로블록의 움직임 벡터에 기초하여 소정의 손실된 디코딩된 매크로블록의 움직임 벡터를 추정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  38. 제 20 항에 있어서, 상기 위치시키는 단계는 회선 교환 네트워크상에서 전송하기 위해 상기 MBGID에 따라 인코딩된 매크로블록의 각각을 특정 포맷에 위치시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  39. 비디오 데이터를 프로세싱하기 위한 방법의 각 단계를 수행하기 위하여 기계에 의하여 실행가능한 프로그램에 구체화된 전자-판독가능 매체에 있어서, 상기 방법은,
    매크로블록을 발생시키기 위해 비디오 신호의 각각의 프레임을 프로세싱하는 단계;
    매크로블록을 인코딩하는 단계;
    복수의 MBGID로부터의 MBGID을 각각의 인코딩된 매크로블록에 할당하는 단계; 및
    상기 MBGID에 따라 상기 인코딩된 매크로블록의 각각을 특정 데이터 패킷에 위치시키는 단계를 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  40. 제 39 항에 있어서, 인접한 인코딩된 매크로블록에 상이한 MBGID를 할당하는 단계를 더 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  41. 제 39 항에 있어서, 인터-코딩 매크로블록인 상기 인코딩된 매크로블록의 각각에 대하여 비차별적으로 인코딩된 움직임 벡터를 발생시키는 단계를 더 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  42. 제 39 항에 있어서, 상기 위치시키는 단계는 상이하게 할당된 MBGID를 가진 상기 인코딩된 매크로블록을 상이한 데이터 패킷에 위치시키는 단계를 더 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  43. 제 39 항에 있어서, 상기 인코딩하는 단계는 현재 프레임의 소정의 매크로블록의 데이터와 이전 프레임의 최근접 매칭 오프세트 매크로블록의 데이터사이에 상당한 차이가 존재하면 현재의 프레임의 소정의 매크로블록을 인트라-코딩 매크로블록으로 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  44. 제 39 항에 있어서, 상기 인코딩하는 단계는 현재 프레임의 소정의 매크로블록의 데이터와 이전 프레임의 최근접 매칭 오프세트 매크로블록의 데이터사이에 상당한 유사성이 존재하면 현재의 프레임의 소정의 매크로블록을 인터-코딩 매크로블록으로 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  45. 제 39 항에 있어서, 소정의 프레임내의 인트라-코딩 매크로블록을 식별하는 인트라-매크로블록 맵을 발생시키는 단계를 더 포함하는 것을 특징으로 하는 전자-판독가능 매체.
  46. 비디오 데이터를 프로세싱하기위한 방법으로서,
    비디오 신호의 각각의 프레임을 위한 매크로블록을 발생시키는 단계;
    상기 매크로블록을 인코딩하는 단계;
    복수의 MBGID로부터의 MBGID를 각각의 인코딩된 매크로블록에 할당하는 단계;
    상이하게 할당된 MBGID를 가진 인코딩된 매크로블록을 상이한 데이터 패킷으로 위치시키는 단계;
    상기 상이한 데이터 패킷을 리모트 디바이스로 전송하는 단계'
    상기 리모트 디바이스에 수신된 상이한 데이터 패킷의 인코딩된 매크로블록을 디코딩하는 단계;
    손실된 디코딩된 매크로블록을 검출하는 단계; 및
    상기 손실된 디코딩된 매크로블록의 데이터를 재구성하는 단계를 포함하는 것을 특징으로 하는 방법.
  47. 제 46 항에 있어서, 상기 데이터를 재구성하는 단계는 소정의 손실된 디코딩된 매크로블록이 인트라-코딩 매크로블록이었다면, 비디오 에러의 효과를 은닉하기 위해 인접 디코딩된 매크로블록의 데이터로부터 소정의 손실된 디코딩된 매크로블록의 데이터를 공간적으로 보간하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  48. 제 46 항에 있어서, 상기 데이터를 재구성하는 단계는 상기 소정의 손실된 디코딩된 매크로블록이 인터-코딩 매크로블록으로 인코딩되었다면, 비디오 에러의 효과를 은닉하기 위해 움직임 보상을 통해 상기 소정의 손실된 디코딩된 매크로블록의 데이터 콘텐츠를 재구성하기 위해 인접 디코딩된 매크로블록의 움직임 벡터에 기초하여 소정의 손실된 디코딩된 매크로블록의 움직임 벡터를 추정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  49. 비디오 데이터를 프로세싱하기위한 시스템으로서,
    매크로블록을 발생시키기 위해 비디오 신호의 각각의 프레임을 프로세싱하기위한 수단;
    상기 매크로블록을 인코딩하기위한 수단;
    MBGID로부터의 MBGID를 각각의 인코딩된 매크로블록에 할당하기위한 수단; 및
    상기 인코딩된 매크로블록의 각각을 상기 MBGID에 따라 특정 데이터 패킷에 위치시키기위한 수단을 포함하는 것을 특징으로 하는 시스템.
KR1020047002604A 2001-08-23 2002-08-23 비디오 에러 은닉을 위한 시스템 및 방법 KR100691307B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US31441301P 2001-08-23 2001-08-23
US60/314,413 2001-08-23
PCT/US2002/026577 WO2003019939A1 (en) 2001-08-23 2002-08-23 System and method for video error concealment

Publications (2)

Publication Number Publication Date
KR20040027982A true KR20040027982A (ko) 2004-04-01
KR100691307B1 KR100691307B1 (ko) 2007-03-12

Family

ID=23219857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047002604A KR100691307B1 (ko) 2001-08-23 2002-08-23 비디오 에러 은닉을 위한 시스템 및 방법

Country Status (15)

Country Link
US (2) US7239662B2 (ko)
EP (1) EP1421787A4 (ko)
JP (2) JP4881543B2 (ko)
KR (1) KR100691307B1 (ko)
CN (1) CN100581238C (ko)
AU (1) AU2002326713B2 (ko)
BR (2) BR0212000A (ko)
CA (1) CA2457882C (ko)
IL (2) IL160476A0 (ko)
MX (1) MXPA04001656A (ko)
NO (2) NO339116B1 (ko)
NZ (1) NZ531863A (ko)
RU (1) RU2291586C2 (ko)
WO (1) WO2003019939A1 (ko)
ZA (1) ZA200401377B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101012624B1 (ko) * 2005-05-11 2011-02-09 퀄컴 인코포레이티드 통합 에러 은폐 프레임워크를 위한 방법 및 장치

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965644B2 (en) * 1992-02-19 2005-11-15 8×8, Inc. Programmable architecture and methods for motion estimation
WO2003061284A1 (en) * 2001-12-21 2003-07-24 Polycom, Inc. Motion wake identification and control mechanism
US20060146940A1 (en) * 2003-01-10 2006-07-06 Thomson Licensing S.A. Spatial error concealment based on the intra-prediction modes transmitted in a coded stream
MXPA05007452A (es) * 2003-01-10 2005-09-12 Thomson Licensing Sa Tecnica para definir orden de disimulo para minimizar la propagacion de error.
US7827458B1 (en) 2003-03-03 2010-11-02 Apple Inc. Packet loss error recovery
US7817716B2 (en) * 2003-05-29 2010-10-19 Lsi Corporation Method and/or apparatus for analyzing the content of a surveillance image
US8705613B2 (en) * 2003-06-26 2014-04-22 Sony Corporation Adaptive joint source channel coding
US7826526B2 (en) * 2003-10-20 2010-11-02 Logitech Europe S.A. Methods and apparatus for encoding and decoding video data
US8582640B2 (en) * 2003-12-16 2013-11-12 Sony Corporation Adaptive joint source channel coding
US20050281339A1 (en) * 2004-06-22 2005-12-22 Samsung Electronics Co., Ltd. Filtering method of audio-visual codec and filtering apparatus
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
JP2006060813A (ja) * 2004-08-20 2006-03-02 Polycom Inc ビデオデコーダにおける誤り隠蔽
EP1638337A1 (en) 2004-09-16 2006-03-22 STMicroelectronics S.r.l. Method and system for multiple description coding and computer program product therefor
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7463755B2 (en) * 2004-10-10 2008-12-09 Qisda Corporation Method for correcting motion vector errors caused by camera panning
US20060262860A1 (en) * 2005-02-23 2006-11-23 Chou Jim C Macroblock adaptive frame/field coding architecture for scalable coding
US7738468B2 (en) * 2005-03-22 2010-06-15 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US9661376B2 (en) 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
US9055298B2 (en) 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
US7916796B2 (en) * 2005-10-19 2011-03-29 Freescale Semiconductor, Inc. Region clustering based error concealment for video data
US9794593B1 (en) * 2005-12-09 2017-10-17 Nvidia Corporation Video decoder architecture for processing out-of-order macro-blocks of a video stream
US9516326B1 (en) 2005-12-09 2016-12-06 Nvidia Corporation Method for rotating macro-blocks of a frame of a video stream
US8238442B2 (en) * 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
US9247260B1 (en) * 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
CN101202923B (zh) * 2006-12-15 2010-09-01 扬智科技股份有限公司 影像解码器的码流错误侦测方法
US8265159B2 (en) * 2006-12-27 2012-09-11 Panasonic Corporation Moving picture decoding apparatus
WO2008092104A2 (en) * 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US7957307B2 (en) * 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
KR101125846B1 (ko) * 2007-03-23 2012-03-28 삼성전자주식회사 패킷 기반의 영상 프레임 전송 방법 및 장치
US8582656B2 (en) 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
US8605779B2 (en) 2007-06-20 2013-12-10 Microsoft Corporation Mechanisms to conceal real time video artifacts caused by frame loss
DE102007058033A1 (de) * 2007-11-30 2009-06-04 Paterok, Peter, Dr. Verfahren und Vorrichtung zur verbesserten Videoausgabe
FR2929466A1 (fr) * 2008-03-28 2009-10-02 France Telecom Dissimulation d'erreur de transmission dans un signal numerique dans une structure de decodage hierarchique
US20100104003A1 (en) * 2008-10-24 2010-04-29 Manufacturing Resources International Inc. System and method for securely transmitting video data
US9812047B2 (en) 2010-02-25 2017-11-07 Manufacturing Resources International, Inc. System and method for remotely monitoring the operating life of electronic displays
US8648858B1 (en) 2009-03-25 2014-02-11 Skyfire Labs, Inc. Hybrid text and image based encoding
CN102036061B (zh) 2009-09-30 2012-11-21 华为技术有限公司 视频数据传输处理、发送处理方法、装置和网络系统
KR101457418B1 (ko) * 2009-10-23 2014-11-04 삼성전자주식회사 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US20110249127A1 (en) * 2010-04-07 2011-10-13 Cisco Technology, Inc. Estimating Video Quality Corruption in Lossy Networks
JP5485851B2 (ja) * 2010-09-30 2014-05-07 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
US9542611B1 (en) * 2011-08-11 2017-01-10 Harmonic, Inc. Logo detection for macroblock-based video processing
CN103179468B (zh) * 2011-12-22 2018-03-30 海尔集团公司 多媒体数据传输装置、系统及方法
GB2499831B (en) * 2012-03-02 2015-08-05 Canon Kk Method and device for decoding a bitstream
RU2485592C1 (ru) * 2012-03-07 2013-06-20 Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" Способ формирования целочисленных неортогональных декоррелирующих матриц заданных размеров и устройство для его осуществления
US9386326B2 (en) 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
US9479788B2 (en) * 2014-03-17 2016-10-25 Qualcomm Incorporated Systems and methods for low complexity encoding and background detection
JP6481457B2 (ja) * 2015-03-26 2019-03-13 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法
US10319408B2 (en) 2015-03-30 2019-06-11 Manufacturing Resources International, Inc. Monolithic display with separately controllable sections
US10922736B2 (en) 2015-05-15 2021-02-16 Manufacturing Resources International, Inc. Smart electronic display for restaurants
US10269156B2 (en) 2015-06-05 2019-04-23 Manufacturing Resources International, Inc. System and method for blending order confirmation over menu board background
EP3347793A4 (en) 2015-09-10 2019-03-06 Manufacturing Resources International, Inc. SYSTEM AND METHOD FOR SYSTEMIC DETECTION OF DISPLAY ERRORS
CN105611290B (zh) * 2015-12-28 2019-03-26 惠州Tcl移动通信有限公司 一种基于移动终端的无线传输图片的处理方法和系统
US10319271B2 (en) 2016-03-22 2019-06-11 Manufacturing Resources International, Inc. Cyclic redundancy check for electronic displays
US10313037B2 (en) 2016-05-31 2019-06-04 Manufacturing Resources International, Inc. Electronic display remote image verification system and method
US10510304B2 (en) 2016-08-10 2019-12-17 Manufacturing Resources International, Inc. Dynamic dimming LED backlight for LCD array
CN107888931B (zh) * 2017-11-28 2020-03-17 上海大学 一种利用视频统计特征预测差错敏感度的方法
US11645029B2 (en) 2018-07-12 2023-05-09 Manufacturing Resources International, Inc. Systems and methods for remotely monitoring electronic displays
US10908863B2 (en) 2018-07-12 2021-02-02 Manufacturing Resources International, Inc. System and method for providing access to co-located operations data for an electronic display
CN109936624B (zh) * 2019-01-31 2022-03-18 平安科技(深圳)有限公司 Http请求报文头的适配方法、装置和计算机设备
US11402940B2 (en) 2019-02-25 2022-08-02 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
US11137847B2 (en) 2019-02-25 2021-10-05 Manufacturing Resources International, Inc. Monitoring the status of a touchscreen
US11965804B2 (en) 2021-07-28 2024-04-23 Manufacturing Resources International, Inc. Display assemblies with differential pressure sensors
US11921010B2 (en) 2021-07-28 2024-03-05 Manufacturing Resources International, Inc. Display assemblies with differential pressure sensors
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays
US11972672B1 (en) 2022-10-26 2024-04-30 Manufacturing Resources International, Inc. Display assemblies providing open and unlatched alerts, systems and methods for the same

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0286241A (ja) * 1988-09-21 1990-03-27 Nippon Telegr & Teleph Corp <Ntt> 可変レート画像階層符号化伝送方式
US5400076A (en) * 1991-11-30 1995-03-21 Sony Corporation Compressed motion picture signal expander with error concealment
US5440344A (en) * 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
US5576902A (en) * 1993-01-13 1996-11-19 Hitachi America, Ltd. Method and apparatus directed to processing trick play video data to compensate for intentionally omitted data
JP2679941B2 (ja) * 1993-05-10 1997-11-19 松下電器産業株式会社 ディジタル磁気記録再生装置
KR940026915A (ko) * 1993-05-24 1994-12-10 오오가 노리오 디지탈 비디오신호 기록장치 및 재생장치 및 기록방법
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
JPH0730855A (ja) * 1993-07-08 1995-01-31 Sony Corp ビデオデータの記録方法
EP0647066A3 (en) * 1993-09-30 1996-08-14 Toshiba Kk Packet conversion apparatus and system.
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication system
JP3046224B2 (ja) * 1994-07-26 2000-05-29 三星電子株式会社 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
JPH08256333A (ja) * 1995-03-16 1996-10-01 Matsushita Electric Ind Co Ltd 画像符号化復号方法及び装置
JPH0973617A (ja) * 1995-09-07 1997-03-18 Sony Corp 回転ヘッド装置
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5724369A (en) 1995-10-26 1998-03-03 Motorola Inc. Method and device for concealment and containment of errors in a macroblock-based video codec
JP3400428B2 (ja) * 1996-05-17 2003-04-28 松下電器産業株式会社 画像伝送方法
KR0178756B1 (ko) * 1996-06-29 1999-04-15 김광호 셔플을 위한 최적의 메모리 제어방법 및 그 장치
US6154780A (en) * 1996-12-18 2000-11-28 Intel Corporation Method and apparatus for transmission of a flexible and error resilient video bitstream
GB9703470D0 (en) * 1997-02-19 1997-04-09 Thomson Consumer Electronics Trick play reproduction of MPEG encoded signals
US6639945B2 (en) * 1997-03-14 2003-10-28 Microsoft Corporation Method and apparatus for implementing motion detection in video compression
JP4014263B2 (ja) * 1997-10-01 2007-11-28 松下電器産業株式会社 映像信号変換装置及び映像信号変換方法
US6311297B1 (en) 1997-10-23 2001-10-30 Sony Corporation Apparatus and method for mapping an image to blocks to provide for robust error recovery in a lossy transmission environment
JPH11298878A (ja) * 1998-04-08 1999-10-29 Nec Corp 画像スクランブル方法およびそれを実施する装置
GB2347038A (en) * 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US6754271B1 (en) * 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US6115076A (en) 1999-04-20 2000-09-05 C-Cube Semiconductor Ii, Inc. Compressed video recording device with non-destructive effects addition
JP2001078042A (ja) * 1999-09-03 2001-03-23 Fuji Xerox Co Ltd 画像伸長処理装置および画像圧縮処理装置
JP3976975B2 (ja) * 1999-12-22 2007-09-19 キヤノン株式会社 画像処理装置及びその方法と記憶媒体
US6993074B2 (en) * 2000-03-24 2006-01-31 Microsoft Corporation Methods and arrangements for handling concentric mosaic image data
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101012624B1 (ko) * 2005-05-11 2011-02-09 퀄컴 인코포레이티드 통합 에러 은폐 프레임워크를 위한 방법 및 장치

Also Published As

Publication number Publication date
JP4881543B2 (ja) 2012-02-22
NO20161599A1 (no) 2004-04-23
US20030039312A1 (en) 2003-02-27
RU2004105598A (ru) 2005-07-20
NO343205B1 (no) 2018-12-03
EP1421787A1 (en) 2004-05-26
CA2457882C (en) 2009-06-02
NO339116B1 (no) 2016-11-14
KR100691307B1 (ko) 2007-03-12
CA2457882A1 (en) 2003-03-06
ZA200401377B (en) 2005-07-27
IL160476A0 (en) 2004-07-25
JP2012070391A (ja) 2012-04-05
AU2002326713B2 (en) 2006-12-14
EP1421787A4 (en) 2008-10-08
WO2003019939A1 (en) 2003-03-06
NO20040754L (no) 2004-04-23
BR0212000A (pt) 2004-09-28
RU2291586C2 (ru) 2007-01-10
IL160476A (en) 2009-02-11
NZ531863A (en) 2005-10-28
MXPA04001656A (es) 2004-11-22
CN100581238C (zh) 2010-01-13
CN1679330A (zh) 2005-10-05
US20070230583A1 (en) 2007-10-04
JP2005501488A (ja) 2005-01-13
US7239662B2 (en) 2007-07-03
BRPI0212000B1 (pt) 2017-12-12

Similar Documents

Publication Publication Date Title
KR100691307B1 (ko) 비디오 에러 은닉을 위한 시스템 및 방법
US7020203B1 (en) Dynamic intra-coded macroblock refresh interval for video error concealment
AU2002326713A1 (en) System and method for video error concealment
JP5456106B2 (ja) ビデオ誤り隠蔽法
US8780970B2 (en) Motion wake identification and control mechanism
US20110026592A1 (en) Intra block walk around refresh for h.264
EP1466477A2 (en) Coding dynamic filters
WO2000027129A1 (en) Error concealment in a video signal
KR100585710B1 (ko) 가변길이 동영상 부호화 방법
KR100590328B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
KR100557118B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
Karlekar Content based robust video coding for videoconferencing

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: 20130130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160223

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200220

Year of fee payment: 14