JP7293982B2 - 処理装置、方法、及びプログラム - Google Patents

処理装置、方法、及びプログラム Download PDF

Info

Publication number
JP7293982B2
JP7293982B2 JP2019153490A JP2019153490A JP7293982B2 JP 7293982 B2 JP7293982 B2 JP 7293982B2 JP 2019153490 A JP2019153490 A JP 2019153490A JP 2019153490 A JP2019153490 A JP 2019153490A JP 7293982 B2 JP7293982 B2 JP 7293982B2
Authority
JP
Japan
Prior art keywords
message
image
information
imaging device
processing device
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.)
Active
Application number
JP2019153490A
Other languages
English (en)
Other versions
JP2021034898A (ja
Inventor
翔太 網野
正行 竹澤
正造 坂根
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2019153490A priority Critical patent/JP7293982B2/ja
Publication of JP2021034898A publication Critical patent/JP2021034898A/ja
Application granted granted Critical
Publication of JP7293982B2 publication Critical patent/JP7293982B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、処理装置、方法、及びプログラムに関する。
近年、カメラにより撮像された画像を、ネットワークを介してリアルタイムに配信する技術が開発されている。例えば、下記特許文献1には、配信元であるカメラにより撮像された画像を、配信元とは別の装置である変換サーバにより携帯電話に適した画像に変換した上で、携帯電話に配信する技術が開示されている。
特開2003-299062号公報
上記特許文献1に記載された技術によれば、配信元であるカメラのズーム、パン及びチルト等の制御を、配信先である携帯電話からネットワークを介して行うことができる。しかし、カメラ制御に使用される通信路、及び変換された画像の配信に使用される通信路の2つの通信路を、配信元と配信先との間に設けることが要されていた。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、カメラ制御と画像の配信とを1つの通信路において両立することが可能な仕組みを提供する。
上記課題を解決するために、本発明のある観点によれば、撮像装置、及び制御装置に接続される処理装置であって、前記撮像装置により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成する生成部と、メッセージのボディ部分に含まれる、前記撮像装置に対応する情報、前記制御装置に対応する情報、又は前記処理装置に対応する情報である装置情報を書き換える書き換え部と、前記制御装置から第1のメッセージを受信した場合、ボディ部分に含まれる前記装置情報が前記書き換え部により書き換えられた前記第1のメッセージを前記撮像装置に転送し、前記制御装置から第2のメッセージを受信した場合、前記生成部により生成された前記第2の画像を前記制御装置に送信する転送制御部と、を備える処理装置が提供される。
前記書き換え部は、前記第1のメッセージのボディ部分に含まれる前記処理装置の前記装置情報を前記撮像装置の前記装置情報に書き換えてもよい。
前記転送制御部は、前記撮像装置から前記第1のメッセージに対する応答である第3のメッセージが受信された場合、ボディ部分に含まれる前記装置情報が前記書き換え部により書き換えられた前記第3のメッセージを前記制御装置に転送してもよい。
前記書き換え部は、前記第3のメッセージのボディ部分に含まれる前記撮像装置の前記装置情報を前記処理装置の前記装置情報に書き換えてもよい。
前記転送制御部は、前記制御装置から受信した前記メッセージのヘッダ部分に基づいて、受信した前記メッセージが前記第1のメッセージであるか前記第2のメッセージであるかを識別してもよい。
前記メッセージは、複数のパケットに分割して受信され、前記転送制御部は、受信した前記パケットが前記第1のメッセージを構成する場合、前記第1のメッセージを構成する複数の前記パケットの全てをバッファリングし、受信した前記パケットが前記第2のメッセージを構成する場合、受信した前記パケットが前記第2のメッセージを構成することが識別された時点でバッファリングを停止してもよい。
前記第1のメッセージは、前記撮像装置が前記第1の画像を撮像する際に適用する撮像パラメータを制御するためのメッセージであってもよい。
前記第2のメッセージは、前記第2の画像を送信するよう要求するメッセージであってもよい。
前記装置情報は、装置のアドレス及びポート番号の少なくともいずれかを含んでいてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、撮像装置、及び制御装置に接続される処理装置を制御する方法であって、前記撮像装置により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成することと、メッセージのボディ部分に含まれる、前記撮像装置に対応する情報、前記制御装置に対応する情報、又は前記処理装置に対応する情報である装置情報を書き換えることと、前記制御装置から第1のメッセージを受信した場合、ボディ部分に含まれる前記装置情報が書き換えられた前記第1のメッセージを前記撮像装置に転送し、前記制御装置から第2のメッセージを受信した場合、前記第2の画像を前記制御装置に送信することと、を含む方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、撮像装置、及び制御装置に接続される処理装置を制御するコンピュータを、前記撮像装置により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成する生成部と、メッセージのボディ部分に含まれる、前記撮像装置に対応する情報、前記制御装置に対応する情報、又は前記処理装置に対応する情報である装置情報を書き換える書き換え部と、前記制御装置から第1のメッセージを受信した場合、ボディ部分に含まれる前記装置情報が前記書き換え部により書き換えられた前記第1のメッセージを前記撮像装置に転送し、前記制御装置から第2のメッセージを受信した場合、前記生成部により生成された前記第2の画像を前記制御装置に送信する転送制御部と、として機能させるためのプログラムが提供される。
以上説明したように本発明によれば、カメラ制御と画像の配信とを1つの通信路において両立することが可能な仕組みが提供される。
本実施形態に係る配信システムの構成の一例を示す図である。 本実施形態に係る配信システムにおいて送受信されるメッセージの流れを説明するための図である。 本実施形態に係る配信システムにより実行されるカメラ制御処理の流れの一例を示すシーケンス図である。 本実施形態に係る配信システムにより実行される画像再圧縮処理の流れの一例を示すシーケンス図である。 本実施形態に係る配信システムにより実行される画像配信処理の流れの一例を示すシーケンス図である。 本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<1.技術的課題>
近年、撮像装置(例えば、Webカメラ)により撮像された画像を、ネットワークを介してリアルタイムに配信する技術が開発されている。なお、本明細書において、画像は、静止画像又は動画像であり、さらに音声を含んでいてもよい。Webカメラの画像圧縮率は、Webカメラの性能に依存する。そのため、高圧縮な画像圧縮方式(即ち、コーデック)を採用していても、高圧縮な画像を出力することが困難なWebカメラが存在することとなる。そのようなWebカメラから出力された画像をそのまま配信してしまうと、帯域を圧迫したり、配信を受ける側の記憶容量を圧迫したりするおそれがある。
上記の事情から、Webカメラから出力された画像を再圧縮する、いわゆるトランスコーダと呼ばれる装置が利用される場合が多い。トランスコーダは、入力された画像を再圧縮することで、高圧縮な画像を生成する装置である。典型的なトランスコーダは、画像配信の際に、RTSP(Real Time Streaming Protocol)及びRTP(Real-time Transport Protocol)を利用する。
Webカメラは、画像を配信するよう要求されると、撮像した画像を配信する。また、Webカメラは、ズーム、パン、及びチルト等のカメラ制御を行う要求されると、要求に応じたカメラ制御を行う。Webカメラは、画像配信とカメラ制御とを、1つのTCP(Transmission Control Protocol)ポートで両立することができる。しかしながら、トランスコーダが利用される場合、カメラ制御に関してはWebカメラと配信先とが接続される一方で、画像配信に関してはトランスコーダと配信先とが接続されることとなる。そのため、配信先からみると、カメラ制御用のTCPポートと画像配信用のTCPポートとが併存することとなる。即ち、配信先からみると、カメラ制御用のWebカメラと画像配信用のWebカメラとの2つのWebカメラが併存することとなる。従って、配信先は、これらを1つのWebカメラとして認識することが困難であった。
そこで、本実施形態では、カメラ制御と画像配信とを、1つのTCPポートにおいて両立することが可能な仕組みを提供する。以下、本実施形態について詳細に説明する。
<2.構成例>
図1は、本実施形態に係る配信システム1の構成の一例を示す図である。図1に示すように、本実施形態に係る配信システム1は、撮像装置100、制御装置200、及び処理装置300を含む。
(1)撮像装置100
撮像装置100は、画像を撮像する装置である。ここでの画像とは、静止画又は動画であり、さらに音声を含んでいてもよい。撮像装置100は、外部から制御可能な撮像パラメータに従って、画像を撮像する。撮像パラメータは、例えば、ズーム率、パン角及びチルト角等を含む。
撮像装置100は、典型的には、撮像した画像を所定のコーデックに従って圧縮した上で送信する。撮像装置100は、処理装置300に接続されており、撮像した画像を圧縮した上で処理装置300に送信する。撮像装置100は、例えば、Webカメラとして実現される。
(2)制御装置200
制御装置200は、配信システム1による動作を制御する装置である。詳しくは、制御装置200は、処理装置300に接続されており、各種メッセージを処理装置300に送信することで、メッセージに応じた処理を撮像装置100及び処理装置300に実行させる。
そのようなメッセージの一例として、カメラ制御要求(第1のメッセージに相当)が挙げられる。カメラ制御要求とは、撮像装置100が画像(第1の画像に相当)を撮像する際に適用する撮像パラメータを制御するためのメッセージである。カメラ制御要求には、撮像装置100が設定すべき撮像パラメータを示す情報が含まれる。制御装置200は、カメラ制御要求を送信することで、所望の撮像パラメータを撮像装置100に設定することができる。カメラ制御要求は、例えばHTTP(Hypertext Transfer Protocol)メッセージである。カメラ制御要求は、1つのパケット(例えば、IPパケット)に収められて、又は複数のパケットに分割されて、送信される。
そのようなメッセージの他の一例として、画像要求(第2のメッセージに相当)が挙げられる。画像要求とは、画像を送信するよう要求するメッセージである。制御装置200は、画像要求を送信することで、画像要求に対する応答として、撮像装置100により撮像され、処理装置300により再圧縮された画像を受信することができる。画像要求は、例えばHTTPメッセージである。画像要求は、典型的には1つのパケット(例えば、IPパケット)に収められて送信されるが、複数のパケットに分割されて送信されてもよい。
制御装置200は、画像要求に対する応答として受信した画像を記録する録画機能、及び記録した画像を再生する再生機能の少なくともいずれかを有していてもよい。制御装置200は、例えば、監視カメラシステムの監視卓、スマートフォン、又はPC(Personal Computer)等として構成される。
(3)処理装置300
処理装置300は、配信システム1における各種処理を実行する装置である。処理装置300は、撮像装置100及び制御装置200に接続され、撮像装置100と制御装置200との間のメッセージのやり取りを仲介する、いわゆるGW(Gate Way)として機能する。撮像装置100と制御装置200とは、GWである処理装置300を境界としてそれぞれ別のネットワークに属していてもよい。さらに、処理装置300は、撮像装置100により撮像された画像を圧縮する、トランスコーダとして機能する。図1に示すように、処理装置300は、書き換え部310、生成部320、及び転送制御部330を含む。
書き換え部310は、メッセージのボディ部分に含まれる装置情報を書き換える機能を有する。ここでのメッセージとは、HTTPメッセージであり、ボディ部分とはHTTPボディである。装置情報とは、撮像装置100に対応する情報、制御装置200に対応する情報、又は処理装置300に対応する情報である。例えば、装置情報は、装置のアドレス及びポート番号の少なくともいずれかを含む。ここでのアドレスとは例えばIPアドレスであり、ポート番号とは例えばTCPポート番号である。書き換え部310は、メッセージのボディ部分に含まれるある装置の装置情報を、他の装置の装置情報に書き換える。なお、書き換えは、HTTPメッセージ単位での全文検索を用いた置換により行われる。
ここで、撮像装置100は、処理装置300に接続され、処理装置300に対し画像を送信するので、撮像装置100自身を配信元として認識し、処理装置300を配信先として認識している。一方で、制御装置200は、処理装置300に接続され、処理装置300から画像を受信するので、処理装置300を配信元として認識し、制御装置200自身を配信先として認識している。このように、撮像装置100と制御装置200との間には、配信元及び配信先についての認識に相違がある。そこで、書き換え部310は、処理装置300を中継して撮像装置100と処理装置300との間で送受信されるメッセージに対して、配信元及び配信先についての認識を整合させるための装置情報の書き換えを行う。これにより、認識の相違に基づくエラーの発生を防止することができる。この点については、後に詳しく説明する。
生成部320は、撮像装置100により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成する機能を有する。所定の変換処理とは、トランスコーディングであり、例えば、撮像装置100により撮像され圧縮された第1の画像に対し、第1の画像よりも高い圧縮率で圧縮する処理である。生成部320は、再圧縮後の画像を転送制御部330に出力する。
転送制御部330は、他の装置から受信したメッセージを適切な転送先に転送する機能を有する。転送制御部330は、メッセージの送受信のために使用される、宛先及び送信元に関する情報の書き換えを行う。具体的には、転送制御部330は、パケットのヘッダ部分及びメッセージのヘッダ部分(即ち、HTTPヘッダ)に含まれる装置情報の書き換えを行う。一例として、転送制御部330は、制御装置200から送信され撮像装置100に転送されるメッセージについては、ヘッダ部分における宛先の装置情報を処理装置300の装置情報から撮像装置100の装置情報に書き換える。さらに、転送制御部330は、ヘッダ部分における送信元の装置情報として、処理装置300の装置情報を追加する。他の一例として、転送制御部330は、撮像装置100から送信され制御装置200に転送されるメッセージについては、ヘッダ部分における宛先の装置情報を処理装置300の装置情報から制御装置200の装置情報に書き換える。さらに、転送制御部330は、ヘッダ部分における送信元の装置情報として、処理装置300の装置情報を追加する。以上の書き換えにより、適切な宛先へ転送すること、及び転送先からの返信を受信することが可能となる。転送制御部330は、一例として、リバースプロキシとして実現される。
<3.動作>
以下、図2を参照しながら、配信システム1の動作について詳しく説明する。図2は、本実施形態に係る配信システム1において送受信されるメッセージの流れを説明するための図である。図2の上段に示すように、制御装置200は、カメラ制御要求を処理装置300に送信し、処理装置300は受信したカメラ制御要求に対し書き換え部310による書き換えを行った上で撮像装置100に転送する。一方で、撮像装置100は、カメラ制御要求に対する応答であるカメラ制御応答(第3のメッセージに相当)を処理装置300に送信し、処理装置300は受信したカメラ制御応答に対し書き換え部310による書き換えを行った上で制御装置200に転送する。また、図2の下段に示すように、処理装置300は、画像要求を撮像装置100に送信し、撮像装置100は、かかる画像要求に対する応答として第1の画像を処理装置300に送信する。一方で、制御装置200は、画像要求を処理装置300に送信し、処理装置300は、かかる画像要求に対する応答として、生成部320により生成された第2の画像を制御装置200に送信する。
-メッセージの識別
図2に示すように、処理装置300は、カメラ制御要求、カメラ制御応答、画像要求、及び画像を受信し得る。そこで、転送制御部330は、受信したメッセージがどのメッセージであるかを識別し、適切な転送先に転送する。転送制御部330は、受信したメッセージのヘッダ部分に基づいて、受信したメッセージがどのメッセージであるかを識別する。一例として、カメラ制御要求及び画像要求についての識別方法について説明する。
画像要求に含まれるHTTPヘッダに含まれる情報の一例を以下に示す。
GET /XXX/video-stream/YY/ HTTP/1.0
User-Agent: Player-1.00
x-sessioncookie: 21F48FCB730218
Accept: application/x-rtsp-tunneled
画像要求に含まれるHTTPヘッダに含まれる情報の他の一例を以下に示す。
POST /XXX/video-stream/YY/ HTTP/1.0
User-Agent: Player -1.00
x-sessioncookie: 21F48FCB730218
Accept: application/x-rtsp-tunneled
Content-Length: 32767
カメラ制御に含まれるHTTPヘッダに含まれる情報の一例を以下に示す。
GET /XXX/camera-control/YY/set HTTP/1.0
Accept: */*
User-Agent: CtrlEntity-1.0
Host:192.168.1.10
上記の例によれば、転送制御部330は、Accept欄の内容等を参照することで、制御装置200から受信したメッセージがカメラ制御要求であるか画像要求であるかを識別することができる。転送制御部330は、Accept欄の内容と共に、又は代えて、GET/POSTのリクエストURI(Uniform Resource Identifier)、及びUse-Agent欄の内容の少なくともいずれかを参照することで、メッセージの識別を行ってもよい。
-パケットのバッファリング
メッセージは、複数のパケットに分割して受信される場合がある。そこで、転送制御部330は、受信したメッセージの種別を識別できるまでバッファリングを行う。詳しくは、転送制御部330は、メッセージのヘッダ部分が揃うまで、パケットのバッファリングを行い、メッセージのヘッダ部分に基づいてメッセージの種別を識別する。その後、識別したメッセージの種別に応じて異なるバッファリングを行う。
受信したパケットがカメラ制御要求を構成する場合、転送制御部330は、カメラ制御要求を構成する複数のパケットの全てをバッファリングする。カメラ制御要求は、撮像装置100に転送されるので、カメラ制御要求のボディ部分には書き換え部310により書き換えるべき情報が含まれ得る。そこで、転送制御部330は、カメラ制御要求を構成する複数のパケットの全てが揃うまでバッファリングし、HTTPメッセージ単位でカメラ制御要求を書き換え部310に転送する。これにより、書き換え部310は、パケット単位では検索困難だったボディ部分の装置情報を、全文検索により探し当て、書き換えることが可能となる。
受信したパケットがカメラ制御応答を構成する場合も、上記と同様に、転送制御部330は、カメラ制御応答を構成する複数のパケットの全てをバッファリングする。カメラ制御応答は、処理装置300に転送されるので、カメラ制御応答のボディ部分には書き換え部310により書き換えるべき情報が含まれ得る。そこで、転送制御部330は、カメラ制御応答を構成する複数のパケットの全てが揃うまでバッファリングし、HTTPメッセージ単位でカメラ制御応答を書き換え部310に転送する。これにより、書き換え部310は、パケット単位では検索困難だったボディ部分の装置情報を、全文検索により探し当て、書き換えることが可能となる。
受信したパケットが画像要求を構成する場合、転送制御部330は、受信したパケットが画像要求を構成することが識別された時点でバッファリングを停止する。即ち、転送制御部330は、ヘッダ部分を構成するパケットが揃うまでバッファリングを行い、その後はバッファリングしない。画像要求は、撮像装置100に転送されないので、画像要求のボディ部分には書き換え部310により書き換えるべき情報が含まれない。そこで、転送制御部330は、受信したパケットが画像要求を構成することが識別された場合、バッファリング済みのパケットを生成部320に転送し、それ以降に受信されるパケットをバッファリングせずに生成部320に転送する。これにより、バッファリングによる処理遅延を抑制することができるので、画像要求に対する応答性を向上させることができる。
-カメラ制御要求に関する処理
転送制御部330は、制御装置200からカメラ制御要求を受信した場合、ボディ部分に含まれる装置情報が書き換え部310により書き換えられたカメラ制御要求を撮像装置100に転送する。詳しくは、転送制御部330は、制御装置200からカメラ制御要求を受信すると、上記バッファリングを行ってHTTPメッセージ単位でカメラ制御要求を書き換え部310に転送する。次いで、転送制御部330は、書き換え部310から出力された書き換え後のカメラ制御要求をパケット単位に分割して撮像装置100に転送する。
書き換え部310は、カメラ制御要求のボディ部分に含まれる処理装置300の装置情報を撮像装置100の装置情報に書き換える。制御装置200は、処理装置300を配信元として認識している。従って、制御装置200は、配信元の装置情報として処理装置300の装置情報を含むカメラ制御要求を送信し得る。かかるカメラ制御要求は、上記書き換えにより、配信元の装置情報として撮像装置100の装置情報を含むものに書き換えられる。撮像装置100は、撮像装置100を配信元として認識しているので、書き換え後のカメラ制御要求は、かかる認識と齟齬がないものである。これにより、撮像装置100と制御装置200との間での配信元の認識の相違に基づくエラーの発生を防止することができる。
さらに、書き換え部310は、カメラ制御要求のボディ部分に含まれる制御装置200の装置情報を処理装置300の装置情報に書き換えてもよい。制御装置200は、制御装置200を配信先として認識している。従って、制御装置200は、配信先の装置情報として制御装置200の装置情報を含むカメラ制御要求を送信し得る。かかるカメラ制御要求は、上記書き換えにより、配信先の装置情報として処理装置300の装置情報を含むものに書き換えられる。撮像装置100は、処理装置300を配信先として認識しているので、書き換え後のカメラ制御要求は、かかる認識と齟齬がないものである。これにより、撮像装置100と制御装置200との間での配信先の認識の相違に基づくエラーの発生を防止することができる。
撮像装置100は、カメラ制御要求を受信すると、カメラ制御要求に従ったカメラ制御を実行する。即ち、撮像装置100は、カメラ制御要求において設定するよう要求された撮像パラメータを設定する。そして、撮像装置100は、カメラ制御要求に従った処理の結果を示す情報を含むカメラ制御応答を、処理装置300に送信する。カメラ制御応答は、カメラ制御要求の受信に成功したこと、カメラ制御要求に従った撮像パラメータの設定成否、及び設定後の撮像パラメータを示す情報等を含み得る。
-カメラ制御応答に関する処理
転送制御部330は、撮像装置100からカメラ制御応答が受信された場合、ボディ部分に含まれる装置情報が書き換え部310により書き換えられたカメラ制御応答を制御装置200に転送する。詳しくは、転送制御部330は、撮像装置100からカメラ制御応答を受信すると、上記バッファリングを行ってHTTPメッセージ単位でカメラ制御応答を書き換え部310に送信する。次いで、転送制御部330は、書き換え部310から出力された書き換え後のカメラ制御応答をパケット単位に分割して制御装置200に送信する。
書き換え部310は、カメラ制御応答のボディ部分に含まれる装置情報のうち、撮像装置100の装置情報を処理装置300の装置情報に書き換える。撮像装置100は、撮像装置100を配信元として認識している。従って、撮像装置100は、配信元の装置情報として撮像装置100の装置情報を含むカメラ制御応答を送信し得る。かかるカメラ制御応答は、上記書き換えにより、配信元の装置情報として処理装置300の装置情報を含むものに書き換えられる。制御装置200は、処理装置300を配信元として認識しているので、書き換え後のカメラ制御応答は、かかる認識と齟齬がないものである。これにより、撮像装置100と制御装置200との間での配信元の認識の相違に基づくエラーの発生を防止することができる。
さらに、書き換え部310は、カメラ制御応答のボディ部分に含まれる処理装置300の装置情報を制御装置200の装置情報に書き換えてもよい。撮像装置100は、処理装置300を配信先として認識している。従って、撮像装置100は、配信先の装置情報として処理装置300の装置情報を含むカメラ制御応答を送信し得る。かかるカメラ制御応答は、上記書き換えにより、配信先の装置情報として制御装置200の装置情報を含むものに書き換えられる。制御装置200は、制御装置200を配信先として認識しているので、書き換え後のカメラ制御応答は、かかる認識と齟齬がないものである。これにより、撮像装置100と制御装置200との間での配信先の認識の相違に基づくエラーの発生を防止することができる。
-画像要求に関する処理
転送制御部330は、制御装置200から画像要求を受信した場合、生成部320により生成された第2の画像を制御装置200に送信する。詳しくは、転送制御部330は、制御装置200から画像要求を受信すると、受信した画像要求を生成部320に転送する。かかる画像要求は、第2の画像を送信するよう要求するメッセージである。次いで、転送制御部330は、生成部320から出力された第2の画像を制御装置200に送信する。
生成部320は、予め、第1の画像を送信するよう要求する画像要求を撮像装置100に送信し、撮像装置100から受信した第1の画像から第2の画像を生成しておく。そして、生成部320は、第2の画像を送信するよう要求する画像要求が転送制御部330から入力された場合、生成済みの第2の画像を転送制御部330に出力する。
このように、生成部320は、あらかじめ第2の画像を生成しているので、画像要求が入力されるとすぐに第2の画像を出力することができる。これにより、画像要求に対する応答性を向上させることができる。
<4.処理の流れ>
(1)カメラ制御処理
図3は、本実施形態に係る配信システム1により実行されるカメラ制御処理の流れの一例を示すシーケンス図である。図3に示すように、本シーケンスには、撮像装置100、制御装置200、及び処理装置300が関与する。
まず、制御装置200は、カメラ制御要求を含むパケットを処理装置300に送信する(ステップS102)。次に、転送制御部330は、カメラ制御要求を構成する全てのパケットが揃うまで、即ちHTTPメッセージ単位になるまで、パケットをバッファリングする(ステップS104)。次いで、書き換え部310は、HTTPメッセージ単位のカメラ制御要求に含まれる装置情報を全文検索し、処理装置300の装置情報を撮像装置100の装置情報に書き換える(ステップS106)。次に、転送制御部330は、書き換え後のカメラ制御要求を含むパケットを撮像装置100に送信する(ステップS108)。そして、撮像装置100は、受信したカメラ制御要求に基づくカメラ制御を実行する(ステップ110)。
その後、撮像装置100は、カメラ制御要求に対する応答であるカメラ制御応答を含むパケットを処理装置300に送信する(ステップS112)。次に、転送制御部330は、カメラ制御応答を構成する全てのパケットが揃うまで、即ちHTTPメッセージ単位になるまで、パケットをバッファリングする(ステップS114)。次いで、書き換え部310は、HTTPメッセージ単位のカメラ制御応答に含まれる装置情報を全文検索し、撮像装置100の装置情報を処理装置300の装置情報に書き換える(ステップS116)。次に、転送制御部330は、書き換え後のカメラ制御応答を含むパケットを制御装置200に送信する(ステップS118)。
(2)画像再圧縮処理
図4は、本実施形態に係る配信システム1により実行される画像再圧縮処理の流れの一例を示すシーケンス図である。図4に示すように、本シーケンスには、撮像装置100及び処理装置300が関与する。
まず、処理装置300は、第1の画像を送信するよう要求する画像要求を含むパケットを撮像装置100に送信する(ステップS202)。次に、撮像装置100は、受信した画像要求に対する応答として、撮像及び圧縮した第1の画像を含むパケットを処理装置300に送信する(ステップS204)。そして、処理装置300は、受信した第1の画像を再圧縮することで、第2の画像を生成する(ステップS206)。
(3)画像配信処理
図5は、本実施形態に係る配信システム1により実行される画像配信処理の流れの一例を示すシーケンス図である。図5に示すように、本シーケンスには、制御装置200及び処理装置300が関与する。
まず、制御装置200は、第2の画像を送信するよう要求する画像要求を含むパケットを処理装置300に送信する(ステップS302)。処理装置300は、受信した画像要求に対する応答として、第2の画像を含むパケットを制御装置200に送信する(ステップS304)。
<5.ハードウェア構成例>
続いて、図6を参照して、本実施形態に係る情報処理装置のハードウェア構成について説明する。図6は、本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図6に示す情報処理装置900は、例えば、図1に示した処理装置300を形成し得る。本実施形態に係る処理装置300による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
図6に示すように、情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
CPU901は、演算処理装置及び制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラム、及び演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラム、及びその実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。CPU901は、例えば、図1に示す書き換え部310、生成部320、及び転送制御部330を形成し得る。
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905及び外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、利用者が情報を入力するための入力手段と、利用者による入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作する利用者は、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置及びスピーカー等の音声出力装置を含む。
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置及び記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラム、及び各種データを格納する。ストレージ装置910は、例えば、図1に示す転送制御部330によるパケットバッファリングの際のバッファを形成する。また、ストレージ装置910は、例えば、図1に示す生成部320が生成した第2の画像を保存する。
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。通信装置911は、例えば、図1に示す撮像装置100及び制御装置200との間で通信を行う。
以上、本実施形態に係る情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
なお、上述のような本実施形態に係る情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
<6.まとめ>
以上、図1~図6を参照しながら、本発明の一実施形態について詳細に説明した。上記説明したように、本実施形態に係る処理装置300は、制御装置200からカメラ制御要求を受信すると、カメラ制御要求のボディ部分に含まれる装置情報を書き換えて撮像装置100に送信する。これにより、制御装置200が所望するカメラ制御を撮像装置100に実行させることができる。また、本実施形態に係る処理装置300は、制御装置200から画像要求を受信した場合、撮像装置100による撮像された画像に対し所定の変換処理を適用した第2の画像を制御装置200に送信する。これにより、制御装置200は、撮像装置100単体では配信困難であった高圧縮の画像の配信を受けることができる。
このように、処理装置300は、制御装置200からのカメラ制御要求及び画像要求を一元的に受信し、撮像装置100の制御及び高圧縮の画像の制御装置200への配信を行う。従って、配信先の制御装置200からみると、カメラ制御と画像配信とを1つのTCPポートで、即ち1つの通信路で両立させることができる。これにより、制御装置200は、処理装置300を1つのWebカメラとして認識することが可能となる。同様に、配信元の撮像装置100からみると、カメラ制御と画像配信とを1つのTCPポートで、即ち1つの通信路で両立させることができる。これにより、撮像装置100は、処理装置300を1つの配信先として認識することが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、撮像装置100と制御装置200とは、処理装置300を境界としてそれぞれ別のネットワークに属していてもよい旨を説明したが、本発明はかかる例に限定されない。撮像装置100、制御装置200、及び処理装置300は、同一のネットワークに属していてもよい。
例えば、上記実施形態では、撮像装置100及び制御装置200がそれぞれ1台である例を説明したが、本発明はかかる例に限定されない。1台の処理装置300で、複数台の撮像装置100、及び複数台の制御装置200を収容可能である。詳しくは、処理装置300は、n台の制御装置200とm台の撮像装置100とのn対m接続を中継することが可能である。
例えば、上記実施形態では、処理装置300に、書き換え部310、生成部320、及び転送制御部330が搭載される例を説明したが、本発明はかかる例に限定されない。例えば、書き換え部310、生成部320、及び転送制御部330の少なくとも一部が別の装置に分散して搭載されてもよい。
例えば、上記実施形態では、メッセージがHTTPメッセージである例を説明したが、本発明はかかる例に限定されない。メッセージは、FTP(File Transfer Protocol)及びIMAP(Internet Message Access Protocol)等の他の任意のプロトコルに準拠していてもよい。
例えば、上記実施形態では、書き換え部310による書き換えを経て撮像装置100に転送されるメッセージとしてカメラ制御要求を挙げたが、本発明はかかる例に限定されない。例えば、情報の問い合わせ及び各種API(Application Programming Interface)の呼び出し等の任意のメッセージが、書き換え部310による書き換えを経て撮像装置100に転送されてもよい。書き換え部310による書き換えを経て制御装置200に転送されるメッセージについても同様である。
また、本明細書においてフローチャート及びシーケンス図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
1 配信システム
100 撮像装置
200 制御装置
300 処理装置
310 書き換え部
320 生成部
330 転送制御部

Claims (11)

  1. 撮像装置、及び制御装置に接続される処理装置であって、
    前記撮像装置により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成する生成部と、
    メッセージのボディ部分に含まれる、前記撮像装置に対応する情報、前記制御装置に対応する情報、又は前記処理装置に対応する情報である装置情報を書き換える書き換え部と、
    前記制御装置から第1のメッセージを受信した場合、ボディ部分に含まれる前記装置情報が前記書き換え部により書き換えられた前記第1のメッセージを前記撮像装置に転送し、前記制御装置から第2のメッセージを受信した場合、前記生成部により生成された前記第2の画像を前記制御装置に送信する転送制御部と、
    を備える処理装置。
  2. 前記書き換え部は、前記第1のメッセージのボディ部分に含まれる前記処理装置の前記装置情報を前記撮像装置の前記装置情報に書き換える、請求項1に記載の処理装置。
  3. 前記転送制御部は、前記撮像装置から前記第1のメッセージに対する応答である第3のメッセージが受信された場合、ボディ部分に含まれる前記装置情報が前記書き換え部により書き換えられた前記第3のメッセージを前記制御装置に転送する、請求項1又は2に記載の処理装置。
  4. 前記書き換え部は、前記第3のメッセージのボディ部分に含まれる前記撮像装置の前記装置情報を前記処理装置の前記装置情報に書き換える、請求項3に記載の処理装置。
  5. 前記転送制御部は、前記制御装置から受信した前記メッセージのヘッダ部分に基づいて、受信した前記メッセージが前記第1のメッセージであるか前記第2のメッセージであるかを識別する、請求項1~4のいずれか一項に記載の処理装置。
  6. 前記メッセージは、複数のパケットに分割して受信され、
    前記転送制御部は、受信した前記パケットが前記第1のメッセージを構成する場合、前記第1のメッセージを構成する複数の前記パケットの全てをバッファリングし、受信した前記パケットが前記第2のメッセージを構成する場合、受信した前記パケットが前記第2のメッセージを構成することが識別された時点でバッファリングを停止する、請求項5に記載の処理装置。
  7. 前記第1のメッセージは、前記撮像装置が前記第1の画像を撮像する際に適用する撮像パラメータを制御するためのメッセージである、請求項1~6のいずれか一項に記載の処理装置。
  8. 前記第2のメッセージは、前記第2の画像を送信するよう要求するメッセージである、請求項1~7のいずれか一項に記載の処理装置。
  9. 前記装置情報は、装置のアドレス及びポート番号の少なくともいずれかを含む、請求項1~8のいずれか一項に記載の処理装置。
  10. 撮像装置、及び制御装置に接続される処理装置を制御する方法であって、
    前記撮像装置により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成することと、
    メッセージのボディ部分に含まれる、前記撮像装置に対応する情報、前記制御装置に対応する情報、又は前記処理装置に対応する情報である装置情報を書き換えることと、
    前記制御装置から第1のメッセージを受信した場合、ボディ部分に含まれる前記装置情報が書き換えられた前記第1のメッセージを前記撮像装置に転送し、前記制御装置から第2のメッセージを受信した場合、前記第2の画像を前記制御装置に送信することと、
    を含む方法。
  11. 撮像装置、及び制御装置に接続される処理装置を制御するコンピュータを、
    前記撮像装置により撮像された第1の画像に対し所定の変換処理を適用して第2の画像を生成する生成部と、
    メッセージのボディ部分に含まれる、前記撮像装置に対応する情報、前記制御装置に対応する情報、又は前記処理装置に対応する情報である装置情報を書き換える書き換え部と、
    前記制御装置から第1のメッセージを受信した場合、ボディ部分に含まれる前記装置情報が前記書き換え部により書き換えられた前記第1のメッセージを前記撮像装置に転送し、前記制御装置から第2のメッセージを受信した場合、前記生成部により生成された前記第2の画像を前記制御装置に送信する転送制御部と、
    として機能させるためのプログラム。
JP2019153490A 2019-08-26 2019-08-26 処理装置、方法、及びプログラム Active JP7293982B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019153490A JP7293982B2 (ja) 2019-08-26 2019-08-26 処理装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019153490A JP7293982B2 (ja) 2019-08-26 2019-08-26 処理装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021034898A JP2021034898A (ja) 2021-03-01
JP7293982B2 true JP7293982B2 (ja) 2023-06-20

Family

ID=74676335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019153490A Active JP7293982B2 (ja) 2019-08-26 2019-08-26 処理装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7293982B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10164555A (ja) * 1996-11-29 1998-06-19 Canon Inc サーバ及びクライアント及び制御方法及び記憶媒体
JPH10164553A (ja) * 1996-11-29 1998-06-19 Canon Inc 映像サーバ及びクライアント及び制御方法及び記憶媒体
JP3774539B2 (ja) * 1997-04-10 2006-05-17 キヤノン株式会社 通信装置システム及び通信装置システム制御方法

Also Published As

Publication number Publication date
JP2021034898A (ja) 2021-03-01

Similar Documents

Publication Publication Date Title
US11979636B2 (en) Systems and methods for transmission of data streams
US8116235B2 (en) Peer-to-peer aided live video sharing system
EP2683173A1 (en) Distributed on-demand media transcoding system and method
US10785511B1 (en) Catch-up pacing for video streaming
US11249796B2 (en) Method and apparatus for enhanced assertion management in cloud media processing
JP6238255B2 (ja) 監視カメラシステムによる監視方法及び動画分割装置
EP2676432A2 (en) Remote controlled studio camera system
US10341670B1 (en) Video encoder bit rate stabilization
EP1679895A1 (en) Medium signal transmission method, reception method, transmission/reception method, and device
US8667159B2 (en) Communication device, communication method, and computer product
US8456532B1 (en) Internet protocol camera transcode avoidance
US20020056122A1 (en) Network system for distributing video information to clients
JP2008061223A (ja) 通信装置及び通信方法
JP2013012833A (ja) 送信装置及び送信装置の制御方法
JP7293982B2 (ja) 処理装置、方法、及びプログラム
US20170318223A1 (en) Imaging apparatus
US9049350B2 (en) Imaging apparatus that transmits media data to reception apparatus, method of processing information, and storage medium
US9363574B1 (en) Video throttling based on individual client delay
JP2010258894A (ja) 映像受信装置、映像受信方法及びプログラム
JP2015506622A (ja) ビデオ監視のための方法、関連するシステム、関連する監視サーバ及び関連する監視カメラ
WO2016177257A1 (zh) 一种数据分享的方法和装置
KR100841412B1 (ko) 사용자 단말기에 따른 최적의 멀티미디어 서비스 제공 방법및 이를 구현하는 시스템
JP7492647B2 (ja) 断片化mp4を活用したhttpベースのメディアストリーミングサービス
WO2023275969A1 (ja) データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
JP2004102459A (ja) 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230425

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: 20230509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R150 Certificate of patent or registration of utility model

Ref document number: 7293982

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150