JP4741649B2 - ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ - Google Patents

ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ Download PDF

Info

Publication number
JP4741649B2
JP4741649B2 JP2008500999A JP2008500999A JP4741649B2 JP 4741649 B2 JP4741649 B2 JP 4741649B2 JP 2008500999 A JP2008500999 A JP 2008500999A JP 2008500999 A JP2008500999 A JP 2008500999A JP 4741649 B2 JP4741649 B2 JP 4741649B2
Authority
JP
Japan
Prior art keywords
error
layer
protocol
detected
multimedia data
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.)
Expired - Fee Related
Application number
JP2008500999A
Other languages
English (en)
Other versions
JP2008537654A (ja
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 JP2008537654A publication Critical patent/JP2008537654A/ja
Application granted granted Critical
Publication of JP4741649B2 publication Critical patent/JP4741649B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • 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/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/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/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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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
    • H04N21/4402Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/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/4425Monitoring of client processing errors or hardware failure
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

(米国特許法119条のもとでの優先権の主張)
本特許出願は、2005年3月10日に出願された「ビデオ通信におけるエラー回復のための方法および装置(Method and Apparatus for Error Recovery in Video Communications)」と題される米国特許仮出願第60/660,681号、2005年3月10日に出願された「ビデオデコーディングのための方法および装置(A Method And Apparatus For Video Decoding)」と題される米国特許仮出願第60/660,923号、および、2005年3月10日に出願された「デコーダのためのエラー回復の方法(Method Of Error Recovery For A Decoder)」と題される米国特許仮出願第60/680,867号、の優先権を主張する、なお、これらのすべては、本譲受人に譲渡され、また、ここに参照することによりここに明示的に組み込まれる。
(分野)
本発明は、ハンドヘルドデバイス上のリアルタイムストリーミングメディアをデコードするための方法および装置に関連する。
(背景)
マルチメディアサービスに対しての増加する需要と同様に、インターネットおよび無線通信の爆発的な成長および大きな成功により、インターネットおよびモバイル/無線通信チャネル上のストリーミングメディアは、極めて大きい注意を引き寄せている。ヘテロジニアスな(heterogeneous)インターネットプロトコル(IP)ネットワークにおいては、ビデオは、サーバーによって提供され、1つ以上のクライアントによって流されることができる。ワイヤード接続(wired connections)は、ダイアルアップ、綜合サービスデジタルネットワーク(ISDN)、ケーブル、デジタル加入者線プロトコル(集団的にxDSLと呼ばれる)、ファイバー、ローカルエリアネットワーク(LAN)、広域ネットワーク他(WAN)などを含む。伝送モードは、ユニキャスト(uni-cast)かマルチキャスト(multi-cast)かであることができる。
ヘテロジニアスなIPネットワークに似ているのはモバイル/無線通信である。モバイル/無線通信チャネル上でのマルチメディアコンテンツのトランスポートは、これらのチャネルがマルチパスフェージング(multi-path fading)、シャドウイング(shadowing)、相互シンボル干渉(inter-symbol interference)およびノイズ妨害(noise disturbance)によりしばしば極度に損われるので、非常に厳しい(challenging)。移動度や競合するトラフィックなどのいくつかの他の理由もまた、帯域幅変動およびロスを引き起こす。チャネルノイズおよびサービスを受けているユーザの数が、チャネル環境の時間変化プロパティ(time-varying property)を決定する。
ヘテロジニアスなIPネットワークおよび移動通信システムの両方におけるサービスのより高い品質およびより高いデータレートの要求は、急速に増大している。然しながら、制限された遅延時間、制限された送信パワー、制限された帯域幅およびマルチパスフェージングのような要因が、実際のシステムによって処理されるデータレートを制限し続ける。マルチメディア通信においては、特にエラーの傾向のある環境においては、送信されたメディアのエラー障害許容力(error resilience)は、たとえ単一のデコードされた値におけるエラーでさえ、時空間的に伝播するデコーディングアーティファクト(decoding artifacts)をもたらすので、サービスの所望の品質を提供することにおいて重要である(critical)。様々なエンコーディング手段が、必要なデータレートを維持する間にエラーを最小化するために使用されてきている、然しながら、これらの技術のすべてが、デコーダ側に到達するエラーに関連する問題に悩んでいた。
ソースエンコーダ(source encoder)の使用を通して、データは圧縮され − 最少の数のビットを消費することにより最大の情報を伝達し、これらのビットを受け取る際のエラーの与えられた可能性(a given probability)について伝送チャネルの容量を最大限にする傾向があるチャネルエンコーダが後に続くる。
チャンネルコーディング、例えば、リードソロモン符号は、ソース符号化されたデータの堅牢性を改善するために使用される。合同のソース−チャンネルコーディング方法は、様々なレベルの重要度を有するソース符号化されたデータに様々なレベルのエラープロテクションを提供するために、あるいは、パケットを区分し(partitioning)、ドロップする(dropping)ことを通して、利用可能なネットワーク帯域幅への符号化されたビデオデータのレート適用を可能とするために、使用されてきている。これは、共通のトランスポートプロトコルが破損されたデータをソースデコーダに伝えないからである。
可逆的可変長コーディング(例えばMPEG−4における)のようなソースコーディング技術が、破損パケットが実際に受け取られるときに逆の順序でパケットをデコードすることによってエラー回復のために使用されてきている。ソースコーディング技術を用いたコーディング効率に妥協があり、それは与えられたビットレートに対しデコードされたビデオの品質に変える。
ハイブリッドコーディング標準規格、例えば、MPEG−I、MPEG2、MPEG−4(集団的にMPEG−xと呼ばれる)、H.261、H.262、H.263、およびH.264(集団的にH.26xと呼ばれる)などは、デコーダでエラーを処理する主な方法として、ビットストリームにおける再同期ポイント(resynchronization points)を使用する。
最初の破損を超えるデータロス(data loss)を引き起こす可能性のある別の理由は、不正確なコードワードエミュレーション(codeword emulation)に起因する。最初のビットエラーポジションの識別は、ささいなタスクではなく、典型的に、MAC層あるいは物理層のコンポーネントの中のビットエラーポジションの識別をサポートする特別の設計なしでは可能ではない。従って、ビットストリーム破損を検出すると、デコーダは、デコーディングを停止しなければならないかもしれない、そして、次の再同期ポイントを見つけるためにビットストリームにおいて、また、かなり大きい量の潜在的に健全なデータを必然的にスキップするプロセスにおいて、前へ進まなければならないかもしれない。オリジナルのものと同じ長さである異なるコードワード、すなわち、本物の(authentic)コードワード、のエミュレーションは、上記に説明されたエベントのシーケンスに関して問題がより少ないように思えるかもしれないが、これは実際にそうではない。この種のエラーが、デコーダの正確なビットストリーム解釈(bitstream interpretation)において失敗をもたらす方法が多くある。例えば、ほとんどの現在のコーデック(codecs)においては、その値がビットストリームの次の部分のシンタックス(syntax)に影響を及ぼすビットストリーム中のオブジェクト(objects)(圧縮関連のパラメータ)がある。従って、そのようなオブジェクトに対する不正確な値は、不正確なビットストリーム解釈をもたらす。
共通のトランスポートプロトコルは、デコーダ(例、ビデオあるいはオーディオデコーダアプリケーション)に破損されたデータを配達しないので、デコーダは、最も一般的な解決であるパケットのドロッピングおよび再同期を持った、ビットエラーを扱う限定された能力を有する。同期ロスおよび不正確なコードワードエミュレーションのような問題に起因する、エラー伝播およびデータロスに至るビットエラーを処理する、改善された方法が必要とされる。
[概要]
一態様においては、エラー回復において使用されるマルチレイア統合(multi-layer integration)のための方法および装置が、第1層プロトコルに基づいてマルチメディアデータ(multimedia data)におけるエラーを検出し、第2層プロトコルに基づいてマルチメディアデータにおける検出されたエラーを隠蔽する(conceal)ための、方法あるいは手段を備える。別の態様においては、エラー回復において使用されるマルチレイア統合のための装置は、第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出する検出器と、第2層プロトコルに基づいてマルチメディアデータにおける検出されたエラーを隠蔽するコンシーラ(concealer)と、を備える。マルチレイア統合のための方法および装置においては、第1層は通信層(communication layer)を含むことができる。通信層は物理層(physical layer)、MAC層(MAC layer)およびトランスポート層(transport layer)のうちの1つかまたは組合せを含むことができる。さらに、方法および装置は、トランスポート層プロトコルに基づいて検出されたエラーを制御するための方法あるいは手段を更に備えることができる。検出されたエラーを制御することは、検出されたエラーをローカライズすること(localizing)を含む。方法および装置は、同期層プロトコル(sync layer protocol)に基づいて検出されたエラーのエラー分布(error distribution)を決定するための方法あるいは手段を更に備える。第2層はアプリケーション層を含むことができる。
別の態様においては、エラー回復において使用されるマルチレイア統合のための方法および装置は、通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出し、トランスポート層プロトコルに基づいて前記検出されたエラーを制御し、同期層プロトコルに基づいて制御されたエラーのエラー分布を決定し、アプリケーション層プロトコルに基づいてマルチメディアデータにおける検出されたエラーを隠蔽するための、方法あるいは手段を備える。さらに別の態様においては、マルチメディアデータ処理において使用される方法および装置は、符号化されたマルチメディアデータのエラー回復(error recovery)を行ない、符号化されたマルチメディアデータのスケーラビリティ(scalability)をサポートするための方法あるいは手段を備える。まだ更に別の態様においては、マルチメディアデータ処理において使用される装置は、符号化されたマルチメディアデータのエラー回復を行なうエラー回復コンポーネントと、符号化されたマルチメディアデータのスケーラビリティをサポートするスケーラビリティコンポーネントとを備える。マルチメディア処理において使用される方法および装置においては、スケーラビリティは、空間的および時間的スケーラビリティ(spatial and temporal scalability)の一方または両方を備えることができる。エラー回復は、時間的エラー隠蔽(temporal error concealment)、空間的エラー隠蔽(spatial error concealment)およびフレームレートアップ変換(frame rate up conversion)のうちの1つかまたは組み合わせかを備えることができる。
更なる態様においては、マルチメディアストリーム処理において使用される方法および装置は、符号化されたマルチメディアデータの複数のストリームを受け取り、ストリームの誤り部分上でエラー回復を行ない、複数のストリームからのマルチメディアデータを再構成するための方法あるいは手段を備える。さらに更なる態様においては、マルチメディアストリーム処理において使用される装置は、符号化されたマルチメディアデータの複数のストリームを受け取る受信機と、ストリームの誤り部分上でエラー回復を行なうエラー回復コンポーネントと、複数のストリームからのマルチメディアデータを再構成するリコンストラクタ(reconstructor)とを備える。マルチメディアストリーム処理において使用される方法および装置では、エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備えることができる。
上記の方法および装置は、方法あるいは装置のオペレーションを実行するように構成されたコンピュータ可読媒体(computer readable medium)及び/又はプロセッサによって実施されることができる、ということに注意されるべきである。
[詳細な説明]
マルチメディアデコーダにおける改善されたエラー回復機能(error recovery capabilities)を提供する方法および装置が説明される。例えば、上層(例、通信層)で、マルチメディアデータストリームにおけるエラーを検出すること、および、アプリケーション層(例、ビデオあるいはオーディオデコーダ)で、検出されたエラー上でエラー回復を行なうこと、などの統合されたエラー回復機能が提供される。一例においては、様々なタイプのエラー回復技術を行なう際に、十分な情報を得た上での決定(informed decisions)を下すことにおいて使用されるためにアプリケーションコンポーネントに破損ビットのフラグを立てている情報(corrupt bit flagging information)を提供する、デコーダアーキテクチャが示される。エラー回復技術は、破損シンボルを、以前にデコードされたビデオ、オーディオ、テキスト、およびグラフィックス情報のようなアプリケーションコンポーネントに利用可能な情報から得られる、推定されたシンボル(estimated symbol)に取り替えるために使用される。以下の説明においては、実施形態の十分な理解を提供するために、特定な詳細が与えられる。然しながら、実施形態はこれらの特定な詳細なしに実行されてもよいことは、当業者によって理解されるだろう。例えば、電気コンポーネントは、不必要な詳細における実施形態を不明瞭にしないようにブロック図中で示されるかもしれない。他のインスタンスにおいては、そのようなコンポーネント、他の構成および技術が、実施形態を更に説明するために詳細に示されるかもしれない。別々のブロックとして示されている電気コンポーネントは、再配列されることができ、かつ/または、1つのコンポーネントに結合されることができる、ということもまた熟練工によって理解される。
いくつかの実施形態は、フローチャート、フローダイアグラム、構造ダイアグラム、あるいはブロック図として示されるプロセスとして説明されることができるということにもまた注意すべきである。フローチャートは連続するプロセスとしてオペレーションを説明するかもしれないが、オペレーションの多くは、並列にあるいは同時に実行されることができ、また、プロセスは繰り返されることができる。更に、オペレーションの順序は並び替えられることができる。プロセスは、そのオペレーションが完了されるときに、終了する。プロセスは、方法、機能、手続き、サブルーチン、サブプログラムなどに対応するかもしれない。プロセスが機能に対応するときは、その終了は、呼出し機能あるいは主機能への機能のリターンに対応する。
図1Aは、ストリーミングマルチメディアを配信するための通信システムの一例のブロック図である。システム20は、送信機22(transmitter)と受信機マルチメディアデコーダ(receiver multimedia decoder)24とを含んでいる。送信機22は、ビデオ、オーディオ、グラフィックス、テキスト、および画像を、これらに限定されずに含んでいる様々な形式の圧縮されたマルチメディアデータを含有する。データは、MPEG−xおよびH.26x標準規格におけるような圧縮されたビデオおよびオーディオ、MPEG−4 AAC、MP3、AMRおよびG.723オーディオあるいは音声圧縮標準規格におけるような圧縮されたオーディオ、あるいは任意の他のタイプのデジタルデータであることができる。
送信機22は、外部メモリ、インターネット、およびライブビデオ及び/又はオーディオフィード(live video and/or audio feed)を含む様々なソースからデータを得る。送信機22はまた、ネットワーク上で取得したデータを送信する(Tx)。ネットワークは、電話、ケーブル、あるいは光ファイバーのような、ワイヤードネットワーク(wired network)28、あるいは無線ネットワーク26であることができる。無線通信システムの場合においては、ネットワーク26は、例えば、符号分割多元接続(CDMAまたはCDMA2000)通信システムの一部を備えることができる、あるいは、システムは、周波数分割多元接続(FDMA)システム、直交周波数分割多元接続(OFDMA)システム、時分割多元接続(TDMA)システム、例えば、GSM/GPRS(汎用パケット無線サービス)/EDGE(拡張されたデータGSM環境)あるいはサービス産業のためのTETRA(地上波基幹無線)モバイル電話技術など、広帯域符号分割多元接続(WCDMA)、高データレート(IxEV−DOあるいはIxEV−DOのゴールドマルチキャスト(Gold Multicast))システム、あるいは一般に技術の組合せを使用する任意の無線通信システム、であることができる。
デコーダ24は、無線ネットワーク26及び/又はワイヤードネットワーク28上でデータを受け取るための、無線周波数アンテナあるいはネットワーク接続のような手段を含む。デコーダ24は、受信データに関連した復調およびデコーディングのタスクの分配のために、プリプロセッサ(例、ARMの任意のタイプのセントラルプロセッサユニットCPU)、デジタル信号プロセッサ(DSP)、ソフトウェア、ファームウェア、およびビデオコアのようなハードウェア、の任意の組合せを含んでいる複数のプロセッサを含むことができる。デコーダ24はまた、復調/デコーディングプロセスの様々なステージにおける受信されたデータおよび中間のデータを保存するためにメモリコンポーネントを含んでいる。いくつかの実施形態においては、ARMプリプロセッサは、オーディオ、ビデオその他を含む複数のビットストリームをアンパックすること(unpacking)(ヘッダやシグナリングメッセージのようなサイド情報(side information)を取り除くこと)およびデマルチプレクスすること(demultiplexing)を含んでいるそれほど複雑でないタスクを行なう。ARMプリプロセッサはまた、ビットストリーム構文解析(bitstream parsing)、エラー検出および隠蔽、および可変長エントロピーデコーディング、を行なう。いくつかのそのような実施形態においては、DSPは、VLC(可変長コード)コードワードの拡張、ピクセル係数を空間的に位置特定するビデオデータの逆ジグザグ走査、MPEG−4ビデオ用ピクセル係数の逆AC/DC予測(コンテキスト適応エントロピーコーディングによるH.264の特徴ではない)、およびオーディオデコーディング(例、MPEG−4、AAC、MP3、AMRあるいはG.723)を行なう。ビデオコアは、デクワンタイゼーション(dequantization)、逆変換(inverse transformation)、動き補償予測、および非ブロック化(deblocking)(ピクセルブロックエッジ間のエッジアーティファクト(edge artifacts)を減らすフィルタリングの形式)を備えるビデオデコーディングのより計算上複雑なタスクを行なうことができる。1つ以上のエレメントが、通信システム20に、追加され、再配置され、あるいは組み合わされることができる。ワイヤード通信システムの場合には、ネットワーク26は、例えば、リアルタイムトランスポートプロトコル(RTP)あるいはユニバーサルデータグラムプロトコル(UDP)のようなトランスポートプロトコルを備えたインターネットプロトコル(IP)ベースの通信システムの一部を備えることができる。
図1Bは、送信機22およびデコーダ24におけるタスクを分割するために使用される多層プロトコルスタック(multi-layer protocol stack)のブロック図である。送信機22およびデコーダ24における上層コンポーネント205および210は、それぞれ複数のアプリケーション、例えば、ビデオあるいはオーディオのエンコーダ及び/又はデコーダなど、を含む。いくつかの実施形態は、同時にデコードされることが予定されている情報の複数のストリームを含むことができる。これらのケースにおいては、複数のストリームの同期タスクは、上層コンポーネント205および210において行われることもできる。上層コンポーネント205は、無線ネットワーク26及び/又はワイヤードネットワーク28上で送信されるビットストリームにおいて符号化されたタイミング情報を提供することができる。上層コンポーネント210は、複数のストリームの情報を構文解析できるので、関連するアプリケーションがほぼ同じ時にそれらをデコードする。
送信機22における下層コンポーネント215は、エラー障害許容力(error resiliency)のために供給する様々な方式を含むことができる。エラーしがちなチャネル、例えば、無線ネットワーク26及び/又はワイヤードネットワーク28などは、デコーダ24によって受け取られたビットストリームへエラーを導入するかもしれない。下層コンポーネント215において提供されるそのようなエラー障害許容力の方式(error resiliency schemes)は、1つ以上のエラー制御コーディング方式(error control coding schemes)、インタリービング方式(interleaving schemes)、および、当業者に知られている他の方式を含んでもよい。デコーダ22における下層コンポーネント220は、エラーの検波および補正を可能にする、対応するエラーデコーディングコンポーネントを含むことができる。無線ネットワーク26及び/又はワイヤードネットワーク28上で導入されるいくつかのエラーは、下層コンポーネント220によって訂正可能でないかもしれない。訂正可能でないそれらのエラーについては、送信機22の下層コンポーネント215による破損コンポーネントの再伝送を要求する下層コンポーネント220のような解決は、いくつかのある状況、例えば、ストリーミングアプリケーションのようなリアルタイムマルチメディア通信においては、適していないかもしれない。いくつかの実施形態においては、下層コンポーネント215および220は、通信層コンポーネントを備える。1つ以上のエレメントが、図1Bの中で示される送信機22あるいはデコーダ24に、追加され、再配列され、あるいは組み合わされることができる。
図1Cは、送信機22およびデコーダ24におけるタスクを分割するために使用される多層プロトコルスタックのより詳細な一例のブロック図である。送信機22の、上層コンポーネント205は、アプリケーション層206および同期層207のうちの1つ以上において分配される。送信機22の、下層コンポーネント215は、トランスポート層216、ストリームあるいはメディアアクセス制御(medium access control)(MAC)層217、および物理層218のうちの1つ以上へ分配される。同様に、デコーダ24の、上層コンポーネント210は、アプリケーション層211および同期層207のうちの1つ以上において分配される。デコーダ24の、下層コンポーネント220は、トランスポート層221、ストリームあるいはメディアアクセス制御(MAC)層222、および物理層223のうちの1つ以上へ分配される。当業者は、これらの層を認識し、また、それらの間の様々なタスクの割り付けに精通しているであろう。上記に論考されたように、送信機22において提供されるエラー障害許容力を利用する、デコーダデバイス24の様々な層を統合するアーキテクチャの一例が、今から論考される。1つ以上のエレメントが、図1Cにおいて示される送信機22あるいはデコーダ24に、追加され、再配列され、あるいは組み合わされることができる。
図2Aは、ストリーミングマルチメディアをデコードするためのデコーダデバイスアーキテクチャの一例のブロック図である。図2Bは、送信機22を含むマルチレイア統合管理システムのためのプロトコルスタックダイアグラムであり、また、図2Aのデコーダデバイスアーキテクチャのプロトコルスタックビューである。図2Aおよび2Bを参照すると、マルチメディアデコーダ30は、物理層コンポーネント32、MAC層コンポーネント34、トランスポートおよび同期パーサ(Transport and Sync. Parser)(TSP)39、およびアプリケーション層コンポーネント50を含んでいる。マルチメディアデコーダ30は、ターボ/リードソロモン連結方式のような連結エラー訂正方式を含んでいるインプットビットストリーム(IN)を受け取る。物理層コンポーネント32は、受け取ること、エラー制御デコーディング、例えば、ターボ符号デコーディング、およびMAC(メディアアクセス制御)層とインタフェースをとることを、これらに限定されないが、含んでいる復調タスクを行うことができる。MAC層コンポーネント34は、エラー制御デコーディング、例えば、リードソロモンエラー検出、エラー訂正、および、訂正できない破損データ例えば1ビット以上のグループのフラッギング(flagging)、を行うことができる。MAC層コンポーネント34は、トランスポートおよび同期パーサコンポーネント(Transport and Sync. Parser component)(TSP)39とインタフェースをとる。
TSPコンポーネント39は、トランスポート層De−Muxコンポーネント(Transport Layer De-Mux component)36およびSync.(同期)層パーサコンポーネント(Sync. (synchronization) Layer Parser component)38を更に含むことができる。トランスポート層De−Muxコンポーネント36は、MAC層コンポーネント34から渡された、正確なビットと破損ビットの両方、および破損グループのビットにフラグを立てている(flagging)情報を含んでいるビットストリームを受け取ることができる。ビットの破損グループおよび対応するフラッギング情報は、ターボデコーダCRC障害33およびリードソロモン障害35に対応する情報を備える。(あるプロトコルスタック(protocol stacks)においては、トランスポート層De−Muxコンポーネント36はまた、ストリームサブレイヤとしても知られており、ここでは、MACサブレイヤとストリームサブレイヤは、両方とも、トランスポート層のサブレイヤである。)トランスポート層De−Muxコンポーネント36は、それが複数のビットストリーム中に受け取るビットストリームを、デマルチプレックスする(demultiplex)(De−Mux)あるいは構文解析することができる。構文解析されたビットストリームは、異なるアプリケーション、例えば、ビデオデコーダ、オーディオデコーダ、および、テキスト、グラフィックスおよび画像のアプリケーションの様々な組合せなど、を対象としたビットストリームを含むことができる。トランスポート層De−Muxコンポーネントはまた、例えばビデオビットストリームのような単一のアプリケーションを対象としたビットストリームを、ベース層およびエンハンスメント層のような2以上の別々の層(例えばスケーラブルコーディング(scalable coding)を使って)に構文解析することができる。これらの層は、そのあと、スケーラビリティ(scalability)、例えば、時間的及び/又はSNRスケーラビリティ、を提供するために使用されることができる。スケーラブルコーディングの1つの例は、イントラ符号化された画像(Intra- coded pictures)(Iフレームのような)、および異なるインター符号化された画像(inter-coded pictures)(例えば、動き補償予測を使用して導き出されたBフレームあるいはPフレームのような)を、ビットストリームにおいて異なる層に分割する。Iフレームはベース層において符号化されることができ、P及び/又はBフレームはエンハンスメント層において符号化されることができる。スケーラブルコーディングは、動的なチャネルにおいて有用であり、そこでは、スケーラブルビットストリームは、ネットワーク帯域幅の変動に対応する(match)ように適合されることができる。エラーがありがちなチャネルにおいては、スケーラブルコーディングは、ベース層およびエンハンスメント層の同等でないエラープロテクションを通して強健さ(robustness)を加えることができる。よりよいエラープロテクションは、より重要な層に適用されることができる。
Sync.(同期)層パーサコンポーネント38は、時間同期ベース(time- synchronous basis)で互いに関連するサブビットストリームに関してビットストリームの構文解析を更に行なう。マルチメディアビデオビットストリームは、ビデオビットストリーム、オーディオビットストリームおよび字幕(closed captioning)用の関連するテキストを備えたビットストリームに構文解析されることができる。Sync.層パーサコンポーネント38は、時間同期情報(time-synchronization information)と共に関連するデコーダアプリケーションへ構文解析されたビットストリームを送る。これは、関連するオーディオ、ビデオおよびテキストが、適切な時間に表示されプレイされることを可能にする。
上記に論考された構文解析に加えて、トランスポート層De−Muxコンポーネント36は、それがMAC層コンポーネント34および物理層32から受け取る破損フラッギング情報(例、CRC障害情報33およびリードソロモン障害情報35)を構文解析し、Sync.層パーサコンポーネント38及び/又は適切なアプリケーション層プロセス(例、ビデオでコーダ、あるいはオーディオでコーダ)に送ることができる。Sync.層パーサコンポーネント38は、破損フラッギング情報をエラー分布情報(error distribution information)37の形式で送ることができる。Sync.層パーサコンポーネント38はまた、推奨されるエラー制御戦略情報(error control strategy information)41も送ることができる。アプリケーション層プロセスは、そのあと、エラー処理のために、破損フラッギング情報37およびコントロール戦略情報41を使用することができる。
アプリケーション層コンポーネント50は、例えば、エラー回復コンポーネント(Error Recovery component)40、スケーラビリティコンポーネント(Scalability Component)42、フレームレートアップ変換(Frame Rate Up Conversion)(FRUC)コンポーネント44、コアアプリケーションデコーディングコンポーネント(Core Application Decoding component)46および後処理コンポーネント(Post Processing Component)48のような、1つ以上のコンポーネントを含むことができる。アプリケーション層コンポーネント50は、破損データを操作し、そうすることによってアプリケーションデコーディングコンポーネント46を用いたより高い品質のデコーディングを提供するために、エラー回復、スケーラビリティおよびFRUCコンポーネントをどのように利用するかに関して決定するため、送られた破損フラッギング情報37および制御戦略情報41を利用する。例えば、いくつかのメディア(some media)が、重要な情報を含んでいる1つの層の中で受け取られ、残りのメディアが他の層の中で受け取られる、時間的スケーラビリティのケースにおいては、もし第2層が受け取られなかったか、あるいは失われたか、あるいは破損された場合は、FRUCは、欠落しているメディアを再構成(reconstruct)するために使用されることができる。デコーディングの後、後処理コンポーネント48は、ビデオディスプレイまたはスピーカ上でそれぞれビデオおよびオーディオ出力(OUT)の表示、あるいは、プレイ(playing)あるいはレンダーリング(rendering)をイネーブルにするために、何らかの必要な特定のハードウェア修正(hardware specific modifications)を行う。後処理コンポーネント48はまた、メディアがレンダーされる(rendered)あるいは提供される前に、拡張(enhancement)または復元(restoration)のオペレーションも行なうことができる。
コアアプリケーションデコーディングコンポーネント46は、テキストおよびグラフィックスのアプリケーションと同様にビデオデコーダ(単数又は複数)、オーディオデコーダ(単数又は複数)を含むことができる。コアアプリケーションコンポーネント46でのデコーディングより前に、あるいはその間に、様々なアプリケーションビットストリームのエラー回復、スケーラビリティおよびFRUC処理を行なうことによって、低品質ビットストリーム(エラーに起因する、低品質で符号化されたものあるいは低品質で受け取られたもの)の品質を改善するためにエンハンスメント(enhancements)が行われることができる。例えば、コンポーネント40、42および44は、標準規格ベースライン準拠H.264のビデオビットストリーム(ベースラインプロファイルは、ロウパワーデバイス用に設計された、非常に単純なプロファイルである)にエンハンスメントを示す(offer)ことができ、また、ストリームビデオ用のスケーラビリティ、獲得およびエラー障害許容力の要件を満たすために必要とされる、Bフレームおよびスライスデータ区割りのような、H.264の他のプロファイルからのある特徴を提供することができる。マルチメディアデコーダ30のコンポーネントを利用するプロセスの詳細は、以下に提供される。1つ以上のエレメントが、図2Aおよび2Bにおいて示される送信機22あるいはデコーダ30に、追加され、再配列され、あるいは組み合わされることができる。
さて、エラー検出およびエラー訂正の簡単な論考が提供される。エラー検出および訂正の方式の1つの例は、内部(チャネル)コードおよび外部(チャネル)コードの両方を含んでいる連結コードを使用する。連結チャンネルコードは、物理層におけるターボ(内部)符号と、トランスポート/MAC層の中に位置するリードソロモン(外部)消去訂正符号とから成っている(consist of)。図3は、連結されたリードソロモン消去およびターボコーディングについて組織化されたマルチメディアシンボルの一例を図示する。エンコーディングサイド(encoding side)に関しては、情報源からの出力シンボルと、エンコーダからの2進コードワード出力は、バイト102の中にブロックされる(blocked)。各バイト102は、GF(256)上の外部(N,K)リードソロモン(RS)符号の目的で、「ガロア域(Galois Field)(256)」として知られる有限フィールド(finite field)のシンボルと考えられる。NとKは、それぞれ、全RSコードワード104のサイズと、システマテック部分を保持するそのソースデータ106のサイズとを、シンボルの数で示す。従って、N―マイナスKは、各コードワード104に含まれるパリティシンボル108の数を与える。(N,K)RS符号は、NマイナスK消去を訂正することができる。
トップのK行106は、本質的に、情報源から出力されるシンボルを保持し、これらのシンボルは、行−ファースト(rows-first)か列−ファースト(columns-first)の何れかの方法でK行へとスキャンされることができる。列−ファーストのスキャンによって達成されたインタリービング(interleaving)は、与えられたターボ情報パケット行112が破損しているとき、著しく短いグループの破損ビットを結果としてもたらす。ターボ情報パケット消去に起因する、破損ビットのグループは、行ファーストのスキャンニングの場合の各々(L−1)バイトとは対照的に、列ファーストのスキャンニングの場合は、長さで各々1バイトであり得る。デコーダでは、これらの破損グループのビットのフラッギングは、下記に論考されるように、これらのビットグループの(ビットストリームにおける)サイズおよび位置を識別するのを必要とすることができる。ソースデータ配置(source data placement)のこの最初のステップの後に、(Kバイトの)L列104の各々は、N−Kパリティバイトを加えることによって、Nバイトに符号化されたRSであり、従って図3における行K+l,・・・,N108が生成される。ソースデータ106から成る(consisting of)トップのK行は、RS情報ブロックと呼ばれ、そして、N行の全セットはRS符号化ブロック(RS encoded block)あるいは単にコードブロック(code block)110と呼ばれる。
各行112は、ターボコーダ(turbo coder)の正確なオペレーションのために必要とされる、CRC(周期的冗長チェック)チェックサム(checksum)およびトレイリングビット(trailing bits)がアペンドされる(appended)。各行112にチェックサムをアペンドすることによって、ターボデコーディングの後にそれぞれのチェックサムを満たさないそれらの行は、消去されたと宣言されることができる。各コードブロック110は、一度に1つの行112がターボコーダへ入力される、従って、各行はターボ情報パケットと呼ばれる。
ターボデコーディングプロセスは、リードソロモンデコーディングプロセスに、厳しい決定のデータ(hard-decision data)を提示し、それは、残差(residual error)のレートを更に減らす。消去について成功裡に訂正する能力は、コードブロック内の消去の総数、および、RSコードワードにつき使用されるパリティシンボルの数(NマイナスK)に、依存する。
図2のマルチメディアデコーダ30を対象としたチャンネルコーディング設計において、もしリードソロモン(RS)コードブロックが訂正容量を超えた消去を有する場合は、対応するRS情報ブロック(図3)は、Kターボ情報パケット112(図3)のどれが破損されているかの共同の通知フラッギング(joint notification flagging)と共に、トランスポート層、同期層、および最後にアプリケーション層の中のコンポーネントに渡されることができる。GF(256)上の外部(N,K)RS符号のシステマテック構造(systematic structure)は、正確に受け取られる(破損していない)ターボ情報パケットの直接的な利用を可能とする。
図4は、ストリーミングマルチメディアをデコードする方法の一例のフローダイアグラムである。雑音のある変調されたデータ(IN)が、受け取られ、そして、デコーディングプロセス60に入力され、復調される62。データは、ワイヤードあるいは無線のネットワーク、例えば、図1における無線ネットワーク26やワイヤードネットワーク28など、を横切って受け取られることができる。図2の物理層コンポーネント32は、ステップ62で、受信された雑音のあるデータを復調する動作を実行する。復調されたデータは、そのあと、エラーが検出され訂正されることができる64ところに伝えられる。図2の物理層コンポーネント32は、64のターボデコーディングの動作を実行でき、一方、図2のMAC層コンポーネント34は、64のリードソロモンエラー訂正の動作を実行できる。
ターボおよびリードソロモンデコーディングが、訂正可能なすべてのエラーを検出し訂正した64後、ターボ情報パケット及び/又は破損バイトは、例えば、フラッギングにより、例えば識別される66。構文解析68のためにビットストリームを伝える前に、パリティ行108(図3)と同様に各ターボ情報パケット中のCRCチェックサムおよびトレイリングビットも、廃棄される。正確に受け取られたデータ、不正確に受け取られたが訂正されたデータ、および、フラグが立てられた破損データ(flagged corrupt data)は、破損データを識別するフラッギング情報と共に、すべて、ビットストリーム構文解析68のために伝えられる。図2の物理層コンポーネント32及び/又はMAC層コンポーネント34は、破損データを(例えば、フラッギングによって)識別する動作66を行なうことができる。
上記に論考されたように、トランスポートDe−Muxコンポーネント36およびSync.層パーサコンポーネント38は、該ビットストリームを、複数のアプリケーション層プロセスを対象とした複数のビットストリームに構文解析する68。図4の中で示される例において、ビットストリームは、ビデオビットストリーム70、オーディオビットストリーム72およびテキスト及び/又はグラフィックスビットストリーム74に構文解析される68。各両ストリーム70、72および74は、個々のビットストリーム内のビットの破損グループを識別するデータを含むことができる。更に個々のビットストリームが時間同期(time synchronous)であるべきときは、ビットストリームはタイミング情報を含むことができる。
個々のビットストリームが構文解析された後、破損ビットが取り替えられる(replaced)78、82および86ところのアプリケーション層で、エラー回復あるいは隠蔽のいくつかの技術のうちの1つを利用して、エラー処理(error handling)がおこなわれる。図2におけるアプリケーション層コンポーネント50のエラー回復コンポーネント40、スケーラビリティコンポーネント42およびFRUCコンポーネント44は、取り替えることの動作78、82および86を実行できる。破損シンボルが交換された後、個々のビデオ、オーディオおよびテキスト/グラフィックスのビットストリームが、夫々、デコードされることができる80、84および88。図2中のアプリケーション層コンポーネント50のコアアプリケーションコンポーネント46は、デコーディングを実行できる80、84および88。図2中のアプリケーション層コンポーネント50のコアアプリケーションコンポーネント46はまた、フラグが立てられていた可能性がある破損ビットを、下層コンポーネントと取り替えることもできる78、82及び/又は86。図4において示されるプロセス60に対し、1つ以上のエレメントが、追加され、再配列され、あるいは組み合わされることができる。
図4において示されるような、破損データのフラッギングによって、破損ビットを識別すること66の一例が、今より、より詳細に論考される。図5は、ビデオデータ用のターボ情報パケット構造を図示する。ブロック140は、図3の中で図示されたRS情報ブロックを構成するターボ情報パケット106のK行のような、1セットのターボ情報パケットを表わす。ビデオのフレームは、符号化されるべきデータの、1つよりも多いターボ情報パケットを要求できる。例えば、第1のフレーム、Fl、は、情報ブロック148Aにおける行142Aにおいて始められる。フレームFlにおける残存するデータは、行142B、142C、142Dおよび行142Eの第1の部分に位置する。行142Aはまた、同期ヘッダヘッダ(SH)146Aを含んでおり、それは、ストリーム識別、同期時間、フレーム識別(ベース層およびエンハンスメント層の場合はフレーム番号(frame number)、そして多分層番号(possibly layer number))などの情報、および他の情報、を含む。同期ヘッダ146Aは、同期層パーサ(図2における38を参照)に対し、フレームFlを表わす次の情報ブロックに含まれるデータをどこで(どのアプリケーションで)送るのかを識別するように機能する。上記で論考したように、各行の最後にCRCチェックサムがあり、それは、消去された(破損された)パケットを識別するためにリードソロモンデコーディングに関連して使用される。
各ターボ情報パケット行の初めには、トランスポート層ヘッダ(TH)144がある。
各TH144は、ラスト_フラッグとオフセット_ポインタとを含んでいる。破損ターボ情報パケットのフラッギングは、図4の状態66で実行され、オフセット_ポインタ値自体によって行われることができる。オフセット_ポインタを誤用の値(illegitimate value)に設定することは、パケットが破損していることを示す(signify)ことができる。あるいは、エラー_フラッグフィールドは、THの中で使用されてもよい。フラッギングは、対応するTHにおける設定(エラー_フラッグ=1)によって達成されることができる。例えば、もし行142Cが破損している場合、そのときは、行142CのTHは1に等しく設定されることができる。ラスト_フラッグは、現在の行がフレームの最後の行であることを(例えばそれを1に等しく設定することにより)示すために使用され、そしてもしそれが最後の行である場合は、そのときは、オフセット_ポインタは、ターボ情報パケット行の中のどこで次のフレームが始まるのかを示すために使用される(バイトの数で)。例えば、行142Eにおいて、TH144Bは(ラスト_フラッグ=1)を持つことができ、そして、オフセット_ポインタは、TH144Cの開始(フレームF3の開始)の前の行に含まれていたバイトの数に等しくできる。同期ヘッダ146Bは、上記に論考されたように、フレーム_IDおよびビットストリームを示すデータを含むことができる。情報ブロック148Cは、フレームF3を表わすビデオデータを含む。もし行142Eが破損されていると決定される場合、そのときは、デコーダは、フレームFlがどこで終了し、フレームF3がどこで始まるかを、決定することができないかもしれない。
上記に論考されたようにトランスポートヘッダ中にエラー_フラッグを含んでいることに加えて(あるいはその代わりに)、データテーブル(data table)が構成され、各ビデオフレームについて表1にリストされた情報と共にアプリケーション層へ送られることができるであろう。
Figure 0004741649
表1に似た、他のビットストリームエラーテーブルが構成されることができる。トランスポートヘッダ及び/又は表1のようなエラーテーブルに含まれるエラーフラッギング情報は、図4においてそれぞれ、構文解析されたビットストリーム70、72および74中の破損シンボルを識別し、ステップ78、82および86でそれら取り替えるために、図2のコンポーネント40、42および44のような、アプリケーション層コンポーネントによって利用されることができる。上記に論考されたように、RSコーディングからの消去パケットは、廃棄されずに、しかし、ビデオデコーダのようなアプリケーション層まで処理される。これは、全パレット、ビデオパケットの場合は潜在的に長さで122以上のバイト、が失われるのを防ぐ。
破損シンボルを取り替える動作、図4中のステップ78、82および86、は2つの主な形態、エラー訂正とエラー隠蔽、を引き受けることができる。ビットストリームレベルエラー訂正および隠蔽オペレーションは、消去とバーストエラーに関して実行される。(バイトエラーに起因する)デコーディングエラーは、可能な程度まで、MAP(帰納的最大確率(Maximum a Posteriori Probability)基準を使用して訂正される。訂正することができないエラーは、空間的及び/又は時間的情報を使用して、隣接するマクロブロックから隠蔽される(マクロブロックは、画像圧縮標準規格中で一般に動作する16x16ピクセル領域であるが、8x8、8x16などのような、より小さいサブマクロブロックもまた、使用されることができるであろう)。時間的隠蔽が、例えば、画像が1つよりも多いフレームにわたって静止のとき、使用されることができる。もし、隠蔽されている破損マクロブロックが、前のフレームにおいて比較的コンスタントのままでいた領域にある場合は、それは破損フレームの中にある可能性があり、そして、過去のフレーム領域が、破損領域のための推定値(an estimate)として使用されることができるであろう。空間的隠蔽は、同じフレーム内の隣接するマクロブロック上で存続するエッジ(edges)あるいはオブジェクト(objects)を利用できる。
上記に論考されたように、同じビットストリームを表わしている、符号化されたデータの複数の層が、受け取られることができる。該層は、ベース層と1つ以上のエンハンスメント層を含むことができ、そこでは、エンハンスメント層(単数又は複数)は、(双方向性の予測Bフレームのような)ベース層においては利用可能でない特別のフレームを提供することができる、あるいは、それらは、ベース層ピクセル係数(pixel coefficients)に、より高い品質の差異がある改善(higher quality differential refinements)を供給することができる。ベース層係数への差異ある改善のケースにおいては、もしベース層が破損される場合、そのときは、エンハンスメント層は、ベース層ピクセル値に基づいてそれが導き出されたので、役に立たない可能性がある。したがって、エンハンスメント層は、もしベース層データが破損されている場合は、デコーディングから省かれることができる。このプロセスは、選択的デコーディングと呼ばれ、低いパワーシナリオ(low power scenarios)の下で使用されることもできる。例えば、デコーダにホストとして動作するデバイスが、低いパワーモード上で実行している、あるいは、低いバッテリで実行しているとき、ベース層のみが、エンハンスメント層を省略してデコードされることができ、したがって、計算サイクルをそしてさらにはパワー消費を節約する。空間的及び/又は時間的隠蔽技術は、結合されたベースプラスエンハンスメント層データ(combined base plus enhancement layer data)を取り替えることができる。
エンハンスメント層(時々、低い優先順位層として扱われる)は、ベース層(あるいは高い優先順位層)よりも低いパワーで送信されることができる。これは、ベース層上のエンハンスメント層におけるエラーの確率を増加させる。従って、受け取られたベース層が高い割合(percentage)のエラーを含んでいるときは、エンハンスメント層は潜在的に除かれる(dropped)ことができる。
双方向性の予測フレーム(Bフレーム)は、前のフレームと続いて起こる動き補償予測(motion compensated prediction)を使用するフレームの両方から予測される。Bフレームは、非常に高い圧縮比を提示し(offer)、また、帯域幅を節約するためには非常に望ましい。Bフレームはまた、それらの時間的スケーラビリティ特性のために望ましい。標準規格準拠Bフレームは、他のどんなフレームの予測については使用されない、そして、この理由のために、それらは、他のフレームに悪影響を及ぼすことなく除かれることができる。Bフレームはまた、それらが依存するフレームにおけるエラーに起因するエラー伝播の影響をより受けやすい(susceptible)。これらの理由のため、Bフレームは、エンハンスメント(あるいは低い優先順位)層において搬送される可能性が非常に高い。もしエンハンスメント層がより低いパワーで送信される場合、そのときは、Bフレームは、エラーの影響をさらにより受けやすい。
もしBフレーム(あるいは任意の他のタイプのフレーム)が完全に破損されているか、あるいは、時間的または空間的なエラー隠蔽を実行できなくする閾値より上のエラーパーセンテージ(error percentage above a threshold)を有する場合は、フレームレートアップ変換(Frame Rate Up Conversion)(図2のFRUCコンポーネント44を参照)が利用されることができる。FRUCは、失われたフレームを再生成するために使用される。FRUCはまた、パワー節約のような理由でデコーディングからスキップされたフレームを再生成するために使用されることもできる。FRUC技術は、動きベクトルおよびピクセルの値を補間する(interpolate)ために、前のフレームおよび続いて起こるフレームから動きベクトルおよびピクセル情報を利用する。正確なFRUC技術は、この論考の範囲を超えている。FRUC技術は、デコーダのみ(decoder-only)およびエンコーダ支援(encoder-assisted)の形態を含んでいる。デコーダのみのFRUCは、どんな他の情報もなしに、フレームデータの疑似補間(pseudo- interpolation)実行する。エンコーダ支援のFRUCは、H.264の補足エンハンスメント情報(Supplemental Enhancement Information)(SEI)メッセージ、あるいは、MPEG−2のユーザ_データメッセージにおいて送信される、サイド情報(side information)を利用する。
図6は、マルチメディア受信機、例えば、図1の中で示される受信機24、の一部であることができるコンポーネントのシステムの一例のブロック図を示す。システム600は、エラー回復において使用されるマルチレイア統合システムである。図7は、システム600によって使用されることができるエラー回復のプロセスのフローチャートを示す。図6および7を参照すると、プロセス700は、マルチメディアデータの1つ以上のストリームを受け取る705。データストリームは、ビデオ、オーディオ、及び/又は、字幕テキストなどを、を含むことができる。受信された1つ以上のストリームは、符号化されたデータであり得る。符号化されたデータは、変形されたデータ(transformed data)、量子化されたデータ、圧縮されたデータあるいはそれらの組合せ、であり得る。図1Aにおける受信機24のような、受け取る手段(receiving means)は、1つ以上のストリームを受け取る705ことができる。マルチメディアの複数のストリームを受け取ることに加えて、各受信されたストリームは、複数の層、例えば、ベース層およびエンハンスメント層、を備えることができる。受信機24は、無線またはワイヤードの受信機、あるいは組合せであることができる。
ビットストリーム中に残っているエラーは、検出される710。検出されたエラーは、下層エラー訂正の後に残っているエラーを備えることができ、そして、検波プロトコルが、チャネル上で、例えば、図1の無線チャネル26またはワイヤードチャネル28上で、伝送によってもたらされたエラーのうちのいくつかを訂正している。上記に論考されたように、必ずしも全てのエラーが訂正可能だとは限らず、また、下層プロトコルのうちのどれでも、破損データ、及び/又は、エラーを含んでいるデータのグループを、マークすることができる。エラーを検出する710ために使用される下層プロトコルは、上記に論考されたように、通信層の中でインプリメントされる(implemented)ことができる。通信層は、物理層、MAC層(あるいはストリーム層)、あるいはトランスポート層、のうちの1つあるいは組合せ、あるいはそれらの組合せ、であることができる。図6におけるエラー検出器605のような検出器手段は、エラー検出を実行する710ことができる。エラー検出器605は、当業者に知られている様々な検波方式のうちのいずれか、例えば、上記に論考されたようなリードソロモン及び/又はターボ符号方式を使用することができる。エラー検出は、ターボデコーダ中のCRC障害のためであり得る。エラー検出は、リードソロモンデコーダの障害のためであり得る。
検出されたエラーはいくつかの方法による制御される715ことができる。制御715は、上記に論考されたように、破損データのマーキング(あるいはフラッギング)を備えることができる。コントロール715は、検出されたエラーを含んでいる、データのグループ、例えば、パケット、ブロック、スライス、フレーム、マクロブロック、サブマクロブロック、を識別することによって、エラーをローカライズすること(localizing)を備えることができる。制御715、はトランスポート層プロトコルに基づくことができる。そのようなプロトコルは、上層による使用のためのトランスポート層ヘッダの中の1ビット以上を符号化することにより、残っているエラーをマークすることができる(図1Bおよび1Cを参照)。上層は、1つ以上の破損トランスポート層パケットから構成される上層パケットを、更に識別し、且つ/又は、ローカライズする(localize)ために、トランスポート層ヘッダエラーインジケータを使用することができ、そうすることによって、更に、上層ビットストリームにおけるエラーをローカライズする。図6におけるエラーコントローラ610のような制御手段は、エラー制御タスク(error control tasks)を行なうことができる。
エラー分布(error distribution)が決定される720。一態様においては、エラー分布は、同期層プロトコルに基づいて決定される。受け取られた705、1つ以上のビットストリームは、同期層で構文解析される(parsed)ことができる。もし同期層が、より低い、例えば、通信層の1つから、破損データをマークしている情報を受け取る場合は、それは、どのビットストリームのどの部分が破損されているかを識別することができる。そのような情報を持つことは、同期層プロトコルが、上層(例、アプリケーション層)のエラー隠蔽及び/又はエラー回復戦略(error recovery strategies)を計画するのを可能にすることができる。異なる戦略が、破損データのサイズに応じて適用されることができる。誤りがあるとマークされ得る、トランスポート層パケットは、それらがどのビットストリームの部分であるかに応じて、様々なアプリケーション層コンポーネントに送られるべき同期層パケットに、結合されることができる。トランスポート層パケットは、固定長であることができ、また、同期層パケットは、可変長であることができる。同期層は、可変長パケットのどの部分が破損トランスポート層パケットを含むのかを識別するデータを挿入することにより、エラー分布を識別することができる。エラー制御715情報を使用することに加えて、同期層プロトコルは、更に、エラー検出方法を含むことができる。これらのエラー検出方法は、同期層パケットのCRCをチェックすることを含むことができる。決定されたエラー分布は、構文解析されたデータパケットにエラーマーキングを挿入することにより、アプリケーション層コンポーネントに更に伝えられる(communicated)ことができる。エラー分布デタミナ(error distribution determiner)615のような決定する手段(determining means)は、エラー分布を決定する720ことができる。
エラー回復は、1つ以上の符号化されたマルチメディアデータストリームの部分上で実行される725ことができる。エラー回復は、アプリケーション層プロトコルに基づくことができる。アプリケーション層コンポーネントは、エラー回復を実行することができる。アプリケーション層コンポーネントは、上記に論考されたように、同期層から受け取られた情報に基づいて、どのタイプのエラー回復を使用するのかを決定することができる。エラー回復は、他の方法と同様に、上記に論考されたように、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換(FRUC)のうちの1つまたは組合せを、備えることができる。1つ以上のマルチメディアデータストリームにおける検出されたエラーを隠蔽することは、アプリケーション層プロトコルに基づくことができる。エラー回復はまた、1つ以上のデータストリームのスケーラビリティをサポートすることができる。スケーラビリティは、上記に論考されたように、空間的または時間的スケーラビリティの1つまたは両方を含むことができる。図2Aのエラー回復コンポーネント40のようなエラー回復手段は、エラー回復725を実行することができる。エラーコンシーラ(error concealer)620のようなエラーコンシーラ手段(error concealer means)は、エラー隠蔽(error concealment)を実行することができる。図2Aおよび図6のスケーラビリティコンポーネント42および620のような、スケーラビリティ手段は、エラー回復725を行なう際にスケーラビリティをサポートすることができる。
プロセス700は、1つ以上のビットストリームの再構成730を含むことができる。再構成730は、正確に受け取られたデータと隠蔽にされたデータを結合することを備えることができる。再構成は、フレームにおけるエラーの量が閾値を超える場合に、フレームレート(時間的スケーラビリティの形態(form))を減らすことを含むことができる。再構成は、エンハンスメント層(SNRスケーラビリティの形態)をデコードしないか、隠蔽するか、訂正するかを選択することを備えることができる。アプリケーション層プロトコルは、再構成730のためのベース(basis)であり得る。データストリームリコンストラクタ(data stream reconstructor)630のような再構成手段は、再構成725を実行することができる。1つ以上のエレメントが。システム600に、追加され、再配列され、あるいは組み合わされることができる。1つ以上のエレメントが、プロセス700に、追加され、再配列され、あるいは組み合わされることができる。
上記に説明された方法および装置の例は、次のものを含む。
ビットストリームを受け取ること(receiving)と、受け取られたビットストリームのエラー制御デコーディングを行なうこと(performing error control decoding)と、なおここでは、エラー制御デコーディングは、訂正されていない破損ビットを識別することを備えている、識別された破損ビットを含んでいるエラー制御デコードされたビットストリームをデコーダに渡すこと(passing)と、識別されたビットのうちの少なくとも1つを取り替えること(replacing)と、取り替えられたビットを含んでいる、エラー制御デコードされたビットストリームをデコードすること(decoding)と、を含む、マルチメディアデータをデコードする方法。一態様においては、方法は更に、エラー制御デコードされたビットストリームを1つ以上のシンボルに構文解析することと、破損ビットを含むどんなシンボルも破損されていると識別されるように、破損ビットを識別する情報を構文解析することと、を含む。別の態様においては、方法は更に、破損ビットを識別する構文解析された情報を含んでいるエラーテーブルを構成することを含み、ここでは、エラーテーブルは、識別されたビットをビデオフレームのシーケンスにおける位置へマッピングする(mapping)情報を含んでいる。さらに別の態様においては、方法は更に、エラー制御符号化されたビットストリームを、第1の構文解析されたビットストリームおよび第2の構文解析されたビットストリームに構文解析することを含み、ここでは、第1の構文解析されたビットストリームはベース層ビットストリームであり、第2の構文解析されたビットストリームはエンハンスメント層ビットストリームである。
ビットストリームを受け取ることと、受けとられたビットストリームのエラー制御デコーディングを行なうことと、なおここでは、エラー制御デコーディングは、訂正されていない破損ビットを識別することを備えている、識別された破損ビットを含んでいるエラー制御デコードされたビットストリームをデコーダに渡すことと、識別されたビットの少なくとも1つを、第1のフレームと第2のフレームとの間でフレームレートアップ変換を行なうことによって、置き換えることと、エラー制御デコードされたビットストリームをデコードすることと、を含む、マルチメディアデータをデコードする方法。
当業者は、情報および信号は様々な異なる技術および技法のうちの任意のものを使用して表わされることができることを、理解するだろう。例えば、上記説明全体を通して参照され得るデータ、インストラクション、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光学粒子、またはそれらの任意の組み合わせ、によって表されることが出来る。
当業者は、ここに開示された例に関連して説明された、様々な説明のための、論理ブロック、モジュール、およびアルゴリズムステップは、電子的ハードウェア、ファームウェア、コンピュータソフトウェア、ミドルウェア、マイクロコード、あるいはそれらの組合せとしてインプリメントされることができることを、更に認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な説明のための、コンポーネント、ブロック、モジュール、回路、およびステップが、一般に、それらの機能の観点から上記に説明されている。そのような機能が、ハードウェアとしてあるいはソフトウェアとしてインプリメントされるかどうかは、特定のアプリケーションと、全体のシステムに課される設計制約に依存する。熟練者は、各特定のアプリケーションに対し、様々な方法で、説明された機能をインプリメントするかもしれないが、そのようなインプリメンテーションの決定は、開示された方法の範囲からの逸脱を生じさせるものと解釈されるべきではない。
ここに開示された例に関連して記述された様々な説明のための論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)あるいは他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいはここに説明された機能を実行するように設計されたそれらの任意の組み合わせ、を用いてインプリメントされるあるいは実行されることができる。汎用プロセッサは、マイクロプロセッサであってもよいが、別の方法では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、あるいはその他のそのようなコンフィギュレーション、としてインプリメントされることもできる。
ここに開示された例に関連して記述された方法あるいはアルゴリズムのステップは、ハードウェアに直接に、プロセッサによって実行されるソフトウェアモジュールに、あるいは該2つの組合せで直接具現化されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは当技術分野で知られているその他の形態の記憶媒体の中にあってもよい。一例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、かつ、記憶媒体へ情報を書き込むことができるように、プロセッサに結合される。あるいは、記憶媒体はプロセッサと一体化されてもよい。プロセッサと記憶媒体は、特定用途向け集積回路(ASIC)中に常駐してもよい。ASICは、無線モデム中に常駐してもよい。あるいは、プロセッサと記憶媒体は、無線モデム中のディスクリートコンポーネントとして常駐してもよい。
開示された例の上記の説明は、いずれの当業者にも開示された方法および装置を作る又は使用することを可能にするように提供されている。これらの例への様々な修正は、当業者には容易に明らかであろう、そして、ここに定義された原理は他の例に適用されることができ、更なるエレメントが追加されてもよい。
このように、インテリジェントエラー隠蔽および破損データのエラー訂正を行うために、デコーダアプリケーションにおいて、ビット破損フラッギング情報および破損データを利用して、リアルタイムストリーミングマルチメディアをデコードする、方法および装置が、説明された。
以下に、本願発明の当初の特許請求の範囲に記載された発明を付記する。
[1]
エラー回復において使用されるマルチレイア統合のための方法であって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
を備える方法。
[2]
前記第1層は通信層を備える、[1]記載の方法。
[3]
前記通信層は、物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、[2]記載の方法。
[4]
トランスポート層プロトコルに基づいて前記検出されたエラーを制御すること、
を更に備える[1]記載の方法。
[5]
前記検出されたエラーを制御することは、前記検出されたエラーをローカライズすることを備える、[4]記載の方法。
[6]
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定すること、
を更に備える[1]記載の方法。
[7]
前記第2層はアプリケーション層を備える、[1]記載の方法。
[8]
エラー回復において使用されるマルチレイア統合のための装置であって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出するための手段と、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽するための手段と、
を備える装置。
[9]
前記第1層は通信層を備える、[8]記載の装置。
[10]
前記通信層は、物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、[9]記載の装置。
[11]
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するための手段、
を更に備える[8]記載の装置。
[12]
前記検出されたエラーを制御するための手段は、
前記検出されたエラーをローカライズするための手段を備える、
[11]記載の装置。
[13]
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定するための手段、
を更に備える[8]記載の装置。
[14]
前記第2層はアプリケーション層を備える、[8]記載の装置。
[15]
エラー回復において使用されるマルチレイア統合のための装置であって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出する検出器と、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽するコンシーラと、
を備える装置。
[16]
前記第1層は通信層を備える、[15]記載の装置。
[17]
前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、[16]記載の装置。
[18]
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するコントローラ、
を更に備える[15]記載の装置。
[19]
前記コントローラは前記検出されたエラーをローカライズする、[18]記載の装置。
[20]
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定するデタミナ、
を備える[15]記載の装置。
[21]
前記第2層はアプリケーション層を備える、[15]記載の装置。
[22]
エラー回復において使用されるマルチレイア統合のためのプロセッサであって、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出し、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽する、
ように構成された、プロセッサ。
[23]
前記第1層は通信層を備える、[22]記載のプロセッサ。
[24]
前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、[23]記載のプロセッサ。
[25]
トランスポート層プロトコルに基づいて前記検出されたエラーを制御する、
ように更に構成された、[22]記載のプロセッサ。
[26]
前記コントローラは前記検出されたエラーをローカライズする、[25]記載のプロセッサ。
[27]
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定する、
ように更に構成された、[22]記載のプロセッサ。
[28]
前記第2層はアプリケーション層を備える、[22]記載のプロセッサ。
[29]
エラー回復において使用されるマルチレイア統合のための方法を具現化するコンピュータ可読媒体であって、前記方法は、
第1層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
第2層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
備える。
コンピュータ可読媒体
[30]
前記第1層は通信層を備える、[29]記載のコンピュータ可読媒体。
[31]
前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、[30]記載のコンピュータ可読媒体。
[32]
前記方法は、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御すること、
を更に備える、
[29]記載のコンピュータ可読媒体。
[33]
前記検出されたエラーを制御することは、
前記検出されたエラーをローカライズすること、
を更に備える、
[32]記載のコンピュータ可読媒体。
[34]
前記方法は、
同期層プロトコルに基づいて前記検出されたエラーのエラー分布を決定すること、
を更に備える、
[29]記載のコンピュータ可読媒体。
[35]
前記第2層はアプリケーション層を備える、[29]記載のコンピュータ可読媒体。
[36]
エラー回復において使用されるマルチレイア統合のための方法であって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御することと、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定することと、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
を備える方法。
[37]
エラー回復において使用されるマルチレイア統合のための装置であって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出するための手段と、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するための手段と、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定するための手段と、
アプリケーション層プロトコルに基づいてマルチメディアデータにおける前記検出されたエラーを隠蔽するための手段と、
を備える装置。
[38]
エラー回復において使用されるマルチレイア統合のための装置であって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出する検出器と、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御するコントローラと、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定するデタミナと、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽するコンシーラと、
を備える装置。
[39]
エラー回復において使用されるマルチレイア統合のためのプロセッサであって、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出し、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御し、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定し、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽にする、
ように構成された、プロセッサ。
[40]
エラー回復において使用されるマルチレイア統合のための方法を具現化するコンピュータ可読媒体であって、前記方法は、
通信層プロトコルに基づいてマルチメディアデータにおけるエラーを検出することと、
トランスポート層プロトコルに基づいて前記検出されたエラーを制御することと、
同期層プロトコルに基づいて前記制御されたエラーのエラー分布を決定することと、
アプリケーション層プロトコルに基づいて前記マルチメディアデータにおける前記検出されたエラーを隠蔽することと、
を備える、
コンピュータ可読媒体。
[41]
マルチメディアデータ処理において使用される方法であって、
符号化されたマルチメディアデータのエラー回復を行なうことと、
前記符号化されたマルチメディアデータのスケーラビリティをサポートすることと、
を備える方法。
[42]
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、[41]記載の方法。
[43]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[41]記載の方法。
[44]
マルチメディアデータ処理において使用される装置であって、
符号化されたマルチメディアデータのエラー回復を行なうための手段と、
前記符号化されたマルチメディアデータのスケーラビリティをサポートするための手段と、
を備える装置。
[45]
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、[44]記載の装置。
[46]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[44]記載の装置。
[47]
マルチメディアデータ処理において使用される装置であって、
符号化されたマルチメディアデータのエラー回復を行なうエラー回復コンポーネントと、
前記符号化されたマルチメディアデータのスケーラビリティをサポートするスケーラビリティコンポーネントと、
を備える装置。
[48]
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、[47]記載の装置。
[49]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[47]記載の装置。
[50]
マルチメディアデータ処理において使用されるプロセッサであって、
符号化されたマルチメディアデータのエラー回復を行ない、
前記符号化されたマルチメディアデータのスケーラビリティをサポートする、
ように構成されたプロセッサ。
[51]
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、[50]記載のプロセッサ。
[52]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[50]記載のプロセッサ。
[53]
マルチメディアデータ処理において使用される方法を具現化するコンピュータ可読媒体であって、前記方法は、
符号化されたマルチメディアデータのエラー回復を行なうことと、
前記符号化されたマルチメディアデータのスケーラビリティをサポートすることと、
を備える、
コンピュータ可読媒体。
[54]
前記スケーラビリティは、空間的および時間的スケーラビリティの一方または両方を備える、[53]記載のコンピュータ可読媒体。
[55]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[53]記載のコンピュータ可読媒体。
[56]
マルチメディアストリーム処理において使用される方法であって、
符号化されたマルチメディアデータの複数のストリームを受け取ることと、
ストリームの誤り部分上でエラー回復を行なうことと、
前記複数のストリームからのマルチメディアデータを再構成することと、
を備える方法。
[57]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[56]記載の方法。
[58]
マルチメディアストリーム処理において使用される装置であって、
符号化されたマルチメディアデータの複数のストリームを受け取るための手段と、
ストリームの誤り部分上でエラー回復を行なうための手段と、
前記複数のストリームからの前記マルチメディアデータを再構成するための手段と、
を備える装置。
[59]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[58]記載の装置。
[60]
マルチメディアストリーム処理において使用される装置であって、
符号化されたマルチメディアデータの複数のストリームを受け取る受信機と、
ストリームの誤り部分上でエラー回復を行なうエラー回復コンポーネントと、
前記複数のストリームからの前記マルチメディアデータを再構成するリコンストラクタと、
を備える装置。
[61]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[60]記載の装置。
[62]
マルチメディアストリーム処理において使用されるプロセッサであって、
符号化されたマルチメディアデータの複数のストリームを受け取り、
ストリームの誤り部分上でエラー回復を行ない、
前記複数のストリームからの前記マルチメディアデータを再構成する、
ように構成された、プロセッサ。
[63]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[62]記載のプロセッサ。
[64]
マルチメディアストリーム処理において使用される方法を具現化するコンピュータ可読媒体であって、前記方法は、
符号化されたマルチメディアデータの複数のストリームを受け取ることと、
ストリームの誤り部分上でエラー回復を行なうことと、
前記複数のストリームからの前記マルチメディアデータを再構成することと、
を備える、
コンピュータ可読媒体。
[65]
前記エラー回復は、時間的エラー隠蔽、空間的エラー隠蔽およびフレームレートアップ変換のうちの1つかまたは組み合わせかを備える、[64]記載のコンピュータ可読媒体。
図1Aは、ストリーミングマルチメディアを配信するための通信システムの一例のブロック図である。 図1Bは、ストリーミングマルチメディアを配信するための多層通信システムの一例のブロック図である。 図1Cは、ストリーミングマルチメディアを配信するための多層通信システムの別の例のブロック図である。 図2Aは、ストリーミングマルチメディアをデコードするためのデコーダデバイスアーキテクチャの一例のブロック図である。 図2Bは、送信機を含むマルチレイア統合管理システムのプロトコルスタックダイアグラムであり、また、図2Aのデコーダデバイスアーキテクチャについての別のビューである。 図3は、連結されたリードソロモン消去およびターボコーディングについて構成されたマルチメディアシンボルの例を表す。 図4は、ストリーミングマルチメディアをデコードする方法の一例のフローダイアグラムである。 図5は、ビデオデータ用のターボ情報パケット構造を図示する。 図6は、図1の中で示されるようなマルチメディア受信機24の一部であることができるコンポーネントの一例のシステムのブロック図を示す。 図7は、エラー回復のプロセスのフローチャートを示す。

Claims (25)

  1. 通信システムにおいてマルチメディアを伝達することにおけるエラー回復において使用されるマルチレイア統合のための方法であって、
    通信層のためのプロトコルに基づいてマルチメディアデータにおけるエラーをエラー検出手段によって検出することと、
    同期層のためのプロトコルに基づいて、前記検出されたエラーと関連づけられたエラー分布をエラー分布決定手段によって決定すること、
    前記同期層のための前記プロトコルと前記エラー分布とに基づいて、エラー隠蔽戦略をエラー隠蔽戦略決定手段によって決定することと、
    アプリケーション層のためのプロトコルと前記エラー隠蔽戦略とに基づいて、前記マルチメディアデータにおける前記検出されたエラーをエラー隠蔽手段によって隠蔽することと、
    を備える方法。
  2. 前記通信層は、物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項1記載の方法。
  3. トランスポート層プロトコルに基づいて前記検出されたエラーを制御すること、
    を更に備える請求項1記載の方法。
  4. 前記検出されたエラーを制御することは、前記検出されたエラーをローカライズすることを備える、請求項3記載の方法。
  5. 前記同期層の前記プロトコルに基づいて、前記エラー分布から複数のエラーマーキングを決定することと、
    前記同期層の前記プロトコルによって、前記マルチメディアデータの1つまたは複数のパケットに前記複数のエラーマーキングを挿入することと、
    を更に備え、
    前記マルチメディアデータにおける前記検出されたエラーを隠蔽することは、前記アプリケーション層のための前記プロトコルと、前記エラー隠蔽戦略と、そして、前記複数のエラーマーキングとに基づいて、前記マルチメディアデータにおける前記検出されたエラーを隠蔽することを備える、
    請求項1記載の方法。
  6. 通信システムにおいてマルチメディアを伝達することにおけるエラー回復において使用されるマルチレイア統合のための装置であって、
    通信層のためのプロトコルに基づいてマルチメディアデータにおけるエラーをエラー検出手段によって検出するための手段と、
    同期層のためのプロトコルに基づいて、前記検出されたエラーと関連づけられたエラー分布をエラー分布決定手段によって決定するための手段と、
    前記同期層のための前記プロトコルと前記エラー分布とに基づいて、エラー隠蔽戦略をエラー隠蔽戦略決定手段によって決定するための手段と、
    アプリケーション層のためのプロトコルと、前記エラー隠蔽戦略とに基づいて、前記マルチメディアデータにおける前記検出されたエラーをエラー隠蔽手段によって隠蔽するための手段と、
    を備える装置。
  7. 前記通信層は、物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項6記載の装置。
  8. トランスポート層プロトコルに基づいて前記検出されたエラーを制御するための手段、 を更に備える請求項6記載の装置。
  9. 前記検出されたエラーを制御するための手段は、
    前記検出されたエラーをローカライズするための手段を備える、
    請求項8記載の装置。
  10. 前記同期層の前記プロトコルに基づいて、前記エラー分布から複数のエラーマーキングを決定するための手段と、
    前記同期層の前記プロトコルによって、前記マルチメディアデータの1つまたは複数のパケットに前記複数のエラーマーキングを挿入するための手段と、
    を更に備え、
    前記マルチメディアデータにおける前記検出されたエラーを隠蔽するための手段は、前記アプリケーション層のための前記プロトコルと、前記エラー隠蔽戦略と、そして、前記複数のエラーマーキングとに基づいて、前記マルチメディアデータにおける前記検出されたエラーを隠蔽するための手段、を備えている、
    請求項6記載の装置。
  11. 通信システムにおいてマルチメディアを伝達することにおけるエラー回復において使用されるマルチレイア統合のための装置であって、
    通信層のためのプロトコルに基づいてマルチメディアデータにおけるエラーをエラー検出手段によって検出する検出器と、
    同期層のためのプロトコルに基づいて、前記検出されたエラーと関連づけられたエラー分布をエラー分布決定手段によって決定するエラー分布デタミナと、
    前記同期層のための前記プロトコルと前記エラー分布とに基づいて、エラー隠蔽戦略をエラー隠蔽戦略決定手段によって決定するエラー隠蔽戦略デタミナと、
    アプリケーション層のためのプロトコルと前記エラー隠蔽戦略とに基づいて、前記マルチメディアデータにおける前記検出されたエラーをエラー隠蔽手段によって隠蔽するコンシーラと、
    を備える装置。
  12. 前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項11記載の装置。
  13. トランスポート層プロトコルに基づいて前記検出されたエラーを制御するコントローラ、
    を更に備える請求項11記載の装置。
  14. 前記コントローラは前記検出されたエラーをローカライズする、請求項13記載の装置。
  15. 前記エラー分布デタミナは、
    前記同期層のための前記プロトコルに基づいて、前記エラー分布から複数のエラーマーキングを決定し、
    前記同期層のための前記プロトコルによって、前記マルチメディアデータの1つまたは複数のパケットに前記複数のエラーマーキングを挿入する、
    ようにさらに構成されており、
    前記コンシーラは、前記アプリケーション層のための前記プロトコルと、前記エラー隠蔽戦略と、そして、前記複数のエラーマーキングとに基づいて、前記マルチメディアデータにおける前記検出されたエラーを隠蔽する、
    請求項11記載の装置。
  16. 通信システムにおいてマルチメディアを伝達することにおけるエラー回復において使用されるマルチレイア統合のためのプロセッサであって、
    通信層のためのプロトコルに基づいてマルチメディアデータにおけるエラーをエラー検出手段によって検出し、
    同期層のためのプロトコルに基づいて、前記検出されたエラーと関連づけられたエラー分布をエラー分布決定手段によって決定し、
    前記同期層のための前記プロトコルと前記エラー分布とに基づいて、エラー隠蔽戦略をエラー隠蔽戦略決定手段によって決定し、
    アプリケーション層のためのプロトコルと前記エラー隠蔽戦略とに基づいて前記マルチメディアデータにおける前記検出されたエラーをエラー隠蔽手段によって隠蔽する、
    ように構成された、プロセッサ。
  17. 前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項16記載のプロセッサ。
  18. トランスポート層プロトコルに基づいて前記検出されたエラーを制御する、
    ように更に構成された、請求項16記載のプロセッサ。
  19. 前記コントローラは前記検出されたエラーをローカライズする、請求項18記載のプロセッサ。
  20. 前記プロセッサは、
    前記同期層の前記プロトコルに基づいて、前記エラー分布から複数のエラーマーキングを決定し、
    前記同期層の前記プロトコルによって、前記マルチメディアデータの1つまたは複数のパケットに前記複数のエラーマーキングを挿入し、
    前記アプリケーション層のための前記プロトコルと、前記エラー隠蔽戦略と、そして、前記複数のエラーマーキングとに基づいて、前記マルチメディアデータにおける前記検出されたエラーを隠蔽する
    ようにさらに構成されている、
    請求項16に記載のプロセッサ。
  21. 通信システムにおいてマルチメディアを伝達することにおけるエラー回復において使用されるマルチレイア統合のための方法を具体化するコンピュータ可読記憶媒体であって、1つまたは複数のプロセッサに、
    通信層のためのプロトコルに基づいてマルチメディアデータにおけるエラーをエラー検出手段によって検出させ、
    同期層のためのプロトコルに基づいて、前記検出されたエラーと関連づけられたエラー分布をエラー分布決定手段によって決定させ、
    前記同期層のための前記プロトコルと前記エラー分布とに基づいて、エラー隠蔽戦略をエラー隠蔽戦略決定手段によって決定させ、
    アプリケーション層のためのプロトコルと前記エラー隠蔽戦略とに基づいて前記マルチメディアデータにおける前記検出されたエラーをエラー隠蔽手段によって隠蔽させる、
    インストラクション、
    を備えるコンピュータ可読記憶媒体。
  22. 前記通信層は物理層、MAC層およびトランスポート層のうちの1つかまたは組合せを備える、請求項21記載のコンピュータ可読記憶媒体。
  23. 前記インストラクションは、さらに前記1つまたは複数のプロセッサに、
    トランスポート層プロトコルに基づいて前記検出されたエラーを制御させる、
    請求項21記載のコンピュータ可読記憶媒体。
  24. 前記1つまたは複数のプロセッサに前記検出されたエラーを制御させる前記インストラクションは、
    前記1つまたは複数のプロセッサに、前記検出されたエラーをローカライズさせるインストラクション、
    を備える、
    請求項23記載のコンピュータ可読記憶媒体。
  25. 前記1つまたは複数のプロセッサに、
    前記同期層のための前記プロトコルに基づいて、前記エラー分布から複数のエラーマーキングを決定させ、
    前記同期層のための前記プロトコルによって、前記マルチメディアデータの1つまたは複数のパケットに前記複数のエラーマーキングを挿入させる、
    インストラクション、
    をさらに備え、
    前記1つまたは複数のプロセッサに前記マルチメディアデータにおける前記検出されたエラーを隠蔽させる前記インストラクションは、前記1つまたは複数のプロセッサに、前記アプリケーション層のための前記プロトコルと、前記エラー隠蔽戦略と、そして、前記複数のエラーマーキングとに基づいて、前記マルチメディアデータにおける前記検出されたエラーを隠蔽させるインストラクション、を備える、
    請求項21記載のコンピュータ可読記憶媒体。
JP2008500999A 2005-03-10 2006-03-10 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ Expired - Fee Related JP4741649B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US66092305P 2005-03-10 2005-03-10
US66068105P 2005-03-10 2005-03-10
US66086705P 2005-03-10 2005-03-10
US60/660,923 2005-03-10
US60/660,867 2005-03-10
US60/660,681 2005-03-10
PCT/US2006/008763 WO2006099223A2 (en) 2005-03-10 2006-03-10 A decoder architecture for optimized error management in streaming multimedia

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010173711A Division JP2011019246A (ja) 2005-03-10 2010-08-02 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ

Publications (2)

Publication Number Publication Date
JP2008537654A JP2008537654A (ja) 2008-09-18
JP4741649B2 true JP4741649B2 (ja) 2011-08-03

Family

ID=36910929

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2008500999A Expired - Fee Related JP4741649B2 (ja) 2005-03-10 2006-03-10 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ
JP2010173711A Withdrawn JP2011019246A (ja) 2005-03-10 2010-08-02 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ
JP2013133733A Expired - Fee Related JP5738929B2 (ja) 2005-03-10 2013-06-26 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2010173711A Withdrawn JP2011019246A (ja) 2005-03-10 2010-08-02 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ
JP2013133733A Expired - Fee Related JP5738929B2 (ja) 2005-03-10 2013-06-26 ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ

Country Status (16)

Country Link
US (1) US7886201B2 (ja)
EP (3) EP2268042B1 (ja)
JP (3) JP4741649B2 (ja)
KR (1) KR100941336B1 (ja)
CN (1) CN101790098B (ja)
AT (1) ATE456256T1 (ja)
AU (1) AU2006223287C1 (ja)
BR (1) BRPI0607627A2 (ja)
CA (1) CA2600776C (ja)
DE (1) DE602006011865D1 (ja)
ES (1) ES2336824T3 (ja)
IL (1) IL185824A0 (ja)
MX (1) MX2007011093A (ja)
NO (1) NO20075128L (ja)
TW (1) TWI424750B (ja)
WO (1) WO2006099223A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI831939B (zh) * 2019-03-25 2024-02-11 新加坡商雷蛇(亞太)私人有限公司 在音訊錯誤消除中使用遞增搜尋序列之方法及設備

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004017553A1 (de) * 2002-08-02 2004-02-26 Siemens Aktiengesellschaft Auswertung von empfangenen nutzinformationen durch fehlerverschleierungsdetektion
US7610190B2 (en) * 2003-10-15 2009-10-27 Fuji Xerox Co., Ltd. Systems and methods for hybrid text summarization
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
CN101103581B (zh) * 2005-01-19 2012-05-30 英特尔公司 数据通信方法和装置
RU2402885C2 (ru) 2005-03-10 2010-10-27 Квэлкомм Инкорпорейтед Классификация контента для обработки мультимедийных данных
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
CN101485202B (zh) * 2005-05-11 2013-10-30 高通股份有限公司 一种用于统一的错误隐匿框架的方法及设备
US8948309B2 (en) * 2005-07-26 2015-02-03 Broadcom Corporation Method and system for redundancy-based decoding of video content in a wireless system
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
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
CN105049894B (zh) * 2005-12-08 2018-03-16 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
EP1827023A1 (en) * 2006-02-27 2007-08-29 THOMSON Licensing Method and apparatus for packet loss detection and virtual packet generation at SVC decoders
US20070209057A1 (en) * 2006-03-01 2007-09-06 Broadband Wizard Inc. Wireless delivery of broadband cable signals
US8189686B2 (en) * 2006-03-03 2012-05-29 David John Boyes Systems and methods for visualizing errors in video signals
US8693538B2 (en) 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
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
WO2008086423A2 (en) * 2007-01-09 2008-07-17 Vidyo, Inc. Improved systems and methods for error resilience in video communication systems
JP2008187694A (ja) * 2007-01-31 2008-08-14 Matsushita Electric Ind Co Ltd 画像符号化装置およびその方法
US8239731B1 (en) * 2007-07-06 2012-08-07 Marvell International Ltd. Methods and apparatus for providing multilevel coset coding and probabilistic error correction
US8290059B2 (en) * 2007-08-15 2012-10-16 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
US8332736B2 (en) * 2007-11-29 2012-12-11 Texas Instruments Incorporated Decoder with resiliency to handle errors in a received data stream
EP2071852A1 (en) 2007-12-11 2009-06-17 Alcatel Lucent Process for delivering a video stream over a wireless bidirectional channel between a video encoder and a video decoder
ATE526787T1 (de) * 2007-12-11 2011-10-15 Alcatel Lucent Verfahren zum zustellen eines videostroms über einen drahtlosen kanal
US9078024B2 (en) * 2007-12-18 2015-07-07 Broadcom Corporation Video processing system with user customized graphics for use with layered video coding and methods for use therewith
US8130823B2 (en) 2007-12-19 2012-03-06 Broadcom Corporation Channel adaptive video transmission system for use with layered video coding and methods for use therewith
US9143731B2 (en) * 2008-01-02 2015-09-22 Broadcom Corporation Mobile video device for use with layered video coding and methods for use therewith
US8594191B2 (en) 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
US8144781B2 (en) 2008-01-04 2012-03-27 Broadcom Corporation Video processing system for scrambling layered video streams and methods for use therewith
US8179983B2 (en) * 2008-05-20 2012-05-15 Broadcom Corporation Video processing system with layered video coding for fast channel change and methods for use therewith
US8898448B2 (en) * 2008-06-19 2014-11-25 Qualcomm Incorporated Hardware acceleration for WWAN technologies
EP2150022A1 (en) * 2008-07-28 2010-02-03 THOMSON Licensing Data stream comprising RTP packets, and method and device for encoding/decoding such data stream
KR101003922B1 (ko) * 2008-08-04 2010-12-30 인하대학교 산학협력단 멀티미디어 서비스를 제공하기 위한 스케쥴링 방법
KR101479011B1 (ko) * 2008-12-17 2015-01-13 삼성전자주식회사 다중 대역 스케쥴링 방법 및 이를 이용한 방송 서비스 시스템
US8351600B2 (en) * 2009-10-30 2013-01-08 Cleversafe, Inc. Distributed storage network and method for encrypting and decrypting data using hash functions
DE102010002777B4 (de) 2010-03-11 2016-01-21 Universität Kassel Halbzeug für einen Solarkollektor, Solarkollektor und Verfahren zur Herstellung
US8934530B2 (en) 2011-02-01 2015-01-13 Vidyo, Inc. Spatial scalability using redundant pictures and slice groups
US8953478B2 (en) * 2012-01-27 2015-02-10 Intel Corporation Evolved node B and method for coherent coordinated multipoint transmission with per CSI-RS feedback
US9232218B2 (en) * 2012-03-01 2016-01-05 Connesta System and method for data insertion in video stream
US9203757B2 (en) * 2012-03-22 2015-12-01 Texas Instruments Incorporated Network throughput using multiple reed-solomon blocks
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
US9363017B2 (en) * 2012-07-06 2016-06-07 Qualcomm Incorporated Methods and systems of specifying coaxial resource allocation across a MAC/PHY interface
RU2623896C2 (ru) 2012-09-28 2017-06-29 Телефонактиеболагет Л М Эрикссон (Пабл) Декодирование и кодирование изображений видеопоследовательности
US9386326B2 (en) * 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
US10015486B2 (en) * 2012-10-26 2018-07-03 Intel Corporation Enhanced video decoding with application layer forward error correction
TWI486913B (zh) * 2013-06-14 2015-06-01 Vivotek Inc 具網路與錄影功能之安全監控裝置及儲存裝置的偵錯及修復方法
US9756356B2 (en) * 2013-06-24 2017-09-05 Dialogic Corporation Application-assisted spatio-temporal error concealment for RTP video
US9648351B2 (en) * 2013-10-24 2017-05-09 Dolby Laboratories Licensing Corporation Error control in multi-stream EDR video codec
WO2015093637A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법
JP2015149564A (ja) * 2014-02-05 2015-08-20 トヨタ自動車株式会社 車載通信システム
US20170163980A1 (en) * 2014-06-30 2017-06-08 Sony Corporation Information processing device and method
US10313749B2 (en) * 2015-01-15 2019-06-04 Electronics And Telecommunications Research Institute Apparatus for broadcasting scalable video contents and method using the same
US9652350B2 (en) 2015-01-22 2017-05-16 International Business Machines Corporation Evaluation of complex SAN environments
EP3076594B1 (en) * 2015-03-31 2020-09-23 Alcatel Lucent Network analyser and method for remote diagnosis of network problems
KR102126511B1 (ko) * 2015-09-02 2020-07-08 삼성전자주식회사 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
US11917206B2 (en) 2021-12-17 2024-02-27 Lenovo (Singapore) Pte. Ltd. Video codec aware radio access network configuration and unequal error protection coding
US11824653B2 (en) * 2021-12-17 2023-11-21 Lenovo (Singapore) Pte. Ltd. Radio access network configuration for video approximate semantic communications
US11756502B2 (en) * 2022-02-11 2023-09-12 Dell Products, L.P. System and method for providing fast response time performance with low latency in liquid crystal displays

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247681A (ja) * 1996-03-07 1997-09-19 Mitsubishi Electric Corp 動画像復号方法および動画像復号装置
JP2000307672A (ja) * 1999-04-26 2000-11-02 Oki Electric Ind Co Ltd 符号化情報受信復号装置
WO2003069834A1 (en) * 2002-02-13 2003-08-21 Telefonaktiebolaget L M Ericsson (Publ) Semi-reliable arq method and device thereof

Family Cites Families (49)

* 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 ローム株式会社 時分割多重通信装置
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
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
DE69939881D1 (de) 1998-03-31 2008-12-18 Samsung Electronics Co Ltd Turboenkoder/Dekoder und Rahmenverarbeitungsverfahren
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
US6192080B1 (en) * 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
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
JP4269409B2 (ja) * 1999-05-19 2009-05-27 ソニー株式会社 受信装置および方法
US6662329B1 (en) * 2000-03-23 2003-12-09 International Business Machines Corporation Processing errors in MPEG data as it is sent to a fixed storage device
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
EP1659802B1 (en) 2001-10-05 2008-07-23 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensating for motion vector errors in image data
KR100418199B1 (ko) * 2001-12-31 2004-02-14 트라이콤텍 주식회사 단거리 전용 고속 무선 통신 기반의 차량 탑재 장치
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
ATE487327T1 (de) * 2002-03-08 2010-11-15 France Telecom Verfahren zum übertragen von abhängigen datenströmen
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 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
JP4195484B2 (ja) 2003-01-07 2008-12-10 サムスン エレクトロニクス カンパニー リミテッド 複合再伝送方式の移動通信システムにおける出力バッファ制御装置及び方法
KR100952761B1 (ko) * 2003-02-25 2010-04-14 엘지전자 주식회사 시간적 확장성 영상 코딩 장치 및 방법
JP4186705B2 (ja) * 2003-05-21 2008-11-26 日本電気株式会社 デジタル放送の補完視聴サービスサーバ、携帯受信機、及びデジタル放送補完視聴サービス方式
US7450610B2 (en) * 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
KR100621093B1 (ko) 2003-06-03 2006-09-07 삼성전자주식회사 무선 pan상의 어플리케이션에 채널 시간을 할당하는장치 및 방법
US8599764B2 (en) * 2003-09-02 2013-12-03 Qualcomm Incorporated Transmission of overhead information for reception of multiple data streams
US7221680B2 (en) 2003-09-02 2007-05-22 Qualcomm Incorporated Multiplexing and transmission 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
US8582640B2 (en) * 2003-12-16 2013-11-12 Sony Corporation Adaptive joint source channel coding
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 삼성전자주식회사 멀티미디어 방송 시스템에서의 전송 에러 처리방법 및장치
EP1779673A1 (en) * 2004-07-15 2007-05-02 Qualcomm Incorporated H.264 spatial error concealment based on the intra-prediction direction
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US7653860B2 (en) * 2005-03-10 2010-01-26 Qualcomm Incorporated Transmit driver data communication
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
RU2402885C2 (ru) * 2005-03-10 2010-10-27 Квэлкомм Инкорпорейтед Классификация контента для обработки мультимедийных данных
US8165167B2 (en) * 2005-03-10 2012-04-24 Qualcomm Incorporated Time tracking for a communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247681A (ja) * 1996-03-07 1997-09-19 Mitsubishi Electric Corp 動画像復号方法および動画像復号装置
JP2000307672A (ja) * 1999-04-26 2000-11-02 Oki Electric Ind Co Ltd 符号化情報受信復号装置
WO2003069834A1 (en) * 2002-02-13 2003-08-21 Telefonaktiebolaget L M Ericsson (Publ) Semi-reliable arq method and device thereof
JP2005518142A (ja) * 2002-02-13 2005-06-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Arqによる再送を実行する方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI831939B (zh) * 2019-03-25 2024-02-11 新加坡商雷蛇(亞太)私人有限公司 在音訊錯誤消除中使用遞增搜尋序列之方法及設備

Also Published As

Publication number Publication date
CA2600776A1 (en) 2006-09-21
TWI424750B (zh) 2014-01-21
EP1869896B1 (en) 2010-01-20
EP1869896A2 (en) 2007-12-26
US20060282737A1 (en) 2006-12-14
JP2011019246A (ja) 2011-01-27
JP2013243699A (ja) 2013-12-05
AU2006223287A1 (en) 2006-09-21
EP2019554A2 (en) 2009-01-28
IL185824A0 (en) 2008-01-06
WO2006099223A3 (en) 2007-05-31
ATE456256T1 (de) 2010-02-15
EP2019554A3 (en) 2009-03-11
AU2006223287C1 (en) 2010-10-21
AU2006223287B2 (en) 2010-05-20
CN101790098A (zh) 2010-07-28
WO2006099223A2 (en) 2006-09-21
EP2268042B1 (en) 2014-07-02
NO20075128L (no) 2007-10-09
MX2007011093A (es) 2007-12-04
DE602006011865D1 (de) 2010-03-11
ES2336824T3 (es) 2010-04-16
TW200704206A (en) 2007-01-16
KR20070119675A (ko) 2007-12-20
JP2008537654A (ja) 2008-09-18
JP5738929B2 (ja) 2015-06-24
KR100941336B1 (ko) 2010-02-11
BRPI0607627A2 (pt) 2009-09-22
US7886201B2 (en) 2011-02-08
EP2268042A3 (en) 2011-08-10
CN101790098B (zh) 2016-01-20
CA2600776C (en) 2012-07-17
EP2268042A2 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
JP4741649B2 (ja) ストリーミングマルチメディアにおける最適エラー管理のためのデコーダアーキテクチャ
US8976858B2 (en) Error resilience using out of band directory information
KR100998454B1 (ko) 인 밴드 에러 패턴을 사용한 에러 복원
US6490705B1 (en) Method and apparatus for receiving MPEG video over the internet
KR20080086764A (ko) 패킷 기반의 영상 프레임 전송 방법 및 장치
RU2374787C2 (ru) Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
CN101176353B (zh) 用于流式多媒体中优化错误管理的解码器架构

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100602

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110506

R150 Certificate of patent or registration of utility model

Ref document number: 4741649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees