JP5949040B2 - Network storage device and recorded data storage program - Google Patents

Network storage device and recorded data storage program Download PDF

Info

Publication number
JP5949040B2
JP5949040B2 JP2012072447A JP2012072447A JP5949040B2 JP 5949040 B2 JP5949040 B2 JP 5949040B2 JP 2012072447 A JP2012072447 A JP 2012072447A JP 2012072447 A JP2012072447 A JP 2012072447A JP 5949040 B2 JP5949040 B2 JP 5949040B2
Authority
JP
Japan
Prior art keywords
data
gop
recorded
stb
pcr
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
JP2012072447A
Other languages
Japanese (ja)
Other versions
JP2013207421A (en
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 JP2012072447A priority Critical patent/JP5949040B2/en
Publication of JP2013207421A publication Critical patent/JP2013207421A/en
Application granted granted Critical
Publication of JP5949040B2 publication Critical patent/JP5949040B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、ストリーム放送を録画した録画データを管理するネットワークストレージ装置および録画データ蓄積プログラムに関し、ストリーム放送を記録したものであり、STB(Set Top Box)からアップロードされる、録画データを、記憶部に格納し、STBからのダウンロード要求に応じて、格納した録画データを返送するネットワークストレージ装置および録画データ蓄積プログラムに関する。   The present invention relates to a network storage device and a recorded data storage program for managing recorded data obtained by recording a stream broadcast. The present invention relates to a recorded stream broadcast and stores recorded data uploaded from an STB (Set Top Box). The present invention relates to a network storage device and a recorded data storage program for returning stored recorded data in response to a download request from an STB.

従来、サーバ型放送において、放送サーバは、ISO/IEC 13818−1およびITU−T勧告H.222.0において標準化されているトランスポートストリーム(MPEG−2 TS)の規格に沿って、放送コンテンツをストリーム放送していた。
従来のサーバ型放送は、放送サーバからのストリーム放送を受信装置が受信して、送信されたストリームデータを録画した。この録画データを受信装置それぞれが保存せずに、受信装置が録画データを蓄積サーバに送信して、蓄積サーバが録画データを一元管理するシステムがあった。
Conventionally, in a server type broadcast, a broadcast server is an ISO / IEC 13818-1 and ITU-T recommendation H.264. Broadcast content was streamed in accordance with the standard of the transport stream (MPEG-2 TS) standardized in 222.0.
In the conventional server type broadcasting, the receiving device receives the stream broadcast from the broadcast server, and the transmitted stream data is recorded. There has been a system in which each recording device does not store the recording data, but the receiving device transmits the recording data to the storage server, and the storage server centrally manages the recording data.

ここで、蓄積用データ送信装置(受信装置)は、録画データをデジタルデータ蓄積装置(蓄積サーバ)に送信するとき、データサイズが大きいため録画データを所定のサイズに分割していた。受信装置は、この分割した録画データに対してハッシュ値を付与した。そして、送信先の蓄積サーバは、このハッシュ値を照合してハッシュ値が異なる録画データのみを蓄積した。これにより、ハッシュ値が同じ録画データ、すなわち同一の録画データが重複して蓄積サーバに蓄積されないようにした(特許文献1)。   Here, when the recording data transmission device (reception device) transmits the recording data to the digital data storage device (storage server), the recording data is divided into a predetermined size because the data size is large. The receiving device assigns a hash value to the divided recording data. Then, the transmission destination storage server collates this hash value and stores only the recorded data with different hash values. As a result, recording data having the same hash value, that is, the same recording data is prevented from being repeatedly stored in the storage server (Patent Document 1).

特開2009−181648号公報JP 2009-181648 A

しかしながら、従来のシステムでは、異なる録画データであるにもかかわらず、ハッシュ値がバッティング(重複)して付与される可能性があった。そのため、同一のハッシュ値を持ってしまった異なる録画データは、蓄積サーバに保存されないという問題点があった。   However, in the conventional system, there is a possibility that the hash value is given by batting (duplicate) in spite of different recorded data. Therefore, there is a problem that different recorded data having the same hash value is not stored in the storage server.

本発明は、以上のような問題を解決するためになされたものであり、複数のSTBがストリーム放送を記録した録画データを重複および欠落なく一元管理するネットワークストレージ装置および録画データ蓄積プログラムを提供することを課題とする。   The present invention has been made to solve the above-described problems, and provides a network storage device and a recorded data storage program that collectively manage recorded data in which a plurality of STBs record stream broadcasts without duplication and omission. This is the issue.

前記課題を解決するために、本発明の請求項1に記載のネットワークストレージ装置は、ストリーム放送を受信可能な複数のSTBと通信可能に接続し、前記STBからアップロードされる、前記ストリーム放送を記録した録画データを、録画データ記憶部に蓄積するネットワークストレージ装置において、前記STBからのアップロード要求に含まれるPCRパケットのPCR値を用いてデータの範囲を示した前記録画データの範囲情報と、前記ストリーム放送に含まれるTSパケットを解析した解析データに含まれるGOPデータの検出位置とに基づき、当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報を取得し、前記STBに前記GOP分割データ範囲情報を送信し、前記STBからアップロードされた前記GOP分割データを前記録画データ記憶部に蓄積する構成とした。 In order to solve the above-described problem, the network storage device according to claim 1 of the present invention is connected to a plurality of STBs capable of receiving stream broadcasts, and records the stream broadcasts uploaded from the STBs. was the recorded data, the network storage device for storing the recorded data storage unit, wherein the range information of the recorded data showing the range of data by using the PCR value of P CR packet that is part of the upload request from the STB, Based on the detection position of GOP data included in the analysis data obtained by analyzing the TS packet included in the stream broadcast, GOP division data range information of all GOP division data within the range of the recording data is acquired, and the STB The GOP division data range information is transmitted to the STB and uploaded from the STB. The GOP division data is stored in the recorded data storage unit.

かかる構成において、ネットワークストレージ装置は、ストリーム放送に含まれるPCRパケットのPCR値を用いて録画データを管理する。   In such a configuration, the network storage device manages the recorded data using the PCR value of the PCR packet included in the stream broadcast.

本発明によれば、複数のSTBがストリーム放送を記録した録画データを重複および欠落なく一元管理することができる。ひいては、録画データを一元管理することができ、複数のSTBからアップロードされる録画データを効率良く蓄積することができる。   According to the present invention, recorded data in which a plurality of STBs record stream broadcasts can be centrally managed without duplication and omission. As a result, the recording data can be centrally managed, and the recording data uploaded from a plurality of STBs can be efficiently stored.

第1の実施形態に係るストリーム放送録画システムのブロック図である。1 is a block diagram of a stream broadcast recording system according to a first embodiment. TSパケットの構造を示す図である。It is a figure which shows the structure of TS packet. PSI,PAT,PMTのセクション構造を示す図である。It is a figure which shows the section structure of PSI, PAT, and PMT. MPEG−2 TSのストリームタイプおよびPCRパケット識別方法の例を示す図である。It is a figure which shows the example of the stream type of MPEG-2 TS, and the PCR packet identification method. TSパケットのペイロードにMPEG−2 Videoのデータを含む場合の、MPEG−2 TSデータとGOPデータとの関係を示す図である。It is a figure which shows the relationship between MPEG-2 TS data and GOP data in case the data of MPEG-2 Video are included in the payload of TS packet. ネットワークストレージの構成を示すブロック図である。It is a block diagram which shows the structure of network storage. GOPテーブルの構造を示す図である。It is a figure which shows the structure of a GOP table. PCRテーブルの構造を示す図である。It is a figure which shows the structure of a PCR table. Blockテーブルの構造を示す図である。It is a figure which shows the structure of a Block table. ストリーム解析装置の構成を示すブロック図である。It is a block diagram which shows the structure of a stream analyzer. STBの構成を示すブロック図である。It is a block diagram which shows the structure of STB. Fileテーブルの構造を示す図である。It is a figure which shows the structure of a File table. Timeテーブルの構造を示す図である。It is a figure which shows the structure of a Time table. STBの録画処理動作を示すシーケンス図である。It is a sequence diagram which shows the video recording processing operation of STB. ストリーム解析装置の解析処理動作を示すシーケンス図である。It is a sequence diagram which shows the analysis processing operation | movement of a stream analyzer. ネットワークストレージのテーブル更新処理動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing a table update processing operation of a network storage. STBの録画データアップロード処理動作を示すシーケンス図である。It is a sequence diagram which shows the video recording data upload processing operation of STB. ネットワークストレージの問い合わせ対応処理動作を示すシーケンス図である。It is a sequence diagram which shows the inquiry response processing operation of a network storage. 録画データのGOP分割データ開始位置(position)を計算するための算出方法を示す図である。It is a figure which shows the calculation method for calculating the GOP division | segmentation data start position (position) of video recording data. ネットワークストレージの録画データ書き込み対応処理動作を示すシーケンス図である。It is a sequence diagram which shows the recording data write corresponding processing operation | movement of a network storage. STBの録画データ再生処理動作を示すシーケンス図である。It is a sequence diagram which shows the recording data reproduction | regeneration processing operation | movement of STB. ネットワークストレージの再生開始通知対応処理動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing a processing operation corresponding to a reproduction start notification in a network storage. ネットワークストレージの再生終了通知対応処理動作を示すシーケンス図である。FIG. 10 is a sequence diagram showing a processing operation corresponding to a reproduction end notification in a network storage. STBのファイル削除処理動作を示すシーケンス図である。It is a sequence diagram which shows the file deletion processing operation of STB. ネットワークストレージの録画データ削除処理動作シーケンス図である。FIG. 10 is a sequence diagram of a recording data deletion processing operation in a network storage. (a)第1の状態時のGOPテーブルに記録されたデータ、(b)第1の状態時のFileテーブル621−1に記録されたデータ、(c)第1の状態時のFileテーブル621−2に記録されたデータを示す図である。(A) Data recorded in the GOP table in the first state, (b) Data recorded in the File table 621-1 in the first state, (c) File table 621-in the first state 2 is a diagram showing data recorded in FIG. 第1の状態時のGOPテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the GOP table at the time of a 1st state. 第1の状態時のPCRテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the PCR table at the time of a 1st state. 第1の状態時のBlockテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the Block table at the time of a 1st state. (a)STB600−1が備える第1の状態時Fileテーブル621−1、(a)STB600−2が備える第1の状態時Fileテーブル621−2に記録されたデータを示す図である。It is a figure which shows the data recorded on (a) File table 621-1 in the 1st state with which STB600-1 is equipped, and (a) File table 621-2 in the 1st state with which STB600-2 is equipped. (a)第2の状態時のGOPテーブルに記録されたデータを示す図である。(b)STB600−1に記録された第2の状態時の録画データRD1(RD1−1およびRD1−2)を示す図である。(A) It is a figure which shows the data recorded on the GOP table at the time of a 2nd state. (B) It is a figure which shows the video recording data RD1 (RD1-1 and RD1-2) at the time of the 2nd state recorded on STB600-1. 第2の状態時のGOPテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the GOP table at the time of a 2nd state. アップロードされたGOP分割データをネットワークストレージがNS記憶部に記録する処理を示す図である。It is a figure which shows the process which a network storage records the uploaded GOP division | segmentation data in NS memory | storage part. 第2の状態時のBlockテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the Block table at the time of a 2nd state. 第2の状態時のSTB600−1がアップロードする録画データRD1(RD1−1およびRD1−2)を図示したものである。The recording data RD1 (RD1-1 and RD1-2) uploaded by the STB 600-1 in the second state is illustrated. (a)STB600−1が備える第2の状態時のTimeテーブル622−1、(b)STB600−2が備える第2の状態時のTimeテーブル622−2に記録されたデータを示す図である。It is a figure which shows the data recorded on (a) Time table 622-1 at the time of the 2nd state with which STB600-1 is equipped, (b) Time table 622-2 at the time of the 2nd state with which STB600-2 is equipped. 第3の状態時のGOPテーブルに記録されたデータを図示したものである。The data recorded on the GOP table at the time of a 3rd state is shown in figure. 第3の状態時のGOPテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the GOP table at the time of a 3rd state. 第3の状態時のBlockテーブルに記録されたデータを示す図である。It is a figure which shows the data recorded on the Block table at the time of a 3rd state. (a)STB600−1が備える第3の状態時のTimeテーブル622−1、(b)STB600−2が備える第3の状態時のTimeテーブル622−2に記録されたデータを示す図である。It is a figure which shows the data recorded on (a) Time table 622-1 at the time of the 3rd state with which STB600-1 is provided, (b) Time table 622-2 at the time of the 3rd state with which STB600-2 is equipped.

次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
以下、図面を参照して、本発明の実施の形態(以下、「本実施形態」と称する)につき詳細に説明する。なお、各図は、本発明について概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
Next, embodiments of the present invention will be described in detail with reference to the drawings as appropriate.
Hereinafter, an embodiment of the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings. Each figure is only schematically showing the present invention. Therefore, the present invention is not limited to the illustrated example. Moreover, in each figure, the same code | symbol is attached | subjected about the common component and the same component, and those overlapping description is abbreviate | omitted.

《1.ストリーム放送録画システムの説明》
図1に示すように、ストリーム放送録画システム1は、ストリームデータを送信する放送サーバ100と、ストリームデータを受信し記録(録画)する複数のSTB600(600−1,600−2,・・・)と、ストリームデータを受信し解析するストリーム解析装置300と、STB600から送信される録画データを記録し、STB600からの要求に応じて、記録した録画データを要求のあったSTB600に出力するネットワークストレージ200(NS)とを備える。ここで、STB600からネットワークストレージ200に対する録画データの要求は、特殊再生(例えば、ジャンプ再生)を含む。
<< 1. Explanation of Stream Broadcast Recording System >>
As shown in FIG. 1, a stream broadcast recording system 1 includes a broadcast server 100 that transmits stream data, and a plurality of STBs 600 (600-1, 600-2,...) That receive and record (record) stream data. A stream analysis apparatus 300 that receives and analyzes the stream data, and a network storage 200 that records the recording data transmitted from the STB 600 and outputs the recorded recording data to the requested STB 600 in response to a request from the STB 600 (NS). Here, the recording data request from the STB 600 to the network storage 200 includes special playback (for example, jump playback).

ストリーム放送録画システム1は、(放送)ネットワーク400を介して、ストリームデータを送信し、STB600やストリーム解析装置300は、このネットワーク400に送信されたストリームデータを受信する。
また、STB600と、ストリーム解析装置300と、ネットワークストレージ200とは、(通信)ネットワーク500を介して通信可能に接続される。
The stream broadcast recording system 1 transmits stream data via the (broadcast) network 400, and the STB 600 and the stream analysis device 300 receive the stream data transmitted to the network 400.
In addition, the STB 600, the stream analysis device 300, and the network storage 200 are communicably connected via a (communication) network 500.

(ネットワーク400,500)
ネットワーク400は、放送サーバ100が送信するストリームデータを、ストリーム解析装置300およびSTB600が受信するネットワークである。
ネットワーク500は、ネットワークストレージ200とストリーム解析装置300とを接続し、ネットワークストレージ200とSTB600とを接続するネットワークである。
(Network 400, 500)
The network 400 is a network where the stream analysis device 300 and the STB 600 receive stream data transmitted from the broadcast server 100.
The network 500 is a network that connects the network storage 200 and the stream analysis device 300 and connects the network storage 200 and the STB 600.

ここでは、ネットワーク400は必ずしも双方向通信が行われるネットワークでなくてもよいため、ネットワークを、ネットワーク400とネットワーク500とで便宜上分けて示している。このネットワーク400は、映像データをMPEG−2の規格で圧縮した映像信号を送信可能なネットワークであればよいため、例えば、ケーブルテレビやインターネットテレビ等の放送の場合、ネットワーク400およびネットワーク500は、インターネットプロトコル(Internet Protocol)技術を利用した無線/有線LANなどを用いた一つのIPネットワークであってもよい。   Here, the network 400 does not necessarily need to be a network in which bidirectional communication is performed, and therefore, the network 400 and the network 500 are shown separately for convenience. The network 400 only needs to be a network that can transmit a video signal obtained by compressing video data according to the MPEG-2 standard. For example, in the case of broadcasting such as cable TV and Internet TV, the network 400 and the network 500 are the Internet. One IP network using a wireless / wired LAN using a protocol (Internet Protocol) technology may be used.

(放送サーバ100)
放送サーバ100は、映像や音声などの放送信号をストリーム形式でネットワーク400に送信する装置である。本実施形態では、「MPEG−2 TS」の規格に沿って、放送信号をストリーム形式で送信する。この送出された信号をストリームデータとする。放送サーバ100が送出する放送信号については、詳細を後記する。
(Broadcast server 100)
The broadcast server 100 is a device that transmits broadcast signals such as video and audio to the network 400 in a stream format. In the present embodiment, a broadcast signal is transmitted in a stream format in accordance with the “MPEG-2 TS” standard. This transmitted signal is set as stream data. Details of the broadcast signal transmitted by the broadcast server 100 will be described later.

(ネットワークストレージ200)
ネットワークストレージ200は、ストリーム解析装置300からの解析データと、STB600からの録画データとを蓄積し管理する装置である。詳細を後記する。
(Network storage 200)
The network storage 200 is a device that accumulates and manages analysis data from the stream analysis device 300 and recording data from the STB 600. Details will be described later.

(ストリーム解析装置300)
ストリーム解析装置300は、放送サーバ100から送信されるストリームデータを解析し、解析結果をネットワークストレージ200に出力する装置である。詳細を後記する。
(Stream analysis device 300)
The stream analysis device 300 is a device that analyzes stream data transmitted from the broadcast server 100 and outputs the analysis result to the network storage 200. Details will be described later.

(STB600)
STB600は、ストリーム形式で送信される放送信号を受信して、テレビで視聴可能な信号に変換する装置である。このSTB600は、ネットワーク400を介して放送サーバ100と接続し、ネットワーク500を介してネットワークストレージ200と接続され、放送サーバ100が送信するストリームデータを受信し、一時的に記録(録画)する。そして、STB600は、記録した録画データ(ストリームデータ)をネットワークストレージ200に送信する。その後、STB600は、ユーザからの要求に応じてネットワークストレージ200に録画データの送信を要求し、ネットワークストレージ200から録画データを受信する。これにより、STB600が受信した録画データをテレビに出力することで、テレビ画面にユーザが要求した映像を表示させることができる。
(STB600)
The STB 600 is a device that receives a broadcast signal transmitted in a stream format and converts it into a signal that can be viewed on a television. The STB 600 is connected to the broadcast server 100 via the network 400, is connected to the network storage 200 via the network 500, receives stream data transmitted by the broadcast server 100, and temporarily records (records) it. Then, the STB 600 transmits the recorded recording data (stream data) to the network storage 200. Thereafter, the STB 600 requests the network storage 200 to transmit recording data in response to a request from the user, and receives the recording data from the network storage 200. Thereby, the video data requested by the user can be displayed on the television screen by outputting the recording data received by the STB 600 to the television.

《2.信号およびデータの説明》
ここで、本実施形態において扱う信号およびデータについて説明する。
<< 2. Explanation of signals and data >>
Here, signals and data handled in the present embodiment will be described.

(放送信号)
ここで、放送サーバ100が出力する放送信号について説明する。
MPEG−2で圧縮された映像信号は、1つのIピクチャ(Intra-coded Picture)と、複数のPピクチャ(Predictive-coded Picture)およびBピクチャ(Bidirectionally Predictive-coded Picture)とから成るGOP(Group Of Pictures)とよばれるフレームの集まりで構成される。以下、このフレームをGOPデータと称する。
複数のGOPデータで構成される映像信号は、符号化されて、ES(Elementary Stream)と呼ばれる符号化データ列に変換される。このESは、デコードや提示に都合のよいかたまりに区切られ、ヘッダ(PESヘッダ)が付加され、PES(Packetized Elementary Stream)パケットという可変長のパケットに納められる。そして、PESパケットは細かく分割され、188バイトの固定長のTS(Transport Stream)パケットに格納される。これらTSパケットには、映像や音声などのコンポーネントごとに異なる値のPID(Packet IDentifier)が付与される。さらに、映像信号以外のその他の音声信号などのコンポーネントと共に多重化されて、TS(放送信号)が作成される。放送サーバ100は、このTSをネットワーク400に送出(放送)する。これにより、ストリームデータを受信したSTB600は、PIDの値に基づいて、ストリームデータから番組を構成するパケットを抽出して、復号し、テレビで視聴可能な信号に変換する。
(Broadcast signal)
Here, the broadcast signal output by the broadcast server 100 will be described.
A video signal compressed by MPEG-2 is a GOP (Group Of) composed of one I picture (Intra-coded Picture), a plurality of P pictures (Predictive-coded Picture) and B pictures (Bidirectionally Predictive-coded Picture). It consists of a collection of frames called Pictures). Hereinafter, this frame is referred to as GOP data.
A video signal composed of a plurality of GOP data is encoded and converted into an encoded data string called ES (Elementary Stream). The ES is divided into chunks convenient for decoding and presentation, a header (PES header) is added, and the ES is stored in a variable-length packet called a PES (Packetized Elementary Stream) packet. The PES packet is finely divided and stored in a TS (Transport Stream) packet having a fixed length of 188 bytes. These TS packets are assigned different values of PID (Packet IDentifier) for each component such as video and audio. Furthermore, it is multiplexed together with other components such as an audio signal other than the video signal to create a TS (broadcast signal). The broadcast server 100 sends (broadcasts) this TS to the network 400. As a result, the STB 600 that has received the stream data extracts the packets that make up the program from the stream data based on the PID value, decodes them, and converts them into signals that can be viewed on the television.

