オーディオデータ処理装置
【課題】 データバスのビット幅が広い場合にメモリからの読み出し遅延を低減させる。
【解決手段】 時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化したデータを誤り訂正復号して元の時間軸方向の再配列のオーディオデータにデコードする場合に、誤り訂正符号化されたデータを誤り訂正復号して、シャッフルして再配列されたオーディオデータを元の時間軸方向の再配列に戻してメモリ4に書き込み、メモリ上のオーディオデータを元の時間軸方向の再配列で順次読み出す。
【解決手段】 時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化したデータを誤り訂正復号して元の時間軸方向の再配列のオーディオデータにデコードする場合に、誤り訂正符号化されたデータを誤り訂正復号して、シャッフルして再配列されたオーディオデータを元の時間軸方向の再配列に戻してメモリ4に書き込み、メモリ上のオーディオデータを元の時間軸方向の再配列で順次読み出す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時間軸方向に配列されたオーディオデータを所定の規則でシャッフルしてグループごとに再配列し、グループごとに再配列されたオーディオデータに誤り訂正符号を付加して符号化するオーディオデータ処理装置に関する。
また、本発明は、時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして誤り訂正符号化したデータを誤り訂正復号して元の配列のオーディオデータにデコードするオーディオデータ処理装置に関する。
【背景技術】
【0002】
ディジタルデータの転送時にバーストエラーに対する訂正能力を高めるために、シンボルをシャッフルすることによってバーストエラーを分散させ、平均的なエラーに変換する方法が広く使われている。図11はDV方式ディジタルVTRのテープフォーマットを示す説明図であり、NTSC方式(525−60方式)の場合、1フレーム当たり10本のトラック(図11中の数字0〜9)を形成する。1つのトラックは図12に示すように、先頭のITIからオーディオ、ビデオ、最後のサブコードの各セクタにより構成される。オーディオセクタは図11ではハッチングで示され、1フレームの前半の5トラックのオーディオセクタにチャネルCH1のオーディオデータが、後半の5トラックのオーディオセクタにチャネルCH2のオーディオデータが配される。
【0003】
各トラックのオーディオセクタは、図13に示すように概略的には90バイト(バイト位置番号(byte position number)=0〜89)/シンクブロック(Sync block)×17シンクブロック(シンクブロック番号(sync block number)=0〜16)の構造を有し、オーディオデータ(Audio data)は1ワードが2バイトであり、このオーディオセクタ上のバイト位置番号=10〜81(72バイト)×シンクブロック番号=2〜10(9シンクブロック)に配置される(72×9=648バイト=324ワード)。このオーディオデータ(及びオーディオ補助データ:Audio auxiliary data)は縦方向に外符号(アウタ・パリティ:Outer parity)が付加された後、横方向に内符号(インナ・パリティ:Inner parity)が付加されて誤り訂正符号化されている。
【0004】
さらに、1フレームの1CH分のオーディオデータ(n+1ワード:n=0〜1619)は、ワードごと(2バイト)ごとにシャッフルされた後に、5トラックのオーディオセクタに分散されて配置されている。1フレーム分のオーディオデータは、CH1、CH2ごとにフレーム単位でシャッフルされ、525−60方式のシャッフルパターンは以下の式で表される。
トラック番号CH1:(INT(n/3)+2x(n mod 3)) mod 5
トラック番号CH2:(INT(n/3)+2x(n mod 3)) mod 5 + 5
シンクブロック番号:2 + 3 x (n mod 3)+ INT((n mod 45)/15)
上位バイトのバイト位置番号:2 x lNT(n/45) + 10
下位バイトのバイト位置番号:2 x lNT(n/45) + 11
この式は、第n番のワードがフレーム内のどの位置に配置されるかを規定するものである。ここでは、1ワードは2バイトとなっており、ワード内の上位バイトと下位バイトの位置も併せて規定される。
【0005】
1フレーム分の1CHのオーディオデータは、サンプリング周波数fsに応じて異なるが、fs=48kHzの場合、1620個である。そして、図14に示すようにこのワードD0〜D1619はワードごと(2バイトごと)にシャッフルされた後に、5トラックに分散されて配置されている。図15は図13に示すシンクブロック番号=2のシンクブロックの構造を示し、シャッフルされたオーディオデータ(第1のワード)は、SYNC、ID、AUXの各ブロックと誤り訂正符号(インナ・パリティ)と共にシンクブロック構造を構成する。
【0006】
図5を参照して従来の記録時(及び送信時)のオーディオ処理を説明する。経路(4)(図5中では丸付き数字で記す。以下同じ)でA/D変換器1a、バッファ(入力バッファ)2、DSP3を経由して入力されたオーディオ信号は、経路(5)でメモリ(MEM)4に格納されてシャッフルされ、次いで外符号訂正回路(OECC)5によりメモリ4上のデータに外符号(アウタ・パリティ)が付加される。テープT上に記録する際には経路(6)−aを通り、内符号訂正回路(IECC)6によりメモリ4上のデータを読み出しながら内符号(インナ・パリティ)を付加し、記録信号処理回路7aを経由してSYNCとパリティを付加されて図15に示すようなシンクブロック構造とされ、テープTに記録される。ディジタルI/F(1394I/F)8を介して外部機器に送信する際には経路(6)−bで、図15に示すシンクブロックのうち、ID、オーディオデータを構成する部分(図15の伝送パケット)のみが送信される。この部分は80バイトであり、オーディオデータはそのうちの72バイトである。前述のシャッフルの式では、バイト位置番号はシンクブロックの先頭を0としているので、主データはバイト位置番号=10〜81に配置される。
【0007】
次に図6を参照して従来の再生時(及び受信時)のオーディオ処理を説明する。(1)(図6中では丸付き数字で記す。以下同じ)−aはテープTから再生する場合の処理の流れを示し、(1)−bは外部機器からディジタルI/F(1394I/F)8を介して受信する場合の処理の流れを示し、どちらの場合もシステムのバス9を介して内符号訂正回路(IECC)6により内符号訂正処理されてメモリ4に格納される。メモリ4に格納されるのは伝送パケットの80バイトのみである。オーディオデータは積符号を構成するので、外符号訂正回路(OECC)5がメモリ4内のオーディオデータに対して誤り訂正処理を行う。外符号訂正回路(OECC)5はバス9上でメモリ4に対してアクセスを行って、一定期間バス9を占有するブロックの1つであるが、その他にも図示省略の多くのブロック、例えばビデオの信号処理ブロック、サブコードの信号処理ブロックなどがバス9を介してメモリ4にアクセスするため、それぞれのアクセスの調停が必要となる。
【0008】
オーディオ再生を行うのはDSP3であり、DSP3はメモリ4から経路(2)でワードを順次読み出し、経路(3)でバッファ(出力バッファ)2を介してD/Aコンバータ1bに送って音声信号を再生する。メモリ4上のオーディオデータはシャッフルされているため、DSP3はシャッフルを解除しながら1ワードずつメモリ4から逐次読み出す必要がある。
【発明の開示】
【発明が解決しようとする課題】
【0009】
ここで、シャッフル処理はあらかじめ定めたルールにより符号語を並べ替える処理であり、並べ替えの単位には色々なバリエーションがあるが、データを構成するワード単位で行われることがよくある。ここで、ワードとは、1つの意味のあるデータ又はこれらを複数個組み合わせたデータを意味し、1バイトから数バイトのことが多い。
【0010】
一方、昨今のマルチメディア系の信号処理では、より高機能な処理を実現するために、システムのデータバスとして、128ビットや256ビットといった非常に広いビット幅が用いられることが多い。これらのバスに接続されるメモリには1つのアドレスに対し、128ビットバスの場合で16バイトのデータが格納されることになる。
【0011】
ここで、シャッフル処理が1バイト単位で行われるとすると、シャッフルの距離にもよるが、あるデータの次のデータは一般に、別のアドレスに格納されていることになる。したがって、1バイトデータを順番にアクセスするには各データごとに新しいアドレスを指定してアクセスしていく必要がある。また、1回のアクセスで16バイトデータを扱えるにもかかわらず、有効なデータは1バイトしかなく残りの15バイト分のアクセスは無駄になり、消費電力や帯域を無駄に消費していることになる。
【0012】
このようなアクセスは、メモリに対するランダムアクセス動作となるが、システムがユニファイド・メモリ・アーキテクチャの場合、多くのブロックが単一のメモリにアクセスしようとするため、このように多くの回数のアクセスが必要になると、バスの使用権を獲得する上で非常に不利である。またメモリアクセスコマンド発行から実際にデータアクセスが可能になる状態まで多くのクロックを消費するにもかかわらず、アクセス1回に付き1バイトしか有効でないのは非常に効率が悪い。しかも、これらの操作を信号処理を担当するCPUやDSPが行っていると、アクセスの度に処理を待たされることになるため、プログラムを効率的に実行することができない。
【0013】
図16は、1つのメモリ(MEM)を複数のブロックが共用して使用するシステムの例である。1つのメモリは、メモリコントローラ(MEMCTL)の支配下にあり、メモリコントローラに対して複数のブロックがアクセス要求(REQ)を発行する。メモリコントローラは、アービターとしての機能を持ち、各ブロックの優先度などを適宜判断し、特定のブロックにアクセス許可(ACK)を通知する。ACKを受け取ったブロックは、バスの使用権を獲得し、メモリのリード又はライト動作を行うことができる。
【0014】
次に図17、図18、図19を参照して、あるブロックが4ワードD0〜D3のデータアクセス(リード又はライト)を必要とする場合について説明する。図17は4ワードD0〜D3をバースト転送によって連続アクセスした場合の例を示し、REQ発行からバスの使用権を獲得するまでの時間aは、バスの使用権をREQ発行からすぐに獲得できた場合に最小になる。すぐに獲得できない場合には、時間aは最大待ち時間まで延びる。いったん獲得できた場合には4ワードD0〜D3を連続アクセスできるので効率的である。4ワードD0〜D3がメモリ上で連続して格納されている場合、又はばらばらであってもランダムアクセス可能なメモリの場合にはこのようにアクセスすることができる。
【0015】
図18は4ワードD0〜D3を個別に1ワードずつ転送する場合の例を示し、4ワードD0〜D3がばらばらに配置されていて、DRAMのようにランダムアクセスに対するペナルティがあるメモリの場合にはワードD0〜D3をそれぞれ得るまでの時間a、b、cが延びる。時間aは図17のようにバスの使用権をREQ発行からすぐに獲得できた場合であり、ACK受信後に次のワードアクセスのためのREQを発行することができるが、時間bのようにREQ発行後、他のブロックが先に使用権を獲得した場合にはそのブロックがバスを開放してあらためて使用権を獲得するまでACKが返ってこないため、処理が遅延する。この遅延は割り込むブロックの数やそれらのブロックのバス占有時間に依存するため、時間b、cのように一定ではない。ただし、通常は、1つのブロックの最大バス占有時間Tを規定して設計するので、4ワードのアクセスは約4T以下の時間で終了する。
【0016】
図18はREQ/ACKのハンドシェークをハードウエアで実現する場合を示し、REQ/ACK間のタイミングをハードウエアが許す最小間隔で実現することができる。これに対し、図19はソフトウエアで実現する場合の例を示し、アクセスしにいくブロックがCPUやDSPなどソフトウエアベースで動作する場合の例を示す。ソフトウエア処理の場合には、バスの使用権を獲得した後、実際にアクセスしてデータを読み出し、又は書き込みを行ってデータ処理に移るというループ処理をソフトウエアで実現するので、ACKを受け取ってから次のREQを発行するまで、時間dのように多少の遅れが発生する。また、この処理中に割り込みなど他の処理が入る場合もあり、次のREQを発行するまでの時間がeのように遅延する場合もある。時間d又はeの最大値をSとすると、ソフトウエア処理部分に起因する最大処理時間は、(4−1)S=3S以下である。
【0017】
図19の例では、REQ→ACK間は遅延がない場合を示したが、実際には他のブロックとの調停によりバスの使用権を直ちに獲得できない場合があり、図18の時間b、cのようにREQ→ACK間の遅延が発生する。したがって、ソフトウエア処理での最大処理時間はこれらの合計となり、約(3S+4T)以下となる。
【0018】
問題について、伝送パケットがシャッフルされた4ワードの主データを含む場合を例にとって説明する。伝送パケットには、主データのほかに同期信号や、ID、パリティなどのその他の情報を含む場合があるが、本発明には有っても無くてもよい。これらは本発明とは直接関係ないので、ここではないものとして説明を省略する。伝送パケットが4つで1つの転送単位とし、伝送パケットを受信する場合について、従来の例を図20に示す。伝送パケットは受信回路又は再生回路内のバッファで受信され、次いでパケットデータごとにメモリの記憶領域に書き込まれる。バッファはFIFOなどで構成されることが多い。記憶領域のデータバス幅がパケットデータのデータ量以上であれば1回の書き込みで1つのパケットの全データを書き込むことができる。
【0019】
そうでない場合は、バースト転送によって同一RAWアドレスの連続するカラムアドレスにわたって連続書き込みするのが効率がよい。図17はこれを示している。記憶領域に書き込まれたパケットデータは、記憶領域を節約するために詰めて連続的に配置してもよいし、ある程度スペースを開け、各パケットがカラム境界をまたがず、適当なサイズ単位でアライメントをとるように配置してもよい。
【0020】
書き込み時は、図20に示すように4回の4ワード書き込みが起こる。これは図6における経路(1)−a又は(1)−bに相当する。データの再生又は受信は間断なく行われるため、ハードウェアで処理される。したがって、このときの最大待ち時間は4Tとなる。パケットデータがワードごとにシャッフルされている場合、各データを順番に処理するには図20に示すように、シャッフルされている順番にしたがって、1ワードずつランダムに読み出す必要があり、合計で16回の1ワード読み出しが発生する。この記憶領域からの読み出し時の状況は、先に説明したアクセス効率が最も低下する場合と同じである。読み出しにかかる最大処理時間は、読み出し処理がハードウェア処理によって遅滞なく行える場合は、バスの最大待ち時間によって決まり、16Tとなる。また、読み出しがソフトウェア処理であって、処理に遅延が生じる可能性がある場合は、15S+16Tである。
【0021】
本発明は上記従来例の問題点に鑑み、データバスのビット幅が広い場合にメモリからの読み出し遅延を低減させることができるオーディオデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0022】
本発明は上記目的を達成するために、
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化するオーディオデータ処理装置において、
記憶手段と、
前記シャッフルして再配列されたオーディオデータをその再配列されたデータ単位で前記記憶手段に対し、書き込む書き込み手段と、
前記記憶手段上のオーディオデータに対して前記誤り訂正符号を付加する誤り訂正符号化手段と、
前記記憶手段上の前記誤り訂正符号を付加され再配列されたオーディオデータを順次読み出す読み出し手段とを有する。
【0023】
また本発明は上記目的を達成するために、
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化したデータを誤り訂正復号して元の時間軸方向の配列のオーディオデータにデコードするオーディオデータ処理装置において、
記憶手段と、
前記誤り訂正符号化されたデータを誤り訂正復号して前記シャッフルして再配列されたオーディオデータとする誤り訂正復号手段と、前記誤り訂正復号されたオーディオデータを前記元の時間軸方向の配列とし、その配列されたデータ単位で前記記憶手段に書き込む書き込み手段と、
前記記憶手段上のオーディオデータを順次読み出す読み出し手段とを有する。
また、前記書き込み手段は、前記記憶手段に対し、2mバイト(mは正の整数)のアドレス間隔で書き込むことを特徴とする。
【発明の効果】
【0024】
本発明によれば、メモリには、符号化時にはシャッフルされて記憶され、復号時にはシャッフルが解除されて記憶されるので、読み出し時には連続読み出しが可能になり、このため、メモリからの読み出し遅延を低減させることができる。
【発明を実施するための最良の形態】
【0025】
<第1の実施の形態>
以下、図面を参照して本発明の第1の実施の形態について説明する。
図1は復号時の処理を説明する図であって、パケットデータ内において各ワードDPk(DP0〜)がシャッフルされている状態を示す。この例では、各ワードDPk(DP0〜)はパケット内の同一ワード位置でシャッフルされており、Dの添え字Pkがワードの番号を示す。したがって、パケット内のワード間の距離は、シャッフル周期Qと一致する。
【0026】
本発明では、これらのパケットデータを再生(受信)する際に、このシャッフルを解いて元の順番に戻しながら記憶領域に書き込みを行う。このとき、図2に示すように、あるパケットに注目すると、パケット内のワードごとに書き込みアドレスをSW(=Q以下の整数)ずつ加算して書き込む。図2において、パケットNo.0のワードDP0は、P0=0(先頭データ)とした場合、記憶領域の書き込み先エリアの先頭に記録され、次のワードDP0+Qはアドレス間隔SWだけ離れたエリアに書き込まれる。その次のワードDP0+2Qは更にアドレス間隔SWだけ離れたエリアに書き込まれる。次にパケットNo.XにおいてPX=1(次のデータ)であるとすると、パケットNo.Xの先頭ワードDPXは、ワードDP0の次のアドレスに書き込まれる。次のワードDPX+Qは、ワードDPXからアドレス間隔SWだけ離れたアドレスのエリア、すなわちワードDP0+Qの次のアドレスに書き込まれる。
【0027】
このように、本発明では、アドレス間隔SWで分割されたグループに各パケット内の各ワードを順番にばらまきながら書き込む。このとき、パケット内で同一ワード位置にあるワードデータは、グループ内におけるグループの先頭からのオフセット位置が同一になるように書き込まれる。
【0028】
アドレス間隔SWとシャッフル周期Qが等しい場合には、書き込み終了時点では、記憶領域に書き込まれたデータは隙間なく並ぶことになり、メモリの利用効率が最もよい。書き込まれたデータは、先頭からワード本来の順番通りに並び、シャッフル解除が行われたことになるので、読み出し時には図3に示すように、記憶領域の先頭から順番に読み出せば各ワードを順番に処理できる。
【0029】
図4は以上の方法を図20に適用した書き込み方法を示す説明図である。図4において、書き込み時にパケット内の各ワードを、ワードごとに分割されるグループ内の同一オフセット位置に書き込む。この場合、1回の書き込みで1ワードを書き込むので、合計で16回の1ワード書き込みが発生する。読み出し時には4ワードの読み出しを4回行えば、シャッフルが解除された順番に並んだデータを読み出すことができる。バス幅が充分大きく、例えば4ワード以上ある場合、1回の読み出しで4ワードを一度に読み出すことができる。そうでない場合、例えばバス幅がワード長と同じ場合には図17に示すように、連続する4つのアドレスのバースト読み出しを行う。
【0030】
書き込みに要する最大時間は、バスの最大待ち時間の16倍であり、16Tとなる。読み出しは1回に付き、4ワード連続して読み出し可能である。バス幅が広ければ、1回の読み出しで4ワードを同時に読み出すことができる。そうでない場合には図5に示すように、バーストアクセスにより連続読み出しが可能である。ソフトウェア処理の場合に、バーストアクセスであったとしても、その時間はソフトウェア処理での最大待ち時間に比べれば、無視できるほど小さいので、結局、トータルの最大待ち時間はおよそ3S+4Tとなる。結局、FIFOからの読み出しからは、図20では書き込み側で4T、読み出し側で15S+16T、合計で15S+20Tであったのに対し、図4では書き込み側で16T、読み出し側で3S+4T、合計で3S+20Tとなる。図4の方が合計が少なく、効率のよい処理になっている。
【0031】
また、図4に示す処理のメリットは、記憶領域を十分確保することによって、書き込み側の処理時間を実質的に無視できることである。すなわち、書き込み側の処理は、バックグラウンド的に処理されるようにスケジューリングできるため、書き込み時のペナルティによる処理時間の増大を無視することができる。したがって、処理時間は実質、読み出し側の処理時間に集約され、図20の15S+20Tに対し、図4に示す処理の処理時間は3S+4Tと大幅に改善することができる。
【0032】
また、図4に示すように、アドレス間隔SWをシャッフル周期Q以上のnバイトの2のm乗(Q≦n・2m=SW:n、mは正の整数)とすることにより、アドレス間隔SWとシャッフル周期Qが等しくない場合には、グループ内に使用しない領域が発生するのでメモリの利用効率は多少下がるものの、次のような効果がある。DRAMでは一般に、行と列のアドレスによってメモリセルを特定するので、同一行内のアクセスは連続アクセスが可能であるが、行を跨ぐ(カラム境界)アクセスは行アドレスの再設定が必要なため、ペナルティが発生する問題がある。これは、境界判別やアドレス制御などの処理が複雑になることと、アクセス時間が余分にかかるという問題である。本発明では、アドレス間隔SWをシャッフル周期Q以上の2のべき乗単位に設定することにより、メモリのカラム境界をグループに一致させることができる。したがって、データ読み出し時にカラム境界を意識することなくアクセスすることができる。
【0033】
以上の処理においてデータをFIFOから読み出して記憶領域に書き込む際、図示しないアドレス制御回路が記憶領域の書き込み先アドレスを直接操作することによって、本発明における特有の方法を実現する。以上は再生時及び受信時の説明であるが、記録時及び送信時も信号の流れが逆になるだけで、処理内容は同じであるので、説明を省略する。なお、以上の説明では、シャッフルの方向が同一ワード位置に限定されるものについて説明したが、前述の同一グループ内で各ワードを連続して配置する方法であれば、どのようなシャッフル規則にも対応することができる。
【0034】
次に図5を参照して本発明の記録時のオーディオ処理を説明する。A/D変換器1a、バッファ(入力バッファ)2を経由して入力したオーディオ信号は、DSP3によりシャッフルされてメモリ(MEM)4に格納され、次いで外符号訂正回路(OECC)5によりメモリ4上で外符号(アウタ・パリティ)が付加される。テープT上に記録する際には経路(6)−aを通り内符号訂正回路(IECC)6によりメモリ4上のデータを読み出しながら内符号(インナ・パリティ)を付加し、記録信号処理回路7aにより図15に示すようなシンクブロック構造でテープT上に記録される。図5においてディジタルI/F(1394I/F)8を介して外部機器に伝送する際には、図15に示すシンクブロックのうち、ID、オーディオデータを構成する部分(図14の伝送パケット)のみが、伝送される。この部分は80バイトであり、オーディオデータはそのうちの72バイトである。
【0035】
次に図6を参照して本発明の再生時のオーディオ処理を説明する。テープTから再生されたデータは、内符号訂正回路(IECC)6により内符号訂正処理され、メモリ(MEM)4の記憶領域に格納される。格納されたデータは、次いで外符号訂正回路(OECC)5がメモリ4内のオーディオデータに対して外符号誤り訂正処理を行ってシャッフルを解除してメモリ4に書き込む。メモリ4上のシャッフルを解除されたオーディオデータは、DSP3により読み出され、バッファ(出力バッファ)2を介してD/Aコンバータ1bに送って音声信号を再生する。
【0036】
<第2の実施の形態>
図7に本発明の第2の実施の形態を示す。図6では、FIFOから読み出してメモリ4の記憶領域に書き込む際、図示しないアドレス制御回路が記憶領域の書き込み先アドレスを直接操作することによって本発明の方法を実現しているが、図7に示すようにDMAコントローラ(DMA)10を設けてシャッフルを解除するようにしてもよい。すなわち、図6では、経路(1)(図7中では丸付き数字で記す。以下同じ)−a又は(1)−bでメモリ書き込みを行っていた図4に示す処理を、図7では経路(6)でDMAコントローラ10がメモリ書き込みを行う。したがって、図7における経路(1)−a又は(1)−bの書き込みは、従来通り、再生又は受信したパケットをそのままメモリに書き込む。すなわち、図20に示す書き込みと同じである。
【0037】
第2の実施の形態では、DMAコントローラ10は、このパケットを書き込み順にそのまま読み出し、書き込み時には図4の書き込みと同じく、シャッフルを解除して書き込みを行う。これにより、経路(2)では、図4に示す読み出しと同じく連続読み出し可能となる。第3の実施の形態を説明する図8にもその処理を示す。
【0038】
このDMAコントローラ10による処理は、バックグラウンドで優先度を下げて実行すればよいので、処理時間は実質、読み出し側の時間に集約され、実質的な最大処理時間は図4と同じく3S+4Tとなる。この方法のメリットは、既存の回路に本発明の方式を適用する場合、既存の回路を変更することなしにDMAコントローラ10を追加するだけで実現することができることである。また、回路が独立しているので、並べ替えの処理をバックグラウンドで優先度を下げて実行することが容易である。これによって、システム全体のリソースをあまり消費することなくシャッフル解除を実行することができる。
以上は再生時及び受信時の説明であるが、記録時及び送信時も信号の流れが逆になるだけで、処理内容は同じであるので、説明を省略する。
【0039】
<第3の実施の形態>
一般に、伝送時のデータ量を減らすために、ワード単位でデータ量を圧縮する方法がある。例えば1ワードが16ビットのデータを12ビットのデータに非線形圧縮する方法などがある。図8はDMAコントローラ10内に圧縮回路11と伸長回路12を設けた第3の実施の形態を示す。図9はその圧縮ルールを示し、16ビットのシャッフル後のデータを12ビットの圧縮データに変換する様子を示す図である。圧縮後のデータのバイトアラインをとるために、2ワードを単位に変換する。すなわち、連続する2つの非圧縮ワード32ビットと24ビットの圧縮データが相互に変換される関係になる。図10は12ビットの圧縮データを16ビットの非圧縮データに伸長する様子を示す図である。
【0040】
図9において、最初の非圧縮ワード16ビットは16→12圧縮回路11で変換されて12ビットの圧縮ワードになる。12ビットのうち上位8ビットは最初のバイトに、下位4ビットは3番目のバイトの上位4ビットに割り当てられる。次の非圧縮ワード16ビットも同様に16→12圧縮回路11で変換されて12ビットの圧縮ワードになる。12ビットのうち上位8ビットは2番目のバイトに、下位4ビットは3番目のバイトの下位4ビットに割り当てられる。
【0041】
伸長時は、前記12ビットの2つの圧縮データはそれぞれ12→16伸長回路12によって16ビットの非圧縮ワードに変換され、図10に示すようにシャッフルを解除されて順番に配置される。以上の操作は、従来、伸長時には図6中の経路(2)でDSP3がメモリ4からシャッフル解除後のワードを読み出す際にDSP3の内部処理として行われていた。また、圧縮時は、図5中の経路(5)でDSP3がメモリ4に書き込む前に同様にDSP3の内部処理として行われていた。
【0042】
本発明では、これらの処理をDMAコントローラ10内部で行い、データ転送と同時にデータ変換処理(圧縮又は伸長)を行う。図7を用いて説明すると、経路(6)のDMAコントローラ10内で、メモリ4から読み出した2ワードのデータに対して伸長処理を行い、2つの連続する16ビットワードに変換してメモリ4に再び書き込む。
【0043】
圧縮時には、特に図示しないが、図7の信号の向きがすべて逆になる。図7を参考に説明すると、経路(6)でDMAコントローラ10内で、メモリ4から読み出した連続する2ワードのデータに対して圧縮処理を行い、24ビットの2ワードに変換してメモリ4に再び書き込む。以上の方法によって、DMAコントローラ10内において1クロックでデータ変換と転送を同時に行うこができるので効率がよく、またDSP3で変換処理をせずにすむというメリットがある。
【0044】
(1)メモリ4への書き込み時に、シャッフルされたワードがシャッフルを解除されてメモリ4上で連続して配置されるようになるので、読み出し時にシャッフルを解除する必要がなく、連続読み出しでシャッフルを解除されたデータを読み出すことができ、読み出し効率を大幅に改善することができる。
(2)(1)に加え、さらに読み出し時のカラム境界でのペナルティがなくなるため、カラム境界付近での複雑な制御が不要になると同時にアクセス効率が低下することがなくなる。
(3)圧縮されたデータを伸長するためのデータ変換を、伝送の途中で効率よく行うことができるので、後段での処理が不要となる。また後段で処理するよりも効率がよい。
(4)グループ単位で連続して配置されたデータを、シャッフルされた状態に並べ替えることができるので、伝送パケットを送信するために読み出すときに、連続読み出しで主データを読み出すことができ、読み出し効率を大幅に改善することができる。
(5)(4)に加え、さらに読み出し時のカラム境界でのペナルティがなくなるため、カラム境界付近での複雑な制御が不要になると同時にアクセス効率が低下することがなくなる。
(6)データを圧縮するためのデータ変換を、伝送の途中で効率よく行うことができるので、前段での処理が不要となる。また前段で処理するよりも効率がよい。
(7)シャッフルする手段、シャッフルを解除する手段としてDMAコントローラを別途設けているため、既存の回路を変更することなく実現できる。また、処理回路を独立させたことにより、並ベ替えの処理は、バックグラウンドで優先度を下げて実行できるため、システム全体のリソースをあまり消費することなくシャッフル、及びシャッフル解除を実現できる。
【図面の簡単な説明】
【0045】
【図1】本発明における復号時の処理でのシャッフルデータを示す説明図である。
【図2】図1のシャッフルデータのシャッフルを解除してメモリに書き込む状態を示す説明図である。
【図3】図2のシャッフル解除データの読み出し順を示す説明図である。
【図4】本発明におけるシャッフルデータを書き込むアドレス間隔を示す説明図である。
【図5】本発明における記録時のオーディオ処理系の第1の実施の形態を示すブロック図である。
【図6】本発明における再生時のオーディオ処理系の第1の実施の形態を示すブロック図である。
【図7】本発明における再生時のオーディオ処理系の第2の実施の形態を示すブロック図である。
【図8】本発明の再生時のオーディオ処理系の第3の実施の形態の要部を示すブロック図である。
【図9】図8の圧縮回路の処理を示す説明図である。
【図10】図8の伸長回路の処理を示す説明図である。
【図11】DV方式ディジタルVTRのテープフォーマットを示す説明図である。
【図12】図11中の1つのトラックの構造を示す説明図である。
【図13】図12中のオーディオセクタの構造を示す説明図である。
【図14】図13中のオーディオデータの構造を示す説明図である。
【図15】図13のオーディオセクタのシンクブロックの構造を示す説明図である。
【図16】一般的なメモリアクセス回路を示すブロック図である。
【図17】図16におけるメモリ読み出しの一例を示す説明図である。
【図18】図16におけるメモリ読み出しの他の例を示す説明図である。
【図19】図16におけるメモリ読み出しのさらに他の例を示す説明図である。
【図20】従来のシャッフルデータを書き込む処理を示す説明図である。
【符号の説明】
【0046】
1a A/D変換器
1b D/Aコンバータ
2 バッファ(入力バッファ、出力バッファ)
3 DSP
4 メモリ(MEM)
5 外符号訂正回路(OECC)
6 内符号訂正回路(IECC)
7a 記録信号処理回路
8 ディジタルI/F(1394I/F)
9 バス
10 DMAコントローラ(DMA)
11 圧縮回路(16→12圧縮回路)
12 伸長回路(12→16伸長回路)
SW アドレス間隔
T テープ
【技術分野】
【0001】
本発明は、時間軸方向に配列されたオーディオデータを所定の規則でシャッフルしてグループごとに再配列し、グループごとに再配列されたオーディオデータに誤り訂正符号を付加して符号化するオーディオデータ処理装置に関する。
また、本発明は、時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして誤り訂正符号化したデータを誤り訂正復号して元の配列のオーディオデータにデコードするオーディオデータ処理装置に関する。
【背景技術】
【0002】
ディジタルデータの転送時にバーストエラーに対する訂正能力を高めるために、シンボルをシャッフルすることによってバーストエラーを分散させ、平均的なエラーに変換する方法が広く使われている。図11はDV方式ディジタルVTRのテープフォーマットを示す説明図であり、NTSC方式(525−60方式)の場合、1フレーム当たり10本のトラック(図11中の数字0〜9)を形成する。1つのトラックは図12に示すように、先頭のITIからオーディオ、ビデオ、最後のサブコードの各セクタにより構成される。オーディオセクタは図11ではハッチングで示され、1フレームの前半の5トラックのオーディオセクタにチャネルCH1のオーディオデータが、後半の5トラックのオーディオセクタにチャネルCH2のオーディオデータが配される。
【0003】
各トラックのオーディオセクタは、図13に示すように概略的には90バイト(バイト位置番号(byte position number)=0〜89)/シンクブロック(Sync block)×17シンクブロック(シンクブロック番号(sync block number)=0〜16)の構造を有し、オーディオデータ(Audio data)は1ワードが2バイトであり、このオーディオセクタ上のバイト位置番号=10〜81(72バイト)×シンクブロック番号=2〜10(9シンクブロック)に配置される(72×9=648バイト=324ワード)。このオーディオデータ(及びオーディオ補助データ:Audio auxiliary data)は縦方向に外符号(アウタ・パリティ:Outer parity)が付加された後、横方向に内符号(インナ・パリティ:Inner parity)が付加されて誤り訂正符号化されている。
【0004】
さらに、1フレームの1CH分のオーディオデータ(n+1ワード:n=0〜1619)は、ワードごと(2バイト)ごとにシャッフルされた後に、5トラックのオーディオセクタに分散されて配置されている。1フレーム分のオーディオデータは、CH1、CH2ごとにフレーム単位でシャッフルされ、525−60方式のシャッフルパターンは以下の式で表される。
トラック番号CH1:(INT(n/3)+2x(n mod 3)) mod 5
トラック番号CH2:(INT(n/3)+2x(n mod 3)) mod 5 + 5
シンクブロック番号:2 + 3 x (n mod 3)+ INT((n mod 45)/15)
上位バイトのバイト位置番号:2 x lNT(n/45) + 10
下位バイトのバイト位置番号:2 x lNT(n/45) + 11
この式は、第n番のワードがフレーム内のどの位置に配置されるかを規定するものである。ここでは、1ワードは2バイトとなっており、ワード内の上位バイトと下位バイトの位置も併せて規定される。
【0005】
1フレーム分の1CHのオーディオデータは、サンプリング周波数fsに応じて異なるが、fs=48kHzの場合、1620個である。そして、図14に示すようにこのワードD0〜D1619はワードごと(2バイトごと)にシャッフルされた後に、5トラックに分散されて配置されている。図15は図13に示すシンクブロック番号=2のシンクブロックの構造を示し、シャッフルされたオーディオデータ(第1のワード)は、SYNC、ID、AUXの各ブロックと誤り訂正符号(インナ・パリティ)と共にシンクブロック構造を構成する。
【0006】
図5を参照して従来の記録時(及び送信時)のオーディオ処理を説明する。経路(4)(図5中では丸付き数字で記す。以下同じ)でA/D変換器1a、バッファ(入力バッファ)2、DSP3を経由して入力されたオーディオ信号は、経路(5)でメモリ(MEM)4に格納されてシャッフルされ、次いで外符号訂正回路(OECC)5によりメモリ4上のデータに外符号(アウタ・パリティ)が付加される。テープT上に記録する際には経路(6)−aを通り、内符号訂正回路(IECC)6によりメモリ4上のデータを読み出しながら内符号(インナ・パリティ)を付加し、記録信号処理回路7aを経由してSYNCとパリティを付加されて図15に示すようなシンクブロック構造とされ、テープTに記録される。ディジタルI/F(1394I/F)8を介して外部機器に送信する際には経路(6)−bで、図15に示すシンクブロックのうち、ID、オーディオデータを構成する部分(図15の伝送パケット)のみが送信される。この部分は80バイトであり、オーディオデータはそのうちの72バイトである。前述のシャッフルの式では、バイト位置番号はシンクブロックの先頭を0としているので、主データはバイト位置番号=10〜81に配置される。
【0007】
次に図6を参照して従来の再生時(及び受信時)のオーディオ処理を説明する。(1)(図6中では丸付き数字で記す。以下同じ)−aはテープTから再生する場合の処理の流れを示し、(1)−bは外部機器からディジタルI/F(1394I/F)8を介して受信する場合の処理の流れを示し、どちらの場合もシステムのバス9を介して内符号訂正回路(IECC)6により内符号訂正処理されてメモリ4に格納される。メモリ4に格納されるのは伝送パケットの80バイトのみである。オーディオデータは積符号を構成するので、外符号訂正回路(OECC)5がメモリ4内のオーディオデータに対して誤り訂正処理を行う。外符号訂正回路(OECC)5はバス9上でメモリ4に対してアクセスを行って、一定期間バス9を占有するブロックの1つであるが、その他にも図示省略の多くのブロック、例えばビデオの信号処理ブロック、サブコードの信号処理ブロックなどがバス9を介してメモリ4にアクセスするため、それぞれのアクセスの調停が必要となる。
【0008】
オーディオ再生を行うのはDSP3であり、DSP3はメモリ4から経路(2)でワードを順次読み出し、経路(3)でバッファ(出力バッファ)2を介してD/Aコンバータ1bに送って音声信号を再生する。メモリ4上のオーディオデータはシャッフルされているため、DSP3はシャッフルを解除しながら1ワードずつメモリ4から逐次読み出す必要がある。
【発明の開示】
【発明が解決しようとする課題】
【0009】
ここで、シャッフル処理はあらかじめ定めたルールにより符号語を並べ替える処理であり、並べ替えの単位には色々なバリエーションがあるが、データを構成するワード単位で行われることがよくある。ここで、ワードとは、1つの意味のあるデータ又はこれらを複数個組み合わせたデータを意味し、1バイトから数バイトのことが多い。
【0010】
一方、昨今のマルチメディア系の信号処理では、より高機能な処理を実現するために、システムのデータバスとして、128ビットや256ビットといった非常に広いビット幅が用いられることが多い。これらのバスに接続されるメモリには1つのアドレスに対し、128ビットバスの場合で16バイトのデータが格納されることになる。
【0011】
ここで、シャッフル処理が1バイト単位で行われるとすると、シャッフルの距離にもよるが、あるデータの次のデータは一般に、別のアドレスに格納されていることになる。したがって、1バイトデータを順番にアクセスするには各データごとに新しいアドレスを指定してアクセスしていく必要がある。また、1回のアクセスで16バイトデータを扱えるにもかかわらず、有効なデータは1バイトしかなく残りの15バイト分のアクセスは無駄になり、消費電力や帯域を無駄に消費していることになる。
【0012】
このようなアクセスは、メモリに対するランダムアクセス動作となるが、システムがユニファイド・メモリ・アーキテクチャの場合、多くのブロックが単一のメモリにアクセスしようとするため、このように多くの回数のアクセスが必要になると、バスの使用権を獲得する上で非常に不利である。またメモリアクセスコマンド発行から実際にデータアクセスが可能になる状態まで多くのクロックを消費するにもかかわらず、アクセス1回に付き1バイトしか有効でないのは非常に効率が悪い。しかも、これらの操作を信号処理を担当するCPUやDSPが行っていると、アクセスの度に処理を待たされることになるため、プログラムを効率的に実行することができない。
【0013】
図16は、1つのメモリ(MEM)を複数のブロックが共用して使用するシステムの例である。1つのメモリは、メモリコントローラ(MEMCTL)の支配下にあり、メモリコントローラに対して複数のブロックがアクセス要求(REQ)を発行する。メモリコントローラは、アービターとしての機能を持ち、各ブロックの優先度などを適宜判断し、特定のブロックにアクセス許可(ACK)を通知する。ACKを受け取ったブロックは、バスの使用権を獲得し、メモリのリード又はライト動作を行うことができる。
【0014】
次に図17、図18、図19を参照して、あるブロックが4ワードD0〜D3のデータアクセス(リード又はライト)を必要とする場合について説明する。図17は4ワードD0〜D3をバースト転送によって連続アクセスした場合の例を示し、REQ発行からバスの使用権を獲得するまでの時間aは、バスの使用権をREQ発行からすぐに獲得できた場合に最小になる。すぐに獲得できない場合には、時間aは最大待ち時間まで延びる。いったん獲得できた場合には4ワードD0〜D3を連続アクセスできるので効率的である。4ワードD0〜D3がメモリ上で連続して格納されている場合、又はばらばらであってもランダムアクセス可能なメモリの場合にはこのようにアクセスすることができる。
【0015】
図18は4ワードD0〜D3を個別に1ワードずつ転送する場合の例を示し、4ワードD0〜D3がばらばらに配置されていて、DRAMのようにランダムアクセスに対するペナルティがあるメモリの場合にはワードD0〜D3をそれぞれ得るまでの時間a、b、cが延びる。時間aは図17のようにバスの使用権をREQ発行からすぐに獲得できた場合であり、ACK受信後に次のワードアクセスのためのREQを発行することができるが、時間bのようにREQ発行後、他のブロックが先に使用権を獲得した場合にはそのブロックがバスを開放してあらためて使用権を獲得するまでACKが返ってこないため、処理が遅延する。この遅延は割り込むブロックの数やそれらのブロックのバス占有時間に依存するため、時間b、cのように一定ではない。ただし、通常は、1つのブロックの最大バス占有時間Tを規定して設計するので、4ワードのアクセスは約4T以下の時間で終了する。
【0016】
図18はREQ/ACKのハンドシェークをハードウエアで実現する場合を示し、REQ/ACK間のタイミングをハードウエアが許す最小間隔で実現することができる。これに対し、図19はソフトウエアで実現する場合の例を示し、アクセスしにいくブロックがCPUやDSPなどソフトウエアベースで動作する場合の例を示す。ソフトウエア処理の場合には、バスの使用権を獲得した後、実際にアクセスしてデータを読み出し、又は書き込みを行ってデータ処理に移るというループ処理をソフトウエアで実現するので、ACKを受け取ってから次のREQを発行するまで、時間dのように多少の遅れが発生する。また、この処理中に割り込みなど他の処理が入る場合もあり、次のREQを発行するまでの時間がeのように遅延する場合もある。時間d又はeの最大値をSとすると、ソフトウエア処理部分に起因する最大処理時間は、(4−1)S=3S以下である。
【0017】
図19の例では、REQ→ACK間は遅延がない場合を示したが、実際には他のブロックとの調停によりバスの使用権を直ちに獲得できない場合があり、図18の時間b、cのようにREQ→ACK間の遅延が発生する。したがって、ソフトウエア処理での最大処理時間はこれらの合計となり、約(3S+4T)以下となる。
【0018】
問題について、伝送パケットがシャッフルされた4ワードの主データを含む場合を例にとって説明する。伝送パケットには、主データのほかに同期信号や、ID、パリティなどのその他の情報を含む場合があるが、本発明には有っても無くてもよい。これらは本発明とは直接関係ないので、ここではないものとして説明を省略する。伝送パケットが4つで1つの転送単位とし、伝送パケットを受信する場合について、従来の例を図20に示す。伝送パケットは受信回路又は再生回路内のバッファで受信され、次いでパケットデータごとにメモリの記憶領域に書き込まれる。バッファはFIFOなどで構成されることが多い。記憶領域のデータバス幅がパケットデータのデータ量以上であれば1回の書き込みで1つのパケットの全データを書き込むことができる。
【0019】
そうでない場合は、バースト転送によって同一RAWアドレスの連続するカラムアドレスにわたって連続書き込みするのが効率がよい。図17はこれを示している。記憶領域に書き込まれたパケットデータは、記憶領域を節約するために詰めて連続的に配置してもよいし、ある程度スペースを開け、各パケットがカラム境界をまたがず、適当なサイズ単位でアライメントをとるように配置してもよい。
【0020】
書き込み時は、図20に示すように4回の4ワード書き込みが起こる。これは図6における経路(1)−a又は(1)−bに相当する。データの再生又は受信は間断なく行われるため、ハードウェアで処理される。したがって、このときの最大待ち時間は4Tとなる。パケットデータがワードごとにシャッフルされている場合、各データを順番に処理するには図20に示すように、シャッフルされている順番にしたがって、1ワードずつランダムに読み出す必要があり、合計で16回の1ワード読み出しが発生する。この記憶領域からの読み出し時の状況は、先に説明したアクセス効率が最も低下する場合と同じである。読み出しにかかる最大処理時間は、読み出し処理がハードウェア処理によって遅滞なく行える場合は、バスの最大待ち時間によって決まり、16Tとなる。また、読み出しがソフトウェア処理であって、処理に遅延が生じる可能性がある場合は、15S+16Tである。
【0021】
本発明は上記従来例の問題点に鑑み、データバスのビット幅が広い場合にメモリからの読み出し遅延を低減させることができるオーディオデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0022】
本発明は上記目的を達成するために、
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化するオーディオデータ処理装置において、
記憶手段と、
前記シャッフルして再配列されたオーディオデータをその再配列されたデータ単位で前記記憶手段に対し、書き込む書き込み手段と、
前記記憶手段上のオーディオデータに対して前記誤り訂正符号を付加する誤り訂正符号化手段と、
前記記憶手段上の前記誤り訂正符号を付加され再配列されたオーディオデータを順次読み出す読み出し手段とを有する。
【0023】
また本発明は上記目的を達成するために、
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化したデータを誤り訂正復号して元の時間軸方向の配列のオーディオデータにデコードするオーディオデータ処理装置において、
記憶手段と、
前記誤り訂正符号化されたデータを誤り訂正復号して前記シャッフルして再配列されたオーディオデータとする誤り訂正復号手段と、前記誤り訂正復号されたオーディオデータを前記元の時間軸方向の配列とし、その配列されたデータ単位で前記記憶手段に書き込む書き込み手段と、
前記記憶手段上のオーディオデータを順次読み出す読み出し手段とを有する。
また、前記書き込み手段は、前記記憶手段に対し、2mバイト(mは正の整数)のアドレス間隔で書き込むことを特徴とする。
【発明の効果】
【0024】
本発明によれば、メモリには、符号化時にはシャッフルされて記憶され、復号時にはシャッフルが解除されて記憶されるので、読み出し時には連続読み出しが可能になり、このため、メモリからの読み出し遅延を低減させることができる。
【発明を実施するための最良の形態】
【0025】
<第1の実施の形態>
以下、図面を参照して本発明の第1の実施の形態について説明する。
図1は復号時の処理を説明する図であって、パケットデータ内において各ワードDPk(DP0〜)がシャッフルされている状態を示す。この例では、各ワードDPk(DP0〜)はパケット内の同一ワード位置でシャッフルされており、Dの添え字Pkがワードの番号を示す。したがって、パケット内のワード間の距離は、シャッフル周期Qと一致する。
【0026】
本発明では、これらのパケットデータを再生(受信)する際に、このシャッフルを解いて元の順番に戻しながら記憶領域に書き込みを行う。このとき、図2に示すように、あるパケットに注目すると、パケット内のワードごとに書き込みアドレスをSW(=Q以下の整数)ずつ加算して書き込む。図2において、パケットNo.0のワードDP0は、P0=0(先頭データ)とした場合、記憶領域の書き込み先エリアの先頭に記録され、次のワードDP0+Qはアドレス間隔SWだけ離れたエリアに書き込まれる。その次のワードDP0+2Qは更にアドレス間隔SWだけ離れたエリアに書き込まれる。次にパケットNo.XにおいてPX=1(次のデータ)であるとすると、パケットNo.Xの先頭ワードDPXは、ワードDP0の次のアドレスに書き込まれる。次のワードDPX+Qは、ワードDPXからアドレス間隔SWだけ離れたアドレスのエリア、すなわちワードDP0+Qの次のアドレスに書き込まれる。
【0027】
このように、本発明では、アドレス間隔SWで分割されたグループに各パケット内の各ワードを順番にばらまきながら書き込む。このとき、パケット内で同一ワード位置にあるワードデータは、グループ内におけるグループの先頭からのオフセット位置が同一になるように書き込まれる。
【0028】
アドレス間隔SWとシャッフル周期Qが等しい場合には、書き込み終了時点では、記憶領域に書き込まれたデータは隙間なく並ぶことになり、メモリの利用効率が最もよい。書き込まれたデータは、先頭からワード本来の順番通りに並び、シャッフル解除が行われたことになるので、読み出し時には図3に示すように、記憶領域の先頭から順番に読み出せば各ワードを順番に処理できる。
【0029】
図4は以上の方法を図20に適用した書き込み方法を示す説明図である。図4において、書き込み時にパケット内の各ワードを、ワードごとに分割されるグループ内の同一オフセット位置に書き込む。この場合、1回の書き込みで1ワードを書き込むので、合計で16回の1ワード書き込みが発生する。読み出し時には4ワードの読み出しを4回行えば、シャッフルが解除された順番に並んだデータを読み出すことができる。バス幅が充分大きく、例えば4ワード以上ある場合、1回の読み出しで4ワードを一度に読み出すことができる。そうでない場合、例えばバス幅がワード長と同じ場合には図17に示すように、連続する4つのアドレスのバースト読み出しを行う。
【0030】
書き込みに要する最大時間は、バスの最大待ち時間の16倍であり、16Tとなる。読み出しは1回に付き、4ワード連続して読み出し可能である。バス幅が広ければ、1回の読み出しで4ワードを同時に読み出すことができる。そうでない場合には図5に示すように、バーストアクセスにより連続読み出しが可能である。ソフトウェア処理の場合に、バーストアクセスであったとしても、その時間はソフトウェア処理での最大待ち時間に比べれば、無視できるほど小さいので、結局、トータルの最大待ち時間はおよそ3S+4Tとなる。結局、FIFOからの読み出しからは、図20では書き込み側で4T、読み出し側で15S+16T、合計で15S+20Tであったのに対し、図4では書き込み側で16T、読み出し側で3S+4T、合計で3S+20Tとなる。図4の方が合計が少なく、効率のよい処理になっている。
【0031】
また、図4に示す処理のメリットは、記憶領域を十分確保することによって、書き込み側の処理時間を実質的に無視できることである。すなわち、書き込み側の処理は、バックグラウンド的に処理されるようにスケジューリングできるため、書き込み時のペナルティによる処理時間の増大を無視することができる。したがって、処理時間は実質、読み出し側の処理時間に集約され、図20の15S+20Tに対し、図4に示す処理の処理時間は3S+4Tと大幅に改善することができる。
【0032】
また、図4に示すように、アドレス間隔SWをシャッフル周期Q以上のnバイトの2のm乗(Q≦n・2m=SW:n、mは正の整数)とすることにより、アドレス間隔SWとシャッフル周期Qが等しくない場合には、グループ内に使用しない領域が発生するのでメモリの利用効率は多少下がるものの、次のような効果がある。DRAMでは一般に、行と列のアドレスによってメモリセルを特定するので、同一行内のアクセスは連続アクセスが可能であるが、行を跨ぐ(カラム境界)アクセスは行アドレスの再設定が必要なため、ペナルティが発生する問題がある。これは、境界判別やアドレス制御などの処理が複雑になることと、アクセス時間が余分にかかるという問題である。本発明では、アドレス間隔SWをシャッフル周期Q以上の2のべき乗単位に設定することにより、メモリのカラム境界をグループに一致させることができる。したがって、データ読み出し時にカラム境界を意識することなくアクセスすることができる。
【0033】
以上の処理においてデータをFIFOから読み出して記憶領域に書き込む際、図示しないアドレス制御回路が記憶領域の書き込み先アドレスを直接操作することによって、本発明における特有の方法を実現する。以上は再生時及び受信時の説明であるが、記録時及び送信時も信号の流れが逆になるだけで、処理内容は同じであるので、説明を省略する。なお、以上の説明では、シャッフルの方向が同一ワード位置に限定されるものについて説明したが、前述の同一グループ内で各ワードを連続して配置する方法であれば、どのようなシャッフル規則にも対応することができる。
【0034】
次に図5を参照して本発明の記録時のオーディオ処理を説明する。A/D変換器1a、バッファ(入力バッファ)2を経由して入力したオーディオ信号は、DSP3によりシャッフルされてメモリ(MEM)4に格納され、次いで外符号訂正回路(OECC)5によりメモリ4上で外符号(アウタ・パリティ)が付加される。テープT上に記録する際には経路(6)−aを通り内符号訂正回路(IECC)6によりメモリ4上のデータを読み出しながら内符号(インナ・パリティ)を付加し、記録信号処理回路7aにより図15に示すようなシンクブロック構造でテープT上に記録される。図5においてディジタルI/F(1394I/F)8を介して外部機器に伝送する際には、図15に示すシンクブロックのうち、ID、オーディオデータを構成する部分(図14の伝送パケット)のみが、伝送される。この部分は80バイトであり、オーディオデータはそのうちの72バイトである。
【0035】
次に図6を参照して本発明の再生時のオーディオ処理を説明する。テープTから再生されたデータは、内符号訂正回路(IECC)6により内符号訂正処理され、メモリ(MEM)4の記憶領域に格納される。格納されたデータは、次いで外符号訂正回路(OECC)5がメモリ4内のオーディオデータに対して外符号誤り訂正処理を行ってシャッフルを解除してメモリ4に書き込む。メモリ4上のシャッフルを解除されたオーディオデータは、DSP3により読み出され、バッファ(出力バッファ)2を介してD/Aコンバータ1bに送って音声信号を再生する。
【0036】
<第2の実施の形態>
図7に本発明の第2の実施の形態を示す。図6では、FIFOから読み出してメモリ4の記憶領域に書き込む際、図示しないアドレス制御回路が記憶領域の書き込み先アドレスを直接操作することによって本発明の方法を実現しているが、図7に示すようにDMAコントローラ(DMA)10を設けてシャッフルを解除するようにしてもよい。すなわち、図6では、経路(1)(図7中では丸付き数字で記す。以下同じ)−a又は(1)−bでメモリ書き込みを行っていた図4に示す処理を、図7では経路(6)でDMAコントローラ10がメモリ書き込みを行う。したがって、図7における経路(1)−a又は(1)−bの書き込みは、従来通り、再生又は受信したパケットをそのままメモリに書き込む。すなわち、図20に示す書き込みと同じである。
【0037】
第2の実施の形態では、DMAコントローラ10は、このパケットを書き込み順にそのまま読み出し、書き込み時には図4の書き込みと同じく、シャッフルを解除して書き込みを行う。これにより、経路(2)では、図4に示す読み出しと同じく連続読み出し可能となる。第3の実施の形態を説明する図8にもその処理を示す。
【0038】
このDMAコントローラ10による処理は、バックグラウンドで優先度を下げて実行すればよいので、処理時間は実質、読み出し側の時間に集約され、実質的な最大処理時間は図4と同じく3S+4Tとなる。この方法のメリットは、既存の回路に本発明の方式を適用する場合、既存の回路を変更することなしにDMAコントローラ10を追加するだけで実現することができることである。また、回路が独立しているので、並べ替えの処理をバックグラウンドで優先度を下げて実行することが容易である。これによって、システム全体のリソースをあまり消費することなくシャッフル解除を実行することができる。
以上は再生時及び受信時の説明であるが、記録時及び送信時も信号の流れが逆になるだけで、処理内容は同じであるので、説明を省略する。
【0039】
<第3の実施の形態>
一般に、伝送時のデータ量を減らすために、ワード単位でデータ量を圧縮する方法がある。例えば1ワードが16ビットのデータを12ビットのデータに非線形圧縮する方法などがある。図8はDMAコントローラ10内に圧縮回路11と伸長回路12を設けた第3の実施の形態を示す。図9はその圧縮ルールを示し、16ビットのシャッフル後のデータを12ビットの圧縮データに変換する様子を示す図である。圧縮後のデータのバイトアラインをとるために、2ワードを単位に変換する。すなわち、連続する2つの非圧縮ワード32ビットと24ビットの圧縮データが相互に変換される関係になる。図10は12ビットの圧縮データを16ビットの非圧縮データに伸長する様子を示す図である。
【0040】
図9において、最初の非圧縮ワード16ビットは16→12圧縮回路11で変換されて12ビットの圧縮ワードになる。12ビットのうち上位8ビットは最初のバイトに、下位4ビットは3番目のバイトの上位4ビットに割り当てられる。次の非圧縮ワード16ビットも同様に16→12圧縮回路11で変換されて12ビットの圧縮ワードになる。12ビットのうち上位8ビットは2番目のバイトに、下位4ビットは3番目のバイトの下位4ビットに割り当てられる。
【0041】
伸長時は、前記12ビットの2つの圧縮データはそれぞれ12→16伸長回路12によって16ビットの非圧縮ワードに変換され、図10に示すようにシャッフルを解除されて順番に配置される。以上の操作は、従来、伸長時には図6中の経路(2)でDSP3がメモリ4からシャッフル解除後のワードを読み出す際にDSP3の内部処理として行われていた。また、圧縮時は、図5中の経路(5)でDSP3がメモリ4に書き込む前に同様にDSP3の内部処理として行われていた。
【0042】
本発明では、これらの処理をDMAコントローラ10内部で行い、データ転送と同時にデータ変換処理(圧縮又は伸長)を行う。図7を用いて説明すると、経路(6)のDMAコントローラ10内で、メモリ4から読み出した2ワードのデータに対して伸長処理を行い、2つの連続する16ビットワードに変換してメモリ4に再び書き込む。
【0043】
圧縮時には、特に図示しないが、図7の信号の向きがすべて逆になる。図7を参考に説明すると、経路(6)でDMAコントローラ10内で、メモリ4から読み出した連続する2ワードのデータに対して圧縮処理を行い、24ビットの2ワードに変換してメモリ4に再び書き込む。以上の方法によって、DMAコントローラ10内において1クロックでデータ変換と転送を同時に行うこができるので効率がよく、またDSP3で変換処理をせずにすむというメリットがある。
【0044】
(1)メモリ4への書き込み時に、シャッフルされたワードがシャッフルを解除されてメモリ4上で連続して配置されるようになるので、読み出し時にシャッフルを解除する必要がなく、連続読み出しでシャッフルを解除されたデータを読み出すことができ、読み出し効率を大幅に改善することができる。
(2)(1)に加え、さらに読み出し時のカラム境界でのペナルティがなくなるため、カラム境界付近での複雑な制御が不要になると同時にアクセス効率が低下することがなくなる。
(3)圧縮されたデータを伸長するためのデータ変換を、伝送の途中で効率よく行うことができるので、後段での処理が不要となる。また後段で処理するよりも効率がよい。
(4)グループ単位で連続して配置されたデータを、シャッフルされた状態に並べ替えることができるので、伝送パケットを送信するために読み出すときに、連続読み出しで主データを読み出すことができ、読み出し効率を大幅に改善することができる。
(5)(4)に加え、さらに読み出し時のカラム境界でのペナルティがなくなるため、カラム境界付近での複雑な制御が不要になると同時にアクセス効率が低下することがなくなる。
(6)データを圧縮するためのデータ変換を、伝送の途中で効率よく行うことができるので、前段での処理が不要となる。また前段で処理するよりも効率がよい。
(7)シャッフルする手段、シャッフルを解除する手段としてDMAコントローラを別途設けているため、既存の回路を変更することなく実現できる。また、処理回路を独立させたことにより、並ベ替えの処理は、バックグラウンドで優先度を下げて実行できるため、システム全体のリソースをあまり消費することなくシャッフル、及びシャッフル解除を実現できる。
【図面の簡単な説明】
【0045】
【図1】本発明における復号時の処理でのシャッフルデータを示す説明図である。
【図2】図1のシャッフルデータのシャッフルを解除してメモリに書き込む状態を示す説明図である。
【図3】図2のシャッフル解除データの読み出し順を示す説明図である。
【図4】本発明におけるシャッフルデータを書き込むアドレス間隔を示す説明図である。
【図5】本発明における記録時のオーディオ処理系の第1の実施の形態を示すブロック図である。
【図6】本発明における再生時のオーディオ処理系の第1の実施の形態を示すブロック図である。
【図7】本発明における再生時のオーディオ処理系の第2の実施の形態を示すブロック図である。
【図8】本発明の再生時のオーディオ処理系の第3の実施の形態の要部を示すブロック図である。
【図9】図8の圧縮回路の処理を示す説明図である。
【図10】図8の伸長回路の処理を示す説明図である。
【図11】DV方式ディジタルVTRのテープフォーマットを示す説明図である。
【図12】図11中の1つのトラックの構造を示す説明図である。
【図13】図12中のオーディオセクタの構造を示す説明図である。
【図14】図13中のオーディオデータの構造を示す説明図である。
【図15】図13のオーディオセクタのシンクブロックの構造を示す説明図である。
【図16】一般的なメモリアクセス回路を示すブロック図である。
【図17】図16におけるメモリ読み出しの一例を示す説明図である。
【図18】図16におけるメモリ読み出しの他の例を示す説明図である。
【図19】図16におけるメモリ読み出しのさらに他の例を示す説明図である。
【図20】従来のシャッフルデータを書き込む処理を示す説明図である。
【符号の説明】
【0046】
1a A/D変換器
1b D/Aコンバータ
2 バッファ(入力バッファ、出力バッファ)
3 DSP
4 メモリ(MEM)
5 外符号訂正回路(OECC)
6 内符号訂正回路(IECC)
7a 記録信号処理回路
8 ディジタルI/F(1394I/F)
9 バス
10 DMAコントローラ(DMA)
11 圧縮回路(16→12圧縮回路)
12 伸長回路(12→16伸長回路)
SW アドレス間隔
T テープ
【特許請求の範囲】
【請求項1】
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化するオーディオデータ処理装置において、
記憶手段と、
前記シャッフルして再配列されたオーディオデータをその再配列されたデータ単位で前記記憶手段に対し、書き込む書き込み手段と、
前記記憶手段上のオーディオデータに対して前記誤り訂正符号を付加する誤り訂正符号化手段と、
前記記憶手段上の前記誤り訂正符号を付加され再配列されたオーディオデータを順次読み出す読み出し手段とを、
有するオーディオデータ処理装置。
【請求項2】
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化したデータを誤り訂正復号して元の時間軸方向の配列のオーディオデータにデコードするオーディオデータ処理装置において、
記憶手段と、
前記誤り訂正符号化されたデータを誤り訂正復号して前記シャッフルして再配列されたオーディオデータとする誤り訂正復号手段と、前記誤り訂正復号されたオーディオデータを前記元の時間軸方向の配列とし、その配列されたデータ単位で前記記憶手段に書き込む書き込み手段と、
前記記憶手段上のオーディオデータを順次読み出す読み出し手段とを、
有するオーディオデータ処理装置。
【請求項3】
前記書き込み手段は、前記記憶手段に対し、2mバイト(mは正の整数)のアドレス間隔で書き込むことを特徴とする請求項1又は2に記載のオーディオデータ処理装置。
【請求項1】
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化するオーディオデータ処理装置において、
記憶手段と、
前記シャッフルして再配列されたオーディオデータをその再配列されたデータ単位で前記記憶手段に対し、書き込む書き込み手段と、
前記記憶手段上のオーディオデータに対して前記誤り訂正符号を付加する誤り訂正符号化手段と、
前記記憶手段上の前記誤り訂正符号を付加され再配列されたオーディオデータを順次読み出す読み出し手段とを、
有するオーディオデータ処理装置。
【請求項2】
時間軸方向に配列されたオーディオデータを所定の規則でシャッフルして再配列し、前記シャッフルして再配列されたオーディオデータに誤り訂正符号を付加して符号化したデータを誤り訂正復号して元の時間軸方向の配列のオーディオデータにデコードするオーディオデータ処理装置において、
記憶手段と、
前記誤り訂正符号化されたデータを誤り訂正復号して前記シャッフルして再配列されたオーディオデータとする誤り訂正復号手段と、前記誤り訂正復号されたオーディオデータを前記元の時間軸方向の配列とし、その配列されたデータ単位で前記記憶手段に書き込む書き込み手段と、
前記記憶手段上のオーディオデータを順次読み出す読み出し手段とを、
有するオーディオデータ処理装置。
【請求項3】
前記書き込み手段は、前記記憶手段に対し、2mバイト(mは正の整数)のアドレス間隔で書き込むことを特徴とする請求項1又は2に記載のオーディオデータ処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2006−164350(P2006−164350A)
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願番号】特願2004−351292(P2004−351292)
【出願日】平成16年12月3日(2004.12.3)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願日】平成16年12月3日(2004.12.3)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
[ Back to top ]