JP2002125228A - ディジタルデータの伸張システムおよび伸張方法 - Google Patents

ディジタルデータの伸張システムおよび伸張方法

Info

Publication number
JP2002125228A
JP2002125228A JP2000316093A JP2000316093A JP2002125228A JP 2002125228 A JP2002125228 A JP 2002125228A JP 2000316093 A JP2000316093 A JP 2000316093A JP 2000316093 A JP2000316093 A JP 2000316093A JP 2002125228 A JP2002125228 A JP 2002125228A
Authority
JP
Japan
Prior art keywords
data
bank
stored
memory
flag
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.)
Pending
Application number
JP2000316093A
Other languages
English (en)
Inventor
Hiroyuki Hamazaki
博幸 浜崎
Takashi Miyamoto
崇 宮本
Hiroshi Takeda
博 武田
Jun Sato
潤 佐藤
Kenichiro Omura
賢一郎 大村
Kazushige Ayukawa
一重 鮎川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000316093A priority Critical patent/JP2002125228A/ja
Priority to US09/977,334 priority patent/US20020065665A1/en
Publication of JP2002125228A publication Critical patent/JP2002125228A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 従来の圧縮されたオーディオデータの再生
システムにおいては、伸張処理の際にすべてのビットが
“0”である周波数帯のデータに関しても、RAMへの
データの書込み、読出し処理が行なわれていたため、R
AMへのアクセスに伴なう消費電力が必要以上に多くな
っていた。 【解決手段】 MPEG規格あるいはJPEG規格に従
って圧縮されたデータを伸張するシステムにおいて、圧
縮されたデータを伸張する際に演算される値を格納する
バッファメモリ(603)を複数のバンク(BNK)に
分けて、各バンクごとにバンク内のデータがすべて
“0”か否かを示すオールゼロフラグ(AZF)を設
け、バンク内に書き込むべきデータがすべて“0”であ
るときはバッファメモリへの実際の書込みを行なわずに
オールゼロフラグをセットするとともに、データ読出し
時にはこのフラグを見てバンク内のデータがすべて
“0”のときはバッファメモリからの読出しを省略する
ようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、圧縮データの伸張
技術に関し、例えばMPEG1オーディオ規格に従って
圧縮されたオーディオデータを伸張するオーディオデー
タ再生システムやJPEG規格に従って圧縮された画像
データを伸張する画像データ再生システムなどに利用し
て有効な技術に関する。
【0002】
【従来の技術】MPEG1オーディオ規格は、国際標準
化機関ISOで規格化された国際規格であり、オーディ
オデータの圧縮・伸張に関する技術である。MPEGオ
ーディオ規格に従って圧縮・伸張されたデータは、音質
の劣化が少なくてそのデータ量が大きく削減されるた
め、MP3プレーヤーのような携帯用オーディオ再生装
置などに利用されるようになって来ている。
【0003】以下、MPEG1のレイヤIIIを例にとっ
て、図17を用いて、圧縮されたオーディオデータを伸
張する復号処理の手順について説明する。
【0004】圧縮されたオーディオデータは、ビットス
トリームと呼ばれるシリアルデータとして、伸張を行な
うシステムに供給される。ビットストリームは、所定の
フォーマットのフレームと呼ばれるデータが時系列的に
並んだものであり、各フレームにはヘッダやフォーマッ
ト情報、エラーチェックコード、ビット割り当て情報、
スケールファクタ情報、サブバンドサンプルデータなど
が含まれる。
【0005】サブバンドサンプルデータは、入力信号が
ある時間(8m秒)毎のブロックに区切られ、32の周
波数帯に分割されて変形離散コサイン変換(MDC
T)、非線形量子化、ハフマン符号化がなされて圧縮さ
れている。1ブロック分のサブバンドサンプルデータの
圧縮データにヘッダ、フォーマット情報、エラーチェッ
クコード、ビット割り当て情報、スケールファクタ情報
を付加し所定の順序に並べたものが1フレームで、この
フレームが時系列的に連続したものがビットストリーム
である。
【0006】伸張処理では、図17に示されているよう
に、先ずビットストリームBSからサンプルデータの部
分を取り出して、圧縮処理でハフマン符号のような可変
長符号に符号化されたデータを復号する復号化(ステッ
プS1)を行ない、32の周波数帯毎のサンプルデータ
SPLS1〜PL32を得る。この復号化されたサンプ
ルデータは、それぞれ逆量子化テーブルを用いて量子化
される前のデータに戻す逆量子化処理が行なわれる(ス
テップS2)。その後、周波数/時間変換処理(ステッ
プS3)が行なわれてから、合成フィルタにより全ての
周波数帯のデータの合成(ステップS4)が行なわれて
PCM音源データPSDとして出力される。
【0007】
【発明が解決しようとする課題】MPEG1オーディオ
規格に従ってエンコード(圧縮)されたオーディオデー
タをデコード(伸張)する処理においては、復号化され
た周波数帯のデータに偏りがあり特定の周波数帯(低周
波数側)にのみデータが存在し、すべてのビットが論理
“0”である周波数帯のデータが比較的多く発生する。
ところで、オーディオデータの再生システムでは、受信
したビットストリームからデータをデコード(伸張)処
理する際に、データを一旦RAMに格納してから読み出
して種々の演算を行ない、演算結果を再びRAMに格納
する処理が繰り返えされる。
【0008】しかしながら、従来の圧縮されたオーディ
オデータの再生システムにおいては、伸張処理の際にす
べてのビットが論理“0”である周波数帯のデータに関
しても、RAMへのデータの書込み、読出し処理が行な
われていた。本発明者らは、このような処理方式では、
RAMへのアクセスに伴なう消費電力が必要以上に多く
なっていることを見出した。特に、MPEG1オーディ
オ規格は、MP3プレーヤーのような電池で動作する携
帯用電子機器で採用されることが多いので、消費電力の
低減が強く望まれる。
【0009】この発明の目的は、MPEG規格あるいは
JPEG規格に従って圧縮されたデータを伸張するシス
テムにおいて、RAMへのアクセス回数を減らして、シ
ステムの消費電力を低減することができる圧縮データの
伸張技術を提供することにある。
【0010】この発明の他の目的は、MPEG規格ある
いはJPEG規格に従って圧縮されたデータを伸張する
システムにおいて、復号されたデータに対する演算処理
を簡略化して、システムの負担を軽減するとともに演算
処理速度を高めることができる圧縮データの伸張技術を
提供することにある。
【0011】この発明の前記ならびにそのほかの目的と
新規な特徴については、本明細書の記述および添附図面
から明らかになるであろう。
【0012】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。
【0013】すなわち、圧縮されたディジタルデータを
伸張処理して元のデータを復元するディジタルデータの
伸張処理システムにおいて、上記伸張されたデータが格
納される複数のメモリ領域と、複数のメモリ領域のそれ
ぞれに対応して設けられ格納データがすべて所定の論理
値(例えば“0”)か否かを示すフラグとを備え、上記
メモリ領域に書き込まれるべきデータがすべて所定の論
理値のときは、対応する上記フラグを第1の状態に設定
するようにした。
【0014】より具体的には、例えばMPEG規格ある
いはJPEG規格に従って圧縮されたデータを伸張する
システムにおいて、圧縮されたデータを伸張する際に演
算される値を格納するバッファメモリを複数のバンクに
分けて、各バンクごとにバンク内のすべてのデータが論
理“0”か否かを示すオールゼロフラグを設け、バンク
内に書き込むべきデータがすべて論理“0”(以下、単
に“0”と記す)であるときはバッファメモリへの実際
の書込みを行なわずにオールゼロフラグをセットすると
ともに、データ読出し時にはこのフラグを見てバンク内
のデータがすべて“0”のときはバッファメモリからの
読出しを省略するようにしたものである。
【0015】上記した手段によれば、メモリ領域として
のバンクに格納しようとするデータがすべて“0”ある
いはバンクから読み出そうとするデータがすべて“0”
のときはバッファメモリに対するアクセスを行なわない
ので、メモリのアクセス回数が少なくなって消費電力が
低減される。しかも、バッファメモリへの書込みや読出
しを行なわなくても、オールゼロフラグによりデータが
すべて“0”であることを記憶し、伸張の際にそのこと
を知ることができる。
【0016】また、上記メモリ領域に格納されたデータ
同士の演算を行なう演算回路を備え、上記メモリ領域に
格納された2つのデータを加算する処理を行なう際に、
上記加算される2つのデータのうち一方に対応する上記
フラグが第1の状態にされているときは、フラグが第1
の状態にされていない他方のメモリ領域のデータを読み
出し演算後のデータが格納されるべき第3のメモリ領域
に格納するようにする。
【0017】より具体的には、あるバンクのデータと他
のバンクのデータとを加算しようとするときに、オール
ゼロフラグを見て一方のバンクのデータがすべて“0”
と判定したときは、データが“0“でないバンクのデー
タを読み出して演算結果を格納するバンクに複写し、当
該バンクに対応するオールゼロフラグをセットするよう
にしたものである。これによって、データがすべて
“0”のバンクのデータと他のバンクのデータとを加算
するときは、一方のバンクからのデータの読み出しおよ
び演算回路による演算は行なわないで済むので、演算処
理およびメモリのアクセス回数が少なくなって消費電力
が低減されるとともに、伸張処理における演算時間が短
縮される。
【0018】また、上記メモリ領域に格納されたデータ
同士の演算を行なう演算回路を備え、上記メモリ領域に
格納された2つのデータを乗算する処理を行なう際に、
上記乗算される2つのデータのうち一方に対応する上記
フラグが第1の状態にされているときは、演算後のデー
タが格納されるべきメモリ領域に対応する上記フラグを
第1の状態に設定するようにする。
【0019】より具体的には、あるバンクのデータと他
のバンクのデータとの積を演算しようとするときに、オ
ールゼロフラグを見て一方のバンクのデータがすべて
“0”と判定したときは、演算結果を格納するバンクへ
の書込みを省略して対応するオールゼロフラグをセット
するようにしたものである。これによって、データがす
べて“0”のバンクのデータと他のバンクのデータとの
積を演算するときは、バッファメモリに対するアクセス
および演算を行なわないで済むので、演算処理およびメ
モリのアクセス回数が少なくなって消費電力が低減され
るとともに、伸張処理における演算時間が短縮される。
【0020】さらに、上記メモリ領域に格納されたデー
タ同士の演算を行なう演算回路と、上記データが格納さ
れる複数のメモリ領域を識別するための情報を管理する
メモリ管理手段とを備え、上記メモリ領域に格納された
2つのデータを加算する処理を行なう際に、上記加算さ
れる2つのデータのうち一方に対応する上記フラグが第
1の状態にされているときは、上記フラグが第2の状態
のメモリ領域の識別情報と演算後のデータが格納される
べきメモリ領域の識別情報とを入れ替えるとともに、該
入替えにより演算後のデータが格納されたメモリ領域に
対応する上記フラグを第2の状態に設定するように構成
する。
【0021】より具体的には、各バンク毎にバンク番号
を割り振っておいて、あるバンクのデータと他のバンク
のデータとの和を演算しようとするときに、オールゼロ
フラグを見て一方のバンクのデータがすべて“0”と判
定したときは、演算結果を格納するバンクへの書込みを
省略して、演算結果を格納しようとするバンクとデータ
がオールゼロでない方のバンクのバンク番号を入れかえ
るとともに演算結果を格納しようとするバンクに対応す
るオールゼロフラグをリセットするようにしたものであ
る。これによって、あるバンクのデータと他のバンクの
データとの和を演算しようとするときに、実際に演算を
行なわなくても同様の演算結果が得られるため、演算処
理およびメモリのアクセス回数が少なくなって消費電力
が低減されるとともに、伸張処理における演算時間が短
縮される。
【0022】さらに、オールゼロフラグがセット状態に
されているバンクからデータを読み出す際に、当該バン
クのデータに代えて論理“0”のデータを出力する固定
データ出力手段を設けるようにした。これにより、バン
クのデータを用いた演算においてオールゼロフラグがセ
ット状態にされているバンクの“0”のデータが必要な
場合に、バンクの書込みや読出しを行なわずに固定デー
タ出力手段から代わりのデータを得ることができるた
め、正しい演算結果が容易に得られる。
【0023】
【発明の実施の形態】以下、本発明の実施例を、図面を
用いて説明する。
【0024】図1は、MPEG1オーディオ規格に従っ
てオーディオデータを伸張し音を再生する例えばMP3
プレーヤのようなオーディオデータ再生システムのブロ
ック図であって、101はネットワークなどの伝送媒体
より受信もしくはメモリカードなどの記憶媒体から読み
出された圧縮データとしてのビットストリームを取り込
む入出力回路、102は取り込まれたビットストリーム
を格納するフラッシュメモリ、103は操作ボタンなど
からの信号を取り込む入出力ポート、104は液晶パネ
ルのような表示器105を制御して表示を行なわせる液
晶コントローラ、106はフラッシュメモリ102に格
納されたビットストリームを伸張する復号部、107は
プログラムに従ってシステム全体を制御する中央処理ユ
ニット(CPU)、108はCPU107が実行するプ
ログラムや固定データを記憶する読出し専用メモリ(R
OM)、109はCPU106の作業領域を提供するラ
ンダム・アクセス・メモリ(RAM)であり、これらは
システムバス110によって互いに接続されている。
【0025】さらに、上記復号部106は、フラッシュ
メモリ102からDMA(ダイレクト・メモリ・アクセ
ス)転送でデータを取り込むDMAコントローラ60
1、取り込まれたビットストリームのフォーマットを解
析し圧縮データを復号処理するビットストリーム・プロ
セッサ602、復号されたデータや演算処理されたデー
タが格納されるRAMなどからなるバンクメモリ60
3、乗算器や加算器、バレルシフタなどからなり逆量子
化などの演算を行なうデータ演算ユニット604、デコ
ード(伸張)が終了し出力されるPCMデータが格納さ
れるバッファ605、デコーダ600全体の制御および
周波数−時間変換などの演算を行なう制御回路606な
どから構成される。バッファ605に格納された復号オ
ーディオデータは、DA変換器200に供給されてアナ
ログ信号に変換され、ヘッドホンやイヤホンあるいはス
ピーカなどの音声出力手段300により再生される。な
お、ビットストリーム・プロセッサ602の機能は、ソ
フトウェアによっても実現することができ、その場合に
は制御回路606がそのような機能を代行することとな
る。
【0026】図1のオーディオデータ再生システムにお
いては、ネットワークなどの伝送媒体より受信もしくは
メモリカードなどの記憶媒体から読み出されたビットス
トリーム(圧縮データ)は入出力回路101により取り
込まれて、一旦フラッシュメモリ102に格納される。
そして、フラッシュメモリ102に格納されたビットス
トリームは、復号部106内のDMAコントローラ60
1によりビットストリーム・プロセッサ602へDAM
転送され、このビットストリーム・プロセッサ602に
よりフォーマットが解析されて復号され、所定のバンク
メモリ603に格納される。
【0027】バンクメモリ603に格納されたデータ
は、データ演算ユニット604と制御回路606の協同
により逆量子化、バタフライ演算(フーリエ変換)、逆
MDCT演算などの処理がなされてPCM音源データと
してバッファ605に格納され、このバッファ605か
らDA変換器200へ出力されて、DA変換器200が
例えば44.1kHZのようなサンプリング周波数に従
ってDA変換を行なって音声出力手段300により再生
される。なお、上記逆量子化、バタフライ演算、逆MD
CT演算などの処理のうち最後の演算を除く演算の結果
は再度バンクメモリ603に格納され、最後の演算処理
結果がバッファ605に格納される。
【0028】ここで、上記復号部106におけるビット
ストリームからPCMデータを生成するまでの手順を、
図2を用いて詳細に説明する。
【0029】フラッシュメモリから転送されてきたビッ
トストリームは、先ずフレーム単位でそのフォーマット
が解析される(ステップS11)。そして、フォーマッ
トからビットストリーム内にあるハフマン符号などの符
号表(ハフマンテーブル)と量子化で用いられた量子化
スケールに対応した逆量子化テーブルをそれぞれ抽出し
て復号する(ステップS12,S13)。次に、ビット
ストリームに含まれている可変長のサブバンドサンプル
データを抽出して上記ステップS12で得られたハフマ
ン符号表を用いて復号を行ない、各周波数帯の固定長の
サンプルデータSPL1,SPL2……SPL32(=
SPLij)を得る(ステップS14)。ここまでの処
理は、図1のシステムではビットストリーム・プロセッ
サ602により行なわれ、得られたハフマン符号表、逆
量子化テーブルおよびサンプルデータはバンクメモリ6
03に格納される。
【0030】次に、ステップS14で復号されたサンプ
ルデータを、ステップS13で得られた逆量子化テーブ
ルを用いて逆量子化すなわちサンプルデータSPLij
と逆量子化係数SFijとの乗算を行ない、演算結果Y
1,Y2……Yn(=Ymn)はバンクメモリ603に
格納する(ステップS15)。続いて、折返し歪の低減
のためバタフライ演算と呼ばれる演算すなわち同一バン
ク内のデータの加算または減算Bij=Ymn±Yml
を所定の手順で行ない、演算結果B1,B2……Bn
(=Bij)をバンクメモリ603に格納する(ステッ
プS16)。それから逆変形離散コサイン変換(IMD
CT)を行なう(ステップS17)。
【0031】ここで、IMDCT変換は、ステップS1
6のバタフライ演算結果のBjkとIMDCT係数Mi
kとの積和演算Cij=ΣMik*Bikを行なうこと
である。演算結果C1,C2……Cn(=Cij)はバ
ンクメモリ603に格納される。なお、上記IMDCT
係数は予めバンクメモリ603内に格納しておいても良
いし、ビットストリームに含ませて伝送するようにして
もよい。なお、上記ステップS16のバタフライ演算と
ステップS17のIMDCT変換が、図17における周
波数−時間変換の逆変換に相当する処理である。
【0032】上記IMDCT変換終了後に、復号、伸張
された上記各周波数帯のサンプルデータCijにそれぞ
れ重み係数を掛けた後、加算して元の1ブロック(8m
秒)のデータを復元するサブバンドデータの合成(D=
N1*CiJ+N2*Ckj)を行なう(ステップS1
8)。そして、合成されたデータはPCM音源データと
してバッファ605に順次格納される。なお、上記演算
は一例であって、復号するデータの種類や性質等に応じ
て演算が一部省略されたり、他の演算と置き換えられた
り、別の演算が付加されることもあり、本発明はそのよ
うな場合にも適用することができる。
【0033】図3は、本発明の一実施例を示すもので、
図1のオーディオデータ再生システムにおける復号部1
06の一部をより詳細に示しており、実質的に同一のシ
ステムである。図3において、図1と同一もしくは類似
の機能を有する回路ブロックには同一の符号を付して重
複した説明は省略する。図3において、符号610で示
されているロード/ストア・ユニットは、図1における
DMAコントローラ601とバッファ605の機能を1
つのブロックとして表わしたもので、それらと同一の機
能を有する。ビットストリーム・プロセッサ602が破
線で示されているのは、このプロセッサの機能は制御回
路606により実現することも可能であることを表わし
ている。
【0034】制御回路606は、例えばマイクロ命令を
格納したマイクロROMやマイクロ命令をデコードして
制御信号を生成する命令デコーダ、実行する命令の順序
を制御するシーケンサなどからなる制御部CNTと、バ
ンクメモリ603の各バンクの番号を記憶したバンクI
DテーブルBITを備えバンク番号を管理するバンク管
理ユニットBMUと、バンクメモリ603の各バンクを
アクセスするためのアドレスを演算するアドレス演算ユ
ニットACUなどから構成される。データ演算ユニット
604は、論理演算を行なう論理演算ユニットALU
と、積和演算を行なうMACと、データのビットシフト
などの処理を行なうバレルシフタBSFなどから構成さ
れる。
【0035】また、本実施例においては、バンクメモリ
603が例えば36個のようなバンクBNK0,BNK
1……BNK35により構成されている。1つ1つのバ
ンクBNKi(i=0,1,……35)は、例えば1ブ
ロックの256個のようなサンプルデータを保持可能な
256×32ビットのような記憶容量を有するように構
成されるとともに、自己に与えられたバンク番号が入力
されるとバンクを選択状態にするバンク活性化回路BA
Ciと、バンク内の実際のデータにかかわらずそれがオ
ールゼロであることを宣言するためのオールゼロフラグ
AZFiとが設けられている。前述の復号、伸張処理の
過程で演算されるサンプルデータや係数はそれぞれ異な
るバンクに格納され、データ演算ユニット604で演算
された後、元のバンクあるいはさらに別のバンクに格納
される。
【0036】なお、図3において、ADBはアドレス演
算ユニットACUで生成されたアドレスをバンクメモリ
603の各バンクBNK0〜BNK35に供給するアド
レスバス、DTBはロード/ストア・ユニット610と
バンクメモリ603とデータ演算ユニット604との間
でデータを転送可能にするデータバスである。
【0037】各バンクがオールゼロフラグAZFiを有
することと、このオールゼロフラグAZFiの利用の仕
方が本発明の大きなポイントである。JPEG規格やM
PEG規格による画像データの圧縮やオーディオデータ
の圧縮に使用されるDCT変換では、DCT変換後のD
CT係数に偏りがあり特定の周波数成分が多く現われる
傾向があるため、これを利用してDCT係数を量子化し
たときに「0」となる周波数成分が非常に多くなり、こ
れによって大きな圧縮率が得られる。ここで、「0」と
なる周波数成分が多いにもかかわらずこれをいちいちバ
ンクメモリに書き込んでいたのでは、「0」の書込みに
要する時間のメモリのアクセス時間に占める割合が非常
多くなってしまい、いかにも無駄である。本発明がバン
クメモリの各バンクにオールゼロフラグAZFiを設け
たのは、かかるバンクメモリへの「0」の書込みおよび
読出しを省略するためである。
【0038】以下に、上記オールゼロフラグAZFiを
利用したバンク制御およびデータの復号、伸張処理につ
いて説明する。
【0039】仮に、4つの周波数帯のデータ{A0,A
1,……An},{B0,B1,……Bn},{C0,
C1,……Cn},{D0,D1,……Dn}がビット
ストリームにのって入ってきて、これを4つのバンクB
NK0,BNK1,BNK2,BNK3に書き込む場合
を考えると、バンクメモリにオールゼロフラグAZFi
が設けられていないシステムにおいては、C0〜Cnと
D0〜Dnが全て「0」であったとしても、各周波数帯
のデータのバンクメモリへの書込みは、図4に示すよう
にデータが「0」か否かにかかわらずすべてのバンクに
対して行なわれることとなる。なお、図において、A
0,A1,……An,B0,B1,……はそれぞれが3
2ビットのようなビット長のデータであり、またnは例
えば255である。
【0040】これに対し、本発明の実施例においては、
上記のような4つのデータをバンクBNK0,BNK
1,BNK2,BNK3に書き込む場合、図5に示すよ
うに、バンクBNK0とBNK1にはデータ{A0,A
1,……An},{B0,B1,……Bn}を書き込む
が、バンクBNK2とBNK3へのデータの書込みは行
なわずに、元のデータ{c0,c1,……cn},{d
0,d1,……dn}を残しておいて、対応するオール
ゼロフラグAZF2,AZF3に「1」をセットしてデ
ータがすべて「0」であることを宣言させるものであ
る。また、各バンクからデータを読み出す際には、まず
オールゼロフラグAZFiの状態を読み込んでそれが
「1」である場合にはバンクからのデータの読出しは行
なわないようにする。
【0041】次に、本発明の実施例のように各バンクに
オールゼロフラグAZFiが設けられているシステムに
おいて、各バンクに格納されているデータ同士の具体的
な演算の仕方について説明する。例えば図6(A)に示
すように、オールゼロフラグAZFが「1」になってい
るバンクBNK0のオールゼロのデータと、オールゼロ
フラグAZFが「0」になっているバンクBNK1の有
為なデータとを掛算してバンクBNK2に格納する場合
を考える。ここで、バンクBNK0のデータとバンクB
NK1のデータとの掛算(乗算)とは、バンクBNK0
のi(i=0〜n)番目のデータaiとバンクBNK1
のi番目のデータbiとの掛算をi=0からi=nまで
順次行なうことを意味する。
【0042】この場合、本実施例のシステムにおいて
は、実際のデータの掛算は行なわないで、図6(B)の
ようにバンクBNK2のオールゼロフラグAZF2に
「1」をセットして終了する。このように、オールゼロ
フラグAZFを利用した場合、バンクデータ同士の掛算
において一方がオールゼロのデータであるときには、バ
ンクからのデータの読出しも書込みも一切行なう必要が
ない。なお、図6において、オールゼロフラグAZFの
欄に「X」に記載されているのは、「0」または「1」
のいずれでもよいことを意味している。
【0043】次に、例えば図7(A)に示すように、オ
ールゼロフラグAZFが「1」になっているバンクBN
K0のオールゼロのデータと、オールゼロフラグAZF
が「0」になっているバンクBNK1の有為なデータと
を加算してバンクBNK2に格納する場合を考える。こ
こで、バンクBNK0のデータとバンクBNK1のデー
タとの加算とは、バンクBNK0のi(i=0〜n)番
目のデータaiとバンクBNK1のi番目のデータbi
との加算をi=0からi=nまで順次行なうことを意味
する。
【0044】オールゼロフラグがない場合における加算
では、バンクBNK1のデータはもちろんバンクBNK
0のデータも読み出してそれぞれのデータを加算してバ
ンクBNK2に書き込む処理が必要である。これに対し
て、本実施例のシステムにおいては、実際のデータの加
算は行なわないで、図7(B)のようにバンクBNK1
のデータをバンクBNK2に複写、すにわちバンクBN
K1からデータを読み出してバンクBNK2に書き込む
とともに、BNK2のオールゼロフラグAZF2を
「0」にリセットして終了する。このように、オールゼ
ロフラグAZFを利用した場合、バンクデータ同士の加
算において一方がオールゼロのデータであるときには、
1つのバンクからのデータの読出しと他のバンクへの書
込み動作のみ行ない、実際の演算は省略することができ
る。
【0045】さらに、上記の場合に加算後のデータをバ
ンクBNK2ではなくBNK1に戻す場合には、バンク
の読出し、書込みおよび演算を一切行なう必要がない。
同様に、オールゼロフラグAZFが「1」になっている
バンクのデータ同士を加算する場合にも、実際の加算は
行なわずに加算結果を入れるバンクに対応して設けられ
ているオールゼロフラグAZFに「1」をセットするだ
けで良い。
【0046】また、図3のシステムと類似の構成を有
し、各バンクBNK0〜BNK35に与えられているバ
ンク番号が固定ではなく、バンク管理ユニットBMUに
よってバンク番号が任意に付け替え可能に構成されてい
るシステムにおいては、オールゼロフラグAZFが
「1」になっているバンクBNK0のオールゼロのデー
タとオールゼロフラグAZFが「0」になっているバン
クBNK1の有為なデータを加算してバンクBNK2に
格納する場合には、図8のように、バンクBNK1とB
NK2のバンク番号を入れ替えるとともに、新たなバン
クBNK1(元のバンクBNK2)のオールゼロフラグ
AZFを「0」にリセットして終了することができる。
このように、バンク番号が入れ替え可能で、一方がオー
ルゼロのデータである場合には、バンク番号の入れ替え
とオールゼロフラグAZFのリセットのみ行なえば良
く、バンクの読出し、書込みおよび演算を一切行なう必
要がない。
【0047】なお、上記の場合、番号が入れ替えられた
新たなバンクBNK1(3列目)は、有為でないデータ
が格納されているにもかかわからずオールゼロフラグA
ZFが「0」にされることとなるが、このデータが有為
でないことはバンク管理ユニットBMUにおいて把握す
ることが可能であるので、何ら問題はない。また、バン
ク管理ユニットBMUにおけるバンクの管理が充分にな
されていれば、上記バンク番号の入れ替えの際に、新た
なバンクBNK1(元のバンクBNK2)のオールゼロ
フラグAZFを「0」にリセットする操作を省略するこ
とが可能である。具体的には、各バンクに対応して上記
オールゼロフラグAZF以外に例えばバンク内のデータ
が有効か無効かを示すフラグを設けて、バンク管理ユニ
ットBMUにより管理することが考えられる。
【0048】次に、オールゼロフラグを利用して上記の
ようなバンク制御を可能にする具体的なシステムの構成
例を、図9および図10を用いて説明する。このうち、
図9はバンク番号が固定方式のシステムの例を、また図
10はバンク番号が可変であるシステムの例をそれぞれ
示す。
【0049】図9のバンク番号が固定方式のシステムに
おいては、例えばアドレス演算ユニットACUから出力
されるアドレスのバンク番号に相当するアドレスの上位
6ビットをデコードして対象バンクを指定するイネーブ
ル信号BEN0〜BEN35を生成して各バンクBNK
0〜BNK35に供給するバンク番号デコーダBNDが
設けられる。また、バンクBNK0〜BNK35の出力
側にはセレクタSELが設けられ、このセレクタSEL
の一方の入力端子には各バンクのデータ出力端子が共通
に接続されているとともに、他方の入力端子には固定デ
ータ“0”が入力されるように構成されている。
【0050】この実施例のシステムでは、アドレス演算
ユニットACUから出力されるアドレスは各バンクBN
K0〜BNK35に共通に供給され、イネーブル信号B
ENが有効レベルにされたバンクのみが活性化されて、
アドレスの下位8ビットにより指定される番地のデータ
を読み出したり、書込みが行なわれたりする。
【0051】また、このシステムでは、バンク管理ユニ
ットBMUが各バンクのオールゼロフラグAZFを管理
する機能を備えており、データの書込みや加算、乗算の
際に、前述したようにオールゼロのデータを書き込むバ
ンクに関してはフラグAZFに「1」をセットすること
で書込みを省略する。また、データの読出しの際には、
バンク管理ユニットBMUが先ず対象バンクのオールゼ
ロフラグAZFをチェックしてそれが「1」になってい
るときはバンクからのデータの読出し動作は行なわず
に、バンクの出力側に設けられているセレクタSELを
固定データ“0”側に切り替える。これによって、復号
処理が終了してサブバンドサンプルデータの合成を行な
う際など、オールゼロフラグAZFが「1」になってい
るバンクからデータを読み出すべきときに、バンクのデ
ータに代えて固定データ“0”がセレクタSELから出
力されて、正しい復号データの読出しと、それを用いた
演算が行なわれることとなる。
【0052】図10のシステムにおいては、バンク管理
ユニットBMUにバンク番号を管理するためのバンクI
DテーブルBITが設けられる。また、各バンクBNK
0〜BNK35にはそれぞれオールゼロフラグAZF0
〜AZF35以外に、自己のバンク番号を保持するレジ
スタとこのレジスタに保持されているバンク番号とアド
レス演算ユニットACUから供給されるアドレス上位の
バンク番号とを比較する比較器とからなるバンクアクセ
ス判定回路BAJ0〜BAJ35が設けられている。
【0053】また、各バンクの入力側には入力アドレス
と入力データを通過させたり遮断させたりできるゲート
手段TGT0〜TGT35が設けられており、これらの
ゲート手段TGT0〜TGT35はそれぞれ上記バンク
アクセス判定回路BAJ0〜BAJ35からの信号によ
って、アドレス演算ユニットACUから出力された例え
ばアドレスの上位6ビットのバンクアドレスがバンクア
クセス判定回路BAJ0〜BAJ35内のバンク番号レ
ジスタ内のバンク番号と一致したときに通過状態となる
ように制御される。
【0054】さらに、各バンクの出力側には各バンクB
NK0〜BNK35の出力のうち1つを選択して後段へ
伝達可能にするマルチプレクサMUXと、バンク出力デ
ータに代えて固定データ“0”を出力可能なセレクタS
ELとが設けられている。上記セレクタSELは前記実
施例と同様に、バンクデータの読出し時にバンク管理ユ
ニットBMUが、各バンクBNK0〜BNK35のオー
ルゼロフラグAZF0〜AZF35をチェックしてフラ
グの状態に応じて切り替えられる。また、マルチプレク
サMUXもバンク管理ユニットBMUによって、バンク
IDテーブルBITを参照して所望のバンクのデータが
出力されるように制御される。
【0055】さらに、この実施例のシステムにおいて
は、上記バンク管理ユニットBMUが、バンクIDテー
ブルBITを書き換えるとともに、各バンクBNK0〜
BNK35に設けられているバンクアクセス判定回路B
AJ0〜BAJ35内のバンク番号レジスタを書き換え
ることができるように構成されている。これによって、
例えば図8を用いて説明したようなバンク番号の付け替
えおよびオールゼロフラグAZFのセットを行なうこと
により、オールゼロフラグAZFが「1」になっている
バンクのデータとオールゼロフラグAZFが「0」にな
っているバンクのデータを加算したのと同じ結果を、バ
ンクからのデータの読出しおよび演算とバンクへの書込
みを行なうことなく得ることができる。
【0056】なお、図10のシステムにおいては、バン
クアクセス判定回路BAJ0〜BAJ35を設けてハー
ドウェアでバンク番号の入替えを行なっているが、バン
ク番号の入替えはバンク管理ユニットBMUまたは制御
部CNTがソフトウェアで行なうように構成することも
可能である。また、バンク番号を設定するレジスタを有
するバンクアクセス判定回路BAJ0〜BAJ35を設
ける代わりに、各バンクにそれぞれバンク管理ユニット
BMUから出力されるバンク番号をデコードするデコー
ダを設けて、バンク管理ユニットBMUがバンクIDテ
ーブルBITを参照して所望のバンクを指定するバンク
番号を出力するように構成することも可能である。
【0057】次に、上記バンク管理ユニットBMUによ
るバンク管理を含めた復号部106におけるオーディオ
データの復号の手順を、図11を用いて説明する。
【0058】復号部106が復号処理を開始すると、先
ずバンク番号を示す変数iを「0」にする(ステップS
21)。それから、バンク番号iのバンクへの書込みを
開始して良いか判定する(ステップS22)。この判定
は、具体的には、前フレームの復号が終了して次のフレ
ームの復号を開始して良いかを、例えば制御回路606
内の制御状態を示すフラグやステータスレジスタを参照
することで行なえる。そして、書込み開始可能と判定す
ると、次のステップS23へ進んでビットストリーム・
プロセッサ602によりヘッダ部のデコードを行なわ
せ、フレーム内のデータ数を取得する。
【0059】次に、ビットストリームからサンプルデー
タを抽出してハフマン復号化を行なう(ステップS2
4)。そして、復号された各周波数帯のサンプルデータ
をステップS21で設定したバンク番号i(=0)のバ
ンクに格納し、当該バンクに対応するオールゼロフラグ
AZFiを「0」にリセットする(ステップS25,S
26)。それから、復号したサンプルデータがバンクの
容量に達したならば、バンク番号iをインクリメント
(i←i+1)する(ステップS27)。
【0060】その後、フレーム内の全有効データすなわ
ち「0」でないデータの復号が終了したか判定する(ス
テップS28)。この有効データ数の判定は、予めビッ
トストリーム内に有効データ数情報が付加されて送信さ
れてくるので、復号したデータの数を計数して受信した
有効データ数情報のデータ数と一致したか否かを判定す
ることで行なえる。そして、全有効データの復号が終了
していないと判定したときはステップS24へ戻って次
のサンプルデータの復号化を行ない、終了したと判定す
ると、次のステップS29で現バンクの残りの領域に全
てデータ「0」を書き込む。
【0061】しかる後、バンク番号iをインクリメント
(i←i+1)して、当該バンクのオールゼロフラグA
ZFiを「1」にセットする(ステップS30,S3
1)。これは、MPEG1規格によるオーディオデータ
の圧縮の性質から、各周波数帯のサンプルデータに偏り
があり、サンプルデータに「0」が現われると残りのサ
ンプルデータはすべて「0」になる特徴があるので、
「0」のサンプルデータを次のバンクに書き込む代わり
に、オールゼロフラグAZFiを「1」にセットするこ
とでバンクへの「0」の書込みを省略するためである。
【0062】それから、すべてのバンクへのデータの書
込み(オールゼロフラグAZFiのセットを含む)が終
了したか判定する(ステップS32)。そして、終了し
ていなければステップS30へ戻って上記処理を繰り返
し、ステップS32で「終了」と判定した時点で、残り
の復号処理(バタフライ演算処理、逆MDCT変換処理
およびサブバンド合成処理)S33を行なって、ステッ
プS34ですべてのフレームについて復号が終了したか
判定し、終了していないときはステップS21へ戻って
上記処理を繰り返す。
【0063】次に、本発明をJPEG規格に従って圧縮
された画像データを伸張する画像データ再生システムに
適用した場合の実施例を説明する。
【0064】先ず、JPEGに従った画像データの圧縮
(符号化)と伸張(復号化)の手順を、図12を用いて
簡単に説明しておく。JPEG規格の圧縮では、圧縮す
るディジタル原画像400が8×8の画素のブロックB
1,B2……に分割され、各ブロック毎に3原色の各色
ごとのサンプルデータRGBが輝度Yと色差成分Cb,
Crのデータに変換される。そして、Y,Cb,Crの
それぞれのデータに対して2次元DCT変換(空間−周
波数変換)が行なわれてから、適当な量子化テーブル4
10を使用した量子化(割算と四捨五入)によるデータ
圧縮が行なわれる。その後、ハフマン符号表420を用
いてハフマン符号化処理が行われてさらにデータが圧縮
される。
【0065】しかる後、符号化されたサブバンドサンプ
ルデータにヘッダやフォーマット情報、エラーチェック
コード、ビット割り当て情報、スケールファクタ情報な
どの情報を付加した所定のフォーマットのフレームを構
成する。そして、ブロック毎のフレームが連続したビッ
トストリームが生成されて復号システムに送られて来
る。
【0066】画像データの復号は、図17に示すオーデ
ィオデータの復号と処理内容が若干異なるのみで手順は
ほぼ同じである。すなわち、まず、ビットストリームを
解析してサンプルデータを抽出して符号表420を用い
たハフマン復号化を行ない、次に量子化テーブル41
0’を用いた逆量子化(掛算)を行なう。サンプルデー
タは、オーディオデータでは8m秒のデータを1ブロッ
クとしてそれを32の周波数帯に分割して符号化したも
のであるのに対し、画像データでは8×8画素のデータ
を1ブロックとして色成分毎に空間−周波数変換(RG
B→YCbCr変換およびDCT変換)と量子化を行な
ってからハフマン符号化したものである。画像データの
復号では、上記逆量子化の後、周波数−空間変換に相当
する逆DCT変換とYCbCr→RGB変換が行なわれ
て再生画像400’が生成される。
【0067】画像データもオーディオデータと同様に空
間周波数で表わすと周波数成分に偏りがあり、通常の画
像データは低周波数が多く高周波数成分は少ないという
特徴があるため、ハフマン復号化したサンプルデータは
例えば図13(A)に示すように、有効なデータは左上
の低周波数成分に多く現われ値も大きいが、右下の高周
波数成分のDCT係数はほとんどが「0」となる。な
お、JPEG規格による圧縮では、各ブロックの64個
の周波数成分は図13(B)に矢印で示すような順番で
符号化され、この順番でビットストリームに載せて送ら
れて来る。
【0068】本実施例の画像データの再生システムにお
いても、この画像データの性質を利用して、各周波数帯
のデータを格納するバンクメモリの各バンクにオールゼ
ロフラグを設けておいて、復号化処理における演算の際
に各バンクへの「0」の書込みや「0」のデータとの乗
算などの演算をオールゼロフラグのセット/リセット処
理で置き換えることよって処理の簡略化を図れるように
している。
【0069】図14には、本発明をJPEG規格に従っ
て圧縮された画像データを伸張する画像データ再生シス
テムに適用した場合の実施例を示す。
【0070】図14において、501は入力されたビッ
トストリームを解析しハフマン復号化を行なうビットス
トリームデコーダ、502はオールゼロフラグAZFを
有し8×8の64個の周波数帯のデータを図15にG0
〜G7ですような8つのグループに分けてそれぞれ記憶
する8個のバンクBNK0〜BNK7からなるバンクメ
モリ、503は積和演算を行なう演算回路、504は量
子化テーブルやDCT係数テーブルを記憶する係数メモ
リ、505は逆DCT変換に用いられる1ブロック分の
データを保持するバッファメモリ、506は逆DCT変
換後のデータを保持するフレームバッファ、507はY
CbCr→RGB変換を行なう変換回路、508はシス
テム全体を制御する制御回路である。
【0071】なお、上記係数メモリ504はバンクメモ
リ502と同じRAM内に別のバンクとして用意してお
いても良い。逆DCT変換用バッファ505も同様であ
る。ただし、オールゼロフラグが必要なのは、最初の8
個のバンクBNK0〜BNK7に対してのみで、他のバ
ンクがあってもそれらに関してはオールゼロフラグは不
用である。
【0072】また、SEL1〜SEL4はそれぞれデー
タを選択するためのセレクタである。このうち、セレク
タSEL2は一方の入力端子に各バンクのデータ出力端
子が共通に接続されているとともに、他方の入力端子に
は固定データ“0”が入力され、バンクからのデータ読
出し時にオールゼロフラグAZFの状態に応じてセレク
タが切り替えられて読出しデータの代わりに固定データ
“0”を出力できるように構成されている。
【0073】次に、図14の画像データ再生システムに
おける具体的に復号処理を、図16を用いて説明する。
図16は画像データ再生システムにおける復号処理の流
れを図式化したものである。
【0074】再生システムに入力されたビットストリー
ムはビットストリームデコーダ501によって解析さ
れ、入力ビットストリームから抽出された量子化テーブ
ルが係数メモリ505に格納されるとともに、ハフマン
復号化された64個の周波数帯のサンプルデータは8個
のバンクメモリBNK0〜BNK7に順次格納される。
具体的には、各周波数帯のサンプルデータは図16の
(b)に矢印で示すようにジグザグに格納される。この
とき、バンクメモリへ書き込むべき周波数帯のデータが
すべて「0」のときはバンクメモリへの書込みを行なわ
ずに、対応するオールゼロフラグを「1」にセットす
る。
【0075】一般には、圧縮側は圧縮過程で途中から終
わりまでデータ「0」が連続するようになるとデータ
「0」を送って来ないので、図16(b)の順序でデー
タを埋めていくと復号データが64個に満たなくなる。
その場合、復号システム側で残りのデータを「0」で埋
めてバンクメモリ502に格納してやる必要があるが、
この実施例のシステムではバンクメモリへの書込みを行
なわずに、対応するオールゼロフラグが「1」にセット
される。このようにして、サンプルデータをバンクメモ
リへ格納する際に実際のメモリへのアクセス回数が削減
されることによって消費電流が大幅に減少されることと
なる。
【0076】次に、バンクメモリ502から各周波数帯
のサンプルデータを読み出して逆量子化を行なって再び
バンクメモリ502へ格納するが、このときオールゼロ
フラグAZFをチェックして「0」の立っているデータ
に関してはデータを読み出して量子化テーブルの値との
掛算を行なう。そして、オールゼロフラグが「1」のデ
ータに関してはデータの読出しおよび掛算は省略してオ
ールゼロフラグを「1」のままにする。逆量子化は、逆
量子化される前のi行j列のサンプルデータをXij、
逆量子化テーブルの値をCijとすると、式Yij=X
ij×Cijで表わされる。従って、データが「0」の
ところは逆量子化後も「0」のままであるので、上記の
ように演算を省略することができる。これによって、逆
量子化におけるバンクメモリへのアクセスおよび演算に
要する時間が大幅に短縮されることとなる。
【0077】次の逆DCT変換は、2段階の行列演算に
よって行なわれる。先ず1段目では、図16(e)に矢
印で示すように列方向でバンクメモリ内のデータXjを
読み出して、図14の積和演算回路503において、I
DCT係数Mijとの行列演算Yj=ΣMij×Xjを
j=0からj=7まで即ち1列目から8列目まで順に行
ない、演算結果をバッファメモリ505内に格納する。
そして、これを各バンクBNK0〜BNK7内の全ての
データに対して行なう。そして、次の2段目では、図1
6(f)に矢印で示すように行方向でバッファメモリ内
のデータXiを読み出して、IDCT係数Mijとの行
列演算をi=0からi=7まで即ち1行目から8行目ま
で順に行ない、演算結果をフレームバッファ506内に
格納する(図16(g))。
【0078】この実施例の画像データ再生システムにお
いては、上記1段目の行列演算の際に、各バンクBNK
0〜BNK7からデータを読み出すときに先ずオールゼ
ロフラグAZFをチェックして、「1」の立っているデ
ータに関してはバンクからデータを読み出す代わりにセ
レクタSEL2を切り替えて固定データ“0”を積和演
算回路503へ渡すように制御される。このようにし
て、逆DCT変換におけるバンクメモリへのアクセスが
省略されることによって消費電流が大幅に減少されるこ
ととなる。また、メモリのアクセス時間よりもセレクタ
から固定データ“0”を出力させる時間の方が短くて済
むため、トータルの演算所要時間も短縮される。
【0079】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば、前
記実施例においては、オールゼロフラグAZFのセット
状態を、対応するバンクのデータがすべて“0”である
状態に対応させているが、オールゼロフラグAZFのリ
セット状態を、対応するバンクのデータがすべて“0”
である状態に対応させるようにしてもよい。
【0080】また、前記実施例のオーディオデータ再生
システム(図9、図10参照)においては、各メモリバ
ンクBNK0〜BNK35に対応してアドレスのデコー
ダが設けられている場合を説明したが、バンクメモリ6
03のアドレスデコーダはメモリ全体に対して共通に設
けられ、バンク管理ユニットによるソウトウェア的な処
理によりメモリ内が仮想的なバンクに分割されるように
構成されていても良い。さらに、本明細書におけるオー
ディオデータには狭義の音楽データのみならず朗読など
の音声データも含まれる。
【0081】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるMPE
G1レイヤIII規格に従ったオーディオデータの再生シ
ステムおよびJPEG規格の画像データの再生システム
に適用した場合について説明したが、本発明はディジタ
ル圧縮データの伸張システム一般に利用することが可能
である。
【0082】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。
【0083】すなわち、本発明に従うと、MPEG規格
あるいはJPEG規格など所定の圧縮方式によって圧縮
されたデータを伸張するシステムにおいて、RAMへの
アクセス回数を減らして、システムの消費電力を低減す
ることができるとともに、復号されたデータに対する演
算処理を簡略化して、システムの負担を軽減するととも
に演算処理速度を高めることができるという効果があ
る。
【図面の簡単な説明】
【図1】本発明を適用したMPEG1オーディオ規格に
従ってオーディオデータを伸張し音声を再生するオーデ
ィオデータ再生システムの一実施例を示すブロック図で
ある。
【図2】図1の実施例の復号部におけるビットストリー
ムからPCMデータを生成するまでの手順を示すフロー
チャートである。
【図3】図1のオーディオデータ再生システムの復号部
をより具体的に示したブロック図である。
【図4】オールゼロフラグを有していない伸張システム
におけるバンクメモリへのデータの書込み例を示す説明
図である。
【図5】オールゼロフラグを有する実施例の伸張システ
ムにおけるバンクメモリへのデータの書込み例を示す説
明図である。
【図6】オールゼロフラグを有する実施例の伸張システ
ムにおいて乗算を行なった場合のフラグおよびバンクメ
モリの格納データの変化の様子を示す説明図である。
【図7】オールゼロフラグを有する実施例の伸張システ
ムにおいて加算を行なった場合のフラグおよびバンクメ
モリの格納データの変化の様子を示す説明図である。
【図8】オールゼロフラグおよびバンク番号管理ユニッ
トを有する実施例の伸張システムにおいて加算を行なっ
た場合のフラグとバンク番号およびバンクメモリの格納
データの変化の様子を示す説明図である。
【図9】オールゼロフラグおよびバンク番号管理ユニッ
トを有する伸張システムの一実施例(バンク番号固定方
式)を示すブロック図である。
【図10】オールゼロフラグおよびバンク番号管理ユニ
ットを有する伸張システムの他の実施例(バンク番号可
変方式)を示すブロック図である。
【図11】バンク管理ユニットによるバンク管理を含め
た実施例の伸張システムの復号部におけるオーディオデ
ータの復号の手順を示すフローチャートである。
【図12】JPEGに従った画像データの圧縮(符号
化)と伸張(復号化)の手順の概略を示す説明図であ
る。
【図13】JPEG規格により圧縮されたデータをハフ
マン復号化したサンプルデータのDCT係数の例と、J
PEG規格におけるDCT変換された周波数成分の符号
化の順番を示す説明図である。
【図14】本発明をJPEG規格に従って圧縮された画
像データを伸張する画像データ再生システムに適用した
場合の実施例を示すブロック図である。
【図15】図14の実施例の伸張システムにおいてバン
クメモリへ格納する際のデータの分割の仕方を示す説明
図である。
【図16】JPEG方式の伸張システムにおける具体的
なデータの処理の手順を示す説明図である。
【図17】MPEG1のレイヤIIIに従って圧縮された
オーディオデータを伸張する復号処理の手順の概略を示
すフローチャートである。
【符号の説明】
101 入出力回路 102 フラッシュメモリ 103 入出力ポート 104 液晶コントローラ 105 表示器 106 復号部 107 CPU 108 読出し専用メモリ(ROM) 109 ランダム・アクセス・メモリ(RAM) 110 システムバス 200 DA変換器 300 音声出力手段 600 デコーダ(復号システム) 601 DMAコントローラ 602 ビットストリーム・プロセッサ 603 バンクメモリ 604 データ演算ユニット 605 バッファ 606 制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 武田 博 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 佐藤 潤 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 大村 賢一郎 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 鮎川 一重 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5C059 KK49 MA00 MA23 MC14 ME02 PP01 SS11 SS12 TA80 TB08 TC00 TD11 UA02 UA05 UA36 5J064 AA04 BA09 BA16 BB13 BC01 BC08 BC09 BC16

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 圧縮されたディジタルデータを伸張処理
    して元のデータを復元するディジタルデータの伸張処理
    システムであって、 上記伸張されたデータが格納される複数のメモリ領域
    と、該複数のメモリ領域のそれぞれに対応して設けられ
    格納データがすべて所定の論理値か否かを示すフラグと
    を備え、上記メモリ領域に書き込まれるべきデータがす
    べて所定の論理値のときは、対応する上記フラグを第1
    の状態に設定するようにされていることを特徴とするデ
    ィジタルデータの伸張システム。
  2. 【請求項2】 上記所定の論理値は論理“0”であるこ
    とを特徴とする請求項1に記載のディジタルデータの伸
    張システム。
  3. 【請求項3】 上記メモリ領域に格納されたデータ同士
    の演算を行なう演算回路を備え、上記メモリ領域に格納
    された2つのデータを加算する処理を行なう際に、上記
    加算される2つのデータのうち一方に対応する上記フラ
    グが第1の状態にされているときは、フラグが第1の状
    態にされていない他方のメモリ領域のデータを読み出し
    演算後のデータが格納されるべき第3のメモリ領域に格
    納するようにされていることを特徴とする請求項2に記
    載のディジタルデータの伸張システム。
  4. 【請求項4】 上記メモリ領域に格納されたデータ同士
    の演算を行なう演算回路を備え、上記メモリ領域に格納
    された2つのデータを乗算する処理を行なう際に、上記
    乗算される2つのデータのうち一方に対応する上記フラ
    グが第1の状態にされているときは、演算後のデータが
    格納されるべきメモリ領域に対応する上記フラグを第1
    の状態に設定するようにされていることを特徴とする請
    求項2または3に記載のディジタルデータの伸張システ
    ム。
  5. 【請求項5】 上記メモリ領域に格納されたデータ同士
    の演算を行なう演算回路と、上記データが格納される複
    数のメモリ領域を識別するための情報を管理するメモリ
    管理手段とを備え、上記メモリ領域に格納された2つの
    データを加算する処理を行なう際に、上記加算される2
    つのデータのうち一方に対応する上記フラグが第1の状
    態にされているときは、上記フラグが第2の状態のメモ
    リ領域の識別情報と演算後のデータが格納されるメモリ
    領域の識別情報とを入れ替え、該入替えにより演算後の
    データが格納されたメモリ領域に対応する上記フラグを
    第2の状態に設定するようにされていることを特徴とす
    る請求項2に記載のディジタルデータの伸張システム。
  6. 【請求項6】 上記フラグが第1の状態にされている上
    記メモリ領域からデータを読み出す際に、当該メモリ領
    域のデータに代えて論理“0”のデータを出力する固定
    データ出力手段を有することを特徴とする請求項2、
    3、4または5に記載のディジタルデータの伸張システ
    ム。
  7. 【請求項7】 上記伸張されるディジタルデータは、オ
    ーディオデータであることを特徴とする請求項2、3、
    4、5または6に記載のディジタルデータの伸張システ
    ム。
  8. 【請求項8】 上記伸張されるディジタルデータは、画
    像データであることを特徴とする請求項2、3、4、5
    または6に記載のディジタルデータの伸張システム。
  9. 【請求項9】 伸張されたデータが格納される複数のメ
    モリ領域と、該複数のメモリ領域のそれぞれに対応して
    設けられ格納データがすべて論理“0”か否かを示すフ
    ラグと、上記メモリ領域に格納されたデータ同士の演算
    を行なう演算回路とを備え、所定の方式に従って圧縮さ
    れたディジタルデータが所定のフォーマットのビットス
    トリームとして入力され、該ビットストリームデータを
    伸張処理してデータを復元するディジタルデータの伸張
    処理システムにおいて、 上記メモリ領域に格納された2つのデータを加算する処
    理を行なう際に、上記加算される2つのデータのうち一
    方に対応する上記フラグが第1の状態にされているとき
    は、フラグが第1の状態にされていない他方のメモリ領
    域のデータを読み出し演算後のデータが格納されるべき
    第3のメモリ領域に格納し、当該メモリ領域に対応する
    上記フラグを第2の状態に設定することを特徴とするデ
    ィジタルデータの伸張方法。
  10. 【請求項10】 伸張されたデータが格納される複数の
    メモリ領域と、該複数のメモリ領域のそれぞれに対応し
    て設けられ格納データがすべて論理“0”か否かを示す
    フラグと、上記メモリ領域に格納されたデータ同士の演
    算を行なう演算回路とを備え、所定の方式に従って圧縮
    されたディジタルデータが所定のフォーマットのビット
    ストリームとして入力され、該ビットストリームデータ
    を伸張処理してデータを復元するディジタルデータの伸
    張処理システムにおいて、 上記メモリ領域に格納された2つのデータを乗算する処
    理を行なう際に、上記乗算される2つのデータのうち一
    方に対応する上記フラグが第1の状態にされているとき
    は、乗算後のデータが格納されるべき第3のメモリ領域
    に対応する上記フラグを第1の状態に設定することを特
    徴とするディジタルデータの伸張方法。
  11. 【請求項11】 伸張されたデータが格納される複数の
    メモリ領域と、該複数のメモリ領域のそれぞれに対応し
    て設けられ格納データがすべて論理“0”か否かを示す
    フラグとを備え、所定の方式に従って圧縮されたデータ
    が所定のフォーマットのビットストリームとして入力さ
    れ、該ビットストリームデータを伸張処理してデータを
    復元するディジタルデータの伸張処理システムにおい
    て、 有効なデータ数を計数しながら伸張された有効データを
    上記複数のメモリ領域に順次格納するとともに該メモリ
    領域に対応する上記フラグを第1の状態にさせ、有効デ
    ータがなくなった場合に残りのメモリ領域のうち復号処
    理されるデータが格納されるべきメモリ領域に対応する
    上記フラグを第2の状態に設定することを特徴とするデ
    ィジタルデータの伸張方法。
