KR100926205B1 - P-프레임에 대한 시간 에러 은폐 방법 및 장치 - Google Patents

P-프레임에 대한 시간 에러 은폐 방법 및 장치 Download PDF

Info

Publication number
KR100926205B1
KR100926205B1 KR1020077023216A KR20077023216A KR100926205B1 KR 100926205 B1 KR100926205 B1 KR 100926205B1 KR 1020077023216 A KR1020077023216 A KR 1020077023216A KR 20077023216 A KR20077023216 A KR 20077023216A KR 100926205 B1 KR100926205 B1 KR 100926205B1
Authority
KR
South Korea
Prior art keywords
motion vectors
frame
section
reference frame
motion vector
Prior art date
Application number
KR1020077023216A
Other languages
English (en)
Other versions
KR20070110549A (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 KR20070110549A publication Critical patent/KR20070110549A/ko
Application granted granted Critical
Publication of KR100926205B1 publication Critical patent/KR100926205B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

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

Abstract

에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법 및 장치가 제시된다. 상기 방법은 제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하는 단계를 포함한다. 상기 방법은 추가로 제 1 기준 프레임이 제 1 섹션을 추정하기 위해 신뢰성 있는지 여부를 결정하는 단계를 포함한다. 상기 방법은 추가로 상기 제 1 기준 프레임이 신뢰성 있다고 결정되면, 상기 멀티미디어 프레임의 상기 제 1 섹션이 아닌 하나 이상의 섹터들 및 제 1 기준 프레임에 기반하여 에러를 가지고 수신된 상기 제 1 섹션을 추정하는 단계를 포함한다.

Description

P-프레임에 대한 시간 에러 은폐 방법 및 장치{METHOD AND APPARATUS OF TEMPORAL ERROR CONCEALMENT FOR P-FRAME}
본 발명은 에러 관리를 통해 디지털 데이터를 인코딩하고 디코딩하기 위한 방법들 및 장치에 관한 것이다.
본 출원은 본 출원의 양수인에 의해 양수되고 여기에 참조로서 통합된, 출원번호가 60/660,867이고, 출원일이 2005년 3월 10일이고, 발명의 명칭이 "METHOD OF ERROR RECOVERY FOR A DECODER"인 가출원과 출원번호가 60/680,277이고, 출원일이 2005년 5월 11일이고, 발명의 명칭이 "METHOD AND APPARATUS OF TEMPORAL ERROR CONCEALMENT FOR P-FRAME"인 가출원에 대한 우선권을 주장한다.
인터넷 및 무선 통신의 광범위한 사용은 인터넷 및 모바일/무선 채널들을 통해 미디어를 스트리밍하는 멀티미디어 서비스들에 대한 요구를 증가시키고 있다. 인터넷 프로토콜(IP) 네트워크들에서, 비디오는 서버에 의해 제공될 수 있으며 하나 이상의 유선 또는 무선 클라이언트들에 의해 스트리밍될 수 있다. 유선 접속들은 다이얼-업, 종합 정보 통신망(ISDN), 케이블, (통합적으로 xDSL이라 지칭되는) 디지털 가입자 라인 프로토콜들, 광섬유, 로컬 영역 네트워크들(LAN), 광역 네트워크들(WAN) 및 다른 것들을 포함한다. 무선 통신을 이용하는 전자 디바이스들은 전화기들(예를 들어, 셀 폰들), 개인 정보 단말기(PDA), 핸드-헬드 및 휴대용 컴퓨터들 및 다른 것들을 포함한다. 이러한 애플리케이션들 모두는 아니라도 대부분, 대역폭 요구들 및/또는 제한들은 비디오 처리가 "최소" 개수의 비트들을 사용함으로써 최대 정보를 전달하도록 비디오 압축 알고리즘들을 통합하는 소스 인코더를 사용하여 비디오 데이터를 분석하고, 비디오 데이터의 양을 측정하고, 비디오 데이터를 표현하는 것을 필요로 한다. 이러한 알고리즘들의 특성들은 상당하게 변화하며, 이는 (압축 효율 및 비트 레이트와 같이) 성능에 큰 범위의 변화들을 초래한다. 압축 알고리즘들을 이용하는 비디오 처리의 특성들은 컨텐트에 기반하여 상당히 변화할 수 있으며, (압축 효율 및 비트 레이트와 같이) 성능에 큰 범위의 변화들을 초래할 수 있다.
무선 채널들은 에러들에 취약하다. 전송된 데이터의 일부가 손실 또는 손상되면, 이러한 데이터 부분은 "에러를 가진다(erroneous)". 비디오 압축은 고유하게 리던던시를 제거하기 때문에, 압축된 데이터는 위험하게(critical) 된다. 전송 동안 이러한 데이터의 임의의 에러를 갖는 부분은 디코더에서 재구성된 비디오 품질에 영향을 미친다. 에러가 있는 데이터가 모션 보상 예측을 위한 기준 프레임의 일부이면, 이러한 영향은 더욱 악화하여, 시간(temporal) 에러 전파를 야기한다.
에러를 가지고 수신된 비트스트림 데이터에 기인한 재구성된 비디오 품질에 대한 영향을 줄이기 위해, 비디오 디코더는 비디오 품질을 향상시키도록 수신된 비디오 데이터를 처리한다. 이러한 처리는 에러 은폐(error concealment)라고 지칭된다. 에러 은폐 방식들은 비디오 신호에 존재하는 공간 및 시간 상관을 이용한다. 그에 따라, 이러한 방식들은 공간 또는 시간 에러 은폐로 지칭된다.
채널 에러들(비트 에러들 및/또는 패킷 손실)의 특성 및 패킷화(packetization) 타입에 따라, 하나 이상의 매크로블록들 또는 슬라이스들에 속하는 데이터의 전부 또는 일부는 전송 동안에 에러를 갖게 될 수 있다. 매크로블록에서, 코딩 모드(인터(inter) 또는 인트라(intra)), 모션 벡터들(인터인 경우) 및 변환 계수들 중 하나 이상을 포함하는 다양한 코딩된 매크로블록 데이터는 에러를 가질 수 있다.
매크로블록에 에러가 있으면, 전형적으로 위의 정보 모두 에러가 있다고 추정된다. 인터-코딩된 매크로블록에서, 매크로블록의 모션 벡터들 및 나머지(residual) 계수들은 에러를 가진다. 나머지 신호들은 비-상관화(de-correlate) 정도가 크기 때문에, 이들은 인접 매크로블록들로부터 추정하기가 어렵다. 그러나 모션 벡터들이 복원될 수 있다면 재구성된 비디오 품질이 크게 향상될 수 있다는 것이 연구를 통해 알려져 있다. 그리하여, 시간 에러 은폐의 주요한 목표는 에러가 있는 모션 벡터들을 자신과 공간 및 시간상으로 인접한 벡터들로부터 추정하는 것이다. 모션 벡터가 구성되면, 제로의 나머지 계수들을 갖는 구성된 모션 벡터를 이용하여 모션 보상이 수행될 수 있다.
여러 개의 기존 시간 에러 은폐 방식들이 존재함에도, 이들은 양호한 결과들을 제공하지 못하고 있다. 또한, 이들은 다수의 기준 프레임들 및 가변적인 모션 보상 블록 크기들을 지원하는 멀티미디어 데이터와 호환되지 않는다. 그러므로 양호한 결과들을 달성하고 더 넓은 호환성을 제공하기 위해 새로운 시간 에러 은폐 방식이 필요하다.
에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법 및 장치가 제시된다. 상기 방법은 제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하는 단계를 포함한다. 상기 방법은 추가로 제 1 기준 프레임이 제 1 섹션을 추정하기 위해 신뢰성 있는지 여부를 결정하는 단계를 포함한다. 상기 방법은 추가로 상기 제 1 기준 프레임이 신뢰성 있다고 결정되면, 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹터들 및 제 1 기준 프레임에 기반하여 에러를 가지고 수신된 상기 제 1 섹션을 추정하는 단계를 포함한다.
여기에 개시된 실시예들의 특징들, 목적들 및 장점들은 이하 제시될 상세한 설명 및 도면을 통해 보다 명백해질 것이다.
도 1은 착신 멀티미디어 데이터 스트림(미도시)을 디코딩하도록 구성된 디코더의 일례를 나타내는 블록 다이어그램이다.
도 2는 P-프레임의 에러가 있는 매크로블록에 대한 시간 에러 은폐 방법의 일례를 나타내는 플로우차트이다.
도 3은 도 2의 블록 204에서 현재 P-프레임의 모션 벡터들을 생성하기 위한 프로세스의 일례를 나타내는 플로우차트이다.
도 4는 도 2의 블록 206에서 현재 P-프레임 및 기준 프레임에 기반하여 모션 벡터 윈도우를 형성하기 위한 프로세스의 일례를 나타내는 플로우차트이다.
도 5A 및 5B는 도 4의 블록 2066에서 앵커 매크로블록을 결정하기 위한 최대-커버링-영역(most-covered-area) 방법을 나타낸다.
도 6은 도 4의 블록 2067에서의 모션 벡터 윈도우의 구성을 나타낸다.
도 7A 및 7B는 도 4의 블록 2068에서 로컬 모션 분류를 수행하는 장점을 나타낸다.
도 8은 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법의 다른 일례를 나타내는 플로우차트이다.
도 9는 착신 멀티미디어 데이터 스트림을 디코딩하도록 구성된 디코더의 다른 일례를 나타내는 블록 다이어그램을 나타낸다.
다음의 설명에서, 구체적인 세부사항들은 개시된 방법들 및 장치에 대한 철저한 이해를 제공하기 위해 제시된다. 그러나 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 제시된 방법들 및 장치가 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 것을 이해할 것이다. 예를 들어, 전기적 컴포넌트들은 불필요한 세부사항으로 특정한 양상들을 불명료하게 하지 않도록 블록 다이어그램들로 도시될 수 있다. 다른 예들에서, 이러한 컴포넌트들, 다른 구조들 및 기법들은 특정한 양상들을 추가로 설명하기 위해 세부적으로 도시될 수 있다.
또한, 플로우차트, 플로우 다이어그램, 구조 다이어그램 또는 블록 다이어그램으로서 도시되는 특정한 양상들은 프로세스로서 설명될 수 있다는 것을 유의하도 록 한다. 플로우차트가 순차적인 프로세스로서 동작들을 설명할 수 있더라도, 많은 동작들은 병렬적으로 또는 동시에 수행될 수 있으며 상기 프로세스는 반복될 수 있다. 또한, 동작들의 순서는 재-배열될 수 있다. 프로세스는 동작들이 완료되면 종료된다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응하면, 프로세스의 종료는 호출 함수 또는 메인 함수에 대한 함수의 리턴에 대응한다.
도 1은 착신 멀티미디어 데이터 스트림(미도시)을 디코딩하도록 구성된 디코더의 일례를 나타내는 블록 다이어그램이다. 멀티미디어 데이터는 비디오, 오디오, 그래픽, 텍스트 및 그림을 포함하는 다양한 형태들일 수 있으나 이에 한정되는 것은 아니다. 데이터는 MPEG-x 및 H.26x로 압축된 비디오 및 오디오, MPEG-4 AAC, MP3, AMR 및 G.723 오디오 또는 음성 압축 표준들로 압축된 오디오 또는 임의의 다른 타입의 디지털 데이터일 수 있다. 데이터 스트림은 전화기, 케이블 및 광섬유와 같은 유선 네트워크 또는 무선 네트워크를 통해 수신될 수 있다. 무선의 경우에, 네트워크는, 예를 들어, 코드 분할 다중 접속(CDMA 또는 CDMA2000) 통신 시스템의 일부를 포함할 수도 있고, 또는 대안적으로 상기 시스템은 주파수 분할 다중 접속(FDMA) 시스템, 직교 주파수 분할 다중화(OFDM) 시스템, GSM/GPRS(범용 패킷 무선 서비스)/EDGE(향상된 데이터 GSM 환경) 또는 서비스 산업을 위한 TETRA(지상 트렁크 라디오) 모바일 전화 기술과 같은 시분할 다중 접속(TDMA), 광대역 코드 분할 다중 접속(WCDMA), 고속 데이터 레이트(1xEV-DO 또는 1xEV-DO 골드 멀티캐스트) 시스템, 또는 일반적으로 기술들의 결합을 이용하는 임의의 무선 통신 시스템일 수 있다.
디코더(100)는 에러가 있는 인터-코딩된 데이터에 대한 시간 에러 은폐를 수행하도록 구성된다. 인터 또는 예측 코딩은 다른 영상을 참조하여 영상(필드 또는 프레임)을 인코딩하는 것을 지칭한다. 이러한 애플리케이션을 통해 사용되는 인터-코딩된 영상들의 예로는 ("P-프레임들"로 지칭되는, 순방향 또는 역방향 예측된) 예측된 프레임들이 있다. 인터-코딩을 위한 다른 용어들은 고역-통과 코딩, 나머지 코딩, 모션 보상 보간(interpolation) 및 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 잘 알려진 다른 코딩들을 포함한다. P-프레임들(또는 임의의 인터-코딩된 섹션들)은 현재 프레임에서의 영역과 기준 프레임에서 가장 잘 매칭되는 예측 영역 사이에 있는 시간 리던던시(redundancy)를 활용할 수 있다. 현재 영역 및 가장 잘 매칭되는 기준 예측 영역 사이의 차이는 나머지 에러(또는 예측 에러)로 알려져 있다. 기준 프레임에 있는 가장 잘 매칭되는 예측 영역의 위치는 모션 벡터로 인코딩될 수 있다.
I-프레임이 시퀀스의 제 1 프레임이 아니고 영상 변화가 없다면, 디코더(100)는 또한 특정한 I-프레임들에 대하여 여기에 제시된 시간 에러 은폐 방법들을 수행하도록 구성될 수 있다. I-프레임은 인트라-코딩된 프레임으로 지칭되며, 인트라-코딩된 프레임은 임의의 다른 프레임에 대한 참조 없이 인코딩되는 것으로서 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 이해된다. I-프레임은 모션 정보를 포함하지 않기 때문에, 이전 P-프레임으로부터의 모션 정보가 에러가 있는 I-프레임 데이터를 은폐하기 위해 사용된다.
디코더(100)는 시간 예측 데이터 생성기(102), 프레임 모션 변화 탐지기(104), 모션 벡터 추정기(106), 메모리(108) 및 프로세서(112)를 포함한다. 시간 예측 데이터 생성기(102)는 P-프레임이 예측될 수 있는 기준 프레임에 대응하는 시간 예측 데이터를 획득하도록 구성된다. 프레임 모션 변화 탐지기(104)는 P-프레임으로부터 기준 프레임으로의 모션에서 상당한 변화가 존재하는지 여부를 탐지함으로써 기준 프레임이 에러가 있는 매크로블록을 추정하기 위해 신뢰성 있는지 여부를 결정하도록 구성된다. 매크로블록은 관련된 픽셀들의 그룹이며, 이러한 예에서 16×16 픽셀들로 구성된다. 픽셀들은 8-비트 루미넌스(luminance) 값(Y) 및 두 개의 8-비트 크로미넌스(chrominance) 값들(Cr 및 Cb)에 의해 정의될 수 있다. MPEG에서 Y, Cr 및 Cb 컴포넌트들은 4:2:0 포맷으로 저장될 수 있으며, 여기서 Cr 및 Cb 컴포넌트들은 X 및 Y 방향으로 2에 의해 다운-샘플링된다. 그리하여, 각각의 매크로블록은 256개의 Y 컴포넌트들, 64개의 Cr 컴포넌트들 및 64개의 Cb 컴포넌트들로 구성될 것이다.
모션 벡터 추정기(106)는 기준 프레임이 신뢰성 있는지 여부에 부분적으로 기반하여 다수의 방식 중 하나로 에러가 있는 매크로블록에 대한 모션 벡터를 추정하도록 구성된다. 프로세서(112)는 임의의 적절한 범용 싱글- 또는 멀티-칩 마이크로프로세서, 또는 디지털 신호 처리기, 마이크로컨트롤러 또는 프로그래밍 가능한 게이트 어레이와 같은 임의의 적절한 특별한 목적의 마이크로프로세서일 수 있다. 프로세서(112)는 시간 예측 데이터 생성기(102), 프레임 모션 변화 탐지기(104) 및 모션 벡터 추정기(106)의 동작을 제어하기 위해 하나 이상의 소프트웨어 애플리케이션들을 실행하도록 구성된다. 프로세서(112)는 또한 메모리(108)에 액세스하여 데이터를 판독 및 저장하도록 구성된다. 특정한 예들에서, 시간 예측 데이터 생성기(102) 및 프레임 모션 변화 탐지기(104) 중 하나 또는 모두는 제거될 수 있다.
도 1에 도시된 기능 블록들 중 임의의 하나는 디코더의 기능을 변경하지 않고 재배치되거나 또는 하나 이상의 다른 블록들과 결합할 수 있다는 점에 유의하도록 한다.
도 2는 P-프레임의 에러가 있는 매크로블록에 대한 시간 에러 은폐 방법의 일례를 나타내는 플로우차트이다. 시간 에러 은폐 방법은 P-프레임에 있는 인접한 매크로블록들 및 기준 프레임 또는 기준 프레임들에 있는 매크로블록들에 기반하여 P-프레임에 있는 에러를 가진 매크로블록에 대한 모션 벡터의 추정치를 획득한다.
상기 방법은 인과적(causal) 디코딩 프로세스 또는 비-인과적 디코딩 프로세스에 적용될 수 있다. 인과적 디코딩 프로세스에서, 각각의 매크로블록은 결정된 시간 순서로 디코딩된다. 매크로블록의 디코딩은 디코딩 프로세스가 다음 매크로블록으로 이동하기 전에 완료된다. 비-인과적 디코딩 프로세스에서, 현재 매크로블록의 디코딩은 현재 매크로블록 뒤에 오는 매크로블록들이 디코딩된 후로 연기될 수 있다.
상기 방법(200)은 선택적 블록 202에서 시작하며, 여기서 디코더는 수신된 P-프레임의 매크로블록이 에러를 갖는지 여부를 결정한다. 선택적 블록 204로 이동하여, 디코더는 P-프레임의 정확하게 수신된 매크로블록들에 대한 모션 벡터들을 생성한다. 다음으로, 블록 206에서, 디코더는 현재 P-프레임으로부터 정확하게 수신된 모션 벡터들과 현재 P-프레임의 에러가 있는 매크로블록에 대응하는 기준 프레임들로부터의 정확하게 디코딩된 모션 벡터들을 이용하여 모션 벡터 윈도우를 형성한다. 이러한 예에서, 모션 벡터 윈도우는 3×3 매크로블록들을 포함하나, 모션 벡터 윈도우는 하나의 매크로블록 및 그 이상으로 크기가 변화할 수 있다는 것을 이해하도록 한다. 블록들 204 및 206은 아래에서 보다 상세하게 설명될 것이다.
블록 208로 진행하여, 디코더는 3×3 모션 벡터 윈도우의 이용 가능한 모션 벡터들에 대한 모션 벡터 평활화(smoothing)를 수행하고 에러가 있는 매크로블록에 대한 추정된 모션 벡터를 생성한다. 특정한 예들에서, 추정 모션 벡터는 메디안(median) 필터링에 의해 획득된 3×3 윈도우에 있는 이용 가능한 모션 벡터들의 메디안이다.
메디안 필터링은 임펄스 잡음들을 제거하고 동시에 에지(edge)들을 유지하기 위해 신호 및 이미지 처리에서 폭넓게 사용된다. N개의 스칼라들의 배열
Figure 112009047256816-pct00001
(여기서,
Figure 112009047256816-pct00002
,
Figure 112009047256816-pct00003
)에 대한 메디안을 획득하기 위해, 일반적으로 상기 배열은 처음에
Figure 112009047256816-pct00004
로 정렬(sort)된다. 그 후에 중앙
Figure 112009047256816-pct00005
에 있는 엘리먼트가 상기 배열의 메디안
Figure 112009047256816-pct00006
으로 취해진다. 메디안
Figure 112009047256816-pct00007
은 다음과 같은 성질을 만족한다:
Figure 112007072737546-pct00008
유사하게, N개의 m-차원 벡터들
Figure 112007072737546-pct00009
(여기서,
Figure 112007072737546-pct00010
,
Figure 112007072737546-pct00011
)의 배열에 대하여, 메디안 벡터
Figure 112007072737546-pct00012
은 다음의 조건을 만족하는 벡터이다:
Figure 112007072737546-pct00013
여기서, p는 벡터들 사이의 p-노름(norm) 메트릭들을 표시한다. 일례에서, p=1이 사용된다. 2-차원 벡터
Figure 112007072737546-pct00014
에서,
Figure 112007072737546-pct00015
Figure 112007072737546-pct00016
사이의 1-노름 거리는 다음과 같다:
Figure 112007072737546-pct00017
모션 벡터 메디안 필터링은 이용 가능한 모든 모션 벡터들에 적용된다. 모션 벡터가 에러가 있는 매크로블록 또는 인트라-매크로블록으로부터 온 것이거나, 자신의 서브-파티션의 기준 인덱스 중 임의의 기준 인덱스가 0이 아니라면, 모션 벡터는 이용 가능하지 않은 것으로 마킹되며, 그렇지 않으면 이용 가능한 것으로 마킹된다.
이러한 플로우차트에 도시된 블록들 중 임의의 블록은 생략되거나, 순서가 재배치되거나 또는 하나 이상의 다른 블록들과 결합할 수 있다는 것을 유의하도록 한다.
도 3은 도 2의 블록 204에서 현재 P-프레임의 모션 벡터들을 생성하기 위한 프로세스의 일례를 나타내는 플로우차트이다. 비디오 통신 시스템의 특정한 예들은 디코더가 다수의 기준 프레임들로부터 예측된 P-프레임과 가변적인 모션 보상 블록 크기들을 지원할 것을 요구한다. 이러한 예들에서, 디코더에 대한 입력들 중 하나는 가변적인 크기들의 각각의 디코딩된 블록의 모션 벡터이다. 다른 입력은 현재 디코딩된 프레임으로부터 각각의 전송된 모션 벡터에 대한 기준 프레임 인덱스(ref_idx)이다. 기준 프레임 인덱스 정보는 각각의 모션 벡터에 대한 비트스트림으로 전달되며, 현재 프레임과 현재 프레임의 모션 벡터의 기준 프레임 사이의 거리를 나타낸다. 일례에서, 각각의 매크로블록에 대하여 7개의 유효한 모션 보상 블록 크기들이 존재한다. 이러한 블록 크기들은 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, 4×4이다. 현재 P-프레임의 모션 벡터들을 생성하기 위한 프로세스는 하나의 인접한 기준 프레임 및 균일한 보상 블록 크기에 기반하여 입력 모션 벡터들을 모션 벡터들로 변환함으로써 다수의 기준 프레임들 및 가변적인 모션 보상 블록 크기에 대한 요구된 지원을 제공한다.
상기 방법(204)은 블록 2042에서 시작하며, 여기서 모션 벡터 스케일링(scaling)이 수행된다. 모션 벡터 스케일링 단계는 현재 프레임과 모션 벡터가 가리키는 기준 프레임 사이의 거리에 기반하여 입력 모션 벡터의 스케일링을 수행한다. 모션 벡터 스케일링 후에, 모든 모션 벡터들은 현재 프레임으로부터 자신의 바로 인접한 기준 프레임, 즉, 현재 프레임에 인접한 프레임으로 포인팅된다(ref_dex 값이 0임). 그러므로 다수의 기준 프레임들은 하나의 인접한 기준 프레임으로 스케일 아웃(scale out)된다. 자신의 바로 인접한 기준 프레임을 가리키는 새로운 모션 벡터는 다음과 같이 특성화될 수 있다:
MV_f_x=MV_x*N/M (1)
MV_f_y=MV_y*N/M (2)
여기서, MV_f_x 및 MV_f_y는 새로운 모션 벡터의 x 및 y 컴포넌트들이며, MV_x 및 MV_y는 전송된 모션 벡터의 x 및 y 컴포넌트들이며, N은 현재 프레임과 현재 프레임의 바로 인접한 기준 프레임 사이의 거리이며, M은 현재 프레임과 모션 벡터가 가리키는 기준 프레임 사이의 거리이다.
블록 2044로 진행하여, 모션 벡터 병합(merging)이 수행된다. 모션 벡터 병합은 가변적인 블록-크기 모션 벡터들에 대한 필요한 지원을 제공한다. 이러한 동작 동안에, 서로 다른 크기의 입력 모션 벡터들은 베이스 유닛으로 지칭되는 균일한 블록 크기를 나타내는 모션 벡터로 변환된다. 베이스 유닛의 크기는 구성 가능하다. 몇몇 예들에서, 16×16 베이스 유닛이 사용된다.
베이스 유닛이 더 작은 크기(들)의 여러 개의 스케일링된 모션 벡터를 포함한다면, 병합 동작은 베이스 유닛 내에 있는 모션 벡터들을 하나의 모션 벡터로 병합하고 병합된 모션 벡터를 베이스 유닛에 할당한다. 그러나 스케일링된 모션 벡터가 베이스 유닛보다 크면, 입력 모션 벡터는 각각 베이스 유닛을 나타내며 각각이 스케일링된 모션 벡터와 동일한 모션 벡터를 갖는 여러 개의 모션 벡터들로 분할된다. 병합 동작을 수행하기 위해 다양한 예들이 이용 가능하다. 일례에서, 새로운 모션 벡터는 베이스 유닛 내에 포함된 더 작은 크기들을 갖는 여러 개의 스케일링된 모션 벡터들의 평균이다. 다른 예에서, 새로운 모션 벡터는 베이스 유닛 내에 포함된 여러 개의 스케일링된 모션 벡터들의 평균이다. 블록 2044 이후에, 모든 정확하게 디코딩된 모션 벡터들은 단일-크기 베이스 유닛으로 변환된다.
블록 2046으로 이동하여, 블록 2044로부터의 모션 벡터들에 대하여 모션 벡터 메디안 필터링이 수행된다. 이전 블록들 2042 및 2044는 수신된 모션 벡터 필드를 균일한 크기(베이스 유닛 크기), 단일 기준(모든 모션 벡터가 현재 프레임으로부터 인접한 기준 프레임을 가리키도록 스케일링됨) 모션 필드로 변경한다. 모션 벡터 메디안 필터링은 스케일링 및 병합 동작들에 의해 생성된 모션 벡터의 특이성(singularity)을 평활화하도록 수행되며, 그리하여 보다 양호한 에러 은폐 결과들을 산출한다. 모션 벡터 메디안 필터링은 도 2와 관련하여 위에서 논의된 필터링과 동일한 것이다. 일례에서, 3×3 모션 벡터 메디안 필터링(VMF)이 각각의 이용 가능한 모션 벡터에 적용된다. 각각의 이용 가능한 모션 벡터는 모션 벡터의 중앙에 위치한 3×3 블록에 있는 모션 벡터들의 메디안에 의해 대체된다. 다른 예들에서, 상이한 크기 블록이 모션 벡터 메디안 필터링을 수행하기 위해 사용될 수 있다.
요약하면, P-프레임의 모션 벡터들을 생성하기 위한 상기 프로세스에 대한 본 예는 가변적인 블록 크기들을 갖는 입력 모션 벡터들을 베이스 유닛 모션 벡터들로 변환하고 각각의 디코딩 프레임의 다수의 기준 프레임들을 기준 프레임 리스트에 있는 하나의 가장 작은 인덱스 기준 프레임으로 변환한다.
이러한 플로우차트에 도시된 블록들 중 임의의 블록은 생략될 수 있고, 순서가 재배치될 수 있으며, 하나 이상의 다른 블록들과 결합할 수 있다는 것을 유의하도록 한다.
도 4는 도 2의 블록 206에서 현재 P-프레임 및 기준 프레임에 기반하여 모션 벡터 윈도우를 형성하기 위한 프로세스의 일례를 나타내는 플로우차트이다. 도 2와 관련하여 논의된 바와 같이, 상기 프로세스에서 생성된 모션 벡터 윈도우는 에러를 가진 매크로블록의 모션 벡터의 추정을 구성하기 위해 사용될 수 있다. 이러한 예에서, 모션 벡터 윈도우는 다른 크기들이 또한 사용될 수 있으나 매크로블록들의 3×3 윈도우이다. 이러한 예에서, 기준 프레임은 현재 P-프레임에 대한 인접한 프레임, 즉, 현재 P-프레임에 근접한 프레임이다. 다른 예들에서, 기준 프레임은 현재 P-프레임으로부터 보다 멀리 떨어져 있을 수 있다. 상기 방법은 인과적 디코딩 프로세스 또는 비-인과적 디코딩 프로세스에 적용될 수 있다.
상기 방법(206)은 블록 2062에서 시작하며, 여기서 현재 P-프레임 및 기준프레임에 있는 모션이 연속적인지 여부가 결정된다. 현재 프레임에 있는 모션이 기준 프레임에 있는 모션으로부터 상당하게 변화하지 않는다면, 상기 모션은 연속적이다.
도 3과 관련하여 위에서 설명된 방법(204)과 유사한 프로세스가 기준 프레임의 모션 벡터들을 생성하기 위해 적용된다. 기준 프레임의 모션 벡터들이 생성되면, 현재 프레임 및 기준 프레임에서 같은 위치에 있는(co-located) 모션 벡터들의 각각의 쌍이 이용 가능하다면 현재 프레임 및 기준 프레임에서의 모션이 연속적인지 여부를 결정하기 위해 각각의 쌍이 비교된다. 두 모션 벡터 모두 정확하게 수신된다면, 모션 벡터들의 쌍은 이용 가능하다. 상기 두 개의 프레임들에 있는 유사한 모션 벡터 쌍들의 카운트는 유지된다. 유사한 모션 벡터 카운트가 이용 가능한 모션 벡터 쌍들의 카운트의 임계 백분율을 초과하면, 상기 두 개의 프레임들에 있는 모션들은 상당히 변화하지는 않은 것이다. 그렇지 않으면, 프레임-대-프레임 모션 변화가 탐지된다. 이러한 예에서, 임계 백분율은 50%이며, 또한 다른 수치가 사용될 수도 있다.
각각의 수신된 모션 벡터에는 크기 라벨 및 방향 라벨이 주어진다. 이러한 예에서, 크기 라벨은 0(작은 크기) 또는 1(큰 크기)의 값을 가진다. 모션 벡터의 크기가 임계값보다 크다면, 모션 벡터에는 크기 라벨 1이 부여된다. 이러한 예에서, 크기 라벨을 결정하기 위한 임계값은 2개의 픽셀이지만, 다른 값들 또한 사용될 수 있다. 이러한 예에서, 방향 라벨은 4개의 주요 방향들을 나타내는 0, 1, 2 또는 3의 값을 가진다.
두 개의 프레임들에서 같은 위치에 있는 모션 벡터들의 각각의 쌍은 이들의 크기 라벨들 및 방향 라벨들에 기반하여 비교된다. 예를 들어, 각각의 쌍의 모션 벡터들은 자신들의 크기들이 모두 크고 자신들의 방향들이 반대가 아니라면 유사하다고 선언된다. 작은 모션 벡터들은 방향적으로 랜덤하게 분포되는 경향이 있기 때문에, 이러한 접근은 작은 크기를 갖는 모션 벡터들의 방향 정보를 간과하게 된다.
모션이 연속적이지 않다고 결정되면, 기준 프레임으로부터의 모션 벡터들은 신뢰성이 없으며 에러가 있는 매크로블록의 모션 벡터를 추정하는데 사용되지 않을 수 있다. 기준 프레임으로부터의 모션 벡터들이 신뢰성 없다면, 상기 프로세스는 블록 2064로 진행하여 현재 프레임에 있는 인접한 매크로블록들에 기반하여 모션 벡터 윈도우를 채운다. 상기 모션이 연속적이면, 상기 프로세스는 블록 2066 및 2067로 진행하여 기준 프레임과 현재 프레임에 모두 기반하여 모션 벡터 윈도우가 생성된다.
블록 2066으로 이동하면, 앵커(anchor) 매크로블록이 기준 프레임에서 선택된다. 하나의 예가 같은 곳에 배치되는 방법에 적용되며, 여기서 앵커 매크로블록은 기준 프레임에서 같은 위치에 있는 매크로블록이다. 이러한 예는 모든 모션 벡터들이 동일한 관련된 모델을 따르는 글로벌 모션 케이스, 또는 현재 프레임 모션 벡터 윈도우와 기준 프레임에서 같은 위치에 있는 모션 벡터 윈도우의 모션 벡터들이 모두 배경(background) 영역에 있는 상황에 적절하다. 움직이는 객체를 갖는 불규칙한 모션에 대하여, 이러한 기법은 에러 은폐 목적으로 예상된 모션 벡터들을 효과적으로 캡처하지 않을 수 있다. 예를 들어, 이전 3×3 윈도우가 정적인 배경 영역에 있고 현재 프레임의 3×3 윈도우가 이동하는 객체를 전체적으로 또는 부분적으로 커버하는 경우에, 같은 곳에 배치되는 방법들에 의해 이전 기준 프레임으로부터 캡처된 모션 벡터들은 관심 있는 이동 객체의 모션 궤적과 관련이 없다. 시간 에러 은폐를 위해 이전 프레임의 이러한 모션 벡터들을 이용하는 것은 열악한 결과들을 출력할 수 있다.
다른 예는 모션 궤적에 따라 앵커 매크로블록을 선택함으로써 이러한 문제점을 해결한다. 이러한 예에서, 현재 P-프레임의 앵커 모션 벡터가 먼저 결정된다. 그 후에 기준 프레임의 앵커 매크로블록은 상기 앵커 모션 벡터에 기반하여 결정된다.
앵커 모션 벡터는 자신의 세 개의 인접 모션 벡터들, 즉, 자신의 좌측 인접 매크로블록으로부터의 모션 벡터, 자신의 상위 인접 매크로블록으로부터의 모션 벡터 및 자신의 상위-우측 인접 매크로블록으로부터의 모션 벡터의 이용 가능성에 기반하여 계산된다. 모션 벡터가 에러가 있는 매크로블록 또는 인트라-코딩된 매크로블록으로부터 온 것이거나, 또는 자신의 서브-파티션의 기준 인덱스 중 임의의 기준 인덱스가 0이 아니면, 모션 벡터는 이용 가능하지 않은 것으로 마킹되며, 그렇지 않으면 이용 가능한 것으로 라벨링된다. 이러한 세 개의 인접한 매크로블록들 중 오직 하나만이 이용 가능하다면, 앵커 모션 벡터는 상기 인접한 이용 가능한 매크로블록으로 지정된다. 그렇지 않으면, 앵커 모션 벡터는 세 개의 인접 모션 벡터들의 이용 가능한 모든 모션 벡터들의 메디안으로 지정된다.
앵커 모션 벡터가 결정되면, 최대-커버링-영역 방법이 기준 프레임에 있는 앵커 매크로블록을 획득하기 위해 적용되며, 최대-커버링-영역 방법은 도 5A 및 도 5B와 관련하여 보다 상세하게 논의될 것이다.
앵커 매크로블록이 결정되면, 블록 2067에서 모션 벡터 윈도우는 기준 프레임 및 현재 P-프레임에 기반하여 선택적으로 채워지며, 이는 도 6과 관련하여 보다 상세하게 논의될 것이다. 이러한 예에서, 모션 벡터 윈도우는 3×3이며, 또한 다른 크기들이 사용될 수도 있다.
블록 2068로 이동하면, 블록 2067에서 생성된 모션 벡터 윈도우 내에 있는 특정한 모션 벡터들을 제거하기 위한 로컬 모션 분류가 수행된다. 모션 벡터 윈도우 내에 있는 각각의 이용 가능한 모션 벡터는 기준 프레임에 있는 앵커 매크로블록의 모션 벡터와 비교되어 이러한 모션 벡터들이 유사한지 여부를 결정하며, 도 4와 관련하여 위에서 논의된 바와 같은 동일한 비교 기준이 적용된다. 모션 벡터 윈도우 내에 있는 모션 벡터가 기준 프레임에 있는 앵커 매크로블록과 유사하지 않으면, 상기 모션 벡터는 이용 가능하지 않은 것으로 마킹된다. 그러므로 상기 모션 벡터는 관심 있는 에러를 가진 매크로블록에 대한 모션 벡터의 추정에 영향을 주지 않는다.
이러한 플로우차트에 도시된 블록들 중 임의의 블록은 생략될 수 있고, 순서가 재배치될 수 있으며, 하나 이상의 다른 블록들과 결합할 수 있다는 것을 유의하도록 한다.
도 5A 및 도 5B는 도 4의 블록 2066에서 앵커 매크로블록을 결정하기 위한 최대-커버링-영역 방법을 나타낸다. 현재 P-프레임에 있는 앵커 모션 벡터(22)는 기준 프레임에서의 영역(24)을 가리킨다. 영역(24)은 많아야 네 개의 매크로블록들 26, 28, 32 및 34를 전체적으로 또는 부분적으로 커버한다. 각각의 커버된 매크로블록에는 앵커 모션 벡터가 가리키는 영역(24)에 의해 자신의 커버된 영역을 표시하는 값이 할당된다. 예를 들어, 앵커 매크로블록은 영역(24)에 의해 가장 많이 커버된 기준 프레임에 있는 매크로블록으로서 선택된다. 둘 이상의 매크로블록들이 영역(24)에 의해 가장 많이 커버되는 경우에, 가장 많이 커버된 이러한 매크로블록들 중 임의의 매크로블록이 앵커 매크로블록으로서 선택될 수 있다. 도 5B에서, 매크로블록(34)은 앵커 매크로블록으로 선택된다.
도 6은 도 4의 블록 2067에서의 모션 벡터 윈도우의 구성을 나타낸다. 모션 벡터 윈도우(70)는 현재 프레임에 있는 에러를 가진 매크로블록(52)을 중심으로 하는 3×3 모션 벡터 윈도우(50)와 기준 프레임에 있는 앵커 매크로블록(42)을 중심으로 하는 3×3 모션 벡터 윈도우(40)에 기반하여 구성된다. 현재 프레임 및 기준 프레임에 있는 모션 벡터가 정확하게 수신되지 않으면, 상기 모션 벡터는 이용 가능하지 않은 것으로 마킹된다. 예를 들어, 도 6에서, 현재 프레임의 매크로블록들 52, 54, 56, 58 및 62는 이용 가능하지 않다. 비-인과적 디코딩의 경우에, 매크로블록들 54, 56, 58 및 62는 이용 가능할 수 있다. 모션 벡터 윈도우(70)의 각각의 블록을 채우기 위해, 대응하는 위치에서 현재 프레임의 모션 벡터가 이용 가능하면 해당 모션 벡터가 사용된다. 그렇지 않고, 대응하는 위치에서 기준 프레임의 모션 벡터가 이용 가능하면 해당 모션 벡터가 사용된다. 대응하는 위치에서 기준 프레임의 모션 벡터와 현재 프레임의 모션 벡터 모두가 이용 가능하지 않으면, 상기 블록은 이용 가능하지 않은 것으로 마킹된다.
도 7A 및 도 7B는 도 4의 블록 2068에서의 동작에 따라 로컬 모션 분류를 수행하는 것이 바람직한 이유를 나타낸다. 도 7A에 도시된 바와 같이, 모션 경계(76)는 기준 프레임 내에 있는 3×3 모션 벡터 윈도우(72)에 존재할 수 있다. 이러한 경우에, 앵커 매크로블록의 모션 벡터(74)와 같이 모션 경계의 동일한 측에 있는 모션 벡터들만이 에러가 있는 매크로블록의 모션 벡터를 추정하기 위해 사용되어야 한다. 도 7A에서, 모션 벡터 윈도우(82)는 위에서 논의된 바와 같이 도 4의 블록 2067에서 생성된다. 로컬 모션 분류 없이, 모션 벡터 윈도우(82)는 에러가 있는 매크로블록의 추정 모션 벡터(86)를 생성하기 위해 사용된다. 일례에서, 도 2의 블록 204에서의 동작과 유사한 프로세스가 추정 모션 벡터를 생성하기 위해 적용된다. 도시된 바와 같이, 추정 모션 벡터(86)는 모션 에지들을 따라서 정확하지 못할 수 있다. 도 7B에서, 모션 벡터 윈도우(82)는 도 4의 블록 2068에 따른 로컬 모션 분류를 통해 추가로 처리된다. 그러므로 모션 경계의 다른 측에 위치한 모션 벡터들은 새로운 모션 벡터 윈도우(90)에서 제거된다. 그 결과, 새로운 윈도우(90)에 기반하여 생성된 추정 모션 벡터(92)는 더욱 정확하다. 이러한 비교는 로컬 인접 매크로블록들의 모션을 결정하고 분류하는 것이 모션 에지들을 따라서 잘못된 모션 벡터들을 추정함으로써 야기되는 객체 불연속을 감소시키는 것을 나타낸다.
도 8은 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법의 다른 일례를 나타내는 플로우차트이다. 상기 방법은 블록 802에서 시작하며, 여기서 제 1 기준 프레임에 대응하는 시간 예측 데이터가 획득된다. 다음으로, 블록 804에서, 제 1 섹션을 추정하기 위해 제 1 기준 프레임이 신뢰성 있는지 여부가 결정된다. 블록 806으로 이동하여, 제 1 기준 프레임이 신뢰성 있다고 결정되면, 멀티미디어 프레임의 제 1 섹션 이외의 하나 이상의 섹션들과 제 1 기준 프레임에 기반하여 에러를 가지고 수신된 제 1 섹션의 추정이 이루어진다. 이러한 블록들의 동작들은 도 1-7과 관련하여 위에서 논의된 것과 유사하다.
도 9는 착신 멀티미디어 데이터 스트림을 디코딩하도록 구성된 디코더의 다른 일례를 나타내는 블록 다이어그램을 나타낸다. 데이터 스트림은 멀티미디어 프레임을 포함하며, 멀티미디어 프레임은 에러를 가지고 수신된 제 1 섹션을 포함한다. 디코더는 획득 모듈(902), 결정 모듈(904), 추정 모듈(906) 및 프로세서(908)를 포함한다. 획득 모듈(902)은 제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하도록 구성된다. 결정 모듈(904)은 제 1 섹션을 추정하기 위해 제 1 기준 프레임이 신뢰성 있는지 여부를 결정하도록 구성된다. 추정 모듈(906)은 제 1 기준 프레임이 신뢰성 있다고 결정되면, 멀티미디어 프레임의 제 1 섹션 이외의 하나 이상의 섹션들과 제 1 기준 프레임에 기반하여 에러를 가지고 수신된 제 1 섹션을 추정하도록 구성된다. 프로세서(908)는 앞에서 논의된 바와 같이 다른 유닛들의 동작을 제어하기 위해 하나 이상의 소프트웨어 애플리케이션들을 실행하도록 구성된다. 다른 예들에서, 프로세서(908)는 제거될 수도 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양하고 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명을 통해 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심벌들 및 칩들은 전압들, 전류들, 전자기파들, 자기장 또는 입자들, 광학장 또는 입자들, 또는 이들의 결합에 의해 표현될 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 또한 여기에 제시된 실시예들과 관련하여 설명된 다양한 논리 블록들, 모듈들 및 알고리즘 단계들이 전자적 하드웨어, 컴퓨터 소프트웨어 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 이러한 하드웨어 및 소프트웨어의 상호교환성을 명료하게 설명하기 위해, 다양한 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는 것은 특정한 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 좌우된다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들이 제시된 방법들의 범위를 벗어나는 것으로 해석되어서는 안 된다.
여기에 개시된 실시예들에 따라 설명된 다양한 논리 블록들, 모듈들 및 회로들은 범용 프로세서, 디지털 신호 처리기(DSP), 애플리케이션 특정 집적 회로(ASIC), 필드 프로그래밍 가능한 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능한 논리 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 여기에 설명된 기능들을 수행하기 위해 설계된 이들의 임의의 조합으로 구현될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있으나, 대안적으로 상기 프로세서는 임의의 기존의 프로세서, 제어기, 마이크로컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한, 예를 들어, DSP 및 마이크로프로세서의 결합, 다수의 마이크로프로세서, DSP 코어와 관련된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성과 같은 컴퓨팅 장치들의 결합으로서 구현될 수 있다.
여기에 제시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접적으로 하드웨어로 구현될 수 있거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 구현될 수 있거나 또는 이들의 결합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 이동식 디스크, CD-ROM, 또는 기술적으로 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수 있다. 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체로 정보를 기록할 수 있도록 프로세서에 연결된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 애플리케이션 특정 집적 회로(ASIC) 내에 포함될 수 있다. ASIC은 무선 모뎀 내에 포함될 수 있다. 대안적으로, 프로세서 및 저장 매체는 무선 모뎀 내에 개별적인 컴포넌트들로서 포함될 수 있다.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (90)

  1. 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법으로서,
    제 1 기준 프레임에 대응하는 시간(temporal) 예측 데이터를 획득하는 단계 ― 상기 시간 예측 데이터는 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들을 포함함 ―;
    상기 제 1 기준 프레임 내의 모션 벡터들의 각각의 쌍이 이용 가능하다면 각각의 쌍이 유사한지 여부를 결정하는 단계 ― 모션 벡터들의 각각의 쌍은 상기 멀티미디어 프레임의 모션 벡터, 및 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들 중 같은 위치에 있는(co-located) 모션 벡터를 포함함 ―;
    이용 가능한 쌍들의 수에 대한 유사한 쌍들의 수의 비가 임계값을 초과하는 경우 상기 제 1 기준 프레임이 신뢰성 있다고 결정하는 단계 ― 모션 벡터들의 쌍들 각각은 두 모션 벡터들 모두 정확하게 수신된다면 이용 가능함 ―; 및
    상기 제 1 기준 프레임이 신뢰성 있다고 결정되는 경우, 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들과 상기 제 1 기준 프레임에 기반하여, 상기 에러를 가지고 수신된 제 1 섹션을 추정하는 단계를 포함하는, 멀티미디어 프레임을 처리하는 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 섹션들은 상기 제 1 섹션에 인접한 하나 이상의 섹션들을 포함하는, 멀티미디어 프레임을 처리하는 방법.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    각각의 쌍이 유사한지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 멀티미디어 프레임을 처리하는 방법.
  6. 제 5 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 각각의 쌍이 유사하지 않다고 결정되는, 멀티미디어 프레임을 처리하는 방법.
  7. 제 1 항에 있어서,
    각각의 섹션은 매크로블록인, 멀티미디어 프레임을 처리하는 방법.
  8. 제 1 항에 있어서,
    상기 제 1 기준 프레임이 상기 멀티미디어 프레임에 인접하도록 상기 멀티미디어 프레임을 예측할 하나 이상의 기준 프레임들의 부분들에 대응하는 모션 벡터들을 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들로 스케일링하는 단계를 더 포함하는, 멀티미디어 프레임을 처리하는 방법.
  9. 제 8 항에 있어서,
    상기 스케일링된 모션 벡터들 중 적어도 하나를 평활화(smoothing)하는 단계를 더 포함하는, 멀티미디어 프레임을 처리하는 방법.
  10. 제 9 항에 있어서,
    상기 평활화는 메디안(median) 필터링을 포함하는, 멀티미디어 프레임을 처리하는 방법.
  11. 제 1 항에 있어서,
    각각의 프레임은 복수의 섹션들을 포함하고 각각의 섹션은 동일한 크기의 하나 이상의 베이스 유닛들을 포함하며, 상기 방법은,
    각각의 베이스 유닛에 대응하는 하나의 베이스 모션 벡터를 형성하기 위해 각각의 베이스 유닛의 가변적인 크기들을 갖는 부분들에 대응하는 모션 벡터들을 병합(merging)하는 단계를 더 포함하며, 각각의 베이스 유닛은 픽셀들의 B×A 블록이며 B와 A는 정수인, 멀티미디어 프레임을 처리하는 방법.
  12. 제 11 항에 있어서,
    상기 모션 벡터들을 병합하는 단계는 단순 평균 및 가중된 평균 중 적어도 하나를 포함하는, 멀티미디어 프레임을 처리하는 방법.
  13. 제 11 항에 있어서,
    병합된 모션 벡터들 중 적어도 하나를 평활화하는 단계를 더 포함하는, 멀티미디어 프레임을 처리하는 방법.
  14. 제 13 항에 있어서,
    상기 평활화는 메디안 필터링을 포함하는, 멀티미디어 프레임을 처리하는 방법.
  15. 제 1 항에 있어서,
    상기 추정하는 단계는,
    상기 제 1 기준 프레임 내에서 앵커(anchor) 섹션을 결정하는 단계;
    상기 제 1 섹션을 중심으로 하는 상기 멀티미디어 프레임의 제 2 모션 벡터 윈도우와 상기 앵커 섹션을 중심으로 하는 상기 제 1 기준 프레임의 제 3 모션 벡터 윈도우로부터의 이용 가능한 모션 벡터들에 기반하여 제 1 모션 벡터 윈도우를 결정하는 단계 ― 상기 제 2 모션 벡터 윈도우는 상기 멀티미디어 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성되고, 상기 제 3 모션 벡터 윈도우는 상기 제 1 기준 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성됨 ―; 및
    상기 제 1 모션 벡터 윈도우 내의 이용 가능한 모션 벡터들을 평활화하는 단계를 더 포함하는, 멀티미디어 프레임을 처리하는 방법.
  16. 제 15 항에 있어서,
    각각의 모션 벡터가 상기 앵커 섹션의 모션 벡터와 유사하지 않으면 해당 모션 벡터가 이용 가능하지 않은 것으로 마킹되도록 상기 제 1 모션 벡터 윈도우를 업데이트하는 단계를 더 포함하는, 멀티미디어 프레임을 처리하는 방법.
  17. 제 16 항에 있어서,
    두 개의 모션 벡터들이 유사하지 않은지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 멀티미디어 프레임을 처리하는 방법.
  18. 제 17 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 두 개의 모션 벡터들이 유사하지 않다고 결정되는, 멀티미디어 프레임을 처리하는 방법.
  19. 제 15 항에 있어서,
    상기 앵커 섹션은 상기 멀티미디어 프레임의 에러를 갖는 제 1 섹션에 대한 대응하는 위치에 있는 섹션으로 선택되는, 멀티미디어 프레임을 처리하는 방법.
  20. 제 15 항에 있어서,
    상기 앵커 섹션은 상기 제 1 기준 프레임에서의 영역과 가장 큰 오버랩을 갖는 상기 제 1 기준 프레임의 섹션에 대응하도록 선택되며, 상기 영역은 예측된 프레임의 앵커 모션 벡터에 의해 포인팅되며, 상기 앵커 모션 벡터는 상기 멀티미디어 프레임 내의 이용 가능한 인접 섹션들의 모션 벡터들에 기반하여 계산되는, 멀티미디어 프레임을 처리하는 방법.
  21. 제 1 항에 있어서,
    상기 제 1 기준 프레임이 신뢰성 없다고 결정된 경우, 상기 제 1 기준 프레임에는 기반하지 않고 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들에 기반하여 상기 제 1 섹션을 추정하는 단계를 더 포함하는, 멀티미디어 프레임을 처리하는 방법.
  22. 제 1 항에 있어서,
    상기 방법은 인과적(causal) 디코딩 프로세스 및 비-인과적 디코딩 프로세스에 모두 적용될 수 있는, 멀티미디어 프레임을 처리하는 방법.
  23. 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법을 수행하도록 구성된 프로세서로서, 상기 방법은,
    제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하는 단계 ― 상기 시간 예측 데이터는 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들을 포함함 ―;
    상기 제 1 기준 프레임 내의 모션 벡터들의 각각의 쌍이 이용 가능하다면 각각의 쌍이 유사한지 여부를 결정하는 단계 ― 모션 벡터들의 각각의 쌍은 상기 멀티미디어 프레임의 모션 벡터, 및 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들 중 같은 위치에 있는 모션 벡터를 포함함 ―;
    이용 가능한 쌍들의 수에 대한 유사한 쌍들의 수의 비가 임계값을 초과하는 경우 상기 제 1 기준 프레임이 신뢰성 있다고 결정하는 단계 ― 모션 벡터들의 쌍들 각각은 두 모션 벡터들 모두 정확하게 수신된다면 이용 가능함 ―; 및
    상기 제 1 기준 프레임이 신뢰성 있다고 결정되는 경우, 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들과 상기 제 1 기준 프레임에 기반하여, 상기 에러를 가지고 수신된 제 1 섹션을 추정하는 단계를 포함하는, 프로세서.
  24. 제 23 항에 있어서,
    상기 하나 이상의 섹션들은 상기 제 1 섹션에 인접한 하나 이상의 섹션들을 포함하는, 프로세서.
  25. 삭제
  26. 삭제
  27. 제 23 항에 있어서,
    각각의 쌍이 유사한지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 프로세서.
  28. 제 27 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 각각의 쌍이 유사하지 않다고 결정되는, 프로세서.
  29. 제 23 항에 있어서,
    각각의 섹션은 매크로블록인, 프로세서.
  30. 제 23 항에 있어서,
    상기 방법은 상기 제 1 기준 프레임이 상기 멀티미디어 프레임에 인접하도록 상기 멀티미디어 프레임을 예측할 하나 이상의 기준 프레임들의 부분들에 대응하는 모션 벡터들을 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들로 스케일링하는 단계를 더 포함하는, 프로세서.
  31. 제 30 항에 있어서,
    상기 방법은 상기 스케일링된 모션 벡터들 중 적어도 하나를 평활화하는 단계를 더 포함하는, 프로세서.
  32. 제 31 항에 있어서,
    상기 평활화는 메디안 필터링을 포함하는, 프로세서.
  33. 제 23 항에 있어서,
    각각의 프레임은 복수의 섹션들을 포함하고 각각의 섹션은 동일한 크기의 하나 이상의 베이스 유닛들을 포함하며, 상기 방법은,
    각각의 베이스 유닛에 대응하는 하나의 베이스 모션 벡터를 형성하기 위해 각각의 베이스 유닛의 가변적인 크기들을 갖는 부분들에 대응하는 모션 벡터들을 병합하는 단계를 더 포함하며, 각각의 베이스 유닛은 픽셀들의 B×A 블록이며 B와 A는 정수인, 프로세서.
  34. 제 33 항에 있어서,
    상기 모션 벡터들을 병합하는 단계는 단순 평균 및 가중된 평균 중 적어도 하나를 포함하는, 프로세서.
  35. 제 33 항에 있어서,
    상기 방법은 병합된 모션 벡터들 중 적어도 하나를 평활화하는 단계를 더 포함하는, 프로세서.
  36. 제 35 항에 있어서,
    상기 평활화는 메디안 필터링을 포함하는, 프로세서.
  37. 제 23 항에 있어서,
    상기 추정하는 단계는,
    상기 제 1 기준 프레임 내에서 앵커 섹션을 결정하는 단계;
    상기 제 1 섹션을 중심으로 하는 상기 멀티미디어 프레임의 제 2 모션 벡터 윈도우와 상기 앵커 섹션을 중심으로 하는 상기 제 1 기준 프레임의 제 3 모션 벡터 윈도우로부터의 이용 가능한 모션 벡터들에 기반하여 제 1 모션 벡터 윈도우를 결정하는 단계 ― 상기 제 2 모션 벡터 윈도우는 상기 멀티미디어 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성되고, 상기 제 3 모션 벡터 윈도우는 상기 제 1 기준 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성됨 ―; 및
    상기 제 1 모션 벡터 윈도우 내의 이용 가능한 모션 벡터들을 평활화하는 단계를 더 포함하는, 프로세서.
  38. 제 37 항에 있어서,
    상기 방법은 각각의 모션 벡터가 상기 앵커 섹션의 모션 벡터와 유사하지 않으면 해당 모션 벡터가 이용 가능하지 않은 것으로 마킹되도록 상기 제 1 모션 벡터 윈도우를 업데이트하는 단계를 더 포함하는, 프로세서.
  39. 제 38 항에 있어서,
    두 개의 모션 벡터들이 유사하지 않은지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 프로세서.
  40. 제 39 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 두 개의 모션 벡터들이 유사하지 않다고 결정되는, 프로세서.
  41. 제 37 항에 있어서,
    상기 앵커 섹션은 상기 멀티미디어 프레임의 에러를 갖는 제 1 섹션에 대한 대응하는 위치에 있는 섹션으로 선택되는, 프로세서.
  42. 제 37 항에 있어서,
    상기 앵커 섹션은 상기 제 1 기준 프레임에서의 영역과 가장 큰 오버랩을 갖는 상기 제 1 기준 프레임의 섹션에 대응하도록 선택되며,
    상기 영역은 예측된 프레임의 앵커 모션 벡터에 의해 포인팅되며,
    상기 앵커 모션 벡터는 상기 멀티미디어 프레임 내의 이용 가능한 인접 섹션들의 모션 벡터들에 기반하여 계산되는, 프로세서.
  43. 제 23 항에 있어서,
    상기 방법은 상기 제 1 기준 프레임이 신뢰성 없다고 결정된 경우, 상기 제 1 기준 프레임에는 기반하지 않고 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들에 기반하여 상기 제 1 섹션을 추정하는 단계를 더 포함하는, 프로세서.
  44. 제 23 항에 있어서,
    상기 방법은 인과적 디코딩 프로세스 및 비-인과적 디코딩 프로세스에 모두 적용될 수 있는, 프로세서.
  45. 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하기 위한 장치로서,
    제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하기 위한 수단 ― 상기 시간 예측 데이터는 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들을 포함함 ―;
    상기 제 1 기준 프레임 내의 모션 벡터들의 각각의 쌍이 이용 가능하다면 각각의 쌍이 유사한지 여부를 결정하기 위한 수단 ― 모션 벡터들의 각각의 쌍은 상기 멀티미디어 프레임의 모션 벡터, 및 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들 중 같은 위치에 있는 모션 벡터를 포함함 ―;
    이용 가능한 쌍들의 수에 대한 유사한 쌍들의 수의 비가 임계값을 초과하는 경우 상기 제 1 기준 프레임이 신뢰성 있다고 결정하기 위한 수단 ― 모션 벡터들의 쌍들 각각은 두 모션 벡터들 모두 정확하게 수신된다면 이용 가능함 ―; 및
    상기 제 1 기준 프레임이 신뢰성 있다고 결정되는 경우, 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들과 상기 제 1 기준 프레임에 기반하여, 상기 에러를 가지고 수신된 제 1 섹션을 추정하기 위한 수단을 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  46. 제 45 항에 있어서,
    상기 하나 이상의 섹션들은 상기 제 1 섹션에 인접한 하나 이상의 섹션들을 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  47. 삭제
  48. 삭제
  49. 제 45 항에 있어서,
    각각의 쌍이 유사한지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 멀티미디어 프레임을 처리하기 위한 장치.
  50. 제 49 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 각각의 쌍이 유사하지 않다고 결정되는, 멀티미디어 프레임을 처리하기 위한 장치.
  51. 제 45 항에 있어서,
    각각의 섹션은 매크로블록인, 멀티미디어 프레임을 처리하기 위한 장치.
  52. 제 45 항에 있어서,
    상기 제 1 기준 프레임이 상기 멀티미디어 프레임에 인접하도록 상기 멀티미디어 프레임을 예측할 하나 이상의 기준 프레임들의 부분들에 대응하는 모션 벡터들을 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들로 스케일링하기 위한 수단을 더 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  53. 제 52 항에 있어서,
    상기 스케일링된 모션 벡터들 중 적어도 하나를 평활화하기 위한 수단을 더 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  54. 제 53 항에 있어서,
    상기 평활화하기 위한 수단은 메디안 필터링을 위한 수단을 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  55. 제 45 항에 있어서,
    각각의 프레임은 복수의 섹션들을 포함하고 각각의 섹션은 동일한 크기의 하나 이상의 베이스 유닛들을 포함하며, 상기 장치는,
    각각의 베이스 유닛에 대응하는 하나의 베이스 모션 벡터를 형성하기 위해 각각의 베이스 유닛의 가변적인 크기들을 갖는 부분들에 대응하는 모션 벡터들을 병합하기 위한 수단을 더 포함하며, 각각의 베이스 유닛은 픽셀들의 B×A 블록이며 B와 A는 정수인, 멀티미디어 프레임을 처리하기 위한 장치.
  56. 제 55 항에 있어서,
    상기 모션 벡터들을 병합하기 위한 수단은 단순 평균 및 가중된 평균 중 적어도 하나를 수행하기 위한 수단을 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  57. 제 55 항에 있어서,
    병합된 모션 벡터들 중 적어도 하나를 평활화하기 위한 수단을 더 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  58. 제 57 항에 있어서,
    상기 평활화하기 위한 수단은 메디안 필터링을 위한 수단을 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  59. 제 45 항에 있어서,
    상기 추정하기 위한 수단은,
    상기 제 1 기준 프레임 내에서 앵커 섹션을 결정하기 위한 수단;
    상기 제 1 섹션을 중심으로 하는 상기 멀티미디어 프레임의 제 2 모션 벡터 윈도우와 상기 앵커 섹션을 중심으로 하는 상기 제 1 기준 프레임의 제 3 모션 벡터 윈도우로부터의 이용 가능한 모션 벡터들에 기반하여 제 1 모션 벡터 윈도우를 결정하기 위한 수단 ― 상기 제 2 모션 벡터 윈도우는 상기 멀티미디어 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성되고, 상기 제 3 모션 벡터 윈도우는 상기 제 1 기준 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성됨 ―; 및
    상기 제 1 모션 벡터 윈도우 내의 이용 가능한 모션 벡터들을 평활화하기 위한 수단을 더 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  60. 제 59 항에 있어서,
    각각의 모션 벡터가 상기 앵커 섹션의 모션 벡터와 유사하지 않으면 해당 모션 벡터가 이용 가능하지 않은 것으로 마킹되도록 상기 제 1 모션 벡터 윈도우를 업데이트하기 위한 수단을 더 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  61. 제 60 항에 있어서,
    두 개의 모션 벡터들이 유사하지 않은지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 멀티미디어 프레임을 처리하기 위한 장치.
  62. 제 61 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 두 개의 모션 벡터들이 유사하지 않다고 결정되는, 멀티미디어 프레임을 처리하기 위한 장치.
  63. 제 59 항에 있어서,
    상기 앵커 섹션은 상기 멀티미디어 프레임의 에러를 갖는 제 1 섹션에 대한 대응하는 위치에 있는 섹션으로 선택되는, 멀티미디어 프레임을 처리하기 위한 장치.
  64. 제 59 항에 있어서,
    상기 앵커 섹션은 상기 제 1 기준 프레임에서의 영역과 가장 큰 오버랩을 갖는 상기 제 1 기준 프레임의 섹션에 대응하도록 선택되며,
    상기 영역은 예측된 프레임의 앵커 모션 벡터에 의해 포인팅되며,
    상기 앵커 모션 벡터는 상기 멀티미디어 프레임 내에 있는 이용 가능한 인접 섹션들의 모션 벡터들에 기반하여 계산되는, 멀티미디어 프레임을 처리하기 위한 장치.
  65. 제 45 항에 있어서,
    상기 제 1 기준 프레임이 신뢰성 없다고 결정된 경우, 상기 제 1 기준 프레임에는 기반하지 않고 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들에 기반하여 상기 제 1 섹션을 추정하기 위한 수단을 더 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  66. 제 45 항에 있어서,
    상기 장치는 인과적 디코딩 프로세스 및 비-인과적 디코딩 프로세스에 모두 사용될 수 있는, 멀티미디어 프레임을 처리하기 위한 장치.
  67. 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하는 방법을 컴퓨터가 실행하게 하기 위한 수단을 포함하는 컴퓨터 판독 가능 매체로서, 상기 방법은,
    제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하는 단계 ― 상기 시간 예측 데이터는 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들을 포함함 ―;
    상기 제 1 기준 프레임 내의 모션 벡터들의 각각의 쌍이 이용 가능하다면 각각의 쌍이 유사한지 여부를 결정하는 단계 ― 모션 벡터들의 각각의 쌍은 상기 멀티미디어 프레임의 모션 벡터, 및 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들 중 같은 위치에 있는 모션 벡터를 포함함 ―;
    이용 가능한 쌍들의 수에 대한 유사한 쌍들의 수의 비가 임계값을 초과하는 경우 상기 제 1 기준 프레임이 신뢰성 있다고 결정하는 단계 ― 모션 벡터들의 쌍들 각각은 두 모션 벡터들 모두 정확하게 수신된다면 이용 가능함 ―; 및
    상기 제 1 기준 프레임이 신뢰성 있다고 결정되는 경우, 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들과 상기 제 1 기준 프레임에 기반하여, 상기 에러를 가지고 수신된 제 1 섹션을 추정하는 단계를 포함하는, 컴퓨터 판독 가능 매체.
  68. 제 67 항에 있어서,
    상기 하나 이상의 섹션들은 상기 제 1 섹션에 인접한 하나 이상의 섹션들을 포함하는, 컴퓨터 판독 가능 매체.
  69. 삭제
  70. 삭제
  71. 제 67 항에 있어서,
    각각의 쌍이 유사한지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 컴퓨터 판독 가능 매체.
  72. 제 71 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 각각의 쌍이 유사하지 않다고 결정되는, 컴퓨터 판독 가능 매체.
  73. 제 67 항에 있어서,
    각각의 섹션은 매크로블록인, 컴퓨터 판독 가능 매체.
  74. 제 67 항에 있어서,
    상기 방법은 상기 제 1 기준 프레임이 상기 멀티미디어 프레임에 인접하도록 상기 멀티미디어 프레임을 예측할 하나 이상의 기준 프레임들의 부분들에 대응하는 모션 벡터들을 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들로 스케일링하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  75. 제 74 항에 있어서,
    상기 방법은 상기 스케일링된 모션 벡터들 중 적어도 하나를 평활화하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  76. 제 75 항에 있어서,
    상기 평활화는 메디안 필터링을 포함하는, 컴퓨터 판독 가능 매체.
  77. 제 67 항에 있어서,
    각각의 프레임은 복수의 섹션들을 포함하고 각각의 섹션은 동일한 크기의 하나 이상의 베이스 유닛들을 포함하며, 상기 방법은,
    각각의 베이스 유닛에 대응하는 하나의 베이스 모션 벡터를 형성하기 위해 각각의 베이스 유닛의 가변적인 크기들을 갖는 부분들에 대응하는 모션 벡터들을 병합하는 단계를 더 포함하며, 각각의 베이스 유닛은 픽셀들의 B×A 블록이며 B와 A는 정수인, 컴퓨터 판독 가능 매체.
  78. 제 77 항에 있어서,
    상기 모션 벡터들을 병합하는 단계는 단순 평균 및 가중된 평균 중 적어도 하나를 포함하는, 컴퓨터 판독 가능 매체.
  79. 제 77 항에 있어서,
    상기 방법은 병합된 모션 벡터들 중 적어도 하나를 평활화하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  80. 제 79 항에 있어서,
    상기 평활화는 메디안 필터링을 포함하는, 컴퓨터 판독 가능 매체.
  81. 제 67 항에 있어서,
    상기 추정하는 단계는,
    상기 제 1 기준 프레임 내에서 앵커 섹션을 결정하는 단계;
    상기 제 1 섹션을 중심으로 하는 상기 멀티미디어 프레임의 제 2 모션 벡터 윈도우와 상기 앵커 섹션을 중심으로 하는 상기 제 1 기준 프레임의 제 3 모션 벡터 윈도우로부터의 이용 가능한 모션 벡터들에 기반하여 제 1 모션 벡터 윈도우를 결정하는 단계 ― 상기 제 2 모션 벡터 윈도우는 상기 멀티미디어 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성되고, 상기 제 3 모션 벡터 윈도우는 상기 제 1 기준 프레임의 적어도 일부 섹션들에 대한 모션 벡터들로부터 형성됨 ―; 및
    상기 제 1 모션 벡터 윈도우 내의 이용 가능한 모션 벡터들을 평활화하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  82. 제 81 항에 있어서,
    상기 방법은 각각의 모션 벡터가 상기 앵커 섹션의 모션 벡터와 유사하지 않으면 해당 모션 벡터가 이용 가능하지 않은 것으로 마킹되도록 상기 제 1 모션 벡터 윈도우를 업데이트하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  83. 제 82 항에 있어서,
    두 개의 모션 벡터들이 유사하지 않은지 여부는 두 모션 벡터들 모두의 크기 및 두 모션 벡터들 모두의 방향 중 적어도 하나에 기반하여 결정되는, 컴퓨터 판독 가능 매체.
  84. 제 83 항에 있어서,
    두 모션 벡터들 모두의 크기가 크고 두 모션 벡터들 모두의 방향이 반대인 경우에만 두 개의 모션 벡터들이 유사하지 않다고 결정되는, 컴퓨터 판독 가능 매체.
  85. 제 81 항에 있어서,
    상기 앵커 섹션은 상기 멀티미디어 프레임의 에러를 갖는 제 1 섹션에 대한 대응하는 위치에 있는 섹션으로 선택되는, 컴퓨터 판독 가능 매체.
  86. 제 81 항에 있어서,
    상기 앵커 섹션은 상기 제 1 기준 프레임에서의 영역과 가장 큰 오버랩을 갖는 상기 제 1 기준 프레임의 섹션에 대응하도록 선택되며, 상기 영역은 예측된 프레임의 앵커 모션 벡터에 의해 포인팅되며, 상기 앵커 모션 벡터는 상기 멀티미디어 프레임 내에 있는 이용 가능한 인접 섹션들의 모션 벡터들에 기반하여 계산되는, 컴퓨터 판독 가능 매체.
  87. 제 67 항에 있어서,
    상기 방법은 상기 제 1 기준 프레임이 신뢰성 없다고 결정된 경우, 상기 제 1 기준 프레임에는 기반하지 않고 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들에 기반하여 상기 제 1 섹션을 추정하는 단계를 더 포함하는, 컴퓨터 판독 가능 매체.
  88. 제 67 항에 있어서,
    상기 방법은 인과적 디코딩 프로세스 및 비-인과적 디코딩 프로세스에 모두 적용될 수 있는, 컴퓨터 판독 가능 매체.
  89. 에러를 가지고 수신된 제 1 섹션을 포함하는 멀티미디어 프레임을 처리하기 위한 장치로서,
    제 1 기준 프레임에 대응하는 시간 예측 데이터를 획득하도록 구성된 시간 예측 데이터 생성기 ― 상기 시간 예측 데이터는 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들을 포함함 ―;
    상기 제 1 기준 프레임 내의 모션 벡터들의 각각의 쌍이 이용 가능하다면 각각의 쌍이 유사한지 여부를 결정하고 ― 모션 벡터들의 각각의 쌍은 상기 멀티미디어 프레임의 모션 벡터, 및 상기 제 1 기준 프레임의 부분들에 대응하는 모션 벡터들 중 같은 위치에 있는 모션 벡터를 포함함 ―, 이용 가능한 쌍들의 수에 대한 유사한 쌍들의 수의 비가 임계값을 초과하는 경우 상기 제 1 기준 프레임이 신뢰성 있다고 결정하도록 구성된 프레임 모션 변화 탐지기 ― 모션 벡터들의 쌍들 각각은 두 모션 벡터들 모두 정확하게 수신된다면 이용 가능함 ―; 및
    상기 제 1 기준 프레임이 신뢰성 있다고 결정되는 경우, 상기 멀티미디어 프레임의 상기 제 1 섹션 이외의 하나 이상의 섹션들과 상기 제 1 기준 프레임에 기반하여, 상기 에러를 가지고 수신된 제 1 섹션을 추정하도록 구성된 모션 벡터 추정기를 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
  90. 제 89 항에 있어서,
    상기 하나 이상의 섹션들은 상기 제 1 섹션과 인접한 하나 이상의 섹션들을 포함하는, 멀티미디어 프레임을 처리하기 위한 장치.
KR1020077023216A 2005-03-10 2006-03-10 P-프레임에 대한 시간 에러 은폐 방법 및 장치 KR100926205B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US66086705P 2005-03-10 2005-03-10
US60/660,867 2005-03-10
US68027705P 2005-05-11 2005-05-11
US60/680,277 2005-05-11

Publications (2)

Publication Number Publication Date
KR20070110549A KR20070110549A (ko) 2007-11-19
KR100926205B1 true KR100926205B1 (ko) 2009-11-09

Family

ID=36588932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077023216A KR100926205B1 (ko) 2005-03-10 2006-03-10 P-프레임에 대한 시간 에러 은폐 방법 및 장치

Country Status (10)

Country Link
US (1) US8693540B2 (ko)
EP (1) EP1856918B1 (ko)
JP (1) JP2008533845A (ko)
KR (1) KR100926205B1 (ko)
CN (1) CN101189884B (ko)
AT (1) ATE439742T1 (ko)
DE (1) DE602006008436D1 (ko)
ES (1) ES2330142T3 (ko)
TW (1) TW200706011A (ko)
WO (1) WO2006099087A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2362533A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
WO2006099082A2 (en) * 2005-03-10 2006-09-21 Qualcomm Incorporated Content adaptive multimedia processing
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
ATE456256T1 (de) * 2005-03-10 2010-02-15 Qualcomm Inc Decoder-architektur für optimiertes fehlermanagement in multimedia-strömen
US7660354B2 (en) * 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
US8018998B2 (en) * 2005-05-20 2011-09-13 Microsoft Corporation Low complexity motion compensated frame interpolation method
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
FR2898459B1 (fr) * 2006-03-08 2008-09-05 Canon Kk Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US8509313B2 (en) * 2006-10-10 2013-08-13 Texas Instruments Incorporated Video error concealment
JP4427086B2 (ja) * 2006-12-27 2010-03-03 パナソニック株式会社 動画像復号化装置
KR100855976B1 (ko) * 2007-02-02 2008-09-02 삼성전자주식회사 배경과 이동 객체를 분리하여 움직임을 추정하는 프레임보간 장치 및 프레임 보간 방법
KR101366244B1 (ko) * 2007-04-24 2014-02-21 삼성전자주식회사 레지듀얼 데이터를 이용한 영상의 에러 은닉 방법 및 장치
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8848793B2 (en) * 2007-10-31 2014-09-30 Broadcom Corporation Method and system for video compression with integrated picture rate up-conversion
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
JP5248632B2 (ja) * 2010-01-14 2013-07-31 インテル コーポレイション 動き推定のための技術
US20110249127A1 (en) * 2010-04-07 2011-10-13 Cisco Technology, Inc. Estimating Video Quality Corruption in Lossy Networks
JP5721851B2 (ja) 2010-12-21 2015-05-20 インテル・コーポレーション Dmvd処理のシステムおよび方法の改善
GB2488816A (en) * 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
ES2960089T3 (es) 2012-06-08 2024-02-29 Samsung Electronics Co Ltd Procedimiento y aparato para la ocultación de errores de trama y procedimiento y aparato para la decodificación de audio
JP6434411B2 (ja) 2012-09-24 2018-12-05 サムスン エレクトロニクス カンパニー リミテッド フレームエラー隠匿方法及びその装置、並びにオーディオ復号化方法及びその装置
EP2998934B1 (en) * 2013-05-16 2020-08-05 Sony Corporation Image processing device, image processing method, and program
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
CN108600749B (zh) * 2015-08-29 2021-12-28 华为技术有限公司 图像预测的方法及设备
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
US11272198B2 (en) * 2019-01-30 2022-03-08 Tencent America LLC Method and apparatus for improved sub-block partitioning intra sub-partitions coding mode

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4301466A (en) 1980-02-01 1981-11-17 Ampex Corporation Fast acting phase shifting apparatus for use in digital sampling systems
JPS622747A (ja) 1985-06-28 1987-01-08 Toshiba Corp 受信制御方式
US5504732A (en) 1990-08-15 1996-04-02 Del Mar Avionics Null inflection detection and pulse expand latch in an optical recording system
US5241546A (en) 1991-02-01 1993-08-31 Quantum Corporation On-the-fly error correction with embedded digital controller
JP3213389B2 (ja) 1992-07-24 2001-10-02 ローム株式会社 時分割多重通信装置
US6546441B1 (en) * 1993-01-26 2003-04-08 Logic Controls, Inc. Point-of-sale system
US5878217A (en) 1994-11-21 1999-03-02 Cirrus Logic, Inc. Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
US5633870A (en) 1995-07-07 1997-05-27 Sun Microsystems, Inc. Method and apparatus for controlling data flow through an ATM interface
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
US6026506A (en) 1997-09-26 2000-02-15 International Business Machines Corporation Concealing errors in transport stream data
US6335985B1 (en) * 1998-01-07 2002-01-01 Kabushiki Kaisha Toshiba Object extraction apparatus
KR100299132B1 (ko) 1998-03-31 2001-10-29 윤종용 서비스 품질에 따른 프레임 데이터 처리를 위한 터보 부호화/복호화 장치 및 그 방법
KR100377939B1 (ko) 1998-09-01 2003-06-12 삼성전자주식회사 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법
US6490705B1 (en) 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6553540B1 (en) 1998-12-07 2003-04-22 Telefonaktiebolaget Lm Ericsson Efficient system and method for forward error correction
US20020063807A1 (en) 1999-04-19 2002-05-30 Neal Margulis Method for Performing Image Transforms in a Digital Display System
JP3411234B2 (ja) 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP4269409B2 (ja) 1999-05-19 2009-05-27 ソニー株式会社 受信装置および方法
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6530009B1 (en) 2000-03-13 2003-03-04 Roxio, Inc. Methods for increasing file storage capacity of optical discs
KR100833222B1 (ko) 2000-03-29 2008-05-28 삼성전자주식회사 멀티미디어 송수신 장치 및 방법
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US6804494B2 (en) 2001-06-11 2004-10-12 Qualcomm Inc. System and method for the detection and compensation of radio signal time of arrival errors
DE60135036D1 (de) 2001-10-05 2008-09-04 Mitsubishi Electric Corp Verfahren und Vorrichtung zur Kompensation von fehlerhaften Bewegungsvektoren in Bilddaten
KR100418199B1 (ko) 2001-12-31 2004-02-14 트라이콤텍 주식회사 단거리 전용 고속 무선 통신 기반의 차량 탑재 장치
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
EP1337065A1 (en) 2002-02-13 2003-08-20 Telefonaktiebolaget L M Ericsson (Publ) Semi-reliable ARQ method and device thereof
GB2386275B (en) 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
JP4185314B2 (ja) 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
US20060093031A1 (en) 2002-07-31 2006-05-04 Koninkijke Phillips Electronics N.V. Method and apparatus for performing multiple description motion compensation using hybrid predictive codes
EP1395061A1 (en) 2002-08-27 2004-03-03 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensation of erroneous motion vectors in video data
JP3513148B1 (ja) * 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
US7499417B2 (en) 2003-01-07 2009-03-03 Samsung Electronics Co., Ltd. Apparatus and method for controlling an output buffer in a hybrid automatic repeat request (HARQ) mobile communication system
KR100952761B1 (ko) 2003-02-25 2010-04-14 엘지전자 주식회사 시간적 확장성 영상 코딩 장치 및 방법
JP4186705B2 (ja) 2003-05-21 2008-11-26 日本電気株式会社 デジタル放送の補完視聴サービスサーバ、携帯受信機、及びデジタル放送補完視聴サービス方式
KR100621093B1 (ko) 2003-06-03 2006-09-07 삼성전자주식회사 무선 pan상의 어플리케이션에 채널 시간을 할당하는장치 및 방법
US7450610B2 (en) 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
US7221680B2 (en) 2003-09-02 2007-05-22 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
US8599764B2 (en) 2003-09-02 2013-12-03 Qualcomm Incorporated Transmission of overhead information for reception of multiple data streams
AU2004307449C1 (en) 2003-10-24 2009-04-30 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
US8526412B2 (en) 2003-10-24 2013-09-03 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
KR20060096450A (ko) 2003-10-24 2006-09-11 콸콤 인코포레이티드 다수의 데이터 스트림들의 수신을 위한 오버헤드 정보의전송
US8582640B2 (en) 2003-12-16 2013-11-12 Sony Corporation Adaptive joint source channel coding
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
US7323455B2 (en) * 2004-03-24 2008-01-29 Wyeth 7-aryl 1,5-dihydro-4,1-benzoxazepin-2(3H)-one derivatives and their use as progesterone receptor modulators
US7882421B2 (en) 2004-05-06 2011-02-01 Seyfullah Halit Oguz Method and apparatus for joint source-channel map decoding
US7197692B2 (en) 2004-06-18 2007-03-27 Qualcomm Incorporated Robust erasure detection and erasure-rate-based closed loop power control
KR20050120491A (ko) 2004-06-19 2005-12-22 삼성전자주식회사 멀티미디어 방송 시스템에서의 전송 에러 처리방법 및장치
US20060013320A1 (en) 2004-07-15 2006-01-19 Oguz Seyfullah H Methods and apparatus for spatial error concealment
US7929776B2 (en) 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
ATE456256T1 (de) 2005-03-10 2010-02-15 Qualcomm Inc Decoder-architektur für optimiertes fehlermanagement in multimedia-strömen
WO2006099082A2 (en) 2005-03-10 2006-09-21 Qualcomm Incorporated Content adaptive multimedia processing
US7653860B2 (en) 2005-03-10 2010-01-26 Qualcomm Incorporated Transmit driver data communication
US8165167B2 (en) 2005-03-10 2012-04-24 Qualcomm Incorporated Time tracking for a communication system
US7925955B2 (en) 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US7995656B2 (en) 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US20070078021A1 (en) * 2005-10-05 2007-04-05 Larson Darren V Golf game system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 18, no. 10, November 2003(2003-11), pages 907-923

Also Published As

Publication number Publication date
KR20070110549A (ko) 2007-11-19
US20060215761A1 (en) 2006-09-28
TW200706011A (en) 2007-02-01
US8693540B2 (en) 2014-04-08
WO2006099087A1 (en) 2006-09-21
DE602006008436D1 (de) 2009-09-24
EP1856918A1 (en) 2007-11-21
EP1856918B1 (en) 2009-08-12
CN101189884A (zh) 2008-05-28
JP2008533845A (ja) 2008-08-21
CN101189884B (zh) 2012-01-11
ES2330142T3 (es) 2009-12-04
ATE439742T1 (de) 2009-08-15

Similar Documents

Publication Publication Date Title
KR100926205B1 (ko) P-프레임에 대한 시간 에러 은폐 방법 및 장치
KR100930850B1 (ko) 양방향 예측 프레임에 대한 시간적 에러 은닉 방법, 장치, 프로세서, 및 컴퓨터 판독가능 매체
JP5259608B2 (ja) 映像符号化における参照フレームのサーチを軽減する装置及び方法
KR101012624B1 (ko) 통합 에러 은폐 프레임워크를 위한 방법 및 장치
WO2007124491A2 (en) Method and system for video encoding and transcoding
CA2565670A1 (en) Method and apparatus for motion compensated frame rate up conversion
TW200942045A (en) Method for video coding
Kim et al. A selective block encoding scheme based on motion information feedback in distributed video coding
US20090028241A1 (en) Device and method of coding moving image and device and method of decoding moving image
WO2003056838A1 (en) Moving picture compression/coding apparatus and motion vector detection method
Vijayanagar et al. Dynamic GOP size control for low-delay distributed video coding
KR101241508B1 (ko) 분류기를 이용한 움직임 벡터 추정 방법 및 이러한 방법을 사용하는 장치
Abou-Elailah et al. Fusion of global and local side information using support vector machine in transform-domain DVC
WO2009045178A1 (en) A method of transcoding a data stream and a data transcoder
Sakomizu et al. A hierarchical motion smoothing for distributed scalable video coding
CN116828173A (zh) 一种b帧中图像块的帧间预测方向的判决方法及装置
Zhang et al. Yet a faster motion estimation algorithm with directional search strategies
Ko et al. H. 264/AVC error detection scheme using fragile data hiding in motion vector set
Lee et al. Distributed video codec with spatiotemporal side information
Goh et al. Real-time software MPEG-2 TO H. 264 video transcoding
KR20050052756A (ko) 움직임 추정 방법
Sayyad et al. (ICIIECS) adaptive advanced video coding by variable window size & block size
Leung et al. Low bit-rate video coding using 2-D adaptive sampling motion compensation
Yang et al. Decoder motion vector estimation for scalable video error concealment
Cheng et al. A new side information generation scheme for distributed video coding

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11