JP3706230B2 - MPEG audio decoding apparatus and decoding method thereof - Google Patents

MPEG audio decoding apparatus and decoding method thereof Download PDF

Info

Publication number
JP3706230B2
JP3706230B2 JP28721797A JP28721797A JP3706230B2 JP 3706230 B2 JP3706230 B2 JP 3706230B2 JP 28721797 A JP28721797 A JP 28721797A JP 28721797 A JP28721797 A JP 28721797A JP 3706230 B2 JP3706230 B2 JP 3706230B2
Authority
JP
Japan
Prior art keywords
program code
processor
scale factor
data
sample data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP28721797A
Other languages
Japanese (ja)
Other versions
JPH10222476A (en
Inventor
基 天 洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH10222476A publication Critical patent/JPH10222476A/en
Application granted granted Critical
Publication of JP3706230B2 publication Critical patent/JP3706230B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/665Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using psychoacoustic properties of the ear, e.g. masking effect
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

An audio decoder in a multimedia processor improves decoding efficiency and performance through the usage of multiple parallel processors including a scalar processor and a vector processor. The scalar processor most efficiently performs tasks including bit manipulation, indexing and conditional operations. The vector processor most efficiently performs operations involving multiple data calculations, operating on unconditional, sequential data. Improved performance is achieved by executing as many operations as possible on the vector processor, rather than the scalar processor, so long as the data is sequential data. The audio decoder includes a requantization program code that shifts data handling operations from the scalar processor to the vector processor through the conversion of nonsequential data to sequential data, thereby "vectorizing" the data.

Description

【0001】
【発明の属する技術分野】
本発明は、MPEG規格におけるオーディオデコーディング装置およびその方法に係るもので、詳しくはスカラーベクトルおよびベクトルプロセッサを具備したマルチプルプロセッサマルチメディアシステムで使用できるオーディオデコーディング装置およびそのデコーディング方法に関する。
【0002】
【従来の技術】
オーディオ録音、記憶、再生のような録音媒体、装置、および多様データ・ハンドリング方向の規格化は、このテクノロジーとアプリケーションの継続的な成長の上で非常に好ましいことである。ビデオ情報を圧縮および解凍するために広用される圧縮規格は、オーディオとビデオのエンコーディングおよびデコーディング用MPEG(Moving Picture Expert Group)規格である。このMPEG規格は国際規格ISO/IEC11172-1 、“情報技術−約1.5Mbit/sまでのデジタル記憶媒体の動画および関連オーディオのコーディング”、第1版、part1, part2, part3, 1993. 08. 1に定義されている(以下、MPEG国際規格と称する)。
【0003】
このMPEG国際規格は、時間情報を含むオーディオおよびビデオソースから単一の情報ストリームを形成する、1つまたはそれ以上のデータストリームを結合する問題を扱う。一般に、大量の情報データストリームはMPEGプロセッシングシステムにより処理される。プロセッサの計算能力は安定且つ急速に進歩しているが、高い処理能力や計算能力の要求は、かつて無いような大量データの表示および処理を必要とするマルチメディア分野の積極的な新しいアプリケーションの発展を損なわないために依然としてある。
【0004】
MPEG国際規格は図11に示したようなオーディオデコーディングプロセッサを定義する。オーディオデコーディングプロセッサ10は、エンコードされたビットストリームを入力するステップS12、ビット割当ビットをデコーディングするステップS14、スケールファクタ選択情報をデコーディングするステップS16、サンプルデータを再量子化するステップS18、サブバンドフィルタを合成するステップS20、およびパルスコード変調(PCM)されたサンプルを出力するステップS22を順次行う。この場合、サンプルデータの再量子化ステップS18の動作は、MPEGオーディオデコーダにより実行される最も激しい計算が行われるオペレーションの1つである。
【0005】
【発明が解決しようとする課題】
このようなサンプルデータの再量子化のような計算処理のために、MPEG国際規格の下ではオーディオデコーディングをより効率的に行う装置および技術が必要とされている。特に、オーディオデコーダでサンプルデータの再量子化をより効率的に行う装置および技術が必要とされている。
【0006】
本発明の目的は、非順次データを順次形態に変換して計算速度性を改善し、スカラーベクトルおよびベクトルプロセッサを具備したマルチプルプロセッサマルチメディアシステムで使用できるオーディオデコーディング装置およびその方法を提供しようとするものである。
【0007】
【課題を解決するための手段】
本発明によれば、スカラープロセッサおよびベクトルプロセッサを備えたマルチプロセッサマルチメディアシステムのオーディオデコーダは、スカラープロセッサ上で実行するフレーム同期化プログラムコードと、スカラープロセッサ上で実行するMPEGオーディオビットストリームから情報を抽出するための情報抽出プログラムコードと、スカラープロセッサ上で実行する非順次サンプルデータを順次サンプルデータに変換するベクトル化プログラムコードと、ベクトルプロセッサ上で実行するためのサンプルデータを再量子化するプログラムコードと、ベクトルプロセッサ上で実行するためのサブバンドフィルタリングプログラムコードとを有する。
【0008】
本発明に係るマルチメディアプロセッサのオーディオデコーダは、スカラープロセッサおよびベクトルプロセッサを具備したマルチプル並列プロセッサを使用してデコーディング効率および性能を向上させる。スカラープロセッサはビット操作、索引指定、および条件演算を含むタスクを最も効率的に行う。ベクトルプロセッサは、無制限の演算や連続的に発生する多重データ計算を含む演算を最も効果的に実行する。データが連続的なデータである限り、スカラープロセッサよりもベクトルプロセッサ上で出来るだけ多数の演算を行うことにより改善された性能が得られる。オーディオデコーダは、非連続データを連続データに変換させてデータを“ベクトル化”することにより、データハンドリングの動作をスカラープロセッサからベクトルプロセッサに移行させる再量子化プログラムコードを備える。
【0009】
このようなオーディオデコーダシステムおよびその方法により多くの利点が得られる。オーディオデコーダは2つのプロセッサを並列に用いることでデコーディング性能の向上を図っている。オーディオデコーダは条件命令およびスカラーベクトルを用いる非連続データ上で動作する命令を容易に実行し、ベクトルプロセッサを用いる配列や連続データ上で動作する命令を実行する。オーディオデコーダは、ベクトルプロセッサの計算能力をより活用するために、非連続データを連続形態に変換して計算速度性能を改善する。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて詳細に説明する。なお、図面全体に亘って同じ構成要素には同一の符号を記す。
MPEG1,MPEG2、ビデオ会議、ファクスサポート、およびモデムサポートを含んだマルチメディアアプリケーション動作はマルチプルプロセッサシステムを用いて効率的に行われる。マルチプロセッサシステムの一例はベクトルプロセッサとスカラープロセッサを備えたシステムである。オーディオデコーディングは、スカラープロセッサとベクトルプロセッサ間のデコーディング処理を効率的にステップに割り当てるために、マルチプロセッサシステムの使用やオペレーティング手続きの設計を通じて加速させるオペレーションである。
【0011】
図1は、ホストプロセッサ102およびマルチメディア信号プロセッサ104を具備したマルチメディアマルチプロセッサシステムを示したものである。典型的なホストプロセッサ102は PentiumTMまたは Pentium ProTMプロセッサのようなx86系プロセッサである。このホストプロセッサ102はシステムメモリ116の命令とデータに基づいたプログラムを実行し、PCIバスのようなシステムバス106を通してマルチメディア信号プロセッサ104と通信する。このマルチメディア信号プロセッサ104はオーディオおよび通信CODEC 108、ビデオA/D 変換器110、ビデオD/A 変換器112、およびフレームバッファSDRAMメモリ114のような多様な機能ブロックとインタフェースする。
【0012】
図2は、マルチメディアマルチプロセッサシステム100内のマルチメディア信号プロセッサ104を示したものである。マルチメディア信号プロセッサ104は複数個のマルチメディアインタフェースに接続されたデジタル処理器DSPコア202を備える。
DSPコア202は、マルチメディア信号プロセッサ104の計算エンジンであって、スカラープロセッサ204、ベクトルプロセッサ206、キャッシュサブシステム208、高速バス(FBUS)210、およびI/Oバスを備えている。スカラープロセッサ204は英国ARM会社で設計し製作した32ビットARMTM制御プロセッサに基づいたスカラープロセッサであって、リアルタイムオペレーティングシステム演算、割り込みおよび例外ハンドリング、入出力装置管理、ホストコンピュータとの通信のような通常の処理機能を行う。一実施の形態において、スカラープロセッサ204は40MHzで動作する。スカラープロセッサ204は、コプロセッサインタフェース242を通してベクトルプロセッサ206にインタフェースする。
また、マルチメディア信号プロセッサ104は多様なマルチメディア動作を行う。1つのマルチメディア動作はオーディオデコーディングであって、スカラープロセッサ204とベクトルプロセッサ206がプロセッサ上で動作するプログラムコードと結合してオーディオプロセッサ205を形成する。
【0013】
図3は、命令デコーダおよび制御ロジック302により制御されるARM7スカラープロセッサ204を示し、このスカラープロセッサ204は書き込みデータレジスタ304と命令パイプラインおよび読み出しデータレジスタ306とを通してキャッシュサブシステム208と通信する。また、スカラープロセッサ204は31×32ビットレジスタバンク312のデータをアドレシングするアドレスレジスタ308およびアドレス増分器310と、32ビットALU314のような演算ロジック、バレルシフター316、およびブース乗算器(Booth's multiplier)318を備える。コプロセッサインタフェース242は、スカラープロセッサ204とベクトルプロセッサ206間の演算コードおよび命令因数(argument)を伝達するnOPC、nCPI、CPA、およびCPB信号ラインを経由して命令デコーダおよび制御ロジック302に直接接続される。
【0014】
図4は、スカラープロセッサ204を示したものである。スカラープロセッサ204は索引指定および条件演算を具備したスカラー演算を行い、ベクトルプロセッサ206の動作を初期化する。特に、スカラープロセッサ204はスカラープロセッサ204命令セットの拡張によってベクトルプロセッサ206との対話処理を制御する。拡張命令セットは、STARTVPやINTVP命令のようなコプロセッサデータ動作、コプロセッサデータ転送、およびベクトルプロセッサ206のレジスタに対する読み出し並びに書き込むためのTESTSET命令とMFVP、MTVP、MFER、MTER命令のようなコプロセッサレジスタ転送を含んでいる。
【0015】
MPEGデコーディング動作の効率的な動作は、各プロセッサ形態の利点を利用するため、スカラープロセッサ204とベクトルプロセッサ206間のオーディオデコーディング動作を分担することにより効果的に行われる。図5はMPEGオーディオデコーディング610の処理を説明するフローチャートである。スカラープロセッサ204はフレーム同期化(612)動作を包含しながらMPEGオーディオデコーダのビット操作、索引指定、および条件動作を伴う動作と、ヘッダ情報(614)の抽出を行いながらMPEG信号ストリームからの情報を抽出する動作と、スケールファクタ選択情報並びにスケールファクタ618の抽出動作と、サンプルデータ620の抽出動作と、を行うためのものである。また、スカラープロセッサ204はサンプルデータを再量子化する動作(622)を実行するように割り当てられる。ベクトルプロセッサ206は、ベクトルプロセッサに適合し且つ大きい計算ロード要求条件を有するサブバンドフィルタリング624の実行を行うMPEGデータストリーム上で動作するマルチプルデータ計算を行うように割り当てられる。
【0016】
スカラープロセッサ204はフレーム同期化動作とヘッダ情報およびビット割当ビットの抽出を行う。ビットストリームから6ビットのコード化されたスケールファクタを抽出する時、スカラープロセッサ204はコード化されたサンプルの読み出しを開始する。フレーム同期化612動作はオーディオプロセッサ205に入力されるビットストリームに同期化させる。オーディオデコーディングプロセスの開始時、フレーム同期化612は典型的に12ビット同期ワード用ビットストリームをサーチすることにより行われる。ヘッダ情報の抽出614はID、レイヤー(layer) 、および保護ステータス情報を具備したヘッダ情報をアクセスする。若しヘッダ情報が予め知られていると、ヘッダ情報の抽出614のルーチンは一層信頼性のある同期化用16ビット同期ワードに使用されるように一番目16ビットのヘッダをアクセスする。ビット割当ビットの抽出616の動作は典型的に複数のマルチプルビット割当テーブルのエントリをアクセスする。規定されたエントリはビットストリーム信号のビット率とサンプリング周波数に基づき選択される。
【0017】
ビット割当テーブルのデコーディングは次の3段階により行われる。(1)サブバンドのサンプルに割り当てられたビット数を指定する"nb"値が読み出され、ビット割当テーブルの第2コラムに位置される。(2)第1段階でアクセスされた数と現在サブバンド数はサブバンドのサンプルを量子化するために使用されたレベルの数を示すテーブル値を指定するため使用される。(3)量子化分類のテーブルを用いて量子化されたサンプルをコード化するために使用されたビット数と再量子化係数が決定される。また、これら3段階で3つの連続したサブバンドサンプル用コードが1つのコードにグループ化されたかどうかを決定する。若干高いサブバンドは割り当てられたビットを決して持っていない。割り当てられたビットが無い最低のサブバンドの数は識別字“sblimit"に割り当てられる。
【0018】
スケールファクタ選択情報の抽出とスケールファクタ618の動作は、ノンゼロ(nonzero) ビット割当をもつサブバンド用ビットストリームからスケールファクタ情報を読み出す。1つのサブバンドは1つのフレーム内に36サンプルを含んでいる。1つのサブバンド内の36サンプルは12サブバンドサンプルの3つの同様な部分に分割される。スケールファクタ情報は伝送されるスケールファクタの数を示す。ノンゼロビット割当のある各サブバンドに対し、サブバンド用コード化されたスケールファクタがビットストリームからアクセスされて読み出される。スケールファクタ情報は6ビットにコード化され、符号のない整数索引をスケールファクタテーブルに指定する。スケールファクタテーブルは、再量子化された後に多重化されたサブバンドサンプルによるスケールファクタを提供する。
【0019】
サンプルデータを再量子化する動作622において、コード化されたサンプルはビットストリームから読み出される。コード化されたサンプルは同時にコードが3つの連続的なサンプルを含む“トリプレット”の形態である。“量子化分類”の情報を記憶するテーブルは各サブバンド用ビットストリームから1つのトリプレットのために読み出されるビット数を示す。テーブルはまた、コードが3つの連続的な個別コードを含んでいるか、または3サンプルからなる1つのグループ用の結合されたコードを含んでいるかを示す。3サンプルからなったグループを指定するコードの場合、結合されたコードは符号化されない整数(c)に見なされ、アルゴリズムは次のような3個の個別コードs〔0〕、s〔1〕、s〔2〕を提供する。
【0020】
【表1】

Figure 0003706230
【0021】
ここで、nlevels はMPEGテーブルB. 2“レイヤーIIビット割当テーブル”のステップ数である。
コード化されたサンプルはコードが同時に3つの連続的なサンプルを包含するトリプレットに配列される。トリプレットの3サンプルは解除(degroup) され、解除動作後再量子化されたデータは次のような基準MPEG線形公式(数1)を適用して得られる。
【0022】
【数1】
Figure 0003706230
【0023】
ここで、s''' は小数の数で、s''は再量子化された値で、nbはサブバンドのサンプルに割り当てられたビットの数である。
サンプルデータ再量子化622の動作は、MPEGオーディオデコーダにより行われる最も計算力を必要とする動作の1つである。サンプルデータの再量子化を行う技術は次の“C”言語のプログラムコードにより説明される。プログラムコードの実例を示すと、sbはサブバンドを指定し、bound は強烈にステレオコーディングを用いる最低のサブバンドで、sblimit はステレオコーディング(MPEG国際規格、PartIII, Table B. 2a-Table B.2d を参照)を使用する最低のサブバンドで、nbは各サブバンドに割り当てられたビット数で、スケールファクタ[ch][sb][z ]はスケールファクタ係数索引である(MPEG国際規格、PartIII,Tabl B.1) 。
【0024】
フレーム内の1つのサブバンドの36サンプルは、12サブバンドサンプルの3つの同じような部分に分割される。各部分は個別的なスケールファクタを持っている。したがって、3つのスケールファクタがある索引(Z)は、グループ(gr)の反復数に依存する0,1, または2, の因数があることを示している。数Zは次のように定義される。グループgrが4以下である場合Zは0となるように定義される。grが4〜8までの領域にある場合は1となる。そうではないと、Zは2となる。C2[nb]とD2[nb]は量子化係数CとDのレイヤーII分類を指定し(MPEG PartIII, Table B.4参照)、サンプル[s][ch][sb]は解除されたオーディオサンプルデータの配列であり、デサンプル[s][ch][sb]は再量子化されたオーディオサンプルデータの配列である。以下に示すプログラムコードは、後に再量子化処理の具体例を検討して修正を行うためのプログラムコードの印である[NOTEn ]のマークをいくつか含んでいる。オーディオデコーディング動作の再量子化動作用プログラムコードは下記のテーブルIに示されている。
【0025】
【表2】
Figure 0003706230
【0026】
【表3】
Figure 0003706230
【0027】
テーブルIに例示されたオーディオデコーダプログラムコードは3サンプルのグループのデータのための再量子化計算を行う。グループの3つのサンプルは32サブバンドの同一サブバンドに含まれる。テーブルIで説明されたオーディオデコーダプログラムコードのオーディオサンプル再量子化動作はスカラープロセッサ204で行われるが、これは再量子化動作がスカラー形プロセッサにより効率的に行われる索引動作および条件動作を包含するためである。さらに、量子化係数CとDのレイヤーII分類は各サブバンド(パラメータnb)に割り当てられたビット数に従い決定されるため、順次的なデータとして利用不可能になる。
【0028】
付加的な改良はオーディオデコーディングで得られる。大部分の再量子化動作は、オーディオデコーダプログラムコードの多様な命令の適切な変更によってベクトルプロセッサ206上で有利に処理される。このような変更は通常非順次的な形態のデータをベクトル化処理で順次的な形態のデータに変形する。
【0029】
1つの変更がテーブルIに示されたプログラムコードの[NOTE1 ]位置に入る。表現factor=sf [scalefactor [Z ][ch][sb]は、Zがグループの数、chがチャンネル数、sbがサブバンド数をそれぞれ示すスケールファクタ索引を表す。オーディオデコーディング動作のベクトル化された実施の形態で、スケールファクタ索引はスケールファクタ選択情報およびスケールファクタを抽出するステップ618でビットストリームから抽出される。複数個のスケールファクタ係数はスケールファクタ索引に基づいて直接計算され、スケールファクタ選択情報およびスケールファクタを抽出するステップ618の間アレイスケールファクタ[Z ][ch][sb]に位置される。テーブルIIAは再量子化ステップ622の以前にスカラープロセッサ204により行われるスケールファクタ選択情報およびスケールファクタ抽出(618)を行う段階での演算用プログラムコードを説明する。
【0030】
【表4】
Figure 0003706230
【0031】
ここで、mapはビットストリームからのスケールファクタ索引で、BITMAPはビットストリームファイルの6ビット行先で、sf[ ]は63要素スケールファクタ係数アレイである。スケールファクタ選択情報およびスケールファクタを抽出するステップ618の間、テーブルIIAの命令実行はアレイスケールファクタ[z ][ch][sb]のデータをビット索引動作よりはサブバンド数に依存する順次データに変形することである。
【0032】
他の変更がテーブルIで例示されたプログラムコードの[NOTE2 ]の位置に入る。表現C=C2[nb]とD=D2[nb]はすべての反復で計算される量子化係数を指定するが、各サブバンドに共通である。テーブルIIBは、スケールファクタ選択情報を抽出するステップとスケールファクタ618を含むプログラムコードを説明している。このスケールファクタ618は、再量子化ステップ622の前にスカラープロセッサ204によって実行される。テーブルIIBに示したプログラムコードは各1つのフレーム再現の間一度だけ行われる。各アレイでのデータはチャンネル索引とサブバンド数に対応する排他的な順次データになる。データは、テーブルIIBに示したプログラムコードの実行が完了された後、ビット割当の索引にはもはや関係しない。
【0033】
【表5】
Figure 0003706230
【0034】
ここで、Q[ch][sb]はマスク機能で、C[ch][sb]とD[ch][sb]は再量子化係数データを維持する配列である。
また、他の変更がテーブルIで例示されたプログラムコードの[NOTE3 ]の位置に入る。小数部計算のための式は、0.0または−1.0のいずれかの“少数部”の設定を含み、それからサンプルデータを抽出するステップ620の式によって決定される“小数部”は以下の通りである:
【0035】
【表6】
Figure 0003706230
【0036】
【表7】
Figure 0003706230
【0037】
多くの有利な変更がテーブルIに示したオーディオデコーダプログラムコードに作られる。たとえば、サンプルデータを抽出するステップ620で下記の割り算の演算はテーブルIICに示したプログラムコードで無効になる。
【0038】
【表8】
Figure 0003706230
【0039】
変更された再量子化演算において、sample[s ][ch][sb]は、スカラープロセッサ204により実行された再同期化ステップの間、1L<<(nb-1)(=Q [ch][sb]) により除算されない。その代わりに、割り算はベクトルプロセッサ206によりサブバンドフィルタリングステップ624で行われる。
【0040】
テーブルIII に示したプログラムコード演算は合成サブバンドフィルタリングステップ624以前に付加され、配列C[ch][sb], D[ch][sb]のすべての量子化係数データ、スケールファクタ[s ][ch][sb]およびQ[ch][sb]のマスキングデータのすべてが非順次データから順次データに変形されるので、大部分の再量子化動作はベクトルプロセッサ206で効果的に実行される。
【0041】
【表9】
Figure 0003706230
【0042】
ここでsはグループの数である。
サブバンドフィルタリング624の動作はベクトルプロセッサ206で実行される。特別なサブバンドに任意のビットが割り当てられないと、サブバンドフィルタリング624の動作はサブバンドのサンプルをゼロに設定する。1つのサブバンドの全32チャンネルの各計算において、サンプリング値は合成サブバンドフィルタに提供され、32個の連続的なオーディオサンプルは図7のフローチャートにより説明される方法を用いて計算される。マトリックシング動作用Nikは下記の式により与えられる。
【0043】
【数2】
Figure 0003706230
【0044】
ウインドウ動作用係数Di はMPEG国際規格の“合成ウインドウ係数Di ”テーブルにより定義される。
【0045】
図2を参照すると、ベクトルプロセッサ206はマルチメディア信号プロセッサ104のデジタル信号処理エンジンである。ベクトルプロセッサ206は単一命令マルチプルデータアーキテクチャーを備え、離散コサイン変換(DCT, Discrete Cosine Transforms) ,FIRフィルタリング、畳み込み(convolution) 、動画推定、および他の処理動作のような信号処理機能を並列に実行するためにマルチプルデータ要素上で動作するパイプラインのRISCエンジンを具備する。ベクトルプロセッサ206はベクトル処理と同様に、複数個のベクトル実行ユニットによりマルチプルデータ要素が並列に動作されるベクトル演算を支援する。ベクトルプロセッサ206はスカラー演算および結合されたベクトル−スカラー演算の全てを実行する。ベクトルプロセッサ206の多重データ要素は、1サイクル当たり(例えば12.5ns) 、32の割合で8/9ビットの固定小数点演算処理、16の割合で16ビット固定小数点演算処理、または8の割合で32ビット固定小数点演算処理または浮動小数点演算処理が計算される576ビットベクトルにまとめられる。32ビットスカラー演算の大部分は1サイクル当たり1命令速度でパイプラインされ、一方576ビットベクトル演算の大部分は2サイクル内で1命令速度でパイプラインされる。ロードおよび記憶動作は算術動作と並行され、別のロードおよび記憶回路により独立的に実行される。
【0046】
図7を参照すると、ベクトルプロセッサ206は命令フェッチ(fetch) ユニット502、命令デコーダと発行者(issuer )504、命令実行データパス506、およびロードと記憶ユニット508の4つの機能ブロックを有する。命令フェッチユニット502および命令デコーダと発行者504はベクトルプロセッサ206内に包含され、ベクトルプロセッサ206をスカラープロセッサ204と独立的に動作する。
【0047】
命令フェッチユニット502は命令をプリフェッチしてサブルーチン命令へのブランチ(branch)およびジャンプ(jump)のような制御フロー命令を処理する。命令フェッチユニット502は現在実行ストリーム用プリフェッチされた命令の16−エントリキュー(Queue) とブランチターゲットストリーム用プリフェッチされた命令の8−エントリキューを包含する。命令フェッチユニット502は1サイクル内で命令キャッシュから8個の命令まで受ける。命令デコーダと発行者504はベクトルプロセッサ206により実行された全ての命令をデコーディングしてスケージュリングする(schedule)。デコーダは命令フェッチユニット502から受付の順番通り1サイクル内で1命令を処理する反面、発行者は実行資源および被演算者データ使用可能度(availability)の全てに依存する無秩序的な大部分の命令をスケージュリングする。
【0048】
図8を参照すると、命令実行データパス506は4端子レジスタファイル602、8つの32×32並列乗算器604、および8つの36ビットALU606を備える。レジスタファイル602はサイクル当たり2度の読み出し動作および2度の書き込み動作を支援する。並列乗算器604はサイクル当たり整数または浮動小数点フォーマットで8つの32ビット積算、16の16ビット乗算または32の8ビット乗算を行う。ALU606は、サイクル当たり(例えば12.5ns)整数または浮動小数点フォーマットに8の36ビットALU演算、16の16ビットALU演算または32の8ビットALU演算の中の一つを実行する。
【0049】
レジスタファイル602は複数個の専用レジスタと複数個のリターンアドレスレジスタを備える。専用レジスタはベクトル制御とステータスレジスタVCSR、ベクトルプログラムカウンター、ベクトル例外プログラムカウンターVEPC、ベクトル割り込みソースレジスタVISRC、そしてベクトルとスケールプロセッサ同期レジスタVASYNCと多様なカウンタ、マスク、オーバーフローおよびブレークポイントレジスタのような他のレジスタを具備する。ベクトルプログラムカウンターVPCはベクトルプロセッサ206により実行されるべき次の命令のアドレスである。
【0050】
図9は、コプロセッサインタフェース242の概略ブロック図である。コプロセッサインタフェース242は、スカラープロセッサ204の機能性を補足してスカラープロセッサ204の命令セットを拡張する命令を行うためのレジスタとロジック機能を付加する。コプロセッサインタフェース242はスカラープロセッサ204とベクトルプロセッサ206間の通信のためのレジスタを含み、また、他のクロック速度で動作する構造間のデータとの信号通信のためのバッファとして役割を行う。一実施の形態でスカラープロセッサ204は40MHz速度で動作し、ベクトルプロセッサ206は80MHzで実行する。
【0051】
コプロセッサインタフェース242は、デコーダ702、スタートマシン704、特権拡張レジスタブロック706、および使用者拡張レジスタブロック708を具備する。特権拡張レジスタブロック706と使用者拡張レジスタブロック708内のレジスタは、スカラープロセッサ204およびベクトルプロセッサ206により読み出しおよび書き込みが可能である。デコーダ702はスカラープロセッサの命令をデコードする。スカラープロセッサ命令セットは、スカラープロセッサ204上で実行可能な命令と、スカラープロセッサにより実行することはできないがその代わりに特殊なコプロセッサ機能で処理するコプロセッサインタフェース242により実行される命令を含んでいる。デコーダ702はスカラープロセッサ命令をデコードし拡張された命令を検出して実行のためのステートマシン704に検出された拡張命令を提供する。ステートマシン704は拡張命令を行うためのロジックを具備する。特権拡張レジスタブロック706はスカラープロセッサ204による特殊命令の実行の間アクセスされる拡張レジスタである。
【0052】
図2を参照すると、キャッシュサブシステム208はデータキャッシュ214(例えば5KB)、命令キャッシュ216(例えば2KB)、およびキャッシュROM218(例えば16KB)を具備し、典型的にベクトルプロセッサ206(80MHz)と同様な速度で動作する。一実施の形態でキャッシュサブシステム208はスカラープロセッサ204用1Kbyte の命令記憶領域と1Kbyte のデータ記憶領域、ベクトルプロセッサ206用1Kbyte の命令記憶領域と4Kbyte のデータ記憶領域、そしてスカラープロセッサ204およびベクトルプロセッサ206の共用の16Kbyte 統合命令とデータキャッシュROMを具備する。また、キャッシュサブシステム208は32ビットデータバスを通してスカラープロセッサ204とインタフェースし、128ビットデータバスを通してベクトルプロセッサ206とインタフェースする。キャッシュROM218はuROM初期化ソフトウェア、自己診断ソフトウェア、多様なシステム管理ソフトウェア、ライブラリルーチン、および選択された命令とデータ常数用キャッシュを具備する。特に、キャッシュROM218は命令例外のハンドラーとスカラープロセッサ204用入出力デバイス割り込みハンドラー0,1,2,3を具備する。キャッシュROM218はベクトルプロセッサ割り込みハンドラーとスカラープロセッサ204で実行するベクトルプロセッサブレークポイント例外ハンドラーを具備する。
【0053】
FBUS210は例えば32ビットPCIバスインタフェース220、64ビットSDRAMメモリコントローラ222、8チャンネルDMAコントローラ224、カスタマASICロジックブロック226、およびメモリデータムーバ228を具備したFBUS周辺装置とインタフェースする。PCIバスインタフェース220はシステムバス106とインタフェースし、例えば33MHzで動作する。カスタマASICロジックブロック226は所望の注文機能を行うためにロジックブロックを提供する。カスタマASICロジックブロック226は一実施の形態で多様なアナログコーデック(CODEC) およびカスタマ特殊ムーバI/O素子に対するインタフェースを具備した10Kゲートを供給する。メモリデータムーバ228は、ホストプロセッサ102からのDMAデータを、マルチメディア信号プロセッサ104にローカルされるSDRAMメモリ230に伝送する。
【0054】
I/Oバス212は例えばビットストリームプロセッサ232、UART直列ライン234、タイマー回路236、割り込みコントローラ238、および特殊レジスタ240を具備した複数個のI/Oバス素子とインタフェースする。ビットストリームプロセッサ232はビデオビットストリームを処理する。特殊レジスタ240はソフトウェア的に制御された初期化および割り込み処理のために使用される。
【0055】
図10は、マルチメディア信号プロセッサ104上で実行するMSPシステムコンポーネントソフトウェア802とホストプロセッサ102上で実行するPCアプリケーションおよびオペレーティングソフトウェア808とを具備したソフトウェアおよびファームウェアアーキテクチャ800を示す。マルチメディア信号プロセッサ104はベクトルプロセッサ206上で実行するベクトル化されたDSPファームウェアライブラリ804とスカラープロセッサ204上で実行されるシステム管理機能ブロック806とを包含するファームウェアにより制御される。ベクトル化されたDSPはファームウェアライブラリ804およびシステム管理機能ブロック806はMSPシステムコンポーネントソフトウェア802内に包含される。アーキテクチャ800はホストアプリケーション制御動作から信号処理機能を分離させることによりソフトウェア開発を単純化し、ソフトウェアデザイン管理を改善させ、アプリケーション開発および維持費を減少させる。
【0056】
MSPシステムコンポーネントソフトウェア802は排他的にスカラープロセッサ204上で実行し、MSPリアルタイムカーネル810、マルチメディアライブラリモジュール812、システム管理機能ブロック806およびベクトル化されたDSPのファームウェアライブラリ804を含んでいる。MSPリアルタイムカーネル810は、ホストプロセッサ102、資源管理、I/O装置ハンドリング、そして大部分の割り込みおよび例外処理に対するインタフェースを主に担当する。MSPリアルタイムカーネル810は、ホストプロセッサ102で実行するWindowsTMおよびWindows NTTMのソフトウェアのインタフェースを備えている。MSPリアルタイムカーネル810はホストプロセッサ102から選択されたアプリケーションファームウェアを選択しダウンロードするためのソフトウェア、スカラープロセッサ204およびベクトルプロセッサ206の実行のためのタスクをスケージュリングのためのソフトウェア、そしてメモリおよびI/O装置を具備したマルチメディア信号プロセッサ104のシステム資源を管理するためのソフトウェアを包含する。MSPリアルタイムカーネル810はマルチメディア信号プロセッサ104のタスク間通信を同期化させるためのソフトウェアとMSPに関連した割り込み、例外およびステータス条件を報告するためのソフトウェアを具備する。
【0057】
ベクトル化されたDSPファームウェアライブラリ804は実質的に全てのデジタル信号処理機能を実行する。ベクトル化されたDSPファームウェアライブラリ804はまた、スカラープロセッサ204によりベクトルプロセッサ206に提起されるコプロセッサ割り込み、またはベクトルプロセッサ206内で発生されたハードウェアスタックオーバーフロー例外のような規定された特殊割り込みを制御する。
【0058】
マルチメディアライブラリのモジュール812はデータ通信、MPEGビデオおよびオーディオ、音声コーディングおよび合成、サウンドブラスタ (soundblasterTM)と互換性のあるオーディオを具備した通信ハンドリング機能を実行する。MSPリアルタイムカーネル810は、マルチメディア信号プロセッサ104上で実行されるマルチメディアアプリケーションを用いた拡張を具備したリアルタイム、ロバスト(robust)、マルチタスク、強制(pre-emptive) オペレーティングシステムである。
【0059】
ホストプロセッサ102内で実行するPCアプリケーションおよびオペレーティングシステムソフトウェア808は、システムバス106を介してMSP制御およびステータスレジスタを書き込みおよび読み出しを行うことでマルチメディア信号プロセッサ104を制御する。そして、共用データに書き込むことで、システムメモリ116に常駐したり、マルチメディア信号プロセッサ104に常駐する構造となる。
【0060】
MSPプログラム実行は第1実行ストリームを実行するスカラープロセッサ204から始まる。スカラープロセッサ204はベクトルプロセッサ206内の第2独立実行ストリームを初期化させる。スカラープロセッサ204とベクトルプロセッサ206の動作はスカラープロセッサ204内で動作するSTARTVP、INTVP、およびTESTVP命令を包含した特殊コプロセッサ命令と、ベクトルプロセッサ206内で実行するVJOINおよびVINT割り込みを包含した特殊命令を通して同期化される。スカラープロセッサ204とベクトルプロセッサ206間のデータ伝送はスカラープロセッサ204内で実行されたデータ移動命令を用いて実行される。
【0061】
【発明の効果】
以上、詳細に説明したように本発明に係るMPEGオーディオデコーディング装置およびそのデコーディング方法では、2つのプロセッサを並列に効率的に用いてデコーディング性能を向上させる。オーディオデコーダは条件命令とスカラーベクトルを用いて非順次上で動作する命令を効率的に実行し、非順次データを順次形態に変換することで、多くの処理をベクトルプロセッサの計算力を利用できるようにする。
【0062】
本発明を特定の好ましい実施の形態を図面を用いて説明したが、以下の特許請求の範囲に基づく本発明の精神および内容を逸脱しない範囲での当業者による変形および修正は本発明の範疇に含まれる。例えば、本実施の形態では、ペンティアムプロセッサを用いたホストコンピュータと特別なマルチメディアプロセッサを具備したマルチプロセッサシステムを用いるシステムとして説明したが、本発明は特にこれに限定されるものではなく別のプロセッサ構造でも適用可能である。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るマルチメディアマルチプロセッサを示す高水準の概略的ブロック図である。
【図2】図1に示したマルチメディアマルチプロセッサシステムに包含されたマルチメディア信号プロセッサを示す概略的なブロック図である。
【図3】マルチメディアマルチプロセッサシステムのスカラープロセッサを示す概略的なブロック図である。
【図4】スカラープロセッサの機能図である。
【図5】MPEGオーディオデコーディングを遂行するための方法の動作を説明するためのフローチャートである。
【図6】サブバンドフィルタリングを行うに適合した方法の動作を説明するための動作を説明するフローチャートである。
【図7】図2のマルチメディア信号プロセッサのベクトルプロセッサを示す概略ブロック図である。
【図8】図7のベクトルプロセッサのベクトルプロセッサ実行データパスを示す概略的なブロック図である。
【図9】図2のマルチメディア信号プロセッサのコプロセッサインタフェースを示す概略的ブロック図である。
【図10】マルチメディア信号プロセッサのファームウェアアーキテクチャを説明するための概略的ブロック図である。
【図11】従来のMPEGオーディオデータストリームをデコーディングするための順番を示すフローチャートである。
【符号の説明】
100:マルチメディアマルチプロセッサシステム
102:ホストコンピュータ
104:マルチメディア信号プロセッサ
106:システムバス(PCIバス)
108:通信CODEC
110:ビデオA/D コンバータ
112:ビデオD/A コンバータ
114:フレームバッファSDRAMバッファ
202:DSPコア
204:RISC制御プロセッサ
206:ベクトルコプロセッサ
208:キャッシュサブシステム
210:高速バス(FBUS)
212:IOバス
220:PCIバスインタフェース
222:メモリコントローラ
224:DMAコントローラ
302:命令ロジックおよび制御ロジック
304:書き込みデータレジスタ
306:命令パイプおよび書き込みデータレジスタ
308:アドレスレジスタ
310:アドレス増分器
312:レジスタバンク
314:32ビットALU
316:バレルシフト
316,604:乗算器
502:命令フェッチユニット
504,604:命令デコーダおよび発行者
506:実行データバス
508:ロードおよび記憶ユニット
602:レジスタファイル
702:デコーダ
704:ステートマシン
706:特権拡張レジスタ
708:使用者拡張レジスタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an audio decoding apparatus and method thereof in the MPEG standard, and more particularly to an audio decoding apparatus and decoding method that can be used in a multiple processor multimedia system having scalar vectors and vector processors.
[0002]
[Prior art]
Standardization of recording media, devices such as audio recording, storage and playback, and diverse data handling directions is highly desirable for the continued growth of this technology and application. A widely used compression standard for compressing and decompressing video information is the Moving Picture Expert Group (MPEG) standard for audio and video encoding and decoding. This MPEG standard is an international standard ISO / IEC 11172-1, “Information technology-Coding of video and related audio on digital storage media up to about 1.5 Mbit / s”, 1st edition, part 1, part 2, part 3, 1993. 08. 1 (hereinafter referred to as the MPEG international standard).
[0003]
This MPEG International Standard addresses the problem of combining one or more data streams that form a single information stream from audio and video sources that contain temporal information. In general, a large amount of information data stream is processed by an MPEG processing system. While the computing power of processors is stable and rapidly advancing, the demand for high processing power and computing power is the development of aggressive new applications in the multimedia field that require the display and processing of massive data like never before. Is still in order not to damage.
[0004]
The MPEG international standard defines an audio decoding processor as shown in FIG. The audio decoding processor 10 inputs an encoded bitstream, step S12, step S14 for decoding bit allocation bits, step S16 for decoding scale factor selection information, step S18 for requantizing sample data, sub Step S20 for synthesizing the band filter and step S22 for outputting the pulse code modulated (PCM) sample are sequentially performed. In this case, the operation of the requantization step S18 of the sample data is one of the most intense calculations performed by the MPEG audio decoder.
[0005]
[Problems to be solved by the invention]
For calculation processing such as requantization of sample data, an apparatus and a technique for performing audio decoding more efficiently are required under the MPEG international standard. In particular, there is a need for an apparatus and technique for more efficiently requantizing sample data in an audio decoder.
[0006]
An object of the present invention is to provide an audio decoding apparatus and method which can be used in a multiple processor multimedia system having scalar vectors and vector processors by improving non-sequential data into a sequential form to improve calculation speed. To do.
[0007]
[Means for Solving the Problems]
In accordance with the present invention, an audio decoder for a multiprocessor multimedia system comprising a scalar processor and a vector processor receives information from a frame synchronization program code executing on the scalar processor and an MPEG audio bitstream executing on the scalar processor. Information extraction program code to extract, Vectorized program code for converting nonsequential sample data executed on a scalar processor into sequential sample data; and Program code for requantizing sample data for execution on the vector processor and subband filtering program code for execution on the vector processor.
[0008]
The audio decoder of the multimedia processor according to the present invention improves decoding efficiency and performance using a multiple parallel processor including a scalar processor and a vector processor. Scalar processors perform tasks that include bit manipulation, indexing, and conditional operations most efficiently. Vector processors most effectively perform operations including unlimited operations and continuously generated multiple data calculations. As long as the data is continuous, improved performance can be obtained by performing as many operations as possible on the vector processor rather than on the scalar processor. The audio decoder includes re-quantization program code that shifts data handling operations from a scalar processor to a vector processor by converting non-continuous data into continuous data and “vectorizing” the data.
[0009]
There are many advantages to such an audio decoder system and method. The audio decoder uses two processors in parallel to improve decoding performance. The audio decoder easily executes conditional instructions and instructions that operate on non-continuous data using scalar vectors, and executes instructions that operate on arrays and continuous data using vector processors. The audio decoder converts the non-continuous data into a continuous form to improve the calculation speed performance in order to make better use of the calculation capability of the vector processor.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the same components are denoted by the same reference numerals throughout the drawings.
Multimedia application operations, including MPEG1, MPEG2, video conferencing, fax support, and modem support are efficiently performed using multiple processor systems. An example of a multiprocessor system is a system including a vector processor and a scalar processor. Audio decoding is an operation that is accelerated through the use of multiprocessor systems and the design of operating procedures in order to efficiently assign the decoding process between the scalar processor and the vector processor to steps.
[0011]
FIG. 1 illustrates a multimedia multiprocessor system that includes a host processor 102 and a multimedia signal processor 104. A typical host processor 102 is Pentium TM Or Pentium Pro TM An x86 processor such as a processor. The host processor 102 executes programs based on the instructions and data in the system memory 116 and communicates with the multimedia signal processor 104 through a system bus 106 such as a PCI bus. The multimedia signal processor 104 interfaces with various functional blocks such as audio and communication CODEC 108, video A / D converter 110, video D / A converter 112, and frame buffer SDRAM memory 114.
[0012]
FIG. 2 shows a multimedia signal processor 104 within the multimedia multiprocessor system 100. The multimedia signal processor 104 comprises a digital processor DSP core 202 connected to a plurality of multimedia interfaces.
The DSP core 202 is a computation engine of the multimedia signal processor 104, and includes a scalar processor 204, a vector processor 206, a cache subsystem 208, a high-speed bus (FBUS) 210, and an I / O bus. Scalar processor 204 is a scalar processor based on a 32-bit ARMTM control processor designed and manufactured by a British ARM company, and is typically used for real-time operating system operations, interrupt and exception handling, input / output device management, communication with a host computer, etc. Perform the processing function. In one embodiment, scalar processor 204 operates at 40 MHz. Scalar processor 204 interfaces to vector processor 206 through coprocessor interface 242.
Also, the multimedia signal processor 104 performs various multimedia operations. One multimedia operation is audio decoding, where scalar processor 204 and vector processor 206 combine with program code running on the processor to form audio processor 205.
[0013]
FIG. 3 shows an ARM7 scalar processor 204 controlled by an instruction decoder and control logic 302 that communicates with the cache subsystem 208 through a write data register 304 and an instruction pipeline and read data register 306. The scalar processor 204 also includes an address register 308 and an address incrementer 310 that address the data in the 31 × 32-bit register bank 312, an arithmetic logic such as a 32-bit ALU 314, a barrel shifter 316, and a Booth's multiplier 318. Is provided. The coprocessor interface 242 is directly connected to the instruction decoder and control logic 302 via nOPC, nCPI, CPA, and CPB signal lines that carry operational codes and instruction arguments between the scalar processor 204 and the vector processor 206. The
[0014]
FIG. 4 shows the scalar processor 204. The scalar processor 204 performs a scalar operation including an index designation and a conditional operation, and initializes the operation of the vector processor 206. In particular, scalar processor 204 controls the interaction with vector processor 206 by extensions of the scalar processor 204 instruction set. Extended instruction sets include coprocessor data operations such as STARTVP and INTVP instructions, coprocessor data transfers, and TESTSET instructions for reading and writing to the registers of the vector processor 206 and coprocessors such as MFVP, MTVP, MFER, and MTER instructions Includes register transfers.
[0015]
The efficient operation of the MPEG decoding operation is effectively performed by sharing the audio decoding operation between the scalar processor 204 and the vector processor 206 in order to use the advantages of each processor form. FIG. 5 is a flowchart for explaining the processing of the MPEG audio decoding 610. The scalar processor 204 includes information from the MPEG signal stream while extracting the header information (614) and operations involving bit manipulation, index designation, and conditional operations of the MPEG audio decoder while including frame synchronization (612) operations. The extraction operation, the scale factor selection information and the extraction operation of the scale factor 618, and the extraction operation of the sample data 620 are performed. The scalar processor 204 is also assigned to perform an operation (622) of requantizing the sample data. Vector processor 206 is assigned to perform multiple data computations operating on an MPEG data stream that performs subband filtering 624 that is compatible with the vector processor and has large computational load requirements.
[0016]
The scalar processor 204 performs a frame synchronization operation and extracts header information and bit allocation bits. When extracting a 6-bit coded scale factor from the bitstream, the scalar processor 204 begins reading the coded samples. The frame synchronization 612 operation synchronizes with the bitstream input to the audio processor 205. At the beginning of the audio decoding process, frame synchronization 612 is typically performed by searching a bitstream for a 12-bit sync word. Header information extraction 614 accesses header information comprising ID, layer, and protection status information. If the header information is known in advance, the header information extraction 614 routine accesses the first 16-bit header for use in the more reliable 16-bit synchronization word. The bit allocation bit extraction 616 operation typically accesses multiple multiple bit allocation table entries. The defined entry is selected based on the bit rate of the bit stream signal and the sampling frequency.
[0017]
The bit allocation table is decoded in the following three steps. (1) An “nb” value designating the number of bits allocated to the subband samples is read out and positioned in the second column of the bit allocation table. (2) The number accessed in the first stage and the current number of subbands are used to specify a table value indicating the number of levels used to quantize the subband samples. (3) The number of bits and the requantization coefficient used to code the quantized sample using the quantization classification table are determined. Further, in these three steps, it is determined whether or not three consecutive subband sample codes are grouped into one code. Slightly higher subbands never have assigned bits. The lowest number of subbands with no assigned bit is assigned to the identifier “sblimit”.
[0018]
The extraction of the scale factor selection information and the operation of the scale factor 618 reads the scale factor information from the subband bitstream having nonzero bit allocation. One subband contains 36 samples in one frame. The 36 samples in one subband are divided into three similar parts of 12 subband samples. The scale factor information indicates the number of scale factors transmitted. For each subband with non-zero bit allocation, the subband coded scale factor is accessed and read from the bitstream. The scale factor information is encoded in 6 bits and specifies an unsigned integer index in the scale factor table. The scale factor table provides a scale factor with subband samples that have been requantized and then multiplexed.
[0019]
In operation 622 of requantizing the sample data, the coded samples are read from the bitstream. Coded samples are in the form of “triplets” where the code simultaneously contains three consecutive samples. A table storing “quantization classification” information indicates the number of bits read out for each triplet from each subband bitstream. The table also indicates whether the code contains 3 consecutive individual codes or a combined code for a group of 3 samples. In the case of a code specifying a group of 3 samples, the combined code is regarded as an uncoded integer (c), and the algorithm uses three individual codes s [0], s [1], s [2] is provided.
[0020]
[Table 1]
Figure 0003706230
[0021]
Here, nlevels is the number of steps in the MPEG table B.2 “Layer II bit allocation table”.
The coded samples are arranged in a triplet where the code simultaneously contains three consecutive samples. Three samples of the triplet are degrouped, and the requantized data after the release operation is obtained by applying the following standard MPEG linear formula (Equation 1).
[0022]
[Expression 1]
Figure 0003706230
[0023]
Here, s ′ ″ is a decimal number, s ″ is a requantized value, and nb is the number of bits assigned to the subband samples.
The operation of sample data requantization 622 is one of the most computationally intensive operations performed by the MPEG audio decoder. The technique for requantizing the sample data is described by the following “C” language program code. As an example of the program code, sb specifies a subband, bound is the lowest subband that strongly uses stereo coding, and sblimit is stereo coding (MPEG International Standard, Part III, Table B. 2a-Table B.2d Nb is the number of bits allocated to each subband, and scale factor [ch] [sb] [z] is the scale factor coefficient index (MPEG International Standard, Part III, Tabl B.1).
[0024]
The 36 samples of one subband in the frame are divided into three similar parts of 12 subband samples. Each part has an individual scale factor. Thus, an index (Z) with three scale factors indicates that there are factors of 0, 1, or 2, depending on the number of iterations of the group (gr). The number Z is defined as follows: When the group gr is 4 or less, Z is defined to be 0. When gr is in the region from 4 to 8, it is 1. Otherwise, Z is 2. C2 [nb] and D2 [nb] specify layer II classification of quantization coefficients C and D (see MPEG PartIII, Table B.4), and samples [s] [ch] [sb] are canceled audio samples Desampling [s] [ch] [sb] is an array of re-quantized audio sample data. The program code shown below includes some [NOTEn] marks, which are marks of the program code for examining and revising a specific example of the requantization processing later. The program code for the requantization operation of the audio decoding operation is shown in Table I below.
[0025]
[Table 2]
Figure 0003706230
[0026]
[Table 3]
Figure 0003706230
[0027]
The audio decoder program code illustrated in Table I performs a requantization calculation for a group of 3 sample data. The three samples of the group are contained in the same subband of 32 subbands. The audio sample requantization operation of the audio decoder program code described in Table I is performed by the scalar processor 204, which includes indexing and conditional operations where the requantization operation is efficiently performed by the scalar processor. Because. Furthermore, since the layer II classification of the quantization coefficients C and D is determined according to the number of bits assigned to each subband (parameter nb), it cannot be used as sequential data.
[0028]
Additional improvements can be obtained with audio decoding. Most requantization operations are advantageously handled on the vector processor 206 by appropriate modification of various instructions in the audio decoder program code. Such a change usually transforms non-sequential form data into sequential form data by vectorization processing.
[0029]
One change enters the [NOTE1] position of the program code shown in Table I. The expression factor = sf [scalefactor [Z] [ch] [sb] represents a scale factor index in which Z is the number of groups, ch is the number of channels, and sb is the number of subbands. In a vectorized embodiment of the audio decoding operation, the scale factor index is extracted from the bitstream in step 618, which extracts the scale factor selection information and the scale factor. A plurality of scale factor coefficients are calculated directly based on the scale factor index and are located in the array scale factor [Z] [ch] [sb] during step 618 of extracting scale factor selection information and scale factor. Table IIA describes operation program code at the stage of scale factor selection information and scale factor extraction (618) performed by scalar processor 204 prior to requantization step 622.
[0030]
[Table 4]
Figure 0003706230
[0031]
Where map is the scale factor index from the bitstream, BITMAP is the 6 bit destination of the bitstream file, and sf [] is a 63 element scale factor coefficient array. During step 618 of extracting the scale factor selection information and the scale factor, the instruction execution of Table IIA converts the data of the array scale factor [z] [ch] [sb] into sequential data that depends on the number of subbands rather than the bit index operation. It is to deform.
[0032]
Another change enters the [NOTE2] position of the program code illustrated in Table I. The expressions C = C2 [nb] and D = D2 [nb] specify the quantized coefficients that are calculated in all iterations, but are common to each subband. Table IIB describes the program code including steps for extracting scale factor selection information and scale factor 618. This scale factor 618 is performed by the scalar processor 204 prior to the requantization step 622. The program code shown in Table IIB is executed only once during each frame reproduction. The data in each array becomes exclusive sequential data corresponding to the channel index and the number of subbands. The data is no longer relevant to the bit allocation index after the execution of the program code shown in Table IIB is completed.
[0033]
[Table 5]
Figure 0003706230
[0034]
Here, Q [ch] [sb] is a mask function, and C [ch] [sb] and D [ch] [sb] are arrays for maintaining requantized coefficient data.
Another change enters the position of [NOTE3] in the program code exemplified in Table I. The formula for the fractional part calculation includes a “fractional part” setting of either 0.0 or −1.0, from which the “decimal part” determined by the formula of step 620 for extracting sample data is As follows:
[0035]
[Table 6]
Figure 0003706230
[0036]
[Table 7]
Figure 0003706230
[0037]
Many advantageous changes can be made to the audio decoder program code shown in Table I. For example, in the step 620 for extracting sample data, the following division operation is invalidated by the program code shown in Table IIC.
[0038]
[Table 8]
Figure 0003706230
[0039]
In the modified requantization operation, sample [s] [ch] [sb] is 1L during the resynchronization step performed by scalar processor 204. < Not divided by <(nb-1) (= Q [ch] [sb]). Instead, the division is performed by the vector processor 206 in the subband filtering step 624.
[0040]
The program code operation shown in Table III is added before the synthesis subband filtering step 624, and all the quantized coefficient data of the arrays C [ch] [sb] and D [ch] [sb], the scale factor [s] [ Since all of the masking data of ch] [sb] and Q [ch] [sb] are transformed from non-sequential data to sequential data, most of the requantization operations are effectively performed by the vector processor 206.
[0041]
[Table 9]
Figure 0003706230
[0042]
Here, s is the number of groups.
The operation of subband filtering 624 is performed by vector processor 206. If any bits are not assigned to a particular subband, the operation of subband filtering 624 sets the subband samples to zero. In each calculation of all 32 channels of one subband, the sampling value is provided to the synthesis subband filter and 32 consecutive audio samples are calculated using the method described by the flowchart of FIG. N for matrixing operation ik Is given by:
[0043]
[Expression 2]
Figure 0003706230
[0044]
Window operation coefficient D i Is the “composition window coefficient D” of the MPEG international standard. i "Defined by table.
[0045]
Referring to FIG. 2, vector processor 206 is the digital signal processing engine of multimedia signal processor 104. Vector processor 206 has a single instruction multiple data architecture and parallel signal processing functions such as discrete cosine transform (DCT), FIR filtering, convolution, video estimation, and other processing operations. It includes a pipelined RISC engine that operates on multiple data elements for execution. Similar to vector processing, the vector processor 206 supports vector operations in which multiple data elements are operated in parallel by a plurality of vector execution units. Vector processor 206 performs all scalar operations and combined vector-scalar operations. Multiple data elements of the vector processor 206 are 8 / 9-bit fixed point arithmetic processing at a rate of 32, 16-bit fixed point arithmetic processing at a rate of 16, or 32 bits at a rate of 8 per cycle (for example, 12.5 ns) Fixed-point arithmetic processing or floating-point arithmetic processing is collected into a 576-bit vector to be calculated. Most 32-bit scalar operations are pipelined at one instruction rate per cycle, while most 576-bit vector operations are pipelined at one instruction rate in two cycles. Load and store operations are parallel to arithmetic operations and are performed independently by separate load and store circuits.
[0046]
Referring to FIG. 7, the vector processor 206 has four functional blocks: an instruction fetch unit 502, an instruction decoder and issuer 504, an instruction execution data path 506, and a load and storage unit 508. Instruction fetch unit 502 and instruction decoder and issuer 504 are contained within vector processor 206 and operate vector processor 206 independently of scalar processor 204.
[0047]
The instruction fetch unit 502 prefetches instructions and processes control flow instructions such as branches and jumps to subroutine instructions. The instruction fetch unit 502 includes a 16-entry queue (Queue) of prefetched instructions for the current execution stream and an 8-entry queue of prefetched instructions for the branch target stream. The instruction fetch unit 502 receives up to eight instructions from the instruction cache in one cycle. The instruction decoder and issuer 504 decodes and schedules all instructions executed by the vector processor 206. While the decoder processes one instruction within one cycle in the order received from the instruction fetch unit 502, the issuer is a random and unregulated instruction that depends on all of the execution resources and operand data availability. To schedule.
[0048]
Referring to FIG. 8, the instruction execution data path 506 includes a 4-terminal register file 602, eight 32 × 32 parallel multipliers 604, and eight 36-bit ALUs 606. Register file 602 supports two read operations and two write operations per cycle. Parallel multiplier 604 performs 8 32-bit multiplications, 16 16-bit multiplications, or 32 8-bit multiplications in integer or floating point format per cycle. ALU 606 performs one of eight 36-bit ALU operations, sixteen 16-bit ALU operations, or thirty-two 8-bit ALU operations in an integer or floating point format per cycle (eg, 12.5 ns).
[0049]
The register file 602 includes a plurality of dedicated registers and a plurality of return address registers. Dedicated registers include vector control and status register VCSR, vector program counter, vector exception program counter VEPC, vector interrupt source register VISRC, and other counters such as vector and scale processor synchronization register VASYNC and various counters, mask, overflow and breakpoint registers The register is provided. Vector program counter VPC is the address of the next instruction to be executed by vector processor 206.
[0050]
FIG. 9 is a schematic block diagram of the coprocessor interface 242. The coprocessor interface 242 adds registers and logic functions to supplement the functionality of the scalar processor 204 and execute instructions that extend the instruction set of the scalar processor 204. Coprocessor interface 242 includes registers for communication between scalar processor 204 and vector processor 206, and also serves as a buffer for signal communication with data between structures operating at other clock speeds. In one embodiment, scalar processor 204 operates at a 40 MHz rate and vector processor 206 runs at 80 MHz.
[0051]
The coprocessor interface 242 includes a decoder 702, a start machine 704, a privilege extension register block 706, and a user extension register block 708. The registers in the privilege extension register block 706 and the user extension register block 708 can be read and written by the scalar processor 204 and the vector processor 206. A decoder 702 decodes instructions of the scalar processor. The scalar processor instruction set includes instructions that can be executed on the scalar processor 204 and instructions that cannot be executed by the scalar processor but instead are executed by a coprocessor interface 242 that processes with special coprocessor functions. . The decoder 702 decodes the scalar processor instruction, detects the extended instruction, and provides the detected extended instruction to the state machine 704 for execution. The state machine 704 includes logic for executing extension instructions. The privileged extension register block 706 is an extension register that is accessed during execution of special instructions by the scalar processor 204.
[0052]
Referring to FIG. 2, the cache subsystem 208 includes a data cache 214 (eg, 5 KB), an instruction cache 216 (eg, 2 KB), and a cache ROM 218 (eg, 16 KB) and is typically similar to the vector processor 206 (80 MHz). Work at speed. In one embodiment, the cache subsystem 208 includes a 1 Kbyte instruction storage area and a 1 Kbyte data storage area for the scalar processor 204, a 1 Kbyte instruction storage area and a 4 Kbyte data storage area for the vector processor 206, and the scalar processor 204 and the vector processor 206. 16Kbyte integrated instruction and data cache ROM. Cache subsystem 208 also interfaces with scalar processor 204 through a 32-bit data bus and with vector processor 206 through a 128-bit data bus. Cache ROM 218 includes uROM initialization software, self-diagnosis software, various system management software, library routines, and selected instruction and data constant caches. In particular, the cache ROM 218 includes instruction exception handlers and input / output device interrupt handlers 0, 1, 2, 3 for the scalar processor 204. The cache ROM 218 includes a vector processor interrupt handler and a vector processor breakpoint exception handler that is executed by the scalar processor 204.
[0053]
The FBUS 210 interfaces with an FBUS peripheral that includes, for example, a 32-bit PCI bus interface 220, a 64-bit SDRAM memory controller 222, an 8-channel DMA controller 224, a customer ASIC logic block 226, and a memory data mover 228. The PCI bus interface 220 interfaces with the system bus 106 and operates at, for example, 33 MHz. Customer ASIC logic block 226 provides logic blocks to perform the desired ordering function. Customer ASIC logic block 226 provides 10K gates with interfaces to various analog codecs (CODECs) and customer special mover I / O elements in one embodiment. The memory data mover 228 transmits the DMA data from the host processor 102 to the SDRAM memory 230 local to the multimedia signal processor 104.
[0054]
The I / O bus 212 interfaces with a plurality of I / O bus elements including, for example, a bitstream processor 232, a UART serial line 234, a timer circuit 236, an interrupt controller 238, and a special register 240. Bitstream processor 232 processes the video bitstream. Special registers 240 are used for software controlled initialization and interrupt handling.
[0055]
FIG. 10 shows a software and firmware architecture 800 comprising MSP system component software 802 executing on the multimedia signal processor 104 and PC application and operating software 808 executing on the host processor 102. The multimedia signal processor 104 is controlled by firmware that includes a vectorized DSP firmware library 804 executing on the vector processor 206 and a system management function block 806 executing on the scalar processor 204. The vectorized DSP is contained in firmware library 804 and system management function block 806 in MSP system component software 802. Architecture 800 simplifies software development by separating signal processing functions from host application control operations, improves software design management, and reduces application development and maintenance costs.
[0056]
The MSP system component software 802 runs exclusively on the scalar processor 204 and includes an MSP real-time kernel 810, a multimedia library module 812, a system management function block 806, and a vectorized DSP firmware library 804. The MSP real-time kernel 810 is primarily responsible for the host processor 102, resource management, I / O device handling, and interface to most interrupt and exception handling. The MSP real-time kernel 810 is a Windows executing on the host processor 102. TM And Windows NT TM It has a software interface. MSP real-time kernel 810 is software for selecting and downloading selected application firmware from host processor 102, software for scheduling tasks for execution of scalar processor 204 and vector processor 206, and memory and I / O Software for managing system resources of the multimedia signal processor 104 with the O device is included. The MSP real-time kernel 810 includes software for synchronizing multimedia signal processor 104 intertask communication and software for reporting MSP related interrupts, exceptions and status conditions.
[0057]
The vectorized DSP firmware library 804 performs virtually all digital signal processing functions. The vectorized DSP firmware library 804 also controls defined special interrupts, such as coprocessor interrupts raised by scalar processor 204 to vector processor 206, or hardware stack overflow exceptions generated within vector processor 206. To do.
[0058]
The multimedia library module 812 includes data communication, MPEG video and audio, voice coding and synthesis, and a sound blaster. TM ) Performs communication handling functions with audio compatible. The MSP real-time kernel 810 is a real-time, robust, multitasking, pre-emptive operating system with extensions using multimedia applications running on the multimedia signal processor 104.
[0059]
PC application and operating system software 808 executing within the host processor 102 controls the multimedia signal processor 104 by writing and reading MSP control and status registers via the system bus 106. Then, by writing to the shared data, it becomes a structure that resides in the system memory 116 or resides in the multimedia signal processor 104.
[0060]
MSP program execution begins with a scalar processor 204 that executes the first execution stream. Scalar processor 204 initializes a second independent execution stream in vector processor 206. The operations of scalar processor 204 and vector processor 206 are through special coprocessor instructions that include STARTVP, INTVP, and TESTVP instructions that operate within scalar processor 204, and special instructions that include VJOIN and VINT interrupts that execute within vector processor 206. Be synchronized. Data transmission between the scalar processor 204 and the vector processor 206 is performed using a data movement instruction executed in the scalar processor 204.
[0061]
【The invention's effect】
As described above in detail, in the MPEG audio decoding apparatus and decoding method according to the present invention, two processors are efficiently used in parallel to improve decoding performance. The audio decoder efficiently executes instructions that operate non-sequentially using conditional instructions and scalar vectors, and converts non-sequential data into a sequential form so that many processes can use the computing power of the vector processor. To.
[0062]
While the invention has been described with reference to the drawings, it will be understood that variations and modifications within the scope of the invention may be made by those skilled in the art without departing from the spirit and scope of the invention based on the following claims. included. For example, although the present embodiment has been described as a system using a multiprocessor system including a host computer using a pentium processor and a special multimedia processor, the present invention is not particularly limited to this, and another processor is used. The structure can also be applied.
[Brief description of the drawings]
FIG. 1 is a high-level schematic block diagram illustrating a multimedia multiprocessor according to an embodiment of the present invention.
FIG. 2 is a schematic block diagram illustrating a multimedia signal processor included in the multimedia multiprocessor system shown in FIG. 1;
FIG. 3 is a schematic block diagram illustrating a scalar processor of a multimedia multiprocessor system.
FIG. 4 is a functional diagram of a scalar processor.
FIG. 5 is a flowchart for explaining an operation of a method for performing MPEG audio decoding;
FIG. 6 is a flowchart illustrating an operation for explaining an operation of a method suitable for performing subband filtering;
7 is a schematic block diagram illustrating a vector processor of the multimedia signal processor of FIG.
8 is a schematic block diagram illustrating a vector processor execution data path of the vector processor of FIG.
FIG. 9 is a schematic block diagram illustrating a coprocessor interface of the multimedia signal processor of FIG. 2;
FIG. 10 is a schematic block diagram for explaining a firmware architecture of a multimedia signal processor.
FIG. 11 is a flowchart illustrating an order for decoding a conventional MPEG audio data stream.
[Explanation of symbols]
100: Multimedia multiprocessor system
102: Host computer
104: Multimedia signal processor
106: System bus (PCI bus)
108: Communication CODEC
110: Video A / D converter
112: Video D / A converter
114: Frame buffer SDRAM buffer
202: DSP core
204: RISC control processor
206: Vector coprocessor
208: Cache subsystem
210: High-speed bus (FBUS)
212: IO bus
220: PCI bus interface
222: Memory controller
224: DMA controller
302: Instruction logic and control logic
304: Write data register
306: Instruction pipe and write data register
308: Address register
310: Address incrementer
312: Register bank
314: 32-bit ALU
316: Barrel shift
316, 604: Multiplier
502: Instruction fetch unit
504, 604: Instruction decoder and issuer
506: Execution data bus
508: Load and storage unit
602: Register file
702: Decoder
704: State machine
706: Privilege extension register
708: User extension register

Claims (20)

スカラープロセッサおよびベクトルプロセッサを備えたマルチプロセッサマルチメディアシステムのオーディオデコーダにおいて、
オーディオビットストリーム入力信号を同期化するため、前記スカラープロセッサ上で実行するフレーム同期プログラムコードと、
前記オーディオビットストリームから情報を抽出するため、前記スカラープロセッサ上で実行する情報抽出プログラムコードと、
前記抽出されたオーディオビットストリーム情報は非順次なサンプルデータを含み、
前記非順次サンプルデータを順次サンプルデータに変換するため、前記スカラープロセッサ上で実行するベクトル化プログラムコードと、
前記順次サンプルデータを再量子化するため、前記ベクトルプロセッサ上で実行する再量子化プログラムコードと、
フィルタリングされたオーディオサンプル出力信号を生成するため、前記ベクトルプロセッサ上で実行するサブバンドフィルタリングプログラムコードとを有することを特徴とするオーディオデコーダ。
In an audio decoder of a multiprocessor multimedia system comprising a scalar processor and a vector processor,
Frame synchronization program code executing on the scalar processor to synchronize the audio bitstream input signal ;
To extract information from the audio bitstream, the information extraction program code executing on said scalar processor,
The extracted audio bitstream information includes non-sequential sample data;
Vectorized program code executing on the scalar processor to convert the nonsequential sample data into sequential sample data;
Re-quantization program code executing on the vector processor to re-quantize the sequential sample data ;
To generate the filtered audio samples output signal, the audio decoder and having a salicylate Bed band filtering program code run on said vector processor.
前記情報抽出プログラムコードは、前記MPEGオーディオビットストリームからヘッダ情報を抽出するためのプログラムコードと、前記MPEGオーディオビットストリームからビット割当ビットを抽出するためのプログラムコードと、前記MPEGオーディオビットストリームからスケール選択情報およびスケールファクタを抽出するためのプログラムコードと、前記MPEGオーディオビットストリームからサンプルデータを抽出するためのプログラムコードとを有することを特徴とする請求項1記載のオーディオデコーダ。  The information extraction program code is a program code for extracting header information from the MPEG audio bitstream, a program code for extracting bit allocation bits from the MPEG audio bitstream, and a scale selection from the MPEG audio bitstream The audio decoder according to claim 1, further comprising: a program code for extracting information and a scale factor; and a program code for extracting sample data from the MPEG audio bitstream. 前記MPEGオーディオビットストリームからスケールファクタ選択情報およびスケールファクタを抽出するためのプログラムコードは、MPEGオーディオビットストリームからスケールファクタ索引を抽出するためのプログラムコードと、前記スケールファクタ索引に基づいた複数個のスケールファクタ係数を計算するためのプログラムコードと、スケールファクタアレイのスケールファクタ係数を記憶するためのプログラムコードとを有することを特徴とする請求項2記載のオーディオデコーダ。  A program code for extracting scale factor selection information and a scale factor from the MPEG audio bitstream includes a program code for extracting a scale factor index from the MPEG audio bitstream, and a plurality of scales based on the scale factor index. 3. An audio decoder according to claim 2, comprising program code for calculating factor coefficients and program code for storing scale factor coefficients of the scale factor array. 前記情報抽出プログラムコードは、チャンネル索引およびサブバンド数に対応する全ての順次データとして複数個の量子化係数を配列するためのプログラムコードを有することを特徴とする請求項1記載のオーディオデコーダ。  2. The audio decoder according to claim 1, wherein the information extraction program code includes a program code for arranging a plurality of quantization coefficients as all sequential data corresponding to a channel index and the number of subbands. 前記量子化係数は、マスク機能アレイおよび複数個の再量子化係数データアレイを具備することを特徴とする請求項4記載のオーディオデコーダ。  5. The audio decoder according to claim 4, wherein the quantization coefficient comprises a mask function array and a plurality of requantization coefficient data arrays. 前記情報抽出プログラムコードは、チャンネル索引とサブバンド数に対応する全ての順次データアレイとして複数個の量子化係数アレイ、スケールファクタ、およびマスキングデータアレイを配列するためのプログラムコードを包含し、それらアレイはサンプルデータを再量子化するためのプログラムコードにより使用上並列されることを特徴とする請求項1記載のオーディオデコーダ。  The information extraction program code includes a program code for arranging a plurality of quantization coefficient arrays, scale factors, and masking data arrays as all sequential data arrays corresponding to the channel index and the number of subbands. 2. The audio decoder according to claim 1, wherein the audio decoder is used in parallel by a program code for requantizing the sample data. スカラープロセッサとベクトルプロセッサを有するマルチプロセッサマルチメディアシステムで動作するオーディオビットストリームをデコーディングする方法において、
前記オーディオビットストリームを受信するステップと、
前記スカラープロセッサ上で実行するプルグラムコードによりMPEGオーディオビットストリーム入力に、マルチプロセッサマルチメディアシステムを同期化させるステップと、
前記スカラープロセッサ上で動作するプログラムコードにより前記MPEGオーディオビットストリームから情報を抽出するステップと、
前記スカラープロセッサ上で動作するベクトル化プログラムコードにより非順次サンプルデータを順次サンプルデータに変換するステップと、
前記ベクトルプロセッサ上で実行するプログラムコードにより前記サンプルデータを再量子化するステップと、
フィルタリングされたオーディオサンプルを生成するため、前記ベクトルプロセッサ上で実行するプログラムコードにより前記サンプルデータをサブバンドフィルタリングするステップとを有することを特徴とするデコーディング方法。
In a method for decoding an audio bitstream operating in a multiprocessor multimedia system having a scalar processor and a vector processor,
Receiving the audio bitstream;
Synchronizing a multiprocessor multimedia system to an MPEG audio bitstream input by a program code executing on the scalar processor;
Extracting information from the MPEG audio bitstream by program code running on the scalar processor;
Sequentially converting non-sequential sample data into sample data by vectorized program code running on the scalar processor;
Requantizing the sample data with program code executing on the vector processor;
To generate the filtered audio samples, decoding method characterized by comprising the steps of: subband filtering the sample data by the program code to be executed on the vector processor.
前記MPEGオーディオビットストリームから情報を抽出するステップは、前記MPEGオーディオビットストリームからヘッダ情報を抽出するステップと、前記MPEGオーディオビットストリームからビット割当ビットを抽出するステップと、前記MPEGビットストリームからスケールファクタ選択情報およびスケールファクタを抽出するステップと、前記MPEGオーディオビットストリームからサンプルデータを抽出するステップとを有することを特徴とする請求項7記載のデコーディング方法。  Extracting information from the MPEG audio bitstream includes extracting header information from the MPEG audio bitstream, extracting bit allocation bits from the MPEG audio bitstream, and selecting a scale factor from the MPEG bitstream. 8. The decoding method according to claim 7, further comprising: extracting information and a scale factor; and extracting sample data from the MPEG audio bitstream. 前記MPEGオーディオビットストリームからスケールファクタ選択情報およびスケールファクタを抽出するステップは、前記MPEGオーディオビットストリームからスケールファクタ索引を抽出するステップと、前記スケールファクタ索引に基づいた複数個のスケールファクタ係数を計算するステップと、前記スケールファクタアレイにスケールファクタ係数を貯蔵するステップとを有することを特徴とする請求項8記載のデコーディング方法。  Extracting scale factor selection information and scale factor from the MPEG audio bitstream includes extracting a scale factor index from the MPEG audio bitstream and calculating a plurality of scale factor coefficients based on the scale factor index. 9. The decoding method according to claim 8, further comprising the step of: storing scale factor coefficients in the scale factor array. 前記MPEGオーディオビットストリームから情報を抽出するステップは、チャンネル索引とサブバンド数に対応する全ての順次データとして複数個の量子化係数を配列するステップを含むことを特徴とする請求項7記載のデコーディング方法。  8. The method according to claim 7, wherein the step of extracting information from the MPEG audio bitstream includes a step of arranging a plurality of quantization coefficients as all sequential data corresponding to a channel index and the number of subbands. Coding method. 前記量子化係数は、マスク機能アレイと複数個の再量子化係数データアレイを含むことを特徴とする請求項10記載のデコーディング方法。  The decoding method according to claim 10, wherein the quantization coefficient includes a mask function array and a plurality of requantization coefficient data arrays. 前記MPEGオーディオビットストリームから情報を抽出するステップは、チャンネル索引とサブバンド数に対応する全ての順次データとして複数個の量子化係数アレイ、スケールファクタアレイ、およびマスキングデータアレイを配列するステップを含み、前記サンプルデータを再量子化するためプログラムコードにより使用上配列されることを特徴とする請求項7記載のデコーディング方法。  Extracting the information from the MPEG audio bitstream includes arranging a plurality of quantization coefficient arrays, a scale factor array, and a masking data array as all sequential data corresponding to the channel index and the number of subbands; 8. The decoding method according to claim 7, wherein the sample data is used and arranged by a program code to requantize the sample data. スカラープロセッサと、
前記スカラープロッセさに接続されたベクトルプロセッサと、
オーディオビットストリームをデコードするため、前記スカラープロセッサとベクトルプロセッサとが結合された状態で実行するオーディオデコーダプログラムコードとを有し
このオーディオデコーダプログラムは、
前記オーディオビットストリームを受信するプログラムコードと、
前記オーディオビットストリームを同期化するため、前記スカラープロセッサ上で実行するフレーム同期化プログラムコードと、
PEGオーディオビットストリームから情報抽出するため、前記スカラープロセッサ上で実行する情報抽出プログラムコードと、この抽出されたオーディオビットストリーム情報は非順次サンプルデータを含み、
前記非順次サンプルデータを順次サンプルデータに変換するため、前記スカラープロセッサ上で実行するベクトル化プログラムコードと、
前記ベクトルプロセッサ上で実行する前記順次サンプルデータ再量子化するプログラムコードと、
フィルタリングされたオーディオサンプル出力信号を生成するため、前記ベクトルプロセッサ上で実行するサブバンドフィルタリングプログラムコードとを有することを特徴とするマルチプロセッサマルチメディアシステム。
A scalar processor;
A vector processor connected to the scalar processor;
To decode the audio bit stream, and a audio decoder program code for performing a state where said scalar processor and the vector processor are coupled,
This audio decoder program
Program code for receiving the audio bitstream;
For synchronizing the audio bit stream, and frame synchronization program code that executes on the scalar processor,
To extract information from the M PEG audio bitstream, the audio bit stream information and information extraction program code that executes on a scalar processor, which is the extract comprises non-sequential sample data,
Vectorized program code executing on the scalar processor to convert the nonsequential sample data into sequential sample data;
Program code for re-quantizing the sequential sample data to run on said vector processor,
To generate the filtered audio samples output signals, multiprocessor multimedia system characterized by having a salicylate Bed band filtering program code run on said vector processor.
前記情報抽出プログラムコードは、前記MPEGオーディオビットストリームからヘッダ情報を抽出するためのプログラムコードと、前記MPEGオーディオビットストリームからビット割当ビットを抽出するためのプログラムコードと、前記MPEGオーディオビットストリームからスケールファクタ選択情報およびスケールファクタを抽出するためのプログラムコードと、前記MPEGオーディオビットストリームからサンプルデータを抽出するためのプログラムコードとを有することを特徴とする請求項13記載のマルチプロセッサマルチメディアシステム。  The information extraction program code includes a program code for extracting header information from the MPEG audio bitstream, a program code for extracting bit allocation bits from the MPEG audio bitstream, and a scale factor from the MPEG audio bitstream. 14. The multiprocessor multimedia system according to claim 13, comprising program code for extracting selection information and scale factor, and program code for extracting sample data from the MPEG audio bitstream. 前記MPEGオーディオビットストリームからスケールファクタ選択情報およびスケールファクタを抽出するためのプログラムコードは、前記MPEGオーディオビットストリームからスケールファクタ索引を抽出するためのプログラムコードと、前記スケールファクタ索引に基づいた複数個のスケールファクタ係数を計算するためのプログラムコードと、前記スケールファクタアレイにスケールファクタ係数を記憶するためのプログラムコードとを有することを特徴とする請求項14記載のマルチプロセッサマルチメディアシステム。  A program code for extracting scale factor selection information and a scale factor from the MPEG audio bitstream includes a program code for extracting a scale factor index from the MPEG audio bitstream, and a plurality of codes based on the scale factor index. 15. The multiprocessor multimedia system of claim 14, comprising program code for calculating scale factor coefficients and program code for storing scale factor coefficients in the scale factor array. 前記情報抽出プログラムコードは、チャンネル索引およびサブバンド数に対応する全ての順次データとして複数個の量子化係数を配列するためのプログラムコードを包含することを特徴とする請求項13記載のマルチプロセッサマルチメディアシステム。  14. The multiprocessor multi-processor according to claim 13, wherein the information extraction program code includes a program code for arranging a plurality of quantization coefficients as all sequential data corresponding to a channel index and the number of subbands. Media system. 前記量子化係数は、マスク機能アレイおよび複数個の再量子化係数データアレイを具備することを特徴とする請求項16記載のマルチプロセッサマルチメディアシステム。  17. The multiprocessor multimedia system of claim 16, wherein the quantization coefficient comprises a mask function array and a plurality of requantization coefficient data arrays. 前記情報抽出プログラムコードは、チャンネル索引とサブバンド数に対応する全ての順次データアレイとして複数個の量子化係数アレイ、スケールファクタ、およびマスキングデータアレイを配列するためのプログラムコードを含み、それらアレイはサンプルデータを再量子化するためのプログラムコードにより使用上配列されることを特徴とする請求項13記載のマルチプロセッサメディアシステム。  The information extraction program code includes a program code for arranging a plurality of quantization coefficient arrays, scale factors, and masking data arrays as all sequential data arrays corresponding to the channel index and the number of subbands. 14. The multiprocessor media system of claim 13, wherein the multiprocessor media system is arranged in use by a program code for requantizing sample data. スカラープロセッサ及びベクトルプロセッサを備えたマルチプロセッサマルチメディアシステムにオーディオデコーダを提供する方法において、
MPEGオーディオビットストリームを受信するコードを提供するステップと、
前記MPEGオーディオビットストリーム入力により前記スカラープロセッサ上で実行するフレーム同期化プログラムコードを提供するステップと、
前記MPEGオーディオビットストリームから情報抽出するために前記スカラープロセッサ上で実行する情報抽出プログラムコードを提供するステップと、
前記スカラープロセッサ上で動作するベクトル化プログラムコードにより非順次サンプリングデータを順次サンプリングデータに変換するコードを提供するステップと、
前記ベクトルプロセッサ上で実行する前記順次サンプルデータ再量子化するためのプログラムコードを提供するステップと、
フィルタリングされたオーディオサンプルを生成するために前記ベクトルプロセッサ上で実行するサブバンドフィルタリングプログラムコードを提供するステップと、を含むことを特徴とする方法。
In a method for providing an audio decoder in a multiprocessor multimedia system comprising a scalar processor and a vector processor,
Providing code for receiving an MPEG audio bitstream;
Providing a frame synchronization program code executing on the scalar processor by the MPEG audio bit stream input,
And providing information extraction program code executing on the scalar processor to extract information from the MPEG audio bit stream,
Providing code for converting non-sequential sampling data into sequential sampling data by vectorized program code running on the scalar processor;
Providing program code for requantizing the sequential sample data for execution on the vector processor;
Method characterized by comprising the steps of providing a sub-band filtering program code executing on the vector processor to generate a filtered audio sample.
マルチプロセッサマルチメディアシステムを提供する方法において、
スカラープロセッサを提供するステップと、
前記スカラープロセッサに連結されたベクトルプロセッサを提供するステップと、
前記スカラープロセッサとベクトルプロセッサ上で結合し実行するためのオーディオデコーダプログラムコードを提供するステップと、を含み
前記オーディオデコーダプログラムは、オーディオビットストリーム入力信号を同期化するために、前記スカラープロセッサ上で実行するフレーム同期化プログラムコードと、
前記MPEGオーディオビットストリームから情報抽出するために前記スカラープロセッサ上で実行する情報抽出プログラムコードと、
前記抽出されたオーディオビットストリーム情報は非順次のサンプルデータを含み、前記非順次サンプルデータを順次サンプルデータに変換するために、前記スカラープロセッサ上で実行するベクトル化プログラムコードと、
前記ベクトルプロセッサ上で実行する順次サンプルデータを再量子化するための再量子化プログラムコードと、
フィルタリングされたオーディオサンプル出力信号を生成するため、前記ベクトルプロセッサ上で実行するサブバンドフィルタリングプログラムコードと、を備えることを特徴とする方法。
In a method for providing a multiprocessor multimedia system,
Providing a scalar processor;
Providing a vector processor coupled to the scalar processor;
Comprises the steps of providing an audio decoder program code for performing bound on the scalar processor and a vector processor,
The audio decoder program includes a frame synchronization program code executed on the scalar processor to synchronize an audio bitstream input signal ;
An information extraction program code executing on the scalar processor to extract information from the MPEG audio bit stream,
The extracted audio bitstream information includes non-sequential sample data, and vectorized program code executed on the scalar processor to convert the non-sequential sample data into sequential sample data;
A requantization capsules program code for re-quantizing the sequential sample data executing on the vector processor,
To generate the filtered audio samples output signal, method characterized by and an Rusa blanking band filtering program code run on said vector processor.
JP28721797A 1996-10-15 1997-10-20 MPEG audio decoding apparatus and decoding method thereof Expired - Fee Related JP3706230B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/732,543 US5893066A (en) 1996-10-15 1996-10-15 Fast requantization apparatus and method for MPEG audio decoding
US08/732,543 1996-10-18

Publications (2)

Publication Number Publication Date
JPH10222476A JPH10222476A (en) 1998-08-21
JP3706230B2 true JP3706230B2 (en) 2005-10-12

Family

ID=24943942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28721797A Expired - Fee Related JP3706230B2 (en) 1996-10-15 1997-10-20 MPEG audio decoding apparatus and decoding method thereof

Country Status (4)

Country Link
US (1) US5893066A (en)
JP (1) JP3706230B2 (en)
KR (1) KR100218255B1 (en)
TW (1) TW384618B (en)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108584A (en) * 1997-07-09 2000-08-22 Sony Corporation Multichannel digital audio decoding method and apparatus
US6310918B1 (en) * 1997-07-31 2001-10-30 Lsi Logic Corporation System and method for motion vector extraction and computation meeting 2-frame store and letterboxing requirements
EP1027781B1 (en) * 1997-10-31 2004-12-29 STMicroelectronics Asia Pacific Pte Ltd. Apparatus and method for depacketizing and aligning packetized input data
KR100335611B1 (en) * 1997-11-20 2002-10-09 삼성전자 주식회사 Scalable stereo audio encoding/decoding method and apparatus
US6009436A (en) * 1997-12-23 1999-12-28 Ricoh Company, Ltd. Method and apparatus for mapping structured information to different structured information
JP3784993B2 (en) * 1998-06-26 2006-06-14 株式会社リコー Acoustic signal encoding / quantization method
US6119092A (en) * 1998-06-26 2000-09-12 Lsi Logic Corporation Audio decoder bypass module for communicating compressed audio to external components
US6560674B1 (en) * 1998-10-14 2003-05-06 Hitachi, Ltd. Data cache system
KR100300887B1 (en) * 1999-02-24 2001-09-26 유수근 A method for backward decoding an audio data
EP1290690A1 (en) * 2000-05-30 2003-03-12 Koninklijke Philips Electronics N.V. Coded information on cd audio
US7003450B2 (en) * 2000-10-20 2006-02-21 Pts Corporation Methods and apparatus for efficient vocoder implementations
JP2002182693A (en) * 2000-12-13 2002-06-26 Nec Corp Audio ending and decoding apparatus and method for the same and control program recording medium for the same
US6584356B2 (en) * 2001-01-05 2003-06-24 Medtronic, Inc. Downloadable software support in a pacemaker
US6986023B2 (en) * 2002-08-09 2006-01-10 Intel Corporation Conditional execution of coprocessor instruction based on main processor arithmetic flags
AU2003256870A1 (en) * 2002-08-09 2004-02-25 Intel Corporation Multimedia coprocessor control mechanism including alignment or broadcast instructions
US7392368B2 (en) * 2002-08-09 2008-06-24 Marvell International Ltd. Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements
US7283968B2 (en) 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
US7325023B2 (en) * 2003-09-29 2008-01-29 Sony Corporation Method of making a window type decision based on MDCT data in audio encoding
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding
US7349842B2 (en) * 2003-09-29 2008-03-25 Sony Corporation Rate-distortion control scheme in audio encoding
KR100571824B1 (en) * 2003-11-26 2006-04-17 삼성전자주식회사 Method for encoding/decoding of embedding the ancillary data in MPEG-4 BSAC audio bitstream and apparatus using thereof
WO2006055546A2 (en) * 2004-11-15 2006-05-26 Nvidia Corporation A video processor having a scalar component controlling a vector component to implement video processing
US8725990B1 (en) 2004-11-15 2014-05-13 Nvidia Corporation Configurable SIMD engine with high, low and mixed precision modes
EP1905004A2 (en) 2005-05-26 2008-04-02 LG Electronics Inc. Method of encoding and decoding an audio signal
US8082157B2 (en) 2005-06-30 2011-12-20 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
WO2007004831A1 (en) 2005-06-30 2007-01-11 Lg Electronics Inc. Method and apparatus for encoding and decoding an audio signal
AU2006266655B2 (en) 2005-06-30 2009-08-20 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
TWI412021B (en) * 2005-06-30 2013-10-11 Lg Electronics Inc Method and apparatus for encoding and decoding an audio signal
US8577483B2 (en) 2005-08-30 2013-11-05 Lg Electronics, Inc. Method for decoding an audio signal
JP5108767B2 (en) 2005-08-30 2012-12-26 エルジー エレクトロニクス インコーポレイティド Apparatus and method for encoding and decoding audio signals
JP5173811B2 (en) 2005-08-30 2013-04-03 エルジー エレクトロニクス インコーポレイティド Audio signal decoding method and apparatus
US7788107B2 (en) 2005-08-30 2010-08-31 Lg Electronics Inc. Method for decoding an audio signal
US7672379B2 (en) 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
ES2478004T3 (en) 2005-10-05 2014-07-18 Lg Electronics Inc. Method and apparatus for decoding an audio signal
US7646319B2 (en) 2005-10-05 2010-01-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7696907B2 (en) 2005-10-05 2010-04-13 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7751485B2 (en) 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
KR100857111B1 (en) 2005-10-05 2008-09-08 엘지전자 주식회사 Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US7447874B1 (en) * 2005-10-18 2008-11-04 Qlogic, Corporation Method and system for designing a flexible hardware state machine
US7653533B2 (en) 2005-10-24 2010-01-26 Lg Electronics Inc. Removing time delays in signal paths
US7752053B2 (en) 2006-01-13 2010-07-06 Lg Electronics Inc. Audio signal processing using pilot based coding
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading
EP2758867A4 (en) * 2011-10-27 2015-07-08 Lsi Corp Digital processor having instruction set with complex exponential non-linear function

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418973A (en) * 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
DE69421103T2 (en) * 1993-01-22 2000-06-08 Matsushita Electric Industrial Co., Ltd. Program controlled processor
KR100269213B1 (en) * 1993-10-30 2000-10-16 윤종용 Method for coding audio signal
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
JP3190204B2 (en) * 1994-04-12 2001-07-23 ユナイテッド・モジュール・コーポレーション MPEG standard audio signal decoder
KR100289733B1 (en) * 1994-06-30 2001-05-15 윤종용 Device and method for encoding digital audio

Also Published As

Publication number Publication date
US5893066A (en) 1999-04-06
KR100218255B1 (en) 1999-09-01
KR19980032102A (en) 1998-07-25
JPH10222476A (en) 1998-08-21
TW384618B (en) 2000-03-11

Similar Documents

Publication Publication Date Title
JP3706230B2 (en) MPEG audio decoding apparatus and decoding method thereof
Peleg et al. Intel MMX for multimedia PCs
RU2273044C2 (en) Method and device for parallel conjunction of data with shift to the right
CA2190797C (en) High speed digital video decompression
US7272622B2 (en) Method and apparatus for parallel shift right merge of data
US6502117B2 (en) Data manipulation instruction for enhancing value and efficiency of complex arithmetic
Lee Accelerating multimedia with enhanced microprocessors
Bhargava et al. Evaluating MMX technology using DSP and multimedia applications
RU2263947C2 (en) Integer-valued high order multiplication with truncation and shift in architecture with one commands flow and multiple data flows
US8412917B2 (en) Data exchange and communication between execution units in a parallel processor
US5835793A (en) Device and method for extracting a bit field from a stream of data
JPH10116268A (en) Single-instruction plural data processing using plural banks or vector register
US5880979A (en) System for providing the absolute difference of unsigned values
US5719998A (en) Partitioned decompression of audio data using audio decoder engine for computationally intensive processing
KR100261374B1 (en) Image processing device
US6192427B1 (en) Input/output buffer managed by sorted breakpoint hardware/software
Golston Single-chip H. 324 videoconferencing
US5781134A (en) System for variable length code data stream position arrangement
US5742529A (en) Method and an apparatus for providing the absolute difference of unsigned values
Tung et al. MMX-based DCT and MC algorithms for real-time pure software MPEG decoding
Basoglu et al. The MAP1000A VLIM mediaprocessor
US6230278B1 (en) Microprocessor with functional units that can be selectively coupled
KR19980018065A (en) Single Instruction Combined with Scalar / Vector Operations Multiple Data Processing
Yoshida et al. A new generation 16-bit general purpose programmable DSP and its video rate application
Eyre et al. DSPs court the consumer

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050202

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050728

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees