(57)【要約】【課題】エンコードセッションの設定上限を超える数のストリームの画像データを処理することができるシステムを提供すること。【解決手段】所定の時間間隔で更新される画像データが更新される順番に流れるストリームデータから、更新される順番に画像データを取得し、前記更新される順番にエンコードして出力先の装置に送信する画像処理装置であって、各ストリームデータから取得した画像データと該画像データに係るストリームデータの識別情報とを、各画像データをエンコードする処理が行われる複数のセッションのうちのいずれか一のセッションに振り分ける振分部と、振り分けられた前記画像データをセッションごとにエンコードするエンコード部と、前記ストリームデータの識別情報に基づいて、予めストリームに関連付けられている出力先情報を特定し、エンコードされた画像データを、特定した前記出力先情報の示す１以上の装置の宛先に送信する送信部と、を有する画像処理装置が提供される。【選択図】図５
2017112477.tif 000002
【特許請求の範囲】
【請求項１】
所定の時間間隔で更新される画像データが更新される順番に流れるストリームデータから、更新される順番に画像データを取得し、前記更新される順番にエンコードして出力先の装置に送信する画像処理装置であって、
各ストリームデータから取得した画像データと該画像データに係るストリームデータの識別情報とを、各画像データをエンコードする処理が行われる複数のセッションのうちのいずれか一のセッションに振り分ける振分部と、
振り分けられた前記画像データをセッションごとにエンコードするエンコード部と、
前記ストリームデータの識別情報に基づいて、予めストリームに関連付けられている出力先情報を特定し、エンコードされた画像データを、特定した前記出力先情報の示す１以上の装置の宛先に送信する送信部と、を有する画像処理装置。
【請求項２】
前記振分部は、同じストリームデータの画像データで、前記更新される順番が一つ前の画像データの次にエンコードすることができるセッションがある場合、前記受け付けた画像データを該セッションに振り分け、
前記エンコード部は、同じセッションに一つ前に振り分けられた画像データと、前記受け付けた画像データとの差分の画像データをエンコードする請求項１に記載の画像処理装置。
【請求項３】
前記振分部は、未使用のセッションに前記画像データを振り分ける請求項１又は２に記載の画像処理装置。
【請求項４】
前記振分部は、最も待ち時間の少ないセッションに前記画像データを振り分ける請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記振分部は、同じストリームデータの画像データで、前記更新される順番が一つ前の画像データの次にエンコードすることができるセッションがある場合、前記受け付けた画像データを該セッションに振り分け、
前記更新の順番にエンコードすることが可能なセッションがなく、未使用のセッションがある場合、未使用のセッションに前記画像データを振り分け、
未使用のセッションがない場合、最も待ち時間の少ないセッションに前記画像データを振り分ける請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像処理装置は、前記所定の時間間隔で画像データを更新する更新部をさらに有し、
前記更新部は、変更が中断している画像データの更新を停止する請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
所定の時間間隔で更新される画像データが更新される順番に流れるストリームデータから、更新される順番に画像データを取得し、前記更新される順番にエンコードして出力先の装置に送信する処理をコンピュータに実行させるプログラムであって、
各ストリームデータから取得した画像データと該画像データに係るストリームデータの識別情報とを、各画像データをエンコードする処理が行われる複数のセッションのうちのいずれか一のセッションに振り分けるステップと、
振り分けられた前記画像データをセッションごとにエンコードするステップと、
前記ストリームデータの識別情報に基づいて、予めストリームに関連付けられている出力先情報を特定し、エンコードされた画像データを、特定した前記出力先情報の示す１以上の装置の宛先に送信するステップと、を前記コンピュータに実行させるプログラム。
【請求項８】
所定の時間間隔で更新される画像データが更新される順番に流れるストリームデータから、更新される順番に画像データを取得し、前記更新される順番にエンコードして出力先の装置に送信する処理をコンピュータが実行する方法であって、
各ストリームデータから取得した画像データと該画像データに係るストリームデータの識別情報とを、各画像データをエンコードする処理が行われる複数のセッションのうちのいずれか一のセッションに振り分けるステップと、
振り分けられた前記画像データをセッションごとにエンコードするステップと、
前記ストリームデータの識別情報に基づいて、予めストリームに関連付けられている出力先情報を特定し、エンコードされた画像データを、特定した前記出力先情報の示す１以上の装置の宛先に送信するステップと、を前記コンピュータが実行する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び方法に関する。
【背景技術】
【０００２】
画像処理装置に記憶されており、所定の時間間隔で更新される画像データを、エンコードして端末に配信する技術がある。
【０００３】
例えば、電子黒板（以下、ＩＷＢ（Interactive Whiteboard））に書込まれた画像を、複数のユーザ端末に配信するシステムがある。ＩＷＢは、ユーザにより書込まれた画像を受け付ける。また、ＩＷＢは、ユーザからページをめくる操作を受け付けると、別のページに切り替える。ＩＷＢは、切り替えられたページに既に画像が書き込まれていた場合、当該画像をディスプレイに表示する。
【０００４】
ＩＷＢは、ページ毎に書込まれた画像を記憶しており、各ページの画像データは所定の時間単位に更新される。ＩＷＢは、ユーザの要求に応じて、所望のページの画像データをエンコードし、ユーザ端末に配信する。これにより、各々のユーザは、ＩＷＢに記憶されている各ページの画像データを自由に閲覧することができる。
【０００５】
また、エンコードセッションを複数設定して、クラウド上のコンテンツを複数のエンコードセッションに振り分け、それぞれエンコードして端末に配信する技術が開示されている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、エンコードセッションの設定上限を超える数のストリームの画像データを処理することができなかった。
【０００７】
例えば、ＩＷＢは、ユーザからのページを閲覧する要求を受信した場合、１ページに対して１のエンコードセッションを割り当て、閲覧要求があったページの画像データをエンコードし、ユーザ端末に配信する。すなわち、５人のユーザから５ページ分の閲覧要求があった場合、５のエンコードセッションを各ページに割り当て、５ページ分の画像データを同時にエンコードし、５人のユーザ端末に画像データを配信する。
【０００８】
ＩＷＢは、ページが更新される度に、当該ページに割り当てられたエンコードセッションで、当該ページの画像データの差分のデータに基づくエンコードを行ってユーザ端末に配信しており、ユーザ端末には最新の画像データが配信される。以下では、所定の時間間隔で更新される画像データが更新順にデータ処理される流れをストリームという。
【０００９】
ところが、エンコードセッションを設定するとＣＰＵ、メモリ等のリソースを消費するため、エンコードセッションを設定できる数には上限があり、ＩＷＢは、設定上限値を超えてエンコードセッションを設定することができない。
【００１０】
このため、ＩＷＢは、エンコードセッションの設定上限を超える数のページ数の閲覧要求を複数のユーザから受けた場合、１度にエンコード処理を行うことができなかった。
【００１１】
そこで、本実施形態では、上記課題に鑑み、エンコードセッションの設定上限を超える数のストリームの画像データを処理することができるシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
一つの案では、所定の時間間隔で更新される画像データが更新される順番に流れるストリームデータから、更新される順番に画像データを取得し、前記更新される順番にエンコードして出力先の装置に送信する画像処理装置であって、各ストリームデータから取得した画像データと該画像データに係るストリームデータの識別情報とを、各画像データをエンコードする処理が行われる複数のセッションのうちのいずれか一のセッションに振り分ける振分部と、振り分けられた前記画像データをセッションごとにエンコードするエンコード部と、前記ストリームデータの識別情報に基づいて、予めストリームに関連付けられている出力先情報を特定し、エンコードされた画像データを、特定した前記出力先情報の示す１以上の装置の宛先に送信する送信部と、を有する画像処理装置が提供される。
【発明の効果】
【００１３】
エンコードセッションの設定上限を超える数のストリームの画像データを処理することができる。
【図面の簡単な説明】
【００１４】
【図１】画像処理システムの構成例を説明する図である。
【図２】配信サーバの処理を説明するための図である。
【図３】参考技術のエンコード処理の流れを説明するための図である。
【図４】実施形態１のソフトウェア構成の例を示す図である。
【図５】振分部及びエンコード部による処理を説明するための図である。
【図６】画像データをエンコードセッションに振り分ける処理のフローチャートの例を示す図である。
【図７】実施形態１に係るＩＷＢの利点を説明するための図である。
【図８】実施形態１のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
【００１６】
［実施形態１］
＜画像処理システムの全体構成＞
図１は、画像処理システムの構成例を説明する図である。画像処理システム１は、ＩＷＢ１００と、ＰＣ（Personal Computer）端末２００ａと、タブレット端末２００ｂと、ＰＣ端末２００ｃと、ＰＣ端末２００ｄとを有する。ＩＷＢ１００及びＰＣ端末１００ａと、ＩＷＢ１００及びＰＣ端末１００ｃとは、有線ＬＡＮを介して画像データを送信する。また、ＩＷＢ１００及びタブレット端末２００ｂは、無線ＬＡＮを介して画像データを送信する。また、ＩＷＢ１００及びＰＣ端末２００ｄは、インターネット５を介して画像データを送信する。すなわち、ＩＷＢ１００は、インターネット５を介して遠隔地の端末に画像データを送信してもよい。
【００１７】
ＩＷＢ１００は、ユーザから画像入力を受け付けたり、ページの切替操作を受け付けたりする。
【００１８】
例えば、ユーザがディスプレイ１１０の１ページ目の画面に入力用の電子ペンで「計画１」という文字列を書き込むと、ＩＷＢ１００は、画面に文字列「計画１」を表示する。
【００１９】
続いて、ユーザがディスプレイ１１０上に手を当接させた状態で、素早く右から左に手を移動させると、ＩＷＢ１００は、画面を１ページから２ページに切り替える。
【００２０】
ユーザが２ページ目の画面に２ページで「計画２」という文字列を書込むと、ＩＷＢ１００は、画面に文字列「計画２」を表示する。
【００２１】
続いて、ユーザがディスプレイ１１０上に手を当接させた状態で、素早く左から右に手を移動させると、ＩＷＢ１００は、２ページから１ページに切り替え、１ページに既に入力されている「計画１」を再度表示する。
【００２２】
ＩＷＢ１００は、ＰＣ端末２００ａ、タブレット端末２００ｂ、ＰＣ端末２００ｃ及びＰＣ端末２００ｄからページを閲覧する要求を受け付ける。以下では、各ユーザ端末から受け付けたページを閲覧する要求を閲覧要求という。
【００２３】
ＩＷＢ１００は、ＰＣ端末２００ａから１ページ目の閲覧要求を受け付けると、１ページ目の「計画１」の画像データをエンコードし、ＰＣ端末２００ａに送信する。ＩＷＢ１００は、１度画像データを送信した後も、所定の時間間隔でＰＣ端末２００ａに、前回送信時の画像データと今回送信する画像データの差分のデータに基づくエンコードを行って送信する。これにより、ＰＣ端末２００ａには、最新の１ページ目の画像が表示される。以下では、前回送信時の画像データと今回送信する画像データの差分のデータを差分画像データと呼ぶ。
【００２４】
また、ＩＷＢ１００は、タブレット端末２００ｂから２ページ目の閲覧要求を受け付けると、２ページ目の「計画２」の画像データをエンコードし、タブレット端末２００ｂに送信する。ＩＷＢ１００は、１度画像データを送信した後も、所定の時間間隔でタブレット端末２００ｂにエンコードされた差分画像データを送信する。これにより、タブレット端末２００ｂには、最新の２ページ目の画像が表示される。
【００２５】
このように、ＩＷＢ１００は、ユーザからの閲覧要求に対応するページの画像データを、所定の時間間隔でエンコードしてユーザ端末に送信する。
【００２６】
なお、本実施形態は、ＩＷＢに適用する場合に限定されず、画像データを各端末に配信する各種装置に適用可能である。
【００２７】
＜画像データを配信する処理の流れ＞
図２は、配信サーバ１０の処理を説明するための図である。ＩＷＢ１００は、配信サーバ１０の一例である。配信サーバ１０は、例えば、所定の地域の天気の情報、もしくは施設内の監視画像を取得するなどのために所定の場所に固定された定点カメラから取得された画像データを取り扱ってもよい。
【００２８】
配信サーバ１０は、生成部１１と、エンコード部１２と、配信制御部１３とを有する。配信サーバ１０は、ＰＣ端末２００ａと、タブレット端末２００ｂと、ＰＣ端末２００ｃとに通信可能に接続される。
【００２９】
生成部１１は、ユーザによる入力内容に基づいて、第１画像データと第２画像データとを生成する。例えば、第１画像データは、ＩＷＢ１００の１ページ目の画像データに相当し、第２画像データは、ＩＷＢ１００の２ページ目の画像データに相当する。
【００３０】
生成部１１は、第１画像データ及び第２画像データの画像データを所定の時間間隔で生成し、不図示の記憶部に上書きしているため、記憶部内の第１画像データ及び第２画像データは、最新の状態に保たれる。例えば、第１画像データ及び第２画像データは、１秒間隔で更新される。以下では、第１画像データに関し、更新順にそれぞれ「第１画像データ１」「第１画像データ２」「第１画像データ３」、また、第２画像データに関し、「第２画像データ１」「第２画像データ２」「第２画像データ３」と表す。
【００３１】
例えば、ＩＷＢ１００の１ページ目に「計」が書込まれた場合、「第１画像データ１」は「言」の途中までの画像を示し、「第１画像データ２」は「言」を示し、「第１画像データ３」は「計」を示す。
【００３２】
配信サーバ１０は、ＰＣ端末２００ａ及びタブレット端末２００ｂから第１画像データの閲覧要求を受信する。かかる場合に、生成部１１は、第１画像データをエンコードするためのストリーム１を通じて、「第１画像データ１」「第１画像データ２」「第１画像データ３」を順番にエンコード部１２に送信する。
【００３３】
また、配信サーバ１０は、ＰＣ端末２００ｃから第２画像データの閲覧要求を受信する。かかる場合に、生成部１１は、第２画像データをエンコードするためのストリーム２を通じて、「第２画像データ１」「第２画像データ２」「第２画像データ３」を順番にエンコード部１２に送信する。
【００３４】
エンコード部１２は、ストリーム１を通じて受信した「第１画像データ１」「第１画像データ２」「第１画像データ３」を順番にエンコード処理し、それぞれ１フレームの圧縮フレームを生成する。続いて、エンコード部１２は、圧縮フレームを生成する度にストリーム１を通じて、圧縮フレームを配信制御部１３に送信する。
【００３５】
また、エンコード部１２は、ストリーム２を通じて受信した「第２画像データ１」「第２画像データ２」「第２画像データ３」を順番にエンコード処理し、それぞれ１フレームの圧縮フレームを生成する。続いて、エンコード部１２は、圧縮フレームを生成する度にストリーム２を通じて、圧縮フレームを配信制御部１３に送信する。
【００３６】
配信制御部１３は、第１の画像データに係る圧縮フレームを受信する度に、ストリーム１に対応付けられているＰＣ端末２００ａ及びタブレット端末２００ｂに「第１画像データ１」「第１画像データ２」「第１画像データ３」に係る圧縮フレームを送信する。また、配信制御部１３は、第２の画像データに係る圧縮フレームを受信する度に、ストリーム２に対応付けられているＰＣ端末２００ｃに「第２画像データ１」「第２画像データ２」「第２画像データ３」に係る圧縮フレームを送信する。
【００３７】
これにより、各々のユーザ端末２００には、配信サーバから配信された最新の第１画像データ及び第２画像データが表示される。
【００３８】
次に、参考技術と本実施形態に係る技術において使用されるエンコードセッション数の相違に関して説明する。
【００３９】
＜エンコード処理の流れ（参考技術）＞
図３は、参考技術のエンコード処理の流れを説明するための図である。参考技術では、画像データをエンコード処理するための複数のストリームが形成された場合、ストリーム数と同数のエンコードセッションを設定する。ここで、エンコードセッションとは、所定の時間間隔で更新される画像データの差分画像データに基づきエンコードを行うためのモジュールである。
【００４０】
エンコード部１２３'は、参考技術に係るエンコード処理を実行する処理部である。例えば、エンコード部１２３'は、２人のユーザから第１画像データと、第２画像データとの閲覧要求があった場合、第１画像データをエンコードするためのエンコードセッション１と、第２画像データをエンコードするためのエンコードセッション２とを設定する。
【００４１】
続いて、エンコード部１２３'は、ストリーム１を通じて、第１画像データに係る「第１画像データ１」「第１画像データ２」「第１画像データ３」をエンコードセッション１に更新順に送信し、エンコード処理を実行する。続いて、エンコード部１２３'は、エンコードされた「第１画像データ１」「第１画像データ２」「第１画像データ３」をエンコード出力１として順番にユーザ端末に出力する。
【００４２】
また、エンコード部１２３'は、ストリーム２を通じて、第２画像データに係る「第２画像データ１」「第２画像データ２」「第２画像データ３」をエンコードセッション２に更新順に送信し、エンコード処理を実行する。続いて、エンコード部１２３'は、エンコードされた「第２画像データ１」「第２画像データ２」「第２画像データ３」をエンコード出力２として順番にユーザ端末に出力する。
【００４３】
すなわち、エンコード部１２３'は、ユーザによって閲覧要求があった画像データのストリーム数と同数のエンコードセッションを設定する。
【００４４】
エンコードセッションを設定するとＣＰＵ、メモリ等のリソースを消費するため、エンコードセッションを設定できる数には上限があり、設定上限数を超えてエンコードセッションを設定することができない。
【００４５】
このため、参考技術では、エンコードセッションの設定上限数を超える数のページ数の閲覧要求を複数のユーザから受けた場合、１度にエンコード処理を行うことができなかった。
【００４６】
＜ソフトウェア構成＞
図４は、実施形態１のソフトウェア構成を示す図である。ＩＷＢ１００は、入力部１０１と、処理部１２０と、記憶部１３０と、表示部１３１とを有する。
【００４７】
入力部１０１は、ディスプレイ１１０上に電子ペン等を用いて書込まれた画像の入力を受け付ける。例えば、入力部１０１は、ディスプレイ１１０に「計画１」という文字列が入力される場合、文字列が入力されているときに所定の時間間隔で入力情報を取得する。例えば、「計画１」のうちの「計」の「言」の入力が完了するまでに複数回入力情報を取得し、「十」の入力が完了するまでにも複数回入力情報を取得する。
【００４８】
生成部１２１は、入力部１０１から受信した入力情報に応じて、画像データを生成する。生成部１２１は、「計画１」のうちの「計」の「言」の入力が完了した時点の入力情報を取得した場合、途中まで入力された「言」の画像データが既に記憶部１３０に記録されているので、上書きして画像データを更新する。続いて、生成部１２１は、「計画１」のうちの「計」の「十」の入力が完了した時点の入力情報を取得した場合、途中まで入力された「計」の画像データが既に記憶部１３０に記録されているので、上書きして画像データを更新する。
【００４９】
また、表示部１３１は、記憶部１３０に記録された画像情報に応じてディスプレイ１１０に画像を表示する。例えば、表示部１３１は、記憶部１３０に「計」の「言」の入力が完了した時点の画像データが記録されていた場合、「言」をディスプレイ１１０に表示する。
【００５０】
また、生成部１２１は、ページ毎に異なるストリームを通じて、振分部１２２に画像データを送信する。例えば、生成部１２１は、１ページ目の画像データを、ストリーム１を通じて振分部１２２に送信する。また、生成部１２１は、２ページ目の画像データを、ストリーム２を通じて振分部１２２に送信する。また、生成部１２１は、３ページ目の画像データを、ストリーム３を通じて振分部１２２に送信する。
【００５１】
振分部１２２は、生成部１２１から受信した画像データを、いずれかのエンコードセッションに振り分ける。
【００５２】
具体的には、振分部１２２は、ページ数と同数のストリームを通じて、各ページの画像データを受信する。振分部１２２は、ページが更新される度に、当該ページに対応するストリームを通じて画像データを受信する。
【００５３】
続いて、振分部１２２は、各エンコードセッションに画像データを振り分ける。エンコードセッションの数は、ストリーム数（ページ数）よりも少なくなってもよい。したがって、ＩＷＢ１００は、エンコードセッションの設定上限数を超えるページ数の画像データを同時に処理することが可能である。
【００５４】
振分部１２２は、以下の（１）（２）（３）の基準に基づいて画像データをエンコードセッションに振り分ける。（１）の基準の優先度が最も高く、（２）の基準の優先度が次に高い。（３）の基準の優先度は（２）よりも低い。
【００５５】
（１）振分部１２２は、第１優先事項として、同一ストリームの画像データを連続してエンコードできるエンコードセッションがある場合に、当該エンコードセッションに振り分ける。
【００５６】
（２）振分部１２２は、第２優先事項として、未使用のエンコードセッションに振り分ける。未使用のエンコードセッションとは、一度もエンコード処理をしていないエンコードセッションを示す。
【００５７】
（３）振分部１２２は、第３優先事項として、エンコード処理が開始されるまでの待ち時間が最も少ないエンコードセッションに振り分ける。
【００５８】
（１）のように、同一ストリームの画像データを連続してエンコードできるエンコードセッションがある場合に、当該エンコードセッションに画像データを振り分けることで、同一ストリームの画像データを差分フレーム（Ｐフレーム）（差分画像データ）で送信することが可能となる。
【００５９】
すなわち、同じセッションの待ち行列として同じストリームの画像データが連続して配列されている場合、後述するエンコード部によって、一つ前に振り分けられた画像データと今回振り分けられた画像データとの差分との差分のデータである差分画像データに基づきエンコードされる。これにより、圧縮フレームのサイズを小さくすることが可能となる。
【００６０】
また、（２）のように未使用のエンコードセッションに振り分けるようにし、また（３）のように待ち時間が最も少ないエンコードセッションに振り分けるようにすることで、エンコード処理の遅延時間を少なくすることができる。
【００６１】
振分部１２２は、各エンコードセッションにおける待ち時間を、例えば、エンコード処理を待っている画像データの容量の合計値から算出する。また、振分部１２２は、各々のエンコードセッションにおいてエンコード処理を待っている画像データの総数から、各々のエンコードセッションにおける待ち時間を推測してもよい。
【００６２】
振分部１２２は、振り分けたエンコードセッションと、ストリームに対応する出力先の情報とともに、画像データをエンコード部１２３に送信する。
【００６３】
振分部１２２は、各画像データの出力先の情報を構造体に格納して、エンコード部１２３に通知してもよい。各画像データの出力先の情報を管理する具体的な方法に関しては後述する。
【００６４】
エンコード部１２３は、振分部１２２によって振り分けられたエンコードセッションで、受信した画像データをエンコードし、エンコードされた画像データをエンコード出力先に出力する。
【００６５】
具体的には、エンコード部１２３は、振分部１２２によって振り分けられたエンコードセッションで、受信した画像データをエンコードする。エンコード部１２３は、同じエンコードセッションで、同一のストリームから画像データを受信した場合、差分フレーム（Ｐフレーム）を指定して圧縮フレームを生成する。また、エンコード部１２３は、それ以外の場合、Ｉフレームを指定して圧縮フレームを生成する。
【００６６】
続いて、エンコード部１２３は、出力先の情報に対応する出力先にエンコードされた画像データを出力する。当該出力先の情報は、画像データが送信されたストリームに対応している。例えば、１ページ目の画像情報がストリーム１を通じて送信された場合、エンコード部１２３は、エンコードされた１ページ目の画像情報をエンコード出力先１に出力する。また、２ページ目の画像情報がストリーム２を通じて送信された場合、エンコード部１２３は、エンコードされた２ページ目の画像情報をエンコード出力先２に出力する。３ページ目の画像情報がストリーム３を通じて送信された場合、エンコード部１２３は、エンコードされた３ページ目の画像情報をエンコード出力先３に出力する。
【００６７】
図５は、振分部１２２及びエンコード部１２３による処理を説明するための図である。振分部１２２は、１ページ目の画像データをストリーム１を通じて受信し、２ページ目の画像データをストリーム２を通じて受信し、３ページ目の画像データをストリーム３を通じて受信する。以下では、１ページ目の画像データを送信順に（１−１）,（１−２）,（１−３）と表し、２ページ目の画像データを送信順に（２−１）,（２−２）,（２−３）と表し、３ページ目の画像データを送信順に（３−１）,（３−２）,（３−３）と表すものとする。
【００６８】
例えば、ユーザによってＩＷＢ１００の１ページ目に「計」が描かれた場合、「言」を描く途中の段階が画像データ（１−１）となる。「言」を描いた段階が画像データ（１−２）となる。「計」を描いた段階が画像データ（１−３）となる。なお、生成部１２１は、これよりも短い時間間隔で画像データを更新してもよい。
【００６９】
振分部１２２は、ストリーム１〜３から受信した画像データをエンコードセッション１又は２に振り分ける。
【００７０】
例えば、１番目に画像データ（１−１）を受信した場合、振分部１２２は、未使用のエンコードセッション１に画像データ（１−１）を振り分ける。続いて、２番目に画像データ（２−１）を受信した場合、振分部１２２は、未使用のエンコードセッション２に画像データ（２−１）を振り分ける。
【００７１】
続いて、３番目に画像データ（３−１）を受信した場合、振分部１２２は、待ち時間の少ないエンコードセッション１に画像データ（３−１）を振り分ける。続いて、４番目に画像データ（３−２）を受信した場合、振分部１２２は、画像データ（３−１）と同一のストリームの画像データであるので、同じエンコードセッション１に画像データ（３−２）を振り分ける。
【００７２】
続いて、５番目に画像データ（１−２）を受信した場合、振分部１２２は、待ち時間の少ないエンコードセッション２に画像データ（１−２）を振り分ける。続いて、６番目に画像データ（１−３）を受信した場合、振分部１２２は、画像データ（１−２）と同一のストリームの画像データであるので、同じエンコードセッション２に画像データ（１−３）を振り分ける。
【００７３】
続いて、７番目に画像データ（２−２）を受信した場合、振分部１２２は、待ち時間の少ないエンコードセッション１に画像データ（２−２）を振り分ける。続いて、８番目に画像データ（２−３）を受信した場合、振分部１２２は、画像データ（２−２）と同一のストリームの画像データであるので、同じエンコードセッション１に画像データ（２−３）を振り分ける。
【００７４】
続いて、９番目に画像データ（２−３）を受信した場合、振分部１２２は、待ち時間の少ないエンコードセッション１に画像データ（２−３）を振り分ける。
【００７５】
続いて、振分部１２２は、振り分けたエンコードセッションと、ストリームに対応する出力先の情報とともに、画像データをエンコード部１２３に送信する。
【００７６】
振分部１２２は、各画像データが流れたストリームを識別する情報を構造体に格納して、エンコード部１２３に通知してもよい。具体的には、振分部１２２は、ストリーム１を通じて送信された画像データ（１−１）（１−２）（１−３）の識別子「data1-1」「data1-2」「data1-3」を、流れたストリームがストリーム１であることを示すEncode[1]に格納する。すなわち、Encode[1]={data1-1, data1-2, data1-3}となる。同様に、画像データ（２−１）（２−２）（２−３）に関しても、流れたストリームがストリーム２であることを示すEncode[2]に各画像データの識別子を格納し、Encode[2]={data2-1, data2-2, data2-3}となる。同様に、画像データ（３−１）（３−２）（３−３）に関しても、流れたストリームがストリーム３であることを示すEncode[3]に各画像データの識別子を格納し、Encode[3]={data3-1, data3-2, data3-3}となる。
【００７７】
また、ストリーム１、ストリーム２、ストリーム３は、エンコード出力先であるエンコード出力１、エンコード出力２、エンコード出力３にユーザからの閲覧要求に応じて予め対応付けられている。
【００７８】
エンコード部１２３は、振分部１２２によって振り分けられたエンコードセッションで、受信した画像データを所定形式の圧縮フレームでエンコードする。
【００７９】
例えば、エンコード部１２３は、エンコードセッション１において、画像データ（１−１）に対してＩフレームを指定する。また、エンコード部１２３は、エンコードセッション２において、画像データ（１−２）を受信した後、連続して画像データ（１−３）を受信しているので、画像データ（１−２）に対してＩフレームを指定し、画像データ（１−３）に対して差分画像データとしてＰフレームを指定する。続いて、エンコード部１２３は、構造体Encode[1]（={data1-1, data1-2, data1-3}）に基づいて、ストリーム１に係る画像データ（１−１）、画像データ（１−２）及び画像データ（１−３）をエンコード出力１に出力する。
【００８０】
また、エンコード部１２３は、エンコードセッション１において、画像データ（２−１）を受信した後、連続して画像データ（２−２）を受信しているので、画像データ（２−１）に対してＩフレームを指定し、画像データ（２−２）に対して差分画像データとしてＰフレームを指定する。また、エンコード部１２３は、エンコードセッション２において、画像データ（２−３）に対してＩフレームを指定する。続いて、エンコード部１２３は、構造体Encode[2]（={data2-1, data2-2, data2-3}）に基づいて、ストリーム２に係る画像データ（２−１）、画像データ（２−２）及び画像データ（２−３）をエンコード出力２に出力する。
【００８１】
また、エンコード部１２３は、エンコードセッション２において、画像データ（３−１）に対してＩフレームを指定する。また、エンコード部１２３は、エンコードセッション１において、画像データ（３−２）を受信した後、連続して画像データ（３−３）を受信しているので、画像データ（３−２）に対してＩフレームを指定し、画像データ（３−３）に対して差分画像データとしてＰフレームを指定する。続いて、エンコード部１２３は、構造体Encode[3]（={data3-1, data3-2, data3-3}）に基づいて、ストリーム３に係る画像データ（３−１）、画像データ（３−２）及び画像データ（３−３）をエンコード出力３に出力する。
【００８２】
図４に戻る。配信制御部１２４は、エンコードされた画像データを、エンコード出力に対応付けられている端末２００に送信する。各エンコード出力は、閲覧要求を受けた１又は複数のユーザ端末の宛先（ＩＰアドレス等）を有する。
【００８３】
例えば、配信制御部１２４は、エンコード出力１に対応するページ１の閲覧要求を送信したＰＣ端末２００ａに対し、エンコードされた画像データ（１−１）（１−２）（１−３）を順番に送信する。また、配信制御部１２４は、エンコード出力２に対応するページ２の閲覧要求を送信したタブレット端末２００ｂ及びＰＣ端末２００ｃに対し、エンコードされた画像データ（２−１）（２−２）（２−３）を順番に送信する。また、配信制御部１２４は、エンコード出力３に対応するページ３の閲覧要求を送信したタブレット端末２００ｄに対し、エンコードされた画像データ（３−１）（３−２）（３−３）を順番に送信する。
【００８４】
図６は、画像データをエンコードセッションに振り分ける処理のフローチャートの例を示す図である。振分部１２２は、画像データを受信した場合に、連続して同じストリームの画像データをエンコード可能なエンコードセッションが存在するか否かを判定する（ステップＳ１０）。振分部１２２は、連続して同じストリームをエンコード可能なエンコードセッションが存在する場合（ステップＳ１０ＹＥＳ）、該当するエンコードセッションに振り分ける（ステップＳ１３）。一方、振分部１２２は、連続して同じストリームをエンコード可能なエンコードセッションが存在しない場合（ステップＳ１０ＮＯ）、一度もエンコードを実行していないエンコードセッションが存在するか否かを判定する（ステップＳ１１）。
【００８５】
振分部１２２は、一度もエンコードを実行していないエンコードセッションが存在する場合（ステップＳ１１ＹＥＳ）、該当するエンコードセッションに振り分ける（ステップＳ１３）。一方、振分部１２２は、一度もエンコードを実行していないエンコードセッションが存在しない場合（ステップＳ１１ＮＯ）、最もエンコード待ち時間が少ないエンコードセッションに振り分ける（ステップＳ１２）。
【００８６】
なお、上記フローチャートは、一例である。例えば、一度もエンコードを実行していないエンコードセッションが存在するか否かを判定する処理（ステップＳ１１）のみ、又は、最もエンコード待ち時間が少ないエンコードセッションに振り分ける処理（ステップＳ１２）のみに基づいて各画像データをエンコードセッションに振り分けてもよい。
【００８７】
上述したように、一度もエンコードを実行していないエンコードセッションが存在するか否かを判定する処理（ステップＳ１１）により、新しいストリームから受信した画像データを一度もエンコードを実行していない未使用のエンコードセッションに振り分ける。これにより、同じストリームの画像データを連続して処理する頻度が高くなり、差分画像データをエンコード処理する割合が大きくなるので、より効率的にエンコード処理を行うことができる。
【００８８】
以上、ＩＷＢ１００を実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【００８９】
例えば、ＩＷＢ１００は、各ページの画像データを所定の時間間隔で更新する旨を説明したが、これに限定されない。例えば、ＩＷＢ１００は、ディスプレイ１１０に表示されていないページに係る画像データの更新を停止してもよい。かかる場合において、ディスプレイ１１０の更新を停止した画像データの閲覧が要求された場合、ＩＷＢ１００は、ユーザ端末２００に最後に送信された画像データを表示させるようにしてもよい。
【００９０】
＜利点＞
上述したように、ＩＷＢ１００のページ数よりも少ないエンコードセッションによりエンコード処理を行うことができるので、エンコードセッションの設定上限数を超えるページ数のエンコードを同時に行うことができる。
【００９１】
図７は、実施形態１に係るＩＷＢ１００の利点を説明するための図である。画像処理システム１は、ＩＷＢ１００と、ＰＣ端末２００ａと、タブレット端末２００ｂと、ＰＣ端末２００ｃと、ＰＣ端末２００ｄとを有する。ＩＷＢ１００及びＰＣ端末１００ａと、ＩＷＢ１００及びＰＣ端末１００ｃとは、有線ＬＡＮを介して画像データを送信する。また、ＩＷＢ１００及びタブレット端末２００ｂは、無線ＬＡＮを介して画像データを送信する。また、ＩＷＢ１００及びＰＣ端末２００ｄは、インターネット５を介して画像データを送信する。
【００９２】
ＩＷＢ１００は、ユーザによる閲覧要求により所望のページを表示する。
【００９３】
例えば、ページ１にはアルファベットが描かれ、ページ２には線状の図形が描かれ、ページ３には楕円状の図形が描かれ、ページ４には星状の図形が描かれている。ＰＣ端末２００ａは、ＩＷＢ１００にページ１の閲覧要求を送信し、タブレット端末２００ｂは、ページ２の閲覧要求を送信し、ＰＣ端末２００ｃは、ページ３の閲覧要求を送信し、インターネットを介して接続されたＰＣ端末２００ｄは、ページ４の閲覧要求を送信するものとする。
【００９４】
例えば、ＩＷＢ１００のエンコードセッションの設定上限数が３である場合でも、ＩＷＢ１００は、各ページの画像データを３つのエンコードセッションに振り分け、エンコード処理を行う。
【００９５】
続いて、ＩＷＢ１００は、エンコードしたページ１、ページ２、ページ３及びページ４に係る最新の画像データを、それぞれＰＣ端末２００ａ、タブレット端末２００ｂ、ＰＣ端末２００ｃ及びＰＣ端末２００ｄに送信する。これにより、各ユーザ端末には、閲覧要求に係る最新のページが表示される。
【００９６】
このように、ＩＷＢ１００のページ数がエンコードセッションの設定上限数を超えても、各ユーザは、所望のページの最新の画像を閲覧することが可能となる。
【００９７】
＜ＩＷＢのハードウェア構成＞
続いて、図８を用いて、本実施形態のＩＷＢのハードウェア構成を説明する。ＩＷＢ１００は、ＩＷＢ１００全体の動作を制御するＣＰＵ１００１、ＩＰＬ等のＣＰＵ１００１の駆動に用いられるプログラムを記憶したＲＯＭ１００２、ＣＰＵ１００１のワークエリアとして使用されるＲＡＭ１００３、ＩＷＢ１００用のプログラム等の各種データを記憶するＳＳＤ１００４、通信ネットワークとの通信を制御するネットワークコントローラ１００５、及び、ＵＳＢメモリとの通信を制御する外部記憶Ｉ／Ｆ１００６を備えている。
【００９８】
ＣＰＵ１００１は、ＩＷＢ１００のソフトウェア構成である生成部１２１、振分部１２２、エンコード部１２３及び配信制御部１２４の各機能に係る処理を行う。
【００９９】
また、ＩＷＢ１００は、ノートＰＣ２００のディスプレイに対して映像情報を静止画または動画として表示させるキャプチャデバイス１０１２、グラフィクスを専門に扱うＧＰＵ(Graphics Processing Unit)１０１０、及び、ＧＰＵ１０１０からの出力画像をディスプレイ１１０やユーザ端末２００へ出力するために画面表示の制御及び管理を行うディスプレイコントローラ１０１１を備えている。
【０１００】
更に、ＩＷＢ１００は、接触センサ１００９の処理を制御するセンサコントローラ１００８、ディスプレイ１１０上に電子ペンやユーザの手等が接触したことを検知する接触センサ１００９を備えている。この接触センサ１００９は、赤外線遮断方式による座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、ディスプレイ１１０の上側両端部に設置された２つ受発光装置（不図示）が、ディスプレイ１１０に平行して複数の赤外線を放射し、ディスプレイ１１０の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。接触センサ１００９は、物体によって遮断された２つの受発光装置が放射した赤外線のＩＤ(Identification)をセンサコントローラ１００８に出力し、センサコントローラ１００８が、物体の接触位置である座標位置を特定する。なお、以下に示す全ての各ＩＤは、識別情報の一例である。
【０１０１】
また、接触センサ１００９としては、赤外線遮断方式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する２の抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。
【０１０２】
また、ＩＷＢ１００は、電子ペンコントローラ１００７を備えている。この電子ペンコントローラ１００７は、電子ペンと通信することで、ディスプレイ１１０へのペン先のタッチやペン尻のタッチの有無を判断する。なお、電子ペンコントローラ１００７が、電子ペンのペン先及びペン尻だけでなく、電子ペンのユーザが握る部分や、その他の電子ペンの部分のタッチの有無を判断するようにしてもよい。
【０１０３】
更に、ＩＷＢ１００は、ＣＰＵ１００１、ＲＯＭ１００２、ＲＡＭ１００３、ＳＳＤ１００４、ネットワークコントローラ１０５、外部記憶Ｉ／Ｆ１００６、キャプチャデバイス１０１２、ＧＰＵ１０１０、センサコントローラ１００８、及び電子ペンコントローラ１００７を、図２に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン１１２０を備えている。
【０１０４】
なお、ＩＷＢ１００用のプログラムは、ＣＤ−ＲＯＭ等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【０１０５】
ＩＷＢ１００は、画像処理装置の一例である。各ストリームの構造体は、ストリームデータの一例である。生成部１２１は、更新部の一例である。配信制御部１２４は、送信部の一例である。各エンコード出力は、出力先情報の一例である。
【符号の説明】
【０１０６】
１            画像処理システム
１００        ＩＷＢ
１０１        入力部
１２０        処理部
１２１        生成部
１２２        振分部
１２３        エンコード部
１２４        配信制御部
１３０        記憶部
１３１        表示部
【先行技術文献】
【特許文献】
【０１０７】
【特許文献１】特開２０１５−０９２３２２号公報
【図１】
2017112477.tif 000003
【図２】
2017112477.tif 000004
【図３】
2017112477.tif 000005
【図４】
2017112477.tif 000006
【図５】
2017112477.tif 000007
【図６】
2017112477.tif 000008
【図７】
2017112477.tif 000009
【図８】
2017112477.tif 000010