JP4181789B2 - 映像変換装置およびその方法 - Google Patents
映像変換装置およびその方法 Download PDFInfo
- Publication number
- JP4181789B2 JP4181789B2 JP2002093992A JP2002093992A JP4181789B2 JP 4181789 B2 JP4181789 B2 JP 4181789B2 JP 2002093992 A JP2002093992 A JP 2002093992A JP 2002093992 A JP2002093992 A JP 2002093992A JP 4181789 B2 JP4181789 B2 JP 4181789B2
- Authority
- JP
- Japan
- Prior art keywords
- video
- video data
- server
- camera
- client
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ネットワークを介して映像データを配信する映像配信技術に関するものである。
【0002】
【従来の技術】
撮影したライブ映像を,インターネットなどの通信インフラストラクチャを使って配信するとともに,撮影のためのカメラ設定やカメラ操作などを指示するシステムが本出願人によって提案されている。
【0003】
また、従来の携帯電話サービスよりも高い電波利用効率と通信帯域を備えることにより、電話通話しながらインターネットアクセスなどのデータ通信が可能なサービスが普及しつつある。このようなサービスでは、マルチアクセスと呼ばれる接続形態を用意しており、これを利用することで、ウェブブラウジングなどのデータ通信を行いながら、電話通話を可能にしている。
【0004】
さらに、携帯端末自体の処理能力も強化されており、これまでPC(パーソナルコンピュータ)などで行っていた作業を携帯電話端末で処理可能になっている。例えば、メイルやウェブブラウジングおよび映像送受信などの機能を実装している携帯電話端末が提供されている。また、3G−PP(Third Generation Partnership Project)では、第三世代携帯電話向けの映像伝送規格として、3G−324M(回線交換用)などを策定して、携帯電話向け映像伝送技術の標準化を図っている。
【0005】
【発明が解決しようとする課題】
しかしながら、インターネット上でサービスされている映像情報を携帯電話端末へサービスする場合、携帯電話サービスの狭い通信帯域や画面サイズなどの特性を把握して映像情報の変換ならびに送信制御を行わなければ、適切な映像サービスを携帯電話端末に提供することはできないという問題がある。
【0006】
本発明は、このような問題に鑑みなされたものであり、インターネット上に流通している映像情報を携帯電話向けに適切に提供するものである。
【0007】
【課題を解決するための手段】
上述した目的を達成するために、本願発明によれば、撮像装置から得られた映像データをリアルタイムに配信する映像変換装置において、前記撮像装置と接続されたサーバからフレーム内圧縮を用いて圧縮された第1の映像データ方式の映像データを受信する受信手段と、前記受信手段によって受信された前記第1の映像データ方式の映像データをフレーム内圧縮およびフレーム間圧縮を用いて圧縮された第2の映像データ方式の映像データに変換し、変換された映像データを端末に配信するための制御手段とを有し、前記制御手段は、前記受信手段によって受信される映像データが所定のフレームレート以下の場合、前記サーバに対して排他的に前記第1の映像データ方式の映像データを配信することを要求することを特徴とする。
【0008】
また、撮像装置から得られた映像データをリアルタイムに配信する映像変換方法において、前記撮像装置と接続されたサーバからフレーム内圧縮を用いて圧縮された第1の映像データ方式の映像データを受信する受信ステップと、受信された前記第1の映像データ方式の映像データをフレーム内圧縮およびフレーム間圧縮を用いて圧縮された第2の映像データ方式の映像データに変換する変換ステップと、変換された映像データを前記第2のネットワーク上の端末に配信する配信ステップと、前記受信ステップにおいて受信される映像データが所定のフレームレート以下の場合、前記サーバに対して排他的に前記第1の映像データ方式の映像データを配信することを要求する要求ステップとを有することを特徴とする。
【0009】
【発明の実施の形態】
以下、添付の図面に沿って本発明の実施の形態を説明する。ここで、予め以下に本実施の形態の説明において用いる用語を予め説明する。
【0010】
・MPEG−4コーデック
フレーム内で圧縮を行うとともに、動きベクトルを探索することによって画像内での物体の動く方向を予測し、そのベクトルだけを保存するなどして、データを圧縮する方式。言い換えると、フレーム自身の画像をオブジェクト(例えば、映像を構成する背景や人物、建物)に映像を分解しそれぞれのオブジェクトに応じてフレーム間で差分した信号を用いて圧縮する方式である。
【0011】
加えて、移動体通信網に接続する携帯情報端末から広帯域インターネットに接続するPCまでの映像送受信端末の広がりを受けて、数十kpbsから数十Mbpsの広いビットレートをカバーする高圧縮符号化効率、および、無線やインターネットなどの伝送路誤りに対する強い耐性などを備えた動画像圧縮符号化方式として、ISOで1999年にMPEG−4が制定された。このMPEG−4を用いた映像配信サービスは、個人情報端末PDAや携帯電話端末向けに提供されている。例えば、携帯電話端末間でMPEG−4を用いて相互に映像を送受信するサービスを提供している。
【0012】
・RTP/RTCP
ネットワーク上で、リアルタイムに情報(特に、映像や音声などを想定している)を受渡しするアプリケーションのための伝送用プロトコルとしてRTP(Real−time Transport Protocol)が、IETFによってRFC1889¨RTP:A Transport Protocol for Real−Time Applications¨として勧告されている。RTPでは、情報を受渡しする端末のタイムスタンプを使って、通信路の状態を観察し、適切な状態で情報を受渡しできるよう調整する仕組みが盛り込まれたプロトコルである。
【0013】
・RTSP(Real−time Streaming Protocol)IETFによって RFC2326¨Real Time Streaming Protocol(RTSP)¨として勧告されている。リアルタイムに情報を伝送するに際して、RTPがサーバからクライアントへ一方向にブロードキャスト(あるいはマルチキャスト)することを想定しているのに対して、RTSPでは、サーバとクライアント間でユニキャストかつ双方向の伝送を想定している。つまり、RTSPでは、クライアントがサーバと交信し、映像コンテンツなどを巻き戻したり、別のチャプタへスキップしたりすることなどが可能となっている。
【0014】
さらに、RTSPでは、伝送レイヤーでRTPなどを利用してリアルタイムに情報(特に、映像や音声などを想定している)を受渡しするアプリケーションのための制御用プロトコルとして利用されることもある。
【0015】
(第1の実施の形態)
ネットワーク上に配置されたカメラサーバから送られるライブ映像を、携帯電話端末向けに変換して中継する画像配信システムの形態について説明する。
【0016】
本実施の形態は、映像の変換と中継を行う映像変換サーバにおいて中継されたライブ映像を携帯電話端末向けの映像形式(コーデックや画面サイズなど)および通信方法(プロトコル)を変換する。そして、本実施の形態の映像変換サーバでは、その特徴として、(1)カメラ制御を伴うソース映像を用いる点、(2)連続するJPEGデータ(Motion JPEG方式:フレーム内で映像データを圧縮(各フレームを静止画として圧縮)する方式)をMPEG−4データに変換をする点が上げられる。
【0017】
図1は、本実施の形態における映像配信システムの一例を示した図である。
【0018】
図1において、カメラサーバ101,102は、接続されているカメラによって撮像された映像を動画像としてMotion JPEG方式でネットワーク上にリアルタイムに配信する。PC(パーソナルコンピュータ)200は、Motion JPEG方式で配信された画像を受信するためのクライアントである。
【0019】
映像変換サーバ400は、カメラサーバ101,102が提供する映像データを携帯電話端末向けに変換し、携帯電話端末に配信する。また、ゲートウェイ500はネットワーク網と前記ネットワーク網よりデータ通信速度の制限された携帯電話回線網(64kbps)とを仲介するゲートウェイであり、携帯電話端末601,602は映像変換サーバによって変換された映像を受信するクライアントである。なお、携帯電話端末601,602上のビューワプログラムは、典型的には、工場出荷時にインストールされるが、Javaプログラムなどが実行時(利用時)にダウンロードされて実行される形態であっても良い。
【0020】
カメラサーバ101,102と、クライアントとしてのPC200あるいは携帯電話端末601,602との間では、クライアントからネットワークを介してリクエストがカメラサーバへ送られ、これが受け入れられるとカメラサーバからクライアントへ映像データが配送され、クライアントでカメラ映像を見ることが可能となる。またクライアントからカメラ制御コマンドがカメラサーバへ送られ、カメラのズーム、パン、チルトなどの操作が可能となる。
【0021】
図1のネットワークは企業あるいは組織内で運用されるイントラネットである場合もあり、広く世界をつないでいるインターネットである場合もある。また、映像変換サーバは、インターネットイクスチェンジ (IX)やデータセンター(IDC:Internet Data Center)に配置され、通信負荷の軽減を図るよう設計される。
【0022】
図2は、映像変換サーバ400を動作させるハードウェア構成の一例を示したものである。より詳細には、プログラムによる各種の処理を実行するCPU201,主記憶装置となるRAM202、プログラムを外部の記録媒体からロードするためのFD装置203,二次記憶装置としてのHD装置204,ネットワークと接続するためのネットワークI/F205などからなる。また、図示しないが、操作性の向上のため、設定などを行うためのキーボードやマウスなどのコントローラなどの入力装置、あるいはディスプレイなどの表示装置を有してもよい。
【0023】
図3はカメラサーバ101,102のハードウェア構成の一例を示したものである。より詳細には、プログラムによる各種の処理を実行するCPU301,主記憶装置となるRAM302、プログラムを外部の記録媒体からロードするためのFD装置303,二次記憶装置としてのHD装置304,ネットワークと接続するためのネットワークI/F305,被写体を撮像するカメラ305,カメラからの映像を取得する映像キャプチャボード306,カメラ305に対して制御コマンドを出力するシリアルI/F307によって構成される。また、図示しないが、操作性の向上のため、設定などを行うためのキーボードやマウスなどのコントローラなどの入力装置、あるいはディスプレイなどの表示装置を有してもよい。
【0024】
図4はクライアントとして動作する携帯電話端末601,602のハードウェア構成の一例を示したものである。より詳細には、携帯電話網と接続するための無線通信I/F401、プログラムやデータを格納するためのRAM、フラッシュメモリなどからなる記憶装置402、プログラムによる各種の処理を実行するCPU403、携帯電話端末上に配置されたボタンやスイッチ類などの操作部材、ディスプレイ404、ディスプレイの表示を制御する表示コントローラ405、マイクロフォンやスピーカを含む音声入出力装置408によって構成される。
【0025】
図5は、本実施の形態の画像配信システムにおいて、携帯電話端末601,602、映像変換サーバ400、カメラサーバ101,102のソフトウェア的な処理の流れの概略を模式化した図である。本実施の形態の画像配信システムでは、携帯電話端末601,602によってカメラサーバ101,102に接続されているカメラを制御する処理と、カメラサーバ101,102から携帯電話端末601,602にカメラによって撮影された映像を配信する処理との処理からなる。
【0026】
カメラサーバ101,102内にはカメラの制御をつかさどるカメラ制御サーバ503と映像の配送をつかさどる映像サーバ508の2つのモジュールを含む。
【0027】
また、携帯電話端末601,602においてカメラ制御の指令やカメラの状態通知に対応するカメラ操作部501、受信したカメラ映像を表示する映像表示部504の2つのモジュールを含む。
【0028】
さらに、映像変換サーバ400には、カメラ制御を中継あるいはカメラ制御命令を発行するカメラ制御部502、ならびに、カメラサーバから映像を取得し、取得した映像の映像方式を携帯電話端末向けに変換し、さらに、それを携帯電話網向けに送出するモジュール(映像取得部507、映像変換部506、映像送信部505)がそれぞれ含まれる。
【0029】
図6は携帯電話端末601,602におけるクライアントとしての動作処理フローチャートである。
【0030】
ステップS601において、まず、映像変換サーバ400の識別子を入手する。これは、ユーザが直接操作部407のキー操作により識別子を入力するのでも良いし、メイルやウェブページに含まれる識別子を選択するのであっても良い。また、この場合の識別子は、典型的には、携帯電話網内で映像変換サーバ400を特定する電話番号であるが、映像変換サーバ400を識別するURLであっても良い。
【0031】
次に、ステップS602において、ゲートウェイ500を経由して、入手した識別子に基づいて映像変換サーバ400の映像送信部505にアクセスする。
【0032】
そして、さらにステップS603で、映像変換サーバ400が提供する映像データの属性情報を取得する。これは、例えばRTSPの¨DESCRIBE¨メッセージの送受信による。
【0033】
ステップS604において、映像変換サーバ400に映像送信の準備を要求し、映像受信に必要な情報を得る。これは、例えば、RTSPの¨SETUP¨メッセージの送受信による。ここで得られた受信情報とは、映像の伝送プロトコルや伝送レベルのパラメータを含む。
【0034】
また、ステップS604で、映像表示スレッドを生成する。映像表示スレッドは、得られた受信情報に基づいて映像データ受け取りポートを開くとともに映像変換サーバに映像送信開始を要求する(ステップS611)。そして、ステップS612において映像変換サーバ400から映像データ受け取りポートを介して映像データを受取り、ステップS613で映像データのデコードを行い、ステップS614で携帯電話端末のディスプレイ装置404に表示する。そして、映像変換サーバからの映像を連続的に表示するために、このステップS611〜ステップS614までの動作を供述するステップS607からステップS610の期間中繰り返す。
【0035】
ステップS605において、映像の表示が開始されるとともに、ゲートウェイ500を経由して、入手した識別子に基づき映像変換サーバ400のカメラ制御部502に接続する。そして、これ以降の動作処理はユーザからの操作要求を受け付け実行するメインループへ続く。
【0036】
まず、メインループの処理として、ステップS606においてユーザの命令を操作部407から受け取る。これがカメラ制御に関する場合にはステップS607で映像変換サーバ400のカメラ制御部502へコマンドを発し、映像データに関する場合にはステップS608で映像変換サーバ400の映像送信部505へコマンドを発する。また、ユーザの操作が携帯電話端末601,602自身の状態を変更する(例えば、バックライトを点灯する、あるいは、クライアントを終了する)ものの場合にはステップS609で内部状態を更新する。S609〜S611の処理が完了するとS608へ戻り、ユーザの操作入力を再び待つ。
【0037】
そして、S607において、ユーザ操作がクライアントとしての映像受信動作の終了の場合には、その動作に関連するプログラムを順次終了する。
【0038】
図7は、カメラサーバ101,102におけるカメラ制御サーバ503の動作処理フローチャートである。
【0039】
ステップS701において、カメラ制御サーバ503は、まず起動時に特定のファイル(OSによってはレジストリなどのシステムデータベース)からカメラ制御サーバ503の動作設定情報を読み出して、それに基づき動作を開始する。ここでクライアントであるPC200や映像変換サーバ400(携帯電話端末601,602)からのリクエストを受け付けるポートを開き、続いて、ステップS702に進み、クライアント(PC200や映像変換サーバ400)からのリクエスト受付状態に入る。
【0040】
リクエスト(接続リクエストもしくは操作コマンドリクエスト)が受信された場合、接続リクエストならばステップS703に進み接続の可否の判定を行う。否ならば接続拒否のエラーコードを返し、ステップS702に戻る。可ならば、ステップS704に進み、接続処理として、クライアントからのコマンドの受付処理を行う受付スレッドを生成し、接続を要求したクライアントの登録を行ってからステップS702に戻る。
【0041】
上記のごとく生成された操作受付スレッドにおいて、対応するクライアントからのコマンドの受付を行う(ステップS707)。コマンドが届いたならば、それを受け付け、カメラ操作を行う主プログラムへ受け渡す。主プログラムはステップS702でこれを受け、カメラ操作コマンドに対してはステップS705へ進み、そのコマンドに対応するカメラ制御(カメラのパン,チルト,ズームなど)を行って、その結果(操作が成功か失敗かを示すコードなど)をカメラ操作要求を受け付けた操作受付スレッドへ伝える。ステップS708に進み、このクライアント対応のスレッドは制御結果をカメラ操作コマンドを出力したクライアントへ送り返す。
【0042】
なお、操作受付スレッドは、ステップS704において登録されたクライアントごとに生成される。そして、主プログラムの動作処理において、ステップS706のカメラの制御により変化した状態(たとえば、パン・チルト・ズームの値)をすべての受付スレッドに伝え、接続しているすべてのクライアントに出力する(ステップS709)。クライアント対応の各操作受付スレッドは、クライアントから接続終了のコマンドを受けたならば、それを主プログラムへ通達し、さらにステップS710に進み、自身の受付スレッドを終了する。
【0043】
なお、操作コマンドの扱いにおいては、具体的な操作コマンドの発行の前に、カメラ操作権の割り当て要求を必要とすることも可能である。これは複数の人間がカメラの操作を要求するような状況での混乱を無くす。
【0044】
この場合、まず、クライアントからはカメラ操作権獲得の要求コマンドが発行され、これに対して、カメラ制御サーバ503は現在のカメラ制御権の割り当て状態から、拒絶・割り当て・順番待ちを選びクライアントへ返答する。カメラ制御権は前もって定められた特定の時間か、クライアントが接続を終了するまでの短いほうの時間で剥奪され、次の順番待ちの人に割り当てられる。順番待ち人数はやはり前もって定められた人数(たとえば5人)に制限され、それ以上のリクエストは拒絶される。クライアントは、カメラ制御権が獲得されてから剥奪されるまでの間だけ、操作コマンドを発行することができる。そして、カメラ制御サーバはカメラ制御権が付与されているクライアントからの操作コマンドのみを受け付ける。このような処理によってカメラ操作権の割り当て要求を行うことができる。
【0045】
次に、カメラサーバ101,102における映像サーバ508の動作処理を図8のフローチャートを用いて説明する。
【0046】
ステップS801において、まず起動時に特定のファイル(OSによってはレジストリなどのシステムデータベース)から映像サーバ508の動作設定情報を読み出して、それに基づき動作を開始する。ここで、映像の獲得・符号化・蓄積を行うスレッドを生成し(最初このスレッドは休止状態である)、PC200および映像変換サーバ400(携帯電話端末601,602)からのリクエストを受け付けるポートを開き、続いて、ステップS802のリクエスト受付状態に入る。
【0047】
リクエスト(接続リクエストもしくはコマンドリクエスト)が受け付けられたら、そのリクエストが接続リクエストであるかどうか判断し、接続リクエストならばステップS803で接続の可否の判定を行う。否ならば接続拒否のエラーコードを返し、ステップS802に戻る。可ならば、ステップS804で接続処理として、クライアントごとのセッションを識別するためのセッション識別子を生成し、クライアントからの映像に関するコマンドの受付処理を行う映像受付スレッドを生成し、クライアントの登録を行い、S802に戻る。なお、この際、リクエスト内容がライブ映像への接続要求であり、かつ、映像の獲得と符号化を行うスレッドが休止状態ならば、S802に戻る前に、それらのスレッドの動作開始を指示する。
【0048】
生成されたクライアント対応の映像受付スレッドにおいて、まずステップS807で対応するクライアントからのコマンドの受付を行う。コマンドが届いたならば、それを受け付け、映像処理を行う主プログラムへ受け渡す。
【0049】
主プログラムにおいて、ステップS802で映像処理を行うコマンドを受け、ステップS805へ進み、映像の獲得や符号化・送信などに関する設定の変更操作を行う。変更した結果(操作の成功か失敗を示すコード)をコマンド要求を受け付けたクライアント対応の映像受付スレッドへ伝える。クライアント対応のスレッドはステップS808で、この結果をクライアントへ送り返す。
【0050】
主プログラムにおいて、ステップS804からの映像の獲得と符号化を行うスレッドへの動作開始の指示により、ステップS806では前もって設定された時間間隔で映像データを映像キャプチャボード306から獲得し、これを圧縮データに変換する。さらにこの圧縮データを、ライブ映像に接続しているすべてのクライアント対応のスレッドに伝える。
【0051】
各クライアント対応のスレッドはステップS809で、クライアントからの次映像フレーム送信要求の有無を判定し、要求があるならば、圧縮データをクライアントへ配送する。このとき、配送される映像データはQVGAサイズ(320x240)のMotion JPEG圧縮方式である。ライブ映像に接続しているクライアント対応のスレッドが、クライアントからの次映像フレーム送信要求(これはクライアントでの圧縮映像データの受け取り完了に対して、送り返されるのが一般的である)を受け取った場合には映像フレーム送信要求のフラグを設定する。
【0052】
また、クライアントから接続終了のコマンドを受けたならば、それを主プログラムへ通達し、さらにステップS810で自身のスレッドを終了する。
【0053】
図9は、カメラサーバ101,102のいずれかのクライアントとして動作している場合の携帯電話端末601,602の操作部407の割り当てを例示した図である。
【0054】
クライアントが動作している際には、携帯電話端末の操作部407にはカメラに対するパン、チルト、ズーム、カメラ制御権の要求、逆光補正、接続終了などの機能が割り当てられる。
【0055】
この画面は、図6において示した携帯端末601,602の動作処理においてユーザが入力操作を行うためのUIであり、ステップS614で表示する映像データは、携帯電話端末のディスプレイ装置404に表示され、操作部407からの指示はS606で受け取られるとともに、S609〜S611でコマンドが生成されてこれらのコマンドが映像変換サーバ404送られることになる。
【0056】
図10はカメラサーバ101,102の用いる設定値、すなわち、ステップS701およびステップS801でカメラ制御サーバ503や映像サーバ508が起動するときに読み出される動作設定情報を特定のファイル(OSによってはレジストリなどのシステムデータベース)に設定するカメラサーバ設定プログラムの表示画面の一例を示した図であり、カメラ制御サーバ503、映像サーバ508、動画品質、接続制限事項などに関する各種のパラメータ(後述)を設定できるようになっている。OKボタンを押すと設定した値が特定のファイルあるいはレジストリに書き込まれ、キャンセルすると書き込まれずに終了する。
【0057】
図11は図10のカメラサーバの設定プログラムの動作を示す流れ図である。
【0058】
設定プログラムは起動時にまずステップS1101でカメラ制御サーバ503および映像サーバ508に関する設定情報を格納した特定のファイル(OSによってはレジストリなどのシステムデータベース)から設定情報を読み出し、内部データに設定する。以降、ユーザの操作入力を受け取り、実施するループを繰り返す。ステップ1102でユーザの操作入力を待ち、入力があればそれを受け取り、続いてステップ1103で入力された値が適正範囲内であるか否かを判定し、適正でなければステップ1104でエラーメッセージを出力して、値を戻して、ユーザの入力待ちS1102へ戻る。適正範囲内であるならば、内部データを更新して、S1102に戻る(ここで設定できる値には次の項目がある。カメラ制御の通信用のTCPポート番号、カメラと接続するCOM(シリアル)ポート、シャッタースピード、カメラ制御関連のログ情報の有無とログファイル名、映像関連の通信用のTCPポート番号、ログ情報の有無とログファイル名、映像をキャプチャする時間間隔を規定するフレームレートと圧縮の品質を決めるQ−Factor、圧縮の元データの画面サイズ、1つのクライアントクライアントの最大接続時間、カメラ制御に関する制御権の順番待ち人数、1つのクライアントの制御権保持占有時間、映像とカメラ制御に関する接続可能な最大クライアント数など)。
【0059】
ユーザからの入力がOKボタンの場合には、S1102からステップS1105に進み、更新された内部データをカメラ制御サーバおよび映像サーバに関する設定情報を格納する特定のファイルなどへ書き出し、ステップS1106で変更を反映するためにカメラサーバを再起動するかを尋ねるパネルを出す。再起動する場合にはステップS1107でカメラ制御サーバや映像サーバなどを再起動して、ステップS1108で設定プログラムを終了する。再起動しない場合にはS1106から直接S1108に進み、終了する。また、S1102でのユーザの入力がキャンセルボタンである場合には、S1102から直接S1108に進み、終了する。
【0060】
図12は、映像変換サーバ400における映像データの変換を模式化した図である。カメラサーバ101,102から送信された映像データ(Motion JPEG、QVGAサイズ320x240)は、映像変換サーバ400のカメラサーバ101,102向けの通信スタックを経由して受信され、JPEGデコーダにおいて直交変換処理が行われる。そして、直交変換処理された映像データは携帯電話向けに設定されたMPEG−4エンコーダにより、携帯電話向け映像データ(MPEG−4 simple−profile、QCIFサイズ176x144、64Kbps)に加工される。そして、携帯電話網向けの通信スタックを経由して、携帯電話クライアントへと送信される。
【0061】
図13は映像変換サーバ400の動作処理を示したフローチャートである。なお、本実施の形態では、クライアントの登録の管理を集約する構成とするために変換処理の必要のないPC200もクライアントとして映像サーバ508に接続できるものとする。
【0062】
ステップS1301において、映像変換サーバ400はまず起動時に特定のファイル(OSによってはレジストリなどのシステムデータベース)から映像変換サーバの動作設定情報を読み出して、それに基づき動作を開始する。ここで、クライアントである携帯電話端末601,602からのリクエストを受け付ける通信ポートを開き、ステップS1302に進みリクエスト受付状態に入る。
【0063】
ステップS1302aにおいてリクエスト(RTSPのメッセージなど)が受け付けられたら、ステップS1303に進み、リクエストしたクライアント(PC端末もしくは携帯電話端末)の接続の可否の判定を行う。否ならば接続拒否のエラーコードを返し、ステップS1302に戻る。可ならば、ステップS1304に進み、接続処理として、接続したクライアントとの映像データなどの情報の受渡しを行うクライアント対応スレッドを生成し、クライアントの登録を行い、ステップS1302に戻る。
【0064】
生成されたクライアント対応スレッドでは、ステップ1302aにおいて受け付けられたリクエストが接続リクエスト以外である場合にステップS1310で対応するクライアントからのリクエスト内容を解析する。
【0065】
リクエスト内容が、映像データの属性情報を要求するリクエスト(例えば、RTSPの¨DESCRIBE¨メッセージ)である場合には、ステップS1311に進み、リクエストに付随する映像データの名前や識別子などの情報を取り出し、それらに応じた映像データの属性情報を映像変換サーバ400内のデータベース部(HD装置204)から取り出し、それを適切なフォーマット(例えば、SDP:Session Description Protocol)に編集した上で、クライアントに返答する。
【0066】
また、リクエスト内容が、映像送信の準備を要求するリクエスト(例えば、RTSPの¨SETUP¨メッセージ)である場合には、ステップS1321に進み、まず、リクエストで要求された映像データのソース映像情報を映像変換サーバ400内のデータベースから取り出す。ソース映像情報とは、例えば、図14に示すようなライブ映像を提供するカメラサーバのネットワークアドレスとポート番号などの通信属性情報およびカメラ制御用のパラメータ情報などである。
【0067】
続いて、ステップS1322に進み、ソース映像情報に従って、映像取得部507を初期化する。具体的には、ソース映像を提供するカメラサーバ101または102に接続し、ソース映像取得を開始する。そして、ステップS1323に進み、映像変換パラメータを映像変換サーバ400内のデータベースから取り出す。映像変換パラメータは、変換用コーデックの選択やそのコーデックへのパラメータ、および、コーデック入力用/出力用のデータ形式などを記述している。
【0068】
続いて、ステップS1324に進み、映像変換パラメータに従って映像変換部506を初期化する。この映像変換部506は、JPEGデコーダおよびMPEG−4エンコーダなどから構成される。さらに、ステップS1325に進み、映像送信パラメータ情報を映像変換サーバ400内のデータベースから取り出す。映像送信パラメータ情報では、送信タイムアウトや送信ビットレート範囲などが記述されている。
【0069】
そして、ステップS1326に進み、映像送信パラメータ情報に従って携帯電話端末向け映像送信部505を設定し、映像送信部505から配信される映像情報をクライアントが受取るのに必要な情報(通信ポート情報など)をリクエストしたクライアント(携帯電話端末)に返答する。
【0070】
また、リクエスト内容が、映像送信開始を要求するリクエスト(例えば、RTSPの¨PLAY¨メッセージ)である場合には、ステップS1331に進み、映像変換ドライブスレッドを生成し、映像変換ドライブスレッド実行の可否をクライアントに返答する。この映像変換ドライブスレッドでは、先に準備されている映像取得部507、映像変換部506、映像送信部505を駆動するように動作する。
【0071】
もしも、映像取得部507、映像変換部506、映像送信部505の何れかの準備が整っていなかった場合には、映像変換ドライブスレッドを終了し、映像変換ドライブスレッド実行ができない理由をクライアントに返答する。
【0072】
準備が整った場合には、映像変換ドライブスレッドは、映像取得部507から映像変換部506へ、映像変換部506から映像送信部505へとそれぞれにおいて処理された映像データが受渡しされるように設定する。このような設定を行った後、カメラサーバ101または102から映像を受取り、映像変換部506で変換した結果を映像送信部505からクライアントへ送り出すことを繰り返す。なお、映像変換ドライブスレッドは、登録(接続)しているクライアントが映像変換部506において映像の変換処理が必要な携帯端末(601,602)であるかもしくはPC200であるかを判断しPC200である場合は、映像変換部506において変換処理をせずにMotion−JPEGの映像データ形式のままクライアント(PC200)に配信する。この処理によってPC200に対しては処理スピードを早くすることができる。
【0073】
また、リクエスト内容が、映像送信一時停止を要求するリクエスト(例えば、RTSPの¨PAUSE¨メッセージ)である場合には、ステップS1341に進み、映像変換ドライブスレッドを一時停止する。
【0074】
また、リクエスト内容が、映像送信中断を要求するリクエスト(例えば、RTSPの¨TEARDOWN¨メッセージ)である場合には、ステップS1351に進み、映像変換ドライブスレッドを終了する。そして、ステップS1352に進み、映像取得部507、映像変換部506、映像送信部505の後処理を行い、ステップS1353に進み、クライアントとの接続終了を主プログラムへ通知し、クライアント対応スレッドを終了する。
【0075】
次に、映像変換サーバ400の中で機能している映像取得部507、映像変換部506、映像送信部505について順次説明する。
【0076】
映像取得部507は、まず、初期化時に受取ったソース映像情報に従って、ライブ映像を取得する対象のカメラサーバに接続する。そして、映像変換ドライブスレッドの要求に応じて、カメラサーバから映像データを取得し、取得時のタイムスタンプを付与して映像データを映像変換部へ渡す。本実施の形態におけるカメラサーバは、映像データをMotion JPEG形式で提供するので、タイムスタンプが付与されるのは、個々のJPEGデータである。
【0077】
次に映像変換部506について説明する。まず、初期化時に受取ったコーデックへのパラメータ、および、コーデック入力用/出力用のデータ形式などをMPEG−4エンコーダに設定する。そして、映像変換ドライブスレッドの要求に応じて、映像取得部507から受取ったソース映像データを、コーデック入力用のデータ形式および画像サイズに整えてからMPEG−4エンコーダに入力し、その処理結果を、映像送信部505へ渡す。
【0078】
そして、映像変換部506は、JPEG形式のソース映像データを、予め、QCIFサイズかつYUV411形式に変換し、MPEG−4コーデックへ入力MPEG−4データ(I−frameまたはP−frame)を生成した後、映像送信部505へ受け渡す。この際、映像取得部507で付与されたタイムスタンプも併せてMPEG−4コーデックへ入力される。
【0079】
なお、本実施の形態における映像変換部506では、各フレームのソース映像に付与されたタイムスタンプを観察し、ソース映像の受信間隔が所定時間以上開いた場合には、MPEG−4 の動き補償メカニズムを抑制する(例えば、動きベクトル探索を禁止し、オブジェクトに分解せずにフレームそのものを差分する)ようMPEG−4エンコーダに指示する。これは、受信間隔が所定時間以上(例えば、1秒以上)開いた場合には、前のフレームとの相関が低くなるためである。なお、所定時間は、映像変換サーバ400の設定情報として設定される。
【0080】
さらに、この映像変換部400では、MPEG−4エンコーダの出力をモニターして、出力データが携帯電話端末側の仕様に照らして過剰に生成される場合には、入力するソース映像をフレーム単位で間引いて、映像ストリーム全体の情報量を削減するよう映像取得部507に指示する処理を行ってもよい。
【0081】
次に、映像送信部505に関して説明する。まず、初期化時に受取った送信パラメータ情報に従って、通信チャネルを準備し、クライアントが接続するのに必要な情報を提供する。そして、映像変換ドライブスレッドの要求に応じて、映像変換部506が生成した映像データをクライアント(携帯電話端末)宛に送信する。本実施の形態において、クライアントは処理能力の高くない携帯電話端末であり、かつ、映像データは、映像内容およびI/P−frameによってデータレートが変動するMPEG−4データであることを想定している。そのため、映像送信部では、クライアントへの送信の伝送状態をモニターし、それを映像変換部に通知することにより適切なフレームレートで送信を行うようにしている。
【0082】
以上の構成で、携帯電話端末(601,602)において、従来から設置されていたサーバ(101,102)から出力されるMotion−JPEG方式の映像データをMPEG方式の携帯電話向け映像データに変換するための映像変換サーバを設置することにより、携帯電話端末においてもカメラからのライブ映像を表示させることができる。そして、映像変換サーバの映像変換部の機能により、ネットワーク上に配置されたカメラサーバが生成するソース映像内容やネットワークの通信状況などの変動を吸収して、適切な映像ストリームを携帯電話端末に安定供給することが可能となる。
【0083】
なお、本実施の形態では、携帯電話網とネットワークとを結ぶゲートウェイとは独立に、ネットワーク上に映像変換サーバが実装される例について説明しているが、映像変換サーバが、ゲートウェイの一部として実装されても良い。また、映像変換サーバとゲートウェイとが、VPN(Virtual PrivateNetwork)なども含めて専用線で接続されるような接続形態も容易に想像できる。
【0084】
また、本実施の形態では、すべての携帯電話ユーザに同一の映像データを配信する形態について説明しているが、ユーザの契約状況や課金の有無、あるいは、携帯電話端末の性能などに応じて、例えば解像度の異なった映像変換パラメータを使用するように設計しても良い。
【0085】
(第1の実施の形態の変形例)
第1の実施の形態における映像変換サーバ400の一部の動作を以下のように変更してもよい。すなわち、映像変換サーバ400がカメラサーバ101,102に対して能動的に要求を行う。
【0086】
本実施の形態の変形例では、映像変換サーバ400の映像取得部507が以下のように動作する。
【0087】
映像取得部507は、まず、初期化時に受取ったソース映像情報に従って、ライブ映像を提供するカメラサーバ101または102に接続する。そして、映像変換ドライブスレッドの要求に応じて、カメラサーバから映像データを取得し、映像取得時のタイムスタンプを付与して映像データを映像変換部506へ出力する。この際、映像取得部507は、接続先のカメラサーバから取得する映像データの画像サイズやデータサイズ、および、付与したタイムスタンプなどを観察し、例えば、映像中継サーバに初期設定されたフレームレート以下のソース映像データしか受信できなかった場合、接続先のカメラサーバに対して、特権接続(PC200など他の端末に対する映像の配送を排除させた接続)による排他的な映像データの配信を要求する。
【0088】
以上説明したように、インターネット上に配置されたカメラサーバから送られるライブ映像を、携帯電話端末に対して優先して中継することができる。そして、映像変換サーバ400では、接続先のカメラサーバに対して、能動的なカメラ制御を行う事で、より良質なソース映像を取得する点に特徴がある。
【0089】
なお、上記の特権接続の要求を行うタイミングは、例えば、他のクライアントによって、カメラサーバに対するカメラのパン,チルト制御などの要求が行われている際には、映像のブラーなどから一時的にフレームレートの低下が発生し得るので、カメラ制御の前後では、特権接続要求を抑制するよう制御する事が考えられる。
【0090】
また、上記では、特権接続による排他的な映像配送について説明しているが、映像配信を、映像変換サーバ400以外の他のクライアントに対しても提供してもよい。これによって、映像変換サーバ400が、カメラサーバの全リソースを利用することはできなくなるものの、他のクライアントに対しても限定的ながら映像配信サービスを継続可能となる。
【0091】
また、上記では、カメラサーバの特権接続による排他的な映像データ配送による良質なソース映像を取得する他に、例えば、画質よりも映像の動きを優先したい場合には、カメラサーバが供給する映像の画面サイズを1レベル小さく(QVGAの320x240からsubQVGAの160x120へ)するようカメラサーバに要求してもよい。また、映像の動きよりも画質を優先したい場合には、カメラサーバがJPEGデータを作成する際の画像品質値(Q値)を上げるようカメラサーバに要求してもよい。
【0092】
本実施例では、カメラサーバのプリセット情報を利用していないが、カメラサーバに他クライアントへのサービス状況を問い合わせて、本実施例の映像変換サーバが唯一のクライアントである場合には、カメラサーバのホームポジションやプリセットを順次あるいは選択的に巡回する事も考えられる。
【0093】
本発明は、上述したように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを、インターネットなどのネットワークを介して映像変換装置に供給し、映像変換装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって達成できる。
【0094】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態のCPU50の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0095】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0096】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0097】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【0098】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、本発明の撮像装置に不可欠なモジュールを、記憶媒体に格納することになる。
【0099】
【発明の効果】
以上説明したように、本願発明によれば、携帯情報端末上のクライアントに表示される映像を適切な状態でユーザに提供可能となる。
【図面の簡単な説明】
【図1】映像配信システムの一例を示す図。
【図2】映像変換サーバ400を動作させるハードウェア構成の一例を示す図。
【図3】カメラサーバ101,102のハードウェア構成の一例を示す図。
【図4】携帯電話端末601,602のハードウェア構成の一例を示す図。
【図5】画像配信システムのソフトウェア的な処理の流れの概略を模式化した図。
【図6】携帯電話端末601,602の動作処理フローチャート。
【図7】カメラサーバ101,102におけるカメラ制御サーバ503の動作処理フローチャート。
【図8】カメラサーバ101,102における映像サーバ508の動作処理フローチャート。
【図9】携帯電話端末601,602の操作部407の割り当てを例示した図。
【図10】カメラサーバ設定プログラムの表示画面の一例を示した図。
【図11】カメラサーバの設定プログラムの動作を示す流れ図。
【図12】映像変換サーバ400における映像データの変換を模式化した図。
【図13】映像変換サーバ400の動作処理を示したフローチャート。
【図14】ソース映像情報の一例を示す図。
【符号の説明】
101,102 カメラサーバ
200 パーソナルコンピュータ
201 CPU
202 RAM
204 HD装置
400 映像変換サーバ
500 ゲートウエイ
601,602 携帯電話端末
Claims (8)
- 撮像装置から得られた映像データをリアルタイムに配信する映像変換装置において、
前記撮像装置と接続されたサーバからフレーム内圧縮を用いて圧縮された第1の映像データ方式の映像データを受信する受信手段と、
前記受信手段によって受信された前記第1の映像データ方式の映像データをフレーム内圧縮およびフレーム間圧縮を用いて圧縮された第2の映像データ方式の映像データに変換し、変換された映像データを端末に配信するための制御手段とを有し、
前記制御手段は、前記受信手段によって受信される映像データが所定のフレームレート以下の場合、前記サーバに対して排他的に前記第1の映像データ方式の映像データを配信することを要求することを特徴とする映像変換装置。 - 請求項1において、前記第2の映像データ形式は、1フレーム内の画像を複数のオブジェクトに分解し、それぞれのオブジェクトにおいてフレーム間の差分を取る分解処理を行うことにより圧縮処理を行うことを特徴とする映像変換装置。
- 請求項2において、前記制御手段は、1フレーム間隔が所定時間以上経過した場合、前記分解処理を禁止することを特徴とする映像変換装置。
- 撮像装置から得られた映像データをリアルタイムに配信する映像変換方法において、
前記撮像装置と接続されたサーバからフレーム内圧縮を用いて圧縮された第1の映像データ方式の映像データを受信する受信ステップと、
受信された前記第1の映像データ方式の映像データをフレーム内圧縮およびフレーム間圧縮を用いて圧縮された第2の映像データ方式の映像データに変換する変換ステップと、
変換された映像データを前記第2のネットワーク上の端末に配信する配信ステップと、
前記受信ステップにおいて受信される映像データが所定のフレームレート以下の場合、前記サーバに対して排他的に前記第1の映像データ方式の映像データを配信することを要求する要求ステップとを有することを特徴とする映像変換方法。 - 請求項4において、前記第2の映像データ形式は、1フレーム内の画像を複数のオブジェクトに分解し、それぞれのオブジェクトにおいてフレーム間の差分を取る分解処理を行うことにより圧縮処理を行うことを特徴とする映像変換方法。
- 請求項5において、1フレーム間隔が所定時間以上経過した場合、前記分解処理を禁止することを特徴とする映像変換方法。
- 請求項4ないし請求項6のいずれか1項に記載の映像変換方法の処理をコンピュータに実行させるための動作処理プログラム。
- 請求項7に記載の動作処理プログラムを記憶した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002093992A JP4181789B2 (ja) | 2002-03-29 | 2002-03-29 | 映像変換装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002093992A JP4181789B2 (ja) | 2002-03-29 | 2002-03-29 | 映像変換装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003299062A JP2003299062A (ja) | 2003-10-17 |
JP4181789B2 true JP4181789B2 (ja) | 2008-11-19 |
Family
ID=29386881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002093992A Expired - Fee Related JP4181789B2 (ja) | 2002-03-29 | 2002-03-29 | 映像変換装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4181789B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005062615A1 (ja) * | 2003-11-19 | 2005-07-07 | Nec Corporation | ネットワークシステムおよびデータ配信サービス提供方法 |
US8219702B2 (en) | 2004-04-30 | 2012-07-10 | Canon Kabushiki Kaisha | Video delivery apparatus and method |
JP2009055648A (ja) * | 2008-12-11 | 2009-03-12 | Hitachi Kokusai Electric Inc | 画像データ圧縮装置 |
KR102606288B1 (ko) * | 2019-03-15 | 2023-11-24 | 삼성전자주식회사 | 디스플레이 장치 및 그 동작 방법 |
-
2002
- 2002-03-29 JP JP2002093992A patent/JP4181789B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003299062A (ja) | 2003-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4546202B2 (ja) | 映像受信装置とその制御方法とプログラム及び記憶媒体 | |
JP4753204B2 (ja) | 符号化処理装置および符号化処理方法 | |
US20060192848A1 (en) | Video conferencing system | |
JP2012525076A (ja) | デジタルビデオ配信システムにおける即時マルチチャネルビデオコンテンツブラウジングのためのシステム、方法、およびコンピュータ可読媒体 | |
JP2005534207A (ja) | メッセージング・システムを備えるテレビ会議アプリケーション・ユーザー・インタフェース | |
US7239343B2 (en) | Image distribution method employing both a first network whose bandwidth is not assured and second network whose bandwidth is assured for control and image transmission | |
CN101754002B (zh) | 一种视频监控系统及其双码流监控前端的实现方法 | |
KR20190060849A (ko) | 미디어 오케스트레이션 활성화 | |
JP2006246008A (ja) | 映像トランスコードシステム、映像取得装置、トランスコーダ装置、及び、映像トランスコーディング方法 | |
JP4181789B2 (ja) | 映像変換装置およびその方法 | |
WO2016184332A1 (zh) | 一种视频采集方法及相关设备与系统 | |
US10542213B2 (en) | Imaging apparatus | |
WO2004015932A1 (ja) | 通信中継装置 | |
CN100536558C (zh) | 远程视频电路的控制方法和系统 | |
JP2015119335A (ja) | 動き変化量に応じて撮影動画像のフレームを間引く端末、システム、プログラム及び方法 | |
JP2004343175A (ja) | 映像中継装置 | |
KR100810265B1 (ko) | 휴대단말기의 영상 촬영 장치 및 방법 | |
JP2014086850A (ja) | 映像コンテンツ配信装置 | |
JP2004304651A (ja) | 情報処理装置、携帯情報端末、情報処理方法、プログラム及び記録媒体 | |
JP4261934B2 (ja) | 映像クリップ生成装置、映像クリップ生成方法、プログラム及び記憶媒体 | |
JP2006345095A (ja) | 撮像装置および情報処理方法 | |
JPH11196404A (ja) | 映像発信装置及び映像受信装置及びその制御方法及び記憶媒体 | |
JP4510519B2 (ja) | 映像通信装置、映像通信方法及びコンピュータプログラム | |
JP2020106932A (ja) | 通信装置、その制御方法、およびそのプログラム | |
JP7277173B2 (ja) | 動画配信機能を有する撮像装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080107 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080901 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130905 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |