(57)【要約】【課題】双方向ストリーミング中に時系列で対応する複数のストリームの間を効率的に切り替えること。【解決手段】第１のストリームにおける符号化の対象フレームと当該対象フレームの直前のフレームとの差分を符号化した第１の差分フレームと、対象フレームと第２のストリームにおける当該対象フレームの直前のフレームとの差分を符号化した第２の差分フレームと、を生成し、第１の差分フレーム及び第２の差分フレーム内の対応する変換係数における区分的定数関数の値が同じ値となるように、当該区分的定数関数のステップ幅及びシフトパラメータを算出し、当該ステップ幅及びシフトパラメータに基づきマージフレームを生成し、第２のストリームのフレームの配信中に、クライアントから第１のストリームの指定を受け付けた場合に、第１の差分フレーム、第２の差分フレーム及びマージフレームを当該クライアントへ配信する。【選択図】図１
2015023579.tif 000002
【特許請求の範囲】
【請求項１】
複数のストリームデータを記憶する記憶部と、
要求元から指定されたストリームデータについて、フレームごとに配信を行うストリーム配信部と、
前記複数のストリームデータから前記フレームを生成するフレーム生成部と、
を備えるサーバと、
前記サーバに対して、前記ストリームデータの指定を送信するクライアントと、
を備え、
前記フレーム生成部は、
第１のストリームにおける符号化の対象フレームと当該対象フレームの直前のフレームとの差分を符号化した第１の差分フレームと、前記対象フレームと第２のストリームにおける当該対象フレームの直前のフレームとの差分を符号化した第２の差分フレームと、を生成し、
前記第１の差分フレーム及び前記第２の差分フレーム内の対応する変換係数における区分的定数関数の値が同じ値となるように、当該区分的定数関数のステップ幅及びシフトパラメータを算出し、当該ステップ幅及びシフトパラメータに基づきマージフレームを生成し、
前記ストリーム配信部は、
前記第２のストリームのフレームの配信中に、前記クライアントから前記第１のストリームの指定を受け付けた場合に、前記第１の差分フレーム、前記第２の差分フレーム及び前記マージフレームを当該クライアントへ配信し、
前記クライアントは、
前記サーバから受信した前記第１の差分フレーム、前記第２の差分フレーム及び前記マージフレームと、前記第２のストリームの前記直前のフレームとを用いて、前記第１のストリームにおける前記対象フレームの再構成を行う
ストリーミング配信システム。
【請求項２】
前記フレーム生成部は、
隣接するブロック間の前記シフトパラメータの差分を符号化して前記マージフレームを生成する
請求項１に記載のストリーミング配信システム。
【請求項３】
前記フレーム生成部は、
前記第１の差分フレーム及び前記第２の差分フレーム内の対応する複数の前記変換係数の差分のうち最大値を限度として前記ステップ幅とする
請求項１又は２に記載のストリーミング配信システム。
【請求項４】
前記フレーム生成部は、
前記対象フレームに関する歪みと、符号化レートとの合計値が最小化されるように前記マージフレームを生成する
請求項１乃至３のいずれか１項に記載のストリーミング配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミング配信システムに関し、特に、時系列で対応する複数のストリームデータの配信をクライアントからの要求に応じてサーバが切替を行うためのストリーミング配信システムに関する。
【背景技術】
【０００２】
非双方向ビデオストリーミングでは、クライアントは、サーバから送信されるプレエンコードされたビデオストリーム内の各フレームを順次受信し、デコードして、固定された順序に従って再生する。一方、非特許文献１に示すような双方向ビデオストリーミング（interactive video streaming）では、クライアントは、ユーザ個別の用途で高次元のメディアコンテンツの部分集合をリアルタイムに自由に選択できる。そのため、クライアントからの選択要求に応じて、サーバは、クライアントにおける正しいデコーディング及び表示のために、要求されたメディアの部分集合に対応するプレエンコードされたデータを送信しなければならない。
【０００３】
双方向ビデオストリーミングの例としては、リアルタイム帯域幅適応（real-time bandwidth adaptation）のために、同じビデオコンテンツについて異なるビットレートでエンコードされたストリームの切替（非特許文献２）、異なる視点からキャプチャされた明視野像（light field images）内の静的３Ｄシーンのナビゲーション（非特許文献３及び４）、又は、同じ動的３Ｄシーンについて異なるカメラからキャプチャされた映像群の中での視点切替（非特許文献５）等がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】G. Cheung, A. Ortega, N.-M. Cheung, and B. Girod, “On media data structures for interactive streaming in immersive applications,” in SPIE Visual Communications and Image Processing, Huang Shan, China, July 2010.
【非特許文献２】M. Guo, Y. Lu, F. Wu, D. Zhao, and W. Gao, “Wyner-Ziv switching scheme for multiple bit-rate video streaming,” in IEEE Transactions on Circuits and Systems for Video Technology, May 2008, vol. 18, no.5, pp. 569 - 581.
【非特許文献３】A. Aaron, P. Ramanathan, and Bernd Girod, “Wyner-Ziv coding of light fields for random access,” in IEEE International Workshop on Multimedia Signal Processing, Siena, Italy, September 2004.
【非特許文献４】P. Ramanathan and B. Girod, “Random access for compressed light fields using multiple representations,” in IEEE International Workshop on Multimedia Signal Processing, Siena, Italy, September 2004.
【非特許文献５】G. Cheung, A. Ortega, and N.-M. Cheung, “Interactive streaming of stored multiview video using redundant frame structures,” in IEEE Transactions on Image Processing, March 2011, vol. 20, no.3, pp. 744 - 761.
【非特許文献６】N.-M. Cheung, H.Wang, and A. Ortega, “Video compression with flexible playback order based on distributed source coding,” in IS&T/SPIE Visual Communications and Image Processing (VCIP’06), San Jose, CA, January 2006.
【非特許文献７】N.-M. Cheung and A. Ortega, “Compression algorithms for flexible video decoding,” in IS&T/SPIE Visual Communications and Image Processing (VCIP’08), San Jose, CA, January 2008.
【非特許文献８】N.-M. Cheung, A. Ortega, and G. Cheung, “Distributed source coding techniques for interactive multiview video streaming,” in 27th Picture Coding Symposium, Chicago, IL, May 2009.
【非特許文献９】T. Wiegand, G. Sullivan, G. Bjontegaard, and A. Luthra, “Overview of the H.264/AVC video coding standard,” in IEEE Transactions on Circuits and Systems for Video Technology, July 2003, vol. 13, no.7, pp. 560 - 576.
【非特許文献１０】M. Karczewicz and R. Kurceren, “The SP- and SI-frames design for H.264/AVC,” in IEEE Transactions on Circuits and Systems for Video Technology, July 2003, vol. 13, no.7, pp. 637 - 644.
【非特許文献１１】S. S. Pradhan and K. Ramchandran, “Distributed source coding using syndromes (DISCUS): design and construction,” in IEEE Transactions on Information Theory, March 2003, vol. 49, no.3, pp. 626 - 643.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した双方向ビデオストリーミングをサポートするためには、ストリーミング切替を促進するための柔軟性のあるメカニズムを提供する一方で、高次元のビデオコンテンツを効率的にプレエンコードすることが必要である。
【０００６】
＜Ｉフレーム、Ｐフレーム＞
ここで、ビデオのストリーミングデータには、一般的に、Ｉフレーム（Intra frame）及びＰフレーム（Predicted frame）の２種類がある。Ｉフレームは、他のフレームに依存せずに、独立して（圧縮）符号化されたフレームである。また、Ｐフレームは、直前のフレームと現在のフレームとの間の差分が符号化されたフレームである。そのため、ＰフレームはＩフレームに比べてデータサイズがはるかに小さい。
【０００７】
そのため、一つのシンプルな手法としては、それぞれのアプリケーションに要求され得る切替箇所において、イントラコード化されたＩフレームを予め挿入しておくことが挙げられる。すなわち、ビデオデータの再生時刻について定期的な間隔でＩフレームを生成し、大半の残りの再生時刻をＰフレームとして生成し、これらの配信を行うものである。この手法は、全てをＩフレームで送信する場合に比べて送信データ量を削減することができる。しかし、ストリーミングの切替箇所がＰフレームであった場合、次のＩフレームが配信されるまで、クライアントにおける再生に待ち時間が生じ得る。待ち時間を短くするにはＩフレームの挿入（生成）間隔を短くすることが必要であるが、上述の通りＩフレームはＰフレームに比べてデータサイズが非常に大きいため、ビットレートが大きくなり、通信帯域の利用効率が悪くなってしまう。
【０００８】
それ故、Ｉフレームはデコーディングのためにデコーダバッファにおいて予測フレームを要求しないという利点があるものの、サイズが大きいため、ストリームデータ内にＩフレームを頻繁に挿入することは実現が困難といえる。
【０００９】
＜ＳＰフレーム＞
従来のＩ、Ｐ及びＢフレームを超えるものとして、Ｈ．２６４（非特許文献９）は、ストリーミング切替のためにＳＰフレーム（非特許文献１０）を導入する。一言でいえば、まず、第１のＳＰフレームは、１つの予測フレーム（Ｐフレーム）とターゲットフレームの間で差動的に符号化される。ここで、当該予測フレームとターゲットフレームとは同一のストリーム内の前後のフレームである。そのため、第１のＳＰフレームは、従来のＰフレームと類似している。付加的な予測フレームのそれぞれに関して、第２のＳＰフレームは、予測フレームと再構成された第１のＳＰフレームとの間で差動的に符号化される。ここで、予測残差（prediction residual）は、第１及び第２のＳＰフレームの間で同一の再構成（identical reconstruction）を保証するために可逆圧縮で符号化される。
【００１０】
ここで、第２のＳＰフレームは、ターゲットフレームと、当該ターゲットフレームとは異なるストリームの直前の予測フレームとの差分に基づいて生成される。すなわち、第１のＳＰフレームはＰフレームと同様に相対的にサイズが小さいが、第２のＳＰフレームはＩフレームに近いサイズであり、第１のＳＰフレームと比べてサイズが非常に大きい。
【００１１】
＜ＳＩフレーム、ＤＳＣ＞
そこで、より効率的なストリーム切替メカニズムに向けたDistributed Source Coding (DSC)は、クライアントが切り替えることが可能なフレーム（以下、side information(SI)フレームと呼ぶ。）の集合と、符号化利得用のターゲットフレームとの間の相互関係を有効活用するものである（非特許文献６，７及び８）。特に、各コードブロックは、画素から変換領域（transform domain）へ最初に対応付け（map）られる。そして、全てのＳＩフレームからの各変換係数のビットプレーンは、ターゲットフレームのビットプレーンと比較される。これにより、ＳＩフレーム内の「最もノイズの大きい（noisiest）」ビットプレーン（ターゲットフレームから最大の偏差値を有するもの）が特定される。また、ワーストケースのノイズを十分に克服する強いチャネルコードが、ＤＳＣフレームとしてエンコードされる。デコーダにおいて、任意のＳＩフレーム及びＤＳＣフレームは、ターゲットフレームの同一の再構成（identical reconstruction）をもたらす。そして、ＤＳＣフレームは潜在的に、比較可能なＩフレームよりもはるかに小さいサイズとなる（非特許文献８）。
【００１２】
しかしながら、ＤＳＣフレーム設計には重大な課題が残されている。まず、ビットプレーンエンコーディング及びチャネルコードの利用は、エンコーダ及びデコーダの両方の計算複雑性（computation complexity）が高いことを意味する。さらに、全体画像に対する変換係数ビットプレーンの統計平均が使用されるため、非定常のノイズ統計は、コーディングの非効率性の結果として、高率のチャネルコードへ導き得る。
【００１３】
ＤＳＣは、過去１０年でストリーミング切替メカニズムの設計における人気の高い概念であった（非特許文献２，３，６，７及び８）。一方で、ビットプレーン及びチャネルコーディングのために要求される計算複雑性に部分的に起因して、ＤＳＣは任意のコーディング標準に広く使用又は採用されていない。尚、上述した第２のＳＰフレームは、可逆圧縮の符号化の採用に起因して符号化が非効率であり、ＤＳＣフレームより質が劣る（非特許文献８）。
【００１４】
本発明は、このような問題点を解決するためになされたものであり、双方向ストリーミング中に時系列で対応する複数のストリームの間を効率的に切り替えるためのストリーミング配信システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の態様にかかるストリーミング配信システムは、
複数のストリームデータを記憶する記憶部と、
要求元から指定されたストリームデータについて、フレームごとに配信を行うストリーム配信部と、
前記複数のストリームデータから前記フレームを生成するフレーム生成部と、
を備えるサーバと、
前記サーバに対して、前記ストリームデータの指定を送信するクライアントと、
を備え、
前記フレーム生成部は、
第１のストリームにおける符号化の対象フレームと当該対象フレームの直前のフレームとの差分を符号化した第１の差分フレームと、前記対象フレームと第２のストリームにおける当該対象フレームの直前のフレームとの差分を符号化した第２の差分フレームと、を生成し、
前記第１の差分フレーム及び前記第２の差分フレーム内の対応する変換係数における区分的定数関数の値が同じ値となるように、当該区分的定数関数のステップ幅及びシフトパラメータを算出し、当該ステップ幅及びシフトパラメータに基づきマージフレームを生成し、
前記ストリーム配信部は、
前記第２のストリームのフレームの配信中に、前記クライアントから前記第１のストリームの指定を受け付けた場合に、前記第１の差分フレーム、前記第２の差分フレーム及び前記マージフレームを当該クライアントへ配信し、
前記クライアントは、
前記サーバから受信した前記第１の差分フレーム、前記第２の差分フレーム及び前記マージフレームと、前記第２のストリームの前記直前のフレームとを用いて、前記第１のストリームにおける前記対象フレームの再構成を行う
ストリーミング配信システム。
【発明の効果】
【００１６】
本発明により、双方向ストリーミング中に時系列で対応する複数のストリームの間を効率的に切り替えるためのストリーミング配信システムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】サイド情報とＰＷＣ関数の関係を示す図である。
【図２】あるプレエンコードされたストリームＳＴ２から別のストリームＳＴ１へのマージフレームを用いたストリーム切替の例を示す図である。
【図３】本実施の形態にかかるストリーミング配信システムの構成を示すブロック図である。
【図４】本実施の形態にかかるストリーミング切替の流れを示すシーケンス図である。
【図５】シーケンスRaceHorsesについて、本実施の形態にかかるマージフレームと非特許文献６のＤＳＣフレームを比較したエンコーディングレートと対比したＰＳＮＲを示すグラフである。
【図６】シーケンスPartySceneについて、本実施の形態にかかるマージフレームと非特許文献６のＤＳＣフレームを比較したエンコーディングレートと対比したＰＳＮＲを示すグラフである。
【図７】シーケンスBQMallについて、本実施の形態にかかるマージフレームと非特許文献６のＤＳＣフレームを比較したエンコーディングレートと対比したＰＳＮＲを示すグラフである。
【図８】シーケンスBasketballDrillについて、本実施の形態にかかるマージフレームと非特許文献６のＤＳＣフレームを比較したエンコーディングレートと対比したＰＳＮＲを示すグラフである。
【発明を実施するための形態】
【００１８】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１９】
本実施の形態では、マージオペレータ（merge operator）として区分的定数（PieceWise Constant (ＰＷＣ)）関数を用いるsignal mergingの概念に基づくストリーム切替問題への新しいアプローチを説明する。ここで、“signal merging”とは、ＳＩ（Side Information）を同一に再構成された良質の信号へマージすることを示す。特に、ブロック内のｋ番目の変換係数について、コードブロックのための新しいマージモードを示す。すなわち、デコーダにおける床関数（floor function）の計算結果が任意のＳＩフレームから同一の再構成値（再現値、reconstructed value）へ対応する係数にマップできるように、エンコーダにおける床関数の適切なステップ幅と水平シフトパラメータをエンコードする。ここで、ステップサイズ及び水平シフトの選択は、マージ信号の忠実度（merged signal fidelity）とコーディングレートの両方に直接的に影響を及ぼす。そして、ブロック基準ごとのイントラとマージの間のコーディングモードの選択と同様に、これらのパラメータを最適化するためにレート−歪み(Rate-distortion)最適化手順を提案する。そして、後述する実験結果は、計算複雑性の減少において、低度から中度のビットレートにおけるＤＳＣフレームの過去の実施以上に符号化利得を促進することを示す。
【００２０】
また、上述したＤＳＣと対照的に、本実施の形態にかかるsignal mergingの概念に基づくマージフレームは、量子化（ＰＷＣ関数）及び水平シフトの算術符号化を取り入れる。そして、簡易かつ直感的であり、コーディングコミュニティ内で十分理解できるものである。
【００２１】
ここで、図１は、サイド情報（side information（ＳＩ））とＰＷＣ関数の関係を示す図である。図１では、ブロックｂのｋ番目の係数に対応するＳＩをＸ１ｂ（ｋ）及びＸ２ｂ（ｋ）とし、それらが同じステップ上に位置する場合、PWC関数ｆ（ｘ）は、それらを同じＸ￣ｂ（ｋ）に対応付ける（map）。ここで、ステップ幅（step size）Ｗ及びシフト（shift）ｃは各係数をエンコードするPWC関数ｆ（ｘ）を特定可能である。
【００２２】
例えば、図１に示すように、２つのＳＩフレームＸ１ｂ（ｋ）及びＸ２ｂ（ｋ）からブロックｂのｋ番目の変換係数は、ＰＷＣ関数ｆ（ｘ）の同じステップ上に位置する。２つの値のうちいずれもがｆ（ｘ）を介して同一の（マージされた）信号Ｘ￣ｂ（ｋ）に対応付けられることを意味する。
【００２３】
Ｘ１ｂ（ｋ）及びＸ２ｂ（ｋ）がエンコーディング中に双方認識されるとした場合、エンコーダは、ターゲットフレームの元々のｋ番目の係数Ｙｂ（ｋ）を正確に復元する組み合わせを含み、一意な再構成（unique reconstruction）を保証するためのステップ幅Ｗとシフトｃの多くの組み合わせの中から選択できる。しかしながら、エンコーダは、レートと歪みを最適にトレードオフするＷ及びｃを選択するためにこの自由度（degree of freedom）を用いることができる。具体的には、シフトｃの選択がシフトパラメータの算術符号化についての有益な統計値をどのように導くかを後述する。
【００２４】
続いて、コードブロックが設計されたマージモード又はイントラモードを利用して符号化され得るマージフレームが、ストリーミング切替メカニズムとして利用される本実施の形態にかかるコーディングシステムを概観する。
【００２５】
まず、フレームＦｉからフレームＦｊへ切替の可能性がある場合に、予測としてのＦｉとターゲットとしてのＦｊを用いて差動的に符号化されたＰフレームであるＳＩフレームは、エンコードされる。そして、ＳＩフレームは、個別の予測フレームが与えられたターゲットフレームの最善の近似値を構成する。
【００２６】
図２は、あるプレエンコードされたストリームＳＴ２から別のストリームＳＴ１へのマージフレームを用いたストリーム切替の例を示す図である。まず、２つのＳＩフレームＰ(1)１，３及びＰ(2)１，３は、それぞれ異なる予測を用いて構成される。次に、マージフレームＭ１，３は、２つのＳＩフレームＰ(1)１，３及びＰ(2)１，３を用いてエンコードされる。ここで、Ｉフレームは円、Ｐフレームは四角、マージフレームはひし形で示す。
【００２７】
図２において、２つのＰフレームＰ(1)１，３及びＰ(2)１，３はストリームＳＴ１及び時刻ｔ３におけるＳＩフレームである。そして、一方のＰフレームＰ(1)１，３（第１のＳＩフレーム）は、ストリームＳＴ１の予測フレームＰ１，２から予測されたものであり、他方のＰフレームＰ(2)１，３（第２のＳＩフレーム）は、ストリームＳＴ２の予測フレームＰ２，２から予測されたものである。また、マージフレーム（図２のＭ１，３）は、任意の可能なＳＩフレームを、ターゲットフレームにおける同一に構成された（identically constructed）バージョンにマージしてエンコードされる。
【００２８】
ここで、仮に、本実施の形態にかかるマージフレームを用いない場合、Ｐ１，４はストリームＳＴ１のＰ１，３から予測されたものになる。しかし、ストリームＳＴ２からストリームＳＴ１へ切り替えられた場合に、Ｐ１，４を再生時に用いる直前のフレームＰ１，３は、ストリームＳＴ２に起因するものとなる。そのため、Ｐ１，４の予測時に用いられたＰ１，３と異なるために、Ｐ１，４を１００％正確には再生できず、いわゆるコーディングドリフトの問題が発生し得る。
【００２９】
そこで、本発明の実施の形態では、ストリーミング切替の際、サーバは、ＳＩフレームの一つに同一の再構成（identical reconstruction）ためのマージフレームを加えて送信する。これにより、２つのＰ１，３の違いを解消したマージフレームからＰ１，４を再生できるため、後続のフレーム内のコーディングのドリフトを回避できる。
【００３０】
ここで、図３は、本実施の形態にかかるストリーミング配信システム１００の構成を示すブロック図である。ストリーミング配信システム１００は、サーバ１０とクライアント２０とがネットワークＮを介して通信可能に接続されている。ストリーミング配信システム１００は、サーバ１０とクライアント２０との間で上述した双方向ビデオストリーミングを実現する。サーバ１０は、記憶部１１と、ストリーム配信部１２と、フレーム生成部１３とを備える。
【００３１】
記憶部１１は、複数のストリームデータ１１１及び１１２を記憶する。尚、記憶部１１は、３以上のストリームデータを記憶していてもよい。ストリームデータ１１１及び１１２は、それぞれ時系列で対応する映像コンテンツであり、例えば、同じ映像についてビットレートが異なるものであるか、カメラの視点が異なるもの等である。また、ストリームデータ１１１及び１１２は、それぞれ時系列に沿った複数のフレームデータを含む。つまり、各フレームデータは、ストリームの再生時刻が対応付けられている。尚、各フレームデータは、上述したＩフレーム、Ｐフレーム、本実施の形態にかかるＳＩフレーム及びマージフレーム等を含むものとする。
【００３２】
フレーム生成部１３は、複数のストリームデータ１１１及び１１２からフレームデータを生成する。特に、フレーム生成部１３は、第１のストリーム（例えば、ストリーム１１１）における符号化の対象フレームと当該対象フレームの直前のフレームとの差分を符号化した第１の差分フレームと、前記対象フレームと第２のストリーム（例えば、ストリーム１１２）における当該対象フレームの直前のフレームとの差分を符号化した第２の差分フレームと、を生成する。そして、フレーム生成部１３は、前記第１の差分フレーム及び前記第２の差分フレーム内の対応する変換係数における区分的定数関数の値が同じ値となるように、当該区分的定数関数のステップ幅及びシフトパラメータを算出し、当該ステップ幅及びシフトパラメータに基づきマージフレームを生成する。
【００３３】
さらに、前記フレーム生成部は、隣接するブロック間の前記シフトパラメータの差分を符号化して前記マージフレームを生成する。また、前記フレーム生成部は、前記第１の差分フレーム及び前記第２の差分フレーム内の対応する複数の前記変換係数の差分のうち最大値を限度として前記ステップ幅とする。また、前記フレーム生成部は、前記対象フレームに関する歪みと、符号化レートとの合計値が最小化されるように前記マージフレームを生成する。尚、フレーム生成部は、シフトパラメータの差分を符号化する代わりに、シフトパラメータをそのまま符号化してもよい。
【００３４】
ストリーム配信部１２は、要求元から指定されたストリームデータについて、フレームごとに配信を行う。つまり、ストリーム配信部１２は、クライアント２０からストリームデータの種類の指定を受け付け、指定されたストリームデータにおける該当する再生時刻が対応付けられたフレームデータを読み出し、クライアント２０へ当該フレームデータを送信する。
【００３５】
また、ストリーム配信部１２は、ストリーム１１２のフレームの配信中に、クライアント２０からストリーム１１１の指定を受け付けた場合に、第１の差分フレーム、第２の差分フレーム及びマージフレームをクライアント２０へ配信する。
【００３６】
クライアント２０は、サーバ１０に対して、ストリームデータの指定を送信する。特に、クライアント２０は、第２のストリーム（例えば、ストリーム１１２）の各フレームを受信、デコード及び再生中に、時系列で対応する他のストリーム（例えば、ストリーム１１１）への切替の指示を上記指定として送信する。そして、クライアント２０は、サーバ１０から受信した（ストリーム１１１の）第１の差分フレーム、第２の差分フレーム及びマージフレームと、第２のストリーム（ストリーム１１２）の直前のフレーム（すでにデコード済みであり、直前の再生時刻に対応する）とを用いて、前記第１のストリームにおける対象フレームの再構成を行う。
【００３７】
続いて、図２及び図４を用いて、本実施の形態にかかるストリーミング切替の流れの例を説明する。まず、クライアント２０は、ストリーム配信を開始するためにストリームＳＴ２を指定したリクエストをサーバ１０へ送信する（Ｓ１１）。次に、サーバ１０は、クライアント２０からのリクエストを受信し、指定されたストリームＳＴ２における時刻ｔ１に対応するＩフレームＩ２，１を記憶部１１から読み出し、クライアント２０へ送信する（Ｓ１２）。続いて、サーバ１０は、時刻ｔ２に対応するＰフレームＰ２，２を記憶部１１から読み出し、クライアント２０へ送信する（Ｓ１３）。この間、クライアント２０は、ＩフレームＩ２，１及びＰフレームＰ２，２を受信し、デコードし、ストリームＳＴ２の再生を行う。
【００３８】
そして、このとき、クライアント２０はユーザの操作等によりストリームＳＴ１への切替の指示を受け付けたものとする。そして、クライアント２０は、ストリームＳＴ１への切替のリクエストをサーバ１０へ送信する（Ｓ１４）。
【００３９】
サーバ１０は、クライアント２０からの切替のリクエストを受信し、切替に指定されたストリームＳＴ１における時刻ｔ３に対応するＳＩフレームＰ(1)１，３及びＰ(2)１，３並びにマージフレームＭ１，３を記憶部１１から読み出し、クライアント２０へ送信する（Ｓ１５）。尚、サーバ１０のフレーム生成部１３は、予め時刻ｔ３を含む、複数の時刻に対応するＳＩフレーム及びマージフレームを生成しているものとする。また、サーバ１０のストリーム配信部１２は、クライアント２０から切替の指定を受け付けた場合に、該当する時刻のＳＩフレーム及びマージフレームを読み出すようにしてもよい。
【００４０】
そして、クライアント２０は、ＳＩフレームＰ(1)１，３及びＰ(2)１，３並びにマージフレームＭ１，３を受信し、これらとストリームＳＴ２における時刻ｔ２のフレームとを用いて切替後のストリームＳＴ１における時刻ｔ３のフレームを再構成し、ストリームＳＴ１に切り替えた再生を行う。このとき、クライアント２０は、マージフレームＭ１，３からＰＷＣ関数のステップ幅及びシフトパラメータを抽出し、これらを用いてフレームの再構成を行う。
【００４１】
その後、サーバ１０は、時刻ｔ４に対応するＰフレームＰ１，４を記憶部１１から読み出し、クライアント２０へ送信する（Ｓ１３）。これに応じて、クライアント２０は、ＰフレームＰ１，４を受信し、これと時刻ｔ３の再構成後のフレームとを用いてストリームＳＴ１における時刻ｔ４のフレームを再構成し、再生を行う。
【００４２】
（signal mergingのためのPWC関数）
続いて、本実施の形態にかかるsignal mergingのためのPWC関数について説明する。
まず、Ｎ個のＳＩフレームをＳ１、・・・、ＳＮとする。Ｎ個のＳＩフレームの一つは、マージフレームのデコーディングのためにデコーダバッファにおいて利用可能となるエンコーディング時間に不確実性がある。しかし、Ｎ個のＳＩフレームの集合は、そのようなエンコーディング時間に確実性が知られている。ここで、ターゲット画像Ｔの近似値であり、マージフレームをデコーディングした後の再構成画像をＴ￣とする。この目的は、ターゲット画像Ｔに関する歪みであるＤＴ（Ｍ）と、マージフレームのエンコーディングレートであるＲ（Ｍ）が最適にトレードオフであるような、以下の式（１）満たすマージフレームＭを設計することである。
【数１】
2015023579.tif 000003
ここで、ＳＩフレームＳｎ及びマージフレームＭの組み合わせは、Ｔと同じようにＴ￣が再構成（identically reconstruct）される。この目的は、ＲＤ最適化シーンにおけるベストマージフレームＭの可能性を見つけることである。
【００４３】
まず、ＰＷＣ関数を用いたマージフレーム構成のためのフレームワークを説明する。そして、当該フレームワーク内のパラメータの異なる選択についての歪みとレートのコストをもたらすことを説明する。
【００４４】
（signal mergingのための区分的定数関数）
ＳＩフレームＳｎにおけるＫピクセル（例えば、８ｘ８）のコードブロックインデクスｂを前提として、ｘｎｂは、以下の式（２）により変換及び量子化される。
【数２】
2015023579.tif 000004
ここで、ｘｎｂ（ｋ）はＳＩフレームＳｎのブロックｂのｋ番目の係数の量子化インデクスである。尚、ｘｎｂ（ｋ）は整数の集合に包含される。
【００４５】
再構成フレーム（reconstructed frame）Ｔ￣内のブロックｂに関する同一の再構成（identical reconstruction）Ｘ￣ｂを有する（have）ために、ｋ番目の係数Ｘ１ｂ（ｋ）、・・・、ＸＮｂ（ｋ）のそれぞれは、同じ量子化インデックスＸ￣ｂ（ｋ）に対応付けられなければならない。この点は、Ｎ＝２の場合を図１に示したように、ＰＷＣ関数を用いて達成され得る。尚、ＰＷＣ関数の例は、mod, round, floor（床関数）等である。床関数は、例えば、以下の式（３）として規定する。ここで、床関数は、水平シフトｃ及びステップ幅Ｗを用いた床演算（floor operation）の後、元のｘ及び再構成された（reconstructed）ｆ（Ｘ）の間の最大の差分は最小化されるということで定義される。
【数３】
2015023579.tif 000005
ここで、ステップ幅はＷ、水平シフトはｃである。
【００４６】
各ＳＩフレームがターゲットフレームに相互に関連付けられ、ＳＩフレーム同士が相互に関連付けられることを意味する。それ故、ブロックｂにおけるｋ番目の係数に関し、Ｘ１ｂ（ｋ）、・・・、ＸＮｂ（ｋ）の任意のペア間の最大の差分は、さほど大きくない。２つのＳＩからのブロックｂにおける２つのｋ番目の係数の間の最大の差分をＷｂ（ｋ）とする。Ｗｂ（ｋ）は、以下の式（４）に示される。
【数４】
2015023579.tif 000006
【００４７】
そして、Ｗｂ（ｋ）を前提として、ブロックのグループＢについてのグループ別の最大差分ＷＢ（ｋ）を次に定義する。
【数５】
2015023579.tif 000007
ここで、各Ｘｎｂ（ｋ）を整数とした場合、ＷＢ（ｋ）も整数である。
【００４８】
グループＢ内の任意のブロックｂについて、ステップ幅Ｗ＋Ｂ（ｋ）＝ＷＢ（ｋ）＋ｅは、仮に水平シフトｃｂ（ｋ）が適切に選択されるとすれば、０より大きい任意のｅについて、Ｘ１ｂ（ｋ）、・・・、ＸＮｂ（ｋ）のうち任意の係数を同じ値へ対応付けるための床関数ｆ（ｘ）に十分である。ｃが整数である間に、最小ステップ幅Ｗ＋Ｂ（ｋ）を使用するために、ｅを１に修正する。
【００４９】
Ｘｎｂ（ｋ）（ｎは１〜Ｎの集合に包含される）における任意の係数がｆ（ｘ）を介して同じ値に対応付けられるというようにシフトｃｂ（ｋ）は選択されなければならない。すなわち、以下の式（６）を満たす。
【数６】
2015023579.tif 000008
【００５０】
Ｆｂ（ｋ）として表示され、整数に包含されるｃｂ（ｋ）の値の適した集合は、以下の式（７）に示される。
【数７】
2015023579.tif 000009
ここで、ｍは整数であり、ｃｍｉｎｂ（ｋ）及びｃｍａｘｂ（ｋ）は、以下の式（８）及び式（９）として定義される。
【数８】
2015023579.tif 000010
【数９】
2015023579.tif 000011
ここで、上記式（５）は、以下の式（１０）及び式（１１）を意味し、また、式（１２）に留意する。
【数１０】
2015023579.tif 000012
【数１１】
2015023579.tif 000013
【数１２】
2015023579.tif 000014
【００５１】
（歪み損失）
式（７）のＦｂ（ｋ）の適した集合内で異なる水平シフトｃｂ（ｋ）は、再構成された信号（reconstructed signal）内で異なる歪みを引き起こす。まず、ターゲット画像Ｔの元のｋ番目の係数Ｙｂ（ｋ）と再構成された係数ｆ（Ｘ１ｂ（ｋ））の間の差分である、ブロックｂのｋ番目の係数についての歪みを以下の式（１３）に定義する。
【数１３】
2015023579.tif 000015
妥当な水平シフトｃｂ（ｋ）が選択されると仮定するため、Ｎ個全てのｋ番目の係数Ｘｎｂ（ｋ）は、同じ値ｆ（Ｘｎｂ（ｋ））（ｎは式（１４）を満たすものとする）に対応付ける。
【数１４】
2015023579.tif 000016
それ故、式（１３）におけるｆ（Ｘ１ｂ（ｋ））のみを検討する。
【００５２】
式（３）におけるｆ（ｘ）及びステップ幅Ｗを前提とした場合、シフトｃ（ｃは整数）は、ｘの前後の整数であるＷの近傍の範囲内のみで入力ｘを移動可能である。このとき、以下の式（１５）を満たすものとする。
【数１５】
2015023579.tif 000017
同様に、ｃ＝ｃ１Ｗ＋ｃ２と記載できる。
【００５３】
まず、ｘ２＋ｃ２＜Ｗであると仮定する。式（３）は、以下の式（１６）ように展開できる。
【数１６】
2015023579.tif 000018
それ故、ｃ２が０以上かつＷ−ｘ２以下である場合、ｃは、ｃ２によりｆ（ｘ）を減少できる。
【００５４】
ここで、ｘ２＋ｃ２がＷ以上である場合を説明する。ｂ２が０以上かつＷ−２以下である場合、Ｗ＋ｂ２＝ｘ２＋ｃ２とする。式（３）は以下の式（１７）のようになる。
【数１７】
2015023579.tif 000019
それ故、ｃは、Ｗ−ｃ２によりｆ（ｘ）を増加できる。ここで、ｃ２はＷ−ｘ２以上かつＷ−１以下である。
【００５５】
上記展開から２つの見解が得られる。第１に、式（７）に記載されるようなｃｂ（ｋ）について適切な集合Ｆｂ（ｋ）が大きいにもかかわらず、ｃｂ（ｋ）の再構成された範囲（０以上かつＷ−１以下）は、ｆ（ｘ）内で全ての可能な変化を引き起こすに十分である。第２に、ステップ幅Ｗが大きくなればなるほど、ｃｂ（ｋ）の値の範囲は、ｆ（ｘ）内をより多く増加できる（次に説明される、ｃｂ（ｋ）の符号化コスト（coding cost）もまた増加されるにもかかわらず）。
【００５６】
（符号化コスト）
変換係数のマージについて床関数ｆ（ｘ）を用いて、マージフレームＭのブロックグループＢ内のｋ番目の係数に関するエンコーディングコストを以下の通りとする。
１）グループＢについて、１ステップ幅Ｗ＋Ｂ（ｋ）＝ＷＢ（ｋ）＋１
２）グループＢ内の各ブロックについて、１水平シフトｃｂ（ｋ）
【００５７】
大きなグループＢのｋ番目の係数についての単一のＷＢ（ｋ）をエンコーディングするコストは小さい。他方、ｋ番目の係数についてのＢの絶対値の水平シフトｃｂ（ｋ）をエンコーディングするコストは高い。それ故、好適なＲＤパフォーマンスについての以下の２つの重要な設計構成要素について次に説明する。
１）マージグループＢ内のマージブロックとしてフレーム内のブロックの特定
２）グループＢ内のブロックについて水平シフトｃｂ（ｋ）の効率の良いコーディング
【００５８】
（ＲＤ最適化）
（ブロックモードのＲＤ最適化選択）
ブロックは、ＳＩフレーム全体で非常に異なるため、signal mergingのための床関数のパラメータを符号化するために大変多くのビットを要する。代わりに、イントラブロックとして符号化されるべきブロックを特定するための後続の手段を実行する。まず、ブロックｄ＾当たりで若干の平均歪みをもたらすマージブロックとして全体のフレームのブロックをエンコードする。そして、平均歪みがｄ＾であるような、イントラ符号化ブロックについて量子化パラメータ（quantization parameter (QP)）を選択する。
【００５９】
snake order内のブロックｂのそれぞれについて、モードｍを用いるコーディングであるときのＲＤコストＤｂ（ｍ）＋λＲｂ（ｍ）を評価する。ここで、ｍはイントラ又はマージに包含される。イントラについて、イントラ符号化されたブロックの歪みＤｂ及びレートＲｂは、上述されたＱＰにより判定される。マージモードで符号化されたブロックについての歪み及びレートは、ブロック内の独立の周波数についての歪み及びレートの対応する合計値である。より小さなＲＤコストを用いるモードは、ブロックｂのエンコーディングのために選択される。
【００６０】
マージにおける符号化のために選択されるブロックが与えられた場合、これらのブロックのｋ番目の係数の最大のＷｂ（ｋ）であるＷ＊（ｋ）＝ｍａｘｂ Ｗｂ（ｋ）とする。Ｗ*（ｋ）が与えられるこれらのブロック内でシフト選択を再度、最適化する。ＳＩフレーム内で大きな差分を有するブロックがイントラブロックに宣言されていたため、より小さなＷ*（ｋ）という結果となりうる残されるブロックはより小さくなるべきである。小さいステップ幅Ｗ*（ｋ）＋１は、水平シフトｃｂ（ｋ）のエンコーディングに関するアルファベットのサイズを意味する。ここで、ｃｂ（ｋ）は［０，Ｗ*（ｋ）］に包含され、また、小さく、符号化利得を導く。
【００６１】
（水平シフトのRD最適化選択）
上述したようにＷ*（ｋ）が選択されたと仮定して、後続のRD基準（式（１８））を用いる各ブロックｂのｋ番目の係数について水平シフトｃｂ（ｋ）を再選択する。
【数１８】
2015023579.tif 000020
ここで、ｄｂ（ｋ）は、式（１３）で定義された歪みであり、レート区間は、現在のｃｂ（ｋ）と直前のブロックｂ−１についての直前のｃｂ―１（ｋ）との間の差分確率（probability of the difference）の負の対数である。言い換えると、現在及び直前のブロックの間でシフトの差分△ｂ（ｋ）＝ｃｂ（ｋ）−ｃｂ−１（ｋ）のみ符号化する。尚、ｃｂ（ｋ）を直接符号化してもよい。Ｆｂ（ｋ）は、ステップ幅Ｗ*（ｋ）＋１が与えられるｃｂ（ｋ）についての適切な集合である。
【００６２】
本実施の形態において、所与のブロックｂ内の周波数ｋに関するシフト差分△ｂ（ｋ）は、算術符号化（arithmetic coding (ＡＣ)）を用いて一つのコード語（数値）として共に符号化される。第１ブロックの周波数ｋについてΔ１（ｋ）に関する初期確率分布から開始し、後続の各ブロックは、この周波数について直前に符号化されたマージブロックの収集された統計値に基づいて更新された分布を導く。さらに、ゼロ又はゼロに近いターゲットフレームの高い周波数の構成要素が与えられる場合、ターゲットブロックの残りの周波数の構成要素が全て、閾値ＴＨよりも小さい場合、End-of-Block (EoB)記号をエンコードする。これは、ブロック当たりのシフト差分△ｂ（ｋ）の小さい番号をエンコードする必要のみがあることを意味する。
【００６３】
大きいλ値についてシフトｃｂ（ｋ）を選択するために式（１８）を用いる場合、△ｂ（ｋ）についての結果の統計値は、有益である。単独のＷ*（ｋ）は、フレーム内の全てのマージブロックのｋ番目の係数に選択される場合、多くのブロックｂについてのＳＩフレーム内の典型的な最大係数差分Ｗｂ（ｋ）よりはるかに大きいことになる。ＰＷＣ関数内の大きく関連するステップ幅は、同一のシフトｃｂ（ｋ）がブロックの長いシーケンスについてsignal mergingについて再利用されることを意味する。すなわち、△ｂ（ｋ）＝０は、高い確率を有し、ＡＣを用いる場合、圧縮利得をもたらす。式（１８）内の△ｂ（ｋ）＝０を選択するコストは歪みにおける報いである。後述するように、本実施の形態にかかるマージフレームは、低ビットレート領域において多くの保証を示す。
【００６４】
（実験結果）
本実施の形態にかかるマージフレームのパフォーマンスをテストするため、以下の実験を行った。４つのビデオテストシーケンス（ftp://ftp.tnt.uni-hannover.de/testsequences/を参照）、RaceHorses、PartyScene、BQMall及びBasketballDrillを用いた。各シーケンスについて、まず、２つのＳＩフレームを作成する。これらのＳＩフレームは、異なるＱＰを用いて圧縮された直前のフレームの異なる符号化バージョンの予測として用いる予測的に符号化されたものである。ＳＩフレームそれ自身についてのＱＰは、異なるＲＤのトレードオフを引き起こすために変更された。特定のＱＰにおいてエンコードされたＳＩフレームの組が与えられたとしたら、式（１８）を用いる水平シフトｃを選択する場合に、λの値の範囲を用いてマージフレームをエンコードしていた。全ての使用箇所の凸包（convex hull）は、本提案のマージフレームのＲＤパフォーマンスを示す。比較のため、非特許文献６におけるＤＳＣスキームの先の実施のＲＤパフォーマンスもプロットした。
【００６５】
図５及び図６は、シーケンスRaceHorses及びPartySceneについて、本実施の形態にかかるマージフレームと非特許文献６のＤＳＣフレームを比較したエンコーディングレートと対比したＰＳＮＲ（Peak Signal-to-Noise Ratio）を示すグラフである。本実施の形態にかかるマージフレームは、全てのビットレート領域において非特許文献６のＤＳＣフレームよりパフォーマンスが優れている。つまり、効率が良い。
【００６６】
図７及び図８は、シーケンスBQMall及びBasketballDrillについて、本実施の形態にかかるマージフレームと非特許文献６のＤＳＣフレームを比較したエンコーディングレートと対比したＰＳＮＲを示すグラフである。本実施の形態にかかるマージフレームは、これら２つのシーケンスにて、低度から中度のビットレートの領域のみにおいて非特許文献６のＤＳＣフレームよりパフォーマンスが優れている。つまり、効率が良い。尚、図示していないが、△ｂ（ｋ）についての統計値は、全てのシーケンスについて低度のビットレートにおいて△ｂ（ｋ）＝０に向けてより歪められるということが観測された。
【００６７】
このように、コーディング効率も良いストリーミング切替メカニズムの設計のために、本実施の形態では、マージオペレータ（merge operator）として区分的定数（piecewise constant (pwc)）関数を用いるsignal mergingの概念に基づく新しいアプローチを説明した。特に、異なるＳＩフレームのｋ番目の変換係数を同じ値にマージするために、全てのＳＩ係数が同じ関数ステップ上に位置するように、床関数の適切なステップ幅と水平シフトパラメータをエンコードする。各ブロックについてのイントラ及びマージ間のコーディングモードと同様に、各係数についてのシフトパラメータを選択するためのＲＤ最適化技術を提案した。そして、実験結果は、低度から中度のビットレートにおけるＤＳＣフレームの過去の実施以上に符号化利得を促進することで、計算の複雑性が極めて減少したことを示した。
【００６８】
尚、本実施の形態を言い換えると、ＳＩフレームの変換係数をマージするために区分的定数関数(PCF)を用いるものといえる。そして、同一又は非常に異なるブロックが"skip"or"intra"として符号化される。また、小さい差分を有するブロックについて、PCFのパラメータを符号化する。これらにより、ＤＳＣを採用した場合におけるデコーダの複雑さが軽減され、かつ、ＤＳＣと同等又はより良い符号化性能を達成できる。
【００６９】
また、ＳＩフレーム内の対応ブロックの係数ｋについて、係数がＰＣＦ内の同じステップになるようにPCFを設計する。ここで、ステップサイズは係数ごと、フレームごとに安価に選択される。また、シフトパラメータは係数ごと、ブロックごとに高価に選択される。さらに、シフトパラメータに算術符号化を用いて統計的に有意となる符号化システムを設計できる。これらにより、ピークの分散は、統計的に有意となる。また、大きなステップサイズにより、多くのシフトの選択が実現可能となる。
【００７０】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。
【００７１】
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ(Blu-ray(登録商標) Disc)、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００７２】
ＳＴ１  ストリーム
Ｉ１，１  Ｉフレーム
Ｐ１，２  Ｐフレーム
Ｐ(1)１，３  ＳＩフレーム
Ｐ(2)１，３  ＳＩフレーム
Ｍ１，３  マージフレーム
Ｐ１，４  Ｐフレーム
ＳＴ２  ストリーム
Ｉ２，１  Ｉフレーム
Ｐ２，２  Ｐフレーム
Ｐ２，３  Ｐフレーム
Ｐ２，４  Ｐフレーム
ｔ１〜ｔ４  時刻
１００  ストリーミング配信システム
１０  サーバ
１１  記憶部
１１１  ストリーム
１１２  ストリーム
１２  ストリーム配信部
１３  フレーム生成部
２０  クライアント
Ｎ  ネットワーク
【図１】
2015023579.tif 000021
【図２】
2015023579.tif 000022
【図３】
2015023579.tif 000023
【図４】
2015023579.tif 000024
【図５】
2015023579.tif 000025
【図６】
2015023579.tif 000026
【図７】
2015023579.tif 000027
【図８】
2015023579.tif 000028