JP6443173B2 - 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム - Google Patents

映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム Download PDF

Info

Publication number
JP6443173B2
JP6443173B2 JP2015066658A JP2015066658A JP6443173B2 JP 6443173 B2 JP6443173 B2 JP 6443173B2 JP 2015066658 A JP2015066658 A JP 2015066658A JP 2015066658 A JP2015066658 A JP 2015066658A JP 6443173 B2 JP6443173 B2 JP 6443173B2
Authority
JP
Japan
Prior art keywords
file
video
packet
created
data
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
JP2015066658A
Other languages
English (en)
Other versions
JP2016187122A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015066658A priority Critical patent/JP6443173B2/ja
Priority to US15/055,224 priority patent/US9819979B2/en
Priority to KR1020160024636A priority patent/KR101785577B1/ko
Publication of JP2016187122A publication Critical patent/JP2016187122A/ja
Application granted granted Critical
Publication of JP6443173B2 publication Critical patent/JP6443173B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • G11B27/3036Time code signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、映像データを蓄積する映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラムに関する。
例えば、テレビ局は、所謂、お天気カメラ等の定点観測カメラを各地に設置している。各定点観測カメラの映像は、ストリーミング配信によりデータセンタに送信され、データセンタ内に蓄積される。例えば、地震、津波、噴火等の自然災害の発生時や、事件捜査時等には、データセンタ内に蓄積された定点観測カメラの映像データから、指定した時刻の映像データが読み出されるVOD(ビデオオンデマンド)配信が行われる。定点観測カメラの映像データは、システムの冗長構成によって複数の記憶装置に保持されることによって、信頼性が確保されることが多い。
図1は、映像データ蓄積システムの一例を示す図である。映像データ蓄積システム100は、データセンタ内で冗長構成をとり、異なる記憶装置に映像データが保持される例である。映像データ蓄積システム100は、インターネットを介して接続されるデータセンタ61、エンコーダ50を含む。エンコーダ50は、例えば、定点観測カメラである。エンコーダ50は、例えば、映像データをMPEG(Moving Picture Experts Group)でエンコードし、RTP(Real-time Transport Protocol)を用いて、データセンタ61に逐次送信する。RTPは、音声や映像をリアルタイムで伝送するためのプロトコルである。所定の送信元から所定の宛先へストリーミング配信されるデータの流れを、ストリームという。
データセンタ61は、例えば、テレビ局が有するデータセンタである。データセンタ61は、中継サーバ70と、蓄積サーバA、蓄積サーバB、ファイルサーバA、ファイルサーバBを含む。なお、蓄積サーバA、Bを区別しない場合には、蓄積サーバ1と表記する。ファイルサーバA、Bを区別しない場合には、ファイルサーバ2と表記する。蓄積サーバA及び蓄積サーバBは、それぞれ異なる拠点に設置されたサーバである。ファイルサーバ2は、蓄積サーバA、蓄積サーバBで共通のものが用いられてもよいし、それぞれ異なるものが用いられてもよい。
図1に示される映像データ蓄積システム100では、エンコーダ50からデータセンタ61までの経路は一つであり、映像データは、該一つの経路を経由して伝送される。データセンタ61内で、映像データは、中継サーバ70によって複製され、蓄積サーバAと蓄積サーバBのそれぞれへと転送される。蓄積サーバA及び蓄積サーバBは、それぞれ、映像データをファイル化してファイルサーバA、ファイルサーバBに蓄積する。蓄積サーバA、蓄積サーバBが受信した映像データのファイルは、図1中、それぞれ、ファイルA、ファイルBとして示される。
図2は、映像データ蓄積システムの一例を示す図である。映像データ蓄積システム200は、エンコーダからデータセンタまでの経路と蓄積サーバとを冗長化する構成である。
映像データ蓄積システム200は、インターネットを介して接続されるデータセンタ62、エンコーダ50を含む。データセンタ62は、蓄積サーバA、蓄積サーバBを含む。蓄積サーバA、蓄積サーバBは、それぞれ異なる位置に設置されている。
映像データ蓄積システム200では、エンコーダ50は、蓄積サーバA、蓄積サーバBのそれぞれに対して異なる経路を有しており、それぞれの経路に同じ映像データを送信する。蓄積サーバA、蓄積サーバBは、それぞれ受信した映像データをファイルA、ファイルBとしてファイルサーバA、ファイルサーバBに蓄積する。
特表2009−534928号公報 特開2006−5942号公報
しかしながら、図1及び図2に示される映像データ蓄積システム内の冗長構成には、以下のような問題がある。図3は、映像データ蓄積システム内の冗長構成の問題点の一例を示す図である。図3では、データセンタ61、及び、データセンタ62内の蓄積サーバA、蓄積サーバB、ファイルサーバA内のファイルA、ファイルサーバB内のファイルBが抽出されて示されている。
映像データの伝送に用いられるRTPは、UDP(User Datagram Protocol)をトランスポート層のプロトコルとして用い、UDPは到達保証のないプロトコルである。そのため、映像データのRTPパケットは伝送途中のパケット損失により欠落する可能性がある。パケット損失は、映像品質を低下させる一因となる。
したがって、ファイルA、ファイルBに含まれる映像データは、伝送途中でのパケット損失の影響によって、エンコーダ50が送出したオリジナルの映像データと同一とは限らない。また、ファイルAとファイルBとでは映像データの経路が異なるので、パケット損失により欠損するパケットが異なっている可能性もあり、ファイルAとファイルBとは同一とは限らない。
図3に示される例では、ファイルAでは、RTPパケット#3、#4が欠損している。ファイルBでは、RTPパケット#2、#5が欠損している。すなわち、ファイルA、ファイルBともに、エンコーダ50が送出したオリジナル映像データとは異なっている。また、ファイルAとファイルBとは、互いに異なる。
エンコーダ50からはエンコードされた映像データが送出されるので、ファイルA、ファイルBにはエンコードされたデータが含まれる。ファイルA、ファイルBの映像品質の判定の際には、エンコードされたデータがデコードされるので、蓄積データにかかる処理負荷が大きくなるおそれがある。したがって、ファイルA、ファイルBのいずれのファイルがより品質のよい映像データであるかを判別するのは困難である。そのため、例えば、ファイルBの方が欠損パケットの少ない映像品質の良いファイルである場合でも、事前設定によって、ファイルAが読み出されることがある。
本発明は、映像データの伝送途中のパケット損失による映像データの品質低下を抑制することを目的とする。
1つの態様では、映像データ処理装置は、映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、作成されたファイルのインデックスファイ
ルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で該映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、を備える。
1つの側面として、映像データの伝送途中のパケット損失による映像データの品質低下を抑制することができる。
映像データ蓄積システムの一例を示す図である。 映像データ蓄積システムの一例を示す図である。 映像データ蓄積システム内の冗長構成の問題点の一例を示す図である。 蓄積サーバのハードウェア構成の一例を示す図である。 蓄積サーバの機能構成の一例を示す図である。 映像データを伝送するRTPパケットの構成を示す図である。 蓄積部の映像ファイルの作成処理の一例を示す図である。 インデックスファイルの構成の一例を示す図である。 補完処理部、配信処理部の処理の一例を示す図である。 蓄積サーバの蓄積部の処理のフローチャートの一例である。 蓄積サーバの中間処理部の処理のフローチャートの一例である。 蓄積サーバの補完処理部の処理のフローチャートの一例である。 蓄積サーバの配信処理部の処理のフローチャートの一例である。 蓄積サーバの配信処理部の処理のフローチャートの一例である。 蓄積サーバの削除処理部の処理のフローチャートの一例である。
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<第1実施形態>
映像データ蓄積システムのシステム構成は、例えば、図1又は図2に示される映像データ蓄積システムのいずれであってもよい。第1実施形態では、図2に示される映像データ蓄積システム200を想定する。エンコーダ50は、例えば、定点観測カメラであって、常時稼働しているものとする。また、エンコーダ50は、蓄積サーバA、Bに対して、ストリーミング配信を行っているものとする。第1実施形態において、ストリーミング配信とは、定点観測カメラ等が撮影した映像データをエンコーダ50がエンコードし、エンコードされたデータがエンコーダ50のハードディスク等へ転送された時点で該エンコードされたデータの送信を行うことを示す。
例えば、蓄積サーバA、Bは、それぞれ、単一のエンコーダ50からストリーミング配信により異なる経路で受信された映像パケットを含むファイルA、Bを作成する。映像パケットには、シーケンス番号がエンコーダ50によって付与されている。蓄積サーバA、Bは、それぞれ、ファイルA、Bについて、ファイルA、Bに含まれる映像パケットのシーケンス番号とファイルA、B内における先頭からの位置を示すオフセット位置情報とを含むインデックスファイルを作成する。
蓄積サーバA、Bは、それぞれ、ファイルA、Bのインデックスファイルに基づいて、シーケンス番号の不連続になる個所からファイルA、B内の欠損した映像パケットを特定する。欠損した映像パケットを、以降、単に、欠損パケット、と称する。蓄積サーバA、
Bは、それぞれ、ファイルA、B内の欠損パケットのオフセット位置情報をファイルB、Aのインデックスファイルから取得し、取得したオフセット位置情報に該当する映像パケットをファイルB、Aから取得する。
蓄積サーバA、Bは、それぞれ、ファイルB、Aから取得した欠損パケットに対応する映像パケットで、ファイルA、Bの補完ファイルA−1、B−1を作成する。
これによって、ファイルA、ファイルBのいずれが読み出された場合でも、欠損パケットは補完ファイルA−1、B−1から読み出されることで、エンコーダ50から送出されたオリジナルの映像データを再現することができる。
第1実施形態では、エンコーダ50は、MPEGを用いて映像データをエンコードするものとする。また、エンコーダ50は、RTPを用いて、映像データを送信することとする。
エンコーダ50は、「映像源」の一例である。蓄積サーバA、Bは、「映像データ処理装置」の一例である。映像データ蓄積システム100、200は、それぞれ、「映像データ処理システム」の一例である。
<装置構成>
図4は、蓄積サーバ1のハードウェア構成の一例を示す図である。蓄積サーバ1は、例えば、専用又は汎用のコンピュータである。蓄積サーバ1は、CPU(Central Processing Unit)101、主記憶装置102、補助記憶装置103、ネットワークインタフェー
ス104を備える。また、これらはバス105により互いに電気的に接続されている。
補助記憶装置103は、様々なプログラムや、各プログラムの実行に際してCPU 101が使用するデータを格納する。補助記憶装置103は、例えば、ハードディスクドライブ(Hard Disk Drive)等の不揮発性のメモリである。補助記憶装置103は、例えば
、オペレーティングシステム(OS)、映像データ処理プログラム、その他様々なアプリケーションプログラムを保持する。映像データ処理プログラムは、ファイル内の欠損パケットを他のファイルから取得し、補完データを作成するためのプログラムである。
主記憶装置102は、CPU 101に、補助記憶装置103に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置102は、例えば、RAM(Random Access Memory)のような半導体メモリを含む。
CPU 101は、補助記憶装置103に保持されたOSや様々なアプリケーションプログラムを主記憶装置102にロードして実行することによって、様々な処理を実行する。CPU 101は、1つに限られず、複数備えられてもよい。
ネットワークインタフェース104は、ネットワークとの信号の入出力を行うインタフェースである。ネットワークインタフェース104は、有線のネットワークと接続するインタフェース、無線のネットワークと接続するインタフェースを含む。ネットワークインタフェース104は、有線のネットワークと接続する場合には、例えば、光信号回路、NIC(Network Interface Card)等である。ネットワークインタフェース104は、無線のネットワークと接続する場合には、衛星信号の受信回路等である。ネットワークインタフェース104で受信されたデータ等は、CPU 101に出力される。
なお、図4に示される蓄積サーバ1のハードウェア構成は、一例であり、上記に限られ
ず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。例えば、蓄積サーバ1は、可搬記録媒体駆動装置を備え、可搬記録媒体に記録されたプログラムを実行してもよい。可搬記録媒体は、例えば、SDカード、miniSDカード、microSDカード、USB(Universal Serial Bus)フラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、Blu−ray(登録商標) Disc、又はフラッシュメモリカードのような記録媒体である。
図5は、蓄積サーバ1の機能構成の一例を示す図である。蓄積サーバ1は、機能構成として、蓄積部11、中間処理部12、補完処理部13、配信処理部14、削除処理部15を備える。蓄積部11、中間処理部12、補完処理部13、配信処理部14、削除処理部15は、CPU 101が映像データ処理プログラム103Pを実行することによって達成される機能構成である。
蓄積サーバ1は、ファイルサーバ2と接続している。ファイルサーバ2は、例えば、NAS(Network Attached Storage)、CIFS(Common Internet File System)等のフ
ァイル共有プロトコルを実行するサーバである。
蓄積部11は、エンコーダ50から継続的にRTPパケットを受信する。蓄積部11は、受信した映像データを、例えば、映像データに付与されたタイムスタンプに基づいて、所定の基準時刻から所定時間長単位で区切って、区切られた該所定時間長に含まれる映像データを1つの映像ファイルとする。所定時間長は、例えば、30分〜1日の間でデータセンタ62の管理者が任意に設定可能である。映像ファイルは、最大で該所定の時間帯の時間長分のデータ量となる。映像ファイルは、ファイルサーバ2に格納される。蓄積部11は、「ファイル作成部」の一例である。
蓄積部11は、映像ファイルに対してハッシュ計算を行い、ハッシュデータを作成する。ハッシュ計算は、例えば、SHA1(Secure Hash Algorithm 1)、MD5(Message Digest Algorithm 5)等であり、いずれかに限定されない。蓄積部11は、ハッシュデー
タを対応する映像ファイルと紐づけてファイルサーバ2に格納する。蓄積部11は、「ハッシュデータ作成部」の一例である。
蓄積部11は、映像ファイルに対してインデックスファイルを作成する。インデックスファイルの詳細は、後述される。蓄積部11は、インデックスファイルを対応する映像ファイルと紐づけてファイルサーバ2に格納する。蓄積部11は、「インデックス作成部」の一例である。
中間処理部12は、ファイルサーバ2から対象の映像ファイルのハッシュデータを取得する。また、中間処理部12は、対象の映像ファイルの冗長データである他の装置によって作成された映像ファイルのハッシュデータを該当のファイルサーバ2から取得する。例えば、図2の蓄積サーバAの中間処理部12は、ファイルサーバAからファイルAのハッシュデータと、ファイルサーバBから蓄積サーバBによって作成されたファイルBのハッシュデータと、を取得する。
中間処理部12は、取得した2つのハッシュデータを比較する。例えば、図2のファイルAとファイルBとが、いずれもパケットの欠損がない場合には、ファイルAとファイルBとのハッシュデータは一致する。しかしながら、図2のファイルAとファイルBに含まれる映像パケットの伝送途中にパケット損失が発生した場合には、ファイルAとファイルBとは一致しないので、ファイルAとファイルBとのハッシュデータも一致しない。
したがって、中間処理部12は、取得した2つのハッシュデータが一致しない場合には
、自装置が作成した映像ファイル内にパケットの欠落の可能性があることを判定し、補完処理部13を呼び出す。取得した2つのハッシュデータが一致する場合には、中間処理部12は、自装置が作成した映像ファイル内にパケットの欠落はないことを判定し、補完処理部13を呼び出さない。中間処理部12は、「比較部」の一例である。
なお、図2のファイルAとファイルBとに含まれる映像パケットの伝送途中で損失されたパケットが一致して、ファイルAのハッシュデータとファイルBのハッシュデータとが一致する場合が発生する可能性がある。ファイルAとファイルBとに含まれる映像パケットの伝送途中で損失されたパケットが一致している場合には、一方のファイルの欠損パケットを他方のファイルから補完すること自体ができない。また、ファイルAとファイルBとに含まれる映像パケットの伝送途中で損失されたパケットは異なるものの、ファイルAのハッシュデータとファイルBのハッシュデータとが一致する場合も発生する可能性がある。このような場合が発生する可能性は非常に低いため、第1実施形態では、考慮されないものとする。
補完処理部13は、中間処理部12に呼び出された場合に、自装置の作成した映像ファイルのインデックスファイルと他の装置によって作成された映像ファイルのインデックスファイルとに基づいて、自装置の作成した映像ファイルの欠損パケットの補完ファイルを作成する。具体的には、補完処理部13は、自装置の作成した映像ファイルの欠損パケットに相当する映像パケットを他の装置が作成した映像ファイルから取得する。補完処理部13は、取得した映像パケットから、対応する映像ファイルとは異なるファイルである補完ファイルを作成する。補完処理部13は、対応する映像ファイルに補完ファイルを紐づけて、該補完ファイルをファイルサーバ2に格納する。補完処理部13は、「補完データ作成部」の一例である。
配信処理部14は、映像ファイルに対する配信要求を受信すると、配信要求によって指定された時刻に該当する映像パケットの映像ファイルにおける位置をインデックスファイルから特定し、特定した映像パケットから配信を開始する。配信処理部14は、映像ファイル中で欠損パケットに相当する映像パケットは、対応する補完ファイルから読み出す。配信処理部14は、「配信部」の一例である。
削除処理部15は、自装置が作成した映像ファイルと、該映像ファイルの冗長データである他の装置が作成した映像ファイルとのうち、映像品質の劣る方の映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルを削除する。ただし、削除処理部15は、蓄積サーバA、Bのうち、マスタに設定された一台の蓄積サーバに備えられており、マスタ以外の蓄積サーバには備えられない。第1実施形態では、映像品質の優劣は、欠損パケットの連続する回数で判定される。削除処理部15は、「削除部」の一例である。
ファイルサーバ2のハードウェア構成は、蓄積サーバ1のハードウェア構成とほぼ同様であり、CPU、主記憶装置、補助記憶装置、ネットワークインタフェースを含む。ファイルサーバ2は、蓄積サーバ1からの要求に応じて、ファイル等のデータの読み出し、書き込みを行う。
ファイルサーバ2は、蓄積サーバ1と同じ拠点に設置されていてもよいし、異なる拠点に設置されていてもよい。データセンタ62には複数のファイルサーバ2が設置されており、蓄積サーバ1がいずれのファイルサーバ2を利用するかは、予め管理者によって設定されている。
第1実施形態では、ファイルサーバ2の補助記憶装置には、映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルが蓄積サーバ1によって格納され、セットで
保持される。映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルは、第1実施形態では、共通のファイル名を有することで紐づけられる。ファイル名は、例えば、映像ファイルが1時間の時間長で、各時間帯単位で作成される場合には、映像の録画された日付と時間帯を示すように付与される。また、映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルは、それぞれ、異なる拡張子を有し、該拡張子でいずれのファイルであるかを判別可能となっている。
ただし、映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルの紐づけ方はこれに限られない。また、ファイル名の付与方法も、これに限られない。
図6は、映像データを伝送するRTPパケットの構成を示す図である。RTPパケットのペイロード部には、複数のTS(TranSport)パケットが格納される。TSパケットは
、例えば、定点カメラから入力された映像データが、エンコーダ50によってMPEGでエンコードされて作成されるパケットである。TSパケットは、「映像パケット」の一例である。
TSパケットのサイズは、例えば、MPEG−2では、188バイトである。また、TSパケットにタイムスタンプが付与される場合には、TSパケットのサイズは、192バイトとなり、TTS(Timestamped TS)パケットと称される。TTSパケットのタイムスタンプは、エンコーダ50によって該TTSパケットが作成された時刻を表す。第1実施形態では、エンコーダ50によってタイムスタンプが付与されるTTSパケットが用いられることとする。以降、TSパケットとTTSパケットとは、特に区別せずに、TSパケットと称する。TSパケットとTTSパケットとが区別されて扱われる場合には、TTSパケットと区別して表記する。
IPパケットのMTU(Maximum Transmission Unit)は1500バイトであるので、
1つのRTPパケットには、理論上、最大7つまでTTSパケットを格納することができる。なお、RTPパケットに格納されるTTSパケットの上限個数は、管理者が任意に設定可能である。
タイムスタンプは、TSパケットの先頭に付与されている。TSパケットのヘッダに含まれる情報の一つに、シーケンス番号がある。TSパケットのシーケンス番号は、MPEG−2では、4バイトの巡回カウンタによって示される。巡回カウンタは、値が1ずつ増加し、最大値16(0x1111)となると、値が0(0x0000)に戻る。
映像データの伝送途中で1つのRTPパケットが損失されると、該RTPパケットに格納されている複数のTSパケットも損失される。1つのRTPパケットに6個のTSパケットが含まれる場合には、1つのRTPパケットが損失されると6つのTSパケットが損失される。そのため、映像ファイル内の該欠損パケットの前後のTSパケットのシーケンス番号は、例えば、0から7と、6つ飛ぶこととなる。このように、シーケンス番号の不連続性によって、パケット損失を検出することができる。
図7は、蓄積部11の映像ファイルの作成処理の一例を示す図である。蓄積部11は、ファイル出力バッファ11Mを含む。ファイル出力バッファ11Mのサイズは、所定時間長分のTSパケットを格納できるサイズである。例えば、ファイル出力バッファ11Mのサイズは、30秒分のTSパケットを格納できるサイズである。
蓄積部11は、RTPパケットを受信すると、RTPパケットのペイロード部に格納されるTSパケットをシーケンス番号順にファイル出力バッファ11Mに格納する。ファイル出力バッファ11Mが満杯になると、蓄積部11は、ファイル出力バッファ11Mに格
納されているTSパケットを、ファイルサーバ2内の最新の映像ファイルの末尾にシーケンス番号順に追加する。最新の映像ファイルのサイズが最大時間長に達すると、蓄積部11は、新たに映像ファイルを作成し、以降は、新たに作成された映像ファイルが最新の映像ファイルとして取り扱われる。
図8は、インデックスファイルの構成の一例を示す図である。インデックスファイルには、蓄積情報と、TS情報と、が含まれる。
蓄積情報は、インデックスファイルに対応する映像ファイル全体の情報である。蓄積情報には、例えば、インデックスファイルに対応する映像ファイルに含まれるTSパケットの数と、該映像ファイルのサイズとが含まれる。蓄積情報に含まれるファイルのサイズは、バイト単位である。
TS情報は、インデックスファイルに対応する映像ファイルに含まれるTSパケットに関する情報である。TS情報は、1つのTSパケットにつき1つ作成される。すなわち、TS情報は、インデックスファイル内に、対応する映像ファイルに含まれるTSの数分存在する。TS情報には、例えば、TS時間、シーケンス番号、オフセット、タイムスタンプが含まれる。
TS情報に含まれるTS時間は、TSパケットの、インデックスファイルに対応する映像ファイルの先頭を基点とする再生開始時間である。TS時間は、例えば、ミリ秒単位である。
TS情報に含まれるシーケンス番号は、TSパケットのヘッダ内に含まれるシーケンス番号の値である。TS情報に含まれるオフセットは、インデックスファイルに対応する映像ファイルの先頭から該TSパケットまでのバイト数である。
TS情報に含まれるタイムスタンプは、TSパケットの先頭に付与されているタイムスタンプの値である。エンコーダ50と蓄積サーバ1とでクロックの周波数が異なる場合には、タイムスタンプの値は、蓄積サーバ1のクロックの周波数の単位に変換される。
インデックスファイルは、ファイルサーバ2内の映像ファイルへのTSパケットの書き込みの際に、蓄積部11によって作成及び更新される。
図9は、補完処理部13、配信処理部14の処理の一例を示す図である。図9では、図2の蓄積サーバAが、ファイルBを用いてファイルAの欠損パケットを補完する場合の例が示される。図9では、TSパケットのシーケンス番号は、便宜的に、#1、#2、…のように表記されている。
補完処理部13は、ファイルAのインデックスファイル内のTSパケットのシーケンス番号の不連続により、欠損パケットを特定する。図9に示されるファイルAでは、TSパケット#2の次がTSパケット#5となり、シーケンス番号が不連続である。これより、TSパケット#3、#4の欠損が特定される。
補完処理部13は、ファイルBのインデックスファイルを参照し、ファイルAの欠損パケットであるTSパケット#3、#4がファイルBにあるかを判定する。図9に示される例では、ファイルBには、TSパケット#3、#4が存在する。補完処理部13は、ファイルBのインデックスファイルからTSパケット#23、#4のオフセットを取得し、ファイルB内の該オフセットが示す位置からTSパケット#3、#4を取得する。
補完処理部13は、ファイルBから取得したTSパケット#3、#4を補完ファイルに追加する。なお、補完処理部13は、処理バッファを有しており、ファイルAの欠損パケットの補完のためにファイルBから取得したTSパケットを処理バッファに格納する。補完処理部13は、処理バッファが満杯になった場合、又は、対象の映像ファイルの補完処理が終了した場合に、処理バッファ内のTSパケットを補完ファイルに格納する。
配信処理部13は、ファイルAを配信する場合には、ファイルA内の配信要求の指定時刻のTSパケットから読み出しを開始する。例えば、配信処理部13は、TSパケット#1から読み出し開始した場合、インデックスファイルを参照し、次に読み出すTSパケット#2がファイルA内にあることを検出し、TSパケット#2をファイルAから読み出す。次に、配信処理部13は、インデックスファイルを参照し、次に読み出すTSパケット#3がファイルA内にないことを検出し、TSパケット#3を補完ファイルから読み出す。TSパケット#4も同様に、補完ファイルから読み出される。
ファイルBから取得したパケットをファイルAの欠損パケットの位置に挿入することで、ファイルAの補完を行う場合には、ファイルAを書き換える処理となるため、蓄積サーバAの処理負荷が大きくなるおそれがある。映像ファイルとは別に補完ファイルが作成されることによって、欠損パケットの読み出し先を補完ファイルに変更することでファイルAの補完を行うことができ、ファイルAを書き換える処理よりも蓄積サーバ1に係る負荷を少なくすることができる。
<処理の流れ>
図10は、蓄積サーバ1の蓄積部11の処理のフローチャートの一例である。図10に示される処理は、例えば、蓄積部11がRTPパケットを受信すると開始される。
OP1では、蓄積部11は、受信RTPパケットに含まれるTSパケットと、直前のRTPパケットに含まれるTSパケットとのシーケンス番号に基づいて、RTPパケットの損失があるか否かを判定する。RTPパケットの損失が検出された場合には(OP1:YES)、処理がOP2に進む。RTPパケットの損失が検出されない場合には(OP1:NO)、処理がOP3に進む。
OP2では、蓄積部11は、RTPパケットの損失が検出されたので、エラー訂正を行う。なお、第1実施形態では、エンコーダ50は、所定の誤り訂正符号方式を用いてデータ送信を行っており、蓄積部11は、該所定の誤り訂正符号方式に従って、欠損パケットの復元を行うことが可能である。誤り訂正符号方式は、特定のものに限定されず、公知の方式のいずれであってもよい。なお、例えば、パケット損失が多発するような場合には、OP2におけるエラー訂正において、欠損パケットが復元されない場合もある。次に処理がOP3に進む。
OP3では、蓄積部11は、受信したRTPパケットからTSパケットを抽出して、ファイル出力バッファ11Mに追加する。OP2のエラー訂正によって欠損パケットが復元されている場合には、蓄積部11は、復元されたRTPパケットから抽出されるTSパケットもファイル出力バッファ11Mに追加する。次に処理がOP4に進む。
OP4では、蓄積部11は、ファイル出力バッファ11Mの空きがあるか否かを判定する。例えば、ファイル出力バッファ11Mの空き容量に閾値を設定し、ファイル出力バッファの空き容量が該閾値未満である場合に、蓄積部11は、ファイル出力バッファ11Mの空きがないことを判定する。ファイル出力バッファ11Mの空き容量の閾値は、例えば、3000バイト以上の値に設定される。IPパケットの最大長が1500バイトであることと、受信パケットに加えてOP2のエラー訂正により復元されるパケットもファイル
出力バッファ11Mに追加されることがあるからである。ただし、ファイル出力バッファ11Mの空き容量の閾値は、管理者が任意に設定可能であり、限定されない。
ファイル出力バッファ11Mの空きがある場合には(OP4:YES)、図10に示される処理が終了する。ファイル出力バッファ11Mの空きがない場合には(OP4:NO)、処理がOP5に進む。
OP5では、蓄積部11は、ファイル出力バッファ11Mに格納されているTSパケットをファイルサーバ2内の最新の映像ファイルに追加する。例えば、最新の映像ファイルのサイズが所定の時間長となる場合には、蓄積部11は、新たに映像ファイルを作成する。次に処理がOP6に進む。
OP6では、蓄積部11は、OP5においてTSパケットを追加した映像ファイルのハッシュデータを作成する。既存の映像ファイルについては、該映像ファイルに対応するハッシュデータの上書き処理となる。新たに作成された映像ファイルについては、ハッシュデータの作成処理となる。次に処理がOP7に進む。
OP7では、蓄積部11は、OP5においてTSパケットを追加した映像ファイルのインデックスファイルを作成する。既存の映像ファイルについては、該映像ファイルに追加したTSパケットのTS情報を該映像ファイルに対応するインデックスファイルに追加する処理となる。新たに作成された映像ファイルについては、インデックスファイルの作成処理となる。その後、図10に示される処理が終了する。
なお、図10に示される処理は一例であって、適宜、処理の実行順の変更や、処理の追加、削除等も可能である。例えば、OP6とOP7との処理の実行順は逆であってもよい。また、エンコーダ50が誤り符号訂正処理を行わずにデータ送信する場合には、OP1、OP2の処理は実行されなくともよい。
図11は、蓄積サーバ1の中間処理部12の処理のフローチャートの一例である。図11に示されるフローチャートは、所定の周期で最新の映像ファイルに対して実行されてもよいし、所定のイベントの発生時に実行されてもよい。図11のフローチャートが周期的に実行される場合の実行周期は、映像ファイルの上限時間長よりも小さい値となる。また、図11のフローチャートの実行契機となる所定のイベントは、例えば、映像ファイルが上限時間長になり、次の新しい映像ファイルが作成されることである。
OP11では、中間処理部12は、比較対象のハッシュデータをそれぞれ対応するファイルサーバ2から読み込む。例えば、図2のシステムにおいて、蓄積サーバA及び蓄積サーバBの双方とも、ファイルA、Bに対応するハッシュデータを読み込む。次に処理がOP12に進む。
OP12では、中間処理部12は、比較対象のハッシュデータが一致するか否かを判定する。比較対象のハッシュデータが一致する場合には(OP12:YES)、図11に示される処理が終了する。比較対象のハッシュデータが一致しない場合には(OP12:NO)、処理がOP13に進む。
OP13では、中間処理部12は、比較対象のハッシュデータが一致しないので、自装置の管理している方の映像データについて、補完処理を行うことを判定し、補完処理部13を呼び出す。その後、図11に示される処理が終了する。
図12は、蓄積サーバ1の補完処理部13の処理のフローチャートの一例である。図1
2に示されるフローチャートは、補完処理部13が中間処理部12によって呼び出されると開始される。なお、図12に示されるフローチャートは、説明の便宜上、図2の蓄積サーバAを主体に想定している。
OP21では、補完処理部13は、比較対象のインデックスファイルを読み込む。蓄積サーバAの補完処理部13は、ファイルA、Bのインデックスファイルを読み込む。次に処理がOP22に進む。
OP22からOP28の処理は、蓄積サーバ1の管理対象の映像ファイル、すなわち、蓄積サーバAの管理対象であるファイルAに含まれるTSパケットの数分繰り返し実行される。
OP22では、補完処理部13は、ファイルAのインデックスファイルを参照し、処理対象のTSパケットのシーケンス番号がファイルA内の直前のTSパケットのシーケンス番号から連続する値であるか否かを判定する。処理対象のTSパケットのシーケンス番号がファイルA内の直前のTSパケットのシーケンス番号から連続する値である場合には(OP22:NO)、パケットの欠損は検出されず、ファイルA内の次のTSパケットについて、OP22から処理が開始される。
処理対象のTSパケットのシーケンス番号がファイルA内の直前のTSパケットのシーケンス番号から連続しない値である場合には(OP22:YES)、パケットの欠損が検出され、処理がOP23に進む。
OP23では、補完処理部13は、ファイルA内の処理対象のTSパケットのシーケンス番号とファイルA内の直前のTSパケットのシーケンス番号との間の、欠損しているシーケンス番号を特定する。欠損しているシーケンス番号を、以降、欠損シーケンス番号と称する。なお、伝送中のパケット損失の場合には、RTPパケットが損失されるので、複数のTSパケットが損失される。そのため、OP23では、損失されたRTPパケットに含まれるTSパケットの数分のシーケンス番号が欠損シーケンス番号として特定される。次に処理がOP24に進む。
OP24では、補完処理部13は、ファイルAの欠損シーケンス番号がファイルBのインデックスファイル中にあるか否かを判定する。ファイルAの欠損シーケンス番号がファイルBのインデックスファイル中にある場合には(OP24:YES)、処理がOP25に進む。ファイルAの欠損シーケンス番号がファイルBのインデックスファイル中にない場合には(OP24:NO)、OP23で特定されたファイルAの欠損シーケンス番号の映像パケットをファイルBから補完することができないので、ファイルA内の次のTSパケットについてOP22へと処理が進む。
OP25では、補完処理部13は、ファイルBからOP23で特定したファイルAの欠損シーケンス番号に該当するTSパケットを取得する。ファイルB内の欠損シーケンス番号に該当するTSパケットの位置は、ファイルBのインデックスファイルの該当TS情報内のオフセットから取得される。次に処理がOP26に進む。
OP26では、補完処理部13は、処理バッファにOP25で取得したTSパケットを追加する。次に処理がOP27に進む。
OP27では、補完処理部13は、処理バッファに空きがあるか否かを判定する。例えば、処理バッファの空き容量に閾値を設定し、処理バッファの空き容量が該閾値未満である場合に、補完処理部13は、処理バッファの空きがないことを判定する。処理バッファ
に空きがある場合には(OP27:YES)、ファイルA内の次のTSパケットについてOP22へと処理が進む。処理バッファに空きがない場合には(OP27:NO)、処理がOP28に進む。
OP28では、補完処理部13は、ファイルサーバA内のファイルAの補完ファイルに処理バッファに格納されているTSパケットを追加する。その後、ファイルA内の次のTSパケットについてOP22へと処理が進む。
図13A、図13Bは、蓄積サーバ1の配信処理部14の処理のフローチャートの一例である。図13に示されるフローチャートは、蓄積サーバ1が再生開始時刻の指定を含む配信要求を受信すると開始される。配信要求に含まれる指定された再生開始時刻を、以降、指定時刻と称する。
OP31では、配信処理部14は、配信対象の映像ファイルに対応するインデックスファイルを読み込む。なお、映像ファイルに含まれる映像データの少なくとも記録開始の時刻の情報は、メタデータとして保持されており、指定時刻と該映像データの記録開始の時刻の情報とから配信対象の映像ファイルを特定可能である。次に処理がOP32に進む。
OP32では、配信処理部14は、配信対象の映像ファイルに対応するインデックファイル内のTS時間に基づいて、指定時刻に対応する該映像ファイルの読み込み位置を特定する。TS時間は、TSパケットの映像ファイルの先頭からの再生開始時間を示す。配信処理部14は、指定時刻と映像ファイルの開始時刻との差分の時間長とインデックスファイル内のTS時間の値とが合致又はほぼ合致するTSパケットのオフセットを読み込み位置として特定する。次に処理がOP33に進む。
OP33では、配信処理部14は、OP32で特定した映像ファイルの読み込み位置に指定時刻のデータがあるか否かを判定する。この判定は、映像ファイルのインデックスファイル内のTSパケットのタイムスタンプに基づいて行われる。映像ファイル内に指定時刻のタイムスタンプを有するTSパケットがある場合には(OP33:YES)、配信処理部14は、該TSパケットを取得し、処理がOP36に進む。映像ファイル内に指定時刻のタイムスタンプを有するTSパケットがない場合には(OP33:NO)、処理がOP34に進む。
OP34では、配信処理部14は、映像ファイル内に指定時刻のタイムスタンプを有するTSパケットがないので、該映像ファイルに対応する補完ファイルを参照し、補完ファイル内に指定時刻のタイムスタンプを有するTSパケットがあるか否かを判定する。補完ファイル内に指定時刻のタイムスタンプを有するTSパケットがある場合には(OP34:YES)、配信処理部14は補完ファイルから該当のTSパケットを取得し、処理がOP36に進む。補完ファイル内に指定時刻のタイムスタンプを有するTSパケットがない場合には(OP34:NO)、処理がOP35に進む。
OP35では、配信処理部14は、映像ファイル内に指定時刻の次の時刻に該当するTSパケットがあるか否かを判定する。映像ファイル内に指定時刻の次の時刻に該当するTSパケットがない場合には(OP35:NO)、処理がOP34に戻り、配信処理部14は、補完ファイルを参照する。映像ファイル内に指定時刻の次の時刻に該当するTSパケットがある場合には(OP35:YES)、配信処理部14は、該TSパケットを取得し、処理がOP36に進む。
OP36では、配信処理部14は、取得したTSパケットを送信バッファに出力する。送信バッファは、主記憶装置102に作成されるFIFO(First In First Out)キュー
である。次に処理がOP37に進む。
OP37からOP39は、OP36において送信バッファに出力されたTSパケットの次のシーケンス番号を有するTSパケット以降のTSパケットについて繰り返し実行される処理である。
OP37では、配信処理部14は、映像ファイル内に該当シーケンス番号のデータがあるか否かを判定する。この判定は、映像ファイル内のTSパケットのヘッダ内のシーケンス番号に基づいて行われる。映像ファイル内に該当シーケンス番号のTSパケットがある場合には(OP37:YES)、配信処理部14は、該TSパケットを取得し、処理がOP39に進む。映像ファイル内に該当シーケンス番号のTSパケットがない場合には(OP37:NO)、処理がOP38に進む。
OP38では、配信処理部14は、映像ファイル内に該当シーケンス番号のTSパケットがないので、該映像ファイルに対応する補完ファイルを参照し、該当シーケンス番号のTSパケットがあるか否かを判定する。補完ファイル内に該当シーケンス番号のTSパケットがある場合には(OP38:YES)、配信処理部14は補完ファイルから該当のTSパケットを取得し、処理がOP39に進む。補完ファイル内に該当シーケンス番号のTSパケットがない場合には(OP38:NO)、処理がOP37に進み、該当シーケンス番号の次のシーケンス番号のTSパケットについて処理が行われる。
OP39では、配信処理部14は、取得したTSパケットを送信バッファに出力する。処理がOP37に進み、該当シーケンス番号の次のシーケンス番号のTSパケットについて処理が行われる。OP37からOP39の処理は、配信要求元から配信停止要求を受信するまで繰り返し実行される。
図13A、図13Bの処理は、送信バッファにTSパケットを出力する処理である。配信処理部14は、送信バッファからTSパケットを読み出し、配信要求元に送信する処理も行う。送信バッファからTSパケットを読み出し、配信要求元に送信する処理では、配信処理部14は、インデックスファイルのタイムスタンプに基づいて、データ送出タイミングを合わせて、TSパケットを順に送信する。
図14は、蓄積サーバ1の削除処理部15の処理のフローチャートの一例である。図14に示される処理は、例えば、所定の周期で実行される。所定の周期は、例えば、一時間に一回、一日に一回等であり、管理者によって任意に設定される。なお、図14に示される処理は、マスタに設定されている蓄積サーバ1によって実行される処理である。図14では、説明の便宜上、図2のファイルA、ファイルBを削除対象として説明する。なお、削除対象となるのは、図14の処理の実行開始時点で、冗長ファイルが存在する映像ファイルである。ただし、上限時間長に達していない最新のファイルについては、削除対象から削除されるものとする。
OP41では、削除処理部15は、削除対象のファイルA、ファイルBのインデックファイルを読み込む。次に処理がOP42に進む。
OP42では、削除処理部15は、ファイルA、ファイルB、それぞれについて、それぞれのインデックスファイルのシーケンス番号から、欠損パケット数を算出する。次に処理がOP43に進む。
OP43では、削除処理部15は、ファイルAとファイルBとで、欠損パケット数が一致しているか否かを判定する。ファイルAとファイルBとで欠損パケット数が一致する場
合には(OP43:YES)、処理がOP46に進む。ファイルAとファイルBとで欠損パケット数が異なる場合には(OP43:NO)、処理がOP44に進む。
OP44、OP45は、ファイルAとファイルBとで欠損パケット数が異なる場合の処理である。OP44では、削除処理部15は、ファイルA、ファイルB、それぞれについて、TSパケットが連続して欠損している回数を算出する。次に処理がOP45に進む。
OP45では、削除処理部15は、TSパケットが連続して欠損している回数が多い方の映像ファイルと該映像ファイルの補完ファイルとを削除対象としてマークする。第1実
施形態では、TSパケットが連続して欠損している回数が多いほど、映像品質が劣る、とみなされるためである。すなわち、削除処理部15は、映像品質の良い方のファイルを残す。次に、処理がOP47に進む。
OP46は、ファイルAとファイルBとで欠損パケット数が一致しているので、マスタである自装置が管理する映像ファイルと該映像ファイルの補完ファイルとを削除対象としてマークする。次に処理がOP47に進む。
OP47では、削除処理部15は、ディスク使用率を確認し、ファイルを格納するファイルサーバ2へのアクセス待ちのキューであるアクセスキューのサイズが所定の閾値以下となった場合に、マークしたファイルを削除する。その後、図14に示される処理が終了する。
<第1実施形態の作用効果>
第1実施形態では、例えば、蓄積サーバAは、ファイルA内の欠損パケットを、ファイルAの冗長ファイルであるファイルBから取得し、ファイルAの補完ファイルを作成する。蓄積サーバBも同様に、ファイルB内の欠損パケットをファイルAから取得し、ファイルBの補完ファイルを作成する。これによって、ファイルA、ファイルBも、より欠損パケットが少なく、より映像品質のよいデータとなり、伝送途中のパケット損失の影響を低減することができる。これによって、映像データに対する信頼性を向上させることができる。
また、蓄積サーバ1は、映像ファイルの欠損パケットの箇所に他の映像ファイルから取得した欠損パケットに対応する映像パケットを挿入するのではなく、映像ファイルとは別に補完ファイルを作成する。これによって、蓄積サーバ1に係る処理負荷の増加を抑えることができる。
第1実施形態では、補完処理部13は、映像ファイルのハッシュデータが、冗長ファイルである他の映像ファイルのハッシュデータと一致した場合に、呼び出され、動作を開始する。これによって、両ファイルのハッシュデータが一致しない場合には補完処理部13は動作しないので、補完処理部13の稼働をより少なく抑えることができ、蓄積サーバ1に係る処理負荷を少なく抑えることができる。
また、第1実施形態では、マスタに設定された蓄積サーバ1が、冗長する映像ファイルを削除することによって、映像ファイルの記憶に用いられる記憶容量を削減することができる。
また、第1実施形態では、マスタに設定された蓄積サーバ1は、ディスク使用率のアクセスキューのサイズが閾値以下である場合に、冗長ファイルを削除するため、ファイル削除による他の処理への影響を抑えることができる。
<その他>
第1実施形態では、エンコーダ50は、MPEGによって映像データをエンコードするが、これに限られず、MPEGに代えて、H265、H264等のTSパケットを用いる動画圧縮規格を用いてもよい。
第1実施形態では、TSパケット単位で、欠損パケットの補完が行われるが、これに限られず、RTPパケット単位で欠損パケットの補完が行われてもよい。RTP単位で欠損パケットの補完が行われる場合には、インデックスファイルは、TSパケットに関する情報であるTS情報に代えて、RTPパケットに関するRTP情報を含む。RTP情報は、TS情報と同様に、映像ファイルの先頭からの再生開始時間、シーケンス番号、オフセット位置情報、タイムスタンプ等を含む。この場合には、RTPパケットは、「映像パケット」の一例となる。
第1実施形態では、蓄積サーバA、蓄積サーバBの2台で冗長構成をとるシステムについて説明されたが、第1実施形態で説明された技術は、3台以上の蓄積サーバで冗長構成をとるシステムにも適用可能である。第1実施形態で説明された技術が、3台以上の蓄積サーバで冗長構成をとるシステムに適用される場合には、以下の通りとなる。
図11に示される中間処理部12の処理では、比較対象のハッシュデータが3つ以上となる。図11のOP12では、3つ以上の比較対象のハッシュデータのうち、1つでも一致しないハッシュデータがある場合には、補完処理部13が呼び出される。
また、図12の補完処理部13の処理は、例えば、蓄積サーバA、B、Cがあり、それぞれ、ファイルA、B、Cを管理する場合を想定すると、以下の通りとなる。蓄積サーバAは、ファイルAの欠損パケットが、ファイルB、ファイルCに存在するか否かを判定する。ファイルAの欠損パケットが、ファイルB、ファイルCの両方に存在する場合には、パケットが連続して欠損する回数の少ない方から欠損パケットに対応するTSパケットを取得する。ファイルAの欠損パケットが、ファイルB、ファイルCのいずれか一方に存在する場合には、ファイルAの欠損パケットを有するファイルから欠損パケットに対応するTSパケットを取得する。
または、蓄積サーバAは、ファイルAとファイルB、ファイルAとファイルC、のそれぞれの組み合わせについて、図12の処理を順に行ってもよい。例えば、1回目の図12の処理の実行によって、蓄積サーバAは、ファイルAの欠損パケットをファイルBから取得し、2回目の図12の処理の実行によって、蓄積サーバAは、ファイルBから取得されなかったファイルAの欠損パケットをファイルCから取得する。
第1実施形態では、蓄積サーバ1が、蓄積部11、中間処理部12、補完処理部13、配信処理部14、削除処理部15の処理を行う。ただし、これに限られず、蓄積部11、中間処理部12、補完処理部13、配信処理部14、削除処理部15の処理は、それぞれ異なるサーバによって実行されてもよい。すなわち、映像データ蓄積システムは、蓄積部11、中間処理部12、補完処理部13、配信処理部14、削除処理部15にそれぞれ対応する、蓄積サーバ、中間処理サーバ、補完処理サーバ、配信サーバ、削除処理サーバを含む構成であってもよい。
<記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
以上の第1実施形態に関し、さらに以下の付記を開示する。
(付記1)
映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
を備える映像データ処理装置。
(付記2)
前記作成されたファイルに基づくハッシュデータを作成するハッシュデータ作成部と、
前記作成されたファイルと前記他のファイルとのハッシュデータを比較する比較部と、をさらに備え、
前記補完データ作成部は、前記ハッシュデータが一致しない場合に、前記補完データの作成を行う、
付記1に記載の映像データ処理装置。
(付記3)
前記補完データ作成部は、前記補完データを、前記作成されたファイルとは異なるファイルとして保持する、
付記1又は2に記載の映像データ処理装置。
(付記4)
前記作成されたファイルから映像パケットを読み出し、前記作成されたファイルの欠損している映像パケットを前記補完データから読み出して、読み出した映像パケットを所定の宛先に送信する配信部、
をさらに備える付記1から3のいずれか一つに記載の映像データ処理装置。
(付記5)
前記映像パケットは作成された時刻のタイムスタンプを有し、
前記インデックス作成部は、各映像パケットのタイムスタンプも含む前記インデックスファイルを作成し、
前記配信部は、前記インデックスファイルに基づいて、前記作成されたファイル内の配信要求によって指定された時刻に該当する映像パケットの位置を特定し、特定した位置の映像パケットから送信を行う、
付記4に記載の映像データ処理装置。
(付記6)
前記作成されたファイルと前記他のファイルとのうち、映像品質の劣る方のファイルを削除する削除部、
をさらに備える付記1から5のいずれか一つに記載の映像データ処理装置。
(付記7)
前記削除部は、前記インデックスファイルから、前記作成されたファイルと前記他のファイルとのぞれぞれの映像パケットが連続して欠損している回数を算出し、前記映像パケットが連続して欠損している回数が多い方を、映像品質の劣る方として、削除する、
付記6に記載の映像データ処理装置。
(付記8)
前記映像パケットは、UDPを用いて送信される、
付記1から7のいずれか一つに記載の映像データ処理装置。
(付記9)
前記映像パケットは、所定の映像圧縮又は伸張方式によって、映像源によって取得された映像データがエンコードされて作成されたものである、
付記1から8のいずれか一つに記載の映像データ処理装置。
(付記10)
映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
を備える映像データ処理システム。
(付記11)
コンピュータが、
映像源から受信された映像パケットを含むファイルを作成し、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成し、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する、
映像データ処理方法。
(付記12)
コンピュータが、
映像源から受信された映像パケットを含むファイルを作成し、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成し、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する、
ための映像データ処理プログラム。
1 蓄積サーバ
2 ファイルサーバ
11 蓄積部
11M ファイル出力バッファ
12 中間処理部
13 補完処理部
14 配信処理部
15 削除処理部
50 エンコーダ
61、62 データセンタ
100、200 映像データ蓄積システム
101 CPU
102 主記憶装置
103 補助記憶装置

