JP3217576B2 - Integrated audio decoder device and operation method - Google Patents

Integrated audio decoder device and operation method

Info

Publication number
JP3217576B2
JP3217576B2 JP02272994A JP2272994A JP3217576B2 JP 3217576 B2 JP3217576 B2 JP 3217576B2 JP 02272994 A JP02272994 A JP 02272994A JP 2272994 A JP2272994 A JP 2272994A JP 3217576 B2 JP3217576 B2 JP 3217576B2
Authority
JP
Japan
Prior art keywords
data
audio
register
bit
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP02272994A
Other languages
Japanese (ja)
Other versions
JPH07143010A (en
Inventor
エル ラズコ フランク
バンバサ ジェラール
アール シア ケニス
エイチ リ スティーヴン
エル ローランズ ジョナサン
ワイ カム シュー
エル ウォーカー カレン
Original Assignee
テキサス インスツルメンツ インコーポレイテツド
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
Priority claimed from US08/054,127 external-priority patent/US5729556A/en
Priority claimed from US08/054,768 external-priority patent/US5657423A/en
Priority claimed from US08/054,126 external-priority patent/US5642437A/en
Application filed by テキサス インスツルメンツ インコーポレイテツド filed Critical テキサス インスツルメンツ インコーポレイテツド
Publication of JPH07143010A publication Critical patent/JPH07143010A/en
Application granted granted Critical
Publication of JP3217576B2 publication Critical patent/JP3217576B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、一般的には電子システ
ムの分野に関し、具体的には改良された集積オーディオ
デコーダシステム及び動作方法に関する。
FIELD OF THE INVENTION This invention relates generally to the field of electronic systems and, more particularly, to an improved integrated audio decoder system and method of operation.

【0002】[0002]

【従来の技術】映画専門家グループ ( Motion Picture
Experts Group : MPEG )は、ISO-11172 でオーディオ
(もしくは音響)及びビデオ(もしくは映像)放送のデ
ィジタル送信及び受信に使用する圧縮及び圧縮解除アル
ゴリズムのための MPEG オーディオ及びビデオ標準(以
後“ MPEG 標準”と称する)を公表した。 MPEG 標準
は、確立されている音響心理学モデルに従ってデータを
効率的に圧縮し、CD品質の音響及びビデオ画像の実時
間圧縮、圧縮解除、及び放送を可能にする。MPEG 標準
は、考え得る3つのデータ転送モードを提供する。第1
のモードは、オーディオ及びビジュアル(もしくは視
覚)データの他に、オーディオ及びビデオ部分の放送を
同期させるために使用される情報を含む。考え得るデー
タ伝送の第2のモードは、オーディオ情報、及びこのオ
ーディオ情報と並列動作しているビデオシステムとを同
期させるために使用できる情報を含む。考え得るデータ
伝送の第3の、そして最後のモードは、オーディオデー
タだけからなる。MPEG 圧縮/圧縮解除標準は、15 メ
ガビット/秒までの速度で受信し、処理しなければなら
ないデータストリームを用いる。 MPEG 圧縮解除動作を
実現するために使用されていた従来のシステムは、高価
なディジタル信号処理装置及び拡張された支援メモリを
必要としていた。間もなく MPEG オーディオ及びビデオ
標準がテレビジョン及びラジオ放送のための大規模伝送
システムに使用されるようになろう。
[Prior Art] Motion Picture Expert Group (Motion Picture
Experts Group: MPEG) is an ISO-11172 MPEG audio and video standard (hereinafter the "MPEG standard") for compression and decompression algorithms used for digital transmission and reception of audio (or audio) and video (or video) broadcasts. ). The MPEG standard efficiently compresses data according to established psychoacoustic models and enables real-time compression, decompression, and broadcast of CD-quality audio and video images. The MPEG standard offers three possible data transfer modes. First
The modes include audio and visual (or visual) data as well as information used to synchronize the broadcast of the audio and video portions. A second mode of possible data transmission includes audio information and information that can be used to synchronize this audio information with a video system operating in parallel. The third and last mode of possible data transmission consists only of audio data. The MPEG compression / decompression standard uses data streams that must be received and processed at rates up to 15 megabits / second. Previous systems used to implement MPEG decompression operations required expensive digital signal processors and extended support memory. Soon the MPEG audio and video standard will be used in large-scale transmission systems for television and radio broadcasts.

【0003】[0003]

【発明の概要】従って、プログラム可能なディジタル信
号処理装置の周囲に集中されているシステムに伴う費用
よりも低い費用で、定義された MPEG オーディオ圧縮解
除動作を遂行することができるシステムを実現する要望
が存在している。本発明の教示によれば、従来のシステ
ムに伴う欠陥を実質的に減少乃至は排除した集積オーデ
ィオデコーダシステムと、MPEG オーディオ圧縮解除動
作を実現する方法とが開示される。本発明の一実施例に
よるデータ処理システムは、マイクロプロセッサホスト
システムと、オーディオデコーダシステムと、ディジタ
ル・アナログ変換器とを備えている。オーディオデコー
ダは、符号化されたデータストリームを受信し、選択さ
れた符号化されたオーディオデータを抽出して復号し、
そしてデータを濾波してディジタル・アナログ変換器へ
入力データとして供給するように動作可能である。本発
明の代替実施例によるオーディオデコーダシステムは、
単一の半導体サブストレート上に実現されたシステムデ
コーダと、オーディオデコーダと、演算ユニットとを備
えている。システムデコーダは、符号化され圧縮ビット
ストリームを受信して、このビットストリームを形成す
るのに使用された圧縮アルゴリズムをシステムの残余部
分に指示する情報を抽出するように動作可能である。オ
ーディオデコーダは、このビットストリームを離散した
サンプル及びサブバンドフィルタ係数に変換するように
動作可能なマイクロ符号化エンジンを備えている。演算
ユニットは、サンプル及びサブバンドフィルタ係数を受
信して PCM データを生成し、このデータをシステムか
らの出力としてディジタル・アナログ変換器へ供給する
ように動作可能である。
SUMMARY OF THE INVENTION Accordingly, there is a need to provide a system capable of performing a defined MPEG audio decompression operation at a lower cost than that associated with a system centralized around a programmable digital signal processor. Exists. In accordance with the teachings of the present invention, an integrated audio decoder system is disclosed that substantially reduces or eliminates the deficiencies associated with conventional systems, and a method for implementing MPEG audio decompression operations. A data processing system according to one embodiment of the present invention includes a microprocessor host system, an audio decoder system, and a digital-to-analog converter. The audio decoder receives the encoded data stream, extracts and decodes the selected encoded audio data,
It is operable to filter the data and provide it as input data to a digital to analog converter. An audio decoder system according to an alternative embodiment of the present invention comprises:
It comprises a system decoder, an audio decoder, and an arithmetic unit implemented on a single semiconductor substrate. The system decoder is operable to receive the encoded compressed bitstream and extract information indicating to the remainder of the system the compression algorithm used to form the bitstream. The audio decoder includes a micro-coding engine operable to convert the bit stream into discrete samples and sub-band filter coefficients. The arithmetic unit is operable to receive the sample and subband filter coefficients, generate PCM data, and provide this data as an output from the system to a digital to analog converter.

【0004】添付図面に基づく以下の説明から、本発明
の技術的長所がより完全に理解されるであろう。添付図
面では同一の要素に対しては同一の番号を付してある。
[0004] The technical advantages of the present invention will be more fully understood from the following description with reference to the accompanying drawings. In the accompanying drawings, the same elements are denoted by the same reference numerals.

【0005】[0005]

【実施例】 本発明は、MPEG 構文を使用して符号化され、圧縮され
たデータのストリームを効率的に復号するように動作可
能なシステムからなる。データストリームの実時間処理
を達成するためには、本発明のシステムが 15 メガビッ
ト/秒までの可変ビットレートで伝送可能なビットスト
リームを受信でき、またそのビットストリーム内の他の
データと共に時分割されている特定のオーディオデータ
集合を識別し、検索することができなければならない。
次いでシステムは、検索されたデータを復号し、普通の
パルス符号変調 ( PCM )されたデータをディジタル・ア
ナログ変換器へ供給しなければならない。このディジタ
ル・アナログ変換器は、他のディジタルオーディオ技術
に比して遜色のない普通のアナログオーディオ信号を生
成する。本発明のシステムは、ビットストリーム内の同
期、及び復号されたオーディオデータと、この復号され
たオーディオデータと同時に提示しなければならない
(例えばオーディオに関連付けられ、ディジタル的に符
号化されたビデオ画像のような)他のデータストリーム
との間の同期をも監視しなければならない。更に、MPEG
データストリームは、システム制御情報として、もし
くは歌のタイトル等のような関連データを送信するため
に使用することができる補助データを含むこともでき
る。本発明のシステムは、この補助データを認識し、他
のシステムにその存在を警告しなければならない。一般的アーキテクチャ 図1に示すオーディオ復号システム10は、集積オーデ
ィオデコーダシステム14に結合されているマイクロプ
ロセッサホスト12を備えている。オーディオデコーダ
システム14は、マイクロプロセッサホスト12から直
列ビットストリームか、もしくはホスト12が直列デー
タを並列フォーマットに変換した後の並列データの何れ
かを受信する。何れの場合も、オーディオデコーダシス
テム14が受信するデータは、MPEG オーディオビジュ
アル圧縮アルゴリズムを使用して符号化されているオー
ディオ及びビジュアルデータからなっている。オーディ
オデコーダシステム14は、そのビットストリームのオ
ーディオ部分のフーマットを指示する適切な情報を検索
し、この情報を使用してオーディオデータを復号してパ
ルス符号変調 ( PCM )されたデータを生成し、図1に示
すディジタル・アナログ変換器16へ出力する。
EXAMPLES Introduction The present invention is encoded by using the MPEG syntax, comprising a stream of compressed data from system operable to efficiently decoded. To achieve real-time processing of a data stream, the system of the present invention can receive a bit stream that can be transmitted at a variable bit rate up to 15 Mbit / s, and is time-shared with other data in the bit stream. It must be able to identify and retrieve the particular audio data set that is present.
The system must then decode the retrieved data and provide ordinary pulse code modulated (PCM) data to the digital-to-analog converter. This digital-to-analog converter produces a normal analog audio signal that is comparable to other digital audio technologies. The system of the present invention must present the synchronized and decoded audio data in the bitstream and the decoded audio data simultaneously (eg, of the digitally encoded video image associated with the audio). The synchronization with other data streams must also be monitored. Furthermore, MPEG
The data stream may also include auxiliary data that can be used as system control information or to transmit related data such as song titles and the like. The system of the present invention must recognize this auxiliary data and alert other systems of its existence. General Architecture The audio decoding system 10 shown in FIG. 1 includes a microprocessor host 12 coupled to an integrated audio decoder system 14. Audio decoder system 14 receives either a serial bit stream from microprocessor host 12 or parallel data after host 12 converts the serial data to a parallel format. In each case, the data received by audio decoder system 14 comprises audio and visual data that has been encoded using an MPEG audio-visual compression algorithm. The audio decoder system 14 retrieves the appropriate information indicating the format of the audio portion of the bitstream and uses this information to decode the audio data to produce pulse code modulated (PCM) data. 1 to the digital / analog converter 16 shown in FIG.

【0006】本発明の一実施例によれば、オーディオデ
コーダシステム14は単一の半導体サブストレート上の
モノリシック構造として形成されている。オーディオデ
コーダシステム14は、マイクロプロセッサホスト12
からの制御信号と、符号化されたビットストリームとを
受信するホストインタフェースブロック18を備えてい
る。ホストインタフェースブロック18は、符号化され
たビットストリームをシステムデコーダブロック20へ
渡す。ホストインタフェースブロック18は、マイクロ
プロセッサホスト12への、及びホスト12からの、圧
縮されたオーディオデータ及び制御情報の両者のための
全ての通信の経路を指定する。ホストインタフェースブ
ロック18は、例えば、普通の8ビットマイクロプロセ
ッサインタフェースと、直接メモリアクセス( DMA ) イ
ンタフェースと、直列データ入力インタフェースと、複
数の制御線とからなることができる。またホストインタ
フェースブロック18は、割込み信号をマイクロプロセ
ッサホスト12へ通信するが、この件の詳細に関しては
後述する。圧縮されたオーディオストリームは3つのモ
ードの1つを使用して入力することができる。この入力
は、ホストインタフェースブロック18の直列データ入
力を通る直列ビットストリームとすることができる。更
に、データは、ホストインタフェースブロック18に結
合されている8データピン上にバイト並列フォーマット
で入力することもできる。並列データ
In accordance with one embodiment of the present invention, audio decoder system 14 is formed as a monolithic structure on a single semiconductor substrate. The audio decoder system 14 includes a microprocessor host 12
And a host interface block 18 for receiving a control signal from the controller and an encoded bit stream. The host interface block 18 passes the encoded bit stream to the system decoder block 20. The host interface block 18 routes all communications to and from the microprocessor host 12 for both compressed audio data and control information. Host interface block 18 may comprise, for example, a conventional 8-bit microprocessor interface, a direct memory access (DMA) interface, a serial data input interface, and a plurality of control lines. The host interface block 18 communicates the interrupt signal to the microprocessor host 12, which will be described later in detail. A compressed audio stream can be input using one of three modes. This input can be a serial bit stream through the serial data input of host interface block 18. Further, data may be input in a byte-parallel format on eight data pins coupled to host interface block 18. Parallel data

【0007】[0007]

【外1】 マイクロプロセッサホスト12による普通の DMA に類
似している。もし並列データを DATA IN レジスタ内
へ書込むのであれば、各バイトが普通のレジスタアドレ
ス指定を使用してアクセスされる前に、データをアドレ
ス指定しなければならない。ホストインタフェースブロ
ック18によって受信される圧縮されたデータは、3つ
のフォーマットの1つであることができる。このフォー
マットは、制御状態レジスタブロック22内の2ビット
STR SEL レジスタの内容を変更することによって、ホ
スト12により制御される。圧縮されたデータストリー
ムは、MPEGオーディオ情報だけ、 MPEG オーディオパケ
ット、もしくは1またはそれ以上のオーディオ及びビデ
オストリームを含むことができる完全多重化された MPE
G システムストリームからなることができる。完全多重
化された MPEG システムストリームの場合には、付加的
な制御レジスタがオーディオ識別フィールドの復号を動
作可能にしたり、動作不能にしたりする。もしこの機能
が動作可能にされれば、MPEG システムストリーム内の
識別フィールドが AUD ID レジスタの内容と比較さ
れ、識別フィールドが整合すればオーディオだけが復号
される。一般的に言えば、制御状態レジスタブロック2
2内のレジスタは、マイクロプロセッサホスト12によ
って書込まれてオーディオデコーダシステム14の動作
を制御する。オーディオ識別機能を動作可能にしたり、
動作不能にしたりするのは、この制御の一例である。
[Outside 1] It is similar to ordinary DMA by the microprocessor host 12. If parallel data is DATA If writing into the IN register, the data must be addressed before each byte can be accessed using normal register addressing. The compressed data received by host interface block 18 can be in one of three formats. This format corresponds to two bits in the control status register block 22.
STR It is controlled by the host 12 by changing the contents of the SEL register. The compressed data stream can be MPEG audio information alone, MPEG audio packets, or a fully multiplexed MPE that can contain one or more audio and video streams.
G Can consist of system streams. In the case of a fully multiplexed MPEG system stream, an additional control register enables or disables decoding of the audio identification field. If this feature is enabled, the identification field in the MPEG system stream will be AUD It is compared with the contents of the ID register, and if the identification field matches, only the audio is decoded. Generally speaking, the control status register block 2
The registers in 2 are written by the microprocessor host 12 to control the operation of the audio decoder system 14. Enable the audio identification function,
Disabling operation is an example of this control.

【0008】[0008]

【外2】 SADDR を使用して制御状態レジスタブロック22内の
レジスタにアクセスする
[Outside 2] Access registers in control status register block 22 using SADDR

【0009】[0009]

【外3】 ロック22内の制御状態レジスタの省略時セッティング
は存在しない。集積オー
[Outside 3] There is no default setting of the control status register in lock 22. Accumulation

【0010】[0010]

【外4】 ジスタブロック22内の RESET レジスタへホスト書込
みすることによってリセットすることができる。何れの
場合も、集積オーディオデコーダシステム14内の割込
みバッファ及び全てのデータバッファはクリアされる。
システムデコーダブロック20は、ビットストリームか
ら適切な符号化されたデータを識別し、検索して、この
情報を図1に示す入力バッファ24内へロードする。入
力バッファ24は、オーディオデコーダシステム14内
の残余の構造と同一の半導体サブストレート上に配置さ
れており、そのことから比較的小さいものである。本発
明の重要な長所は、例えばダイナミックランダムアクセ
スメモリ( DRAM )からなることができる外部バッファ2
6を付加することによって、システムの記憶容量を増強
できるという事実によって得られる。外部バッファ26
を付加することによって、集積オーディオデコーダシス
テム14はビデオ復号システムと共に動作可能になる。
ビデオ情報の復号にはオーディオ情報の復号よりも遥か
に長い時間を必要とするので、オーディオ復号システム
10とビデオ復号システムとを一緒に動作させる場合に
は、オーディオ復号システム10は復号プロセスに遅延
を挿入できなければならない。外部バッファ26はオー
ディオデコーダシステム14が留まることを可能にし、
それによってビデオ復号が進行できるようにする。更
に、外部バッファ26は、それが誤りを全く含まない最
後のオーディオ情報フレームを記憶する能力を有してい
れば、オーディオデコーダシステム14が極めて巧妙な
誤り隠し戦略を遂行することをも可能にする。もし外部
バッファ26が使用可能であれば、オーディオデコーダ
システム14はオーディオ情報の最後の良好なフレーム
( last good frame : LGF ) を再生し、伝送プロセス中
に劣化した中間フレームを隠すことができる。集積オー
ディオデコーダシステム14は、外部バッファ26が存
在するか否かを自動的に検出し、それに相応して誤り隠
し戦略を調整する。換言すれば、もし最後の劣化してい
ないフレームを記憶するための記憶容量が存在すれば、
集積オーディオデコーダシステム14はその容量の長所
を取入れてより巧妙な誤り隠し戦略を実現するのであ
る。
[Outside 4] It can be reset by host writing to the RESET register in the register block 22. In either case, the interrupt buffer and all data buffers in integrated audio decoder system 14 are cleared.
The system decoder block 20 identifies and retrieves the appropriate encoded data from the bitstream and loads this information into the input buffer 24 shown in FIG. The input buffer 24 is located on the same semiconductor substrate as the rest of the structure in the audio decoder system 14, and is therefore relatively small. An important advantage of the present invention is that the external buffer 2 can be comprised, for example, of dynamic random access memory (DRAM).
6 is obtained by the fact that the storage capacity of the system can be increased. External buffer 26
The integrated audio decoder system 14 is operable with a video decoding system.
Since decoding video information requires much longer time than decoding audio information, when operating the audio decoding system 10 and the video decoding system together, the audio decoding system 10 adds a delay to the decoding process. Must be able to insert. The external buffer 26 allows the audio decoder system 14 to stay,
This allows video decoding to proceed. In addition, the external buffer 26 also allows the audio decoder system 14 to perform a very sophisticated error concealment strategy if it has the ability to store the last audio information frame that contains no errors. . If the external buffer 26 is available, the audio decoder system 14 will output the last good frame of audio information.
(last good frame: LGF) to hide intermediate frames that have deteriorated during the transmission process. Integrated audio decoder system 14 automatically detects whether external buffer 26 is present and adjusts the error concealment strategy accordingly. In other words, if there is storage capacity to store the last undegraded frame,
Integrated audio decoder system 14 takes advantage of its capacity to implement a more sophisticated error concealment strategy.

【0011】符号化されたオーディオデータは、入力バ
ッファ24及び外部バッファ26からオーディオデコー
ダブロック28によって検索される。オーディオデコー
ダブロック28はプログラム可能な演算論理ユニット(
ALU ) を備えている。このユニットは、バッファ24及
び26からビットストリームを検索し、そのビットスト
リームを断ち切って符号化及び圧縮プロセスに使用した
サブバンドに関連付けられた符号化されたサンプルにす
る。またオーディオデコーダブロック28は、最終 PCM
出力データを生成するために使用されたサブバンドフィ
ルタ係数をも検索する。 符号化及び圧縮フォーマット
中に、オーディオ情報は PCM オーディオからフレーム
と呼ばれる単位のサブバンドデータに変換される。フレ
ームは、設定された間隔の(例えば 24 ミリ秒程度のオ
ーディオ再生時間に対応する)実時間オーディオ情報か
らなる。フレームは 12 のブロックに細分されている。
データ伝送の一形状によれば、単一のブロックは3つの
組に細分される。各組は、32 のステレオサンプルから
なる。各サンプルは、16 もしくは 18 の何れかの情報
ビットであり、0 kHz 乃至 20 kHz にわたる周波数域
の概ね 750 Hz のサブバンド断片(もしくはスライス)
に対応する。これは、おおよそ可聴周波数範囲に対応し
ている。MPEG 圧縮アルゴリズムは、サンプルを先ずサ
ブバンドサンプルに変換し、次いで縮尺されたサンプル
が+1から−1までの範囲に入るようにそれらを正規化
もしくは「縮尺」( scale ) する。更に、各サンプル
は、可変数のビットを使用して特定のサンプルを符号化
することができる。例えば、若干の周波数帯域では、そ
の周波数帯域内の量子化雑音が人間の耳には聞こえない
ので、精密な 16 の全ビットを使用する必要はない。こ
れらの場合、より少数のビットを使用いてサンプルを符
号化することができる。オーディオデコーダブロック2
8はこれらのサンプルを 16 ビット値まで拡張し、これ
らのサンプルと、これらのサンプルに関連付けられた縮
尺係数索引値とを図1に示す演算ユニット(AU )バッフ
ァ30内に記憶する。縮尺係数索引値は、サブバンドデ
ータを「正規化解除」もしくは量子化解除するための縮
尺係数を検索するために使用することができる。演算ユ
ニットバッファ30は、図1に示すハードウェアフィル
タ演算ユニットブロック32へサンプル及び縮尺係数索
引を出力する。ハードウェアフィルタ演算ユニットブロ
ック32は、サブバンドサンプルを量子化解除し、変換
し、そして濾波して普通のPCMオーディオ情報を形成
することによって、16ビットからのオーディオ情報の復
号を完了させるように機能する。この PCM オーディオ
情報は図1に示す PCM バッファ34へ出力される。PC
M バッファ34は、PCM バッファ34からデータを検索
してそのデータを普通のディジタル・アナログ変換器1
6へ出力する PCM 出力ブロック36によってアクセス
される。
The encoded audio data is retrieved from an input buffer 24 and an external buffer 26 by an audio decoder block 28. The audio decoder block 28 includes a programmable arithmetic logic unit (
ALU). This unit retrieves the bitstream from buffers 24 and 26 and truncates the bitstream into coded samples associated with the subband used in the encoding and compression process. The audio decoder block 28 has the final PCM
It also retrieves the subband filter coefficients used to generate the output data. During encoding and compression formats, audio information is converted from PCM audio into subband data in units called frames. A frame consists of real-time audio information at set intervals (e.g., corresponding to an audio playback time on the order of 24 milliseconds). The frame is subdivided into 12 blocks.
According to one form of data transmission, a single block is subdivided into three sets. Each set consists of 32 stereo samples. Each sample is either 16 or 18 information bits and is a sub-band fragment (or slice) of approximately 750 Hz in the frequency range from 0 kHz to 20 kHz.
Corresponding to This roughly corresponds to the audible frequency range. The MPEG compression algorithm first converts the samples into subband samples, and then normalizes or "scales" the scaled samples so that they fall in the range of +1 to -1. Further, each sample may encode a particular sample using a variable number of bits. For example, in some frequency bands, the quantization noise in that frequency band is inaudible to the human ear, so there is no need to use all 16 precise bits. In these cases, the samples can be encoded using fewer bits. Audio decoder block 2
8 extends these samples to 16-bit values and stores these samples and the scale factor index values associated with these samples in an arithmetic unit (AU) buffer 30 shown in FIG. The scale factor index value can be used to search for a scale factor to "denormalize" or dequantize the subband data. The arithmetic unit buffer 30 outputs the sample and the scale coefficient index to the hardware filter arithmetic unit block 32 shown in FIG. The hardware filter operation unit block 32 functions to complete the decoding of the audio information from 16 bits by dequantizing, transforming and filtering the subband samples to form ordinary PCM audio information. I do. This PCM audio information is output to the PCM buffer 34 shown in FIG. PC
The M buffer 34 retrieves data from the PCM buffer 34 and converts the data to an ordinary digital-to-analog converter 1.
6 is accessed by a PCM output block 36 which outputs to

【0012】演算ユニットバッファ30から後段のオー
ディオデコーダシステム14の成分はハードワイヤード
システムからなる。MPEG データストリームが時分割さ
れているために、演算ユニットバッファ30から前段の
全成分は、ホストインタフェースブロック18が受信す
る未知の瞬時ビットレートを処理することができなけれ
ばならない。演算ユニットバッファ30は、PCM オーデ
ィオ情報をディジタル・アナログ変換器16へ定常的に
供給し続けることができるように、データストリームを
緩衝する。ディジタル・アナログ変換器16は 1.5 メ
ガビット/秒程度で PCM オーディオデータを要求す
る。一方、ホストインタフェースブロック18が受信す
るビットストリームの瞬時ビットレートは、MPEG 標準
では 15 メガビット/秒程度に高くすることができる。
PCM オーディオ情報をディジタル・アナログ変換器16
に定常的に供給し続けるために、オーディオデコーダシ
ステム14は、何等かの PCM データがディジタル・ア
ナログ変換器16へ出力されるまでに PCM バッファ3
4内に4ブロックのデータを挿入するのに十分なデータ
を復号する。この4ブロックのクッションを設けたため
に、PCM バッファ34は決して空にならず、また PCM
オーディオデータが常にディジタル・アナログ変換器1
6へ出力されるようになる。制御及び状態レジスタ 制御状態レジスタブロック22は、前述した DATA IN
レジスタを含んでいる。マイクロプロセッサホスト1
2は、メモリ写像モード中に DATA IN レジスタを使
用してデータをオーディオデコーダシステム14へ入力
することができる。制御状態レジスタブロック22は、
CRC 誤りを処理するためにオーディオデコーダシステム
14が使用する「誤り隠しモード」を指定する「CRC 誤
り隠しモード」もしくは CRC ECM レジスタをも含んで
いる。マイクロプロセッサホスト12は、CRC 検出を動
作不能にさせたり、CRC 誤りが検出された場合に出力を
沈黙( mute )させたり、CRC 誤りが検出された場合にオ
ーディオデータの最後の有効フレームを繰り返させた
り、もしくは CRC 誤りが検出された場合に何れかのフ
レームを飛ばさせたり( skip )するように、オーディオ
デコーダシステム14をプログラムすることができる。
The components of the audio decoder system 14 at the subsequent stage from the arithmetic unit buffer 30 comprise a hard wired system. Due to the time division of the MPEG data stream, all the preceding components from the arithmetic unit buffer 30 must be able to handle the unknown instantaneous bit rate received by the host interface block 18. The arithmetic unit buffer 30 buffers the data stream so that the PCM audio information can be continuously supplied to the digital-to-analog converter 16. Digital-to-analog converter 16 requires PCM audio data at around 1.5 Mbit / s. On the other hand, the instantaneous bit rate of the bit stream received by the host interface block 18 can be as high as 15 Mbit / sec in the MPEG standard.
PCM audio information to digital / analog converter 16
In order to keep supplying the PCM data to the digital / analog converter 16, the audio decoder system 14 controls the PCM buffer 3 until some PCM data is output to the digital / analog converter 16.
4. Decode enough data to insert 4 blocks of data into 4. Due to the provision of these four blocks of cushions, the PCM buffer 34 never emptied,
Audio data is always digital-to-analog converter 1
6 is output. Control and status register The control status register block 22 is a control IN
Contains registers. Microprocessor host 1
2 is DATA during memory mapping mode Data can be input to audio decoder system 14 using the IN register. The control status register block 22 includes:
"CRC error concealment mode" or CRC to specify "error concealment mode" used by audio decoder system 14 to process CRC errors Also includes ECM registers. The microprocessor host 12 may disable CRC detection, mute the output if a CRC error is detected, or repeat the last valid frame of audio data if a CRC error is detected. The audio decoder system 14 can be programmed to skip any frame if a CRC error is detected.

【0013】同様に、マイクロプロセッサホスト12
は、同期誤りを処理するためにオーディオデコーダシス
テム14が使用する「誤り隠しモード」を指定するの
に、制御状態レジスタブロック22内の「同期誤り隠し
モード」もしくは SINC ECM レジスタを使用する。同
期誤りが検出された場合に同期誤りを無視させるか、ま
たは主力を沈黙させたり、同期誤りが検出された場合に
オーディオデータの最後の有効フレームを繰り返させた
り、もしくは同期誤りが検出された場合に何れかのフレ
ームを飛ばさせたりするように、オーディオデコーダシ
ステム14に命令することができる。制御状態レジスタ
ブロック22内の PLAY レジスタは復号され
Similarly, the microprocessor host 12
Is used to specify the "error concealment mode" used by the audio decoder system 14 to handle synchronization errors. Use the ECM register. If a synchronization error is detected, the synchronization error is ignored, or the main error is silenced; if a synchronization error is detected, the last valid frame of the audio data is repeated, or a synchronization error is detected. The audio decoder system 14 may be instructed to skip any frame. The PLAY register in the control status register block 22 is decrypted.

【0014】[0014]

【外5】 力線の両者がマイクロプロセッサホスト12によって表
明されている場合に限り、オーディオデコーダシステム
14からオーディオデータを出力することが可能にな
る。PLAY レジスタの値が、沈黙させられたオーディオ
データ出力に影響を与えることはない。これに対して制
御状態レジスタブロック22内の MUTE レジスタは PCM
データの出力の沈黙を強制する。MUTE レジスタか、
もしくはオーディオデコーダシ
[Outside 5] Audio data can be output from the audio decoder system 14 only if both of the power lines are asserted by the microprocessor host 12. The value of the PLAY register does not affect the silenced audio data output. On the other hand, the MUTE register in the control status register block 22 is PCM
Force silence of data output. MUTE register or
Or audio decoder

【0015】[0015]

【外6】 表明されている場合には、オーディオデコーダシステム
14からの出力は沈黙させられる。出力データの沈黙
が、オーディオデコーダシステム14内で行われている
復号プロセスに影響を与えることはない。マイクロプロ
セッサホスト12は、SKIP レジスタを使用して次のオ
ーディオフレームを飛ばすようにオーディオデコーダシ
ステム14に命令することができる。次のオーディオフ
レームを飛ばした後に、オーディオデコーダシステム1
4は REPEAT レジスタをリセットする。REPEAT レジス
タは、入力バッファ24もしくは外部バッファメモリ2
6の容量が十分である場合に限って活動になる。前述し
たように、制御状態レジスタブロック22内の RESET
レジスタはオーディオデコーダシステム14をリセット
[Outside 6] If asserted, the output from audio decoder system 14 is silenced. The silence of the output data does not affect the decoding process taking place within the audio decoder system 14. The microprocessor host 12 can instruct the audio decoder system 14 to skip the next audio frame using the SKIP register. After skipping the next audio frame, the audio decoder system 1
4 resets the REPEAT register. The REPEAT register stores the input buffer 24 or the external buffer memory 2
Only if the capacity of 6 is enough, it becomes active. As described above, RESET in the control status register block 22
Register resets audio decoder system 14

【0016】[0016]

【外7】 入力線の何れかが表明されるとリセットされる。このリ
セットにより、割込み(INTR )レジスタがリセットさ
れ、全てのデータバッファがフラッシュ (flush )され
る。更に、リセット時にオーディオデコーダシステム1
4は、外部バッファ26(もし存在していれば)を探知
し、その大きさを調べる。制御状態レジスタブロック2
2内の RESTART レジスタは、制御レジスタに影響を与
えることなくオーディオデコーダシステム14に全ての
データバッファをフラッシュさせる。マイクロプロセッ
サホスト12は、制御状態レジスタブロック22内のス
トリング選択即ち STR SEL レジスタを使用して任意の
1時点におけるビットストリームの MPEG フォーマット
を識別する。本発明の集積システムの重要な技術的長所
は、リセットを必要とすることなく異なるビットストリ
ームフォーマット間を切り換えるその能力にある。MPEG
オーディオ圧縮/圧縮解除標準によれば、ビットスト
リームのフォーマットが変化した場合にはシステムをリ
セットすることが許される。たとえフォーマットがこの
ようなリセットを許したとしても、本発明のシステムは
フレーム単位で、実時間で復号プロセスを変化させる独
特の能力を有している。制御状態レジスタブロック22
内の「オーディオ識別可能化」もしくは AUD ID EN
レジスタは、上述したオーディオストリーム識別機能を
動作可能にしたり、もしくは動作不能にしたりする。
「オーディオ識別」もしくは AUD ID レジスタは5ビ
ットのレジスタであり、MPEG システム層内の復号すべ
き1乃至 32 の考え得るオーディオストリームを指定す
る。このレジスタは、もしオーディオストリーム識別機
能が動作可能にされていなければ無視される。
[Outside 7] Reset when any of the input lines are asserted. This reset resets the interrupt (INTR) register and flushes all data buffers. Further, at the time of reset, the audio decoder system 1
4 detects the external buffer 26 (if present) and checks its size. Control status register block 2
The RESTART register in 2 causes the audio decoder system 14 to flush all data buffers without affecting the control registers. The microprocessor host 12 selects the string selection or STR in the control status register block 22. Use the SEL register to identify the MPEG format of the bit stream at any one time. An important technical advantage of the integrated system of the present invention is its ability to switch between different bitstream formats without requiring a reset. MPEG
The audio compression / decompression standard allows the system to be reset if the format of the bitstream changes. Even if the format allows such a reset, the system of the present invention has the unique ability to change the decoding process in real time on a frame-by-frame basis. Control status register block 22
"Audio identification enabled" or AUD ID EN
The register enables or disables the audio stream identification function described above.
"Audio identification" or AUD The ID register is a 5-bit register that specifies one to 32 possible audio streams to be decoded in the MPEG system layer. This register is ignored if the audio stream identification function has not been enabled.

【0017】マイクロプロセッサホスト12は「PCM 順
序」もしくは PCM ORD レジスタを使用して、PCM 出力
データの順序を指定する。このレジスタは最初に出力す
るのは各 PCM サンプルの最上位ビットか、もしくは最
下位ビットかを指定する。「同期状態」もしくは SYNC
ST レジスタは、オーディオデコーダシステム14の
同期状態を通信する絶えず更新されるレジスタである。
システムは、同期にロックしている、ロックしていな
い、もしくはロックしていないで同期を回復しようと試
みている、の何れかであり得る。制御状態レジスタブロ
ック22内の「同期ロック」もしくは SYNC LCK レジ
スタは、システム14自体がロックされた状態であると
見做すことができるようになるまでに、見出さなければ
ならない十分な同期語の数を指定する。圧縮された入力
ビットストリームは、復号プロセスが正確に発生するよ
うになるまでに同期されていなければならない。同期
は、符号化の際にデータストリーム内に挿入される同期
語を探すことによって達成される。同期は、オーディオ
フレームと、システム層レベル(もしこの層が存在する
ならば)とにおいて遂行されなければならない。オーデ
ィオデコーダシステム14は初期始動時に、及びデータ
ストリーム内の誤りのために同期が失われると何時で
も、同期取得を遂行する。同期取得に使用されるデータ
を探知するために用いられるプロセスに関しては、図2
に基づくシステムデコーダブロック20の説明の際に詳
述する。
The microprocessor host 12 has a "PCM order" or PCM order. Use the ORD register to specify the order of the PCM output data. This register specifies whether the first output is the most or least significant bit of each PCM sample. "Synchronous state" or SYNC
The ST register is a constantly updated register that communicates the synchronization state of the audio decoder system 14.
The system may be either locked to synchronization, unlocked, or attempting to recover synchronization without locking. “Synchronous lock” or SYNC in the control status register block 22 The LCK register specifies the number of sufficient sync words that must be found before system 14 itself can be considered locked. The compressed input bitstream must be synchronized before the decoding process can occur correctly. Synchronization is achieved by looking for a synchronization word that is inserted into the data stream during encoding. Synchronization must be performed at the audio frame and at the system layer level (if this layer is present). Audio decoder system 14 performs synchronization acquisition at initial start-up and whenever synchronization is lost due to errors in the data stream. For the process used to locate the data used for synchronous acquisition, see FIG.
This will be described in detail when describing the system decoder block 20 based on.

【0018】制御状態レジスタブロック22内の HEADE
R レジスタは 20 ビットのレジスタであり、現在復号中
のフレームの見出しを記憶するために使用される。33
ビットの PTS レジスタも制御状態レジスタブロック2
2内に含まれており、現在復号中のフレームに関連付け
られた提示(もしくはプレゼンテーション)タイムスタ
ンプ(time stamp)を含む。制御状態レジスタブロック
22内の 15 ビットのレジスタである「バッファ」もし
くは BUFF レジスタは、 32 ビット語インクリメントで
入力バッファ内に保持中のデータの量を含む。このレジ
スタ内の値は、32 ビットのデータが入力バッファ24
へ書込まれる毎に更新される。制御状態レジスタブロッ
ク22内の BALE LIM レジスタは 15 ビットのレジス
タであり、マイクロプロセッサホスト12はこのレジス
タを使用して入力バッファ24の「殆ど一杯」限界を設
定する。同様に、マイクロプロセッサホスト12は BAL
E LIM レジスタを使用して入力バッファ24の「殆ど
空」限界を設定する。制御状態レジスタブロック22内
の「補助データ」レジスタもしくは ANC レジスタはデ
ータストリーム内の補助データの最後の 32 ビットを保
持する 32 ビットの FIFO (もしくは、先入れ先出し)
レジスタである。MPEG 標準では、同一データストリー
ム内にオーディオ及びビデオデータとして補助データを
伝送することを許している。補助データレジスタはシス
テムの活動を監視し、制御するために使用でき、そのた
めオーディオデコーダシステム14は注意深く処理しな
ければならない。補助データバッファは、一杯になった
時にビット単位で新しいデータと置換することができ、
または補助データが ANC レジスタから読出されるか、
もしくは割込みがマスクされるまで、マイクロプロセッ
サホスト12への一杯割込みを生成してオーディオデー
タのさらなる処理を停止させることもできる。ANC AV
レジスタは、ANC レジスタ内の使用可能な補助データ
のビット数を保持する。ANC AV レジスタは、ANC レ
ジスタが読出される前にマイクロプロセッサホスト12
によって読出されなければならない。
HEADE in the control status register block 22
The R register is a 20-bit register, currently being decoded
Used to store the header of the frame. 33
Bit PTS register is also in control status register block 2.
2 and related to the frame currently being decoded
Presentation (or presentation) time stamp
Includes a time stamp. Control status register block
"Buffer", which is a 15-bit register in
Or BUFF register is a 32-bit word increment
Contains the amount of data held in the input buffer. This cash register
The value in the star is a 32-bit data
Updated each time it is written to Control status register block
BALE in ku 22 The LIM register is a 15-bit register
The microprocessor host 12
The “almost full” limit of the input buffer 24 using the
Set. Similarly, the microprocessor host 12
E Using the LIM register, the input buffer 24
Set the "empty" limit. In the control status register block 22
The “auxiliary data” register or ANC register
The last 32 bits of ancillary data in the data stream.
32-bit FIFO (or first-in first-out)
It is a register. In the MPEG standard, the same data stream
Auxiliary data as audio and video data in the system
Allows transmission. The auxiliary data register is
Can be used to monitor and control system activity
Audio decoder system 14
I have to. Auxiliary data buffer is full
Sometimes it can be replaced with new data bit by bit,
Or if auxiliary data is read from the ANC register,
Or the microprocessor until the interrupt is masked.
A full interrupt to the host 12 is generated and audio data is generated.
The further processing of the data can also be stopped. ANC AV
 Registers are the available auxiliary data in the ANC registers
Holds the number of bits. ANC AV register is ANC register.
Before the register is read, the microprocessor host 12
Must be read by

【0019】オーディオデコーダシステム14は、圧縮
されたオーディオビットストリームに外部的に同期され
ているクロック入力 ( PCM CLK ) を使用する。このク
ロック信号は、実際の PCM 出力ビットレートであって
もよいし、もしくはそのビットレートの整数倍であって
もよい。オーディオデコーダシステム14は、PCM CLK
入力を制御状態レジスタブロック22内に記憶されてい
る PCM DIV レジスタの値で除すことによって( PCM
CLK 入力から) 導出される。PCM DIV レジスタは 11
ビットのレジスタであり、1から 1,024 までの整数値
を記憶している。PCM CLK 入力から PCM ビットクロ
ックを導出することによって、オーバサンプリングディ
ジタル・アナログ変換器を使用することができる。LATE
NCY レジスタは、本発明の同期先取り機能を動作可能に
する効果を有するデコーダ待ち時間を選択するために使
用される。同期先取り機能が動作可能になると、オーデ
ィオデコーダシステム14はデータのフレームを復号す
る前に複数の同期語を検出する。制御状態レジスタブロ
ック22内の FREE FORM レジスタは 11 ビットのレ
ジスタであり、自由フォーマット復号が進行中である場
合にマイクロプロセッサホスト12はこのレジスタを使
用してフレーム長(もし既知であれば)を指定する。マ
イクロプロセッサホスト12は SIN EN レジスタを使
用して、オーディオデコーダシステム14内へ並列デー
タを入力させるのか、もしくは直列データを入力させる
のかを指定する。
The audio decoder system 14 uses a compression
Externally synchronized to the audio bitstream
Clock input (PCM CLK). This
The lock signal is the actual PCM output bit rate and
Or an integer multiple of that bit rate,
Is also good. The audio decoder system 14 uses PCM CLK
The input is stored in the control status register block 22.
PCM By dividing by the value of the DIV register (PCM
Derived from CLK input). PCM DIV register is 11
Register of bits, integer value from 1 to 1,024
I remember. PCM PCM bit clock from CLK input
The oversampling di
A digital-to-analog converter can be used. LATE
The NCY register enables the synchronous prefetch function of the present invention
Used to select the decoder latency that has the effect of
Used. Once the sync prefetch feature is operational, the audio
The audio decoder system 14 decodes a frame of data.
Before detecting multiple synchronization words. Control status register block
FREE in the lock 22 The FORM register is an 11-bit register.
If it is a register and free format decoding is in progress
In this case, the microprocessor host 12 uses this register.
To specify the frame length (if known). Ma
Microprocessor host 12 is SIN Use EN register
The parallel data into the audio decoder system 14
Data or input serial data
Is specified.

【0020】制御状態レジスタブロック22内の ATTEN
L レジスタ及び ATTEN R レジスタは各々6ビットの
レジスタであり、それぞれ左もしくは右チャネルの減衰
に関する0乃至 63 の整数値を保持するように機能す
る。これらのレジスタは復号及び圧縮解除プロセス中に
使用され、ステレオオーディオデータの左チャネルと右
チャネルとの間のバランスをプログラム可能にする。制
御状態レジスタブロック22内の PCM 18 レジスタ
は、PCM 出力ブロック36の出力の精細度を指定するた
めに使用される。出力の精細度は、16 ビットPCM 出力
もしくは 18 ビット PCM 出力の何れかを選択可能であ
る。PCM FSレジスタは2ビットのレジスタであり、サ
ンプリングレートを 32 kHz 、44.1 kHz、もしくは 48
kHz の何れかに指定する。DMPH レジスタは2ビットの
レジスタであり、オーディオストリームの符号化中に使
用されたデエンファシスのモードを指定する。SRC 及び
IRC レジスタは共に 33 ビットのレジスタであり、そ
れぞれシステム基準クロック値及び内部基準クロック値
を記憶するために使用される。IRC LOAD レジスタ
は、復号されたシステム基準クロック値を IRC レジス
タへロードする。
ATTEN in control status register block 22
L register and ATTEN The R registers are 6-bit registers each and function to hold an integer value between 0 and 63 for the left or right channel attenuation, respectively. These registers are used during the decoding and decompression processes to allow the balance between left and right channels of stereo audio data to be programmed. PCM in control status register block 22 The 18 register is used to specify the definition of the output of the PCM output block 36. The output definition can be either 16-bit PCM output or 18-bit PCM output. PCM The FS register is a 2-bit register that sets the sampling rate to 32 kHz, 44.1 kHz, or 48 kHz.
Specify one of kHz. The DMPH register is a two-bit register that specifies the mode of de-emphasis used during encoding of the audio stream. SRC and
The IRC registers are both 33-bit registers that are used to store the system reference clock value and the internal reference clock value, respectively. IRC The LOAD register loads the decoded system reference clock value into the IRC register.

【0021】DRAM EXT レジスタは、外部バッファ26
が存在するか否かを指定するために使用される。もし外
部バッファ26が存在しなければ、256 バイトの内部入
力バッファ24だけが使用される。前述したように、こ
のレジスタ内の値はオーディオデコーダブロック28が
使用する(特にオーディオデコーダブロック28が誤り
が無く復号された最後のフレームを再生する能力を有し
ているか否かに依存して使用する)誤り隠し戦略を変化
させる。EOS レジスタは、ストリームコードの終わりを
検出したか否かを指示する。「割込み」もしくは INTR
レジスタは 16 ビットのレジスタであり、種々の割込み
をマイクロプロセッサホスト12へ通信する。INTR レ
ジスタのビット0は、オーディオデコーダシステム14
の同期状態に変化が発生するとセットされる。INTR レ
ジスタのビット1は、有効見出し(header)がオーディ
オデコーダシステム14によって登録されるとセットさ
れる。INTR レジスタのビット2は、有効提示タイムス
タンプがオーディオデコーダシステム14によって登録
されるとセットされる。INTR レジスタのビット3は、
入力バッファが前述した BALE LIM レジスタ内に記憶
されている殆ど空限界以下になるとセットされる。INTR
レジスタのビット4は、入力バッファが前述した BAL
E LIM レジスタ内に記憶されている殆ど一杯限界を超
えるとセットされる。INTR レジスタのビット5は、CR
C 誤りが検出されるとセットされる。INTR レジスタの
ビット6は、補助データがオーディオデコーダシステム
14によって登録されるとセットされる。INTRレジスタ
のビット7は、補助レジスタが一杯になるとセットされ
る。INTR レジスタのビット7がセットされると、その
補助データがマイクロプロセッサホスト12によって読
出されるか、もしくはを割込みビット7がマスクされる
まで、さらなる補助データを補助データ FIFO 内へ配置
することが禁止される。INTRレジスタのビット8は、PC
M バッファ34が下位けたあふれ状態になるとセットさ
れる。INTR レジスタのビット9は、ビットストリーム
のサンプリング周波数が変化するとセットされる。同様
に、 INTR レジスタのビット10は、ビットストリーム
のデエンファシスモードが変化するとセットされる。IN
TR レジスタのビット11は、ストリーム文字の終わり
が検出されるとセットされる。INTR ENレジスタは、IN
TR レジスタに対応する 16 ビットのレジスタである。
INTR EN レジスタの何れかの位置が1になると、INTR
レジスタ内のそれに対応するビットが可能にされる。システムデコーダブロック 図2は、システムデコーダブロック20のより詳細な回
路図である。図2に示すように、システムデコーダブロ
ック20はホストインタフェースブロック18からのデ
ータを FIFO 38内に受信する。 FIFO 38は5つの8
ビット語を記憶することができる。 FIFO 38の底の語
はシフトレジスタ40内へロードされる。次いでこのデ
ータは、一時に1ビットずつシフトレジスタ40からシ
フタ検出器42内へけた送り(もしくはシフト)され
る。システムデコーダブロック20が受信したデータ
は、検出しなければならない種々のデータシーケンスを
含んでいる。これらのデータシーケンスは可変長であ
り、従ってデータはシフタ検出器42において一時に1
ビットずつ調べなければならない。シフトレジスタ40
は制御論理ブロック46を通して制御カウンタ50によ
って制御される。シフトレジスタ40内にどれ程多くの
ビットが残されているかを追跡するためにシフタカウン
タ44が使用されている。図2に示すように、シフタカ
ウンタ44、シフトレジスタ40、及びシフタ検出器4
2は全て制御論理ブロック46によって制御される。
DRAM The EXT register is stored in the external buffer 26
Used to specify if is present. If outside
If the internal buffer 26 does not exist, a 256-byte internal input
Only the force buffer 24 is used. As mentioned earlier,
The value in the register of
Used (especially when the audio decoder block 28
Has the ability to play the last frame decoded without
Change the error concealment strategy (used depending on whether or not
Let it. The EOS register marks the end of the stream code.
Indicate whether it has been detected. "Interrupt" or INTR
The register is a 16-bit register, and various interrupts
To the microprocessor host 12. INTR レ
Bit 0 of the register is
Is set when a change occurs in the synchronization state of. INTR レ
Bit 1 of the register indicates that the effective header is audio.
Set when registered by the decoder system 14
It is. Bit 2 of the INTR register is the valid presentation time
Tamp registered by audio decoder system 14
Set when done. Bit 3 of the INTR register is
The input buffer is BALE as described above Stored in LIM register
It is set when it is almost below the sky limit. INTR
 Bit 4 of the register is the BAL
E Almost full limit stored in LIM register
It is set when you get it. Bit 5 of the INTR register is set to CR
C Set when an error is detected. INTR register
Bit 6 indicates that the auxiliary data is an audio decoder system
Set when registered by 14. INTR register
Bit 7 is set when the auxiliary register is full
You. When bit 7 of the INTR register is set,
Ancillary data is read by the microprocessor host 12.
Issued or interrupt bit 7 is masked
Until the additional auxiliary data is placed in the auxiliary data FIFO
Is prohibited. Bit 8 of the INTR register is set to PC
Set when the M-buffer 34 enters the lower-order overflow state.
It is. Bit 9 of the INTR register is the bit stream
Is set when the sampling frequency changes. As well
Bit 10 of the INTR register is the bit stream
Is set when the de-emphasis mode changes. IN
Bit 11 of the TR register indicates the end of the stream character.
Is set when is detected. INTR The EN register is
This is a 16-bit register corresponding to the TR register.
INTR When any position of the EN register becomes 1, INTR
The corresponding bit in the register is enabled.System decoder block FIG. 2 shows a more detailed circuit of the system decoder block 20.
It is a road map. As shown in FIG.
The block 20 receives data from the host interface block 18.
Data into the FIFO 38. FIFO 38 has five 8
Bit words can be stored. The bottom word of FIFO 38
Are loaded into the shift register 40. Then this
Data from shift register 40 one bit at a time.
It is fed (or shifted) into the lid detector 42
You. Data received by the system decoder block 20
Will identify the various data sequences that must be detected
Contains. These data sequences are of variable length
Therefore, the data is shifted by the shifter detector 42 at one time.
You have to look it up bit by bit. Shift register 40
Is controlled by the control counter 50 through the control logic block 46.
Is controlled. How many in the shift register 40
Shifter counter to track if bits are left
Data 44 is used. As shown in FIG.
Counter 44, shift register 40, and shifter detector 4
2 are all controlled by the control logic block 46.

【0022】動作を説明する。次の予測されるデータフ
ィールドのビットの長さは制御カウンタ50内へロード
され、制御カウンタ50が0までデクレメントするまで
シフトレジスタ40は一時に1ビットずつシフタ検出器
42へけた送りする。シフタ検出器42は 33 ビット幅
である。シフタ検出器42へけた送りされたビット数の
複写を保持するためにシフタ複写レジスタ48が使用さ
れている。シフタ複写レジスタ48はビットストリーム
の終わりに使用され、さらなるデータを受信してシフタ
検出器42が完全にロードされるようになるまで、不完
全なデータシーケンスを一時的に記憶する。例えば、32
ビットのデータ構造の 16 ビットだけがシフタ検出器
42内へけた送りされた時にそのデータストリームが終
わりになる場合がある。32ビットのデータ構造の残余の
ビットが探知されるまで、これらの 16 ビットがシフタ
複写レジスタ48内へロードされるのである。残余のビ
ットが探知されると、シフタ複写レジスタ48の内容は
シフタ検出器42内へ再ロードされ、データ構造の残余
のビットがシフトレジスタ40からけた送りされる。シ
フタ複写レジスタ48は、制御カウンタ50及び制御カ
ウンタ複写レジスタ52を使用して制御される。
The operation will be described. The bit length of the next expected data field is loaded into the control counter 50 and the shift register 40 shifts one bit at a time to the shifter detector 42 until the control counter 50 decrements to zero. Shifter detector 42 is 33 bits wide. A shifter copy register 48 is used to hold a copy of the number of bits sent to the shifter detector 42. The shifter copy register 48 is used at the end of the bit stream to temporarily store the incomplete data sequence until further data is received and the shifter detector 42 is fully loaded. For example, 32
The data stream may end when only 16 bits of the bit data structure are shifted into the shifter detector 42. These 16 bits are loaded into shifter copy register 48 until the remaining bits of the 32-bit data structure are found. When the remaining bits are found, the contents of shifter copy register 48 are reloaded into shifter detector 42, and the remaining bits of the data structure are shifted out of shift register 40. The shifter copy register 48 is controlled using a control counter 50 and a control counter copy register 52.

【0023】シフタ検出器42が 32 ビットの情報を受
信すると、データは並列にバッファインタフェースブロ
ック54へロードされ、このデータは該ブロック54か
ら入力バッファ24もしくは外部バッファ26内へロー
ドすることができる。入力バッファ24内の何処へデー
タを書込むのかを指示するアドレスは、データアドレス
カウンタ56もしくは PTS アドレスカウンタ58から
検索される。通常のオーディオデータはデータアドレス
カウンタ56を使用してロードされる。このデータアド
レスカウンタ56はデータの各 32 ビット部分が入力バ
ッファ24内へ書込まれるとインクリメントされる。
「提示タイムスタンプ」は入力バッファ24の異なる部
分に記憶され、この部分は PTS アドレスカウンタ58
内の値によって指示される。制御論理ブロック46は、
システムデコーダブロック20の総合的な実行を制御す
る状態機械制御装置を備えている。制御論理ブロック4
6の第1の機能は、図2のブロック60で指示されてい
る開始コード検出を遂行することである。シフタ検出器
42は、例えば開始コードの構文として 23 個の0と、
それに続く特定のコードとを検出する。開始コードを検
出するとシフタ検出器42は、この事実を制御論理ブロ
ック46へ通信する。
When shifter detector 42 receives 32 bits of information, the data is loaded in parallel to buffer interface block 54, which can be loaded into input buffer 24 or external buffer 26. An address indicating where data is to be written in the input buffer 24 is retrieved from the data address counter 56 or the PTS address counter 58. Normal audio data is loaded using the data address counter 56. The data address counter 56 is incremented as each 32-bit portion of data is written into the input buffer 24.
The "presentation timestamp" is stored in a different part of the input buffer 24, which is stored in the PTS address counter 58.
Indicated by the value in The control logic block 46
It has a state machine controller that controls the overall execution of the system decoder block 20. Control logic block 4
The first function of 6 is to perform start code detection as indicated by block 60 in FIG. The shifter detector 42 outputs, for example, 23 0s as the syntax of the start code,
Detect the specific code that follows. Upon detecting the start code, shifter detector 42 communicates this fact to control logic block 46.

【0024】システムデコーダブロック20は、3つの
異なるモードのデータを復号することができる。データ
ストリームは、オーディオストリームであっても、パケ
ットストリームであっても、もしくは完全システムスト
リームであってもよい。システムデコーダブロック20
は、マイクロプロセッサホスト12によってセットされ
た STR SEL レジスタを読出すことによって、適切なモ
ードに対して構成される。オーディオだけのストリーム
の場合には、システムデコーダブロック20は単にデー
タを FIFO 38内に受信し、それをシフトレジスタ40
及びシフタ検出器42を通して直接入力バッファ24へ
渡すだけである。オーディオだけのストリームの場合に
は、システムデコーダブロック20は検出を遂行するこ
とはない。図2の制御論理ブロック46内の流れ図は、
残余の2つのモード、即ち、MPEGパケットストリームも
しくは MPEG 完全システムストリームの何れかにおける
システムデコーダブロック20の動作を示している。MP
EG 完全システムストリームの場合には、制御論理ブロ
ック46は図2のブロック62においてパック見出し及
びシステム基準クロックを探す。MPEG 標準によれば、
パックは複数のオーディオ及びビデオパケットと、提示
タイムスタンプ及びシステム基準クロックを含む同期情
報とを含む。パック内の各パケットはオーディオデータ
だけを、もしくはビデオデータだけを、提示タイムスタ
ンプと共に含む。完全システムモードでは、本発明のシ
ステムデコーダブロック20はパック及び SRC を復号
した後に段階64へ進み、システム見出し情報を復号す
る。次いで、本発明のシステムデコーダブロック20は
段階66においてパケット開始コードを探し始める。
The system decoder block 20 can decode data in three different modes. The data stream may be an audio stream, a packet stream, or a complete system stream. System decoder block 20
Is the STR set by the microprocessor host 12. Reading the SEL register configures for the appropriate mode. For an audio-only stream, the system decoder block 20 simply receives the data into the FIFO 38 and places it in the shift register 40.
And directly to the input buffer 24 through the shifter detector 42. For audio-only streams, system decoder block 20 does not perform detection. The flow diagram in the control logic block 46 of FIG.
The operation of the system decoder block 20 in the remaining two modes, either the MPEG packet stream or the MPEG complete system stream, is shown. MP
For an EG complete system stream, control logic block 46 looks for the pack header and system reference clock in block 62 of FIG. According to the MPEG standard,
The pack includes a plurality of audio and video packets and synchronization information including a presentation time stamp and a system reference clock. Each packet in the pack contains only audio data or only video data with a presentation timestamp. In the full system mode, the system decoder block 20 of the present invention proceeds to step 64 after decoding the pack and SRC to decode the system header information. The system decoder block 20 of the present invention then begins to look for a packet start code at step 66.

【0025】MPEG パケットストリーム、即ち第2の動
作モードの場合には、制御論理ブロック46は直接段階
66へ進んでパケット開始コードを探索し始める。本発
明のシステムは、ユーザがどのような手法を望んでも、
マイクロプロセッサホスト12と共に動作して復号タス
クを分割するように十分に柔軟である。もしマイクロプ
ロセッサホスト12が全ての復号タスクを遂行し、所望
のオーディオストリームだけをシステムデコーダブロッ
ク20へ送るのであれば、マイクロプロセッサホスト1
2は STR SEL レジスタを使用してデータを単に渡すこ
とをシステムデコーダブロック20に命令することがで
きる。これに対して、マイクロプロセッサホスト12は
システム復号機能を何等遂行することなく、全 MPEG シ
ステムストリームをシステムデコーダブロック20へ渡
すこともできる。この場合には、制御論理ブロック46
はデータのパックの始まりを検出し、パックの始まりを
検出すると、マイクロプロセッサホスト12に復号する
ように命令された所望のオーディオストリームのパケッ
ト見出し(header)を探索し始める。パケット見出し
は、図2の段階68において復号される。段階68は、
提示タイムスタンプをも復号し、パケット見出し内のタ
イムスタンプを復号する。MPEG 標準では、パケット見
出しは、補助データ、ビデオデータ、及び他のオーディ
オデータの間に多重化することができる1組のオーディ
オデータを識別するために使用される。段階68におい
て制御論理ブロック46は、オーディオ識別と、AUD
ID レジスタ内に記憶されている値とを比較し、探知し
たパケットが復号すべきオーディオストリームの一部分
であるか否かを決定する。もしそのパケットが復号すべ
きものであれば、制御論理ブロック46は図2の段階7
0へ進んでそのパケット内のデータを入力バッファ2
4、もしくは外部バッファ26(もし存在していれば)
内へ書込む。段階70においてはパケットデータバイト
計数がパケット見出しから抽出され、図2のパケットバ
イトカウンタ72内へロードされる。
In the case of an MPEG packet stream, ie, the second mode of operation, control logic block 46 proceeds directly to step 66 to begin searching for a packet start code. The system of the present invention, no matter what the user wants,
It is flexible enough to work with the microprocessor host 12 to split the decoding task. If the microprocessor host 12 performs all decoding tasks and sends only the desired audio stream to the system decoder block 20, the microprocessor host 1
2 is STR The system decoder block 20 can be instructed to simply pass data using the SEL register. In contrast, the microprocessor host 12 can pass the entire MPEG system stream to the system decoder block 20 without performing any system decoding function. In this case, the control logic block 46
Detects the beginning of a pack of data, and upon detecting the beginning of a pack, begins searching for a packet header in the desired audio stream that has been instructed by the microprocessor host 12 to decode. The packet header is decoded in step 68 of FIG. Step 68 is
It also decodes the presentation timestamp and decodes the timestamp in the packet header. In the MPEG standard, packet headers are used to identify a set of audio data that can be multiplexed between auxiliary data, video data, and other audio data. In step 68, the control logic block 46 determines the audio identification, AUD
A comparison is made with the value stored in the ID register to determine whether the detected packet is part of an audio stream to be decoded. If the packet is to be decoded, control logic block 46 proceeds to step 7 of FIG.
0 and the data in the packet is input to buffer 2
4, or external buffer 26 (if present)
Write in. In step 70, the packet data byte count is extracted from the packet header and loaded into the packet byte counter 72 of FIG.

【0026】システム基準クロックは、段階62におい
てパック見出し(header)から検索されて CRCレジスタ
内へロードされ、90 kHz のレートでインクリメントさ
れる。これによりオーディオデコーダシステム14は、
復号される各新しいパックを用いて更新される外部シス
テム基準クロックの複写を維持する。同様にして、段階
68においてパケット見出しから PTS が抽出され、入
力バッファ24内の PTS アドレスカウンタ58によっ
て指示されるアドレスにロードされる。提示タイムスタ
ンプは、システム基準クロックに対してオーディオ情報
の特定フレームを再生すべき時点を指示する。システム
デコーダブロック20は、少なくとも 0.07 秒置きにシ
ステム基準クロックと共にパック見出しを受信し、シス
テムの残余との正確な同期を維持する。本発明のシステ
ムは、システムデコーダブロック20へ送った全パケッ
トが復号すべき正しいオーディオストリームであること
を STR SEL レジスタの値に指示させるような任意選択
的な動作モードをも有している。この場合には、パケッ
ト見出しは段階68において識別されるが、パケット見
出し内のオーディオストリーム識別と、AUD ID レジ
スタ内に記憶されている値とを比較する必要はない。こ
れらの環境の下では、マイクロプロセッサホスト12も
しくは他の外部システムは、既にそのビットストリーム
を復号し、特定のオーディオストリームに関するパケッ
トを抽出し、そしてこれらのパケットをそれらのパケッ
ト見出しと共にオーディオデコーダシステム14へ送信
を済ましている。
The system reference clock is retrieved from the header at step 62 and loaded into the CRC register and incremented at a rate of 90 kHz. This allows the audio decoder system 14 to:
Maintain a copy of the external system reference clock that is updated with each new pack that is decoded. Similarly, at step 68, the PTS is extracted from the packet header and loaded into the input buffer 24 at the address indicated by the PTS address counter 58. The presentation timestamp indicates when to play a particular frame of audio information relative to the system reference clock. The system decoder block 20 receives the pack header with the system reference clock at least every 0.07 seconds and maintains accurate synchronization with the rest of the system. The system of the present invention determines that every packet sent to the system decoder block 20 is the correct audio stream to decode. It also has an optional mode of operation, as indicated by the value in the SEL register. In this case, the packet header is identified in step 68, but the audio stream identification in the packet header and the AUD There is no need to compare with the value stored in the ID register. Under these circumstances, the microprocessor host 12 or other external system already decodes the bitstream, extracts packets for a particular audio stream, and combines these packets with their packet headers into the audio decoder system 14. Has been sent to

【0027】段階70においては、パケット内のバイト
の数がシフタ検出器42からパケットバイトカウンタ7
2へロードされる。パケットバイトカウンタ72は、カ
ウンタの最下位端に3ビットの拡張を含んでいて、各ビ
ットがシフトレジスタ40によってけた送りされるとデ
クレメントできるようになっている。3ビットを拡張し
たことにより、パケットバイト計数をパケットビット計
数に変える効果がもたらされる。パケットバイトカウン
タ72は、ビット計数が全て0であることを検出する能
力を含む。パケットバイトカウンタ72の内容が全て0
である時には、制御論理ブロック46は段階60へ戻っ
て開始コードを探索する。制御論理ブロック46はスト
リームの終わりハンドラ(handler )74をも含む。パ
ケットの終わりに、制御論理ブロック46はデータスト
リーム内のストリームの終わりコードを探索する。もし
このコードが見出されれば、制御論理ブロック46は段
階60へ戻り、新しいパックに関して開始コード検出を
開始する。もしパケットの終わりに到達してもストリー
ムの終わりコードが存在しなければ制御論理ブロック4
6は段階66へ戻され、復号すべき次のパケットに関し
て次の適切な開始コードを探索する。ブロック74が段
階60乃至70と並列に示してあるのは、ストリームの
終わりがオーディオストリームの途中で非同期状態で提
示されるかも知れないからである。例えば、マイクロプ
ロセッサホスト12はストリームの終わり状態を送信し
て、以下に続くデータがストリームの終わりに先行する
データには無関係であることをオーディオデコーダシス
テム14に指示することができる。この場合、制御論理
ブロック46はシフタ検出器42内のデータを入力バッ
ファ24内へロードし、次いでデータアドレスの値をデ
ータアドレスカウンタ56内に保管する。
In step 70, the number of bytes in the packet is determined by the shifter detector 42 from the packet byte counter 7.
2 is loaded. The packet byte counter 72 includes a three-bit extension at the least significant end of the counter so that each bit can be decremented as shifted by the shift register 40. The extension of 3 bits has the effect of changing the packet byte count to a packet bit count. The packet byte counter 72 includes the ability to detect that the bit count is all zeros. All contents of the packet byte counter 72 are 0
If so, control logic block 46 returns to step 60 to search for a start code. Control logic block 46 also includes an end of stream handler 74. At the end of the packet, control logic block 46 looks for the end-of-stream code in the data stream. If this code is found, control logic block 46 returns to step 60 to begin detecting the start code for the new pack. If the end of the packet is reached but the end of stream code does not exist, control logic block 4
6 returns to step 66 to search for the next suitable start code for the next packet to be decoded. Block 74 is shown in parallel with steps 60-70 because the end of the stream may be presented asynchronously in the middle of the audio stream. For example, microprocessor host 12 may send an end-of-stream status to indicate to audio decoder system 14 that the data that follows is irrelevant to the data that precedes the end of the stream. In this case, control logic block 46 loads the data in shifter detector 42 into input buffer 24 and then stores the value of the data address in data address counter 56.

【0028】オーディオデコーダブロック28が、スト
リームの終わりコードのアドレスに位置しているデータ
にアドレスすることを試みる場合には、オーディオデコ
ーダブロック28は再始動を遂行してハードウェアフィ
ルタ演算ユニットブロック32をゼロ化させる。これに
より、ストリームの終わりに先行するデータがストリー
ムの終わり以降のデータに影響を与えることはなくな
る。もしストリームの終わり文字をマイクロプロセッサ
ホスト12から受信すれば、システムデコーダブロック
20はストリームの終わり処理を遂行する前に FIFO 3
8をクリアする。シフタA複写レジスタ48は、受信し
たデータストリームが 32 ビットより少なく、中間制御
情報がそのビットストリーム内にある時にそれらのデー
タビットをシフタA複写レジスタ48内に記憶するため
に使用される。例えば、フレームの終わりは、次のフレ
ームのフレーム見出しに先行する 32 ビットグループの
中の16 ビットだけしか含まないことがあり得る。これ
らの 16 ビットがシフタA複写レジスタ48内に記憶さ
れるのである。制御論理ブロック46は制御カウンタ5
0を使用してシフタ検出器42内の情報が完全な 32 ビ
ット値であるか否かを決定する。これは、数 32 を制御
カウンタ50内にロードし、次いで1つのビットがシフ
タ検出器42内へけた送りされる度に制御カウンタ50
をデクレメントさせることによって達成する。制御カウ
ンタ50が0に到達した時に、シフタ検出器42の内容
をバッファインタフェースブロック54へ並列にロード
する。シフタ検出器42内に 32 ビットより少ない不完
全な値が存在する場合には、制御カウンタ50の内容が
制御カウンタ複写レジスタ52内へ複写される。制御カ
ウンタ50は、見出しから指定されたビット長フィール
ドを検索するためにも使用される。例えば、もしシステ
ムパケット、パック、もしくはフレーム見出しから6ビ
ットフィールドを要求されれば、値6を制御カウンタ5
0内にロードし、シフトレジスタ40が新しいビットが
シフタ検出器42内へけた送りされる度にデクレメント
させる。制御カウンタ50が6から0まで計数してしま
うと、シフタ検出器42の内容はビットストリームから
の所望の6ビットを含むことになる。 オーディオデコーダブロック 図3はオーディオデコーダブロック28の考え得る一実
施例の回路図である。オーディオデコーダブロック28
は、マイクロプログラム読出し専用メモリ(もしくは R
OM )80を備え、この ROM 80は命令マルチプレク
サ84を通して命令パイプレジスタ82へ 18 ビットの
命令を供給する。命令マルチプレクサ84は、定数記憶
装置86、データバス88、及び累算器バス90からの
入力をも受信している。マイクロプログラム読出し専用
メモリ80は、プログラムカウンタ92内に記憶されて
いる値を使用してアクセスされる。プログラムカウンタ
92は、11 ビットのポインタをマイクロプログラム読
出し専用メモリ80内に記憶させる。プログラムカウン
タ92は、インクリメンタ96、定数記憶装置98、サ
ブルーチンスタック100、及び分岐バス102から入
力を受信するプログラムカウンタマルチプレクサ94を
通してロードされる。プログラムカウンタ92の出力
は、インクリメンタ96と、サブルーチンスタック10
0とに任意選択的にロードすることができる。定数記憶
装置98は、リセット及び再始動動作のためのアドレス
を記憶し、またオーディオデコーダブロック28の動作
中に分岐点をセットするために使用できる複数のプログ
ラム可能な区切り点を記憶する。命令マルチプレクサ8
4及びプログラムカウンタマルチプレクサ94は、実行
制御状態機械104によって制御される。
The audio decoder block 28
Data located at the end of the ream code
If you try to address
The coder block 28 performs a restart and sends a hardware file.
The filter operation unit block 32 is set to zero. to this
Data before the end of the stream
Data will not be affected since the end of the
You. If end of stream character is microprocessor
If received from host 12, system decoder block
20 is FIFO 3 before performing end-of-stream processing.
Clear 8 The shifter A copy register 48 receives
Data stream less than 32 bits, intermediate control
When information is in the bitstream,
To store the tabit in shifter A copy register 48
Used for For example, the end of the frame is
Of the 32-bit group preceding the
It can contain only the middle 16 bits. this
These 16 bits are stored in shifter A copy register 48.
It is done. The control logic block 46 includes the control counter 5
The information in the shifter detector 42 is
Determine whether the value is a cut value. This controls the number 32
Load into counter 50, then one bit is shifted
Each time the signal is fed into the detector 42, the control counter 50
Is achieved by decrementing Control cow
When the counter 50 reaches 0, the contents of the shifter detector 42
To the buffer interface block 54 in parallel
I do. Less than 32 bits incomplete in shifter detector 42
If all values exist, the contents of the control counter 50 are
Copied into control counter copy register 52. Control power
Counter 50 is the bit length field specified from the heading.
Also used to search for code. For example, if the system
6 packets from a packet, pack, or frame header
If a request field is required, the value 6 is added to the control counter 5
Load into 0 and shift register 40
Decremented every time it is fed into shifter detector 42
Let it. The control counter 50 counts from 6 to 0
The content of the shifter detector 42 is
Of the desired 6 bits. Audio decoder block FIG. 3 shows a possible implementation of the audio decoder block 28.
It is a circuit diagram of an example. Audio decoder block 28
Is the microprogram read-only memory (or R
OM) 80, and the ROM 80 is an instruction multiplex.
To the instruction pipe register 82 through the
Supply instructions. The instruction multiplexer 84 stores a constant.
From the device 86, data bus 88, and accumulator bus 90.
Input is also being received. Micro program read only
The memory 80 is stored in a program counter 92
Is accessed using the current value. Program counter
92 reads the 11-bit pointer by microprogram.
It is stored in the delivery-only memory 80. Program counsel
The counter 92 includes an incrementer 96, a constant storage device 98,
From the routine stack 100 and the branch bus 102
A program counter multiplexer 94 for receiving the
Loaded through. Output of program counter 92
Is the incrementer 96 and the subroutine stack 10
0 can optionally be loaded. Constant memory
Device 98 has addresses for reset and restart operations.
And the operation of the audio decoder block 28.
Multiple programs that can be used to set a fork in
Remember break points that can be rammed. Instruction multiplexer 8
4 and the program counter multiplexer 94
Controlled by control state machine 104.

【0029】オーディオデコーダブロック28が使用す
る 18 ビットの命令フォーマットは、演算論理ユニット
106を制御するために制御マルチプレクサ108を通
して送られる5ビットの命令を含む。制御マルチプレク
サ108は、命令パイプレジスタ82もしくは実行制御
状態機械104の何れかから5ビットの命令を受信す
る。演算論理ユニット106は 16 ビットの全機能演算
論理ユニットであって、累算器110に結合されている
累算器バス90から1つのオペランド(もしくは演算
数)を受信する。演算論理ユニット106の他方の入力
は、データバス88に結合されているデータレジスタ1
14から1つの入力を受信しているマルチプレクサ11
2から受ける。マルチプレクサ112の残余の入力は、
定数レジスタ118及びアドレスバス120から受信す
る。マルチプレクサ112は、定数レジスタ118及び
アドレスバス120から受信した値を連結することもで
きる。マルチプレクサ112は、実行制御状態機械10
4によって制御されている。マルチプレクサ112の出
力は、分岐バス102を通してプログラムカウンタマル
チプレクサ94の入力に結合されている。更に、マルチ
プレクサ112の出力はバイパスマルチプレクサ122
を通して累算器110に渡され、演算論理ユニット10
6をバイパスする経路を提供している。累算器110の
内容はマルチプレクサ124を通してデータバス88へ
転送することができる。累算器110は、32ビット長で
あるデータシフタ126からのビットを受信するように
動作することもできる。データシフタ126は、マルチ
プレクサ112を通してデータレジスタ114から 16
ビットインクリメントでロードすることができる。デー
タシフタ126はけた送りカウンタ128によって制御
され、けた送りカウンタ128は実行制御状態機械10
4によって制御される。データシフタ126からどれ程
多くのビットがけた送りされたかを追跡するために、6
ビットのロードカウンタ130を使用している。ロード
カウンタ130は実行制御状態機械104によって制御
される。ロードカウンタ130内の値はマルチプレクサ
124を通してデータバス88へ転送することができ
る。
The 18-bit instruction format used by audio decoder block 28 includes a 5-bit instruction sent through control multiplexer 108 to control arithmetic logic unit 106. Control multiplexer 108 receives a 5-bit instruction from either instruction pipe register 82 or execution control state machine 104. Arithmetic logic unit 106 is a 16-bit full-function arithmetic logic unit that receives one operand (or operand) from accumulator bus 90 coupled to accumulator 110. The other input of arithmetic logic unit 106 is connected to data register 1 coupled to data bus 88.
Multiplexer 11 receiving one input from 14
Receive from 2. The remaining inputs of multiplexer 112 are
It is received from the constant register 118 and the address bus 120. Multiplexer 112 may also concatenate values received from constant register 118 and address bus 120. Multiplexer 112 is used to control execution control state machine 10.
4. The output of multiplexer 112 is coupled to the input of program counter multiplexer 94 via branch bus 102. Further, the output of multiplexer 112 is a bypass multiplexer 122
Is passed to the accumulator 110 through the
6 is provided. The contents of accumulator 110 can be transferred to data bus 88 through multiplexer 124. Accumulator 110 may also operate to receive bits from data shifter 126 that are 32 bits long. The data shifter 126 receives the data from the data register 114 through the multiplexer 112.
It can be loaded in bit increments. The data shifter 126 is controlled by a shift counter 128, which shift control state machine 10
4. To keep track of how many bits are shifted out of data shifter 126,
A bit load counter 130 is used. The load counter 130 is controlled by the execution control state machine 104. The value in load counter 130 can be transferred to data bus 88 through multiplexer 124.

【0030】動作を説明する。オーディオデコーダブロ
ック28は、DRAM/SRAM 制御装置132及び DRAM イン
タフェース134を通して入力バッファ24から 32 ビ
ットのデータフィールドを受信する。 32 ビットのデー
タフィールドは 16 ビット順次読出し動作でアクセスさ
れる。処理データは演算ユニットバッファ30内へロー
ドされる。更に、演算ユニットバッファ30をスクラッ
チパッドメモリ(もしくは作業用記憶装置)として使用
し、データバス88を通して値を検索することができ
る。演算ユニットバッファ30は、アドレスマルチプレ
クサ136を通してアドレスバス120からアドレスさ
れる。アドレスマルチプレクサ136は、演算ユニット
バッファ30がオーディオデコーダブロック28によっ
てアクセスされるのか、もしくはハードウェアフィルタ
演算ユニットブロック32によってアクセスされるのか
を決定する。データバス88及びアドレスバス120は
それぞれ、制御状態レジスタブロック22に結合されて
いる。更に、データバス88及びアドレスバス120
は、CRC レジスタ、サブバンドカウンタ、ストリームの
終わりレジスタ等からなる特別レジスタブロック138
に結合されている。要するに、特別レジスタブロック1
38はオーディオデコーダシステム14が内部的に使用
するレジスタを含み、制御状態レジスタブロック22は
オーディオデコーダシステム14及びマイクロプロセッ
サホスト12の両者がアクセスするレジスタを含んでい
るのである。例えば特別レジスタブロック138は、復
号中のフレームの現見出しを記憶するレジスタを含む。
この見出しからの情報は、nBAL 及び BPCW 読出し専用
メモリテーブル140及び読出し専用メモリテーブル1
44にアクセスするために使用される。更に、特別レジ
スタブロック138は、サブバンド計数を記憶するレジ
スタを含む。このカウンタは、各サブバンドが動作させ
られるとインクリメントされる。サブバンド数はメモリ
140及び144にアクセスするためにも使用される。
更に、データレジスタ88、及びアドレスレジスタ12
0、及び累算器バス90は、オーディオビットストリー
ムの復号中に使用されるサンプル毎に割当てられている
ビットの数と、コードワード当たりのビット(ビット/
コードワード)に関する値を記憶するために使用される
nBAL 及び BPCW 読出し専用メモリテーブル140に結
合されている。
The operation will be described. Audio decoder block 28 receives a 32-bit data field from input buffer 24 through DRAM / SRAM controller 132 and DRAM interface 134. The 32-bit data field is accessed by a 16-bit sequential read operation. The processing data is loaded into the arithmetic unit buffer 30. Further, the arithmetic unit buffer 30 can be used as a scratch pad memory (or a working storage device) to retrieve a value through the data bus 88. The arithmetic unit buffer 30 is addressed from the address bus 120 through the address multiplexer 136. The address multiplexer 136 determines whether the arithmetic unit buffer 30 is accessed by the audio decoder block 28 or the hardware filter arithmetic unit block 32. Data bus 88 and address bus 120 are each coupled to control status register block 22. Further, the data bus 88 and the address bus 120
Is a special register block 138 consisting of CRC register, subband counter, end of stream register, etc.
Is joined to. In short, special register block 1
38 includes registers used internally by the audio decoder system 14, and the control status register block 22 includes registers accessed by both the audio decoder system 14 and the microprocessor host 12. For example, special register block 138 includes a register that stores the current header of the frame being decoded.
Information from this heading can be found in the nBAL and BPCW read-only memory tables 140 and 1
Used to access 44. Further, special register block 138 includes a register for storing the subband count. This counter is incremented as each subband is activated. The number of subbands is also used to access memories 140 and 144.
Further, the data register 88 and the address register 12
0, and the accumulator bus 90 provides the number of bits allocated per sample used during decoding of the audio bitstream and the number of bits per codeword (bits / bit).
Used to store values for codewords)
nBAL and BPCW are coupled to read only memory table 140.

【0031】データバス88及びアドレスバス120
は、256 の 16 ビット語を記憶するメモリからなるラン
ダムアクセスメモリスクラッチパッド142にも結合さ
れている。またデータバス88及びアドレスバス120
は、オーディオビットストリームの復号中に使用される
フレーム長及び他の定数を計算するために使用される値
を記憶する読出し専用メモリテーブル144にも結合さ
れている。動作を説明する。オーディオデコーダブロッ
ク28は、5ビットの命令フィールド、オペランド型を
指定する2ビットのフィールド、及び即値オペランドも
しくは正則または間接アドレス参照を含むことができる
11 ビットフィールドを有する 18 ビットのマイクロコ
ード命令を実行する。オーディオデコーダブロック28
は、以下の命令集合を実行して、入力バッファ24から
受信したビットストリームを復号するのに必要なルーチ
ンを遂行する。 命令簡 命令 Op. 型 (10) 動作の説明 略記号 ビット (00) (01) Indir. Reg. Imm. ADD 00000 y y y Acc + Op −> Acc SUB 00001 y y y Acc − Op −> Acc AND 00010 y y y Acc AND Op −> Acc OR 00011 y y y Acc OR Op −> Acc XOR 00100 y y y Acc XOR Op −> Acc GSYN 00101 y y y 同期語探索 SRL 01000 y y y 論理右けた送り Acc SLL 01001 y y y 論理左けた送り Acc SRC 01010 y y y 循環右けた送り Acc SRA 01011 y y y 算術右けた送り Acc GBT 01100 y y y 入力バッファ、または外部バッ ファからビットを入手 GBTC 01101 y y y 入力バッファ、または外部バッ ファからビットを入手し、CRC 検査 GBTF 01110 y y y シフタをフラッシュ/ 入力バッ ファ、または外部バッファから ビットを入手 GANC 01111 y y y ビットを入手し、ANC バッファ へ書込み 命令簡 命令 Op. 型 (10) 動作の説明 略記号 ビット (00) (01) Indir. Reg. Imm. ADD 00000 y y y Acc + Op −> Acc SUB 00001 y y y Acc − Op −> Acc BZ 10000 y y y 0で分岐 BNZ 10001 y y y 非0で分岐 BO 10010 y y y あふれで分岐 BNEG 10011 y y y 負で分岐 BC 10100 y y y けた上げアウトで分岐 BPOS 10101 y y y 0より大で分岐 B 10110 y y y 無条件分岐 CALL 10111 y y y 分岐し、PC をスタックへプッ シュ READ 11000 y n y バッファ読出し WRT 11001 y n y バッファ書込み RET 11010 n n n スタックから PC を取出し GTBL 11101 n n n ROM テーブル −> Acc (テーブル入手) LDA 11110 y y y Op −> Acc STA 11111 y n y Acc −メモリ 入力バッファ24がアクセスされる度に、DRAM/SRAM
制御装置132及び DRAM インタフェース134は 32
ビットを戻し、これらのビットは連続 16 ビットロード
動作によりデータレジスタ114及びマルチプレクサ1
12を通してデータシフタ126へロードされる。例え
ば、「ビット入手」もしくは GBT 命令では、検索すべ
きビットの数が実行制御状態機械104によってロード
カウンタ130内へロードされる。次いでデータシフタ
126は、入力バッファ24からの次の 32 ビットで満
たされる。ロードカウンタ130が0までデクレメント
されると、指定されたビット数がデータシフタ126か
ら累算器110内へけた送りされている。要求されたビ
ット数が累算器110内に入ると、これらのビットは論
理演算ユニット( もしくは ALU )によって操作される
か、または望む通りに経路指定される。このようにし
て、指定された如何なるビット数も、単一の命令によっ
て入力バッファ24から検索することができる。オーデ
ィオデコーダブロック28は、入力バッファ24から 3
2 ビットを常に読出してシステムトラフィックを減少さ
せている。これは、システムデコーダブロック20もま
た入力バッファ24にアクセスしなければならないとい
う事実の故である。実際に、システムデコーダブロック
20が 15 メガビット/ 秒までの入力データのバースト
を処理できるようにするために、システムデコーダブロ
ック20は入力バッファ24へのアクセスに対してオー
ディオデコーダブロック28よりも優先順位を有してい
なければならない。データシフタ126は 32 ビットバ
ッファとして働くので、オーディオデコーダブロック2
8は入力バッファ24へのアクセスを何回も要求するこ
となくその中の演算を続行することができるのである。
Data bus 88 and address bus 120
Are also coupled to a random access memory scratchpad 142 comprising memory for storing 256 16-bit words. The data bus 88 and the address bus 120
Is also coupled to a read-only memory table 144 that stores values used to calculate frame lengths and other constants used during decoding of the audio bitstream. The operation will be described. Audio decoder block 28 may include a 5-bit instruction field, a 2-bit field that specifies the operand type, and immediate operands or regular or indirect address references.
Execute 18-bit microcode instructions with 11-bit fields. Audio decoder block 28
Performs the following set of instructions to perform the necessary routines to decode the bit stream received from input buffer 24. Instruction Op. Type (10) Description of operation Abbreviation Bit (00) (01) Indir. Reg. Imm. ADD 00000 yyy Acc + Op-> Acc SUB 00001 yyy Acc-Op-> Acc AND 00010 yyy Acc AND Op-> Acc OR 00011 yyy Acc OR Op-> Acc XOR 00100 yyy Acc XOR Op-> Acc GSYN 00101 yyy Synchronized word search SRL 01000 yyy Logical right shift Acc SLL 01001 yyy Logical left shift Acc SRC 01010 yyy Cyclic right shift Feed Acc SRA 01011 yyy Arithmetic right shift Acc GBT 01100 yyy Obtain bits from input buffer or external buffer GBTC 01101 yyy Obtain bits from input buffer or external buffer and CRC check GBTF 01110 yyy Flush / input shifter Get bits from buffer or external buffer GANC 01111 yyy Get bits and write to ANC buffer Instruction Op. Type (10) Description of operation Abbreviation Symbol Bit (00) (01) Indir. Reg. Imm. ADD 00000 yyy Acc + Op-> Acc SUB 00001 yyy Acc-Op-> Acc BZ 10000 yyy Branch BNZ 10001 yyy Branch at non-zero BO 10010 yyy Branch at overflow BNEG 10011 yyy Branch at negative BC 10100 yyy Branch at carry-out BPOS 10101 yyy Branch at greater than 0 B 10110 yyy Unconditional branch CALL 10111 yyy Branch and change PC Push to stack READ 11000 yny Read buffer WRT 11001 yny Write buffer RET 11010 nnn Remove PC from stack GTBL 11101 nnn ROM table-> Acc (obtain table) LDA 11110 yyy Op- > Acc STA 11111 yny Acc-Memory input buffer 24 Each time is accessed, the DRAM / SRAM
The controller 132 and the DRAM interface 134 are 32
Return bits, these bits are loaded into data register 114 and multiplexer 1 by a continuous 16-bit load operation.
12 to the data shifter 126. For example, in a "get bit" or GBT instruction, the number of bits to retrieve is loaded into the load counter 130 by the execution control state machine 104. The data shifter 126 is then filled with the next 32 bits from the input buffer 24. When the load counter 130 is decremented to 0, the specified number of bits has been transmitted from the data shifter 126 into the accumulator 110. Once the requested number of bits has entered accumulator 110, these bits are manipulated by an arithmetic logic unit (or ALU) or routed as desired. In this manner, any specified number of bits can be retrieved from input buffer 24 with a single instruction. The audio decoder block 28 receives signals from the input buffer 24
Two bits are always read to reduce system traffic. This is due to the fact that the system decoder block 20 must also access the input buffer 24. Indeed, in order to allow the system decoder block 20 to handle bursts of input data up to 15 Mbit / s, the system decoder block 20 prioritizes access to the input buffer 24 over the audio decoder block 28. Must have. Since the data shifter 126 operates as a 32-bit buffer, the audio decoder block 2
8 can continue the operation therein without requiring access to the input buffer 24 many times.

【0032】GBT 命令は、入力バッファ24内に記憶さ
れている到来するビットストリームから次のNビットを
抽出する。この命令は先ず 16 ビット語を戻し、それを
累算器110 内に記憶させる。この命令は先ず累算器11
0をクリアし、次いで必要なデータビット数を累算器か
らデータシフタ126内へけた送りする。もしデータシ
フタ126内に十分なビットが存在していなければ、入
力バッファ24の読出しが自動的に開始される。命令が
実行されてしまうと、ロードカウンタ130内の値が保
管される。この値は RAM スクラッチパッド142内に
保管され、データストリームのビットオフセットを計算
するために使用される。新しい 32 ビットが入力バッフ
ァ24から読出されると、数 32 がロードカウンタ13
0内へロードされる。GBTC 命令は、入力バッファ24
から検索されたビットの CRC 誤りが自動的に調べられ
ることを除いて GBT命令と同一である。GBTF 命令も、
データシフタ126内に存在するデータビットが先ずフ
ラッシュされ、命令が入力バッファ24の新しい 32 ビ
ットを読出し始めることを除いて GBT 命令と同一であ
る。GSYN 命令は、入力ビットストリーム内の同期語を
探すために使用される。この命令は、同期語が検出され
るか、もしくはけた送りカウンタ128内の値が0にな
ると停止することを除いて GBT 命令と同じように動作
する。同期語の検出は累算器110によって遂行され
る。 GANC 命令は、補助データを検索するために使用さ
れる。この命令は、ビットも制御状態レジスタブロック
22内の補助バッファレジスタ内に記憶されることを除
いて GBT命令と同じように動作する。この命令は、もし
補助バッファがあふれれば、実行の途中で停止させるこ
ともできる。後述するように、GANC 命令は、もし補助
バッファがあふれるか、もしくは補助データの 16 ビッ
トが使用可能になる度に、適切な割込みをセットする。
The GBT instruction extracts the next N bits from the incoming bit stream stored in the input buffer 24. This instruction first returns a 16-bit word, which is stored in accumulator 110. This instruction is first executed by the accumulator 11
Clear a zero and then shift the required number of data bits from the accumulator into the data shifter 126. If there are not enough bits in the data shifter 126, reading of the input buffer 24 is automatically started. When the instruction is executed, the value in the load counter 130 is stored. This value is stored in the RAM scratchpad 142 and is used to calculate the bit offset of the data stream. When a new 32 bits are read from input buffer 24, number 32 is loaded into load counter 13
Loaded into 0. The GBTC instruction uses the input buffer 24
Identical to the GBT instruction, except that the CRC error of the bits retrieved from is automatically checked. The GBTF instruction also
The data bits present in the data shifter 126 are identical to the GBT instruction, except that the instruction is first flushed and the instruction begins reading a new 32 bits of the input buffer 24. The GSYN instruction is used to find a synchronization word in the input bitstream. This instruction operates similarly to the GBT instruction except that it stops when a sync word is detected or the value in the digit counter 128 reaches zero. The detection of the synchronization word is performed by the accumulator 110. The GANC command is used to retrieve auxiliary data. This instruction operates similarly to the GBT instruction, except that the bits are also stored in an auxiliary buffer register in the control status register block 22. This instruction can be halted during execution if the auxiliary buffer overflows. As described below, the GANC instruction sets the appropriate interrupt whenever the auxiliary buffer overflows or 16 bits of auxiliary data become available.

【0033】GTBL 命令は、読出し専用メモリ140及
び144内のテーブルから、種々のMPEG オーディオ関
連定数を戻すために使用される。GTBL 命令は、nBAL、
BPCW、束縛長もしくはフレーム長の値を戻すことができ
る。この命令に関して必要とされる情報は、特別レジス
タブロック138内の見出しレジスタ内に記憶されてい
る値から取出される。付加的に、BPCW 値を検索する場
合には、BAL に関する数が累算器110内に存在してい
なければならない。命令集合内の残余の命令は普通の通
りに動作する。GANC 命令は、指定された数の補助デー
タビットをオーディオデコーダブロック28に検索さ
せ、それらを制御状態レジスタブロック22内の補助デ
ータバッファ内に配置させる。このバッファレジスタは
32 ビット長であり、FIFOとして機能する。所定数のビ
ットがバッファ内にロードされると、補助データが存在
していることをマイクロプロセッサホスト12に通報す
る割込みが行われる。マイクロプロセッサホスト12が
補助データの読出しを試みると、バッファ内の補助デー
タは補助データレジスタ内へ転送される。このプロセス
によって、より多くの補助データをバッファ内へロード
することが可能になる。一つの任意選択的な動作モード
では、もし補助バッファが一杯であれば、マイクロプロ
セッサホスト12が補助データを読出すまで全ての処理
を停止させる割込みが発生する。このモードでは補助デ
ータバッファが FIFO 的な動作をするので、補助データ
が失われることがない。どれ程多くの補助データビット
の計数が補助データバッファ内にあるかを保持するため
に、別のレジスタが使用されている。マイクロプロセッ
サホスト12がこの計数を読出す場合、補助データバッ
ファ内の値は制御状態レジスタブロック22内の補助デ
ータレジスタ内へ転送される。
The GTBL instruction is used to return various MPEG audio related constants from tables in read only memories 140 and 144. The GTBL instruction is nBAL,
Can return the value of BPCW, binding length or frame length. The information needed for this instruction is derived from the value stored in the header register in special register block 138. Additionally, when retrieving a BPCW value, a number for the BAL must be present in accumulator 110. The remaining instructions in the instruction set behave normally. The GANC instruction causes the audio decoder block 28 to retrieve the specified number of auxiliary data bits and place them in the auxiliary data buffer in the control status register block 22. This buffer register
It is 32 bits long and functions as a FIFO. When a predetermined number of bits have been loaded into the buffer, an interrupt is signaled to microprocessor host 12 that auxiliary data is present. When the microprocessor host 12 attempts to read the auxiliary data, the auxiliary data in the buffer is transferred into the auxiliary data register. This process allows more auxiliary data to be loaded into the buffer. In one optional mode of operation, if the auxiliary buffer is full, an interrupt is generated that stops all processing until the microprocessor host 12 reads the auxiliary data. In this mode, the auxiliary data buffer behaves like a FIFO, so no auxiliary data is lost. Another register is used to keep track of how many counts of auxiliary data bits are in the auxiliary data buffer. When the microprocessor host 12 reads this count, the value in the auxiliary data buffer is transferred to the auxiliary data register in the control status register block 22.

【0034】以下に、データストリームの復号、データ
ストリームとの同期の取得、データストリーム内の誤り
隠し、及びバッファ管理、及び他の制御機能におけるオ
ーディオデコーダブロック28の動作を、特に図11乃
至38に詳細を示してある流れ図に基づいて説明する。ハードウェアフィルタ演算ユニット 図4は、ハードウェアフィルタ演算ユニットブロック3
2の一実施例の回路図である。要約すれば、演算ユニッ
トブロック32は演算ユニットバッファ30から検索し
たサンプルを量子化解除し、結果を図4に示すサンプル
メモリ150内に記憶するように機能する。次いで演算
ユニットブロック32はサンプルメモリ150からサン
プルを検索し、データに対して高速余弦変換を遂行し、
変換の結果を図4に示す有限インパルス応答 ( FIR )メ
モリ152内へ書込む。次に演算ユニットブロック32
は、FIR メモリ152からデータを検索し、データに対
して FIR フィルタ動作を遂行し、結果を PCM バッフ
ァ34へ書込む。MPEG 仕様には、この量子化解除プロ
セスは、大型 32 × 32 行列演算であると記載されてい
る。本発明の教示によれば、大型の行列演算は、図4に
示すシステムで実現される高速フーリエ変換演算によっ
て置換されている。ハードウェアフィルタ演算ユニットのハードウェアの説
演算ユニットブロック32は、累算器156から1つの
オペランドを、またレジスタ158から第2のオペラン
ドを受けている数学ユニット154を備えている。累算
器156はマルチプレクサ160を通してロードされ
る。マルチプレクサ160の1つの入力は数学ユニット
154の出力に結合されている。マルチプレクサ160
の第2の入力は、演算ユニットブロック32を演算ユニ
ットバッファ30へ接続している 16 ビットバスに結合
されている。マルチプレクサ160の第3の入力は、サ
ンプルメモリもしくは SBB RAM 150からの値を受け
ている。マルチプレクサ160の第4の入力は、一定の
0を入力するか、または累算器156の出力からのフィ
ードバック経路を提供するように機能するマルチプレク
サ162から検索される。
The operation of the audio decoder block 28 in decoding a data stream, obtaining synchronization with the data stream, concealing errors in the data stream, and managing buffers and other control functions will be described below with particular reference to FIGS. The description will be made based on a flowchart showing the details. Hardware filter operational unit 4 is a hardware filter arithmetic unit block 3
2 is a circuit diagram of one embodiment. FIG. In summary, the arithmetic unit block 32 functions to dequantize the samples retrieved from the arithmetic unit buffer 30 and store the results in the sample memory 150 shown in FIG. The arithmetic unit block 32 then retrieves a sample from the sample memory 150 and performs a fast cosine transform on the data,
The result of the conversion is written into a finite impulse response (FIR) memory 152 shown in FIG. Next, the operation unit block 32
Retrieves data from the FIR memory 152, performs an FIR filter operation on the data, and writes the result to the PCM buffer. The MPEG specification states that this dequantization process is a large 32x32 matrix operation. In accordance with the teachings of the present invention, large matrix operations have been replaced by fast Fourier transform operations implemented in the system shown in FIG. Hardware filter operation unit hardware theory
The bright operation unit block 32 comprises a mathematical unit 154 that receives one operand from the accumulator 156 and a second operand from the register 158. Accumulator 156 is loaded through multiplexer 160. One input of the multiplexer 160 is coupled to the output of the math unit 154. Multiplexer 160
Are coupled to a 16-bit bus connecting the arithmetic unit block 32 to the arithmetic unit buffer 30. A third input of multiplexer 160 receives a value from sample memory or SBB RAM 150. The fourth input of multiplexer 160 is either input a constant zero or is retrieved from multiplexer 162, which functions to provide a feedback path from the output of accumulator 156.

【0035】レジスタ158はマルチプレクサ164を
通してロードされる。マルチプレクサ164は、FIR RA
M 152の出力に結合されている第1の入力を有してい
る。マルチプレクサ164の第2の入力は、SBB RAM 1
50の出力に結合されている。マルチプレクサ164の
第3の入力は、数学ユニット154の出力に結合されて
いる。マルチプレクサ164の第4の、そして最後の入
力は、マルチプレクサ166の出力に結合されている。
マルチプレクサ166の第1の入力は、マルチプレクサ
164の出力に結合されている。マルチプレクサ166
の第2の入力は、縮尺係数読出し専用メモリ168の出
力に結合されている。縮尺係数読出し専用メモリ168
は 64 の 28 ビット値を含み、サブバンド値の合成に使
用される縮尺係数のテーブルである。縮尺係数読出し専
用メモリ168は、オーディオデコーダブロック28が
生成して演算ユニットバッファ30内に配置されている
縮尺係数索引値を使用してアクセスされる。マルチプレ
クサ166の第3の、そして最後の入力は、C/D 係数読
出し専用メモリ170の出力に結合されている。読出し
専用メモリ170は、これもまたサブバンドデータの合
成に使用されるC及びD係数を記憶している。読出し専
用メモリ170は、アドレスレジスタ172内に記憶さ
れている値を使用してアドレスされる。縮尺係数読出し
専用メモリ168は、アドレスレジスタ174内に記憶
されている値を使用してアドレスされる。レジスタ17
2、174内へ入力される値は、演算ユニットバッファ
30から出力される値の 12 ビットから検索される。演
算ユニットバッファ30は、9ビットからなる CSBB
ADDR アドレスを使用してアクセスされる。
Register 158 is loaded through multiplexer 164. The multiplexer 164 is connected to the FIR RA
It has a first input coupled to the output of M152. The second input of multiplexer 164 is SBB RAM 1
It is coupled to 50 outputs. A third input of the multiplexer 164 is coupled to an output of the math unit 154. The fourth and last input of multiplexer 164 is coupled to the output of multiplexer 166.
A first input of multiplexer 166 is coupled to an output of multiplexer 164. Multiplexer 166
Is coupled to the output of scale factor read only memory 168. Scale factor read-only memory 168
Is a table of scale factors that contains 64 28-bit values and is used to combine subband values. The scale factor read only memory 168 is accessed using the scale factor index values generated by the audio decoder block 28 and located in the arithmetic unit buffer 30. A third and last input of multiplexer 166 is coupled to the output of C / D coefficient read only memory 170. Read-only memory 170 stores the C and D coefficients, which are also used to combine the subband data. Read only memory 170 is addressed using the value stored in address register 172. The scale factor read only memory 168 is addressed using the value stored in the address register 174. Register 17
The value input into 2,174 is retrieved from the 12 bits of the value output from arithmetic unit buffer 30. The arithmetic unit buffer 30 has a 9-bit CSBB
Accessed using ADDR address.

【0036】数学ユニット154は、乗算器部分と、そ
れに並列の加算器/減算器部分とを備えている。数学ユ
ニット154の乗算器部分は、第1の入力をレジスタ1
58から直接受け、第2の入力をマルチプレクサ176
から受けている。マルチプレクサ176の第1の入力は
累算器156の出力に結合され、第2の入力は係数メモ
リ178の出力に結合されている。係数メモリ178
は、464 の 22 ビットの係数を記憶し、9ビットの係数
COEFF ADDR値を使用してアドレスされる。数学ユニッ
ト154は、3ビットの CMD フィールドと、2ビット
の STATE フィールドとを使用するように構成されてい
る。数学ユニット154の出力はバッファレジスタ18
0にも供給され、これらの値はバッファレジスタ180
から PCMバッファ34内へ転送される。図5は、図4に
示す演算ユニット32が使用するアドレスを生成するた
めに使用されるシステムのブロック線図である。図5に
全体を182で示すアドレスジェネレータはシーケンス
ジェネレータ184を備えている。シーケンスジェネレ
ータ184は、アドレス読出し専用メモリ186へ出力
される状態値を生成するように動作可能な状態機械(も
しくはステートマシン)を備えている。アドレス読出し
専用メモリ186は、3組のアドレス論理ブロックへ出
力される 416 の5ビット索引値を含む。第1のアドレ
ス論理ブロックは、シーケンスジェネレータ184から
出力される STATE 値と、アドレス読出し専用メモリ1
86から出力される索引出力とから9ビットの CSBB
ADDR 値を生成する CSBB アドレス論理ブロック188
である。同様に FIR アドレス論理ブロック190は、
10ビットの FIR ADDR 値を生成し、SBB アドレス論理
ブロック192は5ビットの SBB ADDR 値を生成す
る。係数アドレス論理ブロック194は、シーケンスジ
ェネレータ184が生成する STATE 値から直接9ビッ
トの COEF ADDR 値を生成する。
The mathematical unit 154 comprises a multiplier part and an adder / subtractor part in parallel therewith. The multiplier portion of the math unit 154 stores the first input in register 1
58 directly and a second input to multiplexer 176
Received from. A first input of multiplexer 176 is coupled to the output of accumulator 156, and a second input is coupled to the output of coefficient memory 178. Coefficient memory 178
Stores the 464 22-bit coefficients and the 9-bit coefficients
COEFF Addressed using ADDR value. The math unit 154 is configured to use a 3-bit CMD field and a 2-bit STATE field. The output of math unit 154 is buffer register 18
0, and these values are stored in buffer register 180
Is transferred into the PCM buffer 34. FIG. 5 is a block diagram of a system used to generate the addresses used by the arithmetic unit 32 shown in FIG. The address generator, generally indicated at 182 in FIG. The sequence generator 184 includes a state machine (or a state machine) operable to generate a state value output to the address read-only memory 186. Address read only memory 186 contains 416 5-bit index values output to three sets of address logic blocks. The first address logical block stores the STATE value output from the sequence generator 184 and the address read-only memory 1
9-bit CSBB from index output output from 86
CSBB address logic block 188 for generating ADDR value
It is. Similarly, the FIR address logic block 190
10-bit FIR Generates an ADDR value and the SBB address logic block 192 generates a 5-bit SBB Generate an ADDR value. The coefficient address logic block 194 directly generates a 9-bit COEF from the STATE value generated by the sequence generator 184. Generate an ADDR value.

【0037】図6は、図4に基づいて説明済の数学ユニ
ットブロック154の一つの考え得る実施例のブロック
線図である。数学ユニット154の乗算器部分はBオペ
ランドを受信する。このBオペランドは 22 ビット値で
あり、6ビット値に分割されてマルチプレクサ200へ
入力される。マルチプレクサ200は7ビット値をブー
ス( Booth ) エンコーダ202へ出力する。ブースエン
コーダ202は、部分積ジェネレータ204、206、
及び208を駆動する。部分積ジェネレータ204はけ
た上げ/保管加算器210に結合されている。同様に、
部分積ジェネレータ206はけた上げ/保管加算器21
2に結合され、部分積ジェネレータ208はけた上げ/
保管加算器214に結合されている。Aオペランドは部
分積ジェネレータ204、206、及び208へ入力さ
れる。けた上げ/保管加算器214は、29 ビットのけ
た上げ出力と、30 ビットの保管出力とを 34 ビットパ
イプラインレジスタ216へ出力する。パイプラインレ
ジスタ216は、マルチプレクサ218への1つのけた
上げ出力と、マルチプレクサ220への 30 ビットの保
管出力とを出力する。パイプラインレジスタ216のけ
た上げ及び保管出力は、部分積ジェネレータ204の入
力へも供給される。
FIG. 6 is a block diagram of one possible embodiment of the mathematical unit block 154 described with reference to FIG. The multiplier portion of math unit 154 receives the B operand. The B operand is a 22-bit value, which is divided into 6-bit values and input to the multiplexer 200. Multiplexer 200 outputs a 7-bit value to Booth encoder 202. Booth encoder 202 includes partial product generators 204, 206,
And 208 are driven. Partial product generator 204 is coupled to carry / store adder 210. Similarly,
Partial product generator 206 carry / store adder 21
2 and the partial product generator 208 carries /
It is coupled to a save adder 214. The A operand is input to partial product generators 204, 206, and 208. The carry / save adder 214 outputs a 29-bit carry output and a 30-bit save output to the 34-bit pipeline register 216. Pipeline register 216 outputs one carry output to multiplexer 218 and a 30-bit stored output to multiplexer 220. The carry and store output of pipeline register 216 is also provided to the input of partial product generator 204.

【0038】マルチプレクサ218は、パイプラインレ
ジスタ216からのけた上げ出力と、図4に関して説明
した累算器156から受信する加算器Aオペランドの何
れかを選択するように機能する。マルチプレクサ218
は選択した値をけた上げ/保管加算器222へ出力す
る。けた上げ/保管加算器222はマルチプレクサ22
0から第2の入力を受信しており、マルチプレクサ22
0はパイプラインレジスタ216からのけた上げ出力
と、0に等しい定数の何れかを選択する。けた上げ/保
管加算器222はマルチプレクサ224から第3の入力
を受信しており、マルチプレクサ224は定数記憶装置
225と、図4に関して説明した R1 レジスタ158か
ら受信する加算器Bオペランドとの何れかを選択する。
けた上げ/保管加算器222は、けた上げ伝播加算器2
26へけた上げ出力と、保管出力とを出力する。けた上
げ伝播加算器226は飽和検出・0強制ブロック228
へ 31ビット値を供給する。飽和検出・0強制ブロック
228は、 CMD 信号を受信してその出力を0にする
か、もしくは飽和条件または CMD 信号に応答して 28
ビットフィールドによって表現可能な最高または最小数
にすることができる。けた上げ伝播加算器226はけた
上げイン論理ブロック230から信号を受信する。けた
上げイン論理ブロック230は、けた上げ記憶レジスタ
232からの信号と、CMD 信号とを受信する。けた上げ
記憶レジスタ232は、パイプラインレジスタ216内
に記憶されている2つの分離した6ビットフィールドに
結合されているけた上げ論理ブロック234からの信号
を受信する。
Multiplexer 218 functions to select any of the carry output from pipeline register 216 and the adder A operand received from accumulator 156 described with respect to FIG. Multiplexer 218
Outputs the selected value to the carry / save adder 222. The carry / store adder 222 is a multiplexer 22.
0 to the second input and the multiplexer 22
A value of 0 selects one of the carry output from the pipeline register 216 and a constant equal to 0. Carry / save adder 222 receives a third input from multiplexer 224, which outputs either constant storage 225 or the adder B operand received from R1 register 158 described with respect to FIG. select.
The carry / store adder 222 is a carry propagation adder 2
26, and outputs a carry output and a save output. The carry propagation adder 226 is a saturation detection / zero forced block 228.
Supplies a 31-bit value to The saturation detection and forcing block 228 receives the CMD signal and makes its output 0, or responds to the saturation condition or the CMD signal.
It can be the highest or lowest number representable by a bit field. Carry propagation adder 226 receives a signal from carry-in logic block 230. Carry-in logic block 230 receives the signal from carry storage register 232 and the CMD signal. Carry storage register 232 receives signals from carry logic block 234 which are combined into two separate 6-bit fields stored in pipeline register 216.

【0039】数学ユニット154は、加算及び減算の機
能を遂行する。数学ユニット154は、変化させてない
Aオペランドを通過させるか、もしくはその出力を0に
することもできる。また数学ユニット154は、A及び
Bオペランドを乗じて、28ビットもしくは 22 ビットの
結果を発生することもできる。更に数学ユニット154
はその入力における値を 16 もしくは 18 ビットに丸め
ることができる。数学ユニット154の加算器/減算器
部分へのオペランドは共に、3つのビットが全体数を表
し、 25 ビットがその数の小数部分を表すことを指示す
る 3.25フォーマットである。数学ユニット154の乗
算器部分へのAオペランドも 3.25 フォーマットの数で
ある。乗算器部分へのBオペランドは、2.20 フォーマ
ットの数である。加算/減算、A通過、0強制、及び全
乗算は全て 3.25 フォーマットの結果をもたらす。22
ビット乗算は 2.20 フォーマットの結果をもたらす。16
ビットの丸め及び 18 ビットの丸め動作は、それぞれ
1.15 及び 1.17フォーマットの数をもたらす。数学ユ
ニット154の乗算器部分は、5サイクルの待ち時間を
有する複サイクル乗算器である。4クロックサイクルが
パイプラインレジスタ216に先行する動作に費やさ
れ、1サイクルが数学ユニット154の残りに費やされ
る。けた上げ/保管加算器222及びけた上げ伝播加算
器226は全けた上げ先取り加算演算を遂行し、最終結
果を発生する。数学ユニット154のボトム部分も加算
/減算、A通過、0強制、及び 16 及び 18 ビット丸め
動作に使用される。乗算の結果は、最下位ビット位置の
次のビット位置に1を加算することによって丸められ
る。 16 への丸め及び 18 への丸め動作も、最下位ビッ
ト位置の次のビット位置に1を加算し、次いで結果の範
囲の検査を遂行し、そして出力を最大の正の数もしくは
最小の負の数にする。ハードウェアフィルタ演算ユニットの動作 要約すれば、ハードウェアフィルタ演算ユニットブロッ
ク32は3つのモードで使用される。第1の動作モード
は、ビットストリームから検索された縮尺係数索引値
と、読出し専用メモリテーブル内に記憶されている係数
とを使用する符号化サンプルの量子化解除である。第2
の動作モードは、高速余弦変換である。第3の動作モー
ドは、有限インパルス応答濾波である。これら3つの順
次動作によって PCM 出力データが得られ、このデータ
は PCM 出力ブロック36による検索のために PCM バ
ッファ34内に記憶される。
The mathematical unit 154 performs the functions of addition and subtraction. The math unit 154 may either pass the unchanged A operand or force its output to zero. The math unit 154 can also multiply the A and B operands to produce a 28 or 22 bit result. Math unit 154
Can round the value at its input to 16 or 18 bits. The operands to the adder / subtractor portion of math unit 154 are both in 3.25 format, indicating that three bits represent the whole number and 25 bits represent the fractional part of the number. The A operand to the multiplier portion of math unit 154 is also a 3.25 format number. The B operand to the multiplier part is a number in 2.20 format. Addition / subtraction, A-pass, zero-force, and full multiplication all produce results in 3.25 format. twenty two
Bit multiplication results in a 2.20 format. 16
Bit rounding and 18-bit rounding operations are
Yields a number of 1.15 and 1.17 formats. The multiplier portion of math unit 154 is a multi-cycle multiplier with a 5-cycle latency. Four clock cycles are spent on operations preceding pipeline register 216, and one cycle is spent on the remainder of math unit 154. Carry / save adder 222 and carry propagation adder 226 perform a full carry prefetch addition operation to produce the final result. The bottom part of the math unit 154 is also used for addition / subtraction, A-pass, 0-force and 16 and 18 bit rounding operations. The result of the multiplication is rounded by adding one to the bit position next to the least significant bit position. The round to 16 and round to 18 operations also add one to the bit position following the least significant bit position, then perform a range check on the result, and output the largest positive number or the least negative number. To numbers. Operation of the Hardware Filter Operation Unit In summary, the hardware filter operation unit block 32 is used in three modes. The first mode of operation is the dequantization of encoded samples using the scale factor index values retrieved from the bitstream and the coefficients stored in a read-only memory table. Second
Is the fast cosine transform. The third mode of operation is finite impulse response filtering. These three sequential operations result in PCM output data which is stored in PCM buffer 34 for retrieval by PCM output block 36.

【0040】以下の説明で使用する表記法では、Subban
d 〔k〕は復号後の入力サブバンドベクトルである。N
〔i〕〔k〕は合成マトリクスであり、v〔i〕はマト
リクスNとベクトル Subband〔k〕との乗算の結果であ
る。vはディメンジョン 64のベクトルである。本発明
の MPEG オーディオデコーダでは、以下に説明するよう
にvはディメンジョン 32 のv′によって置換される。
この置換によって2つの利点がもたらされる。即ち、解
くべき問題のディメンジョン(乗算・加算の数及びメモ
リの大きさ)が半分に減少し、またマトリクスが直接余
弦変換のものであることから、積は高速直接余弦変換を
使用して実現することが可能になり、これが乗算・加算
の数及びメモリの大きさを更に減少させる。サブバンド合成 MPEG 仕様は以下の変換を規定している。i=〔 0, 6
3〕に対して、 v〔i〕= SUM{N〔i〕〔k〕* Subband〔k〕}/k=〔 0, 31〕 但し、 N〔i〕〔k〕= cos(( i+16 )*( 2 * k+1 )*( pi/64 ) = detCoef〔 i+16 〕〔k〕 故に、i=〔 0, 63〕に対して v〔i〕= SUM{ detCoef〔 i+16 〕〔k〕* Subband〔k〕}/k=〔 0 , 31〕 等価形状は、次の通りである。i=〔 0, 31〕に対し
て、 v′〔i〕= SUM{ detCoef〔i〕〔k〕* Subband〔k〕}/k=〔 0, 31 〕 これは以下のようにして実効的に実現される。
In the notation used in the following description, Subban
d [k] is an input subband vector after decoding. N
[I] [k] is a composite matrix, and v [i] is a result of multiplication of the matrix N and the vector Subband [k]. v is a vector of dimension 64. In the MPEG audio decoder of the present invention, v is replaced by v 'of dimension 32 as described below.
This substitution offers two advantages. That is, since the dimensions of the problem to be solved (the number of multiplications / additions and the size of the memory) are reduced by half and the matrix is of the direct cosine transform, the product is realized using the fast direct cosine transform. This further reduces the number of multiplications and additions and the size of the memory. The subband synthetic MPEG specification specifies the following conversions: i = [0, 6
3], v [i] = SUM {N [i] [k] * Subband [k]} / k = [0, 31] where N [i] [k] = cos ((i + 16) * (2 * k + 1) * (pi / 64) = detCoef [i + 16] [k] Therefore, for i = [0, 63], v [i] = SUM {detCoef [i + 16] [k] * Subband [k] } / K = [0,31] The equivalent shape is as follows: For i = [0,31], v ′ [i] = SUM {detCoef [i] [k] * Subband [k] } / K = [0, 31] This is effectively realized as follows.

【0041】 v′〔 32 〕= Fast .Cosine.Transform { Subband〔k〕} 但し v′=v′〔 i+16 〕 0≦i≦ 15 v〔i〕=0 i== 16 v〔i〕=−v′〔 48 −i〕 17≦i≦ 48 v〔i〕=−v〔i− 48 〕 49≦i≦ 63 DCT 係数の対称性のために、v′は以下の対称を呈す
る。 v′〔i〕 =v′〔−i〕 v′〔 64 −i〕=−v′〔i〕 v′〔 32 〕 =0。 以下の説明では、Vは MPEG 仕様のサブバンド合成流れ
図に記載されているディメンジョン 1024 のアレイであ
る。Vは 16 タップ FIR フィルタへの入力である。デ
ィメンジョン 512 のベクトルUは FIR フィルタのメ
モリである。本発明のハードウェアフィルタの動作にお
いては、Vはディメンジョン 512のV′によって置換さ
れ、Uは不変である。濾波動作 MPEG 仕様は、16 の連続ベクトルv〔 64 〕のシーケ
ンスを含む FIFO として構成されているベクトルV〔 1
024 〕を定義している。
V ′ [32] = Fast. Cosine. Transform {Subband [k]} where v '= v' [i + 16] 0≤i≤15 v [i] = 0 i == 16 v [i] =-v '[48-i] 17≤i≤48v [I] = − v [i−48] 49 ≦ i ≦ 63 Due to the symmetry of the DCT coefficient, v ′ exhibits the following symmetry. v '[i] = v' [-i] v '[64-i] =-v' [i] v '[32] = 0. In the following description, V is an array of dimensions 1024 as described in the subband synthesis flow diagram of the MPEG specification. V is the input to the 16 tap FIR filter. Vector U of dimension 512 is the memory of the FIR filter. In the operation of the hardware filter of the present invention, V is replaced by V 'of dimension 512 and U is unchanged. The MPEG specification specifies that a vector V [1] configured as a FIFO containing a sequence of 16 consecutive vectors v [64].
024] is defined.

【0042】ベクトルU〔 512〕は、以下のように定義
されている。i=〔 0, 31〕及びj=〔 0, 7 〕に対し
て、 U〔i+ 64 * j 〕=V〔i+ 128 * j〕 またi=〔 32, 63 〕及びj=〔 0, 7 〕に対して、 U〔i+ 64 * j 〕=V〔i+ 64 + 128 * j〕 故に、出力サンプルSはi=〔 0, 31〕に対して、 S〔i〕= SUM{U〔i+ 32 * j 〕* D〔i+ 32 * j 〕}/j=〔 0, 15 〕 実際の具体化は以下のようにして導出される。Vの関数
としてのUは次のように書き直すことができる。i=
〔 0, 31〕、j=〔 0, 14〕、及びjが偶数の場合、 U〔i+ 32 * j 〕=V〔i+ 64 * j 〕 i=〔 0, 31〕、j=〔 0, 15〕、及びjが奇数の場
合、 U〔i+ 32 * j 〕=V〔i+ 64 * j −32〕 Vと同様に、V′〔 512〕も 16 の連続ベクトルV′
〔 32 〕のシーケンスを表している(上に定義されてい
るように)。
The vector U [512] is defined as follows. For i = [0,31] and j = [0,7], U [i + 64 * j] = V [i + 128 * j] and i = [32,63] and j = [0,7] U [i + 64 * j] = V [i + 64 + 128 * j] Therefore, the output sample S is, for i = [0, 31], S [i] = SUM {U [i + 32 * j] * D [i + 32 * j]} / j = [0,15] The actual instantiation is derived as follows. U as a function of V can be rewritten as: i =
[0,31], j = [0,14], and when j is an even number, U [i + 32 * j] = V [i + 64 * j] i = [0,31], j = [0,15] ], And j is an odd number, U [i + 32 * j] = V [i + 64 * j-32] Similarly to V, V '[512] is also 16 continuous vectors V'.
[32] representing the sequence (as defined above).

【0043】上式及びV′の対称性を使用すれば、以下
の式によってUをV′の関数として表すことができる。
i=〔 0, 15〕、j=〔 0, 14〕、及びjが偶数の場
合、 U〔i+ 32 * j 〕=V′〔i+ 16 + 32 * j 〕 i= 16 、j=〔 0, 14〕、及びjが偶数の場合、 U〔i+ 32 * j 〕=0 i=〔 0, 16〕、j=〔 1, 15〕、及びjが奇数の場
合、 U〔i+ 32 * j 〕=−V′〔 16 −i+ 32 * j 〕 i=〔 17, 31 〕、j=〔 0, 14〕、及びjが偶数の場
合、 U〔i+ 32 * j 〕=−V′〔 48 −i+ 32 * j 〕 i=〔 17, 31 〕、j=〔 0, 15〕、及びjが奇数の場
合、 U〔i+ 32 * j 〕=−V′〔i− 16 + 32 * j 〕 FIR フィルタの動作中、アドレステーブルを使用するこ
とによって、FIR RAM 152のアドレス指定は簡略化さ
れる。FIR フィルタの式では、 S〔i〕= SUM{U〔i+ 32 * j 〕* D〔i+ 32 * j 〕}/j=〔 0, 15 〕 もしくは、 S〔i〕= SUM{( ± )V′〔 index+ 32 * j 〕* D〔i+ 32 * j 〕}/ j=〔 0, 15〕 索引は以下のようにして計算される。i=〔 0, 16〕及
びjが偶数の場合、 index =i+ 16 i=〔 0, 16〕及びjが奇数の場合、 index = 16 −i i=〔 17, 31 〕及びjが偶数の場合、 index = 48 −i i=〔 17, 31 〕及びjが奇数の場合、 index =i− 16 Vindextable 〔 32 〕はi=〔 0, 31〕に対する索引を
含んでいる。
Using the above equation and the symmetry of V ', U can be expressed as a function of V' by the following equation:
If i = [0,15], j = [0,14], and j is even, U [i + 32 * j] = V '[i + 16 + 32 * j] i = 16, j = [0, 14], and if j is even, U [i + 32 * j] = 0 i = [0,16], j = [1,15], and if j is odd, U [i + 32 * j] = -V '[16-i + 32 * j] When i = [17,31], j = [0,14], and j is an even number, U [i + 32 * j] =-V' [48-i + 32 * j] When i = [17, 31], j = [0, 15], and j is odd, U [i + 32 * j] =-V '[i-16 + 32 * j] operation of the FIR filter During use, addressing of the FIR RAM 152 is simplified by using an address table. In the FIR filter equation, S [i] = SUM {U [i + 32 * j] * D [i + 32 * j]} / j = [0,15] or S [i] = SUM S (±) V '[Index + 32 * j] * D [i + 32 * j]} / j = [0,15] The index is calculated as follows. If i = [0,16] and j are even, index = i + 16 i = [0,16] and j is odd, index = 16−i i = [17,31] and j is even , Index = 48-i i = [17, 31] and j is odd, then index = i-16 Vindextable [32] contains the index for i = [0, 31].

【0044】FIR フィルタの式では、 S〔i〕= SUM{( ± )V′〔 index+ 32 * j 〕* D〔i+ 32 * j 〕}/ j=〔 0, 15〕 索引の値に依存する(V’の関数としてのUの式に従
う)加算/減算演算は、FIR 係数のDを変更することに
よって連続した加算に置換することができる。更に係数
テーブルの大きさは反対称、即ちD〔i〕=−D〔 512
−i〕を使用することによって半分まで減少させること
ができる。その結果、256 の要素の係数テーブルは以下
のようにして計算される。i=〔 0, 15〕、j=〔 0,
14〕、及びjが偶数の場合、 firCoef 〔i+ 32 * j〕=D〔i+ 32 * j〕 i=〔 0, 16〕、j=〔 1, 15〕、及びjが奇数の場
合、及びi=〔 17, 31 〕、j=〔 0, 15〕の場合、 firCoef 〔i+ 32 * j〕=−D〔i+ 32 * j〕 j=〔 0, 14〕、及びjが偶数の場合に firCoef〔 16
+ 32 j〕=0である事実を、例外として FIR フィル
タ内に入れなければならない。
In the formula of the FIR filter, S [i] = SUM ± (±) V '[index + 32 * j] * D [i + 32 * j] / j = [0,15] depends on the value of the index. Addition / subtraction operations (according to the expression of U as a function of V ') can be replaced by successive additions by changing the D of the FIR coefficients. Further, the size of the coefficient table is anti-symmetric, that is, D [i] =-D [512
-I] can be reduced by half. As a result, the coefficient table of 256 elements is calculated as follows. i = [0, 15], j = [0,
14], and if j is even, firCoef [i + 32 * j] = D [i + 32 * j] i = [0,16], j = [1,15], and j is odd, and i = [17,31], j = [0,15], firCoef [i + 32 * j] =-D [i + 32 * j] j = [0,14], and if j is even, firCoef [ 16
+32 j] = 0 must be included in the FIR filter as an exception.

【0045】そこで、FIR 濾波は以下のように具体化さ
れる。i+ 32 * j≦ 256 に対して、 S〔i〕= SUM{V′〔Vindextable 〔i〕〕+ 32 * j〕* firCoef 〔i+ 32 *j〕 i+ 32 * j> 256 に対して、 S〔i〕= SUM{V′〔Vindextable 〔i〕〕+ 32 * j〕* firCoef { 512 −(i+32 *j)} また、i= 16 及びj=0、2、4、6、8、10、12、
または 14 の時には firCoef は強制的に0にされる。高速余弦変換の演算 本実施例は係数テーブルを1kから 32 要素まで減少さ
せ、また計算の量を大幅に減少させており、従ってクロ
ック速度をより遅くすることができるから、マトリクス
方式とは異なり、流れ・グラフ手法を使用する。以上に
説明した特定の演算は、含まれている係数が+1と−1
との範囲内にあり、所与の所要精度に対して固定小数点
を採用できるので選択されているのである。
Thus, FIR filtering is embodied as follows. For i + 32 * j ≦ 256, S [i] = SUM {V ′ [Vindextable [i]] + 32 * j] * firCoef [i + 32 * j] For i + 32 * j> 256, S [ i] = SUM {V '[Vindextable [i]] + 32 * j] * firCoef {512- (i + 32 * j)} Also, i = 16 and j = 0, 2, 4, 6, 8, 10, 12 ,
Or at 14, firCoef is forced to zero. Calculating embodiment of fast cosine transform reduces the coefficient table to 32 elements from 1k, also the amount of computation is greatly reduced, thus because it is possible to slower clock speed, unlike the matrix, Use flow and graph techniques. In the specific operation described above, the coefficients included are +1 and -1.
And fixed-point can be employed for a given required precision.

【0046】計算の流れは2つの演算子、即ち“バタフ
ライ(butterfly )”演算子と“減算”演算子とを含
む。“バタフライ”演算子は y1=x1+x2 y2=(x1−x2)*d の形状であり、“減算”演算子は y1=x1 y2=x2−x1 の形状である。ここに、ベクトルx〔 32 〕は先行繰り
返しの結果であり、ベクトルy〔 32 〕はこの繰り返し
の結果である。5回の繰り返しが存在している。ベクト
ルx〔 32 〕は、その数量化解除の後にサブバンドベク
トルによって初期化される。しかしながら、その後のx
/yベクトルのアドレス指定を簡易化するために、先ず
“ハダマード( Hadamard )順序”に再順序付けする。 x〔i〕= subband〔h〔i〕〕 ここに、h〔i〕は以下のアルゴリズムを用いて構成さ
れる。(k=1;k< 32 ;k *=2)に対して、 h
The computational flow involves two operators, a "butterfly" operator and a "subtraction" operator. The "butterfly" operator has the form y1 = x1 + x2 y2 = (x1-x2) * d, and the "subtraction" operator has the form y1 = x1 y2 = x2-x1. Here, the vector x [32] is the result of the preceding repetition, and the vector y [32] is the result of this repetition. There are 5 repetitions. The vector x [32] is initialized by the subband vector after its dequantification. However, then x
To simplify the addressing of the / y vector, it is first reordered to the "Hadamard order". x [i] = subband [h [i]] Here, h [i] is configured using the following algorithm. (K = 1; k <32; k * = 2), h

〔0〕=0、 (i=k−1;i≧0;i…)に対して、 h〔2* i〕=h〔i〕; h〔2* i+1〕=2* k−1−h〔i〕; このテーブルはある ROM 内に記憶され、サブバンドサ
ンプルを数量化解除する時にそれらを再順序付けするた
めにhwに使用する。
[0] = 0, (i = k-1; i ≧ 0; i ...), h [2 * i] = h [i]; h [2 * i + 1] = 2 * k-1-h [I]; this table is stored in some ROM and used by hw to reorder them when dequantizing subband samples.

【0047】そこで、各繰り返し時にベクトルx〔 32
〕及びy〔 32 〕を非順次にアドレスしなければなら
ない。hw実施例では繰り返しの各段階におけるアドレ
ス計算も、簡易化のために、テーブルを表引きすること
に置換される。バタフライ及び減算演算子は、以下のよ
うにして順次に、そして繰り返し適用される。 for ( channel =0;channel <2;chanell ++) { for (k=0;k<5;k++) { for (i=0;i< 16 ;i++) butterflyOperator( &subbandVector 〔 channel〕〔butterflyOp1〔k〕〔i 〕, &subbandVector 〔 channel〕〔butterflyOp2〔k〕〔i〕, &subbandVector 〔 channel〕〔butterflyOp1〔k〕〔i〕, &subbandVector 〔 channel〕〔butterflyOp2〔k〕〔i〕, &FCTcoef〔k〕〔i〕); for (i=0;i< 16 ;i++) if (subOp1 〔k〕〔1〕) subOperator( &subbandVector 〔 channel〕〔subOp1〔k〕〔1 〕〕, &subbandVector 〔 channel〕〔subOp2〔k〕〔i〕, &subbandVector 〔 channel〕〔subOp1〔k〕〔i〕, &subbandVector 〔 channel〕〔subOp2〔k〕〔i〕; } } ここに、チャネル( channel ) とは左及び右チャネルの
ことであり、“butterflyOperator ”及び“subOperato
r ”の最初の2つの独立変数はy1及びy2のことであ
り、しして最後の2つの独立変数はx1及びx2のこと
である。
Therefore, at each iteration, the vector x [32
] And y [32] must be addressed non-sequentially. In the hw embodiment, the address calculation at each stage of the repetition is replaced with a table lookup for simplicity. The butterfly and subtraction operators are applied sequentially and repeatedly as follows. for (channel = 0; channel <2; chanell ++) {for (k = 0; k <5; k ++) {for (i = 0; i <16; i ++) butterflyOperator (& subbandVector [channel] [butterflyOp1 [k] [I], & subbandVector [channel] [butterflyOp2 [k] [i], & subbandVector [channel] [butterflyOp1 [k] [i], & subbandVector [channel] [butterflyOp2 [k] [i], & FCTcoef [k] [i] ); for (i = 0; i <16; i ++) if (subOp1 [k] [1]) subOperator (& subbandVector [channel] [subOp1 [k] [1]], & subbandVector [channel] [subOp2 [k] [ i], & subbandVector [channel] [subOp1 [k] [i], & subbandVector [channel] [subOp2 [k] [i];}} Here, the channels are the left and right channels, and “ butterflyOperator "and" subOperato
The first two independent variables of r "are y1 and y2, and the last two independent variables are x1 and x2.

【0048】kは、0から4までの繰り返しカウンタで
あり。butterflyOp1、butterflyOp2、subOp1、及び sub
Op2 は、ハードウェア演算ユニット内に実現されている
アドレステーブルである。これらのテーブルは以下のよ
うにして構成されている。 ButterflyOp1 and butterflyOp2 : for(k=1,stage =0;k< 32 ;k *=2,stage ++) for(j=0;j< 32 −k;j +=2* k ) for(i=0;i<k;i++) { butterflyOp1 〔stage 〕〔i+j/2〕=i+j; butterflyOp2 〔stage 〕〔i+j/2〕=i+j+k; } subOp1 and subOp2: for(k=1,stage =0;k< 32 ;k *=2,stage ++) for(j=0;j< 32 −k;j +=2* k ) { subOp1〔stage 〕〔j/2〕=0; subOp2〔stage 〕〔j/2〕=0; for( i=1;i<k;i++) { subOp1〔stage 〕〔i+j/2〕=i+j; subOp2〔stage 〕〔i+j/2〕=j+2* k−i; } } バタフライ演算子に使用されているd係数もある ROM
内に記憶されており、以下のようにして計算されてい
る。
K is a repetition counter from 0 to 4. butterflyOp1, butterflyOp2, subOp1, and sub
Op2 is an address table implemented in the hardware operation unit. These tables are configured as follows. ButterflyOp1 and butterflyOp2: for (k = 1, stage = 0; k <32; k * = 2, stage ++) for (j = 0; j <32−k; j + = 2 * k) for (i = 0 I <k; i ++) {butterflyOp1 [stage] [i + j / 2] = i + j; butterflyOp2 [stage] [i + j / 2] = i + j + k;} subOp1 and subOp2: for (k = 1, stage = 0; k <32 K * = 2, stage ++) for (j = 0; j <32−k; j + = 2 * k) {subOp1 [stage] [j / 2] = 0; subOp2 [stage] [j / 2] = 0; for (i = 1; i <k; i ++) {subOp1 [stage] [i + j / 2] = i + j; subOp2 [stage] [i + j / 2] = j + 2 * ki;} にROM with d-coefficient used
And is calculated as follows.

【0049】 サブバンドサンプルの数量化解除 FCT 内で使用する前に、ビットストリームから抽出され
たサブバンドサンプルコードは以下のようにして量子化
解除される。 s′=c* scf(s+d) s =( サンプルコード) / 2^( n−1) c =2^n / 段階 d =−( 段階−1) / 2^n n =サンプルコードのビット数 scf =サンプルに関連する縮尺係数 段階=サブバンドサンプルの符号化に使用された段階の
最大数 段階の値は、特定のデータストリーム及びグループ化条
件に関連付けられた層nに依存する。段階テーブルは M
PEG 仕様に与えられている。
[0049] Subband Sample Dequantization Before use in the FCT, the subband sample code extracted from the bitstream is dequantized as follows. s' = c * scf (s + d) s = (sample code) / 2 ^ (n-1) c = 2 ^ n / step d = − (step-1) / 2 ^ nn = number of bits of sample code scf = Scale factor associated with the sample Stage = Maximum number of stages used to encode the subband samples The value of the stage depends on the particular data stream and layer n associated with the grouping condition. Stage table is M
Given in the PEG specification.

【0050】係数c及びdは、層、ビット数、及びグル
ープ化(もしくはグループ化せず)で完成されたコード
でアドレスされる ROM テーブル内に記憶されている。
係数c及びdは以下のようにして計算される。 if ( layer==LAYER1 )j= 15 ; else if ( layer ==LAYER2 )j= 19 ; for ( i=1;i<j;i++) { if ( layer==LAYER1 )n= bit tbl 〔1〕; else if ( smp tbl 〔1〕! =3) n= bit tbl 〔i〕/ 3; else n= bit tbl 〔i〕+2/ 3; c〔i〕=( 1<<n) / step tbl 〔i〕; d〔i〕=( 1− step tbl 〔i〕/ ( 1<<n) ; } 各索引i毎に、step tbl は、サブバンドサンプルの
符号化に使用可能な段階の数を表し、bit tbl は、サ
ブバンドサンプルを符号化するために使用されるビット
数を表し、smp tbl は、もし符号化がグループ化され
るのであれば=3、そうでなければ1である。そして、
iは、各サブバンドサンプルの符号化の特性である。こ
れは、ビットストリームから抽出された「ビット割当て
( BAL )」情報から回復される。
The coefficients c and d are stored in a ROM table addressed by the layer, the number of bits, and the code completed by grouping (or no grouping).
The coefficients c and d are calculated as follows. if (layer == LAYER1) j = 15; else if (layer == LAYER2) j = 19; for (i = 1; i <j; i ++) {if (layer == LAYER1) n = bit tbl [1]; else if (smp tbl [1]! = 3) n = bit tbl [i] / 3; else n = bit tbl [i] +2/3; c [i] = (1 << n) / step tbl [i]; d [i] = (1-step tbl [i] / (1 <<n); step For each index i, step tbl represents the number of stages available for encoding the subband samples, bit tbl represents the number of bits used to encode the subband samples, and smp tbl is = 3 if the coding is grouped, 1 otherwise. And
i is the encoding characteristic of each subband sample. This is the "bit allocation" extracted from the bitstream.
(BAL) "information.

【0051】これら3つのテーブルは、MPEG 仕様に与
えられている。縮尺係数復号テーブル 縮尺係数は、ビットストリームから抽出された時には符
号化されている。これらは、以下のように構成されてい
る復号テーブルを使用してハードウェアフィルタ演算ユ
ニット32によって復号される。 rs=1/ 2^(1/ 3) scftbl
These three tables are given in the MPEG specification. Scale factor decoding table The scale factor is encoded when extracted from the bitstream. These are decoded by the hardware filter operation unit 32 using a decoding table configured as follows. rs = 1/2 ^ (1/3) scftbl

〔0〕=2; for ( i=1;i< 63 ;i++) scfTbl〔i〕=scfTbl〔i−1〕/ rs;数量化解除プロセス 数量化解除プロセスは、式s= scf×c×( SBB CODE
−d )を遂行する。数学ユニット154は、演算ユニッ
トバッファ30から索引値を受信し、この索引値を図4
で説明したレジスタ172及び174内に記憶すること
によって、この演算を遂行する。索引値は、ROM テーブ
ル170と168とのそれぞれから、c及びd係数と、
縮尺係数とに関する値を検索する。符号化されたサンプ
ルが演算ユニットバッファ30から検索され、数学ユニ
ット154は減算を遂行した後に連続乗算を遂行して量
子化解除されたサンプルを計算する。量子化解除された
サンプルは、図4で説明した SBB RAM 150内に記憶
される。各サンプルは 32の量子化されたサンプルの全
てが SBB RAM 150内に挿入されるまで量子化解除さ
れる。
[0] = 2; for (i = 1; i <63; i ++) scfTbl [i] = scfTbl [i-1] / rs; quantification release process The quantification release process is represented by the formula s = scf × c × ( SBB CODE
Perform -d). The math unit 154 receives the index value from the arithmetic unit buffer 30 and stores the index value in FIG.
This operation is performed by storing in registers 172 and 174, described above. The index values are obtained from the ROM tables 170 and 168 by using the c and d coefficients,
Search for a value related to the scale factor. The coded samples are retrieved from the arithmetic unit buffer 30, and the mathematical unit 154 performs successive multiplications after performing the subtraction to calculate the dequantized samples. The dequantized samples are stored in the SBB RAM 150 described with reference to FIG. Each sample is dequantized until all 32 quantized samples have been inserted into SBB RAM 150.

【0052】図7は、ハードウェアフィルタ演算ユニッ
トブロック32が遂行する量子化解除演算を示す流れ図
である。演算は、計数を0に等しく初期化する段階25
0から開始される。段階252では、演算ユニットバッ
ファ30から検索された索引値を使用して符号化された
サンプルを選択し、選択した符号化されたサンプルを累
算器156内へロードする。段階254においては、索
引値を使用してD係数が ROM 170から検索され、R
1レジスタ158内へロードされる。次の段階256で
は、数学ユニット154は、累算器156内の値からR
1レジスタ158内の値を減算し、その差を累算器15
6内へロードする。段階258では、索引値を使用して
C係数が ROM 170から検索され、C係数の値がR1
レジスタ158内へロードされる。段階260において
は、数学ユニット154は累算器156内に記憶された
値とR1レジスタ158内に記憶された値との積を求め
る。この積は再び累算器156内に記憶される。次の段
階262では、適切な縮尺係数が縮尺係数 ROM 168
からR1メモリ158内へロードされる。段階264に
おいて、数学ユニット154は累算器156内の値とR
1レジスタ158内の値との積を求め、最終的な量子化
解除されたサンプルを、SSB RAM 150内の第1の値が
検索された位置にロードする。次の段階266では、CO
UNT 変数がインクリメントされる。段階268では COU
NT 変数を調べ、それが 32 に等しいか否かを決定す
る。もしCOUNT 変数が未だ 32 に等しくなっていなけ
れば、段階252へ戻って新しい索引値を演算ユニット
バッファ30から検索する。もし COUNT 変数が 32 に
等しければ、図8を参照して以下に説明する高速余弦変
換を遂行する。演算ユニットバッファ30内への索引値
は非線形であり、適切な符号化されたサンプルを適切な
順序で選択する普通のハダマード順序を使用して決定さ
れることを理解されたい。C及びD係数、及び縮尺係数
は、ハダマード索引を使用して演算ユニットバッファ3
0から検索された値に索引付けされる。高速余弦変換プロセス 量子化解除されたサンプルの全てが SSB RAM 150内
に挿入された後、演算ユニットブロックはモードを変化
させて高速余弦変換プロセスを遂行し始める。高速余弦
変換プロセスは、単一の時点における 32 の異なる周波
数レベルを表す32 の 28 ビットサンプルを 32 のサン
プルに効果的に変換する。これらのサンプルを順次に使
用して 22 ミリ秒の時間の間外部スピーカを駆動するこ
とができる。32 の順次サンプルは、16 もしくは 18
ビットの何れかの PCM データフォーマットで出力され
る。
FIG. 7 is a flowchart showing the dequantization operation performed by the hardware filter operation unit block 32. The operation initializes the count equal to 0 step 25
It starts from 0. In step 252, the coded sample is selected using the index value retrieved from the arithmetic unit buffer 30, and the selected coded sample is loaded into the accumulator 156. In step 254, the D coefficient is retrieved from ROM 170 using the index value and R
One register 158 is loaded. In the next step 256, the math unit 154 computes R from the value in accumulator 156
1 register 158 is subtracted, and the difference is subtracted from the accumulator 15
Load into 6. In step 258, the C coefficient is retrieved from ROM 170 using the index value and the value of the C coefficient is
Loaded into register 158. In step 260, math unit 154 determines the product of the value stored in accumulator 156 and the value stored in R1 register 158. This product is again stored in accumulator 156. In the next step 262, the appropriate scale factor is scale factor ROM 168.
Is loaded into the R1 memory 158. In step 264, the math unit 154 compares the value in the accumulator 156 with R
One multiplies with the value in register 158 and loads the final dequantized sample into SSB RAM 150 at the location where the first value was found. In the next step 266, the CO
The UNT variable is incremented. In step 268, COU
Examine the NT variable and determine if it is equal to 32. If the COUNT variable is not yet equal to 32, the process returns to step 252 to retrieve a new index value from the arithmetic unit buffer 30. If the COUNT variable is equal to 32, perform the fast cosine transform described below with reference to FIG. It should be understood that the index values into the arithmetic unit buffer 30 are non-linear and are determined using the normal Hadamard order which selects the appropriate encoded samples in the appropriate order. The C and D coefficients and the scale coefficients are calculated using the Hadamard index.
Index from 0 to the value retrieved. Fast Cosine Transform Process After all of the dequantized samples have been inserted into SSB RAM 150, the arithmetic unit block changes modes and begins performing the fast cosine transform process. The fast cosine transform process effectively transforms 32 28-bit samples representing 32 different frequency levels at a single instant into 32 samples. These samples can be used sequentially to drive an external speaker for a period of 22 milliseconds. 32 sequential samples are 16 or 18
Output in any of the bits in PCM data format.

【0053】図8は、ハードウェアフィルタ演算ユニッ
トブロック32が遂行する高速余弦変換演算を示す流れ
図である。この方法は、 COUNT1 変数を0に等しくセッ
トする段階270から開始される。次の段階272では
COUNT2 変数も0に等しくセットされる。段階274
は、索引値X及びYを初期化する。段階276では、SS
B RAM 150内の位置Xに記憶されているサンプルが累
算器156内にロードされる。次の段階278では、SS
B RAM 150内の位置Yに記憶されているサンプルが R
1 レジスタ158内にロードされる。段階280におい
て数学ユニット154は、累算器156及びR1レジス
タ158内に記憶された値の和を求め、この和を SSB R
AM 150内の位置Xに戻してロードする。段階282
では数学ユニット154は、累算器156及び R1 レジ
スタ158内に記憶された値の差を求め、この差を R1
レジスタ158に戻す。段階284において数学ユニッ
ト154は、R1 レジスタ158内に記憶された差と、
係数メモリ178から検索された係数との積を求める。
この積は SSB RAM 150内の位置Yに記憶される。段
階286では、X及びY変数の次の値がセットされる。
段階288において、COUNT2 変数がインクリメントさ
れる。段階290では、COUNT2 の値が値 16に達した
か否かが調べられる。もし達していなければ段階276
へ戻され、もしCOUNT2 変数が 16 に達していれば段階
292へ進んで COUNT2 変数が再び0に等しくセットさ
れる。
FIG. 8 is a flowchart showing a fast cosine transform operation performed by the hardware filter operation unit block 32. The method begins at step 270 with the COUNT1 variable set equal to zero. In the next step 272
The COUNT2 variable is also set equal to 0. Step 274
Initializes index values X and Y. In step 276, SS
The sample stored at location X in BRAM 150 is loaded into accumulator 156. In the next step 278, SS
The sample stored at position Y in B RAM 150 is R
1 Loaded into register 158. In step 280, math unit 154 sums the values stored in accumulator 156 and R1 register 158, and sums this sum to SSB R
Return to position X in AM 150 and load. Step 282
The math unit 154 determines the difference between the values stored in the accumulator 156 and the R1 register 158 and calculates this difference as R1
Return to register 158. In step 284, math unit 154 determines the difference stored in R1 register 158,
The product with the coefficient retrieved from the coefficient memory 178 is obtained.
This product is stored at location Y in SSB RAM 150. In step 286, the next values of the X and Y variables are set.
At step 288, the COUNT2 variable is incremented. In step 290, it is checked whether the value of COUNT2 has reached the value 16. If not, step 276
If the COUNT2 variable has reached 16, go to step 292 where the COUNT2 variable is again set equal to zero.

【0054】段階294においては、変数X及びYが再
び初期化される。段階296では、SSB RAM 150内の
位置Xに記憶されているサンプルが累算器156内にロ
ードされる。次の段階298では、位置Yに記憶されて
いるサンプルが R1 レジスタ158内にロードされる。
段階300では数学ユニット154は、累算器156ま
たは R1 レジスタ158内に記憶された値の差を求め、
この差を SSB RAM 150内の位置Y内へロードする。
段階302では、X及びY変数の次の値がセットされ
る。段階304において、COUNT2 変数がインクリメン
トされる。段階306では、COUNT2 の値が値 16 に達
したか否かを判定する。もし達していなければ段階29
6へ戻される。もし COUNT2 変数が 16 に達していれば
段階308へ進んで COUNT1 変数がインクリメントされ
る。段階310では、COUNT1 変数が値5に達したか否
かが決定される。もし値5に達していなければ、段階2
72へ戻される。もし COUNT1 変数が値5に達していれ
ば FCT 演算は完了したのであり、図9に示す FIR 演
算が開始される。有限インパルス応答濾波動作 データの高速余弦変換が完了すると、演算ユニットブロ
ック32はそのデータに対してその最後の動作、即ち有
限インパルス応答濾波動作を遂行する。有限インパルス
応答濾波動作の最初の段階は、1024 の 24 ビット値を
記憶する FIR RAMブロック152(図4参照)内へ SSB
RAM 150の内容を複写することである。SSB RAM 1
50内に記憶されている 32 の各値の 24 の最上位ビッ
トが FIRRAM ブロック152内へ複写される。FIR 濾
波は、現在復号中のフレームだけではなく、所定数の先
行フレームをも使用することによって PCM バッファへ
実際に出力される信号を効果的に平均化し、演算ユニッ
ト32から出力される実際の PCM データを計算する。
復号が開始されると、FIR RAM 152は0で満たされ
る。従って演算ユニット32から PCM バッファへの最
初のサンプル出力は、必然的に FIR RAM 152内に記
憶された0を濾波することになる。本発明のデコーダシ
ステムによる音響出力は、有限インパルス応答濾波の動
作のために徐々に上昇して行くようになる。同様に、ビ
ットストリームに符号化されたオーディオ内の鋭い変化
は、演算ユニットブロック32によって遂行される有限
インパルス応答によって緩和される。FIR RAM 152は
循環バッファとして動作し、RAM152内に記憶されて
いるサンプルの最古の集合の上に受信したサンプルの最
新の集合を書込むことによって RAM 内に記憶している
値を絶えず更新し続ける。FIR RAM 152は、それぞれ
が 512 の 24 ビットの値からなる2つの区分に分離さ
れている。左チャネルは一方の区分内に記憶され、右チ
ャネルは他方の区分内に記憶される。
In step 294, variables X and Y are initialized again. At step 296, the sample stored at location X in SSB RAM 150 is loaded into accumulator 156. In the next step 298, the sample stored at location Y is loaded into R1 register 158.
In step 300, math unit 154 determines the difference between the values stored in accumulator 156 or R1 register 158,
This difference is loaded into location Y in SSB RAM 150.
In step 302, the next values of the X and Y variables are set. In step 304, the COUNT2 variable is incremented. In step 306, it is determined whether the value of COUNT2 has reached the value 16. If not, step 29
Returned to 6. If the COUNT2 variable has reached 16, go to step 308 and the COUNT1 variable is incremented. In step 310, it is determined whether the COUNT1 variable has reached the value 5. If value 5 has not been reached, step 2
Returned to 72. If the COUNT1 variable has reached the value 5, the FCT operation has been completed, and the FIR operation shown in FIG. 9 is started. When the fast cosine transform of the finite impulse response filtering data is completed, the arithmetic unit block 32 performs its final operation on the data, ie, the finite impulse response filtering operation. The first step in the finite impulse response filtering operation is to place the SSB into the FIR RAM block 152 (see FIG. 4) that stores 1024 24-bit values.
Copying the contents of the RAM 150. SSB RAM 1
The 24 most significant bits of each of the 32 values stored in 50 are copied into FIRRAM block 152. FIR filtering effectively averages the signal actually output to the PCM buffer by using not only the frame currently being decoded, but also a predetermined number of previous frames, and the actual PCM output from the arithmetic unit 32. Calculate the data.
When decoding starts, FIR RAM 152 is filled with zeros. Thus, the first sample output from the arithmetic unit 32 to the PCM buffer will necessarily filter out the zeros stored in the FIR RAM 152. The sound output by the decoder system of the present invention will gradually rise due to the operation of finite impulse response filtering. Similarly, sharp changes in the audio encoded in the bitstream are mitigated by the finite impulse response performed by the arithmetic unit block 32. FIR RAM 152 operates as a circular buffer, constantly updating the values stored in RAM by writing the latest set of received samples over the oldest set of samples stored in RAM 152. to continue. FIR RAM 152 is separated into two sections, each consisting of 512 24-bit values. The left channel is stored in one section and the right channel is stored in the other section.

【0055】演算ユニットブロック32が遂行する動作
は、一方のチャネル、そして次に他方のチャネルで順次
に遂行されることを理解されたい。換言すれば、一組の
32サンプルは一方のチャネルのみに対応するのであ
り、左チャネルに対応する 32サンプルを処理する前
に、右チャネル用の 32 サンプルが量子化解除され、変
換され、そして濾波されるのである。FIR 濾波は、累算
器156内へ0をロードすることから開始される。次い
で、FIR RAM 152からサンプルが順次に検索され、係
数メモリ178から検索された係数が乗ぜられ、累算器
156内へ加算されて行く。次いで、累算器156内の
値が 16 ビットに丸められる。丸めの後、この値は、そ
れが累算プロセス中に飽和したか否かを調べられる。次
に重み付けされた和が 16 ビット PCM サンプルとして
PCM バッファ34へ出力される。濾波は、FIR RAM 1
52内に記憶されている各 32 サンプル毎に遂行され
る。従って、各サンプルはそのサンプル自体の値を使用
して、先に出力された他の 15 の重みを付けられた和に
加算される。図9は、ハードウェアフィルタ演算ユニッ
トブロック32が遂行する有限インパルス応答濾波演算
を示す流れ図である。FIR 演算は、COUNT1 変数を0に
セットする段階312から開始される。段階314で
は、COUNT1 変数によって識別される SBB RAM 150
内の位置に記憶されている値が〔 COUNT1 変数+ LAST B
LOCK 変数〕に等しい FIR RAM 152内のアドレスへ
移動される。LAST BLOCK 変数は、図9に示す FIR 動
作が遂行された先行時点から FIR RAM 152へ書込ま
れた最後の値のアドレス以降の1つの位置を指し示して
いる。LAST BLOCK 変数は、0に等しいかもしくは大き
く、512 よりは小さい。FIR RAM 152へ書込まれる 2
4 ビットの値は、SSB RAM 150内に記憶されている 2
8 ビット値の 24 の最上位ビットからなっている。
Operation Performed by Operation Unit Block 32
Is in order on one channel and then on the other
Should be understood that In other words, a set of
 32 samples correspond to only one channel
Before processing the 32 samples corresponding to the left channel
32 samples for the right channel are dequantized and transformed
It is converted and filtered. FIR filtering is cumulative
It begins by loading 0 into the unit 156. Next
Sample is sequentially searched from the FIR RAM 152,
Multiplied by the coefficient retrieved from the number memory 178, the accumulator
It is added to 156. Then, in accumulator 156
The value is rounded to 16 bits. After rounding, this value
It can be checked whether it has been saturated during the accumulation process. Next
Weighted sum as a 16-bit PCM sample
 Output to PCM buffer 34. The filtering is FIR RAM 1
Performed for each 32 samples stored in 52
You. Therefore, each sample uses its own value
To the other 15 weighted sums output earlier.
Is added. FIG. 9 shows the hardware filter operation unit.
Impulse response filtering performed by the block 32
FIG. FIR operation sets COUNT1 variable to 0
The process starts from the setting step 312. At step 314
Is the SBB RAM 150 identified by the COUNT1 variable.
The value stored at the position in the [COUNT1 variable + LAST B
LOCK variable] to an address in FIR RAM 152
Be moved. LAST The BLOCK variable is the FIR operation shown in FIG.
Write to FIR RAM 152 from the previous point where the work was performed
To one position after the address of the last value
I have. LAST BLOCK variable is greater than or equal to 0
Smaller than 512. Written to FIR RAM 152 2
The four bit value is stored in SSB RAM 150
Consists of the 24 most significant bits of an 8-bit value.

【0056】ルーチンは段階314から段階316へ進
み、COUNT1 変数がインクリメントされる。段階318
において、COUNT1 変数が値 32 に到達したか否かを判
断する。もし COUNT1 変数が値 32 に到達していなけれ
ば、SSB RAM 150内に記憶されている値の全ては未だ
FIR RAM 152内へ複写されていないのであり、段階
312へ戻される。もし COUNT1 変数が値 32 に到達し
ていれば、段階320において LAST BLOCK 変数がそ
の最後の値に加算されて更新される。次の段階322で
は、COUNT1 変数が0にセットされる。段階324にお
いて COUNT2 変数が0にセットされる。次いで段階32
6においては、値0が累算器156内へロードされる。
段階328においては、INDEX 変数によって指定される
FIR RAM 152内の位置からある値が検索される。こ
の値は R1 レジスタ158内へロードされる。INDEX 変
数は〔 COUNT1 変数+ ( COUNT2 変数×値 32 ) 〕に等
しい。段階328は、FIR RAM 152内に存在する各組
の 32 値から1つのサンプルを効果的に検索する。段階
330では、R1 レジスタ158内の値に係数メモリ1
78から検索された係数が乗ぜられ、その積が R1 レジ
スタ158内に記憶される。段階332では、累算器1
56内の値が R1 レジスタ158内の値に加算され、そ
の和が累算器156内へ戻される。段階332は、FIR
RAM 152から検索された全ての値(係数メモリ178
から検索した係数によって適切に縮尺してある)の和を
効果的に累算する。
From step 314, the routine proceeds to step 316, where the COUNT1 variable is incremented. Step 318
In, it is determined whether the COUNT1 variable has reached the value 32. If the COUNT1 variable has not reached the value 32, all of the values stored in SSB RAM 150 are still
It has not been copied into FIR RAM 152 and is returned to step 312. If the COUNT1 variable has reached a value of 32, The BLOCK variable is updated by adding it to its last value. In the next step 322, the COUNT1 variable is set to zero. In step 324, the COUNT2 variable is set to zero. Then step 32
At 6, the value 0 is loaded into accumulator 156.
In step 328, specified by the INDEX variable
A value is retrieved from a location in FIR RAM 152. This value is loaded into R1 register 158. The INDEX variable is equal to [COUNT1 variable + (COUNT2 variable x value 32)]. Step 328 effectively retrieves one sample from each set of 32 values present in FIR RAM 152. In step 330, the value in R1 register 158 is stored in coefficient memory 1
The coefficient retrieved from 78 is multiplied and the product is stored in R1 register 158. In step 332, accumulator 1
The value in 56 is added to the value in R1 register 158 and the sum is returned in accumulator 156. Step 332 is an FIR
All values (coefficient memory 178) retrieved from RAM 152
, Which is appropriately scaled by the coefficients retrieved from).

【0057】次に段階334へ進み、COUNT2 変数がイ
ンクリメントされる。段階336はCOUNT2 変数が値 1
6 に到達したか否かを調べる。もし到達していなけれ
ば、段階328へ戻される。もし COUNT2 変数が値 16
に到達していれば、段階338において累算器156内
に記憶されている値が丸められ、数学ユニット154に
おいて飽和が検査される。段階340では、丸められた
値が PCM バッファ34内に記憶される。次の段階34
2では、COUNT1 変数がインクリメントされる。段階3
44は、COUNT1 変数が値 32 に達したか否かを調べ
る。もし COUNT1 変数が未だ値 32 に達していなけれ
ば、段階324に戻る。もし 32 に達していればルーチ
ンは完了し、次の 32 サンプルのブロックに対して図7
で説明した量子化解除プロセスが開始される。次のブロ
ックは、今まで処理してきたブロックに対応するそのチ
ャネルのための残りであるか、もしくは量子化解除、変
換、及び濾波すべき反対側のチャネルの次の組のオーデ
ィオサンプルの何れかである。図10は、本発明のシス
テムを収容することができる一つの考え得るパッケージ
を示すピン・アウト図である。次表は、このピン・アウ
ト図に示されている信号の内容を記述している。 ピン名 ピン番号 I/O 説 明 A9 58 A8 63 A7 64 A6 65 A5 66 O DRAMアドレスバス出力 A4 68 A3 69 A2 71 A1 72 A0 74 〔BOF 〕バー 27 O フレーム信号の始まり 〔CAS 〕バー 48 O DRAM列アドレスストローブ CLK90 28 I 90 kHz 基準クロック入力 CLKOUT 8 O バッファ付き 24 MHz 発振器出力 D3 51 D2 52 I/O DRAMデータバス D1 56 D0 57 〔DCS 〕バー) 94 I チップ選択 ピン名 ピン番号 I/O 説 明 DMPH1 26 O 復号済デエンファシス選択出力 DMPH0 25 〔DSTRB 〕バー 93 I データストローブ FS1 23 O 復号済サンプリング周波数出力 FS0 22 GND(図面参照) 接地 〔IRQ 〕バー 101 O 割込み要求 LRCLK 17 O 左/右チャネル選択出力 〔MUTE〕バー 117 I オーディオ出力沈黙強制 〔OE〕バー 44 O DRAM出力可能化 〔OSCEN 〕バー 6 I バッファ付き発振器出力可能化 OSCIN 3 I 24 MHz 発振器入力または水晶接続 OSCOUT 4 O 水晶接続(水晶低側) PCMCLK 14 I PCMクロック入力 PCMDATA 20 O PCM直列データ出力 〔PLAY〕バー 118 I 復号済オーディオの出力可能化 〔PTS 〕バー 11 O PCM出力にオーディオ関連PTSの 存在を信号 〔RAS 〕バー 50 O DRAM行アドレスストローブ 〔REQ 〕バー) 99 O データ要求 〔RESET 〕バー116 I リセット信号 RD/〔WR〕バー 95 I 読出し/書込み選択 ピン名 ピン番号 I/O 説 明 SADDR6 114 SADDR5 112 SADDR4 111 SADDR3 109 I レジスタアドレスバス SADDR2 108 SADDR1 107 SADDR0 103 SCLK 19 O PCMクロック出力 SDATA7 77 SDATA6 78 SDATA5 80 SDATA4 81 I/O レジスタ及びデータ入力/出力用 SDATA3 83 8ビット並列データバス SDATA2 85 SDATA1 86 SDATA0 87 SIN 88 I 直列圧縮オーディオデータ入力 TCK 35 I JTAGクロック入力 TDI 40 I JTAGデータ入力 TDO 37 O JTAGデータ出力 TEST 42 I 試験可能化 TMS 39 I JTAGモード選択入力 VCC(図面参照) I 5V電力 〔WAIT〕バー 100 O 待機要求…3状態出力 〔WE〕バー 43 O DRAM読出し/〔書込み〕バー制御 オーディオ復号動作流れ図 動作の概要
Next, proceeding to step 334, the COUNT2 variable is incremented. Step 336 is when the COUNT2 variable has the value 1
Check to see if you have reached 6. If not, the process returns to step 328. If the COUNT2 variable has the value 16
Is reached, the value stored in accumulator 156 is rounded in step 338 and saturation is checked in mathematical unit 154. In step 340, the rounded value is stored in PCM buffer 34. Next stage 34
In 2, the COUNT1 variable is incremented. Stage 3
44 checks whether the COUNT1 variable has reached the value 32. If the COUNT1 variable has not yet reached the value 32, return to step 324. If 32 has been reached, the routine is complete and the next 32 sample blocks shown in FIG.
The dequantization process described in (1) is started. The next block is the remainder for that channel corresponding to the block that has been processed so far, or in either the next set of audio samples of the opposite channel to be dequantized, transformed, and filtered. is there. FIG. 10 is a pin-out diagram showing one possible package that can accommodate the system of the present invention. The following table describes the contents of the signals shown in this pinout diagram. Pin name Pin number I / O Description A9 58 A8 63 A7 64 A6 65 A5 66 O DRAM address bus output A4 68 A3 69 A2 71 A1 72 A0 74 [BOF] bar 27 O Start of frame signal [CAS] bar 48 O DRAM column address strobe CLK90 28 I 90 kHz Reference clock input CLKOUT 8 O Buffered 24 MHz oscillator output D3 51 D2 52 I / O DRAM data bus D1 56 D0 57 [DCS] bar) 94 I Chip selection Pin name Pin number I / O Description DMPH1 26 O Decoded de-emphasis selection output DMPH0 25 [DSTRB] bar 93 I Data strobe FS1 23 O Decoded sampling frequency output FS0 22 GND (see drawing) Ground [IRQ] bar 101 O Interrupt request LRCLK 17 O Left / right channel selection output [MUTE] bar 117 I Audio output silence forced [OE] bar 44 O DRAM output enabled [OSCEN] bar 6 I Buffered oscillator output enabled OSCIN 3 I 24 MHz oscillator input Or crystal connection OSCOUT 4 O crystal connection (crystal low side) PCMCLK 14 I PCM clock input PCMDATA 20 O PCM serial data output [PLAY] bar 118 I Enable output of decoded audio [PTS] bar 11 O PCM output related to audio the presence of PTS No. [RAS] bar 50 O DRAM row address strobe [REQ] bar) 99 O data request [RESET] bar 116 I reset signal RD / [WR] bar 95 I read / write select Pin Name Pin Number I / O Description SADDR6 114 SADDR5 112 SADDR4 111 SADDR3 109 I Register Address Bus SADDR2 108 SADDR1 107 SADDR0 103 SCLK 19 O PCM Clock Output SDATA7 77 SDATA6 78 DATA DATA80 DATA use SDATA3 83 8-bit parallel data bus SDATA2 85 SDATA1 86 SDATA0 87 SIN 88 I serial compressed audio data input TCK 35 I JTAG clock input TDI 40 I JTAG data input TDO 37 O JTAG data output tEST 42 I tests enabling TMS 39 I JTAG Mode selection input VCC (see drawing) I 5V power [WAIT] bar 100 O Waiting request ... 3-state output [WE] bar 43 O DRAM read / [write] bar control audio decoding operation Flow chart Outline of operation

【0058】図11はオーディオデコーダブロック28
の高レベルアクティビティを示す流れ図である。処理
は、リセットの後に、外部バッファ26の存否をシステ
ムが調べる段階400から開始される。ブロック400
を完了させるために使用されるプロセスに関しては図1
2を参照して後述する。段階402において、オーディ
オデコーダブロック28が使用する複数の変数がリセッ
トされる。変数をリセットするために使用されるプロセ
スに関しては図13を参照して後述する。判断段階40
4においてオーディオデコーダブロック28は、復号す
べきデータが入力バッファ24もしくは外部バッファ2
6内に存在するか否かを決定する。もし使用可能なデー
タが存在しなければ、データが使用可能になるまでシス
テムは検査し続け、次いで段階406へ進んでシステム
はデータストリーム内の同期を回復することを試みる。
オーディオデコーダブロック28が同期を回復するため
に使用するプロセスは図14及び15を参照して後述す
る。同期を回復した後の段階408では、オーディオデ
コーダブロック28が受信したビットストリームが復号
され、演算ユニットバッファ30へ渡される。図11の
段階408を完了させるために使用するプロセスに関し
ては図36を参照して後述する。復号ループ408は入
力バッファ24もしくは外部バッファ26内の全てのデ
ータが復号されるか、もしくはストリームの終わり状態
が発生するまで続けられる。初期 DRAM 検査プロセス 図12は、使用可能なバッファメモリの大きさを検査す
るためにオーディオデコーダブロック28が使用するプ
ロセスの詳細を示す。プロセスは DRAM フラグをセット
する段階410から開始される。段階412では、所定
のビット列(もしくはストリング)P2及びP1の 32
ビット値が3つの異なるアドレスへ書込まれる。次に段
階414において、第1のアドレスからの READ 動作が
遂行される。段階416においては、アドレス 149 か
ら検索された値とP2変数とを比較する。もしこの比較
が有効でなければ、それはアドレス 149 が存在せず、
また外部 DRAM が存在していないことを表している。従
って段階418へ分岐し、プロセスは内部 SRAM バッフ
ァ24を使用するようにセットアップされる。PTSバッ
ファの大きさは、入力バッファ24内に単一 PTS を記
憶するように動作可能な2語に等しくセットされる。プ
ロセスは段階418から段階420へ進み、DRAM フラ
グがクリアされる。DRAM 検査プロセスは段階420で
完了する。
FIG. 11 shows the audio decoder block 28.
5 is a flowchart showing a high-level activity of FIG. The process begins at step 400, after a reset, where the system checks for the presence of the external buffer 26. Block 400
Figure 1 shows the process used to complete
2 will be described later. In step 402, the variables used by audio decoder block 28 are reset. The process used to reset the variables is described below with reference to FIG. Decision stage 40
4, the audio decoder block 28 outputs the data to be decoded to the input buffer 24 or the external buffer 2.
6 is determined. If no data is available, the system continues to check until data is available, and then proceeds to step 406 where the system attempts to restore synchronization in the data stream.
The process used by audio decoder block 28 to restore synchronization is described below with reference to FIGS. In step 408 after the synchronization is restored, the bit stream received by the audio decoder block 28 is decoded and passed to the arithmetic unit buffer 30. The process used to complete step 408 of FIG. 11 is described below with reference to FIG. Decoding loop 408 continues until all data in input buffer 24 or external buffer 26 has been decoded or an end-of-stream condition occurs. Initial DRAM Check Process FIG. 12 details the process used by audio decoder block 28 to check the size of available buffer memory. The process starts at step 410 where the DRAM flag is set. In step 412, 32 of predetermined bit strings (or strings) P2 and P1
Bit values are written to three different addresses. Next, in step 414, a READ operation from the first address is performed. In step 416, the value retrieved from address 149 is compared with the P2 variable. If this comparison is not valid, it means that address 149 does not exist,
It also indicates that there is no external DRAM. Accordingly, a branch is made to step 418, where the process is set up to use the internal SRAM buffer 24. The size of the PTS buffer is set equal to two words operable to store a single PTS in the input buffer 24. The process proceeds from step 418 to step 420, where the DRAM flag is cleared. The DRAM test process is completed at step 420.

【0059】段階416において、もしアドレス位置 1
49 からP2値が検索されれば、プロセスは段階422
へ進んでシステムは 600 バイトバッファを使用するよ
うにセットアップされる。PTS バッファの大きさが、60
0 バイトバッファ内で4語にセットされる。段階424
において、アドレス位置 8191 から読出すことを試みる
ことによってシステムは、さらなる DRAM アドレス位置
の存在を検査する。段階426では、アドレス 8191 か
ら検索された値とP1値とが比較される。もしこの比較
が有効でなければ、段階434へ分岐して TEST REG
変数が試験される。もしTEST REG 変数が1に等しくな
ければ、このプロセスは終了する。もしTEST REG 変数
が1に等しければ、段階436へ進んで PTS バッファ
の大きさが 32 語に等しくセットされる。もし段階42
6における比較が有効であれば、段階428においてシ
ステムは256 キロビットのバッファの大きさを使用する
ように設定される。PTS バッファの大きさは 256 キロ
ビットバッファ内で 1640 語にセットされる。次の段階
430は、アドレス 32767 を読出すことによってより
多くの DRAM が存在するか否かを試験する。段階432
において、アドレス 32767 から検索された値とP2変
数とを比較する。もし段階432における比較が有効で
なければ、再度段階434へ進められ、TEST REG 変数
が試験される。もし段階432における比較が有効であ
ば、段階433においてシステムは1メガビットバッフ
ァを使用するように設定される。PTS バッファの大きさ
は1メガビットバッファ内で 6554 語にセットされる。
これで段階434へ進み、TEST REG 変数が試験され
る。変数初期化及びリセット 図13に、オーディオデコーダブロック28が遂行する
レジスタ及びオーディオ復号プロセスに使用する変数の
クリア及び初期化のプロセスを示す。このプロセスは、
見出しレジスタを0に等しくセットする段階438から
開始される。段階440では PTS レジスタが0にセッ
トされる。段階442において、オーディオ入力語計数
AIWC が0に等しくセットされ、また第2のオーディオ
入力語計数 AIWC2 が1に等しくセットされる。次の段
階444では、INTERNAL FLAG レジスタが0に等しくセ
ットされる。この INTERNAL FLAG レジスタは、NO RE
AD、REPLAY、REPEAT、MUTE、EC、SYNTAX、及び PTS フ
ラグを含む。段階446では、オーディオバッファの大
きさが PTS ポインタ( PTS PTR ) 内へ入力される。
これは、提示タイムスタンプ値を記憶するために使用可
能な第1の位置に PTS PTR を配置する。
In step 416, if address location 1
If the P2 value is retrieved from 49, the process proceeds to step 422.
Proceed to and the system is set up to use a 600 byte buffer. The size of the PTS buffer is 60
Set to 4 words in the 0 byte buffer. Step 424
At, the system checks for the presence of additional DRAM address locations by attempting to read from address location 8191. In step 426, the value retrieved from address 8191 is compared with the P1 value. If the comparison is not valid, branch to step 434 and TEST REG
The variables are tested. If TEST If the REG variable is not equal to one, the process ends. If TEST If the REG variable is equal to 1, proceed to step 436 where the size of the PTS buffer is set equal to 32 words. If stage 42
If the comparison at 6 is valid, then at step 428 the system is set to use a buffer size of 256 kilobits. The size of the PTS buffer is set to 1640 words in a 256 Kbit buffer. The next step 430 tests whether there is more DRAM by reading address 32767. Step 432
In step 2, the value retrieved from address 32767 is compared with the P2 variable. If the comparison in step 432 is not valid, proceed to step 434 again and test The REG variable is tested. If the comparison in step 432 is valid, then in step 433 the system is set to use a one megabit buffer. The size of the PTS buffer is set to 6554 words in a 1 megabit buffer.
Now go to step 434, TEST The REG variable is tested. Variable Initialization and Reset FIG. 13 shows the process of clearing and initializing registers used by the audio decoder block 28 and variables used in the audio decoding process. This process is
Beginning at step 438, setting the header register equal to zero. In step 440, the PTS register is set to zero. In step 442, the audio input word count
AIWC is set equal to zero and the second audio input word count AIWC2 is set equal to one. In the next step 444, the INTERNAL FLAG register is set equal to zero. This INTERNAL FLAG register contains NO RE
Includes AD, REPLAY, REPEAT, MUTE, EC, SYNTAX, and PTS flags. In step 446, the size of the audio buffer is determined by the PTS pointer (PTS pointer). PTR).
This sets the PTS in the first location that can be used to store the presentation timestamp value. Place PTR.

【0060】INTERNAL FLAG レジスタは、オーディオデ
コーダが使用するオーディオデコーダ RAM 148の専
用部分である。NO READ フラグは、フレームを読出さ
ない場合にセットされる。REPLAY フラグは、オーディ
オデコーダブロック28が最後の良好なフレームを再生
中であることを指示する。REPEAT フラグは、通常は同
期を再び取得するためにある遅延を導入できるように最
後の良好フレームを繰り返させるマイクロプロセッサホ
スト12からの命令である。MUTE フラグは、オーディ
オデコーダブロック28が「無音」( no sound )もしく
は0フレームを出力する時には必ずセットされる。誤り
隠し( EC )フラグは、オーディオデコーダブロック28
が誤りを検出し、ある種の誤り隠しを遂行する時にセッ
トされる。SYNTAX フラグは、オーディオデコーダブロ
ック28が構文誤りを検出するとセットされる。PTS フ
ラグは、提示タイムスタンプがビットストリーム内に検
出されるとセットされる。段階448において、オーデ
ィオポインタ( AUDIO PTR ) が0にセットされる。次
の段階450では、最後の良好フレームポインタ( LGF
PTR ) 及び最後の良好フレームの大きさ( LGF SIZE
)の両フィールドが0に等しくセットされる。段階45
2においては、現フレームポインタ( CF PTR ) 変数及
び現フレームの大きさ( CF SIZE )変数が0に等しくセ
ットされる。段階454では、次のフレームポインタ(
NF PTR ) 変数及び次のフレームの大きさ( NF SIZE )
変数が0に等しくセットされる。段階456では、再生
計数( REPLAY CNT ) 及びスキップ計数( SKIP CNT )
の両変数が0に等しくセットされる。段階458では、
不良ビット計数( BAD BIT CNT ) 値が0に等しくセ
ットされる。最終段階460では、先行見出しレジスタ
が0に等しくセットされる。これでオーディオデコーダ
ブロック28は変数をリセットするために使用されるプ
ロセスから出て図11で説明した段階404へ進み、オ
ーディオデコーダは「オーディオ入力語計数」( AIWC )
変数(この変数は、復号すべきデータをシステムデコー
ダブロック20が入力バッファ24もしくは外部バッフ
ァ26内へ配置したことを指示する)を繰り返して試験
することによって、復号すべきデータを待機する。同期取得 図14及び15は、オーディオデコーダブロック28が
同期文字を探索して到来するビットストリーム内の同期
を取得する手法を示す。プロセスは、同期計数( SYNC
CNT ) 変数として〔 SYNC LCK レジスタ値+1〕をロ
ードする段階462から開始される。SYNC LCK レジス
タ値は、オーディオデコーダブロック28が自分自身を
同期にロックさせたと見做すことができるまでに、オー
ディオデコーダブロック28がどれ程多くの同期語を探
知しなければならないかを指定するためにマイクロプロ
セッサホスト12が使用する値である。段階464で
は、GSYN命令が 65,535 ビットのパラメタを用いて実行
される。前述したように、GSYN 命令は、同期語を探知
するまで、もしくは即値オペランド内に指定されている
値に到達するまで、ビットストリーム内のビットを順次
に検索する。65,535はGSYN 命令の即値オペランドの最
大値である。
The INTERNAL FLAG register is a dedicated part of the audio decoder RAM 148 used by the audio decoder. NO The READ flag is set when no frame is read. The REPLAY flag indicates that the audio decoder block 28 is playing the last good frame. The REPEAT flag is an instruction from the microprocessor host 12 that normally repeats the last good frame so that some delay can be introduced to regain synchronization. The MUTE flag is set whenever the audio decoder block 28 outputs "no sound" or 0 frames. The error concealment (EC) flag is set in the audio decoder block 28.
Is set when it detects an error and performs some kind of error concealment. The SYNTAX flag is set when the audio decoder block 28 detects a syntax error. The PTS flag is set when a presentation timestamp is detected in the bitstream. In step 448, the audio pointer (AUDIO PTR) is set to 0. In the next step 450, the last good frame pointer (LGF
PTR) and the size of the last good frame (LGF SIZE
) Are set equal to zero. Stage 45
2, the current frame pointer (CF PTR) Variable and current frame size (CF SIZE) variable is set equal to 0. In step 454, the next frame pointer (
NF PTR) variable and next frame size (NF SIZE)
The variable is set equal to 0. In step 456, the reproduction count (REPLAY CNT) and skip counting (SKIP CNT)
Are set equal to zero. In step 458,
Bad bit count (BAD BIT CNT) Value is set equal to 0. In a final step 460, the leading header register is set equal to zero. The audio decoder block 28 now exits the process used to reset the variables and proceeds to step 404 described in FIG. 11, where the audio decoder performs an "audio input word count" (AIWC).
It waits for the data to be decoded by repeatedly testing a variable (which indicates that the data to be decoded has been placed by the system decoder block 20 in the input buffer 24 or the external buffer 26). Synchronization Acquisition FIGS. 14 and 15 illustrate the manner in which the audio decoder block 28 searches for synchronization characters and acquires synchronization in the incoming bit stream. The process uses the sync count (SYNC
CNT) variable as (SYNC LCK register value +1] is loaded at step 462. SYNC The LCK register value is used to specify how many sync words the audio decoder block 28 must detect before the audio decoder block 28 can be considered to have locked itself synchronously. This value is used by the microprocessor host 12. In step 464, the GSYN instruction is executed using 65,535 bit parameters. As described above, the GSYN instruction sequentially searches for bits in the bitstream until it finds a synchronization word or reaches the value specified in the immediate operand. 65,535 is the maximum value of the immediate operand of the GSYN instruction.

【0061】段階466においては、段階464におい
て同期語を見出したか否かの判断が行われる。もし同期
語が見出されていなければ、段階468において自動語
計数機能が可能にされているか否かの判断が行われる。
もし自動語計数機能が可能にされていれば、段階478
へ進んで AUDIO PTR が 11 ビット分後退する。AUDIO
PTR は、入力バッファ24もしくは外部バッファ26
内を指し示すポインタであって、オーディオデコーダブ
ロック28が現在読出し中の位置を指示する。(もし同
期語を見出せば、GSYN 命令は制御状態レジスタブロッ
ク22内のけた上げビットをセットする。)自動語計数
機能は、システムが良好なフレームを保管しておらず、
また図14に詳述されているマイクロコードを使用して
BAD BIT CNT を追跡していないことを指示する。従
って、もし自動語計数機能が可能にされていれば、プロ
セスは単に段階464へ戻されて別の GSYN 命令が遂行
されるだけである。段階468において、もし自動語計
数機能が可能にされていないと判断されれば、入力バッ
ファ24内の不良ビットは、システムデコーダブロック
20がこれらのビット上に重ね書きできるように解放し
なければならない。従って段階470へ進み、 BAD BI
T CNT 及び LGF SIZE 変数を使用して入力バッファ
24内の複数のビットを解放する。次に段階472で
は、入力バッファ24もしくは外部バッファ26内の 6
5,524 ビットが解放される。数 65,524は GSYN 命令の
独立変数として使用される数よりも小さい 11 ビットで
ある。同期語は 12 ビット長であるから、この検索され
る最後の 11 ビットは同期語内の11 ビットであること
ができる。
At step 466, a determination is made whether a synchronization word has been found at step 464. If a sync word has not been found, a determination is made at step 468 as to whether the automatic word counting function has been enabled.
If the automatic word counting function is enabled, step 478
Proceed to AUDIO PTR moves back by 11 bits. AUDIO
PTR is input buffer 24 or external buffer 26
The audio decoder block 28 points to a position currently being read. (If the sync word is found, the GSYN instruction sets the carry bit in the control status register block 22.) The automatic word count function is used when the system has not stored a good frame and
Also, using the microcode detailed in FIG.
BAD BIT Indicates that the CNT is not being tracked. Thus, if the automatic word counting function is enabled, the process simply returns to step 464 to perform another GSYN instruction. If it is determined in step 468 that the automatic word count function has not been enabled, the bad bits in input buffer 24 must be freed so that system decoder block 20 can overwrite these bits. . So go to step 470, BAD BI
T CNT and LGF The SIZE variable is used to free multiple bits in input buffer 24. Next, in step 472, the 6 in the input buffer 24 or the external buffer 26
5,524 bits are released. The number 65,524 is 11 bits smaller than the number used as the independent variable in the GSYN instruction. Since the sync word is 12 bits long, the last 11 bits retrieved can be 11 bits in the sync word.

【0062】段階474では BAD BIT CNT 変数が0
に等しくセットされ、段階476では LGF SIZE 変数
が0に等しくセットされる。段階478においては、入
力バッファ24もしくは外部バッファ26を指し示すポ
インタがビットストリーム内を 11 ビット分後退するよ
うに操作される。前述したように、最後の 11 ビット読
出しは不完全同期の部分であり得るので、段階464へ
戻された時にはこれらの 11 ビットを再検査しなければ
ならない。段階466においてもし同期語を探知してい
れば、段階480では CF PTRが〔 AUDIO PTR − 12
ビット〕に等しくセットされる。CF PTR は、実際に
は同期語から始まるフレームの始まりを指し示すために
使用される。段階482では GBT 及び GBTL 命令を使
用して、見出し情報からなるビットストリームの次の 2
0 ビットを検索する。これらの 20 ビットは制御状態レ
ジスタブロック22内の見出しレジスタ内に記憶され
る。段階484では、フレームをセットアップするため
に必要なルーチンが遂行される。これらのルーチンに関
しては図16及び17を参照して後述する。セットアッ
プされたフレームルーチンは、オーディオデコーダブロ
ック28がオーディオフレームを復号し始めることが可
能になるまでに、必要な全ての計算を遂行する。
In step 474, BAD BIT CNT variable is 0
Is set equal to The SIZE variable is set equal to 0. In step 478, the pointer pointing to the input buffer 24 or the external buffer 26 is manipulated to move backward in the bit stream by 11 bits. As mentioned above, these 11 bits must be re-examined when returned to step 464 since the last 11 bit read may be part of the incomplete synchronization. If a sync word has been detected in step 466, then in step 480 CF PTR [AUDIO PTR-12
Bit]. CF The PTR is used to actually point to the beginning of the frame starting from the sync word. Stage 482 uses the GBT and GBTL instructions to generate the next two bits of the header information bit stream.
Search for 0 bit. These 20 bits are stored in a header register in the control status register block 22. In step 484, the necessary routines to set up the frame are performed. These routines will be described later with reference to FIGS. The set up frame routine performs all necessary calculations before the audio decoder block 28 can begin decoding audio frames.

【0063】段階486においては、SYNTAX フラグが
調べられる。もし SYNTAX フラグが1であれば、段階4
88へ進む。SYNTAX フラグは、この経路の段階484
においてフレームをセットアップ中に構文誤りが検出さ
れたことを指示する。段階488では、AUDIO PTR が
31 ビット位置だけ減少される。プロセスは段階489
に進み、BAD BIT CNT が1だけインクリメントされ
て段階462へ戻される。段階488は、段階464に
おいて探知された同期語の始まりから1ビット過ぎた位
置までポインタを効果的に戻す。もし段階486におい
て SYNTAX フラグがセットされていなければ段階490
へ進み、SYNC LOOKAHEAD フラグがセットされているか
否かに依存して分岐が発生する。もし SYNC LOOKAHEA
D フラグがセットされていれば、段階492において A
UDIO PTR に NF PTR の値がロードされる。次いで段
階494において、次の 12 ビットが検索され、これら
のビットが同期語からなるか否かが決定される。もしこ
れらのビットが同期語からなっていなければ、段階49
6において AUDIO PTR が〔 CF PTR +1ビット〕の
値にセットされる。プロセスは段階489へ進んで BAD
BIT CNT が1だけインクリメントされた後、段階4
62へ戻されて再び同期語を探索する。段階494にお
いて、もし次の 12 ビットが同期語であったならば、段
階498において AUDIO PTR が〔 CF PTR + 32 ビ
ット〕の値にセットされる。次に段階500において、
同期計数がデクレメントされる。段階490において、
もしSYNC LOOKAHEAD フラグがセットされていなけれ
ば、プロセスは直接段階500へ進められる。
In step 486, the SYNTAX flag is examined. If the SYNTAX flag is 1, step 4
Go to 88. The SYNTAX flag is set in step 484 of this route.
Indicates that a syntax error was detected during frame setup. In step 488, the AUDIO PTR is
Decreased by 31 bit positions. The process is step 489
Continue to BAD BIT The CNT is incremented by one and returned to step 462. Step 488 effectively returns the pointer to a position one bit beyond the beginning of the sync word found in step 464. If the SYNTAX flag is not set in step 486, step 490
Go to SYNC Branches occur depending on whether the LOOKAHEAD flag is set or not. If SYNC LOOKAHEA
If the D flag is set, then in step 492 A
UDIO PTR to NF The value of PTR is loaded. Then, in step 494, the next 12 bits are searched to determine whether these bits consist of a sync word. If these bits do not consist of a sync word, step 49
AUDIO at 6 PTR is [CF PTR + 1 bit]. The process proceeds to step 489 and BAD
BIT Step 4 after the CNT is incremented by one
Returning to step 62, the synchronization word is searched again. At step 494, if the next 12 bits were a sync word, then at step 498 AUDIO PTR is [CF [PTR + 32 bits]. Next, in step 500,
The synchronization count is decremented. At step 490,
If SYNC If the LOOKAHEAD flag is not set, the process proceeds directly to step 500.

【0064】プロセスは図15へ進み段階502におい
て同期計数変数を調べそれが0に等しいか否かを決定す
る。もし段階500におけるデクレメント後の同期計数
変数が0に等しければ、段階504は同期状態変数を 1
1 に等しくセットする。この同期状態変数の値は、必要
数の同期語を検出したこと、及びそれによりシステムが
ロックされた同期状態にあることをシステムの残余の部
分に指示する。もし段階502において同期計数変数が
0に等しくなければ、段階506において誤り隠しモー
ド( ECM ) 変数に、マイクロプロセッサホスト12によ
ってセットされた同期誤り隠しモードレジスタの内容が
ロードされる。同期誤り隠しモードはオーディオデコー
ダブロック28が同期ロック状態に到達するまでに必要
な数の同期語を探索している間に、存在しているデータ
で何をなすべきかを指定する。隠しモードがセットされ
た後、段階508において誤り隠しルーチンが遂行され
る。誤り隠しルーチンに関しては図19を参照して後述
する。要約すれば、誤り隠しは、データの最後の良好フ
レームを用いたり、現フレームを用いたり、現フレーム
をスキップさせたり、もしくは現フレームの間出力を沈
黙させたりすることができる。以下に説明するように、
これらのオプションは、誤り隠しモード変数によって、
もしくは外部バッファ26の存否によって指定される。
段階510において、誤り隠しモード変数が調べられ
る。もし誤り隠しモードが MUTE、REPLAY もしくは何
もせず、であれば段階512においてオーディオフレー
ムが復号される。オーディオデコーダブロック28が使
用するプロセスに関しては図20及び21を参照して後
述する。プロセスは段階512から段階514へ進ん
で、オーディオデコーダブロック28はバッファ管理を
遂行する。もしそのオーディオフレームをスキップする
ことを誤り隠しモードが指示していれば、プロセスは段
階510から段階514へ進められる。バッファ管理を
遂行するためにオーディオデコーダブロック28が使用
する方法は、図34及び35を参照して後述する。
The process proceeds to FIG. 15 and at step 502 the synchronization count variable is examined to determine if it is equal to zero. If the synchronization count variable after decrement in step 500 is equal to zero, step 504 sets the synchronization state variable to one.
Set equal to 1. The value of this synchronization state variable indicates to the rest of the system that the required number of synchronization words have been detected, and that the system is in a locked synchronization state. If the sync count variable is not equal to 0 in step 502, the error concealment mode (ECM) variable is loaded in step 506 with the contents of the sync error concealment mode register set by the microprocessor host 12. The sync error concealment mode specifies what to do with the existing data while the audio decoder block 28 is searching for the required number of sync words before reaching the sync lock state. After the hidden mode is set, an error concealment routine is performed at step 508. The error hiding routine will be described later with reference to FIG. In summary, error concealment can use the last good frame of data, use the current frame, skip the current frame, or silence the output during the current frame. As explained below,
These options are controlled by the false-hiding mode variable.
Alternatively, it is specified by the presence or absence of the external buffer 26.
In step 510, the error concealment mode variable is examined. If the error concealment mode is MUTE, REPLAY or nothing, the audio frame is decoded at step 512. The process used by the audio decoder block 28 will be described later with reference to FIGS. The process proceeds from step 512 to step 514, where the audio decoder block 28 performs buffer management. If the error concealment mode indicates that the audio frame should be skipped, the process proceeds from step 510 to step 514. The method used by audio decoder block 28 to perform buffer management will be described later with reference to FIGS.

【0065】段階516においては、SYNC LOOKAHEAD
フラグが調べられる。もし SYNC LOOKAHEAD フラグがセ
ットされていれば、段階518はオーディオビットスト
リーム内の次の 12 ビットをスキップさせる。次いでプ
ロセスは、分岐点Cから図14の段階482へ戻され
る。もし段階516において SYNC LOOKAHEAD フラグ
がセットされていないと判断されれば、段階520は次
の 12 ビットを調べてそれらが同期語を含むか否かを決
定する。もし次の 12 ビットが同期語を含んでいれば、
プロセスは分岐点Cから図14の段階482へ戻され
る。もし次の 12ビットが同期語を含んでいなければ、
段階522においてオーディオポインタが〔オーディオ
ポインタ− 11 〕に等しい値にリセットされる。これで
プロセスは接続点Bから図14の段階489へ戻され
る。フレームセットアップ動作 図16は、ビットストリーム内に見出しが探知された時
にフレームをセットアップするためにオーディオデコー
ダブロック28が使用するプロセスを示す。このプロセ
スは、見出し割込みをセットする段階524から開始さ
れる。段階526ではフレームの大きさが計算され、CF
SIZE フィールド内へロードされる。フレームの大き
さの計算に使用されるプロセスに関しては、図18を参
照して詳述する。段階528では、CF SIZE が値0と
比較される。もし CF SIZE が0に等しければ、それ
は見出しがフレームの大きさを指定しておらず、またマ
イクロプロセッサホスト12がフレームの大きさを指定
していなかったことを指示しており、従ってビットスト
リームがフレームの大きさを指定されることなく自由フ
ォーマットであることを意味している。段階530で
は、同期計数変数が1に等しくセットされ、次いで段階
532において SYNC LOOKAHEAD フラグがクリアされ
る。SYNC LOOKAHEAD フラグは、オーディオデコーダブ
ロック28が現フレームの終わりに別の同期語を見出す
ために先取りをするか否かを指示する。オーディオデコ
ーダブロック28は現フレームの大きさを知っていない
から、SYNC LOOKAHEAD プロセスを遂行できる方法は存
在しない。そこで段階534では外部 DRAM が存在する
か否かを決定する。もし DRAM が存在していれば、入力
バッファ内に記憶することができるフレームの数に等し
い変数Nが、段階536において5に等しくセットさ
れ、もし DRAM が存在していなければ、段階538にお
いて変数Nは0に等しくセットされる。
In step 516, SYNC LOOKAHEAD
The flags are checked. If SYNC LOOKAHEAD flag is set
If so, step 518 skips the audio bit stream.
Causes the next 12 bits in the stream to be skipped. Then
The process is returned from branch point C to step 482 in FIG.
You. If SYNC at step 516 LOOKAHEAD flag
If it is determined that is not set, step 520 proceeds to
Examine the 12 bits of the
Set. If the next 12 bits contain a sync word,
The process returns from branch point C to step 482 of FIG.
You. If the next 12 bits do not contain a sync word,
In step 522, the audio pointer
Pointer-11]. with this
The process returns from connection point B to step 489 of FIG.
You.Frame setup operation FIG. 16 shows when a headline is detected in a bit stream.
Audio decoder to set up the frame in
The process used by double lock 28 is shown. This process
Starts at step 524 of setting the heading interrupt.
It is. In step 526, the size of the frame is calculated and CF
Loaded into SIZE field. Frame size
See Figure 18 for the process used to calculate the
This will be described in detail. In step 528, CF SIZE is 0
Be compared. If CF If SIZE is equal to 0, then
Does not specify the size of the frame in the
Microprocessor host 12 specifies frame size
That you did not
Reams are free frames without specifying the frame size.
It means that it is a format. At step 530
Sets the synchronization count variable equal to 1 and then steps
532 at SYNC LOOKAHEAD flag is cleared
You. SYNC The LOOKAHEAD flag indicates that the audio decoder
Lock 28 finds another sync word at end of current frame
Whether or not to take preemption. Audio deco
Block 28 does not know the size of the current frame
From SYNC There is no way that the LOOKAHEAD process can be performed.
Does not exist. So in step 534 there is external DRAM
Is determined. If DRAM is present, input
Equals the number of frames that can be stored in the buffer
Variable N is set equal to 5 in step 536.
If no DRAM is present, go to step 538.
And the variable N is set equal to zero.

【0066】段階528に戻ってもし CF SIZE が0
でなければ、段階540は変数Nを〔バッファの大きさ
÷ CF SIZE〕の商を丸めた最寄りの整数に等しくセッ
トする。次の段階542では変数Nが値1と比較され
る。もしNが1よりも小さければ、良好フレームを記憶
するための十分なメモリが存在しないことを意味してい
るので、段階544において MAX REPLAY 変数が0に
等しくセットされ、またSYNC LOOKAHEAD フラグが0に
等しくセットされる。もしNが1に等しいか、もしくは
大きければ、段階546において SYNC LOOKAHEAD フ
ラグはマイクロプロセッサホスト12によってセットさ
れた SYNC LOOKAHEAD 制御レジスタに等しくセットさ
れる。段階548においては、現フレームが層1 MPEG
オーディオデータを含むのか、含まない(もしくは層2
MPEG オーディオデータを含む)のかが決定される。も
しフレームが層2 MPEG オーディオデータを含んでいれ
ば、段階550は変数Kを3に等しくセットする。段階
548においてもし現フレームが層1 MPEG オーディオ
データを含んでいれば、段階552において変数Kは5
に等しくセットされる。Kは、最大再生を可能にするた
めに入力バッファ24もしくは外部バッファ26内に記
憶することができなければならないフレームの数を表し
ている。
Returning to step 528, if CF SIZE is 0
Otherwise, step 540 sets variable N to [buffer size の CF SIZE] is set equal to the nearest rounded integer. In the next step 542, the variable N is compared with the value 1. If N is less than one, it means that there is not enough memory to store a good frame, so MAX at step 544. REPLAY variable is set equal to 0 and SYNC LOOKAHEAD flag is set equal to 0. If N is greater than or equal to 1, then at step 546 SYNC The LOOKAHEAD flag is set by the SYNC set by the microprocessor host 12. Set equal to LOOKAHEAD control register. In step 548, the current frame is a layer 1 MPEG
With or without audio data (or layer 2
(Including MPEG audio data). If the frame contains layer 2 MPEG audio data, step 550 sets the variable K equal to three. In step 548, if the current frame contains layer 1 MPEG audio data, in step 552, the variable K is set to 5
Is set equal to K represents the number of frames that must be able to be stored in input buffer 24 or external buffer 26 to allow maximum playback.

【0067】プロセスは段階550及び552から段階
554へ進み、変数Nと変数Kとを比較する。もしNが
Kより小さければ、段階556は MAX REPLAY 変数を
0に等しくセットする。NがKより小さいことは、デー
タの最後の良好なフレームを再生することができるメモ
リが十分に存在していないことを意味する。もしNがK
に等しいか、もしくは大きければ、段階558において
MAX REPLAY 変数はK−2に等しくセットされる。MA
X REPLAY 変数は、段階558において遂行される動
作の結果として常に1もしくは3の何れかである。プロ
セスは段階556、558及び544から図17の段階
560へ進む。段階560は、SYNC LOOKAHEAD フラグ
及び MAX REPLAY 変数が共に0に等しいか否かを決定
する。もし共に0であれば、段階562では、「自動バ
ッファ大きさ」( ABS ) フラグを調べることによって A
BS 機能が可能にされているか否かの決定がなされる。
もしこの機能が不能にされていれば、段階564におい
て LGF SIZE が調べられる。もし LGF SIZE が0に
等しくなければ、段階566において自動入力語計数が
デクレメントされる。この計数は、見出しが既に読出さ
れているのでデクレメントされるのである。段階564
においてもし LGF SIZE が0に等しいと判断されれ
ば、段階568において入力バッファ24もしくは外部
バッファ26内の複数のビットが解放される。解放され
るビットの数は、〔 AUDIO PTR − LGF PTR 〕に等し
い。次いで段階570において BAD BIT CNT が0に
等しくセットされ、段階572においては LGF SIZE
が0に等しくセットされる。プロセスは段階566及び
段階572から段階574へ進み、ABS フラグが1に等
しくセットされる。次の段階576では、NF PTR が
〔 CF PTR +フレームの大きさ〕に等しくセットされ
る。もし段階562において ABS フラグが1に等しい
と判断された場合にも段階576へ到達する。段階56
0において SYNC LOOKAHEAD フラグ及び MAX REPLAY
変数が同時に0に等しくなければ、段階578は再び
ABS フラグを調べる。もし ABS フラグが0に等しけ
れば、プログラムは段階576へ直接進められる。もし
ABS フラグが1に等しければ、段階580はオーディ
オ入力語計数をインクリメントさせ、段階582は ABS
フラグをクリアする。これでプロセスは段階576へ
進む。フレームの大きさの計算 図18は、フレームの大きさを計算するためにオーディ
オデコーダブロック28が使用するプロセスを示す。プ
ロセスは見出し内の MPEG オーディオビットを調べる段
階584から開始される。もし MPEG オーディオビット
がセットされておらず、そのフレームが MPEG オーディ
オビットを含んでいないことを指示していれば、段階5
90において SYNTAX ERROR フラグがセットされる。も
し MPEGオーディオビットがセットされていれば、段階
586はサンプリング周波数コードを調べる。もしサン
プリング周波数コードが 11 に等しければ、プロセスは
再度590へ戻って SYNTAX ERROR フラグをセットす
る。サンプリング周波数コードが 11 であることは無効
コードであることを意味している。もしサンプリング周
波数コードが 11 でなければ、段階588において層コ
ードが検査される。層コードが 00 及び 01 ならば、段
階590へ戻して SYNTAX ERROR フラグをセットさせ
る。層コードが 00 及び 01 ならば、その層コードは無
効である。もし層コードが有効であれば、段階592は
ビットレート索引を試験する。ビットレート索引が 111
1 であればプロセスは再び段階590へ戻されて SYNTA
X ERROR フラグがセットされる。1111 のビットレート
索引は無効である。もしビットレート索引が全て0であ
れば、段階594において CF SIZE 変数に、マイク
ロプロセッサホスト12によって指定されたフレームの
大きさ制御レジスタの内容がロードされる。ビットレー
ト索引値が全て0ということは、そのビットストリーム
が自由フォーマットビットストリームであることを意味
している。マイクロプロセッサホスト12はフレームの
大きさ制御レジスタを使用して、オーディオデコーダブ
ロック28へフレームの実際の大きさを通信することが
できる。もしマイクロプロセッサホスト12がフレーム
の大きさ制御レジスタ内へ値を挿入しなければ、段階5
94は、フレームの大きさ制御レジスタの内容が CF
SIZE 変数内へロードされる時に CF SIZE 変数を0
に等しくセットする。ビットレートが他の値である全て
の場合にはプロセスは段階592から段階596へ進め
られ、GET TABLE 命令を使用して見出し情報からフレー
ムの大きさを検索する。この動作が完了する時にはフレ
ームの大きさが累算器110内に存在していよう。段階
596は、累算器110の内容を CF SIZE 変数内に
ロードさせる。誤り隠し動作 図19は、あるフレーム内に誤りを検出した時、もしく
は未だに同期ロック状態が達成されない時の何れかにオ
ーディオデコーダブロック28が使用する誤りを隠すプ
ロセスを示す。プロセスは、誤り隠しモード変数と、再
生モードを表す値 10 とを比較する段階600から開始
される。もし再生モードが、現誤り隠しモードであれ
ば、段階602は LGF SIZE を検査する。もし LGF
SIZE が0に等しくなければ、段階604において REP
LAY CNT が1もしくは3の何れかである最大再生値に
等しいか否かを決定する。もし REPLAY CNT が最大再
生値に等しくなければ、段階606において、オーディ
オデコーダブロック28は LGF PTR の値を AUDIO PT
R 内へロードすることによってビットストリーム内を後
退させる。段階608は、REPLAY CNT 変数をインクリ
メントさせる。次いでプロセスは段階610へ進み、見
出し制御レジスタに次の 32 ビットをロードする。段階
612では再生フラグがセットされ、誤り隠しフラグが
セットされる。
The process proceeds from steps 550 and 552 to steps
Proceeding to 554, the variable N and the variable K are compared. If N
If less than K, step 556 is MAX REPLAY variable
Set equal to 0. If N is smaller than K,
Note that the last good frame of the data can be played
Means that there are not enough resources. If N is K
If equal to or greater than, in step 558
 MAX The REPLAY variable is set equal to K-2. MA
X The REPLAY variable determines the action performed in step 558.
It is always either 1 or 3 as a result of the crop. Professional
Seth moves from steps 556, 558 and 544 to the steps of FIG.
Proceed to 560. Step 560 is a SYNC LOOKAHEAD flag
And MAX Determine if both REPLAY variables are equal to 0
I do. If both are 0, step 562 proceeds to “Automatic
A by examining the buffer size (ABS) flag
A determination is made whether the BS function is enabled.
If this feature is disabled, go to step 564
LGF SIZE is checked. If LGF SIZE goes to 0
If not, in step 566 the auto-input word count is
Is decremented. This count indicates that the heading has already been read.
It is decremented because it is done. Step 564
If LGF SIZE is determined to be equal to 0
If the input buffer 24 or the external
A plurality of bits in the buffer 26 are released. Released
The number of bits PTR-LGF PTR]
No. Then, in step 570, BAD BIT CNT goes to 0
Set equal, and in step 572 the LGF SIZE
Is set equal to 0. The process includes steps 566 and
Proceed from step 572 to step 574 where the ABS flag equals 1
Set properly. In the next step 576, NF PTR is
[CF PTR + frame size]
You. If the ABS flag is equal to 1 in step 562
Also, when it is determined that the process is completed, the process reaches step 576. Stage 56
SYNC at 0 LOOKAHEAD flag and MAX REPLAY
 If the variables are not simultaneously equal to 0, step 578 will again
 Check the ABS flag. If the ABS flag equals 0
If so, the program proceeds directly to step 576. if
 If the ABS flag is equal to 1, step 580 is an audio
The input word count is incremented, step 582 is ABS
 Clear the flag. Now the process goes to step 576
move on.Calculation of frame size FIG. 18 shows an audio file for calculating the frame size.
The process used by the decoder block 28 is shown. Step
Processes examines MPEG audio bits in headings
Beginning at floor 584. If MPEG audio bit
Is not set and the frame is MPEG audio
Step 5 if it indicates that it does not contain an
At 90, the SYNTAX ERROR flag is set. Also
If the MPEG audio bit is set,
586 checks the sampling frequency code. If sun
If the pulling frequency code is equal to 11, the process is
Go back to 590 and set the SYNTAX ERROR flag
You. It is invalid that the sampling frequency code is 11
It is a code. If the sampling cycle
If the wavenumber code is not 11, the layer code
The code is inspected. If the layer codes are 00 and 01,
Return to floor 590 and set the SYNTAX ERROR flag
You. If the layer code is 00 and 01, the layer code is null
It is effective. If the layer code is valid, step 592 is
Test the bit rate index. Bitrate index is 111
If 1, the process returns to step 590 again and returns to SYNTA
X ERROR flag is set. 1111 bitrate
Index is invalid. If the bit rate indexes are all 0
Then, in step 594, CF Microphone in the SIZE variable
Of the frame specified by the
The contents of the size control register are loaded. Bitley
If the index value is all 0, the bit stream
Is a free format bitstream
are doing. The microprocessor host 12
Use the size control register to set the audio decoder
Communicating the actual size of the frame to the lock 28
it can. If the microprocessor host 12
Step 5 if no value is inserted into the size control register of
94 indicates that the content of the frame size control register is CF
CF when loaded into SIZE variable SIZE variable set to 0
Set equal to All other bitrate values
If so, the process proceeds from step 592 to step 596
From the header information using the GET TABLE instruction.
Search the size of the system. When this operation is completed,
The size of the team would be in accumulator 110. Stage
596 stores the contents of the accumulator 110 in CF In the SIZE variable
Load.False concealment behavior FIG. 19 shows that when an error is detected in a certain frame,
Is in any state when the synchronization lock state has not yet been achieved.
The error concealment used by the audio decoder block 28
Indicate the process. The process uses the error concealment mode variable and
Start at step 600 comparing with the value 10 representing raw mode
Is done. If the playback mode is the current error concealment mode
If, for example, stage 602 Check SIZE. If LGF
If SIZE is not equal to 0, then in step 604 REP
LAY To the maximum regeneration value where CNT is either 1 or 3
Determine if they are equal. If REPLAY CNT is up to
If not, in step 606 the audio
The decoder 28 is LGF AUDIO PTR value PT
Later in the bitstream by loading into R
Repel. Step 608 is a REPLAY Increment CNT variable
Let me The process then proceeds to step 610, where
Load the next 32 bits into the read control register. Stage
At 612, the playback flag is set and the error concealment flag is set.
Set.

【0068】段階600において、もし再生に関して誤
り隠しフラグがセットされていないと判断されれば段階
614において、沈黙モードが 01 値によって指示され
ているか否かについて誤り隠しモードを調べる。もし誤
り隠しモードが沈黙モードであれば、段階616におい
て NO READ フラグがセットされる。もし段階602
において LGF SIZE が0に等しいか、もしくは段階6
04において REPLAY CNT が最大再生に等しい場合にも
段階616へ到達する。従って本発明の誤り隠し方式
は、段階602が最後の良好なフレームが存在しないと
判断すれば現フレームの出力を沈黙させ、または、段階
604において再生が最大数に到達していると決定すれ
ば出力を沈黙させるようになる。プロセスは段階616
から段階618へ進み、COUNT 変数が0に等しくセット
される。段階620では、値 H003F が演算ユニットバ
ッファ内のアドレス0に書込まれる。値 H003F ( 16 進
数の 003F )は、2つの連結値に対応する。H3F は縮尺
係数索引値からなり、縮尺係数0を検索した場合にはハ
ードウェアフィルタ演算ユニットブロック32内のSSB
値を乗じた時に出力を効果的に沈黙させる。H00 は、コ
ードワード当たりのビット値が0であることに対応して
いる。
In step 600, if there is an error regarding the reproduction,
If it is determined that the hidden flag is not set,
At 614, silence mode is indicated by the 01 value.
Check error concealment mode to see if If wrong
If the hidden mode is the silence mode, step 616
NO READ flag is set. If step 602
At LGF SIZE is equal to 0 or step 6
REPLAY at 04 Even if CNT equals maximum regeneration
Step 616 is reached. Therefore, the error concealment method of the present invention
Is that if step 602 does not have the last good frame
If judged, silence the output of the current frame, or
If it is determined at 604 that the maximum number of plays has been reached
The output will be silenced. The process proceeds to step 616
Goes to step 618 and sets the COUNT variable equal to 0
Is done. In step 620, the value H003F is
It is written to address 0 in the buffer. Value H003F (hex
The number 003F) corresponds to two linked values. H3F is scaled
It consists of a coefficient index value.
SSB in the hardware filter operation unit block 32
Silences the output effectively when multiplied by a value. H00 is
Corresponding to a bit value of 0 per word
I have.

【0069】段階622では、COUNT 変数及び ADDRESS
変数がインクリメントされる。次の段階644におい
ては、COUNT 変数が値 192 と比較される。もし未だ値
192に到達していなければ、段階620へ戻されて H00
3F が演算ユニットバッファ30内の次のアドレスされ
た位置に書込まれる。もし段階644において計数が19
2 に等しいか、もしくは大きければ、段階646は誤り
隠しフラグを1に等しくセットする。段階648では、
誤り隠蔽モードをコード 01 に等しくセットして沈黙を
選択したことを指示する。このようにして、もし再生も
しくはスキップの何れかの動作における障害から沈黙動
作に到達したものとすれば、誤り隠しモードがリセット
されて今後沈黙動作を続けるべきであることを指示す
る。もし段階614が誤り隠しモード値が 01 に等しく
ないことを決定すれば、段階650は誤り隠しモードが
スキッププロセスを指示する 11 に等しいか否かを決定
する。もし誤り隠しモードが 11 に等しくなければ、そ
れは誤り隠しモードが 00 に等しいものと見做されて何
等の動作も発生せずにプロセスを終了する。段階650
において、もし誤り隠しモードが 11 に等しいと決定さ
れれば、段階652は、最大数のフレームがスキップさ
れたか否かを決定する。もし最大数のフレームがスキッ
プされていれば、プロセスは段階616へ進められて上
述した沈黙動作が実行される。もし最大数のフレームが
スキップされていなければ、段階654は SKIP CNT
をインクリメントさせる。次の段階656において、SK
IPフラグ及び EC フラグがセットされる。オーディオフレーム復号プロセス 図20及び21は、オーディオフレームを復号するため
にオーディオデコーダブロック28が使用するプロセス
を示す流れ図である。このプロセスは、オーディオデコ
ーダブロック28が沈黙制御レジスタを調べる段階66
0から開始される。もしマイクロプロセッサホスト12
が沈黙制御レジスタをセットしていれば、段階662は
内部沈黙フラグをセットする。もし沈黙制御レジスタが
セットされていなければ、もしくは段階662において
沈黙フラグがセットされれた後に、段階664において
オーディオデコーダブロック28はマイクロプロセッサ
ホスト12がスキップ制御レジスタをセットしているか
否かを検査する。もしマイクロプロセッサホスト12が
スキップ制御レジスタをセットしていれば、この状態は
フレームをスキップさせることを指示している。従って
プロセスは段階666へ進み、スキップ制御レジスタを
クリアする。もしスキップ制御レジスタがセットされて
いなければ、段階668は見出し(header)サイド情報
を復号する。見出しサイド情報を復号するために使用さ
れるプロセスの詳細に関しては図22を参照して後述す
る。見出しサイド情報を復号した後に、段階670にお
いてオーディオデコーダブロック28は、ビットストリ
ームが CRC 保護されているか否かを決定する。もしオ
ーディオビットストリームが CRC 保護されていれば、
段階672は GBT 命令を使用して CRC 語を検索し、
データストリーム内の次の 16 ビットを検索する。これ
らの 16 ビットは CRC 語変数内に記憶されている。プ
ロセスは段階672から、もしくはもしデータストリー
ムが CRC 保護されていなければ段階670から、段階
674へ進んでデータストリームの層が調べられる。も
しデータストリームが層1データであれば、段階676
が第1のプロセスを使用してビット割当てデータを復号
する。このプロセスに関しては図23を参照して後述す
る。もしデータストリームが層2データであれば、段階
678が第2のプロセスを使用してビット割当てデータ
を復号する。このプロセスに関しては図24を参照して
後述する。次いで段階680において、尺度係数選択情
報( SCFSI ) が復号される。尺度係数選択情報を復号す
るために使用されるプロセスに関しては図24を参照し
て後述する。
In step 622, the COUNT variable and the ADDRESS
Variable is incremented. In the next step 644, the COUNT variable is compared to the value 192. If still value
If not, return to step 620 and return to H00
3F is written to the next addressed location in arithmetic unit buffer 30. If the count in step 644 is 19
If so, step 646 sets the error concealment flag equal to one. At step 648,
Set error concealment mode equal to code 01 to indicate that silence was selected. Thus, if the silence operation has been reached from a failure in either the play or skip operation, the error concealment mode is reset, indicating that silence operation should continue in the future. If step 614 determines that the error concealment mode value is not equal to 01, step 650 determines whether the error concealment mode is equal to 11 which indicates a skipping process. If the error concealment mode is not equal to 11, it is assumed that the error concealment mode is equal to 00 and terminates the process without taking any action. Step 650
At, if the error concealment mode is determined to be equal to 11, step 652 determines whether the maximum number of frames has been skipped. If the maximum number of frames have been skipped, the process proceeds to step 616 where the silence operation described above is performed. If the maximum number of frames have not been skipped, step 654 is a SKIP CNT
Is incremented. In the next step 656, the SK
The IP and EC flags are set. Audio Frame Decoding Process FIGS. 20 and 21 are flow diagrams illustrating the process used by audio decoder block 28 to decode audio frames. This process involves the audio decoder block 28 examining the silence control register 66
It starts from 0. If the microprocessor host 12
If has set the silence control register, step 662 sets an internal silence flag. If the silence control register has not been set, or after the silence flag has been set in step 662, then in step 664 the audio decoder block 28 checks whether the microprocessor host 12 has set the skip control register. . If the microprocessor host 12 has set the skip control register, this state indicates that the frame should be skipped. Accordingly, the process proceeds to step 666, where the skip control register is cleared. If the skip control register is not set, step 668 decodes the header side information. Details of the process used to decode the header side information will be described later with reference to FIG. After decoding the header side information, at step 670 the audio decoder block 28 determines whether the bitstream is CRC protected. If the audio bitstream is CRC protected,
Step 672 searches for a CRC word using the GBT instruction,
Find the next 16 bits in the data stream. These 16 bits are stored in the CRC word variable. The process proceeds from step 672, or from step 670 if the data stream is not CRC protected, to step 674 where the layers of the data stream are examined. If the data stream is layer 1 data, step 676
Use the first process to decode the bit allocation data. This process will be described later with reference to FIG. If the data stream is Layer 2 data, step 678 decodes the bit allocation data using a second process. This process will be described later with reference to FIG. Then, in step 680, the scale factor selection information (SCFSI) is decoded. The process used to decode the scale factor selection information is described below with reference to FIG.

【0070】プロセスは段階676もしくは段階680
から段階682へ進み、オーディオデコーダブロック2
8は NO READ、REPEAT、及び REPLAY フラグを調べ
る。もしこれらのフラグの何れかがセットされていれ
ば、プロセスは分岐点Bから図21へ進められる。もし
どのフラグもセットされていなければ、段階684が C
RC誤り隠しモードを調べる。もし CRC 誤り隠しモード
が0に等しければ、プロセスは分岐点Bへ進む。CRC 誤
り隠しモードが0に等しいということは、マイクロプロ
セッサホスト12がオーディオデコーダブロック28に
CRC 誤りを無視するように命令していることを意味す
る。もし CRC 誤り隠しモードが0に等しくなければ、
段階686は見出しを調べて CRC 語が存在しているか
否かを決定する。もし CRC 語が存在していなければプ
ロセスは分岐点Bへ進み、もし CRC語が存在していれば
プロセスは分岐点Aから図21へ進められる。図21を
参照する。プロセスが分岐点Aから段階688へ進み、
ビットストリームから検索された記憶されている CRC
語と、計算された CRC 語とが比較される。もし CRC
語と計算された CRC 語とが整合しなければ、そのビッ
トストリーム内に CRC 誤りが存在するのである。従っ
て、段階690において CRC誤り割込みがセットされ
る。段階692では、誤り隠しモードが CRC 誤り隠し
モードに等しくセットされる。段階694では、図19
を参照して説明したプロセスに従って誤り隠しが遂行さ
れる。
The process proceeds to step 676 or step 680
From step 682 to the audio decoder block 2
8 is NO Check the READ, REPEAT, and REPLAY flags. If any of these flags are set, the process proceeds from branch point B to FIG. If none of the flags are set, step 684 returns to C
Check RC error hiding mode. If the CRC error concealment mode is equal to 0, the process proceeds to branch point B. The fact that the CRC error concealment mode is equal to 0 means that the microprocessor host 12
Indicates that the command is to ignore CRC errors. If CRC error concealment mode is not equal to 0,
Step 686 examines the heading to determine if a CRC word is present. If the CRC word is not present, the process proceeds to branch point B, and if the CRC word is present, the process proceeds from branch point A to FIG. Referring to FIG. The process proceeds from branch point A to step 688,
Stored CRC retrieved from bitstream
The word and the calculated CRC word are compared. If CRC
If the word does not match the calculated CRC word, there is a CRC error in the bitstream. Thus, at step 690, a CRC error interrupt is set. In step 692, the error concealment mode is set equal to the CRC error concealment mode. In step 694, FIG.
Error concealment is performed according to the process described with reference to FIG.

【0071】段階694における誤り隠しプロセスに続
く段階696は、ECM 変数を検査する。もし ECM 変数
が現フレームをスキップすることを指示していれば、こ
のプロセスは終了する。もし ECM 変数が最後の良好な
フレームを再生することを指示していれば、プロセスは
分岐点Cを通して図20の段階660へ戻る。もし ECM
変数が現フレームのための出力を沈黙させることを指
示していれば、段階698が層を調べる。もし現フレー
ムが層1オーディオデータであれば、プロセスは分岐点
Dから本図(図21)の段階716へ進められる。もし
現フレームが層1 MPEG オーディオでなければ、図示の
ように層2オーディオデータのサブバンド情報を復号す
る段階720へ進む。段階688においてもし CRC 語
と計算された CRC 語とが整合すれば、プロセスは段階
700へ進む。段階700へは分岐点Bからも到達す
る。段階700では、デエンファシス値が変化したか否
かの決定がなされる。もしデエンファシス値が変化して
いれば段階702はデエンファシス制御レジスタを更新
し、見出しレジスタから検索した新しいデエンファシス
ビットをロードする。次の段階704では、デエンファ
シス変化割込みがセットされる。デエンファシスモード
はビットストリーム内でフレーム単位で変化し得るか
ら、オーディオデコーダブロック28はデエンファシス
値を検査し、何等かの変化があればマイクロプロセッサ
ホスト12へ通知しなければならない。同様に、サンプ
リング周波数もフレーム単位で変化し得る。従って、プ
ロセスは段階704もしくは段階700から段階706
へ進められ、サンプリング周波数が変化したか否かの決
定がなされる。もしサンプリング周波数が変化していれ
ば、段階708はサンプリング周波数制御レジスタに見
出しレジスタから検索した新しいサンプリング周波数ビ
ットをロードする。次いで段階710はサンプリング周
波数変化割込みをセットし、マイクロプロセッサホスト
12にサンプリング周波数の変化を検出したことを通知
する。プロセスは段階710もしくは段階706から段
階712へ進み、現フレームが関連付けられている層に
基づいて分岐させる。即ち、もし現データが層1オーデ
ィオデータであればプロセスは段階714へ進められ、
第1のプロセスを使用して縮尺係数情報が復号される。
このプロセスの詳細に関しては図26を参照して後述す
る。プロセスは段階714及び分岐点Dから段階716
へ進み、第1のプロセスを使用してサブバンド情報が復
号される。このプロセスの詳細に関しては図27及び2
8を参照して後述する。段階716でプロセスは終了す
る。
Following the error concealment process in step 694, step 696 examines the ECM variables. If the ECM variable indicates that the current frame should be skipped, the process ends. If the ECM variable indicates that the last good frame should be played, the process returns to step 660 of FIG. If ECM
If the variable indicates to silence the output for the current frame, step 698 examines the layer. If the current frame is layer 1 audio data, the process proceeds from branch point D to step 716 of the figure (FIG. 21). If the current frame is not a layer 1 MPEG audio, the process proceeds to step 720 for decoding the subband information of the layer 2 audio data as shown. If in step 688 the CRC word and the calculated CRC word match, the process proceeds to step 700. Step 700 is also reached from junction B. At step 700, a determination is made whether the de-emphasis value has changed. If the de-emphasis value has changed, step 702 updates the de-emphasis control register and loads the new de-emphasis bit retrieved from the header register. In the next step 704, a de-emphasis change interrupt is set. Since the de-emphasis mode can change on a frame-by-frame basis in the bitstream, the audio decoder block 28 must check the de-emphasis value and notify the microprocessor host 12 of any changes. Similarly, the sampling frequency may change on a frame-by-frame basis. Accordingly, the process may proceed from step 704 or step 700 to step 706.
And a determination is made whether the sampling frequency has changed. If the sampling frequency has changed, step 708 loads the sampling frequency control register with the new sampling frequency bits retrieved from the index register. Step 710 then sets a sampling frequency change interrupt to notify the microprocessor host 12 that a change in sampling frequency has been detected. The process proceeds from step 710 or step 706 to step 712, where the current frame is branched based on the associated layer. That is, if the current data is layer 1 audio data, the process proceeds to step 714;
The scale factor information is decoded using a first process.
Details of this process will be described later with reference to FIG. The process proceeds from step 714 and branch point D to step 716.
Proceed to and the sub-band information is decoded using the first process. See FIGS. 27 and 2 for details of this process.
8 will be described later. At step 716, the process ends.

【0072】もし現データが層2オーディオデータであ
ればプロセスは段階718へ進められ、第2のプロセス
を使用して縮尺係数情報が復号される。このプロセスの
詳細に関しては図29及び30を参照して後述する。プ
ロセスは段階718または段階698から段階720へ
進み、第2のプロセスを使用してサブバンド情報が復号
される。このプロセスの詳細に関しては図31及び32
を参照して後述する。段階720でこのプロセスは終了
する。サイド情報復号プロセス 図22に、見出し内に含まれるサイド情報を復号するた
めにオーディオデコーダブロック28が使用するプロセ
スの流れ図を示す。このプロセスは、オーディオデコー
ダブロック28が見出しレジスタ内に記憶されている見
出し内に含まれるモードを検査する段階722から開始
される。もし見出し内のモードフィールドが 00 もしく
は 10 を含んでいれば、それはオーディオフレーム内に
ステレオもしくは二重チャネルデータが含まれているこ
とを表している。段階724においては、チャネル数(
#CHANNELS ) 変数が2に等しくセットされる。段階72
6は、BOUND 変数を 32 に等しくセットする。もし段階
722においてモードフィールドが 11 を含むと判断す
れば、オーディオフレームがモノラル情報を含んでいる
ことを意味している。従って、プロセスは段階722か
ら段階728へ進められ、#CHANNELS 変数が1に等しく
セットされる。段階730においては、BOUND 変数が0
に等しくセットされる。もし段階722においてモード
フィールドが01 を含むと判断すれば、オーディオフレ
ームは結合( joint ) ステレオオーディオデータを含
む。完全な( full )ステレオデータは、32 の周波数範
囲全てにおいて分離したサンプルを含む。これに対して
モノラルオーディオデータは、32の周波数範囲全てにお
いて右及び左のチャネルに同一のサンプルを使用する。
結合ステレオデータは、若干の周波数帯においては同一
のサンプルを使用し、他の周波数帯においては右及び左
チャネルに分離したサンプルを使用することによって、
ビットストリームの圧縮を達成している。BOUND 変数は
R> 32 の周波数帯のどれだけが分離して符号化されてい
るかを指示している。従って、プロセスは段階722か
ら段階732へ進められ、#CHANNELS 変数を2に等しく
セットする。段階734では、GET TABLE 命令を使用し
て現オーディオフレームに関連付けられた BOUND 値を
検索する。段階726、段階730、もしくは段階73
4でこのプロセスが終了する。層1ビット割当て復号プロセス 図23は、ビットストリームが層1オーディオデータで
ある場合に、ビット割当て情報を復号するためにオーデ
ィオデコーダブロック28が使用するプロセスを示す。
このプロセスは、SBB 変数を0に等しくセットする段階
736から開始される。段階738では、チャネル変数
( CH )が0に等しくセットされる。段階740は、内部
NO READ フラグを調べる。もし NO READ フラグ
が1に等しくセットされていれば、段階742において
ビット/コードワード( BPC ) 変数が0に等しくセット
される。もし NO READ フラグがセットされていなけ
れば、段階744は GBTC 命令を使用して次の4ビット
を検索させ、それらをビット割当て( BAL ) 変数内に記
憶させる。段階746では、GET TABLE 命令を使用し、
BAL 変数内に記憶させた4ビットを使用して BPC を検
索する。GET TABLE命令によって戻された値は BPC 変
数内に記憶される。段階748では、BPC 変数が6ビッ
トだけ左へけた送りされ、そのサンプルに関連付けられ
た縮尺計数索引に連結することが可能になる。段階75
0では、けた送りされた BPC 値がオーディオデコーダ
ブロック28のスクラッチ RAM 内の、CH 及び SBB
変数によって与えられたベクトル位置に記憶される。
If the current data is layer 2 audio data, the process proceeds to step 718, where the scale factor information is decoded using a second process. Details of this process will be described later with reference to FIGS. The process proceeds from step 718 or step 698 to step 720, where the sub-band information is decoded using a second process. See FIGS. 31 and 32 for details of this process.
It will be described later with reference to FIG. The process ends at step 720. Side Information Decoding Process FIG. 22 shows a flowchart of a process used by the audio decoder block 28 to decode side information included in a heading. The process begins at step 722 where audio decoder block 28 checks for a mode contained in the header stored in the header register. If the mode field in the heading contains 00 or 10, it indicates that stereo or dual channel data is included in the audio frame. In step 724, the number of channels (
#CHANNELS) Variable is set equal to 2. Stage 72
6 sets the BOUND variable equal to 32. If it is determined in step 722 that the mode field contains 11, it means that the audio frame contains monaural information. Accordingly, the process proceeds from step 722 to step 728, where the #CHANNELS variable is set equal to one. In step 730, the BOUND variable is set to 0
Is set equal to If it is determined in step 722 that the mode field contains 01, the audio frame contains joint stereo audio data. Full stereo data contains samples separated in all 32 frequency ranges. In contrast, monaural audio data uses the same samples for the right and left channels in all 32 frequency ranges.
The combined stereo data uses the same samples in some frequency bands and separate samples for the right and left channels in other frequency bands,
Bitstream compression has been achieved. The BOUND variable is
It indicates how much of the frequency band R> 32 is separately encoded. Accordingly, the process proceeds from step 722 to step 732, where the #CHANNELS variable is set equal to two. In step 734, a BOUND value associated with the current audio frame is retrieved using a GET TABLE command. Step 726, Step 730, or Step 73
The process ends at 4. Layer 1 Bit Allocation Decoding Process FIG. 23 shows the process used by audio decoder block 28 to decode bit allocation information when the bitstream is layer 1 audio data.
The process begins at step 736 with setting the SBB variable equal to zero. In step 738, the channel variable
(CH) is set equal to 0. Stage 740 is an internal
NO Check the READ flag. If NO If the READ flag is set equal to one, then at step 742 the bit / codeword (BPC) variable is set equal to zero. If NO If the READ flag is not set, step 744 causes the next four bits to be retrieved using the GBTC instruction and stores them in the bit allocation (BAL) variable. In step 746, a GET TABLE instruction is used,
Search BPC using 4 bits stored in BAL variable. The value returned by the GET TABLE command is stored in a BPC variable. In step 748, the BPC variable is shifted 6 bits to the left, allowing it to be linked to the scale count index associated with that sample. Stage 75
At 0, the shifted BPC value is stored in the CH and SBB in the scratch RAM of the audio decoder block 28.
It is stored at the vector position given by the variable.

【0073】段階752においては、チャネル値に基づ
いて判断がなされる。もしチャネルが0に等しければ、
段階754において CH 変数がインクリメントされる。
次いで段階756において、SBB 値が BOUND 変数と比
較される。もし SBB 変数がBOUND 変数より小さけれ
ば、それは SBB 値が未だ結合ステレオデータ集合のス
テレオ範囲内にあることを意味しており、プロセスはル
ープバックしてその SBB値に関連付けられた第2のチャ
ネルについて同一の動作を遂行する。もし段階756に
おいて SBB 値が BOUND 変数より大きいか、もしくは
等しいと判断されれば、それは SBB 値が結合ステレオ
スペクトルのモノラル範囲内にあることを意味してい
る。そこで段階758は、スクラッチ(scratch ) RAM
内の、同一SBB 及びチャネル1に従ってベクトル化
された位置に、チャネル0及びその SBB 値に関連付け
られた値を複写する。プロセスは段階758から、もし
くはもし CH 値が1に等しければ段階752から直接段
階760へ進み、CH 値が0にリセットされる。次の段
階762では SBB 値がインクリメントされる。段階7
64では、SBB 値と数 32 とを比較する。もし SBB 値
が 32 より小さければ、プロセスは段階740へループ
バックし、そうでない場合にはこのプロセスは終了す
る。図23に示すプロセスは、左位置調整された 64 BP
C 値をオーディオデコーダブロック28内のスクラッチ
RAM 内に記憶させることによって完了する。層2ビット割当て復号プロセス 図24は、フレームが層2オーディオデータである場合
にビット割当てデータを復号するために使用されるプロ
セスを示す。このプロセスは段階766から始まり、CH
変数が0に等しくセットされる。段階768では、SB
B 変数が0にセットされる。段階770では、NO READ
フラグが調べられる。もし NO READフラグがセット
されていれば、段階772において BPC 値が0に等し
くセットされる。段階770において NO READ フラ
グがセットされていないと判断されれば、段階774は
GET TABLE 命令を使用し、SBB 値及び見出しからの情
報を使用して nBAL の値を探す。段階776は GBTC 命
令を使用して、段階774において検索した nBAL の値
に対応するビットストリーム内の複数のデータビットを
検索する。次の段階778は BAL 変数の値を使用して
GET TABLE 命令を出し、グループ化ビット/コードワ
ード( GBPC )値を検索させて、検索すべきビットを指定
する。層2 MPEG オーディオデータでは、単一の BPC
値と、3組のサンプルのグループとを結合することによ
って付加的な圧縮を達成する。従ってBPC がグループ化
ビット/コードワードになるのである。
In step 752, a decision is made based on the channel value. If the channel is equal to 0,
In step 754, the CH variable is incremented.
Then, in step 756, the SBB value is compared to the BOUND variable. If the SBB variable is smaller than the BOUND variable, which means that the SBB value is still within the stereo range of the combined stereo data set, the process loops back for the second channel associated with that SBB value. Perform the same operation. If the SBB value is determined to be greater than or equal to the BOUND variable in step 756, it means that the SBB value is within the mono range of the combined stereo spectrum. Thus, step 758 is a step in which the scratch RAM
The value associated with channel 0 and its SBB value is copied to a location vectorized according to the same SBB and channel 1. The process proceeds from step 758, or directly from step 752 to step 760 if the CH value is equal to one, where the CH value is reset to zero. In the next step 762, the SBB value is incremented. Stage 7
At 64, the SBB value is compared with the number 32. If the SBB value is less than 32, the process loops back to step 740, otherwise the process ends. The process shown in FIG. 23 is a left aligned 64 BP
The C value is stored in the scratch in the audio decoder block 28.
Complete by storing in RAM. Layer 2 Bit Assignment Decoding Process FIG. 24 shows the process used to decode bit assignment data when the frame is layer 2 audio data. The process begins at step 766, where CH
The variable is set equal to 0. In step 768, SB
The B variable is set to 0. In step 770, NO READ
The flags are checked. If NO If the READ flag is set, then at step 772 the BPC value is set equal to zero. NO at step 770 If it is determined that the READ flag has not been set, step 774 is
Use the GET TABLE statement to find the value of nBAL using the SBB value and information from the header. Step 776 uses the GBTC instruction to retrieve a plurality of data bits in the bitstream corresponding to the value of nBAL retrieved in step 774. The next step 778 is to use the value of the BAL variable
Issue a GET TABLE instruction to search for grouping bits / codeword (GBC) values and specify the bits to search. For layer 2 MPEG audio data, a single BPC
Additional compression is achieved by combining the values with groups of three sets of samples. Thus, the BPC becomes a grouping bit / codeword.

【0074】段階780においては、GBPC 値を左へ6
ビット位置けた送りする。層2では3組の 32 対の SBB
値が1つのブロックにグループ化される(グラニュー
ルとも呼ぶ)。従って段階782では、組番号、チャネ
ル数、及び SBB 値でベクトル化された GBPC 値がスク
ラッチ RAM の位置に記憶される。段階784では、第
2及び第3のグラニュールに関する GBPC 値が、段階7
82において記憶された値から複写される。段階786
においては、NO READ フラグが再度検査される。もし
NO READフラグがセットされていれば、段階788に
おいて GBPC 値が0に等しくセットされる。もし NO
READフラグがセットされていなければ、段階790にお
いて現 SBB 値と BOUND 値とが比較される。もし SBB
値が BOUND 値よりも小さくなければ、その SBB 値
は結合ステレオスペクトルのモノラル範囲内にあり、段
階792において GBPC 値は先行チャネルに関連付けら
れた GBPC 値に等しくセットされる。もし SBB 値が B
OUND 値よりも小さければ、現 SBB 値は結合ステレオ
スペクトルのステレオ範囲内にある。従って段階794
において GBTC命令を使用し、nBAL 変数に等しい数の
ビットをビットストリームから検索する。検索されたビ
ットは BAL 変数として記憶される。段階796は、GE
T TABLE命令を使用して BAL 変数から GBPC 値を検索
する。段階798においては、段階796において検索
された GBPC 値が左へ6ビットだけけた送りされる。プ
ロセスは段階788、段階792、及び段階798から
段階800へ進み、段階782において遂行された動作
と同様に、スクラッチ RAM の組番号、チャネル数、及
び SBB 値のベクトルに GBPC 値が記憶される。段階8
02では第2及び第3の組の GBPC 変数の値が、段階8
00において第1の組が記憶した値から複写される。第
2及び第3の組の値は、スクラッチ RAM にも記憶され
る。段階804では SBB 値がインクリメントされる。
段階806において、SBB 値が数 32より大きいかもし
くは等しいかが判断される。もし SBB 値が数 32 より
大きいか、もしくは等しれば、プロセスは終了する。も
し SBB 値が数 32 より小さければ、プロセスは段階7
70へ戻されて次の SBB 値についての動作を遂行す
る。縮尺係数選択情報検索プロセス 図25は、層2 MPEG オーディオデータに関連付けられ
た縮尺係数選択情報を検索するために使用されるプロセ
スを示す。層2オーディオデータのブロック内の3組は
独立した縮尺係数を使用することも、もしくはサブバン
ド毎にブロック内の他の組と縮尺係数を共有することも
できる。縮尺係数選択情報は、2ビットフィールドを使
用して、その各サブバンドが共用している縮尺係数のモ
ードを指示する。プロセスは、SBB 変数を0に等しくセ
ットする段階808から開始される。段階810では、
CH 変数が0に等しくセットされる。段階812におい
ては、 CH 変数が #CHANNELS 変数と比較される。もし
CH 変数が #CHANNELS 変数より大きければ段階814
は SBB 値をインクリメントさせる。次いで段階816
において CH 変数が0に等しくセットされる。もし CH
変数が #CHANNELS変数より小さければ、段階818は特
定のグラニュール(granule )、チャネル、及びサブバ
ンド数に関する GBPC 値が値0と比較される。もしこの
値が0に等しければ、それはそのサブバンドに割当てら
れているビット/コードワードが存在しないことを意味
し、プロセスはどのような縮尺係数選択情報も検索する
必要はない。もし所与の組、チャネル、及びサブバンド
の GBPC 値が0でなければ、段階820はGBTC 命令を
使用してビットストリームから次の2ビットを検索する
ことによって、その組、チャネル、及びサブバンドの縮
尺係数選択情報を検索する。これらの2ビットは、スク
ラッチ RAM 内の #CHANNELS 及び SBB 数によってベ
クトル化された位置に記憶されている。段階822では
CH 変数がインクリメントされる。段階818において
GBPC 値が0に等しいと判断された場合にも、プロセス
は段階822へ直接到達する。プロセスは段階822か
ら、及び段階816から段階824へ進み、SBB 値が値
32 と比較される。もし SBB 値が 32 より小さけれ
ば、段階812へ戻って反対側のチャネルの縮尺係数選
択情報を検索するか、もしくは SBB 数をインクリメン
トさせる。層1縮尺係数索引復号プロセス 図26は、オーディオデコーダブロック28が層1 MPE
G オーディオデータの縮尺係数索引を復号するために使
用するプロセスを示す。プロセスは、SBB 変数を0に等
しくセットする段階826から開始される。段階828
では、CH 変数が0に等しくセットされる。段階830
において、CH 変数及び SBB 変数上に索引付けられた
BPC の値がスクラッチパッドメモリから読出され、そ
の位置に記憶されていた BPC が0に等しいか否かの判
断がなされる。もし値が0であれば、段階832は 63
の値をセット、即ち H3F を SCF 索引変数に等しくセ
ットする。縮尺索引値を 63 にセットすると、ハードウ
ェアフィルタ演算ユニット32がこの縮尺索引を使用し
てメモリから縮尺係数を検索した時に、そのサブバンド
が沈黙させられることになる。縮尺索引値が0である場
合にはハードウェアフィルタ演算ユニット32に関連付
けられた縮尺係数 ROM から最大の縮尺係数が検索さ
れ、また縮尺索引値が 63 である場合には0の縮尺係数
が検索される。段階830において検索された BPC 値
が0に等しくなければ、段階834は SCF 索引変数を
ビットストリーム内の次の6ビットに等しくセットす
る。段階836は、 MUTE フラグを調べる。もし MUTE
フラグがセットされていればそのサブバンドは沈黙させ
られ、プロセスは前述したように SCF 索引変数として
数 63 を記憶させる段階832へ進められる。
In step 780, the GBPC value is shifted to the left by 6
Feed by bit position. Tier 2 has 3 sets of 32 pairs of SBB
The values are grouped into one block (also called granules). Therefore, in step 782, the GBPC value vectorized with the set number, the number of channels, and the SBB value is stored in the location of the scratch RAM. In step 784, the GBPC values for the second and third granules are
Copied at 82 from the stored value. Step 786
In, NO The READ flag is checked again. if
NO If the READ flag is set, then at step 788 the GBPC value is set equal to zero. If NO
If the READ flag has not been set, step 790 compares the current SBB value with the BOUND value. If SBB
If the value is not less than the BOUND value, the SBB value is within the mono range of the combined stereo spectrum, and in step 792 the GBPC value is set equal to the GBPC value associated with the preceding channel. If the SBB value is B
If less than the OUND value, the current SBB value is within the stereo range of the combined stereo spectrum. Therefore step 794
Use the GBTC instruction at to retrieve from the bitstream a number of bits equal to the nBAL variable. The retrieved bits are stored as BAL variables. Step 796 is the GE
Use the T TABLE instruction to retrieve the GBPC value from the BAL variable. In step 798, the GBPC value retrieved in step 796 is shifted left 6 bits. The process proceeds from step 788, step 792, and step 798 to step 800, where the GBPC value is stored in a vector of scratch RAM set numbers, number of channels, and SBB values, similar to the operations performed in step 782. Stage 8
In 02, the values of the second and third sets of GBPC variables are
At 00, the first set is copied from the stored values. The second and third sets of values are also stored in the scratch RAM. In step 804, the SBB value is incremented.
In step 806, it is determined whether the SBB value is greater than or equal to the number 32. If the SBB value is greater than or equal to 32, the process ends. If the SBB value is less than 32, the process proceeds to step 7.
Returning to step 70, the operation for the next SBB value is performed. Scale Factor Selection Information Retrieval Process FIG. 25 shows the process used to retrieve scale factor selection information associated with Layer 2 MPEG audio data. The three sets in a block of layer 2 audio data may use independent scale factors, or may share scale factors with other sets in the block for each subband. The scale factor selection information uses a 2-bit field to indicate the mode of the scale factor shared by each subband. The process begins at step 808, where the SBB variable is set equal to zero. In step 810,
The CH variable is set equal to 0. In step 812, the CH variable is compared to the #CHANNELS variable. if
Step 814 if the CH variable is larger than the #CHANNELS variable
Increments the SBB value. Then step 816
At which the CH variable is set equal to 0. If CH
If the variable is less than the #CHANNELS variable, step 818 compares the GBPC value for the particular granule, channel, and number of subbands to the value zero. If this value is equal to 0, it means that there are no bits / codewords assigned to that subband, and the process does not need to retrieve any scale factor selection information. If the GBPC value for a given set, channel, and subband is not zero, step 820 returns the set, channel, and subband by retrieving the next two bits from the bitstream using the GBTC instruction. For the scale factor selection information of. These two bits are stored in the scratch RAM at the locations vectorized by the #CHANNELS and SBB numbers. In step 822,
CH variable is incremented. In step 818
If the GBPC value is determined to be equal to zero, the process also reaches step 822 directly. The process proceeds from step 822 and from step 816 to step 824, where the SBB value is
Compared to 32. If the SBB value is less than 32, the process returns to step 812 to retrieve the scale factor selection information of the opposite channel or to increment the SBB number. Layer 1 Scale Coefficient Index Decoding Process FIG. 26 shows that the audio decoder block 28
G illustrates the process used to decode the scale factor index of the audio data. The process begins at step 826 where the SBB variable is set equal to zero. Step 828
Now the CH variable is set equal to 0. Step 830
Indexed on CH and SBB variables
The value of BPC is read from the scratchpad memory and a determination is made as to whether the BPC stored at that location is equal to zero. If the value is 0, step 832 is 63
, Ie, set H3F equal to the SCF index variable. Setting the scale index value to 63 will cause the sub-band to be silenced when the hardware filter arithmetic unit 32 retrieves the scale factor from memory using this scale index. If the scale index value is 0, the largest scale factor is searched from the scale factor ROM associated with the hardware filter operation unit 32. If the scale index value is 63, a scale factor of 0 is searched. You. If the BPC value retrieved in step 830 is not equal to 0, step 834 sets the SCF index variable equal to the next 6 bits in the bitstream. Step 836 examines the MUTE flag. If MUTE
If the flag is set, the subband is silenced and the process proceeds to step 832, storing the number 63 as the SCF index variable as described above.

【0075】もし段階836において MUTE フラグはセ
ットされていないと判断されれば、段階838において
CH 変数に従って選択された減衰制御レジスタの値に縮
尺索引が加算される。減衰制御レジスタは、マイクロプ
ロセッサホスト12によってセット可能なある値を含ん
でいる。ある値が縮尺索引に加算されると特定のサブバ
ンドのための(検索される)最終縮尺係数が大きくな
り、そのサブバンドの音量が小さくなって一方のチャネ
ルが他方のチャネルに対して減衰されるようになる。段
階838は、チャネルの関数として減衰制御レジスタを
選択する。つまり減衰制御レジスタは、マイクロプロセ
ッサホスト12によってプログラム可能な右・左バラン
ススイッチと考えることができるのである。本発明の代
替実施例によれば、減衰制御レジスタはチャネル及びサ
ブバンドに基づいて選択される。このようにして、マイ
クロプロセッサホスト12は第1及び第2のチャネル内
の種々のサブバンドを減衰させることによって、プログ
ラム可能な 64 チャネル等化器を制御することができ
る。またこのようにすることによって、64 チャネル等
化器をディジタル域において実現する可能であり、それ
によりアナログ域において実現される等化器に伴う損失
及びひずみを防ぐことができる。
If it is determined in step 836 that the MUTE flag has not been set, then in step 838
The scale index is added to the value of the attenuation control register selected according to the CH variable. The decay control register contains certain values that can be set by the microprocessor host 12. When a value is added to the scale index, the final scale factor (retrieved) for a particular subband increases, the volume of that subband decreases, and one channel is attenuated relative to the other. Become so. Step 838 selects an attenuation control register as a function of the channel. That is, the attenuation control register can be thought of as a right / left balance switch programmable by the microprocessor host 12. According to an alternative embodiment of the present invention, the attenuation control register is selected based on channel and subband. In this manner, the microprocessor host 12 can control a programmable 64-channel equalizer by attenuating various subbands in the first and second channels. This also allows a 64-channel equalizer to be implemented in the digital domain, thereby preventing loss and distortion associated with the equalizer implemented in the analog domain.

【0076】段階840においては、減衰された縮尺係
数索引が 63 より大きいか否かが決定される。減衰制御
レジスタの内容を加算した後の縮尺係数索引が 63 より
大きければ、段階832において SCF 索引変数に 63
がロードされる。プロセスは段階832及び段階840
から段階842へ進み、特定のチャネル及びサブバンド
の縮尺係数索引が、スクラッチ RAM 内に記憶済の BFC
に連結される。この連結された対はスクラッチ RAM
内の同一アドレス位置に再挿入される。プロセスは段階
842から段階844へ進み、 CH 変数が検査される。
もし CH 変数が1に等しくなければ、プロセスは段階8
46へ分岐して CH 変数が1に等しくされる。次の段階
848において、オーディオストリームが2つのチャネ
ルを使用しているか否かが決定される。もしオーディオ
ストリームが2つのチャネルを使用していれば、プロセ
スは段階830へ戻されてチャネル1のサブバンドに関
連付けられた縮尺係数索引が検索される。もし2つのチ
ャネルを使用していなければ、プロセスは段848から
850へ進められ、チャネル0のための BPC と縮尺係
数索引との対が、チャネル1の同一サブバンドに関連付
けられたアドレス位置へ複写される。次いでプロセスは
段階844へ戻される。
At step 840, it is determined whether the attenuated scale factor index is greater than 63. If the scale factor index after adding the contents of the attenuation control register is greater than 63, then in step 832 the SCF index variable is set to 63
Is loaded. The process includes steps 832 and 840
From step 842, the scale factor index of the particular channel and subband is stored in the BFC stored in scratch RAM.
Linked to This connected pair is a scratch RAM
Is re-inserted at the same address position. The process proceeds from step 842 to step 844 where the CH variable is examined.
If the CH variable is not equal to 1, the process proceeds to step 8
Branch to 46 to make the CH variable equal to one. In a next step 848, it is determined whether the audio stream is using two channels. If the audio stream is using two channels, the process returns to step 830 to retrieve the scale factor index associated with the channel 1 subband. If not, the process proceeds to stages 848 to 850 where the BPC and scale factor index pair for channel 0 is copied to the address location associated with the same sub-band of channel 1. Is done. The process then returns to step 844.

【0077】段階844において、もし CH 変数が1に
等しければ、段階852は CH 変数を0にリセットす
る。段階854では、SBB 変数がインクリメントされ
る。段階856においては、SBB 変数が 32 と比較され
る。もし SBB 変数が 32 より小さければ、プロセスは
段階830へ戻されて次のサブバンドの縮尺係数索引が
復号される。段階856においてもし SBB 変数が 32
より大きいか、もしくは等しければ、プロセスは終了す
る。層1サブバンド情報復号プロセス 図27及び28は、層1 MPEG オーディオデータのサブ
バンド情報を復号するためにオーディオデコーダブロッ
ク28が使用するプロセスを示す。このプロセスは、ハ
ードウェアフィルタ演算ユニットブロック32が演算ユ
ニットバッファ30を空にしたか否かを決定する段階8
58から開始される。この決定は、オーディオデコーダ
ブロック28の特別レジスタブロック内のレジスタを調
べることによってなされる。演算ユニットバッファ30
が空であることを見出した場合には、段階860は連結
された BPC と縮尺係数索引とを、オーディオデコーダ
ブロック28に関連付けられたスクラッチ RAM から演
算ユニットバッファ30へ移動させる。段階862で
は、BLOCK CNT が0に等しくセットされる。段階86
4では、CH 変数が0に等しくセットされる。段階86
6では、SBB 変数が0に等しくセットされる。段階86
8においては、CH 変数及び SBB 変数によって選択さ
れた BPC の値が変数 NUM BITS 内にロードされる。
次の段階870は、GBT 命令を使用して NUM BITS の
値に等しい数のビットをビットストリームから検索さ
せ、検索したビットを SAMPLE 変数内に記憶させる。段
階872は〔 16 − NUM BITS 変数の値〕に等しいビ
ット数だけ SAMPLE 変数を左へけた送りさせる。このプ
ロセスは 16 ビットフィールド内のサブバンドサンプル
を左位置調整する。
In step 844, if the CH variable equals one, step 852 resets the CH variable to zero. At step 854, the SBB variable is incremented. In step 856, the SBB variable is compared to 32. If the SBB variable is less than 32, the process returns to step 830 to decode the next subband scale factor index. In step 856, if the SBB variable is 32
If so, the process ends. Layer 1 Subband Information Decoding Process FIGS. 27 and 28 illustrate the process used by audio decoder block 28 to decode the subband information of Layer 1 MPEG audio data. This process determines whether the hardware filter arithmetic unit block 32 has emptied the arithmetic unit buffer 30 step 8.
It starts from 58. This determination is made by examining the registers in the special register block of the audio decoder block 28. Arithmetic unit buffer 30
If is found empty, step 860 moves the concatenated BPC and scale factor index from the scratch RAM associated with audio decoder block 28 to arithmetic unit buffer 30. In step 862, the BLOCK CNT is set equal to 0. Step 86
At 4, the CH variable is set equal to 0. Step 86
At 6, the SBB variable is set equal to zero. Step 86
8, the BPC value selected by the CH and SBB variables is Loaded in BITS.
The next step 870 is to use the GBT instruction to Causes the bitstream to retrieve a number of bits equal to the value of BITS, and stores the retrieved bits in the SAMPLE variable. Step 872 returns [16-NUM Causes the SAMPLE variable to shift left by the number of bits equal to the value of the BITS variable. This process left justifies subband samples in a 16-bit field.

【0078】段階874においては分岐がなされる。も
しブロック計数( BLOCK CNT ) 変数が0に等しけれ
ば、けた送りされたサンプルは段階876において演算
ユニットバッファ30内に直接記憶される。もしBLOCK
CNT 変数が0に等しくなければ、けた送りされたサン
プルは、段階878においてオーディオデコーダブロッ
ク28に関連付けられたスクラッチ RAM 内に記憶され
る。プロセスは段階876から、もしくは段階878か
ら段階880へ進み、CH 変数に依存して分岐が行われ
る。もし CH 変数が1に等しくなければ、段階882は
CH 変数を1に等しくセットする。段階884は、SBB
変数と BOUND 変数とを比較する。もし SBB 変数が B
OUND 変数より小さければ、現サブバンドは結合スペク
トルのステレオ範囲内にあり、プロセスは段階868へ
戻されて第2のチャネルに関連付けられたサンプルが検
索される。もし SBB 変数が BOUND 変数より大きけれ
ば、段階886へ進んでメモリへ書込まれたけた送りさ
れたサンプルが、反対側のチャネルに関連付けられたス
クラッチ RAM もしくは演算ユニットバッファ30内の
何れかの第2の位置へ複写される。プロセスは段階88
6もしくは段階880から段階888へ進められ、CH
変数が0に等しくセットされる。段階890では SBB
変数がインクリメントされる。段階892において、SB
B 変数が値 32と比較される。もし SBB 値が 32 より
大きくないか、もしくは等しくなけければ、プロセスは
段階868へ戻される。段階892においてもし SBB
値が 32より大きいか、もしくは等しければ、プロセス
は図28に続く接続点Aに進められる。
In step 874, a branch is taken. If block count (BLOCK If the CNT) variable is equal to zero, the shifted sample is stored directly in operation unit buffer 30 at step 876. If BLOCK
If the CNT variable is not equal to 0, the shifted sample is stored in a scratch RAM associated with audio decoder block 28 at step 878. The process proceeds from step 876 or from step 878 to step 880, where a branch is taken depending on the CH variable. If the CH variable is not equal to 1, step 882 is
Set CH variable equal to 1. Step 884 is the SBB
Compare the variable with the BOUND variable. If the SBB variable is B
If so, the current subband is within the stereo range of the combined spectrum and the process returns to step 868 to search for a sample associated with the second channel. If the SBB variable is greater than the BOUND variable, the method proceeds to step 886 where the transmitted sample written to memory is sent to the scratch RAM associated with the opposite channel or any second in the arithmetic unit buffer 30. Is copied to the location. The process is at step 88
6 or from step 880 to step 888, where CH
The variable is set equal to 0. In step 890, the SBB
Variable is incremented. In step 892, SB
The B variable is compared to the value 32. If the SBB value is not greater than or equal to 32, the process returns to step 868. If at step 892 SBB
If the value is greater than or equal to 32, the process proceeds to Node A following FIG.

【0079】図28の段階894では、BLOCK CNT 変
数がインクリメントされる。段階896では、BLOCK
CNT 変数に依存して分岐がなされる。もし段階894に
おいてインクリメントされた BLOCK CNT 変数が1に等
しければ、プロセスは段階898へ進んで PTS フラグ
が調べられる。もし PTS フラグがセットされていれ
ば、段階900において PTS 割込みが検査される。も
し PTS 割込みが可能にされていれば、段階902にお
いて PTS タグがセットされる。次いで段階904にお
いてフレームの始まり( BOF ) タグがセットされる。PC
M 出力ブロック36はデータを PCM データピン上に出
力する時に PTS 及び BOF タグを使用して BOF 信号
及び PTS 割込みをセットする。段階898においても
し PTS フラグがセットされていないか、もしくは段階
900において PTS 割込みが可能にされていなけれ
ば、プロセスは直接段階904へ進められる。もし段階
896が BLOCK CNT は1に等しくないと決定すれば、
プロセスは段階906へ進んで演算ユニットバッファ3
0が空になるまで待機する。演算ユニットバッファ30
がハードウェアフィルタ演算ユニットブロック32によ
って空にされると、段階908はスクラッチ RAM 内に
記憶しているサンプルを演算ユニットバッファ30へ転
送する。段階910では、PTS 及び BOF タグがクリア
される。プロセスは段階904もしくは段階910から
段階912へ進み、演算ユニットバッファ30が一杯で
あることを指示するフラグをセットする。次の段階91
4では、 BLOCK CNT が値 12 と比較される。もし BLO
CK CNT が 12 より小さいか、もしくは等しければ、プ
ロセスは前述した図27の段階866へ戻される。段階
914において、もし BLOCK CNT が 12 より大きけれ
ばプロセスは終了する。層2縮尺係数索引復号プロセス 図29及び30に、層2 MPEG オーディオデータの縮尺
係数索引情報を復号するためにオーディオデコーダブロ
ック28が使用するプロセスの詳細を示す。プロセス
は、SBB 変数を0に等しくセットする段階916から開
始される。段階918では、SBB 変数が数 32 と比較さ
れる。もし SBB 変数が 32 より小さくなければプロセ
スは終了する。もし SBB 変数が 32 より小さければ、
段階920において CH 変数が0に等しくセットされ
る。段階922では、CH 変数と2とを比較する。もし
CH 変数が2より小さくなければ、段階924において
SBB変数がインクリメントされ段階918へ戻される。
もし CH 変数が2より小さければ、段階926において
CH 変数が #CHANNELS 変数と比較される。もし CH変
数が #CHANNELS 変数よりも小さくなければ、それはデ
ータがモノラルデータであることを意味しており、段階
928においてチャネル0の縮尺係数索引情報が複写さ
れてチャネル1の縮尺係数索引情報が形成される。図2
9の段階928に示すように、オーディオデータのブロ
ックの各組内の各チャネル内の各サブバンドには1つの
縮尺係数索引が存在する。プロセスは段階928から段
階930へ進められて CH 変数がインクリメントされ
る。次いでプロセスは段階922へ戻される。
In step 894 of FIG. The CNT variable is incremented. In step 896, the BLOCK
A branch is taken depending on the CNT variable. If the BLOCK was incremented in step 894 If the CNT variable equals 1, the process proceeds to step 898 where the PTS flag is examined. If the PTS flag is set, at step 900 the PTS interrupt is checked. If PTS interrupts have been enabled, at step 902 the PTS tag is set. Then, in step 904, the start of frame (BOF) tag is set. PC
The M output block 36 uses the PTS and BOF tags to set the BOF signal and PTS interrupt when outputting data on the PCM data pins. If the PTS flag has not been set in step 898 or if the PTS interrupt has not been enabled in step 900, the process proceeds directly to step 904. If step 896 is a BLOCK If you decide that CNT is not equal to 1,
The process proceeds to step 906 and the operation unit buffer 3
Wait until 0 is empty. Arithmetic unit buffer 30
Is emptied by the hardware filter arithmetic unit block 32, step 908 transfers the samples stored in the scratch RAM to the arithmetic unit buffer 30. In step 910, the PTS and BOF tags are cleared. The process proceeds from step 904 or step 910 to step 912 and sets a flag indicating that the arithmetic unit buffer 30 is full. Next Step 91
In 4, BLOCK CNT is compared to the value 12. If BLO
CK If CNT is less than or equal to 12, the process returns to step 866 of FIG. In step 914, if BLOCK If the CNT is greater than 12, the process ends. Layer 2 Scale Coefficient Index Decoding Process FIGS. 29 and 30 show details of the process used by audio decoder block 28 to decode scale coefficient index information for Layer 2 MPEG audio data. The process starts at step 916 where the SBB variable is set equal to zero. In step 918, the SBB variable is compared to the number 32. If the SBB variable is not less than 32, the process ends. If the SBB variable is less than 32,
In step 920, the CH variable is set equal to zero. In step 922, the CH variable is compared with 2. if
If the CH variable is not less than 2, at step 924
The SBB variable is incremented and returns to step 918.
If the CH variable is less than 2, at step 926
The CH variable is compared with the #CHANNELS variable. If the CH variable is not less than the #CHANNELS variable, which means that the data is monaural data, the scale factor index information for channel 0 is copied in step 928 to form the scale factor index information for channel 1. Is done. FIG.
As shown in step 928 of step 9, there is one scale factor index for each subband in each channel in each set of blocks of audio data. The process proceeds from step 928 to step 930 where the CH variable is incremented. The process then returns to step 922.

【0080】段階926においてもし CH 変数が #CHAN
NELS 変数よりも小さければ、段階932においてはサ
ブバンドの現チャネルの組0の GBPC 値が0と比較され
る。もし指示された GBPC 値が0に等しければ、プロセ
スは分岐点Bから図30へ進められる。もし指示された
GBPC 値が0に等しくなければプロセスは4分岐段階9
34へ進む。この段階934は、図25に関して前述し
たプロセスを使用して検索された縮尺係数選択情報オー
ディオデータに基づいて分岐する。既に詳述したよう
に、縮尺係数選択情報は層2オーディオデータのあるブ
ロック内のどの組が同一縮尺係数索引値を共有している
かを識別する。縮尺係数選択値が 00 である場合には、
あるブロック内の各組が独立した縮尺係数索引値を有し
ていることを表している。この場合にはプロセスは段階
936へ進み、3つの連続した GBT命令が実行されて指
示されたチャネル及びサブバンド値に関連する組0、
1、及び2のための縮尺係数索引情報が検索される。6
ビットの縮尺係数索引値は、それらがビットストリーム
から検索されるとスクラッチ RAM 内に記憶される。縮
尺係数選択情報の値が 01 である場合には、プロセスは
段階934から段階938へ進められ、次の6ビットが
検索されて所与のチャネル及び所与のサブバンドの組0
の縮尺係数索引として記憶される。次いで、同じ6ビッ
トが所与のチャネル及びサブバンドの組1の縮尺係数索
引として複写される。次の6ビットが検索され、指示さ
れたチャネル及びサブバンドの組2の縮尺係数索引とし
て記憶される。
In step 926, if the CH variable is #CHAN
If so, step 932 compares the GBPC value of set 0 of the current channel of the subband to zero. If the indicated GBPC value is equal to 0, the process proceeds from branch point B to FIG. If instructed
If the GBPC value is not equal to 0, the process branches to stage 4 9
Proceed to 34. This step 934 branches based on the scale factor selection information audio data retrieved using the process described above with respect to FIG. As described in detail above, the scale factor selection information identifies which sets within a block of layer 2 audio data share the same scale factor index value. If the scale factor selection value is 00,
This indicates that each set in a certain block has an independent scale factor index value. In this case, the process proceeds to step 936 where three consecutive GBT instructions have been executed to set 0, associated with the indicated channel and subband values.
Scale factor index information for 1 and 2 is retrieved. 6
The scale factor index values for the bits are stored in the scratch RAM as they are retrieved from the bitstream. If the value of the scale factor selection information is 01, the process proceeds from step 934 to step 938, where the next 6 bits are retrieved to give the given channel and given subband set 0
Is stored as a scale factor index. The same 6 bits are then copied as the scale factor index for the given channel and subband set 1. The next 6 bits are retrieved and stored as the scale factor index for the indicated channel and subband set 2.

【0081】縮尺係数選択情報の値が 10 である場合に
は、3つの全ての組が同一縮尺係数索引値を使用してい
ることを意味している。この場合プロセスは段階934
から段階940へ進み、ビットストリームから次の6ビ
ットが検索され、指示されたチャネル及びサブバンドに
関連する組0、1、及び2の縮尺係数索引に対応する3
つの位置に縮尺係数索引として記憶される。最後に、縮
尺係数選択情報値が 11 である場合には、第2及び第3
の組が縮尺係数索引値を共有し、第1の組は分離した縮
尺係数索引値を有していることを示している。従ってプ
ロセスは段階934から段階942へ進み、次の6ビッ
トを検索して関連するチャネル及びサブバンドの組0の
縮尺係数索引として記憶する。次いで、次の6ビットが
検索され指示されたチャネル及びサブバンドに関連する
組1及び2の縮尺係数索引値に対応する2つの位置に記
憶される。プロセスは段階936、938、940、も
しくは942から、図30へ続く接続点Cへ進む。図3
0の段階944へは接続点Cから到達し、MUTE フラグ
が検査される。もし MUTE フラグがセットされていれ
ば、それは現フレームの出力を沈黙させることを指示し
ている。従ってプロセスは段階946へ進められ、指示
されたチャネル及びサブバンドに関連する各組0、1、
及び2の縮尺係数索引情報に値 63 が重ね書きされる。
前述したように、縮尺係数索引値が 63 である場合には
ハードウェアフィルタ演算ユニットブロック32によっ
て処理された時に0の縮尺係数が検索され、出力が沈黙
させられる。
When the value of the scale factor selection information is 10, it means that all three sets use the same scale factor index value. In this case, the process proceeds to step 934.
From step 940, the next 6 bits are retrieved from the bitstream and correspond to the scale factor index of sets 0, 1, and 2 associated with the indicated channel and subband.
At one location as a scale factor index. Finally, if the scale factor selection information value is 11, the second and third
, Share the scale factor index values, and the first set has separate scale factor index values. Accordingly, the process proceeds from step 934 to step 942, where the next six bits are retrieved and stored as a scale factor index for the associated channel and subband set 0. The next six bits are then retrieved and stored in two locations corresponding to the set 1 and 2 scale factor index values associated with the indicated channel and subband. The process proceeds from step 936, 938, 940, or 942 to node C, which continues to FIG. FIG.
A zero step 944 is reached from node C and the MUTE flag is checked. If the MUTE flag is set, it indicates that the output of the current frame should be silenced. Accordingly, the process proceeds to step 946, where each set 0, 1, ... associated with the indicated channel and subband.
The value 63 is overwritten on the scale factor index information of (2) and (2).
As mentioned above, if the scale factor index value is 63, a scale factor of 0 is retrieved when processed by the hardware filter operation unit block 32 and the output is silenced.

【0082】もし MUTE フラグがセットされていなけれ
ば、段階948は組番号変数を0に等しくセットする。
段階950では、指示された組番号、チャネル数、及び
サブバンドの縮尺係数索引が指示されたチャネルの減衰
制御レジスタの値に加算される。このプロセスは図26
の段階838に関して説明したプロセスに類似してい
る。減衰制御レジスタ値は、右もしくは左チャネルの何
れかを選択的に減衰させるためのバランス制御として働
く。縮尺係数索引値にある数を加算することによって、
所与のサブバンドの出力の音量が最終的に小さくされ
る。これも前述したように、本発明の代替実施例によれ
ば、ディジタル域においてプログラム可能な64 チャネ
ル等化器を実現することができるように減衰制御値を各
サブバンド毎にプログラムすることが可能である。プロ
セスは段階950から段階952へ進んで、減衰された
縮尺係数索引が値63 と比較される。もし調整された縮
尺係数索引が 63 より大きければ段階954は、所与の
組番号、チャネル数、及びサブバンド値の縮尺係数索引
値として数63 をロードする。段階952においてもし
調整された縮尺係数索引が 63 より大きくないと決定さ
れれば、段階956は組番号をインクリメントさせる。
段階958においては、組番号と値3とが比較される。
もし組番号が3より小さければ、プロセスは段階950
へ戻され、次の組に対して減衰制御が遂行される。段階
960へは段階958において組番号は3より小さくな
いと決定されれば、もしくは段階946から直接到達
し、所与の組番号、チャネル数、及びサブバンドの縮尺
係数索引が、その組番号、チャネル数、及びサブバンド
の GBPC 値と連結される。連結された値はオーディオデ
コーダブロック28に関連するスクラッチRAM 内に記憶
される。次いでプロセスは接続点Aから図29の段階9
30へ戻される。層2サブバンド情報復号プロセス 図31及び32は、層2 MPEG オーディオデータのサブ
バンド情報を復号するためにオーディオデコーダブロッ
ク28が使用するプロセスを示す。プロセスは演算ユニ
ットバッファ30がハードウェアフィルタ演算ユニット
ブロック32によって空にされるまでオーディオデコー
ダブロック28が待機する段階962から開始される。
演算ユニットバッファ30が空になると、段階964に
おいて GBPC 値と縮尺係数索引値の連結された対がオー
ディオデコーダブロック28に関連付けられたスクラッ
チ RAM から演算ユニットバッファ30へ転送される。
段階966では、BLOCK CNT 変数が0に等しくセット
される。次の段階968においてもし BLOCK CNT 変数
が 12 より小さくなければプロセスは終了する。もし B
LOCK CNT 変数が 12 より小さければ、段階970にお
いて SBB 変数が0に等しくセットされる。段階972
では、SBB 変数が 32 と比較される。もし SBB 変数が
32 より小さければ、プロセスは分岐点Bから図32へ
進められる。もし SBB 変数が 32 より小さくなけれ
ば、段階974において BLOCK CNT 変数がインクリメ
ントされる。段階976では、インクリメントされた B
LOCK CNT 変数が1と比較される。もし BLOCK CNT 変
数が1に等しければ、プロセスは段階978へ進んで P
TS フラグを調べる。もし PTS フラグがセットされて
いれば、段階980は PTS 割込みが可能にされている
か否かを決定する。もし PTS 割込みが可能であれば、
段階982は PTS タグをセットする。段階984へ
は、段階978において PTS フラグがセットされてい
ないか、もしくは段階980において PTS 割込みが可
能にされていなければ、もしくは段階982から直接進
められ、BOF タグがセットされる。PTS タグ及び BOF
タグは、PCM 出力ブロック36によって使用され、デー
タを PCM データピンに出力する時に BOF 信号及び P
TS 割込みをセットする。
If the MUTE flag has not been set, step 948 sets the set number variable equal to zero.
In step 950, the indicated set number, number of channels, and subband scale factor index are added to the value of the indicated channel attenuation control register. This process is illustrated in FIG.
Is similar to the process described with respect to step 838 of FIG. The attenuation control register value acts as a balance control to selectively attenuate either the right or left channel. By adding a number to the scale factor index value,
The output volume of a given sub-band is eventually reduced. As also mentioned above, according to an alternative embodiment of the present invention, the attenuation control value can be programmed for each sub-band so that a 64-channel equalizer programmable in the digital domain can be realized. It is. The process proceeds from step 950 to step 952, where the attenuated scale factor index is compared to the value 63. If the adjusted scale factor index is greater than 63, step 954 loads equation 63 as the scale factor index value for the given set number, number of channels, and subband value. If step 952 determines that the adjusted scale factor index is not greater than 63, step 956 increments the set number.
In step 958, the set number and the value 3 are compared.
If the set number is less than 3, the process proceeds to step 950.
And the attenuation control is performed for the next set. Step 960 is reached in step 958 if the set number is not less than 3, or is reached directly from step 946, where the given set number, number of channels, and subband scale factor index indicate that set number, It is linked with the number of channels and the GBPC value of the subband. The concatenated values are stored in a scratch RAM associated with audio decoder block 28. The process then proceeds from connection point A to step 9 in FIG.
It is returned to 30. Layer 2 Subband Information Decoding Process FIGS. 31 and 32 illustrate the process used by audio decoder block 28 to decode the subband information of Layer 2 MPEG audio data. The process starts at step 962 where the audio decoder block 28 waits until the arithmetic unit buffer 30 is emptied by the hardware filter arithmetic unit block 32.
When the arithmetic unit buffer 30 is empty, the concatenated pair of GBPC value and scale factor index value is transferred from the scratch RAM associated with the audio decoder block 28 to the arithmetic unit buffer 30 at step 964.
In step 966, the BLOCK The CNT variable is set equal to 0. In the next step 968 if BLOCK If the CNT variable is not less than 12, the process ends. If B
LOCK If the CNT variable is less than 12, at step 970 the SBB variable is set equal to zero. Step 972
Now the SBB variable is compared to 32. If the SBB variable is
If less than 32, the process proceeds from branch point B to FIG. If the SBB variable is not less than 32, BLOCK at step 974 The CNT variable is incremented. In step 976, the incremented B
LOCK The CNT variable is compared to 1. If BLOCK If the CNT variable equals 1, the process proceeds to step 978 where P
Check the TS flag. If the PTS flag is set, step 980 determines whether PTS interrupts are enabled. If a PTS interrupt is possible,
Step 982 sets the PTS tag. To step 984, if the PTS flag is not set at step 978, or if the PTS interrupt is not enabled at step 980, or directly from step 982, the BOF tag is set. PTS tag and BOF
The tag is used by the PCM output block 36 to output the data to the PCM data pin when the BOF signal and P
Set TS interrupt.

【0083】段階976においてもし BLOCK CNT 変数
が1に等しくなければ、段階986においてオーディオ
デコーダブロック28は、演算ユニットバッファ30が
ハードウェアフィルタ演算ユニットブロック32によっ
て空にされるまで待機する。演算ユニットバッファ30
が空になると、段階988はサブバンドサンプルをオー
ディオデコーダブロック28に関連付けられたスクラッ
チ RAM から演算ユニットバッファ30へ転送する。段
階990では PTS 及び BOF タグが共にクリアされ
る。プロセスは段階990もしくは段階984から段階
992へ進み、演算ユニットバッファ30が一杯である
ことを指示するフラグがセットされる。プロセスは段階
992から段階968へ戻される。図32の CH 変数を
0に等しくセットする段階994へは、分岐点Bから到
達する。段階996は CH 変数と2とを比較する。もし
CH 変数が2より小さくなければ、段階998は SBB
変数をインクリメントさせる。次いでプロセスは分岐点
Aから図31の段階972へ戻される。段階996にお
いて、もし CH 変数が2より小さければ段階1000に
おいて CH 変数が1と比較される。もし CH変数が1に
等しければ、段階1002は SBB 変数の現値と BOUND
変数とを比較する。もし SBB 変数の現値が BOUND
変数より小さければ、段階1004はGBPC の最上位ビ
ットと1とを比較する。GBPC の最上位ビット位置が1
であることは、オーディオデータがグループ化されてい
ることを指示している。もしオーディオデータがグルー
プ化されていれば、段階1006においてグループ復号
が遂行される。オーディオデコーダブロック28がグル
ープ復号を遂行するために使用するプロセスは、図33
を参照して後述する。
In step 976, if BLOCK CNT variables
If is not equal to one, then at step 986 the audio
The decoder block 28 includes an arithmetic unit buffer 30
The hardware filter operation unit block 32
Wait until empty. Arithmetic unit buffer 30
When is empty, step 988 checks for subband samples.
The scratch associated with the audio decoder block 28
H Transfer from the RAM to the arithmetic unit buffer 30. Step
On floor 990, both PTS and BOF tags are cleared
You. The process starts at step 990 or step 984
Proceed to 992 and the arithmetic unit buffer 30 is full
Is set. Process is a stage
Return to step 968 from 992. The CH variable in FIG.
Step 994, which sets equal to 0, arrives at branch point B
Reach. Step 996 compares the CH variable with 2. if
 If the CH variable is not less than 2, step 998 is SBB
Increments a variable. The process then turns
A returns to step 972 in FIG. In step 996
And if CH variable is less than 2, go to step 1000
Where the CH variable is compared to 1. If CH variable is 1
If they are equal, step 1002 is the current value of the SBB variable and BOUND
 Compare with variable. If the current value of the SBB variable is BOUND
If so, step 1004 is the top level GBPC
Compare the number to the 1 The most significant bit position of GBPC is 1
Is that the audio data is grouped
It is instructed. If audio data is glue
If so, in step 1006 the group decryption
Is performed. Audio decoder block 28
The process used to perform loop decoding is shown in FIG.
It will be described later with reference to FIG.

【0084】もし GBPC 値の最上位ビットがビットスト
リームはグループ化されていないことを指示すれば段階
1008は、指示されたチャネル及びサブバンドのため
の GBPC 値を使用して GBT 命令を遂行することによっ
て、指示されたチャネル及び指示されたサブバンドの第
1の組のサンプルをビットストリームから検索し、GBT
命令によって検索すべきビット数を供給する。次の段階
1010は、検索されたビットを〔16− GBPC 値〕だけ
左へけた送りすることによって、検索されたビットを左
位置調整する。段階1012においては、段階1008
と同じ手法で、指示されたチャネル及び指示されたサブ
バンドの第2の組のサンプルが検索される。段階101
4は、前述したように左けた送りを遂行することによっ
て、検索されたサンプルを左位置調整する。段階101
6においては、段階1008及び段階1012と同じ手
法で指示されたチャネル及び指示されたサブバンドに対
応する第3の組のサンプルが検索される。段階1018
では同じ左けた送り手法を使用して検索されたサンプル
の左位置調整が行われる。段階1002において SBB
値が BOUND 値より小さくないと決定された場合には、
指示された SBB 値は結合ステレオのモノラル範囲内に
あり、プロセスは段階1020へ進んで組0、1、及び
2の指示された SBB 値のチャネル0のサンプルが複写
されて組0、1、及び2の指示された SBB 値のチャネ
ル1のサンプルが作られる。段階1020において作ら
れたサンプル、及び段1010、1014、及び101
8において作られたサンプルは、図31において説明済
の段階988に到達するまでオーディオデコーダブロッ
ク28に関連付けられたスクラッチ RAM 142内に記
憶され、その時点に達するとサンプルは演算ユニットバ
ッファ30へ転送される。プロセスは段階1020、1
006、及び段階1018から段階1022へ進み、CH
変数がインクリメントされる。プロセスは段階102
2から段階966へ戻される。グループ復号プロセス 図33は、グループ復号を遂行するためにオーディオデ
コーダブロック28が使用するプロセスを示す。同一チ
ャネル及びサブバンドの3つの連続サンプルが一緒にグ
ループ化される時にサンプルはグループ符号化され、
5、7、もしくは10 ビット長の単一の値を使用してコ
ード化される。図33に示すプロセスは、5、7、もし
くは 10 ビットフィールドを検索し、そのフィールドを
復号して所与のチャネル及びサブバンドの組0、組1、
及び組2に関連付けられたサンプルを作る。プロセス
は、GBT 命令を使用して現チャネル及びサブバンドの B
PC 値に等しいビット数を、ビットストリームから検索
する段階1024から開始される。BPC 値は GBPC 値の
5つの最下位ビットである。これらのビットは CODE 変
数内にロードされる。段階1026では、再度 BPC 値
を使用して種々に分岐させる。即ち、もし BPC 値が5
に等しければ、プロセスは段階1028へ進み、整数除
算を使用して CODE 変数を〔 CODE 変数÷3〕に等しく
セットする。この商は新しい CODE 変数として再び保管
される。段階1030において、整数除算の剰余は保管
され、所与のチャネル及びサブバンドの組0に関連付け
られたサンプルとして記憶される。段階1032では、
サンプルが 14 ビットだけ左へけた送りされ、サンプル
が左位置調整される。段階1034では、整数除算を使
用して CODE 変数が再度3で除される。この商を新しい
CODE 変数として記憶する。段階1036に示すよう
に、整数除算の剰余は所与のチャネル及びサブバンド値
の組1のサンプルを構成する。段1038では、次のサ
ンプルが 14 ビット位置だけ左へけた送りされて再び左
位置調整される。段階1040において、CODE変数の最
終値が最後に保管され、所与のチャネル及びサブバンド
の組2のサンプルを構成する。段階1042では、最終
サンプルが 14 ビット位置だけ左へけた送りされ、サン
プルの左位置調整が行われる。プロセスは段階1042
の後に終了する。
If the most significant bit of the GBPC value indicates that the bitstream is not grouped, step 1008 performs a GBT instruction using the GBPC value for the indicated channel and subband. Retrieves the first set of samples of the indicated channel and the indicated subband from the bitstream,
Provides the number of bits to be searched by the instruction. The next step 1010 left justifies the retrieved bit by shifting the retrieved bit left by [16- GBPC value]. In step 1012, step 1008
In the same manner as, a second set of samples of the indicated channel and the indicated subband is searched. Stage 101
4 adjusts the searched sample to the left by performing left shift as described above. Stage 101
At 6, a third set of samples corresponding to the indicated channel and the indicated subband is retrieved in the same manner as steps 1008 and 1012. Step 1018
Then, the left position adjustment of the searched sample is performed using the same left shift method. SBB in step 1002
If it is determined that the value is not less than the BOUND value,
The indicated SBB value is within the mono range of the combined stereo and the process proceeds to step 1020 where the samples of channel 0 of the indicated SBB values of sets 0, 1, and 2 are duplicated to form sets 0, 1, and Channel 1 samples of the indicated SBB value of 2 are created. Samples made in step 1020, and steps 1010, 1014, and 101
The samples made at 8 are stored in the scratch RAM 142 associated with the audio decoder block 28 until reaching the step 988 described in FIG. 31, at which point the samples are transferred to the arithmetic unit buffer 30. You. The process comprises steps 1020, 1
006, and proceeds from step 1018 to step 1022, where CH
Variable is incremented. The process is stage 102
2 returns to step 966. Group Decoding Process FIG. 33 shows the process used by audio decoder block 28 to perform group decoding. The samples are group coded when three consecutive samples of the same channel and subband are grouped together,
It is coded using a single value that is 5, 7, or 10 bits long. The process shown in FIG. 33 retrieves a 5, 7, or 10 bit field and decodes that field to provide a given channel and subband set 0, set 1,.
And make the sample associated with set 2. The process uses the GBT instruction to
Beginning at step 1024, the number of bits equal to the PC value is retrieved from the bitstream. The BPC value is the five least significant bits of the GBPC value. These bits are loaded into the CODE variable. In step 1026, various branching is performed again using the BPC value. That is, if the BPC value is 5
If so, the process proceeds to step 1028 where the CODE variable is set equal to [CODE variable $ 3] using integer division. This quotient is stored again as a new CODE variable. In step 1030, the remainder of the integer division is stored and stored as a sample associated with a given channel and subband set 0. In step 1032,
The sample is shifted 14 bits to the left, and the sample is left justified. In step 1034, the CODE variable is again divided by three using integer division. This quotient is new
Store as CODE variable. As shown in step 1036, the remainder of the integer division constitutes a sample of a given set of channel and subband values. At stage 1038, the next sample is shifted left by 14 bit positions and left justified. In step 1040, the final value of the CODE variable is finally stored and constitutes a sample of a given channel and subband set 2. In step 1042, the final sample is shifted 14 bits to the left and the sample is left justified. The process is step 1042
Ends after

【0085】もし所与のチャネル及びサブバンドのため
の BPC 値が7に等しければ、プロセスは段階1044
へ進み、整数除算によって CODE 変数は〔 CODE 変数÷
5〕に等しくセットされる。段階1046では、所与の
チャネル及びサブバンドの組0のサンプルが段階104
4で遂行された除算の剰余に等しくセットされる。段階
1048では、13 ビット位置だけ左へけた送りするこ
とによってサンプルの左位置調整を行う。段階1050
では、整数除算によって CODE 変数が再び5で除され
る。この商は新しい CODE 変数として記憶される。段階
1052では所与のチャネル及びサブバンドの組1のサ
ンプルが、段階1050で遂行された整数除算の剰余に
等しくセットされる。段階1054では、サンプルが 1
3 ビット位置だけ左へけた送りされ、再度サンプルの左
位置調整が行われる。段階1056においては、所与の
チャネル及びサブバンドの組2のサンプルが、CODE 変
数の最終値に等しくセットされる。段階1058におい
て、最終サンプルが 13 ビット位置だけ左へけた送りさ
れ、左位置調整が行われる。このプロセスは段階105
8で終了する。段階1026において、もし所与のチャ
ネル及びサブバンドのための BPC 値が 10 に等しけれ
ばプロセスは段階1060へ進み、整数除算演算によっ
て CODE 変数は〔 CODE 変数÷9〕に等しくセットされ
る。段階1062では、所与のチャネル及びサブバンド
の組0のサンプルが除算の剰余に等しくセットされる。
段階1064では、12 ビット位置だけ左へけた送りす
ることによってサンプルの左位置調整を行う。段階10
66では、整数除算によって CODE 変数が再び9で除さ
れる。この商は新しい CODE 変数として記憶される。段
階1068では所与のチャネル及びサブバンドの組1の
サンプルが、段階1066で遂行された整数除算の剰余
に等しくセットされる。段階1070では、サンプルが
12 ビット位置だけ左へけた送りされ、サンプルの左位
置調整が行われる。段階1072においては、CODE 変
数の最終値が所与のチャネル及びサブバンドの組2のサ
ンプルの値を供給する。段階1074において、最終サ
ンプルが 12 ビット位置だけ左へけた送りされ、左位置
調整が行われる。このプロセスは段階1074で終了す
る。図33に示したグループ復号プロセスによって生成
されたサンプルは、図31の段階988で説明したよう
にそれらが演算ユニットバッファ30へ転送されるまで
オーディオデコーダブロック28に関連付けられたスク
ラッチ RAM 内に記憶される。バッファ管理プロセス オーディオデコーダブロック28が入力バッファ24及
び外部バッファ26に関してバッファ管理を遂行するた
めに使用するプロセスを、図34及び35に示す。プロ
セスは段階1076から開始され、段階1076では R
EPEAT 制御レジスタが試験される。REPEAT 制御レジス
タは、同期誤りが存在していること、及びオーディオデ
コーダブロックがビットストリーム内の遥か前方にあり
過ぎて同期を再入手するのを援助するにはあるフレーム
を繰り返す必要があることをマイクロプロセッサホスト
12がオーディオデコーダブロック28に通告すること
によってセットすることができる。もし REPEAT 制御レ
ジスタがセットされていれば、プロセスは分岐点Bから
図35へ進められる。もし REPEAT 制御レジスタがセッ
トされていなければ、段階1078において REPLAY フ
ラグが調べられる。もし REPLAY フラグがセットされて
いれば、段階1080は REPLAY CNT と最大許容再生
計数とを比較する。もし REPLAY CNT が最大許容再生
計数より大きいか、もしくは等しければ、段階1082
において〔 GF SIZE+CF SIZE+BAD BIT CNT 〕
に等しいビット数が入力バッファ24もしくは外部バッ
ファ26において解放される。段階1084では、GF
SIZE が0に等しくセットされ、良好フレームポインタ
( GF PTR ) が0に等しくセットされ、そして BAD BI
T CNT が0に等しくセットされる。
If the BPC value for a given channel and subband is equal to 7, the process proceeds to step 1044
To CODE variable by integer division [CODE variable ÷
5]. In step 1046, the samples of the given channel and subband set 0 are
4 is set equal to the remainder of the division performed. Step 1048 adjusts the left position of the sample by shifting left 13 bit positions. Step 1050
Now the integer division divides the CODE variable by 5 again. This quotient is stored as a new CODE variable. In step 1052, the samples of the given channel and subband set 1 are set equal to the remainder of the integer division performed in step 1050. In step 1054, the sample is 1
The sample is shifted left three bit positions, and the left position of the sample is adjusted again. In step 1056, the samples of the given channel and subband set 2 are set equal to the final value of the CODE variable. In step 1058, the final sample is shifted 13 bits to the left and left justification is performed. The process proceeds to step 105
End at 8. In step 1026, if the BPC value for a given channel and subband is equal to 10, the process proceeds to step 1060, where the integer division operation sets the CODE variable equal to [CODE variable $ 9]. In step 1062, the samples of the given channel and subband set 0 are set equal to the remainder of the division.
In step 1064, the left position of the sample is adjusted by shifting left 12 bit positions. Stage 10
At 66, the CODE variable is again divided by 9 by integer division. This quotient is stored as a new CODE variable. In step 1068, the samples of the given channel and subband set 1 are set equal to the remainder of the integer division performed in step 1066. In step 1070, the sample
The sample is shifted left by 12 bit positions, and left adjustment of the sample is performed. In step 1072, the final value of the CODE variable provides the value of the sample for the given channel and subband set 2. In step 1074, the final sample is shifted 12 bits to the left and left justification is performed. The process ends at step 1074. The samples generated by the group decoding process shown in FIG. 33 are stored in a scratch RAM associated with audio decoder block 28 until they are transferred to arithmetic unit buffer 30 as described in step 988 of FIG. You. Buffer Management Process The process used by audio decoder block 28 to perform buffer management on input buffer 24 and external buffer 26 is shown in FIGS. The process starts at step 1076, where R
The EPEAT control register is tested. The REPEAT control register indicates that there is a synchronization error and that the audio decoder block is too far ahead in the bitstream and needs to repeat certain frames to help regain synchronization. It can be set by the processor host 12 notifying the audio decoder block 28. If the REPEAT control register is set, the process proceeds from branch point B to FIG. If the REPEAT control register has not been set, then at step 1078 the REPLAY flag is examined. If the REPLAY flag is set, step 1080 Compare CNT with maximum allowed regeneration count. If REPLAY If the CNT is greater than or equal to the maximum allowed regeneration count, step 1082
In [GF SIZE + CF SIZE + BAD BIT CNT]
Are released in the input buffer 24 or the external buffer 26. In step 1084, the GF
SIZE set equal to 0, good frame pointer
(GF PTR) is set equal to 0 and BAD BI
T CNT is set equal to 0.

【0086】段階1080においてもし REPLAY CNT
が最大許容再生計数より小さければプロセスは段階10
80から段階1086へ進み、BAD BIT CNT が〔古
い BAD BIT CNT +現フレームの大きさ〕に等しくな
るように更新される。もし段階1078において REPLA
Y フラグがセットされていなければ、段階1088は R
EPLAY CNT 変数を0に等しくセットする。段階109
0では、SKIPフラグが検査される。もし SKIP フラグが
セットされていなければ、段階1092において SKIP
CNT 変数が0に等しくセットされる。もし段階109
0において SKIP フラグがセットされていれば、または
段階1092から直接、プロセスは段階1094へ進
み、AUTO BUFFER SIZE フラグが調べられる。段階1
094においてもし AUTO BUFFER SIZE 機能が可能
にされていれば、段階1096において AUDIO PTR が
NF PTR に等しくセットされる。プロセスは段階10
84及び段階1086からも段階1096へ到達する。
段階1098では、現フレームポインタが CF PTR に
等しくセットされる。プロセスは、段階1100におい
て REPEAT 、SKIP、REPLAY、NO READ、MUTE、及び EC
フラグをクリアして終了する。
In step 1080, if REPLAY CNT
If is less than the maximum allowed regeneration count, the process proceeds to step 10.
From 80 go to step 1086, BAD BIT CNT is [old BAD BIT CNT + current frame size]. If at step 1078 REPLA
If the Y flag has not been set, step 1088 returns R
EPLAY Set the CNT variable equal to 0. Step 109
If 0, the SKIP flag is checked. If the SKIP flag is not set, then in step 1092 the SKIP
The CNT variable is set equal to 0. If step 109
If the SKIP flag is set at 0 or directly from step 1092, the process proceeds to step 1094, where the AUTO BUFFER The SIZE flag is checked. Stage 1
If 0994 AUTO BUFFER If the SIZE function has been enabled, the AUDIO PTR is
NF Set equal to PTR. Process is stage 10
84 and step 1086 also reach step 1096.
In step 1098, the current frame pointer is CF Set equal to PTR. The process proceeds to step 1100 with REPEAT, SKIP, REPLAY, NO READ, MUTE, and EC
Clear the flag and exit.

【0087】段階1094においてもし AUTO BUFFER
SIZE フラグがセットされていなければ、段階110
2において MAX REPLAY 値が0と比較される。もし M
AX REPLAY 値が0に等しければ、段階1104において
GF SIZE 変数が調べられる。もし GF SIZE が0
に等しくなければ、段階1106は、〔 GF SIZE+ C
F SIZE+ BAD BIT CNT 〕に等しいビット数が入力
バッファ24もしくは外部バッファ26において解放さ
れる。プロセスは段階1106から1108へ進み、GF
SIZE が0に等しくセットされ、 BAD BIT CNT が
0に等しくセットされる。次に段階1112へ進んで、
GF PTR が0に等しくセットされる。プロセスは段階1
112から上記段階1096へ進められる。段階110
4において、もし GF SIZE が0に等しければ段階1
110において、現フレームの大きさに等しい数のビッ
トが入力バッファ24もしくは外部バッファ26におい
て解放される。次いで上記段階1112へ進む。もし段
階1102において MAX REPLAY 値が0に等しくない
と決定されれば段階1114は NO READ フラグを調
べる。もし NO READ フラグがセットされていれば、
プロセスは上記段階1104へ進められる。段階111
4においてもし NO READ フラグがセットされていな
いと決定されれば、段階1116は GF SIZE を調べ
る。もし GF SIZE が0に等しくなければ、段階11
18は入力バッファ24もしくは外部バッファ26内で
〔 GF SIZE+ BAD BIT CNT 〕に等しい数のビットが
解放される。段階1120においては、BAD BIT CN
T 変数が0に等しくセットされる。段階1116におい
てもし GF SIZEが0に等しければ、もしくは段階11
20から直接、段階1122へ進み、GF PTR が現フレー
ムポインタに等しくセットされ、 GF SIZE が現フレ
ームの大きさに等しくセットされる。プロセスは段階1
122から上記段階1096へ進められる。
In step 1094, if AUTO BUFFER
If the SIZE flag is not set, step 110
MAX at 2 The REPLAY value is compared to 0. If M
AX If the REPLAY value is equal to 0, in step 1104
 GF The SIZE variable is examined. If gf SIZE is 0
If not, step 1106 proceeds to [GF SIZE + C
F SIZE + BAD BIT CNT]
Released in buffer 24 or external buffer 26
It is. The process proceeds from step 1106 to 1108, where GF
SIZE is set equal to 0 and BAD BIT CNT is
Set equal to 0. Then proceed to step 1112,
GF PTR is set equal to 0. Process is stage 1
Proceeding from step 112 to step 1096 above. Stage 110
In 4, if GF Stage 1 if SIZE is equal to 0
At 110, a number of bits equal to the size of the current frame
Is in the input buffer 24 or the external buffer 26
Released. Then, the process proceeds to step 1112. If step
MAX at floor 1102 REPLAY value not equal to 0
If it is determined that step 1114 is NO Adjust READ flag
Bell. If NO If the READ flag is set,
The process proceeds to step 1104 above. Stage 111
NO if 4 READ flag is not set
If so, step 1116 determines GF Check SIZE
You. If gf If SIZE is not equal to 0, step 11
18 is in the input buffer 24 or the external buffer 26
[GF SIZE + BAD BIT CNT]
To be released. In step 1120, BAD BIT CN
The T variable is set equal to 0. In stage 1116
Hello GF If SIZE is equal to 0, or step 11
Directly from step 20 to step 1122, where GF PTR is the current frame
GF SIZE is current
Set equal to the size of the Process is stage 1
From 122, the process proceeds to the above step 1096.

【0088】図35の段階1124へは分岐点Bから到
達し、REPEAT フラグが1に等しくセットされる。段階
1126では、REPEAT 制御レジスタが0に等しくセッ
トされる。次の段階1128では、AUDIO PTR 値が保
管される。段階1130においては、REPLAY フラグが
調べられる。もし REPLAY フラグがセットされていれ
ば、段階1132は AUDIO PTR を〔 LGF PTR + 32
ビット〕に等しくセットする。段階1130においても
し REPLAY フラグがセットされていなければ、段階11
34は AUDIO PTR を〔現フレームポインタ+ 32 ビッ
ト〕に等しくセットする。プロセスは段階1132もし
くは段階1134から段階1136へ進んで、SKIP フ
ラグを検査する。もし SKIP フラグがセットされていれ
ば、段階1138は NO READ フラグを1に等しくセ
ットする。プロセスは、段階1136において SKIP フ
ラグがセットされていなければ、もしくは段階1138
から直接段階1140へ進み、オーディオバッファレジ
スタの大きさが調べられる。もしオーディオバッファの
大きさ機能が可能にされていれば、段階1142は NO
READ フラグを1に等しくセットする。段階1140
においてオーディオバッファの大きさ機能が可能にされ
ていなければ、もしくは段階1142から直接段階11
44へ進み、オーディオフレームが復号される。オーデ
ィオフレームを復号するプロセスに関しては、図20及
び21を参照して説明済である。プロセスは段階114
4から1146へ進み、AUDIO PTR の保管された値が
復元される。次いでプロセスは接続点Aから図34の段
階1076へ戻される。一般的な復号動作 図36はオーディオデコーダブロック28が遂行する一
般的な復号動作を示している。プロセスは、オーディオ
デコーダブロック28が提示タイムスタンプ(PTS ) 情
報を処理する段階1150から開始される。PTS データ
を処理するために使用されるプロセスに関しては図37
を参照して後述する。プロセスは段階1150から11
52へ進み、オーディオデコーダブロック28はオーデ
ィオフレームを復号する。オーディオフレームを復号す
るためにオーディオデコーダブロック28が使用するプ
ロセスに関しては、図20及び21を参照して説明済で
ある。段階1154においてオーディオデコーダブロッ
ク28は、存在し得る補助データを処理する。補助デー
タを処理するために使用されるプロセスに関しては図3
8を参照して後述する。段階1156では、オーディオ
デコーダブロック28はバッファ管理を遂行する。バッ
ファ管理を遂行するために使用されるプロセスに関して
は図34及び35を参照して説明済である。段階115
8では、先行HEADER レジスタに HEADER レジスタから
の値がロードされる。段階1160においては、SYNC
LOOKAHEAD 機能が可能にされているか否かの決定がなさ
れる。もし SYNC LOOKAHEAD が可能にされていれば、
段階1162において HEADERレジスタにビットストリ
ーム内の次の 32 ビットがロードされる。段階1164
では、オーディオデコーダは復号のためにフレームをセ
ットアップする。フレームをセットアップするために使
用されるプロセスは、図16及び17を参照して説明済
である。プロセスは段階1164から段階1165へ進
められて構文フラグが検査される。もし構文フラグが1
であれば、プロセスは後述する段階1180へ進む。も
し構文フラグが0であれば段階1166は、次のフレー
ムの最初の語が入力バッファ24もしくは外部バッファ
26内に存在しているか否かを決定する。もし次のフレ
ームの最初の語が入力バッファ24内に存在しなけれ
ば、段階1168は END OF STREAM フラグを調べ
る。もし END OF STREAM フラグがセットされていな
ければプロセスは段階1166へ戻される。もし END
OF STREAM フラグがセットされていれば、段階1170
は SYNC LOOKAHEAD フラグをクリアする。次いでプロ
セスは段階1172へ進み、MUTE フラグが1に等しく
セットされる。これでプロセスは段階1152へ戻る。
Step 1124 in FIG.
And the REPEAT flag is set equal to one. Stage
At 1126, the REPEAT control register is set equal to 0.
Is In the next step 1128, AUDIO PTR value is
Piped. In step 1130, the REPLAY flag is
Can be examined. If the REPLAY flag is set
Step 1132 is AUDIO PTR = LGF PTR + 32
Bit]. Also in step 1130
If the REPLAY flag is not set, step 11
34 is AUDIO Set PTR to [Current frame pointer + 32 bits
G). The process proceeds to step 1132
Otherwise, proceed from step 1134 to step 1136, where the SKIP
Inspect lag. If the SKIP flag is set
If step 1138 is NO Set the READ flag equal to 1
Cut. The process proceeds to step 1136 with the SKIP
If no lugs have been set, or step 1138
Directly from step 1140 to the audio buffer register.
The size of the star is checked. If the audio buffer
If the magnitude function is enabled, step 1142 is NO
Set the READ flag equal to 1. Step 1140
Enabled audio buffer size feature in
If not, or directly from step 1142 to step 11
Proceeding to 44, the audio frame is decoded. Aude
The process of decoding an audio frame is shown in FIG.
This has already been described with reference to FIGS. The process is stage 114
Go from 4 to 1146, AUDIO If the stored value of the PTR is
Will be restored. Then, the process proceeds from the connection point A to the stage of FIG.
Returned to floor 1076.General decryption operation FIG. 36 shows one example performed by the audio decoder block 28.
This shows a general decoding operation. Process audio
The decoder block 28 provides the presentation time stamp (PTS) information.
Beginning at step 1150 of processing a report. PTS data
FIG. 37 for the process used to handle
It will be described later with reference to FIG. The process proceeds from steps 1150 to 11
Proceeding to 52, the audio decoder block 28
Decode the video frame. Decode audio frames
Used by the audio decoder block 28 to
The process has been described with reference to FIGS.
is there. In step 1154, the audio decoder block
The task 28 processes auxiliary data that may be present. Auxiliary day
Figure 3 shows the process used to process the data
8 will be described later. In step 1156, the audio
Decoder block 28 performs buffer management. Bag
The processes used to perform web management
Has already been described with reference to FIGS. Stage 115
8, in the preceding HEADER register from the HEADER register
Is loaded. In step 1160, the SYNC
Decision not made whether LOOKAHEAD feature is enabled
It is. If SYNC If LOOKAHEAD is enabled,
In step 1162, the bit stream is stored in the HEADER register.
The next 32 bits in the frame are loaded. Step 1164
Now, the audio decoder will set the frame for decoding.
Up. Used to set up the frame
The process used has been described with reference to FIGS.
It is. The process proceeds from step 1164 to step 1165
The syntax flag is checked. If the syntax flag is 1
If so, the process proceeds to step 1180 described below. Also
If the syntax flag is 0, step 1166 proceeds to the next frame.
The first word of the system is input buffer 24 or external buffer
26 is determined. If the next frame
The first word of the word must be in the input buffer 24
If so, step 1168 is END OF Check STREAM flag
You. If END OF STREAM flag is not set
If so, the process returns to step 1166. If END
OF If the STREAM flag is set, step 1170
Is SYNC Clear the LOOKAHEAD flag. Then professional
The process proceeds to step 1172 where the MUTE flag is equal to 1
Set. The process then returns to step 1152.

【0089】段階1166においてもし次のフレームの
最初の語が入力バッファ24内に存在していれば、段階
1174は AUDIO PTR を NF PTR の値に等しくセッ
トする。段階1176においては、ビットストリーム内
の次の 12 ビットを調べて、それらが同期語を含むか否
かを決定する。もし次の 12 ビットが同期語を含んでい
れば、段階1178は AUDIO PTR を〔 CF PTR + 3
2 ビット〕の値にセットする。もし次の 12 ビットが同
期語を含んでいなければ、プロセスは段階1176から
段階1180へ進み、AUDIO PTR は〔 CF PTR +1
ビット〕の値にセットされる。段階1181では、BAD
BIT CNT が1だけインクリメントされる。もし SYN
C LOOKAHEAD 機能は可能にされているのに SYNC LO
OKAHEAD機能に失敗すれば、プロセスは段階1180及
び段階1181へ進められる。次いでプロセスは段階1
181 から段階1182へ進んで LOST SYNC 割込み
をセットしなければならない。段階1184において、
オーディオデコーダブロック28は同期回復を遂行す
る。同期回復手順に関しては、図14及び15を参照し
て説明済である。同様に、段階1160においてもし S
YNC LOOKAHEAD 機能が可能にされていなければ、段階
1186は次の 12 ビットを調べ、それらが同期語を含
むか否かを決定する。もし次の 12 ビットが同期語を含
んでいなければ、プロセスは段階1180へ進められて
AUDIO PTR は〔現フレームポインタ+1ビット〕にセ
ットされる。段階1186において、もし次の 12 ビッ
トが同期語を含んでいれば段階1188は HEADER レジ
スタに次の 20 ビットをロードする。段階1190で
は、図16及び17を参照して説明したようにしてフレ
ームのセットアップ動作が遂行される。段階1191に
おいて、構文フラグが検査される。もし構文フラグがセ
ットされていれば、プロセスは段階1180へ進む。そ
うでない場合にはプロセスは段階1150へ戻される。提示タイムスタンプ復号プロセス 図37は、提示タイムスタンプを処理するためにオーデ
ィオデコーダブロック28が使用するプロセスを示す。
このプロセスは、PTS フラグをクリアする段階1192
から開示される。段階1194では、PTS PTR 変数に
よって指し示されたアドレスからある値が読出され、提
示タイムスタンプオーディオポインタ(PTS AUDIO P
TR ) として記憶される。段階1196においては PTS
AUDIO PTR 値が調べられ、最上位ビット位置が1である
ことによってそれが無効であることを指示しているか否
かが決定される。もし PTS AUDIO PTR が無効であれ
ばプロセスは終了する。もし PTS AUDIO PTR が有効
アドレスであれば、段階1198は PTS AUDIO PTR
と CF PTR の値とを比較する。もし PTS AUDIO PT
R が CF PTR より大きければ、オーディオデコーダブ
ロック28は未だ PTS に達していないのであり、従っ
てプロセスは終了する。もし PTS AUDIO PTR が CF
PTR より小さいか、もしくは等しければ、オーディオ
デコーダブロック28は PTS に関連付けられたデータ
に達したか、もしくはそれを通過しており、従って段階
1200において PTS が読出される。段階1202で
はPTS がオーディオデコーダブロック28に関連付けら
れた特別レジスタ内の PTS保持レジスタ内に記憶され
る。この PTS は、この PTS に関連付けられたフレー
ムが PCM 出力ブロック36に達するまで PTS 保持レ
ジスタ内に留まり、その時点になると PTS は PTS 保
持レジスタから制御状態レジスタブロック22内の PTS
レジスタへ転送される。段階1204では、PTS オー
ディオポインタが最上位ビット位置に1を有する−1に
セットされる。この値は無効値であり、プロセスを段階
1196で終了せしめる。段階1206では、PTS フラ
グが1に等しくセットされる。段階1208において
は、PTS PTR が2だけインクリメントされる。プロセ
スは段階1210へ進み、新しい PTS PTR が PTS ト
ップ値と比較される。もし PTS PTR が未だ PTS のト
ップ値に到達していなければプロセスは段階1194へ
直接戻される。PTS PTR が PTS トップより大きけれ
ば、段階1212において PTS PTR が AUDIO BUFFER
SIZE レジスタ内に記憶されている値に等しくセット
される。これでプロセスは段階1212から段階119
4へ戻る。補助データ処理プロセス 図38は、ビットストリーム内に存在し得る補助データ
を復号し、処理するためにオーディオデコーダブロック
28が使用するプロセスを示す。プロセスは段階121
4から開始され、CF SIZE が0と比較される。もし C
F SIZE が0に等しく、ビットストリームが自由フォ
ーマットであることを指示していれば、プロセスは段階
1215へ進んで REPLAY 、REPEAT、NO READ、SKIP、
及び ECフラグが検査される。もしこれらのどのフラグ
もセットされていなければ、段階1216において自動
語計数機能が終了させられる。次いで段階1218は、
AUDIO PTR を SAVED AUDIO PTR と名付けたある変数
内に保管する。段階1220では、次の同期語が探知さ
れるまで GSYN 命令が実行される。段階1222におい
ては、 ANC SIZE 変数が〔 AUDIO PTR − SAVED AUD
IO PTR − 12 〕に等しくセットされる。次の段階12
24では、AUDIO PTR が SAVED AUDIO PTR 内に記憶
されている値にリセットされる。段階1225では、CF
SIZE が〔BIT CNT + ANC SIZE〕に等しくセット
される。これでシステムは ANC SIZE変数に基づいて G
ET ANCILLARY 命令を使用して補助データを検索する準
備が整う。
In step 1166, if the next frame
If the first word is in the input buffer 24, the step
1174 is AUDIO PTR to NF Set equal to PTR value
To In step 1176, the
Examine the next 12 bits of
To decide. If the next 12 bits contain the sync word
If so, step 1178 is AUDIO Change PTR to [CF PTR + 3
2 bits]. If the next 12 bits are the same
If not, the process proceeds from step 1176
Proceed to step 1180, AUDIO PTR is [CF PTR +1
Bit]. In step 1181, BAD
BIT CNT is incremented by one. If SYN
C LOOKAHEAD function enabled but SYNC LO
If the OKAHEAD function fails, the process proceeds to step 1180
And step 1181. Then the process is stage 1
From 181 proceed to step 1182 to LOST SYNC interrupt
Must be set. In step 1184,
Audio decoder block 28 performs synchronization recovery.
You. Refer to FIGS. 14 and 15 for the synchronization recovery procedure.
It has already been explained. Similarly, in step 1160, if S
YNC If the LOOKAHEAD feature has not been enabled,
1186 examines the next 12 bits, which contain the sync word.
Decide whether or not to go. If the next 12 bits contain the synchronization word
If not, the process proceeds to step 1180
 AUDIO PTR is set to [current frame pointer + 1 bit].
Is set. In step 1186, if the next 12 bits
Step 1188 proceeds to the HEADER register if the
Load the next 20 bits into the register. At step 1190
Are framed as described with reference to FIGS.
The setup operation of the game is performed. To step 1191
In this, the syntax flag is checked. If the syntax flag is set
If so, the process proceeds to step 1180. So
If not, the process returns to step 1150.Presentation timestamp decoding process FIG. 37 shows the audio to process the presentation timestamp.
The process used by the video decoder block 28 is shown.
The process proceeds to step 1192 where the PTS flag is cleared.
It is disclosed from. In step 1194, the PTS PTR variable
Therefore, a value is read from the indicated address and
Time stamp audio pointer (PTS AUDIO P
TR). In step 1196, the PTS
AUDIO PTR value is checked and the most significant bit position is 1.
Whether it indicates that it is invalid
Is determined. If PTS AUDIO PTR is invalid
If so, the process ends. If PTS AUDIO PTR enabled
If so, step 1198 is the PTS AUDIO PTR
And CF Compare with PTR value. If PTS AUDIO PT
R is CF If it is larger than PTR,
Lock 28 has not yet reached PTS, and
The process ends. If PTS AUDIO PTR is CF
Audio if less than or equal to PTR
The decoder block 28 stores the data associated with the PTS.
Has been reached or has passed
At 1200, the PTS is read. In step 1202
Is the PTS associated with the audio decoder block 28
Stored in the PTS holding register in the special register
You. This PTS is the frame associated with this PTS.
PTS hold level until the program reaches PCM output block 36.
PTS stays in the
From the holding register to the PTS in the control status register block 22.
 Transferred to register. In step 1204, the PTS
Dio pointer to -1 with 1 in the most significant bit position
Set. This value is invalid and will cause the process to
It ends at 1196. In step 1206, the PTS flag
Is set equal to one. In step 1208
Is the PTS PTR is incremented by two. Process
Proceeds to step 1210, where the new PTS PTR is PTS
Is compared with the top value. If PTS PTR is still in PTS
If not, the process proceeds to step 1194
Returned directly. PTS PTR is bigger than PTS top
If PTS in step 1212 PTR is AUDIO BUFFER
Set equal to the value stored in the SIZE register
Is done. The process now proceeds from step 1212 to step 119
Return to 4.Auxiliary data processing process FIG. 38 shows auxiliary data that may be present in a bit stream.
Audio decoder block to decode and process
28 indicates the process used. The process is step 121
Starting from 4, CF SIZE is compared to 0. If C
F If SIZE is equal to 0 and the bitstream is free-form
Process, if indicated
Go to 1215, REPLAY, REPEAT, NO READ, SKIP,
And the EC flag is checked. If any of these flags
If is also not set, the automatic
The word counting function is terminated. Then step 1218 includes:
AUDIO PTR to SAVED AUDIO A variable named PTR
Keep in. In step 1220, the next synchronization word is detected.
GSYN instruction is executed until In stage 1222
ANC If the SIZE variable is [AUDIO PTR-SAVED AUD
IO PTR-12]. Next Step 12
In 24, AUDIO PTR is SAVED AUDIO Stored in PTR
Reset to the value that has been set. In step 1225, CF
SIZE is [BIT CNT + ANC SIZE]
Is done. The system is now ANC G based on the SIZE variable
Use the ET ANCILLARY statement to search for auxiliary data.
Ready.

【0090】段階1215において、もし REPLAY 、RE
PEAT、NO READ、SKIP、または ECフラグの何れかがセ
ットされていれば、段階1217はこれらのフラグをク
リアする。段階1219では BAD BIT CNT が BIT
CNT だけインクリメントされる。段階1221では、BI
T CNT が0に等しくセットされる。次いでプロセスは
段階1223へ進み、図14及び15を参照して説明済
の同期回復プロセスを遂行する。段階1214において
もし CF SIZE が0に等しくなければ、段階1226
は NO READ、REPLAY、REPEAT、SKIP、及び EC フラグ
を調べる。もしこれらのフラグの何れかがセットされて
いれば、プロセスは終了する。もしこれらのどのフラグ
もセットされていなければ、段階1228において補助
データ及び補助あふれ割込みが調べられる。もしこれら
の何れも可能にされていなければ、プロセスは終了す
る。もし何れかの割込みが可能にされていれば、段階1
230において、ビット計数が CF SIZE と比較され
る。もしビット計数が CF SIZE より大きければ、プ
ロセスは終了する。もしビット計数が CF SIZE より
小さいか、もしくは等しければ段階1232において A
NC SIZE 変数が〔 NF PTR− AUDIO PTR 〕に等し
くセットされる。段階1234では、GET ANCILLARY (G
ANC )データ命令を使用して ANC SIZE 変数に基づい
てビットストリームから補助データを検索する。段階1
234へは、上記段階1225からも到達する。次の段
階1236では、補助割込みが調べられる。もし補助割
込みが可能にされていれば、段階1238において補助
割込みがセットされる。
In step 1215, if REPLAY, RE
PEAT, NO If any of the READ, SKIP, or EC flags are set, step 1217 clears these flags. In step 1219, BAD BIT CNT is BIT
Only the CNT is incremented. In step 1221, the BI
T CNT is set equal to 0. The process then proceeds to step 1223, where the synchronization recovery process described with reference to FIGS. 14 and 15 is performed. In step 1214, if CF If SIZE is not equal to 0, step 1226
Is NO Examine the READ, REPLAY, REPEAT, SKIP, and EC flags. If any of these flags are set, the process ends. If none of these flags are set, then at step 1228 the auxiliary data and auxiliary overflow interrupt are examined. If neither of these has been enabled, the process ends. Step 1 if any interrupts are enabled
At 230, the bit count is CF Compared to SIZE. If the bit count is CF If it is, the process ends. If the bit count is CF If less than or equal to SIZE, A in step 1232
NC If the SIZE variable is [NF PTR- AUDIO PTR]. In step 1234, GET ANCILLARY (G
ANC) using data instructions Retrieve ancillary data from the bitstream based on the SIZE variable. Stage 1
234 is also reached from step 1225 above. In the next step 1236, the auxiliary interrupt is examined. If the auxiliary interrupt has been enabled, then at step 1238 the auxiliary interrupt is set.

【0091】補助データの処理は、補助レジスタ及び補
助使用可能レジスタの内容及び割込み6及び7によって
制御される。もし割込み6もしくは7が可能にされてい
れば、到来補助データは補助レジスタ内へ挿入される。
前述したように、補助レジスタは少なくとも 32 ビット
の補助データを保持する FIFO として機能する。もし割
込み7がマスクされていれば、最も古いデータがビット
単位で新しいデータと置換される。もし割込み7が可能
にされていれば、補助データが一杯になるとシステム1
4によって割込みが生成される。もし割込みが生成され
れば、マイクロプロセッサホスト12がデータを読出す
か、もしくは割込みがマスクされるまでオーディオデー
タのさらなる処理は停止される。補助使用可能レジスタ
は、補助レジスタ内の使用可能なビット数を常に保持し
ている。補助レジスタ内で 16 もしくは 32 ビットの補
助データが使用可能である時、もしくはフレームの終わ
りに達した時には、割込み6が生成される。補助例を読
出す前に、マイクロプロセッサホスト12は補助使用可
能レジスタを読出して、使用可能な有効補助データビッ
トの数を決定する。マイクロプロセッサホスト12が補
助使用可能レジスタを読出す時に、補助レジスタの内容
が一時レジスタへ転送される。マイクロプロセッサホス
ト12は、補助レジスタアドレスにアクセスすることに
よって一時レジスタから補助データを読出すことができ
る。従ってマイクロプロセッサホスト12は、読出しプ
ロセス中に補助レジスタ内へロードされ得る付加的な補
助データの何れとも競合することなく補助データを使用
することができる。
The processing of the auxiliary data is controlled by the contents of the auxiliary registers and the auxiliary available registers and the interrupts 6 and 7. If interrupt 6 or 7 is enabled, the incoming auxiliary data is inserted into the auxiliary register.
As described above, the auxiliary register functions as a FIFO that holds at least 32 bits of auxiliary data. If interrupt 7 is masked, the oldest data is replaced bit by bit with new data. If interrupt 7 is enabled, system 1 will be
4 generates an interrupt. If an interrupt is generated, further processing of the audio data is halted until the microprocessor host 12 reads the data or the interrupt is masked. The auxiliary available register always holds the number of available bits in the auxiliary register. An interrupt 6 is generated when 16 or 32 bits of auxiliary data are available in the auxiliary register, or when the end of the frame is reached. Prior to reading the auxiliary example, microprocessor host 12 reads the auxiliary enable register to determine the number of valid auxiliary data bits available. When the microprocessor host 12 reads the auxiliary available register, the contents of the auxiliary register are transferred to a temporary register. The microprocessor host 12 can read auxiliary data from the temporary register by accessing the auxiliary register address. Thus, the microprocessor host 12 can use the auxiliary data without conflicting with any of the additional auxiliary data that can be loaded into the auxiliary registers during the read process.

【0092】以上の記載に関連して、以下の各項を開示
する。 1. マイクロプロセッサホスト回路と、上記マイクロ
プロセッサホスト回路に結合され、符号化されたデータ
を受信して上記符号化されたデータから選択された符号
化されたオーディオデータを抽出するように動作可能で
あり、また上記選択された符号化されたオーディオデー
タを復号し、上記復号されたオーディオデータを出力す
るようにも動作可能な集積されたオーディオデコーダシ
ステムと、上記集積されたオーディオデコーダシステム
に結合され、上記復号されたオーディオデータをアナロ
グ信号に変換するように動作可能なディジタル・アナロ
グ変換器とを具備することを特徴とするデータ処理装
置。 2. 上記集積されたオーディオデコーダシステムが、
上記集積されたオーディオデコーダシステムを上記マイ
クロプロセッサホスト回路に結合するように動作可能な
ホストインタフェース回路と、上記ホストインタフェー
ス回路に結合され、上記符号化されたデータを受信し、
上記符号化されたデータから上記符号化されたオーディ
オデータを抽出し、そして上記符号化されたオーディオ
データを出力するように動作可能なシステムデコーダ回
路と、上記システムデコーダに結合され、上記符号化さ
れたオーディオデータを受信し、記憶し、そして出力す
るように動作可能な入力バッファ回路と、上記入力バッ
ファ回路に結合され、上記入力バッファ回路から上記符
号化されたオーディオデータを検索し、上記符号化され
たオーディオデータを復号し、そして復号されたオーデ
ィオデータを出力するように動作可能なオーディオデコ
ーダ回路と、上記オーディオデコーダに結合され、上記
復号されたオーディオデータを受信し、記憶し、そして
出力するように動作可能な演算ユニットバッファ回路
と、上記演算ユニットバッファ回路に結合され、上記演
算ユニットバッファ回路から上記復号されたオーディオ
データを検索し、上記復号されたオーディオデータを量
子化解除し、変換し、そして濾波し、そして濾波された
オーディオデータを出力するように動作可能な演算ユニ
ット回路と、上記演算ユニット回路に結合され、上記濾
波されたオーディオデータを受信し、記憶し、そして出
力するように動作可能な出力バッファ回路と、上記出力
バッファ回路と上記ディジタル・アナログ変換器とに結
合され、上記出力バッファ回路から上記濾波されたデー
タを検索し、上記濾波されたデータを上記ディジタル・
アナログ変換器へ出力するように動作可能な出力回路と
を備えている上記1項に記載のデータ処理装置。 3. 上記ホストインタフェース回路、上記システムデ
コーダ回路、上記入力バッファ回路、上記オーディオデ
コーダ回路、上記演算バッファ回路、上記演算ユニット
回路、上記出力バッファ回路、及び上記出力回路が全て
単一の半導体サブストレート上に配置されている上記2
項に記載のデータ処理装置。 4. 上記オーディオデコーダブロックが、マイクロプ
ログラムされた回路と、上記オーディオデコーダ回路が
遂行する動作を定義するマイクロコードルーチンを記憶
するように動作可能なマイクロプログラムメモリとを備
えている上記2項に記載のデータ処理装置。 5. 上記演算ユニットが、上記復号されたオーディオ
データを順次に量子化解除し、変換し、そして濾波して
上記濾波されたオーディオデータを形成するように動作
可能な状態機械駆動回路を備えている上記2項に記載の
データ処理装置。 6. 上記システムデコーダ回路と上記オーディオデコ
ーダ回路とに結合され、付加的な符号化されたオーディ
オデータを受信し、記憶し、そして出力するように動作
可能な外部バッファ回路をも備え、上記システムデコー
ダ回路及び上記オーディオデコーダ回路は上記外部バッ
ファ回路の存在を検知するように動作可能であり、もし
上記外部バッファ回路が存在すれば付加的な符号化され
たオーディオデータを記憶するために上記外部バッファ
回路を使用する上記2項に記載のデータ処理装置。 7. 上記システムデコーダ回路、上記入力バッファ回
路、及び上記オーディオデコーダ回路が第1の半導体サ
ブストレート上に配置され、上記外部バッファ回路が第
2の半導体サブストレート上に配置されている上記6項
に記載のデータ処理装置。 8. 上記演算ユニット回路は、上記出力バッファ回路
内に記憶させるためにパルス符号変調されたデータを形
成して出力するように動作可能であり、上記ディジタル
・アナログ変換器回路は、上記パルス符号変調されたデ
ータを受信して上記パルス符号変調されたデータをアナ
ログ信号に変換するように動作可能である上記2項に記
載のデータ処理装置。 9. 上記集積されたオーディオデコーダシステムは、
上記マイクロプロセッサホスト回路及び上記オーディオ
デコーダ回路がアクセス可能な複数の制御及び状態レジ
スタをも備えている上記2項に記載のデータ処理装置。 10. 上記マイクロプロセッサホスト回路は、直列符
号化されたビットストリームを受信して上記直列符号化
されたビットストリーム内に含まれる情報を複数の並列
信号ラインを通して上記オーディオデコーダシステムへ
出力するように動作可能であり、上記オーディオデコー
ダシステムは上記並列信号ラインを通して上記符号化さ
れたデータを受信するように動作可能である上記1項に
記載のデータ処理装置。 11. 上記オーディオデコーダシステムは、上記オー
ディオデコーダシステムへの直列符号化されたビットス
トリーム入力を通して上記符号化されたデータを受信す
るように動作可能である上記1項に記載のデータ処理装
置。 12. 符号化されたデータを含む外部信号を受信する
ように動作可能なホストインタフェース回路と、上記ホ
ストインタフェース回路に結合され、上記符号化された
データを受信し、上記符号化されたデータから符号化さ
れたオーディオデータを抽出し、そして上記符号化され
たオーディオデータを出力するように動作可能なシステ
ムデコーダ回路と、上記システムデコーダ回路に結合さ
れ、上記符号化されたオーディオデータをを受信し、記
憶し、そして出力するように動作可能な入力バッファ回
路と、上記出力バッファ回路に結合され、上記出力バッ
ファ回路から上記符号化されたオーディオデータを検索
し、上記符号化されたオーディオデータを復号し、そし
て復号されたオーディオデータを出力するように動作可
能なオーディオデコーダ回路と、上記オーディオデコー
ダに結合され、上記復号されたオーディオデータを受信
し、記憶し、そして出力するように動作可能な演算ユニ
ットバッファ回路と、上記演算ユニットバッファ回路に
結合され、上記演算ユニットバッファ回路から上記復号
されたオーディオデータを検索し、上記復号されたオー
ディオデータを量子化解除し、変換し、そして濾波し、
そして濾波されたオーディオデータを出力するように動
作可能な演算ユニット回路と、上記演算ユニット回路に
結合され、上記濾波されたオーディオデータを受信し、
記憶し、そして出力するように動作可能な出力バッファ
回路と、上記出力バッファ回路に結合され、上記出力バ
ッファ回路から上記濾波されたオーディオデータを検索
し、上記濾波されたデータを出力するように動作可能な
出力回路とを具備することを特徴とするオーディオ復号
装置。 13. 上記ホストインタフェース回路、上記システム
デコーダ回路、上記入力バッファ回路、上記オーディオ
デコーダ回路、上記演算バッファ回路、上記演算ユニッ
ト回路、上記出力バッファ回路、及び上記出力回路が全
て単一の半導体サブストレート上に配置されている上記
12項に記載のオーディオ復号装置。 14. 上記オーディオデコーダ回路が、マイクロプロ
グラムされた回路と、上記オーディオデコーダ回路が遂
行する動作を定義するマイクロコードルーチンを記憶す
るように動作可能なマイクロプログラムメモリとを備え
ている上記12項に記載のオーディオ復号装置。 15. 上記演算ユニットが、上記復号されたオーディ
オデータを順次に量子化解除し、変換し、そして濾波し
て上記濾波されたオーディオデータを形成するように動
作可能な状態機械駆動回路を備えている上記12項に記
載のオーディオ復号装置。 16. 上記システムデコーダ回路と上記オーディオデ
コーダ回路とに結合され、付加的な符号化されたオーデ
ィオデータを受信し、記憶し、そして出力するように動
作可能な外部バッファ回路をも備え、上記システムデコ
ーダ回路及び上記オーディオデコーダ回路は上記外部バ
ッファ回路の存在を検知するように動作可能であり、も
し上記外部バッファ回路が存在すれば付加的な符号化さ
れたオーディオデータを記憶するために上記外部バッフ
ァ回路を使用する上記12項に記載のオーディオ復号装
置。 17. 上記システムデコーダ回路、上記入力バッファ
回路、及び上記オーディオデコーダ回路が第1の半導体
サブストレート上に配置され、上記外部バッファ回路が
第2の半導体サブストレート上に配置されている上記1
6項に記載のオーディオ復号装置。 18. 上記演算ユニット回路は、上記出力バッファ回
路内に記憶させるためにパルス符号変調されたデータを
形成して出力するように動作可能であり、上記オーディ
オ復号システムは上記出力回路に結合されているディジ
タル・アナログ変換器回路をも備え、上記ディジタル・
アナログ変換器回路は、上記パルス符号変調されたデー
タを受信して上記パルス符号変調されたデータをアナロ
グ信号に変換するように動作可能である上記12項に記
載のオーディオ復号装置。 19. マイクロプロセッサホスト回路及び上記オーデ
ィオデコーダ回路がアクセス可能な複数の制御及び状態
レジスタをも備えている上記2項に記載のオーディオ復
号装置。 20. 上記オーディオ復号システムは、上記ホストイ
ンタフェース回路への直列符号化されたビットストリー
ム入力を通して上記符号化されたデータを受信するよう
に動作可能である上記12項に記載のオーディオ復号装
置。 21. 上記ホストインタフェース回路に結合され、直
列符号化されたビットストリームを受信して上記直列符
号化されたビットストリーム内に含まれる情報を複数の
並列信号ラインを通して上記ホストインタフェース回路
へ出力するように動作可能なマイクロプロセッサホスト
回路をも備え、上記ホストインタフェース回路は、複数
の並列信号ラインを通して上記符号化されたデータを受
信するように動作可能である上記12項に記載のオーデ
ィオ復号装置。 22. 符号化されたデータを復号する方法であって、
符号化されたデータを含む外部信号を受信する段階と、
符号化されたデータから符号化されたオーディオデータ
をシステムデコーダ回路内において抽出する段階と、符
号化されたオーディオデータをオーディオデコーダ回路
内において復号し、復号されたオーディオデータを生成
する段階と、復号されたオーディオデータを演算ユニッ
ト回路内において量子化解除し、量子化解除されたオー
ディオデータを生成する段階と、量子化解除されたオー
ディオデータを演算ユニット回路内において変換し、変
換されたオーディオデータを生成する段階と、変換され
たオーディオデータを演算ユニット回路内において濾波
し、濾波されたオーディオデータを形成する段階と、濾
波されたオーディオデータを出力する段階とを具備する
ことを特徴とする方法。 23. システムデコーダ回路、オーディオデコーダ回
路、及び演算ユニット回路が全て単一の半導体サブスト
レート上に配置されている上記22項に記載の方法。 24. 濾波されたオーディオデータをディジタル・ア
ナログ変換器回路内においてアナログ信号に変換する段
階をも備えている上記22項に記載の方法。 25. 符号化されたオーディオデータを復号する上記
段階は、符号化されたオーディオデータを、マイクロプ
ログラムされた回路と、オーディオデコーダ回路が遂行
する動作を定義するマイクロコードルーチンを記憶する
ように動作可能なマイクロプログラムメモリとからなる
オーディオデコーダ回路内において復号する段階を備え
ている上記22項に記載の方法。 26. 上記量子化解除、変換、及び濾波の諸段階は、
状態機械によって駆動される回路を備えた演算ユニット
回路を使用して量子化解除し、変換し、そして濾波する
諸段階からなる上記22項に記載の方法。 27. 符号化されたオーディオデータを入力バッファ
回路内に記憶する段階と、復号されたオーディオデータ
を演算ユニットバッファ回路内に記憶する段階と、濾波
されたオーディオデータを出力バッファ回路内に記憶す
る段階をも備えている上記22項に記載の方法。 28. 第1のバッファ回路内の記憶装置から検索され
た符号化されたビットストリームを処理し、処理したデ
ータを第2のバッファ回路へ出力するデータ処理装置で
あって、演算及び論理演算を遂行するように動作可能な
演算論理ユニットと、上記演算論理ユニットに結合さ
れ、上記演算及び論理演算の遂行を指示するように動作
可能な実行制御状態機械と、符号化されたビットストリ
ームを処理するためにシステムが実行可能なマイクロコ
ード命令のシーケンスを記憶する命令メモリとを具備
し、上記命令メモリは、上記演算論理ユニット及び上記
実行制御状態機械を含むシステムが実行することによっ
て第1のバッファ回路からデータを検索させ、検索され
たデータを復号させ、そして縮尺係数情報及び符号化さ
れたサンプル情報を第2のバッファ回路へ出力させるよ
うに動作可能な上記マイクロコード命令の集合を記憶す
ることを特徴とするデータ処理装置。 29. 上記データ処理装置が処理中のデータのフレー
ムのフォーマットを指示する情報を記憶するフォーマッ
トレジスタをも備え、上記命令メモリは符号化されたデ
ータの異なるフォーマットの処理に関連付けられた処理
ルーチンを記憶し、上記データ処理装置はフォーマット
を識別する上記データに応答して上記命令メモリ内に記
憶されている指示されたフォーマットに関連付けられた
適切なルーチンを選択し、実行する上記28項に記載の
データ処理装置。 30. 上記データのフレームはMPEG標準構文を使
用して所定のビットレートで符号化されたオーディオデ
ータからなり、上記フォーマットレジスタはデータ処理
装置が処理中のオーディオデータのフレームを符号化す
るために使用されたビットレートを識別するデータを記
憶するように動作可能である上記29項に記載のデータ
処理装置。 31. 上記データのフレームはMPEG標準構文に関
連付けられた特定の層を使用して符号化されたオーディ
オデータからなり、上記フォーマットレジスタは上記デ
ータ処理装置が処理中のオーディオデータのフレームを
符号化するために使用された特定の層を識別するデータ
を記憶するように動作可能であり、上記命令メモリは符
号化されたデータの異なる層の処理に関連付けられた処
理ルーチンを記憶し、上記データ処理は特定の層を識別
する上記データに応答して上記命令メモリ内に記憶され
ている指示された層に関連付けられた適切なルーチンを
選択し、実行する上記29項に記載のデータ処理装置。 32. 上記データのフレームは符号化されたオーディ
オデータからなり、上記命令メモリは、現在処理中のフ
レームが誤りを含んでいることをデータ処理装置が決定
した場合には、上記現在処理中のフレーム以外のデータ
を出力させるようにデータ処理装置が選択可能な、そし
て実行可能な誤り隠しルーチンを記憶するように動作可
能である上記28項に記載のデータ処理装置。 33. 上記データ処理装置は、上記誤り隠しルーチン
に使用される有効データフレームを第1のバッファ内に
記憶することができるか否かを決定するために第1のバ
ッファの大きさを決定するように動作可能であり、上記
データ処理装置は、第1のバッファの大きさに応答して
もし第1のバッファの決定された大きさが上記有効デー
タフレームの記憶が可能であればデータ処理装置が処理
中のフレームの記憶の他に有効データフレームの記憶を
も必要とする特定の誤り隠しルーチンを選択し、実行す
る上記32項に記載のデータ処理装置。 34. 上記誤り隠しルーチンの1つは、データ処理装
置が現在処理中のフレームが誤りを含むことをデータ処
理装置が見出した場合には、データ処理装置が現在処理
中のフレームの代わりに最後に処理した有効フレームを
データ処理装置に出力させる上記33項に記載のデータ
処理装置。 35. 上記誤り隠しルーチンの1つは、沈黙したオー
ディオ出力に対応するデータをデータ処理装置に出力さ
せる上記32項に記載のデータ処理装置。 36. 上記誤り隠しルーチンの1つは、オーディオデ
ータのあるフレームをデータ処理装置に破棄させ、オー
ディオデータの新しいフレームの処理を開始させる上記
32項に記載のデータ処理装置。 37. 上記データのフレームはサブバンドに分割可能
な符号化されたオーディオデータからなり、上記命令メ
モリはデータ処理装置が選択可能な、そして実行可能な
処理ルーチンを記憶するように動作可能であり、上記処
理ルーチンは、各サブバンドに関係付けられた所定の係
数にアクセスさせ、上記所定の係数と上記オーディオデ
ータのフレームとを結合させ、そして各サブバンドに関
係付けられた音量を上記所定の係数を使用して独立的に
調整できるようにサブバンドを所定の係数によって縮尺
した処理済のデータを第2のバッファへ出力させる上記
28項に記載のデータ処理装置。 38. 上記データのフレームはステレオチャネルに分
割可能な符号化されたオーディオデータからなり、上記
命令メモリはデータ処理装置が選択可能な、そして実行
可能な処理ルーチンを記憶するように動作可能であり、
上記処理ルーチンは、各ステレオチャネルに関係付けら
れた所定の係数にアクセスさせ、上記所定の係数と上記
オーディオデータのフレームとを結合させ、そして各ス
テレオチャネルに関係付けられた音量を上記所定の係数
を使用して独立的に調整できるように上記ステレオチャ
ネルを上記所定の係数によって縮尺したデータを第2の
バッファへ出力させる上記28項に記載のデータ処理装
置。 39. 上記マイクロコード命令の少なくとも1つは、
データ処理装置に第1のバッファからデータの所定数の
ビットを検索させるように動作可能な命令からなる上記
28項に記載のデータ処理装置。 40. 上記マイクロコード命令の少なくとも1つは、
データ処理装置に第1のバッファからデータの所定数の
ビットを検索させ、検索されたビットに関係付けられた
巡回冗長コード値を計算させるように動作可能な命令か
らなる上記28項に記載のデータ処理装置。 41. 上記マイクロコード命令の少なくとも1つは同
期命令からなり、上記同期命令は、データ処理装置に第
1のバッファからデータのビットを検索させ、データ処
理装置が上記同期命令を実行することによって第1のバ
ッファ内に記憶されているビットシーケンス内で同期を
取得できるように、検索されたビットを所定のビットパ
ターンについて探索させるように動作可能である上記2
8項に記載のデータ処理装置。 42. 補助データレジスタをも備え、上記マイクロコ
ード命令の少なくとも1つは、データ処理装置に、第1
のバッファからデータの所定数の補助データビットを検
索させ、上記補助データビットを上記補助データレジス
タ内に記憶させるように動作可能な補助データ命令から
なる上記28項に記載のデータ処理装置。 43. データ処理装置は、上記補助データレジスタ内
に補助データが存在していることを指示する情報を選択
可能に出力するように動作可能である上記42項に記載
のデータ処理装置。 44. データ処理装置は、上記補助データレジスタ内
に記憶されている補助データを新しい補助データで重ね
書きする前に、オーディオデータの処理を選択可能に停
止させるように動作可能である上記42項に記載のデー
タ処理装置。 45. 第1のバッファ回路内の記憶装置から検索され
た符号化されたオーディオビットストリームを処理し、
処理されたデータを第2のバッファ回路へ出力するデー
タ処理装置であって、演算及び論理演算を遂行するよう
に動作可能な演算論理ユニットと、上記演算論理ユニッ
トに結合され、上記演算及び論理演算の遂行を指示する
ように動作可能な実行制御状態機械と、符号化されたビ
ットストリームを処理するためにデータ処理装置が実行
可能なマイクロコード命令のシーケンスを記憶する命令
メモリとを具備し、上記命令メモリは、上記演算論理ユ
ニット及び実行制御状態機械を含むシステムが実行する
ことによって第1のバッファ回路からデータのフレーム
を検索させ、検索されたデータを復号させ、そして縮尺
係数情報及び符号化されたサンプル情報を第2のバッフ
ァ回路へ出力させるように動作可能な上記マイクロコー
ド命令の集合を記憶し、データ処理装置は更に、データ
処理装置が処理中のオーディオデータのフレームの層及
びサンプリングレートを指示する情報を記憶するフォー
マットレジスタをも具備し、上記命令メモリは符号化さ
れたデータの異なる層の処理に関係付けられた処理ルー
チンを記憶し、データ処理装置は層を識別する上記デー
タに応答して上記命令メモリ内に記憶されている指示さ
れた層に関係付けられた適切なルーチンを選択して実行
し、上記命令メモリは、データ処理装置が選択可能な、
そして実行可能な誤り隠しルーチンを記憶するように動
作可能であり、上記誤り隠しルーチンは、データ処理装
置が現在処理中のフレームが誤りを含んでいることをデ
ータ処理装置が決定した場合にはデータ処理装置が現在
処理中のフレーム以外のデータを出力させ、データ処理
装置は、上記誤り隠しルーチンに使用されるオーディオ
データの有効フレームを第1のバッファ内に記憶するこ
とができるか否かを決定するために第1のバッファの大
きさを決定するように動作可能であり、データ処理装置
は第1のバッファの大きさに応答してもし第1のバッフ
ァの決定された大きさが上記有効データフレームの記憶
が可能であればデータ処理装置が処理中のフレームの記
憶の他に有効データフレームの記憶をも必要とする特定
の誤り隠しルーチンを選択し、実行することを特徴とす
るデータ処理装置。 46. データ処理装置は、可変長のフレームに適応で
きる誤り隠しを行うために、各フレーム毎のオーディオ
データを処理する前に第1のバッファの上記決定された
大きさと各フレームの大きさとを比較するように動作可
能である上記45項に記載のデータ処理装置。 47. 上記誤り隠しルーチンの1つは、データ処理装
置が現在処理中のフレームが誤りを含むことをデータ処
理装置が見出した場合には、データ処理装置が現在処理
中のフレームの代わりに最後に処理した有効フレームを
データ処理装置に出力させる上記45項に記載のデータ
処理装置。 48. 上記誤り隠蔽ルーチンの1つは、沈黙したオー
ディオ出力に対応するデータをデータ処理装置に出力さ
せる上記47項に記載のデータ処理装置。 49. 上記データのフレームはステレオチャネルに分
割可能な符号化されたオーディオデータからなり、上記
命令メモリは、データ処理装置が選択可能な、そして実
行可能な処理ルーチンを記憶するように動作可能であ
り、上記処理ルーチンは、各ステレオチャネルに関係付
けられた所定の係数にアクセスさせ、上記所定の係数と
上記オーディオデータのフレームとを結合させ、そして
各ステレオチャネルに関係付けられた音量を上記所定の
係数を使用して独立的に調整できるように上記ステレオ
チャネルを上記所定の係数によって縮尺したデータを第
2のバッファへ出力させる上記45項に記載のデータ処
理装置。 50. 上記マイクロコード命令は、データ処理装置に
第1のバッファからデータの所定数のビットを検索さ
せ、データ処理装置に第1のバッファからデータの所定
数のビットを検索させて検索されたビットに関係付けら
れた巡回冗長コード値を計算させ、データ処理装置に第
1のバッファからデータの1つのビットを検索させてデ
ータ処理装置が同期命令を実行することによって第1の
バッファ内に記憶されているビットシーケンス内で同期
を取得できるように、検索されたビットを所定のビット
パターンについて探索させるように動作可能な異なる命
令からなる上記45項に記載のデータ処理装置。 51. 補助データレジスタをも備え、上記マイクロコ
ード命令の少なくとも1つは、データ処理装置に、第1
のバッファからデータの所定数の補助データビットを検
索させ、上記補助データビットを上記補助データレジス
タ内に記憶させるように動作可能な補助データ命令から
なる上記45項に記載のデータ処理装置。 52. 第1のデータバッファ内に記憶されている符号
化されたオーディオデータを処理し、処理されたデータ
を第2のデータバッファ内に記憶させる方法であって、
演算及び論理演算を演算論理ユニット内において遂行す
る段階と、演算論理ユニットに結合されている実行制御
状態機械を用いて演算及び論理演算の遂行を指示する段
階と、符号化されたビットストリームを処理するために
装置が実行可能なマイクロコード命令のシーケンスを命
令メモリ内に記憶する段階と、符号化されたオーディオ
データを第1のバッファ回路から検索する段階と、縮尺
係数情報及び符号化されたサンプル情報を第2のバッフ
ァ回路へ出力する段階と、装置が処理中のオーディオデ
ータのフレームの層及びサンプリングレートを指示する
情報をフォーマットレジスタ内に記憶する段階と、符号
化されたデータの異なる層の処理に関係付けられた異な
る処理ルーチンを記憶する段階と、命令メモリ内に記憶
されている指示された層に関連付けられた適切なルーチ
ンを選択して実行する段階と、誤り隠しルーチンに使用
されるオーディオデータの有効フレームを第1のバッフ
ァ内に記憶することができるか否かを決定するために第
1のバッファの大きさを決定する段階と、現在処理中の
フレームが誤りを含んでいることが決定された場合に
は、現在処理中のフレーム以外のデータを出力させる誤
り隠しルーチンを選択し、実行する段階とを具備し、上
記誤り隠しルーチンを選択して実行する段階は、第1の
バッファの大きさに応答し、処理中のフレームの記憶の
他に有効データフレームの記憶をも必要とする特定の誤
り隠しルーチンを選択し、実行することを特徴とする方
法。 53. 上記誤り隠しルーチンを選択して実行する段階
は、現在処理中のフレームが誤りを含むことを見出した
場合には、現在処理中のフレームの代わりに最後に処理
した有効フレームを出力させる段階からなる上記52項
に記載の方法。 54. 上記誤り隠しルーチンを選択して実行する段階
は、沈黙したオーディオ出力に対応するデータを出力さ
せる段階からなる上記52項に記載の方法。 55. 第1のバッファ回路から検索された符号化され
たデータを復号して濾波し、そして処理されたデータを
第2のバッファ回路へ出力するデータ処理装置であっ
て、第1のバッファ内に記憶されている符号化されたデ
ータの第1のブロック内から符号化されたサンプルデー
タ及び縮尺係数情報を検索する回路と、縮尺係数情報を
使用してサンプルデータを量子化解除し、量子化解除さ
れたサンプルデータを形成する回路と、量子化解除され
たサンプルデータを記憶する回路と、量子化解除された
サンプルデータを高速余弦プロセスを使用して変換し、
変換されたサンプルデータを形成する回路と、変換され
た量子化解除されたサンプルデータを記憶する回路と、
上記第1のブロックの前に処理されたデータのブロック
に関係付けられたパルス符号変調されたデータを使用し
て上記変換された量子化解除されたサンプルデータを濾
波し、パルス符号変調されたデータを形成する回路と、
上記パルス符号変調されたデータを第2のバッファ回路
へ出力する回路とを具備することを特徴とするデータ処
理装置。 56. 上記量子化解除回路、変換回路、及び濾波回路
は、加算回路及び乗算回路を備えた数学ユニット回路を
構成している上記55項に記載のデータ処理装置。 57. 上記数学ユニット回路は、第1、第2、及び第
3のオペランドを受信し、上記数学ユニット回路を通る
単一のパスで、上記第1及び第2のオペランドの積を形
成し、そして上記積と上記第3のオペランドとの和を形
成する上記56項に記載のデータ処理装置。 58. 上記乗算回路は、ブースエンコーダ回路と、上
記ブースエンコーダ回路に結合されている複数の部分積
ジェネレータ回路を備えている上記56項に記載のデー
タ処理装置。 59. 上記濾波回路は、乗算の数及び記憶される係数
の数が、マトリクス乗算に関連付けられたそれらよりも
少なくなるように、バタフライ演算子を使用して線形変
換を遂行する回路からなる上記55項に記載のデータ処
理装置。 60. 上記濾波回路は、濾波係数を記憶する係数回路
と、上記係数回路にアクセスするための回路とからなる
上記55項に記載のデータ処理装置。 61. 上記濾波回路は、複数の濾波係数を必要とする
線形変換を遂行する回路からなり、オーディオデータの
ブロックの濾波中に遂行される少なくとも2つの分離し
た演算に同一の係数がそれぞれ使用されるように上記複
数の濾波係数は対称である上記55項に記載のデータ処
理装置。 62. 上記量子化解除回路及び変換回路がアクセス可
能な係数を記憶する読出し専用メモリテーブルをも備え
ている上記55項に記載のデータ処理装置。 63. 第1のバッファ、第2のバッファ、及び上記読
出し専用メモリテーブルにアクセスするためにデータ処
理装置が使用するアドレスを生成するアドレスジェネレ
ータ回路をも備えている上記62項に記載のデータ処理
装置。 64. 上記符号化されたデータは、サブバンドサンプ
ルデータ、縮尺係数情報、及び各サブバンドサンプルに
関係付けられたビットの数に関係付けられていて量子化
解除の目的に使用される情報からなり、オーディオデー
タのビットストリームに関係付けられた上記符号化され
たデータはMPEG標準構文を使用して符号化されてい
る上記55項に記載のデータ処理装置。 65. 第1のバッファ回路から検索された符号化され
たデータを復号して濾波し、処理したデータを第2のバ
ッファへ出力するデータ処理装置であって、第1のバッ
ファ内に記憶されている符号化されたデータの第1のブ
ロック内から符号化されたサンプルデータ及び縮尺係数
情報を検索する回路と、縮尺係数情報を使用してサンプ
ルデータを量子化解除し、量子化解除されたサンプルデ
ータを形成する数学ユニット回路と、量子化解除された
サンプルデータを記憶する回路と、を具備し、上記数学
ユニット回路は、量子化解除されたサンプルデータを高
速余弦プロセスを使用して変換し、変換されたサンプル
データを形成するようにも動作可能であり、変換された
量子化解除されたサンプルデータを記憶する回路をも具
備し、上記数学ユニット回路は、上記第1のブロックの
前に処理されたデータのブロックに関係付けられたパル
ス符号変調されたデータを使用して上記変換された量子
化解除されたサンプルデータを濾波し、パルス符号変調
されたデータを形成するようにも動作可能であり、上記
数学ユニット回路がアクセス可能な係数を記憶する読出
し専用メモリテーブルと、上記パルス符号変調されたデ
ータを第2のバッファ回路へ出力する回路と、第1のバ
ッファ、第2のバッファ、及び上記読出し専用メモリテ
ーブルにアクセスするためにデータ処理装置が使用する
アドレスを生成するアドレスジェネレータ回路をも具備
することを特徴とするデータ処理装置。 66. 上記数学ユニット回路は乗算回路と加算回路と
からなり、上記数学ユニット回路は、第1、第2、及び
第3のオペランドを受信し、上記数学ユニット回路を通
る単一のパスで、上記第1及び第2のオペランドの積を
形成し、そして上記積と上記第3のオペランドとの和を
形成する上記65項に記載のデータ処理装置。 67. 上記乗算回路は、ブースエンコーダ回路と、上
記ブースエンコーダ回路に結合されている複数の部分積
ジェネレータ回路を備えている上記66項に記載のデー
タ処理装置。 68. 上記符号化されたデータは、サブバンドサンプ
ルデータ、縮尺係数情報、及び各サブバンドサンプルに
関係付けられたビットの数に関係付けられた情報からな
り、オーディオデータのビットストリームに関係付けら
れた上記符号化されたデータはMPEG標準構文を使用
して符号化されている上記66項に記載のデータ処理装
置。 69. 第1のバッファ回路から検索された符号化され
たデータを復号して濾波し、そして処理されたデータを
第2のバッファ回路へ出力する方法であって、第1のバ
ッファ内に記憶されている符号化されたデータの第1の
ブロック内から符号化されたサンプルデータ及び縮尺係
数情報を検索する段階と、縮尺係数情報を使用してサン
プルデータを量子化解除し、量子化解除されたサンプル
データを形成する段階と、量子化解除されたサンプルデ
ータを記憶する段階と、量子化解除されたサンプルデー
タを高速余弦プロセスを使用して変換し、変換されたサ
ンプルデータを形成する段階と、変換された量子化解除
されたサンプルデータを記憶する段階と、上記第1のブ
ロックの前に処理されたデータのブロックに関係付けら
れたパルス符号変調されたデータを使用して上記変換さ
れた量子化解除されたサンプルデータを濾波し、パルス
符号変調されたデータを形成する段階と、上記パルス符
号変調されたデータを第2のバッファ回路へ出力する段
階とを具備することを特徴とする方法。 70. 上記量子化解除段階、変換段階、及び濾波段階
は、加算回路及び乗算回路を備えた数学ユニット回路を
使用して遂行される上記69項に記載の方法。 71. 上記量子化解除段階は、上記数学ユニット回路
において第1、第2、及び第3のオペランドを受信する
段階と、上記数学ユニット回路を通る単一のパスで、上
記第1及び第2のオペランドの積を形成し、そして上記
積と上記第3のオペランドとの和を形成する段階とを備
えている上記70項に記載の方法。 72. 上記量子化解除段階及び変換段階中に読出し専
用メモリテーブルから係数を検索する段階をも備えてい
る上記69項に記載の方法。 73. 第1のバッファ、第2のバッファ、及び読出し
専用メモリテーブルにアクセスするためのアドレスを生
成する段階をも備えている上記69項に記載の方法。 74. 上記符号化されたデータは、サブバンドサンプ
ルデータ、縮尺係数情報、及び各サブバンドサンプルに
関係付けられたビットの数に関係付けられた情報からな
り、オーディオデータのビットストリームに関係付けら
れた上記符号化されたデータはMPEG標準構文を使用
して符号化されている上記69項に記載の方法。 75. ビットシーケンスを受信して処理するデータ処
理装置であって、受信されたビットシーケンスのデータ
ビットを受信し、各々が受信されたビットシーケンスの
複数のデータビットからなる複数の語として記憶するよ
うに動作可能な先入れ先出し(FIFO)レジスタと、
上記FIFO回路に結合され、上記語を受信して上記受
信した語内のビットを直列に出力するように動作可能な
シフタ回路と、上記シフタ回路に結合され、ビットシー
ケンス内に符号化されている所定のビットパターンを検
出するように動作可能であり、またビットシーケンス内
で検出された選択されたビットのグループを並列に出力
するようにも動作可能な検出器回路と、上記シフタ回路
と上記検出器回路とに結合され、上記シフタ回路及び上
記検出器回路の動作を指示するように動作可能な制御論
理回路と、上記検出器回路に結合され、上記検出器回路
が出力した選択されたビットのグループを受信するよう
に動作可能なバッファインタフェース回路とを具備する
ことを特徴とするデータ処理装置。 76. 上記シフタ回路と上記制御論理回路とに結合さ
れ、けた送り計数値を記憶するように動作可能であり、
また上記シフタ回路が上記検出器回路へビットを直列に
出力すると上記けた送り計数値を変更するようにも動作
可能なけた送りカウンタ回路をも備えている上記75に
記載のデータ処理装置。 77. 上記制御論理回路は所定のけた送り計数値を上
記けた送りカウンタ回路へロードするように動作可能で
あり、上記けた送りカウンタ回路は各ビットが上記検出
器回路へ出力されると上記けた送り計数値をデクレメン
トさせるように動作可能であり、それにより上記制御論
理回路は上記検出器回路内へロードすべき特定のビット
シーケンスの長さを上記所定のけた送り計数値を使用し
て指定できる上記76項に記載のデータ処理装置。 78. データ処理装置が受信するビットシーケンスは
MPEG標準構文を使用して符号化されたビットシーケ
ンスからなり、上記制御論理回路はデータ処理装置が受
信中のビットシーケンスの符号化層を指示する情報を受
信するように動作可能である上記75に記載のデータ処
理装置。 79. 上記制御論理回路及び上記検出器回路は、ビッ
トシーケンス内の符号化されたデータのパケットの始ま
りを指示する開始コードを検出するように動作可能であ
る上記75に記載のデータ処理装置。 80. 上記ビットシーケンスは、ビットパケットに分
割され且つビットシーケンスを形成するように互いに時
分割された複数の異なるビットストリームを含む時分割
直列ビットストリームを構成し、上記制御論理回路は複
数のビットストリームのどれを復号するのかを指示する
情報を受信するように動作可能であり、上記制御論理回
路及び上記検出器回路は指示されたビットストリームを
構成しているパケットを時分割直列ビットストリームか
ら検出し、そして検索するように動作可能である上記7
5に記載のデータ処理装置。 81. 上記制御論理回路及び上記検出器回路は、ビッ
トシーケンス内の提示タイムスタンプを検出するように
動作可能である上記75に記載のデータ処理装置。 82. 上記制御論理回路及び上記検出器回路は、ビッ
トシーケンス内の復号すべきビットストリームの部分の
終わりを指示するストリームの終わりコードを検出する
ように動作可能であり、装置は上記検出器回路に結合さ
れている一時ビット記憶回路をも備え、上記一時ビット
記憶回路は上記ストリームコードの終わりの1つによっ
て割込まれた不完全なグループをビットストリームから
受信し、上記不完全なビットのグループの残余がビット
シーケンスから検索されて上記不完全なビットのグルー
プに連結できるようになるまで記憶するように動作可能
である上記75に記載のデータ処理装置。 83. 上記制御論理回路及び上記検出器回路に結合さ
れ、復号すべきビットストリームの一部分の終わりを指
示する情報を受信するように動作可能なストリームの終
わりレジスタと、上記検出器回路に結合され、上記復号
すべきビットストリームの一部分の終わりを指示する情
報によって割込まれた不完全なグループをビットストリ
ームから受信し、上記不完全なビットのグループの残余
がビットシーケンスから検索されて上記不完全なビット
のグループに連結できるようになるまで記憶するように
動作可能な一時ビット記憶回路をも備えている上記75
に記載のデータ処理装置。 84. 上記バッファインタフェース回路に結合され、
バッファインタフェース回路から受信したビットを記憶
するように動作可能なバッファ回路と、上記バッファイ
ンタフェース回路から上記バッファ回路へ出力されるビ
ットを上記バッファ回路内の何処へ記憶させるかを指示
する第1のアドレス値を生成するように動作可能な第1
のアドレスカウンタ回路をも備えている上記75に記載
のデータ処理装置。 85. 上記ビットシーケンスは提示タイムスタンプコ
ードを含み、上記制御論理回路及び上記検出器回路はビ
ットシーケンスから検索されるビットシーケンスの一部
分に関連付けられた上記提示タイムスタンプコードを検
出するように動作可能であり、データ処理装置が更に、
上記バッファインタフェース回路から上記バッファ回路
へ出力される検出され検索された提示タイムスタンプコ
ードを上記バッファ回路内の何処へ記憶させるかを指示
する提示タイムスタンプアドレス値を生成するように動
作可能な提示タイムスタンプアドレス回路をも備えてい
る上記84に記載のデータ処理装置。 86. 完全MPEG構文多重化システムストリーム、
MPEG構文オーディオパケットからなるストリーム、
及び圧縮されていないパルス符号変調されたオーディオ
データからなるストリームからなるグループから選択さ
れた何れかの符号化構文を使用して符号化されたビット
シーケンスを識別して処理するように動作可能である上
記75に記載のデータ処理装置。 87. 完全MPEG構文多重化システムストリーム、
MPEG構文オーディオパケットからなるストリーム、
MPEG構文オーディオフレームからなるストリーム、
及び圧縮されていないパルス符号変調されたオーディオ
データからなるストリームからなる考え得るビットシー
ケンス構文のグループの少なくとも2つのビットシーケ
ンスを識別して処理するように動作可能である上記75
に記載のデータ処理装置。 88. MPEG標準構文を使用して符号化されたビッ
トシーケンスを受信して処理するデータ処理装置であっ
て、受信されたビットシーケンスのデータビットを受信
し、各々が受信されたビットシーケンスの複数のデータ
ビットからなる複数の語として記憶するように動作可能
な先入れ先出し(FIFO)レジスタと、上記FIFO
回路に結合され、上記語を受信して上記受信した語内の
ビットを直列に出力するように動作可能なシフタ回路
と、上記シフタ回路に結合され、上記シフタ回路から出
力されたビットシーケンスを受信するように動作可能で
あり、上記ビットシーケンス内に符号化されている所定
のビットパターンを検出するようにも動作可能であり、
またビットシーケンス内で検出された選択されたビット
のグループを並列に出力するようにも動作可能な検出器
回路と、上記シフタ回路と上記検出器回路とに結合さ
れ、上記シフタ回路及び上記検出器回路の動作を指示す
るように動作可能な制御論理回路と、上記検出器回路に
結合され、上記検出器回路が出力した選択されたビット
のグループを受信するように動作可能なバッファインタ
フェース回路と上記シフタ回路と上記制御論理回路とに
結合され、けた送り計数値を記憶するように動作可能で
あり、また上記シフタ回路が上記検出器回路へビットを
直列に出力すると上記けた送り計数値をデクレメントす
るように動作可能であり、それにより上記制御論理回路
が上記検出器回路内へロードすべき特定のビットシーケ
ンスの長さを上記けた送り計数値を使用して指定できる
ようにするけた送りカウンタ回路とを具備し、上記制御
論理回路は、データ処理装置が受信しているビットシー
ケンスの符号化層を指示する情報を受信するように動作
可能であり、上記制御論理回路及び上記検出器回路は、
ビットシーケンス内の符号化されたデータのパケットの
始まりを指示する開始コードを検出するように動作可能
であり、上記制御論理回路及び上記検出器回路は、ビッ
トシーケンス内の提示タイムスタンプを検出するように
も動作可能であることを特徴とするデータ処理装置。 89. 上記ビットシーケンスは、ビットパケットに分
割され且つビットシーケンスを形成するように互いに時
分割された複数の異なるビットストリームを含む時分割
直列ビットストリームを構成し、上記制御論理回路は複
数のビットストリームのどれを復号するのかを指示する
情報を受信するように動作可能であり、上記制御論理回
路及び上記検出器回路は指示されたビットストリームを
構成しているパケットを時分割直列ビットストリームか
ら検出し、そして検索するように動作可能である上記8
8に記載のデータ処理装置。 90. 上記制御論理回路及び上記検出器回路は、ビッ
トシーケンス内の復号すべきビットストリームの部分の
終わりを指示するストリームの終わりコードを検出する
ように動作可能であり、装置は上記検出器回路に結合さ
れている一時ビット記憶回路をも備え、上記一時ビット
記憶回路は上記ストリームコードの終わりの1つによっ
て割込まれた不完全なグループをビットストリームから
受信し、上記不完全なビットのグループの残余がビット
シーケンスから検索されて上記不完全なビットのグルー
プに連結できるようになるまで記憶するように動作可能
である上記88に記載のデータ処理装置。 91. 上記バッファインタフェース回路に結合され、
バッファインタフェース回路から受信したビットを記憶
するように動作可能なバッファ回路と、上記バッファイ
ンタフェース回路から上記バッファ回路へ出力されるビ
ットを上記バッファ回路内の何処へ記憶させるかを指示
する第1のアドレス値を生成するように動作可能な第1
のアドレスカウンタ回路をも備えている上記88に記載
のデータ処理装置。 92. 上記ビットシーケンスは提示タイムスタンプコ
ードを含み、上記制御論理回路及び上記検出器回路はビ
ットシーケンスから検索されるビットシーケンスの一部
分に関連付けられた上記提示タイムスタンプコードを検
出するように動作可能であり、装置が更に、上記バッフ
ァインタフェース回路から上記バッファ回路へ出力され
る検出され検索された提示タイムスタンプコードを上記
バッファ回路内の何処へ記憶させるかを指示する提示タ
イムスタンプアドレス値を生成するように動作可能な提
示タイムスタンプアドレス回路をも備えている上記84
に記載のデータ処理装置。 93. ビットシーケンスを受信して処理する方法であ
って、受信されたビットシーケンスのデータビットを受
信し、各々が受信されたビットシーケンスの複数のデー
タビットからなる複数の語として先入れ先出し(FIF
O)レジスタ内に記憶する段階と、上記FIFOレジス
タ回路に結合されているシフタ回路で上記語を受信し、
上記シフタ回路から受信した語内のビットを直列に出力
する段階と、上記シフタ回路から上記シフタ回路に結合
されている検出器回路へ出力されるビットを受信し、上
記ビットシーケンス内に符号化されている所定のビット
パターンを検出し、そしてビットシーケンス内で検出さ
れた選択されたビットのグループを並列に出力する段階
と、上記シフタ回路と上記検出器回路とに結合されてい
る制御論理回路を使用して上記シフタ回路及び上記検出
器回路の動作を指示する段階と、上記検出器回路が出力
した選択されたビットのグループを受信し、上記検出器
回路に結合されているバッファインタフェース回路内に
記憶する段階とを具備することを特徴とする方法。 94. 上記シフタ回路及び制御論理回路に結合されて
いるけた送りカウンタ回路内にけた送り計数値を記憶
し、シフタ回路が検出器回路へビットを直列に出力する
とけた送り計数値を変更する段階をも含む上記93に記
載の方法。 95. けた送りカウンタ回路内に所定のけた送り計数
値を記憶し、各ビットが上記検出器回路へ直列に出力さ
れると上記けた送り計数値をデクレメントし、それによ
り上記検出器回路内へロードすべき特定のビットシーケ
ンスの長さを上記所定のけた送り計数値を使用して指定
できるようにする段階をも備えている上記93に記載の
方法。 96. 受信されるビットシーケンスはMPEG標準構
文を使用して符号化されたビットシーケンスからなり、
受信されるビットシーケンスの符号化された層を指示す
る情報を受信する段階をも備えている上記93に記載の
方法。 97. 符号化されたデータのパケットの始まりを指示
する開始コード及び提示タイムスタンプをビットシーケ
ンス内で検出する段階をも備えている上記93に記載の
方法。 98. 上記ビットシーケンスは、ビットパケットに分
割され且つビットシーケンスを形成するように互いに時
分割された複数の異なるビットストリームを含む時分割
直列ビットストリームを構成し、上記方法が更に、複数
のビットストリームのどれを復号するのかを指示する情
報を受信する段階と、指示されたビットストリームを構
成しているパケットを時分割直列ビットストリームから
検出し、そして検索する段階をも備えている上記93に
記載の方法。 99. ビットシーケンス内の復号すべきビットストリ
ームの部分の終わりを指示するストリームの終わりコー
ドを検出する段階と、上記ストリームコードの終わりの
1つによって割込まれた不完全なグループをビットスト
リームから受信し、上記不完全なビットのグループの残
余がビットシーケンスから検索されて上記不完全なビッ
トのグループに連結できるようになるまで上記検出器回
路に結合されている一時ビット記憶回路内に記憶する段
階をも備えている上記93に記載の方法。 100. 復号システム(14)に結合されているマイ
クロプロセッサホスト(12)を含むデータ処理装置
(10)が開示されている。ホストインタフェースブロ
ック(18)はビットストリームを受信し、ビットスト
リームをシステムデコーダブロック(20)へ渡す。シ
ステムデコーダブロック(20)はビットストリームか
ら適切なデータを抽出して入力バッファ(24)または
任意選択の外部バッファ(26)へロードする。オーデ
ィオデコーダブロック(28)は入力バッファ(24)
からデータを検索し、縮尺計数索引、ビット/コードワ
ード値、及びサブバンドサンプルを生成して演算ユニッ
トバッファ(30)内に記憶させる。ハードウェアフィ
ルタ演算ユニットブロック(32)は演算ユニットバッ
ファ(30)から情報を検索し、データを量子化解除
し、変換し、そして濾波してPCM出力データを生成し
てPCMバッファ(34)内へロードする。PCMバッ
ファ(34)内のデータはPCM出力ブロック(36)
によってディジタル・アナログ変換器(16)へ出力さ
れる。
The following items are disclosed in connection with the above description.
I do. 1. A microprocessor host circuit and the microprocessor
Encoded data coupled to the processor host circuit
And the code selected from the encoded data
Operable to extract encrypted audio data
Yes, and the selected encoded audio data
Data and outputs the decoded audio data.
Integrated audio decoder system operable
System and the integrated audio decoder system
And decodes the decoded audio data
Digital analog operable to convert to analog signals
A data converter comprising:
Place. 2. The integrated audio decoder system comprises:
Connect the integrated audio decoder system to the
Operable to couple to microprocessor host circuit
A host interface circuit and the host interface
Receiving the encoded data,
The encoded audio is converted from the encoded data.
Audio data, and encode the encoded audio
System decoder circuit operable to output data
And the encoded signal coupled to the system decoder.
Receive, store and output the audio data
An input buffer circuit operable to
Connected to the input buffer circuit.
Search the encoded audio data, and
Audio data, and decode the decoded audio data.
Audio deco operable to output audio data
And the audio decoder and the audio decoder.
Receiving and storing the decoded audio data, and
Arithmetic unit buffer circuit operable to output
And the operation unit buffer circuit,
From the arithmetic unit buffer circuit
Search the data and quantify the decoded audio data
De-destroyed, transformed, and filtered, and filtered
Arithmetic unit operable to output audio data
And a filtering circuit coupled to the arithmetic unit circuit and the filtering unit.
Receives, stores, and outputs the waved audio data.
An output buffer circuit operable to output
Connected to the buffer circuit and the digital / analog converter
And the filtered data from the output buffer circuit.
And retrieves the filtered data from the digital
An output circuit operable to output to an analog converter;
2. The data processing device according to claim 1, comprising: 3. The host interface circuit and the system
Coder circuit, input buffer circuit, audio data
Coder circuit, operation buffer circuit, operation unit
Circuit, the output buffer circuit, and the output circuit are all
2 above, which is located on a single semiconductor substrate
A data processing device according to the item. 4. The audio decoder block is
The programmed circuit and the audio decoder circuit are
Stores microcode routines that define actions to be performed
And a microprogram memory operable to
3. The data processing apparatus according to claim 2, wherein 5. The arithmetic unit is adapted to decode the decoded audio
De-quantize, transform, and filter the data sequentially
Operate to form the filtered audio data
3. A method according to claim 2 comprising a possible state machine drive circuit.
Data processing device. 6. The system decoder circuit and the audio deco
Additional encoded audio coupled to the
Operates to receive, store, and output data
It also has an external buffer circuit that can
The decoder circuit and the audio decoder circuit are connected to the external buffer.
Operable to detect the presence of a
If the external buffer circuit is present, additional encoding is performed.
External buffer for storing audio data
Item 3. The data processing device according to the above item 2 using a circuit. 7. The system decoder circuit, the input buffer circuit
And the audio decoder circuit is a first semiconductor circuit.
The external buffer circuit is placed on the
6. The above item 6, which is arranged on the semiconductor substrate 2
A data processing device according to claim 1. 8. The arithmetic unit circuit includes the output buffer circuit.
Pulse-code modulated data for storage in the
Operable to generate and output
・ The analog converter circuit operates the pulse code modulated data
Data, and analyzes the pulse code modulated data.
Note 2 above that is operable to convert to a log signal.
On-board data processing device. 9. The integrated audio decoder system comprises:
The microprocessor host circuit and the audio
Multiple control and status registers accessible by the decoder circuit
3. The data processing device according to claim 2, further comprising a star. 10. The microprocessor host circuit includes a serial code
Receiving the encoded bit stream and performing the serial encoding
The information contained in the extracted bit stream into multiple parallel
Through the signal line to the above audio decoder system
Operable to output the audio
The coded system is coded through the parallel signal lines.
Item 1 operable to receive the received data
The data processing device according to claim 1. 11. The audio decoder system comprises:
Serially encoded bits to the audio decoder system
Receive the encoded data through the stream input
2. The data processing device according to claim 1, operable to
Place. 12. Receive an external signal containing encoded data
Host interface circuit operable as
And is coded as described above.
Receiving the data and encoding from the encoded data
Extracted audio data, and encoded
System that can operate to output
System decoder circuit and the system decoder circuit.
Receiving the encoded audio data,
Input buffer times that are operable to remember and output
And an output buffer circuit coupled to the output buffer circuit.
Search the encoded audio data from the hardware circuit
And decodes the encoded audio data.
Operable to output decoded audio data
Audio decoder circuit and the audio decoder
And receive the decoded audio data
Arithmetic unit operable to store, store, and output
Unit buffer circuit and the arithmetic unit buffer circuit.
Combined and decoded from the arithmetic unit buffer circuit
Search for the decoded audio data, and
Dequantizes, transforms, and filters the Dio data,
And act to output the filtered audio data.
Compatible operation unit circuits and the above operation unit circuits
Receiving the filtered audio data,
Output buffer operable to store and output
And the output buffer circuit coupled to the output buffer circuit.
Search the filtered audio data from the buffer circuit
And operable to output the filtered data.
Audio decoding, comprising: an output circuit.
apparatus. 13. The host interface circuit and the system
Decoder circuit, input buffer circuit, audio
Decoder circuit, operation buffer circuit, operation unit
Circuit, the output buffer circuit, and the output circuit
Above which is located on a single semiconductor substrate
Item 13. The audio decoding device according to Item 12. 14. The audio decoder circuit is a microprocessor
And the audio decoder circuit described above.
Stores microcode routines that define actions to take
And a microprogram memory operable to
Item 13. The audio decoding device according to Item 12, wherein 15. The arithmetic unit is adapted to decode the decoded audio.
Sequentially dequantizes, transforms, and filters the data
To form the filtered audio data
Item 12.
Audio decoding device. 16. The system decoder circuit and the audio decoder
Additional encoded audio coupled to the coder circuit
To receive, store, and output video data.
It also has an external buffer circuit that can be
The decoder circuit and the audio decoder circuit are connected to the external bus.
Operable to detect the presence of a buffer circuit.
If the external buffer circuit is present, additional coding
External buffer to store audio data
Item 13. The audio decoding device according to Item 12, wherein the audio decoding device uses
Place. 17. The system decoder circuit, the input buffer
Circuit, and the audio decoder circuit is a first semiconductor
Placed on the substrate and the external buffer circuit
The above-mentioned 1 which is arranged on a second semiconductor substrate.
Item 7. The audio decoding device according to Item 6. 18. The arithmetic unit circuit includes the output buffer circuit
Pulse code modulated data for storage in the road
Operable to form and output
The decoding system is a digital decoding system coupled to the output circuit.
Digital-to-analog converter circuit.
The analog converter circuit converts the pulse code modulated data.
Data that has been pulse-code modulated
Clause 12, which is operable to convert the
Audio decoding device. 19. Microprocessor host circuit and audio
Multiple controls and states accessible by the audio decoder circuit
3. The audio decoder according to claim 2, further comprising a register.
No. device. 20. The audio decoding system comprises:
Serially encoded bitstream to interface circuit
Receive the encoded data through the
Item 13. The audio decoding device according to Item 12, which is operable
Place. 21. Coupled to the above host interface circuit,
Receives the column-encoded bit stream and returns the serial code
Information contained in the encoded bit stream
The host interface circuit through a parallel signal line
Microprocessor host operable to output to
A plurality of host interface circuits.
Receive the encoded data through the parallel signal lines
13. The audio of claim 12, operable to communicate
Audio decoding device. 22. A method for decoding encoded data, comprising:
Receiving an external signal containing the encoded data;
Audio data encoded from encoded data
Extracting in the system decoder circuit;
Audio decoder circuit for encoded audio data
Within and generate the decoded audio data
And processing the decoded audio data into an arithmetic unit.
Dequantized in the
Generating audio data and dequantizing audio
The audio data is converted in the arithmetic unit circuit and converted.
Generating converted audio data; and
Filtered audio data in the arithmetic unit circuit
Filtering and forming filtered audio data;
Outputting the waved audio data.
A method comprising: 23. System decoder circuit, audio decoder circuit
Circuits and arithmetic unit circuits are all a single semiconductor substrate.
23. The method according to claim 22, wherein the method is arranged on a rate. 24. Digitally filter the filtered audio data.
A stage for converting to an analog signal in a analog converter circuit
23. The method of claim 22, further comprising a floor. 25. The above to decode the encoded audio data
The step is to encode the encoded audio data
Performed by programmed circuit and audio decoder circuit
Stores microcode routines that define actions to take
Operable with microprogram memory
Decoding in the audio decoder circuit
23. The method of claim 22, wherein 26. The steps of dequantization, transformation, and filtering are as follows:
Arithmetic unit with circuit driven by state machine
Dequantize, transform, and filter using circuitry
23. The method of claim 22 comprising the steps. 27. Input buffer for encoded audio data
Storing in the circuit and the decoded audio data
Storing in the arithmetic unit buffer circuit;
Stored in the output buffer circuit.
23. The method of claim 22, further comprising the step of: 28. A search is made from a storage device in the first buffer circuit.
Process the encoded bit stream
Data processing device that outputs data to the second buffer circuit.
Operable to perform arithmetic and logical operations
An arithmetic logic unit and the arithmetic logic unit
Operate to instruct the execution of the above operations and logical operations
Possible execution control state machine and coded bitstream
Microcontroller that the system can execute to process the
An instruction memory for storing a sequence of code instructions.
The instruction memory includes the arithmetic logic unit and the
Execution control
To retrieve data from the first buffer circuit.
Decodes the scaled data, and
To output the sampled information to the second buffer circuit.
Stores the set of microcode instructions operable
A data processing device characterized in that: 29. Frame of data being processed by the above data processing device
Format that stores information indicating the format of the
The instruction memory also has an encoded data.
Processing associated with processing data in different formats
Routine storage, the data processing device is formatted
In the instruction memory in response to the data identifying
Associated with the indicated format remembered
29. Selecting and executing an appropriate routine
Data processing device. 30. The above data frame uses the MPEG standard syntax.
Audio data encoded at a predetermined bit rate
The format register is used for data processing.
The device encodes the frame of audio data being processed
Record data identifying the bit rate used to
29. The data according to above item 29, which is operable to remember.
Processing equipment. 31. The above data frame is related to the MPEG standard syntax.
Audio encoded using a specific layer associated
The format register contains the data
The audio data frame being processed by the
Data identifying the particular layer used to encode
And the instruction memory is operable to store
Processing associated with the processing of the different layers of the encrypted data
Process routines and the above data processing identifies a specific layer
Stored in the instruction memory in response to the data
The appropriate routine associated with the indicated layer
30. The data processing device according to the above item 29, wherein the data processing device selects and executes. 32. A frame of the above data is encoded audio
The instruction memory contains the data currently being processed.
Data processing unit determines that the frame contains an error
If not, the data other than the frame currently being processed
The data processing device can be selected to output
Operable to memorize executable error concealment routines
29. The data processing device according to the above item 28, which is a function. 33. The data processing device may include the error concealment routine.
Valid data frame used in the first buffer
First bank to determine if it can be stored
Operable to determine the size of the buffer
The data processing device responds to the size of the first buffer.
If the determined size of the first buffer is
If the data frame can be stored, the data processing device processes it.
In addition to storing the current frame, storing the valid data frame
Select and execute a specific error concealment routine that also requires
33. The data processing apparatus according to the above item 32, wherein 34. One of the error concealment routines is a data processing device.
Indicates that the frame currently being processed contains an error.
If found, the data processing unit
Last processed valid frame instead of middle frame
The data according to the above item 33 to be output to a data processing device
Processing equipment. 35. One of the error concealment routines is a silenced audio
Output the data corresponding to the audio output to the data processor.
33. The data processing device according to the above item 32, wherein 36. One of the error concealment routines is audio
Data frame is discarded by the data processor and
Above to start processing a new frame of audio data
Item 32. The data processing device according to Item 32. 37. Frames of the above data can be divided into subbands
Command data consisting of various encoded audio data.
Mori is data processing device selectable and executable
Operable to store a processing routine;
The processing routine defines a predetermined relationship associated with each subband.
Access to the numbers and the predetermined coefficients and the audio data
Data frame and combine them for each subband.
The associated volume can be independently determined using the predetermined coefficient
Subbands are scaled by a predetermined factor so that they can be adjusted
Output the processed data to the second buffer
Item 29. The data processing device according to item 28. 38. The above data frame is divided into stereo channels.
Consisting of splittable encoded audio data,
Instruction memory is data processor selectable and executable
Operable to store a possible processing routine;
The above processing routine is associated with each stereo channel.
Access to the specified coefficient, and
Combine with frames of audio data and
The volume associated with the teleo channel is
The above stereo channel can be adjusted independently using
The data obtained by reducing the size of the
29. The data processing device according to the above item 28, which outputs the data to a buffer.
Place. 39. At least one of the microcode instructions is:
A predetermined number of data from the first buffer is sent to the data processing device.
Consisting of an instruction operable to cause a bit to be retrieved
Item 29. The data processing device according to item 28. 40. At least one of the microcode instructions is:
A predetermined number of data from the first buffer is sent to the data processing device.
Causes the bit to be searched and associated with the searched bit
Is the instruction operable to calculate the cyclic redundancy code value?
29. The data processing device according to the above item 28, comprising: 41. At least one of the above microcode instructions is the same
And the synchronization command is transmitted to the data processing device.
1 to retrieve data bits from the
The first buffer is executed by the processor executing the synchronization instruction.
Synchronization within the bit sequence stored in the buffer.
The retrieved bits are set to a predetermined bit
2 above, which is operable to search for turns
Item 9. The data processing device according to Item 8. 42. An auxiliary data register is also provided.
At least one of the load instructions is transmitted to the data processing device by the first
A predetermined number of auxiliary data bits of data from the
And searches the auxiliary data bit for the auxiliary data register.
From an auxiliary data instruction operable to be stored in the
29. The data processing device according to the above item 28. 43. The data processing device is provided in the auxiliary data register.
Select information that indicates that auxiliary data exists
42. The apparatus as in claim 42, wherein the apparatus is operable to output as much as possible.
Data processing equipment. 44. The data processing device is provided in the auxiliary data register.
Overlay auxiliary data stored in
Before writing, audio data processing can be stopped selectively.
43. The data of claim 42 operable to shut down.
Data processing device. 45. A search is made from a storage device in the first buffer circuit.
Process the encoded audio bitstream,
Data to output the processed data to the second buffer circuit.
A processor for performing arithmetic and logical operations.
The operation logic unit that can operate
To perform the above operations and logical operations.
Control state machine operable as
Run by the data processor to process the stream
Instructions that store sequences of possible microcode instructions
And an instruction memory, wherein the instruction memory includes the arithmetic logic unit.
The system including the unit and the execution control state machine execute
Frame of data from the first buffer circuit
Search, decrypt the retrieved data, and scale
The coefficient information and the encoded sample information are stored in a second buffer.
Microcontroller operable to output to the
The data processing device further stores a set of
Layers of audio data frames being processed by the processing unit
For storing information indicating the sampling rate and sampling rate.
A mat register is also provided, and the instruction memory is coded.
Processing rules associated with the processing of different layers of
And the data processing device stores the data to identify the layer.
Command stored in the instruction memory in response to the
Select and execute the appropriate routine associated with the layer
And the instruction memory is selectable by the data processing device;
And act to remember executable error concealment routines.
The error concealment routine can be
The device detects that the frame currently being processed contains an error.
If the data processing unit is determined, the data processing unit
Output data other than the frame currently being processed, and process the data
The device is used for the audio used in the error concealment routine
Storing a valid frame of data in the first buffer;
Size of the first buffer to determine if
A data processing device operable to determine the magnitude;
Responds to the size of the first buffer,
The determined size of the key is stored in the valid data frame.
If possible, record the frame being processed by the data processor.
Identification that requires storage of valid data frames in addition to memory
Selecting and executing the error concealment routine
Data processing device. 46. The data processor can adapt to variable length frames
Audio for each frame in order to hide errors
Before processing the data, the above determined
Operable to compare size to size of each frame
46. The data processing device according to the above item 45, which is a function. 47. One of the error concealment routines is a data processing device.
Indicates that the frame currently being processed contains an error.
If found, the data processing unit
Last processed valid frame instead of middle frame
Item 45. The data described in the above item 45 to be output to a data processing device
Processing equipment. 48. One of the error concealment routines is a silenced audio
Output the data corresponding to the audio output to the data processor.
48. The data processing device according to the above item 47, wherein 49. The above data frame is divided into stereo channels.
Consisting of splittable encoded audio data,
The instruction memory is data processing device selectable and
Operable to store executable processing routines.
The above processing routine is associated with each stereo channel.
Access to the predetermined coefficient,
Combining the audio data with the frame, and
Set the volume associated with each stereo channel to the
The above stereo so that it can be adjusted independently using the coefficients
The data obtained by scaling the channel by the predetermined coefficient
45. The data processing according to the above item 45 for outputting to the buffer 2
Equipment. 50. The above microcode instructions are sent to the data processing device.
A predetermined number of bits of data are retrieved from the first buffer.
And instructs the data processing device to pre-determine data from the first buffer.
Search for a number of bits
The calculated cyclic redundancy code value is calculated and the data processing device
One bit of data is retrieved from one buffer and
The data processing device executes the synchronization instruction to perform the first
Synchronized within the bit sequence stored in the buffer
So that the retrieved bits can be
Different lives operable to make you search for patterns
46. The data processing device according to the above item 45, which comprises an order. 51. An auxiliary data register is also provided.
At least one of the load instructions is transmitted to the data processing device by the first
A predetermined number of auxiliary data bits of data from the
And searches the auxiliary data bit for the auxiliary data register.
From an auxiliary data instruction operable to be stored in the
45. The data processing device according to the above item 45. 52. Code stored in the first data buffer
Process the encoded audio data and process the processed data
In a second data buffer,
Perform arithmetic and logical operations within the arithmetic and logic unit
And execution control coupled to the arithmetic logic unit
A stage for instructing the execution of arithmetic and logical operations using a state machine
Floor and to process the encoded bit stream
The device commands a sequence of executable microcode instructions.
Storage in the command memory and the encoded audio
Retrieving data from the first buffer circuit;
The coefficient information and the encoded sample information are stored in a second buffer.
Output to the audio circuit and the audio data being processed by the device.
Indicates the layer of the data frame and the sampling rate
Storing the information in a format register;
Different tiers associated with the processing of different layers of
Storing the processing routines and storing them in the instruction memory.
The appropriate route associated with the indicated indicated layer
Select and execute a program, and use it for error concealment routines
The effective frame of the audio data to be
To determine if it can be stored in the
Determining the size of one buffer, and
If the frame is determined to contain an error
Error in outputting data other than the frame currently being processed.
Selecting and executing a hidden routine.
The step of selecting and executing the error concealment routine comprises the following steps:
Responds to the size of the buffer and
Certain errors that also require the storage of valid data frames
Select and execute a hidden routine
Law. 53. Selecting and executing the error concealment routine
Found that the frame currently being processed contains errors
If so, process last instead of the frame currently being processed
52. The method according to claim 52, further comprising the step of outputting the effective frame.
The method described in. 54. Selecting and executing the error concealment routine
Outputs data corresponding to the silenced audio output.
53. The method according to the above item 52, comprising the step of causing the step of causing the reaction to occur. 55. The encoded buffer retrieved from the first buffer circuit
Decodes the filtered data, filters it, and processes the processed data.
A data processing device for outputting to the second buffer circuit;
The encoded data stored in the first buffer.
Sample data encoded from within the first block of data
A circuit for retrieving data and scale coefficient information;
Dequantize and dequantize the sample data using
A circuit that forms the sampled data
A circuit for storing sampled data, and a dequantized
Transform the sample data using the fast cosine process,
A circuit for forming the converted sample data;
A circuit for storing the dequantized sample data,
A block of data processed before the first block
Using the pulse code modulated data associated with
Filter the transformed dequantized sample data
A circuit for oscillating and forming pulse code modulated data;
A second buffer circuit for transmitting the pulse code modulated data to a second buffer circuit;
And a circuit for outputting the data to a data processor.
Equipment. 56. The above dequantization circuit, conversion circuit, and filtering circuit
Is a mathematical unit circuit with an addition circuit and a multiplication circuit.
56. The data processing device according to the above item 55, which is configured. 57. The mathematical unit circuit comprises first, second, and
3 through the math unit circuit
Form the product of the first and second operands in a single pass
And form the sum of the product and the third operand
56. The data processing device according to the above item 56, which is configured. 58. The multiplication circuit includes a booth encoder circuit and
A plurality of partial products coupled to the Booth encoder circuit
Item 56. The data according to Item 56, further comprising a generator circuit.
Data processing device. 59. The filtering circuit comprises a number of multiplications and a stored coefficient.
Are higher than those associated with matrix multiplication
Use the butterfly operator to reduce
56. A data processing apparatus according to the above item 55, comprising a circuit for performing conversion.
Equipment. 60. The filtering circuit is a coefficient circuit that stores a filtering coefficient.
And a circuit for accessing the coefficient circuit.
56. The data processing device according to the above item 55. 61. The filtering circuit requires multiple filtering coefficients
It consists of a circuit that performs a linear transformation,
At least two separations performed during the filtering of the block
So that the same coefficient is used for each
55. The data processor of clause 55 wherein the number filtering coefficients are symmetric.
Equipment. 62. Accessible by the above dequantization circuit and conversion circuit
Also has a read-only memory table for storing the effective coefficients
56. The data processing device according to the above item 55, wherein 63. A first buffer, a second buffer, and
Data processing to access the read-only memory table.
Address generator that generates addresses used by the
63. The data processing according to the above item 62, further comprising a data circuit.
apparatus. 64. The encoded data is a sub-band sampler.
Data, scale factor information, and each subband sample
Quantization associated with the number of bits associated
The audio data consists of information used for
Encoded above associated with the bit stream of the
Data is encoded using the MPEG standard syntax.
56. The data processing device according to the above item 55, wherein 65. The encoded buffer retrieved from the first buffer circuit
The decoded data is decoded and filtered, and the processed data is
A data processing device for outputting to a first buffer.
The first block of encoded data stored in the file
Sample data and scale factor encoded from within the lock
A circuit for retrieving information and sampling using scale factor information
De-quantizes the sample data, and de-quantizes the sample data.
Math unit circuit to form the data
A circuit for storing sample data;
The unit circuit converts the dequantized sample data to high
Transformed using the fast cosine process and the transformed sample
It is also operable to form data and converted
A circuit for storing the dequantized sample data is also provided.
Wherein the math unit circuit is provided in the first block.
Pal associated with a previously processed block of data
Using the code-modulated data
De-decoded sample data is filtered and pulse code modulated
Is also operable to form the
Readout storing coefficients accessible by the math unit circuit
Dedicated memory table and the pulse code modulated data
A circuit for outputting data to the second buffer circuit;
Buffer, a second buffer, and the read-only memory
Used by data processing equipment to access cables
Also equipped with an address generator circuit to generate addresses
A data processing device characterized in that: 66. The above mathematical unit circuit includes a multiplication circuit and an addition circuit.
Wherein the mathematical unit circuit comprises first, second, and
Receiving the third operand and passing through the math unit circuit
The product of the first and second operands in a single pass
And sum the product and the third operand
65. The data processing device according to the above 65, which is formed. 67. The multiplication circuit includes a booth encoder circuit and
A plurality of partial products coupled to the Booth encoder circuit
67. The data according to the above item 66, comprising a generator circuit.
Data processing device. 68. The encoded data is a sub-band sampler.
Data, scale factor information, and each subband sample
From information associated with the number of bits associated
Associated with the audio data bit stream.
The above encoded data uses the MPEG standard syntax
67. The data processing device according to item 66, wherein
Place. 69. The encoded buffer retrieved from the first buffer circuit
Decodes the filtered data, filters it, and processes the processed data.
A method for outputting to a second buffer circuit, comprising:
The first of the encoded data stored in the buffer
Sample data and scaler encoded from within the block
Searching for numerical information and using the scale factor information
Dequantizes the pull data and dequantizes the sample
Forming data and dequantized sample data
Data storage and dequantized sample data.
Data using a fast cosine process and the converted
Forming sample data and transformed dequantization
Storing the obtained sample data;
Associated with a block of data processed before the lock
The above conversion using the pulse code modulated data
The filtered dequantized sample data is filtered and pulsed.
Forming code modulated data; and
For outputting signal-modulated data to a second buffer circuit
And a floor. 70. The dequantization step, the transformation step, and the filtering step
Is a mathematical unit circuit with an addition circuit and a multiplication circuit.
70. The method according to claim 69, wherein the method is performed using. 71. The dequantization step comprises the mathematical unit circuit
Receiving the first, second, and third operands at
Steps and a single pass through the math unit circuit above
Forming the product of the first and second operands, and
Forming a sum of the product and the third operand.
71. The method of claim 70, wherein the method comprises: 72. During the dequantization and conversion steps, the read
A step of retrieving coefficients from the memory table for
70. The method of claim 69, wherein 73. First buffer, second buffer, and read
Generates the address for accessing the dedicated memory table.
70. The method of claim 69, further comprising the step of: 74. The encoded data is a sub-band sampler.
Data, scale factor information, and each subband sample
From information associated with the number of bits associated
Associated with the audio data bit stream.
The above encoded data uses the MPEG standard syntax
70. The method according to the above clause 69, which is encoded as follows. 75. Data processing for receiving and processing bit sequences
The received bit sequence data.
Receive the bits, each of the received bit sequence
Store as multiple words consisting of multiple data bits
A first-in first-out (FIFO) register operable to
Coupled to the FIFO circuit for receiving the word and receiving the word;
Operable to output the bits in the transmitted word serially
A shifter circuit, and the bit shifter coupled to the shifter circuit.
A predetermined bit pattern encoded in the can is detected.
Operable to output and within a bit sequence.
Output in parallel the group of selected bits detected by
And a shifter circuit as described above
And the detector circuit, and the shifter circuit and the
Control theory operable to direct the operation of the detector circuit
A logic circuit and the detector circuit coupled to the detector circuit.
To receive the selected group of bits output by
Operable buffer interface circuit
A data processing device characterized by the above-mentioned. 76. Coupled to the shifter circuit and the control logic circuit.
Operable to store the digit feed count;
Also, the shifter circuit serially supplies bits to the detector circuit.
When output, it also works to change the digit feed count value.
The above 75 which also has a possible feed counter circuit
The data processing device according to claim 1. 77. The control logic circuit increases the predetermined digit feed count value.
Operable to load the marked feed counter circuit.
Yes, the digit feed counter circuit detects each bit as described above.
The output digit is decremented when output to the circuit.
Operable to control the
The logic circuit determines the specific bits to be loaded into the detector circuit.
The length of the sequence is calculated using the predetermined digit
78. The data processing device according to the above item 76, which can be designated by specifying. 78. The bit sequence received by the data processing device is
Bit sequence encoded using MPEG standard syntax
The control logic circuit is received by the data processing device.
Receives information indicating the coding layer of the current bit sequence.
75. A data processor according to claim 75 operable to communicate.
Equipment. 79. The control logic circuit and the detector circuit are
Start of a packet of encoded data in the
Operable to detect a start code that indicates
75. The data processing device according to the above 75, wherein 80. The above bit sequence is divided into bit packets.
Divided into each other to form a bit sequence
Time division with several different bitstreams divided
Form a serial bit stream and the control logic is
Indicates which of a number of bitstreams to decode
Operable to receive information, the control logic circuit comprising:
Path and the detector circuit convert the indicated bit stream.
Whether the constituent packet is a time-division serial bit stream
7 operable to detect and retrieve from
6. The data processing device according to 5. 81. The control logic circuit and the detector circuit are
To detect the presentation timestamp in the default sequence
75. The data processing device as recited in claim 75, operable. 82. The control logic circuit and the detector circuit are
Of the part of the bit stream to be decoded in the
Detect end-of-stream code indicating end
And the device is coupled to the detector circuit.
A temporary bit storage circuit,
The storage circuit is activated by one of the end of the stream code.
Incomplete groups interrupted from the bitstream
Received and the remainder of the group of incomplete bits
The incomplete bit glue found from the sequence
Operable to remember until it can be connected to
75. The data processing apparatus according to the above 75, wherein 83. Coupled to the control logic circuit and the detector circuit
Indicates the end of the part of the bitstream to be decoded.
End of a stream operable to receive the information
And the decoding circuit coupled to the detector circuit and the detector circuit.
Information indicating the end of the part of the bitstream to be
Bitstreams for incomplete groups interrupted by
The remaining bits of the incomplete group of bits received from the
Is searched from the bit sequence to find the above incomplete bits.
Remember until you can connect to a group
The above 75 which also comprises an operable temporary bit storage circuit.
A data processing device according to claim 1. 84. Coupled to the buffer interface circuit,
Stores bits received from buffer interface circuit
A buffer circuit operable to perform
Video output from the interface circuit to the buffer circuit
Indicates where the data is stored in the buffer circuit.
A first address operable to generate a first address value
75, further comprising an address counter circuit of
Data processing equipment. 85. The above bit sequence is a presentation time stamp
The control logic circuit and the detector circuit
Part of the bit sequence retrieved from the bit sequence
Check the above indicated time stamp code associated with the minute.
Operable to emit, and the data processing device further comprises:
From the buffer interface circuit to the buffer circuit
The detected and searched presentation time stamp
Indicates where the code is stored in the buffer circuit.
To generate a presentation timestamp address value
It also has a configurable presentation timestamp address circuit.
85. The data processing apparatus according to 84, wherein 86. A complete MPEG syntax multiplex system stream,
A stream consisting of MPEG syntax audio packets,
And uncompressed pulse code modulated audio
Selected from a group consisting of a stream of data
Bits encoded using any of the given encoding syntaxes
Operable to identify and process sequences
75. The data processing device according to item 75. 87. A complete MPEG syntax multiplex system stream,
A stream consisting of MPEG syntax audio packets,
A stream consisting of MPEG syntax audio frames,
And uncompressed pulse code modulated audio
A possible bit sea consisting of a stream of data
At least two bit sequences of a group of sequence
75, operable to identify and process an instance.
A data processing device according to claim 1. 88. Bits encoded using the MPEG standard syntax
Data processing device that receives and processes
To receive the data bits of the received bit sequence.
And each of a plurality of data of the received bit sequence
Operable to store as multiple words of bits
First-in-first-out (FIFO) register and the FIFO
Coupled to a circuit, receiving the word and receiving
Shifter circuit operable to output bits in series
Is connected to the shifter circuit and is output from the shifter circuit.
Operable to receive the input bit sequence.
Is present and is encoded in the bit sequence
It can also operate to detect the bit pattern of
Also selected bits detected in the bit sequence
Detector that can also operate to output multiple groups in parallel
A circuit coupled to the shifter circuit and the detector circuit.
Indicating the operation of the shifter circuit and the detector circuit.
Control logic circuit operable to
Selected bits combined and output by the detector circuit
Buffer interface operable to receive a group of
The face circuit, the shifter circuit, and the control logic circuit
Combined and operable to store the digit feed count.
And the shifter circuit sends a bit to the detector circuit.
When serially output, the above digit count value is decremented.
Operable so that the control logic circuit
The specific bit sequence that should be loaded into the detector circuit
The length of the sense can be specified using the above-mentioned feed count value.
And a feed counter circuit,
The logic circuit determines the bit sequence that the data processing device is receiving.
Operates to receive information indicating the coding layer of the cans
It is possible that the control logic circuit and the detector circuit comprise:
Of a packet of encoded data in a bit sequence
Operable to detect start code indicating start
And the control logic circuit and the detector circuit are
To detect the presentation timestamp in the default sequence
A data processing device, wherein the data processing device is also operable. 89. The above bit sequence is divided into bit packets.
Divided into each other to form a bit sequence
Time division with several different bitstreams divided
Form a serial bit stream and the control logic is
Indicates which of a number of bitstreams to decode
Operable to receive information, the control logic circuit comprising:
Path and the detector circuit convert the indicated bit stream.
Whether the constituent packet is a time-division serial bit stream
8 operable to detect and retrieve from
9. The data processing device according to 8. 90. The control logic circuit and the detector circuit are
Of the part of the bit stream to be decoded in the
Detect end-of-stream code indicating end
And the device is coupled to the detector circuit.
A temporary bit storage circuit,
The storage circuit is activated by one of the end of the stream code.
Incomplete groups interrupted from the bitstream
Received and the remainder of the group of incomplete bits
The incomplete bit glue found from the sequence
Operable to remember until it can be connected to
88. The data processing apparatus according to the above 88, wherein 91. Coupled to the buffer interface circuit,
Stores bits received from buffer interface circuit
A buffer circuit operable to perform
Video output from the interface circuit to the buffer circuit
Indicates where the data is stored in the buffer circuit.
A first address operable to generate a first address value
88, further comprising an address counter circuit of
Data processing equipment. 92. The above bit sequence is a presentation time stamp
The control logic circuit and the detector circuit
Part of the bit sequence retrieved from the bit sequence
Check the above indicated time stamp code associated with the minute.
Operable to dispense, wherein the device further comprises
Output from the buffer interface circuit to the buffer circuit.
The detected and searched presentation time stamp code is
A presentation tag that indicates where in the buffer circuit to store
Operable to generate the timestamp address value
84, which also includes a time stamp address circuit.
A data processing device according to claim 1. 93. A method of receiving and processing a bit sequence.
Receive the data bits of the received bit sequence.
Multiple bits of the received bit sequence.
First-in, first-out (FIF)
O) storing in a register;
Receiving the above words in a shifter circuit coupled to the
Outputs the bits in the word received from the shifter circuit in series
And coupling from the shifter circuit to the shifter circuit
Receive the bits output to the detector circuit
A given bit encoded in the bit sequence
Pattern, and detected in the bit sequence.
Outputting selected groups of selected bits in parallel
Connected to the shifter circuit and the detector circuit.
The shifter circuit and the detection using the control logic circuit
Instructing the operation of the detector circuit;
Receive the selected group of bits, and
In the buffer interface circuit coupled to the circuit
Storing. 94. Coupled to the shifter circuit and control logic circuit
Stores the feed count value in the feed feed counter circuit.
And the shifter circuit outputs bits to the detector circuit in series
As described in 93 above, including the step of changing the melt feed count.
The method described. 95. Predetermined digit feed count in the digit feed counter circuit
Store the value and each bit is output serially to the detector circuit.
When it is decremented, the digit feed count is decremented,
The specific bit sequence to be loaded into the above detector circuit
Specify the length of the distance using the above-mentioned specified digit feed count.
93. The method of claim 93, further comprising the step of enabling
Method. 96. The received bit sequence is an MPEG standard structure.
Consisting of a bit sequence encoded using a sentence,
Indicate the encoded layer of the received bit sequence
93, further comprising the step of receiving
Method. 97. Indicates the start of a packet of encoded data
The start code and presentation timestamp
93. The method of claim 93, further comprising the step of detecting
Method. 98. The above bit sequence is divided into bit packets.
Divided into each other to form a bit sequence
Time division with several different bitstreams divided
Construct a serial bit stream and the method further comprises:
Information indicating which bit stream to decode
Receiving the information and configuring the indicated bit stream.
The resulting packet from a time-shared serial bit stream.
93, further comprising the steps of detecting and searching.
The described method. 99. The bit stream to decode in the bit sequence
End-of-stream code indicating the end of the
At the end of the stream code.
Bit-strapped incomplete groups interrupted by one
Received from the stream and the remaining
The remainder is retrieved from the bit sequence and
Until it can be linked to a group of detectors.
Stage in a temporary bit storage circuit coupled to the path
94. The method as in claim 93, further comprising a floor. 100. My connected to the decryption system (14)
Data processing device including cross-processor host (12)
(10) is disclosed. Host interface block
Block (18) receives the bit stream and
The stream is passed to the system decoder block (20). Shi
Is the stem decoder block (20) a bit stream?
From the input buffer (24) or
Load into optional external buffer (26). Aude
The audio decoder block (28) is an input buffer (24)
From the data, scale counting index, bit / code
Code values and subband samples to generate
In the buffer (30). Hardware fee
The filter operation unit block (32)
Retrieve information from file (30) and dequantize data
Transform, and filter to produce PCM output data
To load into the PCM buffer (34). PCM bag
The data in the file (34) is a PCM output block (36)
Output to the digital / analog converter (16)
It is.

【0093】以上に本発明を詳細に説明したが、上述し
た実施例には本発明の思想及び範囲から逸脱することな
く種々の変化、置換及び変更を施すことが可能であり、
本発明は特許請求の範囲によってのみ限定されるもので
あることを理解されたい。
Although the present invention has been described in detail, various changes, substitutions, and alterations can be made to the above-described embodiment without departing from the spirit and scope of the present invention.
It should be understood that the invention is limited only by the claims.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の集積されたオーディオデコーダシステ
ムを含むオーディオ復号システムのブロック線図であ
る。
FIG. 1 is a block diagram of an audio decoding system including an integrated audio decoder system of the present invention.

【図2】本発明の集積されたオーディオデコーダ内に使
用されているシステムデコーダのブロック線図である。
FIG. 2 is a block diagram of a system decoder used in the integrated audio decoder of the present invention.

【図3】本発明の集積されたオーディオデコーダ内に使
用されているオーディオデコーダのブロック線図であ
る。
FIG. 3 is a block diagram of an audio decoder used in the integrated audio decoder of the present invention.

【図4】本発明の集積されたオーディオデコーダシステ
ム内に使用されているハードウェアフィルタ演算ユニッ
トのブロック線図である。
FIG. 4 is a block diagram of a hardware filter operation unit used in the integrated audio decoder system of the present invention.

【図5】本発明のハードウェアフィルタ演算ユニットに
よって使用されるアドレスジェネレーションシステムを
示すブロック線図である。
FIG. 5 is a block diagram showing an address generation system used by the hardware filter operation unit of the present invention.

【図6】本発明のハードウェアフィルタ演算ユニット内
に使用されている数学ユニットのより詳細なブロック線
図である。
FIG. 6 is a more detailed block diagram of the math unit used in the hardware filter operation unit of the present invention.

【図7】ハードウェアフィルタ演算ユニットが遂行する
量子化解除動作を示す流れ図である。
FIG. 7 is a flowchart illustrating a dequantization operation performed by a hardware filter operation unit.

【図8】ハードウェアフィルタ演算ユニットが遂行する
高速余弦変換動作を示す流れ図である。
FIG. 8 is a flowchart illustrating a fast cosine transform operation performed by a hardware filter operation unit.

【図9】ハードウェアフィルタ演算ユニットが遂行する
有限インパルス応答濾波動作の流れ図である。
FIG. 9 is a flowchart of a finite impulse response filtering operation performed by a hardware filter operation unit.

【図10】本発明のオーディオデコーダシステムの一実
施例のピンアウトの上面図である。
FIG. 10 is a top view of the pinout of one embodiment of the audio decoder system of the present invention.

【図11】オーディオデコーダブロックの高レベルアク
ティビティを示す流れ図である。
FIG. 11 is a flowchart showing high level activities of the audio decoder block.

【図12】使用可能なバッファメモリの大きさを調べる
ためにオーディオデコーダブロックが使用するプロセス
を示す流れ図である。
FIG. 12 is a flowchart illustrating a process used by an audio decoder block to determine the amount of available buffer memory.

【図13】オーディオ復号プロセス内に使用されている
レジスタ及び変数をクリアし、初期化するためにオーデ
ィオデコーダブロックが遂行するプロセスを示す流れ図
である。
FIG. 13 is a flowchart illustrating a process performed by an audio decoder block to clear and initialize registers and variables used in the audio decoding process.

【図14】オーディオデコーダブロックが到来ビットス
トリーム内の同期文字を探索し、同期を取得するプロセ
スを示す流れ図の一部分である。
FIG. 14 is a portion of a flowchart illustrating the process by which an audio decoder block searches for synchronization characters in an incoming bit stream and obtains synchronization.

【図15】図14の流れ図の残余の部分である。FIG. 15 is the remainder of the flowchart of FIG.

【図16】ビットストリーム内に見出しが探知された時
にフレームをセットアップするためにオーディオデコー
ダブロックが使用するプロセスの流れ図の一部分であ
る。
FIG. 16 is a portion of a flowchart of a process used by an audio decoder block to set up a frame when a headline is found in a bitstream.

【図17】図16の流れ図の残余の部分である。FIG. 17 is a remaining part of the flowchart of FIG. 16;

【図18】フレームの大きさを計算するためにオーディ
オデコーダブロックが使用するプロセスの流れ図であ
る。
FIG. 18 is a flowchart of a process used by an audio decoder block to calculate a frame size.

【図19】フレーム内に誤りを検出したか、同期ロック
状態に到達しない場合にオーディオデコーダブロックが
使用する誤り隠しプロセスの流れ図である。
FIG. 19 is a flowchart of an error concealment process used by an audio decoder block when an error is detected in a frame or a synchronization lock state is not reached.

【図20】オーディオフレームを復号するためにオーデ
ィオデコーダブロックが使用するプロセスの流れ図の一
部分である。
FIG. 20 is a portion of a flowchart of a process used by an audio decoder block to decode an audio frame.

【図21】図20の流れ図の残余の部分である。FIG. 21 is a remaining part of the flowchart of FIG. 20;

【図22】見出し内に含まれるサイド情報を復号するた
めにオーディオデコーダブロックが使用するプロセスの
流れ図である。
FIG. 22 is a flowchart of a process used by an audio decoder block to decode side information included in a heading.

【図23】ビットストリームが層1オーディオデータで
ある場合にビット割当て情報を復号するためにオーディ
オデコーダブロックが使用するプロセスの流れ図であ
る。
FIG. 23 is a flowchart of a process used by an audio decoder block to decode bit allocation information when the bitstream is layer 1 audio data.

【図24】フレームが層1オーディオデータである場合
にビット割当て情報を復号するために使用されるプロセ
スの流れ図である。
FIG. 24 is a flowchart of a process used to decode bit allocation information when the frame is layer 1 audio data.

【図25】層2MPEGオーディオデータに関連付けら
れた縮尺係数選択情報を検索するために使用されるプロ
セスの流れ図である。
FIG. 25 is a flowchart of a process used to retrieve scale factor selection information associated with Layer 2 MPEG audio data.

【図26】層1MPEGオーディオデータのための縮尺
係数索引を復号するためにオーディオデコーダブロック
が使用するプロセスの流れ図である。
FIG. 26 is a flowchart of a process used by an audio decoder block to decode a scale factor index for layer 1 MPEG audio data.

【図27】層1MPEGオーディオデータのサブバンド
情報を復号するためにオーディオデコーダブロックが使
用するプロセスの流れ図の一部分である。
FIG. 27 is a portion of a flowchart of a process used by an audio decoder block to decode subband information of layer 1 MPEG audio data.

【図28】図27の流れ図の残余の部分である。FIG. 28 is a remaining portion of the flowchart of FIG. 27;

【図29】層2MPEGオーディオデータのための縮尺
係数索引を復号するためにオーディオデコーダブロック
が使用するプロセスの流れ図の一部分である。
FIG. 29 is a portion of a flowchart of a process used by an audio decoder block to decode a scale factor index for Layer 2 MPEG audio data.

【図30】図29の流れ図の残余の部分である。FIG. 30 is a remaining portion of the flowchart of FIG. 29;

【図31】層2MPEGオーディオデータのサブバンド
情報を復号するためにオーディオデコーダブロックが使
用するプロセスの流れ図の一部分である。
FIG. 31 is a portion of a flowchart of a process used by an audio decoder block to decode subband information of Layer 2 MPEG audio data.

【図32】図31の流れ図の残余の部分である。FIG. 32 is a remaining part of the flowchart of FIG. 31;

【図33】グループ復号を遂行するためにオーディオデ
コーダブロックが使用するプロセスの流れ図である。
FIG. 33 is a flowchart of a process used by an audio decoder block to perform group decoding.

【図34】入力バッファ及び外部バッファに関するバッ
ファ管理を遂行するためにオーディオデコーダブロック
が使用するプロセスの流れ図の一部分である。
FIG. 34 is a portion of a flowchart of a process used by an audio decoder block to perform buffer management for an input buffer and an external buffer.

【図35】図34の流れ図の残余の部分である。FIG. 35 is a remaining portion of the flowchart of FIG. 34;

【図36】オーディオデコーダブロックが遂行する一般
的な復号動作の流れ図である。
FIG. 36 is a flowchart of a general decoding operation performed by an audio decoder block.

【図37】提示タイムスタンプを処理するためにオーデ
ィオデコーダブロックが使用するプロセスの流れ図であ
る。
FIG. 37 is a flowchart of a process used by an audio decoder block to process presentation timestamps.

【図38】ビットストリーム内に存在し得る補助データ
を復号し、処理するためにオーディオデコーダブロック
が使用するプロセスの流れ図である。
FIG. 38 is a flowchart of a process used by an audio decoder block to decode and process auxiliary data that may be present in a bitstream.

【符号の説明】[Explanation of symbols]

10 オーディオ復号システム 12 マイクロプロセッサホスト 14 オーディオデコーダシステム 16 ディジタル・アナログ変換器 18 ホストインタフェースブロック 20 システムデコーダブロック 22 制御状態レジスタブロック 24 入力バッファ 26 外部バッファ 28 オーディオデコーダブロック 30 演算ユニットバッファ 32 ハードウェアフィルタ演算ユニットブロック 34 PCMバッファ 36 PCM出力ブロック 38 FIFO 40 シフトレジスタ(シフタ) 42 シフタ検出器 44 シフタカウンタ 46 制御論理ブロック 48 シフタ複写レジスタ 50 制御カウンタ 52 制御カウンタ複写レジスタ 54 バッファインタフェースブロック 56 データアドレスカウンタ 58 PTSアドレスカウンタ 72 パケットバイトカウンタ 80 マイクロプログラムROM 82 命令パイプレジスタ 84 命令マルチプレクサ 86 定数記憶装置 88 データバス 90 累算器バス 92 プログラムカウンタ 94 プログラムカウンタマルチプレクサ 96 インクリメンタ 98 定数記憶装置 100 サブルーチンスタック 102 分岐バス 104 実行制御状態機械 106 演算論理ユニット 108 制御マルチプレクサ 110 累算器 112 マルチプレクサ 114 データレジスタ 118 定数レジスタ 120 アドレスバス 122 バイパスマルチプレクサ 124 マルチプレクサ 126 データシフタ 128 けた送りカウンタ 130 ロードカウンタ 132 DRAM/SRAM制御装置 134 DRAMインタフェース 136 アドレスマルチプレクサ 138 特別レジスタブロック 140 nBAL及びBPCW ROM 142 RAMスクラッチパッド 144 ROM 150 サンプルメモリ 152 有限インパルス応答(FIR)メモリ 154 数学ユニット 156 累算器 158 レジスタ 160、162、164、166 マルチプレクサ 168 縮尺係数ROM 170 C/D係数ROM 172、174 アドレスレジスタ 176 マルチプレクサ 178 係数メモリ 180 バッファレジスタ 182 アドレスジェネレータ 184 シーケンスジェネレータ 186 アドレスROM 188 CSBBアドレス論理ブロック 190 FIRアドレス論理ブロック 192 SBBアドレス論理ブロック 194 係数アドレス論理ブロック 200 マルチプレクサ 202 ブースエンコーダ 204、206、208 部分積ジェネレータ 210、212、214 けた上げ/保管加算器 216 パイプラインレジスタ 218、220 マルチプレクサ 222 けた上げ/保管加算器 224 マルチプレクサ 225 定数記憶装置 226 けた上げ伝播加算器 228 飽和検出0強制ブロック 230 けた上げイン論理ブロック 232 けた上げ記憶レジスタ 234 けた上げ論理ブロック Reference Signs List 10 audio decoding system 12 microprocessor host 14 audio decoder system 16 digital / analog converter 18 host interface block 20 system decoder block 22 control state register block 24 input buffer 26 external buffer 28 audio decoder block 30 arithmetic unit buffer 32 hardware filter operation Unit block 34 PCM buffer 36 PCM output block 38 FIFO 40 shift register (shifter) 42 shifter detector 44 shifter counter 46 control logic block 48 shifter copy register 50 control counter 52 control counter copy register 54 buffer interface block 56 data address counter 58 PTS Address counter 72 Packet bar Counter 80 microprogram ROM 82 instruction pipe register 84 instruction multiplexer 86 constant storage device 88 data bus 90 accumulator bus 92 program counter 94 program counter multiplexer 96 incrementer 98 constant storage device 100 subroutine stack 102 branch bus 104 execution control state machine 106 Arithmetic logic unit 108 control multiplexer 110 accumulator 112 multiplexer 114 data register 118 constant register 120 address bus 122 bypass multiplexer 124 multiplexer 126 data shifter 128 digit feed counter 130 load counter 132 DRAM / SRAM controller 134 DRAM interface 136 address multiplexer 138 special Regis Block 140 nBAL and BPCW ROM 142 RAM Scratchpad 144 ROM 150 Sample Memory 152 Finite Impulse Response (FIR) Memory 154 Math Unit 156 Accumulator 158 Register 160, 162, 164, 166 Multiplexer 168 Scale Factor ROM 170 C / D Factor ROM 172, 174 Address register 176 Multiplexer 178 Coefficient memory 180 Buffer register 182 Address generator 184 Sequence generator 186 Address ROM 188 CSBB address logic block 190 FIR address logic block 192 SBB address logic block 194 Coefficient address logic block 200 Multiplexer 202 Booth encoder 204, 206 , 208 partial product Generator 210, 212, 214 Carry / Save Adder 216 Pipeline Register 218, 220 Multiplexer 222 Carry / Save Adder 224 Multiplexer 225 Constant Storage 226 Carry Propagation Adder 228 Saturation Detection 0 Force Block 230 Carry In Logic Block 232 carry storage register 234 carry logic block

───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 08/054127 (32)優先日 平成5年4月28日(1993.4.28) (33)優先権主張国 米国(US) (72)発明者 ジェラール バンバサ フランス 06570 サン ポール ド ヴァンス シュマン ド サン エティ アンヌ 746 (72)発明者 ケニス アール シア アメリカ合衆国 テキサス州 75007 キャロルトン コローニュ ドライヴ 2054 (72)発明者 スティーヴン エイチ リ アメリカ合衆国 テキサス州 75040 ガーランド キングスブリッジ ドライ ヴ 142 (72)発明者 ジョナサン エル ローランズ アメリカ合衆国 テキサス州 75229 ダラスタウンゼンド ドライヴ 3247 (72)発明者 シュー ワイ カム アメリカ合衆国 テキサス州 75082 リチャードソン ウッドバリー プレイ ス 2101 (72)発明者 カレン エル ウォーカー アメリカ合衆国 テキサス州 75082 リチャードソン ウッドグレン ドライ ヴ 2305 (56)参考文献 特開 昭61−201526(JP,A) 特開 昭63−7023(JP,A) 特開 昭63−200633(JP,A) 特開 平3−263925(JP,A) 特開 平4−104617(JP,A) 特開 昭63−201700(JP,A) 特開 平4−104606(JP,A) 特開 平3−109824(JP,A) 特開 平3−171827(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 G10L 19/00 ──────────────────────────────────────────────────続 き Continued on the front page (31) Priority claim number 08/054127 (32) Priority date April 28, 1993 (1993. 4.28) (33) Priority claim country United States (US) (72) Inventor Gerard Bambasa France 06570 Saint-Paul-de-Vence Cheman de Saint-Etienne Anne 746 (72) Inventor Kennis Earl Shea United States Texas 75007 Carrollton Collonges Drive 2054 (72) Inventor Steven H. Re United States Texas 75040 Garland Kingsbridge Drive 142 (72) Jonathan El Rowlands Inventor, Texas 75229 Dallas Townsend Drive 3247 (72) Inventor Shoe Wycombe United States of America 75082 Li Chardson Woodbury Place 2101 (72) Inventor Karen El Walker 75082 Texas, United States Richardson Woodglen Drive 2305 (56) References JP-A-61-201526 (JP, A) JP-A-63-7023 (JP, A) JP-A-63-200633 (JP, A) JP-A-3-263925 (JP, A) JP-A-4-104617 (JP, A) JP-A-63-201700 (JP, A) JP-A-4 -104606 (JP, A) JP-A-3-109824 (JP, A) JP-A-3-1771827 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H03M 7/30 G10L 19/00

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 音響心理学的モデルによるサブバンド符
号化オーディオデータを含むデータストリームをデータ
処理装置に取り込み、 前記の符号化オーディオデータを前記のデータストリー
ムから分離してサブバンド符号化データのフレームのス
トリームを形成し、そのサブバンド符号化データの個々
のフレームは複数のサブバンドサンプルコードを含んで
おり、 前記のビットストリームから取り出されたスケール係数
値を使用することにより、そしてデータ処理装置内の第
1の記憶回路部分に記憶された係数表を使用することに
より最新フレームのサブバンド符号化オーディオデータ
を量子化解除してディメンジョンnを有する最新のサブ
バンド・ベクトルを形成し、 高速直接余弦変換を使って前記の最新のサブバンド・ベ
クトルを変換してディメンジョンnと同じディメンジョ
ンmを有する最新v’ベクトルを形成し、 所定数の前のv’ベクトルと前記の最新のv’ベクトル
とを含ませてV’ベクトルを形成し、そして一組の有限
インパルスフイルタを使って前記のV’ベクトルを濾波
して前記のデータ処理装置から出力するため一組のパル
スコード変調(PCM)サンプルを形成することを特徴
とするデータ処理装置内でデータのストリームを復号す
る方法。
1. A data stream including sub-band encoded audio data according to a psychoacoustic model is taken into a data processing device, and the encoded audio data is separated from the data stream to form a frame of the sub-band encoded data. And wherein each frame of the sub-band encoded data includes a plurality of sub-band sample codes, using scale factor values derived from said bit stream, and within a data processing device. Dequantizing the sub-frame coded audio data of the latest frame by using the coefficient table stored in the first storage circuit portion of the first storage circuit portion to form the latest sub-band vector having dimension n, Transform the latest subband vector using the transform Form a V ′ vector having the same dimension m as dimension n, including a predetermined number of previous v ′ vectors and said latest v ′ vector to form a V ′ vector, and a set of finite vectors Filtering the V 'vector using an impulse filter to form a set of pulse code modulation (PCM) samples for output from the data processing device. How to decrypt.
【請求項2】 前記の高速直接余弦変換は32ポイント
高速直接余弦変換であり、そして前記の最新のv’ベク
トルは32のディメンジョンmを有する請求項1に記載
の方法。
2. The method of claim 1, wherein said fast direct cosine transform is a 32-point fast direct cosine transform, and said latest v 'vector has a dimension m of 32.
【請求項3】 高速直接余弦変換は、シーケンシャル
で、イテレートな仕方でバタフライ・オペレータを加
え、そしてサブトラクト・オペレータを加える段階を備
え、 前記のバタフライ・オペレータは、 y1=x1+x2と y2=(x1−x2)*d[i]の形 の一組の式(y1は最新のサブバンド・ベクトルの第1
の要素に対する新しい値、y2は最新のサブバンド・ベ
クトルの第2の要素に対する新しい値、x1は最新のサ
ブバンド・ベクトルの第1の要素に対する前の値、x2
は最新のサブバンド・ベクトルの第2の要素に対する前
の値、そしてd[i]は正と負の値によって挟まれている
範囲内の一つの値を有する係数)に相当する仕方で前記
の最新のサブバンド・ベクトルに作用し、そして前記の
サブトラクト・オペレータは y1=x1と y2=x2−x1の形 の一組の式に相当する請求項2に記載の方法。
3. The fast direct cosine transform comprises adding a butterfly operator in a sequential, iterative manner, and adding a subtract operator, said butterfly operator comprising: y1 = x1 + x2 and y2 = (x1- x2) * d [i] in the form of a set of equations (y1 is the first of the most recent subband vector
New value for the second element of the latest subband vector, x1 is the previous value for the first element of the latest subband vector, x2
Is the previous value for the second element of the current subband vector, and d [i] is a coefficient having one value in the range bounded by positive and negative values). 3. The method of claim 2, operating on the current subband vector, and wherein said subtract operator corresponds to a set of equations of the form y1 = x1 and y2 = x2-x1.
JP02272994A 1993-02-22 1994-02-21 Integrated audio decoder device and operation method Expired - Fee Related JP3217576B2 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US2100793A 1993-02-22 1993-02-22
US08/054,127 US5729556A (en) 1993-02-22 1993-04-26 System decoder circuit with temporary bit storage and method of operation
US08/054,768 US5657423A (en) 1993-02-22 1993-04-26 Hardware filter circuit and address circuitry for MPEG encoded data
US08/054,126 US5642437A (en) 1992-02-22 1993-04-26 System decoder circuit with temporary bit storage and method of operation
US08/054127 1993-04-28
US08/021007 1993-04-28
US08/054126 1993-04-28
US08/054768 1993-04-28

Publications (2)

Publication Number Publication Date
JPH07143010A JPH07143010A (en) 1995-06-02
JP3217576B2 true JP3217576B2 (en) 2001-10-09

Family

ID=27486974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02272994A Expired - Fee Related JP3217576B2 (en) 1993-02-22 1994-02-21 Integrated audio decoder device and operation method

Country Status (1)

Country Link
JP (1) JP3217576B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3427149B2 (en) * 1996-01-26 2003-07-14 三菱電機株式会社 Decoding circuit for coded signal, synchronization control method thereof, synchronization detection circuit and synchronization detection method
JPH10271082A (en) * 1997-03-21 1998-10-09 Mitsubishi Electric Corp Voice data decoder
KR100437674B1 (en) * 2001-05-24 2004-06-26 주식회사 하이닉스반도체 Apparatus for control of Pulse Code Modulation data and method for control thereof
DE102004059979B4 (en) 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device and method for calculating a signal energy of an information signal
US11161038B2 (en) * 2018-08-06 2021-11-02 Amazon Technologies, Inc. Systems and devices for controlling network applications

Also Published As

Publication number Publication date
JPH07143010A (en) 1995-06-02

Similar Documents

Publication Publication Date Title
US5963596A (en) Audio decoder circuit and method of operation
US5642437A (en) System decoder circuit with temporary bit storage and method of operation
US5657423A (en) Hardware filter circuit and address circuitry for MPEG encoded data
US5805488A (en) Method and structure for degrouping MPEG audio codes
US5835793A (en) Device and method for extracting a bit field from a stream of data
PL182469B1 (en) Method of and device for encoding, decoding and transferring a non-pcm string of bits between a digital versatile disk station and multiple-channel reproducing equipment
EP0640909B1 (en) Modular audio data processing architecture
KR101837083B1 (en) Method for decoding of audio signal and apparatus for decoding thereof
JPH10222476A (en) Mpeg audio decoding device and its decoding method
US5860060A (en) Method for left/right channel self-alignment
KR20110110093A (en) Decoding apparatus, decoding method, encoding apparatus, encoding method, and editing apparatus
JP3217576B2 (en) Integrated audio decoder device and operation method
US5511094A (en) Signal processor for a sub-band coding system
JPH10209876A (en) Bit stream reproducing device
JP2910575B2 (en) Audio signal processing circuit and image / audio decoder
JPH0846516A (en) Device and method for information coding, device and method for information decoding and recording medium
JP3046213B2 (en) Sub-band audio signal synthesizer
US6032081A (en) Dematrixing processor for MPEG-2 multichannel audio decoder
WO2000051243A1 (en) A backward decoding method of digital audio data
JP2005519489A5 (en)
KR0121164B1 (en) Coding/decoding method of compression and recurruence of audio
KR970006631B1 (en) Subband filtering for audio encoding / decoding
JP3501246B2 (en) MPEG audio decoder
JPH08305393A (en) Reproducing device
KR0130875B1 (en) Audio signal reproducing apparatus for pcm and mpeg signal

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070803

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080803

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080803

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090803

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090803

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees