本願は、2017年7月31日に中国特許庁に出願された発明の名称「イメージ処理方法、端末およびサーバ」に係る中国特許出願第201710645108.X号に基づく優先権を主張し、当該出願は、参照により本明細書にてその全体が援用される。
本願は、メディア標準およびメディアアプリケーション技術の分野に関し、具体的には、イメージ処理方法、端末およびサーバに関する。
ビデオアプリケーションにおいては、仮想現実(virtual reality,VR)/360度パノラマビデオが出現してきており、人々に新しい表示方式および視覚的エクスペリエンスをもたらし、また新しい技術的課題ももたらしている。360度パノラマビデオは、オブジェクト上の複数のカメラによって、複数の角度で撮影され、マルチアングル再生をサポートする。ビデオのイメージ信号は、球信号として仮想化されてよい。図1に示される通り、球における異なる位置の球イメージ信号が、異なる視角コンテンツを表してよい。しかしながら、仮想球イメージ信号は人間の目によっては見えない。従って、三次元球イメージ信号は、二次元平面イメージ信号として表わされる必要があり、例えば、経度‐緯度マップまたはキューブ等の表現形態で表される。これらの表現形態では、球イメージ信号が人間の目によって直接見ることができるイメージ信号になるように、球イメージ信号は、実際には特定のマッピング方式で二次元イメージにマッピングされる。最も頻繁に用いられる直接的なイメージフォーマットは、経度‐緯度マップである。イメージを収集する方式は以下の通りである。すなわち、球イメージ信号が経度角に従い、水平方向において均等にサンプリングされ、緯度角に従い垂直方向において均等にサンプリングされる。一例として、地球の球イメージ信号を用いて、図2に地球の二次元マッピングイメージが示されている。
VRアプリケーションにおいては、球イメージ信号は360度パノラマイメージであり、通常、人間の目の視角範囲は約120度である。従って、人間の目の視角から見える有効な球信号は、パノラマ信号の約22%である。より良いユーザ視認エクスペリエンスを達成すべく、VR端末デバイス(例えば、VRグラス)は、約90度から110度の間の単一の視角をサポートできる。しかしながら、ユーザがイメージを見るとき、単一の視角内のイメージコンテンツ情報が、パノラマイメージ全体の小さな部分を占め、視角外のイメージ情報は、ユーザによって用いられない。すべてのパノラマイメージが送信される場合、不要な帯域幅の無駄が生じる。従って、パノラマビデオの視点に依存するビデオコーディング(viewport dependent video coding,VDC)エンコーディングおよび送信技術においては、ビデオ全体におけるイメージは分割され、送信される必要のあるイメージサブ領域が、ユーザの現在の視角に従って選択され、これにより帯域幅を節約する。
上述のパノラマイメージVRエンコーディングおよび送信技術には、(1)タイル単位エンコーディングおよび送信方式を個々に用いる;(2)パノラマイメージエンコーディングのハイブリッドエンコーディングおよび送信並びにタイル単位エンコーディングおよび送信の方式を実行する、という2つのタイプが含まれ得る。タイル単位エンコーディングおよび送信方式では、イメージシーケンスがいくつかのイメージサブ領域に分割され、すべてのサブ領域が別個にエンコーディングされて、1または複数のビットストリームを生成する。経度‐緯度マップを均等に分割する方式には、経度‐緯度マップを、幅方向および高さ方向において、複数のタイルに均等に分割することが含まれる。ユーザがクライアント上で、ある視角のイメージを見るとき、クライアントはユーザの視角位置に基づき、当該イメージ上の視角のカバレッジ範囲を計算し、当該範囲に基づき、当該イメージ内のタイルの位置およびサイズを含む当該イメージの送信される必要のあるタイル情報を取得し、送信のためのタイルに対応するビットストリームをサーバに対し要求し、クライアント上で現在の視角をレンダリングおよび表示する。しかしながら、経度‐緯度マップが分割に用いられる場合、赤道付近のイメージのサンプリングレートは比較的高く、2つの極付近のイメージのサンプリングレートは比較的低い。言い換えれば、赤道付近のイメージのピクセル冗長性は比較的低く、2つの極付近のイメージのピクセル冗長性は比較的高く、より高い緯度はより高い冗長性を示す。経度‐緯度マップが均等な分割に用いられる場合、異なる緯度における経度‐緯度マップのピクセル冗長性の問題は考慮されない。同一の条件下で、送信のための各イメージブロックが同一の解像度でエンコーディングされ、エンコーディングの効率は低く、比較的大きな送信帯域幅の無駄も生じる。
本願の実施形態は、イメージサンプリングにおいて経度‐緯度マップイメージを用いて、イメージを均等に分割するときに生じる、エンコーディングおよび送信時のエンコーディングの低効率および帯域幅の無駄の問題を解決するためのイメージ処理方法、端末およびサーバを提供する。
第1の態様によると、サーバに適用されるイメージ処理方法であって、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行して、経度‐緯度マップまたは球マップのサブ領域を取得する段階であって、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、段階と、取得されたサブ領域のイメージをエンコーディングする段階と、を備える、方法が提供される。このように、従来技術と比較した場合、従来技術では、経度‐緯度マップが同一の分割間隔で均等に分割され、均等な分割時の細分割の特性によってエンコーディングの低効率が生じ、エンコーディングされた後に送信中に大きな帯域幅を占有するという問題が生じる。本願においては、異なる緯度における少なくとも2つの垂直分割間隔に基づく、垂直分割を実行することにより、従来技術における均等および細分割の特性が回避される。本願において、垂直分割は、複数の垂直分割間隔で実行されてよく、その結果、複数のサイズのイメージのサブ領域が存在する。より大きな分割間隔は、より大きなサブ領域を示す。エンコーディング時のエンコーディング効率が向上され、エンコーディング後のサーバがビットストリームを端末に送信するときの占有帯域幅が低減される。
可能な設計において、垂直分割の分割位置が緯度によって決定されることは、垂直分割の分割位置のより高い緯度は、より大きな垂直分割間隔を示すことを含む。このように、サブ領域が位置する緯度は異なるので、より高い緯度はより大きなサブ領域を示す。粗い分割によって、エンコーディングおよび送信効率が向上され得、送信帯域幅が低減され得る。
可能な設計において、取得されたサブ領域のイメージをエンコーディングする段階の前に、方法は、さらに、サブ領域のイメージを、水平方向において第1のサンプリング間隔でサンプリングする段階であって、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す、段階を備え、取得されたサブ領域のイメージをエンコーディングする段階は、サンプリングされたサブ領域のイメージをエンコーディングする段階を含む。経度‐緯度マップでは、赤道付近のイメージのピクセル冗長性が比較的低く、2つの極付近のイメージのピクセル冗長性が比較的高いので、各サブ領域が同一の解像度でエンコーディングおよび送信される場合、送信帯域幅の無駄が大きい。また、デコーディング側のピクセル冗長性は高く、結果的に、デコーディング側は高デコーディング能力を要求し、デコーディング速度が低い。しかしながら、本願においては、水平サンプリングはエンコーディング前に実行されてよく、且つ、水平サンプリングが実行されるとき、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す。言い換えれば、ダウンサンプリングが高緯度のサブ領域に水平方向に実行される、すなわち、圧縮サンプリングが実行される。その結果、エンコーディング前に、高緯度のサブ領域において送信されるイメージのピクセル冗長性は低減可能で、これにより帯域幅を低減する。また、ダウンサンプリングが、エンコーディングおよび送信される必要のあるピクセル値を低減し、その結果、デコーディング側のデコーディング能力に対する要件が低減される。デコーディング複雑性が低減され、これにより、デコーディング速度が向上される。
可能な設計において、取得されたサブ領域のイメージをエンコーディングする段階の前に、方法は、さらに、サブ領域のイメージを垂直方向において第2のサンプリング間隔でサンプリングする段階を備える。第2のサンプリング間隔は、サンプリング前のサブ領域の間隔と同一であってよい。すなわち、オリジナルサンプリングが垂直方向において維持される。または、サンプリング前のサブ領域の間隔より小さくてよい。すなわち、ダウンサンプリングが垂直方向全体において実行される。同様に、エンコーディングおよび送信の帯域幅は比較的小さくてよく、デコーディング側のデコーディング複雑性は低減され、デコーディング速度が向上する。
可能な設計において、サブ領域が、処理されるべきイメージの球マップに水平分割および垂直分割を実行することで取得される場合、サブ領域のイメージを水平方向において第1のサンプリング間隔でサンプリングする段階の前に、方法は、さらに、サブ領域のイメージを、予め設定されたサイズに基づき、二次元平面イメージにマッピングする段階を備え、サブ領域のイメージを、水平方向において第1のサンプリング間隔でサンプリングする段階は、サブ領域の前記イメージがマッピングされた二次元平面イメージを、水平方向において前記第1のサンプリング間隔でサンプリングする段階を含む。言い換えれば、サーバは、撮影デバイスから球マップを収集し、サーバは、まず、球マップのサブ領域のイメージを、二次元経度‐緯度マップにマッピングしてよく、その後、経度‐緯度マップにダウンサンプリングを実行してよい。この場合、サーバが球信号を撮影デバイスから直接収集し、サーバが球マップをサブ領域に直接分割した後、球マップのサブ領域を経度‐緯度マップにマッピングし、その後、経度‐緯度マップにダウンサンプリングを実行してよいと想定されている。
可能な設計において、サンプリングされたサブ領域のイメージをエンコーディングする段階の前に、方法は、さらに、サンプリングされたサブ領域の位置を調整して、調整されたサブ領域のイメージによってスプライシングされるイメージの水平エッジおよび垂直エッジがそれぞれ揃うようにする段階を備える。このように、サブ領域は、スプライシングされたイメージにおいてシーケンスで番号が付与されてよく、その結果、サーバおよび端末は、各サブ領域の番号に基づき、各サブ領域を送信および処理する。
可能な設計において、サンプリングされたサブ領域のイメージをエンコーディングする段階は、スプライシングされたイメージのタイル(tile)をエンコーディングする段階を含む。このように、格納のための単一のビットストリームが生成されてよく、または、単一のビットストリームが分割されて、格納のための複数のサブ領域が取得される。
可能な設計において、取得されたサブ領域のイメージをエンコーディングする段階の後に、方法は、さらに、サブ領域のエンコーディングされたイメージに対応するビットストリームを個々にカプセル化し、サブ領域の位置情報をエンコーディングする段階であって、すべてのサブ領域のエンコーディングされた位置情報およびすべてのサブ領域のビットストリームが同一のトラックに存在する、または、エンコーディングされた位置情報および各サブ領域のビットストリームが位置情報のトラックおよびビットストリームのトラックにそれぞれ存在する、または、すべてのサブ領域のエンコーディングされた位置情報がメディアプレゼンテーションディスクリプション(MPD)内に存在する、または、すべてのサブ領域のエンコーディングされた位置情報がプライベートファイル内に存在し、且つプライベートファイルのアドレスがMPD内に存在する、または、各サブ領域のエンコーディングされた位置情報が各サブ領域のビットストリームの補足拡張情報(SEI)内に存在する、段階を備える。
可能な設計において、サブ領域が、処理されるべきイメージの経度‐緯度マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた経度‐緯度マップを形成し、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにサンプリングされた経度‐緯度マップ内のサブ領域の位置およびサイズを含み、または、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにスプライシングされたイメージのサブ領域の位置およびサイズを含む、または、サブ領域が、処理されるべきイメージの球マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた球マップを形成し、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにサンプリングされた球マップのイメージ内のサブ領域の位置およびサイズを含み、または、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにスプライシングされたイメージ内のサブ領域の位置およびサイズを含む。このように、端末は、再生および表示中に、サブ領域の位置およびサイズに基づき、イメージをレンダリングおよび表示してよい。
可能な設計において、プライベートファイルは、さらに、ユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を表わすために用いられる情報を含んでよい。端末がユーザの視点を決定する場合、端末は、対応関係に基づき、視点の視角によってカバーされるサブ領域を直接決定して、サブ領域のビットストリームに基づき、デコーディング表示を実行してよく、これにより、デコーディング時の端末のデコーディング速度を向上させる。
可能な設計において、プライベートファイルは、さらに、ユーザの視角によってカバーされるサブ領域において表示される必要があることが好ましいサブ領域の個数を表わすために用いられる情報、表示される必要があることが好ましいサブ領域の番号に関する情報、二次的に表示されるサブ領域の番号に関する情報、および表示されないサブ領域の番号に関する情報を含む。このように、何らかの理由(例えば、不安定なネットワーク)により、すべてのサブ領域のすべてのビットストリームが取得できない、または、取得される必要がない場合、表示されることが好ましい視点に近接するサブ領域のイメージが取得されることが好ましくてよく、表示されることが好ましくないサブ領域のイメージデータは、破棄される。
可能な設計において、経度‐緯度マップは、左目に対応する経度‐緯度マップおよび右目に対応する経度‐緯度マップを含み、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行する段階の前に、方法は、さらに左目に対応する経度‐緯度マップを、右目に対応する経度‐緯度マップから分離する段階を備え、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行する段階は、左目に対応する経度‐緯度マップに水平分割および垂直分割を実行し、右目に対応する経度‐緯度マップに水平分割および垂直分割を実行する段階を含む。このように、3Dビデオイメージも、本願におけるサブ領域分割方式で分割されてよく、帯域幅を低減し、エンコーディングおよび送信の効率を向上させる。
可能な設計において、方法は、さらに、サブ領域のエンコーディングされたイメージに対応するビットストリームを端末に送信する段階、または端末によって送信された視角情報を受信し、視角情報に基づき、視角情報に対応するサブ領域を取得し、視角情報に対応するサブ領域のビットストリームを端末に送信する段階、または端末によって送信されるサブ領域の番号を受信し、サブ領域の番号に対応するビットストリームを端末に送信する段階、を備える。言い換えれば、端末は、サブ領域のイメージに対応する要求されたビットストリームを局所的に取得してよく、または、サーバが視角情報に基づき、サブ領域を決定した後に、サブ領域に対応するビットストリームを端末に送信してよい。代替的に、端末が要求されたサブ領域の番号を決定した後、サーバは通知され、サーバが、サブ領域に対応するビットストリームを端末に送信し、これにより、サーバのコンピューティング負荷を低減する。
可能な設計において、経度‐緯度マップは、360度パノラマビデオイメージの経度‐緯度マップ、または360度パノラマビデオイメージの経度‐緯度マップの一部である、または球マップは、360度パノラマビデオイメージの球マップ、または360度パノラマビデオイメージの球マップの一部である。言い換えれば、本願におけるサブ領域分割方式は、180度ハーフパノラマビデオイメージの分割にも適用可能であってよく、これにより、180度ハーフパノラマビデオイメージの送信中の帯域幅を低減し、エンコーディングおよび送信効率を向上させる。
第2の態様によると、端末に適用されるイメージ処理方法であって、パノラマイメージの各サブ領域の位置情報を決定する段階と、各サブ領域の決定された位置情報に基づき、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を決定する段階と、サブ領域の第1のサンプリング間隔を決定する段階と、現在の視角によってカバーされるサブ領域の決定された位置情報に基づき、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階と、ビットストリームをデコーディングして、現在の視角によってカバーされるサブ領域のイメージを取得する段階と、現在の視角によってカバーされるサブ領域の決定された位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングし、再サンプリングされたイメージを再生する段階と、を備える、方法が提供される。従って、サンプリング間隔は、サブ領域の位置と共に変わってよく、均等な分割な分割を通してサブ領域が取得される従来技術におけるものと同様ではない。デコーディング中、イメージは指定されたサンプリング間隔に基づき、デコーディングおよび表示される。本願において、端末は、表示のために異なるサンプリング間隔に基づき、イメージを再サンプリングしてよく、これにより、デコーディング側のイメージの表示速度を向上させる。
可能な設計において、パノラマイメージの各サブ領域の位置情報を決定する段階は、サーバによって送信された第1の情報を受信する段階であって、第1の情報は、パノラマイメージの各サブ領域のトラックおよび各サブ領域のビットストリームを含み、トラックは、パノラマイメージのすべてのサブ領域の位置情報を含む、段階と、トラックに基づき、パノラマイメージ内の各サブ領域の位置情報を取得する段階と、を含む。
可能な設計において、パノラマイメージの各サブ領域の位置情報を決定する段階は、サーバによって送信されたメディアプレゼンテーションディスクリプション(MPD)を受信する段階であって、MPDは各サブ領域の位置情報を含み、または、MPDはプライベートファイルのアドレスを含み、且つプライベートファイルは各サブ領域の位置情報を含む、段階と、MPDを解析して、各サブ領域の位置情報を取得する段階と、を含む。
可能な設計において、サブ領域の位置情報は、サブ領域に対応するビットストリームの補足拡張情報(SEI)内に存在する。
可能な設計において、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階は、端末のメモリから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階、またはサーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する段階を含む。
可能な設計において、サーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する段階は、現在の視角を示す情報をサーバに送信し、現在の視角によってカバーされるサブ領域に対応し、且つサーバによって送信されるビットストリームを受信する段階、または端末およびサーバによって予め設定されたプロトコルに従い、サーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階であって、プロトコルは、視角と、視角によってカバーされるサブ領域との間の対応関係を含む、段階を含み、その結果、端末によってサーバから、サブ領域に対応するビットストリームを取得する速度が、対応関係に基づき、向上されてよい。
可能な設計において、サブ領域の第1のサンプリング間隔を決定する段階は、予め設定されたサンプリング間隔を、第1のサンプリング間隔として決定する段階、またはサーバから、第1のサンプリング間隔を受信する段階、またはサーバから受信された各サブ領域の位置情報に基づき、第1のサンプリング間隔を取得する段階、を含む。言い換えれば、各サブ領域の位置情報が互いに異なる場合、対応する第1のサンプリング間隔も互いに異なる。
第3の態様によると、サーバに適用されるイメージ処理方法であって、パノラマイメージの経度‐緯度マップまたは球マップのサブ領域のイメージに対応するビットストリームを格納する段階であって、サブ領域は、パノラマイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行することで取得され、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、前記垂直分割の隣接する分割位置間の距離である、段階と、サブ領域のイメージに対応し、且つ端末によって要求される格納されたビットストリームの中で、現在の視角によってカバーされるサブ領域のビットストリームを端末に送信する段階と、を備える、方法が提供される。このように、本願では、各サブ領域のイメージに対応し、且つサーバによって格納されるビットストリームが端末に送信される場合、従来技術における均等な細分割の特性は、異なる緯度における少なくとも2つの垂直分割間隔に基づき垂直分割を実行する方式で回避可能であるので、本願では、垂直分割は、複数の垂直分割間隔で実行されてよく、その結果、複数のサイズのサブ領域イメージが存在する。より大きな分割間隔は、より大きなサブ領域を示す。エンコーディング時のエンコーディング効率が向上され、エンコーディング後のサーバがビットストリームを端末に送信するときの占有帯域幅が低減される。
可能な設計において、エンコーディングされる前に、サブ領域に対応し、且つサーバに格納されるイメージがエンコーディングされる前に、イメージは、水平方向において第1のサンプリング間隔でサンプリングされ、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、または、イメージは、垂直方向において第2のサンプリング間隔でサンプリングされる。このように
第4の態様によると、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行して、経度‐緯度マップまたは球マップのサブ領域を取得するよう構成された分割ユニットであって、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、分割ユニットと、取得されたサブ領域のイメージをエンコーディングするよう構成されたエンコーディングユニットと、を備える、サーバが提供される。
可能な設計において、垂直分割の分割位置は緯度によって決定されることは、垂直分割の分割位置のより高い緯度が、より大きな垂直分割間隔を示すことを含む。
可能な設計において、サーバは、さらに、サンプリングユニットを備え、サンプリングユニットは、サブ領域のイメージを、水平方向において第1のサンプリング間隔でサンプリングするよう構成されており、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、エンコーディングユニットは、サンプリングされたサブ領域のイメージをエンコーディングするよう構成されている。
可能な設計において、サンプリングユニットは、さらに、サブ領域のイメージを、垂直方向において第2のサンプリング間隔でサンプリングするよう構成されている。
可能な設計において、サンプリングユニットは、さらに、サブ領域のイメージを、予め設定されたサイズに基づき、二次元平面イメージにマッピングする、およびサブ領域のイメージがマッピングされた二次元平面イメージを、水平方向において第1のサンプリング間隔でサンプリングする、よう構成されている。
可能な設計において、サーバは、さらに、スプライシングユニットを備え、スプライシングユニットは、サンプリングされたサブ領域の位置を調整して、調整されたサブ領域のイメージによってスプライシングされるイメージの水平エッジおよび垂直エッジがそれぞれ揃うようにするよう構成されている。
可能な設計において、エンコーディングユニットは、スプライシングされたイメージのタイル(tile)をエンコーディングするよう構成されている。
可能な設計において、さらに、カプセル化ユニットが含まれ、カプセル化ユニットは、サブ領域のエンコーディングされたイメージに対応するビットストリームを個々にカプセル化し、且つサブ領域の位置情報をエンコーディングするよう構成されており、すべてのサブ領域のエンコーディングされた位置情報およびすべてのサブ領域のビットストリームが同一のトラックに存在する、または、各サブ領域のエンコーディングされた位置情報およびビットストリームが、位置情報のトラックおよびビットストリームのトラックにそれぞれ存在する、または、すべてのサブ領域のエンコーディングされた位置情報がメディアプレゼンテーションディスクリプション(MPD)内に存在する、または、すべてのサブ領域のエンコーディングされた位置情報がプライベートファイル内に存在し、且つプライベートファイルのアドレスはMPD内に存在する、または、各サブ領域のエンコーディングされた位置情報が各サブ領域のビットストリームの補足拡張情報(SEI)内に存在する。
可能な設計において、サブ領域が、処理されるべきイメージの経度‐緯度マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた経度‐緯度マップを形成し、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにサンプリングされた経度‐緯度マップ内のサブ領域の位置およびサイズを含み、または、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにスプライシングされたイメージのサブ領域の位置およびサイズを含む、または、サブ領域が、処理されるべきイメージの球マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた球マップを形成し、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにサンプリングされた球マップのイメージ内のサブ領域の位置およびサイズを含み、または、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにスプライシングされたイメージ内のサブ領域の位置およびサイズを含む。
可能な設計において、プライベートファイルは、さらに、ユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を表わすために用いられる情報を含んでよい。
可能な設計において、プライベートファイルは、さらに、ユーザの視角によってカバーされるサブ領域において表示される必要があることが好ましいサブ領域の個数を表わすために用いられる情報、表示される必要があることが好ましいサブ領域の番号に関する情報、二次的に表示されるサブ領域の番号に関する情報、および表示されないサブ領域の番号に関する情報を含む。
可能な設計において、経度‐緯度マップは、左目に対応する経度‐緯度マップおよび右目に対応する経度‐緯度マップを含み、分割ユニットは、左目に対応する経度‐緯度マップを、右目に対応する経度‐緯度マップから分離する、よう構成されている、および分割ユニットは、左目に対応する経度‐緯度マップに水平分割および垂直分割を実行し、且つ右目に対応する経度‐緯度マップに水平分割および垂直分割を実行する、よう構成されている。
可能な設計において、サーバは、さらに、送信ユニットを備え、送信ユニットは、端末に、サブ領域のエンコーディングされたイメージに対応するビットストリームを送信する、または端末によって送信された視角情報を受信し、視角情報に基づき、視角情報に対応するサブ領域を取得し、端末に、視角情報に対応するサブ領域のビットストリームを送信する、または端末によって送信されたサブ領域の番号を受信し、サブ領域の番号に対応するビットストリームを端末に送信する、よう構成されている。
可能な設計において、経度‐緯度マップは、360度パノラマビデオイメージの経度‐緯度マップ、または360度パノラマビデオイメージの経度‐緯度マップの一部である、または球マップは、360度パノラマビデオイメージの球マップ、または360度パノラマビデオイメージの球マップの一部である。
第5の態様によると、パノラマイメージの各サブ領域の位置情報を決定するよう構成された取得ユニットであって、取得ユニットは、さらに、各サブ領域の決定された位置情報に基づき、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を決定し、サブ領域の第1のサンプリング間隔を決定する、よう構成されており、取得ユニットは、さらに、現在の視角によってカバーされるサブ領域の決定された位置情報に基づき、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する、よう構成されている、取得ユニットと、ビットストリームをデコーディングして、現在の視角によってカバーされるサブ領域のイメージを取得するよう構成されたデコーディングユニットと、現在の視角によってカバーされるサブ領域の決定された位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングするよう構成された再サンプリングユニットと、再サンプリングされたイメージを再生するよう構成された再生ユニットと、を備える、端末が提供される。
可能な設計において、取得ユニットは、サーバによって送信された第1の情報を受信するよう構成されており、第1の情報は、パノラマイメージの各サブ領域のトラックおよび各サブ領域のビットストリームを含み、トラックは、パノラマイメージのすべてのサブ領域の位置情報を含む、および、取得ユニットは、さらに、トラックに基づき、パノラマイメージ内の各サブ領域の位置情報を取得する、よう構成されている。
可能な設計において、取得ユニットは、パノラマサーバによって送信されたメディアプレゼンテーションディスクリプション(MPD)を受信するよう構成されており、MPDは各サブ領域の位置情報を含み、または、MPDはプライベートファイルのアドレスを含み、且つプライベートファイルは各サブ領域の位置情報を含む、および、MPDを解析して、各サブ領域の位置情報を取得するよう構成されている。
可能な設計において、サブ領域の位置情報は、サブ領域に対応するビットストリームの補足拡張情報(SEI)内に存在する。
可能な設計において、取得ユニットは、端末のメモリから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する、またはサーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する、よう構成されている。
可能な設計において、取得ユニットは、現在の視角を示す情報をサーバに送信し、現在の視角によってカバーされるサブ領域に対応し、且つサーバによって送信されるビットストリームを受信するよう構成されている、または端末およびサーバによって予め設定されたプロトコルに従い、サーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得するよう構成されており、プロトコルは、視角と、視角によってカバーされるサブ領域との間の対応関係を含む。
可能な設計において、取得ユニットは、予め設定されたサンプリング間隔を第1のサンプリング間隔として決定する、または、第1のサンプリング間隔をサーバから受信する、よう構成生されている。
第6の態様によると、パノラマイメージの経度‐緯度マップまたは球マップのサブ領域のイメージに対応するビットストリームを格納するよう構成された格納ユニットであって、サブ領域は、パノラマイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行することで取得され、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、格納ユニットと、サブ領域のイメージに対応し、且つ端末によって要求される格納されたビットストリームの中で、現在の視角によってカバーされるサブ領域のビットストリームを端末に送信するよう構成された送信ユニットと、を備える、サーバが提供される。
可能な設計において、サブ領域に対応し、且つサーバに格納されるイメージがエンコーディングされる前に、イメージは、水平方向において第1のサンプリング間隔でサンプリングされ、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、または、イメージは、垂直方向において第2のサンプリング間隔でサンプリングされる。言い換えれば、ダウンサンプリングが高緯度のサブ領域に水平方向に実行される、すなわち、圧縮サンプリングが実行される。その結果、エンコーディング前に、高緯度のサブ領域において送信されるイメージのピクセル冗長性は低減可能で、これにより帯域幅を低減する。また、ダウンサンプリングが、エンコーディングおよび送信される必要のあるピクセル値を低減し、その結果、デコーディング側のデコーディング能力に対する要件が低減される。デコーディング複雑性が低減され、これにより、デコーディング速度が向上される。
別の態様において、本願の一実施形態は、上述のサーバによって用いられるコンピュータソフトウェア命令を格納するよう構成されたコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、上述の態様を実行するために設計されたプログラムを含む。
別の態様において、本願の一実施形態は、上述の端末によって用いられるコンピュータソフトウェア命令を格納するよう構成されたコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、上述の態様を実行するために設計されたプログラムを含む。
さらなる別の態様によると、本願の一実施形態は、命令を含むコンピュータプログラムプロダクトを提供する。命令がコンピュータ上で実行される場合、コンピュータは、上述の態様の方法を実行する。
本願の実施形態は、端末およびサーバに適用されるイメージ処理方法であって、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行して、経度‐緯度マップまたは球マップのサブ領域を取得する段階であって、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、段階と、取得されたサブ領域のイメージをエンコーディングする段階と、を備える、方法が提供される。このように、従来技術と比較した場合、従来技術では、経度‐緯度マップが同一の分割間隔で均等に分割され、均等分割時の細分割の特性によってエンコーディングの低効率が生じ、エンコーディングされた後に送信中に大きな帯域幅を占有するという問題が生じる。本願においては、異なる緯度における少なくとも2つの垂直分割間隔に基づく、垂直分割を実行することにより、従来技術における均等および細分割の特性が回避される。本願において、垂直分割は、複数の垂直分割間隔で実行されてよく、その結果、複数のサイズのイメージのサブ領域が存在する。より大きな分割間隔は、より大きなサブ領域を示す。エンコーディング時のエンコーディング効率が向上され、エンコーディング後のサーバがビットストリームを端末に送信するときの占有帯域幅が低減される。
本願の一実施形態による360度パノラマイメージ信号の概略図である。
本願の一実施形態による、360度パノラマイメージ信号を経度‐緯度マップに変換する概略図である。
本願の一実施形態による、ネットワークアーキテクチャの概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、経度‐緯度マップを42個のサブ領域に分割する概略図である。
本願の一実施形態による、経度‐緯度マップを、50個のサブ領域に分割する概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、経度‐緯度マップの視点領域の概略図である。
本願の一実施形態による、視角によってカバーされるサブ領域の概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、端末のデコーディング表示プロセスの概略図である。
本願の一実施形態による、3D経度‐緯度マップのサブ領域分割の概略図である。
本願の一実施形態による、180°ハーフパノラマビデオ経度‐緯度マップの水平分割方式の概略図である。
本願の一実施形態による、3D 180°ハーフパノラマビデオ経度‐緯度マップのサブ領域分割方式の概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、イメージサブ領域を取得するために、球パノラマ信号を分割する方法の概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、端末の概略構造図である。
本願の一実施形態による、端末の概略構造図である。
本願の一実施形態による、端末の概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
理解しやすいように、以下に示されるような、本願に関するいくつかの概念の例示的な説明を参考のために示す。
パノラマビデオ:360度パノラマビデオまたは360ビデオとも称されるVRパノラマビデオとは、360度全方位方式で、複数のカメラを用いて撮影されたビデオである。ユーザがビデオを見るとき、ユーザは積極的にビデオの方向を調整し得る。
3Dパノラマビデオ:3DフォーマットのVRパノラマビデオである。当該ビデオは、2つの360度パノラマビデオを含む。一方は左目に用いられ、他方は右目に用いられる。2つのビデオは、同一フレーム内で、左目および右目に対し表示されるコンテンツにいくつかの差異を有し、その結果、ユーザは視認中に3D効果が得られる。
経度‐緯度マップ:正距円筒図法(Equirectangular Projection,ERP)、パノラマイメージフォーマット、球信号を同一の経度間隔および同一の緯度間隔で均等にサンプリングおよびマッピングすることで取得され、且つ格納および送信のために用いられ得る二次元パノラマイメージ。緯度および経度を用いて、イメージの水平座標および垂直座標がそれぞれ表されてよい。幅方向は、360°のスパンを持つ経度で表されてよく、高さ方向は180°のスパンを持つ緯度で表わされてよい。
ビデオデコーディング(video decoding):ビデオビットストリームを、特定の構文ルールおよび処理方法に従い、再構築イメージに復元する処理プロセスである。
ビデオエンコーディング(video encoding):イメージシーケンスをビットストリームに圧縮する処理プロセスである。
ビデオコーディング(video coding):ビデオエンコーディングおよびビデオデコーディングの総称である。ビデオコーディングの中国語に翻訳された用語は、ビデオエンコーディングの用語と同一である。
タイル:ビデオエンコーディング標準、すなわち、エンコーディングされるべきイメージを、高効率ビデオコーディング(High Efficiency Video Coding,HEVC)で分割して取得されたブロックエンコーディング領域である。イメージの1フレームが、複数のタイルに分割されてよく、複数のタイルがイメージのフレームを形成する。各タイルは、個々にエンコーディングされてよい。本願におけるタイルは、動き拘束タイルセット(motion−constrained tile sets,MCTS)技術を用いるタイルであってよい。
MCTSは、動き制限タイルセットであり、タイルのためのエンコーディング技術である。当該技術は、エンコーディング中に、タイル内の動きベクトルを制限し、その結果、イメージシーケンス内の同一の位置におけるタイルは、時間領域において、タイルの領域位置外のイメージピクセルを参照せず、従って、時間領域において各タイルは、個々デコーディングされてよい。
サブピクチャ(sub−picture)は、イメージ全体を分割して取得されたオリジナルイメージの一部である。本願において、サブピクチャは、形状が正方形のサブピクチャであってよい。
イメージサブ領域:本願のイメージサブ領域は、タイルまたはサブピクチャの総称として用いられてよく、省略して、サブ領域と称されてよい。
VDCは、視角ベースのビデオエンコーディングであり、パノラマビデオエンコーディングのためのエンコーディングおよび送信技術、すなわち、端末上でユーザの視角に基づき、エンコーディングおよび送信する方法である。
タイル単位エンコーディングは、ビデオエンコーディング方式であり、イメージシーケンスが複数のイメージサブ領域に分割され、すべてのサブ領域が別個にエンコーディングされて、1または複数のビットストリームを生成する処理である。本願においてタイル単位エンコーディングとは、VDCにおけるタイル単位エンコーディングであってよい。
トラックは、トラックとして翻訳されてよく、時間属性を有し、且つ国際標準化機構(International Standardization Organization,ISO)ベースメディアファイルフォーマット(ISO base media file format,ISOBMFF)に基づくカプセル化方式である、一連のサンプルである。例えば、ビデオトラック、すなわち、ビデオサンプルは、各フレームがビデオエンコーダによってエンコーディングされた後、生成されたビットストリームであり、ISOBMFFの仕様に従い、すべてのビデオサンプルはカプセル化されて、サンプルを生成する。
ボックスは、「ボックス」として翻訳されてよく、当該標準におけるオブジェクト指向の構築ブロックであり、一意のタイプの識別子および長さで定義される。ボックスは、いくつかの仕様では、「原子」と称され得、MP4の第1の定義を含む。ボックスは、ISOBMFFファイルの基本単位であり、ボックスは他のボックスを含み得る。
補足拡張情報(supplementary enhancement information,SEI)は、ビデオエンコーディングおよびデコーディング標準(h.264,h.265)で定義されたネットワークアクセスユニット(Network Abstract Layer Unit,NALU)のタイプである。
MPDは、ISO/IEC 23009−1標準で規定された文書であり、当該文書は、クライアントによって構築されたハイパーテキスト転送プロトコル(HTTP, HyperText Transfer Protocol,HTTP)‐ユニフォームリソースロケータ(Uniform Resource Locator,URL)のメタデータを含む。MPDは、1または複数の期間(period)要素を含む。各期間要素は、1または複数の適応セット(adaptationset)を含む。各適応セットは、1または複数の表現(representation)を含み、各表現は、1または複数のセグメントを含む。クライアントは、MPD内の情報に基づき、表現を選択し、セグメントのHTTP‐URLを構築する。
ISO基本メディアファイルフォーマットは、一連のボックスを含む。他のボックスが、ボックス内に含まれてよい。これらのボックスは、メタデータボックスおよびメディアデータボックスを含み、メタデータボックス(moov box)はメタデータを含み、メディアデータボックス(mdat box)は、メディアデータを含む。メタデータボックスおよびメディアデータボックスは、同一ファイル内にあってよく、または、異なるファイル内にあってもよい。
本願の実施形態は、パノラマビデオまたはパノラマビデオの一部のエンコーディング前の処理、およびエンコーディングされたビットストリームがカプセル化されるプロセスに適用可能であってよく、サーバおよび端末の両方における対応する動作および処理を含む。
図3に示される通り、本願のネットワークアーキテクチャは、サーバ31および端末32を含んでよい。また、撮影デバイス33がサーバ31と通信してよく、撮影デバイスは360度パノラマビデオを撮影し、ビデオをサーバ31に送信するよう構成されてよい。サーバは、パノラマビデオにプレエンコーディング処理を実行した後、エンコーディングまたは送信操作を実行し、その後、エンコーディングされたビットストリームを転送可能なファイルにカプセル化して、当該ファイルを端末またはコンテンツ配信ネットワークへ送信してよい。サーバは、さらに、端末によってフィードバックされた情報(例えば、ユーザの視角)に基づき、信号送信のために送信される必要のあるコンテンツを選択してよい。端末32は、VRグラス、モバイルフォン、タブレットコンピュータ、テレビまたはコンピュータ等の、ネットワークに接続されてよい電子デバイスであってよい。端末32は、サーバ31によって送信されたデータを受信し、デコーディング後に、ビットストリームカプセル解除および表示等を実行してよい。
本願は、経度‐緯度マップに基づき、イメージが均等に分割される場合に生じる、エンコーディングおよび送信の帯域幅が無駄になること、デコーディング能力およびデコーディング側の速度が制限されるという問題を解決するための、イメージ処理方法を提供する。方法は、イメージの複数のサブ領域、並びに対応するエンコーディング、送信およびデコーディング表示モードに基づく、経度‐緯度マップのタイル単位分割および処理方法であってよい。本願のこの実施形態においては、経度‐緯度マップの水平経度範囲は、0〜360°として決定され、垂直緯度範囲は、−90°から90°である。負の数は南緯を表わし、正の数は北緯を表わす。図4に示される通り、方法は、以下の段階を含んでよい。
エンコーディング前の処理
401.サーバが、処理されるべきイメージの経度‐緯度マップに水平分割を実行し、水平分割の分割位置は予め設定された緯度である。
イメージは、ビデオの複数のシーケンスイメージであってよい。
例えば、撮影デバイスによって収集されたビデオに基づき、サーバは、ビデオの経度‐緯度マップを取得する。図5の(a)に示される通り、サーバは、経度‐緯度マップの垂直方向において、緯度−60°、緯度−30°、緯度0°、緯度30°および緯度60°に緯線を別個に描画し、経度‐緯度マップを水平方向に分割する。図5の(a)において、Xが緯度の値を表わすために用いられ、経度‐緯度マップの赤道では、緯度の値は0°である。経度‐緯度マップは、北緯90°および南緯90°の間で、水平分割間隔30°で、北緯30°および北緯60°で水平方向に分割され、南緯−60°および南緯−30°で水平方向に分割される。また、分割間隔は、分割のステップ(距離)として理解されてもよい。
402.サーバは、経度‐緯度マップの各サブ領域を取得すべく、処理されるべきイメージの経度‐緯度マップに垂直分割を実行し、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である。
可能な実装において、垂直分割が実行される場合、異なる緯度間の垂直分割間隔は、経度‐緯度マップの南緯において異なってよく、ある南緯と対応する北緯との間の垂直分割間隔は同一であってよい。垂直分割の分割位置より高い緯度は、より大きな垂直分割間隔を示し、または、垂直分割間隔は、異なる緯度間で同一である。
例えば、水平分割の分割位置に関し、南緯−90°から−60°の緯度範囲および北緯60°から90°の緯度範囲のサブピクチャに対し、経度120°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、3個のサブ領域を取得してよい。−60°から−30°の緯度範囲および30°から60°の緯度範囲のサブピクチャに対し、経度60°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、6個のサブ領域を取得する。−30°から0°の緯度範囲および0°から30°の緯度範囲のサブピクチャに対し、経度30°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、12個のサブ領域を取得する。このように、図5の(a)に示される通り、経度‐緯度マップ全体のサブ領域分割が完了した後、合計42個のサブ領域が取得される。垂直分割間隔は、120°の経度、60°の経度および30°の経度を含む。
サブピクチャが分割される上述の方式とは異なる別の可能な実装においては、経度‐緯度マップは、50個のサブ領域に分割されてよい。例えば、−90°から−60°および60°から90°の緯度範囲のサブピクチャに対し、垂直分割は実行されず、単一のサブ領域が保持され、−60°から−30°および30°から60°の緯度範囲のサブピクチャに対し、30°の経度がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、12個のサブ領域を取得する。−30°から0°および0°から30°の緯度範囲のサブピクチャに対し、経度30°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、12個のサブ領域を取得する。このように、図6の(a)に示される通り、経度‐緯度マップ全体が分割された後、合計50個のサブ領域が取得される。分割のステップは、30°の経度および0°の経度を含む。分割のステップが0°である場合、サブピクチャに対し、垂直分割が実行されないことを示す。
403.サーバは、取得されたサブ領域のイメージをエンコーディングする。
従って、エンコーディングの低効率を生じさせる均等な細分割の特性、およびエンコーディング後に送信する際、大きな帯域幅を占める問題は、本願における、異なる緯度間における少なくとも2つのタイプの垂直分割間隔に基づき、垂直分割を実行することで回避できる。経度‐緯度マップは、複数の垂直分割間隔に基づき分割されてよく、その結果、複数のサイズのサブ領域が存在し、より大きな垂直分割間隔はより大きなサブ領域を示す。例えば、垂直分割の分割位置より高い緯度は、より大きな垂直分割間隔およびより大きなサブ領域を示す。エンコーディング中のエンコーディング効率が向上され、エンコーディング後に、端末にビットストリームを送信するためにサーバが占有する帯域幅は低減される。
さらに、デコーディング側、すなわち、端末にとっては、経度‐緯度マップを均等に分割する既存の方式では、端末によって取得される冗長ピクセルの数が比較的大きく、端末の最大デコーディング能力の要件も高まり、デコーディング速度にとって大きな課題が存在する。本願においてはこの問題について、不均等な分割が実行された後に取得されたサブ領域内のピクセルに対し、冗長性解除、すなわちダウンサンプリングが実行されてよい。この場合、エンコーディングおよび送信される必要のあるピクセルが低減され、デコーディング側に要求される最大デコーディング能力が低減され、デコーディング複雑性が低減し、デコーダのデコーディング速度が向上する。従って、図7に示される通り、段階403の前に、本願の実装方法は、さらに、以下の段階を含んでよい。
404.サーバが、垂直方向において、サブ領域のイメージにオリジナルサンプリングを実行する、または、垂直方向において、第2のサンプリング間隔でサブ領域のイメージをサンプリングする。
例えば、図5の(a)または図6の(a)に示される経度‐緯度マップを分割して取得される各サブ領域について、オリジナルサンプリングは、各サブ領域のイメージを垂直方向において変化しないよう維持するもの、スケーリング処理を実行しないもの、または処理を実行しないものとして理解されてよい。サンプリングは、第2のサンプリング間隔で実行される。例えば、ダウンサンプリングは、垂直方向において、各サブ領域全体に実行される。これはまた、サブ領域の特定の高さに基づき、垂直方向においてサンプリングが実行されるものとして理解されてもよい。
405.サーバが、水平方向において、第1のサンプリング間隔でサブ領域のイメージをサンプリングし、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す。
第1のサンプリング間隔および第2のサンプリング間隔は、サーバ側で予め設定されてよく、第1のサンプリング間隔および第2のサンプリング間隔は同一または異なってよい。第1のサンプリング間隔は、スケーリング係数の逆数として理解されてよく、すなわち、スケーリングされたイメージを取得すべく、1ピクセルが複数のピクセルからサンプリングされる。
例えば、図5の(a)に示される経度‐緯度マップでは、サブピクチャの−90°から−60°の緯度範囲および60°から90°の緯度範囲に水平方向にダウンサンプリングが実行され、第1のサンプリング間隔は4個であり、すなわち、1ピクセルがすべての4ピクセルからサンプリングされ、スケーリング係数は1/4である。サブピクチャの−60°から−30°の緯度範囲および30°から60°の緯度範囲に水平方向にもダウンサンプリングが実行され、スケーリング係数は1/2である。サブピクチャの−30°から0°の緯度範囲および0°から30°の緯度範囲には、水平方向のスケーリングは実行されない。最終的に取得されるサンプリングされたイメージが、図5の(b)に示されている。図5の(b)は、図5の(a)に、ダウンサンプリングが垂直方向ではなく、水平方向のみに実行された後に取得されたイメージであることに留意されたい。この例では、水平サンプリング中に、第1のサンプリング間隔は、緯度に比例する。言い換えれば、北緯イメージのサブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す。同様に、南緯イメージのより高い緯度は、より大きな第1のサンプリング間隔を示す。南緯イメージおよび北緯イメージについて、同一の緯度に対応するサンプリング間隔は同一である。
別の例では、図6の(a)に示される経度‐緯度マップについては、ダウンサンプリングが垂直方向に実行される図5の(b)の概略図と比較して、経度‐緯度マップに分割およびスケーリングが実行された後に取得されるサブ領域のサイズは、異なる緯度間で不均等であってよい。このように、図5の(b)のスケーリングされたサブ領域のサイズが同一であるという制約が壊されてよく、従って、エンコーディングおよび送信時のサーバのエンコーディングおよび送信効率が向上される。具体的には、図6の(a)に示される経度‐緯度マップについては、−90°から−60°の緯度範囲および60°から90°の緯度範囲のサブピクチャは垂直方向において変更されず、そこに対し、ダウンサンプリングが、水平方向において、あるサンプリング間隔で実行され、スケーリング係数は1/4である。−60°から−30°の緯度範囲および30°から60°の緯度範囲のサブピクチャは垂直方向において変更されず、そこに対し、ダウンサンプリングが、水平方向において実行され、スケーリング係数は7/12である。−30°から0°の緯度範囲および0°から30°の緯度範囲のサブピクチャには、スケーリングが実行されず、すなわち、スケーリングは、垂直方向にも水平方向にも実行されない。最終的に取得されるスケーリングされたイメージは、図6の(b)に示される。
随意で、スケーリングされた経度‐緯度マップは、図5の(b)および図6の(b)に示される通り不規則である。従って、本願では、スケーリングされたサブ領域は再配置および結合されて、予め設定されたイメージを形成してよい。従って、方法は、さらに、以下の段階を含んでよい。
406.サーバが、サンプリングされたサブ領域の位置を調整し、調整されたサブ領域のイメージによってスプライシングされたイメージの水平エッジおよび垂直エッジがそれぞれ揃うようにする。
例えば、図5の(b)に示される経度‐緯度マップに対し、位置調整されたイメージが、図5の(c)に示されてよい。
段階403は、次と置換されてよい。
407.サーバが、サンプリングされたサブ領域のイメージをエンコーディングする。
例えば、サブ領域に分割およびスケーリングが実行された後に取得された図5の(b)中の42個のサブ領域において、または図5の(c)中の再結合された42個のサブ領域において、各サブ領域はエンコーディングされてよい。2つのエンコーディング方式が存在してよい。(1)サブピクチャエンコーディング方式、すなわち、各サブピクチャシーケンスを別個にエンコーディングして、42個のサブビットストリームを生成する。すなわち、各サブピクチャは1個のビットストリームに対応する。サブピクチャは、上述のサブ領域であってよく、すなわち、42個のサブ領域を別個にエンコーディングして、各サブ領域に対応するビットストリームを取得する。(2)タイル(tile)モードエンコーディングをイメージ全体に実行する。格納用のイメージ全体の単一のビットストリームを生成すべく、エンコーディング中にMCTS技術が用いられてよく、または、単一のビットストリームが分割されて、格納用の42個のサブビットストリームが取得される。ここでのイメージ全体は、図5の(b)に示される通り、ソース経度‐緯度マップがサンプリングおよびスケーリングされた後に取得されたイメージであってよく、または、図5の(c)に示される通り、サンプリングおよびスケーリングされたイメージを再結合した後に取得された規則的イメージであってよい。
イメージをエンコーディングした後、サーバは、さらに、各エンコーディングされたサブ領域のビットストリームをカプセル化する必要がある。従って、方式は、さらに、以下の段階を含んでよい。
408.サーバが、各エンコーディングされたサブ領域のイメージに対応するビットストリームを個々にカプセル化し、各サブ領域の位置情報をエンコーディングする。
サーバは、すべてのサブ領域のビットストリームを1つのトラック、すなわち、trackにカプセル化してよい。例えば、ビットストリームは、タイルトラックにカプセル化され、または、ビットストリームに対応するトラックにそれぞれカプセル化されてよい。サブ領域の位置情報は、サブ領域分割方式の記述情報として理解されてよく、すべてのサブ領域のエンコーディングされた位置情報およびすべてのサブ領域のビットストリームが同一のトラックに存在してよい。または、各サブ領域のエンコーディングされた位置情報およびビットストリームが、位置情報のトラックおよびビットストリームのトラックにそれぞれ存在する。または、すべてのサブ領域のエンコーディングされた位置情報が、メディアプレゼンテーションディスクリプション(MPD)内に存在する。または、すべてのサブ領域のエンコーディングされた位置情報がプライベートファイル内に存在してよく、プライベートファイルのアドレスはMPD内に存在する。または、各サブ領域のエンコーディングされた位置情報が各サブ領域のビットストリームの補足拡張情報(SEI)内に存在する。本願において、サブ領域の位置情報の格納方式は、限定されるものではない。
処理されるべきイメージの経度‐緯度マップに水平分割および垂直分割を実行することで、サブ領域が取得される場合、サンプリングされたサブ領域が、サンプリングされた経度‐緯度マップを形成し、位置情報は、経度‐緯度マップのサブ領域の位置およびサイズ並びにサンプリングされた経度‐緯度マップのサブ領域の位置およびサイズを含む。または、位置情報は、経度‐緯度マップのサブ領域の位置およびサイズ並びにスプライシングされたイメージのサブ領域の位置およびサイズを含む。サイズは、幅および高さを含んでよい。
以下に、上述のサブ領域の位置情報の様々な格納方式について別個に説明する。
方式1:すべてのサブ領域の位置情報は、1つのトラック内に格納される。すべてのサブ領域分割方式の記述情報が、スプライシングされたイメージのトラックに追加されてよい。例えば、以下の構文が、スプライシングされたイメージのトラックのmoovボックスに追加される。
RectRegionPacking (i)は、i番目のサブ領域の分割情報を記述する。
proj_reg_width[i]およびproj_reg_height[i]は、ソースイメージ、すなわち、サンプリング前の経度‐緯度マップ(例えば、図5の(a))におけるサンプリングされたイメージ内のi番目のサブ領域の対応する幅および対応する高さ、例えば、図5の(a)における図5の(b)にあるサブ領域の対応する幅および対応する高さを記述する。例えば、幅3840および高さ1920の経度‐緯度マップの場合、ソースイメージの図5の(b)中の左上隅の第1のサブ領域の幅および高さは、(1280,320)である。
proj_reg_top[i]およびproj_reg_left[i]は、ソースイメージにおけるサンプリングされたイメージ内のi番目のサブ領域の左上隅にあるピクセルの対応する位置、例えば、図5の(a)における図5の(b)にあるサブ領域の左上ポイントの対応する位置を記述する。例えば、ソースイメージの図5の(b)の左上隅にある第1のサブ領域の位置は、(0,0)である。当該位置は、ソースイメージの左上隅を座標(0,0)として用いて取得される。
transform_type[i]は、サンプリングされたイメージ内のi番目のサブ領域が、ソースイメージ内の対応する位置から変換されたことを記述する。例えば、i番目のサブ領域は、ソースイメージ内の対応する領域に、以下の操作を実行することで取得される。保持/90度回転/180度回転/270度回転/水平ミラーリング/水平ミラーミング後の90度回転/水平ミラーリング後の180度回転/水平ミラーリング後の270度回転。
packed_reg_width[i]およびpacked_reg_height[i]は、結合された規則的イメージにおけるサンプリングされたイメージ内にあるi番目のサブ領域の幅および高さ、すなわち、図5の(c)中のサブ領域の幅および高さを記述する。例えば、図5の(b)中の左上隅にある第1のサブ領域の幅および高さは、結合された規則的イメージ内の(320,320)である。段階406が実行されない場合、サブ領域が結合された後に取得されるイメージは、図5の(b)であり、幅および高さは、図5の(b)中の幅および高さであることに留意されたい。
packed_reg_top[i]およびpacked_reg_left[i]は、サブ領域が結合された後に取得される規則的イメージ内のサンプリングされたイメージのi番目のサブ領域の左上隅にあるピクセルの相対位置、すなわち、図5の(c)中の各サブ領域の左上ポイントを記述する。段階406が実行されない場合、サブ領域が結合された後に取得されるイメージは、図5の(b)であり、位置は、図5の(b)中の位置であることに留意されたい。
方式2:各サブ領域の位置情報がサブ領域に対応するトラック内に格納される場合、対応するサブ領域分割方式は、タイルトラック内に記述されてよい。具体的には、以下の構文が、タイルトラック内のmoovボックスに追加されてよい。
track_xおよびtrack_yは、サブ領域が結合された後に取得される規則的イメージ内の現在のトラックのサブ領域の左上隅にあるピクセルの位置、すなわち、図5の(c)中の現在のサブ領域の左上ポイントを記述する。
track_widthおよびtrack_heightは、サブ領域が結合された後に取得される規則的イメージ内の現在のトラックのサブ領域の幅および高さ、すなわち、図5の(c)中の現在のサブ領域の幅および高さを記述する。
composition_widthおよびcomposition_heightは、サブ領域が結合された後に取得される規則的イメージの幅および高さ、すなわち、図5の(c)中のイメージの幅および高さを記述する。
proj_tile_xおよびproj_tile_yは、ソースイメージ内の現在のトラックのサブ領域の左上隅にあるピクセルの位置、すなわち、図5の(a)中の現在のサブ領域の左上ポイントを記述する。
proj_tile_widthおよびproj_tile_heightは、ソースイメージ内の現在のトラックのサブ領域の幅および高さ、すなわち、図5の(a)中の現在のサブ領域の幅および高さを記述する。
proj_widthおよびproj_heightは、ソースイメージの幅および高さ、すなわち、図5の(a)中のイメージの幅および高さを記述する。
方式3:すべてのサブ領域の位置情報は、MPD内に格納される、すなわち、サブ領域分割方式が、MPDに記述される。
MPD内の構文は以下の通りであってよい。
方式3の構文では、<value="0,1280,0,1280,320,3840,1920"/>の意味は以下の通りである。最初の0はソース識別子を表わし、同一のソース識別子が同一のソース、すなわち、同一のソースイメージを表わす。"1280,0"はソースイメージ内の現在の表現のサブ領域の左上位置の座標を表わす。"1280,320"は現在の表現のサブ領域の幅および高さを表わす。"3840,1920"は、ソースイメージの幅および高さを表わす。
上述のMPDでは、ソースビデオイメージ内のサブ領域に対応するビットストリーム内に存在するイメージの位置を記述するために、2Dイメージが用いられる。随意で、ソースイメージ内のサブ領域の位置は、球座標を用いて表されてよい。例えば、上述の値における情報は、球情報、例えば、値= "0,0,30,0,120,30"に変換される。具体的な意味は以下の通りである。最初の0はソース識別子を表わし、同一のソース識別子値が同一のソースを表わす。"0,30,0"は、球上のサブ領域に対応する領域の中央ポイントの座標(ヨー角、ピッチ角、および回転角)を表わす。"120,30"は、サブ領域の幅角および高さ角を表わす。
方式4:すべてのサブ領域の位置情報はプライベートファイル内に格納され、プライベートファイルのアドレスは、MPD内に格納される。言い換えれば、サブ領域分割の記述情報を格納するプライベートファイルのアドレスは、MPD内でファイルリンクを指定することで、MPD内に書き込まれる。
構文は、以下の通りであってよい。
方式4では、サブ領域の分割情報は、プライベートファイルtile_info.dat内に格納される。ファイル内に格納されるサブ領域分割情報のデータは、ユーザによって指定されてよく、これは本明細書で限定されるものではない。例えば、格納されたコンテンツは、以下の方式のうちの1つで格納されてよい。
上述のデータは、以下の意味を示す。
tile_numは、分割されたサブ領域の個数を表わす。
pic_widthは、ソースイメージの幅、すなわち、図5の(a)中のイメージの幅を表わす。
pic_heightは、ソースイメージの高さ、すなわち、図5の(a)中のイメージの高さを表わす。
comp_widthは、サブ領域が結合された後に取得される規則的イメージの幅、すなわち、図5の(c)中のイメージの幅を表わす。
comp_heightは、サブ領域が結合された後に取得される規則的イメージの高さ、すなわち、図5の(c)中のイメージの高さを表わす。
tile_pic_width[]は、ソースイメージ中の各サブ領域の幅を表わすアレイであり、要素の個数は、tile_num 値であるべきである。
tile_pic_height[]は、ソースイメージ中の各サブ領域の高さを表わすアレイであり、要素の個数は、a tile_num値であるべきである。
tile_comp_width[]は、サブ領域が結合された後に取得される規則的イメージ内の各サブ領域の幅を表わすアレイであり、要素の個数は、tile_num値であるべきである。
tile_comp_height[]は、サブ領域が結合された後に取得される規則的イメージ内の各サブ領域の高さを表わすアレイであり、要素の個数は、tile_num値であるべきである。
方式4では、プライベートファイルのユニフォームリソースロケータ(Uniform Resource Locator,URL)が、新しいEssentialProperty属性Tile@値を指定することで、MPDに書き込まれる。Tile@valueの属性記述が、表1に示されてよい。端末がビデオコンテンツを要求したとき、プライベートファイルが、要素を解析することで取得され、サブ領域分割方式および位置等の情報を取得する。
方式5:各サブ領域の位置情報が、各サブ領域のビットストリームの補足拡張情報SEI内に格納される。すなわち、サブ領域の位置情報をビットストリームのSEIに書き込むことで、サブ領域を送信する分割方式である。イメージ内のサブ領域の分割情報に基づき、SEI構文要素の設定が表2に示されてよい。
表2中、新しいタイプ155がSEIタイプに追加され、現在のビットストリームがサブ領域ビットストリームであることを示し、information tile_wise_mapping_info (payloadSize)が追加され、含まれる構文要素の意味は、以下の通りである。
src_pic_widthは、ソースイメージの幅、すなわち、図5の(a)中のイメージの幅を表わす。
src_pic_heightは、ソースイメージの高さ、すなわち、図5の(a)中のイメージの高さを表わす。
src_tile_xは、ソースイメージ上の現在のサブ領域の左上隅の水平座標、すなわち、図5の(a)中の現在のサブ領域の水平座標を表わす。
src_tile_yは、ソースイメージ上の現在のサブ領域の左上隅の垂直座標、すなわち、図5の(a)中の現在のサブ領域の垂直座標を表わす。
src_tile_widthは、ソースイメージ上の現在のサブ領域の幅を表わす。
src_tile_heightは、ソースイメージ上の現在のサブ領域の高さを表わす。
packed_pic_widthは、サブ領域が結合された後に取得される規則的イメージの幅、すなわち、図5の(c)中のイメージの幅を表わす。
packed_pic_heightは、サブ領域が結合された後に取得される規則的イメージの高さ、すなわち、図5の(c)中のイメージの高さを表わす。
packed_tile_xは、結合された規則的イメージ上の現在のサブ領域の左上隅の水平座標、すなわち、図5の(c)中の現在のサブ領域の水平座標を表わす。
packed_tile_yは、結合された規則的イメージ上の現在のサブ領域の左上隅の垂直座標、すなわち、図5の(c)中の現在のサブ領域の垂直座標を表わす。
packed_tile_widthは、結合された規則的イメージ上の現在のサブ領域の幅を表わす。
packed_tile_heightは、結合された規則的イメージ上の現在のサブ領域の高さを表わす。
また、本願において、上述の方式4が拡張されてよく、MPD内で、サブ領域の位置情報を格納するプライベートファイルのURLが新しい要素を用いて指定されてよい。
拡張方式4:サブ領域分割情報を格納するプライベートファイルのアドレスが、MPD内でファイルリンクを指定することで、MPDに書き込まれる。構文は以下の通りであってよい。
拡張方式4では、サブ領域の位置情報がプライベートファイルtile_info.dat内に格納され、UserdataURL要素を含む構文要素<UserdataList>(表3を参照)が追加され、プライベートファイルがMPD内に書き込まれる。端末がビデオコンテンツを要求する場合、<UserdataList>を解析することで、プライベートファイルが取得され、サブ領域分割方式および位置等の情報が取得される。
上述の方式4におけるサブ領域分割方式の記述情報は、拡張されてよい。拡張は、送信されるプライベートファイルtile_info.dat内のコンテンツに対してであり、ユーザの視角と要求されるサブ領域との間の関係テーブルが追加され、その結果、端末は、対応するサブ領域ビットストリームをより迅速に要求できる。言い換えれば、プライベートファイルは、さらに、ユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を表わすために用いられる情報を含んでよい。
この例では、プライベートファイルtile_info.datについて、サブ領域分割情報コンテンツは変更されないままであり、ユーザの視角と、要求されるサブ領域との間の関係テーブル、およびユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係が追加される。例えば、格納されたコンテンツは、以下の方式のうちの1つであってよい。
方式4と比較した場合、追加されたデータは、deg_step_latitude、deg_step_longitude、view_tile_num、およびviewport_table[][]のそれぞれであり、データの意味は以下の通りである。
deg_step_latitudeは、緯度方向において分割された視点領域のステップを表わし、ステップは、−90°から90°の緯度範囲を、複数の視点領域に分割する。視点領域は、経度‐緯度マップ上の視点の領域範囲である。同一の視点領域において、端末によって取得される、且つ視点領域をカバーするイメージのサブ領域ビットストリームは同一である。図8に示される通り、経度‐緯度マップ全体が9個の視点領域に分割される。図8中、視点1および視点2の両方が第5の視点領域に所属し、視点領域5の中央の視点がマークされる。視点領域5の範囲内のすべての視点について、対応する視角カバレッジ範囲は、中央の視点に対応する視角によってカバーされる範囲として計算される。
deg_step_longitudeは、緯度方向において分割された視点領域のステップを表わし、ステップは、0°から360°の経度範囲を、複数の視点領域に分割する。deg_step_latitudeおよびdeg_step_longitudeの両方が、視点領域の個数を決定する。
view_tile_numは、単一の視角が変更されるとき、カバー可能な最大サブ領域数を表わす。
viewport_table[][]は、視点領域と視点領域によってカバーされるイメージサブ領域の番号との間の関係テーブルを格納するために用いられるアレイである。テーブル内のデータ合計数は、view_tile_numを乗じた視点領域の個数であるべきである。
データテーブルviewport_table[][]の例示的な格納方式は以下の通りである。
テーブル内の視点領域の個数は100であり、view_tile_num = 18である。データテーブル内の各行の18個の番号が、視点の視角によってカバーされるサブ領域の番号を表わす。数値0は、18個未満のサブ領域が視角をカバーし得ること、空値は0で埋められることを示す。例えば、図9に示される視点は、緯度0°および経度150°の視角で位置づけられ、カバーされるサブ領域は、番号5、6、7、13、14、15、16、25、26、27、28、35、36、37であり、データテーブル内の値は、5,6,7,13,14,15,16,25,26,27,28,35,36,37,0,0,0,0として表される。このように、これらの値を取得した後、端末は、現在の視点に基づき、対応するテーブル内のサブ領域の番号を探すのみでよく、対応関係に従い、計算をすることなく、デコーディング表示のためのこれらの番号に対応するサブ領域ビットストリームを直接要求してよく、これにより、端末の処理速度を加速させる。
上述のプライベートファイルが、ユーザの視点とユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を含むことに基づき、本願のこの実施形態では、視角最適化のために示されるフラグデータが、上述のプライベートファイルtile_info.datに追加されてよい。これに相応して、データテーブルviewport_table[][]内のデータの配置も、最適化された形態で生成されてよい。言い換えれば、現在の視点により近接するサブ領域は、サブ領域の番号が、現在の視点に対応する行の前方位置に現れることを示す。
この例において、プライベートファイルは、さらに、ユーザの視角によってカバーされるサブ領域において、表示される必要があることが好ましいサブ領域の個数を表わすために用いられる情報、表示される必要があることが好ましいサブ領域の番号に関する情報、二次的に表示されるサブ領域の番号に関する情報、および表示されないサブ領域の番号に関する情報を含む。プライベートファイルfile tile_info.datについては、格納されたコンテンツは、以下の方式のうちの1つであってよい。
新しく追加されたデータは、priority_view_tile_numであり、データの意味は、現在の視点において表示される必要があることが好ましいサブ領域の個数である。これに相応して、テーブルviewport_table[][]内のデータ配置は修正され、現在の視点に近接するサブ領域は、現在の視点に対応する行の前に配置され、以下に示す通りになる。
テーブルに示される通り、図9中に示される緯度0°および経度150°の視角に位置する視点に対応し、テーブル内のデータは、14, 15, 26, 27, 13, 6, 16, 28, 36, 25, 5, 7, 35, 37, 0, 0, 0, 0に変更され、視点に比較的近接するサブ領域の番号:4, 15, 26, 27が前方に配置され、視点から比較的遠いサブ領域の番号13, 6, 16, 28, 36, 25:が中央に配置され、最も遠いサブ領域の番号: 5, 7, 35, 37が後方に配置される。好ましくは、視点に近接するサブ領域が表示され、好ましくは、視点から比較的遠いサブ領域が表示されず、二次的に表示されてよい。上述の動作の利点は、何らかの理由(例えば、不安定なネットワーク)により、すべてのサブ領域のすべてのビットストリームが取得できない、または、取得される必要がない場合、表示されることが好ましい視点に近接するサブ領域が取得されることが好ましくてよく、表示されることが好ましくないサブ領域のイメージデータは、破棄される。
上述のサーバがプレエンコーディング処理、エンコーディングおよびカプセル化を実行した後、端末は、デコーディング表示のために、カプセル化されたビットストリームを取得してよい。従って、図10に示される通り、本願のこの実施形態における方法は、さらに、以下の段階を含んでよい。
101.端末は、パノラマイメージの各サブ領域の位置情報を決定する。
可能な実装において、端末は、サーバによって送信された第1の情報を受信してよく、第1の情報は、パノラマイメージの各サブ領域のトラックおよび各サブ領域のビットストリームを含み、当該トラックは、パノラマイメージのすべてのサブ領域の位置情報を含む。端末は、パノラマイメージ内の各サブ領域の位置情報を、当該トラックに基づく解析を通して取得する。トラックは、上述の方式1において結合されたイメージのトラックであってよく、端末は、結合されたイメージのトラック内のRectRegionPacking(i)で定義された構文を解析することで、すべてのサブ領域の位置情報を解析してよい。
代替的に、サブ領域の位置情報について、端末は、サブ領域の位置情報が格納される上述の方式2に従い、各サブ領域に対応するトラック内の各サブ領域、すなわち、タイルトラックの位置情報を格納してよい。端末は、各タイルトラック内のSubPictureCompositionBoxで定義された領域を解析することで、現在のサブ領域の位置情報を取得してよい。
代替的に、端末は、サーバによって送信されたMPDを受信してよく、MPDは、各サブ領域の位置情報を含む、または、MPDは、プライベートファイルのアドレスを含み、プライベートファイルは各サブ領域の位置情報を含む。端末は、各サブ領域の位置情報を取得すべく、MPDを解析する。
代替的に、端末は、まず、各サブ領域に対応するビットストリームを取得してよく、サブ領域の位置情報は、サブ領域に対応するSEI内に存在してよい。言い換えれば、端末がサブ領域の必要なビットストリームを要求する際、ビットストリーム内のSEIに基づき、サブ領域の位置情報を取得してよい。
102.端末は、各サブ領域の決定された位置情報に基づき、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を決定する。
例えば、端末は、視角と、視角によってカバーされるサブ領域の位置情報との間のマッチング関係に従い、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を取得してよい。
103.端末は、サブ領域の第1のサンプリング間隔を決定する。
端末は、予め設定されたサンプリング間隔を第1のサンプリング間隔として決定してよく、または、端末は、サーバから第1のサンプリング間隔を受信し、または、端末は、サーバから受信される各サブ領域の位置情報に基づき、第1のサンプリング間隔を取得してよい。言い換えれば、各サブ領域に対応する第1のサンプリング間隔を取得するための、各サブ領域の位置情報と、第1のサンプリング間隔との間に、予め設定された計算ルールが存在してよい。計算ルールは、ソースイメージのサブ領域の位置情報におけるサイズと、結合されたイメージのサブ領域の位置情報におけるサイズとの比率、すなわち、第1のサンプリング間隔であってよい。
104.端末は、現在の視角によってカバーされるサブ領域の決定された位置情報に基づき、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する。
すべてのサブ領域のビットストリームが端末に局所的に格納される場合、端末は、端末のメモリから直接、現在の視角によってカバーされるサブ領域のビットストリームを取得してよい。
代替的に、端末はサーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する。例えば、端末は、現在の視角を示す情報をサーバに送信してよい。サーバは、現在の視角および現在の視角によってカバーされ得るサブ領域の位置情報に基づき、現在の視角によってカバーされるサブ領域を取得した後、現在の視角によってカバーされるサブ領域に対応し、且つ、端末によって要求されるビットストリームを端末に送信してよい。例えば、サーバは、送信されるべきサブ領域のビットストリームが結合された後に取得されるビットストリームを端末に送信してよい。代替的に、現在の視角および現在の視角によってカバーされるサブ領域の位置情報に基づき、現在の視角によってカバーされるサブ領域を取得した後、端末は、現在の視角によってカバーされるサブ領域の番号を、サーバに送信してよく、サーバは、番号に基づき、端末によって要求されたサブ領域のビットストリームを端末に送信してよい。代替的に、端末は、端末およびサーバによって予め設定されたプロトコルに従い、現在の視角によってカバーされるサブ領域に対応するビットストリームをサーバから取得してよく、プロトコルは、視角と視角によってカバーされるサブ領域との間の対応関係を含む。本願において、端末が、要求したビットストリームを取得する方式は限定されるものではない。
105.端末は、現在の視角によってカバーされるサブ領域のイメージを取得すべく、ビットストリームをデコーディングする。
サーバは、経度‐緯度マップに、水平分割、垂直分割および垂直ダウンサンプリング処理を実行、すなわち、サブ領域のピクセルに対し冗長性解除処理を実行するので、その結果、送信されるべきサブ領域のピクセル冗長性が低減され、ピクセル値は低減する。デコーディング側の端末にとっては、現在の視角によってカバーされるサブ領域のビットストリームが取得されるとき、デコーディング能力の要件が低減されてよく、デコーディングの複雑性が低減され、これにより、デコーディング速度が向上する。
106.端末は、現在の視角によってカバーされるサブ領域の決定された位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングする。
107.端末は、再サンプリングされたイメージを再生する。
図11に示される通り、ユーザが表示を要求する視角に対応するサブ領域が図11の(d)に示されるものであると仮定する。図11の(b)に示されるような、計算を通して取得される要求されたサブ領域に基づき、端末は、図11の(c)に示されるように、サブ領域の番号と、ビットストリームとの間の対応関係に基づき、要求されるサブ領域に対応するビットストリームを、番号1, 3, 4, 5, 6, 15, 19, 20, 21, 22, 23, 24, 34, 35, 36,および37のサブビットストリームを含み取得してよい。さらに、端末は、サブビットストリームをデコーディングした後、位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングしてよく、図11の(d)に示されるように、再サンプリングされたイメージを再生してよい。
上述のプレエンコーディング処理、エンコーディングおよび端末について、部分的に、2D経度‐緯度マップが用いられる例を用いて説明する。本願のこの実施形態は、さらに、3D経度‐緯度マップのエンコーディングおよび送信プロセスに用いられてよく、3D経度‐緯度マップのシーケンスの信号の2つのチャネルは別個に処理されてよい。3D視覚効果を表示する必要がある場合、サーバと通信する撮影デバイスは2つのグループを含んでよく、撮影デバイスのうちの一方のグループは、左目のパノラマビデオを取得するよう構成され、撮影デバイスのうちの他方のグループは、右目のパノラマビデオを取得するよう構成されることを理解されたい。このように、3D経度‐緯度マップのサブ領域分割が図12に示されてよい。左目の経度‐緯度マップは図12の上半分であり、右目の経度‐緯度マップは図12の下半分である。1つの経度‐緯度マップになるように、左目に対応する経度‐緯度マップが、右目に対応する経度‐緯度マップとスプライシングされてよく、または、左目に対応する経度‐緯度マップおよび右目に対応する経度‐緯度マップは、2つの経度‐緯度マップになるように互いに分離されてよい。サーバは、左目に対応する経度‐緯度マップに水平分割および垂直分割を実行し、且つ、右目に対応する経度‐緯度マップに水平分割および垂直分割を実行すべく、左目に対応する経度‐緯度マップを、右目に対応する経度‐緯度マップから分離してよい。
3D経度‐緯度マップにおける、左目経度‐緯度マップの水平分割については、段階401の実装を参照されたい。右目経度‐緯度マップの水平分割についても、段階401の実装を参照されたい。ここで、詳細については再度説明しない。
3D経度‐緯度マップにおける、左目経度‐緯度マップの垂直分割については、段階402の実装を参照されたい。右目経度‐緯度マップの垂直分割についても、段階402の実装を参照されたい。ここで、詳細については再度説明しない。
3D経度‐緯度マップにおける、左目経度‐緯度マップの各サブ領域のサンプリングについては、段階404および段階405の実装を参照されたい。右目経度‐緯度マップの各サブ領域のサンプリングについても、段階404および段階405の実装を参照されたい。ここで、詳細については再度説明しない。
従って、最終的に42個のサブ領域が左目経度‐緯度マップで取得され、42個のサブ領域が右目経度‐緯度マップで取得され、合計84個のサブ領域が取得される。
3D経度‐緯度マップでは、分割およびサンプリングの後に取得されるイメージ内の各サブ領域をエンコーディングするための複数の方式が存在してよく、ここで、3つの可能な方式を示す。第1の方式では、各サブ領域がオリジナルイメージから分割された1個のサブピクチャとして用いられ、各サブピクチャシーケンスが個々にエンコーディングされて、84個のサブビットストリームを生成する。第2の方式では、分割されたサブ領域モードエンコーディング(HEVC標準によってサポートされる)がイメージ全体に実行され、格納のための単一のビットストリームが生成される、または、単一のビットストリームが分割されて、格納のための84個のサブビットストリームが取得される。第3の方式では、左目経度‐緯度マップおよび右目経度‐緯度マップの同一の位置におけるサブ領域が、サブ領域の1つのグループとして用いられ、イメージスプライシングが実行された後、左目経度‐緯度マップおよび右目経度‐緯度マップが別個にエンコーディングされて、42個のサブビットストリームが生成される。
カプセル化プロセスについては、上述の方式1から方式5を参照されたい。ここで、詳細については再度説明しない。
3D経度‐緯度マップビデオについては、端末がビデオコンテンツをデコーディングするプロセスと、2D経度‐緯度マップにおけるプロセスとの間の差異は、以下の通りである。すなわち、ここで現在の視角によってカバーされるサブ領域の位置情報は、左目イメージサブ領域の位置情報および右目イメージサブ領域の位置情報を含む。
現在の視角によってカバーされるサブ領域のビットストリームは、左目経度‐緯度マップにおけるサブ領域のビットストリームと、右目経度‐緯度マップにおけるサブ領域のビットストリームを含む。現在の視角の値は、左目の視点値または右目の視点値であってよい。これは、本明細書において限定されるものではない。再サンプリング中、現在の視角において左目でカバーされるサブ領域のイメージが再サンプリングされ、現在の視角において右目でカバーされるサブ領域のイメージが再サンプリングされ、要求される左目のサブ領域および要求される右目のサブ領域がレンダリングおよび表示される。
上述の方法のプロセスは、さらに、360度パノラマビデオの経度‐緯度マップまたは360度パノラマビデオイメージの経度‐緯度マップの一部に適用されてよい。例えば、経度‐緯度マップの分割方式は、さらに、180°ハーフパノラマビデオイメージの経度‐緯度マップの分割に適用されてよい。180°ハーフパノラマビデオは、経度範囲が180°であり、パノラマビデオの半分のコンテンツを含むパノラマビデオである。
図13の(a)に示されるような、180°ハーフパノラマビデオの経度‐緯度マップの水平分割方式については、上述の段階401を参照されたい。上述の段階402の可能な実装とは異なる垂直分割については、−90°から−60°の緯度範囲のサブピクチャおよび60°から90°の緯度範囲のサブピクチャは、垂直方向に分割されずに、単一のサブ領域のままであってよい。−60°から−30°の緯度範囲のサブピクチャおよび30°から60°の緯度範囲のサブピクチャについては、サブピクチャは経度60°を垂直分割間隔として用いて垂直方向に分割され、3個のサブ領域が取得される。−30°から0°の緯度範囲のサブピクチャおよび0°から30°の緯度範囲のサブピクチャについては、サブピクチャは、経度30°を垂直分割間隔として用いて垂直方向に分割され、6個のサブ領域が取得される。このように、180°ハーフパノラマビデオ全体の経度‐緯度マップのサブ領域分割が完了され、合計20個のサブ領域が取得される。
180°ハーフパノラマビデオの経度‐緯度マップのサブ領域も、ダウンサンプリングおよびエンコーディングされてよく、それは、段階404の上述の実装におけるものと同一であってよい。段階405の上述の実装との差異は以下の通りであってよい。図13の(a)を例として用い、−90°から−60°の緯度範囲および60°から90°の緯度範囲におけるサブピクチャについては、ダウンサンプリングが垂直方向ではなく、水平方向に実行され、スケーリング係数は1/6である。−60°から−30°の緯度範囲および30°から60°の緯度範囲におけるサブピクチャについても同様に、ダウンサンプリングが垂直方向ではなく、水平方向に実行され、スケーリング係数は1/2である。−30°から0°の緯度範囲および0°から30°の緯度範囲におけるサブピクチャについては、スケーリングは実行されない。最終的に取得されたスケーリングされたイメージが、図13の(b)に示されている。
180°ハーフパノラマビデオの経度‐緯度マップの上述のサブ領域の分割方式は、また、3D 180°ハーフパノラマビデオの経度‐緯度マップのサブ領域分割に適用されてよい。360°パノラマビデオのサブ分割領域と同様に、3D 180°ハーフパノラマビデオの経度‐緯度マップも、左目の180°ハーフパノラマビデオの経度‐緯度マップおよび右目の180°ハーフパノラマビデオの経度‐緯度マップを含む。左目の経度‐緯度マップおよび右目の経度‐緯度マップは、共にスプライシングされてよい。図14に示される通り、左目の経度‐緯度マップが、図14の左半分であり、右目の経度‐緯度マップが、図14の右半分である。サーバは、まず、図14の破線によって示されるように、左目の経度‐緯度マップを、右目の経度‐緯度マップから分離してよい。その後、左目の経度‐緯度マップは、180°ハーフパノラマビデオの経度‐緯度マップの分割方式に従い分割され、右目の経度‐緯度マップも、180°ハーフパノラマビデオの経度‐緯度マップの分割方式に従い分割され、最終的に、左目の経度‐緯度マップに対応する20個のサブ領域および右目の経度‐緯度マップに対応する20個のサブ領域、合計40個のサブ領域が取得される。
上述の処理において、サーバは、撮影デバイスによって撮影されたビデオ信号に基づき、パノラマビデオまたはハーフパノラマビデオに対応する経度‐緯度マップを取得してよい。本願のこの実施形態において、サーバは、さらに、イメージサブ領域を取得するために、球パノラマ信号を直接分割する方法を提供してよい。ソースイメージは球信号マップである、または、球マップと称されるので、ビットストリームカプセル化方式およびサブ領域分割方式も変更される。この実施形態において、球領域における信号位置が緯度および経度を用いて指定され、指定された経度範囲は0°から360°であり、緯度範囲−90°から90°である(負の数値は南緯を表わし、正の数の北緯を表わす)。
従って、本願の実施形態は、イメージ処理方法を提供する。図15に示される通り、方法は、以下の段階を含む。
1501.サーバは、処理されるべきイメージの球マップに、水平分割を実行し、水平分割の分割位置は予め設定された緯度である。
例えば、サーバは、図16の(a)に示される通り、球表面における緯度−60°、緯度−30°、緯度0°、緯度30°および緯度60°に緯線を描画して、球マップを水平方向に別個に分割してよい。
1502.経度‐緯度マップの各サブ領域を取得すべく、サーバは、処理されるべきイメージの球マップに垂直分割を実行し、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である。
例えば、球マップにおいて、−90°から−60°の緯度範囲および60°から90°の緯度範囲の球領域に対し、経度120°が球マップを垂直方向に分割するための垂直分割間隔として用いられて、3個の球サブ領域を取得してよい。−60°から−30°の緯度範囲および30°から60°の緯度範囲の球領域に対し、経度60°が球マップを垂直方向に分割するための垂直分割間隔として用いられて、6個の球サブ領域を取得する。−30°から0°緯度範囲および0°から30°の緯度範囲の球領域に対し、経度30°が球マップを垂直方向に分割するための垂直分割間隔として用いられて、12個の球サブ領域を取得する。このように、図16の(a)に示される通り、球マップ全体のサブ領域分割が完了した後、合計42個のサブ領域が取得される。
1503.サーバは、各サブ領域のイメージをサンプリングする。
サーバは、まず、予め設定されたサイズに基づき、サブ領域のイメージを二次元平面イメージにマッピングして、経度‐緯度マップの各サブ領域を第1のサンプリング間隔および第2のサンプリング間隔でサンプリングしてよい。
三次元球マップが二次元経度‐緯度マップにマッピングされる実装は、以下の通りであってよい。すなわち、球マップが分割された後に取得されるサブ領域のイメージを、垂直方向に予め設定された高さで均等にサンプリングし、サブ領域のイメージを、水平方向に予め設定された幅で均等にサンプリングする。次に、均等にサンプリングした後に取得される各サブ領域のイメージが、水平方向に第1のサンプリング間隔でサンプリングされてよく、サブ領域のイメージが、垂直方向に第2のサンプリング間隔でサンプリングされる。
例えば、イメージ信号マッピングが、球マップ上のサブ領域に対応する図16の(a)中のすべてのサブ領域に実行され、その結果、球マップ上の各サブ領域は、マッピングされたイメージ、すなわち、二次元経度‐緯度マップにおけるサブ領域に対応すし、ダウンサンプリングが経度‐緯度マップに実行される。球信号をサブ領域のイメージにマッピングするための多くの方法が存在し、これは、本明細書において限定されるものではない。1つの方式は以下の通りであってよい。すなわち、緯度方向における各球サブ領域については、球信号が、図16の(b)中のサブ領域のイメージの予め設定された高さに基づき均等にマッピングされ、均等なマッピングは均等なサンプリングとして理解されてよい。経度方向において、−90°から−60°の緯度範囲および60°から90°の緯度範囲のサブ球領域については、球信号が緯度方向において、サンプリングレート1/4でダウンサンプリングされた後、マッピングされ、すなわち、スケーリング係数1/4である。−60°から−30°の緯度範囲および30°から60°の緯度範囲のサブ球領域については、球信号が緯度方向において、サンプリングレート1/2でダウンサンプリングされた後、マッピングされ、すなわち、スケーリング係数は1/2である。−30°から0°の緯度範囲および0°から30°の緯度範囲のサブ球領域については、球信号が緯度方向において同一サンプリングレートでマッピングされ、すなわち、スケーリング係数は1である。経度‐緯度マップの最終的に取得されたサンプリングされたイメージが、図16の(b)に示されている。
1504.サーバは、サンプリングされたサブ領域の位置を調整し、その結果、図16の(c)に示される通り、調整されたサブ領域のイメージによってスプライシングされたイメージの水平エッジおよび垂直エッジがそれぞれ揃う。段階1504は実行されなくてよい。
1505.サーバは、スプライシングされたイメージのタイルtileをエンコーディングする。
段階1505の実装については、段階407を参照されたい。ここで、詳細について、再度説明はしない。
球マップのイメージ処理方法においては、各サブ領域のビットストリームのカプセル化方式は、上述の段階408における方式と同一であってよく、サブ領域の位置情報の様々な格納方式もまた、段階408の方式と同一であってよい。差異としては、処理されるべきイメージの球マップに、水平分割および垂直分割を実行することで、サブ領域が取得されるとき、サンプリングされたサブ領域が、サンプリングされた球マップを形成する。位置情報は、球マップのイメージにおけるサブ領域の位置および緯度‐経度範囲、並びにサンプリングされた球マップのイメージにおけるサブ領域の位置およびサイズを含む。または、位置情報は、球マップのイメージにおけるサブ領域の位置および緯度‐経度範囲、並びにスプライシングされたイメージにおけるサブ領域の位置およびサイズを含む。上述のサブ領域の分割方式の記述に対し行われる可変の意味上の修正は、以下の通りである。
以下の意味は、方式1において修正される。
proj_reg_width[i]およびproj_reg_height[i]は、ソースイメージ、すなわち、球マップにおけるi番目のサブ領域の対応する緯度‐経度範囲、すなわち、図16の(a)における図16の(b)にあるサブ領域の対応する緯度‐経度範囲を記述する。例えば、図16の(b)の左上隅における第1のサブ領域の緯度‐経度範囲は、ソースイメージにおける(120°,30°)である。
proj_reg_top[i]およびproj_reg_left[i]は、球マップにおけるi番目のサブ領域の左上隅にあるピクセルの対応する位置について記述する。経度および緯度で表され、当該位置は、図16の(a)における図16の(b)にあるサブ領域の左上ポイントの対応する位置である。例えば、第1のサブ領域の位置は、球マップにおける(0°,90°)である。
以下の意味は、方式2で修正される。
proj_tile_widthおよびproj_tile_heightは、球マップ内の現在のトラックの緯度‐経度範囲、すなわち、図16の(a)中の現在のサブ領域の緯度‐経度範囲について記述する。
proj_widthおよびproj_heightは、球マップの緯度‐経度範囲について記述する。例えば、360°パノラマ球の緯度‐経度範囲は、(360°,180°)である。
方式4において、プライベートファイルtile_info.datのコンテンツについては、意味が以下の通り修正される。
pic_widthは、球マップの経度範囲を表わす。
pic_heightは、球マップの緯度範囲を表わす。
tile_pic_width[]は、球マップ内の各サブ領域の経度範囲を表わすアレイであり、要素の個数は、tile_num値であってよい。
tile_pic_height[]は、球マップ内の各サブ領域の経度範囲を表わすアレイであり、要素の個数は、tile_num値であってよい。
以下の意味は、方式5において修正される。
src_pic_widthは、球マップの経度範囲、すなわち、図16の(a)中の球マップの経度範囲を表わす。
src_pic_heightは、球マップの緯度範囲、すなわち、図16の(a)中の球マップの緯度範囲を表わす。
src_tile_widthは、球マップ上の現在のサブ領域の経度範囲を表わす。
src_tile_heightは、球マップ上の現在のサブ領域の緯度範囲を表わす。
このように、経度‐緯度マップの均等な分割方式と比べた場合、本願のこの不均等な分割方式およびイメージスケーリング方式においては、イメージ冗長性が低減され、その結果、タイル単位エンコーディングおよび送信効率が大きく向上可能となる。また、端末のデコーダに必要とされる最大デコーディング能力も低減され、その結果、既存のデコーディング能力で、より高解像度のソースイメージを表示のためにエンコーディングし、送信することが可能である。例として、6×3の均等な分割が用いられ、送信される必要のあるピクセルの比率は、最大55.6%である。ソースイメージの解像度が4K(4096×2048)である場合、デコーダのデコーディング能力は、約4K×1Kに到達する必要がある。しかしながら、本願の方法においては、送信されるピクセルの比率は、最大25%である。ソースイメージの解像度が4K(4096×2048)である場合、デコーダのデコーディング能力は、2K×1Kに到達する必要がある。また、性能については、デコーディング速度および再生速度が向上する。本願の解決手段においては、デコーディングおよび再生処理の効率が、均等な分割におけるデコーディングおよび再生処理の効率よりも高い。
本願の一実施形態は、さらに、イメージ処理方法を提供し、方法は、図17Aに示されるようなサーバに適用され、以下の段階を含む。
17A1.サーバは、パノラマイメージの経度‐緯度マップまたは球マップのサブ領域のイメージに対応するビットストリームを格納し、サブ領域は、パノラマイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行することで取得され、水平分割の分割位置は、予め設定された緯度であり、垂直分割の分割位置は、緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である。
17A2.サーバは、サブ領域のイメージに対応し、且つ端末によって要求される、格納されたビットストリームの中で、現在の視角によってカバーされるサブ領域のビットストリームを、端末に送信する。
サブ領域に対応し、且つサーバに格納されるイメージがエンコーディングされる前に、イメージは、水平方向において第1のサンプリング間隔でサンプリングされ、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、または、イメージは、垂直方向において第2のサンプリング間隔でサンプリングされる。サンプリングの具体的な実装については、上述の実施形態の説明を参照されたい。
言い換えれば、この実施形態におけるサーバは、各サブ領域に属する、且つ上述の実施形態において、サーバによって処理されるイメージに対応するビットストリームを格納してよい。イメージを処理するために上述の実施形態において、サーバによって用いられるサブ領域分割方式およびサンプリング処理は、ビットストリーム送信中に占有される帯域幅を低減してよいので、デコーディング側のデコーディング能力に対する要件が低減され、デコーディング複雑性が低減され、デコーディング速度が向上する。本願の実施形態においては、ビットストリーム送信中にサーバによって占有される帯域幅は、従来技術の帯域幅と比較して低減され、端末のデコーディング速度が向上する。
上述の内容は主に、本願の実施形態において提供される解決手段を、ネットワーク要素間の相互作用の観点から説明している。上述の機能を実装すべく、サーバおよび端末等のネットワーク要素の各々は、各機能を実行するための対応するハードウェア構造および/またはソフトウェアモジュールを含むことを理解されたい。当業者は、本願において、本明細書で開示した実施形態で説明された例を組み合わせて、ユニットおよびアルゴリズムの段階は、ハードウェア、またはハードウェアとコンピュータソフトウェアとの組み合わせで実装され得ることを容易に認識すべきである。ある機能が、ハードウェアまたはコンピュータソフトウェアで駆動されるハードウェアで実行されるかどうかは、技術的解決手段の特定の用途および設計上の制約に依存する。当業者は、各特定の用途に対し、説明された機能を実装するために異なる方法を用いてよいが、当該実装が本願の保護範囲を超えるものとみなされるべきではない。
本願の実施形態においては、サーバおよび端末は、上述の方法の例に基づき、機能モジュールに分割されてよい。例えば、各機能モジュールは、対応する機能のために分割を通して取得されてよく、あるいは、2または2より多い機能が1つの処理モジュールに統合されてよい。統合されたモジュールは、ハードウェアの形態で実装されてよく、または、ソフトウェア機能モジュールの形態で実装されてよい。本願のこの実施形態においては、モジュール分割は、一例であり、論理的な機能分割に過ぎないことに留意されたい。実際の実装においては、別の分割方式が用いられてよい。
図17は、対応する機能に基づき、機能モジュールが分割される場合の、上述の実施形態におけるサーバの可能な概略構造図を示す。サーバ17は、分割ユニット1701、エンコーディングユニット1702、サンプリングユニット1703、スプライシングユニット1704、カプセル化ユニット1705および送信ユニット1706を含む。分割ユニット1701は、サーバが図4中の段階401および段階402を実行することをサポートするよう構成されてよく、エンコーディングユニット1702は、サーバが図4中の段階403および図7中の段階407を実行することをサポートするよう構成されてよい。サンプリングユニット1703は、サーバが図7中の段階404および段階405を実行することをサポートするよう構成されてよく、スプライシングユニット1704は、サーバが図7中の段階406を実行することをサポートするよう構成され、カプセル化ユニット1705は、サーバが図7中の段階408を実行することをサポートするよう構成されてよい。上述の方法の実施形態における段階に関連するすべての内容が、対応する機能モジュールの機能の説明において引用されてよい。詳細について、ここで説明はしない。
図18は、統合されたユニットが用いられる場合の、上述の実施形態におけるサーバの可能な概略構造図である。サーバ18は、処理モジュール1802および通信モジュール1803を含む。処理モジュール1802は、サーバの動作を制御および管理するよう構成されている。例えば、処理モジュール1802は、図4中の段階401、段階402、段階403、段階404、段階405、段階406、段階407および段階408、および/または、本明細書で説明した技術の別のプロセスを実行するよう構成されている。通信モジュール1803は、サーバと別のネットワークエンティティとの間の通信、例えば、サーバと端末との間の通信をサポートするよう構成されている。サーバは、さらに、サーバのプログラムコードおよびデータを格納するよう構成された格納モジュール1801を含んでよい。
処理モジュール1802は、中央処理装置(Central Processing Unit,CPU)、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processing,DSP)、特定用途向け集積回路(Application−Specific Integrated Circuit,ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)若しくは別のプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、またはこれらの組み合わせ等のプロセッサまたはコントローラであってよい。プロセッサは、本願に開示された内容に関し説明された様々な例示的な論理ブロック、モジュールおよび回路を実装または実行してよい。プロセッサは、コンピューティング機能を実装するプロセッサの組み合わせ、例えば、1または複数のマイクロプロセッサの組み合わせ、または、DSPとマイクロプロセッサとの組み合わせであってよい。通信モジュール13803は、送受信機、送受信回路または通信インタフェース等であってよい。格納モジュール1801は、メモリであってよい。
処理モジュール1802がプロセッサの場合、通信モジュール1803は送受信機であり、格納モジュール1801がメモリである場合、本願のこの実施形態におけるサーバは、図19に示されるサーバであってよい。
図19に示される通り、サーバ19は、プロセッサ1912、送受信機1913、メモリ1911、およびバス1914を含む。送受信機1913、プロセッサ1912およびメモリ1911は、バス1914を通して互いに接続されている。バス1914は、ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect,PCI)バスまたは拡張型業界標準アーキテクチャ(Extended Industry Standard Architecture,EISA)バス等であってよい。バスは、アドレスバス、データバスおよび制御バス等に分類されてよい。表示のしやすさのため、図19中ではバスを表わすために1本の太線のみが用いられているが、1つのバスのみまたは1つのタイプのバスのみが存在することを意味していない。
図20は、対応する機能に基づき、機能モジュールが分割される場合の、上述の実施形態における端末の可能な概略構造図を示す。端末20は、取得ユニット2001、デコーディングユニット2002、再サンプリングユニット2003および再生ユニット2004を含む。取得ユニット2001は、端末が、図10中の段階101、段階102、段階103および段階104を実行することをサポートするよう構成されている。デコーディングユニット2002は、端末が、図10中の段階105を実行することをサポートするよう構成されている。再サンプリングユニット2003は、端末が、図10中の段階106を実行することをサポートするよう構成されている。再生ユニット2004は、端末が、図10中の段階107を実行することをサポートするよう構成されている。上述の方法の実施形態における段階に関連するすべての内容が、対応する機能モジュールの機能の説明に引用されてよい。詳細について、ここで説明はしない。
図21は、統合されたユニットが用いられる場合の、上述の実施形態における端末の可能な概略構造図である。端末21は、処理モジュール2102および通信モジュール2103を含む。処理モジュール2102は、端末の動作を制御および管理するよう構成されている。例えば、処理モジュール2102は、端末が、図10中の段階101から段階106を実行することをサポートするよう構成されており、および/または、本明細書中で説明された技術の別のプロセスを実行するよう構成されている。通信モジュール2103は、端末と別のネットワークエンティティとの間の通信、例えば、端末とサーバとの間の通信をサポートするよう構成されている。端末は、さらに、端末のプログラムコードおよびデータを格納するよう構成された格納モジュール2101を含んでよく、さらに、図10中の段階107を端末が実行することをサポートするよう構成されたディスプレイモジュール2104を含む。
処理モジュール2102は、プロセッサまたはコントローラであってよく、例えば、CPU、汎用プロセッサ、DSP、ASIC、FPGAまたは別のプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、またはこれらの任意の組み合わせであってよい。プロセッサは、本願に開示された内容に関し説明された様々な例示的な論理ブロック、モジュールおよび回路を実装または実行してよい。プロセッサは、コンピューティング機能を実装するプロセッサの組み合わせ、例えば、1または複数のマイクロプロセッサの組み合わせ、または、DSPとマイクロプロセッサとの組み合わせであってよい。通信モジュール2103は、送受信機、送受信回路または通信インタフェース等であってよい。格納モジュール2101は、メモリであってよい。ディスプレイモジュール2104は、ディスプレイ等であってよい。
処理モジュール2102がプロセッサの場合、通信モジュール2103は送受信機であり、格納モジュール2101はメモリであり、ディスプレイモジュール2104はディスプレイであり、本願のこの実施形態における端末は、図22に示された端末であってよい。
図22に示される通り、端末22は、プロセッサ2212、送受信機2213、メモリ2211、ディスプレイ2215およびバス2214を含む。送受信機2213、プロセッサ2212、ディスプレイ2215およびメモリ2211は、バス2214を通して相互接続されている。バス2214は、PCIバスまたはEISAバス等であってよい。バスは、アドレスバス、データバスおよび制御バス等に分類されてよい。表示のしやすさのため、図22中ではバスを表わすために1本の太線のみが用いられているが、1つのバスのみまたは1つのタイプのバスのみが存在することを意味していない。
図23は、対応する機能に基づき、機能モジュールが分割される場合の、上述の実施形態におけるサーバの可能な概略構造図を示す。サーバ23は、格納ユニット2301、送信ユニット2302を含み、格納ユニット2301は、サーバが図17A中の段階17A1を実行することをサポートするよう構成されており、送信ユニット2302は、サーバが図17A中の段階17A2を実行することをサポートするよう構成されている。上述の方法の実施形態の段階に関連するすべての内容が、対応する機能モジュールの機能の説明に引用されてよい。詳細について、ここで説明はしない。
図24は、統合されたユニットが用いられる場合の、上述の実施形態におけるサーバの可能な概略構造図である。サーバ24は、格納モジュール2402および通信モジュール2403を含む。格納モジュール2402は、サーバのプログラムコードおよびデータを格納するよう構成されている。例えば、プログラムは、図17A中の段階17A1を実行するよう構成されており、通信モジュール2403は、図17A中の段階17A2を実行するよう構成されている。
通信モジュール2403が送受信機であり、且つ格納モジュール2401がメモリである場合、本願のこの実施形態におけるサーバは、図25に示される端末であってよい。
図25に示される通り、サーバ25は、送受信機2511、メモリ2512およびバス2513を含む。送受信機2511およびメモリ2512は、バス2513を通して相互接続される。バス2513は、PCIバスまたはEISAバス等であってよい。バスは、アドレスバス、データバスおよび制御バス等に分類されてよい。表示のしやすさのため、図25中ではバスを表わすために1本の太線のみが用いられているが、1つのバスのみまたは1つのタイプのバスのみが存在することを意味していない。
本願で開示された内容と組み合わせて説明された方法またはアルゴリズムの段階は、ハードウェアによって実装されてよく、または、ソフトウェア命令を実行するプロセッサによって実装されてよい。ソフトウェア命令は、対応するソフトウェアモジュールを含んでよい。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory,RAM)、フラッシュメモリ、リードオンリメモリメモリ(Read Only Memory,ROM)、消去可能プログラマブルリードオンリメモリ(Erasable Programmable ROM,EPROM)、電気的消去可能なプログラマブルリードオンリメモリ(Electrically EPROM,EEPROM)、レジスタ、ハードディスク、モバイルハードディスク、コンパクトディスクリードオンリメモリ(CD‐ROM)、または、当該技術分野で周知の格納媒体の任意の他の形態に格納されてよい。例えば、プロセッサが、格納媒体から情報を読み取ることができ、または、情報を格納媒体に書き込むことができるように、格納媒体はプロセッサに連結されている。格納媒体が、プロセッサのコンポーネントであってよいことはもちろんである。プロセッサおよび記憶媒体は、ASICに配置されてよい。また、ASICは、コアネットワークインタフェースデバイスに配置されてよい。プロセッサおよび記憶媒体は、コアネットワークインタフェースデバイス内に、ディスクリートコンポーネントとして存在してよいことはもちろんである。
当業者であれば、上述の1または複数の例において、本願で説明された機能が、ハードウェア、ソフトウェア、ファームウェア、または、これらの任意の組み合わせで実装され得ることを理解されたい。本発明がソフトウェアで実装される場合、上述の機能は、コンピュータ可読媒体内に格納され、または、コンピュータ可読媒体内の1または複数の命令またはコードとして送信されてよい。コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み、通信媒体は、コンピュータプログラムがある場所から別の場所へ送信されることを可能にする任意の媒体を含む。格納媒体は、汎用または専用のコンピュータにアクセス可能な任意の利用可能な媒体であってよい。
本願の目的、技術的解決手段および利点については、上述の具体的な実施形態にさらに詳細に記載されている。上述の説明は、本願の特定の実施形態に過ぎず、本願の保護範囲を限定する意図はないことを理解されたい。本願の技術的解決手段に基づき、なされる任意の修正、均等な置換または改良は、本願の保護範囲に属するものとする。
本願は、2017年7月31日に中国特許庁に出願された発明の名称「イメージ処理方法、端末およびサーバ」に係る中国特許出願第201710645108.X号に基づく優先権を主張し、当該出願は、参照により本明細書にてその全体が援用される。
本願は、メディア標準およびメディアアプリケーション技術の分野に関し、具体的には、イメージ処理方法、端末およびサーバに関する。
ビデオアプリケーションにおいては、仮想現実(virtual reality,VR)/360度パノラマビデオが出現してきており、人々に新しい表示方式および視覚的エクスペリエンスをもたらし、また新しい技術的課題ももたらしている。360度パノラマビデオは、オブジェクト上の複数のカメラによって、複数の角度で撮影され、マルチアングル再生をサポートする。ビデオのイメージ信号は、球信号として仮想化されてよい。図1に示される通り、球における異なる位置の球イメージ信号が、異なる視角コンテンツを表してよい。しかしながら、仮想球イメージ信号は人間の目によっては見えない。従って、三次元球イメージ信号は、二次元平面イメージ信号として表わされる必要があり、例えば、経度‐緯度マップまたはキューブ等の表現形態で表される。これらの表現形態では、球イメージ信号が人間の目によって直接見ることができるイメージ信号になるように、球イメージ信号は、実際には特定のマッピング方式で二次元イメージにマッピングされる。最も頻繁に用いられる直接的なイメージフォーマットは、経度‐緯度マップである。イメージを収集する方式は以下の通りである。すなわち、球イメージ信号が経度角に従い、水平方向において均等にサンプリングされ、緯度角に従い垂直方向において均等にサンプリングされる。一例として、地球の球イメージ信号を用いて、図2に地球の二次元マッピングイメージが示されている。
VRアプリケーションにおいては、球イメージ信号は360度パノラマイメージであり、通常、人間の目の視角範囲は約120度である。従って、人間の目の視角から見える有効な球信号は、パノラマ信号の約22%である。より良いユーザ視認エクスペリエンスを達成すべく、VR端末デバイス(例えば、VRグラス)は、約90度から110度の間の単一の視角をサポートできる。しかしながら、ユーザがイメージを見るとき、単一の視角内のイメージコンテンツ情報が、パノラマイメージ全体の小さな部分を占め、視角外のイメージ情報は、ユーザによって用いられない。すべてのパノラマイメージが送信される場合、不要な帯域幅の無駄が生じる。従って、パノラマビデオの視点に依存するビデオコーディング(viewport dependent video coding,VDC)エンコーディングおよび送信技術においては、ビデオ全体におけるイメージは分割され、送信される必要のあるイメージサブ領域が、ユーザの現在の視角に従って選択され、これにより帯域幅を節約する。
上述のパノラマイメージVRエンコーディングおよび送信技術には、(1)タイル単位エンコーディングおよび送信方式を個々に用いる;(2)パノラマイメージエンコーディングのハイブリッドエンコーディングおよび送信並びにタイル単位エンコーディングおよび送信の方式を実行する、という2つのタイプが含まれ得る。タイル単位エンコーディングおよび送信方式では、イメージシーケンスがいくつかのイメージサブ領域に分割され、すべてのサブ領域が別個にエンコーディングされて、1または複数のビットストリームを生成する。経度‐緯度マップを均等に分割する方式には、経度‐緯度マップを、幅方向および高さ方向において、複数のタイルに均等に分割することが含まれる。ユーザがクライアント上で、ある視角のイメージを見るとき、クライアントはユーザの視角位置に基づき、当該イメージ上の視角のカバレッジ範囲を計算し、当該範囲に基づき、当該イメージ内のタイルの位置およびサイズを含む当該イメージの送信される必要のあるタイル情報を取得し、送信のためのタイルに対応するビットストリームをサーバに対し要求し、クライアント上で現在の視角をレンダリングおよび表示する。しかしながら、経度‐緯度マップが分割に用いられる場合、赤道付近のイメージのサンプリングレートは比較的高く、2つの極付近のイメージのサンプリングレートは比較的低い。言い換えれば、赤道付近のイメージのピクセル冗長性は比較的低く、2つの極付近のイメージのピクセル冗長性は比較的高く、より高い緯度はより高い冗長性を示す。経度‐緯度マップが均等な分割に用いられる場合、異なる緯度における経度‐緯度マップのピクセル冗長性の問題は考慮されない。同一の条件下で、送信のための各イメージブロックが同一の解像度でエンコーディングされ、エンコーディングの効率は低く、比較的大きな送信帯域幅の無駄も生じる。
本願の実施形態は、イメージサンプリングにおいて経度‐緯度マップイメージを用いて、イメージを均等に分割するときに生じる、エンコーディングおよび送信時のエンコーディングの低効率および帯域幅の無駄の問題を解決するためのイメージ処理方法、端末およびサーバを提供する。
第1の態様によると、サーバに適用されるイメージ処理方法であって、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行して、経度‐緯度マップまたは球マップのサブ領域を取得する段階であって、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、段階と、取得されたサブ領域のイメージをエンコーディングする段階と、を備える、方法が提供される。このように、従来技術と比較した場合、従来技術では、経度‐緯度マップが同一の分割間隔で均等に分割され、均等な分割時の細分割の特性によってエンコーディングの低効率が生じ、エンコーディングされた後に送信中に大きな帯域幅を占有するという問題が生じる。本願においては、異なる緯度における少なくとも2つの垂直分割間隔に基づく、垂直分割を実行することにより、従来技術における均等および細分割の特性が回避される。本願において、垂直分割は、複数の垂直分割間隔で実行されてよく、その結果、複数のサイズのイメージのサブ領域が存在する。より大きな分割間隔は、より大きなサブ領域を示す。エンコーディング時のエンコーディング効率が向上され、エンコーディング後のサーバがビットストリームを端末に送信するときの占有帯域幅が低減される。
可能な設計において、垂直分割の分割位置が緯度によって決定されることは、垂直分割の分割位置のより高い緯度は、より大きな垂直分割間隔を示すことを含む。このように、サブ領域が位置する緯度は異なるので、より高い緯度はより大きなサブ領域を示す。粗い分割によって、エンコーディングおよび送信効率が向上され得、送信帯域幅が低減され得る。
可能な設計において、取得されたサブ領域のイメージをエンコーディングする段階の前に、方法は、さらに、サブ領域のイメージを、水平方向において第1のサンプリング間隔でサンプリングする段階であって、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す、段階を備え、取得されたサブ領域のイメージをエンコーディングする段階は、サンプリングされたサブ領域のイメージをエンコーディングする段階を含む。経度‐緯度マップでは、赤道付近のイメージのピクセル冗長性が比較的低く、2つの極付近のイメージのピクセル冗長性が比較的高いので、各サブ領域が同一の解像度でエンコーディングおよび送信される場合、送信帯域幅の無駄が大きい。また、デコーディング側のピクセル冗長性は高く、結果的に、デコーディング側は高デコーディング能力を要求し、デコーディング速度が低い。しかしながら、本願においては、水平サンプリングはエンコーディング前に実行されてよく、且つ、水平サンプリングが実行されるとき、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す。言い換えれば、ダウンサンプリングが高緯度のサブ領域に水平方向に実行される、すなわち、圧縮サンプリングが実行される。その結果、エンコーディング前に、高緯度のサブ領域において送信されるイメージのピクセル冗長性は低減可能で、これにより帯域幅を低減する。また、ダウンサンプリングが、エンコーディングおよび送信される必要のあるピクセル値を低減し、その結果、デコーディング側のデコーディング能力に対する要件が低減される。デコーディング複雑性が低減され、これにより、デコーディング速度が向上される。
可能な設計において、取得されたサブ領域のイメージをエンコーディングする段階の前に、方法は、さらに、サブ領域のイメージを垂直方向において第2のサンプリング間隔でサンプリングする段階を備える。第2のサンプリング間隔は、サンプリング前のサブ領域の間隔と同一であってよい。すなわち、オリジナルサンプリングが垂直方向において維持される。または、サンプリング前のサブ領域の間隔より小さくてよい。すなわち、ダウンサンプリングが垂直方向全体において実行される。同様に、エンコーディングおよび送信の帯域幅は比較的小さくてよく、デコーディング側のデコーディング複雑性は低減され、デコーディング速度が向上する。
可能な設計において、サブ領域が、処理されるべきイメージの球マップに水平分割および垂直分割を実行することで取得される場合、サブ領域のイメージを水平方向において第1のサンプリング間隔でサンプリングする段階の前に、方法は、さらに、サブ領域のイメージを、予め設定されたサイズに基づき、二次元平面イメージにマッピングする段階を備え、サブ領域のイメージを、水平方向において第1のサンプリング間隔でサンプリングする段階は、サブ領域の前記イメージがマッピングされた二次元平面イメージを、水平方向において前記第1のサンプリング間隔でサンプリングする段階を含む。言い換えれば、サーバは、撮影デバイスから球マップを収集し、サーバは、まず、球マップのサブ領域のイメージを、二次元経度‐緯度マップにマッピングしてよく、その後、経度‐緯度マップにダウンサンプリングを実行してよい。この場合、サーバが球信号を撮影デバイスから直接収集し、サーバが球マップをサブ領域に直接分割した後、球マップのサブ領域を経度‐緯度マップにマッピングし、その後、経度‐緯度マップにダウンサンプリングを実行してよいと想定されている。
可能な設計において、サンプリングされたサブ領域のイメージをエンコーディングする段階の前に、方法は、さらに、サンプリングされたサブ領域の位置を調整して、調整されたサブ領域のイメージによってスプライシングされるイメージの水平エッジおよび垂直エッジがそれぞれ揃うようにする段階を備える。このように、サブ領域は、スプライシングされたイメージにおいてシーケンスで番号が付与されてよく、その結果、サーバおよび端末は、各サブ領域の番号に基づき、各サブ領域を送信および処理する。
可能な設計において、サンプリングされたサブ領域のイメージをエンコーディングする段階は、スプライシングされたイメージのタイル(tile)をエンコーディングする段階を含む。このように、格納のための単一のビットストリームが生成されてよく、または、単一のビットストリームが分割されて、格納のための複数のサブ領域が取得される。
可能な設計において、取得されたサブ領域のイメージをエンコーディングする段階の後に、方法は、さらに、サブ領域のエンコーディングされたイメージに対応するビットストリームを個々にカプセル化し、サブ領域の位置情報をエンコーディングする段階であって、すべてのサブ領域のエンコーディングされた位置情報およびすべてのサブ領域のビットストリームが同一のトラックに存在する、または、エンコーディングされた位置情報および各サブ領域のビットストリームが位置情報のトラックおよびビットストリームのトラックにそれぞれ存在する、または、すべてのサブ領域のエンコーディングされた位置情報がメディアプレゼンテーションディスクリプション(MPD)内に存在する、または、すべてのサブ領域のエンコーディングされた位置情報がプライベートファイル内に存在し、且つプライベートファイルのアドレスがMPD内に存在する、または、各サブ領域のエンコーディングされた位置情報が各サブ領域のビットストリームの補足拡張情報(SEI)内に存在する、段階を備える。
可能な設計において、サブ領域が、処理されるべきイメージの経度‐緯度マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた経度‐緯度マップを形成し、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにサンプリングされた経度‐緯度マップ内のサブ領域の位置およびサイズを含み、または、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにスプライシングされたイメージのサブ領域の位置およびサイズを含む、または、サブ領域が、処理されるべきイメージの球マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた球マップを形成し、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにサンプリングされた球マップのイメージ内のサブ領域の位置およびサイズを含み、または、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにスプライシングされたイメージ内のサブ領域の位置およびサイズを含む。このように、端末は、再生および表示中に、サブ領域の位置およびサイズに基づき、イメージをレンダリングおよび表示してよい。
可能な設計において、プライベートファイルは、さらに、ユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を表わすために用いられる情報を含んでよい。端末がユーザの視点を決定する場合、端末は、対応関係に基づき、視点の視角によってカバーされるサブ領域を直接決定して、サブ領域のビットストリームに基づき、デコーディング表示を実行してよく、これにより、デコーディング時の端末のデコーディング速度を向上させる。
可能な設計において、プライベートファイルは、さらに、ユーザの視角によってカバーされるサブ領域において表示される必要があることが好ましいサブ領域の個数を表わすために用いられる情報、表示される必要があることが好ましいサブ領域の番号に関する情報、二次的に表示されるサブ領域の番号に関する情報、および表示されないサブ領域の番号に関する情報を含む。このように、何らかの理由(例えば、不安定なネットワーク)により、すべてのサブ領域のすべてのビットストリームが取得できない、または、取得される必要がない場合、表示されることが好ましい視点に近接するサブ領域のイメージが取得されることが好ましくてよく、表示されることが好ましくないサブ領域のイメージデータは、破棄される。
可能な設計において、経度‐緯度マップは、左目に対応する経度‐緯度マップおよび右目に対応する経度‐緯度マップを含み、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行する段階の前に、方法は、さらに左目に対応する経度‐緯度マップを、右目に対応する経度‐緯度マップから分離する段階を備え、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行する段階は、左目に対応する経度‐緯度マップに水平分割および垂直分割を実行し、右目に対応する経度‐緯度マップに水平分割および垂直分割を実行する段階を含む。このように、3Dビデオイメージも、本願におけるサブ領域分割方式で分割されてよく、帯域幅を低減し、エンコーディングおよび送信の効率を向上させる。
可能な設計において、方法は、さらに、サブ領域のエンコーディングされたイメージに対応するビットストリームを端末に送信する段階、または端末によって送信された視角情報を受信し、視角情報に基づき、視角情報に対応するサブ領域を取得し、視角情報に対応するサブ領域のビットストリームを端末に送信する段階、または端末によって送信されるサブ領域の番号を受信し、サブ領域の番号に対応するビットストリームを端末に送信する段階、を備える。言い換えれば、端末は、サブ領域のイメージに対応する要求されたビットストリームを局所的に取得してよく、または、サーバが視角情報に基づき、サブ領域を決定した後に、サブ領域に対応するビットストリームを端末に送信してよい。代替的に、端末が要求されたサブ領域の番号を決定した後、サーバは通知され、サーバが、サブ領域に対応するビットストリームを端末に送信し、これにより、サーバのコンピューティング負荷を低減する。
可能な設計において、経度‐緯度マップは、360度パノラマビデオイメージの経度‐緯度マップ、または360度パノラマビデオイメージの経度‐緯度マップの一部である、または球マップは、360度パノラマビデオイメージの球マップ、または360度パノラマビデオイメージの球マップの一部である。言い換えれば、本願におけるサブ領域分割方式は、180度ハーフパノラマビデオイメージの分割にも適用可能であってよく、これにより、180度ハーフパノラマビデオイメージの送信中の帯域幅を低減し、エンコーディングおよび送信効率を向上させる。
第2の態様によると、端末に適用されるイメージ処理方法であって、パノラマイメージの各サブ領域の位置情報を決定する段階と、各サブ領域の決定された位置情報に基づき、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を決定する段階と、サブ領域の第1のサンプリング間隔を決定する段階と、現在の視角によってカバーされるサブ領域の決定された位置情報に基づき、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階と、ビットストリームをデコーディングして、現在の視角によってカバーされるサブ領域のイメージを取得する段階と、現在の視角によってカバーされるサブ領域の決定された位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングし、再サンプリングされたイメージを再生する段階と、を備える、方法が提供される。従って、サンプリング間隔は、サブ領域の位置と共に変わってよく、均等な分割な分割を通してサブ領域が取得される従来技術におけるものと同様ではない。デコーディング中、イメージは指定されたサンプリング間隔に基づき、デコーディングおよび表示される。本願において、端末は、表示のために異なるサンプリング間隔に基づき、イメージを再サンプリングしてよく、これにより、デコーディング側のイメージの表示速度を向上させる。
可能な設計において、パノラマイメージの各サブ領域の位置情報を決定する段階は、サーバによって送信された第1の情報を受信する段階であって、第1の情報は、パノラマイメージの各サブ領域のトラックおよび各サブ領域のビットストリームを含み、トラックは、パノラマイメージのすべてのサブ領域の位置情報を含む、段階と、トラックに基づき、パノラマイメージ内の各サブ領域の位置情報を取得する段階と、を含む。
可能な設計において、パノラマイメージの各サブ領域の位置情報を決定する段階は、サーバによって送信されたメディアプレゼンテーションディスクリプション(MPD)を受信する段階であって、MPDは各サブ領域の位置情報を含み、または、MPDはプライベートファイルのアドレスを含み、且つプライベートファイルは各サブ領域の位置情報を含む、段階と、MPDを解析して、各サブ領域の位置情報を取得する段階と、を含む。
可能な設計において、サブ領域の位置情報は、サブ領域に対応するビットストリームの補足拡張情報(SEI)内に存在する。
可能な設計において、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階は、端末のメモリから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階、またはサーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する段階を含む。
可能な設計において、サーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する段階は、現在の視角を示す情報をサーバに送信し、現在の視角によってカバーされるサブ領域に対応し、且つサーバによって送信されるビットストリームを受信する段階、または端末およびサーバによって予め設定されたプロトコルに従い、サーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する段階であって、プロトコルは、視角と、視角によってカバーされるサブ領域との間の対応関係を含む、段階を含み、その結果、端末によってサーバから、サブ領域に対応するビットストリームを取得する速度が、対応関係に基づき、向上されてよい。
可能な設計において、サブ領域の第1のサンプリング間隔を決定する段階は、予め設定されたサンプリング間隔を、第1のサンプリング間隔として決定する段階、またはサーバから、第1のサンプリング間隔を受信する段階、またはサーバから受信された各サブ領域の位置情報に基づき、第1のサンプリング間隔を取得する段階、を含む。言い換えれば、各サブ領域の位置情報が互いに異なる場合、対応する第1のサンプリング間隔も互いに異なる。
第3の態様によると、サーバに適用されるイメージ処理方法であって、パノラマイメージの経度‐緯度マップまたは球マップのサブ領域のイメージに対応するビットストリームを格納する段階であって、サブ領域は、パノラマイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行することで取得され、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、前記垂直分割の隣接する分割位置間の距離である、段階と、サブ領域のイメージに対応し、且つ端末によって要求される格納されたビットストリームの中で、現在の視角によってカバーされるサブ領域のビットストリームを端末に送信する段階と、を備える、方法が提供される。このように、本願では、各サブ領域のイメージに対応し、且つサーバによって格納されるビットストリームが端末に送信される場合、従来技術における均等な細分割の特性は、異なる緯度における少なくとも2つの垂直分割間隔に基づき垂直分割を実行する方式で回避可能であるので、本願では、垂直分割は、複数の垂直分割間隔で実行されてよく、その結果、複数のサイズのサブ領域イメージが存在する。より大きな分割間隔は、より大きなサブ領域を示す。エンコーディング時のエンコーディング効率が向上され、エンコーディング後のサーバがビットストリームを端末に送信するときの占有帯域幅が低減される。
可能な設計において、エンコーディングされる前に、サブ領域に対応し、且つサーバに格納されるイメージがエンコーディングされる前に、イメージは、水平方向において第1のサンプリング間隔でサンプリングされ、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、または、イメージは、垂直方向において第2のサンプリング間隔でサンプリングされる。
第4の態様によると、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行して、経度‐緯度マップまたは球マップのサブ領域を取得するよう構成された分割ユニットであって、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、分割ユニットと、取得されたサブ領域のイメージをエンコーディングするよう構成されたエンコーディングユニットと、を備える、サーバが提供される。
可能な設計において、垂直分割の分割位置は緯度によって決定されることは、垂直分割の分割位置のより高い緯度が、より大きな垂直分割間隔を示すことを含む。
可能な設計において、サーバは、さらに、サンプリングユニットを備え、サンプリングユニットは、サブ領域のイメージを、水平方向において第1のサンプリング間隔でサンプリングするよう構成されており、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、エンコーディングユニットは、サンプリングされたサブ領域のイメージをエンコーディングするよう構成されている。
可能な設計において、サンプリングユニットは、さらに、サブ領域のイメージを、垂直方向において第2のサンプリング間隔でサンプリングするよう構成されている。
可能な設計において、サンプリングユニットは、さらに、サブ領域のイメージを、予め設定されたサイズに基づき、二次元平面イメージにマッピングする、およびサブ領域のイメージがマッピングされた二次元平面イメージを、水平方向において第1のサンプリング間隔でサンプリングする、よう構成されている。
可能な設計において、サーバは、さらに、スプライシングユニットを備え、スプライシングユニットは、サンプリングされたサブ領域の位置を調整して、調整されたサブ領域のイメージによってスプライシングされるイメージの水平エッジおよび垂直エッジがそれぞれ揃うようにするよう構成されている。
可能な設計において、エンコーディングユニットは、スプライシングされたイメージのタイル(tile)をエンコーディングするよう構成されている。
可能な設計において、さらに、カプセル化ユニットが含まれ、カプセル化ユニットは、サブ領域のエンコーディングされたイメージに対応するビットストリームを個々にカプセル化し、且つサブ領域の位置情報をエンコーディングするよう構成されており、すべてのサブ領域のエンコーディングされた位置情報およびすべてのサブ領域のビットストリームが同一のトラックに存在する、または、各サブ領域のエンコーディングされた位置情報およびビットストリームが、位置情報のトラックおよびビットストリームのトラックにそれぞれ存在する、または、すべてのサブ領域のエンコーディングされた位置情報がメディアプレゼンテーションディスクリプション(MPD)内に存在する、または、すべてのサブ領域のエンコーディングされた位置情報がプライベートファイル内に存在し、且つプライベートファイルのアドレスはMPD内に存在する、または、各サブ領域のエンコーディングされた位置情報が各サブ領域のビットストリームの補足拡張情報(SEI)内に存在する。
可能な設計において、サブ領域が、処理されるべきイメージの経度‐緯度マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた経度‐緯度マップを形成し、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにサンプリングされた経度‐緯度マップ内のサブ領域の位置およびサイズを含み、または、位置情報は、経度‐緯度マップ内のサブ領域の位置およびサイズ並びにスプライシングされたイメージのサブ領域の位置およびサイズを含む、または、サブ領域が、処理されるべきイメージの球マップに水平分割および垂直分割を実行することで取得される場合、サンプリングされたサブ領域は、サンプリングされた球マップを形成し、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにサンプリングされた球マップのイメージ内のサブ領域の位置およびサイズを含み、または、位置情報は、球マップのイメージ内のサブ領域の位置および緯度‐経度範囲並びにスプライシングされたイメージ内のサブ領域の位置およびサイズを含む。
可能な設計において、プライベートファイルは、さらに、ユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を表わすために用いられる情報を含んでよい。
可能な設計において、プライベートファイルは、さらに、ユーザの視角によってカバーされるサブ領域において表示される必要があることが好ましいサブ領域の個数を表わすために用いられる情報、表示される必要があることが好ましいサブ領域の番号に関する情報、二次的に表示されるサブ領域の番号に関する情報、および表示されないサブ領域の番号に関する情報を含む。
可能な設計において、経度‐緯度マップは、左目に対応する経度‐緯度マップおよび右目に対応する経度‐緯度マップを含み、分割ユニットは、左目に対応する経度‐緯度マップを、右目に対応する経度‐緯度マップから分離する、よう構成されている、および分割ユニットは、左目に対応する経度‐緯度マップに水平分割および垂直分割を実行し、且つ右目に対応する経度‐緯度マップに水平分割および垂直分割を実行する、よう構成されている。
可能な設計において、サーバは、さらに、送信ユニットを備え、送信ユニットは、端末に、サブ領域のエンコーディングされたイメージに対応するビットストリームを送信する、または端末によって送信された視角情報を受信し、視角情報に基づき、視角情報に対応するサブ領域を取得し、端末に、視角情報に対応するサブ領域のビットストリームを送信する、または端末によって送信されたサブ領域の番号を受信し、サブ領域の番号に対応するビットストリームを端末に送信する、よう構成されている。
可能な設計において、経度‐緯度マップは、360度パノラマビデオイメージの経度‐緯度マップ、または360度パノラマビデオイメージの経度‐緯度マップの一部である、または球マップは、360度パノラマビデオイメージの球マップ、または360度パノラマビデオイメージの球マップの一部である。
第5の態様によると、パノラマイメージの各サブ領域の位置情報を決定するよう構成された取得ユニットであって、取得ユニットは、さらに、各サブ領域の決定された位置情報に基づき、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を決定し、サブ領域の第1のサンプリング間隔を決定する、よう構成されており、取得ユニットは、さらに、現在の視角によってカバーされるサブ領域の決定された位置情報に基づき、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する、よう構成されている、取得ユニットと、ビットストリームをデコーディングして、現在の視角によってカバーされるサブ領域のイメージを取得するよう構成されたデコーディングユニットと、現在の視角によってカバーされるサブ領域の決定された位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングするよう構成された再サンプリングユニットと、再サンプリングされたイメージを再生するよう構成された再生ユニットと、を備える、端末が提供される。
可能な設計において、取得ユニットは、サーバによって送信された第1の情報を受信するよう構成されており、第1の情報は、パノラマイメージの各サブ領域のトラックおよび各サブ領域のビットストリームを含み、トラックは、パノラマイメージのすべてのサブ領域の位置情報を含む、および、取得ユニットは、さらに、トラックに基づき、パノラマイメージ内の各サブ領域の位置情報を取得する、よう構成されている。
可能な設計において、取得ユニットは、パノラマサーバによって送信されたメディアプレゼンテーションディスクリプション(MPD)を受信するよう構成されており、MPDは各サブ領域の位置情報を含み、または、MPDはプライベートファイルのアドレスを含み、且つプライベートファイルは各サブ領域の位置情報を含む、および、MPDを解析して、各サブ領域の位置情報を取得するよう構成されている。
可能な設計において、サブ領域の位置情報は、サブ領域に対応するビットストリームの補足拡張情報(SEI)内に存在する。
可能な設計において、取得ユニットは、端末のメモリから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する、またはサーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する、よう構成されている。
可能な設計において、取得ユニットは、現在の視角を示す情報をサーバに送信し、現在の視角によってカバーされるサブ領域に対応し、且つサーバによって送信されるビットストリームを受信するよう構成されている、または端末およびサーバによって予め設定されたプロトコルに従い、サーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得するよう構成されており、プロトコルは、視角と、視角によってカバーされるサブ領域との間の対応関係を含む。
可能な設計において、取得ユニットは、予め設定されたサンプリング間隔を第1のサンプリング間隔として決定する、または、第1のサンプリング間隔をサーバから受信する、よう構成生されている。
第6の態様によると、パノラマイメージの経度‐緯度マップまたは球マップのサブ領域のイメージに対応するビットストリームを格納するよう構成された格納ユニットであって、サブ領域は、パノラマイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行することで取得され、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、格納ユニットと、サブ領域のイメージに対応し、且つ端末によって要求される格納されたビットストリームの中で、現在の視角によってカバーされるサブ領域のビットストリームを端末に送信するよう構成された送信ユニットと、を備える、サーバが提供される。
可能な設計において、サブ領域に対応し、且つサーバに格納されるイメージがエンコーディングされる前に、イメージは、水平方向において第1のサンプリング間隔でサンプリングされ、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、または、イメージは、垂直方向において第2のサンプリング間隔でサンプリングされる。言い換えれば、ダウンサンプリングが高緯度のサブ領域に水平方向に実行される、すなわち、圧縮サンプリングが実行される。その結果、エンコーディング前に、高緯度のサブ領域において送信されるイメージのピクセル冗長性は低減可能で、これにより帯域幅を低減する。また、ダウンサンプリングが、エンコーディングおよび送信される必要のあるピクセル値を低減し、その結果、デコーディング側のデコーディング能力に対する要件が低減される。デコーディング複雑性が低減され、これにより、デコーディング速度が向上される。
別の態様において、本願の一実施形態は、上述のサーバによって用いられるコンピュータソフトウェア命令を格納するよう構成されたコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、上述の態様を実行するために設計されたプログラムを含む。
別の態様において、本願の一実施形態は、上述の端末によって用いられるコンピュータソフトウェア命令を格納するよう構成されたコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、上述の態様を実行するために設計されたプログラムを含む。
さらなる別の態様によると、本願の一実施形態は、命令を含むコンピュータプログラムプロダクトを提供する。命令がコンピュータ上で実行される場合、コンピュータは、上述の態様の方法を実行する。
本願の実施形態は、端末およびサーバに適用されるイメージ処理方法であって、処理されるべきイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行して、経度‐緯度マップまたは球マップのサブ領域を取得する段階であって、水平分割の分割位置は予め設定された緯度であり、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である、段階と、取得されたサブ領域のイメージをエンコーディングする段階と、を備える、方法が提供される。このように、従来技術と比較した場合、従来技術では、経度‐緯度マップが同一の分割間隔で均等に分割され、均等分割時の細分割の特性によってエンコーディングの低効率が生じ、エンコーディングされた後に送信中に大きな帯域幅を占有するという問題が生じる。本願においては、異なる緯度における少なくとも2つの垂直分割間隔に基づく、垂直分割を実行することにより、従来技術における均等および細分割の特性が回避される。本願において、垂直分割は、複数の垂直分割間隔で実行されてよく、その結果、複数のサイズのイメージのサブ領域が存在する。より大きな分割間隔は、より大きなサブ領域を示す。エンコーディング時のエンコーディング効率が向上され、エンコーディング後のサーバがビットストリームを端末に送信するときの占有帯域幅が低減される。
本願の一実施形態による360度パノラマイメージ信号の概略図である。
本願の一実施形態による、360度パノラマイメージ信号を経度‐緯度マップに変換する概略図である。
本願の一実施形態による、ネットワークアーキテクチャの概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、経度‐緯度マップを42個のサブ領域に分割する概略図である。
本願の一実施形態による、経度‐緯度マップを、50個のサブ領域に分割する概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、経度‐緯度マップの視点領域の概略図である。
本願の一実施形態による、視角によってカバーされるサブ領域の概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、端末のデコーディング表示プロセスの概略図である。
本願の一実施形態による、3D経度‐緯度マップのサブ領域分割の概略図である。
本願の一実施形態による、180°ハーフパノラマビデオ経度‐緯度マップの水平分割方式の概略図である。
本願の一実施形態による、3D 180°ハーフパノラマビデオ経度‐緯度マップのサブ領域分割方式の概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、イメージサブ領域を取得するために、球パノラマ信号を分割する方法の概略図である。
本願の一実施形態による、イメージ処理方法の概略フローチャートである。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、端末の概略構造図である。
本願の一実施形態による、端末の概略構造図である。
本願の一実施形態による、端末の概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
本願の一実施形態による、サーバの概略構造図である。
理解しやすいように、以下に示されるような、本願に関するいくつかの概念の例示的な説明を参考のために示す。
パノラマビデオ:360度パノラマビデオまたは360ビデオとも称されるVRパノラマビデオとは、360度全方位方式で、複数のカメラを用いて撮影されたビデオである。ユーザがビデオを見るとき、ユーザは積極的にビデオの方向を調整し得る。
3Dパノラマビデオ:3DフォーマットのVRパノラマビデオである。当該ビデオは、2つの360度パノラマビデオを含む。一方は左目に用いられ、他方は右目に用いられる。2つのビデオは、同一フレーム内で、左目および右目に対し表示されるコンテンツにいくつかの差異を有し、その結果、ユーザは視認中に3D効果が得られる。
経度‐緯度マップ:正距円筒図法(Equirectangular Projection,ERP)、パノラマイメージフォーマット、球信号を同一の経度間隔および同一の緯度間隔で均等にサンプリングおよびマッピングすることで取得され、且つ格納および送信のために用いられ得る二次元パノラマイメージ。緯度および経度を用いて、イメージの水平座標および垂直座標がそれぞれ表されてよい。幅方向は、360°のスパンを持つ経度で表されてよく、高さ方向は180°のスパンを持つ緯度で表わされてよい。
ビデオデコーディング(video decoding):ビデオビットストリームを、特定の構文ルールおよび処理方法に従い、再構築イメージに復元する処理プロセスである。
ビデオエンコーディング(video encoding):イメージシーケンスをビットストリームに圧縮する処理プロセスである。
ビデオコーディング(video coding):ビデオエンコーディングおよびビデオデコーディングの総称である。ビデオコーディングの中国語に翻訳された用語は、ビデオエンコーディングの用語と同一である。
タイル:ビデオエンコーディング標準、すなわち、エンコーディングされるべきイメージを、高効率ビデオコーディング(High Efficiency Video Coding,HEVC)で分割して取得されたブロックエンコーディング領域である。イメージの1フレームが、複数のタイルに分割されてよく、複数のタイルがイメージのフレームを形成する。各タイルは、個々にエンコーディングされてよい。本願におけるタイルは、動き拘束タイルセット(motion−constrained tile set,MCTS)技術を用いるタイルであってよい。
MCTSは、動き制限タイルセットであり、タイルのためのエンコーディング技術である。当該技術は、エンコーディング中に、タイル内の動きベクトルを制限し、その結果、イメージシーケンス内の同一の位置におけるタイルは、時間領域において、タイルの領域位置外のイメージピクセルを参照せず、従って、時間領域において各タイルは、個々デコーディングされてよい。
サブピクチャ(sub−picture)は、イメージ全体を分割して取得されたオリジナルイメージの一部である。本願において、サブピクチャは、形状が正方形のサブピクチャであってよい。
イメージサブ領域:本願のイメージサブ領域は、タイルまたはサブピクチャの総称として用いられてよく、省略して、サブ領域と称されてよい。
VDCは、視角ベースのビデオエンコーディングであり、パノラマビデオエンコーディングのためのエンコーディングおよび送信技術、すなわち、端末上でユーザの視角に基づき、エンコーディングおよび送信する方法である。
タイル単位エンコーディングは、ビデオエンコーディング方式であり、イメージシーケンスが複数のイメージサブ領域に分割され、すべてのサブ領域が別個にエンコーディングされて、1または複数のビットストリームを生成する処理である。本願においてタイル単位エンコーディングとは、VDCにおけるタイル単位エンコーディングであってよい。
トラックは、時間属性を有し、且つ国際標準化機構(International Standards Organization,ISO)ベースメディアファイルフォーマット(ISO base media file format,ISOBMFF)に基づくカプセル化方式である、一連のサンプルである。例えば、ビデオトラック、すなわち、ビデオサンプルは、各フレームがビデオエンコーダによってエンコーディングされた後、生成されたビットストリームであり、ISOBMFFの仕様に従い、すべてのビデオサンプルはカプセル化されて、サンプルを生成する。
ボックスは、「ボックス」として翻訳されてよく、当該標準におけるオブジェクト指向の構築ブロックであり、一意のタイプの識別子および長さで定義される。ボックスは、いくつかの仕様では、「原子」と称され得、MP4の第1の定義を含む。ボックスは、ISOBMFFファイルの基本単位であり、ボックスは他のボックスを含み得る。
補足拡張情報(supplemental enhancement information,SEI)は、ビデオエンコーディングおよびデコーディング標準(h.264,h.265)で定義されたネットワークアクセスユニット(Network Access Layer Unit,NALU)のタイプである。
MPDは、ISO/IEC 23009−1標準で規定された文書であり、当該文書は、クライアントによって構築されたハイパーテキスト転送プロトコル(HyperText Transfer Protocol,HTTP)‐ユニフォームリソースロケータ(Uniform Resource Locator,URL)のメタデータを含む。MPDは、1または複数の期間(period)要素を含む。各期間要素は、1または複数の適応セット(adaptationset)を含む。各適応セットは、1または複数の表現(representation)を含み、各表現は、1または複数のセグメントを含む。クライアントは、MPD内の情報に基づき、表現を選択し、セグメントのHTTP‐URLを構築する。
ISO基本メディアファイルフォーマットは、一連のボックスを含む。他のボックスが、ボックス内に含まれてよい。これらのボックスは、メタデータボックスおよびメディアデータボックスを含み、メタデータボックス(moov box)はメタデータを含み、メディアデータボックス(mdat box)は、メディアデータを含む。メタデータボックスおよびメディアデータボックスは、同一ファイル内にあってよく、または、異なるファイル内にあってもよい。
本願の実施形態は、パノラマビデオまたはパノラマビデオの一部のエンコーディング前の処理、およびエンコーディングされたビットストリームがカプセル化されるプロセスに適用可能であってよく、サーバおよび端末の両方における対応する動作および処理を含む。
図3に示される通り、本願のネットワークアーキテクチャは、サーバ31および端末32を含んでよい。また、撮影デバイス33がサーバ31と通信してよく、撮影デバイスは360度パノラマビデオを撮影し、ビデオをサーバ31に送信するよう構成されてよい。サーバは、パノラマビデオにプレエンコーディング処理を実行した後、エンコーディングまたは送信操作を実行し、その後、エンコーディングされたビットストリームを転送可能なファイルにカプセル化して、当該ファイルを端末またはコンテンツ配信ネットワークへ送信してよい。サーバは、さらに、端末によってフィードバックされた情報(例えば、ユーザの視角)に基づき、信号送信のために送信される必要のあるコンテンツを選択してよい。端末32は、VRグラス、モバイルフォン、タブレットコンピュータ、テレビまたはコンピュータ等の、ネットワークに接続されてよい電子デバイスであってよい。端末32は、サーバ31によって送信されたデータを受信し、デコーディング後に、ビットストリームカプセル解除および表示等を実行してよい。
本願は、経度‐緯度マップに基づき、イメージが均等に分割される場合に生じる、エンコーディングおよび送信の帯域幅が無駄になること、デコーディング能力およびデコーディング側の速度が制限されるという問題を解決するための、イメージ処理方法を提供する。方法は、イメージの複数のサブ領域、並びに対応するエンコーディング、送信およびデコーディング表示モードに基づく、経度‐緯度マップのタイル単位分割および処理方法であってよい。本願のこの実施形態においては、経度‐緯度マップの水平経度範囲は、0〜360°として決定され、垂直緯度範囲は、−90°から90°である。負の数は南緯を表わし、正の数は北緯を表わす。図4に示される通り、方法は、以下の段階を含んでよい。
エンコーディング前の処理
401.サーバが、処理されるべきイメージの経度‐緯度マップに水平分割を実行し、水平分割の分割位置は予め設定された緯度である。
イメージは、ビデオの複数のシーケンスイメージであってよい。
例えば、撮影デバイスによって収集されたビデオに基づき、サーバは、ビデオの経度‐緯度マップを取得する。図5の(a)に示される通り、サーバは、経度‐緯度マップの垂直方向において、緯度−60°、緯度−30°、緯度0°、緯度30°および緯度60°に緯線を別個に描画し、経度‐緯度マップを水平方向に分割する。図5の(a)において、Xが緯度の値を表わすために用いられ、経度‐緯度マップの赤道では、緯度の値は0°である。経度‐緯度マップは、北緯90°および南緯90°の間で、水平分割間隔30°で、北緯30°および北緯60°で水平方向に分割され、南緯−60°および南緯−30°で水平方向に分割される。また、分割間隔は、分割のステップ(距離)として理解されてもよい。
402.サーバは、経度‐緯度マップの各サブ領域を取得すべく、処理されるべきイメージの経度‐緯度マップに垂直分割を実行し、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である。
可能な実装において、垂直分割が実行される場合、異なる緯度間の垂直分割間隔は、経度‐緯度マップの南緯において異なってよく、ある南緯と対応する北緯との間の垂直分割間隔は同一であってよい。垂直分割の分割位置より高い緯度は、より大きな垂直分割間隔を示し、または、垂直分割間隔は、異なる緯度間で同一である。
例えば、水平分割の分割位置に関し、南緯−90°から−60°の緯度範囲および北緯60°から90°の緯度範囲のサブピクチャに対し、経度120°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、3個のサブ領域を取得してよい。−60°から−30°の緯度範囲および30°から60°の緯度範囲のサブピクチャに対し、経度60°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、6個のサブ領域を取得する。−30°から0°の緯度範囲および0°から30°の緯度範囲のサブピクチャに対し、経度30°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、12個のサブ領域を取得する。このように、図5の(a)に示される通り、経度‐緯度マップ全体のサブ領域分割が完了した後、合計42個のサブ領域が取得される。垂直分割間隔は、120°の経度、60°の経度および30°の経度を含む。
サブピクチャが分割される上述の方式とは異なる別の可能な実装においては、経度‐緯度マップは、50個のサブ領域に分割されてよい。例えば、−90°から−60°および60°から90°の緯度範囲のサブピクチャに対し、垂直分割は実行されず、単一のサブ領域が保持され、−60°から−30°および30°から60°の緯度範囲のサブピクチャに対し、30°の経度がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、12個のサブ領域を取得する。−30°から0°および0°から30°の緯度範囲のサブピクチャに対し、経度30°がサブピクチャを垂直方向に分割するための垂直分割間隔として用いられて、12個のサブ領域を取得する。このように、図6の(a)に示される通り、経度‐緯度マップ全体が分割された後、合計50個のサブ領域が取得される。分割のステップは、30°の経度および0°の経度を含む。分割のステップが0°である場合、サブピクチャに対し、垂直分割が実行されないことを示す。
403.サーバは、取得されたサブ領域のイメージをエンコーディングする。
従って、エンコーディングの低効率を生じさせる均等な細分割の特性、およびエンコーディング後に送信する際、大きな帯域幅を占める問題は、本願における、異なる緯度間における少なくとも2つのタイプの垂直分割間隔に基づき、垂直分割を実行することで回避できる。経度‐緯度マップは、複数の垂直分割間隔に基づき分割されてよく、その結果、複数のサイズのサブ領域が存在し、より大きな垂直分割間隔はより大きなサブ領域を示す。例えば、垂直分割の分割位置より高い緯度は、より大きな垂直分割間隔およびより大きなサブ領域を示す。エンコーディング中のエンコーディング効率が向上され、エンコーディング後に、端末にビットストリームを送信するためにサーバが占有する帯域幅は低減される。
さらに、デコーディング側、すなわち、端末にとっては、経度‐緯度マップを均等に分割する既存の方式では、端末によって取得される冗長ピクセルの数が比較的大きく、端末の最大デコーディング能力の要件も高まり、デコーディング速度にとって大きな課題が存在する。本願においてはこの問題について、不均等な分割が実行された後に取得されたサブ領域内のピクセルに対し、冗長性解除、すなわちダウンサンプリングが実行されてよい。この場合、エンコーディングおよび送信される必要のあるピクセルが低減され、デコーディング側に要求される最大デコーディング能力が低減され、デコーディング複雑性が低減し、デコーダのデコーディング速度が向上する。従って、図7に示される通り、段階403の前に、本願の実装方法は、さらに、以下の段階を含んでよい。
404.サーバが、垂直方向において、サブ領域のイメージにオリジナルサンプリングを実行する、または、垂直方向において、第2のサンプリング間隔でサブ領域のイメージをサンプリングする。
例えば、図5の(a)または図6の(a)に示される経度‐緯度マップを分割して取得される各サブ領域について、オリジナルサンプリングは、各サブ領域のイメージを垂直方向において変化しないよう維持するもの、スケーリング処理を実行しないもの、または処理を実行しないものとして理解されてよい。サンプリングは、第2のサンプリング間隔で実行される。例えば、ダウンサンプリングは、垂直方向において、各サブ領域全体に実行される。これはまた、サブ領域の特定の高さに基づき、垂直方向においてサンプリングが実行されるものとして理解されてもよい。
405.サーバが、水平方向において、第1のサンプリング間隔でサブ領域のイメージをサンプリングし、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す。
第1のサンプリング間隔および第2のサンプリング間隔は、サーバ側で予め設定されてよく、第1のサンプリング間隔および第2のサンプリング間隔は同一または異なってよい。第1のサンプリング間隔は、スケーリング係数の逆数として理解されてよく、すなわち、スケーリングされたイメージを取得すべく、1ピクセルが複数のピクセルからサンプリングされる。
例えば、図5の(a)に示される経度‐緯度マップでは、サブピクチャの−90°から−60°の緯度範囲および60°から90°の緯度範囲に水平方向にダウンサンプリングが実行され、第1のサンプリング間隔は4個であり、すなわち、1ピクセルがすべての4ピクセルからサンプリングされ、スケーリング係数は1/4である。サブピクチャの−60°から−30°の緯度範囲および30°から60°の緯度範囲に水平方向にもダウンサンプリングが実行され、スケーリング係数は1/2である。サブピクチャの−30°から0°の緯度範囲および0°から30°の緯度範囲には、水平方向のスケーリングは実行されない。最終的に取得されるサンプリングされたイメージが、図5の(b)に示されている。図5の(b)は、図5の(a)に、ダウンサンプリングが垂直方向ではなく、水平方向のみに実行された後に取得されたイメージであることに留意されたい。この例では、水平サンプリング中に、第1のサンプリング間隔は、緯度に比例する。言い換えれば、北緯イメージのサブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示す。同様に、南緯イメージのより高い緯度は、より大きな第1のサンプリング間隔を示す。南緯イメージおよび北緯イメージについて、同一の緯度に対応するサンプリング間隔は同一である。
別の例では、図6の(a)に示される経度‐緯度マップについては、ダウンサンプリングが垂直方向に実行される図5の(b)の概略図と比較して、経度‐緯度マップに分割およびスケーリングが実行された後に取得されるサブ領域のサイズは、異なる緯度間で不均等であってよい。このように、図5の(b)のスケーリングされたサブ領域のサイズが同一であるという制約が壊されてよく、従って、エンコーディングおよび送信時のサーバのエンコーディングおよび送信効率が向上される。具体的には、図6の(a)に示される経度‐緯度マップについては、−90°から−60°の緯度範囲および60°から90°の緯度範囲のサブピクチャは垂直方向において変更されず、そこに対し、ダウンサンプリングが、水平方向において、あるサンプリング間隔で実行され、スケーリング係数は1/4である。−60°から−30°の緯度範囲および30°から60°の緯度範囲のサブピクチャは垂直方向において変更されず、そこに対し、ダウンサンプリングが、水平方向において実行され、スケーリング係数は7/12である。−30°から0°の緯度範囲および0°から30°の緯度範囲のサブピクチャには、スケーリングが実行されず、すなわち、スケーリングは、垂直方向にも水平方向にも実行されない。最終的に取得されるスケーリングされたイメージは、図6の(b)に示される。
随意で、スケーリングされた経度‐緯度マップは、図5の(b)および図6の(b)に示される通り不規則である。従って、本願では、スケーリングされたサブ領域は再配置および結合されて、予め設定されたイメージを形成してよい。従って、方法は、さらに、以下の段階を含んでよい。
406.サーバが、サンプリングされたサブ領域の位置を調整し、調整されたサブ領域のイメージによってスプライシングされたイメージの水平エッジおよび垂直エッジがそれぞれ揃うようにする。
例えば、図5の(b)に示される経度‐緯度マップに対し、位置調整されたイメージが、図5の(c)に示されてよい。
段階403は、次と置換されてよい。
407.サーバが、サンプリングされたサブ領域のイメージをエンコーディングする。
例えば、サブ領域に分割およびスケーリングが実行された後に取得された図5の(b)中の42個のサブ領域において、または図5の(c)中の再結合された42個のサブ領域において、各サブ領域はエンコーディングされてよい。2つのエンコーディング方式が存在してよい。(1)サブピクチャエンコーディング方式、すなわち、各サブピクチャシーケンスを別個にエンコーディングして、42個のサブビットストリームを生成する。すなわち、各サブピクチャは1個のビットストリームに対応する。サブピクチャは、上述のサブ領域であってよく、すなわち、42個のサブ領域を別個にエンコーディングして、各サブ領域に対応するビットストリームを取得する。(2)タイル(tile)モードエンコーディングをイメージ全体に実行する。格納用のイメージ全体の単一のビットストリームを生成すべく、エンコーディング中にMCTS技術が用いられてよく、または、単一のビットストリームが分割されて、格納用の42個のサブビットストリームが取得される。ここでのイメージ全体は、図5の(b)に示される通り、ソース経度‐緯度マップがサンプリングおよびスケーリングされた後に取得されたイメージであってよく、または、図5の(c)に示される通り、サンプリングおよびスケーリングされたイメージを再結合した後に取得された規則的イメージであってよい。
イメージをエンコーディングした後、サーバは、さらに、各エンコーディングされたサブ領域のビットストリームをカプセル化する必要がある。従って、方式は、さらに、以下の段階を含んでよい。
408.サーバが、各エンコーディングされたサブ領域のイメージに対応するビットストリームを個々にカプセル化し、各サブ領域の位置情報をエンコーディングする。
サーバは、すべてのサブ領域のビットストリームを1つのトラック、すなわち、trackにカプセル化してよい。例えば、ビットストリームは、タイルトラックにカプセル化され、または、ビットストリームに対応するトラックにそれぞれカプセル化されてよい。サブ領域の位置情報は、サブ領域分割方式の記述情報として理解されてよく、すべてのサブ領域のエンコーディングされた位置情報およびすべてのサブ領域のビットストリームが同一のトラックに存在してよい。または、各サブ領域のエンコーディングされた位置情報およびビットストリームが、位置情報のトラックおよびビットストリームのトラックにそれぞれ存在する。または、すべてのサブ領域のエンコーディングされた位置情報が、メディアプレゼンテーションディスクリプション(MPD)内に存在する。または、すべてのサブ領域のエンコーディングされた位置情報がプライベートファイル内に存在してよく、プライベートファイルのアドレスはMPD内に存在する。または、各サブ領域のエンコーディングされた位置情報が各サブ領域のビットストリームの補足拡張情報(SEI)内に存在する。本願において、サブ領域の位置情報の格納方式は、限定されるものではない。
処理されるべきイメージの経度‐緯度マップに水平分割および垂直分割を実行することで、サブ領域が取得される場合、サンプリングされたサブ領域が、サンプリングされた経度‐緯度マップを形成し、位置情報は、経度‐緯度マップのサブ領域の位置およびサイズ並びにサンプリングされた経度‐緯度マップのサブ領域の位置およびサイズを含む。または、位置情報は、経度‐緯度マップのサブ領域の位置およびサイズ並びにスプライシングされたイメージのサブ領域の位置およびサイズを含む。サイズは、幅および高さを含んでよい。
以下に、上述のサブ領域の位置情報の様々な格納方式について別個に説明する。
方式1:すべてのサブ領域の位置情報は、1つのトラック内に格納される。すべてのサブ領域分割方式の記述情報が、スプライシングされたイメージのトラックに追加されてよい。例えば、以下の構文が、スプライシングされたイメージのトラックのmoovボックスに追加される。
RectRegionPacking (i)は、i番目のサブ領域の分割情報を記述する。
proj_reg_width[i]およびproj_reg_height[i]は、ソースイメージ、すなわち、サンプリング前の経度‐緯度マップ(例えば、図5の(a))におけるサンプリングされたイメージ内のi番目のサブ領域の対応する幅および対応する高さ、例えば、図5の(a)における図5の(b)にあるサブ領域の対応する幅および対応する高さを記述する。例えば、幅3840および高さ1920の経度‐緯度マップの場合、ソースイメージの図5の(b)中の左上隅の第1のサブ領域の幅および高さは、(1280,320)である。
proj_reg_top[i]およびproj_reg_left[i]は、ソースイメージにおけるサンプリングされたイメージ内のi番目のサブ領域の左上隅にあるピクセルの対応する位置、例えば、図5の(a)における図5の(b)にあるサブ領域の左上ポイントの対応する位置を記述する。例えば、ソースイメージの図5の(b)の左上隅にある第1のサブ領域の位置は、(0,0)である。当該位置は、ソースイメージの左上隅を座標(0,0)として用いて取得される。
transform_type[i]は、サンプリングされたイメージ内のi番目のサブ領域が、ソースイメージ内の対応する位置から変換されたことを記述する。例えば、i番目のサブ領域は、ソースイメージ内の対応する領域に、以下の操作を実行することで取得される。保持/90度回転/180度回転/270度回転/水平ミラーリング/水平ミラーミング後の90度回転/水平ミラーリング後の180度回転/水平ミラーリング後の270度回転。
packed_reg_width[i]およびpacked_reg_height[i]は、結合された規則的イメージにおけるサンプリングされたイメージ内にあるi番目のサブ領域の幅および高さ、すなわち、図5の(c)中のサブ領域の幅および高さを記述する。例えば、図5の(b)中の左上隅にある第1のサブ領域の幅および高さは、結合された規則的イメージ内の(320,320)である。段階406が実行されない場合、サブ領域が結合された後に取得されるイメージは、図5の(b)であり、幅および高さは、図5の(b)中の幅および高さであることに留意されたい。
packed_reg_top[i]およびpacked_reg_left[i]は、サブ領域が結合された後に取得される規則的イメージ内のサンプリングされたイメージのi番目のサブ領域の左上隅にあるピクセルの相対位置、すなわち、図5の(c)中の各サブ領域の左上ポイントを記述する。段階406が実行されない場合、サブ領域が結合された後に取得されるイメージは、図5の(b)であり、位置は、図5の(b)中の位置であることに留意されたい。
方式2:各サブ領域の位置情報がサブ領域に対応するトラック内に格納される場合、対応するサブ領域分割方式は、タイルトラック内に記述されてよい。具体的には、以下の構文が、タイルトラック内のmoovボックスに追加されてよい。
track_xおよびtrack_yは、サブ領域が結合された後に取得される規則的イメージ内の現在のトラックのサブ領域の左上隅にあるピクセルの位置、すなわち、図5の(c)中の現在のサブ領域の左上ポイントを記述する。
track_widthおよびtrack_heightは、サブ領域が結合された後に取得される規則的イメージ内の現在のトラックのサブ領域の幅および高さ、すなわち、図5の(c)中の現在のサブ領域の幅および高さを記述する。
composition_widthおよびcomposition_heightは、サブ領域が結合された後に取得される規則的イメージの幅および高さ、すなわち、図5の(c)中のイメージの幅および高さを記述する。
proj_tile_xおよびproj_tile_yは、ソースイメージ内の現在のトラックのサブ領域の左上隅にあるピクセルの位置、すなわち、図5の(a)中の現在のサブ領域の左上ポイントを記述する。
proj_tile_widthおよびproj_tile_heightは、ソースイメージ内の現在のトラックのサブ領域の幅および高さ、すなわち、図5の(a)中の現在のサブ領域の幅および高さを記述する。
proj_widthおよびproj_heightは、ソースイメージの幅および高さ、すなわち、図5の(a)中のイメージの幅および高さを記述する。
方式3:すべてのサブ領域の位置情報は、MPD内に格納される、すなわち、サブ領域分割方式が、MPDに記述される。
MPD内の構文は以下の通りであってよい。
方式3の構文では、<value="0,1280,0,1280,320,3840,1920"/>の意味は以下の通りである。最初の0はソース識別子を表わし、同一のソース識別子が同一のソース、すなわち、同一のソースイメージを表わす。"1280,0"はソースイメージ内の現在の表現のサブ領域の左上位置の座標を表わす。"1280,320"は現在の表現のサブ領域の幅および高さを表わす。"3840,1920"は、ソースイメージの幅および高さを表わす。
上述のMPDでは、ソースビデオイメージ内のサブ領域に対応するビットストリーム内に存在するイメージの位置を記述するために、2Dイメージが用いられる。随意で、ソースイメージ内のサブ領域の位置は、球座標を用いて表されてよい。例えば、上述の値における情報は、球情報、例えば、値= "0,0,30,0,120,30"に変換される。具体的な意味は以下の通りである。最初の0はソース識別子を表わし、同一のソース識別子値が同一のソースを表わす。"0,30,0"は、球上のサブ領域に対応する領域の中央ポイントの座標(ヨー角、ピッチ角、および回転角)を表わす。"120,30"は、サブ領域の幅角および高さ角を表わす。
方式4:すべてのサブ領域の位置情報はプライベートファイル内に格納され、プライベートファイルのアドレスは、MPD内に格納される。言い換えれば、サブ領域分割の記述情報を格納するプライベートファイルのアドレスは、MPD内でファイルリンクを指定することで、MPD内に書き込まれる。
構文は、以下の通りであってよい。
方式4では、サブ領域の分割情報は、プライベートファイルtile_info.dat内に格納される。ファイル内に格納されるサブ領域分割情報のデータは、ユーザによって指定されてよく、これは本明細書で限定されるものではない。例えば、格納されたコンテンツは、以下の方式のうちの1つで格納されてよい。
上述のデータは、以下の意味を示す。
tile_numは、分割されたサブ領域の個数を表わす。
pic_widthは、ソースイメージの幅、すなわち、図5の(a)中のイメージの幅を表わす。
pic_heightは、ソースイメージの高さ、すなわち、図5の(a)中のイメージの高さを表わす。
comp_widthは、サブ領域が結合された後に取得される規則的イメージの幅、すなわち、図5の(c)中のイメージの幅を表わす。
comp_heightは、サブ領域が結合された後に取得される規則的イメージの高さ、すなわち、図5の(c)中のイメージの高さを表わす。
tile_pic_width[]は、ソースイメージ中の各サブ領域の幅を表わすアレイであり、要素の個数は、tile_num 値であるべきである。
tile_pic_height[]は、ソースイメージ中の各サブ領域の高さを表わすアレイであり、要素の個数は、a tile_num値であるべきである。
tile_comp_width[]は、サブ領域が結合された後に取得される規則的イメージ内の各サブ領域の幅を表わすアレイであり、要素の個数は、tile_num値であるべきである。
tile_comp_height[]は、サブ領域が結合された後に取得される規則的イメージ内の各サブ領域の高さを表わすアレイであり、要素の個数は、tile_num値であるべきである。
方式4では、プライベートファイルのユニフォームリソースロケータ(Uniform Resource Locator,URL)が、新しいEssentialProperty属性Tile@値を指定することで、MPDに書き込まれる。Tile@valueの属性記述が、表1に示されてよい。端末がビデオコンテンツを要求したとき、プライベートファイルが、要素を解析することで取得され、サブ領域分割方式および位置等の情報を取得する。
方式5:各サブ領域の位置情報が、各サブ領域のビットストリームの補足拡張情報SEI内に格納される。すなわち、サブ領域の位置情報をビットストリームのSEIに書き込むことで、サブ領域を送信する分割方式である。イメージ内のサブ領域の分割情報に基づき、SEI構文要素の設定が表2に示されてよい。
表2中、新しいタイプ155がSEIタイプに追加され、現在のビットストリームがサブ領域ビットストリームであることを示し、information tile_wise_mapping_info (payloadSize)が追加され、含まれる構文要素の意味は、以下の通りである。
src_pic_widthは、ソースイメージの幅、すなわち、図5の(a)中のイメージの幅を表わす。
src_pic_heightは、ソースイメージの高さ、すなわち、図5の(a)中のイメージの高さを表わす。
src_tile_xは、ソースイメージ上の現在のサブ領域の左上隅の水平座標、すなわち、図5の(a)中の現在のサブ領域の水平座標を表わす。
src_tile_yは、ソースイメージ上の現在のサブ領域の左上隅の垂直座標、すなわち、図5の(a)中の現在のサブ領域の垂直座標を表わす。
src_tile_widthは、ソースイメージ上の現在のサブ領域の幅を表わす。
src_tile_heightは、ソースイメージ上の現在のサブ領域の高さを表わす。
packed_pic_widthは、サブ領域が結合された後に取得される規則的イメージの幅、すなわち、図5の(c)中のイメージの幅を表わす。
packed_pic_heightは、サブ領域が結合された後に取得される規則的イメージの高さ、すなわち、図5の(c)中のイメージの高さを表わす。
packed_tile_xは、結合された規則的イメージ上の現在のサブ領域の左上隅の水平座標、すなわち、図5の(c)中の現在のサブ領域の水平座標を表わす。
packed_tile_yは、結合された規則的イメージ上の現在のサブ領域の左上隅の垂直座標、すなわち、図5の(c)中の現在のサブ領域の垂直座標を表わす。
packed_tile_widthは、結合された規則的イメージ上の現在のサブ領域の幅を表わす。
packed_tile_heightは、結合された規則的イメージ上の現在のサブ領域の高さを表わす。
また、本願において、上述の方式4が拡張されてよく、MPD内で、サブ領域の位置情報を格納するプライベートファイルのURLが新しい要素を用いて指定されてよい。
拡張方式4:サブ領域分割情報を格納するプライベートファイルのアドレスが、MPD内でファイルリンクを指定することで、MPDに書き込まれる。構文は以下の通りであってよい。
拡張方式4では、サブ領域の位置情報がプライベートファイルtile_info.dat内に格納され、UserdataURL要素を含む構文要素<UserdataList>(表3を参照)が追加され、プライベートファイルがMPD内に書き込まれる。端末がビデオコンテンツを要求する場合、<UserdataList>を解析することで、プライベートファイルが取得され、サブ領域分割方式および位置等の情報が取得される。
上述の方式4におけるサブ領域分割方式の記述情報は、拡張されてよい。拡張は、送信されるプライベートファイルtile_info.dat内のコンテンツに対してであり、ユーザの視角と要求されるサブ領域との間の関係テーブルが追加され、その結果、端末は、対応するサブ領域ビットストリームをより迅速に要求できる。言い換えれば、プライベートファイルは、さらに、ユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を表わすために用いられる情報を含んでよい。
この例では、プライベートファイルtile_info.datについて、サブ領域分割情報コンテンツは変更されないままであり、ユーザの視角と、要求されるサブ領域との間の関係テーブル、およびユーザの視点と、ユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係が追加される。例えば、格納されたコンテンツは、以下の方式のうちの1つであってよい。
方式4と比較した場合、追加されたデータは、deg_step_latitude、deg_step_longitude、view_tile_num、およびviewport_table[][]のそれぞれであり、データの意味は以下の通りである。
deg_step_latitudeは、緯度方向において分割された視点領域のステップを表わし、ステップは、−90°から90°の緯度範囲を、複数の視点領域に分割する。視点領域は、経度‐緯度マップ上の視点の領域範囲である。同一の視点領域において、端末によって取得される、且つ視点領域をカバーするイメージのサブ領域ビットストリームは同一である。図8に示される通り、経度‐緯度マップ全体が9個の視点領域に分割される。図8中、視点1および視点2の両方が第5の視点領域に所属し、視点領域5の中央の視点がマークされる。視点領域5の範囲内のすべての視点について、対応する視角カバレッジ範囲は、中央の視点に対応する視角によってカバーされる範囲として計算される。
deg_step_longitudeは、緯度方向において分割された視点領域のステップを表わし、ステップは、0°から360°の経度範囲を、複数の視点領域に分割する。deg_step_latitudeおよびdeg_step_longitudeの両方が、視点領域の個数を決定する。
view_tile_numは、単一の視角が変更されるとき、カバー可能な最大サブ領域数を表わす。
viewport_table[][]は、視点領域と視点領域によってカバーされるイメージサブ領域の番号との間の関係テーブルを格納するために用いられるアレイである。テーブル内のデータ合計数は、view_tile_numを乗じた視点領域の個数であるべきである。
データテーブルviewport_table[][]の例示的な格納方式は以下の通りである。
テーブル内の視点領域の個数は100であり、view_tile_num = 18である。データテーブル内の各行の18個の番号が、視点の視角によってカバーされるサブ領域の番号を表わす。数値0は、18個未満のサブ領域が視角をカバーし得ること、空値は0で埋められることを示す。例えば、図9に示される視点は、緯度0°および経度150°の視角で位置づけられ、カバーされるサブ領域は、番号5、6、7、13、14、15、16、25、26、27、28、35、36、37であり、データテーブル内の値は、5,6,7,13,14,15,16,25,26,27,28,35,36,37,0,0,0,0として表される。このように、これらの値を取得した後、端末は、現在の視点に基づき、対応するテーブル内のサブ領域の番号を探すのみでよく、対応関係に従い、計算をすることなく、デコーディング表示のためのこれらの番号に対応するサブ領域ビットストリームを直接要求してよく、これにより、端末の処理速度を加速させる。
上述のプライベートファイルが、ユーザの視点とユーザの視点の視角によってカバーされるサブ領域の番号との間の対応関係を含むことに基づき、本願のこの実施形態では、視角最適化のために示されるフラグデータが、上述のプライベートファイルtile_info.datに追加されてよい。これに相応して、データテーブルviewport_table[][]内のデータの配置も、最適化された形態で生成されてよい。言い換えれば、現在の視点により近接するサブ領域は、サブ領域の番号が、現在の視点に対応する行の前方位置に現れることを示す。
この例において、プライベートファイルは、さらに、ユーザの視角によってカバーされるサブ領域において、表示される必要があることが好ましいサブ領域の個数を表わすために用いられる情報、表示される必要があることが好ましいサブ領域の番号に関する情報、二次的に表示されるサブ領域の番号に関する情報、および表示されないサブ領域の番号に関する情報を含む。プライベートファイルfile tile_info.datについては、格納されたコンテンツは、以下の方式のうちの1つであってよい。
新しく追加されたデータは、priority_view_tile_numであり、データの意味は、現在の視点において表示される必要があることが好ましいサブ領域の個数である。これに相応して、テーブルviewport_table[][]内のデータ配置は修正され、現在の視点に近接するサブ領域は、現在の視点に対応する行の前に配置され、以下に示す通りになる。
テーブルに示される通り、図9中に示される緯度0°および経度150°の視角に位置する視点に対応し、テーブル内のデータは、14, 15, 26, 27, 13, 6, 16, 28, 36, 25, 5, 7, 35, 37, 0, 0, 0, 0に変更され、視点に比較的近接するサブ領域の番号:4, 15, 26, 27が前方に配置され、視点から比較的遠いサブ領域の番号13, 6, 16, 28, 36, 25:が中央に配置され、最も遠いサブ領域の番号: 5, 7, 35, 37が後方に配置される。好ましくは、視点に近接するサブ領域が表示され、好ましくは、視点から比較的遠いサブ領域が表示されず、二次的に表示されてよい。上述の動作の利点は、何らかの理由(例えば、不安定なネットワーク)により、すべてのサブ領域のすべてのビットストリームが取得できない、または、取得される必要がない場合、表示されることが好ましい視点に近接するサブ領域が取得されることが好ましくてよく、表示されることが好ましくないサブ領域のイメージデータは、破棄される。
上述のサーバがプレエンコーディング処理、エンコーディングおよびカプセル化を実行した後、端末は、デコーディング表示のために、カプセル化されたビットストリームを取得してよい。従って、図10に示される通り、本願のこの実施形態における方法は、さらに、以下の段階を含んでよい。
101.端末は、パノラマイメージの各サブ領域の位置情報を決定する。
可能な実装において、端末は、サーバによって送信された第1の情報を受信してよく、第1の情報は、パノラマイメージの各サブ領域のトラックおよび各サブ領域のビットストリームを含み、当該トラックは、パノラマイメージのすべてのサブ領域の位置情報を含む。端末は、パノラマイメージ内の各サブ領域の位置情報を、当該トラックに基づく解析を通して取得する。トラックは、上述の方式1において結合されたイメージのトラックであってよく、端末は、結合されたイメージのトラック内のRectRegionPacking(i)で定義された構文を解析することで、すべてのサブ領域の位置情報を解析してよい。
代替的に、サブ領域の位置情報について、端末は、サブ領域の位置情報が格納される上述の方式2に従い、各サブ領域に対応するトラック内の各サブ領域、すなわち、タイルトラックの位置情報を格納してよい。端末は、各タイルトラック内のSubPictureCompositionBoxで定義された領域を解析することで、現在のサブ領域の位置情報を取得してよい。
代替的に、端末は、サーバによって送信されたMPDを受信してよく、MPDは、各サブ領域の位置情報を含む、または、MPDは、プライベートファイルのアドレスを含み、プライベートファイルは各サブ領域の位置情報を含む。端末は、各サブ領域の位置情報を取得すべく、MPDを解析する。
代替的に、端末は、まず、各サブ領域に対応するビットストリームを取得してよく、サブ領域の位置情報は、サブ領域に対応するSEI内に存在してよい。言い換えれば、端末がサブ領域の必要なビットストリームを要求する際、ビットストリーム内のSEIに基づき、サブ領域の位置情報を取得してよい。
102.端末は、各サブ領域の決定された位置情報に基づき、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を決定する。
例えば、端末は、視角と、視角によってカバーされるサブ領域の位置情報との間のマッチング関係に従い、パノラマイメージ内の現在の視角によってカバーされるサブ領域の位置情報を取得してよい。
103.端末は、サブ領域の第1のサンプリング間隔を決定する。
端末は、予め設定されたサンプリング間隔を第1のサンプリング間隔として決定してよく、または、端末は、サーバから第1のサンプリング間隔を受信し、または、端末は、サーバから受信される各サブ領域の位置情報に基づき、第1のサンプリング間隔を取得してよい。言い換えれば、各サブ領域に対応する第1のサンプリング間隔を取得するための、各サブ領域の位置情報と、第1のサンプリング間隔との間に、予め設定された計算ルールが存在してよい。計算ルールは、ソースイメージのサブ領域の位置情報におけるサイズと、結合されたイメージのサブ領域の位置情報におけるサイズとの比率、すなわち、第1のサンプリング間隔であってよい。
104.端末は、現在の視角によってカバーされるサブ領域の決定された位置情報に基づき、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得する。
すべてのサブ領域のビットストリームが端末に局所的に格納される場合、端末は、端末のメモリから直接、現在の視角によってカバーされるサブ領域のビットストリームを取得してよい。
代替的に、端末はサーバから、現在の視角によってカバーされるサブ領域に対応するビットストリームを取得することを要求する。例えば、端末は、現在の視角を示す情報をサーバに送信してよい。サーバは、現在の視角および現在の視角によってカバーされ得るサブ領域の位置情報に基づき、現在の視角によってカバーされるサブ領域を取得した後、現在の視角によってカバーされるサブ領域に対応し、且つ、端末によって要求されるビットストリームを端末に送信してよい。例えば、サーバは、送信されるべきサブ領域のビットストリームが結合された後に取得されるビットストリームを端末に送信してよい。代替的に、現在の視角および現在の視角によってカバーされるサブ領域の位置情報に基づき、現在の視角によってカバーされるサブ領域を取得した後、端末は、現在の視角によってカバーされるサブ領域の番号を、サーバに送信してよく、サーバは、番号に基づき、端末によって要求されたサブ領域のビットストリームを端末に送信してよい。代替的に、端末は、端末およびサーバによって予め設定されたプロトコルに従い、現在の視角によってカバーされるサブ領域に対応するビットストリームをサーバから取得してよく、プロトコルは、視角と視角によってカバーされるサブ領域との間の対応関係を含む。本願において、端末が、要求したビットストリームを取得する方式は限定されるものではない。
105.端末は、現在の視角によってカバーされるサブ領域のイメージを取得すべく、ビットストリームをデコーディングする。
サーバは、経度‐緯度マップに、水平分割、垂直分割および垂直ダウンサンプリング処理を実行、すなわち、サブ領域のピクセルに対し冗長性解除処理を実行するので、その結果、送信されるべきサブ領域のピクセル冗長性が低減され、ピクセル値は低減する。デコーダにとっては、現在の視角によってカバーされるサブ領域のビットストリームが取得されるとき、デコーディング能力の要件が低減されてよく、デコーディングの複雑性が低減され、これにより、デコーディング速度が向上する。
106.端末は、現在の視角によってカバーされるサブ領域の決定された位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングする。
107.端末は、再サンプリングされたイメージを再生する。
図11に示される通り、ユーザが表示を要求する視角に対応するサブ領域が図11の(d)に示されるものであると仮定する。図11の(b)に示されるような、計算を通して取得される要求されたサブ領域に基づき、端末は、図11の(c)に示されるように、サブ領域の番号と、ビットストリームとの間の対応関係に基づき、要求されるサブ領域に対応するビットストリームを、番号1, 3, 4, 5, 6, 15, 19, 20, 21, 22, 23, 24, 34, 35, 36,および37のサブビットストリームを含み取得してよい。さらに、端末は、サブビットストリームをデコーディングした後、位置情報および第1のサンプリング間隔に基づき、デコーディングされたイメージを再サンプリングしてよく、図11の(d)に示されるように、再サンプリングされたイメージを再生してよい。
上述のプレエンコーディング処理、エンコーディングおよび端末について、部分的に、2D経度‐緯度マップが用いられる例を用いて説明する。本願のこの実施形態は、さらに、3D経度‐緯度マップのエンコーディングおよび送信プロセスに用いられてよく、3D経度‐緯度マップのシーケンスの信号の2つのチャネルは別個に処理されてよい。3D視覚効果を表示する必要がある場合、サーバと通信する撮影デバイスは2つのグループを含んでよく、撮影デバイスのうちの一方のグループは、左目のパノラマビデオを取得するよう構成され、撮影デバイスのうちの他方のグループは、右目のパノラマビデオを取得するよう構成されることを理解されたい。このように、3D経度‐緯度マップのサブ領域分割が図12に示されてよい。左目の経度‐緯度マップは図12の上半分であり、右目の経度‐緯度マップは図12の下半分である。1つの経度‐緯度マップになるように、左目に対応する経度‐緯度マップが、右目に対応する経度‐緯度マップとスプライシングされてよく、または、左目に対応する経度‐緯度マップおよび右目に対応する経度‐緯度マップは、2つの経度‐緯度マップになるように互いに分離されてよい。サーバは、左目に対応する経度‐緯度マップに水平分割および垂直分割を実行し、且つ、右目に対応する経度‐緯度マップに水平分割および垂直分割を実行すべく、左目に対応する経度‐緯度マップを、右目に対応する経度‐緯度マップから分離してよい。
3D経度‐緯度マップにおける、左目経度‐緯度マップの水平分割については、段階401の実装を参照されたい。右目経度‐緯度マップの水平分割についても、段階401の実装を参照されたい。ここで、詳細については再度説明しない。
3D経度‐緯度マップにおける、左目経度‐緯度マップの垂直分割については、段階402の実装を参照されたい。右目経度‐緯度マップの垂直分割についても、段階402の実装を参照されたい。ここで、詳細については再度説明しない。
3D経度‐緯度マップにおける、左目経度‐緯度マップの各サブ領域のサンプリングについては、段階404および段階405の実装を参照されたい。右目経度‐緯度マップの各サブ領域のサンプリングについても、段階404および段階405の実装を参照されたい。ここで、詳細については再度説明しない。
従って、最終的に42個のサブ領域が左目経度‐緯度マップで取得され、42個のサブ領域が右目経度‐緯度マップで取得され、合計84個のサブ領域が取得される。
3D経度‐緯度マップでは、分割およびサンプリングの後に取得されるイメージ内の各サブ領域をエンコーディングするための複数の方式が存在してよく、ここで、3つの可能な方式を示す。第1の方式では、各サブ領域がオリジナルイメージから分割された1個のサブピクチャとして用いられ、各サブピクチャシーケンスが個々にエンコーディングされて、84個のサブビットストリームを生成する。第2の方式では、分割されたサブ領域モードエンコーディング(HEVC標準によってサポートされる)がイメージ全体に実行され、格納のための単一のビットストリームが生成される、または、単一のビットストリームが分割されて、格納のための84個のサブビットストリームが取得される。第3の方式では、左目経度‐緯度マップおよび右目経度‐緯度マップの同一の位置におけるサブ領域が、サブ領域の1つのグループとして用いられ、イメージスプライシングが実行された後、左目経度‐緯度マップおよび右目経度‐緯度マップが別個にエンコーディングされて、42個のサブビットストリームが生成される。
カプセル化プロセスについては、上述の方式1から方式5を参照されたい。ここで、詳細については再度説明しない。
3D経度‐緯度マップビデオについては、端末がビデオコンテンツをデコーディングするプロセスと、2D経度‐緯度マップにおけるプロセスとの間の差異は、以下の通りである。すなわち、ここで現在の視角によってカバーされるサブ領域の位置情報は、左目イメージサブ領域の位置情報および右目イメージサブ領域の位置情報を含む。
現在の視角によってカバーされるサブ領域のビットストリームは、左目経度‐緯度マップにおけるサブ領域のビットストリームと、右目経度‐緯度マップにおけるサブ領域のビットストリームを含む。現在の視角の値は、左目の視点値または右目の視点値であってよい。これは、本明細書において限定されるものではない。再サンプリング中、現在の視角において左目でカバーされるサブ領域のイメージが再サンプリングされ、現在の視角において右目でカバーされるサブ領域のイメージが再サンプリングされ、要求される左目のサブ領域および要求される右目のサブ領域がレンダリングおよび表示される。
上述の方法のプロセスは、さらに、360度パノラマビデオイメージの経度‐緯度マップまたは360度パノラマビデオイメージの経度‐緯度マップの一部に適用されてよい。例えば、経度‐緯度マップの分割方式は、さらに、180°ハーフパノラマビデオイメージの経度‐緯度マップの分割に適用されてよい。180°ハーフパノラマビデオは、経度範囲が180°であり、360度パノラマビデオの半分のコンテンツを含むパノラマビデオである。
図13の(a)に示されるような、180°ハーフパノラマビデオの経度‐緯度マップの水平分割方式については、上述の段階401を参照されたい。上述の段階402の可能な実装とは異なる垂直分割については、−90°から−60°の緯度範囲のサブピクチャおよび60°から90°の緯度範囲のサブピクチャは、垂直方向に分割されずに、単一のサブ領域のままであってよい。−60°から−30°の緯度範囲のサブピクチャおよび30°から60°の緯度範囲のサブピクチャについては、サブピクチャは経度60°を垂直分割間隔として用いて垂直方向に分割され、3個のサブ領域が取得される。−30°から0°の緯度範囲のサブピクチャおよび0°から30°の緯度範囲のサブピクチャについては、サブピクチャは、経度30°を垂直分割間隔として用いて垂直方向に分割され、6個のサブ領域が取得される。このように、180°ハーフパノラマビデオ全体の経度‐緯度マップのサブ領域分割が完了され、合計20個のサブ領域が取得される。
180°ハーフパノラマビデオの経度‐緯度マップのサブ領域も、ダウンサンプリングおよびエンコーディングされてよく、それは、段階404の上述の実装におけるものと同一であってよい。段階405の上述の実装との差異は以下の通りであってよい。図13の(a)を例として用い、−90°から−60°の緯度範囲および60°から90°の緯度範囲におけるサブピクチャについては、ダウンサンプリングが垂直方向ではなく、水平方向に実行され、スケーリング係数は1/6である。−60°から−30°の緯度範囲および30°から60°の緯度範囲におけるサブピクチャについても同様に、ダウンサンプリングが垂直方向ではなく、水平方向に実行され、スケーリング係数は1/2である。−30°から0°の緯度範囲および0°から30°の緯度範囲におけるサブピクチャについては、スケーリングは実行されない。最終的に取得されたスケーリングされたイメージが、図13の(b)に示されている。
180°ハーフパノラマビデオの経度‐緯度マップの上述のサブ領域の分割方式は、また、3D 180°ハーフパノラマビデオの経度‐緯度マップのサブ領域分割に適用されてよい。360°パノラマビデオのサブ分割領域と同様に、3D 180°ハーフパノラマビデオの経度‐緯度マップも、左目の180°ハーフパノラマビデオの経度‐緯度マップおよび右目の180°ハーフパノラマビデオの経度‐緯度マップを含む。左目の経度‐緯度マップおよび右目の経度‐緯度マップは、共にスプライシングされてよい。図14に示される通り、左目の経度‐緯度マップが、図14の左半分であり、右目の経度‐緯度マップが、図14の右半分である。サーバは、まず、図14の破線によって示されるように、左目の経度‐緯度マップを、右目の経度‐緯度マップから分離してよい。その後、左目の経度‐緯度マップは、180°ハーフパノラマビデオの経度‐緯度マップの分割方式に従い分割され、右目の経度‐緯度マップも、180°ハーフパノラマビデオの経度‐緯度マップの分割方式に従い分割され、最終的に、左目の経度‐緯度マップに対応する20個のサブ領域および右目の経度‐緯度マップに対応する20個のサブ領域、合計40個のサブ領域が取得される。
上述の処理において、サーバは、撮影デバイスによって撮影されたビデオ信号に基づき、パノラマビデオまたはハーフパノラマビデオに対応する経度‐緯度マップを取得してよい。本願のこの実施形態において、サーバは、さらに、イメージサブ領域を取得するために、球パノラマ信号を直接分割する方法を提供してよい。ソースイメージは球信号マップである、または、球マップと称されるので、ビットストリームカプセル化方式およびサブ領域分割方式も変更される。この実施形態において、球領域における信号位置が緯度および経度を用いて指定され、指定された経度範囲は0°から360°であり、緯度範囲−90°から90°である(負の数値は南緯を表わし、正の数の北緯を表わす)。
従って、本願の実施形態は、イメージ処理方法を提供する。図15に示される通り、方法は、以下の段階を含む。
1501.サーバは、処理されるべきイメージの球マップに、水平分割を実行し、水平分割の分割位置は予め設定された緯度である。
例えば、サーバは、図16の(a)に示される通り、球表面における緯度−60°、緯度−30°、緯度0°、緯度30°および緯度60°に緯線を描画して、球マップを水平方向に別個に分割してよい。
1502.経度‐緯度マップの各サブ領域を取得すべく、サーバは、処理されるべきイメージの球マップに垂直分割を実行し、垂直分割の分割位置は緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である。
例えば、球マップにおいて、−90°から−60°の緯度範囲および60°から90°の緯度範囲の球領域に対し、経度120°が球マップを垂直方向に分割するための垂直分割間隔として用いられて、3個の球サブ領域を取得してよい。−60°から−30°の緯度範囲および30°から60°の緯度範囲の球領域に対し、経度60°が球マップを垂直方向に分割するための垂直分割間隔として用いられて、6個の球サブ領域を取得する。−30°から0°緯度範囲および0°から30°の緯度範囲の球領域に対し、経度30°が球マップを垂直方向に分割するための垂直分割間隔として用いられて、12個の球サブ領域を取得する。このように、図16の(a)に示される通り、球マップ全体のサブ領域分割が完了した後、合計42個のサブ領域が取得される。
1503.サーバは、各サブ領域のイメージをサンプリングする。
サーバは、まず、予め設定されたサイズに基づき、サブ領域のイメージを二次元平面イメージにマッピングして、経度‐緯度マップの各サブ領域を第1のサンプリング間隔および第2のサンプリング間隔でサンプリングしてよい。
三次元球マップが二次元経度‐緯度マップにマッピングされる実装は、以下の通りであってよい。すなわち、球マップが分割された後に取得されるサブ領域のイメージを、垂直方向に予め設定された高さで均等にサンプリングし、サブ領域のイメージを、水平方向に予め設定された幅で均等にサンプリングする。次に、均等にサンプリングした後に取得される各サブ領域のイメージが、水平方向に第1のサンプリング間隔でサンプリングされてよく、サブ領域のイメージが、垂直方向に第2のサンプリング間隔でサンプリングされる。
例えば、イメージ信号マッピングが、球マップ上のサブ領域に対応する図16の(a)中のすべてのサブ領域に実行され、その結果、球マップ上の各サブ領域は、マッピングされたイメージ、すなわち、二次元経度‐緯度マップにおけるサブ領域に対応すし、ダウンサンプリングが経度‐緯度マップに実行される。球信号をサブ領域のイメージにマッピングするための多くの方法が存在し、これは、本明細書において限定されるものではない。1つの方式は以下の通りであってよい。すなわち、緯度方向における各球サブ領域については、球信号が、図16の(b)中のサブ領域のイメージの予め設定された高さに基づき均等にマッピングされ、均等なマッピングは均等なサンプリングとして理解されてよい。経度方向において、−90°から−60°の緯度範囲および60°から90°の緯度範囲のサブ球領域については、球信号が緯度方向において、サンプリングレート1/4でダウンサンプリングされた後、マッピングされ、すなわち、スケーリング係数1/4である。−60°から−30°の緯度範囲および30°から60°の緯度範囲のサブ球領域については、球信号が緯度方向において、サンプリングレート1/2でダウンサンプリングされた後、マッピングされ、すなわち、スケーリング係数は1/2である。−30°から0°の緯度範囲および0°から30°の緯度範囲のサブ球領域については、球信号が緯度方向において同一サンプリングレートでマッピングされ、すなわち、スケーリング係数は1である。経度‐緯度マップの最終的に取得されたサンプリングされたイメージが、図16の(b)に示されている。
1504.サーバは、サンプリングされたサブ領域の位置を調整し、その結果、図16の(c)に示される通り、調整されたサブ領域のイメージによってスプライシングされたイメージの水平エッジおよび垂直エッジがそれぞれ揃う。段階1504は実行されなくてよい。
1505.サーバは、スプライシングされたイメージのタイルtileをエンコーディングする。
段階1505の実装については、段階407を参照されたい。ここで、詳細について、再度説明はしない。
球マップのイメージ処理方法においては、各サブ領域のビットストリームのカプセル化方式は、上述の段階408における方式と同一であってよく、サブ領域の位置情報の様々な格納方式もまた、段階408の方式と同一であってよい。差異としては、処理されるべきイメージの球マップに、水平分割および垂直分割を実行することで、サブ領域が取得されるとき、サンプリングされたサブ領域が、サンプリングされた球マップを形成する。位置情報は、球マップのイメージにおけるサブ領域の位置および緯度‐経度範囲、並びにサンプリングされた球マップのイメージにおけるサブ領域の位置およびサイズを含む。または、位置情報は、球マップのイメージにおけるサブ領域の位置および緯度‐経度範囲、並びにスプライシングされたイメージにおけるサブ領域の位置およびサイズを含む。上述のサブ領域の分割方式の記述に対し行われる可変の意味上の修正は、以下の通りである。
以下の意味は、方式1において修正される。
proj_reg_width[i]およびproj_reg_height[i]は、ソースイメージ、すなわち、球マップにおけるi番目のサブ領域の対応する緯度‐経度範囲、すなわち、図16の(a)における図16の(b)にあるサブ領域の対応する緯度‐経度範囲を記述する。例えば、図16の(b)の左上隅における第1のサブ領域の緯度‐経度範囲は、ソースイメージにおける(120°,30°)である。
proj_reg_top[i]およびproj_reg_left[i]は、球マップにおけるi番目のサブ領域の左上隅にあるピクセルの対応する位置について記述する。経度および緯度で表され、当該位置は、図16の(a)における図16の(b)にあるサブ領域の左上ポイントの対応する位置である。例えば、第1のサブ領域の位置は、球マップにおける(0°,90°)である。
以下の意味は、方式2で修正される。
proj_tile_widthおよびproj_tile_heightは、球マップ内の現在のトラックの緯度‐経度範囲、すなわち、図16の(a)中の現在のサブ領域の緯度‐経度範囲について記述する。
proj_widthおよびproj_heightは、球マップの緯度‐経度範囲について記述する。例えば、360°パノラマ球の緯度‐経度範囲は、(360°,180°)である。
方式4において、プライベートファイルtile_info.datのコンテンツについては、意味が以下の通り修正される。
pic_widthは、球マップの経度範囲を表わす。
pic_heightは、球マップの緯度範囲を表わす。
tile_pic_width[]は、球マップ内の各サブ領域の経度範囲を表わすアレイであり、要素の個数は、tile_num値であってよい。
tile_pic_height[]は、球マップ内の各サブ領域の経度範囲を表わすアレイであり、要素の個数は、tile_num値であってよい。
以下の意味は、方式5において修正される。
src_pic_widthは、球マップの経度範囲、すなわち、図16の(a)中の球マップの経度範囲を表わす。
src_pic_heightは、球マップの緯度範囲、すなわち、図16の(a)中の球マップの緯度範囲を表わす。
src_tile_widthは、球マップ上の現在のサブ領域の経度範囲を表わす。
src_tile_heightは、球マップ上の現在のサブ領域の緯度範囲を表わす。
このように、経度‐緯度マップの均等な分割方式と比べた場合、本願のこの不均等な分割方式およびイメージスケーリング方式においては、イメージ冗長性が低減され、その結果、タイル単位エンコーディングおよび送信効率が大きく向上可能となる。また、端末のデコーダに必要とされる最大デコーディング能力も低減され、その結果、既存のデコーディング能力で、より高解像度のソースイメージを表示のためにエンコーディングし、送信することが可能である。例として、6×3の均等な分割が用いられ、送信される必要のあるピクセルの比率は、最大55.6%である。ソースイメージの解像度が4K(4096×2048)である場合、デコーダのデコーディング能力は、約4K×1Kに到達する必要がある。しかしながら、本願の方法においては、送信されるピクセルの比率は、最大25%である。ソースイメージの解像度が4K(4096×2048)である場合、デコーダのデコーディング能力は、2K×1Kに到達する必要がある。また、性能については、デコーディング速度および再生速度が向上する。本願の解決手段においては、デコーディングおよび再生処理の効率が、均等な分割におけるデコーディングおよび再生処理の効率よりも高い。
本願の一実施形態は、さらに、イメージ処理方法を提供し、方法は、図17Aに示されるようなサーバに適用され、以下の段階を含む。
17A1.サーバは、パノラマイメージの経度‐緯度マップまたは球マップのサブ領域のイメージに対応するビットストリームを格納し、サブ領域は、パノラマイメージの経度‐緯度マップまたは球マップに水平分割および垂直分割を実行することで取得され、水平分割の分割位置は、予め設定された緯度であり、垂直分割の分割位置は、緯度によって決定され、水平分割の隣接する分割位置によって形成される領域には、少なくとも2つのタイプの垂直分割間隔が存在し、垂直分割間隔は、垂直分割の隣接する分割位置間の距離である。
17A2.サーバは、サブ領域のイメージに対応し、且つ端末によって要求される、格納されたビットストリームの中で、現在の視角によってカバーされるサブ領域のビットストリームを、端末に送信する。
サブ領域に対応し、且つサーバに格納されるイメージがエンコーディングされる前に、イメージは、水平方向において第1のサンプリング間隔でサンプリングされ、サブ領域に対応するより高い緯度は、より大きな第1のサンプリング間隔を示し、または、イメージは、垂直方向において第2のサンプリング間隔でサンプリングされる。サンプリングの具体的な実装については、上述の実施形態の説明を参照されたい。
言い換えれば、この実施形態におけるサーバは、各サブ領域に属する、且つ上述の実施形態において、サーバによって処理されるイメージに対応するビットストリームを格納してよい。イメージを処理するために上述の実施形態において、サーバによって用いられるサブ領域分割方式およびサンプリング処理は、ビットストリーム送信中に占有される帯域幅を低減してよいので、デコーディング側のデコーディング能力に対する要件が低減され、デコーディング複雑性が低減され、デコーディング速度が向上する。本願の実施形態においては、ビットストリーム送信中にサーバによって占有される帯域幅は、従来技術の帯域幅と比較して低減され、端末のデコーディング速度が向上する。
上述の内容は主に、本願の実施形態において提供される解決手段を、ネットワーク要素間の相互作用の観点から説明している。上述の機能を実装すべく、サーバおよび端末等のネットワーク要素の各々は、各機能を実行するための対応するハードウェア構造および/またはソフトウェアモジュールを含むことを理解されたい。当業者は、本願において、本明細書で開示した実施形態で説明された例を組み合わせて、ユニットおよびアルゴリズムの段階は、ハードウェア、またはハードウェアとコンピュータソフトウェアとの組み合わせで実装され得ることを容易に認識すべきである。ある機能が、ハードウェアまたはコンピュータソフトウェアで駆動されるハードウェアで実行されるかどうかは、技術的解決手段の特定の用途および設計上の制約に依存する。当業者は、各特定の用途に対し、説明された機能を実装するために異なる方法を用いてよいが、当該実装が本願の保護範囲を超えるものとみなされるべきではない。
本願の実施形態においては、サーバおよび端末は、上述の方法の例に基づき、機能モジュールに分割されてよい。例えば、各機能モジュールは、対応する機能のために分割を通して取得されてよく、あるいは、2または2より多い機能が1つの処理モジュールに統合されてよい。統合されたモジュールは、ハードウェアの形態で実装されてよく、または、ソフトウェア機能モジュールの形態で実装されてよい。本願のこの実施形態においては、モジュール分割は、一例であり、論理的な機能分割に過ぎないことに留意されたい。実際の実装においては、別の分割方式が用いられてよい。
図17は、対応する機能に基づき、機能モジュールが分割される場合の、上述の実施形態におけるサーバの可能な概略構造図を示す。サーバ17は、分割ユニット1701、エンコーディングユニット1702、サンプリングユニット1703、スプライシングユニット1704、カプセル化ユニット1705および送信ユニット1706を含む。分割ユニット1701は、サーバが図4中の段階401および段階402を実行することをサポートするよう構成されてよく、エンコーディングユニット1702は、サーバが図4中の段階403および図7中の段階407を実行することをサポートするよう構成されてよい。サンプリングユニット1703は、サーバが図7中の段階404および段階405を実行することをサポートするよう構成されてよく、スプライシングユニット1704は、サーバが図7中の段階406を実行することをサポートするよう構成され、カプセル化ユニット1705は、サーバが図7中の段階408を実行することをサポートするよう構成されてよい。上述の方法の実施形態における段階に関連するすべての内容が、対応する機能モジュールの機能の説明において引用されてよい。詳細について、ここで説明はしない。
図18は、統合されたユニットが用いられる場合の、上述の実施形態におけるサーバの可能な概略構造図である。サーバ18は、処理モジュール1802および通信モジュール1803を含む。処理モジュール1802は、サーバの動作を制御および管理するよう構成されている。例えば、処理モジュール1802は、図4中の段階401、段階402、段階403、段階404、段階405、段階406、段階407および段階408、および/または、本明細書で説明した技術の別のプロセスを実行するよう構成されている。通信モジュール1803は、サーバと別のネットワークエンティティとの間の通信、例えば、サーバと端末との間の通信をサポートするよう構成されている。サーバは、さらに、サーバのプログラムコードおよびデータを格納するよう構成された格納モジュール1801を含んでよい。
処理モジュール1802は、中央処理装置(Central Processing Unit,CPU)、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processing,DSP)、特定用途向け集積回路(Application−Specific Integrated Circuit,ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)若しくは別のプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、またはこれらの組み合わせ等のプロセッサまたはコントローラであってよい。プロセッサは、本願に開示された内容に関し説明された様々な例示的な論理ブロック、モジュールおよび回路を実装または実行してよい。プロセッサは、コンピューティング機能を実装するプロセッサの組み合わせ、例えば、1または複数のマイクロプロセッサの組み合わせ、または、DSPとマイクロプロセッサとの組み合わせであってよい。通信モジュール1803は、送受信機、送受信回路または通信インタフェース等であってよい。格納モジュール1801は、メモリであってよい。
処理モジュール1802がプロセッサの場合、通信モジュール1803は送受信機であり、格納モジュール1801がメモリである場合、本願のこの実施形態におけるサーバは、図19に示されるサーバであってよい。
図19に示される通り、サーバ19は、プロセッサ1912、送受信機1913、メモリ1911、およびバス1914を含む。送受信機1913、プロセッサ1912およびメモリ1911は、バス1914を通して互いに接続されている。バス1914は、ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect,PCI)バスまたは拡張型業界標準アーキテクチャ(Extended Industry Standard Architecture,EISA)バス等であってよい。バスは、アドレスバス、データバスおよび制御バス等に分類されてよい。表示のしやすさのため、図19中ではバスを表わすために1本の太線のみが用いられているが、1つのバスのみまたは1つのタイプのバスのみが存在することを意味していない。
図20は、対応する機能に基づき、機能モジュールが分割される場合の、上述の実施形態における端末の可能な概略構造図を示す。端末20は、取得ユニット2001、デコーディングユニット2002、再サンプリングユニット2003および再生ユニット2004を含む。取得ユニット2001は、端末が、図10中の段階101、段階102、段階103および段階104を実行することをサポートするよう構成されている。デコーディングユニット2002は、端末が、図10中の段階105を実行することをサポートするよう構成されている。再サンプリングユニット2003は、端末が、図10中の段階106を実行することをサポートするよう構成されている。再生ユニット2004は、端末が、図10中の段階107を実行することをサポートするよう構成されている。上述の方法の実施形態における段階に関連するすべての内容が、対応する機能モジュールの機能の説明に引用されてよい。詳細について、ここで説明はしない。
図21は、統合されたユニットが用いられる場合の、上述の実施形態における端末の可能な概略構造図である。端末21は、処理モジュール2102および通信モジュール2103を含む。処理モジュール2102は、端末の動作を制御および管理するよう構成されている。例えば、処理モジュール2102は、端末が、図10中の段階101から段階106を実行することをサポートするよう構成されており、および/または、本明細書中で説明された技術の別のプロセスを実行するよう構成されている。通信モジュール2103は、端末と別のネットワークエンティティとの間の通信、例えば、端末とサーバとの間の通信をサポートするよう構成されている。端末は、さらに、端末のプログラムコードおよびデータを格納するよう構成された格納モジュール2101を含んでよく、さらに、図10中の段階107を端末が実行することをサポートするよう構成されたディスプレイモジュール2104を含む。
処理モジュール2102は、プロセッサまたはコントローラであってよく、例えば、CPU、汎用プロセッサ、DSP、ASIC、FPGAまたは別のプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、またはこれらの任意の組み合わせであってよい。プロセッサは、本願に開示された内容に関し説明された様々な例示的な論理ブロック、モジュールおよび回路を実装または実行してよい。プロセッサは、コンピューティング機能を実装するプロセッサの組み合わせ、例えば、1または複数のマイクロプロセッサの組み合わせ、または、DSPとマイクロプロセッサとの組み合わせであってよい。通信モジュール2103は、送受信機、送受信回路または通信インタフェース等であってよい。格納モジュール2101は、メモリであってよい。ディスプレイモジュール2104は、ディスプレイ等であってよい。
処理モジュール2102がプロセッサの場合、通信モジュール2103は送受信機であり、格納モジュール2101はメモリであり、ディスプレイモジュール2104はディスプレイであり、本願のこの実施形態における端末は、図22に示された端末であってよい。
図22に示される通り、端末22は、プロセッサ2212、送受信機2213、メモリ2211、ディスプレイ2215およびバス2214を含む。送受信機2213、プロセッサ2212、ディスプレイ2215およびメモリ2211は、バス2214を通して相互接続されている。バス2214は、PCIバスまたはEISAバス等であってよい。バスは、アドレスバス、データバスおよび制御バス等に分類されてよい。表示のしやすさのため、図22中ではバスを表わすために1本の太線のみが用いられているが、1つのバスのみまたは1つのタイプのバスのみが存在することを意味していない。
図23は、対応する機能に基づき、機能モジュールが分割される場合の、上述の実施形態におけるサーバの可能な概略構造図を示す。サーバ23は、格納ユニット2301、送信ユニット2302を含み、格納ユニット2301は、サーバが図17A中の段階17A1を実行することをサポートするよう構成されており、送信ユニット2302は、サーバが図17A中の段階17A2を実行することをサポートするよう構成されている。上述の方法の実施形態の段階に関連するすべての内容が、対応する機能モジュールの機能の説明に引用されてよい。詳細について、ここで説明はしない。
図24は、統合されたユニットが用いられる場合の、上述の実施形態におけるサーバの可能な概略構造図である。サーバ24は、格納モジュール2402および通信モジュール2403を含む。格納モジュール2402は、サーバのプログラムコードおよびデータを格納するよう構成されている。例えば、プログラムは、図17A中の段階17A1を実行するよう構成されており、通信モジュール2403は、図17A中の段階17A2を実行するよう構成されている。
通信モジュール2403が送受信機であり、且つ格納モジュール2401がメモリである場合、本願のこの実施形態におけるサーバは、図25に示される端末であってよい。
図25に示される通り、サーバ25は、送受信機2511、メモリ2512およびバス2513を含む。送受信機2511およびメモリ2512は、バス2513を通して相互接続される。バス2513は、PCIバスまたはEISAバス等であってよい。バスは、アドレスバス、データバスおよび制御バス等に分類されてよい。表示のしやすさのため、図25中ではバスを表わすために1本の太線のみが用いられているが、1つのバスのみまたは1つのタイプのバスのみが存在することを意味していない。
本願で開示された内容と組み合わせて説明された方法またはアルゴリズムの段階は、ハードウェアによって実装されてよく、または、ソフトウェア命令を実行するプロセッサによって実装されてよい。ソフトウェア命令は、対応するソフトウェアモジュールを含んでよい。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory,RAM)、フラッシュメモリ、リードオンリメモリメモリ(Read Only Memory,ROM)、消去可能プログラマブルリードオンリメモリ(Erasable Programmable ROM,EPROM)、電気的消去可能なプログラマブルリードオンリメモリ(Electrically EPROM,EEPROM)、レジスタ、ハードディスク、モバイルハードディスク、コンパクトディスクリードオンリメモリ(CD‐ROM)、または、当該技術分野で周知の格納媒体の任意の他の形態に格納されてよい。例えば、プロセッサが、格納媒体から情報を読み取ることができ、または、情報を格納媒体に書き込むことができるように、格納媒体はプロセッサに連結されている。格納媒体が、プロセッサのコンポーネントであってよいことはもちろんである。プロセッサおよび記憶媒体は、ASICに配置されてよい。また、ASICは、コアネットワークインタフェースデバイスに配置されてよい。プロセッサおよび記憶媒体は、コアネットワークインタフェースデバイス内に、ディスクリートコンポーネントとして存在してよいことはもちろんである。
当業者であれば、上述の1または複数の例において、本願で説明された機能が、ハードウェア、ソフトウェア、ファームウェア、または、これらの任意の組み合わせで実装され得ることを理解されたい。本発明がソフトウェアで実装される場合、上述の機能は、コンピュータ可読媒体内に格納され、または、コンピュータ可読媒体内の1または複数の命令またはコードとして送信されてよい。コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み、通信媒体は、コンピュータプログラムがある場所から別の場所へ送信されることを可能にする任意の媒体を含む。格納媒体は、汎用または専用のコンピュータにアクセス可能な任意の利用可能な媒体であってよい。
本願の目的、技術的解決手段および利点については、上述の具体的な実施形態にさらに詳細に記載されている。上述の説明は、本願の特定の実施形態に過ぎず、本願の保護範囲を限定する意図はないことを理解されたい。本願の技術的解決手段に基づき、なされる任意の修正、均等な置換または改良は、本願の保護範囲に属するものとする。