JP5456106B2 - ビデオ誤り隠蔽法 - Google Patents

ビデオ誤り隠蔽法 Download PDF

Info

Publication number
JP5456106B2
JP5456106B2 JP2012162934A JP2012162934A JP5456106B2 JP 5456106 B2 JP5456106 B2 JP 5456106B2 JP 2012162934 A JP2012162934 A JP 2012162934A JP 2012162934 A JP2012162934 A JP 2012162934A JP 5456106 B2 JP5456106 B2 JP 5456106B2
Authority
JP
Japan
Prior art keywords
macroblock
video
inter
lost
macroblocks
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
JP2012162934A
Other languages
English (en)
Other versions
JP2012231532A (ja
Inventor
ボズコ スティーヴン
ヨナ イラン
エルバズ モシュ
ホロウィッツ マイケル
Original Assignee
ポリコム・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ポリコム・インコーポレイテッド filed Critical ポリコム・インコーポレイテッド
Publication of JP2012231532A publication Critical patent/JP2012231532A/ja
Application granted granted Critical
Publication of JP5456106B2 publication Critical patent/JP5456106B2/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
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/553Motion estimation dealing with occlusions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • 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/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal

Landscapes

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

Description

本発明は一般にはビデオ通信に、より具体的にはビデオビットストリーム中の誤りを検出して隠蔽する方法に関する。本発明は、ビデオ会議の背景において記載され、特にそれへの応用を有するが、ここに開示される概念はいかなるデジタルエンコードされたビデオストリームにも一般に適用可能である。
ビデオ画像のデジタル化はますます重要になっている。そのグローバルな通信(たとえばビデオ会議)における使用に加えて、デジタルビデオ記録のためのビデオ画像のデジタル化もますます一般的になっている。これらの用途のそれぞれにおいて、ビデオ情報は電話線、ISDN、DSLまたは無線周波のような通信リンクを介して伝送され、あるいはDVDおよびSVCDのようなさまざまなメディアデバイス上に保存される。多くの場合、伝送および/または保存はビデオビットストリームに誤りを導入しうる。
ビデオデータの効率的な伝送、受信および/または保存は、ビデオデータのエンコード及び圧縮を要求する。ソースビデオ信号をエンコードし、圧縮することに対してはいくつかのアプローチおよび規格が存在する。いくつかの規格は、ビデオ会議用途において広範に使用されるITU-T勧告H.261、H.263およびH.264といった特定の用途のために設計されている。さらに、動画像専門家グループ(Motion Picture Experts' Group)(MPEG-1、MPEG-2、MPEG-3)によって公布された規格は、消費者電子製品その他の分野において幅広い用途を見出している。これらの各規格はその全体において参照によって組み込まれる。
いずれにせよ、デジタル画像は個別のピクセルの長方形の配列によって構成される。典型的には、画像全体が同時に処理されるのではなく、個別に処理される複数のブロックに分割される。各ブロックは所定の数の輝度ピクセルまたはルーマピクセル(概してピクセルの明るさを指定するもの)および所定の数のクロミナンスピクセルまたはクロマピクセル(概してピクセルの色を指定するもの)の長方形のグリッドを有する。所定の数のブロックが組み合わされてマクロブロックをなし、マクロブロックがたいていの圧縮方法における処理の基本単位をなす。処理単位のこの階層構造のいくつかの側面は以下でも議論されるが、処理のための画像のブロックベースの処理についての方法および技術は当業者には一般に知られており、ここで詳細に繰り返すことはしない。
画像データのマクロブロックは二つの基本技術うちの一つの変形でエンコードされうる。たとえば、「イントラ」符号化が使われうるが、この場合は元のマクロブロックは以前のフレームの対応するマクロブロックといった履歴データを参照することなくエンコードされる。あるいはまた、「インター」符号化が使われうるが、この場合は画像データのマクロブロックは該マクロブロックと以前のフレームの対応するマクロブロックのようなデータの参照マクロブロックとの差を用いてエンコードされる。これら二つの基本方式の数多くの変形が当業者には知られており、よってここで詳細に議論することはしない。一般にデータのマクロブロックを記述するために必要なビット数が最小となるエンコード技術を選択することが望ましい。イントラ符号化は典型的にはブロックを表現するのにより多くのビットを必要とし、よって一般にはインター符号化が好まれる。
ビデオ会議「通話」は典型的には二つの技術のうちの一つを使ってかけられる。伝統的には、回線交換ネットワーク(たとえばISDN電話線)が使われてきた。典型的には、これらの通話は国際電気通信連合(ITU)勧告H.320「狭帯域視覚電話システムおよび端末装置」に従ってかけられる。より最近は、インターネットのようなパケット交換ネットワークがビデオ会議のためにより広く使われるようになっている。パケット交換マルチメディア通信プロトコルには多様なものが存在し、その一例がITU勧告H.323、「パケットベースのマルチメディア通信システム」である。これらの勧告のそれぞれはここに参照によってその全体において組み込まれる。ここでの記述はこれら二つのプロトコルを背景としてなされるが、本発明はこれらのプロトコルだけに限定されるのではないことを注意しておく。
しばしば、ビデオビットストリームは、両方のネットワーク技術を縦続して経由して転送される。たとえば、H.320/H.323ゲートウェイを使うことで、ビデオ通話は二つの構内ネットワークにまたがることが許容されうる。もう一つのよくある例は、MCUへの接続のいくつかはH.323を使う一方、他の接続はH.320を使いうるようなマルチポイント通話である。H.323/H.320プロトコル変換においては任意的にビデオトランスコーダーが配備されることもあるが、ビデオトランスコーダーは高価であり、通話に遅延を加える。よって、そのようなトランスコードなしにプロトコルを変換することが有利である。
いずれの技術を使って伝送されるビデオ通話も、多くの場合伝送時の誤りを受ける。伝送にパケット交換ネットワークが使われるときには、伝送誤りは一つまたは複数の紛失パケットを生じる。パケット交換ネットワークプロトコル(RTPのような)は、受信側が一つまたは複数のパケットが失われたことを検出することを許容するようになっている。ISDNのような回線交換ネットワークがH.320の伝送のために使われるときには、伝送誤りはビットストリーム中の一つまたは複数の誤りビットを生じる。若干の誤り訂正を提供するためにBCH符号が使われるが、誤りバーストはしばしば訂正できないほど多数の誤りを有する。
しばしば、伝送誤りのためにデコーダが同期を見失ってしまう。これが起こると、誤りのすぐあとの諸ビットは(正しく受信されたのに)同期が再確立されるまで破棄しなければならない。たとえば、RFC2429を使ってパケット化されたH.263ビデオビットストリームに関するパケットが失われた場合、その後の受信パケットはGOB(group of blocks[ブロックグループ])ヘッダまたはPSC(picture start code[映像開始符号])が見出されるまで破棄される。同様に、H.263ビデオがH.320(回線交換)接続上で伝送されるとき、伝送誤り後、次のGOBヘッダまたはPSCより前に受信されたビットは破棄される。
同様に、デコーダがビットストリーム誤りを検出したときには二つの選択肢がある。第一の選択肢は、表示を凍結させて送信者に高速更新を要求することである。送信者はそのような要求に際してはイントラフレームを送ってくる。そのイントラフレームが受信されるまで(または時間切れ期間が過ぎるまで)受信者の表示は凍結したままとなる。こうした凍結したビデオの数秒間はユーザーのユーザー体験を損なう。第二の選択肢は、高速更新を要求するが、誤りのあるフレームの表示を続けることである。要求されたイントラフレームが到着するまで、明るい色のブロック、真っ黒のブロックまたは攪拌された画像などの乱れが生じる。そのような乱れは典型的には凍結表示以上にユーザー体験にとっては破壊的である。したがって、ビデオ会議における一般的な慣行は選択肢1、すなわち画面凍結を選ぶことによって誤りを隠蔽することであり続けてきた。
しかし、上述した二つの選択肢のいずれも望ましくない。したがって、当技術分野において必要とされているのは、ビデオ伝送において、ユーザー体験にとってそれほど破壊的でない誤り隠蔽の代替技術である。好ましい技術は、デコーダが欠けている、あるいは伝送損失(たとえばパケット紛失)によって破損しているデータを再構築することであろう。これを容易にするため、ある種の情報を冗長に送信するか、あるいは欠けているデータが補間によって再構築されうるようにブロックを配列するかすれば助けになる。ビデオ会議システムに関連して記述するが、ここに述べられる概念はいかなるビデオ符号化およびデコード用途にも等しく適応可能である。
ここに開示されるのは、伝送誤りの結果として失われるビデオ情報を再構築するためのシステムおよび方法である。該システムおよび方法は四つの側面がある:(1)ビットレートおよび/またはパケットレートを変える、(2)冗長情報をビデオビットストリームに挿入する、(3)ビデオの、ある領域の周期的な自動リフレッシュを提供する、(4)符号化された諸マクロブロックを送信のためにいくつかの多岐グループ(diversity group)にインターリーブすることにより紛失パケットの影響を空間的に拡散させる。すると、画像再構築はこれら三つの側面を活用して伝送損失が存在するときに向上された結果を提供しうる。
A〜Cは周辺のマクロブロックを参照することによって紛失マクロブロックの動きベクトルを推定する技術を描いた図である。 非重畳インター・マップ(A)および重畳インター・マップ(B)を含むパケットの内容を描いた図である。 A〜Bは動き航跡および動き航跡同定アルゴリズムを描いた図である。
上述したように、ビデオビットストリームから失われた情報を再構築する方法を提供することが望ましい。ある側面では、本発明は以下の要素を提供する:
・ビットレートおよび/またはパケットレートを変える。
・ビデオビットストリームに補足(冗長)情報を挿入する。
・ビデオエンコーダに自動リフレッシュ機構および航跡検出を設ける。
・符号化されたマクロブロックを伝送に先立って多岐グループにインターリーブする。
これら4つの要素は効率的な誤り隠蔽および回復を容易にするためにさまざまな仕方で組み合わせることができる。さらに、これらの要素は典型的にはビデオエンコーダおよびデコーダにおいて実装されており、これらビデオエンコーダおよびデコーダはさまざまな形を取ることができ、それには専用または共用の汎用のハードウェア、ソフトウェアおよびファームウェアのさまざまな組み合わせが含まれる。さらに、さまざまな要素は、ゲートウェイ、マルチポイント制御ユニット(MCU: multipoint control unit)などといったビデオ・サーバー・デバイスとともに実装され、修正され、あるいはその他の仕方で該ビデオ・サーバー・デバイスと対話しうる。ビデオ・サーバー・デバイスも汎用または専用のハードウェア、ソフトウェアおよびファームウェアのさまざまな組み合わせから構築されうる。
ある好ましい実施形態においては、受信者はネットワーク品質を監視し、送信者に要素の特定の組み合わせを提供するよう要求する。送信者は他の要因(たとえば、同じストリームを受信している他のデバイスからの要求)あるいは(中間ゲートウェイまたはMCUの場合)実際の送信者の機能を、その応答において考慮に入れうる。当技術分野においてよく知られているように、他の方法を使うこともできる。たとえば、送信者は、適切な隠蔽モードについて先験的または帯域外(out-of-band)情報を与えられてもよい。あるいは、送信者はネットワーク品質統計を(たとえばRTCPから)受信して、それを適切なモードを選択するために使用してもよい。
本発明のもう一つの側面は、誤りの広がりの最小化に関係する。上述したように、伝送誤りからその次の同期ヘッダ(たとえばGOBヘッダまたはPSC)までに送信されるビットは、正しく受信されたにもかかわらず破棄しなければならない。ある好ましい実施形態では、各送信パケットが同期ヘッダで始まる。これにより再同期のために正しく受信されたパケットを破棄する必要性が解消される。同様に、H.320プロトコルからH.323プロトコルに変換するとき、ゲートウェイまたはMCUは各パケットを受信された同期ヘッダと一緒に始まるよう整列させる。理想的には各パケットは、ほかには埋め込まれた同期ヘッダを含まない(パケット開始における最初のもの以降には)。パケットを同期ヘッダと整列させることは、誤り伝搬の広がりを最小化し、ビデオトランスコードの必要なくプロトコル変換デバイスにおいて実装されうる。

〈ビットレートおよび/またはパケットレートの変更〉
伝送誤り、特に紛失パケットまたは紛失ビットによって引き起こされる伝送誤りに対処する第一のアプローチは、ビットレートおよび/またはパケットレートを下げることである。いくつかの場合には、紛失パケットの原因は部分的には、パケットの送出が所与のネットワーク要素が受信できるよりも速いことである。別のいくつかの場合には、パケットオーバーヘッドがネットワーク輻輳を悪化させていることがありうる。これらいずれの場合にも、パケットレートを下げることで誤り率を低下させうる。出力パケットレートが、特に低めのビットレートの場合には部分的にはフレームレートに依存していることに注意しておく。
さらにいえば、その他さまざまな誤り隠蔽技術がビットレートおよび/またはパケットレートを上昇させるので、ネットワーク輻輳の結果として誤りが発達しつつある場合、ここに議論される他の誤り隠蔽技術を用いると、実は隠蔽または訂正される以上の誤りを生じさせることがありうる。よって、追加的な誤り隠蔽技術によって引き起こされるビットレートおよび/またはパケットレート上昇をほぼ打ち消すだけビットレートおよび/またはパケットレートを低下させることが好ましい。

〈ビデオビットストリーム中への補足的(冗長)情報の挿入〉
ここに記載される誤り訂正技術の一つの要素は、ビデオビットストリームへの冗長情報の挿入である。この冗長情報は、送信者と受信者との間でのパケット紛失の結果として何らかの情報が失われていたとしても、受信者(エンドポイントまたはゲートウェイまたはMCU)が画像を再構築できることを保証する。ビットストリーム中に挿入される冗長情報は、ビデオフレーム中の各マクロブロックがどのように符号化されたか(インターかイントラか)の「マップ」および動きベクトル場(すなわち、各インター符号化ブロックのための動きベクトル)を含む。この情報は一般にビットストリーム中に多様な仕方でエンコードされうるが、その仕方は当業者には明らかである。どのようにエンコードされようとも、この冗長情報は、受信者にとって、パケット紛失の結果として欠けているデータを以下の手順に従って再構築するために十分である。
ある実施形態では、冗長情報は、ビデオエンコードまたはデコードをそっくり行う必要なしにゲートウェイまたはMCUによって挿入または除去されうる。前記情報は、同期ヘッダの近くに置かれるので、ビットストリーム・シンボルのいくつかをデコードするだけで除去できる。前記情報は除去を簡単にするためバイト整列される。冗長情報を挿入するためには、該冗長情報を抽出するために、ビットストリーム中のシンボルのほとんどをデコードする必要がある。しかし、画像中のピクセルはデコードする必要はなく、これによりかなりの計算資源が節約され、遅延が短縮される。
ビットストリーム中での冗長情報の除去/挿入を容易にすることにより、ここに開示される諸技術ではMCU(またはゲートウェイ)が冗長情報を選択的に加えることが許容される。たとえば、前記情報を誤りが生じているネットワークリンクにのみ加えるといったことである。この動作モードでは、MCUはビットストリーム中の失われた情報を再構築するために冗長情報を使用する。たとえば、冗長動きベクトルは、失われたインター符号化ブロックをビットストリームの規格準拠部分に再挿入するために使用されることができる。上述したように、この修復はトランスコードすることなく達成できる。
また、ここで述べているさまざまな誤り隠蔽技術の一つまたは複数を用いるビデオ会議に、規格ビットストリーム(H.263のような)しか受信できないエンドポイントを含めることもできる。MCUとそのようなエンドポイントとの間のリンクはこの冗長情報を搬送することができないものの、他のすべてのエンドポイントは本発明の恩恵を受ける。MCUが冗長な補足情報を送信するエンドポイントから受信されたビットストリーム誤りを修復するからである。
インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されたものではない(すなわち、インター符号化されたものである)と示している場合、デコーダ(すなわち、エンドポイント、ゲートウェイまたはMCUのいずれでもよい受信者)は失われたマクロブロックを符号化された係数なしで動き補償されたインターブロックとして再構築する。この再構築されたブロックを使って、レンダリングされる映像とデコーダ参照フレームとの両方が更新される。拡張インター・マップ(すなわち、動きベクトルを含むもの)が受信された場合、そのマップからの冗長動きベクトルデータが再構築されたブロックのために使用される。あるいはまた、インター・マップが失われた場合、またはインター・マップが冗長動きベクトル情報を含んでいない場合、再構築されたブロックについての動きベクトルの推定が、近隣ブロックの動きベクトルを調べることによって計算される。
ある実施形態では、推定される動きベクトルは3つの近隣マクロブロック(a,b,cとする)の動きベクトルのメジアン(中央値)として計算される。具体的には、失われたマクロブロックについての動きベクトルmは(x,y)と計算される。ここで、x=(ax,bx,cx)のメジアン、ax,bx,cxはマクロブロックa,b,cの動きベクトルのx成分である。同様に、y=(ay,by,cy)のメジアン、ay,by,cyはマクロブロックa,b,cの動きベクトルのy成分である。再構築されたマクロブロックおよび該再構築されたマクロブロックについての動きベクトルを計算するのに使われた近隣マクロブロックのさまざまな配置が図1のA〜Cに示されている。たとえば、ほとんどのマクロブロックについて、図1のAの配置が好適であろう。ブロックが映像の上端にある場合には、図1のAを反転させた、図1のBに示すような配置が使用される。再構築されるブロックが画像の角にある場合には、図1のCに示すように3つだけある隣接ブロックが使用される。さらに、映像の端において動きベクトルを再構築するためには次の境界条件が適用される:
(a)映像の左端では、
x<0ならばx=0
(b)映像の右端では、
x>0ならばx=0
(c)映像の上端では,
y>0ならばy=0
(d)映像の下端では、
y<0ならばy=0
失われたマクロブロックがイントラ符号化されたマクロブロックの場合、インターリーブ(後述)がオンになっている場合にのみマクロブロックは再構築される。しかし、失われたイントラ・マクロブロックが映像の端にある場合にはインターリーブがオンであってもなくても再構築されないことを注意しておくべきであろう。インターリーブがオンになっていなければ、欠けているマクロブロックは、何だろうと使用されているビデオエンコードアルゴリズムに従って符号化されなかったかのように扱われる。ブロックが再構築される場合には、レンダリングされる映像とデコーダ参照フレームとの両方がこの再構築ブロックを使って更新される。
あるイントラ・マクロブロックが再構築されるべきである場合、失われたイントラ・マクロブロックの内容の推定値が、隣接する諸マクロブロックの空間的補間から生成される。好ましい補間方法は双線形補間であるが、多様な補間が使用可能である。
具体的には、マクロブロックの左上隅の8×8輝度ブロックについては、直上のマクロブロックのピクセルの最後の行からの8ピクセルと、左のマクロブロックのピクセルの右端の列からの8ピクセルとが、二次元双線形補間されて失われたマクロブロックに関するピクセル値を生成する。同様に、マクロブロックの右上隅の8×8ブロックについては、直上のマクロブロックのピクセルの最後の行からの8ピクセルと、右のマクロブロックのピクセルの左端の列からの8ピクセルとが、二次元双線形補間される。残りのブロックも同様な方式で処理される。各クロマ・ブロックについては、直上のマクロブロックの最後の行からの8ピクセルと左のマクロブロックの右端の列からの8ピクセルとが二次元双線形補間される。
控えめなパケット紛失率においてでさえ、同じパケットについて主ビデオと冗長マップ/動きベクトル情報の両方が失われることがありうる。たとえば、パケット紛失率が1/6とすると、両方の映像情報のソースを失う確率は1/36である。毎秒30フレームのビデオ通話では、これはほぼ1秒に1回起こることになる。重畳冗長データがこの確率を著しく減らすことができる。
重畳(overlapping)が使われない場合、各フレームにおける最初のパケットは何らのインター・マップも動きベクトル情報も保持しない。そのフレーム中の後続の各パケットは直前のパケットについてのインター・マップおよび動きベクトル情報を保持する。最終ビデオパケットに続いて、最終ビデオパケットからのマップ情報を保持するマップ終端パケットが送られる。たとえば、多岐数(diversity number)が6のCIFフレームを考える。各フレームは少なくとも7つのパケットを有し、マップ要素は図2のAに示すようになる。
重畳が使われる場合には、冗長情報は2度以上送られる。具体的には、各マップ項目が複数回送られる。重畳nの場合、各パケットは直前のn+1パケットについてのマップ情報を保持する。送られたパケットがn+1個未満だった場合は、マップ全体(マクロブロック0から始めて)が送られる。最終ビデオパケットが送られたのち、複数のマップ終端項目が送信されて、フレーム中の全パケットについて望まれる冗長性を達成する。重畳が3に設定されたとすると、各フレームは送信すべき10のパケットを有し、マップ要素は図2のBで示されるようになる。
例として、重畳が2に設定されているとすると、動きベクトルは各マクロブロックについて3回送られる(マクロブロック自身に加えて)。これらの伝送は相異なるパケットにおいて行われる。よって、あるマクロブロックについての動きベクトルは、そのマクロブロックを含むパケットに続く次の3つのパケットにそれぞれにおいて送られる。パケット紛失率が1/6でフレームレートが毎秒30フレームの上記の例では、マップとマクロブロックの両方を失う確率は1/1296、すなわち約40秒に1回に低下する。しかし、動きベクトルを複数回送ることはビットレートのオーバーヘッドを著しく増やすので、重畳が最も有利なのはより高いビットレートにおいてである。インターリーブ(後述)が使用される場合、重畳は多岐グループの数を超えることができない。インターリーブが使われない場合、重畳は画像中のGOBの数を超えることができない。

〈自動リフレッシュ機構および航跡検出〉
ここに記載される誤り隠蔽技術の第二の主要な要素は、リフレッシュ機構および/または航跡検出(wake detection)アルゴリズムである。リフレッシュ機構は、パケット紛失から生じる残りのエンコーダ/デコーダ参照フレーム不一致を始末するために使用されるべきである。リフレッシュ機構は、画像中のマクロブロックを決定論的パターンに従ってイントラ符号化する。これは特に動きのある領域において、誤りの伝搬を限定する。画像中の各マクロブロックを指定されたレートで系統的にリフレッシュする限り、いかなるリフレッシュパターンを使用してもよい。一つの好適なリフレッシュ機構は遍歴(walk around)リフレッシュである。これは次のように動作する。遍歴間隔wは、イントラ符号化されたブロック間の間隔を指定する。よって、(開始ブロックsから始まって)w番目ごとのマクロブロックはイントラとして符号化される。開始ブロックsは次の映像については(l+w) mod bとしてリセットされる。ここでlはこの映像においてリフレッシュされた最後のブロック、bは当該映像中のブロック数である。(modはもちろんモジュロすなわち剰余演算である)
wを選ぶには、映像中でスキップされるブロックがないよう注意を払う必要がある。wはまた、あるフレーム中のイントラ符号化されたブロックを多岐グループにわたって均一に拡散させるよう、多岐数(後述)の倍数とすべきでないことが提案される。wがこれらの制約条件を満たすことを保証する単純な方法は、wを多岐数の因数でない素数にすることである。
航跡検出アルゴリズムも含めることができる。ビデオを符号化するとき、ビデオフレーム中にはしばしば、オブジェクトmが動くことで見えなかった背景の一部が露わになった、すなわち見えるようになった領域が存在する。この背景領域wは動き航跡またはより簡単に航跡と呼ばれ、その様子は図3のAに描かれている。誤り隠蔽を実行するとき、動き航跡に生じる動き予測の誤りは持続的であり、目障りな視覚的乱れを引き起こす傾向がある。動き奇跡にあるマクロブロックをイントラとしてエンコードすることによってこうした乱れは軽減される。符号化閾値および量子化パラメータを航跡中では下げることも望ましい。これは映像の動いている領域のまわりで背景をシャープに保つためである。
動き航跡を検出するための一つの技術は次のようなものである:何の動きも示さないある所与のマクロブロックについて、隣接する諸マクロブロックの動きベクトルが検査される。4つの試験が実行され、各試験は左、右、上または下の動きについて検査する。こうした試験のいずれかが真であれば、そのマクロブロックは動き航跡中にあり、イントラ符号化されるべきであると同定される。図3のBは左についての試験を図解している(他の方向についての試験も同様であり、よって詳細に述べることはしない)。マクロブロックmの3つの左の近隣マクロブロック(図3のBではaと記してある)が左に向かう動きを示していて、かつマクロブロックmがほとんどあるいは全く対応した動きをもたない場合、マクロブロックmは動き航跡中にあるといわれる。より具体的には、動きがほとんどあるいは全くないことを指定する条件は|MVx|<2および|MVy|<2と書いてもよい。ここで、MVxおよびMVyはマクロブロックmのxおよびy方向の動きベクトル成分である。

〈インターリーブ/多岐グループ〉
ここに記載される誤り訂正技術の第三の要素は、インターリーブされたマクロブロック、またの名を多岐グループ(diversity group)の使用である。通常、H.263においては、マクロブロックはラスタ走査順に送られる。たとえば、CIF映像においては、0(左上)から395(右下)までの送信指数(transmission index)をもつ396個のマクロブロックがある。諸マクロブロックは、映像中で空間的に隣接している複数のブロックグループ(GOB)に編成される。マクロブロック・インターリーブが使用される場合、マクロブロック送信番号は次のように変更される:まず、各マクロブロックが、(送信指数)mod(多岐数)を取ることによって多岐グループに割り振られる(多岐数は多岐グループの数である)。多岐グループは本質的には、空間的に隣接しない諸ブロックを有するGOBである。これは、紛失パケットからの誤りを空間的に拡散させ、誤り隠蔽のためのさまざまな補間方法を許容する。エンコードのためにH.264ベースライン・プロファイルが使用される場合、FMO(flexible macroblock ordering[柔軟マクロブロック配列])が多岐グループを作成するために使用されうることを注意しておく。
多岐グループは特別な種類のGOBであるため、ビットストリームは、多岐グループ指数をGOB数として使ってGOBヘッダを含むことができる。多岐グループに割り振られたのち、マクロブロックは多岐グループごとに(グループ0を最初として)(再)整列される。多岐グループ内では、マクロブロックはアドレスが単調に増加する順に送られる。相手側がマクロブロック・インターリーブを要求したときは、多岐数を指定している。多岐数は:(a)画像中のマクロブロック数の約数である必要はなく、(b)1行のマクロブロック数の約数であってはならず(さもなければ上述した再構築技術が正しく動作しない)、(c)2〜30の範囲内であり、(d)画像中のGOBの数を超えてはならない。
たとえば、多岐数3をもつQCIF分解画像(11個のマクロブロック9行)を考える。通常、99個のマクロブロックは逐次送られる(0〜98)。マクロブロックはそれぞれ11個のマクロブロックからなる9つのGOB(0〜8と番号付ける)に編成される。しかし、インターリーブがオンだと、マクロブロックは3つの多岐グループ(diversity group)(DG0, DG1, DG2)にグループ化され、マクロブロックは次の順序で送られる。
DG0:
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96
DG1:
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97
DG2:
2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98
3つの多岐グループのそれぞれは別個のパケットとして送られる必要があることを注意しておくべきであろう。

ここに記載された誤り訂正アルゴリズムの要素のそれぞれは、所与の計算容量またはその他の機能枠組みの範囲内での所望の誤り訂正レベルを達成するために個々にまたは合わせて実装されうる。さらに、諸技術はハードウェア、ソフトウェアおよびファームウェアのさまざまな組み合わせにおいて実装されることができ、適宜ビデオエンコーダ、デコーダ、ゲートウェイ、MCUなどにおいて実装されることができる。たとえば、ここで記載されているシステムのある種の要素はエンコーダによる特定の動作を要求するが、そのようなストリームを受信できるデコーダが、一つまたは複数のビデオパケットの紛失に反応して、エンコーダがこれらの機能の一つまたは複数を使ってビットストリームを送信するよう要求してもよい。そのようなシステムの実装のために必要なさまざまな詳細、たとえば補足情報を搬送するために必要となる特定のビットストリーム修正やここにおいて記載された諸項目を決定するための計算アルゴリズムの構築は、本開示の恩恵を受ける当業者には明らかであり、よってここでは再現されない。
ここに記載された諸技術は主としてパケット紛失に対処するために考案されているが、H.320のような電話ネットワークプロトコルとも両立できる。これはパケットネットワークおよび電話ネットワークの両方のエンドポイントを含むマルチポイント会議およびゲートウェイ通話のための誤り隠蔽および回復を提供する。
本発明は例示的な実施形態を参照して説明されてきた。当業者には本発明のより広い精神および範囲から外れることなくそれにさまざまな修正がなしうることは明らかであろう。さらに、本発明は特定の実施形態における実装の背景において、そして特定の用途のために記述されてきたが、当業者は本発明の有用性がそれに限られるものではなく、本発明が有益に利用できる環境および実装はいくらでもあることを認識するであろう。以上の記述および図面はしたがって、限定的な意味ではなく解説的な意味において見なされるべきものである。
いくつかの態様を記載しておく。
〔態様1〕
ビットストリームの一部分の紛失によって引き起こされる誤りの隠蔽を容易にするようビットストリームをデジタル的にエンコードする方法であって:
冗長情報をビデオビットストリームに挿入することを含んでおり、前記冗長情報が:(a)各ブロックがイントラ符号化またはインター符号化のどちらを使って符号化されたかを指定するマップ、および(b)インター符号化された各ブロックについての冗長な動きベクトル、のうちの少なくとも一つを含んでいることを特徴とする方法。
〔態様2〕
前記冗長情報が受信者の要求でビットストリームに挿入されることを特徴とする、態様1記載の方法。
〔態様3〕
ビデオビットストリームの各ブロックを、決定論的なパターンを使って定期的にイントラ符号化ブロックとして符号化することをさらに含むことを特徴とする、態様1記載の方法。
〔態様4〕
態様3記載の方法であって、前記決定論的なパターンが遍歴リフレッシュであることを特徴とする方法。
〔態様5〕
ビデオビットストリームのうち動き航跡中にあると判定された各ブロックを、イントラ符号化ブロックとして符号化することをさらに含むことを特徴とする、態様1記載の方法。
〔態様6〕
符号化されたマクロブロックを送信のために複数の多岐グループにインターリーブすることをさらに含んでおり、空間的に隣接するマクロブロックどうしは異なる多岐グループに割り振られることを特徴とする、態様1記載の方法。
〔態様7〕
冗長情報を複数のパケットに重畳させ、各パケットが一つまたは複数の以前のパケットに対応する冗長情報を含むようにすることをさらに含むことを特徴とする、態様1記載の方法。
〔態様8〕
複数のマクロブロックのそれぞれを複数の多岐グループうちの一つに、各多岐グループが空間的に隣接でないマクロブロックを含むように割り振ることをさらに含んでおり、前記複数の多岐グループが別個のパケットで送信されることを特徴とする、態様1記載の方法。
〔態様9〕
ビデオビットストリームをデコードする方法であって:
少なくとも一部が失われているビデオビットストリームを受信し、
少なくとも一つの失われたマクロブロックを同定し、
前記ビデオストリーム中に埋め込まれているインター・マクロブロック・マップを参照して前記失われたマクロブロックを再構築する方法を決定する、
ことを含むことを特徴とする方法。
〔態様10〕
前記インター・マクロブロック・マップが失われたマクロブロックがインター符号化されていたことを示している場合に、失われたマクロブロックがビデオビットストリームに埋め込まれた冗長動きベクトルを使って再構築されることを特徴とする、態様9記載の方法。
〔態様11〕
前記インター・マクロブロック・マップが失われたマクロブロックがインター符号化されていたことを示している場合に、失われたマクロブロックが一つまたは複数の周囲のマクロブロックから動きベクトルを推定することによって再構築されることを特徴とする、態様9記載の方法。
〔態様12〕
態様11記載の方法であって、一つまたは複数の周囲のマクロブロックから動きベクトルを推定することが、複数の近隣マクロブロックの動きベクトルのメジアンを計算することを含むことを特徴とする方法。
〔態様13〕
前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示している場合に、失われたマクロブロックが符号化されていないマクロブロックとして再構築されることを特徴とする、態様9記載の方法。
〔態様14〕
前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示しており、該マクロブロックが映像の端にある場合に、該マクロブロックが再構築されないことを特徴とする、態様9記載の方法。
〔態様15〕
前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示している場合に、失われたマクロブロックが隣接マクロブロックの空間的補間によって再構築されることを特徴とする、態様9記載の方法。
〔態様16〕
ビデオビットストリームをデコードする方法であって:
少なくとも一部が失われているビデオビットストリームを受信し、
送信者が一つまたは複数の誤り訂正要素を送るよう要求することを含んでおり、
前記誤り訂正要素が、ビットレートおよび/またはパケットレートを下げる、冗長情報をビデオビットストリームに挿入する、自動リフレッシュ機構を提供する、動き航跡検出を提供する、符号化されたマクロブロックを送信に先立ち多岐グループにインターリーブする、ことからなる群から選択されることを特徴とする方法。
〔態様17〕
態様16記載の方法であって:
少なくとも一つの失われたマクロブロックを同定し、
前記ビデオストリーム中に埋め込まれているインター・マクロブロック・マップを参照して前記失われたマクロブロックを再構築する方法を決定する、
ことを含むことを特徴とする方法。
〔態様18〕
前記インター・マクロブロック・マップが失われたマクロブロックがインター符号化されていたことを示している場合に、失われたマクロブロックがビデオストリームに埋め込まれている冗長な動きベクトルを使って再構築されることを特徴とする、態様17記載の方法。
〔態様19〕
前記インター・マクロブロック・マップが失われたマクロブロックがインター符号化されていたことを示している場合に、失われたマクロブロックが一つまたは複数の周囲のマクロブロックから動きベクトルを推定することによって再構築されることを特徴とする、態様17記載の方法。
〔態様20〕
態様19記載の方法であって、一つまたは複数の周囲のマクロブロックから動きベクトルを推定することが、複数の近隣マクロブロックの動きベクトルのメジアンを計算することを含むことを特徴とする方法。
〔態様21〕
前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示している場合に、失われたマクロブロックが符号化されていないマクロブロックとして再構築されることを特徴とする、態様17記載の方法。
〔態様22〕
前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示しており、該マクロブロックが映像の端にある場合に、該マクロブロックが再構築されないことを特徴とする、態様17記載の方法。
〔態様23〕
前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示している場合に、失われたマクロブロックが隣接マクロブロックの空間的補間によって再構築されることを特徴とする、態様17記載の方法。
〔態様24〕
ビットストリームの一部分の紛失によって引き起こされる誤りの隠蔽を容易にするようビデオビットストリームを送信のためにパケット化する方法であって:各パケットに単一の同期ヘッダを挿入することを含んでおり、該単一の同期ヘッダが対応するパケットの始まりと整列されることを特徴とする方法。
〔態様25〕
マルチポイント制御ユニットが、リンクを通じたビデオビットストリームの一部の紛失によって引き起こされる少なくとも一つのリンク上の誤りの隠蔽を容易にするような、マルチポイントビデオ会議を遂行する方法であって:
ビデオビットストリーム中に冗長情報を挿入し、該冗長情報が:(a)各ブロックがイントラ符号化またはインター符号化のどちらを使って符号化されたかを指定するマップ、および(b)インター符号化された各ブロックについての冗長な動きベクトル、のうちの少なくとも一つを含んでいることを特徴とする方法。
〔態様26〕
マルチポイント制御ユニットが、ビデオビットストリームの一部の紛失によって引き起こされる誤りの隠蔽を容易にするような、マルチポイントビデオ会議を遂行する方法であって:
そのような情報をサポートしないエンドポイントに送信されるビデオストリームからは冗長情報を削除することを含んでおり、前記冗長情報は前記エンドポイントや前記マルチポイント制御ユニット以外のデバイスによってビデオビットストリーム中に入れられており、前記冗長情報が:(a)各ブロックがイントラ符号化またはインター符号化のどちらを使って符号化されたかを指定するマップ、および(b)インター符号化された各ブロックについての冗長な動きベクトル、のうちの少なくとも一つを含んでいることを特徴とする方法。

Claims (15)

  1. ビデオビットストリームの一部分の紛失によって引き起こされる誤りの隠蔽を容易にするようビデオビットストリームをデジタル的にエンコードする方法であって:
    冗長情報を継続的にビデオビットストリームに挿入する段階であって、前記冗長情報が、各ブロックがイントラ符号化またはインター符号化のどちらを使って符号化されたかを指定するマップ、およびインター符号化された各ブロックについての冗長な動きベクトル、を含む、段階と、
    前記冗長情報を複数のパケットに重畳させる段階であって、それにより少なくとも一つのパケットが二つ以上の前のパケットに対応する冗長情報を含むようにする、段階とを含んでおり、
    前記冗長情報が受信者の要求でビットストリームに挿入される、
    方法。
  2. 前記冗長情報がMCUによってビットストリームに挿入されることを特徴とする、請求項1記載の方法。
  3. ビデオビットストリームの各ブロックを、決定論的なパターンを使って定期的にイントラ符号化ブロックとして符号化することをさらに含むことを特徴とする、請求項1記載の方法。
  4. 請求項3記載の方法であって、前記決定論的なパターンが遍歴リフレッシュであることを特徴とする方法。
  5. ビデオビットストリームのうち動き航跡中にあると判定された各ブロックを、イントラ符号化ブロックとして符号化することをさらに含むことを特徴とする、請求項1記載の方法。
  6. 符号化されたマクロブロックを送信のために複数の多岐グループにインターリーブすることをさらに含んでおり、空間的に隣接するマクロブロックどうしは異なる多岐グループに割り振られることを特徴とする、請求項1記載の方法。
  7. 複数のマクロブロックのそれぞれを複数の多岐グループうちの一つに、各多岐グループが空間的に隣接でないマクロブロックを含むように割り振ることをさらに含んでおり、前記複数の多岐グループが別個のパケットで送信されることを特徴とする、請求項1記載の方法。
  8. ビデオビットストリームをデコードする方法であって:
    少なくとも一部が失われているビデオビットストリームを受信し、
    少なくとも一つの失われたマクロブロックを同定し、
    受信者の要求でMCUによって前記ビデオストリーム中に埋め込まれている冗長なインター・マクロブロック・マップを参照して前記失われたマクロブロックを再構築する方法を決定する、
    ことを含むことを特徴とする方法。
  9. 前記インター・マクロブロック・マップが失われたマクロブロックがインター符号化されていたことを示している場合に、失われたマクロブロックが、受信者の要求でMCUによってビデオビットストリームに埋め込まれた冗長動きベクトルを使って再構築されることを特徴とする、請求項8記載の方法。
  10. 前記インター・マクロブロック・マップが失われたマクロブロックがインター符号化されていたことを示している場合に、失われたマクロブロックが一つまたは複数の周囲のマクロブロックから動きベクトルを推定することによって再構築されることを特徴とする、請求項8記載の方法。
  11. 請求項10記載の方法であって、一つまたは複数の周囲のマクロブロックから動きベクトルを推定することが、複数の近隣マクロブロックの動きベクトルのメジアンを計算することを含むことを特徴とする方法。
  12. 前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示している場合に、失われたマクロブロックが符号化されていないマクロブロックとして再構築されることを特徴とする、請求項8記載の方法。
  13. 前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示しており、該マクロブロックが映像の端にある場合に、該マクロブロックが再構築されないことを特徴とする、請求項8記載の方法。
  14. 前記インター・マクロブロック・マップが失われたマクロブロックがイントラ符号化されていたことを示している場合に、失われたマクロブロックが隣接マクロブロックの空間的補間によって再構築されることを特徴とする、請求項8記載の方法。
  15. マルチポイント制御ユニットが、リンクを通じたビデオビットストリームの一部の紛失によって引き起こされる少なくとも一つのリンク上の誤りの隠蔽を容易にするような、マルチポイントビデオ会議を遂行する方法であって:
    ビデオビットストリーム中に冗長情報を継続的に挿入する段階であって、該冗長情報が、各ブロックがイントラ符号化またはインター符号化のどちらを使って符号化されたかを指定するマップ、およびインター符号化された各ブロックについての冗長な動きベクトルを含む、段階と、
    前記冗長情報を複数のパケットに重畳させる段階であって、それにより少なくとも一つのパケットが二つ以上の前のパケットに対応する冗長情報を含むようにする、段階とを含む、ことを特徴とする方法。
JP2012162934A 2005-07-13 2012-07-23 ビデオ誤り隠蔽法 Expired - Fee Related JP5456106B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/180,899 2005-07-13
US11/180,899 US9661376B2 (en) 2005-07-13 2005-07-13 Video error concealment method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006191931A Division JP5081408B2 (ja) 2005-07-13 2006-07-12 ビデオ誤り隠蔽法

Publications (2)

Publication Number Publication Date
JP2012231532A JP2012231532A (ja) 2012-11-22
JP5456106B2 true JP5456106B2 (ja) 2014-03-26

Family

ID=37395758

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006191931A Expired - Fee Related JP5081408B2 (ja) 2005-07-13 2006-07-12 ビデオ誤り隠蔽法
JP2012162934A Expired - Fee Related JP5456106B2 (ja) 2005-07-13 2012-07-23 ビデオ誤り隠蔽法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006191931A Expired - Fee Related JP5081408B2 (ja) 2005-07-13 2006-07-12 ビデオ誤り隠蔽法

Country Status (5)

Country Link
US (1) US9661376B2 (ja)
EP (1) EP1746845A3 (ja)
JP (2) JP5081408B2 (ja)
KR (1) KR100762812B1 (ja)
CN (1) CN1897711A (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9661376B2 (en) * 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
US7916796B2 (en) * 2005-10-19 2011-03-29 Freescale Semiconductor, Inc. Region clustering based error concealment for video data
US8605797B2 (en) * 2006-02-15 2013-12-10 Samsung Electronics Co., Ltd. Method and system for partitioning and encoding of uncompressed video for transmission over wireless medium
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
US9872045B2 (en) * 2006-10-16 2018-01-16 Conversant Wireless Licensing S.A R.L. Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding
KR101125846B1 (ko) * 2007-03-23 2012-03-28 삼성전자주식회사 패킷 기반의 영상 프레임 전송 방법 및 장치
US8842739B2 (en) * 2007-07-20 2014-09-23 Samsung Electronics Co., Ltd. Method and system for communication of uncompressed video information in wireless systems
US8243823B2 (en) 2007-08-29 2012-08-14 Samsung Electronics Co., Ltd. Method and system for wireless communication of uncompressed video information
US8438630B1 (en) 2009-03-30 2013-05-07 Symantec Corporation Data loss prevention system employing encryption detection
US8572758B1 (en) 2009-03-30 2013-10-29 Symantec Corporation DLP-enforced loss scanning, sequestering, and content indexing
US8812874B1 (en) 2009-03-31 2014-08-19 Symantec Corporation Content deduplication in enterprise rights management
US9369759B2 (en) * 2009-04-15 2016-06-14 Samsung Electronics Co., Ltd. Method and system for progressive rate adaptation for uncompressed video communication in wireless systems
BR112012018976A2 (pt) * 2010-01-29 2018-03-27 Thomson Licensing intercalação baseada em blocos
JP5570846B2 (ja) * 2010-03-04 2014-08-13 株式会社メガチップス 画像符号化装置
US20110249127A1 (en) * 2010-04-07 2011-10-13 Cisco Technology, Inc. Estimating Video Quality Corruption in Lossy Networks
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
KR101209890B1 (ko) * 2010-12-30 2012-12-10 연세대학교 산학협력단 오류 은닉을 위한 디지털 방송 송신 장치 및 방법, 디지털 방송 수신 장치 및 방법
US8995306B2 (en) 2011-04-06 2015-03-31 Cisco Technology, Inc. Video conferencing with multipoint conferencing units and multimedia transformation units
KR101935620B1 (ko) 2011-04-12 2019-01-04 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및 동화상 부호화 복호화 장치
US9025672B2 (en) * 2011-05-04 2015-05-05 Cavium, Inc. On-demand intra-refresh for end-to end coded video transmission systems
EP2717573B1 (en) 2011-05-24 2018-03-28 Velos Media International Limited Image encoding method, image encoding apparatus, image decoding method, image decoding apparatus, and image encoding/decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
ES2959039T3 (es) 2011-05-27 2024-02-19 Sun Patent Trust Aparato, procedimiento y programa para codificar imágenes en movimiento
CN107257483B (zh) 2011-05-31 2020-01-21 太阳专利托管公司 运动图像编码方法、运动图像编码装置
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
US20130003850A1 (en) 2011-06-30 2013-01-03 Toshiyasu Sugio Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN103718558B (zh) * 2011-08-03 2017-04-19 太阳专利托管公司 运动图像编码方法及装置、解码方法及装置和编解码装置
WO2013057877A1 (ja) 2011-10-19 2013-04-25 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
US20140294091A1 (en) * 2011-11-14 2014-10-02 Telefonaktiebolaget L M Ericsson (Publ) Method of and apparatus for compression encoding a picture in a picture sequence
EP3435676A1 (en) * 2017-07-25 2019-01-30 Thomson Licensing Method and apparatus for encoding and decoding an omnidirectional video
CN108235150A (zh) * 2018-01-03 2018-06-29 厦门亿联网络技术股份有限公司 一种网络传输特性友好的实时图像自适应恢复系统及方法
CN111338840B (zh) * 2020-03-07 2021-09-28 西安电子科技大学 航天数据保护方法、存储介质、计算机程序、系统、终端

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04117882A (ja) 1990-09-07 1992-04-17 Matsushita Electric Ind Co Ltd 動画像符号化装置
US5442400A (en) * 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
US5537338A (en) 1993-11-24 1996-07-16 Intel Corporation Process and apparatus for bitwise tracking in a byte-based computer system
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
JPH08256333A (ja) 1995-03-16 1996-10-01 Matsushita Electric Ind Co Ltd 画像符号化復号方法及び装置
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
EP1042736B1 (en) * 1996-12-30 2003-09-24 Sharp Kabushiki Kaisha Sprite-based video coding system
US6025888A (en) 1997-11-03 2000-02-15 Lucent Technologies Inc. Method and apparatus for improved error recovery in video transmission over wireless channels
JP3905969B2 (ja) 1998-01-30 2007-04-18 株式会社東芝 動画像符号化装置および動画像符号化方法
EP0935396A3 (en) * 1998-02-09 2004-08-11 Matsushita Electric Industrial Co., Ltd. Video coding method and apparatus
JP3523481B2 (ja) 1998-02-23 2004-04-26 シャープ株式会社 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法
GB9817292D0 (en) 1998-08-07 1998-10-07 Nokia Mobile Phones Ltd Digital video coding
US6304295B1 (en) * 1998-09-18 2001-10-16 Sarnoff Corporation Region-based refresh strategy for video compression
GB2347038A (en) 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
JP2000253403A (ja) 1999-02-25 2000-09-14 Mitsubishi Electric Corp 画像符号化方式変換装置及び画像通信システム
US6115076A (en) 1999-04-20 2000-09-05 C-Cube Semiconductor Ii, Inc. Compressed video recording device with non-destructive effects addition
KR100580158B1 (ko) 1999-06-12 2006-05-15 삼성전자주식회사 화상 패킷 전송을 위한 무선통신 시스템
EP1067719A1 (en) 1999-07-05 2001-01-10 Sony International (Europe) GmbH Method to verify that an identical service is transmitted on an alternative frequency to the currently received frequency
JP2005051816A (ja) 1999-09-30 2005-02-24 Matsushita Electric Ind Co Ltd 動画像復号化方法、動画像復号化装置、及びプログラム記録媒体
US6999673B1 (en) 1999-09-30 2006-02-14 Matsushita Electric Industrial Co., Ltd. Moving picture decoding method, moving picture decoding apparatus and program recording medium
JP3840020B2 (ja) 1999-12-14 2006-11-01 株式会社東芝 動画像符号化装置
US6993074B2 (en) 2000-03-24 2006-01-31 Microsoft Corporation Methods and arrangements for handling concentric mosaic image data
EP1301038A4 (en) 2000-07-10 2007-11-28 Hitachi Ltd MULTIMEDIAKOMMUN9IKATIONSTERMINAL
JP2002152181A (ja) 2000-11-16 2002-05-24 Matsushita Electric Ind Co Ltd マルチメディアデータ通信方法およびマルチメディアデータ通信装置
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
AU2002245609A1 (en) * 2001-03-05 2002-09-19 Intervideo, Inc. Systems and methods of error resilience in a video decoder
CA2457882C (en) * 2001-08-23 2009-06-02 Polycom, Inc. System and method for video error concealment
US6910175B2 (en) 2001-09-14 2005-06-21 Koninklijke Philips Electronics N.V. Encoder redundancy selection system and method
US7272110B2 (en) * 2001-09-29 2007-09-18 Lg Electronics Inc. Method of allocating walsh code resource
US6956902B2 (en) * 2001-10-11 2005-10-18 Hewlett-Packard Development Company, L.P. Method and apparatus for a multi-user video navigation system
US7020203B1 (en) 2001-12-21 2006-03-28 Polycom, Inc. Dynamic intra-coded macroblock refresh interval for video error concealment
WO2003061284A1 (en) 2001-12-21 2003-07-24 Polycom, Inc. Motion wake identification and control mechanism
JP2003219385A (ja) 2002-01-07 2003-07-31 Leadtek Research Inc テレビ会議システム
KR100481732B1 (ko) * 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
EP1395061A1 (en) 2002-08-27 2004-03-03 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensation of erroneous motion vectors in video data
JP2004096572A (ja) 2002-09-02 2004-03-25 Uniden Corp 屋内移動通信装置
KR20040031949A (ko) * 2002-10-08 2004-04-14 엘지전자 주식회사 동영상 인코딩 및 디코딩 방법
MXPA05007449A (es) 2003-01-10 2005-09-12 Thomson Licensing Sa Definicion de filtros de interpolacion para ocultamiento de error en una imagen codificada.
US7394855B2 (en) * 2003-11-20 2008-07-01 Mitsubishi Electric Research Laboratories, Inc. Error concealing decoding method of intra-frames of compressed videos
US9661376B2 (en) * 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method

Also Published As

Publication number Publication date
JP2012231532A (ja) 2012-11-22
US9661376B2 (en) 2017-05-23
KR20070008449A (ko) 2007-01-17
CN1897711A (zh) 2007-01-17
KR100762812B1 (ko) 2007-10-02
JP5081408B2 (ja) 2012-11-28
JP2007028617A (ja) 2007-02-01
EP1746845A2 (en) 2007-01-24
EP1746845A3 (en) 2011-01-12
US20070014360A1 (en) 2007-01-18

Similar Documents

Publication Publication Date Title
JP5456106B2 (ja) ビデオ誤り隠蔽法
CA2457882C (en) System and method for video error concealment
US7020203B1 (en) Dynamic intra-coded macroblock refresh interval for video error concealment
US8064527B2 (en) Error concealment in a video decoder
ES2339743T3 (es) Codificacion de video.
JP4820559B2 (ja) 映像データ符号化及び復号化方法及び装置
AU2002326713A1 (en) System and method for video error concealment
US20030140347A1 (en) Method for transmitting video images, a data transmission system, a transmitting video terminal, and a receiving video terminal
KR100590328B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130705

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20130827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140107

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees