JP2012137900A - 映像出力システム、映像出力方法及びサーバ装置 - Google Patents

映像出力システム、映像出力方法及びサーバ装置 Download PDF

Info

Publication number
JP2012137900A
JP2012137900A JP2010289131A JP2010289131A JP2012137900A JP 2012137900 A JP2012137900 A JP 2012137900A JP 2010289131 A JP2010289131 A JP 2010289131A JP 2010289131 A JP2010289131 A JP 2010289131A JP 2012137900 A JP2012137900 A JP 2012137900A
Authority
JP
Japan
Prior art keywords
frame rate
video
unit
output
screen information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010289131A
Other languages
English (en)
Inventor
Takanori Komatsu
孝憲 幸松
Tomoyuki Myojin
智之 明神
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Consumer Electronics Co Ltd
Original Assignee
Hitachi Consumer Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Consumer Electronics Co Ltd filed Critical Hitachi Consumer Electronics Co Ltd
Priority to JP2010289131A priority Critical patent/JP2012137900A/ja
Publication of JP2012137900A publication Critical patent/JP2012137900A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】
サーバにかかる負荷を低減することができる情報配信システムを提供する。
【解決手段】
サーバ装置において、出力装置から受信した情報を受信し、受信した情報を解析して識別情報を取得し、取得した識別情報を基に出力装置に出力させる画面情報のフレームレートを決定し、決定したフレームレートで出力装置に出力させる画面情報をエンコードして出力装置に送信し、出力装置は、受信した画面情報をデコードして出力することで、情報を配信するシステムを用いる。
【選択図】図1

Description

