KR101032017B1 - 무선 비디오 통신에서 에러 리질리언스 알고리즘의 방법 및장치 - Google Patents

무선 비디오 통신에서 에러 리질리언스 알고리즘의 방법 및장치 Download PDF

Info

Publication number
KR101032017B1
KR101032017B1 KR1020087020395A KR20087020395A KR101032017B1 KR 101032017 B1 KR101032017 B1 KR 101032017B1 KR 1020087020395 A KR1020087020395 A KR 1020087020395A KR 20087020395 A KR20087020395 A KR 20087020395A KR 101032017 B1 KR101032017 B1 KR 101032017B1
Authority
KR
South Korea
Prior art keywords
current frame
pixel
frame
level reference
reference counter
Prior art date
Application number
KR1020087020395A
Other languages
English (en)
Other versions
KR20080099276A (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 KR20080099276A publication Critical patent/KR20080099276A/ko
Application granted granted Critical
Publication of KR101032017B1 publication Critical patent/KR101032017B1/ko

Links

Images

Classifications

    • 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
    • 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/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
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

특히, 예를 들어, 향상된 디코딩되는 비디오 품질, 향상된 에러 복구 능력 및/또는 향상된 디코딩 효율을 인에이블하는 멀티미디어 데이터를 인코딩하는 방법 및 장치를 설명한다. 출원에 따른 방법은 다음 중 하나: 현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하는 단계, 현재 프레임을 참조하여 다음 프레임의 예측을 수행하는 단계, 다음 프레임의 예측 동안에 참조되는 현재 프레임의 각 픽셀에 대해 픽셀-레벨 참조 카운터를 증분하는 단계, 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 단계, 현재 프레임을 참조하여 복수의 다음 프레임에서의 다음 프레임 각각에 대해 상기 초기화하는 단계, 상기 수행하는 단계 및 상기 재조정하는 단계를 반복하는 단계, 및 현재 프레임의 재조정된 매크로블록 대역폭 맵에 적어도 부분적으로 기초하여 현재 프레임을 인코딩하는 단계를 포함한다.
픽셀-레벨 참조 카운터, 비디오 품질, 에러 복구 능력, 디코딩 효율

Description

무선 비디오 통신에서 에러 리질리언스 알고리즘의 방법 및 장치{METHOD AND APPARATUS FOR ERROR RESILIENCE ALGORITHMS IN WIRELESS VIDEO COMMUNICATION}
관련 출원의 교차 참조
35 U.S.C.§119 하의 우선권 주장
본 특허출원은 2006년 1월 20일 출원되고, 발명의 명칭이 "Method and Apparatus for Adaptive Intra Refresh Based on Prediction Hierarchy for Wireless Video Communications"인 가출원 일련번호 제 60/760,678호 (Attorney Docket 060372P1) 에 대해 우선권 주장하며, 본 출원의 양수인에게 양도되고, 여기에 모든 목적을 위한 참조로서 명백히 포함된다.
본 특허출원은 2006년 1월 20일 출원되고, 발명의 명칭이 "A Method of Error Resilience for Wireless Video Communication"인 가출원 일련번호 제 60/760,755호 (Attorney Docket 060372P2) 에 대해 우선권 주장하며, 본 출원의 양수인에게 양도되고, 여기에 모든 목적을 위한 참조로서 명백히 포함된다.
배경기술
기술분야
본 출원은 멀티미디어 신호 프로세싱에 관한 것으로, 더 상세하게는 무선 비디오 통신에 관한 것이다.
관련 기술의 설명
비디오 인코더와 같은 멀티미디어 프로세싱 시스템은 MPEG (Moving Picture Experts Group)-1, -2, 및 -4 표준, ITU (International Telecommunication Union)-T H.263 표준, 및 ITU-T H.264 표준과 같은 국제 표준과 그 대응부, ISO/IEC MPEG-4, 파트 10, 즉, AVC (Advanced Video Coding) 에 기초한 인코딩 방법을 이용하여 멀티미디어 데이터를 인코딩한다. 이러한 인코딩 방법은 일반적으로 송신 및/또는 저장을 위해 멀티미디어 데이터를 압축하는 것에 관한 것이다. 압축은 광범위하게 데이터로부터 러던던시를 제거하는 프로세스이다.
비디오 신호는 프레임 (전체 픽처) 을 포함하는 픽처의 시퀀스, 또는 필드 (예를 들어, 인터레이스 비디오 스트림은 픽처의 교차하는 홀수 또는 짝수 라인의 필드를 포함한다) 의 관점에서 설명될 수도 있다. 여기서 사용되는 바와 같이, 용어 "프레임"은 픽처, 프레임 또는 필드를 지칭한다. 비디오 인코딩 방법은 각 프레임을 압축하기 위한 손실 없는 또는 손실 있는 압축 알고리즘을 이용하여 비디오 신호를 압축한다. 인트라-프레임 코딩 (여기서 인트라-코딩으로 지칭) 은 오직 그 프레임만을 이용하여 프레임을 인코딩하는 것을 지칭한다. 인터-프레임 코딩 (여기서 인터-코딩으로 지칭) 은 다른 "참조" 프레임에 기초하여 프레임을 인코딩하는 것을 지칭한다. 예를 들어, 비디오 신호는 종종 시간 리던던시를 나타내며, 여기서 프레임의 시간 시퀀스에서 서로 가까이에 있는 프레임은 서로 매치하거나 적어도 부분적으로 매치하는 최소한의 부분을 가진다.
비디오 인코더와 같은 멀티미디어 프로세서는 블록 또는 예를 들어, 16×16 픽셀의 "매크로블록 (MB)"으로 프레임을 분할함으로써 프레임을 인코딩할 수도 있 다. 인코더는 각 매크로블록을 서브블록으로 더 분할할 수도 있다. 각 서브블록은 추가적인 서브블록을 더 포함할 수도 있다. 예를 들어, 매크로블록의 서브블록은 16×8 및 8×16 서브블록을 포함할 수도 있다. 8×16 서브블록의 서브블록은 8×8 서브블록 등을 포함할 수도 있다. 여기서 사용된 바와 같이, 용어 "블록"은 매크로블록 또는 서브블록 중 하나를 지칭한다.
인코더는 인터-코딩 모션 보상 기반 알고리즘을 이용하여 이 시간 리던던시의 장점을 취한다. 모션 보상 알고리즘은 블록과 적어도 부분적으로 매치하는 참조 프레임의 부분을 식별한다. 블록은 참조 프레임의 매칭 부분에 대하여 프레임 내에서 시프트될 수도 있다. 이 시프트는 모션 벡터를 특징으로 한다. 참조 프레임의 부분 매칭 부분과 블록 사이의 임의의 차이는 잔류물의 관점에서 특징을 가질 수도 있다. 인코더는 모션 벡터 중 하나 이상을 포함하는 데이터 및 프레임의 특정 분할에 대한 잔류물로서 프레임을 인코딩할 수도 있다. 프레임을 인코딩하기 위한 블록의 특정 분할은, 예를 들어, 인코딩으로부터 야기되는 컨텐츠의 왜곡으로 인코딩 사이즈를 밸런싱하는 비용 기능을 대략적으로 최소화함으로써 선택될 수도 있다.
인터-코딩은 인트라-코딩보다 더 많은 압축 효율을 허용한다. 그러나, 인터-코딩은 채널 에러 등으로 인해 참조 데이터 (예를 들어, 참조 프레임 또는 참조 필드) 가 손실되는 경우에 문제를 초래할 수 있다. 이들 경우에, 인터-코딩된 데이터의 디코딩이 가능하지 않을 수도 있거나 또는 바람직하지 않은 에러 및 에러 전파를 야기할 수도 있다. 디코더는 이웃하는 블록으로부터 또는 다른 프 레임의 데이터로부터 도출된 데이터로 에러 있는 데이터를 은닉 또는 커버-업하려고 시도하는 은닉 방식을 채용할 수도 있다. 은닉 알고리즘의 향상은 에러 있는 비디오 데이터의 은닉된 부분의 품질에 있어 임의의 향상을 제공할 수도 있다. 그러나, 시공간 정보에 대한 은닉 알고리즘의 심한 의존성으로 인해 은닉된 이미지가 얼마나 높은 품질을 나타내는지에 대한 제한이 있다. 은닉된 데이터는 높은 품질이 아닐 수도 있고 뷰잉 경험은 저하될 수도 있다. 또한, 신호의 디코딩은 불가능하게 될 수도 있고 재동기화가 필요할 수도 있다. 비디오를 리프레시하는 인코딩 방법에 의해, 에러 전파가 제한될 수도 있고, 재동기화 (또는 초기 획득) 가 인에이블될 수도 있다. 리프레시된 비디오 신호는 참조 또는 다른 프레임의 지식 없이 디코딩될 수 있다.
독립적으로 디코딩가능한 인트라-코딩된 프레임은 비디오 신호의 리프레시를 인에이블하는 가장 흔한 형태의 프레임이다. MPEG-x 및 H.26x 표준은 GOP (group of pictures) 내의 I-프레임 및/또는 P 및/또는 B 프레임을 참조하는 인트라-코딩된 프레임 (I-프레임으로도 불림) 및 시간상 예측된 P-프레임 또는 양방향 예측된 B 프레임을 포함하는 GOP로 알려져 있는 것을 이용한다. 더 긴 GOP는 증가된 압축에 바람직하지만, 더 짧은 GOP는 더 신속한 획득 및 재동기화를 허용한다. I-프레임의 수를 증가시키면, 더 자주 비디오 신호를 리프레시함으로써, 더 낮은 압축 비용으로 에러 전파를 더욱 제한하고 더 신속한 획득 및 재동기화를 제공한다. 압축 효율을 유지하면서 디코더에서의 비디오 스트림의 에러 전파를 제한하는 비디오 데이터를 인코딩하는 방법이 필요하다.
개요
출원의 시스템, 방법, 및 디바이스는 각각 수개의 양태를 가지며, 이들 중 어떤 것도 바람직한 속성을 단독으로 책임지지 않는다. 다음의 청구의 범위에 의해 표현되는 것으로 본 출원의 범위를 제한하지 않고, 이하 보다 현저한 특징을 간단히 설명한다. 이 논의를 고려한 후, 특히 "일정 실시형태의 상세한 설명"의 섹션을 읽은 후에, 특히, 예를 들어, 향상된 디코딩되는 비디오 품질, 향상된 에러 복구, 향상된 에러 리질리언스 및/또는 향상된 무선 통신 효율을 포함하는 임의의 향상된 사항을 본 출원의 표본 특징이 제공할 수 있다는 것을 이해한다.
다수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 방법은, 현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하는 단계, 현재 프레임을 참조하여 다음 프레임의 예측을 수행하는 단계, 및 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 단계를 포함한다.
다수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 프로세서가 설명되며, 상기 프로세서는 현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하고, 현재 프레임을 참조하여 다음 프레임의 예측을 수행하며, 현재 프레임의 매크로블록 대역폭 맵을 재조정하도록 구성된다.
다수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 장치가 제시되며, 상기 장치는, 현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하기 위한 초기화기, 현재 프레임을 참조하여 다음 프레임의 예측을 수행하기 위한 수행기, 및 현재 프레임의 매크로블록 대역폭 맵을 재조정하기 위한 재조정기를 포함한 다.
다수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 장치가 제시되며, 상기 장치는 현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하는 수단, 현재 프레임을 참조하여 다음 프레임의 예측을 수행하는 수단, 및 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 수단을 포함한다.
복수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 머신 판독가능 매체가 설명되며, 상기 머신 판독가능 매체는, 실행 시에 머신으로 하여금, 현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하고, 현재 프레임을 참조하여 다음 프레임의 예측을 수행하며, 현재 프레임의 매크로블록 대역폭 맵을 재조정하게 하는 명령들을 포함한다.
도면의 간단한 설명
도 1은 일 양태에 따른 멀티미디어 통신 시스템을 도시한 블록도이다.
도 2는 도 1에 도시된 것과 같은 시스템에 이용될 수도 있는 인코더 디바이스의 실시형태를 도시한 블록도이다.
도 3은 도 1에 도시된 것과 같은 시스템에 이용될 수도 있는 디코더 디바이스의 실시형태를 도시한 블록도이다.
도 4a는 도 1에 도시된 것과 같은 시스템에서 비디오 스트림의 부분을 인코딩하는 방법의 실시예를 도시한 흐름도이다.
도 4b는 도 1에 도시된 것과 같은 시스템에서 비디오 스트림의 부분을 인코딩하는 방법의 실시예를 도시한 흐름도이다.
도 5는 도 4a 및 도 4b의 방법에 의해 발생할 수도 있는 왜곡 맵을 그래픽으로 도시한 것이다.
도 6은 모션 보상 예측 방법에서 이용되는 것과 같은 비디오의 부분을 추정하는데 이용되는 예측 영역을 그래픽으로 도시한 것이다.
도 7은 도 1에 도시된 것과 같은 시스템에 이용될 수도 있는 인코더 디바이스의 실시형태를 도시한 기능 블록도이다.
도 8은 도 1에 도시된 것과 같은 시스템에 이용될 수도 있는 인코더 디바이스의 실시형태를 도시한 기능 블록도이다.
도 9는 일정 실시형태에 따른 무선 통신 시스템 (900) 을 도시한 것이다.
도 10은 슬라이스 및 AU에서의 코딩된 비디오 데이터 또는 비디오 비트스트림의 구성을 나타낸 것이다.
도 11은 슬라이스 및 AU에서의 비트 스트림(들) 및 그들의 FLO 프레임에의 맵핑의 구성을 나타낸 것이다.
도 12는 일정 실시형태에 따른 예측된 프레임 코딩에 대한 예측 계층을 나타낸 것이다.
도 13은 일정 실시형태에 따른 예측 체인을 결정하고 빈번한 참조 매크로블록에 더 가중치를 두는 투패스 (two-pass) 알고리즘을 나타낸 것이다.
일정 실시형태의 상세한 설명
다음의 상세할 설명은 출원의 일정한 표본 실시형태에 관한 것이다. 그러나, 본 출원은 청구범위에 의해 정의 및 포함되는 다수의 상이한 방식으로 구현 될 수 있다. 이 설명에서, 동일한 부분은 전체에 걸쳐 동일한 부호로 지시되는 도면을 참조한다.
비디오 신호는 일련의 픽처, 프레임, 필드 또는 슬라이스의 관점에서 특징을 가질 수도 있다. 여기서 사용된 바와 같이, 용어 "프레임"은 순차 비디오 신호의 프레임, 인터레이스 비디오 신호의 필드, 또는 둘 중 하나의 슬라이스 중 하나를 포함할 수도 있는 광의의 용어이다.
실시형태는 멀티미디어 송신 시스템에서 인코더에서의 프로세싱을 향상시키는 시스템 및 방법을 포함한다. 멀티미디어 데이터는 모션 비디오, 오디오, 스틸 이미지, 또는 임의의 다른 유형의 오디오-비주얼 데이터 중 하나 이상을 포함할 수도 있다. 실시형태는 데이터 (예를 들어, 비디오) 통신의 장치 및 방법을 포함한다.
도 1은 일 양태에 따른 멀티미디어 통신 시스템 (100) 을 도시한 블록도이다. 시스템 (100) 은, 예를 들어, 무선 네트워크와 같은 에러 나기 쉬운 네트워크일 수 있는 네트워크 (140) 를 통해 디코더 디바이스 (150) 와 통신하는 인코더 디바이스 (110) 를 포함한다. 일 실시예에서, 인코더 디바이스는 외부 소스 (102) 로부터 멀티미디어 신호를 수신하고 네트워크 (140) 를 통한 송신을 위해 그 신호를 인코딩한다.
이 실시예에서, 인코더 디바이스 (110) 는 메모리 (114) 및 송수신기 (116) 에 커플링된 프로세서 (112) 를 포함한다. 프로세서 (112) 는 범용 프로세서 및/또는 디지털 신호 프로세서 중 하나 이상을 포함할 수도 있다. 메모리 (114) 는 고체 상태 및/또는 디스크 기반 저장소 중 하나 이상을 포함할 수도 있다. 프로세서 (112) 는 멀티미디어 데이터 소스로부터 데이터를 인코딩하고, 이를 네트워크 (140) 를 통한 통신을 위해 송수신기 (116) 에 제공한다.
이 실시예에서, 디코더 디바이스 (150) 는 메모리 (154) 및 송수신기 (156) 에 커플링된 프로세서 (152) 를 포함한다. 프로세서 (152) 는 범용 프로세서 및/또는 디지털 신호 프로세서 중 하나 이상을 포함할 수도 있다. 메모리 (154) 는 고체 상태 및/또는 디스크 기반 저장소 중 하나 이상을 포함할 수도 있다. 송수신기 (156) 는 네트워크 (140) 를 통해 멀티미디어 데이터를 수신하고 이를 디코딩을 위해 프로세서 (152) 에 제공하도록 구성된다. 일 실시예에서, 송수신기 (156) 는 무선 송수신기를 포함한다. 네트워크 (140) 는, 이더넷, 전화 (예를 들어, POTS), 케이블, 파워-라인, 및 광섬유 시스템 중 하나 이상을 포함하는 유선 또는 무선 통신 시스템, 및/또는 코드 분할 다중 접속 (CDMA 또는 CDMA2000) 통신 시스템, 주파수 분할 다중 접속 (FDMA) 시스템, 직교 주파수 분할 다중 (OFDM) 접속 시스템, GSM/GPRS (General Packet Radio Service)/EDGE (enhanced data GSM environment) 와 같은 시분할 다중 접속 (TDMA) 시스템, TETRA (Terrestrial Trunked Radio) 이동 전화 시스템, 광대역 코드 분할 다중 접속 (WCDMA) 시스템, 하이 데이터 레이트 (1xEV-DO 또는 1xEV-DO 골드 멀티캐스트) 시스템, IEEE 802.11 시스템, 미디아플로 시스템, DMB 시스템, 또는 DVB-H 시스템 중 하나 이상을 포함하는 무선 시스템 중 하나 이상을 포함할 수도 있다.
도 2는 도 1에 도시된 시스템 (100) 과 같은 시스템에 이용될 수도 있는 인 코더 디바이스 (110) 의 실시형태를 도시한 블록도이다. 이 실시형태에서, 인코더 (110) 는 왜곡값 추정기 엘리먼트 (202), 인코딩 방법 결정기 (204), 및 멀티미디어 인코더 엘리먼트 (206) 를 포함한다. 왜곡값 추정기 (202) 는 인코딩되는 멀티미디어 데이터의 부분의 왜곡값을 추정한다. 왜곡값은 현재 부분이 예측되는 비디오의 다른 부분으로부터의 에러 전파 및 다른 부분이 에러로 수신되는 가능성에 부분적으로 기초한다. 왜곡값은 또한 비디오 데이터의 부분이 에러로 수신되었으면 이를 은닉하는 동안에, 디코더에 도입된 에러로 인한 왜곡 성분을 포함한다. 왜곡값 추정기는 다수의 인코딩 방법을 고려하고 인코딩 방법의 각각의 왜곡값을 계산한다.
인코딩 방법 결정기 (204) 는 추정된 왜곡값에 기초하여 비디오의 부분을 인코딩하는데 이용되는 인코딩 방법을 결정한다. 인코딩 방법 결정기 (204) 및 왜곡값 추정기 (202) 는 다수의 인코딩 방법 (예를 들어, 다수의 인터-코딩 방법) 에 대한 다수의 왜곡값을 계산하고 최소한의 왜곡을 야기하는 인코딩 방법을 선택하기 위해 함께 작동한다. 인코딩 방법 결정기는 임계값과 왜곡값을 비교하고, 그 비교에 기초하여, 다른 인코딩 방법이 필요하다고 결정한다. 다른 인코딩 방법은 인트라-코딩과 같이, 비디오 스트림을 리프레시하는 것과 관련된 인코딩 방법일 수도 있다. 다른 인코딩 방법은 또한 왜곡값 추정기 (202) 에 의해 추정된 왜곡값을 더 낮추는 인터-코딩의 다른 형태일 수도 있다. 인코딩 방법 결정기는 또한 허용가능한 왜곡을 제공하고 계산 복잡도 레벨을 초과하지 않는 인코딩 방법을 결정하는데 있어 왜곡값과 함께 계산 복잡도를 고려할 수도 있다.
멀티미디어 인코더 (206) 는 왜곡값에 기초하여 결정된 인코딩 방법을 수행한다. 멀티미디어 인코더 (206) 에 의해 수행된 인코딩 방법은, 다른 시간 프레임에 위치한 비디오 데이터의 다른 부분과 관련하여 (예를 들어, 모션 보상 예측을 이용하여) 비디오의 부분이 시간상 예측된 인터-코딩을 포함한다. 다른 인코딩 방법은 인트라-인코딩을 포함하며, 여기서 다른 시간상 위치한 비디오 데이터와 무관하게 독립적으로 디코딩될 수 있도록 비디오의 부분이 인코딩된다. 몇몇 실시형태에서, 인트라-코딩은 동일한 시간 프레임에 위치한 다른 비디오 데이터의 리던던시를 이용하기 위해 공간 예측을 이용할 수도 있다.
몇몇 실시형태에서, 도 2의 인코더 (110) 의 엘리먼트의 하나 이상이 재배열 및/또는 결합될 수도 있다. 엘리먼트는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 임의의 그 조합에 의해 구현될 수도 있다. 인코더 (110) 의 엘리먼트들에 의해 수행된 동작에 관한 상세한 설명은 이하 도 4에 도시된 방법을 참조하여 검토한다.
도 3은 도 1에 도시된 시스템 (100) 과 같은 시스템에 이용될 수도 있는 디코더 디바이스 (150) 의 실시형태를 도시한 블록도이다. 이 실시형태에서, 디코더 디바이스 (150) 는 멀티미디어 디코더 엘리먼트 (302) 및 에러 은닉 엘리먼트 (304) 를 포함한다. 멀티미디어 디코더 (302) 는 도 2의 인코더 디바이스를 이용하여 인코딩되는 것과 같이 인코딩된 멀티미디어 비트스트림을 디코딩한다. 멀티미디어 디코더는 데이터를 인코딩하는데 이용된 인코딩 동작에 대응하는 반대 동작을 수행한다. 인코딩된 데이터는 인터-코딩된 데이터 (예를 들어, 시간상 예측된 데이터) 및/또는 인트라-코딩된 데이터일 수도 있다.
에러 은닉 엘리먼트 (304) 는 에러로 수신되거나 그렇지 않으면 (예를 들어, 동기화 손실로 인해) 디코딩가능하지 않은 비디오의 부분을 은닉 또는 커버-업하는데 이용되는 다양한 형태의 에러 은닉을 수행한다. 은닉 방법은 공간 에러 은닉, 시간 에러 은닉 및 다른 방법을 포함할 수도 있다. 이용되는 은닉 방법은, 도 2의 인코더 디바이스의 왜곡값 추정기 (202) 에서 왜곡값을 추정하는 경우에 모델링되는 에러 은닉 방법과 동일 또는 유사할 수도 있다. 본 양태가 동일 또는 유사한 은닉 방법을 요구하지 않더라도, 인코더 디바이스에서 모델링된 것과 같은 디코더 디바이스 (150) 에서의 이러한 동일 또는 유사한 은닉 방법의 사용은 디코딩된 비디오 품질을 향상시킬 수도 있다. 에러 은닉을 수행하는 것에 더해, 에러 은닉 엘리먼트 (304) 는 에러 복구 기능을 수행할 수도 있다. 사용가능한 (예를 들어, 에러 없는) 부분을 파싱 (parse) 하려고 시도함에 있어 에러 있다고 결정되는 데이터의 섹션에 대해 에러 복구가 수행될 수도 있다. 이들 파싱된 부분은 또한 에러 은닉 엘리먼트 (304) 에 의해 에러 은닉에 이용될 수도 있다.
몇몇 실시형태에서, 도 3의 디코더 (150) 의 엘리먼트들 중 하나 이상이 재배열 및/또는 결합될 수도 있다. 엘리먼트는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 임의의 그 조합에 의해 구현될 수도 있다. 디코더 (150) 의 엘리먼트들에 의해 수행된 동작에 관한 상세한 설명은 본 논의 범위 밖에 있다.
도 4a는 도 1에 도시된 것과 같은 시스템에서 비디오 스트림의 부분을 인코 딩하는 방법의 실시예를 도시한 흐름도이다. 이 실시예에서, 방법은 인코딩되는 비디오의 부분의 왜곡값을 추정한다. 왜곡값은 디코더에서 에러로 수신되는 인코딩된 부분의 확률 및 에러 있는 부분을 은닉하는데 이용되는 은닉 방법에 의해 야기되는 에러에 기초한다. 왜곡값을 디코더 은닉 방법에 기초함으로써, 인코딩된 비디오 비트스트림은 디코더에서의 에러 전파의 효과보다 더 강력할 수도 있으며, 이는 디코딩된 비디오 품질을 향상시킬 수도 있다. 이 실시예에서의 방법은 또한 추정된 왜곡값에 기초하여 인코딩 방법을 결정할 수 있다. 인코딩 방법은 복수의 인코딩 방법 중에서 왜곡값을 최소로 하도록 결정될 수도 있다. 인코딩 방법은 디코더에서의 비디오의 부분의 복구가능성을 향상시키는 것에 기초하여 결정될 수도 있다. 인코딩 방법은 디코더에서의 에러 전파를 제한하도록 비디오 부분을 리프레시하도록 결정될 수도 있다.
도 4a를 참조하면, 방법 (400) 은, 인코딩 디바이스가 멀티미디어 데이터의 부분의 왜곡값을 추정하는 블록 (402) 에서 시작한다. 멀티미디어 데이터의 부분은 픽셀 (예를 들어, 루마 및 크로마, 또는 레드, 그린 및 블루 등), 픽셀의 블록 또는 하나 이상의 픽셀의 임의의 형상 및 사이즈 영역일 수도 있다. 왜곡값은 비디오 부분이 에러로 수신되면 이를 은닉하는데 이용될 수도 있는 에러 은닉 방법과 관련된 왜곡 성분에 적어도 부분적으로 기초한다. 왜곡값은 다수의 은닉 방법으로부터의 성분을 포함할 수도 있다. 예를 들어, 하나의 성분은 인코딩되는 부분만이 에러로 수신되면 이용된 제 1 은닉 방법에 의해 도입된 왜곡을 나타낼 수도 있다. 즉, 은닉 부분을 예측하기 위해 디코더 디바이스가 이용할 수 있는 모든 다른 비디오 데이터 (예측 데이터로 지칭됨) 는 에러 없이 수신된다고 가정된다. 왜곡값의 다른 성분은 제 2 은닉 방법 또는 제 3 은닉 방법에 의해 도입된 왜곡을 포함할 수도 있으며, 여기서 이들 은닉 방법은 하나 이상의 예측 부분이 에러로 수신되면 디코더에 의해 이용될 수도 있다. 은닉 방법은 공간 은닉, 시간 은닉 및 다른 형태의 은닉을 포함할 수도 있다. 시간 은닉을 포함하는 왜곡값을 추정하는 방법에 관한 상세한 설명은 후술한다. 도 2의 인코더 디바이스 (110) 의 왜곡값 추정기 (202) 는 블록 (402) 에서의 동작을 수행할 수도 있다.
몇몇 실시형태에서, 왜곡값은 데이터의 프레임에서의 각 블록에 대한 블록 (402) 에서 계산된다. 블록은 매크로블록 (예를 들어, 16×16 픽셀 매크로블록), 또는 임의의 사이즈의 서브-매크로블록일 수도 있다. 프레임에서의 각 블록의 왜곡값은 왜곡 맵에 저장될 수도 있다. 도 5는 블록 (402) 에서 발생될 수도 있는 왜곡 맵을 그래픽으로 도시한다. 왜곡 맵 (500) 은 프레임에서의 각 블록에 대해 하나씩, 다수의 왜곡값 변수 (505)(dv1-dv16으로 라벨링됨) 를 포함한다. 이전 프레임의 왜곡 맵 (500) 은 새로운 프레임에서 왜곡값을 계산하는데 이용될 수도 있다. 이러한 방식으로, 누적 왜곡이 용이하게 계산될 수도 있다. 임의의 블록이 리프레시된다고, 예를 들어, 인트라-코딩된다고 결정되면, 그 블록의 왜곡값은 0으로 설정, 또는 양자화 또는 몇몇 다른 팩터로 인한 왜곡값으로 설정될 수도 있다.
블록 (404) 에서, 인코더 디바이스는 추정된 왜곡값에 기초하여 멀티미디어 데이터의 부분에 이용되는 인코딩 방법을 결정한다. 몇몇 실시예에서, 다수의 방법 중 어떤 인코딩 방법이 이용될지를 선택하기 위해 이용되는 레이트 왜곡 계산의 일부로서 다수의 인코딩 방법에 대해 블록 (402) 에서 왜곡값이 계산된다. 예를 들어, 최소 왜곡값을 발생시키는 인코딩 방법은 멀티미디어 데이터의 부분을 인코딩하기 위해 이용되도록 (블록 404에서) 결정될 수도 있다. 다른 실시예에서, 왜곡값은 제 1 인코딩 방법 (인터-코딩 또는 인트라-코딩 중 하나) 에 기초하여 계산되고, 왜곡값은 AIR (Adaptive Intra-Refresh) 에서 행해지는 것과 같이, 인트라-코딩되어야 하는 블록을 결정하는데 이용된다. 예를 들어, 부분에 대응하는 왜곡값은, 부분을 인코딩하기 위해 레이트 왜곡 기반 결정이 최적 모션 벡터(들) 및 모드를 발견한 후에 산정될 수도 있다. 그렇게 획득된 왜곡값이 임계값보다 크면, 인트라-코딩 모드 중 하나, 예를 들어, 4×4 픽셀 인트라-코딩 또는 16×16 픽셀 인트라-코딩을 이용하여 부분을 인트라-코딩하도록 결정될 수도 있다. 이러한 방식으로, 멀티미디어의 부분이 리프레시된다. 인트라-코딩 모드와 별개로, 일정 인터-코딩 모드 (P8×8, P16×16, P16×8, P8×16 등) 가 리프레시된 비디오를 발생시키지 않을 수 있더라도, 이들은 또한 몇몇 경우에 왜곡값에 기초하여 결정될 수도 있다. 방법 (400) 의 블록의 일부는 결합, 생략, 재배열되거나 또는 그 임의의 조합일 수도 있다는 것을 인식하여야 한다. 블록 (404) 에서 인코딩 방법을 결정하는 몇몇 실시형태에 관한 상세한 설명은 도 4b를 참조하여 후술한다.
이하, 블록 (402) 에서 왜곡값을 추정하는 실시예 알고리즘에 관한 상세한 설명을 검토한다. 이 실시예에서 왜곡값은 2 개의 다른 프레임, 예를 들어, 이전 프레임과 후속 프레임으로부터의 부분을 이용하여 멀티미디어의 에러 있는 부분을 은닉하는 시간 은닉 방법에 관한 것이다. 그러나, 다른 은닉 방법은 유사한방법을 이용하여 나타낼 수도 있다.
실시예 알고리즘은 비디오의 (P 프레임에서와 같은) 단방향으로 예측된 부분 예상된 왜곡값 (즉, 통계 예상치) 의 귀납적 왜곡값을 산정한다. 인트라-코딩된 부분과 같은 다른 부분 및 양방향으로 예측된 부분은 또한 유사한 알고리즘에 의해 나타낼 수도 있다. 알고리즘은 현재 MB가 손실되는 가정된 확률 (확률 "P"로 정의) 및 은닉 방법에 의해 이용된 예측변수 (predictor) 가 손실될 확률 (확률 "Q"로 정의) 에 부분적으로 기초한다. 가정된 확률 P 및 Q 중 적어도 하나가 증가하면서, 알고리즘은 압축 효율을 트레이드-오프하면서 우수한 에러 리질리언스 (error resilience)/은닉을 더욱 양상하는 경향이 있다. 확률 P 및 Q 중 적어도 하나를 감소시키는 경우에는 반대 현상이 발생한다.
알고리즘은 멀티미디어 데이터의 부분의 예상된 왜곡값을 산정한다. 멀티미디어 데이터의 부분은 임의의 수의 픽셀 및 임의의 형상일 수도 있다. 실시예는 16×16 픽셀 매크로블록 (MB) 인 부분을 참조하여 설명하지만, 다른 부분도 나타낼 수 있다는 것을 인식하여야 한다. 일 실시형태에서, 알고리즘은 도 5를 참조하여 상술한 바와 같은 왜곡 맵을 형성하기 위해 프레임의 각 MB의 예상된 왜곡값을 추정하는데 이용된다. 이 실시예에서 예상된 왜곡값은 귀납적 및 모션- 적응 방식으로 산정된다. 이 예상된 왜곡 맵이 정확히 MSE 또는 L1-놈 (norm) 왜곡 측정치가 아니더라도, 이들 측정치와 상당히 잘 상관하는 것이 예상된다.
다음의 기호는 왜곡값 알고리즘의 논의에 사용된다.
Figure 112008059406747-pct00001
= 't'번째 프레임에서 (i,j) 번째 매크로블록의 누적 왜곡값
P = 현재 MB가 손실될 확률
Q = 관련된 은닉 방법에 의해 이용된 예측변수가 손실될 확률
이들 가정이 주어지면, 현재 MB는 (1-P) 와 동일한 확률에서 임의의 에러 없이 수신된다. 단방향 예측에 있어서, 현재 MB는 다른 프레임, 이 실시예에서는 이전 프레임의 MB 사이즈의 부분과 관련하여 인코딩된다. 모션 벡터 MV는 현재 MB의 상대 포지션, 즉 위치 및 MB 사이즈의 참조 부분을 제공한다. 참조 부분은 일반적으로 MB의 경계와 일직선에 있지 않지만, 4 개의 MB의 4 개 영역까지 오버랩한다. 도 6은 모션 보상 예측 방법을 이용하여 비디오의 부분을 추정하는데 이용되는 예측 영역을 그래픽으로 도시한다. 모션 벡터 (605) 는 a1, a2, a3 및 a4로 라벨링된 4 개의 영역 부분으로 구성된 MB 사이즈의 예측 영역 (610) 을 가리킨다. 영역 부분 (a1 - a4) 은 각각 4 개의 MB (615, 620, 625 및 630) 내에 있다. MB (615-630) 의 왜곡값은 이전 프레임의 왜곡 맵의 저장된 버전으로부터 획득될 수도 있다. 이 실시예에서, 예측 영역 (610) 에서의 4 개의 영역 부분 (a1-a4) 의 누적 왜곡값은 (예를 들어, 각 영역 부분에서의 픽셀의 수에 기초하여) 가중 평균되어, 현재 MB의 왜곡값을 계산한다. 따라서, 누적 에러 전파로 인한 현재 매크로블록의 추정되고 예상된 왜곡값은
[수학식 (1)]
Figure 112008059406747-pct00002
로 주어지며, 여기서 a1, a2, a3, a4는 도 6에 도시된 4 개의 영역 부분이다. 수학식 (1) 에 의해 주어진 왜곡값은 16×16 픽셀 영역의 가중 평균을 256으로 나누어서 정규화한다.
이전 프레임의 예측 영역으로부터의 누적 왜곡에 더해, 현재 MB가 에러로 수신되면, 알고리즘은 현재 MB의 은닉으로 인해 왜곡값 성분을 추정한다. 상술한 바와 같이, 현재 MB는 P의 확률로 에러로 수신된다고 가정한다. 은닉 방법으로 인해 현재 매크로블록에 의해 초래되는 왜곡은 은닉 에러 (은닉 방법에 의해 도입되고 용어 Conceal_Error로 표시되는 에러) 와 은닉 방법에 의해 이용된 예측 영역으로부터의 에러 전파로 인한 효과의 합계로 근사될 수도 있다. 상기에서 검토한 바와 같이, (예를 들어, 현재 및/또는 과거 프레임으로부터의) 예측변수가 확률 1-Q로 이용가능하다고 가정한다. 이 실시예에서, 은닉 방법(들)은 현재 프레임 및 이전 프레임에서의 데이터의 이용가능성에 따른다고 가정한다. 예측 영역은 누적 왜곡 용어
Figure 112008059406747-pct00003
로 표시된 바와 같이, 이전 프레임에 있다고 가정된다. 그러나, 이는 단지 실시예일 뿐이고, 예측 영역은 현재 프레임 또는 이용가능한 임의의 다른 프레임에 있을 수도 있다. 따라서, 이전 프레임으로부터 예측 영역을 이용한 시간 에러 은닉 방법으로 인해 왜곡이 초래되며, 여기서 은닉되는 부분은 P 의 확률로 에러가 있으며, 현재 프레임 및 이전 프레임 (둘 다 1-Q의 확률로 이용가능) 에서의 예측 데이터의 이용가능성에 따르는 것은
[수학식 (2)]
Figure 112008059406747-pct00004
와 같이 산정될 수도 있다.
은닉 에러 산정은 계산상 복잡할 수도 있다. 그러나, 일부 합리적인 가정 하에, 이들은 다음의 SAD (픽셀 값의 누적 차이의 합계) 값에서의 차이로서 근사될 수도 있다.
SADopt: 최적 MV 및 최적 인코딩 모드가 이용되는 경우에 오리지널 이미지와 압축된 이미지 사이에서 획득된 SAD
SADest: 추정된 (시간 은닉 알고리즘에 의해 추정된) MV 가 이용되는 경우에 오리지널 이미지와 은닉된 이미지 사이에서 획득된 SAD
이러한 근사는 다음과 같이 기재될 수도 있으며,
[수학식 (3)]
Figure 112008059406747-pct00005
여기서, a1', a2', a3', a4'는 은닉 부분 예측으로서 이용되고 누적 왜곡을 가중 평균하는데 이용되는 (도 6에 도시된) 이전 프레임에서의 4 개의 영역 부분이다. 수학식 (3) 에 의해 주어진 왜곡값이 또한 16×16 픽셀 영역의 가중 평균 을 256으로 나누어서 정규화된다는 것을 인지한다.
수학식 (3) 을 이용하는 경우, SADest는 (예를 들어, 모션 보상 부정확성으로 인해) 몇몇 경우에 SADopt 미만이라고 발견될 수도 있지만, 차이는 무시할 수 있을 정도로 작을 수도 있으며, 이러한 경우에 Conceal_Error 성분이 0으로 근사될 수도 있다는 것을 인지한다.
수학식 (3) 은 현재 프레임 및 이전 프레임 둘 다가 이용가능한 경우에 (여기서 각각은 1-Q의 확률로 발생한다) 이용되는 은닉 방법에 대응하는 왜곡값 성분을 나타낸다. 그러나, 상이한 은닉 에러는 현재 프레임 및/또는 과거 프레임의 일부 또는 전부가 에러 있게 수신되면 존재할 수 있으며, 여기서 각각은 Q의 확률로 발생한다. 4 개의 상이한 은닉 추정치에 대응하는 왜곡값 성분이 고려될 수도 있으며, 4 개의 은닉 추정치는 4 개의 시나리오, 1) 이용가능한 현재 프레임 및 이용가능한 이전 프레임, 2) 이용가능한 현재 프레임과 에러 있는 이전 프레임, 3) 에러 있는 현재 프레임과 이용가능한 이전 프레임 및 4) 둘다 에러 있는 현재 프레임 및 이전 프레임에 대응한다. 4 개의 은닉 추정치의 계산에 관한 상세한 설명은 왜곡값 계산의 이해에 중요하지 않으므로, 여기서 설명하지 않는다. 4 개의 왜곡값 성분을 포함하는 누적 왜곡은
[수학식 (4)]
Figure 112008059406747-pct00006
와 같이 산정될 수도 있으며, 여기서, 제 1 은닉 추정치는
Figure 112008059406747-pct00007
의 왜곡을 야기하고, 제 2 은닉 추정치는
Figure 112008059406747-pct00008
의 왜곡을 야기하는 등이다. 또한, 누적 왜곡은 4 개의 은닉 추정치의 각각에 이용되는 예측 영역의 영역 (a', a'', a''' 및 a'''') 에 기초하여 가중 평균된다. 은닉 추정치는 공간 은닉, 양방향 은닉 등과 같은 상이한 유형의 은닉 방법에 기초할 수도 있다. 예를 들어, 은닉 알고리즘은 결정적/확률적 기준에 따라, 때로는 시간상 그리고 때로는 공간상 은닉할 수도 있다. 왜곡값 계산을 수행하고 왜곡값에 기초하여 어떤 인코딩 방법을 사용할지를 결정하는 인코더 디바이스는, 디코더가 에러 있는 데이터를 수신하는 경우에 에러 복구 및/또는 에러 은닉 성능을 향상시키기 위해 디코더에서 이용된 동일 또는 유사한 은닉 방법을 모델링할 수도 있다.
다른 은닉 추정치가 고려될 수도 있고, 다른 예측 영역이 이용가능하지 않을 확률에 기초하여 수학식 (4) 에 포함될 수도 있다. 수학식 (4) 는 도 5에서 설명한 바와 같이 왜곡 맵을 형성하기 위해 프레임에서 각 MB에 이용될 수도 있다. 따라서, 수학식 (4) 를 이용하여 계산된 왜곡값은 은닉의 다수의 옵션을 선택함으로써 초래되는 왜곡의 가중 합계를 포함하며, 여기서 가중은 선택되는 각 은닉 옵션의 확률이다.
도 4b는 도 1에 도시된 바와 같이 시스템에서 비디오 스트림의 부분을 인코딩하는 방법의 실시예를 더 상세히 설명한 흐름도이다. 방법 (420) 은 블록 402에서 왜곡값을 추정하는 경우에 고려될 수도 있는 다양한 은닉 방법 및 블록 404에서 인코딩 방법을 결정하는 다양한 방법을 포함하는, 도 4a를 참조하여 상술한 블록 402 및 404를 포함한다.
블록 402에서, 왜곡값은 수학식 (4) 를 참조하여 상술한 것과 유사한 알고리즘을 이용하여 추정될 수도 있다. 이용된 정확한 왜곡값 수학식은 기술한 은닉 방법의 유형에 따른다. 기술한 은닉 방법은 공간 은닉 방법을 포함할 수도 있으며, 여기서 동일한 프레임에 위치한 예측 부분은 에러로 수신된 부분을 은닉하는데 이용된다. 프레임 내의 공간 은닉의 경우에, 현재 프레임에서 MB의 누적 왜곡값은 이전 프레임으로부터의 왜곡값 대신에 이용된다. 시간 은닉 방법은 상술하고 수학식 (4) 에 의해 나타낸 단방향 예측을 포함할 수도 있고, 또한 후속 프레임의 이용가능성도 고려될 수도 있는 양방향 예측을 포함할 수도 있다.
시간 은닉 방법의 일 실시예는 모션 벡터 크기조정이다. 모션 벡터 크기조정은 현재 프레임에서 에러 있는 멀티미디어 데이터의 부분에 대한 모션 벡터를 도출하기 위해 다른 프레임으로부터의 모션 벡터를 보간 (interpolate) 및/또는 보외 (extrapolate) 하는 방법이다. 시간 은닉 방법의 다른 실시예는 프레임 레이트 전환이다. 프레임 레이트 전환은 모션 벡터 크기조정과 유사할 수도 있지만, 통상적으로, 2 개의 둘러싼 프레임에 기초한 전체 프레임의 구성을 포함한다. 시간 에러 은닉 방법의 다른 실시예는 광흐름 방법에 기초할 수도 있다. 블록 402에서 추정된 왜곡값에 의해 나타낼 수도 있는 은닉의 다른 형태는 공간 및 주파수 도메인 보간, 최대 평활 복구, 및 컨벡스 세트로의 프로젝션을 포함한다. 숙련된 기술자는 방법 400의 블록 402에서 왜곡값을 추정하는 경우에 나타낼 수도 있는 에러 은닉의 다른 형태를 인식할 것이다.
상술한 바와 같이, 블록 404에서, 인코더 디바이스는 블록 402에서 추정된 왜곡값에 기초하여 인코딩 방법을 결정한다. 몇몇 실시형태에서, 추정된 왜곡값은 임계값과 비교되고 인코딩 방법은 그 비교에 기초하여 결정된다. 임계값은 멀티미디어 데이터의 모든 부분에 대한 단일 값일 수도 있다. 그러나, 임계값은 또한 방법 (420) 의 블록 404에서 열거된 것과 같은 방법에 따라 달라질 수도 있다. 이들 방법은 임계값을 초과하는 것에 기초하여 인코딩 방법을 결정하는 것과 관련하여 설명하고, 여기서 임계값이 초과되면 선택된 인코딩 방법은 일반적으로 부분을 리프레시하는 역할을 한다 (또는 부분의 추정된 왜곡값을 적어도 감소시킨다). 그러나, 인코딩 방법은 또한 임계값 미만인 왜곡값에 기초하여 결정될 수도 있다는 것을 인식하여야 한다.
몇몇 실시예에서, 임계값은 인코딩되는 멀티미디어 부분이 위치한 영역의 텍 스처의 함수에 따라 변한다. 광범위하게 변하는 텍스처가 있는 영역 (예를 들어, 픽셀에서 픽셀까지의 큰 변화) 은 덜 변하는 텍스처가 있는 영역만큼 많은 에러를 나타내지 않을 수도 있고, 따라서, (예를 들어, 인트라-코딩을 이용하여) 부분을 리프레시하도록 인코딩 방법이 결정될 수도 있는 더 높은 임계값이 허용될 수도 있다. 그러나, 평활하거나 약간 변하는 텍스처가 있는 영역은 에러를 더 보일 수도 있고 더 낮은 임계값이 할당할 수도 있다.
몇몇 실시예에서, 임계값은 프레임 내에서 인코딩되는 부분의 포지션, 즉, 위치의 함수에 따라 변할 수도 있다. 예를 들어, 에지 상의 부분은 중간 부분보다 더 높은 임계값이 할당될 수도 있다. 이러한 방식으로, 관찰자가 더 자주 보는 영역 (예를 들어, 프레임의 중앙) 은 관찰자가 종종 관찰할 수도 있는 에지 상의 영역보다 더 자주 리프레시될 수도 있다.
몇몇 실시예에서, 임계값은 GOP (group of pictures) 또는 다수의 프레임의 슈퍼프레임 내에서 인코딩되는 현재 프레임의 포지션에 관한 함수일 수도 있다. GOP는 일반적으로 인트라-코딩된 프레임, 또는 (적응 인트라 리프레시 또는 AIR로 알려진) 적어도 한번 인트라-코딩되는 프레임 내의 모든 MB를 실질적으로 포함하는 프레임 세트로 시작하며, 여기서 GOP (또는 슈퍼프레임) 에서의 다른 프레임은 GOP 외부의 프레임을 참조하지 않는다. MB가 GOP의 시작 시에 인트라-코딩될 기회가 더 많도록 보증하기 위해, GOP의 시작 가까이의 프레임에서의 임계값은 GOP의 끝 가까이의 MB보다 더 낮은 임계값을 가질 수도 있다.
몇몇 실시예에서, 임계값은, 예를 들어, 프레임 내의 왜곡 맵에서 왜곡값의 분포에 관한 함수일 수도 있다. 예를 들어, 임계값은 프레임 내의 MB의 퍼센트가 왜곡값의 분포에 기초하여 인트라-코딩되도록 보증하기 위해 적응성 있게 설정될 수도 있다. 이는 송신에 필요한 데이터를 제한하기 위해 인트라-코딩된 MB의 수를 제한하는데 이용될 수도 있다. (왜곡값의 높은 분포로 인해) 몇몇 프레임에 대해 품질이 저하될 수 있더라도, 데이터 레이트는 원하는 레벨로 유지될 수도 있다.
몇몇 실시예에서, 임계값은 인코딩되는 부분을 포함하는 프레임의 영역에서의 모션 활동에 관한 함수일 수도 있다. 높은 모션 활동을 특징으로 하는 비디오의 영역에서 발생하는 에러는 적은 모션을 특징으로 하는 영역에서 발생하는 에러보다 덜 인지가능한 경향이 있다. 임계값은 더 낮은 모션 활동을 경험하는 영역보다 더 큰 모션 활동을 경험하는 영역에서 더 높은 값으로 설정될 수도 있다. 모션 활동은 많은 방식으로 측정될 수도 있다. 예를 들어, 모션 벡터 크기는 더 높은 크기 모션 벡터가 더 높은 모션 활동을 나타내는 모션 활동 지표로서 이용될 수도 있다. 모션 벡터 방향의 변화는 또한 모션 활동 지표로서 이용될 수 있다. 영역에서의 모션 벡터 대부분이 실질적으로 동일한 방향에서 가리키면, 이는 낮은 모션 활동의 표시일 수도 있다. 영역의 이웃하는 블록에서의 모션 벡터가 상이한 방향에서 가리키면, 이는 높은 모션 활동의 표시일 수도 있다. 유사한 모션 활동 측정치는 광흐름과 같은 다른 모션 보상 기술을 이용하여 획득될 수도 있다.
몇몇 실시예에서, 임계값은 인코딩되는 비디오의 부분의 인코딩 모드에 관한 함수일 수도 있다. 예를 들어, 비디오의 일부 부분은 통상적으로 비디오의 다른 예측된 부분에 대한 참조로서 이용되지 않는다. 예를 들어, B 프레임은 많은 시스템에서 참조 프레임에 이용되지 않는다. 따라서, 이런 유형의 시스템에서 B 프레임의 왜곡값은 다른 비디오가 이를 참조하지 않기 때문에 더 높게 허용될 수 있다. 다른 비디오가 B 프레임을 참조하지 않기 때문에, 에러는 단지 일 프레임 지속시간 (예를 들어, 1 초 비디오 시퀀스당 30 프레임에서 1초의 1/30) 동안 지속된다. 따라서, 임계값은 다른 예측된 부분에 의해 참조할 수도 있는 비디오의 부분보다 비디오의 참조하지 않은 부분에 대해 더 높을 수 있다.
블록 404에서, 인코딩 방법이 결정된 후에, 블록 402에서 추정된 왜곡값에 기초하여, 프로세스 (420) 는 블록 406에서 계속되며, 인코딩되는 멀티미디어 데이터의 부분은 결정된 인코딩 방법으로 인코딩된다. 블록 406에서의 인코딩 방법은 이웃의 공간 예측 있는 인트라-코딩 또는 공간 예측 없는 인트라-코딩을 포함할 수도 있다. 이웃하는 픽셀의 공간 예측 없는 인트라-코딩은 블록 402에서 계산된 왜곡값을 감소시키기 위해 선택될 수도 있다. 블록 406에서의 인코딩 방법은 모션 보상 예측을 이용하는 단방향 또는 양방향 예측을 포함할 수도 있다. 상이한 형태의 모션 보상 예측은 블록 402에서 추정된 왜곡값을 감소시키기 위해 다른 것보다 우선하여 선택될 수도 있다. 모션 보상 예측은 블록 매칭, 광흐름 및 상술한 모션 벡터를 계산하기 위한 다른 방법을 포함할 수도 있다. 방법 (420) 의 블록들 중 일부는 결합, 생략, 재배열되거나 또는 임의의 그 조합일 수도 있다는 것을 인지하여야 한다.
도 7은 도 1 에 도시된 것과 같은 시스템에 이용될 수도 있는 인코더 디바이스 (110) 의 실시예를 도시한 기능 블록도이다. 이 양태는, 멀티미디어 데이터의 제 1 부분이 에러로 수신되었으면 제 1 부분을 은닉하는 것과 관련된 하나 이상의 은닉 방법에 적어도 부분적으로 기초하여 제 1 부분의 왜곡값을 추정하는 수단, 및 추정된 왜곡값에 부분적으로 기초하여 제 1 부분에 대한 인코딩 방법을 결정하는 수단을 포함한다. 이 양태의 몇몇 실시예는, 추정 수단이 왜곡값 추정기 (702) 를 포함하는 것과 결정 수단이 인코딩 방법 결정기 (704) 를 포함하는 것을 포함한다.
도 8은 도 1에 도시된 것과 같은 시스템에 이용될 수도 있는 인코더 디바이스 (110) 의 실시예를 도시한 기능 블록도이다. 이 양태는, 멀티미디어 데이터의 제 1 부분이 에러로 수신되었으면 제 1 부분을 은닉하는 것과 관련된 하나 이상의 은닉 방법에 적어도 부분적으로 기초하여 제 1 부분의 왜곡값을 추정하는 수단, 및 추정된 왜곡값에 적어도 부분적으로 기초하여 제 1 부분에 대한 인코딩 방법을 결정하는 수단을 포함한다. 이 양태의 몇몇 실시예에서, 추정 수단은 왜곡값을 추정하는 모듈 (802) 을 포함하고, 결정 수단은 인코딩 방법을 결정하는 모듈 (804) 을 포함한다.
에러 나기 쉬운 환경을 통한 비디오 송신에 적용되는 에러 리질리언스 전략 및 알고리즘을 설명한다. 이들 개념은 종래 또는 미래 애플리케이션, 송신 및 물리 계층 또는 다른 기술의 임의의 개별 또는 조합에 적용된다. 기본적인 양태는 낮은 지연 및 높은 스루풋과 같은 통신 시스템의 바람직한 특성과 관련하여 OSI 계층 중에서 에러 내성 (error susceptibility property) 및 에러 보호 능력의 이해를 결합하는 것에 의한 효과적인 에러 강인성 알고리즘에 관한 것이다. 주요 장점 중 하나는 페이딩 및 멀티-패스 채널 에러로부터의 복구가능성이다. 비디오 통신 시스템의 실시예를 설명하더라도, 설명된 에러 리질리언스 양태는 에러 나기 쉬운 환경에서 데이터 통신으로 확장될 수도 있다.
도 9는 일정 실시형태에 따른 무선 통신 시스템 (900) 을 도시한다. 이러한 대표적인 비디오 통신 시스템은 일반적으로 통신 네트워크 (930) 에 의해 연결된 비디오 인코더 (910) 및 비디오 디코더 (920) 로 구성된 비디오 압축 시스템 (미도시) 을 포함한다. 네트워크 (930) 는 RF 변조기 (940), 네트워크 채널 (950) 및 RF 복조기 (960) 를 더 포함할 수 있다. 무선 네트워크는, 일반 경로 손실에 더하여 채널이 모바일 시나리오에서 로그-정규 페이딩 또는 쉐이딩 및 다중 경로 페이딩을 나타낼 수 있는 일 클래스의 에러 나기 쉬운 네트워크이다. 채널 에러를 제거하기 위해 노력하고 애플리케이션 계층 데이터에 대한 신뢰성 있는 통신을 제공하기 위해, RF 변조기 (940) 는, 컨볼루셔널 또는 터보 코딩과 같은 인터리빙 및 채널 코딩을 포함할 수 있는 FEC (Forward Error Correction) 를 포함할 수 있다.
일반적으로, 비디오 압축은 소스 비디오의 리던던시를 감소시키고, 코딩된 비디오 데이터의 각 비트에서 전달되는 정보의 양을 증가시킬 수 있다. 이는 코딩된 비디오의 작은 부분 마저 손실되는 경우에 품질의 영향을 증가시킬 수 있다. 비디오 압축 시스템에 내재하는 공간 및 시간 예측은 손실을 악화시킬 수 있고 에러가 전파되게 할 수 있어서, 재구성된 비디오에서 아티팩트가 보이게 한다. 비디오 인코더에서의 에러 리질리언스 알고리즘 및 비디오 디코더에서의 에러 복구 알고리즘은 비디오 압축 시스템의 에러 강인성을 개선시킬 수 있다.
일반적으로, 비디오 압축 시스템은 기본 (underlying) 네트워크에 불가지론적이다 (agnostic). 그러나, 에러 나기 쉬운 네트워크에서, 링크/물리 계층에서의 FEC 및 채널 코딩이 있는 애플리케이션 계층에서의 통합 또는 정렬 에러 보호 알고리즘은 매우 바람직하고, 전체 시스템의 에러 성능을 개선시키는 효율을 용이하게 할 수 있다. MediaFLOTM는 이러한 유형의 통합 또는 정렬이 가능한 무선 비디오 통신 시스템의 일 실시예이다.
따라서, 본 명세서의 일정 실시형태는, 예를 들어, 그 전부가 여기에 모든 목적을 위해 참조로서 포함된, 2006년 8월, Technical Standard TIA-1099로 출판된, FLO Air Interface Specification, "Forward Link Only [FLO] Air Interface Specification for Terrestrial Mobile Multimedia Multicast"를 이용한 TM3 시스템에서 실시간 비디오 서비스를 전달하기 위한 MediaFLOTM 비디오 코딩을 이용하여 구현될 수 있다. 후술할 양태, 실시형태 및/또는 실시예는 알고리즘들 및 알고리즘들 사이의 상호작용에 관련되어, FLO 네트워크에서 개선된 에러 성능을 제공한다. 그러나, 이들 양태, 실시형태 및/또는 실시예는 모든 에러 나기 쉬운 네트워크에 일반적으로 적용가능하게 의도된다.
여기서 이용되는 슬라이스는 독립적으로 디코딩가능하고 (예를 들어, 엔트로 피 디코딩을 이용) 코딩된 비디오 데이터의 청크 (chunk)이다. FLO 환경에서의 슬라이스는 FLO 프레임 경계에 정렬될 수 있다. 여기서 이용되는 액세스 유닛 (AU) 은 코딩된 비디오 FLO 프레임이다. FLO 프레임은 비교적 높은 시간 다이버시티를 제공하는 물리 계층 패킷의 시분할 다중화 (TDM) 블록 (예를 들어, TDM 캡슐로 불림) 이다. FLO 슈퍼프레임은 시간의 1 단위 (예를 들어, 1 초) 에 대응하고, 따라서 수개의 FLO 프레임 (예를 들어, 1 초 FLO 슈퍼프레임당 4 개 FLO 프레임) 을 포함한다. 이들 정의 각각은 다른 에러 나기 쉬운 네트워크 유형에 따라, 그리고 미래 FLO 네트워크 구성 (예를 들어, FLO 슈퍼프레임은 시간 지속기간과 무관하게 고정된 수의 FLO 프레임을 통합할 수도 있다) 내에서도 변할 수 있고 또 변하기 쉽다.
현재 FLO 환경 내에서, 예를 들어, 슬라이스 및 AU 경계를 시간 도메인에서의 FLO 프레임 경계에 정렬시키는 것은 손상된 데이터의 가장 효율적인 분리 및 로컬화를 야기할 수 있다. 예를 들어, 딥 페이드 (deep fade) 동안, TDM 캡슐에서의 대부분의 인접하는 페이드 데이터는 보통 에러에 영향을 받는다. 그러나, 시간 다이버시티로 인해, 나머지 TDM 캡슐은 변하지 않을 높은 확률을 가진다. 따라서, 손상되지 않은 데이터는 영향받은 TDM 캡슐로부터 손실된 데이터를 복구 및 은닉하는데 이용될 수도 있다.
유사한 로직이 주파수 도메인 다중화 (FDM) 에 적용되며, 여기서 주파수 다이버시티는 데이터 심볼이 변조하는 주파수 서브-캐리어의 분리를 통해 달성된다. 유사한 로직이 (예를 들어, 송신기 및 수신기 안테나의 분리를 통해) 공간 다이 버시티에 또한 적용될 수 있을 뿐만 아니라, 다른 형태의 다이버시티가 무선 네트워크 (및 다른 에러 나기 쉬운 네트워크) 에서 종종 적용된다.
슬라이스 및 AU를 FLO 프레임에 정렬시키기 위해, 외부 코드 (FEC) 코드 블록 생성 및 MAC 계층 캡슐화도 정렬되어야 한다. 도 10은 슬라이스 및 AU에서 코딩된 비디오 데이터 또는 비디오 비트스트림의 구성을 도시한다. 코딩된 비디오는 하나 이상의 비트스트림 (예를 들어, 기초 계층 비트스트림 및/또는 향상 계층 비트스트림) 에서 구성될 수도 있으며, 이 실시예에서 계층화된 비디오 코딩이 적용된다. 도 11은 슬라이스 및 AU의 비디오 비트스트림(들) 및 이들의 FLO 프레임에의 맵핑의 구성을 도시하며, 여기서 (a)는 FLO 프레임에 대한 슬라이스 경계의 정렬을 나타내고, (b)는 (예를 들어, 물리 계층 패킷에 AU가 정렬된) FLO 프레임 및 슬라이스에 대한 AU 경계 (F1, F2...) 로의 정렬을 나타낸다.
일정 실시형태에 따르면, 비디오 비트스트림은 AU를 포함하고, AU는 데이터의 슬라이스를 포함한다. 슬라이스의 각 시작은 시작 코드로 식별되고 네트워크 적응에 제공된다. 일반적으로, I-프레임 즉, 인트라 코딩된 AU는 크고, B-프레임 즉, 양방향 예측 프레임이 뒤따르는 P-프레임, 즉 포워드 예측 프레임이 뒤따른다. 슬라이스에 걸친 공간 예측이 다른 프레임의 유사 위치된 슬라이스로 제한되기 때문에, AU를 다수의 슬라이스로 코딩하는 것은 코딩된 비트레이트의 관점에서 오버헤드 비용을 발생시킬 수 있고, 다수의 슬라이스 헤더는 오버헤드에도 기여한다. 슬라이스 경계가 보통 재동기화 포인트이기 때문에, 인접하는 물리 계층 패킷 (PLP) 을 슬라이스로 제한하는 것은 에러를 제어하는데 도움이 될 수 있 으므로, PLP가 손상되는 경우, 에러가 PLP의 슬라이스에 한정되는 반면, PLP가 다수의 슬라이스 또는 다수의 슬라이스의 일부를 포함하면, 에러는 PLP에서 모든 슬라이스 또는 슬라이스의 부분에 영향을 미친다.
I-프레임이 보통 P-프레임 또는 B-프레임보다 통상적으로, 10 킬로비트 정도 크기 때문에, 다수의 슬라이스로 인한 오버헤드는 총 I-프레임 사이즈 또는 총 비트레이트의 큰 비율이 아니다. 또한, I-AU에서 더 많은 슬라이스를 갖는 것은 더 우수하고 더 빈번한 재동기화 및 더 효율적인 공간 에러 은닉을 가능하게 한다. 또한, 보통 P 및 B 프레임이 I-프레임으로부터 궁극적으로 예측되기 때문에 I-프레임은 보통 비디오 비트스트림에서 가장 중요한 정보를 보통 전달한다. I-프레임은 또한 채널 획득에 대해 랜덤 액세스 포인트의 역할을 할 수 있다.
따라서, 일정 실시형태에서, FLO 프레임 경계에 대한 I-프레임의 철저한 정렬, 및 FLO 프레임 경계에 대한 I-AU에서의 슬라이스도, 예를 들어, 재동기화 및 에러 은닉을 통해 효율적인 에러 제어, 에러 보호 (FLO 프레임 1에 속하는 하나의 슬라이스가 손실되면, FLO 프레임 2에 속하는 슬라이스가 높은 확률로 변하지 않으므로, FLO 프레임 2는 FLO 프레임 1로부터 상당한 시간 분리를 가진다) 및 에러 복구를 가능하게 할 수 있다.
보통 수 킬로비트 정도인 P-프레임의 경우에, FLO 프레임 경계에 대한 P 프레임 슬라이스 및 정수의 P-프레임을 정렬하는 것은 I-프레임에 대해 상술한 것과 동일한 이유로 바람직하다. 여기서, 시간 에러 은닉이 통상적으로 채용된다. 다른 방법으로는, 시간 은닉이 이전에 재구성된 I-프레임 및/또는 P-프레임으로 부터의 모션 벡터 및 데이터에 기초하기 때문에, 상이한 FLO 프레임에 도달하도록 연속 P-프레임을 분산시키는 것도 P-프레임 사이에 시간 다이버시티를 제공할 수 있다.
과도하게 작은 것부터 (예를 들어, 100 또는 10 까지의 비트) 적당히 클 수 있는 (예를 들어, 수 킬로비트 이상) B-프레임의 경우에, FLO 프레임 경계에 정수의 B-프레임을 정렬시키는 것은 P-프레임에 대해 상술한 것과 유사한 이유로 바람직하다.
일정 실시형태에서, 코딩된 비디오 비트스트림에서의 에러 리질리언스는 예측 계층 (prediction hierarchy) 및 지속 특성을 통합할 수 있다. 다음의 예측 기반 하이브리드 압축 시스템을 고려한다. 인트라-프레임은 임의의 시간 예측 없이 독립적으로 코딩된다. 그러나, 슬라이스 내에서 공간 예측이 가능하다 (즉, 공간 예측은 보통 슬라이스 경계에 걸쳐 제한된다). 인터-프레임은 과거 및 때때로 미래 (B-프레임의 경우) 로부터 시간 예측된다.
이러한 시스템에서, 최고 예측변수는 참조 프레임 (또는 하나 초과의 참조 프레임) 에서의 탐색 프로세스를 통해 식별될 수도 있고, SAD (즉, 코딩되는 블록의 픽셀과 예측변수 블록의 픽셀 사이의 절대 차이의 합계) 와 같은 왜곡 측정치는 최고 매치를 식별하는데 이용될 수 있다. 물론, 다른 왜곡 측정치가 이용될 수 있고 본 출원의 범주 내에 통합되도록 의도된다.
현재 프레임의 예측 코딩된 영역은 사이즈 및 형상이 변하는 픽셀의 블록 (예를 들어, 16×16, 32×32, 8×4, 2×2 등), 또는 예를 들어, 세그먼테이션을 통 해 객체로서 식별되는 픽셀의 그룹일 수도 있다. 시간 예측은 통상적으로 많은 프레임 (예를 들어, 10 내지 100 프레임) 에 걸쳐 확장되고, 프레임이 I-프레임으로 코딩되는 경우에 종료한다. 이 실시예에서, I-프레임 주파수는 GOP (group of pictures) 를 정의한다. 최대 코딩 효율의 경우, GOP는 씬 (scene) 이다 (즉, GOP 경계는 씬 경계와 일직선을 이루고 씬 변경 프레임은 I-프레임으로 코딩된다).
백그라운드가 비교적 정적이고 모션이 포그라운드 (foreground) 객체로 제한되는 로우 (low) 모션 시퀀스 (예를 들어, 뉴스 프로그램, 기상 예보 등, 가장 많이 시청되는 컨텐츠의 대략 30% 이상이 이러한 성질로 되어 있음) 에 있어서, 예측된 프레임의 대부분의 예측된 영역 (즉, 인터-코딩) 은 중간 예측 프레임 (즉, 다른 P-프레임) 을 통해 I-프레임을 다시 참조한다. 이 예측 계층 (1200) 은 도 12에 도시된다.
도 12에 도시된 바와 같이, I-프레임 (1210) 은 예측된 프레임 (1220) 의 다수의 인터-코딩된 블록 (1225) 이 궁극적으로 기초할 수 있는 인트라-코딩된 블록 (1215) 을 포함할 수 있다. I-프레임 (1210) 에서의 인트라-코딩된 블록 (1215) 은 예측 코딩 프레임 (또는 AU)(P1-Px; 1220) 에서의 인터-코딩된 블록 (1225) 의 예측변수이다. 이 실시예에서, 이들 블록의 영역은 백그라운드의 고정 부분이다. 따라서, 연속 시간 예측을 통해, 에러에 대한 인트라-코딩된 블록 (1215) 의 감도가 그 "중요도"가 더 높다는 것을 암시하는 우수한 예측변수이기 때문에, 이는 상승한다. 추가적으로, 예측 체인으로 불리는 이러한 시간 예측 의 체인에 의해 인트라-코딩된 블록 (1215) 은 디스플레이에서 더 오래 (즉, 전체 씬의 지속시간 동안 잠재적으로) 지속한다.
일정 실시형태에서, 예측 계층은 상부에 모 (parent)(예를 들어, 도 12의 블록 (1215)) 그리고 하부에 자 (children) 가 있는 "중요도" 레벨 또는 지속의 측정치에 기초하여 생성된 블록 트리로 정의된다. 프레임 P1 에서 인터-코딩된 블록은 계층의 두번째 레벨 상에 있는 등이다. 트리의 잎은 예측 체인을 종료하는 블록 (예를 들어, 도 12의 프레임 Px) 이다.
일정 실시형태에서, 예측 계층은 컨텐츠 유형 (예를 들어, 뉴스뿐이 아닌 음악 및 스포츠) 에 상관없이 비디오 시퀀스에 대해 생성될 수도 있고, 일반적으로 예측 기반 비디오 (및 오디오, 및 데이트 등) 압축에 적용가능할 수 있다 (즉, 이는 본 출원에서 설명한 모든 양태에 적용할 수 있다).
일단 예측 계층이 확립되면, 예를 들어, 적응 인트라 리프레시 (AIR) 와 같은 에러 리질리언스 알고리즘은 더 효과적으로 적용될 수도 있다.
일 양태에 따르면, 알고리즘은, 지속 메트릭 (persistence metric) 으로 지칭되는, 블록이 예측변수로서 이용되는 시간의 수에 기초하여 중요도 측정치를 추정할 수 있다. 이 지속 메트릭은 또한 예측 에러 전파를 정지시킴으로써 코딩 효율을 향상시키는데 이용된다. 메트릭은 또한 더 높은 중요도를 갖는 블록에 대한 비트 할당을 증가시킨다.
보통, 비디오 코덱의 목적은 소정의 대역폭에서 가능한 높은 품질을 달성하는 것이다. 품질은 종종 피크 신호대 잡음비 (PSNR; peak signal-to-noise ratio) 로 평가된다. 모든 프레임의 모든 매크로블록의 인코딩 모드 (예를 들어, 모든 가능한 인트라 및 인터 방식) 및 양자화 파라미터 (QP) 는 품질뿐만 아니라 대역폭에 영향을 미치므로, 글로벌 양자화 방식은 모든 이들 매크로블록의 모드 및 QP의 조인트 결정을 수반한다. 그러나, 현재의 실제 프로세싱 능력을 볼 때, 이러한 글로벌 양자화를 행하는 것은 수학적으로 어렵다. 대신에, 실제 코딩 방식은 재구성된 이전 인코딩 프레임에 기초하여 현재 프레임에 대해 우수한 레으트-왜곡 (R-D) 결정을 달성하려고 시도한다. 따라서, 조인트 최적화 문제는 일정 실시형태에 따라 캐주얼 최적화 문제로 감소된다.
참조 프레임에서, 예측 체인에서 어떤 매크로블록은 다른 매크로블록보다 더 중요하다. 예를 들어, 포그라운드 객체는 임의의 미래 프레임에서 그 자체가 두 배가 될 수도 있다 (즉, 다수의 참조 프레임의 범위 내에서는 여전하다). 이 객체가 정확히 나타나면, 모든 클론은 모션 벡터로서 간단히 코딩될 수 도 있어, 비트를 절약한다. 반대로, 사라지는 객체 또는 커버된 백그라운드는 미래 프레임에 의해 더 이상 참조되지 않아서, 품질은 미래 프레임에 영향을 미치지 않는다.
일정 실시형태에서, 예측 체인을 결정하고 빈번한 참조 매크로블록에 더 가중치를 두는 투패스 (two-pass) 알고리즘을 여기서 설명한다. MB의 대역폭 맵 값은, 이후 R-D 용어로 최적 품질에 대한 레이트 제어 동안 할당되는 비트의 수 또는 비율을 결정하는데 이용되는 맵의 추정된 복잡도로서 정의될 수도 있다. 이 프로세스는 다음과 같이 설명될 수도 있다 (도 13 참조).
1. 패스 원 (pass one). 픽셀-레벨 참조 카운터를 초기화 (1310) R(i,j)=0, 식 중, 0≤i<W, 0≤j<H, W 는 프레임의 폭, H 는 프레임의 높이이다.
2. 현재 프레임을 참조하여 다음 프레임의 16×16 모션 추정을 수행 (1320). 현재 프레임에서 위치 (i,j)에서의 픽셀이 참조될 때마다, R(i,j)을 1만큼 증분한다.
3. 패스 투. 현재 프레임의 매크로블록 대역폭 맵을 재조정 (1330). (x,y) 에 위치한 매크로블록 대해,
Figure 112008059406747-pct00009
에 의해 대역폭 맵 값을 크기상향조정 (scale up) 하며, 식 중, C 는 실험에 의해 결정된 상수이다. 대역폭 맵 값을 증분하는 것은 우수한 예측변수인 매크로블록에 더 많은 비트가 할당되게 한다 (즉, 미래 프레임에 더 많은 미래 MB가 이들 매크로블록들 중에서 예측된다).
4. 업데이트된 매크로블록 대역폭 맵으로 현재 프레임을 인코딩 (1340).
알고리즘은 자주 참조되는 매크로블록을 강조함으로써 비트스트림을 채널 에러에 더 강인하게 만든다는 것을 인식하여야 한다. PSNR에서의 임의의 이득은 예측 체인의 조기 만료가 (잔류 코딩으로 인한) 예측 에러의 전파를 정지시킨다는 사실에 기인한다. 추가적으로, 우수한 예측변수는 늦는 것보다 조기에 인트라 코딩에 의해 리프레시되어, 우수한 예측변수가 에러에 영향받으면 에러 전파를 방지한다.
일정 실시형태에 따르면, CSF (channel switch frame) 는, 더 신속한 채널 획득을 용이하게 하여 브로드캐스트 다중화에서의 스트림들 사이의 신속한 채널 변경의 목적으로 브로드캐스트 스트림에서의 다양한 (예를 들어, 적절한) 위치에 삽입된 랜덤 액세스 프레임으로 정의된다. 하나의 CSF에 관한 대표 명세서는 공동 양수된 미국 특허출원번호 제 11/527,306호 (2006년 9월 25일 출원) 및 제 11/528,303호 (2006년 9월 26일 출원) 에서 발견될 수 있으며, 둘 다 모든 목적을 위한 참조로서 명백히 포함된다. H.264에서의 순차 디코더 리프레시 프레임과 같은 I-프레임 또는 순차 I-프레임은 통상적으로 채널 스위칭에 대한 액세스 포인트의 역할을 한다. 그러나, 빈번한 I-프레임 (예를 들어, 적어도 씬 지속시간보다 더 짧은, 짧은 GOP) 은 압축 효율을 상당히 감소시킬 수 있다.
인트라 코딩 블록이 에러 리질리언스에 필요할 수도 있으므로, 랜덤 액세스 및 에러 리질리언스는 예측 계층을 통해 효과적으로 결합되어, 에러 강인성을 증가시키면서 코딩 효율을 향상시킬 수도 있다. 이 결합은 다음의 관찰에 적어도 부분적으로 기초하여 달성될 수 있다.
A. 로우 모션 시퀀스의 경우, 예측 체인은 길고, 슈퍼프레임 또는 씬을 재구성하는데 필요한 정보의 상당한 부분은 씬의 시작에서 발생한 I-프레임에 포함된다.
B. 채널 에러는 버스티 (bursty) 한 경향이 있고, 페이드가 스트라이크하고 FEC 및 채널 코딩이 실패하는 경우, 은닉이 실패하는 잔류 에러가 많다.
C. 이는 코딩된 데이터의 양이 비디오 스트림 내의 우수한 시간 다이버시티를 제공하기에 충분히 현저하지 않고 이들이 재구성을 위해 모든 비트를 더 중요하 게 만드는 고도로 압축가능한 시퀀스이기 때문에, 특히 로우 모션 (따라서 로우 비트 레이트) 시퀀스의 역할을 한다.
D. 하이 모션 시퀀스는 컨텐츠의 성질로 인해 에러에 더 강인하다 - 모든 프레임에서의 더 많은 새로운 정보는, 독립적으로 디코딩가능하고 본래 에러에 더 리질리언트하는 코딩된 인트라 블록의 수를 증가시킨다.
E. 예측 계층에 기초한, AIR (adaptive intra-refresh) 은 하이 모션 시퀀스에 대해 더 높은 성능을 달성하고, 성능 향상은 로우 모션 시퀀스에 대해서는 현저하지 않다.
F. 따라서, 대부분의 I-프레임을 포함하는 채널 스위치 프레임은 로우 모션 시퀀스에 대한 다이버시티의 우수한 소스이다. 에러가 슈퍼프레임을 스트라이크하는 경우, 연속 프레임에서의 디코딩은 예측으로 인해 손실된 정보를 복구하는 CSF로부터 시작한다. 따라서, 에러 리질리언스가 달성된다.
G. 하이 모션 시퀀스의 경우에, CSF는 슈퍼프레임에서 지속되는 블록들, 즉, 우수한 예측변수인 것들로 구성된다. CSF의 모든 다른 영역이 더 짧은 예측 체일을 가지는 블록이므로, 이들은 코딩될 필요가 없으며, 이는 인트라 블록으로 종료된다는 것을 암시한다. 따라서, CSF는 에러가 스트라이크하는 경우에 예측으로 인해 손실된 정보로부터 복구하는 역할을 여전히 한다.
H. 상기 (f) 및 (g) 에 기초하여:
H.1. 로우 모션 시퀀스에 대한 CSF는 I-프레임의 사이즈와 동등하다 … 이들은 더 많은 양자화를 통해 더 낮은 비트 레이트에서 코딩될 수도 있고,
H.2. 하이 모션 시퀀스에 대한 CSF는 대응하는 I-프레임보다 매우 작다.
I. 물리 계층 기술에서 계층적 변조를 지원하는 크기조정 (scalability) 은 특정 대역폭 비율로 비디오 비트스트림의 데이터 분할을 요구한다. 이들은 항상 최적 크기조정의 이상 비율 (최소 오버헤드) 인 것은 아니다.
J. FLO는, 단지 예를 들어서, 1:1 대역폭 비율의 2-계층 크기조정을 요구한다. 따라서, 비디오 스트림을 동일한 사이즈의 2-계층으로 분할하는 것은 로우 모션 (비트레이트) 시퀀스에 효율적이지 않다. 모든 헤더 및 매타데이터 정보를 포함한 기초 계층은 향상 계층보다 더 크다. 그러나, 로우 모션 시퀀스에 대한 CSF가 더 크므로, 이들은 향상 계층에서 나머지 대역폭에 훌륭히 맞는다. 따라서, 예측 계층에 기초한 에러 리질리언스는 크기조정으로 효용되고, 매우 효율적인 계층화된 코딩이 달성된다.
K. 하이 모션 시퀀스의 경우, 최소 오버헤드로 1:1로의 데이터 분할이 달성될 수도 있는 충분한 잔류 정보가 있다. 또한, 이러한 시퀀스에 대한 CSF는 매우 더 작을 수 있다. 따라서, 예측 계층에 기초한 에러 리질리언스는 이러한 경우에도 크기조정으로 효용할 수 있다.
L. 알맞은 모션 클립에 대해 (a) 내지 (k)에서 설명한 개념을 확장하는 것은 이들 알고리즘에 관한 설명에 기초하여 가능하며, 이는 제안된 개념이 일반적으로 비디오 코딩에 적용되는 것을 용이하게 한다.
상기 시스템은, 데이터의 연속 (여전히 이산 (discrete) 시간 이벤트이지만 절대 종료하지 않는) 스트림이 시스템에 입력되고 데이터의 연속 스트림이 시스템으로 출력되는 멀티미디어 스트리밍 시스템의 실시예를 단지 도시한 것이다.
당업자는 정보 및 신호가 다양하고 상이한 기술 및 테크닉을 이용하여 나타낼 수도 있다는 것을 이해한다. 예를 들어, 상기 설명에서 참조될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장, 자기 입자, 광학 필드, 광입자, 또는 임의의 그 조합에 의해 나타낼 수도 있다.
당업자는 또한 여기에 개시된 실시예와 관련하여 설명한 다양한 예시적인 논리 블록, 모듈, 및 알고리즘 단계가 전자 하드웨어, 펌웨어, 컴퓨터 소프트웨어, 미들웨어, 마이크로코드, 또는 그 조합으로서 구현될 수도 있다는 것을 인식한다. 이러한 하드웨어와 소프트웨어의 호환성을 명확히 설명하기 위해, 다양한 예시적인 컴포넌트, 블록, 모듈, 회로, 및 단계가 일반적으로 그 기능성의 관점에서 상술되었다. 이러한 기능성이 하드웨어 또는 소프트웨어로서 구현될지 여부는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약에 따른다. 기술자는 각 특정 애플리케이션에 대한 방식을 변화시키면서 설명한 기능성을 구현할 수도 있지만, 이러한 구현 결정은 개시된 방법의 범주를 벗어나는 것으로 해석되어서는 안된다.
여기에 개시된 실시예와 관련하여 설명한 다양하고 예시적인 논리 블록, 컴포넌트, 모듈, 및 회로는 범용 프로세서, DSP (digital signal processor), ASIC (application specific integrated circuit), FPGA (field programmable gate array) 또는 다른 프로그램가능 로직 디바이스, 디스크리트 게이트 또는 트랜지스터 로직, 디스크리트 하드웨어 컴포넌트, 또는 여기서 설명한 기능을 수행하도록 설계된 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로, 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 스테이트 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어 또는 ASIC 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로 구현될 수도 있다.
여기에 개시된 실시예와 관련하여 설명한 방법 또는 알고리즘의 단계는 하드웨어에서 직접, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 광저장 매체, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 실시예인 저장 매체가 프로세서에 커플링된다. 다른 방법으로는, 저장 매체는 프로세스와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC (Application Specific Integrated Circuit) 에 상주할 수도 있다. ASIC는 무선 모뎀에 상주할 수도 있다. 다른 방법으로는, 프로세서 및 저장 매체는 무선 모뎀에서 디스크리트 컴포넌트로서 상주할 수도 있다.
개시된 실시예에 관한 전술한 설명은 당업자로 하여금 개시된 방법 및 장치 를 제작 또는 이용할 수 있게 제공된다. 이들 실시예에 대한 다양한 변형은 당업자에게 자명하며, 여기에 정의된 원리는 다른 실시예에 적용될 수도 있고, 추가적인 요소가 추가될 수도 있다.
이로써, 효율적인 디코딩 품질 및 에러 은닉을 제공하는 멀티미디어 데이터의 매우 효율적인 인코딩을 수행하기 위한 방법 및 장치를 설명하였다.

Claims (45)

  1. 복수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 방법으로서,
    현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하는 단계;
    상기 현재 프레임을 참조하여 다음 프레임의 예측을 수행하는 단계;
    상기 다음 프레임의 예측 동안에 참조되는 상기 현재 프레임의 각 픽셀에 대해 상기 픽셀-레벨 참조 카운터를 증분하는 단계; 및
    상기 증분된 픽셀-레벨 참조 카운터에 적어도 부분적으로 기초하여 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 상기 현재 프레임의 폭 및 높이로 인덱스되는, 멀티미디어 데이터의 프로세싱 방법.
  3. 제 2 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 제 1 수학식, R(i,j)=0 에 의해 제공되며,
    식 중, 0≤i<W, 0≤j<H, W 는 상기 현재 프레임의 폭, H 는 상기 현재 프레임의 높이인, 멀티미디어 데이터의 프로세싱 방법.
  4. 제 3 항에 있어서,
    상기 다음 프레임의 예측은 상기 다음 프레임의 블록들에 대해 모션 추정을 수행하는 단계를 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서,
    16×16 매크로블록 (x,y) 에 대해, 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 단계는, 제 2 수학식,
    Figure 112010066495072-pct00010
    에 따라 상기 매크로블록 대역폭 맵의 대역폭 맵 값을 크기조정 (scale) 하는 단계를 포함하며,
    식 중, C 는 실험에 의해 결정된 상수, R(i,j)는 상기 16×16 매크로블록 (x,y) 에 대한 상기 픽셀-레벨 참조 카운터인, 멀티미디어 데이터의 프로세싱 방법.
  8. 제 1 항에 있어서,
    상기 현재 프레임을 참조하여, 복수의 다음 프레임에서의 다음 프레임 각각에 대해 상기 초기화하는 단계, 상기 수행하는 단계 및 상기 재조정하는 단계를 반복하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  9. 제 8 항에 있어서,
    상기 현재 프레임의 상기 재조정된 매크로블록 대역폭 맵에 적어도 부분적으로 기초하여 상기 현재 프레임을 인코딩하는 단계를 더 포함하는, 멀티미디어 데이터의 프로세싱 방법.
  10. 복수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하기 위한 프로세서로서,
    현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하고;
    상기 현재 프레임을 참조하여 다음 프레임의 예측을 수행하며;
    상기 다음 프레임의 예측 동안에 참조되는 상기 현재 프레임의 각 픽셀에 대해 상기 픽셀-레벨 참조 카운터를 증분하고;
    상기 증분된 픽셀-레벨 참조 카운터에 적어도 부분적으로 기초하여 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하도록 구성된, 프로세서.
  11. 제 10 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 상기 현재 프레임의 폭 및 높이로 인덱스되 는, 프로세서.
  12. 제 11 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 제 1 수학식, R(i,j)=0 에 의해 제공되며,
    식 중, 0≤i<W, 0≤j<H, W 는 상기 현재 프레임의 폭, H 는 상기 현재 프레임의 높이인, 프로세서.
  13. 제 12 항에 있어서,
    상기 다음 프레임의 예측은 상기 다음 프레임의 블록들에 대한 모션 추정 예측을 포함하는, 프로세서.
  14. 삭제
  15. 삭제
  16. 제 10 항에 있어서,
    16×16 매크로블록 (x,y) 에 대해, 제 2 수학식,
    Figure 112010066495072-pct00011
    에 따라 상기 매크로블록 대역폭 맵의 대역폭 맵 값을 크기조정 (scale) 하도록 또한 구성되며,
    식 중, C 는 실험에 의해 결정된 상수, R(i,j)는 상기 16×16 매크로블록 (x,y) 에 대한 상기 픽셀-레벨 참조 카운터인, 프로세서.
  17. 제 10 항에 있어서,
    상기 현재 프레임을 참조하여, 복수의 다음 프레임에서의 다음 프레임 각각에 대해 상기 초기화, 상기 수행 및 상기 재조정의 기능들을 반복하도록 또한 구성된, 프로세서.
  18. 제 17 항에 있어서,
    상기 현재 프레임의 상기 재조정된 매크로블록 대역폭 맵에 적어도 부분적으로 기초하여 상기 현재 프레임을 인코딩하도록 또한 구성된, 프로세서.
  19. 복수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 장치로서,
    현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하기 위한 초기화기;
    상기 현재 프레임을 참조하여 다음 프레임의 예측을 수행하기 위한 수행기;
    상기 다음 프레임의 예측 동안에 참조되는 상기 현재 프레임의 각 픽셀에 대해 상기 픽셀-레벨 참조 카운터를 증분하기 위한 증분기; 및
    상기 증분된 픽셀-레벨 참조 카운터에 적어도 부분적으로 기초하여 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하기 위한 재조정기를 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  20. 제 19 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 상기 현재 프레임의 폭 및 높이로 인덱스되는, 멀티미디어 데이터의 프로세싱 장치.
  21. 제 20 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 제 1 수학식, R(i,j)=0 에 의해 제공되며,
    식 중, 0≤i<W, 0≤j<H, W 는 상기 현재 프레임의 폭, H 는 상기 현재 프레임의 높이인, 멀티미디어 데이터의 프로세싱 장치.
  22. 제 21 항에 있어서,
    상기 수행기의 상기 다음 프레임의 예측은 상기 다음 프레임의 블록들에 대한 모션 추정 예측을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  23. 삭제
  24. 삭제
  25. 제 19 항에 있어서,
    16×16 매크로블록 (x,y) 에 대해, 제 2 수학식,
    Figure 112010066495072-pct00012
    에 따라 상기 매크로블록 대역폭 맵의 대역폭 맵 값을 크기조정 (scale) 하는 스케일러 (scaler) 를 더 포함하며,
    식 중, C 는 실험에 의해 결정된 상수, R(i,j)는 상기 16×16 매크로블록 (x,y) 에 대한 상기 픽셀-레벨 참조 카운터인, 멀티미디어 데이터의 프로세싱 장치.
  26. 제 19 항에 있어서,
    상기 현재 프레임을 참조하여, 복수의 다음 프레임에서의 다음 프레임 각각에 대해 상기 초기화기, 상기 수행기, 및 상기 재조정기의 기능들을 반복하는 것을 코디네이팅하기 위한 반복기를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  27. 제 26 항에 있어서,
    상기 현재 프레임의 상기 재조정된 매크로블록 대역폭 맵에 적어도 부분적으로 기초하여 상기 현재 프레임을 인코딩하기 위한 인코더를 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  28. 복수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 장치로서,
    현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하는 수단;
    상기 현재 프레임을 참조하여 다음 프레임의 예측을 수행하는 수단;
    상기 다음 프레임의 예측 동안에 참조되는 상기 현재 프레임의 각 픽셀에 대해 상기 픽셀-레벨 참조 카운터를 증분하는 수단; 및
    상기 증분된 픽셀-레벨 참조 카운터에 적어도 부분적으로 기초하여 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  29. 제 28 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 상기 현재 프레임의 폭 및 높이로 인덱스되는, 멀티미디어 데이터의 프로세싱 장치.
  30. 제 29 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 제 1 수학식, R(i,j)=0 에 의해 제공되며,
    식 중, 0≤i<W, 0≤j<H, W 는 상기 현재 프레임의 폭, H 는 상기 현재 프레임의 높이인, 멀티미디어 데이터의 프로세싱 장치.
  31. 제 30 항에 있어서,
    상기 다음 프레임의 예측을 수행하는 수단은, 상기 다음 프레임의 블록들에 대해 모션 추정을 수행하는 수단을 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  32. 삭제
  33. 삭제
  34. 제 28 항에 있어서,
    16×16 매크로블록 (x,y) 에 대해, 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하는 수단은, 제 2 수학식,
    Figure 112010066495072-pct00013
    에 따라 상기 매크로블록 대역폭 맵의 대역폭 맵 값을 크기조정 (scale) 하는 수단을 포함하며,
    식 중, C 는 실험에 의해 결정된 상수, R(i,j)는 상기 16×16 매크로블록 (x,y) 에 대한 상기 픽셀-레벨 참조 카운터인, 멀티미디어 데이터의 프로세싱 장치.
  35. 제 28 항에 있어서,
    상기 현재 프레임을 참조하여, 복수의 다음 프레임에서의 다음 프레임 각각에 대해 상기 초기화하는 수단, 상기 수행하는 수단 및 상기 재조정하는 수단의 기능들을 반복하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  36. 제 35 항에 있어서,
    상기 현재 프레임의 상기 재조정된 매크로블록 대역폭 맵에 적어도 부분적으로 기초하여 상기 현재 프레임을 인코딩하는 수단을 더 포함하는, 멀티미디어 데이터의 프로세싱 장치.
  37. 복수의 비디오 프레임을 포함하는 멀티미디어 데이터를 프로세싱하는 머신 판독가능 매체로서,
    실행 시에 머신으로 하여금,
    현재 프레임에 대해 픽셀-레벨 참조 카운터를 초기화하고;
    상기 현재 프레임을 참조하여 다음 프레임의 예측을 수행하며;
    상기 다음 프레임의 예측 동안에 참조되는 상기 현재 프레임의 각 픽셀에 대해 상기 픽셀-레벨 참조 카운터를 증분하고;
    상기 증분된 픽셀-레벨 참조 카운터에 적어도 부분적으로 기초하여 상기 현재 프레임의 매크로블록 대역폭 맵을 재조정하게 하는 명령들을 포함하는, 머신 판독가능 매체.
  38. 제 37 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 상기 현재 프레임의 폭 및 높이로 인덱스되는, 머신 판독가능 매체.
  39. 제 38 항에 있어서,
    상기 픽셀-레벨 참조 카운터는 제 1 수학식, R(i,j)=0 에 의해 제공되며,
    식 중, 0≤i<W, 0≤j<H, W 는 상기 현재 프레임의 폭, H 는 상기 현재 프레임의 높이인, 머신 판독가능 매체.
  40. 제 39 항에 있어서,
    실행 시에 상기 머신으로 하여금, 상기 다음 프레임의 블록들에 대해 모션 추정 예측을 수행하게 하는 명령들을 더 포함하는, 머신 판독가능 매체.
  41. 삭제
  42. 삭제
  43. 제 37 항에 있어서,
    16×16 매크로블록 (x,y) 에 대해, 제 2 수학식,
    Figure 112010066495072-pct00014
    에 따라 상기 매크로블록 대역폭 맵의 대역폭 맵 값을 크기조정 (scale) 하도록 또한 구성되며,
    식 중, C 는 실험에 의해 결정된 상수, R(i,j)는 상기 16×16 매크로블록 (x,y) 에 대한 상기 픽셀-레벨 참조 카운터인, 머신 판독가능 매체.
  44. 제 37 항에 있어서,
    실행 시에 상기 머신으로 하여금, 상기 현재 프레임을 참조하여, 복수의 다음 프레임에서의 다음 프레임 각각에 대해 상기 초기화, 상기 수행 및 상기 재조정 하는 기능들을 반복하게 하는 명령들을 더 포함하는, 머신 판독가능 매체.
  45. 제 44 항에 있어서,
    실행 시에 상기 머신으로 하여금, 상기 현재 프레임의 상기 재조정된 매크로블록 대역폭 맵에 적어도 부분적으로 기초하여 상기 현재 프레임을 인코딩하게 하는 명령들을 더 포함하는, 머신 판독가능 매체.
KR1020087020395A 2006-01-20 2007-01-19 무선 비디오 통신에서 에러 리질리언스 알고리즘의 방법 및장치 KR101032017B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US76075506P 2006-01-20 2006-01-20
US76067806P 2006-01-20 2006-01-20
US60/760,755 2006-01-20
US60/760,678 2006-01-20

Publications (2)

Publication Number Publication Date
KR20080099276A KR20080099276A (ko) 2008-11-12
KR101032017B1 true KR101032017B1 (ko) 2011-05-02

Family

ID=38170220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087020395A KR101032017B1 (ko) 2006-01-20 2007-01-19 무선 비디오 통신에서 에러 리질리언스 알고리즘의 방법 및장치

Country Status (14)

Country Link
US (1) US8861585B2 (ko)
EP (1) EP1994757B1 (ko)
JP (1) JP4927875B2 (ko)
KR (1) KR101032017B1 (ko)
CN (1) CN101375603B (ko)
AR (1) AR059106A1 (ko)
AU (1) AU2007205840C1 (ko)
BR (1) BRPI0707150B1 (ko)
CA (1) CA2636041C (ko)
IL (1) IL192142A0 (ko)
NO (1) NO20083594L (ko)
RU (1) RU2404536C2 (ko)
TW (1) TWI459819B (ko)
WO (1) WO2007085000A2 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077991B2 (en) * 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
CN101189882B (zh) 2004-07-20 2012-08-01 高通股份有限公司 用于视频压缩的编码器辅助帧率上变换(ea-fruc)的方法和装置
US8325822B2 (en) * 2006-01-20 2012-12-04 Qualcomm Incorporated Method and apparatus for determining an encoding method based on a distortion value related to error concealment
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
US7729463B2 (en) * 2006-12-22 2010-06-01 Newport Media, Inc. Host processor assisted fast re-synchronization techniques for DVB-H systems
JP4834590B2 (ja) * 2007-03-28 2011-12-14 株式会社東芝 動画像復号化装置及び動画像復号化方法
US7903604B2 (en) * 2007-04-18 2011-03-08 Wi-Lan Inc. Method and apparatus for a scheduler for a macro-diversity portion of a transmission
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US8582654B1 (en) * 2009-09-30 2013-11-12 Hewlett-Packard Development Company, L.P. Generating a deblocked version of video frames using motion estimation
TWI412282B (zh) * 2009-11-17 2013-10-11 Univ Nat Cheng Kung 可隱藏傳輸錯誤之視訊解碼裝置與相關方法
US20110249127A1 (en) * 2010-04-07 2011-10-13 Cisco Technology, Inc. Estimating Video Quality Corruption in Lossy Networks
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
RS64605B1 (sr) 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
NO2991355T3 (ko) * 2010-04-13 2018-04-14
US9438918B2 (en) 2012-04-23 2016-09-06 Intel Corporation Frame level rate control using motion estimated distortions
US20130287109A1 (en) * 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding
US11076095B1 (en) * 2012-05-25 2021-07-27 Altia Systems Inc. Depth sensor assisted multiple imager video system
US10361721B1 (en) * 2014-05-01 2019-07-23 Marvell International Ltd. Methods and network device for uncoded bit protection in 10GBASE-T Ethernet
JP7291478B2 (ja) * 2018-12-25 2023-06-15 日本放送協会 動画像符号化装置およびそのプログラム
US11039149B2 (en) 2019-08-01 2021-06-15 Qualcomm Incorporated Dynamic video insertion based on feedback information
EP3829169B1 (en) * 2019-11-29 2021-10-13 Axis AB Method for intra refresh encoding of a plurality of image frames using convex and concave distribution functions
CN111510722A (zh) * 2020-04-27 2020-08-07 王程 一种抗误码性能卓越的视频图像高质量转码方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030235249A1 (en) * 2002-06-25 2003-12-25 Chengji Zhao Video encoder and method for encoding video frames

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613015A (en) * 1992-11-12 1997-03-18 Fuji Xerox Co., Ltd. Image signal analyzing system and coding system
US5627935A (en) * 1994-11-11 1997-05-06 Samsung Electronics Co., Ltd. Error-correction-code coding & decoding procedures for the recording & reproduction of digital video data
US6160846A (en) * 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US6101276A (en) * 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
US5793895A (en) 1996-08-28 1998-08-11 International Business Machines Corporation Intelligent error resilient video encoder
US6037985A (en) * 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression
JP3223962B2 (ja) 1997-01-24 2001-10-29 松下電器産業株式会社 画像復号化方法
US20010043653A1 (en) * 1997-03-26 2001-11-22 Kazuhusa Hosaka Method and apparatus for image encoding method and appartus for image decoding and recording medium
RU2217882C2 (ru) 1997-08-12 2003-11-27 Томсон Конзьюмер Электроникс, Инк. Устройство для сжатия блоков пикселов в системе обработки изображений
US6025888A (en) 1997-11-03 2000-02-15 Lucent Technologies Inc. Method and apparatus for improved error recovery in video transmission over wireless channels
WO1999049664A1 (en) * 1998-03-20 1999-09-30 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. Moving pictures encoding with constant overall bit rate
US6434196B1 (en) * 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
JPH11331839A (ja) 1998-05-13 1999-11-30 Matsushita Electric Ind Co Ltd 映像伝送再送の装置及び方法
JP3748717B2 (ja) * 1998-08-31 2006-02-22 シャープ株式会社 動画像符号化装置
US6466624B1 (en) * 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
JP3166736B2 (ja) 1998-11-25 2001-05-14 日本電気株式会社 動画像符号化装置および動画像符号化方法
GB2347038A (en) 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
JP2002016913A (ja) 2000-06-28 2002-01-18 Yamaha Corp トランスコーディング方法およびトランスコーディング装置
JP4644939B2 (ja) 2001-01-17 2011-03-09 日本電気株式会社 動画像符号化装置および動画像符号化方法
JP2004532540A (ja) 2001-03-05 2004-10-21 インタービデオインコーポレイテッド 誤り耐性のある符号化のためのシステム及び方法
US6795076B2 (en) * 2001-06-28 2004-09-21 Sun Microsystems, Inc. Graphics system with real-time convolved pixel readback
JP2003032689A (ja) 2001-07-18 2003-01-31 Sharp Corp 画像符号化装置、画像復号化装置及び動画像伝送システム
CN1206864C (zh) * 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置
US7034888B2 (en) * 2003-03-26 2006-04-25 Silicon Integrated Systems Corp. Method for motion pixel detection
GB0314161D0 (en) * 2003-06-18 2003-07-23 British Telecomm Edge analysis in video quality assessment
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
WO2005062625A1 (ja) 2003-12-22 2005-07-07 Nec Corporation 動画像を符号化する方法及び装置
US7738561B2 (en) 2004-11-16 2010-06-15 Industrial Technology Research Institute MPEG-4 streaming system with adaptive error concealment
US20070030894A1 (en) 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
US8670437B2 (en) 2005-09-27 2014-03-11 Qualcomm Incorporated Methods and apparatus for service acquisition
US8229983B2 (en) 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
US8325822B2 (en) 2006-01-20 2012-12-04 Qualcomm Incorporated Method and apparatus for determining an encoding method based on a distortion value related to error concealment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030235249A1 (en) * 2002-06-25 2003-12-25 Chengji Zhao Video encoder and method for encoding video frames

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISCAS'04, IEEE, HONG-JYH CHIOU et al., "Error-resilient transcoding using adaptive intra refresh for video streaming", pages. 777-780.*

Also Published As

Publication number Publication date
CA2636041C (en) 2013-01-29
CA2636041A1 (en) 2007-07-26
WO2007085000A2 (en) 2007-07-26
WO2007085000A3 (en) 2007-09-13
TW200737994A (en) 2007-10-01
EP1994757A2 (en) 2008-11-26
CN101375603B (zh) 2011-08-31
KR20080099276A (ko) 2008-11-12
TWI459819B (zh) 2014-11-01
RU2008134132A (ru) 2010-02-27
US20070177667A1 (en) 2007-08-02
EP1994757B1 (en) 2016-03-09
IL192142A0 (en) 2008-12-29
NO20083594L (no) 2008-10-17
AU2007205840B2 (en) 2010-05-27
BRPI0707150B1 (pt) 2019-08-13
JP4927875B2 (ja) 2012-05-09
AU2007205840C1 (en) 2010-10-28
AR059106A1 (es) 2008-03-12
BRPI0707150A2 (pt) 2011-04-19
JP2009524365A (ja) 2009-06-25
CN101375603A (zh) 2009-02-25
RU2404536C2 (ru) 2010-11-20
US8861585B2 (en) 2014-10-14
AU2007205840A1 (en) 2007-07-26

Similar Documents

Publication Publication Date Title
KR101032017B1 (ko) 무선 비디오 통신에서 에러 리질리언스 알고리즘의 방법 및장치
JP4908522B2 (ja) 誤り隠蔽に関連する歪み値に基づいてエンコード方法を決定する方法および装置
US8612498B2 (en) Channel switch frame
AU2006294509B2 (en) Scalability techniques based on content information
US20100260269A1 (en) Video decoding with error detection and concealment
EP1929785B1 (en) Channel switch frame
Hsu et al. MPEG-2 spatial scalable coding and transport stream error concealment for satellite TV broadcasting using Ka-band
Kolkeri et al. Error concealment techniques in h. 264/avc for wireless video transmission in mobile networks
MX2008009312A (en) Method and apparatus for error resilience algorithms in wireless video communication
Zhang Error Resilience for Video Coding Service
Kim et al. Hybrid error concealment method for H. 264/AVC
Apostolopoulos Error-resilient video compression

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 9