(GOPデータ)
本発明のネットワークストレージ200は、録画データの重複判定をGOPデータ単位で行う。
ここで、受信した放送データ(MPEG−2 TS)をGOPデータに分割する方法、および、各GOPデータを識別するための各種値の取得方法について説明する。
(GOP data)
The network storage 200 according to the present invention performs duplication determination of recorded data in units of GOP data.
Here, a method for dividing received broadcast data (MPEG-2 TS) into GOP data and a method for acquiring various values for identifying each GOP data will be described.

ストリーム解析装置300が備えるストリーム解析部360(図10)は、各TSパケットのPID(Packet Identifier)の値を確認しPSI(図3)を取得することにより、ストリームデータに含まれるPCRパケットの識別を行う。
ヘッダにあるPCR(Program Clock Reference)に値(図3)が書き込まれたTSパケットをPCRパケットと称する。このPCRパケットは、MPEG−2規格により、エンコード側(放送サーバ100)がストリームデータ(TSパケットの連続)を送出するときに、0.1秒間に少なくとも1つ組み込まれる。
The stream analysis unit 360 (FIG. 10) included in the stream analysis device 300 confirms the value of the PID (Packet Identifier) of each TS packet and acquires the PSI (FIG. 3), thereby identifying the PCR packet included in the stream data. I do.
A TS packet in which a value (FIG. 3) is written in a PCR (Program Clock Reference) in the header is referred to as a PCR packet. According to the MPEG-2 standard, at least one PCR packet is incorporated in 0.1 second when the encoding side (broadcast server 100) sends stream data (continuous TS packets).

図2を用いて、TSパケットの構造について説明する。
TSパケットは、188バイト固定長のパケットであり、4バイト(32ビット)のヘッダと、アダプテーションフィールドとで構成される。TSパケットのヘッダの先頭から12ビット目から24ビット目までの13ビットには、PIDが格納される。このPIDからTSパケットを判定する。PIDが「0x0000」のTSパケットがPATであり、PIDが「0x0010〜0x1FFE」のTSパケットがPMTであり、その他各種ストリームのPIDが割り当てられている。
The structure of the TS packet will be described with reference to FIG.
The TS packet is a packet having a fixed length of 188 bytes, and includes a 4-byte (32-bit) header and an adaptation field. PID is stored in 13 bits from the 12th bit to the 24th bit from the top of the header of the TS packet. A TS packet is determined from this PID. A TS packet with a PID of “0x0000” is a PAT, a TS packet with a PID of “0x0010 to 0x1FFE” is a PMT, and PIDs of other various streams are assigned.

TSパケットの先頭から32bit(4byte)の後ろがアダプテーションフィールドであり、アダプテーションフィールドの先頭から16bit(2byte)の後ろがオプションフィールドであり、オプションフィールドの先頭がPCRフィールドである。TSパケット内のアダプテーションフィールド(adaptation field)およびペイロード(payload)の構成は、27ビット目と28ビット目の2ビットで示されるアダプテーションフィールド制御(adaptation field control)の値により決定される。
アダプテーションフィールドの12ビット目から16ビット目までのフラグ(flags)(5ビット)は、次に続くオプションフィールド(option field)の構成を示しており、フラグが立っている場合、そのフラグに応じた各種データがオプションフィールドに格納されていることを示している。このアダプテーションフィールドの12ビット目がPCR_flagであり、このフラグが立っている(1)場合、オプションフィールドにPCR値が格納されていることを示す。このPCR_flagが1のTSパケットをPCRパケットと称する。ここで、PCR値は、アダプテーションフィールドの先頭から48ビット(その内6ビットはreserved(予約))から取得することができる。
The 32 bits (4 bytes) after the beginning of the TS packet is the adaptation field, the 16 bits (2 bytes) after the beginning of the adaptation field is the option field, and the head of the option field is the PCR field. The configuration of the adaptation field and payload in the TS packet is determined by the value of the adaptation field control indicated by 2 bits of the 27th bit and the 28th bit.
The flags (flags) (5 bits) from the 12th bit to the 16th bit of the adaptation field indicate the configuration of the next optional field (option field). If a flag is set, it corresponds to the flag. It shows that various data are stored in the option field. The 12th bit of this adaptation field is PCR_flag, and when this flag is set (1), it indicates that the PCR value is stored in the option field. A TS packet whose PCR_flag is 1 is referred to as a PCR packet. Here, the PCR value can be acquired from 48 bits from the beginning of the adaptation field (of which 6 bits are reserved).

図3は、TSパケットのペイロードにPAT、PMTを含む場合のペイロードの構造を示す図である。
PAT、PMTなどのPSI(Program Specific Information)データは、TSパケットのペイロードにMPEG−2 セクション形式で格納される。PSIの13ビット目から24ビット目までの12ビットには、セクション長(section length)が格納されており、次のビットからの後続データのデータ長を示している。
FIG. 3 is a diagram showing the structure of the payload when the payload of the TS packet includes PAT and PMT.
PSI (Program Specific Information) data such as PAT and PMT is stored in the payload of the TS packet in the MPEG-2 section format. The 12 bits from the 13th bit to the 24th bit of the PSI store a section length, which indicates the data length of subsequent data from the next bit.

PAT(PIDが「0x0000」、以下、PID=0と称する。)のとき、PSIの
65ビット目以降には、MPEG−2 TSに含まれる番組数分(=N番組)のセクションデータ(PAT section data)(1番組32ビットのセクションデータ)が格納されている。各セクションデータの先頭の16ビットが番組番号(program_number)を示しており、20ビット目から32ビット目までの13ビットが前記番組番号に対応するPIDを示している。このセクションデータにより、番組番号とPMTのPIDとの対応付けが可能となる。
In the case of PAT (PID is “0x0000”, hereinafter referred to as PID = 0), section data (PAT section) for the number of programs (= N programs) included in the MPEG-2 TS is included in the 65th and subsequent bits of PSI. data) (1 program 32-bit section data) is stored. The first 16 bits of each section data indicate a program number (program_number), and 13 bits from the 20th bit to the 32nd bit indicate a PID corresponding to the program number. With this section data, it is possible to associate the program number with the PMT PID.

PMT(PIDはPATで指定)の場合も、PSIの65ビット目以降に、セクションデータ(PMT section data)が格納されている。セクションデータの4ビット目から16ビット目までの13ビットには、クロック(clock)のPID(PCR_PID)が格納されている(図4参照)。このPIDのTSパケットを解析することにより、PCR値を取得することが可能となる。
さらに、このセクションデータ(PMT section data)の21ビット目〜32ビット目までの12ビットには、次のビットから続くプログラム情報のデータ長(program_info_length)(可変長)が格納されている。このデータ長をN1とする。
In the case of PMT (PID is designated by PAT), section data (PMT section data) is stored after the 65th bit of PSI. The 13 bits from the 4th bit to the 16th bit of the section data store the PID (PCR_PID) of the clock (see FIG. 4). By analyzing this PID TS packet, the PCR value can be acquired.
Further, the data length (program_info_length) (variable length) of program information that continues from the next bit is stored in 12 bits from the 21st bit to the 32nd bit of the section data (PMT section data). This data length is N1.

セクションデータ(PMT section data)の32+N1ビット目以降から、番組に含まれるストリーム数分のエレメンタリストリームデータ(40+N2ビット)が格納されている。各エレメンタリストリームデータの先頭の8ビットにはストリームタイプ(stream_type)が格納されており、12ビット目から24ビット目までの13ビットにはそのストリームタイプに対応するPID(elementary_PID)が格納されている。このエレメンタリストリームデータにより、番組のストリームタイプとPIDとの対応付けが可能となる。   Elementary stream data (40 + N2 bits) corresponding to the number of streams included in the program are stored from the 32 + N1th bit onwards of section data (PMT section data). A stream type (stream_type) is stored in the first 8 bits of each elementary stream data, and a PID (elementary_PID) corresponding to the stream type is stored in 13 bits from the 12th bit to the 24th bit. Yes. With this elementary stream data, it is possible to associate a stream type of a program with a PID.

図4は、MPEG−2 TSのストリームタイプおよびPCRパケット識別方法の例を示した図である。
まず、ストリーム解析部360は、PID=0のTSパケットを検出して、PATのTSパケットを取得する。このPATのTSパケットには、ProgramID(番組番号)=0001と、その番組に対応するPMTのTSパケットのPID=16とが対応して格納されている。
FIG. 4 is a diagram showing an example of an MPEG-2 TS stream type and a PCR packet identification method.
First, the stream analysis unit 360 detects a TS packet with PID = 0, and acquires a PAT TS packet. In this PAT TS packet, ProgramID (program number) = 0001 and PID = 16 of the PMT TS packet corresponding to the program are stored.

次に、ストリーム解析部360は、ProgramIDが0001のPMTのTSパケット、すなわち、PID=16のTSパケットを検出する。これにより、目的の番組のPMTのTSパケットを取得する。このPMTのパケットには、目的の番組のPCRのPID、およびストリームタイプ別のPIDの関連付けが行われている。   Next, the stream analysis unit 360 detects a PMT TS packet with ProgramID 0001, that is, a TS packet with PID = 16. Thus, the PMT TS packet of the target program is acquired. The PMT packet is associated with the PID of the PCR of the target program and the PID for each stream type.

ストリームタイプがMPEG−2 VideoのPID=257のTSパケットを結合することで、MPEG−2 Videoのデータを取り出すことができる。また、PCRのPID=256のTSパケットにより、そのデータ位置におけるPCR値を取得することができる。   MPEG-2 Video data can be extracted by combining TS packets with a stream type of PID = 257 with MPEG-2 Video. In addition, the PCR value at the data position can be acquired from the TS packet of PCR PID = 256.

図5は、TSパケットのペイロードにMPEG−2 Videoのデータを含む場合の、MPEG−2 TSデータとGOPデータとの関係を示した図である。
MPEG−2 TSでは、PMTに記載されたストリームタイプがMPEG−2 VideoのTSパケットのペイロードを結合することで、メディア情報の単位であるPESパケットに分割することができる。
FIG. 5 is a diagram illustrating the relationship between MPEG-2 TS data and GOP data when MPEG-2 Video data is included in the payload of a TS packet.
In the MPEG-2 TS, the stream type described in the PMT can be divided into PES packets that are units of media information by combining the payloads of the MPEG-2 Video TS packets.

PESパケットはヘッダ(PESヘッダ)とペイロードとにより構成され、ペイロードを結合するとMPEG−2 Videoのシーケンスに分割される。さらに、シーケンスはヘッダとペイロード(とエンドコード)とにより構成され、ペイロードは複数のGOPデータにより構成される。なお、PESパケットの最大長は65536バイトであり、通常はGOPデータに含まれる1ピクチャをPESのペイロードに格納する。また、GOPデータは複数の画像をまとめたものであり、メディア上の並びでIピクチャが先頭に来ることから、GOP単位で独立して再生することが可能である。   A PES packet is composed of a header (PES header) and a payload. When the payload is combined, the PES packet is divided into an MPEG-2 Video sequence. Further, the sequence is composed of a header and a payload (and an end code), and the payload is composed of a plurality of GOP data. Note that the maximum length of the PES packet is 65536 bytes, and normally one picture included in the GOP data is stored in the payload of the PES. The GOP data is a collection of a plurality of images, and the I picture comes first in the arrangement on the medium, so that it can be reproduced independently for each GOP.

《3.定義する用語の説明》
ここで、本明細書において定義する用語である「SGP」、「GTC」、「PTC」について、図5を用いて説明する。
ここで、GOPデータの先頭を含むPESパケットに対して、PESパケットデータの先頭を格納するTSパケット(先頭TSパケット)の手前に存在し、PCR値の最も大きいPCRパケットを範囲先端PCRパケットとする。また、範囲先端PCRパケットのPCR値をSGP、範囲先端PCRパケットから次の範囲先端PCRパケットの1つ手前となるTSパケットまでに存在するTSパケット一式をGOP分割データとし、GOP分割データのTSパケット数をGTCとする。
また、後記の図19において説明するが、PCRパケットから次のPCRパケットの1つ手前となるTSパケットまでに存在するTSパケットのパケット数をPTCとする。詳細は後記する図19を用いて説明する。
<< 3. Explanation of terms to be defined >>
Here, the terms “SGP”, “GTC”, and “PTC” defined in this specification will be described with reference to FIG.
Here, with respect to the PES packet including the head of the GOP data, the PCR packet which exists before the TS packet (head TS packet) storing the head of the PES packet data and has the largest PCR value is set as the range leading PCR packet. . Further, the PCR value of the range leading PCR packet is SGP, and a set of TS packets existing from the range leading PCR packet to the TS packet immediately before the next range leading PCR packet is GOP divided data, and the GOP divided data TS packet Let the number be GTC.
Further, as will be described later with reference to FIG. 19, the number of TS packets existing from a PCR packet to a TS packet immediately before the next PCR packet is defined as PTC. Details will be described with reference to FIG.

《4.ネットワークストレージ200の構成》
図6に示すように、ネットワークストレージ200は、NSDB管理部210と、NSDB220と、NS記憶部230と、解析データ受信部250と、ストレージ管理部260と、録画データ受信部270とを備える。
NSDB管理部210と、解析データ受信部250と、ストレージ管理部260と、録画データ受信部270とは、制御手段として機能し、例えば、CPU(Central Processing Unit)で構成される。各構成部の制御部としての機能は、CPUが不図示の記憶部に格納されるプログラムを展開し、実行することによって実現される。
NSDB220と、NS記憶部230とは、データやプログラムを記憶する構成部であり、例えば、HDD(Hard Disc Drive)、RAM(Random Access Memory)、光ディスク等の記憶手段である。
<< 4. Configuration of Network Storage 200 >>
As illustrated in FIG. 6, the network storage 200 includes an NSDB management unit 210, an NSDB 220, an NS storage unit 230, an analysis data reception unit 250, a storage management unit 260, and a recording data reception unit 270.
The NSDB management unit 210, the analysis data reception unit 250, the storage management unit 260, and the recording data reception unit 270 function as control means, and are configured by, for example, a CPU (Central Processing Unit). The function of each component as a control unit is realized by the CPU developing and executing a program stored in a storage unit (not shown).
The NSDB 220 and the NS storage unit 230 are components that store data and programs, and are storage units such as an HDD (Hard Disc Drive), a RAM (Random Access Memory), and an optical disc, for example.

(NSDB管理部210)
NSDB管理部210は、NSDB220に対する要求(データ作成、データ読み込み、データ更新、データ削除)に応じて、NSDB220に記憶されたデータ更新等の処理を行う。
(NSDB management unit 210)
The NSDB management unit 210 performs processing such as data update stored in the NSDB 220 in response to requests to the NSDB 220 (data creation, data reading, data update, data deletion).

(NSDB220)
NSDB220は、GOPテーブル221(図7)と、PCRテーブル222(図8)と、Blockテーブル223(図9)とを保持する。
(NSDB220)
The NSDB 220 holds a GOP table 221 (FIG. 7), a PCR table 222 (FIG. 8), and a Block table 223 (FIG. 9).

(GOPテーブル221)
GOPテーブル221は、ネットワークストレージ200にアップロードされた録画データのGOP分割データの情報(SGP、GTC等、図4,図5参照)を記憶する構成部である。図7に示すように、このGOPテーブル221には、GOP分割データの情報毎に1レコードが記憶され、GOP分割データの情報は、ProgramID、SGP、GTC、DataID、UserCount、およびGOPStatusで構成される。
(GOP table 221)
The GOP table 221 is a component that stores information on GOP division data (SGP, GTC, etc., see FIGS. 4 and 5) of video recording data uploaded to the network storage 200. As shown in FIG. 7, this GOP table 221 stores one record for each piece of GOP divided data information, and the information of the GOP divided data is composed of ProgramID, SGP, GTC, DataID, UserCount, and GOPStatus. .

ここで、ProgramIDは、番組番号である。
SGPは、範囲先端PCRパケットのPCR値である。
GTCは、GOP分割データを構成するTSパケットのパケット総数である。
DataIDは、後記するBlockテーブル223のレコードを一意にする情報であり、NS記憶部230に蓄積されたGOP分割データの領域に係る情報である。
UserCountは、当該GOP分割データを含む録画を行ったSTB600の数である。これは、後記する図17のステップS405において、STB600から送信される〔ProgramID、Start−PCR、End−PCR、offset〕は、録画データのサイズを示し、このサイズに含まれるGOP分割データの情報に対して、UserCountが1加算される。
GOPStatusは、GOP分割データの利用可否情報である。“N(None)”、“U(Unavailable)”、“A(Available)”のいずれか一つが記録される。詳細を後記する。
Here, ProgramID is a program number.
SGP is the PCR value of the range leading PCR packet.
GTC is the total number of TS packets constituting the GOP division data.
DataID is information that makes a record of the Block table 223, which will be described later, unique, and is information related to an area of GOP division data accumulated in the NS storage unit 230.
UserCount is the number of STBs 600 that performed recording including the GOP division data. This is because [ProgramID, Start-PCR, End-PCR, offset] transmitted from the STB 600 in step S405 of FIG. 17 to be described later indicates the size of the recording data, and is included in the information of the GOP division data included in this size On the other hand, 1 is added to UserCount.
GOPStatus is the availability information of GOP divided data. Any one of “N (None)”, “U (Unavailable)”, and “A (Available)” is recorded. Details will be described later.

(PCRテーブル222)
PCRテーブル222は、PCRパケットの情報を記憶する構成部である。図8に示すように、このPCRテーブル222には、PCRパケット毎に1レコードのPCRパケットの情報が記憶され、このPCRパケットの情報は、ProgramID、PCR、およびPTCで構成される。
(PCR table 222)
The PCR table 222 is a component that stores information on PCR packets. As shown in FIG. 8, this PCR table 222 stores information of one record of the PCR packet for each PCR packet, and this PCR packet information includes Program ID, PCR, and PTC.

(Blockテーブル223)
Blockテーブル223は、ブロック単位で区切られたNS記憶部230の記憶領域の情報を記憶する構成部である。図9に示すように、このBlockテーブル223には、DataID毎に1レコードの記憶領域の情報が記憶され、この記憶領域の情報は、DataID、NextID(次のDataID)、StorageID(記憶装置の識別番号)、BlockID(開始ブロック番号)、BlockCount(総ブロック数)、およびRefCounter(参照カウンタ)で構成される。
(Block table 223)
The Block table 223 is a configuration unit that stores information on storage areas of the NS storage unit 230 partitioned in units of blocks. As shown in FIG. 9, the Block table 223 stores information of one record storage area for each DataID. The storage area information includes DataID, NextID (next DataID), and StorageID (storage device identification). Number), BlockID (start block number), BlockCount (total number of blocks), and RefCounter (reference counter).

図6に戻る。
(NS記憶部230)
NS記憶部230は、録画データを記録する記憶部である。このNS記憶部230は、例えば、HDDなどの複数の記憶装置を組み合わせたものであり、NS200の制御部(解析データ受信部250、ストレージ管理部260、録画データ受信部270)に制御されて、NAS(Network Attached Storage)およびRAID(Redundant Arrays of Inexpensive Disks)としての機能を実現している。
Returning to FIG.
(NS storage unit 230)
The NS storage unit 230 is a storage unit that records recording data. The NS storage unit 230 is a combination of a plurality of storage devices such as HDDs, and is controlled by the control unit (analysis data receiving unit 250, storage management unit 260, recording data receiving unit 270) of the NS 200, Functions as NAS (Network Attached Storage) and RAID (Redundant Arrays of Inexpensive Disks) are realized.

(解析データ受信部250)
解析データ受信部250は、ストリーム解析装置300から送信される解析データを受信し、この解析データから一部のデータを抽出し、NSDB管理部210に出力する構成部である。解析データ受信部250が解析データから抽出するデータは、NSDB管理部210によりNSDB220のGOPテーブル221、PCRテーブル222に記録されているデータである。
つまり、解析データ受信部250は、GOPテーブル221の〔ProgramID、SGP、GTC〕、PCRテーブル222の〔PCR、PTC〕の値をストリーム解析装置300から送信される解析データから抽出する。
(Analysis data receiving unit 250)
The analysis data receiving unit 250 is a component that receives the analysis data transmitted from the stream analysis device 300, extracts some data from the analysis data, and outputs the extracted data to the NSDB management unit 210. The data extracted from the analysis data by the analysis data receiving unit 250 is data recorded in the GOP table 221 and the PCR table 222 of the NSDB 220 by the NSDB management unit 210.
That is, the analysis data receiving unit 250 extracts the values of [ProgramID, SGP, GTC] in the GOP table 221 and [PCR, PTC] in the PCR table 222 from the analysis data transmitted from the stream analysis device 300.

(ストレージ管理部260)
ストレージ管理部260は、NS記憶部230の記憶可能なデータ領域の使用状況をブロック単位で管理する。このストレージ管理部260は、複数の記憶装置(HDDなど)で構成されるNS記憶部230のデータ領域を、各記憶装置の識別番号(StorageID)と、ストレージ毎のブロック番号(BlockID)とで区分したブロック単位で、Blockテーブル223を用いて管理する。ここで、ストレージ管理部260は、NSDB220のBlockテーブル223のデータを更新するとき、NSDB管理部210に更新要求をして、NSDB管理部210に更新させる。
(Storage management unit 260)
The storage management unit 260 manages the usage status of the storable data area of the NS storage unit 230 in units of blocks. The storage management unit 260 classifies the data area of the NS storage unit 230 formed of a plurality of storage devices (such as HDDs) by an identification number (StorageID) of each storage device and a block number (BlockID) for each storage. Each block is managed using the Block table 223. Here, when updating the data in the Block table 223 of the NSDB 220, the storage management unit 260 makes an update request to the NSDB management unit 210 and causes the NSDB management unit 210 to update the data.

(録画データ受信部270)
録画データ受信部270は、STB600から転送される録画データを受信すると共に、その録画データをNS記憶部230に記録する。このとき、録画データ受信部270は、NSDB管理部210を介してBlockテーブル223に基づき、NS記憶部230の記憶領域を確保し、そのNS記憶部230の記憶領域に録画データを記録する。
(Recording data receiving unit 270)
The recorded data receiving unit 270 receives the recorded data transferred from the STB 600 and records the recorded data in the NS storage unit 230. At this time, the recording data receiving unit 270 secures a storage area of the NS storage unit 230 based on the Block table 223 via the NSDB management unit 210 and records the recording data in the storage area of the NS storage unit 230.

《5.ストリーム解析装置300の構成》
図10に示すように、ストリーム解析装置300は、ストリーム受信部350と、ストリーム解析部360と、ネットワークストレージ通信部370とを備える。
<< 5. Configuration of Stream Analysis Device 300 >>
As illustrated in FIG. 10, the stream analysis device 300 includes a stream reception unit 350, a stream analysis unit 360, and a network storage communication unit 370.

(ストリーム受信部350)
ストリーム受信部350は、ネットワーク400と接続され、放送サーバ100から送信されるストリームデータを受信し、ストリーム解析部360に出力する構成部である。
(Stream receiver 350)
The stream receiving unit 350 is a component that is connected to the network 400, receives stream data transmitted from the broadcast server 100, and outputs the stream data to the stream analysis unit 360.

(ストリーム解析部360)
ストリーム解析部360は、ストリームデータを解析して、解析データを生成する構成部である。
このストリーム解析部360は、番組開始時点のストリームデータを構成するTSパケットの連続を監視し、PCRパケットを検出する(図2)。そして、PCRパケットの情報(SGP、GTC、およびPTCの各種値)を取得して、随時メモリ(不図示)に記録させる。そして、ストリーム解析部360は、番組終了後、ストリームデータから得られた、ProgramIDと、PCRパケットの情報(SGP、GTC、およびPTCの各種値)とで構成される解析データを生成する。そして、ストリーム解析部360は、解析データを、ネットワークストレージ通信部370を介してネットワークストレージ200に送信(通知)させる。
(Stream analysis unit 360)
The stream analysis unit 360 is a component that analyzes stream data and generates analysis data.
The stream analysis unit 360 monitors the continuation of TS packets constituting the stream data at the start of the program and detects PCR packets (FIG. 2). Then, the information of the PCR packet (SGP, GTC, and various values of PTC) is acquired and recorded in a memory (not shown) as needed. Then, after the program ends, the stream analysis unit 360 generates analysis data composed of ProgramID and PCR packet information (SGP, GTC, and various values of PTC) obtained from the stream data. Then, the stream analysis unit 360 transmits (notifies) the analysis data to the network storage 200 via the network storage communication unit 370.

(ネットワークストレージ通信部370)
ネットワークストレージ通信部370は、ネットワーク500と接続され、ストリーム解析部360から取得した解析データをネットワークストレージ200に送信する構成部である。
(Network storage communication unit 370)
The network storage communication unit 370 is a component that is connected to the network 500 and transmits analysis data acquired from the stream analysis unit 360 to the network storage 200.

《6.STB600の構成》
図11に示すように、STB600は、STBDB管理部610と、STBDB620と、STB記憶部630と、入力制御部640と、操作入力部641と、ストリームデータ受信部650と、録画データ送信部660と、録画データ受信部670と、信号変換出力部680とを備える。
<< 6. Configuration of STB600 >>
As shown in FIG. 11, the STB 600 includes an STBDB management unit 610, an STBDB 620, an STB storage unit 630, an input control unit 640, an operation input unit 641, a stream data reception unit 650, and a recording data transmission unit 660. A recording data receiving unit 670 and a signal conversion output unit 680.

(STBDB管理部610)
STBDB管理部610は、STBDB620に対する作成・読み込み・更新・削除の各要求を処理する。
(STBDB management unit 610)
The STBDB management unit 610 processes creation / reading / update / deletion requests to the STBDB 620.

(STBDB620)
STBDB620は、Fileテーブル621(図12)、Timeテーブル622(図13)を保持する。
(STBDB620)
The STBDB 620 holds a File table 621 (FIG. 12) and a Time table 622 (FIG. 13).

(Fileテーブル621)
Fileテーブル621は、STB600が受信したストリームデータの情報(STB記憶部630に記録された録画データの情報)を記憶する構成部である。図12に示すように、このFileテーブル621には、録画データ毎に1レコードの録画データの情報が記憶され、この録画データの情報は、ProgramID、file、Start−PCR、End−PCR、およびoffsetで構成される。
Start−PCRは、録画開始後、最初のPCRパケットのPCR値である。
End−PCRは、録画終了の直前に存在するPCRパケットのPCR値である。
offsetは、録画開始後、最初のPCRパケットが検出されるまでに存在するTSパケット(つまり、最初のTSパケットから最初のPCRパケットの1つ手前となるTSパケットまでに存在するTSパケット)の数である。
(File table 621)
The file table 621 is a configuration unit that stores stream data information (recorded data information recorded in the STB storage unit 630) received by the STB 600. As shown in FIG. 12, in the File table 621, information of recording data of one record is stored for each recording data, and the information of the recording data includes ProgramID, file, Start-PCR, End-PCR, and offset. Consists of.
Start-PCR is the PCR value of the first PCR packet after the start of recording.
End-PCR is a PCR value of a PCR packet existing immediately before the end of recording.
offset is the number of TS packets existing after the start of recording until the first PCR packet is detected (that is, TS packets existing from the first TS packet to the TS packet one prior to the first PCR packet). It is.

(Timeテーブル622)
Timeテーブル622は、STB記憶部630に記録されたGOP分割データの位置サイズ情報を記憶する構成部である。図13に示すように、このTimeテーブル622には、録画データに含まれるGOP分割データ毎に1レコードのGOP分割データの位置サイズ情報が記憶され、このGOP分割データの位置サイズ情報は、ProgramID、SGP、time(録画データ先頭からの相対時間)、file(ファイル名)、position(GOP分割データ開始位置;録画データの先頭からの距離をTSパケットの数で示す)、およびLength(GOP分割データ長;単位はビット)で構成される。
(Time table 622)
The Time table 622 is a component that stores position size information of GOP division data recorded in the STB storage unit 630. As shown in FIG. 13, in this Time table 622, the position size information of GOP divided data of one record is stored for each GOP divided data included in the recorded data. The position size information of this GOP divided data includes ProgramID, SGP, time (relative time from the beginning of the recording data), file (file name), position (GOP division data start position; the distance from the beginning of the recording data is indicated by the number of TS packets), and Length (GOP division data length) Unit is bits).

図11に戻る。
(STB記憶部630)
STB記憶部630は、録画データを記録する記憶部である。このSTB記憶部630は、例えば、フラッシュメモリやHDD、光ディスクなどの記憶装置である。
Returning to FIG.
(STB storage unit 630)
The STB storage unit 630 is a storage unit that records recording data. The STB storage unit 630 is a storage device such as a flash memory, an HDD, or an optical disk.

(操作入力部641)
操作入力部641は、ユーザからSTB600の操作指示を受け付ける構成部であり、ユーザに操作されたリモコンが出射する赤外線などの信号を受信したり、ユーザに操作キーから直接入力されたりすることで、STB600の操作指示を受け付ける。
(Operation input unit 641)
The operation input unit 641 is a component that receives an operation instruction of the STB 600 from the user, and receives a signal such as an infrared ray emitted from a remote controller operated by the user or is directly input from the operation key to the user. An operation instruction of STB 600 is accepted.

(入力制御部640)
入力制御部640は、操作入力部641に入力されたSTB600の操作指示(録画開始、録画停止、再生開始、再生停止、特殊再生操作(ジャンプ再生)、録画データのアップロード(ストリーム解析装置300への送信指示)など)を処理する構成部である。
(Input control unit 640)
The input control unit 640 operates the STB 600 input to the operation input unit 641 (recording start, recording stop, playback start, playback stop, special playback operation (jump playback)), recording data upload (to the stream analysis device 300) And the like.

(ストリームデータ受信部650)
ストリームデータ受信部650は、放送サーバ100からのストリームデータを受信すると共に、録画機能を実行しているときは、受信したストリームデータを、録画データとして、STB記憶部630に記憶する。
なお、ストリームデータ受信部650は、録画開始時、録画データをSTB記憶部630に記録する際に、その録画データに、各STB600で識別可能な一意のファイル名(file)を付与する。
(Stream data receiving unit 650)
The stream data receiving unit 650 receives stream data from the broadcast server 100 and stores the received stream data in the STB storage unit 630 as recorded data when the recording function is executed.
The stream data receiving unit 650 gives a unique file name (file) identifiable by each STB 600 to the recorded data when recording the recorded data in the STB storage unit 630 at the start of recording.

(録画データ送信部660)
録画データ送信部660は、録画データをネットワークストレージ200に送信(アップロード)する構成部である。
この録画データ送信部660は、STB記憶部630から録画データを取得し、その録画データをGOP分割データ毎に分割して、ネットワークストレージ200に送信する。このとき、録画データ送信部660は、ネットワークストレージ200に問い合わせて、ネットワークストレージ200に記録されていない(重複していない)GOP分割データのみを送信する。
(Recording data transmission unit 660)
The recorded data transmission unit 660 is a component that transmits (uploads) the recorded data to the network storage 200.
The recording data transmission unit 660 acquires the recording data from the STB storage unit 630, divides the recording data for each GOP division data, and transmits it to the network storage 200. At this time, the recorded data transmission unit 660 inquires of the network storage 200 and transmits only the GOP division data that is not recorded (not duplicated) in the network storage 200.

(録画データ受信部670)
録画データ受信部670は、ネットワークストレージ200に録画データの送信を要求し、取得する構成部である。
この録画データ受信部670は、入力制御部640からの再生指示に応じて、指示された録画データの送信をネットワークストレージ200に要求し、ネットワークストレージ200から送信される録画データを受信する構成部であり、特に、特殊再生時のデータ読み込み処理の制御に使用される。
(Recording data receiving unit 670)
The recorded data receiving unit 670 is a component that requests and acquires transmission of recorded data from the network storage 200.
The recording data receiving unit 670 is a component that requests the network storage 200 to transmit the instructed recording data in response to a reproduction instruction from the input control unit 640 and receives the recording data transmitted from the network storage 200. In particular, it is used to control the data reading process during special playback.

(信号変換出力部680)
信号変換出力部680は、録画データ受信部670が受信した録画データ(放送信号)をテレビで視聴可能な信号に変換して、STB600と接続されたテレビに出力する。
(Signal conversion output unit 680)
The signal conversion output unit 680 converts the recording data (broadcast signal) received by the recording data reception unit 670 into a signal that can be viewed on a television, and outputs the signal to a television connected to the STB 600.

《7.動作説明》
第1の実施形態におけるストリーム放送録画システムの動作について説明する。
以下、ストリーム放送録画システム1で実行される、(1)放送録画シーケンス(図14〜図16)と、(2)録画データアップロードシーケンス(図17〜図18、図20)と、(3)録画データ再生シーケンス(図21〜図23)と、(4)録画データ削除シーケンス(図24〜図25)とを説明する。
<< 7. Operation explanation >>
The operation of the stream broadcast recording system in the first embodiment will be described.
Hereinafter, (1) a broadcast recording sequence (FIGS. 14 to 16), (2) a recording data upload sequence (FIGS. 17 to 18, 20), and (3) recording executed in the stream broadcast recording system 1 A data reproduction sequence (FIGS. 21 to 23) and (4) a recorded data deletion sequence (FIGS. 24 to 25) will be described.

(1)放送録画シーケンス
図14〜図16を用いて、放送録画シーケンスについて説明する。
図14は、放送サーバ100から送信されるストリームデータを受信したSTB600の録画処理動作を示すシーケンス図である。
図15は、放送サーバ100から送信されるストリームデータを受信したストリーム解析装置300の解析処理動作を示すシーケンス図であり、ストリーム解析装置300が解析したデータをネットワークストレージ200に送信する処理をも含めて図示されている。
図16は、ストリーム解析装置300から送信される解析データ(テーブル更新データ)を受信したネットワークストレージ200のテーブル更新処理動作を示すシーケンス図である。
(1) Broadcast Recording Sequence The broadcast recording sequence will be described with reference to FIGS.
FIG. 14 is a sequence diagram showing the recording processing operation of the STB 600 that has received the stream data transmitted from the broadcast server 100.
FIG. 15 is a sequence diagram illustrating an analysis processing operation of the stream analysis device 300 that has received the stream data transmitted from the broadcast server 100, including processing for transmitting the data analyzed by the stream analysis device 300 to the network storage 200. Is shown.
FIG. 16 is a sequence diagram illustrating the table update processing operation of the network storage 200 that has received the analysis data (table update data) transmitted from the stream analysis device 300.

(STB600の録画処理)
まず、図14を用いて、放送サーバ100から送信されるストリームデータを受信したSTB600の録画処理動作について説明する。
(Recording process of STB600)
First, the recording processing operation of the STB 600 that has received the stream data transmitted from the broadcast server 100 will be described with reference to FIG.

ストリームデータ受信部650は、入力制御部640から録画開始指示を受けたときに(ステップS101)、録画開始指示のあった番組のファイルをSTB記憶部630から検索して、検出したファイルに含まれる番組データを取得し、ストリームデータの記録先となるファイルを作成する(ステップS102)。ストリームデータ受信部650は、STBDB管理部610を介して、ファイルに含まれるデータに基づきFileテーブル621に記録先となる新規レコードを作成する(ステップS103)。これにより、例えば、Fileテーブル621には、〔0001、user1_0001−1、0(Start−PCR)、0(End−PCR)、0(offset)〕の新規レコード(記録先レコード)が作成される(図12参照)。   When the stream data receiving unit 650 receives a recording start instruction from the input control unit 640 (step S101), the stream data receiving unit 650 searches the STB storage unit 630 for a program file for which a recording start instruction has been received, and is included in the detected file. Program data is acquired, and a file serving as a stream data recording destination is created (step S102). The stream data receiving unit 650 creates a new record as a recording destination in the file table 621 based on the data included in the file via the STBDB management unit 610 (step S103). Thereby, for example, a new record (recording destination record) of [0001, user1_0001-1, 0 (Start-PCR), 0 (End-PCR), 0 (offset)]] is created in the File table 621 ( (See FIG. 12).

そして、ストリームデータ受信部650は、ストリームデータの受信を開始することを入力制御部640に通知して(ステップS104)、ストリームデータの受信を開始する(ステップS105)。
ストリームデータ受信部650は、受信したストリームデータをモニタリングして最初のPCRパケットの情報をFileテーブル621の記録先レコードに記録する(ステップS106)と共に、受信したストリームデータをステップS102で生成したファイルに格納(書き込み)する(ステップS107)。
Then, the stream data receiving unit 650 notifies the input control unit 640 that reception of stream data is started (step S104), and starts reception of stream data (step S105).
The stream data receiving unit 650 monitors the received stream data and records the information of the first PCR packet in the recording destination record of the File table 621 (step S106), and the received stream data in the file generated in step S102. Store (write) (step S107).

ここでステップS106において、ストリームデータ受信部650は、受信したストリームデータをモニタリングして、PCRパケットを検索する。録画開始時(ストリームデータの受信開始時)から最初のPCRパケットが出現するまでに、ファイルに記録したTSパケットの数(offset)と、PCRパケットのPCR値(Start−PCR)とを、ステップS103でFileテーブル621に作成したレコード(記録先レコード)に記録する。これにより、Fileテーブル621の記録先レコードが〔0001、user1_0001−1、0999997300、0、11〕に更新される(図12参照)。   Here, in step S106, the stream data receiving unit 650 monitors the received stream data and searches for a PCR packet. The number of TS packets recorded in the file (offset) and the PCR value (Start-PCR) of the PCR packet from the start of recording (when the reception of stream data starts) until the first PCR packet appears, in step S103. The file is recorded in the record (recording destination record) created in the file table 621. Thereby, the recording destination record of the File table 621 is updated to [0001, user1_0001-1, 0999997300, 0, 11] (see FIG. 12).

その後、ストリームデータ受信部650は、入力制御部640から録画終了指示を受けたときに(ステップS108)、モニタリングで最後に検出したPCRパケットのPCR値(End−PCR)を、Fileテーブル621の記録先レコードに記録する(ステップS109)。これにより、Fileテーブル621の記録先レコードが〔0001、user1_0001−1、0999997300、1000029700、11〕に更新される(図12参照)。そして、ストリームデータ受信部650は、ストリームデータを記録したファイルをクローズする(ステップS110)。
そして、ストリームデータ受信部650は、ファイルをクローズしたことを入力制御部640に通知して(ステップS111)、録画処理動作を終了する。
以上の処理により、録画開始から録画終了までのストリームデータが、STB記憶部630にステップS102で生成したfile「user1_0001−1」をファイル名とするファイルに格納される。また、ストリームデータのProgramID、Start−PCR、End−PCR、offsetが、STBDB620のFileテーブル621に記録される。
Thereafter, when receiving a recording end instruction from the input control unit 640 (step S108), the stream data receiving unit 650 records the PCR value (End-PCR) of the PCR packet last detected by monitoring in the File table 621. Record in the previous record (step S109). As a result, the recording destination record in the File table 621 is updated to [0001, user1_0001-1, 0999997300, 1000029700, 11] (see FIG. 12). Then, the stream data receiving unit 650 closes the file in which the stream data is recorded (Step S110).
Then, the stream data receiving unit 650 notifies the input control unit 640 that the file has been closed (step S111), and ends the recording processing operation.
Through the above processing, stream data from the start of recording to the end of recording is stored in the STB storage unit 630 in a file having the file “user1_0001-1” generated in step S102 as a file name. Further, Program ID, Start-PCR, End-PCR, and offset of the stream data are recorded in the File table 621 of the STBDB 620.

(ストリーム解析装置300の解析処理)
次に、図15を用いて、放送サーバ100から送信されるストリームデータを受信したストリーム解析装置300の解析処理動作について説明する。この図15には、放送開始から放送終了までの間、ストリーム解析装置300が行う解析処理動作が示されている。
(Analysis processing of the stream analysis apparatus 300)
Next, the analysis processing operation of the stream analysis apparatus 300 that has received the stream data transmitted from the broadcast server 100 will be described with reference to FIG. FIG. 15 shows an analysis processing operation performed by the stream analysis apparatus 300 from the start of broadcasting to the end of broadcasting.

まず、放送サーバ100は、番組の放送開始時にProgramIDを送信し(ステップS201)、ストリーム受信部350は、ProgramIDを受信したことをストリーム解析部360に通知する(ステップS202)。そして、ストリーム受信部350は、放送サーバ100に応答を送信する(ステップS203)。   First, the broadcast server 100 transmits ProgramID when the program starts broadcasting (step S201), and the stream reception unit 350 notifies the stream analysis unit 360 that ProgramID has been received (step S202). Then, the stream receiving unit 350 transmits a response to the broadcast server 100 (step S203).

ストリーム解析装置300からの応答を受けて、放送サーバ100は、ストリームデータの送信を開始する。ここで、放送サーバ100は、ネットワーク400を介してストリーム解析装置300からの応答を待つことが記載されているが、双方向通信である必要はない。すなわち、放送サーバ100は、所定の時刻からストリームデータの送信(配信)を開始してもよい。
ストリーム受信部350は、放送サーバ100からストリームデータを受信し(ステップS204)、ストリーム解析部360に出力する。
ストリーム解析部360は、ストリームデータをモニタリング(解析)し(ステップS205)、ストリームデータから抽出した(後記する)テーブル更新データをネットワークストレージ200に送信する(ステップS206)。これにより、ネットワークストレージ200では、GOPテーブル221(図7)およびPCRテーブル222(図8)のデータ更新が行われる。
そして、ストリーム解析部360は、ネットワークストレージ200の更新完了通知をストリーム受信部350に出力し(ステップS207)、ストリーム受信部350から、次のストリームデータを受け付ける。
In response to the response from the stream analysis device 300, the broadcast server 100 starts transmission of stream data. Here, although it is described that the broadcast server 100 waits for a response from the stream analysis apparatus 300 via the network 400, it is not necessary to perform bidirectional communication. That is, the broadcast server 100 may start transmission (distribution) of stream data from a predetermined time.
The stream receiving unit 350 receives the stream data from the broadcast server 100 (step S204) and outputs the stream data to the stream analyzing unit 360.
The stream analysis unit 360 monitors (analyzes) the stream data (step S205), and transmits the table update data extracted from the stream data (described later) to the network storage 200 (step S206). Thereby, in the network storage 200, the data update of the GOP table 221 (FIG. 7) and the PCR table 222 (FIG. 8) is performed.
Then, the stream analysis unit 360 outputs an update completion notification of the network storage 200 to the stream reception unit 350 (step S207), and receives the next stream data from the stream reception unit 350.

このステップS205において、ストリーム解析部360がストリームデータから抽出するテーブル更新データは、GOPテーブル221およびPCRテーブル222に記憶させるデータであり、GOPデータと各PCRパケットとから抽出できるデータである。ストリーム解析部360は、GOPデータから〔ProgramID、SGP、GTC〕を抽出し、PCRパケットそれぞれから、PCRパケットの数(m個)の〔PCR値、PTC〕を抽出する。そして、ストリーム解析部360は、ストリームデータを1つ受信する毎に〔ProgramID、SGP、GTC〕と、m個の〔PCR値、PTC〕とをネットワークストレージ200に送信する。   In step S205, the table update data extracted from the stream data by the stream analysis unit 360 is data to be stored in the GOP table 221 and the PCR table 222, and can be extracted from the GOP data and each PCR packet. The stream analysis unit 360 extracts [ProgramID, SGP, GTC] from the GOP data, and extracts [PCR value, PTC] of the number (m) of PCR packets from each PCR packet. The stream analysis unit 360 transmits [ProgramID, SGP, GTC] and m [PCR values, PTC] to the network storage 200 every time one stream data is received.

以上に示すステップS204〜ステップS207の処理は、ストリーム受信部350が放送サーバ100から放送終了通知を受信する(ステップS208)まで実行される。図15には、ストリーム受信部350がストリームデータをn回受信したことを示している。   The processes in steps S204 to S207 described above are executed until the stream receiving unit 350 receives a broadcast end notification from the broadcast server 100 (step S208). FIG. 15 shows that the stream receiving unit 350 has received stream data n times.

(ネットワークストレージ200のテーブル更新処理)
図16を用いて、ストリーム解析装置300から送信されるネットワークストレージ200のテーブル更新処理動作について説明する。
まず、解析データ受信部250は、図15のステップS206の処理が行われ、ストリーム解析装置300から送信されるテーブル更新データを受信する(ステップS301)。このテーブル更新データは、〔ProgramID、SGP、GTC〕と、m個の〔PCR値、PTC〕とで構成される。
(Table update processing of network storage 200)
The table update processing operation of the network storage 200 transmitted from the stream analysis device 300 will be described with reference to FIG.
First, the analysis data receiving unit 250 receives the table update data transmitted from the stream analysis device 300 by performing the process of step S206 of FIG. 15 (step S301). This table update data is composed of [ProgramID, SGP, GTC] and m [PCR values, PTC].

解析データ受信部250は、GOPデータから抽出した〔ProgramID、SGP、GTC〕を、NSDB管理部210を介して(ステップS302)、NSDB220のGOPテーブル221(図7)に1レコードとして記録させる(ステップS303)。このとき、そのレコードには、DataIDに “−(null)”、UserCountに“0”、GOPStatusに“N(None)”を記録させる。   The analysis data receiving unit 250 records [ProgramID, SGP, GTC] extracted from the GOP data as one record in the GOP table 221 (FIG. 7) of the NSDB 220 via the NSDB management unit 210 (step S302) (step S302). S303). At this time, “-(null)” is recorded in DataID, “0” is recorded in UserCount, and “N (None)” is recorded in GOPStatus.

同様に、解析データ受信部250は、PCRパケットから抽出したm個の〔PCR値、PTC〕それぞれを、NSDB管理部210を介して(ステップS304)、NSDB220のPCRテーブル222(図8)に1レコードとして記録させる(ステップS305)。これにより、PCRテーブル222にはmレコードの〔PCR値、PTC〕が記録される。   Similarly, the analysis data receiving unit 250 adds each of the m [PCR values, PTC] extracted from the PCR packet to the PCR table 222 (FIG. 8) of the NSDB 220 via the NSDB management unit 210 (step S304). It is recorded as a record (step S305). As a result, [PCR value, PTC] of m records is recorded in the PCR table 222.

そして、解析データ受信部250は、更新完了通知をストリーム解析装置300に送信し(ステップS306)、ネットワークストレージ200はテーブル更新処理を終了する。
以上のステップS301〜ステップS306の処理をストリーム解析装置300からテーブル更新データ(図15のステップS206−1〜ステップS206−n)を受信するたびに行う。これにより、放送開始から放送終了までのGOP分割データの各種値が、ネットワークストレージ200に保存される。
Then, the analysis data receiving unit 250 transmits an update completion notification to the stream analysis device 300 (step S306), and the network storage 200 ends the table update process.
The processes in steps S301 to S306 described above are performed each time table update data (steps S206-1 to S206-n in FIG. 15) is received from the stream analysis apparatus 300. As a result, various values of the GOP division data from the broadcast start to the broadcast end are stored in the network storage 200.

(GOPStatusの状態遷移)
ここで、GOPStatus(図7)について説明する。
GOPStatusはSGPに対応するGOP分割データの状態を示すものであり、“N(None)”、“U(Unavailable)”、“A(Available)”の3種類で状態を示す。“N”はSGPに対応するGOP分割データが存在しない状態を示し、“U”はSGPに対応するGOP分割データが存在するが、そのGOP分割データを利用することができない状態を示し、“A”はSGPに対応するGOP分割データが存在し利用可能な状態を示す。これらの状態は“N”→“U”、“U”→“A”に状態を変えることができ、逆に、“A”→“U”、“U”→“N”にも状態を変えることができる。
(GOPStatus state transition)
Here, GOPStatus (FIG. 7) will be described.
GOPStatus indicates the status of GOP divided data corresponding to SGP, and indicates the status in three types: “N (None)”, “U (Unavailable)”, and “A (Available)”. “N” indicates a state in which no GOP division data corresponding to the SGP exists, “U” indicates a state in which GOP division data corresponding to the SGP exists, but the GOP division data cannot be used, and “A” "" Indicates that the GOP division data corresponding to the SGP exists and can be used. These states can be changed from “N” to “U”, “U” to “A”, and conversely, “A” to “U” and “U” to “N”. be able to.

ここで、図16に示すテーブル更新処理は、放送中のストリームデータを解析して得たテーブル更新データを用いた処理を示している。そのため、GOPテーブル221に登録されるSGPに対応するGOP分割データが、ネットワークストレージ200内に存在しない。そのため、GOPテーブル221(図7)には、GOPStatusの値として“N”が記録される。   Here, the table update processing shown in FIG. 16 shows processing using table update data obtained by analyzing stream data being broadcast. Therefore, there is no GOP division data corresponding to the SGP registered in the GOP table 221 in the network storage 200. Therefore, “N” is recorded as the value of GOPStatus in the GOP table 221 (FIG. 7).

(2)録画データアップロードシーケンス
図17〜図18、図20を用いて、録画データアップロードシーケンスについて説明する。ここで録画データアップロードとは、STB600のSTB記憶部630のファイルを格納された録画データ(ストリームデータ)を、ネットワークストレージ200に送信することである。
(2) Recorded Data Upload Sequence The recorded data upload sequence will be described with reference to FIGS. 17 to 18 and FIG. Here, the recording data upload is to transmit the recording data (stream data) in which the file of the STB storage unit 630 of the STB 600 is stored to the network storage 200.

(STB600の録画データアップロード処理)
まず、図17を用いて、STB600が録画データをネットワークストレージ200にアップロード(送信)する録画データアップロード処理動作について説明する。
(Recording data upload process of STB600)
First, a recorded data upload processing operation in which the STB 600 uploads (transmits) recorded data to the network storage 200 will be described with reference to FIG.

まず、録画データ送信部660は、入力制御部640からアップロード指示を受け付け(ステップS401)、指示されたファイルに格納された録画データ(ストリームデータ)をアップロード(送信)するため、STB記憶部630に記憶されたファイルをオープンする(ステップS402)。   First, the recording data transmission unit 660 receives an upload instruction from the input control unit 640 (step S401), and uploads (transmits) the recording data (stream data) stored in the instructed file to the STB storage unit 630. The stored file is opened (step S402).

次に、録画データ送信部660は、ステップS402で取得したファイルに基づき、STBDB管理部610を介して、Fileテーブル621を検索し(ステップS403)、ファイル名(file)に対応するレコードの〔ProgramID、Start−PCR、End−PCR、offset〕を取得する(ステップS404)。   Next, the recorded data transmission unit 660 searches the file table 621 via the STBDB management unit 610 based on the file acquired in step S402 (step S403), and [ProgramID of the record corresponding to the file name (file). , Start-PCR, End-PCR, offset] is acquired (step S404).

さらに、録画データ送信部660は、取得したこれらの値〔ProgramID、Start−PCR、End−PCR、offset〕を引数とした録画データのサイズをネットワークストレージ200に送信して、問い合わせを行う(ステップS405)。
この問い合わせによりネットワークストレージ200で行われる問い合わせ対応処理(図18)については、詳細を後記する。
このステップS405に示す問い合わせにより、録画データをアップロードしたときに重複するデータがあるか否かの判定結果(flag)がネットワークストレージ200から送信される。
Further, the recorded data transmission unit 660 transmits the size of the recorded data with these acquired values [ProgramID, Start-PCR, End-PCR, offset] as an argument to the network storage 200 to make an inquiry (step S405). ).
Details of the inquiry handling process (FIG. 18) performed in the network storage 200 by this inquiry will be described later.
In response to the inquiry shown in step S405, a determination result (flag) as to whether or not there is duplicate data when the recording data is uploaded is transmitted from the network storage 200.

そして、録画データ送信部660は、ネットワークストレージ200からGOP分割データの先頭位置とデータ範囲とを特定するGOP分割データ位置情報として、〔SGP、position、GTC〕と、flag(m個)とを取得する(ステップS406)。   Then, the recorded data transmission unit 660 obtains [SGP, position, GTC] and flag (m) as GOP divided data position information for specifying the start position and data range of the GOP divided data from the network storage 200. (Step S406).

ここで、〔SGP、position、GTC〕は、Start−PCR(録画開始後最初のPCRパケットのPCR値)からEnd−PCR(録画終了の直前に存在するPCRパケットのPCR値)までに存在するGOP分割データに対応する各種値である。   Here, [SGP, position, GTC] is a GOP existing from Start-PCR (PCR value of the first PCR packet after the start of recording) to End-PCR (PCR value of the PCR packet existing immediately before the end of recording). Various values corresponding to the divided data.

flagは、“false”または“true”を値とするデータであり、ネットワークストレージ200において、すでにそのGOP分割データが存在する(記録されている)場合は“false”、存在しない場合は“true”である。   The flag is data having “false” or “true” as a value. If the GOP division data already exists (recorded) in the network storage 200, “false”, otherwise “true”. It is.

次に、録画データ送信部660は、取得したSGP一覧〔SGP、position、GTC〕から、GOP分割データの相対時刻を算出する(ステップS407)。そして、取得したSGPの個数分(n個)のレコードを、STBDB管理部610を介して、STBDB620のTimeテーブル622に作成する(ステップS408)。
ここで、GOP分割データの相対時刻は、各SGP(PCR値)を、SGP一覧の先頭にあるSGPで差分した値を、27kHzで除算して算出する。例えば、SGP=1000013500から、SGP=1000000000を差分して、27kHzで除算することで「0.5秒(00:00:00:500)」が得られる(図13,図35)。
Next, the recorded data transmission unit 660 calculates the relative time of the GOP divided data from the acquired SGP list [SGP, position, GTC] (step S407). Then, as many records (n) as the number of acquired SGPs are created in the Time table 622 of the STBDB 620 via the STBDB management unit 610 (step S408).
Here, the relative time of the GOP division data is calculated by dividing each SGP (PCR value) by a value obtained by subtracting 27 SkHz from the SGP at the head of the SGP list. For example, by subtracting SGP = 1000000000000 from SGP = 1000013500 and dividing by 27 kHz, “0.5 seconds (00: 00: 00: 00)” is obtained (FIGS. 13 and 35).

次に、録画データ送信部660は、file(ファイル名)のファイルに格納された録画データ(ストリームデータ)をGOP分割データ毎に分割し(ステップS409)、flagの値が“true”のGOP分割データを、ネットワークストレージ200にアップロード(送信)する(ステップS410)。このとき、録画データ送信部660は、分割したGOP分割データ毎に、〔ProgramID、SGP、data〕を送信する。ここで、dataはGOP分割データそのものである。   Next, the recording data transmission unit 660 divides the recording data (stream data) stored in the file (file name) for each GOP division data (step S409), and the GOP division whose flag value is “true”. Data is uploaded (transmitted) to the network storage 200 (step S410). At this time, the recorded data transmission unit 660 transmits [ProgramID, SGP, data] for each divided GOP division data. Here, data is the GOP division data itself.

そして、録画データ送信部660は、全てのGOP分割データの送信が完了した時点で、file(ファイル名)のファイルをクローズまたは削除する(ステップS411)。そして、入力制御部640に通知して(ステップS412)、ファイルのアップロード処理を終了する。   Then, the recording data transmission unit 660 closes or deletes the file (file name) when transmission of all GOP division data is completed (step S411). Then, the input control unit 640 is notified (step S412), and the file upload process ends.

以上の処理により、STB600において、ストリーム再生時の特殊再生に使用するTimeテーブル622の作成が行われると共に、file(ファイル名)のファイルの録画データがネットワークストレージ200に保存される。   Through the above processing, the STB 600 creates the Time table 622 used for special playback at the time of stream playback, and the recorded data of the file (file name) is stored in the network storage 200.

(ネットワークストレージ200の問い合わせ対応処理)
図18を用いて、STB600から送信される問い合わせに対してネットワークストレージ200が行う問い合わせ対応処理について説明する。
まず、図17のステップS405の処理が行われ、録画データ受信部270は、STB600からの問い合わせ〔ProgramID、Start−PCR、End−PCR、offset〕を受信する(ステップS501)。
録画データ受信部270は、NSDB管理部210を介して、GOPテーブル(図7)を用いて、Start−PCRからEnd−PCRまでに存在するGOP分割データの検索を行う(ステップS502)。このとき、NSDB管理部210は、(Start−PCR≦SGP)かつ(次のGOP分割データのSGP(次のSGP)≦End−PCR)を満たすGOP分割データを検索する。
(Inquiry handling processing of network storage 200)
With reference to FIG. 18, a description will be given of an inquiry handling process performed by the network storage 200 in response to an inquiry transmitted from the STB 600. FIG.
First, the process of step S405 in FIG. 17 is performed, and the recorded data receiving unit 270 receives an inquiry [ProgramID, Start-PCR, End-PCR, offset] from the STB 600 (step S501).
The recorded data receiving unit 270 uses the GOP table (FIG. 7) via the NSDB management unit 210 to search for GOP division data existing from Start-PCR to End-PCR (step S502). At this time, the NSDB management unit 210 searches for GOP division data satisfying (Start-PCR ≦ SGP) and (SGP of the next GOP division data (next SGP) ≦ End-PCR).

NSDB管理部210は、GOPテーブル(図7)において、検出したGOP分割データに対応するレコード〔ProgramID、SGP、GTC、GOPStatus〕のUserCountをインクリメントする(UserCount++)(ステップS503)。これにより、GOPテーブル(図7)において、検出された全てのGOP分割データ(n個)に対応するレコードのUserCountがインクリメントされる。   The NSDB management unit 210 increments UserCount of the record [ProgramID, SGP, GTC, GOPStatus] corresponding to the detected GOP division data in the GOP table (FIG. 7) (UserCount ++) (step S503). As a result, in the GOP table (FIG. 7), the UserCount of the record corresponding to all the detected GOP division data (n) is incremented.

NSDB管理部210は、GOP分割データの検索結果を録画データ受信部270に出力する。このとき、NSDB管理部210は、検出したGOP分割データに対応するレコード〔ProgramID、SGP、GTC、GOPStatus〕およびflagからなるGOP分割データ情報を録画データ受信部270に出力する(ステップS504)。
これにより、検出された全てのGOP分割データ情報(n個)が録画データ受信部270に出力される。
The NSDB management unit 210 outputs the GOP division data search result to the recorded data reception unit 270. At this time, the NSDB management unit 210 outputs GOP divided data information including records [ProgramID, SGP, GTC, GOPStatus] and flag corresponding to the detected GOP divided data to the recorded data receiving unit 270 (step S504).
As a result, all detected GOP division data information (n pieces) is output to the recorded data reception unit 270.

ここで、flagは、GOP分割データの存在の有無を示す情報であり、GOPStatusが“N”以外の場合、GOP分割データがすでに存在している(GOPテーブルに当該GOP分割データが記憶されている)ことを示している。そのため、flagに“false”を指定する。一方、GOPStatusが“N”の場合、flagに“true”を指定する。   Here, flag is information indicating the presence or absence of GOP division data. When GOPStatus is other than “N”, GOP division data already exists (the GOP division data is stored in the GOP table). )It is shown that. Therefore, “false” is specified in the flag. On the other hand, when GOPStatus is “N”, “true” is specified for flag.

次に、録画データ受信部270は、録画データの先頭からGOP分割データの先頭までのTSパケットの数から、positionを算出する(ステップS505)。
このとき、録画データ受信部270は、offset(の値)と、PTC(の値)とから、positionを算出する。この算出方法について図19を用いて説明する。
Next, the recorded data receiving unit 270 calculates a position from the number of TS packets from the beginning of the recorded data to the beginning of the GOP division data (step S505).
At this time, the recorded data receiving unit 270 calculates the position from the offset (value) and the PTC (value). This calculation method will be described with reference to FIG.

図19は、録画データのGOP分割データ開始位置(position)を計算するための算出方法を示した例である。ネットワークストレージ200は、STB600から〔Start−PCR,End−PCR,offset〕を取得し(図17のステップS405、図18のステップS501)、録画データのGOP分割データ開始位置(position)を計算する。
ここで、録画データのStart−PCRがPCR[a]であり、録画データに含まれる先頭のGOP分割データ(GOP#1)のSGP(#1)との間にPCR[b]、PCR[c]が存在するとする。この場合、positionの値は、録画データの先頭からGOP分割データの先頭までの距離をTSパケットの数で示したものであり、すなわち、録画データ先頭からStart−PCRまでのTSパケットのパケット総数であるoffsetと、PCR[a](Start−PCR)〜SGP(#1)までのTSパケットのパケット総数との合計の値である。
FIG. 19 is an example showing a calculation method for calculating the GOP division data start position (position) of recorded data. The network storage 200 obtains [Start-PCR, End-PCR, offset] from the STB 600 (step S405 in FIG. 17 and step S501 in FIG. 18), and calculates the GOP division data start position (position) of the recorded data.
Here, the Start-PCR of the recorded data is PCR [a], and PCR [b], PCR [c] between the SGP (# 1) of the first GOP division data (GOP # 1) included in the recorded data. ] Exists. In this case, the position value indicates the distance from the beginning of the recorded data to the beginning of the GOP divided data by the number of TS packets, that is, the total number of TS packets from the beginning of the recorded data to Start-PCR. This is the total value of a certain offset and the total number of TS packets from PCR [a] (Start-PCR) to SGP (# 1).

図18に戻る。
次に、録画データ受信部270は、NS記憶部230内の空き領域のうち、GOP分割データを書き込むための書込領域を、NSDB管理部210を介して、Blockテーブル223から検索する(ステップS506〜ステップS507)。なお、flagに“true”が指定されているGOP分割データのみを書き込み対象とする。(ここでは、全てのGOP分割データの個数をn、flag=“true”のGOP分割データの個数をk(n≧k)として説明する。)
Returning to FIG.
Next, the recorded data receiving unit 270 searches the block table 223 for the write area for writing the GOP divided data among the free areas in the NS storage unit 230 via the NSDB management unit 210 (step S506). -Step S507). Note that only GOP division data for which “true” is specified in the flag is to be written. (Here, description will be made assuming that the number of all GOP divided data is n and the number of GOP divided data with flag = “true” is k (n ≧ k).)

ストレージ管理部260は、NSDB管理部210を介して、Blockテーブル223を用いて書込領域を確保し(ステップS509)、Blockテーブル223における確保した書込領域情報のDataIDを取得する(ステップS510)。このとき、NSDB管理部210において、確保した書込領域情報のDataIDに対応するBlockテーブル223のレコードに対し、RefCounterをインクリメントする(RefCounter++)(ステップS508)。   The storage management unit 260 secures a write area using the Block table 223 via the NSDB management unit 210 (Step S509), and acquires DataID of the secured write area information in the Block table 223 (Step S510). . At this time, the NSDB management unit 210 increments RefCounter for the record in the Block table 223 corresponding to the DataID of the secured write area information (RefCounter ++) (step S508).

最後に、録画データ受信部270は、書込領域を確保したGOP分割データについて、ProgramID、SGPをkeyとして、NSDB管理部210を介してGOPテーブル221を検索し(ステップS511)、該当レコードのGOPStatusを“U”に変更する(ステップS512)。そして、NSDB管理部210は変更完了通知を録画データ受信部270に出力する(ステップS513)   Finally, the recorded data reception unit 270 searches the GOP table 221 via the NSDB management unit 210 for the GOP division data in which the writing area is secured, using ProgramID and SGP as keys (step S511), and GOPStatus of the corresponding record. Is changed to “U” (step S512). Then, the NSDB management unit 210 outputs a change completion notification to the recorded data reception unit 270 (step S513).

録画データ受信部270は、取得したn個の〔SGP、position、GTC、flag〕で構成されるGOP分割データ位置情報をSTB600に送信する(ステップS514)。これにより、STB600はSGP一覧を取得することができる。   The recorded data reception unit 270 transmits the GOP divided data position information including the acquired n [SGP, position, GTC, flag] to the STB 600 (step S514). Thereby, the STB 600 can acquire the SGP list.

(ストリーム解析装置300の録画データ書き込み対応処理)
次に、図20を用いて、STB600からアップロード(送信)される録画データを受信したネットワークストレージの200の録画データ書き込み対応処理動作について説明する。
(Processing corresponding to recording data writing of stream analysis device 300)
Next, with reference to FIG. 20, a description will be given of the recording data write support processing operation of the network storage 200 that has received the recording data uploaded (transmitted) from the STB 600.

まず、録画データ受信部270は、図17のステップS410でSTB600から送信されるGOP分割データ〔ProgramID、SGP、data〕を受信する(ステップS601)。そして、録画データ受信部270は、NSDB管理部210を介し、GOPテーブル221から書き込み先(図18のステップS509で確保した書込領域)を検索する(ステップS602)。このとき、録画データ受信部270は、〔ProgramID、SGP〕を用いて、GOPテーブル221のレコードを検索して、対応するDataID(Blockテーブル223のキー値)を取得する(ステップS603)。
次に、録画データ受信部270は、取得したDataIDをストレージ管理部260に出力し(ステップS604)、ストレージ管理部260に書き込み先の取得を依頼する。
First, the recorded data receiving unit 270 receives the GOP division data [ProgramID, SGP, data] transmitted from the STB 600 in step S410 of FIG. 17 (step S601). Then, the recorded data receiving unit 270 searches the GOP table 221 for the write destination (the write area secured in step S509 in FIG. 18) via the NSDB management unit 210 (step S602). At this time, the recorded data receiving unit 270 searches for a record in the GOP table 221 using [ProgramID, SGP], and acquires a corresponding DataID (key value in the Block table 223) (step S603).
Next, the recorded data receiving unit 270 outputs the acquired DataID to the storage management unit 260 (step S604), and requests the storage management unit 260 to acquire the write destination.

ストレージ管理部260は、NSDB管理部210を介して、Blockテーブル223(図9)から図18のステップS509で確保した書込領域(書き込み先のブロック)を検索する(ステップS605)。ここでは、ストレージ管理部260は、DataIDをキー値として、図18のステップS509で確保した書込領域情報を、Blockテーブル223(図9)のレコード〔StorageID、BlockID、BlockCount〕から検索する。   The storage management unit 260 searches the block area 223 (FIG. 9) via the NSDB management unit 210 for the write area (write destination block) secured in step S509 of FIG. 18 (step S605). Here, the storage management unit 260 searches for the write area information secured in step S509 in FIG. 18 from the record [StorageID, BlockID, BlockCount] in the Block table 223 (FIG. 9) using DataID as a key value.

ストレージ管理部260は、Blockテーブル223(図9)において、検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕のRefCounterをインクリメントする(RefCounter++)(ステップS606)。   The storage management unit 260 increments the RefCounter of the record [StorageID, BlockID, BlockCount] corresponding to the detected DataID in the Block table 223 (FIG. 9) (RefCounter ++) (step S606).

NSDB管理部210は、検出した書き込み先のブロックの書込領域情報をストレージ管理部260に出力する(ステップS607)。このとき、NSDB管理部210は、検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕をストレージ管理部260に出力する。そして、ストレージ管理部260は、書込領域情報を録画データ受信部270に出力する(ステップS608)。   The NSDB management unit 210 outputs the write area information of the detected write destination block to the storage management unit 260 (step S607). At this time, the NSDB management unit 210 outputs a record [StorageID, BlockID, BlockCount] corresponding to the detected DataID to the storage management unit 260. Then, the storage management unit 260 outputs the writing area information to the recorded data receiving unit 270 (step S608).

録画データ受信部270は、GOP分割データを取得した書込領域(書き込み先のブロック)に対応する、NS記憶部230のブロックに書き込む(ステップS609)。そして、録画データ受信部270は、ストレージ管理部260に対して書込完了通知を出力する(ステップS610)。ここで、録画データ受信部270は、書込完了通知と共にDataIDをストレージ管理部260に出力し、ストレージ管理部260にBlockテーブル223(図9)の更新を依頼する。   The recorded data receiving unit 270 writes the GOP division data in the block of the NS storage unit 230 corresponding to the writing area (write destination block) from which the GOP division data has been acquired (step S609). Then, the recorded data reception unit 270 outputs a write completion notification to the storage management unit 260 (step S610). Here, the recorded data receiving unit 270 outputs the DataID together with the writing completion notification to the storage management unit 260, and requests the storage management unit 260 to update the Block table 223 (FIG. 9).

ストレージ管理部260は、NSDB管理部210を介し、DataIDをキー値としてBlockテーブル223(図9)を検索し(ステップS611)、検出したDataIDに対応するレコードのRefCounterをデクリメントする(RefCounter--)(ステップS612)。
そして、NSDB管理部210は変更完了通知をストレージ管理部260に出力し(ステップS613)、ストレージ管理部260は録画データ受信部270に転送する(ステップS614)。
The storage management unit 260 searches the Block table 223 (FIG. 9) using the DataID as a key value via the NSDB management unit 210 (step S611), and decrements the RefCounter of the record corresponding to the detected DataID (RefCounter--). (Step S612).
Then, the NSDB management unit 210 outputs a change completion notification to the storage management unit 260 (step S613), and the storage management unit 260 transfers it to the recorded data reception unit 270 (step S614).

次に、録画データ受信部270は、〔ProgramID、SGP〕をキー値として、NSDB管理部210を介して、GOPテーブル221を検索し(ステップS615)、検出した〔ProgramID、SGP〕に対応するレコードのGOPStatusを“U”から“A”に変更させる(ステップS616)。そして、NSDB管理部210は変更完了通知を録画データ受信部270に送信する(ステップS617)。
録画データ受信部270は、録画データ書込完了通知をSTB600に送信し(ステップS618)、次のGOP分割データを送信するようSTB600に要求する。その要求に対して、GOP分割データの送信がなければ、ネットワークストレージ200は録画データ書き込み対応処理を終了する。
以上の処理により、〔ProgramID、SGP〕に対応するGOP分割データがネットワークストレージ200に保存され、STB600から読み込み可能な状態となる。
Next, the recorded data reception unit 270 searches the GOP table 221 via the NSDB management unit 210 using [ProgramID, SGP] as a key value (step S615), and records corresponding to the detected [ProgramID, SGP]. The GOPStatus is changed from “U” to “A” (step S616). Then, the NSDB management unit 210 transmits a change completion notification to the recorded data reception unit 270 (step S617).
The recorded data receiving unit 270 transmits a recorded data writing completion notification to the STB 600 (step S618), and requests the STB 600 to transmit the next GOP division data. If no GOP division data is transmitted in response to the request, the network storage 200 ends the recording data write handling process.
Through the above processing, the GOP division data corresponding to [ProgramID, SGP] is saved in the network storage 200 and is ready to be read from the STB 600.

(3)録画データ再生シーケンス
図21〜図23を用いて、録画データ再生シーケンスについて説明する。
(3) Recorded Data Reproduction Sequence A recorded data reproduction sequence will be described with reference to FIGS.

(STB600の録画データ再生処理)
次に、図21を用いて、ネットワークストレージ200から読み込んだ(取得した)録画データを再生するSTB600の録画データ再生処理動作について説明する。
(Recorded data playback processing of STB600)
Next, the recorded data reproduction processing operation of the STB 600 for reproducing the recorded data read (acquired) from the network storage 200 will be described with reference to FIG.

まず、録画データ受信部670は、入力制御部640からの再生開始指示〔file(ファイル名)、s−time(再生開始時刻)〕に応じて(ステップS701)、STBDB管理部610を介し、Timeテーブル622を検索し(ステップS702)、file(ファイル名)のGOP分割データのレコード〔ProgramID、SGP、time、position、Length〕を取得する(ステップS703)。
ここで、再生開始時刻を指定しない再生開始指示であれば、録画開始時刻に当たる00:00:00:000の相対時刻が再生開始時刻となる。ここでは、s−timeで示す再生開始時刻を指定した場合について説明する。
First, the recorded data receiving unit 670 responds to the reproduction start instruction [file (file name), s-time (reproduction start time)] from the input control unit 640 (step S701), and the Time B via the STBDB management unit 610. The table 622 is searched (step S702), and the GOP division data record [ProgramID, SGP, time, position, Length] of file (file name) is acquired (step S703).
Here, if the playback start instruction does not specify the playback start time, the relative start time of 00:00:00 corresponding to the recording start time becomes the playback start time. Here, a case where a reproduction start time indicated by s-time is designated will be described.

録画データ受信部670は、再生した録画データがネットワークストレージ200から削除されることを防ぐため、ネットワークストレージ200に対して再生開始通知を送信する(ステップS704)。その後、録画データ受信部670は、ステップS703で取得したレコードから、指定された再生開始時刻(s−time)を越えない最も大きな相対時刻(time)をもつレコードを検索する。この検索処理において、録画データ受信部670は、再生開始位置を検出する(ステップS705)。そして、録画データ受信部670は、再生開始通知を入力制御部640に出力する(ステップS706)。   The recorded data receiving unit 670 transmits a reproduction start notification to the network storage 200 in order to prevent the reproduced recorded data from being deleted from the network storage 200 (step S704). Thereafter, the recorded data reception unit 670 searches the record acquired in step S703 for a record having the largest relative time (time) that does not exceed the designated reproduction start time (s-time). In this search process, the recorded data receiving unit 670 detects the playback start position (step S705). Then, the recorded data reception unit 670 outputs a reproduction start notification to the input control unit 640 (step S706).

録画データ受信部670は、ネットワークストレージ200にダウンロード要求を行い(ステップS707)、ステップS705で検出したレコードのSGPに対応する位置(再生開始位置)からのGOP分割データを順次読み込み(ステップS708−1〜ステップS708−n)、録画データのダウンロードを行う。   The recorded data receiving unit 670 makes a download request to the network storage 200 (step S707), and sequentially reads GOP division data from the position (playback start position) corresponding to the SGP of the record detected in step S705 (step S708-1). Step S708-n), the recording data is downloaded.

ここで入力制御部640から特殊操作による指示(例えば、ジャンプ再生指示)が入力された場合について説明する。
録画データ受信部670は、入力制御部640からのジャンプ再生指示〔file、js−time(ジャンプ再生開始時刻)〕に応じて(ステップS709)、指定されたジャンプ先の時刻(js−time)をもつレコードを検索する。この検索処理において、録画データ受信部670は、再生開始位置を検出する(ステップS710)。そして、録画データ受信部670は、再生開始通知を入力制御部640に出力する(ステップS711)。
Here, a case where an instruction by a special operation (for example, jump reproduction instruction) is input from the input control unit 640 will be described.
In response to the jump playback instruction [file, js-time (jump playback start time)] from the input control unit 640 (step S709), the recorded data receiving unit 670 sets the designated jump destination time (js-time). Search records with In this search process, the recorded data receiving unit 670 detects the playback start position (step S710). Then, the recorded data receiving unit 670 outputs a reproduction start notification to the input control unit 640 (step S711).

録画データ受信部670は、ネットワークストレージ200にダウンロード要求を行い(ステップS712)、ステップS710で検出したレコードのSGPに対応する位置からのGOP分割データを順次読み込み(ステップS713−1〜ステップS713−n)、録画データのダウンロードを行う。   The recorded data receiving unit 670 makes a download request to the network storage 200 (step S712), and sequentially reads GOP division data from the position corresponding to the SGP of the record detected in step S710 (steps S713-1 to S713-n). ), Download the recorded data.

その後、録画データ受信部670は、入力制御部640からの再生終了指示(fileが指定される)に応じて(ステップS714)、ネットワークストレージ200に再生終了通知を送信する(ステップS715)。そして録画データ受信部670は、STB600がSTB記憶部630に確保した読み込み先ブロックを開放する。これにより、ネットワークストレージ200から読み込んだ録画データが削除される。
そして、録画データ受信部670は、入力制御部640に再生終了通知を出力し(ステップS716)、STB600は録画データ再生処理を終了する。
Thereafter, in response to a playback end instruction (file is specified) from the input control unit 640 (step S714), the recorded data receiving unit 670 transmits a playback end notification to the network storage 200 (step S715). Then, the recorded data receiving unit 670 releases the reading destination block secured in the STB storage unit 630 by the STB 600. Thereby, the recorded data read from the network storage 200 is deleted.
Then, the recorded data receiving unit 670 outputs a reproduction end notification to the input control unit 640 (step S716), and the STB 600 ends the recorded data reproduction process.

以上の処理により、STB600は、ネットワークストレージ200にアップロード(保存)した録画データを受信(取得)し、再生することが可能となる。また、ジャンプ再生時はSTB600のTimeテーブル622からジャンプ先のSGPを特定できるため、特殊再生(ジャンプ再生)におけるデータの逐次検索が不要である。   Through the above processing, the STB 600 can receive (acquire) and play back the recording data uploaded (saved) to the network storage 200. Further, during jump playback, the jump destination SGP can be specified from the Time table 622 of the STB 600, so that sequential retrieval of data in special playback (jump playback) is unnecessary.

(ネットワークストレージ200の再生開始通知対応処理)
次に、図22を用いて、STB600から再生開始通知を受信したネットワークストレージ200の再生開始通知対応処理動作について説明する。
まず、録画データ受信部270は、図21のステップS704でSTB600から送信される再生開始通知〔ProgramID、SGP〕を受信する(ステップS801)。そして、録画データ受信部270は、NSDB管理部210を介し、GOPテーブル221から読み込み先(図18のステップS509で確保した書込領域)を検索する(ステップS802)。このとき、録画データ受信部270は、〔ProgramID、SGP〕を用いて、GOPテーブル221のレコードを検索して、対応するDataID(Blockテーブル223のキー値)を取得する(ステップS803)。
次に、録画データ受信部270は、取得したDataIDをストレージ管理部260に出力し(ステップS804)、ストレージ管理部260に読み込み先の取得を依頼する。
(Processing for starting notification of network storage 200)
Next, with reference to FIG. 22, a description will be given of the operation of the network storage 200 in response to the reproduction start notification that has received the reproduction start notification from the STB 600.
First, the recorded data receiving unit 270 receives the reproduction start notification [ProgramID, SGP] transmitted from the STB 600 in step S704 of FIG. 21 (step S801). Then, the recorded data reception unit 270 searches the GOP table 221 for the reading destination (the writing area secured in step S509 in FIG. 18) via the NSDB management unit 210 (step S802). At this time, the recorded data receiving unit 270 searches for a record in the GOP table 221 using [ProgramID, SGP], and acquires the corresponding DataID (key value in the Block table 223) (step S803).
Next, the recorded data receiving unit 270 outputs the acquired DataID to the storage management unit 260 (step S804), and requests the storage management unit 260 to acquire the reading destination.

ストレージ管理部260は、NSDB管理部210を介して、Blockテーブル223(図9)から図18のステップS509で確保した書込領域情報(書き込み先のブロック)を検索する(ステップS805)。ここでは、ストレージ管理部260は、DataIDをキー値として、図18のステップS509で確保した書込領域情報を、Blockテーブル223(図9)のレコード〔StorageID、BlockID、BlockCount〕から検索する。   The storage management unit 260 searches the block table 223 (FIG. 9) via the NSDB management unit 210 for the write area information (write destination block) secured in step S509 in FIG. 18 (step S805). Here, the storage management unit 260 searches for the write area information secured in step S509 in FIG. 18 from the record [StorageID, BlockID, BlockCount] in the Block table 223 (FIG. 9) using DataID as a key value.

ストレージ管理部260は、Blockテーブル223(図9)において、検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕のRefCounterをインクリメントする(RefCounter++)(ステップS806)。   The storage management unit 260 increments the RefCounter of the record [StorageID, BlockID, BlockCount] corresponding to the detected DataID in the Block table 223 (FIG. 9) (RefCounter ++) (step S806).

NSDB管理部210は、検出した書き込み先のブロックの書込領域情報をストレージ管理部260に出力する(ステップS807)。このとき、NSDB管理部210は、書込領域情報として検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕をストレージ管理部260に出力する。そして、ストレージ管理部260は、書込領域情報を録画データ受信部270に出力する(ステップS808)。
そして、録画データ受信部270は、録画データ読込先検出完了通知をSTB600に送信する(ステップS809)。
The NSDB management unit 210 outputs the write area information of the detected write destination block to the storage management unit 260 (step S807). At this time, the NSDB management unit 210 outputs a record [StorageID, BlockID, BlockCount] corresponding to the DataID detected as the write area information to the storage management unit 260. Then, the storage management unit 260 outputs the writing area information to the recorded data receiving unit 270 (step S808).
Then, the recording data receiving unit 270 transmits a recording data reading destination detection completion notification to the STB 600 (step S809).

その後、STB600からのダウンロード要求を受けた録画データ受信部270は(ステップS810)、ステップS808で取得した書込領域情報に基づき、NS記憶部230からGOP分割データを取得して、STB600に順次送信する(ステップS811−1〜ステップS811−n)。   Thereafter, the recording data receiving unit 270 that has received the download request from the STB 600 (step S810) acquires GOP division data from the NS storage unit 230 based on the writing area information acquired in step S808, and sequentially transmits it to the STB 600. (Step S811-1 to Step S811-n).

(ネットワークストレージ200の再生終了通知対応処理)
次に、図23を用いて、STB600から再生終了通知を受信したネットワークストレージ200の再生終了通知対応処理動作について説明する。
(Processing for notification of completion of reproduction of network storage 200)
Next, with reference to FIG. 23, a description will be given of a playback end notification handling processing operation of the network storage 200 that has received a playback end notification from the STB 600. FIG.

まず、録画データ受信部270は、図21のステップS715でSTB600から送信された再生終了通知を受信する(ステップS901)。録画データ受信部270は、ストレージ管理部260にDataIDを出力する(ステップS902)。   First, the recorded data receiving unit 270 receives the reproduction end notification transmitted from the STB 600 in step S715 of FIG. 21 (step S901). The recorded data receiving unit 270 outputs DataID to the storage management unit 260 (step S902).

ストレージ管理部260は、NSDB管理部210を介し、DataIDをキー値として、Blockテーブル223の検索を行い(ステップS903)、検出したレコードのRefCounterをデクリメントさせる(RefCounter--)(ステップS904)。ここで、RefCounterの値が0であれば(デクリメントできなかった場合)、検出したレコードのGOP分割データの書込領域(すなわち、GOP分割データがNS記憶部230に記憶されているブロック)を開放する。つまり、GOP分割データを削除する。   The storage management unit 260 searches the Block table 223 using the DataID as a key value via the NSDB management unit 210 (step S903), and decrements the RefCounter of the detected record (RefCounter--) (step S904). Here, if the value of RefCounter is 0 (when decrement is not possible), the GOP division data writing area of the detected record (that is, the block in which the GOP division data is stored in the NS storage unit 230) is released. To do. That is, GOP division data is deleted.

そして、NSDB管理部210は処理完了通知をストレージ管理部260に出力し(ステップS905)、ストレージ管理部260は録画データ受信部270に転送し(ステップS906)、録画データ受信部270は、STB600にステップS901の再生終了通知に対する応答通知を送信し(ステップS907)、再生終了通知対応処理を終了する。
以上の処理により、録画データ再生中はRefCounterの値が0にならないため、データ読み込み時に該当ブロックのデータが削除されない。
Then, the NSDB management unit 210 outputs a processing completion notification to the storage management unit 260 (step S905), the storage management unit 260 transfers it to the recorded data reception unit 270 (step S906), and the recorded data reception unit 270 transfers to the STB 600. A response notification to the reproduction end notification in step S901 is transmitted (step S907), and the reproduction end notification handling process is terminated.
With the above processing, since the value of RefCounter does not become 0 during playback of recorded data, the data of the corresponding block is not deleted when data is read.

(4)録画データ削除シーケンス
図24〜図25を用いて、録画データ削除シーケンスについて説明する。
(4) Recorded Data Deletion Sequence The recorded data deletion sequence will be described with reference to FIGS.

(STB600のファイル削除処理)
次に、図24を用いて、STB600のファイル削除処理動作について説明する。
まず、録画データ送信部660は、入力制御部640からのファイル削除指示(fileが指定される)に応じて(ステップS1001)、STBDB管理部610を介し、STBDB620のTimeテーブル622を検索し(ステップS1002)、GOP分割データのレコード〔ProgramID、SGP、time、file〕を取得する(ステップS1003)。
そして、録画データ送信部660は、〔ProgramID、SGP〕をネットワークストレージ200に送信して、録画データ削除を要求する(ステップS1004)。
(STB600 file deletion processing)
Next, the file deletion processing operation of the STB 600 will be described with reference to FIG.
First, the recorded data transmission unit 660 searches the Time table 622 of the STBDB 620 via the STBDB management unit 610 in response to a file deletion instruction (file is designated) from the input control unit 640 (Step S1001) (Step S1001). S1002), GOP division data records [ProgramID, SGP, time, file] are acquired (step S1003).
Then, the recorded data transmission unit 660 transmits [ProgramID, SGP] to the network storage 200 and requests deletion of the recorded data (step S1004).

