JP2008533845A - P−フレームのための時間的エラー隠蔽の方法および装置 - Google Patents

P−フレームのための時間的エラー隠蔽の方法および装置 Download PDF

Info

Publication number
JP2008533845A
JP2008533845A JP2008500940A JP2008500940A JP2008533845A JP 2008533845 A JP2008533845 A JP 2008533845A JP 2008500940 A JP2008500940 A JP 2008500940A JP 2008500940 A JP2008500940 A JP 2008500940A JP 2008533845 A JP2008533845 A JP 2008533845A
Authority
JP
Japan
Prior art keywords
motion vector
section
reference frame
frame
motion vectors
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2008500940A
Other languages
English (en)
Inventor
ラビーンドラン、ビジャヤラクシュミ・アール.
シ、ファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008533845A publication Critical patent/JP2008533845A/ja
Pending legal-status Critical Current

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

【課題】P−フレームのための時間的エラー隠蔽の方法および装置。
【解決手段】誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理する方法および装置が開示されている。方法は、第1の基準フレームに対応する時間的予測データを得ることを備える。方法はさらに、第1の基準フレームが第1のセクションを推定するために信頼できるかどうかを決定することを備える。方法はさらに、第1の基準フレームが信頼できると決定される場合は、マルチメディアフレームの第1のセクション以外の1つ以上のセクションおよび第1の基準フレームに基づいて誤って受け取られた第1のセクションを推定することを備える。
【選択図】 図1

Description

(米国特許法119条のもとでの優先権の主張)
本特許出願は、本譲受人に譲渡され、ここに参照することによりここに明示的に組み込まれる、2005年3月10日に出願された「デコーダのための誤り回復の方法(METHOD OF ERROR RECOVERY FOR A DECODER)」と題される米国特許仮出願第60/660,867号、および、2005年3月11日に出願された「P−フレームのための時間的エラー隠蔽の方法および装置 (METHOD AND APPARATUS OF TEMPORAL ERROR CONCEALMENT FOR P-FRAME)」と題される米国特許仮出願第60/680,277号、の優先権を主張する。
(分野)
本発明は、誤り管理を用いてデジタルデータを符号化および復号化するための方法および装置に関係する。
(背景)
インターネットおよび無線通信の広範にわたる使用は、インターネットおよびモバイル/無線通信チャネル上でメディアを流すマルチメディアサービスの需要を増大させている。インターネットプロトコル(IP)ネットワークにおいては、ビデオはサーバーによって提供されることができ、また、1以上の有線または無線のクライアントによって流されることができる。有線接続は、ダイヤルアップ、統合サービスデジタル網(ISDN)、ケーブル、デジタル加入者線プロトコル(集合的にxDSLと呼ばれる)、ファイバー、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)など、を含んでいる。無線通信を利用する電子デバイスは、電話(例、携帯電話)、携帯情報端末(personal data assistants)(PDA)、ハンドヘルドおよびポータブルコンピュータなど、を含んでいる。これらのアプリケーションの全部ではないにしてもほとんどにおいて、帯域幅要件(requirements)及び/又は制限(restrictions)は、「最小の」数のビットの使用により最大の情報を伝えるために、ビデオデータを分析し、定量化し、かつ表わす画像圧縮アルゴリズムを組込むソースエンコーダをビデオ処理が利用することを、必要とする。そのようなアルゴリズムの特性は著しく変動し、それはそれらのパフォーマンス(例えば圧縮効率およびビットレートなど)における大規模な変化へと導く。圧縮アルゴリズムを使用するビデオ処理の特性は、コンテンツに基づいて著しく変わる可能性があり、それは、それらのパフォーマンス(例えば圧縮効率およびビットレートなど)における大規模な変化をもたらす可能性がある。
無線通信チャネルはエラー(error)しがちである。送信されたデータの一部は、データのこの部分が失われるか又は破損されているときは、「誤っている(erroneous)」。画像圧縮は本質的にリダンダンシ(redundancy)を削除するので、圧縮されたデータはクリティカル(critical)である。伝送中のこのデータのどんな誤り部分もデコーダでの再構成されたビデオ品質にインパクトを与える。もし誤りデータが動き補償予測(motion compensated prediction)のための基準フレームの一部である場合は、そのインパクトは悪化し、時間的誤り伝播を引き起こす。
誤って受信されたビットストリームデータに起因して再構成されたビデオ品質へのインパクトを緩和するために、ビデオデコーダは、ビデオ品質を改善するために受信ビデオデータを処理する。これはエラー隠蔽(error concealment)と呼ばれる。エラー隠蔽スキームは、ビデオ信号中に存在する時空間相関性(spatial and temporal correlation)を利用する。従って、これらの方式は空間的あるいは時間的エラー隠蔽(spatial or temporal error concealment)と呼ばれる。
パケット化のタイプおよびチャネルエラー(ビットエラー及び/又はパケットロス)の性質に応じて、1以上のマクロブロックあるいはスライスに関係するデータの全部または部分は、伝送の間、誤っていることがあり得るであろう。マクロブロックの場合、次の1つ以上を含んでいる様々な符号化されたマクロブロックデータは誤っていることがあり得るであろう:すなわち、コーディングモード(インターあるいはイントラ(inter or intra))、動きベクトル(motion vectors)(もしインターであれば)、および変換係数(transform coefficients)。
マクロブロックが誤っているとき、典型的に、上記の情報が全て誤っていると仮定される。インター符号化された(inter-coded)マクロブロックの場合、その動きベクトルおよびレジヂュアル係数(residual coefficients)は誤っている。残余信号(residual signals)が高度に無相関化される(highly de-correlated)ので、それらは隣接するマクロブロックから推定するのが難しい。然しながら、研究は、もし動きベクトルが回復されることができる場合は、再構成されたビデオ品質は大幅に改善されることができることを示した。従って、時間的エラー隠蔽の主要な目標は、その時空間の隣のもの(spatial and temporal neighbors)から誤り動きベクトル(erroneous motion vectors)を推定することである。一旦動きベクトルが構成されれば、動き補償(motion compensation)は、そのあと、0のレジヂュアル係数を備えて構成された動きベクトルを使用して行なわれることができる。
いくつかの現存する時間的エラー隠蔽スキームがあるが、それらは良い結果を提示することができない。更に、それらは、複数の基準フレームおよび可変の動き補償ブロックサイズをサポートするマルチメディアデータストリームと互換性がない。従って、良い結果を達成し、且つより広い互換性を提供する、新しい時間的エラー隠蔽スキームが必要とされている。
[概要]
誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理する方法および装置が開示されている。方法は、第1の基準フレームに対応する時間的予測データを得ることを備える。方法は更に、第1の基準フレームが第1のセクションを推定するために信頼できるかどうかを決定することを備える。方法は更に、もし第1の基準フレームが信頼できると決定される場合は、マルチメディアフレームの第1のセクション以外の1つ以上のセクションと第1の基準フレームとに基づいて、誤って受け取られた第1のセクションを推定することを備える。
[詳細な説明]
以下の記載においては、開示された方法および装置の十分な理解を提供するために特定の詳細が説明される。然しながら、開示された方法および装置は、これらの特定の詳細なしに実行されてもよいことは、当業者によって理解されるだろう。例えば、電子コンポーネントは、不必要な詳細である態様を不明瞭にしないようにブロック図で示されるかもしれない。他のインスタンスでは、そのようなコンポーネント、他の構成および技術が、ある態様を更に説明するために詳細に示されるかもしれない。
ある態様は、フローチャート、フローダイアグラム、構造ダイアグラム、あるいはブロック図として示されるプロセスとして説明されることができるということに注意すべきである。フローチャートは連続するプロセスとしてオペレーションを説明するかもしれないが、オペレーションの多くは、並列にあるいは同時に実行されることができ、また、プロセスは繰り返されることができる。更に、オペレーションの順序は並び替えられることができる。プロセスは、そのオペレーションが完了されるときに、終了する。プロセスは、方法、機能、手続き、サブルーチン、サブプログラムなどに対応するかもしれない。プロセスが機能に対応するときは、その終了は、呼出し機能あるいは主機能への機能のリターンに対応する。
図1は、受信マルチメディアデータストリーム(示されていない)を復号するように構成されたデコーダの一例を説明するブロック図を示す。マルチメディアデータは、ビデオ、オーディオ、グラフィックス、テキスト、および画像を含んだ、しかしこれらに限定されずに、様々な形式であり得る。データは、MPEG−xおよびH.26x標準規格におけるような圧縮されたビデオおよびオーディオ、MPEG−4 AAC、MP3、AMRおよびG.723オーディオあるいは音声圧縮標準規格におけるような圧縮されたオーディオ、あるいは、任意の他のタイプのデジタルデータ、であり得る。データストリームは、電話、ケーブル、そして光ファイバー、あるいは無線ネットワークのような、有線ネットワークを介して受け取られることができる。無線の場合においては、ネットワークは、例えば、符号分割多元接続(CDMAまたはCDMA2000)通信システムの一部を備えることができる、あるいは、システムは、周波数分割多元接続(FDMA)システム、直交周波数分割多重(OFDM)システム、時分割多元接続(TDMA)システム、例えば、GSM/GPRS(汎用パケット無線サービス)/EDGE(拡張されたデータGSM環境)あるいはサービス産業のためのTETRA(地上波基幹無線)モバイル電話技術など、広帯域符号分割多元接続(WCDMA)、高データレート(IxEV−DOあるいはIxEV−DOのゴールドマルチキャスト(Gold Multicast))システム、あるいは一般に技術の組合せを使用する任意の無線通信システム、であることができる。
デコーダ100は、誤りインター符号化データ(erroneous inter-coded data)に対し時間的エラー隠蔽(temporal error concealment)を行なうように構成される。インターあるいは予測コーディング(inter or predictive coding)は、別の画像に関して画像(フィールドあるいはフレーム)を符号化することを指す。本願全体にわたって使用されるインターコード化された画像の例は、(「P−フレーム」と呼ばれる順方向または逆方向に予測された)予測フレーム(predicted frames)である。インターコーディング(inter-coding)のための他の用語は、ハイパスコーディング(high-pass coding)、レジヂュアルコーディング(residual coding)、動き補償補間(motion compensated interpolation)、および当業者によく知られたその他を含んでいる。P−フレーム(あるいは任意のインターコード化されたセクション)は、現在のフレーム中の領域と基準フレーム中のベストマッチング予測領域域(best matching prediction region)との間の時間的リダンダンシ(temporal redundancy)を利用(exploit)できる。現在の領域とベストマッチング基準予測領域の間の差は、残差(residual error)(あるいは予測誤差(prediction error))として知られている。基準フレームにおけるベストマッチング予測領域の位置は、動きベクトル中で符号化されることができる。
デコーダ100はまた、もしI−フレームがシーケンスにおける最初のフレームでないならば、かつ、もし場面変化(scene change)がないならば、ここに開示された時間的隠蔽方法を行なうように構成されることができる。I−フレームは、イントラ符号化されたフレーム(intra-coded frame)を指し、それは、いずれの他のフレームへの参照もなしに符号化されているとして当業者によって理解されている。I−フレームは動き情報を含んでいないので、前のP−フレームからの動き情報は、誤りI−フレームデータを隠蔽にするために使用される。
デコーダ100は、時間的予測データ生成器(temporal prediction data generator)102、フレーム動き変化検出器(frame motion change detector)104、動きベクトル推定器(motion vector estimator)106、メモリ108およびプロセッサ112を備える。時間的予測データ生成器102は、P−フレームが予測されることができる基準フレームに対応する時間的予測データを得るように構成される。フレーム動き変化検出器104は、P−フレームから基準フレームまでの動きにおいて重要な変化(significant change)があるかどうかを検出することによって、誤りマクロブロックを推定するために基準フレームが信頼できるかどうかを決定するように、構成される。マクロブロックは、関連するピクセルのグループであり、そしてこの例においては、16×16ピクセルで構成されている。ピクセルは、8ビットの輝度値(luminance value)(Y)および2つの8ビットのクロミナンス値(chrominance values)(CrとCb)によって定義されることができる。MPEGにおいては、Y、CrおよびCbのコンポーネントは、4:2:0フォーマットで保存されることができ、この場合、CrとCbのコンポーネントは、XおよびY方角に2ずつダウン−サンプリング(down-sampled)される。従って、各マクロブロックは、256のYコンポーネント、64のCrコンポーネントおよび64のCbコンポーネントから成る(consist of)であろう。
動きベクトル推定器106は、基準フレームが信頼できるかどうかに一部基づいた複数の方法のうちの1つで誤りマクロブロックについて動きベクトルを推定するように構成される。プロセッサ112は、任意の適切な汎用の単一−またはマルチ−チップマイクロプロセッサ、あるいは任意の適切な専用マイクロプロセッサ、例えば、デジタル信号プロセッサ、マイクロコントローラ、あるいはプログラマブルゲートアレイなど、であってよい。プロセッサ112は、時間的予測データ生成器102、フレーム動き変化検出器104、および動きベクトル推定器106のオペレーションを制御する1つ以上のソフトウェアアプリケーションを実行するように構成される。プロセッサ112はまた、データを読みとり保存するメモリ108にアクセスするように構成される。ある例においては、時間的予測データ生成器102とフレーム動き変化検出器104のいずれかあるいは両方は取り除かれることができる。
図1の中で示されるような機能ブロックのうちのどんな1つも、デコーダの機能を変更することなく、再配置され、あるいは、1つ以上の他のブロックと結合されることができるということに注意すべきである。
図2は、P−フレームの誤りマクロブロックのための時間的エラー隠蔽の方法の一例を説明するフローチャートである。時間的エラー隠蔽の方法は、P−フレーム中の隣接するマクロブロックと単数又は複数の基準フレーム(reference frame or frames)中のマクロブロックに基づいてP−フレーム中の誤りマクロブロックについての動きベクトルの推定値を導き出す。
方法は、キャジュアルデコーディングプロセス(casual decoding process)あるいは非キャジュアルデコーディングプロセス(non-casual decoding process)で適用されることができる。キャジュアルデコーディングプロセスでは、各マクロブロックは、決定された時間順序で復号される。デコーディングプロセスが次のマクロブロックに移る前に、マクロブロックのデコーディングは完了する。非キャジュアルデコーディングプロセスでは、現在のマクロブロックに続くマクロブロックが復号された後は、現在のマクロブロックのデコーディングは遅らせることができる。
方法200は、オプショナルブロック(optional block)202で始まり、そこにおいて、デコーダは、受信されたP−フレームのマクロブロックが誤っていると決定する。オプショナルブロック204に移って、デコーダは、P−フレームの正確に受けとられたマクロブロックのための動きベクトルを生成する。次にブロック206で、デコーダは、現在のP−フレームから正確に受け取られた動きベクトルと現在のP−フレームの誤りマクロブロックに対応する基準フレームから正確に復号された動きベクトルとの使用により、動きベクトルウィンドウを形成する。この例において、動きベクトルウィンドウは3X3マクロブロックを含んでいるが、しかし、動きベクトルウィンドウは、1つのマクロブロックからそれ以上にサイズで変わることができることが理解される。ブロック204および206は、下記に更に詳細に説明される。
ブロック208に進み、デコーダは、3X3動きベクトルウィンドウの利用可能な動きベクトルに、動きベクトル平滑化(motion vector smoothing)を行ない、そして、誤りマクロブロックについて推定された動きベクトルを生成する。ある例においては、推定動きベクトル(estimate motion vector)は、中央値フィルタリング(median filtering)により得られた3X3ウィンドウにおける利用可能な動きベクトルの中央値(median)である。
中央値フィルタリングは、同時にエッジ(edge)を保持する間にインパルスノイズ(impulse noises)を取り除くために、信号およびイメージ処理において広く使用される。 i=1,2,・・・Nの場合、
Figure 2008533845
の関係の、Nスカラー(SCALARS)のアレイ(array)、X=(x,x,・・・x)についての中央値を得るために、普通は、アレイは最初に
Figure 2008533845
にソートされる(sorted)。そのあと、
Figure 2008533845
におけるエレメントが、アレイの中央値xとして得られる。中央値xは、次のプロパティを満足する。
Figure 2008533845
同様に、i=1,2,・・・Nの場合、
Figure 2008533845
の関係の、Nのm次元ベクトルのアレイ、
Figure 2008533845
については、
Figure 2008533845
が、次の制約:すなわち
Figure 2008533845
を満足するベクトルである。
ここで、pはベクトル間のp−ノルムメトリック(p-norm metrics)を示す。一例においては、p=1が使用される。二次元ベクトル
Figure 2008533845
の場合、
Figure 2008533845
の1−ノルム距離(1-norm distance)は、
Figure 2008533845
である。
動きベクトル中央値フィルタリングが、全ての利用可能な動きベクトルに適用される。もし動きベクトルが、誤りマクロブロックからか、またはイントラ−マクロブロックからであるのであれば、あるいは、そのサブパーティション(sub-partition)のレファレンスインデックス(reference index)のうちのどれもゼロに等しくない場合は、動きベクトルは、利用可能でないものとしてマークされ、そうでなければ、それは利用可能とラベル表示される。
このフローチャートにおいて説明されるブロックのうちのいずれのものも省略され、順序において並び替えられ、あるいは1つ以上の他のブロックと結合されてもよい、ということに注意すべきである。
図3は、図2のブロック204で現在のP−フレームの動きベクトルを生成するプロセスの一例を説明するフローチャートである。ビデオ通信システムのある例は、複数の基準フレームから予測されるP−フレームおよび可変の動き補償ブロックサイズをサポートするデコーダを必要とする。そのような例においては、デコーダへの入力のうちの1つは、可変サイズの各復号されたブロック(decoded block)の動きベクトルである。他の入力は、現在の復号されたフレームからの各送信された動きベクトルのための基準フレームインデックス(ref_idx)である。基準フレームインデックス情報は、各動きベクトルのためのビットストリーム中で伝えられ、現在のフレームとその動きベクトルの基準フレームとの間の距離を示している。一例においては、各マクロブロックについて、7つの有効な動き補償ブロックサイズがある。これらのブロックサイズは、16x16、16x8、8x16、8x8、8x4、4x8、4x4である。現在のP−フレームの動きベクトルを生成するプロセスは、入力動きベクトルを、単一の即時基準フレーム(single immediate reference frame)および一様の補正ブロックサイズ(uniform compensation block size)に基づいた動きベクトルに変換することによって、複数の基準フレームおよび可変の動き補償ブロックサイズのための必要なサポートを提供する。
方法204は、動きベクトルスケーリングが実行されるブロック2042で始まる。動きベクトルスケーリングステップは、動きベクトルが示す現在のフレームと基準フレームとの間の距離に基づいて、入力動きベクトルのスケーリングを実行する。動きベクトルスケーリングの後、全ての動きベクトルは、現在のフレームからその即時基準フレーム(immediate reference frame)、すなわち、現在のフレームの隣接フレーム(adjacent frame)(ref_idx値は0と等しい)まで示される。それ故に、複数の基準フレームは、単一の即時の基準フレームへとスケーリングされる。その即時基準フレームを示された新しい動きベクトルは、次のように特徴づけられることができる:
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で、動きベクトルマージング(motion vector merging)が行なわれる。動きベクトルマージングは、可変のブロックサイズ動きベクトルに必要なサポートを提供する。この動作中に、異なるサイズの入力動きベクトルは、基本単位(base unit)と呼ばれる一様のブロックサイズを表わす動きベクトルに変換される。基本単位のサイズは構成可能である(configurable)。いくつかの例では、16x16基本単位が使用される。
もし基本単位が、より小さなサイズ(単数または複数)のいくつかのスケーリングされた動きベクトルを備える場合、マージングオペレーション(merging operation)が、基本単位の内部の動きベクトルを単一の動きベクトルにマージし(merge)、そして、それを基本単位に割り当てる(assign)ために適用される。然しながら、もしスケーリングされた動きベクトルが基本単位よりも大きい場合は、入力動きベクトルは、いくつかの動きベクトルに分離され、各々が基本単位を表し、そして、各々が、スケーリングされた動きベクトルと同じ動きベクトルを有している。マージングオペレーションを行なうために、様々な例が利用可能である。一例においては、新しい動きベクトルは、基本単位に含まれる小さなサイズ(smaller sizes)のいくつかのスケーリングされた動きベクトルの中間(mean)である。別の例においては、新しい動きベクトルは、基本単位に含まれるいくつかのスケーリングされた動きベクトルのいくつかのスケーリングされた動きベクトルの平均(average)である。ブロック2044の後、すべての正確に復号された動きベクトルは、単一のサイズの基本単位に変換される。
ブロック2046に移って、動きベクトル中央値フィルタリング(motion vector median filtering)が、ブロック2044からの動きベクトル上で実行される。前のブロック2042および2044は、受け取られた動きベクトルフィールドを、均一化されたサイズ(基本単位サイズ)の、単一の基準(全ての動きベクトルは、現在のフレームから即時基準フレームの方を指すようにスケーリングされる)動きフィールドに修正する。動きベクトル中央値フィルタリングは、スケーリングおよびマージングのオペレーションによってもたらされた特異性(singularity)を取り除く(smooth out)ために実行され、それ故に、よりよいエラー隠蔽結果を生み出す。動きベクトル中央値フィルタリングは、図2における上記に論考されたのと同じである。一例では、3X3動きベクトル中央値フィルタリング(VMF)が、各利用可能な動きベクトルに適用される。各利用可能な動きベクトルは、その動きベクトル上で中心にくる3X3ブロックにおける動きベクトルの中央値と取り替えられる。他の例においては、異なるサイズブロックが、動きベクトル中央値フィルタリングを実行するように使用されることができる。
要するに、P−フレームの動きベクトルを生成するプロセスの本例は、可変のブロックサイズの入力動きベクトルを基本単位動きベクトルに変換し、そして、各デコーディングフレームの複数の基準フレームを、基準フレームリストにおける単一の最も小さなインデックス基準フレームに変換する。
このフローチャートにおいて説明されるブロックのうちのいずれのものも、省略され、順序において並び替えられ、あるいは、1つ以上の他のブロックと結合されることができる、ということに注意すべきである。
図4は、図2のブロック206で現在のP−フレームおよび基準フレームに基づいて動きベクトルウィンドウを形成するプロセスの一例を示すフローチャートである。図2に関して論考されるように、このプロセスにおいて生成される動きベクトルウィンドウは、このとき、誤りマクロブロックの動きベクトルの推定を構成するために使用されてもよい。一例では、動きベクトルウィンドウは、マクロブロックの3X3ウィンドウであるが、他のサイズが同様に使用されてもよい。該例において、基準フレームは、現在のP−フレームへの即時基準フレームである、すなわち、現在のP−フレームに隣接するフレームである。他の例では、基準フレームは、現在のP−フレームからさらに離れることができるであろう。方法は、キャジュアルデコーディングプロセスかあるいは非キャジュアルデコーディングプロセスにおいて適用されることができる。
方法206は、ブロック2062で始まり、そこでは、現在のP−フレームおよび基準フレームにおける動きが連続的(continuous)であるかどうかが決定される。もし現在のフレーム中の動きが基準フレーム中の動きから著しく変わらない場合は、その動きは連続的である。
図3における上記に説明されたような方法204に似た方法が、基準フレームの動きベクトルを生成するために適用される。一旦基準フレームの動きベクトルが生成されれば、現在および基準のフレームにおける同一場所に配置される(co-located)動きベクトルの各ペア(pair)は、もしペアが利用可能な場合、現在のフレームおよび基準フレームにおける動きが連続的であるかどうかを決定するために、そのとき比較される。もし両方の動きベクトルが正確に受け取られる場合、1ペアの動きベクトルは利用可能である。2つのフレームにおける類似している動きベクトルのペアのカウント(count)は維持される。もし類似している動きベクトルのカウントが、利用可能な動きベクトルペアのカウントの閾値パーセンテージよりも大きい場合、2つのフレームにおける動きは著しく変わっていない。そうでなければ、フレーム間の動き変化(frame-to-frame motion change)が検出される。例においては、他の数もまた使用されてよいが、閾値パーセンテージは50%である。
各受信動きベクトルは、大きさラベルおよび方向ラベルを与えられる。例において、大きさラベルは、0(小さな大きさ)あるいは1(大きな大きさ)の値を有している。もし動きベクトルの大きさが閾値よりも大きい場合、動きベクトルは、1の大きさラベルを与えられる。例において、大きさラベルを決定するための閾値は2ピクセルであるが、しかし、他の値もまた使用されてよい。例において、方向ラベルは、0、1、2、あるいは3の値を有し、4つの主な方向のうちの1つを表わしている。
2つのフレームにおける同一場所に配置される動きベクトルの各ペアは、それらの大きさラベルおよび方向ラベルに基づいて比較される。例えば、各ペアの動きベクトルは、それらの大きさが両方とも大きくなく、且つ、それらの方向が反対でなければ、類似していると宣言される。小さな動きベクトルは方向的にランダムに分布する傾向があるので、このアプローチは、小さな大きさの動きベクトルの方向性の情報を見落とす(overlooks)。
もし動きが連続的でないと決定される場合は、基準フレームからの動きベクトルは信頼できず、また、誤りマクロブロックの動きベクトルを推定するためには使用されることができない。もし基準フレームからの動きベクトルが信頼できない場合、プロセスはブロック2064に行き、それは、現在のフレームにおける隣接するマクロブロックに基づいて、動きベクトルウィンドウを埋める(fill in)。もし動きが連続的な場合は、プロセスは、ブロック2066および2067に行き、その中で、動きベクトルウィンドウが、基準フレームおよび現在のフレームの両方に基づいて生成される。
ブロック2066に移動して、アンカーマクロブロック(anchor macroblock)が基準フレーム中で選択される。一例は、同一場所に配置される方法(co-located method)を適用し、ここでは、アンカーマクロブロックが、基準フレーム中の同一場所に配置されるマクロブロックである。該例は、全ての動きベクトルが同じアファイン変換のモデル(affine model)に従うグローバルな動き(global motion)のケース、あるいは、現在のフレーム動きベクトルウィンドウ中の動きベクトルと基準フレーム中の同一場所に配置される動きベクトルウィンドウの両方が、バックグラウンド領域(background region)にある状況に、適している。動いているオブジェクト(moving object)を備えた不規則な動きの場合、この技術は、エラー隠蔽目的のために予期された動きベクトルを有効に取り込まないかもしれない。例えば、もし前の3x3ウィンドウが静止の(static)バックグラウンド領域に存在し、現在のフレームの3x3ウィンドウが動いているオブジェクトを完全にあるいは部分的にカバーする場合は、同一場所に配置される方法によって前の基準フレームから取り込まれた動きベクトルは、対象の動いているオブジェクトの動き軌道(motion trajectory of moving object of interest)とは無関係である。時間的エラー隠蔽のための前のフレームからのそのような動きベクトルの利用は、質の劣る結果で終わるかもしれない。
別の例は、動き軌道に応じてアンカーマクロブロックを選択することにより、上記の問題を解決する。この例においては、現在のP−フレームのアンカー動きベクトル(anchor motion vector)が最初に決定される。基準フレームのアンカーマクロブロックは、そのあと、アンカー動きベクトルに基づいて決定される。
アンカー動きベクトルは、その3つの隣接する動きベクトルのアベイラビリテイ(availability)、その左の隣接するマクロブロック(its left neighboring macroblock)からの動きベクトル、その上側の隣接するマクロブロック(its top neighboring macroblock)からの動きベクトル、およびその右上の隣接するマクロブロック(its top- right neighboring macroblock)からの動きベクトル、に基づいて計算される。もし動きベクトルが、誤りマクロブロックからか、またはイントラ符号化されたマクロブロックからであるのであれば、あるいは、そのサブパーティションのレファレンスインデックスのうちのどれもゼロに等しくない場合は、動きベクトルは、利用可能でないものとしてマークされ、そうでなければ、それは利用可能とラベル表示される。もしこれらの隣接する3つのマクロブロックのうちの1つだけが利用可能な場合に、アンカー動きベクトルは、その隣接する利用可能なマクロブロックとして割り当てられる。そうでなければ、アンカー動きベクトルは、その3つの隣接する動きベクトルの全ての利用可能な動きベクトルの中央値として割り当てられる。
図5Aおよび5Bに関してより詳細に論考されるように、一旦アンカー動きベクトルが決定されれば、最大カバーエリア方法(most-covered-area method)が、基準フレームにおけるアンカーマクロブロックを得るために適用される。
図6に関してより詳細に論考されるように、一旦アンカーマクロブロックが決定されれば、動きベクトルウィンドウは、ブロック2067で、基準フレームおよび現在のP−フレームに基づいて、選択的に埋められる。例において、動きベクトルウィンドウは3X3であるが、しかし、他のサイズもまた使用されることができる。
ブロック2068に移って、ローカル動き分類(local motion classification)が、ブロック2067中で生成された動きベクトルウィンドウ内の、ある動きベクトル(certain motion vectors)を取り除くために行なわれる。図4における上記に論考されたような同じ比較基準(comparison criterion)に従って、これらの動きベクトルが類似しているかどうかを決定するために、動きベクトルウィンドウ内の各利用可能な動きベクトルは、基準フレーム中のアンカーマクロブロックの動きベクトルと比較される。もし動きベクトルが基準フレームにおけるアンカーマクロブロックに類似していない場合は、動きベクトルウィンドウ内の動きベクトルは、利用できないとしてマークされる。従って、動きベクトルは、対象の誤りマクロブロックのための動きベクトルの推定には影響しない。
このフローチャートにおいて説明されるブロックのうちのいずれのものも省略され、順序において並び替えられ、あるいは1つ以上の他のブロックと結合されてもよい、ということに注意すべきである。
図5Aおよび5Bは、図4のブロック2066でアンカーマクロブロックを決定するための最大カバーエリア方法を説明する。現在のP−フレームにおけるアンカー動きベクトル22は、基準フレームのエリア24を示している(points)。エリア24は、4つのマクロブロック26、28、32、および34を完全にあるいは多くても部分的にカバーする。各カバーされたマクロブロックは、アンカー動きベクトルポイントが示すエリア24によるそのカバーされたエリアを表わす値を、割り当てられる。例えば、アンカーマクロブロックは、基準フレーム中のマクロブロックがエリア24によって非常に多く(most)カバーされるように、選択されている。1つよりも多くのマクロブロックがエリア24によって非常に多くカバーされる場合において、非常に多くカバーされるこれらのマクロブロックのうちの任意の1つが、アンカーマクロブロックとして選択されることができる。図5Bでは、マクロブロック34が別のアンカーマクロブロックとして選択されている。
図6は、図4のブロック2067の動きベクトルウィンドウの構成を説明する。動きベクトルウィンドウ70は、現在のフレーム中の誤りマクロブロック52を中心に置いた3X3動きベクトルウィンドウ50と、基準フレーム中のアンカーマクロブロック42を中心に置いた3X3動きベクトルウィンドウ40とに基づいて、構成されている。もし動きベクトルが正確に受け取られない場合は、現在および基準のフレームにおける動きベクトルは、利用可能でないとマークされる。図6においては、例えば、現在のフレームのマクロブロック52、54、56、58および62は利用可能でない。非キャジュアルデコーディングの一例においては、マクロブロック54、56、58、および62のいずれも利用可能であることができる。動きベクトルウィンドウ70の各ブロックを埋めるために、もしそのような動きベクトルが利用可能である場合は、対応する位置での現在のフレームの動きベクトルが使用される。そうでなければ、もしそのような動きベクトルが利用可能である場合は、対応する位置での基準フレームの動きベクトルが使用される。基準フレームの動きベクトルと現在のフレームの動きベクトルが、両方とも、対応する位置で利用可能でないケースにおいては、ブロックは、利用可能でないとしてマークされる。
図7Aおよび7Bは、図4のブロック2068中の動作に応じてローカル動き分類を行なうことが、なぜ望ましいかもしれないかを説明する。図7Aにおいて説明されるように、動き境界(motion boundary)76は、基準フレーム内の3X3動きベクトルウィンドウ72中に存在することができる。その場合においては、アンカーマクロブロックの動きベクトル74として動き境界の同じ側にある動きベクトルだけが、誤りマクロブロックの動きベクトルを推定するために使用されるものとする。図7Aにおいて、動きベクトルウィンドウ82が、上記に論考されたように、図4のブロック2067で生成される。ローカル動き分類なしで、動きベクトルウィンドウ82は、そのとき、誤りマクロブロックの推定動きベクトル(estimate motion vector)86を生成するために使用される。一例においては、図2のブロック204における動作と同様のプロセスが、推定動きベクトルを生成するために適用される。示されるように、推定動きベクトル86は、動きエッジ(motion edges)に沿って正確ではないかもしれない。図7Bにおいて、動きベクトルウィンドウ82は、図4のブロック2068によるローカル動き分類を介して更に処理される。従って、動き境界の反対側に置かれた動きベクトルは、新しい動きベクトルウィンドウ90においては取り除かれる。この結果、新しいウィンドウ90に基づいて生成された、推定された動きベクトル(estimated motion vector)92はより正確である。この比較は、ローカルの隣接するマクロブロックの動きの決定および分類が、動きエッジに沿って間違った動きベクトルを推定することによって引き起こされるオブジェクト不連続(object discontinuities)を減らすことを、説明している。
図8は、誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理する方法の別の例を説明するフローチャートである。方法はブロック802で始まり、そこでは、第1の基準フレームに対応する時間的予測データが得られる。次にブロック804で、第1の基準フレームが第1のセクションを推定するために信頼できるかどうかが決定される。もし第1の基準フレームが信頼できると決定される場合は、ブロック806に移って、誤って受け取られた第1のセクションの推定が、マルチメディアフレームの第1のセクション以外の1つ以上のセクションと第1の基準フレームとに基づいて行われる。これらのブロックの動作は、図1−7における上記の論考に似ている。
図9は、受信マルチメディアデータストリームを復号するように構成されたデコーダの別の例を説明するブロック図を示す。データストリームは、マルチメディアフレームを備えており、それは、誤って受け取られた第1のセクションを更に備える。デコーダは取得するモジュール(obtaining module)902、決定するモジュール(determining module)904、推定するモジュール(estimating module)906、およびプロセッサ908を備える。取得するモジュール902は、第1の基準フレームに対応する時間的予測データを得るように構成される。決定するモジュール904は、第1の基準フレームが第1のセクションを推定するために信頼できるかどうかを決定するように構成される。推定するモジュール906は、第1の基準フレームが信頼できると決定される場合に、マルチメディアフレームの第1のセクション以外の1つ以上のセクションと第1の基準フレームとに基づいて誤って受け取られた第1のセクションを推定するように構成される。プロセッサ908は、上記に論考されたように、他のユニットのオペレーションを制御する1つ以上のソフトウェアアプリケーションを実行するように構成される。他の例においては、プロセッサ908は取り除かれることができる。
当業者は、情報および信号は様々な異なる技術および技法のうちの任意のものを使用して表わされることができることを、理解するだろう。例えば、上記説明全体を通して参照され得るデータ、インストラクション、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光学粒子、またはそれらの任意の組み合わせ、によって表されることが出来る。
当業者は、ここに開示された例に関連して説明された、様々な例示的な、論理ブロック、モジュール、およびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、あるいは両方の組合せとしてインプリメントされることができることを更に認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な例示的な、コンポーネント、ブロック、モジュール、回路、およびステップが、一般に、それらの機能の観点から上記に説明されている。そのような機能が、ハードウェアとしてあるいはソフトウェアとしてインプリメントされるかどうかは、特定のアプリケーションと、全体のシステムに課される設計制約に依存する。熟練者は、各特定のアプリケーションに対し、様々な方法で、説明された機能をインプリメントするかもしれないが、そのようなインプリメンテーションの決定は、開示された方法の範囲からの逸脱を生じさせるものと解釈されるべきではない。
ここに開示された例に関連して記述された様々な説明のための論理ブロック、モジュール、およびサーキットは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)あるいは他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいはここに説明された機能を実行するように設計されたそれらの任意の組み合わせ、を用いてインプリメントされるあるいは実行されることができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、あるいはその他のそのようなコンフィギュレーション、としてインプリメントされることもできる。
ここに開示された例に関連して記述された方法あるいはアルゴリズムのステップは、ハードウェアに直接に、プロセッサによって実行されるソフトウェアモジュールに、あるいは該2つの組合せで直接具現化されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは当技術分野で知られているその他の形態の記憶媒体の中にあってもよい。記憶媒体は、プロセッサが記憶媒体から情報を読み出し、かつ、記憶媒体へ情報を書き込むことができるように、プロセッサに結合される。あるいは、記憶媒体はプロセッサと一体化されてもよい。プロセッサと記憶媒体は、特定用途向け集積回路(ASIC)中に常駐してもよい。ASICは、無線モデム中に常駐してもよい。あるいは、プロセッサと記憶媒体は無線モデム中のディスクリートコンポーネントとして常駐してもよい。
開示された例の上記の説明は、いずれの当業者にも開示された方法および装置を作る又は使用することを可能にするように提供されている。これらの例への様々な修正は、当業者には容易に明らかであろう、そして、ここに定義された原理は他の例に適用されることができる。
図1は、受信マルチメディアデータストリーム(示されていない)を復号するように構成されたデコーダの一例を説明するブロック図を示す。 図2は、P−フレームの誤りマクロブロックのための時間的エラー隠蔽の方法の一例を説明するフローチャートである。 図3は、図2のブロック204で現在のP−フレームの動きベクトルを生成するプロセスの一例を説明するフローチャートである。 図4は、図2のブロック206で現在のP−フレームおよび基準フレームに基づいて動きベクトルウィンドウを形成するプロセスの一例を説明するフローチャートである。 図5Aは、図4のブロック2066でアンカーマクロブロックを決定するための最大カバーエリア方法を説明する。 図5Bは、図4のブロック2066でアンカーマクロブロックを決定するための最大カバーエリア方法を説明する。 図6は、図4のブロック2067の動きベクトルウィンドウの構成を説明する。 図7Aは、図4のブロック2068でローカル動き分類を行なう利点を説明する。 図7Bは、図4のブロック2068でローカル動き分類を行なう利点を説明する。 図8は、誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理する方法の別の例を説明するフローチャートである。 図9は、受信マルチメディアデータストリームを復号するように構成されたデコーダの別の例を説明するブロック図を示す。

Claims (90)

  1. 誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理する方法であって、
    第1の基準フレームに対応する時間的予測データを得ることと、
    前記第1の基準フレームが前記第1のセクションを推定するために信頼できるかどうかを決定することと、
    もし前記第1の基準フレームが信頼できると決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションと前記第1の基準フレームとに基づいて、誤って受け取られた前記第1のセクションを推定することと、
    を備える方法。
  2. 前記の1つ以上のセクションは、前記第1のセクションに隣接する1つ以上のセクションを備える、請求項1記載の方法。
  3. 前記時間的予測データは、前記第1の基準フレームの部分に対応する動きベクトルを備える、請求項1記載の方法。
  4. 前記決定することは、
    前記マルチメディアフレームの動きベクトルと前記第1の基準フレーム内の同一場所に配置される動きベクトルとを含んでいる動きベクトルの各ペアが、もしそのペアが利用可能である場合、類似しているかどうかを決定することと、
    もし前記の利用可能なペアの数に対する前記の類似しているペアの数の比が閾値よりも大きい場合は、前記第1の基準フレームは信頼できると決定することと、
    を更に備えており、
    もし両方の動きベクトルが正しく受け取られる場合は、1つのペアの動きベクトルが利用可能である、
    請求項3記載の方法。
  5. 各ペアが類似しているかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項4記載の方法。
  6. 両方の動きベクトルの前記の大きさが大きく、かつ、前記の動きベクトルの前記の方向が反対である場合のみ、各ペアは類似していないと決定される、請求項5記載の方法。
  7. 各セクションはマクロブロックである、請求項1記載の方法。
  8. 前記第1の基準フレームが前記マルチメディアフレームに隣接するように、前記マルチメディアフレームが予測されるべき1つ以上の基準フレームの部分に対応する前記動きベクトルを、前記第1の基準フレームの部分に対応する動きベクトルにスケーリングすること、を更に備える請求項3記載の方法。
  9. 前記のスケーリングされた動きベクトルの少なくとも1つを平滑化すること、を更に備える請求項8記載の方法。
  10. 前記平滑化することは、中央値フィルタリングをおこなうことを備える、請求項9記載の方法。
  11. 各フレームは複数のセクションを備え、各セクションは同じサイズの1つ以上の基本単位を備え、前記方法は更に、
    前記基本単位に対応する1つの基底動きベクトルを形成するために各基本単位の可変サイズの部分に対応する動きベクトルをマージすること、
    を備え、
    各基本単位はピクセルのN×Mブロックであり、更に、NおよびMは整数である、
    請求項3記載の方法。
  12. 動きベクトルをマージすることは、単純平均すること、重み平均すること、および中央値フィルタリングをおこなうこと、の少なくとも1つを備える、請求項11記載の方法。
  13. 前記のマージされた動きベクトルのうちの少なくとも1つを平滑化すること、を更に備える請求項11記載の方法。
  14. 前記平滑化することは中央値フィルタリング行うことを備える、請求項13記載の方法。
  15. 前記推定することは、
    前記第1の基準フレーム内でアンカーセクションを決定することと、
    前記第1のセクション上で中央に置かれた前記マルチメディアフレームの第2の動きベクトルウィンドウから、および、前記アンカーセクション上で中央に置かれた前記第1の基準フレームの第3の動きベクトルウィンドウから、利用可能な動きベクトルに基づいて第1の動きベクトルウィンドウを決定することと、
    前記第1の動きベクトルウィンドウ内で前記利用可能な動きベクトルの中央値を計算することと、
    を更に備える、請求項3記載の方法。
  16. もし前記動きベクトルが前記アンカーセクションの前記動きベクトルに類似していないのであれば各動きベクトルは利用不可能としてマークされるように、前記第1の動きベクトルウィンドウを更新すること、を更に備える請求項15記載の方法。
  17. 2つの動きベクトルが類似していないかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項16記載の方法。
  18. 両方の動きベクトルの前記の大きさが大きく、かつ、両方の動きベクトルの前記の方向が反対である場合のみ、2つの動きベクトルは類似していないと決定される、請求項17記載の方法。
  19. 前記アンカーセクションは、前記マルチメディアフレームの前記誤った第1のセクションに対応する位置でのセクションであるように選択されている、請求項15記載の方法。
  20. 前記第1の基準フレームのエリアとの最大のオーバーラップを有する前記第1の基準フレームのセクションに前記アンカーセクションが対応するように前記アンカーセクションは選択され、前記エリアは前記の予測されたフレームのアンカー動きベクトルによって示され、前記アンカー動きベクトルは前記マルチメディアフレーム内の利用可能な隣接するセクションの動きベクトルに基づいて計算される、請求項15記載の方法。
  21. もし前記第1の基準フレームが信頼できないと決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションに基づいて、かつ、前記第1の基準フレームには基づかないで、前記第1のセクションを推定すること、を更に備える請求項1記載の方法。
  22. 前記方法は、キャジュアルデコーディングプロセスおよび非キャジュアルデコーディングプロセスの両方において適用されることができる、請求項1記載の方法。
  23. 第1の基準フレームに対応する時間的予測データを得ることと、
    前記第1の基準フレームが第1のセクションを推定するために信頼できるかどうかを決定することと、
    もし前記第1の基準フレームが信頼できると決定される場合は、マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションと前記第1の基準フレームとに基づいて、誤って受け取られた前記第1のセクションを推定することと、
    を備える方法を、
    実行するように構成されたプロセッサ。
  24. 前記の1つ以上のセクションは、前記第1のセクションに隣接する1つ以上のセクションを備える、請求項23記載のプロセッサ。
  25. 前記時間的予測データは、前記第1の基準フレームの部分に対応する動きベクトルを備える、請求項23記載のプロセッサ。
  26. 前記決定することは、
    前記マルチメディアフレームの動きベクトルと前記第1の基準フレーム内の同一場所に配置される動きベクトルとを含んでいる動きベクトルの各ペアが、もしそのペアが利用可能である場合、類似しているかどうかを決定することと、
    もし前記の利用可能なペアの数に対する前記の類似しているペアの数の比が閾値よりも大きい場合は、前記第1の基準フレームは信頼できると決定することと、
    を更に備えており、
    もし両方の動きベクトルが正しく受け取られる場合は、1つのペアの動きベクトルが利用可能である、
    請求項23記載のプロセッサ。
  27. 各ペアが類似しているかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項26記載のプロセッサ。
  28. 両方の動きベクトルの前記の大きさが大きく、かつ、前記の動きベクトルの前記の方向が反対である場合のみ、各ペアは類似していないと決定される、請求項27記載のプロセッサ。
  29. 各セクションはマクロブロックである、請求項23記載のプロセッサ。
  30. 前記方法は、前記第1の基準フレームが前記マルチメディアフレームに隣接するように、前記マルチメディアフレームが予測されるべき1つ以上の基準フレームの部分に対応する前記動きベクトルを、前記第1の基準フレームの部分に対応する動きベクトルにスケーリングすることを更に備える、請求項25記載のプロセッサ。
  31. 前記方法は、前記のスケーリングされた動きベクトルの少なくとも1つを平滑化することを更に備える、請求項30記載のプロセッサ。
  32. 前記平滑化することは、中央値フィルタリングをおこなうことを備える、請求項31記載のプロセッサ。
  33. 各フレームは複数のセクションを備え、各セクションは同じサイズの1つ以上の基本単位を備え、前記方法は更に、
    前記基本単位に対応する1つの基底動きベクトルを形成するために各基本単位の可変サイズの部分に対応する動きベクトルをマージすること、
    を備え、
    各基本単位はピクセルのN×Mブロックであり、更に、NおよびMは整数である、
    請求項25記載のプロセッサ。
  34. 動きベクトルをマージすることは、単純平均すること、重み平均すること、および中央値フィルタリングをおこなうこと、の少なくとも1つを備える、請求項33記載のプロセッサ。
  35. 前記方法は、前記のマージされた動きベクトルのうちの少なくとも1つを平滑化することを更に備える、請求項33記載のプロセッサ。
  36. 前記平滑化することは中央値フィルタリング行うことを備える、請求項35記載のプロセッサ。
  37. 前記推定することは、
    前記第1の基準フレーム内でアンカーセクションを決定することと、
    前記第1のセクション上で中央に置かれた前記マルチメディアフレームの第2の動きベクトルウィンドウから、および、前記アンカーセクション上で中央に置かれた前記第1の基準フレームの第3の動きベクトルウィンドウから、利用可能な動きベクトルに基づいて第1の動きベクトルウィンドウを決定することと、
    前記第1の動きベクトルウィンドウ内で前記利用可能な動きベクトルの中央値を計算することと、
    を更に備える、請求項25記載のプロセッサ。
  38. 前記方法は、もし前記動きベクトルが前記アンカーセクションの前記動きベクトルに類似していないのであれば各動きベクトルが利用不可能としてマークされるように、前記第1の動きベクトルウィンドウを更新することを更に備える、請求項37記載のプロセッサ。
  39. 2つの動きベクトルが類似していないかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項38記載のプロセッサ。
  40. 両方の動きベクトルの前記の大きさが大きく、かつ、両方の動きベクトルの前記の方向が反対である場合のみ、2つの動きベクトルは類似していないと決定される、請求項39記載のプロセッサ。
  41. 前記アンカーセクションは、前記マルチメディアフレームの前記誤った第1のセクションに対応する位置でのセクションであるように選択される、請求項37記載のプロセッサ。
  42. 前記第1の基準フレームのエリアとの最大のオーバーラップを有する前記第1の基準フレームのセクションに前記アンカーセクションが対応するように前記アンカーセクションは選択され、前記エリアは前記の予測されたフレームのアンカー動きベクトルによって示され、前記アンカー動きベクトルは前記マルチメディアフレーム内の利用可能な隣接するセクションの動きベクトルに基づいて計算される、請求項37記載のプロセッサ。
  43. 前記方法は、もし前記第1の基準フレームが信頼できないと決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションに基づいて、かつ、前記第1の基準フレームには基づかないで、前記第1のセクションを推定すること、を更に備える、請求項23記載のプロセッサ。
  44. 前記方法は、キャジュアルデコーディングプロセスおよび非キャジュアルデコーディングプロセスの両方において適用されることができる、請求項23記載のプロセッサ。
  45. 誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理するための装置であって、
    第1の基準フレームに対応する時間的予測データを得るための手段と、
    前記第1の基準フレームが前記第1のセクションを推定するために信頼できるかどうかを決定するための手段と、
    もし前記第1の基準フレームが信頼できると決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションと前記第1の基準フレームとに基づいて、誤って受け取られた前記第1のセクションを推定するための手段と、
    を備える装置。
  46. 前記の1つ以上のセクションは、前記第1のセクションに隣接する1つ以上のセクションを備える、請求項45記載の装置。
  47. 前記時間的予測データは、前記第1の基準フレームの部分に対応する動きベクトルを備える、請求項45記載の装置。
  48. 前記決定するための手段は、
    前記マルチメディアフレームの動きベクトルと前記第1の基準フレーム内の同一場所に配置される動きベクトルとを含んでいる動きベクトルの各ペアが、もしそのペアが利用可能である場合、類似しているかどうかを決定することと、
    もし前記の利用可能なペアの数に対する前記の類似しているペアの数の比が閾値よりも大きい場合は、前記第1の基準フレームは信頼できると決定することと、
    を更に備えており、
    もし両方の動きベクトルが正しく受け取られる場合は、1つのペアの動きベクトルが利用可能である、
    請求項47記載の装置。
  49. 各ペアが類似しているかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項48記載の装置。
  50. 両方の動きベクトルの前記の大きさが大きく、かつ、前記の動きベクトルの前記の方向が反対である場合のみ、各ペアは類似していないと決定される、請求項49記載の装置。
  51. 各セクションはマクロブロックである、請求項45記載の装置。
  52. 前記第1の基準フレームが前記マルチメディアフレームに隣接するように、前記マルチメディアフレームが予測されるべき1つ以上の基準フレームの部分に対応する前記動きベクトルを、前記第1の基準フレームの部分に対応する動きベクトルにスケーリングするための手段、を更に備える請求項47記載の装置。
  53. 前記のスケーリングされた動きベクトルの少なくとも1つを平滑化するための手段、を更に備える請求項52記載の装置。
  54. 前記平滑化するための手段は、中央値フィルタリングをおこなうための手段を備える、請求項53記載の装置。
  55. 各フレームは複数のセクションを備え、各セクションは同じサイズの1つ以上の基本単位を備え、更に、
    前記基本単位に対応する1つの基底動きベクトルを形成するために各基本単位の可変サイズの部分に対応する動きベクトルをマージするための手段、
    を備え、
    各基本単位はピクセルのN×Mブロックであり、更に、NおよびMは整数である、
    請求項47記載の装置。
  56. 前記の動きベクトルをマージするための手段は、単純平均すること、重み平均すること、および中央値フィルタリングをおこなうこと、の少なくとも1つのための手段を備える、請求項55記載の装置。
  57. 前記のマージされた動きベクトルのうちの少なくとも1つを平滑化するための手段、を更に備える請求項55記載の装置。
  58. 前記の平滑化するための手段は、中央値フィルタリングのための手段を備える、請求項57記載の装置。
  59. 前記の推定するための手段は、
    前記第1の基準フレーム内でアンカーセクションを決定するための手段と、
    前記第1のセクション上で中央に置かれた前記マルチメディアフレームの第2の動きベクトルウィンドウから、および、前記アンカーセクション上で中央に置かれた前記第1の基準フレームの第3の動きベクトルウィンドウから、利用可能な動きベクトルに基づいて第1の動きベクトルウィンドウを決定するための手段と、
    前記第1の動きベクトルウィンドウ内で前記利用可能な動きベクトルの中央値を計算するための手段と、
    を更に備える、請求項47記載の装置。
  60. もし前記動きベクトルが前記アンカーセクションの前記動きベクトルに類似していないのであれば各動きベクトルが利用不可能としてマークされるように、前記第1の動きベクトルウィンドウを更新するための手段、を更に備える請求項47記載の装置。
  61. 2つの動きベクトルが類似していないかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項60記載の装置。
  62. 両方の動きベクトルの前記の大きさが大きく、かつ、両方の動きベクトルの前記の方向が反対である場合のみ、2つの動きベクトルは類似していないと決定される、請求項61記載の装置。
  63. 前記アンカーセクションは、前記マルチメディアフレームの前記誤った第1のセクションに対応する位置でのセクションであるように選択される、請求項59記載の装置。
  64. 前記第1の基準フレームのエリアとの最大のオーバーラップを有する前記第1の基準フレームのセクションに前記アンカーセクションが対応するように前記アンカーセクションは選択され、前記エリアは前記の予測されたフレームのアンカー動きベクトルによって示され、前記アンカー動きベクトルは前記マルチメディアフレーム内の利用可能な隣接するセクションの動きベクトルに基づいて計算される、請求項59記載の装置。
  65. もし前記第1の基準フレームが信頼できないと決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションに基づいて、かつ、前記第1の基準フレームには基づかないで、前記第1のセクションを推定するための手段、を更に備える請求項45記載の装置。
  66. 前記装置は、キャジュアルデコーディングプロセスおよび非キャジュアルデコーディングプロセスの両方において適用されることができる、請求項45記載の装置。
  67. 第1の基準フレームに対応する時間的予測データを得ることと、
    前記第1の基準フレームが第1のセクションを推定するために信頼できるかどうかを決定することと、
    もし前記第1の基準フレームが信頼できると決定される場合は、マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションと前記第1の基準フレームとに基づいて、誤って受け取られた前記第1のセクションを推定することと、
    を備える方法を、コンピュータに実行させるための手段
    を具現化するコンピュータ可読媒体。
  68. 前記の1つ以上のセクションは、前記第1のセクションに隣接する1つ以上のセクションを備える、請求項67記載のコンピュータ可読媒体。
  69. 前記時間的予測データは、前記第1の基準フレームの部分に対応する動きベクトルを備える、請求項67記載のコンピュータ可読媒体。
  70. 前記決定することは、
    前記マルチメディアフレームの動きベクトルと前記第1の基準フレーム内の同一場所に配置される動きベクトルとを含んでいる動きベクトルの各ペアが、もしそのペアが利用可能である場合、類似しているかどうかを決定することと、
    もし前記の利用可能なペアの数に対する前記の類似しているペアの数の比が閾値よりも大きい場合は、前記第1の基準フレームは信頼できると決定することと、
    を更に備えており、
    もし両方の動きベクトルが正しく受け取られる場合は、1つのペアの動きベクトルが利用可能である、
    請求項69記載のコンピュータ可読媒体。
  71. 各ペアが類似しているかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項70記載のコンピュータ可読媒体。
  72. 両方の動きベクトルの前記の大きさが大きく、かつ、前記の動きベクトルの前記の方向が反対である場合のみ、各ペアは類似していないと決定される、請求項71記載のコンピュータ可読媒体。
  73. 各セクションはマクロブロックである、請求項67記載のコンピュータ可読媒体。
  74. 前記方法は、前記第1の基準フレームが前記マルチメディアフレームに隣接するように、前記マルチメディアフレームが予測されるべき1つ以上の基準フレームの部分に対応する前記動きベクトルを、前記第1の基準フレームの部分に対応する動きベクトルにスケーリングすることを更に備える、請求項69記載のコンピュータ可読媒体。
  75. 前記方法は、前記のスケーリングされた動きベクトルの少なくとも1つを平滑化することを更に備える、請求項74記載のコンピュータ可読媒体。
  76. 前記平滑化することは、中央値フィルタリングをおこなうことを備える、請求項75記載のコンピュータ可読媒体。
  77. 各フレームは複数のセクションを備え、各セクションは同じサイズの1つ以上の基本単位を備え、前記方法は、更に、
    前記基本単位に対応する1つの基底動きベクトルを形成するために各基本単位の可変サイズの部分に対応する動きベクトルをマージすること、
    を備え、
    各基本単位はピクセルのN×Mブロックであり、更に、NおよびMは整数である、
    請求項69記載のコンピュータ可読媒体。
  78. 前記の動きベクトルをマージすることは、単純平均すること、重み平均すること、および中央値フィルタリングをおこなうこと、の少なくとも1つを備える、請求項77記載のコンピュータ可読媒体。
  79. 前記方法は、前記のマージされた動きベクトルのうちの少なくとも1つを平滑化することを更に備える、請求項77記載のコンピュータ可読媒体。
  80. 前記平滑化することは、中央値フィルタリングをおこなうことを備える、請求項79記載のコンピュータ可読媒体。
  81. 前記推定することは、
    前記第1の基準フレーム内でアンカーセクションを決定することと、
    前記第1のセクション上で中央に置かれた前記マルチメディアフレームの第2の動きベクトルウィンドウから、および、前記アンカーセクション上で中央に置かれた前記第1の基準フレームの第3の動きベクトルウィンドウから、利用可能な動きベクトルに基づいて第1の動きベクトルウィンドウを決定することと、
    前記第1の動きベクトルウィンドウ内で前記利用可能な動きベクトルの中央値を計算することと、
    を更に備える、
    請求項69記載のコンピュータ可読媒体。
  82. 前記方法は、もし前記動きベクトルが前記アンカーセクションの前記動きベクトルに類似していないのであれば各動きベクトルが利用不可能としてマークされるように、前記第1の動きベクトルウィンドウを更新すること、を更に備える、請求項81記載のコンピュータ可読媒体。
  83. 2つの動きベクトルが類似していないかどうかは、両方の動きベクトルの大きさと両方の動きベクトルの方向との少なくとも1つに基づいて決定される、請求項82記載のコンピュータ可読媒体。
  84. 両方の動きベクトルの前記の大きさが大きく、かつ、両方の動きベクトルの前記の方向が反対である場合のみ、2つの動きベクトルは類似していないと決定される、請求項83記載のコンピュータ可読媒体。
  85. 前記アンカーセクションは、前記マルチメディアフレームの前記誤った第1のセクションに対応する位置でのセクションであるように選択される、請求項81記載のコンピュータ可読媒体。
  86. 前記第1の基準フレームのエリアとの最大のオーバーラップを有する前記第1の基準フレームのセクションに前記アンカーセクションが対応するように前記アンカーセクションは選択され、前記エリアは前記の予測されたフレームのアンカー動きベクトルによって示され、前記アンカー動きベクトルは前記マルチメディアフレーム内の利用可能な隣接するセクションの動きベクトルに基づいて計算される、請求項81記載のコンピュータ可読媒体。
  87. 前記方法は、もし前記第1の基準フレームが信頼できないと決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションに基づいて、かつ、前記第1の基準フレームには基づかないで、前記第1のセクションを推定することを更に備える、請求項67記載のコンピュータ可読媒体。
  88. 前記方法は、キャジュアルデコーディングプロセスおよび非キャジュアルデコーディングプロセスの両方において適用されることができる、請求項67記載のコンピュータ可読媒体。
  89. 誤って受け取られた第1のセクションを備えるマルチメディアフレームを処理するための装置であって、
    第1の基準フレームに対応する時間的予測データを得るように構成された時間的予測データ生成器と、
    前記第1の基準フレームが前記第1のセクションを推定するために信頼できるかどうかを決定するように構成されたフレーム動き変化検出器と、
    もし前記第1の基準フレームが信頼できると決定される場合は、前記マルチメディアフレームの前記第1のセクション以外の1つ以上のセクションと前記第1の基準フレームとに基づいて、誤って受け取られた前記第1のセクションを推定するように構成された動きベクトル推定器と、
    を備える装置。
  90. 前記の1つ以上のセクションは、前記第1のセクションに隣接する1つ以上のセクションを備える、請求項89記載のデバイス。
