(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
本出願の実施形態は、ネットワーク帯域幅の浪費を減らすためにパノラマビデオの圧縮方法および装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本願の実施形態は、パノラマビデオの圧縮方法を開示する。圧縮方法は、以下を含む。
対象とするパノラマビデオについて、対象パノラマビデオの各フレーム画像を生成すること。
それぞれのフレーム画像に対して、フレーム画像を圧縮すること。
圧縮フレーム画像を分割すること。
分割により得られた画像をモザイク処理すること。
モザイク処理によって得られたすべての画像に従って新しいパノラマビデオを生成すること。
【0008】
任意選択で、それぞれのフレーム画像について、フレーム画像を圧縮することは、以下を含む。
各フレーム画像について、補間技術を用いてフレーム画像を菱形画像に圧縮すること。ここで、菱形画像の2つの対角線の長さは、それぞれフレーム画像の幅および高さに等しい。
【0009】
任意選択で、圧縮フレーム画像を分割することは、以下を含む。
菱形画像を2つの三角形画像に均等に分割すること。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
2つの三角形画像のうち1つを2つの直角三角形画像に均等に分割すること。
分割によって得られた画像をモザイク処理することは、以下を含む。
2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像を矩形の画像へとモザイク処理すること。
【0010】
任意選択で、圧縮フレーム画像を分割することは、以下を含む。
菱形画像を2つの三角形画像に均等に分割すること。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
分割によって得られた画像をモザイク処理することは、以下を含む。
2つの三角形画像を、2つの三角形画像と同じ高さで同じ面積の2つの直角三角形画像に変換すること。
2つの直角三角形画像を矩形画像へとモザイク処理すること。
【0011】
任意選択で、モザイク処理を通じて取得されたすべての画像に従って新しいパノラマビデオを生成する前に、パノラマビデオの圧縮方法はさらに以下を含む。
モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットすること。
【0012】
上記目的を達成するために、本出願の一実施形態は、パノラマビデオの圧縮装置を開示する。圧縮装置は、以下を含む。
対象とするパノラマビデオについて対象パノラマビデオの各フレーム画像を生成するための第1の生成モジュールと、
各フレーム画像についてフレーム画像をそれぞれ圧縮するための圧縮モジュールと、
圧縮フレーム画像を分割するための分割モジュールと、
分割により得られた画像をモザイク処理するモザイク処理モジュールと、
モザイク処理によって得られたすべての画像に従って新しいパノラマビデオを生成するための第2の生成モジュール。
【0013】
任意選択で、圧縮モジュールは具体的には以下のためのものである。
各フレーム画像に対して、補間技術を用いてフレーム画像を菱形画像に圧縮する。ここで、菱形画像の2つの対角線の長さは、それぞれフレーム画像の幅および高さに等しい。
【0014】
任意選択で、分割モジュールは具体的には以下のためのものである。
菱形画像を2つの三角形画像に均等に分割する。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
2つの三角形画像のうち1つを2つの直角三角形画像に均等に分割する。
モザイク処理モジュールは具体的に以下のためのものである。
2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像を矩形画像へとモザイク処理する。
【0015】
任意選択で、分割モジュールは具体的には以下のためのものである。
菱形画像を2つの三角形画像に均等に分割する。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
【0016】
任意選択で、モザイク処理モジュールは具体的には以下のためのものである。
2つの三角形画像を、2つの三角形画像と同じ高さで同じ面積の2つの直角三角形画像に変換する。
2つの直角三角形画像を矩形画像へとモザイク処理する。
【0017】
任意選択で、第2の生成モジュールの前に、装置はさらに以下を備える。
モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットするための処理モジュール。
【0018】
本出願の一実施形態のさらに別の態様では、プロセッサと、通信インターフェースと、メモリと、通信バスとを含む電子機器が提供される。ここで、プロセッサと通信インターフェースとメモリとの間の通信は、通信バスを介して達成される。
メモリは、コンピュータプログラムを格納するためのものである。
プロセッサは、メモリに記憶されたコンピュータプログラムを実行するときに、上記の実施形態のうちのいずれか1つによるパノラマビデオの圧縮方法を達成するためのものである。
【0019】
別の態様では、本出願の一実施形態は、コンピュータ可読記憶媒体を提供し、このコンピュータ可読記憶媒体は、コンピュータ上での実行時に上記実施形態のいずれかによるパノラマビデオの圧縮方法を実行させる命令を格納する。
【0020】
本出願の一実施形態のさらに別の態様では、本出願の実施形態は、コンピュータ上での実行時に上記実施形態のいずれか1つによるパノラマビデオの圧縮方法を実行させる命令を含むコンピュータプログラム製品をさらに提供する。
【0021】
上記の技術的解決策から分かるように、本願の実施形態によって提供されるパノラマビデオの圧縮方法および装置は、対象とするパノラマビデオについて、対象パノラマ画像の各フレーム画像を生成し、それぞれのフレーム画像について、フレーム画像を圧縮し、圧縮フレーム画像を分割し、分割によって得られた画像をモザイク処理し、モザイク処理によって取得されたすべての画像に応じて、新しいパノラマビデオを生成する。
【0022】
パノラマビデオが圧縮され、新たな圧縮パノラマビデオがサーバーによってクライアントに送信され、その後、クライアントは、本出願の実施形態では不要なデータを伝送することなく、サーバーによって送信されたパノラマビデオ全体を再生することができる。したがって、ネットワーク帯域幅の無駄を減らすことができる。
【0023】
もちろん、本出願を実施するいかなる製品または方法も、上記の利点すべてを同時に達成する必要はない。
【発明を実施するための形態】
【0025】
本願の実施形態における技術的解決策を、本願の実施形態における添付の図面と組み合わせて以下に説明する。
【0026】
まず、本願の一実施形態によって提供されるパノラマビデオの圧縮方法について以下に詳細に説明する。
【0027】
図1を参照して、
図1は本願の一実施形態によって提供されるパノラマビデオの圧縮方法の概略フローチャートである。この方法は以下のステップを含むことができる。
S101:対象とするパノラマビデオについて、対象パノラマビデオの各フレーム画像を生成するステップ。
一実施形態では、対象とするパノラマビデオの生成された各フレーム画像は、球面パノラマ画像とすることができ、すなわち、球面テクスチャ座標に従って包まれていない矩形の画像とすることができる。ここで、対象とするパノラマビデオについて対象パノラマビデオの各フレーム画像を生成するために、ビデオ復号などの技術を使用することができる。
【0028】
言い換えれば、対象とするパノラマビデオについて生成された各フレーム画像は、矩形形状の画像である。
【0029】
S102:各フレーム画像について、それぞれフレーム画像を圧縮するステップ。
【0030】
一実施形態では、それぞれのフレーム画像について、フレーム画像は、補間技術を用いて菱形画像に圧縮することができる。ここで、菱形画像の2つの対角線の長さは、フレーム画像の幅および高さにそれぞれ等しくすることができる。
【0031】
言い換えれば、本願の実施形態では、上述のフレーム画像は、球面テクスチャ座標に従って包まれていない矩形画像、すなわち圧縮前の画像である。上述の菱形の画像は、菱形の形状の画像、すなわち圧縮後の画像である。フレーム画像はそれぞれ補間技術を用いて菱形画像に圧縮され、ここでフレーム画像と菱形画像との間には対応関係があり、これは1つのフレーム画像が1つの菱形画像に対応し得ることが理解され得る。菱形画像の2つの対角線の長さは、対応するフレーム画像の幅と高さにそれぞれ等しくなり得る。一実施形態では、フレーム画像の幅が短辺の長さであり、フレーム画像の高さが長辺の長さである場合、菱形画像の短い対角線は対応するフレーム画像の幅と等しくなり得て、菱形画像の長い対角線は、対応するフレーム画像の高さに等しくなり得る。
【0032】
例示的には、それぞれのフレーム画像について、元のフレーム画像は、このフレーム画像を菱形画像に圧縮するために、最近傍補間技術、線形補間技術、3次スプライン補間技術などの補間技術で伸張および変換され得る。ここで、菱形画像の2つの対角線の長さはそれぞれフレーム画像の幅と高さに等しい。
【0033】
言い換えれば、上述の元のフレーム画像は、矩形形状の画像、すなわち圧縮前の画像である。
【0034】
一実施形態では、各フレーム画像について、このフレーム画像の各行の画素数の圧縮率を決定することも可能である。例えば、フレーム画像の最中央行の圧縮率は1:1(これは、最中央行の画素数は圧縮されていない事を意味する)である。このフレーム画像のエッジ行(すなわち、最初の行と最後の行)の圧縮率は、その行の中のピクセル点の数:1(これは、画像のエッジ行のピクセル数が1に圧縮される事を意味する)である。最初と最後の行以外の、最中央行から最初の行または最後の行までの行内のピクセル点の数は、(xy−2nx)/yに圧縮される。ここで、xはこのフレーム画像の行内のピクセル点の数であり、yはこのフレーム画像の列のピクセル点数である。(例えば、このフレーム画像のサイズが200*100の場合、xは200、yは100である)。nは最中央行から最初の行または最後の行までのシーケンス番号である。各行の決定された圧縮率に従って、圧縮率に対応する行のピクセル点の数が圧縮され、フレーム画像が菱形画像に圧縮される。ここで、菱形画像の2つの対角線の長さはフレーム画像の幅と高さに等しい。
【0035】
例えば、フレーム画像について、このフレーム画像の各行のピクセル点の数xは20であり、各列のピクセル点の数yは21である。すなわち、このフレーム画像は21行のピクセル点を有し、11行目は、このフレーム画像の最中央行である。
【0036】
ある場合には、最中央行のシーケンス番号が0であることから始めて、最中央行(11番目の行)から最初の行(1番目の行)までのシーケンス番号は、0〜10、すなわち、最中央行(11行目)から最初の行(1行目)までのnの値は、それぞれ0〜10である。最中央行(11行目)から最後の行(21行目)までのシーケンス番号は0〜10、つまり、最中央行(11行目)から最後の行(21行目)までのnの値は、それぞれ0〜10である。続いて、上述した式「(xy?2nx)/y」を用いて、10行目から1行目および12行目から21行目にそれぞれ対応するピクセル点の数が算出される。
【0037】
例として10行目を考える。10行目に対応するnの値は1である。ここで、(20*21−2*1*20)/21である。すなわち、10行目に対応するピクセル点の数は380/21であり、これは18であり得る。
【0038】
S103:圧縮フレーム画像を分割するステップ。
【0039】
具体的には、実際の用途では、菱形画像は上下(または左右)2つの三角形画像に等しく分割することができる。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または、2つの三角形画像両方の高さはフレーム画像の幅の半分である。2つの三角形画像のうちの1つは、2つの直角三角形画像に均等に分割される。
【0040】
具体的には、実際の用途では、菱形画像は上下(または左右)2つの三角形画像に等しく分割することができる。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または、2つの三角形画像両方の高さはフレーム画像の幅の半分である。
【0041】
例示的に、それぞれのフレーム画像について、菱形画像は、菱形画像の対角線の一方(例えば、対応するフレーム画像の幅を長さとするもの)を分割境界として、2つの三角形画像に均等に分割することができる。ここで、2つの三角形画像両方の高さは、対応するフレーム画像の高さの半分である。さらに、2つの三角形画像のうちのいずれか一方を2つの直角三角形画像に等分割することができ、または等分しなくてもよい。実際の用途では、菱形画像は、菱形画像の他方の対角線(例えば、対応するフレーム画像の高さを長さとするもの)を分割境界として2つの三角形画像に均等に分割することもできる。ここで、2つの三角形画像両方の高さは、対応するフレーム画像の高さの半分である。さらに、2つの三角形画像のうちのいずれか一方を2つの直角三角形画像に等分割することができ、または等分しなくてもよい。
【0042】
言い換えれば、ある場合には、各フレーム画像について、菱形画像は、菱形画像の対角線の一方(例えば、対応するフレーム画像の幅を長さとするもの)を分割境界として、2つの三角形画像に均等に分割することができる。ここで、分割境界となる対角線が対応するフレーム画像の幅と同じ長さの対角線である場合、分割後に得られる2つの三角形画像両方の高さは、対応するフレーム画像の高さの半分である。さらに、分割後に得られた2つの三角形画像のいずれか一方を、2つの直角三角形画像に均等に分割して、後続のパノラマビデオ圧縮処理を実行することができる。
【0043】
例えば、
図7Aに示すように、菱形画像Aの2つの対角線aとbがある。対角線aを分割境界として、菱形画像Aは2つの合同三角形画像に分割される。分割後に得られる2つの三角形画像は、それぞれ三角形画像A1と三角形画像A2である。三角形画像A1と三角形画像A2は、いずれも二等辺三角形であることがわかる。さらに、三角形画像A1は、2つの直角三角形画像A11およびA12に等分割される。三角形画像A1は、三角形画像A1の底辺の中央値を分割境界として、2つの直角三角形画像A11およびA12に均等に分割できることがわかる。本実施形態で使用される「合同」という用語は、三角形画像の形状にのみ関連する。
【0044】
他の場合には、菱形画像は、菱形画像の他方の対角線(例えば、対応するフレーム画像の高さを長さとするもの)を分割境界として2つの三角形画像に均等に分割することができる。ここで、分割境界として用いられる対角線が対応するフレーム画像の高さを長さとするものである場合、分割後に得られる2つの三角形画像両方の高さは対応するフレーム画像の高さの半分である。さらに、分割後に得られた2つの三角形画像のいずれか一方を、2つの直角三角形画像に均等に分割して、後続のパノラマビデオ圧縮処理を実行することができる。
【0045】
上記の例に従うと、
図7Bに示されるように、菱形画像Aの2つの対角線aおよびbがある。ここでは、対角線bを分割境界として、菱形画像Aは2つの合同三角形画像に分割される。分割後に得られる2つの三角形画像は、それぞれ三角形画像A3と三角形画像A4である。三角形画像A3および三角形画像A4は、いずれも二等辺三角形であることがわかる。さらに、三角形画像A3は、2つの直角三角形画像A31およびA32に等分割される。三角形画像A3は、三角形画像A3の底辺の中央値を分割境界として、2つの直角三角形画像A31およびA32に均等に分割できることがわかる。ここで、本実施形態で使用される「合同」という用語は、三角形画像の形状にのみ関連する。
【0046】
もちろん、分割後に得られる上述の2つの三角形画像のいずれか一方を均等に分割しないことも可能である。これについては、明確なレイアウトのためにさらに後述する。
【0047】
S104:分割後に得られた画像をモザイク処理するステップ。
【0048】
具体的には、実用的な用途では、2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像をモザイク処理して矩形画像にすることができる。
【0049】
一実施形態では、菱形画像を一度分割した後に、2つの合同三角形を得ることができる。
ある場合には、2つの合同直角三角形を得るために、得られた2つの合同三角形のうちの1つをさらにもう一度分割することができる。さらに、上記で得られた、再度分割されることはない三角形、およびさらに分割された後に得られる2つの合同直角三角形はモザイク処理されて矩形画像にすることができる。本実施形態で使用される「合同」という用語は、三角形画像の形状にのみ関連する。
【0050】
例示的に、2つの三角形画像のうちの1つが2つの直角三角形画像に等分割される場合、2つの直角三角形画像は、上述の2つの三角形画像のうちの均等に分割されていないほうの三角形画像の左側および右側(または上側および下側、具体的には矩形画像にモザイク処理することに基づく)にそれぞれ移動することができる。これにより、上記2つの三角形画像のうちの均等に分割されていないほうの三角形画像と、2つの直角三角形画像とを、矩形画像の幅は元の画像の幅で、矩形画像の高さは元の画像の高さの半分であるように、または矩形画像の高さは元の画像の高さで、矩形画像の幅は元の画像の幅の半分であるように、矩形画像へとモザイク処理する。これにより、モザイク処理された矩形画像のサイズを元の画像のサイズの半分に縮小する。
【0051】
言い換えれば、上記の「元の画像」および「元の矩形画像」の両方の用語は、本願の実施形態で述べたフレーム画像、すなわち圧縮前の画像を表すことができる。
【0052】
具体的には、一実施形態では、2つの三角形画像を、2つの三角形画像とそれぞれ同じ高さおよび同じ面積の2つの直角三角形画像に変換することができる。2つの直角三角形画像は矩形画像へとモザイク処理される。
【0053】
例えば、2つの三角形画像のいずれもが2つの直角三角形画像に均等に分割されない場合、上記2つの三角形画像をそれぞれ画像変換技術を用いて変換し、2つの三角形画像と同じ高さおよび同じ面積の2つの直角三角形画像を得ることができる。得られた2つの直角三角形画像は、モザイク処理された矩形画像の幅が元の画像の幅であり、モザイク処理された画像の高さが元の画像の高さの半分であるように、または、モザイク処理された矩形画像の高さは元の画像の高さであり、モザイク処理された画像の幅は元の画像の幅の半分であるように、矩形画像にモザイク処理される。これにより、モザイク処理された矩形画像のサイズを元の画像のサイズの半分に縮小する。
【0054】
言い換えれば、上記の「元の画像」および「元の矩形画像」の両方が、本願の実施の形態で述べたフレーム画像、すなわち圧縮前の画像を表すことができる。
【0055】
例示的に、
図5に示されるように、
図5は、本願の一実施形態によって提供されるモザイク処理された矩形画像の生成の概略図である。一実施形態では、
図5に示すように、元の矩形画像は上下2つの矩形画像MおよびNに等しく分割することができ、矩形画像Mは、三角形Aに伸長され圧縮される。矩形画像Nは、三角形Aと同じ底辺および同じ高さを有し、三角形Aと対称的な三角形に伸長され圧縮される。矩形画像Nを圧縮して得られる三角形は直角三角形Bと直角三角形Cに等分される。三角形Bを三角形Aの右側に移動してコピーして三角形B1を得、三角形Cを三角形Aの左側に移動してコピーして三角形C1を得る。三角形A、三角形B1、および三角形C1は、モザイク処理されて矩形画像になり、モザイク処理された矩形画像のサイズは、元の矩形画像のサイズの半分に縮小される。
【0056】
例示的に、
図6に示されるように、
図6は、本願の一実施形態によって提供される別のモザイク処理された矩形画像の生成の概略図である。一実施形態では、
図6に示すように、元の矩形画像を上下2つの矩形画像MおよびNに均等に分割することも可能である。矩形画像M(上述の矩形画像Mと同じ)は伸長され圧縮されて三角形A(上述の三角形Aと同じ)になる。矩形画像N(上述の矩形画像Nと同じ)は、伸長され圧縮されて三角形Aと同じ底辺と同じ高さを持ち、三角形Aと対称な三角形Eになる。三角形Aを水平方向に変換して直角三角形A1を得る。三角形Eを水平方向に変換して直角三角形E1を得る。直角三角形A1と直角三角形E1がモザイク処理され矩形画像になる。モザイク処理された矩形画像のサイズは、元の矩形画像のサイズの半分になる。
【0057】
S105:モザイク処理によって得られた全ての画像に従って新しいパノラマビデオを生成するステップ。
【0058】
具体的には、モザイク処理によって得られたすべての矩形画像に従って、すべての矩形画像を符号化するなどの従来技術を用いて新しい圧縮パノラマビデオを生成することができる。これは、本願の実施形態においては本明細書に記載しない。
【0059】
言い換えれば、各フレーム画像はモザイク処理によって得られた矩形画像に対応する。 現在の符号化技術を用いてモザイク処理によって得られたすべての矩形画像を符号化することによって、新しい圧縮パノラマビデオを生成することができる。
【0060】
具体的には、一実施形態では、モザイク処理によって得られた矩形画像は、ダイヤモンドパノラマ画像と呼ぶことができる。新しい圧縮パノラマビデオを再生するプロセスの間に、ダイヤモンドパノラマ画像を生成する逆のプロセスに従ってダイヤモンドパノラマ画像を逆に変換して、球形パノラマ画像を得ることができる。球形パノラマ画像は、球形パノラマ画像からパノラマ画像をレンダリングするために、Open Graphics Library(略してOpenGL)シェーダのピクセル逆サンプリング技術またはOpen Graphics Libraryの三角形パッチテクスチャ描画技術を用いてレンダリングすることができる。
【0061】
球形パノラマ画像を得るためにダイヤモンドパノラマ画像を生成する逆のプロセスに従ってダイヤモンドパノラマ画像を逆変換するプロセスに関して、1つの実施態様では、最初に新しい圧縮パノラマビデオを取得し、新しい圧縮パノラマビデオを復号して、新しい圧縮パノラマビデオに対応する各ダイヤモンドパノラマ画像を取得する。各ダイヤモンドパノラマ画像について、各ダイヤモンドパノラマ画像を分割して変換して、各ダイヤモンドパノラマ画像に対応する菱形の画像を得る。 次に、各ダイヤモンドパノラマ画像に対応する球状パノラマ画像を得るために、補間技術を用いて各菱形画像を変換および伸長(例えば、水平方向に伸長)する。そして、球形パノラマ画像は、球形パノラマ画像からパノラマ画像をレンダリングするために、Open Graphics Libraryシェーダのピクセル逆サンプリング技術またはOpen Graphics Libraryシェーダの三角形パッチテクスチャ描画技術を用いてレンダリングされ得る。
【0062】
各ダイヤモンドパノラマ画像に対応する菱形画像を得るために各ダイヤモンドパノラマ画像を分割および変換するプロセスは、各ダイヤモンドパノラマ画像について、1つの大きい三角形画像(二等辺三角形画像)と2つの小さい合同三角形画像(二つの直角三角形画像)からなる3つの三角形画像を得るためにダイヤモンドパノラマ画像を分割するものであり得、ここで、上記大きい方の三角形画像の面積は、上記2つの小さい合同三角形画像の面積の合計に等しく、ダイヤモンドパノラマ画像に対応する菱形画像を得るために、上述の得られた3つの三角形画像を処理するものであり得る。また、上記プロセスは、ダイヤモンドパノラマ画像ごとに、ダイヤモンドパノラマ画像を分割して2つの合同直角三角形画像を得ることと、画像変換技術を用いて、2つの合同直角三角形画像を変換して、2つの合同直角三角形画像と同じ高さおよび同じ面積を有する2つの合同二等辺三角形画像を得ることと、次いで、ダイヤモンドパノラマ画像に対応する菱形画像を得るために、得られた2つの合同二等辺三角形画像をモザイク処理することであり得る。
【0063】
または、
別の実施形態では、球形パノラマ画像を得るためにダイヤモンドパノラマ画像を生成する逆のプロセスに従ってダイヤモンドパノラマ画像を逆変換するプロセスに関して、次のとおりであり得る。最初に、新しい圧縮パノラマビデオを取得し、新しい圧縮パノラマビデオを復号して、新しい圧縮パノラマビデオに対応する各ダイヤモンドパノラマ画像を取得することと、各ダイヤモンドパノラマ画像を補間技術で変換および伸張して変換および伸張された画像を得ることと、各ダイヤモンドパノラマ画像に対応する球状パノラマ画像を得るために、変換され伸張された各画像を分割して変換することである。次に、球形パノラマ画像は、球形パノラマ画像からパノラマ画像をレンダリングするために、Open Graphics Libraryシェーダのピクセル逆サンプリング技術またはOpen Graphics Libraryシェーダの三角形パッチテクスチャ描画技術を用いてレンダリングされ得る。
【0064】
具体的には、一実施形態において、ダイヤモンドパノラマ画像の対応するテクスチャ座標は、OpenGLシェーダ(Open Graphics Libraryシェーダ)のピクセル逆サンプリング技術を用いて、パノラマビデオプレーヤの表示視点に対応する球形パノラマ画像のテクスチャ座標を用いて計算することもできる。 これにより、ダイヤモンドパノラマ画像を生成する逆のプロセスに従ってダイヤモンドパノラマ画像を逆変換することなく、かつ球状パノラマ画像を得ることなく、ダイヤモンドパノラマ画像から直接パノラマ画像をレンダリングすることができる。
【0065】
言い換えれば、一実施形態において、ダイヤモンドパノラマ画像の対応するテクスチャ座標は、OpenGLシェーダ(Open Graphics Library shader)のピクセル逆サンプリング技術を用いて、パノラマビデオプレーヤの表示視点に対応する球形パノラマ画像のテクスチャ座標を使用して計算することもできる。さらに、ダイヤモンドパノラマ画像のテクスチャ座標と、パノラマビデオプレーヤの表示視点に対応する球形パノラマ画像のテクスチャ座標との間の対応関係が得られ、この対応関係を用いて、ダイヤモンドパノラマ画像内の各ピクセル点のダイヤモンドパノラマ画像ベースのテクスチャ座標は、球状パノラマ画像ベースのテクスチャ座標に変換され、各ダイヤモンドパノラマ画像に対応する球状パノラマ画像が得られる。
【0066】
パノラマビデオが圧縮され、新しい、圧縮されたパノラマビデオがサーバーによってクライアントに送信され、その後、クライアントは、不要なデータを伝送せずに、サーバーから送信されたパノラマビデオ全体を再生できるため、ネットワーク帯域幅の無駄を削減できる。
【0067】
本発明の実施形態では、パノラマビデオを圧縮しながらパノラマビデオの解像度を維持することができるので、クライアントは、サーバーによって送信されたパノラマビデオを取得し、取得したパノラマビデオを復号した後に、解像度が失われていないパノラマビデオを取得して再生することができる。
【0068】
図2を参照すると、
図2は、本願の一実施形態によって提供されるパノラマビデオの別の圧縮方法の概略フローチャートである。
図2に示す実施形態は、
図1に示す実施形態にS106を追加したものであり、モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットする。
【0069】
つまり、S104とS105の間に上述のS106を追加することができる。上記のプリセットは、分割して得られた画像中のモザイク処理境界にピクセルを繰り返し描画する動作として理解することができる。
【0070】
一実施形態では、モザイク処理によって得られたダイヤモンドパノラマ画像をレンダリングするときに、隣接する三角形の境界のピクセルが境界を横切ってモザイクの継ぎ目が現れるのを防ぐために、逆サンプリングの操作の準線形補間の間、モザイク処理によって得られた画像のモザイク処理されたエッジを処理することができ、すなわち、分割によって得られた画像のモザイク処理された境界のピクセルを繰り返し描画することができる。
【0071】
具体的には、各三角形の水平走査セグメントの境界点に、それらが属する三角形の隣接するピクセルと同じ色を有する1または2または3ピクセルを繰り返し描画することができる。それによって、分離のために繰り返されるピクセルのエッジを形成する。具体的には、実際の用途では、形成されたエッジは二重境界エッジまたは単一境界エッジであり得る。ここで、二重境界は2色の境界であり、単一境界は単色の境界である。
【0072】
上述の単一境界は、モザイク処理されたエッジの三角形のうちの1つの三角形の境界にピクセルを繰り返し描画することによって形成される境界として理解することができ、上記二重境界は、同じモザイク処理されたエッジの2つの三角形の境界にピクセルを繰り返し描画することによって形成される境界として理解することができる。
【0073】
パノラマビデオが圧縮され、新しい、圧縮されたパノラマビデオがサーバーによってクライアントに送信され、その後、クライアントは、不要なデータを伝送せずに、サーバーから送信されたパノラマビデオ全体を再生できるため、ネットワーク帯域幅の無駄を削減できる。また、分割して得られた画像中のモザイク処理する境界にピクセルを繰り返し描画することで、境界のピクセルが境界を横切ってモザイクの継ぎ目が現れるのを防ぐ。
【0074】
図3を参照すると、
図3は、本願の一実施形態によって提供されるパノラマビデオの圧縮装置の概略構造図である。
図1に示すフロープロセスに対応して、圧縮装置は、第1の生成モジュール201と、圧縮モジュール202と、分割モジュール203と、モザイク処理モジュール204と、第2の生成モジュール205とを具備することができる。
【0075】
第1の生成モジュール201は、対象とするパノラマビデオのために対象とするパノラマビデオの各フレーム画像を生成するためのものである。
圧縮モジュール202は、各フレーム画像をそのフレーム画像についてそれぞれ圧縮するためのものである。
【0076】
具体的には、圧縮モジュール202は特に以下のためのものであり得る。
各フレーム画像に対して、補間技術を用いてフレーム画像を菱形画像に圧縮する。ここで、菱形画像の2つの対角線の長さは、それぞれフレーム画像の幅および高さに等しい。
【0077】
分割モジュール203は、圧縮フレーム画像を分割するためのものである。
モザイク処理モジュール204は、分割によって得られた画像をモザイク処理するためのものである。
具体的には、分割モジュール203は、具体的には以下のためのものであり得る。
菱形画像を2つの三角形画像に均等に分割する。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。2つの三角形画像のうち一つを2つの直角三角形画像に均等に分割する。モザイク化モジュール204は、具体的には以下のためのものであり得る。2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像を矩形画像へとモザイク処理する。
【0078】
具体的には、分割モジュール203は、特に以下のためのものであり得る。菱形画像を2つの三角形画像に均等に分割する。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
モザイク処理モジュール204は、具体的には以下のためのものであり得る。2つの三角形画像を、2つの三角形画像とそれぞれ同じ高さおよび同じ面積の2つの直角三角形画像に変換し、2つの直角三角形画像を矩形画像へとモザイク処理する。
【0079】
第2の生成モジュール205は、モザイク処理によって得られた全ての画像に従って新しいパノラマビデオを生成するためのものである。
【0080】
パノラマビデオが圧縮され、新しい、圧縮されたパノラマビデオがサーバーによってクライアントに送信され、その後、クライアントは、不要なデータを伝送せずに、サーバーから送信されたパノラマビデオ全体を再生できるため、ネットワーク帯域幅の無駄を削減できる。
【0081】
図4を参照すると、
図4は、本願の一実施形態によって提供されるパノラマビデオの別の圧縮デバイスの概略構造図である。本願の
図4に示す実施形態は、
図3に示す実施形態に、モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットするための処理モジュール206を追加する。
【0082】
パノラマビデオが圧縮され、新しい、圧縮されたパノラマビデオがサーバーによってクライアントに送信され、その後、クライアントは、不要なデータを伝送せずに、サーバーから送信されたパノラマビデオ全体を再生できるため、ネットワーク帯域幅の無駄を削減できる。また、分割して得られた画像中のモザイク処理する境界にピクセルを繰り返し描画することで、境界のピクセルが境界を横切ってモザイクの継ぎ目が現れるのを防ぐ。
【0083】
本願の一実施形態は、
図8に示すように、プロセッサ810と、通信インターフェース820と、メモリ830と、通信バス840とを備えることができる電子機器をさらに提供する。ここで、プロセッサ810、通信インターフェース820、およびメモリ830の間の相互通信は、通信バスを介して達成される。
メモリ830は、コンピュータプログラムを格納するためのものである。
プロセッサ810は、メモリに格納されたコンピュータプログラムを実行するときに本願の実施形態によって提供されるパノラマビデオの圧縮方法を実施するためのものであり、パノラマビデオの圧縮方法は以下のステップを含むことができる。
対象とするパノラマビデオについて、対象とするパノラマビデオの各フレーム画像を生成するステップ。
それぞれのフレーム画像について、フレーム画像を圧縮するステップ。
圧縮フレーム画像を分割するステップ。
分割した画像をモザイク処理するステップ。
モザイク処理によって得られたすべての画像に従って新しいパノラマビデオを生成するステップ。
【0084】
本願の実施形態を実施することにより、電子機器のプロセッサは、本出願の実施形態によって提供されるパノラマビデオの圧縮方法を実行するためにメモリに格納されたコンピュータプログラムを実行する。したがって、プロセッサは、パノラマビデオが圧縮され、新しい圧縮パノラマビデオがサーバーによってクライアントに送信され、その後、クライアントは、不要なデータを伝送せずに、サーバーから送信されたパノラマビデオ全体を再生できるため、ネットワーク帯域幅の無駄を削減できる。
【0085】
任意選択で、各フレーム画像について達成するプロセスの実行中、フレーム画像の圧縮中に、電子機器は特に以下のためのものである。
各フレーム画像に対して、補間技術を用いてフレーム画像を菱形画像に圧縮する。ここで、菱形画像の2つの対角線の長さは、それぞれフレーム画像の幅および高さに等しい。
【0086】
任意選択で、圧縮フレーム画像の分割を達成するプロセスの実行中に、電子機器は特に以下のためのものである。
菱形画像を2つの三角形画像に均等に分割する。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
分割により得られた画像のモザイク処理を達成するプロセスの実行中に、電子機器は特に以下のためのものである。
2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像を矩形画像へとモザイク処理する。
【0087】
任意選択で、圧縮フレーム画像の分割を達成するプロセスの実行中に、電子機器は特に以下のためのものである。
菱形画像を2つの三角形画像に均等に分割する。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
分割によって得られた画像のモザイク処理を達成するプロセスの実行中に、電子機器は特に以下のためのものである。
2つの三角形画像を、2つの三角形画像と同じ高さで同じ面積の2つの直角三角形画像に変換する。
2つの直角三角形画像を矩形画像にモザイク処理する。
【0088】
任意選択で、モザイク処理を通じて取得されたすべての画像に従って新しいパノラマビデオを生成するプロセスを実行する前に、電子機器はさらに以下のためのものである。
モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットする。
【0089】
上記の電子機器に搭載されている通信バスは、PCI(Peripheral Component Interconnect)バス、またはEISA(Extended Industry Standard Architecture)バスなどであり得る。通信バスは、アドレスバス、データバス、コントロールバスなどに分けられる。表現を容易にするために、通信バスは図中では太線でのみ表されているが、それはただ1つのバスまたは1つのタイプのバスがあることを意味するのではない。
【0090】
通信インターフェースは、上記電子機器と他の機器との間の通信を行うためのものである。
【0091】
メモリは、ランダムアクセスメモリ(RAM)、または少なくとも1つのディスクメモリなどの不揮発性メモリ(NVM)を含むことができる。任意選択で、メモリは、上述のプロセッサから離れて配置された少なくとも1つの記憶装置とすることができる。
【0092】
上述のプロセッサは、中央処理装置(CPU)、ネットワークプロセッサ(NP)、またはデジタル信号プロセッサ(デジタル信号処理、DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどを含む一般的なプロセッサとすることができる。
【0093】
本願によって提供されるさらに別の実施形態では、コンピュータ可読記憶媒体がさらに提供される。ここで、コンピュータ可読記憶媒体は、コンピュータ上で実行されると、コンピュータに上記実施形態のいずれかによるパノラマビデオの圧縮方法を実行させる命令を格納する。ここで、パノラマビデオの圧縮方法は、以下のステップを含むことができる。
対象とするパノラマビデオについて、対象パノラマビデオの各フレーム画像を生成するステップ。
それぞれのフレーム画像について、フレーム画像を圧縮するステップ。
圧縮フレーム画像を分割するステップ。
分割により得られた画像をモザイク処理するステップ。
モザイク処理によって得られたすべての画像に従って新しいパノラマビデオを生成するステップ。
【0094】
本願の実施形態を実施することにより、コンピュータ可読記憶媒体は、本出願の実施形態によって提供されるパノラマビデオの圧縮方法をコンピュータに実行させる命令を記憶する。したがって、コンピュータ可読記憶媒体は、パノラマビデオが圧縮され、新しい圧縮パノラマビデオがサーバーによってクライアントに送信され、その後、クライアントが、不要なデータを伝送することなく、サーバーによって送信されたパノラマビデオ全体を再生することができる。したがって、ネットワーク帯域幅の無駄を減らすことができる。
【0095】
任意選択で、各フレーム画像についてフレーム画像の圧縮は以下を含む。
各フレーム画像について、補間技術を用いてフレーム画像を菱形画像に圧縮すること。ここで、菱形画像の2つの対角線の長さは、それぞれフレーム画像の幅および高さに等しい。
【0096】
任意選択で、圧縮フレーム画像を分割することは、以下を含む。
菱形画像を2つの三角形画像に均等に分割すること。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
2つの三角形画像のうち一つを2つの直角三角形画像に均等に分割すること。
分割によって得られた画像のモザイク処理は以下を含む。
2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像を矩形画像へとモザイク処理すること。
【0097】
任意選択で、圧縮フレーム画像の分割は以下を含む。
菱形画像を2つの三角形画像に均等に分割すること。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
分割によって得られた画像のモザイク処理は以下を含む。
2つの三角形画像を、2つの三角形画像と同じ高さで同じ面積の2つの直角三角形画像に変換すること。
2つの直角三角形画像を矩形画像にモザイク処理すること。
【0098】
任意選択で、モザイク処理を通じて取得されたすべての画像に従って新しいパノラマビデオを生成する前に、方法はさらに以下を含む。
モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットすること。
【0099】
本出願によって提供されるさらに別の実施形態では、命令を含むコンピュータプログラム製品、コンピュータ上で実行されると、コンピュータに上記の実施形態のいずれかによるパノラマビデオの圧縮方法を実行させるコンピュータプログラム製品がさらに提供される。ここで、パノラマビデオの圧縮方法は、以下のステップを含むことができる。
対象とするパノラマビデオについて、対象パノラマビデオの各フレーム画像を生成するステップ。
それぞれのフレーム画像について、フレーム画像を圧縮するステップ。
圧縮フレーム画像を分割するステップ。
分割により得られた画像をモザイク処理するステップ。
モザイク処理によって得られたすべての画像に従って新しいパノラマビデオを生成するステップ。
【0100】
本願の実施形態を実施することによって、命令を含むコンピュータプログラム製品は、コンピュータ上で実行されると、本発明の実施形態によって提供されるパノラマビデオの圧縮方法をコンピュータに実行させる。したがって、コンピュータプログラム製品は、パノラマビデオが圧縮され、新しい圧縮パノラマビデオがサーバーによってクライアントに送信され、その後、クライアントが、不要なデータを伝送することなく、サーバーによって送信されたパノラマビデオ全体を再生することができる。したがって、ネットワーク帯域幅の無駄を減らすことができる。
【0101】
任意選択で、各フレーム画像についてフレーム画像の圧縮は以下を含む。
各フレーム画像について、補間技術を用いてフレーム画像を菱形画像に圧縮すること。ここで、菱形画像の2つの対角線の長さは、それぞれフレーム画像の幅および高さに等しい。
【0102】
任意選択で、圧縮フレーム画像を分割することは、以下を含む。
菱形画像を2つの三角形画像に均等に分割すること。ここで、2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
2つの三角形画像のうち一つを2つの直角三角形画像に均等に分割すること。
分割によって得られた画像のモザイク処理は以下を含む。
2つの三角形画像のうちの均等に分割されていないほうの三角形画像と2つの直角三角形画像を矩形画像へとモザイク処理すること。
【0103】
任意選択で、圧縮フレーム画像の分割は以下を含む。
菱形画像を2つの三角形画像に均等に分割すること。2つの三角形画像両方の高さはフレーム画像の高さの半分であるか、または2つの三角形画像両方の高さはフレーム画像の幅の半分である。
分割によって得られた画像のモザイク処理は以下を含む。
2つの三角形画像を、2つの三角形画像と同じ高さで同じ面積の2つの直角三角形画像に変換すること。
2つの直角三角形画像を矩形画像へとモザイク処理すること。
【0104】
任意選択で、モザイク処理を通じて取得されたすべての画像に従って新しいパノラマビデオを生成する前に、方法はさらに以下を含む。
モザイク処理によって得られた画像のモザイク処理されたエッジをプリセットすること。
【0105】
上記の実施形態は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせによって全体的にまたは部分的に実装することができる。ソフトウェアにより実施される場合、全体としてまたは部分的にコンピュータプログラム製品の形で実施することができる。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされ実行されると、本願の実施形態に従って記述されたフロープロセスまたは機能の全部または一部が生成される。コンピュータは、一般的なコンピュータ、専用のコンピュータ、コンピュータネットワーク、または他のプログラム可能な装置とすることができる。コンピュータ命令は、コンピュータ可読記憶媒体に格納することができ、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信することができる。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバー、またはデータセンタから他のウェブサイト、コンピュータ、サーバー、またはデータセンタに有線方式(例えば、同軸ケーブル、光ファイバ、デジタル加入者線(DSL))または無線方式(例えば、赤外線、無線、マイクロ波など)で送信することができる。コンピュータ可読記憶媒体は、コンピュータによってアクセスすることができる任意の利用可能な媒体、またはサーバー、1つまたは複数の利用可能な媒体を統合するデータセンタなどのデータ記憶装置とすることができる。利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、磁気テープ)、光学媒体(例えば、DVD)または半導体媒体(例えば、ソリッドステートディスク(SSD))などであり得る。
【0106】
本明細書における「第1」、「第2」などの関係用語は、ある物または動作を別の物または動作から区別するためにのみ使用され、必ずしもこれらの物または動作間にそのような実際の関係または順序があることを要求または示唆するものではないことに留意されたい。さらに、用語「含む」またはそれらの任意の変形は、非排他的な包含を含むことを意図しており、そのため、一連の要素を含むプロセス、方法、物品または装置は、それらの要素だけでなく、明示的に列挙されていない他の要素またはそれらのプロセス、方法、物品もしくは装置に固有の要素も含む。さらに限定されない限り、「?を含む」という文言によって限定される要素は、その要素を含むプロセス、方法、物品、または装置にさらなる同一の要素があることを排除するものではない。
【0107】
本明細書における全ての実施形態は相互に関連して記載されており、様々な実施形態における同一または類似の部分は互いに参照することができ、各実施形態の説明は全て他の実施形態との相違点に焦点を合わせている。特に、装置の実施形態は簡潔に説明され、装置の実施形態は方法の実施形態と実質的に同様であるので、関連する事項に関して方法の実施形態の説明の一部を参照することができる。