JP2008546230A - インバンド誤りパターンを使用する誤り回復のための装置と方法 - Google Patents

インバンド誤りパターンを使用する誤り回復のための装置と方法 Download PDF

Info

Publication number
JP2008546230A
JP2008546230A JP2008511470A JP2008511470A JP2008546230A JP 2008546230 A JP2008546230 A JP 2008546230A JP 2008511470 A JP2008511470 A JP 2008511470A JP 2008511470 A JP2008511470 A JP 2008511470A JP 2008546230 A JP2008546230 A JP 2008546230A
Authority
JP
Japan
Prior art keywords
marker
bitstream
processor
error
erroneous
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
JP2008511470A
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 JP2008546230A publication Critical patent/JP2008546230A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】インバンド誤りパターンを使用する誤り回復のための装置と方法。
【解決手段】マルチメディアデータを復号するための方法および装置が記述される。1つの方法は、符号化されたビットストリームを受信すること、ビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別すること、1つまたはそれより多い誤ったビットを示すマーカを発生すること、および修正されたビットストリームを生成するためにビットストリーム内にマーカを挿入することを含む。この方法は1つまたはそれより多い誤ったビットを示すためのマーカを使用している修正されたビットストリームを復号することをさらに備えることができる。この方法はマーカに遭遇する時に誤り処理手順を開始することをさらに備えることができる。
【選択図】 図5

Description

[35U.S.C.119による優先権の主張]
本特許出願は2005年5月13日提出、仮出願番号第60/680,633号、タイトル“アプリケーション層相互作用および誤りシグナリング(Application Layer Interactions And Error Signaling)”への優先権を主張し、そして2006年4月4日提出、仮出願番号第60/789,273号、タイトル“インバンド誤りパターンを使用する誤り回復(Error Recovery Using In Band Error Patterns)”への優先権を主張し、そしてこれに関して譲受人に譲渡され、引用されてこの中に明確に組み込まれる。
[技術分野]
本発明は手持ち式装置上のストリーミングメディアを実時間符号化するための方法および装置に関する。
インターネットおよび無線通信の爆発的な成長および大成功により、その上インターネットおよび移動体/無線チャネルを介したマルチメディアサービス、ストリーミングメディアに対するますます増加する需要は莫大な注意を引き寄せた。異種インターネットプロトコル(IP)ネットワークでは、ビデオはサーバによって供給され、そして1つまたはそれより多いクライアントによって流されることができる。有線接続はダイヤルアップ、統合サービスディジタルネットワーク(ISDN)、ケーブル、ディジタル加入者線プロトコル(集合的にxDSLと呼ばれる)、ファィバ、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)およびその他を含む。伝送モードはユニキャストまたはマルチキャストのいずれかであることができる。
同類の異種IPネットワークは移動体/無線通信である。移動体/無線チャネルを通したマルチメディア内容の輸送はこれらのチャネルがしばしばマルチパスフェージング、シャドウイング、記号間干渉、およびノイズ妨害により厳しく損なわれるので、非常に魅力的である。移動性および競い合うトラフィックのような何か他の理由もまた帯域幅変動と損失とを引き起こす。チャネルノイズおよびサービスされているユーザ数はチャネル環境の時変特性を決定する。
異種IPネットワークおよび移動通信システムの両者におけるより高いデータ速度およびより高いサービス品質の要求は急速に大きくなりつつある。しかしながら、有限の遅延時間、有限の送信パワー、有限の帯域幅およびマルチパスフェージングのようなファクタは実際のシステムによって処理されるデータ速度を制限し続ける。マルチメディア通信、特に誤りがちな環境では、各復号値の中での誤りは空間的におよび時間的に伝播しているアーチファクト(artifact)を復号に導くことができるので、伝送したメディアの誤り回復力は望ましいサービス品質を提供することにおいて重大である。いろいろな符号化測定値は必要なデータ速度を維持する一方で誤りを最小化するために使用された、しかしながらこれらの技術はすべて、誤りとともにデコーダ側に到着するという問題に悩む。
デコーダによって受信された誤ったビットの数を最小化すること、すなわちそれが起こる時にデータ崩壊を効率的に処理することに対して、向けられた数多くの符号化スキームがある。チャネル符号化、例えば、リード・ソロモン符号化は情報源符号化データの強さを改善するために使用される。結合情報源・チャネル符号化方式はさまざまなレベルの重要性を有する情報源符号化データにさまざまなレベルの誤り保護を供給するために、またはデータパケットを区切ることおよび消滅させることにより使用可能なネットワーク帯域幅への符号化ビデオデータのレート適合をイネーブルにするために使用された。これは共通トランスポートプロトコルが誤ったデータを情報源デコーダに伝送しないからである。
他の技術もまたデータ誤りを処理するために使用される。例えば、可逆可変長符号化(reversible variable length coding)(例えば、MPEG−4における)のような情報源符号化技術は1つまたはそれより多い悪いまたは誤ったビットを有するパケットが受信される時にこのパケットを逆順に復号することによって誤り回復のために使用された。与えられたビット速度について復号されたビデオの品質に翻訳する情報源符号化技術とともに符号化効率には妥協がある。MPEG−1,MPEG−2,MPEG−4(集合的にMPEG−xと呼ばれる)、H.261,H.262,H.263、およびH.264(集合的にH.26xと呼ばれる)のような、ハイブリッド符号化標準はデコーダで誤りを処理する主要な方法としてビットストリーム内の再同期点を使用する。
初期崩壊以上のデータ損失の1つの原因は不正確な符号語の競争に起因する。初期ビット誤り位置の識別は平凡なタスクではなく、典型的にMAC層または物理層コンポーネント内のビット誤り位置の識別をサポートしている特別の構成無しには不可能である。よって、ビットストリーム崩壊の検出時に、デコーダは復号を停止して、次の再同期点を見つけ出すためにビットストリーム内で、そしてかなり大きい量の潜在的に良いデータを抜かす手順で前方に動かさねばならないであろう。原(例えば、認証された)符号語と同じ長さである、種々の符号語の競争は上述された事象のシーケンスに関してあまり問題はないと思われるかもしれないが、これは実際に事実ではない。この種の誤りがデコーダの正確なビットストリームの判断を失敗に導く多くの方法がある。例えば、最近のコーデックではその値がビットストリームの以下の部分のシンタックスに影響を及ぼすビットストリーム内のオブジェクト(圧縮関連パラメータ)がある。よって、そのようなオブジェクトに関する不正確な値は不正確なビットストリームの判断につながるであろう。
既知の誤り処理技術は、デコーダが最も普通のソリューションであるパケットを消滅させることおよび再同期化を用いて、ビット誤りを処理するための限定された能力を有するので、デコーダ利用を役に立たなくする。デコーダをマルチメディアデータ内の誤ったビットに十分にアドレスさせる一方で有効に動作することを続けさせるビットエラーを処理する、改良された方法が必要である。
[概要]
この中に記述された発明の装置および方法の各々はいくつかの局面を有し、それのどの1つもその望ましい特質について単独では責任がない。この発明の範囲を限定すること無しに、それのより目立った特徴は今ここで簡潔に検討されるであろう。この検討を考慮した後に、そして特にタイトル“発明の詳細な説明”のセクションを読んだ後に、人はいかにこの発明の特徴がマルチメディアデータ処理装置および方法に関して改良されたものを提供するかを理解するであろう。
1つの局面では、マルチメディアデータを処理するための方法は符号化されたビットストリームを受信すること、この符号化されたビットストリーム内の誤ったデータを識別すること、この誤ったデータと関連するマーカを発生すること、および修正されたビットストリームを生成するために符号化されたビットストリーム内にマーカを挿入することを含む。この方法は修正されたビットストリームを復号するためにマーカを使用することを含むことができる。この方法はまたもしもマーカが復号の間に遭遇される(encounter)ならば誤り処理を開始することも含む。
もう1つの局面では、マルチメディアデータを処理するための装置はマルチメディアデータの符号化されたビットストリームを受信するように構成された通信コンポーネント、およびビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別する、1つまたはそれより多い誤ったビットを示すマーカを発生する、および修正されたビットストリームを生成するためにビットストリーム内にマーカを挿入するように構成されたプロセッサを含む。この装置はマーカが復号の間に遭遇
する時に誤り処理を開始するようにさらに構成されることができる。装置は修正されたビットストリームを復号するように構成されたデコーダをさらに含むことができ、ここにおいてデコーダはマーカが復号の間に遭遇される時に誤り処理を活性化するためにマーカを使用するようにさらに構成される。
もう1つの局面では、マルチメディアデータを処理するための装置は、符号化されたビットストリームを受信するための手段、ビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別するための手段、1つまたはそれより多い誤ったビットを示すマーカを発生するための手段、および修正されたビットストリームを生成するためにビットストリーム内にマーカを挿入するための手段を含む。
もう1つの局面は、マルチメディアデータを処理するための方法を具体化するためのコンピュータ可読媒体を含み、この方法は符号化されたビットストリームを受信すること、ビットストリーム内の1つまたはそれより多い誤ったデータの位置を識別すること、1つまたはそれより多い誤ったビットを示すマーカを発生すること、および修正されたビットストリームを生成するためにこのビットストリーム内にマーカを挿入することを含む。この方法は修正されたビットストリームを復号することをさらに含むことができ、ここにおいてマーカは1つまたはそれより多い誤ったビットを示すために復号の間使用される。この方法はマーカが復号の間に遭遇する時に誤り処理を開始することをさらに含むことができる。
もう1つの局面はマルチメディアデータを処理するためのプロセッサを含み、このプロセッサは符号化されたビットストリームを受信する、ビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別する、1つまたはそれより多い誤ったビットを示すマーカを発生する、および修正されたビットストリームを生成するためにビットストリーム内にマーカを挿入するように構成されている。プロセッサはまた修正されたビットストリームを復号するようにさらにも構成されることができ、ここにおいてマーカは1つまたはそれより多い誤ったビットを示すために復号の間使用される。プロセッサはもしもマーカが復号の間に遭遇されるならば誤り処理を開始するようにさらに構成されることができる。
[詳細な記載]
以下の記述では、特定の詳細は実施形態の徹底的な理解を提供するために与えられる。しかしながら、実施形態はこれらの特定の詳細無しに実施されてもよいことは当分野の通常の技術者によって理解されるであろう。例えば、回路は不必要な詳細で実施形態を不明瞭にしないためにブロック図で示されてもよい。他の事例では、周知の回路、構造および技術は実施形態を不明瞭にしないために詳細に示されてもよい。
また、実施形態がフローチャート、フロー図、構造図、またはブロック図として描写される手順として記述され得ることは注目される。フローチャートは連続的な手順として動作を記述できるが、多くの動作は並列にまたは同時に実行されることができる。さらに、動作の順序は配列し直されてもよい。手順はそれの動作が終了した時に終わる。手順は方法、機能、処置、サブルーチン、サブプログラム、等に対応してもよい。手順が機能に対応する時は、それの終了はその機能の要求している機能または主要な機能への復帰に対応する。
さらに、この中に開示されたように、“蓄積媒体(storage medium)”は、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク蓄積媒体、光蓄積媒体、フラッシュメモリ装置および/または情報を蓄積するための他の機械可読媒体を含んで、データを蓄積するための1つまたはそれより多い装置を示してもよい。術語“機械可読媒体”は携帯型または固定型蓄積装置、光蓄積装置、無線チャネルおよび命令および/またはデータを蓄積する、含むまたは運ぶ能力があるいろいろな他の媒体を含むが、しかしそれに限定されない。
その上、この中に記述された実施形態はハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれの任意の組合わせによって実施されてもよい。例えば、エンコーダまたはデコーダはハードウェア、ファームウェア、ミドルウェアにおける受信器または送信器内のプロセッサ上に組み込まれてもよく、あるいはデコーダはプロセッサ上で実行されるマイクロコードまたはソフトウェア、あるいはそれの組合わせ内で実施されてもよい。あるいは、エンコーダまたはデコーダは装置のメインプロセッサより他の特殊化されたデコーダコンポーネント上で、ハードウェア、ファームウェア、ミドルウェア内で実施されてもよく、または特殊化されたデコーダコンポーネント上で実行されるマイクロコードまたはソフトウェア内で実施されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコード内で実施された時は、必要なタスクを実行するためのプログラム符号または符号セグメントは蓄積媒体のような機械可読媒体内に蓄積されてもよい。プロセッサはそのような必要なタスクを実行できる。符号セグメントは手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、あるいはプログラム文の任意の組合わせを表すことができる。符号セグメントは情報、データ、アーギュメント、パラメータ、またはメモリ内容をパスすること(passing)および/または受信することによってもう1つの符号セグメントまたはハードウェア回路に連結されてもよい。情報、アーギュメント(argument)、パラメータ(parameter)、データ等はメモリ共有(memory sharing)、メッセージパッシング(message passing)、トークンパッシング(token passing)、ネットワーク伝送(network transmission)等を含む任意の適切な手段によってパス(pass)、転送(forward)、または送信されてもよい。
下に開示された装置の1つまたはそれより多い素子がその装置の動作に影響すること無しに配列し直されてもよいこともまた当分野の技術者には明白でなければならない。同様に、下に開示された装置の1つまたはそれより多い素子はその装置の動作に影響すること無しに結合されてもよい。
以下の詳細な記述はある特定の実施形態に向けられる。しかしながら、この発明は多数の異なる方法で具体化されることができる。この明細書において“1つの実施形態”または“1実施形態”を参照することはこの実施形態に関して記述された特定の特徴、構造、または特性が少なくとも1つの実施形態内に含まれることを意味する。この明細書内のいろいろな所での“1つの実施形態では、”“1つの実施形態に従って、”または“ある実施形態では”の出現は必ずしもすべて同一の実施形態を参照することではなく、相互に他の実施形態を除いた別個のまたは代替の実施形態でもない。さらに、ある実施形態によっては示されるが他のものによっては示されることができないいろいろな特徴が記述される。同様に、ある実施形態のための要求条件ではあり得るが他の実施形態のためではないいろいろな要求条件が記述される。
ストリーミングマルチメディアデータを伝送する通信システム内のデコーダは、間違いのあるまたはロストデータのような、1つまたはそれより多い誤ったビットを含むビットストリームを受信することができる。デコーダがビットストリームを復号している間に誤ったデータに遭遇する時には、復号処理は典型的に回復手順および/または誤り処理手順を使う要求によって中断される。マルチメディアビットストリーム内の誤ったデータを復号することを試みることによって引き起こされた中断を未然に防ぐ、または少なくとも最小にするための改善された復号能力を提供するための方法および装置がこの中に記述される。1つの方法はデコーダによって受信された例えば、物理またはトランスポート層レベルでの、マルチメディアビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別すること、および1つまたはそれより多い誤ったビットを示しているマーカを発生することを含む。誤りマーカは修正されたビットストリームを生成するためにビットストリーム内に挿入される。ビットストリーム内の誤りマーカの挿入はビットストリーム内の“インバンド”であり、よってマーカは初めから受信されたデータに加えて送られ、そして任意の他の層またはサイドチャネル内には送られないことを意味している。例えば、誤りマーカはそのマーカがビットストリーム自身の部分として読まれるようにそのデータ内に順々に挿入されることができる。従って、誤りマーカはアプリケーション層のような、デコーダの上位層に送られるビットストリームの部分となる。
もしもデコーダが修正されたビットストリームを復号している間にマーカに遭遇すれば、誤り処理手順、例えば、誤り隠し(error concealment)、シンタックスチェッキング(syntax checking)を開始することができるか、あるいは単純にそれを消滅させる(drop)(例えば、誤ったデータをスキップするかまたは無視する)。マーカ“インバンド(in-band)”を供給することは効率的なそしてより高速の復号能力をイネーブルにする。以下の記述では、さらなる詳細がインバンド誤りシグナリングパターンの実例と局面との完全な理解およびより速い誤り回復を助けるためにそれの使用を提供するように与えられる。しかしながら、1実例または実施形態内の手順または装置の各詳細がこの中に記述または図示されていなくともこの実例が実行され得ることは当分野の通常の技術者によって理解される。例えば、電気的なコンポーネントは不必要な詳細で実例を不明瞭にしないために、各電気的な接続またはそのコンポーネントの各電気的な素子を図示しないブロック図内に示されてもよい。他の事例では、そのようなコンポーネント、他の構造および技術は実例をさらに説明するために詳細に示されてもよい。
図1Aはマルチメディアデータを処理することの開示された方法および装置を含むことができるストリーミングマルチメディアデータを伝送するための通信システム100の1つの実例のブロック図である。この中で使用されたような“マルチメディアデータ”は(オーディオデータを含むことができる)ビデオデータ、オーディオデータ、グラフ、テキストデータ、写真またはイメージデータ、あるいはそれの任意の組合わせを含む広範な術語である。広範な術語としてこの中で使用されたような“ビデオデータ”または“ビデオ”は、テキストまたは画像情報および/またはオーディオデータを含む一連の画像を指し、そしてもし他方で指定されなければマルチメディアデータ(例えば、この術語は交換可能に使用される)を指すために使用されることができる。
クライアント装置に送信されたマルチメディアデータは典型的に圧縮される。データ処理および操作(この中でハイブリッド符号化と呼ばれる)MPEG−xおよびH.26xとして知られる、2つのビデオ符号化標準は、ビデオ、オーディオおよび固定または可変長ソース符号化技術を使用している他の情報の圧縮および伝送によく適する。システム100は先に参照された標準、および他のハイブリッド符号化標準と技術とを使用することができる。実例となって、マルチメディアデータは(例えば、ランレングス符号化、ハフマン符号化、その他同種類のもののような)フレーム内符号化技術および(例えば、順方向および逆方向予測符号化、動き補償その他同種類のもののような)フレーム間符号化技術を使用して圧縮されることができる。オーディオデータはMPEG−4 AAC,MP3,AMRおよびG.723オーディオまたはボイス圧縮標準内で圧縮されることができる。
システム100はマルチメディア送信器105およびマルチメディア受信器150を含む。送信器105は1つまたはそれより多いメモリコンポーネント115、およびプロセッサ110またはプリプロセッサ(例えば、ARMのような任意のタイプの中央プロセッサユニットCPU)の任意の組合わせ、ディジタル信号プロセッサ(DSP)、ソフトウェア、ファームウェア、およびマルチメディアデータと関連する変調および符号化タスクを割り当てるための、ビデオコアのようなハードウェアを含む複数のプロセッサを含むことができる。送信器105はまた符号化標準、例えば、MPEG−1,MPEG−2,MPEG−4(集合的にMPEG−xと呼ばれる)、H.261,H.262,H.263、またはH.264(集合的にH.26xと呼ばれる)を使用している受信器150への伝送用のデータを符号化するエンコーダ175を含むこともできる。
送信器105はまた、外部ソース125(例えば、インターネット、外部メモリ、または生のビデオおよび/またはオーディオフィード)を含む、いろいろなソースからデータを取得する通信コンポーネント120を含むことができる。送信器105は通信システムを介して受信器150に取得されたデータを送信するために通信コンポーネント120を使用する。通信システムは電話、ケーブル、または光ファイバのような有線ネットワーク135、あるいは無線ネットワーク130であることができる。無線通信システムの場合には、ネットワーク130は、例えば、符号分割多重アクセス(CDMAまたはCDMA2000)通信システムを備えることができるかあるいは交互に、システムは周波数分割多重アクセス(FDMA)システム、直交周波数分割多重アクセス(OFDMA)システム、GSM/GPRS(汎用パケット無線サービス)/EDGE(強化データGSM環境)またはサービス産業用のTETRA(地上中継無線)移動電話技術のような時分割多重アクセス(TDMA)システム、広帯域符号分割多重アクセス(WCDMA)、高速データ(1xEV−DOまたは1xEV−DOゴールドマルチキャスト)システム、あるいは一般に技術の組合わせを使用している任意の無線通信システムを含むことができる。
受信器150は通信コンポーネント155および無線ネットワーク130および/または有線ネットワーク135、例えば無線周波数アンテナまたはネットワーク接続によりデータを受信するための手段を含む。受信器150はまたプロセッサ160、またはプリプロセッサ(例えば、ARMのような任意のタイプの中央プロセッサユニットCPU)の任意の組合わせ、ディジタル信号プロセッサ(DSP)、ソフトウェア、ファームウェア、およびデータを受信して復号することに関連する復調および復号タスクを割り当てるための、ビデオコアのようなハードウェアを含む複数のプロセッサを含むこともできる。受信器150はまた符号化データを発生するために使用された符号化標準と一致する適用可能な復号標準を使用して受信された符号化ビットストリームを復号するデコーダ170を含むこともできる。
図1Bに図示されたように、ある実施形態ではマルチメディア受信器150内のプロセッサ160は図1A内に示された別個のデコーダ170によって実行された復号タスクを実行することができる。プロセッサ160は通信コンポーネント155から符号化されたビットストリームを受信する、このビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別する、1つまたはそれより多い誤ったビットを示すマーカを発生する、および修正されたビットストリームを生成するために符号化されたビットストリーム内にマーカを挿入するように、論理で、例えば、ソフトウェア、ハードウェア、ファームウェアまたはそれの組合わせで構成されることができる。プロセッサ160はまた修正されたビットストリームを復号するように論理で構成されることもでき、ここにおいてマーカは1つまたはそれより多い誤ったビットを示すために復号の間使用される。プロセッサ160はまたもしもマーカが復号の間に遭遇されれば誤り処理を開始するように論理で構成されることもできる。図1Bはまた送信器105内のプロセッサ110がビットストリームを符号化し、そして図1A内に示されたエンコーダ175によって実行された任意の他のタスクを実行するように構成されることができる。
図1Aを再び参照して、受信器150はまた受信データおよび復調/復号手順のいろいろな段階における中間データを蓄積するための1つまたはそれより多いメモリコンポーネント165をも含む。ある実施形態では、(図示されない)ARMプリプロセッサはアンパッキング(ヘッダおよびシグナリングメッセージのような補助情報を取り除くこと)およびオーディオ、ビデオおよびその他を含む複数のビットストリームをデマルチプレクスすることを含む、より複雑でないタスクを実行する。ARMプロセッサはまたビットストリーム分析、誤り検出、誤り隠し、および可変長エントロピー復号を実行することもできる。あるそのような実施形態では、DSPはVLC(可変長符号)符号語の展開、画素係数を空間的に捜し出すためのビデオデータの逆ジグザグ走査、(環境適応エントロピー符号化によるH.264の特徴ではない)MPEG−4ビデオ用の画素係数の逆AC/DC予測、およびオーディオ復号(例えば、MPEG−4 AAC,MP3,AMRまたはG.723)を実行する。ビデオコアは量子化解除、逆変換、補償された動き予測、およびデブロッキング(画素ブロックエッジ間のエッジアーチファクト(edge artifact)を減らすためのフィルタリングの1形式)を具備するビデオ復号のコンピュータ操作上より複雑なタスクを実行できる。
受信器150は誤り処理論理、例えば、誤り検出、誤り隠し、およびシンタックスチェッキングを含む。誤り処理論理は受信器150内でソフトウェア、ハードウェアまたはファームウェアで具体化されることができる。特に、受信器150は受信された符号化ビットストリーム内の1つまたはそれより多い誤ったビットを識別する、ビットストリーム内のどのビットが誤りであるかを示すための適切なマーカを発生する、およびマーカ“インバンド”をそのビットストリーム内に挿入するための誤り処理論理を含む。そのようなマーカの発生、挿入および使用は図2〜6を参照してさらに記述される。ある実施形態では、誤り処理論理はまた誤ったビットを含んでいる全体の誤ったパケットとして識別およびマークすることもできる。誤り処理論理の全部または一部分はデコーダ170、プロセッサ160上に、1つまたはそれより多いメモリコンポーネント165内に、あるいは受信器150内のもう1つの論理装置内にあることができる。1つまたはそれより多い素子はこの発明の範囲から逸脱すること無しに通信システム100に加えられてもよい。
図2は図1Bに図示された送信器105および受信器150においてタスクを分割するために使用されることができる多層プロトコルスタックのブロック図である。プロトコルスタックはそれぞれ、図1Bに図示された送信器105および受信器150に対応する、送信器側および受信器側のためのアプリケーション層205,210、トランスポート層215,220、および物理層225,230を含む。ある実施形態では、これらは標準OSI層構造の部品であってもよい。しかしながら、層はOSI構造に限定されない。それぞれ、送信器105および受信器150内のアプリケーション層205および210は、例えば、ビデオまたはオーディオエンコーダおよび/またはデコーダのような複数のアプリケーションを含むことができる。ある実施形態は同時に復号されることを意味する複数の情報のストリームを含むことができる。これらの場合には、複数のストリームの同期タスクはまたアプリケーション層205および210内でも実行されることができる。アプリケーション層205は無線ネットワーク130または有線ネットワーク135により送信されるビットストリーム内に符号化されたタイミング情報を供給できる。アプリケーション層210は関連するアプリケーションがそれらを同時にまたはほぼ同様に復号するように複数の情報のストリームを解剖することができる。当分野の技術者はこれらの層を認め、そしてそれらの間のいろいろなタスクの割当てを熟知しているであろう。当分野の技術者はまた、ある実施形態に、図2内に示された層が同期層、ストリームまたは媒体アクセス(MAC)制御層、および/または記述された層の1つまたはそれより多い層を含むことをさらに詳細に示され得ることも認めるであろう。
送信器105のトランスポート層215および物理層225は誤り回復力を準備するためにいろいろなスキームを含むことができる。無線ネットワーク130および/または有線ネットワーク135(図1B)のような誤りやすいチャネルは受信器150によって受信されたビットストリーム内に誤りを持ち込むかもしれない。誤り回復力処理は1つのまたは誤り制御符号化スキーム、交錯法スキームおよび他のそのようなスキームを含むことができる。受信器150のトランスポート層220および物理層230は誤りの検出および訂正をイネーブルとする類似の誤り復号を含むことができる。トランスポート層220は誤り分析および/または検出、例えば、順方向誤り訂正および外符号化(outer coding)を実行できる。物理層230はまた含んでいる誤り分析および/または検出をも実行することができる。無線ネットワーク130または有線ネットワーク135によって導入されるかなりの誤りはトランスポート層220または物理層230によって訂正され得ないかもしれない。識別され得るがしかし訂正できない、そして誤ったコンポーネントの再送信を要求するようなソリューションが実行できないこれらの誤りについて、誤ったビットの位置および誤ったビットの数はビットストリーム内に“インバンド”を挿入され、そしてアプリケーション層210まで送られるマーカによって示されることができる。
図3は受信器150へのビットストリームデータとしてパスされる物理層パケット(または“PLP”)の一例を図示する。各パケットはトランスポートヘッダ部305、符号化されたマルチメディアデータを含むボディ部310、および誤りチェック符号、例えば、巡回冗長チェックサム(“CRC”)を含むテール部315を有する。もしも誤ったデータ、例えば、1つまたはそれより多い誤ったビット(“悪い”PLP)を含むパケットが、例えば、受信器の物理層またはトランスポート層内の誤り検出論理によって検出されれば、トランスポートヘッダはそのパケット内の1つまたはそれより多いビットが誤っている(例えば、悪い)ことを示すためにマークされる。誤りパターンマーカ(error pattern marker)はスライスヘッダまたはスライスデータ情報とともに“インバンド”を置かれ、修正されたビットストリームという結果になり、それはアプリケーション層に回送される。受信器のアプリケーション層コンポーネントがビットストリーム内の誤りパターンマーカに遭遇する時に、デコーダは誤ったマークされたPLPをアドレスするか、または悪いPLPを消滅させて、次のPLPから復号を続けるアクションを取ることができる。ある実施形態では、デコーダはそれが誤りマークされたPLPに遭遇する時にシンタックスチェッキングまたは他の誤りチェッキング機能性を活性化する。ある実施形態では、デコーダが誤りマークされたPLPに遭遇する時にそれはその誤ったビットに対応する領域を処理するかマスクするように誤り隠しを活性化する。
ある実施形態では、誤りパターン用のシンタックスは次の通りヘクサデシマルで描写されることができる:
00 00 01 18<誤りパターン長バイト><悪いビットストリーム長>
ここで“00 00 01 18”はそれが進行中のNALユニット内に挿入したデータであることを信号するためのスタート符号プレフィックス(start code prefix)である。“誤りパターン長バイト”は誤りパターンNALを読み出すためのこのバイトの後に読むべきバイト数を意味する。“悪いビットストリーム長”は誤ったビットの長さを意味する。ある実施形態では、“悪いビットストリーム長”コンポーネントは、パケット内のビットがすべて誤っていることを示して、現在のパケットの長さに設定される。ある実施形態では、スタート符号プレフィックスは“00 00 01 24”であることができる。一般に、スタート符号プレフィックスは、“00 00 01”から成るsyncバイトが、そのような仕様に適合するデコーダが誤りパターンを(例えば、破壊すること無しに)優美に処理するように圧縮仕様(compression specification)のある予備のまたはまだ指定されない標準の部分によってフォローされるように選ばれる。
図4はトランスポート層内およびアプリケーション層内に図示された複数のPLPを具備するビットストリームデータの一例である。トランスポート層データは各々トランスポートヘッダ(“TH”)、アプリケーションパケットID−FN,M(ここでN,MはビデオフレームNのM番目のパケットを示す)によって参照を付けられたパケットデータ、および巡回冗長チェックサム(“CRC”)を含むパケット(PLP)テールを含んでいる数多くのパケット415を有するものとしてビットストリームデータを図示する。CRCはトランスポートヘッダおよびアプリケーションパケットデータを構成するデータ上にパリティチェックを提供する。CRCが受信側(例えば、デコーダ側)でのこのデータ、例えば、アプリケーションパケット425、のために発生されたパリティビットと一致しない時には、CRCはデコーダ論理がどのビットが誤っているかを決定することを認めて判断するであろう特定の誤りパターンによって、トランスポートヘッダ内で失敗したとしてマークされる。ある実施形態では、誤りパターン挿入410は全体のパケットを誤っているとしてマークすることができる。ある実施形態では、誤りパターン挿入410は特定の番号のビットが誤っていることを示す。
アプリケーション層データはおのおの種々のアプリケーションパケットIDによって図示された、数多くのパケットデータ420を含むものとしてトランスポート層から受信されたビットストリームを図示する。アプリケーション層データはもはやトランスポートヘッダまたはCRCフィールドを含まない。パケットデータはもし別のやり方でマークされなければ、復号されるべき“良い”データのストリームとして存在する。パケット430は悪いCRCを有するかまたは任意の他の誤った情報(例えば、悪いビット)を有するトランスポート層内のパケットに相当する。パケット430が1つまたはそれより多い誤ったビットを含むことを示すために、誤りパターンマーカはビットストリームとともにパケット430の前に挿入された“インバンド”である。デコーダはもしもそれが遭遇されるならば誤りパターンマーカを認めるように論理で構成され、そしてその後データを消滅させるかまたは誤り処理論理を活性化することができる。誤りパターンマーカ“インバンド”を挿入することは、デコーダに“インバンド”でない任意の他の情報を信頼することなくデータを処理させ、それはより速い復号という結果になる。ある実施形態では、マーカが遭遇される時に示された“悪い”データビットは誤り訂正または誤り隠しのためのもう1つの処理に切り替えられることができる。
ある実施形態が、フローチャート、フロー図、構造図、またはブロック図として描写される処理として記述されてもよいことは注目される。フローチャートは連続的な手順として動作を記述できるが、動作の多くは並列にまたは同時に実行されることができ、そして手順は繰り返されることがあり得る。さらに、動作の順序は配列し直されることがあり得る。手順はその動作が完了される時に終結される。手順は方法、機能、処理、サブルーチン、サブプログラム、等に対応できる。手順が機能に対応する時は、その終結は呼出し機能(calling function)または主機能への復帰に対応する。
手順として記述された1つの実施形態は、ストリーミングマルチメディアデータを復号するための手順600のフロー図である、図5に示される。状態605で手順600は符号化されたビットストリームを受信する。ビットストリームは、例えば、有線ネットワーク135または無線ネットワーク130を介して送信器105から受信されることができる。状態610で、手順600はビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別する。ある実施形態では、誤ったビットはデコーダの物理層230またはトランスポート層220内で実施された誤り処理論理によって識別されることができる。他の実施形態では、誤ったビットはそれがデコーダ内の手順(例えば、受信器150のアプリケーション層210内の手順)によって復号される前にビットストリームを前処理する手順によって識別されることができる。一度手順600がビットストリーム内の1つまたはそれより多い誤ったビットを識別すると、それは状態615で誤ったビットを示すマーカを発生する。例えば、マーカは誤ったビットの存在、誤ったビットの位置または1組の誤ったビット内の第1の誤ったビットの位置を示すことができ、および/またはビットストリーム内の誤ったビットの長さ(例えば、誤ったビットの数または最後の誤ったビットの位置)を示すことができる。状態620で、手順600は修正されたビットストリームを生成するためにこのビットストリーム内に誤りマーカを挿入する。マーカはビットストリーム内に“インバンド”を挿入される。ある実施形態では、誤りマーカは誤ったデータのすぐ前に直接に挿入される。誤りマーカは、例えば、修正されたビットストリーム内のそれの存在を信号するためのスタート符号プレフィックス、誤りパターンの長さを示す情報、および/または誤ったビットの長さを示す情報を含むことができる。マーカはデコーダが1つまたはそれより多い誤ったビットの存在を示すことを知る所定の誤りパターンを含むことができる。他の実施形態では、誤りパターンはパケットの誤ったビットのすぐ前のトランスポートヘッダ内に挿入されることができる。
オプションとして、手順600はまた、例えば、手順600の状態625で、修正されたビットストリームを復号することを含むことができ、修正されたビットストリームはビットストリームを符号化するために使用された適用できる標準に従って復号される。復号手順の間に、誤りマーカは遭遇されるかもしれない。状態630で、もしも手順600が誤りマーカに遭遇すれば、誤り処理論理が誤ったビットを処理するために活性化される。誤り処理論理は、例えば、シンタックスチェッキング、誤り訂正、誤り隠し、または誤ったビットを無視すること(例えば、捨てること)であることができる。ある実施形態では、デコーダはマーカに遭遇する時に2つまたはそれより多い誤り処理手順を活性化することができる。状態635で誤り処理論理を活性化する後に、あるいはもしも誤りマーカが遭遇されなければ、復号は続く。状態640で手順600は修正されたビットストリームの復号が完了したかどうかを決定する。もしも完了しないならば、手順600は状態625で修正されたビットストリームを復号することを続ける。復号が完了する時には、手順600は終わる。
この中に記述された方法および装置はいろいろな実施の形態において使用されることができる。図6はマルチメディアデータを処理するための装置650の1つのそのような例を図示し、マルチメディアデータを処理するための装置650は符号化されたビットストリームを受信するための手段、このビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別するための手段、1つまたはそれより多い誤ったビットを示すマーカを発生するための手段、および修正されたビットストリームを生成するためにこのビットストリーム内にマーカを挿入するための手段を備える。図6に図示されたように、受信手段は受信モジュール655を有してもよい。識別手段は識別モジュール660を有してもよい。発生手段は発生モジュール665を有してもよい。挿入手段は挿入モジュール670を有してもよい。ある実施形態では、デコーダ170は1つまたはそれより多い識別モジュール660、発生モジュール665および挿入モジュール670によって実施されてもよい。また、オプションとして、装置は修正されたビットストリームを復号するための手段をさらに有してもよく、ここでマーカは1つまたはそれより多い誤ったビットを示すために復号の間使用される。装置はまたマーカが復号の間に遭遇する時に誤り手順を開始するための手段を有してもよい。挿入手段は修正されたビットストリームを生成するためにビットストリーム内にマーカを挿入するように構成されたプロセッサを有してもよい。装置のある実施形態では、挿入手段はマーカがビットストリームの部分となるようにビットストリーム内にマーカを挿入するように構成されてもよい。装置の復号手段は修正されたビットストリームを復号するように構成されたプロセッサを有してもよい。
この分野の通常の技術者は情報および信号がいろいろな異なるテクノロジーおよびテクニックのいずれかを使用して表され得ることを理解するであろう。例えば、上記説明の全体を通して参照される可能性があるデータ、指示、命令、情報、信号、ビット、記号、およびチップは、電圧、電流、電磁波、磁界または粒子、光学界または粒子、あるいはそれの任意の組合わせにより表されることができる。
通常の技術者はこの中に開示された実例に関した記述されたいろいろな実例となる論理ブロック、モジュール、およびアルゴリズムステップは電子ハードウェア、ファームウェア、コンピュータソフトウェア、ミドルウェア、マイクロコード、またはそれの組合わせとして実施され得ることをさらに認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、いろいろな実例となるコンポーネント、ブロック、モジュール、回路、およびステップは、一般にそれらの機能性の表現で上述された。そのような機能性がハードウェアまたはソフトウェアとして実施されるかどうかはシステム全体に課された特定のアプリケーションと設計の制約とによる。熟練技工は各特定のアプリケーションについて異なる方法で記述された機能性を実施できるが、しかしそのような実施の決定が開示された方法の範囲からの逸脱を引き起こすと解釈されてはならない。
この中に開示された実例に関して記述されたいろいろな実例となる論理ブロック、コンポーネント、モジュール、および回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理装置、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポネント、あるいはこの中に記述された機能を実行するように設計されたそれの任意の組合わせで実施または実行されることができる。汎用プロセッサはマイクロプロセッサであってもよいが、しかし代替案では、プロセッサは任意の従前のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた計算装置の組合わせ、例えば、DSPとマイクロプロセッサとの組合わせ、複数のマイクロプロセッサ、DSPコアとともに1つまたはそれより多いマイクロプロセッサ、あるいは任意の他のそのような構成として実施されることもできる。
この中に開示された実例に関して記述された方法のステップまたはアルゴリズムはハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、またはこの2つの組合わせで直接具体化されることができる。ソフトウェアモジュールはRAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能型ディスク、CD−ROM、あるいはこの分野において既知の任意の他の形式の蓄積媒体内に存在してもよい。典型的な蓄積媒体はプロセッサがこの蓄積媒体から情報を読み取り、そしてそれに情報を書き込むことができるようにプロセッサに連結される。代替案では、蓄積媒体はプロセッサに一体化されてもよい。プロセッサと蓄積媒体とは1つの特定用途向け集積回路(ASIC)内に存在してもよい。ASICは無線モデム内に存在してもよい。代替案では、プロセッサと蓄積媒体とはディスクリートコンポーネントとして無線モデム内に存在してもよい。
開示された実例の前の説明はこの分野の任意の通常の技術者がこの開示された方法および装置を製作または使用することを可能とするように提供される。これらの実例へのいろいろな変更はこの分野の技術者にはたやすく明白であるだろうし、そしてこの中に定義された原理は他の実例に適用されてもよく、そして追加のエレメントは開示された方法および装置の精神または範囲から逸脱すること無しに加えられてもよい。
前述の実施形態は単に実例に過ぎず、そしてこの発明を制限すると解釈されるべきでないことは注意されねばならない。実施形態の説明は実例となることを意味し、クレームの範囲を制限することを意味しない。そのように、本教えは他のタイプの装置にたやすく適用されることができ、そして多くの代替案、変更、および変動はこの分野の技術者には明白であるだろう。
ストリーミングマルチメディアを伝送するための通信システムの一例を示すブロック図。 ストリーミングマルチメディアを伝送するための通信システムのもう1つの例を示すブロック図。 送信器およびデコーダ内のタスクを分割するために使用された多層プロトコルスタックを示すブロック図。 デコーダへのビットストリームデータとしてパスされるパケットの一例を示す図。 トランスポート層内およびアプリケーション層内に図示された複数のPLPから成るビットストリームの一例を示す図。 ストリーミングマルチメディアデータを復号する方法を示すフロー図。 マルチメディアデータを処理するための装置を示すブロック図。
符号の説明
105…マルチメディア送信器、110,160…プロセッサ、115,165…メモリ、120,155…通信コンポーネント、125…外部ソース、150…マルチメディア受信器、170…デコーダ、175…エンコーダ

Claims (56)

  1. マルチメディアデータを処理する方法であって、
    符号化されたビットストリームを受信し、
    該符号化されたビットストリーム内の誤ったデータを識別し、
    該誤ったデータに関連するマーカを発生し、そして
    修正されたビットストリームを生成するために、該符号化されたビットストリーム内に該マーカを挿入する
    ことを含む方法。
  2. 該修正されたビットストリームを復号するために該マーカを使用することをさらに含む、請求項1記載の方法。
  3. 復号する間に該マーカに遭遇した場合、誤り処理手順を開始することをさらに含む、請求項2記載の方法。
  4. 該誤り処理手順はシンタックスチェッキング、該誤ったデータを消滅させること、または誤り隠しを備える、請求項3記載の方法。
  5. 該マーカは、該誤ったデータの前の該符号化されたビットストリーム内に挿入される、請求項1記載の方法。
  6. 該パケット損失率は該マーカに基づいて決定される、請求項1記載の方法。
  7. 該マーカは該修正されたビットストリーム内においてその存在を信号で伝えるためスタート符号プレフィックスを備える、請求項1記載の方法。
  8. 該マーカは何バイトが該スタート符号プレフィックス後の該マーカ内に使用されるかに関連する数値を備える、請求項7記載の方法。
  9. 該マーカは該誤ったデータの長さを示す少なくとも1バイトの情報を含む、請求項1記載の方法。
  10. 該マーカは該ビットストリーム自身の部分を形成するように該ビットストリーム内に挿入される、請求項1記載の方法。
  11. 該マーカは該受信された符号化ビットストリームが従う圧縮仕様に従う、請求項1記載の方法。
  12. 該マーカは該マーカが該ビットストリームの部分になるように該ビットストリームに挿入され、そして該挿入されたマーカを有する該ビットストリームはデコーダの上位層によって復号される、請求項2記載の方法。
  13. 該上位層はアプリケーション層を備える、請求項12記載の方法。
  14. マルチメディアデータを処理するための装置であって、
    マルチメディアデータの符号化されたビットストリームを受信するように構成された通信コンポーネントと、そして
    該ビットストリーム内の1つまたはそれより多い誤ったビットの該位置を識別し、該1つまたはそれより多い誤ったビットを示すマーカを発生し、そして、修正されたビットストリームを生成するために該ビットストリーム内に該マーカを挿入するように構成されたプロセッサと
    を含む装置。
  15. 該プロセッサは、復号する間に該マーカに遭遇する時、誤り処理を開始するようにさらに構成される、請求項14記載の装置。
  16. 該修正されたビットストリームを復号するように構成されたデコーダをさらに備え、該デコーダは該マーカが復号する間に遭遇される時に誤り処理を活性化するために該マーカを使用するように構成される、請求項14記載の装置。
  17. 該プロセッサは該修正されたビットストリームを復号するための復号手順を有するように構成され、該復号処理は復号する間に該マーカに遭遇される時に誤り処理を活性化するために該マーカを使用する、請求項14記載の装置。
  18. 該誤り処理は、シンタックスチェッキング、該誤ったデータを消滅させること、または誤り隠しを備える、請求項17記載の装置。
  19. 該マーカは、該誤ったビットの前の該符号化されたビットストリームのトランスポートヘッダパケット内に挿入される、請求項14記載の装置。
  20. 該マーカは誤りパターンを備える、請求項14記載の装置。
  21. パケット誤り率が該誤りパターンに基づいて決定される、請求項19記載の装置。
  22. 該誤りパターンは該修正されたビットストリーム内においてその存在を信号で伝えるためにスタート符号プレフィックスを備える、請求項20記載の装置。
  23. 該ビットストリームはトランスポートヘッダを備える該パケットの形式でデコーダにパスされ、そして該誤りパターンは該トランスポートヘッダ内に挿入された“インバンド”である、請求項20記載の装置。
  24. 該誤りパターンは該誤りパターン長を示す情報を備える、請求項20記載の装置。
  25. 該誤りパターンは該誤ったビットの該長さを示す情報を備える、請求項20記載の装置。
  26. 該プロセッサは該マーカが該ビットストリーム自身の部分として読まれるように該ビットストリーム内に該マーカを挿入するように構成される、請求項14記載の装置。
  27. 該ビットストリームを復号するように構成されたデコーダをさらに含み、該プロセッサは該マーカが該ビットストリームの部分となるように該ビットストリーム内に該マーカを挿入するように構成され、そして該デコーダは該ビットストリームを復号するための上位層を備える、請求項14記載の装置。
  28. 該上位層はアプリケーション層を備える、請求項27記載の装置。
  29. マルチメディアデータを処理するための装置であって
    符号化されたビットストリームを受信するための手段、
    該ビットストリーム内の1つまたはそれより多い誤ったビットの該位置を識別するための手段、
    該1つまたはそれより多い誤ったビットを示すマーカを発生するための手段、そして
    修正されたビットストリームを生成するために該ビットストリーム内に該マーカを挿入するための手段
    を含む装置。
  30. 該修正されたビットストリームを復号するための手段をさらに含み、該マーカは該1つまたはそれより多い誤ったビットを示すために復号する間使用される、請求項29記載の装置。
  31. 復号する間に該マーカに遭遇する時、誤り処理手順を開始するための手段をさらに含む、請求項30記載の装置。
  32. 該受信手段は受信器を備える、請求項29記載の装置。
  33. 該識別手段は該ビットストリーム内の1つまたはそれより多い誤ったビットの該位置を識別するように構成されたプロセッサを備える、請求項29記載の装置。
  34. 該発生手段は該1つまたはそれより多い誤ったビットを示すマーカを発生するように構成されたプロセッサを備える、請求項29記載の装置。
  35. 該挿入手段は修正されたビットストリームを生成するために該ビットストリーム内に該マーカを挿入するように構成されたプロセッサを備える、請求項29記載の装置。
  36. 該挿入手段は該マーカが該ビットストリーム自身の部分として読まれるように該ビットストリーム内に該マーカを挿入するように構成される、請求項29記載の装置。
  37. 該挿入手段は該マーカが該ビットストリームの部分となるように該ビットストリーム内に該マーカを挿入するように構成され、そして該復号手段は該挿入されたマーカを使用して該修正されたビットストリームを復号するための上位層を備える、請求項30記載の装置。
  38. 該上位層はアプリケーション層を備える、請求項37記載の装置。
  39. マルチメディアデータを処理するための方法を具体化するコンピュータ可読媒体であって、該方法は
    符号化されたビットストリームを受信し、
    該ビットストリーム内の1つまたはそれより多い誤ったビットの該位置を識別し
    該1つまたはそれより多い誤ったビットを示すマーカを発生し、そして
    修正されたビットストリームを生成するために該ビットストリーム内に該マーカを挿入することを含む
    コンピュータ可読媒体。
  40. 該修正されたビットストリームを復号することをさらに含み、該マーカは該1つまたはそれより多い誤ったビットを示すために復号する間使用される、請求項39記載のコンピュータ可読媒体。
  41. 復号する間に該マーカに遭遇する時に誤り処理手順を開始することをさらに含む、請求項39記載のコンピュータ可読媒体。
  42. マルチメディアデータを処理するためのプロセッサであって、符号化されたビットストリームを受信し、該ビットストリーム内の1つまたはそれより多い誤ったビットの該位置を識別し、該1つまたはそれより多い誤ったビットを示すマーカを発生し、そして修正されたビットストリームを生成するために該ビットストリーム内に該マーカを挿入するように構成される
    プロセッサ。
  43. 該プロセッサは該修正されたビットストリームを復号するようにさらに構成され、該プロセッサは該1つまたはそれより多い誤ったビットを示すために復号の間該マーカを使用するように構成される、請求項42記載のプロセッサ。
  44. 該プロセッサは該マーカが復号の間に遭遇される時に誤り処理を開始するようにさらに構成される、請求項42記載のプロセッサ。
  45. 該プロセッサは該マーカが該ビットストリーム自身の部分として読まれるように該ビットストリーム内に該マーカを挿入するようにさらに構成される、請求項42記載のプロセッサ。
  46. 該プロセッサは、該マーカが該ビットストリームの部分となるように該ビットストリーム内に該マーカを挿入するように、およびアプリケーション層を使用している該ビットストリームを復号するようにさらに構成される、請求項43記載のプロセッサ。
  47. マルチメディアデータを処理するための装置であって、符号化されたビットストリーム内の1つまたはそれより多い誤ったビットの位置を識別し、該1つまたはそれより多い誤ったビットを示すマーカを発生し、そして修正されたビットストリームを生成するために該ビットストリーム内に該マーカを挿入するように構成されたデコーダを含む
    装置。
  48. マルチメディアデータの符号化されたビットストリームを受信しそして該デコーダに該符号化されたビットストリームを供給するように構成された通信コンポーネントをさらに含む、請求項47記載の装置。
  49. 復号する間に該デコーダが該マーカに遭遇する時に誤り処理を開始するようにさらに構成される、請求項47記載の装置。
  50. 該マーカは、該誤ったビットの前の該符号化されたビットストリームのトランスポートヘッダパケット内に挿入される、請求項47記載の装置。
  51. 該マーカは誤りパターンを備える、請求項47記載の装置。
  52. 該誤りパターンは該修正されたビットストリーム内においてその存在を信号で伝えるためにスタート符号プレフィックスを備える、請求項51記載の装置。
  53. 該符号化されたビットストリームはトランスポートヘッダをそれぞれ含むパケットを備え、そして該マーカは該トランスポートヘッダ内に挿入された“インバンド”である、請求項47記載の装置。
  54. 該マーカは該マーカ長を示す情報を備える、請求項47記載の装置。
  55. 該マーカは該誤ったビットの該長さを示す情報を備える、請求項47記載の装置。
  56. 該プロセッサは該マーカが該ビットストリーム自身の部分として読まれるように該ビットストリーム内に該マーカを挿入するように構成される、請求項47記載の装置。