本発明はサーバ装置および情報処理方法に関する。
ネットワークを経由して遠隔地にある装置を操作するためのシンクライアント技術が実用化している。これは、遠隔地にサーバ装置を設置し、手元にあるシンクライアント装置とネットワークで接続し、シンクライアント装置に接続した入力装置からの操作情報をサーバ装置に送信し、これをサーバ装置で動作するアプリケーションへの入力とし、同時に、サーバ装置で動作するアプリケーションが出力した画面情報をシンクライアント装置に送信し、これをシンクライアント装置に接続した出力装置に出力することで実現される。
特開2009−9330では、複数のOSを実行することが可能な情報処理装置(サーバ)が表示画面の画像信号を生成し、表示画面の画像信号をシンクライアントとして動作する端末装置へ送信することで情報配信するシステムが記載されている。
特開2009−9330
シンクライアントシステムを利用した情報配信システムでは、画面情報を作成するためのサーバ装置の負荷が高いという課題があった。そこで、情報配信システムにおけるサーバ装置の、画面情報の作成にかかる負荷を低減することを目的とする。
上記課題は例えば請求項に記載の構成を採用するにより達成することができる。
サーバにかかる負荷を低減することができる。
サーバ装置の構成図の例である 実施例1におけるサーバ装置100の各処理部の関連の一例を示す図である フレームレート変更部135が一定周期で行う処理フローの一例を示す図である フレームレート変更表の一例である 経過時間判断表の一例である フレームレートが固定の場合の、各ユーザのアプリケーションプログラムと画面情報生成と符号化処理によって占有するサーバ装置のCPU時間の一例である フレームレートが可変の場合の、一人のユーザのアプリケーションプログラムと画面情報生成と符号化処理によって占有するサーバ装置のCPU時間の一例である フレームレートが可変の場合の、各ユーザのアプリケーションプログラムと画面情報生成と符号化処理によって占有するサーバ装置のCPU時間の一例である フレームレートが可変の場合の、各ユーザのアプリケーションプログラムと画面情報生成と符号化処理によって占有するサーバ装置のCPU時間が処理能力を超えない事例である 実施例2におけるサーバ装置100の各処理部の関連を示す図の例である 経過時間判断表の一例である 実施例3におけるサーバ装置100の各処理部の関連を示す図の例である 実施例4におけるサーバ装置100の各処理部の関連を示す図の例である 複数ユーザが同一のサーバ装置に接続する場合のサーバ装置100の構成図の例である シンクライアント装置の構成図の例である シンクライアント装置をテレビジョン装置で構成した場合の図の例である システム構成の一例を示す図のである 出力装置の構成の一例を示す図である サーバの構成及びサーバと出力装置との接続の一例を示す図である 操作手順情報3600の一例を示す図である サーバと出力装置の構成の一例を示す図である サーバと出力装置との接続の一例を示す図である フレームレートを下げた時のサーバと出力装置の接続の一例を示す図である サーバと出力装置の構成の一例を示す図である フレームレート変更部135が一定周期で行う処理フローの一例を示す図である フレームレート変更表の一例を示す図である
通常のシンクライアント端末では、IP(Internet Protocol)により、ターミナルサーバ装置(以下サーバ装置と呼ぶこともある)で処理した静止画像を、シンクライアント端末に送信する。
一方、本実施例では、サーバ装置がシンクライアント装置に出力する画面情報の情報量を削減するために、サーバ装置が画面情報を静止画像ではなく動画像として符号化して出力し、シンクライアント装置が当該動画像を復号して、復号した画面情報を出力装置に出力することができる。
このような方法では、サーバ装置が画面情報を動画像として符号化する場合に、動画像符号化処理の計算量が大きいため、サーバ装置の処理負荷が大きくなってしまう場合がある。これによって、複数のシンクライアント装置がサーバ装置に接続すると、サーバ装置が単位時間あたりに処理可能な符号化処理の計算量を超えてしまい、例えば、シンクライアント装置の画面情報出力が遅れたり、サーバ装置で実行しているアプリケーションの処理が遅れたりする、という問題が発生する場合がある。
以下、図面を参照しながら実施例について説明する。図1はサーバ装置の構成図の例である。サーバ装置100はプロセッサ110とメモリ120を有し、通信インターフェイス140を介してLAN、WANなどのネットワーク141に接続する。
メモリ120に格納されたアプリケーションプログラム131、操作情報処理プログラム132、画面情報生成プログラム133、符号化処理プログラム134、フレームレート変更プログラム135など各種プログラム130をプロセッサ110が実行することで、アプリケーション、操作情報処理、画面情報生成、符号化処理の各処理を行う。
これらは、アプリケーション部131、操作情報処理部132、画面情報生成部133、符号化処理部134、フレームレート変更部135など、各処理を行う処理部として集積回路化するなどして、一部または全部をハードウェアで実現することもできる。
以下説明を簡略化するため、各種プログラム130をプロセッサ110が実行することで実現される各処理部を各処理の主体として説明する。なお各処理部をハードウェアで実現した場合にはその各処理部が主体となって各処理を行う。
図15は、シンクライアント装置の構成図の例である。シンクライアント装置142はプロセッサ210とメモリ220を有し、通信インターフェイス240を介してLAN、WANなどのネットワーク141に接続する。
メモリ220に格納されたアプリケーションプログラム231、操作情報処理プログラム232、画面情報処理プログラム233、復号処理プログラム234、など各種プログラム230をプロセッサ210が実行することで、アプリケーション、操作情報処理、画面情報生成、復号処理の各処理を行う。
これらは、アプリケーション部231、操作情報処理部232、画面情報処理部233、復号処理部234など、各処理を行う処理部として集積回路化するなどして、一部または全部をハードウェアで実現することもできる。
表示部250は、サーバ装置から送信された動画像を表示する表示部である。図14ではシンクライアント装置が表示部250を備える構成となっているが、表示部250はシンクライアント装置の外にある外付けの表示部であってもよい。
入力部260は、ユーザからの入力を受け付ける。例えば、マウス操作や、キーボード入力、リモコン操作などの操作情報を受信する。
シンクライアントシステムの動作の概要を説明する。シンクライアント装置142の入力部260は、ユーザからの操作を受け付ける。ユーザによるマウス操作やキーボード入力により、マウスをクリックした座標情報や、キーボード入力情報を、操作情報処理部232が処理し、処理された操作情報を通信インターフェイス240を介してサーバ装置100に送信する。
図2は図1のサーバ装置100において、操作情報処理部132が主体となってフレームレート変更部135を制御する場合の、サーバ装置100の各処理部の関連を示す図である。各処理部を接続する矢印は処理の流れを示している。
サーバ装置100は、通信インターフェイス140を介して、シンクライアント装置142から操作情報を受信する。受信した操作情報は操作情報処理部132に送信され、操作情報処理部132は当該操作情報をサーバ装置への操作情報として、アプリケーション部131に入力する。
アプリケーション部131は操作情報処理部132からの操作情報の入力や時間的変化などによってアプリケーションの画面情報が変更すると、画面情報生成部133に描画情報を送信する。描画情報とは、例えば、画面に文字を書く、四角形を書く、といった情報のことである。画面情報生成部133は受信した描画情報を一定周期で画面情報を生成する。符号化処理部134は一定周期で画面情報生成部133から画面情報を取得して、当該画面情報を符号化して、通信インターフェイス140を介してシンクライアント装置142に送信する。
シンクライアント装置140は、符号化された画面情報を受信し、復号処理部234に入力する。復号処理部234は、画面情報を復号し、表示部250に表示する。
本実施例では、画面情報の処理を、サーバ装置100の符号化処理部134、シンクライアント装置142の復号処理部234により行う。このように動画処理の方法を用いることで、シンクライアント装置142として、テレビジョン装置の復号処理部を使用することができる。
図16はシンクライアント装置142をテレビジョン装置で構成した図の例である。
シンクライアント装置142は、チューナ101、デスクランブラ102、デマルチプレクサ103、デコーダ234、表示部/スピーカ250、入力部106、メモリ220、アプリケーション部231、操作情報処理部232、画面情報処理部233、記録部115、暗号/復号処理部112、通信処理部104、通信インターフェイス240、制御部210から構成される。
チューナ101は、放送局からアンテナ10を介して受信した複数のチャンネルから所望のチャンネルを選局し、デジタル変調された番組を復調する。
デスクランブラ102は、サービス事業者と契約したチャンネルのみを受信可能とするためにかけられている番組のスクランブルを解除する。
デマルチプレクサ103は、放送番組から音声データ、映像データを抽出する。
デコーダ234は、放送番組や通信インターフェイス240から受信した圧縮符合化された音声データや映像データを復号して、元の音声信号、映像信号に伸長する。
表示部/スピーカ250は、デコーダ234からの出力信号を再生する。内蔵ではなく、外付けでも良い。
入力部106は、ユーザからのマウス操作、リモコン操作、タッチパネルからの入力、キーボード入力などの操作情報を入力する。
アプリケーション部231、操作情報処理部232、画面情報処理部233の処理は以前説明したものと同じである。
記録部115は、放送番組を記録する内蔵メモリである。その他に着脱可能なHDD(ハードディスクドライブ)や光ディスク、メモリカード、そしてこれらを組み合わせたハイブリッド形態などでもよい。
暗号/復号処理部112は、放送番組やネットワーク経由でデジタル入出力端子114を介して受信したコンテンツを、サーバ装置100と共有した鍵を使用して暗号化あるいは復号する。
通信処理部104は、通信インターフェイス240を介してネットワークで接続した他のサーバ装置との間で動画像情報や制御コマンドを送受信する。コンテンツを送受信する場合には、送受信するコンテンツにその取り扱い方を示す「Copy free」「Copy one generation」「No more copies」「Copy never」などの識別コードなどが付加される。
制御部210は、シンクライアント装置142における各部の動作を統括的に制御する。
フレームレートの変換について説明する。操作情報処理部132は操作情報をフレームレート変更部135に送信する。フレームレート変更部135は受信した操作情報を元にフレームレートを下げる、または、維持する、または、上げる判断する。フレームレートを上げる、または、下げる、と判断した場合、フレームレート変更部135は符号化処理部134に新しいフレームレートを通知する。
符号化処理部134はフレームレート変更部135からフレームレートを通知されると、画面情報生成部133から画面情報を取得して、当該画面情報を符号化する周期をフレームレート変更部135から通知されたフレームレートに変更する。
例えば、符号化形式がMPEG2形式の場合、一つのフレームを一つのピクチャとして扱い、複数のピクチャをGOP(Group of Picture)という単位で扱うが、GOP構成がIBBPBBPBBPBBPBBの15枚のピクチャであり、一つのGOPが0.5秒である場合、フレームレートを10fpsに変更した場合、GOPの構成をIPPPPの5枚のピクチャで構成して符号化する。これによって、0.5秒を5枚のピクチャで表現することになるため、10fpsを実現していることになる。しかしIBBPBBPBBPBBPBBのようなGOP構成では、フレームレートを下げる場合、実現可能なフレームレートに制限がある。
そこで、GOP構成を、例えばIPPPPPPPPP・・・とPが15枚以上続くような構成にすれば、任意のPを抜いてGOPを構成できるため、任意のフレームレートを設定できる。フレームレートの変更方法は前記した方法以外でも良い。
次に、フレームレート変更部135が時間経過と共にフレームレートを段階的に下げる処理について説明する。図3にフレームレート変更部135が周期的に行う処理フローを示す。フレームレート変更部135は基準フレームレートを現在フレームレートとして保存する(S301)。本実施例では基準フレームレートを30fpsとしている。
フレームレート変更部135はプロセッサ110が内蔵するタイマカウンタ値を読み取り、これを基準時刻として保存する(S302)。このタイマカウンタ値はプロセッサ110の代わりに、別のハードウェアで実現しても良い。また読み取ったタイマカウンタ値をプロセッサ固有の時間単位から秒単位に変換しても良い。本実施例ではタイマカウンタ値を求めるときに全て秒単位に変換して扱うものとする。
フレームレート変更部135は周期的にタイマカウンタ値を読み取り、前回保存した基準時刻との経過時間を求める(S303)。フレームレート変更部135は図4に示すフレームレート変更表600を内蔵している。フレームレート変更表600はプログラムに内蔵されていても良いし、フラッシュロムなど別のハードウェアに格納されていても良い。フレームレート変更部135はフレームレート変更表600を元に、経過時間に該当するフレームレートを求め(S304)、新フレームレートとする。
求めた新フレームレートと現在フレームレートとを比較し(S305)、求めた新フレームレートが現在フレームレートと異なる場合、新フレームレートを新たにフレームレート変更部135が現在フレームレートとして保持し(S306)、当該フレームレートを符号化処理部134に通知する(S307)。例えば、経過時間が100の場合、新フレームレートは15fpsである。その後、またS303の処理に戻る。
次に、フレームレート変更部135が即座にフレームレートを上げる処理について説明する。フレームレート変更部135が操作情報処理部132から操作情報を受信すると、フレームレート変更部135はタイマカウンタ値を読み取り、基準時刻として保存する。その後、前記周期的処理により、新フレームレートを算出すると、経過時間は、基準時刻と、基準時刻を保存してから次の周期で読み取ったタイマカウンタ値との経過時間となるため、フレームレート変更表600の0〜99秒の列に該当することになる。したがって、新フレームレートは基準フレームレートになる。これによって、何らかの操作情報を受信したときに、即座に基準フレームレートに戻すことができる。
一方、別の方法として、次に示す方法を用いて、フレームレート変更部135が段階的にフレームレートを上げることもできる。フレームレート変更部135が操作情報処理部132から操作情報を受信すると、フレームレート変更部135が保持しているフレームレートを元に、図5に示す経過時間判断表601から新経過時間を求める。さらに、タイマカウンタ値を読み取り、タイマカウンタ値と新経過時間の和を基準時刻として保存する。経過時間判断表601の新経過時間とフレームレートの対応は、フレームレート変更部135が保持しているフレームレートを元に新経過時間を選択する際、フレームレート変更表600から得られる当該新経過時間に対応するフレームレートがフレームレート変更部135で保持しているフレームレートより大きくなるような新経過時間となるように、経過時間判断表601の新経過時間を設定しておく。
その後、前記周期的処理により、新フレームレートを算出すると、経過時間は、基準時刻と、基準時刻を保存してから次の周期で読み取ったタイマカウンタ値との経過時間となるため、フレームレート変更表600から得られるフレームレートは、フレームレート変更部135が保持しているフレームレートより大きくなる。
例えば、フレームレート変更部135が保存しているが10fpsの場合、経過時間判断表601から得られる新経過時間は100であるため、これとタイマカウンタ値との和を基準時刻として保存すると、前記周期的処理の処理によってフレームレート変更表600から得られる新フレームレートは、15fpsになる。
この方法によれば、何らかの操作情報を受信したときに、段階的にフレームレートを上げていくことができる。
本実施例によれば、シンクライアント装置が操作情報を送信していない時間が一定時間続くと、サーバ装置100は段階的にフレームレートを下げることができる。また、シンクライアント装置が何らかの操作情報を送信すると、サーバ装置100はフレームレートを即座に、あるいは段階的に基準フレームレートに戻すことができる。ユーザの操作情報をもとに、操作情報があればフレームレートを上げ、操作情報がない場合はフレームレートをさげるため、アプリケーションの操作性や利便性が損なわれることがない。
次に、一つのサーバ装置に複数ユーザがシンクライアント端末を用いて同時に接続した場合に、本実施例によって得られる効果について説明する。
複数ユーザがシンクライアント装置を用いて同一サーバ装置100に同時に接続する場合の、サーバ装置100の構成の例を図14に示す。サーバ装置100では同時にプログラム130をプロセッサ110が処理する。
複数ユーザがシンクライアント装置を用いて同一サーバ装置100に同時に接続し、当該サーバ装置100上でアプリケーションプログラムを動作する場合、当該サーバ装置100のCPU占有時間は、各ユーザが実行しているアプリケーションプログラムと画面情報生成と符号化処理によって占有するCPU時間の合計になる。
従来のサーバ装置の場合は、例えば図6に示すように、各ユーザのアプリケーションプログラムと画面情報生成と符号化処理によって占有するCPU時間が30%であって、接続するユーザがユーザAとユーザBとユーザCの三者であった場合、CPU占有率の合計は常に90%になる。このとき、別のユーザDが同一サーバ装置100に接続し、アプリケーションプログラムを動作させようとすると、CPU占有率が100%に達してしまい、サーバ装置100の処理能力を超えてしまう。これによって、例えば、アプリケーションプログラムの動作が遅くなるといった問題が発生しうる。
そこで、本実施例によるサーバ装置100であれば、各ユーザが実行しているアプリケーションプログラムについて、フレームレートを下げることが可能であるため、画面情報生成及び符号化処理の低減が可能である。そのため、各ユーザのアプリケーションプログラムと画面情報生成と符号化処理のCPU占有率は時間経過によって変動するため、サーバ装置100全体のCPU占有率はフレームレートが固定であった場合よりも低くなる。
例えば、図7では、本実施例によってフレームレートを下げることによって、符号化処理を低減し、CPU占有率を下げていることを示している。同様のことはユーザBとユーザCにも言える。図8に示すように、ユーザAとユーザBとユーザCのCPU占有率が時間経過によって変動しているため、それらの合計は図7に示すサーバ装置100のCPU占有率よりも低い。したがって、ユーザDが同一サーバ装置100に接続して、アプリケーションプログラムを動作させていても、図9に示すように、CPU占有率が100%を超えることがない。
本実施例によるサーバ装置100では、フレームレートを下げる要因がユーザからの操作情報に依存するが、同一サーバ装置100に接続するユーザ数が多くなれば、各ユーザが操作情報を入力するタイミングが統計的に平滑化されるため、サーバ装置100のCPU占有率を常に低い状態に保つことができる。
サーバ装置100のCPU占有率を常に低い状態に保つことで、複数ユーザが同時に同一のサーバ装置100に接続した場合であっても、アプリケーションプログラムの動作が遅くなりにくくなる。さらに、CPU占有率が常に低い状態であるため、サーバ装置100の消費電力を低減することが可能である。CPU占有率が低くなるため、サーバ装置100のプロセッサ110の性能を低くできるため、サーバ装置100のハードウェアコストを低減できる。
また、本実施例によるサーバ装置100であれば、各ユーザが実行しているアプリケーションプログラムについて、フレームレートを下げることが可能であるため、符号化処理部134が出力する符号量の削減が可能である。
そのため、各ユーザの画面情報の符号量は時間経過によって変動するため、サーバ装置100が出力する符号量の合計は、フレームレートが固定であった場合よりも低くなる。CPU占有率と同様に、本実施例によるサーバ装置100では、フレームレートを下げる要因がユーザからの操作情報に依存するが、同一サーバ装置100に接続するユーザ数が多くなれば、各ユーザが操作情報を入力するタイミングが統計的に平滑化され、サーバ装置100が出力する符号量の合計を常に低い状態に保つことができる。
サーバ装置100が出力する符号量の合計を常に低い状態に保つことで、ネットワーク上で送受信するデータ量を削減できるため、ネットワーク上での輻輳が発生しにくくなる。また、ネットワーク上で送受信するデータ量を削減できるため、データ量に応じて課金するネットワークシステムの場合、課金料を削減することが可能である。
以下、図面を参照しながら実施例について説明する。なお、実施例1と同一の部分については説明を省略し、異なる部分について詳細に説明する。
図10は図1のサーバ装置100において、アプリケーション部131が主体となってフレームレート変更部135を制御する場合の、サーバ装置100の各処理部の関連を示す図である。各処理部を接続する矢印は処理の流れを示している。
操作情報処理部132と画面情報生成部133と符号化処理部134の処理は、実施例1で説明した処理と同様であるため、説明を省略する。フレームレート変更部135が周期的処理は、実施例1で説明した処理と同様であるため、説明を省略する。フレームレート変更部135が操作情報処理部132から操作情報を受信したときの処理は、実施例1で説明した処理と同様であるため、説明を省略する。
次に、アプリケーション部131がフレームレート変更部135にフレームレートの変更を要求する処理を説明する。アプリケーション部131は現在実行しているアプリケーションプラグラムについて、フレームレートを明示的に下げたい、あるいはフレームレート明示的に上げたいといった場合に、フレームレート変更部135にフレームレートを上げる、あるいは、フレームレートを下げる要求を送信することができる。
例えば、静止画を表示し続ける場合は、フレームレートを下げ、動画を表示し続ける場合は、フレームレートを上げるといった制御がある。フレームレートを上げる、あるいは、フレームレートを下げる判断は、アプリケーションプログラムが自由に設定できる。
次に、フレームレート変更部135が時間経過と共にフレームレートを段階的に下げる処理について説明する。フレームレート変更部135がアプリケーション部131からフレームレートを上げる要求を受信すると、フレームレート変更部135はタイマカウンタ値を読み取り、基準時刻として保存する。その後、前記周期的処理により、新フレームレートを算出すると、経過時間は、基準時刻と、基準時刻を保存してから次の周期で読み取ったタイマカウンタ値との差分となるため、フレームレート変更表600の0〜99秒の列に該当することになる。したがって、新フレームレートは基準フレームレートになる。これによって、フレームレートを上げる要求を受信したときに、即座に基準フレームレートに戻すことができる。
次に、フレームレート変更部135がフレームレートを即座に下げる処理について説明する。フレームレート変更部135がアプリケーション部131からフレームレートを下げる要求を受信すると、フレームレート変更部135は図4に示すフレームレート変更表600の中で一番低い新フレームレートに対応する経過時間よりも大きな値を基準時刻として保存する。
その後、前記周期的処理により、新フレームレートを算出すると、経過時間は、基準時刻と、基準時刻を保存してから次の周期で読み取ったタイマカウンタ値との差分となるため、フレームレート変更表600の400〜499秒の列に該当することになる。したがって、新フレームレートはフレームレート変更表600の中で一番低いフレームレートになる。これによって、フレームレートを下げる要求を受信したときに、即座にフレームレート変更表600の中で一番低いフレームレートに設定することができる。
一方、別の方法として、次に示す方法を用いて、フレームレート変更部135が段階的にフレームレートを上げる、あるいは下げることもできる。フレームレート変更部135がアプリケーション部131からフレームレートを上げる、または、フレームレートを下げる要求を受信すると、フレームレート変更部135が保持しているフレームレートを元に、図11に示す経過時間判断表602及び経過時間判断表603から基準時刻を求め、基準時刻を基準時刻として保存する。
その後、前記周期的処理により、新フレームレートを算出すると、経過時間は、基準時刻と、基準時刻を保存してから次の周期で読み取ったタイマカウンタ値との差分となるため、フレームレート変更表600から得られるフレームレートは、フレームレート変更部135が保持しているフレームレートより大きく、あるいは小さくなる。
例えば、フレームレート変更部135が保存しているが10fpsの場合、経過時間判断表601から得られる基準時刻は100であるため、これを基準時刻として保存すると、前記周期的の処理によってフレームレート変更表600から得られる新フレームレートは、15fpsになる。
この方法によれば、フレームレートを下げる要求を受信したときに、段階的にフレームレートを下げていくことができる。
本実施例によれば、アプリケーションプログラムが明示的にフレームレートを下げる、あるいはフレームレートを上げる、といった要求を送信した場合、サーバ装置100は段階的あるいは即座にフレームレートを下げる、あるいは下げることができる。
アプリケーション部が主体となってフレームレートを上げる、あるいは下げることによって得られる効果について説明する。
アプリケーション部において動作しているアプリケーションプログラムが、操作性や利便性に対して、俊敏な応答や高速な画面切り替えなどのリアルタイム性を要求されるような状況になったときに、フレームレートを上げる要求を送信することで、リアルタイム性を要求するような状況でフレームレートが高くなり、操作性や利便性が損なわれることがない。例えば、動画像再生を行うアプリケーションプログラムにおいて、再生を開始するときにフレームレートを上げておくことで、動画像が滑らかに再生される。
逆に、アプリケーション部において動作しているアプリケーションプログラムが、リアルタイム性を要求しないような状況になったときに、フレームレートを下げる要求を送信することで、リアルタイム性を要求しないような状況でフレームレートが低くなり、符号化処理部の負荷を低減できる。例えば、動画像再生を行うアプリケーションプログラムにおいて、再生を停止したときにフレームレートを下げておくことで、動画像を再生していないときはフレームレートを低くして、符号化処理部の負荷を低減できる。
以下、図面を参照しながら実施例について説明する。なお、実施例1と同一の部分については説明を省略し、異なる部分について詳細に説明する。
図12は図1のサーバ装置100において、画面情報生成部133が主体となってフレームレート変更部135を制御する場合の、サーバ装置100の各処理部の関連を示す図である。各処理部を接続する矢印は処理の流れを示している。
操作情報処理部132とアプリケーション部133と符号化処理部134の処理は、実施例1で説明した処理と同様であるため、説明を省略する。フレームレート変更部135が周期的処理は、実施例1で説明した処理と同様であるため、説明を省略する。フレームレート変更部135が操作情報処理部132から操作情報を受信したときの処理は、実施例1で説明した処理と同様であるため、説明を省略する。
次に、画面情報生成部133がフレームレート変更部135にフレームレートの変更を要求する処理を説明する。画面情報生成部133はフレームレートを上げる、あるいは下げる判断を行い、フレームレートを上げる、あるいは下げる要求をフレームレート変更部135に送信する。
画面情報生成部133がフレームレートを上げる、あるいは下げる判断としては次のような手法がある。画面情報生成部133は今回生成した画面情報と前回に生成した画面情報とを比較し、画面情報に変化が小さい場合は、フレームレートを下げる要求を送信する。逆に、画面情報生成部133は今回生成した画面情報と前回に生成した画面情報とを比較し、画面情報に変化が大きい場合は、フレームレートを下げる要求を送信する。
また、別の手法として、一定時間内のアプリケーション部131からの描画情報が閾値未満の場合は、フレームレートを下げる要求を送信し、閾値以上の場合は、フレームレートを上げる要求を送信する、という手法がある。画面情報生成部133がフレームレートを上げる、あるいは下げる判断を行う手法は前記に上げた手法によらなくてもよい。
フレームレート変更部135が画面情報生成部133からフレームレートを上げる要求を受信したときの処理は、実施例2のフレームレート変更部135が画面情報生成部133からフレームレートを上げる要求を受信したときの処理における、アプリケーション部131を画面情報生成部133に置き換えた場合と同様であるため、説明を省略する。
本実施例によれば、画面情報生成部133がフレームレートを下げる、あるいはフレームレートを上げる、といった要求を送信した場合、サーバ装置100は段階的あるいは即座にフレームレートを下げる、あるいは下げることができる。
画面情報生成部が主体となってフレームレートを上げる、あるいは下げることによって得られる効果について説明する。
実施例1による方法では、シンクライアント端末からの操作情報の入力がない場合は、フレームレートを下げていたが、操作情報がない場合でもフレームレートを上げたいという状況に対応できない。例えば、ユーザからの入力待ち状態の画面で、アニメーションを用いたグラフィカルな画面の場合、アニメーションが滑らかに動くためにフレームレートを上げておきたい場合がある。実施例3による方法によれば、このように、操作情報の入力がない場合でも、画面情報の変化の大小から、フレームレートを上げる、あるいは下げることができる。これによって操作性や利便性の更なる向上が可能になる。
以下、図面を参照しながら実施例について説明する。なお、実施例1と同一の部分については説明を省略し、異なる部分について詳細に説明する。
図13は図1のサーバ装置100において、符号化処理部134が主体となってフレームレート変更部135を制御する場合の、サーバ装置100の各処理部の関連を示す図である。各処理部を接続する矢印は処理の流れを示している。
操作情報処理部132とアプリケーション部133と画面情報生成部133の処理は、実施例1で説明した処理と同様であるため、説明を省略する。フレームレート変更部135が周期的処理は、実施例1で説明した処理と同様であるため、説明を省略する。フレームレート変更部135が操作情報処理部132から操作情報を受信したときの処理は、実施例1で説明した処理と同様であるため、説明を省略する。
次に、符号化処理部134がフレームレート変更部135にフレームレートの変更を要求する処理を説明する。符号化処理部134はフレームレートを上げる、あるいは下げる判断を行い、フレームレートを上げる、あるいは下げる要求をフレームレート変更部135に送信する。
符号化処理部134がフレームレートを上げる、あるいは下げる判断としては次のような手法がある。符号化処理部134は今回画面情報生成部133から取得した画面情報と前回画面情報生成部133から取得した画面情報とを比較し、画面情報に変化が小さい場合は、フレームレートを下げる要求を送信する。
逆に、画面情報生成部133は画面情報生成部133から取得した画面情報と画面情報生成部133から取得した画面情報とを比較し、画面情報に変化が大きい場合は、フレームレートを下げる要求を送信する。
また、別の手法として、例えば、符号化処理部134がMPEG2方式の符号化方式である場合、符号化処理の過程で現在のフレームと前後のフレームとの間の動き補償の残差を離散コサイン変換してDCT(Discrete Cosine Transform)係数を算出する。算出したDCT係数の残差が小さい場合、画面情報の変化が小さいとみなして、フレームレートを下げる要求を送信し、逆に残差が大きい場合、画面情報の変化が大きいとみなして、フレームレートを上げる要求を送信する。符号化の過程でDCT係数の残差を算出する符号化形式であれば、MPEG2方式でなくてもよい。また残差を算出する過程で、DCTによらない計算方法を用いても良い。
また、さらに別の手法として、例えば、符号化処理部134がMPEG2方式の符号化方式である場合、画面内のイントラマクロブロック数が画面内の総イントラマクロブロックにしめる割合、すなわちイントラ率が低い場合、画面情報の変化が小さいとみなして、フレームレートを下げる要求を送信し、イントラ率が高い場合、画面情報の変化が大きいとみなして、フレームレートを上げる要求を送信する。符号化の過程でマクロブロックをイントラ、非イントラとして区別して符号化する符号化形式であれば、MPEG2方式でなくてもよい。
フレームレート変更部135が符号化処理部134からフレームレートを上げる要求を受信したときの処理は、実施例2のフレームレート変更部135が符号化処理部134からフレームレートを上げる要求を受信したときの処理における、アプリケーション部131を符号化処理部134に置き換えた場合と同様であるため、説明を省略する。
本実施例によれば、符号化処理部134がフレームレートを下げる、あるいはフレームレートを上げる、といった要求を送信した場合、サーバ装置100は段階的あるいは即座にフレームレートを下げる、あるいは下げることができる。
符号化処理部が主体となってフレームレートを上げる、あるいは下げることによって得られる効果について説明する。
実施例4による方法では実施例3の効果と同様に、操作情報の入力がない場合でもDCT係数の残差およびイントラ率から画面変化の大小を判別し、フレームレートを上げる、あるいは下げることができる。これによって操作性や利便性の更なる向上が可能になる。
図17はシステム構成の一例を示す図である。出力装置3200a、3200b、・・・、3200nはLAN(Local Area Network)3003に接続され、ルータ3002を介して広域ネットワーク3001に接続される。また、サーバ3300a、サーバ3300b、・・・サーバ3300nは広域ネットワーク3001に接続される。外部機器3400a、3400b、・・・、3400nはそれぞれ出力装置3200a、3200b、・・・、3200nに接続され、外部機器3401a、3401b、・・・、3401nはLAN3003に直接接続される。なお、以下の説明において、個々にサーバまたは出力装置または外部機器を特定する必要がない場合は、出力装置3200a、3200b、・・・、3200nを出力装置3200で代表する。同様に、サーバ3300a、3300b、・・・、3300nをサーバ3300で、外部機器3400a、3400b、・・・、3400nおよび3401a、3401b、・・・、3401nを外部機器3400で代表する。ここで、出力装置3200、サーバ3300、外部機器3400の台数に制限はなく、1台でも複数台でもよい。また、外部機器3400は1つの出力装置3200に複数接続されていても構わない。
出力装置3200は、モニタやテレビジョンなどの映像及び音声を出力する装置である。出力装置3200はサーバ3300から送信される出力情報を受信して出力し、外部機器3400からの入力をサーバ3300に送信する。
サーバ3300は、出力装置3200が出力する映像及び音声を作成し、出力情報として広域ネットワーク3001を介して送信する。またサーバ3300は、出力装置3200から送信された外部機器3400からの入力情報を受信し、受信した入力情報を処理する。サーバ3300は処理の結果として作成した映像及び音声を出力情報として出力装置3200に送信し、出力装置3200は受信した出力情報を映像及び音声として出力する。
外部機器3400は、キーボード、マウス、タッチパネル、近距離通信装置(Felica(登録商標)等)、赤外線受信装置、などの入力・出力・入出力装置である。なお、広域ネットワーク3001には、他のルータを介してPC(Personal Computer)3004やネットワークプリンタ3005など、他の機器が接続されており、ルータ3002にも出力装置3200や外部機器3400以外のほかの機器が接続されていてもよい。
本システムは、シンクライアントシステムを用いて構築することが可能である。シンクライアントシステムとは、クライアントサーバ型の情報システムにおいて、ユーザが使用するクライアント端末に最低限の機能しか持たせず、サーバ側でアプリケーションソフトやファイルなどの資源を管理するシステムのことである。シンクライアントシステムにおいて、サーバは映像や音声の出力情報を生成し、生成した出力情報をネットワーク経由でクライアント端末に送信する。クライアント端末は、JPEGなどの静止画の連続と音声情報、もしくはMPEGなどの動画形式でサーバから送信された出力情報を映像出力部および音声出力部に出力する。また、クライアント端末は、クライアント端末に接続された例えば、タッチパネル、キーボード、マウス、カメラ、近距離無線通信手段、赤外線受光部、などの外部機器から取得した入力情報をネットワーク経由でサーバに送信する仕組みを持つ。
入力情報を受信したサーバはその入力情報に基づいてアプリケーションの実行などの操作を行い、その結果を映像や音声などの出力情報として作成し、出力情報をクライアント端末に送信する。クライアント端末はサーバから受信した出力情報を出力する。以上のようにシステムを構成することで、受信した出力情報を出力し、受け付けた入力をサーバへ送信するという、最低限の機能しか持たないクライアント端末を、あたかも複数のアプリケーションやファイルを記憶し、該アプリケーションやファイルを用いた複雑な操作をクライアント端末単体で行えるかのようにして使用することができる。また、これによって、端末コストの減縮や端末の集中管理、端末の記憶部にデータを保存させないことによるセキュリティの向上などを図ることができる。
さらに、本システムはシンクライアントシステムの一種であるビデオシンクライアント(VTC:Video Thin Client)システムを用いて構築することも可能である。VTCシステムとは、クライアント端末としてコンピュータではなく、テレビジョン装置を用いてシンクライアントシステムを実現させる方法のことである。
VTCを用いた場合も上記のシンクライアントシステムと同様の動作を行う。ただし、サーバが作成する映像や音声などの出力情報をMPEGなどの動画形式にエンコーダが変換して、テレビジョン装置に送信する。テレビジョン装置は、ネットワーク接続部から取得した動画形式にエンコードされた出力情報を、テレビジョン装置のデコーダでデコードし、映像出力部および音声出力部から出力情報を出力する。テレビジョン装置はシンクライアントシステムで説明したように、外部機器からの入力情報を受け付けてサーバに送信する。サーバは受信した入力情報に基づいてアプリケーションなどの操作を行い、その結果を映像や音声などの出力情報として作成する。サーバは生成した出力情報をテレビジョン装置に送信し、テレビジョン装置は受信した出力情報を出力する。
以上の構成を有するテレビジョン装置と、VTCシステムと、を用いることで、パーソナルコンピュータと比較すると処理能力が劣るテレビジョン受信機を、あたかも複数のアプリケーションやファイルを記憶し、該アプリケーションやファイルを用いた複雑な操作をクライアント端末単体で行えるかのようにして使用することができる。また、これによって端末コストの減縮や端末の集中管理、端末の記憶部にデータを保存させないことによるセキュリティの向上などを図ることができる。なお、VTCシステムではクライアント端末をテレビジョン装置として説明したが、サーバから送信される出力情報をデコード可能なデコーダを備えていれば、テレビジョン装置でなくともよい。
以下では、VTCシステムを用いて、サーバ3300が送信した動画形式で出力した出力情報を、テレビジョン装置である出力装置3200が受信して再生する例を説明する。
図18は出力装置3200の構成の一例を示す図である。
出力装置3200は、放送信号入力端子3201、チューナ3202、復調部3203、デスクランブラ3204、暗号化/復号処理部3205、ストリーム処理部3206、映像デコーダ3207、音声デコーダ3208、時計部3209、映像処理部3210、音声処理部3211、映像出力部3212、音声出力部3213、映像音声入出力端子3214、ネットワーク接続部3215、ネットワーク接続端子3216、外部機器制御部3217、制御部3218、記録部3219、メモリ3220、カメラ制御部3221、タッチパネル3222、カメラ3223から構成される。ただし、本実施例を実現することができれば、出力装置3200は図18に含まれる全ての構成を有する必要は無く、また、図18に含まれない他の構成が含まれることを除外するものでもない。
放送信号入力端子3201は、アンテナ、ケーブル等が受信した放送信号データの入力を受け付ける。放送信号入力端子3201が受け付ける放送信号は、地上波デジタル信号、地上波アナログ信号やBS、CSなどのデジタルまたはアナログ放送信号である。放送信号入力端子3201がデジタル信号の入力を受け付ける場合、チューナ3202は、放送信号入力端子3201が受け付けた放送信号データから特定のチャンネルを抽出する。復調部3203は、チューナ3202が抽出したチャンネルからテレビ番組用の符号化された映像音声データおよび各種データが多重化されたストリームを復調する。
デスクランブラ3204は、サービス事業者との契約者のみに視聴させる場合やデジタル放送を視聴する場合など、復調部3203が生成したストリームにスクランブルがかかっている場合に、図示しない、サービス事業者から発行された情報、またはB−CASカード(登録商標)から取得した情報および放送波に多重されている鍵情報を使うなどして、スクランブルを解除する。
スクランブルを解除されたストリームを記録部3219などに記憶させる場合について説明する。ストリームのコピー制限情報が世代コピー可の制限をもつ場合、デスクランブラ3204から送信されたストリームをストリーム処理部3206はストリームを暗号化/復号処理部3205に送信する。暗号化/復号処理部3205は、受信したストリームを暗号化し、暗号化したストリームを記録部3219に記憶させる。暗号化の際の鍵は、例えば、出力装置3200の持つ固有情報、記録部3219の持つ固有情報、そのほか乱数などから生成される。記録部3219に記憶されるストリームは、制御部3218によってストリームリストとして管理される。
放送信号入力端子3201およびネットワーク接続端子3216から入力されたストリームを視聴する場合、ストリームはストリーム処理部3206に入力される。また、記憶部3219から再生されるストリームは、暗号化/復号処理部3205によって復号された後にストリーム処理部3206に入力される。
放送信号入力端子3201およびネットワーク接続端子3215から受信したストリーム、記録部3219で記憶したストリームがMPEG2のトランスポートストリーム(TS:Transport Stream)である場合は、映像データと音声データを同期して出力できるように、出力装置3200が参照する時刻基準情報値であるプログラムクロックリファレンス(PCR)がストリームに多重されている。ストリーム処理部3206は、入力されるトランスポートストリームからPAT(Program Association Table)/PMT(Program Map Table)を取得し、パケット識別子(PID)を判別する。ストリーム処理部3206は、判別したPIDを持つTSパケットに多重分離(Demultiplex)する。ストリーム処理部3206は、圧縮符号化映像データと、圧縮符号化音声データと、PCRと、をPIDに応じてそれぞれ映像デコーダ3207、音声デコーダ3208、時計部3209に出力する。
圧縮符号化映像データは、映像デコーダ3207で伸張が施された後、映像処理部3210にて付属情報が重畳されて映像信号とされ、映像出力部3212によって出力される。ここで、映像処理部3210は、映像信号に文字情報などを重畳することができる。また、圧縮符号化音声データは音声デコーダ3208で慎重が施された後、音声処理部3211にて左右の音声のバランス調整などの処理を施されて音声信号とされ、音声出力部3213によって出力される。さらに、映像信号および音声信号は映像音声入出力端子3214からそれぞれ外部の機器に出力することができ、必要であれば映像処理部3210および音声処理部3211はそれぞれ映像信号および音声信号をデジタル形式からアナログ形式へ変換して映像音声入出力端子3214に出力する。なお、映像音声入出力端子3214は、HDMI(登録商標)などの端子のように、映像および音声を同時に出力することができる端子として1つにまとめることもできる。さらに、映像音声入出力端子3214は、外部の機器から映像信号および音声信号の入力を受け付けることができ、映像音声入出力端子3214から入力された映像信号および音声信号は、それぞれ映像出力部3212および音声出力部3213から出力される。なお、映像音声入出力端子3214は、映像入出力端子と音声入出力端子とに分かれていてもよい。
時計部209は、ストリーム処理部206から出力されたPCRをシステムタイムクロック(STC)カウンタの計数値の初期値として設定する。時計部3209はカウンタの計数値を増加させ、各映像データに付随している復号時刻情報(DTS)がこの計数値に一致した時刻にデコード(復号)を行うように映像デコーダ3207および音声デコーダ3208に指示を行う。出力装置3200は映像または音声データに付随する再生出力時刻情報(PTS)が一致した時刻に映像または音声データの出力を行う。
受信したストリームがMPEG2のPESパケットの場合には、PESに含まれるPTS、DTSの値と時計部3209のカウンタ値とに基づき、デコード開始及び出力開始タイミングが制御される。
ネットワーク接続端子3216は、図17の広域ネットワーク3001に接続される。ネットワーク接続部3215は、ネットワーク接続端子3216を介してサーバ3300と他の出力装置との各種情報の送受信を行う。また、ネットワーク接続部3215は、例えば、データの到達が保証されず信頼性はないがリアルタイム性のある伝送モード(以降、リアルタイム伝送モードと呼ぶこともある)と、データの到達が保証され信頼性はあるがリアルタイム性のない伝送モード(以降、信頼性のある伝送モードと呼ぶこともある)に動作を切り換え可能である。
ここで、リアルタイム伝送モードには、例えば、UDP(User Datagram Protocol)、およびRTP(Real−Time Transport Protocol)が用いられる。この方式では、送信したデータが相手に届いたかどうかを確認しないので、伝送パケットが失われて相手に届かない場合があり、映像や音声が途切れることがあるが、反面、データの送信は継続するので遅延が少なく、リアルタイム性が維持できる。
例えば、RTPでは、ネットワークを経由して転送されると、パケットの喪失や、配送の遅れが起こる。しかし、映像や音声のデータは、データの一部が欠けていても再生が可能である。データの受信側では、喪失や、配送の遅れたパケットは無視し、受信側が期待する時間に到着したパケットだけを利用してデータの再生を行う。受信側は、受信したパケットについて、受信確認応答(ACKnowledgement)を逐一送ることはしない。
また、信頼性のある伝送モードには、例えば、TCP(Transmission Control Protocol)、およびHTTP(HyperText Transfer Protocol)またはFTP(File Transfer Protocol)が用いられる。この方式では、送信したデータが相手に届いたかどうかを確認し、伝送パケットが失われて相手に届かなかった場合は、再度送信処理を行うので、その間、映像や音声が停止してしまうことあるが、データの信頼性は確保される。
ネットワーク接続部3215は、LAN3003に接続されたネットワーク接続端子3216を介して、サーバ装置3300からストリームを受信する。外部機器制御部3217は、外部機器接続端子218を介して図1の外部機器3400、例えばタッチパネル3222と接続されており、外部機器からの入力情報を受信し、外部機器を制御するための制御情報を外部機器3400に送信する。
カメラ制御部3221は、出力装置3200の正面を撮影するカメラ3223の動作を制御する。カメラ制御部3221は、カメラ3223が撮影した映像を監視し、出力装置3200の正面に視聴者が存在すると、ネットワーク接続部3215を介してサーバ3300へ撮影データを送信する。視聴者の有無の判断は、公知の技術を用いればよく、また、例えば所定時間前に撮影された映像と現在撮影された映像との差分が一定以上の領域を占めた場合に視聴者がいる、と判断するなど、人間の存在を感知するものでなくともよい。なお、カメラ制御部3221が人物の有無を判断せずに、撮影された映像データを断続的にサーバ3200に送信し、サーバ3200で人物の有無を判断することも可能であり、出力装置3200の構成を簡易化することも可能であるが、ネットワークの負荷が高くなる。
上記の各処理部、制御部は、ハードウェアとして出力装置3200に実装されることを想定しているが、その一部はソフトウェアとして実装することも可能である。この場合は各処理部、制御部の機能を実現するためのプログラムを予め記憶部3219に記憶させ、制御部3218が、記憶部3219に記憶されたプログラムをメモリ3220に展開して実行することで各種プログラムに応じた機能を実現することができる。
図19は、本実施例におけるサーバ3300の構成及び及びサーバと出力装置との接続の図一例を示す図である。
サーバ3300は、プロセッサ3301、メモリ3302、記憶部3303、ネットワーク接続部3304、ネットワーク接続端子3305、外部機器制御部3306、外部機器接続端子3307、画像抽出部3308、送信映像選択部3309、操作情報処理部132、画面情報生成部133、フレームレート変更部135、符号化処理部134から構成される。各処理部を接続する矢印は、後述する処理の流れを示している。
プロセッサ3301は、記憶部3303に記憶されたプログラムをメモリ3302に展開し、展開したプログラムを実行することで、サーバ3300の起動、情報処理、情報の送受信など、サーバとしての機能を実現する。記憶部3303は、HDDやSSD、DVD、BD、ICカードなどの記憶装置であり、識別情報毎の操作手順情報3600、出力装置3200に出力するコンテンツ、プロセッサ3301がメモリ3302に展開するプログラム、テーブルなどを記憶することができる。
ネットワーク接続端子3305は、図17の広域ネットワーク3001に接続される。ネットワーク接続部3304は、ネットワーク接続端子3305を介して他のサーバや出力装置3200と各種情報の送受信を行う。外部機器制御部3306は、USB(Universal Serial Bus)デバイスなどの外部機器を接続するための外部機器接続端子3307に接続された外部機器からの入力を受付け、外部機器の動作を制御する。
画像抽出部3308は、出力装置3200から送信された映像データから、映像データに映った人物の映像を抽出する。また、画像抽出部3308は、画像処理を用いて抽出した人物の識別情報を作成する。送信映像選択部3309は、出力装置3200に表示させるコンテンツを選択する。また、送信映像選択部3309は、フレームレート変更部135にフレームレートの変更を通知する。画面情報生成部133は送信映像選択部3309が選択したコンテンツを作成する。符号化処理部134は、画面情報生成部が生成した画面情報を符号化する。
次に本実施例の詳細な説明をする。本実施例では、出力装置3200は例えばタッチパネルの正面をカメラで撮影し、撮影した映像をサーバ3300へ送信する。サーバ3300は受信した映像から、人物を抽出し、性別、年代、時間などの識別情報を取得し、該識別情報毎に蓄積した操作手順情報3600より、視聴者が次にどの操作を行なうかを推定し、推定した操作に該当する映像を所定のフレームレートで符号化する。
この間に、視聴者がタッチパネルの操作を行ない、タッチパネルの操作情報を受信したサーバ3300は、推定した操作情報と視聴者が実際にタッチパネルを操作した操作情報を比較する。操作情報が一致するときはそのままフレームレートを上げた映像の送信を継続し、一致しないときは、上記映像の送信を中止し、視聴者がタッチパネルを操作した操作情報に該当する映像を選択してフレームレートを下げて出力装置3200へ向けて送信することで、視聴者がタッチパネルを操作して映像が表示されるまでの遅延時間を短縮するものである。なお、フレームレートを変更する方式は前述しているため説明を省略する。
例えば、図18に示す出力装置3200の前に視聴者が存在する時、出力装置3200のカメラ制御部3221はサーバ3300へ出力装置3200の正面の撮影データを送信する。サーバ3300は広域ネットワーク3001を介して出力装置3200から映像データをネットワーク接続端子3305で受信する。ネットワーク接続端子3305から映像データを取得したネットワーク接続部3304は取得したデータに付加されているIPヘッダを取り除いて画像抽出部3308に転送する。画像抽出部3308は、受信したデータより撮影された視聴者を抽出し、識別情報を作成する。ここで、識別情報とは上記したように性別や年代、視聴した時間などを示す。画像抽出部3308は上記取得した識別情報を送信映像選択部3309へ転送する。送信映像選択部3309は上記画像抽出部3308から受信した識別情報と、記憶部3303に蓄積している識別情報毎の操作手順情報3600を取得して、識別情報と操作手順情報3600を照合することにより視聴者が次にタッチパネルで何を操作するのかを推定し、本推定結果より出力装置3200へ送信する映像を決定する。送信映像選択部3309は上記決定を画面情報生成部133へ転送する。画面情報生成部133は、上記決定に該当する映像を、記憶部3303に記憶されているコンテンツやネットワーク接続端子3305から取得した他のサーバ3300b等から取得した情報を基に生成し、符号化処理部134へ転送する。符号化処理部134は、フレームレート変更部135が設定したフレームレートで上記映像を符号化する。
上記、処理の過程において、視聴者がタッチパネルを操作した場合、出力装置3200はサーバ3300へ向けて操作データを送信する。サーバ3300は上記操作データをネットワーク接続端子3305で受信する。ネットワーク接続端子3305はIPヘッダを取り除く処理を行ない、操作データを画像抽出部3308へ転送する。操作情報処理部132は、受信したデータの解析を行なう。
今回の受信データは、視聴者がタッチパネルを操作した操作データであるので、操作情報処理部132はタッチパネルの操作内容を送信映像選択部3309へ転送する。送信映像選択部3309は、先に推定したタッチパネル操作と、操作情報処理部132から受信した視聴者が操作したタッチパネル操作データとを比較し、比較結果をフレームレート変更部135に通知する。比較結果が一致している場合、フレームレート変更部135は、先に符号化処理部134が符号化した映像をネットワーク接続端子3305へ転送するように符号化処理部134に命令し、一致していない場合は、符号化処理部134に前記設定したフレームレートよりも低いフレームレートで画面情報を符号化するように符号化処理部134に通知する。また、比較結果が一致していない場合は、通信映像選択部3309は、記憶部3303に蓄積している識別情報毎の操作手順情報3600と識別情報を照合して、出力装置3200へ送信する映像を決定する。送信映像選択部3309は上記決定を画面情報生成部133へ転送する。画面情報生成部133は、上記決定に該当する映像を、記憶部3303に記憶されているコンテンツやネットワーク接続端子3305を介して他のサーバ3300b等から取得した情報を基に生成し、符号化処理部134へ転送する。符号化処理部134は、フレームレート変更部135が前記設定したフレームレートよりも低いフレームレートで上記映像を符号化する。
ネットワーク接続端子3305は、符号化処理部134から受信した映像を出力装置3200へ向けて送信する。
次に、記憶部3303が蓄積している操作手順情報3600について詳しく説明する。
図20は、記憶部3303が蓄積している操作手順情報3600の一例を示す。本タッチパネル操作手順情報3600は、性別あるいは年代別、図示していないが視聴した時間別に操作手順と視聴人数が登録されている。例えば、操作手順のA→A1→A12は、タッチパネルの初期画面で「A」を選択して出力された「A」の映像の中から「A1」を選択して「A1」の映像を出力し、更に「A1」の映像の中から「A12」を選択して「A12」を出力したものである。
例えば、出力装置3200のタッチパネルの前に立った人物を撮影し、これを受信したサーバ3300の画像抽出部3308が映像の解析を行ない、性別が男、年代が20才代と判断した場合、送信映像選択部3309は記憶部3303から同図に示すタッチパネル操作手順情報3600を取得する。送信映像選択部3309は、取得した操作手順情報3600より、視聴者がタッチパネルで操作する内容を予測する。
同図の場合は、「A」を選択する確率が高いので送信映像選択部3309は「A」の映像を選択する。視聴者がタッチパネルで「A」を選択した場合、送信映像選択部3309は、視聴者が次にタッチパネルで操作を行なう確率が高い「A1」の映像を選択する。ここで、視聴者がタッチパネルで「B」を選択した場合、符号化処理部134は符号化している「A」の映像の符号化処理を中止し、送信映像選択部3309で「B」の映像を選択した後に、フレームレートを下げて出力装置3200へ向けて映像を送信する。
視聴者がA→A1を選択した場合、送信映像選択部3309は、視聴者が次にタッチパネルで操作を行なう確率が高い「A12」の映像を選択する。ここで視聴者が「A13」を選択した場合は、符号化処理部134は、上記したように「A12」の映像の符号化処理を中止し、「A13」の映像を低いフレームレートで符号化する。以上のように視聴者の操作が終了した時点で、送信映像選択部3309は記憶部3303に蓄積された操作手順情報3600に合致した視聴人数をカウントし、常に操作手順情報3600を更新する。
以上、説明したように本実施例では、視聴者がタッチパネルを操作してから画面に表示されるまでの遅延時間を短縮することができる。
なお、本実施例ではカメラで視聴者を撮影して識別情報を取得したが、例えば出力装置3200の映像出力部3212に複数のコンテンツを分割表示している場合などに、画像抽出部3308が映像データから視聴者の視線を解析して、ある一定時間以上視線が静止しているコンテンツについて、本実施例のように符号化処理部134が高いフレームレートで符号化を開始する処理を実行することで、視聴者がタッチパネルで操作してから映像が表示されるまでの遅延時間を短縮しても良い。また、視聴者の識別にカメラを用いて説明を行なったが、カメラに限定するものではなく、センサーや視聴者がタッチパネルに触れたタイミングで、本実施例を実行しても構わない。
図21は、本実施例におけるサーバ3300の構成及びサーバ3300と出力装置3200との接続の一例を示す図である。本実施例におけるサーバ3300の構成は実施例5におけるサーバ3300の構成と同様であるため、説明を省略する。また、本実施例におけるシステム全体の構成は図17と同様であり、本実施例における出力装置3200の構成も図18と同様である。
本実施例では、サーバ3300がネットワーク接続端子3305を介して、複数の出力装置3200と接続され、それぞれの出力装置にコンテンツを送信する際、プロセッサ3301にかかる負荷を、送信するコンテンツのフレームレートを下げることによって、低減することができる。なお、送信するコンテンツのフレームレートを下げる方式については、前述しているため説明を省略する。図21の例では、サーバ3300には4台の出力装置3200a、3200b、3200c、3200dがIPネットワークを介して接続されている。
例えばサーバ3300が4台の出力装置3200a〜3200dに向けてコンテンツを送信しているときのプロセッサ3301の負荷を100%とする。出力装置3200a〜3200dには、それぞれ25%のプロセッサ3301の負荷がかかるようになる。そこで各出力装置3200a〜3200dに送信するコンテンツのフレームレートを下げることで、各出力装置3200a〜3200dにコンテンツを送信する処理にかかるプロセッサ3301の負荷を5%ずつ下げて20%にすると、サーバ3300が出力装置3200a〜3200dに向けてコンテンツを送信する時のプロセッサ3301の負荷は80%に低減することができる。
また、ここで上記低減したプロセッサ3301の負荷20%を利用して、図21の破線で示すように出力装置3200eを新たにサーバ3300へ接続することが可能である。
図22は、サーバと出力装置との接続の一例を示す図である。サーバ3300aには、出力装置3200f、3200g、3200h、3200iが接続されている。サーバ3300bには、出力装置3200j、3200k、3200l、3200mが接続されている。サーバ3300cには、出力装置3200n、3200oが接続されている。例えばサーバ3300aが、出力装置3200fに対してコンテンツを送信する際、プロセッサ3301の負荷が25%かかっていると仮定する。すなわちサーバ3300aは、出力装置3200f〜3200iにコンテンツを送信する際、100%のプロセッサ3301の負荷がかかっていることになる。
サーバ3300bも上記同様に出力装置3200j〜3200mにコンテンツを送信する際、100%のプロセッサ3301の負荷がかかっている。サーバ3300cは出力装置3200n、3200oの2台が接続されているので、プロセッサ3301の負荷は50%である。ここでサーバ3300は上記したようにフレームレートを下げてコンテンツを送信することでプロセッサ3301の負荷を低減することができる。例えばサーバ3300aがフレームレートを下げてコンテンツを送信する際、1台の出力装置3200fに対してプロセッサ3301の負荷を25%から20%に低減した時、サーバ3300aのコンテンツ送信時のプロセッサの負荷は80%となる。サーバ3300bも同様にプロセッサの負荷が80%となる。
図23は、フレームレートを下げてコンテンツを送信したときのサーバ3300と出力装置3200の接続の一例を示す図である。上記したようにサーバ3300a、3300bのプロセッサ3301の負荷は80%であるので、サーバ3300cに接続されていた出力装置3200n、3200oをサーバ3300a、3300bに接続することが可能になる。これによりサーバ3300cは停止することができ、省エネルギーを実現することができる。
以上、説明したようにサーバに接続している複数の出力装置に対して、フレームレートを下げたコンテンツを送信することでプロセッサの負荷を低減することができる。また、上記低減したプロセッサの負荷を利用して、他のサーバに接続されている出力装置を自サーバに接続することで、省エネルギーを実現することができる。
本実施例では、表示装置3200の前方に存在する人物の数に応じて、表示装置3200が表示する画面情報のフレームレートを変更する例を説明する。
本実施例におけるシステム全体の構成は図17と、本実施例における出力装置3200の構成は図18と同様であるため、詳細な説明は省略する。ただし、出力装置3200はタッチパネル3222などの外部機器を備える必要はない。
図24は、本実施例におけるサーバ3300の構成図である。各処理部の説明は、図19のものと同様であるため、詳細な説明は省略する。
以後、実施例5の記載と相違する部分について説明する。
本実施例において、出力装置3200のカメラ制御部3221は、カメラ3223が撮影した映像データをサーバ3300に送信する。送信する映像データは、カメラ3223により所定時間ごとに撮影された静止画を送信しても、所定時間前に撮影された映像データと現在撮影された映像データが異なる場合に送信しても、撮影された映像データを断続的に送信してもよい。
ネットワーク接続端子3305で広域ネットワークを介して出力装置から映像データを受信したネットワーク接続部3304は、受信した映像データを画像抽出部3308に送信する。画像抽出部3308は、前述の画像処理などを用いて、受信した映像データに映る人物の数を抽出し、抽出した映像データに映る人物の人数をフレームレート変更部135に送信する。
図25は、フレームレート変更部135が一定周期で行う処理フローを示す図の例である。フレームレート変更部135は基準フレームレートを現在フレームレートとして保存する(S301)。本実施例では基準フレームレートを30fpsとしている。
フレームレート変更部135は画像抽出部3308から人数情報を受信した場合に(S3303)、フレームレート変更表604を基に、人数情報に該当するフレームレートを求め(S3304)、新フレームレートとする。フレームレート変更表604はフレームレート変更部135に内蔵されていても良いし、フラッシュロムなど別のハードウェアに格納されていても良い。フレームレート変更部135は求めた新フレームレートと現在フレームレートとを比較し(S305)、求めた新フレームレートが現在フレームレートと異なる場合、新フレームレートを新たにフレームレート変更部135が現在フレームレートとして保持し(S306)、当該フレームレートを符号化処理部134に通知する(S307)。例えば、人数情報が6人の場合、新フレームレートは7.5fpsである。その後、またS3303の処理に戻る。
符号化処理部134は、画面情報生成部133が生成した画面情報を、システムの稼動時に基準フレームレートである30fpsで符号化し、フレームレート変更部135から新フレームレートが通知された場合は、通知されたフレームレートで符号化する。
また、画面情報生成部133は、予め設定されたスケジュールに従い、記憶部3303や他のサーバ等に記憶されたコンテンツ等に基づき、出力装置3200に出力させる画面情報を生成する。設定されたスケジュールは画面情報生成部133に内蔵されていても良いし、フラッシュロムなど別のハードウェアに格納されていても良い。
上記以外の処理は、実施例5と同様である。
以上の構成により、本実施例では、出力装置3200の視聴者が少ない場合は低いフレームレートで画面情報を作成することでサーバ3300の符号化処理の軽減およびサーバ3300の省電力を図ることができ、視聴者が多い場合は高いフレームレートで画面情報を作成することで広告効果を向上させることができる。
本実施例では、映像データに映る人物の人数の増減に応じてフレームレート変更部135が、フレームレート変更表を参照してフレームレートを選択し、人数が増加した場合はフレームレートを増加させたが、所定時間前に受信した映像データと受信した最新の映像データが異なる場合に、所定時間前に受信した映像データと受信した最新の映像データとの差異が映像データの1乃至複数のフレームにおいて何%あるか、を用いてフレームレートを変更することも可能である。この場合、フレームレート変更表604は、人数に応じたフレームレートを示すのではなく、前述の差異の割合に応じたフレームレートを示し、フレームレート変更部135は、この前述の割合に応じたフレームレートを示すフレームレート変更表を用いて図25のS3304における新フレームレートを求める。
同様に、前述の差異の割合にかえて、前述の差異の一定時間内の変化量や、出力装置3200から出力装置3200に最も近い被写体までの距離に応じてフレームレートを変更することも可能である。この場合、前述の変化量が大きいほど、被写体までの距離が近いほどフレームレートを増加させる。
このように、画像データから人数を求め、フレームレートを求める方法だけではなく、映像データから得られるその他の情報を基に広告効果を維持しつつサーバの処理量を減少させるようにフレームレートを増減させる構成にすることによって、本発明の目的を達成することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD(Digital Versatile Disk)等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100 サーバ装置
110 プロセッサ
120 メモリ
130 プログラム
131 アプリケーション部
132 操作情報処理部
133 画面情報生成部
134 符号化処理部
135 フレームレート変更部
140 ネットワーク接続端子
141 ネットワーク
142 シンクライアント装置
600、602、603,604 フレームレート変更表
601 経過時間判断表
3001 広域ネットワーク
3002 ルータ
3003 LAN
3201 放送信号入力端子
3214 映像音声入出力端子
3216 ネットワーク接続端子
3305 ネットワーク接続端子
3307 外部機器接続端子
3600 操作手順情報

Claims (9)

  1. サーバ装置と、出力装置と、を有する映像出力システムであって、
    前記出力装置は、
    前記サーバ装置から受信した画面情報を表示する表示部と、
    映像を撮像する撮像部と、
    前記撮像部が撮像した映像を前記サーバ装置に送信する通信部と、を有し、
    前記サーバ装置は、
    前記出力装置に出力する画面情報を作成する画面情報作成部と、
    前記映像を受信する映像受信部と、
    前記映像受信部が受信した前記映像に映る人物の人数の増減によって変化するフレームレートで前記画面情報作成部が作成した前記画面情報を符号化する符号化処理部と、
    前記符号化処理部により符号化された前記画面情報を前記出力装置に送信する送信部と、を有する
    ことを特徴とする映像出力システム。
  2. 請求項1に記載の映像出力システムであって、
    前記フレームレートは、前記映像に映る人物の人数が増加した場合は、増加することを特徴とする映像出力システム。
  3. 請求項1に記載の映像出力システムであって、
    前記フレームレートは、前記映像に映る人物の人数が減少した場合は、減少することを特徴とする映像出力システム。
  4. サーバ装置と、出力装置と、で映像を出力する映像出力方法であって、
    前記出力装置は、
    前記サーバ装置から受信した画面情報を表示し
    映像を撮像し、
    撮像した前記映像を前記サーバ装置に送信し、
    前記サーバ装置は、
    前記出力装置に出力する画面情報を作成し、
    前記映像を受信し、
    受信した前記映像に映る人物の人数の増減によって変化するフレームレートで、作成した前記画面情報を符号化し、
    符号化された前記画面情報を前記出力装置に送信し、
    前記出力装置は、
    前記サーバから受信した画面情報を表示する、
    ことを特徴とする映像出力方法。
  5. 請求項4に記載の映像出力方法であって、
    前記フレームレートは、前記映像に映る人物の人数が増加した場合は、増加することを特徴とする映像出力方法。
  6. 請求項4に記載の映像出力方法であって、
    前記フレームレートは、前記映像に映る人物の人数が減少した場合は、減少することを特徴とする映像出力方法。
  7. 出力装置にネットワークを介して接続されたサーバ装置であって、
    前記出力装置に出力する画面情報を作成する画面情報作成部と、
    前記出力装置が有するカメラが撮像した映像を受信する映像受信部と、
    前記映像受信部が受信した前記映像に映っている人物の数に応じたフレームレートで、前記画面情報作成部が作成した前記画面情報を符号化する符号化処理部と、
    符号化された前記画面情報を前記出力装置に送信する送信部と、
    を有することを特徴とするサーバ装置。
  8. 請求項7に記載のサーバ装置であって、
    前記フレームレートは、前記映像に映る人物の人数が増加した場合は、増加することを特徴とするサーバ装置。
  9. 請求項7に記載のサーバ装置であって、
    前記フレームレートは、前記映像に映る人物の人数が減少した場合は、減少することを特徴とするサーバ装置。
JP2010289131A 2010-12-27 2010-12-27 映像出力システム、映像出力方法及びサーバ装置 Pending JP2012137900A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010289131A JP2012137900A (ja) 2010-12-27 2010-12-27 映像出力システム、映像出力方法及びサーバ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010289131A JP2012137900A (ja) 2010-12-27 2010-12-27 映像出力システム、映像出力方法及びサーバ装置

Publications (1)

Publication Number Publication Date
JP2012137900A true JP2012137900A (ja) 2012-07-19

Family

ID=46675270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010289131A Pending JP2012137900A (ja) 2010-12-27 2010-12-27 映像出力システム、映像出力方法及びサーバ装置

Country Status (1)

Country Link
JP (1) JP2012137900A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140079139A1 (en) * 2012-09-20 2014-03-20 Casio Computer Co., Ltd. Moving image processing apparatus that processes a plurality of moving image data sets
JPWO2015107672A1 (ja) * 2014-01-17 2017-03-23 富士通株式会社 画像処理プログラム、画像処理方法、および画像処理装置
JP2020149293A (ja) * 2019-03-13 2020-09-17 富士通株式会社 表示制御プログラム、表示制御方法および情報処理装置
US11259070B2 (en) 2019-04-11 2022-02-22 Kabushiki Kaisha Toshiba Packet generation apparatus and method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140079139A1 (en) * 2012-09-20 2014-03-20 Casio Computer Co., Ltd. Moving image processing apparatus that processes a plurality of moving image data sets
CN103686180A (zh) * 2012-09-20 2014-03-26 卡西欧计算机株式会社 动态图像处理装置、动态图像处理方法以及程序
CN103686180B (zh) * 2012-09-20 2017-09-22 卡西欧计算机株式会社 动态图像处理装置、动态图像处理方法以及记录介质
JPWO2015107672A1 (ja) * 2014-01-17 2017-03-23 富士通株式会社 画像処理プログラム、画像処理方法、および画像処理装置
JP2020149293A (ja) * 2019-03-13 2020-09-17 富士通株式会社 表示制御プログラム、表示制御方法および情報処理装置
JP7252444B2 (ja) 2019-03-13 2023-04-05 富士通株式会社 表示制御プログラム、表示制御方法および情報処理装置
US11259070B2 (en) 2019-04-11 2022-02-22 Kabushiki Kaisha Toshiba Packet generation apparatus and method

Similar Documents

Publication Publication Date Title
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
US9699518B2 (en) Information processing apparatus, information processing system, recording medium, and method for transmission and reception of moving image data
CN108965883B (zh) 使用虚拟帧内帧对视频内容进行编码的系统和方法
KR100975311B1 (ko) 요청시 i-화상 삽입
CN110582012B (zh) 视频切换方法、视频处理方法、装置及存储介质
JP6567286B2 (ja) 動画ビデオの再生のための方法およびシステム
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
KR20140091021A (ko) 제어 방법 및 그를 이용한 장치
US9232249B1 (en) Video presentation using repeated video frames
US9742749B1 (en) Live stream encryption
EP3007449B1 (en) Protected storage of content with two complementary memories
EP3466081A1 (en) Catching up to the live playhead in live streaming
US9215396B2 (en) Faster access to television channels
JP2012137900A (ja) 映像出力システム、映像出力方法及びサーバ装置
US20100132007A1 (en) Accelerating channel change time with external picture property markings
US20040105030A1 (en) Information processing system, information processing apparatus, information processing method, program storage medium, and program
EP3621309A1 (en) Transmission system for multi-channel image, control method therefor, and multi-channel image playback method and apparatus
WO2018224839A2 (en) Methods and systems for generating a reaction video
US10356159B1 (en) Enabling playback and request of partial media fragments
JP2013012833A (ja) 送信装置及び送信装置の制御方法
JP2011192229A (ja) サーバ装置および情報処理方法
JP2009171294A (ja) 映像配信システム、映像中継装置、及び映像中継方法
US10313759B1 (en) Enabling playback and request of partial media fragments
JP2012049723A (ja) 映像音声出力装置及び映像音声出力方法
US20210203987A1 (en) Encoder and method for encoding a tile-based immersive video

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120521