Claims (10)

  1. 映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
    前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
    前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
    を備える映像データ処理装置。
  2. 前記作成されたファイルに基づくハッシュデータを作成するハッシュデータ作成部と、
    前記作成されたファイルのハッシュデータと前記他のファイルのハッシュデータとを比較する比較部と、をさらに備え、
    前記補完データ作成部は、前記ハッシュデータが一致しない場合に、前記補完データの作成を行う、
    請求項1に記載の映像データ処理装置。
  3. 前記補完データ作成部は、前記補完データを、前記作成されたファイルとは異なるファイルとして保持する、
    請求項1又は2に記載の映像データ処理装置。
  4. 前記作成されたファイルから映像パケットを読み出し、前記作成されたファイルの欠損している映像パケットを前記補完データから読み出して、読み出した映像パケットを所定の宛先に送信する配信部、
    をさらに備える請求項1から3のいずれか一項に記載の映像データ処理装置。
  5. 前記映像パケットは作成された時刻のタイムスタンプを有し、
    前記インデックス作成部は、各映像パケットのタイムスタンプも含む前記インデックスファイルを作成し、
    前記配信部は、前記インデックスファイルに基づいて、前記作成されたファイル内の配信要求によって指定された時刻に該当する映像パケットの位置を特定し、特定した位置の映像パケットから送信を行う、
    請求項4に記載の映像データ処理装置。
  6. 前記作成されたファイルと前記他のファイルとのうち、映像品質の劣る方のファイルを削除する削除部、
    をさらに備える請求項1から5のいずれか一項に記載の映像データ処理装置。
  7. 前記削除部は、前記インデックスファイルから、前記作成されたファイルと前記他のファイルとのぞれぞれの映像パケットが連続して欠損している回数を算出し、前記映像パケットが連続して欠損している回数が多い方を、映像品質の劣る方として、削除する、
    請求項6に記載の映像データ処理装置。
  8. 映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
    前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
    前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
    を備える映像データ処理システム。
  9. コンピュータが、
    映像源から受信された映像パケットを含むファイルを作成し、
    前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成し、
    前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する、
    映像データ処理方法。
  10. コンピュータに、
    映像源から受信された映像パケットを含むファイルを作成させ、
    前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成させ、
    前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成させる、
    ための映像データ処理プログラム。
JP2015066658A 2015-03-27 2015-03-27 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム Active JP6443173B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015066658A JP6443173B2 (ja) 2015-03-27 2015-03-27 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム
US15/055,224 US9819979B2 (en) 2015-03-27 2016-02-26 Video data processing apparatus
KR1020160024636A KR101785577B1 (ko) 2015-03-27 2016-02-29 영상 데이터 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015066658A JP6443173B2 (ja) 2015-03-27 2015-03-27 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム

Publications (2)

Publication Number Publication Date
JP2016187122A JP2016187122A (ja) 2016-10-27
JP6443173B2 true JP6443173B2 (ja) 2018-12-26

Family

ID=56975949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015066658A Active JP6443173B2 (ja) 2015-03-27 2015-03-27 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム

Country Status (3)

Country Link
US (1) US9819979B2 (ja)
JP (1) JP6443173B2 (ja)
KR (1) KR101785577B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6919261B2 (ja) * 2017-03-24 2021-08-18 ヤマハ株式会社 音データ処理装置、音データ処理方法及びプログラム
JP6796024B2 (ja) * 2017-05-19 2020-12-02 ミネベアミツミ株式会社 ワイヤレス電力伝送システム、およびワイヤレス電力伝送システムの通信方法
WO2019092990A1 (ja) * 2017-11-09 2019-05-16 日本電信電話株式会社 情報蓄積装置、データ処理システム、およびプログラム
JP7202818B2 (ja) * 2018-09-07 2023-01-12 三菱電機株式会社 データ収集装置
US10909122B2 (en) * 2018-11-09 2021-02-02 International Business Machines Corporation Using modified blockchain concepts to guarantee no tuple loss and/or no tuple corruption
US11368507B2 (en) * 2019-02-16 2022-06-21 Samsung Electronics Co., Ltd. Method and device for controlling video reception
CN110572691B (zh) * 2019-08-01 2022-05-20 浙江大华技术股份有限公司 视频读取方法、装置、设备和存储介质
CN110602452B (zh) * 2019-09-05 2020-12-25 杭州米络星科技(集团)有限公司 一种保障全球udp音视频流远距离实时传输流畅的方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333104A (ja) * 1999-05-20 2000-11-30 Toshiba Corp 映像蓄積方法、映像配信システムおよび記憶媒体
JP2001312434A (ja) * 2000-04-28 2001-11-09 Nippon Telegr & Teleph Corp <Ntt> 情報配信システム
US7782787B2 (en) 2004-06-18 2010-08-24 Avaya Inc. Rapid fault detection and recovery for internet protocol telephony
MX2008013496A (es) 2006-04-18 2009-03-31 Interdigital Tech Corp Metodo y aparato para implementar h-arq en un sistema de comunicacion inalambrica mimo.
JP2008153916A (ja) * 2006-12-18 2008-07-03 Matsushita Electric Ind Co Ltd デジタル放送送受信装置及び方法
EP2103026B1 (en) * 2006-12-21 2014-02-26 Thomson Licensing A method to support forward error correction for real-time audio and video data over internet protocol networks
JP2009064237A (ja) * 2007-09-06 2009-03-26 Sony Corp デジタルシネマ処理装置、ファイル検証方法及びプログラム
WO2009044487A1 (ja) * 2007-10-05 2009-04-09 Panasonic Corporation 無線通信端末及び無線通信システム
US7913114B2 (en) * 2008-07-31 2011-03-22 Quantum Corporation Repair of a corrupt data segment used by a de-duplication engine
US20100118722A1 (en) * 2008-11-12 2010-05-13 Chalet Technology System And Method For Providing Data Streaming And Timing Information With Missing Package Recovery
JP5235800B2 (ja) * 2009-06-24 2013-07-10 日本電信電話株式会社 Ipストリーム送受信システム、ipストリーム送受信方法、ipストリーム送受信プログラムおよびそのプログラムを記録した記録媒体
JP2012095053A (ja) * 2010-10-26 2012-05-17 Toshiba Corp ストリーム伝送システム、送信装置、受信装置、ストリーム伝送方法及びプログラム
DK2823616T3 (da) * 2012-03-06 2021-01-11 Appear Tv As Fremgangsmåde, enhed og system til pakketransmission over ip-netværk
US20150365454A1 (en) * 2014-06-17 2015-12-17 Qualcomm Incorporated Media processing services on an access node

Also Published As

Publication number Publication date
US20160286254A1 (en) 2016-09-29
US9819979B2 (en) 2017-11-14
JP2016187122A (ja) 2016-10-27
KR101785577B1 (ko) 2017-10-16
KR20160115710A (ko) 2016-10-06

Similar Documents

Publication Publication Date Title
JP6443173B2 (ja) 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム
US9250821B2 (en) Recovering data in a logical object utilizing an inferred recovery list
JP2021083116A (ja) 再生方法および再生装置
JP4598627B2 (ja) コンテンツ編集装置及びその再生装置
US9538207B2 (en) Method and apparatus for managing video storage
US8798441B2 (en) Recording apparatus and recording system
US20140025771A1 (en) Data transferring apparatus, data transmitting system, data transmitting method and computer program product
CN111225171B (zh) 一种视频录制方法、装置、终端设备及计算机存储介质
CN111447455A (zh) 直播视频流回放处理方法、装置及计算设备
US10346074B2 (en) Method of compressing parity data upon writing
JP2003318977A (ja) データ配信システム、データ処理装置及びデータ処理方法、並びにコンピュータ・プログラム
US20150110202A1 (en) Simultaneous Encoding and Sending of a Video Data File
US9473732B2 (en) Self correcting record pipeline
US20200037041A1 (en) Video distribution apparatus, distribution method, and recording medium
US11303905B2 (en) Information processing system and information processing method
JP4289138B2 (ja) データ処理装置およびその方法と符号化装置
CN102084355A (zh) 多媒体内容的双类型重放
JP2003309811A (ja) 画像通信装置、画像処理システム、画像通信方法、記憶媒体、及びプログラム
JP7104819B1 (ja) 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法
CN115250266B (zh) 视频处理方法及装置、流媒体设备及存储点播系统
CN115955576B (zh) 视频数据访问方法、装置、存储节点及存储介质
KR101990689B1 (ko) 클라우드 서버의 이미지 데이터 제공 방법
JP2006301748A (ja) 情報記録再生システム、情報記録再生装置及び情報記録再生方法
JP2006352784A (ja) 伝送方法、受信装置及びコンピュータプログラム
CN116881042A (zh) Mp4文件录制断电恢复方法、装置、设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181112

R150 Certificate of patent or registration of utility model

Ref document number: 6443173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150