JP5180227B2 - バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路 - Google Patents

バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路 Download PDF

Info

Publication number
JP5180227B2
JP5180227B2 JP2009543664A JP2009543664A JP5180227B2 JP 5180227 B2 JP5180227 B2 JP 5180227B2 JP 2009543664 A JP2009543664 A JP 2009543664A JP 2009543664 A JP2009543664 A JP 2009543664A JP 5180227 B2 JP5180227 B2 JP 5180227B2
Authority
JP
Japan
Prior art keywords
data
storage means
interval
stored
received
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.)
Expired - Fee Related
Application number
JP2009543664A
Other languages
English (en)
Other versions
JPWO2009069297A1 (ja
Inventor
大輔 岩橋
英之 神崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009543664A priority Critical patent/JP5180227B2/ja
Publication of JPWO2009069297A1 publication Critical patent/JPWO2009069297A1/ja
Application granted granted Critical
Publication of JP5180227B2 publication Critical patent/JP5180227B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

本発明は、データのバッファリングに関し、特に、バッファの利用効率を向上させるための技術に関する。
MPEG2(Moving Picture Experts Group phase 2)で規定された多重化フォーマットの一つにトランスポートストリームがある。トランスポートストリームでは、伝送対象となる映像や音声(エレメンタリストリーム)を所定サイズに分割してパケット化したPES(Packetized Elementary Stream)やエレメンタリストリームをデコードするための制御情報等(以下、「セクションデータ」という)を、トランスポートパケット(以下、「TSパケット」という)と呼ばれる固定長パケットに分割して伝送する。なお、このTSパケットのヘッダには、ペイロードに含まれるデータの種類を識別可能なパケット識別子(以下、「PID」という)が含まれている。
このようなTSパケットに分割されて伝送されるPESやセクションデータを必要に応じて得るために、伝送されてくるTSパケットを逐次受信し、受信したTSパケットをその種類に応じたメモリ領域に転送するデータ転送装置が知られている。
以下、この従来のデータ転送装置について説明する。
図19は、従来のデータ転送装置5の構成を示すブロック図である。
同図に示すようにデータ転送装置5は、受信部1、PIDフィルタ2、セクションフィルタ3、出力部4を備える。
受信部1は受信したTSパケットをPIDフィルタ2に伝達し、PIDフィルタ2は、制御部(不図示)により設定されたPIDに基づいて、必要なPESの分割データを含むTSパケット(以下、単に「PESのTSパケット」という)を抽出して出力部4に伝達し、また必要なセクションデータの分割データを含むTSパケット(以下、単に「セクションデータのTSパケット」という)を抽出してセクションフィルタ3に伝達する。
セクションフィルタ3は、伝達されたTSパケットのペイロードからスタッフィングバイト等の不要なデータを除いたデータ(以下、このデータ全体を単に「パケット」ともいい、TSパケットのペイロードのデータのうち、スタッフィングバイト等の不要なデータを除いたデータを「有効データ」という)を出力部4へ伝達し、出力部4は、PIDフィルタ2から伝達されたTSパケットのペイロードやセクションフィルタ3から伝達されたパケットの有効データをそれぞれのPIDと対応するように個別に割り当てられたメモリ6上の各領域にバースト転送、つまり一括して転送する。即ち、出力部4は、受信部1が受信した各TSパケットを単位としてメモリ6に対しバースト転送する。
なお、データ転送装置5のように、PIDフィルタとセクションフィルタとを用いて所定のPES及びセクションデータを抽出する技術は、例えば、特許文献1に開示されている。
日本国特許公開2001−257716号公報
しかしながら、TSパケットのペイロードのサイズは、固定長(184バイト)であり、従来のデータ転送装置5では、受信した各TSパケットを単位としてメモリ6にバースト転送するため、メモリ6の仕様により決まる1回のバースト転送で転送可能なサイズより、TSパケットのペイロードのサイズが小さい場合にはメモリ6への転送効率が低下するという問題がある。メモリ6への転送効率が低下してしまうと、出力部4によるメモリ6へのアクセス回数が多くなり、他の処理のためのメモリ6へのアクセスが阻害される要因となり得る。
この問題への対処としては、例えば、出力部4においてTSパケットのペイロードやパケットの有効データをバッファリングしていき、バッファリングしているデータサイズがバースト転送可能な最大サイズに達する毎にメモリ6に転送する方法が考えられる。しかし、上述したように、データの種類に応じて個別に割り当てられたメモリ6上の各領域にバースト転送する必要があるので、データの種類毎にバッファリングする必要があり、データの種類分のバッファを設けた場合には、回路規模が大きくなりすぎてしまうという新たな問題が生じる。
そこで、本発明は係る問題に鑑みてなされたものであり、受信し得るデータの種類より少ないバッファを用いて、効率よくメモリにバースト転送するために利用可能なバッファ管理装置を提供することを目的とする。
上記課題を解決するために、本発明に係るバッファ管理装置は、L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置であって、データを受信する受信手段と、それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段と、データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段と、それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段と、制御手段とを備え、当該制御手段は、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、前記受信手段が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、否定的な判定をしたときは、受信したデータを外部に送信することを特徴とする。
また、上記課題を解決するために、本発明に係るバッファ管理方法は、L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置において用いられるバッファ管理方法であって、前記バッファ管理装置は、それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段と、データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段と、それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段とを備え、前記バッファ管理方法は、受信手段が、データを受信するステップと、制御手段が、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、前記受信手段が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、否定的な判定をしたときは、受信したデータを外部に送信するステップとを含むことを特徴とする。
また、上記課題を解決するために、本発明に係るバッファ管理用集積回路は、L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置に用いられるバッファ管理用集積回路であって、データを受信する受信手段と、それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段と、データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段と、それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段と、制御手段とを備え、当該制御手段は、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、前記受信手段が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、否定的な判定をしたときは、受信したデータを外部に送信することを特徴とする。
上述の構成を備える本発明に係るバッファ管理装置、バッファ管理方法、バッファ管理用集積回路においては、受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合に、受信したデータをデータ記憶手段に記憶させるか否かの判定を各データ記憶手段に対応付けられた各計時手段の経過時間と間隔記憶手段が記憶する情報に基づいて行い、判定結果に従って、1つのデータ記憶手段に既に記憶されている全データに代えて受信したデータをそのデータ記憶手段に記憶させ、又は受信したデータをそのまま外部に送信する。
従って、例えば、各データ記憶手段に対応付けられた各計時手段の経過時間と間隔記憶手段が記憶する情報に基づいて、受信したデータと同じ種類のデータを次に受信するまでの時間が、各データ記憶手段に既に記憶されているデータそれぞれと同じ種類のデータを次に受信するまでの時間より短い場合に肯定的な判定を行うようにすることで、受信し得るデータの種類よりも少ない数のデータ記憶手段を用いて、比較的頻繁に受信する種類のデータを記憶していくことができるので、この頻繁に受信する種類のデータをまとめて外部へ送信することが可能になり、外部のメモリに効率よくバースト転送するために利用することができる。
また、前記制御手段は、各データ記憶手段について、当該データ記憶手段に対応付けられた計時手段が計時する経過時間と前記間隔記憶手段に記憶されている、当該データ記憶手段に割り当てられた種類のデータについての受信間隔に関する情報とに基づいて、当該データ記憶手段に割り当てられたデータと同種のデータを次に受信するまでの第1時間を算出し、前記受信手段が受信したデータの種類についての前記間隔記憶手段の受信間隔に関する情報に基づいて、当該データを受信してから、当該データと同種のデータを受信するまでの第2時間を算出し、第2時間がいずれの第1時間よりも長い場合には否定的な判定を行い、第2時間がいずれかの第1時間より短い場合には肯定的な判定を行い、肯定的な判定を行った場合に受信したデータを格納するデータ記憶手段は、第2時間より短い第1時間に係る種類のデータが記憶されていたデータ記憶手段であることとしてもよい。
これにより、本発明に係るバッファ管理装置は、各データ記憶手段に割り当てられた各データと同種のデータを次に受信するまでの各第1時間と、受信手段が受信したデータと同種のデータを受信するまでの第2時間とを算出し、算出した各第1時間と第2時間とに基づいて制御手段による判定を行い、これらのうち最も長い時間に係るデータが外部に出力され、つまり、受信し得るデータの種類よりも少ない数のデータ記憶手段を用いて、比較的頻繁に受信する種類のデータを記憶していくことができるので、この頻繁に受信する種類のデータをまとめて外部へ送信することが可能になり、外部のメモリに効率よくバースト転送するために利用することができる。
また、L種類のデータには、受信間隔が、第1間隔と、当該第1間隔よりも長い第2間隔との2種類ある間欠受信データが含まれており、前記間隔記憶手段が記憶する各間欠受信データの受信間隔に関する情報には、第1間隔を示す情報と第2間隔を示す情報とを含み、前記バッファ管理装置は、更に各間欠受信データについて、第1間隔で連続して受信する当該間欠受信データの数であるバースト数を記憶するバースト数記憶手段と、各間欠受信データに対応して、当該間欠受信データの受信数をカウントする複数のカウンタを備え、前記制御手段による間欠受信データについての第1時間及び第2時間の算出に用いる情報は、当該間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段に記憶されている値未満であるときには、前記第1間隔を示す情報であり、当該間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段に記憶されている値と一致するときは、前記第2間隔を示す情報であり、前記制御手段は、間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段に記憶されている値を超えた場合には、当該カウンタ値を1にして、前記算出を行うこととしてもよい。
これにより、本発明に係るバッファ管理装置は、受信間隔に、第1間隔と第2間隔とを含む間欠受信データについての第1時間及び第2時間の算出に用いる情報を、その間欠受信データについてのバースト数とカウンタ値との関係に基づいて選択するので、第1時間及び第2時間を正確に算出することができる。従って、正確に頻繁に受信する種類のデータを記憶していくことができるので、この頻繁に受信する種類のデータをまとめて外部へ送信することが可能になり、外部のメモリに効率よくバースト転送するために利用することができる。
また、前記バッファ管理装置は、更にデータの種類毎に、当該種類のデータの受信間隔を測定し、測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納する間隔算出手段を備えることとしてもよい。
これにより、本発明に係るバッファ管理装置は、間隔算出手段が、データの種類毎に受信間隔に関する情報を間隔記憶手段に格納するので、本発明に係るバッファ管理装置の管理者等が予め各受信間隔に関する情報を設定する手間を省くことができる。
また、前記間隔記憶手段は、N(N<L)種類のデータの受信間隔に関する情報を記憶可能であり、前記制御手段は、前記受信手段が受信したデータの種類についての受信間隔に関する情報が、前記間隔記憶手段に記憶されていない場合には、前記間隔算出手段に当該データの種類を示す情報を通知し、前記間隔算出手段は、前記制御手段から通知がなされた場合において、前記間隔記憶手段にN種類のデータの受信間隔に関する情報が記憶されていないときには、通知された情報が示す種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納し、前記間隔記憶手段にN種類のデータの受信間隔に関する情報が記憶されているときには、いずれか1種類のデータの受信間隔に関する情報に代えて、通知された情報が示す種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納することとしてもよい。
これにより、本発明に係るバッファ管理装置は、受信したデータをデータ記憶手段に記憶させるべきか否かの判定を行う場合において、このデータの種類についての受信間隔に関する情報が間隔記憶手段に記憶されていないときに、この受信間隔に関する情報を記憶するので、比較的記憶容量の少ない間隔記憶手段を用いた場合でも、上述の判定を行うことができる。
また、前記バッファ管理装置は、前記L種類のデータを逐次受信し、外部に送信する処理を、複数のデータ列それぞれについて行うものであり、前記L種類のデータのうちの1種類のデータには、当該データが含まれるデータ列の識別情報が含まれており、前記間隔算出手段は、前記データの種類毎に、当該種類のデータの受信間隔を測定し、測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納する処理を、複数のデータ列それぞれについて行うものであり、前記間隔記憶手段は、受信し得るデータ列の数よりも少ないP個のデータ列について、L種類のデータの受信間隔に関する情報を記憶可能であり、前記制御手段は、前記受信手段が受信したデータにデータ列の識別情報が含まれている場合において、当該識別情報により識別されるデータ列についての各受信間隔に関する情報が、前記間隔記憶手段に記憶されていないときには、前記間隔算出手段に当該識別情報を通知し、前記間隔算出手段は、前記制御手段から通知がなされた場合において、前記間隔記憶手段にP個のデータ列についての各受信間隔に関する情報が記憶されていないときには、通知された識別情報が示すデータ列についての各種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納し、前記間隔記憶手段にP個のデータ列についての各受信間隔に関する情報が記憶されているときには、いずれか1個のデータ列についての各受信間隔に関する情報に代えて、通知された識別情報が示すデータ列についての各種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納することとしてもよい。
これにより、本発明に係るバッファ管理装置は、受信したデータにデータ列の識別情報が含まれている場合において、この識別情報により識別されるデータ列についての各受信間隔に関する情報が間隔記憶手段に記憶されていないときに、この各受信間隔に関する情報を間隔記憶手段に記憶するので、このデータ列に含まれる各データをデータ記憶手段に記憶させるべきか否かの判定を、比較的記憶容量の少ない間隔記憶手段を用いて行うことができる。
バッファ管理装置100を適用したデータ転送装置1000の構成を示すブロック図である。 実施の形態に係るバッファ管理装置100の機能ブロック図である。 TSパケット40のデータ構造を示す図である。 PAT50Aのデータ構造を示す図である。 PAT50Aを伝送するTSパケット40Aの構造を示す図である。 NIT50Bを伝送するTSパケット40B、40Cの構造を示す図である。 EIT50Cを伝送するTSパケット40D〜40Iの構造を示す図である。 各TSパケットが2種類の伝送間隔で伝送される場合について説明する図である。 各セクションデータを伝送するTSパケットのバースト数、バースト間隔、及び周期の一例を示す図である。 切替回路110の動作を示すフローチャートである。 優先度決定回路140の動作を示すフローチャートである。 優先度決定回路140による優先度算出処理を示すフローチャートである。 バッファ部120の動作を示すフローチャートである。 解析部150の動作を示すフローチャートである。 各セクションデータを伝送する各パケットの受信順の第1例を示す図である。 各セクションデータを伝送する各パケットの受信順の第2例を示す図である。 変形例に係るバッファ管理装置200の機能ブロック図である。 本発明に係るバッファ管理装置を説明するための図である。 従来のデータ転送装置5の構成を示すブロック図である。
以下、本発明に係るバッファ管理装置の一実施形態を説明する。
≪実施の形態≫
<概要>
実施の形態に係るバッファ管理装置100は、受信し得るデータの種類数よりも少ない数の記憶部(それぞれが固定長のバッファ領域)を有効利用して、受信したデータのメモリへのバースト転送を効率的に行えるようにするための装置である。
図1は、バッファ管理装置100を適用したデータ転送装置1000の構成を示すブロック図である。
同図における受信部1、PIDフィルタ2、セクションフィルタ3、出力部4、メモリ6は、図19で説明したものと同様のものであり、以下では、受信部1は、MPEG2に準拠したディジタル放送を受信するものとして説明する。
同図に示すように、バッファ管理装置100は、セクションフィルタ3と出力部4との間に配置され、バッファ管理装置100は、セクションフィルタ3から送出されたパケット(セクションデータのTSパケットのヘッダと、セクションデータのTSパケットのペイロードからスタッフィングバイト等の不要なデータを除いた有効データとからなる)を受信する。セクションデータには複数の種類があるため、バッファ管理装置100が受信するパケットの有効データにも複数の種類があることになる。セクションデータの種類及びその内容については後述する。
出力部4は、データの種類に対応するように個別に割り当てられたメモリ6上の各領域にデータをバースト転送するので、このバースト転送を効率的に行うために、バッファ管理装置100は、受信したパケットの有効データを種類毎に記憶部に記憶していき、記憶しているデータのサイズが、バースト転送可能な最大サイズに達したときに出力部4に送信することも考えられる。
しかしながら、回路規模の増大を防ぐために、上述したようにバッファ管理装置100が有する記憶部の数は受信し得るパケットの有効データの種類数よりも少ないものとしているので、全ての種類のパケットの有効データを同時に記憶することはできない。
そのため、バッファ管理装置100は、全ての記憶部が、受信したパケットの有効データと異種類のデータを記憶している場合には、受信したパケットの有効データと各記憶部に記憶されているデータとのうち、記憶部に記憶しておくべき優先度が最も低いものを出力部4に送信する。ここで、優先度は、同じ種類のデータを次に受信するまでの時間が長いほど低いものに決定される。
これにより、バッファ管理装置100は、次に受信するまでの時間が短いデータ、つまり、頻繁に受信する種類のデータが記憶部に記憶されていくので、受信し得るパケットの有効データの種類数よりも少ない数の記憶部を有効利用でき、このような頻繁に受信する種類のデータを、バースト転送可能な最大サイズで出力部4に送信する可能性を高めることができるので、出力部4はメモリ6に対し効率的にバースト転送を行うことができる。
なお、出力部4がバースト転送可能な最大サイズはメモリ6の仕様により決定され、以下では、256Byteであるものとして説明する。
<データ>
まず、バッファ管理装置100が使用するデータについて説明する。
<TSパケット>
以下、セクションデータを伝送する単位であるTSパケットの構造について簡単に説明する。
図3は、TSパケット40のデータ構造を示す図である。
同図に示すように、TSパケット40は、4Byteのヘッダ20と184バイトのペイロード30とからなる188Byteの固定長パケットである。
ペイロード30は、伝送対象となるデータ本体であり、ヘッダ20は、同期バイト21、ペイロードユニット開始表示22、PID23を含むデータである。
ここで、同期バイト21は、「0x47」の固定値が設定され、TSパケットの先頭を示すデータである。
ペイロードユニット開始表示22は、ペイロード30にセクションデータの先頭バイトが含まれているか否かを示すデータである。「1」が設定されている場合に、セクションデータの先頭バイトが含まれていることを示す。なお、1つのTSパケットに複数種類のセクションデータが含まれている場合もあるため、「1」が設定されている場合、少なくとも1つのセクションデータの先頭バイトが含まれていることを示す。
PID23は、ペイロード30に含まれるセクションデータの種類を示す識別子である。
<セクションデータ>
次に、セクションデータの種類と内容について説明する。
セクションデータには、PAT(Program Association Table)、PMT(ProgramMap Table)、NIT(Network Information Table)、EIT(Event Information Table)や、DSM−CC(DigitalStorage Medeia-Command and Control)など様々な種類のデータが含まれる。以下、各データについて、簡単に説明する。
PATは、トランスポートストリームに含まれる各放送番組に関するPMTを伝送するTSパケットのPIDを指定するものであり、PATを伝送するTSパケットのPIDは「0x0000」(固定値)である。
また、PMTは、対応する放送番組を構成する画像や音声などを伝送する各TSパケットの各PIDを指定するデータである。上述のように、PMTを伝送するTSパケットのPIDは、固定値ではなく、PATにより間接的に指定される。
PATやPMTのデータサイズは一般的に小さく(例えば25Byte程度)、1個のTSパケットで伝送できることが多い。
NITは、各放送番組がどの伝送路で伝送されるかを示すために、伝送路の周波数や軌道位置、変調方式等を記載したデータであり、NITを伝送するTSパケットのPIDは、「0x0010」(固定値)である。NITのデータサイズは、一般的にPATやPMTよりも大きく(例えば200Byte程度)、2、3個のTSパケットに分割されて伝送されることが多い。
また、EITは、放送番組の名称や放送日時、放送内容など、番組に関連する情報が含まれるデータであり、EITを伝送するTSパケットのPIDは、「0x0012」(固定値)である。
DSM−CCは、データ放送用のコンテンツデータが含まれるデータであり、DSM−CCを伝送するTSパケットのPIDは、固定値ではなく、PMTにより間接的に指定される。
EITやDSM−CCのデータサイズは、一般的に、上述のPAT、PMT、NIT等と比べ大きく(例えば1000Byte程度)、多数のTSパケットに分割されて伝送される傾向がある。
次に、セクションデータのデータ構造について説明する。
セクションデータのデータ構造は種類毎に異なるが、先頭ビット付近のデータ構造は共通するので、以下、PATを例に、セクションデータの先頭ビット付近のデータ構造を説明する。
図4は、PAT50Aのデータ構造を示す図である。
同図に示すように、PAT50Aは、テーブルID51、セクション長52、トランスポートストリームID53を含む。このテーブルID51は、セクションデータの種類を示す識別子であり、セクション長52は、このフィールドの直後からセクションの最後までのデータ長を示すデータであり、トランスポートストリームID53は、トランスポートストリームの識別子である。
<セクションデータとTSパケットとの対応>
図5は、PAT50Aを伝送するTSパケット40Aの構造を示す図である。
同図では、PAT50Aが、1つのTSパケット40Aにより伝送される例を示している。
同図に示すようにヘッダ20Aに続くペイロード30Aにおいて、セクションデータ(PAT)の後には、ペイロード30Aを固定長にするためのスタッフィングバイト(0xFFの値のデータ)が続いている。
なお、同図におけるポインタフィールドは、上述のペイロードユニット開始表示22が「1」に設定されている場合に、セクションデータの先頭バイトが含まれている位置までのバイト数を示すデータであり、同図では、ポインタフィールドの直後にセクションデータ(PAT)の先頭バイトが続いているため、ポインタフィールドは「0」に設定される。
なお、特に図示して説明しないが、一般的にPMTのデータサイズもPATと同様に小さく、PMTを伝送するTSパケットも上述したTSパケット40と同様の構成を有する。
図6は、NIT50Bを伝送するTSパケット40B、40Cの構造を示す図である。
同図では、NIT50Bが、2個のTSパケット40B、40Cにより伝送される例を示している。この例では、1個目のTSパケット40Bのヘッダ20Bに続くペイロード30Bは、NIT50Bを構成するデータで埋められているが、2個目のTSパケット40Cのヘッダ20Cに続くペイロード30Cは、スタッフィングバイトで固定長になるよう調整されている。
図7は、EIT50Cを伝送するTSパケット40D〜40Iの構造を示す図である。
同図では、EIT50Cが、6個のTSパケット40D〜40Iにより伝送される例を示している。この例では、1個目〜5個目のTSパケット40D〜40HのペイロードはEIT50Cを構成するデータで埋められているが、6個目のTSパケット40Iのヘッダ20Iに続くペイロード30Iは、スタッフィングバイトで固定長になるよう調整されている。
なお、特に図示して説明しないが、一般的にDSM−CCのサイズもTSパケットのデータサイズと比較して非常に大きいので、EIT50Cと同様に多数のTSパケットに分割されて伝送される。
<TSパケットの伝送特性>
以下、各セクションデータを伝送するTSパケットの伝送特性について説明する。
各セクションデータを伝送する各TSパケットの伝送間隔は、セクションデータの種類により異なり、一定間隔で伝送される場合や、2種類の伝送間隔で伝送される場合がある。
図8は、各TSパケットが2種類の伝送間隔で伝送される場合について説明する図である。
同図における矩形は、あるセクションデータを伝送する各TSパケットを示している。同図では、2種類の伝送間隔(t1とt2)があり、比較的短い伝送間隔t1でTSパケットが連続的に伝送される期間Aと、t1より長い伝送間隔t2でTSパケットが伝送される期間Bとが交互に繰り返されている。
以下では、t1のことを「バースト間隔」、t2のことを「周期」といい、期間Aに伝送されるTSパケットの数を「バースト数」という。なお、同図におけるバースト数は「3」である。
図9は、各セクションデータを伝送するTSパケットのバースト数、バースト間隔、及び周期の一例を示す図である。
同図は、セクションデータ61、バースト数62、バースト間隔63、周期64からなる。
ここで、セクションデータ61は、セクションデータの名称を示し、バースト数62は、上述の期間Aで伝送されるTSパケットの数を示し、バースト間隔63は、対応するバースト数62が1より大きい場合に、上述の期間Aで連続的に伝送される2つのTSパケットの伝送間隔を示し、周期64は、上述の期間Bの時間を示している。なお、バースト数62が「1」である場合には、期間Aで連続的に伝送される2つのTSパケットの転送間隔は存在し得ないため、対応するバースト間隔63を「−」で示している。
例えば、同図は、セクションデータ61「PAT」を伝送するTSパケットのバースト数62は「1」で、周期64は「100[msec]」であり、つまり、PATを伝送するTSパケットは「100[msec]」の一定周期で伝送されることを示している。
また、例えば、同図は、セクションデータ61「NIT」を伝送するTSパケットのバースト数62は「2」で、バースト間隔63は「0.1[msec]」で、周期64は「10,000[msec]」であり、つまり期間Aで2つのTSパケットが「0.1[msec]」の間隔で伝送され、期間Bの長さは「10,000[msec]」であることを示している。
<構成>
次に、バッファ管理装置100の構成について説明する。
図2は、バッファ管理装置100の機能ブロック図である。
同図に示すように、バッファ管理装置100は、切替回路110、バッファ部120、多重化回路130、優先度決定回路140、解析部150を備える。
ここで、切替回路110は、受信したパケットの有効データの種類及び優先度決定回路140の制御に従って、受信したパケットをバッファ部120に伝達するか、多重化回路130に伝達するか切り替える機能を有する。
バッファ部120は、データ管理部121A、121B、記憶制御部126を含み、切替回路110から伝達されたパケットの有効データ及びPIDを、いずれかのデータ管理部(121A又は121B)に記憶すると共に、優先度決定回路140及び解析部150の制御に従って、指示されたデータ管理部(121A又は121B)に記憶しているデータを、多重化回路130に送出する機能を有する。各データ管理部は、同様の構成を有するため、以下では、データ管理部121Aについて説明する。
データ管理部121Aは、切替回路110から伝達されたパケットの有効データ及びPIDを記憶する機能を有し、記憶部122、識別子保持部123、有効フラグ保持部124、タイマ125とを備える。
ここで、記憶部122は、1種類の有効データを記憶するためのバッファ領域である。記憶部122の記憶容量は、出力部4がバースト転送する際の最大サイズより大きい必要があり、以下では、バースト転送する際の最大サイズの2倍(512Byte)であるものとする。
識別子保持部123は、記憶部122に記憶されているデータの種類を示すPIDを保持する機能を有しレジスタ等により実現され、有効フラグ保持部124は、記憶部122に記憶されているデータが有効であることを示すフラグ、つまり、記憶部122が未使用でないことを示すフラグを保持する機能を有しレジスタ等により実現される。
タイマ125は、記憶部122にデータが記憶される毎に、記憶されてからの経過時間を計時する機能を有する。
記憶制御部126は、各データ管理部の識別子保持部123に記憶されているPIDと伝達されたパケットのPIDとに基づいて、切替回路110から伝達されたパケットの有効データをデータ管理部121A、121Bのいずれの記憶部122に記憶させるかを決定する機能を有する。決定方法については後に詳細に説明する。
また、記憶制御部126は、各データ管理部の記憶部122が記憶しているデータのサイズがバースト転送可能な最大サイズ(256Byte)に達すると、その256Byteのデータ、及び識別子保持部123が保持しているPIDを多重化回路130に送出させる機能を有する。
また、記憶制御部126は、優先度決定回路140及び解析部150によりそれぞれ指定されたデータ管理部(121A又は121B)の記憶部122に記憶されている全データ及び識別子保持部123が保持しているPIDを多重化回路130に送出させる機能を有する。
多重化回路130は、切替回路110から伝達されたパケットの有効データ及びPIDと、バッファ部120から伝達されたデータ及びPIDを出力部4に送信する機能を有する。
優先度決定回路140は、データ管理部121A、121Bのいずれの記憶部122にも受信したパケットの有効データと異種類のデータが記憶されている場合に、切替回路110が受信したパケットをバッファ部120に伝達するか、多重化回路130に伝達するかを判定し、判定結果に従って、切替回路110及びバッファ部120を制御する機能を有し、伝送間隔保持部141A〜141D、バースト数カウンタ142A〜142Dを備える。
伝送間隔保持部141A〜141Dはそれぞれ同様の構成を有し、それぞれ1種類のセクションデータのPID、バースト数、バースト間隔、周期を保持する機能を有しレジスタ群等により実現される。この例では、4種類のセクションデータについてのPID等を保持可能な場合を一例として示している。各伝送間隔保持部が保持するバースト数、バースト間隔、周期は、例えば、それぞれ対応するセクションデータについての図9に示すバースト数62、バースト間隔63、周期64である。
各伝送間隔保持部への各データの設定は、例えば、バッファ管理装置100の管理者等により、バッファ管理装置100の運用開始時において、予め行われるものとする。
バースト数カウンタ142A〜142Dは、それぞれ同様の構成を有し、伝送間隔保持部141A〜141Dのいずれかと1対1に対応している。各バースト数カウンタは、初期状態においてその値は0であり、対応する伝送間隔保持部が保持するバースト数が1より大きい場合に、対応する伝送間隔保持部が保持するPIDと一致するPIDを含むパケットを切替回路110が受信する毎に1ずつ、その対応する伝送間隔保持部が保持するバースト数(最大値)までカウントアップするものである。最大値まで達すると、次に対応する伝送間隔保持部が保持するPIDと同じPIDを含むパケットを切替回路110が受信したときに初期化され、その値は1になる。
優先度決定回路140による、受信したパケットをバッファ部120に伝達するか多重化回路130に伝達するかの判定方法は、後に詳細に説明するが、受信したパケットの有効データと各記憶部122に記憶されている各データそれぞれについて、同じ種類のデータを次に受信するまでの時間を、対応する伝送間隔保持部に記憶されたデータやバースト数カウンタ等に基づいて算出し、受信したパケットの有効データと同じ種類のデータを次に受信するまでの時間が最も長い場合には、受信したパケットを多重化回路130に伝達するよう切替回路110を制御する。また、例えば、データ管理部121Aの記憶部122に記憶されているデータと同じ種類のデータを次に受信するまでの時間が最も長い場合には、データ管理部121Aの記憶部122に記憶されているデータ及び識別子保持部123に保持されているPIDを多重化回路130に送出するようバッファ部120を制御し、受信したパケットをバッファ部120に伝達するよう切替回路110を制御する。
解析部150は、セクション長管理部151A、151B、終了制御部154を備える。
セクション長管理部151A、151Bは同様の構成を有し、データ管理部121A、121Bのいずれかと1対1に対応する。以下では、セクション長管理部151Aがデータ管理部121Aと対応するものとして、セクション長管理部151Aについて説明する。
セクション長管理部151Aは、セクション長保持部152、セクションサイズカウント部153を備える。
ここで、セクション長保持部152は、データ管理部121Aの記憶部122に記憶されているセクションデータのセクション長を保持する機能を有し、レジスタ等により実現される。
セクションサイズカウント部153は、現在までに伝送され、データ管理部121Aの記憶部122に記憶されたセクションデータのサイズをカウントする機能を有する。詳細には、セクション長保持部152にセクション長52が保持される毎に初期化され、データ管理部121Aの記憶部122に有効データが記憶される毎にその有効データのサイズ分カウントアップする。
終了制御部154は、切替回路110からバッファ部120に伝達されたパケットのヘッダに含まれるペイロードユニット開始表示22や有効データの先頭に含まれるポインタフィールドなどの情報を元にセクションデータの起点を検出し、セクションの起点から13ビット目から始まるセクション長52を抽出し、そのパケットの有効データが記憶されるデータ管理部(121A又は121B)と対応するセクション長管理部(151A又は151B)のセクション長保持部152に抽出したセクション長52を保持させる機能を有する。
また、終了制御部154は、セクションサイズカウント部153の値が、セクション長保持部152が保持するセクション長52と一致するか否かを判定し、一致する場合に、データ管理部121Aの記憶部122に記憶されているデータ及び識別子保持部123に保持されているPIDを、多重化回路130に送出するようバッファ部120を制御する機能を有する。
<動作>
次に、上記構成を備え、上記データを取り扱うバッファ管理装置100の動作について説明する。
<切替回路>
図10は、切替回路110の動作を示すフローチャートである。
以下、同図に示すフローチャートに沿って切替回路110の動作を説明するが、ステップS1を開始する時点で、PAT及びPMTをそれぞれ1度受信済であるものとして説明する。なお、切替回路110は、PAT及びPMTを一度も受信していない場合に、その他のセクションデータを受信した場合には、全て多重化回路130に伝達するものとする。
切替回路110は、パケットを受信すると(ステップS1)、受信したパケットのPIDがPAT又はPMTのPIDと一致するか否かを判定する(ステップS2)。
受信したパケットのPIDがPAT又はPMTのPIDと一致する場合には(ステップS2:YES)、受信したパケットを多重化回路130に伝達し(ステップS3)、処理を終了する。
一方、ステップS2において、受信したパケットのPIDがPAT又はPMTのPIDと一致しない場合には(ステップS2:NO)、優先度決定回路140からの指示(図11のステップS16、S18参照)に従って、多重化回路130又はバッファ部120に受信したパケットを伝達し(ステップS4)、処理を終了する。
<優先度決定回路>
図11は、優先度決定回路140の動作を示すフローチャートである。
以下、同図に示すフローチャートに沿って優先度決定回路140の動作を説明する。
優先度決定回路140は、上述のステップS1で切替回路110が受信したパケットのPIDと一致するPIDを保持している伝送間隔保持部(141A〜141Dのいずれか)が保持するバースト数が1より大きいか否かを判定する(ステップS10)。
保持するバースト数が1より大きい場合には(ステップS10:YES)、優先度決定回路140は、そのバースト数を保持している伝送間隔保持部と対応するバースト数カウンタ(142A〜142Dのいずれか)を1増加させる(ステップS11)。
ステップS11の処理を行い、又はステップS10において、保持するバースト数が1の場合には(ステップS10:NO)、優先度決定回路140は、いずれかのデータ管理部(121A又は121B)の記憶部122に上述のステップS1で切替回路110が受信したパケットの有効データと同種のデータが記憶されているかを判定する(ステップS12)。詳細には、各データ管理部(121A、121B)の識別子保持部123が記憶するPIDと上述のステップS1で切替回路110が受信したパケットのPIDとが一致する場合に、受信したパケットの有効データと同種のデータが記憶されていると判定する。
同種のデータが記憶されていない場合には(ステップS12:NO)、優先度決定回路140は、未使用の記憶部122があるか否かを判定する(ステップS13)。詳細には、有効フラグ保持部124が「1」でないデータ管理部(121A、121B)がある場合に、未使用の記憶部122があると判定する。
未使用の記憶部122がない場合には(ステップS13:NO)、優先度決定回路140は、受信したパケットの有効データと各記憶部122に記憶されている各データとについてそれぞれ優先度の算出処理を行う(ステップS14)。この処理の内容については後述する。
ステップS14に続いて、優先度決定回路140は、受信したパケットの有効データの優先度が最低か否かを判定し(ステップS15)、受信したパケットの有効データの優先度が最低である場合には(ステップS15:YES)、受信したパケットを多重化回路130に伝達するよう切替回路110に指示し(ステップS16)、処理を終了する。
一方、ステップS15において、受信したパケットの有効データの優先度が最低でない場合には(ステップS15:NO)、優先度決定回路140は、優先度が最低であるデータ管理部(121A又は121B)の記憶部122に記憶されているデータ及び識別子保持部123に記憶されているPIDを送信するよう、バッファ部120に指示し(ステップS17)、受信したパケットをバッファ部120に伝達するよう切替回路110に指示し(ステップS18)、処理を終了する。なお、ステップS17の指示を行う際には、優先度決定回路140は、送出すべき識別子保持部123に記憶されているPIDをバッファ部120に伝達するものとする。
また、ステップS12において、同種のデータが記憶されている場合(ステップS12:YES)及びステップS13において、未使用の記憶部122がある場合には(ステップS13:YES)、優先度決定回路140は、受信したパケットをバッファ部120に伝達するよう切替回路110に指示し(ステップS18)、処理を終了する。
<優先度算出>
図12は、優先度決定回路140による優先度算出処理を示すフローチャートである。
以下、同図に示すフローチャートに沿って図11で説明したステップS14の優先度算出の処理について説明する。
優先度決定回路140は、切替回路110が受信したパケットの伝送期間が期間A(図8参照)であるか否かを判定する(図12のステップS20)。詳細には、切替回路110が受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部(141A〜141Dのいずれか)が保持するバースト数が1より大きく、かつ、その伝送間隔保持部と対応するバースト数カウンタ(142A〜142Dのいずれか)がバースト数未満である場合に、受信したパケットの伝送期間が期間Aであると判定する。
切替回路110が受信したパケットの伝送期間が期間Aである場合には(ステップS20:YES)、優先度決定回路140は、切替回路110が受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部(141A〜141Dのいずれか)が保持するバースト間隔を、次にそのパケットの有効データと同種のデータを受信するまでの受信間隔とする(ステップS21)。
一方、切替回路110が受信したパケットの伝送期間が期間Aでない場合には(ステップS20:NO)、優先度決定回路140は、切替回路110が受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部(141A〜141Dのいずれか)が保持する周期を、次にそのパケットの有効データと同種のデータを受信するまでの受信間隔とする(ステップS22)。
ステップS21又はステップS22の処理に続いて、優先度決定回路140は、1つのデータ管理部(121A又は121B)の記憶部122に記憶されているデータの伝送期間が期間Aであるか否かを判定する(ステップS23)。詳細には、そのデータ管理部の識別子保持部が保持するPIDと同一のPIDが保持された伝送間隔保持部(141A〜141Dのいずれか)が保持するバースト数が1より大きく、かつ、その伝送間隔保持部と対応するバースト数カウンタ(142A〜142Dのいずれか)がバースト数未満である場合に、記憶部122に記憶されているデータの伝送期間が期間Aであると判定する。なお、本実施の形態では、この判定を、データ管理部121Aの記憶部122に記憶されているデータから行うものとする。
ステップS23において、1つのデータ管理部の記憶部122に記憶されているデータの伝送期間が期間Aであると判定した場合には(ステップS23:YES)、優先度決定回路140は、そのデータ管理部の識別子保持部123が保持するPIDと同一のPIDを格納している伝送間隔保持部(141A〜141Dのいずれか)が保持するバースト間隔から、そのデータ管理部のタイマ125が計時している時間を減じた時間を、次に、その記憶部122に記憶されているデータと同種のデータを受信するまでの受信間隔とする(ステップS24)。
一方、1つのデータ管理部の記憶部122に記憶されているデータの伝送期間が期間Aでないと判定した場合には(ステップS23:NO)、優先度決定回路140は、そのデータ管理部の識別子保持部123が保持するPIDと同一のPIDを格納している伝送間隔保持部(141A〜Dのいずれか)が保持する周期から、そのデータ管理部のタイマ125が計時している時間を減じた時間を、次に、その記憶部122に記憶されているデータと同種のデータを受信するまでの受信間隔とする(ステップS25)。
ステップS24又はステップS25の処理に続いて、優先度決定回路140は、全ての記憶部(データ管理部121Aの記憶部122及びデータ管理部121Bの記憶部122)のデータについて、ステップS23の判定を行ったか否かを判定する(ステップS26)。
データ管理部121Bの記憶部122のデータについて判定をしていない場合には(ステップS26:NO)、優先度決定回路140は、ステップS23から再度処理を行い、データ管理部121Bの記憶部122のデータについても判定している場合には(ステップS26:YES)、優先度決定回路140は処理を終了する。
<バッファ部>
図13は、バッファ部120の動作を示すフローチャートである。
以下、同図に示すフローチャートに沿ってバッファ部120の動作を説明するが、以下説明する処理は、切替回路110からパケットが伝達される際に実行されるものとする。
バッファ部120の記憶制御部126は、優先度決定回路140から送出指示(図11のステップS17参照)があったか否かを判定し(ステップS30)、送出指示があった場合には(ステップS30:YES)、指示されたデータ管理部(121A又は121B)の記憶部122に記憶されている全データ、及びそのデータ管理部の識別子保持部123に保持されているPIDを多重化回路130に送出させる(ステップS31)。なお、この際、記憶制御部126は、そのデータ管理部の有効フラグ保持部124を「0」に設定する。
ステップS31に続いて、又はステップS30で送出指示がなかった場合には(ステップS30:NO)、記憶制御部126は、データ管理部121A、121Bのいずれかの識別子保持部123に切替回路110から伝達されたパケットのPIDと一致するPIDが保持されているか否かを判定する(ステップS32)。
切替回路110から伝達されたパケットのPIDと一致するPIDが保持されている場合には(ステップS32:YES)、記憶制御部126は、その一致するPIDが保持された識別子保持部123を含むデータ管理部(121A又は121B)を選択し(ステップS33)、切替回路110から伝達されたパケットのPIDと一致するPIDがいずれのデータ管理部の識別子保持部123にも保持されていない場合には(ステップS32:NO)、記憶制御部126は、有効フラグ保持部124が「1」でないデータ管理部(未使用のデータ管理部)を選択する(ステップS34)。
記憶制御部126は、ステップS33又はステップS34で選択したデータ管理部の記憶部122に切替回路110から伝達されたパケットの有効データを記憶させる(ステップS35)。なお、ステップS34で選択したデータ管理部の記憶部122に有効データを記憶させた場合には、そのデータ管理部の識別子保持部123と有効フラグ保持部124にそれぞれ切替回路110から伝達されたパケットのPIDと「1」を保持させる。
また、記憶制御部126は、ステップS33又はステップS34で選択したデータ管理部のタイマ125の値を「0」に初期化した上で計時を開始させる(ステップS36)。
記憶制御部126は、ステップS35で有効データを記憶させた記憶部122に記憶されているデータのサイズが256Byte以上であるか否かを判定し(ステップS37)、256Byte以上である場合には(ステップS37:YES)、その記憶部122に記憶されている256Byteのデータ及び、その記憶部122を含むデータ管理部の識別子保持部123に保持されているPIDを多重化回路130に送出させる(ステップS38)。
一方、ステップS35で有効データを記憶させた記憶部122に記憶されているデータのサイズが256Byte未満である場合には(ステップS37:NO)、解析部150から送出指示(図14のステップS45参照)があったか否かを判定する(ステップS39)。
解析部150から送出指示があった場合には(ステップS39:YES)、記憶制御部126は、指示された記憶部122に記憶されている全データ及び、その記憶部122を含むデータ管理部の識別子保持部123に保持されているPIDを多重化回路130に送出させ(ステップS40)、処理を終了する。なお、ステップS40を行った際に、記憶制御部126は、そのデータ管理部の有効フラグ保持部124を「0」に設定する。
また、解析部150から送出指示がなかった場合には(ステップS39:NO)、処理を終了する。
<解析部>
図14は、解析部150の動作を示すフローチャートである。
以下、同図に示すフローチャートに沿って解析部150の動作を説明する。
解析部150の終了制御部154は、バッファ部120に伝達されたパケットにセクション長52が含まれるか否かを判定し(ステップS41)、含まれる場合には(ステップS41:YES)、セクション長52を抽出して、伝達されたパケットの有効データが記憶されるデータ管理部(121A又は121B)と対応するセクション長管理部(151A又は151B)のセクション長保持部152に格納する(ステップS42)。なお、この際、終了制御部154は、対応するセクション長管理部(151A又は151B)のセクションサイズカウント部153の値を「0」に初期化させる。
ステップS42を処理し、又はステップS41で、バッファ部120に伝達されたパケットにセクション長52が含まれない場合には(ステップS41:NO)、伝達されたパケットの有効データが記憶されるデータ管理部(121A又は121B)と対応するセクション長管理部(151A又は151B)のセクションサイズカウント部153は、記憶された有効データのサイズ分カウントアップする(ステップS43)。
終了制御部154は、ステップS43でカウントアップしたセクションサイズカウント部153の値と、そのセクションサイズカウント部153を含むセクション長管理部(151A又は151B)のセクション長保持部152が保持するセクション長52とが、一致するか否かを判定する(ステップS44)。
セクションサイズカウント部153の値とセクション長保持部152が保持するセクション長52とが一致する場合には(ステップS44:YES)、このセクションサイズカウント部153が含まれるセクション長管理部(151A又は151B)と対応するデータ管理部(121A又は121B)のデータの送出指示を行い(ステップS45)、処理を終了する。
また、セクションサイズカウント部153の値とセクション長保持部152が保持するセクション長52とが一致しない場合には(ステップS44:NO)、処理を終了する。
<具体例による説明>
<第1の具体例>
図15は、各セクションデータを伝送する各パケットの受信例を示す図である。
以下では、同図に示すタイミングで各パケットを受信した場合を例に、バッファ管理装置100全体の動作を説明する。
なお、PATのサイズは「25Byte」、NITのサイズは「200Byte」、EITのサイズは「1000Byte」、DSM−CCのサイズは「1000Byte」であり、図9で示したPATのバースト数62、バースト間隔63、周期64が、PATのPIDと共に伝送間隔保持部141Aに記憶されており、同様に図9で示したNIT、EIT、DMS−CCのバースト数62等がそれぞれ伝送間隔保持部141B〜141Dに保持されているものとして説明する。また、PATは図5、NITは図6、DSM−CCは図7に示すようにTSパケットにマッピングされているものとする。
また、以下の説明開始時点において、バッファ管理装置100の各記憶部122は未使用(各有効フラグ保持部124の値は「0」とする)であるものとする。
<T1>
時刻T1(0msec)において、切替回路110がDSM−CCのパケットを受信し(図10のステップS1、S2:NO)、切替回路110は優先度決定回路140の指示に従ってバッファ部120にパケットを伝達する(ステップS4)。
詳細には、優先度決定回路140は、DSM−CCのパケットのバースト数が1なので(図11のステップS10:NO)、ステップS11の処理(バースト数カウンタ142Aのカウントアップ)は行わず、また、同種のデータが記憶されておらず(ステップS12:NO)、未使用の記憶部122があるので(ステップS13:YES)、バッファ部120へDSM−CCのパケットを伝達するよう指示する(ステップS18)。
バッファ部120の記憶制御部126は、優先度決定回路140からの送出指示はなく(図13のステップS30:NO)、伝達されたパケットのPIDと一致するPIDが保持されていないので(ステップS32:NO)、未使用のデータ管理部(この例では、データ管理部121Aとする)を選択し(ステップS34)、データ管理部121Aの記憶部122、識別子保持部123、有効フラグ保持部124にそれぞれ伝達されたパケットの有効データ(DSM−CCの分割データ)、PID、「1」を格納し(ステップS35)、データ管理部121Aのタイマ125を初期化した上で、計時を開始する(ステップS36)。
またこの際、解析部150の終了制御部154はDSM−CCのパケットにセクション長52を含むので(図14のステップS41:YES)、このセクション長52をセクション長管理部151Aのセクション長保持部152に格納し(ステップS42)、セクションサイズカウント部153の値を「0」に初期化した上で、データ管理部121Aの記憶部122に記憶されたデータサイズ分、セクションサイズカウント部153をカウントアップし(ステップS43)、解析部150は処理を終了する(ステップS44:NO)。
また、バッファ部120の記憶制御部126は、データ管理部121Aの記憶部122の記憶するデータのサイズが256Byte未満であり(図13のステップS37:NO)、解析部150からの送出指示がないので(ステップS39:NO)、処理を終了する。
<T2>
時刻T2(3msec)において、切替回路110がDSM−CCのパケットを受信し(図10のステップS1、S2:NO)、切替回路110は優先度決定回路140の指示に従ってバッファ部120にパケットを伝達する(ステップS4)。
詳細には、優先度決定回路140は、DSM−CCのパケットのバースト数が1なので(図11のステップS10:NO)、ステップS11の処理(バースト数カウンタ142Aのカウントアップ)は行わず、同種のデータが記憶されているので(ステップS12:YES)、切替回路110に対し、バッファ部120へDSM−CCのパケットを伝達するよう指示する(ステップS18)。
バッファ部120の記憶制御部126は、優先度決定回路140からの送出指示はなく(図13のステップS30:NO)、伝達されたパケットのPIDと一致するPIDが保持されているので(ステップS32:YES)、データ管理部121Aを選択し(ステップS33)、データ管理部121Aの記憶部122に伝達されたパケットの有効データ(DSM−CCの分割データ)を格納し(ステップS35)、データ管理部121Aのタイマ125を初期化した上で、計時を開始する(ステップS36)。
またこの際、解析部150の終了制御部154はDSM−CCのパケットにセクション長52を含まないので(図14のステップS41:NO)、データ管理部121Aの記憶部122に記憶されたデータサイズ分、セクションサイズカウント部153をカウントアップし(ステップS43)、解析部150は処理を終了する(ステップS44:NO)。
また、バッファ部120の記憶制御部126は、データ管理部121Aの記憶部122の記憶するデータのサイズが256Byte以上なので(図13のステップS37:YES)、その記憶部122に記憶されている先頭から256Byteのデータとデータ管理部121Aの識別子保持部123に記憶されているPIDとを多重化回路130に送出し(ステップS38)、処理を終了する。
<T3>
時刻T3(6msec)において、切替回路110がDSM−CCのパケットを受信し(図10のステップS1、S2:NO)、以降は、時刻T2の場合と同様に、データ管理部121Aの記憶部122に有効データ(DSM−CCの分割データ)が格納され、その記憶部122に記憶されている先頭から256Byteのデータとデータ管理部121Aの識別子保持部123に記憶されているPIDとが多重化回路130に送出される。
<T4>
時刻T4(7msec)において、切替回路110がPATのパケットを受信すると(図10のステップS1、S2:YES)、切替回路110は多重化回路130にパケットを伝達する(ステップS3)。つまり、PATのパケットはバッファリングされないことになる。
<T5>
時刻T5(9msec)において、切替回路110がDSM−CCのパケットを受信し(図10のステップS1、S2:NO)、以降は、時刻T2の場合と同様に、データ管理部121Aの記憶部122に有効データ(DSM−CCの分割データ)が格納されるが、データ管理部121Aの記憶部122の記憶するデータのサイズが256Byte未満であり(図13のステップS37:NO)、解析部150からの送出指示がないので(ステップS39:NO)、バッファ部120から多重化回路130への送出は行われない。
<T6>
時刻T6(10.1msec)において、切替回路110がEITのパケットを受信し(図10のステップS1、S2:NO)、切替回路110は優先度決定回路140の指示に従ってバッファ部120にパケットを伝達する(ステップS4)。
詳細には、優先度決定回路140は、EITのパケットのバースト数が2なので(図11のステップS10:YES)、バースト数カウンタ142Cは「1」になり(ステップS11)、また、同種のデータが記憶されておらず(ステップS12:NO)、未使用の記憶部122があるので(ステップS13:YES)、バッファ部120へEITのパケットを伝達するよう指示する(ステップS18)。
バッファ部120の記憶制御部126は、優先度決定回路140からの送出指示はなく(図13のステップS30:NO)、伝達されたパケットのPIDと一致するPIDが保持されていないので(ステップS32:NO)、未使用のデータ管理部121Bを選択し(ステップS34)、データ管理部121Bの記憶部122、識別子保持部123、有効フラグ保持部124にそれぞれ伝達されたパケットの有効データ(EITセクションの分割データ)、PID、「1」を格納し(ステップS35)、データ管理部121Bのタイマ125を初期化した上で、計時を開始する(ステップS36)。
またこの際、解析部150の終了制御部154はEITのパケットにセクション長52を含むので(図14のステップS41:YES)、このセクション長52をセクション長管理部151Bのセクション長保持部152に格納し(ステップS42)、セクションサイズカウント部153の値を「0」に初期化した上で、データ管理部121Bの記憶部122に記憶されたデータサイズ分、セクションサイズカウント部153をカウントアップし(ステップS43)、解析部150は処理を終了する(ステップS44:NO)。
また、バッファ部120の記憶制御部126は、データ管理部121Bの記憶部122の記憶するデータのサイズが256Byte未満であり(図13のステップS37:NO)、解析部150からの送出指示がないので(ステップS39:NO)、処理を終了する。
<T7>
時刻T7(10.5msec)において、切替回路110がNITのパケットを受信し(図10のステップS1、S2:NO)、切替回路110は優先度決定回路140の指示に従ってバッファ部120にパケットを伝達する(ステップS4)。
詳細には、優先度決定回路140は、NITのパケットのバースト数が2なので(図11のステップS10:YES)、バースト数カウンタ142Bは「1」になり(ステップS11)、また、同種のデータが記憶されておらず(ステップS12:NO)、未使用の記憶部122もないので(ステップS13:NO)、優先度算出処理を行う(ステップS14)。
即ち、優先度決定回路140は、NITのパケットのバースト数が1より大きく、かつ、バースト数カウンタ142Bの値が「1」でバースト数未満であるため、NITのパケットの伝送期間が期間Aであると判定し(ステップS20:YES)、NITの受信間隔をバースト間隔「0.1msec」とする(ステップS21)。
また、優先度決定回路140は、データ管理部121Aの記憶部122に記憶されているデータ(DMS−CC)のバースト数は「1」なので、DMS−CCのパケットの伝送期間は期間Aではないと判定し(ステップS23:NO)、DMS−CCの受信間隔を周期「3msec」からタイマ125の値「1.5msec」(時刻T5からの経過時間)を減じた「1.5msec」とする(ステップS25)。
また、優先度決定回路140は、データ管理部121Bの記憶部122に記憶されているデータ(EIT)のバースト数「2」は1より大きく、かつ、バースト数カウンタ142Cの値が「1」でありバースト数未満なので、EITのパケットの伝送期間は期間Aであると判定し(ステップS23:YES)、EITの受信間隔をバースト間隔「1msec」からタイマ125の値「0.4msec」(時刻T6からの経過時間)を減じた「0.6msec」とする(ステップS24)。
優先度決定回路140は、NITの優先度が最低でないので(ステップS15:NO)、優先度が最低であるデータ管理部121Aの記憶部122に記憶されているデータ(DSM−CC)及び識別子保持部123に記憶されているPIDを送信するよう、バッファ部120に指示し(ステップS17)、受信したパケットをバッファ部120に伝達するよう切替回路110に指示する(ステップS18)。なお、バッファ部120への上述の指示を行うために、優先度決定回路140は、DSM−CCのPIDをバッファ部120に伝達する。
バッファ部120の記憶制御部126は、優先度決定回路140からの送出指示があるので(図13のステップS30:YES)、データ管理部121Aの記憶部122に記憶されているデータ(DSM−CC)及び識別子保持部123に記憶されているPIDを多重化回路130に送出し(ステップS31)、データ管理部121Aの有効フラグ保持部124を「0」に設定する。
また、記憶制御部126は、伝達されたパケットのPIDと一致するPIDが保持されていないので(図13のステップS32:NO)、未使用のデータ管理部121Aを選択し(ステップS34)、データ管理部121Aの記憶部122、識別子保持部123、有効フラグ保持部124にそれぞれ伝達されたパケットの有効データ(NITの分割データ)、PID、「1」を格納し(ステップS35)、データ管理部121Aのタイマ125を初期化した上で、計時を開始する(ステップS36)。
またこの際、解析部150の終了制御部154はNITのパケットにセクション長52を含むので(図14のステップS41:YES)、このセクション長52をセクション長管理部151Aのセクション長保持部152に格納し(ステップS42)、セクションサイズカウント部153の値を「0」に初期化した上で、データ管理部121Aの記憶部122に記憶されたデータサイズ分、セクションサイズカウント部153をカウントアップし(ステップS43)、解析部150は処理を終了する(ステップS44:NO)。
また、バッファ部120の記憶制御部126は、データ管理部121Aの記憶部122の記憶するデータのサイズが256Byte未満であり(図13のステップS37:NO)、解析部150からの送出指示がないので(ステップS39:NO)、処理を終了する。
<T8>
時刻T8(10.6msec)において、切替回路110がNITのパケットを受信し(図10のステップS1、S2:NO)、切替回路110は優先度決定回路140の指示に従ってバッファ部120にパケットを伝達する(ステップS4)。
詳細には、優先度決定回路140は、NITのパケットのバースト数が2なので(図11のステップS10:YES)、バースト数カウンタ142Cは「2」になり(ステップS11)、同種のデータが記憶されているので(ステップS12:YES)、切替回路110に対し、バッファ部120へNITのパケットを伝達するよう指示する(ステップS18)。
バッファ部120の記憶制御部126は、優先度決定回路140からの送出指示はなく(図13のステップS30:NO)、伝達されたパケットのPIDと一致するPIDが保持されているので(ステップS32:YES)、データ管理部121Aを選択し(ステップS33)、データ管理部121Aの記憶部122に伝達されたパケットの有効データ(NITセクションの分割データ)を格納し(ステップS35)、データ管理部121Aのタイマ125を初期化した上で、計時を開始する(ステップS36)。
またこの際、解析部150の終了制御部154はNITのパケットにセクション長52を含まないので(図14のステップS41:NO)、データ管理部121Aの記憶部122に記憶されたデータサイズ分、セクションサイズカウント部153をカウントアップし(ステップS43)、終了制御部154は、ステップS43でカウントアップしたセクションサイズカウント部153の値と、そのセクションサイズカウント部153を含むセクション長管理部151Aのセクション長保持部152が保持するセクション長52とが一致するので(ステップS44:YES)、終了制御部154は、データ管理部121Aの記憶部122に記憶されているデータ(NIT)及び識別子保持部123に記憶されているPIDを送信するようバッファ部120に指示する(ステップS45)。
また、バッファ部120の記憶制御部126は、データ管理部121Aの記憶部122の記憶するデータのサイズが256Byte未満であるが(図13のステップS37:NO)、解析部150からの送出指示があるので(ステップS39:YES)、データ管理部121Aの記憶部122に記憶されているデータ(NIT)及び識別子保持部123に記憶されているPIDを多重化回路130に送出する(ステップS40)。なお、この際、データ管理部121Aの有効フラグ保持部124を「0」に設定する。
<T9>
時刻T9(11.1msec)において、切替回路110がEITのパケットを受信し(図10のステップS1、S2:NO)、以降は、時刻T2の場合と同様に処理し、データ管理部121Bの記憶部122に有効データ(EITの分割データ)が格納され、その記憶部122に記憶されている先頭から256Byteのデータとデータ管理部121Aの識別子保持部123に記憶されているPIDとが多重化回路130に送出される。
<T10>
時刻T10(12msec)において、切替回路110がDSM−CCのパケットを受信し(図10のステップS1、S2:NO)、以降は、基本的に時刻T1の場合と同様に処理し、未使用のデータ管理部121Aの記憶部122に有効データ(DSM−CCの分割データ)が格納されるが、データ管理部121Aの記憶部122の記憶するデータのサイズが256Byte未満であり(図13のステップS37:NO)、解析部150からの送出指示がないので(ステップS39:NO)、バッファ部120から多重化回路130への送出は行われない。
<第2の具体例>
図16は、各セクションデータを伝送する各パケットの受信例を示す図である。
以下では、同図に示すように、図15に示すタイミングとは異なるタイミングで各パケットを受信した場合を例に、バッファ管理装置100全体の動作を説明する。
なお、各セクションデータのサイズ等の条件については、上記第1の具体例(図15)で説明したものと同様である。
図16の時刻T11〜T16までの動作は、図15のT1〜T6までの動作と同じであるため、以下では、時刻T17以降の動作について説明する。
<T17>
時刻T17(11.1msec)において、切替回路110がEITのパケットを受信し(図10のステップS1、S2:NO)、以降は、上述の時刻T9の場合と同様に処理し、データ管理部121Bの記憶部122に有効データ(EITの分割データ)が格納され、その記憶部122に記憶されている先頭から256Byteのデータとデータ管理部121Aの識別子保持部123に記憶されているPIDとが多重化回路130に送出される。
<T18>
時刻T18(11.5msec)において、切替回路110がNITのパケットを受信し(図10のステップS1、S2:NO)、切替回路110は優先度決定回路140の指示に従ってバッファ部120にパケットを伝達する(ステップS4)。
詳細には、優先度決定回路140は、上述の時刻T7と同様に優先度算出処理を行うが、NITのパケットのバースト数が1より大きく、かつ、バースト数カウンタ142Bの値が「1」でバースト数未満であるため、NITのパケットの伝送期間が期間Aであると判定し(ステップS20:YES)、NITの受信間隔をバースト間隔「0.1msec」とする(ステップS21)。
また、優先度決定回路140は、データ管理部121Aの記憶部122に記憶されているデータ(DMS−CC)のバースト数は「1」なので、DMS−CCのパケットの伝送期間は期間Aではないと判定し(ステップS23:NO)、DMS−CCの受信間隔を周期「3msec」からタイマ125の値「1.5msec」(時刻T15からの経過時間)を減じた「1.5msec」とする(ステップS25)。
また、優先度決定回路140は、データ管理部121Bの記憶部122に記憶されているデータ(EIT)のバースト数「2」は1より大きいがバースト数カウンタ142Cの値が「2」でありバースト数と一致するのでEITのパケットの伝送期間は期間Aでないと判定し(ステップS23:NO)、EITの受信間隔を周期「100msec」からタイマ125の値「0.4msec」(時刻T17からの経過時間)を減じた「99.6msec」とする(ステップS24)。
優先度決定回路140は、NITの優先度が最低でないので(ステップS15:NO)、優先度が最低であるデータ管理部121Bの記憶部122に記憶されているデータ(EIT)及び識別子保持部123に記憶されているPIDを送信するよう、バッファ部120に指示し(ステップS17)、受信したパケットをバッファ部120に伝達するよう指示する(ステップS18)。なお、この指示を行うために、優先度決定回路140は、EITのPIDをバッファ部120に伝達する。
バッファ部120の記憶制御部126は、優先度決定回路140からの送出指示があるので(図13のステップS30:YES)、データ管理部121Bの記憶部122に記憶されているデータ(EIT)及び識別子保持部123に記憶されているPIDを多重化回路130に送出し(ステップS31)、データ管理部121Aの有効フラグ保持部124を「0」に設定する。
また、記憶制御部126は、伝達されたパケットのPIDと一致するPIDが保持されていないので(図13のステップS32:NO)、未使用のデータ管理部121Bを選択し(ステップS34)、データ管理部121Bの記憶部122、識別子保持部123、有効フラグ保持部124にそれぞれ伝達されたパケットの有効データ(NITの分割データ)、PID、「1」を格納し(ステップS35)、データ管理部121Bのタイマ125を初期化した上で、計時を開始する(ステップS36)。
またこの際、解析部150の終了制御部154はNITのパケットにセクション長52を含むので(図14のステップS41:YES)、このセクション長52をセクション長管理部151Bのセクション長保持部152に格納し(ステップS42)、セクションサイズカウント部153の値を「0」に初期化した上で、データ管理部121Bの記憶部122に記憶されたデータサイズ分、セクションサイズカウント部153をカウントアップし(ステップS43)、解析部150は処理を終了する(ステップS44:NO)。
また、バッファ部120の記憶制御部126は、データ管理部121Bの記憶部122の記憶するデータのサイズが256Byte未満であり(図13のステップS37:NO)、解析部150からの送出指示がないので(ステップS39:NO)、処理を終了する。
<T19>
時刻T19(11.6msec)において、切替回路110がNITのパケットを受信し(図10のステップS1、S2:NO)、以降は、上述のT8と同様に処理され、データ管理部121Bの記憶部122に有効データ(NITの分割データ)が格納され、バッファ部120の記憶制御部126は、解析部150からの送出指示に応じて、データ管理部121Bの記憶部122に記憶されているデータ(NIT)及び識別子保持部123に記憶されているPIDを多重化回路130に送出する(ステップS40)。なお、この際、データ管理部121Aの有効フラグ保持部124を「0」に設定する。
<T20>
時刻T10(12msec)において、切替回路110がDSM−CCのパケットを受信し(図10のステップS1、S2:NO)、以降は、基本的には時刻T10の場合と同様にデータ管理部121Aの記憶部122に有効データ(DSM−CCの分割データ)が格納されるが、その記憶部122に記憶されている先頭から256Byteのデータとデータ管理部121Aの識別子保持部123に記憶されているPIDとが多重化回路130に送出される。
以上、2つの具体例を用いて、バッファ管理装置100の動作を説明してきたが、いずれに場合でも、パケットを受信した際の各記憶部122の利用状況に応じて、各記憶部122に記憶するか否かを適切に制御し、特に、いずれの記憶部122にも受信したパケットと異なる種類のデータが記憶されている場合には、その受信時において、次に受信するまでの時間が最も遅い種類のデータを外部に送信しているので、比較的頻繁に受信する種類のデータを記憶し、効率的なバッファリングを行うことができる。
≪変形例≫
実施の形態では、優先度決定回路140の各伝送間隔保持部(141A〜141D)には、セクションデータの種類毎に、図9に示すバースト数62、バースト間隔63、周期64が、例えば、バッファ管理装置100の管理者等により予め設定されているものとして説明したが、これらのデータを取得して設定するようにしてもよい。
以下、実施の形態に係るバッファ管理装置100との相違点を中心に、変形例に係るバッファ管理装置200について説明する。
図17は、バッファ管理装置200の機能ブロック図である。
バッファ管理装置200は、バッファ管理装置100の構成に加え、算出回路210を備える。
ここで、算出回路210は、セクションデータの種類毎に、バースト数、バースト間隔、周期を算出し、各伝送間隔保持部141A〜141Dに格納する機能を有する。
より詳細には、算出回路210は、内部にパケットの種類数分のタイマを備え、切替回路110がパケットの受信を開始してから一定時間、受信したパケットの種類毎(PID毎)に、連続して受信した同種のパケットについての受信間隔を測定していき、パケットの種類毎に、測定した受信間隔についてのヒストグラムを生成する。
パケットの種類毎に生成した、測定した受信間隔についての各ヒストグラムについて、ピークとなる部分(ヒストグラムの山の部分)を検出する。このピークとなる部分に対応する受信間隔が、バースト間隔や周期に相当し、ピークとなる部分が1つの場合には、そのピークに対応する受信間隔を周期とし、ピークとなる部分が2つの場合には、小さいほうのピークに対応する受信間隔をバースト間隔、大きいほうのピークに対応する受信間隔を周期とする。また、バースト間隔である受信間隔に対応する頻度が、バースト数となる。
なお、このピークとなる部分の検出方法としては、例えば、隣り合う受信間隔についての頻度の差分を取り、差分が正から負に変わった点を抽出するなど、一般的なヒストグラムからのピークの検出方法を用いればよい。また、例えば、ピークとなる部分が3つある場合には、誤差が含まれていると考えられるため、3つのピークを、対応する受信間隔が昇順になるように並べたときの隣り合う2つのピークに対応する受信間隔の差分を算出し、所定値以内になる場合には、誤差として、2つのピークそれぞれに対応する受信間隔の平均値を、バースト間隔や周期とする。
なお、算出回路210は、各伝送間隔保持部141A〜141Dに算出したバースト数、バースト間隔、周期を格納すると、その旨を切替回路110に通知し、切替回路110はその通知があるまでは、受信したパケットを全て多重化回路130に伝達するものとする。
<補足>
以上、本発明に係るバッファ管理装置について、実施の形態及び変形例に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態及び変形例に示したとおりのバッファ管理装置に限られないことは勿論である。
(1)変形例に係るバッファ管理装置200の算出回路210を、データの種類毎に算出したバースト数、バースト間隔、周期をすぐには各伝送間隔保持部141A〜141Dに格納しないようにしてもよい。即ち、算出が完了すると、この変形に係る算出回路(以下、「変形算出回路」という)はその旨の通知を切替回路110に送り、以降切替回路110は実施の形態で説明したように動作する。
また、この変形では、優先度決定回路140についても、優先度の算出が必要になったときに必要なデータがいずれの伝送間隔保持部(141A〜141D)にも格納されていない場合にその旨の通知(必要なデータの種別を示す情報、例えばPIDを含む)を変形算出回路に送るように変形し、その通知を受けた変形算出回路が優先度の算出に必要なデータ(バースト数、バースト間隔、周期)をこの変形に係る優先度決定回路の伝送間隔保持部に格納するようにしてもよい。
このとき、特に、受信し得るパケットの種類よりも、伝送間隔保持部の数(データ管理部の数+1以上)のほうが少ない場合には、バースト数等が格納されていない伝送間隔保持部(未使用の伝送間隔保持部)の有無に応じて、伝送間隔保持部に既に記憶されているその優先度の算出には不要なデータに代えて、優先度の算出に必要なデータを、伝送間隔保持部に格納する必要がある。つまり、未使用の伝送間隔保持部がある場合には、その伝送間隔保持部に優先度の算出に必要なデータを格納し、未使用の伝送間隔保持部がない場合には、その優先度の算出には不要なデータが既に記憶されている伝送間隔保持部に優先度の算出に必要なデータを格納(上書き)する。
(2)実施の形態及び変形例では、1種類のトランスポートストリームを受信する場合を例に説明したが、複数のトランスポートストリームを受信するようにしてもよい。その場合、実施の形態及び変形例の構成のうち、優先度決定回路140の伝送間隔保持部141A〜141D及びバースト数カウンタ142A〜142Dの組を、受信し得るトランスポートストリームの種類数分備える必要があり、また、組毎に対応するトランスポートストリームIDを保持するトランスポートストリーム保持部を備える必要がある。また、このトランスポートストリームIDは、PATにより伝送されるため(図4参照)、この変形では、切替回路110がPATを受信した際に、トランスポートストリームIDを検出し、その情報を優先度決定回路140に伝達し、複数の複数の組のうち、対応する組を使用するように切り替える選択回路が実施の形態及び変形例で説明した構成に加え必要となる。なお、この選択回路の機能を、優先度決定回路140に持たせることとしてもよい。
(3)変形例において、複数のトランスポートストリームを受信するように変形した場合において、上述の(2)では、優先度決定回路140の伝送間隔保持部141A〜141D及びバースト数カウンタ142A〜142Dの組を、受信し得るトランスポートストリームの種類数分備えるものとして説明したが、受信し得るトランスポートストリームの数よりも少なくしてもよい。
この変形では、PATにより伝送されるトランスポートストリームIDを検出し、その情報を優先度決定回路140に伝達する選択回路を変形例で説明した構成に加える必要がある。また、優先度決定回路140についても、伝達されたトランスポートストリームIDに対応する各データ(パケットの種類毎のバースト数、バースト間隔、周期)がいずれの伝送間隔保持部の組にも記憶されていない場合には、その旨の通知(トランスポートストリームIDを含む)を算出回路に送るように変形し、その通知を受けた算出回路が対応するトランスポートストリームの各データ(パケットの種類毎のバースト数、バースト間隔、周期)をこの変形に係る優先度決定回路のいずれかの転送間隔保持部の組に格納するようにしてもよい。
このとき、この変形に係る算出回路は、各データ(パケットの種類毎のバースト数、バースト間隔、周期)が格納されていない伝送間隔保持部の組(未使用の伝送間隔保持部の組)の有無に応じて、伝送間隔保持部の組に既に記憶されている他のトランスポートストリームに対応する各データ(パケットの種類毎のバースト数、バースト間隔、周期)に代えて、通知に係るトランスポートストリームに対応する各データ(パケットの種類毎のバースト数、バースト間隔、周期)を格納する必要がある。
つまり、未使用の伝送間隔保持部の組がある場合には、その伝送間隔保持部の組に格納し、未使用の伝送間隔保持部の組がない場合には、他のトランスポートストリームについての各データが記憶されている伝送間隔保持部の組に格納(上書き)する。
なお、上述の選択回路の機能を、優先度決定回路140に持たせることとしてもよい。
(4)実施の形態及び変形例では、データ管理部の数が2つである場合を一例として示したが、バッファ管理装置において許容できる回路規模等に応じた数のデータ管理部を備えるようにしてもよい。
(5)実施の形態及び変形例では、バッファ部120は記憶制御部126を含み、1つの記憶制御部126が各データ管理部を制御するものとして説明したが、データ管理部毎に制御部を備えるようにしてもよい。
(6)実施の形態及び変形例においては、本発明に係るバッファ管理装置をデータ転送装置1000に適用した例を説明したが、本発明に係るバッファ管理装置はセクションデータに限らず、複数の種類を有するデータを受信し、データの種類毎にまとめて(一括して)送出するような用途に使用できる。
(7)実施の形態及び変形例においては、受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部があることを前提に説明したが、受信し得るパケットの種類(セクションデータの種類)の数よりも、伝送間隔保持部の数が少ない場合においては、受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部がない場合も発生し得る。
そこで、受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部がない場合には、優先度決定回路140は、受信したパケットをバッファ部120に伝達するよう切替回路110に指示するようにしてもよい。即ち、図11のステップS13とステップS14との間に、更に受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部があるか否かの判定を行うステップを追加し、受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部がある場合に、ステップS14からの処理を行い、受信したパケットのPIDと同一のPIDを格納している伝送間隔保持部がない場合には、ステップS16からの処理を行うようにしてもよい。
(8)実施の形態及び変形例において説明した各構成要素のうち、全部又は一部をコンピュータプログラムで実現してもよいし、1チップ又は複数チップの集積回路で実現してもよい。
(9)実施の形態及び変形例では、本発明に係るバッファ管理装置の構成の一例を図2、図17に示して説明したが、図18に示すような構成であってもよい。即ち、
L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置300であって、データを受信する受信手段310と、それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段320と、データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段330と、それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段350と、制御手段340とを備え、当該制御手段340は、前記受信手段310が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、前記受信手段310が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、前記受信手段310が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段330が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、否定的な判定をしたときは、受信したデータを外部に送信することとしてもよい。
また、前記制御手段340は、各データ記憶手段について、当該データ記憶手段に対応付けられた計時手段が計時する経過時間と前記間隔記憶手段330に記憶されている、当該データ記憶手段に割り当てられた種類のデータについての受信間隔に関する情報とに基づいて、当該データ記憶手段に割り当てられたデータと同種のデータを次に受信するまでの第1時間を算出し、前記受信手段310が受信したデータの種類についての前記間隔記憶手段330の受信間隔に関する情報に基づいて、当該データを受信してから、当該データと同種のデータを受信するまでの第2時間を算出し、第2時間がいずれの第1時間よりも長い場合には否定的な判定を行い、第2時間がいずれかの第1時間より短い場合には肯定的な判定を行い、肯定的な判定を行った場合に受信したデータを格納するデータ記憶手段は、第2時間より短い第1時間に係る種類のデータが記憶されていたデータ記憶手段であることとしてもよい。
また、L種類のデータには、受信間隔が、第1間隔と、当該第1間隔よりも長い第2間隔との2種類ある間欠受信データが含まれており、前記間隔記憶手段330が記憶する各間欠受信データの受信間隔に関する情報には、第1間隔を示す情報と第2間隔を示す情報とを含み、前記バッファ管理装置300は、更に各間欠受信データについて、第1間隔で連続して受信する当該間欠受信データの数であるバースト数を記憶するバースト数記憶手段360と、各間欠受信データに対応して、当該間欠受信データの受信数をカウントする複数のカウンタ370を備え、前記制御手段340による間欠受信データについての第1時間及び第2時間の算出に用いる情報は、当該間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段360に記憶されている値未満であるときには、前記第1間隔を示す情報であり、当該間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段360に記憶されている値と一致するときは、前記第2間隔を示す情報であり、前記制御手段340は、間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段360に記憶されている値を超えた場合には、当該カウンタ値を1にして、前記算出を行うこととしてもよい。
また、前記バッファ管理装置300は、更にデータの種類毎に、当該種類のデータの受信間隔を測定し、測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段330に格納する間隔算出手段380を備えることとしてもよい。
また、前記間隔記憶手段330は、N(N<L)種類のデータの受信間隔に関する情報を記憶可能であり、前記制御手段340は、前記受信手段310が受信したデータの種類についての受信間隔に関する情報が、前記間隔記憶手段330に記憶されていない場合には、前記間隔算出手段380に当該データの種類を示す情報を通知し、前記間隔算出手段380は、前記制御手段340から通知がなされた場合において、前記間隔記憶手段330にN種類のデータの受信間隔に関する情報が記憶されていないときには、通知された情報が示す種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段330に格納し、前記間隔記憶手段330にN種類のデータの受信間隔に関する情報が記憶されているときには、いずれか1種類のデータの受信間隔に関する情報に代えて、通知された情報が示す種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段330に格納することとしてもよい。
また、前記バッファ管理装置300は、前記L種類のデータを逐次受信し、外部に送信する処理を、複数のデータ列それぞれについて行うものであり、前記L種類のデータのうちの1種類のデータには、当該データが含まれるデータ列の識別情報が含まれており、前記間隔算出手段380は、前記データの種類毎に、当該種類のデータの受信間隔を測定し、測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段330に格納する処理を、複数のデータ列それぞれについて行うものであり、前記間隔記憶手段330は、受信し得るデータ列の数よりも少ないP個のデータ列について、L種類のデータの受信間隔に関する情報を記憶可能であり、前記制御手段340は、前記受信手段310が受信したデータにデータ列の識別情報が含まれている場合において、当該識別情報により識別されるデータ列についての各受信間隔に関する情報が、前記間隔記憶手段330に記憶されていないときには、前記間隔算出手段380に当該識別情報を通知し、前記間隔算出手段380は、前記制御手段340から通知がなされた場合において、前記間隔記憶手段330にP個のデータ列についての各受信間隔に関する情報が記憶されていないときには、通知された識別情報が示すデータ列についての各種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段330に格納し、前記間隔記憶手段330にP個のデータ列についての各受信間隔に関する情報が記憶されているときには、いずれか1個のデータ列についての各受信間隔に関する情報に代えて、通知された識別情報が示すデータ列についての各種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段330に格納することとしてもよい。
本発明に係るバッファ管理装置は、バッファの利用効率を向上させるために利用できる。
1 受信部
2 PIDフィルタ
3 セクションフィルタ
4 出力部
5、1000 データ転送装置
6 メモリ
100、200 バッファ管理装置
110 切替回路
120 バッファ部
121A、B データ管理部
122 記憶部
123 識別子保持部
124 有効フラグ保持部
125 タイマ
126 記憶制御部
130 多重化回路
140 優先度決定回路
141A〜D 伝送間隔保持部
142A〜D バースト数カウンタ
150 解析部
151A、B セクション長管理部
152 セクション長取得部
153 セクションサイズカウント部
154 終了制御部

Claims (8)

  1. L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置であって、
    データを受信する受信手段と、
    それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段と、
    データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段と、
    それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段と、
    制御手段とを備え、
    当該制御手段は、
    前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、
    前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、
    前記受信手段が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、
    肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、
    否定的な判定をしたときは、受信したデータを外部に送信する
    ことを特徴とするバッファ管理装置。
  2. 前記制御手段は、
    各データ記憶手段について、当該データ記憶手段に対応付けられた計時手段が計時する経過時間と前記間隔記憶手段に記憶されている、当該データ記憶手段に割り当てられた種類のデータについての受信間隔に関する情報とに基づいて、当該データ記憶手段に割り当てられたデータと同種のデータを次に受信するまでの第1時間を算出し、前記受信手段が受信したデータの種類についての前記間隔記憶手段の受信間隔に関する情報に基づいて、当該データを受信してから、当該データと同種のデータを受信するまでの第2時間を算出し、第2時間がいずれの第1時間よりも長い場合には否定的な判定を行い、第2時間がいずれかの第1時間より短い場合には肯定的な判定を行い、
    肯定的な判定を行った場合に受信したデータを格納するデータ記憶手段は、第2時間より短い第1時間に係る種類のデータが記憶されていたデータ記憶手段である
    ことを特徴とする請求項1記載のバッファ管理装置。
  3. L種類のデータには、受信間隔が、第1間隔と、当該第1間隔よりも長い第2間隔との2種類ある間欠受信データが含まれており、
    前記間隔記憶手段が記憶する各間欠受信データの受信間隔に関する情報には、第1間隔を示す情報と第2間隔を示す情報とを含み、
    前記バッファ管理装置は、更に
    各間欠受信データについて、第1間隔で連続して受信する当該間欠受信データの数であるバースト数を記憶するバースト数記憶手段と、
    各間欠受信データに対応して、当該間欠受信データの受信数をカウントする複数のカウンタを備え、
    前記制御手段による間欠受信データについての第1時間及び第2時間の算出に用いる情報は、当該間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段に記憶されている値未満であるときには、前記第1間隔を示す情報であり、当該間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段に記憶されている値と一致するときは、前記第2間隔を示す情報であり、
    前記制御手段は、間欠受信データに対応するカウンタ値が、当該間欠受信データについてのバースト数記憶手段に記憶されている値を超えた場合には、当該カウンタ値を1にして、前記算出を行う
    ことを特徴とする請求項2記載のバッファ管理装置。
  4. 前記バッファ管理装置は、更に
    データの種類毎に、当該種類のデータの受信間隔を測定し、測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納する間隔算出手段を備える
    ことを特徴とする請求項2記載のバッファ管理装置。
  5. 前記間隔記憶手段は、N(N<L)種類のデータの受信間隔に関する情報を記憶可能であり、
    前記制御手段は、
    前記受信手段が受信したデータの種類についての受信間隔に関する情報が、前記間隔記憶手段に記憶されていない場合には、前記間隔算出手段に当該データの種類を示す情報を通知し、
    前記間隔算出手段は、
    前記制御手段から通知がなされた場合において、前記間隔記憶手段にN種類のデータの受信間隔に関する情報が記憶されていないときには、通知された情報が示す種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納し、前記間隔記憶手段にN種類のデータの受信間隔に関する情報が記憶されているときには、いずれか1種類のデータの受信間隔に関する情報に代えて、通知された情報が示す種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納する
    ことを特徴とする請求項4記載のバッファ管理装置。
  6. 前記バッファ管理装置は、前記L種類のデータを逐次受信し、外部に送信する処理を、複数のデータ列それぞれについて行うものであり、
    前記L種類のデータのうちの1種類のデータには、当該データが含まれるデータ列の識別情報が含まれており、
    前記間隔算出手段は、
    前記データの種類毎に、当該種類のデータの受信間隔を測定し、測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納する処理を、複数のデータ列それぞれについて行うものであり、
    前記間隔記憶手段は、受信し得るデータ列の数よりも少ないP個のデータ列について、L種類のデータの受信間隔に関する情報を記憶可能であり、
    前記制御手段は、
    前記受信手段が受信したデータにデータ列の識別情報が含まれている場合において、当該識別情報により識別されるデータ列についての各受信間隔に関する情報が、前記間隔記憶手段に記憶されていないときには、前記間隔算出手段に当該識別情報を通知し、
    前記間隔算出手段は、
    前記制御手段から通知がなされた場合において、前記間隔記憶手段にP個のデータ列についての各受信間隔に関する情報が記憶されていないときには、通知された識別情報が示すデータ列についての各種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納し、前記間隔記憶手段にP個のデータ列についての各受信間隔に関する情報が記憶されているときには、いずれか1個のデータ列についての各受信間隔に関する情報に代えて、通知された識別情報が示すデータ列についての各種類のデータの測定に応じた値を前記受信間隔に関する情報として前記間隔記憶手段に格納する
    ことを特徴とする請求項4記載のバッファ管理装置。
  7. L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置において用いられるバッファ管理方法であって、
    前記バッファ管理装置は、
    それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段と、
    データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段と、
    それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段とを備え、
    前記バッファ管理方法は、
    受信手段が、データを受信するステップと、
    制御手段が、前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、
    前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、
    前記受信手段が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、
    肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、
    否定的な判定をしたときは、受信したデータを外部に送信するステップとを含む
    ことを特徴とするバッファ管理方法。
  8. L(L>1)種類のデータを逐次受信し、外部に送信するバッファ管理装置に用いられるバッファ管理用集積回路であって、
    データを受信する受信手段と、
    それぞれが、バッファ領域を含み、当該バッファ領域に記憶しているデータと同種のデータ用に割り当てられるためのM(M<L)個のデータ記憶手段と、
    データの種類毎に、当該種類のデータの受信間隔に関する情報を記憶する間隔記憶手段と、
    それぞれが1つのデータ記憶手段と対応付けられ、対応するデータ記憶手段に最後にデータが記憶されてからの経過時間を計時するM個の計時手段と、
    制御手段とを備え、
    当該制御手段は、
    前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がある場合には、当該データ記憶手段に受信したデータを格納し、既定の条件に従って当該データ記憶手段に記憶されているデータを外部に送信し、
    前記受信手段が受信したデータと同種のデータに割り当てられたデータ記憶手段がなく、かつ、いずれの種類のデータにも割り当てられていないデータ記憶手段がある場合には、いずれの種類のデータにも割り当てられていないデータ記憶手段のうちの1つに受信したデータを格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、
    前記受信手段が受信したデータと異種のデータがいずれのデータ記憶手段にも割り当てられている場合には、各データ記憶手段に対応付けられた各計時手段が計時する経過時間と前記間隔記憶手段が記憶する情報に基づいて受信したデータを格納させるべきか否かを判定し、
    肯定的な判定をしたときは、少なくとも1つのデータ記憶手段に記憶されている全データを外部に送信して受信したデータを当該データ記憶手段に格納し、格納したデータと同種類のデータに当該データ記憶手段を割り当て、
    否定的な判定をしたときは、受信したデータを外部に送信する
    ことを特徴とするバッファ管理用集積回路。
JP2009543664A 2007-11-27 2008-11-27 バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路 Expired - Fee Related JP5180227B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009543664A JP5180227B2 (ja) 2007-11-27 2008-11-27 バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007305406 2007-11-27
JP2007305406 2007-11-27
PCT/JP2008/003488 WO2009069297A1 (ja) 2007-11-27 2008-11-27 バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路
JP2009543664A JP5180227B2 (ja) 2007-11-27 2008-11-27 バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路

Publications (2)

Publication Number Publication Date
JPWO2009069297A1 JPWO2009069297A1 (ja) 2011-04-07
JP5180227B2 true JP5180227B2 (ja) 2013-04-10

Family

ID=40678208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543664A Expired - Fee Related JP5180227B2 (ja) 2007-11-27 2008-11-27 バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路

Country Status (3)

Country Link
US (1) US7962674B2 (ja)
JP (1) JP5180227B2 (ja)
WO (1) WO2009069297A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917745B2 (en) * 2012-03-11 2014-12-23 Broadcom Corporation Channel bonding with orbital angular momentum
US9240956B2 (en) 2012-03-11 2016-01-19 Broadcom Corporation Communication system using orbital angular momentum
JP6037661B2 (ja) * 2012-05-28 2016-12-07 三菱電機株式会社 バッファ装置
US9160665B2 (en) * 2013-04-25 2015-10-13 Telefonaktiebolaget L M Ericsson (Publ) Method and system of transmission management in a network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002185418A (ja) * 2000-12-14 2002-06-28 Matsushita Electric Ind Co Ltd ストリーム多重分離装置
JP2005236363A (ja) * 2004-02-17 2005-09-02 Matsushita Electric Ind Co Ltd パケット分離装置
JP2005333474A (ja) * 2004-05-20 2005-12-02 Toshiba Corp フィルタリング装置及びデジタル放送受信装置
JP2007266778A (ja) * 2006-03-27 2007-10-11 Sanyo Electric Co Ltd 復調回路及びデジタル放送受信装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695936A (ja) 1992-09-16 1994-04-08 Nippon Telegr & Teleph Corp <Ntt> バッファ管理方法
JP2001186181A (ja) 1999-12-24 2001-07-06 Nec Eng Ltd キューバッファ制御装置およびキューバッファ制御方法
JP2001257716A (ja) 2000-03-10 2001-09-21 Matsushita Electric Ind Co Ltd デジタル信号多重分離装置
JP3623712B2 (ja) 2000-03-16 2005-02-23 日本電気エンジニアリング株式会社 バッファ制御システム及びその方法並びにその制御プログラム記録媒体
US6839717B1 (en) * 2001-10-15 2005-01-04 Ricoh Company, Ltd. Method and system of remote monitoring and support of devices, extracting data from different types of email messages, and storing data according to data structures determined by the message types
US7386690B2 (en) * 2004-04-29 2008-06-10 International Business Machines Corporation Method and apparatus for hardware awareness of data types

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002185418A (ja) * 2000-12-14 2002-06-28 Matsushita Electric Ind Co Ltd ストリーム多重分離装置
JP2005236363A (ja) * 2004-02-17 2005-09-02 Matsushita Electric Ind Co Ltd パケット分離装置
JP2005333474A (ja) * 2004-05-20 2005-12-02 Toshiba Corp フィルタリング装置及びデジタル放送受信装置
JP2007266778A (ja) * 2006-03-27 2007-10-11 Sanyo Electric Co Ltd 復調回路及びデジタル放送受信装置

Also Published As

Publication number Publication date
US20100017548A1 (en) 2010-01-21
JPWO2009069297A1 (ja) 2011-04-07
US7962674B2 (en) 2011-06-14
WO2009069297A1 (ja) 2009-06-04

Similar Documents

Publication Publication Date Title
KR100392546B1 (ko) 데이터 송신 시스템
JP5180227B2 (ja) バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路
EP0735776B1 (en) Decoder for compressed and multiplexed video and audio data
CN1222168C (zh) 信息包节目成分检测方法
US7751404B2 (en) Method, system, and computer program product for high performance bonding resequencing
EP2278803B1 (en) Data recording and reproducing method and system
US20060007958A1 (en) Multiplexing method and apparatus to generate transport stream
US8526458B1 (en) Framer and deframer for self-describing superframe
US8045582B1 (en) Variable bandwidth communication system
JP6635050B2 (ja) 分割データの受信システム
US9264754B2 (en) Packet synchronization receiver
KR20090017516A (ko) 데이터 송신 방법 및 장치
EP2096839A1 (en) Method and device for measuring bit error rate of tuner
KR0175570B1 (ko) Atm망의 정합을 위한 mpeg-2 ts 다중화장치
JP2012513139A (ja) 外部のコプロセッサを有するマルチプレクサにおいてトランスポートストリームを同期させる方法
US6690683B1 (en) Method and apparatus for demultiplexing a shared data channel into a multitude of separate data streams, restoring the original CBR
EP1499135A2 (en) Digital data multiplexing and demultiplexing
US6665266B1 (en) Method and apparatus for multiplexing a multitude of separate data streams into one shared data channel, while maintaining CBR requirements
WO2007007526A1 (ja) 映像ストリーム処理装置、集積回路装置、及び方法
JPH08275151A (ja) 多重化圧縮画像音声データの分配復号装置
US8111721B2 (en) Multiplexing apparatus and method
JPH10126371A (ja) 多重化装置及び多重化方法
EP2680595A1 (en) Apparatus and method thereof for multiplexing transport streams to a transport stream
KR100991122B1 (ko) 데이터 패킷 전송 방법 및 디바이스
Yu et al. RMTS: A Real-time Media Transport Stack Based on Commercial Off-the-shelf Hardware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R150 Certificate of patent or registration of utility model

Ref document number: 5180227

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees