JP7104819B1 - 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 - Google Patents
映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 Download PDFInfo
- Publication number
- JP7104819B1 JP7104819B1 JP2021008205A JP2021008205A JP7104819B1 JP 7104819 B1 JP7104819 B1 JP 7104819B1 JP 2021008205 A JP2021008205 A JP 2021008205A JP 2021008205 A JP2021008205 A JP 2021008205A JP 7104819 B1 JP7104819 B1 JP 7104819B1
- Authority
- JP
- Japan
- Prior art keywords
- chunk
- video data
- frames
- stored
- specified number
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
記憶領域として複数のチャンク領域が設定されているセグメントファイルの各チャンク領域に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数だけ順番に格納するファイル作成部と、
前記チャンク領域に前記指定枚数の前記フレームが格納されているかを確認する時間間隔を示すチャンク応答間隔を前記フレームのフレームレイトに基づいて決定し、前記ファイル作成部によって前記指定枚数の前記フレームが新たに格納された前記チャンク領域である格納チャンク領域が存在するかどうかを、決定された前記チャンク応答間隔が経過するたびに確認し、前記格納チャンク領域が存在する場合には、前記格納チャンク領域に格納された指定枚数のフレームを1チャンクとして、前記映像データを要求する要求装置に送信する応答部と、
を備える。
前記フレームレイトに加えて、前記指定枚数に基づいて、前記チャンク応答間隔を決定する。
前記フレームレイトを示す値の逆数と、前記指定枚数とに基づいて、前記チャンク応答間隔を決定する。
前記複数のチャンク領域に格納される複数のフレームを前記ネットワークカメラから取得し、取得した前記複数のフレームから前記フレームレイトを算出する映像取得部を備え、
前記応答部は、
前記映像取得部が算出した前記フレームレイトを用いて前記チャンク応答間隔を決定する。
コンピュータに、
記憶領域として複数のチャンク領域が設定されているセグメントファイルの各チャンク領域に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数だけ順番に格納するフレーム格納処理と、
前記チャンク領域に前記指定枚数の前記フレームが格納されているかを確認する時間間隔を示すチャンク応答間隔を前記フレームのフレームレイトに基づいて決定し、前記フレーム格納処理によって前記指定枚数の前記フレームが新たに格納された前記チャンク領域である格納チャンク領域が存在するかどうかを、決定された前記チャンク応答間隔が経過するたびに確認し、前記格納チャンク領域が存在する場合には、前記格納チャンク領域に格納された指定枚数のフレームを1チャンクとして、前記映像データを要求する要求装置に送信する応答処理と、
を実行させる。
コンピュータが、
記憶領域として複数のチャンク領域が設定されているセグメントファイルの各チャンク領域に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数だけ順番に格納し、
前記チャンク領域に前記指定枚数の前記フレームが格納されているかを確認する時間間隔を示すチャンク応答間隔を前記フレームのフレームレイトに基づいて決定し、前記指定枚数の前記フレームが新たに格納された前記チャンク領域である格納チャンク領域が存在するかどうかを、決定された前記チャンク応答間隔が経過するたびに確認し、前記格納チャンク領域が存在する場合には、前記格納チャンク領域に格納された指定枚数のフレームを1チャンクとして、前記映像データを要求する要求装置に送信する。
図1から図12を参照して、実施の形態1の映像配信システム1000を説明する。映像配信システム1000の特徴は映像配信サーバ100にある。
図1は、映像配信システム1000の構成図である。映像配信システム1000は、複数のネットワークカメラ11、映像配信サーバ100,クライアント端末200を備えている。映像配信サーバ100は映像データ送信装置である。クライアント端末200はライブ映像の配信を要求する要求装置である。複数のネットワークカメラ11、映像配信サーバ100およびクライアント端末200は、ネットワーク300に接続している。図1では3台のネットワークカメラ11を示している。各ネットワークカメラ11は、フレームレイトを示すFPS(Frames Per Second)値が異なる。3台のネットワークカメラ11はそれぞれ、FPS=30、FPS=10、FPS=1である。例えばFPS=30は、30枚/秒を示す。
ステップS07において、受信応答部113は、取得したサイズ分のデータを応答する。すなわち、受信応答部113は、チャンク領域10に格納されているフレームを1チャンクとして、クライアント端末200へ送信する。未ロック状態であるので処理はステップS08へ進む。
ステップS08において、受信応答部113は、「0¥r¥n¥r¥n」をクライアント端末200へ送信し、チャンク応答を終了する。以上の受信応答部113の動作詳細は図11の説明で後述する。
Signal Processor)、GPU(Graphics Processing Unit)である。
図5は、クライアント端末200による映像再生の概要を説明する図である。図5を参照してクライアント端末200と映像配信サーバ100とのやり取りの概要を説明する。
ステップS31において、クライアント端末200は、映像配信サーバ100へプレイリストをリクエストする。
ステップS32において、受信応答部113がプレイリストを検索し取得する。
ステップS33において、受信応答部113が、取得したプレイリストをクライアント端末200へ送信する。
ステップS34において、クライアント端末200が、初期セグメントファイルおよびセグメントファイルを映像配信サーバ100へ、リクエストする。
ステップS35において、受信応答部113が、初期セグメントファイルおよびセグメントファイルを検索し取得する。
ステップS36において、受信応答部113が、初期セグメントファイルおよびセグメントファイルを応答する。セグメントファイルの応答とは、チャンク応答間隔△tに基づくチャンク応答である。
ステップS201において、クライアント端末200は、プロセス起動用CGI(Common Gateway Interface)をリクエストする。
ステップS202において、クライアント端末200は、映像配信サーバ100から、応答htmlデータを受信する。
ステップS203において、クライアント端末200は、応答htmlに埋め込まれているプレイヤーを読み込み、プレイヤーを起動し同時にプレイリストを映像配信サーバ100にリクエストする。
ステップS204において、クライアント端末200は、映像配信サーバ100からプレイリストを受信する。
ステップS205において、クライアント端末200は、プレイリストに記載のあるセグメントファイルを、映像配信サーバ100にリクエストする。
ステップS206において、クライアント端末200は、受信したセグメントファイルのデータを再生する。
ステップS207において、クライアント端末200は、映像配信サーバ100に、プレイリストを再度リクエストする。なお、ステップS204からステップS207については、基本ループである。エラー発生あるいはブラウザタブ削除でプロセスが終了する。
ステップS11において、クライアント端末200がブラウザビューア部112の起動用CGIをリクエストする。
ステップS12において、受信応答部113が、ブラウザビューア部112の起動用CGIを起動する。
ステップS13において、起動用CGIがブラウザビューア部112のプロセスを起動する。
ステップS14において、起動用CGIが、応答用のhtmlデータを標準出力に出力する。
ステップS15において、受信応答部113は、標準出力に出力されたデータを応答する。標準出力に出力されたデータには映像再生の際に必要なプレイヤーと、プレイリストが含まれている。
図10は、ブラウザビューア部112のセグメントファイル作成動作を示すフローチャートである。図9、図10を参照して、ブラウザビューア部112によるセグメントファイル作成を説明する。
ステップS21において、ブラウザビューア部112は、共有メモリ111mにアクセスし、映像取得部111によって共有メモリ111mに格納された、FPS値、キーフレーム間隔、映像データを取得する。映像取得部111による共有メモリ111mへの格納は図11のシーケンスで説明する。
ステップS22において、ブラウザビューア部112はセグメントファイルを作成し、作成したセグメントファイルをセグメントファイル用ディレクトリ112dに格納する。
ステップS121において、ブラウザビューア部112は、映像取得部111の共有メモリ111mから、FPS値、キーフレーム間隔を取得する。これらは、セグメントファイルの作成に使用される。
ステップS122において、ブラウザビューア部112は、映像取得部111の共有メモリ111mから、映像データを取得する。
ステップS123において、ブラウザビューア部112は、映像データをから、Flagmented MP4の初期セグメントファイルを作成する。
ステップS124において、ブラウザビューア部112は、映像データをから、Flagmented MP4のセグメントファイルを作成する。
ステップS125において、ブラウザビューア部112は、HLSプレイリストを作成または更新する。
ステップS126において、ブラウザビューア部112は、古くなったセグメントファイルを削除する。
ステップS127において、ブラウザビューア部112は、セグメントファイルおよびプレイリストを削除する。図10に示すように、プロセス停止までステップS124からステップS126はループする。このループは停止命令やエラー時に終了する。
ステップS111において、映像取得部111は、各ネットワークカメラ11から映像データを取得する。
ステップS112において、映像取得部111は、映像データを、フレーム単位で共有メモリ111mに格納する。
ステップS113において、映像取得部111は、取得した映像データの実績値から、キーフレーム間隔、FPS値を算出する。映像取得部111は、複数のチャンク領域に格納される複数のフレームをネットワークカメラから取得し、取得した複数のフレームからフレームレイトを算出する。
ステップS114において、映像取得部111は、算出したキーフレーム間隔,FPS値を共有メモリ111mに格納する。
ステップS121、S122において、ブラウザビューア部112は、キーフレーム間隔,FPS値,映像データを共有メモリ111mから取得する。
ステップS123、S124において、ファイル作成部であるブラウザビューア部112は、複数のチャンク領域が設定されているセグメントファイルの各チャンク領域(フレームが書き込まれる記憶領域)に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数<N>だけ順番に格納する。図3で説明したように、実施の形態1では指定枚数<N>はN=1であるので、各チャンク領域には1枚のフレームが格納される。
具体的には以下のようである。ブラウザビューア部112は、セグメントファイルを作成する。図2および図3に示すように、セグメントファイルにはFPS値が記録されていると共に、複数のチャンク領域に分割されている。実施の形態1では、指定枚数は1枚であるので、各チャンク領域には1枚のフレームが格納される。ブラウザビューア部112は、セグメントファイル用ディレクトリ112dに、作成中のセグメントファイルおよび作成中のセグメントファイルを格納する。
ステップS131において、受信応答部113は、チャンク領域に指定枚数<N>のフレームが格納されているかを確認する時間間隔を示すチャンク応答間隔△tを、フレームのフレームレイトに基づいて決定する。指定枚数<N>の値は、予め受信応答部113に設定されている。受信応答部113は、映像取得部111が算出したフレームレイトを用いてチャンク応答間隔△tを決定する。セグメントファイルはネットワークカメラ11ごとに作成されるので、ネットワークカメラ11のFPS値が既知であるときには既知のFPS値を用いることもできる。この場合、既知のFPS値が受信応答部113に設定される。受信応答部113は、フレームレイトに加えて、指定枚数<N>に基づいて、チャンク応答間隔△tを決定する。受信応答部113は、フレームレイトを示すFPS値の逆数と、指定枚数<N>とに基づいて、チャンク応答間隔△tを決定することができる。図3ではセグメントファイル2についてはチャンク応答間隔△tは0.1秒であった。これは、FPS値の逆数=(1/10)と指定枚数<N>=1との積から決定した。仮にFPS値=10、指定枚数<N>=2であれば、チャンク応答間隔△tは0.2秒となる。以下の説明では指定枚数<N>=1とする。
ステップS132において、受信応答部113は、図3のチャンク領域9までフレームが格納されているセグメントファイル2のロック状態とファイルサイズをチェックする。ロック状態は「ロック」であり、ファイルサイズはチャンク領域8までの格納状態から、チャンク領域9にフレームが格納された状態である。
ステップS133において、受信応答部113は、受信応答部113はロック状態かどうかを判定する。この例では「ロック状態」なので、処理はステップS136に進む。
ステップS136(1)において、まず受信応答部113は、新規取得サイズ分応答する。つまり、受信応答部113は、前回から新たに格納されたチャンク領域9(格納チャンク領域)のフレームを1チャンクとして、クライアント端末200に送信する。
そしてステップS136(2)において、受信応答部113は、チャンク応答間隔△tだけ待機した後、ステップS132において、セグメントファイル2のロック状態とファイルサイズをチェックする。ステップS132では受信応答部113は、セグメントファイル2のロック状態とファイルサイズをチェックする。
ステップS133において、ロック状態であれば処理はステップS136に進み、ロック状態でなければ、つまりセグメントファイル2へのフレームの格納が終了した場合には、処理はステップS134に進む。ここでは未ロック状態とする。つまりセグメントファイル2はチャンク領域10までフレームが格納されているとする。
ステップS134において、受信応答部113は、新規取得サイズ分応答する。すなわち受信応答部113は、チャンク領域10に格納されたフレームを1チャンクとして、クライアント端末200に送信する。
ステップS135において、受信応答部113は、「0¥r¥n¥r¥n」をクライアント端末200に応答し、チャンク応答が終了する。
図12は、比較例との比較において、実施の形態1の映像配信サーバ100の効果を説明する図である。映像配信サーバ100の指定枚数<N>は1枚とする。図12の左は、「FPS=1、GOV=1」の映像データの場合を示す。図12の右は、「FPS=30、GOV=30」の映像データの場合を示す。
Claims (6)
- 記憶領域として複数のチャンク領域が設定されているセグメントファイルの各チャンク領域に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数だけ順番に格納するファイル作成部と、
前記チャンク領域に前記指定枚数の前記フレームが格納されているかを確認する時間間隔を示すチャンク応答間隔を前記フレームのフレームレイトに基づいて決定し、前記ファイル作成部によって前記指定枚数の前記フレームが新たに格納された前記チャンク領域である格納チャンク領域が存在するかどうかを、決定された前記チャンク応答間隔が経過するたびに確認し、前記格納チャンク領域が存在する場合には、前記格納チャンク領域に格納された指定枚数のフレームを1チャンクとして、前記映像データを要求する要求装置に送信する応答部と、
を備える映像データ送信装置。 - 前記応答部は、
前記フレームレイトに加えて、前記指定枚数に基づいて、前記チャンク応答間隔を決定する請求項1に記載の映像データ送信装置。 - 前記応答部は、
前記フレームレイトを示す値の逆数と、前記指定枚数とに基づいて、前記チャンク応答間隔を決定する請求項2に記載の映像データ送信装置。 - 前記映像データ送信装置は、さらに、
前記複数のチャンク領域に格納される複数のフレームを前記ネットワークカメラから取得し、取得した前記複数のフレームから前記フレームレイトを算出する映像取得部を備え、
前記応答部は、
前記映像取得部が算出した前記フレームレイトを用いて前記チャンク応答間隔を決定する請求項1から請求項3のいずれか1項に記載の映像データ送信装置。 - コンピュータに、
記憶領域として複数のチャンク領域が設定されているセグメントファイルの各チャンク領域に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数だけ順番に格納するフレーム格納処理と、
前記チャンク領域に前記指定枚数の前記フレームが格納されているかを確認する時間間隔を示すチャンク応答間隔を前記フレームのフレームレイトに基づいて決定し、前記フレーム格納処理によって前記指定枚数の前記フレームが新たに格納された前記チャンク領域である格納チャンク領域が存在するかどうかを、決定された前記チャンク応答間隔が経過するたびに確認し、前記格納チャンク領域が存在する場合には、前記格納チャンク領域に格納された指定枚数のフレームを1チャンクとして、前記映像データを要求する要求装置に送信する応答処理と、
を実行させる映像データ送信プログラム。 - コンピュータが、
記憶領域として複数のチャンク領域が設定されているセグメントファイルの各チャンク領域に、ネットワークカメラの撮影した映像データであるフレームを、指定されている指定枚数だけ順番に格納し、
前記チャンク領域に前記指定枚数の前記フレームが格納されているかを確認する時間間隔を示すチャンク応答間隔を前記フレームのフレームレイトに基づいて決定し、前記指定枚数の前記フレームが新たに格納された前記チャンク領域である格納チャンク領域が存在するかどうかを、決定された前記チャンク応答間隔が経過するたびに確認し、前記格納チャンク領域が存在する場合には、前記格納チャンク領域に格納された指定枚数のフレームを1チャンクとして、前記映像データを要求する要求装置に送信する映像データ送信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021008205A JP7104819B1 (ja) | 2021-01-21 | 2021-01-21 | 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021008205A JP7104819B1 (ja) | 2021-01-21 | 2021-01-21 | 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7104819B1 true JP7104819B1 (ja) | 2022-07-21 |
JP2022112380A JP2022112380A (ja) | 2022-08-02 |
Family
ID=82492228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021008205A Active JP7104819B1 (ja) | 2021-01-21 | 2021-01-21 | 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7104819B1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021197584A (ja) | 2020-06-10 | 2021-12-27 | 日本放送協会 | 多重信号変換装置及びそのプログラム、並びに、受信機 |
-
2021
- 2021-01-21 JP JP2021008205A patent/JP7104819B1/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021197584A (ja) | 2020-06-10 | 2021-12-27 | 日本放送協会 | 多重信号変換装置及びそのプログラム、並びに、受信機 |
Also Published As
Publication number | Publication date |
---|---|
JP2022112380A (ja) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080271130A1 (en) | Minimizing client-side inconsistencies in a distributed virtual file system | |
US9952940B2 (en) | Method of operating a shared nothing cluster system | |
US11379836B2 (en) | Methods and systems for recording data based on plurality of blockchain networks | |
US11050550B2 (en) | Methods and systems for reading data based on plurality of blockchain networks | |
JP6443173B2 (ja) | 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム | |
EP3812998B1 (en) | Data storage and attestation method and system based on multiple blockchain networks | |
KR20040010609A (ko) | 네트워크 파일 공유 방법 및 시스템 | |
US20060230131A1 (en) | Information-processing device, information-processing method, recording medium, and program | |
JP2009157761A (ja) | ストレージシステム及びストレージシステムにおけるデータ管理方法 | |
US20140149370A1 (en) | System for analyzing access path to access target file in image and method thereof | |
JP7104819B1 (ja) | 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 | |
US10498787B2 (en) | Communication apparatus, communication method, and program | |
US11838207B2 (en) | Systems for session-based routing | |
US11481142B2 (en) | Method and device for downloading resources | |
US11086849B2 (en) | Methods and systems for reading data based on plurality of blockchain networks | |
US20080022351A1 (en) | Streaming method and apparatus | |
JP5521533B2 (ja) | 情報処理装置、通信システム、制御方法及び制御プログラム | |
KR101664188B1 (ko) | P2p 네트워크 기반 데이터 관리 장치 및 데이터 관리 방법 | |
JP2005110024A (ja) | データ送信装置、データ送受信システム、及びデータ送受信方法 | |
CN110795030A (zh) | 小文件读取方法及装置 | |
EP3879789B1 (en) | Data processing method and apparatus | |
CN112069356B (zh) | 视频档案的存储方法、装置、电子设备及可读存储介质 | |
JP2006172296A (ja) | キャッシュ削除方法及びコンテンツ中継サーバ | |
JP2009259169A (ja) | コンテンツ配信装置及びこれを用いたコンテンツの配信方法 | |
KR101990689B1 (ko) | 클라우드 서버의 이미지 데이터 제공 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220518 |
|
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: 20220705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220708 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7104819 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |