(57)【特許請求の範囲】
【請求項１】
データを可変ビットレートで符号化可能なエンコーダからクロック信号に同期して出力されるストローブ信号に基づき、所定の処理期間における前記ストローブ信号の有効期間の合計を所定の単位期間で除して算出された商をストローブ信号関連情報として前記所定の処理期間毎に記録し、
前記所定の処理期間を計時しながら、前記記録したストローブ信号関連情報に前記所定の単位期間を乗じて算出される期間を有効期間として、かつ当該有効期間の後に無効期間が連続するように前記所定の処理期間に送信すべきストローブ信号を作成して送信すると共に、
前記エンコーダからストローブ信号と共に前記クロック信号に同期して出力されたストリームデータを記録し、
当該記録したストリームデータを前記ストローブ信号の送信に対応させて送信することを特徴とするデータ記録送信方法。
【請求項２】
前記所定の処理期間におけるストローブ信号の有効期間の合計を前記所定の単位期間で除した場合、前記ストローブ信号の有効期間の一部期間が余りとして算出された場合には、当該一部期間を次の処理期間におけるストローブ信号の有効期間に加算することを特徴とする請求項１に記載のデータ記録送信方法。
【請求項３】
前記ストローブ信号の全出力期間を前記所定の処理期間に区切った場合に区切ることが可能な最後の処理期間の後に出力されるストローブ信号の有効期間については、当該有効期間を示す値を直接記録することを特徴とする請求項１又は２に記載のデータ記録送信方法。
【請求項４】
前記所定の処理期間は、前記所定の単位期間の整数倍とすることを特徴とする請求項１〜３のいずれかに記載のデータ記録送信方法。
【請求項５】
データを可変ビットレートで符号化可能なエンコーダからクロック信号に同期して出力されるストリームデータを記録するストリームデータ記録手段と、
前記クロック信号に基づいて所定の単位期間の整数倍である所定の処理期間を計時する計時手段と、
前記エンコーダから前記ストリームデータと共に前記クロック信号に同期して出力される前記ストローブ信号の有効期間を順に加算し、その和が所定の単位期間となる毎に、当該単位期間となったことを判断し、当該判断の回数を計数する計数手段と、
前記計時手段による前記所定の処理期間の計時の終了時点で、前記計数手段によって計数された前記判断回数を記録して初期化する記録初期化手段と、
クロック信号を出力するクロック信号出力手段と、
前記クロック信号出力手段によって出力されるクロック信号に基づいて前記所定の処理期間を計時する所定処理期間計時手段と、
前記記録初期化手段によって記録された判断回数を読み出し、当該読み出した判断回数に前記所定の単位期間を乗じて算出される期間を有効期間として算出する有効期間算出手段と、
前記所定処理期間計時手段により計時される前記所定の処理期間に送信すべきストローブ信号であって、前記有効期間算出手段によって算出された有効期間及び当該有効期間に続く無効期間で構成されるストローブ信号を作成して送信するストローブ信号送信手段と、
前記ストローブ信号送信手段によって送信されるストローブ信号に対応して、前記ストリームデータ記録手段によって記録されたストリームデータを送信するストリームデータ送信手段と、
を備えたことを特徴とするデータ記録送信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルデータの送信に関し、より詳細には、デジタル圧縮画像の可変ビットレートによるデータ記録・送信の技術に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
従来、ＭＰＥＧ（Moving Picture Image Coding Experts Group）に代表される画像圧縮方式で可変ビットレート（ＶＢＲ）符号化と呼ばれる手法がある。可変ビットレート符号化では、例えば、再生される画像データに対して、ある画像から次の画像への差分が大きい場合は高レートで、一方、差分が小さい場合は低レートで符号化する。これにより、画質を落とすことなく平均的なビットレートを下げることができ、結果として固定ビットレート（ＣＢＲ）符号化と呼ばれる手法に比べて高画質となる。
【０００３】
ところで、ＭＰＥＧに代表される画像圧縮方式は、一般的に蓄積系及び通信系の２つに応用される。もちろん、上述の可変ビットレート符号化の手法も主として蓄積系及び通信系の２つに応用されている。蓄積系への応用としては、例えばハードディスクやＣＤ−ＲＯＭ等の媒体に画像データを記録するということが考えられる。一方、通信系への応用としては、例えば、画像データを無線又は有線の送信路を介して送信し、送信先でリアルタイムにその画像データを再生するということが考えられる。
【０００４】
しかし、蓄積系への応用で、ハードディスク等に記録した画像データを再度通信系へ応用しようとした場合、後述の問題が生じる。この問題点を説明するために、まず可変ビットレート符号化が可能なエンコーダからの出力を詳しく説明する。
【０００５】
画像データを圧縮し、可変ビットレート符号化が可能なエンコーダでは、元の画像のタイムコードによりビットレートを変化させながら符号化を行う。このようなエンコーダは、一般的に、一定周期のクロック信号と、そのクロック信号に同期して出力されるビット単位で符号化されたストリームデータと、そのストリームデータの有効期間を示すストローブ信号との３つの信号を出力する。そして、このストローブ信号のデューティー比によって可変ビットレートを実現している。３つの信号の中でクロック信号及びストローブ信号は実質的に画像に関連したデータではない。
【０００６】
この３つの信号を図１０に基づいて説明する。図１０は、クロック信号、ストリームデータ及びストローブ信号を示している。図１０において、ストローブ信号がｈｉｇｈレベルである期間（図１０中の期間Ｔ１及びＴ２）が有効なストリームデータが出力されている期間である。また、ストローブ信号の有効期間（図１０中では期間Ｔ１及びＴ２）の長さによってビットレートが変化することになる。例えば、図１０中での一定期間Ｔ３及びＴ４（Ｔ３＝Ｔ４）を考えると、期間Ｔ３における期間Ｔ１は、期間Ｔ４における期間Ｔ２よりも長くなっている。つまり、期間Ｔ３は期間Ｔ４に対してビットレートが高い。
【０００７】
後述の問題点を説明するため、次に、蓄積系へ可変ビットレート符号化が応用される場合のエンコーダからの信号の記録方法を説明する。例えばハードディスクやＣＤ−ＲＯＭ等の媒体へエンコーダからの出力を記録することを考える。このとき、エンコーダから出力される上述の３つの信号、すなわちクロック信号、ストリームデータ及びストローブ信号の中でストリームデータのみが記録される。その理由は、ストリームデータを解析することでビットレートの変化を認識できるためである。従って、可変ビットレートの変化を示すストローブ信号を記録しなくてもよい。つまり、再生の際には、デコーダがストリームデータを解析し、そのストリームデータのビットレートの変化を認識し、適当なタイミングでＣＤ−ＲＯＭ等の媒体からストリームデータを読み出すのである。なお、記録するストリームデータは、ストリームデータの有効分のみ（図１０中では期間Ｔ１及びＴ２）を記録すれば十分である。
【０００８】
上述のように、従来は、例えばハードディスクやＣＤ−ＲＯＭ等の媒体へエンコーダからの出力を記録する場合、ストリームデータのみが記録され、ストローブ信号は記録されない。
以下、ハードディスク等に記録した画像データを再度通信系へ応用した場合の問題点を説明する。例えば、媒体へ一旦記憶したストリームデータを送信して、送信先でリアルタイムに画像を再生するような場合を例に挙げる。この場合、送信先ではデコーダを用いて再生するのであるから、送信されたストリームデータのビットレートの変化は認識できる。しかし、送信元ではストローブ信号がないため、ストリームデータの送信タイミングが分からない。このため、デコーダがストリームデータを読み出す際に、該当するストリームデータが送信先のバッファに送信されてきていないという状況が起こる可能性がある。逆に、デコーダが必要とするタイミング以上の速度でストリームデータが送信され、送信先のバッファが飽和してしまうという可能性もある。
【０００９】
このような問題点を解決する方法として次の２つの方法が考えられる。
第１番目の方法としては、送信元にもデコーダを設けることにより、ストリームデータ内部を解析し、ビットレートの変化を認識してストリームデータを送信する方法である。しかし、この方法によると、送信元の送信装置の構成が複雑になるという問題がある。
【００１０】
第２の方法としては、エンコーダから出力されるストローブ信号を記録するという方法である。しかし、ストローブ信号をそのまま記録しようとすれば、記憶容量が膨大となってしまうためあまり実用的ではなかった。ここで、記憶容量が膨大となってしまう理由を、図１１，図１２に基づいて説明する。
【００１１】
ストローブ信号をそのまま記録する場合、ストローブ信号は、ストローブ信号の有効期間と無効期間との比が送信タイミングを示すものとなるため、図１１中に期間Ｔ６，Ｔ８で示される有効ストローブ信号と共に、図１１中に期間Ｔ５，Ｔ７，Ｔ９で示される無効ストローブ信号も記録しなければならない。従って、ストリームデータの有効分よりも大きなストローブ信号を記録することになる。それに加えて、ストローブ信号をそのまま記録することを考えると、ストローブ信号の出力ビット数だけの記憶容量が必要となる。
【００１２】
そこで、ランレングス符号化と呼ばれる方法を用いて記録する方法がある。この場合には同じストローブ信号が連続する長さを記録する。図１２に示すように、ストローブ信号の無効期間が長さ２、ストローブ信号の有効期間が長さ９、ストローブ信号の無効期間が長さ１１、ストローブ信号の有効期間が長さ５、ストローブ信号の無効期間が長さ５という具合いである。この方法によれば、ストローブ信号の有効期間が２００ビット続く場合、そのまま記録すれば２００ビットの記憶容量が必要であるが、長さ２００を記録するため、８ビットの２進数（０〜２５５を表現できる）を利用すれば事足りることになる。しかし、例えば、ストローブ信号が短いビット数で有効期間・無効期間を繰り返し反転すると、記憶容量が増大してしまう。
【００１３】
本発明は、上述の第２の方法を工夫するものであり、蓄積系への応用として記録したデータを再度通信系へ利用することを目的とする。
【００１４】
【課題を解決するための手段及び発明の効果】
上述の目的を達成するためになされた請求項１に記載のデータ記録送信方法は、データを可変ビットレートで符号化することが可能なエンコーダからクロック信号に同期して出力されるストローブ信号に基づいて、所定の処理期間におけるストローブ信号の有効期間の合計を所定の単位期間で除して算出された商をストローブ信号関連情報として所定の処理期間毎に記録し、所定の処理期間を計時しながら、記録したストローブ信号関連情報に所定の単位期間を乗じて算出される期間を有効期間として、かつその有効期間の後に無効期間が連続するように所定の処理期間に送信すべきストローブ信号を作成して送信すると共に、エンコーダからストローブ信号と共にクロック信号に同期して出力されたストリームデータを記録し、その記録したストリームデータをストローブ信号の送信に対応させて送信することを特徴としている。
【００１５】
上述の従来技術に示したように、ストローブ信号は、ストリームデータの送信タイミングを知るためのものであり、データを可変ビットレートで符号化することが可能なエンコーダからクロック信号に同期して、ストリームデータと共に出力される。ところが、ストローブ信号をそのまま記録しようとすると記憶容量が膨大となってしまうため、従来はストリームデータのみを記録していた。そのため、一旦、ハードディスク等の記録媒体に記録されたストリームデータは、デコーダによる解析を行わなければ、送信タイミングがわからなくなってしまっていた。
【００１６】
そこで、本発明のデータ記録送信方法では、ストローブ信号をストローブ信号関連情報に変換することによって少ない記憶容量で記録し、送信の際には、記録したストローブ信号関連情報に基づき新たにストローブ信号を作成して送信するのである。また、それと共にストリームデータを記録し、ストローブ信号の送信に対応させて送信するのである。
【００１７】
ここで、ストローブ信号に係る作用について詳しく説明する。
本発明のデータ記録送信方法では、ストローブ信号の有効期間を所定の処理期間毎に合計し、それを所定の単位期間で割った商をストローブ信号関連情報として所定の処理期間毎に記録する。
【００１８】
そして、送信の際には、ストローブ信号関連情報に所定の単位期間を掛けた期間を有効期間とするストローブ信号を作成する。もちろん、このストローブ信号は所定の処理期間毎に送信するものである。但し、エンコーダからのストローブ信号の有効期間が所定の処理期間中のどの期間であったかは、ストローブ信号関連情報からは判断できない。そこで、所定処理期間の開始時点から有効期間が連続し、その後、その所定処理期間の終了時点まで無効期間が連続するようなストローブ信号を作成する。そして、所定の処理期間を計時しながらストローブ信号を送信する。なお、ここでいう「期間」は、クロック信号に基づく時間で判断してもよいし、便宜上ストローブ信号のビット数で判断してもよい。
【００１９】
以上説明した作用により発揮される効果を、以下▲１▼〜▲４▼で詳しく説明する。
▲１▼ストローブ信号関連情報を所定の処理期間毎に記録することによって、有効期間に関する情報のみを記録すればよく、無効期間に関する情報を記録する必要がなくなる。なぜなら、ある処理期間の有効期間がわかれば無効期間は自ずとわかるからである。
【００２０】
これによって、上述の図１１，図１２の例に示したようなストローブ信号の無効期間に関する情報を記録する方法に比べて、ストローブ信号の無効期間分の記憶容量が削減できる。
▲２▼所定の処理期間のストローブ信号の有効期間を合計したことによって、ストローブ信号が、有効期間、無効期間を何度も繰り返し反転するような場合であっても、記憶容量が変わらない。
【００２１】
例えば、上述の図１１に示したような方法では有効期間、無効期間をストローブ信号が反転する毎に記録することになるために、ストローブ信号の反転によって記憶容量が増える結果となっていた。それに対して、この場合は、ストローブ信号の有効期間を合計しており、ストローブ信号が反転する回数によって記憶容量が増えるようなことがなくなる。
【００２２】
▲３▼所定の処理期間におけるストローブ信号の有効期間の合計を、所定の単位期間で割ることによって、ストローブ信号の出力期間に比例する記憶容量の増大は生じない。ここでは、説明上「期間」をエンコーダから出力されるストローブ信号のビット数で説明する。例えば、図８（ｂ）に示すようにエンコーダからのストローブ信号の有効期間の合計が３００ビット、２００ビット、１００ビットのとき、そのまま記録すれば、それぞれ３００ビット、２００ビット、１００ビットという有効期間に比例する記憶容量が必要になる。ところが、所定の単位期間を１００ビットとすれば、「３」、「２」、「１」という数値で記憶されることになり、その数値を記録するだけの記憶容量でよくなる。例えば、ランレングス符号化は、所定の単位期間を１ビットとしたものと考えられる。
【００２３】
▲４▼所定の処理期間で見れば、送信されるストローブ信号の有効期間は、エンコーダから出力されたストローブ信号の有効期間の合計と変わらない。例えば、図８（ｂ）に示すように、送信されるストローブ信号は、所定の処理期間Ｅに３００ビット、所定の処理期間Ｆに２００ビット、所定の処理期間Ｇに１００ビットとなる。
【００２４】
これによって、所定の処理期間に対する有効期間の割合は変わらない。すなわち、各処理期間でのビットレートは同じとなる。但し、Ｅ〜Ｇの各処理期間に送信するストローブ信号（図８（ｂ）参照）の有効期間は、エンコーダから出力されたストローブ信号（図８（ａ）参照）の有効期間と比べてずれが生じる。しかし、送信先のデコーダで再生する上で問題は生じない。その理由は、送信先のデコーダが読み出すタイミングで該当するストリームデータが送信先のバッファに送信されておればよいからである。
【００２５】
以上、▲１▼〜▲３▼に示したように、極めて少ない記憶容量で送信タイミングを維持するためのストローブ信号関連情報が記録できると共に、▲４▼に示したように、送信するデータを送信先でリアルタイムに再生することができる。すなわち、蓄積系への応用としてハードディスク等に一旦記録されたストリームデータを再度通信系へ利用することが可能となる。
【００２６】
ところで、本発明では、所定の処理期間に出力されるストローブ信号の有効期間を所定の単位期間で割った商は整数でもよいし、あるいは、条件によっては小数でもよい。条件というのは、ある桁数以下の切捨てや切上げ等の処理である。なぜなら、小数点以下の桁数が多くなると記憶容量が大きくなるからである。しかし、切捨てや切上げ等の処理を行うと誤差が発生することになる。従って、商は整数で扱うことが望ましい。
【００２７】
整数で扱うことを考えると、余りが出ることが考えられる。そこで、請求項２に示すように、所定の処理期間におけるストローブ信号の有効期間の合計を所定の単位期間で除した場合、ストローブ信号の有効期間の一部期間が余りとして算出された場合には、その一部期間を次の処理期間におけるストローブ信号の有効期間に加算してもよい。例えば、図８における処理期間Ｅでストローブ信号の有効期間が３５０ビットであるとすると、所定単位期間１００ビットで割った余りとしての５０ビットは処理期間Ｆで出力されるストローブ信号の有効期間２００ビットに加算して、処理期間Ｆで出力されるストローブ信号の有効期間を２５０ビットとしてもよい。
【００２８】
また、ストローブ信号の全出力期間が所定の処理期間の整数倍となっていない場合が考えられる。このときは、所定の処理期間で区切ることのできない最後の処理期間が存在する。ストローブ信号の全出力期間が所定の処理期間の整数倍となっている場合であっても、最後の所定の処理期間に余りとなった有効ストローブ信号が出て、次の処理期間に出力されることも考えられる。そこで、請求項３に示すように、ストローブ信号の全出力期間を所定の処理期間に区切っていくと、区切ることが可能な最後の所定処理期間の後に出力されるストローブ信号の有効期間については、当該有効期間を示す値を直接記録してもよい。
【００２９】
例えば、図８に示した例で考えると、ストローブ信号が１９００ビット出力された場合、所定期間Ｃの後に１００ビットの所定期間に満たない期間ができる。このとき、この１００ビットの期間中７０ビットの有効期間であったとすると、「７０」という数値を記録してもよい。また、図８中の所定期間Ｇでストローブ信号の有効期間が１５０ビットのときには、端数５０ビットの有効期間は最後の所定期間Ｇの後に出力されたものとして考えることができる。このとき、その５０ビットのストローブ信号の有効期間を「５０」で記録してもよい。
【００３０】
ところで、請求項４に示すように、所定の処理期間は、所定の単位期間の整数倍とするとよい。その理由は、例えば、制御する上で端数のビット数が出てくることがなくなり、この制御を例えば回路で構成する場合にはその回路構成が簡単になる。例えば、図８に示した例で、所定単位期間を８０ビットとした場合、６００ビットの所定の処理期間を計時するのに、８０ビットずつ７回計時（５６０ビット）した後に４０ビットの端数を計時しなければならないというようなことがなくなる。
【００３１】
以上説明したデータ記録送信方法をデータ記録送信装置として構成した場合、請求項５に示すような構成が考えられる。すなわち、データを可変ビットレートで符号化することが可能なエンコーダからクロック信号に同期して出力されるストリームデータを記録するストリームデータ記録手段と、クロック信号に基づいて所定の単位期間の整数倍である所定の処理期間を計時する計時手段と、エンコーダからストリームデータと共にクロック信号に同期して出力されるストローブ信号の有効期間を順に加算し、その和が所定の単位期間となる毎に、その単位期間となった時点を判断し、その判断の回数を計数する計数手段と、計時手段による所定の処理期間の計時の終了時点で、計数手段によって計数された判断回数を記録し、その判断回数を初期化する記録初期化手段と、クロック信号を出力するクロック信号出力手段と、クロック信号出力手段によって出力されるクロック信号に基づいて所定の処理期間を計時する所定処理期間計時手段と、記録初期化手段によって記録された判断回数を読み出し、その読み出した判断回数に所定の単位期間を乗じて算出される期間を有効期間として算出する有効期間算出手段と、所定処理期間計時手段により計時される所定の処理期間に送信すべきストローブ信号で、有効期間算出手段によって算出された有効期間と、その有効期間に続く無効期間で構成されるストローブ信号を作成して送信するストローブ信号送信手段と、ストローブ信号送信手段によって送信されるストローブ信号に対応して、ストリームデータ記録手段によって記録されたストリームデータを送信するストリームデータ送信手段とを備えたことを特徴とするデータ記録送信装置である。
【００３２】
本発明のデータ記録送信装置によれば、可変ビットレートで符号化されたデータを記録し、記録されたデータを送信する。以下、（１）でデータ記録における作用を説明し、（２）でデータ送信における作用を説明する。
（１）最初にデータ記録における作用を説明する。まず、ストリームデータ記録手段は、エンコーダから出力されるクロック信号に同期して出力されるストリームデータを記録する。エンコーダから出力されるストリームデータには、上述のように有効なストリームデータと無効なストリームデータとがあるが、有効なストリームデータだけを記録するのが望ましい。なぜなら、記憶容量が小さくなり、例えばＣＤ−ＲＯＭ等の一定サイズの媒体へ記録する場合等、より多くのデータを記憶できるからである。なお、有効なストリームデータと無効なストリームデータとの両方を記録することも考えられる。
【００３３】
計時手段は、エンコーダから出力されるクロック信号に基づいて所定の単位期間の整数倍である所定の処理期間を計時する。計数手段は、エンコーダからストリームデータと共にクロック信号に同期して出力されるストローブ信号の有効期間を順に加算する。そして、その加算による和が所定の単位期間となる毎に、その時点を判断し、その判断の回数を計数する。そして、記録初期化手段が、計時手段により所定処理期間の計時が終了した時点で判断回数を記録して初期化する。なお、ここでいう「初期化」とは、次に有効ストローブ信号が所定の単位期間出力されたと判断された時に、判断回数が「１」となるようにするということである。
【００３４】
ここで、図９（ａ）に示すタイムチャートに基づいて上述のデータ記録における作用を詳しく説明し、その結果としてストローブ信号の記憶に要する容量が少なくなることを説明する。なお、図９（ａ）では、所定の単位期間を４００ビット、所定の処理期間を６４００ビットとする。この場合、便宜上、「期間」をストローブ信号のビット数で扱うものとする。
【００３５】
図９（ａ）には、エンコーダから出力されるストローブ信号及びストリームデータが示されている。図９（ａ）では、期間［ｔ０〜ｔ４］、期間［ｔ５〜ｔ７］及び期間［ｔ９〜ｔ１１］がストローブ信号の有効期間である。対応するストリームデータもこれらの期間で有効となっている。
【００３６】
ここで、ストリームデータ記録手段は、有効なストリームデータを記録するものとする。すなわち、上述の期間［ｔ０〜ｔ４］，［ｔ５〜ｔ７］，［ｔ９〜ｔ１１］で出力されるストリームデータを記録する。
このとき、計時手段は６４００ビットの所定の処理期間をクロック信号に基づいて計時する。図９（ａ）中では、期間［ｔ０〜ｔ８］及び期間［ｔ８〜ｔ１２］が所定の処理期間である。
【００３７】
そして、計数手段は、ストローブ信号の有効期間を順に加算して、４００ビットとなる毎に、その時点を判断し、判断回数を計数する。ところで、図９（ａ）では、期間［ｔ０〜ｔ１］，［ｔ１〜ｔ２］，［ｔ２〜ｔ３］，［ｔ１０〜ｔ１１］がそれぞれ４００ビット、期間［ｔ３〜ｔ４］，［ｔ５〜ｔ６］，［ｔ６〜ｔ７］，［ｔ９〜ｔ１０］がそれぞれ２００ビットである。従って、４００ビット出力されたという判断が行われる時点は、時刻ｔ１，ｔ２，ｔ３，ｔ６，ｔ１０，ｔ１１となる。
【００３８】
このとき、記録初期化手段は計時手段による所定期間の計時の終了時点で判断回数を記録して初期化する。つまり、図９（ａ）では、時刻ｔ８及びｔ１２で判断回数を記録して初期化する。時刻ｔ８における判断回数は、時刻ｔ１，ｔ２，ｔ３，ｔ６の４回となるので「４」が記録される。ここで、一旦初期化されるため、時刻ｔ１０で新たに判断回数は「１」となり、ｔ１２で記録される判断回数は「２」となる。つまり、４００ビットのストローブ信号をひとかたまりとして、６４００ビット毎にそれがいくつあるかを記録するのである。
【００３９】
この方法によれば、例えば６４００ビットのストローブ信号が出力される間、全てのストローブ信号が有効であった場合、最大値「１６」（６４００÷４００）が記録され、全てのストローブ信号が無効であった場合、最小値「０」が記録される。すなわち、６４００ビット毎に「０」〜「１６」を表現できる２進数、例えば５ビットの２進数を記録できる記憶容量が必要となるのみである。すなわち、そのまま記録すれば６４００ビット必要となる記憶容量が、この例では５ビットもあれば十分となる。また、６４００ビットの間にストローブ信号が有効・無効を何度変化しても関係ない。すなわち、上述のランレングス符号化の方法のようにストローブ信号の影響を受けない。
【００４０】
（２）次に、データ送信における作用を説明する。クロック信号出力手段は、ストリームデータ及びストローブ信号を送信するためのクロック信号を出力する。そして、所定処理期間計時手段はクロック信号に基づき上述の所定処理期間を計時する。
【００４１】
有効期間算出手段は、記録された上述の判断回数を読み出し、その読み出した判断回数と前記所定の単位期間とを掛け合わせ、有効期間を算出する。そして、ストローブ信号送信手段は、所定の処理期間に送信すべきストローブ信号で、かつ、算出した有効期間と、その有効期間に続く無効期間で構成されるようなストローブ信号を作成して送信する。ストリームデータ送信手段は、送信されるストローブ信号に対応して記録されたストリームデータを送信する。
【００４２】
ここで、図９（ｂ）に示すタイムチャートに基づいて上述のデータ送信における作用を詳しく説明し、通信系への応用として送信先へ記録したデータを送信し、再生することが可能であることを説明する。図９（ｂ）は、送信されるストローブ信号及びそのストローブ信号に対応して送信されるストリームデータを示している。
【００４３】
所定処理期間計時手段は、クロック信号出力手段により出力されたクロック信号に基づいて所定の処理期間を計時する。上述の図９（ａ）の例に対応させて所定の単位期間を４００ビット、所定の処理期間を６４００ビットとすると、図９（ｂ）中の期間［ｔ１３〜ｔ１５］及び期間［ｔ１５〜ｔ１７］が所定の処理期間となる。
【００４４】
有効期間算出手段は、記録された判断回数と所定の単位期間である４００ビットとを掛け合わせ有効期間を算出する。つまり、図９（ａ）では、最初の所定処理期間で判断回数「４」が記録され、次の所定処理期間で判断回数「２」が記録された。そこで、４００ビット×４＝１６００ビット、４００ビット×２＝８００ビットを有効期間として算出する。
【００４５】
そして、図９（ｂ）に示すように、ストローブ信号送信手段は、所定の処理期間に送信すべきストローブ信号を、この場合、１６００ビットの有効期間、それに続く４８００ビットの無効期間という構成で１つ作成し、８００ビットの有効期間、それに続く５６００ビットの無効期間という構成で１つ作成して、時刻ｔ１３から最初のストローブ信号を送信し、時刻ｔ１５から次のストローブ信号を送信する。
【００４６】
ストリームデータ送信手段は、有効ストローブ信号の送信に対応させて記録した有効分のストリームデータを送信する。図９（ｂ）中では期間［ｔ１３〜ｔ１４］，［ｔ１５〜ｔ１６］で記録した有効分のストリームデータを送信する。
これによれば、ストリームデータの送信タイミングは、エンコーダからの出力タイミングと比べてずれが生じることになる。例えば、図９（ａ）の期間［ｔ５〜ｔ６］で出力されたストリームデータＢは、図９（ｂ）ではストリームデータＡの送信に連続して送信されることになる。また、図９（ａ）の期間［ｔ６〜ｔ７］で出力されたストリームデータＣは、図９（ｂ）では時刻ｔ１５より送信されることになる。さらに、図９（ａ）の期間［ｔ９〜ｔ１１］で送信されたストリームデータＤは、図９（ｂ）ではストリームデータＣの送信に連続して送信されることになる。
【００４７】
ところが、データを再生する上で問題は生じない。その理由を説明する。
従来、ストローブ信号が記録されることはなかったために、送信タイミングがわからず、送信先のデコーダが読み出そうとするタイミングで送信先のバッファへ、該当するストリームデータを送信できないことが再生のできない理由であった。つまり、エンコーダの出力と全く同じタイミングで送信する必要はなく、送信先のデコーダが読み出そうとするタイミングで送信先のバッファへ該当するストリームデータを送信できていればよいのである。このようなずれの許容範囲は、送信先のバッファの記憶容量に依存することになる。
【００４８】
以上、（１）及び（２）で説明したように、本発明のデータ記録送信装置によれば、ストローブ信号を小さな記憶容量で記憶でき、それに基づいてストリームデータを送信することによって、一旦記憶したストリームデータであっても、データを送信し、その送信先においてリアルタイムに再生することができる。一旦蓄積系への応用として記録したデータを、再び通信系へ応用することが可能となる。
【００４９】
【発明の実施の形態】
以下、本発明の一実施形態について図面を参照して説明する。
図１は、本実施形態のデータ記録送信装置１の概略構成を示すブロック図である。
【００５０】
データ記録送信装置１は、データ保持回路１０と、データ送信回路２０と、データ記録送信装置１全体を制御する制御部５０と、データ記録送信装置１にハードディスクドライブ（以下「ＨＤＤ」と記載する）７０を接続するためのディスクインターフェース６１と、データ記録送信装置１に、例えばＣＤ−ＲＯＭライタ等を接続する入出力インターフェース６２とを備えている。
【００５１】
制御部５０は、制御手段としてのＣＰＵ５１と、プログラム記憶手段としてのＲＯＭ５２と、一時記憶手段としてのＲＡＭ５３とを備えている。ＣＰＵ５１は、ＲＯＭ５２に予め記憶されているプログラムに基づいて後述するようなデータの記録及び読出処理を行う。このデータ記録及び読出処理を実行する際、ＲＡＭ５３はワークエリアとして機能する。
【００５２】
データ保持回路１０は、データを可変ビットレートで符号化可能なエンコーダ８０と接続されている。エンコーダ８０には、端末８２及びビデオ装置８５が接続されており、エンコーダ８０は、ビデオ装置８５から出力される映像データをエンコードしてクロック信号、ストローブ信号及びストリームデータを出力する。このときのビットレートは端末８２によって指示される。例えば、図１４に示すようなタイムコードとビットレートの対応を示すタイムテーブル８３が端末８２内に用意されており、ビデオ装置８５の映像データのタイムコードに対応するビットレートが指示されることになる。
【００５３】
データ保持回路１０は、エンコーダ８０からのクロック信号、ストローブ信号及びストリームデータの３つのデータに基づいて、ストローブ信号関連情報及び有効なストリームデータを取り出し保持する。なお、ストローブ信号及びストリームデータは、クロック信号に同期して出力される。有効なストリームデータはストローブ信号の有効期間に対応して出力される。
【００５４】
制御部５０は、データ保持回路１０によるストローブ信号関連情報及び有効なストリームデータの取り出しに並行して、保持されたストローブ信号関連情報及び有効なストリームデータをデータ保持回路１０より読み出し、ＨＤＤ７０に記録する。また、ＨＤＤ７０に記録されたストローブ信号関連情報及び有効なストリームデータを読み出し、ストローブ信号関連情報からストローブ信号の有効期間を算出して、算出したストローブ信号の有効期間及びストリームデータをデータ送信回路２０へ順次転送する。
【００５５】
データ送信回路２０は、制御部５０によって転送されてくるストローブ信号の有効期間に基づき新たにストローブ信号を作成し、送信路９４を介して再生装置９０へ送信すると共に、制御部５０によって転送されてくるストリームデータをそのストローブ信号に対応させ、送信路９４を介して再生装置９０へ送信する。
【００５６】
再生装置９０は、データ送信回路２０から送信されたデータを一時的に記録するバッファ９１と、バッファ９１に送信されてきたストリームデータを解析して再生するデコーダ９２と、再生映像を映し出すモニタ９３とを備えている。
このように本実施形態のデータ記録送信装置１は、エンコーダ８０からの可変ビットレートで出力されるデータを、一旦ＨＤＤ７０へ記録し、後に再び送信先の再生装置９０でリアルタイムに再生できるように、記録したデータを送信するものである。また、本実施形態のデータ記録送信装置１は、入出力インターフェース６２を介して、従来通りＣＤ−ＲＯＭ等の記憶媒体に有効なストリームデータのみを記録することもできる。
【００５７】
次に、本実施形態のデータ記録送信装置１の特徴であるデータ保持回路１０、データ送信回路２０及び制御部５０に関して詳しく説明する。なお、（イ）でデータ保持回路１０の構成及び機能、（ロ）で制御部５０によるデータ保持回路１０からのデータ記録処理と、それに伴うデータ保持回路１０の動作、（ハ）でデータ送信回路２０の構成及び機能、（ニ）で制御部５０によるデータ送信回路２０へのデータ転送処理とそれに伴うデータ送信回路２０の動作を説明する。また、以下の説明では「所定の処理期間」として６４００ビット、「所定の単位期間」として４００ビットという具体的数値を用いることとする。
【００５８】
（イ）図２に示す回路図に基づいてデータ保持回路１０の構成及び機能を説明する。
データ保持回路１０は、エンコーダ８０からのクロック信号に基づき６４００ビットの処理期間を計測する「計時手段」としてのＴカウンタ１０１と、ストローブ信号がイネーブル端子に入力され、クロック信号に基づきストローブ信号の有効期間をカウントするｒカウンタ１０３と、ｒカウンタ１０３から４００ビット毎に出力されるアクティブな信号によりカウントアップするｈカウンタ１０４と、Ｔカウンタ１０１から６４００ビット毎に出力されるアクティブな信号を保持するラッチ１０２と、Ｔカウンタからアクティブな信号が出力されると、ｈカウンタ１０４の値を保持するラッチ１０５とを備えている。
【００５９】
ｒカウンタ１０３は、ストローブ信号の有効期間を計時し、４００ビット毎にｈカウンタ１０４に対してアクティブな信号を出力する。ｈカウンタ１０４の計数値はＴカウンタ１０１が６４００ビット毎に出力するアクティブな信号によってラッチ１０５に保持される。これによって、６４００ビットの所定期間におけるストローブ信号の有効期間の合計を４００ビットの単位期間で割った整数商がラッチ１０５に保持されることになる。すなわち、ラッチ１０５に保持されるｈカウンタ１０４の値が「ストローブ信号関連情報」となる。ｈカウンタ１０４の計数値がラッチ１０５に保持されると、その直後にｈカウンタ１０４はクリアされて０となる。ｒカウンタ１０３及びｈカウンタ１０４は「計数手段」に相当する。なお、ラッチ１０２にアクティブな信号が保持されるとラッチ１０５に保持されたストローブ信号関連情報を読み出せるよう構成されており、ラッチ１０５に保持されたストローブ信号関連情報が制御部５０により読み出されるとクリアされる。
【００６０】
また、データ保持回路１０は、制御部５０からのアクセスを管理するアドレスデコーダ１０６と、ストリームデータを８ビット単位にするシフトレジスタ１０９と、クロック信号に基づき８ビット毎にアクティブな信号を出力する８ビットカウンタ１０７と、８ビットカウンタ１０７から８ビット毎に出力されるアクティブな信号を保持するためのラッチ１０８と、８ビットカウンタからアクティブな信号が出力されると、シフトレジスタ１０９に入力されたストリームデータを保持するラッチ１１０とを備えている。
【００６１】
アドレスデコーダ１０６は、アドレスバスに接続されており、制御部５０からアクセスがあると対応するデータがデータバス上に出力されるよう構成されている。ラッチ１０８は、ラッチ１１０に保持されたストリームデータが制御部５０により読み出されるとクリアされる。
【００６２】
８ビットカウンタ１０７及びシフトレジスタ１０９のイネーブル端子には、ストローブ信号が入力されておりストローブ信号の有効期間に対応して動作するよう構成されている。これによって、シフトレジスタ１０９に入力されるストリームデータは有効なストリームデータのみとなる。
【００６３】
（ロ）次に制御部５０によるデータ保持回路１０からのデータ記録処理と、それに伴うデータ保持回路１０の動作を説明する。なお、制御部５０によるデータ記録処理は図３のフローチャートに基づいて説明し、データ保持回路１０の動作は図２の回路図に基づいて説明する。
【００６４】
まず、最初のステップＳ１０００において、ストリームデータを記録するためのファイルをオープンする。続くＳ１０１０では、ストローブ信号関連情報を記録するためのファイルをオープンする。なお、ストリームデータを記録するためのファイル及びストローブ信号関連情報を記録するためのファイルは、ＨＤＤ７０に用意されている。
次に、Ｓ１０２０では図２中のラッチ１０８にアクティブな信号が保持されているか否かを判断する。この処理は、ストリームデータが図２中のラッチ１１０に保持されているか否かを判断するための処理である。クロック信号に同期して８ビット分のストリームデータがシフトレジスタ１０９に入力され、８ビットカウンタ１０７からのアクティブな信号により、ラッチ１１０にその８ビットのストリームデータが保持され、８ビットカウンタ１０７からのアクティブな信号がラッチ１０８に保持される。
【００６５】
Ｓ１０２０で肯定判断された場合、すなわちラッチ１０８にアクティブな信号が保持されている場合には、Ｓ１０３０にてラッチ１１０に保持されている８ビット分のストリームデータを読み出して、Ｓ１０４０にてＨＤＤ７０中のストリームデータを記録するためのファイルに記録する。そして、Ｓ１０５０へ移行する。一方、Ｓ１０２０で否定判断された場合、すなわちラッチ１０８にアクティブな信号が保持されていない場合には、Ｓ１０３０及びＳ１０４０の処理を実行せずＳ１０５０へ移行する。なお、Ｓ１０４０の読み出し処理と同時にラッチ１０８はクリアされる。
【００６６】
Ｓ１０５０では、ラッチ１０２にＴカウンタ１０１からのアクティブな信号が保持されているか否かを判断する。この処理は、ラッチ１０５に６４００ビットの処理期間に対応するストローブ信号関連情報が保持されているか否かを判断する処理である。Ｔカウンタ１０１が６４００ビットの処理期間を計時してアクティブな信号を出力することにより、ラッチ１０５にストローブ信号関連情報としてｈカウンタ１０４の計数値が保持され、Ｔカウンタ１０１からのアクティブな信号がラッチ１０２に保持される。その直後にｈカウンタ１０４はクリアされて０となる。
【００６７】
Ｓ１０５０で肯定判断された場合、すなわちラッチ１０２にアクティブな信号が保持されている場合には、Ｓ１０６０にてラッチ１０５に保持されているストローブ信号関連情報を読み出し、Ｓ１０７０にてストローブ信号関連情報を記録するためのＨＤＤ７０中のファイルに記録する。そして、Ｓ１０８０へ移行する。一方、Ｓ１０５０で否定判断された場合、すなわちラッチ１０２にアクティブな信号が保持されていない場合には、Ｓ１０６０及びＳ１０７０の処理を実行せずＳ１０８０へ移行する。
【００６８】
なお、Ｓ１０６０の読み出し処理と同時に、ラッチ１０２はクリアされる。また、Ｓ１０７０では、ストローブ信号関連情報がＨＤＤ７０中のファイルに、図１３に示すようなフォーマットで記録される。つまり、１つのストローブ信号関連情報の記憶領域として８ビットの記録領域が割り当てられており、最上位ビットに０が記録され、下位７ビットにストローブ信号関連情報が記録される。図１３では、最初の処理期間のストローブ信号関連情報が４であり、次の処理期間でのストローブ信号関連情報が２である。このように、最上位ビットを０として順にストローブ信号関連情報が記憶されていき、最後の列にｒカウンタ１０３に残った４００ビット未満のストローブ信号の有効期間が記録される。このとき、４００ビット単位で記録されたストローブ信号関連情報と区別するために最上位ビットを１として記録する。
【００６９】
Ｓ１０８０では、エンコーダ８０からのデータ出力が終了したか否かを判断する。この判断はエンコーダからのクロック信号に基づいて行われる。Ｓ１０８０で否定判断された場合、すなわちエンコーダ８０からのデータ出力が終了していない場合には、Ｓ１０２０へ移行し、それ以降の処理を繰り返す。一方、Ｓ１０８０で肯定判断された場合、すなわちエンコーダ８０からのデータ出力が終了した場合にはＳ１０９０へ移行する。
【００７０】
Ｓ１０９０では、エンコーダ８０からの出力の終了時点でｒカウンタ１０３に残った４００ビット未満のストローブ信号の有効期間を読み出し、そのストローブ信号の有効期間を直接記録する。繁雑になるため、図２では省略したが、上述の有効期間を取り出すために、ｒカウンタ１０３の計数値を読み出す回路が用意されている。ｒカウンタ１０３に残った４００ビット未満のストローブ信号の有効期間は、上述のように、図１３に示すフォーマットの最後の列に記録され、この場合は、最上位ビットを１として下位の７ビットにｒカウンタの計数値が記録される。
【００７１】
続くＳ１１００では、ストリームデータを記録するためのファイルをクローズする。そして、Ｓ１１１０では、ストローブ信号関連情報を記録するためのファイルをクローズして処理を終了する。
なお、ストリームデータを記録したファイルには、ストリームデータの有効分のみが記録されているので、例えばＣＤ−ＲＯＭ等に記録する場合には、それを読み出して入出力インターフェース６２を介して記録すればよい。また、制御部５０は「記録初期化手段」及び「ストリームデータ記録手段」に相当し、制御部５０が実行する処理の内、ステップＳ１０６０及びＳ１０７０が記録初期化手段としての処理に相当し、ステップＳ１０３０がストリームデータ記録手段としての処理に相当する。
【００７２】
（ハ）図４は、データ送信回路２０の回路構成を示す回路図である。次に図４に示す回路図に基づきデータ送信回路２０の構成及び機能を説明する。
データ送信回路２０は、クロック信号を出力する「クロック信号出力手段」としてのクロックジェネレータ１３５と、クロックジェネレータ１３５からのクロック信号に基づいて６４００ビットの処理期間を計時するための「所定処理期間計時手段」としてのＴカウンタ１３７と、アドレスバスに接続され図１に示す制御部５０からデータ送信回路２０に対するアクセスを管理するアドレスデコーダ１３４と、制御部５０によって図１に示すＨＤＤ７０からストローブ信号関連情報が読み出され、そのストローブ信号関連情報から算出されたストローブ信号の有効期間を保持するストローブラッチ１４０と、ストローブラッチ１４０から転送される有効期間のストローブ信号に基づき、クロックジェネレータ１３５からのクロック信号に基づいてストローブ信号を生成し送信する「ストローブ信号送信手段」としてのストローブカウンタ１３９とを備えている。
【００７３】
なお、クロックジェネレータ１３５から出力されるクロック信号の周波数はエンコーダ８０から出力されたクロック信号の周波数と同じである。アドレスデコーダ１３４からは信号Ｈ〜Ｍが制御部５０のアクセスに対応して出力される。
また、データ送信回路２０は、制御部５０によってＨＤＤ７０から８ビット単位で読み出されたストリームデータを保持するラッチ１３１と、ラッチ１３１から転送される８ビット単位のストリームデータを１ビット単位（シリアル）にし、クロックジェネレータ１３５からのクロック信号に基づいてバッファ９１に送信するシフトレジスタ１３２と、クロックジェネレータ１３５からのクロック信号に基づいて８ビットの期間を計時する８ビットカウンタ１３３とを備えている。
【００７４】
シフトレジスタ１３２及び８ビットカウンタ１３３のイネーブル端子には、ストローブカウンタ１３９から出力されるストローブ信号が入力されており、ストローブ信号の有効期間のみ動作するよう構成されている。これによって、ストリームデータはストローブ信号に対応して送信されることになる。なお、シフトレジスタ１３２は「ストリームデータ送信手段」に相当する。
【００７５】
さらにまた、データ送信回路２０は、８ビットカウンタ１３３が８ビットの期間を計時する毎に出力するアクティブな信号を保持するためのラッチ１３６と、Ｔカウンタ１３７が６４００ビット毎に出力するアクティブな信号を保持するためのラッチ１３８とを備えている。ラッチ１３６は、制御部５０がストリームデータをラッチ１３１に書き出すタイミングを判断するためのものであり、ラッチ１３８は制御部５０がストローブ信号の有効期間をストローブラッチ１４０に書き出すタイミングを判断するためのものである。ラッチ１３６及びラッチ１３８は、制御部５０による書き出しが行われると同時にアドレスデコーダ１３４から出力される信号Ｉ及びＫによってそれぞれクリアされる。
【００７６】
また、データ送信回路２０は、８ビットカウンタ１３３からの出力とアドレスデコーダ１３４からの信号Ｈとが入力される２入力ＯＲ１４２と、Ｔカウンタ１３７の出力とアドレスデコーダ１３４からの信号Ｊとが入力される２入力ＯＲ１４１とを備えている。２入力ＯＲ１４２の出力はシフトレジスタ１３２のＬＤ端子に入力され、２入力ＯＲ１４１の出力はストローブカウンタ１３９のＬＤ端子に入力されている。
【００７７】
これによって、アドレスデコーダ１３４からの信号Ｈがアクティブになったとき又は８ビットカウンタ１３３からの出力がアクティブになったときには、シフトレジスタ１３２にラッチ１３１に保持されているストリームデータが転送される。同様にアドレスデコーダからの信号Ｊがアクティブになったとき又はＴカウンタからの出力がアクティブになったときには、ストローブラッチ１４０に保持されているストローブ信号の有効期間が、ストローブカウンタ１３９に転送される。
【００７８】
ストローブカウンタ１３９及びＴカウンタ１３７のイネーブル端子には、アドレスデコーダ１３４の信号Ｌが入力されており、この信号Ｌがアクティブになるとデータの送信が開始される。
（ニ）次に、制御部５０によるデータ送信回路２０へのデータ転送処理と、それに伴うデータ送信回路２０の動作を説明する。なお、制御部５０によるデータ転送処理は図５、図６及び図７のフローチャートに基づいて説明し、データ送信回路２０の動作については図４の回路図に基づいて説明する。
【００７９】
図５中の最初のステップＳ１２００において、制御部５０はストローブ信号関連情報を記録したファイル及びストリームデータを記録したファイルをオープンする。続くＳ１２１０では、ストリームデータを記録したＨＤＤ７０中のファイルから８ビット単位でストリームデータを読み出す。そして、Ｓ１２２０にて、読み出したストリームデータを図４中のラッチ１３１に書き出す。この処理でラッチ１３６はクリアされる。
【００８０】
Ｓ１２３０では、図４中のラッチ１３１に保持された８ビットのストリームデータをシフトレジスタ１３２へ転送する。これは、シフトレジスタ１３２のＬＤ端子への入力信号であるアドレスデコーダ１３４からの信号Ｈをアクティブにすることによって行われる。
【００８１】
Ｓ１２４０及びＳ１２５０は、上述のＳ１２１０及びＳ１２２０と同様の処理が行われる。すなわち、ストリームデータを記録したファイルから８ビット単位でストリームデータを読み出し（Ｓ１２４０）、読み出したストリームデータをラッチ１３１に書き出す（Ｓ１２５０）。
【００８２】
Ｓ１２１０〜Ｓ１２５０の処理によって、シフトレジスタ１３２に８ビットのストリームデータが保持され、ラッチ１３１にはそれに続く８ビットのストリームデータが保持されていることになる。
Ｓ１２６０では、ストローブ信号関連情報を記録したＨＤＤ７０中のファイルからストローブ信号関連情報を読み出す。続くＳ１２６１では、読み出したストローブ信号関連情報に基づき６４００ビットの処理期間に対するストローブ信号の有効期間を算出する。この有効期間算出処理については後述する。そして、Ｓ１２６２では、算出したストローブ信号の有効期間を図４中のストローブラッチ１４０に書き出す。
【００８３】
Ｓ１２６３では、ストローブラッチ１４０に保持されたストローブ信号の有効期間をストローブカウンタ１３９へ転送する。これは、ストローブカウンタ１３９のＬＤ端子への入力信号であるアドレスデコーダ１３４からの信号Ｋをアクティブにすることによって行われる。
【００８４】
Ｓ１２６４〜Ｓ１２６６では、Ｓ１２６０〜Ｓ１２６２と同様の処理を行う。すなわち、ストローブ信号関連情報を記録したＨＤＤ７０中のファイルからストローブ信号関連情報を読み出し（Ｓ１２６４）、ストローブ信号の有効期間を算出し（Ｓ１２６５）、ストローブラッチ１４０に書き出す（Ｓ１２６６）。
【００８５】
Ｓ１２６０〜Ｓ１２６６の処理によって、図４中のストローブカウンタ１３９には最初の６４００ビットの処理期間に対応するストローブ信号の有効期間がセットされ、ストローブラッチ１４０には次の６４００ビットの処理期間に対応するストローブ信号の有効期間が保持される。
【００８６】
そして、図６中のＳ１２６７で送信の開始を指示する。この処理は、ストローブカウンタ１３９及びＴカウンタ１３７のイネーブル端子への入力信号であるアドレスデコーダ１３４からの信号Ｌをアクティブとする処理である。これによって、図４中のストローブカウンタ１３９及びＴカウンタ１３７がクロックジェネレータ１３５からのクロック信号に同期して動作を開始する。
【００８７】
図４中のストローブカウンタ１３９は、セットされた有効期間をカウントしている間は有効なストローブ信号を出力し続け、有効期間のカウントが終了すると無効なストローブ信号を出力する。Ｔカウンタ１３７は６４００ビットの処理期間をカウントするとアクティブな信号を出力する。この信号はラッチ１３８に保持されると同時にストローブカウンタ１３９のＬＤ端子へ入力される。ＬＤ端子へアクティブな信号が入力されることで、ストローブカウンタ１３９にストローブラッチ１４０から次の処理期間におけるストローブ信号の有効期間が転送される。
【００８８】
そして、ストローブカウンタ１３９が有効なストローブ信号を出力している間は８ビットカウンタ１３３及びシフトレジスタ１３２のイネーブル端子にアクティブな信号が入力されることになるため、有効なストローブ信号の出力期間に対応して、８ビットカウンタ１３３及びシフトレジスタ１３２が動作する。
【００８９】
シフトレジスタ１３２はセットされている８ビット単位のストリームデータを１ビット単位（ビットシリアル）で送信する。８ビットカウンタは８ビット毎にアクティブな信号を出力する。この信号はラッチ１３６に保持されると共に、２入力ＯＲ１４２を介してシフトレジスタ１３２のＬＤ端子へ入力される。シフトレジスタ１３２はアクティブな信号がＬＤ端子に入力されると、ラッチ１３１から次の８ビットのストリームデータを転送する。
【００９０】
このように、ストローブカウンタは６４００ビット毎にストローブ信号の有効期間をストローブラッチ１４０からＴカウンタ１３７に基づき転送し、シフトレジスタ１３２は、ストローブカウンタが有効なストローブ信号を出力している間、８ビット毎にラッチ１３１よりストリームデータを転送する。
【００９１】
これらのデータ送信の動作に対応して以下に説明するように、制御部５０がストローブラッチ１４０及びラッチ１３１へのデータの書き出しを行う。
Ｓ１２７０では、ラッチ１３６にアクティブな信号が保持されているか否かを判断する。この処理は、ラッチ１３６に保持される８ビット単位のストリームデータが既にシフトレジスタ１３２に転送されているか否かを判断するための処理である。８ビットの期間が８ビットカウンタ１３３により計時されシフトレジスタ１３２にラッチ１３６に保持されたストリームデータが転送されている場合、ラッチ１３１には８ビットの期間を計時したカウンタ１３３から出力されたアクティブな信号が保持されている。
【００９２】
Ｓ１２７０で肯定判断された場合、すなわちラッチ１３６にアクティブな信号が保持されている場合には、Ｓ１２８０にてストリームデータを記録したＨＤＤ７０中のファイルから８ビット単位でストリームデータを読み出し、Ｓ１２９０にて、読み出したストリームデータラッチ１３１へ書き出す。このとき、アドレスデコーダ１３４からはラッチ１３６に対する信号Ｉがアクティブで出力されラッチ１３６がクリアされる。一方、Ｓ１２７０で否定判断された場合、すなわちラッチ１３６にアクティブな信号が保持されていない場合には、Ｓ１２８０及びＳ１２９０の処理を実行せずＳ１３００へ移行する。
【００９３】
Ｓ１３００では、ラッチ１３８にアクティブな信号が保持されているか否かを判断する。この処理は、ストローブラッチ１４０に保持されるストローブ信号の有効期間が既にストローブカウンタ１３９に転送されているか否かを判断するための処理である。６４００ビットの処理期間が計時され、ストローブカウンタ１３９にストローブラッチ１４０に保持されたストローブ信号の有効期間が転送されている場合、ラッチ１３８には、６４００ビットの処理期間を計時したＴカウンタ１３７からのアクティブな信号が保持されている。
【００９４】
Ｓ１３００で肯定判断された場合、すなわちラッチ１３８にアクティブな信号が保持されている場合には、Ｓ１３１０にてストローブ信号関連情報の記録されたＨＤＤ７０中のファイルからストローブ信号関連情報を読み出し、Ｓ１３１５でストローブ信号関連情報からストローブ信号の有効期間を算出し、Ｓ１３２０にてストローブラッチ１４０へ算出した有効期間を書き出して１３３０へ移行する。なお、Ｓ１３２０の書き出し処理では、アドレスデコーダ１３４からの信号Ｋがアクティブとなり、ラッチ１３８はクリアされる。一方、Ｓ１３００で否定判断された場合、すなわちラッチ１３８にアクティブな信号が保持されていない場合には、Ｓ１３１０〜Ｓ１３２０の処理を実行せずＳ１３３０へ移行する。
【００９５】
Ｓ１３３０では、ストリームデータを全て読み出したか否かを判断する。ストリームデータを全て読み出している場合（Ｓ１３３０：ＹＥＳ）、Ｓ１３４０にてストリームデータを記録したファイル及びストローブ信号関連情報を記録したファイルをそれぞれクローズして処理を終了する。一方、ストリームデータを全て読み出していない場合（Ｓ１３３０：ＮＯ）、Ｓ１２７０へ移行して以降の処理を繰り返す。
【００９６】
なお、制御部５０が「有効期間算出手段」に相当し、制御部５０が実行する処理の内、ステップＳ１２６０，Ｓ１２６１，Ｓ１２６４，Ｓ１２６５，Ｓ１３１０，Ｓ１３１５が有効期間算出手段としての処理に相当する。
次にＳ１２６１，Ｓ１２６５，Ｓ１３１５に示した有効期間算出処理を図７のフローチャートに基づいて説明する。
【００９７】
まず、最初のステップＳ１４００において、読み出したストローブ信号関連情報の最上位ビットが０であるか否かを判断する。最上位ビットが０である場合（Ｓ１４００：ＹＥＳ）、ストローブ信号関連情報を４００倍する。一方、最上位ビットが０でない場合（Ｓ１４００：ＮＯ）、Ｓ１４１０の処理を実行せず本有効期間算出処理を終了する。つまり、最上位ビットを０として通常記録されるストローブ信号関連情報は、有効期間を４００ビットの単位期間で割った商であるため、４００倍して有効期間を算出するのである。最後に図２中のｒカウンタ１０３に残ったストローブ信号の有効期間については上述したように最上位ビットを１として記録されている。この場合、有効期間を記録しているため読み出したストローブ信号関連情報がそのままストローブ信号の有効期間になるのである。
【００９８】
以上説明した本実施形態のデータ記録送信装置１の動作を図９のタイミングチャートに基づいて具体的に説明する。
まず、図９（ａ）に基づきデータ記録の動作を説明する。
図９（ａ）には、エンコーダ８０から出力されるストローブ信号及びストリームデータが示されている。図９（ａ）では、期間［ｔ０〜ｔ４］、期間［ｔ５〜ｔ７］及び期間［ｔ９〜ｔ１１］がストローブ信号の有効期間である。対応するストリームデータもこれらの期間で有効となっている。
【００９９】
ここで、図２に示したようにストリームデータを取り出すシフトレジスタ１０９及び８ビット単位でストリームデータを取り出すための８ビットカウンタ１０７のイネーブル端子にはストローブ信号が入力されており、ストローブ信号の有効期間でのみ動作するよう構成されているので、ストリームデータの有効分のみがラッチ１１０に保持される。すなわち、上述の期間［ｔ０〜ｔ４］，［ｔ５〜ｔ７］，［ｔ９〜ｔ１１］で出力されるストリームデータが制御部５０によって記録される。
【０１００】
このとき、図２中のＴカウンタ１０１は６４００ビットの処理期間をエンコーダ８０からのクロック信号に基づいて計時し、６４００ビット毎にアクティブな信号を出力する。図９（ａ）中では、期間［ｔ０〜ｔ８］及び期間［ｔ８〜ｔ１２］が６４００ビットであるため、時刻ｔ８及びｔ１２でＴカウンタ１０１からアクティブな信号が出力される。
【０１０１】
そして、図２中のｒカウンタ１０３は、ストローブ信号の有効期間を順に加算して、有効期間が４００ビットとなる毎にアクティブな信号をｈカウンタ１０４へ出力する。ｈカウンタ１０４はｒカウンタ１０３からアクティブな信号が出力されるとカウントアップする。ところで、図９（ａ）では、期間［ｔ０〜ｔ１］，［ｔ１〜ｔ２］，［ｔ２〜ｔ３］，［ｔ１０〜ｔ１１］がそれぞれ４００ビット、期間［ｔ３〜ｔ４］，［ｔ５〜ｔ６］，［ｔ６〜ｔ７］，［ｔ９〜ｔ１０］がそれぞれ２００ビットである。従って、ｒカウンタ１０３からアクティブな信号が出力される時刻は、時刻ｔ１，ｔ２，ｔ３，ｔ６，ｔ１０，ｔ１１となる。
【０１０２】
制御部５０は図２中のラッチ１０２にＴカウンタ１０１からのアクティブな信号が保持されている場合、ラッチ１０５に保持されているストローブ信号関連情報であるｈカウンタ１０４の計数値をＨＤＤ７０へ記録する。そして、ラッチ１０５の値を読み出すと同時にラッチ１０２をクリアする。つまり、図９（ａ）では、時刻ｔ８及びｔ１２でラッチ１０２にアクティブな信号が保持されるため、そのすぐ後にラッチ１０５に保持されたストローブ信号関連情報が記録される。時刻ｔ８におけるラッチ１０５の値は、時刻ｔ１，ｔ２，ｔ３，ｔ６でｈカウンタ１０４がカウントアップされるため「４」となる。ここで、ｈカウンタ１０４はクリアされて０となるため、時刻ｔ１０で新たにｈカウンタ１０４の値は「１」となり、ｔ１２でのｈカウンタ１０４の値は「２」、従ってｔ１２でのラッチ１０５の値は「２」となる。
【０１０３】
これによって、６４００ビットの処理期間の全てのストローブ信号が有効であった場合、ラッチ１０５には最大値「１６」が保持され、全てのストローブ信号が無効であった場合、ラッチ１０５には最小値「０」が保持される。従って、本実施形態では６４００ビット毎の処理期間に対してストローブ信号関連情報を記録するための記憶容量を６４００ビットの処理期間毎に８ビット用意している。また、図２中のｒカウンタ１０３は、ストローブ信号の有効期間を順に加算していくため、６４００ビットの間にストローブ信号が有効・無効を何度変化しても関係ない。すなわち、上述の従来技術に示したランレングス符号化の方法のようにストローブ信号の影響を受けない。
【０１０４】
次に、図９（ｂ）に基づきデータ送信の動作を説明する。
図９（ｂ）は、送信されるストローブ信号及びそのストローブ信号に対応して送信されるストリームデータを示している。
図４中のＴカウンタ１３７はクロックジェネレータ１３５から出力されたクロック信号に基づいて６４００ビットの処理期間を計時する。図９（ｂ）中の期間［ｔ１３〜ｔ１５］及び［ｔ１５〜ｔ１７］が６４００ビットの処理期間であり、Ｔカウンタ１３７は時刻ｔ１５及びｔ１７でアクティブな信号を出力する。
【０１０５】
制御部５０は、ストローブ信号関連情報をＨＤＤ７０より読み出し、ストローブ信号の有効期間を算出する。つまり、図９（ａ）では、最初の処理期間でラッチ１０５の値「４」がストローブ関連情報として記録され、次の処理期間でラッチ１０５の値「２」が記録された。そこで、制御部５０は、４００ビット×４＝１６００ビット、４００ビット×２＝８００ビットを有効期間として算出する。
【０１０６】
そして、ストローブカウンタ１３９はストローブラッチ１４０から転送されセットされた有効期間をカウントしながら有効なストローブ信号を図９（ｂ）中の時刻ｔ１４まで送信する。そして、セットされた有効期間が０となると、Ｔカウンタ１３７がアクティブな信号を出力する時刻ｔ１５まで無効なストローブ信号を送信する。
【０１０７】
図４中のシフトレジスタ１３２及び８ビットカウンタ１３３のイネーブル端子にはストローブカウンタ１３９から送信されるストローブ信号が入力されており、ストローブ信号の送信に対応してストリームデータの有効分を送信する。図９（ｂ）中では期間［ｔ１３〜ｔ１４］，［ｔ１５〜ｔ１６］で、有効分のストリームデータを送信する。
【０１０８】
これによれば、ストリームデータの送信タイミングは、エンコーダ８０からの出力タイミングと比べてずれが生じることになる。例えば、図９（ａ）の期間［ｔ５〜ｔ６］で出力されたストリームデータＢは、図９（ｂ）ではストリームデータＡの送信に連続して送信されることになる。また、図９（ａ）の期間［ｔ６〜ｔ７］で出力されたストリームデータＣは、図９（ｂ）では時刻ｔ１５より送信されることになる。さらに、図９（ａ）の期間［ｔ９〜ｔ１１］で送信されたストリームデータＤは、図９（ｂ）ではストリームデータＣの送信に連続して送信されることになる。
【０１０９】
以上説明してきた本実施形態のデータ記録送信装置１により発揮される効果を詳しく説明する。
本実施形態のデータ記録送信装置１においては、図２に示したデータ保持回路１０のＴカウンタ１０１が６４００ビットの処理期間を計時し、この処理期間毎にラッチ１０５に保持されるストローブ信号関連情報を記録することにより、ストローブ信号の無効期間に関する情報を記録する必要がなくなる。なぜなら、６４００ビットの処理期間中の有効期間に対応する情報がストローブ信号関連情報であり、ストローブ信号関連情報を記録することによって、ストローブ信号の無効期間は自ずとわかるからである。
【０１１０】
これによって、上述の図１１，図１２の例に示したようなストローブ信号の無効期間に関する情報を記録する方法に比べて、ストローブ信号の無効期間分の記憶容量が削減できる。
一方、図２中のストローブ信号の有効期間を計時するｒカウンタ１０３は、ストローブ信号の有効期間を順に加算していくため、ストローブ信号が有効期間、無効期間を何度も繰り返し反転しても影響されない。これによって、ストローブ信号関連情報は、６４００ビットの処理期間中のストローブ信号の有効期間の合計に関する情報となり、６４００ビットの処理期間毎に一定の記憶容量となる。
【０１１１】
例えば、上述の図１１に示したような方法では有効期間、無効期間をストローブ信号が反転する毎に記録することになるために、ストローブ信号の反転によって記憶容量が増える結果となっていた。それに対して、この場合は、ストローブ信号が反転する回数によって記憶容量が増えるようなことがなくなる。
【０１１２】
さらに、６４００ビットの処理期間におけるストローブ信号の有効期間の合計を、４００ビットの単位期間で割った整数商を記録することによって、ストローブ信号の出力期間に比例する記憶容量の増大は生じない。例えば、ストローブ信号の有効期間が１２００ビット、１６００ビット、６０００ビットであった場合、そのまま記録すれば１２００ビット、１６００ビット、６０００ビットという有効期間に比例する記憶容量が必要となる。ところが、４００ビットの単位期間でわった整数商を記録するようにしたことによって、この場合はそれぞれ「３」、「４」、「１５」を記録すればよいことになる。
【０１１３】
これらによって、本データ記録送信装置１では、ストローブ信号関連情報を極めて小さな記憶容量で記録することができる。例えば、クロック信号が１５ＭＨｚ、平均ビットレート５Ｍｂｐｓの画像データを１０分間記録する場合を考える。このとき、ストローブ信号をそのまま記録すると、２２５０Ｍバイトもの記憶容量となってしまう。それに対して、データ記録送信装置１で記録すると、６４００ビットに８ビットの記憶容量となるため、８４．４Ｍバイトとなる。
【０１１４】
また、本実施形態のデータ記録送信装置１においては、図４に示したデータ送信回路２０のＴカウンタ１３７が６４００ビットの処理期間を計時し、Ｔカウンタ１３７から６４００ビット毎に出力されるアクティブな信号に基づいて制御部５０がストローブ信号関連情報を読み出し、そのストローブ信号関連情報に基づくストローブ信号をストローブカウンタ１３９が送信する。これによって、６４００ビットの処理期間で見れば、送信されるストローブ信号の有効期間は、エンコーダ８０から出力されたストローブ信号の有効期間の合計と変わらない。これによって、送信先の再生装置９０でリアルタイムにストリームデータを再生することができる。
【０１１５】
但し、６４００ビットの処理期間単位でのビットレートは、エンコーダ８０から出力されたときのビットレートとほぼ等しくなるが、上述したように、６４００ビットの処理期間よりも小さな期間でのビットレートは、エンコーダ８０から出力されたときのビットレートとは一般的に一致しない。ところが、再生装置９０での再生に影響はない。この理由を説明する。従来、ストローブ信号が記録されることはなかったために、送信タイミングがわからず、送信先の再生装置９０のデコーダ９２がバッファ９１から読み出そうとするタイミングで送信先のバッファ９１へ、該当するストリームデータを送信できないことが再生のできない理由であった。つまり、エンコーダ８０の出力と全く同じタイミング（ビット単位で同期させて）送信する必要はなく、再生装置９０のデコーダ９２が読み出そうとするタイミングで再生装置９０のバッファ９１へ該当するストリームデータを送信できていればよいのである。このようなずれの許容範囲は、再生装置９０のバッファ９１の記憶容量に依存することになる。
【０１１６】
また、本実施形態のデータ記録送信装置１は、４００ビット毎にストローブ信号の有効期間を示すｒカウンタ１０３を利用しており、６４００ビットの処理期間をＴカウンタ１０１が計時した時点でｒカウンタ１０３はストローブ信号の有効期間の端数を保持している。これによって、ある処理期間におけるストローブ信号の有効期間を４００ビットの単位期間で割った余りとしての期間は、次の処理期間におけるストローブ信号の有効期間に加算されることになる。つまり、６４００ビット毎に記録されるストローブ信号関連情報は整数として扱うことができ、端数のストローブ信号の有効期間も欠落しない。
【０１１７】
さらにまた、本実施形態のデータ記録送信装置１は、制御部５０の読み出し処理において、最後の処理期間のストローブ信号をｒカウンタ１０３から直接読み出して記録している。これによって、最後にｒカウンタ１０３に残ったストローブ信号の有効期間も欠落しない。
【０１１８】
なお、本実施形態のデータ記録送信装置１では、図２中の４００ビットのｒカウンタ１０３に対して、その整数倍の期間である６４００ビットを計時するＴカウンタ１０１を利用していることにより、回路構成が簡潔になるという効果もある。
【０１１９】
以上、本発明はこのような実施形態に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。
例えば、上記実施の形態においては、８ビット単位で制御部５０によりデータを転送していたが、バッファを持たせ複数バイトを一度に転送しても良い。さらにデータの転送において割り込みやＤＭＡを用いる事も有用である。
【０１２０】
ファイルの形式も上記実施形態のように二つのファイルにするのではなく、一つのファイルにまとめる事もできる。この場合にはストローブ信号関連情報を先に記録する必要がある。なぜなら、送信時データ長をストローブ信号関連情報により認識しなければならないからである。そのための構成としては、ストリームデータを６４００ビットの処理期間の間メモリ上のバッファに保持し、その処理期間中のストローブ信号関連情報が決まった後、ストローブ信号関連情報、ストリームデータの順にファイルに記録するようにすればよい。
【０１２１】
また、処理期間を６４００ビット、単位期間を４００ビットとすることも限定されるものではない。
【図面の簡単な説明】
【図１】実施形態のデータ記録送信装置の概略構成を示すブロック図である。
【図２】実施形態のデータ記録送信装置のデータ保持回路の回路図である。
【図３】データ保持回路からのデータ記録処理を示すフローチャートである。
【図４】実施形態のデータ記録送信装置のデータ送信回路の回路図である。
【図５】ＣＰＵにおけるデータ記録回路へのデータ送信処理を示すフローチャートの前半部分である。
【図６】ＣＰＵにおけるデータ記録回路へのデータ送信処理を示すフローチャートの後半部分である。
【図７】ＣＰＵにおけるストローブ信号関連情報からストローブ信号の有効期間を算出する有効期間算出処理を示すフローチャートである。
【図８】ストローブ信号の記録及び送信を示すタイムチャートである。
【図９】ストローブ信号及びストリームデータの記録及び送信を示すタイムチャートである。
【図１０】エンコーダから出力される信号を示すタイムチャートである。
【図１１】エンコーダから出力される信号をビット単位で表現したタイムチャートである。
【図１２】ストローブ信号をランレングス符号化したタイムチャートである。
【図１３】ストローブ信号関連情報の記録フォーマットを示す説明図である。
【図１４】端末内のタイムテーブルの説明図である。
【符号の説明】
１…データ記録送信装置          １０…データ保持回路
２０…データ送信回路              ５０…制御部
５１…ＣＰＵ                      ５２…ＲＯＭ
５３…ＲＡＭ                      ６１…ディスクインターフェース
６２…入出力インターフェース      ７０…ハードディスクドライブ
８０…エンコーダ                  ８２…端末
８３…タイムテーブル              ８５…ビデオ装置
９０…再生装置                    ９１…バッファ
９２…デコーダ                    ９３…モニタ
９４…送信路
１０１…Ｔカウンタ                １０３…ｒカウンタ
１０４…ｈカウンタ                １０６…アドレスデコーダ
１０７…８ビットカウンタ          １０９…シフトレジスタ
１０２，１５０，１０８，１１０……ラッチ
１３２…シフトレジスタ            １３３…８ビットカウンタ
１３４…アドレスデコーダ          １３５…クロックジェネレータ
１３７…Ｔカウンタ                １３９…ストローブカウンタ
１３１，１３６，１３８…ラッチ    １４０…ストローブラッチ
１４１，１４２…２入力ＯＲ
【図１】
0003645974.tif 000002
【図２】
0003645974.tif 000003
【図３】
0003645974.tif 000004
【図４】
0003645974.tif 000005
【図５】
0003645974.tif 000006
【図６】
0003645974.tif 000007
【図７】
0003645974.tif 000008
【図８】
0003645974.tif 000009
【図９】
0003645974.tif 000010
【図１０】
0003645974.tif 000011
【図１１】
0003645974.tif 000012
【図１２】
0003645974.tif 000013
【図１３】
0003645974.tif 000014
【図１４】
0003645974.tif 000015