JP2008500940A 2005-03-10 2006-03-10 P−フレームのための時間的エラー隠蔽の方法および装置 Pending JP2008533845A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US66086705P 2005-03-10 2005-03-10
US68027705P 2005-05-11 2005-05-11
PCT/US2006/008489 WO2006099087A1 (en) 2005-03-10 2006-03-10 Method and apparatus of temporal error concealment for p-frame

Publications (1)

Publication Number Publication Date
JP2008533845A true JP2008533845A (ja) 2008-08-21

Family

ID=36588932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008500940A Pending JP2008533845A (ja) 2005-03-10 2006-03-10 P−フレームのための時間的エラー隠蔽の方法および装置

Country Status (10)

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

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096752A (ja) * 2002-08-27 2004-03-25 Mitsubishi Electric Information Technology Centre Europa Bv 動きベクトルを近似する方法、該方法を実行するコンピュータプログラム、該プログラムを記憶するデータ記憶媒体、該方法を実行するように適合した装置、及び該装置を備える受信機

Family Cites Families (57)

* 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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096752A (ja) * 2002-08-27 2004-03-25 Mitsubishi Electric Information Technology Centre Europa Bv 動きベクトルを近似する方法、該方法を実行するコンピュータプログラム、該プログラムを記憶するデータ記憶媒体、該方法を実行するように適合した装置、及び該装置を備える受信機

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
KR100926205B1 (ko) 2009-11-09
EP1856918A1 (en) 2007-11-21
EP1856918B1 (en) 2009-08-12
CN101189884A (zh) 2008-05-28
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) 양방향 예측 프레임에 대한 시간적 에러 은닉 방법, 장치, 프로세서, 및 컴퓨터 판독가능 매체
KR101012624B1 (ko) 통합 에러 은폐 프레임워크를 위한 방법 및 장치
JP5563042B2 (ja) 適応性のあるビデオフレーム補間
EP1747678B1 (en) Method and apparatus for motion compensated frame rate up conversion
JP3636677B2 (ja) ディジタル映像安定化機能を有するデコーダ及びディジタル映像安定化方法
JP2009510939A (ja) 様々な移動モデルを用いた、エンコーダ支援されたフレームレートアップ変換
TW200942045A (en) Method for video coding
Ye et al. Improved side information generation for distributed video coding by exploiting spatial and temporal correlations
Ye et al. Improved side information generation with iterative decoding and frame interpolation for distributed video coding
Chen et al. Spatio-temporal boundary matching algorithm for temporal error concealment
Midya et al. Switchable video error concealment using encoder driven scene transition detection and edge preserving SEC
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
Yang et al. Decoder motion vector estimation for scalable video error concealment
Ye et al. Research Article Improved Side Information Generation for Distributed Video Coding by Exploiting Spatial and Temporal Correlations
Niu et al. A robust error concealment algorithm in wireless networks
Deng An Improved Error Concealment Based on Redundant Motion Vector Information
Qian et al. GM/LM Based Error Concealment for MPEG-4 Video Transmission over High Lossy and Noisy Networks
Wang et al. Multiple-reference frames enhanced weighted boundary matching error concealment algorithm based on H. 264/AVC

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705