KR100719493B1 - 비디오 디코더에서의 에러 은닉 - Google Patents

비디오 디코더에서의 에러 은닉 Download PDF

Info

Publication number
KR100719493B1
KR100719493B1 KR1020050076047A KR20050076047A KR100719493B1 KR 100719493 B1 KR100719493 B1 KR 100719493B1 KR 1020050076047 A KR1020050076047 A KR 1020050076047A KR 20050076047 A KR20050076047 A KR 20050076047A KR 100719493 B1 KR100719493 B1 KR 100719493B1
Authority
KR
South Korea
Prior art keywords
macroblock
frame
broken
error
video
Prior art date
Application number
KR1020050076047A
Other languages
English (en)
Other versions
KR20060053152A (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 KR20060053152A publication Critical patent/KR20060053152A/ko
Application granted granted Critical
Publication of KR100719493B1 publication Critical patent/KR100719493B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • 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/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

여기에 개시된 에러 은닉 기술은 인코더가 무엇을 하는지 여부에 관계없이 비트스트림 에러를 은닉하기 위해 디코더에 의해, 존재하는 정보를 사용하는 것에 관한 것이다. 기존의 정보의 예는 예를 들어, 이전의 기준 프레임, 이 이전 기준 프레임에 관한 매크로블록 정보등을 포함한다. 여기에 기술된 시스템의 또 다른 태양은 전송 에러로부터 탁월하게 복구하는 디코더의 능력을 강화시키기 위해 인코더가 취할 수 있는 단계에 관한 것이다. 인코더에 의해 취해질 수 있는 단계예는 인트라 워크 어라운드 및 GOB 헤더를 전송하는 단계를 포함한다. 이러한 인코더 기술이 매우 향상된 결과를 제공할 수 있지만 여기에 기술된 시스템에 반드시 필요한 것은 아니다.
에러 은닉, 인코더, 디코더, 비트스트림 에러, 기준 프레임, 매크로블록

Description

비디오 디코더에서의 에러 은닉{ERROR CONCEALMENT IN A VIDEO DECODER}
도 1은 H.320 비디오 호출에 사용되는 유니버셜 에러 시퀀스를 도시하는 도면,
도 2는 H.261 코덱을 사용하는 H.320 비디오 호출에 사용되는 에러 시퀀스를 도시하는 도면, 및
도 3은 H.263 코덱을 사용하는 H.320 비디오 호출에 사용되는 에러 시퀀스를 도시하는 도면.
1. 본 발명의 분야
본 발명은 일반적으로 비디오 통신에 관한 것이고 보다 상세하게는 비디오 비트스트림내의 에러를 검출하고 은닉하는 방법에 관한 것이다.
2. 관련 분야의 설명
비디오 이미지의 디지털화는 점차 중요해지고 있다. 글로벌 통신(예를 들어, 화상회의)에 사용되는 것 이외에, 디지털 비디오 레코딩을 위한 비디오 이미지의 디지털화는 역시 점차 보편화되고 있다. 이러한 애플리케이션의 각각에서, 비 디오 정보는 전화선, ISDN, DSL, 및 무선 주파수와 같은 통신 링크를 통해 전송되거나 DVDs 및 SVCDs와 같은 다양한 미디어 디바이스에 저장된다. 많은 경우에, 전송 및/또는 저장은 에러가 비디오 비트스트림내에 유입되는 것에 취약하다.
비디오 데이터의 효율적인 전송, 수신 및/또는 저장은 보통 비디오 데이터를 인코딩하고 압축하는 단계를 필요로 한다. 소스 비디오 신호를 인코딩하고 압축하는 복수의 접근법 및 스탠더드가 존재한다. 일부 스탠더드는 비디오 화상 애플리케이션내에 확장되어 사용되는 ITU-T 권고 H.261, H.263, 및 H.264와 같은 특정 애플리케이션을 위해 설계되어 있다. 또한, 동화전문가그룹(MPEG-2, MPEG-4)에 의해 발표된 스탠더드는 가전 및 다른 애플리케이션에 보편적으로 적용되어 왔다. 이러한 스탠더드의 각각은 온전히 언급되어 통합되어 있다.
임의의 경우에, 디지털 이미지는 개별 픽셀의 그리드로 구성되어 있다. 보통, 전체 이미지는 한번에 처리되지 않고 개별적으로 처리되는 블록으로 분할되어 있다. 각각의 블록은 소정의 수의 루미넌스 또는 루마 픽셀(일반적으로 픽셀의 휘도를 한정한다) 및 소정의 수의 크로미넌스 또는 크로마 픽셀(일반적으로 픽셀의 컬러를 한정한다)의 장방형 그리드를 포함하고 있다. 소정의 수의 블록은 대부분의 상황에서 처리되는 기본 단위를 형성하는 매크로블록으로 조합된다. 이러한 처리 유닛의 계층의 일부 태양이 아래에 설명되어 있지만, 처리를 위한 이미지의 블록에 기초한 처리를 위한 방법 및 기술은 일반적으로 당업분야에서 일반적으로 알려져 있고 따라서 여기에서 상세하게 반복하지 않는다.
이미지 데이터의 매크로블록은 2개의 기본 기술중 하나로 인코딩될 수 있다. 예를 들어, 이전의 프레임으로부터 상응하는 매크로블록과 같은, 이력 데이터를 참조함 없이 오리지널 매크로블록이 인코딩되는, "인트라" 코딩이 사용될 수 있다. 대안으로, 이전의 프레임으로부터 상응하는 매크로블록과 같은, 데이터의 기준 매크로블록과 상기 매크로블록 사이의 차이에 대하여 이미지 데이터의 매크로블록이 인코딩되는 "인터" 코딩이 사용될 수 있다. 이러한 2개의 기본적인 스킴에 대한 많은 변화는 당업자에게 알려져 있고, 따라서 여기에서 상세하게 설명하지 않는다. 데이터의 매크로블록을 기술하기 위해 가장 적은 수의 비트를 요구하는 인코딩 기술을 선택하는 것이 일반적으로 바람직하다. 인트라 코딩은 보통 블록을 나타내기 위해 보다 많은 비트를 필요로 하고, 따라서, 인터 코딩이 일반적으로 선호된다.
화상회의 "호출"은 2개의 기술중 하나를 사용하여 이루어진다. 전통적으로 회로 교환망(예를 들어, ISDN 전화선)이 사용되었다. 보통, 이러한 호출은 국제 전기 통신 연합(ITU) 권고 H.320, "Narrow-Band Visual Telephone Systems And Terminal Equipment"에 따라 이루어진다. 보다 최근에, 인터넷과 같은 패킷 교환망이 화상회의를 위해 보다 광범위하게 사용되게 되었다. 다양한 패킷 교환 멀티미디어 통신 프로토콜이 존재하는데, 그중 한 예는 ITU 권고 H.323, "Packet-based Multimedia Communications Systems"이다. 이러한 권고의 각각은 여기에 언급되어 통합되어 있다. 여기의 설명이 이러한 2개의 프로토콜중 하나의 콘텍스트에서 설명되어 있지만, 본 발명이 이러한 프로토콜에만 제한되지 않는다는 것에 주목해야 한다.
어느 하나의 기술을 사용하여 전송된 비디오 호출은 많은 경우에 전송에서 에러에 취약하다. 전통적으로, 디코더가 비트 스트림 에러를 검출할 때, 디코더는 2개의 옵션을 가지고 있다. 제1 옵션은 디스플레이를 동결하고 전송기로부터 고속 갱신을 요청하는 것이다. 전송기는 이러한 요청에 대해 인트라 프레임을 전송한다. 수신기의 디스플레이는 인트라 프레임이 수신될 때까지 동결된 상태로 남는다. 이러한 동결된 비디오의 시간은 사용자 경험에 달려 있다. 제2 옵션은 고속 갱신을 요청하지만 에러를 가졌던 프레임을 계속 디스플레이하는 것이다. 요청된 인트라 프레임이 도착할 때까지, 밝은 컬러 블록, 블랙 블록, 또는 스크램블링된 이미지등의 결함이 존재한다. 이러한 결합은 보통 동결된 디스플레이보다 사용자 경험에 보다 더 혼돈을 주기 때문에, 화상회의 분야에서는 일반적으로, 제1 옵션을 선택함으로써, 즉, 디스플레이를 동결시킴으로써 에러를 숨겼다.
그러나, 여기에 언급된 2개의 옵션중 어느 것도 바람직하지 않다. 따라서, 당업분야에서 필요한 것은 사용자 경험에 보다 덜 혼돈을 주는 비디오 전송에 있어서 에러를 은닉하는 대안의 기술이다. 따라서, 본 발명은 일반적으로 비디오 에러를 은닉하고, 가시적인 결합을 감소 또는 제거하고, 인트라 갱신 프레임에 의해 야기된 가시 장애의 임팩트를 감소 또는 제거하는 방법을 제공하는 것을 그 목적으로 한다. 화상회의 시스템에 대하여 설명되었지만, 여기에 설명된 개념은 임의의 코딩 및 디코딩 애플리케이션에 동일하게 채택될 수 있다.
발명의 요약
여기에 개시된 에러 은닉 기술은 인코더가 무엇을 하는지에 관계없이 비트스트림 에러를 은닉하기 위해 디코더에 의해 기존의 정보를 사용하는 것에 관한 것이다. 기존의 정보의 예는, 예를 들어, 이전의 기준 프레임, 이 이전 기준 프레임에 대한 매크로블록 정보등을 포함할 수 있다. 여기에 설명된 시스템의 또 다른 태양은 전송 에러로부터 탁월하게 복구하는 디코더의 능력을 강화시키기 위해 인코더가 취할 수 있는 단계에 관한 것이다. 인코더에 의해 취해질 수 있는 단계의 예는 인트라 워크 어라운드 및 GOB 헤더를 전송하는 단계를 포함한다. 이러한 인코더 기술이 크게 강화된 결과를 제공할 수 있지만, 여기에 기술된 시스템에 반드시 필요하지는 않다.
여기에 개시된 시스템은 아래의 상세한 설명으로부터 명백해질 많은 장점을 가지고 있다. 예를 들어, 시스템은 완전히 스탠더드에 기초한 것이고, 따라서, 기존의 엔드포인트, 게이트웨이, 및 멀티포인트 컨트롤 유닛을 포함하는, 임의의 스탠더드 컴플라이언트 화상회의 시스템과 호환가능하다. 또한 시스템은 H.261, H.263 또는 H.264 스탠더드의 어느 하나를 사용하여 인코딩되는 비디오에 적용가능하다. 또한, 여기에 기술된 시스템은 특히, H.264 디코더에서 구현하기에 용이하다. 또한, 상술된 바와 같이, 여기에 기술된 인코더 및 디코더 인핸스먼트 모두를 가지는 것이 바람직하지만, 디코더만으로 사용자 경험을 상당히 향상시킬 수 있다. 여기에 기술된 시스템의 다른 장점에는 코딩 효율에 대한 무시할만한 임팩트 및 최소한 필요한 엑스트라 계산이 포함되어 있다.
본 발명의 상세한 설명
상기에서 간략하게 언급된 바와 같이, 비디오 비트스트림은 본질적으로 2가지 방법, IP 네트워크의 패킷 또는 ISDN 네트워크의 비트의 스트림으로 전송된다. 둘다 디코더가 동기화를 잃도록 하는 에러를 가질 수 있다. 성공적으로 에러를 은닉하는 3개의 중요한 단계가 있다. 먼저, 디코더는 가능한 픽처내의 작은 영역으로 에러의 임팩트를 제한하여야 한다. 둘째, 디코더는 성공적으로 디코딩되지 않은 영역을 패치하기 위해 기존의 정보를 사용하여야 한다. 셋째, 필요하다면, 디코더는 디코더를 인코더로 재동기화하기 위해 파손된 정보를 재전송하도록 파-엔드 인코더와 접촉할 수 있다. 인코더는 키 프레임의 상대적으로 빈번한 전송 또는 인트라 워크어라운드와 같은 방법에 의해 이러한 세번째 단계에 대한 필요를 제거할 수 있다.
일단 에러가 검출되면, 디코더는 디코딩 프로세스를 계속할 수 있도록 재동기화할 필요가 있다. 디코더가 재동기화할 수 있는 비트스트림내의 4개의 상이한 포인트가 존재한다. 제1 동기화 포인트는 프레임 레벨에서이다. 프레임 레벨 동기화를 사용하여, 디코더는 현재 디코딩되는 프레임을 포기하고 픽처 스타트 코드를 검색함으로써 다음 프레임으로 이동한다.
제2 동기화 포인트는 H.261 및 H.263 비디오 비트스트림에만 유용하다. H.261 또는 H.263를 사용하여 인코딩된 비디오 프레임은 블록의 그룹(GOBs)으로 분할된다. GOB 헤더는 동기화 포인트로서 사용될 수 있다. 에러가 검출될 때, 이전의 GOB 헤더로부터 다음 GOB 헤더로의 픽처의 파트는 파손된다. 픽처의 나머지는 여전히 안전하다. H.263 비디오 비트스트림내의 GOB 레벨 동기화에 관한 하나의 이슈는 H.263 스탠더드가 GOB 헤더를 인코더가 송신할 필요가 없다는 것이다. GOB 헤더의 전송이 허용될지라도, 오버헤드를 감소시켜서 통신 속도를 향상시키기위해 자주 생략된다. GOB 레벨 동기화가 H.263에 대해 적합하게 작동하기 위해, 인코더는 적어도 일부 GOB 헤더를 전송하여야 한다. H.261를 사용하여 인코딩된 비디오는 항상 GOB 헤더를 포함하고 있어서, 여기에 기술된 기술은 종래의 시스템과 함께 훌륭하게 사용된다.
제3 동기화 포인트, 매크로블록 레벨 동기화 역시 H.261 및 H.263 디코더에만 유용하다. 생 비트스트림으로부터 매크로블록 레벨에서 동기화하는 아무런 용이한 방법이 존재하지 않지만, 비트가 패킷으로 수신될 때, 패킷 헤더는 매크로블록 정보에 관한 정보를 포함하고 있다. 그러나, 패킷 헤더내의 이러한 정보는 레거시 시스템이 패킷 헤더내의 정확한 정보를 공급하지 않았을 가능성으로 인해 실제로 신뢰할 만한 것이 아닐 수 있다.
H.264 비트스트림에서만 유용한 제4 동기화 포인트는 네트워크 어댑테이션층 유닛(NALU) 레벨 동기화이다. H.264 비트스트림에서, 매크로블록은 NALUs에 의해 함께 그룹화되어 있다. 하나의 프레임에 포함되어 있는 NALUs는 임의의 오더에서 전송될 수 있다. 이것은 H.264 디코더가 NALU 레벨에서 동기화할 수 있을 것을 필요로 한다. GOBs에 있어서, 각각의 파손된 NALU는 픽처의 일부에만 영향을 준다.
가장 보편적으로 사용된 동기화 포인트는 프레임의 스타트이다. 아무런 다른 동기화 포인트를 사용하지 않음으로 해서 에러가 프레임의 초기 근방에서 검출 되는 경우에 거의 전체 프레임을 패칭할 필요를 야기하게 된다. 결과적으로, 추가 동기화 포인트가 실행가능할 때 사용되어야 한다. 매크로블록 레벨 재동기화가 신뢰할만하지 않은 것으로 생각되기 때문에, H.261 및 H.263 시스템에 대한 최상의 선택은 GOB 레벨 재동기화이다. H.264에 대하여 NALU 레벨 동기화가 바람직하다.
각각의 경우에, 프레임을 디코딩하기 전에, 모든 매크로블록은 "파손된" 매크로블록으로 마킹된다. 프레임이 디코딩될 때에, 각각의 성공적으로 인코딩된 매크로블록은 파손된 매크로블록으로부터 "양호한" 매크로블록으로 변경된다. 이러한 상황에서, "매크로블록"은 (디스플레이상의 특정 영역에 상응하는) 디코더 기준 프레임내의 픽셀의 영역을 가리킨다.
에러의 즉각적인 검출이 불확실하기 때문에, 비트스트림 에러가 검출될 때, 마지막 동기화 포인트 이후에 디코딩된 모든 매크로블록은 의심되고 파손된 것으로 재마킹되어야 한다. 이러한 상황에서 파손된 것으로 마킹될 필요가 있는 매크로블록의 수를 감소시키는 기술은 아래에 설명되어 있다. 일단 전체 프레임이 디코딩되었다면, 파손된 것으로 마킹된 상태로 남아 있는 모든 매크로블록은 재구성되어야 한다. 다음의 의사코드는 인터 프레임내에 이러한 "파손된" 매크로블록을 어떻게 재구성하는지를 기술한다.
Figure 112005045570785-pat00001
이러한 의사 코드에 의해 실행되는 동작은 다음과 같이 요약될 수 있다. 루틴은 프레임의 매크로블록을 통해 단계를 밟아나간다. 매크로블록이 파손되었다면, 예를 들어, 매크로블록이 인터 또는 인트라 코딩되었는지 및 인터 코딩되었다면 운동 벡터가 무엇인지와 같은 매크로블록 정보가 이전의 프레임으로부터 상응하는 매크로블록의 값으로 설정된다. (코덱은 또한 매크로블록에 관한 다른 정보를 포함할 수도 있지만, 이것은 본 발명의 콘텍스트에서 요구되지 않는다.) 현 매크로블록이 인코 코딩된 매크로블록이고 기준 프레임이 최근의 프레임이라면, 현 매크로블록의 운동 벡터는 이전의 프레임으로부터 상응하는 매크로블록의 운동 벡터로 설정되고 현 매크로블록의 계수는 제로로 설정된다. 그다음, 매크로블록은 운동 보상 알고리즘을 사용하여 재구성되고, 블록은 운동 보상을 확장함으로써 이전의 프레임으로부터 본질적으로 외삽된다.
대안으로, 현 매크로블록이 인트라 코딩되어 있거나 예측 프레임이 최근의 프레임이 아니라면 전체 매크로블록은 이전 프레임내의 상응하는 매크로블록으로부터 복사된다. 따라서, 아무런 재구성도 인크라 코딩된 프레임상에 실행되지 않는다. 비트스트림 에러가 인트라 프레임을 디코딩하는 동안 검출될 때, 디코더는 디스플레이를 동결하고 고속 갱신을 요청한다. 이에 대한 이유는 정상의 경우에, 인트라 프레임이 (1) 호출의 시작에서, (2) 소스가 변경되는 경우에, 또는 (3) 인코딩 레졸루션이 변경된 경우의 3가지 환경중 하나에서만 전송된다. 디코더에 의해 이러한 인트라 프레임은 유효 레졸루션 및 유효 기준 프레임을 달성해야만 한다.
상술된 재구성은 파손된 매크로블록에서 매우 잘 작동하지만, 인코딩에 의해 사용된 기준 매크로블록은 인코더가 블록을 인코딩하는데 기준 프레임으로 사용된 것과 상이하다. 이러한 발산은 시간이 흐를수록 더욱 악화된다. 따라서, 재구성된 매크로블록에 대한 인트라 갱신이 요청된다. 이것은 2가지 방법으로 얻어질 수 있다. 하나의 접근법에서 디코더는 인코더에 풀 프레임 고속 갱신 요청을 전송한다. 이것은 전형적인 인코더에 아무런 변화도 요구하지 않는다. 대안으로, 재구성된 매크로블록에 대한 인트라 갱신은 인코더에 대한 인트라 워크 어라운드를 사용하여 구현될 수 있다. 이러한 메커니즘은 아래에 설명되어 있고 인코더에 몇가지 단순한 변화를 요구한다.
풀 프레임 고속 갱신이 시각적으로 불안하지만, 이것은 기존의 모든 인코더에서 유용하다. 디코더를 인코더가 인트라 워크 어라운드를 턴 온할 수 있는지에 관계없도록 하기 위해, 다음의 메커니즘이 인코더가 인트라 워크 어라운드 가능하고 인트라 워크 어라운드가 이네이블링되는 경우에 아무런 풀 프레임 인트라 요청이 전송되지 않는 것을 확실히 하기 위해 사용될 수 있다. 매크로블록이 파손으로 마킹되어 있을 때 시간이 상기 매크로블록에 대하여 기록된다. 매크로블록이 인크라 모드에서 갱신될 때, 타임스탬프는 재설정된다. 각각의 프레임의 끝에서, 모든 매크로블록에 대한 타임스탬프가 체크된다. 임의의 매크로블록이 N 초 보다 큰 시간 동안 "파손된" 것으로 마킹되어 있다면, 풀 프레임 고속 갱신 요청이 파 엔드 인코더에 전송된다. 인코더가 인트라 워크 어라운드를 구현하고 있다면, 매크로블록은 N 초 동안 갱신되어 있어야 하고, 아무런 풀 프레임 고속 갱신도 요구되지않을 것이다.
구현된다면, 인코더상의 인트라 워크 어라운드 속도는 인코더가 워크 어라운드를 전송할 때 디코더가 고속 갱신을 요청하지 않도록 N으로부터 유도되어야 한다. N은 인코딩되는 비디오 스트림의 타입, 즉, 해상도 및 프레임 속도를 반영하는 것이 바람직하다. 예를 들어, 컴퓨터 표시를 전송하기 위해 사용되는 것과 같은, 고해상도, 저프레임 속도 비디오는 비교적 높은 N 값, 가능하다면 20 초 오더의 값을 가지고 있어야 한다. 대안으로, 화상회의내의 사람의 화상을 전송하기 위해 적용된 것과 같은 저해상도, 고 프레임 속도 비디오에 대하여, N은 상대적으로 높은 값, 바람직하게는, 약 10초의 오더의 값을 가지고 있어야 한다. 너무 많은 고속 갱신 요청이 전송되지 않도록 하기 위해, 타이머는 제1 고속 갱신 요청이 전송될 때 피리어드 M 초로 개시되어야 한다. 이러한 타이머 피리어드 동안, 아무 런 추가적인 고속 갱신 요청이 전송되지 않는다. M은 최적의 시스템 성능을 위해 튜닝되어야 한고, 10의 값이 최적의 결과를 생성하는 것으로 생각되어진다.
바람직한 접근법은 인트라 워크 어라운드(또는 등가의 갱신 프로세스) 가능한 인코더를 가지는 것이다. 인트라 워크 어라운드는 인트라 매크로블록으로서 코딩될 프레임당 수개의 매크로블록을 피킹하는 프로세스이다. 각각의 프레임에 대하여 상이한 매크로블록이 선택되어 주기동안 프레임내의 모든 매크로블록이 적어도 한번은 인트라 코딩될 것이다. 그다음, 프로세스는 연속적으로 반복된다. 기술의 기본 요약은 다음과 같다.
프레임의 각각의 매크로블록을 코딩하는데 필요한 주기를 T로 정의한다. 그래서, 프레임당 인트라 코딩되는 매크로블록의 수(Nintra)는 Nmb/(Fr*T)인데, 여기에서 Nmb는 프레임 당 매크로블록의 전체 수이고 Fr은 소정의 비트속도에 대한 공칭 프레임 속도이다. 프레임 속도는 튜닝 루틴으로부터 동적으로 얻어질 수 있거나, 주어진 비트속도에 대하여 정적으로 한정될 수 있다. 프레임 속도가 동적으로 계산된다면, 프레임 속도값이 풀 프레임 워크 어라운드 이후에만 변경되는 것이 중요하다.
예로서, 384kbps CIF 호출에 대한 공칭 프레임 속도는 15이다. (콤팩트 중간 포맷은 352×288 루미넌스 픽셀의 해상도에 상응한다.) 워크 어라운드 주기 T는 인트라 워크 어라운드에 대한 디코더 예측과 매칭하도록 10초로 설정된다. 그다음, Nintra = 396/(15*10) = 2.64이다. 최근방 정수로 라운딩 업된다면, 프레임 당 인트라 코딩되는 매크로블록의 수는 3이다.
H.264에서, 인트라 워크 어라운드 매크로블록은 기준 프레임과 독립적이도록 코딩되어야 한다. 이것은 인트라 워크 어라운드 매크로블록이 임의의 인터 매크로블록을 그 예측을 위한 베이시스로서 사용할 수 없어서 인트라 워크 어라운드 매크로블록이 제약된 인트라로서 코딩되어야 함을 의미한다. H.264내의 인트라 워크 어라운드의 상세한 내용은 여기에 언급되어 통합된 "Improved Intra Block Walk Around Refresh for H.264"로 표제된 존 시버스의 미국 특허출원 번호 제10/799,829호에 설명되어 있다.
디코더 재동기화를 도울 또 다른 인코더 인핸스먼트는 프레임 당 소수의 GOB 헤더를 전송하는 것이다. 상술된 바와 같이, H.263 시스템에서, GOB 헤더를 전송할 필요는 없고, 많은 인코더는 오버헤드를 감소시켜 통신 속도를 향상시키기 위해 이러한 비트를 제거한다. 여기에 설명된 인해스먼트의 목적을 위해, 모든 GOB 헤더를 전송할 필요는 없다. IP 네트워크에서, 거의 모든 비트 스트림 에러는 패킷 파손에 의한 것이다. 따라서, 임의의 패킷내의 제1 동기화 포인트만이 상당한 장점을 제공할 수 있다. 파손 패킷을 따르는 임의의 피캣내에 스킵핑되는 비트의 수를 최소화하기 위해, 동기화 포인트는 가능한한 패킷의 개시점에 근접해야 한다. 하나 보다 많은 GOB가 임의의 하나의 패킷에서 개시한다면, GOB 헤더를 위한 최상의 자리는 이러한 GOBs중 제1 GOB의 개시점이다. 패킷 경계가 GOB 경계에 상응할 필요는 없다.
상술된 바와 같이, 비트스트림 에러의 즉각 검출은 항상 가능하지 않기 때문 에, 에러가 검출될 때, 일반적으로 이전 동기화 포인트 이후에 수신된 모든 매크로블록은 파손되었다고 추정하는 것이 바람직하다. 이전의 동기화 포인트로 돌아가는 것은 아무런 "불량" 매크로블록이 적합한 은닉 없이 디스플레이되지 않도록 확실히 하기 위한 유일한 방법이다. 이러한 접근법은 안전하지만, 일부 양호한 매크로블록이 파손된 것으로 마킹될 수 있기 때문에 특별히 효율적이지 않다. 디코더가 에러가 발생하는 경우에 즉시 에러를 검출할 수 있다면 모든 디코딩된 매크로블록은 양호한 것으로 생각할 수 있다. 따라서, 디코더는 이전의 동기화 포인트로 다시 추적할 필요가 없고, 비트스트림 에러에 의해 야기된 임팩트는 보다 더 제한될 것이다.(H.261 및 H.263에 대하여 동기화 포인트는 GOB 헤더이다. H.264에 대하여, 동기화 포인트는 NALU 경계이다.)
H.320 호출에서, H.261/H.263 비트는 512-비트 프레임으로 전송된다. 각각의 프레임은 동기화 비트, 이 프레임이 필 또는 리얼 데이터인지를 나타내는 플래그, 492개의 플레이로드 비트, 및 에러 검출 및 보정을 위해 사용되는 18-비트 코드로 구성되어 있다. 이 18-비트 코드를 끝에서 사용하여서, 에러는 자주 검출될 수 있고 어떤 경우에는 정정될 수도 있다. 코드가 종종 임의의 에러가 존재하거나 임의의 에러가 정정되었다고 오판할지라도, 코드는 자주 프레임내에 정정되지 않은 에러가 존재한다는 것을 알고 있다. 데이터 링크 코드가 에러가 정정되지 않은 것으로 알려진 프레임을 버리거나 막 지나치는 경우에는, 비디오 디코더는 에러가 발생하였다는 것을 즉시 인식하지 않을 수도 있다. 에러가 발생할 때까지, 디코더는 기준 프레임에 갱신을 인가하여, 일반적으로 프로세서내의 기준 프레임을 오염시킬 것이다.
디코더가 명백하게 오류인 비트를 수신하여 디코더가 기준 프레임을 이러한 오류의 비트로 오염되지 않은 것을 아는 것이 훨씬 더 바람직하다. 이러한 이유로, 데이터 링크층이 프레임내에 정정되지 않은 에러가 있다는 것을 알 때, 비디오 디코더가 에러상태에 있다고 알게 될 비트의 시퀀스로 상기 프레임을 교체해야 한다. 이러한 데이터 링크층의 모니터링은 예를 들어, 브리지, 게이트웨이, 또는 멀티-포인트 컨트롤 유닛(MCU)을 포함하는 엔드포인트 사이에 위치된 임의의 수의 네트워크 컴포넌트내에 존재할 수도 있다. 비트스트림 에러를 발견하는 디바이스가 비디오 인코더/디코더가 없는 네트워크 디바이스일 수 있기 때문에, 데이터 링크 코드는 무슨 비디오 인코딩 스탠더드가 사용되고 있는지를 알도록 요구되지 않는 것이 바람직하다. 따라서, H.261, H.263 및 H.264에 대하여 작동하는 하나의 시퀀스를 가지는 것이 바람직하다.
이러한 시퀀스의 하나가 도 1에 도시되어 있다. 이 시퀀스는 적어도 63개의 제로(즉, 62보다 많은 수만큼 반복된 0), 하나의 1, 22개의 제로, 시퀀스 10111, 10개의 제로, 하나의 제로를 상기 배열된 순서로 포함하고 있다. 프레임내의 임의의 남아 있는 비트 역시 "스타트 코드 에뮬레이션"을 방지하기 위해 1이어야 한다. 압축 알고리즘의 각각에 대한 다른 비트의 해석은 아래에 설명된다.
H.261 비트스트림에 대하여, 이렇게 많은 제로를 초기에 가짐으로 해서, 디코더가 픽처 또는 GOB 스타트 코드를 만날 것으로 예상하고 있지 않다면 에러를 확실히 검출할 것이다. 처음 48개의 제로를 지난 후에, 디코더는 픽처 스타트 코드 를 구성하는 적어도 15개 보다 많은 제로, 하나의 1 및 4개의 제로를 만날 것이다. 다음의 12개의 제로는 픽처 헤더의 나머지로서 취해질 것이다. (PTYPE의 마지막 비트는 하나의 1이어야 하지만, 모든 디코더가 오류 비트를 전송한 지 오래 전의 일부 코덱 때문에 상기 마지막 비트를 체크하지 않을 것이다.) 이러한 관점에서, 디코더는 15개의 제로 및 하나의 1인 GOB 스타트 코드를 발견할 것으로 기대될 것이다. 대신에, 디코더는 1 이전에 오직 6개의 제로만을 발견할 것이고 그래서 코덱은 또 다른 에러를 검출할 것이다. 디코더는 22개의 제로를 사용하여 동기화를 검색할 것이다. 처음 7개의 비트를 스킵핑한 후에, 디코더는 GOB 스타트 코드를 구성하는 15개의 제로 및 하나의 1을 발견할 것이다. 그다음, 7의 GOB 수를 나타내는 "0111"를 만나게 될 것이다. 그런 후에 1-비트 GQUANT 값이 존재한다. 제로의 GQUANT는 불법이고, 그래서 디코더는 또 다른 에러를 검출할 것이다. 여기에서 픽처 또는 GOB 스타트 코드에 대하여 실수할 만큼 충분히 긴 제로의 다른 스트링은 존재하지 않는다.
H.263에서, 이와 같이 많은 제로를 초기에 가짐으로 해서, 디코더는 픽처, GOB, 또는 슬라이스 스타트 코드를 만날 것으로 기대되지 않는다면 에러를 확실히 검출할 것이다. 처음 47개의 제로를 통과한 후에, 디코더는 픽처 스타트 코드를 구성하는 16개의 제로, 하나의 1 및 5개의 제로를 만나게 될 것이다. 이후에 9번째 비트는 하나의 1일 것으로 예측되지만, 디코더는 하나의 제로를 만나게 될 것이고, 그래서 에러를 검출하게 될 것이다. 디코더는 22개의 제로를 사용하여 동기화를 검색할 것이다. 처음 6개의 비트를 스킵핑한 후에, 디코더는 GOB 또는 슬라이 스 스타트 코드를 구성하는 16개의 제로 및 하나의 1을 발견할 것이다. 다음 5개의 비트, "01110"는 14의 GOB 수를 나타낸다. 다음 4개의 비트는 GOB 서브-비트스트림 인디케이터(GSBI) 및 GOB 프레임 ID(GFID)를 위해 사용될 것이다. 이들에 이어지는 것은 5-비트 GQUANT 값이다. 제로의 값은 불법이고, 그래서 디코더는 또 다른 에러를 검출할 것이다. 여기에, 픽처, 슬라이스 또는 GOB 스타트 코드에 대하여 잘못 취해질 만큼 긴 다른 스트링의 제로는 존재하지 않는다.
결국, H.264 디코더를 사용하여, 처음 32개의 비트후에, 시퀀스는 동기화 코드를 구성하는 31개의 제로 및 하나의 1을 가지고 있다. 디코더는 이러한 동기화 코드가 기대된 정렬과 매칭하지 않는다면 에러를 검출할 것이다. 어떤 경우에든, 디코더는 이러한 동기화 코드에 따른 정렬 기대값을 설정할 것이다. 그다음, 디코더는 불법 시퀀스인 3개의 바이트 0,0,2(22개의 제로 비트, 하나의 1 및 하나의 제로)를 만나게 될 것이다. 디코더는 이러한 비트 스트림에서 더 이상의 동기화 코드를 만나게 되지 않을 것이다.
H.323 비디오 호출에서, 각각의 패킷은 시퀀스 넘버를 포함하고 있다. 이러한 시퀀스 넘버를 사용하여, 임의의 패킷이 파손되었는지를 결정하는 것이 가능하다. 각각의 H.264 NALU 가 하나의 패킷에서 피팅하고 충분한 컨텍스츄얼 정보를 포함하고 있기 때문에, 비디오 디코더에 미싱 패킷을 알릴 필요는 없다. H.261 및 H.263에 대하여, 임의의 미싱 패킷 또는 패킷의 시퀀스를 무효 비트 시퀀스로 대체하여 비디오 디코더가 다음 패킷내의 비트를 잘못 해석하지 않도록 하는 것이 바람직하다. 패킷 헤더가 무슨 압축 알고리즘이 사용중인지를 나타내기 때문에, 모든 알고리즘에 대하여 무효인 비트 시퀀스를 사용하는 것이 가능하지만 사용할 필요가 없다. 보통 사용중인 압축 알고리즘에서 타겟팅된 시퀀스를 사용하는 것이 바람직하다. 일부 적합한 시퀀스의 예가 아래에 설명되어 있다.
H.261에 사용하기에 적합한 하나의 무효 시퀀스가 도 2에 도시되어 있고, 이것은 16개의 제로, 이어서 시퀀스 10011, 이어서 5개의 제로를 포함하고 하나의 1로 닫혀져 있다. 이것은 GN=3 및 GQUANT=0을 가진 GOB 헤더로서 해석될 것이다. GQUANT 값이 제로가 아니기 때문에 에러는 검출될 것이다. 시퀀스는 이러한 비트 및 이 비트에 이어지는 임의의 비트의 조합을 통한 스타트 코드 에뮬레이션을 방지하기 위해 하나의 1로 끝난다.
H.263에 사용하기에 적합한 또 다른 시퀀스가 도 3에 도시되어 있고, 17개의 제로, 이어서 시퀀스 10011, 이어서 10개의 제로 및 하나의 1을 포함하고 있다. 이것은 GN=6, GSBI=0, GFID=0 및 GQUANT=0을 가진 GOB 헤더로서 해석될 것이다. GQUANT 값이 제로가 아니기 때문에, 에러는 검출될 것이다. 이 시퀀스는 이러한 비트 및 이 비트에 이어지는 임의의 비트의 조합을 통한 스타트 코드 에뮬레이션을 방지하기 위해 하나의 1로 끝난다. 이러한 시퀀스가 역시 H.261에 대해서도 사용될 수 있다는 것에 주목해야 한다.
본 발명이 실시예를 통하여 여기에 설명되었다. 다양한 수정이 본 발명의 정신 및 범위로부터 벗어남 없이 가능하다는 것이 당업자에게 명백할 것이다. 또한, 본 발명이 특정 환경에서 그리고 특정 애플리케이션에 대한 구현에 대하여 설명되었지만, 당업자는 본 발명의 유용함이 이에 제한되지 않고 본 발명이 임의의 다른 환경 및 구현에 있어서 유익하게 사용될 수 있음을 인식할 것이다. 따라서, 이전의 설명 및 도면은 제한하기 위한 것이 아닌 예로서 인식되어야 할 것이다.
본 발명에 의하면 비디오 통신에 있어서, 비디오 에러를 은닉하고, 가시적인 결합을 감소 또는 제거하고, 인트라 갱신 프레임에 의해 야기된 가시 장애의 임팩트를 감소 또는 제거할 수 있다.

Claims (24)

  1. 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호는 복수의 동기화 포인트를 포함하고 있고, 상기 방법은,
    프레임의 모든 매크로블록을 파손 매크로블록으로 지정하는 단계;
    상기 프레임이 디코딩될 때, 각각의 성공적으로 디코딩된 매크로블록을 양호한 매크로블록으로 지정하는 단계;
    만약 에러를 지시하는 소정의 비트 시퀀스가 검출되면, 이전의 동기화 포인트 이후에 수신된 각각의 매크로블록을 파손 매크로블록으로 재지정하는 단계; 및
    상기 에러에 이어지는 동기화 포인트에서 인코더로 재동기화시키는 단계;를 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  2. 제1항에 있어서, 상기 에러를 지시하는 소정의 비트 시퀀스는 브리지, 게이트웨이 및 멀티포인트 컨트롤 유닛으로 구성된 그룹으로부터 선택된 컴포넌트내에 존재하는 데이터 링크층 모니터에 의해 비트스트림내로 삽입되는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  3. 제1항에 있어서, 상기 에러를 지시하는 소정의 비트 시퀀스는 비디오 디코더에 의해 지원되는 복수의 비디오 코덱중 하나 이상에 대한 에러를 발생시키도록 설계되는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  4. 제1항 내지 제3항중 어느 한항에 있어서, 상기 동기화 포인트는 프레임, 블록의 그룹, 매크로블록 및 네트워크 어댑테이션층 유닛으로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  5. 제1항 내지 제3항중 어느 한항에 있어서,
    전체 프레임을 디코딩할 때, 파손 매크로블록으로 지정된 각각의 매크로블록을 재구성하는 단계;를 더 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  6. 제5항에 있어서, 상기 파손 매크로블록으로 지정된 각각의 매크로블록을 재구성하는 단계는 파손 매크로블록에 대한 매크로블록정보의 값을 이전 프레임내의 상응하는 매크로블록에 대한 매크로블록 정보의 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  7. 제6항에 있어서, 매크로블록 정보는,
    상기 매크로블록이 인터 또는 인트라 코딩되었는지 여부; 및
    만약 상기 매크로블록이 인터 코딩되었다면, 운동 벡터의 값;을 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  8. 제6항에 있어서, 상기 파손 매크로블록으로 지정된 각각의 매크로블록을 재구성하는 단계는,
    만약 파손 매크로블록이 최근의 프레임과 관련하여 인터 코딩되었다면, 재구성된 매크로블록의 운동 벡터를 최근의 프레임으로부터, 상응하는 매크로블록의 운동 벡터로 설정하고 상기 재구성된 매크로블록의 계수를 제로로 설정하는 단계; 및
    만약 상기 파손 매크로블록이 최근의 프레임이 아닌 이전의 프레임과 관련하여 인터 코딩되었거나, 상기 파손 매크로블록이 인트라 코딩되었다면, 상기 재구성된 매크로블록을 이전의 프레임내의 상응하는 매크로블록의 값으로 설정하는 단계;를 더 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  9. 제5항에 있어서, 상기 재구성된 매크로블록에 대하여 풀 프레임 인트라 갱신을 요청하는 단계를 더 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  10. 비디오 신호를 디코딩하는 방법에 있어서,
    프레임의 모든 매크로블록을 파손 매크로블록으로서 지정하는 단계;
    상기 프레임이 디코딩될 때, 각각의 성공적으로 디코딩된 매크로블록을 양호한 매크로블록으로 지정하는 단계;
    만약 에러가 소정의 시퀀스의 에러 비트를 수신함으로써 검출된다면, 기준 프레임의 갱신을 중지하는 단계;를 포함하는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  11. 제10항에 있어서, 상기 소정의 시퀀스의 에러 비트는 브리지, 게이트웨이 및 멀티포인트 컨트롤 유닛으로 구성된 그룹으로부터 선택된 컴포넌트내에 존재하는 데이터 링크층 모니터에 의해 비트스트림내로 삽입되는 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  12. 제10항에 있어서, 상기 소정의 시퀀스의 에러 비트는 비디오 디코더에 의해 지원되는 복수의 비디오 코덱중 하나 이상에 대한 에러를 발생시키도록 설계된 것을 특징으로 하는 비디오 신호를 디코딩하는 방법.
  13. 비디오 디코딩 방법을 구현하도록 구성된 비디오 디코더에 있어서, 상기 비디오 디코딩 방법은,
    프레임의 모든 매크로블록을 파손 매크로블록으로 지정하는 단계;
    상기 프레임이 디코딩될 때, 각각의 성공적으로 디코딩된 매크로블록을 양호한 매크로블록으로 지정하는 단계;
    만약 에러가 검출되면, 이전의 동기화 포인트 이후에 수신된 각각의 매크로블록을 파손 매크로블록으로 재지정하는 단계; 및
    상기 에러에 이어지는 동기화 포인트에서 인코더로 재동기화시키는 단계;를 포함하는 것을 특징으로 하는 비디오 디코더.
  14. 제13항에 있어서, 상기 동기화 포인트는 프레임, 블록의 그룹, 매크로블록 및 네트워크 어댑테이션층 유닛으로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 비디오 디코더.
  15. 제13항에 있어서, 상기 디코딩 방법은,
    전체 프레임을 디코딩할 때, 파손 매크로블록으로 지정된 각각의 매크로블록을 재구성하는 단계;를 더 포함하는 것을 특징으로 하는 비디오 디코더.
  16. 제15항에 있어서, 상기 파손 매크로블록으로 지정된 각각의 매크로블록을 재구성하는 단계는 파손 매크로블록에 대한 매크로블록정보를 이전 프레임내의 상응하는 매크로블록에 대한 매크로블록 정보의 값으로 설정하는 단계를 포함하는 것을 특징으로 하는 비디오 디코더.
  17. 제16항에 있어서, 매크로블록 정보는,
    상기 매크로블록이 인터 또는 인트라 코딩되었는지 여부; 및
    만약 상기 매크로블록이 인터 코딩되었다면, 운동 벡터의 값;을 포함하는 것을 특징으로 하는 비디오 디코더.
  18. 제16항에 있어서, 상기 파손 매크로블록으로 지정된 각각의 매크로블록을 재구성하는 단계는,
    만약 파손 매크로블록이 최근의 프레임과 관련하여 인터 코딩되었다면, 재구성된 매크로블록의 운동 벡터를 최근의 프레임으로부터, 상응하는 매크로블록의 운동 벡터로 설정하고 상기 재구성된 매크로블록의 계수를 제로로 설정하는 단계; 및
    만약 상기 파손 매크로블록이 최근의 프레임이 아닌 이전의 프레임과 관련하여 인터 코딩되었거나, 상기 파손 매크로블록이 인트라 코딩되었다면, 상기 재구성된 매크로블록을 이전의 프레임내의 상응하는 매크로블록의 값으로 설정하는 단계;를 더 포함하는 것을 특징으로 하는 비디오 디코더.
  19. 제15항에 있어서, 상기 비디오 디코딩 방법은 상기 재구성된 매크로블록에 대하여 풀 프레임 인트라 갱신을 요청하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코더.
  20. 제19항에 있어서, 풀 프레임 인트라 갱신은 인트라 워크 어라운드 갱신이 제공된다면 요청되지 않는 것을 특징으로 하는 비디오 디코더.
  21. 제20항에 있어서, 상기 비디오 디코딩 방법은, 인트라 워크 어라운드 갱신이,
    파손 매크로블록이 파손된 것으로 마킹될 때 파손 매크로블록에 대한 타임스탬프를 기록하는 단계;
    상기 파손 매크로블록에 대한 인트라 갱신이 수신될 때 상기 타임스탬프를 재설정하는 단계;
    각각의 프레임의 끝에서 각각의 매크로블록에 대한 타임스탬프를 체킹하는 단계; 및
    만약 매크로블록이 소정의 주기보다 많은 시간동안 파손된 것으로 마킹되었다면, 풀 프레임 고속 갱신을 요청하는 단계;에 따라 제공되는지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코더.
  22. 비디오 디코딩 방법을 구현하도록 구성된 비디오 디코더에 있어서, 상기 비디오 디코딩 방법은,
    프레임의 모든 매크로블록을 파손 매크로블록으로 지정하는 단계;
    상기 프레임이 디코딩될 때, 각각의 성공적으로 디코딩된 매크로블록을 양호한 매크로블록으로 지정하는 단계;
    만약 에러가 소정의 시퀀스의 에러 비트를 수신함으로써 검출된다면, 기준 프레임의 갱신을 중지하는 단계;를 포함하는 것을 특징으로 하는 비디오 디코더.
  23. 제22항에 있어서, 상기 소정의 시퀀스의 에러 비트는 브리지, 게이트웨이 및 멀티포인트 컨트롤 유닛으로 구성된 그룹으로부터 선택된 컴포넌트내에 존재하는 데이터 링크층 모니터에 의해 비트스트림내로 삽입되는 것을 특징으로 하는 비디오 디코더.
  24. 제22항에 있어서, 상기 소정의 시퀀스의 에러 비트는 비디오 디코더에 의해 지원되는 복수의 비디오 코덱중 하나 이상에 대한 에러를 발생시키도록 설계된 것을 특징으로 하는 비디오 디코더.
KR1020050076047A 2004-08-20 2005-08-19 비디오 디코더에서의 에러 은닉 KR100719493B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60311204P 2004-08-20 2004-08-20
US60/603,112 2004-08-20

Publications (2)

Publication Number Publication Date
KR20060053152A KR20060053152A (ko) 2006-05-19
KR100719493B1 true KR100719493B1 (ko) 2007-05-17

Family

ID=35058993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050076047A KR100719493B1 (ko) 2004-08-20 2005-08-19 비디오 디코더에서의 에러 은닉

Country Status (6)

Country Link
US (2) US8064527B2 (ko)
EP (1) EP1628488B1 (ko)
JP (1) JP2006060813A (ko)
KR (1) KR100719493B1 (ko)
CN (1) CN100461868C (ko)
HK (1) HK1082623A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
US8798172B2 (en) * 2006-05-16 2014-08-05 Samsung Electronics Co., Ltd. Method and apparatus to conceal error in decoded audio signal
JP2008076847A (ja) * 2006-09-22 2008-04-03 Matsushita Electric Ind Co Ltd 復号器及び信号処理システム
CN101312536B (zh) * 2007-05-24 2011-03-02 中兴通讯股份有限公司 一种用于视频传输差错控制的视频编码方法及装置
ATE473600T1 (de) * 2007-05-25 2010-07-15 Psytechnics Ltd Videoqualitätsbestimmung
US9426522B2 (en) 2007-07-10 2016-08-23 Qualcomm Incorporated Early rendering for fast channel switching
US8121189B2 (en) * 2007-09-20 2012-02-21 Microsoft Corporation Video decoding using created reference pictures
US9357233B2 (en) * 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling
US9848209B2 (en) * 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
CN101562720B (zh) * 2008-04-17 2012-07-25 英华达(上海)电子有限公司 一种在视频通信中处理无效数据的方法及系统
US9788018B2 (en) * 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US9924184B2 (en) 2008-06-30 2018-03-20 Microsoft Technology Licensing, Llc Error detection, protection and recovery for video decoding
US8509325B2 (en) * 2008-07-01 2013-08-13 Qualcomm Incorporated Adaptive thresholding for OFDM channel estimation
US20100065343A1 (en) * 2008-09-18 2010-03-18 Chien-Liang Liu Fingertip Touch Pen
US9131241B2 (en) * 2008-11-25 2015-09-08 Microsoft Technology Licensing, Llc Adjusting hardware acceleration for video playback based on error detection
US8340510B2 (en) 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
TWI442778B (zh) 2010-02-05 2014-06-21 Acer Inc 視訊解碼裝置
CA2810899C (en) 2010-10-05 2016-08-09 General Instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
CN102595124B (zh) * 2011-01-14 2014-07-16 华为技术有限公司 图像编码解码方法、处理图像数据方法及其设备
CN104125457B (zh) * 2011-01-14 2018-01-09 华为技术有限公司 图像编码解码方法、处理图像数据方法及其设备
US9247257B1 (en) * 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
WO2013136678A1 (ja) * 2012-03-16 2013-09-19 パナソニック株式会社 画像復号装置および画像復号方法
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US9179151B2 (en) 2013-10-18 2015-11-03 Google Inc. Spatial proximity context entropy coding
JP6611536B2 (ja) * 2015-09-28 2019-11-27 キヤノン株式会社 リモート支援システム、情報処理装置、画像処理装置、それらの制御方法、及びプログラム
US10819976B2 (en) * 2018-06-25 2020-10-27 Polycom, Inc. Long-term reference for error recovery without back channel
US11265583B2 (en) 2020-01-06 2022-03-01 Plantronics Inc. Long-term reference for error recovery in video conferencing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019939A1 (en) 2001-08-23 2003-03-06 Polycom, Inc. System and method for video error concealment
US6611561B1 (en) 1999-02-18 2003-08-26 Nokia Mobile Phones Limited Video coding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805302A (en) * 1990-12-28 1998-09-08 Canon Kabushiki Kaisha Variable length encoding of image data
KR100396971B1 (ko) * 1994-11-29 2003-11-03 산요덴키가부시키가이샤 인코드된비디오데이터의에러검출및처리기능을구비한비디오디코더
US5959672A (en) * 1995-09-29 1999-09-28 Nippondenso Co., Ltd. Picture signal encoding system, picture signal decoding system and picture recognition system
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
JP3065251B2 (ja) 1996-07-08 2000-07-17 日本電気株式会社 動画像復号装置
US6201834B1 (en) * 1996-12-20 2001-03-13 Intel Corporation Method and apparatus for packet loss recovery with standard-based packet video
JP3053781B2 (ja) * 1997-03-18 2000-06-19 沖電気工業株式会社 動画像圧縮符号の復号方法及び復号装置
JP3604290B2 (ja) * 1998-09-25 2004-12-22 沖電気工業株式会社 動画像復号方法及び装置
US6357028B1 (en) * 1999-03-19 2002-03-12 Picturetel Corporation Error correction and concealment during data transmission
KR100357093B1 (ko) * 1999-06-02 2002-10-18 엘지전자 주식회사 동영상 압축 복원시스템에서의 오류 은폐장치 및 방법
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
US20020163971A1 (en) * 2001-02-23 2002-11-07 Goran Roth Video bitstream washer
US6728318B2 (en) * 2001-03-02 2004-04-27 Redrock Semiconductor, Ltd. Error recovery of corrupted MPEG-4 bitstreams using fuzzy decoding of start codes and resync markers
US6778610B2 (en) * 2001-03-02 2004-08-17 Redrock Semiconductor, Ltd. Simultaneous search for different resync-marker patterns to recover from corrupted MPEG-4 bitstreams
KR100418437B1 (ko) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
US8514711B2 (en) * 2005-10-21 2013-08-20 Qualcomm Incorporated Reverse link lower layer assisted video error control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611561B1 (en) 1999-02-18 2003-08-26 Nokia Mobile Phones Limited Video coding
WO2003019939A1 (en) 2001-08-23 2003-03-06 Polycom, Inc. System and method for video error concealment

Also Published As

Publication number Publication date
EP1628488A3 (en) 2006-11-08
JP2006060813A (ja) 2006-03-02
EP1628488A2 (en) 2006-02-22
HK1082623A1 (en) 2006-06-09
CN1738413A (zh) 2006-02-22
KR20060053152A (ko) 2006-05-19
CN100461868C (zh) 2009-02-11
EP1628488B1 (en) 2015-04-08
US20060039475A1 (en) 2006-02-23
US8064527B2 (en) 2011-11-22
US20120033739A1 (en) 2012-02-09

Similar Documents

Publication Publication Date Title
KR100719493B1 (ko) 비디오 디코더에서의 에러 은닉
AU774040B2 (en) Video coding
US6611561B1 (en) Video coding
US6744924B1 (en) Error concealment in a video signal
EP1287705A1 (en) Video coding
KR20050122281A (ko) 픽처 코딩 방법
CA2476843C (en) Video coding
US20050089102A1 (en) Video processing
EP1345451A1 (en) Video processing
EP1349398A1 (en) Video processing

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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee