特許第6367030号(P6367030)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大学共同利用機関法人情報・システム研究機構の特許一覧 ▶ 香港科技大学の特許一覧

<>
  • 特許6367030-ストリーミング配信システム 図000020
  • 特許6367030-ストリーミング配信システム 図000021
  • 特許6367030-ストリーミング配信システム 図000022
  • 特許6367030-ストリーミング配信システム 図000023
  • 特許6367030-ストリーミング配信システム 図000024
  • 特許6367030-ストリーミング配信システム 図000025
  • 特許6367030-ストリーミング配信システム 図000026
  • 特許6367030-ストリーミング配信システム 図000027
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6367030
(24)【登録日】2018年7月13日
(45)【発行日】2018年8月1日
(54)【発明の名称】ストリーミング配信システム
(51)【国際特許分類】
   H04N 19/30 20140101AFI20180723BHJP
   H04N 21/238 20110101ALI20180723BHJP
   H04N 21/438 20110101ALI20180723BHJP
【FI】
   H04N19/30
   H04N21/238
   H04N21/438
【請求項の数】4
【全頁数】19
(21)【出願番号】特願2014-144853(P2014-144853)
(22)【出願日】2014年7月15日
(65)【公開番号】特開2015-23579(P2015-23579A)
(43)【公開日】2015年2月2日
【審査請求日】2017年7月14日
(31)【優先権主張番号】61/957,941
(32)【優先日】2013年7月16日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
(73)【特許権者】
【識別番号】500540958
【氏名又は名称】香港科技大学
【氏名又は名称原語表記】The Hong Kong University of Science and Technology
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】チョン ジーン
(72)【発明者】
【氏名】ダイ ウェイ
(72)【発明者】
【氏名】チョン マン
(72)【発明者】
【氏名】オルテガ アントニオ
(72)【発明者】
【氏名】エーユー オスカル
【審査官】 堀井 啓明
(56)【参考文献】
【文献】 特表2004−517569(JP,A)
【文献】 国際公開第2013/032662(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00−19/98
H04N21/00−21/858
(57)【特許請求の範囲】
【請求項1】
複数のストリームデータを記憶する記憶部と、
要求元から指定されたストリームデータについて、フレームごとに配信を行うストリーム配信部と、
前記複数のストリームデータから前記フレームを生成するフレーム生成部と、
を備えるサーバと、
前記サーバに対して、前記ストリームデータの指定を送信するクライアントと、
を備え、
前記フレーム生成部は、
第1のストリームにおける符号化の対象フレームと当該対象フレームの直前の差分フレームとの差分を符号化した第1の差分フレームと、前記対象フレームと第2のストリームにおける当該対象フレームの直前の差分フレームとの差分を符号化した第2の差分フレームと、を生成し、
前記第1の差分フレーム内の第1の量子化変換係数から、ステップ幅及びシフトパラメータを用いた所定の区分的定数関数により算出される値と、前記第2の差分フレーム内の前記第1の量子化変換係数と対応する第2の量子化変換係数から前記区分的定数関数により算出される値とが同じ値となるように、前記ステップ幅及び前記シフトパラメータを算出し、当該算出したステップ幅及びシフトパラメータを含めてマージフレームを生成し、
前記ストリーム配信部は、
前記第2のストリームのフレームの配信中に、前記クライアントから前記第1のストリームの指定を受け付けた場合に、少なくとも前記第2の差分フレーム及び前記マージフレームを当該クライアントへ配信し、
前記クライアントは、
前記サーバから少なくとも前記第2の差分フレーム及び前記マージフレームを受信し
前記受信したマージフレームから前記ステップ幅及び前記シフトパラメータを抽出し、
前記抽出したステップ幅及びシフトパラメータを適用した前記区分的定数関数と、前記受信した第2の差分フレームの前記第2の量子化変換係数と、前記第2のストリームの前記直前の差分フレームとを用いて、前記第1のストリームにおける前記対象フレームの再構成を行う
ストリーミング配信システム。
【請求項2】
前記フレーム生成部は、
隣接するブロック間の前記シフトパラメータの差分を符号化して前記マージフレームを生成する
請求項1に記載のストリーミング配信システム。
【請求項3】
前記フレーム生成部は、
前記第1の差分フレーム内の複数の前記第1の量子化変換係数と前記第2の差分フレーム内の数の前記第2の量子化変換係数の差分のうち最大値を限度として前記ステップ幅とする
請求項1又は2に記載のストリーミング配信システム。
【請求項4】
前記フレーム生成部は、
前記対象フレームに関する歪みと、符号化レートとの合計値が最小化されるように前記マージフレームを生成する
請求項1乃至3のいずれか1項に記載のストリーミング配信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーミング配信システムに関し、特に、時系列で対応する複数のストリームデータの配信をクライアントからの要求に応じてサーバが切替を行うためのストリーミング配信システムに関する。
【背景技術】
【0002】
非双方向ビデオストリーミングでは、クライアントは、サーバから送信されるプレエンコードされたビデオストリーム内の各フレームを順次受信し、デコードして、固定された順序に従って再生する。一方、非特許文献1に示すような双方向ビデオストリーミング(interactive video streaming)では、クライアントは、ユーザ個別の用途で高次元のメディアコンテンツの部分集合をリアルタイムに自由に選択できる。そのため、クライアントからの選択要求に応じて、サーバは、クライアントにおける正しいデコーディング及び表示のために、要求されたメディアの部分集合に対応するプレエンコードされたデータを送信しなければならない。
【0003】
双方向ビデオストリーミングの例としては、リアルタイム帯域幅適応(real-time bandwidth adaptation)のために、同じビデオコンテンツについて異なるビットレートでエンコードされたストリームの切替(非特許文献2)、異なる視点からキャプチャされた明視野像(light field images)内の静的3Dシーンのナビゲーション(非特許文献3及び4)、又は、同じ動的3Dシーンについて異なるカメラからキャプチャされた映像群の中での視点切替(非特許文献5)等がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】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.
【非特許文献2】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.
【非特許文献3】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.
【非特許文献4】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.
【非特許文献5】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.
【非特許文献6】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.
【非特許文献7】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.
【非特許文献8】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.
【非特許文献9】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.
【非特許文献10】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.
【非特許文献11】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.
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した双方向ビデオストリーミングをサポートするためには、ストリーミング切替を促進するための柔軟性のあるメカニズムを提供する一方で、高次元のビデオコンテンツを効率的にプレエンコードすることが必要である。
【0006】
<Iフレーム、Pフレーム>
ここで、ビデオのストリーミングデータには、一般的に、Iフレーム(Intra frame)及びPフレーム(Predicted frame)の2種類がある。Iフレームは、他のフレームに依存せずに、独立して(圧縮)符号化されたフレームである。また、Pフレームは、直前のフレームと現在のフレームとの間の差分が符号化されたフレームである。そのため、PフレームはIフレームに比べてデータサイズがはるかに小さい。
【0007】
そのため、一つのシンプルな手法としては、それぞれのアプリケーションに要求され得る切替箇所において、イントラコード化されたIフレームを予め挿入しておくことが挙げられる。すなわち、ビデオデータの再生時刻について定期的な間隔でIフレームを生成し、大半の残りの再生時刻をPフレームとして生成し、これらの配信を行うものである。この手法は、全てをIフレームで送信する場合に比べて送信データ量を削減することができる。しかし、ストリーミングの切替箇所がPフレームであった場合、次のIフレームが配信されるまで、クライアントにおける再生に待ち時間が生じ得る。待ち時間を短くするにはIフレームの挿入(生成)間隔を短くすることが必要であるが、上述の通りIフレームはPフレームに比べてデータサイズが非常に大きいため、ビットレートが大きくなり、通信帯域の利用効率が悪くなってしまう。
【0008】
それ故、Iフレームはデコーディングのためにデコーダバッファにおいて予測フレームを要求しないという利点があるものの、サイズが大きいため、ストリームデータ内にIフレームを頻繁に挿入することは実現が困難といえる。
【0009】
<SPフレーム>
従来のI、P及びBフレームを超えるものとして、H.264(非特許文献9)は、ストリーミング切替のためにSPフレーム(非特許文献10)を導入する。一言でいえば、まず、第1のSPフレームは、1つの予測フレーム(Pフレーム)とターゲットフレームの間で差動的に符号化される。ここで、当該予測フレームとターゲットフレームとは同一のストリーム内の前後のフレームである。そのため、第1のSPフレームは、従来のPフレームと類似している。付加的な予測フレームのそれぞれに関して、第2のSPフレームは、予測フレームと再構成された第1のSPフレームとの間で差動的に符号化される。ここで、予測残差(prediction residual)は、第1及び第2のSPフレームの間で同一の再構成(identical reconstruction)を保証するために可逆圧縮で符号化される。
【0010】
ここで、第2のSPフレームは、ターゲットフレームと、当該ターゲットフレームとは異なるストリームの直前の予測フレームとの差分に基づいて生成される。すなわち、第1のSPフレームはPフレームと同様に相対的にサイズが小さいが、第2のSPフレームはIフレームに近いサイズであり、第1のSPフレームと比べてサイズが非常に大きい。
【0011】
<SIフレーム、DSC>
そこで、より効率的なストリーム切替メカニズムに向けたDistributed Source Coding (DSC)は、クライアントが切り替えることが可能なフレーム(以下、side information(SI)フレームと呼ぶ。)の集合と、符号化利得用のターゲットフレームとの間の相互関係を有効活用するものである(非特許文献6,7及び8)。特に、各コードブロックは、画素から変換領域(transform domain)へ最初に対応付け(map)られる。そして、全てのSIフレームからの各変換係数のビットプレーンは、ターゲットフレームのビットプレーンと比較される。これにより、SIフレーム内の「最もノイズの大きい(noisiest)」ビットプレーン(ターゲットフレームから最大の偏差値を有するもの)が特定される。また、ワーストケースのノイズを十分に克服する強いチャネルコードが、DSCフレームとしてエンコードされる。デコーダにおいて、任意のSIフレーム及びDSCフレームは、ターゲットフレームの同一の再構成(identical reconstruction)をもたらす。そして、DSCフレームは潜在的に、比較可能なIフレームよりもはるかに小さいサイズとなる(非特許文献8)。
【0012】
しかしながら、DSCフレーム設計には重大な課題が残されている。まず、ビットプレーンエンコーディング及びチャネルコードの利用は、エンコーダ及びデコーダの両方の計算複雑性(computation complexity)が高いことを意味する。さらに、全体画像に対する変換係数ビットプレーンの統計平均が使用されるため、非定常のノイズ統計は、コーディングの非効率性の結果として、高率のチャネルコードへ導き得る。
【0013】
DSCは、過去10年でストリーミング切替メカニズムの設計における人気の高い概念であった(非特許文献2,3,6,7及び8)。一方で、ビットプレーン及びチャネルコーディングのために要求される計算複雑性に部分的に起因して、DSCは任意のコーディング標準に広く使用又は採用されていない。尚、上述した第2のSPフレームは、可逆圧縮の符号化の採用に起因して符号化が非効率であり、DSCフレームより質が劣る(非特許文献8)。
【0014】
本発明は、このような問題点を解決するためになされたものであり、双方向ストリーミング中に時系列で対応する複数のストリームの間を効率的に切り替えるためのストリーミング配信システムを提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明の第1の態様にかかるストリーミング配信システムは、
複数のストリームデータを記憶する記憶部と、
要求元から指定されたストリームデータについて、フレームごとに配信を行うストリーム配信部と、
前記複数のストリームデータから前記フレームを生成するフレーム生成部と、
を備えるサーバと、
前記サーバに対して、前記ストリームデータの指定を送信するクライアントと、
を備え、
前記フレーム生成部は、
第1のストリームにおける符号化の対象フレームと当該対象フレームの直前のフレームとの差分を符号化した第1の差分フレームと、前記対象フレームと第2のストリームにおける当該対象フレームの直前のフレームとの差分を符号化した第2の差分フレームと、を生成し、
前記第1の差分フレーム及び前記第2の差分フレーム内の対応する変換係数における区分的定数関数の値が同じ値となるように、当該区分的定数関数のステップ幅及びシフトパラメータを算出し、当該ステップ幅及びシフトパラメータに基づきマージフレームを生成し、
前記ストリーム配信部は、
前記第2のストリームのフレームの配信中に、前記クライアントから前記第1のストリームの指定を受け付けた場合に、前記第1の差分フレーム、前記第2の差分フレーム及び前記マージフレームを当該クライアントへ配信し、
前記クライアントは、
前記サーバから受信した前記第1の差分フレーム、前記第2の差分フレーム及び前記マージフレームと、前記第2のストリームの前記直前のフレームとを用いて、前記第1のストリームにおける前記対象フレームの再構成を行う
ストリーミング配信システム。
【発明の効果】
【0016】
本発明により、双方向ストリーミング中に時系列で対応する複数のストリームの間を効率的に切り替えるためのストリーミング配信システムを提供することができる。
【図面の簡単な説明】
【0017】
図1】サイド情報とPWC関数の関係を示す図である。
図2】あるプレエンコードされたストリームST2から別のストリームST1へのマージフレームを用いたストリーム切替の例を示す図である。
図3】本実施の形態にかかるストリーミング配信システムの構成を示すブロック図である。
図4】本実施の形態にかかるストリーミング切替の流れを示すシーケンス図である。
図5】シーケンスRaceHorsesについて、本実施の形態にかかるマージフレームと非特許文献6のDSCフレームを比較したエンコーディングレートと対比したPSNRを示すグラフである。
図6】シーケンスPartySceneについて、本実施の形態にかかるマージフレームと非特許文献6のDSCフレームを比較したエンコーディングレートと対比したPSNRを示すグラフである。
図7】シーケンスBQMallについて、本実施の形態にかかるマージフレームと非特許文献6のDSCフレームを比較したエンコーディングレートと対比したPSNRを示すグラフである。
図8】シーケンスBasketballDrillについて、本実施の形態にかかるマージフレームと非特許文献6のDSCフレームを比較したエンコーディングレートと対比したPSNRを示すグラフである。
【発明を実施するための形態】
【0018】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【0019】
本実施の形態では、マージオペレータ(merge operator)として区分的定数(PieceWise Constant (PWC))関数を用いるsignal mergingの概念に基づくストリーム切替問題への新しいアプローチを説明する。ここで、“signal merging”とは、SI(Side Information)を同一に再構成された良質の信号へマージすることを示す。特に、ブロック内のk番目の変換係数について、コードブロックのための新しいマージモードを示す。すなわち、デコーダにおける床関数(floor function)の計算結果が任意のSIフレームから同一の再構成値(再現値、reconstructed value)へ対応する係数にマップできるように、エンコーダにおける床関数の適切なステップ幅と水平シフトパラメータをエンコードする。ここで、ステップサイズ及び水平シフトの選択は、マージ信号の忠実度(merged signal fidelity)とコーディングレートの両方に直接的に影響を及ぼす。そして、ブロック基準ごとのイントラとマージの間のコーディングモードの選択と同様に、これらのパラメータを最適化するためにレート−歪み(Rate-distortion)最適化手順を提案する。そして、後述する実験結果は、計算複雑性の減少において、低度から中度のビットレートにおけるDSCフレームの過去の実施以上に符号化利得を促進することを示す。
【0020】
また、上述したDSCと対照的に、本実施の形態にかかるsignal mergingの概念に基づくマージフレームは、量子化(PWC関数)及び水平シフトの算術符号化を取り入れる。そして、簡易かつ直感的であり、コーディングコミュニティ内で十分理解できるものである。
【0021】
ここで、図1は、サイド情報(side information(SI))とPWC関数の関係を示す図である。図1では、ブロックbのk番目の係数に対応するSIをX(k)及びX(k)とし、それらが同じステップ上に位置する場合、PWC関数f(x)は、それらを同じX ̄(k)に対応付ける(map)。ここで、ステップ幅(step size)W及びシフト(shift)cは各係数をエンコードするPWC関数f(x)を特定可能である。
【0022】
例えば、図1に示すように、2つのSIフレームX(k)及びX(k)からブロックbのk番目の変換係数は、PWC関数f(x)の同じステップ上に位置する。2つの値のうちいずれもがf(x)を介して同一の(マージされた)信号X ̄b(k)に対応付けられることを意味する。
【0023】
(k)及びX(k)がエンコーディング中に双方認識されるとした場合、エンコーダは、ターゲットフレームの元々のk番目の係数Y(k)を正確に復元する組み合わせを含み、一意な再構成(unique reconstruction)を保証するためのステップ幅Wとシフトcの多くの組み合わせの中から選択できる。しかしながら、エンコーダは、レートと歪みを最適にトレードオフするW及びcを選択するためにこの自由度(degree of freedom)を用いることができる。具体的には、シフトcの選択がシフトパラメータの算術符号化についての有益な統計値をどのように導くかを後述する。
【0024】
続いて、コードブロックが設計されたマージモード又はイントラモードを利用して符号化され得るマージフレームが、ストリーミング切替メカニズムとして利用される本実施の形態にかかるコーディングシステムを概観する。
【0025】
まず、フレームFiからフレームFjへ切替の可能性がある場合に、予測としてのFiとターゲットとしてのFjを用いて差動的に符号化されたPフレームであるSIフレームは、エンコードされる。そして、SIフレームは、個別の予測フレームが与えられたターゲットフレームの最善の近似値を構成する。
【0026】
図2は、あるプレエンコードされたストリームST2から別のストリームST1へのマージフレームを用いたストリーム切替の例を示す図である。まず、2つのSIフレームP(1)1,3及びP(2)1,3は、それぞれ異なる予測を用いて構成される。次に、マージフレームM1,3は、2つのSIフレームP(1)1,3及びP(2)1,3を用いてエンコードされる。ここで、Iフレームは円、Pフレームは四角、マージフレームはひし形で示す。
【0027】
図2において、2つのPフレームP(1)1,3及びP(2)1,3はストリームST1及び時刻t3におけるSIフレームである。そして、一方のPフレームP(1)1,3(第1のSIフレーム)は、ストリームST1の予測フレームP1,2から予測されたものであり、他方のPフレームP(2)1,3(第2のSIフレーム)は、ストリームST2の予測フレームP2,2から予測されたものである。また、マージフレーム(図2のM1,3)は、任意の可能なSIフレームを、ターゲットフレームにおける同一に構成された(identically constructed)バージョンにマージしてエンコードされる。
【0028】
ここで、仮に、本実施の形態にかかるマージフレームを用いない場合、P1,4はストリームST1のP1,3から予測されたものになる。しかし、ストリームST2からストリームST1へ切り替えられた場合に、P1,4を再生時に用いる直前のフレームP1,3は、ストリームST2に起因するものとなる。そのため、P1,4の予測時に用いられたP1,3と異なるために、P1,4を100%正確には再生できず、いわゆるコーディングドリフトの問題が発生し得る。
【0029】
そこで、本発明の実施の形態では、ストリーミング切替の際、サーバは、SIフレームの一つに同一の再構成(identical reconstruction)ためのマージフレームを加えて送信する。これにより、2つのP1,3の違いを解消したマージフレームからP1,4を再生できるため、後続のフレーム内のコーディングのドリフトを回避できる。
【0030】
ここで、図3は、本実施の形態にかかるストリーミング配信システム100の構成を示すブロック図である。ストリーミング配信システム100は、サーバ10とクライアント20とがネットワークNを介して通信可能に接続されている。ストリーミング配信システム100は、サーバ10とクライアント20との間で上述した双方向ビデオストリーミングを実現する。サーバ10は、記憶部11と、ストリーム配信部12と、フレーム生成部13とを備える。
【0031】
記憶部11は、複数のストリームデータ111及び112を記憶する。尚、記憶部11は、3以上のストリームデータを記憶していてもよい。ストリームデータ111及び112は、それぞれ時系列で対応する映像コンテンツであり、例えば、同じ映像についてビットレートが異なるものであるか、カメラの視点が異なるもの等である。また、ストリームデータ111及び112は、それぞれ時系列に沿った複数のフレームデータを含む。つまり、各フレームデータは、ストリームの再生時刻が対応付けられている。尚、各フレームデータは、上述したIフレーム、Pフレーム、本実施の形態にかかるSIフレーム及びマージフレーム等を含むものとする。
【0032】
フレーム生成部13は、複数のストリームデータ111及び112からフレームデータを生成する。特に、フレーム生成部13は、第1のストリーム(例えば、ストリーム111)における符号化の対象フレームと当該対象フレームの直前のフレームとの差分を符号化した第1の差分フレームと、前記対象フレームと第2のストリーム(例えば、ストリーム112)における当該対象フレームの直前のフレームとの差分を符号化した第2の差分フレームと、を生成する。そして、フレーム生成部13は、前記第1の差分フレーム及び前記第2の差分フレーム内の対応する変換係数における区分的定数関数の値が同じ値となるように、当該区分的定数関数のステップ幅及びシフトパラメータを算出し、当該ステップ幅及びシフトパラメータに基づきマージフレームを生成する。
【0033】
さらに、前記フレーム生成部は、隣接するブロック間の前記シフトパラメータの差分を符号化して前記マージフレームを生成する。また、前記フレーム生成部は、前記第1の差分フレーム及び前記第2の差分フレーム内の対応する複数の前記変換係数の差分のうち最大値を限度として前記ステップ幅とする。また、前記フレーム生成部は、前記対象フレームに関する歪みと、符号化レートとの合計値が最小化されるように前記マージフレームを生成する。尚、フレーム生成部は、シフトパラメータの差分を符号化する代わりに、シフトパラメータをそのまま符号化してもよい。
【0034】
ストリーム配信部12は、要求元から指定されたストリームデータについて、フレームごとに配信を行う。つまり、ストリーム配信部12は、クライアント20からストリームデータの種類の指定を受け付け、指定されたストリームデータにおける該当する再生時刻が対応付けられたフレームデータを読み出し、クライアント20へ当該フレームデータを送信する。
【0035】
また、ストリーム配信部12は、ストリーム112のフレームの配信中に、クライアント20からストリーム111の指定を受け付けた場合に、第1の差分フレーム、第2の差分フレーム及びマージフレームをクライアント20へ配信する。
【0036】
クライアント20は、サーバ10に対して、ストリームデータの指定を送信する。特に、クライアント20は、第2のストリーム(例えば、ストリーム112)の各フレームを受信、デコード及び再生中に、時系列で対応する他のストリーム(例えば、ストリーム111)への切替の指示を上記指定として送信する。そして、クライアント20は、サーバ10から受信した(ストリーム111の)第1の差分フレーム、第2の差分フレーム及びマージフレームと、第2のストリーム(ストリーム112)の直前のフレーム(すでにデコード済みであり、直前の再生時刻に対応する)とを用いて、前記第1のストリームにおける対象フレームの再構成を行う。
【0037】
続いて、図2及び図4を用いて、本実施の形態にかかるストリーミング切替の流れの例を説明する。まず、クライアント20は、ストリーム配信を開始するためにストリームST2を指定したリクエストをサーバ10へ送信する(S11)。次に、サーバ10は、クライアント20からのリクエストを受信し、指定されたストリームST2における時刻t1に対応するIフレームI2,1を記憶部11から読み出し、クライアント20へ送信する(S12)。続いて、サーバ10は、時刻t2に対応するPフレームP2,2を記憶部11から読み出し、クライアント20へ送信する(S13)。この間、クライアント20は、IフレームI2,1及びPフレームP2,2を受信し、デコードし、ストリームST2の再生を行う。
【0038】
そして、このとき、クライアント20はユーザの操作等によりストリームST1への切替の指示を受け付けたものとする。そして、クライアント20は、ストリームST1への切替のリクエストをサーバ10へ送信する(S14)。
【0039】
サーバ10は、クライアント20からの切替のリクエストを受信し、切替に指定されたストリームST1における時刻t3に対応するSIフレームP(1)1,3及びP(2)1,3並びにマージフレームM1,3を記憶部11から読み出し、クライアント20へ送信する(S15)。尚、サーバ10のフレーム生成部13は、予め時刻t3を含む、複数の時刻に対応するSIフレーム及びマージフレームを生成しているものとする。また、サーバ10のストリーム配信部12は、クライアント20から切替の指定を受け付けた場合に、該当する時刻のSIフレーム及びマージフレームを読み出すようにしてもよい。
【0040】
そして、クライアント20は、SIフレームP(1)1,3及びP(2)1,3並びにマージフレームM1,3を受信し、これらとストリームST2における時刻t2のフレームとを用いて切替後のストリームST1における時刻t3のフレームを再構成し、ストリームST1に切り替えた再生を行う。このとき、クライアント20は、マージフレームM1,3からPWC関数のステップ幅及びシフトパラメータを抽出し、これらを用いてフレームの再構成を行う。
【0041】
その後、サーバ10は、時刻t4に対応するPフレームP1,4を記憶部11から読み出し、クライアント20へ送信する(S13)。これに応じて、クライアント20は、PフレームP1,4を受信し、これと時刻t3の再構成後のフレームとを用いてストリームST1における時刻t4のフレームを再構成し、再生を行う。
【0042】
(signal mergingのためのPWC関数)
続いて、本実施の形態にかかるsignal mergingのためのPWC関数について説明する。
まず、N個のSIフレームをS、・・・、Sとする。N個のSIフレームの一つは、マージフレームのデコーディングのためにデコーダバッファにおいて利用可能となるエンコーディング時間に不確実性がある。しかし、N個のSIフレームの集合は、そのようなエンコーディング時間に確実性が知られている。ここで、ターゲット画像Tの近似値であり、マージフレームをデコーディングした後の再構成画像をT ̄とする。この目的は、ターゲット画像Tに関する歪みであるD(M)と、マージフレームのエンコーディングレートであるR(M)が最適にトレードオフであるような、以下の式(1)満たすマージフレームMを設計することである。
【数1】
ここで、SIフレームS及びマージフレームMの組み合わせは、Tと同じようにT ̄が再構成(identically reconstruct)される。この目的は、RD最適化シーンにおけるベストマージフレームMの可能性を見つけることである。
【0043】
まず、PWC関数を用いたマージフレーム構成のためのフレームワークを説明する。そして、当該フレームワーク内のパラメータの異なる選択についての歪みとレートのコストをもたらすことを説明する。
【0044】
(signal mergingのための区分的定数関数)
SIフレームSにおけるKピクセル(例えば、8x8)のコードブロックインデクスbを前提として、xは、以下の式(2)により変換及び量子化される。
【数2】
ここで、x(k)はSIフレームSのブロックbのk番目の係数の量子化インデクスである。尚、x(k)は整数の集合に包含される。
【0045】
再構成フレーム(reconstructed frame)T ̄内のブロックbに関する同一の再構成(identical reconstruction)X ̄を有する(have)ために、k番目の係数X(k)、・・・、X(k)のそれぞれは、同じ量子化インデックスX ̄(k)に対応付けられなければならない。この点は、N=2の場合を図1に示したように、PWC関数を用いて達成され得る。尚、PWC関数の例は、mod, round, floor(床関数)等である。床関数は、例えば、以下の式(3)として規定する。ここで、床関数は、水平シフトc及びステップ幅Wを用いた床演算(floor operation)の後、元のx及び再構成された(reconstructed)f(X)の間の最大の差分は最小化されるということで定義される。
【数3】
ここで、ステップ幅はW、水平シフトはcである。
【0046】
各SIフレームがターゲットフレームに相互に関連付けられ、SIフレーム同士が相互に関連付けられることを意味する。それ故、ブロックbにおけるk番目の係数に関し、X(k)、・・・、X(k)の任意のペア間の最大の差分は、さほど大きくない。2つのSIからのブロックbにおける2つのk番目の係数の間の最大の差分をW(k)とする。W(k)は、以下の式(4)に示される。
【数4】
【0047】
そして、W(k)を前提として、ブロックのグループBについてのグループ別の最大差分W(k)を次に定義する。
【数5】
ここで、各X(k)を整数とした場合、W(k)も整数である。
【0048】
グループB内の任意のブロックbについて、ステップ幅W(k)=W(k)+eは、仮に水平シフトc(k)が適切に選択されるとすれば、0より大きい任意のeについて、X(k)、・・・、X(k)のうち任意の係数を同じ値へ対応付けるための床関数f(x)に十分である。cが整数である間に、最小ステップ幅W(k)を使用するために、eを1に修正する。
【0049】
(k)(nは1〜Nの集合に包含される)における任意の係数がf(x)を介して同じ値に対応付けられるというようにシフトc(k)は選択されなければならない。すなわち、以下の式(6)を満たす。
【数6】
【0050】
(k)として表示され、整数に包含されるc(k)の値の適した集合は、以下の式(7)に示される。
【数7】
ここで、mは整数であり、cmin(k)及びcmax(k)は、以下の式(8)及び式(9)として定義される。
【数8】
【数9】
ここで、上記式(5)は、以下の式(10)及び式(11)を意味し、また、式(12)に留意する。
【数10】
【数11】
【数12】
【0051】
(歪み損失)
式(7)のF(k)の適した集合内で異なる水平シフトc(k)は、再構成された信号(reconstructed signal)内で異なる歪みを引き起こす。まず、ターゲット画像Tの元のk番目の係数Y(k)と再構成された係数f(X(k))の間の差分である、ブロックbのk番目の係数についての歪みを以下の式(13)に定義する。
【数13】
妥当な水平シフトc(k)が選択されると仮定するため、N個全てのk番目の係数X(k)は、同じ値f(X(k))(nは式(14)を満たすものとする)に対応付ける。
【数14】
それ故、式(13)におけるf(X(k))のみを検討する。
【0052】
式(3)におけるf(x)及びステップ幅Wを前提とした場合、シフトc(cは整数)は、xの前後の整数であるWの近傍の範囲内のみで入力xを移動可能である。このとき、以下の式(15)を満たすものとする。
【数15】
同様に、c=cW+cと記載できる。
【0053】
まず、x+c<Wであると仮定する。式(3)は、以下の式(16)ように展開できる。
【数16】
それ故、cが0以上かつW−x以下である場合、cは、cによりf(x)を減少できる。
【0054】
ここで、x+cがW以上である場合を説明する。bが0以上かつW−2以下である場合、W+b=x+cとする。式(3)は以下の式(17)のようになる。
【数17】
それ故、cは、W−cによりf(x)を増加できる。ここで、cはW−x以上かつW−1以下である。
【0055】
上記展開から2つの見解が得られる。第1に、式(7)に記載されるようなc(k)について適切な集合F(k)が大きいにもかかわらず、c(k)の再構成された範囲(0以上かつW−1以下)は、f(x)内で全ての可能な変化を引き起こすに十分である。第2に、ステップ幅Wが大きくなればなるほど、c(k)の値の範囲は、f(x)内をより多く増加できる(次に説明される、c(k)の符号化コスト(coding cost)もまた増加されるにもかかわらず)。
【0056】
(符号化コスト)
変換係数のマージについて床関数f(x)を用いて、マージフレームMのブロックグループB内のk番目の係数に関するエンコーディングコストを以下の通りとする。
1)グループBについて、1ステップ幅W(k)=W(k)+1
2)グループB内の各ブロックについて、1水平シフトc(k)
【0057】
大きなグループBのk番目の係数についての単一のW(k)をエンコーディングするコストは小さい。他方、k番目の係数についてのBの絶対値の水平シフトc(k)をエンコーディングするコストは高い。それ故、好適なRDパフォーマンスについての以下の2つの重要な設計構成要素について次に説明する。
1)マージグループB内のマージブロックとしてフレーム内のブロックの特定
2)グループB内のブロックについて水平シフトc(k)の効率の良いコーディング
【0058】
(RD最適化)
(ブロックモードのRD最適化選択)
ブロックは、SIフレーム全体で非常に異なるため、signal mergingのための床関数のパラメータを符号化するために大変多くのビットを要する。代わりに、イントラブロックとして符号化されるべきブロックを特定するための後続の手段を実行する。まず、ブロックd^当たりで若干の平均歪みをもたらすマージブロックとして全体のフレームのブロックをエンコードする。そして、平均歪みがd^であるような、イントラ符号化ブロックについて量子化パラメータ(quantization parameter (QP))を選択する。
【0059】
snake order内のブロックbのそれぞれについて、モードmを用いるコーディングであるときのRDコストD(m)+λR(m)を評価する。ここで、mはイントラ又はマージに包含される。イントラについて、イントラ符号化されたブロックの歪みD及びレートRは、上述されたQPにより判定される。マージモードで符号化されたブロックについての歪み及びレートは、ブロック内の独立の周波数についての歪み及びレートの対応する合計値である。より小さなRDコストを用いるモードは、ブロックbのエンコーディングのために選択される。
【0060】
マージにおける符号化のために選択されるブロックが与えられた場合、これらのブロックのk番目の係数の最大のW(k)であるW(k)=max(k)とする。W*(k)が与えられるこれらのブロック内でシフト選択を再度、最適化する。SIフレーム内で大きな差分を有するブロックがイントラブロックに宣言されていたため、より小さなW*(k)という結果となりうる残されるブロックはより小さくなるべきである。小さいステップ幅W*(k)+1は、水平シフトc(k)のエンコーディングに関するアルファベットのサイズを意味する。ここで、c(k)は[0,W*(k)]に包含され、また、小さく、符号化利得を導く。
【0061】
(水平シフトのRD最適化選択)
上述したようにW*(k)が選択されたと仮定して、後続のRD基準(式(18))を用いる各ブロックbのk番目の係数について水平シフトc(k)を再選択する。
【数18】
ここで、d(k)は、式(13)で定義された歪みであり、レート区間は、現在のc(k)と直前のブロックb−1についての直前のcb―1(k)との間の差分確率(probability of the difference)の負の対数である。言い換えると、現在及び直前のブロックの間でシフトの差分△(k)=c(k)−cb−1(k)のみ符号化する。尚、c(k)を直接符号化してもよい。F(k)は、ステップ幅W*(k)+1が与えられるc(k)についての適切な集合である。
【0062】
本実施の形態において、所与のブロックb内の周波数kに関するシフト差分△(k)は、算術符号化(arithmetic coding (AC))を用いて一つのコード語(数値)として共に符号化される。第1ブロックの周波数kについてΔ(k)に関する初期確率分布から開始し、後続の各ブロックは、この周波数について直前に符号化されたマージブロックの収集された統計値に基づいて更新された分布を導く。さらに、ゼロ又はゼロに近いターゲットフレームの高い周波数の構成要素が与えられる場合、ターゲットブロックの残りの周波数の構成要素が全て、閾値THよりも小さい場合、End-of-Block (EoB)記号をエンコードする。これは、ブロック当たりのシフト差分△(k)の小さい番号をエンコードする必要のみがあることを意味する。
【0063】
大きいλ値についてシフトc(k)を選択するために式(18)を用いる場合、△(k)についての結果の統計値は、有益である。単独のW*(k)は、フレーム内の全てのマージブロックのk番目の係数に選択される場合、多くのブロックbについてのSIフレーム内の典型的な最大係数差分W(k)よりはるかに大きいことになる。PWC関数内の大きく関連するステップ幅は、同一のシフトc(k)がブロックの長いシーケンスについてsignal mergingについて再利用されることを意味する。すなわち、△(k)=0は、高い確率を有し、ACを用いる場合、圧縮利得をもたらす。式(18)内の△(k)=0を選択するコストは歪みにおける報いである。後述するように、本実施の形態にかかるマージフレームは、低ビットレート領域において多くの保証を示す。
【0064】
(実験結果)
本実施の形態にかかるマージフレームのパフォーマンスをテストするため、以下の実験を行った。4つのビデオテストシーケンス(ftp://ftp.tnt.uni-hannover.de/testsequences/を参照)、RaceHorses、PartyScene、BQMall及びBasketballDrillを用いた。各シーケンスについて、まず、2つのSIフレームを作成する。これらのSIフレームは、異なるQPを用いて圧縮された直前のフレームの異なる符号化バージョンの予測として用いる予測的に符号化されたものである。SIフレームそれ自身についてのQPは、異なるRDのトレードオフを引き起こすために変更された。特定のQPにおいてエンコードされたSIフレームの組が与えられたとしたら、式(18)を用いる水平シフトcを選択する場合に、λの値の範囲を用いてマージフレームをエンコードしていた。全ての使用箇所の凸包(convex hull)は、本提案のマージフレームのRDパフォーマンスを示す。比較のため、非特許文献6におけるDSCスキームの先の実施のRDパフォーマンスもプロットした。
【0065】
図5及び図6は、シーケンスRaceHorses及びPartySceneについて、本実施の形態にかかるマージフレームと非特許文献6のDSCフレームを比較したエンコーディングレートと対比したPSNR(Peak Signal-to-Noise Ratio)を示すグラフである。本実施の形態にかかるマージフレームは、全てのビットレート領域において非特許文献6のDSCフレームよりパフォーマンスが優れている。つまり、効率が良い。
【0066】
図7及び図8は、シーケンスBQMall及びBasketballDrillについて、本実施の形態にかかるマージフレームと非特許文献6のDSCフレームを比較したエンコーディングレートと対比したPSNRを示すグラフである。本実施の形態にかかるマージフレームは、これら2つのシーケンスにて、低度から中度のビットレートの領域のみにおいて非特許文献6のDSCフレームよりパフォーマンスが優れている。つまり、効率が良い。尚、図示していないが、△(k)についての統計値は、全てのシーケンスについて低度のビットレートにおいて△(k)=0に向けてより歪められるということが観測された。
【0067】
このように、コーディング効率も良いストリーミング切替メカニズムの設計のために、本実施の形態では、マージオペレータ(merge operator)として区分的定数(piecewise constant (pwc))関数を用いるsignal mergingの概念に基づく新しいアプローチを説明した。特に、異なるSIフレームのk番目の変換係数を同じ値にマージするために、全てのSI係数が同じ関数ステップ上に位置するように、床関数の適切なステップ幅と水平シフトパラメータをエンコードする。各ブロックについてのイントラ及びマージ間のコーディングモードと同様に、各係数についてのシフトパラメータを選択するためのRD最適化技術を提案した。そして、実験結果は、低度から中度のビットレートにおけるDSCフレームの過去の実施以上に符号化利得を促進することで、計算の複雑性が極めて減少したことを示した。
【0068】
尚、本実施の形態を言い換えると、SIフレームの変換係数をマージするために区分的定数関数(PCF)を用いるものといえる。そして、同一又は非常に異なるブロックが"skip"or"intra"として符号化される。また、小さい差分を有するブロックについて、PCFのパラメータを符号化する。これらにより、DSCを採用した場合におけるデコーダの複雑さが軽減され、かつ、DSCと同等又はより良い符号化性能を達成できる。
【0069】
また、SIフレーム内の対応ブロックの係数kについて、係数がPCF内の同じステップになるようにPCFを設計する。ここで、ステップサイズは係数ごと、フレームごとに安価に選択される。また、シフトパラメータは係数ごと、ブロックごとに高価に選択される。さらに、シフトパラメータに算術符号化を用いて統計的に有意となる符号化システムを設計できる。これらにより、ピークの分散は、統計的に有意となる。また、大きなステップサイズにより、多くのシフトの選択が実現可能となる。
【0070】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。
【0071】
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0072】
ST1 ストリーム
1,1 Iフレーム
1,2 Pフレーム
(1)1,3 SIフレーム
(2)1,3 SIフレーム
1,3 マージフレーム
1,4 Pフレーム
ST2 ストリーム
2,1 Iフレーム
2,2 Pフレーム
2,3 Pフレーム
2,4 Pフレーム
t1〜t4 時刻
100 ストリーミング配信システム
10 サーバ
11 記憶部
111 ストリーム
112 ストリーム
12 ストリーム配信部
13 フレーム生成部
20 クライアント
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8