(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-26
(54)【発明の名称】映像を処理する方法、映像を再生する方法及びその装置
(51)【国際特許分類】
H04N 21/2662 20110101AFI20220119BHJP
H04N 21/2343 20110101ALI20220119BHJP
【FI】
H04N21/2662
H04N21/2343
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021530053
(86)(22)【出願日】2019-09-18
(85)【翻訳文提出日】2021-05-26
(86)【国際出願番号】 KR2019012057
(87)【国際公開番号】W WO2020111474
(87)【国際公開日】2020-06-04
(31)【優先権主張番号】10-2018-0149921
(32)【優先日】2018-11-28
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】517448504
【氏名又は名称】カイ インコーポレイテッド
(74)【代理人】
【識別番号】100136098
【氏名又は名称】北野 修平
(74)【代理人】
【識別番号】100137246
【氏名又は名称】田中 勝也
(74)【代理人】
【識別番号】100158861
【氏名又は名称】南部 史
(74)【代理人】
【識別番号】100194674
【氏名又は名称】青木 覚史
(74)【代理人】
【識別番号】100187908
【氏名又は名称】山本 康平
(72)【発明者】
【氏名】チョン スンファ
(72)【発明者】
【氏名】イ ジョンジン
(72)【発明者】
【氏名】イ サンウ
(72)【発明者】
【氏名】キム ギェヒョン
(72)【発明者】
【氏名】ハン ソンギュ
(72)【発明者】
【氏名】イ ジュヨン
(72)【発明者】
【氏名】キム ヨンヒ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164MB13S
5C164PA33
5C164PA38
5C164SB02P
5C164SC03P
5C164UD44S
(57)【要約】
一実施形態に係る映像を処理する方法は、複数のフレームを含む第1映像を受信し、複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得し、重要度情報に基づいて第1映像の少なくとも1つの領域のためのグリッドの軸を決定し、グリッドの軸に基づいて第1映像を符号化し、第2映像を生成し、第2映像及びグリッドの軸に関する情報を出力する。
【特許請求の範囲】
【請求項1】
複数のフレームを含む第1映像を受信するステップと、
前記複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得するステップと、
前記重要度情報に基づいて、前記第1映像の少なくとも1つの領域のためのグリッドの軸を決定するステップと、
前記グリッドの軸に基づいて前記第1映像を符号化し、第2映像を生成するステップと、
前記第2映像及び前記グリッドの軸に関する情報を出力するステップと、
を含む、映像を処理する方法。
【請求項2】
前記グリッドの軸を決定するステップは、前記重要度情報に基づいて、前記少なくとも1つの領域の解像度が保持され、前記少なくとも1つの領域を除いた残りの領域の解像度がダウンサンプリングされるように、前記グリッドの軸を決定するステップを含む、請求項1に記載の映像を処理する方法。
【請求項3】
前記グリッドの軸を決定するステップは、予め設定された映像のターゲット容量に基づいて、前記第1映像の複数のフレームに含まれた少なくとも1つの領域のためのグリッドの個数、及びグリッドのターゲット解像度のうち少なくとも1つを設定することで前記グリッドの軸を決定するステップを含む、請求項1に記載の映像を処理する方法。
【請求項4】
前記グリッドの軸を決定するステップは、
前記第1映像のソース解像度を、前記グリッドのターゲット解像度に対応する第1領域の第1解像度で決定することにより前記グリッドの軸を決定するステップと、
前記第1領域を除いた残りの第2領域の解像度が、前記第1解像度よりも低い第2解像度でダウンサンプリングされるように前記グリッドの軸を決定するステップと、
前記第1領域に隣接する第3領域の解像度が、前記第1解像度から前記第2解像度まで徐々に変化される第3解像度でダウンサンプリングされるように前記グリッドの軸を決定するステップと、
のうち少なくとも1つを含む、請求項3に記載映像を処理する方法。
【請求項5】
前記第2解像度は、前記予め設定された映像のターゲット容量に基づいて決定される、請求項4に記載映像を処理する方法。
【請求項6】
前記グリッドの軸を決定するステップは、前記グリッドに含まれたコラムの大きさ及びローの大きさを決定するステップを含む、請求項1に記載映像を処理する方法。
【請求項7】
前記コラムの大きさ及びローの大きさを決定するステップは、前記重要度情報によって指示される重要度が、予め設定された基準に比べて高い領域であるほど、該当する領域のためのコラムの大きさ及びローの大きさのうち少なくとも1つを増加させるステップを含む、請求項6に記載映像を処理する方法。
【請求項8】
前記第2映像を生成するステップは、前記グリッドの軸に基づいて前記第1映像を複数の領域に区分するステップと、
前記複数の領域の大きさに応じて、前記第1映像の情報をサンプリングするステップと、
を含む、請求項1に記載の映像を処理する方法。
【請求項9】
前記出力するステップは、
前記グリッドの軸に関する情報を視覚的に符号化するステップと、
前記視覚的に符号化された情報と前記第2映像とを結合して出力するステップと、
を含む、請求項1に記載の映像を処理する方法。
【請求項10】
前記重要度情報を取得するステップは、
前記第1映像をモニタリングする製造者端末から、前記第1映像の各フレームの少なくとも1つの領域に対応して設定された前記重要度情報を受信するステップと、
予め学習された神経網によって前記第1映像の各フレームの少なくとも1つの領域に対応してリアルタイムで決定された重要度情報を受信するステップと、
のうち少なくとも1つを含む、請求項1に記載の映像を処理する方法。
【請求項11】
前記第1映像は、360度の仮想現実ライブストリーミングコンテンツを含む、請求項1に記載の映像を処理する方法。
【請求項12】
前記第2映像及び前記グリッドの軸に関する情報をクラウドストレージに格納するステップをさらに含む、請求項1に記載の映像を処理する方法。
【請求項13】
複数の解像度を含む複数の領域を有する映像を取得するステップと、
前記複数の領域を区分するグリッドの軸に関する情報を取得するステップと、
前記グリッドの軸に関する情報に基づいて前記映像を再生するステップと、
を含む、映像を再生する方法。
【請求項14】
前記グリッドの軸に関する情報は、前記グリッドに含まれたコラムの大きさ及びローの大きさを含む、請求項13に記載の映像を再生する方法。
【請求項15】
前記映像から、前記映像の少なくとも1つの領域に対応する前記グリッドの軸に関する情報を抽出するステップを含む、請求項13に記載の映像を再生する方法。
【請求項16】
前記映像を再生するステップは、前記映像及び前記グリッドの軸に関する情報に基づいて、前記複数の領域をレンダリングするステップを含む、請求項13に記載の映像を再生する方法。
【請求項17】
前記映像を再生するステップは、前記レンダリングされた複数の領域のうち、再生カメラの現在時点に対応する少なくとも一部の領域を再生するステップをさらに含む、請求項16に記載の映像を再生する方法。
【請求項18】
請求項1を実行させるためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【請求項19】
複数のフレームを含む第1映像を受信する通信インターフェースと、
前記複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得し、前記重要度情報に基づいて前記第1映像の少なくとも1つの領域のためのグリッドの軸を決定し、前記グリッドの軸に基づいて前記第1映像を符号化して第2映像を生成するプロセッサと、
を含み、
前記通信インターフェースは、前記第2映像及び前記グリッドの軸に関する情報を出力する、映像を処理する装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の実施形態は、映像を処理する方法、映像を再生する方法及びその装置に関する。
【背景技術】
【0002】
ストリーミング(streaming)を提供するためにユーザ視点に基盤する方法とコンテンツに基盤する方法を使用することができる。ユーザ視点に基盤する方法は、ユーザが見ている領域、言い換えれば、ユーザの視点に対応する領域のみをハイクオリティーで符号化してストリーミングする方法である。ユーザ視点に基盤する方法として、ユーザが視点を急に変える場合、画質変化のレイトンシ(Latency)が生じ得る。また、ユーザ視点に基盤する方法として、1つのコンテンツを視点ごとに相違にマルチ符号化を行う場合、映像の容量及び算出過負荷が生じ得る。
【0003】
コンテンツに基盤する方法は、イメージの重要度に基づいて映像の各グリッド(grid)の広さを最適化してストリーミングする方法である。コンテンツに基盤する方法では、イメージの重要度を算出し、各グリッドの広さを最適化するために多い時間が費やされることがある。
【発明の概要】
【課題を解決するための手段】
【0004】
一実施形態によれば、映像を処理する方法は、複数のフレームを含む第1映像を受信するステップと、前記複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得するステップと、前記重要度情報に基づいて、前記第1映像の少なくとも1つの領域のためのグリッドの軸を決定するステップと、前記グリッドの軸に基づいて前記第1映像を符号化し、第2映像を生成するステップと、前記第2映像及び前記グリッドの軸に関する情報を出力するステップとを含む。
【0005】
前記グリッドの軸を決定するステップは、前記重要度情報に基づいて、前記少なくとも1つの領域の解像度が保持され、前記少なくとも1つの領域を除いた残りの領域の解像度がダウンサンプリングされるように、前記グリッドの軸を決定するステップを含むことができる。
【0006】
前記グリッドの軸を決定するステップは、予め設定された映像のターゲット容量に基づいて、前記第1映像の複数のフレームに含まれた少なくとも1つの領域のためのグリッドの個数、及びグリッドのターゲット解像度のうち少なくとも1つを設定することで前記グリッドの軸を決定するステップを含むことができる。
【0007】
前記グリッドの軸を決定するステップは、前記第1映像のソース解像度を、前記グリッドのターゲット解像度に対応する第1領域の第1解像度で決定することにより前記グリッドの軸を決定するステップと、前記第1領域を除いた残りの第2領域の解像度が、前記第1解像度よりも低い第2解像度でダウンサンプリングされるように前記グリッドの軸を決定するステップと、前記第1領域に隣接する第3領域の解像度が、前記第1解像度から前記第2解像度まで徐々に変化される第3解像度でダウンサンプリングされるように前記グリッドの軸を決定するステップのうち少なくとも1つを含むことができる。
【0008】
前記第2解像度は、前記予め設定された映像のターゲット容量に基づいて決定されることができる。
【0009】
前記グリッドの軸を決定するステップは、前記グリッドに含まれたコラムの大きさ及びローの大きさを決定するステップを含むことができる。
【0010】
前記コラムの大きさ及びローの大きさを決定するステップは、前記重要度情報によって指示される重要度が、予め設定された基準に比べて高い領域であるほど、該当する領域のためのコラムの大きさ及びローの大きさのうち少なくとも1つを増加させるステップを含むことができる。
【0011】
前記第2映像を生成するステップは、前記グリッドの軸に基づいて前記第1映像を複数の領域に区分するステップと、前記複数の領域の大きさに応じて、前記第1映像の情報をサンプリングするステップとを含むことができる。
【0012】
前記出力するステップは、前記グリッドの軸に関する情報を視覚的に符号化するステップと、前記視覚的に符号化された情報と前記第2映像とを結合して出力するステップとを含むことができる。
【0013】
前記重要度情報を取得するステップは、前記第1映像をモニタリングする製造者端末から、前記第1映像の各フレームの少なくとも1つの領域に対応して設定された前記重要度情報を受信するステップと、予め学習された神経網によって前記第1映像の各フレームの少なくとも1つの領域に対応してリアルタイムで決定された重要度情報を受信するステップのうち少なくとも1つを含むことができる。
【0014】
前記第1映像は、360度の仮想現実ライブストリーミングコンテンツを含むことができる。
【0015】
前記映像を処理する方法は、前記第2映像及び前記グリッドの軸に関する情報をクラウドストレージ(Cloud storage)に格納するステップをさらに含むことができる。
【0016】
一側面によると、映像を生成する方法は、複数の解像度を含む複数の領域を有する映像を取得するステップと、前記複数の領域を区分するグリッドの軸に関する情報を取得するステップと、前記グリッドの軸に関する情報に基づいて前記映像を再生するステップとをさらに含む。
【0017】
前記グリッドの軸に関する情報は、前記グリッドに含まれたコラムの大きさ及びローの大きさを含むことができる。
【0018】
前記映像を復号化する方法は、前記映像から、前記映像の少なくとも1つの領域に対応する前記グリッドの軸に関する情報を抽出するステップを含むことができる。
【0019】
前記映像を再生するステップは、前記映像及び前記グリッドの軸に関する情報に基づいて、前記複数の領域をレンダリングするステップを含むことができる。
【0020】
前記映像を再生するステップは、前記レンダリングされた複数の領域のうち、再生カメラの現在時点に対応する少なくとも一部の領域を再生するステップをさらに含むことができる。
【0021】
一側面によると、映像処理装置は、複数のフレームを含む第1映像を受信する通信インターフェースと、前記複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得し、前記重要度情報に基づいて前記第1映像の少なくとも1つの領域のためのグリッドの軸を決定し、前記グリッドの軸に基づいて前記第1映像を符号化して第2映像を生成するプロセッサとを含み、前記通信インターフェースは、前記第2映像及び前記グリッドの軸に関する情報を出力する。
【0022】
一側面によると、映像再生装置は、複数の解像度を含む複数の領域を有する映像を取得する通信インターフェースと、前記複数の領域を区分するグリッドの軸に関する情報を取得し、前記グリッドの軸に関する情報に基づいて前記映像を再生するプロセッサとを含む。
【図面の簡単な説明】
【0023】
【
図1】一実施形態に係る映像を処理する方法を説明するための図である。
【
図2】一実施形態に係る映像を処理する方法を示したフローチャートである。
【
図3】一実施形態によって重要度情報を取得する方法を説明するための図である。
【
図4】一実施形態によって第2映像を生成する方法を説明するための図である。
【
図5】一実施形態に係る映像を再生する方法を説明するための図である。
【
図6】一実施形態に係る映像を再生する方法を示したフローチャートである。
【
図7】一実施形態に係る映像処理システムの構成を説明するための図である。
【
図8】一実施形態に係る映像処理装置又は映像再生装置のブロック図である。
【発明を実施するための形態】
【0024】
本明細書で開示する特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示したものであり、実施形態は様々な異なる形態で実施され、本発明は本明細書で説明した実施形態に限定されるものではない。
【0025】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に第2構成要素は第1構成要素にも命名することができる。
【0026】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0027】
一方、ある構成要素が他の構成要素に「直接連結されている」か「直接接続されている」と言及されるときには、中間に他の構成要素が存在しないものと理解されなければならない。構成要素間の関係を説明する表現、例えば、「~間に」と「すぐの間に」、又は「に隣接する」と「~に直接隣接する」なども同様に解釈されなければならない。
【0028】
単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0029】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0030】
図1は、一実施形態に係る映像を処理する方法を説明するための図である。
図1を参照すると、一実施形態に係る映像を処理する装置(以下、「映像処理装置」)130は、例えば、モニタリングサーバ110又は製造者端末120から重要度情報103を取得してもよい。ここで、重要度情報は、オリジナル映像101の複数のフレームに含まれた領域の重要度を指示する情報であってもよい。重要度情報103は、オリジナル映像101の各フレームの少なくとも1つの領域に対応して設定されてもよい。重要度情報は、マスキング(masking)あるいはヒートマップ(heatmap)などの様々形態に表現されてもよい。重要度情報103は、例えば、オリジナル映像101の複数のフレームに含まれた少なくとも1つの領域の重要度の他にも、複数のフレームのうち少なくとも1つ領域を含むフレームの再生時点、少なくとも1つの領域に含まれた頂点(vertices)の個数、少なくとも1つの領域に対応するマスク(mask)の番号などをさらに含んでもよい。
【0031】
重要度情報103は、例えば、オリジナル映像101をモニタリングするモニタリングサーバ110を介して設定されてもよく、製造者端末120によって設定されてもよい。製造者は、例えば、次の
図3に示すように、製造者端末120に提供されるモニタリングアプリケーションを介してオリジナル映像101に対する重要度情報103を設定してもよい。又は、モニタリングサーバ110は、予め学習された神経網によってオリジナル映像101に対して自動で重要度情報103を設定してもよい。オリジナル映像101がライブ映像である場合、モニタリングサーバ110は、重要度情報103をリアルタイムに生成することができる。神経網は、例えば、多い視聴者が観覧した視聴者の視点を基準にして、オリジナル映像101で重要度の高い領域、言い換えれば、重要領域を認識するように予め学習された神経網であってもよい。又は、神経網は、例えば、オリジナル映像101に含まれた観客を除いた公演者、公演舞台などのように、重要度の高い領域を認識するように予め学習された神経網であってもよい。神経網は、例えば、畳み込みレイヤ(Convolution Layer)を含む深層神経網(Deep Neural Network)であってもよい。
【0032】
オリジナル映像101は、様々なストリーミングプロトコル(streaming protocol)を介して送出された360度のコンテンツ映像であってもよい。ストリーミングプロトコルは、オーディオ、ビデオ、及びその他のデータなどをインターネットを介してストリーミングするために使用されるプロトコルであり、例えば、リアルタイムメッセージングプロトコル(Real Time Messaging Protocol;RTMP)やHLSなどを含んでもよい。オリジナル映像101は、例えば、幅(w)×高さ(h)の大きさを有する映像であってもよい。ここで、幅(w)は、全体コラム(column)が幅方向にて占めている大きさであり、高さ(h)は、全体ロー(row)が高さ方向にて占めている大きさである。以下、説明の便宜のために、オリジナル映像101は「第1映像」と呼ぶ。
【0033】
映像処理装置130は、通信インターフェース131を介してオリジナル映像101及び重要度情報103を受信する。映像処理装置130は、重要度情報103に基づいてオリジナル映像101の少なくとも1つの領域の大きさを決定する。映像処理装置130は、グリッド140に該当する重要領域の解像度が保持され、重要領域を除いた残りの領域の解像度は、ダウンサンプリング(down-sampling)されるようにグリッドの軸を決定することができる。
【0034】
映像処理装置130は、例えば、重要度情報103に基づいてオリジナル映像101の少なくとも1つの領域のためのグリッド(grid)の軸を決定することで、少なくとも1つの領域の大きさを最適化することができる。最適化の過程において、映像処理装置は、各フレームにグリッド140を生成してもよい。映像処理装置130は、例えば、予め設定された映像のターゲット容量に基づいて、グリッド140の各行と各列の単位で、少なくとも1つの領域の重要度に応じる最適の広さ値を算出することができる。
【0035】
映像処理装置130は、グリッドの軸に関する情報に基づいてオリジナル映像101を符号化することで、ライブストリーミングサービスのための映像105を生成することができる。ここで、グリッドの軸に関する情報は、グリッド140に含まれたコラムの大きさ及びローの大きさに対する情報を含んでもよい。映像105は、例えば、幅(w’)×高さ(h’)の大きさを有する映像であってもよい。以下、説明の便宜のために、ストリーミングサービスのための映像105は「第2映像」と呼ぶ。ストリーミングサービスは、リアルタイム(live)放送のためのストリーミングサービスとVOD再生のためのストリーミングサービスを含んでもよい。以下、説明の便宜のためのライブストリーミングサービスを仮定する。
【0036】
映像処理装置130は、映像105及びグリッドの軸に関する情報を出力する。ここで、グリッドの軸に関する情報は、カラー符号化(color encoding)され、映像105に含まれてもよい。映像処理装置130は、例えば、ライブストリーミングサービスを提供するサービスサーバ(
図7に示すサービスサーバ710を参照)であってもよい。
【0037】
一実施形態に係る映像処理装置130は、前述したグリッドの軸に関する情報を介して各グリッドの広さを決定するために費やされる時間を減らす一方、重要領域の解像度は保持するものの、重要領域を除いた残りの領域の解像度は低下させることで映像コンテンツの全体容量を減らし、コンテンツに基盤したストリーミングサービスをリアルタイムに提供することができる。
【0038】
図2は、一実施形態に係る映像を処理する方法を示したフローチャートである。
図2を参照すると、一実施形態に係る映像を処理する装置(以下、「映像処理装置」)は、複数のフレームを含む第1映像を受信する(210)。第1映像は、例えば、ライブストリームプロトコルを介して送出された360度の映像であってもよい。
【0039】
映像処理装置は、複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得する(220)。ここで、少なくとも1つの領域の重要度は、例えば、第1映像内の複数のフレームのそれぞれに対応する領域のピクセルのイメージ勾配(image gradient)、各領域におけるエッジ検出の有無、各領域に含まれている頂点(又は、特徴点)の個数、及び各領域におけるオブジェクト(例えば、ヒト、動物、自動車など)の検出の有無などに基づいて決定されることができる。
【0040】
例えば、第1映像内の少なくとも1つの領域のピクセルのイメージ勾配が予め決定された基準よりも大きいか同一である場合、少なくとも1つの領域の重要度は高く決定されてもよい。又は、第1映像内の少なくとも1つの領域のピクセルのイメージ勾配が予め決定された基準よりも小さい場合、少なくとも1つの領域の重要度は低く決定されてもよい。
【0041】
例えば、第1映像内の少なくとも1つの領域がエッジに該当する場合、少なくとも1つの領域の重要度は高く決定されてもよい。第1領域内の少なくとも1つの領域がエッジに該当しない場合、少なくとも1つの領域の重要度は低く決定されてもよい。又は、例えば、第1映像内の少なくとも1つの領域がオブジェクト(例えば、ヒト、モノなど)に該当する場合、少なくとも1つの領域の重要度は高く決定されてもよい。少なくとも1つの領域の重要度は、例えば、0から1、又は0から10の間の値を有してもよい。
【0042】
映像処理装置は、例えば、第1映像をモニタリングする製造者端末から、第1映像の各フレームの少なくとも1つの領域に対応して設定された重要度情報を受信してもよい。又は、映像処理装置は、予め学習された神経網によって第1映像の各フレームの少なくとも1つの領域に対応し、リアルタイムで決定された重要度情報を受信してもよい。映像処理装置が製造者端末から重要度情報を取得する方法について、次の
図3を参照して具体的に説明する。
【0043】
映像処理装置は、重要度情報に基づいて第1映像の少なくとも1つの領域のためのグリッドの軸を決定する(230)。映像処理装置は、重要度情報に基づいて、少なくとも1つの領域の解像度が保持され、少なくとも1つの領域を除いた残りの領域の解像度がダウンサンプリングされるように、グリッドの軸を決定することができる。映像処理装置は、グリッドに含まれたコラムの大きさ及びローの大きさを決定する。映像処理装置は、例えば、重要度情報により指示される重要度が予め設定された基準に比べて高い領域であるほど、該当する領域のためのコラムの大きさ及びローの大きさのうち少なくとも1つを増加させてもよい。又は、映像処理装置は、例えば、重要度情報により指示される重要度が予め設定された基準に比べて低い領域であるほど、該当する領域のためのコラムの大きさ及びローの大きさのうち少なくとも1つを低減させてもよい。
【0044】
映像処理装置は、例えば、予め設定された映像のターゲット容量に基づいて、第1映像の複数のフレームに含まれた少なくとも1つの領域のためのグリッドの個数及びグリッドのターゲット解像度のうち少なくとも1つを設定することで、グリッドの軸を決定することができる。例えば、映像のターゲット容量が720Mbyteであると仮定する。映像処理装置は、重要領域のためのグリッドの個数、当該グリッドのターゲット解像度、及び当該グリッドを除いた残りの領域の解像度に応じる映像の全て容量が、ターゲット容量である720Mbyteを超過しないようにグリッドの軸を決定することができる。
【0045】
ステップ230において、映像処理装置は、第1映像のソース解像度、言い換えれば、オリジナル映像の解像度をグリッドに対応する第1領域の第1解像度に決定することで、グリッドの軸を決定する。又は、映像処理装置は、第1領域を除いた残りの第2領域の解像度が第1解像度よりも低い第2解像度でダウンサンプリングされるようにグリッドの軸を決定してもよい。ここで、第2解像度は、予め設定された映像のターゲット容量に基づいて決定されることができる。例えば、予め設定された映像のターゲット容量で第1領域による容量を除いた残りの容量に基づいて、第2解像度が決定されてもよい。
【0046】
その他にも、映像処理装置は、第1領域に隣接する第3領域の解像度が第1解像度から第2解像度まで徐々に変化される第3解像度でダウンサンプリングされるようにグリッドの軸を決定してもよい。
【0047】
映像処理装置は、グリッドの軸に基づいて第1映像を符号化し、第2映像を生成する(240)。映像処理装置は、グリッドの軸に基づいて第1映像を複数の領域に区分する。映像処理装置は、複数の領域の大きさに応じて第1映像の情報をサンプリングして第2映像を生成する。映像処理装置は、予め設定されたコーデック(codec)で第1映像を符号化して第2映像を生成する。映像処理装置が第2映像を生成する方法については、次の
図4を参照して具体的に説明する。
【0048】
映像処理装置は、第2映像及びグリッドの軸に関する情報を出力する(250)。映像処理装置は、グリッドの軸に関する情報を視覚的に符号化する。映像処理装置は、視覚的に符号化された情報と第2映像とを結合して出力する。映像処理装置は、例えば、グリッドの軸に関する情報を第2映像にカラー符号化して出力してもよい。実施形態により、グリッドの軸に関する情報を符号化する方式及び出力(あるいは送信)する方式は様々に変形されてもよい。
【0049】
映像処理装置は、第2映像及びグリッドの軸に関する情報を、例えば、クラウドストレージ(Cloud storage)に格納してもよい。
【0050】
図3は、一実施形態によって重要度情報を取得する方法を説明するための図である。
図3を参照すると、重要度情報を設定するためにモニタリングアプリケーションを介して製造者端末に提供される画面300が示されている。
【0051】
画面300には、オリジナル映像(例えば、オリジナルビデオストリーム)310が提供される。製造者は、オリジナルビデオストリームを生中継しながら重要領域にマスクを指定することで、少なくとも1つの領域の重要度を指示する重要度情報を映像処理装置に提供することができる。製造者は、例えば、オリジナル映像310に対するマウスクリック(mouse click)及び/又はドラッグ(dragging)などの動作により、少なくとも1つの領域に対してマスクを設定してもよい。製造者に提供されるモニタリングアプリケーションは、ユーザインターフェース340を介してオリジナル映像310に対するリアルタイムモニタリング、重要度マスト生成、及び編集機能などを提供することができる。
【0052】
オリジナル映像310には、例えば、球状モデル(Sphere-shaped model)の表面を複数の多角形に分割するメッシュ(mesh)の頂点315が共に表示されてもよい。ここで、分割された複数の多角形の面積は同一であってもよい。
【0053】
製造者は、例えば、ユーザインターフェース340を介してオリジナル映像310に2つのマスク320、330を指定してもよい。また、製造者は、ユーザインターフェース340を介して2つのマスク320、330に対応する領域それぞれの重要度、2つのマスク320、330を含むフレームの再生時点、2つのマスク320、330に対応する領域それぞれに含まれている頂点の個数、及び/又は少なくとも1つの領域に対応するマスクの番号などを設定してもよい。前述した領域それぞれの重要度、領域を含むフレームの再生時点、領域それぞれに含まれている頂点の個数、及び/又は領域それぞれに対応するマスクの番号などは、重要度情報として映像処理装置に提供されることができる。
【0054】
図4は、一実施形態によって第2映像を生成する方法を説明するための図である。
図4(a)を参照すると、一実施形態に係る映像処理装置が第1映像410の重要領域415のために決定したグリッドの軸に基づいて生成された第2映像430を示している。
【0055】
映像処理装置は、各映像フレームにグリッドを生成する。映像処理装置は、例えば、予め設定された第2映像430のターゲット容量に基づいて、グリッドの各行と各列の単位で当該領域の重要度に応じる広さ値を算出することができる。映像処理装置は、グリッドに該当する重要領域415の解像度が保持され、重要領域415を除いた残りの領域の解像度は、ダウンサンプリングされるようにグリッドの軸を決定してもよい。
【0056】
より具体的に、映像処理装置は、重要度情報に基づいて、第1映像410の重要領域(例えば、第1領域415)の第1解像度が他の領域の第2解像度よりも高くなるよう、グリッドに含まれたコラムの大きさ及びローの大きさを決定することができる。
【0057】
例えば、映像処理装置は、重要度情報に基づいて第1映像410の重要領域(例えば、第1領域415)の第1解像度が第1映像のソース解像度と等しく保持され、第1領域415を除いた残りの領域(例えば、第2領域)の第2解像度がダウンサンプリングされるよう、グリッドに含まれたコラムの大きさ及びローの大きさを決定してもよい。
【0058】
これにより、第2映像430で第1映像410の第1領域415に対応する領域の解像度は、第1映像のソース解像度と同じ第1解像度で保持される一方、第2映像430から第1領域415を除いた残りの領域(例えば、第2領域)に対応する領域の解像度は、第1解像度よりも低い第2解像度で設定される。
【0059】
映像処理装置は、前述したごとし重要領域415のために決定したグリッドの軸に基づいて、第1映像410をリアルタイムワーピング(warping)して第2映像430を生成する。
【0060】
図4(b)を参照すると、一実施形態に係る映像処理装置が、第1映像410の重要領域415のために決定したグリッドの軸に基づいて生成された第2映像450を示している。
【0061】
映像処理装置は、重要度情報に基づいて第1映像410の重要領域(例えば、第1領域415)の第1解像度が第1映像410のソース解像度と同一に保持され、第1領域415に接する第3領域の解像度が、第1解像度から第2解像度まで徐々に変化される第3解像度でダウンサンプリングされるよう、グリッドに含まれているコラムの大きさ及びローの大きさを決定することができる。ここで、第3領域は、前述した第2領域のうち第1領域415に隣接する一部の領域であってもよい。
【0062】
これにより、第2映像430で第1映像410の第1領域415に対応する領域の解像度は、第1映像のソース解像度と同じ第1解像度で保持される一方、第2映像430で第1領域415に隣接する第3領域の解像度は、第1映像410の第1領域415に対応する領域から遠いほどスムーズに低くなる。
【0063】
映像処理装置は、各フレームでグリッドの軸に関する情報に基づいて、グリッドをコラム又はローの方向に動きとして迅速かつ効率よくワーピングを行うことができる。これによって、映像処理装置は、例えば、ワーピング時に各頂点ごとに幅(w)と高さ(h)を算出するために費やされる最適化された時間をO(w×h)からO(w+h)に減少させることができる。
【0064】
図5は、一実施形態に係る映像を再生する方法を説明するための図である。
図5を参照すると、一実施形態に係る映像を再生する装置(以下、「映像再生装置」)は、リアルタイムライブストリーミングサービスのための映像501及び映像501に対応するグリッドの軸に関する情報503を受信する。一実施形態によれば、グリッドの軸に関する情報503は、カラー符号化されて映像501に挿入されてもよい。
【0065】
映像再生装置は、テクスチャマッピング(texture mapping)を介して3D映像を復元する(505)。映像再生装置は、グリッドの軸に関する情報503に基づいて映像501をテクスチャマッピングすることで、3D映像を復元することができる。3D映像は、例えば、360度の仮想現実ストリーミングコンテンツであってもよい。
【0066】
映像再生装置は、再生カメラ510を介して復元した3D映像を再生する(507)。映像再生装置は、例えば、シェイダー(shader)を介して3D映像を再生する。映像再生装置は、再生カメラ510の現在時点に対応する映像が再生されるように3D映像をレンダリングしてもよい。例えば、3D映像が360度の円形映像である場合、映像再生装置は、円形映像の各頂点が球状の表面を均一に分割する複数の多角形を含んでいるビューイングスフィア(viewing sphere)で、どの点の情報を読み出すべきであるかを把握して3D映像を再生することができる。
【0067】
図6は、一実施形態に係る映像を再生する方法を示したフローチャートである。
図6を参照すると、一実施形態に係る映像再生装置は、複数の解像度を含む複数の領域を有する映像を取得する(610)。ここで、映像は、例えば、少なくとも1つの領域に対応するグリッドの軸に関する情報が様々な色相を介して視覚的に符号化された情報を含んでもよい。
【0068】
映像再生装置は、複数の領域を区分するグリッドの軸に関する情報を取得する(620)。例えば、映像再生装置は、映像に視覚的に符号化されたグリッドの軸に関する情報を抽出する。グリッドの軸に関する情報は、例えば、グリッドに含まれたコラムの大きさ及びローの大きさを含んでもよい。
【0069】
映像再生装置は、グリッドの軸に関する情報に基づいて映像を再生する(630)。一実施形態によれば、映像再生装置は、グリッドの軸に関する情報に基づいて、複数の領域をレンダリングする。例えば、映像再生装置は、グリッドの軸に関する情報に基づいて360度の映像を均一に分割する領域のテクスチャを決定してもよい。映像再生装置は、球状の表面を均一に分割する複数の多角形を含むビューイングスフィアにテクスチャマッピングする。ここで、重要な領域の場合、符号化された映像に相対的にさらに多いピクセルを含んでいるため、相対的に高い解像度でテクスチャマッピングされることができる。重要ではない領域の場合、符号化された映像に相対的にさらに少ないピクセルを含んでいるため、相対的に低い解像度でテクスチャマッピングされることができる。一実施形態によれば、360度の映像を再生するとき、映像再生装置は、ビューイングスフィアで現在時点に対応する領域の映像を再生することができる。
【0070】
図7は、一実施形態に係る映像処理システムの構成を説明するための図である。
図7を参照すると、一実施形態に係るクラウド基盤コンテンツ適応型360VRライブストリーミングシステム(以下、「ライブストリーミングシステム」)700の構成ブロック図が示されている。
【0071】
一実施形態に係るライブストリーミングシステム700は、ライブストリーミングサービスを提供するサービスサーバ710を含んでいる。例えば、映像製造者が360度映像をライブストリームプロトコルを介して送り出せば、サービスサーバ710は、クラウドを介してコンテンツ内重要な領域の解像度を最大に格納するダウンスケーリングとストリーミングサービスをリアルタイムに行うことができる。サービスサーバ710は、必要の際に仮想サーバ(又は、仮想マシン)を駆動することができ、希望する位仮想サーバの個数を増やして多チャンネルライブストリーミングサービスを提供してもよい。
【0072】
サービスサーバ710は、ライブストリーム収集サーバ711、リマストリング及び符号化サーバ(Remastering&Encoding Server)713、ネットワークドライブ(Network Drive)715、ストリーミングサーバ(Streaming Server)717を含む。
【0073】
ライブストリーム収集サーバ711は、例えば、ライブストリームプロトコルを介して送出された放送(例えば、ソースビデオ)701を収集する。ライブストリーム収集サーバ711は、映像処理のためにソースビデオ701をリマストリング及び符号化サーバ713に送信する。
【0074】
ここで、製造者端末は、ライブストリームプロトコルを介して送出されたソースビデオ701を予めモニタリングし、映像フレームの少なくとも1つの領域(例えば、重要領域)の重要度を指示する重要度情報をリマストリング及び符号化サーバ713に送信する。実施形態によって、ライブストリーム収集サーバ711は、ライブモニタリングのためにソースビデオ701を製造者端末に送信してもよい。
【0075】
サービスサーバ710は、重要度情報に基づいて、重要領域のオリジナル解像度を保持するダウンスケーリングを介して、低いネットワークの環境でも、ハイクオリティーの映像ストリーミングサービスを提供することができる。より具体的に、リマストリング及び符号化サーバ713は、ソースビデオ701と重要度情報を用いてソースビデオ701を符号化することができる。リマストリング及び符号化サーバ713は、製造者がライブモニタリングを介して設定したソースビデオ701の各フレームの重要領域に対して、オリジナル解像度を最大に保持し、重要領域を除いた残りの領域は、ダウンサンプリングしてライブストリーミングサービスのための映像の容量を低減することができる。
【0076】
リマストリング及び符号化サーバ713における符号化の結果物は、解像度適応型ストリーミングのために互いに異なる解像度(例えば、1080p、720p、480pなど)に符号化され、ネットワークドライブ715に格納されてもよい。ここで、ネットワークドライブ715は、例えば、LANなどのネットワークに接続された他のコンピュータのハードディスクなどを自分の端末に接続されているドライブインのように扱って使用するネットワーク上のドライブであってもよい。
【0077】
ネットワークドライブ715に格納されている符号化の結果物は、ライブストリーミングサービスのためにストリーミングサーバ717に提供されることができる。
【0078】
ストリーミングサーバ717は、符号化の結果物に対する自動スケーリング(Auto Scaling)を実行する。ストリーミングサーバ717は、負荷分散(load balancing)のための複数の仮想マシン(Virtual Machines)を含んでもよい。ストリーミングサーバ717は、例えば、映像を観覧する視聴者の数に応じて仮想マシンの個数を調整することができる。各仮想マシンは、HTTP Requestを処理するサーバの役割を果たす。
【0079】
ストリーミングサーバ717を介して分配された映像は、コンテンツ送信ネットワーク(Content Delivery Network;CDN)740を介してユーザ端末750に伝達されることで、ユーザにライブストリーミングサービスを提供するために用いられることができる。
【0080】
サービスサーバ710は、符号化の結果物(新しい映像)をクラウドストレージ730に格納する。サービスサーバ710は、VODサービスのためにクラウドストレージ730に格納された新しい映像をHTTPサーバ(図示せず)に接続することで、ユーザにVOD(Video On Demand)サービスを提供することができる。クラウドストレージ730に格納されている新しい映像は、コンテンツ送信ネットワーク(CDN)740を介してユーザ端末750に伝達されることで、ユーザにVODサービスを提供するために用いられることができる。
【0081】
図8は、一実施形態に係る映像を処理する装置、又は映像を再生する装置のブロック図である。
図8を参照すると、一実施形態に係る装置800は、通信インターフェース810及びプロセッサ830を含む。装置800は、メモリ850及びディスプレー装置870をさらに含んでもよい。通信インターフェース810、プロセッサ830、メモリ850、及びディスプレー装置870は、通信バス805を介して互いに通信することができる。
【0082】
通信インターフェース810は、複数のフレームを含む第1映像を受信する。第1映像は、例えば、装置800に含まれたカメラ又は画像センサなどのような撮影装置(図示せず)を介してキャプチャー又は撮影されたものであってもよく、装置800の外部で撮影された映像であってもよい。また、第1映像は、例えば、ライブストリームプロトコルを介して送出された360度のコンテンツ映像であってもよい。通信インターフェース810は、第2映像及びグリッドの軸に関する情報を出力する。又は、通信インターフェース810は、複数の解像度を含む複数の領域を有する映像を取得する。
【0083】
プロセッサ830は、複数のフレームに含まれた少なくとも1つの領域の重要度を指示する重要度情報を取得する。プロセッサ830は、重要度情報に基づいて第1映像の少なくとも1つの領域のためのグリッドの軸を決定する。プロセッサ830は、グリッドの軸に基づいて第1映像を符号化し、第2映像を生成する。
【0084】
メモリ850は、プロセッサ830によって生成された第2映像及び/又はプロセッサ830により決定されたグリッドの軸に関する情報を格納する。
【0085】
又はプロセッサ830は、複数の領域を区分するグリッドの軸に関する情報を抽出する。プロセッサ830は、グリッドの軸に関する情報に基づいて映像を再生する。プロセッサ830は、映像を、例えば、ディスプレー870を用いて再生してもよい。
【0086】
また、プロセッサ830は、
図1~
図7を参照して前述した少なくとも1つの方法又は少なくとも1つの方法に対応するアルゴリズムを行うことができる。プロセッサ830は、目的とする動作(desired operations)を実行させるための物理的な構造を有する回路を有するハードウェアによって実現されたデータ処理装置であってもよい。例えば、目的とする動作は、プログラムに含まれたコード(code)又は命令(instructions)を含んでもよい。例えば、ハードウェアによって実現されたデータ処理装置は、マイクロプロセッサー(microprocessor)、中央処理装置(central processing unit)、プロセッサコア(processor core)、マルチ-コアプロセッサ(multi-core processor)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)を含んでもよい。
【0087】
プロセッサ830は、プログラムを実行し、装置800を制御する。プロセッサ830によって実行されるプログラムコードはメモリ850に格納されてもよい。
【0088】
メモリ850は、前述したプロセッサ830の処理過程で生成される様々な情報を格納する。その他にも、メモリ850は、各種のデータとプログラムなどを格納してもよい。メモリ850は、揮発性メモリ又は不揮発性メモリを含んでもよい。メモリ850は、ハードディスクなどのような大容量の格納媒体を備えて各種のデータを格納することができる。
【0089】
以上述した実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0090】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例として、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0091】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。したがって、他の具現、他の実施形態及び特許請求の範囲と均等なものも後述する請求範囲の範囲に属する。
【国際調査報告】