JP2000316093A 2000-10-17 2000-10-17 ディジタルデータの伸張システムおよび伸張方法 Pending JP2002125228A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000316093A JP2002125228A (ja) 2000-10-17 2000-10-17 ディジタルデータの伸張システムおよび伸張方法
US09/977,334 US20020065665A1 (en) 2000-10-17 2001-10-16 Digital data decompressing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000316093A JP2002125228A (ja) 2000-10-17 2000-10-17 ディジタルデータの伸張システムおよび伸張方法

Publications (1)

Publication Number Publication Date
JP2002125228A true JP2002125228A (ja) 2002-04-26

Family

ID=18795088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000316093A Pending JP2002125228A (ja) 2000-10-17 2000-10-17 ディジタルデータの伸張システムおよび伸張方法

Country Status (2)

Country Link
US (1) US20020065665A1 (ja)
JP (1) JP2002125228A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040125951A1 (en) * 2002-12-26 2004-07-01 Sun Microsystems, Inc., A Delaware Corporation Bitstreaming for unreadable redundancy
US20060198518A1 (en) * 2004-04-07 2006-09-07 Sony Corporation Information processing device and information processing method
US8515741B2 (en) * 2004-06-18 2013-08-20 Broadcom Corporation System (s), method (s) and apparatus for reducing on-chip memory requirements for audio decoding
US20050286682A1 (en) * 2004-06-29 2005-12-29 General Electric Company Detector for radiation imaging systems
JP4111192B2 (ja) * 2004-12-28 2008-07-02 セイコーエプソン株式会社 メモリコントローラ、表示コントローラ及びメモリ制御方法
JP4586627B2 (ja) * 2005-05-18 2010-11-24 ソニー株式会社 データアクセス装置、データアクセス方法、プログラムおよび記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888739A (en) * 1988-06-15 1989-12-19 Cypress Semiconductor Corporation First-in first-out buffer memory with improved status flags
US4954988A (en) * 1988-10-28 1990-09-04 Rockwell International Corporation Memory device wherein a shadow register corresponds to each memory cell
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5325487A (en) * 1990-08-14 1994-06-28 Integrated Device Technology, Inc. Shadow pipeline architecture in FIFO buffer

Also Published As

Publication number Publication date
US20020065665A1 (en) 2002-05-30

Similar Documents

Publication Publication Date Title
US5805488A (en) Method and structure for degrouping MPEG audio codes
US7130952B2 (en) Data transmit method and data transmit apparatus
US5815421A (en) Method for transposing a two-dimensional array
US6915413B2 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
JPH07131785A (ja) ビデオ適用用の脱圧縮プロセサ
JPH11505640A (ja) ビット・スライス式テーブル・ルックアップ・デジタルたたみ込み
US5757432A (en) Manipulating video and audio signals using a processor which supports SIMD instructions
WO2007024413A2 (en) Transpose buffering for video processing
JPS6252392B2 (ja)
US5832445A (en) Method and apparatus for decoding of digital audio data coded in layer 1 or 2 of MPEG format
JP2002125228A (ja) ディジタルデータの伸張システムおよび伸張方法
US5777249A (en) Electronic musical instrument with reduced storage of waveform information
US8126952B2 (en) Unified inverse discrete cosine transform (IDCT) microcode processor engine
US5808923A (en) Denormalization device and method for multichannel audio decoder
KR20010021734A (ko) 악음 생성 장치 및 방법, 제공 매체, 및 데이터 기록 매체
KR100295304B1 (ko) Ic메모리를갖는멀티미디어컴퓨터
JPH0951276A (ja) デジタルデータ処理装置
EP1557826A2 (en) Synthesis subband filter for MPEG audio decoder and a decoding method thereof
JP3639424B2 (ja) アドレス発生回路
JP2002182693A (ja) オーディオ符号化、復号装置及びその方法並びにその制御プログラム記録媒体
JP3441613B2 (ja) 逐次型順序変換装置
JPH07235878A (ja) 可変長復号化器
JPH07210545A (ja) 並列処理プロセッサ
JP2004234407A (ja) データ処理装置
JP2007104155A (ja) 画像復号装置