次に、録画データ送信部660は、STBDB管理部610を介し、Timeテーブル622からステップS1003で取得したレコード〔ProgramID、SGP、time、file〕を削除する(ステップS1005)。
そして、録画データ送信部660は、STBDB管理部610を介し、Fileテーブル621からステップS1003で取得したレコードのfileに該当する(一致する)レコードを削除する(ステップS1006)。
さらに、録画データ送信部660は、STB記憶部630にfileが残っている場合は、fileを合わせて削除する(ステップS1007)。
録画データ送信部660は、入力制御部640にファイル削除完了通知を出力し(ステップS1008)、STB600はfile削除処理を終了する。
Next, the recorded data transmission unit 660 deletes the record [ProgramID, SGP, time, file] acquired in Step S1003 from the Time table 622 via the STBDB management unit 610 (Step S1005).
Then, the recorded data transmission unit 660 deletes a record corresponding to (matches) the file of the record acquired in step S1003 from the file table 621 via the STBDB management unit 610 (step S1006).
Furthermore, when a file remains in the STB storage unit 630, the recorded data transmission unit 660 deletes the file together (step S1007).
The recorded data transmission unit 660 outputs a file deletion completion notification to the input control unit 640 (step S1008), and the STB 600 ends the file deletion process.

以上の処理により、ネットワークストレージ200、およびSTB600から指定されたfileの録画データが削除される。   Through the above processing, the recording data of the designated file is deleted from the network storage 200 and the STB 600.

(ネットワークストレージ200の録画データ削除処理)
次に、図25を用いて、STB600から録画データ削除要求を受信したネットワークストレージ200の録画データ削除処理動作について説明する。
(Recording data deletion processing of network storage 200)
Next, the recording data deletion processing operation of the network storage 200 that has received the recording data deletion request from the STB 600 will be described with reference to FIG.

まず、録画データ受信部270は、STB600から録画データ削除要求を受け(ステップS1101)、NSDB管理部210を介して、〔ProgramID、SGP〕を用いてGOPテーブル221の検索を行い(ステップS1102)、検出したレコードのGOPStatusの値を“A”から“U”に変更する(ステップS1103)。これにより、ネットワークストレージ200は、SGPに対応するGOP分割データを利用することができなくなる。   First, the recording data receiving unit 270 receives a recording data deletion request from the STB 600 (step S1101), and searches the GOP table 221 using [ProgramID, SGP] via the NSDB management unit 210 (step S1102). The value of GOPStatus of the detected record is changed from “A” to “U” (step S1103). As a result, the network storage 200 cannot use the GOP division data corresponding to the SGP.

録画データ受信部270は、NSDB管理部210から変更完了通知を受け(ステップS1104)、次にNSDB管理部210を介し、ステップS1102で検出したGOPテーブル221のレコードのUserCountをデクリメントする(UserCount--)(ステップS1105〜ステップS1106)。   The recorded data receiving unit 270 receives the change completion notification from the NSDB management unit 210 (step S1104), and then decrements UserCount of the record of the GOP table 221 detected in step S1102 via the NSDB management unit 210 (UserCount-- (Step S1105 to Step S1106).

このステップS1106の処理において、UserCountが0の場合、DataIDを“−”(null)に設定し、GOPStatusの値を“U”から“N”に変更する。これにより、SGPに対応するGOP分割データが削除されたことになる。
一方、UserCountが0以外の場合、GOPStatusの値を“U”から“A”に変更することで、SGPに対応するGOP分割データが利用可能であることを示す。
NSDB管理部210は、録画データ受信部270に対して、UserCountが0となったDataIDのレコードを出力(返す)(ステップS1107)。図25の説明では、GOP分割データ個数をn、UserCountが0となったGOP分割データ個数をk(n≧k)とした。
In the process of step S1106, if UserCount is 0, DataID is set to “-” (null), and the value of GOPStatus is changed from “U” to “N”. As a result, the GOP division data corresponding to the SGP is deleted.
On the other hand, if UserCount is not 0, changing the value of GOPStatus from “U” to “A” indicates that GOP division data corresponding to SGP is available.
The NSDB management unit 210 outputs (returns) a record of DataID in which UserCount is 0 to the recorded data reception unit 270 (step S1107). In the description of FIG. 25, the number of GOP divided data is n, and the number of GOP divided data in which UserCount is 0 is k (n ≧ k).

そして、ストレージ管理部260は、録画データ受信部270から削除通知を取得し(ステップS1108)、NSDB管理部210を介して、UserCountが0となったDataIDをキー値として、Blockテーブル223の検索を行い(ステップS1109)、検出したレコードのRefCounterをデクリメントさせる(RefCounter--)(ステップS1110)。ここで、RefCounterの値が0であれば(デクリメントできなかった場合)、検出されたレコードのGOP分割データの書込領域(すなわち、GOP分割データがNS記憶部230に記憶されているブロック)を開放する。つまり、GOP分割データを削除する。   Then, the storage management unit 260 obtains a deletion notification from the recorded data reception unit 270 (step S1108), and searches the Block table 223 via the NSDB management unit 210 using the DataID whose UserCount is 0 as a key value. In step S1109, the RefCounter of the detected record is decremented (RefCounter--) (step S1110). Here, if the value of RefCounter is 0 (when decrementing is not possible), the GOP division data write area of the detected record (that is, the block in which the GOP division data is stored in the NS storage unit 230). Open. That is, GOP division data is deleted.

そして、NSDB管理部210は処理完了通知をストレージ管理部260に出力し(ステップS1111)、ストレージ管理部260は録画データ受信部270に転送し(ステップS1112)、録画データ受信部270は、STB600にステップS1101の録画データ削除要求に対する応答通知を送信し(ステップS1113)、録画データ削除処理を終了する。   Then, the NSDB management unit 210 outputs a processing completion notification to the storage management unit 260 (step S1111), the storage management unit 260 transfers it to the recorded data reception unit 270 (step S1112), and the recorded data reception unit 270 transfers to the STB 600. A response notification to the recording data deletion request in step S1101 is transmitted (step S1113), and the recording data deletion processing is terminated.

以上の処理により、STB600からの録画データ削除に対し、ネットワークストレージ200、およびSTB600から録画データが削除される。また、記録済みSTB600が存在せず、利用中のSTB600も存在しない録画データについては利用不可となるが、利用中のデータブロックは図23の再生終了シーケンスが終わるまでデータが変更されないことが保証される。   Through the above processing, the recording data is deleted from the network storage 200 and the STB 600 in response to the recording data deletion from the STB 600. In addition, recording data for which there is no recorded STB 600 and no STB 600 in use cannot be used, but it is guaranteed that the data in the data block in use is not changed until the playback end sequence in FIG. The

《8.ネットワークストレージ200内のデータ・デデュープ方法》
図1に示すストリーム放送録画システム1において、放送サーバ100が送信(放送)するストリームデータを複数のSTB600が受信し記録(録画)する。つまり、同一番組のストリームデータを各STB600で受信することになるため、各STB600が記録したストリームデータ(録画データ)は重複度が高い。ここで、同一番組のストリームデータをダイレクト録画する場合、各STB600が受信するストリームデータを構成するTSパケットのProgramIDおよびPCR値は同一である。本発明はこのことを利用し、重複する録画データの検出を行う。
<< 8. Data Deduplication Method in Network Storage 200 >>
In the stream broadcast recording system 1 shown in FIG. 1, a plurality of STBs 600 receive and record (record) stream data transmitted (broadcast) by the broadcast server 100. That is, since the stream data of the same program is received by each STB 600, the stream data (recorded data) recorded by each STB 600 has a high degree of overlap. Here, when the stream data of the same program is directly recorded, the Program ID and the PCR value of the TS packet constituting the stream data received by each STB 600 are the same. The present invention utilizes this fact to detect duplicate recorded data.

ここで、図26〜図40を用いて、ネットワークストレージ200におけるデータ・デデュープ(De- Dupe(Data De-duplication)の略語であり、データ重複排除のこと)の説明を行う。ここでは、2つのSTB600(ユーザが操作するSTB600−1、別のユーザが操作するSTB600−2)が同一の時間帯で放送される同一の番組(ProgramID=0001)を録画し、番組終了後、それぞれのSTB600(STB600−1、STB600−2)が録画した録画データを、ネットワークストレージ200にアップロードする例を、第1の状態、第2の状態、第3の状態に分けて説明する。   Here, data deduplication (which is an abbreviation for De-Dupe (Data De-duplication), which is data deduplication) in the network storage 200 will be described with reference to FIGS. Here, two STBs 600 (STB 600-1 operated by a user and STB 600-2 operated by another user) record the same program (Program ID = 0001) broadcast in the same time zone, and after the program ends, An example of uploading the recording data recorded by each STB 600 (STB 600-1 and STB 600-2) to the network storage 200 will be described separately for the first state, the second state, and the third state.

ここで、第1の状態は、番組の放送終了後、放送サーバ100が送信したストリームデータが、STB600−1およびSTB600−2に録画データとして記録され、ストリーム解析装置300により解析されて、解析結果がネットワークストレージ200に記録されているときの状態である。
第2の状態は、STB600−1が録画データをネットワークストレージ200にアップロードするときの状態である。
第3の状態は、第2の状態の後で、すでにネットワークストレージ200にアップロードされている(第2の状態でSTB600−1がアップロードした)録画データと一部同じ(重複する)録画データを記録したSTB600−2が、ネットワークストレージ200に重複しない録画データをアップロードするときの状態である。
Here, the first state is that the stream data transmitted from the broadcast server 100 after the broadcast of the program is recorded as recorded data in the STB 600-1 and STB 600-2, analyzed by the stream analysis device 300, and the analysis result. Is recorded in the network storage 200.
The second state is a state when the STB 600-1 uploads the recording data to the network storage 200.
In the third state, after the second state, recorded data that is partially the same (overlapping) as the recorded data that has already been uploaded to the network storage 200 (uploaded by the STB 600-1 in the second state) is recorded. The STB 600-2 is in a state when uploading recording data that is not duplicated to the network storage 200.

図27と、図32と、図38とは、ネットワークストレージ200が備えるGOPテーブル221であり、図27は第1の状態時、図32は第2の状態時、図38は第3の状態時のGOPテーブル221を示す。
図29、図34、図39は、ネットワークストレージ200が備えるBlockテーブル223であり、図29は第1の状態時、図34は第2の状態時、図39は第3の状態時のBlockテーブル223を示す。
図36および図40は、STB600が備えるTimeテーブル622であり、図36は第2の状態時、図40は第3の状態時のTimeテーブル622を示す。
図28は、第1の状態時のネットワークストレージ200が備えるPCRテーブル222を示す。
図30は、第1の状態時のSTB600が備えるFileテーブル621を示す。
27, FIG. 32, and FIG. 38 are GOP tables 221 provided in the network storage 200. FIG. 27 is in the first state, FIG. 32 is in the second state, and FIG. 38 is in the third state. The GOP table 221 is shown.
29, 34, and 39 are block tables 223 included in the network storage 200. FIG. 29 shows the block table in the first state, FIG. 34 shows the second state, and FIG. 39 shows the block table in the third state. 223 is shown.
36 and 40 show the time table 622 included in the STB 600. FIG. 36 shows the time table 622 in the second state, and FIG. 40 shows the time table 622 in the third state.
FIG. 28 shows the PCR table 222 provided in the network storage 200 in the first state.
FIG. 30 shows a File table 621 included in the STB 600 in the first state.

《第1の状態》
第1の状態について、図26〜図30を用いて説明する。
第1の状態は、番組の放送終了後、放送サーバ100が送信したストリームデータが、STB600−1およびSTB600−2に録画データとして記録され、ストリーム解析装置300により解析されて、解析結果がネットワークストレージ200に記録されているときの状態である。
<< First state >>
The first state will be described with reference to FIGS.
In the first state, after the broadcast of the program ends, the stream data transmitted by the broadcast server 100 is recorded as recorded data in the STB 600-1 and STB 600-2, analyzed by the stream analysis device 300, and the analysis result is the network storage. This is the state when it is recorded in 200.

図26(a)は、図27に示す第1の状態時のGOPテーブル221に記録されたデータを図示したものである。図27に示すGOPテーブル221には、ストリーム解析装置300により、ストリームデータが解析されて、GOP分割データが存在する位置が記録されている。ここで、GOPテーブル221の1レコード目のGOP分割データの位置について、図26(a)および図27を用いて説明する。   FIG. 26A shows data recorded in the GOP table 221 in the first state shown in FIG. In the GOP table 221 shown in FIG. 27, stream data is analyzed by the stream analysis device 300, and positions where GOP division data exist are recorded. Here, the position of the GOP division data of the first record in the GOP table 221 will be described with reference to FIG.

図26(b)は、図30(a)に示す第1の状態時のSTB600−1が備えるFileテーブル621−1に記録されたデータを図示したものである。また、図26(c)は、図30(b)に示す第1の状態時のSTB600−2が備えるFileテーブル621−2に記録されたデータを図示したものである。   FIG. 26B illustrates data recorded in the File table 621-1 included in the STB 600-1 in the first state illustrated in FIG. FIG. 26C illustrates data recorded in the File table 621-2 included in the STB 600-2 in the first state illustrated in FIG. 30B.

ここで、STB600−1に記録された、file(ファイル名)「user1_0001−1」で示される録画データRD1−1と、file「user1_0001−2」で示される録画データRD1−2と、STB600−2に記録されたfile「user2_0001−1」で示される録画データRD2との3つの録画データは、同じ番組(チャンネル)を録画したデータである。そのため、これらの録画データを構成するTSパケットのProgramIDは同一である。   Here, the recording data RD1-1 indicated by the file (file name) “user1_0001-1”, the recording data RD1-2 indicated by the file “user1_0001-2”, and the STB 600-2 recorded in the STB 600-1. The three recorded data with the recorded data RD2 indicated by the file “user2 — 0001-1” recorded in the file is data that records the same program (channel). Therefore, the Program IDs of the TS packets constituting these recorded data are the same.

例えば、ここでは紙面の都合上、短い時間帯にて記載するが、「user1_0001−1」の録画データRD1−1は、19:59:59:090〜20:00:01:10(ここで、記載した時間のフォーマットは、時:分:秒:1/100秒である)の時間帯の番組を録画したデータであり、「user1_0001−2」の録画データRD1−2は、20:00:00:090〜20:00:10:020の時間帯の番組を録画したデータであり、「user2_0001−1」の録画データRD2は、20:00:00:030〜20:00:20:030の時間帯の番組を録画したデータである。   For example, the recording data RD1-1 of “user1_0001-1” is 19: 59: 59: 090 to 20: 00: 01: 10 (here, for convenience of space, it is described in a short time zone). The format of the described time is data in which a program in a time zone of (hour: minute: second: 1/100 second) is recorded, and the recorded data RD1-2 of "user1_0001-2" is 20:00 : 090 to 20: 00: 10: 020, which is recorded data of the program, and the recorded data RD2 of “user2_0001-1” is the time of 20: 00: 00: 00 to 20: 00: 20: 030 It is data that records the program of the band.

図30(a)に示すFileテーブル621−1において、file「user1_0001−1」で示される録画データRD1−1は、PCR値が0999997300(=Start−PCR)の位置から1000029700(=End−PCR)の位置までである。同様に、file「user1_0001−2」で示される録画データRD1−2は、PCR値が1000024300(=Start−PCR)の位置から1000275400(=End−PCR)の位置までである。
ここで、STB600−1には、同じ番組の録画データが別々に記録されており(RD1−1とRD1−2)、しかも、PCR値が1000024300から1000029700までの位置において、録画データの一部が重複している。
In the File table 621-1 shown in FIG. 30A, the recorded data RD <b> 1-1 indicated by the file “user1_0001-1” is 1000029700 (= End-PCR) from the position where the PCR value is 0999997300 (= Start-PCR). Up to the position. Similarly, the recorded data RD1-2 indicated by the file “user1_0001-2” has a PCR value from the position of 1000024300 (= Start-PCR) to the position of 10000275400 (= End-PCR).
Here, recorded data of the same program is separately recorded in the STB 600-1 (RD1-1 and RD1-2), and a part of the recorded data is at positions where the PCR values are 1000024300 to 1000029700. Duplicate.

同様に、図30(b)に示すFileテーブル621−2において、file「user1_0002−1」で示される録画データRD2は、PCR値が1000008100(=Start−PCR)の位置から1000548100(=End−PCR)の位置までである。   Similarly, in the File table 621-2 shown in FIG. 30B, the recorded data RD2 indicated by the file “user1_0002-1” is 1000548100 (= End-PCR) from the position where the PCR value is 1000008100 (= Start-PCR). ) Position.

ここで、STB600−1に記録された録画データRD1(RD1−1およびRD1−2)と、STB600−2に記録された録画データRD2とでは、PCR値が1000008100から1000275400までの位置において、録画データの一部が重複している。   Here, in the recorded data RD1 (RD1-1 and RD1-2) recorded in the STB 600-1 and the recorded data RD2 recorded in the STB 600-2, the recorded data is at positions where the PCR values are 1000008100 to 10000275400. A part of is duplicated.

図28は、第1の状態時のネットワークストレージ200が備えるPCRテーブル222である。
PCRテーブル222には、ProgramIDと、PCRパケットのPCR値(PCR)と、そのPCRパケットから次のPCRパケットまでの間に存在するTSパケットのパケット総数(PTC)とが記録されている。
例えば、PCR値が1000000000のレコードは、そのPCR値のPCRパケットから、次のPCRパケット(PCR値が1000002700のPCRパケット)までの間に、31(=PTC)のTSパケットがあることを示している。
FIG. 28 shows a PCR table 222 provided in the network storage 200 in the first state.
The PCR table 222 records ProgramID, the PCR value (PCR) of the PCR packet, and the total number of packets (PTC) of TS packets existing between the PCR packet and the next PCR packet.
For example, a record with a PCR value of 1000000000 indicates that there are 31 (= PTC) TS packets between the PCR packet with that PCR value and the next PCR packet (PCR packet with a PCR value of 1000002700). Yes.

図29は、第1の状態時のネットワークストレージ200が備えるBlockテーブル223であり、NS記憶部230の記録領域の状態を示す。この第1の状態時において、BlockIDが00000001から67108863までに相当するNS記憶部230の記録領域が未使用である(何も記録されていない)ことを示している(RefCounter=0)。   FIG. 29 is a block table 223 provided in the network storage 200 in the first state, and shows the state of the recording area of the NS storage unit 230. In this first state, it indicates that the recording area of the NS storage unit 230 corresponding to the BlockID from 00000001 to 67108863 is unused (nothing is recorded) (RefCounter = 0).

このとき(第1の状態が終了し、第2の状態に移行する前の時点)の各テーブルの状態について説明する。
ネットワークストレージ200には、ストリーム解析装置300から送信された解析データのレコード〔ProgramID、SGP、GTC〕が保存されたGOPテーブル221(図27)と、PCRパケット間のTSパケットのパケット総数の一覧が保存されたPCRテーブル222(図28)と、未使用状態のNS記憶部230を示すBlockテーブル223(図29)とが存在する。
また、STB600−1には、2つの録画データがそれぞれファイルに格納されて「user1_0001−1」と、「user1_0001−2」とが存在する。そのファイル(録画データ)それぞれのStart−PCRおよびEnd−PCRが記録されたFileテーブル621−1(図30(a))が存在する。
一方、STB600−2には、1つの録画データが格納されたファイル「user2_0001−1」が存在し、Start−PCRおよびEnd−PCRが記録されたFileテーブル621−2(図30(b))が存在する。
The state of each table at this time (when the first state ends and before the transition to the second state) will be described.
The network storage 200 includes a GOP table 221 (FIG. 27) in which records of analysis data [ProgramID, SGP, GTC] transmitted from the stream analysis device 300 are stored, and a list of the total number of TS packets between PCR packets. There is a saved PCR table 222 (FIG. 28) and a Block table 223 (FIG. 29) indicating the NS storage unit 230 in an unused state.
Further, in the STB 600-1, two pieces of recorded data are stored in files, and “user1_0001-1” and “user1_0001-2” exist. There is a File table 621-1 (FIG. 30 (a)) in which the Start-PCR and End-PCR of each file (recorded data) are recorded.
On the other hand, the STB 600-2 has a file “user2 — 0001-1” in which one piece of recording data is stored, and a File table 621-2 (FIG. 30B) in which Start-PCR and End-PCR are recorded. Exists.

《第2の状態》
第2の状態について、図31〜図36を用いて説明する。
第2の状態は、STB600−1が録画データ(RD1−1およびRD1−2)をネットワークストレージ200にアップロードするときの状態である。
<< Second state >>
The second state will be described with reference to FIGS.
The second state is a state when the STB 600-1 uploads the recorded data (RD1-1 and RD1-2) to the network storage 200.

図31(a)(b)は、STB600−1に記録された録画データRD1(RD1−1およびRD1−2)をネットワークストレージ200にアップロードした後の、図32に示す第2の状態時のGOPテーブル221に記録されたデータを図示したものである。   31 (a) and 31 (b) show the GOP in the second state shown in FIG. 32 after uploading the recording data RD1 (RD1-1 and RD1-2) recorded in the STB 600-1 to the network storage 200. The data recorded in the table 221 is illustrated.

(録画データRD1−1のアップロード)
このSTB600−1は、ネットワークストレージ200でGOP分割データが重複して記録されないように、重複しないGOP分割データをアップロードする。しかし、STB600−1は、ストリームデータを解析する機能を有していないため、放送サーバ100から受信したストリームデータのどこにGOP分割データが記録されているか、すなわち、GOP分割データの開始位置と終了位置とを検出することができない。
(Upload of recorded data RD1-1)
The STB 600-1 uploads non-overlapping GOP division data so that the GOP division data is not recorded in the network storage 200. However, since the STB 600-1 does not have a function of analyzing the stream data, where the GOP divided data is recorded in the stream data received from the broadcast server 100, that is, the start position and the end position of the GOP divided data. Cannot be detected.

そこで、ネットワークストレージ200から、ストリーム解析装置300によるストリームデータの解析結果(GOP分割データの開始位置と終了位置)を、STB600−1に提供(送信)する。これにより、STB600−1は、録画データ(ストリームデータ)からGOP分割データの部分を抽出して、ネットワークストレージ200にアップロードできる。
そのため、まず、STB600−1は、ネットワークストレージ200に、録画した録画データの情報(これからアップロードするGOP分割データに係る情報)を提供(送信)する。
Therefore, the stream data analysis result (start position and end position of GOP division data) by the stream analysis device 300 is provided (transmitted) from the network storage 200 to the STB 600-1. Thus, the STB 600-1 can extract the GOP division data portion from the recorded data (stream data) and upload it to the network storage 200.
Therefore, first, the STB 600-1 provides (transmits) information of recorded video data (information related to GOP division data to be uploaded) to the network storage 200.

ここで、ネットワークストレージ200が提供(送信)する情報は、STB600とネットワークストレージ200との双方で共有する認識可能な情報(PCR)に基づくデータである。   Here, the information provided (transmitted) by the network storage 200 is data based on recognizable information (PCR) shared by both the STB 600 and the network storage 200.

ネットワークストレージ200は、GOP分割データの開始位置(SGP)と、GOP分割データを構成するTSパケットの数(GTC)とを、STB600−1に提供(送信)する。
以上により、STB600−1は、録画データ(ストリームデータ)からSGPを検出するだけで、ネットワークストレージ200から提供された情報に基づいて、GOP分割データを抽出することができる。そして、STB600−1は抽出したGOP分割データをネットワークストレージ200にアップロードする。
The network storage 200 provides (transmits) the start position (SGP) of the GOP split data and the number of TS packets (GTC) constituting the GOP split data to the STB 600-1.
As described above, the STB 600-1 can extract the GOP division data based on the information provided from the network storage 200 only by detecting the SGP from the recorded data (stream data). Then, the STB 600-1 uploads the extracted GOP division data to the network storage 200.

(残TSパケットの格納、再生時抽出処理)
ここで、録画データからGOP分割データを抽出した後、録画データの先頭と末尾に残TSパケット(残先頭TSパケット、残末尾TSパケット)が発生する。STB600−1は、残TSパケットをSTB記憶部630から抽出するための情報をTimeテーブル622に格納する。ここで、STB600−1は、残TSパケットから得られる〔offset、PTC〕に基づき、残TSパケットのTSパケット数(position)を算出し、Timeテーブル622に格納する。これにより、STB記憶部630には、Timeテーブル622から得られるfile「user1−0001−1」の先頭から、position分のTSパケット、すなわち残先頭TSパケットが記録される。
(Residual TS packet storage, playback extraction processing)
Here, after the GOP division data is extracted from the recorded data, remaining TS packets (remaining leading TS packet, remaining trailing TS packet) are generated at the beginning and the end of the recording data. The STB 600-1 stores information for extracting the remaining TS packets from the STB storage unit 630 in the Time table 622. Here, the STB 600-1 calculates the TS packet number (position) of the remaining TS packets based on [offset, PTC] obtained from the remaining TS packets, and stores it in the Time table 622. As a result, the TS packets corresponding to the position from the head of the file “user1-0001-1” obtained from the Time table 622, that is, the remaining head TS packets are recorded in the STB storage unit 630.

STB600−1は、再生時に、Timeテーブル622に格納されたpositionに基づき、残TSパケットをSTB記憶部630から抽出する。そして、STB600−1は、ネットワークストレージ200からダウンロードした最初のGOP分割データの先頭に、残先頭TSパケットを付け、最後のGOP分割データの末尾に、残末尾TSパケットを付けて補完し、録画時の録画データを生成する。そして、STB600−1は、再生時に最初に、残先頭TSパケットを再生する。この残TSパケットを格納する処理は、STB600−1が録画したときの全てのデータを補完するための処理である。   The STB 600-1 extracts the remaining TS packet from the STB storage unit 630 based on the position stored in the Time table 622 during playback. Then, the STB 600-1 adds the remaining head TS packet to the head of the first GOP split data downloaded from the network storage 200, and complements it by adding the remaining tail TS packet to the end of the last GOP split data. Recording data is generated. Then, the STB 600-1 first reproduces the remaining head TS packet during reproduction. The process of storing the remaining TS packet is a process for complementing all data when the STB 600-1 records.

(録画データRD1−2のアップロード)
さらに、STB600−1は、録画データRD1−2も、録画データRD1−1をアップロードしたときと同様に、ネットワークストレージ200に記録されたGOP分割データと重複しないように、重複しないGOP分割データをアップロードする。
(Upload of recording data RD1-2)
Further, the STB 600-1 uploads the non-overlapping GOP division data so that the recording data RD1-2 does not overlap with the GOP division data recorded in the network storage 200 similarly to the case where the recording data RD1-1 is uploaded. To do.

まず、STB600−1は、ネットワークストレージ200に、録画データRD1−2の情報(これからアップロードするGOP分割データに係る情報)を提供(送信)する。ここで、Fileテーブル621−1(図30(a))に記録されたファイル名「user1_0001−2」のレコード〔ProgramID,Start−PCR,End−PCR,offset〕が、録画データRD1−2の情報である。   First, the STB 600-1 provides (transmits) information on the recording data RD1-2 (information related to GOP division data to be uploaded) to the network storage 200. Here, the record [ProgramID, Start-PCR, End-PCR, offset] of the file name “user1_0001-2” recorded in the File table 621-1 (FIG. 30A) is information on the recording data RD1-2. It is.

ネットワークストレージ200は、録画データRD1−2の情報を確認して、NS記憶部230に記録されているGOP分割データ(つまり、録画データRD1−1がアップロードされたGOP分割データ)と重複しない範囲の、GOP分割データの開始位置のPCRパケットの位置(SGP)と、GOP分割データを構成するTSパケットの数(GTC)とを、図32のGOPテーブル221から取得してSTB600−1に提供(送信)する。
ここで、positionは、offset+Start−PCR値が格納されたPCRパケットから範囲先端PCRパケットの1つ手前のTSパケットまでに存在するTSパケットのデータサイズである(図19参照)。
The network storage 200 confirms the information of the recording data RD1-2, and the GOP division data recorded in the NS storage unit 230 (that is, the GOP division data to which the recording data RD1-1 is uploaded) is in a range that does not overlap. The position (SGP) of the PCR packet at the start position of the GOP split data and the number of TS packets (GTC) constituting the GOP split data are obtained from the GOP table 221 of FIG. 32 and provided to the STB 600-1 (transmission) )
Here, position is the data size of the TS packet existing from the PCR packet storing the offset + Start-PCR value to the TS packet immediately before the range leading PCR packet (see FIG. 19).

以上により、STB600−1は、録画データRD1−2(ストリームデータ)からSGPを検出するだけで、ネットワークストレージ200から提供された情報に基づいて、GOP分割データを抽出することができる。そして、STB600−1は抽出したGOP分割データをネットワークストレージ200にアップロードする。
これにより、STB600−1は、図31(b)に示す[3]のGOP分割データを抽出し、ネットワークストレージ200にアップロードする。
As described above, the STB 600-1 can extract the GOP division data based on the information provided from the network storage 200 only by detecting the SGP from the recorded data RD1-2 (stream data). Then, the STB 600-1 uploads the extracted GOP division data to the network storage 200.
As a result, the STB 600-1 extracts [3] GOP division data shown in FIG. 31B and uploads it to the network storage 200.

(録画RD1−2の残TSパケットの格納、再生時抽出処理)
ここで、録画データからGOP分割データを抽出した後、録画データの先頭と末尾で残TSパケット(残先頭TSパケット、残末尾TSパケット)が発生する。これも録画データRD1−1と同様に処理が行われ、STB記憶部630には、Timeテーブル622から得られるfile「user1−0001−1」の先頭から、position分のTSパケット、すなわち残先頭TSパケットが記録される。
(Storing of remaining TS packets of recording RD1-2, extraction processing during playback)
Here, after extracting the GOP division data from the recorded data, remaining TS packets (remaining leading TS packet, remaining trailing TS packet) are generated at the beginning and the end of the recording data. This is also processed in the same manner as the recorded data RD1-1, and the STB storage unit 630 stores a TS packet corresponding to the position from the head of the file “user1-0001-1” obtained from the Time table 622, that is, the remaining head TS. The packet is recorded.

ここで、録画データRD1−1と、録画データRD1−2との間で重複する、GOP分割データは、アップロード処理後に削除される。   Here, the GOP division data that overlaps between the recording data RD1-1 and the recording data RD1-2 is deleted after the upload process.

以上のように、STB600−1は、録画データRD1(RD1−1およびRD1−2)を構成するGOP分割データをネットワークストレージ200にアップロードする。   As described above, the STB 600-1 uploads the GOP division data constituting the recording data RD1 (RD1-1 and RD1-2) to the network storage 200.

図33は、アップロードされたGOP分割データをネットワークストレージ200がNS記憶部230に記録する処理を図示したものである。
ネットワークストレージ200は、GOP分割データを構成するTSパケット数(GTC)に基づき、NS記憶部230の記憶領域の割り当てをブロック単位で行う。このとき、ネットワークストレージ200は、GOP分割データが記憶された最初のブロックの識別番号(BlockID)と、使用するブロックの数(BlockCount)とを算出する。
そして、ネットワークストレージ200は、録画データを構成する順番で、各GOP分割データに一意のDataIDを付与する。
これらの〔DataID、BlockID、BlockCount〕をBlockテーブル223に記録する。
FIG. 33 illustrates a process in which the network storage 200 records the uploaded GOP division data in the NS storage unit 230.
The network storage 200 allocates the storage area of the NS storage unit 230 in units of blocks based on the number of TS packets (GTC) constituting the GOP division data. At this time, the network storage 200 calculates the identification number (BlockID) of the first block in which the GOP division data is stored and the number of blocks to be used (BlockCount).
Then, the network storage 200 assigns a unique DataID to each GOP division data in the order in which the recording data is configured.
These [DataID, BlockID, BlockCount] are recorded in the Block table 223.

図34では、GOP分割データ[1]〜[20]が、DataID「00000001」からDataID「00000020」で示すレコードに記録される。
DataID「00000000」は空き領域が確保されたことを示しており、BlockID「00000001」から8000のブロックが空き領域(RefCounter=0)として確保されていることを示している。また、NextIDには、次に割り当て可能なブロック(空き領域)の情報が記録されたレコードのDataIDが記録される。
この図34のBlockテーブルにおいて、DataID「00000000」で示すレコードには、BlockCount=8000の空き領域があることを示す情報が記録されている。
In FIG. 34, GOP division data [1] to [20] are recorded in records indicated by DataID “00000001” to DataID “00000020”.
DataID “00000000” indicates that a free area is secured, and that 8000 blocks from BlockID “00000001” are secured as a free area (RefCounter = 0). In the NextID, the DataID of a record in which information on the next assignable block (empty area) is recorded is recorded.
In the Block table of FIG. 34, information indicating that there is a free area of BlockCount = 8000 is recorded in the record indicated by DataID “00000000”.

(GOPテーブル221の更新)
そして、ネットワークストレージ200は、GOPテーブル221の更新を行い、図32に示すように、各GOP分割データに対応するGOPテーブル221の〔DataID、UserCount、GOPStatus〕が記録される。
図32に示すように、DataID「00000001」からDataID「00000020」に示すレコードが追加され、〔ProgramID,SGP,GTC〕には、各GOP分割データの情報が記録される。DataIDは、NS記憶部230に記録されたGOP分割データの順番が記録される。UserCountには1が記録される。GOPStatusには、“A(Available)”が記録される。
(Update of GOP table 221)
Then, the network storage 200 updates the GOP table 221 and records [DataID, UserCount, GOPStatus] of the GOP table 221 corresponding to each GOP division data as shown in FIG.
As shown in FIG. 32, records from DataID “00000001” to DataID “00000020” are added, and information of each GOP division data is recorded in [ProgramID, SGP, GTC]. DataID records the order of the GOP division data recorded in the NS storage unit 230. 1 is recorded in UserCount. “A (Available)” is recorded in GOPStatus.

STB600−1のTimeテーブル622−1には、図36(a)に示すように、〔ProgramID,SGP,time,file,position,Length〕で構成されるレコードが格納される。このレコードは、録画データを、ネットワークストレージ200の解析データに基づき、抽出したGOP分割データの情報である。このレコードには、録画データの開始位置からGOP分割データの先頭までの位置(position)と、GOP分割データ長(Length)と、先頭GOP分割データからの相対時間(time)が計算される。
図35は、Timeテーブル622−1に記録されたデータを図示したものである。つまり、第2の状態時のSTB600−1がアップロードする録画データRD1(RD1−1およびRD1−2)を図示したものである。
In the Time table 622-1 of the STB 600-1, a record composed of [Program ID, SGP, time, file, position, Length] is stored as shown in FIG. This record is information of GOP division data obtained by extracting recorded data based on analysis data of the network storage 200. In this record, the position (position) from the start position of the recording data to the head of the GOP division data, the GOP division data length (Length), and the relative time (time) from the head GOP division data are calculated.
FIG. 35 illustrates data recorded in the Time table 622-1. That is, the recording data RD1 (RD1-1 and RD1-2) uploaded by the STB 600-1 in the second state is illustrated.

《第3の状態》
第3の状態について、図37〜図40を用いて説明する。
第3の状態は、第2の状態の後で、すでにネットワークストレージ200にアップロードされている(第2の状態でSTB600−1がアップロードした)録画データと一部同じ(重複する)録画データを記録したSTB600−2が、ネットワークストレージ200に重複しない録画データをアップロードするときの状態である。
《Third state》
The third state will be described with reference to FIGS.
In the third state, after the second state, recorded data that is partially the same (overlapping) as the recorded data that has already been uploaded to the network storage 200 (uploaded by the STB 600-1 in the second state) is recorded. The STB 600-2 is in a state when uploading recording data that is not duplicated to the network storage 200.

図37は、STB600−2に記録された録画データRD2をネットワークストレージ200にアップロードした後の、図38に示す第3の状態時のGOPテーブル221に記録されたデータを図示したものである。   FIG. 37 illustrates the data recorded in the GOP table 221 in the third state shown in FIG. 38 after uploading the recording data RD2 recorded in the STB 600-2 to the network storage 200.

(録画データRD2のアップロード)
このSTB600−2は、ネットワークストレージ200でGOP分割データが重複して記録されないように、重複しないGOP分割データをアップロードする。
(Upload of recording data RD2)
The STB 600-2 uploads non-overlapping GOP division data so that the GOP division data is not duplicated and recorded in the network storage 200.

まず、STB600−1は、ネットワークストレージ200に、録画データRD2の情報(これからアップロードするGOP分割データに係る情報)を提供(送信)する。ここで、Fileテーブル621−2(図30(b))に記録されたファイル名「user2_0001−1」のレコード〔ProgramID,Start−PCR,End−PCR,offset〕が、録画データRD2の情報である。   First, the STB 600-1 provides (transmits) information on the recording data RD2 (information on GOP division data to be uploaded from now on) to the network storage 200. Here, the record [ProgramID, Start-PCR, End-PCR, offset] of the file name “user2_0001-1” recorded in the File table 621-2 (FIG. 30B) is information of the recording data RD2. .

ネットワークストレージ200は、録画データRD2の情報を確認して、NS記憶部230に記録されているGOP分割データ(つまり、録画データRD1がアップロードされたGOP分割データ)と重複しない範囲の、GOP分割データの開始位置のPCRパケットの位置(SGP)と、GOP分割データを構成するTSパケットの数(GTC)とを、STB600−2に提供(送信)する。   The network storage 200 confirms the information of the recorded data RD2, and the GOP divided data in a range that does not overlap with the GOP divided data recorded in the NS storage unit 230 (that is, the GOP divided data to which the recorded data RD1 is uploaded). The STB 600-2 is provided (transmitted) with the position (SGP) of the PCR packet at the start position and the number of TS packets (GTC) constituting the GOP division data.

以上により、STB600−2は、録画データRD2(ストリームデータ)からSGPを検出するだけで、ネットワークストレージ200から提供された情報に基づいて、GOP分割データを抽出することができる。そして、STB600−2は抽出したGOP分割データをネットワークストレージ200にアップロードする。
これにより、STB600−2は、図37に示す[21](DataID=0000021)のGOP分割データを抽出し、ネットワークストレージ200にアップロードする。
As described above, the STB 600-2 can extract the GOP division data based on the information provided from the network storage 200 only by detecting the SGP from the recording data RD2 (stream data). Then, the STB 600-2 uploads the extracted GOP division data to the network storage 200.
Thereby, the STB 600-2 extracts the GOP division data of [21] (DataID = 00000021) shown in FIG. 37 and uploads it to the network storage 200.

(録画RD2の残TSパケットの格納、再生時抽出処理)
ここで、録画データからGOP分割データ抽出した後、録画データの先頭と末尾で残TSパケット(残先頭TSパケット、残末尾TSパケット)が発生する。これも録画データRD1と同様に処理が行われ、STB記憶部630には、Timeテーブル622から得られるfile「user2−0001−1」の先頭から、position分のTSパケット、すなわち残先頭TSパケットが記録される。
(Storing of remaining TS packet of recording RD2, extraction processing during playback)
Here, after extracting the GOP divided data from the recorded data, remaining TS packets (remaining leading TS packet, remaining trailing TS packet) are generated at the beginning and the end of the recording data. This is also processed in the same manner as the recorded data RD1, and the STB storage unit 630 contains position-specific TS packets, that is, remaining TS packets from the head of the file “user2-0001-1” obtained from the Time table 622. To be recorded.

以上のように、STB600−2は、録画データRD2を構成するGOP分割データをネットワークストレージ200にアップロードする。   As described above, the STB 600-2 uploads the GOP division data constituting the recording data RD2 to the network storage 200.

図39は、アップロードされたGOP分割データをネットワークストレージ200がNS記憶部230に記録する処理を示したものである。
ネットワークストレージ200は、GOP分割データを構成するTSパケット数(GTC)に基づき、NS記憶部230の記憶領域の割り当てをブロック単位で行う。このとき、ネットワークストレージ200は、GOP分割データが記憶された最初のブロックの識別番号(BlockID)と、使用するブロックの数(BlockCount)とを算出する。
そして、ネットワークストレージ200は、録画データを構成する順番で、各GOP分割データに一意のDataIDを付与する。
これらの〔DataID、BlockID、BlockCount〕をBlockテーブル223に記録する。
FIG. 39 shows a process in which the network storage 200 records the uploaded GOP division data in the NS storage unit 230.
The network storage 200 allocates the storage area of the NS storage unit 230 in units of blocks based on the number of TS packets (GTC) constituting the GOP division data. At this time, the network storage 200 calculates the identification number (BlockID) of the first block in which the GOP division data is stored and the number of blocks to be used (BlockCount).
Then, the network storage 200 assigns a unique DataID to each GOP division data in the order in which the recording data is configured.
These [DataID, BlockID, BlockCount] are recorded in the Block table 223.

図39のBlockテーブルは、NS記憶部230の記憶領域に、GOP分割データ[1]〜[20]が、DataID「00000001」からDataID「00000020」で示すレコードのブロックに記録されていることを示している。
そして、STB600−2からアップロードされたGOP[21]〜[40]が、DataID「00000021」からDataID「00000040」に示すレコードのブロックに記録されていることを示している。
この図39のBlockテーブルにおいて、DataID「00000000」で示すレコードには、BlockCount=8000の空き領域があることを示す情報が記録されている。
The Block table of FIG. 39 indicates that GOP division data [1] to [20] are recorded in the storage block of the NS storage unit 230 in the record block indicated by DataID “00000001” to DataID “00000020”. ing.
The GOPs [21] to [40] uploaded from the STB 600-2 are recorded in the record blocks indicated by the Data ID “00000021” to the Data ID “00000040”.
In the Block table of FIG. 39, information indicating that there is a free area of BlockCount = 8000 is recorded in the record indicated by DataID “00000000”.

(GOPテーブル221の更新)
そして、ネットワークストレージ200は、GOPテーブル221の更新を行い、図38に示すように、各GOP分割データに対応するGOPテーブル221の〔DataID、UserCount、GOPStatus〕が記録される。
図38に示すように、DataID「00000021」からDataID「00000040」に示すレコードが追加され、〔ProgramID,SGP,GTC〕には、各GOP分割データの情報が記録される。DataIDは、NS記憶部230に記録されたGOP分割データの順番であり、図39と同じ数値が記録される。UserCountには、1が記録され、さらに、重複したDataID「00000002」〜「00000020」のレコードにおいて、数値がインクリメント(+1)されて記録される。GOPStatusには、“A(Available)”が記録される。
(Update of GOP table 221)
Then, the network storage 200 updates the GOP table 221 and records [DataID, UserCount, GOPStatus] of the GOP table 221 corresponding to each GOP division data as shown in FIG.
As shown in FIG. 38, records from DataID “00000021” to DataID “00000040” are added, and information of each GOP division data is recorded in [ProgramID, SGP, GTC]. DataID is the order of the GOP division data recorded in the NS storage unit 230, and the same numerical value as in FIG. 39 is recorded. In UserCount, 1 is recorded, and further, in the records with duplicate DataID “00000002” to “00000020”, the numerical value is incremented (+1) and recorded. “A (Available)” is recorded in GOPStatus.

図40(b)に示すように、STB600−2のTimeテーブル622−2には、〔ProgramID,SGP,time,file,position,Length〕で構成されるレコードが格納される。このレコードは、録画データを、ネットワークストレージ200の解析データに基づき抽出したGOP分割データの情報である。このレコードには、録画データの開始位置からGOP分割データの先頭までの位置(position)と、GOP分割データ長(Length)と、先頭GOP分割データからの相対時間(time)が計算されて格納される。   As shown in FIG. 40B, the Time table 622-2 of the STB 600-2 stores a record composed of [Program ID, SGP, time, file, position, Length]. This record is information of GOP division data obtained by extracting recorded data based on analysis data of the network storage 200. In this record, the position (position) from the start position of the recording data to the head of the GOP division data, the GOP division data length (Length), and the relative time (time) from the head GOP division data are calculated and stored. The

以上のように第1の実施形態によれば、放送ストリームのデータをGOP単位で区切り、ネットワークストレージ200にアップロードすることにより、STB600においてネットワークストレージ200からデータを取得し、再生することが可能となる。
また、STB600内にTimeテーブル622を作成することにより、特殊再生に対するSTB600の処理が軽減されるという効果が得られる。
さらに、ネットワークストレージ200内でProgramID、SGPによるデータ重複の識別を、データ・デデュープを用いて行うことにより、従来よりも処理負荷の低いデータ重複の識別が可能となる。
As described above, according to the first embodiment, it is possible to acquire and reproduce data from the network storage 200 in the STB 600 by dividing the data of the broadcast stream in GOP units and uploading the data to the network storage 200. .
Further, by creating the Time table 622 in the STB 600, an effect that the processing of the STB 600 for special playback is reduced can be obtained.
Furthermore, by identifying data duplication by ProgramID and SGP in the network storage 200 using data deduplication, it is possible to identify data duplication with a lower processing load than in the past.

本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。   The present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the gist of the present invention.

例えば、第1の実施形態では、放送サーバ100およびネットワークストレージ200とストリーム解析装置300とを分割して記載したが、ストリーム解析装置300を放送サーバ100、又はネットワークストレージ200に内包させることも可能である。この場合、図1のシステム構成図は、ネットワークストレージ200とネットワーク400が接続するように変更される。   For example, in the first embodiment, the broadcast server 100, the network storage 200, and the stream analysis device 300 are described separately. However, the stream analysis device 300 can be included in the broadcast server 100 or the network storage 200. is there. In this case, the system configuration diagram of FIG. 1 is changed so that the network storage 200 and the network 400 are connected.

第1の実施形態では、放送に使用するストリームをMPEG−2 TSに限定した例を説明したが、使用するVideoデータについては、特殊再生のデータ区切りが識別可能なフォーマットであり、MPEG−TSでエンコード可能であれば適用可能である。
例えば、VideoデータにH.264を使用した場合、H.264エンコード時の各種パラメータを適切に運用することにより、前記データ区切りを実現することが可能である。
なお、前記の適切な運用とは、例えば「デジタルテレビネットワーク機能仕様書 ストリーミング仕様書 コーデック編(デジタルテレビ情報化研究会)付録規定A H.264 | MPEG4−AVCの運用」などがある。
In the first embodiment, the example in which the stream used for broadcasting is limited to the MPEG-2 TS has been described. However, the video data to be used has a format in which a special reproduction data delimiter can be identified. Applicable if encoding is possible.
For example, H. H.264 is used, H.264 is used. The data delimiter can be realized by appropriately using various parameters at the time of H.264 encoding.
The appropriate operation includes, for example, “Digital TV Network Function Specification Streaming Specification Codec Edition (Digital Television Information Society) Appendix A H.264 | MPEG4-AVC Operation”.

1 ストリーム放送録画システム
100 放送サーバ
200 ネットワークストレージ(NS)
210 NSDB管理部
220 NSDB
221 GOPテーブル
222 PCRテーブル
223 Blockテーブル
230 NS記憶部(録画データ記憶部)
250 解析データ受信部
260 ストレージ管理部
270 録画データ受信部
300 ストリーム解析装置
350 ストリーム受信部
360 ストリーム解析部
370 ネットワークストレージ通信部
400 ネットワーク(放送ネットワーク)
500 ネットワーク(通信ネットワーク)
600(600−1、600−2) STB
610 STBDB管理部
620 STBDB
621 Fileテーブル
621−1 STB600−1のFileテーブル
621−2 STB600−2のFileテーブル
622 Timeテーブル
622−1 STB600−1のTimeテーブル
622−2 STB600−2のTimeテーブル
630 STB記憶部
640 入力制御部
641 操作入力部
650 ストリームデータ受信部
660 録画データ送信部
670 録画データ受信部
680 信号変換出力部
1 Stream Broadcast Recording System 100 Broadcast Server 200 Network Storage (NS)
210 NSDB management unit 220 NSDB
221 GOP table 222 PCR table 223 Block table 230 NS storage unit (recording data storage unit)
250 Analysis Data Receiving Unit 260 Storage Management Unit 270 Recording Data Receiving Unit 300 Stream Analyzing Device 350 Stream Receiving Unit 360 Stream Analyzing Unit 370 Network Storage Communication Unit 400 Network (Broadcast Network)
500 network (communication network)
600 (600-1, 600-2) STB
610 STBDB management unit 620 STBDB
621 File table 621-1 File table of STB600-1 621-2 File table of STB600-2 622 Time table 622-1 Time table of STB600-1 622-2 Time table of STB600-2 630 STB storage unit 640 Input control unit 641 Operation input unit 650 Stream data reception unit 660 Recording data transmission unit 670 Recording data reception unit 680 Signal conversion output unit

Claims (10)

ストリーム放送を受信可能な複数のSTBと通信可能に接続し、前記STBからアップロードされる、前記ストリーム放送を記録した録画データを、録画データ記憶部に蓄積するネットワークストレージ装置であって、
前記STBからのアップロード要求に含まれるPCRパケットのPCR値を用いてデータの範囲を示した前記録画データの範囲情報と、前記ストリーム放送に含まれるTSパケットを解析した解析データに含まれるGOPデータの検出位置とに基づき、当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報を取得し、
前記STBに前記GOP分割データ範囲情報を送信し、
前記STBからアップロードされた前記GOP分割データを前記録画データ記憶部に蓄積する
ことを特徴とするネットワークストレージ装置。
A network storage device that is connected to a plurality of STBs capable of receiving a stream broadcast and is uploaded from the STB and that records the stream data recorded on the stream broadcast in a recorded data storage unit,
GOP including the and scope information of the recorded data showing the range of data by using the PCR value of P CR packet that is part of the upload request from the STB, the analysis data of the analysis of the TS packets included in the stream broadcast Based on the data detection position, obtain GOP divided data range information of all GOP divided data within the range of the recording data,
Sending the GOP split data range information to the STB;
The network storage device, wherein the GOP division data uploaded from the STB is stored in the recorded data storage unit.
前記録画データ記憶部に蓄積されたGOP分割データのGOP分割データ範囲情報を記録するGOPテーブルをさらに備え、
前記取得した当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報のうち、前記GOPテーブルに記録されていないGOP分割データ範囲情報を前記STBに送信する
ことを特徴とする請求項1に記載されたネットワークストレージ装置。
A GOP table that records GOP division data range information of GOP division data accumulated in the recording data storage unit;
The GOP division data range information which is not recorded in the GOP table among the GOP division data range information of all the GOP division data within the acquired recording data range is transmitted to the STB. Item 4. The network storage device according to Item 1.
前記解析データから、
前記ストリーム放送の識別番号であるProgramIDと、
第1のGOP分割データの先頭を含む先頭第1PESパケットに対して、その先頭第1PESパケットデータの先頭を含む先頭TSパケットの直前に存在する範囲先端PCRパケットのPCR値であるSGPと、
前記第1のGOP分割データを構成するTSパケットの総数であるGTCと、
前記第1のGOP分割データに割り当てられた識別番号であるDataIDと、
を抽出し、
前記GOPテーブルに、これらの項目で構成されるレコードを記録することを特徴とする請求項2に記載されたネットワークストレージ装置。
From the analysis data,
ProgramID which is an identification number of the stream broadcast,
For the first first PES packet including the head of the first GOP division data, the SGP which is the PCR value of the range front PCR packet existing immediately before the head TS packet including the head of the first first PES packet data;
GTC which is the total number of TS packets constituting the first GOP division data;
DataID that is an identification number assigned to the first GOP division data;
Extract
The network storage device according to claim 2, wherein a record including these items is recorded in the GOP table.
前記STBからのダウンロード要求に含まれる前記録画データの範囲情報と、前記GOPテーブルとに基づき、当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報を取得し、
前記GOP分割データ範囲情報に基づき、前記録画データ記憶部から該当するGOP分割データを抽出して、前記STBに送信し、
前記録画データ記憶部に蓄積された録画データを前記STBに返送することを特徴とする請求項3に記載されたネットワークストレージ装置。
Based on the recording data range information included in the download request from the STB and the GOP table, obtain GOP division data range information of all GOP division data within the recording data range,
Based on the GOP division data range information, the corresponding GOP division data is extracted from the recording data storage unit and transmitted to the STB.
4. The network storage device according to claim 3, wherein the recording data stored in the recording data storage unit is returned to the STB.
前記GOPテーブルは、さらにUserCountを含んで構成されるレコードを記録し、前記GOPテーブルに記録されたデータを更新するテーブル管理部と、
前記GOP分割データ範囲情報が前記GOPテーブルに記録されているか否かを判定する重複判定部と
をさらに備え、
前記テーブル管理部は、
前記録画データ記憶部にGOP分割データを蓄積するときに、そのGOP分割データに対応するGOPテーブルのレコードのUserCountの値を1にし、
前記取得した当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報のうち、前記GOPテーブルに記録されていたGOP分割データに対応するGOPテーブルのレコードのUserCountの値をインクリメントさせ、
録画データ削除要求に応じて、前記録画データ記憶部から抽出したGOP分割データに対応するGOPテーブルのレコードのUserCountの値をデクリメントさせ、
前記重複判定部は、
前記録画データ記憶部にGOP分割データを蓄積するときに、
前記GOPテーブルのレコードのUserCountの値が1以上であれば、当該レコードのGOP分割データのGOP分割データ範囲情報は、前記GOPテーブルに記録されていると判定する
ことを特徴とする請求項4に記載されたネットワークストレージ装置。
The GOP table further records a record including a UserCount, and updates a data recorded in the GOP table;
A duplication determination unit that determines whether or not the GOP division data range information is recorded in the GOP table;
The table management unit
When accumulating GOP division data in the recording data storage unit, the value of UserCount of the GOP table record corresponding to the GOP division data is set to 1,
Of the GOP divided data range information of all the GOP divided data within the acquired recording data range, the value of UserCount of the GOP table record corresponding to the GOP divided data recorded in the GOP table is incremented. ,
In response to the recording data deletion request , the value of UserCount in the GOP table record corresponding to the GOP division data extracted from the recording data storage unit is decremented,
The duplication determination unit
When storing GOP division data in the recording data storage unit,
5. The GOP division data range information of GOP division data of the record is determined to be recorded in the GOP table if the value of UserCount of the record of the GOP table is 1 or more. The listed network storage device.
前記解析データから、
前記ストリーム放送の識別番号であるProgramIDと、
第1のGOP分割データの先頭を含む先頭第1PESパケットに対して、その先頭第1PESパケットデータの先頭を含む先頭TSパケットの直前に存在する範囲先端PCRパケットのPCR値であるSGPと、
前記第1のGOP分割データを構成するTSパケットの総数であるGTCと、
前記第1のGOP分割データに割り当てられた識別番号であるDataIDと
で構成されるレコードを、前記ストリーム放送に含まれるGOP分割データの数だけ抽出し、
前記STBからのアップロード要求に含まれる前記録画データの範囲情報である、前記録画データ内に存在する最初のPCRパケットのStart−PCR値と、前記録画データ内に存在する最後のPCRパケットのEnd−PCR値と、前記録画データ内に存在する前記最初のPCRパケットより前にあるTSパケットの総数であるoffsetとを取得し、
前記解析データから抽出したレコードに基づき、
前記Start−PCR値のPCRパケットよりoffsetの数だけ前に存在するTSパケットから、前記End−PCR値のPCRパケットまでに存在するGOP分割データを検出し、検出GOP分割データのSGPと、GTCとを、前記GOP分割データ範囲情報として前記STBに送信する
ことを特徴とする請求項1に記載されたネットワークストレージ装置。
From the analysis data,
ProgramID which is an identification number of the stream broadcast,
For the first first PES packet including the head of the first GOP division data, the SGP which is the PCR value of the range front PCR packet existing immediately before the head TS packet including the head of the first first PES packet data;
GTC which is the total number of TS packets constituting the first GOP division data;
Extracting records composed of DataID, which is an identification number assigned to the first GOP divided data, by the number of GOP divided data included in the stream broadcast;
The Start-PCR value of the first PCR packet existing in the recorded data, which is the range information of the recorded data included in the upload request from the STB, and the End-PCR value of the last PCR packet present in the recorded data Obtaining a PCR value and an offset that is the total number of TS packets preceding the first PCR packet present in the recorded data;
Based on the records extracted from the analysis data,
GOP division data existing up to the PCR packet of the End-PCR value is detected from TS packets existing by the number of offsets before the PCR packet of the Start-PCR value, and the SGP of the detected GOP division data, the GTC, The network storage device according to claim 1, wherein the network storage device is transmitted to the STB as the GOP division data range information.
前記Start−PCR値のPCRパケットのPCR値をSGPとする検出GOP分割データについては、前記GOP分割データ範囲情報に、前記offsetとPTCとに基づいて算出されるpositionをさらに含めて、前記STBに送信することを特徴とする請求項6に記載されたネットワークストレージ装置。 For detected GOP split data in which the PCR value of the PCR packet of the Start-PCR value is SGP, the GOP split data range information further includes a position calculated based on the offset and PTC, and the STB The network storage device according to claim 6, wherein the network storage device is transmitted to a network. 前記STBからのダウンロード要求に含まれる前記録画データの範囲情報と、前記解析データとに基づき、当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報を取得し、
前記GOP分割データ範囲情報に基づき、前記録画データ記憶部から該当するGOP分割データを抽出して、前記STBに送信し、
前記録画データ記憶部に蓄積された録画データを前記STBに返送することを特徴とする請求項1に記載されたネットワークストレージ装置。
Based on the range information of the recording data included in the download request from the STB and the analysis data, obtain GOP division data range information of all GOP division data within the range of the recording data,
Based on the GOP division data range information, the corresponding GOP division data is extracted from the recording data storage unit and transmitted to the STB.
2. The network storage device according to claim 1, wherein the recorded data stored in the recorded data storage unit is returned to the STB.
前記ストリーム放送を受信可能なストリーム解析装置と通信可能に接続し、前記ストリーム解析装置から前記ストリーム放送を解析した前記解析データが送信されることを特徴とする請求項1ないし請求項8のいずれか一項に記載されたネットワークストレージ装置。   9. The stream analysis device that is communicably connected to the stream analysis device capable of receiving the stream broadcast, and the analysis data obtained by analyzing the stream broadcast is transmitted from the stream analysis device. The network storage device described in one item. ストリーム放送を受信可能な複数のSTBと通信可能に接続し、前記STBからアップロードされる、前記ストリーム放送を記録した録画データを、録画データ記憶部に蓄積するために、ネットワークストレージ装置のコンピュータを、
前記STBからのアップロード要求に含まれるPCRパケットのPCR値を用いてデータの範囲を示した前記録画データの範囲情報と、前記ストリーム放送に含まれるTSパケットを解析した解析データに含まれるGOPデータの検出位置とに基づき、当該録画データの範囲内にある全てのGOP分割データのGOP分割データ範囲情報を取得する手段、
前記STBに前記GOP分割データ範囲情報を送信する手段、および、
前記STBからアップロードされた前記GOP分割データを前記録画データ記憶部に蓄積させる手段、
として機能させることを特徴とする録画データ蓄積プログラム。
A computer of a network storage device is connected to a plurality of STBs capable of receiving a stream broadcast, and is recorded from the STB and recorded in the recorded data storage unit.
GOP including the and scope information of the recorded data showing the range of data by using the PCR value of P CR packet that is part of the upload request from the STB, the analysis data of the analysis of the TS packets included in the stream broadcast Means for acquiring GOP division data range information of all GOP division data within the range of the recording data based on the detection position of the data;
Means for transmitting the GOP split data range information to the STB; and
Means for accumulating the GOP division data uploaded from the STB in the recording data storage unit;
Recording data storage program characterized by functioning as
JP2012072447A 2012-03-27 2012-03-27 Network storage device and recorded data storage program Active JP5949040B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012072447A JP5949040B2 (en) 2012-03-27 2012-03-27 Network storage device and recorded data storage program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012072447A JP5949040B2 (en) 2012-03-27 2012-03-27 Network storage device and recorded data storage program

Publications (2)

Publication Number Publication Date
JP2013207421A JP2013207421A (en) 2013-10-07
JP5949040B2 true JP5949040B2 (en) 2016-07-06

Family

ID=49526136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012072447A Active JP5949040B2 (en) 2012-03-27 2012-03-27 Network storage device and recorded data storage program

Country Status (1)

Country Link
JP (1) JP5949040B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4096228A1 (en) 2014-05-06 2022-11-30 TiVo Solutions Inc. Cloud-based media content management
CN108965986B (en) * 2017-12-29 2021-05-14 视联动力信息技术股份有限公司 Video recording and playing method and system
CN111866422B (en) * 2020-06-16 2022-12-09 普联技术有限公司 Video data uploading method, device, equipment and computer readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006080589A (en) * 2004-09-07 2006-03-23 Matsushita Electric Ind Co Ltd Edit information sharing system
JP4615273B2 (en) * 2004-09-10 2011-01-19 株式会社リコー Data depositing device, data depositing method and data depositing program
US20090259730A1 (en) * 2005-09-26 2009-10-15 Nec Personal Products, Ltd. Content accumulating system, user terminal apparatus, content accumulating method,content accumulating program and storage medium
JP2008027486A (en) * 2006-07-19 2008-02-07 Sony Corp Recording system, recording method, and transfer system
JP2009124383A (en) * 2007-11-14 2009-06-04 Sony Corp Information processor, content processing system, computer program, content management method, and content retrieval method
JP2009181648A (en) * 2008-01-31 2009-08-13 Oki Electric Ind Co Ltd Digital data accumulating device, digital data accumulating method, accumulated data transmitting device, accumulated data communication system, and accumulated data communication method

Also Published As

Publication number Publication date
JP2013207421A (en) 2013-10-07

Similar Documents

Publication Publication Date Title
JP3742401B2 (en) Video data recording / reproducing apparatus and video data management method used in the same
JP5493531B2 (en) Video / audio recording / reproducing apparatus and video / audio recording / reproducing method
JP4396878B2 (en) Method for storing content
JP4686587B2 (en) Video recording / reproducing apparatus and file management method
JP2008243367A (en) Method and device for recording broadcast data
JP2002541698A (en) Streaming information equipment with buffer read / write synchronization function
JP4591405B2 (en) Information processing apparatus, information processing method, and computer program
JP2012054788A (en) Data file transfer device, control method therefor, program, and storage medium
JP5949040B2 (en) Network storage device and recorded data storage program
JP4315914B2 (en) Image reproducing apparatus and image reproducing method
EP3293647B1 (en) Methods of storing essence data in media file systems
JP5917123B2 (en) Recording device
US20050047749A1 (en) Content data recording apparatus and content data recording method
JP7468530B2 (en) File processing device, file processing method, and program
US8086089B2 (en) Recording apparatus
US8588586B2 (en) Recording method
KR100960766B1 (en) Recording method and recording device
KR102557384B1 (en) Electronic apparatus and control method thereof
JP2010170592A (en) Information reproducing device and information reproducing method
JP5144771B2 (en) Image processing apparatus, image reproducing apparatus, image recording apparatus, image processing method, image reproducing method, and image recording method
JP2003009085A (en) Device and method for recording digital signal and device and method for reproducing digital signal
JP2005197839A (en) Special reproduction method of transport stream and recording and reproducing apparatus for transport stream
JP2004171053A (en) Data processor
US20080138036A1 (en) Recording method
WO2008136608A1 (en) Method of processing media data and receiver, broadcasting system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5949040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150