JP2008511470A 2005-05-13 2006-05-15 インバンド誤りパターンを使用する誤り回復のための装置と方法 Pending JP2008546230A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US68063305P 2005-05-13 2005-05-13
US78927306P 2006-04-04 2006-04-04
PCT/US2006/018851 WO2006124852A2 (en) 2005-05-13 2006-05-15 Error recovery using in band error patterns

Publications (1)

Publication Number Publication Date
JP2008546230A true JP2008546230A (ja) 2008-12-18

Family

ID=37432017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008511470A Pending JP2008546230A (ja) 2005-05-13 2006-05-15 インバンド誤りパターンを使用する誤り回復のための装置と方法

Country Status (6)

Country Link
US (1) US20060268996A1 (ja)
EP (1) EP1884029A4 (ja)
JP (1) JP2008546230A (ja)
KR (3) KR100998454B1 (ja)
TW (1) TWI325706B (ja)
WO (1) WO2006124852A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007018484B4 (de) * 2007-03-20 2009-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Senden einer Folge von Datenpaketen und Decodierer und Vorrichtung zum Decodieren einer Folge von Datenpaketen
WO2008126059A2 (en) * 2007-04-17 2008-10-23 Nokia Corporation Feedback based scalable video coding
US20100182339A1 (en) * 2007-09-26 2010-07-22 Nobutaka Kitajima Data processing apparatus and method
FR2942095A1 (fr) * 2009-02-09 2010-08-13 Canon Kk Procede et dispositif d'identification de pertes de donnees video
US9288161B2 (en) * 2011-12-05 2016-03-15 International Business Machines Corporation Verifying the functionality of an integrated circuit
US10904577B2 (en) 2018-02-07 2021-01-26 Mediatek Inc. Video compression system with post-processing of bitstream generated by hardware video encoding and associated video compression method
TW201939953A (zh) * 2018-03-16 2019-10-01 晨星半導體股份有限公司 影像壓縮系統及利用影像壓縮系統以壓縮影像畫面的方法
US11580396B2 (en) 2020-10-13 2023-02-14 Aira Technologies, Inc. Systems and methods for artificial intelligence discovered codes
US11088784B1 (en) * 2020-12-24 2021-08-10 Aira Technologies, Inc. Systems and methods for utilizing dynamic codes with neural networks
US11477308B2 (en) 2020-12-28 2022-10-18 Aira Technologies, Inc. Adaptive payload extraction in wireless communications involving multi-access address packets
US11483109B2 (en) 2020-12-28 2022-10-25 Aira Technologies, Inc. Systems and methods for multi-device communication
US11368250B1 (en) 2020-12-28 2022-06-21 Aira Technologies, Inc. Adaptive payload extraction and retransmission in wireless data communications with error aggregations
US11575469B2 (en) 2020-12-28 2023-02-07 Aira Technologies, Inc. Multi-bit feedback protocol systems and methods
US11191049B1 (en) 2020-12-28 2021-11-30 Aira Technologies, Inc. Systems and methods for improving wireless performance
US20220291955A1 (en) 2021-03-09 2022-09-15 Intel Corporation Asynchronous input dependency resolution mechanism
US11496242B2 (en) 2021-03-15 2022-11-08 Aira Technologies, Inc. Fast cyclic redundancy check: utilizing linearity of cyclic redundancy check for accelerating correction of corrupted network packets
US11489623B2 (en) 2021-03-15 2022-11-01 Aira Technologies, Inc. Error correction in network packets

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0998428A (ja) * 1995-09-29 1997-04-08 Denso Corp 画像信号の復号化装置
JP2000115104A (ja) * 1998-06-30 2000-04-21 Nokia Mobile Phones Ltd 多重信号受信方法、装置及びマルチメディア端末
JP2001025010A (ja) * 1999-07-09 2001-01-26 Mitsubishi Electric Corp マルチメディア情報通信装置およびその方法
JP2001169282A (ja) * 1999-09-30 2001-06-22 Matsushita Electric Ind Co Ltd 動画像復号化方法、動画像復号化装置、及びプログラム記録媒体
JP2003023413A (ja) * 2001-07-10 2003-01-24 Hitachi Ltd システムデコーダ装置及びパケットデータの修正方法
US20050089104A1 (en) * 2003-10-28 2005-04-28 Samsung Electronics Co., Ltd. Video decoding method and apparatus for providing error detection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579317A (en) * 1995-08-15 1996-11-26 Lsi Logic Corporation Packet error propagation for MPEG transport demultiplexers
US7133455B2 (en) * 2000-12-29 2006-11-07 Intel Corporation Providing error resilience and concealment for video data
US6778610B2 (en) * 2001-03-02 2004-08-17 Redrock Semiconductor, Ltd. Simultaneous search for different resync-marker patterns to recover from corrupted MPEG-4 bitstreams
US6970506B2 (en) * 2001-03-05 2005-11-29 Intervideo, Inc. Systems and methods for reducing frame rates in a video data stream
JP4366141B2 (ja) * 2002-08-20 2009-11-18 キヤノン株式会社 画像処理装置、画像処理方法、記憶媒体、及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0998428A (ja) * 1995-09-29 1997-04-08 Denso Corp 画像信号の復号化装置
JP2000115104A (ja) * 1998-06-30 2000-04-21 Nokia Mobile Phones Ltd 多重信号受信方法、装置及びマルチメディア端末
JP2001025010A (ja) * 1999-07-09 2001-01-26 Mitsubishi Electric Corp マルチメディア情報通信装置およびその方法
JP2001169282A (ja) * 1999-09-30 2001-06-22 Matsushita Electric Ind Co Ltd 動画像復号化方法、動画像復号化装置、及びプログラム記録媒体
JP2003023413A (ja) * 2001-07-10 2003-01-24 Hitachi Ltd システムデコーダ装置及びパケットデータの修正方法
US20050089104A1 (en) * 2003-10-28 2005-04-28 Samsung Electronics Co., Ltd. Video decoding method and apparatus for providing error detection

Also Published As

Publication number Publication date
US20060268996A1 (en) 2006-11-30
EP1884029A4 (en) 2010-07-14
KR20100110885A (ko) 2010-10-13
WO2006124852A2 (en) 2006-11-23
KR20080016637A (ko) 2008-02-21
TW200707986A (en) 2007-02-16
TWI325706B (en) 2010-06-01
KR100939951B1 (ko) 2010-02-04
EP1884029A2 (en) 2008-02-06
KR100998454B1 (ko) 2010-12-06
KR20090127958A (ko) 2009-12-14
WO2006124852A3 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
KR100939951B1 (ko) 인 밴드 에러 패턴을 사용한 에러 복원
JP5738929B2 (ja) ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ
US8976858B2 (en) Error resilience using out of band directory information
US20070198878A1 (en) Two-way communication method, apparatus, system, and program
RU2374787C2 (ru) Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
CN101176353B (zh) 用于流式多媒体中优化错误管理的解码器架构
JP3730977B2 (ja) データ伝送方法およびデータ処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111018