JP5949040B2 - Network storage device and recorded data storage program - Google Patents
Network storage device and recorded data storage program Download PDFInfo
- 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
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).
しかしながら、従来のシステムでは、異なる録画データであるにもかかわらず、ハッシュ値がバッティング(重複)して付与される可能性があった。そのため、同一のハッシュ値を持ってしまった異なる録画データは、蓄積サーバに保存されないという問題点があった。 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
かかる構成において、ネットワークストレージ装置は、ストリーム放送に含まれる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.
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
以下、図面を参照して、本発明の実施の形態(以下、「本実施形態」と称する)につき詳細に説明する。なお、各図は、本発明について概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
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
ストリーム放送録画システム1は、(放送)ネットワーク400を介して、ストリームデータを送信し、STB600やストリーム解析装置300は、このネットワーク400に送信されたストリームデータを受信する。
また、STB600と、ストリーム解析装置300と、ネットワークストレージ200とは、(通信)ネットワーク500を介して通信可能に接続される。
The stream
In addition, the
(ネットワーク400,500)
ネットワーク400は、放送サーバ100が送信するストリームデータを、ストリーム解析装置300およびSTB600が受信するネットワークである。
ネットワーク500は、ネットワークストレージ200とストリーム解析装置300とを接続し、ネットワークストレージ200とSTB600とを接続するネットワークである。
(
The
The
ここでは、ネットワーク400は必ずしも双方向通信が行われるネットワークでなくてもよいため、ネットワークを、ネットワーク400とネットワーク500とで便宜上分けて示している。このネットワーク400は、映像データをMPEG−2の規格で圧縮した映像信号を送信可能なネットワークであればよいため、例えば、ケーブルテレビやインターネットテレビ等の放送の場合、ネットワーク400およびネットワーク500は、インターネットプロトコル(Internet Protocol)技術を利用した無線/有線LANなどを用いた一つのIPネットワークであってもよい。
Here, the
(放送サーバ100)
放送サーバ100は、映像や音声などの放送信号をストリーム形式でネットワーク400に送信する装置である。本実施形態では、「MPEG−2 TS」の規格に沿って、放送信号をストリーム形式で送信する。この送出された信号をストリームデータとする。放送サーバ100が送出する放送信号については、詳細を後記する。
(Broadcast server 100)
The
(ネットワークストレージ200)
ネットワークストレージ200は、ストリーム解析装置300からの解析データと、STB600からの録画データとを蓄積し管理する装置である。詳細を後記する。
(Network storage 200)
The
(ストリーム解析装置300)
ストリーム解析装置300は、放送サーバ100から送信されるストリームデータを解析し、解析結果をネットワークストレージ200に出力する装置である。詳細を後記する。
(Stream analysis device 300)
The
(STB600)
STB600は、ストリーム形式で送信される放送信号を受信して、テレビで視聴可能な信号に変換する装置である。このSTB600は、ネットワーク400を介して放送サーバ100と接続し、ネットワーク500を介してネットワークストレージ200と接続され、放送サーバ100が送信するストリームデータを受信し、一時的に記録(録画)する。そして、STB600は、記録した録画データ(ストリームデータ)をネットワークストレージ200に送信する。その後、STB600は、ユーザからの要求に応じてネットワークストレージ200に録画データの送信を要求し、ネットワークストレージ200から録画データを受信する。これにより、STB600が受信した録画データをテレビに出力することで、テレビ画面にユーザが要求した映像を表示させることができる。
(STB600)
The
《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
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
(GOPデータ)
本発明のネットワークストレージ200は、録画データの重複判定をGOPデータ単位で行う。
ここで、受信した放送データ(MPEG−2 TS)をGOPデータに分割する方法、および、各GOPデータを識別するための各種値の取得方法について説明する。
(GOP data)
The
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
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
次に、ストリーム解析部360は、ProgramIDが0001のPMTのTSパケット、すなわち、PID=16のTSパケットを検出する。これにより、目的の番組のPMTのTSパケットを取得する。このPMTのパケットには、目的の番組のPCRのPID、およびストリームタイプ別のPIDの関連付けが行われている。
Next, the
ストリームタイプが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
As illustrated in FIG. 6, the
The
The
(NSDB管理部210)
NSDB管理部210は、NSDB220に対する要求(データ作成、データ読み込み、データ更新、データ削除)に応じて、NSDB220に記憶されたデータ更新等の処理を行う。
(NSDB management unit 210)
The
(NSDB220)
NSDB220は、GOPテーブル221(図7)と、PCRテーブル222(図8)と、Blockテーブル223(図9)とを保持する。
(NSDB220)
The
(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
ここで、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
UserCount is the number of
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
図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
(解析データ受信部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
That is, the analysis
(ストレージ管理部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
(録画データ受信部270)
録画データ受信部270は、STB600から転送される録画データを受信すると共に、その録画データをNS記憶部230に記録する。このとき、録画データ受信部270は、NSDB管理部210を介してBlockテーブル223に基づき、NS記憶部230の記憶領域を確保し、そのNS記憶部230の記憶領域に録画データを記録する。
(Recording data receiving unit 270)
The recorded
《5.ストリーム解析装置300の構成》
図10に示すように、ストリーム解析装置300は、ストリーム受信部350と、ストリーム解析部360と、ネットワークストレージ通信部370とを備える。
<< 5. Configuration of
As illustrated in FIG. 10, the
(ストリーム受信部350)
ストリーム受信部350は、ネットワーク400と接続され、放送サーバ100から送信されるストリームデータを受信し、ストリーム解析部360に出力する構成部である。
(Stream receiver 350)
The
(ストリーム解析部360)
ストリーム解析部360は、ストリームデータを解析して、解析データを生成する構成部である。
このストリーム解析部360は、番組開始時点のストリームデータを構成するTSパケットの連続を監視し、PCRパケットを検出する(図2)。そして、PCRパケットの情報(SGP、GTC、およびPTCの各種値)を取得して、随時メモリ(不図示)に記録させる。そして、ストリーム解析部360は、番組終了後、ストリームデータから得られた、ProgramIDと、PCRパケットの情報(SGP、GTC、およびPTCの各種値)とで構成される解析データを生成する。そして、ストリーム解析部360は、解析データを、ネットワークストレージ通信部370を介してネットワークストレージ200に送信(通知)させる。
(Stream analysis unit 360)
The
The
(ネットワークストレージ通信部370)
ネットワークストレージ通信部370は、ネットワーク500と接続され、ストリーム解析部360から取得した解析データをネットワークストレージ200に送信する構成部である。
(Network storage communication unit 370)
The network
《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
(STBDB管理部610)
STBDB管理部610は、STBDB620に対する作成・読み込み・更新・削除の各要求を処理する。
(STBDB management unit 610)
The
(STBDB620)
STBDB620は、Fileテーブル621(図12)、Timeテーブル622(図13)を保持する。
(STBDB620)
The
(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
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
図11に戻る。
(STB記憶部630)
STB記憶部630は、録画データを記録する記憶部である。このSTB記憶部630は、例えば、フラッシュメモリやHDD、光ディスクなどの記憶装置である。
Returning to FIG.
(STB storage unit 630)
The
(操作入力部641)
操作入力部641は、ユーザからSTB600の操作指示を受け付ける構成部であり、ユーザに操作されたリモコンが出射する赤外線などの信号を受信したり、ユーザに操作キーから直接入力されたりすることで、STB600の操作指示を受け付ける。
(Operation input unit 641)
The
(入力制御部640)
入力制御部640は、操作入力部641に入力されたSTB600の操作指示(録画開始、録画停止、再生開始、再生停止、特殊再生操作(ジャンプ再生)、録画データのアップロード(ストリーム解析装置300への送信指示)など)を処理する構成部である。
(Input control unit 640)
The
(ストリームデータ受信部650)
ストリームデータ受信部650は、放送サーバ100からのストリームデータを受信すると共に、録画機能を実行しているときは、受信したストリームデータを、録画データとして、STB記憶部630に記憶する。
なお、ストリームデータ受信部650は、録画開始時、録画データをSTB記憶部630に記録する際に、その録画データに、各STB600で識別可能な一意のファイル名(file)を付与する。
(Stream data receiving unit 650)
The stream
The stream
(録画データ送信部660)
録画データ送信部660は、録画データをネットワークストレージ200に送信(アップロード)する構成部である。
この録画データ送信部660は、STB記憶部630から録画データを取得し、その録画データをGOP分割データ毎に分割して、ネットワークストレージ200に送信する。このとき、録画データ送信部660は、ネットワークストレージ200に問い合わせて、ネットワークストレージ200に記録されていない(重複していない)GOP分割データのみを送信する。
(Recording data transmission unit 660)
The recorded
The recording
(録画データ受信部670)
録画データ受信部670は、ネットワークストレージ200に録画データの送信を要求し、取得する構成部である。
この録画データ受信部670は、入力制御部640からの再生指示に応じて、指示された録画データの送信をネットワークストレージ200に要求し、ネットワークストレージ200から送信される録画データを受信する構成部であり、特に、特殊再生時のデータ読み込み処理の制御に使用される。
(Recording data receiving unit 670)
The recorded
The recording
(信号変換出力部680)
信号変換出力部680は、録画データ受信部670が受信した録画データ(放送信号)をテレビで視聴可能な信号に変換して、STB600と接続されたテレビに出力する。
(Signal conversion output unit 680)
The signal
《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
FIG. 15 is a sequence diagram illustrating an analysis processing operation of the
FIG. 16 is a sequence diagram illustrating the table update processing operation of the
(STB600の録画処理)
まず、図14を用いて、放送サーバ100から送信されるストリームデータを受信したSTB600の録画処理動作について説明する。
(Recording process of STB600)
First, the recording processing operation of the
ストリームデータ受信部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
そして、ストリームデータ受信部650は、ストリームデータの受信を開始することを入力制御部640に通知して(ステップS104)、ストリームデータの受信を開始する(ステップS105)。
ストリームデータ受信部650は、受信したストリームデータをモニタリングして最初のPCRパケットの情報をFileテーブル621の記録先レコードに記録する(ステップS106)と共に、受信したストリームデータをステップS102で生成したファイルに格納(書き込み)する(ステップS107)。
Then, the stream
The stream
ここでステップ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
その後、ストリームデータ受信部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
Then, the stream
Through the above processing, stream data from the start of recording to the end of recording is stored in the
(ストリーム解析装置300の解析処理)
次に、図15を用いて、放送サーバ100から送信されるストリームデータを受信したストリーム解析装置300の解析処理動作について説明する。この図15には、放送開始から放送終了までの間、ストリーム解析装置300が行う解析処理動作が示されている。
(Analysis processing of the stream analysis apparatus 300)
Next, the analysis processing operation of the
まず、放送サーバ100は、番組の放送開始時にProgramIDを送信し(ステップS201)、ストリーム受信部350は、ProgramIDを受信したことをストリーム解析部360に通知する(ステップS202)。そして、ストリーム受信部350は、放送サーバ100に応答を送信する(ステップS203)。
First, the
ストリーム解析装置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
The
The
Then, the
このステップ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
以上に示すステップS204〜ステップS207の処理は、ストリーム受信部350が放送サーバ100から放送終了通知を受信する(ステップS208)まで実行される。図15には、ストリーム受信部350がストリームデータをn回受信したことを示している。
The processes in steps S204 to S207 described above are executed until the
(ネットワークストレージ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
First, the analysis
解析データ受信部250は、GOPデータから抽出した〔ProgramID、SGP、GTC〕を、NSDB管理部210を介して(ステップS302)、NSDB220のGOPテーブル221(図7)に1レコードとして記録させる(ステップS303)。このとき、そのレコードには、DataIDに “−(null)”、UserCountに“0”、GOPStatusに“N(None)”を記録させる。
The analysis
同様に、解析データ受信部250は、PCRパケットから抽出したm個の〔PCR値、PTC〕それぞれを、NSDB管理部210を介して(ステップS304)、NSDB220のPCRテーブル222(図8)に1レコードとして記録させる(ステップS305)。これにより、PCRテーブル222にはmレコードの〔PCR値、PTC〕が記録される。
Similarly, the analysis
そして、解析データ受信部250は、更新完了通知をストリーム解析装置300に送信し(ステップS306)、ネットワークストレージ200はテーブル更新処理を終了する。
以上のステップS301〜ステップS306の処理をストリーム解析装置300からテーブル更新データ(図15のステップS206−1〜ステップS206−n)を受信するたびに行う。これにより、放送開始から放送終了までのGOP分割データの各種値が、ネットワークストレージ200に保存される。
Then, the analysis
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
(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
(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
(STB600の録画データアップロード処理)
まず、図17を用いて、STB600が録画データをネットワークストレージ200にアップロード(送信)する録画データアップロード処理動作について説明する。
(Recording data upload process of STB600)
First, a recorded data upload processing operation in which the
まず、録画データ送信部660は、入力制御部640からアップロード指示を受け付け(ステップS401)、指示されたファイルに格納された録画データ(ストリームデータ)をアップロード(送信)するため、STB記憶部630に記憶されたファイルをオープンする(ステップS402)。
First, the recording
次に、録画データ送信部660は、ステップS402で取得したファイルに基づき、STBDB管理部610を介して、Fileテーブル621を検索し(ステップS403)、ファイル名(file)に対応するレコードの〔ProgramID、Start−PCR、End−PCR、offset〕を取得する(ステップS404)。
Next, the recorded
さらに、録画データ送信部660は、取得したこれらの値〔ProgramID、Start−PCR、End−PCR、offset〕を引数とした録画データのサイズをネットワークストレージ200に送信して、問い合わせを行う(ステップS405)。
この問い合わせによりネットワークストレージ200で行われる問い合わせ対応処理(図18)については、詳細を後記する。
このステップS405に示す問い合わせにより、録画データをアップロードしたときに重複するデータがあるか否かの判定結果(flag)がネットワークストレージ200から送信される。
Further, the recorded
Details of the inquiry handling process (FIG. 18) performed in the
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
そして、録画データ送信部660は、ネットワークストレージ200からGOP分割データの先頭位置とデータ範囲とを特定するGOP分割データ位置情報として、〔SGP、position、GTC〕と、flag(m個)とを取得する(ステップS406)。
Then, the recorded
ここで、〔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
次に、録画データ送信部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
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
そして、録画データ送信部660は、全てのGOP分割データの送信が完了した時点で、file(ファイル名)のファイルをクローズまたは削除する(ステップS411)。そして、入力制御部640に通知して(ステップS412)、ファイルのアップロード処理を終了する。
Then, the recording
以上の処理により、STB600において、ストリーム再生時の特殊再生に使用するTimeテーブル622の作成が行われると共に、file(ファイル名)のファイルの録画データがネットワークストレージ200に保存される。
Through the above processing, the
(ネットワークストレージ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
First, the process of step S405 in FIG. 17 is performed, and the recorded
The recorded
NSDB管理部210は、GOPテーブル(図7)において、検出したGOP分割データに対応するレコード〔ProgramID、SGP、GTC、GOPStatus〕のUserCountをインクリメントする(UserCount++)(ステップS503)。これにより、GOPテーブル(図7)において、検出された全てのGOP分割データ(n個)に対応するレコードのUserCountがインクリメントされる。
The
NSDB管理部210は、GOP分割データの検索結果を録画データ受信部270に出力する。このとき、NSDB管理部210は、検出したGOP分割データに対応するレコード〔ProgramID、SGP、GTC、GOPStatus〕およびflagからなるGOP分割データ情報を録画データ受信部270に出力する(ステップS504)。
これにより、検出された全てのGOP分割データ情報(n個)が録画データ受信部270に出力される。
The
As a result, all detected GOP division data information (n pieces) is output to the recorded
ここで、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
At this time, the recorded
図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
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
ストレージ管理部260は、NSDB管理部210を介して、Blockテーブル223を用いて書込領域を確保し(ステップS509)、Blockテーブル223における確保した書込領域情報のDataIDを取得する(ステップS510)。このとき、NSDB管理部210において、確保した書込領域情報のDataIDに対応するBlockテーブル223のレコードに対し、RefCounterをインクリメントする(RefCounter++)(ステップS508)。
The
最後に、録画データ受信部270は、書込領域を確保したGOP分割データについて、ProgramID、SGPをkeyとして、NSDB管理部210を介してGOPテーブル221を検索し(ステップS511)、該当レコードのGOPStatusを“U”に変更する(ステップS512)。そして、NSDB管理部210は変更完了通知を録画データ受信部270に出力する(ステップS513)
Finally, the recorded
録画データ受信部270は、取得したn個の〔SGP、position、GTC、flag〕で構成されるGOP分割データ位置情報をSTB600に送信する(ステップS514)。これにより、STB600はSGP一覧を取得することができる。
The recorded
(ストリーム解析装置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
まず、録画データ受信部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
Next, the recorded
ストレージ管理部260は、NSDB管理部210を介して、Blockテーブル223(図9)から図18のステップS509で確保した書込領域(書き込み先のブロック)を検索する(ステップS605)。ここでは、ストレージ管理部260は、DataIDをキー値として、図18のステップS509で確保した書込領域情報を、Blockテーブル223(図9)のレコード〔StorageID、BlockID、BlockCount〕から検索する。
The
ストレージ管理部260は、Blockテーブル223(図9)において、検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕のRefCounterをインクリメントする(RefCounter++)(ステップS606)。
The
NSDB管理部210は、検出した書き込み先のブロックの書込領域情報をストレージ管理部260に出力する(ステップS607)。このとき、NSDB管理部210は、検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕をストレージ管理部260に出力する。そして、ストレージ管理部260は、書込領域情報を録画データ受信部270に出力する(ステップS608)。
The
録画データ受信部270は、GOP分割データを取得した書込領域(書き込み先のブロック)に対応する、NS記憶部230のブロックに書き込む(ステップS609)。そして、録画データ受信部270は、ストレージ管理部260に対して書込完了通知を出力する(ステップS610)。ここで、録画データ受信部270は、書込完了通知と共にDataIDをストレージ管理部260に出力し、ストレージ管理部260にBlockテーブル223(図9)の更新を依頼する。
The recorded
ストレージ管理部260は、NSDB管理部210を介し、DataIDをキー値としてBlockテーブル223(図9)を検索し(ステップS611)、検出したDataIDに対応するレコードのRefCounterをデクリメントする(RefCounter--)(ステップS612)。
そして、NSDB管理部210は変更完了通知をストレージ管理部260に出力し(ステップS613)、ストレージ管理部260は録画データ受信部270に転送する(ステップS614)。
The
Then, the
次に、録画データ受信部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
The recorded
Through the above processing, the GOP division data corresponding to [ProgramID, SGP] is saved in the
(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
まず、録画データ受信部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
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
録画データ受信部670は、ネットワークストレージ200にダウンロード要求を行い(ステップS707)、ステップS705で検出したレコードのSGPに対応する位置(再生開始位置)からのGOP分割データを順次読み込み(ステップS708−1〜ステップS708−n)、録画データのダウンロードを行う。
The recorded
ここで入力制御部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
In response to the jump playback instruction [file, js-time (jump playback start time)] from the input control unit 640 (step S709), the recorded
録画データ受信部670は、ネットワークストレージ200にダウンロード要求を行い(ステップS712)、ステップS710で検出したレコードのSGPに対応する位置からのGOP分割データを順次読み込み(ステップS713−1〜ステップS713−n)、録画データのダウンロードを行う。
The recorded
その後、録画データ受信部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
Then, the recorded
以上の処理により、STB600は、ネットワークストレージ200にアップロード(保存)した録画データを受信(取得)し、再生することが可能となる。また、ジャンプ再生時はSTB600のTimeテーブル622からジャンプ先のSGPを特定できるため、特殊再生(ジャンプ再生)におけるデータの逐次検索が不要である。
Through the above processing, the
(ネットワークストレージ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
First, the recorded
Next, the recorded
ストレージ管理部260は、NSDB管理部210を介して、Blockテーブル223(図9)から図18のステップS509で確保した書込領域情報(書き込み先のブロック)を検索する(ステップS805)。ここでは、ストレージ管理部260は、DataIDをキー値として、図18のステップS509で確保した書込領域情報を、Blockテーブル223(図9)のレコード〔StorageID、BlockID、BlockCount〕から検索する。
The
ストレージ管理部260は、Blockテーブル223(図9)において、検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕のRefCounterをインクリメントする(RefCounter++)(ステップS806)。
The
NSDB管理部210は、検出した書き込み先のブロックの書込領域情報をストレージ管理部260に出力する(ステップS807)。このとき、NSDB管理部210は、書込領域情報として検出したDataIDに対応するレコード〔StorageID、BlockID、BlockCount〕をストレージ管理部260に出力する。そして、ストレージ管理部260は、書込領域情報を録画データ受信部270に出力する(ステップS808)。
そして、録画データ受信部270は、録画データ読込先検出完了通知をSTB600に送信する(ステップS809)。
The
Then, the recording
その後、STB600からのダウンロード要求を受けた録画データ受信部270は(ステップS810)、ステップS808で取得した書込領域情報に基づき、NS記憶部230からGOP分割データを取得して、STB600に順次送信する(ステップS811−1〜ステップS811−n)。
Thereafter, the recording
(ネットワークストレージ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
まず、録画データ受信部270は、図21のステップS715でSTB600から送信された再生終了通知を受信する(ステップS901)。録画データ受信部270は、ストレージ管理部260にDataIDを出力する(ステップS902)。
First, the recorded
ストレージ管理部260は、NSDB管理部210を介し、DataIDをキー値として、Blockテーブル223の検索を行い(ステップS903)、検出したレコードのRefCounterをデクリメントさせる(RefCounter--)(ステップS904)。ここで、RefCounterの値が0であれば(デクリメントできなかった場合)、検出したレコードのGOP分割データの書込領域(すなわち、GOP分割データがNS記憶部230に記憶されているブロック)を開放する。つまり、GOP分割データを削除する。
The
そして、NSDB管理部210は処理完了通知をストレージ管理部260に出力し(ステップS905)、ストレージ管理部260は録画データ受信部270に転送し(ステップS906)、録画データ受信部270は、STB600にステップS901の再生終了通知に対する応答通知を送信し(ステップS907)、再生終了通知対応処理を終了する。
以上の処理により、録画データ再生中はRefCounterの値が0にならないため、データ読み込み時に該当ブロックのデータが削除されない。
Then, the
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
First, the recorded
Then, the recorded
次に、録画データ送信部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
Then, the recorded
Furthermore, when a file remains in the
The recorded
以上の処理により、ネットワークストレージ200、およびSTB600から指定されたfileの録画データが削除される。
Through the above processing, the recording data of the designated file is deleted from the
(ネットワークストレージ200の録画データ削除処理)
次に、図25を用いて、STB600から録画データ削除要求を受信したネットワークストレージ200の録画データ削除処理動作について説明する。
(Recording data deletion processing of network storage 200)
Next, the recording data deletion processing operation of the
まず、録画データ受信部270は、STB600から録画データ削除要求を受け(ステップS1101)、NSDB管理部210を介して、〔ProgramID、SGP〕を用いてGOPテーブル221の検索を行い(ステップS1102)、検出したレコードのGOPStatusの値を“A”から“U”に変更する(ステップS1103)。これにより、ネットワークストレージ200は、SGPに対応するGOP分割データを利用することができなくなる。
First, the recording
録画データ受信部270は、NSDB管理部210から変更完了通知を受け(ステップS1104)、次にNSDB管理部210を介し、ステップS1102で検出したGOPテーブル221のレコードのUserCountをデクリメントする(UserCount--)(ステップS1105〜ステップS1106)。
The recorded
このステップ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
そして、ストレージ管理部260は、録画データ受信部270から削除通知を取得し(ステップS1108)、NSDB管理部210を介して、UserCountが0となったDataIDをキー値として、Blockテーブル223の検索を行い(ステップS1109)、検出したレコードのRefCounterをデクリメントさせる(RefCounter--)(ステップS1110)。ここで、RefCounterの値が0であれば(デクリメントできなかった場合)、検出されたレコードのGOP分割データの書込領域(すなわち、GOP分割データがNS記憶部230に記憶されているブロック)を開放する。つまり、GOP分割データを削除する。
Then, the
そして、NSDB管理部210は処理完了通知をストレージ管理部260に出力し(ステップS1111)、ストレージ管理部260は録画データ受信部270に転送し(ステップS1112)、録画データ受信部270は、STB600にステップS1101の録画データ削除要求に対する応答通知を送信し(ステップS1113)、録画データ削除処理を終了する。
Then, the
以上の処理により、STB600からの録画データ削除に対し、ネットワークストレージ200、およびSTB600から録画データが削除される。また、記録済みSTB600が存在せず、利用中のSTB600も存在しない録画データについては利用不可となるが、利用中のデータブロックは図23の再生終了シーケンスが終わるまでデータが変更されないことが保証される。
Through the above processing, the recording data is deleted from the
《8.ネットワークストレージ200内のデータ・デデュープ方法》
図1に示すストリーム放送録画システム1において、放送サーバ100が送信(放送)するストリームデータを複数のSTB600が受信し記録(録画)する。つまり、同一番組のストリームデータを各STB600で受信することになるため、各STB600が記録したストリームデータ(録画データ)は重複度が高い。ここで、同一番組のストリームデータをダイレクト録画する場合、各STB600が受信するストリームデータを構成するTSパケットのProgramIDおよびPCR値は同一である。本発明はこのことを利用し、重複する録画データの検出を行う。
<< 8. Data Deduplication Method in
In the stream
ここで、図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
ここで、第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
The second state is a state when the STB 600-1 uploads the recording data to the
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
図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
29, 34, and 39 are block tables 223 included in the
36 and 40 show the time table 622 included in the
FIG. 28 shows the PCR table 222 provided in the
FIG. 30 shows a File table 621 included in the
《第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
図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
図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
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
このとき(第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
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
図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
(録画データ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
そこで、ネットワークストレージ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
Therefore, first, the STB 600-1 provides (transmits) information of recorded video data (information related to GOP division data to be uploaded) to the
ここで、ネットワークストレージ200が提供(送信)する情報は、STB600とネットワークストレージ200との双方で共有する認識可能な情報(PCR)に基づくデータである。
Here, the information provided (transmitted) by the
ネットワークストレージ200は、GOP分割データの開始位置(SGP)と、GOP分割データを構成するTSパケットの数(GTC)とを、STB600−1に提供(送信)する。
以上により、STB600−1は、録画データ(ストリームデータ)からSGPを検出するだけで、ネットワークストレージ200から提供された情報に基づいて、GOP分割データを抽出することができる。そして、STB600−1は抽出したGOP分割データをネットワークストレージ200にアップロードする。
The
As described above, the STB 600-1 can extract the GOP division data based on the information provided from the
(残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
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
(録画データ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
まず、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
ネットワークストレージ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
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
As a result, the STB 600-1 extracts [3] GOP division data shown in FIG. 31B and uploads it to the
(録画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
ここで、録画データ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
図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
The
Then, the
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
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
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
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
図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
(録画データ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
まず、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
ネットワークストレージ200は、録画データRD2の情報を確認して、NS記憶部230に記録されているGOP分割データ(つまり、録画データRD1がアップロードされたGOP分割データ)と重複しない範囲の、GOP分割データの開始位置のPCRパケットの位置(SGP)と、GOP分割データを構成するTSパケットの数(GTC)とを、STB600−2に提供(送信)する。
The
以上により、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
Thereby, the STB 600-2 extracts the GOP division data of [21] (DataID = 00000021) shown in FIG. 37 and uploads it to the
(録画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
以上のように、STB600−2は、録画データRD2を構成するGOP分割データをネットワークストレージ200にアップロードする。
As described above, the STB 600-2 uploads the GOP division data constituting the recording data RD2 to the
図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
The
Then, the
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
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
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
図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
以上のように第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
Further, by creating the Time table 622 in the
Furthermore, by identifying data duplication by ProgramID and SGP in the
本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。 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
第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
210
221 GOP table 222 PCR table 223 Block table 230 NS storage unit (recording data storage unit)
250 Analysis
500 network (communication network)
600 (600-1, 600-2) STB
610
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
Claims (10)
前記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分割データ範囲情報を前記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.
前記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分割データ範囲情報が前記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.
前記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.
前記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
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)
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)
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 |
-
2012
- 2012-03-27 JP JP2012072447A patent/JP5949040B2/en active Active
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 |