JP3645979B2 - Data recording / transmission method and data recording / transmission apparatus - Google Patents
Data recording / transmission method and data recording / transmission apparatus Download PDFInfo
- Publication number
- JP3645979B2 JP3645979B2 JP34850196A JP34850196A JP3645979B2 JP 3645979 B2 JP3645979 B2 JP 3645979B2 JP 34850196 A JP34850196 A JP 34850196A JP 34850196 A JP34850196 A JP 34850196A JP 3645979 B2 JP3645979 B2 JP 3645979B2
- Authority
- JP
- Japan
- Prior art keywords
- clock signal
- pulses
- variable clock
- period
- stream data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、デジタルデータの記録・送信に関し、より詳細には、デジタル圧縮画像の可変ビットレートによるデータ記録・送信の技術に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
従来、MPEG(Moving Picture Image Coding Experts Group )に代表される画像圧縮方式で可変ビットレート(VBR)符号化と呼ばれる手法がある。可変ビットレート符号化では、例えば、再生される画像データに対して、ある画像から次の画像への差分が大きい場合は高レートで、一方、差分が小さい場合は低レートで符号化する。これにより、画質を落とすことなく平均的なビットレートを下げることができ、結果として固定ビットレート(CBR)符号化と呼ばれる手法に比べて高画質となる。
【0003】
ところで、MPEGに代表される画像圧縮方式は、一般的に蓄積系及び通信系の2つに応用される。もちろん、上述の可変ビットレート符号化の手法も主として蓄積系及び通信系の2つに応用されている。蓄積系への応用としては、例えばハードディスクやCD−ROM等の媒体に画像データを記録するということが考えられる。一方、通信系への応用としては、例えば、画像データを無線又は有線の送信路を介して送信し、送信先でリアルタイムにその画像データを再生するということが考えられる。
【0004】
しかし、蓄積系への応用で、ハードディスク等に記録した画像データを再度通信系へ応用しようとした場合、後述の問題が生じる。この問題点を説明するために、まず可変ビットレート符号化が可能なエンコーダから出力される信号について説明する。
【0005】
画像データを圧縮し、可変ビットレート符号化が可能なエンコーダでは、元の画像のタイムコードによりビットレートを変化させながら符号化を行う。このようなエンコーダから出力されるストリームデータは一定レートでないために、このストリームデータは出力タイミングの情報と共に出力される。この出力タイミングの情報としては、ストリームデータの有効期間を示す「ストローブ信号」が一般的に挙げられるが、「クロック信号」を利用することも考えられる。ここでいうクロック信号、すなわち出力タイミングを示すクロック信号は一般的にいわれる一定周期のクロック信号(マスタークロック信号)ではない。以下、この出力タイミングを示すクロック信号を通常のクロック信号(マスタークロック信号)と区別して「可変クロック信号」という。
【0006】
可変クロック信号は、パルスの出力でストリームデータが有効となっていることを示すものである。ビットレートは有効なストリームデータの量に比例するのであるから、可変クロック信号のパルス数に比例することになる。つまり、可変クロック信号のパルス数を変化させることによってビットレートを変化させることができる。なお、パルスの数は一周期の方形波を1として数えるものとする。
【0007】
可変クロック信号は、例えば次のようにして作成することができる。エンコーダでは、エンコーダの動作の基準となる一定周期のマスタークロック信号が作成され、それに基づいて符号化が行われる。ここで、ある期間であるビットレートを実現する場合、そのビットレートは有効なストリームデータの量に比例するのであるから、目的のビットレートとするための有効なストリームデータが、例えば上記一定周期のマスタークロック信号のいくつ分のパルスに対応するかを算出する。そして、その期間にその算出した数のパルスを出力するような信号を可変クロック信号として作成さればよい。もちろん、ストリームデータはこの可変クロック信号に対応させる。
【0008】
例えば、図15に示す期間Aでは、目的のビットレートを実現するために、有効とすべきストリームデータがマスタークロック信号の2つのパルスに対応しているとする。このとき、図15(a)や(b)に示すように期間Aで2つのパルスを出力する可変クロック信号を作成するのである。図15(a)は、マスタークロック信号からパルスを間引きして作成した例である。図15(b)は、期間Aに2つのパルスが出力されるように可変クロック信号の周期を変えた例である。このように、可変クロック信号のパルスは期間A中のどのタイミングで出力してもよい。
【0009】
本発明では、出力タイミングの情報として可変クロック信号を利用した上述のようなエンコーダ、すなわち可変クロック信号及びストリームデータを出力するエンコーダを前提としたものである。
図12は、本発明で前提としているエンコーダからの出力例であって、一定周期のクロック信号を間引きして作成した可変クロック信号とその可変クロック信号に対応したストリームデータを示している。期間T1及び期間T2で可変クロック信号のパルスが出力されており、このパルスに対応してストリームデータが有効とされている。すなわち、可変クロック信号のパルスに対応して、可変クロック信号のパルス数のストリームデータが出力されることになる。
【0010】
後述の問題点を説明するため、次に、蓄積系へ可変ビットレート符号化が応用される場合のエンコーダからの信号の記録方法を説明する。例えばハードディスクやCD−ROM等の媒体へエンコーダからの出力を記録することを考える。このとき、エンコーダから出力されるストリームデータのみが記録され、可変クロック信号は記録されない。その理由は、ストリームデータを解析することでビットレートの変化を認識できるためである。従って、可変ビットレートの変化を示す可変クロック信号を記録しなくてもよいのである。つまり、再生の際には、デコーダがストリームデータを解析し、そのストリームデータのビットレートの変化を認識し、適当なタイミングでCD−ROM等の媒体からストリームデータを読み出すのである。このように従来は、例えばハードディスクやCD−ROM等の媒体へエンコーダからの出力を記録する場合、ストリームデータのみが記録され、可変クロック信号は記録されなかった。
【0011】
以下、ハードディスク等に記録した画像データを再度通信系へ応用した場合の問題点を説明する。例えば、媒体へ一旦記憶したストリームデータを送信して、送信先でリアルタイムに画像を再生するような場合を例に挙げる。この場合、送信先ではデコーダを用いて再生するのであるから、送信されたストリームデータのビットレートの変化は認識できる。しかし、送信元ではストリームデータの出力タイミングの情報である可変クロック信号が記録されていないため、ストリームデータの送信タイミングが分からない。このため、送信先でデコーダがストリームデータを読み出す際に、該当するストリームデータが送信先のバッファに送信されてきていないという状況が起こる可能性がある。逆に、送信先でデコーダが必要とするタイミング以上の速度でストリームデータが送信され、送信先のバッファが飽和してしまうという可能性もある。
【0012】
このような問題点を解決する方法として次の2つの方法が考えられる。
第1番目の方法としては、送信元にもデコーダを設けることにより、ストリームデータ内部を解析し、ビットレートの変化を認識してストリームデータを送信する方法である。しかし、この方法によると、送信元の送信装置の構成が複雑になるという問題がある。
【0013】
第2の方法としては、エンコーダから出力される可変クロック信号を記録するという方法である。しかし、可変クロック信号をそのまま記録しようとすると、膨大な記憶容量が必要となってしまうためあまり実用的ではなかった。
例えば、図12に示したようなマスタークロック信号を間引きした可変クロック信号を記録する場合について説明する。このとき、図13に示すように可変クロック信号のパルス出力期間を1、可変クロック信号のパルスが出力されない(パルスが間引きされた)期間を0として記録することを考える。この場合、ビットレートの変化を記録するために、可変クロック信号のパルスが出力されない期間も記録しなければならない。その結果、パルスを間引きする前の一定周期のクロック信号のパルス数に対応するビット数分の記憶容量が必要となってくる。
【0014】
そこで、図14に示すようにランレングス符号化をして記録することを考える。この方法では、0又は1の連続する長さを記録するのである。つまり、期間T5では0が長さ2続き、期間T1では1が長さ9続き、期間T6では0が長さ11続き、期間T2では1が長さ5続き、期間T7では0が長さ5続くという具合いである。この方法によれば、例えば可変クロック信号の出力期間が200ビット続く場合、そのまま記録すれば200ビットの記憶容量が必要であるが、長さ200を記録するため、8ビットの2進数(0〜255を表現できる)を利用すれば事足りることになる。ところが、この方法であっても、可変クロック信号のパルス出力期間とパルスの出力されない期間が交互に繰り返されるような場合には、必要な記憶容量が増大してしまう。
【0015】
本発明は、上述の第2の方法を工夫するものであり、蓄積系への応用として記録したストリームデータを再度通信系へ利用することを目的とする。
【0016】
【課題を解決するための手段及び発明の効果】
上述の目的を達成するためになされた請求項1に記載のデータ記録送信方法は、所定期間毎の目標ビットレートを達成するため当該所定期間内に出力すべきストリームデータに対応するマスタークロック信号のパルス数分のパルスを当該所定期間に出力するよう設定された可変クロック信号、及びその可変クロック信号に同期して出力されるストリームデータを出力可能なエンコーダから入力した可変クロック信号及びストリームデータに基づいてデータ記録及び送信を行う方法であって、エンコーダから所定の処理期間に出力される可変クロック信号のパルス数の合計を単位パルス数で除して算出された商を可変クロック信号関連情報として所定の処理期間毎に記録し、所定の処理期間を計時しながら、記録した可変クロック信号関連情報に単位パルス数を乗じて算出されるパルス数の可変クロック信号を作成して所定の処理期間毎に送信すると共に、エンコーダから可変クロック信号と共に出力されたストリームデータを記録し、その記録したストリームデータを送信する可変クロック信号のパルスに対応させて送信することを特徴としている。
【0017】
上述の従来技術に示したように、可変ビットレートでストリームデータを出力するために、エンコーダからストリームデータの有効性を示す可変クロック信号がストリームデータと共に出力される。ところが、上述のように可変クロック信号を記録しようとすると膨大な記憶容量が必要となってしまうため、従来はストリームデータのみを記録していた。そのため、一旦、ハードディスク等の記録媒体に記録されたストリームデータは、デコーダによる解析を行わなければ、送信タイミングがわからなくなってしまっていた。
【0018】
そこで、本発明のデータ記録送信方法では、目標ビットレートを達成するため所定期間にビットレートに対応するパルス数分のパルスを出力する可変クロック信号と、当該可変クロック信号に同期して出力されるストリームデータとを出力するエンコーダを前提として、そのエンコーダから出力される可変クロック信号を可変クロック信号関連情報に変換して記録することによって少ない記憶容量で記録し、送信の際には、記録した可変クロック信号関連情報に基づき新たに可変クロック信号を作成して送信するのである。また、それと共にストリームデータを記録し、可変クロック信号のパルスに対応させて送信するのである。なお、「マスタークロック信号」は、エンコーダの動作の基本となる一定周期のクロック信号であり、所定の期間もマスタークロック信号に基づいて計時される。その意味で、各所定期間におけるビットレートはマスタークロック信号のパルス数として表現することができる。
【0019】
ここで、可変クロック信号に係る作用について詳しく説明する。
本発明のデータ記録送信方法では、可変クロック信号のパルス数を所定の処理期間毎に合計する。そして、その合計を単位パルス数で割った商を可変クロック信号関連情報として所定の処理期間毎に記録する。
【0020】
そして、送信の際には、可変クロック信号関連情報に単位パルス数を掛けたパルス数の可変クロック信号を作成し、所定の処理期間を計時しながら所定の処理期間毎に送信する。但し、エンコーダから出力された可変クロック信号のパルスが所定の処理期間中のどのタイミングで出力されたかは、可変クロック信号関連情報からは判断できない。このため、送信の際には所定の処理期間中の適当なタイミングでパルスを出力する。例えば、一定のクロック信号を考えて、処理期間の後ろの部分のパルスを間引きすることにより、処理期間の最初から算出されたパルス数のパルスを出力する可変クロック信号を作成して送信してもよいし、処理期間毎に周期を変化させることによって、処理期間全体で算出されたパルス数を出力する可変クロック信号を作成して送信してもよい。
【0021】
つまり、エンコーダから可変クロック信号としてどのようなタイミングでパルスが出力されても、所定期間毎のパルス数は記録時と送信時で変わらない。例えば、図10(a)にエンコーダからの間引きされた形の可変クロック信号を示し、図10(b)に送信する可変クロック信号を示した。図10では可変クロック信号のパルスの出力期間をhighレベルで示している。図10に示すように各処理期間E,F,Gにおいてエンコーダから出力されるパルス数と送信するパルス数は等しくなる。すなわち、所定期間毎のビットレートは保持できることになる。
【0022】
なお、上述のように所定期間毎のパルスの送信タイミングは、エンコーダからの出力タイミングとは違ってくる。図10の例でも、パルスの送信タイミングは各処理期間の最初からとなっており、エンコーダからの可変クロック信号のパルスの出力タイミングとは違っている。しかし、送信先のデコーダで再生する上で問題は生じない。その理由は、送信先のデコーダが読み出すタイミングで該当するストリームデータがフレーム単位で送信先のバッファに送信されておればよいからである。つまり、フレーム単位に比べて所定の処理期間を十分小さな期間とすることによって、所定の処理期間内での送信タイミングのずれは再生の際に無視できるのである。
【0023】
また、記憶容量については、可変クロック信号のパルスを合計することによって、所定の処理期間で可変クロック信号のパルスの出力期間が途切れ途切れになった可変クロック信号であっても記憶容量は変わらず一定となる。例えば、図10に示す処理期間Gにおいて、可変クロック信号のパルスは50パルスずつ別の期間に出力されているが、合計して100パルスとして処理するという具合いである。また、パルス数の合計を単位パルス数で割るために数値として記録でき、さらにその数値は、所定期間に出力される可変クロック信号の最大パルス数を単位パルス数で割った数値以下となる。図10では単位パルス数を100パルスとして割るために処理期間Eでは「3」、処理期間Fでは「2」、処理期間Gでは「1」が記録されることになる。また、可変クロック信号を作成した一定周期のクロック信号と、各処理期間を計時するマスタークロック信号が同じ周期であるとすれば、各処理期間E,F,Gにおける可変クロック信号の最大パルス数は600パルスとなるため、記録される数値は大きくても「6」以下となる。
【0024】
以上説明したように従来と比較して極めて少ない記憶容量で送信タイミングを保持するための可変クロック信号関連情報が記録できると共に、送信するデータを送信先でリアルタイムに再生することができる。すなわち、蓄積系への応用としてハードディスク等に一旦記録されたストリームデータを再度通信系へ利用することが可能となる。
【0025】
ところで、本発明では、所定の処理期間に出力される可変クロック信号のパルス数の合計を単位パルス数で割った商は整数でもよいし、あるいは、条件によっては小数でもよい。条件というのは、ある桁数以下の切捨てや切上げ等の処理である。なぜなら、小数点以下の桁数が多くなると記録に必要な記憶容量が大きくなるからである。しかし、切捨てや切上げ等の処理を行うと誤差が発生することになるので、商は整数で扱うことが望ましい。
【0026】
整数で扱うことを考えると、余りが出ることが考えられる。そこで、請求項2に示すように、所定の処理期間における可変クロック信号のパルス数の合計を単位パルス数で除して余りが算出された場合、その余りのパルス数を次の処理期間における可変クロック信号のパルス数に加算してもよい。例えば、図10における処理期間Eで可変クロック信号のパルス数が350であるとすると、所定単位パルス数100で割った余りとしての50のパルスは処理期間Fで出力される可変クロック信号のパルス数200に加算して、処理期間Fで出力される可変クロック信号のパルス数を250としてもよい。
【0027】
また、エンコーダからの全出力期間が所定の処理期間の整数倍となっていない場合が考えられる。このときは、所定の処理期間で区切ることのできない最後の処理期間が存在する。エンコーダからの全出力期間が所定の処理期間の整数倍となっている場合であっても、最後の所定の処理期間に余りとなった可変クロック信号のパルス数が次の処理期間に出力されたものとして加算されることも考えられる。そこで、請求項3に示すように、エンコーダからの全出力期間を所定の処理期間に区切った場合に区切ることが可能な最後の処理期間の後に出力される可変クロック信号については、その可変クロック信号のパルス数を直接記録してもよい。
【0028】
例えば、図10に示す例では、エンコーダからの全出力期間がマスタークロックで1900パルスの期間である場合、処理期間Gの後に100パルスの期間ができる。このとき、この100パルス期間に可変クロック信号のパルス数が70パルスであった場合には「70」という数値を記録してもよい。また、図10中の所定期間Gで可変クロック信号のパルス数が150のときには、端数の50パルスは最後の所定期間Gの後に出力されたものとして考えることができる。このとき、その50パルスを「50」で記録してもよい。
【0029】
ところで、請求項4に示すように、所定の処理期間は、一定周期のクロック信号に基づき単位パルス数の整数倍のパルスを計時した期間とするとよい。その理由は、例えば、制御する上で端数のパルスが出てくることがなくなり、この制御を例えば回路で構成する場合にはその回路構成が簡単になる。
【0030】
以上説明したデータ記録送信方法をデータ記録送信装置として構成した場合、請求項5に示すような構成が考えられる。すなわち、所定期間毎の目標ビットレートを達成するため当該所定期間内に出力すべきストリームデータに対応するマスタークロック信号のパルス数分のパルスを当該所定期間に出力するよう設定された可変クロック信号、及び当該可変クロック信号に同期して出力されるストリームデータを出力可能なエンコーダから入力した可変クロック信号及びストリームデータに基づいてデータ記録及び送信を行うデータ記録送信装置であって、エンコーダから出力されるストリームデータを記録するストリームデータ記録手段と、マスタークロック信号を作成するマスタークロック信号作成手段と、マスタークロック信号作成手段に基づいて所定の処理期間を計時する計時手段と、エンコーダから出力される可変クロック信号のパルスを数え、その和が単位パルス数に等しくなる毎に等しくなったことを判断し、その判断回数を計数する計数手段と、計時手段による所定の処理期間の計時の終了時点で、計数手段によって計数された判断回数を記録して初期化する記録初期化手段と、記録初期化手段によって記録された判断回数を読み出し、その読み出した判断回数に単位パルス数を乗じてパルス数を算出するパルス数算出手段と、計時手段により計時される所定の処理期間にパルス数算出手段によって算出したパルス数の可変クロック信号を作成して送信する可変クロック信号送信手段と、可変クロック信号送信手段によって送信される可変クロック信号のパルスに対応させて、ストリームデータ記録手段によって記録されたストリームデータを送信するストリームデータ送信手段とを備えたことを特徴とするデータ記録送信装置である。
【0031】
本発明のデータ記録送信装置によれば、可変ビットレートで符号化されたデータを記録し、記録されたデータを送信する。以下、(1)でデータ記録における作用を説明し、(2)でデータ送信における作用を説明する。
(1)最初にデータ記録における作用を説明する。まず、ストリームデータ記録手段は、エンコーダから可変クロック信号のパルスに基づき有効性を判断してストリームデータを記録する。マスタークロック信号作成手段は、一定周期のマスタークロック信号を作成する。このとき、マスタークロック信号作成手段の一つとしてのクロックジェネレータは、データの記録と送信とで2つ用意することも考えられるし、データの記録と送信とで1つを共用することも考えられる。しかし、あるデータを記録しながら別のデータを送信するような場合にはクロックジェネレータが記録と送信とで2つ用意されることが望ましい。また、エンコーダから出力される可変クロック信号が一定周期のクロック信号からパルスを間引きした信号である場合、可変クロック信号のパルス出力に基づいてマスタークロック信号を作成することも考えられる。この場合、エンコーダの出力に同期してデータの記録をすることが可能となる。
【0032】
計時手段は、作成したマスタークロック信号に基づいて所定の処理期間を計時する。計数手段は、エンコーダから出力される可変クロック信号のパルスを数え、その和が単位パルス数に等しくなる毎に等しくなったことを判断し、その判断回数を計数する。そして、記録初期化手段は、所定処理期間の計時が終了した時点で判断回数を記録して初期化する。なお、ここでいう「初期化」とは、次に可変クロック信号のパルス数が単位パルス数に等しくなったと判断された時に、判断回数が「1」となるようにするということである。
【0033】
ここで、図11(a)に示すタイムチャートに基づいて上述のデータ記録における作用を詳しく説明し、その結果として可変クロック信号の記憶に要する容量が少なくなることを説明する。なお、図11(a)では、単位パルス数を400パルス、所定の処理期間はマスタークロック信号6400パルスの期間であるとする。この場合、エンコーダから出力される可変クロック信号は、一定周期のクロック信号を間引きしたものであるとする。
【0034】
図11(a)には、エンコーダから出力される可変クロック信号及びストリームデータが示されている。図を簡単にするために可変クロック信号のパルス出力期間をhighレベルで示した。図11(a)では、期間[t0〜t4]、期間[t5〜t7]及び期間[t9〜t11]が可変クロック信号のパルス出力期間である。ストリームデータはこれらの期間で出力されるパルスに対応して有効とされる。つまり、可変クロック信号のパルス数だけのストリームデータが出力されることになる。ストリームデータ記録手段は、このストリームデータを記録する。
【0035】
図11(a)中では、期間[t0〜t8]及び期間[t8〜t12]が計時手段によって計時される所定の処理期間(マスタークロック信号6400パルスの期間)である。計数手段は、可変クロック信号のパルス数を数え、400パルスに等しくなる毎に、等しくなったことを判断し、判断回数を計数する。ところで、図11(a)では、期間[t0〜t1],[t1〜t2],[t2〜t3],[t10〜t11]がそれぞれマスタークロック信号で400パルス、期間[t3〜t4],[t5〜t6],[t6〜t7],[t9〜t10]がそれぞれ200パルスである。従って、400パルス出力されたという判断が行われる時点は、時刻t1,t2,t3,t6,t10,t11となる。
【0036】
このとき、記録初期化手段は計時手段による所定の処理期間の計時の終了時点で判断回数を記録して初期化する。つまり、図11(a)では、時刻t8及びt12で判断回数を記録して初期化する。時刻t8における判断回数は、時刻t1,t2,t3,t6の4回となるので「4」が記録される。ここで、一旦初期化されるため、時刻t10で新たに判断回数は「1」となり、t12で記録される判断回数は「2」となる。つまり、400パルスをひとかたまりとして、マスタークロック信号の6400パルス毎にそれがいくつあるかを記録するのである。
【0037】
この方法によれば、例えば可変クロック信号のパルス数が最大の6400パルスであった場合、最大値「16」(6400÷400)が記録され、可変クロック信号のパルス数が0であった場合、最小値「0」が記録される。すなわち、マスタークロック信号で6400パルスが出力される期間毎に「0」〜「16」を表現できる2進数、例えば5ビットの2進数を記録できる記憶容量が必要となるのみである。すなわち、パルスの出力を1として記録すれば6400ビットの記憶容量が必要となるが、この例では5ビットもあれば十分となる。また、マスタークロック信号で6400パルスが出力される期間に可変クロック信号のパルス出力が連続していない場合であっても必要な記憶容量はかわらない。すなわち、上述のランレングス符号化の方法のように可変クロック信号のパルス出力期間によって記憶容量が増大するということがなくなる。
【0038】
(2)次に、データ送信における作用を説明する。
パルス数算出手段は、記録された判断回数を読み出し、読み出した判断回数に単位パルス数を乗じてパルス数を算出する。そして、可変クロック信号送信手段は、算出されたパルス数のパルスを所定の処理期間に送信する可変クロック信号を作成して送信する。そして、ストリームデータ送信手段は、送信される可変クロック信号に同期して記録したストリームデータを送信する。
【0039】
ここで、図11(b)に示すタイムチャートに基づいて上述のデータ送信における作用を詳しく説明し、通信系への応用として送信先へ記録したデータを送信し、再生することが可能であることを説明する。図11(b)は、送信される可変クロック信号及びその可変クロック信号に同期して送信されるストリームデータを示している。
【0040】
計時手段は、マスタークロック信号作成手段により出力された一定周期のマスタークロック信号に基づいて所定の処理期間を計時する。上述の図11(a)の例に対応させて単位パルス数を400パルス、所定の処理期間をマスタークロック信号で6400パルスの期間とすると、図11(b)中の期間[t13〜t15]及び期間[t15〜t17]が所定の処理期間となる。
【0041】
パルス数算出手段は、記録された判断回数と単位パルス数400とを掛け合わせパルス数を算出する。つまり、図11(a)では、最初の所定処理期間で判断回数「4」が記録され、次の所定処理期間で判断回数「2」が記録された。そこで、400×4=1600、400×2=800をパルス数として算出する。
【0042】
そして、図11(b)に示すように、可変クロック信号送信手段は、所定の処理期間に送信すべき可変クロック信号を、この場合、1600パルス、800パルスというパルス数で作成する。そして、時刻t13から最初の可変クロック信号を送信し、時刻t15から次の可変クロック信号を送信する。
【0043】
ストリームデータ送信手段は、記録したストリームデータを可変クロック信号にのパルスに対応させて送信する。図11(b)中では期間[t13〜t14],[t15〜t16]で記録したストリームデータをパルスに対応させて送信する。
【0044】
これによれば、ストリームデータの送信タイミングは、エンコーダからの出力タイミングと比べてずれが生じることになる。例えば、図11(a)の期間[t5〜t6]で出力されたストリームデータBは、図11(b)ではストリームデータAの送信に連続して送信されることになる。また、図11(a)の期間[t6〜t7]で出力されたストリームデータCは、図11(b)では時刻t15より送信されることになる。さらに、図11(a)の期間[t9〜t11]で送信されたストリームデータDは、図11(b)ではストリームデータCの送信に連続して送信されることになる。
【0045】
ところが、データを再生する上で問題は生じない。その理由を説明する。
従来、可変クロック信号が記録されることはなかったために、送信タイミングがわからず、送信先のデコーダが読み出そうとするタイミングで送信先のバッファへ、該当するストリームデータを送信できないことが再生のできない理由であった。つまり、エンコーダの出力と全く同じタイミングで送信する必要はなく、送信先のデコーダが読み出そうとするタイミングで送信先のバッファへ該当するストリームデータを送信できていればよいのである。また、このタイミングはフレーム単位で送信できていればよい。そのため、マスタークロック信号で計時した6400パルスの期間は、1フレームのストリームデータから見れば十分に小さな期間であるために、このようなずれは問題なくなる。
【0046】
以上、(1)及び(2)で説明したように、本発明のデータ記録送信装置によれば、可変クロック信号を小さな記憶容量で記憶でき、それに基づいてストリームデータを送信することによって、一旦記憶したストリームデータであっても、データを送信し、その送信先においてリアルタイムに再生することができる。一旦蓄積系への応用として記録したデータを、再び通信系へ応用することが可能となる。
【0047】
なお、本発明のデータ記録送信装置は図11に示す例のような可変クロック信号、すなわち一定周期のクロック信号を間引きして作成した可変クロック信号に限定されるものではない。例えば、エンコーダから出力される可変クロック信号が期間毎に周期を変えるような形のものであってもよい。例えば、図11中の全期間[t0〜t12]でパルスを出力するような可変クロック信号であって、例えば期間[t0〜t7],[t7〜t8],[t8〜t12]の各期間で周期を変えるような可変クロック信号でもよい。一方、送信に関しても所定の処理期間に算出されたパルスを送信するよう周期を変化させた可変クロック信号を作成して送信してもよい。例えば、期間[t13〜t15],[t15〜t17]で1600パルス,800パルスのパルスが出力されるようそれぞれの期間で周期を変化させた可変クロック信号を送信してもよい。
【0048】
【発明の実施の形態】
以下、本発明の一実施形態について図面を参照して説明する。
図1は、本実施形態のデータ記録送信装置1の概略構成を示すブロック図である。
【0049】
データ記録送信装置1は、データ保持回路10と、データ送信回路20と、データ記録送信装置1全体を制御する制御部50と、データ記録送信装置1にハードディスクドライブ(以下「HDD」と記載する)70を接続するためのディスクインターフェース61と、データ記録送信装置1に、例えばCD−ROMライタ等を接続する入出力インターフェース62とを備えている。
【0050】
制御部50は、制御手段としてのCPU51と、プログラム記憶手段としてのROM52と、一時記憶手段としてのRAM53とを備えている。CPU51は、ROM52に予め記憶されているプログラムに基づいて後述するようなデータの記録及び読出処理を行う。このデータ記録及び読出処理を実行する際、RAM53はワークエリアとして機能する。
【0051】
データ保持回路10は、データを可変ビットレートで符号化可能なエンコーダ80と接続されている。エンコーダ80には、端末82及びビデオ装置85が接続されており、エンコーダ80は、ビデオ装置85から出力される映像データをエンコードして可変クロック信号及びストリームデータを出力する。このときのビットレートは端末82によって指示される。例えば、図17に示すようなタイムコードとビットレートの対応を示すタイムテーブル83が端末82内に用意されており、ビデオ装置85の映像データのタイムコードに対応するビットレートが指示されることになる。
【0052】
エンコーダ80は、ビデオ装置85からの映像データのタイムコードに対応して指示された目標のビットレートでのストリームデータの出力を行うために、例えば次のようにして可変クロック信号を作成する。エンコーダ80では、エンコーダ80の動作の基準となる一定周期のマスタークロック信号が作成され、それに基づいて符号化が行われる。ここで、タイムコードに対応する期間に目標のビットレートを実現する場合、そのビットレートは有効なストリームデータの量に比例するのであるから、目的のビットレートとするための有効なストリームデータが、例えば上記一定周期のマスタークロック信号のいくつ分のパルスに対応するかを算出する。そして、そのタイムコードに対応する期間にその算出した数のパルスを出力するような信号を可変クロック信号として作成する。もちろん、ストリームデータはこの可変クロック信号に対応させる。
【0053】
例えば、図15に示す期間Aでは、目的のビットレートを実現するために、有効とすべきストリームデータがマスタークロック信号の2つのパルスに対応しているとする。このとき、図15(a)や(b)に示すように期間Aで2つのパルスを出力する可変クロック信号を作成するのである。図15(a)は、マスタークロック信号からパルスを間引きして作成した例である。図15(b)は、期間Aに2つのパルスが出力されるように可変クロック信号の周期を変えた例である。このように、可変クロック信号のパルスは期間A中のどのタイミングで出力してもよい。本実施形態のエンコーダ80では、図15(a)に示すようにエンコーダ80のマスタークロック信号を間引きした形の可変クロック信号を出力するものとする。
【0054】
データ保持回路10は、エンコーダ80からの可変クロック信号及びストリームデータの2つのデータに基づいて、可変クロック信号関連情報及びストリームデータを取り出し保持する。上述のように、ストリームデータの有効性は可変クロック信号のパルス出力によって示される。
【0055】
制御部50は、データ保持回路10による可変クロック信号関連情報及び有効なストリームデータの取り出しに並行して、保持された可変クロック信号関連情報及び有効なストリームデータをデータ保持回路10より読み出し、HDD70に記録する。また、HDD70に記録された可変クロック信号関連情報及び有効なストリームデータを読み出し、可変クロック信号関連情報から可変クロック信号のパルス数を算出して、算出した可変クロック信号のパルス数及びストリームデータをデータ送信回路20へ順次転送する。
【0056】
データ送信回路20は、制御部50によって転送されてくる可変クロック信号のパルス数に基づき新たに可変クロック信号を作成し、送信路94を介して再生装置90へ送信すると共に、制御部50によって転送されてくるストリームデータをその可変クロック信号のパルスに対応させ、送信路94を介して再生装置90へ送信する。
再生装置90は、データ送信回路20から送信されたデータを一時的に記録するバッファ91と、バッファ91に送信されてきたストリームデータを解析して再生するデコーダ92と、再生映像を映し出すモニタ93とを備えている。
【0057】
このように本実施形態のデータ記録送信装置1は、エンコーダ80からの可変ビットレートで出力されるデータを、一旦HDD70へ記録し、後に再び送信先の再生装置90でリアルタイムに再生できるように、記録したデータを送信するものである。また、本実施形態のデータ記録送信装置1は、入出力インターフェース62を介して、従来通りCD−ROM等の記憶媒体にストリームデータのみを記録することもできる。
【0058】
次に、本実施形態のデータ記録送信装置1の特徴であるデータ保持回路10、データ送信回路20及び制御部50に関して詳しく説明する。なお、(イ)でデータ保持回路10の構成及び機能、(ロ)で制御部50によるデータ保持回路10からのデータ記録処理と、それに伴うデータ保持回路10の動作、(ハ)でデータ送信回路20の構成及び機能、(ニ)で制御部50によるデータ送信回路20へのデータ転送処理とそれに伴うデータ送信回路20の動作を説明する。また、以下の説明では本実施形態のデータ記録送信装置1のクロックジェネレータ(後述)の作成する一定周期のマスタークロック信号のパルス数で、「所定の処理期間」を6400パルスの期間、「単位パルス数」として400パルスという具体的数値を用いることとする。
【0059】
(イ)図2に示す回路図に基づいてデータ保持回路10の構成及び機能を説明する。
データ保持回路10は、エンコーダ80からの可変クロック信号からマスタークロック信号を作成する「マスタークロック信号作成手段」としてのマスタークロックジェネレータ111と、、マスタークロックジェネレータ111により作成されたマスタークロック信号に基づき6400パルスの処理期間を計測する「計時手段」としてのTカウンタ101と、可変クロック信号のパルスをカウントするrカウンタ103と、rカウンタ103から400パルス毎に出力されるアクティブな信号によりカウントアップするhカウンタ104と、Tカウンタ101から6400パルス毎に出力されるアクティブな信号を保持するラッチ102と、Tカウンタ101からアクティブな信号が出力されると、hカウンタ104の値を保持するラッチ105とを備えている。
【0060】
図4に示すように、マスタークロックジェネレータ111は間引きされた可変クロック信号から間引きする前のマスタークロック信号を作成する。マスタークロックジェネレータ111は、一定周期のマスタークロックを作成するマスタークロックオシレータ112と、マスタークロックオシレータ112の作成するマスタークロック信号の周期を可変クロック信号のパルス出力に基づいて補正するPLL113とを備えている。
【0061】
つまり、図5に示すように、間引きした可変クロック信号がエンコーダ80から出力されるときを考える。マスタークロックオシレータ112では、間引きする前のエンコーダ80のマスタークロック信号に近い周期のマスタークロック信号を作成する。そして、PLL113は可変クロック信号のパルスの立ち上がり時点、図5中のt19,t20,t21,t22,t23でマスタークロックオシレータ112の作成するパルスの時間的なずれを補正して、エンコーダ80のマスタークロック信号に同期させる。これによって、エンコーダ80の動作に同期してデータを記録することが可能となる。
【0062】
rカウンタ103は、可変クロック信号のパルスをカウントし、400パルス毎にhカウンタ104に対してアクティブな信号を出力する。hカウンタ104の計数値はTカウンタ101が6400パルス毎に出力するアクティブな信号によってラッチ105に保持される。これによって、6400パルスの所定の処理期間における可変クロック信号のパルスの合計を400パルスの単位期間で割った整数商がラッチ105に保持されることになる。すなわち、ラッチ105に保持されるhカウンタ104の値が「可変クロック信号関連情報」となる。hカウンタ104の計数値がラッチ105に保持されると、その直後にhカウンタ104はクリアされて0となる。rカウンタ103及びhカウンタ104は「計数手段」に相当する。なお、ラッチ102にアクティブな信号が保持されるとラッチ105に保持された可変クロック信号関連情報を読み出せるよう構成されており、ラッチ105に保持された可変クロック信号関連情報が制御部50により読み出されるとラッチ102はクリアされる。
【0063】
また、データ保持回路10は、制御部50からのアクセスを管理するアドレスデコーダ106と、ストリームデータを8ビット単位にするシフトレジスタ109と、作成したマスタークロック信号に基づき8ビット毎にアクティブな信号を出力する8ビットカウンタ107と、8ビットカウンタ107から8ビット毎に出力されるアクティブな信号を保持するためのラッチ108と、8ビットカウンタからアクティブな信号が出力されると、シフトレジスタ109に入力された8ビットのストリームデータを保持するラッチ110とを備えている。
【0064】
アドレスデコーダ106は、アドレスバスに接続されており、制御部50からアクセスがあると対応するデータがデータバス上に出力されるよう構成されている。ラッチ108は、ラッチ110に保持されたストリームデータが制御部50により読み出されるとクリアされる。
【0065】
8ビットカウンタ107及びシフトレジスタ109には、可変クロック信号が入力されており可変クロック信号のパルスに対応して動作するよう構成されている。これによって、シフトレジスタ109に入力されるストリームデータは可変クロック信号のパルスに対応することになる。
【0066】
(ロ)次に制御部50によるデータ保持回路10からのデータ記録処理と、それに伴うデータ保持回路10の動作を説明する。なお、制御部50によるデータ記録処理は図3のフローチャートに基づいて説明し、データ保持回路10の動作は図2の回路図に基づいて説明する。
【0067】
図3中の最初のステップS1000において、ストリームデータを記録するためのファイルをオープンする。続くS1010では、可変クロック信号関連情報を記録するためのファイルをオープンする。なお、ストリームデータを記録するためのファイル及び可変クロック信号関連情報を記録するためのファイルは、HDD70に用意されている。
【0068】
次に、S1020では図2中のラッチ108にアクティブな信号が保持されているか否かを判断する。この処理は、ストリームデータが図2中のラッチ110に保持されているか否かを判断するための処理である。可変クロック信号のパルスに対応して8ビット分のストリームデータがシフトレジスタ109に入力され、8ビットカウンタ107からのアクティブな信号により、ラッチ110にその8ビットのストリームデータが保持され、8ビットカウンタ107からのアクティブな信号がラッチ108に保持される。
【0069】
S1020で肯定判断された場合、すなわちラッチ108にアクティブな信号が保持されている場合には、S1030にてラッチ110に保持されている8ビット分のストリームデータを読み出して、S1040にてHDD70中のストリームデータを記録するためのファイルに記録する。そして、S1050へ移行する。一方、S1020で否定判断された場合、すなわちラッチ108にアクティブな信号が保持されていない場合には、S1030及びS1040の処理を実行せずS1050へ移行する。なお、S1030の読み出し処理と同時にラッチ108はクリアされる。
【0070】
S1050では、ラッチ102にTカウンタ101からのアクティブな信号が保持されているか否かを判断する。この処理は、ラッチ105に6400パルスの処理期間に対応する可変クロック信号関連情報が保持されているか否かを判断する処理である。Tカウンタ101が6400パルスの処理期間を計時してアクティブな信号を出力することにより、ラッチ105に可変クロック信号関連情報としてhカウンタ104の計数値が保持され、Tカウンタ101からのアクティブな信号がラッチ102に保持される。その直後にhカウンタ104はクリアされて0となる。
【0071】
S1050で肯定判断された場合、すなわちラッチ102にアクティブな信号が保持されている場合には、S1060にてラッチ105に保持されている可変クロック信号関連情報を読み出し、S1070にて可変クロック信号関連情報を記録するためのHDD70中のファイルに記録する。そして、S1080へ移行する。一方、S1050で否定判断された場合、すなわちラッチ102にアクティブな信号が保持されていない場合には、S1060及びS1070の処理を実行せずS1080へ移行する。
【0072】
なお、S1060の読み出し処理と同時に、ラッチ102はクリアされる。また、S1070では、可変クロック信号関連情報がHDD70中のファイルに、図16に示すようなフォーマットで記録される。つまり、1つの可変クロック信号関連情報の記憶容量として8ビットの記憶容量が割り当てられており、最上位ビットに0が記録され、下位7ビットに可変クロック信号関連情報が記録される。図16では、最初の処理期間の可変クロック信号関連情報が4であり、次の処理期間での可変クロック信号関連情報が2である。このように、最上位パルスを0として順に可変クロック信号関連情報が記憶されていき、最後の行にrカウンタ103に残った400パルス未満の可変クロック信号のパルス数が記録される。このとき、400パルス単位で記録された可変クロック信号関連情報と区別するために最上位パルスを1として記録する。
【0073】
S1080では、エンコーダ80からのデータ出力が終了したか否かを判断する。S1080で否定判断された場合、すなわちエンコーダ80からのデータ出力が終了していない場合には、S1020へ移行し、それ以降の処理を繰り返す。一方、S1080で肯定判断された場合、すなわちエンコーダ80からのデータ出力が終了した場合にはS1090へ移行する。
【0074】
S1090では、エンコーダ80からの出力の終了時点でrカウンタ103に残った400パルス未満の可変クロック信号のパルス数を読み出し、その可変クロック信号のパルス数を直接記録する。繁雑になるため、図2では省略したが、上述のパルス数を取り出すために、rカウンタ103の計数値を読み出す回路が用意されている。rカウンタ103に残った400パルス未満の可変クロック信号のパルス数は、上述のように、図16に示すフォーマットの最後の行に記録され、この場合は、最上位パルスを1として下位の7パルスにrカウンタの計数値が記録される。
【0075】
続くS1100では、ストリームデータを記録するためのファイルをクローズする。そして、S1110では、可変クロック信号関連情報を記録するためのファイルをクローズして本データ記録処理を終了する。
なお、例えば、CD−ROM等に記録する場合には、ストリームデータを記録したファイルに記録されたストリームデータを読み出して入出力インターフェース62を介して記録すればよい。また、制御部50は「記録初期化手段」及び「ストリームデータ記録手段」に相当し、制御部50が実行する処理の内、S1060及びS1070が記録初期化手段としての処理に相当し、S1030及びS1040がストリームデータ記録手段としての処理に相当する。
【0076】
(ハ)図6は、データ送信回路20の回路構成を示す回路図である。次に図6に示す回路図に基づきデータ送信回路20の構成及び機能を説明する。
データ送信回路20は、一定周期のマスタークロック信号を出力する「マスタークロック信号作成手段」としてのマスタークロックジェネレータ135と、マスタークロックジェネレータ135からのマスタークロック信号に基づいて6400パルスの処理期間を計時するための「計時手段」としてのTカウンタ137と、アドレスバスに接続され図1に示す制御部50からデータ送信回路20に対するアクセスを管理するアドレスデコーダ134と、制御部50によって図1に示すHDD70から可変クロック信号関連情報が読み出され、その可変クロック信号関連情報から算出された可変クロック信号のパルス数を保持するクロックラッチ140と、クロックラッチ140から転送されるパルス数に基づき、マスタークロックジェネレータ135からのマスタークロック信号に基づいて可変クロック信号を生成し送信する「可変クロック信号送信手段」としてのクロックカウンタ139とを備えている。アドレスデコーダ134からは信号H〜Mが制御部50のアクセスに対応して出力される。
【0077】
また、データ送信回路20は、制御部50によってHDD70から8ビット単位で読み出されたストリームデータを保持するラッチ131と、ラッチ131から転送される8ビット単位のストリームデータを1ビット単位(シリアル)にし、マスタークロックジェネレータ135からのマスタークロック信号に基づいてバッファ91に送信するシフトレジスタ132と、マスタークロックジェネレータ135からのマスタークロック信号に基づいて8ビットの期間を計時する8ビットカウンタ133とを備えている。
【0078】
シフトレジスタ132及び8ビットカウンタ133のイネーブル端子には、クロックカウンタ139から出力される可変クロック信号が入力されており、可変クロック信号のパルスに対応して動作するよう構成されている。これによって、ストリームデータは可変クロック信号のパルスに対応して送信されることになる。なお、シフトレジスタ132は「ストリームデータ送信手段」に相当する。
【0079】
さらにまた、データ送信回路20は、8ビットカウンタ133が8ビットの期間を計時する毎に出力するアクティブな信号を保持するためのラッチ136と、Tカウンタ137が6400パルス毎に出力するアクティブな信号を保持するためのラッチ138とを備えている。ラッチ136は、制御部50がストリームデータをラッチ131に書き出すタイミングを判断するためのものであり、ラッチ138は制御部50が可変クロック信号のパルス数をクロックラッチ140に書き出すタイミングを判断するためのものである。ラッチ136及びラッチ138は、制御部50による書き出しが行われると同時にアドレスデコーダ134から出力される信号I及びKによってそれぞれクリアされる。
【0080】
また、データ送信回路20は、8ビットカウンタ133からの出力とアドレスデコーダ134からの信号Hとが入力される2入力OR142と、Tカウンタ137の出力とアドレスデコーダ134からの信号Jとが入力される2入力OR141とを備えている。2入力OR142の出力はシフトレジスタ132のLD端子に入力され、2入力OR141の出力はクロックカウンタ139のLD端子に入力されている。
【0081】
これによって、アドレスデコーダ134からの信号Hがアクティブになったとき又は8ビットカウンタ133からの出力がアクティブになったときには、シフトレジスタ132にラッチ131に保持されているストリームデータが転送される。同様にアドレスデコーダからの信号Jがアクティブになったとき又はTカウンタからの出力がアクティブになったときには、クロックラッチ140に保持されている可変クロック信号のパルス数がクロックカウンタ139に転送される。
【0082】
Tカウンタ137のイネーブル端子には、アドレスデコーダ134の信号Lが入力されており、この信号Lがアクティブになるとデータの送信が開始される。(ニ)次に、制御部50によるデータ送信回路20へのデータ転送処理と、それに伴うデータ送信回路20の動作を説明する。なお、制御部50によるデータ転送処理は図7、図8及び図9のフローチャートに基づいて説明し、データ送信回路20の動作については図6の回路図に基づいて説明する。
【0083】
図7中の最初のステップS1200において、制御部50は可変クロック信号関連情報を記録したファイル及びストリームデータを記録したファイルをオープンする。続くS1210では、ストリームデータを記録したHDD70中のファイルから8ビット単位でストリームデータを読み出す。そして、S1220にて、読み出したストリームデータを図6中のラッチ131に書き出す。この処理でラッチ136はクリアされる。
【0084】
S1230では、図6中のラッチ131に保持された8ビットのストリームデータをシフトレジスタ132へ転送する。これは、シフトレジスタ132のLD端子への入力信号であるアドレスデコーダ134からの信号Hをアクティブにすることによって行われる。
【0085】
S1240及びS1250は、上述のS1210及びS1220と同様の処理が行われる。すなわち、ストリームデータを記録したファイルから8ビット単位でストリームデータを読み出し(S1240)、読み出したストリームデータをラッチ131に書き出す(S1250)。
【0086】
S1210〜S1250の処理によって、シフトレジスタ132に8ビットのストリームデータが保持され、ラッチ131にはそれに続く8ビットのストリームデータが保持されていることになる。
S1260では、可変クロック信号関連情報を記録したHDD70中のファイルから可変クロック信号関連情報を読み出す。続くS1261では、読み出した可変クロック信号関連情報に基づき6400パルスの処理期間に対する可変クロック信号のパルス数を算出する。このパルス数算出処理については後述する。そして、S1262では、算出した可変クロック信号のパルス数を図6中のクロックラッチ140に書き出す。
【0087】
S1263では、クロックラッチ140に保持された可変クロック信号のパルス数をクロックカウンタ139へ転送する。これは、クロックカウンタ139のLD端子への入力信号であるアドレスデコーダ134からの信号Kをアクティブにすることによって行われる。
【0088】
S1264〜S1266では、S1260〜S1262と同様の処理を行う。すなわち、可変クロック信号関連情報を記録したHDD70中のファイルから可変クロック信号関連情報を読み出し(S1264)、可変クロック信号のパルス数を算出し(S1265)、クロックラッチ140に書き出す(S1266)。
【0089】
S1260〜S1266の処理によって、図6中のクロックカウンタ139には最初の6400パルスの処理期間に対応する可変クロック信号のパルス数がセットされ、クロックラッチ140には次の6400パルスの処理期間に対応する可変クロック信号のパルス数が保持される。
【0090】
そして、図8中のS1267で送信の開始を指示する。この処理は、Tカウンタ137のイネーブル端子への入力信号であるアドレスデコーダ134からの信号Lをアクティブとする処理である。これによって、図6中のTカウンタ137がマスタークロックジェネレータ135からのマスタークロック信号に同期して動作を開始する。
【0091】
図6中のクロックカウンタ139は、セットされたパルス数をカウントしながらパルスをバッファ91へ出力し、パルス数のカウントが終了するとパルスの出力を停止する。Tカウンタ137は6400パルスの処理期間をカウントするとアクティブな信号を出力する。この信号はラッチ138に保持されると同時にクロックカウンタ139のLD端子へ入力される。LD端子へアクティブな信号が入力されることで、クロックカウンタ139にクロックラッチ140から次の処理期間における可変クロック信号のパルス数が転送される。
【0092】
そして、クロックカウンタ139が可変クロック信号としてパルスを出力している間は8ビットカウンタ133及びシフトレジスタ132のイネーブル端子にもパルスが入力されることになるため、可変クロック信号のパルスに対応して、8ビットカウンタ133及びシフトレジスタ132が動作する。
【0093】
シフトレジスタ132はセットされている8ビット単位のストリームデータを1ビット単位(ビットシリアル)で送信する。8ビットカウンタは8ビット毎にアクティブな信号を出力する。この信号はラッチ136に保持されると共に、2入力OR142を介してシフトレジスタ132のLD端子へ入力される。シフトレジスタ132はアクティブな信号がLD端子に入力されると、ラッチ131から次の8ビットのストリームデータを転送する。
【0094】
このように、クロックカウンタ139は6400パルス毎に可変クロック信号のパルス数をクロックラッチ140からTカウンタ137に基づき転送し、シフトレジスタ132は、クロックカウンタ139がパルスを出力している間、8ビット毎にラッチ131よりストリームデータを転送する。
【0095】
これらのデータ送信の動作に対応して以下に説明するように、制御部50がクロックラッチ140及びラッチ131へのデータの書き出しを行う。
S1270では、ラッチ136にアクティブな信号が保持されているか否かを判断する。この処理は、ラッチ131に保持される8ビット単位のストリームデータが既にシフトレジスタ132に転送されているか否かを判断するための処理である。8ビットの期間が8ビットカウンタ133により計時され、シフトレジスタ132にラッチ131に保持されたストリームデータが転送されている場合、ラッチ136には8ビットの期間を計時したカウンタ133から出力されたアクティブな信号が保持されている。
【0096】
S1270で肯定判断された場合、すなわちラッチ136にアクティブな信号が保持されている場合には、S1280にてストリームデータを記録したHDD70中のファイルから8ビット単位でストリームデータを読み出し、S1290にて、読み出したストリームデータラッチ131へ書き出す。このとき、アドレスデコーダ134からはラッチ136に対する信号Iがアクティブで出力されラッチ136がクリアされる。一方、S1270で否定判断された場合、すなわちラッチ136にアクティブな信号が保持されていない場合には、S1280及びS1290の処理を実行せずS1300へ移行する。
【0097】
S1300では、ラッチ138にアクティブな信号が保持されているか否かを判断する。この処理は、クロックラッチ140に保持される可変クロック信号のパルス数が既にクロックカウンタ139に転送されているか否かを判断するための処理である。6400パルスの処理期間が計時され、クロックカウンタ139にクロックラッチ140に保持された可変クロック信号のパルス数が転送されている場合、ラッチ138には、6400パルスの処理期間を計時したTカウンタ137からのアクティブな信号が保持されている。
【0098】
S1300で肯定判断された場合、すなわちラッチ138にアクティブな信号が保持されている場合には、S1310にて可変クロック信号関連情報の記録されたHDD70中のファイルから可変クロック信号関連情報を読み出し、S1315で可変クロック信号関連情報から可変クロック信号のパルス数を算出し、S1320にてクロックラッチ140へ算出したパルス数を書き出して1330へ移行する。なお、S1320の書き出し処理では、アドレスデコーダ134からの信号Kがアクティブとなり、ラッチ138はクリアされる。一方、S1300で否定判断された場合、すなわちラッチ138にアクティブな信号が保持されていない場合には、S1310〜S1320の処理を実行せずS1330へ移行する。
【0099】
S1330では、ストリームデータを全て読み出したか否かを判断する。ストリームデータを全て読み出している場合(S1330:YES)、S1340にてストリームデータを記録したファイル及び可変クロック信号関連情報を記録したファイルをそれぞれクローズして本データ読出処理を終了する。一方、ストリームデータを全て読み出していない場合(S1330:NO)、S1270へ移行して以降の処理を繰り返す。
【0100】
なお、制御部50が「パルス数算出手段」に相当し、制御部50が実行する処理の内、ステップS1260,S1261,S1264,S1265,S1310,S1315がパルス数算出手段としての処理に相当する。
次にS1261,S1265,S1315に示したパルス数算出処理を図9のフローチャートに基づいて説明する。
【0101】
まず、最初のステップS1400において、読み出した可変クロック信号関連情報の最上位ビットが0であるか否かを判断する。最上位ビットが0である場合(S1400:YES)、可変クロック信号関連情報を400倍する。一方、最上位パルスが0でない場合(S1400:NO)、S1410の処理を実行せず本パルス数算出処理を終了する。つまり、最上位パルスを0として通常記録される可変クロック信号関連情報は、パルス数の合計を400パルスの単位期間で割った商であるため、400倍してパルス数を算出するのである。データ記録処理の最後に図2中のrカウンタ103に残った可変クロック信号のパルス数については上述したように最上位パルスを1として記録されている。この場合、パルス数を直接記録しているため読み出した可変クロック信号関連情報がそのまま可変クロック信号のパルス数になるのである。
【0102】
以上説明した本実施形態のデータ記録送信装置1の動作を図11のタイミングチャートに基づいて具体的に説明する。なお、図11に示す可変クロック信号は、パルスの出力期間をhighレベルで表している。すなわち、highレベルの状態にあるとき、一定周期でパルスが出力されていることを示している。
【0103】
まず、図11(a)に基づきデータ記録の動作を説明する。
図11(a)には、エンコーダ80から出力される可変クロック信号及びストリームデータが示されている。図11(a)では、期間[t0〜t4]、期間[t5〜t7]及び期間[t9〜t11]が可変クロック信号のパルス出力期間である。ストリームデータはこれらの期間に出力される可変クロック信号のパルスに対応して有効とされる。
【0104】
ここで、図2に示したようにストリームデータを取り出すシフトレジスタ109及び8ビット単位でストリームデータを取り出すための8ビットカウンタ107には可変クロック信号が入力されており、可変クロック信号のパルスに対応して動作するよう構成されているので、有効なストリームデータがラッチ110に保持される。すなわち、上述の期間[t0〜t4],[t5〜t7],[t9〜t11]で可変クロック信号のパルスに対応するストリームデータが制御部50によって記録される。
【0105】
このとき、図2中のマスタークロックジェネレータ111は、エンコーダ80からの可変クロック信号からマスタークロック信号を作成する。そして、Tカウンタ101は、そのマスタークロック信号に基づいて6400パルスの処理期間を計時し、6400パルス毎にアクティブな信号を出力する。図11(a)中では、期間[t0〜t8]及び期間[t8〜t12]が6400パルスであるため、時刻t8及びt12でTカウンタ101からアクティブな信号が出力される。
【0106】
そして、図2中のrカウンタ103は、可変クロック信号のパルスをカウントし、パルス数が400パルスとなる毎にアクティブな信号をhカウンタ104へ出力する。hカウンタ104はrカウンタ103からアクティブな信号が出力されるとカウントアップする。ところで、図11(a)では、期間[t0〜t1],[t1〜t2],[t2〜t3],[t10〜t11]がそれぞれ400パルス、期間[t3〜t4],[t5〜t6],[t6〜t7],[t9〜t10]がそれぞれ200パルスである。従って、rカウンタ103からアクティブな信号が出力される時刻は、時刻t1,t2,t3,t6,t10,t11となる。
【0107】
制御部50は図2中のラッチ102にTカウンタ101からのアクティブな信号が保持されている場合、ラッチ105に保持されている可変クロック信号関連情報であるhカウンタ104の計数値をHDD70へ記録する。そして、ラッチ105の値を読み出すと同時にラッチ102をクリアする。つまり、図11(a)では、時刻t8及びt12でラッチ102にアクティブな信号が保持されるため、そのすぐ後にラッチ105に保持された可変クロック信号関連情報が記録される。時刻t8におけるラッチ105の値は、時刻t1,t2,t3,t6でhカウンタ104がカウントアップされるため「4」となる。ここで、hカウンタ104はクリアされて0となるため、時刻t10で新たにhカウンタ104の値は「1」となり、t12でのhカウンタ104の値は「2」、従ってt12でのラッチ105の値は「2」となる。
【0108】
以上説明したことからわかるように、6400パルスの処理期間を通して可変クロック信号のパルスが出力された場合、ラッチ105には最大値「16」が保持され、6400パルスの処理期間を通して可変クロック信号のパルスが出力されない場合、ラッチ105には最小値「0」が保持される。従って、本実施形態では6400パルス毎の処理期間に対して可変クロック信号関連情報を記録するための記憶容量を6400パルスの処理期間毎に8ビット分用意すればよい。また、図2中のrカウンタ103は、可変クロック信号のパルスをカウントするため、6400パルスの間に可変クロック信号のパルスがどのようなタイミングで出力されてもよい。すなわち、上述の従来技術に示したランレングス符号化の方法のように、記憶容量に可変クロック信号の影響を受けない。
【0109】
次に、図11(b)に基づきデータ送信の動作を説明する。
図11(b)は、送信される可変クロック信号及びその可変クロック信号に対応して送信されるストリームデータを示している。
図6中のTカウンタ137はマスタークロックジェネレータ135から出力されたマスタークロック信号に基づいて6400パルスの処理期間を計時する。図11(b)中の期間[t13〜t15]及び[t15〜t17]が6400パルスの処理期間であり、Tカウンタ137は時刻t15及びt17でアクティブな信号を出力する。
【0110】
制御部50は、可変クロック信号関連情報をHDD70より読み出し、可変クロック信号のパルス数を算出する。つまり、図11(a)では、最初の処理期間でラッチ105の値「4」が可変クロック信号関連情報として記録され、次の処理期間でラッチ105の値「2」が記録された。そこで、制御部50は、400パルス×4=1600パルス、400パルス×2=800パルスを可変クロック信号の各処理期間におけるパルス数として算出する。
【0111】
そして、クロックカウンタ139はクロックラッチ140から転送されセットされたパルス数をカウントしながらマスタークロックジェネレータ135の周期のパルスを可変クロック信号として図11(b)中の時刻t14まで送信する。そして、セットされたパルス数が0となると、Tカウンタ137がアクティブな信号を出力する時刻t15までパルスの出力をしない。
【0112】
図6中のシフトレジスタ132及び8ビットカウンタ133のイネーブル端子にはクロックカウンタ139から送信される可変クロック信号が入力されており、可変クロック信号の送信に対応してストリームデータを送信する。図11(b)中では期間[t13〜t14],[t15〜t16]で、可変クロック信号のパルスに対応させてストリームデータを送信する。
【0113】
これによれば、ストリームデータの送信タイミングは、エンコーダ80からの出力タイミングと比べてずれが生じることになる。例えば、図11(a)の期間[t5〜t6]で出力されたストリームデータBは、図11(b)ではストリームデータAの送信に連続して送信されることになる。また、図11(a)の期間[t6〜t7]で出力されたストリームデータCは、図11(b)では時刻t15より送信されることになる。さらに、図11(a)の期間[t9〜t11]で送信されたストリームデータDは、図11(b)ではストリームデータCの送信に連続して送信されることになる。
【0114】
以上説明してきた本実施形態のデータ記録送信装置1により発揮される効果を詳しく説明する。
本実施形態のデータ記録送信装置1においては、図2に示したデータ保持回路10のTカウンタ101が6400パルスの処理期間を計時し、この処理期間毎にラッチ105に保持される可変クロック信号関連情報を記録することにより、可変クロック信号のパルスの出力されない期間を記録する必要がなくなる。なぜなら、6400パルスの処理期間中のパルスの出力期間に対応する情報が可変クロック信号関連情報であり、可変クロック信号関連情報を記録することによって、可変クロック信号のパルスの出力されない期間は自ずとわかるからである。
【0115】
これによって、上述の図13,図14の例に示したような可変クロック信号の全期間を記録する方法に比べて、可変クロック信号のパルスの出力されない期間分の記憶容量が削減できる。
一方、図2中の可変クロック信号のパルス数を計時するrカウンタ103は、可変クロック信号のパルス数をカウントするため、可変クロック信号のパルスがどのようなタイミングで出力されたとしても記憶容量が増大するようなことがない。これによって、可変クロック信号関連情報は、6400パルスの処理期間中の可変クロック信号のパルス数の合計に関する情報となり、6400パルスの処理期間毎に必要な記憶容量は一定となる。
【0116】
例えば、上述の図14に示したような方法ではパルスの出力が断続しておこると、記憶容量が増える結果となっていた。それに対して、この場合は、可変クロック信号のパルスの出力タイミングに関係なく記憶容量を一定とすることができる。
【0117】
さらに、6400パルスの処理期間における可変クロック信号のパルス数の合計を、400パルスの単位パルス数で割った整数商を記録することによって、可変クロック信号のパルス数に比例する記憶容量の増大は生じない。例えば、可変クロック信号のパルス数が1200パルス、1600パルス、6000パルスであった場合、そのまま記録すれば1200ビット、1600ビット、6000ビットというパルス数に比例する記憶容量が必要となる。ところが、400パルスの単位パルス数で割った整数商を記録するようにしたことによって、この場合はそれぞれ「3」、「4」、「15」を記録すればよいことになる。
【0118】
これらによって、本データ記録送信装置1では、可変クロック信号によるタイミング情報を可変クロック信号関連情報として極めて小さな記憶容量で記録することができる。例えば、エンコーダ80のマスタークロック信号が10MHz、平均ビットレート5Mbpsの画像データを10分間記録する場合を考える。このとき、可変クロック信号をそのまま記録すると、1500Mバイトもの記憶容量となってしまう。それに対して、データ記録送信装置1で記録すると、6400パルスに8ビットの記憶容量となるため、84.4Mバイトとなる。
【0119】
また、本実施形態のデータ記録送信装置1においては、図6に示したデータ送信回路20のTカウンタ137が6400パルスの処理期間を計時し、Tカウンタ137から6400パルス毎に出力されるアクティブな信号に基づいて制御部50が可変クロック信号関連情報を読み出し、その可変クロック信号関連情報に基づく可変クロック信号をクロックカウンタ139が送信する。これによって、6400パルスの処理期間で見れば、送信される可変クロック信号のパルス数は、エンコーダ80から出力された可変クロック信号のパルス数と変わらない。これによって、送信先の再生装置90でリアルタイムにストリームデータを再生することができる。
【0120】
但し、6400パルスの処理期間単位でのビットレートは、エンコーダ80から出力されたときのビットレートとほぼ等しくなるが、上述したように、6400パルスの処理期間よりも小さな期間でのビットレートは、エンコーダ80から出力されたときのビットレートとは一般的に一致しない。ところが、再生装置90での再生に影響はない。この理由を説明する。従来、可変クロック信号が記録されることはなかったために、送信タイミングがわからず、送信先の再生装置90のデコーダ92がバッファ91から読み出そうとするタイミングで送信先のバッファ91へ、該当するストリームデータを送信できないことが再生のできない理由であった。つまり、エンコーダ80の出力と全く同じタイミング(パルス単位で同期させて)送信する必要はなく、再生装置90のデコーダ92が読み出そうとするタイミングで再生装置90のバッファ91へ該当するストリームデータを送信できていればよいのである。すなわち、1枚の画像(フレーム単位)で送信できていればよい。
【0121】
また、本実施形態のデータ記録送信装置1は、400パルス毎に可変クロック信号のパルス数を示すrカウンタ103を利用しており、6400パルスの処理期間をTカウンタ101が計時した時点でrカウンタ103は可変クロック信号のパルス数の端数を保持している。これによって、ある処理期間における可変クロック信号のパルス数を400パルスの単位パルス数で割った余りは、次の処理期間における可変クロック信号のパルス数に加算されることになる。つまり、6400パルス毎に記録される可変クロック信号関連情報は整数として扱うことができ、端数の可変クロック信号のパルス数も欠落しない。
【0122】
さらにまた、本実施形態のデータ記録送信装置1は、制御部50の読み出し処理において、最後の処理期間の可変クロック信号のパルス数をrカウンタ103から直接読み出して記録している。これによって、最後にrカウンタ103に残った可変クロック信号のパルス数も欠落しない。
【0123】
なお、本実施形態のデータ記録送信装置1では、図2中の400パルスのrカウンタ103に対して、その整数倍の期間である6400パルスを計時するTカウンタ101を利用していることにより、回路構成が簡潔になるという効果もある。また、本実施形態のデータ記録送信装置1におけるデータ保持回路10はマスタークロック信号をエンコーダからの可変クロック信号に基づいてマスタークロックジェネレータ111が作成していた。これによって、エンコーダ80の符号化処理と同期してデータの記録を行うことが可能である。一方、エンコーダ80からの可変クロック信号がエンコーダ80のマスタークロック信号を間引きして作成したものでなく、周期を変化させて作成したものであるときには、マスタークロック信号は本実施形態のデータ保持回路10内で独自に作成してもよい。
【0124】
以上、本発明はこのような実施形態に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。
例えば、上記実施の形態においては、8ビット単位で制御部50によりデータを転送していたが、バッファを持たせ複数バイトを一度に転送しても良い。さらにデータの転送において割り込みやDMAを用いる事も有用である。
ファイルの形式も上記実施形態のように二つのファイルにするのではなく、一つのファイルにまとめる事もできる。この場合には可変クロック信号関連情報を先に記録する必要がある。なぜなら、送信時データ長を可変クロック信号関連情報により認識しなければならないからである。そのための構成としては、ストリームデータを6400パルスの処理期間中バッファに保持し、その処理期間中の可変クロック信号関連情報が決まった後、可変クロック信号関連情報、ストリームデータの順にファイルに記録するようにすればよい。
【0125】
また、処理期間及び単位パルス数はデータ記録送信装置毎に設定されるものであり、本実施形態では処理期間を6400パルス、単位パルス数を400パルスとしているが、これに限定されるものではない。
【図面の簡単な説明】
【図1】実施形態のデータ記録送信装置の概略構成を示すブロック図である。
【図2】実施形態のデータ記録送信装置のデータ保持回路の回路図である。
【図3】データ保持回路からのデータ記録処理を示すフローチャートである。
【図4】データ保持回路のマスタークロックジェネレータの概略構成を示すブロック図である。
【図5】データ保持回路のマスタークロックジェネレータに対する信号のタイムチャートである。
【図6】実施形態のデータ記録送信装置のデータ送信回路の回路図である。
【図7】CPUにおけるデータ記録回路へのデータ送信処理を示すフローチャートの前半部分である。
【図8】CPUにおけるデータ記録回路へのデータ送信処理を示すフローチャートの後半部分である。
【図9】CPUにおける可変クロック信号関連情報から可変クロック信号のパルス数を算出するパルス数算出処理を示すフローチャートである。
【図10】可変クロック信号の記録及び送信を示すタイムチャートである。
【図11】可変クロック信号及びストリームデータの記録及び送信を示すタイムチャートである。
【図12】エンコーダから出力される信号を示すタイムチャートである。
【図13】可変クロック信号をパルス単位で表現したタイムチャートである。
【図14】可変クロック信号をランレングス符号化した状態を示すタイムチャートである。
【図15】エンコーダからの出力信号を説明するタイムチャートである。
【図16】可変クロック信号関連情報の記録フォーマットの説明図である。
【図17】端末内のタイムテーブルの説明図である。
【符号の説明】
1…データ記録送信装置 10…データ保持回路
20…データ送信回路 50…制御部
51…CPU 52…ROM
53…RAM 61…ディスクインターフェース
62…入出力インターフェース 70…ハードディスクドライブ
80…エンコーダ 82…端末
83…タイムテーブル 85…ビデオ装置
90…再生装置 91…バッファ
92…デコーダ 93…モニタ
94…送信路
101…Tカウンタ 103…rカウンタ
104…hカウンタ 106…アドレスデコーダ
107…8ビットカウンタ 109…シフトレジスタ
111…マスタークロックジェネレータ
112…マスタークロックオシレータ
113…PLL
102,150,108,110……ラッチ
132…シフトレジスタ 133…8ビットカウンタ
134…アドレスデコーダ 135…クロックジェネレータ
137…Tカウンタ 139…クロックカウンタ
131,136,138…ラッチ 140…クロックラッチ
141,142…2入力OR[0001]
BACKGROUND OF THE INVENTION
The present invention relates to recording / transmission of digital data, and more particularly to a technique for recording / transmitting data at a variable bit rate of a digital compressed image.
[0002]
[Prior art and problems to be solved by the invention]
Conventionally, there is a technique called variable bit rate (VBR) coding in an image compression system represented by MPEG (Moving Picture Image Coding Experts Group). In the variable bit rate encoding, for example, when the difference from one image to the next image is large, the image data to be reproduced is encoded at a high rate, and when the difference is small, the image data is encoded at a low rate. As a result, the average bit rate can be lowered without degrading the image quality, and as a result, the image quality becomes higher than that of a technique called constant bit rate (CBR) coding.
[0003]
Incidentally, an image compression method represented by MPEG is generally applied to two storage systems and communication systems. Of course, the above-described variable bit rate encoding method is also mainly applied to the storage system and the communication system. As an application to the storage system, it is conceivable to record image data on a medium such as a hard disk or a CD-ROM. On the other hand, as an application to a communication system, for example, it is conceivable that image data is transmitted via a wireless or wired transmission path, and the image data is reproduced in real time at a transmission destination.
[0004]
However, when the image data recorded on the hard disk or the like is applied again to the communication system as an application to the storage system, the following problems occur. In order to explain this problem, first, a signal output from an encoder capable of variable bit rate encoding will be described.
[0005]
An encoder that compresses image data and can perform variable bit rate encoding performs encoding while changing the bit rate according to the time code of the original image. Since the stream data output from such an encoder is not at a constant rate, this stream data is output together with output timing information. The output timing information generally includes a “strobe signal” indicating the valid period of stream data, but it is also conceivable to use a “clock signal”. The clock signal here, that is, the clock signal indicating the output timing, is not a clock signal (master clock signal) having a constant period. Hereinafter, the clock signal indicating the output timing is referred to as a “variable clock signal” in distinction from a normal clock signal (master clock signal).
[0006]
The variable clock signal indicates that the stream data is valid at the output of the pulse. Since the bit rate is proportional to the amount of effective stream data, it is proportional to the number of pulses of the variable clock signal. That is, the bit rate can be changed by changing the number of pulses of the variable clock signal. Note that the number of pulses is counted as one square wave of one period.
[0007]
The variable clock signal can be created, for example, as follows. In the encoder, a master clock signal having a fixed period that is a reference for the operation of the encoder is generated, and encoding is performed based on the master clock signal. Here, when realizing a bit rate for a certain period, the bit rate is proportional to the amount of effective stream data. Therefore, effective stream data for achieving a target bit rate is, for example, of the above-mentioned fixed period. The number of pulses corresponding to the master clock signal is calculated. Then, a signal that outputs the calculated number of pulses during the period may be generated as a variable clock signal. Of course, the stream data corresponds to the variable clock signal.
[0008]
For example, in the period A shown in FIG. 15, it is assumed that stream data that should be valid corresponds to two pulses of the master clock signal in order to achieve the target bit rate. At this time, as shown in FIGS. 15A and 15B, a variable clock signal that outputs two pulses in the period A is created. FIG. 15A shows an example in which pulses are thinned out from a master clock signal. FIG. 15B shows an example in which the cycle of the variable clock signal is changed so that two pulses are output in the period A. As described above, the pulse of the variable clock signal may be output at any timing during the period A.
[0009]
The present invention is premised on the above-described encoder that uses a variable clock signal as output timing information, that is, an encoder that outputs a variable clock signal and stream data.
FIG. 12 shows an output example from the encoder assumed in the present invention, and shows a variable clock signal created by thinning out a clock signal having a constant period and stream data corresponding to the variable clock signal. Pulses of the variable clock signal are output in the period T1 and the period T2, and the stream data is valid corresponding to the pulses. That is, stream data corresponding to the number of pulses of the variable clock signal is output corresponding to the pulses of the variable clock signal.
[0010]
In order to explain the problems described later, a method for recording a signal from the encoder when variable bit rate coding is applied to the storage system will be described. For example, consider recording the output from an encoder on a medium such as a hard disk or a CD-ROM. At this time, only the stream data output from the encoder is recorded, and the variable clock signal is not recorded. This is because a change in bit rate can be recognized by analyzing the stream data. Therefore, it is not necessary to record a variable clock signal indicating a change in the variable bit rate. That is, at the time of reproduction, the decoder analyzes the stream data, recognizes the change in the bit rate of the stream data, and reads the stream data from a medium such as a CD-ROM at an appropriate timing. Thus, conventionally, when recording the output from the encoder on a medium such as a hard disk or a CD-ROM, for example, only the stream data is recorded, and the variable clock signal is not recorded.
[0011]
Hereinafter, problems when image data recorded on a hard disk or the like is applied again to a communication system will be described. For example, a case where stream data once stored in a medium is transmitted and an image is reproduced in real time at the transmission destination is taken as an example. In this case, since the reproduction is performed using a decoder at the transmission destination, a change in the bit rate of the transmitted stream data can be recognized. However, the transmission source does not know the transmission timing of the stream data because the variable clock signal that is the information of the output timing of the stream data is not recorded. For this reason, when the decoder reads the stream data at the transmission destination, there is a possibility that the corresponding stream data is not transmitted to the transmission destination buffer. Conversely, stream data may be transmitted at a speed higher than the timing required by the decoder at the transmission destination, and the transmission destination buffer may be saturated.
[0012]
The following two methods are conceivable as methods for solving such problems.
The first method is to provide a decoder at the transmission source, analyze the inside of the stream data, recognize the change in the bit rate, and transmit the stream data. However, according to this method, there is a problem that the configuration of the transmission device as the transmission source becomes complicated.
[0013]
As a second method, a variable clock signal output from the encoder is recorded. However, if the variable clock signal is recorded as it is, a huge storage capacity is required, which is not practical.
For example, a case where a variable clock signal obtained by thinning out the master clock signal as shown in FIG. 12 is recorded will be described. At this time, as shown in FIG. 13, it is assumed that recording is performed by setting the pulse output period of the variable clock signal as 1, and recording the period when the pulse of the variable clock signal is not output (pulses are thinned) as 0. In this case, in order to record the change in the bit rate, it is necessary to record the period when the pulse of the variable clock signal is not output. As a result, a storage capacity corresponding to the number of bits corresponding to the number of pulses of the clock signal having a constant period before thinning out the pulses is required.
[0014]
Thus, consider recording with run-length encoding as shown in FIG. In this method, a continuous length of 0 or 1 is recorded. That is, 0 continues for
[0015]
An object of the present invention is to devise the above-described second method, and to reuse the recorded stream data as an application to the storage system again to the communication system.
[0016]
[Means for Solving the Problems and Effects of the Invention]
The data recording and transmitting method according to
[0017]
As shown in the prior art described above, in order to output stream data at a variable bit rate, a variable clock signal indicating the validity of the stream data is output from the encoder together with the stream data. However, since recording a variable clock signal as described above requires an enormous storage capacity, conventionally only stream data is recorded. Therefore, once stream data recorded on a recording medium such as a hard disk is not analyzed by a decoder, the transmission timing cannot be determined.
[0018]
Therefore, in the data recording / transmission method of the present invention, in order to achieve the target bit rate, a variable clock signal that outputs pulses corresponding to the number of pulses corresponding to the bit rate in a predetermined period, and the variable clock signal are output in synchronization with the variable clock signal. On the premise of an encoder that outputs stream data, the variable clock signal output from the encoder is converted into variable clock signal related information and recorded to record with a small storage capacity. Based on the clock signal related information, a new variable clock signal is created and transmitted. At the same time, stream data is recorded and transmitted in correspondence with pulses of the variable clock signal. The “master clock signal” is a clock signal having a fixed period that is the basis of the operation of the encoder, and a predetermined period is also measured based on the master clock signal. In that sense, the bit rate in each predetermined period can be expressed as the number of pulses of the master clock signal.
[0019]
Here, the operation related to the variable clock signal will be described in detail.
In the data recording and transmitting method of the present invention, the number of pulses of the variable clock signal is summed up every predetermined processing period. Then, a quotient obtained by dividing the total by the number of unit pulses is recorded as variable clock signal related information for each predetermined processing period.
[0020]
At the time of transmission, a variable clock signal having the number of pulses obtained by multiplying the variable clock signal related information by the number of unit pulses is generated, and transmitted every predetermined processing period while counting the predetermined processing period. However, it cannot be determined from the variable clock signal related information at which timing the pulse of the variable clock signal output from the encoder is output during a predetermined processing period. For this reason, at the time of transmission, a pulse is output at an appropriate timing during a predetermined processing period. For example, considering a fixed clock signal, a variable clock signal that outputs a pulse of the number of pulses calculated from the beginning of the processing period can be created and transmitted by thinning out the pulse of the portion after the processing period. Alternatively, a variable clock signal that outputs the number of pulses calculated in the entire processing period may be generated and transmitted by changing the cycle for each processing period.
[0021]
That is, no matter what timing a pulse is output from the encoder as a variable clock signal, the number of pulses per predetermined period does not change between recording and transmission. For example, FIG. 10A shows a variable clock signal that is thinned out from an encoder, and FIG. 10B shows a variable clock signal to be transmitted. In FIG. 10, the output period of the pulse of the variable clock signal is shown at a high level. As shown in FIG. 10, in each processing period E, F, G, the number of pulses output from the encoder is equal to the number of pulses to be transmitted. That is, the bit rate for each predetermined period can be held.
[0022]
As described above, the pulse transmission timing for each predetermined period is different from the output timing from the encoder. Also in the example of FIG. 10, the pulse transmission timing is from the beginning of each processing period, and is different from the pulse output timing of the variable clock signal from the encoder. However, there is no problem in reproducing with the transmission destination decoder. The reason is that it is only necessary that the corresponding stream data is transmitted to the transmission destination buffer in units of frames at the timing read by the transmission destination decoder. That is, by setting the predetermined processing period to be sufficiently shorter than the frame unit, the transmission timing shift within the predetermined processing period can be ignored during reproduction.
[0023]
As for the storage capacity, the storage capacity does not change even if the variable clock signal has been interrupted during the predetermined processing period by summing up the pulses of the variable clock signal. It becomes. For example, in the processing period G shown in FIG. 10, the pulses of the variable clock signal are output in another period of 50 pulses each, but the total is processed as 100 pulses. Further, it can be recorded as a numerical value to divide the total number of pulses by the number of unit pulses, and the numerical value is equal to or less than a value obtained by dividing the maximum number of pulses of the variable clock signal output in a predetermined period by the number of unit pulses. In FIG. 10, in order to divide the number of unit pulses as 100 pulses, “3” is recorded in the processing period E, “2” is recorded in the processing period F, and “1” is recorded in the processing period G. Further, if the clock signal having a fixed period for generating the variable clock signal and the master clock signal for measuring each processing period have the same period, the maximum number of pulses of the variable clock signal in each processing period E, F, G is Since it is 600 pulses, the recorded numerical value is at most “6” or less.
[0024]
As described above, the variable clock signal related information for holding the transmission timing can be recorded with an extremely small storage capacity as compared with the conventional case, and the data to be transmitted can be reproduced at the transmission destination in real time. That is, the stream data once recorded on the hard disk or the like can be used again for the communication system as an application to the storage system.
[0025]
In the present invention, the quotient obtained by dividing the total number of pulses of the variable clock signal output during a predetermined processing period by the number of unit pulses may be an integer, or may be a decimal depending on conditions. The condition is processing such as rounding down or rounding up to a certain number of digits. This is because the storage capacity necessary for recording increases as the number of digits after the decimal point increases. However, since an error occurs when processing such as rounding down or rounding up is performed, it is desirable to handle the quotient as an integer.
[0026]
Considering handling with integers, it is possible that there will be a remainder. Therefore, as described in
[0027]
In addition, there may be a case where the total output period from the encoder is not an integral multiple of the predetermined processing period. At this time, there is a last processing period that cannot be divided by a predetermined processing period. Even when the total output period from the encoder is an integral multiple of the predetermined processing period, the number of pulses of the variable clock signal remaining in the last predetermined processing period was output in the next processing period. It can also be added as a thing. Therefore, as described in
[0028]
For example, in the example shown in FIG. 10, when the entire output period from the encoder is a period of 1900 pulses by the master clock, a period of 100 pulses is generated after the processing period G. At this time, if the number of pulses of the variable clock signal is 70 pulses during the 100 pulse period, a numerical value “70” may be recorded. Further, when the number of pulses of the variable clock signal is 150 in the predetermined period G in FIG. 10, it can be considered that the fractional 50 pulses are output after the last predetermined period G. At this time, the 50 pulses may be recorded as “50”.
[0029]
By the way, as shown in
[0030]
When the data recording and transmitting method described above is configured as a data recording and transmitting apparatus, a configuration as shown in
[0031]
According to the data recording and transmitting apparatus of the present invention, data encoded at a variable bit rate is recorded, and the recorded data is transmitted. Hereinafter, the operation in data recording will be described in (1), and the operation in data transmission will be described in (2).
(1) First, the operation in data recording will be described. First, the stream data recording means determines the validity based on the pulse of the variable clock signal from the encoder and records the stream data. The master clock signal creating means creates a master clock signal having a constant period. At this time, two clock generators as one of the master clock signal generating means may be prepared for data recording and transmission, or may be shared for data recording and transmission. . However, in the case where another data is transmitted while recording certain data, it is desirable to prepare two clock generators for recording and transmission. In addition, when the variable clock signal output from the encoder is a signal obtained by thinning a pulse from a clock signal having a fixed period, it may be considered to create a master clock signal based on the pulse output of the variable clock signal. In this case, data can be recorded in synchronization with the output of the encoder.
[0032]
The time measuring means measures a predetermined processing period based on the created master clock signal. The counting means counts the pulses of the variable clock signal output from the encoder, determines that the sum is equal to the number of unit pulses, and counts the number of determinations. Then, the recording initialization unit records and initializes the number of determinations when the timing of the predetermined processing period ends. Here, “initialization” means that when it is determined that the number of pulses of the variable clock signal becomes equal to the number of unit pulses, the number of determinations is “1”.
[0033]
Here, the operation in the above-described data recording will be described in detail based on the time chart shown in FIG. 11A, and as a result, the capacity required for storing the variable clock signal will be reduced. In FIG. 11A, the number of unit pulses is 400, and the predetermined processing period is a period of 6400 pulses of the master clock signal. In this case, it is assumed that the variable clock signal output from the encoder is obtained by thinning out a clock signal having a constant period.
[0034]
FIG. 11A shows a variable clock signal and stream data output from the encoder. In order to simplify the drawing, the pulse output period of the variable clock signal is shown as a high level. In FIG. 11A, the period [t0 to t4], the period [t5 to t7], and the period [t9 to t11] are pulse output periods of the variable clock signal. Stream data is validated corresponding to the pulses output during these periods. That is, as many stream data as the number of pulses of the variable clock signal are output. The stream data recording means records this stream data.
[0035]
In FIG. 11A, the period [t0 to t8] and the period [t8 to t12] are predetermined processing periods (periods of the master clock signal 6400 pulses) measured by the timing unit. The counting means counts the number of pulses of the variable clock signal, determines every time it becomes equal to 400 pulses, determines that it is equal, and counts the number of determinations. In FIG. 11A, the periods [t0 to t1], [t1 to t2], [t2 to t3], and [t10 to t11] are 400 pulses of the master clock signal, and the periods [t3 to t4], [ Each of t5 to t6], [t6 to t7], and [t9 to t10] is 200 pulses. Therefore, the time when it is determined that 400 pulses have been output is time t1, t2, t3, t6, t10, t11.
[0036]
At this time, the recording initialization means records and initializes the number of times of determination at the end of the timing of the predetermined processing period by the timing means. That is, in FIG. 11A, the number of determinations is recorded and initialized at times t8 and t12. Since the number of determinations at time t8 is four at times t1, t2, t3, and t6, “4” is recorded. Here, since it is once initialized, the number of determinations is newly “1” at time t10, and the number of determinations recorded at t12 is “2”. That is, a group of 400 pulses is recorded and the number of the master clock signals is recorded for every 6400 pulses of the master clock signal.
[0037]
According to this method, for example, when the maximum number of pulses of the variable clock signal is 6400 pulses, the maximum value “16” (6400 ÷ 400) is recorded, and when the number of pulses of the variable clock signal is 0, The minimum value “0” is recorded. That is, it is only necessary to have a storage capacity capable of recording a binary number that can represent “0” to “16”, for example, a 5-bit binary number, every 6400 pulses output by the master clock signal. That is, if the pulse output is recorded as 1, a storage capacity of 6400 bits is required, but 5 bits is sufficient in this example. Further, even if the pulse output of the variable clock signal is not continuous during the period when 6400 pulses are output as the master clock signal, the necessary storage capacity does not change. That is, the storage capacity is not increased by the pulse output period of the variable clock signal as in the above-described run length encoding method.
[0038]
(2) Next, the operation in data transmission will be described.
The pulse number calculation means reads the recorded number of determinations, and calculates the number of pulses by multiplying the read number of determinations by the number of unit pulses. Then, the variable clock signal transmission means creates and transmits a variable clock signal for transmitting the calculated number of pulses in a predetermined processing period. The stream data transmitting means transmits the stream data recorded in synchronization with the transmitted variable clock signal.
[0039]
Here, based on the time chart shown in FIG. 11B, the operation in the above-mentioned data transmission will be described in detail, and the recorded data can be transmitted to the transmission destination and reproduced as an application to the communication system. Will be explained. FIG. 11B shows a variable clock signal to be transmitted and stream data transmitted in synchronization with the variable clock signal.
[0040]
The time measuring means measures a predetermined processing period based on the master clock signal having a fixed period output by the master clock signal creating means. Assuming that the number of unit pulses is 400 pulses and the predetermined processing period is a period of 6400 pulses by the master clock signal in correspondence with the example of FIG. 11A, the period [t13 to t15] in FIG. The period [t15 to t17] is a predetermined processing period.
[0041]
The pulse number calculation means multiplies the recorded number of determinations by the unit pulse number 400 to calculate the pulse number. That is, in FIG. 11A, the determination number “4” is recorded in the first predetermined processing period, and the determination number “2” is recorded in the next predetermined processing period. Therefore, 400 × 4 = 1600 and 400 × 2 = 800 are calculated as the number of pulses.
[0042]
Then, as shown in FIG. 11 (b), the variable clock signal transmission means creates a variable clock signal to be transmitted in a predetermined processing period with the number of pulses of 1600 pulses and 800 pulses in this case. Then, the first variable clock signal is transmitted from time t13, and the next variable clock signal is transmitted from time t15.
[0043]
The stream data transmission means transmits the recorded stream data in correspondence with the pulse of the variable clock signal. In FIG. 11B, the stream data recorded in the periods [t13 to t14] and [t15 to t16] are transmitted in correspondence with the pulses.
[0044]
According to this, the transmission timing of the stream data is deviated from the output timing from the encoder. For example, the stream data B output in the period [t5 to t6] in FIG. 11A is transmitted continuously to the transmission of the stream data A in FIG. Further, the stream data C output in the period [t6 to t7] in FIG. 11A is transmitted from time t15 in FIG. 11B. Furthermore, the stream data D transmitted in the period [t9 to t11] in FIG. 11A is transmitted continuously with the transmission of the stream data C in FIG.
[0045]
However, there is no problem in reproducing the data. The reason will be explained.
Conventionally, since the variable clock signal has never been recorded, the transmission timing is not known, and the reproduction of the fact that the corresponding stream data cannot be transmitted to the transmission destination buffer at the timing when the transmission destination decoder tries to read is possible. It was a reason that could not be done. That is, it is not necessary to transmit at exactly the same timing as the output of the encoder, as long as the corresponding stream data can be transmitted to the transmission destination buffer at the timing at which the transmission destination decoder attempts to read. Further, it is sufficient that this timing can be transmitted in units of frames. For this reason, the period of 6400 pulses counted by the master clock signal is a sufficiently small period when viewed from the stream data of one frame, and such a shift is not a problem.
[0046]
As described above in (1) and (2), according to the data recording / transmitting apparatus of the present invention, the variable clock signal can be stored with a small storage capacity, and the stream data is transmitted based on the variable clock signal to be temporarily stored. Even the stream data can be transmitted and reproduced in real time at the transmission destination. Data once recorded as an application to the storage system can be applied again to the communication system.
[0047]
The data recording / transmission apparatus of the present invention is not limited to the variable clock signal as shown in the example shown in FIG. 11, that is, the variable clock signal created by thinning out the clock signal having a constant period. For example, the variable clock signal output from the encoder may have a form in which the cycle changes every period. For example, it is a variable clock signal that outputs a pulse in all periods [t0 to t12] in FIG. 11, and for example, in each period [t0 to t7], [t7 to t8], and [t8 to t12]. A variable clock signal that changes the cycle may be used. On the other hand, regarding transmission, a variable clock signal having a cycle changed so as to transmit a pulse calculated in a predetermined processing period may be generated and transmitted. For example, you may transmit the variable clock signal which changed the period in each period so that the pulse of 1600 pulses and 800 pulses may be output in period [t13-t15] and [t15-t17].
[0048]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a schematic configuration of a data recording / transmitting
[0049]
The data recording /
[0050]
The
[0051]
The
[0052]
The
[0053]
For example, in the period A shown in FIG. 15, it is assumed that stream data that should be valid corresponds to two pulses of the master clock signal in order to achieve the target bit rate. At this time, as shown in FIGS. 15A and 15B, a variable clock signal that outputs two pulses in the period A is created. FIG. 15A shows an example in which pulses are thinned out from a master clock signal. FIG. 15B shows an example in which the cycle of the variable clock signal is changed so that two pulses are output in the period A. As described above, the pulse of the variable clock signal may be output at any timing during the period A. As shown in FIG. 15A, the
[0054]
The
[0055]
In parallel with the extraction of the variable clock signal related information and the valid stream data by the
[0056]
The
The
[0057]
As described above, the data recording / transmitting
[0058]
Next, the
[0059]
(A) The configuration and function of the
The
[0060]
As shown in FIG. 4, the
[0061]
That is, consider the case where the variable clock signal that has been thinned is output from the
[0062]
The
[0063]
Further, the
[0064]
The
[0065]
The 8-
[0066]
(B) Next, the data recording processing from the
[0067]
In the first step S1000 in FIG. 3, a file for recording stream data is opened. In subsequent S1010, a file for recording variable clock signal related information is opened. A file for recording stream data and a file for recording variable clock signal related information are prepared in the
[0068]
Next, in S1020, it is determined whether or not an active signal is held in the
[0069]
If an affirmative determination is made in S1020, that is, if an active signal is held in the
[0070]
In S1050, it is determined whether or not an active signal from the
[0071]
If an affirmative determination is made in S1050, that is, if an active signal is held in the
[0072]
Note that the
[0073]
In S1080, it is determined whether or not the data output from the
[0074]
In S1090, the number of pulses of the variable clock signal of less than 400 pulses remaining in the
[0075]
In subsequent S1100, the file for recording the stream data is closed. In step S1110, the file for recording the variable clock signal related information is closed, and the data recording process ends.
For example, when recording on a CD-ROM or the like, the stream data recorded in the file in which the stream data is recorded may be read out and recorded via the input /
[0076]
(C) FIG. 6 is a circuit diagram showing a circuit configuration of the
The
[0077]
The
[0078]
The variable clock signal output from the
[0079]
Furthermore, the
[0080]
Further, the
[0081]
As a result, when the signal H from the
[0082]
A signal L of the
[0083]
In the first step S1200 in FIG. 7, the
[0084]
In
[0085]
In S1240 and S1250, the same processing as S1210 and S1220 described above is performed. That is, the stream data is read out in units of 8 bits from the file in which the stream data is recorded (S1240), and the read stream data is written to the latch 131 (S1250).
[0086]
By the processing of S1210 to S1250, the 8-bit stream data is held in the
In S1260, the variable clock signal related information is read from the file in the
[0087]
In
[0088]
In S1264 to S1266, the same processing as S1260 to S1262 is performed. That is, the variable clock signal related information is read from the file in the
[0089]
By the processing of S1260 to S1266, the number of pulses of the variable clock signal corresponding to the first 6400 pulse processing period is set in the
[0090]
Then, the start of transmission is instructed in S1267 in FIG. This process is to activate the signal L from the
[0091]
The
[0092]
While the
[0093]
The
[0094]
In this way, the
[0095]
Corresponding to these data transmission operations, the
In S 1270, it is determined whether or not an active signal is held in the latch 136. This process is a process for determining whether or not 8-bit stream data held in the
[0096]
If an affirmative determination is made in S1270, that is, if an active signal is held in the latch 136, the stream data is read in 8-bit units from the file in the
[0097]
In S1300, it is determined whether or not an active signal is held in the latch 138. This process is a process for determining whether or not the number of pulses of the variable clock signal held in the
[0098]
If an affirmative determination is made in S1300, that is, if an active signal is held in the latch 138, the variable clock signal related information is read from the file in the
[0099]
In S1330, it is determined whether all stream data has been read. If all the stream data has been read (S1330: YES), the file in which the stream data is recorded and the file in which the variable clock signal related information is recorded are closed in S1340, and this data reading process ends. On the other hand, when all the stream data has not been read (S1330: NO), the process proceeds to S1270 and the subsequent processing is repeated.
[0100]
The
Next, the pulse number calculation processing shown in S1261, S1265, and S1315 will be described based on the flowchart of FIG.
[0101]
First, in first step S1400, it is determined whether or not the most significant bit of the read variable clock signal related information is zero. When the most significant bit is 0 (S1400: YES), the variable clock signal related information is multiplied by 400. On the other hand, if the most significant pulse is not 0 (S1400: NO), the processing of S1410 is not executed and the present pulse number calculation processing is terminated. In other words, the variable clock signal related information that is normally recorded with the most significant pulse being 0 is the quotient obtained by dividing the total number of pulses by the unit period of 400 pulses, so the number of pulses is calculated by multiplying by 400. The number of pulses of the variable clock signal remaining in the
[0102]
The operation of the data recording and transmitting
[0103]
First, the data recording operation will be described with reference to FIG.
FIG. 11A shows a variable clock signal and stream data output from the
[0104]
Here, as shown in FIG. 2, the variable clock signal is input to the
[0105]
At this time, the
[0106]
Then, the
[0107]
When the active signal from the
[0108]
As can be seen from the above description, when a variable clock signal pulse is output throughout the 6400 pulse processing period, the maximum value “16” is held in the
[0109]
Next, the data transmission operation will be described with reference to FIG.
FIG. 11B shows a variable clock signal to be transmitted and stream data to be transmitted corresponding to the variable clock signal.
A T
[0110]
The
[0111]
Then, the
[0112]
The variable clock signal transmitted from the
[0113]
According to this, the transmission timing of the stream data is deviated from the output timing from the
[0114]
The effects exhibited by the data recording / transmitting
In the data recording and transmitting
[0115]
As a result, the storage capacity for a period during which no pulse of the variable clock signal is output can be reduced as compared with the method of recording the entire period of the variable clock signal as shown in the examples of FIGS.
On the other hand, the
[0116]
For example, in the method as shown in FIG. 14 described above, when the pulse output is intermittent, the storage capacity increases. On the other hand, in this case, the storage capacity can be made constant regardless of the output timing of the pulses of the variable clock signal.
[0117]
Further, by recording an integer quotient obtained by dividing the total number of pulses of the variable clock signal in the processing period of 6400 pulses by the number of unit pulses of 400 pulses, an increase in storage capacity proportional to the number of pulses of the variable clock signal occurs. Absent. For example, if the number of pulses of the variable clock signal is 1200 pulses, 1600 pulses, and 6000 pulses, a recording capacity proportional to the number of pulses of 1200 bits, 1600 bits, and 6000 bits is required if recording is performed as it is. However, since the integer quotient divided by the number of unit pulses of 400 pulses is recorded, in this case, “3”, “4”, and “15” may be recorded.
[0118]
As a result, the data recording and transmitting
[0119]
Further, in the data recording / transmitting
[0120]
However, the bit rate in the processing period unit of 6400 pulses is substantially equal to the bit rate when output from the
[0121]
The data recording / transmitting
[0122]
Furthermore, the data recording / transmitting
[0123]
In the data recording and transmitting
[0124]
As described above, the present invention is not limited to such an embodiment, and can be implemented in various forms without departing from the gist of the present invention.
For example, in the above embodiment, data is transferred by the
The file format is not limited to two files as in the above embodiment, but can be combined into one file. In this case, it is necessary to record the variable clock signal related information first. This is because the data length at the time of transmission must be recognized from the variable clock signal related information. As a configuration for that purpose, the stream data is held in the buffer during the processing period of 6400 pulses, and after the variable clock signal related information in the processing period is determined, the variable clock signal related information and the stream data are recorded in the file in this order. You can do it.
[0125]
Further, the processing period and the number of unit pulses are set for each data recording / transmitting apparatus. In this embodiment, the processing period is 6400 pulses and the number of unit pulses is 400 pulses, but the present invention is not limited to this. .
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a schematic configuration of a data recording and transmitting apparatus according to an embodiment.
FIG. 2 is a circuit diagram of a data holding circuit of the data recording and transmitting apparatus according to the embodiment.
FIG. 3 is a flowchart showing data recording processing from a data holding circuit.
FIG. 4 is a block diagram showing a schematic configuration of a master clock generator of the data holding circuit.
FIG. 5 is a time chart of signals for a master clock generator of a data holding circuit.
FIG. 6 is a circuit diagram of a data transmission circuit of the data recording / transmission apparatus of the embodiment.
FIG. 7 is a first half of a flowchart showing a data transmission process to a data recording circuit in a CPU.
FIG. 8 is the latter half of the flowchart showing the data transmission process to the data recording circuit in the CPU.
FIG. 9 is a flowchart showing a pulse number calculation process for calculating the number of pulses of the variable clock signal from the variable clock signal related information in the CPU.
FIG. 10 is a time chart showing recording and transmission of a variable clock signal.
FIG. 11 is a time chart showing recording and transmission of a variable clock signal and stream data.
FIG. 12 is a time chart showing signals output from the encoder.
FIG. 13 is a time chart expressing a variable clock signal in units of pulses.
FIG. 14 is a time chart showing a state where a variable clock signal is run-length encoded.
FIG. 15 is a time chart illustrating an output signal from an encoder.
FIG. 16 is an explanatory diagram of a recording format of variable clock signal related information.
FIG. 17 is an explanatory diagram of a time table in the terminal.
[Explanation of symbols]
DESCRIPTION OF
20 ...
51 ...
53 ...
62 ... I /
80 ...
83 ...
90 ...
92 ...
94: Transmission path
101 ... T counter 103 ... r counter
104 ...
107: 8-bit counter 109: Shift register
111 ... Master clock generator
112 ... Master clock oscillator
113 ... PLL
102, 150, 108, 110 ... Latch
132: Shift register 133: 8-bit counter
134:
137 ... T counter 139 ... Clock counter
131, 136, 138 ... latch 140 ... clock latch
141, 142 ... 2-input OR
Claims (5)
前記エンコーダから所定の処理期間に出力される前記可変クロック信号のパルス数の合計を単位パルス数で除して算出された商を可変クロック信号関連情報として前記所定の処理期間毎に記録し、
前記所定の処理期間を計時しながら、前記記録した可変クロック信号関連情報に前記単位パルス数を乗じて算出されるパルス数の可変クロック信号を作成して前記所定の処理期間毎に送信すると共に、前記エンコーダから可変クロック信号と共に出力された前記ストリームデータを記録し、
当該記録したストリームデータを前記送信する可変クロック信号のパルスに対応させて送信することを特徴とするデータ記録送信方法。A variable clock signal set to output pulses corresponding to the number of pulses of the master clock signal corresponding to stream data to be output within the predetermined period in order to achieve the target bit rate for the predetermined period; and A method for performing data recording and transmission based on the variable clock signal and stream data input from an encoder capable of outputting stream data output in synchronization with a variable clock signal,
A quotient calculated by dividing the total number of pulses of the variable clock signal output from the encoder in a predetermined processing period by the number of unit pulses is recorded as variable clock signal related information for each predetermined processing period,
While measuring the predetermined processing period, creating a variable clock signal of the number of pulses calculated by multiplying the recorded variable clock signal related information by the number of unit pulses, and transmitting it every predetermined processing period, Record the stream data output together with the variable clock signal from the encoder,
A data recording and transmitting method, wherein the recorded stream data is transmitted in correspondence with the pulse of the variable clock signal to be transmitted.
前記エンコーダから出力される前記ストリームデータを記録するストリームデータ記録手段と、
マスタークロック信号を作成するマスタークロック信号作成手段と、
該マスタークロック信号作成手段に基づいて所定の処理期間を計時する計時手段と、
前記エンコーダから出力される前記可変クロック信号のパルスを数え、その和が単位パルス数に等しくなる毎に等しくなったことを判断し、当該判断回数を計数する計数手段と、
前記計時手段による前記所定の処理期間の計時の終了時点で、前記計数手段によって計数された前記判断回数を記録して初期化する記録初期化手段と、
前記記録初期化手段によって記録された判断回数を読み出し、当該読み出した判断回数に前記単位パルス数を乗じてパルス数を算出するパルス数算出手段と、前記計時手段により計時される前記所定の処理期間に前記パルス数算出手段によって算出したパルス数の可変クロック信号を作成して送信する可変クロック信号送信手段と、
前記可変クロック信号送信手段によって送信される可変クロック信号のパルスに対応させて、前記ストリームデータ記録手段によって記録されたストリームデータを送信するストリームデータ送信手段と、
を備えたことを特徴とするデータ記録送信装置。A variable clock signal set to output pulses corresponding to the number of pulses of the master clock signal corresponding to stream data to be output within the predetermined period in order to achieve the target bit rate for each predetermined period; and A data recording and transmitting apparatus for performing data recording and transmission based on the variable clock signal and stream data input from an encoder capable of outputting stream data output in synchronization with a variable clock signal,
Stream data recording means for recording the stream data output from the encoder;
A master clock signal creating means for creating a master clock signal;
Clocking means for clocking a predetermined processing period based on the master clock signal creating means;
Counting means for counting pulses of the variable clock signal output from the encoder, determining that the sum is equal to the number of unit pulses, and counting the number of determinations;
A recording initialization means for recording and initializing the number of times of the judgment counted by the counting means at the end of the time measurement of the predetermined processing period by the time measuring means;
The number of determinations recorded by the recording initialization unit is read, the number of pulses is calculated by multiplying the number of read determinations by the unit pulse number, and the predetermined processing period timed by the time measuring unit A variable clock signal transmitting means for generating and transmitting a variable clock signal having the number of pulses calculated by the pulse number calculating means;
Stream data transmission means for transmitting the stream data recorded by the stream data recording means in correspondence with the pulses of the variable clock signal transmitted by the variable clock signal transmission means;
A data recording / transmission apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34850196A JP3645979B2 (en) | 1996-12-26 | 1996-12-26 | Data recording / transmission method and data recording / transmission apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34850196A JP3645979B2 (en) | 1996-12-26 | 1996-12-26 | Data recording / transmission method and data recording / transmission apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10191220A JPH10191220A (en) | 1998-07-21 |
JP3645979B2 true JP3645979B2 (en) | 2005-05-11 |
Family
ID=18397442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34850196A Expired - Fee Related JP3645979B2 (en) | 1996-12-26 | 1996-12-26 | Data recording / transmission method and data recording / transmission apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3645979B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100606519B1 (en) * | 1998-11-13 | 2007-07-09 | 엘지전자 주식회사 | Method for recording digital data stream on a rewritable disc |
-
1996
- 1996-12-26 JP JP34850196A patent/JP3645979B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10191220A (en) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5790745A (en) | Variable transfer rate control coding apparatus, reproducing apparatus and recording medium | |
US5953483A (en) | Apparatus for recording and reproducing an information signal comprising packets that may occur irregularly as a function of time in a serial datastream of the information signal, and a record carrier carrying the information signal | |
KR100290331B1 (en) | Synchronous playback device for audio-video signals | |
KR100725766B1 (en) | Transcoders for fixed and variables rate data streams | |
JPH11145845A (en) | High-quality audio encoding/decoding device and dvd | |
JPH11317768A (en) | Transmission system, transmitting device, recording and reproducing device, and recording device | |
JP2961086B2 (en) | Transmission bit stream recording apparatus, transmission bit stream reproduction apparatus, transmission bit stream recording method, and transmission bit stream reproduction method | |
US8369456B2 (en) | Data processing apparatus and method and encoding device | |
JP3645979B2 (en) | Data recording / transmission method and data recording / transmission apparatus | |
JP4303888B2 (en) | Recording of information signals on tracks of recording media and reproduction of recorded information signals | |
JP3645974B2 (en) | Data recording / transmission method and data recording / transmission apparatus | |
JP3389747B2 (en) | Transmission device, transmission recording device, and reproduction transmission device | |
EP0205305B1 (en) | Data transmission and detection method | |
JP2757818B2 (en) | Auxiliary data processing circuit | |
JP3541413B2 (en) | Information signal transmission method and apparatus | |
JP3610608B2 (en) | Disc recording method and disc recording apparatus | |
US6069865A (en) | Method and apparatus for cutting apart of a main signal and recording it as a synchronous signal | |
IL132964A (en) | Transmitting device for transmitting a digital information signal alternately in encoded and non-encoded form | |
JP3185511B2 (en) | Signal recording / reproducing device | |
JPH1118071A (en) | Slow reproduction system | |
JP3408458B2 (en) | Packet conversion processing system | |
JP2000187940A (en) | Recording/reproducing device and recorder | |
EP0982727A1 (en) | Digital signal processing method and device, digital signal generating method and device, and signal recording medium and program recording medium | |
JPH05336154A (en) | Atm transmitter | |
JPH0340560A (en) | Compressed data editor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20050118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050207 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |