(57)【要約】【課題】  本発明は、オーディオデータの信号処理量を低減しつつ当該オーディオデータの品位を保持できるようにする。【解決手段】  本発明は、オーディオデータＤ１のリングバッファ１０に対する書込速度と、当該リングバッファ１０に蓄積されたオーディオデータＤ１を一定速度で読み出す際の読出速度との速度差を算出し、当該速度差に応じて読出アドレスを強制的に変更する際、変更前の読出アドレスに対応したオーディオデータＤ１の信号レベルと、変更後の読出アドレスに対応したオーディオデータＤ１の信号レベルとの間で信号レベル変化が少ないアドレス位置を変更後の読出アドレスとして決定することにより、読出アドレスを強制的に変更するだけなので信号処理量を大幅に低減し得ると共に、アドレス変更前とアドレス変更後の信号レベルの変化が少ないためオーディオデータＤ１の品位を保つことができる。【選択図】        図８
2006227110.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力するオーディオデータを蓄積するメモリと、
上記オーディオデータの上記メモリに対する書込速度と、上記メモリに蓄積された上記オーディオデータを一定速度で読み出す際の読出速度との速度差に応じて読出アドレスを強制的に変更するアドレス変更手段と、
上記アドレス変更手段による変更前の読出アドレスに対応した上記オーディオデータの信号レベルと、変更後の読出アドレスに対応した上記オーディオデータの信号レベルとの間で信号レベル変化が少ないアドレス位置を上記変更後の読出アドレスとして決定する読出アドレス決定手段と
を具えることを特徴とするオーディオ入出力制御装置。
【請求項２】
上記読出アドレス決定手段は、
上記変更前の読出アドレスに対応した上記オーディオデータの信号レベルと、上記変更後の読出アドレスに対応した上記オーディオデータの信号レベルとの間で信号レベル変化が少ないゼロクロス近傍のアドレス位置を上記変更後の読出アドレスとして決定する
を具えることを特徴とする請求項１に記載のオーディオ入出力制御装置。
【請求項３】
上記オーディオ入出力制御装置は、
上記書込速度を検出する書込速度検出手段
を具えることを特徴とする請求項１に記載のオーディオ入出力制御装置。
【請求項４】
上記読出アドレス変更手段は、
上記速度差によって上記書込アドレス又は上記読出アドレスが当該読出アドレス又は当該書込アドレスに追い付く前に上記読出アドレスを強制的に変更する
ことを特徴とする請求項１に記載のオーディオ入出力制御装置。
【請求項５】
上記読出アドレス変更手段は、
上記書込アドレスと上記読出アドレスとの差が所定値を越えるときには上記読出アドレスの変更を行わず、上記差が所定値以下のときには上記読出アドレスを強制的に変更する
ことを特徴とする請求項４に記載のオーディオ入出力制御装置。
【請求項６】
上記読出アドレス決定手段は、
上記オーディオデータに不要な直流成分が重畳していることを検出したときは、当該直流成分を除去した状態で上記変更後の読出アドレスを決定する
ことを特徴とする請求項１に記載のオーディオ入出力制御装置。
【請求項７】
外部から入力するオーディオデータのメモリに対する書込速度と、上記メモリに蓄積された上記オーディオデータを一定速度で読み出す際の読出速度との速度差を算出する速度差算出ステップと、
上記速度差に応じて読出アドレスを強制的に変更するアドレス変更ステップと、
上記アドレス変更ステップによる変更前の読出アドレスに対応した上記オーディオデータの信号レベルと、変更後の読出アドレスに対応した上記オーディオデータの信号レベルとの間で信号レベル変化が少ないアドレス位置を上記変更後の読出アドレスとして決定する読出アドレス決定ステップと
を具えることを特徴とするオーディオ入出力制御方法。
【請求項８】
上記読出アドレス決定ステップでは、
上記変更前の読出アドレスに対応した上記オーディオデータの信号レベルと、上記変更後の読出アドレスに対応した上記オーディオデータの信号レベルとの間で信号レベル変化が少ないゼロクロス近傍のアドレス位置を上記変更後の読出アドレスとして決定する
を具えることを特徴とする請求項７に記載のオーディオ入出力制御方法。
【請求項９】
上記オーディオ信号入出力制御方法は、
上記書込速度を検出する書込速度検出ステップ
を具えることを特徴とする請求項７に記載のオーディオ入出力制御方法。
【請求項１０】
上記読出アドレス変更ステップでは、
上記速度差によって上記書込アドレス又は上記読出アドレスが当該読出アドレス又は当該書込アドレスに追い付く前に上記読出アドレスを強制的に変更する
ことを特徴とする請求項７に記載のオーディオ入出力制御方法。
【請求項１１】
上記読出アドレス変更ステップでは、
上記書込アドレスと上記読出アドレスとの差が所定値を越えるときには上記読出アドレスの変更を行わず、上記差が所定値以下のときには上記読出アドレスを強制的に変更する
ことを特徴とする請求項１０に記載のオーディオ入出力制御方法。
【請求項１２】
上記読出アドレス決定ステップでは、
上記オーディオデータに不要な直流成分が重畳していることを検出したときは、当該直流成分を除去した状態で上記変更後の読出アドレスを決定する
ことを特徴とする請求項７に記載のオーディオ入出力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ入出力制御装置及びオーディオ入出力制御方法に関し、例えば放送局で用いられる業務用のビデオテープレコーダに適用して好適なものである。
【背景技術】
【０００２】
従来、業務用のビデオテープレコーダにおいては、収録した通常の１時間番組にコマーシャルを入れて５５分間の番組として放送したいときや、１時間５分の番組として放送したいといった要求に応えることができるようになされている。
【０００３】
このような場合、ビデオテープレコーダでは当該番組のビデオに関しては人間に不自然な印象を与えない範囲でフレーム間引きやフレーム補間等によって５５分間又は１時間５分となるような変速再生処理を行うようになされている（例えば、特許文献１参照）。
【０００４】
しかしながらビデオテープレコーダでは、変速再生処理を行う場合、オーディオに関しては連続性が保たれないのでデータ間引きやデータ補間を行うことができず、ビデオの変速再生速度に合わせてオーディオ出力した場合には音程が変化しユーザに不自然な印象を与えてしまう。
【０００５】
このような場合に対応するべくビデオテープレコーダではいわゆるプログラムプレイと呼ばれる機能が設けられている。このプログラムプレイとは、番組のビデオに関してフレーム間引きやフレーム補間を行うことに対して、オーディオの連続性を保ったまま音程を変化させないようにするための調整機能である。
【特許文献１】特開2000-23105公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところでかかる構成のビデオテープレコーダにおいては、プログラムプレイ機能を動作させる場合にオーディオの連続性を保ったまま音程を変化させないようにするためには膨大な信号処理が必要となり、通常再生の場合に比べてオーディオデータの品位を保ち難いという問題があった。
【０００７】
本発明は以上の点を考慮してなされたもので、オーディオデータの信号処理量を低減しかつ当該オーディオデータの品位を保持し得るオーディオ入出力制御装置及びオーディオ入出力制御方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、外部から入力するオーディオデータのメモリに対する書込速度と、当該メモリに蓄積されたオーディオデータを一定速度で読み出す際の読出速度との速度差を算出し、当該速度差に応じて読出アドレスを強制的に変更する際、変更前の読出アドレスに対応したオーディオデータの信号レベルと、変更後の読出アドレスに対応したオーディオデータの信号レベルとの間で信号レベル変化が少ないアドレス位置を変更後の読出アドレスとして決定するようにしたことにより、速度差に応じて読出アドレスを強制的に変更するだけなので信号処理量を大幅に低減し得ると共に、オーディオデータそのものを変化させることなく読出アドレスの変更前と変更後における信号レベルの変化を少なく抑えることができるためオーディオデータの品位を保持することができる。
【発明の効果】
【０００９】
本発明によれば、速度差に応じて読出アドレスを強制的に変更するだけなので信号処理量を大幅に低減し得ると共に、オーディオデータそのものを変化させることなく読出アドレスの変更前と変更後における信号レベルの変化を少なく抑えることができるためオーディオデータの品位を保つことができ、かくしてオーディオデータの信号処理量を低減しつつ当該オーディオデータの品位を保持し得るオーディオ入出力制御装置及びオーディオ入出力制御方法を実現することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面について、本発明の一実施の形態を詳述する。
【００１１】
（１）本発明の原理
本発明においては、ビデオテープレコーダでのプログラムプレイ機能を動作させる際に、ビデオテープから読み出した番組のビデオに関してはフレーム間引きやフレーム補間等による変速再生処理を行うにも拘らず、オーディオの音程を変えないためのオーディオ入出力制御装置の原理について最初に説明する。
【００１２】
図１に示すように、オーディオ入出力制御装置においてはオーディオデータが計２０４８スロットのリングバッファ１０に例えば書込速度４８[kHz]で書き込まれ、当該リングバッファ１０から一定の読出速度４８[kHz]で当該オーディオデータが読み出される標準再生処理の場合には、オーディオデータに基づいて出力されるオーディオの音程が変化することはない。
【００１３】
しかしながらオーディオ入出力制御装置では、ビデオテープレコーダのプログラムプレイ機能が動作した場合、ビデオの変速再生処理に合わせてオーディオデータを書込速度４８[kHz]±５％でリングバッファ１０に書き込み、当該リングバッファ１０からは一定の４８[kHz]で当該オーディオデータを読み出すようになされている。
【００１４】
ここでオーディオデータの読み出しを一定速度の４８[kHz]で行うのは、当該読み出されたオーディオデータに基づいて出力されるオーディオの音程を変化させないようにするためである。
【００１５】
この場合のオーディオデータの読み出しは、当該オーディオデータの書込速度に±５％の変動があるため書込タイミングと読出タイミングとの間でずれが生じ、書込速度４８[kHz]−５％のときは読出データが書込データをいずれ追い越すことになり、書込速度４８[kHz]＋５％のときは書込データが読出データをいずれ追い越すことになる。
【００１６】
図２に示すように、オーディオデータが書込速度４８[kHz]−５％のときは読出速度４８[kHz]が一定であるため書込速度よりも読出速度の方が速くなり、読出データＤ(p)が１周（２０４８スロット）進む間に書込データＤ(r)が１９４５スロット又は１９４６スロット（２０４８スロット×０．９５＝１９４５．６スロット）進むため、約２０周（２０４８÷（２０４８−１９４５．６）＝２０）毎に読出データＤ(p)が書込データＤ(r)に追い付き追い越すことになる。
【００１７】
また図３に示すように、オーディオデータが書込速度４８[kHz]＋５％のときは読出速度４８[kHz]が一定であるため読出速度よりも書込速度の方が速くなり、読出データＤ(p)が一周（２０４８スロット）進む間に書込データＤ(r)が２１５０スロット又は２１５１スロット（２０４８スロット×１．０５＝２１５０．４スロット）進むため、約２０周（２０４８÷（２１５０．４−２０４８）＝２０周）毎に書込データＤ(r)が読出データＤ(p)に追い付き追い越すことになる。
【００１８】
このように読出データＤ(p)が書込データＤ(r)を追い越す場合や、書込データＤ(r)が読出データＤ(p)を追い越す場合には、その時点で読出データＤ(p)の連続性が維持できなくなって出力する音声にノイズが発生してしまう。
【００１９】
そこで図４に示すように、オーディオ入出力制御装置では例えば書込データＤ(r)が読出データＤ(p)を追い越す場合、リングバッファ１０の他に２５６ステップすなわち２５６スロット分のクロスフェードバッファを別に用意しておき、書込データＤ(r)に追い付かれる前の読出データＤ(p)を当該クロスフェードバッファに２５６ステップ分だけコピーし、書込データＤ(r)に追い付かれたときから当該コピーした読出データＤ(p)を次第にフェードアウトさせながら書き込まれた直後の読出データＤ(p)をフェードインさせることにより、いわゆるクロスフェード処理を実行し得るようになされている。
【００２０】
すなわち図５（Ａ）〜（Ｄ）に示すように書込アドレスが読出アドレスを追い越すときのクロスフェード処理では、オーディオ入出力制御装置は、まず図５（Ａ）に示すように読出データＤ(p)が書込データD(r)に追い付かれる直前に当該読出データＤ(p)をクロスフェードバッファに２５６スロット分だけコピーする。
【００２１】
次にオーディオ入出力制御装置は、図５（Ｂ）に示すように、クロスフェードバッファから読み出す読出データＤ(p)の信号レベルを通常のレベルから徐々にフェードアウトしていくと共に、リングバッファ１０から読み出す読出データＤ(p)の信号レベルを０から徐々にフェードインしていく。
【００２２】
ここでオーディオ入出力制御装置は、図５（Ｃ）に示すように、リングバッファ１０において書込データＤ(r)が読出データＤ(p)を追い抜き、この時点以降、リングバッファのまだ読み出されていない読出データＤ(p)を書込データD(r)により上書きしていく（図中の斜線部分）。
【００２３】
このとき、リングバッファ１０上の読出データＤ(p)は追い抜かれた箇所において不連続となるものの、この時点ではまだリングバッファ１０から読み出した読出データＤ(p)の信号レベルが十分に小さく、また同時にクロスフェードバッファから読み出す連続した読出データＤ(p)の信号レベルが十分に大きいため、オーディオ入出力部はこのような不連続な読出データＤ(p)を読み出してもオーディオを聴取するユーザに違和感を与えることはない。
【００２４】
続いてオーディオ入出力制御装置は、これまでリングバッファ１０から読み出していた読出データＤ(p)と連続したクロスフェードバッファの読出データＤ(p)を徐々にフェードアウトしながら、これまでリングバッファ１０から読み出していた読出データD(p)と不連続となる、先ほど書き込まれた直後の書込データＤ(r)を「１周先の」読出データＤ(p)として読み出して徐々にフェードインしていくことによりクロスフェード処理を進めていき、クロスフェードバッファの読出データＤ(p)から徐々にリングバッファ１０の「１周先の」読出データＤ(p)に切り換えていく。
【００２５】
その後オーディオ入出力制御装置は、図５（Ｄ）に示すようにクロスフェード処理を完了し、書込データD(r)により上書きされた直後の書込データＤ(r)を読出データＤ(p)として通常の信号レベルで読み出す。
【００２６】
この場合、オーディオ入出力制御装置ではクロスフェード処理によって書込データＤ(r)が読出データＤ(p)を追い越す際に生じるノイズを防止できるため、リングバッファ１０に蓄積されたオーディオデータを１周分捨てる（データ間引きした）ことになるにも拘らず、ユーザの聴感的にはオーディオデータの連続性を維持し得るようになされている。
【００２７】
また図６（Ａ）〜（Ｄ）に示すように読出アドレスが書込アドレスを追い越すときのクロスフェード処理では、オーディオ入出力制御装置は、まず図６（Ａ）に示すように書込データD(r)が読出データＤ(p)に追い付かれる前に当該読出データＤ(p)をクロスフェードバッファに２５６スロット分だけコピーする。
【００２８】
次にオーディオ入出力制御装置は、図６（Ｂ）に示すように、リングバッファ１０に書込データD(r)として書き込まれた直後の読出データＤ(p)を読み出して出力する際の信号レベルを通常のレベルから徐々にフェードアウトしていくと共に、既に１回読み出している読出データＤ(p)（図中斜線で示す）をクロスフェードバッファから２回目に読み出して出力する際の信号レベルを０から徐々にフェードインしていく。
【００２９】
このときクロスフェードバッファ上の読出データＤ(p)は「１周前の」ものであるため、これまでリングバッファ１０から読み出していた読出データＤ(p)とは不連続であるものの、この時点ではまだクロスフェードバッファから読み出す読出データＤ(p)の信号レベルが十分に小さく、またこれまでリングバッファ１０から読み出していた読出データＤ(p)に連続した当該リングバッファ１０から読み出す読出データＤ(p)の信号レベルが十分に大きいため、オーディオ入出力部はこのような不連続な読出データＤ(p)を読み出してもオーディオを聴取するユーザに違和感を与えることはない。
【００３０】
続いてオーディオ入出力制御装置は、これまでリングバッファ１０から読み出していた読出データＤ(p)と連続した読出データＤ(p)を徐々にフェードアウトしながら、これまでリングバッファ１０から読み出していた読出データＤ(p)とは不連続な「１周前の」読出データＤ(p)を徐々にフェードインしていくことによりクロスフェード処理を進めていき、リングバッファ１０の読出データＤ(p)から徐々にクロスフェードバッファの「１周前の読出データＤ(p)」に切り換えていく。
【００３１】
その後オーディオ入出力制御装置は、図６（Ｃ）に示すように、リングバッファ１０において読出データＤ(p)が書込データD(r)を追い抜き、この時点以降、当該リングバッファ１０の既に１回読み出した読出データＤ(p)を２回目に読み出す。（図中の斜線部分）。
【００３２】
このとき、リングバッファ１０上の読出データＤ(p)は追い抜かれた箇所において不連続となるものの、この時点では既にリングバッファ１０から読み出した読出データＤ(p)の信号レベルが十分に小さく、また同時にクロスフェードバッファから読み出す「１周前の」読出データＤ(p)の信号レベルが既に十分に大きいため、オーディオ入出力部はこのような不連続な読出データＤ(p)を読み出してもオーディオを聴取するユーザに違和感を与えることはない。
【００３３】
このクロスフェード処理の完了後、オーディオ入出力制御装置は、図６（Ｄ）に示すように、２回目の読み出しとなる読出データＤ(p)をリングバッファ１０から通常の信号レベルで読み出していく。
【００３４】
この場合、オーディオ入出力制御装置ではクロスフェード処理によって読出データＤ(p)が書込データＤ(r)を追い越す際に生じるノイズを防止できるため、リングバッファ１０に蓄積された同一のオーディオデータを再度読み出してデータ補間することになるにも拘らず、ユーザの聴感的にはオーディオデータの連続性を維持し得るようになされている。
【００３５】
なお、この場合には読出データＤ(p)が書込データＤ(r)を追い越すので、２５６ステップのクロスフェード処理が終了した時点では、書込データＤ(r)が読出データＤ(p)の直後に位置することになって、書込データＤ(r)がリングバッファ１０を約２０周進む間は読出データＤ(p)に追い付かれることはない。
【００３６】
このようにビデオテープレコーダでは、書込データＤ(r)が読出データＤ(p)に追い越される場合や、読出データＤ(p)が書込データＤ(r)に追い越される場合、クロスフェード処理を行うようになされているが、１２個のオーディオトラックを用いてオーディオデータの信号処理を行っているためクロスフェード処理に応じた信号処理量が膨大となり効率的ではない。またクロスフェード処理では、２種類のオーディオデータを重ね合わせるため、どうしてもオーディオの品位が低下してしまう。
【００３７】
そこで図７に示すように、オーディオ入出力制御装置では書込速度と読出速度との速度差によって、例えば書込データＤ(r)が読出データＤ(p)に追い付くことになった場合、読出アドレスを書込アドレスの後ろへ強制的に変更することにより、読出アドレスジャンプ処理を実行するようになされている。
【００３８】
このときオーディオ入出力制御装置では、読出アドレスを書込アドレスの後ろへ強制的に変更するのだが、何ら考慮せずに読出アドレスジャンプ処理を実行した場合、アドレス変更前の読出アドレス時におけるオーディオデータとアドレス変更後の読出アドレス時におけるオーディオデータとの間では信号レベルに大きな差が生じ、当該オーディオデータの連続性が保てずノイズを発生させかねない。
【００３９】
そこでオーディオ入出力制御装置では、アドレス変更前の読出アドレス時におけるオーディオデータとアドレス変更後の読出アドレス時におけるオーディオデータとの間で、当該オーディオデータの信号レベル差が少ない位置を変更後の読出アドレスとして決定するようになされている。
【００４０】
具体的には、図８に示すようにオーディオ入出力制御装置は、オーディオデータの信号レベルがゼロレベルをクロスするゼロクロス近傍のとき、現在の読出アドレスを書込アドレスの後ろへ強制的にアドレスジャンプさせるようになされている。
【００４１】
すなわちオーディオ入出力制御装置は、例えば書込アドレスが読出アドレスに追い付いてくると、現時点におけるアドレス変更前の読出アドレスからリングバッファ１０の約１周分先の書込アドレスの後ろであって、当該オーディオデータの信号レベルがゼロクロス近傍となる位置をアドレス変更後の読出アドレスとして決定する。
【００４２】
このときオーディオ入出力制御装置では、ゼロクロス直前の読出アドレスから、ゼロクロス直後の読出アドレスへとアドレスジャンプさせるようになされており、これによりアドレスジャンプ前とアドレスジャンプ後との間においてオーディオデータの連続性を維持してオーディオの品位を低下させないようになされている。
【００４３】
但しオーディオ入出力制御装置では、必ずしもこれに限る必要はなく、ゼロクロス直前の読出アドレスからゼロクロス直前の読出アドレスへアドレスジャンプさせ、又はゼロクロス直後の読出アドレスからゼロクロス直後の読出アドレスへアドレスジャンプさせ、或いはゼロクロス直後の読出アドレスからゼロクロス直前の読出アドレスへアドレスジャンプさせるようにしても良い。
【００４４】
ところで図９に示すようにオーディオ入出力制御装置は、２０４８スロットを有するリングバッファ１０を用いているため、例えばオーディオデータの書込速度が読出速度よりも速い場合には書込データが読出データを追い越した瞬間に最小ディレイとなり、その後次第にディレイ量が増えていく。
【００４５】
また図１０に示すようにオーディオ入出力制御装置は、例えばオーディオデータの読出速度が書込速度よりも速い場合には読出データが書込データを追い越した瞬間に最小ディレイとなり、その後次第にディレイ量が増えていく。
【００４６】
そのためオーディオ入出力制御装置では、オーディオデータの書込アドレスに対して読出アドレスをリングバッファ１０の半分の値（１０２４スロット分）だけ離した位置に設定し、書込データＤ(r)の書込タイミングと読出データＤ(p)の読出タイミングとの間でリングバッファ１０の半周分に相当する１０２４スロットの初期ディレイ（21.3msec）をディレイ量として保持するようにしたい。
【００４７】
しかしながらオーディオ入出力制御装置は、例えば書込速度が読出速度よりも速い場合には読出データが書込データに追い付かれる前に読出アドレスを書込アドレスの後ろへアドレスジャンプさせるが、このときはディレイ量が最も大きくなってしまうので１０２４スロットの初期ディレイから大きく外れることのない一定範囲（例えば１０２４スロット±１００スロット）に制御するようになされている。
【００４８】
具体的には図１１（Ａ）に示すようにオーディオ入出力制御装置は、書込速度が読出速度よりも速い場合、読出アドレスがいずれ書込アドレスに追い付かれてしまうので、読出アドレスと書込アドレスとの差分値ｋを算出し、ｋ＜１０２４となった場合に読出アドレスを少し先に進めた位置へ強制的にアドレスジャンプさせるようになされている。
【００４９】
これによりオーディオ入出力制御装置は、書込速度が読出速度よりも速い場合であっても読出アドレスと書込アドレスとの差分値ｋをある程度一定に保つことができるため、１０２４スロットの初期ディレイから大きく外れることがない一定範囲のディレイ量を維持し得るようになされている。
【００５０】
また図１１（Ｂ）に示すようにオーディオ入出力制御装置は、読出速度が書込速度よりも速い場合、読出アドレスと書込アドレスとの差が拡がって、いずれ書込アドレスが読出アドレスに追い付かれるので、読出アドレスと書込アドレスとの差分値ｋを算出し、ｋ＞１０２４となった場合に読出アドレスを現時点よりも少し戻した位置へ強制的にアドレスジャンプさせるようになされている。
【００５１】
これによりオーディオ入出力制御装置は、読出速度が書込速度よりも速い場合であっても読出アドレスと書込アドレスとの差分値ｋをある程度一定に保つことができるため、１０２４スロットの初期ディレイから大きく外れることがない一定範囲のディレイ量を維持し得るようになされている。
【００５２】
因みにオーディオ入出力制御装置は、アドレスジャンプ前の読出アドレスと、アドレスジャンプ後の読出アドレスとの間で、オーディオデータの信号レベル差が少ないゼロクロス近傍同士でアドレスジャンプさせるようになされている。
【００５３】
ところで、リングバッファ１０にスロット単位で書き込まれるオーディオデータは、図１２に示すように、ＭＳＢ(Most Significant Bit)からＬＳＢ(Least Significant Bit)で示される実データと、当該実データの前段に記述されたヘッダとから構成されている。
【００５４】
オーディオデータのヘッダにおいては、「Jump」としてゼロクロス近傍であるか否かに基づいてアドレスジャンプすべきオーディオデータがあるときは現在のアドレスがジャンプアドレス（詳しくは後述する）であることを表すフラグ情報が記述され、「GroupID2」、「GroupID1」、「GroupID0」として１２トラックのうち所望のトラック同士を関連付けて１つのグループとした際のグループを識別するグループＩＤが記述され、「Offset」としてアナログディジタル変換後のオーディオデータに重畳している直流成分を除去するためのオフセット量が記述される。
【００５５】
図１３に示すようにオーディオデータに直流成分が重畳している場合、波形全体の信号レベルが直流成分によって上がり、直流成分が重畳されていない本来のオーディオデータにおけるゼロクロスが検出できなくなってしまう。
【００５６】
そこでオーディオ入出力制御装置は、直流成分を除去するためのオフセット量を予め検出し、それをオーディオデータのヘッダ情報における「Offset」に記述するようになされている。従ってオーディオ入出力制御装置は、直流成分が重畳しているオーディオデータについては当該直流成分を予め除去したバーチャルゼロクロスを検出することにより、直流成分が重畳していない本来のオーディオデータにおけるゼロクロスを検出し得るようになされている。
【００５７】
またオーディオデータのヘッダ（図１２）においては、「Low level」としてオーディオデータが例えば−６０[dB]以下のローレベルであるときにその旨が記述され、「zcFlag1」としてオーディオデータがゼロクロス直前（図８）であるときにフラグ情報が記述され、「zcFlag0」としてオーディオデータがゼロクロス直後（図８）であるときにフラグ情報が記述されるようになされている。
【００５８】
従ってオーディオ入出力制御装置では、２０４８スロット毎のオーディオデータにおけるヘッダを参照して「zcFlag1」や「zcFlag0」のフラグ情報を確認することにより、オーディオデータの信号レベルがゼロクロス直前であるのか、ゼロクロス直後であるのかを瞬時に判別し得るようになされている。
【００５９】
またオーディオデータのヘッダでは、直流成分の重畳されているオーディオデータについては、「オフセットzcFlag1」として直流成分が重畳されていない本来のオーディオデータがゼロクロス直前であるときにフラグ情報が記述され、「オフセットzcFlag0」として直流成分が重畳していない本来のオーディオデータがゼロクロス直後であるときにフラグ情報が記述されるようになされている。
【００６０】
ところでオーディオ入出力制御装置は、図８に示したように、オーディオデータの信号レベルをリングバッファ１０のスロット単位で監視しており、その結果、オーディオデータの信号レベルがゼロレベル以下のときは符号ビットとして「１」をセットし、ゼロレベルを超えるときには符号ビットとして「０」をセットするようになされている。
【００６１】
従ってオーディオ入出力制御装置は、例えばゼロクロス直前の時点（記号Ｗで示す）で書き込まれたオーディオデータの信号レベルがゼロレベル以下であるため符号ビットとして「１」をセットし、その１時点前（記号ａで示す）のオーディオデータの信号レベルもゼロレベル以下であるため符号ビットとして「１」をセットし、そのゼロクロス直前の時点に対して１時点後（記号ｂで示す）のオーディオデータの信号レベルがゼロレベルを超えるため符号ビットとして「０」をセットする。
【００６２】
また同様にオーディオ入出力制御装置は、例えばゼロクロス直後の時点（記号Ｗで示す）で書き込まれたオーディオデータの信号レベルがゼロレベルを超えるため符号ビットとして「０」をセットし、その１時点前（記号ａで示す）のオーディオデータの信号レベルはゼロレベル以下であるため符号ビットとして「１」をセットし、そのゼロクロス直後の時点に対して１時点後（記号ｂで示す）のオーディオデータの信号レベルがゼロレベルを超えるため符号ビットとして「０」をセットする。
【００６３】
従ってオーディオ入出力制御装置は、この符号ビットをスロット毎に監視しておくことにより、符号ビットが「１」→「０」に変化するタイミングをゼロクロス時と判断することができ、そのときの符号ビットが「１」を示しているスロットをゼロクロス直前のオーディオデータとして把握し得ると共に「zcFlag1」のフラグ情報として「１」をセットし、符号ビットが「０」を示しているスロットをゼロクロス直後のオーディオデータとして把握し得ると共に「zcFlag0」のフラグ情報として「０」をセットするようになされている。
【００６４】
なおオーディオ入出力制御装置は、「オフセットzcFlag1」及び「オフセットzcFlag0」のフラグ情報についても、「zcFlag1」及び「zcFlag0」と同様に符号ビットに基づいて「１」又は「０」をセットするようになされている。
【００６５】
（２）オーディオ入出力制御装置の構成
実際上、図１４に示すようにオーディオ入出力制御装置１は、２０４８スロット構成のリングバッファ１０に合わせて２０４８サンプル毎のオーディオデータＤ１をローレベル検出器２、ゼロクロス検出器３及びリングバッファ１０に入力する。
【００６６】
ローレベル検出器２は、ＣＰＵ(Central Processing Unit)構成でなる制御部４でゼロクロスを判断するために、オーディオデータＤ１の信号レベルが−６０[dB]以下のローレベルであることを検出するようになされており、検出結果を制御部４へ出力する。
【００６７】
実際上、ローレベル検出器２は、図１５に示すようにルーチンＲＴ１の開始ステップから入って次のステップＳＰ１へ移り、リングバッファ１０に書き込むオーディオデータＤ１の信号レベルがローレベルであるか否かを判定する。
【００６８】
ここで否定結果が得られるとローレベル検出器２は、次のステップＳＰ２へ移り、ローレベルフラグとして「０」をセットし、次のステップＳＰ４へ移って処理を終了する。一方、ステップＳＰ１で肯定結果が得られると、ローレベル検出器２は次のステップＳＰ３へ移り、ローレベルフラグとして「１」をセットし、次のステップＳＰ４へ移って処理を終了する。
【００６９】
ゼロクロス検出器３は、オーディオデータＤ１の信号レベルを監視することにより、当該オーディオデータの信号レベルが「０」レベルをクロスするか否かを検出し、その検出結果を制御部４へ出力する。
【００７０】
実際上、ゼロクロス検出器３は図１６に示すようにルーチンＲＴ２の開始ステップから入って次のステップＳＰ１１へ移り、オーディオデータＤ１に直流成分が重畳しているか否かをオフセット検出器５の検出結果に基づいて判別する。
【００７１】
ここで図１７に示すようにオフセット検出器５は、リングバッファ１０の２０４８スロットに順次書き込むオーディオデータＤ１の信号レベルの合計値を２０４８で除算することにより平均値を算出し、当該平均値を直流成分のオフセット量として検出するようになされている。
【００７２】
ステップＳＰ１１で否定結果が得られると、ゼロクロス検出器５はオーディオデータＤ１に直流成分が重畳していないので何ら処理を施すことなく次のステップＳＰ１３へ移る。
【００７３】
一方ステップＳＰ１１で肯定結果が得られると、ゼロクロス検出器５はオーディオデータＤ１に直流成分が重畳しているのでリングバッファ１０に書き込むオーディオデータＤ１から直流成分がないものと仮定したバーチャルゼロクロスを基準にして以降判断し、次のステップＳＰ１３へ移る。
【００７４】
ステップＳＰ１３においてゼロクロス検出器５は、図８に示したように、現時点（記号Ｗで示す）におけるオーディオデータＤ１の次の時点（記号ｂで示す）における符号ビットが「０」であるか否かを判定し、否定結果が得られると、次のステップＳＰ１６へ移るのに対し、肯定結果が得られると次のステップＳＰ１４へ移る。
【００７５】
ステップＳＰ１４においてゼロクロス検出器５は、現時点（記号Ｗで示す）におけるオーディオデータＤ１の符号ビットが「１」であるか否かを判定し、否定結果が得られると記号Ｗｂの並びとなる符号ビットが「００」となっていること、すなわちゼロクロスしていないことを表しており、このとき次のステップＳＰ１６へ移る。
【００７６】
一方ステップＳＰ１４で肯定結果が得られると、記号Ｗｂの並びとなる符号ビットが「１０」となっていること、すなわちゼロクロスしていることを表しており、このときゼロクロス検出器５は次のステップＳＰ１５へ移り、ゼロクロス直前における「zcFlag1」のフラグ情報として「１」をセットした後、ステップＳＰ１９へ移って処理を終了する。
【００７７】
ステップＳＰ１６においてゼロクロス検出器５は、現時点（記号Ｗで示す）におけるオーディオデータＤ１の前時点（記号ａで示す）における符号ビットが「１」であるか否かを判定し、否定結果が得られると、ステップＳＰ１９へ移って処理を終了するのに対し、肯定結果が得られると次のステップＳＰ１７へ移る。
【００７８】
ステップＳＰ１７においてゼロクロス検出器５は、現時点（記号Ｗで示す）におけるオーディオデータＤ１の符号ビットが「０」であるか否かを判定し、否定結果が得られると記号ａＷの並びとなる符号ビットが「１１」となっていること、すなわちゼロクロスしていないことを検出し、ステップＳＰ１９へ移って処理を終了する。
【００７９】
一方ステップＳＰ１７で肯定結果が得られると、記号ａＷの並びとなる符号ビットが「１０」となっていること、すなわちゼロクロスしていることを表しており、このときゼロクロス検出器５は次のステップＳＰ１８へ移り、ゼロクロス直後における「zcFlag0」のフラグ情報として「１」をセットした後、ステップＳＰ１９へ移って処理を終了する。
【００８０】
ところでリングバッファ１０は、上述した通り、２０４８スロット構成でなり、入力されたオーディオデータＤ１をライトアドレスジェネレータ６から供給される書込アドレスに従い書込速度４８[kHz]±５％でスロット毎に書き込み、当該オーディオデータＤ１をリードアドレスジェネレータ７から供給される読出アドレスに従い一定の読出速度４８[kHz]で読み出して出力するようになされている。
【００８１】
このときライトアドレスジェネレータ６及びリードアドレスジェネレータ７は、書込アドレス及び読出アドレスをライトスピード検出器８へ送出すると共に、制御部４へ送出するようになされている。
【００８２】
ライトスピード検出器８は、読出アドレスと書込アドレスとの差分値ｋを算出することにより、書込速度と読出速度との速度差を検出するようになされており、その差分値ｋを制御部４へ送出する。
【００８３】
制御部４は、書込アドレス、読出アドレス及び当該読出アドレスと当該書込アドレスとの差分値ｋに基づいて、現時点におけるアドレス変更前の読出アドレスを何処にアドレスジャンプさせるべきかを判断してアドレスジャンプ先となるアドレス変更後の読出アドレスを決定し、当該アドレス変更後の読出アドレスをリングバッファ１０に指示するようになされている。
【００８４】
（３）アドレスジャンプ処理手順
次に、オーディオ入出力制御装置１の制御部４がリングバッファ１０に対する書込速度と読出速度との速度差に応じて読出アドレスをアドレスジャンプさせるアドレスジャンプ処理手順について、書込速度が読出速度よりも速い場合と、読出速度が書込速度よりも速い場合とに分けて説明する。
【００８５】
（３−１）書込速度が読出速度よりも速い場合の読出アドレスジャンプ処理手順
オーディオ入出力制御装置１の制御部４は、アプリケーションプログラムであるアドレスジャンプ処理プログラムに従い、ビデオテープレコーダのプログラムプレイ機能が動作する際にビデオの変速再生処理に応じてオーディオデータの書込速度が読出速度よりも速い場合にオーディオの音程変化を起こさせることなく、かつオーディオの連続性を維持するための読出アドレスジャンプ処理手順について図１８のフローチャートを用いて具体的に説明する。
【００８６】
実際上、オーディオ入出力制御装置１の制御部４は、ルーチンＲＴ３の開始ステップから入ってステップＳＰ２１へ移り、リングバッファ１０から読み出すべき現時点における読出アドレスに「１」を加算することにより次の読出アドレスへ移行し、次のステップＳＰ２２へ移る。
【００８７】
ステップＳＰ２２において制御部４は、次の読出アドレスに相当するリングバッファ１０のスロットに書き込まれているオーディオデータＤ１のヘッダを参照し、当該ヘッダの「zcFlag1」又は「zcFlag0」のフラグ情報として「１」がセットされているか否かを判定する。
【００８８】
ここで肯定結果が得られると、このことは「zcFlag1」又は「zcFlag0」のフラグ情報として「１」がセットされていること、すなわち次の読出アドレスから読み出すべきオーディオデータＤ１がゼロクロス直前又はゼロクロス直後のデータであることを表しており、このとき制御部４は次のステップＳＰ２３へ移る。
【００８９】
ステップＳＰ２３において制御部４は、ライトスピード検出器８により読出アドレスと書込アドレスとの差分値ｋを算出し、その差分値ｋが２５６（スロット）未満であるか、差分値ｋが１０２４（スロット）よりも大きいか、或いは差分値ｋが２５６（スロット）以上１０２４（スロット）以下の範囲であるかを判定する。
【００９０】
ここで図１９に示すように、差分値ｋが１０２４（スロット）よりも大きい場合、このことは読出アドレスが書込アドレスに追い付かれるまでには相当の時間的余裕があることを表しており、このとき制御部４はステップＳＰ３２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【００９１】
また差分値ｋが２５６（スロット）以上１０２４（スロット）以下の範囲である場合、このことは読出アドレスに書込アドレスが次第に追い付いてきており、読出アドレスと書込アドレスとの差が初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が出てきたことを表しており、このとき制御部４は次のステップＳＰ２４へ移る。
【００９２】
ステップＳＰ２４において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベル変化が少ないゼロクロス近傍で、かつ読出アドレスから近い先に位置するアドレスジャンプ予定の読出アドレスをフォワードゼロクロスアドレスとし、当該フォワードゼロクロスアドレスと読出アドレスとの差ｆｋを算出する。
【００９３】
そして制御部４は、その差ｆｋが１０２４（スロット）以上の場合、フォワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ３２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【００９４】
一方、制御部４は差ｆｋが１０２４（スロット）よりも小さい場合、フォワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ２６へ移る。
【００９５】
ステップＳＰ２３において差分値ｋが２５６（スロット）よりも小さい場合、このことは読出アドレスが書込アドレスに追い付かれる直前の状態にあることを表しており、このとき制御部４は次のステップＳＰ２５へ移る。
【００９６】
ステップＳＰ２５において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベル変化が少ないゼロクロス近傍で、かつ読出アドレスから遠い先に位置するアドレスジャンプ予定の読出アドレスをモアフォワードゼロクロスアドレスとし、読出アドレスと当該モアフォワードゼロクロスアドレスとの差ｍｋを算出する。
【００９７】
そして制御部４は、その差ｍｋが１０２４（スロット）以上の場合、モアフォワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ３２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【００９８】
一方、制御部４は差ｍｋが１０２４（スロット）よりも小さい場合、モアフォワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ２６へ移る。
【００９９】
ステップＳＰ２６において制御部４は、読出アドレスをフォワードゼロクロスアドレス若しくはモアフォワードゼロクロスアドレスへアドレスジャンプさせることによりオーディオデータＤ１をデータ間引きして読出アドレスが書込アドレスに追い付かれることを予め防止すると共に、アドレスジャンプ前に読み出したオーディオデータＤ１とアドレスジャンプ後に読み出すオーディオデータＤ１との連続性を保持し、次のステップＳＰ３２へ移って処理を終了する。
【０１００】
これに対してステップＳＰ２２で否定結果が得られると、このことは「zcFlag1」又は「zcFlag0」のフラグ情報として「０」がセットされていること、すなわちゼロクロスとは無関係のオーディオデータＤ１であることを表しており、このとき制御部４は次のステップＳＰ２７へ移る。
【０１０１】
ここで制御部４は、例えオーディオデータＤ１がゼロクロスとは無関係であっても当該オーディオデータＤ１に直流成分が重畳しているためにゼロクロスを検出できていない可能性もあるため、次のステップＳＰ２７以降の処理へ移るようになされている。
【０１０２】
ステップＳＰ２７において制御部４は、当該オーディオデータＤ１のヘッダを参照し、当該ヘッダの「オフセットzcFlag1」又は「オフセットzcFlag0」のフラグ情報として「１」がセットされているか否かを判定する。
【０１０３】
ここで否定結果が得られると、このことは「zcFlag1」又は「zcFlag0」と、「オフセットzcFlag1」又は「オフセットzcFlag0」のフラグ情報として何れも「０」がセットされていること、すなわち直流成分が重畳していないオーディオデータＤ１及び直流成分が重畳しているオーディオデータＤ１の双方共にゼロクロスしていないため、読出アドレスジャンプ処理を行うタイミングではないことを表しており、このとき制御部４はステップＳＰ３２へ移って処理を終了する。
【０１０４】
一方ステップＳＰ２７で肯定結果が得られると、このことは直流成分が重畳しているオーディオデータＤ１について、直流成分が除去されたオーディオデータＤ１として考えた場合にバーチャルゼロクロス（図１３）を検出し得たことを表しており、このとき制御部４は次のステップＳＰ２８へ移る。
【０１０５】
ステップＳＰ２８において制御部４は、ライトスピード検出器８により読出アドレスと書込アドレスとの差分値ｋを算出し、その差分値ｋが２５６（スロット）未満であるか、差分値ｋが１０２４（スロット）よりも大きいか、或いは差分値ｋが２５６（スロット）以上１０２４（スロット）以下の範囲であるかを判定する。
【０１０６】
ここで差分値ｋが１０２４（スロット）よりも大きい場合、このことは読出アドレスが書込アドレスに追い付かれるまでには相当の時間的余裕があることを表しており、このとき制御部４は上述のステップＳＰ２３と同様にステップＳＰ３２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１０７】
また差分値ｋが２５６（スロット）以上１０２４（スロット）以下の範囲である場合、このことは読出アドレスに書込アドレスが追い付いてきており、読出アドレスと書込アドレスとの差が初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性があることを表しており、このとき制御部４は次のステップＳＰ２９へ移る。
【０１０８】
ステップＳＰ２９において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベル変化が少ないゼロクロス近傍で、かつ読出アドレスから近い先に位置するアドレスジャンプ予定の読出アドレスをフォワードオフセットゼロクロスアドレスとし、当該フォワードオフセットゼロクロスアドレスと現時点の読出アドレスとの差ｆｏｋを算出する。
【０１０９】
そして制御部４は、その差ｆｏｋが１０２４（スロット）以上の場合、フォワードオフセットゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ３２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１１０】
一方、制御部４は差ｆｏｋが１０２４（スロット）よりも小さい場合、フォワードオフセットゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ３０へ移る。
【０１１１】
さらにステップＳＰ２８における差分値ｋが２５６（スロット）よりも小さい場合、このことは読出アドレスが書込アドレスに追い付かれる直前の状態にあることを表しており、このとき制御部４は次のステップＳＰ３１へ移る。
【０１１２】
ステップＳＰ３１において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベルの変化が少ないゼロクロス近傍で、かつ読出アドレスから遠い先に位置するアドレスジャンプ予定の読出アドレスをモアフォワードオフセットゼロクロスアドレスとし、当該モアフォワードオフセットゼロクロスアドレスと現時点の読出アドレスとの差ｍｏｋを算出する。
【０１１３】
そして制御部４は、その差ｍｏｋが１０２４（スロット）以上の場合、モアフォワードオフセットゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ３２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１１４】
一方、制御部４は差ｍｏｋが１０２４（スロット）よりも小さい場合、モアフォワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ３０へ移る。
【０１１５】
ステップＳＰ３０において制御部４は、読出アドレスをフォワードオフセットゼロクロスアドレス若しくはモアフォワードオフセットゼロクロスアドレスへアドレスジャンプさせることにより直流成分が重畳しているオーディオデータＤ１をデータ間引きして読出アドレスが書込アドレスに追い付かれることを予め防止すると共に、アドレスジャンプ前に読み出した直流成分が重畳しているオーディオデータＤ１とアドレスジャンプ後に読み出す直流成分が重畳しているオーディオデータＤ１との連続性を保持し、次のステップＳＰ３２へ移って処理を終了する。
【０１１６】
（３−２）読出速度が書込速度よりも速い場合の読出アドレスジャンプ処理手順
オーディオ入出力制御装置１の制御部４は、アプリケーションプログラムであるアドレスジャンプ処理プログラムに従い、ビデオテープレコーダのプログラムプレイ機能が動作する際にビデオの変速再生処理に応じてオーディオデータＤ１の読出速度が書込速度よりも速い場合にオーディオの音程変化を起こさせることなく、かつオーディオの連続性を維持するための読出アドレスジャンプ処理手順について図２０のフローチャートを用いて具体的に説明する。
【０１１７】
実際上、オーディオ入出力制御装置１の制御部４は、ルーチンＲＴ４の開始ステップから入ってステップＳＰ４１へ移り、リングバッファ１０から読み出すべき現時点における読出アドレスに「１」を加算することにより次の読出アドレスへ移行し、次のステップＳＰ４２へ移る。
【０１１８】
ステップＳＰ４２において制御部４は、次の読出アドレスに相当するリングバッファ１０のスロットに書き込まれているオーディオデータＤ１のヘッダを参照し、当該ヘッダの「zcFlag1」又は「zcFlag0」のフラグ情報として「１」がセットされているか否かを判定する。
【０１１９】
ここで肯定結果が得られると、このことは「zcFlag1」又は「zcFlag0」のフラグ情報として「１」がセットされていること、すなわち次の読出アドレスから読み出すべきオーディオデータＤ１がゼロクロス直前又はゼロクロス直後のデータであることを表しており、このとき制御部４は次のステップＳＰ４３へ移る。
【０１２０】
ステップＳＰ４３において制御部４は、ライトスピード検出器８により書込アドレスと読出アドレスとの差分値ｋ´を算出し、その差分値ｋ´が２５６（スロット）未満であるか、差分値ｋ´が１０２４（スロット）よりも大きいか、或いは差分ｋが２５６（スロット）以上１０２４（スロット）以下の範囲であるかを判定する。
【０１２１】
ここで図２１に示すように、差分値ｋ´が１０２４（スロット）よりも大きい場合、このことは書込アドレスが読出アドレスに追い付かれるまでには相当の時間的余裕があることを表しており、このとき制御部４はステップＳＰ５２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１２２】
また差分値ｋ´が２５６（スロット）以上１０２４（スロット）以下の範囲である場合、このことは書込アドレスに読出アドレスが次第に追い付いてきており、書込アドレスと読出アドレスとの差が初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が出てきたことを表しており、このとき制御部４は次のステップＳＰ４４へ移る。
【０１２３】
ステップＳＰ４４において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベル変化が少ないゼロクロス近傍で、かつ読出アドレスから少し戻した先に位置するアドレスジャンプ予定の読出アドレスをバックワードゼロクロスアドレスとし、読出アドレスと当該バックワードゼロクロスアドレスとの差ｂｋ´を算出する。
【０１２４】
そして制御部４は、その差ｂｋ´が１０２４（スロット）以上の場合、バックワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いので、ステップＳＰ５２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１２５】
一方、制御部４は差ｂｋ´が１０２４（スロット）よりも小さい場合、バックワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ４６へ移る。
【０１２６】
さらにステップＳＰ４３における差分値ｋ´が２５６（スロット）よりも小さい場合、このことは書込アドレスが読出アドレスに追い付かれる直前の状態にあることを表しており、このとき制御部４は次のステップＳＰ４５へ移る。
【０１２７】
ステップＳＰ４５において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベルの変化が少ないゼロクロス近傍で、かつ読出アドレスから大きく戻した先に位置するアドレスジャンプ予定の読出アドレスをモアバックワードゼロクロスアドレスとし、当該モアバックワードゼロクロスアドレスと読出アドレスとの差ｍｋ´を算出する。
【０１２８】
そして制御部４は、その差ｍｋ´が１０２４（スロット）以上の場合、モアバックワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ５２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１２９】
一方、制御部４は差ｍｋ´が１０２４（スロット）よりも小さい場合、モアバックワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ４６へ移る。
【０１３０】
ステップＳＰ４６において制御部４は、読出アドレスをバックワードゼロクロスアドレス若しくはモアバックワードゼロクロスアドレスへアドレスジャンプさせることにより、同一のオーディオデータＤ１を再度読み出しながらデータ補間して書込アドレスが読出アドレスに追い付かれることを予め防止すると共にし、アドレスジャンプ前に読み出したオーディオデータＤ１とアドレスジャンプ後に読み出すオーディオデータＤ１との連続性を保持し、次のステップＳＰ５２へ移って処理を終了する。
【０１３１】
これに対してステップＳＰ４２で否定結果が得られると、このことは「zcFlag1」又は「zcFlag0」のフラグ情報として「０」がセットされていること、すなわちゼロクロスとは無関係のオーディオデータＤ１であることを表しており、このとき制御部４は次のステップＳＰ４７へ移る。
【０１３２】
ここで制御部４は、例えオーディオデータＤ１がゼロクロスとは無関係であっても当該オーディオデータＤ１に直流成分が重畳しているためにゼロクロスを検出できていない可能性もあるため、次のステップＳＰ４７以降の処理へ移るようになされている。
【０１３３】
ステップＳＰ４７において制御部４は、当該オーディオデータＤ１のヘッダを参照し、当該ヘッダの「オフセットzcFlag1」又は「オフセットzcFlag0」のフラグ情報として「１」がセットされているか否かを判定する。
【０１３４】
ここで否定結果が得られると、このことは「zcFlag1」又は「zcFlag0」と、「オフセットzcFlag1」又は「オフセットzcFlag0」のフラグ情報として何れも「０」がセットされていること、すなわち直流成分が重畳していないオーディオデータＤ１及び直流成分が重畳しているオーディオデータＤ１の双方共にゼロクロスしていないため、読出アドレスジャンプ処理を行うタイミングではないことを表しており、このとき制御部４はステップＳＰ５２へ移って処理を終了する。
【０１３５】
一方ステップＳＰ４７で肯定結果が得られると、このことは直流成分が重畳しているオーディオデータＤ１について、直流成分が除去されたオーディオデータＤ１として考えた場合にバーチャルゼロクロスを検出し得たことを表しており、このとき制御部４は次のステップＳＰ４８へ移る。
【０１３６】
ステップＳＰ４８において制御部４は、ライトスピード検出器８により書込アドレスと読出アドレスとの差分値ｋ´を算出し、その差分値ｋ´が２５６（スロット）未満であるか、差分値ｋ´が１０２４（スロット）よりも大きいか、或いは差分値ｋ´が２５６（スロット）以上１０２４（スロット）以下の範囲であるかを判定する。
【０１３７】
ここで差分値ｋ´が１０２４（スロット）よりも大きい場合、このことは書込アドレスが読出アドレスに追い付かれるまでには相当の余裕があることを表しており、このとき制御部４は上述のステップＳＰ４３と同様にステップＳＰ５２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１３８】
またステップＳＰ４８における差分値ｋ´が２５６（スロット）以上１０２４（スロット）以下の範囲である場合、このことは書込アドレスに読出アドレスが追い付いてきており、書込アドレスと読出アドレスとの差が初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が出てきたことを表しており、このとき制御部４は次のステップＳＰ４９へ移る。
【０１３９】
ステップＳＰ４９において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベルの変化が少ないゼロクロス近傍で、かつ読出アドレスから少し戻した先に位置するアドレスジャンプ予定の読出アドレスをバックワードオフセットゼロクロスアドレスとし、読出アドレスと当該バックワードオフセットゼロクロスアドレスとの差ｂｏｋ´を算出する。
【０１４０】
そして制御部４は、その差ｂｏｋ´が１０２４（スロット）以上の場合、バックワードオフセットゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ５２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１４１】
一方、制御部４は差ｂｏｋ´が１０２４（スロット）よりも小さい場合、バックワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ５０へ移る。
【０１４２】
さらにステップＳＰ４８における差分値ｋ´が２５６（スロット）よりも小さい場合、このことは書込アドレスが読出アドレスに追い付かれる直前の状態にあることを表しており、このとき制御部４は次のステップＳＰ５１へ移る。
【０１４３】
ステップＳＰ５１において制御部４は、読出アドレスをアドレスジャンプさせる際に、オーディオデータＤ１の信号レベルの変化が少ないゼロクロス近傍で、かつ読出アドレスから遠く戻す先に位置するアドレスジャンプ予定の読出アドレスをモアバックワードオフセットゼロクロスアドレスとし、当該モアバックワードオフセットゼロクロスアドレスと読出アドレスとの差ｍｏｋ´を算出する。
【０１４４】
そして制御部４は、その差ｍｏｋ´が１０２４（スロット）以上の場合、モアバックワードオフセットゼロクロスアドレスへ読出アドレスをアドレスジャンプさせてしまうと、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）から外れる可能性が高いのでステップＳＰ５２へ移って読出アドレスジャンプ処理を行うことなく終了する。
【０１４５】
一方、制御部４は差ｍｏｋ´が１０２４（スロット）よりも小さい場合、モアバックワードゼロクロスアドレスへ読出アドレスをアドレスジャンプさせても、初期ディレイの一定範囲（例えば１０２４スロット±１００スロット）に収まる可能性が高いので読出アドレスジャンプ処理を行うべく次のステップＳＰ５０へ移る。
【０１４６】
ステップＳＰ５０において制御部４は、読出アドレスをバックワードオフセットゼロクロスアドレス若しくはモアバックワードオフセットゼロクロスアドレスへアドレスジャンプさせることにより、直流成分が重畳しているオーディオデータＤ１を再度読み出しながらデータ補間して書込アドレスが読出アドレスに追い付かれることを予め防止すると共に、アドレスジャンプ前に読み出した直流成分が重畳しているオーディオデータＤ１とアドレスジャンプ後に読み出す直流成分が重畳しているオーディオデータＤ１との連続性を保持し、次のステップＳＰ５２へ移って処理を終了する。
【０１４７】
（４）動作及び効果
以上の構成において、オーディオ入出力制御装置１の制御部４は、リングバッファ１０にオーディオデータＤ１を書込速度４８[kHz]±５％で書き込み、当該リングバッファ１０から一定の読出速度４８[kHz]で読み出す際、書込速度と読出速度との速度差を検出し、当該検出した速度差に応じて書込アドレスが読出アドレスを追い越したり、読出アドレスが書込アドレスを追い越すことがないように、読出アドレスを強制的にアドレスジャンプさせる。
【０１４８】
このときオーディオ入出力制御装置１の制御部４は、ゼロクロス直前の読出アドレスと、ゼロクロス直後の読出アドレスとを結ぶようにアドレスジャンプさせることにより、アドレスジャンプ前の読出アドレスに対応したオーディオデータＤ１と、アドレスジャンプ後の読出アドレスに対応したオーディオデータＤ１との間で信号レベルの変化を極力少なくすることができるため、実際上アドレスジャンプによってオーディオデータＤ１の連続性が途切れても、ユーザの聴感的にはオーディオデータＤ１の連続性を維持しているかのような印象を与え、かつ音程変化のない音声を出力することができる。
【０１４９】
またオーディオ入出力制御装置１の制御部４は、読出アドレスをアドレスジャンプさせることにより、当該読出アドレスを先に進ませる場合には当該オーディオデータＤ１をデータ間引きすることになり、当該読出アドレスを後ろに戻す場合には同じオーディオデータＤ１を再度読み出してデータ補間することになるため、変速再生処理したビデオに対してオーディオを時間的に合わせることができる。
【０１５０】
このようにオーディオ入出力制御装置１の制御部４は、読出アドレスのアドレスジャンプを行うだけで上述の効果を奏するようになされており、かくして多くの加算や乗算等の演算が必要なクロスフェード処理を行う場合と比較して格段に信号処理量を低減することができる。
【０１５１】
さらにオーディオ入出力制御装置１の制御部４は、読出アドレスと書込アドレスとの差として１０２４スロット±１００スロット程度の一定範囲からなる初期ディレイを保持するように制御していることにより、書込アドレスが読出アドレスを追い越したり、読出アドレスが書込アドレスを追い越すといったリスクを予め回避することができる。
【０１５２】
以上の構成によれば、オーディオ入出力制御装置１の制御部４は、ビデオテープレコーダがプログラムプレイ機能を動作させ、ビデオの変速再生処理に合わせて音程を変化させることなく音声を出力する場合、信号処理量を大幅に低減しつつ当該オーディオデータＤ１の品位についても保持することができる。
【０１５３】
（５）他の実施の形態
なお上述の実施の形態においては、２０４８スロットのリングバッファ１０を用いるようにした場合について述べたが、本発明はこれに限らず、オーディオの品位を考慮して４０９６スロットのリングバッファを用いたり、初期ディレイを少なくする点を考慮して１０４８スロットのリングバッファを用いるようにしても良い。
【０１５４】
また上述の実施の形態においては、オフセット検出器５として、リングバッファ１０の２０４８スロットに順次書き込むオーディオデータＤ１の信号レベルの合計値を２０４８で除算することにより平均値を算出し、当該平均値を直流成分のオフセット量として検出するようにした場合について述べたが、本発明はこれに限らず、オーディオデータＤ１の最大値と最小値の中間値を直流成分のオフセット量として検出するようにしても良い。
【０１５５】
さらに上述の実施の形態においては、オーディオデータＤ１を書込速度４８[kHz]±５％でスロット毎に書き込む場合に本発明を適用するようにした場合について述べたが、本発明はこれに限らず、オーディオデータＤ１のリングバッファ１０に対する書込速度が４８[kHz]±５％に固定されるのではなく変動する場合に本発明を適用するようにしても良い。
【０１５６】
さらに上述の実施の形態においては、プログラムプレイ機能を動作させる際にビデオの変速再生処理に合わせてオーディオデータＤ１の入出力を制御するようにした場合について述べたが、本発明はこれに限らず、ビデオの変速再生処理とは無関係にオーディオデータＤ１の入出力を制御するようにしても良い。
【０１５７】
さらに上述の実施の形態においては、本発明の入出力制御装置１をビデオテープレコーダに搭載するようにした場合について述べたが、本発明はこれに限らず、ビデオ編集装置やボイスレコーダ、オーディオ録音装置、パーソナルコンピュータ、ハードディスクレコーダ又は携帯電話機等のその他種々の電子機器に搭載するようにしても良い。
【０１５８】
さらに上述の実施の形態においては、本発明のオーディオ入出力制御装置をメモリとしてのリングバッファ１０、アドレス変更手段及び読出アドレス決定手段としての制御部４によって構成するようにした場合について述べたが、本発明はこれに限らず、その他種々の構成でなるメモリ、アドレス変更手段及び読出アドレス決定手段によってオーディオ入出力制御装置を構成するようにしても良い。
【産業上の利用可能性】
【０１５９】
本発明のオーディオ入出力制御装置及びオーディオ入出力制御方法は、例えばオーディオデータを高品位のまま時間伸張又は時間圧縮する用途に適用することができる。
【図面の簡単な説明】
【０１６０】
【図１】リングバッファ上における書込データと読出データの位置関係を示す略線図である。
【図２】読出データが書込データを追い越す様子を示す略線図である。
【図３】書込データが読出データを追い越す様子を示す略線図である。
【図４】クロスフェード処理の説明に供する略線図である。
【図５】書込アドレスが読出アドレスを追い越すときのクロスフェード処理の説明に供する略線図である。
【図６】読出アドレスが書込アドレスを追い越すときのクロスフェード処理の説明に供する略線図である。
【図７】読出アドレスジャンプ処理の説明に供する略線図である。
【図８】ゼロクロスを用いた読出アドレスジャンプ処理の説明に供する略線図である。
【図９】書込速度が読出速度よりも速い場合のディレイ量の変化を示す略線図である。
【図１０】読出速度が書込速度よりも速い場合のディレイ量の変化を示す略線図である。
【図１１】読出アドレスのジャンプタイミングを示す略線図である。
【図１２】オーディオデータのデータ構造を示す略線図である。
【図１３】直流成分が重畳したオーディオデータの波形を示す略線図である。
【図１４】オーディオ入出力制御装置の回路構成を示す略線的ブロック図である。
【図１５】ローレベル検出処理手順の説明に供するフローチャートである。
【図１６】ゼロクロス検出処理手順の説明に供するフローチャートである。
【図１７】オフセット検出器の構成を示す略線図である。
【図１８】書込速度が読出速度よりも速い場合の読出アドレスジャンプ処理手順を示すフローチャートである。
【図１９】読出速度が書込速度よりも速い場合の読出アドレスジャンプ処理手順を示すフローチャートである。
【図２０】書込速度が読出速度よりも速い場合のアドレスジャンプイメージを示す略線図である。
【図２１】読出速度が書込速度よりも速い場合のアドレスジャンプイメージを示す略線図である。
【符号の説明】
【０１６１】
１……オーディオ入出力制御装置、２……ローレベル検出器、３……ゼロクロス検出器、４……制御部、５……オフセット検出器、６……ライトアドレスジェネレータ、７……リードアドレスジェネレータ、８……ライトスピード検出器、１０……リングバッファ。
【図１】
2006227110.tif 000003
【図２】
2006227110.tif 000004
【図３】
2006227110.tif 000005
【図４】
2006227110.tif 000006
【図５】
2006227110.tif 000007
【図６】
2006227110.tif 000008
【図７】
2006227110.tif 000009
【図８】
2006227110.tif 000010
【図９】
2006227110.tif 000011
【図１０】
2006227110.tif 000012
【図１１】
2006227110.tif 000013
【図１２】
2006227110.tif 000014
【図１３】
2006227110.tif 000015
【図１４】
2006227110.tif 000016
【図１５】
2006227110.tif 000017
【図１６】
2006227110.tif 000018
【図１７】
2006227110.tif 000019
【図１８】
2006227110.tif 000020
【図１９】
2006227110.tif 000021
【図２０】
2006227110.tif 000022
【図２１】
2006227110.tif 000023