(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022179992
(43)【公開日】2022-12-06
(54)【発明の名称】情報処理システム、情報処理装置及び情報処理方法
(51)【国際特許分類】
H04N 19/33 20140101AFI20221129BHJP
H04N 19/503 20140101ALI20221129BHJP
H04N 21/24 20110101ALI20221129BHJP
H04N 21/234 20110101ALI20221129BHJP
【FI】
H04N19/33
H04N19/503
H04N21/24
H04N21/234
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021086854
(22)【出願日】2021-05-24
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】井原 利昇
【テーマコード(参考)】
5C159
5C164
【Fターム(参考)】
5C159MA05
5C159MA32
5C159PP04
5C159SS08
5C159UA02
5C159UA05
5C164SB01P
5C164SB21S
5C164SB41P
5C164TA14S
5C164UB23S
5C164YA24
(57)【要約】
【課題】1対多通信におけるリアルタイム性を向上させること。
【解決手段】情報処理システム1は、情報処理装置100と、複数のクライアント装置と、を備える。情報処理装置100は、伝送対象データを異なる複数の伝送量の符号化データに符号化するエンコーダ120と、複数のクライアント装置の中から符号化データの伝送量に基づいて決定したクライアント装置に、符号化した符号化データを伝送する制御を行う制御部140と、を備える。クライアント装置は、復号化対象の伝送量に対応し、符号化データを復号化するデコーダと、復号化したデータに基づく処理を実行する第2制御部と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
情報処理装置と、
複数のクライアント装置と、
を備え、
前記情報処理装置は、
伝送対象データを異なる複数の伝送量の符号化データに符号化するエンコーダと、
複数の前記クライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行う制御部と、
を備え、
前記クライアント装置は、
復号化対象の前記伝送量に対応し、前記符号化データを復号化するデコーダと、
復号化したデータに基づく処理を実行する第2制御部と、
を備える情報処理システム。
【請求項2】
前記情報処理装置は、
前記エンコーダが、異なる前記伝送量となるように符号化する複数の階層を備え、
前記制御部が、複数の前記階層のそれぞれが符号化した前記符号化データを、複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に伝送し、
前記クライアント装置は、
前記デコーダが前記エンコーダにおける複数の前記階層の異なる前記伝送量に対応している
請求項1に記載の情報処理システム。
【請求項3】
前記情報処理装置は、
複数の前記階層が、前段の前記階層が符号化した前記符号化データをさらに符号化して前記伝送量を減少させ、
前記制御部が、複数の前記階層が符号化するごとに、複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する
請求項2に記載の情報処理システム。
【請求項4】
前記情報処理装置は、
前記制御部が、前記クライアント装置からの制御情報が示す前記伝送量に基づいて、前記符号化データを伝送する前記クライアント装置を決定し、
前記クライアント装置は、
前記第2制御部が、前記制御情報を前記情報処理装置に伝送する制御を行う
請求項3に記載の情報処理システム。
【請求項5】
前記情報処理装置は、
前記制御部が、前記符号化データと符号化した前記階層を識別可能な階層情報とを有する伝送データを前記クライアント装置に伝送し、
前記クライアント装置は、
前記第2制御部が、前記階層情報に基づいて復号化を制御する
請求項4に記載の情報処理システム。
【請求項6】
前記クライアント装置は、
前記デコーダが、1または複数の第2階層を備え、前記エンコーダの前記階層に対応した前記第2階層で復号化する
請求項5に記載の情報処理システム。
【請求項7】
前記情報処理装置は、
前記制御部が、前記階層が符号化した前記符号化データを圧縮して前記クライアント装置に伝送し、
前記クライアント装置は、
前記デコーダが、前記情報処理装置からの前記符号化データを解凍したデータを復号化する
請求項6に記載の情報処理システム。
【請求項8】
前記伝送対象データは、残差画像を示すデータを含む
請求項1に記載の情報処理システム。
【請求項9】
前記エンコーダ及び前記デコーダは、高ビットレートまたは低ビットレートを優先して学習されている
請求項1に記載の情報処理システム。
【請求項10】
複数のクライアント装置と通信可能な情報処理装置であって、
伝送対象データを伝送量が異なる複数の符号化データに符号化するエンコーダと、
複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行う制御部と、
を備える情報処理装置。
【請求項11】
複数のクライアント装置と通信可能な情報処理装置が、
伝送対象データを伝送量が異なる複数の符号化データにエンコーダで符号化すること、
複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行うこと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
ニューラルネットワークを用いた情報圧縮を実現する技術が知られている。特許文献1には、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得る技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、1つのサーバ装置が複数の装置に対してデータをリアルタイムに伝送する場合、複数の装置で必要な映像品質や通信状況が異なっていると、リアルタイム性を維持することが困難であった。
【0005】
そこで、本開示では、1対多通信におけるリアルタイム性を向上させることが可能な情報処理システム、情報処理装置及び情報処理方法を提供する。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本開示に係る一形態の情報処理システムは、情報処理装置と、複数のクライアント装置と、を備え、前記情報処理装置は、伝送対象データを異なる複数の伝送量の符号化データに符号化するエンコーダと、複数の前記クライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行う制御部と、を備え、前記クライアント装置は、復号化対象の前記伝送量に対応し、前記符号化データを復号化するデコーダと、復号化したデータに基づく処理を実行する第2制御部と、を備える。
【0007】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、複数のクライアント装置と通信可能な情報処理装置であって、伝送対象データを伝送量が異なる複数の符号化データに符号化するエンコーダと、複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行う制御部と、を備える。
【0008】
上記の課題を解決するために、本開示に係る一形態の情報処理方法は、複数のクライアント装置と通信可能な情報処理装置が、伝送対象データを伝送量が異なる複数の符号化データにエンコーダで符号化すること、複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行うこと、を含む。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係る情報処理システムの一例を説明するための図である。
【
図2】実施形態に係る情報処理システムのエンコーダ及びデコーダの構成例を説明するための図である。
【
図3】実施形態に係るエンコーダ及びデコーダにおける1つの階層の構成の一例を示す図である。
【
図4】実施形態に係る情報処理装置の構成の一例を示す構成図である。
【
図5】実施形態に係るクライアント装置の構成の一例を示す構成図である。
【
図6】情報処理装置の符号化制御に係る処理手順の一例を示すフローチャートである。
【
図7】伝送データのデータ構造の一例を示す図である。
【
図8】クライアント装置の復号化制御に係る処理手順の一例を示すフローチャートである。
【
図9】実施形態の変形例に係る情報処理システムの構成例の概要を示す図である。
【
図10】実施形態の変形例に係る情報処理装置の符号化制御に係る処理手順の一例を示すフローチャートである。
【
図11】実施形態の変形例に係るクライアント装置の復号化制御に係る処理手順の一例を示すフローチャートである。
【
図12】情報処理システムの時間方向予測の利用例を説明するための図である。
【
図13】情報処理システムのオートエンコーダの学習方法の一例を説明するための図である。
【
図14】高ビットレート優先のオートエンコーダの学習方法の一例を説明するための図である。
【
図15】低ビットレート優先のオートエンコーダの学習方法の一例を説明するための図である。
【
図16】情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、実質的に同一の部位には同一の符号を付することにより重複する説明を省略する。
【0011】
(実施形態)
[実施形態に係る遠隔操作システムの概要]
図1は、実施形態に係る情報処理システムの一例を説明するための図である。
図2は、実施形態に係る情報処理システムのエンコーダ及びデコーダの構成例を説明するための図である。
【0012】
図1に示す情報処理システム1は、複数種類のビットレートでコンテンツを、リアルタイムで複数のクライアントに配信可能な1対多通信のシステムである。情報処理システム1は、例えば、複数のオペレータによるリモートオペレーション、エンターテインメントのリモート制作等に適用することができる。リモートオペレーションは、例えば、工事現場の工作機器を遠隔地から複数の作業員が操作するシステムを含む。リモート制作は、例えば、中継現場で撮影しているカメラのスイッチング・ミキシングや編集を行うエンターテインメントのシステムを含む。
【0013】
情報処理システム1は、送信側を1つの情報処理装置100とし、受信側の複数のクライアント装置200のそれぞれに対してデータをリアルタイムに送信する。この場合、複数のクライアント装置200は、必要な画像品質が異なったり、通信状況が異なったりすることがある。このため、情報処理システム1は、1対多通信におけるリアルタイム性を向上させることが可能な技術を提供する。
【0014】
情報処理システム1は、情報処理装置100と、複数のクライアント装置200と、を備える。情報処理システム1は、図示しないネットワークを介して、情報処理装置100と複数のクライアント装置200とが通信可能に接続されている。ネットワークは、ネットワークに接続されている装置から送信される情報の有線、または無線の伝送路である。ネットワークは、例えば、インターネット、電話回線網、公衆回線網、専用回線網等を含む。情報処理システム1は、1台の情報処理装置100と複数のクライアント20との1対多通信を行うシステムである。
【0015】
本実施形態では、情報処理システム1は、クライアント装置200が3台のクライアント装置200A、クライアント装置200B及びクライアント装置200Cである場合について説明するが、クライアント装置200の数はこれに限定されない。なお、クライアント装置200A、クライアント装置200B及びクライアント装置200Cを区別しない場合、クライアント装置200A、クライアント装置200B及びクライアント装置200Cを「クライアント装置200」と記載する。
【0016】
情報処理装置100は、例えば、コンテンツデータD100をクライアント装置200に配信するサーバ装置である。コンテンツデータD100は、例えば、音楽データ、映像データ、ゲーム、ソフトウェア等の各種データを含む。音楽データは、例えば、音楽、ラジオ、講演等の音に関するデータを含む。映像データは、例えば、映画、動画、テレビジョン番組、写真、文書等のデータを含む。コンテンツデータD100は、伝送対象データの一例である。
【0017】
情報処理装置100は、コンテンツデータD100を符号化した異なる伝送量の伝送データD200-1、伝送データD200-2及び伝送データD200-3を、クライアント装置200に配信する機能を有する。伝送データD200-1は、伝送データD200-2よりも伝送量が多く、高画質に適した伝送量となっている。伝送データD200-2は、伝送データD200-3よりも伝送量が多く、通常の画質に適した伝送量となっている。伝送データD200-1、伝送データD200-2及び伝送データD200-3は、コンテンツデータD100を符号化したデータを含む。
【0018】
クライアント装置200は、情報処理装置100が配信したコンテンツを出力(再生)する機能を有する。クライアント装置200は、例えば、携帯端末、コンピュータ、映像処理装置、ゲーム機器、家電機器等を用いることができる。クライアント装置200は、情報処理装置100に制御情報D10を送信し、クライアントが必要な品質のコンテンツを情報処理装置100から得る。制御情報D10は、例えば、クライアントで必要とするコンテンツの品質等を識別可能な情報を含む。
【0019】
図2に示すように、情報処理システム1は、情報処理装置100が同一のコンテンツを異なる画質でクライアント装置200に配信する機能を有する。情報処理装置100は、エンコーダ120を用いて、同一のコンテンツデータを異なるビットレートで複合化したコンテンツを生成し、当該コンテンツをクライアント装置200に配信(伝送)する。エンコーダ120は、階層121、階層122、階層123及び階層124を有し、その順序で接続されている。
【0020】
階層121は、入力されたデジタルデータを第1の規則に従って符号化し、符号化した符号化データを出力する。第1の規則は、例えば、第1ビットレートに変換するための規則を含む。階層122は、階層121から入力された符号化データを第2の規則に従って符号化し、符号化した符号化データを出力する。第2の規則は、例えば、第1ビットレートよりも低い第2ビットレートに変換するための規則を含む。第2ビットレートは、例えば、高い画質に適したハイビットレートを含む。階層123は、階層122から入力された符号化データを第3の規則に従って符号化し、符号化した符号化データを出力する。第3の規則は、例えば、第2ビットレートよりも低い第3ビットレートに変換するための規則を含む。第3ビットレートは、例えば、中位の画質に適した標準のビットレートを含む。階層124は、階層123から入力された符号化データを第4の規則に従って符号化し、符号化した符号化データを出力する。第4の規則は、例えば、第3ビットレートよりも低い第4ビットレートに変換するための規則を含む。第4ビットレートは、例えば、低い画質に適したロービットレートを含む。
【0021】
情報処理装置100は、エンコーダ120の階層122、階層123及び階層124が出力した符号化データのうち、受信側の状況に適したビットレートの符号化データを含む伝送データD200-1、伝送データD200-2及び伝送データD200-3を、クライアント装置200に伝送する。受信側の状況は、例えば、通信帯域、クライアント装置200が必要とする画質等を含む。伝送データD200-1は、階層122が復号化した復号化データを含み、データ量が最も大きくなっている。伝送データD200-2は、階層123が復号化した復号化データを含み、データ量が伝送データD200-1よりも小さくなっている。伝送データD200-3は、階層124が復号化した復号化データを含み、データ量が伝送データD200-2よりも小さくなっている。
【0022】
クライアント装置200は、エンコーダ120に対応するデコーダ220を用いて、情報処理装置100からの伝送データD200を復号化し、復号化したデータに基づく処理を実行する。処理は、例えば、データの出力、データの編集、データの管理等の処理を含む。
図2に示す一例では、クライアント装置200は、復号化データの種類に対応したデコーダ220-1、デコーダ220-2及びデコーダ220-3を有する。なお、以下、デコーダ220-1、デコーダ220-2及びデコーダ220-3を区別しない場合、デコーダ220-1、デコーダ220-2及びデコーダ220-3を「デコーダ220」と記載する。なお、クライアント装置200は、デコーダ220-1、デコーダ220-2及びデコーダ220-3のうちの少なくとも1つを有する構成としてもよい。
【0023】
デコーダ220-1は、階層222及び階層221を有し、その順序で接続されている。階層222は、情報処理装置100が伝送した伝送データD200-1が入力され、エンコーダ120の階層122の第2の規則に従って復号化し、復号化した復号化データを出力する。階層221は、階層222から入力された復号化データを階層121の第1の規則に従って復号化し、復号化したデータを出力する。これにより、クライアント装置200は、デコーダ220-1が出力した復号化データを、高画質の伝送データD200-1として得る。
【0024】
デコーダ220-2は、階層223、階層222及び階層221を有し、その順序で接続されている。階層223は、情報処理装置100が伝送した伝送データD200-2が入力され、エンコーダ120の階層123の第3の規則に従って復号化し、復号化した復号化データを出力する。階層222は、階層223から入力された復号化データを階層122の第2の規則に従って復号化し、復号化したデータを出力する。階層221は、階層222から入力された復号化データを階層121の第1の規則に従って復号化し、復号化したデータを出力する。これにより、クライアント装置200は、デコーダ220-2が出力した復号化データを、中画質の伝送データD200-2として得る。
【0025】
デコーダ220-3は、階層224、階層223、階層222及び階層221を有し、その順序で接続されている。階層224は、情報処理装置100が伝送した伝送データD200-3が入力され、エンコーダ120の階層124の第4の規則に従って復号化し、復号化した復号化データを出力する。階層223は、階層224から入力された復号化データを階層123の第3の規則に従って復号化し、復号化したデータを出力する。階層222は、階層223から入力された復号化データを階層122の第2の規則に従って復号化し、復号化したデータを出力する。階層221は、階層222から入力された復号化データを階層121の第1の規則に従って復号化し、復号化したデータを出力する。これにより、クライアント装置200は、デコーダ220-3が出力した復号化データを、低画質の伝送データD200-3として得る。
【0026】
図2に示す一例では、情報処理システム1は、エンコーダ120及びデコーダ220を有する。情報処理システム1は、エンコーダ120及びデコーダ220-1、エンコーダ120及びデコーダ220-2、エンコーダ120及びデコーダ220-3により、それぞれオートエンコーダが構成されている。オートエンコーダは、ニューラルネットワークの1つである。オートエンコーダは、入力されたデータを一度圧縮し、重要な特徴量だけを残した後、再度元の次元に復元するアルゴリズムを意味する。情報処理装置100は、1つのエンコーダ120と複数のデコーダ220-1、220-2、220-3とを組み合わせることで、複数のクライアント装置200に対し、クライアント装置200に適した伝送量のデータを伝送する。
【0027】
図3は、実施形態に係るエンコーダ120及びデコーダ220における1つの階層の構成の一例を示す図である。
図3に示す一例では、説明を簡単化するために、
図2に示したエンコーダ120の階層123及びデコーダ220の階層223の構成例のみを示している。
【0028】
エンコーダ120の階層123は、X pixel×Y line×N chのデータが入力される。階層123は、Convで解像度を下げる処理を行い、GDNでConvの処理結果を正規化する処理を行う、階層123は、これらの処理を3回繰り返すことで、X/8 pixel×Y/8 line×N chの符号化データを出力する。これにより、階層123の入力データと出力する復号化データの情報量は、64:1になっている。
【0029】
デコーダ220の階層223は、X/8 pixel×Y/8 line×N chのデータが入力される。階層223は、エンコーダ120に対応したIGDN及びConvの処理を3回繰り返すことで、復号化したX pixel×Y line×N chのデータを出力する。これにより、階層223の入力データと出力する伝送データの情報量は、64:1になっている。
【0030】
情報処理装置100は、
図3に示す階層123と階層121、階層122及び階層124とを同様の構成にすることで、エンコーダ120が出力する伝送データD200-1、D200-2、D200-3の順にデータ量を1/64に減少させている。
【0031】
[実施形態に係る情報処理装置の構成例]
図4は、実施形態に係る情報処理装置100の構成の一例を示す構成図である。
図4に示すように、情報処理装置100は、通信部110と、上述したエンコーダ120と、記憶部130と、制御部140と、を備える。制御部140は、通信部110、エンコーダ120及び記憶部130と電気的に接続されている。
【0032】
通信部110は、例えば、複数のクライアント装置200、他の外部装置等と通信を行う。通信部110は、例えば、ネットワーク等を介して各種情報を送受信する。通信部110は、例えば、クライアント装置200から受信した各種情報を制御部140に供給する。通信部110は、例えば、制御部140が指示した情報を指示された送信先に送信する。通信部110がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部110が、複数の種類の通信プロトコルをサポートすることも可能である。
【0033】
エンコーダ120は、制御部140の制御によってコンテンツデータD100を符号化する。エンコーダ120は、情報処理装置100が伝送するコンテンツデータD100を、伝送量が異なる複数の符号化データに復号化する機能を有する。エンコーダ120は、階層ごとに符号化した符号化データを通信部110及び制御部140に供給できる。
【0034】
記憶部130は、各種データ及びプログラムを記憶する。記憶部130は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。記憶部130は、通信部110を介して受信した情報を記憶する。記憶部130は、例えば、上述した制御情報D10等の各種情報を記憶する。制御情報D10は、例えば、クライアント装置200が必要とする伝送データD200の品質、デコード可能な伝送量等を識別可能な情報を有する。記憶部130は、情報処理装置100がアクセス可能な外部の記憶装置であってもよい。
【0035】
制御部140は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System-on-a-Chip)、MCU(Micro Control Unit)、FPGA(Field-Programmable Gate Array)、及びコプロセッサを含むが、これらに限定されない。制御部140は、情報処理装置100を制御する統合制御ユニットである。
【0036】
具体的には、制御部140は、記憶部130に記憶されている情報を必要に応じて参照しつつ、記憶部130に記憶されているプログラムに含まれる命令を実行する。そして、制御部140は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、通信部110、エンコーダ120等を含むが、これらに限定されない。制御部140は、プログラムを実行することにより、複数のクライアント装置200に対する伝送データD200の伝送を制御する機能を有する。
【0037】
制御部140は、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に、符号化した符号化データを伝送する制御を行う。制御部140は、エンコーダ120の複数の階層のそれぞれが符号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送する制御を行う。制御部140は、エンコーダ120の複数の階層が符号化するごとに、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に、符号化した符号化データを伝送する制御を行う。
【0038】
制御部140は、クライアント装置200からの制御情報D10が示す伝送量に基づいて、符号化データを伝送するクライアント装置200を決定する機能を有する。制御部140は、クライアント装置200が必要とするデータの品質、通信状況等を特定し、特定した結果に適した伝送量を求める。制御部140は、符号化データと符号化したエンコーダ120の階層を識別可能な階層情報とを有する伝送データD200をクライアント装置200に伝送する。
【0039】
以上、実施形態に係る情報処理装置100の機能構成例について説明した。なお、
図4を用いて説明した上記の構成はあくまで一例であり、実施形態に係る情報処理装置100の機能構成は係る例に限定されない。実施形態に係る情報処理装置100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【0040】
[実施形態に係るクライアント装置の構成例]
図5は、実施形態に係るクライアント装置200の構成の一例を示す構成図である。
図5に示すように、クライアント装置200は、通信部210と、上述したデコーダ220と、出力部230と、記憶部240と、制御部250と、を備える。制御部250は、通信部210、デコーダ220、出力部230及び記憶部240と電気的に接続されている。
【0041】
通信部210は、例えば、情報処理装置100、他の外部装置等と通信を行う。通信部210は、例えば、ネットワーク等を介して各種情報を送受信する。通信部210は、例えば、情報処理装置100から受信した各種情報を制御部250に供給する。通信部210は、例えば、制御部250が指示した情報を指示された送信先に送信する。通信部210がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部210が、複数の種類の通信プロトコルをサポートすることも可能である。
【0042】
デコーダ220は、制御部250の制御によって伝送データD200を復号化する。デコーダ220は、伝送データD200が有する階層情報に基づいて、エンコーダ120が符号化した階層に対応した階層を用いて、伝送データD200を復号化する。デコーダ220は、復号化したデータを制御部250に供給できる。デコーダ220は、上述したデコーダ220-1、デコーダ220-2及びデコーダ220-3を有する構成としてもよいし、デコーダ220-1、デコーダ220-2及びデコーダ220-3の中の必要なデータ量に対応した少なくとも1つを有する構成としてもよい。
【0043】
出力部230は、制御部250の制御によってデコーダ220が復号化したデータを出力する。出力部230は、例えば、ディスプレイ、スピーカー等を有する。出力部230は、制御部250が制御可能なクライアント装置200の外部の装置で実現してもよい。
【0044】
記憶部240は、各種データ及びプログラムを記憶する。記憶部240は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。記憶部240は、通信部210を介して受信した情報を記憶する。記憶部240は、例えば、上述した制御情報D10等の各種情報を記憶する。記憶部240は、クライアント装置200がアクセス可能な外部の記憶装置であってもよい。
【0045】
制御部250は、演算処理装置である。演算処理装置は、例えば、CPU、SoC、MCU、FPGA、及びコプロセッサを含むが、これらに限定されない。制御部250は、クライアント装置200を制御する統合制御ユニットである。
【0046】
具体的には、制御部250は、記憶部240に記憶されている情報を必要に応じて参照しつつ、記憶部130に記憶されているプログラムに含まれる命令を実行する。そして、制御部250は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、通信部210、デコーダ220、出力部230等を含むが、これらに限定されない。制御部250は、プログラムを実行することにより、情報処理装置100からの伝送データD200に基づく処理を実行する機能を有する。
【0047】
制御部250は、クライアント装置200で必要な映像品質、通信状況等に基づいた伝送量を識別可能な制御情報D10を生成する機能を有する。制御部250は、生成した制御情報D10を、通信部210を介して情報処理装置100に送信する。制御部250は、情報処理装置100が伝送した伝送データD200から復号化した階層を特定し、当該階層に適したデコーダ220の階層で復号化させる。
【0048】
以上、実施形態に係るクライアント装置200の機能構成例について説明した。なお、
図5を用いて説明した上記の構成はあくまで一例であり、実施形態に係るクライアント装置200の機能構成は係る例に限定されない。実施形態に係るクライアント装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【0049】
[情報処理装置の符号化制御例]
図6は、情報処理装置100の符号化制御に係る処理手順の一例を示すフローチャートである。
図7は、伝送データD200のデータ構造の一例を示す図である。
図6に示す処理手順は、情報処理装置100の制御部140がプログラムを実行することによって実現される。
図6に示す処理手順は、情報処理装置100がコンテンツデータD100をクライアント装置200に伝送(配信)する場合に実行される。
【0050】
図6に示すように、情報処理装置100の制御部140は、符号化する階層の数及び階層の初期値を設定する(ステップS101)。例えば、制御部140は、符号化に用いるエンコーダ120の階層の数と、階層の初期値を設定する。階層の初期値は、例えば、浅い階層(上位の階層)を示す値である。本実施形態では、制御部140は、
図2に示した階層121、階層122、階層123及び階層124をそれぞれ識別可能な値として「0」、「1」、「2」及び「3」の整数を割り当てている。この場合、制御部140は、浅い階層121の「0」を階層の初期値として設定し、階層の数を4と設定する。制御部140は、ステップS101の処理が終了すると、処理をステップS102に進める。
【0051】
制御部140は、設定した階層の復号化処理を実行する(ステップS102)。復号化処理は、例えば、伝送対象のデータをエンコーダ120に入力し、当該データを設定した階層に符号化させる処理を含む。例えば、設定階層が階層121である場合、制御部140は、伝送対象のデータを階層121に符号化させる。例えば、設定階層が階層124である場合、制御部140は、伝送対象のデータを階層121、階層122、階層123及び階層124の順序で符号化させる。制御部140は、エンコーダ120が符号化した符号化データを記憶部130に記憶すると、処理をステップS103に進める。
【0052】
制御部140は、伝送データをクライアント装置200に伝送するか否かを判定する(ステップS103)。例えば、制御部140は、設定階層と制御情報D10の階層とが一致している場合に、伝送データをクライアント装置200に伝送すると判定する。制御部140は、伝送データをクライアント装置200に伝送しないと判定した場合(ステップS103でNo)、処理を後述するステップS105に進める。また、制御部140は、伝送データをクライアント装置200に伝送すると判定した場合(ステップS103でYes)、処理をステップS104に進める。
【0053】
制御部140は、符号化した伝送データD200をクライアント装置200に伝送する(ステップS104)。例えば、
図7に示すように、制御部140は、符号化したエンコーダ120の階層を示す階層情報をヘッダ部D210に設定し、ステップS102でエンコーダ120が符号化した符号化データをデータ部D220に設定した伝送データD200を作成する。本実施形態では、伝送データD200は、ヘッダ部D210とデータ部D220とを有する構成ついて説明するが、これに限定されない。
図6に戻り、制御部140は、作成した伝送データD200を、通信部110を介してクライアント装置200に伝送する制御を行う。制御部140は、ステップS104の処理が終了すると、処理をステップS105に進める。
【0054】
制御部140は、全ての階層を終了したか否かを判定する(ステップS105)。例えば、制御部140は、設定された階層が階層の数以上である場合に、全ての階層を終了したと判定する。制御部140は、全ての階層を終了していないと判定した場合(ステップS105でNo)、処理をステップS106に進める。制御部140は、符号化する次の階層を設定する(ステップS106)。例えば、制御部140は、階層の設定値を次の階層を示す値に変更する。制御部140は、ステップS106の処理が終了すると、処理を既に説明したステップS102に戻し、処理を継続する。
【0055】
また、制御部140は、全ての階層を終了したと判定した場合(ステップS105でYes)、
図6に示す処理手順を終了させる。
【0056】
以上により、情報処理装置100は、複数の伝送量に復号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送することができる。その結果、情報処理装置100は、符号化データの伝送量に基づく伝送を制御できるので、1対多通信におけるリアルタイム性を向上させることができる。
【0057】
[クライアント装置の復号化制御例]
図8は、クライアント装置200の復号化制御に係る処理手順の一例を示すフローチャートである。
図8に示す処理手順は、情報処理装置100の制御部250がプログラムを実行することによって実現される。
図8に示す処理手順は、クライアント装置200からの伝送データD200を復号化する場合に実行される。
【0058】
図8に示すように、クライアント装置200の制御部250は、伝送データD200のヘッダからデコーダ220の階層を選択する(ステップS201)。例えば、制御部250は、通信部210で受信した伝送データD200のヘッダ部D210の階層情報に基づいてエンコーダ120の階層を認識し、エンコーダ120の階層に対応するデコーダ220ンの階層を選択する。制御部250は、ステップS201の処理が終了すると、処理をステップS202に進める。
【0059】
制御部250は、復号化する階層の数及び階層の初期値を設定する(ステップS202)。例えば、制御部140は、復号化に用いるデコーダ220の階層の数と、階層の初期値を設定する。階層の初期値は、例えば、エンコーダ120の階層と同一の階層を示す値を設定する。本実施形態では、制御部250は、
図2に示した階層221、階層222、階層223及び階層224をそれぞれ識別可能な値として「0」、「1」、「2」及び「3」の整数を割り当てている。例えば、伝送データD200がエンコーダ120の階層122で符号化したデータである場合、制御部250は、階層222の値を階層の初期値として設定し、階層の数を2と設定する。制御部250は、ステップS202の処理が終了すると、処理をステップS203に進める。
【0060】
制御部250は、設定した階層の復号化処理を実行する(ステップS203)。復号化処理は、例えば、伝送データD200の復号対象データをデコーダ220に入力し、復号対象データを設定した階層で復号化させる処理を含む。例えば、設定階層が階層222でありかつデコーダ220の階層の数が2階層である場合、すなわち、デコーダ220-1の場合、制御部250は、階層222で復号対象データを復号化し、復号化したデータを記憶部240に記憶する。例えば、設定階層が階層222でありかつデコーダ220の階層の数が3階層である場合、すなわち、デコーダ220-2の場合、制御部250は、記憶部240に記憶している符号化したデータを階層222で復号対象データを復号化し、復号化したデータを記憶部240に記憶する。制御部250は、ステップS203の処理が終了すると、処理をステップS204に進める。
【0061】
制御部250は、全ての階層を終了したか否かを判定する(ステップS204)。例えば、制御部250は、設定された階層の値が0よりも小さい場合に、全ての階層を終了したと判定する。制御部250は、全ての階層を終了していないと判定した場合(ステップS204でNo)、処理をステップS205に進める。制御部250は、符号化する次の階層を設定する(ステップS205)。例えば、制御部250は、階層の設定値を次の階層を示す値に変更する。制御部250は、ステップS205の処理が終了すると、処理を既に説明したステップS203に戻し、処理を継続する。
【0062】
また、制御部250は、全ての階層を終了したと判定した場合(ステップS204でYes)、
図8に示す処理手順を終了させる。
【0063】
以上により、情報処理システム1は、情報処理装置100が複数の伝送量に復号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送することができる。情報処理システム1は、複数のクライアント装置200のそれぞれが、復号対象の伝送量の符号化データを復号することができる。その結果、情報処理システム1は、情報処理装置100が符号化データの伝送量に基づく伝送を制御できるので、1対多通信におけるリアルタイム性を向上させることができる。
【0064】
(実施形態の変形例)
[情報処理システムの変形例]
上述した情報処理システム1は、エンコーダ120の各階層が符号化した伝送データD200をそのまま伝送する場合について説明したが、これに限定されない。例えば、情報処理システム1は、エンコーダ120の各階層が符号化した伝送データD200を、圧縮して伝送する構成とすることができる。
【0065】
図9は、実施形態の変形例に係る情報処理システム1の構成例の概要を示す図である。
図9に示すように、上述した情報処理システム1は、情報処理装置100のエンコーダ120が符号化した伝送データD200を圧縮する圧縮部150と、情報処理装置100が伝送した伝送データD200を解凍する解凍部260とを、情報処理装置100及びクライアント装置200の構成に追加することができる。
【0066】
情報処理装置100は、1または複数の圧縮部150を備えてもよい。圧縮部150は、少なくともエンコーダ120及び制御部140と電気的に接続される。
図9に示す一例では、情報処理装置100は、エンコーダ120の階層122、階層123及び階層124が出力する伝送データD200-1、伝送データD200-2及び伝送データD200-3のそれぞれを圧縮する3つの圧縮部150を備えている。圧縮部150は、公知の圧縮技術を用いてデータを圧縮する。制御部140は、圧縮部150が圧縮した伝送データD200をクライアント装置200に伝送する。制御部140は、例えば、圧縮しているか否か、圧縮技術の種類等を示す圧縮情報を、伝送データD200のヘッダ部D210に設定する。
【0067】
クライアント装置200は、1または複数の解凍部260を備えてもよい。解凍部260は、少なくともデコーダ220及び制御部250と電気的に接続される。
図9に示す一例では、クライアント装置200は、デコーダ220-1、デコーダ220-2及びデコーダ220-3に対応する3つの解凍部260を備えている。解凍部260は、圧縮部150に対応する解凍技術を用いて、伝送データD200を解凍する。解凍部260は、伝送データD200のヘッダ部D210の圧縮情報が圧縮していることを示している場合に、データを解凍する。制御部250は、解凍部260が解凍した伝送データD200を、デコーダ220に復号化させる。デコーダ220-1、デコーダ220-2及びデコーダ220-3は、解凍部260が解凍した伝送データD200が入力される。
【0068】
図9に示す一例では、情報処理システム1は、情報処理装置100が3つの圧縮部150を備え、クライアント装置200が3つの解凍部260を備える場合について説明するが、これに限定されない。例えば、情報処理システム1は、3つの伝送データD200-1、伝送データD200-2及び伝送データD200-3を情報処理装置100の1つの圧縮部150で圧縮し、クライアント装置200の1つの解凍部260で解凍する構成としてもよい。例えば、情報処理システム1は、伝送量が多い伝送データD200-1のみを圧縮、解凍する構成としてもよい。
【0069】
[実施形態の変形例に係る情報処理装置の符号化制御例]
図10は、実施形態の変形例に係る情報処理装置100の符号化制御に係る処理手順の一例を示すフローチャートである。
図10は、伝送データD200のデータ構造の一例を示す図である。
図10に示す処理手順は、情報処理装置100の制御部140がプログラムを実行することによって実現される。
図10に示す処理手順は、情報処理装置100がコンテンツデータD100をクライアント装置200に伝送(配信)する場合に実行される。
図10に示す処理手順は、
図6に示した処理手順と同一の処理については同一の符号を付して、説明を省略する。
【0070】
図10に示すように、情報処理装置100の制御部140は、符号化する階層の数及び階層の初期値を設定する(ステップS101)。制御部140は、設定した階層の復号化処理を実行する(ステップS102)。制御部140は、伝送データをクライアント装置200に伝送するか否かを判定する(ステップS103)。制御部140は、伝送データをクライアント装置200に伝送しないと判定した場合(ステップS103でNo)、処理を後述するステップS105に進める。また、制御部140は、伝送データをクライアント装置200に伝送すると判定した場合(ステップS103でYes)、処理をステップS111に進める。
【0071】
制御部140は、圧縮するか否かを判定する(ステップS111)。例えば、制御部140は、圧縮部150が存在する場合、圧縮の設定が有効である場合等に、圧縮すると判定する。制御部140は、圧縮しないと判定した場合(ステップS111でNo)、処理をステップS104に進める。
【0072】
また、制御部140は、圧縮すると判定した場合(ステップS111でYes)、処理をステップS112に進める。制御部140は、符号化した符号化データを圧縮する(ステップS112)。例えば、制御部140は、ステップS102でエンコーダ120のデータ部D220に設定する符号化データを圧縮部150で圧縮する。制御部140は、ステップS112の処理が終了すると、処理をステップS104に進める。
【0073】
制御部140は、符号化した伝送データD200をクライアント装置200に伝送する(ステップS104)。例えば、ステップS112で圧縮している場合、制御部140は、階層情報及び圧縮情報をヘッダ部D210に設定し、ステップS102でエンコーダ120が符号化した符号化データをデータ部D220に設定した伝送データD200を作成する。制御部140は、作成した伝送データD200を、通信部110を介してクライアント装置200に伝送する制御を行う。制御部140は、ステップS104の処理が終了すると、処理をステップS105に進める。
【0074】
制御部140は、全ての階層を終了したか否かを判定する(ステップS105)。制御部140は、全ての階層を終了していないと判定した場合(ステップS105でNo)、処理をステップS106に進める。制御部140は、符号化する次の階層を設定する(ステップS106)。制御部140は、ステップS106の処理が終了すると、処理をステップS102に戻し、処理を継続する。
【0075】
また、制御部140は、全ての階層を終了したと判定した場合(ステップS105でYes)、
図10に示す処理手順を終了させる。
【0076】
[実施形態の変形例に係るクライアント装置の復号化制御例]
図11は、実施形態の変形例に係るクライアント装置200の復号化制御に係る処理手順の一例を示すフローチャートである。
図11に示す処理手順は、情報処理装置100の制御部250がプログラムを実行することによって実現される。
図11に示す処理手順は、クライアント装置200からの伝送データD200を復号化する場合に実行される。
図11に示す処理手順は、
図8に示した処理手順と同一の処理については同一の符号を付して、説明を省略する。
【0077】
図11に示すように、クライアント装置200の制御部250は、伝送データD200のヘッダからデコーダ220の階層を選択する(ステップS201)。制御部250は、ステップS201の処理が終了すると、処理をステップS211に進める。
【0078】
制御部250は、圧縮されているか否かを判定する(ステップS211)。例えば、制御部250は、伝送データD200のヘッダ部D210の圧縮情報が圧縮していることを示す場合に、圧縮されていると判定する。制御部250は、圧縮されていないと判定した場合(ステップS211でNo)、処理をステップS202に進める。
【0079】
また、制御部250は、圧縮されていると判定した場合(ステップS211でYes)、処理をステップS212に進める。制御部140は、伝送データD200を解凍する(ステップS212)。例えば、制御部250は、伝送データD200を解凍部260に解凍させる。制御部250は、ステップS212の処理が終了すると、処理をステップS202に進める。
【0080】
制御部250は、復号化する階層の数及び階層の初期値を設定する(ステップS202)。制御部250は、設定した階層の復号化処理を実行する(ステップS203)。制御部250は、全ての階層を終了したか否かを判定する(ステップS204)。制御部250は、全ての階層を終了していないと判定した場合(ステップS204でNo)、処理をステップS205に進める。制御部250は、符号化する次の階層を設定する(ステップS205)。制御部250は、ステップS205の処理が終了すると、処理を既に説明したステップS203に戻し、処理を継続する。
【0081】
また、制御部250は、全ての階層を終了したと判定した場合(ステップS204でYes)、
図11に示す処理手順を終了させる。
【0082】
以上により、情報処理システム1は、情報処理装置100とクライアント装置200との間の伝送量をより減少させることができる。その結果、情報処理システム1は、1対多通信における伝送量が減少するので、リアルタイム性をより一層向上させることができる。
【0083】
[情報処理システム1の時間方向予測の利用例]
図12は、情報処理システム1の時間方向予測の利用例を説明するための図である。
図12に示すように、情報処理システム1は、過去の入力画像のみを用いた単方向予測を用いることで、符号化効率を高めることができる。
図12に示す一例では、入力画像t、入力画像t-1は、異なる時刻の画像を示している。
【0084】
情報処理装置100は、入力画像t-1に基づいて予測画像taを作成する。情報処理装置100は、前のフレームと現在のフレームはよく似ているという動画像の性質に基づいて、前のフレームの入力画像t-1から現在のフレームを予測した予測画像taを作成する。情報処理装置100は、フレーム間予測では、圧縮効率を高めるために動き補償の技術を用いることができる。動き補償は、現在のフレームを予測する場合に、動きの分だけずらした位置の画像を用いて動きを補うものである。情報処理装置100は、入力画像tと予測画像taの残差画像tbをエンコーダ120に入力し、エンコーダ120が復号化した伝送データD200をクライアント装置200に伝送する。
【0085】
クライアント装置200は、情報処理装置100からの伝送データD200をデコーダ220でデコードする。クライアント装置200は、復号画像td-1に基づいて予測画像tpを作成する。クライアント装置200は、デコーダ220がデコードした復号残差画像tcを取得すると、復号残差画像tcと予測画像tpとに基づく復号画像tdを得る。クライアント装置200は、復号画像tdに関する制御を行う。
【0086】
情報処理システム1は、過去フレームを用いた単方向予測を用いることで、エンコーダ120で残差画像tbを符号化すればよくなり、符号化効率を向上させることができる。この場合、誤差がフレーム方向に蓄積されるため、情報処理システム1は、定期的に時間方向予測を用いないイントラフレームを挿入することで、誤差の蓄積を解消することができる。
【0087】
[情報処理システム1のオートエンコーダの学習方法例]
図13は、情報処理システム1のオートエンコーダの学習方法の一例を説明するための図である。
図14は、高ビットレート優先のオートエンコーダの学習方法の一例を説明するための図である。
図15は、低ビットレート優先のオートエンコーダの学習方法の一例を説明するための図である。
【0088】
図13に示すように、情報処理システム1は、エンコーダ120の入力とデコーダ220の出力との間のLossが小さくなるように学習したオートエンコーダを用いている。情報処理システム1は、例えば、L1 loss等のloss関数を適宜用いることができる。エンコーダ120の浅い層は共通なので、全ての伝送データD200に対して最適化することはできないが、学習ステップを変更することで、優先する画像品質を変更することができる。
【0089】
図14に示すように、情報処理システム1は、高ビットレートの高画質を優先する場合、ステップS1において、エンコーダ120の階層121とデコーダ220の階層221との学習を行う。情報処理システム1は、学習用信号を階層121に入力し、学習用信号に基づいて、エンコーダ120の階層121及びデコーダ220の階層221に用いるパラメータを、lossが小さくなるように生成する。
【0090】
情報処理システム1は、ステップS2において、エンコーダ120の階層122とデコーダ220の階層222との学習を行う。エンコーダの階層121は共通であるので、情報処理システム1は、学習用信号を階層121に入力し、学習用信号に基づいて、エンコーダ120の階層122及びデコーダ220の階層222に用いるパラメータを、lossが小さくなるように生成する。
【0091】
情報処理システム1は、ステップS3において、エンコーダ120の階層123とデコーダ220の階層223との学習を行う。エンコーダの階層121及び階層122は共通であるので、情報処理システム1は、学習用信号を階層121に入力し、学習用信号に基づいて、エンコーダ120の階層123及びデコーダ220の階層223に用いるパラメータを、lossが小さくなるように生成する。
【0092】
情報処理システム1は、ステップS4において、エンコーダ120の階層124とデコーダ220の階層224との学習を行う。エンコーダの階層121、階層122及び階層123は共通であるので、情報処理システム1は、学習用信号を階層121に入力し、学習用信号に基づいて、エンコーダ120の階層124及びデコーダ220の階層224に用いるパラメータを、lossが小さくなるように生成する。
【0093】
情報処理システム1は、
図14に示す学習により生成したパラメータをエンコーダ120及びデコーダ220の各階層に設定することで、高ビットレートの高画質を優先したエンコーダ120及びデコーダ220を用いることができる。
【0094】
図15に示すように、情報処理システム1は、低ビットレートの低画質を優先する場合、ステップS1において、エンコーダ120の階層121、階層122、階層123及び階層124と、デコーダ220の階層221、階層222、階層223及び階層224との学習を行う。情報処理システム1は、学習用信号を階層121に入力し、学習用信号に基づいて、エンコーダ120の階層121、階層122、階層123及び階層124とデコーダ220の階層221、階層222、階層223及び階層224とに用いるパラメータを、lossが小さくなるように生成する。
【0095】
情報処理システム1は、ステップS2において、エンコーダ120の階層121、階層122及び階層123と、デコーダ220の階層221、階層222及び階層223との学習を行う。エンコーダ120の各階層はステップS11と共通であるので、情報処理システム1は、ステップS11の学習結果に基づいて、エンコーダ120及びデコーダ220の各階層に用いるパラメータを、lossが小さくなるように生成する。
【0096】
情報処理システム1は、ステップS3において、エンコーダ120の階層121及び階層122と、デコーダ220の階層221及び階層222との学習を行う。エンコーダ120の各階層はステップS11と共通であるので、情報処理システム1は、ステップS11の学習結果に基づいて、エンコーダ120及びデコーダ220の各階層に用いるパラメータを、lossが小さくなるように生成する。
【0097】
情報処理システム1は、ステップS4において、エンコーダ120の階層121とデコーダ220の階層221との学習を行う。エンコーダ120の階層121はステップS11と共通であるので、情報処理システム1は、ステップS11の学習結果に基づいて、エンコーダ120の階層121及びデコーダ220の階層221に用いるパラメータを、lossが小さくなるように生成する。
【0098】
情報処理システム1は、
図15に示す学習により生成したパラメータをエンコーダ120及びデコーダ220の各階層に設定することで、低ビットレートの低画質を優先したエンコーダ120及びデコーダ220を用いることができる。
【0099】
[情報処理システムの他の変形例]
上述の実施形態では、情報処理システム1は、情報処理装置100と、複数のクライアント装置200とを有する構成について説明したが、これに限定されない。例えば、情報処理システム1は、情報処理装置100と、複数のデコーダ220-1、デコーダ220-2及びデコーダ220-3を備える1つのクライアント装置200と、を備える構成としてもよい。すなわち、情報処理システム1は、情報処理装置100とクライアント装置200との一対一の構成において、1対多通信を実現してもよい。
【0100】
[ハードウェア構成]
上述してきた実施形態に係る情報処理システム1の情報処理装置100及びクライアント装置200は、例えば
図16に示すような構成のコンピュータ1000によって実現してもよい。以下、実施形態に係る情報処理装置100を例に挙げて説明する。
図16は、情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
【0101】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
【0102】
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0103】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【0104】
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
【0105】
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0106】
例えば、コンピュータ1000が実施形態に係る情報処理システム1の情報処理装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部140等の機能を実現する。また、HDD1400には、本開示に係るプログラムや、記憶部130内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
【0107】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0108】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0109】
また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理装置30が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
【0110】
また、本明細書の情報処理装置30の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、情報処理装置30の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【0111】
(効果)
情報処理システム1は、情報処理装置100と、複数のクライアント装置200と、を備える。情報処理装置100は、伝送対象データを異なる複数の伝送量の符号化データに符号化するエンコーダ120と、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に、符号化した符号化データを伝送する制御を行う制御部140と、を備える。クライアント装置200は、復号化対象の伝送量に対応し、符号化データを復号化するデコーダ220と、復号化したデータに基づく処理を実行する制御部250(第2制御部)と、を備える。
【0112】
これにより、情報処理システム1は、情報処理装置100が複数の伝送量に復号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送することができる。情報処理システム1は、複数のクライアント装置200のそれぞれが、復号対象の伝送量の符号化データを復号することができる。その結果、情報処理システム1は、情報処理装置100が符号化データの伝送量に基づく伝送を制御できるので、1対多通信におけるリアルタイム性を向上させることができる。
【0113】
情報処理システム1では、情報処理装置100は、エンコーダ120が異なる伝送量となるように符号化する複数の階層を備え、制御部140が、複数の階層のそれぞれが符号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送する。クライアント装置200は、デコーダ220がエンコーダ120における複数の階層の異なる伝送量に対応している。
【0114】
これにより、情報処理システム1は、情報処理装置100のエンコーダ120が複数の階層を備え、クライアント装置200が複数の階層の異なる伝送量に適したデコーダを備えることができる。その結果、情報処理システム1は、複数のクライアント装置200が伝送量に適したデコーダ220を備えればよいので、1対多通信におけるリアルタイム性を向上させ、かつクライアント装置200の構成の簡単化を図ることができる。
【0115】
情報処理システム1では、情報処理装置100は、複数の階層が前段の階層が符号化した符号化データをさらに符号化して伝送量を減少させ、制御部140が複数の階層が符号化するごとに、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に、符号化した符号化データを伝送する。
【0116】
これにより、情報処理システム1は、情報処理装置100がエンコーダ120の複数の階層が復号化するごとに、符号化した伝送量が多い符号化データから順に、伝送量に適したクライアント装置200に伝送することができる。その結果、情報処理システム1は、伝送対象データを段階的に符号化した符号化データを順次伝送することで、1対多通信におけるリアルタイム性をより一層向上させることができる。
【0117】
情報処理システム1では、情報処理装置100は、制御部140がクライアント装置200からの制御情報D10が示す伝送量に基づいて、符号化データを伝送するクライアント装置200を決定する。クライアント装置200は、制御部250が制御情報D10を情報処理装置100に伝送する制御を行う。
【0118】
これにより、情報処理システム1は、クライアント装置200が自装置に適した伝送量を示す制御情報D10を情報処理装置10に送信することで、情報処理装置100が複数のクライアント装置200のそれぞれに適した伝送量の符号化データを伝送することができる。その結果、情報処理システム1は、情報処理装置100が符号化データの伝送量に基づく伝送を効率よく制御できるので、1対多通信におけるリアルタイム性をより一層向上させることができる。
【0119】
情報処理システム1では、情報処理装置100は、制御部140が符号化データと符号化した階層を識別可能な階層情報とを有する伝送データD200をクライアント装置200に伝送する。クライアント装置200は、制御部250が、前記階層情報に基づいて復号化を制御する。
【0120】
これにより、情報処理システム1は、情報処理装置100が階層情報を有する伝送データD200をクライアント装置200に伝送することで、クライアント装置200が階層情報に基づいて伝送データD200の復号化を制御することができる。その結果、情報処理システム1は、クライアント装置200が伝送データD200に応じてデコーダ220の階層を切り替えて復号化できるので、クライアント装置200の汎用性を向上させることができる。
【0121】
情報処理システム1では、クライアント装置200は、デコーダ220が1または複数の階層を備え、エンコーダ120に対応した階層で復号化する。
【0122】
これにより、情報処理システム1は、クライアント装置200が、デコーダ220の階層で復号対象の伝送量の伝送データを復号することができる。その結果、情報処理システム1は、クライアント装置200が異なる伝送量の符号化データを復号できるので、1対多通信におけるシステム構成の多様化を図ることができる。
【0123】
情報処理システム1では、情報処理装置100は、制御部140がエンコーダ120の階層が符号化した符号化データを圧縮してクライアント装置200に伝送する。クライアント装置200は、デコーダ220が情報処理装置100からの符号化データを解凍したデータを復号化する。
【0124】
これにより、情報処理システム1は、情報処理装置100とクライアント装置200との間の伝送量をより減少させることができる。その結果、情報処理システム1は、1対多通信における伝送量が減少するので、リアルタイム性をより一層向上させることができる。
【0125】
情報処理システム1では、伝送対象データは、残差画像を示すデータを含む。
【0126】
これにより、情報処理システム1は、過去フレームを用いた単方向予測を用いることで、エンコーダ120が残差画像を符号化することができる。その結果、情報処理システム1は、エンコーダ120が残差画像tbを符号化することで、符号化効率を向上させることができる。
【0127】
情報処理システム1では、エンコーダ120及びデコーダ220は、高ビットレートまたは低ビットレートを優先して学習されている。
【0128】
これにより、情報処理システム1は、高ビットレートまたは低ビットレートを優先して学習したエンコーダ120及びデコーダ220を用いることができる。その結果、情報処理システム1は、優先する伝送データD200の品質を変更することができるので、システムの最適化を図ることができる。
【0129】
情報処理装置100は、複数のクライアント装置200と通信可能な情報処理装置100であって、伝送対象データを伝送量が異なる複数の符号化データに符号化するエンコーダ120と、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に、符号化した符号化データを伝送する制御を行う制御部140と、を備える。
【0130】
これにより、情報処理装置100は、複数の伝送量に復号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送することができる。その結果、情報処理装置100は、符号化データの伝送量に基づく伝送を制御できるので、1対多通信におけるリアルタイム性を向上させることができる。
【0131】
情報処理方法は、複数のクライアント装置200と通信可能な情報処理装置100が、伝送対象データを伝送量が異なる複数の符号化データにエンコーダ120で符号化すること、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に、符号化した符号化データを伝送する制御を行うこと、を含む。
【0132】
これにより、情報処理方法は、情報処理装置100が、複数の伝送量に復号化した符号化データを、複数のクライアント装置200の中から符号化データの伝送量に基づいて決定したクライアント装置200に伝送することができる。その結果、情報処理方法は、符号化データの伝送量に基づく伝送を制御できるので、1対多通信におけるリアルタイム性を向上させることができる。
【0133】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
情報処理装置と、
複数のクライアント装置と、
を備え、
前記情報処理装置は、
伝送対象データを異なる複数の伝送量の符号化データに符号化するエンコーダと、
複数の前記クライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行う制御部と、
を備え、
前記クライアント装置は、
復号化対象の前記伝送量に対応し、前記符号化データを復号化するデコーダと、
復号化したデータに基づく処理を実行する第2制御部と、
を備える情報処理システム。
(2)
前記情報処理装置は、
前記エンコーダが、異なる前記伝送量となるように符号化する複数の階層を備え、
前記制御部が、複数の前記階層のそれぞれが符号化した前記符号化データを、複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に伝送し、
前記クライアント装置は、
前記デコーダが前記エンコーダにおける複数の前記階層の異なる前記伝送量に対応している
前記(1)に記載の情報処理システム。
(3)
前記情報処理装置は、
複数の前記階層が、前段の前記階層が符号化した前記符号化データをさらに符号化して前記伝送量を減少させ、
前記制御部が、複数の前記階層が符号化するごとに、複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する
前記(2)に記載の情報処理システム。
(4)
前記情報処理装置は、
前記制御部が、前記クライアント装置からの制御情報が示す前記伝送量に基づいて、前記符号化データを伝送する前記クライアント装置を決定し、
前記クライアント装置は、
前記第2制御部が、前記制御情報を前記情報処理装置に伝送する制御を行う
前記(1)から(3)のいずれかに記載の情報処理システム。
(5)
前記情報処理装置は、
前記制御部が、前記符号化データと符号化した前記階層を識別可能な階層情報とを有する伝送データを前記クライアント装置に伝送し、
前記クライアント装置は、
前記第2制御部が、前記階層情報に基づいて復号化を制御する
前記(1)から(4)のいずれかに記載の情報処理システム。
(6)
前記クライアント装置は、
前記デコーダが、1または複数の第2階層を備え、前記エンコーダの前記階層に対応した前記第2階層で復号化する
(5)に記載の情報処理システム。
(7)
前記情報処理装置は、
前記制御部が、前記階層が符号化した前記符号化データを圧縮して前記クライアント装置に伝送し、
前記クライアント装置は、
前記デコーダが、前記情報処理装置からの前記符号化データを解凍したデータを復号化する
前記(1)から(6)のいずれかに記載の情報処理システム。
(8)
前記伝送対象データは、残差画像を示すデータを含む
前記(1)から(7)のいずれかに記載の情報処理システム。
(9)
前記エンコーダ及び前記デコーダは、高ビットレートまたは低ビットレートを優先して学習されている
前記(1)から(8)のいずれかに記載の情報処理システム。
(10)
複数のクライアント装置と通信可能な情報処理装置であって、
伝送対象データを伝送量が異なる複数の符号化データに符号化するエンコーダと、
複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行う制御部と、
を備える情報処理装置。
(11)
複数のクライアント装置と通信可能な情報処理装置が、
伝送対象データを伝送量が異なる複数の符号化データにエンコーダで符号化すること、
複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行うこと、
を含む情報処理方法。
(12)
複数のクライアント装置と通信可能な情報処理装置に、
伝送対象データを伝送量が異なる複数の符号化データにエンコーダで符号化すること、
複数のクライアント装置の中から前記符号化データの前記伝送量に基づいて決定した前記クライアント装置に、符号化した前記符号化データを伝送する制御を行うこと、
を実行させる情報処理プログラム。
【符号の説明】
【0134】
1 情報処理システム
100 情報処理装置
110 通信部
120 エンコーダ
121、122、123、124 階層
130 記憶部
140 制御部
150 圧縮部
200、200A、200B、200C クライアント装置
210 通信部
220、220-1、220-2、220-3 デコーダ
221、222、223、224 階層
230 出力部
240 記憶部
250 制御部
260 解凍部
D10 制御情報
D100 コンテンツデータ
D200、D200-1、D200-2、D200-3 伝送データ
D210 ヘッダ部
D220 データ部